@iebh/tera-fy 1.14.2 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/api.md +446 -398
- package/dist/plugin.vue2.es2019.js +1 -1
- package/dist/terafy.es2019.js +2 -2
- package/dist/terafy.js +2 -2
- package/lib/terafy.client.js +53 -12
- package/lib/terafy.server.js +30 -2
- package/package.json +1 -1
- package/plugins/vue2.js +30 -15
- package/plugins/vue3.js +26 -14
package/api.md
CHANGED
|
@@ -50,105 +50,111 @@
|
|
|
50
50
|
* [acceptPostboxes][46]
|
|
51
51
|
* [createProjectStatePatch][47]
|
|
52
52
|
* [Parameters][48]
|
|
53
|
-
* [
|
|
53
|
+
* [applyProjectStatePatch][49]
|
|
54
54
|
* [Parameters][50]
|
|
55
|
-
* [
|
|
55
|
+
* [applyProjectStatePatchLocal][51]
|
|
56
56
|
* [Parameters][52]
|
|
57
|
-
* [
|
|
58
|
-
|
|
59
|
-
* [
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
* [
|
|
65
|
-
|
|
66
|
-
* [
|
|
57
|
+
* [init][53]
|
|
58
|
+
* [Parameters][54]
|
|
59
|
+
* [detectMode][55]
|
|
60
|
+
* [injectComms][56]
|
|
61
|
+
* [handshakeLoop][57]
|
|
62
|
+
* [Parameters][58]
|
|
63
|
+
* [Properties][59]
|
|
64
|
+
* [injectStylesheet][60]
|
|
65
|
+
* [injectMethods][61]
|
|
66
|
+
* [debug][62]
|
|
67
67
|
* [Parameters][63]
|
|
68
|
-
* [
|
|
68
|
+
* [set][64]
|
|
69
69
|
* [Parameters][65]
|
|
70
|
-
* [
|
|
70
|
+
* [setIfDev][66]
|
|
71
71
|
* [Parameters][67]
|
|
72
|
-
* [
|
|
72
|
+
* [use][68]
|
|
73
73
|
* [Parameters][69]
|
|
74
|
-
* [
|
|
74
|
+
* [mixin][70]
|
|
75
75
|
* [Parameters][71]
|
|
76
|
-
* [
|
|
76
|
+
* [toggleDevMode][72]
|
|
77
77
|
* [Parameters][73]
|
|
78
|
-
* [
|
|
78
|
+
* [toggleFocus][74]
|
|
79
79
|
* [Parameters][75]
|
|
80
|
-
* [
|
|
81
|
-
|
|
82
|
-
* [
|
|
83
|
-
|
|
84
|
-
* [
|
|
80
|
+
* [getEntropicString][76]
|
|
81
|
+
* [Parameters][77]
|
|
82
|
+
* [selectProjectFile][78]
|
|
83
|
+
* [Parameters][79]
|
|
84
|
+
* [handshake][80]
|
|
85
85
|
* [Properties][81]
|
|
86
|
-
* [
|
|
87
|
-
* [
|
|
88
|
-
|
|
89
|
-
* [
|
|
90
|
-
* [
|
|
91
|
-
* [
|
|
92
|
-
* [
|
|
93
|
-
|
|
94
|
-
* [
|
|
95
|
-
|
|
96
|
-
* [
|
|
86
|
+
* [setServerVerbosity][82]
|
|
87
|
+
* [Parameters][83]
|
|
88
|
+
* [User][84]
|
|
89
|
+
* [Properties][85]
|
|
90
|
+
* [getUser][86]
|
|
91
|
+
* [requireUser][87]
|
|
92
|
+
* [Parameters][88]
|
|
93
|
+
* [Project][89]
|
|
94
|
+
* [getProject][90]
|
|
95
|
+
* [getProjects][91]
|
|
96
|
+
* [setActiveProject][92]
|
|
97
97
|
* [Parameters][93]
|
|
98
|
-
* [
|
|
98
|
+
* [requireProject][94]
|
|
99
99
|
* [Parameters][95]
|
|
100
|
-
* [
|
|
100
|
+
* [selectProject][96]
|
|
101
101
|
* [Parameters][97]
|
|
102
|
-
* [
|
|
102
|
+
* [getProjectState][98]
|
|
103
103
|
* [Parameters][99]
|
|
104
|
-
* [
|
|
105
|
-
* [
|
|
106
|
-
* [
|
|
107
|
-
* [
|
|
108
|
-
|
|
109
|
-
* [
|
|
110
|
-
|
|
111
|
-
* [
|
|
112
|
-
* [
|
|
113
|
-
|
|
114
|
-
* [
|
|
115
|
-
|
|
116
|
-
* [
|
|
117
|
-
* [
|
|
118
|
-
* [
|
|
104
|
+
* [setProjectState][100]
|
|
105
|
+
* [Parameters][101]
|
|
106
|
+
* [setProjectStateDefaults][102]
|
|
107
|
+
* [Parameters][103]
|
|
108
|
+
* [setProjectStateFlush][104]
|
|
109
|
+
* [setProjectStateRefresh][105]
|
|
110
|
+
* [saveProjectState][106]
|
|
111
|
+
* [replaceProjectState][107]
|
|
112
|
+
* [Parameters][108]
|
|
113
|
+
* [applyProjectStatePatch][109]
|
|
114
|
+
* [Parameters][110]
|
|
115
|
+
* [subscribeProjectState][111]
|
|
116
|
+
* [FileFilters][112]
|
|
117
|
+
* [Properties][113]
|
|
118
|
+
* [selectProjectFile][114]
|
|
119
119
|
* [Parameters][115]
|
|
120
|
-
* [
|
|
120
|
+
* [getProjectFiles][116]
|
|
121
121
|
* [Parameters][117]
|
|
122
|
-
* [
|
|
122
|
+
* [getProjectFileContents][118]
|
|
123
123
|
* [Parameters][119]
|
|
124
|
-
* [
|
|
124
|
+
* [getProjectFile][120]
|
|
125
125
|
* [Parameters][121]
|
|
126
|
-
* [
|
|
126
|
+
* [createProjectFile][122]
|
|
127
127
|
* [Parameters][123]
|
|
128
|
-
* [
|
|
128
|
+
* [deleteProjectFile][124]
|
|
129
129
|
* [Parameters][125]
|
|
130
|
-
* [
|
|
130
|
+
* [setProjectFileContents][126]
|
|
131
131
|
* [Parameters][127]
|
|
132
|
-
* [
|
|
132
|
+
* [selectProjectLibrary][128]
|
|
133
133
|
* [Parameters][129]
|
|
134
|
-
* [
|
|
134
|
+
* [getProjectLibrary][130]
|
|
135
135
|
* [Parameters][131]
|
|
136
|
-
* [
|
|
136
|
+
* [setProjectLibrary][132]
|
|
137
137
|
* [Parameters][133]
|
|
138
|
-
* [
|
|
138
|
+
* [projectLog][134]
|
|
139
139
|
* [Parameters][135]
|
|
140
|
-
* [
|
|
140
|
+
* [setPage][136]
|
|
141
141
|
* [Parameters][137]
|
|
142
|
-
* [
|
|
142
|
+
* [uiAlert][138]
|
|
143
143
|
* [Parameters][139]
|
|
144
|
-
* [
|
|
144
|
+
* [uiConfirm][140]
|
|
145
145
|
* [Parameters][141]
|
|
146
|
-
* [
|
|
146
|
+
* [uiDie][142]
|
|
147
147
|
* [Parameters][143]
|
|
148
|
-
* [
|
|
148
|
+
* [uiProgress][144]
|
|
149
149
|
* [Parameters][145]
|
|
150
|
-
* [
|
|
150
|
+
* [uiPrompt][146]
|
|
151
151
|
* [Parameters][147]
|
|
152
|
+
* [uiThrow][148]
|
|
153
|
+
* [Parameters][149]
|
|
154
|
+
* [uiWindow][150]
|
|
155
|
+
* [Parameters][151]
|
|
156
|
+
* [uiSplat][152]
|
|
157
|
+
* [Parameters][153]
|
|
152
158
|
|
|
153
159
|
## ProjectFile
|
|
154
160
|
|
|
@@ -158,113 +164,113 @@ A project file fetched from TERA
|
|
|
158
164
|
|
|
159
165
|
A UUID string representing the unique ID of the file
|
|
160
166
|
|
|
161
|
-
Type: [String][
|
|
167
|
+
Type: [String][154]
|
|
162
168
|
|
|
163
169
|
### name
|
|
164
170
|
|
|
165
171
|
Relative name path (can contain prefix directories) for the human readable file name
|
|
166
172
|
|
|
167
|
-
Type: [String][
|
|
173
|
+
Type: [String][154]
|
|
168
174
|
|
|
169
175
|
### icon
|
|
170
176
|
|
|
171
177
|
CSS class to use as the file icon
|
|
172
178
|
|
|
173
|
-
Type: [String][
|
|
179
|
+
Type: [String][154]
|
|
174
180
|
|
|
175
181
|
### path
|
|
176
182
|
|
|
177
183
|
Full path to the file
|
|
178
184
|
This is also used as the unique identifier within the project
|
|
179
185
|
|
|
180
|
-
Type: [String][
|
|
186
|
+
Type: [String][154]
|
|
181
187
|
|
|
182
188
|
### url
|
|
183
189
|
|
|
184
190
|
Fully qualified URL to view / access / download the file from TERA
|
|
185
191
|
This will usually open an edit UI within the TERA site
|
|
186
192
|
|
|
187
|
-
Type: [String][
|
|
193
|
+
Type: [String][154]
|
|
188
194
|
|
|
189
195
|
### teraUrl
|
|
190
196
|
|
|
191
197
|
Rewrite of the URL where the absolute URL has been removed in place of a relative path, assuming the owner project is active
|
|
192
198
|
This is used to direct to the edit/view/download UI when the files project is active and is usually used in place of URL for TERA related operations
|
|
193
199
|
|
|
194
|
-
Type: [String][
|
|
200
|
+
Type: [String][154]
|
|
195
201
|
|
|
196
202
|
### parsedName
|
|
197
203
|
|
|
198
204
|
An object representing meta file parts of a file name
|
|
199
205
|
|
|
200
|
-
Type: [Object][
|
|
206
|
+
Type: [Object][155]
|
|
201
207
|
|
|
202
208
|
#### Properties
|
|
203
209
|
|
|
204
|
-
* `basename` **[String][
|
|
205
|
-
* `filename` **[String][
|
|
206
|
-
* `ext` **[String][
|
|
207
|
-
* `dirName` **[String][
|
|
210
|
+
* `basename` **[String][154]** The filename + extention (i.e. everything without directory name)
|
|
211
|
+
* `filename` **[String][154]** The file portion of the name (basename without the extension)
|
|
212
|
+
* `ext` **[String][154]** The extension portion of the name (always lower case)
|
|
213
|
+
* `dirName` **[String][154]** The directory path portion of the name
|
|
208
214
|
|
|
209
215
|
### created
|
|
210
216
|
|
|
211
217
|
A date representing when the file was created
|
|
212
218
|
|
|
213
|
-
Type: [Date][
|
|
219
|
+
Type: [Date][156]
|
|
214
220
|
|
|
215
221
|
### createdFormatted
|
|
216
222
|
|
|
217
223
|
A human readable, formatted version of "created"
|
|
218
224
|
|
|
219
|
-
Type: [String][
|
|
225
|
+
Type: [String][154]
|
|
220
226
|
|
|
221
227
|
### modified
|
|
222
228
|
|
|
223
229
|
A date representing when the file was created
|
|
224
230
|
|
|
225
|
-
Type: [Date][
|
|
231
|
+
Type: [Date][156]
|
|
226
232
|
|
|
227
233
|
### modifiedFormatted
|
|
228
234
|
|
|
229
235
|
A human readable, formatted version of "modified"
|
|
230
236
|
|
|
231
|
-
Type: [String][
|
|
237
|
+
Type: [String][154]
|
|
232
238
|
|
|
233
239
|
### accessed
|
|
234
240
|
|
|
235
241
|
A date representing when the file was last accessed
|
|
236
242
|
|
|
237
|
-
Type: [Date][
|
|
243
|
+
Type: [Date][156]
|
|
238
244
|
|
|
239
245
|
### accessedFormatted
|
|
240
246
|
|
|
241
247
|
A human readable, formatted version of "accessed"
|
|
242
248
|
|
|
243
|
-
Type: [String][
|
|
249
|
+
Type: [String][154]
|
|
244
250
|
|
|
245
251
|
### size
|
|
246
252
|
|
|
247
253
|
Size, in bytes, of the file
|
|
248
254
|
|
|
249
|
-
Type: [Number][
|
|
255
|
+
Type: [Number][157]
|
|
250
256
|
|
|
251
257
|
### sizeFormatted
|
|
252
258
|
|
|
253
259
|
A human readable, formatted version of the file size
|
|
254
260
|
|
|
255
|
-
Type: [String][
|
|
261
|
+
Type: [String][154]
|
|
256
262
|
|
|
257
263
|
### mime
|
|
258
264
|
|
|
259
265
|
The associated mime type for the file
|
|
260
266
|
|
|
261
|
-
Type: [String][
|
|
267
|
+
Type: [String][154]
|
|
262
268
|
|
|
263
269
|
### meta
|
|
264
270
|
|
|
265
271
|
Additional meta information for the file
|
|
266
272
|
|
|
267
|
-
Type: [Object][
|
|
273
|
+
Type: [Object][155]
|
|
268
274
|
|
|
269
275
|
### getContents
|
|
270
276
|
|
|
@@ -274,9 +280,9 @@ Fetch the raw file contents as a Blob
|
|
|
274
280
|
|
|
275
281
|
#### Parameters
|
|
276
282
|
|
|
277
|
-
* `options` **[Object][
|
|
283
|
+
* `options` **[Object][155]?** Additioanl options to mutate behaviour
|
|
278
284
|
|
|
279
|
-
Returns **[Blob][
|
|
285
|
+
Returns **[Blob][158]** The eventual raw file contents as a Blob
|
|
280
286
|
|
|
281
287
|
### setContents
|
|
282
288
|
|
|
@@ -286,9 +292,9 @@ Overwrite the contents of a file with new content
|
|
|
286
292
|
|
|
287
293
|
#### Parameters
|
|
288
294
|
|
|
289
|
-
* `contents` **(File | [Blob][
|
|
295
|
+
* `contents` **(File | [Blob][158] | [FormData][159] | [Object][155] | [Array][160])** The new file contents
|
|
290
296
|
|
|
291
|
-
Returns **[Promise][
|
|
297
|
+
Returns **[Promise][161]** A promise which resolves when the operation has completed
|
|
292
298
|
|
|
293
299
|
### getRefs
|
|
294
300
|
|
|
@@ -296,7 +302,7 @@ Returns **[Promise][155]** A promise which resolves when the operation has compl
|
|
|
296
302
|
|
|
297
303
|
Fetch the file contents as an array of Reflib refs
|
|
298
304
|
|
|
299
|
-
Returns **[Promise][
|
|
305
|
+
Returns **[Promise][161]<[Array][160]\<Ref>>** An eventual array of RefLib references
|
|
300
306
|
|
|
301
307
|
### setRefs
|
|
302
308
|
|
|
@@ -306,18 +312,18 @@ Overwrite the contents of a file with a new collection of Reflib refs
|
|
|
306
312
|
|
|
307
313
|
#### Parameters
|
|
308
314
|
|
|
309
|
-
* `refs` **[Array][
|
|
315
|
+
* `refs` **[Array][160]\<RefLibRef>** Collection of references for the selected library
|
|
310
316
|
|
|
311
|
-
Returns **[Promise][
|
|
317
|
+
Returns **[Promise][161]** A promise which resolves when the operation has completed
|
|
312
318
|
|
|
313
319
|
### serialize
|
|
314
320
|
|
|
315
|
-
* **See**: [https://developer.mozilla.org/en-US/docs/Web/API/Web\_Workers\_API/Structured\_clone\_algorithm][
|
|
321
|
+
* **See**: [https://developer.mozilla.org/en-US/docs/Web/API/Web\_Workers\_API/Structured\_clone\_algorithm][162]
|
|
316
322
|
|
|
317
323
|
Compress a file state down into a serializable entity
|
|
318
324
|
By default this computes a Structured Clone which can be stringified
|
|
319
325
|
|
|
320
|
-
Returns **[Object][
|
|
326
|
+
Returns **[Object][155]** A Structured Clone compatible representation of this ProjectFile instance
|
|
321
327
|
|
|
322
328
|
### deserialize
|
|
323
329
|
|
|
@@ -325,7 +331,7 @@ Restore an entity created with serialize
|
|
|
325
331
|
|
|
326
332
|
#### Parameters
|
|
327
333
|
|
|
328
|
-
* `data` **[Object][
|
|
334
|
+
* `data` **[Object][155]** An input object created via `ProjectFiles.serialize()`
|
|
329
335
|
|
|
330
336
|
Returns **[ProjectFile][1]** A ProjectFile instance setup against the deserializzed data
|
|
331
337
|
|
|
@@ -337,22 +343,23 @@ Main Tera-Fy Client (class singleton) to be used in a frontend browser
|
|
|
337
343
|
|
|
338
344
|
Various settings to configure behaviour
|
|
339
345
|
|
|
340
|
-
Type: [Object][
|
|
346
|
+
Type: [Object][155]
|
|
341
347
|
|
|
342
348
|
#### Properties
|
|
343
349
|
|
|
344
|
-
* `
|
|
345
|
-
* `
|
|
350
|
+
* `session` **[String][154]** Unique session signature for this instance of TeraFy, used to sign server messages, if falsy `getEntropicString(16)` is used to populate
|
|
351
|
+
* `devMode` **[Boolean][163]** Operate in Dev-Mode - i.e. force outer refresh when encountering an existing TeraFy instance
|
|
352
|
+
* `verbosity` **[Number][157]** Verbosity level, the higher the more chatty TeraFY will be. Set to zero to disable all `debug()` call output
|
|
346
353
|
* `mode` **(`"detect"` | `"parent"` | `"child"` | `"popup"`)** How to communicate with TERA. 'parent' assumes that the parent of the current document is TERA, 'child' spawns an iFrame and uses TERA there, 'detect' tries parent and switches to `modeFallback` if communication fails
|
|
347
|
-
* `modeFallback` **[String][
|
|
348
|
-
* `modeOverrides` **[Object][
|
|
349
|
-
* `modeTimeout` **[Number][
|
|
350
|
-
* `siteUrl` **[String][
|
|
351
|
-
* `restrictOrigin` **[String][
|
|
352
|
-
* `List` **[Array][
|
|
353
|
-
* `handshakeInterval` **[Number][
|
|
354
|
-
* `handshakeTimeout` **[Number][
|
|
355
|
-
* `debugPaths` **[Array][
|
|
354
|
+
* `modeFallback` **[String][154]** Method to use when all method detection fails
|
|
355
|
+
* `modeOverrides` **[Object][155]<[Object][155]<[Function][164]>>** Functions to run when switching to specific modes, these are typically used to augment config. Called as `(config:Object)`
|
|
356
|
+
* `modeTimeout` **[Number][157]** How long entities have in 'detect' mode to identify themselves
|
|
357
|
+
* `siteUrl` **[String][154]** The TERA URL to connect to
|
|
358
|
+
* `restrictOrigin` **[String][154]** URL to restrict communications to
|
|
359
|
+
* `List` **[Array][160]<[String][154]>** of sandbox allowables for the embedded if in embed mode
|
|
360
|
+
* `handshakeInterval` **[Number][157]** Interval in milliseconds when sanning for a handshake
|
|
361
|
+
* `handshakeTimeout` **[Number][157]** Interval in milliseconds for when to give up trying to handshake
|
|
362
|
+
* `debugPaths` **[Array][160]<([String][154] | [Array][160]<[String][154]>)>?** List of paths (in either dotted or array notation) to enter debugging mode if a change is detected in dev mode e.g. `{debugPaths: ['foo.bar.baz']}`. This really slows down state writes so should only be used for debugging
|
|
356
363
|
|
|
357
364
|
### events
|
|
358
365
|
|
|
@@ -364,13 +371,13 @@ Type: Mitt
|
|
|
364
371
|
|
|
365
372
|
DOMElements for this TeraFy instance
|
|
366
373
|
|
|
367
|
-
Type: [Object][
|
|
374
|
+
Type: [Object][155]
|
|
368
375
|
|
|
369
376
|
#### Properties
|
|
370
377
|
|
|
371
378
|
* `el` **DOMElement** The main tera-fy div wrapper
|
|
372
379
|
* `iframe` **DOMElement** The internal iFrame element (if `settings.mode == 'child'`)
|
|
373
|
-
* `popup` **[Window][
|
|
380
|
+
* `popup` **[Window][165]** The popup window context (if `settings.mode == 'popup'`)
|
|
374
381
|
* `stylesheet` **DOMElement** The corresponding stylesheet
|
|
375
382
|
|
|
376
383
|
### methods
|
|
@@ -378,13 +385,13 @@ Type: [Object][149]
|
|
|
378
385
|
List of function stubs mapped from the server to here
|
|
379
386
|
This array is forms the reference of `TeraFy.METHOD()` objects to provide locally which will be mapped via `TeraFy.rpc(METHOD, ...args)`
|
|
380
387
|
|
|
381
|
-
Type: [Array][
|
|
388
|
+
Type: [Array][160]<[String][154]>
|
|
382
389
|
|
|
383
390
|
### plugins
|
|
384
391
|
|
|
385
392
|
Loaded plugins via Use()
|
|
386
393
|
|
|
387
|
-
Type: [Array][
|
|
394
|
+
Type: [Array][160]\<TeraFyPlugin>
|
|
388
395
|
|
|
389
396
|
### send
|
|
390
397
|
|
|
@@ -392,9 +399,9 @@ Send a message + wait for a response object
|
|
|
392
399
|
|
|
393
400
|
#### Parameters
|
|
394
401
|
|
|
395
|
-
* `message` **[Object][
|
|
402
|
+
* `message` **[Object][155]** Message object to send
|
|
396
403
|
|
|
397
|
-
Returns **[Promise][
|
|
404
|
+
Returns **[Promise][161]\<any>** A promise which resolves when the operation has completed with the remote reply
|
|
398
405
|
|
|
399
406
|
### sendRaw
|
|
400
407
|
|
|
@@ -403,7 +410,7 @@ This function does not return or wait for a reply - use `send()` for that
|
|
|
403
410
|
|
|
404
411
|
#### Parameters
|
|
405
412
|
|
|
406
|
-
* `message` **[Object][
|
|
413
|
+
* `message` **[Object][155]** Message object to send
|
|
407
414
|
|
|
408
415
|
### rpc
|
|
409
416
|
|
|
@@ -411,10 +418,10 @@ Call an RPC function in the server instance
|
|
|
411
418
|
|
|
412
419
|
#### Parameters
|
|
413
420
|
|
|
414
|
-
* `method` **[String][
|
|
421
|
+
* `method` **[String][154]** The method name to call
|
|
415
422
|
* `args` **...any?** Optional arguments to pass to the function
|
|
416
423
|
|
|
417
|
-
Returns **[Promise][
|
|
424
|
+
Returns **[Promise][161]\<any>** The resolved output of the server function
|
|
418
425
|
|
|
419
426
|
### acceptMessage
|
|
420
427
|
|
|
@@ -422,9 +429,9 @@ Accept an incoming message
|
|
|
422
429
|
|
|
423
430
|
#### Parameters
|
|
424
431
|
|
|
425
|
-
* `rawMessage` **[MessageEvent][
|
|
432
|
+
* `rawMessage` **[MessageEvent][166]** Raw message event to process
|
|
426
433
|
|
|
427
|
-
Returns **[Promise][
|
|
434
|
+
Returns **[Promise][161]** A promise which will resolve when the message has been processed
|
|
428
435
|
|
|
429
436
|
### acceptPostboxes
|
|
430
437
|
|
|
@@ -433,27 +440,38 @@ Listening postboxes, these correspond to outgoing message IDs that expect a resp
|
|
|
433
440
|
### createProjectStatePatch
|
|
434
441
|
|
|
435
442
|
Create + transmit a new project state patch base on the current and previous states
|
|
436
|
-
The transmitted patch follows the [JSPatch][
|
|
443
|
+
The transmitted patch follows the [JSPatch][167] standard
|
|
437
444
|
This function accepts an entire projectState instance, computes the delta and transmits that to the server for merging
|
|
438
445
|
|
|
439
446
|
#### Parameters
|
|
440
447
|
|
|
441
|
-
* `newState` **[Object][
|
|
442
|
-
* `oldState` **[Object][
|
|
448
|
+
* `newState` **[Object][155]** The local projectState to accept
|
|
449
|
+
* `oldState` **[Object][155]** The previous projectState to examine against
|
|
443
450
|
|
|
444
|
-
Returns **[Promise][
|
|
451
|
+
Returns **[Promise][161]** A promise which will resolve when the operation has completed
|
|
452
|
+
|
|
453
|
+
### applyProjectStatePatch
|
|
454
|
+
|
|
455
|
+
Transmit a patch to the remote server
|
|
456
|
+
This function also enters debugging mode if any of the `settings.debugPaths` are operated on
|
|
457
|
+
|
|
458
|
+
#### Parameters
|
|
459
|
+
|
|
460
|
+
* `patch` **[Array][160]** Patch to apply
|
|
461
|
+
|
|
462
|
+
Returns **[Promise][161]** A promise which resolves when the operation has completed
|
|
445
463
|
|
|
446
464
|
### applyProjectStatePatchLocal
|
|
447
465
|
|
|
448
466
|
Client function which accepts a patch from the server and applies it to local project state
|
|
449
|
-
The patch should follow the [JSPatch][
|
|
467
|
+
The patch should follow the [JSPatch][167] standard
|
|
450
468
|
This function is expected to be sub-classed by a plugin
|
|
451
469
|
|
|
452
470
|
#### Parameters
|
|
453
471
|
|
|
454
|
-
* `patch` **[Array][
|
|
472
|
+
* `patch` **[Array][160]** A JSPatch patch to apply
|
|
455
473
|
|
|
456
|
-
Returns **[Promise][
|
|
474
|
+
Returns **[Promise][161]** A promise which will resolve when the operation has completed
|
|
457
475
|
|
|
458
476
|
### init
|
|
459
477
|
|
|
@@ -462,22 +480,22 @@ This function can only be called once and will return the existing init() worker
|
|
|
462
480
|
|
|
463
481
|
#### Parameters
|
|
464
482
|
|
|
465
|
-
* `options` **[Object][
|
|
483
|
+
* `options` **[Object][155]?** Additional options to merge into `settings` via `set`
|
|
466
484
|
|
|
467
|
-
Returns **[Promise][
|
|
485
|
+
Returns **[Promise][161]<[TeraFy][30]>** An eventual promise which will resovle with this terafy instance
|
|
468
486
|
|
|
469
487
|
### detectMode
|
|
470
488
|
|
|
471
489
|
Populate `settings.mode`
|
|
472
490
|
Try to communicate with a parent frame, if none assume we need to fallback to child mode
|
|
473
491
|
|
|
474
|
-
Returns **[Promise][
|
|
492
|
+
Returns **[Promise][161]<[String][154]>** A promise which will resolve with the detected mode to use
|
|
475
493
|
|
|
476
494
|
### injectComms
|
|
477
495
|
|
|
478
496
|
Find an existing active TERA server OR initalize one
|
|
479
497
|
|
|
480
|
-
Returns **[Promise][
|
|
498
|
+
Returns **[Promise][161]** A promise which will resolve when the loading has completed and we have found a parent TERA instance or initiallized a child
|
|
481
499
|
|
|
482
500
|
### handshakeLoop
|
|
483
501
|
|
|
@@ -485,20 +503,20 @@ Keep trying to handshake until the target responds
|
|
|
485
503
|
|
|
486
504
|
#### Parameters
|
|
487
505
|
|
|
488
|
-
* `options` **[Object][
|
|
506
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
489
507
|
|
|
490
508
|
#### Properties
|
|
491
509
|
|
|
492
|
-
* `handshakeInterval` **[Number][
|
|
493
|
-
* `handshakeTimeout` **[Number][
|
|
510
|
+
* `handshakeInterval` **[Number][157]?** Interval in milliseconds when sanning for a handshake, defaults to global setting
|
|
511
|
+
* `handshakeTimeout` **[Number][157]?** Interval in milliseconds for when to give up trying to handshake, defaults to global setting
|
|
494
512
|
|
|
495
|
-
Returns **[Promise][
|
|
513
|
+
Returns **[Promise][161]** A promise which will either resolve when the handshake is successful OR fail with 'TIMEOUT'
|
|
496
514
|
|
|
497
515
|
### injectStylesheet
|
|
498
516
|
|
|
499
517
|
Inject a local stylesheet to handle TERA server functionality
|
|
500
518
|
|
|
501
|
-
Returns **[Promise][
|
|
519
|
+
Returns **[Promise][161]** A promise which will resolve when the loading has completed and we have found a parent TERA instance or initiallized a child
|
|
502
520
|
|
|
503
521
|
### injectMethods
|
|
504
522
|
|
|
@@ -513,7 +531,7 @@ This function will only act if `settings.devMode` is truthy
|
|
|
513
531
|
|
|
514
532
|
* `msg` **...any?** Output to show
|
|
515
533
|
* `method` **(`"INFO"` | `"LOG"` | `"WARN"` | `"ERROR"`)** Logging method to use (optional, default `'LOG'`)
|
|
516
|
-
* `verboseLevel` **[Number][
|
|
534
|
+
* `verboseLevel` **[Number][157]** The verbosity level to trigger at. If `settings.verbosity` is lower than this, the message is ignored (optional, default `1`)
|
|
517
535
|
|
|
518
536
|
### set
|
|
519
537
|
|
|
@@ -522,11 +540,11 @@ This function also routes 'special' keys like `devMode` to their internal handle
|
|
|
522
540
|
|
|
523
541
|
#### Parameters
|
|
524
542
|
|
|
525
|
-
* `key` **([String][
|
|
543
|
+
* `key` **([String][154] | [Object][155])** Either a single setting key to set or an object to merge
|
|
526
544
|
* `value` **any** The value to set if `key` is a string
|
|
527
|
-
* `options` **[Object][
|
|
545
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
528
546
|
|
|
529
|
-
* `options.ignoreNullish` **[Boolean][
|
|
547
|
+
* `options.ignoreNullish` **[Boolean][163]** If falsy, this forces the setting of undefined or null values rather than ignoring them when specifying values by string (optional, default `true`)
|
|
530
548
|
|
|
531
549
|
Returns **[TeraFy][30]** This chainable terafy instance
|
|
532
550
|
|
|
@@ -538,9 +556,9 @@ Set or merge settings - but only in dev mode and only if the value is not undefi
|
|
|
538
556
|
|
|
539
557
|
#### Parameters
|
|
540
558
|
|
|
541
|
-
* `key` **([String][
|
|
559
|
+
* `key` **([String][154] | [Object][155])** Either a single setting key to set or an object to merge
|
|
542
560
|
* `value` **any** The value to set if `key` is a string
|
|
543
|
-
* `options` **[Object][
|
|
561
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
544
562
|
|
|
545
563
|
Returns **[TeraFy][30]** This chainable terafy instance
|
|
546
564
|
|
|
@@ -550,8 +568,8 @@ Include a TeraFy client plugin
|
|
|
550
568
|
|
|
551
569
|
#### Parameters
|
|
552
570
|
|
|
553
|
-
* `mod` **[Object][
|
|
554
|
-
* `options` **[Object][
|
|
571
|
+
* `mod` **[Object][155]** The module function to include. Invoked as `(teraClient:TeraFy, options:Object)`
|
|
572
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour during construction (pass options to init() to intialize later options)
|
|
555
573
|
|
|
556
574
|
Returns **[TeraFy][30]** This chainable terafy instance
|
|
557
575
|
|
|
@@ -561,8 +579,8 @@ Internal function used by use() to merge an external declared singleton against
|
|
|
561
579
|
|
|
562
580
|
#### Parameters
|
|
563
581
|
|
|
564
|
-
* `target` **[Object][
|
|
565
|
-
* `source` **[Object][
|
|
582
|
+
* `target` **[Object][155]** Initalied class instance to extend
|
|
583
|
+
* `source` **[Object][155]** Initalized source object to extend from
|
|
566
584
|
|
|
567
585
|
### toggleDevMode
|
|
568
586
|
|
|
@@ -574,7 +592,7 @@ This function also accepts meta values:
|
|
|
574
592
|
|
|
575
593
|
#### Parameters
|
|
576
594
|
|
|
577
|
-
* `devModeEnabled` **(`"toggle"` | `"proxy"` | [Boolean][
|
|
595
|
+
* `devModeEnabled` **(`"toggle"` | `"proxy"` | [Boolean][163])** Optional boolean to force dev mode or specify other behaviour (optional, default `'toggle'`)
|
|
578
596
|
|
|
579
597
|
Returns **[TeraFy][30]** This chainable terafy instance
|
|
580
598
|
|
|
@@ -585,7 +603,17 @@ This is usually because the server component wants to perform some user activity
|
|
|
585
603
|
|
|
586
604
|
#### Parameters
|
|
587
605
|
|
|
588
|
-
* `isFocused` **([String][
|
|
606
|
+
* `isFocused` **([String][154] | [Boolean][163])** Whether to fullscreen the embedded component (optional, default `'toggle'`)
|
|
607
|
+
|
|
608
|
+
### getEntropicString
|
|
609
|
+
|
|
610
|
+
Generate random entropic character string in Base64
|
|
611
|
+
|
|
612
|
+
#### Parameters
|
|
613
|
+
|
|
614
|
+
* `maxLength` **[Number][157]** Maximum lengh of the genrated string (optional, default `32`)
|
|
615
|
+
|
|
616
|
+
Returns **[String][154]** 
|
|
589
617
|
|
|
590
618
|
### selectProjectFile
|
|
591
619
|
|
|
@@ -597,7 +625,7 @@ This is an pre-requisite step for requireProject()
|
|
|
597
625
|
|
|
598
626
|
* `options`  
|
|
599
627
|
|
|
600
|
-
Returns **[Promise][
|
|
628
|
+
Returns **[Promise][161]** A promise which will resolve if the there is a user and they are logged in
|
|
601
629
|
|
|
602
630
|
## handshake
|
|
603
631
|
|
|
@@ -605,9 +633,9 @@ Return basic server information as a form of validation
|
|
|
605
633
|
|
|
606
634
|
### Properties
|
|
607
635
|
|
|
608
|
-
* `date` **[Date][
|
|
636
|
+
* `date` **[Date][156]** Server date
|
|
609
637
|
|
|
610
|
-
Returns **[Promise][
|
|
638
|
+
Returns **[Promise][161]<[Object][155]>** Basic promise result
|
|
611
639
|
|
|
612
640
|
## setServerVerbosity
|
|
613
641
|
|
|
@@ -615,7 +643,7 @@ RPC callback to set the server verbostiy level
|
|
|
615
643
|
|
|
616
644
|
### Parameters
|
|
617
645
|
|
|
618
|
-
* `verbosity` **[Number][
|
|
646
|
+
* `verbosity` **[Number][157]** The desired server verbosity level
|
|
619
647
|
|
|
620
648
|
## User
|
|
621
649
|
|
|
@@ -623,16 +651,16 @@ User / active session within TERA
|
|
|
623
651
|
|
|
624
652
|
### Properties
|
|
625
653
|
|
|
626
|
-
* `id` **[String][
|
|
627
|
-
* `email` **[String][
|
|
628
|
-
* `name` **[String][
|
|
629
|
-
* `isSubscribed` **[Boolean][
|
|
654
|
+
* `id` **[String][154]** Unique identifier of the user
|
|
655
|
+
* `email` **[String][154]** The email address of the current user
|
|
656
|
+
* `name` **[String][154]** The provided full name of the user
|
|
657
|
+
* `isSubscribed` **[Boolean][163]** Whether the active user has a TERA subscription
|
|
630
658
|
|
|
631
659
|
## getUser
|
|
632
660
|
|
|
633
661
|
Fetch the current session user
|
|
634
662
|
|
|
635
|
-
Returns **[Promise][
|
|
663
|
+
Returns **[Promise][161]<[User][84]>** The current logged in user or null if none
|
|
636
664
|
|
|
637
665
|
## requireUser
|
|
638
666
|
|
|
@@ -642,11 +670,11 @@ This is an pre-requisite step for requireProject()
|
|
|
642
670
|
|
|
643
671
|
### Parameters
|
|
644
672
|
|
|
645
|
-
* `options` **[Object][
|
|
673
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
646
674
|
|
|
647
|
-
* `options.forceRetry` **[Boolean][
|
|
675
|
+
* `options.forceRetry` **[Boolean][163]** Forcabily try to refresh the user state (optional, default `false`)
|
|
648
676
|
|
|
649
|
-
Returns **[Promise][
|
|
677
|
+
Returns **[Promise][161]<[User][84]>** The current logged in user or null if none
|
|
650
678
|
|
|
651
679
|
## Project
|
|
652
680
|
|
|
@@ -656,13 +684,13 @@ Project entry within TERA
|
|
|
656
684
|
|
|
657
685
|
Get the currently active project, if any
|
|
658
686
|
|
|
659
|
-
Returns **[Promise][
|
|
687
|
+
Returns **[Promise][161]<([Project][89] | null)>** The currently active project, if any
|
|
660
688
|
|
|
661
689
|
## getProjects
|
|
662
690
|
|
|
663
691
|
Get a list of projects the current session user has access to
|
|
664
692
|
|
|
665
|
-
Returns **[Promise][
|
|
693
|
+
Returns **[Promise][161]<[Array][160]<[Project][89]>>** Collection of projects the user has access to
|
|
666
694
|
|
|
667
695
|
## setActiveProject
|
|
668
696
|
|
|
@@ -670,7 +698,7 @@ Set the currently active project within TERA
|
|
|
670
698
|
|
|
671
699
|
### Parameters
|
|
672
700
|
|
|
673
|
-
* `project` **([Object][
|
|
701
|
+
* `project` **([Object][155] | [String][154])** The project to set as active - either the full Project object or its ID
|
|
674
702
|
|
|
675
703
|
## requireProject
|
|
676
704
|
|
|
@@ -679,14 +707,14 @@ Note that this function will percist in asking the uesr even if they try to canc
|
|
|
679
707
|
|
|
680
708
|
### Parameters
|
|
681
709
|
|
|
682
|
-
* `options` **[Object][
|
|
710
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
683
711
|
|
|
684
|
-
* `options.autoSetActiveProject` **[Boolean][
|
|
685
|
-
* `options.title` **[String][
|
|
686
|
-
* `options.noSelectTitle` **[String][
|
|
687
|
-
* `options.noSelectBody` **[String][
|
|
712
|
+
* `options.autoSetActiveProject` **[Boolean][163]** After selecting a project set that project as active in TERA (optional, default `true`)
|
|
713
|
+
* `options.title` **[String][154]** The title of the dialog to display (optional, default `"Select a project to work with"`)
|
|
714
|
+
* `options.noSelectTitle` **[String][154]** Dialog title when warning the user they need to select something (optional, default `'Select project'`)
|
|
715
|
+
* `options.noSelectBody` **[String][154]** Dialog body when warning the user they need to select something (optional, default `'A project needs to be selected to continue'`)
|
|
688
716
|
|
|
689
|
-
Returns **[Promise][
|
|
717
|
+
Returns **[Promise][161]<[Project][89]>** The active project
|
|
690
718
|
|
|
691
719
|
## selectProject
|
|
692
720
|
|
|
@@ -694,13 +722,13 @@ Prompt the user to select a project from those available
|
|
|
694
722
|
|
|
695
723
|
### Parameters
|
|
696
724
|
|
|
697
|
-
* `options` **[Object][
|
|
725
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
698
726
|
|
|
699
|
-
* `options.title` **[String][
|
|
700
|
-
* `options.allowCancel` **[Boolean][
|
|
701
|
-
* `options.setActive` **[Boolean][
|
|
727
|
+
* `options.title` **[String][154]** The title of the dialog to display (optional, default `"Select a project to work with"`)
|
|
728
|
+
* `options.allowCancel` **[Boolean][163]** Advertise cancelling the operation, the dialog can still be cancelled by closing it (optional, default `true`)
|
|
729
|
+
* `options.setActive` **[Boolean][163]** Also set the project as active when selected (optional, default `false`)
|
|
702
730
|
|
|
703
|
-
Returns **[Promise][
|
|
731
|
+
Returns **[Promise][161]<[Project][89]>** The active project
|
|
704
732
|
|
|
705
733
|
## getProjectState
|
|
706
734
|
|
|
@@ -708,12 +736,12 @@ Return the current, full snapshot state of the active project
|
|
|
708
736
|
|
|
709
737
|
### Parameters
|
|
710
738
|
|
|
711
|
-
* `options` **[Object][
|
|
739
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
712
740
|
|
|
713
|
-
* `options.autoRequire` **[Boolean][
|
|
714
|
-
* `Paths` **[Array][
|
|
741
|
+
* `options.autoRequire` **[Boolean][163]** Run `requireProject()` automatically before continuing (optional, default `true`)
|
|
742
|
+
* `Paths` **[Array][160]<[String][154]>** to subscribe to e.g. \['/users/'],
|
|
715
743
|
|
|
716
|
-
Returns **[Promise][
|
|
744
|
+
Returns **[Promise][161]<[Object][155]>** The current project state snapshot
|
|
717
745
|
|
|
718
746
|
## setProjectState
|
|
719
747
|
|
|
@@ -725,13 +753,13 @@ Paths can be any valid Lodash.set() value such as:
|
|
|
725
753
|
|
|
726
754
|
### Parameters
|
|
727
755
|
|
|
728
|
-
* `path` **([String][
|
|
756
|
+
* `path` **([String][154] | [Array][160]<[String][154]>)** The sub-path within the project state to set
|
|
729
757
|
* `value` **any** The value to set
|
|
730
|
-
* `options` **[Object][
|
|
758
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
731
759
|
|
|
732
|
-
* `options.save` **[Boolean][
|
|
760
|
+
* `options.save` **[Boolean][163]** Save the changes to the server immediately, disable to queue up multiple writes (optional, default `true`)
|
|
733
761
|
|
|
734
|
-
Returns **[Promise][
|
|
762
|
+
Returns **[Promise][161]** A promise which resolves when the operation has been dispatched to the server
|
|
735
763
|
|
|
736
764
|
## setProjectStateDefaults
|
|
737
765
|
|
|
@@ -741,31 +769,31 @@ Set a nested value within the project state - just like `setProjectState()` - bu
|
|
|
741
769
|
|
|
742
770
|
### Parameters
|
|
743
771
|
|
|
744
|
-
* `path` **([String][
|
|
772
|
+
* `path` **([String][154] | [Array][160]<[String][154]>)** The sub-path within the project state to set
|
|
745
773
|
* `value` **any** The value to set
|
|
746
|
-
* `options` **[Object][
|
|
774
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour, see setProjectState() for the full list of supported options
|
|
747
775
|
|
|
748
|
-
Returns **[Promise][
|
|
776
|
+
Returns **[Promise][161]<[Boolean][163]>** A promise which resolves to whether any changes were made - True if defaults were applied, false otherwise
|
|
749
777
|
|
|
750
778
|
## setProjectStateFlush
|
|
751
779
|
|
|
752
780
|
Force copying local changes to the server
|
|
753
781
|
This is only ever needed when saving large quantities of data that need to be immediately available
|
|
754
782
|
|
|
755
|
-
Returns **[Promise][
|
|
783
|
+
Returns **[Promise][161]** A promise which resolves when the operation has completed
|
|
756
784
|
|
|
757
785
|
## setProjectStateRefresh
|
|
758
786
|
|
|
759
787
|
Force refetching the remote project state into local
|
|
760
788
|
This is only ever needed when saving large quantities of data that need to be immediately available
|
|
761
789
|
|
|
762
|
-
Returns **[Promise][
|
|
790
|
+
Returns **[Promise][161]** A promise which resolves when the operation has completed
|
|
763
791
|
|
|
764
792
|
## saveProjectState
|
|
765
793
|
|
|
766
794
|
Force-Save the currently active project state
|
|
767
795
|
|
|
768
|
-
Returns **[Promise][
|
|
796
|
+
Returns **[Promise][161]** A promise which resolves when the operation has completed
|
|
769
797
|
|
|
770
798
|
## replaceProjectState
|
|
771
799
|
|
|
@@ -776,9 +804,9 @@ You almost never want to use this function directly, see `setProjectState(path,
|
|
|
776
804
|
|
|
777
805
|
### Parameters
|
|
778
806
|
|
|
779
|
-
* `newState` **[Object][
|
|
807
|
+
* `newState` **[Object][155]** The new state to replace the current state with
|
|
780
808
|
|
|
781
|
-
Returns **[Promise][
|
|
809
|
+
Returns **[Promise][161]** A promise which resolves when the operation has completed
|
|
782
810
|
|
|
783
811
|
## applyProjectStatePatch
|
|
784
812
|
|
|
@@ -786,9 +814,9 @@ Apply a computed `just-diff` patch to the current project state
|
|
|
786
814
|
|
|
787
815
|
### Parameters
|
|
788
816
|
|
|
789
|
-
* `Patch` **[Object][
|
|
817
|
+
* `Patch` **[Object][155]** to apply
|
|
790
818
|
|
|
791
|
-
Returns **[Promise][
|
|
819
|
+
Returns **[Promise][161]** A promise which resolves when the operation has completed
|
|
792
820
|
|
|
793
821
|
## subscribeProjectState
|
|
794
822
|
|
|
@@ -796,7 +824,7 @@ Subscribe to project state changes
|
|
|
796
824
|
This will dispatch an RPC call to the source object `applyProjectStatePatchLocal()` function with the patch
|
|
797
825
|
If the above call fails the subscriber is assumed as dead and unsubscribed from the polling list
|
|
798
826
|
|
|
799
|
-
Returns **[Promise][
|
|
827
|
+
Returns **[Promise][161]<[Function][164]>** A promise which resolves when a subscription has been created, call the resulting function to unsubscribe
|
|
800
828
|
|
|
801
829
|
## FileFilters
|
|
802
830
|
|
|
@@ -804,10 +832,10 @@ Data structure for a file filter
|
|
|
804
832
|
|
|
805
833
|
### Properties
|
|
806
834
|
|
|
807
|
-
* `library` **[Boolean][
|
|
808
|
-
* `filename` **[String][
|
|
809
|
-
* `basename` **[String][
|
|
810
|
-
* `ext` **[String][
|
|
835
|
+
* `library` **[Boolean][163]?** Restrict to library files only
|
|
836
|
+
* `filename` **[String][154]?** CSV of @momsfriendlydevco/match expressions to filter the filename by (filenames are the basename sans extension)
|
|
837
|
+
* `basename` **[String][154]?** CSV of @momsfriendlydevco/match expressions to filter the basename by
|
|
838
|
+
* `ext` **[String][154]?** CSV of @momsfriendlydevco/match expressions to filter the file extension by
|
|
811
839
|
|
|
812
840
|
## selectProjectFile
|
|
813
841
|
|
|
@@ -815,20 +843,20 @@ Prompt the user to select a library to operate on
|
|
|
815
843
|
|
|
816
844
|
### Parameters
|
|
817
845
|
|
|
818
|
-
* `options` **[Object][
|
|
846
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
819
847
|
|
|
820
|
-
* `options.title` **[String][
|
|
821
|
-
* `options.hint` **([String][
|
|
822
|
-
* `options.save` **[Boolean][
|
|
823
|
-
* `options.filters` **[FileFilters][
|
|
824
|
-
* `options.allowUpload` **[Boolean][
|
|
825
|
-
* `options.allowRefresh` **[Boolean][
|
|
826
|
-
* `options.allowDownloadZip` **[Boolean][
|
|
827
|
-
* `options.allowCancel` **[Boolean][
|
|
828
|
-
* `options.autoRequire` **[Boolean][
|
|
829
|
-
* `options.filter` **[FileFilters][
|
|
848
|
+
* `options.title` **[String][154]** The title of the dialog to display (optional, default `"Select a file"`)
|
|
849
|
+
* `options.hint` **([String][154] | [Array][160]<[String][154]>)?** Hints to identify the file to select in array order of preference
|
|
850
|
+
* `options.save` **[Boolean][163]** Set to truthy if saving a new file, UI will adjust to allowing overwrite OR new file name input (optional, default `false`)
|
|
851
|
+
* `options.filters` **[FileFilters][112]?** Optional file filters
|
|
852
|
+
* `options.allowUpload` **[Boolean][163]** Allow uploading new files (optional, default `true`)
|
|
853
|
+
* `options.allowRefresh` **[Boolean][163]** Allow the user to manually refresh the file list (optional, default `true`)
|
|
854
|
+
* `options.allowDownloadZip` **[Boolean][163]** Allow the user to download a Zip of all files (optional, default `true`)
|
|
855
|
+
* `options.allowCancel` **[Boolean][163]** Allow cancelling the operation. Will throw `'CANCEL'` as the promise rejection if acationed (optional, default `true`)
|
|
856
|
+
* `options.autoRequire` **[Boolean][163]** Run `requireProject()` automatically before continuing (optional, default `true`)
|
|
857
|
+
* `options.filter` **[FileFilters][112]?** Optional file filters
|
|
830
858
|
|
|
831
|
-
Returns **[Promise][
|
|
859
|
+
Returns **[Promise][161]<[ProjectFile][1]>** The eventually selected file, if in save mode new files are created as stubs
|
|
832
860
|
|
|
833
861
|
## getProjectFiles
|
|
834
862
|
|
|
@@ -836,13 +864,13 @@ Fetch the files associated with a given project
|
|
|
836
864
|
|
|
837
865
|
### Parameters
|
|
838
866
|
|
|
839
|
-
* `options` **[Object][
|
|
867
|
+
* `options` **[Object][155]** Options which mutate behaviour
|
|
840
868
|
|
|
841
|
-
* `options.autoRequire` **[Boolean][
|
|
842
|
-
* `options.lazy` **[Boolean][
|
|
843
|
-
* `options.meta` **[Boolean][
|
|
869
|
+
* `options.autoRequire` **[Boolean][163]** Run `requireProject()` automatically before continuing (optional, default `true`)
|
|
870
|
+
* `options.lazy` **[Boolean][163]** If true, use the fastest method to retrieve the file list such as the cache. If false, force a refresh each time (optional, default `true`)
|
|
871
|
+
* `options.meta` **[Boolean][163]** Pull meta information for each file entity (optional, default `true`)
|
|
844
872
|
|
|
845
|
-
Returns **[Promise][
|
|
873
|
+
Returns **[Promise][161]<[Array][160]<[ProjectFile][1]>>** A collection of project files for the given project
|
|
846
874
|
|
|
847
875
|
## getProjectFileContents
|
|
848
876
|
|
|
@@ -850,8 +878,8 @@ Fetch the raw contents of a file by its ID
|
|
|
850
878
|
|
|
851
879
|
### Parameters
|
|
852
880
|
|
|
853
|
-
* `id` **[String][
|
|
854
|
-
* `options` **[Object][
|
|
881
|
+
* `id` **[String][154]?** File ID to retrieve the contents of
|
|
882
|
+
* `options` **[Object][155]?** Additioanl options to mutate behaviour
|
|
855
883
|
|
|
856
884
|
* `options.format` **(`"blob"` | `"json"`)** The format to retrieve the file in (optional, default `'blob'`)
|
|
857
885
|
|
|
@@ -863,13 +891,13 @@ Fetch a project file by its name
|
|
|
863
891
|
|
|
864
892
|
### Parameters
|
|
865
893
|
|
|
866
|
-
* `id` **[String][
|
|
867
|
-
* `options` **([Object][
|
|
894
|
+
* `id` **[String][154]** The name + relative directory path component
|
|
895
|
+
* `options` **([Object][155] | [String][154])?** Additional options to mutate behaviour, if a string is given `options.subkey` is assumed
|
|
868
896
|
|
|
869
|
-
* `options.subkey` **[String][
|
|
870
|
-
* `options.cache` **[Boolean][
|
|
897
|
+
* `options.subkey` **[String][154]?** If specified only the extracted subkey is returned rather than the full object
|
|
898
|
+
* `options.cache` **[Boolean][163]** Use the existing file cache if possible, set to false to force a refresh of files from the server first (optional, default `true`)
|
|
871
899
|
|
|
872
|
-
Returns **[Promise][
|
|
900
|
+
Returns **[Promise][161]<[ProjectFile][1]>** The eventual fetched ProjectFile (or requested subkey)
|
|
873
901
|
|
|
874
902
|
## createProjectFile
|
|
875
903
|
|
|
@@ -878,9 +906,9 @@ This creates an empty file which can then be written to
|
|
|
878
906
|
|
|
879
907
|
### Parameters
|
|
880
908
|
|
|
881
|
-
* `name` **[String][
|
|
909
|
+
* `name` **[String][154]** The name + relative directory path component
|
|
882
910
|
|
|
883
|
-
Returns **[Promise][
|
|
911
|
+
Returns **[Promise][161]<[ProjectFile][1]>** The eventual ProjectFile created
|
|
884
912
|
|
|
885
913
|
## deleteProjectFile
|
|
886
914
|
|
|
@@ -888,9 +916,9 @@ Remove a project file by its ID
|
|
|
888
916
|
|
|
889
917
|
### Parameters
|
|
890
918
|
|
|
891
|
-
* `id` **[String][
|
|
919
|
+
* `id` **[String][154]** The File ID to remove
|
|
892
920
|
|
|
893
|
-
Returns **[Promise][
|
|
921
|
+
Returns **[Promise][161]** A promise which resolves when the operation has completed
|
|
894
922
|
|
|
895
923
|
## setProjectFileContents
|
|
896
924
|
|
|
@@ -898,18 +926,18 @@ Save (or overwrite) a file within a project
|
|
|
898
926
|
|
|
899
927
|
### Parameters
|
|
900
928
|
|
|
901
|
-
* `id` **([String][
|
|
902
|
-
* `contents` **(File | [Blob][
|
|
903
|
-
* `options` **[Object][
|
|
929
|
+
* `id` **([String][154] | [ProjectFile][1])?** ProjectFile or ID of the same to overwrite, if omitted a file is prompted for
|
|
930
|
+
* `contents` **(File | [Blob][158] | [FormData][159] | [Object][155] | [Array][160])** The new file contents
|
|
931
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
904
932
|
|
|
905
|
-
* `options.id` **([String][
|
|
906
|
-
* `options.autoRequire` **[Boolean][
|
|
907
|
-
* `options.hint` **([String][
|
|
908
|
-
* `options.filename` **[String][
|
|
909
|
-
* `options.title` **[String][
|
|
910
|
-
* `options.meta` **[Object][
|
|
933
|
+
* `options.id` **([String][154] | [ProjectFile][1])?** Alternate method to specify the file ID to save as, if omitted one will be prompted for
|
|
934
|
+
* `options.autoRequire` **[Boolean][163]** Run `requireProject()` automatically before continuing (optional, default `true`)
|
|
935
|
+
* `options.hint` **([String][154] | [Array][160]<[String][154]>)?** Hint(s) to store against the library. Generally corresponds to the current operation being performed - e.g. 'deduped'
|
|
936
|
+
* `options.filename` **[String][154]?** Suggested filename if `id` is unspecified
|
|
937
|
+
* `options.title` **[String][154]** Dialog title if `id` is unspecified and a prompt is necessary (optional, default `'Save citation library'`)
|
|
938
|
+
* `options.meta` **[Object][155]?** Optional meta data to merge into the file data
|
|
911
939
|
|
|
912
|
-
Returns **[Promise][
|
|
940
|
+
Returns **[Promise][161]** A promise which will resolve when the write operation has completed
|
|
913
941
|
|
|
914
942
|
## selectProjectLibrary
|
|
915
943
|
|
|
@@ -917,19 +945,19 @@ Prompt the user to select a library to operate on and return a array of referenc
|
|
|
917
945
|
|
|
918
946
|
### Parameters
|
|
919
947
|
|
|
920
|
-
* `options` **[Object][
|
|
948
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
921
949
|
|
|
922
|
-
* `options.title` **[String][
|
|
923
|
-
* `options.hint` **([String][
|
|
924
|
-
* `options.allowUpload` **[Boolean][
|
|
925
|
-
* `options.allowRefresh` **[Boolean][
|
|
926
|
-
* `options.allowDownloadZip` **[Boolean][
|
|
927
|
-
* `options.allowCancel` **[Boolean][
|
|
928
|
-
* `options.autoRequire` **[Boolean][
|
|
929
|
-
* `options.filters` **[FileFilters][
|
|
950
|
+
* `options.title` **[String][154]** The title of the dialog to display (optional, default `"Select a citation library"`)
|
|
951
|
+
* `options.hint` **([String][154] | [Array][160]<[String][154]>)?** Hints to identify the library to select in array order of preference. Generally corresponds to the previous stage - e.g. 'deduped', 'review1', 'review2', 'dedisputed'
|
|
952
|
+
* `options.allowUpload` **[Boolean][163]** Allow uploading new files (optional, default `true`)
|
|
953
|
+
* `options.allowRefresh` **[Boolean][163]** Allow the user to manually refresh the file list (optional, default `true`)
|
|
954
|
+
* `options.allowDownloadZip` **[Boolean][163]** Allow the user to download a Zip of all files (optional, default `true`)
|
|
955
|
+
* `options.allowCancel` **[Boolean][163]** Allow cancelling the operation. Will throw `'CANCEL'` as the promise rejection if acationed (optional, default `true`)
|
|
956
|
+
* `options.autoRequire` **[Boolean][163]** Run `requireProject()` automatically before continuing (optional, default `true`)
|
|
957
|
+
* `options.filters` **[FileFilters][112]?** Optional file filters, defaults to citation library selection only
|
|
930
958
|
* `options` **...any?** Additional options - see `getProjectLibrary()`
|
|
931
959
|
|
|
932
|
-
Returns **[Promise][
|
|
960
|
+
Returns **[Promise][161]<[Array][160]\<Ref>>** A collection of references from the selected file
|
|
933
961
|
|
|
934
962
|
## getProjectLibrary
|
|
935
963
|
|
|
@@ -937,15 +965,15 @@ Fetch + convert a project file into a library of citations
|
|
|
937
965
|
|
|
938
966
|
### Parameters
|
|
939
967
|
|
|
940
|
-
* `id` **[String][
|
|
941
|
-
* `options` **[Object][
|
|
968
|
+
* `id` **[String][154]** File ID to read
|
|
969
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
942
970
|
|
|
943
|
-
* `options.format` **[String][
|
|
944
|
-
* `options.autoRequire` **[Boolean][
|
|
945
|
-
* `options.filter` **[Function][
|
|
946
|
-
* `options.find` **[Function][
|
|
971
|
+
* `options.format` **[String][154]** Format for the file. ENUM: 'pojo' (return a parsed JS collection), 'blob' (raw JS Blob object), 'file' (named JS File object) (optional, default `'json'`)
|
|
972
|
+
* `options.autoRequire` **[Boolean][163]** Run `requireProject()` automatically before continuing (optional, default `true`)
|
|
973
|
+
* `options.filter` **[Function][164]?** Optional async file filter, called each time as `(File:ProjectFile)`
|
|
974
|
+
* `options.find` **[Function][164]?** Optional async final stage file filter to reduce all candidates down to one subject file
|
|
947
975
|
|
|
948
|
-
Returns **([Promise][
|
|
976
|
+
Returns **([Promise][161]<[Array][160]\<Ref>> | [Promise][161]\<any>)** A collection of references (default bevahiour) or a whatever format was requested
|
|
949
977
|
|
|
950
978
|
## setProjectLibrary
|
|
951
979
|
|
|
@@ -953,33 +981,33 @@ Save back a citation library from some input
|
|
|
953
981
|
|
|
954
982
|
### Parameters
|
|
955
983
|
|
|
956
|
-
* `id` **[String][
|
|
957
|
-
* `refs` **([Array][
|
|
958
|
-
* `options` **[Object][
|
|
984
|
+
* `id` **[String][154]?** File ID to save back to, if omitted a file will be prompted for
|
|
985
|
+
* `refs` **([Array][160]\<RefLibRef> | [Blob][158] | File)?** Collection of references for the selected library or the raw Blob/File
|
|
986
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
959
987
|
|
|
960
|
-
* `options.id` **[String][
|
|
961
|
-
* `options.refs` **([Array][
|
|
962
|
-
* `options.format` **[String][
|
|
963
|
-
* `options.autoRequire` **[Boolean][
|
|
964
|
-
* `options.hint` **[String][
|
|
965
|
-
* `options.filename` **[String][
|
|
966
|
-
* `options.title` **[String][
|
|
967
|
-
* `options.overwrite` **[Boolean][
|
|
968
|
-
* `options.meta` **[Object][
|
|
988
|
+
* `options.id` **[String][154]?** Alternate method to specify the file ID to save as, if omitted one will be prompted for
|
|
989
|
+
* `options.refs` **([Array][160]\<RefLibRef> | [Blob][158] | File)?** Alternate method to specify the refs to save as an array or raw Blob/File
|
|
990
|
+
* `options.format` **[String][154]** Input format used. ENUM: 'pojo' (return a parsed JS collection), 'blob' (raw JS Blob object), 'file' (named JS File object) (optional, default `'json'`)
|
|
991
|
+
* `options.autoRequire` **[Boolean][163]** Run `requireProject()` automatically before continuing (optional, default `true`)
|
|
992
|
+
* `options.hint` **[String][154]?** Hint to store against the library. Generally corresponds to the current operation being performed - e.g. 'deduped'
|
|
993
|
+
* `options.filename` **[String][154]?** Suggested filename if `id` is unspecified
|
|
994
|
+
* `options.title` **[String][154]** Dialog title if `id` is unspecified and a prompt is necessary (optional, default `'Save citation library'`)
|
|
995
|
+
* `options.overwrite` **[Boolean][163]** Allow existing file upsert (optional, default `true`)
|
|
996
|
+
* `options.meta` **[Object][155]?** Optional meta data to merge into the file data
|
|
969
997
|
|
|
970
|
-
Returns **[Promise][
|
|
998
|
+
Returns **[Promise][161]** A promise which resolves when the save operation has completed
|
|
971
999
|
|
|
972
1000
|
## projectLog
|
|
973
1001
|
|
|
974
1002
|
Create a log entry for the currently active project
|
|
975
1003
|
|
|
976
|
-
The required log object can be of various forms. See [https://tera-tools.com/api/logs.json][
|
|
1004
|
+
The required log object can be of various forms. See [https://tera-tools.com/api/logs.json][168] for the full list
|
|
977
1005
|
|
|
978
1006
|
### Parameters
|
|
979
1007
|
|
|
980
|
-
* `log` **[Object][
|
|
1008
|
+
* `log` **[Object][155]** The log entry to create
|
|
981
1009
|
|
|
982
|
-
Returns **[Promise][
|
|
1010
|
+
Returns **[Promise][161]** A promise which resolves when the operation has completed
|
|
983
1011
|
|
|
984
1012
|
## setPage
|
|
985
1013
|
|
|
@@ -988,10 +1016,10 @@ This is usually called by a tool nested within the tera-tools.com embed
|
|
|
988
1016
|
|
|
989
1017
|
### Parameters
|
|
990
1018
|
|
|
991
|
-
* `options` **([Object][
|
|
1019
|
+
* `options` **([Object][155] | [String][154])** Context information about the page, if this is a string, its assumed to popupate `url`
|
|
992
1020
|
|
|
993
|
-
* `options.path` **[String][
|
|
994
|
-
* `options.title` **[String][
|
|
1021
|
+
* `options.path` **[String][154]?** The URL path segment to restore on next refresh
|
|
1022
|
+
* `options.title` **[String][154]?** The page title associated with the path
|
|
995
1023
|
|
|
996
1024
|
## uiAlert
|
|
997
1025
|
|
|
@@ -999,15 +1027,15 @@ Display simple text within TERA
|
|
|
999
1027
|
|
|
1000
1028
|
### Parameters
|
|
1001
1029
|
|
|
1002
|
-
* `text` **[String][
|
|
1003
|
-
* `options` **[Object][
|
|
1030
|
+
* `text` **[String][154]?** Text to display, if specified this populates `options.body`
|
|
1031
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
1004
1032
|
|
|
1005
|
-
* `options.body` **[String][
|
|
1006
|
-
* `options.isHtml` **[Boolean][
|
|
1007
|
-
* `options.title` **[String][
|
|
1033
|
+
* `options.body` **[String][154]** The body text to display (optional, default `"Alert!"`)
|
|
1034
|
+
* `options.isHtml` **[Boolean][163]** If falsy the text is rendered as plain-text otherwise it will be assumed as HTML content (optional, default `false`)
|
|
1035
|
+
* `options.title` **[String][154]** The title of the alert box (optional, default `'TERA'`)
|
|
1008
1036
|
* `options.buttons` **(`"ok"` | `false`)** Button set to use or falsy to disable (optional, default `'ok'`)
|
|
1009
1037
|
|
|
1010
|
-
Returns **[Promise][
|
|
1038
|
+
Returns **[Promise][161]** A promise which resolves when the alert has been dismissed
|
|
1011
1039
|
|
|
1012
1040
|
## uiConfirm
|
|
1013
1041
|
|
|
@@ -1015,14 +1043,22 @@ Present a simple ok/cancel dialog to the user
|
|
|
1015
1043
|
|
|
1016
1044
|
### Parameters
|
|
1017
1045
|
|
|
1018
|
-
* `text` **[String][
|
|
1019
|
-
* `options` **[Object][
|
|
1046
|
+
* `text` **[String][154]?** Text to display, if specified this populates `options.body`
|
|
1047
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
1020
1048
|
|
|
1021
|
-
* `options.body` **[String][
|
|
1022
|
-
* `options.isHtml` **[Boolean][
|
|
1023
|
-
* `options.title` **[String][
|
|
1049
|
+
* `options.body` **[String][154]** The body text to display (optional, default `"Confirm?"`)
|
|
1050
|
+
* `options.isHtml` **[Boolean][163]** If falsy the text is rendered as plain-text otherwise it will be assumed as HTML content (optional, default `false`)
|
|
1051
|
+
* `options.title` **[String][154]** The title of the confirmation box (optional, default `'TERA'`)
|
|
1024
1052
|
|
|
1025
|
-
Returns **[Promise][
|
|
1053
|
+
Returns **[Promise][161]** A promise which resolves with `Promise.resolve('OK')` or rejects with `Promise.reject('CANCEL')`
|
|
1054
|
+
|
|
1055
|
+
## uiDie
|
|
1056
|
+
|
|
1057
|
+
Trigger a fatal error, killing the outer TERA site
|
|
1058
|
+
|
|
1059
|
+
### Parameters
|
|
1060
|
+
|
|
1061
|
+
* `text` **[String][154]?** Text to display
|
|
1026
1062
|
|
|
1027
1063
|
## uiProgress
|
|
1028
1064
|
|
|
@@ -1031,17 +1067,17 @@ All options are cumulative - i.e. they are merged with other options previously
|
|
|
1031
1067
|
|
|
1032
1068
|
### Parameters
|
|
1033
1069
|
|
|
1034
|
-
* `options` **([Object][
|
|
1070
|
+
* `options` **([Object][155] | [Boolean][163])?** Additional options to mutate behaviour, if boolean false `{close: true}` is assumed
|
|
1035
1071
|
|
|
1036
|
-
* `options.title` **[String][
|
|
1037
|
-
* `options.body` **[String][
|
|
1038
|
-
* `options.bodyHtml` **[Boolean][
|
|
1039
|
-
* `options.close` **[Boolean][
|
|
1040
|
-
* `options.text` **[String][
|
|
1041
|
-
* `options.progress` **[Number][
|
|
1042
|
-
* `options.maxProgress` **[Number][
|
|
1072
|
+
* `options.title` **[String][154]** Window title, can only be set on the initial call (optional, default `'TERA'`)
|
|
1073
|
+
* `options.body` **[String][154]** Window body text, can only be set on the initial call (optional, default `''`)
|
|
1074
|
+
* `options.bodyHtml` **[Boolean][163]** Treat body text as HTML (optional, default `false`)
|
|
1075
|
+
* `options.close` **[Boolean][163]** Close the existing dialog, if true the dialog is disposed and options reset (optional, default `false`)
|
|
1076
|
+
* `options.text` **[String][154]?** The text of the task being conducted
|
|
1077
|
+
* `options.progress` **[Number][157]?** The current progress of the task being conducted, this is assumed to be a value less than `maxProgress`
|
|
1078
|
+
* `options.maxProgress` **[Number][157]?** The maximum value that the progress can be
|
|
1043
1079
|
|
|
1044
|
-
Returns **[Promise][
|
|
1080
|
+
Returns **[Promise][161]** A promise which resolves when the dialog has been updated
|
|
1045
1081
|
|
|
1046
1082
|
## uiPrompt
|
|
1047
1083
|
|
|
@@ -1049,17 +1085,17 @@ Prompt the user for an input, responding with a Promisable value
|
|
|
1049
1085
|
|
|
1050
1086
|
### Parameters
|
|
1051
1087
|
|
|
1052
|
-
* `text` **[String][
|
|
1053
|
-
* `options` **[Object][
|
|
1088
|
+
* `text` **[String][154]?** Text to display, if specified this populates `options.body`
|
|
1089
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
1054
1090
|
|
|
1055
|
-
* `options.body` **[String][
|
|
1056
|
-
* `options.value` **[String][
|
|
1057
|
-
* `options.title` **[String][
|
|
1058
|
-
* `options.bodyHtml` **[Boolean][
|
|
1059
|
-
* `options.placeholder` **[String][
|
|
1060
|
-
* `options.required` **[Boolean][
|
|
1091
|
+
* `options.body` **[String][154]?** Optional additional body text
|
|
1092
|
+
* `options.value` **[String][154]?** Current or default value to display pre-filled
|
|
1093
|
+
* `options.title` **[String][154]** The dialog title to display (optional, default `'Input required'`)
|
|
1094
|
+
* `options.bodyHtml` **[Boolean][163]** If truthy, treat the body as HTML (optional, default `false`)
|
|
1095
|
+
* `options.placeholder` **[String][154]?** Optional placeholder text
|
|
1096
|
+
* `options.required` **[Boolean][163]** Treat nullish or empty inputs as a cancel operation (optional, default `true`)
|
|
1061
1097
|
|
|
1062
|
-
Returns **[Promise][
|
|
1098
|
+
Returns **[Promise][161]\<any>** Either the eventual user value or a throw with `Promise.reject('CANCEL')`
|
|
1063
1099
|
|
|
1064
1100
|
## uiThrow
|
|
1065
1101
|
|
|
@@ -1067,7 +1103,7 @@ Catch an error using the TERA error handler
|
|
|
1067
1103
|
|
|
1068
1104
|
### Parameters
|
|
1069
1105
|
|
|
1070
|
-
* `error` **([Error][
|
|
1106
|
+
* `error` **([Error][169] | [Object][155] | [String][154])** Error to handle, generally an Error object but can be a POJO or a scalar string
|
|
1071
1107
|
|
|
1072
1108
|
Returns **Void** This function is fatal
|
|
1073
1109
|
|
|
@@ -1077,13 +1113,13 @@ Open a popup window containing a new site
|
|
|
1077
1113
|
|
|
1078
1114
|
### Parameters
|
|
1079
1115
|
|
|
1080
|
-
* `url` **[String][
|
|
1081
|
-
* `options` **[Object][
|
|
1116
|
+
* `url` **[String][154]** The URL to open
|
|
1117
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
1082
1118
|
|
|
1083
|
-
* `options.width` **[Number][
|
|
1084
|
-
* `options.height` **[Number][
|
|
1085
|
-
* `options.center` **[Boolean][
|
|
1086
|
-
* `options.permissions` **[Object][
|
|
1119
|
+
* `options.width` **[Number][157]** The desired width of the window (optional, default `500`)
|
|
1120
|
+
* `options.height` **[Number][157]** The desired height of the window (optional, default `600`)
|
|
1121
|
+
* `options.center` **[Boolean][163]** Attempt to center the window on the screen (optional, default `true`)
|
|
1122
|
+
* `options.permissions` **[Object][155]?** Additional permissions to set on opening, defaults to a suitable set of permission for popups (see code)
|
|
1087
1123
|
|
|
1088
1124
|
Returns **WindowProxy** The opened window object (if `noopener` is not set in permissions)
|
|
1089
1125
|
|
|
@@ -1094,10 +1130,10 @@ This function is ideally called within a requestFocus() wrapper
|
|
|
1094
1130
|
|
|
1095
1131
|
### Parameters
|
|
1096
1132
|
|
|
1097
|
-
* `content` **(DOMElement | [String][
|
|
1098
|
-
* `options` **[Object][
|
|
1133
|
+
* `content` **(DOMElement | [String][154] | `false`)** Either a prepared DOM element or string to compile, set to falsy to remove existing content
|
|
1134
|
+
* `options` **[Object][155]?** Additional options to mutate behaviour
|
|
1099
1135
|
|
|
1100
|
-
* `options.logo` **([Boolean][
|
|
1136
|
+
* `options.logo` **([Boolean][163] | [String][154])** Add a logo to the output, if boolean true the Tera-tools logo is used otherwise specify a path or URL (optional, default `false`)
|
|
1101
1137
|
|
|
1102
1138
|
[1]: #projectfile
|
|
1103
1139
|
|
|
@@ -1195,232 +1231,244 @@ This function is ideally called within a requestFocus() wrapper
|
|
|
1195
1231
|
|
|
1196
1232
|
[48]: #parameters-8
|
|
1197
1233
|
|
|
1198
|
-
[49]: #
|
|
1234
|
+
[49]: #applyprojectstatepatch
|
|
1199
1235
|
|
|
1200
1236
|
[50]: #parameters-9
|
|
1201
1237
|
|
|
1202
|
-
[51]: #
|
|
1238
|
+
[51]: #applyprojectstatepatchlocal
|
|
1203
1239
|
|
|
1204
1240
|
[52]: #parameters-10
|
|
1205
1241
|
|
|
1206
|
-
[53]: #
|
|
1242
|
+
[53]: #init
|
|
1207
1243
|
|
|
1208
|
-
[54]: #
|
|
1244
|
+
[54]: #parameters-11
|
|
1209
1245
|
|
|
1210
|
-
[55]: #
|
|
1246
|
+
[55]: #detectmode
|
|
1211
1247
|
|
|
1212
|
-
[56]: #
|
|
1248
|
+
[56]: #injectcomms
|
|
1213
1249
|
|
|
1214
|
-
[57]: #
|
|
1250
|
+
[57]: #handshakeloop
|
|
1215
1251
|
|
|
1216
|
-
[58]: #
|
|
1252
|
+
[58]: #parameters-12
|
|
1217
1253
|
|
|
1218
|
-
[59]: #
|
|
1254
|
+
[59]: #properties-3
|
|
1219
1255
|
|
|
1220
|
-
[60]: #
|
|
1256
|
+
[60]: #injectstylesheet
|
|
1221
1257
|
|
|
1222
|
-
[61]: #
|
|
1258
|
+
[61]: #injectmethods
|
|
1223
1259
|
|
|
1224
|
-
[62]: #
|
|
1260
|
+
[62]: #debug
|
|
1225
1261
|
|
|
1226
1262
|
[63]: #parameters-13
|
|
1227
1263
|
|
|
1228
|
-
[64]: #
|
|
1264
|
+
[64]: #set
|
|
1229
1265
|
|
|
1230
1266
|
[65]: #parameters-14
|
|
1231
1267
|
|
|
1232
|
-
[66]: #
|
|
1268
|
+
[66]: #setifdev
|
|
1233
1269
|
|
|
1234
1270
|
[67]: #parameters-15
|
|
1235
1271
|
|
|
1236
|
-
[68]: #
|
|
1272
|
+
[68]: #use
|
|
1237
1273
|
|
|
1238
1274
|
[69]: #parameters-16
|
|
1239
1275
|
|
|
1240
|
-
[70]: #
|
|
1276
|
+
[70]: #mixin
|
|
1241
1277
|
|
|
1242
1278
|
[71]: #parameters-17
|
|
1243
1279
|
|
|
1244
|
-
[72]: #
|
|
1280
|
+
[72]: #toggledevmode
|
|
1245
1281
|
|
|
1246
1282
|
[73]: #parameters-18
|
|
1247
1283
|
|
|
1248
|
-
[74]: #
|
|
1284
|
+
[74]: #togglefocus
|
|
1249
1285
|
|
|
1250
1286
|
[75]: #parameters-19
|
|
1251
1287
|
|
|
1252
|
-
[76]: #
|
|
1288
|
+
[76]: #getentropicstring
|
|
1253
1289
|
|
|
1254
|
-
[77]: #
|
|
1290
|
+
[77]: #parameters-20
|
|
1255
1291
|
|
|
1256
|
-
[78]: #
|
|
1292
|
+
[78]: #selectprojectfile
|
|
1257
1293
|
|
|
1258
|
-
[79]: #parameters-
|
|
1294
|
+
[79]: #parameters-21
|
|
1259
1295
|
|
|
1260
|
-
[80]: #
|
|
1296
|
+
[80]: #handshake
|
|
1261
1297
|
|
|
1262
|
-
[81]: #properties-
|
|
1298
|
+
[81]: #properties-4
|
|
1263
1299
|
|
|
1264
|
-
[82]: #
|
|
1300
|
+
[82]: #setserververbosity
|
|
1265
1301
|
|
|
1266
|
-
[83]: #
|
|
1302
|
+
[83]: #parameters-22
|
|
1267
1303
|
|
|
1268
|
-
[84]: #
|
|
1304
|
+
[84]: #user
|
|
1269
1305
|
|
|
1270
|
-
[85]: #
|
|
1306
|
+
[85]: #properties-5
|
|
1271
1307
|
|
|
1272
|
-
[86]: #
|
|
1308
|
+
[86]: #getuser
|
|
1273
1309
|
|
|
1274
|
-
[87]: #
|
|
1310
|
+
[87]: #requireuser
|
|
1275
1311
|
|
|
1276
|
-
[88]: #
|
|
1312
|
+
[88]: #parameters-23
|
|
1277
1313
|
|
|
1278
|
-
[89]: #
|
|
1314
|
+
[89]: #project
|
|
1279
1315
|
|
|
1280
|
-
[90]: #
|
|
1316
|
+
[90]: #getproject
|
|
1281
1317
|
|
|
1282
|
-
[91]: #
|
|
1318
|
+
[91]: #getprojects
|
|
1283
1319
|
|
|
1284
|
-
[92]: #
|
|
1320
|
+
[92]: #setactiveproject
|
|
1285
1321
|
|
|
1286
1322
|
[93]: #parameters-24
|
|
1287
1323
|
|
|
1288
|
-
[94]: #
|
|
1324
|
+
[94]: #requireproject
|
|
1289
1325
|
|
|
1290
1326
|
[95]: #parameters-25
|
|
1291
1327
|
|
|
1292
|
-
[96]: #
|
|
1328
|
+
[96]: #selectproject
|
|
1293
1329
|
|
|
1294
1330
|
[97]: #parameters-26
|
|
1295
1331
|
|
|
1296
|
-
[98]: #
|
|
1332
|
+
[98]: #getprojectstate
|
|
1297
1333
|
|
|
1298
1334
|
[99]: #parameters-27
|
|
1299
1335
|
|
|
1300
|
-
[100]: #
|
|
1336
|
+
[100]: #setprojectstate
|
|
1301
1337
|
|
|
1302
|
-
[101]: #
|
|
1338
|
+
[101]: #parameters-28
|
|
1303
1339
|
|
|
1304
|
-
[102]: #
|
|
1340
|
+
[102]: #setprojectstatedefaults
|
|
1305
1341
|
|
|
1306
|
-
[103]: #
|
|
1342
|
+
[103]: #parameters-29
|
|
1307
1343
|
|
|
1308
|
-
[104]: #
|
|
1344
|
+
[104]: #setprojectstateflush
|
|
1309
1345
|
|
|
1310
|
-
[105]: #
|
|
1346
|
+
[105]: #setprojectstaterefresh
|
|
1311
1347
|
|
|
1312
|
-
[106]: #
|
|
1348
|
+
[106]: #saveprojectstate
|
|
1313
1349
|
|
|
1314
|
-
[107]: #
|
|
1350
|
+
[107]: #replaceprojectstate
|
|
1315
1351
|
|
|
1316
|
-
[108]: #
|
|
1352
|
+
[108]: #parameters-30
|
|
1317
1353
|
|
|
1318
|
-
[109]: #
|
|
1354
|
+
[109]: #applyprojectstatepatch-1
|
|
1319
1355
|
|
|
1320
|
-
[110]: #
|
|
1356
|
+
[110]: #parameters-31
|
|
1321
1357
|
|
|
1322
|
-
[111]: #
|
|
1358
|
+
[111]: #subscribeprojectstate
|
|
1323
1359
|
|
|
1324
|
-
[112]: #
|
|
1360
|
+
[112]: #filefilters
|
|
1325
1361
|
|
|
1326
|
-
[113]: #
|
|
1362
|
+
[113]: #properties-6
|
|
1327
1363
|
|
|
1328
|
-
[114]: #
|
|
1364
|
+
[114]: #selectprojectfile-1
|
|
1329
1365
|
|
|
1330
1366
|
[115]: #parameters-32
|
|
1331
1367
|
|
|
1332
|
-
[116]: #
|
|
1368
|
+
[116]: #getprojectfiles
|
|
1333
1369
|
|
|
1334
1370
|
[117]: #parameters-33
|
|
1335
1371
|
|
|
1336
|
-
[118]: #
|
|
1372
|
+
[118]: #getprojectfilecontents
|
|
1337
1373
|
|
|
1338
1374
|
[119]: #parameters-34
|
|
1339
1375
|
|
|
1340
|
-
[120]: #
|
|
1376
|
+
[120]: #getprojectfile
|
|
1341
1377
|
|
|
1342
1378
|
[121]: #parameters-35
|
|
1343
1379
|
|
|
1344
|
-
[122]: #
|
|
1380
|
+
[122]: #createprojectfile
|
|
1345
1381
|
|
|
1346
1382
|
[123]: #parameters-36
|
|
1347
1383
|
|
|
1348
|
-
[124]: #
|
|
1384
|
+
[124]: #deleteprojectfile
|
|
1349
1385
|
|
|
1350
1386
|
[125]: #parameters-37
|
|
1351
1387
|
|
|
1352
|
-
[126]: #
|
|
1388
|
+
[126]: #setprojectfilecontents
|
|
1353
1389
|
|
|
1354
1390
|
[127]: #parameters-38
|
|
1355
1391
|
|
|
1356
|
-
[128]: #
|
|
1392
|
+
[128]: #selectprojectlibrary
|
|
1357
1393
|
|
|
1358
1394
|
[129]: #parameters-39
|
|
1359
1395
|
|
|
1360
|
-
[130]: #
|
|
1396
|
+
[130]: #getprojectlibrary
|
|
1361
1397
|
|
|
1362
1398
|
[131]: #parameters-40
|
|
1363
1399
|
|
|
1364
|
-
[132]: #
|
|
1400
|
+
[132]: #setprojectlibrary
|
|
1365
1401
|
|
|
1366
1402
|
[133]: #parameters-41
|
|
1367
1403
|
|
|
1368
|
-
[134]: #
|
|
1404
|
+
[134]: #projectlog
|
|
1369
1405
|
|
|
1370
1406
|
[135]: #parameters-42
|
|
1371
1407
|
|
|
1372
|
-
[136]: #
|
|
1408
|
+
[136]: #setpage
|
|
1373
1409
|
|
|
1374
1410
|
[137]: #parameters-43
|
|
1375
1411
|
|
|
1376
|
-
[138]: #
|
|
1412
|
+
[138]: #uialert
|
|
1377
1413
|
|
|
1378
1414
|
[139]: #parameters-44
|
|
1379
1415
|
|
|
1380
|
-
[140]: #
|
|
1416
|
+
[140]: #uiconfirm
|
|
1381
1417
|
|
|
1382
1418
|
[141]: #parameters-45
|
|
1383
1419
|
|
|
1384
|
-
[142]: #
|
|
1420
|
+
[142]: #uidie
|
|
1385
1421
|
|
|
1386
1422
|
[143]: #parameters-46
|
|
1387
1423
|
|
|
1388
|
-
[144]: #
|
|
1424
|
+
[144]: #uiprogress
|
|
1389
1425
|
|
|
1390
1426
|
[145]: #parameters-47
|
|
1391
1427
|
|
|
1392
|
-
[146]: #
|
|
1428
|
+
[146]: #uiprompt
|
|
1393
1429
|
|
|
1394
1430
|
[147]: #parameters-48
|
|
1395
1431
|
|
|
1396
|
-
[148]:
|
|
1432
|
+
[148]: #uithrow
|
|
1433
|
+
|
|
1434
|
+
[149]: #parameters-49
|
|
1435
|
+
|
|
1436
|
+
[150]: #uiwindow
|
|
1437
|
+
|
|
1438
|
+
[151]: #parameters-50
|
|
1439
|
+
|
|
1440
|
+
[152]: #uisplat
|
|
1441
|
+
|
|
1442
|
+
[153]: #parameters-51
|
|
1443
|
+
|
|
1444
|
+
[154]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
|
1397
1445
|
|
|
1398
|
-
[
|
|
1446
|
+
[155]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
1399
1447
|
|
|
1400
|
-
[
|
|
1448
|
+
[156]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date
|
|
1401
1449
|
|
|
1402
|
-
[
|
|
1450
|
+
[157]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
|
|
1403
1451
|
|
|
1404
|
-
[
|
|
1452
|
+
[158]: https://developer.mozilla.org/docs/Web/API/Blob
|
|
1405
1453
|
|
|
1406
|
-
[
|
|
1454
|
+
[159]: https://developer.mozilla.org/docs/Web/API/FormData
|
|
1407
1455
|
|
|
1408
|
-
[
|
|
1456
|
+
[160]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
|
|
1409
1457
|
|
|
1410
|
-
[
|
|
1458
|
+
[161]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
|
|
1411
1459
|
|
|
1412
|
-
[
|
|
1460
|
+
[162]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
|
|
1413
1461
|
|
|
1414
|
-
[
|
|
1462
|
+
[163]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
|
|
1415
1463
|
|
|
1416
|
-
[
|
|
1464
|
+
[164]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
|
|
1417
1465
|
|
|
1418
|
-
[
|
|
1466
|
+
[165]: https://developer.mozilla.org/docs/Web/API/Window
|
|
1419
1467
|
|
|
1420
|
-
[
|
|
1468
|
+
[166]: https://developer.mozilla.org/docs/Web/API/MessageEvent
|
|
1421
1469
|
|
|
1422
|
-
[
|
|
1470
|
+
[167]: http://jsonpatch.com
|
|
1423
1471
|
|
|
1424
|
-
[
|
|
1472
|
+
[168]: https://tera-tools.com/api/logs.json
|
|
1425
1473
|
|
|
1426
|
-
[
|
|
1474
|
+
[169]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error
|