taon 18.0.18 → 18.0.19
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/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/base-classes/base-injector.mjs +8 -1
- package/browser/esm2022/lib/create-context.mjs +5 -3
- package/browser/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
- package/browser/esm2022/lib/endpoint-context.mjs +35 -9
- package/browser/esm2022/lib/index.mjs +2 -1
- package/browser/esm2022/lib/ui/directives/index.mjs +6 -0
- package/browser/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
- package/browser/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
- package/browser/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
- package/browser/esm2022/lib/ui/index.mjs +12 -0
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
- package/browser/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
- package/browser/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
- package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
- package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
- package/browser/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
- package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
- package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
- package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
- package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
- package/browser/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
- package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +98 -0
- package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
- package/browser/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
- package/browser/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
- package/browser/esm2022/lib/ui/taon-table/index.mjs +5 -0
- package/browser/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
- package/browser/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
- package/browser/fesm2022/taon.mjs +1445 -75
- package/browser/fesm2022/taon.mjs.map +1 -1
- package/browser/lib/base-classes/base-context.d.ts +4 -1
- package/browser/lib/base-classes/base-injector.d.ts +5 -0
- package/browser/lib/base-classes/base.d.ts +4 -1
- package/browser/lib/create-context.d.ts +4 -1
- package/browser/lib/decorators/http/http-decorators.d.ts +2 -0
- package/browser/lib/endpoint-context.d.ts +3 -2
- package/browser/lib/index.d.ts +13 -3
- package/browser/lib/ui/directives/index.d.ts +4 -0
- package/browser/lib/ui/directives/safe.pipe.d.ts +11 -0
- package/browser/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
- package/browser/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
- package/browser/lib/ui/index.d.ts +10 -0
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
- package/browser/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
- package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
- package/browser/lib/ui/taon-full-material.module.d.ts +47 -0
- package/browser/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
- package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
- package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
- package/browser/lib/ui/taon-notifications/index.d.ts +5 -0
- package/browser/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
- package/browser/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
- package/browser/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
- package/browser/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
- package/browser/lib/ui/taon-progress-bar/index.d.ts +3 -0
- package/browser/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
- package/browser/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
- package/browser/lib/ui/taon-session-passcode/index.d.ts +2 -0
- package/browser/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
- package/browser/lib/ui/taon-table/index.d.ts +3 -0
- package/browser/lib/ui/taon-table/taon-table.component.d.ts +37 -0
- package/browser/lib/ui/taon-table/taon-table.module.d.ts +17 -0
- package/client/esm2022/lib/base-classes/base-injector.mjs +8 -1
- package/client/esm2022/lib/create-context.mjs +5 -3
- package/client/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
- package/client/esm2022/lib/endpoint-context.mjs +35 -9
- package/client/esm2022/lib/index.mjs +2 -1
- package/client/esm2022/lib/ui/directives/index.mjs +6 -0
- package/client/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
- package/client/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
- package/client/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
- package/client/esm2022/lib/ui/index.mjs +12 -0
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
- package/client/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
- package/client/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
- package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
- package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
- package/client/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
- package/client/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
- package/client/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
- package/client/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
- package/client/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
- package/client/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
- package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +98 -0
- package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
- package/client/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
- package/client/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
- package/client/esm2022/lib/ui/taon-table/index.mjs +5 -0
- package/client/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
- package/client/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
- package/client/fesm2022/taon.mjs +1445 -75
- package/client/fesm2022/taon.mjs.map +1 -1
- package/client/lib/base-classes/base-context.d.ts +4 -1
- package/client/lib/base-classes/base-injector.d.ts +5 -0
- package/client/lib/base-classes/base.d.ts +4 -1
- package/client/lib/create-context.d.ts +4 -1
- package/client/lib/decorators/http/http-decorators.d.ts +2 -0
- package/client/lib/endpoint-context.d.ts +3 -2
- package/client/lib/index.d.ts +13 -3
- package/client/lib/ui/directives/index.d.ts +4 -0
- package/client/lib/ui/directives/safe.pipe.d.ts +11 -0
- package/client/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
- package/client/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
- package/client/lib/ui/index.d.ts +10 -0
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
- package/client/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
- package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
- package/client/lib/ui/taon-full-material.module.d.ts +47 -0
- package/client/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
- package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
- package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
- package/client/lib/ui/taon-notifications/index.d.ts +5 -0
- package/client/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
- package/client/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
- package/client/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
- package/client/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
- package/client/lib/ui/taon-progress-bar/index.d.ts +3 -0
- package/client/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
- package/client/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
- package/client/lib/ui/taon-session-passcode/index.d.ts +2 -0
- package/client/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
- package/client/lib/ui/taon-table/index.d.ts +3 -0
- package/client/lib/ui/taon-table/taon-table.component.d.ts +37 -0
- package/client/lib/ui/taon-table/taon-table.module.d.ts +17 -0
- package/lib/base-classes/base-context.d.ts +4 -1
- package/lib/base-classes/base-injector.d.ts +5 -0
- package/lib/base-classes/base-injector.js +11 -0
- package/lib/base-classes/base-injector.js.map +1 -1
- package/lib/base-classes/base.d.ts +4 -1
- package/lib/create-context.d.ts +4 -1
- package/lib/create-context.js +2 -2
- package/lib/create-context.js.map +1 -1
- package/lib/decorators/http/http-decorators.d.ts +3 -1
- package/lib/decorators/http/http-decorators.js +2 -0
- package/lib/decorators/http/http-decorators.js.map +1 -1
- package/lib/endpoint-context.d.ts +3 -2
- package/lib/endpoint-context.js +136 -97
- package/lib/endpoint-context.js.map +1 -1
- package/lib/index.d.ts +13 -3
- package/lib/ui/directives/index.d.ts +3 -4
- package/lib/ui/directives/index.js +2 -2
- package/lib/ui/index.d.ts +9 -0
- package/lib/ui/index.js +5 -0
- package/lib/ui/index.js.map +1 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +3 -5
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +2 -3
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +1 -2
- package/lib/ui/taon-admin-mode-configuration/index.d.ts +0 -1
- package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
- package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
- package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
- package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
- package/lib/ui/taon-progress-bar/index.js +2 -2
- package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -0
- package/lib/ui/taon-session-passcode/index.js +2 -2
- package/lib/ui/taon-table/index.d.ts +2 -0
- package/lib/ui/taon-table/index.js +5 -0
- package/lib/ui/taon-table/index.js.map +1 -0
- package/lib/ui/taon-table/taon-table.component.d.ts +33 -0
- package/lib/ui/taon-table/taon-table.module.d.ts +2 -0
- package/package.json +7 -7
- package/tmp-environment.json +30 -29
- package/websql/esm2022/lib/base-classes/base-injector.mjs +8 -1
- package/websql/esm2022/lib/create-context.mjs +5 -3
- package/websql/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
- package/websql/esm2022/lib/endpoint-context.mjs +35 -9
- package/websql/esm2022/lib/index.mjs +2 -1
- package/websql/esm2022/lib/ui/directives/index.mjs +6 -0
- package/websql/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
- package/websql/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
- package/websql/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
- package/websql/esm2022/lib/ui/index.mjs +12 -0
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
- package/websql/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
- package/websql/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
- package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
- package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
- package/websql/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
- package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
- package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
- package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
- package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
- package/websql/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
- package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +50 -0
- package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
- package/websql/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
- package/websql/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
- package/websql/esm2022/lib/ui/taon-table/index.mjs +5 -0
- package/websql/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
- package/websql/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
- package/websql/fesm2022/taon.mjs +1414 -92
- package/websql/fesm2022/taon.mjs.map +1 -1
- package/websql/lib/base-classes/base-context.d.ts +4 -1
- package/websql/lib/base-classes/base-injector.d.ts +5 -0
- package/websql/lib/base-classes/base.d.ts +4 -1
- package/websql/lib/create-context.d.ts +4 -1
- package/websql/lib/decorators/http/http-decorators.d.ts +2 -0
- package/websql/lib/endpoint-context.d.ts +3 -2
- package/websql/lib/index.d.ts +13 -3
- package/websql/lib/ui/directives/index.d.ts +4 -0
- package/websql/lib/ui/directives/safe.pipe.d.ts +11 -0
- package/websql/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
- package/websql/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
- package/websql/lib/ui/index.d.ts +10 -0
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
- package/websql/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
- package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
- package/websql/lib/ui/taon-full-material.module.d.ts +47 -0
- package/websql/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
- package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
- package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
- package/websql/lib/ui/taon-notifications/index.d.ts +5 -0
- package/websql/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
- package/websql/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
- package/websql/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
- package/websql/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
- package/websql/lib/ui/taon-progress-bar/index.d.ts +3 -0
- package/websql/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
- package/websql/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
- package/websql/lib/ui/taon-session-passcode/index.d.ts +2 -0
- package/websql/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
- package/websql/lib/ui/taon-table/index.d.ts +3 -0
- package/websql/lib/ui/taon-table/taon-table.component.d.ts +37 -0
- package/websql/lib/ui/taon-table/taon-table.module.d.ts +17 -0
- /package/lib/ui/directives/{firedev-inject-html.directive.d.ts → taon-inject-html.directive.d.ts} +0 -0
- /package/lib/ui/directives/{firedev-long-press.directive.d.ts → taon-long-press.directive.d.ts} +0 -0
- /package/lib/ui/{toan-full-material.module.d.ts → taon-full-material.module.d.ts} +0 -0
package/websql/fesm2022/taon.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import * as coreHelpers from 'tnp-core/websql';
|
|
3
|
-
import { _, Helpers, path } from 'tnp-core/websql';
|
|
3
|
+
import { _ as _$1, Helpers, path } from 'tnp-core/websql';
|
|
4
4
|
import { Models as Models$1, RestHeaders, Resource, Mapping } from 'ng2-rest/websql';
|
|
5
5
|
import * as tsorm from 'taon-typeorm/websql';
|
|
6
6
|
import { OrignalClassKey, Entity, EventSubscriber, DataSource } from 'taon-typeorm/websql';
|
|
@@ -9,13 +9,89 @@ import * as JSON5 from 'json5';
|
|
|
9
9
|
import { __decorate, __param, __metadata } from 'tslib';
|
|
10
10
|
import { MySqlQuerySource } from 'taon-type-sql/websql';
|
|
11
11
|
import { Stor } from 'taon-storage/websql';
|
|
12
|
-
import { Subject, Observable, from } from 'rxjs';
|
|
12
|
+
import { Subject, Observable, from, interval, tap, defer, fromEvent, map, debounceTime, distinctUntilChanged, share, Subscription, takeUntil, of } from 'rxjs';
|
|
13
13
|
import { config } from 'tnp-config/websql';
|
|
14
14
|
import * as i0 from '@angular/core';
|
|
15
|
-
import { Injectable, inject as inject$1 } from '@angular/core';
|
|
15
|
+
import { Injectable, inject as inject$1, EventEmitter, Directive, Input, Output, HostBinding, HostListener, Pipe, NgModule, Component, DestroyRef, Self, ViewChild, ChangeDetectorRef } from '@angular/core';
|
|
16
16
|
import { JSON10 } from 'json10/websql';
|
|
17
17
|
import axios from 'axios';
|
|
18
18
|
import { io } from 'socket.io-client';
|
|
19
|
+
import { Log, Level } from 'ng2-logger/websql';
|
|
20
|
+
import * as i1 from '@angular/platform-browser';
|
|
21
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
22
|
+
import * as i5 from '@angular/cdk/drag-drop';
|
|
23
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
24
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
25
|
+
import { CdkStepperModule } from '@angular/cdk/stepper';
|
|
26
|
+
import { CdkTableModule } from '@angular/cdk/table';
|
|
27
|
+
import { CdkTreeModule } from '@angular/cdk/tree';
|
|
28
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
29
|
+
import { MatBadgeModule } from '@angular/material/badge';
|
|
30
|
+
import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
|
|
31
|
+
import * as i6$1 from '@angular/material/button';
|
|
32
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
33
|
+
import * as i7 from '@angular/material/card';
|
|
34
|
+
import { MatCardModule } from '@angular/material/card';
|
|
35
|
+
import * as i8 from '@angular/material/checkbox';
|
|
36
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
37
|
+
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
38
|
+
import { MatStepperModule } from '@angular/material/stepper';
|
|
39
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
40
|
+
import { MatExpansionModule } from '@angular/material/expansion';
|
|
41
|
+
import { MatGridListModule } from '@angular/material/grid-list';
|
|
42
|
+
import * as i6 from '@angular/material/icon';
|
|
43
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
44
|
+
import * as i11$1 from '@angular/material/list';
|
|
45
|
+
import { MatListModule } from '@angular/material/list';
|
|
46
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
47
|
+
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
48
|
+
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
49
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
50
|
+
import { MatDividerModule } from '@angular/material/divider';
|
|
51
|
+
import * as i4 from '@angular/material/input';
|
|
52
|
+
import { MatInputModule } from '@angular/material/input';
|
|
53
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
54
|
+
import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';
|
|
55
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
56
|
+
import { MatRadioModule } from '@angular/material/radio';
|
|
57
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
58
|
+
import * as i10 from '@angular/material/sidenav';
|
|
59
|
+
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
60
|
+
import { MatSliderModule } from '@angular/material/slider';
|
|
61
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
62
|
+
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
63
|
+
import { MatSortModule } from '@angular/material/sort';
|
|
64
|
+
import { MatTableModule } from '@angular/material/table';
|
|
65
|
+
import * as i11 from '@angular/material/tabs';
|
|
66
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
67
|
+
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
68
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
69
|
+
import { MatTreeModule } from '@angular/material/tree';
|
|
70
|
+
import * as i2$1 from '@angular/common';
|
|
71
|
+
import { CommonModule } from '@angular/common';
|
|
72
|
+
import * as i1$1 from '@ngneat/hot-toast';
|
|
73
|
+
import * as i2 from '@angular/forms';
|
|
74
|
+
import { FormGroup, FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
75
|
+
import { PasswordModule } from 'primeng/password';
|
|
76
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
77
|
+
import * as i1$2 from 'ngx-progressbar';
|
|
78
|
+
import { NgProgressModule } from 'ngx-progressbar';
|
|
79
|
+
import * as _ from 'lodash';
|
|
80
|
+
import * as i2$2 from '@angular/material/form-field';
|
|
81
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
82
|
+
import * as i3 from '@ng-matero/extensions/grid';
|
|
83
|
+
import { MtxGridModule } from '@ng-matero/extensions/grid';
|
|
84
|
+
import * as i1$3 from 'static-columns/websql';
|
|
85
|
+
import { StaticColumnsModule } from 'static-columns/websql';
|
|
86
|
+
import * as i4$1 from 'ngx-scrollbar';
|
|
87
|
+
import { NgScrollbarModule } from 'ngx-scrollbar';
|
|
88
|
+
import * as i1$4 from '@angular/router';
|
|
89
|
+
import 'brace';
|
|
90
|
+
import 'brace/mode/css';
|
|
91
|
+
import 'brace/mode/typescript';
|
|
92
|
+
import 'brace/theme/github';
|
|
93
|
+
import * as i13 from 'ngx-pipes';
|
|
94
|
+
import { NgArrayPipesModule } from 'ngx-pipes';
|
|
19
95
|
|
|
20
96
|
var Symbols;
|
|
21
97
|
(function (Symbols) {
|
|
@@ -52,7 +128,7 @@ var Symbols;
|
|
|
52
128
|
return `${contextName}:${this.KEYroomUnsubscribe}CustomRoomEvent`;
|
|
53
129
|
}
|
|
54
130
|
ROOM_NAME_UPDATE_ENTITY(contextName, className, entityId) {
|
|
55
|
-
return `${contextName}:room${_.camelCase(className)}${entityId}`.toLowerCase();
|
|
131
|
+
return `${contextName}:room${_$1.camelCase(className)}${entityId}`.toLowerCase();
|
|
56
132
|
}
|
|
57
133
|
ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(contextName) {
|
|
58
134
|
return `${contextName}:${this.KEYroomSubscribe}EntityEvents`;
|
|
@@ -61,7 +137,7 @@ var Symbols;
|
|
|
61
137
|
return `${contextName}:${this.KEYroomUnsubscribe}EntityEvents`;
|
|
62
138
|
}
|
|
63
139
|
ROOM_NAME_UPDATE_ENTITY_PROPERTY(contextName, className, property, entityId) {
|
|
64
|
-
return `${contextName}:room${_.camelCase(className)}${_.camelCase(property)}${entityId}`.toLowerCase();
|
|
140
|
+
return `${contextName}:room${_$1.camelCase(className)}${_$1.camelCase(property)}${entityId}`.toLowerCase();
|
|
65
141
|
}
|
|
66
142
|
ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(contextName) {
|
|
67
143
|
return `${contextName}:${this.KEYroomSubscribe}EntityPropertyEvents`;
|
|
@@ -114,7 +190,7 @@ var Validators;
|
|
|
114
190
|
(function (Validators) {
|
|
115
191
|
Validators.classNameVlidation = (className, target) => {
|
|
116
192
|
setTimeout(() => {
|
|
117
|
-
if (_.isUndefined(className)) {
|
|
193
|
+
if (_$1.isUndefined(className)) {
|
|
118
194
|
throw `[Taon]
|
|
119
195
|
Please provide "className" property for each Controller and Entity:
|
|
120
196
|
|
|
@@ -134,7 +210,7 @@ var Validators;
|
|
|
134
210
|
`;
|
|
135
211
|
}
|
|
136
212
|
});
|
|
137
|
-
return _.isUndefined(className) ? target.name : className;
|
|
213
|
+
return _$1.isUndefined(className) ? target.name : className;
|
|
138
214
|
};
|
|
139
215
|
Validators.checkIfMethodsWithReponseTYpeAlowed = (methods, current) => {
|
|
140
216
|
const defaultResponseType = 'text or JSON';
|
|
@@ -157,8 +233,8 @@ var Validators;
|
|
|
157
233
|
}
|
|
158
234
|
};
|
|
159
235
|
Validators.validateClassFunctions = (controllers, entities, proviers, repositories) => {
|
|
160
|
-
if (_.isArray(controllers) &&
|
|
161
|
-
controllers.filter(f => !_.isFunction(f)).length > 0) {
|
|
236
|
+
if (_$1.isArray(controllers) &&
|
|
237
|
+
controllers.filter(f => !_$1.isFunction(f)).length > 0) {
|
|
162
238
|
console.error('controllers', controllers);
|
|
163
239
|
throw `
|
|
164
240
|
|
|
@@ -166,8 +242,8 @@ var Validators;
|
|
|
166
242
|
|
|
167
243
|
`;
|
|
168
244
|
}
|
|
169
|
-
if (_.isArray(entities) &&
|
|
170
|
-
entities.filter(f => !_.isFunction(f)).length > 0) {
|
|
245
|
+
if (_$1.isArray(entities) &&
|
|
246
|
+
entities.filter(f => !_$1.isFunction(f)).length > 0) {
|
|
171
247
|
console.error('entites', entities);
|
|
172
248
|
throw `
|
|
173
249
|
|
|
@@ -177,7 +253,7 @@ var Validators;
|
|
|
177
253
|
}
|
|
178
254
|
};
|
|
179
255
|
Validators.preventUndefinedModel = (model, id) => {
|
|
180
|
-
if (_.isUndefined(model)) {
|
|
256
|
+
if (_$1.isUndefined(model)) {
|
|
181
257
|
throw `Bad update by id, config, id: ${id}`;
|
|
182
258
|
}
|
|
183
259
|
};
|
|
@@ -188,7 +264,7 @@ var Validators;
|
|
|
188
264
|
var TaonHelpers;
|
|
189
265
|
(function (TaonHelpers) {
|
|
190
266
|
TaonHelpers.fillUpTo = (s, nCharacters) => {
|
|
191
|
-
return _.times(nCharacters, n => {
|
|
267
|
+
return _$1.times(nCharacters, n => {
|
|
192
268
|
if (s.charAt(n)) {
|
|
193
269
|
return s.charAt(n);
|
|
194
270
|
}
|
|
@@ -236,7 +312,7 @@ var TaonHelpers;
|
|
|
236
312
|
return {};
|
|
237
313
|
};
|
|
238
314
|
TaonHelpers.parseJSONwithStringJSONs = (object, waring = false) => {
|
|
239
|
-
if (!_.isObject(object)) {
|
|
315
|
+
if (!_$1.isObject(object)) {
|
|
240
316
|
if (waring) {
|
|
241
317
|
console.error(`
|
|
242
318
|
parseJSONwithStringJSONs(...)
|
|
@@ -245,7 +321,7 @@ var TaonHelpers;
|
|
|
245
321
|
}
|
|
246
322
|
return object;
|
|
247
323
|
}
|
|
248
|
-
let res = _.cloneDeep(object);
|
|
324
|
+
let res = _$1.cloneDeep(object);
|
|
249
325
|
Object.keys(res).forEach(key => {
|
|
250
326
|
let isJson = false;
|
|
251
327
|
try {
|
|
@@ -310,7 +386,7 @@ var ClassHelpers;
|
|
|
310
386
|
* TODO - repalce in every place when getting class fn from object
|
|
311
387
|
*/
|
|
312
388
|
ClassHelpers.getClassFnFromObject = (json) => {
|
|
313
|
-
if (_.isUndefined(json) || _.isNull(json)) {
|
|
389
|
+
if (_$1.isUndefined(json) || _$1.isNull(json)) {
|
|
314
390
|
return;
|
|
315
391
|
}
|
|
316
392
|
if (json.constructor) {
|
|
@@ -351,25 +427,25 @@ var ClassHelpers;
|
|
|
351
427
|
void 0);
|
|
352
428
|
};
|
|
353
429
|
ClassHelpers.getUniqueKey = (classFnOrObject) => {
|
|
354
|
-
const classFn = _.isFunction(classFnOrObject)
|
|
430
|
+
const classFn = _$1.isFunction(classFnOrObject)
|
|
355
431
|
? classFnOrObject
|
|
356
432
|
: classFnOrObject.constructor;
|
|
357
433
|
const config = Reflect.getMetadata(Symbols.metadata.options.controller, classFn);
|
|
358
434
|
return config.uniqueKeyProp;
|
|
359
435
|
};
|
|
360
436
|
ClassHelpers.isContextClassObject = (obj) => {
|
|
361
|
-
if (!_.isObject(obj) ||
|
|
362
|
-
_.isArray(obj) ||
|
|
363
|
-
_.isRegExp(obj) ||
|
|
364
|
-
_.isBuffer(obj) ||
|
|
365
|
-
_.isArrayBuffer(obj)) {
|
|
437
|
+
if (!_$1.isObject(obj) ||
|
|
438
|
+
_$1.isArray(obj) ||
|
|
439
|
+
_$1.isRegExp(obj) ||
|
|
440
|
+
_$1.isBuffer(obj) ||
|
|
441
|
+
_$1.isArrayBuffer(obj)) {
|
|
366
442
|
return false;
|
|
367
443
|
}
|
|
368
|
-
if (_.isDate(obj)) {
|
|
444
|
+
if (_$1.isDate(obj)) {
|
|
369
445
|
return true;
|
|
370
446
|
}
|
|
371
447
|
const className = ClassHelpers.getName(obj);
|
|
372
|
-
return _.isString(className) && className !== 'Object';
|
|
448
|
+
return _$1.isString(className) && className !== 'Object';
|
|
373
449
|
};
|
|
374
450
|
ClassHelpers.setName = (target, className) => {
|
|
375
451
|
Validators.classNameVlidation(className, target);
|
|
@@ -381,7 +457,7 @@ var ClassHelpers;
|
|
|
381
457
|
}
|
|
382
458
|
targets.push(target);
|
|
383
459
|
let targetProto = Object.getPrototypeOf(target);
|
|
384
|
-
if (_.isFunction(targetProto) &&
|
|
460
|
+
if (_$1.isFunction(targetProto) &&
|
|
385
461
|
ClassHelpers.getName(targetProto) === className) {
|
|
386
462
|
return true;
|
|
387
463
|
}
|
|
@@ -389,7 +465,7 @@ var ClassHelpers;
|
|
|
389
465
|
};
|
|
390
466
|
ClassHelpers.getControllerConfig = (target) => {
|
|
391
467
|
const classMetadataOptions = Reflect.getMetadata(Symbols.metadata.options.controller, target);
|
|
392
|
-
const classMetadata = _.merge(new Models.ControllerConfig(), classMetadataOptions);
|
|
468
|
+
const classMetadata = _$1.merge(new Models.ControllerConfig(), classMetadataOptions);
|
|
393
469
|
const methodNames = ClassHelpers.getMethodsNames(target); // Object.getOwnPropertyNames(target.prototype);
|
|
394
470
|
for (const methodName of methodNames) {
|
|
395
471
|
const methodMetadata = Reflect.getMetadata(Symbols.metadata.options.controllerMethod, target, methodName);
|
|
@@ -424,7 +500,7 @@ var ClassHelpers;
|
|
|
424
500
|
if (!classOrClassInstance) {
|
|
425
501
|
return allMethodsNames;
|
|
426
502
|
}
|
|
427
|
-
const isClassFunction = _.isFunction(classOrClassInstance);
|
|
503
|
+
const isClassFunction = _$1.isFunction(classOrClassInstance);
|
|
428
504
|
const classFun = isClassFunction
|
|
429
505
|
? classOrClassInstance
|
|
430
506
|
: Object.getPrototypeOf(classOrClassInstance);
|
|
@@ -432,7 +508,7 @@ var ClassHelpers;
|
|
|
432
508
|
? classOrClassInstance?.prototype
|
|
433
509
|
: classOrClassInstance;
|
|
434
510
|
const prototypeObj = Object.getPrototypeOf(objectToCheck || {});
|
|
435
|
-
const properties = _.uniq([
|
|
511
|
+
const properties = _$1.uniq([
|
|
436
512
|
...Object.getOwnPropertyNames(objectToCheck || {}),
|
|
437
513
|
...Object.getOwnPropertyNames(prototypeObj || {}),
|
|
438
514
|
...Object.keys(objectToCheck || {}),
|
|
@@ -449,13 +525,13 @@ var ClassHelpers;
|
|
|
449
525
|
return ClassHelpers.getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);
|
|
450
526
|
};
|
|
451
527
|
ClassHelpers.getControllerConfigs = (target, configs = [], callerTarget) => {
|
|
452
|
-
if (!_.isFunction(target)) {
|
|
528
|
+
if (!_$1.isFunction(target)) {
|
|
453
529
|
throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;
|
|
454
530
|
}
|
|
455
531
|
let config;
|
|
456
532
|
const parentClass = Object.getPrototypeOf(target);
|
|
457
533
|
const parentName = parentClass ? ClassHelpers.getName(parentClass) : void 0;
|
|
458
|
-
const isValidParent = _.isFunction(parentClass) && parentName !== '';
|
|
534
|
+
const isValidParent = _$1.isFunction(parentClass) && parentName !== '';
|
|
459
535
|
config = ClassHelpers.getControllerConfig(target);
|
|
460
536
|
configs.push(config);
|
|
461
537
|
return isValidParent
|
|
@@ -464,7 +540,7 @@ var ClassHelpers;
|
|
|
464
540
|
};
|
|
465
541
|
ClassHelpers.getCalculatedPathFor = (target) => {
|
|
466
542
|
const configs = ClassHelpers.getControllerConfigs(target);
|
|
467
|
-
const parentscalculatedPath = _.slice(configs, 1)
|
|
543
|
+
const parentscalculatedPath = _$1.slice(configs, 1)
|
|
468
544
|
.reverse()
|
|
469
545
|
.map(bc => {
|
|
470
546
|
if (TaonHelpers.isGoodPath(bc.path)) {
|
|
@@ -572,7 +648,7 @@ const metaReq = (method, path, target, propertyKey, descriptor, pathOrOptions, p
|
|
|
572
648
|
if (methodConfig.parameters.hasOwnProperty(key)) {
|
|
573
649
|
const element = methodConfig.parameters[key];
|
|
574
650
|
if (element.paramType === 'Path' &&
|
|
575
|
-
_.isString(element.paramName) &&
|
|
651
|
+
_$1.isString(element.paramName) &&
|
|
576
652
|
element.paramName.trim().length > 0) {
|
|
577
653
|
paramsPathConcatedPath += `/${element.paramName}/:${element.paramName}`;
|
|
578
654
|
}
|
|
@@ -675,6 +751,7 @@ var Http;
|
|
|
675
751
|
Http.DELETE = DELETE;
|
|
676
752
|
Http.PATCH = PATCH;
|
|
677
753
|
Http.HEAD = HEAD;
|
|
754
|
+
Http.Response = Models$1.HttpResponse;
|
|
678
755
|
let Param;
|
|
679
756
|
(function (Param) {
|
|
680
757
|
Param.Query = Query;
|
|
@@ -717,11 +794,18 @@ class BaseInjector {
|
|
|
717
794
|
}
|
|
718
795
|
}
|
|
719
796
|
/**
|
|
797
|
+
* @deprecated use ctx instead
|
|
720
798
|
* Current endpoint context
|
|
721
799
|
*/
|
|
722
800
|
get __endpoint_context__() {
|
|
723
801
|
return this[Symbols.ctxInClassOrClassObj];
|
|
724
802
|
}
|
|
803
|
+
/**
|
|
804
|
+
* get current endpoint context
|
|
805
|
+
*/
|
|
806
|
+
get ctx() {
|
|
807
|
+
return this.__endpoint_context__;
|
|
808
|
+
}
|
|
725
809
|
/**
|
|
726
810
|
* inject crud repo for entity
|
|
727
811
|
*/
|
|
@@ -849,7 +933,7 @@ class BaseInjector {
|
|
|
849
933
|
}
|
|
850
934
|
clone(override) {
|
|
851
935
|
const classFn = ClassHelpers.getClassFnFromObject(this);
|
|
852
|
-
const result = _.merge(new classFn(), _.merge(_.cloneDeep(this), override));
|
|
936
|
+
const result = _$1.merge(new classFn(), _$1.merge(_$1.cloneDeep(this), override));
|
|
853
937
|
return result;
|
|
854
938
|
}
|
|
855
939
|
}
|
|
@@ -875,7 +959,7 @@ BaseController = __decorate([
|
|
|
875
959
|
*/
|
|
876
960
|
let BaseCrudController = class BaseCrudController extends BaseController {
|
|
877
961
|
async _() {
|
|
878
|
-
if (!_.isFunction(this.entityClassResolveFn)) {
|
|
962
|
+
if (!_$1.isFunction(this.entityClassResolveFn)) {
|
|
879
963
|
Helpers.warn(`Skipping initing CRUD controller ${ClassHelpers.getName(this)} because entityClassResolveFn is not provided.`);
|
|
880
964
|
return;
|
|
881
965
|
}
|
|
@@ -911,7 +995,7 @@ let BaseCrudController = class BaseCrudController extends BaseController {
|
|
|
911
995
|
Validators.preventUndefinedModel(model, id);
|
|
912
996
|
let value = model[property];
|
|
913
997
|
let result;
|
|
914
|
-
if (_.isString(value) || _.isArray(value)) {
|
|
998
|
+
if (_$1.isString(value) || _$1.isArray(value)) {
|
|
915
999
|
result = value.slice(alreadyLength);
|
|
916
1000
|
}
|
|
917
1001
|
return result;
|
|
@@ -1097,7 +1181,7 @@ class BaseClass {
|
|
|
1097
1181
|
async _() { }
|
|
1098
1182
|
clone(override) {
|
|
1099
1183
|
const classFn = ClassHelpers.getClassFnFromObject(this);
|
|
1100
|
-
const result = _.merge(new classFn(), _.merge(_.cloneDeep(this), override));
|
|
1184
|
+
const result = _$1.merge(new classFn(), _$1.merge(_$1.cloneDeep(this), override));
|
|
1101
1185
|
return result;
|
|
1102
1186
|
}
|
|
1103
1187
|
}
|
|
@@ -1358,7 +1442,7 @@ let BaseRepository = class BaseRepository extends BaseInjector {
|
|
|
1358
1442
|
* Removes a given entities from the database.
|
|
1359
1443
|
*/
|
|
1360
1444
|
async remove(idOrEntity) {
|
|
1361
|
-
if (_.isObject(idOrEntity)) {
|
|
1445
|
+
if (_$1.isObject(idOrEntity)) {
|
|
1362
1446
|
idOrEntity = idOrEntity.id;
|
|
1363
1447
|
}
|
|
1364
1448
|
const deletedEntity = await this.repo.findOne({
|
|
@@ -1383,7 +1467,7 @@ let BaseRepository = class BaseRepository extends BaseInjector {
|
|
|
1383
1467
|
}
|
|
1384
1468
|
async bulkRemove(idsOrEntities) {
|
|
1385
1469
|
idsOrEntities = idsOrEntities.map(id => {
|
|
1386
|
-
return _.isObject(id) ? id.id : id;
|
|
1470
|
+
return _$1.isObject(id) ? id.id : id;
|
|
1387
1471
|
});
|
|
1388
1472
|
const models = [];
|
|
1389
1473
|
for (let index = 0; index < idsOrEntities.length; index++) {
|
|
@@ -1424,10 +1508,10 @@ let BaseRepository = class BaseRepository extends BaseInjector {
|
|
|
1424
1508
|
async updateById(id, item) {
|
|
1425
1509
|
const allowedPropsToUpdate = [];
|
|
1426
1510
|
for (const key in item) {
|
|
1427
|
-
if (_.isObject(item) &&
|
|
1511
|
+
if (_$1.isObject(item) &&
|
|
1428
1512
|
item.hasOwnProperty(key) &&
|
|
1429
1513
|
typeof item[key] !== 'object' &&
|
|
1430
|
-
!_.isUndefined(this.repo.metadata.ownColumns.find(c => c.propertyName === key))) {
|
|
1514
|
+
!_$1.isUndefined(this.repo.metadata.ownColumns.find(c => c.propertyName === key))) {
|
|
1431
1515
|
allowedPropsToUpdate.push(key);
|
|
1432
1516
|
}
|
|
1433
1517
|
}
|
|
@@ -1639,14 +1723,14 @@ const globalPublicStorage = Helpers.isBrowser ? window : global;
|
|
|
1639
1723
|
;
|
|
1640
1724
|
({}); // @--end-of-file-for-module=taon lib/storage.ts
|
|
1641
1725
|
|
|
1642
|
-
const ENV$
|
|
1726
|
+
const ENV$2 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
|
|
1643
1727
|
class TaonAdmin {
|
|
1644
1728
|
constructor() {
|
|
1645
1729
|
this.scrollableEnabled = false; // TOOD false by default
|
|
1646
1730
|
this.onEditMode = new Subject();
|
|
1647
1731
|
this.onEditMode$ = this.onEditMode.asObservable();
|
|
1648
1732
|
this.enabledTabs = [];
|
|
1649
|
-
this.scrollableEnabled = !!ENV$
|
|
1733
|
+
this.scrollableEnabled = !!ENV$2?.useGlobalNgxScrollbar;
|
|
1650
1734
|
}
|
|
1651
1735
|
static get Instance() {
|
|
1652
1736
|
if (!globalPublicStorage[config.frameworkNames.productionFrameworkName]) {
|
|
@@ -1771,7 +1855,7 @@ const getResponseValue = (response, options) => {
|
|
|
1771
1855
|
;
|
|
1772
1856
|
({}); // @--end-of-file-for-module=taon lib/get-response-value.ts
|
|
1773
1857
|
|
|
1774
|
-
const ENV = Helpers.isBrowser ? window['ENV'] : global['ENV'];
|
|
1858
|
+
const ENV$1 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
|
|
1775
1859
|
;
|
|
1776
1860
|
({}); // @--end-of-file-for-module=taon lib/env.ts
|
|
1777
1861
|
|
|
@@ -1799,7 +1883,7 @@ class RealtimeSubsManager {
|
|
|
1799
1883
|
realtime.emit(subscribeEvent, this.options.roomName);
|
|
1800
1884
|
}
|
|
1801
1885
|
else {
|
|
1802
|
-
if (_.isString(this.options.property)) {
|
|
1886
|
+
if (_$1.isString(this.options.property)) {
|
|
1803
1887
|
const subscribeEvent = Symbols.REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName);
|
|
1804
1888
|
realtime.emit(subscribeEvent, this.options.roomName);
|
|
1805
1889
|
}
|
|
@@ -1826,7 +1910,7 @@ class RealtimeSubsManager {
|
|
|
1826
1910
|
realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(this.options.core.ctx.contextName), roomName);
|
|
1827
1911
|
}
|
|
1828
1912
|
else {
|
|
1829
|
-
if (_.isString(property)) {
|
|
1913
|
+
if (_$1.isString(property)) {
|
|
1830
1914
|
realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
|
|
1831
1915
|
}
|
|
1832
1916
|
else {
|
|
@@ -1904,7 +1988,7 @@ class RealtimeClient {
|
|
|
1904
1988
|
options = options || {};
|
|
1905
1989
|
const { property, customEvent } = options;
|
|
1906
1990
|
const className = !customEvent && ClassHelpers.getName(entityClassFn);
|
|
1907
|
-
if (_.isString(property)) {
|
|
1991
|
+
if (_$1.isString(property)) {
|
|
1908
1992
|
if (property.trim() === '') {
|
|
1909
1993
|
throw new Error(`[Taon][listenChangesEntity.. incorect property '' for ${className}`);
|
|
1910
1994
|
}
|
|
@@ -1927,7 +2011,7 @@ to use socket realtime connection;
|
|
|
1927
2011
|
roomName = Symbols.REALTIME.ROOM_NAME_CUSTOM(this.core.ctx.contextName, customEvent);
|
|
1928
2012
|
}
|
|
1929
2013
|
else {
|
|
1930
|
-
roomName = _.isString(property)
|
|
2014
|
+
roomName = _$1.isString(property)
|
|
1931
2015
|
? Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(this.core.ctx.contextName, className, property, idOrUniqValue)
|
|
1932
2016
|
: Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY(this.core.ctx.contextName, className, idOrUniqValue);
|
|
1933
2017
|
}
|
|
@@ -2092,7 +2176,7 @@ class RealtimeServer {
|
|
|
2092
2176
|
}
|
|
2093
2177
|
else {
|
|
2094
2178
|
let entityFn = entityObjOrClass;
|
|
2095
|
-
const entityIsObject = !_.isFunction(entityObjOrClass) && _.isObject(entityObjOrClass);
|
|
2179
|
+
const entityIsObject = !_$1.isFunction(entityObjOrClass) && _$1.isObject(entityObjOrClass);
|
|
2096
2180
|
if (entityIsObject) {
|
|
2097
2181
|
entityFn = ClassHelpers.getClassFnFromObject(entityObjOrClass);
|
|
2098
2182
|
}
|
|
@@ -2104,7 +2188,7 @@ class RealtimeServer {
|
|
|
2104
2188
|
Helpers.error(`[Taon][Realtime] Entity without iD ! ${ClassHelpers.getName(entityFn)} `, true, true);
|
|
2105
2189
|
return;
|
|
2106
2190
|
}
|
|
2107
|
-
roomName = _.isString(property)
|
|
2191
|
+
roomName = _$1.isString(property)
|
|
2108
2192
|
? Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(this.core.ctx.contextName, ClassHelpers.getName(entityFn), property, valueOfUniqueProperty)
|
|
2109
2193
|
: Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY(this.core.ctx.contextName, ClassHelpers.getName(entityFn), valueOfUniqueProperty);
|
|
2110
2194
|
}
|
|
@@ -2125,7 +2209,7 @@ class RealtimeServer {
|
|
|
2125
2209
|
console.warn(`[Taon][TriggerEntityPropertyChanges][property=${property}] Entity "${className}' is not realtime`);
|
|
2126
2210
|
return;
|
|
2127
2211
|
}
|
|
2128
|
-
if (_.isArray(property)) {
|
|
2212
|
+
if (_$1.isArray(property)) {
|
|
2129
2213
|
property.forEach(propertyFromArr => {
|
|
2130
2214
|
this.triggerChanges(entityObjOrClass, propertyFromArr, idToTrigger);
|
|
2131
2215
|
});
|
|
@@ -2706,11 +2790,6 @@ class EndpointContext {
|
|
|
2706
2790
|
static initNgZone(ngZone) {
|
|
2707
2791
|
this.ngZone = ngZone;
|
|
2708
2792
|
}
|
|
2709
|
-
static findForTraget(classFnOrObject) {
|
|
2710
|
-
const obj = ClassHelpers.getClassFnFromObject(classFnOrObject) || {};
|
|
2711
|
-
return (classFnOrObject[Symbols.ctxInClassOrClassObj] ||
|
|
2712
|
-
obj[Symbols.ctxInClassOrClassObj]);
|
|
2713
|
-
}
|
|
2714
2793
|
get realtimeClient() {
|
|
2715
2794
|
return this.realtime.client;
|
|
2716
2795
|
}
|
|
@@ -2718,25 +2797,25 @@ class EndpointContext {
|
|
|
2718
2797
|
return this.realtime.server;
|
|
2719
2798
|
}
|
|
2720
2799
|
get logHttp() {
|
|
2721
|
-
if (_.isObject(this.config?.logs)) {
|
|
2800
|
+
if (_$1.isObject(this.config?.logs)) {
|
|
2722
2801
|
return !!this.config.logs.http;
|
|
2723
2802
|
}
|
|
2724
2803
|
return this.config?.logs === true;
|
|
2725
2804
|
}
|
|
2726
2805
|
get logRealtime() {
|
|
2727
|
-
if (_.isObject(this.config?.logs)) {
|
|
2806
|
+
if (_$1.isObject(this.config?.logs)) {
|
|
2728
2807
|
return !!this.config.logs.realtime;
|
|
2729
2808
|
}
|
|
2730
2809
|
return this.config?.logs === true;
|
|
2731
2810
|
}
|
|
2732
2811
|
get logFramework() {
|
|
2733
|
-
if (_.isObject(this.config?.logs)) {
|
|
2812
|
+
if (_$1.isObject(this.config?.logs)) {
|
|
2734
2813
|
return !!this.config.logs.framework;
|
|
2735
2814
|
}
|
|
2736
2815
|
return this.config?.logs === true;
|
|
2737
2816
|
}
|
|
2738
2817
|
get logDb() {
|
|
2739
|
-
if (_.isObject(this.config?.logs)) {
|
|
2818
|
+
if (_$1.isObject(this.config?.logs)) {
|
|
2740
2819
|
return !!this.config.logs.db;
|
|
2741
2820
|
}
|
|
2742
2821
|
return this.config?.logs === true;
|
|
@@ -2837,9 +2916,19 @@ class EndpointContext {
|
|
|
2837
2916
|
};
|
|
2838
2917
|
}
|
|
2839
2918
|
async init(options) {
|
|
2840
|
-
const { initFromRecrusiveContextResovle } = options || {}; // TODO use it ?
|
|
2919
|
+
const { initFromRecrusiveContextResovle, overrideHost, overrideRemoteHost } = options || {}; // TODO use it ?
|
|
2841
2920
|
this.inited = true;
|
|
2842
|
-
this.config = this.configFn(ENV);
|
|
2921
|
+
this.config = this.configFn(ENV$1);
|
|
2922
|
+
if (overrideHost && overrideRemoteHost) {
|
|
2923
|
+
if (Helpers.isWebSQL) {
|
|
2924
|
+
throw new Error(`You can't have overrideHost and overrideRemoteHost at the same time`);
|
|
2925
|
+
}
|
|
2926
|
+
Helpers.error(`You can't have overrideHost and overrideRemoteHost at the same time`, false, true);
|
|
2927
|
+
/* */
|
|
2928
|
+
/* */
|
|
2929
|
+
}
|
|
2930
|
+
this.config.host = overrideHost ? overrideHost : this.config.host;
|
|
2931
|
+
this.config.remoteHost = overrideRemoteHost ? overrideRemoteHost : this.config.remoteHost;
|
|
2843
2932
|
if (this.config.host) {
|
|
2844
2933
|
this.mode = 'backend-frontend(tcp+udp)';
|
|
2845
2934
|
this.mode = 'backend-frontend(websql)';
|
|
@@ -2866,11 +2955,11 @@ class EndpointContext {
|
|
|
2866
2955
|
if (this.config.database === true) {
|
|
2867
2956
|
this.databaseConfig = this.getAutoGeneratedConfig();
|
|
2868
2957
|
}
|
|
2869
|
-
else if (_.isObject(this.config.database)) {
|
|
2870
|
-
this.databaseConfig = _.cloneDeep(this.config.database);
|
|
2958
|
+
else if (_$1.isObject(this.config.database)) {
|
|
2959
|
+
this.databaseConfig = _$1.cloneDeep(this.config.database);
|
|
2871
2960
|
}
|
|
2872
2961
|
if (this.config.session) {
|
|
2873
|
-
this.session = _.cloneDeep(this.config.session);
|
|
2962
|
+
this.session = _$1.cloneDeep(this.config.session);
|
|
2874
2963
|
const oneHour = 1000 * 60 * 60 * 1; // 24;
|
|
2875
2964
|
if (!this.session.cookieMaxAge) {
|
|
2876
2965
|
this.session.cookieMaxAge = oneHour;
|
|
@@ -2987,7 +3076,7 @@ class EndpointContext {
|
|
|
2987
3076
|
if (Helpers.isRunningInDocker()) {
|
|
2988
3077
|
Helpers.info('Running in docker, using in mysql database');
|
|
2989
3078
|
databaseConfig = {
|
|
2990
|
-
database: `tmp-db-${_.kebabCase(this.contextName)}.sqljs.db`,
|
|
3079
|
+
database: `tmp-db-${_$1.kebabCase(this.contextName)}.sqljs.db`,
|
|
2991
3080
|
type: 'mysql',
|
|
2992
3081
|
autoSave: true,
|
|
2993
3082
|
synchronize: true,
|
|
@@ -3005,7 +3094,7 @@ class EndpointContext {
|
|
|
3005
3094
|
switch (this.mode) {
|
|
3006
3095
|
case 'backend-frontend(ipc-electron)':
|
|
3007
3096
|
return {
|
|
3008
|
-
location: `tmp-db-${_.kebabCase(this.contextName)}.sqljs`,
|
|
3097
|
+
location: `tmp-db-${_$1.kebabCase(this.contextName)}.sqljs`,
|
|
3009
3098
|
type: 'sqljs',
|
|
3010
3099
|
autoSave: true,
|
|
3011
3100
|
synchronize: true,
|
|
@@ -3016,7 +3105,7 @@ class EndpointContext {
|
|
|
3016
3105
|
case 'backend-frontend(websql-electron)':
|
|
3017
3106
|
case 'backend-frontend(websql)':
|
|
3018
3107
|
databaseConfig = {
|
|
3019
|
-
location: `tmp-db-${_.kebabCase(this.contextName)}.sqljs`,
|
|
3108
|
+
location: `tmp-db-${_$1.kebabCase(this.contextName)}.sqljs`,
|
|
3020
3109
|
type: 'sqljs',
|
|
3021
3110
|
useLocalForage: true, // !!window['localforage'], // TODO this need to be checked in runtime
|
|
3022
3111
|
autoSave: true,
|
|
@@ -3038,8 +3127,8 @@ class EndpointContext {
|
|
|
3038
3127
|
break;
|
|
3039
3128
|
case 'backend-frontend(tcp+udp)':
|
|
3040
3129
|
databaseConfig = {
|
|
3041
|
-
database: `context-db-${_.kebabCase(this.contextName)}`,
|
|
3042
|
-
location: `tmp-db-${_.kebabCase(this.contextName)}.sqlite`,
|
|
3130
|
+
database: `context-db-${_$1.kebabCase(this.contextName)}`,
|
|
3131
|
+
location: `tmp-db-${_$1.kebabCase(this.contextName)}.sqlite`,
|
|
3043
3132
|
type: 'sqljs',
|
|
3044
3133
|
autoSave: true,
|
|
3045
3134
|
synchronize: true,
|
|
@@ -3069,6 +3158,9 @@ class EndpointContext {
|
|
|
3069
3158
|
/* */
|
|
3070
3159
|
/* */
|
|
3071
3160
|
/* */
|
|
3161
|
+
/* */
|
|
3162
|
+
/* */
|
|
3163
|
+
/* */
|
|
3072
3164
|
return (void 0);
|
|
3073
3165
|
}
|
|
3074
3166
|
displayRoutes(app) {
|
|
@@ -3182,8 +3274,8 @@ class EndpointContext {
|
|
|
3182
3274
|
return this.inject(ctor, { localInstance: false });
|
|
3183
3275
|
}
|
|
3184
3276
|
checkIfContextInitialized() {
|
|
3185
|
-
if (_.isUndefined(this.config)) {
|
|
3186
|
-
throw new Error(`Please check if your context has been
|
|
3277
|
+
if (_$1.isUndefined(this.config)) {
|
|
3278
|
+
throw new Error(`Please check if your context has been initialized.
|
|
3187
3279
|
|
|
3188
3280
|
|
|
3189
3281
|
await Context.initialize();
|
|
@@ -3244,9 +3336,12 @@ class EndpointContext {
|
|
|
3244
3336
|
}
|
|
3245
3337
|
}
|
|
3246
3338
|
async reinitControllers() {
|
|
3339
|
+
if (this.remoteHost) {
|
|
3340
|
+
return;
|
|
3341
|
+
}
|
|
3247
3342
|
const controllers = this.getClassesInstancesArrBy(Models.ClassType.CONTROLLER);
|
|
3248
3343
|
for (const ctrl of controllers) {
|
|
3249
|
-
if (_.isFunction(ctrl.initExampleDbData)) {
|
|
3344
|
+
if (_$1.isFunction(ctrl.initExampleDbData)) {
|
|
3250
3345
|
await Helpers.runSyncOrAsync({
|
|
3251
3346
|
functionFn: ctrl.initExampleDbData,
|
|
3252
3347
|
context: ctrl,
|
|
@@ -3255,6 +3350,9 @@ class EndpointContext {
|
|
|
3255
3350
|
}
|
|
3256
3351
|
}
|
|
3257
3352
|
async initClasses() {
|
|
3353
|
+
if (this.remoteHost) {
|
|
3354
|
+
return;
|
|
3355
|
+
}
|
|
3258
3356
|
for (const classTypeName of [
|
|
3259
3357
|
Models.ClassType.PROVIDER,
|
|
3260
3358
|
Models.ClassType.REPOSITORY,
|
|
@@ -3262,7 +3360,7 @@ class EndpointContext {
|
|
|
3262
3360
|
Models.ClassType.ENTITY,
|
|
3263
3361
|
]) {
|
|
3264
3362
|
for (const classFun of this.getClassFunByArr(classTypeName)) {
|
|
3265
|
-
if (_.isFunction(classFun._)) {
|
|
3363
|
+
if (_$1.isFunction(classFun._)) {
|
|
3266
3364
|
await Helpers.runSyncOrAsync({
|
|
3267
3365
|
functionFn: classFun._,
|
|
3268
3366
|
context: classFun,
|
|
@@ -3276,7 +3374,7 @@ class EndpointContext {
|
|
|
3276
3374
|
Models.ClassType.CONTROLLER,
|
|
3277
3375
|
]) {
|
|
3278
3376
|
for (const ctrl of this.getClassesInstancesArrBy(classTypeName)) {
|
|
3279
|
-
if (_.isFunction(ctrl._)) {
|
|
3377
|
+
if (_$1.isFunction(ctrl._)) {
|
|
3280
3378
|
await Helpers.runSyncOrAsync({
|
|
3281
3379
|
functionFn: ctrl._,
|
|
3282
3380
|
context: ctrl,
|
|
@@ -3322,6 +3420,9 @@ class EndpointContext {
|
|
|
3322
3420
|
return this.uri?.origin;
|
|
3323
3421
|
}
|
|
3324
3422
|
async initSubscribers() {
|
|
3423
|
+
if (this.remoteHost) {
|
|
3424
|
+
return;
|
|
3425
|
+
}
|
|
3325
3426
|
const subscriberClasses = this.getClassFunByArr(Models.ClassType.SUBSCRIBER);
|
|
3326
3427
|
for (const subscriberClassFn of subscriberClasses) {
|
|
3327
3428
|
const options = Reflect.getMetadata(Symbols.metadata.options.subscriber, subscriberClassFn);
|
|
@@ -3329,14 +3430,17 @@ class EndpointContext {
|
|
|
3329
3430
|
}
|
|
3330
3431
|
}
|
|
3331
3432
|
async initEntities() {
|
|
3433
|
+
if (this.remoteHost) {
|
|
3434
|
+
return;
|
|
3435
|
+
}
|
|
3332
3436
|
const entities = this.getClassFunByArr(Models.ClassType.ENTITY);
|
|
3333
3437
|
for (const entity of entities) {
|
|
3334
3438
|
const options = Reflect.getMetadata(Symbols.metadata.options.entity, entity);
|
|
3335
|
-
const createTable = _.isUndefined(options.createTable)
|
|
3439
|
+
const createTable = _$1.isUndefined(options.createTable)
|
|
3336
3440
|
? true
|
|
3337
3441
|
: options.createTable;
|
|
3338
3442
|
const nameForEntity = ClassHelpers.getName(entity);
|
|
3339
|
-
if (_.isUndefined(options.createTable) ? true : options.createTable) {
|
|
3443
|
+
if (_$1.isUndefined(options.createTable) ? true : options.createTable) {
|
|
3340
3444
|
this.logDb &&
|
|
3341
3445
|
console.info(`[taon][typeorm] create table for entity "${nameForEntity}" ? '${createTable}'`);
|
|
3342
3446
|
Entity(nameForEntity)(entity);
|
|
@@ -3348,6 +3452,9 @@ class EndpointContext {
|
|
|
3348
3452
|
}
|
|
3349
3453
|
}
|
|
3350
3454
|
async initDatabaseConnection() {
|
|
3455
|
+
if (this.remoteHost) {
|
|
3456
|
+
return;
|
|
3457
|
+
}
|
|
3351
3458
|
const entities = (this.config.override?.entities
|
|
3352
3459
|
? this.config.override.entities
|
|
3353
3460
|
: this.getClassFunByArr(Models.ClassType.ENTITY)).map(entityFn => {
|
|
@@ -3356,7 +3463,7 @@ class EndpointContext {
|
|
|
3356
3463
|
const subscribers = this.config.override?.subscribers
|
|
3357
3464
|
? this.config.override.subscribers
|
|
3358
3465
|
: this.getClassFunByArr(Models.ClassType.SUBSCRIBER);
|
|
3359
|
-
const dataSourceDbConfig = _.isObject(this.databaseConfig)
|
|
3466
|
+
const dataSourceDbConfig = _$1.isObject(this.databaseConfig)
|
|
3360
3467
|
? {
|
|
3361
3468
|
type: this.databaseConfig.type,
|
|
3362
3469
|
port: this.databaseConfig.databasePort,
|
|
@@ -3415,7 +3522,7 @@ class EndpointContext {
|
|
|
3415
3522
|
ClassHelpers.getMethodsNames(controllerClassFn);
|
|
3416
3523
|
const configs = ClassHelpers.getControllerConfigs(controllerClassFn);
|
|
3417
3524
|
const classConfig = configs[0];
|
|
3418
|
-
const parentscalculatedPath = _.slice(configs, 1)
|
|
3525
|
+
const parentscalculatedPath = _$1.slice(configs, 1)
|
|
3419
3526
|
.reverse()
|
|
3420
3527
|
.map(bc => {
|
|
3421
3528
|
if (TaonHelpers.isGoodPath(bc.path)) {
|
|
@@ -3433,13 +3540,13 @@ class EndpointContext {
|
|
|
3433
3540
|
.replace(/\/\//g, '/')
|
|
3434
3541
|
.split('/')
|
|
3435
3542
|
.reduce((acc, bc) => {
|
|
3436
|
-
return _.last(acc) === bc ? acc : [...acc, bc];
|
|
3543
|
+
return _$1.last(acc) === bc ? acc : [...acc, bc];
|
|
3437
3544
|
}, [])
|
|
3438
3545
|
.join('/');
|
|
3439
3546
|
}
|
|
3440
|
-
_.slice(configs, 1).forEach(bc => {
|
|
3547
|
+
_$1.slice(configs, 1).forEach(bc => {
|
|
3441
3548
|
const alreadyIs = classConfig.methods;
|
|
3442
|
-
const toMerge = _.cloneDeep(bc.methods);
|
|
3549
|
+
const toMerge = _$1.cloneDeep(bc.methods);
|
|
3443
3550
|
for (const key in toMerge) {
|
|
3444
3551
|
if (toMerge.hasOwnProperty(key) && !alreadyIs[key]) {
|
|
3445
3552
|
const element = toMerge[key];
|
|
@@ -3479,6 +3586,9 @@ class EndpointContext {
|
|
|
3479
3586
|
}
|
|
3480
3587
|
}
|
|
3481
3588
|
writeActiveRoutes() {
|
|
3589
|
+
if (this.remoteHost) {
|
|
3590
|
+
return;
|
|
3591
|
+
}
|
|
3482
3592
|
const contexts = [this];
|
|
3483
3593
|
const troutes = this.activeRoutes.map(({ method, routePath }) => {
|
|
3484
3594
|
return (TaonHelpers.fillUpTo(method.toUpperCase() + ':', 10) +
|
|
@@ -3492,7 +3602,7 @@ class EndpointContext {
|
|
|
3492
3602
|
const fileName = path.join(
|
|
3493
3603
|
/* */
|
|
3494
3604
|
/* */
|
|
3495
|
-
`tmp-routes-${_.kebabCase(this.config.contextName)}.json`);
|
|
3605
|
+
`tmp-routes-${_$1.kebabCase(this.config.contextName)}.json`);
|
|
3496
3606
|
this.logFramework && console.log(`[taon] routes file: ${fileName} `);
|
|
3497
3607
|
/* */
|
|
3498
3608
|
/* */
|
|
@@ -3505,7 +3615,7 @@ class EndpointContext {
|
|
|
3505
3615
|
/* */
|
|
3506
3616
|
return (void 0);
|
|
3507
3617
|
}
|
|
3508
|
-
|
|
3618
|
+
initMiddlewares() {
|
|
3509
3619
|
/* */
|
|
3510
3620
|
/* */
|
|
3511
3621
|
/* */
|
|
@@ -3915,7 +4025,7 @@ class EndpointContext {
|
|
|
3915
4025
|
method: methodConfig.type,
|
|
3916
4026
|
url: `${ctx.uri.origin}${'' // TODO express path
|
|
3917
4027
|
}${methodConfig.path} `,
|
|
3918
|
-
}, Helpers.isBlob(body) || _.isString(body)
|
|
4028
|
+
}, Helpers.isBlob(body) || _$1.isString(body)
|
|
3919
4029
|
? body
|
|
3920
4030
|
: JSON.stringify(body), RestHeaders.from(headers), void 0, () => body);
|
|
3921
4031
|
resolve(res);
|
|
@@ -4007,7 +4117,7 @@ class EndpointContext {
|
|
|
4007
4117
|
method: methodConfig.type,
|
|
4008
4118
|
url: `${ctx.uri.origin}${'' // TODO express path
|
|
4009
4119
|
}${methodConfig.path} `,
|
|
4010
|
-
}, Helpers.isBlob(body) || _.isString(body)
|
|
4120
|
+
}, Helpers.isBlob(body) || _$1.isString(body)
|
|
4011
4121
|
? body
|
|
4012
4122
|
: JSON.stringify(body), RestHeaders.from(headers), void 0, () => body);
|
|
4013
4123
|
await periods();
|
|
@@ -4094,7 +4204,7 @@ class EndpointContext {
|
|
|
4094
4204
|
if (mapping) {
|
|
4095
4205
|
rest.headers.set(Symbols.old.MAPPING_CONFIG_HEADER_QUERY_PARAMS, JSON.stringify(mapping));
|
|
4096
4206
|
}
|
|
4097
|
-
queryParams = _.cloneDeep(param);
|
|
4207
|
+
queryParams = _$1.cloneDeep(param);
|
|
4098
4208
|
}
|
|
4099
4209
|
}
|
|
4100
4210
|
if (currentParam.paramType === 'Header') {
|
|
@@ -4173,7 +4283,7 @@ instead
|
|
|
4173
4283
|
({}); // @--end-of-file-for-module=taon lib/endpoint-context.ts
|
|
4174
4284
|
|
|
4175
4285
|
const createContext = (configFn) => {
|
|
4176
|
-
let config = configFn(ENV);
|
|
4286
|
+
let config = configFn(ENV$1);
|
|
4177
4287
|
const endpointContextRef = new EndpointContext(config, configFn);
|
|
4178
4288
|
const res = {
|
|
4179
4289
|
types: {
|
|
@@ -4226,10 +4336,12 @@ const createContext = (configFn) => {
|
|
|
4226
4336
|
* - create controller instances for context
|
|
4227
4337
|
* - init database (if enable) + migation scripts
|
|
4228
4338
|
*/
|
|
4229
|
-
initialize: async () => {
|
|
4339
|
+
initialize: async (overrideOptions) => {
|
|
4230
4340
|
return await new Promise(async (resolve, reject) => {
|
|
4231
4341
|
setTimeout(async () => {
|
|
4232
|
-
await endpointContextRef.init(
|
|
4342
|
+
await endpointContextRef.init({
|
|
4343
|
+
...overrideOptions,
|
|
4344
|
+
});
|
|
4233
4345
|
if (config.abstract) {
|
|
4234
4346
|
throw new Error(`Abstract context can not be initialized`);
|
|
4235
4347
|
}
|
|
@@ -4464,7 +4576,7 @@ function TaonEntity(options) {
|
|
|
4464
4576
|
options = options || {};
|
|
4465
4577
|
options.uniqueKeyProp = options.uniqueKeyProp || 'id';
|
|
4466
4578
|
ClassHelpers.setName(constructor, options?.className);
|
|
4467
|
-
Mapping.DefaultModelWithMapping(options?.defaultModelValues || {}, _.merge(options?.defaultModelMapping || {}, (options?.defaultModelMappingDeep || {})))(constructor);
|
|
4579
|
+
Mapping.DefaultModelWithMapping(options?.defaultModelValues || {}, _$1.merge(options?.defaultModelMapping || {}, (options?.defaultModelMappingDeep || {})))(constructor);
|
|
4468
4580
|
Mapping.DefaultModelWithMapping(void 0, {})(constructor);
|
|
4469
4581
|
Reflect.defineMetadata(Symbols.metadata.options.entity, options, constructor);
|
|
4470
4582
|
Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
|
|
@@ -4523,6 +4635,1216 @@ const inject = (entity) => {
|
|
|
4523
4635
|
;
|
|
4524
4636
|
({}); // @--end-of-file-for-module=taon lib/inject.ts
|
|
4525
4637
|
|
|
4638
|
+
const log$1 = Log.create(`[taon-helpers] long-press`, Level.__NOTHING);
|
|
4639
|
+
class TaonLongPress {
|
|
4640
|
+
constructor() {
|
|
4641
|
+
this.pressDuration = 1000;
|
|
4642
|
+
this.onLongPress = new EventEmitter();
|
|
4643
|
+
this.onLongPressing = new EventEmitter();
|
|
4644
|
+
this.onLongPressEnd = new EventEmitter();
|
|
4645
|
+
this.mouseX = 0;
|
|
4646
|
+
this.mouseY = 0;
|
|
4647
|
+
this.allowTrigger = false;
|
|
4648
|
+
this.triggerEnd = _$1.debounce(() => {
|
|
4649
|
+
this.endPress();
|
|
4650
|
+
}, 500);
|
|
4651
|
+
}
|
|
4652
|
+
get press() {
|
|
4653
|
+
return this.pressing;
|
|
4654
|
+
}
|
|
4655
|
+
get longPress() {
|
|
4656
|
+
return this.longPressing;
|
|
4657
|
+
}
|
|
4658
|
+
onMouseDown(event) {
|
|
4659
|
+
log$1.d(`MOUSE DOWN `);
|
|
4660
|
+
if (event.which !== 1)
|
|
4661
|
+
return;
|
|
4662
|
+
this.allowTrigger = true;
|
|
4663
|
+
this.mouseX = event.clientX;
|
|
4664
|
+
this.mouseY = event.clientY;
|
|
4665
|
+
this.pressing = true;
|
|
4666
|
+
this.longPressing = false;
|
|
4667
|
+
this.timeout = setTimeout(() => {
|
|
4668
|
+
if (this.allowTrigger) {
|
|
4669
|
+
this.longPressing = true;
|
|
4670
|
+
log$1.d(`long pressing start pressDuration:${this.pressDuration} `);
|
|
4671
|
+
this.onLongPress.emit(event);
|
|
4672
|
+
this.loop(event);
|
|
4673
|
+
}
|
|
4674
|
+
}, this.pressDuration);
|
|
4675
|
+
this.loop(event);
|
|
4676
|
+
}
|
|
4677
|
+
onMouseMove(event) {
|
|
4678
|
+
if (this.pressing && !this.longPressing) {
|
|
4679
|
+
const xThres = event.clientX - this.mouseX > 10;
|
|
4680
|
+
const yThres = event.clientY - this.mouseY > 10;
|
|
4681
|
+
if (xThres || yThres) {
|
|
4682
|
+
this.endPress();
|
|
4683
|
+
}
|
|
4684
|
+
}
|
|
4685
|
+
}
|
|
4686
|
+
loop(event) {
|
|
4687
|
+
if (this.longPressing) {
|
|
4688
|
+
this.timeout = setTimeout(() => {
|
|
4689
|
+
log$1.d(`emil longpressing`);
|
|
4690
|
+
this.triggerEnd();
|
|
4691
|
+
this.onLongPressing.emit(event);
|
|
4692
|
+
this.loop(event);
|
|
4693
|
+
}, 50);
|
|
4694
|
+
}
|
|
4695
|
+
}
|
|
4696
|
+
endPress(emit = true) {
|
|
4697
|
+
this.allowTrigger = false;
|
|
4698
|
+
clearTimeout(this.timeout);
|
|
4699
|
+
this.longPressing = false;
|
|
4700
|
+
this.pressing = false;
|
|
4701
|
+
if (emit) {
|
|
4702
|
+
log$1.d(`EMIT END`);
|
|
4703
|
+
this.onLongPressEnd.emit(true);
|
|
4704
|
+
}
|
|
4705
|
+
else {
|
|
4706
|
+
log$1.d(`NOT EMIT END`);
|
|
4707
|
+
}
|
|
4708
|
+
}
|
|
4709
|
+
onMouseUp() {
|
|
4710
|
+
this.endPress(false);
|
|
4711
|
+
}
|
|
4712
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonLongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4713
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.5", type: TaonLongPress, isStandalone: true, selector: "[taonLongPress]", inputs: { pressDuration: "pressDuration" }, outputs: { onLongPress: "onLongPress", onLongPressing: "onLongPressing", onLongPressEnd: "onLongPressEnd" }, host: { listeners: { "mousedown": "onMouseDown($event)", "mousemove": "onMouseMove($event)", "mouseup": "onMouseUp()" }, properties: { "class.press": "this.press", "class.longpress": "this.longPress" } }, ngImport: i0 }); }
|
|
4714
|
+
}
|
|
4715
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonLongPress, decorators: [{
|
|
4716
|
+
type: Directive,
|
|
4717
|
+
args: [{
|
|
4718
|
+
selector: '[taonLongPress]',
|
|
4719
|
+
standalone: true,
|
|
4720
|
+
}]
|
|
4721
|
+
}], propDecorators: { pressDuration: [{
|
|
4722
|
+
type: Input
|
|
4723
|
+
}], onLongPress: [{
|
|
4724
|
+
type: Output
|
|
4725
|
+
}], onLongPressing: [{
|
|
4726
|
+
type: Output
|
|
4727
|
+
}], onLongPressEnd: [{
|
|
4728
|
+
type: Output
|
|
4729
|
+
}], press: [{
|
|
4730
|
+
type: HostBinding,
|
|
4731
|
+
args: ['class.press']
|
|
4732
|
+
}], longPress: [{
|
|
4733
|
+
type: HostBinding,
|
|
4734
|
+
args: ['class.longpress']
|
|
4735
|
+
}], onMouseDown: [{
|
|
4736
|
+
type: HostListener,
|
|
4737
|
+
args: ['mousedown', ['$event']]
|
|
4738
|
+
}], onMouseMove: [{
|
|
4739
|
+
type: HostListener,
|
|
4740
|
+
args: ['mousemove', ['$event']]
|
|
4741
|
+
}], onMouseUp: [{
|
|
4742
|
+
type: HostListener,
|
|
4743
|
+
args: ['mouseup']
|
|
4744
|
+
}] } });
|
|
4745
|
+
;
|
|
4746
|
+
({}); // @--end-of-file-for-module=taon lib/ui/directives/taon-long-press.directive.ts
|
|
4747
|
+
|
|
4748
|
+
class TaonInjectHTMLDirective {
|
|
4749
|
+
set taonInjectHTML(content) {
|
|
4750
|
+
this.host.nativeElement.innerHTML = content;
|
|
4751
|
+
}
|
|
4752
|
+
constructor(host) {
|
|
4753
|
+
this.host = host;
|
|
4754
|
+
}
|
|
4755
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonInjectHTMLDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4756
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.5", type: TaonInjectHTMLDirective, isStandalone: true, selector: "[taonInjectHTML]", inputs: { taonInjectHTML: "taonInjectHTML" }, ngImport: i0 }); }
|
|
4757
|
+
}
|
|
4758
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonInjectHTMLDirective, decorators: [{
|
|
4759
|
+
type: Directive,
|
|
4760
|
+
args: [{
|
|
4761
|
+
selector: '[taonInjectHTML]',
|
|
4762
|
+
standalone: true,
|
|
4763
|
+
}]
|
|
4764
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { taonInjectHTML: [{
|
|
4765
|
+
type: Input
|
|
4766
|
+
}] } });
|
|
4767
|
+
;
|
|
4768
|
+
({}); // @--end-of-file-for-module=taon lib/ui/directives/taon-inject-html.directive.ts
|
|
4769
|
+
|
|
4770
|
+
/* */
|
|
4771
|
+
/* */
|
|
4772
|
+
/* */
|
|
4773
|
+
/* */
|
|
4774
|
+
/* */
|
|
4775
|
+
/* */
|
|
4776
|
+
class SafePipe {
|
|
4777
|
+
constructor(sanitizer) {
|
|
4778
|
+
this.sanitizer = sanitizer;
|
|
4779
|
+
}
|
|
4780
|
+
transform(value, type) {
|
|
4781
|
+
switch (type) {
|
|
4782
|
+
case 'html':
|
|
4783
|
+
return this.sanitizer.bypassSecurityTrustHtml(value);
|
|
4784
|
+
case 'style':
|
|
4785
|
+
return this.sanitizer.bypassSecurityTrustStyle(value);
|
|
4786
|
+
case 'script':
|
|
4787
|
+
return this.sanitizer.bypassSecurityTrustScript(value);
|
|
4788
|
+
case 'url':
|
|
4789
|
+
return this.sanitizer.bypassSecurityTrustUrl(value);
|
|
4790
|
+
case 'resourceUrl':
|
|
4791
|
+
return this.sanitizer.bypassSecurityTrustResourceUrl(value);
|
|
4792
|
+
default:
|
|
4793
|
+
throw new Error(`Invalid safe type specified: ${type}`);
|
|
4794
|
+
}
|
|
4795
|
+
}
|
|
4796
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
4797
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, isStandalone: true, name: "safe" }); }
|
|
4798
|
+
}
|
|
4799
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, decorators: [{
|
|
4800
|
+
type: Pipe,
|
|
4801
|
+
args: [{
|
|
4802
|
+
name: 'safe',
|
|
4803
|
+
standalone: true,
|
|
4804
|
+
}]
|
|
4805
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
4806
|
+
;
|
|
4807
|
+
({}); // @--end-of-file-for-module=taon lib/ui/directives/safe.pipe.ts
|
|
4808
|
+
|
|
4809
|
+
;
|
|
4810
|
+
({}); // @--end-of-file-for-module=taon lib/ui/directives/index.ts
|
|
4811
|
+
|
|
4812
|
+
class TaonFullMaterialModule {
|
|
4813
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4814
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, exports: [A11yModule,
|
|
4815
|
+
CdkStepperModule,
|
|
4816
|
+
CdkTableModule,
|
|
4817
|
+
CdkTreeModule,
|
|
4818
|
+
DragDropModule,
|
|
4819
|
+
MatAutocompleteModule,
|
|
4820
|
+
MatBadgeModule,
|
|
4821
|
+
MatBottomSheetModule,
|
|
4822
|
+
MatButtonModule,
|
|
4823
|
+
MatButtonToggleModule,
|
|
4824
|
+
MatCardModule,
|
|
4825
|
+
MatCheckboxModule,
|
|
4826
|
+
MatChipsModule,
|
|
4827
|
+
MatStepperModule,
|
|
4828
|
+
MatDatepickerModule,
|
|
4829
|
+
MatDialogModule,
|
|
4830
|
+
MatDividerModule,
|
|
4831
|
+
MatExpansionModule,
|
|
4832
|
+
MatGridListModule,
|
|
4833
|
+
MatIconModule,
|
|
4834
|
+
MatInputModule,
|
|
4835
|
+
MatListModule,
|
|
4836
|
+
MatMenuModule,
|
|
4837
|
+
MatNativeDateModule,
|
|
4838
|
+
MatPaginatorModule,
|
|
4839
|
+
MatProgressBarModule,
|
|
4840
|
+
MatProgressSpinnerModule,
|
|
4841
|
+
MatRadioModule,
|
|
4842
|
+
MatRippleModule,
|
|
4843
|
+
MatSelectModule,
|
|
4844
|
+
MatSidenavModule,
|
|
4845
|
+
MatSliderModule,
|
|
4846
|
+
MatSlideToggleModule,
|
|
4847
|
+
MatSnackBarModule,
|
|
4848
|
+
MatSortModule,
|
|
4849
|
+
MatTableModule,
|
|
4850
|
+
MatTabsModule,
|
|
4851
|
+
MatToolbarModule,
|
|
4852
|
+
MatTooltipModule,
|
|
4853
|
+
MatTreeModule,
|
|
4854
|
+
ScrollingModule] }); }
|
|
4855
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, imports: [A11yModule,
|
|
4856
|
+
CdkStepperModule,
|
|
4857
|
+
CdkTableModule,
|
|
4858
|
+
CdkTreeModule,
|
|
4859
|
+
DragDropModule,
|
|
4860
|
+
MatAutocompleteModule,
|
|
4861
|
+
MatBadgeModule,
|
|
4862
|
+
MatBottomSheetModule,
|
|
4863
|
+
MatButtonModule,
|
|
4864
|
+
MatButtonToggleModule,
|
|
4865
|
+
MatCardModule,
|
|
4866
|
+
MatCheckboxModule,
|
|
4867
|
+
MatChipsModule,
|
|
4868
|
+
MatStepperModule,
|
|
4869
|
+
MatDatepickerModule,
|
|
4870
|
+
MatDialogModule,
|
|
4871
|
+
MatDividerModule,
|
|
4872
|
+
MatExpansionModule,
|
|
4873
|
+
MatGridListModule,
|
|
4874
|
+
MatIconModule,
|
|
4875
|
+
MatInputModule,
|
|
4876
|
+
MatListModule,
|
|
4877
|
+
MatMenuModule,
|
|
4878
|
+
MatNativeDateModule,
|
|
4879
|
+
MatPaginatorModule,
|
|
4880
|
+
MatProgressBarModule,
|
|
4881
|
+
MatProgressSpinnerModule,
|
|
4882
|
+
MatRadioModule,
|
|
4883
|
+
MatRippleModule,
|
|
4884
|
+
MatSelectModule,
|
|
4885
|
+
MatSidenavModule,
|
|
4886
|
+
MatSliderModule,
|
|
4887
|
+
MatSlideToggleModule,
|
|
4888
|
+
MatSnackBarModule,
|
|
4889
|
+
MatSortModule,
|
|
4890
|
+
MatTableModule,
|
|
4891
|
+
MatTabsModule,
|
|
4892
|
+
MatToolbarModule,
|
|
4893
|
+
MatTooltipModule,
|
|
4894
|
+
MatTreeModule,
|
|
4895
|
+
ScrollingModule] }); }
|
|
4896
|
+
}
|
|
4897
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, decorators: [{
|
|
4898
|
+
type: NgModule,
|
|
4899
|
+
args: [{
|
|
4900
|
+
exports: [
|
|
4901
|
+
A11yModule,
|
|
4902
|
+
CdkStepperModule,
|
|
4903
|
+
CdkTableModule,
|
|
4904
|
+
CdkTreeModule,
|
|
4905
|
+
DragDropModule,
|
|
4906
|
+
MatAutocompleteModule,
|
|
4907
|
+
MatBadgeModule,
|
|
4908
|
+
MatBottomSheetModule,
|
|
4909
|
+
MatButtonModule,
|
|
4910
|
+
MatButtonToggleModule,
|
|
4911
|
+
MatCardModule,
|
|
4912
|
+
MatCheckboxModule,
|
|
4913
|
+
MatChipsModule,
|
|
4914
|
+
MatStepperModule,
|
|
4915
|
+
MatDatepickerModule,
|
|
4916
|
+
MatDialogModule,
|
|
4917
|
+
MatDividerModule,
|
|
4918
|
+
MatExpansionModule,
|
|
4919
|
+
MatGridListModule,
|
|
4920
|
+
MatIconModule,
|
|
4921
|
+
MatInputModule,
|
|
4922
|
+
MatListModule,
|
|
4923
|
+
MatMenuModule,
|
|
4924
|
+
MatNativeDateModule,
|
|
4925
|
+
MatPaginatorModule,
|
|
4926
|
+
MatProgressBarModule,
|
|
4927
|
+
MatProgressSpinnerModule,
|
|
4928
|
+
MatRadioModule,
|
|
4929
|
+
MatRippleModule,
|
|
4930
|
+
MatSelectModule,
|
|
4931
|
+
MatSidenavModule,
|
|
4932
|
+
MatSliderModule,
|
|
4933
|
+
MatSlideToggleModule,
|
|
4934
|
+
MatSnackBarModule,
|
|
4935
|
+
MatSortModule,
|
|
4936
|
+
MatTableModule,
|
|
4937
|
+
MatTabsModule,
|
|
4938
|
+
MatToolbarModule,
|
|
4939
|
+
MatTooltipModule,
|
|
4940
|
+
MatTreeModule,
|
|
4941
|
+
ScrollingModule,
|
|
4942
|
+
],
|
|
4943
|
+
}]
|
|
4944
|
+
}] });
|
|
4945
|
+
;
|
|
4946
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-full-material.module.ts
|
|
4947
|
+
|
|
4948
|
+
class TaonGithubForkMeCornerComponent {
|
|
4949
|
+
constructor() {
|
|
4950
|
+
this.url = 'https://github.com';
|
|
4951
|
+
}
|
|
4952
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4953
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonGithubForkMeCornerComponent, selector: "taon-github-fork-me-corner", inputs: { url: "url" }, ngImport: i0, template: "<a href=\"{{ url }}\" class=\"github-corner\" aria-label=\"View source on GitHub\"\n ><svg\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 250 250\"\n style=\"\n fill: #151513;\n color: #fff;\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n \"\n aria-hidden=\"true\">\n <path d=\"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z\"></path>\n <path\n d=\"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2\"\n fill=\"currentColor\"\n style=\"transform-origin: 130px 106px\"\n class=\"octo-arm\"></path>\n <path\n d=\"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z\"\n fill=\"currentColor\"\n class=\"octo-body\"></path>\n </svg>\n</a>\n", styles: ["a{opacity:.7}a:hover{opacity:1}.github-corner:hover .octo-arm{opacity:1;animation:octocat-wave .56s ease-in-out}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width: 500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave .56s ease-in-out}}\n"] }); }
|
|
4954
|
+
}
|
|
4955
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerComponent, decorators: [{
|
|
4956
|
+
type: Component,
|
|
4957
|
+
args: [{ selector: 'taon-github-fork-me-corner', template: "<a href=\"{{ url }}\" class=\"github-corner\" aria-label=\"View source on GitHub\"\n ><svg\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 250 250\"\n style=\"\n fill: #151513;\n color: #fff;\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n \"\n aria-hidden=\"true\">\n <path d=\"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z\"></path>\n <path\n d=\"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2\"\n fill=\"currentColor\"\n style=\"transform-origin: 130px 106px\"\n class=\"octo-arm\"></path>\n <path\n d=\"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z\"\n fill=\"currentColor\"\n class=\"octo-body\"></path>\n </svg>\n</a>\n", styles: ["a{opacity:.7}a:hover{opacity:1}.github-corner:hover .octo-arm{opacity:1;animation:octocat-wave .56s ease-in-out}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width: 500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave .56s ease-in-out}}\n"] }]
|
|
4958
|
+
}], propDecorators: { url: [{
|
|
4959
|
+
type: Input
|
|
4960
|
+
}] } });
|
|
4961
|
+
;
|
|
4962
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.ts
|
|
4963
|
+
|
|
4964
|
+
class TaonGithubForkMeCornerModule {
|
|
4965
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4966
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, declarations: [TaonGithubForkMeCornerComponent], imports: [CommonModule], exports: [TaonGithubForkMeCornerComponent] }); }
|
|
4967
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, imports: [CommonModule] }); }
|
|
4968
|
+
}
|
|
4969
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, decorators: [{
|
|
4970
|
+
type: NgModule,
|
|
4971
|
+
args: [{
|
|
4972
|
+
imports: [CommonModule],
|
|
4973
|
+
exports: [TaonGithubForkMeCornerComponent],
|
|
4974
|
+
declarations: [TaonGithubForkMeCornerComponent],
|
|
4975
|
+
providers: [],
|
|
4976
|
+
}]
|
|
4977
|
+
}] });
|
|
4978
|
+
;
|
|
4979
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.ts
|
|
4980
|
+
|
|
4981
|
+
;
|
|
4982
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/index.ts
|
|
4983
|
+
|
|
4984
|
+
/* */
|
|
4985
|
+
/* */
|
|
4986
|
+
class TaonNotificationsService {
|
|
4987
|
+
constructor(toast) {
|
|
4988
|
+
this.toast = toast;
|
|
4989
|
+
}
|
|
4990
|
+
options(type, options) {
|
|
4991
|
+
if (_$1.isString(options)) {
|
|
4992
|
+
options = {
|
|
4993
|
+
// @ts-ignore
|
|
4994
|
+
title: options,
|
|
4995
|
+
};
|
|
4996
|
+
}
|
|
4997
|
+
return options;
|
|
4998
|
+
}
|
|
4999
|
+
success(options) {
|
|
5000
|
+
const opt = this.options('success', options);
|
|
5001
|
+
return this.toast.success(opt.title);
|
|
5002
|
+
}
|
|
5003
|
+
error(options) {
|
|
5004
|
+
const opt = this.options('error', options);
|
|
5005
|
+
return this.toast.error(opt.title);
|
|
5006
|
+
}
|
|
5007
|
+
warn(options) {
|
|
5008
|
+
const opt = this.options('warning', options);
|
|
5009
|
+
return this.toast.warning(opt.title);
|
|
5010
|
+
}
|
|
5011
|
+
info(options) {
|
|
5012
|
+
const opt = this.options('info', options);
|
|
5013
|
+
return this.toast.info(opt.title);
|
|
5014
|
+
}
|
|
5015
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, deps: [{ token: i1$1.HotToastService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5016
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, providedIn: 'root' }); }
|
|
5017
|
+
}
|
|
5018
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, decorators: [{
|
|
5019
|
+
type: Injectable,
|
|
5020
|
+
args: [{
|
|
5021
|
+
providedIn: 'root',
|
|
5022
|
+
}]
|
|
5023
|
+
}], ctorParameters: () => [{ type: i1$1.HotToastService }] });
|
|
5024
|
+
;
|
|
5025
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.service.ts
|
|
5026
|
+
|
|
5027
|
+
class TaonNotificationsComponent {
|
|
5028
|
+
constructor(notification) {
|
|
5029
|
+
this.notification = notification;
|
|
5030
|
+
}
|
|
5031
|
+
ngOnInit() { }
|
|
5032
|
+
init(subscribtionsArray, template, callback) {
|
|
5033
|
+
subscribtionsArray.push(Resource.listenErrors.subscribe(err => {
|
|
5034
|
+
this.notification.error(err.msg);
|
|
5035
|
+
}));
|
|
5036
|
+
}
|
|
5037
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsComponent, deps: [{ token: TaonNotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5038
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonNotificationsComponent, selector: "taon-notifications", ngImport: i0, template: "<!-- <p>\n notyfications works!\n</p> -->\n", styles: [":host{position:absolute;width:0px;height:0px}\n"] }); }
|
|
5039
|
+
}
|
|
5040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsComponent, decorators: [{
|
|
5041
|
+
type: Component,
|
|
5042
|
+
args: [{ selector: 'taon-notifications', template: "<!-- <p>\n notyfications works!\n</p> -->\n", styles: [":host{position:absolute;width:0px;height:0px}\n"] }]
|
|
5043
|
+
}], ctorParameters: () => [{ type: TaonNotificationsService }] });
|
|
5044
|
+
;
|
|
5045
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.component.ts
|
|
5046
|
+
|
|
5047
|
+
class TaonNotificationOptions {
|
|
5048
|
+
}
|
|
5049
|
+
;
|
|
5050
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.models.ts
|
|
5051
|
+
|
|
5052
|
+
class TaonNotificationsModule {
|
|
5053
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5054
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, declarations: [TaonNotificationsComponent], exports: [TaonNotificationsComponent] }); }
|
|
5055
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, providers: [TaonNotificationsService] }); }
|
|
5056
|
+
}
|
|
5057
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, decorators: [{
|
|
5058
|
+
type: NgModule,
|
|
5059
|
+
args: [{
|
|
5060
|
+
imports: [],
|
|
5061
|
+
exports: [TaonNotificationsComponent],
|
|
5062
|
+
declarations: [TaonNotificationsComponent],
|
|
5063
|
+
providers: [TaonNotificationsService],
|
|
5064
|
+
}]
|
|
5065
|
+
}] });
|
|
5066
|
+
;
|
|
5067
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.module.ts
|
|
5068
|
+
|
|
5069
|
+
;
|
|
5070
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/index.ts
|
|
5071
|
+
|
|
5072
|
+
class TaonSessionPasscodeComponent {
|
|
5073
|
+
constructor(element, domSanitizer, cdr) {
|
|
5074
|
+
this.element = element;
|
|
5075
|
+
this.domSanitizer = domSanitizer;
|
|
5076
|
+
this.cdr = cdr;
|
|
5077
|
+
this.destroyRef = inject$1(DestroyRef);
|
|
5078
|
+
this.display = 'none';
|
|
5079
|
+
this.form = new FormGroup({
|
|
5080
|
+
passcode: new FormControl(),
|
|
5081
|
+
});
|
|
5082
|
+
}
|
|
5083
|
+
ngOnInit() {
|
|
5084
|
+
if (!this.passcode) {
|
|
5085
|
+
this.passcode = '123456';
|
|
5086
|
+
}
|
|
5087
|
+
if (!this.message) {
|
|
5088
|
+
this.message = `
|
|
5089
|
+
This website is only for testing purpose. Please type passcode bellow to see content.
|
|
5090
|
+
|
|
5091
|
+
`;
|
|
5092
|
+
}
|
|
5093
|
+
this.safeMessage = this.domSanitizer.bypassSecurityTrustHtml(this.message);
|
|
5094
|
+
if (this.lastPasscode?.toString() === this.passcode?.toString()) {
|
|
5095
|
+
this.hide();
|
|
5096
|
+
}
|
|
5097
|
+
else {
|
|
5098
|
+
this.show();
|
|
5099
|
+
this.focus();
|
|
5100
|
+
}
|
|
5101
|
+
interval(1000)
|
|
5102
|
+
.pipe(takeUntilDestroyed(this.destroyRef), tap(() => {
|
|
5103
|
+
this.focus();
|
|
5104
|
+
}))
|
|
5105
|
+
.subscribe();
|
|
5106
|
+
}
|
|
5107
|
+
submit({ passcode }) {
|
|
5108
|
+
if (this.isPasscodeOK(passcode || '')) {
|
|
5109
|
+
this.hide();
|
|
5110
|
+
}
|
|
5111
|
+
else {
|
|
5112
|
+
this.clear();
|
|
5113
|
+
}
|
|
5114
|
+
}
|
|
5115
|
+
isPasscodeOK(passcode) {
|
|
5116
|
+
this.lastPasscode = passcode.toString();
|
|
5117
|
+
return this.passcode.toString() === passcode;
|
|
5118
|
+
}
|
|
5119
|
+
ngAfterViewInit() { }
|
|
5120
|
+
focus() {
|
|
5121
|
+
this.element.nativeElement.querySelector('input')?.focus();
|
|
5122
|
+
}
|
|
5123
|
+
hide() {
|
|
5124
|
+
this.display = 'none';
|
|
5125
|
+
}
|
|
5126
|
+
show() {
|
|
5127
|
+
this.display = 'block';
|
|
5128
|
+
}
|
|
5129
|
+
clear() {
|
|
5130
|
+
this.form.controls.passcode.setValue('');
|
|
5131
|
+
}
|
|
5132
|
+
onKeyup(event) {
|
|
5133
|
+
if (this.isPasscodeOK(event.target.value || '')) {
|
|
5134
|
+
this.hide();
|
|
5135
|
+
return;
|
|
5136
|
+
}
|
|
5137
|
+
const key = event.keyCode || event.charCode;
|
|
5138
|
+
if (key === 8 || key === 46 || this.lastPasscode?.length > 5) {
|
|
5139
|
+
this.clear();
|
|
5140
|
+
}
|
|
5141
|
+
}
|
|
5142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonSessionPasscodeComponent, deps: [{ token: i0.ElementRef, self: true }, { token: i1.DomSanitizer }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5143
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonSessionPasscodeComponent, isStandalone: true, selector: "taon-session-passcode", inputs: { passcode: "passcode", message: "message" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n content=\"notranslate\"\n autocomplete=\"off\"\n (click)=\"focus()\"\n (ngSubmit)=\"submit(form.value)\"\n class=\"flex flex-column align-items-center w-full h-full\">\n <div class=\"flex align-content-center w-full justify-content-center mt-8\">\n <p\n class=\"p-3\"\n style=\"max-width: 400px; min-height: 100px\"\n [innerHtml]=\"safeMessage\"></p>\n </div>\n <input\n type=\"password\"\n class=\"text-5xl md:text-8xl pointer-events-none\"\n #taonpasscode\n (keyup)=\"onKeyup($event)\"\n formControlName=\"passcode\" />\n <!-- placeholder=\"Enter passcode\" -->\n</form>\n", styles: [":host{position:fixed;background-color:#9f9f9f57;z-index:99999;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);width:100%;height:100%;display:none}input{background:#fff;border-radius:6px;outline:0px;border:0px;color:gray;text-align:center;width:500px}\n"], dependencies: [{ kind: "ngmodule", type: PasswordModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }] }); }
|
|
5144
|
+
}
|
|
5145
|
+
__decorate([
|
|
5146
|
+
(Stor.property.in.localstorage
|
|
5147
|
+
.for(TaonSessionPasscodeComponent)
|
|
5148
|
+
.withDefaultValue('')),
|
|
5149
|
+
__metadata("design:type", String)
|
|
5150
|
+
], TaonSessionPasscodeComponent.prototype, "lastPasscode", void 0);
|
|
5151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonSessionPasscodeComponent, decorators: [{
|
|
5152
|
+
type: Component,
|
|
5153
|
+
args: [{ selector: 'taon-session-passcode', standalone: true, imports: [PasswordModule, CommonModule, ReactiveFormsModule, FormsModule], template: "<form\n [formGroup]=\"form\"\n content=\"notranslate\"\n autocomplete=\"off\"\n (click)=\"focus()\"\n (ngSubmit)=\"submit(form.value)\"\n class=\"flex flex-column align-items-center w-full h-full\">\n <div class=\"flex align-content-center w-full justify-content-center mt-8\">\n <p\n class=\"p-3\"\n style=\"max-width: 400px; min-height: 100px\"\n [innerHtml]=\"safeMessage\"></p>\n </div>\n <input\n type=\"password\"\n class=\"text-5xl md:text-8xl pointer-events-none\"\n #taonpasscode\n (keyup)=\"onKeyup($event)\"\n formControlName=\"passcode\" />\n <!-- placeholder=\"Enter passcode\" -->\n</form>\n", styles: [":host{position:fixed;background-color:#9f9f9f57;z-index:99999;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);width:100%;height:100%;display:none}input{background:#fff;border-radius:6px;outline:0px;border:0px;color:gray;text-align:center;width:500px}\n"] }]
|
|
5154
|
+
}], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
|
|
5155
|
+
type: Self
|
|
5156
|
+
}] }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }], propDecorators: { passcode: [{
|
|
5157
|
+
type: Input
|
|
5158
|
+
}], message: [{
|
|
5159
|
+
type: Input
|
|
5160
|
+
}], display: [{
|
|
5161
|
+
type: HostBinding,
|
|
5162
|
+
args: ['style.display']
|
|
5163
|
+
}] } });
|
|
5164
|
+
;
|
|
5165
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-session-passcode/taon-session-passcode.component.ts
|
|
5166
|
+
|
|
5167
|
+
;
|
|
5168
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-session-passcode/index.ts
|
|
5169
|
+
|
|
5170
|
+
const calculatePercentage = (loaded, total) => Math.floor(loaded * 1.0) / total;
|
|
5171
|
+
class TaonProgressBarComponent {
|
|
5172
|
+
constructor() {
|
|
5173
|
+
this.handlers = [];
|
|
5174
|
+
this.options = _$1.merge({
|
|
5175
|
+
min: 8,
|
|
5176
|
+
max: 100,
|
|
5177
|
+
speed: 200,
|
|
5178
|
+
trickleSpeed: 300,
|
|
5179
|
+
debounceTime: 0,
|
|
5180
|
+
ease: 'linear',
|
|
5181
|
+
spinnerPosition: 'right',
|
|
5182
|
+
direction: 'ltr+',
|
|
5183
|
+
color: 'gray',
|
|
5184
|
+
fixed: true,
|
|
5185
|
+
meteor: true,
|
|
5186
|
+
spinner: true,
|
|
5187
|
+
thick: false,
|
|
5188
|
+
}, _$1.get(ENV, `plugins['ngx-progressbar']`));
|
|
5189
|
+
}
|
|
5190
|
+
ngOnInit() { }
|
|
5191
|
+
ngOnDestroy() {
|
|
5192
|
+
this.handlers.forEach(h => h.unsubscribe());
|
|
5193
|
+
}
|
|
5194
|
+
ngAfterViewInit() {
|
|
5195
|
+
this.loadProgressBar(void 0, axios);
|
|
5196
|
+
}
|
|
5197
|
+
loadProgressBar(config, instance = axios) {
|
|
5198
|
+
}
|
|
5199
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5200
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonProgressBarComponent, selector: "taon-progress-bar", inputs: { isDesktop: "isDesktop" }, viewQueries: [{ propertyName: "labProgress", first: true, predicate: ["labProgress"], descendants: true }], ngImport: i0, template: "<ng-progress\n #labProgress\n id=\"lab\"\n [meteor]=\"options.meteor\"\n [color]=\"options.color\"\n [min]=\"options.min\"\n [max]=\"options.max\"\n [speed]=\"options.speed\"\n [spinner]=\"\n options.spinner &&\n (!admin.adminPanelIsOpen ||\n (admin.adminPanelIsOpen && (admin.draggablePopupMode || !isDesktop)))\n \"\n [spinnerPosition]=\"options.spinnerPosition\"\n [direction]=\"options.direction\"\n [trickleSpeed]=\"options.trickleSpeed\"\n [debounceTime]=\"options.debounceTime\"\n [ease]=\"options.ease\"\n [thick]=\"options.thick\"\n [fixed]=\"options.fixed\">\n</ng-progress>\n<!-- (started)=\"onProgressStarted()\"\n (completed)=\"onProgressCompleted()\" -->\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i1$2.NgProgressComponent, selector: "ng-progress", inputs: ["id", "min", "max", "ease", "color", "speed", "thick", "fixed", "meteor", "spinner", "trickleSpeed", "debounceTime", "trickleFunc", "spinnerPosition", "direction"], outputs: ["started", "completed"] }] }); }
|
|
5201
|
+
}
|
|
5202
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarComponent, decorators: [{
|
|
5203
|
+
type: Component,
|
|
5204
|
+
args: [{ selector: 'taon-progress-bar', template: "<ng-progress\n #labProgress\n id=\"lab\"\n [meteor]=\"options.meteor\"\n [color]=\"options.color\"\n [min]=\"options.min\"\n [max]=\"options.max\"\n [speed]=\"options.speed\"\n [spinner]=\"\n options.spinner &&\n (!admin.adminPanelIsOpen ||\n (admin.adminPanelIsOpen && (admin.draggablePopupMode || !isDesktop)))\n \"\n [spinnerPosition]=\"options.spinnerPosition\"\n [direction]=\"options.direction\"\n [trickleSpeed]=\"options.trickleSpeed\"\n [debounceTime]=\"options.debounceTime\"\n [ease]=\"options.ease\"\n [thick]=\"options.thick\"\n [fixed]=\"options.fixed\">\n</ng-progress>\n<!-- (started)=\"onProgressStarted()\"\n (completed)=\"onProgressCompleted()\" -->\n", styles: [":host{display:block}\n"] }]
|
|
5205
|
+
}], ctorParameters: () => [], propDecorators: { labProgress: [{
|
|
5206
|
+
type: ViewChild,
|
|
5207
|
+
args: ['labProgress']
|
|
5208
|
+
}], isDesktop: [{
|
|
5209
|
+
type: Input
|
|
5210
|
+
}] } });
|
|
5211
|
+
;
|
|
5212
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/taon-progress-bar.component.ts
|
|
5213
|
+
|
|
5214
|
+
class TaonProgressBarModule {
|
|
5215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5216
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, declarations: [TaonProgressBarComponent], imports: [CommonModule, i1$2.NgProgressModule], exports: [TaonProgressBarComponent] }); }
|
|
5217
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, imports: [CommonModule, NgProgressModule.withConfig({})] }); }
|
|
5218
|
+
}
|
|
5219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, decorators: [{
|
|
5220
|
+
type: NgModule,
|
|
5221
|
+
args: [{
|
|
5222
|
+
imports: [CommonModule, NgProgressModule.withConfig({})],
|
|
5223
|
+
declarations: [TaonProgressBarComponent],
|
|
5224
|
+
exports: [TaonProgressBarComponent],
|
|
5225
|
+
}]
|
|
5226
|
+
}] });
|
|
5227
|
+
;
|
|
5228
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/taon-progress-bar.module.ts
|
|
5229
|
+
|
|
5230
|
+
;
|
|
5231
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/index.ts
|
|
5232
|
+
|
|
5233
|
+
const log = Log.create('Table wrapper', Level.__NOTHING);
|
|
5234
|
+
const defaultColumns = [
|
|
5235
|
+
{
|
|
5236
|
+
header: 'ID',
|
|
5237
|
+
field: 'id',
|
|
5238
|
+
},
|
|
5239
|
+
{
|
|
5240
|
+
header: 'NAME',
|
|
5241
|
+
field: 'name',
|
|
5242
|
+
},
|
|
5243
|
+
];
|
|
5244
|
+
class TaonTableComponent {
|
|
5245
|
+
constructor() {
|
|
5246
|
+
this.pageNumber = 1;
|
|
5247
|
+
this.pageSize = 5;
|
|
5248
|
+
this.allowedColumns = [];
|
|
5249
|
+
this.rows = _.times(20, id => {
|
|
5250
|
+
return {
|
|
5251
|
+
id,
|
|
5252
|
+
name: `Amazing ${id} row `,
|
|
5253
|
+
};
|
|
5254
|
+
});
|
|
5255
|
+
this.columns = defaultColumns;
|
|
5256
|
+
this.pageSizeOptions = [5, 10, 20];
|
|
5257
|
+
this.expansionChange = new EventEmitter();
|
|
5258
|
+
this.addingItem = new EventEmitter();
|
|
5259
|
+
this.searchInputChange$ = defer(() => fromEvent(this.search?.nativeElement, 'keyup')).pipe(map(c => c.target['value']), debounceTime(500), distinctUntilChanged(), share(), tap(data => {
|
|
5260
|
+
console.log({ data });
|
|
5261
|
+
}));
|
|
5262
|
+
this.expandable = false;
|
|
5263
|
+
this.showPaginator = true;
|
|
5264
|
+
this.isLoading = false;
|
|
5265
|
+
this.totalElements = 100;
|
|
5266
|
+
this.sub = new Subscription();
|
|
5267
|
+
}
|
|
5268
|
+
async ngOnInit() {
|
|
5269
|
+
if (_.isString(this.entity)) {
|
|
5270
|
+
this.entity = CLASS.getBy(this.entity);
|
|
5271
|
+
}
|
|
5272
|
+
this.sub.add(this.searchInputChange$.subscribe());
|
|
5273
|
+
if (!!this.entity) {
|
|
5274
|
+
this.rows = [];
|
|
5275
|
+
}
|
|
5276
|
+
this.expandable = !!this.expansionTemplate;
|
|
5277
|
+
log.i('this.columns,', this.columns);
|
|
5278
|
+
const columnsConfigSameAsDefault = _.isEqual(this.columns, defaultColumns);
|
|
5279
|
+
const entityClass = this.entity;
|
|
5280
|
+
if (entityClass && columnsConfigSameAsDefault) {
|
|
5281
|
+
log.i('this.crud.entity', CLASS.describeProperites(entityClass));
|
|
5282
|
+
try {
|
|
5283
|
+
const props = CLASS.describeProperites(entityClass);
|
|
5284
|
+
let columns = props
|
|
5285
|
+
.filter(prop => this.allowedColumns.length > 0
|
|
5286
|
+
? this.allowedColumns.includes(prop)
|
|
5287
|
+
: true)
|
|
5288
|
+
.map(prop => {
|
|
5289
|
+
return {
|
|
5290
|
+
header: _.upperCase(prop),
|
|
5291
|
+
field: prop,
|
|
5292
|
+
};
|
|
5293
|
+
});
|
|
5294
|
+
const extra = this.allowedColumns.filter(f => !props.includes(f));
|
|
5295
|
+
columns = [
|
|
5296
|
+
...columns,
|
|
5297
|
+
...extra.map(prop => {
|
|
5298
|
+
return {
|
|
5299
|
+
header: _.upperCase(prop),
|
|
5300
|
+
field: prop,
|
|
5301
|
+
};
|
|
5302
|
+
}),
|
|
5303
|
+
];
|
|
5304
|
+
if (!this.expandable) {
|
|
5305
|
+
for (let index = 0; index < columns.length; index++) {
|
|
5306
|
+
const col = columns[index];
|
|
5307
|
+
delete col.showExpand;
|
|
5308
|
+
}
|
|
5309
|
+
}
|
|
5310
|
+
this.columns = columns;
|
|
5311
|
+
}
|
|
5312
|
+
catch (error) {
|
|
5313
|
+
console.error(error);
|
|
5314
|
+
}
|
|
5315
|
+
}
|
|
5316
|
+
else {
|
|
5317
|
+
}
|
|
5318
|
+
if (!this.entity) {
|
|
5319
|
+
this.showPaginator = false;
|
|
5320
|
+
}
|
|
5321
|
+
await this.retriveData();
|
|
5322
|
+
}
|
|
5323
|
+
ngOnDestroy() {
|
|
5324
|
+
this.sub.unsubscribe();
|
|
5325
|
+
}
|
|
5326
|
+
async getNextPage(e) {
|
|
5327
|
+
this.pageNumber = e.pageIndex + 1;
|
|
5328
|
+
this.pageSize = e.pageSize;
|
|
5329
|
+
await this.retriveData();
|
|
5330
|
+
}
|
|
5331
|
+
async retriveData() {
|
|
5332
|
+
// @ts-ignore
|
|
5333
|
+
}
|
|
5334
|
+
expansionRow(e) {
|
|
5335
|
+
this.expansionChange.next(e);
|
|
5336
|
+
}
|
|
5337
|
+
onTableContextMenu(e) {
|
|
5338
|
+
log.i('context menu event', e);
|
|
5339
|
+
}
|
|
5340
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5341
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonTableComponent, selector: "taon-table", inputs: { pageNumber: "pageNumber", pageSize: "pageSize", allowedColumns: "allowedColumns", entity: "entity", expansionTemplate: "expansionTemplate", rows: "rows", columns: "columns", pageSizeOptions: "pageSizeOptions" }, outputs: { expansionChange: "expansionChange", addingItem: "addingItem" }, viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<br />\n<columns-container>\n <column grow>\n <mat-form-field class=\"search-input\">\n <input matInput placeholder=\"Type to search table...\" #search />\n </mat-form-field>\n </column>\n <column [width]=\"80\">\n <button\n mat-fab\n [ngClass]=\"{ 'half-opacity': !search.value }\"\n class=\"undo-button\"\n color=\"secondary\"\n (click)=\"search.value = ''\">\n <mat-icon>close </mat-icon>\n </button>\n </column>\n\n <column [width]=\"80\">\n <button\n mat-fab\n (click)=\"addingItem.next()\"\n class=\"undo-button\"\n color=\"primary\">\n <mat-icon>add</mat-icon>\n </button>\n </column>\n</columns-container>\n\n<mtx-grid\n *ngIf=\"rows && columns\"\n [data]=\"rows\"\n [columns]=\"columns\"\n [expandable]=\"expandable\"\n [expansionTemplate]=\"expansionTemplate\"\n (expansionChange)=\"expansionRow($event)\"\n [length]=\"totalElements\"\n [loading]=\"isLoading\"\n [pageOnFront]=\"false\"\n [pageIndex]=\"pageNumber - 1\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showPaginator]=\"showPaginator\"\n (page)=\"getNextPage($event)\">\n</mtx-grid>\n", styles: [":host{min-height:250px}.search-input{width:100%}.undo-button{margin-left:10px}.half-opacity{opacity:.2}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3.MtxGrid, selector: "mtx-grid", inputs: ["displayedColumns", "columns", "data", "length", "loading", "trackBy", "columnResizable", "emptyValuePlaceholder", "pageOnFront", "showPaginator", "pageDisabled", "showFirstLastButtons", "pageIndex", "pageSize", "pageSizeOptions", "hidePageSize", "paginationTemplate", "sortOnFront", "sortActive", "sortDirection", "sortDisableClear", "sortDisabled", "sortStart", "rowHover", "rowStriped", "expandable", "expansionTemplate", "multiSelectable", "multiSelectionWithClick", "rowSelectable", "hideRowSelectionCheckbox", "disableRowClickSelection", "rowSelectionFormatter", "rowClassFormatter", "rowSelected", "cellSelectable", "showToolbar", "toolbarTitle", "toolbarTemplate", "columnHideable", "columnHideableChecked", "columnSortable", "columnPinnable", "columnPinOptions", "showColumnMenuButton", "columnMenuButtonText", "columnMenuButtonType", "columnMenuButtonColor", "columnMenuButtonClass", "columnMenuButtonIcon", "showColumnMenuHeader", "columnMenuHeaderText", "columnMenuHeaderTemplate", "showColumnMenuFooter", "columnMenuFooterText", "columnMenuFooterTemplate", "noResultText", "noResultTemplate", "headerTemplate", "headerExtraTemplate", "cellTemplate", "useContentRowTemplate", "useContentHeaderRowTemplate", "useContentFooterRowTemplate", "showSummary", "summaryTemplate", "showSidebar", "sidebarTemplate", "showStatusbar", "statusbarTemplate"], outputs: ["page", "sortChange", "rowClick", "rowContextMenu", "expansionChange", "rowSelectedChange", "cellSelectedChange", "columnChange"], exportAs: ["mtxGrid"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i1$3.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$3.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$3.DirectiveGrow, selector: "[grow]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6$1.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }] }); }
|
|
5342
|
+
}
|
|
5343
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableComponent, decorators: [{
|
|
5344
|
+
type: Component,
|
|
5345
|
+
args: [{ selector: 'taon-table', template: "<br />\n<columns-container>\n <column grow>\n <mat-form-field class=\"search-input\">\n <input matInput placeholder=\"Type to search table...\" #search />\n </mat-form-field>\n </column>\n <column [width]=\"80\">\n <button\n mat-fab\n [ngClass]=\"{ 'half-opacity': !search.value }\"\n class=\"undo-button\"\n color=\"secondary\"\n (click)=\"search.value = ''\">\n <mat-icon>close </mat-icon>\n </button>\n </column>\n\n <column [width]=\"80\">\n <button\n mat-fab\n (click)=\"addingItem.next()\"\n class=\"undo-button\"\n color=\"primary\">\n <mat-icon>add</mat-icon>\n </button>\n </column>\n</columns-container>\n\n<mtx-grid\n *ngIf=\"rows && columns\"\n [data]=\"rows\"\n [columns]=\"columns\"\n [expandable]=\"expandable\"\n [expansionTemplate]=\"expansionTemplate\"\n (expansionChange)=\"expansionRow($event)\"\n [length]=\"totalElements\"\n [loading]=\"isLoading\"\n [pageOnFront]=\"false\"\n [pageIndex]=\"pageNumber - 1\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showPaginator]=\"showPaginator\"\n (page)=\"getNextPage($event)\">\n</mtx-grid>\n", styles: [":host{min-height:250px}.search-input{width:100%}.undo-button{margin-left:10px}.half-opacity{opacity:.2}\n"] }]
|
|
5346
|
+
}], ctorParameters: () => [], propDecorators: { pageNumber: [{
|
|
5347
|
+
type: Input
|
|
5348
|
+
}], pageSize: [{
|
|
5349
|
+
type: Input
|
|
5350
|
+
}], allowedColumns: [{
|
|
5351
|
+
type: Input
|
|
5352
|
+
}], entity: [{
|
|
5353
|
+
type: Input
|
|
5354
|
+
}], expansionTemplate: [{
|
|
5355
|
+
type: Input
|
|
5356
|
+
}], rows: [{
|
|
5357
|
+
type: Input
|
|
5358
|
+
}], columns: [{
|
|
5359
|
+
type: Input
|
|
5360
|
+
}], pageSizeOptions: [{
|
|
5361
|
+
type: Input
|
|
5362
|
+
}], expansionChange: [{
|
|
5363
|
+
type: Output
|
|
5364
|
+
}], addingItem: [{
|
|
5365
|
+
type: Output
|
|
5366
|
+
}], search: [{
|
|
5367
|
+
type: ViewChild,
|
|
5368
|
+
args: ['search', { static: true }]
|
|
5369
|
+
}] } });
|
|
5370
|
+
;
|
|
5371
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-table/taon-table.component.ts
|
|
5372
|
+
|
|
5373
|
+
class TaonTableModule {
|
|
5374
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5375
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, declarations: [TaonTableComponent], imports: [CommonModule,
|
|
5376
|
+
MatSelectModule,
|
|
5377
|
+
MtxGridModule,
|
|
5378
|
+
MatFormFieldModule,
|
|
5379
|
+
MatInputModule,
|
|
5380
|
+
StaticColumnsModule,
|
|
5381
|
+
MatIconModule,
|
|
5382
|
+
MatButtonModule,
|
|
5383
|
+
FormsModule,
|
|
5384
|
+
ReactiveFormsModule], exports: [TaonTableComponent] }); }
|
|
5385
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, imports: [CommonModule,
|
|
5386
|
+
MatSelectModule,
|
|
5387
|
+
MtxGridModule,
|
|
5388
|
+
MatFormFieldModule,
|
|
5389
|
+
MatInputModule,
|
|
5390
|
+
StaticColumnsModule,
|
|
5391
|
+
MatIconModule,
|
|
5392
|
+
MatButtonModule,
|
|
5393
|
+
FormsModule,
|
|
5394
|
+
ReactiveFormsModule] }); }
|
|
5395
|
+
}
|
|
5396
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, decorators: [{
|
|
5397
|
+
type: NgModule,
|
|
5398
|
+
args: [{
|
|
5399
|
+
imports: [
|
|
5400
|
+
CommonModule,
|
|
5401
|
+
MatSelectModule,
|
|
5402
|
+
MtxGridModule,
|
|
5403
|
+
MatFormFieldModule,
|
|
5404
|
+
MatInputModule,
|
|
5405
|
+
StaticColumnsModule,
|
|
5406
|
+
MatIconModule,
|
|
5407
|
+
MatButtonModule,
|
|
5408
|
+
FormsModule,
|
|
5409
|
+
ReactiveFormsModule,
|
|
5410
|
+
],
|
|
5411
|
+
exports: [TaonTableComponent],
|
|
5412
|
+
declarations: [TaonTableComponent],
|
|
5413
|
+
}]
|
|
5414
|
+
}] });
|
|
5415
|
+
;
|
|
5416
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-table/taon-table.module.ts
|
|
5417
|
+
|
|
5418
|
+
;
|
|
5419
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-table/index.ts
|
|
5420
|
+
|
|
5421
|
+
class TaonAdminService {
|
|
5422
|
+
/**
|
|
5423
|
+
* @deprecated
|
|
5424
|
+
*/
|
|
5425
|
+
disableScroll() {
|
|
5426
|
+
}
|
|
5427
|
+
constructor(cdr) {
|
|
5428
|
+
this.cdr = cdr;
|
|
5429
|
+
this.admin = window['taon'];
|
|
5430
|
+
}
|
|
5431
|
+
addTab(name, template) {
|
|
5432
|
+
this.admin.cmp.tabs.push({
|
|
5433
|
+
name,
|
|
5434
|
+
template,
|
|
5435
|
+
});
|
|
5436
|
+
}
|
|
5437
|
+
init(taonAdminModeConfigurationComponent) {
|
|
5438
|
+
this.taonAdminModeConfigurationComponent =
|
|
5439
|
+
taonAdminModeConfigurationComponent;
|
|
5440
|
+
}
|
|
5441
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, deps: [{ token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5442
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, providedIn: 'root' }); }
|
|
5443
|
+
}
|
|
5444
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, decorators: [{
|
|
5445
|
+
type: Injectable,
|
|
5446
|
+
args: [{ providedIn: 'root' }]
|
|
5447
|
+
}], ctorParameters: () => [{ type: i0.ApplicationRef }] });
|
|
5448
|
+
;
|
|
5449
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-control.service.ts
|
|
5450
|
+
|
|
5451
|
+
class TaonAdminModeConfigurationComponent {
|
|
5452
|
+
get opened() {
|
|
5453
|
+
return !this.isIframe && this.admin.adminPanelIsOpen;
|
|
5454
|
+
}
|
|
5455
|
+
set opened(v) {
|
|
5456
|
+
if (v && !this.openedOnce) {
|
|
5457
|
+
this.openedOnce = true;
|
|
5458
|
+
}
|
|
5459
|
+
if (this.wasOpenDraggablePopup) {
|
|
5460
|
+
this.wasOpenDraggablePopup = false;
|
|
5461
|
+
this.admin.draggablePopupMode = true;
|
|
5462
|
+
}
|
|
5463
|
+
this.admin.adminPanelIsOpen = v;
|
|
5464
|
+
}
|
|
5465
|
+
constructor(breakpointsService) {
|
|
5466
|
+
this.breakpointsService = breakpointsService;
|
|
5467
|
+
this.$destroy = new Subject();
|
|
5468
|
+
this.cdr = inject$1(ChangeDetectorRef);
|
|
5469
|
+
this.taonAdminService = inject$1(TaonAdminService);
|
|
5470
|
+
this.tabs = [];
|
|
5471
|
+
this.admin = window['taon'];
|
|
5472
|
+
this.isWebSQLMode = Helpers.isWebSQL;
|
|
5473
|
+
this.hideTaonToolsInProduction = ENV.hideTaonToolsInProduction && ENV.angularProd;
|
|
5474
|
+
this.isIframe = window.location !== window.parent.location;
|
|
5475
|
+
this.height = 100;
|
|
5476
|
+
this.openedOnce = false;
|
|
5477
|
+
this.reloading = false;
|
|
5478
|
+
this.showPasscode = _$1.isString(ENV.passcode) || _$1.isObject(ENV.passcode);
|
|
5479
|
+
this.passcode = _$1.isString(ENV.passcode)
|
|
5480
|
+
? ENV.passcode
|
|
5481
|
+
: _$1.isObject(ENV.passcode)
|
|
5482
|
+
? ENV.passcode.code
|
|
5483
|
+
: '';
|
|
5484
|
+
this.message = _$1.isObject(ENV.passcode)
|
|
5485
|
+
? ENV.passcode.message
|
|
5486
|
+
: void 0;
|
|
5487
|
+
this.dragPositionZero = { x: 0, y: 0 };
|
|
5488
|
+
this.taonAdminModeConfigurationDataChanged = new EventEmitter();
|
|
5489
|
+
this.taonAdminModeConfigurationData = {};
|
|
5490
|
+
this.admin.cmp = this;
|
|
5491
|
+
this.breakpointsService
|
|
5492
|
+
.listenTo()
|
|
5493
|
+
.pipe(takeUntil(this.$destroy))
|
|
5494
|
+
.subscribe(breakpoint => {
|
|
5495
|
+
// @ts-ignore
|
|
5496
|
+
this.isDesktop = breakpoint === 'desktop';
|
|
5497
|
+
});
|
|
5498
|
+
this.taonAdminService.init(this);
|
|
5499
|
+
}
|
|
5500
|
+
reloadTabs() {
|
|
5501
|
+
this.reloading = true;
|
|
5502
|
+
setTimeout(() => {
|
|
5503
|
+
this.reloading = false;
|
|
5504
|
+
console.log('reloading done');
|
|
5505
|
+
});
|
|
5506
|
+
}
|
|
5507
|
+
async ngOnInit() {
|
|
5508
|
+
await Stor.awaitPendingOperatios();
|
|
5509
|
+
this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
|
|
5510
|
+
this.openedOnce = this.opened;
|
|
5511
|
+
}
|
|
5512
|
+
ngAfterViewInit() {
|
|
5513
|
+
//Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
|
|
5514
|
+
//Add 'implements AfterViewInit' to the class.
|
|
5515
|
+
setTimeout(() => {
|
|
5516
|
+
this.height = window.innerHeight;
|
|
5517
|
+
if (this.admin.draggablePopupMode) {
|
|
5518
|
+
this.reloadTabs();
|
|
5519
|
+
}
|
|
5520
|
+
});
|
|
5521
|
+
}
|
|
5522
|
+
ngOnDestroy() {
|
|
5523
|
+
this.$destroy.next(void 0);
|
|
5524
|
+
this.$destroy.complete();
|
|
5525
|
+
}
|
|
5526
|
+
onResize(event) {
|
|
5527
|
+
this.height = window.innerHeight;
|
|
5528
|
+
}
|
|
5529
|
+
async toogle() {
|
|
5530
|
+
this.opened = !this.opened;
|
|
5531
|
+
}
|
|
5532
|
+
async toogleFullScreen() {
|
|
5533
|
+
this.admin.draggablePopupMode = true;
|
|
5534
|
+
this.admin.draggablePopupModeFullScreen =
|
|
5535
|
+
!this.admin.draggablePopupModeFullScreen;
|
|
5536
|
+
this.resetDrag();
|
|
5537
|
+
}
|
|
5538
|
+
resetDrag() {
|
|
5539
|
+
this.dragPositionX = 0;
|
|
5540
|
+
this.dragPositionY = 0;
|
|
5541
|
+
this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
|
|
5542
|
+
}
|
|
5543
|
+
moved(c) {
|
|
5544
|
+
this.dragPositionX += c.distance.x;
|
|
5545
|
+
this.dragPositionY += c.distance.y;
|
|
5546
|
+
}
|
|
5547
|
+
scrollTabs(event) {
|
|
5548
|
+
return;
|
|
5549
|
+
}
|
|
5550
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, deps: [{ token: i1$3.BreakpointsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5551
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminModeConfigurationComponent, selector: "app-taon-admin-mode-configuration", inputs: { taonAdminModeConfigurationData: "taonAdminModeConfigurationData" }, outputs: { taonAdminModeConfigurationDataChanged: "taonAdminModeConfigurationDataChanged" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }], ngImport: i0, template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !admin.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!admin.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column width=\"200\" class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column width=\"40\" *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n\n <mat-tab label=\"Files\" *ngIf=\"admin.enabledTabs.includes('files')\">\n <section>\n <mat-checkbox\n [ngModel]=\"admin.filesEditMode\"\n (change)=\"admin.setEditMode($event.checked)\"\n >Edit mode</mat-checkbox\n >\n </section>\n <!-- admin.filesEditMode: {{ admin.filesEditMode }} -->\n <!-- <taon-admin-edit-mode *ngIf=\"admin.filesEditMode\">\n </taon-admin-edit-mode> -->\n <br />\n <hr *ngIf=\"admin.filesEditMode\" />\n <!-- <section>\n <button mat-raised-button>[TODO] Clear Files from browser cache </button> <br>\n <button mat-raised-button>[TODO] Start files export (as zip) </button> <br>\n <button mat-raised-button>[TODO] Import whole database (from zip) </button><br>\n </section> -->\n </mat-tab>\n <mat-tab *ngFor=\"let tab of tabs\" label=\"{{ tab.name }}\">\n <div\n class=\"full-tabs\"\n [style.height.px]=\"height - 150\"\n *ngIf=\"!isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </div>\n <ng-container *ngIf=\"isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </mat-tab>\n\n <!-- <mat-tab label=\"Portal\">\n <section>\n <mat-checkbox>[TODO] Maintenance Mode for whole portal</mat-checkbox>\n\n <mat-expansion-panel>\n\n <mat-expansion-panel-header>\n [TODO] Active User: 80432\n </mat-expansion-panel-header>\n <section>\n <button mat-raised-button>[TODO] Send notification to users </button><br>\n <button mat-raised-button>[TODO] Send email to users </button><br>\n </section>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n [TODO] Enable features\n </mat-expansion-panel-header>\n <mat-checkbox>[TODO] AB testing</mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Newsletter email question popup\n </mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Promotion popup\n </mat-checkbox> <br>\n </mat-expansion-panel>\n </section>\n </mat-tab>\n <mat-tab label=\"User\">\n Welcome in user managements\n </mat-tab>\n <mat-tab label=\"Translations\">\n Welcome in user managements\n </mat-tab> -->\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n admin.draggablePopupMode &&\n admin.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer #drawer style=\"width: 580px\" [opened]=\"opened\" [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$3.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$3.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$3.DirectiveGrow, selector: "[grow]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$1.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6$1.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i10.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i10.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i11.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: TaonSessionPasscodeComponent, selector: "taon-session-passcode", inputs: ["passcode", "message"] }] }); }
|
|
5552
|
+
}
|
|
5553
|
+
__decorate([
|
|
5554
|
+
Stor.property.in.localstorage
|
|
5555
|
+
.for(TaonAdminModeConfigurationComponent)
|
|
5556
|
+
.withDefaultValue(0),
|
|
5557
|
+
__metadata("design:type", Number)
|
|
5558
|
+
], TaonAdminModeConfigurationComponent.prototype, "dragPositionX", void 0);
|
|
5559
|
+
__decorate([
|
|
5560
|
+
Stor.property.in.localstorage
|
|
5561
|
+
.for(TaonAdminModeConfigurationComponent)
|
|
5562
|
+
.withDefaultValue(0),
|
|
5563
|
+
__metadata("design:type", Number)
|
|
5564
|
+
], TaonAdminModeConfigurationComponent.prototype, "dragPositionY", void 0);
|
|
5565
|
+
__decorate([
|
|
5566
|
+
Stor.property.in.localstorage
|
|
5567
|
+
.for(TaonAdminModeConfigurationComponent)
|
|
5568
|
+
.withDefaultValue(0),
|
|
5569
|
+
__metadata("design:type", Number)
|
|
5570
|
+
], TaonAdminModeConfigurationComponent.prototype, "selectedIndex", void 0);
|
|
5571
|
+
__decorate([
|
|
5572
|
+
Stor.property.in.localstorage
|
|
5573
|
+
.for(TaonAdminModeConfigurationComponent)
|
|
5574
|
+
.withDefaultValue(false),
|
|
5575
|
+
__metadata("design:type", Boolean)
|
|
5576
|
+
], TaonAdminModeConfigurationComponent.prototype, "wasOpenDraggablePopup", void 0);
|
|
5577
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, decorators: [{
|
|
5578
|
+
type: Component,
|
|
5579
|
+
args: [{ selector: 'app-taon-admin-mode-configuration', template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !admin.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!admin.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column width=\"200\" class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column width=\"40\" *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n\n <mat-tab label=\"Files\" *ngIf=\"admin.enabledTabs.includes('files')\">\n <section>\n <mat-checkbox\n [ngModel]=\"admin.filesEditMode\"\n (change)=\"admin.setEditMode($event.checked)\"\n >Edit mode</mat-checkbox\n >\n </section>\n <!-- admin.filesEditMode: {{ admin.filesEditMode }} -->\n <!-- <taon-admin-edit-mode *ngIf=\"admin.filesEditMode\">\n </taon-admin-edit-mode> -->\n <br />\n <hr *ngIf=\"admin.filesEditMode\" />\n <!-- <section>\n <button mat-raised-button>[TODO] Clear Files from browser cache </button> <br>\n <button mat-raised-button>[TODO] Start files export (as zip) </button> <br>\n <button mat-raised-button>[TODO] Import whole database (from zip) </button><br>\n </section> -->\n </mat-tab>\n <mat-tab *ngFor=\"let tab of tabs\" label=\"{{ tab.name }}\">\n <div\n class=\"full-tabs\"\n [style.height.px]=\"height - 150\"\n *ngIf=\"!isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </div>\n <ng-container *ngIf=\"isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </mat-tab>\n\n <!-- <mat-tab label=\"Portal\">\n <section>\n <mat-checkbox>[TODO] Maintenance Mode for whole portal</mat-checkbox>\n\n <mat-expansion-panel>\n\n <mat-expansion-panel-header>\n [TODO] Active User: 80432\n </mat-expansion-panel-header>\n <section>\n <button mat-raised-button>[TODO] Send notification to users </button><br>\n <button mat-raised-button>[TODO] Send email to users </button><br>\n </section>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n [TODO] Enable features\n </mat-expansion-panel-header>\n <mat-checkbox>[TODO] AB testing</mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Newsletter email question popup\n </mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Promotion popup\n </mat-checkbox> <br>\n </mat-expansion-panel>\n </section>\n </mat-tab>\n <mat-tab label=\"User\">\n Welcome in user managements\n </mat-tab>\n <mat-tab label=\"Translations\">\n Welcome in user managements\n </mat-tab> -->\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n admin.draggablePopupMode &&\n admin.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer #drawer style=\"width: 580px\" [opened]=\"opened\" [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"] }]
|
|
5580
|
+
}], ctorParameters: () => [{ type: i1$3.BreakpointsService }], propDecorators: { tabGroup: [{
|
|
5581
|
+
type: ViewChild,
|
|
5582
|
+
args: ['tabGroup']
|
|
5583
|
+
}], taonAdminModeConfigurationDataChanged: [{
|
|
5584
|
+
type: Output
|
|
5585
|
+
}], taonAdminModeConfigurationData: [{
|
|
5586
|
+
type: Input
|
|
5587
|
+
}], onResize: [{
|
|
5588
|
+
type: HostListener,
|
|
5589
|
+
args: ['window:resize', ['$event']]
|
|
5590
|
+
}] } });
|
|
5591
|
+
;
|
|
5592
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.ts
|
|
5593
|
+
|
|
5594
|
+
class TaonAdminEditModeComponent {
|
|
5595
|
+
constructor(router) {
|
|
5596
|
+
this.router = router;
|
|
5597
|
+
this.inited$ = of(true);
|
|
5598
|
+
this.destroyed$ = new Subject();
|
|
5599
|
+
this.handlers = [];
|
|
5600
|
+
this.columns = [
|
|
5601
|
+
{
|
|
5602
|
+
header: 'ID',
|
|
5603
|
+
field: 'id',
|
|
5604
|
+
maxWidth: 100,
|
|
5605
|
+
showExpand: true,
|
|
5606
|
+
},
|
|
5607
|
+
{
|
|
5608
|
+
header: 'src',
|
|
5609
|
+
field: 'src',
|
|
5610
|
+
maxWidth: 250,
|
|
5611
|
+
},
|
|
5612
|
+
{
|
|
5613
|
+
header: 'Content Type',
|
|
5614
|
+
field: 'contentType',
|
|
5615
|
+
maxWidth: 120,
|
|
5616
|
+
},
|
|
5617
|
+
];
|
|
5618
|
+
this.taonAdminEditModeDataChanged = new EventEmitter();
|
|
5619
|
+
this.taonAdminEditModeData = {};
|
|
5620
|
+
}
|
|
5621
|
+
ngOnInit() {
|
|
5622
|
+
this.files = this.admin.currentFiles;
|
|
5623
|
+
this.handlers.push(this.admin.onEditMode$.subscribe(() => {
|
|
5624
|
+
this.refresFilesList();
|
|
5625
|
+
}));
|
|
5626
|
+
this.admin.onRegisterFile().pipe(takeUntil(this.destroyed$), tap(() => {
|
|
5627
|
+
this.refresFilesList();
|
|
5628
|
+
}));
|
|
5629
|
+
}
|
|
5630
|
+
ngOnDestroy() {
|
|
5631
|
+
this.handlers.forEach(h => h.unsubscribe());
|
|
5632
|
+
this.destroyed$.next(void 0);
|
|
5633
|
+
this.destroyed$.unsubscribe();
|
|
5634
|
+
}
|
|
5635
|
+
ngAfterViewInit() {
|
|
5636
|
+
//Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
|
|
5637
|
+
//Add 'implements AfterViewInit' to the class.
|
|
5638
|
+
setTimeout(() => {
|
|
5639
|
+
this.refresFilesList();
|
|
5640
|
+
}, 500);
|
|
5641
|
+
}
|
|
5642
|
+
expansionRow(e) {
|
|
5643
|
+
console.log(e);
|
|
5644
|
+
}
|
|
5645
|
+
refresFilesList() {
|
|
5646
|
+
this.files = this.admin.currentFiles;
|
|
5647
|
+
}
|
|
5648
|
+
searchFind(file) {
|
|
5649
|
+
if (!!this?.fileToSearch) {
|
|
5650
|
+
return file?.src?.search(this?.fileToSearch) !== -1;
|
|
5651
|
+
}
|
|
5652
|
+
return true;
|
|
5653
|
+
}
|
|
5654
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeComponent, deps: [{ token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5655
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminEditModeComponent, selector: "taon-admin-edit-mode", inputs: { taonAdminEditModeData: "taonAdminEditModeData" }, outputs: { taonAdminEditModeDataChanged: "taonAdminEditModeDataChanged" }, ngImport: i0, template: "<ng-template #expansionTpl let-row>\n hello from expansion {{ row.src }}\n</ng-template>\n\n<mat-card *ngIf=\"inited$ | async\">\n <div *ngIf=\"!admin.selectedFile\">Please select file from portal to edit</div>\n <taon-file\n *ngIf=\"admin.selectedFile\"\n class=\"file-inside-admin\"\n [insideAdmin]=\"true\"\n [file]=\"admin.selectedFile\"></taon-file>\n\n <hr />\n\n <mat-tab-group\n dynamicHeight\n [selectedIndex]=\"selectedTabIndex\"\n (selectedIndexChange)=\"selectedTabIndex = $event; refresFilesList()\">\n <mat-tab label=\"General\">\n <!-- <taon-file-general-opt\n [file]=\"admin.selectedFile\"></taon-file-general-opt> -->\n </mat-tab>\n <!-- <mat-tab label=\"CSS Editing\">\n <ace [mode]=\"'css'\"\n *ngIf=\"admin.selectedFile\"\n [(value)]=\"admin.selectedFile.css\"\n [theme]=\"'github'\"\n style=\"width: 100%; height: 300px;\"></ace>\n </mat-tab> -->\n\n <mat-tab label=\"Files Picker\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"File Version History\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"Current File\">\n <columns-container *ngIf=\"files.length > 0\">\n <column grow>\n <mat-form-field style=\"width: 100%\">\n <input\n matInput\n [(ngModel)]=\"fileToSearch\"\n (focus)=\"refresFilesList()\"\n placeholder=\"Search by name\" />\n </mat-form-field>\n </column>\n <column [width]=\"40\">\n <button\n mat-icon-button\n (click)=\"fileToSearch = ''; refresFilesList()\"\n *ngIf=\"fileToSearch && fileToSearch?.trim() !== ''\">\n <mat-icon>backspace</mat-icon>\n </button>\n </column>\n <!-- <column [width]=\"40\">\n <button mat-icon-button (click)=\"refresFilesList();\" >\n <mat-icon >refresh</mat-icon>\n </button>\n </column> -->\n </columns-container>\n <columns-container *ngIf=\"files.length == 0\">\n <section>\n <code\n >No <taon-file/> - s components detected on this page</code\n >\n </section>\n </columns-container>\n\n <div class=\"scrollable-files-list\" *ngIf=\"files.length > 0\">\n <ng-scrollbar>\n <!-- selected: \"{{ selectedFile?.src }}\" -->\n <!-- {{ filesSelection.selectedOptions | json }} -->\n <mat-selection-list\n [multiple]=\"false\"\n #filesToSelect\n (selectionChange)=\"\n admin.selectedFile = filesToSelect.selectedOptions.hasValue()\n ? filesToSelect.selectedOptions.selected[0].value\n : null\n \">\n <mat-list-option\n *ngFor=\"let file of files | filterBy: ['src'] : fileToSearch\"\n [value]=\"file\">\n <strong *ngIf=\"file?.src === admin.selectedFile?.src\">\n {{ file.src }}\n </strong>\n <span *ngIf=\"file?.src !== admin.selectedFile?.src\">\n {{ file.src }}\n </span>\n </mat-list-option>\n </mat-selection-list>\n </ng-scrollbar>\n </div>\n </mat-tab>\n </mat-tab-group>\n</mat-card>\n", styles: [":host{display:block}.scrollable-files-list{height:150px;background:#8080801c;display:block}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$3.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$3.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$3.DirectiveGrow, selector: "[grow]" }, { kind: "component", type: i4$1.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i11$1.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i11$1.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i11.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.FilterByPipe, name: "filterBy" }] }); }
|
|
5656
|
+
}
|
|
5657
|
+
__decorate([
|
|
5658
|
+
(Stor.property.in.localstorage
|
|
5659
|
+
.for(TaonAdminEditModeComponent)
|
|
5660
|
+
.withDefaultValue(0)),
|
|
5661
|
+
__metadata("design:type", Number)
|
|
5662
|
+
], TaonAdminEditModeComponent.prototype, "selectedTabIndex", void 0);
|
|
5663
|
+
__decorate([
|
|
5664
|
+
(Stor.property.in.localstorage
|
|
5665
|
+
.for(TaonAdminEditModeComponent)
|
|
5666
|
+
.withDefaultValue('')),
|
|
5667
|
+
__metadata("design:type", String)
|
|
5668
|
+
], TaonAdminEditModeComponent.prototype, "fileToSearch", void 0);
|
|
5669
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeComponent, decorators: [{
|
|
5670
|
+
type: Component,
|
|
5671
|
+
args: [{ selector: 'taon-admin-edit-mode', template: "<ng-template #expansionTpl let-row>\n hello from expansion {{ row.src }}\n</ng-template>\n\n<mat-card *ngIf=\"inited$ | async\">\n <div *ngIf=\"!admin.selectedFile\">Please select file from portal to edit</div>\n <taon-file\n *ngIf=\"admin.selectedFile\"\n class=\"file-inside-admin\"\n [insideAdmin]=\"true\"\n [file]=\"admin.selectedFile\"></taon-file>\n\n <hr />\n\n <mat-tab-group\n dynamicHeight\n [selectedIndex]=\"selectedTabIndex\"\n (selectedIndexChange)=\"selectedTabIndex = $event; refresFilesList()\">\n <mat-tab label=\"General\">\n <!-- <taon-file-general-opt\n [file]=\"admin.selectedFile\"></taon-file-general-opt> -->\n </mat-tab>\n <!-- <mat-tab label=\"CSS Editing\">\n <ace [mode]=\"'css'\"\n *ngIf=\"admin.selectedFile\"\n [(value)]=\"admin.selectedFile.css\"\n [theme]=\"'github'\"\n style=\"width: 100%; height: 300px;\"></ace>\n </mat-tab> -->\n\n <mat-tab label=\"Files Picker\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"File Version History\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"Current File\">\n <columns-container *ngIf=\"files.length > 0\">\n <column grow>\n <mat-form-field style=\"width: 100%\">\n <input\n matInput\n [(ngModel)]=\"fileToSearch\"\n (focus)=\"refresFilesList()\"\n placeholder=\"Search by name\" />\n </mat-form-field>\n </column>\n <column [width]=\"40\">\n <button\n mat-icon-button\n (click)=\"fileToSearch = ''; refresFilesList()\"\n *ngIf=\"fileToSearch && fileToSearch?.trim() !== ''\">\n <mat-icon>backspace</mat-icon>\n </button>\n </column>\n <!-- <column [width]=\"40\">\n <button mat-icon-button (click)=\"refresFilesList();\" >\n <mat-icon >refresh</mat-icon>\n </button>\n </column> -->\n </columns-container>\n <columns-container *ngIf=\"files.length == 0\">\n <section>\n <code\n >No <taon-file/> - s components detected on this page</code\n >\n </section>\n </columns-container>\n\n <div class=\"scrollable-files-list\" *ngIf=\"files.length > 0\">\n <ng-scrollbar>\n <!-- selected: \"{{ selectedFile?.src }}\" -->\n <!-- {{ filesSelection.selectedOptions | json }} -->\n <mat-selection-list\n [multiple]=\"false\"\n #filesToSelect\n (selectionChange)=\"\n admin.selectedFile = filesToSelect.selectedOptions.hasValue()\n ? filesToSelect.selectedOptions.selected[0].value\n : null\n \">\n <mat-list-option\n *ngFor=\"let file of files | filterBy: ['src'] : fileToSearch\"\n [value]=\"file\">\n <strong *ngIf=\"file?.src === admin.selectedFile?.src\">\n {{ file.src }}\n </strong>\n <span *ngIf=\"file?.src !== admin.selectedFile?.src\">\n {{ file.src }}\n </span>\n </mat-list-option>\n </mat-selection-list>\n </ng-scrollbar>\n </div>\n </mat-tab>\n </mat-tab-group>\n</mat-card>\n", styles: [":host{display:block}.scrollable-files-list{height:150px;background:#8080801c;display:block}\n"] }]
|
|
5672
|
+
}], ctorParameters: () => [{ type: i1$4.Router }], propDecorators: { taonAdminEditModeDataChanged: [{
|
|
5673
|
+
type: Output
|
|
5674
|
+
}], taonAdminEditModeData: [{
|
|
5675
|
+
type: Input
|
|
5676
|
+
}] } });
|
|
5677
|
+
;
|
|
5678
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.ts
|
|
5679
|
+
|
|
5680
|
+
class TaonFileGeneralOptComponent {
|
|
5681
|
+
constructor() {
|
|
5682
|
+
this.height = 100;
|
|
5683
|
+
this.handlers = [];
|
|
5684
|
+
this.fieldsOrder = [];
|
|
5685
|
+
this.fields = [
|
|
5686
|
+
{
|
|
5687
|
+
key: 'width',
|
|
5688
|
+
},
|
|
5689
|
+
{
|
|
5690
|
+
key: 'height',
|
|
5691
|
+
},
|
|
5692
|
+
{
|
|
5693
|
+
key: 'display',
|
|
5694
|
+
},
|
|
5695
|
+
{
|
|
5696
|
+
key: 'widthUnit',
|
|
5697
|
+
},
|
|
5698
|
+
{
|
|
5699
|
+
key: 'heightUnit', // @ts-ignore
|
|
5700
|
+
},
|
|
5701
|
+
{
|
|
5702
|
+
key: 'action',
|
|
5703
|
+
type: 'action',
|
|
5704
|
+
templateOptions: {
|
|
5705
|
+
label: 'Reset',
|
|
5706
|
+
icon: 'cancel',
|
|
5707
|
+
raised: true,
|
|
5708
|
+
action: () => {
|
|
5709
|
+
console.log('reset');
|
|
5710
|
+
},
|
|
5711
|
+
},
|
|
5712
|
+
},
|
|
5713
|
+
].map(f => {
|
|
5714
|
+
f.className = 'formly-field-half-size';
|
|
5715
|
+
return f;
|
|
5716
|
+
});
|
|
5717
|
+
}
|
|
5718
|
+
ngOnInit() { }
|
|
5719
|
+
ngOnDestroy() {
|
|
5720
|
+
this.handlers.forEach(h => h.unsubscribe());
|
|
5721
|
+
}
|
|
5722
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5723
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonFileGeneralOptComponent, selector: "taon-file-general-opt", inputs: { height: "height", file: "file" }, host: { properties: { "style.minHeight.px": "this.height" } }, ngImport: i0, template: "<!-- <taon-formly-form\n *ngIf=\"file\"\n [fields]=\"fields\"\n [fieldsOrder]=\"fieldsOrder\"\n [exclude]=\"['id']\"\n [(model)]=\"file.css\">\n</taon-formly-form> -->\n", styles: [":host{display:block}\n"] }); }
|
|
5724
|
+
}
|
|
5725
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptComponent, decorators: [{
|
|
5726
|
+
type: Component,
|
|
5727
|
+
args: [{ selector: 'taon-file-general-opt', template: "<!-- <taon-formly-form\n *ngIf=\"file\"\n [fields]=\"fields\"\n [fieldsOrder]=\"fieldsOrder\"\n [exclude]=\"['id']\"\n [(model)]=\"file.css\">\n</taon-formly-form> -->\n", styles: [":host{display:block}\n"] }]
|
|
5728
|
+
}], ctorParameters: () => [], propDecorators: { height: [{
|
|
5729
|
+
type: HostBinding,
|
|
5730
|
+
args: ['style.minHeight.px']
|
|
5731
|
+
}, {
|
|
5732
|
+
type: Input
|
|
5733
|
+
}], file: [{
|
|
5734
|
+
type: Input
|
|
5735
|
+
}] } });
|
|
5736
|
+
;
|
|
5737
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.ts
|
|
5738
|
+
|
|
5739
|
+
class TaonFileGeneralOptModule {
|
|
5740
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5741
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, declarations: [TaonFileGeneralOptComponent], imports: [CommonModule, TaonFullMaterialModule], exports: [TaonFileGeneralOptComponent] }); }
|
|
5742
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, imports: [CommonModule, TaonFullMaterialModule] }); }
|
|
5743
|
+
}
|
|
5744
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, decorators: [{
|
|
5745
|
+
type: NgModule,
|
|
5746
|
+
args: [{
|
|
5747
|
+
imports: [CommonModule, TaonFullMaterialModule],
|
|
5748
|
+
declarations: [TaonFileGeneralOptComponent],
|
|
5749
|
+
exports: [TaonFileGeneralOptComponent],
|
|
5750
|
+
}]
|
|
5751
|
+
}] });
|
|
5752
|
+
;
|
|
5753
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.ts
|
|
5754
|
+
|
|
5755
|
+
;
|
|
5756
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.ts
|
|
5757
|
+
|
|
5758
|
+
class TaonAdminEditModeModule {
|
|
5759
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5760
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, declarations: [TaonAdminEditModeComponent], imports: [CommonModule,
|
|
5761
|
+
StaticColumnsModule,
|
|
5762
|
+
NgScrollbarModule,
|
|
5763
|
+
TaonFileGeneralOptModule,
|
|
5764
|
+
FormsModule,
|
|
5765
|
+
NgArrayPipesModule,
|
|
5766
|
+
TaonTableModule,
|
|
5767
|
+
TaonFullMaterialModule], exports: [TaonAdminEditModeComponent] }); }
|
|
5768
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, imports: [CommonModule,
|
|
5769
|
+
StaticColumnsModule,
|
|
5770
|
+
NgScrollbarModule,
|
|
5771
|
+
TaonFileGeneralOptModule,
|
|
5772
|
+
FormsModule,
|
|
5773
|
+
NgArrayPipesModule,
|
|
5774
|
+
TaonTableModule,
|
|
5775
|
+
TaonFullMaterialModule] }); }
|
|
5776
|
+
}
|
|
5777
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, decorators: [{
|
|
5778
|
+
type: NgModule,
|
|
5779
|
+
args: [{
|
|
5780
|
+
imports: [
|
|
5781
|
+
CommonModule,
|
|
5782
|
+
StaticColumnsModule,
|
|
5783
|
+
NgScrollbarModule,
|
|
5784
|
+
TaonFileGeneralOptModule,
|
|
5785
|
+
FormsModule,
|
|
5786
|
+
NgArrayPipesModule,
|
|
5787
|
+
TaonTableModule,
|
|
5788
|
+
TaonFullMaterialModule, // TODO import only partial things
|
|
5789
|
+
],
|
|
5790
|
+
declarations: [TaonAdminEditModeComponent],
|
|
5791
|
+
exports: [TaonAdminEditModeComponent],
|
|
5792
|
+
}]
|
|
5793
|
+
}] });
|
|
5794
|
+
;
|
|
5795
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.ts
|
|
5796
|
+
|
|
5797
|
+
;
|
|
5798
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.ts
|
|
5799
|
+
|
|
5800
|
+
class TaonAdminModeConfigurationModule {
|
|
5801
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5802
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, declarations: [TaonAdminModeConfigurationComponent], imports: [CommonModule,
|
|
5803
|
+
StaticColumnsModule,
|
|
5804
|
+
FormsModule,
|
|
5805
|
+
NgScrollbarModule,
|
|
5806
|
+
TaonAdminEditModeModule,
|
|
5807
|
+
TaonProgressBarModule,
|
|
5808
|
+
TaonNotificationsModule,
|
|
5809
|
+
TaonFullMaterialModule, // TODO import only partial things
|
|
5810
|
+
TaonSessionPasscodeComponent], exports: [TaonAdminModeConfigurationComponent] }); }
|
|
5811
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, imports: [CommonModule,
|
|
5812
|
+
StaticColumnsModule,
|
|
5813
|
+
FormsModule,
|
|
5814
|
+
NgScrollbarModule,
|
|
5815
|
+
TaonAdminEditModeModule,
|
|
5816
|
+
TaonProgressBarModule,
|
|
5817
|
+
TaonNotificationsModule,
|
|
5818
|
+
TaonFullMaterialModule, // TODO import only partial things
|
|
5819
|
+
TaonSessionPasscodeComponent] }); }
|
|
5820
|
+
}
|
|
5821
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, decorators: [{
|
|
5822
|
+
type: NgModule,
|
|
5823
|
+
args: [{
|
|
5824
|
+
imports: [
|
|
5825
|
+
CommonModule,
|
|
5826
|
+
StaticColumnsModule,
|
|
5827
|
+
FormsModule,
|
|
5828
|
+
NgScrollbarModule,
|
|
5829
|
+
TaonAdminEditModeModule,
|
|
5830
|
+
TaonProgressBarModule,
|
|
5831
|
+
TaonNotificationsModule,
|
|
5832
|
+
TaonFullMaterialModule, // TODO import only partial things
|
|
5833
|
+
TaonSessionPasscodeComponent,
|
|
5834
|
+
],
|
|
5835
|
+
declarations: [TaonAdminModeConfigurationComponent],
|
|
5836
|
+
exports: [TaonAdminModeConfigurationComponent],
|
|
5837
|
+
}]
|
|
5838
|
+
}] });
|
|
5839
|
+
;
|
|
5840
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.ts
|
|
5841
|
+
|
|
5842
|
+
;
|
|
5843
|
+
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/index.ts
|
|
5844
|
+
|
|
5845
|
+
;
|
|
5846
|
+
({}); // @--end-of-file-for-module=taon lib/ui/index.ts
|
|
5847
|
+
|
|
4526
5848
|
;
|
|
4527
5849
|
({}); // @--end-of-file-for-module=taon lib/constants.ts
|
|
4528
5850
|
|
|
@@ -4573,5 +5895,5 @@ var Taon;
|
|
|
4573
5895
|
* Generated bundle index. Do not edit.
|
|
4574
5896
|
*/
|
|
4575
5897
|
|
|
4576
|
-
export { BaseContext, BaseController, BaseEntity, BaseProvider, BaseRepository, ClassHelpers, Models, Taon, createContext, inject };
|
|
4577
|
-
//# sourceMappingURL=taon.mjs.map
|
|
5898
|
+
export { BaseContext, BaseController, BaseEntity, BaseProvider, BaseRepository, ClassHelpers, Models, SafePipe, Taon, TaonAdminModeConfigurationComponent, TaonAdminModeConfigurationModule, TaonAdminService, TaonFullMaterialModule, TaonGithubForkMeCornerComponent, TaonGithubForkMeCornerModule, TaonInjectHTMLDirective, TaonLongPress, TaonNotificationOptions, TaonNotificationsComponent, TaonNotificationsModule, TaonNotificationsService, TaonProgressBarComponent, TaonProgressBarModule, TaonSessionPasscodeComponent, TaonTableComponent, TaonTableModule, createContext, inject };
|
|
5899
|
+
//# sourceMappingURL=taon.mjs.map
|