retold-data-service 2.1.1 → 2.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/BUILDING-AND-PUBLISHING.md +2 -2
- package/Dockerfile +1 -1
- package/README.md +12 -27
- package/build-all.js +66 -0
- package/diagrams/architecture.excalidraw +2966 -0
- package/diagrams/architecture.mmd +17 -0
- package/diagrams/architecture.svg +2 -0
- package/docs/README.md +12 -12
- package/docs/_brand.json +18 -0
- package/docs/_cover.md +1 -1
- package/docs/_topbar.md +1 -1
- package/docs/_version.json +3 -3
- package/docs/api/reference.md +8 -8
- package/docs/architecture.md +6 -84
- package/docs/diagrams/component-diagram.excalidraw +2807 -0
- package/docs/diagrams/component-diagram.mmd +14 -0
- package/docs/diagrams/component-diagram.svg +2 -0
- package/docs/diagrams/component-stack.excalidraw +1169 -0
- package/docs/diagrams/component-stack.mmd +6 -0
- package/docs/diagrams/component-stack.svg +2 -0
- package/docs/diagrams/hook-execution-order.excalidraw +3230 -0
- package/docs/diagrams/hook-execution-order.mmd +19 -0
- package/docs/diagrams/hook-execution-order.svg +2 -0
- package/docs/diagrams/initialization-flow.excalidraw +1800 -0
- package/docs/diagrams/initialization-flow.mmd +22 -0
- package/docs/diagrams/initialization-flow.svg +2 -0
- package/docs/index.html +6 -7
- package/docs/lifecycle-hooks.md +2 -21
- package/docs/retold-catalog.json +141 -141
- package/docs/retold-keyword-index.json +6818 -1608
- package/package.json +130 -96
- package/source/services/RetoldDataService-Brand.js +13 -0
- package/source/services/comprehension-loader/pict-app/Pict-Application-ComprehensionLoader.js +65 -15
- package/source/services/comprehension-loader/pict-app/providers/Pict-Provider-ComprehensionLoader.js +2 -2
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-Layout.js +68 -114
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-Load.js +29 -29
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-Schema.js +3 -3
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-Session.js +2 -2
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-SettingsPanel.js +62 -0
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-Shell.js +142 -0
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-Source.js +7 -7
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-StatusBar.js +125 -0
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-StatusDetail.js +89 -0
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-TopBar-Nav.js +42 -0
- package/source/services/comprehension-loader/pict-app/views/PictView-ComprehensionLoader-TopBar-User.js +48 -0
- package/source/services/comprehension-loader/web/comprehension-loader.js +5475 -6243
- package/source/services/comprehension-loader/web/comprehension-loader.js.map +1 -1
- package/source/services/comprehension-loader/web/comprehension-loader.min.js +75 -1
- package/source/services/comprehension-loader/web/comprehension-loader.min.js.map +1 -1
- package/source/services/comprehension-loader/web/favicons/favicon-dark.svg +13 -0
- package/source/services/comprehension-loader/web/favicons/favicon-light.svg +13 -0
- package/source/services/comprehension-loader/web/favicons/favicon.svg +13 -0
- package/source/services/comprehension-loader/web/index.html +3 -0
- package/source/services/comprehension-loader/web/pict.min.js +12 -0
- package/source/services/data-cloner/DataCloner-Command-Headless.js +2 -1
- package/source/services/data-cloner/DataCloner-Command-Sync.js +110 -75
- package/source/services/data-cloner/pict-app/Pict-Application-DataCloner.js +70 -47
- package/source/services/data-cloner/pict-app/providers/Pict-Provider-DataCloner.js +3 -3
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-Connection.js +1 -1
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-Deploy.js +5 -5
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-Export.js +11 -11
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-Layout.js +89 -135
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-Schema.js +3 -3
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-Session.js +2 -2
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-SettingsPanel.js +61 -0
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-Shell.js +136 -0
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-StatusBar.js +117 -0
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-StatusDetail.js +81 -0
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-Sync.js +38 -38
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-TopBar-Nav.js +42 -0
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-TopBar-User.js +48 -0
- package/source/services/data-cloner/pict-app/views/PictView-DataCloner-ViewData.js +5 -5
- package/source/services/data-cloner/web/data-cloner.js +5855 -8067
- package/source/services/data-cloner/web/data-cloner.js.map +1 -1
- package/source/services/data-cloner/web/data-cloner.min.js +75 -1
- package/source/services/data-cloner/web/data-cloner.min.js.map +1 -1
- package/source/services/data-cloner/web/favicons/favicon-dark.svg +13 -0
- package/source/services/data-cloner/web/favicons/favicon-light.svg +13 -0
- package/source/services/data-cloner/web/favicons/favicon.svg +13 -0
- package/source/services/data-cloner/web/favicons/favicons/favicon-dark.svg +13 -0
- package/source/services/data-cloner/web/favicons/favicons/favicon-light.svg +13 -0
- package/source/services/data-cloner/web/favicons/favicons/favicon.svg +13 -0
- package/source/services/data-cloner/web/index.html +3 -0
- package/source/services/data-cloner/web/pict.min.js +12 -0
- package/test/Bundles_smoke_tests.js +43 -0
- package/test/ComprehensionLoader_smoke_tests.js +95 -0
- package/test/DataCloner-RuntimeOverrides_tests.js +344 -0
- package/test/DataCloner_smoke_tests.js +87 -0
- package/docs/css/docuserve.css +0 -327
package/package.json
CHANGED
|
@@ -1,98 +1,132 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
2
|
+
"name": "retold-data-service",
|
|
3
|
+
"version": "2.1.5",
|
|
4
|
+
"description": "Serve up a whole model!",
|
|
5
|
+
"main": "source/Retold-Data-Service.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"retold-data-service-clone": "bin/retold-data-service-clone.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"start": "node bin/retold-data-service-clone.js",
|
|
11
|
+
"coverage": "npx quack coverage",
|
|
12
|
+
"test": "npx quack test",
|
|
13
|
+
"brand": "node node_modules/pict-section-theme/bin/pict-section-theme-brand.js --manifest ../../../Retold-Modules-Manifest.json --module retold-data-service --favicons source/services/comprehension-loader/web/favicons && cp -r source/services/comprehension-loader/web/favicons source/services/data-cloner/web/favicons",
|
|
14
|
+
"build": "node build-all.js",
|
|
15
|
+
"build:cloner": "npx quack build",
|
|
16
|
+
"build:loader": "node -e \"require('fs').writeFileSync('.quackage.json', require('fs').readFileSync('.quackage-comprehension-loader.json', 'utf8'))\" && npx quack build",
|
|
17
|
+
"prepublishOnly": "npm run build",
|
|
18
|
+
"build-test-model": "cd test && npx stricture -i model/ddl/BookStore.ddl",
|
|
19
|
+
"docker-dev-build": "docker build ./ -f Dockerfile_LUXURYCode -t retold-data-service-image:local",
|
|
20
|
+
"docker-dev-run": "docker run -it -d --name retold-data-service-dev -p 44444:8080 -p 43306:3306 -p 48086:8086 -v \"$PWD/.config:/home/coder/.config\" -v \"$PWD:/home/coder/retold-data-service\" -u \"$(id -u):$(id -g)\" -e \"DOCKER_USER=$USER\" retold-data-service-image:local",
|
|
21
|
+
"docker-dev-shell": "docker exec -it retold-data-service-dev /bin/bash",
|
|
22
|
+
"docker-service-build": "docker build ./ -f Dockerfile_Service -t retold-data-service-server-image:local",
|
|
23
|
+
"docker-service-run-test": "docker run -it --init -d --name retold-data-service -p 8086:8086 -p 43306:3306 -v \"$(pwd):/retold-data-service:z\" -u \"$(id -u):$(id -g)\" retold-data-service-server-image:local",
|
|
24
|
+
"docker-service-run": "docker run -it --init -d --name retold-data-service -p 8086:8086 -p 43306:3306 -v \"$(pwd):/retold-data-service:z\" retold-data-service-server-image:local",
|
|
25
|
+
"docker-service-shell": "docker exec -it retold-data-service /bin/bash",
|
|
26
|
+
"test:integration": "node test/run-integration-tests.js",
|
|
27
|
+
"test:integration:no-browser": "node test/run-integration-tests.js --skip-puppeteer",
|
|
28
|
+
"test:all": "npx quack test && node test/run-integration-tests.js --skip-puppeteer",
|
|
29
|
+
"postversion": "npx quack release postversion",
|
|
30
|
+
"postpublish": "npx quack release postpublish",
|
|
31
|
+
"publish:docker": "npx quack release publish --image",
|
|
32
|
+
"release:patch": "npx quack release patch",
|
|
33
|
+
"release:minor": "npx quack release minor",
|
|
34
|
+
"release:major": "npx quack release major",
|
|
35
|
+
"release:patch:image": "npx quack release patch --image",
|
|
36
|
+
"release:minor:image": "npx quack release minor --image",
|
|
37
|
+
"release:major:image": "npx quack release major --image"
|
|
38
|
+
},
|
|
39
|
+
"mocha": {
|
|
40
|
+
"spec": [
|
|
41
|
+
"test/RetoldDataService_tests.js",
|
|
42
|
+
"test/Bundles_smoke_tests.js",
|
|
43
|
+
"test/ComprehensionLoader_smoke_tests.js",
|
|
44
|
+
"test/DataCloner_smoke_tests.js"
|
|
45
|
+
],
|
|
46
|
+
"diff": true,
|
|
47
|
+
"extension": [
|
|
48
|
+
"js"
|
|
49
|
+
],
|
|
50
|
+
"package": "./package.json",
|
|
51
|
+
"reporter": "spec",
|
|
52
|
+
"slow": "75",
|
|
53
|
+
"timeout": "5000",
|
|
54
|
+
"ui": "tdd",
|
|
55
|
+
"watch-files": [
|
|
56
|
+
"source/**/*.js",
|
|
57
|
+
"test/**/*.js"
|
|
58
|
+
],
|
|
59
|
+
"watch-ignore": [
|
|
60
|
+
"lib/vendor"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"repository": {
|
|
64
|
+
"type": "git",
|
|
65
|
+
"url": "https://github.com/fable-retold/retold-data-service.git"
|
|
66
|
+
},
|
|
67
|
+
"keywords": [
|
|
68
|
+
"entity",
|
|
69
|
+
"behavior",
|
|
70
|
+
"api"
|
|
71
|
+
],
|
|
72
|
+
"author": "Steven Velozo <steven@velozo.com> (http://velozo.com/)",
|
|
73
|
+
"license": "MIT",
|
|
74
|
+
"bugs": {
|
|
75
|
+
"url": "https://github.com/fable-retold/retold-data-service/issues"
|
|
76
|
+
},
|
|
77
|
+
"homepage": "https://github.com/fable-retold/retold-data-service",
|
|
78
|
+
"devDependencies": {
|
|
79
|
+
"chai": "^4.5.0",
|
|
80
|
+
"jsdom": "^25.0.1",
|
|
81
|
+
"meadow-connection-sqlite": "^1.0.20",
|
|
82
|
+
"mocha": "^11.0.1",
|
|
83
|
+
"pict-docuserve": "^1.4.19",
|
|
84
|
+
"puppeteer": "^24.40.0",
|
|
85
|
+
"quackage": "^1.3.0",
|
|
86
|
+
"stricture": "^4.0.6",
|
|
87
|
+
"supertest": "^7.2.2"
|
|
88
|
+
},
|
|
89
|
+
"dependencies": {
|
|
90
|
+
"bibliograph": "^1.0.0",
|
|
91
|
+
"fable": "^3.1.75",
|
|
92
|
+
"fable-serviceproviderbase": "^3.0.19",
|
|
93
|
+
"meadow": "^2.0.43",
|
|
94
|
+
"meadow-connection-manager": "^1.1.5",
|
|
95
|
+
"meadow-connection-mysql": "^1.0.19",
|
|
96
|
+
"meadow-endpoints": "^4.0.22",
|
|
97
|
+
"meadow-integration": "^1.0.42",
|
|
98
|
+
"meadow-migrationmanager": "^1.0.4",
|
|
99
|
+
"orator": "^6.1.2",
|
|
100
|
+
"orator-http-proxy": "^1.0.5",
|
|
101
|
+
"orator-serviceserver-restify": "^2.0.11",
|
|
102
|
+
"orator-static-server": "^2.1.4",
|
|
103
|
+
"pict": "^1.0.372",
|
|
104
|
+
"pict-provider-theme": "^1.1.2",
|
|
105
|
+
"pict-section-connection-form": "^1.0.0",
|
|
106
|
+
"pict-section-histogram": "^1.0.1",
|
|
107
|
+
"pict-section-modal": "^1.1.4",
|
|
108
|
+
"pict-section-theme": "^1.1.1",
|
|
109
|
+
"pict-sessionmanager": "^1.0.2",
|
|
110
|
+
"stricture": "^4.0.6"
|
|
111
|
+
},
|
|
112
|
+
"retold": {
|
|
113
|
+
"brand": {
|
|
114
|
+
"Hash": "retold-data-service",
|
|
115
|
+
"Name": "Retold Data Service",
|
|
116
|
+
"Tagline": "Schema-driven data movement and comprehension",
|
|
117
|
+
"Palette": "ocean",
|
|
118
|
+
"Icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\" width=\"96\" height=\"96\">\n\t\t<defs>\n\t\t\t<clipPath id=\"frame-retold-data-service-filled-light\">\n\t\t\t\t<path d=\"M 48.00 2.00 L 87.84 25.00 L 87.84 71.00 L 48.00 94.00 L 8.16 71.00 L 8.16 25.00 Z\"/>\n\t\t\t</clipPath>\n\t\t</defs>\n\t\t<path d=\"M 48.00 2.00 L 87.84 25.00 L 87.84 71.00 L 48.00 94.00 L 8.16 71.00 L 8.16 25.00 Z\" fill=\"#23a6c7\"/>\n\t\t<g clip-path=\"url(#frame-retold-data-service-filled-light)\"><rect x=\"20\" y=\"20\" width=\"56\" height=\"56\" rx=\"8\" fill=\"rgba(255,255,255,0.18)\"/>\n\t\t\t\t\t<path d=\"M 48 30 L 70 48 L 48 66 L 26 48 Z\" fill=\"#e36b59\"/></g>\n\t\t<text x=\"48\" y=\"50\" text-anchor=\"middle\" dominant-baseline=\"central\"\n\t\t\tfont-family=\"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif\"\n\t\t\tfont-size=\"28\" font-weight=\"600\"\n\t\t\tfill=\"#ffffff\" letter-spacing=\"-1\">RDS</text>\n\t</svg>",
|
|
119
|
+
"IconType": "svg",
|
|
120
|
+
"Favicon": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\" width=\"96\" height=\"96\">\n\t\t<defs>\n\t\t\t<clipPath id=\"fav-retold-data-service-light\">\n\t\t\t\t<path d=\"M 48.00 2.00 L 87.84 25.00 L 87.84 71.00 L 48.00 94.00 L 8.16 71.00 L 8.16 25.00 Z\"/>\n\t\t\t</clipPath>\n\t\t</defs>\n\t\t<path d=\"M 48.00 2.00 L 87.84 25.00 L 87.84 71.00 L 48.00 94.00 L 8.16 71.00 L 8.16 25.00 Z\" fill=\"#23a6c7\"/>\n\t\t<g clip-path=\"url(#fav-retold-data-service-light)\"><rect x=\"16\" y=\"16\" width=\"64\" height=\"64\" rx=\"10\" fill=\"rgba(255,255,255,0.22)\"/></g>\n\t\t<text x=\"48\" y=\"50\" text-anchor=\"middle\" dominant-baseline=\"central\"\n\t\t\tfont-family=\"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif\"\n\t\t\tfont-size=\"60\" font-weight=\"800\"\n\t\t\tfill=\"#ffffff\" letter-spacing=\"-1\">R</text>\n\t</svg>",
|
|
121
|
+
"FaviconDark": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\" width=\"96\" height=\"96\">\n\t\t<defs>\n\t\t\t<clipPath id=\"fav-retold-data-service-dark\">\n\t\t\t\t<path d=\"M 48.00 2.00 L 87.84 25.00 L 87.84 71.00 L 48.00 94.00 L 8.16 71.00 L 8.16 25.00 Z\"/>\n\t\t\t</clipPath>\n\t\t</defs>\n\t\t<path d=\"M 48.00 2.00 L 87.84 25.00 L 87.84 71.00 L 48.00 94.00 L 8.16 71.00 L 8.16 25.00 Z\" fill=\"#67c6de\"/>\n\t\t<g clip-path=\"url(#fav-retold-data-service-dark)\"><rect x=\"16\" y=\"16\" width=\"64\" height=\"64\" rx=\"10\" fill=\"rgba(255,255,255,0.22)\"/></g>\n\t\t<text x=\"48\" y=\"50\" text-anchor=\"middle\" dominant-baseline=\"central\"\n\t\t\tfont-family=\"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif\"\n\t\t\tfont-size=\"60\" font-weight=\"800\"\n\t\t\tfill=\"#101418\" letter-spacing=\"-1\">R</text>\n\t</svg>",
|
|
122
|
+
"Colors": {
|
|
123
|
+
"Primary": "#23a6c7",
|
|
124
|
+
"Secondary": "#e36b59",
|
|
125
|
+
"PrimaryLight": "#23a6c7",
|
|
126
|
+
"PrimaryDark": "#67c6de",
|
|
127
|
+
"SecondaryLight": "#e36b59",
|
|
128
|
+
"SecondaryDark": "#edb3aa"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
98
132
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Located at source/services/. Apps live one level deeper at
|
|
4
|
+
// source/services/<app>/pict-app/. The package.json is two levels up.
|
|
5
|
+
const tmpPackage = require('../../package.json');
|
|
6
|
+
|
|
7
|
+
if (!tmpPackage.retold || !tmpPackage.retold.brand)
|
|
8
|
+
{
|
|
9
|
+
throw new Error('retold-data-service: package.json is missing retold.brand — '
|
|
10
|
+
+ 'run `npm run brand` (which calls pict-section-theme-brand) before building');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
module.exports = tmpPackage.retold.brand;
|
package/source/services/comprehension-loader/pict-app/Pict-Application-ComprehensionLoader.js
CHANGED
|
@@ -2,28 +2,41 @@ const libPictApplication = require('pict-application');
|
|
|
2
2
|
|
|
3
3
|
const libProvider = require('./providers/Pict-Provider-ComprehensionLoader.js');
|
|
4
4
|
|
|
5
|
-
const libViewLayout
|
|
6
|
-
const libViewSession
|
|
7
|
-
const libViewSchema
|
|
8
|
-
const libViewSource
|
|
9
|
-
const libViewLoad
|
|
5
|
+
const libViewLayout = require('./views/PictView-ComprehensionLoader-Layout.js');
|
|
6
|
+
const libViewSession = require('./views/PictView-ComprehensionLoader-Session.js');
|
|
7
|
+
const libViewSchema = require('./views/PictView-ComprehensionLoader-Schema.js');
|
|
8
|
+
const libViewSource = require('./views/PictView-ComprehensionLoader-Source.js');
|
|
9
|
+
const libViewLoad = require('./views/PictView-ComprehensionLoader-Load.js');
|
|
10
10
|
const libViewHistogram = require('pict-section-histogram');
|
|
11
11
|
|
|
12
|
+
const libPictSectionModal = require('pict-section-modal');
|
|
13
|
+
const libPictSectionTheme = require('pict-section-theme');
|
|
14
|
+
const libBrand = require('../../RetoldDataService-Brand.js');
|
|
15
|
+
|
|
16
|
+
const libViewShell = require('./views/PictView-ComprehensionLoader-Shell.js');
|
|
17
|
+
const libViewTopBarNav = require('./views/PictView-ComprehensionLoader-TopBar-Nav.js');
|
|
18
|
+
const libViewTopBarUser = require('./views/PictView-ComprehensionLoader-TopBar-User.js');
|
|
19
|
+
const libViewStatusBar = require('./views/PictView-ComprehensionLoader-StatusBar.js');
|
|
20
|
+
const libViewStatusDetail = require('./views/PictView-ComprehensionLoader-StatusDetail.js');
|
|
21
|
+
const libViewSettings = require('./views/PictView-ComprehensionLoader-SettingsPanel.js');
|
|
22
|
+
|
|
12
23
|
class ComprehensionLoaderApplication extends libPictApplication
|
|
13
24
|
{
|
|
14
25
|
constructor(pFable, pOptions, pServiceHash)
|
|
15
26
|
{
|
|
16
27
|
super(pFable, pOptions, pServiceHash);
|
|
17
28
|
|
|
18
|
-
//
|
|
19
|
-
this.pict.
|
|
29
|
+
// 1. Modal section (provides shell + panels + modal API).
|
|
30
|
+
this.pict.addView('Pict-Section-Modal',
|
|
31
|
+
libPictSectionModal.default_configuration, libPictSectionModal);
|
|
20
32
|
|
|
21
|
-
//
|
|
22
|
-
this.pict.
|
|
33
|
+
// 2. Provider + existing section views.
|
|
34
|
+
this.pict.addProvider('ComprehensionLoader', libProvider.default_configuration, libProvider);
|
|
35
|
+
this.pict.addView('ComprehensionLoader-Layout', libViewLayout.default_configuration, libViewLayout);
|
|
23
36
|
this.pict.addView('ComprehensionLoader-Session', libViewSession.default_configuration, libViewSession);
|
|
24
|
-
this.pict.addView('ComprehensionLoader-Schema',
|
|
25
|
-
this.pict.addView('ComprehensionLoader-Source',
|
|
26
|
-
this.pict.addView('ComprehensionLoader-Load',
|
|
37
|
+
this.pict.addView('ComprehensionLoader-Schema', libViewSchema.default_configuration, libViewSchema);
|
|
38
|
+
this.pict.addView('ComprehensionLoader-Source', libViewSource.default_configuration, libViewSource);
|
|
39
|
+
this.pict.addView('ComprehensionLoader-Load', libViewLoad.default_configuration, libViewLoad);
|
|
27
40
|
this.pict.addView('ComprehensionLoader-StatusHistogram',
|
|
28
41
|
{
|
|
29
42
|
ViewIdentifier: 'ComprehensionLoader-StatusHistogram',
|
|
@@ -36,9 +49,38 @@ class ComprehensionLoaderApplication extends libPictApplication
|
|
|
36
49
|
ShowValues: false,
|
|
37
50
|
ShowLabels: true,
|
|
38
51
|
MaxBarSize: 80,
|
|
39
|
-
BarColor: '#4a90d9',
|
|
52
|
+
BarColor: 'var(--theme-color-brand-primary, #4a90d9)',
|
|
40
53
|
Bins: []
|
|
41
54
|
}, libViewHistogram);
|
|
55
|
+
|
|
56
|
+
// 3. Shell host + slot views + status bar / detail + settings panel.
|
|
57
|
+
this.pict.addView('ComprehensionLoader-Shell',
|
|
58
|
+
libViewShell.default_configuration, libViewShell);
|
|
59
|
+
this.pict.addView('ComprehensionLoader-TopBar-Nav',
|
|
60
|
+
libViewTopBarNav.default_configuration, libViewTopBarNav);
|
|
61
|
+
this.pict.addView('ComprehensionLoader-TopBar-User',
|
|
62
|
+
libViewTopBarUser.default_configuration, libViewTopBarUser);
|
|
63
|
+
this.pict.addView('ComprehensionLoader-StatusBar',
|
|
64
|
+
libViewStatusBar.default_configuration, libViewStatusBar);
|
|
65
|
+
this.pict.addView('ComprehensionLoader-StatusDetail',
|
|
66
|
+
libViewStatusDetail.default_configuration, libViewStatusDetail);
|
|
67
|
+
this.pict.addView('ComprehensionLoader-SettingsPanel',
|
|
68
|
+
libViewSettings.default_configuration, libViewSettings);
|
|
69
|
+
|
|
70
|
+
// 4. Theme-Section provider — registered LAST so it can find the slot views.
|
|
71
|
+
this.pict.addProvider('Theme-Section',
|
|
72
|
+
{
|
|
73
|
+
ApplyDefault: 'pict-default',
|
|
74
|
+
DefaultMode: 'system',
|
|
75
|
+
DefaultScale: 1.0,
|
|
76
|
+
Brand: libBrand,
|
|
77
|
+
Views: ['Picker', 'ModeToggle', 'ScaleSelect', 'BrandMark', 'TopBar', 'BottomBar'],
|
|
78
|
+
ViewOptions:
|
|
79
|
+
{
|
|
80
|
+
TopBar: { NavView: 'ComprehensionLoader-TopBar-Nav', UserView: 'ComprehensionLoader-TopBar-User', Height: 56 },
|
|
81
|
+
BottomBar: { StatusView: 'ComprehensionLoader-StatusBar', Height: 36 }
|
|
82
|
+
}
|
|
83
|
+
}, libPictSectionTheme);
|
|
42
84
|
}
|
|
43
85
|
|
|
44
86
|
onAfterInitializeAsync(fCallback)
|
|
@@ -66,10 +108,18 @@ class ComprehensionLoaderApplication extends libPictApplication
|
|
|
66
108
|
// Make pict available for inline onclick handlers
|
|
67
109
|
window.pict = this.pict;
|
|
68
110
|
|
|
69
|
-
// Render
|
|
111
|
+
// Render the shell first — creates panel destination divs.
|
|
112
|
+
this.pict.views['ComprehensionLoader-Shell'].render();
|
|
113
|
+
|
|
114
|
+
// Render the layout (which chains child view renders via onAfterRender)
|
|
115
|
+
// into the shell's #ComprehensionLoader-Workspace destination.
|
|
70
116
|
this.pict.views['ComprehensionLoader-Layout'].render();
|
|
71
117
|
|
|
72
|
-
//
|
|
118
|
+
// Render the StatusBar into the BottomBar slot — provider's polling
|
|
119
|
+
// updates this by id in-place, so we only need the initial paint.
|
|
120
|
+
this.pict.views['ComprehensionLoader-StatusBar'].render();
|
|
121
|
+
|
|
122
|
+
// Post-render initialization (unchanged)
|
|
73
123
|
this.pict.providers.ComprehensionLoader.initPersistence();
|
|
74
124
|
this.pict.providers.ComprehensionLoader.startLiveStatusPolling();
|
|
75
125
|
this.pict.providers.ComprehensionLoader.initAccordionPreviews();
|
package/source/services/comprehension-loader/pict-app/providers/Pict-Provider-ComprehensionLoader.js
CHANGED
|
@@ -580,11 +580,11 @@ class ComprehensionLoaderProvider extends libPictProvider
|
|
|
580
580
|
{
|
|
581
581
|
if (tmpIsLive)
|
|
582
582
|
{
|
|
583
|
-
tmpHtml = '<div style="font-size:0.9em; color
|
|
583
|
+
tmpHtml = '<div style="font-size:0.9em; color:var(--theme-color-text-muted, #888); padding:8px 0">Load in progress, waiting for entity data\u2026</div>';
|
|
584
584
|
}
|
|
585
585
|
else
|
|
586
586
|
{
|
|
587
|
-
tmpHtml = '<div style="font-size:0.9em; color
|
|
587
|
+
tmpHtml = '<div style="font-size:0.9em; color:var(--theme-color-text-muted, #888); padding:8px 0">No load data available. Run a load to see operation details here.</div>';
|
|
588
588
|
}
|
|
589
589
|
}
|
|
590
590
|
|