update: use zotero-types
This commit is contained in:
parent
8bad0cffff
commit
cef9153bc5
@ -33,6 +33,7 @@
|
|||||||
"replace-in-file": "^6.3.2"
|
"replace-in-file": "^6.3.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"release-it": "^14.14.0"
|
"release-it": "^14.14.0",
|
||||||
|
"zotero-types": "^0.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { Zotero } from "zotero-types";
|
||||||
import { Addon, addonName } from "./addon";
|
import { Addon, addonName } from "./addon";
|
||||||
import AddonModule from "./module";
|
import AddonModule from "./module";
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { Zotero } from "zotero-types";
|
||||||
import { Addon } from "./addon";
|
import { Addon } from "./addon";
|
||||||
|
|
||||||
Zotero.AddonTemplate = new Addon();
|
Zotero.AddonTemplate = new Addon();
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { XUL, Zotero } from "zotero-types";
|
||||||
import { Addon } from "./addon";
|
import { Addon } from "./addon";
|
||||||
import AddonModule from "./module";
|
import AddonModule from "./module";
|
||||||
const { addonRef } = require("../package.json");
|
const { addonRef } = require("../package.json");
|
||||||
|
275
typing/data.d.ts
vendored
275
typing/data.d.ts
vendored
@ -1,275 +0,0 @@
|
|||||||
// chrome/content/zotero/xpcom/data/dataObject.js
|
|
||||||
|
|
||||||
declare interface _ZoteroDataObject {
|
|
||||||
objectType: string;
|
|
||||||
id: number;
|
|
||||||
libraryID: number;
|
|
||||||
library: _ZoteroLibrary;
|
|
||||||
key: string;
|
|
||||||
libraryKey: string;
|
|
||||||
parentKey: string;
|
|
||||||
parentID: number;
|
|
||||||
itemTypeID: number;
|
|
||||||
parentItem: _ZoteroItem;
|
|
||||||
getRelations: () => object;
|
|
||||||
getRelationsByPredicate: (predicate: string) => string[];
|
|
||||||
addRelation: (predicate: string, object: object) => boolean;
|
|
||||||
hasRelation: (predicate: string, object: object) => boolean;
|
|
||||||
removeRelation: (predicate: string, object: object) => boolean;
|
|
||||||
setRelations: (newRelations: object) => boolean;
|
|
||||||
hasChanged: () => boolean;
|
|
||||||
isEditable: (_op: string = "edit") => boolean;
|
|
||||||
save: (options?: any) => Promise<boolean>;
|
|
||||||
saveTx: (options?: any) => Promise<boolean>;
|
|
||||||
eraseTx: (options?: any) => Promise<boolean>;
|
|
||||||
erase: (options?: any) => Promise<boolean>;
|
|
||||||
_version: number;
|
|
||||||
_synced: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare interface _ZoteroDataObjectConstructable {
|
|
||||||
new (): _ZoteroDataObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
// chrome/content/zotero/xpcom/data/item.js
|
|
||||||
// TODO: complete this part
|
|
||||||
|
|
||||||
declare interface _ZoteroItem extends _ZoteroDataObject {
|
|
||||||
isRegularItem: () => boolean;
|
|
||||||
isAttachment: () => boolean;
|
|
||||||
isAnnotation: () => boolean;
|
|
||||||
isPDFAttachment: () => boolean;
|
|
||||||
getTags: () => { tag: string; type: number }[];
|
|
||||||
addTag: (name: string, type: number) => boolean;
|
|
||||||
removeTag: (tag: string) => boolean;
|
|
||||||
// Only regular item
|
|
||||||
addToCollection: (id: number) => void;
|
|
||||||
getNotes: () => _ZoteroItem[];
|
|
||||||
getCollections: () => number[];
|
|
||||||
getAttachments: () => _ZoteroItem[];
|
|
||||||
getField: (
|
|
||||||
name: string,
|
|
||||||
unformatted?: boolean,
|
|
||||||
includeBaseMapped?: boolean
|
|
||||||
) => any;
|
|
||||||
setField: (name: string, value: string | number) => void;
|
|
||||||
getCreators: () => {
|
|
||||||
firstName?: string;
|
|
||||||
lastName: string;
|
|
||||||
fieldMode: number;
|
|
||||||
creatorTypeID: number;
|
|
||||||
}[];
|
|
||||||
getCreatorsJSON: () => {
|
|
||||||
firstName?: string;
|
|
||||||
lastName?: string;
|
|
||||||
name?: string;
|
|
||||||
creatorType: string;
|
|
||||||
}[];
|
|
||||||
getBestAttachment: () => Promise<_ZoteroItem>;
|
|
||||||
getBestAttachments: () => Promise<_ZoteroItem[]>;
|
|
||||||
getBestAttachmentState: () => Promise<object>;
|
|
||||||
// Only image annotation & attachment item
|
|
||||||
getFilePathAsync: () => string;
|
|
||||||
// Only notes
|
|
||||||
isNote: () => boolean;
|
|
||||||
getNote: () => string;
|
|
||||||
setNote: (content: string) => void;
|
|
||||||
getNoteTitle: () => string;
|
|
||||||
// Only Annotation
|
|
||||||
getAnnotations: (includeTrashed: boolean = false) => _ZoteroItem[];
|
|
||||||
annotationType: string;
|
|
||||||
annotationComment: string;
|
|
||||||
annotationText: string;
|
|
||||||
annotationPosition: string;
|
|
||||||
annotationColor: string;
|
|
||||||
annotationPageLabel: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare interface _ZoteroItemConstructable {
|
|
||||||
new (itemTypeOrID?: string): _ZoteroItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
// chrome/content/zotero/xpcom/data/items.js
|
|
||||||
|
|
||||||
declare class _ZoteroItems {
|
|
||||||
[attr: string]: any;
|
|
||||||
get: (
|
|
||||||
ids: number | number[] | string | string[]
|
|
||||||
) => _ZoteroItem | _ZoteroItem[];
|
|
||||||
getAll: (
|
|
||||||
libraryID: number,
|
|
||||||
onlyTopLevel: boolean = false,
|
|
||||||
includeDeleted: boolean = false,
|
|
||||||
asIDs: boolean = false
|
|
||||||
) => Promise<Array<Zotero.Item | number>>;
|
|
||||||
getAPIData: (libraryID, apiPath) => string; // item data in web API format
|
|
||||||
apiDataGenerator: (params: object) => Promise<string>;
|
|
||||||
copyChildItems: (fromItem: _ZoteroItem, toItem: _ZoteroItem) => Promise<void>;
|
|
||||||
moveChildItems: (
|
|
||||||
fromItem: _ZoteroItem,
|
|
||||||
toItem: _ZoteroItem,
|
|
||||||
includeTrashed: boolean = false
|
|
||||||
) => Promise<void>;
|
|
||||||
merge: (item: _ZoteroItem, otherItems: _ZoteroItem[]) => Promise<any>;
|
|
||||||
trash: (ids: number[]) => Promise<void>;
|
|
||||||
trashTx: (ids: number[]) => Promise<void>;
|
|
||||||
emptyTrash: (libraryID: number, options: object = {}) => Promise<number>; // return deleted items count
|
|
||||||
addToPublications: (
|
|
||||||
items: _ZoteroItem[],
|
|
||||||
options: object = {}
|
|
||||||
) => Promise<void>;
|
|
||||||
removeFromPublications: (items: _ZoteroItem[]) => Promise<void>;
|
|
||||||
purge: () => Promise<void>; // Purge unused data values
|
|
||||||
getFirstCreatorFromJSON: (json: JSON) => any;
|
|
||||||
getFirstCreatorFromData: (itemTypeID: number, creatorsData: object) => string;
|
|
||||||
keepParents: (items: _ZoteroItem[]) => _ZoteroItem[]; // Returns an array of items with children of selected parents removed
|
|
||||||
getSortTitle: (title: string | number) => string;
|
|
||||||
}
|
|
||||||
|
|
||||||
// chrome/content/zotero/xpcom/data/collection.js
|
|
||||||
|
|
||||||
declare interface _ZoteroCollection extends _ZoteroDataObject {
|
|
||||||
name: string;
|
|
||||||
version: number;
|
|
||||||
synced: boolean;
|
|
||||||
treeViewID: string;
|
|
||||||
treeViewImage: string;
|
|
||||||
loadFromRow: (row: object[]) => void;
|
|
||||||
hasChildCollections: (includeTrashed: boolean = false) => boolean;
|
|
||||||
hasChildItems: () => boolean;
|
|
||||||
getChildCollections: (
|
|
||||||
asIDs: boolean = false
|
|
||||||
) => _ZoteroCollection[] | number[];
|
|
||||||
getChildItems: (
|
|
||||||
asIDs: boolean,
|
|
||||||
includeDeleted: boolean = false
|
|
||||||
) => _ZoteroItem[] | number[];
|
|
||||||
addItem: (itemID: number, options: object = {}) => Promise<any>; // do not require save
|
|
||||||
addItems: (itemIDs: number[], options: object = {}) => Promise<any>; // do not require save
|
|
||||||
removeItem: (itemID: number, options: object = {}) => Promise<any>;
|
|
||||||
removeItems: (itemIDs: number[], options: object = {}) => Promise<any>;
|
|
||||||
hasItem: (item: number | _ZoteroItem) => boolean;
|
|
||||||
hasDescendent: (type: string, id: number) => boolean;
|
|
||||||
diff: (collection: _ZoteroCollection, includeMatches: boolean) => Array<any>;
|
|
||||||
clone: (libraryID: number) => _ZoteroCollection; // not saved
|
|
||||||
isCollection: () => true;
|
|
||||||
serialize: (nested: boolean = false) => {
|
|
||||||
primary: {
|
|
||||||
collectionID: number;
|
|
||||||
libraryID: number;
|
|
||||||
key: string;
|
|
||||||
};
|
|
||||||
fields: {
|
|
||||||
name: string;
|
|
||||||
parentKey: string;
|
|
||||||
};
|
|
||||||
childCollections: _ZoteroCollection[];
|
|
||||||
childItems: _ZoteroItem[];
|
|
||||||
descendents: object[];
|
|
||||||
};
|
|
||||||
fromJSON: (json: JSON, options: object = {}) => void;
|
|
||||||
toJSON: (options: object = {}) => JSON;
|
|
||||||
getDescendents: (
|
|
||||||
nested: boolean,
|
|
||||||
type: string,
|
|
||||||
includeDeletedItems: boolean = false,
|
|
||||||
level: number = 1
|
|
||||||
) => object[];
|
|
||||||
getLinkedCollection: (
|
|
||||||
libraryID: number,
|
|
||||||
bidrectional: boolean
|
|
||||||
) => Promise<_ZoteroCollection>;
|
|
||||||
addLinkedCollection: (collection: _ZoteroCollection) => Promise<any>;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare interface _ZoteroCollectionConstructable {
|
|
||||||
new (params: object = {}): _ZoteroCollection;
|
|
||||||
}
|
|
||||||
|
|
||||||
// chrome/content/zotero/xpcom/data/collections.js
|
|
||||||
|
|
||||||
declare class _ZoteroCollections {
|
|
||||||
getName: () => string;
|
|
||||||
getChildItems: (arg1: boolean, arg2: boolean) => Array<_ZoteroItem>;
|
|
||||||
getByLibrary: (
|
|
||||||
libraryID: number,
|
|
||||||
recursive: boolean = false
|
|
||||||
) => _ZoteroCollection[];
|
|
||||||
getByParent: (
|
|
||||||
parentCollectionID: number,
|
|
||||||
recursive: boolean = false
|
|
||||||
) => _ZoteroCollection[];
|
|
||||||
getCollectionsContainingItems: (
|
|
||||||
itemIDs: number[],
|
|
||||||
asIDs: boolean = false
|
|
||||||
) => _ZoteroItem[] | number[];
|
|
||||||
registerChildCollection: (
|
|
||||||
collectionID: number,
|
|
||||||
childCollectionID: number
|
|
||||||
) => void;
|
|
||||||
unregisterChildCollection: (
|
|
||||||
collectionID: number,
|
|
||||||
childCollectionID: number
|
|
||||||
) => void;
|
|
||||||
registerChildItem: (collectionID: number, itemID: number) => void;
|
|
||||||
unregisterChildItem: (collectionID: number, itemID: number) => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
// chrome/content/zotero/xpcom/data/library.js
|
|
||||||
|
|
||||||
declare interface _ZoteroLibrary {
|
|
||||||
libraryID: number;
|
|
||||||
id: number;
|
|
||||||
libraryType: "user" | "group";
|
|
||||||
libraryTypeID: number;
|
|
||||||
isGroup: boolean;
|
|
||||||
libraryVersion: number;
|
|
||||||
syncable: boolean;
|
|
||||||
lastSync: string;
|
|
||||||
name: string;
|
|
||||||
treeViewID: string;
|
|
||||||
treeViewImage: string;
|
|
||||||
hasTrash: boolean;
|
|
||||||
allowsLinkedFiles: boolean;
|
|
||||||
editable: boolean;
|
|
||||||
filesEditable: boolean;
|
|
||||||
storageVersion: number;
|
|
||||||
archived: boolean;
|
|
||||||
storageDownloadNeeded: boolean;
|
|
||||||
loadAllDataTypes: () => Promise<any>;
|
|
||||||
getDataLoaded: (objectType: string) => boolean;
|
|
||||||
setDataLoading: (objectType: string) => void;
|
|
||||||
getDataLoadedPromise: (objectType: string) => Promise<any>;
|
|
||||||
setDataLoaded: (objectType: string) => void;
|
|
||||||
waitForDataLoad: (objectType: string) => Promise<any>;
|
|
||||||
isChildObjectAllowed: (type: string) => boolean;
|
|
||||||
updateLastSyncTime: () => void;
|
|
||||||
save: (options?: any) => Promise<boolean>;
|
|
||||||
saveTx: (options?: any) => Promise<boolean>;
|
|
||||||
eraseTx: (options?: any) => Promise<boolean>;
|
|
||||||
erase: (options?: any) => Promise<boolean>;
|
|
||||||
hasCollections: () => boolean;
|
|
||||||
updateCollections: () => Promise<any>;
|
|
||||||
hasSearches: () => boolean;
|
|
||||||
updateSearches: () => Promise<any>;
|
|
||||||
hasItems: () => Promise<boolean>;
|
|
||||||
hasItem: (item: _ZoteroItem) => boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare interface _ZoteroLibraryConstructable {
|
|
||||||
new (params: object = {}): _ZoteroLibrary;
|
|
||||||
}
|
|
||||||
|
|
||||||
// chrome/content/zotero/xpcom/data/libraries.js
|
|
||||||
|
|
||||||
declare class _ZoteroLibraries {
|
|
||||||
[attr: string]: any;
|
|
||||||
userLibraryID: number = 1;
|
|
||||||
userLibrary: _ZoteroLibrary;
|
|
||||||
register: (library: _ZoteroLibrary) => void;
|
|
||||||
unregister: (libraryID: number) => void;
|
|
||||||
init: () => void;
|
|
||||||
exists: (libraryID: number) => boolean;
|
|
||||||
getAll: () => _ZoteroLibrary[];
|
|
||||||
get: (libraryID: number) => _ZoteroLibrary;
|
|
||||||
}
|
|
147
typing/global.d.ts
vendored
147
typing/global.d.ts
vendored
@ -1,147 +0,0 @@
|
|||||||
declare interface DirectoryIterator {
|
|
||||||
forEach(handler: any): Promise<void>;
|
|
||||||
close(): void;
|
|
||||||
next: () => any;
|
|
||||||
}
|
|
||||||
declare interface DirectoryIteratorConstructable {
|
|
||||||
new (path: string): DirectoryIterator; // eslint-disable-line @typescript-eslint/prefer-function-type
|
|
||||||
}
|
|
||||||
|
|
||||||
declare namespace OS {
|
|
||||||
namespace File {
|
|
||||||
type Entry = {
|
|
||||||
isDir: boolean;
|
|
||||||
size: number;
|
|
||||||
path: string;
|
|
||||||
unixMode?: number;
|
|
||||||
};
|
|
||||||
type FileInfo = {
|
|
||||||
isDir: boolean;
|
|
||||||
size: number;
|
|
||||||
unixMode?: number;
|
|
||||||
lastModificationDate: Date;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
declare const OS: {
|
|
||||||
// https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/OSFile.jsm/OS.File_for_the_main_thread
|
|
||||||
File: {
|
|
||||||
exists: (path: string) => boolean | Promise<boolean>;
|
|
||||||
read: (
|
|
||||||
path: string | BufferSource,
|
|
||||||
options?: { encoding?: string }
|
|
||||||
) =>
|
|
||||||
| string
|
|
||||||
| Promise<string>
|
|
||||||
| Uint8Array
|
|
||||||
| Promise<Uint8Array>
|
|
||||||
| Promise<BufferSource>;
|
|
||||||
move: (from: string, to: string) => void | Promise<void>;
|
|
||||||
remove: (
|
|
||||||
path: string,
|
|
||||||
options?: { ignoreAbsent: boolean }
|
|
||||||
) => Promise<void>;
|
|
||||||
writeAtomic: (
|
|
||||||
path: string,
|
|
||||||
data: Uint8Array | string,
|
|
||||||
options?: { tmpPath?: string; encoding?: string }
|
|
||||||
) => void | Promise<void>;
|
|
||||||
makeDir: (
|
|
||||||
path: string,
|
|
||||||
options?: { ignoreExisting?: boolean }
|
|
||||||
) => void | Promise<void>;
|
|
||||||
stat: (path: string) => OS.File.FileInfo | Promise<OS.File.FileInfo>;
|
|
||||||
copy: (
|
|
||||||
src: string,
|
|
||||||
tgt: string,
|
|
||||||
options?: { noOverwrite?: boolean }
|
|
||||||
) => void;
|
|
||||||
removeDir: (
|
|
||||||
path: string,
|
|
||||||
options?: { ignoreAbsent?: boolean; ignorePermissions?: boolean }
|
|
||||||
) => void;
|
|
||||||
|
|
||||||
DirectoryIterator: DirectoryIteratorConstructable;
|
|
||||||
};
|
|
||||||
|
|
||||||
// https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/OSFile.jsm/OS.Path
|
|
||||||
Path: {
|
|
||||||
join: (...args: string[]) => string;
|
|
||||||
dirname: (path: string) => string;
|
|
||||||
basename: (path: string) => string;
|
|
||||||
normalize: (path: string) => string;
|
|
||||||
split: (path: string) => {
|
|
||||||
absolute: boolean;
|
|
||||||
components: string[];
|
|
||||||
winDrive?: string;
|
|
||||||
};
|
|
||||||
toFileURI: (path: string) => string;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
declare const NetUtil: { [attr: string]: any };
|
|
||||||
|
|
||||||
// https://stackoverflow.com/questions/39040108/import-class-in-definition-file-d-ts
|
|
||||||
declare const Zotero: {
|
|
||||||
[attr: string]: any;
|
|
||||||
debug: (message, level?, maxDepth?, stack?) => void;
|
|
||||||
log: (
|
|
||||||
message,
|
|
||||||
type?,
|
|
||||||
sourceName?,
|
|
||||||
sourceLine?,
|
|
||||||
lineNumber?,
|
|
||||||
columnNumber?
|
|
||||||
) => void;
|
|
||||||
Prefs: {
|
|
||||||
get: (pref: string, global: boolean = false) => boolean | string | number;
|
|
||||||
set: (
|
|
||||||
pref: string,
|
|
||||||
value: boolean | string | number,
|
|
||||||
global: boolean = false
|
|
||||||
) => any;
|
|
||||||
};
|
|
||||||
Notifier: {
|
|
||||||
registerObserver: (
|
|
||||||
ref: { notify: Function },
|
|
||||||
types?: string[],
|
|
||||||
id?: string,
|
|
||||||
priority?: null
|
|
||||||
) => string;
|
|
||||||
unregisterObserver: (id: String) => void;
|
|
||||||
};
|
|
||||||
DataObject: _ZoteroDataObjectConstructable;
|
|
||||||
Item: _ZoteroItemConstructable;
|
|
||||||
Items: _ZoteroItems;
|
|
||||||
Collection: _ZoteroCollectionConstructable;
|
|
||||||
Collections: _ZoteroCollection;
|
|
||||||
Library: _ZoteroLibraryConstructable;
|
|
||||||
Libraries: _ZoteroLibraries;
|
|
||||||
Reader: _ZoteroReader;
|
|
||||||
EditorInstance: _ZoteroEditorInstanceConstructable;
|
|
||||||
EditorInstanceUtilities: _ZoteroEditorInstanceUtilities;
|
|
||||||
Notes: _ZoteroNotes;
|
|
||||||
AddonTemplate: import("../src/addon");
|
|
||||||
};
|
|
||||||
|
|
||||||
declare const ZoteroPane_Local: {
|
|
||||||
getSelectedCollection: () => _ZoteroCollection;
|
|
||||||
newNote: (popup?, parentKey?, text?, citeURI?) => Promise<number>;
|
|
||||||
};
|
|
||||||
|
|
||||||
declare const Zotero_File_Interface: {
|
|
||||||
exportItemsToClipboard: (items: _ZoteroItem[], translatorID: string) => void;
|
|
||||||
};
|
|
||||||
|
|
||||||
declare class Zotero_File_Exporter {
|
|
||||||
items: _ZoteroItem[];
|
|
||||||
save = async () => {};
|
|
||||||
}
|
|
||||||
|
|
||||||
declare const Components: any;
|
|
||||||
declare const Services: any;
|
|
||||||
|
|
||||||
declare const ZoteroContextPane: {
|
|
||||||
[attr: string]: any;
|
|
||||||
getActiveEditor: () => _ZoteroEditorInstance;
|
|
||||||
};
|
|
121
typing/note.d.ts
vendored
121
typing/note.d.ts
vendored
@ -1,121 +0,0 @@
|
|||||||
// chrome/content/zotero/xpcom/editorInstance.js
|
|
||||||
|
|
||||||
declare interface _ZoteroEditorInstance {
|
|
||||||
[attr: string]: any;
|
|
||||||
init: (options: {
|
|
||||||
onNavigate?: Function;
|
|
||||||
item?: _ZoteroItem;
|
|
||||||
reloaded?: boolean;
|
|
||||||
viewMode?: string;
|
|
||||||
readOnly?: boolean;
|
|
||||||
disableUI?: boolean;
|
|
||||||
onReturn?: Function;
|
|
||||||
iframeWindow?: XUL.Element;
|
|
||||||
popup?: any;
|
|
||||||
state?: any;
|
|
||||||
placeholder?: any;
|
|
||||||
}) => Promise<void>;
|
|
||||||
uninit: () => Promise<void>;
|
|
||||||
focus: () => void;
|
|
||||||
notify: (event, type, ids, extraData) => Promise<void>;
|
|
||||||
saveSync: () => void;
|
|
||||||
insertAnnotations: (annotations: any) => Promise<void>;
|
|
||||||
_postMessage: (message: any) => void;
|
|
||||||
_isReadOnly: () => boolean;
|
|
||||||
_getFont: () => { fontSize: number; fontFamily: string };
|
|
||||||
_handleFontChange: () => void;
|
|
||||||
_handleStyleChange: () => void;
|
|
||||||
_handleSpellCheckChange: () => void;
|
|
||||||
_showInLibrary: (ids: number | number[]) => void;
|
|
||||||
importImages: (annotations: any) => Promise<void>;
|
|
||||||
_digestItems: (ids: number[]) => string | null;
|
|
||||||
_messageHandler: (e: MessageEvent) => Promise<void>;
|
|
||||||
_updateCitationItems: (citationItemsList: object[]) => Promise<void>;
|
|
||||||
_feedSubscription: (subscription: object) => Promise<void>;
|
|
||||||
_importImage: (src: string, download: boolean) => Promise<string>;
|
|
||||||
_openPopup: (
|
|
||||||
x: number,
|
|
||||||
y: number,
|
|
||||||
pos: any,
|
|
||||||
itemGroups: any
|
|
||||||
) => Promise<void>;
|
|
||||||
_updateCitationItems: (citationItemsList: object[]) => Promise<void>;
|
|
||||||
_getSpellChecker: () => any;
|
|
||||||
_ensureNoteCreated: () => Promise<void>;
|
|
||||||
_save: (noteData: object, skipDateModifiedUpdate: boolean) => Promise<void>;
|
|
||||||
_arrayBufferToBase64: (buffer: Buffer) => string;
|
|
||||||
_dataURLtoBlob: (dataurl: string) => Blob | null;
|
|
||||||
_getDataURL: (item: _ZoteroItem) => Promise<string>;
|
|
||||||
_openQuickFormatDialog: (
|
|
||||||
nodeID: number,
|
|
||||||
citationData: any,
|
|
||||||
filterLibraryIDs: any,
|
|
||||||
openedEmpty: any
|
|
||||||
) => Promise<void>;
|
|
||||||
getItemFromURIs: (uris: string[]) => Promise<_ZoteroItem>;
|
|
||||||
createNoteFromAnnotations: (
|
|
||||||
annotations: _ZoteroItem[],
|
|
||||||
parentID: number
|
|
||||||
) => Promise<_ZoteroItem>;
|
|
||||||
_iframeWindow: XULWindow;
|
|
||||||
_item: _ZoteroItem;
|
|
||||||
_initPromise: Promise;
|
|
||||||
_viewMode: string;
|
|
||||||
_reloaded: boolean;
|
|
||||||
_readOnly: boolean;
|
|
||||||
_filesReadOnly: boolean;
|
|
||||||
_disableUI: boolean;
|
|
||||||
_onReturn: Function;
|
|
||||||
_popup: any;
|
|
||||||
_state: any;
|
|
||||||
_disableSaving: boolean;
|
|
||||||
_subscriptions: [];
|
|
||||||
_quickFormatWindow: any;
|
|
||||||
_citationItemsList: any;
|
|
||||||
_prefObserverIDs: any[];
|
|
||||||
}
|
|
||||||
|
|
||||||
declare interface _ZoteroEditorInstanceConstructable {
|
|
||||||
new (): _ZoteroEditorInstance;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare class _ZoteroEditorInstanceUtilities {
|
|
||||||
serializeAnnotations: (
|
|
||||||
annotations: object[],
|
|
||||||
skipEmbeddingItemData: boolean
|
|
||||||
) => { html: string; citationItems: _ZoteroItem[] };
|
|
||||||
_transformTextToHTML: (text: string) => string;
|
|
||||||
_formatCitationItemPreview: (citationItem: _ZoteroItem) => string;
|
|
||||||
formatCitation: (citation: object) => string;
|
|
||||||
}
|
|
||||||
|
|
||||||
// chrome/content/zotero/xpcom/data/notes.js
|
|
||||||
|
|
||||||
declare class _ZoteroNotes {
|
|
||||||
[attr: string]: any;
|
|
||||||
AUTO_SYNC_DELAY: number = 15;
|
|
||||||
MAX_TITLE_LENGTH: number = 120;
|
|
||||||
defaultNote: string;
|
|
||||||
notePrefix: string;
|
|
||||||
noteSuffix: string;
|
|
||||||
_editorInstances: _ZoteroEditorInstance[];
|
|
||||||
_downloadInProgressPromise: Promise;
|
|
||||||
registerEditorInstance: (instance: _ZoteroEditorInstance) => void;
|
|
||||||
unregisterEditorInstance: (instance: _ZoteroEditorInstance) => Promise<void>;
|
|
||||||
updateUser: (fromUserID: number, toUserID: number) => Promise<void>;
|
|
||||||
replaceAllItemKeys: (
|
|
||||||
item: _ZoteroItem,
|
|
||||||
itemKeyMap: Map<string, string>
|
|
||||||
) => void;
|
|
||||||
replaceItemKey: (
|
|
||||||
item: _ZoteroItem,
|
|
||||||
fromItemKey: string,
|
|
||||||
toItemKey: string
|
|
||||||
) => void;
|
|
||||||
getExportableNote: (item: _ZoteroItem) => Promise<string>;
|
|
||||||
ensureEmbeddedImagesAreAvailable: (item: _ZoteroItem) => Promise<boolean>;
|
|
||||||
copyEmbeddedImages: (fromItemKey: string, toItemKey: string) => Promise<void>;
|
|
||||||
promptToIgnoreMissingImage: () => boolean;
|
|
||||||
deleteUnusedEmbeddedImages: (item: _ZoteroItem) => Promise<void>;
|
|
||||||
hasSchemaVersion: (note: _ZoteroItem) => boolean;
|
|
||||||
}
|
|
16
typing/pane.d.ts
vendored
16
typing/pane.d.ts
vendored
@ -1,16 +0,0 @@
|
|||||||
// chrome/content/zotero/zoteroPane.js
|
|
||||||
|
|
||||||
declare const ZoteroPane: {
|
|
||||||
[attr: string]: any;
|
|
||||||
collectionsView: any;
|
|
||||||
itemsView: {
|
|
||||||
onSelect: {
|
|
||||||
addListener: (Function) => any;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
progressWindow: any;
|
|
||||||
canEdit: () => boolean;
|
|
||||||
displayCannotEditLibraryMessage: () => void;
|
|
||||||
getSelectedCollection: (arg: boolean) => _ZoteroCollection;
|
|
||||||
getSelectedItems: () => Array<_ZoteroItem>;
|
|
||||||
};
|
|
154
typing/reader.d.ts
vendored
154
typing/reader.d.ts
vendored
@ -1,154 +0,0 @@
|
|||||||
// chrome/content/zotero/xpcom/reader.js
|
|
||||||
|
|
||||||
declare interface _ZoteroReaderState {
|
|
||||||
pageIndex: number;
|
|
||||||
scale: string;
|
|
||||||
rotation: number;
|
|
||||||
top: number;
|
|
||||||
left: number;
|
|
||||||
sidebarView: number;
|
|
||||||
sidebarWidth: number;
|
|
||||||
scrollMode: number;
|
|
||||||
spreadMode: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare interface _ZoteroReaderLocation {
|
|
||||||
annotationKey: String;
|
|
||||||
pageIndex: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare class _ZoteroReaderInstance {
|
|
||||||
[attr: string]: any;
|
|
||||||
constructor();
|
|
||||||
pdfStateFileName: string = ".zotero-pdf-state";
|
|
||||||
annotationItemIDs: number[];
|
|
||||||
itemID: number;
|
|
||||||
state: _ZoteroReaderState;
|
|
||||||
_instanceID: string;
|
|
||||||
_window: Window;
|
|
||||||
_iframeWindow: Window;
|
|
||||||
_title: string;
|
|
||||||
_isReaderInitialized: boolean;
|
|
||||||
_showItemPaneToggle: boolean;
|
|
||||||
_initPromise: Promise;
|
|
||||||
focus: () => void;
|
|
||||||
open: (options: {
|
|
||||||
itemID: number;
|
|
||||||
state: _ZoteroReaderState;
|
|
||||||
location: _ZoteroReaderLocation;
|
|
||||||
}) => Promise<boolean>;
|
|
||||||
updateTitle: () => void;
|
|
||||||
setAnnotations: (items: _ZoteroItem[]) => void;
|
|
||||||
unsetAnnotations(keys: number[] | string[]);
|
|
||||||
navigate: (location: _ZoteroReaderLocation) => Promise<void>;
|
|
||||||
enableAddToNote: (enable: boolean) => void;
|
|
||||||
setSidebarWidth: (width: number) => void;
|
|
||||||
setSidebarOpen: (open: boolean) => void;
|
|
||||||
focusLastToolbarButton: () => void;
|
|
||||||
tabToolbar: (reverse: any) => void;
|
|
||||||
focusFirst: () => void;
|
|
||||||
setBottomPlaceholderHeight: (height: number) => Promise<void>;
|
|
||||||
setToolbarPlaceholderWidth: (height: number) => Promise<void>;
|
|
||||||
isHandToolActive: () => boolean;
|
|
||||||
isZoomAutoActive: () => boolean;
|
|
||||||
isZoomPageWidthActive: () => boolean;
|
|
||||||
isZoomPageHeightActive: () => boolean;
|
|
||||||
allowNavigateFirstPage: () => boolean;
|
|
||||||
allowNavigateLastPage: () => boolean;
|
|
||||||
allowNavigateBack: () => boolean;
|
|
||||||
allowNavigateForward: () => boolean;
|
|
||||||
promptToTransferAnnotations: () => boolean;
|
|
||||||
promptToDeletePages: (num: number) => boolean;
|
|
||||||
reload: () => void;
|
|
||||||
menuCmd: (
|
|
||||||
cmd: "transferFromPDF" | "export" | "showInLibrary"
|
|
||||||
) => Promise<void>;
|
|
||||||
_initIframeWindow: () => boolean;
|
|
||||||
_setState: (state: _ZoteroReaderState) => Promise<void>;
|
|
||||||
_getState: () => Promise<_ZoteroReaderState>;
|
|
||||||
_isReadOnly: () => boolean;
|
|
||||||
_dataURLtoBlob: (dataurl: string) => Blob;
|
|
||||||
_getColorIcon: (color: string, selected: boolean) => string;
|
|
||||||
_openTagsPopup: (item: _ZoteroItem, selector: string) => void;
|
|
||||||
_openPagePopup: (data: any) => void;
|
|
||||||
_openAnnotationPopup: (data: any) => void;
|
|
||||||
_openColorPopup: (data: any) => void;
|
|
||||||
_openThumbnailPopup: (data: any) => void;
|
|
||||||
_openSelectorPopup: (data: any) => void;
|
|
||||||
_postMessage: (message: object, transfer?: any) => Promise<void>;
|
|
||||||
_handleMessage: (event: MessageEvent) => Promise<void>;
|
|
||||||
_waitForReader: () => Promise<void>;
|
|
||||||
_getAnnotation: (item: _ZoteroItem) => JSON | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare class _ZoteroReaderTab extends _ZoteroReaderInstance {
|
|
||||||
constructor(options: {
|
|
||||||
itemID: number;
|
|
||||||
title: startCloseTimer;
|
|
||||||
sidebarWidth: number;
|
|
||||||
sidebarOpen: boolean;
|
|
||||||
bottomPlaceholderHeight: number;
|
|
||||||
index: number;
|
|
||||||
tabID: string;
|
|
||||||
background: boolean;
|
|
||||||
});
|
|
||||||
close: () => void;
|
|
||||||
_toggleNoteSidebar: (isToggled?: boolean) => void;
|
|
||||||
_setTitleValue: (title: string) => void;
|
|
||||||
_addToNote: (annotations: any) => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare class _ZoteroReaderWindow extends _ZoteroReaderInstance {
|
|
||||||
constructor(options: {
|
|
||||||
sidebarWidth: number;
|
|
||||||
sidebarOpen: boolean;
|
|
||||||
bottomPlaceholderHeigh: number;
|
|
||||||
});
|
|
||||||
init: () => void;
|
|
||||||
close: () => void;
|
|
||||||
_setTitleValue: (title: string) => void;
|
|
||||||
_handleKeyPress: (event: KeyboardEvent) => void;
|
|
||||||
_onViewMenuOpen: () => void;
|
|
||||||
_onGoMenuOpen: () => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare class _ZoteroReader {
|
|
||||||
[attr: string]: any;
|
|
||||||
constructor();
|
|
||||||
_readers: Array<_ZoteroReaderInstance>;
|
|
||||||
_sidebarWidth: number;
|
|
||||||
_sidebarOpen: boolean;
|
|
||||||
_bottomPlaceholderHeight: number;
|
|
||||||
_notifierID: string;
|
|
||||||
onChangeSidebarWidth: (width: number) => void;
|
|
||||||
onChangeSidebarOpen: (open: boolean) => void;
|
|
||||||
getSidebarWidth: () => number;
|
|
||||||
init: () => Promise<void>;
|
|
||||||
_loadSidebarState: () => void;
|
|
||||||
_setSidebarState: () => void;
|
|
||||||
getSidebarOpen: () => boolean;
|
|
||||||
setSidebarWidth: (width: number) => void;
|
|
||||||
setSidebarOpen: (open: boolean) => void;
|
|
||||||
setBottomPlaceholderHeight: (height: number) => void;
|
|
||||||
notify: (event, type, ids, extraData) => void;
|
|
||||||
getByTabID: (tabID: string) => _ZoteroReaderInstance;
|
|
||||||
getWindowStates: () => { type: "reader"; itemID: number; title: string }[];
|
|
||||||
openURI: (
|
|
||||||
itemURI: string,
|
|
||||||
location: _ZoteroReaderLocation,
|
|
||||||
options: any
|
|
||||||
) => Promise<void>;
|
|
||||||
open: (
|
|
||||||
itemID: number,
|
|
||||||
location: _ZoteroReaderLocation,
|
|
||||||
options: {
|
|
||||||
title: string;
|
|
||||||
tabIndex: number;
|
|
||||||
tabID: string;
|
|
||||||
openInBackground: boolean;
|
|
||||||
openInWindow: boolean;
|
|
||||||
allowDuplicate: boolean;
|
|
||||||
} = {}
|
|
||||||
) => Promise<void>;
|
|
||||||
triggerAnnotationsImportCheck: (itemID: number) => Promise<void>;
|
|
||||||
}
|
|
51
typing/tabs.d.ts
vendored
51
typing/tabs.d.ts
vendored
@ -1,51 +0,0 @@
|
|||||||
// chrome/content/zotero/tabs.js
|
|
||||||
|
|
||||||
declare interface TabInstance {
|
|
||||||
id: string;
|
|
||||||
type: string;
|
|
||||||
title: string;
|
|
||||||
data?: any;
|
|
||||||
selected?: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare const Zotero_Tabs: {
|
|
||||||
selectedID: string;
|
|
||||||
selectedType: string;
|
|
||||||
selectedIndex: number;
|
|
||||||
deck: Element;
|
|
||||||
_tabs: TabInstance[];
|
|
||||||
|
|
||||||
_getTab: (tabId: string) => { tab: TabInstance; tabIndex: number };
|
|
||||||
_update: () => void;
|
|
||||||
getTabIDByItemID: (itemID: number) => string;
|
|
||||||
init: () => void;
|
|
||||||
getState: () => TabInstance[];
|
|
||||||
restoreState: (tabs: TabInstance[]) => void;
|
|
||||||
add: (options: {
|
|
||||||
id: string;
|
|
||||||
type: string;
|
|
||||||
data: any;
|
|
||||||
title: string;
|
|
||||||
index: number;
|
|
||||||
select: boolean;
|
|
||||||
onClose: Function;
|
|
||||||
}) => { id: string; container: XUL.Element };
|
|
||||||
rename: (id: string, title: string) => void;
|
|
||||||
updateLibraryTabIcon: () => void;
|
|
||||||
close: (ids: string | string[]) => void;
|
|
||||||
closeAll: () => void;
|
|
||||||
undoClose: () => void;
|
|
||||||
move: (id: string, newIndex: number) => void;
|
|
||||||
select: (id: string, reopening: boolean, options?: any) => void;
|
|
||||||
unload: (id: string) => void;
|
|
||||||
unloadUnusedTabs: () => void;
|
|
||||||
selectPrev: () => void;
|
|
||||||
selectPrev: () => void;
|
|
||||||
selectNext: () => void;
|
|
||||||
selectLast: () => void;
|
|
||||||
jump: (index: number) => void;
|
|
||||||
_openMenu: (x: number, y: number, id: string) => void;
|
|
||||||
_updateTabBar: () => void;
|
|
||||||
_showTabBar: () => void;
|
|
||||||
_hideTabBar: () => void;
|
|
||||||
};
|
|
72
typing/xul.d.ts
vendored
72
typing/xul.d.ts
vendored
@ -1,72 +0,0 @@
|
|||||||
declare namespace XUL {
|
|
||||||
class Element extends HTMLElement {
|
|
||||||
public tagName?: string;
|
|
||||||
public hidden?: boolean;
|
|
||||||
public disabled?: boolean;
|
|
||||||
public value?: string;
|
|
||||||
public width?: number;
|
|
||||||
public height?: number;
|
|
||||||
public getAttribute?(name: string): string;
|
|
||||||
public setAttribute?(name: string, value: any): void;
|
|
||||||
}
|
|
||||||
|
|
||||||
class Label extends Element {
|
|
||||||
public value: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
class Textbox extends XUL.Element {
|
|
||||||
public value?: string;
|
|
||||||
public readonly?: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
class Checkbox extends XUL.Element {
|
|
||||||
public checked?: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
class Menuitem extends XUL.Element {
|
|
||||||
public value: string;
|
|
||||||
public label: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
class ProgressMeter extends XUL.Element {
|
|
||||||
public value: string | number;
|
|
||||||
}
|
|
||||||
|
|
||||||
class Menupopup extends XUL.Element {}
|
|
||||||
|
|
||||||
class Menulist extends XUL.Element {
|
|
||||||
public firstChild?: Menupopup | ChildNode;
|
|
||||||
public selectedItem?: Menuitem;
|
|
||||||
public value?: string;
|
|
||||||
public itemCount?: number;
|
|
||||||
public selectedIndex?: number;
|
|
||||||
public getItemAtIndex?: (i: number) => XUL.Menuitem;
|
|
||||||
}
|
|
||||||
|
|
||||||
class ItemElement extends XUL.Element {
|
|
||||||
public item?: _ZoteroItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
class Box extends XUL.Element {
|
|
||||||
public maxHeight?: number;
|
|
||||||
public minHeight?: number;
|
|
||||||
public maxWidth?: number;
|
|
||||||
public minWidth?: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
class Button extends XUL.Element {
|
|
||||||
public checked?: boolean;
|
|
||||||
public type?: string;
|
|
||||||
public tooltiptext?: string;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
declare class ClassList {
|
|
||||||
public add(classname: string): void;
|
|
||||||
public remove(classname: string): void;
|
|
||||||
public contains(classname: string): boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
declare class XULEvent extends Event {
|
|
||||||
public target: XUL.Element;
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user