From cef9153bc5a1e71e98915e5e831c24fe34dd5e4b Mon Sep 17 00:00:00 2001 From: xiangyu <3170102889@zju.edu.cn> Date: Mon, 29 Aug 2022 19:12:04 +0800 Subject: [PATCH] update: use zotero-types --- package.json | 3 +- src/events.ts | 1 + src/index.ts | 1 + src/views.ts | 1 + typing/data.d.ts | 275 --------------------------------------------- typing/global.d.ts | 147 ------------------------ typing/note.d.ts | 121 -------------------- typing/pane.d.ts | 16 --- typing/reader.d.ts | 154 ------------------------- typing/tabs.d.ts | 51 --------- typing/xul.d.ts | 72 ------------ 11 files changed, 5 insertions(+), 837 deletions(-) delete mode 100644 typing/data.d.ts delete mode 100644 typing/global.d.ts delete mode 100644 typing/note.d.ts delete mode 100644 typing/pane.d.ts delete mode 100644 typing/reader.d.ts delete mode 100644 typing/tabs.d.ts delete mode 100644 typing/xul.d.ts diff --git a/package.json b/package.json index 6af7793..32eb326 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "replace-in-file": "^6.3.2" }, "devDependencies": { - "release-it": "^14.14.0" + "release-it": "^14.14.0", + "zotero-types": "^0.0.1" } } diff --git a/src/events.ts b/src/events.ts index f64721d..8280c22 100644 --- a/src/events.ts +++ b/src/events.ts @@ -1,3 +1,4 @@ +import { Zotero } from "zotero-types"; import { Addon, addonName } from "./addon"; import AddonModule from "./module"; diff --git a/src/index.ts b/src/index.ts index c631564..e9466dd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,4 @@ +import { Zotero } from "zotero-types"; import { Addon } from "./addon"; Zotero.AddonTemplate = new Addon(); diff --git a/src/views.ts b/src/views.ts index 0c9928c..d853c4d 100644 --- a/src/views.ts +++ b/src/views.ts @@ -1,3 +1,4 @@ +import { XUL, Zotero } from "zotero-types"; import { Addon } from "./addon"; import AddonModule from "./module"; const { addonRef } = require("../package.json"); diff --git a/typing/data.d.ts b/typing/data.d.ts deleted file mode 100644 index aa54d4c..0000000 --- a/typing/data.d.ts +++ /dev/null @@ -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; - saveTx: (options?: any) => Promise; - eraseTx: (options?: any) => Promise; - erase: (options?: any) => Promise; - _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; - // 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>; - getAPIData: (libraryID, apiPath) => string; // item data in web API format - apiDataGenerator: (params: object) => Promise; - copyChildItems: (fromItem: _ZoteroItem, toItem: _ZoteroItem) => Promise; - moveChildItems: ( - fromItem: _ZoteroItem, - toItem: _ZoteroItem, - includeTrashed: boolean = false - ) => Promise; - merge: (item: _ZoteroItem, otherItems: _ZoteroItem[]) => Promise; - trash: (ids: number[]) => Promise; - trashTx: (ids: number[]) => Promise; - emptyTrash: (libraryID: number, options: object = {}) => Promise; // return deleted items count - addToPublications: ( - items: _ZoteroItem[], - options: object = {} - ) => Promise; - removeFromPublications: (items: _ZoteroItem[]) => Promise; - purge: () => Promise; // 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; // do not require save - addItems: (itemIDs: number[], options: object = {}) => Promise; // do not require save - removeItem: (itemID: number, options: object = {}) => Promise; - removeItems: (itemIDs: number[], options: object = {}) => Promise; - hasItem: (item: number | _ZoteroItem) => boolean; - hasDescendent: (type: string, id: number) => boolean; - diff: (collection: _ZoteroCollection, includeMatches: boolean) => Array; - 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; -} - -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; - getDataLoaded: (objectType: string) => boolean; - setDataLoading: (objectType: string) => void; - getDataLoadedPromise: (objectType: string) => Promise; - setDataLoaded: (objectType: string) => void; - waitForDataLoad: (objectType: string) => Promise; - isChildObjectAllowed: (type: string) => boolean; - updateLastSyncTime: () => void; - save: (options?: any) => Promise; - saveTx: (options?: any) => Promise; - eraseTx: (options?: any) => Promise; - erase: (options?: any) => Promise; - hasCollections: () => boolean; - updateCollections: () => Promise; - hasSearches: () => boolean; - updateSearches: () => Promise; - hasItems: () => Promise; - 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; -} diff --git a/typing/global.d.ts b/typing/global.d.ts deleted file mode 100644 index c0ad1f7..0000000 --- a/typing/global.d.ts +++ /dev/null @@ -1,147 +0,0 @@ -declare interface DirectoryIterator { - forEach(handler: any): Promise; - 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; - read: ( - path: string | BufferSource, - options?: { encoding?: string } - ) => - | string - | Promise - | Uint8Array - | Promise - | Promise; - move: (from: string, to: string) => void | Promise; - remove: ( - path: string, - options?: { ignoreAbsent: boolean } - ) => Promise; - writeAtomic: ( - path: string, - data: Uint8Array | string, - options?: { tmpPath?: string; encoding?: string } - ) => void | Promise; - makeDir: ( - path: string, - options?: { ignoreExisting?: boolean } - ) => void | Promise; - stat: (path: string) => OS.File.FileInfo | Promise; - 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; -}; - -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; -}; diff --git a/typing/note.d.ts b/typing/note.d.ts deleted file mode 100644 index f096d44..0000000 --- a/typing/note.d.ts +++ /dev/null @@ -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; - uninit: () => Promise; - focus: () => void; - notify: (event, type, ids, extraData) => Promise; - saveSync: () => void; - insertAnnotations: (annotations: any) => Promise; - _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; - _digestItems: (ids: number[]) => string | null; - _messageHandler: (e: MessageEvent) => Promise; - _updateCitationItems: (citationItemsList: object[]) => Promise; - _feedSubscription: (subscription: object) => Promise; - _importImage: (src: string, download: boolean) => Promise; - _openPopup: ( - x: number, - y: number, - pos: any, - itemGroups: any - ) => Promise; - _updateCitationItems: (citationItemsList: object[]) => Promise; - _getSpellChecker: () => any; - _ensureNoteCreated: () => Promise; - _save: (noteData: object, skipDateModifiedUpdate: boolean) => Promise; - _arrayBufferToBase64: (buffer: Buffer) => string; - _dataURLtoBlob: (dataurl: string) => Blob | null; - _getDataURL: (item: _ZoteroItem) => Promise; - _openQuickFormatDialog: ( - nodeID: number, - citationData: any, - filterLibraryIDs: any, - openedEmpty: any - ) => Promise; - 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; - updateUser: (fromUserID: number, toUserID: number) => Promise; - replaceAllItemKeys: ( - item: _ZoteroItem, - itemKeyMap: Map - ) => void; - replaceItemKey: ( - item: _ZoteroItem, - fromItemKey: string, - toItemKey: string - ) => void; - getExportableNote: (item: _ZoteroItem) => Promise; - ensureEmbeddedImagesAreAvailable: (item: _ZoteroItem) => Promise; - copyEmbeddedImages: (fromItemKey: string, toItemKey: string) => Promise; - promptToIgnoreMissingImage: () => boolean; - deleteUnusedEmbeddedImages: (item: _ZoteroItem) => Promise; - hasSchemaVersion: (note: _ZoteroItem) => boolean; -} diff --git a/typing/pane.d.ts b/typing/pane.d.ts deleted file mode 100644 index 474eb93..0000000 --- a/typing/pane.d.ts +++ /dev/null @@ -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>; -}; diff --git a/typing/reader.d.ts b/typing/reader.d.ts deleted file mode 100644 index 423d093..0000000 --- a/typing/reader.d.ts +++ /dev/null @@ -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; - updateTitle: () => void; - setAnnotations: (items: _ZoteroItem[]) => void; - unsetAnnotations(keys: number[] | string[]); - navigate: (location: _ZoteroReaderLocation) => Promise; - enableAddToNote: (enable: boolean) => void; - setSidebarWidth: (width: number) => void; - setSidebarOpen: (open: boolean) => void; - focusLastToolbarButton: () => void; - tabToolbar: (reverse: any) => void; - focusFirst: () => void; - setBottomPlaceholderHeight: (height: number) => Promise; - setToolbarPlaceholderWidth: (height: number) => Promise; - 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; - _initIframeWindow: () => boolean; - _setState: (state: _ZoteroReaderState) => Promise; - _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; - _handleMessage: (event: MessageEvent) => Promise; - _waitForReader: () => Promise; - _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; - _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; - open: ( - itemID: number, - location: _ZoteroReaderLocation, - options: { - title: string; - tabIndex: number; - tabID: string; - openInBackground: boolean; - openInWindow: boolean; - allowDuplicate: boolean; - } = {} - ) => Promise; - triggerAnnotationsImportCheck: (itemID: number) => Promise; -} diff --git a/typing/tabs.d.ts b/typing/tabs.d.ts deleted file mode 100644 index d70d4c7..0000000 --- a/typing/tabs.d.ts +++ /dev/null @@ -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; -}; diff --git a/typing/xul.d.ts b/typing/xul.d.ts deleted file mode 100644 index d4f4065..0000000 --- a/typing/xul.d.ts +++ /dev/null @@ -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; -}