From be98565e46c76b8c95b46aac7853f39f6e95e5b8 Mon Sep 17 00:00:00 2001 From: zsviczian Date: Tue, 13 Apr 2021 19:52:58 +0200 Subject: [PATCH] Delete dist directory --- dist/main.js | 697 --------------------------------------------- dist/manifest.json | 10 - dist/styles.css | 91 ------ 3 files changed, 798 deletions(-) delete mode 100644 dist/main.js delete mode 100644 dist/manifest.json delete mode 100644 dist/styles.css diff --git a/dist/main.js b/dist/main.js deleted file mode 100644 index 2df6927..0000000 --- a/dist/main.js +++ /dev/null @@ -1,697 +0,0 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ROLLUP -if you want to view the source visit the plugin's github repository at -https://github.com/zsviczian/obsidian-stakeholder-actions -*/ - -'use strict'; - -var obsidian = require('obsidian'); - -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} - -const VIEW_TYPE_TODO = 'online.zsviczian.obsidian-stakeholder_action-plugin'; - -var TodoItemStatus; -(function (TodoItemStatus) { - TodoItemStatus[TodoItemStatus["Todo"] = 0] = "Todo"; - TodoItemStatus[TodoItemStatus["Done"] = 1] = "Done"; -})(TodoItemStatus || (TodoItemStatus = {})); -// eslint-disable-next-line @typescript-eslint/no-namespace -(function (TodoItemStatus) { - function toggleStatus(status) { - switch (status) { - case TodoItemStatus.Todo: - return TodoItemStatus.Done; - case TodoItemStatus.Done: - return TodoItemStatus.Todo; - } - } - TodoItemStatus.toggleStatus = toggleStatus; -})(TodoItemStatus || (TodoItemStatus = {})); -class TodoItem { - constructor(status, description, person, project, isSomedayMaybeNote, isDiscussWithNote, isWaitingForNote, isPromisedToNote, sourceFilePath, startIndex, length, actionDate) { - this.status = status; - this.description = description; - this.person = person; - this.project = project; - this.actionDate = actionDate; - this.isSomedayMaybeNote = isSomedayMaybeNote; - this.isDiscussWithNote = isDiscussWithNote; - this.isWaitingForNote = isWaitingForNote; - this.isPromisedToNote = isPromisedToNote; - this.sourceFilePath = sourceFilePath; - this.startIndex = startIndex; - this.length = length; - } -} - -var Icon; -(function (Icon) { - Icon[Icon["Inbox"] = 0] = "Inbox"; - Icon[Icon["Reveal"] = 1] = "Reveal"; - Icon[Icon["Scheduled"] = 2] = "Scheduled"; - Icon[Icon["Someday"] = 3] = "Someday"; - Icon[Icon["Today"] = 4] = "Today"; - Icon[Icon["Stakeholder"] = 5] = "Stakeholder"; - Icon[Icon["Aging"] = 6] = "Aging"; -})(Icon || (Icon = {})); -const RenderIcon = (icon, title = '', description = '') => { - const svg = svgForIcon(icon)(title, description); - return parser.parseFromString(svg, 'text/xml').documentElement; -}; -const parser = new DOMParser(); -const svgForIcon = (icon) => { - switch (icon) { - case Icon.Inbox: - return inboxIcon; - case Icon.Reveal: - return revealIcon; - case Icon.Scheduled: - return scheduledIcon; - case Icon.Someday: - return somedayIcon; - case Icon.Today: - return todayIcon; - case Icon.Stakeholder: - return stakeholderIcon; - case Icon.Aging: - return agingIcon; - } -}; -const inboxIcon = (title, description) => ` - - ${title} - ${description} - - - -`; -const revealIcon = (title, description) => ` - - ${title} - ${description} - - -`; -const scheduledIcon = (title, description) => ` - - ${title} - ${description} - - - -`; -const somedayIcon = (title, description) => ` - - ${title} - ${description} - - - -`; -const todayIcon = (title, description) => ` - - ${title} - ${description} - - - -`; -const stakeholderIcon = (title, description) => ` - - ${title} - ${description} - - - - -`; -const agingIcon = (title, description) => ` - - ${title} - ${description} - - - - - - -`; - -var TodoItemViewPane; -(function (TodoItemViewPane) { - TodoItemViewPane[TodoItemViewPane["Aging"] = 0] = "Aging"; - TodoItemViewPane[TodoItemViewPane["Today"] = 1] = "Today"; - TodoItemViewPane[TodoItemViewPane["Scheduled"] = 2] = "Scheduled"; - TodoItemViewPane[TodoItemViewPane["Inbox"] = 3] = "Inbox"; - TodoItemViewPane[TodoItemViewPane["Someday"] = 4] = "Someday"; - TodoItemViewPane[TodoItemViewPane["Stakeholder"] = 5] = "Stakeholder"; -})(TodoItemViewPane || (TodoItemViewPane = {})); -class TodoItemView extends obsidian.ItemView { - constructor(leaf, props) { - //debugger; - super(leaf); - this.props = props; - this.state = { - activePane: TodoItemViewPane.Today, - }; - this.filter = ''; - } - getViewType() { - return VIEW_TYPE_TODO; - } - getDisplayText() { - return 'Todo'; - } - getIcon() { - return 'checkmark'; - } - onClose() { - return Promise.resolve(); - } - setProps(setter) { - this.props = setter(this.props); - this.render(); - } - setViewState(newState) { - this.state = newState; - this.render(); - } - setFilter(filter) { - this.filter = filter; - this.filterRegexp = new RegExp(filter, 'i'); - this.render(); - } - render() { - const container = this.containerEl.children[1]; - container.empty(); - container.createDiv('todo-item-view-container', (el) => { - el.createDiv('todo-item-view-search', (el) => { - this.renderSearch(el); - }); - el.createDiv('todo-item-view-toolbar', (el) => { - this.renderToolBar(el); - }); - el.createDiv('todo-item-view-items', (el) => { - this.renderItems(el); - }); - }); - } - renderSearch(container) { - container.createEl('table', {}, (el) => { - el.addClass('todo-filter-wrapper'); - el.createEl('tr', {}, (el) => { - el.addClass('todo-filter-row'); - el.createEl('td', {}, (el) => { - el.addClass('todo-filter-col-input'); - el.createEl("input", { value: this.filter }, (el) => { - el.addClass('todo-filter-input'); - el.setAttribute('placeholder', 'proj/person RexExp filter, case insensitive'); - el.onchange = (e) => { - this.setFilter(e.target.value); - }; - }); - }); - el.createEl('td', {}, (el) => { - el.addClass('todo-filter-col-button'); - el.createEl("button", { text: "Filter" }, (el) => { - el.addClass('todo-filter-button'); - }); - }); - }); - }); - } - renderToolBar(container) { - const activeClass = (pane) => { - return pane === this.state.activePane ? ' active' : ''; - }; - const setActivePane = (pane) => { - const newState = Object.assign(Object.assign({}, this.state), { activePane: pane }); - this.setViewState(newState); - }; - container.createDiv(`todo-item-view-toolbar-item${activeClass(TodoItemViewPane.Inbox)}`, (el) => { - el.appendChild(RenderIcon(Icon.Inbox, 'Inbox: No date set, no stakeholder action set, not a someday / maybe item.')); - el.onClickEvent(() => setActivePane(TodoItemViewPane.Inbox)); - }); - container.createDiv(`todo-item-view-toolbar-item${activeClass(TodoItemViewPane.Aging)}`, (el) => { - el.appendChild(RenderIcon(Icon.Aging, 'Aging')); - el.onClickEvent(() => setActivePane(TodoItemViewPane.Aging)); - }); - container.createDiv(`todo-item-view-toolbar-item${activeClass(TodoItemViewPane.Today)}`, (el) => { - el.appendChild(RenderIcon(Icon.Today, 'Scheduled for Today')); - el.onClickEvent(() => setActivePane(TodoItemViewPane.Today)); - }); - container.createDiv(`todo-item-view-toolbar-item${activeClass(TodoItemViewPane.Scheduled)}`, (el) => { - el.appendChild(RenderIcon(Icon.Scheduled, 'Scheduled for a future date')); - el.onClickEvent(() => setActivePane(TodoItemViewPane.Scheduled)); - }); - container.createDiv(`todo-item-view-toolbar-item${activeClass(TodoItemViewPane.Stakeholder)}`, (el) => { - el.appendChild(RenderIcon(Icon.Stakeholder, 'Stakeholder actions: discussWith, promisedTo, waitingFor. Only items that have a valid project or person will show up here. Stakeholder actions without project or person are in the Inbox.')); - el.onClickEvent(() => setActivePane(TodoItemViewPane.Stakeholder)); - }); - container.createDiv(`todo-item-view-toolbar-item${activeClass(TodoItemViewPane.Someday)}`, (el) => { - el.appendChild(RenderIcon(Icon.Someday, 'Tagged as Someday / Maybe')); - el.onClickEvent(() => setActivePane(TodoItemViewPane.Someday)); - }); - } - renderItems(container) { - const todosToRender = this.props.todos - .filter(this.filterForState, this) - .sort(this.sortByActionDate); - todosToRender - .forEach((todo, index) => { - if (index > 0) { - if ((todo.isWaitingForNote && todosToRender[index - 1].isDiscussWithNote) || - (todo.isPromisedToNote && - (todosToRender[index - 1].isWaitingForNote || todosToRender[index - 1].isDiscussWithNote)) || - (!todo.isPromisedToNote && !todo.isWaitingForNote && !todo.isDiscussWithNote && - (todosToRender[index - 1].isWaitingForNote || todosToRender[index - 1].isDiscussWithNote || todosToRender[index - 1].isPromisedToNote))) { - container.createEl('hr', {}, (el) => { - el.addClass('todo-item-view-divider'); - }); - } - } - container.createDiv('todo-item-view-item', (el) => { - el.createDiv('todo-item-view-item-checkbox', (el) => { - el.createEl('input', { type: 'checkbox' }, (el) => { - el.checked = todo.status === TodoItemStatus.Done; - el.onClickEvent(() => { - this.toggleTodo(todo); - }); - }); - }); - el.createDiv('todo-item-view-item-description', (el) => { - obsidian.MarkdownRenderer.renderMarkdown(todo.description, el, todo.sourceFilePath, this); - }); - el.createDiv('todo-item-view-item-link', (el) => { - el.appendChild(RenderIcon(Icon.Reveal, 'Open file')); - el.onClickEvent(() => { - this.openFile(todo); - }); - }); - }); - }); - } - filterForState(value, _index, _array) { - const isPersonMatch = value.person.match(this.filterRegexp) != null; - const isProjectMatch = value.project.match(this.filterRegexp) != null; - const isFilterSet = this.filter != ""; - const hasPersonOrProject = value.person != '' || value.project != ''; - const isPeopleActionNote = value.isDiscussWithNote || value.isWaitingForNote || value.isPromisedToNote; - if (!isFilterSet || isPersonMatch || isProjectMatch) { - const isToday = (date) => { - let today = new Date(); - return (date.getDate() == today.getDate() && - date.getMonth() == today.getMonth() && - date.getFullYear() == today.getFullYear()); - }; - const isBeforeToday = (date) => { - let today = (new Date()); - today.setHours(0, 0, 0, 0); - return date < today; - }; - const isAgingNote = value.actionDate && isBeforeToday(value.actionDate); - const isTodayNote = value.actionDate && isToday(value.actionDate); - const isScheduledNote = !value.isSomedayMaybeNote && value.actionDate && !isTodayNote && !isAgingNote; - switch (this.state.activePane) { - case TodoItemViewPane.Inbox: - return !value.isSomedayMaybeNote && !isTodayNote && !isScheduledNote && !isAgingNote && !(isPeopleActionNote && hasPersonOrProject); - case TodoItemViewPane.Scheduled: - return isScheduledNote; - case TodoItemViewPane.Someday: - return value.isSomedayMaybeNote; - case TodoItemViewPane.Today: - return isTodayNote; - case TodoItemViewPane.Aging: - return isAgingNote; - case TodoItemViewPane.Stakeholder: - return hasPersonOrProject && isPeopleActionNote; - } - } - else - return false; - } - sortByActionDate(a, b) { - if (!a.actionDate && !b.actionDate) { - if (a.isDiscussWithNote && !b.isDiscussWithNote) { - return -1; - } - if (a.isWaitingForNote && !b.isDiscussWithNote && !b.isWaitingForNote) { - return -1; - } - if (a.isPromisedToNote && !b.isDiscussWithNote && !b.isWaitingForNote) { - return -1; - } - if (b.isDiscussWithNote && !a.isDiscussWithNote) { - return 1; - } - if (b.isWaitingForNote && !a.isDiscussWithNote && !a.isWaitingForNote) { - return 1; - } - if (b.isPromisedToNote && !a.isDiscussWithNote && !a.isWaitingForNote) { - return 1; - } - if (a.isSomedayMaybeNote && !b.isSomedayMaybeNote) { - return -1; - } - if (!a.isSomedayMaybeNote && b.isSomedayMaybeNote) { - return 1; - } - return 0; - } - return a.actionDate < b.actionDate ? -1 : a.actionDate > b.actionDate ? 1 : 0; - } - toggleTodo(todo) { - this.props.toggleTodo(todo, TodoItemStatus.toggleStatus(todo.status)); - } - openFile(todo) { - this.props.openFile(todo.sourceFilePath); - } -} - -class TodoParser { - constructor(props) { - this.props = props; - } - parseTasks(filePath, fileContents) { - return __awaiter(this, void 0, void 0, function* () { - const pattern = /(-|\*) \[(\s|x)?\]\s(.*)/g; - return [...fileContents.matchAll(pattern)].map((task) => this.parseTask(filePath, task)); - }); - } - parseTask(filePath, entry) { - var _a; - //debugger; - const todoItemOffset = 2; // Strip off `-|* ` - const status = entry[2] === 'x' ? TodoItemStatus.Done : TodoItemStatus.Todo; - const description = entry[3]; - const dateMatches = description.match(this.props.dateRegexp); - let actionDate = undefined; - if (dateMatches != null) { - actionDate = dateMatches.length > 3 ? new Date(parseInt(dateMatches[1]), parseInt(dateMatches[2]) - 1, parseInt(dateMatches[3]), 0, 0, 0, 0) : undefined; - } - const personMatches = description.match(this.props.personRegexp); - const person = personMatches != null ? personMatches[1] : ""; - const projectMatches = description.match(this.props.projectRegexp); - const project = projectMatches != null ? projectMatches[1] : ""; - return new TodoItem(status, description, person, project, description.match(this.props.somedayMaybeRegexp) != null, description.match(this.props.discussWithRegexp) != null, description.match(this.props.waitingForRegexp) != null, description.match(this.props.promisedToRegexp) != null, filePath, ((_a = entry.index) !== null && _a !== void 0 ? _a : 0) + todoItemOffset, entry[0].length - todoItemOffset, actionDate); - } -} - -class TodoIndex { - constructor(vault, listener, props) { - this.props = props; - this.vault = vault; - this.todos = new Map(); - this.listeners = [listener]; - } - reloadIndex(props) { - return __awaiter(this, void 0, void 0, function* () { - this.props = props; - yield this.initialize(); - }); - } - initialize() { - return __awaiter(this, void 0, void 0, function* () { - // TODO: persist index & last sync timestamp; only parse files that changed since then. - const todoMap = new Map(); - let numberOfTodos = 0; - const timeStart = new Date().getTime(); - const markdownFiles = this.vault.getMarkdownFiles(); - for (const file of markdownFiles) { - const todos = yield this.parseTodosInFile(file); - numberOfTodos += todos.length; - if (todos.length > 0) { - todoMap.set(file.path, todos); - } - } - const totalTimeMs = new Date().getTime() - timeStart; - console.log(`[obsidian-stakeholder_action-plugin] Parsed ${numberOfTodos} TODOs from ${markdownFiles.length} markdown files in (${totalTimeMs / 1000.0}s)`); - this.todos = todoMap; - this.registerEventHandlers(); - this.invokeListeners(); - }); - } - setStatus(todo, newStatus) { - const file = this.vault.getAbstractFileByPath(todo.sourceFilePath); - const fileContents = this.vault.read(file); - fileContents.then((c) => { - const newTodo = `[${newStatus === TodoItemStatus.Done ? 'x' : ' '}] ${todo.description}`; - const newContents = c.substring(0, todo.startIndex) + newTodo + c.substring(todo.startIndex + todo.length); - this.vault.modify(file, newContents); - }); - } - indexAbstractFile(file) { - if (!(file instanceof obsidian.TFile)) { - return; - } - this.indexFile(file); - } - indexFile(file) { - this.parseTodosInFile(file).then((todos) => { - this.todos.set(file.path, todos); - this.invokeListeners(); - }); - } - clearIndex(path, silent = false) { - this.todos.delete(path); - if (!silent) { - this.invokeListeners(); - } - } - setProps(setter) { - this.props = setter(this.props); - //do I need to do anything else?? - } - parseTodosInFile(file) { - return __awaiter(this, void 0, void 0, function* () { - // TODO: Does it make sense to index completed TODOs at all? - const todoParser = new TodoParser(this.props); - const fileContents = yield this.vault.cachedRead(file); - return todoParser - .parseTasks(file.path, fileContents) - .then((todos) => todos.filter((todo) => todo.status === TodoItemStatus.Todo)); - }); - } - registerEventHandlers() { - this.vault.on('create', (file) => { - this.indexAbstractFile(file); - }); - this.vault.on('modify', (file) => { - this.indexAbstractFile(file); - }); - this.vault.on('delete', (file) => { - this.clearIndex(file.path); - }); - // We could simply change the references to the old path, but parsing again does the trick as well - this.vault.on('rename', (file, oldPath) => { - this.clearIndex(oldPath); - this.indexAbstractFile(file); - }); - } - invokeListeners() { - const todos = [].concat(...Array.from(this.todos.values())); - this.listeners.forEach((listener) => listener(todos)); - } -} - -const DEFAULT_SETTINGS = { - personRegexpString: '\\[{2}People\\/(.*?)\\]{2}', - projectRegexpString: '\\[{2}Projects\\/(.*?)\\]{2}', - dateRegexpString: '#(\\d{4})\\/(\\d{2})\\/(\\d{2})', - discussWithRegexpString: '#(discussWith)', - waitingForRegexpString: '#(waitingFor)', - promisedToRegexpString: '#(promisedTo)', - somedayMaybeRegexpString: '#(someday)' -}; -class ActionTrackerSettingTab extends obsidian.PluginSettingTab { - constructor(app, plugin) { - super(app, plugin); - this.plugin = plugin; - } - display() { - let { containerEl } = this; - this.containerEl.empty(); - this.containerEl.createEl('h2', { text: 'Settings for the stakeholder action tracker plugin' }); - new obsidian.Setting(containerEl) - .setName('Person regexp pattern') - .setDesc('This is the regular expression to identify the action party in the action. Used for filtering todos by person.') - .addText(text => text - .setPlaceholder('\\[{2}People\\/(.*?)\\]{2}') - .setValue(this.plugin.settings.personRegexpString) - .onChange((value) => __awaiter(this, void 0, void 0, function* () { - this.plugin.settings.personRegexpString = value; - yield this.plugin.saveSettings(); - }))); - new obsidian.Setting(containerEl) - .setName('Project regexp pattern') - .setDesc('This is the regular expression to identify the project in the action. Used for filtering todos by project name.') - .addText(text => text - .setPlaceholder('\\[{2}Projects\\/(.*?)\\]{2}') - .setValue(this.plugin.settings.projectRegexpString) - .onChange((value) => __awaiter(this, void 0, void 0, function* () { - this.plugin.settings.projectRegexpString = value; - yield this.plugin.saveSettings(); - }))); - new obsidian.Setting(containerEl) - .setName('Date regexp pattern') - .setDesc('This is the regular expression to get the date for an action. The RegExp needs to capture 3 values. The first one should be the year (yyyy), the sceond the month (mm), the third the day (dd).') - .addText(text => text - .setPlaceholder('#(\\d{4})\\/(\\d{2})\\/(\\d{2})') - .setValue(this.plugin.settings.dateRegexpString) - .onChange((value) => __awaiter(this, void 0, void 0, function* () { - this.plugin.settings.dateRegexpString = value; - yield this.plugin.saveSettings(); - }))); - new obsidian.Setting(containerEl) - .setName('Discuss With regexp pattern') - .setDesc('This is the regexp pattern you use to mark topics you want to discuss with someone. "Discuss with", "Promised to", and "Waiting for" actions show up under the Stakeholder Actions tab.') - .addText(text => text - .setPlaceholder('#(discussWith)') - .setValue(this.plugin.settings.discussWithRegexpString) - .onChange((value) => __awaiter(this, void 0, void 0, function* () { - this.plugin.settings.discussWithRegexpString = value; - yield this.plugin.saveSettings(); - }))); - new obsidian.Setting(containerEl) - .setName('Waiting For regexp pattern') - .setDesc('This is the regexp pattern you use to mark topics someone has promised to deliver to me. "Discuss with", "Promised to", and "Waiting for" actions show up under the Stakeholder Actions tab.') - .addText(text => text - .setPlaceholder('#(waitingFor)') - .setValue(this.plugin.settings.waitingForRegexpString) - .onChange((value) => __awaiter(this, void 0, void 0, function* () { - this.plugin.settings.waitingForRegexpString = value; - yield this.plugin.saveSettings(); - }))); - new obsidian.Setting(containerEl) - .setName('Promised To regexp pattern') - .setDesc('This is the regexp pattern you use to mark topics someone has promised to deliver to me. "Discuss with", "Promised to", and "Waiting for" actions show up under the Stakeholder Actions tab.') - .addText(text => text - .setPlaceholder('#(promisedTo)') - .setValue(this.plugin.settings.promisedToRegexpString) - .onChange((value) => __awaiter(this, void 0, void 0, function* () { - this.plugin.settings.promisedToRegexpString = value; - yield this.plugin.saveSettings(); - }))); - new obsidian.Setting(containerEl) - .setName('Someday Maybe regexp pattern') - .setDesc('This is the regexp pattern you use to mark actions deliberately without a deadline - i.e. bucket list. Actions without a valid tag and without a deadline will show up in the Inbox.') - .addText(text => text - .setPlaceholder('#(someday)') - .setValue(this.plugin.settings.somedayMaybeRegexpString) - .onChange((value) => __awaiter(this, void 0, void 0, function* () { - this.plugin.settings.somedayMaybeRegexpString = value; - yield this.plugin.saveSettings(); - }))); - } -} - -class ActionTrackerPlugin extends obsidian.Plugin { - constructor(app, manifest) { - super(app, manifest); - } - getTodoItemIndexProps() { - return { - personRegexp: new RegExp(this.getSettingValue('personRegexpString')), - projectRegexp: new RegExp(this.getSettingValue('projectRegexpString')), - dateRegexp: new RegExp(this.getSettingValue('dateRegexpString')), - discussWithRegexp: new RegExp(this.getSettingValue('discussWithRegexpString')), - waitingForRegexp: new RegExp(this.getSettingValue('waitingForRegexpString')), - promisedToRegexp: new RegExp(this.getSettingValue('promisedToRegexpString')), - somedayMaybeRegexp: new RegExp(this.getSettingValue('somedayMaybeRegexpString')), - }; - } - onload() { - return __awaiter(this, void 0, void 0, function* () { - console.log('loading plugin'); - yield this.loadSettings(); - this.todoIndex = new TodoIndex(this.app.vault, this.tick.bind(this), this.getTodoItemIndexProps()); - this.registerView(VIEW_TYPE_TODO, (leaf) => { - const todos = []; - const props = { - todos: todos, - openFile: (filePath) => { - const file = this.app.vault.getAbstractFileByPath(filePath); - this.app.workspace.splitActiveLeaf().openFile(file); - }, - toggleTodo: (todo, newStatus) => { - this.todoIndex.setStatus(todo, newStatus); - }, - }; - this.view = new TodoItemView(leaf, props); - return this.view; - }); - this.addSettingTab(new ActionTrackerSettingTab(this.app, this)); - if (this.app.workspace.layoutReady) { - this.initLeaf(); - yield this.prepareIndex(); - } - else { - this.registerEvent(this.app.workspace.on('layout-ready', this.initLeaf.bind(this))); - this.registerEvent(this.app.workspace.on('layout-ready', () => __awaiter(this, void 0, void 0, function* () { return yield this.prepareIndex(); }))); - } - }); - } - onunload() { - this.app.workspace.getLeavesOfType(VIEW_TYPE_TODO).forEach((leaf) => leaf.detach()); - } - initLeaf() { - if (this.app.workspace.getLeavesOfType(VIEW_TYPE_TODO).length) { - return; - } - this.app.workspace.getRightLeaf(false).setViewState({ - type: VIEW_TYPE_TODO, - }); - } - prepareIndex() { - return __awaiter(this, void 0, void 0, function* () { - yield this.todoIndex.initialize(); - }); - } - tick(todos) { - this.view.setProps((currentProps) => { - return Object.assign(Object.assign({}, currentProps), { todos: todos }); - }); - } - loadSettings() { - return __awaiter(this, void 0, void 0, function* () { - this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData()); - }); - } - saveSettings() { - return __awaiter(this, void 0, void 0, function* () { - yield this.saveData(this.settings); - yield this.todoIndex.reloadIndex(this.getTodoItemIndexProps()); - }); - } - getSettingValue(setting) { - return this.settings[setting]; - } -} - -module.exports = ActionTrackerPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsiLi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsIi4uL2NvbnN0YW50cy50cyIsIi4uL21vZGVsL1RvZG9JdGVtLnRzIiwiLi4vdWkvaWNvbnMudHMiLCIuLi91aS9Ub2RvSXRlbVZpZXcudHMiLCIuLi9tb2RlbC9Ub2RvUGFyc2VyLnRzIiwiLi4vbW9kZWwvVG9kb0luZGV4LnRzIiwiLi4vc2V0dGluZ3MudHMiLCIuLi9tYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpudWxsLCJuYW1lcyI6WyJJdGVtVmlldyIsIk1hcmtkb3duUmVuZGVyZXIiLCJURmlsZSIsIlBsdWdpblNldHRpbmdUYWIiLCJTZXR0aW5nIiwiUGx1Z2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXVEQTtBQUNPLFNBQVMsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtBQUM3RCxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUNoSCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUMvRCxRQUFRLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxF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 diff --git a/dist/manifest.json b/dist/manifest.json deleted file mode 100644 index 6746b6f..0000000 --- a/dist/manifest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "id": "obsidian-gtd-plugin", - "name": "GTD actions", - "version": "0.0.1", - "minAppVersion": "0.10.13", - "description": "Filter your actions based on project, stakeholder, and date. Collects all outstanding actions from your vault and presents them in list.", - "author": "Zsolt Viczian", - "authorUrl": "https://zsolt.blog", - "isDesktopOnly": false -} diff --git a/dist/styles.css b/dist/styles.css deleted file mode 100644 index 3413a31..0000000 --- a/dist/styles.css +++ /dev/null @@ -1,91 +0,0 @@ -div.todo-item-view-container { -} - -input.todo-filter-input { - width: 100%; -} - -table.todo-filter-wrapper { - width: 100%; -} - -tr.todo-filter-row { - -} - -td.todo-filter-col-input { - margin:0; - width: 100%; -} - -td.todo-filter-col-button { - width: 1px; -} - - -button.todo-filter-button { - white-space: nowrap; - margin: 0; -} - - -hr.todo-item-view-divider { - margin:0; -} - -div.todo-item-view-toolbar { - display: flex; - justify-content: center; - align-items: center; - border-bottom: 1px solid #cccccc; - border-top: 1px solid #cccccc; -} - -div.todo-item-view-toolbar-item { - padding-left: 15px; - padding-right: 15px; - padding-top: 8px; - padding-bottom: 2px; - cursor: pointer; -} - -div.todo-item-view-items { - display: flex; - flex-direction: column; - justify-content: flex-start; -} - -div.todo-item-view-item { - display: flex; - padding-top: 10px; - padding-bottom: 10px; -} - -div.todo-item-view-item p { - margin: 0; -} - -div.todo-item-view-item-checkbox { - flex-basis: 25px; - flex-shrink: 0; -} - -div.todo-item-view-item-description { - flex-grow: 1; - padding-left: 4px; -} - -div.todo-item-view-item-link { - flex-basis: 25px; - flex-shrink: 0; - cursor: pointer; - padding-left: 8px; -} - -div.todo-item-view-item-link svg, div.todo-item-view-toolbar-item svg { - fill: #cccccc; -} - -div.todo-item-view-toolbar-item.active svg { - fill: #7f6df2; -}