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