@finsemble/finsemble-core 6.1.4 → 6.1.5
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/.mocharc.js +12 -12
- package/.nycrc.json +7 -7
- package/README.md +24 -24
- package/assets/fonts/LICENSE.txt +202 -202
- package/configs/core/config.json +214 -214
- package/configs/core/securityPolicies.json +24 -24
- package/configs/core/services.json +233 -233
- package/configs/schemas/README.md +1 -1
- package/configs/schemas/fileBasedSchemas/appdConfigFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/applicationConfigFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/componentsFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/coreConfigFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/dashbarFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/manifestFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/securityPoliciesFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/servicesFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/uiComponentsFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/workspacesFile.schema.json +5 -5
- package/configs/schemas/finsemble.schema.json +4006 -4006
- package/dist/FSBL.js +1 -1
- package/dist/clients/Interop/FinsembleDesktopAgent.md +154 -154
- package/dist/clients/Interop/tsconfig.json +7 -7
- package/dist/clients/Startup/README.md +28 -28
- package/dist/clients/dragAndDropAssets/dragAndDropScrim.css +54 -54
- package/dist/clients/dragAndDropAssets/ff-delete-circle.svg +10 -10
- package/dist/clients/dragAndDropAssets/ff-share.svg +13 -13
- package/dist/components/system/notification/ff-close.svg +14 -14
- package/dist/components/system/notification/finsemble_logo_white.svg +15 -15
- package/dist/components/system/notification/notification.html +155 -155
- package/dist/configs/core/config.json +214 -214
- package/dist/configs/core/securityPolicies.json +24 -24
- package/dist/configs/core/services.json +233 -233
- package/dist/configs/schemas/README.md +1 -1
- package/dist/configs/schemas/fileBasedSchemas/appdConfigFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/applicationConfigFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/componentsFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/coreConfigFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/dashbarFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/manifestFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/securityPoliciesFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/servicesFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/uiComponentsFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/workspacesFile.schema.json +5 -5
- package/dist/configs/schemas/finsemble.schema.json +4006 -4006
- package/dist/finsemble-javascript-adapter.js +1 -1
- package/dist/index.js +1 -1
- package/dist/javascript-adapter-example-app.html +37 -37
- package/dist/services/Interop/DevTools.tsx +71 -71
- package/dist/services/Interop/Interop.html +15 -15
- package/dist/services/Interop/InteropService.js +1 -1
- package/dist/services/Interop/InteropService.md +148 -148
- package/dist/services/Interop/InteropServiceUI.css +12 -12
- package/dist/services/Interop/InteropServiceUI.js +1 -1
- package/dist/services/Interop/InteropServiceUI.tsx +39 -39
- package/dist/services/Interop/devtoolsEnhancer.tsx +63 -63
- package/dist/services/Interop/tsconfig.json +7 -7
- package/dist/services/ServiceTemplate.md +39 -39
- package/dist/services/assimilation/assimilation.html +18 -18
- package/dist/services/assimilation/assimilationService.js +1 -1
- package/dist/services/authentication/authentication.html +17 -17
- package/dist/services/authentication/authenticationService.js +1 -1
- package/dist/services/authentication/dialogSignOn.html +199 -199
- package/dist/services/config/config.html +17 -17
- package/dist/services/config/configService.js +1 -1
- package/dist/services/dataStore/dataStore.html +18 -18
- package/dist/services/dataStore/dataStoreService.js +1 -1
- package/dist/services/hotkeys/hotkeys.html +18 -18
- package/dist/services/hotkeys/hotkeysService.js +1 -1
- package/dist/services/linker/linker.html +18 -18
- package/dist/services/linker/linkerService.js +1 -1
- package/dist/services/logger/logger.html +18 -18
- package/dist/services/logger/loggerService.js +1 -1
- package/dist/services/logger/loggerUI.js +1 -1
- package/dist/services/logger/src/app.css +860 -860
- package/dist/services/logger/src/components/Views/Logs/rightPanel/consoleView.css +379 -379
- package/dist/services/logger/src/components/objectInspector/README.md +1 -1
- package/dist/services/notification/notification.html +11 -11
- package/dist/services/notification/notificationService.js +1 -1
- package/dist/services/preferences/preferencesService.js +1 -1
- package/dist/services/router/router.html +18 -18
- package/dist/services/router/routerService.js +1 -1
- package/dist/services/search/search.html +17 -17
- package/dist/services/search/searchService.js +1 -1
- package/dist/services/storage/adapters/instrumentedIndexedDBAdapter.js +1 -1
- package/dist/services/storage/storage.html +17 -17
- package/dist/services/storage/storageService.js +1 -1
- package/dist/services/systemManager/bootTasks/testTasks/_aReadMe.md +119 -119
- package/dist/services/systemManager/systemManager.html +24 -24
- package/dist/services/systemManager/systemManager.js +1 -1
- package/dist/services/window/Docking/GroupRequirements.md +18 -18
- package/dist/services/window/Splintering/SplinterAgentSlave.html +13 -13
- package/dist/services/window/Splintering/SplinterAgentSlave.js +1 -1
- package/dist/services/window/Splintering/Splintering.md +118 -118
- package/dist/services/window/StackedWindowManager/StackRequirements.md +23 -23
- package/dist/services/window/WindowBehaviorRequirements.md +25 -25
- package/dist/services/window/windowService.html +10 -10
- package/dist/services/window/windowService.js +1 -1
- package/dist/services/workspace/dev-docs/importExportFormat.md +51 -51
- package/dist/services/workspace/dev-docs/remotelyPersistedWorkspaces.md +62 -62
- package/dist/services/workspace/workspace.html +18 -18
- package/dist/services/workspace/workspace.schema.json +48 -48
- package/dist/services/workspace/workspaceService.js +1 -1
- package/package.json +1 -1
- package/tsconfig.json +23 -23
- package/types/index.d.ts +40 -55
- package/types/index.tsbuildinfo +1 -1
- package/types.tsconfig.json +15 -15
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
## Exporting and Importing
|
|
2
|
-
|
|
3
|
-
### Data Format
|
|
4
|
-
|
|
5
|
-
The format for an exported workspace looks like this:
|
|
6
|
-
|
|
7
|
-
```javascript
|
|
8
|
-
{
|
|
9
|
-
"name": "Workspace1",
|
|
10
|
-
"windows": ["window1", "window2"],
|
|
11
|
-
"groups": {},
|
|
12
|
-
"workspaceDefinitionFlag": true,
|
|
13
|
-
"windowData": [
|
|
14
|
-
{
|
|
15
|
-
... descriptor for window 1 ...
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
... descriptor for window 2 ...
|
|
19
|
-
}
|
|
20
|
-
]
|
|
21
|
-
}
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
The `workspaceDefinitionFlag` tells the Workspace Service that this is a workspace. Alternately, setting
|
|
25
|
-
`templateDefinitionFlag` to `true` would tell Finsemble that this is a workspace template. Templates are currently not
|
|
26
|
-
supported.
|
|
27
|
-
|
|
28
|
-
### File Format
|
|
29
|
-
|
|
30
|
-
When workspaces are exported to a JSON file, the file is formatted in this manner:
|
|
31
|
-
|
|
32
|
-
```javascript
|
|
33
|
-
{
|
|
34
|
-
"workspaceTemplates": {
|
|
35
|
-
"Workspace1": {
|
|
36
|
-
"name": "Workspace1",
|
|
37
|
-
"windows": [],
|
|
38
|
-
"groups": {},
|
|
39
|
-
"workspaceDefinitionFlag": true,
|
|
40
|
-
"windowData": []
|
|
41
|
-
},
|
|
42
|
-
"Workspace2": {
|
|
43
|
-
"name": "Workspace2",
|
|
44
|
-
"windows": [],
|
|
45
|
-
"groups": {},
|
|
46
|
-
"workspaceDefinitionFlag": true,
|
|
47
|
-
"windowData": []
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
```
|
|
1
|
+
## Exporting and Importing
|
|
2
|
+
|
|
3
|
+
### Data Format
|
|
4
|
+
|
|
5
|
+
The format for an exported workspace looks like this:
|
|
6
|
+
|
|
7
|
+
```javascript
|
|
8
|
+
{
|
|
9
|
+
"name": "Workspace1",
|
|
10
|
+
"windows": ["window1", "window2"],
|
|
11
|
+
"groups": {},
|
|
12
|
+
"workspaceDefinitionFlag": true,
|
|
13
|
+
"windowData": [
|
|
14
|
+
{
|
|
15
|
+
... descriptor for window 1 ...
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
... descriptor for window 2 ...
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The `workspaceDefinitionFlag` tells the Workspace Service that this is a workspace. Alternately, setting
|
|
25
|
+
`templateDefinitionFlag` to `true` would tell Finsemble that this is a workspace template. Templates are currently not
|
|
26
|
+
supported.
|
|
27
|
+
|
|
28
|
+
### File Format
|
|
29
|
+
|
|
30
|
+
When workspaces are exported to a JSON file, the file is formatted in this manner:
|
|
31
|
+
|
|
32
|
+
```javascript
|
|
33
|
+
{
|
|
34
|
+
"workspaceTemplates": {
|
|
35
|
+
"Workspace1": {
|
|
36
|
+
"name": "Workspace1",
|
|
37
|
+
"windows": [],
|
|
38
|
+
"groups": {},
|
|
39
|
+
"workspaceDefinitionFlag": true,
|
|
40
|
+
"windowData": []
|
|
41
|
+
},
|
|
42
|
+
"Workspace2": {
|
|
43
|
+
"name": "Workspace2",
|
|
44
|
+
"windows": [],
|
|
45
|
+
"groups": {},
|
|
46
|
+
"workspaceDefinitionFlag": true,
|
|
47
|
+
"windowData": []
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
# Remotely Persisted Workspaces
|
|
2
|
-
|
|
3
|
-
## Requirements Summary
|
|
4
|
-
|
|
5
|
-
The below summarizes the requirements, with the specification section clarifying the details.
|
|
6
|
-
|
|
7
|
-
1. A Finsemble user must be able to share and update though a global storage adaptor the same workspace across multiple
|
|
8
|
-
computers. For example, if a user saves their workspace from their work desktop, they can later load and update the
|
|
9
|
-
saved workspace from their home desktop.
|
|
10
|
-
|
|
11
|
-
1. On startup, Finsemble must return to the last used active workspace, even when working across multiple computers. For
|
|
12
|
-
example, if the user’s last active workspace is “Workspace A” (running on their work desktop), then starting
|
|
13
|
-
Finsemble at home will come up with “Workspace A” (even if “Workspace B” was the last workspace used at home).
|
|
14
|
-
|
|
15
|
-
1. Finsemble must limit the frequency of saving workspace data to master storage -- this is an essential underlying
|
|
16
|
-
requirement for saving workspaces across machines using cloud-based storage adapters.
|
|
17
|
-
|
|
18
|
-
## Specifications
|
|
19
|
-
|
|
20
|
-
1. The workspace service must only write to the master storage when the workspace is explicitly saved by the end user.
|
|
21
|
-
1. The workspace service must only read from the master storage when the workspace is loaded.
|
|
22
|
-
1. The last active workspace name must be saved in master storage each time a workspace is loaded.
|
|
23
|
-
1. On startup if a default workspace isn’t specified in preferences, then the last active workspace name must be read
|
|
24
|
-
from master storage to determine the initial workspace to load.
|
|
25
|
-
1. The integrity of the workspace definition in master storage must be maintained (i.e. storage writes must not leave a
|
|
26
|
-
workspace definition is an inconsistent state if possible).
|
|
27
|
-
1. If there is an error reading master storage on startup, then a user notification must be issued and the active
|
|
28
|
-
workspace read instead from cache storage.
|
|
29
|
-
1. If there is an error reading active-workspace on startup, after a master storage error, then a user notification must
|
|
30
|
-
be issued and the empty workspace loaded.
|
|
31
|
-
1. If there is an error writing to the master storage, then a user prompt must be issued, giving the choice to continue
|
|
32
|
-
without writing (losing changes) or stop the current operation (i.e. a switch or a shutdown).
|
|
33
|
-
1. If there is an error reading master storage on a switch operation, then a user notification must be issued and the
|
|
34
|
-
switch terminated, leaving the active workspace unchanged.
|
|
35
|
-
|
|
36
|
-
## Startup Flow for Opening Initial Workspace
|
|
37
|
-
|
|
38
|
-
```mermaid
|
|
39
|
-
graph TD;
|
|
40
|
-
wait[wait for startup's User stage] --> checkForDefault;
|
|
41
|
-
checkForDefault[is default workspace name defined in preferences] -->|defined|loadDefault;
|
|
42
|
-
checkForDefault[is default workspace name defined in preferences] -->|not defined| readName;
|
|
43
|
-
readName[read last-active-workspace-name from master storage] -->|successful| loadDefault;
|
|
44
|
-
readName[read last-active-workspace-name from master storage] -->|error| readActive;
|
|
45
|
-
loadDefault[load specified workspace from master storage] -->|successful| done;
|
|
46
|
-
loadDefault[load specified workspace from master storage] -->|error| readActive;
|
|
47
|
-
readActive[read active workspace from cache storage] -->|successful| done;
|
|
48
|
-
readActive -->|error| loadEmpty;
|
|
49
|
-
loadEmpty[load empty workspace] -->|always successful| done;
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Caveats
|
|
54
|
-
|
|
55
|
-
1. Multiple users concurrently sharing the same Finsemble account and workspaces from different computers is not
|
|
56
|
-
supported because of extra underlying synchronization requirements -- each user must have their own account and
|
|
57
|
-
actively use one machine at a time (staying logged in at work while working from home is allowed).
|
|
58
|
-
2. If a user is logged into multiple machines and moving between them, then changes made one machine won't be reflected
|
|
59
|
-
on the other until a workspace reload is done. Also, if changes are made to the active workspaces on both machines
|
|
60
|
-
without saving, then there is the potential to lose changes from one of the machines when later saving.
|
|
61
|
-
3. The above assumes no programmatic reading/writing of the remote workspace, either by client devs or by Finsemble code
|
|
62
|
-
outside of the workspace service.
|
|
1
|
+
# Remotely Persisted Workspaces
|
|
2
|
+
|
|
3
|
+
## Requirements Summary
|
|
4
|
+
|
|
5
|
+
The below summarizes the requirements, with the specification section clarifying the details.
|
|
6
|
+
|
|
7
|
+
1. A Finsemble user must be able to share and update though a global storage adaptor the same workspace across multiple
|
|
8
|
+
computers. For example, if a user saves their workspace from their work desktop, they can later load and update the
|
|
9
|
+
saved workspace from their home desktop.
|
|
10
|
+
|
|
11
|
+
1. On startup, Finsemble must return to the last used active workspace, even when working across multiple computers. For
|
|
12
|
+
example, if the user’s last active workspace is “Workspace A” (running on their work desktop), then starting
|
|
13
|
+
Finsemble at home will come up with “Workspace A” (even if “Workspace B” was the last workspace used at home).
|
|
14
|
+
|
|
15
|
+
1. Finsemble must limit the frequency of saving workspace data to master storage -- this is an essential underlying
|
|
16
|
+
requirement for saving workspaces across machines using cloud-based storage adapters.
|
|
17
|
+
|
|
18
|
+
## Specifications
|
|
19
|
+
|
|
20
|
+
1. The workspace service must only write to the master storage when the workspace is explicitly saved by the end user.
|
|
21
|
+
1. The workspace service must only read from the master storage when the workspace is loaded.
|
|
22
|
+
1. The last active workspace name must be saved in master storage each time a workspace is loaded.
|
|
23
|
+
1. On startup if a default workspace isn’t specified in preferences, then the last active workspace name must be read
|
|
24
|
+
from master storage to determine the initial workspace to load.
|
|
25
|
+
1. The integrity of the workspace definition in master storage must be maintained (i.e. storage writes must not leave a
|
|
26
|
+
workspace definition is an inconsistent state if possible).
|
|
27
|
+
1. If there is an error reading master storage on startup, then a user notification must be issued and the active
|
|
28
|
+
workspace read instead from cache storage.
|
|
29
|
+
1. If there is an error reading active-workspace on startup, after a master storage error, then a user notification must
|
|
30
|
+
be issued and the empty workspace loaded.
|
|
31
|
+
1. If there is an error writing to the master storage, then a user prompt must be issued, giving the choice to continue
|
|
32
|
+
without writing (losing changes) or stop the current operation (i.e. a switch or a shutdown).
|
|
33
|
+
1. If there is an error reading master storage on a switch operation, then a user notification must be issued and the
|
|
34
|
+
switch terminated, leaving the active workspace unchanged.
|
|
35
|
+
|
|
36
|
+
## Startup Flow for Opening Initial Workspace
|
|
37
|
+
|
|
38
|
+
```mermaid
|
|
39
|
+
graph TD;
|
|
40
|
+
wait[wait for startup's User stage] --> checkForDefault;
|
|
41
|
+
checkForDefault[is default workspace name defined in preferences] -->|defined|loadDefault;
|
|
42
|
+
checkForDefault[is default workspace name defined in preferences] -->|not defined| readName;
|
|
43
|
+
readName[read last-active-workspace-name from master storage] -->|successful| loadDefault;
|
|
44
|
+
readName[read last-active-workspace-name from master storage] -->|error| readActive;
|
|
45
|
+
loadDefault[load specified workspace from master storage] -->|successful| done;
|
|
46
|
+
loadDefault[load specified workspace from master storage] -->|error| readActive;
|
|
47
|
+
readActive[read active workspace from cache storage] -->|successful| done;
|
|
48
|
+
readActive -->|error| loadEmpty;
|
|
49
|
+
loadEmpty[load empty workspace] -->|always successful| done;
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Caveats
|
|
54
|
+
|
|
55
|
+
1. Multiple users concurrently sharing the same Finsemble account and workspaces from different computers is not
|
|
56
|
+
supported because of extra underlying synchronization requirements -- each user must have their own account and
|
|
57
|
+
actively use one machine at a time (staying logged in at work while working from home is allowed).
|
|
58
|
+
2. If a user is logged into multiple machines and moving between them, then changes made one machine won't be reflected
|
|
59
|
+
on the other until a workspace reload is done. Also, if changes are made to the active workspaces on both machines
|
|
60
|
+
without saving, then there is the potential to lose changes from one of the machines when later saving.
|
|
61
|
+
3. The above assumes no programmatic reading/writing of the remote workspace, either by client devs or by Finsemble code
|
|
62
|
+
outside of the workspace service.
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
|
|
3
|
-
<html>
|
|
4
|
-
<!--
|
|
5
|
-
/*!
|
|
6
|
-
* Copyright 2017 - 2020 by ChartIQ, Inc.
|
|
7
|
-
* All rights reserved.
|
|
8
|
-
*/
|
|
9
|
-
-->
|
|
10
|
-
|
|
11
|
-
<head>
|
|
12
|
-
<meta charset="utf-8" />
|
|
13
|
-
<title>Workspace Service</title>
|
|
14
|
-
<script src="./workspaceService.js"></script>
|
|
15
|
-
</head>
|
|
16
|
-
|
|
17
|
-
<body></body>
|
|
18
|
-
</html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
|
|
3
|
+
<html>
|
|
4
|
+
<!--
|
|
5
|
+
/*!
|
|
6
|
+
* Copyright 2017 - 2020 by ChartIQ, Inc.
|
|
7
|
+
* All rights reserved.
|
|
8
|
+
*/
|
|
9
|
+
-->
|
|
10
|
+
|
|
11
|
+
<head>
|
|
12
|
+
<meta charset="utf-8" />
|
|
13
|
+
<title>Workspace Service</title>
|
|
14
|
+
<script src="./workspaceService.js"></script>
|
|
15
|
+
</head>
|
|
16
|
+
|
|
17
|
+
<body></body>
|
|
18
|
+
</html>
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
{
|
|
2
|
-
"definitions": {},
|
|
3
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
-
"$id": "http://example.com/root.json",
|
|
5
|
-
"type": "object",
|
|
6
|
-
"title": "The Root Schema",
|
|
7
|
-
"required": ["version", "name", "dirty", "windows", "type"],
|
|
8
|
-
"properties": {
|
|
9
|
-
"version": {
|
|
10
|
-
"$id": "#/properties/version",
|
|
11
|
-
"type": "string",
|
|
12
|
-
"title": "The Version Schema",
|
|
13
|
-
"default": "",
|
|
14
|
-
"examples": ["1.0.0"],
|
|
15
|
-
"pattern": "^(.*)$"
|
|
16
|
-
},
|
|
17
|
-
"name": {
|
|
18
|
-
"$id": "#/properties/name",
|
|
19
|
-
"type": "string",
|
|
20
|
-
"title": "The Name Schema",
|
|
21
|
-
"default": "",
|
|
22
|
-
"examples": ["ws"],
|
|
23
|
-
"pattern": "^(.*)$"
|
|
24
|
-
},
|
|
25
|
-
"dirty": {
|
|
26
|
-
"$id": "#/properties/dirty",
|
|
27
|
-
"type": "boolean",
|
|
28
|
-
"title": "The Dirty Schema",
|
|
29
|
-
"default": false,
|
|
30
|
-
"examples": [false]
|
|
31
|
-
},
|
|
32
|
-
"windows": {
|
|
33
|
-
"$id": "#/properties/windows",
|
|
34
|
-
"type": "array",
|
|
35
|
-
"title": "The Windows Schema",
|
|
36
|
-
"default": null,
|
|
37
|
-
"changeme": ""
|
|
38
|
-
},
|
|
39
|
-
"type": {
|
|
40
|
-
"$id": "#/properties/type",
|
|
41
|
-
"type": "string",
|
|
42
|
-
"title": "The Type Schema",
|
|
43
|
-
"default": "",
|
|
44
|
-
"examples": ["workspace"],
|
|
45
|
-
"pattern": "^(.*)$"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"definitions": {},
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"$id": "http://example.com/root.json",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"title": "The Root Schema",
|
|
7
|
+
"required": ["version", "name", "dirty", "windows", "type"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"version": {
|
|
10
|
+
"$id": "#/properties/version",
|
|
11
|
+
"type": "string",
|
|
12
|
+
"title": "The Version Schema",
|
|
13
|
+
"default": "",
|
|
14
|
+
"examples": ["1.0.0"],
|
|
15
|
+
"pattern": "^(.*)$"
|
|
16
|
+
},
|
|
17
|
+
"name": {
|
|
18
|
+
"$id": "#/properties/name",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"title": "The Name Schema",
|
|
21
|
+
"default": "",
|
|
22
|
+
"examples": ["ws"],
|
|
23
|
+
"pattern": "^(.*)$"
|
|
24
|
+
},
|
|
25
|
+
"dirty": {
|
|
26
|
+
"$id": "#/properties/dirty",
|
|
27
|
+
"type": "boolean",
|
|
28
|
+
"title": "The Dirty Schema",
|
|
29
|
+
"default": false,
|
|
30
|
+
"examples": [false]
|
|
31
|
+
},
|
|
32
|
+
"windows": {
|
|
33
|
+
"$id": "#/properties/windows",
|
|
34
|
+
"type": "array",
|
|
35
|
+
"title": "The Windows Schema",
|
|
36
|
+
"default": null,
|
|
37
|
+
"changeme": ""
|
|
38
|
+
},
|
|
39
|
+
"type": {
|
|
40
|
+
"$id": "#/properties/type",
|
|
41
|
+
"type": "string",
|
|
42
|
+
"title": "The Type Schema",
|
|
43
|
+
"default": "",
|
|
44
|
+
"examples": ["workspace"],
|
|
45
|
+
"pattern": "^(.*)$"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|