From 206961fa9a6312e0a161238ef22b1af75e2509cc Mon Sep 17 00:00:00 2001 From: xiangyu <3170102889@zju.edu.cn> Date: Mon, 2 Jan 2023 18:05:08 +0800 Subject: [PATCH 1/2] add: example for custom cell patch --- package.json | 2 +- src/views.ts | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 55 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index efd4c69..81b0bfa 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ }, "homepage": "https://github.com/windingwind/zotero-addon-template#readme", "dependencies": { - "zotero-plugin-toolkit": "^0.0.10" + "zotero-plugin-toolkit": "^0.0.11" }, "devDependencies": { "@types/node": "^18.11.17", diff --git a/src/views.ts b/src/views.ts index 06b2ad0..dc2c757 100644 --- a/src/views.ts +++ b/src/views.ts @@ -58,14 +58,66 @@ class AddonViews extends AddonModule { }); // Initialize extra columns - this._Addon.toolkit.ItemTree.registerExample(); + this._Addon.toolkit.ItemTree.register( + "test1", + "text column", + ( + field: string, + unformatted: boolean, + includeBaseMapped: boolean, + item: Zotero.Item + ) => { + return field + String(item.id); + }, + { + iconPath: "chrome://zotero/skin/cross.png", + } + ); + this._Addon.toolkit.ItemTree.register( + "test2", + "custom column", + ( + field: string, + unformatted: boolean, + includeBaseMapped: boolean, + item: Zotero.Item + ) => { + return String(item.id); + }, + { + renderCellHook(index, data, column) { + const span = document.createElementNS( + "http://www.w3.org/1999/xhtml", + "span" + ); + span.style.background = "#0dd068"; + span.innerText = "⭐" + data; + return span; + }, + } + ); + + // Customize cells + this._Addon.toolkit.ItemTree.addRenderCellHook( + "title", + (index: number, data: string, column: any, original: Function) => { + const span = original(index, data, column) as HTMLSpanElement; + span.style.background = "rgb(30, 30, 30)"; + span.style.color = "rgb(156, 220, 240)"; + return span; + } + ); } public unInitViews() { this._Addon.toolkit.Tool.log("Uninitializing UI"); this._Addon.toolkit.UI.removeAddonElements(); // Remove extra columns - this._Addon.toolkit.ItemTree.unregister("test"); + this._Addon.toolkit.ItemTree.unregister("test1"); + this._Addon.toolkit.ItemTree.unregister("test2"); + + // Remove title cell patch + this._Addon.toolkit.ItemTree.removeRenderCellHook("title"); } public showProgressWindow( From bb737ec0907d58844c5f19b7275b61258039b45c Mon Sep 17 00:00:00 2001 From: xiangyu <3170102889@zju.edu.cn> Date: Mon, 2 Jan 2023 18:05:42 +0800 Subject: [PATCH 2/2] Release 0.0.7 --- package.json | 2 +- update.json | 4 ++-- update.rdf | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 81b0bfa..bf1c77d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zotero-addon-template", - "version": "0.0.6", + "version": "0.0.7", "description": "Zotero Addon Template", "config": { "addonName": "Zotero Addon Template", diff --git a/update.json b/update.json index 3c747a3..929d37d 100644 --- a/update.json +++ b/update.json @@ -3,7 +3,7 @@ "addontemplate@euclpts.com": { "updates": [ { - "version": "0.0.6", + "version": "0.0.7", "update_link": "https://github.com/windingwind/zotero-addon-template/releases/latest/download/zotero-addon-template.xpi", "applications": { "gecko": { @@ -12,7 +12,7 @@ } }, { - "version": "0.0.6", + "version": "0.0.7", "update_link": "https://github.com/windingwind/zotero-addon-template/releases/latest/download/zotero-addon-template.xpi", "applications": { "zotero": { diff --git a/update.rdf b/update.rdf index ec9e147..ec8de0d 100644 --- a/update.rdf +++ b/update.rdf @@ -5,7 +5,7 @@ - 0.0.6 + 0.0.7 zotero@chnm.gmu.edu