/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); var __export = (target, all) => { __markAsModule(target); for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __reExport = (target, module2, desc) => { if (module2 && typeof module2 === "object" || typeof module2 === "function") { for (let key of __getOwnPropNames(module2)) if (!__hasOwnProp.call(target, key) && key !== "default") __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); } return target; }; var __toModule = (module2) => { return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); }; var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; // src/main.ts __export(exports, { default: () => SimpleTimeTrackerPlugin }); var import_obsidian2 = __toModule(require("obsidian")); // src/settings.ts var defaultSettings = {}; // src/settings-tab.ts var import_obsidian = __toModule(require("obsidian")); var SimpleTimeTrackerSettingsTab = class extends import_obsidian.PluginSettingTab { constructor(app, plugin) { super(app, plugin); this.plugin = plugin; } display() { this.containerEl.empty(); this.containerEl.createEl("h2", { text: "Simple Time Tracker Settings" }); this.containerEl.createEl("hr"); this.containerEl.createEl("p", { text: "If you like this plugin and want to support its development, you can do so through my website by clicking this fancy image!" }); this.containerEl.createEl("a", { href: "https://ellpeck.de/support" }).createEl("img", { attr: { src: "https://ellpeck.de/res/generalsupport.png" }, cls: "simple-time-tracker-support" }); } }; // src/tracker.ts var Tracker = class { constructor() { this.entries = []; } display(element) { let list = element.createEl("ul"); for (let entry of this.entries) list.createEl("li", { text: entry.toString() }); } start(name) { let entry = new Entry(name, new Date()); this.entries.push(entry); } end() { } save() { JSON.stringify(this); } static load(json) { if (json) { try { return JSON.parse(json); } catch (e) { console.log(`Failed to parse Tracker from ${json}`); } } return new Tracker(); } }; var Entry = class { constructor(name, startTime) { this.name = name; this.startTime = startTime; } toString() { let ret = ""; if (this.name) ret += `${this.name}: `; if (this.startTime.getDay() != this.endTime.getDay() || this.startTime.getMonth() != this.endTime.getMonth()) { ret += `${this.startTime.toLocaleString()} - ${this.endTime.toLocaleString()}`; } else { ret += `${this.startTime.toLocaleTimeString()} - ${this.endTime.toLocaleTimeString()}`; } return ret; } }; // src/main.ts var SimpleTimeTrackerPlugin = class extends import_obsidian2.Plugin { onload() { return __async(this, null, function* () { yield this.loadSettings(); this.addSettingTab(new SimpleTimeTrackerSettingsTab(this.app, this)); this.registerMarkdownCodeBlockProcessor("simple-time-tracker", (s, e, i) => { e.empty(); e.addClass("simple-time-tracker"); let tracker = Tracker.load(s); let name = new import_obsidian2.TextComponent(e).setPlaceholder("Name this segment"); new import_obsidian2.ButtonComponent(e).setButtonText("Start").onClick(() => { tracker.start(name.getValue()); tracker.save(); }); }); }); } loadSettings() { return __async(this, null, function* () { this.settings = Object.assign({}, defaultSettings, yield this.loadData()); }); } saveSettings() { return __async(this, null, function* () { yield this.saveData(this.settings); }); } }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL21haW4udHMiLCAic3JjL3NldHRpbmdzLnRzIiwgInNyYy9zZXR0aW5ncy10YWIudHMiLCAic3JjL3RyYWNrZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCwgTWFya2Rvd25WaWV3LCBQbHVnaW4sIFRleHRDb21wb25lbnQgfSBmcm9tIFwib2JzaWRpYW5cIjtcclxuaW1wb3J0IHsgZGVmYXVsdFNldHRpbmdzLCBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzIH0gZnJvbSBcIi4vc2V0dGluZ3NcIjtcclxuaW1wb3J0IHsgU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5nc1RhYiB9IGZyb20gXCIuL3NldHRpbmdzLXRhYlwiO1xyXG5pbXBvcnQgeyBUcmFja2VyIH0gZnJvbSBcIi4vdHJhY2tlclwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2ltcGxlVGltZVRyYWNrZXJQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xyXG5cclxuXHRzZXR0aW5nczogU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncztcclxuXHJcblx0YXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xyXG5cdFx0YXdhaXQgdGhpcy5sb2FkU2V0dGluZ3MoKTtcclxuXHJcblx0XHR0aGlzLmFkZFNldHRpbmdUYWIobmV3IFNpbXBsZVRpbWVUcmFja2VyU2V0dGluZ3NUYWIodGhpcy5hcHAsIHRoaXMpKTtcclxuXHJcblx0XHR0aGlzLnJlZ2lzdGVyTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3IoXCJzaW1wbGUtdGltZS10cmFja2VyXCIsIChzLCBlLCBpKSA9PiB7XHJcblx0XHRcdGUuZW1wdHkoKTtcclxuXHRcdFx0ZS5hZGRDbGFzcyhcInNpbXBsZS10aW1lLXRyYWNrZXJcIik7XHJcblxyXG5cdFx0XHRsZXQgdHJhY2tlciA9IFRyYWNrZXIubG9hZChzKTtcclxuXHJcblx0XHRcdGxldCBuYW1lID0gbmV3IFRleHRDb21wb25lbnQoZSlcclxuXHRcdFx0XHQuc2V0UGxhY2Vob2xkZXIoXCJOYW1lIHRoaXMgc2VnbWVudFwiKTtcclxuXHRcdFx0bmV3IEJ1dHRvbkNvbXBvbmVudChlKVxyXG5cdFx0XHRcdC5zZXRCdXR0b25UZXh0KFwiU3RhcnRcIilcclxuXHRcdFx0XHQub25DbGljaygoKSA9PiB7XHJcblx0XHRcdFx0XHR0cmFja2VyLnN0YXJ0KG5hbWUuZ2V0VmFsdWUoKSk7XHJcblxyXG5cdFx0XHRcdFx0Ly8gVE9ETyBob3cgZG8gd2Ugc2F2ZSB0byB0aGUgY29kZSBibG9jaz8/XHJcblx0XHRcdFx0XHR0cmFja2VyLnNhdmUoKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgbG9hZFNldHRpbmdzKCkge1xyXG5cdFx0dGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTZXR0aW5ncywgYXdhaXQgdGhpcy5sb2FkRGF0YSgpKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIHNhdmVTZXR0aW5ncygpIHtcclxuXHRcdGF3YWl0IHRoaXMuc2F2ZURhdGEodGhpcy5zZXR0aW5ncyk7XHJcblx0fVxyXG59XHJcbiIsICJleHBvcnQgY29uc3QgZGVmYXVsdFNldHRpbmdzOiBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzID0ge1xyXG5cclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlVGltZVRyYWNrZXJTZXR0aW5ncyB7XHJcblxyXG59XHJcbiIsICJpbXBvcnQgeyBBcHAsIFBsdWdpblNldHRpbmdUYWIgfSBmcm9tIFwib2JzaWRpYW5cIjtcclxuaW1wb3J0IFNpbXBsZVRpbWVUcmFja2VyUGx1Z2luIGZyb20gXCIuL21haW5cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTaW1wbGVUaW1lVHJhY2tlclNldHRpbmdzVGFiIGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XHJcblxyXG4gICAgcGx1Z2luOiBTaW1wbGVUaW1lVHJhY2tlclBsdWdpbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcGx1Z2luOiBTaW1wbGVUaW1lVHJhY2tlclBsdWdpbikge1xyXG4gICAgICAgIHN1cGVyKGFwcCwgcGx1Z2luKTtcclxuICAgICAgICB0aGlzLnBsdWdpbiA9IHBsdWdpbjtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyRWwuZW1wdHkoKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiaDJcIiwgeyB0ZXh0OiBcIlNpbXBsZSBUaW1lIFRyYWNrZXIgU2V0dGluZ3NcIiB9KTtcclxuXHJcbiAgICAgICAgLy8gVE9ETyBzZXR0aW5ncyBnbyBoZXJlXHJcblxyXG4gICAgICAgIHRoaXMuY29udGFpbmVyRWwuY3JlYXRlRWwoXCJoclwiKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwicFwiLCB7IHRleHQ6IFwiSWYgeW91IGxpa2UgdGhpcyBwbHVnaW4gYW5kIHdhbnQgdG8gc3VwcG9ydCBpdHMgZGV2ZWxvcG1lbnQsIHlvdSBjYW4gZG8gc28gdGhyb3VnaCBteSB3ZWJzaXRlIGJ5IGNsaWNraW5nIHRoaXMgZmFuY3kgaW1hZ2UhXCIgfSk7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXJFbC5jcmVhdGVFbChcImFcIiwgeyBocmVmOiBcImh0dHBzOi8vZWxscGVjay5kZS9zdXBwb3J0XCIgfSlcclxuICAgICAgICAgICAgLmNyZWF0ZUVsKFwiaW1nXCIsIHsgYXR0cjogeyBzcmM6IFwiaHR0cHM6Ly9lbGxwZWNrLmRlL3Jlcy9nZW5lcmFsc3VwcG9ydC5wbmdcIiB9LCBjbHM6IFwic2ltcGxlLXRpbWUtdHJhY2tlci1zdXBwb3J0XCIgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwgImltcG9ydCB7IE1hcmtkb3duU2VjdGlvbkluZm9ybWF0aW9uIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmV4cG9ydCBjbGFzcyBUcmFja2VyIHtcblxuICAgIGVudHJpZXM6IEVudHJ5W10gPSBbXTtcblxuICAgIGRpc3BsYXkoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgbGV0IGxpc3QgPSBlbGVtZW50LmNyZWF0ZUVsKFwidWxcIik7XG4gICAgICAgIGZvciAobGV0IGVudHJ5IG9mIHRoaXMuZW50cmllcylcbiAgICAgICAgICAgIGxpc3QuY3JlYXRlRWwoXCJsaVwiLCB7IHRleHQ6IGVudHJ5LnRvU3RyaW5nKCkgfSk7XG4gICAgfVxuXG5cbiAgICBzdGFydChuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gZGF0ZSBjb25zdHJ1Y3RvciByZXR1cm5zIHRoZSBjdXJyZW50IGRhdGVcbiAgICAgICAgbGV0IGVudHJ5ID0gbmV3IEVudHJ5KG5hbWUsIG5ldyBEYXRlKCkpO1xuICAgICAgICB0aGlzLmVudHJpZXMucHVzaChlbnRyeSk7XG4gICAgfVxuXG4gICAgZW5kKCk6IHZvaWQge1xuXG4gICAgfVxuXG4gICAgc2F2ZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gVE9ETyBzYXZlXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBsb2FkKGpzb246IHN0cmluZyk6IFRyYWNrZXIge1xuICAgICAgICBpZiAoanNvbikge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShqc29uKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgRmFpbGVkIHRvIHBhcnNlIFRyYWNrZXIgZnJvbSAke2pzb259YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBUcmFja2VyKCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRW50cnkge1xuXG4gICAgcHJpdmF0ZSBuYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdGFydFRpbWU6IERhdGU7XG4gICAgcHJpdmF0ZSBlbmRUaW1lOiBEYXRlO1xuXG4gICAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBzdGFydFRpbWU6IERhdGUpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSBzdGFydFRpbWU7XG4gICAgfVxuXG4gICAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJldCA9IFwiXCI7XG4gICAgICAgIGlmICh0aGlzLm5hbWUpXG4gICAgICAgICAgICByZXQgKz0gYCR7dGhpcy5uYW1lfTogYDtcblxuICAgICAgICAvLyBpZiB0aGUgZGF5cyBvciBtb250aHMgYXJlIGRpZmZlcmVudCwgd2Ugd2FudCB0byBhZGQgdGhlIGZ1bGwgZGF0ZVxuICAgICAgICBpZiAodGhpcy5zdGFydFRpbWUuZ2V0RGF5KCkgIT0gdGhpcy5lbmRUaW1lLmdldERheSgpIHx8IHRoaXMuc3RhcnRUaW1lLmdldE1vbnRoKCkgIT0gdGhpcy5lbmRUaW1lLmdldE1vbnRoKCkpIHtcbiAgICAgICAgICAgIHJldCArPSBgJHt0aGlzLnN0YXJ0VGltZS50b0xvY2FsZVN0cmluZygpfSAtICR7dGhpcy5lbmRUaW1lLnRvTG9jYWxlU3RyaW5nKCl9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldCArPSBgJHt0aGlzLnN0YXJ0VGltZS50b0xvY2FsZVRpbWVTdHJpbmcoKX0gLSAke3RoaXMuZW5kVGltZS50b0xvY2FsZVRpbWVTdHJpbmcoKX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBLHVCQUFxRTs7O0FDQTlELElBQU0sa0JBQTZDOzs7QUNBMUQsc0JBQXNDO0FBRy9CLGlEQUEyQyxpQ0FBaUI7QUFBQSxFQUkvRCxZQUFZLEtB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