@rws-framework/client 2.13.2 → 2.13.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/.bin/add-v.sh +9 -9
- package/.bin/emerge.sh +15 -15
- package/.emerge-fast.yaml +46 -46
- package/.emerge-typescript-template.yaml +23 -23
- package/.emerge-vis-output/fast-element/emerge-file_result_dependency_graph.graphml +693 -693
- package/.emerge-vis-output/fast-element/emerge-filesystem_graph.graphml +705 -705
- package/.emerge-vis-output/fast-element/emerge-statistics-metrics.txt +440 -440
- package/.emerge-vis-output/fast-element/html/emerge.html +500 -500
- package/.emerge-vis-output/fast-element/html/jsconfig.json +8 -8
- package/.emerge-vis-output/fast-element/html/resources/css/custom.css +211 -211
- package/.emerge-vis-output/fast-element/html/resources/js/emerge_common.js +44 -44
- package/.emerge-vis-output/fast-element/html/resources/js/emerge_data.js +13 -13
- package/.emerge-vis-output/fast-element/html/resources/js/emerge_git.js +1413 -1413
- package/.emerge-vis-output/fast-element/html/resources/js/emerge_graph.js +539 -539
- package/.emerge-vis-output/fast-element/html/resources/js/emerge_heatmap.js +219 -219
- package/.emerge-vis-output/fast-element/html/resources/js/emerge_hull.js +179 -179
- package/.emerge-vis-output/fast-element/html/resources/js/emerge_main.js +1002 -1002
- package/.emerge-vis-output/fast-element/html/resources/js/emerge_search.js +71 -71
- package/.emerge-vis-output/fast-element/html/resources/js/emerge_ui.js +199 -199
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
- package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.8.4.min.js +2 -2
- package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.min.js +2 -2
- package/.emerge-vis-output/fast-element/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
- package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
- package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/moment.min.js +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/hull/hull.js +373 -373
- package/.emerge-vis-output/fast-element/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
- package/.emerge-vis-output/fast-element/html/vendors/popper/popper.min.js +6 -6
- package/.emerge-vis-output/fast-element/html/vendors/simpleheat/simpleheat.js +141 -141
- package/.emerge-vis-output/fast-foundation/emerge-file_result_dependency_graph.graphml +4043 -4043
- package/.emerge-vis-output/fast-foundation/emerge-filesystem_graph.graphml +4538 -4538
- package/.emerge-vis-output/fast-foundation/emerge-statistics-metrics.txt +2510 -2510
- package/.emerge-vis-output/fast-foundation/html/emerge.html +500 -500
- package/.emerge-vis-output/fast-foundation/html/jsconfig.json +8 -8
- package/.emerge-vis-output/fast-foundation/html/resources/css/custom.css +211 -211
- package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_common.js +44 -44
- package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_data.js +13 -13
- package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_git.js +1413 -1413
- package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_graph.js +539 -539
- package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_heatmap.js +219 -219
- package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_hull.js +179 -179
- package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_main.js +1002 -1002
- package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_search.js +71 -71
- package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_ui.js +199 -199
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
- package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.8.4.min.js +2 -2
- package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.min.js +2 -2
- package/.emerge-vis-output/fast-foundation/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
- package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
- package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/moment.min.js +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/hull/hull.js +373 -373
- package/.emerge-vis-output/fast-foundation/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
- package/.emerge-vis-output/fast-foundation/html/vendors/popper/popper.min.js +6 -6
- package/.emerge-vis-output/fast-foundation/html/vendors/simpleheat/simpleheat.js +141 -141
- package/.emerge-vis-output/rws-client/emerge-file_result_dependency_graph.graphml +1143 -1143
- package/.emerge-vis-output/rws-client/emerge-filesystem_graph.graphml +1003 -1003
- package/.emerge-vis-output/rws-client/emerge-statistics-metrics.txt +655 -655
- package/.emerge-vis-output/rws-client/html/emerge.html +500 -500
- package/.emerge-vis-output/rws-client/html/jsconfig.json +8 -8
- package/.emerge-vis-output/rws-client/html/resources/css/custom.css +211 -211
- package/.emerge-vis-output/rws-client/html/resources/js/emerge_common.js +44 -44
- package/.emerge-vis-output/rws-client/html/resources/js/emerge_data.js +13 -13
- package/.emerge-vis-output/rws-client/html/resources/js/emerge_git.js +1413 -1413
- package/.emerge-vis-output/rws-client/html/resources/js/emerge_graph.js +539 -539
- package/.emerge-vis-output/rws-client/html/resources/js/emerge_heatmap.js +219 -219
- package/.emerge-vis-output/rws-client/html/resources/js/emerge_hull.js +179 -179
- package/.emerge-vis-output/rws-client/html/resources/js/emerge_main.js +1002 -1002
- package/.emerge-vis-output/rws-client/html/resources/js/emerge_search.js +71 -71
- package/.emerge-vis-output/rws-client/html/resources/js/emerge_ui.js +199 -199
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
- package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/d3/d3.v7.8.4.min.js +2 -2
- package/.emerge-vis-output/rws-client/html/vendors/d3/d3.v7.min.js +2 -2
- package/.emerge-vis-output/rws-client/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
- package/.emerge-vis-output/rws-client/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
- package/.emerge-vis-output/rws-client/html/vendors/daterangepicker/moment.min.js +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/hull/hull.js +373 -373
- package/.emerge-vis-output/rws-client/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
- package/.emerge-vis-output/rws-client/html/vendors/popper/popper.min.js +6 -6
- package/.emerge-vis-output/rws-client/html/vendors/simpleheat/simpleheat.js +141 -141
- package/.eslintrc.json +51 -51
- package/.gitmodules +2 -2
- package/.setup/.eslintrc.json +11 -11
- package/.setup/_base.eslintrc.json +48 -48
- package/.setup/tsconfig.json +28 -28
- package/PLUGINS.MD +188 -188
- package/README.md +1023 -1023
- package/_tools.js +396 -396
- package/builder/vite/index.ts +4 -4
- package/{cfg/build_steps → builder}/vite/loaders/html.ts +11 -11
- package/{cfg/build_steps → builder}/vite/loaders/index.ts +8 -8
- package/{cfg/build_steps → builder}/vite/loaders/loader.type.ts +27 -27
- package/{cfg/build_steps → builder}/vite/loaders/scss.ts +32 -32
- package/{cfg/build_steps → builder}/vite/loaders/ts.ts +309 -309
- package/builder/vite/rws.vite.config.ts +56 -49
- package/{cfg/build_steps → builder}/vite/rws_scss_plugin.ts +61 -60
- package/{cfg/build_steps → builder}/vite/scss/_compiler.ts +95 -94
- package/{cfg/build_steps → builder}/vite/scss/_fonts.ts +80 -80
- package/{cfg/build_steps → builder}/vite/scss/_fs.ts +83 -81
- package/{cfg/build_steps → builder}/vite/scss/_import.ts +191 -184
- package/builder/webpack/after/copy.js +78 -78
- package/builder/webpack/after/sw.js +13 -13
- package/builder/webpack/index.js +10 -10
- package/builder/webpack/loaders/rws_fast_html_loader.js +17 -17
- package/builder/webpack/loaders/rws_fast_scss_loader.js +43 -43
- package/builder/webpack/loaders/rws_fast_ts_loader.js +96 -96
- package/builder/webpack/loaders/ts/html_error.js +19 -19
- package/builder/webpack/rws.webpack.config.js +169 -169
- package/builder/webpack/rws_scss_plugin.js +62 -62
- package/builder/webpack/rws_webpack_plugin.js +137 -137
- package/builder/webpack/scss/_compiler.js +97 -97
- package/builder/webpack/scss/_fonts.js +80 -80
- package/builder/webpack/scss/_fs.js +84 -84
- package/builder/webpack/scss/_import.js +186 -186
- package/cfg/_default.cfg.js +26 -26
- package/cfg/_storage.d.ts +22 -22
- package/cfg/_storage.js +42 -42
- package/cfg/build_steps/vite/_build_config.ts +105 -105
- package/cfg/build_steps/vite/_env_defines.ts +17 -17
- package/cfg/build_steps/vite/_loaders.ts +187 -186
- package/cfg/build_steps/vite/index.ts +2 -2
- package/cfg/build_steps/vite/types.ts +7 -7
- package/cfg/build_steps/webpack/_actions.js +85 -85
- package/cfg/build_steps/webpack/_aliases.js +9 -9
- package/cfg/build_steps/webpack/_build_config.js +76 -76
- package/cfg/build_steps/webpack/_cache.js +98 -98
- package/cfg/build_steps/webpack/_component_handling.js +60 -60
- package/cfg/build_steps/webpack/_dev_servers.js +14 -14
- package/cfg/build_steps/webpack/_env_defines.js +18 -18
- package/cfg/build_steps/webpack/_info.js +18 -18
- package/cfg/build_steps/webpack/_loaders.js +223 -223
- package/cfg/build_steps/webpack/_plugins.js +102 -102
- package/cfg/build_steps/webpack/_production.js +37 -37
- package/cfg/build_steps/webpack/_rws_externals.js +68 -68
- package/cfg/build_steps/webpack/_timing.js +52 -52
- package/cfg/build_steps/webpack/_webpack_config.js +58 -58
- package/cfg/tsconfigSetup.js +150 -150
- package/console.js +86 -86
- package/docs/assets/26e93147f10415a0ed4a.svg +6 -6
- package/docs/assets/75c9471662e97ee24f29.svg +7 -7
- package/docs/assets/db90e4df2373980c497d.svg +9 -9
- package/docs/assets/highlight.css +127 -127
- package/docs/assets/main.js +59 -59
- package/docs/assets/style.css +1414 -1414
- package/docs/classes/ApiServiceInstance.html +25 -25
- package/docs/classes/ConfigServiceInstance.html +21 -21
- package/docs/classes/DOMServiceInstance.html +17 -17
- package/docs/classes/NotifyServiceInstance.html +15 -15
- package/docs/classes/RWSClientInstance.html +45 -45
- package/docs/classes/RWSPlugin.html +13 -13
- package/docs/classes/RWSService.html +10 -10
- package/docs/classes/RWSViewComponent.html +1022 -1022
- package/docs/classes/ServiceWorkerServiceInstance.html +13 -13
- package/docs/classes/UtilsServiceInstance.html +13 -13
- package/docs/functions/attr.html +5 -5
- package/docs/functions/observable.html +3 -3
- package/docs/index.html +179 -179
- package/docs/interfaces/HTMLTag.html +3 -3
- package/docs/interfaces/IRWSConfig.html +20 -20
- package/docs/interfaces/IRWSDecoratorOptions.html +5 -5
- package/docs/interfaces/IRWSHttpRoute.html +2 -2
- package/docs/interfaces/IRWSPrefixedHTTProutes.html +2 -2
- package/docs/interfaces/IRWSUser.html +5 -5
- package/docs/modules.html +45 -45
- package/foundation/index.js +1 -1
- package/foundation/rws-foundation.d.ts +7 -7
- package/foundation/rws-foundation.js +7 -7
- package/package.json +108 -108
- package/service_worker/src/_service_worker.ts +83 -83
- package/service_worker/tsconfig.json +20 -20
- package/service_worker/webpack.config.js +66 -66
- package/src/client/components.ts +67 -67
- package/src/client/config.ts +165 -165
- package/src/client/services.ts +27 -27
- package/src/client.ts +212 -212
- package/src/components/_attrs/_default_observable_accessor.ts +8 -8
- package/src/components/_attrs/_extended_accessor.ts +40 -40
- package/src/components/_attrs/_external_handler.ts +7 -7
- package/src/components/_attrs/_external_observable_accessor.ts +8 -8
- package/src/components/_attrs/angular-attr.ts +34 -34
- package/src/components/_attrs/external-attr.ts +59 -59
- package/src/components/_attrs/external-observable.ts +52 -52
- package/src/components/_attrs/sanitize-html.ts +80 -80
- package/src/components/_component.ts +245 -245
- package/src/components/_container.ts +15 -15
- package/src/components/_decorator.ts +122 -122
- package/src/components/_decorators/RWSFillBuild.ts +54 -54
- package/src/components/_decorators/RWSInject.ts +49 -49
- package/src/components/_decorators/RWSService.ts +11 -11
- package/src/components/_decorators/_di.ts +15 -15
- package/src/components/_definitions.ts +64 -64
- package/src/components/_event_handling.ts +40 -40
- package/src/components/index.ts +14 -14
- package/src/components/loader/component.ts +12 -12
- package/src/components/loader/styles/layout.scss +13 -13
- package/src/components/progress/component.ts +54 -54
- package/src/components/progress/styles/layout.scss +90 -90
- package/src/components/progress/template.html +24 -24
- package/src/components/uploader/component.ts +83 -83
- package/src/components/uploader/styles/layout.scss +130 -130
- package/src/components/uploader/template.html +16 -16
- package/src/index.ts +93 -93
- package/src/plugins/_builder.js +31 -31
- package/src/plugins/_plugin.ts +63 -63
- package/src/services/ApiService.ts +242 -242
- package/src/services/ConfigService.ts +134 -134
- package/src/services/DOMService.ts +100 -100
- package/src/services/NotifyService.ts +47 -47
- package/src/services/ServiceWorkerService.ts +60 -60
- package/src/services/UtilsService.ts +60 -60
- package/src/services/_service.ts +64 -64
- package/src/styles/_darkreader.scss +30 -30
- package/src/styles/_grid.scss +75 -75
- package/src/styles/_misc.scss +8 -8
- package/src/styles/_scrollbars.scss +40 -40
- package/src/styles/includes.scss +4 -4
- package/src/types/IRWSConfig.ts +30 -30
- package/src/types/IRWSPlugin.ts +18 -18
- package/src/types/IRWSUser.ts +6 -6
- package/src/types/IRWSViewComponent.ts +36 -36
- package/src/types/RWSNotify.ts +6 -6
- package/src/types/RWSWindow.ts +41 -41
- package/tsconfig.json +30 -30
- package/typedoc.json +13 -13
- package/types/declarations.d.ts +8 -8
- package/types/docs-typings.d.ts +15 -15
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
import RWSContainer from './_container';
|
|
2
|
-
import TheRWSService from '../services/_service';
|
|
3
|
-
import ConfigService from '../services/ConfigService';
|
|
4
|
-
import { loadRWSRichWindow } from '../types/RWSWindow';
|
|
5
|
-
import RWSViewComponent, { IWithCompose } from './_component';
|
|
6
|
-
import { InterfaceSymbol } from './_container';
|
|
7
|
-
import { RWSInject } from './_decorators/RWSInject';
|
|
8
|
-
import { ElementStyles, Observable, ViewTemplate } from '@microsoft/fast-element';
|
|
9
|
-
import { handleExternalChange } from './_attrs/_external_handler';
|
|
10
|
-
|
|
11
|
-
interface RWSDecoratorOptions {
|
|
12
|
-
template?: string,
|
|
13
|
-
styles?: string,
|
|
14
|
-
fastElementOptions?: any,
|
|
15
|
-
ignorePackaging?: boolean,
|
|
16
|
-
debugPackaging?: boolean
|
|
17
|
-
oreoMode?: boolean
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
//const _PARAMTYPES_METADATA_KEY = 'design:paramtypes';
|
|
21
|
-
type HtmlBinderType = (context: RWSViewComponent) => ViewTemplate;
|
|
22
|
-
|
|
23
|
-
function RWSView<Component extends RWSViewComponent>(name: string, data?: RWSDecoratorOptions | null, override?: { styles?: ElementStyles, template?: ViewTemplate, options?: any }): (type: any, args?: any) => void {
|
|
24
|
-
return (theComponent: IWithCompose<Component>, args?: any) => {
|
|
25
|
-
theComponent.definition = { name, template: null }
|
|
26
|
-
|
|
27
|
-
if(override){
|
|
28
|
-
if(override.styles){
|
|
29
|
-
theComponent.definition.styles = override.styles;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if(override.template){
|
|
33
|
-
theComponent.definition.template = override.template;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if(override.options){
|
|
38
|
-
(theComponent.definition as any).options = override.options;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
function RWSIgnore(params: { mergeToApp?: boolean } | null = null): () => void {
|
|
46
|
-
return () => { };
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function getParentConstructor(instance: any): any {
|
|
50
|
-
const proto = Object.getPrototypeOf(instance.constructor.prototype);
|
|
51
|
-
if (proto && proto.constructor) {
|
|
52
|
-
return proto.constructor;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const applyConstructor = (component: RWSViewComponent, x: boolean = false): void => {
|
|
60
|
-
const mainConstructor: any = component.constructor;
|
|
61
|
-
const parent = getParentConstructor(component);
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (parent.name !== 'RWSViewComponent' ) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const existingInjectedDependencies = (mainConstructor as IWithCompose<RWSViewComponent>)._toInject;
|
|
70
|
-
|
|
71
|
-
const regServices = loadRWSRichWindow().RWS._registered;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const depsToInject: string[] = (mainConstructor as IWithCompose<RWSViewComponent>)._depKeys[mainConstructor.name] || [];
|
|
75
|
-
const depsInInjector: string[] = Object.keys(existingInjectedDependencies);
|
|
76
|
-
|
|
77
|
-
const toInject: string[] = [...depsToInject]
|
|
78
|
-
|
|
79
|
-
type KeyType = {[key: string]: TheRWSService | string };
|
|
80
|
-
|
|
81
|
-
const _target = (component as any);
|
|
82
|
-
|
|
83
|
-
function inject(services: KeyType){
|
|
84
|
-
for (const prop in services) {
|
|
85
|
-
const service = (typeof services[prop] === 'string' ? existingInjectedDependencies[prop] : services[prop]) as TheRWSService;
|
|
86
|
-
_target[prop] = service;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
inject(toInject.reduce((acc: KeyType, cur) => {
|
|
91
|
-
acc[cur] = cur;
|
|
92
|
-
return acc;
|
|
93
|
-
}, {}));
|
|
94
|
-
|
|
95
|
-
const defaultDeps: [string, TheRWSService][] = Object.keys(existingInjectedDependencies)
|
|
96
|
-
.filter((depKey: string) => existingInjectedDependencies[depKey].isDefault()).map((depKey => [depKey, existingInjectedDependencies[depKey]]));
|
|
97
|
-
|
|
98
|
-
inject(defaultDeps.reduce((acc: KeyType, cur: [string, TheRWSService]) => {
|
|
99
|
-
acc[cur[0]] = cur[1];
|
|
100
|
-
return acc;
|
|
101
|
-
}, {}));
|
|
102
|
-
|
|
103
|
-
inject({
|
|
104
|
-
config: RWSContainer().get(ConfigService)
|
|
105
|
-
})
|
|
106
|
-
|
|
107
|
-
if(Object.keys(RWSViewComponent._externalAttrs).includes((_target.constructor as IWithCompose<any>).name)){
|
|
108
|
-
for(const exAttrKey in RWSViewComponent._externalAttrs[(_target.constructor as IWithCompose<any>).name]){
|
|
109
|
-
const exAttr = RWSViewComponent._externalAttrs[(_target.constructor as IWithCompose<any>).name][exAttrKey];
|
|
110
|
-
const notifier = Observable.getNotifier(_target);
|
|
111
|
-
notifier.subscribe({
|
|
112
|
-
handleChange(source, key) {
|
|
113
|
-
if (key === exAttr && !_target.__exAttrLoaded.includes(exAttr)) {
|
|
114
|
-
handleExternalChange(source, key);
|
|
115
|
-
_target.__exAttrLoaded.push(key);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}, exAttr);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
|
|
1
|
+
import RWSContainer from './_container';
|
|
2
|
+
import TheRWSService from '../services/_service';
|
|
3
|
+
import ConfigService from '../services/ConfigService';
|
|
4
|
+
import { loadRWSRichWindow } from '../types/RWSWindow';
|
|
5
|
+
import RWSViewComponent, { IWithCompose } from './_component';
|
|
6
|
+
import { InterfaceSymbol } from './_container';
|
|
7
|
+
import { RWSInject } from './_decorators/RWSInject';
|
|
8
|
+
import { ElementStyles, Observable, ViewTemplate } from '@microsoft/fast-element';
|
|
9
|
+
import { handleExternalChange } from './_attrs/_external_handler';
|
|
10
|
+
|
|
11
|
+
interface RWSDecoratorOptions {
|
|
12
|
+
template?: string,
|
|
13
|
+
styles?: string,
|
|
14
|
+
fastElementOptions?: any,
|
|
15
|
+
ignorePackaging?: boolean,
|
|
16
|
+
debugPackaging?: boolean
|
|
17
|
+
oreoMode?: boolean
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//const _PARAMTYPES_METADATA_KEY = 'design:paramtypes';
|
|
21
|
+
type HtmlBinderType = (context: RWSViewComponent) => ViewTemplate;
|
|
22
|
+
|
|
23
|
+
function RWSView<Component extends RWSViewComponent>(name: string, data?: RWSDecoratorOptions | null, override?: { styles?: ElementStyles, template?: ViewTemplate, options?: any }): (type: any, args?: any) => void {
|
|
24
|
+
return (theComponent: IWithCompose<Component>, args?: any) => {
|
|
25
|
+
theComponent.definition = { name, template: null }
|
|
26
|
+
|
|
27
|
+
if(override){
|
|
28
|
+
if(override.styles){
|
|
29
|
+
theComponent.definition.styles = override.styles;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if(override.template){
|
|
33
|
+
theComponent.definition.template = override.template;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
if(override.options){
|
|
38
|
+
(theComponent.definition as any).options = override.options;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
function RWSIgnore(params: { mergeToApp?: boolean } | null = null): () => void {
|
|
46
|
+
return () => { };
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function getParentConstructor(instance: any): any {
|
|
50
|
+
const proto = Object.getPrototypeOf(instance.constructor.prototype);
|
|
51
|
+
if (proto && proto.constructor) {
|
|
52
|
+
return proto.constructor;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
const applyConstructor = (component: RWSViewComponent, x: boolean = false): void => {
|
|
60
|
+
const mainConstructor: any = component.constructor;
|
|
61
|
+
const parent = getParentConstructor(component);
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
if (parent.name !== 'RWSViewComponent' ) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
const existingInjectedDependencies = (mainConstructor as IWithCompose<RWSViewComponent>)._toInject;
|
|
70
|
+
|
|
71
|
+
const regServices = loadRWSRichWindow().RWS._registered;
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
const depsToInject: string[] = (mainConstructor as IWithCompose<RWSViewComponent>)._depKeys[mainConstructor.name] || [];
|
|
75
|
+
const depsInInjector: string[] = Object.keys(existingInjectedDependencies);
|
|
76
|
+
|
|
77
|
+
const toInject: string[] = [...depsToInject]
|
|
78
|
+
|
|
79
|
+
type KeyType = {[key: string]: TheRWSService | string };
|
|
80
|
+
|
|
81
|
+
const _target = (component as any);
|
|
82
|
+
|
|
83
|
+
function inject(services: KeyType){
|
|
84
|
+
for (const prop in services) {
|
|
85
|
+
const service = (typeof services[prop] === 'string' ? existingInjectedDependencies[prop] : services[prop]) as TheRWSService;
|
|
86
|
+
_target[prop] = service;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
inject(toInject.reduce((acc: KeyType, cur) => {
|
|
91
|
+
acc[cur] = cur;
|
|
92
|
+
return acc;
|
|
93
|
+
}, {}));
|
|
94
|
+
|
|
95
|
+
const defaultDeps: [string, TheRWSService][] = Object.keys(existingInjectedDependencies)
|
|
96
|
+
.filter((depKey: string) => existingInjectedDependencies[depKey].isDefault()).map((depKey => [depKey, existingInjectedDependencies[depKey]]));
|
|
97
|
+
|
|
98
|
+
inject(defaultDeps.reduce((acc: KeyType, cur: [string, TheRWSService]) => {
|
|
99
|
+
acc[cur[0]] = cur[1];
|
|
100
|
+
return acc;
|
|
101
|
+
}, {}));
|
|
102
|
+
|
|
103
|
+
inject({
|
|
104
|
+
config: RWSContainer().get(ConfigService)
|
|
105
|
+
})
|
|
106
|
+
|
|
107
|
+
if(Object.keys(RWSViewComponent._externalAttrs).includes((_target.constructor as IWithCompose<any>).name)){
|
|
108
|
+
for(const exAttrKey in RWSViewComponent._externalAttrs[(_target.constructor as IWithCompose<any>).name]){
|
|
109
|
+
const exAttr = RWSViewComponent._externalAttrs[(_target.constructor as IWithCompose<any>).name][exAttrKey];
|
|
110
|
+
const notifier = Observable.getNotifier(_target);
|
|
111
|
+
notifier.subscribe({
|
|
112
|
+
handleChange(source, key) {
|
|
113
|
+
if (key === exAttr && !_target.__exAttrLoaded.includes(exAttr)) {
|
|
114
|
+
handleExternalChange(source, key);
|
|
115
|
+
_target.__exAttrLoaded.push(key);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}, exAttr);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
|
|
123
123
|
export { RWSView, RWSDecoratorOptions, RWSIgnore, RWSInject, applyConstructor };
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import IRWSConfig from '../../types/IRWSConfig.js';
|
|
2
|
-
|
|
3
|
-
function extractEnvVar(envVar: string){
|
|
4
|
-
const extractedVars = JSON.parse(JSON.stringify(envVar));
|
|
5
|
-
|
|
6
|
-
const {
|
|
7
|
-
backendUrl,
|
|
8
|
-
wsUrl,
|
|
9
|
-
partedDirUrlPrefix,
|
|
10
|
-
partedPrefix,
|
|
11
|
-
pubUrlFilePrefix,
|
|
12
|
-
transports,
|
|
13
|
-
parted
|
|
14
|
-
} = extractedVars;
|
|
15
|
-
|
|
16
|
-
const extractedFrontendVars = {
|
|
17
|
-
backendUrl,
|
|
18
|
-
wsUrl,
|
|
19
|
-
partedDirUrlPrefix,
|
|
20
|
-
partedPrefix,
|
|
21
|
-
pubUrlFilePrefix,
|
|
22
|
-
transports,
|
|
23
|
-
parted
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
return {
|
|
27
|
-
extractedVars,
|
|
28
|
-
extractedFrontendVars
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function RWSFillBuild(config: Partial<IRWSConfig> = {}) {
|
|
33
|
-
return function <T extends { new(...args: any[]): {} }>(constructor: T) {
|
|
34
|
-
return class extends constructor {
|
|
35
|
-
_DEFAULTS: IRWSConfig;
|
|
36
|
-
_BUILD_OVERRIDE: IRWSConfig;
|
|
37
|
-
constructor(...args: any[]) {
|
|
38
|
-
super(...args);
|
|
39
|
-
|
|
40
|
-
const extractedFrontendDefaults = extractEnvVar(process.env._RWS_DEFAULTS).extractedFrontendVars;
|
|
41
|
-
|
|
42
|
-
this._DEFAULTS = {
|
|
43
|
-
...config,
|
|
44
|
-
...extractedFrontendDefaults
|
|
45
|
-
} as IRWSConfig;
|
|
46
|
-
|
|
47
|
-
const extractedFrontendBuildVars = extractEnvVar(process.env._RWS_BUILD_OVERRIDE).extractedFrontendVars;
|
|
48
|
-
|
|
49
|
-
this._BUILD_OVERRIDE = extractedFrontendBuildVars as IRWSConfig;
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
1
|
+
import IRWSConfig from '../../types/IRWSConfig.js';
|
|
2
|
+
|
|
3
|
+
function extractEnvVar(envVar: string){
|
|
4
|
+
const extractedVars = JSON.parse(JSON.stringify(envVar));
|
|
5
|
+
|
|
6
|
+
const {
|
|
7
|
+
backendUrl,
|
|
8
|
+
wsUrl,
|
|
9
|
+
partedDirUrlPrefix,
|
|
10
|
+
partedPrefix,
|
|
11
|
+
pubUrlFilePrefix,
|
|
12
|
+
transports,
|
|
13
|
+
parted
|
|
14
|
+
} = extractedVars;
|
|
15
|
+
|
|
16
|
+
const extractedFrontendVars = {
|
|
17
|
+
backendUrl,
|
|
18
|
+
wsUrl,
|
|
19
|
+
partedDirUrlPrefix,
|
|
20
|
+
partedPrefix,
|
|
21
|
+
pubUrlFilePrefix,
|
|
22
|
+
transports,
|
|
23
|
+
parted
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
extractedVars,
|
|
28
|
+
extractedFrontendVars
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function RWSFillBuild(config: Partial<IRWSConfig> = {}) {
|
|
33
|
+
return function <T extends { new(...args: any[]): {} }>(constructor: T) {
|
|
34
|
+
return class extends constructor {
|
|
35
|
+
_DEFAULTS: IRWSConfig;
|
|
36
|
+
_BUILD_OVERRIDE: IRWSConfig;
|
|
37
|
+
constructor(...args: any[]) {
|
|
38
|
+
super(...args);
|
|
39
|
+
|
|
40
|
+
const extractedFrontendDefaults = extractEnvVar(process.env._RWS_DEFAULTS).extractedFrontendVars;
|
|
41
|
+
|
|
42
|
+
this._DEFAULTS = {
|
|
43
|
+
...config,
|
|
44
|
+
...extractedFrontendDefaults
|
|
45
|
+
} as IRWSConfig;
|
|
46
|
+
|
|
47
|
+
const extractedFrontendBuildVars = extractEnvVar(process.env._RWS_BUILD_OVERRIDE).extractedFrontendVars;
|
|
48
|
+
|
|
49
|
+
this._BUILD_OVERRIDE = extractedFrontendBuildVars as IRWSConfig;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
55
|
export { RWSFillBuild };
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { Key } from '../_container';
|
|
2
|
-
import RWSViewComponent, { IWithCompose } from '../_component';
|
|
3
|
-
import { loadDep, getFunctionParamNames } from './_di';
|
|
4
|
-
import TheRWSService from '../../services/_service';
|
|
5
|
-
import { handleExternalChange } from '../_attrs/_external_handler';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
type InjectDecoratorReturnType = (target: any, key?: string | number | undefined, parameterIndex?: number) => void;
|
|
9
|
-
type TargetType = any;
|
|
10
|
-
|
|
11
|
-
function addToComponentInjection(targetComponentName: string, constructor: any, depKey: string, dependencyClass: Key, isDefaultService: boolean = false){
|
|
12
|
-
|
|
13
|
-
if(isDefaultService){
|
|
14
|
-
targetComponentName = '_all';
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
if(!Object.keys(constructor._depKeys).includes(targetComponentName)){
|
|
18
|
-
constructor._depKeys = { [targetComponentName]: [] };
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
if(!constructor._depKeys[targetComponentName].includes(depKey)){
|
|
22
|
-
constructor._depKeys[targetComponentName].push(depKey);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if(!Object.keys(constructor._toInject).includes(depKey)){
|
|
26
|
-
const loadedDependency = loadDep<TheRWSService>(dependencyClass);
|
|
27
|
-
constructor._toInject[depKey] = loadedDependency;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function RWSInject<T extends RWSViewComponent>(dependencyClass: Key, defaultService: boolean = false): InjectDecoratorReturnType {
|
|
32
|
-
return (target: IWithCompose<T>, key?: keyof IWithCompose<T>, parameterIndex?: number) => {
|
|
33
|
-
if(key){
|
|
34
|
-
const targetConstructor = typeof target === 'function' ? target : (target as any).constructor;
|
|
35
|
-
addToComponentInjection(targetConstructor.name, targetConstructor, key as string, dependencyClass, defaultService);
|
|
36
|
-
} else{
|
|
37
|
-
|
|
38
|
-
const targetConstructor = (target as any).prototype.constructor;
|
|
39
|
-
|
|
40
|
-
const paramNames = getFunctionParamNames(targetConstructor);
|
|
41
|
-
const depKey = paramNames[parameterIndex];
|
|
42
|
-
|
|
43
|
-
addToComponentInjection(targetConstructor.name, targetConstructor, depKey, dependencyClass, defaultService);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export {
|
|
49
|
-
RWSInject
|
|
1
|
+
import { Key } from '../_container';
|
|
2
|
+
import RWSViewComponent, { IWithCompose } from '../_component';
|
|
3
|
+
import { loadDep, getFunctionParamNames } from './_di';
|
|
4
|
+
import TheRWSService from '../../services/_service';
|
|
5
|
+
import { handleExternalChange } from '../_attrs/_external_handler';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
type InjectDecoratorReturnType = (target: any, key?: string | number | undefined, parameterIndex?: number) => void;
|
|
9
|
+
type TargetType = any;
|
|
10
|
+
|
|
11
|
+
function addToComponentInjection(targetComponentName: string, constructor: any, depKey: string, dependencyClass: Key, isDefaultService: boolean = false){
|
|
12
|
+
|
|
13
|
+
if(isDefaultService){
|
|
14
|
+
targetComponentName = '_all';
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if(!Object.keys(constructor._depKeys).includes(targetComponentName)){
|
|
18
|
+
constructor._depKeys = { [targetComponentName]: [] };
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if(!constructor._depKeys[targetComponentName].includes(depKey)){
|
|
22
|
+
constructor._depKeys[targetComponentName].push(depKey);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if(!Object.keys(constructor._toInject).includes(depKey)){
|
|
26
|
+
const loadedDependency = loadDep<TheRWSService>(dependencyClass);
|
|
27
|
+
constructor._toInject[depKey] = loadedDependency;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function RWSInject<T extends RWSViewComponent>(dependencyClass: Key, defaultService: boolean = false): InjectDecoratorReturnType {
|
|
32
|
+
return (target: IWithCompose<T>, key?: keyof IWithCompose<T>, parameterIndex?: number) => {
|
|
33
|
+
if(key){
|
|
34
|
+
const targetConstructor = typeof target === 'function' ? target : (target as any).constructor;
|
|
35
|
+
addToComponentInjection(targetConstructor.name, targetConstructor, key as string, dependencyClass, defaultService);
|
|
36
|
+
} else{
|
|
37
|
+
|
|
38
|
+
const targetConstructor = (target as any).prototype.constructor;
|
|
39
|
+
|
|
40
|
+
const paramNames = getFunctionParamNames(targetConstructor);
|
|
41
|
+
const depKey = paramNames[parameterIndex];
|
|
42
|
+
|
|
43
|
+
addToComponentInjection(targetConstructor.name, targetConstructor, depKey, dependencyClass, defaultService);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export {
|
|
49
|
+
RWSInject
|
|
50
50
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import RWSViewComponent from '../_component';
|
|
2
|
-
|
|
3
|
-
interface RWSServiceDecoratorOptions {
|
|
4
|
-
_vars?: any
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function RWSService<T extends RWSViewComponent>(options?: RWSServiceDecoratorOptions): (type: any) => void {
|
|
8
|
-
return (constructor: T) => {
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
|
|
1
|
+
import RWSViewComponent from '../_component';
|
|
2
|
+
|
|
3
|
+
interface RWSServiceDecoratorOptions {
|
|
4
|
+
_vars?: any
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
function RWSService<T extends RWSViewComponent>(options?: RWSServiceDecoratorOptions): (type: any) => void {
|
|
8
|
+
return (constructor: T) => {
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
12
|
export { RWSService };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
import RWSContainer, { Key } from '../_container';
|
|
3
|
-
|
|
4
|
-
function getFunctionParamNames(func: () => any): string[] {
|
|
5
|
-
const constructorMatch = func.toString().match(/constructor\s*\(([^)]*)\)/);
|
|
6
|
-
if (!constructorMatch) return null;
|
|
7
|
-
return constructorMatch[1].split(',').map(param => param.trim());
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
function loadDep<T>(dependencyKeyClass: Key): T
|
|
11
|
-
{
|
|
12
|
-
return RWSContainer().get(dependencyKeyClass) as T;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { loadDep, getFunctionParamNames };
|
|
1
|
+
|
|
2
|
+
import RWSContainer, { Key } from '../_container';
|
|
3
|
+
|
|
4
|
+
function getFunctionParamNames(func: () => any): string[] {
|
|
5
|
+
const constructorMatch = func.toString().match(/constructor\s*\(([^)]*)\)/);
|
|
6
|
+
if (!constructorMatch) return null;
|
|
7
|
+
return constructorMatch[1].split(',').map(param => param.trim());
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function loadDep<T>(dependencyKeyClass: Key): T
|
|
11
|
+
{
|
|
12
|
+
return RWSContainer().get(dependencyKeyClass) as T;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { loadDep, getFunctionParamNames };
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import RWSViewComponent, { IWithCompose } from './_component';
|
|
2
|
-
import RWSWindow, { RWSWindowComponentInterface, loadRWSRichWindow } from '../types/RWSWindow';
|
|
3
|
-
import { ElementStyles, ViewTemplate } from '@microsoft/fast-element';
|
|
4
|
-
|
|
5
|
-
export interface IFastDefinition {
|
|
6
|
-
name: string;
|
|
7
|
-
template: ViewTemplate;
|
|
8
|
-
styles?: ElementStyles;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function isDefined<T extends RWSViewComponent>(element: IWithCompose<T>): boolean {
|
|
12
|
-
const richWindow: RWSWindow = loadRWSRichWindow();
|
|
13
|
-
|
|
14
|
-
if (!element.definition) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return Object.keys(richWindow.RWS.components).includes(element.definition.name);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export function defineComponent<T extends RWSViewComponent>(element: IWithCompose<T>): void {
|
|
22
|
-
if (element.isDefined()) {
|
|
23
|
-
if (element._verbose) {
|
|
24
|
-
console.warn(`Component ${element.name} is already declared`);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const richWindow = loadRWSRichWindow();
|
|
31
|
-
|
|
32
|
-
if (!element.definition) {
|
|
33
|
-
throw new Error('RWS component is not named. Add `static definition = {name, template};`');
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const composedComp = element.compose({
|
|
37
|
-
baseName: element.definition.name,
|
|
38
|
-
template: element.definition.template,
|
|
39
|
-
styles: element.definition.styles
|
|
40
|
-
}) as RWSWindowComponentInterface;
|
|
41
|
-
|
|
42
|
-
if (!richWindow.RWS) {
|
|
43
|
-
throw new Error('RWS client not initialized');
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
element.sendEventToOutside<string>(element._EVENTS.component_define, element.definition.name);
|
|
47
|
-
|
|
48
|
-
richWindow.RWS.components[element.definition.name] = {
|
|
49
|
-
interface: composedComp,
|
|
50
|
-
component: element
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function getDefinition(tagName: string, htmlTemplate: ViewTemplate, styles: ElementStyles = null) {
|
|
55
|
-
const def: IFastDefinition = {
|
|
56
|
-
name: tagName,
|
|
57
|
-
template: htmlTemplate
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
if (styles) {
|
|
61
|
-
def.styles = styles;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return def;
|
|
1
|
+
import RWSViewComponent, { IWithCompose } from './_component';
|
|
2
|
+
import RWSWindow, { RWSWindowComponentInterface, loadRWSRichWindow } from '../types/RWSWindow';
|
|
3
|
+
import { ElementStyles, ViewTemplate } from '@microsoft/fast-element';
|
|
4
|
+
|
|
5
|
+
export interface IFastDefinition {
|
|
6
|
+
name: string;
|
|
7
|
+
template: ViewTemplate;
|
|
8
|
+
styles?: ElementStyles;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function isDefined<T extends RWSViewComponent>(element: IWithCompose<T>): boolean {
|
|
12
|
+
const richWindow: RWSWindow = loadRWSRichWindow();
|
|
13
|
+
|
|
14
|
+
if (!element.definition) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return Object.keys(richWindow.RWS.components).includes(element.definition.name);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function defineComponent<T extends RWSViewComponent>(element: IWithCompose<T>): void {
|
|
22
|
+
if (element.isDefined()) {
|
|
23
|
+
if (element._verbose) {
|
|
24
|
+
console.warn(`Component ${element.name} is already declared`);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const richWindow = loadRWSRichWindow();
|
|
31
|
+
|
|
32
|
+
if (!element.definition) {
|
|
33
|
+
throw new Error('RWS component is not named. Add `static definition = {name, template};`');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const composedComp = element.compose({
|
|
37
|
+
baseName: element.definition.name,
|
|
38
|
+
template: element.definition.template,
|
|
39
|
+
styles: element.definition.styles
|
|
40
|
+
}) as RWSWindowComponentInterface;
|
|
41
|
+
|
|
42
|
+
if (!richWindow.RWS) {
|
|
43
|
+
throw new Error('RWS client not initialized');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
element.sendEventToOutside<string>(element._EVENTS.component_define, element.definition.name);
|
|
47
|
+
|
|
48
|
+
richWindow.RWS.components[element.definition.name] = {
|
|
49
|
+
interface: composedComp,
|
|
50
|
+
component: element
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function getDefinition(tagName: string, htmlTemplate: ViewTemplate, styles: ElementStyles = null) {
|
|
55
|
+
const def: IFastDefinition = {
|
|
56
|
+
name: tagName,
|
|
57
|
+
template: htmlTemplate
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
if (styles) {
|
|
61
|
+
def.styles = styles;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return def;
|
|
65
65
|
}
|