add: itemBox examples
This commit is contained in:
parent
47fdd995d5
commit
080736cd0f
@ -76,6 +76,7 @@ Search `@example` in `src/examples.ts`. The examples are called in `src/hooks.ts
|
||||
- registerWindowMenuWithSeprator
|
||||
- registerExtraColumn
|
||||
- registerExtraColumnWithCustomCell
|
||||
- registerCustomItemBoxRow
|
||||
- registerCustomCellRenderer
|
||||
- registerLibraryTabPanel
|
||||
- registerReaderTabPanel
|
||||
|
@ -37,7 +37,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/windingwind/zotero-addon-template#readme",
|
||||
"dependencies": {
|
||||
"zotero-plugin-toolkit": "^2.0.0"
|
||||
"zotero-plugin-toolkit": "^2.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^18.11.17",
|
||||
@ -51,4 +51,4 @@
|
||||
"typescript": "^4.9.4",
|
||||
"zotero-types": "^1.0.6"
|
||||
}
|
||||
}
|
||||
}
|
@ -50,7 +50,7 @@ async function onStartup() {
|
||||
|
||||
UIExampleFactory.registerRightClickMenuPopup();
|
||||
|
||||
UIExampleFactory.registerWindowMenuWithSeprator();
|
||||
UIExampleFactory.registerWindowMenuWithSeparator();
|
||||
|
||||
await UIExampleFactory.registerExtraColumn();
|
||||
|
||||
@ -58,6 +58,8 @@ async function onStartup() {
|
||||
|
||||
await UIExampleFactory.registerCustomCellRenderer();
|
||||
|
||||
await UIExampleFactory.registerCustomItemBoxRow();
|
||||
|
||||
UIExampleFactory.registerLibraryTabPanel();
|
||||
|
||||
await UIExampleFactory.registerReaderTabPanel();
|
||||
|
@ -233,7 +233,7 @@ export class UIExampleFactory {
|
||||
}
|
||||
|
||||
@example
|
||||
static registerWindowMenuWithSeprator() {
|
||||
static registerWindowMenuWithSeparator() {
|
||||
ztoolkit.Menu.register("menuFile", {
|
||||
tag: "menuseparator",
|
||||
});
|
||||
@ -302,11 +302,49 @@ export class UIExampleFactory {
|
||||
return span;
|
||||
}
|
||||
);
|
||||
// @ts-ignore
|
||||
// This is a private method. Make it public in toolkit.
|
||||
await ztoolkit.ItemTree.refresh();
|
||||
}
|
||||
|
||||
@example
|
||||
static async registerCustomItemBoxRow() {
|
||||
await ztoolkit.ItemBox.register(
|
||||
"itemBoxFieldEditable",
|
||||
"Editable Custom Field",
|
||||
(field, unformatted, includeBaseMapped, item, original) => {
|
||||
return (
|
||||
ztoolkit.ExtraField.getExtraField(item, "itemBoxFieldEditable") || ""
|
||||
);
|
||||
},
|
||||
{
|
||||
editable: true,
|
||||
setFieldHook: (field, value, loadIn, item, original) => {
|
||||
window.alert("Custom itemBox value is changed and saved to extra!");
|
||||
ztoolkit.ExtraField.setExtraField(
|
||||
item,
|
||||
"itemBoxFieldEditable",
|
||||
value
|
||||
);
|
||||
return true;
|
||||
},
|
||||
index: 1,
|
||||
}
|
||||
);
|
||||
|
||||
await ztoolkit.ItemBox.register(
|
||||
"itemBoxFieldNonEditable",
|
||||
"Non-Editable Custom Field",
|
||||
(field, unformatted, includeBaseMapped, item, original) => {
|
||||
return (
|
||||
"[CANNOT EDIT THIS]" + (item.getField("title") as string).slice(0, 10)
|
||||
);
|
||||
},
|
||||
{
|
||||
editable: false,
|
||||
index: 2,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@example
|
||||
static registerLibraryTabPanel() {
|
||||
const tabId = ztoolkit.LibraryTabPanel.register(
|
||||
|
Loading…
x
Reference in New Issue
Block a user