From 3c91964a491f5307b86bc38cc20c9e60aa2f4d3c Mon Sep 17 00:00:00 2001 From: Oliver Akins Date: Thu, 26 May 2022 23:48:36 -0600 Subject: [PATCH] Implement the list management removal --- src/modals/DirectoryModal.ts | 14 +++++++++++++- src/modals/FileModal.ts | 17 ++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/modals/DirectoryModal.ts b/src/modals/DirectoryModal.ts index 698f98b..03d0785 100644 --- a/src/modals/DirectoryModal.ts +++ b/src/modals/DirectoryModal.ts @@ -1,5 +1,6 @@ import { Modal, Setting } from "obsidian"; import FileHider from "../main"; +import { createStyleLine } from "../utils"; export class DirectoryModal extends Modal { private plugin: FileHider; @@ -22,7 +23,18 @@ export class DirectoryModal extends Modal { btn.setIcon(`cross`) .setTooltip(`Remove Folder`) .onClick((e) => { - console.log(folder); + let i = this.plugin.settings.hiddenFolders.indexOf(folder); + this.plugin.settings.hiddenFolders.splice(i, 1); + + // Find and remove the CSS style from the system + for (var j in this.plugin.style.cssRules) { + let rule = this.plugin.style.cssRules[j]; + if (rule.cssText == createStyleLine(`folder`, folder)) { + this.plugin.style.deleteRule(parseInt(j)); + }; + }; + + c.hide(); }); }); }); diff --git a/src/modals/FileModal.ts b/src/modals/FileModal.ts index db23a33..6569b5b 100644 --- a/src/modals/FileModal.ts +++ b/src/modals/FileModal.ts @@ -1,5 +1,6 @@ import { Modal, Setting } from "obsidian"; import FileHider from "../main"; +import { createStyleLine } from "../utils"; export class FileModal extends Modal { private plugin: FileHider; @@ -22,7 +23,21 @@ export class FileModal extends Modal { btn.setIcon(`cross`) .setTooltip(`Remove File`) .onClick((e) => { - console.log(file); + let i = this.plugin.settings.hiddenFiles.indexOf(file); + this.plugin.settings.hiddenFiles.splice(i, 1); + + // Find and remove the CSS style from the system + for (var j in this.plugin.style.cssRules) { + try { parseInt(j) } catch (e) { console.log(`skipping`, j); continue; }; + + let rule = this.plugin.style.cssRules[j]; + if (rule.cssText == createStyleLine(`file`, file)) { + this.plugin.style.deleteRule(parseInt(j)); + break; + }; + }; + + c.hide(); }); }); });