-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathbootstrap.ts
65 lines (55 loc) · 1.56 KB
/
bootstrap.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
declare const Zotero: any
declare const Services: any
declare const ChromeUtils: any
declare const Components: any
declare const dump: (msg: string) => void
const {
interfaces: Ci,
results: Cr,
utils: Cu,
Constructor: CC,
} = Components
var stylesheetID = 'zotero-alt-open-pdf-stylesheet'
var ftlID = 'zotero-alt-open-pdf-ftl'
var menuitemID = 'make-it-green-instead'
var addedElementIDs = [stylesheetID, ftlID, menuitemID]
function log(msg) {
Zotero.debug(`AltOpen PDF: (bootstrap) ${msg}`)
}
export async function install(): Promise<void> {
}
export async function startup({ id, version, resourceURI, rootURI = resourceURI.spec }): Promise<void> {
log('Starting')
// Add DOM elements to the main Zotero pane
try {
log('loading lib')
var win = Zotero.getMainWindow()
Services.scriptloader.loadSubScript(`${rootURI}lib.js`, { Zotero })
log(`AltOpen PDF: lib loaded: ${Object.keys(Zotero.AltOpenPDF)}`) // eslint-disable-line @typescript-eslint/no-unsafe-argument
Zotero.AltOpenPDF.startup()
log('AltOpen PDF: started')
}
catch (err) {
log(`AltOpen PDF: startup error: ${err}`)
}
}
export function onMainWindowLoad({ window }) {
Zotero.AltOpenPDF.onMainWindowLoad({ window })
}
export function onMainWindowUnload({ window }) {
Zotero.AltOpenPDF.onMainWindowUnload({ window })
}
export function shutdown() {
log('Shutting down')
if (Zotero.AltOpenPDF) {
try {
Zotero.AltOpenPDF.shutdown()
}
catch (err) {
log(`shutdown error: ${err}`)
}
delete Zotero.AltOpenPDF
}
}
export function uninstall() {
}