taon 18.0.19 → 18.0.21
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/README.md +114 -118
- package/assets/shared/logo-header-admin-mode.png +0 -0
- package/assets/shared/shared_folder_info.txt +1 -1
- package/bin/start.js +279 -279
- package/bin/taon +6 -6
- package/bin/taon-debug +5 -5
- package/bin/taon-debug-brk +5 -5
- package/browser/README.md +24 -24
- package/browser/esm2022/lib/base-classes/base-abstract-entity.mjs +1 -1
- package/browser/esm2022/lib/base-classes/base-class.mjs +2 -2
- package/browser/esm2022/lib/base-classes/base-controller.mjs +3 -2
- package/browser/esm2022/lib/base-classes/base-crud-controller.mjs +1 -1
- package/browser/esm2022/lib/base-classes/base-migration.mjs +23 -0
- package/browser/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +20 -20
- package/browser/esm2022/lib/base-classes/base.mjs +5 -3
- package/browser/esm2022/lib/context-db-migrations.mjs +410 -0
- package/browser/esm2022/lib/create-context.mjs +22 -8
- package/browser/esm2022/lib/decorators/classes/controller-decorator.mjs +4 -1
- package/browser/esm2022/lib/decorators/classes/entity-decorator.mjs +4 -1
- package/browser/esm2022/lib/decorators/classes/migration-decorator.mjs +18 -0
- package/browser/esm2022/lib/decorators/classes/provider-decorator.mjs +4 -1
- package/browser/esm2022/lib/decorators/classes/repository-decorator.mjs +4 -1
- package/browser/esm2022/lib/decorators/classes/subscriber-decorator.mjs +5 -2
- package/browser/esm2022/lib/decorators/http/http-methods-decorators.mjs +1 -1
- package/browser/esm2022/lib/endpoint-context.mjs +105 -59
- package/browser/esm2022/lib/entity-process.mjs +1 -10
- package/browser/esm2022/lib/get-response-value.mjs +1 -15
- package/browser/esm2022/lib/index.mjs +4 -1
- package/browser/esm2022/lib/inject.mjs +1 -1
- package/browser/esm2022/lib/models.mjs +30 -1
- package/browser/esm2022/lib/symbols.mjs +2 -1
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +1 -3
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +55 -37
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +17 -21
- package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +1 -1
- package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +1 -1
- package/browser/esm2022/lib/ui/taon-table/taon-table.component.mjs +1 -2
- package/browser/fesm2022/taon.mjs +701 -449
- package/browser/fesm2022/taon.mjs.map +1 -1
- package/browser/lib/base-classes/base-abstract-entity.d.ts +2 -1
- package/browser/lib/base-classes/base-class.d.ts +1 -1
- package/browser/lib/base-classes/base-context.d.ts +3 -0
- package/browser/lib/base-classes/base-controller.d.ts +2 -1
- package/browser/lib/base-classes/base-crud-controller.d.ts +1 -1
- package/browser/lib/base-classes/base-migration.d.ts +12 -0
- package/browser/lib/base-classes/base.d.ts +8 -2
- package/browser/lib/context-db-migrations.d.ts +17 -0
- package/browser/lib/create-context.d.ts +7 -4
- package/browser/lib/decorators/classes/controller-decorator.d.ts +3 -0
- package/browser/lib/decorators/classes/entity-decorator.d.ts +3 -0
- package/browser/lib/decorators/classes/migration-decorator.d.ts +8 -0
- package/browser/lib/decorators/classes/provider-decorator.d.ts +3 -0
- package/browser/lib/decorators/classes/repository-decorator.d.ts +3 -0
- package/browser/lib/decorators/classes/subscriber-decorator.d.ts +3 -0
- package/browser/lib/decorators/http/http-methods-decorators.d.ts +9 -0
- package/browser/lib/endpoint-context.d.ts +14 -7
- package/browser/lib/index.d.ts +14 -1
- package/browser/lib/models.d.ts +45 -22
- package/browser/lib/symbols.d.ts +1 -0
- package/browser/lib/ui/taon-admin-mode-configuration/index.d.ts +1 -3
- package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +5 -8
- package/browser/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +8 -8
- package/client/README.md +24 -24
- package/client/esm2022/lib/base-classes/base-abstract-entity.mjs +1 -1
- package/client/esm2022/lib/base-classes/base-class.mjs +2 -2
- package/client/esm2022/lib/base-classes/base-controller.mjs +3 -2
- package/client/esm2022/lib/base-classes/base-crud-controller.mjs +1 -1
- package/client/esm2022/lib/base-classes/base-migration.mjs +23 -0
- package/client/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +20 -20
- package/client/esm2022/lib/base-classes/base.mjs +5 -3
- package/client/esm2022/lib/context-db-migrations.mjs +410 -0
- package/client/esm2022/lib/create-context.mjs +22 -8
- package/client/esm2022/lib/decorators/classes/controller-decorator.mjs +4 -1
- package/client/esm2022/lib/decorators/classes/entity-decorator.mjs +4 -1
- package/client/esm2022/lib/decorators/classes/migration-decorator.mjs +18 -0
- package/client/esm2022/lib/decorators/classes/provider-decorator.mjs +4 -1
- package/client/esm2022/lib/decorators/classes/repository-decorator.mjs +4 -1
- package/client/esm2022/lib/decorators/classes/subscriber-decorator.mjs +5 -2
- package/client/esm2022/lib/decorators/http/http-methods-decorators.mjs +1 -1
- package/client/esm2022/lib/endpoint-context.mjs +105 -59
- package/client/esm2022/lib/entity-process.mjs +1 -10
- package/client/esm2022/lib/get-response-value.mjs +1 -15
- package/client/esm2022/lib/index.mjs +4 -1
- package/client/esm2022/lib/inject.mjs +1 -1
- package/client/esm2022/lib/models.mjs +30 -1
- package/client/esm2022/lib/symbols.mjs +2 -1
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +1 -3
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +55 -37
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +17 -21
- package/client/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +1 -1
- package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +1 -1
- package/client/esm2022/lib/ui/taon-table/taon-table.component.mjs +1 -2
- package/client/fesm2022/taon.mjs +701 -449
- package/client/fesm2022/taon.mjs.map +1 -1
- package/client/lib/base-classes/base-abstract-entity.d.ts +2 -1
- package/client/lib/base-classes/base-class.d.ts +1 -1
- package/client/lib/base-classes/base-context.d.ts +3 -0
- package/client/lib/base-classes/base-controller.d.ts +2 -1
- package/client/lib/base-classes/base-crud-controller.d.ts +1 -1
- package/client/lib/base-classes/base-migration.d.ts +12 -0
- package/client/lib/base-classes/base.d.ts +8 -2
- package/client/lib/context-db-migrations.d.ts +17 -0
- package/client/lib/create-context.d.ts +7 -4
- package/client/lib/decorators/classes/controller-decorator.d.ts +3 -0
- package/client/lib/decorators/classes/entity-decorator.d.ts +3 -0
- package/client/lib/decorators/classes/migration-decorator.d.ts +8 -0
- package/client/lib/decorators/classes/provider-decorator.d.ts +3 -0
- package/client/lib/decorators/classes/repository-decorator.d.ts +3 -0
- package/client/lib/decorators/classes/subscriber-decorator.d.ts +3 -0
- package/client/lib/decorators/http/http-methods-decorators.d.ts +9 -0
- package/client/lib/endpoint-context.d.ts +14 -7
- package/client/lib/index.d.ts +14 -1
- package/client/lib/models.d.ts +45 -22
- package/client/lib/symbols.d.ts +1 -0
- package/client/lib/ui/taon-admin-mode-configuration/index.d.ts +1 -3
- package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +5 -8
- package/client/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +8 -8
- package/lib/base-classes/base-abstract-entity.d.ts +1 -0
- package/lib/base-classes/base-class.d.ts +1 -1
- package/lib/base-classes/base-class.js +1 -1
- package/lib/base-classes/base-context.d.ts +3 -0
- package/lib/base-classes/base-controller.d.ts +2 -1
- package/lib/base-classes/base-controller.js +2 -1
- package/lib/base-classes/base-controller.js.map +1 -1
- package/lib/base-classes/base-crud-controller.d.ts +1 -1
- package/lib/base-classes/base-migration.d.ts +11 -0
- package/lib/base-classes/base-migration.js +41 -0
- package/lib/base-classes/base-migration.js.map +1 -0
- package/lib/base-classes/base-repository.js +4 -4
- package/lib/base-classes/base-repository.js.map +1 -1
- package/lib/base-classes/base-subscriber-for-entity.js +19 -19
- package/lib/base-classes/base-subscriber-for-entity.js.map +1 -1
- package/lib/base-classes/base.d.ts +8 -2
- package/lib/base-classes/base.js +4 -2
- package/lib/base-classes/base.js.map +1 -1
- package/lib/context-db-migrations.d.ts +16 -0
- package/lib/context-db-migrations.js +585 -0
- package/lib/context-db-migrations.js.map +1 -0
- package/lib/create-context.d.ts +7 -4
- package/lib/create-context.js +34 -12
- package/lib/create-context.js.map +1 -1
- package/lib/decorators/classes/controller-decorator.d.ts +3 -0
- package/lib/decorators/classes/controller-decorator.js +3 -0
- package/lib/decorators/classes/controller-decorator.js.map +1 -1
- package/lib/decorators/classes/entity-decorator.d.ts +3 -0
- package/lib/decorators/classes/entity-decorator.js +3 -0
- package/lib/decorators/classes/entity-decorator.js.map +1 -1
- package/lib/decorators/classes/migration-decorator.d.ts +7 -0
- package/lib/decorators/classes/migration-decorator.js +27 -0
- package/lib/decorators/classes/migration-decorator.js.map +1 -0
- package/lib/decorators/classes/provider-decorator.d.ts +3 -0
- package/lib/decorators/classes/provider-decorator.js +3 -0
- package/lib/decorators/classes/provider-decorator.js.map +1 -1
- package/lib/decorators/classes/repository-decorator.d.ts +3 -0
- package/lib/decorators/classes/repository-decorator.js +3 -0
- package/lib/decorators/classes/repository-decorator.js.map +1 -1
- package/lib/decorators/classes/subscriber-decorator.d.ts +3 -0
- package/lib/decorators/classes/subscriber-decorator.js +4 -1
- package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
- package/lib/decorators/http/http-methods-decorators.d.ts +9 -0
- package/lib/decorators/http/http-methods-decorators.js.map +1 -1
- package/lib/endpoint-context.d.ts +14 -7
- package/lib/endpoint-context.js +265 -220
- package/lib/endpoint-context.js.map +1 -1
- package/lib/entity-process.js +0 -9
- package/lib/entity-process.js.map +1 -1
- package/lib/get-response-value.js +14 -37
- package/lib/get-response-value.js.map +1 -1
- package/lib/index.d.ts +14 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/inject.js +0 -2
- package/lib/inject.js.map +1 -1
- package/lib/models.d.ts +45 -23
- package/lib/models.js +45 -0
- package/lib/models.js.map +1 -1
- package/lib/symbols.d.ts +1 -0
- package/lib/symbols.js +1 -0
- package/lib/symbols.js.map +1 -1
- package/lib/ui/directives/index.js +2 -2
- package/lib/ui/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/index.d.ts +1 -3
- package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +4 -7
- package/lib/ui/taon-admin-mode-configuration/{models/taon-admin-mode-tabs.js → taon-admin.models.js} +1 -1
- package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js.map +1 -0
- package/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +6 -6
- 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-session-passcode/index.js +2 -2
- package/lib/ui/taon-table/index.js +2 -2
- package/migrations/index.d.ts +1 -0
- package/migrations/index.js +6 -0
- package/migrations/index.js.map +1 -0
- package/migrations/migrations_index._auto-generated_.d.ts +0 -0
- package/migrations/migrations_index._auto-generated_.js +4 -0
- package/migrations/migrations_index._auto-generated_.js.map +1 -0
- package/package.json +7 -7
- package/taon.jsonc +47 -47
- package/tmp-environment.json +39 -31
- package/websql/README.md +24 -24
- package/websql/esm2022/lib/base-classes/base-abstract-entity.mjs +1 -1
- package/websql/esm2022/lib/base-classes/base-class.mjs +2 -2
- package/websql/esm2022/lib/base-classes/base-controller.mjs +3 -2
- package/websql/esm2022/lib/base-classes/base-crud-controller.mjs +1 -1
- package/websql/esm2022/lib/base-classes/base-migration.mjs +23 -0
- package/websql/esm2022/lib/base-classes/base-repository.mjs +5 -5
- package/websql/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +20 -20
- package/websql/esm2022/lib/base-classes/base.mjs +5 -3
- package/websql/esm2022/lib/context-db-migrations.mjs +269 -0
- package/websql/esm2022/lib/create-context.mjs +22 -8
- package/websql/esm2022/lib/decorators/classes/controller-decorator.mjs +4 -1
- package/websql/esm2022/lib/decorators/classes/entity-decorator.mjs +4 -1
- package/websql/esm2022/lib/decorators/classes/migration-decorator.mjs +18 -0
- package/websql/esm2022/lib/decorators/classes/provider-decorator.mjs +4 -1
- package/websql/esm2022/lib/decorators/classes/repository-decorator.mjs +4 -1
- package/websql/esm2022/lib/decorators/classes/subscriber-decorator.mjs +5 -2
- package/websql/esm2022/lib/decorators/http/http-methods-decorators.mjs +1 -1
- package/websql/esm2022/lib/endpoint-context.mjs +139 -95
- package/websql/esm2022/lib/entity-process.mjs +1 -10
- package/websql/esm2022/lib/get-response-value.mjs +4 -24
- package/websql/esm2022/lib/index.mjs +4 -1
- package/websql/esm2022/lib/inject.mjs +1 -1
- package/websql/esm2022/lib/models.mjs +28 -1
- package/websql/esm2022/lib/symbols.mjs +2 -1
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +1 -3
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +55 -37
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +17 -21
- package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +1 -1
- package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +1 -1
- package/websql/esm2022/lib/ui/taon-table/taon-table.component.mjs +1 -2
- package/websql/fesm2022/taon.mjs +594 -497
- package/websql/fesm2022/taon.mjs.map +1 -1
- package/websql/lib/base-classes/base-abstract-entity.d.ts +2 -1
- package/websql/lib/base-classes/base-class.d.ts +1 -1
- package/websql/lib/base-classes/base-context.d.ts +3 -0
- package/websql/lib/base-classes/base-controller.d.ts +2 -1
- package/websql/lib/base-classes/base-crud-controller.d.ts +1 -1
- package/websql/lib/base-classes/base-migration.d.ts +12 -0
- package/websql/lib/base-classes/base.d.ts +8 -2
- package/websql/lib/context-db-migrations.d.ts +17 -0
- package/websql/lib/create-context.d.ts +7 -4
- package/websql/lib/decorators/classes/controller-decorator.d.ts +3 -0
- package/websql/lib/decorators/classes/entity-decorator.d.ts +3 -0
- package/websql/lib/decorators/classes/migration-decorator.d.ts +8 -0
- package/websql/lib/decorators/classes/provider-decorator.d.ts +3 -0
- package/websql/lib/decorators/classes/repository-decorator.d.ts +3 -0
- package/websql/lib/decorators/classes/subscriber-decorator.d.ts +3 -0
- package/websql/lib/decorators/http/http-methods-decorators.d.ts +9 -0
- package/websql/lib/endpoint-context.d.ts +14 -7
- package/websql/lib/index.d.ts +14 -1
- package/websql/lib/models.d.ts +45 -23
- package/websql/lib/symbols.d.ts +1 -0
- package/websql/lib/ui/taon-admin-mode-configuration/index.d.ts +1 -3
- package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +5 -8
- package/websql/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +8 -8
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +0 -5
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +0 -115
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +0 -50
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +0 -5
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +0 -61
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +0 -21
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.mjs +0 -4
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.mjs +0 -32
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +0 -54
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +0 -3
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +0 -33
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +0 -16
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +0 -3
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +0 -17
- package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +0 -10
- package/browser/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +0 -6
- package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +0 -18
- package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +0 -17
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +0 -5
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +0 -115
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +0 -50
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +0 -5
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +0 -61
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +0 -21
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.mjs +0 -4
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.mjs +0 -32
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +0 -54
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +0 -3
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +0 -33
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +0 -16
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +0 -3
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +0 -17
- package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +0 -10
- package/client/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +0 -6
- package/client/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +0 -18
- package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +0 -17
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +0 -2
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +0 -5
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js.map +0 -1
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +0 -29
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +0 -2
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.d.ts +0 -1
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +0 -5
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js.map +0 -1
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +0 -8
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +0 -2
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +0 -5
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js.map +0 -1
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +0 -13
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +0 -2
- package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js.map +0 -1
- package/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +0 -14
- package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +0 -2
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +0 -5
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +0 -115
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +0 -50
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +0 -5
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +0 -61
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +0 -21
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.mjs +0 -4
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.mjs +0 -32
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +0 -54
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +0 -3
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +0 -33
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +0 -16
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +0 -3
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +0 -17
- package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +0 -10
- package/websql/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +0 -6
- package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +0 -18
- package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +0 -17
- /package/lib/ui/taon-admin-mode-configuration/{models/taon-admin-mode-tabs.d.ts → taon-admin.models.d.ts} +0 -0
package/client/fesm2022/taon.mjs
CHANGED
|
@@ -2,22 +2,21 @@ import 'reflect-metadata';
|
|
|
2
2
|
import * as coreHelpers from 'tnp-core/browser';
|
|
3
3
|
import { _ as _$1, Helpers } from 'tnp-core/browser';
|
|
4
4
|
import { Models as Models$1, RestHeaders, Resource, Mapping } from 'ng2-rest/browser';
|
|
5
|
-
import { OrignalClassKey } from 'taon-typeorm/browser';
|
|
5
|
+
import { OrignalClassKey, Table } from 'taon-typeorm/browser';
|
|
6
6
|
import { SYMBOL, CLASS } from 'typescript-class-helpers/browser';
|
|
7
7
|
import * as JSON5 from 'json5';
|
|
8
8
|
import { __decorate, __param, __metadata } from 'tslib';
|
|
9
9
|
import { JSON10 } from 'json10/browser';
|
|
10
|
-
import { Observable, from, Subject, interval, tap, defer, fromEvent, map, debounceTime, distinctUntilChanged, share, Subscription, takeUntil
|
|
10
|
+
import { Observable, from, Subject, interval, tap, defer, fromEvent, map, debounceTime, distinctUntilChanged, share, Subscription, takeUntil } from 'rxjs';
|
|
11
11
|
import axios from 'axios';
|
|
12
12
|
import { io } from 'socket.io-client';
|
|
13
13
|
import { Stor } from 'taon-storage/browser';
|
|
14
|
-
import { config } from 'tnp-config/browser';
|
|
15
14
|
import * as i0 from '@angular/core';
|
|
16
15
|
import { Injectable, inject as inject$1, EventEmitter, Directive, Input, Output, HostBinding, HostListener, Pipe, NgModule, Component, DestroyRef, Self, ViewChild, ChangeDetectorRef } from '@angular/core';
|
|
17
16
|
import { Log, Level } from 'ng2-logger/browser';
|
|
18
17
|
import * as i1 from '@angular/platform-browser';
|
|
19
18
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
20
|
-
import * as
|
|
19
|
+
import * as i6$1 from '@angular/cdk/drag-drop';
|
|
21
20
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
22
21
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
23
22
|
import { CdkStepperModule } from '@angular/cdk/stepper';
|
|
@@ -26,11 +25,11 @@ import { CdkTreeModule } from '@angular/cdk/tree';
|
|
|
26
25
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
27
26
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
28
27
|
import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
|
|
29
|
-
import * as
|
|
28
|
+
import * as i7 from '@angular/material/button';
|
|
30
29
|
import { MatButtonModule } from '@angular/material/button';
|
|
31
|
-
import * as
|
|
30
|
+
import * as i8 from '@angular/material/card';
|
|
32
31
|
import { MatCardModule } from '@angular/material/card';
|
|
33
|
-
import * as
|
|
32
|
+
import * as i9 from '@angular/material/checkbox';
|
|
34
33
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
35
34
|
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
36
35
|
import { MatStepperModule } from '@angular/material/stepper';
|
|
@@ -39,7 +38,6 @@ import { MatExpansionModule } from '@angular/material/expansion';
|
|
|
39
38
|
import { MatGridListModule } from '@angular/material/grid-list';
|
|
40
39
|
import * as i6 from '@angular/material/icon';
|
|
41
40
|
import { MatIconModule } from '@angular/material/icon';
|
|
42
|
-
import * as i11$1 from '@angular/material/list';
|
|
43
41
|
import { MatListModule } from '@angular/material/list';
|
|
44
42
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
45
43
|
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
@@ -53,19 +51,19 @@ import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';
|
|
|
53
51
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
54
52
|
import { MatRadioModule } from '@angular/material/radio';
|
|
55
53
|
import { MatSelectModule } from '@angular/material/select';
|
|
56
|
-
import * as
|
|
54
|
+
import * as i11 from '@angular/material/sidenav';
|
|
57
55
|
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
58
56
|
import { MatSliderModule } from '@angular/material/slider';
|
|
59
57
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
60
58
|
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
61
59
|
import { MatSortModule } from '@angular/material/sort';
|
|
62
60
|
import { MatTableModule } from '@angular/material/table';
|
|
63
|
-
import * as
|
|
61
|
+
import * as i12 from '@angular/material/tabs';
|
|
64
62
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
65
63
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
66
64
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
67
65
|
import { MatTreeModule } from '@angular/material/tree';
|
|
68
|
-
import * as
|
|
66
|
+
import * as i3 from '@angular/common';
|
|
69
67
|
import { CommonModule } from '@angular/common';
|
|
70
68
|
import * as i1$1 from '@ngneat/hot-toast';
|
|
71
69
|
import * as i2 from '@angular/forms';
|
|
@@ -75,21 +73,14 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
|
75
73
|
import * as i1$2 from 'ngx-progressbar';
|
|
76
74
|
import { NgProgressModule } from 'ngx-progressbar';
|
|
77
75
|
import * as _ from 'lodash';
|
|
78
|
-
import * as i2$
|
|
76
|
+
import * as i2$1 from '@angular/material/form-field';
|
|
79
77
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
80
|
-
import * as i3 from '@ng-matero/extensions/grid';
|
|
78
|
+
import * as i3$1 from '@ng-matero/extensions/grid';
|
|
81
79
|
import { MtxGridModule } from '@ng-matero/extensions/grid';
|
|
82
80
|
import * as i1$3 from 'static-columns/browser';
|
|
83
81
|
import { StaticColumnsModule } from 'static-columns/browser';
|
|
84
|
-
import * as
|
|
82
|
+
import * as i5 from 'ngx-scrollbar';
|
|
85
83
|
import { NgScrollbarModule } from 'ngx-scrollbar';
|
|
86
|
-
import * as i1$4 from '@angular/router';
|
|
87
|
-
import 'brace';
|
|
88
|
-
import 'brace/mode/css';
|
|
89
|
-
import 'brace/mode/typescript';
|
|
90
|
-
import 'brace/theme/github';
|
|
91
|
-
import * as i13 from 'ngx-pipes';
|
|
92
|
-
import { NgArrayPipesModule } from 'ngx-pipes';
|
|
93
84
|
|
|
94
85
|
var Symbols;
|
|
95
86
|
(function (Symbols) {
|
|
@@ -155,6 +146,7 @@ var Symbols;
|
|
|
155
146
|
repository: `repository:options`,
|
|
156
147
|
provider: `provider:options`,
|
|
157
148
|
subscriber: `subscriber:options`,
|
|
149
|
+
migration: `migration:options`,
|
|
158
150
|
},
|
|
159
151
|
};
|
|
160
152
|
Symbols.old = {
|
|
@@ -564,6 +556,7 @@ var Models;
|
|
|
564
556
|
ClassType["REPOSITORY"] = "REPOSITORY";
|
|
565
557
|
ClassType["PROVIDER"] = "PROVIDER";
|
|
566
558
|
ClassType["SUBSCRIBER"] = "SUBSCRIBER";
|
|
559
|
+
ClassType["MIGRATION"] = "MIGRATION";
|
|
567
560
|
})(ClassType = Models.ClassType || (Models.ClassType = {}));
|
|
568
561
|
Models.ClassTypeKey = {
|
|
569
562
|
[ClassType.ENTITY]: 'entities',
|
|
@@ -571,7 +564,34 @@ var Models;
|
|
|
571
564
|
[ClassType.REPOSITORY]: 'repositories',
|
|
572
565
|
[ClassType.PROVIDER]: 'providers',
|
|
573
566
|
[ClassType.SUBSCRIBER]: 'subscribers',
|
|
567
|
+
[ClassType.MIGRATION]: 'migrations',
|
|
574
568
|
};
|
|
569
|
+
class DatabaseConfigTypeOrm {
|
|
570
|
+
}
|
|
571
|
+
Models.DatabaseConfigTypeOrm = DatabaseConfigTypeOrm;
|
|
572
|
+
class DatabaseConfig extends DatabaseConfigTypeOrm {
|
|
573
|
+
static from(databasePartialConfig) {
|
|
574
|
+
return _$1.merge(new DatabaseConfig(), databasePartialConfig);
|
|
575
|
+
}
|
|
576
|
+
get databaseConfigTypeORM() {
|
|
577
|
+
/* */
|
|
578
|
+
/* */
|
|
579
|
+
/* */
|
|
580
|
+
/* */
|
|
581
|
+
/* */
|
|
582
|
+
/* */
|
|
583
|
+
/* */
|
|
584
|
+
/* */
|
|
585
|
+
/* */
|
|
586
|
+
/* */
|
|
587
|
+
/* */
|
|
588
|
+
/* */
|
|
589
|
+
/* */
|
|
590
|
+
/* */
|
|
591
|
+
return (void 0);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
Models.DatabaseConfig = DatabaseConfig;
|
|
575
595
|
class DecoratorAbstractOpt {
|
|
576
596
|
}
|
|
577
597
|
Models.DecoratorAbstractOpt = DecoratorAbstractOpt;
|
|
@@ -769,6 +789,9 @@ var Http;
|
|
|
769
789
|
;
|
|
770
790
|
({}); // @--end-of-file-for-module=taon lib/decorators/http/http-decorators.ts
|
|
771
791
|
|
|
792
|
+
/**
|
|
793
|
+
* Controller decorator
|
|
794
|
+
*/
|
|
772
795
|
function TaonController(options) {
|
|
773
796
|
return function (constructor) {
|
|
774
797
|
ClassHelpers.setName(constructor, options?.className);
|
|
@@ -947,7 +970,8 @@ class BaseInjector {
|
|
|
947
970
|
|
|
948
971
|
let BaseController = class BaseController extends BaseInjector {
|
|
949
972
|
/**
|
|
950
|
-
*
|
|
973
|
+
* THIS ONLY WORKS IF NO MIGRATIONS PROVIDED IN CONFIG
|
|
974
|
+
* Purpose: init example data for db.
|
|
951
975
|
*/
|
|
952
976
|
initExampleDbData() {
|
|
953
977
|
return void 0;
|
|
@@ -1223,7 +1247,7 @@ BaseCrudController = __decorate([
|
|
|
1223
1247
|
class BaseClass {
|
|
1224
1248
|
/**
|
|
1225
1249
|
* class initialization hook
|
|
1226
|
-
* taon after class
|
|
1250
|
+
* taon after class instance creation
|
|
1227
1251
|
*/
|
|
1228
1252
|
async _() { }
|
|
1229
1253
|
clone(override) {
|
|
@@ -1265,6 +1289,9 @@ BaseAbstractEntity = __decorate([
|
|
|
1265
1289
|
;
|
|
1266
1290
|
({}); // @--end-of-file-for-module=taon lib/base-classes/base-abstract-entity.ts
|
|
1267
1291
|
|
|
1292
|
+
/**
|
|
1293
|
+
* Repository decorator
|
|
1294
|
+
*/
|
|
1268
1295
|
function TaonRepository(options) {
|
|
1269
1296
|
return function (constructor) {
|
|
1270
1297
|
Reflect.defineMetadata(Symbols.metadata.options.repository, options, constructor);
|
|
@@ -1846,20 +1873,6 @@ const getResponseValue = (response, options) => {
|
|
|
1846
1873
|
/* */
|
|
1847
1874
|
/* */
|
|
1848
1875
|
/* */
|
|
1849
|
-
/* */
|
|
1850
|
-
/* */
|
|
1851
|
-
/* */
|
|
1852
|
-
/* */
|
|
1853
|
-
/* */
|
|
1854
|
-
/* */
|
|
1855
|
-
/* */
|
|
1856
|
-
/* */
|
|
1857
|
-
/* */
|
|
1858
|
-
/* */
|
|
1859
|
-
/* */
|
|
1860
|
-
/* */
|
|
1861
|
-
/* */
|
|
1862
|
-
/* */
|
|
1863
1876
|
return (void 0);
|
|
1864
1877
|
};
|
|
1865
1878
|
;
|
|
@@ -2912,11 +2925,423 @@ class RealtimeCore {
|
|
|
2912
2925
|
;
|
|
2913
2926
|
({}); // @--end-of-file-for-module=taon lib/realtime/realtime-core.ts
|
|
2914
2927
|
|
|
2928
|
+
class ContextDbMigrations {
|
|
2929
|
+
constructor(ctx) {
|
|
2930
|
+
this.ctx = ctx;
|
|
2931
|
+
this.DEFAULT_MIGRATION_TABLE_NAME = 'TAON_MIGRATION_META';
|
|
2932
|
+
this.MIGRATION_STATUS_COMPLETED = 'completed';
|
|
2933
|
+
this.MIGRATION_STATUS_PENDING = 'pending';
|
|
2934
|
+
this.table = new Table({
|
|
2935
|
+
name: this.DEFAULT_MIGRATION_TABLE_NAME,
|
|
2936
|
+
columns: [
|
|
2937
|
+
{
|
|
2938
|
+
name: 'id',
|
|
2939
|
+
type: 'integer',
|
|
2940
|
+
isPrimary: true, // Mark it as the primary key
|
|
2941
|
+
isGenerated: true, // Enable auto-generation
|
|
2942
|
+
generationStrategy: 'increment', // Use auto-increment strategy
|
|
2943
|
+
},
|
|
2944
|
+
{
|
|
2945
|
+
name: 'name',
|
|
2946
|
+
type: 'varchar',
|
|
2947
|
+
length: '255',
|
|
2948
|
+
isUnique: true, // Ensure the name is unique
|
|
2949
|
+
isNullable: false, // Ensure this field is required
|
|
2950
|
+
},
|
|
2951
|
+
{
|
|
2952
|
+
name: 'context',
|
|
2953
|
+
type: 'varchar',
|
|
2954
|
+
length: '255',
|
|
2955
|
+
isNullable: false, // Optional context for migrations (e.g., tenant or module name)
|
|
2956
|
+
},
|
|
2957
|
+
{
|
|
2958
|
+
name: 'applied_at',
|
|
2959
|
+
type: 'timestamp',
|
|
2960
|
+
default: 'CURRENT_TIMESTAMP', // Automatically set the timestamp
|
|
2961
|
+
isNullable: true,
|
|
2962
|
+
},
|
|
2963
|
+
{
|
|
2964
|
+
name: 'status',
|
|
2965
|
+
type: 'varchar',
|
|
2966
|
+
length: '50',
|
|
2967
|
+
default: `'${this.MIGRATION_STATUS_COMPLETED}'`,
|
|
2968
|
+
isNullable: false,
|
|
2969
|
+
},
|
|
2970
|
+
],
|
|
2971
|
+
});
|
|
2972
|
+
}
|
|
2973
|
+
async ensureMigrationTableExists() {
|
|
2974
|
+
/* */
|
|
2975
|
+
/* */
|
|
2976
|
+
/* */
|
|
2977
|
+
/* */
|
|
2978
|
+
/* */
|
|
2979
|
+
/* */
|
|
2980
|
+
/* */
|
|
2981
|
+
/* */
|
|
2982
|
+
/* */
|
|
2983
|
+
/* */
|
|
2984
|
+
/* */
|
|
2985
|
+
/* */
|
|
2986
|
+
/* */
|
|
2987
|
+
/* */
|
|
2988
|
+
/* */
|
|
2989
|
+
/* */
|
|
2990
|
+
/* */
|
|
2991
|
+
/* */
|
|
2992
|
+
/* */
|
|
2993
|
+
/* */
|
|
2994
|
+
/* */
|
|
2995
|
+
/* */
|
|
2996
|
+
/* */
|
|
2997
|
+
/* */
|
|
2998
|
+
/* */
|
|
2999
|
+
/* */
|
|
3000
|
+
/* */
|
|
3001
|
+
/* */
|
|
3002
|
+
/* */
|
|
3003
|
+
/* */
|
|
3004
|
+
/* */
|
|
3005
|
+
/* */
|
|
3006
|
+
/* */
|
|
3007
|
+
/* */
|
|
3008
|
+
/* */
|
|
3009
|
+
/* */
|
|
3010
|
+
/* */
|
|
3011
|
+
/* */
|
|
3012
|
+
/* */
|
|
3013
|
+
/* */
|
|
3014
|
+
/* */
|
|
3015
|
+
/* */
|
|
3016
|
+
/* */
|
|
3017
|
+
return (void 0);
|
|
3018
|
+
}
|
|
3019
|
+
async revertMigrationToTimestamp(timestamp) {
|
|
3020
|
+
/* */
|
|
3021
|
+
/* */
|
|
3022
|
+
/* */
|
|
3023
|
+
/* */
|
|
3024
|
+
/* */
|
|
3025
|
+
/* */
|
|
3026
|
+
/* */
|
|
3027
|
+
/* */
|
|
3028
|
+
/* */
|
|
3029
|
+
/* */
|
|
3030
|
+
/* */
|
|
3031
|
+
/* */
|
|
3032
|
+
/* */
|
|
3033
|
+
/* */
|
|
3034
|
+
/* */
|
|
3035
|
+
/* */
|
|
3036
|
+
/* */
|
|
3037
|
+
/* */
|
|
3038
|
+
/* */
|
|
3039
|
+
/* */
|
|
3040
|
+
/* */
|
|
3041
|
+
/* */
|
|
3042
|
+
/* */
|
|
3043
|
+
/* */
|
|
3044
|
+
/* */
|
|
3045
|
+
/* */
|
|
3046
|
+
/* */
|
|
3047
|
+
/* */
|
|
3048
|
+
/* */
|
|
3049
|
+
/* */
|
|
3050
|
+
/* */
|
|
3051
|
+
/* */
|
|
3052
|
+
/* */
|
|
3053
|
+
/* */
|
|
3054
|
+
/* */
|
|
3055
|
+
/* */
|
|
3056
|
+
/* */
|
|
3057
|
+
/* */
|
|
3058
|
+
/* */
|
|
3059
|
+
/* */
|
|
3060
|
+
/* */
|
|
3061
|
+
/* */
|
|
3062
|
+
/* */
|
|
3063
|
+
/* */
|
|
3064
|
+
/* */
|
|
3065
|
+
/* */
|
|
3066
|
+
/* */
|
|
3067
|
+
/* */
|
|
3068
|
+
/* */
|
|
3069
|
+
/* */
|
|
3070
|
+
/* */
|
|
3071
|
+
/* */
|
|
3072
|
+
/* */
|
|
3073
|
+
/* */
|
|
3074
|
+
/* */
|
|
3075
|
+
/* */
|
|
3076
|
+
/* */
|
|
3077
|
+
/* */
|
|
3078
|
+
/* */
|
|
3079
|
+
/* */
|
|
3080
|
+
/* */
|
|
3081
|
+
/* */
|
|
3082
|
+
/* */
|
|
3083
|
+
/* */
|
|
3084
|
+
/* */
|
|
3085
|
+
/* */
|
|
3086
|
+
/* */
|
|
3087
|
+
/* */
|
|
3088
|
+
/* */
|
|
3089
|
+
/* */
|
|
3090
|
+
/* */
|
|
3091
|
+
/* */
|
|
3092
|
+
/* */
|
|
3093
|
+
/* */
|
|
3094
|
+
/* */
|
|
3095
|
+
/* */
|
|
3096
|
+
/* */
|
|
3097
|
+
/* */
|
|
3098
|
+
/* */
|
|
3099
|
+
/* */
|
|
3100
|
+
/* */
|
|
3101
|
+
/* */
|
|
3102
|
+
/* */
|
|
3103
|
+
/* */
|
|
3104
|
+
/* */
|
|
3105
|
+
/* */
|
|
3106
|
+
/* */
|
|
3107
|
+
/* */
|
|
3108
|
+
/* */
|
|
3109
|
+
/* */
|
|
3110
|
+
/* */
|
|
3111
|
+
/* */
|
|
3112
|
+
/* */
|
|
3113
|
+
/* */
|
|
3114
|
+
return (void 0);
|
|
3115
|
+
}
|
|
3116
|
+
async clearMigrationTable() {
|
|
3117
|
+
/* */
|
|
3118
|
+
/* */
|
|
3119
|
+
/* */
|
|
3120
|
+
/* */
|
|
3121
|
+
/* */
|
|
3122
|
+
/* */
|
|
3123
|
+
/* */
|
|
3124
|
+
/* */
|
|
3125
|
+
/* */
|
|
3126
|
+
/* */
|
|
3127
|
+
/* */
|
|
3128
|
+
/* */
|
|
3129
|
+
/* */
|
|
3130
|
+
/* */
|
|
3131
|
+
/* */
|
|
3132
|
+
/* */
|
|
3133
|
+
/* */
|
|
3134
|
+
/* */
|
|
3135
|
+
return (void 0);
|
|
3136
|
+
}
|
|
3137
|
+
async markAllMigrationsAsApplied() {
|
|
3138
|
+
/* */
|
|
3139
|
+
/* */
|
|
3140
|
+
/* */
|
|
3141
|
+
/* */
|
|
3142
|
+
/* */
|
|
3143
|
+
/* */
|
|
3144
|
+
/* */
|
|
3145
|
+
/* */
|
|
3146
|
+
/* */
|
|
3147
|
+
/* */
|
|
3148
|
+
/* */
|
|
3149
|
+
/* */
|
|
3150
|
+
/* */
|
|
3151
|
+
/* */
|
|
3152
|
+
/* */
|
|
3153
|
+
/* */
|
|
3154
|
+
/* */
|
|
3155
|
+
/* */
|
|
3156
|
+
/* */
|
|
3157
|
+
/* */
|
|
3158
|
+
/* */
|
|
3159
|
+
/* */
|
|
3160
|
+
/* */
|
|
3161
|
+
/* */
|
|
3162
|
+
/* */
|
|
3163
|
+
/* */
|
|
3164
|
+
/* */
|
|
3165
|
+
/* */
|
|
3166
|
+
/* */
|
|
3167
|
+
/* */
|
|
3168
|
+
/* */
|
|
3169
|
+
/* */
|
|
3170
|
+
/* */
|
|
3171
|
+
/* */
|
|
3172
|
+
/* */
|
|
3173
|
+
/* */
|
|
3174
|
+
/* */
|
|
3175
|
+
/* */
|
|
3176
|
+
/* */
|
|
3177
|
+
/* */
|
|
3178
|
+
/* */
|
|
3179
|
+
/* */
|
|
3180
|
+
/* */
|
|
3181
|
+
/* */
|
|
3182
|
+
/* */
|
|
3183
|
+
/* */
|
|
3184
|
+
/* */
|
|
3185
|
+
/* */
|
|
3186
|
+
/* */
|
|
3187
|
+
/* */
|
|
3188
|
+
/* */
|
|
3189
|
+
/* */
|
|
3190
|
+
/* */
|
|
3191
|
+
/* */
|
|
3192
|
+
/* */
|
|
3193
|
+
/* */
|
|
3194
|
+
/* */
|
|
3195
|
+
/* */
|
|
3196
|
+
/* */
|
|
3197
|
+
/* */
|
|
3198
|
+
/* */
|
|
3199
|
+
/* */
|
|
3200
|
+
/* */
|
|
3201
|
+
/* */
|
|
3202
|
+
/* */
|
|
3203
|
+
/* */
|
|
3204
|
+
/* */
|
|
3205
|
+
/* */
|
|
3206
|
+
/* */
|
|
3207
|
+
/* */
|
|
3208
|
+
/* */
|
|
3209
|
+
return (void 0);
|
|
3210
|
+
}
|
|
3211
|
+
async runAllNotCompletedMigrations() {
|
|
3212
|
+
/* */
|
|
3213
|
+
/* */
|
|
3214
|
+
/* */
|
|
3215
|
+
/* */
|
|
3216
|
+
/* */
|
|
3217
|
+
/* */
|
|
3218
|
+
/* */
|
|
3219
|
+
/* */
|
|
3220
|
+
/* */
|
|
3221
|
+
/* */
|
|
3222
|
+
/* */
|
|
3223
|
+
/* */
|
|
3224
|
+
/* */
|
|
3225
|
+
/* */
|
|
3226
|
+
/* */
|
|
3227
|
+
/* */
|
|
3228
|
+
/* */
|
|
3229
|
+
/* */
|
|
3230
|
+
/* */
|
|
3231
|
+
/* */
|
|
3232
|
+
/* */
|
|
3233
|
+
/* */
|
|
3234
|
+
/* */
|
|
3235
|
+
/* */
|
|
3236
|
+
/* */
|
|
3237
|
+
/* */
|
|
3238
|
+
/* */
|
|
3239
|
+
/* */
|
|
3240
|
+
/* */
|
|
3241
|
+
/* */
|
|
3242
|
+
/* */
|
|
3243
|
+
/* */
|
|
3244
|
+
/* */
|
|
3245
|
+
/* */
|
|
3246
|
+
/* */
|
|
3247
|
+
/* */
|
|
3248
|
+
/* */
|
|
3249
|
+
/* */
|
|
3250
|
+
/* */
|
|
3251
|
+
/* */
|
|
3252
|
+
/* */
|
|
3253
|
+
/* */
|
|
3254
|
+
/* */
|
|
3255
|
+
/* */
|
|
3256
|
+
/* */
|
|
3257
|
+
/* */
|
|
3258
|
+
/* */
|
|
3259
|
+
/* */
|
|
3260
|
+
/* */
|
|
3261
|
+
/* */
|
|
3262
|
+
/* */
|
|
3263
|
+
/* */
|
|
3264
|
+
/* */
|
|
3265
|
+
/* */
|
|
3266
|
+
/* */
|
|
3267
|
+
/* */
|
|
3268
|
+
/* */
|
|
3269
|
+
/* */
|
|
3270
|
+
/* */
|
|
3271
|
+
/* */
|
|
3272
|
+
/* */
|
|
3273
|
+
/* */
|
|
3274
|
+
/* */
|
|
3275
|
+
/* */
|
|
3276
|
+
/* */
|
|
3277
|
+
/* */
|
|
3278
|
+
/* */
|
|
3279
|
+
/* */
|
|
3280
|
+
/* */
|
|
3281
|
+
/* */
|
|
3282
|
+
/* */
|
|
3283
|
+
/* */
|
|
3284
|
+
/* */
|
|
3285
|
+
/* */
|
|
3286
|
+
/* */
|
|
3287
|
+
/* */
|
|
3288
|
+
/* */
|
|
3289
|
+
/* */
|
|
3290
|
+
/* */
|
|
3291
|
+
/* */
|
|
3292
|
+
/* */
|
|
3293
|
+
/* */
|
|
3294
|
+
/* */
|
|
3295
|
+
/* */
|
|
3296
|
+
/* */
|
|
3297
|
+
/* */
|
|
3298
|
+
/* */
|
|
3299
|
+
/* */
|
|
3300
|
+
/* */
|
|
3301
|
+
/* */
|
|
3302
|
+
/* */
|
|
3303
|
+
/* */
|
|
3304
|
+
/* */
|
|
3305
|
+
/* */
|
|
3306
|
+
/* */
|
|
3307
|
+
/* */
|
|
3308
|
+
/* */
|
|
3309
|
+
/* */
|
|
3310
|
+
/* */
|
|
3311
|
+
/* */
|
|
3312
|
+
/* */
|
|
3313
|
+
/* */
|
|
3314
|
+
/* */
|
|
3315
|
+
/* */
|
|
3316
|
+
/* */
|
|
3317
|
+
/* */
|
|
3318
|
+
/* */
|
|
3319
|
+
/* */
|
|
3320
|
+
/* */
|
|
3321
|
+
/* */
|
|
3322
|
+
/* */
|
|
3323
|
+
/* */
|
|
3324
|
+
/* */
|
|
3325
|
+
/* */
|
|
3326
|
+
/* */
|
|
3327
|
+
/* */
|
|
3328
|
+
/* */
|
|
3329
|
+
/* */
|
|
3330
|
+
/* */
|
|
3331
|
+
return (void 0);
|
|
3332
|
+
}
|
|
3333
|
+
}
|
|
3334
|
+
;
|
|
3335
|
+
({}); // @--end-of-file-for-module=taon lib/context-db-migrations.ts
|
|
3336
|
+
|
|
2915
3337
|
/* eslint-disable @typescript-eslint/typedef */
|
|
2916
3338
|
class EndpointContext {
|
|
2917
3339
|
static initNgZone(ngZone) {
|
|
2918
3340
|
this.ngZone = ngZone;
|
|
2919
3341
|
}
|
|
3342
|
+
get isRunOrRevertOnlyMigrationAppStart() {
|
|
3343
|
+
return !!(this.onlyMigrationRun || this.onlyMigrationRevertToTimestamp);
|
|
3344
|
+
}
|
|
2920
3345
|
get realtimeClient() {
|
|
2921
3346
|
return this.realtime.client;
|
|
2922
3347
|
}
|
|
@@ -2947,6 +3372,12 @@ class EndpointContext {
|
|
|
2947
3372
|
}
|
|
2948
3373
|
return this.config?.logs === true;
|
|
2949
3374
|
}
|
|
3375
|
+
get logMigrations() {
|
|
3376
|
+
if (_$1.isObject(this.config?.logs)) {
|
|
3377
|
+
return !!this.config.logs.migrations;
|
|
3378
|
+
}
|
|
3379
|
+
return this.config?.logs === true;
|
|
3380
|
+
}
|
|
2950
3381
|
constructor(originalConfig, configFn) {
|
|
2951
3382
|
this.originalConfig = originalConfig;
|
|
2952
3383
|
this.configFn = configFn;
|
|
@@ -2956,6 +3387,7 @@ class EndpointContext {
|
|
|
2956
3387
|
* (with init() function )
|
|
2957
3388
|
*/
|
|
2958
3389
|
this.inited = false;
|
|
3390
|
+
this.dbMigrations = new ContextDbMigrations(this);
|
|
2959
3391
|
this.localInstaceObjSymbol = Symbol('localInstaceObjSymbol');
|
|
2960
3392
|
/**
|
|
2961
3393
|
* all instances of classes from context
|
|
@@ -2970,12 +3402,15 @@ class EndpointContext {
|
|
|
2970
3402
|
Models.ClassType.PROVIDER,
|
|
2971
3403
|
Models.ClassType.REPOSITORY,
|
|
2972
3404
|
Models.ClassType.SUBSCRIBER,
|
|
3405
|
+
Models.ClassType.MIGRATION,
|
|
2973
3406
|
];
|
|
2974
3407
|
this.allTypesfromContexts = [
|
|
2975
3408
|
...this.injectableTypesfromContexts,
|
|
2976
3409
|
Models.ClassType.ENTITY,
|
|
2977
3410
|
];
|
|
2978
3411
|
this.expressApp = {};
|
|
3412
|
+
this.onlyMigrationRun = false;
|
|
3413
|
+
this.onlyMigrationRevertToTimestamp = undefined;
|
|
2979
3414
|
this.entitiesTriggers = {};
|
|
2980
3415
|
this.cloneClassWithNewMetadata = ({ BaseClass, className, config, ctx, classType, }) => {
|
|
2981
3416
|
const cloneClass = () => {
|
|
@@ -3043,19 +3478,38 @@ class EndpointContext {
|
|
|
3043
3478
|
};
|
|
3044
3479
|
}
|
|
3045
3480
|
async init(options) {
|
|
3046
|
-
const { initFromRecrusiveContextResovle, overrideHost, overrideRemoteHost } = options || {}; // TODO use it ?
|
|
3481
|
+
const { initFromRecrusiveContextResovle, overrideHost, overrideRemoteHost, onlyMigrationRun, onlyMigrationRevertToTimestamp, } = options || {}; // TODO use it ?
|
|
3047
3482
|
this.inited = true;
|
|
3483
|
+
// @ts-ignore
|
|
3484
|
+
this.onlyMigrationRun = onlyMigrationRun;
|
|
3485
|
+
// @ts-ignore
|
|
3486
|
+
this.onlyMigrationRevertToTimestamp = onlyMigrationRevertToTimestamp;
|
|
3048
3487
|
this.config = this.configFn(ENV$2);
|
|
3488
|
+
if (_$1.isObject(this.config.database)) {
|
|
3489
|
+
this.config.database = Models.DatabaseConfig.from(this.config.database).databaseConfigTypeORM;
|
|
3490
|
+
}
|
|
3049
3491
|
if (overrideHost && overrideRemoteHost) {
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3492
|
+
Helpers.throw(`[taon-config] You can't have overrideHost and overrideRemoteHost at the same time`);
|
|
3493
|
+
}
|
|
3494
|
+
this.config.host = !_$1.isUndefined(overrideHost)
|
|
3495
|
+
? overrideHost
|
|
3496
|
+
: this.config.host;
|
|
3497
|
+
this.config.remoteHost = !_$1.isUndefined(overrideRemoteHost)
|
|
3498
|
+
? overrideRemoteHost
|
|
3499
|
+
: this.config.remoteHost;
|
|
3500
|
+
this.config.host = this.host === null ? void 0 : this.host;
|
|
3501
|
+
this.config.remoteHost =
|
|
3502
|
+
this.remoteHost === null ? void 0 : this.remoteHost;
|
|
3503
|
+
if (this.config.host &&
|
|
3504
|
+
!this.config.host.startsWith('http://') &&
|
|
3505
|
+
!this.config.host.startsWith('https://')) {
|
|
3506
|
+
Helpers.throw(`[taon-config] Your 'host' must start with http:// or https://`);
|
|
3507
|
+
}
|
|
3508
|
+
if (this.config.remoteHost &&
|
|
3509
|
+
!this.config.remoteHost.startsWith('http://') &&
|
|
3510
|
+
!this.config.remoteHost.startsWith('https://')) {
|
|
3511
|
+
Helpers.throw(`[taon-config] Your 'remoteHost' must start with http:// or https://`);
|
|
3056
3512
|
}
|
|
3057
|
-
this.config.host = overrideHost ? overrideHost : this.config.host;
|
|
3058
|
-
this.config.remoteHost = overrideRemoteHost ? overrideRemoteHost : this.config.remoteHost;
|
|
3059
3513
|
if (this.config.host) {
|
|
3060
3514
|
this.mode = 'backend-frontend(tcp+udp)';
|
|
3061
3515
|
/* */
|
|
@@ -3063,7 +3517,7 @@ class EndpointContext {
|
|
|
3063
3517
|
}
|
|
3064
3518
|
if (this.config.remoteHost) {
|
|
3065
3519
|
if (this.config.host) {
|
|
3066
|
-
Helpers.
|
|
3520
|
+
Helpers.throw(`[taon] You can't have remoteHost and host at the same time`);
|
|
3067
3521
|
}
|
|
3068
3522
|
this.mode = 'remote-backend(tcp+udp)';
|
|
3069
3523
|
}
|
|
@@ -3084,7 +3538,7 @@ class EndpointContext {
|
|
|
3084
3538
|
this.databaseConfig = this.getAutoGeneratedConfig();
|
|
3085
3539
|
}
|
|
3086
3540
|
else if (_$1.isObject(this.config.database)) {
|
|
3087
|
-
this.databaseConfig = _$1.cloneDeep(this.config.database);
|
|
3541
|
+
this.databaseConfig = _$1.merge(this.getAutoGeneratedConfig(), _$1.cloneDeep(this.config.database));
|
|
3088
3542
|
}
|
|
3089
3543
|
if (this.config.session) {
|
|
3090
3544
|
this.session = _$1.cloneDeep(this.config.session);
|
|
@@ -3100,6 +3554,7 @@ class EndpointContext {
|
|
|
3100
3554
|
this.config.repositories = this.config.repositories || {};
|
|
3101
3555
|
this.config.providers = this.config.providers || {};
|
|
3102
3556
|
this.config.subscribers = this.config.subscribers || {};
|
|
3557
|
+
this.config.migrations = this.config.migrations || {};
|
|
3103
3558
|
this.config.entities = {
|
|
3104
3559
|
...(await this.getRecrusiveClassesfromContextsObj(Models.ClassType.ENTITY)),
|
|
3105
3560
|
...this.config.entities,
|
|
@@ -3120,6 +3575,10 @@ class EndpointContext {
|
|
|
3120
3575
|
...(await this.getRecrusiveClassesfromContextsObj(Models.ClassType.REPOSITORY)),
|
|
3121
3576
|
...this.config.repositories,
|
|
3122
3577
|
};
|
|
3578
|
+
this.config.migrations = {
|
|
3579
|
+
...(await this.getRecrusiveClassesfromContextsObj(Models.ClassType.MIGRATION)),
|
|
3580
|
+
...this.config.migrations,
|
|
3581
|
+
};
|
|
3123
3582
|
this.config.controllers = this.cloneClassesObjWithNewMetadata({
|
|
3124
3583
|
classesInput: this.config.controllers,
|
|
3125
3584
|
config: this.config,
|
|
@@ -3142,7 +3601,13 @@ class EndpointContext {
|
|
|
3142
3601
|
classesInput: this.config.subscribers,
|
|
3143
3602
|
config: this.config,
|
|
3144
3603
|
ctx: this,
|
|
3145
|
-
classType: Models.ClassType.SUBSCRIBER,
|
|
3604
|
+
classType: Models.ClassType.SUBSCRIBER,
|
|
3605
|
+
});
|
|
3606
|
+
this.config.migrations = this.cloneClassesObjWithNewMetadata({
|
|
3607
|
+
classesInput: this.config.migrations,
|
|
3608
|
+
config: this.config,
|
|
3609
|
+
ctx: this,
|
|
3610
|
+
classType: Models.ClassType.MIGRATION,
|
|
3146
3611
|
});
|
|
3147
3612
|
for (const classTypeName of this.injectableTypesfromContexts) {
|
|
3148
3613
|
this.classInstancesByNameObj[classTypeName] = {};
|
|
@@ -3151,35 +3616,37 @@ class EndpointContext {
|
|
|
3151
3616
|
for (const classTypeName of this.injectableTypesfromContexts) {
|
|
3152
3617
|
await this.createInstances(this.config[Models.ClassTypeKey[classTypeName]], classTypeName);
|
|
3153
3618
|
}
|
|
3154
|
-
if (
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3619
|
+
if (!this.isRunOrRevertOnlyMigrationAppStart) {
|
|
3620
|
+
if (this.mode === 'backend-frontend(tcp+udp)' && !this.config.abstract) {
|
|
3621
|
+
/* */
|
|
3622
|
+
/* */
|
|
3623
|
+
/* */
|
|
3624
|
+
/* */
|
|
3625
|
+
/* */
|
|
3626
|
+
/* */
|
|
3627
|
+
/* */
|
|
3628
|
+
/* */
|
|
3629
|
+
/* */
|
|
3630
|
+
/* */
|
|
3631
|
+
/* */
|
|
3632
|
+
/* */
|
|
3633
|
+
/* */
|
|
3634
|
+
/* */
|
|
3635
|
+
/* */
|
|
3636
|
+
/* */
|
|
3637
|
+
/* */
|
|
3638
|
+
/* */
|
|
3639
|
+
/* */
|
|
3640
|
+
}
|
|
3641
|
+
if (!this.config.abstract) {
|
|
3642
|
+
this.disabledRealtime = !!this.config.disabledRealtime;
|
|
3643
|
+
/* */
|
|
3644
|
+
/* */
|
|
3645
|
+
/* */
|
|
3646
|
+
/* */
|
|
3647
|
+
/* */
|
|
3648
|
+
this.realtime = new RealtimeCore(this);
|
|
3649
|
+
}
|
|
3183
3650
|
}
|
|
3184
3651
|
if (this.config.abstract) {
|
|
3185
3652
|
this.logFramework &&
|
|
@@ -3267,21 +3734,6 @@ class EndpointContext {
|
|
|
3267
3734
|
/* */
|
|
3268
3735
|
/* */
|
|
3269
3736
|
/* */
|
|
3270
|
-
/* */
|
|
3271
|
-
/* */
|
|
3272
|
-
/* */
|
|
3273
|
-
/* */
|
|
3274
|
-
/* */
|
|
3275
|
-
/* */
|
|
3276
|
-
/* */
|
|
3277
|
-
/* */
|
|
3278
|
-
/* */
|
|
3279
|
-
/* */
|
|
3280
|
-
/* */
|
|
3281
|
-
/* */
|
|
3282
|
-
/* */
|
|
3283
|
-
/* */
|
|
3284
|
-
/* */
|
|
3285
3737
|
return (void 0);
|
|
3286
3738
|
}
|
|
3287
3739
|
get ngZone() {
|
|
@@ -3442,6 +3894,8 @@ class EndpointContext {
|
|
|
3442
3894
|
return this.config.repositories;
|
|
3443
3895
|
case Models.ClassType.SUBSCRIBER:
|
|
3444
3896
|
return this.config.subscribers;
|
|
3897
|
+
case Models.ClassType.MIGRATION:
|
|
3898
|
+
return this.config.migrations;
|
|
3445
3899
|
}
|
|
3446
3900
|
}
|
|
3447
3901
|
isCLassType(classType, classFn) {
|
|
@@ -3480,7 +3934,7 @@ class EndpointContext {
|
|
|
3480
3934
|
}
|
|
3481
3935
|
}
|
|
3482
3936
|
async reinitControllers() {
|
|
3483
|
-
if (this.remoteHost) {
|
|
3937
|
+
if (this.remoteHost || Object.keys(this.config.migrations).length > 0) {
|
|
3484
3938
|
return;
|
|
3485
3939
|
}
|
|
3486
3940
|
const controllers = this.getClassesInstancesArrBy(Models.ClassType.CONTROLLER);
|
|
@@ -3502,6 +3956,7 @@ class EndpointContext {
|
|
|
3502
3956
|
Models.ClassType.REPOSITORY,
|
|
3503
3957
|
Models.ClassType.CONTROLLER,
|
|
3504
3958
|
Models.ClassType.ENTITY,
|
|
3959
|
+
Models.ClassType.MIGRATION,
|
|
3505
3960
|
]) {
|
|
3506
3961
|
for (const classFun of this.getClassFunByArr(classTypeName)) {
|
|
3507
3962
|
if (_$1.isFunction(classFun._)) {
|
|
@@ -3516,6 +3971,7 @@ class EndpointContext {
|
|
|
3516
3971
|
Models.ClassType.PROVIDER,
|
|
3517
3972
|
Models.ClassType.REPOSITORY,
|
|
3518
3973
|
Models.ClassType.CONTROLLER,
|
|
3974
|
+
Models.ClassType.MIGRATION,
|
|
3519
3975
|
]) {
|
|
3520
3976
|
for (const ctrl of this.getClassesInstancesArrBy(classTypeName)) {
|
|
3521
3977
|
if (_$1.isFunction(ctrl._)) {
|
|
@@ -3701,9 +4157,20 @@ class EndpointContext {
|
|
|
3701
4157
|
/* */
|
|
3702
4158
|
/* */
|
|
3703
4159
|
/* */
|
|
4160
|
+
/* */
|
|
4161
|
+
/* */
|
|
4162
|
+
/* */
|
|
4163
|
+
/* */
|
|
4164
|
+
/* */
|
|
4165
|
+
/* */
|
|
4166
|
+
/* */
|
|
4167
|
+
/* */
|
|
3704
4168
|
return (void 0);
|
|
3705
4169
|
}
|
|
3706
|
-
|
|
4170
|
+
initControllers() {
|
|
4171
|
+
if (this.isRunOrRevertOnlyMigrationAppStart) {
|
|
4172
|
+
return;
|
|
4173
|
+
}
|
|
3707
4174
|
const allControllers = this.getClassFunByArr(Models.ClassType.CONTROLLER);
|
|
3708
4175
|
for (const controllerClassFn of allControllers) {
|
|
3709
4176
|
controllerClassFn[Symbols.classMethodsNames] =
|
|
@@ -3783,7 +4250,7 @@ class EndpointContext {
|
|
|
3783
4250
|
}
|
|
3784
4251
|
}
|
|
3785
4252
|
writeActiveRoutes() {
|
|
3786
|
-
if (this.remoteHost) {
|
|
4253
|
+
if (this.remoteHost || this.isRunOrRevertOnlyMigrationAppStart) {
|
|
3787
4254
|
return;
|
|
3788
4255
|
}
|
|
3789
4256
|
const contexts = [this];
|
|
@@ -4541,25 +5008,19 @@ instead
|
|
|
4541
5008
|
;
|
|
4542
5009
|
({}); // @--end-of-file-for-module=taon lib/endpoint-context.ts
|
|
4543
5010
|
|
|
4544
|
-
const globalPublicStorage = Helpers.isBrowser ? window : global;
|
|
4545
|
-
;
|
|
4546
|
-
({}); // @--end-of-file-for-module=taon lib/storage.ts
|
|
4547
|
-
|
|
4548
5011
|
const ENV$1 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
|
|
4549
|
-
class
|
|
5012
|
+
class TaonAdminService {
|
|
5013
|
+
static get Instance() {
|
|
5014
|
+
return this._instance;
|
|
5015
|
+
}
|
|
4550
5016
|
constructor() {
|
|
4551
5017
|
this.scrollableEnabled = false; // TOOD false by default
|
|
4552
5018
|
this.onEditMode = new Subject();
|
|
4553
5019
|
this.onEditMode$ = this.onEditMode.asObservable();
|
|
4554
5020
|
this.enabledTabs = [];
|
|
5021
|
+
TaonAdminService._instance = this;
|
|
4555
5022
|
this.scrollableEnabled = !!ENV$1?.useGlobalNgxScrollbar;
|
|
4556
5023
|
}
|
|
4557
|
-
static get Instance() {
|
|
4558
|
-
if (!globalPublicStorage[config.frameworkNames.productionFrameworkName]) {
|
|
4559
|
-
globalPublicStorage[config.frameworkNames.productionFrameworkName] = new TaonAdmin();
|
|
4560
|
-
}
|
|
4561
|
-
return globalPublicStorage[config.frameworkNames.productionFrameworkName];
|
|
4562
|
-
}
|
|
4563
5024
|
setEditMode(value) {
|
|
4564
5025
|
this.onEditMode.next(value);
|
|
4565
5026
|
}
|
|
@@ -4575,26 +5036,26 @@ class TaonAdmin {
|
|
|
4575
5036
|
this.adminPanelIsOpen = true;
|
|
4576
5037
|
}
|
|
4577
5038
|
logout() { }
|
|
4578
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type:
|
|
4579
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type:
|
|
5039
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5040
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, providedIn: 'root' }); }
|
|
4580
5041
|
}
|
|
4581
5042
|
__decorate([
|
|
4582
|
-
Stor.property.in.localstorage.for(
|
|
5043
|
+
(Stor.property.in.localstorage.for(TaonAdminService).withDefaultValue(false)),
|
|
4583
5044
|
__metadata("design:type", Boolean)
|
|
4584
|
-
],
|
|
5045
|
+
], TaonAdminService.prototype, "adminPanelIsOpen", void 0);
|
|
4585
5046
|
__decorate([
|
|
4586
|
-
Stor.property.in.localstorage.for(
|
|
5047
|
+
(Stor.property.in.localstorage.for(TaonAdminService).withDefaultValue(false)),
|
|
4587
5048
|
__metadata("design:type", Boolean)
|
|
4588
|
-
],
|
|
5049
|
+
], TaonAdminService.prototype, "draggablePopupMode", void 0);
|
|
4589
5050
|
__decorate([
|
|
4590
|
-
Stor.property.in.localstorage.for(
|
|
5051
|
+
(Stor.property.in.localstorage.for(TaonAdminService).withDefaultValue(false)),
|
|
4591
5052
|
__metadata("design:type", Boolean)
|
|
4592
|
-
],
|
|
5053
|
+
], TaonAdminService.prototype, "draggablePopupModeFullScreen", void 0);
|
|
4593
5054
|
__decorate([
|
|
4594
|
-
Stor.property.in.localstorage.for(
|
|
5055
|
+
(Stor.property.in.localstorage.for(TaonAdminService).withDefaultValue(false)),
|
|
4595
5056
|
__metadata("design:type", Boolean)
|
|
4596
|
-
],
|
|
4597
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type:
|
|
5057
|
+
], TaonAdminService.prototype, "keepWebsqlDbDataAfterReload", void 0);
|
|
5058
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, decorators: [{
|
|
4598
5059
|
type: Injectable,
|
|
4599
5060
|
args: [{ providedIn: 'root' }]
|
|
4600
5061
|
}], ctorParameters: () => [] });
|
|
@@ -4618,6 +5079,9 @@ const createContext = (configFn) => {
|
|
|
4618
5079
|
get subscribers() {
|
|
4619
5080
|
return config.subscribers;
|
|
4620
5081
|
},
|
|
5082
|
+
get migrations() {
|
|
5083
|
+
return config.migrations;
|
|
5084
|
+
},
|
|
4621
5085
|
},
|
|
4622
5086
|
get contexts() {
|
|
4623
5087
|
return config.contexts;
|
|
@@ -4638,9 +5102,9 @@ const createContext = (configFn) => {
|
|
|
4638
5102
|
return endpointContextRef;
|
|
4639
5103
|
},
|
|
4640
5104
|
/**
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
5105
|
+
* only for internal use
|
|
5106
|
+
* @deprecated
|
|
5107
|
+
*/
|
|
4644
5108
|
get __refSync() {
|
|
4645
5109
|
return endpointContextRef;
|
|
4646
5110
|
},
|
|
@@ -4667,20 +5131,31 @@ const createContext = (configFn) => {
|
|
|
4667
5131
|
await endpointContextRef.initEntities();
|
|
4668
5132
|
await endpointContextRef.initSubscribers();
|
|
4669
5133
|
await endpointContextRef.initDatabaseConnection();
|
|
4670
|
-
endpointContextRef.
|
|
5134
|
+
await endpointContextRef.dbMigrations.ensureMigrationTableExists();
|
|
5135
|
+
endpointContextRef.initControllers();
|
|
4671
5136
|
endpointContextRef.startServer();
|
|
4672
5137
|
/* */
|
|
4673
5138
|
/* */
|
|
4674
5139
|
await endpointContextRef.initClasses();
|
|
4675
5140
|
let keepWebsqlDbDataAfterReload = false;
|
|
4676
5141
|
keepWebsqlDbDataAfterReload =
|
|
4677
|
-
|
|
5142
|
+
TaonAdminService.Instance?.keepWebsqlDbDataAfterReload;
|
|
4678
5143
|
if (!Helpers.isNode && keepWebsqlDbDataAfterReload) {
|
|
4679
5144
|
Helpers.info(`[taon] Keep websql data after reload`);
|
|
4680
5145
|
}
|
|
4681
5146
|
else {
|
|
4682
5147
|
await endpointContextRef.reinitControllers();
|
|
4683
5148
|
}
|
|
5149
|
+
///#region TODO this may be usefull but for now
|
|
5150
|
+
if (endpointContextRef.onlyMigrationRun) {
|
|
5151
|
+
await endpointContextRef.dbMigrations.runAllNotCompletedMigrations();
|
|
5152
|
+
}
|
|
5153
|
+
else if (endpointContextRef.onlyMigrationRevertToTimestamp) {
|
|
5154
|
+
await endpointContextRef.dbMigrations.revertMigrationToTimestamp(endpointContextRef.onlyMigrationRevertToTimestamp);
|
|
5155
|
+
}
|
|
5156
|
+
else {
|
|
5157
|
+
await endpointContextRef.dbMigrations.runAllNotCompletedMigrations();
|
|
5158
|
+
}
|
|
4684
5159
|
resolve(endpointContextRef);
|
|
4685
5160
|
});
|
|
4686
5161
|
});
|
|
@@ -4696,7 +5171,7 @@ const createContext = (configFn) => {
|
|
|
4696
5171
|
},
|
|
4697
5172
|
get server() {
|
|
4698
5173
|
return endpointContextRef.realtimeServer;
|
|
4699
|
-
}
|
|
5174
|
+
},
|
|
4700
5175
|
};
|
|
4701
5176
|
},
|
|
4702
5177
|
};
|
|
@@ -4721,9 +5196,12 @@ var baseContext = /*#__PURE__*/Object.freeze({
|
|
|
4721
5196
|
BaseContext: BaseContext
|
|
4722
5197
|
});
|
|
4723
5198
|
|
|
5199
|
+
/**
|
|
5200
|
+
* Subscriber decorator
|
|
5201
|
+
*/
|
|
4724
5202
|
function TaonSubscriber(options) {
|
|
4725
5203
|
return function (constructor) {
|
|
4726
|
-
Reflect.defineMetadata(Symbols.metadata.options.
|
|
5204
|
+
Reflect.defineMetadata(Symbols.metadata.options.subscriber, options, constructor);
|
|
4727
5205
|
Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
|
|
4728
5206
|
ClassHelpers.setName(constructor, options?.className);
|
|
4729
5207
|
};
|
|
@@ -4738,133 +5216,133 @@ let BaseSubscriberForEntity = class BaseSubscriberForEntity extends BaseInjector
|
|
|
4738
5216
|
* Called after entity is loaded.
|
|
4739
5217
|
*/
|
|
4740
5218
|
afterLoad(entity) {
|
|
4741
|
-
this.
|
|
5219
|
+
this.ctx.logDb &&
|
|
4742
5220
|
console.log(`AFTER ENTITY LOADED: `, entity);
|
|
4743
5221
|
}
|
|
4744
5222
|
/**
|
|
4745
5223
|
* Called before query execution.
|
|
4746
5224
|
*/
|
|
4747
5225
|
beforeQuery(event) {
|
|
4748
|
-
this.
|
|
5226
|
+
this.ctx.logDb &&
|
|
4749
5227
|
console.log(`BEFORE QUERY: `, event.query);
|
|
4750
5228
|
}
|
|
4751
5229
|
/**
|
|
4752
5230
|
* Called after query execution.
|
|
4753
5231
|
*/
|
|
4754
5232
|
afterQuery(event) {
|
|
4755
|
-
this.
|
|
5233
|
+
this.ctx.logDb &&
|
|
4756
5234
|
console.log(`AFTER QUERY: `, event.query);
|
|
4757
5235
|
}
|
|
4758
5236
|
/**
|
|
4759
5237
|
* Called before entity insertion.
|
|
4760
5238
|
*/
|
|
4761
5239
|
beforeInsert(event) {
|
|
4762
|
-
this.
|
|
5240
|
+
this.ctx.logDb &&
|
|
4763
5241
|
console.log(`BEFORE ENTITY INSERTED: `, event.entity);
|
|
4764
5242
|
}
|
|
4765
5243
|
/**
|
|
4766
5244
|
* Called after entity insertion.
|
|
4767
5245
|
*/
|
|
4768
5246
|
afterInsert(event) {
|
|
4769
|
-
this.
|
|
5247
|
+
this.ctx.logDb &&
|
|
4770
5248
|
console.log(`AFTER ENTITY INSERTED: `, event.entity);
|
|
4771
5249
|
}
|
|
4772
5250
|
/**
|
|
4773
5251
|
* Called before entity update.
|
|
4774
5252
|
*/
|
|
4775
5253
|
beforeUpdate(event) {
|
|
4776
|
-
this.
|
|
5254
|
+
this.ctx.logDb &&
|
|
4777
5255
|
console.log(`BEFORE ENTITY UPDATED: `, event.entity);
|
|
4778
5256
|
}
|
|
4779
5257
|
/**
|
|
4780
5258
|
* Called after entity update.
|
|
4781
5259
|
*/
|
|
4782
5260
|
afterUpdate(event) {
|
|
4783
|
-
this.
|
|
5261
|
+
this.ctx.logDb &&
|
|
4784
5262
|
console.log(`AFTER ENTITY UPDATED: `, event.entity);
|
|
4785
5263
|
}
|
|
4786
5264
|
/**
|
|
4787
5265
|
* Called before entity removal.
|
|
4788
5266
|
*/
|
|
4789
5267
|
beforeRemove(event) {
|
|
4790
|
-
this.
|
|
5268
|
+
this.ctx.logDb &&
|
|
4791
5269
|
console.log(`BEFORE ENTITY WITH ID ${event.entityId} REMOVED: `, event.entity);
|
|
4792
5270
|
}
|
|
4793
5271
|
/**
|
|
4794
5272
|
* Called after entity removal.
|
|
4795
5273
|
*/
|
|
4796
5274
|
afterRemove(event) {
|
|
4797
|
-
this.
|
|
5275
|
+
this.ctx.logDb &&
|
|
4798
5276
|
console.log(`AFTER ENTITY WITH ID ${event.entityId} REMOVED: `, event.entity);
|
|
4799
5277
|
}
|
|
4800
5278
|
/**
|
|
4801
5279
|
* Called before entity removal.
|
|
4802
5280
|
*/
|
|
4803
5281
|
beforeSoftRemove(event) {
|
|
4804
|
-
this.
|
|
5282
|
+
this.ctx.logDb &&
|
|
4805
5283
|
console.log(`BEFORE ENTITY WITH ID ${event.entityId} SOFT REMOVED: `, event.entity);
|
|
4806
5284
|
}
|
|
4807
5285
|
/**
|
|
4808
5286
|
* Called after entity removal.
|
|
4809
5287
|
*/
|
|
4810
5288
|
afterSoftRemove(event) {
|
|
4811
|
-
this.
|
|
5289
|
+
this.ctx.logDb &&
|
|
4812
5290
|
console.log(`AFTER ENTITY WITH ID ${event.entityId} SOFT REMOVED: `, event.entity);
|
|
4813
5291
|
}
|
|
4814
5292
|
/**
|
|
4815
5293
|
* Called before entity recovery.
|
|
4816
5294
|
*/
|
|
4817
5295
|
beforeRecover(event) {
|
|
4818
|
-
this.
|
|
5296
|
+
this.ctx.logDb &&
|
|
4819
5297
|
console.log(`BEFORE ENTITY WITH ID ${event.entityId} RECOVERED: `, event.entity);
|
|
4820
5298
|
}
|
|
4821
5299
|
/**
|
|
4822
5300
|
* Called after entity recovery.
|
|
4823
5301
|
*/
|
|
4824
5302
|
afterRecover(event) {
|
|
4825
|
-
this.
|
|
5303
|
+
this.ctx.logDb &&
|
|
4826
5304
|
console.log(`AFTER ENTITY WITH ID ${event.entityId} RECOVERED: `, event.entity);
|
|
4827
5305
|
}
|
|
4828
5306
|
/**
|
|
4829
5307
|
* Called before transaction start.
|
|
4830
5308
|
*/
|
|
4831
5309
|
beforeTransactionStart(event) {
|
|
4832
|
-
this.
|
|
5310
|
+
this.ctx.logDb &&
|
|
4833
5311
|
console.log(`BEFORE TRANSACTION STARTED: `, event);
|
|
4834
5312
|
}
|
|
4835
5313
|
/**
|
|
4836
5314
|
* Called after transaction start.
|
|
4837
5315
|
*/
|
|
4838
5316
|
afterTransactionStart(event) {
|
|
4839
|
-
this.
|
|
5317
|
+
this.ctx.logDb &&
|
|
4840
5318
|
console.log(`AFTER TRANSACTION STARTED: `, event);
|
|
4841
5319
|
}
|
|
4842
5320
|
/**
|
|
4843
5321
|
* Called before transaction commit.
|
|
4844
5322
|
*/
|
|
4845
5323
|
beforeTransactionCommit(event) {
|
|
4846
|
-
this.
|
|
5324
|
+
this.ctx.logDb &&
|
|
4847
5325
|
console.log(`BEFORE TRANSACTION COMMITTED: `, event);
|
|
4848
5326
|
}
|
|
4849
5327
|
/**
|
|
4850
5328
|
* Called after transaction commit.
|
|
4851
5329
|
*/
|
|
4852
5330
|
afterTransactionCommit(event) {
|
|
4853
|
-
this.
|
|
5331
|
+
this.ctx.logDb &&
|
|
4854
5332
|
console.log(`AFTER TRANSACTION COMMITTED: `, event);
|
|
4855
5333
|
}
|
|
4856
5334
|
/**
|
|
4857
5335
|
* Called before transaction rollback.
|
|
4858
5336
|
*/
|
|
4859
5337
|
beforeTransactionRollback(event) {
|
|
4860
|
-
this.
|
|
5338
|
+
this.ctx.logDb &&
|
|
4861
5339
|
console.log(`BEFORE TRANSACTION ROLLBACK: `, event);
|
|
4862
5340
|
}
|
|
4863
5341
|
/**
|
|
4864
5342
|
* Called after transaction rollback.
|
|
4865
5343
|
*/
|
|
4866
5344
|
afterTransactionRollback(event) {
|
|
4867
|
-
this.
|
|
5345
|
+
this.ctx.logDb &&
|
|
4868
5346
|
console.log(`AFTER TRANSACTION ROLLBACK: `, event);
|
|
4869
5347
|
}
|
|
4870
5348
|
};
|
|
@@ -4876,6 +5354,26 @@ BaseSubscriberForEntity = __decorate([
|
|
|
4876
5354
|
;
|
|
4877
5355
|
({}); // @--end-of-file-for-module=taon lib/base-classes/base-subscriber-for-entity.ts
|
|
4878
5356
|
|
|
5357
|
+
class BaseMigration extends BaseInjector {
|
|
5358
|
+
/**
|
|
5359
|
+
* by default is READY to run
|
|
5360
|
+
*/
|
|
5361
|
+
isReadyToRun() {
|
|
5362
|
+
return true;
|
|
5363
|
+
}
|
|
5364
|
+
getDescription() {
|
|
5365
|
+
return _$1.startCase(ClassHelpers.getName(this));
|
|
5366
|
+
}
|
|
5367
|
+
async up(queryRunner) {
|
|
5368
|
+
console.log(`Running migration UP "${ClassHelpers.getName(this)}"`);
|
|
5369
|
+
}
|
|
5370
|
+
async down(queryRunner) {
|
|
5371
|
+
console.log(`Running migration DOWN "${ClassHelpers.getName(this)}"`);
|
|
5372
|
+
}
|
|
5373
|
+
}
|
|
5374
|
+
;
|
|
5375
|
+
({}); // @--end-of-file-for-module=taon lib/base-classes/base-migration.ts
|
|
5376
|
+
|
|
4879
5377
|
var Base;
|
|
4880
5378
|
(function (Base) {
|
|
4881
5379
|
Base.Controller = BaseController;
|
|
@@ -4886,6 +5384,7 @@ var Base;
|
|
|
4886
5384
|
Base.Class = BaseClass;
|
|
4887
5385
|
Base.Repository = BaseRepository;
|
|
4888
5386
|
Base.SubscriberForEntity = BaseSubscriberForEntity;
|
|
5387
|
+
Base.Migration = BaseMigration;
|
|
4889
5388
|
Base.Context = BaseContext;
|
|
4890
5389
|
})(Base || (Base = {}));
|
|
4891
5390
|
;
|
|
@@ -4893,6 +5392,9 @@ var Base;
|
|
|
4893
5392
|
|
|
4894
5393
|
/* */
|
|
4895
5394
|
/* */
|
|
5395
|
+
/**
|
|
5396
|
+
* Entity decorator
|
|
5397
|
+
*/
|
|
4896
5398
|
function TaonEntity(options) {
|
|
4897
5399
|
return function (constructor) {
|
|
4898
5400
|
options = options || {};
|
|
@@ -4912,6 +5414,9 @@ class TaonEntityOptions extends Models.DecoratorAbstractOpt {
|
|
|
4912
5414
|
;
|
|
4913
5415
|
({}); // @--end-of-file-for-module=taon lib/decorators/classes/entity-decorator.ts
|
|
4914
5416
|
|
|
5417
|
+
/**
|
|
5418
|
+
* Provider decorator
|
|
5419
|
+
*/
|
|
4915
5420
|
function TaonProvider(options) {
|
|
4916
5421
|
return function (constructor) {
|
|
4917
5422
|
Reflect.defineMetadata(Symbols.metadata.options.provider, options, constructor);
|
|
@@ -4924,6 +5429,21 @@ class TaonProviderOptions extends Models.DecoratorAbstractOpt {
|
|
|
4924
5429
|
;
|
|
4925
5430
|
({}); // @--end-of-file-for-module=taon lib/decorators/classes/provider-decorator.ts
|
|
4926
5431
|
|
|
5432
|
+
/**
|
|
5433
|
+
* Migration decorator
|
|
5434
|
+
*/
|
|
5435
|
+
function TaonMigration(options) {
|
|
5436
|
+
return function (constructor) {
|
|
5437
|
+
Reflect.defineMetadata(Symbols.metadata.options.migration, options, constructor);
|
|
5438
|
+
Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
|
|
5439
|
+
ClassHelpers.setName(constructor, options?.className);
|
|
5440
|
+
};
|
|
5441
|
+
}
|
|
5442
|
+
class TaonMigrationOptions extends Models.DecoratorAbstractOpt {
|
|
5443
|
+
}
|
|
5444
|
+
;
|
|
5445
|
+
({}); // @--end-of-file-for-module=taon lib/decorators/classes/migration-decorator.ts
|
|
5446
|
+
|
|
4927
5447
|
const inject = (entity) => {
|
|
4928
5448
|
return new Proxy({}, {
|
|
4929
5449
|
get: (_, propName) => {
|
|
@@ -5700,7 +6220,6 @@ class TaonTableComponent {
|
|
|
5700
6220
|
await this.retriveData();
|
|
5701
6221
|
}
|
|
5702
6222
|
async retriveData() {
|
|
5703
|
-
// @ts-ignore
|
|
5704
6223
|
}
|
|
5705
6224
|
expansionRow(e) {
|
|
5706
6225
|
this.expansionChange.next(e);
|
|
@@ -5709,7 +6228,7 @@ class TaonTableComponent {
|
|
|
5709
6228
|
log.i('context menu event', e);
|
|
5710
6229
|
}
|
|
5711
6230
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5712
|
-
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:
|
|
6231
|
+
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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3$1.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: i7.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }] }); }
|
|
5713
6232
|
}
|
|
5714
6233
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableComponent, decorators: [{
|
|
5715
6234
|
type: Component,
|
|
@@ -5789,36 +6308,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
5789
6308
|
;
|
|
5790
6309
|
({}); // @--end-of-file-for-module=taon lib/ui/taon-table/index.ts
|
|
5791
6310
|
|
|
5792
|
-
class TaonAdminService {
|
|
5793
|
-
/**
|
|
5794
|
-
* @deprecated
|
|
5795
|
-
*/
|
|
5796
|
-
disableScroll() {
|
|
5797
|
-
}
|
|
5798
|
-
constructor(cdr) {
|
|
5799
|
-
this.cdr = cdr;
|
|
5800
|
-
this.admin = window['taon'];
|
|
5801
|
-
}
|
|
5802
|
-
addTab(name, template) {
|
|
5803
|
-
this.admin.cmp.tabs.push({
|
|
5804
|
-
name,
|
|
5805
|
-
template,
|
|
5806
|
-
});
|
|
5807
|
-
}
|
|
5808
|
-
init(taonAdminModeConfigurationComponent) {
|
|
5809
|
-
this.taonAdminModeConfigurationComponent =
|
|
5810
|
-
taonAdminModeConfigurationComponent;
|
|
5811
|
-
}
|
|
5812
|
-
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 }); }
|
|
5813
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, providedIn: 'root' }); }
|
|
5814
|
-
}
|
|
5815
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, decorators: [{
|
|
5816
|
-
type: Injectable,
|
|
5817
|
-
args: [{ providedIn: 'root' }]
|
|
5818
|
-
}], ctorParameters: () => [{ type: i0.ApplicationRef }] });
|
|
5819
|
-
;
|
|
5820
|
-
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-control.service.ts
|
|
5821
|
-
|
|
5822
6311
|
class TaonAdminModeConfigurationComponent {
|
|
5823
6312
|
get opened() {
|
|
5824
6313
|
return !this.isIframe && this.admin.adminPanelIsOpen;
|
|
@@ -5833,13 +6322,12 @@ class TaonAdminModeConfigurationComponent {
|
|
|
5833
6322
|
}
|
|
5834
6323
|
this.admin.adminPanelIsOpen = v;
|
|
5835
6324
|
}
|
|
5836
|
-
constructor(breakpointsService) {
|
|
6325
|
+
constructor(breakpointsService, admin) {
|
|
5837
6326
|
this.breakpointsService = breakpointsService;
|
|
6327
|
+
this.admin = admin;
|
|
5838
6328
|
this.$destroy = new Subject();
|
|
5839
6329
|
this.cdr = inject$1(ChangeDetectorRef);
|
|
5840
6330
|
this.taonAdminService = inject$1(TaonAdminService);
|
|
5841
|
-
this.tabs = [];
|
|
5842
|
-
this.admin = window['taon'];
|
|
5843
6331
|
this.isWebSQLMode = Helpers.isWebSQL;
|
|
5844
6332
|
this.hideTaonToolsInProduction = ENV.hideTaonToolsInProduction && ENV.angularProd;
|
|
5845
6333
|
this.isIframe = window.location !== window.parent.location;
|
|
@@ -5858,7 +6346,6 @@ class TaonAdminModeConfigurationComponent {
|
|
|
5858
6346
|
this.dragPositionZero = { x: 0, y: 0 };
|
|
5859
6347
|
this.taonAdminModeConfigurationDataChanged = new EventEmitter();
|
|
5860
6348
|
this.taonAdminModeConfigurationData = {};
|
|
5861
|
-
this.admin.cmp = this;
|
|
5862
6349
|
this.breakpointsService
|
|
5863
6350
|
.listenTo()
|
|
5864
6351
|
.pipe(takeUntil(this.$destroy))
|
|
@@ -5866,14 +6353,6 @@ class TaonAdminModeConfigurationComponent {
|
|
|
5866
6353
|
// @ts-ignore
|
|
5867
6354
|
this.isDesktop = breakpoint === 'desktop';
|
|
5868
6355
|
});
|
|
5869
|
-
this.taonAdminService.init(this);
|
|
5870
|
-
}
|
|
5871
|
-
reloadTabs() {
|
|
5872
|
-
this.reloading = true;
|
|
5873
|
-
setTimeout(() => {
|
|
5874
|
-
this.reloading = false;
|
|
5875
|
-
console.log('reloading done');
|
|
5876
|
-
});
|
|
5877
6356
|
}
|
|
5878
6357
|
async ngOnInit() {
|
|
5879
6358
|
await Stor.awaitPendingOperatios();
|
|
@@ -5897,6 +6376,16 @@ class TaonAdminModeConfigurationComponent {
|
|
|
5897
6376
|
onResize(event) {
|
|
5898
6377
|
this.height = window.innerHeight;
|
|
5899
6378
|
}
|
|
6379
|
+
async reloadTabs() {
|
|
6380
|
+
return new Promise(resolve => {
|
|
6381
|
+
this.reloading = true;
|
|
6382
|
+
setTimeout(() => {
|
|
6383
|
+
this.reloading = false;
|
|
6384
|
+
console.log('reloading done');
|
|
6385
|
+
resolve();
|
|
6386
|
+
});
|
|
6387
|
+
});
|
|
6388
|
+
}
|
|
5900
6389
|
async toogle() {
|
|
5901
6390
|
this.opened = !this.opened;
|
|
5902
6391
|
}
|
|
@@ -5918,37 +6407,47 @@ class TaonAdminModeConfigurationComponent {
|
|
|
5918
6407
|
scrollTabs(event) {
|
|
5919
6408
|
return;
|
|
5920
6409
|
}
|
|
5921
|
-
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 }); }
|
|
5922
|
-
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"] }] }); }
|
|
6410
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, deps: [{ token: i1$3.BreakpointsService }, { token: TaonAdminService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6411
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminModeConfigurationComponent, isStandalone: true, selector: "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 <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column\n width=\"200\"\n 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\n width=\"40\"\n *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 <!-- #endregion -->\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 </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\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [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: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: StaticColumnsModule }, { 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: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: NgScrollbarModule }, { kind: "component", type: i5.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "ngmodule", type: TaonProgressBarModule }, { kind: "ngmodule", type: TaonNotificationsModule }, { kind: "ngmodule", type: TaonFullMaterialModule }, { kind: "directive", type: i6$1.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: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i8.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i8.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i9.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: i11.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i11.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i11.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i12.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i12.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: // TODO import only partial things
|
|
6412
|
+
TaonSessionPasscodeComponent, selector: "taon-session-passcode", inputs: ["passcode", "message"] }] }); }
|
|
5923
6413
|
}
|
|
5924
6414
|
__decorate([
|
|
5925
|
-
Stor.property.in.localstorage
|
|
6415
|
+
(Stor.property.in.localstorage
|
|
5926
6416
|
.for(TaonAdminModeConfigurationComponent)
|
|
5927
|
-
.withDefaultValue(0),
|
|
6417
|
+
.withDefaultValue(0)),
|
|
5928
6418
|
__metadata("design:type", Number)
|
|
5929
6419
|
], TaonAdminModeConfigurationComponent.prototype, "dragPositionX", void 0);
|
|
5930
6420
|
__decorate([
|
|
5931
|
-
Stor.property.in.localstorage
|
|
6421
|
+
(Stor.property.in.localstorage
|
|
5932
6422
|
.for(TaonAdminModeConfigurationComponent)
|
|
5933
|
-
.withDefaultValue(0),
|
|
6423
|
+
.withDefaultValue(0)),
|
|
5934
6424
|
__metadata("design:type", Number)
|
|
5935
6425
|
], TaonAdminModeConfigurationComponent.prototype, "dragPositionY", void 0);
|
|
5936
6426
|
__decorate([
|
|
5937
|
-
Stor.property.in.localstorage
|
|
6427
|
+
(Stor.property.in.localstorage
|
|
5938
6428
|
.for(TaonAdminModeConfigurationComponent)
|
|
5939
|
-
.withDefaultValue(0),
|
|
6429
|
+
.withDefaultValue(0)),
|
|
5940
6430
|
__metadata("design:type", Number)
|
|
5941
6431
|
], TaonAdminModeConfigurationComponent.prototype, "selectedIndex", void 0);
|
|
5942
6432
|
__decorate([
|
|
5943
|
-
Stor.property.in.localstorage
|
|
6433
|
+
(Stor.property.in.localstorage
|
|
5944
6434
|
.for(TaonAdminModeConfigurationComponent)
|
|
5945
|
-
.withDefaultValue(false),
|
|
6435
|
+
.withDefaultValue(false)),
|
|
5946
6436
|
__metadata("design:type", Boolean)
|
|
5947
6437
|
], TaonAdminModeConfigurationComponent.prototype, "wasOpenDraggablePopup", void 0);
|
|
5948
6438
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, decorators: [{
|
|
5949
6439
|
type: Component,
|
|
5950
|
-
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"] }]
|
|
5951
|
-
|
|
6440
|
+
args: [{ selector: 'taon-admin-mode-configuration', standalone: true, imports: [
|
|
6441
|
+
CommonModule,
|
|
6442
|
+
StaticColumnsModule,
|
|
6443
|
+
FormsModule,
|
|
6444
|
+
NgScrollbarModule,
|
|
6445
|
+
TaonProgressBarModule,
|
|
6446
|
+
TaonNotificationsModule,
|
|
6447
|
+
TaonFullMaterialModule, // TODO import only partial things
|
|
6448
|
+
TaonSessionPasscodeComponent,
|
|
6449
|
+
], 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 <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column\n width=\"200\"\n 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\n width=\"40\"\n *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 <!-- #endregion -->\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 </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\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [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"] }]
|
|
6450
|
+
}], ctorParameters: () => [{ type: i1$3.BreakpointsService }, { type: TaonAdminService }], propDecorators: { tabGroup: [{
|
|
5952
6451
|
type: ViewChild,
|
|
5953
6452
|
args: ['tabGroup']
|
|
5954
6453
|
}], taonAdminModeConfigurationDataChanged: [{
|
|
@@ -5962,254 +6461,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
5962
6461
|
;
|
|
5963
6462
|
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.ts
|
|
5964
6463
|
|
|
5965
|
-
class TaonAdminEditModeComponent {
|
|
5966
|
-
constructor(router) {
|
|
5967
|
-
this.router = router;
|
|
5968
|
-
this.inited$ = of(true);
|
|
5969
|
-
this.destroyed$ = new Subject();
|
|
5970
|
-
this.handlers = [];
|
|
5971
|
-
this.columns = [
|
|
5972
|
-
{
|
|
5973
|
-
header: 'ID',
|
|
5974
|
-
field: 'id',
|
|
5975
|
-
maxWidth: 100,
|
|
5976
|
-
showExpand: true,
|
|
5977
|
-
},
|
|
5978
|
-
{
|
|
5979
|
-
header: 'src',
|
|
5980
|
-
field: 'src',
|
|
5981
|
-
maxWidth: 250,
|
|
5982
|
-
},
|
|
5983
|
-
{
|
|
5984
|
-
header: 'Content Type',
|
|
5985
|
-
field: 'contentType',
|
|
5986
|
-
maxWidth: 120,
|
|
5987
|
-
},
|
|
5988
|
-
];
|
|
5989
|
-
this.taonAdminEditModeDataChanged = new EventEmitter();
|
|
5990
|
-
this.taonAdminEditModeData = {};
|
|
5991
|
-
}
|
|
5992
|
-
ngOnInit() {
|
|
5993
|
-
this.files = this.admin.currentFiles;
|
|
5994
|
-
this.handlers.push(this.admin.onEditMode$.subscribe(() => {
|
|
5995
|
-
this.refresFilesList();
|
|
5996
|
-
}));
|
|
5997
|
-
this.admin.onRegisterFile().pipe(takeUntil(this.destroyed$), tap(() => {
|
|
5998
|
-
this.refresFilesList();
|
|
5999
|
-
}));
|
|
6000
|
-
}
|
|
6001
|
-
ngOnDestroy() {
|
|
6002
|
-
this.handlers.forEach(h => h.unsubscribe());
|
|
6003
|
-
this.destroyed$.next(void 0);
|
|
6004
|
-
this.destroyed$.unsubscribe();
|
|
6005
|
-
}
|
|
6006
|
-
ngAfterViewInit() {
|
|
6007
|
-
//Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
|
|
6008
|
-
//Add 'implements AfterViewInit' to the class.
|
|
6009
|
-
setTimeout(() => {
|
|
6010
|
-
this.refresFilesList();
|
|
6011
|
-
}, 500);
|
|
6012
|
-
}
|
|
6013
|
-
expansionRow(e) {
|
|
6014
|
-
console.log(e);
|
|
6015
|
-
}
|
|
6016
|
-
refresFilesList() {
|
|
6017
|
-
this.files = this.admin.currentFiles;
|
|
6018
|
-
}
|
|
6019
|
-
searchFind(file) {
|
|
6020
|
-
if (!!this?.fileToSearch) {
|
|
6021
|
-
return file?.src?.search(this?.fileToSearch) !== -1;
|
|
6022
|
-
}
|
|
6023
|
-
return true;
|
|
6024
|
-
}
|
|
6025
|
-
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 }); }
|
|
6026
|
-
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" }] }); }
|
|
6027
|
-
}
|
|
6028
|
-
__decorate([
|
|
6029
|
-
(Stor.property.in.localstorage
|
|
6030
|
-
.for(TaonAdminEditModeComponent)
|
|
6031
|
-
.withDefaultValue(0)),
|
|
6032
|
-
__metadata("design:type", Number)
|
|
6033
|
-
], TaonAdminEditModeComponent.prototype, "selectedTabIndex", void 0);
|
|
6034
|
-
__decorate([
|
|
6035
|
-
(Stor.property.in.localstorage
|
|
6036
|
-
.for(TaonAdminEditModeComponent)
|
|
6037
|
-
.withDefaultValue('')),
|
|
6038
|
-
__metadata("design:type", String)
|
|
6039
|
-
], TaonAdminEditModeComponent.prototype, "fileToSearch", void 0);
|
|
6040
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeComponent, decorators: [{
|
|
6041
|
-
type: Component,
|
|
6042
|
-
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"] }]
|
|
6043
|
-
}], ctorParameters: () => [{ type: i1$4.Router }], propDecorators: { taonAdminEditModeDataChanged: [{
|
|
6044
|
-
type: Output
|
|
6045
|
-
}], taonAdminEditModeData: [{
|
|
6046
|
-
type: Input
|
|
6047
|
-
}] } });
|
|
6048
|
-
;
|
|
6049
|
-
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.ts
|
|
6050
|
-
|
|
6051
|
-
class TaonFileGeneralOptComponent {
|
|
6052
|
-
constructor() {
|
|
6053
|
-
this.height = 100;
|
|
6054
|
-
this.handlers = [];
|
|
6055
|
-
this.fieldsOrder = [];
|
|
6056
|
-
this.fields = [
|
|
6057
|
-
{
|
|
6058
|
-
key: 'width',
|
|
6059
|
-
},
|
|
6060
|
-
{
|
|
6061
|
-
key: 'height',
|
|
6062
|
-
},
|
|
6063
|
-
{
|
|
6064
|
-
key: 'display',
|
|
6065
|
-
},
|
|
6066
|
-
{
|
|
6067
|
-
key: 'widthUnit',
|
|
6068
|
-
},
|
|
6069
|
-
{
|
|
6070
|
-
key: 'heightUnit', // @ts-ignore
|
|
6071
|
-
},
|
|
6072
|
-
{
|
|
6073
|
-
key: 'action',
|
|
6074
|
-
type: 'action',
|
|
6075
|
-
templateOptions: {
|
|
6076
|
-
label: 'Reset',
|
|
6077
|
-
icon: 'cancel',
|
|
6078
|
-
raised: true,
|
|
6079
|
-
action: () => {
|
|
6080
|
-
console.log('reset');
|
|
6081
|
-
},
|
|
6082
|
-
},
|
|
6083
|
-
},
|
|
6084
|
-
].map(f => {
|
|
6085
|
-
f.className = 'formly-field-half-size';
|
|
6086
|
-
return f;
|
|
6087
|
-
});
|
|
6088
|
-
}
|
|
6089
|
-
ngOnInit() { }
|
|
6090
|
-
ngOnDestroy() {
|
|
6091
|
-
this.handlers.forEach(h => h.unsubscribe());
|
|
6092
|
-
}
|
|
6093
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6094
|
-
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"] }); }
|
|
6095
|
-
}
|
|
6096
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptComponent, decorators: [{
|
|
6097
|
-
type: Component,
|
|
6098
|
-
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"] }]
|
|
6099
|
-
}], ctorParameters: () => [], propDecorators: { height: [{
|
|
6100
|
-
type: HostBinding,
|
|
6101
|
-
args: ['style.minHeight.px']
|
|
6102
|
-
}, {
|
|
6103
|
-
type: Input
|
|
6104
|
-
}], file: [{
|
|
6105
|
-
type: Input
|
|
6106
|
-
}] } });
|
|
6107
|
-
;
|
|
6108
|
-
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.ts
|
|
6109
|
-
|
|
6110
|
-
class TaonFileGeneralOptModule {
|
|
6111
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6112
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, declarations: [TaonFileGeneralOptComponent], imports: [CommonModule, TaonFullMaterialModule], exports: [TaonFileGeneralOptComponent] }); }
|
|
6113
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, imports: [CommonModule, TaonFullMaterialModule] }); }
|
|
6114
|
-
}
|
|
6115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, decorators: [{
|
|
6116
|
-
type: NgModule,
|
|
6117
|
-
args: [{
|
|
6118
|
-
imports: [CommonModule, TaonFullMaterialModule],
|
|
6119
|
-
declarations: [TaonFileGeneralOptComponent],
|
|
6120
|
-
exports: [TaonFileGeneralOptComponent],
|
|
6121
|
-
}]
|
|
6122
|
-
}] });
|
|
6123
|
-
;
|
|
6124
|
-
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.ts
|
|
6125
|
-
|
|
6126
|
-
;
|
|
6127
|
-
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.ts
|
|
6128
|
-
|
|
6129
|
-
class TaonAdminEditModeModule {
|
|
6130
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6131
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, declarations: [TaonAdminEditModeComponent], imports: [CommonModule,
|
|
6132
|
-
StaticColumnsModule,
|
|
6133
|
-
NgScrollbarModule,
|
|
6134
|
-
TaonFileGeneralOptModule,
|
|
6135
|
-
FormsModule,
|
|
6136
|
-
NgArrayPipesModule,
|
|
6137
|
-
TaonTableModule,
|
|
6138
|
-
TaonFullMaterialModule], exports: [TaonAdminEditModeComponent] }); }
|
|
6139
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, imports: [CommonModule,
|
|
6140
|
-
StaticColumnsModule,
|
|
6141
|
-
NgScrollbarModule,
|
|
6142
|
-
TaonFileGeneralOptModule,
|
|
6143
|
-
FormsModule,
|
|
6144
|
-
NgArrayPipesModule,
|
|
6145
|
-
TaonTableModule,
|
|
6146
|
-
TaonFullMaterialModule] }); }
|
|
6147
|
-
}
|
|
6148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, decorators: [{
|
|
6149
|
-
type: NgModule,
|
|
6150
|
-
args: [{
|
|
6151
|
-
imports: [
|
|
6152
|
-
CommonModule,
|
|
6153
|
-
StaticColumnsModule,
|
|
6154
|
-
NgScrollbarModule,
|
|
6155
|
-
TaonFileGeneralOptModule,
|
|
6156
|
-
FormsModule,
|
|
6157
|
-
NgArrayPipesModule,
|
|
6158
|
-
TaonTableModule,
|
|
6159
|
-
TaonFullMaterialModule, // TODO import only partial things
|
|
6160
|
-
],
|
|
6161
|
-
declarations: [TaonAdminEditModeComponent],
|
|
6162
|
-
exports: [TaonAdminEditModeComponent],
|
|
6163
|
-
}]
|
|
6164
|
-
}] });
|
|
6165
|
-
;
|
|
6166
|
-
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.ts
|
|
6167
|
-
|
|
6168
|
-
;
|
|
6169
|
-
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.ts
|
|
6170
|
-
|
|
6171
|
-
class TaonAdminModeConfigurationModule {
|
|
6172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6173
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, declarations: [TaonAdminModeConfigurationComponent], imports: [CommonModule,
|
|
6174
|
-
StaticColumnsModule,
|
|
6175
|
-
FormsModule,
|
|
6176
|
-
NgScrollbarModule,
|
|
6177
|
-
TaonAdminEditModeModule,
|
|
6178
|
-
TaonProgressBarModule,
|
|
6179
|
-
TaonNotificationsModule,
|
|
6180
|
-
TaonFullMaterialModule, // TODO import only partial things
|
|
6181
|
-
TaonSessionPasscodeComponent], exports: [TaonAdminModeConfigurationComponent] }); }
|
|
6182
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, imports: [CommonModule,
|
|
6183
|
-
StaticColumnsModule,
|
|
6184
|
-
FormsModule,
|
|
6185
|
-
NgScrollbarModule,
|
|
6186
|
-
TaonAdminEditModeModule,
|
|
6187
|
-
TaonProgressBarModule,
|
|
6188
|
-
TaonNotificationsModule,
|
|
6189
|
-
TaonFullMaterialModule, // TODO import only partial things
|
|
6190
|
-
TaonSessionPasscodeComponent] }); }
|
|
6191
|
-
}
|
|
6192
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, decorators: [{
|
|
6193
|
-
type: NgModule,
|
|
6194
|
-
args: [{
|
|
6195
|
-
imports: [
|
|
6196
|
-
CommonModule,
|
|
6197
|
-
StaticColumnsModule,
|
|
6198
|
-
FormsModule,
|
|
6199
|
-
NgScrollbarModule,
|
|
6200
|
-
TaonAdminEditModeModule,
|
|
6201
|
-
TaonProgressBarModule,
|
|
6202
|
-
TaonNotificationsModule,
|
|
6203
|
-
TaonFullMaterialModule, // TODO import only partial things
|
|
6204
|
-
TaonSessionPasscodeComponent,
|
|
6205
|
-
],
|
|
6206
|
-
declarations: [TaonAdminModeConfigurationComponent],
|
|
6207
|
-
exports: [TaonAdminModeConfigurationComponent],
|
|
6208
|
-
}]
|
|
6209
|
-
}] });
|
|
6210
|
-
;
|
|
6211
|
-
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.ts
|
|
6212
|
-
|
|
6213
6464
|
;
|
|
6214
6465
|
({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/index.ts
|
|
6215
6466
|
|
|
@@ -6229,6 +6480,7 @@ var Taon;
|
|
|
6229
6480
|
Taon.Provider = TaonProvider;
|
|
6230
6481
|
Taon.Repository = TaonRepository;
|
|
6231
6482
|
Taon.Subscriber = TaonSubscriber;
|
|
6483
|
+
Taon.Migration = TaonMigration;
|
|
6232
6484
|
Taon.isBrowser = coreHelpers.Helpers.isBrowser;
|
|
6233
6485
|
Taon.isNode = coreHelpers.Helpers.isNode;
|
|
6234
6486
|
Taon.isWebSQL = coreHelpers.Helpers.isWebSQL;
|
|
@@ -6265,5 +6517,5 @@ var Taon;
|
|
|
6265
6517
|
* Generated bundle index. Do not edit.
|
|
6266
6518
|
*/
|
|
6267
6519
|
|
|
6268
|
-
export { BaseContext, BaseController, BaseEntity, BaseProvider, BaseRepository, ClassHelpers, Models, SafePipe, Taon, TaonAdminModeConfigurationComponent,
|
|
6520
|
+
export { BaseContext, BaseController, BaseEntity, BaseMigration, BaseProvider, BaseRepository, ClassHelpers, Models, SafePipe, Taon, TaonAdminModeConfigurationComponent, TaonFullMaterialModule, TaonGithubForkMeCornerComponent, TaonGithubForkMeCornerModule, TaonInjectHTMLDirective, TaonLongPress, TaonNotificationOptions, TaonNotificationsComponent, TaonNotificationsModule, TaonNotificationsService, TaonProgressBarComponent, TaonProgressBarModule, TaonSessionPasscodeComponent, TaonTableComponent, TaonTableModule, createContext, inject };
|
|
6269
6521
|
//# sourceMappingURL=taon.mjs.map
|