jmapcloud-ng-core-types 2.0.0 → 2.0.6-qa.3
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/package.json +1 -1
- package/public/core.d.ts +6 -15
- package/public/jmap/project.d.ts +1 -3
- package/public/jmap/startup-options.d.ts +86 -231
- package/public/state.d.ts +1 -0
package/package.json
CHANGED
package/public/core.d.ts
CHANGED
|
@@ -139,7 +139,7 @@ export {}
|
|
|
139
139
|
*
|
|
140
140
|
* After being loaded, the **NG Core** library is accessible through the namespace **JMap** in the javascript console. For example :
|
|
141
141
|
* ```ts
|
|
142
|
-
* // returns the JMap Cloud NG
|
|
142
|
+
* // returns the JMap Cloud NG package version.
|
|
143
143
|
* JMap.getVersion()
|
|
144
144
|
* ```
|
|
145
145
|
*/
|
|
@@ -147,11 +147,11 @@ export namespace JMap {
|
|
|
147
147
|
/**
|
|
148
148
|
* **JMap.getVersion**
|
|
149
149
|
*
|
|
150
|
-
* Returns the JMap Cloud NG
|
|
150
|
+
* Returns the JMap Cloud NG npm package version.
|
|
151
151
|
*
|
|
152
152
|
* @example
|
|
153
153
|
* ```ts
|
|
154
|
-
* // returns the
|
|
154
|
+
* // returns the package version, for example "2.0.5-qa.10"
|
|
155
155
|
* JMap.getVersion()
|
|
156
156
|
* ```
|
|
157
157
|
*/
|
|
@@ -159,13 +159,11 @@ export namespace JMap {
|
|
|
159
159
|
/**
|
|
160
160
|
* **JMap.getApiVersion**
|
|
161
161
|
*
|
|
162
|
-
* Returns the JMap Cloud NG
|
|
163
|
-
*
|
|
164
|
-
* For the same API version, multiple implementation versions can exist.
|
|
162
|
+
* Returns the JMap Cloud NG npm package version.
|
|
165
163
|
*
|
|
166
164
|
* @example
|
|
167
165
|
* ```ts
|
|
168
|
-
* // returns the
|
|
166
|
+
* // returns the package version, for example "2.0.5-qa.10"
|
|
169
167
|
* JMap.getApiVersion()
|
|
170
168
|
* ```
|
|
171
169
|
*/
|
|
@@ -5806,14 +5804,7 @@ export namespace JMap {
|
|
|
5806
5804
|
/**
|
|
5807
5805
|
* **JMap.Project.getMapUnit**
|
|
5808
5806
|
*
|
|
5809
|
-
*
|
|
5810
|
-
*
|
|
5811
|
-
* @throws if no project is loaded
|
|
5812
|
-
* @example
|
|
5813
|
-
* ```ts
|
|
5814
|
-
* // return "meters", or "kilometers", or "miles", or "yards"...
|
|
5815
|
-
* JMap.Project.getMapUnit()
|
|
5816
|
-
* ```
|
|
5807
|
+
* @deprecated Use {@link getDefaultDistanceUnit} instead. mapUnit has been removed from projects. Always returns "meters".
|
|
5817
5808
|
*/
|
|
5818
5809
|
function getMapUnit(): JMAP_DISTANCE_UNITS
|
|
5819
5810
|
/**
|
package/public/jmap/project.d.ts
CHANGED
|
@@ -31,11 +31,9 @@ export interface JProjectServerExtension {
|
|
|
31
31
|
version: string
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
export interface JProject extends Omit<McsComponents["schemas"]["LocalizedProjectDTO"], "
|
|
34
|
+
export interface JProject extends Omit<McsComponents["schemas"]["LocalizedProjectDTO"], "distanceUnit" | "initialExtent" | "maximumExtent" | "terrain"> {
|
|
35
35
|
defaultLanguage: LOCALES
|
|
36
|
-
mapUnit: JMAP_DISTANCE_UNITS
|
|
37
36
|
distanceUnit: JMAP_DISTANCE_UNITS
|
|
38
|
-
displayUnit: JMAP_DISTANCE_UNITS
|
|
39
37
|
initialExtent: JBounds | null
|
|
40
38
|
maximumExtent: JBounds | null
|
|
41
39
|
terrain?: JTerrainSpecification
|
|
@@ -16,100 +16,42 @@ export type JWindow = globalThis.Window & {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Startup options for JMap Cloud NG.
|
|
20
20
|
*
|
|
21
|
-
*
|
|
21
|
+
* Set `window.JMAP_OPTIONS` before loading the JMap Cloud NG script. The same
|
|
22
|
+
* package can start with the full interface (`ui: "full"`, the default) or with
|
|
23
|
+
* a minimal interface (`ui: "minimal"`).
|
|
22
24
|
*
|
|
23
|
-
* The URL is like "https://cdn.jsdelivr.net/npm/jmap-core-js@0.5.0/public/",
|
|
24
|
-
* but it depends on the version you want to use.
|
|
25
|
-
*
|
|
26
|
-
* First you need to import our JS file in your http file, in order to load the JMap Cloud NG Core library.
|
|
27
|
-
* It's recommended to put the CDN import at the end of the body tag, like that :
|
|
28
25
|
* ```html
|
|
29
|
-
* ...
|
|
30
26
|
* <html>
|
|
31
|
-
* ...
|
|
32
27
|
* <body>
|
|
33
|
-
*
|
|
34
|
-
* <!-- !!! Insert the import at the end of the body tag !!! -->
|
|
35
|
-
* <script defer type="text/javascript" src="https://cdn.jsdelivr.net/npm/jmap-core-js@x.x.x/public/"></script>
|
|
36
|
-
* </body>
|
|
37
|
-
* </html>
|
|
38
|
-
* ```
|
|
39
|
-
* To make the JMap Cloud NG Core library working you need to provide some required information like :
|
|
40
|
-
*
|
|
41
|
-
* - Your JMap Server Rest API URL
|
|
42
|
-
* - The project id to open
|
|
43
|
-
* - A valid JMap user session token, **or** set the JMap Cloud NG Core library to log as "anonymous"
|
|
44
|
-
*
|
|
45
|
-
* It can be passed by setting a global JS variable named "JMAP_OPTIONS" :
|
|
46
|
-
*
|
|
47
|
-
* ```html
|
|
48
|
-
* <html>
|
|
49
|
-
* <body>
|
|
50
|
-
* <script type="text/javascript">
|
|
51
|
-
* window.JMAP_OPTIONS = {
|
|
52
|
-
* // a valid project id
|
|
53
|
-
* projectId: 10,
|
|
54
|
-
* // a valid JMap server Rest url
|
|
55
|
-
* restBaseUrl: "http://my-jmap-server/services/rest/v2.0",
|
|
56
|
-
* session: {
|
|
57
|
-
* // a valid session token
|
|
58
|
-
* token: 2345677654
|
|
59
|
-
* }
|
|
60
|
-
* ... // other optional JMAP params
|
|
61
|
-
* }
|
|
62
|
-
* </script>
|
|
63
|
-
* ... your web page
|
|
64
|
-
* <script defer type="text/javascript" src="https://cdn.jsdelivr.net/npm/jmap-core-js@x.x.x/public/"></script>
|
|
65
|
-
* </body>
|
|
66
|
-
* </html>
|
|
67
|
-
* ```
|
|
68
|
-
*
|
|
69
|
-
* Below a full example of how to start the JMap library in a web page,
|
|
70
|
-
* where parameters ***ngToken*** and ***ngProjectId*** are get from the url :
|
|
71
|
-
* ```html
|
|
72
|
-
* <!DOCTYPE html>
|
|
73
|
-
* <html>
|
|
74
|
-
* <head>
|
|
75
|
-
* <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
|
76
|
-
* <meta charset="UTF-8">
|
|
77
|
-
* </head>
|
|
78
|
-
* <body class="jmap_wrapper">
|
|
79
|
-
* <script type="text/javascript">
|
|
80
|
-
* const url = new URL(window.location.href)
|
|
81
|
-
* const token = url.searchParams.get("ngToken")
|
|
82
|
-
* let projectId = Number(url.searchParams.get("ngProjectId"))
|
|
83
|
-
* if (isNaN(projectId)) {
|
|
84
|
-
* projectId = 0
|
|
85
|
-
* }
|
|
28
|
+
* <script>
|
|
86
29
|
* window.JMAP_OPTIONS = {
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
30
|
+
* restBaseUrl: "https://api.example.com",
|
|
31
|
+
* ui: "minimal",
|
|
32
|
+
* projectId: "my-project-id",
|
|
33
|
+
* organizationId: "my-organization-id",
|
|
34
|
+
* anonymous: true
|
|
90
35
|
* }
|
|
91
36
|
* </script>
|
|
92
|
-
* <script defer
|
|
93
|
-
* </script>
|
|
37
|
+
* <script defer src="https://cdn.jsdelivr.net/npm/jmapcloud-ng@x.x.x/public/index.js"></script>
|
|
94
38
|
* </body>
|
|
95
39
|
* </html>
|
|
96
40
|
* ```
|
|
97
41
|
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
* the **JMap project id=*10***, then load the map in the **div id="*jmap-map*"**.
|
|
42
|
+
* `restBaseUrl` is required. It must point to the JMap Cloud API used by this
|
|
43
|
+
* NG instance. Project and authentication options depend on the integration:
|
|
44
|
+
* a page can open a known project directly, start anonymously for a public
|
|
45
|
+
* project, or rely on the normal interactive authentication flow.
|
|
103
46
|
*/
|
|
104
47
|
export interface JCoreOptions {
|
|
105
48
|
/**
|
|
106
|
-
* The JMap project id.
|
|
49
|
+
* The JMap Cloud project id to open at startup.
|
|
107
50
|
*
|
|
108
|
-
* If both a project id and a project name are provided, project id
|
|
51
|
+
* If both a project id and a project name are provided, the project id is used.
|
|
109
52
|
*
|
|
110
|
-
* If no project name or id
|
|
111
|
-
*
|
|
112
|
-
* So if you want the library to load the project automatically, you need to set the project id.
|
|
53
|
+
* If no project name or id is set, NG starts without automatically opening a
|
|
54
|
+
* project. The full UI can still let the user choose a project when available.
|
|
113
55
|
*
|
|
114
56
|
* ```html
|
|
115
57
|
* <html>
|
|
@@ -129,15 +71,15 @@ export interface JCoreOptions {
|
|
|
129
71
|
*/
|
|
130
72
|
projectId?: JId
|
|
131
73
|
/**
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
* If you can prefer using the project id over the name.
|
|
74
|
+
* The JMap Cloud project name to open at startup.
|
|
135
75
|
*
|
|
136
|
-
*
|
|
76
|
+
* Prefer using `projectId` when possible because names are not guaranteed to
|
|
77
|
+
* be stable.
|
|
137
78
|
*
|
|
138
|
-
* If
|
|
79
|
+
* If both a project id and a project name are provided, the project id is used.
|
|
139
80
|
*
|
|
140
|
-
*
|
|
81
|
+
* If no project name or id is set, NG starts without automatically opening a
|
|
82
|
+
* project. The full UI can still let the user choose a project when available.
|
|
141
83
|
*
|
|
142
84
|
* ```html
|
|
143
85
|
* <html>
|
|
@@ -157,9 +99,9 @@ export interface JCoreOptions {
|
|
|
157
99
|
*/
|
|
158
100
|
projectName?: string
|
|
159
101
|
/**
|
|
160
|
-
*
|
|
102
|
+
* Called when the project list is received from the JMap Cloud API.
|
|
161
103
|
*
|
|
162
|
-
*
|
|
104
|
+
* The event receives a `JProjectAllEventParams` object.
|
|
163
105
|
*
|
|
164
106
|
* ```html
|
|
165
107
|
* <html>
|
|
@@ -181,11 +123,12 @@ export interface JCoreOptions {
|
|
|
181
123
|
*/
|
|
182
124
|
onProjectsChange?(params: JProjectAllEventParams): void
|
|
183
125
|
/**
|
|
184
|
-
* By default project thumbnails are not loaded
|
|
126
|
+
* By default, project thumbnails are not loaded because they are only needed
|
|
127
|
+
* when the integration displays project choices.
|
|
185
128
|
*
|
|
186
|
-
* To load
|
|
129
|
+
* To load project thumbnails asynchronously, set `loadProjectThumbnails` to true.
|
|
187
130
|
*
|
|
188
|
-
*
|
|
131
|
+
* NG will load project thumbnails into the `base64ImageThumbnail` property.
|
|
189
132
|
*
|
|
190
133
|
* The thumbnail is stored as a base64 string image, that you can use to set an img src attribute directly.
|
|
191
134
|
*
|
|
@@ -214,11 +157,12 @@ export interface JCoreOptions {
|
|
|
214
157
|
*/
|
|
215
158
|
loadProjectThumbnails?: boolean
|
|
216
159
|
/**
|
|
217
|
-
* The JMap
|
|
160
|
+
* The JMap Cloud API base URL.
|
|
218
161
|
*
|
|
219
|
-
*
|
|
162
|
+
* This option is required. There is no default value because a JMap Cloud NG
|
|
163
|
+
* instance can be embedded from a page hosted on a different domain than the
|
|
164
|
+
* API it must call.
|
|
220
165
|
*
|
|
221
|
-
* If your are not testing you must provide the url of your JMap REST API :
|
|
222
166
|
* ```html
|
|
223
167
|
* <html>
|
|
224
168
|
* ...
|
|
@@ -226,8 +170,7 @@ export interface JCoreOptions {
|
|
|
226
170
|
* <script type="text/javascript">
|
|
227
171
|
* window.JMAP_OPTIONS = {
|
|
228
172
|
* ...
|
|
229
|
-
*
|
|
230
|
-
* restBaseUrl: "http://my-custom-jmap-server-url/services/rest/v2.0"
|
|
173
|
+
* restBaseUrl: "https://api.example.com"
|
|
231
174
|
* }
|
|
232
175
|
* </script>
|
|
233
176
|
* ...
|
|
@@ -237,13 +180,9 @@ export interface JCoreOptions {
|
|
|
237
180
|
*/
|
|
238
181
|
restBaseUrl?: string
|
|
239
182
|
/**
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
243
|
-
* If the project you access can be accessed anonymously,
|
|
244
|
-
* you are not forced to pass a session token but you have
|
|
245
|
-
* to explicitly tell the JMap Cloud NG library to log as an anonymous
|
|
246
|
-
* user by setting the "***anonymous***" parameter like that :
|
|
183
|
+
* If the selected project is public, NG can start an anonymous session.
|
|
184
|
+
* `anonymous` must be specified together with a valid
|
|
185
|
+
* {@link JCoreOptions.organizationId}, otherwise it is ignored.
|
|
247
186
|
*
|
|
248
187
|
* ```html
|
|
249
188
|
* <html>
|
|
@@ -251,34 +190,33 @@ export interface JCoreOptions {
|
|
|
251
190
|
* <body>
|
|
252
191
|
* <script type="text/javascript">
|
|
253
192
|
* window.JMAP_OPTIONS = {
|
|
254
|
-
*
|
|
255
|
-
* projectId:
|
|
256
|
-
*
|
|
257
|
-
* restBaseUrl: "http://my-jmap-server/services/rest/v2.0",
|
|
258
|
-
* // The anonymous parameter
|
|
193
|
+
* restBaseUrl: "https://api.example.com",
|
|
194
|
+
* projectId: "my-project-id",
|
|
195
|
+
* organizationId: "my-organization-id",
|
|
259
196
|
* anonymous: true
|
|
260
|
-
* // The organization id
|
|
261
|
-
* organizationId: "some-valid-id"
|
|
262
|
-
* ... // other optional JMAP params
|
|
263
197
|
* }
|
|
264
198
|
* </script>
|
|
265
199
|
*
|
|
266
200
|
* ... your web page
|
|
267
201
|
*
|
|
268
|
-
* <script defer
|
|
202
|
+
* <script defer src="https://cdn.jsdelivr.net/npm/jmapcloud-ng@x.x.x/public/index.js"></script>
|
|
269
203
|
* </body>
|
|
270
204
|
* </html>
|
|
271
205
|
* ```
|
|
272
206
|
*/
|
|
273
207
|
anonymous?: boolean
|
|
274
208
|
/**
|
|
275
|
-
*
|
|
209
|
+
* Enables the legacy refresh-token authentication flow.
|
|
276
210
|
*
|
|
277
|
-
*
|
|
211
|
+
* By default, JMap Cloud NG uses the configured OAuth2 authentication flow so
|
|
212
|
+
* it can share a browser session with the JMap Cloud portal.
|
|
278
213
|
*
|
|
279
|
-
*
|
|
214
|
+
* Use `legacyAuthentication: true` only for integrations that still need the
|
|
215
|
+
* refresh-token based flow. {@link JCoreOptions.anonymous} has precedence over
|
|
216
|
+
* `legacyAuthentication`.
|
|
280
217
|
*
|
|
281
|
-
*
|
|
218
|
+
* Specifying {@link JCoreOptions.token} automatically enables legacy
|
|
219
|
+
* authentication. This may change in the future.
|
|
282
220
|
*
|
|
283
221
|
* ```html
|
|
284
222
|
* <html>
|
|
@@ -286,137 +224,74 @@ export interface JCoreOptions {
|
|
|
286
224
|
* <body>
|
|
287
225
|
* <script type="text/javascript">
|
|
288
226
|
* window.JMAP_OPTIONS = {
|
|
289
|
-
*
|
|
227
|
+
* restBaseUrl: "https://api.example.com",
|
|
290
228
|
* projectId: "<project-uuid>",
|
|
291
|
-
* // a valid JMap Cloud Rest url
|
|
292
|
-
* restBaseUrl: "http://my-jmap-server/",
|
|
293
|
-
* // The legacyAuthentication parameter
|
|
294
229
|
* legacyAuthentication: true
|
|
295
|
-
* ... // other optional JMAP params
|
|
296
230
|
* }
|
|
297
231
|
* </script>
|
|
298
232
|
*
|
|
299
233
|
* ... your web page
|
|
300
234
|
*
|
|
301
|
-
* <script defer
|
|
235
|
+
* <script defer src="https://cdn.jsdelivr.net/npm/jmapcloud-ng@x.x.x/public/index.js"></script>
|
|
302
236
|
* </body>
|
|
303
237
|
* </html>
|
|
304
238
|
* ```
|
|
305
239
|
*/
|
|
306
240
|
legacyAuthentication?: boolean
|
|
307
241
|
/**
|
|
308
|
-
* A JMap
|
|
242
|
+
* A JMap Cloud refresh token for the legacy authentication flow.
|
|
309
243
|
*
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
244
|
+
* Prefer the default OAuth2 authentication flow for new integrations. Use this
|
|
245
|
+
* option only when your integration already obtains a refresh token and needs
|
|
246
|
+
* to open a session without user interaction.
|
|
313
247
|
*
|
|
314
248
|
* A refresh token can be used only once.
|
|
315
249
|
*
|
|
316
|
-
* Specifying
|
|
317
|
-
*
|
|
318
|
-
* To get a refresh token, you can use the JMap Rest API on your JMap Cloud Server.
|
|
319
|
-
* See [JMap.User.setToken](../functions/JMap_Cloud_NG_Core___API.JMap.User.setToken.html) for detailed examples on how to fetch a token through JMap's REST API.
|
|
250
|
+
* Specifying `token` automatically activates {@link JCoreOptions.legacyAuthentication}.
|
|
320
251
|
*
|
|
321
|
-
* So to start the library using the fetched token you can configure your startup options like this :
|
|
322
252
|
* ```html
|
|
323
253
|
* <html>
|
|
324
254
|
* ...
|
|
325
255
|
* <body>
|
|
326
256
|
* <script type="text/javascript">
|
|
327
257
|
* window.JMAP_OPTIONS = {
|
|
328
|
-
*
|
|
258
|
+
* restBaseUrl: "https://api.example.com",
|
|
259
|
+
* token: "some-valid-refresh-token",
|
|
260
|
+
* organizationId: "my-organization-id"
|
|
329
261
|
* }
|
|
330
262
|
* </script>
|
|
331
263
|
* ...
|
|
332
|
-
* <script defer
|
|
264
|
+
* <script defer src="https://cdn.jsdelivr.net/npm/jmapcloud-ng@x.x.x/public/index.js"></script>
|
|
333
265
|
* </body>
|
|
334
266
|
* </html>
|
|
335
267
|
* ```
|
|
336
|
-
*
|
|
337
|
-
* If you don't want to make an AJAX call to the REST API, you can use the JMap library to login (JMap will make the AJAX call to the rest API). You have to wait for the lib to be loaded and the server to be ready to accept requests.
|
|
338
|
-
*
|
|
339
|
-
* To know if the lib has been loaded you can check if the JMAp namespace exists or not. See below for an example:
|
|
340
|
-
*
|
|
341
|
-
* ```html
|
|
342
|
-
* <!DOCTYPE html>
|
|
343
|
-
* <html>
|
|
344
|
-
* ...
|
|
345
|
-
* <body class="jmap_wrapper">
|
|
346
|
-
* <script type="text/javascript">
|
|
347
|
-
* console.log("JMap", window.JMap)
|
|
348
|
-
* window.JMAP_OPTIONS = {
|
|
349
|
-
* projectId: 35,
|
|
350
|
-
* restBaseUrl: "https://jmap7dev.jmaponline.net/services/rest/v2.0",
|
|
351
|
-
* map: {
|
|
352
|
-
* zoom: 9.757829447748511,
|
|
353
|
-
* center: {
|
|
354
|
-
* x: -73.66415865898597,
|
|
355
|
-
* y: 45.53583011032552
|
|
356
|
-
* }
|
|
357
|
-
* }
|
|
358
|
-
* }
|
|
359
|
-
* </script>
|
|
360
|
-
* ...
|
|
361
|
-
* <script defer type="text/javascript" src="https://cdn.jsdelivr.net/npm/jmap-core-js@x.x.x/public/index.js"></script>
|
|
362
|
-
* <script>
|
|
363
|
-
* (function jmapLogin() {
|
|
364
|
-
* if (window.hasOwnProperty("JMap") && JMap.Server.isReady()) {
|
|
365
|
-
* JMap.User.login("jdo@company.com", "xxx")
|
|
366
|
-
* } else {
|
|
367
|
-
* console.log("Waiting for the JMap lib to be loaded ...")
|
|
368
|
-
* setTimeout(() => jmapLogin(), 150) // check every 150 milliseconds
|
|
369
|
-
* }
|
|
370
|
-
* })()
|
|
371
|
-
* </script>
|
|
372
|
-
* </body>
|
|
373
|
-
* </html>
|
|
374
|
-
* ```
|
|
375
|
-
*
|
|
376
268
|
*/
|
|
377
269
|
token?: string
|
|
378
270
|
/**
|
|
379
|
-
* The JMap Cloud organization id associated with the
|
|
380
|
-
*
|
|
381
|
-
* For JMap CLoud only. Only taken into account if a refresh token has been passed via the {@link JCoreOptions.token} startup option (or the equivalent hash parameter version)
|
|
382
|
-
* ***or*** if the "anonymous" option has been passed, together with a project id.
|
|
271
|
+
* The JMap Cloud organization id associated with the session.
|
|
383
272
|
*
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
-
* A typical usage for a session opening:
|
|
387
|
-
* ```html
|
|
388
|
-
* <html>
|
|
389
|
-
* ...
|
|
390
|
-
* <body>
|
|
391
|
-
* <script type="text/javascript">
|
|
392
|
-
* window.JMAP_OPTIONS = {
|
|
393
|
-
* token: "v1.MRq [.....] Rehef72YWws", // a refresh token
|
|
394
|
-
* organizationId: "my-organization-id"
|
|
395
|
-
* }
|
|
396
|
-
* </script>
|
|
397
|
-
* ...
|
|
398
|
-
* <script defer type="text/javascript" src="https://cdn.jsdelivr.net/npm/jmap-core-js@x.x.x/public/"></script>
|
|
399
|
-
* </body>
|
|
400
|
-
* </html>
|
|
401
|
-
* ```
|
|
273
|
+
* This option is required when using {@link JCoreOptions.token}. It is also
|
|
274
|
+
* required when using {@link JCoreOptions.anonymous} with a public project.
|
|
402
275
|
*
|
|
403
|
-
* A typical usage for a
|
|
276
|
+
* A typical usage for a public project:
|
|
404
277
|
* ```html
|
|
405
278
|
* <html>
|
|
406
279
|
* ...
|
|
407
280
|
* <body>
|
|
408
281
|
* <script type="text/javascript">
|
|
409
282
|
* window.JMAP_OPTIONS = {
|
|
283
|
+
* restBaseUrl: "https://api.example.com",
|
|
410
284
|
* anonymous: true,
|
|
411
285
|
* projectId: "my-project-id",
|
|
412
286
|
* organizationId: "my-organization-id"
|
|
413
287
|
* }
|
|
414
288
|
* </script>
|
|
415
289
|
* ...
|
|
416
|
-
* <script defer
|
|
290
|
+
* <script defer src="https://cdn.jsdelivr.net/npm/jmapcloud-ng@x.x.x/public/index.js"></script>
|
|
417
291
|
* </body>
|
|
418
292
|
* </html>
|
|
419
|
-
* ```
|
|
293
|
+
* ```
|
|
294
|
+
*/
|
|
420
295
|
organizationId?: string
|
|
421
296
|
/**
|
|
422
297
|
* By default the geolocation service is enabled.
|
|
@@ -448,7 +323,7 @@ export interface JCoreOptions {
|
|
|
448
323
|
/**
|
|
449
324
|
* Optional extensions.
|
|
450
325
|
*
|
|
451
|
-
*
|
|
326
|
+
* See {@link JCoreExtension} for extension configuration details.
|
|
452
327
|
*/
|
|
453
328
|
extensions?: JCoreExtension[]
|
|
454
329
|
/**
|
|
@@ -462,37 +337,30 @@ export interface JCoreOptions {
|
|
|
462
337
|
*/
|
|
463
338
|
locale?: string
|
|
464
339
|
/**
|
|
465
|
-
*
|
|
340
|
+
* Called when JMap Cloud NG is loaded.
|
|
466
341
|
*/
|
|
467
342
|
onReady?: () => void
|
|
468
343
|
/**
|
|
469
|
-
*
|
|
470
|
-
*
|
|
471
|
-
* Ex: the extension having id="custom-extension" is set on the project. Its unique identifier is:
|
|
472
|
-
* * for JMap Server: `serverExtensionId` = "my.extention.classPath"
|
|
473
|
-
* * for JMap Cloud: `jmapCloudExtensionUrn` = "949079ff-d021-45dd-93c0-611bfcebfc2b"
|
|
344
|
+
* Overrides a project's extension `jsUrl` during development.
|
|
474
345
|
*
|
|
475
|
-
*
|
|
346
|
+
* Use this when a project references a published extension but you want NG to
|
|
347
|
+
* load your local development build instead.
|
|
476
348
|
*
|
|
477
|
-
*
|
|
349
|
+
* Example: the project references an extension whose JMap Cloud extension URN is
|
|
350
|
+
* `"949079ff-d021-45dd-93c0-611bfcebfc2b"`, and whose published `jsUrl` is
|
|
351
|
+
* `"https://cdn.jsdelivr.net/npm/custom-extension@1.0.10/public/index.js"`.
|
|
478
352
|
*
|
|
479
|
-
* Your local development
|
|
353
|
+
* Your local development build could be available at
|
|
354
|
+
* `"https://localhost:8083/build/index.js"`.
|
|
480
355
|
*
|
|
481
|
-
*
|
|
482
|
-
*
|
|
483
|
-
* For JMAp Server:
|
|
484
|
-
* [{
|
|
485
|
-
* extensionUniqueIdentifier: "my.extention.classPath",
|
|
486
|
-
* jsUrl: "https://localhost:8083/build/index.js"
|
|
487
|
-
* }]
|
|
356
|
+
* You can then set `JMAP_OPTIONS.extensionsUrlOverride` like this:
|
|
488
357
|
*
|
|
489
|
-
*
|
|
358
|
+
* ```javascript
|
|
490
359
|
* [{
|
|
491
360
|
* extensionUniqueIdentifier: "949079ff-d021-45dd-93c0-611bfcebfc2b",
|
|
492
361
|
* jsUrl: "https://localhost:8083/build/index.js"
|
|
493
362
|
* }]
|
|
494
|
-
*
|
|
495
|
-
*
|
|
363
|
+
* ```
|
|
496
364
|
*/
|
|
497
365
|
extensionsUrlOverride?: JExtensionServerOverride[]
|
|
498
366
|
/**
|
|
@@ -500,31 +368,18 @@ export interface JCoreOptions {
|
|
|
500
368
|
* startup option (`"full"` | `"minimal"`) or the `?ngUi=` URL parameter instead. Kept
|
|
501
369
|
* for source compatibility and will be removed in a future major version.
|
|
502
370
|
*
|
|
503
|
-
* Previously: setting this to `true` suppressed
|
|
371
|
+
* Previously: setting this to `true` suppressed the built-in boot shell
|
|
504
372
|
* (loader, login panel, project selection panel).
|
|
505
373
|
*/
|
|
506
374
|
hideMainLayout?: boolean
|
|
507
375
|
/**
|
|
508
|
-
* Selects which UI shell
|
|
376
|
+
* Selects which UI shell NG renders on top of the map runtime.
|
|
509
377
|
*
|
|
510
378
|
* - `"full"` (default) loads the full NG side-panel UI as a lazy chunk.
|
|
511
|
-
* - `"minimal"` boots
|
|
379
|
+
* - `"minimal"` boots the map runtime and skips the full-UI chunk entirely.
|
|
512
380
|
*
|
|
513
381
|
* Equivalent to the `?ngUi=full|minimal` URL parameter (also accepted as `#ngUi=…`); this
|
|
514
382
|
* option wins when both are set.
|
|
515
383
|
*/
|
|
516
384
|
ui?: "full" | "minimal"
|
|
517
|
-
/**
|
|
518
|
-
* Test-only: pin the AppShell to a specific boot stage so containment / visual specs
|
|
519
|
-
* can drive every pre-app surface deterministically without sequencing a real boot.
|
|
520
|
-
*
|
|
521
|
-
* Accepted values: `"connecting" | "login" | "orgs" | "projects" | "openingProject" |
|
|
522
|
-
* "chunkError" | "error.serverInfo" | "error.anonymousLogin"`.
|
|
523
|
-
*
|
|
524
|
-
* Also accepts a `?__bootStage=<stage>` URL query parameter (useful for iframe
|
|
525
|
-
* scenarios where `JMAP_OPTIONS` is set inside the framed document). This is
|
|
526
|
-
* wired up exclusively for the rendering-tests harness; do not set it in any
|
|
527
|
-
* production boot.
|
|
528
|
-
*/
|
|
529
|
-
testBootStageOverride?: string
|
|
530
385
|
}
|