add: example for custom cell patch
This commit is contained in:
parent
4ff9c79263
commit
206961fa9a
@ -31,7 +31,7 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/windingwind/zotero-addon-template#readme",
|
"homepage": "https://github.com/windingwind/zotero-addon-template#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"zotero-plugin-toolkit": "^0.0.10"
|
"zotero-plugin-toolkit": "^0.0.11"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^18.11.17",
|
"@types/node": "^18.11.17",
|
||||||
|
56
src/views.ts
56
src/views.ts
@ -58,14 +58,66 @@ class AddonViews extends AddonModule {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Initialize extra columns
|
// 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() {
|
public unInitViews() {
|
||||||
this._Addon.toolkit.Tool.log("Uninitializing UI");
|
this._Addon.toolkit.Tool.log("Uninitializing UI");
|
||||||
this._Addon.toolkit.UI.removeAddonElements();
|
this._Addon.toolkit.UI.removeAddonElements();
|
||||||
// Remove extra columns
|
// 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(
|
public showProgressWindow(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user