@openziti/ziti-console-lib 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles/global.scss +70 -0
- package/fesm2022/openziti-ziti-console-lib.mjs +2133 -1321
- package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
- package/index.d.ts +5689 -6
- package/index.d.ts.map +1 -0
- package/package.json +10 -12
- package/esm2022/lib/ZAC_VERSION.mjs +0 -4
- package/esm2022/lib/app.initializer.mjs +0 -24
- package/esm2022/lib/default-app-config.mjs +0 -5
- package/esm2022/lib/features/card/card.component.mjs +0 -34
- package/esm2022/lib/features/card-list/card-list.component.mjs +0 -55
- package/esm2022/lib/features/config-editor/config-editor.component.mjs +0 -337
- package/esm2022/lib/features/confirm/confirm.component.mjs +0 -77
- package/esm2022/lib/features/creation-summary-dialog/creation-summary-dialog.component.mjs +0 -93
- package/esm2022/lib/features/custom-tags/custom-tags.component.mjs +0 -111
- package/esm2022/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.mjs +0 -46
- package/esm2022/lib/features/data-table/cells/table-cell-name/table-cell-name.component.mjs +0 -49
- package/esm2022/lib/features/data-table/cells/table-cell-select/table-cell-select.component.mjs +0 -58
- package/esm2022/lib/features/data-table/cells/table-cell-token/table-cell-token.component.mjs +0 -123
- package/esm2022/lib/features/data-table/column-headers/table-column-default/table-column-default.component.mjs +0 -268
- package/esm2022/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.mjs +0 -93
- package/esm2022/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.mjs +0 -37
- package/esm2022/lib/features/data-table/column-headers/table-column-select/table-column-select.component.mjs +0 -33
- package/esm2022/lib/features/data-table/data-table-filter.service.mjs +0 -138
- package/esm2022/lib/features/data-table/data-table.component.mjs +0 -918
- package/esm2022/lib/features/data-table/data-table.service.mjs +0 -98
- package/esm2022/lib/features/data-table/table-filter-bar/filter-bar.component.mjs +0 -108
- package/esm2022/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.mjs +0 -26
- package/esm2022/lib/features/data-table/tooltips/os-tooltip.component.mjs +0 -29
- package/esm2022/lib/features/data-table/tooltips/sdk-tooltip.component.mjs +0 -34
- package/esm2022/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.mjs +0 -72
- package/esm2022/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.mjs +0 -134
- package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.mjs +0 -189
- package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.mjs +0 -50
- package/esm2022/lib/features/dynamic-widgets/number/number-input.component.mjs +0 -95
- package/esm2022/lib/features/dynamic-widgets/object/object.component.mjs +0 -121
- package/esm2022/lib/features/dynamic-widgets/password/password-input.component.mjs +0 -83
- package/esm2022/lib/features/dynamic-widgets/port-ranges/port-ranges.component.mjs +0 -100
- package/esm2022/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.mjs +0 -201
- package/esm2022/lib/features/dynamic-widgets/selector/selector-input.component.mjs +0 -166
- package/esm2022/lib/features/dynamic-widgets/string/string-input.component.mjs +0 -108
- package/esm2022/lib/features/dynamic-widgets/text-list/text-list-input.component.mjs +0 -126
- package/esm2022/lib/features/extendable/extendable.component.mjs +0 -55
- package/esm2022/lib/features/extendable/extensions-noop.service.mjs +0 -52
- package/esm2022/lib/features/header-bar/header-bar.component.mjs +0 -105
- package/esm2022/lib/features/json-view/json-view.component.mjs +0 -212
- package/esm2022/lib/features/list-page-features/list-page-form/list-page-form.component.mjs +0 -138
- package/esm2022/lib/features/list-page-features/list-page-header/list-page-header.component.mjs +0 -66
- package/esm2022/lib/features/loading-indicator/loading-indicator.component.mjs +0 -29
- package/esm2022/lib/features/login/login-dialog.component.mjs +0 -121
- package/esm2022/lib/features/messaging/growler.component.mjs +0 -62
- package/esm2022/lib/features/messaging/growler.model.mjs +0 -24
- package/esm2022/lib/features/messaging/growler.module.mjs +0 -34
- package/esm2022/lib/features/messaging/growler.service.mjs +0 -71
- package/esm2022/lib/features/messaging/logger.service.mjs +0 -174
- package/esm2022/lib/features/multi-action-button/multi-action-button.component.mjs +0 -30
- package/esm2022/lib/features/no-items/no-items.component.mjs +0 -46
- package/esm2022/lib/features/overrides/overrides.component.mjs +0 -118
- package/esm2022/lib/features/overrides/overrides.service.mjs +0 -114
- package/esm2022/lib/features/preview-list/preview-list.component.mjs +0 -151
- package/esm2022/lib/features/preview-selections/preview-selections.component.mjs +0 -114
- package/esm2022/lib/features/progress-meter/progress-meter.component.mjs +0 -43
- package/esm2022/lib/features/progress-wizard/progress-wizard.component.mjs +0 -90
- package/esm2022/lib/features/projectable-forms/api-session/api-session-form.component.mjs +0 -143
- package/esm2022/lib/features/projectable-forms/api-session/api-session-form.service.mjs +0 -118
- package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.component.mjs +0 -337
- package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.service.mjs +0 -114
- package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.mjs +0 -399
- package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.service.mjs +0 -95
- package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.mjs +0 -217
- package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.service.mjs +0 -54
- package/esm2022/lib/features/projectable-forms/config-type/config-type-form.component.mjs +0 -244
- package/esm2022/lib/features/projectable-forms/config-type/config-type-form.service.mjs +0 -92
- package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +0 -275
- package/esm2022/lib/features/projectable-forms/configuration/configuration.service.mjs +0 -137
- package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +0 -231
- package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.service.mjs +0 -118
- package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +0 -277
- package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +0 -188
- package/esm2022/lib/features/projectable-forms/form-field-container/form-field-container.component.mjs +0 -101
- package/esm2022/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.mjs +0 -54
- package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +0 -135
- package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +0 -471
- package/esm2022/lib/features/projectable-forms/identity/identity-form.service.mjs +0 -131
- package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.mjs +0 -533
- package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.mjs +0 -79
- package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.component.mjs +0 -437
- package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.service.mjs +0 -81
- package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +0 -315
- package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +0 -330
- package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +0 -591
- package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +0 -1036
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +0 -275
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +0 -172
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +0 -279
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +0 -230
- package/esm2022/lib/features/projectable-forms/session/session-form.component.mjs +0 -213
- package/esm2022/lib/features/projectable-forms/session/session-form.service.mjs +0 -84
- package/esm2022/lib/features/projectable-forms/terminator/terminator-form.component.mjs +0 -244
- package/esm2022/lib/features/projectable-forms/terminator/terminator-form.service.mjs +0 -130
- package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.component.mjs +0 -224
- package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.service.mjs +0 -118
- package/esm2022/lib/features/qr-code/qr-code.component.mjs +0 -166
- package/esm2022/lib/features/quick-add/quick-add.component.mjs +0 -50
- package/esm2022/lib/features/reset-enrollment/reset-enrollment.component.mjs +0 -86
- package/esm2022/lib/features/reset-enrollment/reset-enrollment.service.mjs +0 -61
- package/esm2022/lib/features/side-modal/side-modal.component.mjs +0 -45
- package/esm2022/lib/features/side-navigator/side-navigator.component.mjs +0 -127
- package/esm2022/lib/features/sidebars/side-navbar/side-navbar.component.mjs +0 -54
- package/esm2022/lib/features/tag-selector/tag-selector.component.mjs +0 -291
- package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.component.mjs +0 -586
- package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.helper.mjs +0 -373
- package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.component.mjs +0 -1706
- package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.helper.mjs +0 -591
- package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.mjs +0 -883
- package/esm2022/lib/features/visualizer/visualizer-service.class.mjs +0 -32
- package/esm2022/lib/models/api-session.mjs +0 -7
- package/esm2022/lib/models/auth-policy.mjs +0 -31
- package/esm2022/lib/models/certificate-authority.mjs +0 -16
- package/esm2022/lib/models/config-type.mjs +0 -10
- package/esm2022/lib/models/config.mjs +0 -10
- package/esm2022/lib/models/edge-router-policy.mjs +0 -11
- package/esm2022/lib/models/edge-router.mjs +0 -13
- package/esm2022/lib/models/identity.mjs +0 -34
- package/esm2022/lib/models/jwt-signer.mjs +0 -20
- package/esm2022/lib/models/posture-check.mjs +0 -29
- package/esm2022/lib/models/service-edge-router-policy.mjs +0 -11
- package/esm2022/lib/models/service-policy.mjs +0 -13
- package/esm2022/lib/models/service.mjs +0 -12
- package/esm2022/lib/models/session.mjs +0 -7
- package/esm2022/lib/models/terminator.mjs +0 -14
- package/esm2022/lib/pages/api-sessions/api-sessions-page.component.mjs +0 -112
- package/esm2022/lib/pages/api-sessions/api-sessions-page.service.mjs +0 -235
- package/esm2022/lib/pages/attributes/attributes.component.mjs +0 -104
- package/esm2022/lib/pages/auth-policies/auth-policies-page.component.mjs +0 -120
- package/esm2022/lib/pages/auth-policies/auth-policies-page.service.mjs +0 -215
- package/esm2022/lib/pages/callback/callback.component.mjs +0 -155
- package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.component.mjs +0 -119
- package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.service.mjs +0 -240
- package/esm2022/lib/pages/config-types/config-types-page.component.mjs +0 -130
- package/esm2022/lib/pages/config-types/config-types-page.service.mjs +0 -134
- package/esm2022/lib/pages/configurations/configurations-page.component.mjs +0 -134
- package/esm2022/lib/pages/configurations/configurations-page.service.mjs +0 -251
- package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +0 -128
- package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.service.mjs +0 -407
- package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +0 -136
- package/esm2022/lib/pages/edge-routers/edge-routers-page.service.mjs +0 -354
- package/esm2022/lib/pages/geolocate/geolocate.component.mjs +0 -130
- package/esm2022/lib/pages/identities/identities-page.component.mjs +0 -221
- package/esm2022/lib/pages/identities/identities-page.service.mjs +0 -591
- package/esm2022/lib/pages/jwt-signers/jwt-signers-page.component.mjs +0 -160
- package/esm2022/lib/pages/jwt-signers/jwt-signers-page.service.mjs +0 -177
- package/esm2022/lib/pages/posture-checks/posture-checks-page.component.mjs +0 -103
- package/esm2022/lib/pages/posture-checks/posture-checks-page.service.mjs +0 -200
- package/esm2022/lib/pages/profile/profile.component.mjs +0 -58
- package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.mjs +0 -122
- package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.mjs +0 -367
- package/esm2022/lib/pages/service-policies/service-policies-page.component.mjs +0 -124
- package/esm2022/lib/pages/service-policies/service-policies-page.service.mjs +0 -446
- package/esm2022/lib/pages/services/services-page.component.mjs +0 -218
- package/esm2022/lib/pages/services/services-page.service.mjs +0 -378
- package/esm2022/lib/pages/sessions/sessions-page.component.mjs +0 -112
- package/esm2022/lib/pages/sessions/sessions-page.service.mjs +0 -228
- package/esm2022/lib/pages/settings/settings.component.mjs +0 -61
- package/esm2022/lib/pages/terminators/terminators-page.component.mjs +0 -97
- package/esm2022/lib/pages/terminators/terminators-page.service.mjs +0 -235
- package/esm2022/lib/pages/transit-routers/transit-routers-page.component.mjs +0 -129
- package/esm2022/lib/pages/transit-routers/transit-routers-page.service.mjs +0 -248
- package/esm2022/lib/safe.pipe.mjs +0 -18
- package/esm2022/lib/services/auth.service.mjs +0 -94
- package/esm2022/lib/services/console-events.service.mjs +0 -20
- package/esm2022/lib/services/csv-download.service.mjs +0 -91
- package/esm2022/lib/services/deactivate-guard.service.mjs +0 -17
- package/esm2022/lib/services/login-service.class.mjs +0 -47
- package/esm2022/lib/services/node-data.service.mjs +0 -397
- package/esm2022/lib/services/noop-login.service.mjs +0 -41
- package/esm2022/lib/services/schema.service.mjs +0 -807
- package/esm2022/lib/services/settings-service.class.mjs +0 -120
- package/esm2022/lib/services/settings.service.mjs +0 -203
- package/esm2022/lib/services/tab-name.service.mjs +0 -73
- package/esm2022/lib/services/validation.service.mjs +0 -156
- package/esm2022/lib/services/ziti-controller-data.service.mjs +0 -340
- package/esm2022/lib/services/ziti-data.service.mjs +0 -100
- package/esm2022/lib/services/ziti-domain-controller.service.mjs +0 -3
- package/esm2022/lib/shared/list-page-component.class.mjs +0 -186
- package/esm2022/lib/shared/list-page-service.class.mjs +0 -244
- package/esm2022/lib/urls.mjs +0 -34
- package/esm2022/lib/zac-routing.module.mjs +0 -34
- package/esm2022/lib/ziti-console-lib.module.mjs +0 -538
- package/esm2022/lib/ziti-console.constants.mjs +0 -20
- package/esm2022/openziti-ziti-console-lib.mjs +0 -5
- package/esm2022/public-api.mjs +0 -130
- package/lib/ZAC_VERSION.d.ts +0 -4
- package/lib/ZAC_VERSION.d.ts.map +0 -1
- package/lib/app.initializer.d.ts +0 -3
- package/lib/app.initializer.d.ts.map +0 -1
- package/lib/default-app-config.d.ts +0 -9
- package/lib/default-app-config.d.ts.map +0 -1
- package/lib/features/card/card.component.d.ts +0 -13
- package/lib/features/card/card.component.d.ts.map +0 -1
- package/lib/features/card-list/card-list.component.d.ts +0 -27
- package/lib/features/card-list/card-list.component.d.ts.map +0 -1
- package/lib/features/config-editor/config-editor.component.d.ts +0 -50
- package/lib/features/config-editor/config-editor.component.d.ts.map +0 -1
- package/lib/features/confirm/confirm.component.d.ts +0 -34
- package/lib/features/confirm/confirm.component.d.ts.map +0 -1
- package/lib/features/creation-summary-dialog/creation-summary-dialog.component.d.ts +0 -32
- package/lib/features/creation-summary-dialog/creation-summary-dialog.component.d.ts.map +0 -1
- package/lib/features/custom-tags/custom-tags.component.d.ts +0 -37
- package/lib/features/custom-tags/custom-tags.component.d.ts.map +0 -1
- package/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.d.ts +0 -16
- package/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.d.ts.map +0 -1
- package/lib/features/data-table/cells/table-cell-name/table-cell-name.component.d.ts +0 -20
- package/lib/features/data-table/cells/table-cell-name/table-cell-name.component.d.ts.map +0 -1
- package/lib/features/data-table/cells/table-cell-select/table-cell-select.component.d.ts +0 -15
- package/lib/features/data-table/cells/table-cell-select/table-cell-select.component.d.ts.map +0 -1
- package/lib/features/data-table/cells/table-cell-token/table-cell-token.component.d.ts +0 -22
- package/lib/features/data-table/cells/table-cell-token/table-cell-token.component.d.ts.map +0 -1
- package/lib/features/data-table/column-headers/table-column-default/table-column-default.component.d.ts +0 -52
- package/lib/features/data-table/column-headers/table-column-default/table-column-default.component.d.ts.map +0 -1
- package/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.d.ts +0 -27
- package/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.d.ts.map +0 -1
- package/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.d.ts +0 -19
- package/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.d.ts.map +0 -1
- package/lib/features/data-table/column-headers/table-column-select/table-column-select.component.d.ts +0 -15
- package/lib/features/data-table/column-headers/table-column-select/table-column-select.component.d.ts.map +0 -1
- package/lib/features/data-table/data-table-filter.service.d.ts +0 -37
- package/lib/features/data-table/data-table-filter.service.d.ts.map +0 -1
- package/lib/features/data-table/data-table.component.d.ts +0 -164
- package/lib/features/data-table/data-table.component.d.ts.map +0 -1
- package/lib/features/data-table/data-table.service.d.ts +0 -20
- package/lib/features/data-table/data-table.service.d.ts.map +0 -1
- package/lib/features/data-table/table-filter-bar/filter-bar.component.d.ts +0 -25
- package/lib/features/data-table/table-filter-bar/filter-bar.component.d.ts.map +0 -1
- package/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.d.ts +0 -10
- package/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.d.ts.map +0 -1
- package/lib/features/data-table/tooltips/os-tooltip.component.d.ts +0 -15
- package/lib/features/data-table/tooltips/os-tooltip.component.d.ts.map +0 -1
- package/lib/features/data-table/tooltips/sdk-tooltip.component.d.ts +0 -15
- package/lib/features/data-table/tooltips/sdk-tooltip.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.d.ts +0 -19
- package/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.d.ts +0 -28
- package/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.d.ts +0 -50
- package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.d.ts +0 -14
- package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/number/number-input.component.d.ts +0 -23
- package/lib/features/dynamic-widgets/number/number-input.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/object/object.component.d.ts +0 -26
- package/lib/features/dynamic-widgets/object/object.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/password/password-input.component.d.ts +0 -24
- package/lib/features/dynamic-widgets/password/password-input.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/port-ranges/port-ranges.component.d.ts +0 -22
- package/lib/features/dynamic-widgets/port-ranges/port-ranges.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.d.ts +0 -60
- package/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/selector/selector-input.component.d.ts +0 -30
- package/lib/features/dynamic-widgets/selector/selector-input.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/string/string-input.component.d.ts +0 -27
- package/lib/features/dynamic-widgets/string/string-input.component.d.ts.map +0 -1
- package/lib/features/dynamic-widgets/text-list/text-list-input.component.d.ts +0 -26
- package/lib/features/dynamic-widgets/text-list/text-list-input.component.d.ts.map +0 -1
- package/lib/features/extendable/extendable.component.d.ts +0 -15
- package/lib/features/extendable/extendable.component.d.ts.map +0 -1
- package/lib/features/extendable/extensions-noop.service.d.ts +0 -35
- package/lib/features/extendable/extensions-noop.service.d.ts.map +0 -1
- package/lib/features/header-bar/header-bar.component.d.ts +0 -29
- package/lib/features/header-bar/header-bar.component.d.ts.map +0 -1
- package/lib/features/json-view/json-view.component.d.ts +0 -40
- package/lib/features/json-view/json-view.component.d.ts.map +0 -1
- package/lib/features/list-page-features/list-page-form/list-page-form.component.d.ts +0 -35
- package/lib/features/list-page-features/list-page-form/list-page-form.component.d.ts.map +0 -1
- package/lib/features/list-page-features/list-page-header/list-page-header.component.d.ts +0 -14
- package/lib/features/list-page-features/list-page-header/list-page-header.component.d.ts.map +0 -1
- package/lib/features/loading-indicator/loading-indicator.component.d.ts +0 -11
- package/lib/features/loading-indicator/loading-indicator.component.d.ts.map +0 -1
- package/lib/features/login/login-dialog.component.d.ts +0 -30
- package/lib/features/login/login-dialog.component.d.ts.map +0 -1
- package/lib/features/messaging/growler.component.d.ts +0 -19
- package/lib/features/messaging/growler.component.d.ts.map +0 -1
- package/lib/features/messaging/growler.model.d.ts +0 -8
- package/lib/features/messaging/growler.model.d.ts.map +0 -1
- package/lib/features/messaging/growler.module.d.ts +0 -10
- package/lib/features/messaging/growler.module.d.ts.map +0 -1
- package/lib/features/messaging/growler.service.d.ts +0 -18
- package/lib/features/messaging/growler.service.d.ts.map +0 -1
- package/lib/features/messaging/logger.service.d.ts +0 -27
- package/lib/features/messaging/logger.service.d.ts.map +0 -1
- package/lib/features/multi-action-button/multi-action-button.component.d.ts +0 -13
- package/lib/features/multi-action-button/multi-action-button.component.d.ts.map +0 -1
- package/lib/features/no-items/no-items.component.d.ts +0 -19
- package/lib/features/no-items/no-items.component.d.ts.map +0 -1
- package/lib/features/overrides/overrides.component.d.ts +0 -33
- package/lib/features/overrides/overrides.component.d.ts.map +0 -1
- package/lib/features/overrides/overrides.service.d.ts +0 -18
- package/lib/features/overrides/overrides.service.d.ts.map +0 -1
- package/lib/features/preview-list/preview-list.component.d.ts +0 -34
- package/lib/features/preview-list/preview-list.component.d.ts.map +0 -1
- package/lib/features/preview-selections/preview-selections.component.d.ts +0 -39
- package/lib/features/preview-selections/preview-selections.component.d.ts.map +0 -1
- package/lib/features/progress-meter/progress-meter.component.d.ts +0 -19
- package/lib/features/progress-meter/progress-meter.component.d.ts.map +0 -1
- package/lib/features/progress-wizard/progress-wizard.component.d.ts +0 -31
- package/lib/features/progress-wizard/progress-wizard.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts +0 -50
- package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/api-session/api-session-form.service.d.ts +0 -27
- package/lib/features/projectable-forms/api-session/api-session-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts +0 -74
- package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/auth-policy/auth-policy-form.service.d.ts +0 -38
- package/lib/features/projectable-forms/auth-policy/auth-policy-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts +0 -80
- package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.service.d.ts +0 -37
- package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts +0 -62
- package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.service.d.ts +0 -28
- package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts +0 -63
- package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/config-type/config-type-form.service.d.ts +0 -27
- package/lib/features/projectable-forms/config-type/config-type-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts +0 -62
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/configuration/configuration.service.d.ts +0 -33
- package/lib/features/projectable-forms/configuration/configuration.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts +0 -53
- package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/edge-router/edge-router-form.service.d.ts +0 -29
- package/lib/features/projectable-forms/edge-router/edge-router-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts +0 -54
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts +0 -40
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/form-field-container/form-field-container.component.d.ts +0 -29
- package/lib/features/projectable-forms/form-field-container/form-field-container.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.d.ts +0 -15
- package/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/form-header/form-header.component.d.ts +0 -38
- package/lib/features/projectable-forms/form-header/form-header.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts +0 -93
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/identity/identity-form.service.d.ts +0 -20
- package/lib/features/projectable-forms/identity/identity-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts +0 -97
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.d.ts +0 -21
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts +0 -134
- package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/posture-check/posture-check-form.service.d.ts +0 -23
- package/lib/features/projectable-forms/posture-check/posture-check-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/projectable-form.class.d.ts +0 -92
- package/lib/features/projectable-forms/projectable-form.class.d.ts.map +0 -1
- package/lib/features/projectable-forms/service/service-form.component.d.ts +0 -70
- package/lib/features/projectable-forms/service/service-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/service/service-form.service.d.ts +0 -123
- package/lib/features/projectable-forms/service/service-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts +0 -173
- package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts +0 -53
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts +0 -38
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts +0 -55
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts +0 -48
- package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/session/session-form.component.d.ts +0 -63
- package/lib/features/projectable-forms/session/session-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/session/session-form.service.d.ts +0 -23
- package/lib/features/projectable-forms/session/session-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts +0 -58
- package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/terminator/terminator-form.service.d.ts +0 -33
- package/lib/features/projectable-forms/terminator/terminator-form.service.d.ts.map +0 -1
- package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts +0 -50
- package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts.map +0 -1
- package/lib/features/projectable-forms/transit-router/transit-router-form.service.d.ts +0 -27
- package/lib/features/projectable-forms/transit-router/transit-router-form.service.d.ts.map +0 -1
- package/lib/features/qr-code/qr-code.component.d.ts +0 -45
- package/lib/features/qr-code/qr-code.component.d.ts.map +0 -1
- package/lib/features/quick-add/quick-add.component.d.ts +0 -15
- package/lib/features/quick-add/quick-add.component.d.ts.map +0 -1
- package/lib/features/reset-enrollment/reset-enrollment.component.d.ts +0 -27
- package/lib/features/reset-enrollment/reset-enrollment.component.d.ts.map +0 -1
- package/lib/features/reset-enrollment/reset-enrollment.service.d.ts +0 -13
- package/lib/features/reset-enrollment/reset-enrollment.service.d.ts.map +0 -1
- package/lib/features/side-modal/side-modal.component.d.ts +0 -15
- package/lib/features/side-modal/side-modal.component.d.ts.map +0 -1
- package/lib/features/side-navigator/side-navigator.component.d.ts +0 -33
- package/lib/features/side-navigator/side-navigator.component.d.ts.map +0 -1
- package/lib/features/sidebars/side-navbar/side-navbar.component.d.ts +0 -16
- package/lib/features/sidebars/side-navbar/side-navbar.component.d.ts.map +0 -1
- package/lib/features/tag-selector/tag-selector.component.d.ts +0 -59
- package/lib/features/tag-selector/tag-selector.component.d.ts.map +0 -1
- package/lib/features/visualizer/identity-service-path/identity-service-path.component.d.ts +0 -54
- package/lib/features/visualizer/identity-service-path/identity-service-path.component.d.ts.map +0 -1
- package/lib/features/visualizer/identity-service-path/identity-service-path.helper.d.ts +0 -21
- package/lib/features/visualizer/identity-service-path/identity-service-path.helper.d.ts.map +0 -1
- package/lib/features/visualizer/network-visualizer/network-visualizer.component.d.ts +0 -146
- package/lib/features/visualizer/network-visualizer/network-visualizer.component.d.ts.map +0 -1
- package/lib/features/visualizer/network-visualizer/network-visualizer.helper.d.ts +0 -172
- package/lib/features/visualizer/network-visualizer/network-visualizer.helper.d.ts.map +0 -1
- package/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.d.ts +0 -35
- package/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.d.ts.map +0 -1
- package/lib/features/visualizer/visualizer-service.class.d.ts +0 -10
- package/lib/features/visualizer/visualizer-service.class.d.ts.map +0 -1
- package/lib/models/api-session.d.ts +0 -18
- package/lib/models/api-session.d.ts.map +0 -1
- package/lib/models/auth-policy.d.ts +0 -8
- package/lib/models/auth-policy.d.ts.map +0 -1
- package/lib/models/certificate-authority.d.ts +0 -14
- package/lib/models/certificate-authority.d.ts.map +0 -1
- package/lib/models/config-type.d.ts +0 -7
- package/lib/models/config-type.d.ts.map +0 -1
- package/lib/models/config.d.ts +0 -7
- package/lib/models/config.d.ts.map +0 -1
- package/lib/models/edge-router-policy.d.ts +0 -8
- package/lib/models/edge-router-policy.d.ts.map +0 -1
- package/lib/models/edge-router.d.ts +0 -10
- package/lib/models/edge-router.d.ts.map +0 -1
- package/lib/models/identity.d.ts +0 -16
- package/lib/models/identity.d.ts.map +0 -1
- package/lib/models/jwt-signer.d.ts +0 -17
- package/lib/models/jwt-signer.d.ts.map +0 -1
- package/lib/models/posture-check.d.ts +0 -17
- package/lib/models/posture-check.d.ts.map +0 -1
- package/lib/models/service-edge-router-policy.d.ts +0 -8
- package/lib/models/service-edge-router-policy.d.ts.map +0 -1
- package/lib/models/service-policy.d.ts +0 -10
- package/lib/models/service-policy.d.ts.map +0 -1
- package/lib/models/service.d.ts +0 -9
- package/lib/models/service.d.ts.map +0 -1
- package/lib/models/session.d.ts +0 -17
- package/lib/models/session.d.ts.map +0 -1
- package/lib/models/terminator.d.ts +0 -11
- package/lib/models/terminator.d.ts.map +0 -1
- package/lib/pages/api-sessions/api-sessions-page.component.d.ts +0 -30
- package/lib/pages/api-sessions/api-sessions-page.component.d.ts.map +0 -1
- package/lib/pages/api-sessions/api-sessions-page.service.d.ts +0 -31
- package/lib/pages/api-sessions/api-sessions-page.service.d.ts.map +0 -1
- package/lib/pages/attributes/attributes.component.d.ts +0 -31
- package/lib/pages/attributes/attributes.component.d.ts.map +0 -1
- package/lib/pages/auth-policies/auth-policies-page.component.d.ts +0 -29
- package/lib/pages/auth-policies/auth-policies-page.component.d.ts.map +0 -1
- package/lib/pages/auth-policies/auth-policies-page.service.d.ts +0 -34
- package/lib/pages/auth-policies/auth-policies-page.service.d.ts.map +0 -1
- package/lib/pages/callback/callback.component.d.ts +0 -22
- package/lib/pages/callback/callback.component.d.ts.map +0 -1
- package/lib/pages/certificate-authorities/certificate-authorities-page.component.d.ts +0 -30
- package/lib/pages/certificate-authorities/certificate-authorities-page.component.d.ts.map +0 -1
- package/lib/pages/certificate-authorities/certificate-authorities-page.service.d.ts +0 -35
- package/lib/pages/certificate-authorities/certificate-authorities-page.service.d.ts.map +0 -1
- package/lib/pages/config-types/config-types-page.component.d.ts +0 -31
- package/lib/pages/config-types/config-types-page.component.d.ts.map +0 -1
- package/lib/pages/config-types/config-types-page.service.d.ts +0 -29
- package/lib/pages/config-types/config-types-page.service.d.ts.map +0 -1
- package/lib/pages/configurations/configurations-page.component.d.ts +0 -30
- package/lib/pages/configurations/configurations-page.component.d.ts.map +0 -1
- package/lib/pages/configurations/configurations-page.service.d.ts +0 -80
- package/lib/pages/configurations/configurations-page.service.d.ts.map +0 -1
- package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts +0 -33
- package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts.map +0 -1
- package/lib/pages/edge-router-policies/edge-router-policies-page.service.d.ts +0 -63
- package/lib/pages/edge-router-policies/edge-router-policies-page.service.d.ts.map +0 -1
- package/lib/pages/edge-routers/edge-routers-page.component.d.ts +0 -36
- package/lib/pages/edge-routers/edge-routers-page.component.d.ts.map +0 -1
- package/lib/pages/edge-routers/edge-routers-page.service.d.ts +0 -51
- package/lib/pages/edge-routers/edge-routers-page.service.d.ts.map +0 -1
- package/lib/pages/geolocate/geolocate.component.d.ts +0 -32
- package/lib/pages/geolocate/geolocate.component.d.ts.map +0 -1
- package/lib/pages/identities/identities-page.component.d.ts +0 -40
- package/lib/pages/identities/identities-page.component.d.ts.map +0 -1
- package/lib/pages/identities/identities-page.service.d.ts +0 -64
- package/lib/pages/identities/identities-page.service.d.ts.map +0 -1
- package/lib/pages/jwt-signers/jwt-signers-page.component.d.ts +0 -34
- package/lib/pages/jwt-signers/jwt-signers-page.component.d.ts.map +0 -1
- package/lib/pages/jwt-signers/jwt-signers-page.service.d.ts +0 -31
- package/lib/pages/jwt-signers/jwt-signers-page.service.d.ts.map +0 -1
- package/lib/pages/posture-checks/posture-checks-page.component.d.ts +0 -29
- package/lib/pages/posture-checks/posture-checks-page.component.d.ts.map +0 -1
- package/lib/pages/posture-checks/posture-checks-page.service.d.ts +0 -28
- package/lib/pages/posture-checks/posture-checks-page.service.d.ts.map +0 -1
- package/lib/pages/profile/profile.component.d.ts +0 -17
- package/lib/pages/profile/profile.component.d.ts.map +0 -1
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts +0 -33
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts.map +0 -1
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.d.ts +0 -57
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.d.ts.map +0 -1
- package/lib/pages/service-policies/service-policies-page.component.d.ts +0 -34
- package/lib/pages/service-policies/service-policies-page.component.d.ts.map +0 -1
- package/lib/pages/service-policies/service-policies-page.service.d.ts +0 -63
- package/lib/pages/service-policies/service-policies-page.service.d.ts.map +0 -1
- package/lib/pages/services/services-page.component.d.ts +0 -42
- package/lib/pages/services/services-page.component.d.ts.map +0 -1
- package/lib/pages/services/services-page.service.d.ts +0 -69
- package/lib/pages/services/services-page.service.d.ts.map +0 -1
- package/lib/pages/sessions/sessions-page.component.d.ts +0 -30
- package/lib/pages/sessions/sessions-page.component.d.ts.map +0 -1
- package/lib/pages/sessions/sessions-page.service.d.ts +0 -30
- package/lib/pages/sessions/sessions-page.service.d.ts.map +0 -1
- package/lib/pages/settings/settings.component.d.ts +0 -23
- package/lib/pages/settings/settings.component.d.ts.map +0 -1
- package/lib/pages/terminators/terminators-page.component.d.ts +0 -29
- package/lib/pages/terminators/terminators-page.component.d.ts.map +0 -1
- package/lib/pages/terminators/terminators-page.service.d.ts +0 -32
- package/lib/pages/terminators/terminators-page.service.d.ts.map +0 -1
- package/lib/pages/transit-routers/transit-routers-page.component.d.ts +0 -35
- package/lib/pages/transit-routers/transit-routers-page.component.d.ts.map +0 -1
- package/lib/pages/transit-routers/transit-routers-page.service.d.ts +0 -50
- package/lib/pages/transit-routers/transit-routers-page.service.d.ts.map +0 -1
- package/lib/safe.pipe.d.ts +0 -11
- package/lib/safe.pipe.d.ts.map +0 -1
- package/lib/services/auth.service.d.ts +0 -21
- package/lib/services/auth.service.d.ts.map +0 -1
- package/lib/services/console-events.service.d.ts +0 -12
- package/lib/services/console-events.service.d.ts.map +0 -1
- package/lib/services/csv-download.service.d.ts +0 -11
- package/lib/services/csv-download.service.d.ts.map +0 -1
- package/lib/services/deactivate-guard.service.d.ts +0 -14
- package/lib/services/deactivate-guard.service.d.ts.map +0 -1
- package/lib/services/login-service.class.d.ts +0 -30
- package/lib/services/login-service.class.d.ts.map +0 -1
- package/lib/services/node-data.service.d.ts +0 -38
- package/lib/services/node-data.service.d.ts.map +0 -1
- package/lib/services/noop-login.service.d.ts +0 -22
- package/lib/services/noop-login.service.d.ts.map +0 -1
- package/lib/services/schema.service.d.ts +0 -63
- package/lib/services/schema.service.d.ts.map +0 -1
- package/lib/services/settings-service.class.d.ts +0 -36
- package/lib/services/settings-service.class.d.ts.map +0 -1
- package/lib/services/settings.service.d.ts +0 -20
- package/lib/services/settings.service.d.ts.map +0 -1
- package/lib/services/tab-name.service.d.ts +0 -20
- package/lib/services/tab-name.service.d.ts.map +0 -1
- package/lib/services/validation.service.d.ts +0 -20
- package/lib/services/validation.service.d.ts.map +0 -1
- package/lib/services/ziti-controller-data.service.d.ts +0 -36
- package/lib/services/ziti-controller-data.service.d.ts.map +0 -1
- package/lib/services/ziti-data.service.d.ts +0 -49
- package/lib/services/ziti-data.service.d.ts.map +0 -1
- package/lib/services/ziti-domain-controller.service.d.ts +0 -13
- package/lib/services/ziti-domain-controller.service.d.ts.map +0 -1
- package/lib/shared/list-page-component.class.d.ts +0 -57
- package/lib/shared/list-page-component.class.d.ts.map +0 -1
- package/lib/shared/list-page-service.class.d.ts +0 -81
- package/lib/shared/list-page-service.class.d.ts.map +0 -1
- package/lib/urls.d.ts +0 -34
- package/lib/urls.d.ts.map +0 -1
- package/lib/zac-routing.module.d.ts +0 -8
- package/lib/zac-routing.module.d.ts.map +0 -1
- package/lib/ziti-console-lib.module.d.ts +0 -121
- package/lib/ziti-console-lib.module.d.ts.map +0 -1
- package/lib/ziti-console.constants.d.ts +0 -5
- package/lib/ziti-console.constants.d.ts.map +0 -1
- package/openziti-ziti-console-lib.d.ts.map +0 -1
- package/public-api.d.ts +0 -127
- package/public-api.d.ts.map +0 -1
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from "@angular/core";
|
|
2
|
-
import { Subscription } from "rxjs";
|
|
3
|
-
import { ConfirmComponent } from "../features/confirm/confirm.component";
|
|
4
|
-
import { defer } from "lodash";
|
|
5
|
-
import { GrowlerService } from "../features/messaging/growler.service";
|
|
6
|
-
import { GrowlerModel } from "../features/messaging/growler.model";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../features/data-table/data-table-filter.service";
|
|
9
|
-
import * as i2 from "./list-page-service.class";
|
|
10
|
-
import * as i3 from "../services/console-events.service";
|
|
11
|
-
import * as i4 from "@angular/material/dialog";
|
|
12
|
-
export class ListPageComponent {
|
|
13
|
-
constructor(filterService, svc, consoleEvents, dialogForm, extensionService) {
|
|
14
|
-
this.filterService = filterService;
|
|
15
|
-
this.svc = svc;
|
|
16
|
-
this.consoleEvents = consoleEvents;
|
|
17
|
-
this.dialogForm = dialogForm;
|
|
18
|
-
this.extensionService = extensionService;
|
|
19
|
-
this.startCount = '-';
|
|
20
|
-
this.endCount = '-';
|
|
21
|
-
this.totalCount = '-';
|
|
22
|
-
this.itemsSelected = false;
|
|
23
|
-
this.selectedItems = [];
|
|
24
|
-
this.columnDefs = [];
|
|
25
|
-
this.rowData = [];
|
|
26
|
-
this.reservedNames = [];
|
|
27
|
-
this.filterApplied = false;
|
|
28
|
-
this.modalOpen = false;
|
|
29
|
-
this.gridObj = {};
|
|
30
|
-
this.subscription = new Subscription();
|
|
31
|
-
this.growlerSvc = inject(GrowlerService);
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
this.filterService.currentPage = 1;
|
|
35
|
-
this.svc.sideModalOpen = false;
|
|
36
|
-
this.svc.refreshData = this.refreshData.bind(this);
|
|
37
|
-
this.svc.initMenuActions();
|
|
38
|
-
this.columnDefs = this.svc.initTableColumns();
|
|
39
|
-
this.filterService.clearFilters();
|
|
40
|
-
this.extensionService?.extendOnInit();
|
|
41
|
-
this.subscription.add(this.filterService.filtersChanged.subscribe(filters => {
|
|
42
|
-
this.filterApplied = filters && filters.length > 0;
|
|
43
|
-
this.refreshData();
|
|
44
|
-
}));
|
|
45
|
-
this.filterService.pageChanged.subscribe(page => {
|
|
46
|
-
this.refreshData();
|
|
47
|
-
});
|
|
48
|
-
this.subscription.add(this.consoleEvents.closeSideModal.subscribe((event) => {
|
|
49
|
-
this.closeModal();
|
|
50
|
-
}));
|
|
51
|
-
this.subscription.add(this.consoleEvents.refreshData.subscribe((event) => {
|
|
52
|
-
this.refreshData();
|
|
53
|
-
}));
|
|
54
|
-
this.consoleEvents.enableZACEvents();
|
|
55
|
-
}
|
|
56
|
-
ngOnDestroy() {
|
|
57
|
-
this.subscription.unsubscribe();
|
|
58
|
-
}
|
|
59
|
-
itemToggled(item) {
|
|
60
|
-
this.updateSelectedItems(item);
|
|
61
|
-
const hasSelection = this.selectedItems.length > 0;
|
|
62
|
-
const index = this.svc.tableHeaderActions.findIndex(a => a.action === 'download-selected');
|
|
63
|
-
hasSelection && index === -1 && this.svc.tableHeaderActions.push({ name: 'Download Selected', action: 'download-selected' });
|
|
64
|
-
!hasSelection && index !== -1 && this.svc.tableHeaderActions.splice(index, 1);
|
|
65
|
-
}
|
|
66
|
-
updateSelectedItems(toggledItem) {
|
|
67
|
-
let itemSelected = false;
|
|
68
|
-
this.selectedItems = [];
|
|
69
|
-
this.rowData.forEach((item) => {
|
|
70
|
-
const reserved = this.reservedNames?.includes(item.name);
|
|
71
|
-
if (reserved) {
|
|
72
|
-
item.selected = false;
|
|
73
|
-
}
|
|
74
|
-
else if (toggledItem?.id && toggledItem?.id === item?.id) {
|
|
75
|
-
item.selected = toggledItem.selected;
|
|
76
|
-
}
|
|
77
|
-
if (item.selected) {
|
|
78
|
-
itemSelected = true;
|
|
79
|
-
this.selectedItems.push(item);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
this.itemsSelected = itemSelected;
|
|
83
|
-
}
|
|
84
|
-
refreshData(sort, hardRefresh = false) {
|
|
85
|
-
this.isLoading = true;
|
|
86
|
-
sort = sort ? sort : this.svc.currentSort;
|
|
87
|
-
this.svc.getData(this.filterService.filters, sort, this.filterService.currentPage)
|
|
88
|
-
.then((data) => {
|
|
89
|
-
this.rowData = [];
|
|
90
|
-
if (hardRefresh) {
|
|
91
|
-
defer(() => {
|
|
92
|
-
this.rowData = data.data;
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
this.rowData = data.data;
|
|
97
|
-
}
|
|
98
|
-
this.totalCount = data.meta.pagination.totalCount;
|
|
99
|
-
this.startCount = (data.meta.pagination.offset + 1);
|
|
100
|
-
if (this.startCount + data.meta.pagination.limit > this.totalCount) {
|
|
101
|
-
this.endCount = this.totalCount;
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
this.endCount = data.meta.pagination.offset + data.meta.pagination.limit;
|
|
105
|
-
}
|
|
106
|
-
this.updateSelectedItems();
|
|
107
|
-
this.refreshCells();
|
|
108
|
-
}).finally(() => {
|
|
109
|
-
this.isLoading = false;
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
downloadAllItems() {
|
|
113
|
-
this.isLoading = true;
|
|
114
|
-
this.svc.downloadAllItems().then(() => {
|
|
115
|
-
const growlerData = new GrowlerModel('success', 'Success', `Download Finished`, `The requested items have been downloaded`);
|
|
116
|
-
this.growlerSvc.show(growlerData);
|
|
117
|
-
}).catch(() => {
|
|
118
|
-
const growlerData = new GrowlerModel('error', 'Error', `Download Failed`, `Failed to retrieve items for download`);
|
|
119
|
-
this.growlerSvc.show(growlerData);
|
|
120
|
-
}).finally(() => {
|
|
121
|
-
this.isLoading = false;
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
openBulkDelete(selectedItems, entityTypeLabel = 'item(s)') {
|
|
125
|
-
const selectedIds = selectedItems.map((row) => {
|
|
126
|
-
return row.id;
|
|
127
|
-
});
|
|
128
|
-
const selectedNames = selectedItems.map((item) => {
|
|
129
|
-
return item.name;
|
|
130
|
-
});
|
|
131
|
-
const countLabel = selectedItems.length > 1 ? selectedItems.length : '';
|
|
132
|
-
const data = {
|
|
133
|
-
appendId: 'DeleteServices',
|
|
134
|
-
title: 'Delete',
|
|
135
|
-
message: `Are you sure you would like to delete the following ${countLabel} ${entityTypeLabel}?`,
|
|
136
|
-
bulletList: selectedNames,
|
|
137
|
-
confirmLabel: 'Yes',
|
|
138
|
-
cancelLabel: 'Oops, no get me out of here',
|
|
139
|
-
imageUrl: '../../assets/svgs/Confirm_Trash.svg',
|
|
140
|
-
showCancelLink: true
|
|
141
|
-
};
|
|
142
|
-
this.dialogRef = this.dialogForm.open(ConfirmComponent, {
|
|
143
|
-
data: data,
|
|
144
|
-
autoFocus: false,
|
|
145
|
-
});
|
|
146
|
-
this.dialogRef.afterClosed().subscribe((result) => {
|
|
147
|
-
if (result?.confirmed) {
|
|
148
|
-
this.svc.removeItems(selectedIds).then(() => {
|
|
149
|
-
this.refreshData(this.svc.currentSort);
|
|
150
|
-
}).catch((errorMessage) => {
|
|
151
|
-
const growlerData = new GrowlerModel('error', 'Error', `Delete Failed`, `Failed to delete item(s): ${errorMessage}`);
|
|
152
|
-
this.growlerSvc.show(growlerData);
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
handleExtensionActions(event) {
|
|
158
|
-
let extensionFound = false;
|
|
159
|
-
if (this.extensionService?.listActions?.length > 0) {
|
|
160
|
-
this.extensionService?.listActions?.forEach((extAction) => {
|
|
161
|
-
if (extAction?.action === event?.action) {
|
|
162
|
-
extAction.callback(event.item);
|
|
163
|
-
extensionFound = true;
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
return extensionFound;
|
|
168
|
-
}
|
|
169
|
-
gridReady(event) {
|
|
170
|
-
this.gridObj = event;
|
|
171
|
-
}
|
|
172
|
-
refreshCells() {
|
|
173
|
-
defer(() => {
|
|
174
|
-
var params = {
|
|
175
|
-
force: true,
|
|
176
|
-
};
|
|
177
|
-
this.gridObj?.api?.refreshCells(params);
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListPageComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
181
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListPageComponent }); }
|
|
182
|
-
}
|
|
183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListPageComponent, decorators: [{
|
|
184
|
-
type: Injectable
|
|
185
|
-
}], ctorParameters: function () { return [{ type: i1.DataTableFilterService }, { type: i2.ListPageServiceClass }, { type: i3.ConsoleEventsService }, { type: i4.MatDialog }, { type: undefined }]; } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdlLWNvbXBvbmVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9zaGFyZWQvbGlzdC1wYWdlLWNvbXBvbmVudC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUd2RSxPQUFPLEVBQUMsS0FBSyxFQUFVLE1BQU0sUUFBUSxDQUFDO0FBR3RDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7OztBQUdqRSxNQUFNLE9BQWdCLGlCQUFpQjtJQXlCbkMsWUFDYyxhQUFxQyxFQUN4QyxHQUF5QixFQUN0QixhQUFtQyxFQUNuQyxVQUFxQixFQUNyQixnQkFBbUM7UUFKbkMsa0JBQWEsR0FBYixhQUFhLENBQXdCO1FBQ3hDLFFBQUcsR0FBSCxHQUFHLENBQXNCO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUF0QmpELGVBQVUsR0FBRyxHQUFHLENBQUM7UUFDakIsYUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNmLGVBQVUsR0FBRyxHQUFHLENBQUM7UUFDakIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2Isa0JBQWEsR0FBRyxFQUFFLENBQUM7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RUFBRSxFQUFFO2dCQUN0RCxJQUFJLFNBQVMsRUFBRSxNQUFNLEtBQUssS0FBSyxFQUFFLE1BQU0sRUFBRTtvQkFDckMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQy9CLGNBQWMsR0FBRyxJQUFJLENBQUM7aUJBQ3pCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUNELE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZO1FBQ1IsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksTUFBTSxHQUFHO2dCQUNULEtBQUssRUFBRSxJQUFJO2FBQ2QsQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBaE5pQixpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7RGF0YVRhYmxlRmlsdGVyU2VydmljZX0gZnJvbSBcIi4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHtMaXN0UGFnZVNlcnZpY2VDbGFzc30gZnJvbSBcIi4vbGlzdC1wYWdlLXNlcnZpY2UuY2xhc3NcIjtcbmltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0NvbnNvbGVFdmVudHNTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvY29uc29sZS1ldmVudHMuc2VydmljZVwiO1xuaW1wb3J0IHtDb25maXJtQ29tcG9uZW50fSBmcm9tIFwiLi4vZmVhdHVyZXMvY29uZmlybS9jb25maXJtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcblxuaW1wb3J0IHtkZWZlciwgaXNFbXB0eX0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtFeHRlbnNpb25TZXJ2aWNlfSBmcm9tIFwiLi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtHcm93bGVyU2VydmljZX0gZnJvbSBcIi4uL2ZlYXR1cmVzL21lc3NhZ2luZy9ncm93bGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7R3Jvd2xlck1vZGVsfSBmcm9tIFwiLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIubW9kZWxcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpc3RQYWdlQ29tcG9uZW50IHtcbiAgICBhYnN0cmFjdCB0aXRsZTtcbiAgICBhYnN0cmFjdCB0YWJzOiB7IHVybDogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH1bXSA7XG4gICAgYWJzdHJhY3QgaGVhZGVyQWN0aW9uQ2xpY2tlZChhY3Rpb246IHN0cmluZyk6IHZvaWQ7XG4gICAgYWJzdHJhY3QgdGFibGVBY3Rpb24oZXZlbnQ6IHthY3Rpb246IHN0cmluZywgaXRlbTogYW55fSk6IHZvaWQ7XG4gICAgYWJzdHJhY3QgaXNMb2FkaW5nOiBib29sZWFuO1xuICAgIGFic3RyYWN0IGNsb3NlTW9kYWwoZXZlbnQ/OiBhbnkpOiB2b2lkO1xuXG4gICAgc3RhcnRDb3VudCA9ICctJztcbiAgICBlbmRDb3VudCA9ICctJztcbiAgICB0b3RhbENvdW50ID0gJy0nO1xuICAgIGl0ZW1zU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuICAgIGNvbHVtbkRlZnM6IGFueSA9IFtdO1xuICAgIHJvd0RhdGEgPSBbXTtcbiAgICByZXNlcnZlZE5hbWVzID0gW107XG4gICAgZmlsdGVyQXBwbGllZCA9IGZhbHNlO1xuICAgIGRpYWxvZ1JlZjogYW55O1xuICAgIG1vZGFsT3BlbiA9IGZhbHNlO1xuICAgIGdyaWRPYmo6IGFueSA9IHt9O1xuXG4gICAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBwcml2YXRlIGdyb3dsZXJTdmMgPSBpbmplY3QoR3Jvd2xlclNlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBmaWx0ZXJTZXJ2aWNlOiBEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgc3ZjOiBMaXN0UGFnZVNlcnZpY2VDbGFzcyxcbiAgICAgICAgcHJvdGVjdGVkIGNvbnNvbGVFdmVudHM6IENvbnNvbGVFdmVudHNTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgZGlhbG9nRm9ybTogTWF0RGlhbG9nLFxuICAgICAgICBwcm90ZWN0ZWQgZXh0ZW5zaW9uU2VydmljZT86IEV4dGVuc2lvblNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmN1cnJlbnRQYWdlID0gMTtcbiAgICAgICAgdGhpcy5zdmMuc2lkZU1vZGFsT3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnN2Yy5yZWZyZXNoRGF0YSA9IHRoaXMucmVmcmVzaERhdGEuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5zdmMuaW5pdE1lbnVBY3Rpb25zKCk7XG4gICAgICAgIHRoaXMuY29sdW1uRGVmcyA9IHRoaXMuc3ZjLmluaXRUYWJsZUNvbHVtbnMoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmNsZWFyRmlsdGVycygpO1xuICAgICAgICB0aGlzLmV4dGVuc2lvblNlcnZpY2U/LmV4dGVuZE9uSW5pdCgpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyc0NoYW5nZWQuc3Vic2NyaWJlKGZpbHRlcnMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQXBwbGllZCA9IGZpbHRlcnMgJiYgZmlsdGVycy5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaERhdGEoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5wYWdlQ2hhbmdlZC5zdWJzY3JpYmUocGFnZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hEYXRhKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmNvbnNvbGVFdmVudHMuY2xvc2VTaWRlTW9kYWwuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZU1vZGFsKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmNvbnNvbGVFdmVudHMucmVmcmVzaERhdGEuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoRGF0YSgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb25zb2xlRXZlbnRzLmVuYWJsZVpBQ0V2ZW50cygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGl0ZW1Ub2dnbGVkKGl0ZW06IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkSXRlbXMoaXRlbSk7XG4gICAgICAgIGNvbnN0IGhhc1NlbGVjdGlvbiA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwO1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc3ZjLnRhYmxlSGVhZGVyQWN0aW9ucy5maW5kSW5kZXgoYSA9PiBhLmFjdGlvbiA9PT0gJ2Rvd25sb2FkLXNlbGVjdGVkJyk7XG4gICAgICAgIGhhc1NlbGVjdGlvbiAmJiBpbmRleCA9PT0gLTEgJiYgdGhpcy5zdmMudGFibGVIZWFkZXJBY3Rpb25zLnB1c2goeyBuYW1lOiAnRG93bmxvYWQgU2VsZWN0ZWQnLCBhY3Rpb246ICdkb3dubG9hZC1zZWxlY3RlZCcgfSk7XG4gICAgICAgICFoYXNTZWxlY3Rpb24gJiYgaW5kZXggIT09IC0xICYmIHRoaXMuc3ZjLnRhYmxlSGVhZGVyQWN0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cblxuICAgIHVwZGF0ZVNlbGVjdGVkSXRlbXModG9nZ2xlZEl0ZW0/OiBhbnkpIHtcbiAgICAgICAgbGV0IGl0ZW1TZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcblxuICAgICAgICB0aGlzLnJvd0RhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzZXJ2ZWQgPSB0aGlzLnJlc2VydmVkTmFtZXM/LmluY2x1ZGVzKGl0ZW0ubmFtZSk7XG4gICAgICAgICAgICBpZiAocmVzZXJ2ZWQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRvZ2dsZWRJdGVtPy5pZCAmJiB0b2dnbGVkSXRlbT8uaWQgPT09IGl0ZW0/LmlkKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IHRvZ2dsZWRJdGVtLnNlbGVjdGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBpdGVtU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pdGVtc1NlbGVjdGVkID0gaXRlbVNlbGVjdGVkO1xuICAgIH1cblxuICAgIHJlZnJlc2hEYXRhKHNvcnQ/OiB7IHNvcnRCeTogc3RyaW5nLCBvcmRlcmluZzogc3RyaW5nIH0sIGhhcmRSZWZyZXNoID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBzb3J0ID0gc29ydCA/IHNvcnQgOiB0aGlzLnN2Yy5jdXJyZW50U29ydDtcbiAgICAgICAgdGhpcy5zdmMuZ2V0RGF0YSh0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVycywgc29ydCwgdGhpcy5maWx0ZXJTZXJ2aWNlLmN1cnJlbnRQYWdlKVxuICAgICAgICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucm93RGF0YSA9IFtdO1xuICAgICAgICAgICAgICAgIGlmIChoYXJkUmVmcmVzaCkge1xuICAgICAgICAgICAgICAgICAgICBkZWZlcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvd0RhdGEgPSBkYXRhLmRhdGE7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93RGF0YSA9IGRhdGEuZGF0YTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRvdGFsQ291bnQgPSBkYXRhLm1ldGEucGFnaW5hdGlvbi50b3RhbENvdW50O1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRDb3VudCA9IChkYXRhLm1ldGEucGFnaW5hdGlvbi5vZmZzZXQgKyAxKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zdGFydENvdW50ICsgZGF0YS5tZXRhLnBhZ2luYXRpb24ubGltaXQgPiB0aGlzLnRvdGFsQ291bnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmRDb3VudCA9IHRoaXMudG90YWxDb3VudDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVuZENvdW50ID0gZGF0YS5tZXRhLnBhZ2luYXRpb24ub2Zmc2V0ICsgZGF0YS5tZXRhLnBhZ2luYXRpb24ubGltaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRJdGVtcygpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaENlbGxzKCk7XG4gICAgICAgICAgICB9KS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRvd25sb2FkQWxsSXRlbXMoKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdmMuZG93bmxvYWRBbGxJdGVtcygpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAnU3VjY2VzcycsXG4gICAgICAgICAgICAgICAgYERvd25sb2FkIEZpbmlzaGVkYCxcbiAgICAgICAgICAgICAgICBgVGhlIHJlcXVlc3RlZCBpdGVtcyBoYXZlIGJlZW4gZG93bmxvYWRlZGAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5ncm93bGVyU3ZjLnNob3coZ3Jvd2xlckRhdGEpO1xuICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBncm93bGVyRGF0YSA9IG5ldyBHcm93bGVyTW9kZWwoXG4gICAgICAgICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAnRXJyb3InLFxuICAgICAgICAgICAgICAgIGBEb3dubG9hZCBGYWlsZWRgLFxuICAgICAgICAgICAgICAgIGBGYWlsZWQgdG8gcmV0cmlldmUgaXRlbXMgZm9yIGRvd25sb2FkYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmdyb3dsZXJTdmMuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3BlbkJ1bGtEZWxldGUoc2VsZWN0ZWRJdGVtczogYW55W10sIGVudGl0eVR5cGVMYWJlbCA9ICdpdGVtKHMpJywgKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gc2VsZWN0ZWRJdGVtcy5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHJvdy5pZDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTmFtZXMgPSBzZWxlY3RlZEl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNvdW50TGFiZWwgPSBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDEgPyBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA6ICcnO1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgYXBwZW5kSWQ6ICdEZWxldGVTZXJ2aWNlcycsXG4gICAgICAgICAgICB0aXRsZTogJ0RlbGV0ZScsXG4gICAgICAgICAgICBtZXNzYWdlOiBgQXJlIHlvdSBzdXJlIHlvdSB3b3VsZCBsaWtlIHRvIGRlbGV0ZSB0aGUgZm9sbG93aW5nICR7Y291bnRMYWJlbH0gJHtlbnRpdHlUeXBlTGFiZWx9P2AsXG4gICAgICAgICAgICBidWxsZXRMaXN0OiBzZWxlY3RlZE5hbWVzLFxuICAgICAgICAgICAgY29uZmlybUxhYmVsOiAnWWVzJyxcbiAgICAgICAgICAgIGNhbmNlbExhYmVsOiAnT29wcywgbm8gZ2V0IG1lIG91dCBvZiBoZXJlJyxcbiAgICAgICAgICAgIGltYWdlVXJsOiAnLi4vLi4vYXNzZXRzL3N2Z3MvQ29uZmlybV9UcmFzaC5zdmcnLFxuICAgICAgICAgICAgc2hvd0NhbmNlbExpbms6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ0Zvcm0ub3BlbihDb25maXJtQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQ/LmNvbmZpcm1lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3ZjLnJlbW92ZUl0ZW1zKHNlbGVjdGVkSWRzKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoRGF0YSh0aGlzLnN2Yy5jdXJyZW50U29ydCk7XG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goKGVycm9yTWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBncm93bGVyRGF0YSA9IG5ldyBHcm93bGVyTW9kZWwoXG4gICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGBEZWxldGUgRmFpbGVkYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGBGYWlsZWQgdG8gZGVsZXRlIGl0ZW0ocyk6ICR7ZXJyb3JNZXNzYWdlfWAsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xlclN2Yy5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFuZGxlRXh0ZW5zaW9uQWN0aW9ucyhldmVudCkge1xuICAgICAgICBsZXQgZXh0ZW5zaW9uRm91bmQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuZXh0ZW5zaW9uU2VydmljZT8ubGlzdEFjdGlvbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZXh0ZW5zaW9uU2VydmljZT8ubGlzdEFjdGlvbnM/LmZvckVhY2goKGV4dEFjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChleHRBY3Rpb24/LmFjdGlvbiA9PT0gZXZlbnQ/LmFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBleHRBY3Rpb24uY2FsbGJhY2soZXZlbnQuaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbkZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZXh0ZW5zaW9uRm91bmQ7XG4gICAgfVxuXG4gICAgZ3JpZFJlYWR5KGV2ZW50KSB7XG4gICAgICAgIHRoaXMuZ3JpZE9iaiA9IGV2ZW50O1xuICAgIH1cblxuICAgIHJlZnJlc2hDZWxscygpIHtcbiAgICAgICAgZGVmZXIoKCkgPT4ge1xuICAgICAgICAgICAgdmFyIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICBmb3JjZTogdHJ1ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLmdyaWRPYmo/LmFwaT8ucmVmcmVzaENlbGxzKHBhcmFtcyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
Copyright NetFoundry Inc.
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { __decorate, __param } from "tslib";
|
|
17
|
-
import { Inject, inject } from '@angular/core';
|
|
18
|
-
import { ZITI_DATA_SERVICE, ZitiDataService } from "../services/ziti-data.service";
|
|
19
|
-
import { SETTINGS_SERVICE } from "../services/settings.service";
|
|
20
|
-
import { isEmpty, cloneDeep } from "lodash";
|
|
21
|
-
import { SHAREDZ_EXTENSION } from "../features/extendable/extensions-noop.service";
|
|
22
|
-
import moment from "moment/moment";
|
|
23
|
-
import { NavigationEnd } from "@angular/router";
|
|
24
|
-
import { TableColumnDefaultComponent } from "../features/data-table/column-headers/table-column-default/table-column-default.component";
|
|
25
|
-
export let ListPageServiceClass = class ListPageServiceClass {
|
|
26
|
-
constructor(settings, filterService, csvDownloadService, extensionService, router) {
|
|
27
|
-
this.settings = settings;
|
|
28
|
-
this.filterService = filterService;
|
|
29
|
-
this.csvDownloadService = csvDownloadService;
|
|
30
|
-
this.extensionService = extensionService;
|
|
31
|
-
this.router = router;
|
|
32
|
-
this.CSV_COLUMNS = [
|
|
33
|
-
{ label: 'Name', path: 'name' },
|
|
34
|
-
{ label: 'ID', path: 'id' },
|
|
35
|
-
{ label: 'Created At', path: 'createdAt' }
|
|
36
|
-
];
|
|
37
|
-
this.basePath = '';
|
|
38
|
-
this.headerComponentParams = {
|
|
39
|
-
filterType: 'TEXTINPUT',
|
|
40
|
-
enableSorting: true
|
|
41
|
-
};
|
|
42
|
-
this.ID_COLUMN_DEF = {
|
|
43
|
-
colId: 'id',
|
|
44
|
-
field: 'id',
|
|
45
|
-
headerName: 'ID',
|
|
46
|
-
headerComponent: TableColumnDefaultComponent,
|
|
47
|
-
headerComponentParams: this.headerComponentParams,
|
|
48
|
-
cellRendererParams: { pathRoot: this.basePath, showIdentityIcons: true },
|
|
49
|
-
onCellClicked: (data) => {
|
|
50
|
-
if (this.hasSelectedText()) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
this.openEditForm(data?.data?.id);
|
|
54
|
-
},
|
|
55
|
-
resizable: true,
|
|
56
|
-
cellClass: 'nf-cell-vert-align tCol',
|
|
57
|
-
sortable: true,
|
|
58
|
-
filter: true,
|
|
59
|
-
hide: true,
|
|
60
|
-
};
|
|
61
|
-
this.DEFAULT_PAGING = {
|
|
62
|
-
filter: "",
|
|
63
|
-
noSearch: false,
|
|
64
|
-
order: "asc",
|
|
65
|
-
page: 1,
|
|
66
|
-
searchOn: "name",
|
|
67
|
-
sort: "name",
|
|
68
|
-
total: 50
|
|
69
|
-
};
|
|
70
|
-
this.totalCount = 0;
|
|
71
|
-
this.menuItems = [];
|
|
72
|
-
this.tableHeaderActions = [];
|
|
73
|
-
this.currentSettings = {};
|
|
74
|
-
this.sideModalOpen = false;
|
|
75
|
-
this.currentSort = {
|
|
76
|
-
sortBy: 'name',
|
|
77
|
-
ordering: 'asc'
|
|
78
|
-
};
|
|
79
|
-
this.nameColumnRenderer = (row) => {
|
|
80
|
-
return `<div class="col cell-name-renderer" data-id="${row?.data?.id}">
|
|
81
|
-
<strong>${row?.data?.name}</strong>
|
|
82
|
-
</div>`;
|
|
83
|
-
};
|
|
84
|
-
this.rolesRenderer = (row) => {
|
|
85
|
-
const colId = row.column.colId;
|
|
86
|
-
let roles = '';
|
|
87
|
-
if (row?.data?.[colId + 'Display']) {
|
|
88
|
-
row?.data?.[colId + 'Display'].forEach((attr) => {
|
|
89
|
-
const className = attr?.name?.indexOf('@') === 0 ? 'attag' : 'hashtag';
|
|
90
|
-
roles += `<div>
|
|
91
|
-
<div class="${className}">${attr.name}</div>
|
|
92
|
-
<div class="tag-name">${attr.name}</div>
|
|
93
|
-
</div>`;
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
row?.data?.[colId]?.forEach((attr) => {
|
|
98
|
-
const className = attr.indexOf('@') === 0 ? 'attag' : 'hashtag';
|
|
99
|
-
roles += `<div>
|
|
100
|
-
<div class="${className}">${attr}</div>
|
|
101
|
-
<div class="tag-name">${attr}</div>
|
|
102
|
-
</div>`;
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
return roles;
|
|
106
|
-
};
|
|
107
|
-
this.createdAtFormatter = (row) => {
|
|
108
|
-
return moment(row?.data?.createdAt).local().format('M/D/YYYY HH:mm A');
|
|
109
|
-
};
|
|
110
|
-
this.dataService = inject(ZITI_DATA_SERVICE);
|
|
111
|
-
this.settings.settingsChange.subscribe((settings) => {
|
|
112
|
-
if (!isEmpty(this.settings?.settings?.session?.id) || this.dataService.dataServiceType === ZitiDataService.NODE_DATA_SERVICE_TYPE) {
|
|
113
|
-
if ((this.currentSettings?.session?.id !== settings?.session?.id || this.dataService.dataServiceType === ZitiDataService.NODE_DATA_SERVICE_TYPE) && this.refreshData) {
|
|
114
|
-
this.refreshData();
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
this.currentSettings = settings;
|
|
118
|
-
});
|
|
119
|
-
router.events.subscribe((event) => {
|
|
120
|
-
if (event => event instanceof NavigationEnd) {
|
|
121
|
-
if (!event?.snapshot?.routeConfig?.path) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
const pathSegments = event.snapshot.routeConfig.path.split('/');
|
|
125
|
-
this.basePath = pathSegments[0];
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
initMenuActions() {
|
|
130
|
-
if (this.extensionService.listActions) {
|
|
131
|
-
this.menuItems = this.menuItems.map((item) => {
|
|
132
|
-
this.extensionService.listActions.forEach((extItem) => {
|
|
133
|
-
if (item.action === extItem.action) {
|
|
134
|
-
item = extItem;
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
return item;
|
|
138
|
-
});
|
|
139
|
-
let filteredActions = this.extensionService.listActions.filter((extItem) => {
|
|
140
|
-
return !this.menuItems.some((item) => {
|
|
141
|
-
return item.action === extItem.action;
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
this.menuItems = [...this.menuItems, ...filteredActions];
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
addListItemExtensionActions(row) {
|
|
148
|
-
if (this.extensionService.listActions) {
|
|
149
|
-
const keys = this.extensionService.listActions.map((action) => {
|
|
150
|
-
return action.action;
|
|
151
|
-
});
|
|
152
|
-
row.actionList = [...row.actionList, ...keys];
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
downloadItems(selectedItems) {
|
|
156
|
-
this.csvDownloadService.download(this.resourceType, selectedItems, this.CSV_COLUMNS, false, false, undefined, false);
|
|
157
|
-
}
|
|
158
|
-
downloadAllItems() {
|
|
159
|
-
const paging = cloneDeep(this.DEFAULT_PAGING);
|
|
160
|
-
paging.total = -1;
|
|
161
|
-
return this.getTableData(this.resourceType, paging, undefined, undefined)
|
|
162
|
-
.then((results) => {
|
|
163
|
-
return this.downloadItems(results?.data);
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
getTableData(resourceType, paging, filters, sort) {
|
|
167
|
-
if (!paging) {
|
|
168
|
-
paging = { ...this.DEFAULT_PAGING };
|
|
169
|
-
}
|
|
170
|
-
if (sort) {
|
|
171
|
-
paging.sort = sort.sortBy;
|
|
172
|
-
paging.order = sort.ordering;
|
|
173
|
-
}
|
|
174
|
-
for (let idx = 0; idx < filters?.length; idx++) {
|
|
175
|
-
paging.noSearch = false;
|
|
176
|
-
paging.searchOn = filters[idx].columnId;
|
|
177
|
-
paging.filter = filters[idx].value;
|
|
178
|
-
paging.rawFilter = true;
|
|
179
|
-
}
|
|
180
|
-
this.filterService.filtering.next(true);
|
|
181
|
-
return this.dataService.get(resourceType, paging, filters).finally(() => {
|
|
182
|
-
this.filterService.filtering.next(false);
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
checkForAssociatedEntities(items, type, associatedType) {
|
|
186
|
-
const itemsWithAssociations = [];
|
|
187
|
-
const promises = [];
|
|
188
|
-
items.forEach((config) => {
|
|
189
|
-
const prom = this.dataService.getSubdata(type, config.id, associatedType).then((result) => {
|
|
190
|
-
const services = result.data || [];
|
|
191
|
-
if (services.length > 0) {
|
|
192
|
-
itemsWithAssociations.push(config);
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
promises.push(prom);
|
|
196
|
-
});
|
|
197
|
-
return Promise.all(promises).then(() => {
|
|
198
|
-
return itemsWithAssociations;
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
removeItems(ids) {
|
|
202
|
-
const promises = [];
|
|
203
|
-
ids.forEach((id) => {
|
|
204
|
-
const prom = this.dataService.delete(this.resourceType, id);
|
|
205
|
-
promises.push(prom);
|
|
206
|
-
});
|
|
207
|
-
return Promise.all(promises).catch((response) => {
|
|
208
|
-
const message = this.dataService.getErrorMessage(response);
|
|
209
|
-
throw message;
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
sort(sortBy, ordering = 'asc') {
|
|
213
|
-
this.currentSort = { sortBy, ordering };
|
|
214
|
-
if (this.refreshData)
|
|
215
|
-
this.refreshData({ sortBy, ordering });
|
|
216
|
-
}
|
|
217
|
-
hasSelectedText() {
|
|
218
|
-
let text = '';
|
|
219
|
-
if (window.getSelection) {
|
|
220
|
-
text = window.getSelection().toString();
|
|
221
|
-
}
|
|
222
|
-
return text?.length > 0;
|
|
223
|
-
}
|
|
224
|
-
getNetworkJwt() {
|
|
225
|
-
return this.dataService.get('network-jwts', {}, []);
|
|
226
|
-
}
|
|
227
|
-
openEditForm(itemId = '', basePath) {
|
|
228
|
-
if (isEmpty(itemId)) {
|
|
229
|
-
itemId = 'create';
|
|
230
|
-
}
|
|
231
|
-
basePath = basePath ? basePath : this.basePath;
|
|
232
|
-
this.router?.navigateByUrl(`${basePath}/${itemId}`);
|
|
233
|
-
}
|
|
234
|
-
remToPx(remValue) {
|
|
235
|
-
const rootFontSize = parseFloat(window.getComputedStyle(document.documentElement).fontSize);
|
|
236
|
-
return remValue * rootFontSize;
|
|
237
|
-
}
|
|
238
|
-
;
|
|
239
|
-
};
|
|
240
|
-
ListPageServiceClass = __decorate([
|
|
241
|
-
__param(0, Inject(SETTINGS_SERVICE)),
|
|
242
|
-
__param(3, Inject(SHAREDZ_EXTENSION))
|
|
243
|
-
], ListPageServiceClass);
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdlLXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvc2hhcmVkL2xpc3QtcGFnZS1zZXJ2aWNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFOztBQUVGLE9BQU8sRUFBWSxNQUFNLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU1qRixPQUFPLEVBQUMsZ0JBQWdCLEVBQWtCLE1BQU0sOEJBQThCLENBQUM7QUFFL0UsT0FBTyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFHMUMsT0FBTyxFQUFtQixpQkFBaUIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ25HLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUNILDJCQUEyQixFQUM5QixNQUFNLDJGQUEyRixDQUFDO0FBRzVGLFdBQWUsb0JBQW9CLEdBQW5DLE1BQWUsb0JBQW9CO0lBaUd0QyxZQUM4QixRQUF3QyxFQUN4RCxhQUFxQyxFQUNyQyxrQkFBc0MsRUFDckIsZ0JBQTRDLEVBQzdELE1BQWU7UUFKVyxhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQUN4RCxrQkFBYSxHQUFiLGFBQWEsQ0FBd0I7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNYLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDN0QsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQS9GN0IsZ0JBQVcsR0FBRztZQUNWLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDO1lBQzdCLEVB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SUFBQSxDQUFDO0NBQ0wsQ0FBQTtBQTNQcUIsb0JBQW9CO0lBa0dqQyxXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBR3hCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7R0FyR1osb0JBQW9CLENBMlB6QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIGluamVjdCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7WklUSV9EQVRBX1NFUlZJQ0UsIFppdGlEYXRhU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL3ppdGktZGF0YS5zZXJ2aWNlXCI7XG5pbXBvcnQge0RhdGFUYWJsZUZpbHRlclNlcnZpY2UsIEZpbHRlck9ian0gZnJvbSBcIi4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHtWYWxpZGF0b3JDYWxsYmFja30gZnJvbSBcIi4uL2ZlYXR1cmVzL2xpc3QtcGFnZS1mZWF0dXJlcy9saXN0LXBhZ2UtZm9ybS9saXN0LXBhZ2UtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7RGlhbG9nUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RpYWxvZ1wiO1xuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7Q29uZmlybUNvbXBvbmVudH0gZnJvbSBcIi4uL2ZlYXR1cmVzL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnRcIjtcbmltcG9ydCB7U0VUVElOR1NfU0VSVklDRSwgU2V0dGluZ3NTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvc2V0dGluZ3Muc2VydmljZVwiO1xuXG5pbXBvcnQge2lzRW1wdHksIGNsb25lRGVlcH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHtDc3ZEb3dubG9hZFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy9jc3YtZG93bmxvYWQuc2VydmljZVwiO1xuaW1wb3J0IHtTZXR0aW5nc1NlcnZpY2VDbGFzc30gZnJvbSBcIi4uL3NlcnZpY2VzL3NldHRpbmdzLXNlcnZpY2UuY2xhc3NcIjtcbmltcG9ydCB7RXh0ZW5zaW9uU2VydmljZSwgU0hBUkVEWl9FWFRFTlNJT059IGZyb20gXCIuLi9mZWF0dXJlcy9leHRlbmRhYmxlL2V4dGVuc2lvbnMtbm9vcC5zZXJ2aWNlXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnQvbW9tZW50XCI7XG5pbXBvcnQge05hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtcbiAgICBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnRcbn0gZnJvbSBcIi4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50XCI7XG5pbXBvcnQge0dyb3dsZXJNb2RlbH0gZnJvbSBcIi4uL2ZlYXR1cmVzL21lc3NhZ2luZy9ncm93bGVyLm1vZGVsXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMaXN0UGFnZVNlcnZpY2VDbGFzcyB7XG5cbiAgICBhYnN0cmFjdCBpbml0VGFibGVDb2x1bW5zKCk6IGFueVtdO1xuICAgIGFic3RyYWN0IGdldERhdGEoZmlsdGVycz86IEZpbHRlck9ialtdLCBzb3J0PzogYW55LCBwYWdlPzogYW55KTogUHJvbWlzZTxhbnlbXT47XG4gICAgYWJzdHJhY3Qgb3BlblVwZGF0ZShlbnRpdHk/OiBhbnkpO1xuICAgIGFic3RyYWN0IHJlc291cmNlVHlwZTogc3RyaW5nO1xuXG4gICAgQ1NWX0NPTFVNTlMgPSBbXG4gICAgICAgIHtsYWJlbDogJ05hbWUnLCBwYXRoOiAnbmFtZSd9LFxuICAgICAgICB7bGFiZWw6ICdJRCcsIHBhdGg6ICdpZCd9LFxuICAgICAgICB7bGFiZWw6ICdDcmVhdGVkIEF0JywgcGF0aDogJ2NyZWF0ZWRBdCd9XG4gICAgXTtcblxuICAgIGJhc2VQYXRoOiBzdHJpbmcgPSAnJztcblxuICAgIGhlYWRlckNvbXBvbmVudFBhcmFtcyA9IHtcbiAgICAgICAgZmlsdGVyVHlwZTogJ1RFWFRJTlBVVCcsXG4gICAgICAgIGVuYWJsZVNvcnRpbmc6IHRydWVcbiAgICB9O1xuXG4gICAgSURfQ09MVU1OX0RFRiA9IHtcbiAgICAgICAgY29sSWQ6ICdpZCcsXG4gICAgICAgIGZpZWxkOiAnaWQnLFxuICAgICAgICBoZWFkZXJOYW1lOiAnSUQnLFxuICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgaGVhZGVyQ29tcG9uZW50UGFyYW1zOiB0aGlzLmhlYWRlckNvbXBvbmVudFBhcmFtcyxcbiAgICAgICAgY2VsbFJlbmRlcmVyUGFyYW1zOiB7IHBhdGhSb290OiB0aGlzLmJhc2VQYXRoLCBzaG93SWRlbnRpdHlJY29uczogdHJ1ZSB9LFxuICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhPy5kYXRhPy5pZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgZmlsdGVyOiB0cnVlLFxuICAgICAgICBoaWRlOiB0cnVlLFxuICAgIH07XG5cbiAgICBERUZBVUxUX1BBR0lORzogYW55ID0ge1xuICAgICAgICBmaWx0ZXI6IFwiXCIsXG4gICAgICAgIG5vU2VhcmNoOiBmYWxzZSxcbiAgICAgICAgb3JkZXI6IFwiYXNjXCIsXG4gICAgICAgIHBhZ2U6IDEsXG4gICAgICAgIHNlYXJjaE9uOiBcIm5hbWVcIixcbiAgICAgICAgc29ydDogXCJuYW1lXCIsXG4gICAgICAgIHRvdGFsOiA1MFxuICAgIH1cbiAgICB0b3RhbENvdW50ID0gMDtcbiAgICBkYXRhU2VydmljZTogWml0aURhdGFTZXJ2aWNlO1xuICAgIHJlZnJlc2hEYXRhOiAoc29ydD86IHtzb3J0Qnk6IHN0cmluZywgb3JkZXJpbmc6IHN0cmluZ30pID0+IHZvaWQgfCB1bmRlZmluZWQ7XG5cbiAgICBzZWxlY3RlZEVudGl0eUlkOiBTdHJpbmc7XG4gICAgbWVudUl0ZW1zOiBhbnkgPSBbXTtcbiAgICB0YWJsZUhlYWRlckFjdGlvbnM6IGFueSA9IFtdO1xuICAgIGN1cnJlbnRTZXR0aW5nczogYW55ID0ge307XG4gICAgZGlhbG9nUmVmOiBhbnk7XG4gICAgc2lkZU1vZGFsT3BlbiA9IGZhbHNlO1xuICAgIGN1cnJlbnRTb3J0ID0ge1xuICAgICAgICBzb3J0Qnk6ICduYW1lJyxcbiAgICAgICAgb3JkZXJpbmc6ICdhc2MnXG4gICAgfTtcblxuICAgIG5hbWVDb2x1bW5SZW5kZXJlciA9IChyb3cpID0+IHtcbiAgICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiY29sIGNlbGwtbmFtZS1yZW5kZXJlclwiIGRhdGEtaWQ9XCIke3Jvdz8uZGF0YT8uaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+JHtyb3c/LmRhdGE/Lm5hbWV9PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgIH1cblxuICAgIHJvbGVzUmVuZGVyZXIgPSAocm93KSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbElkID0gcm93LmNvbHVtbi5jb2xJZDtcbiAgICAgICAgbGV0IHJvbGVzID0gJyc7XG4gICAgICAgIGlmIChyb3c/LmRhdGE/Lltjb2xJZCArICdEaXNwbGF5J10pIHtcbiAgICAgICAgICAgIHJvdz8uZGF0YT8uW2NvbElkICsgJ0Rpc3BsYXknXS5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gYXR0cj8ubmFtZT8uaW5kZXhPZignQCcpID09PSAwID8gJ2F0dGFnJyA6ICdoYXNodGFnJztcbiAgICAgICAgICAgICAgICByb2xlcyArPSBgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiJHtjbGFzc05hbWV9XCI+JHthdHRyLm5hbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZy1uYW1lXCI+JHthdHRyLm5hbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PmA7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvdz8uZGF0YT8uW2NvbElkXT8uZm9yRWFjaCgoYXR0cikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IGF0dHIuaW5kZXhPZignQCcpID09PSAwID8gJ2F0dGFnJyA6ICdoYXNodGFnJztcbiAgICAgICAgICAgICAgICByb2xlcyArPSBgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiJHtjbGFzc05hbWV9XCI+JHthdHRyfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWctbmFtZVwiPiR7YXR0cn08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb2xlcztcbiAgICB9XG5cbiAgICBjcmVhdGVkQXRGb3JtYXR0ZXIgPSAocm93KSA9PiB7XG4gICAgICAgIHJldHVybiBtb21lbnQocm93Py5kYXRhPy5jcmVhdGVkQXQpLmxvY2FsKCkuZm9ybWF0KCdNL0QvWVlZWSBISDptbSBBJyk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoU0VUVElOR1NfU0VSVklDRSkgcHJvdGVjdGVkIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2VDbGFzcyxcbiAgICAgICAgcHJvdGVjdGVkIGZpbHRlclNlcnZpY2U6IERhdGFUYWJsZUZpbHRlclNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBjc3ZEb3dubG9hZFNlcnZpY2U6IENzdkRvd25sb2FkU2VydmljZSxcbiAgICAgICAgQEluamVjdChTSEFSRURaX0VYVEVOU0lPTikgcHJvdGVjdGVkIGV4dGVuc2lvblNlcnZpY2U6IEV4dGVuc2lvblNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCByb3V0ZXI/OiBSb3V0ZXJcbiAgICApIHtcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZSA9IGluamVjdChaSVRJX0RBVEFfU0VSVklDRSk7XG4gICAgICAgIHRoaXMuc2V0dGluZ3Muc2V0dGluZ3NDaGFuZ2Uuc3Vic2NyaWJlKChzZXR0aW5ncykgPT4ge1xuICAgICAgICAgICAgaWYgKCFpc0VtcHR5KHRoaXMuc2V0dGluZ3M/LnNldHRpbmdzPy5zZXNzaW9uPy5pZCkgfHwgdGhpcy5kYXRhU2VydmljZS5kYXRhU2VydmljZVR5cGUgPT09IFppdGlEYXRhU2VydmljZS5OT0RFX0RBVEFfU0VSVklDRV9UWVBFKSB7XG4gICAgICAgICAgICAgICAgaWYgKCh0aGlzLmN1cnJlbnRTZXR0aW5ncz8uc2Vzc2lvbj8uaWQgIT09IHNldHRpbmdzPy5zZXNzaW9uPy5pZCB8fCB0aGlzLmRhdGFTZXJ2aWNlLmRhdGFTZXJ2aWNlVHlwZSA9PT0gWml0aURhdGFTZXJ2aWNlLk5PREVfREFUQV9TRVJWSUNFX1RZUEUpICYmIHRoaXMucmVmcmVzaERhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoRGF0YSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNldHRpbmdzID0gc2V0dGluZ3M7XG4gICAgICAgIH0pO1xuICAgICAgICByb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgIGlmICghZXZlbnQ/LnNuYXBzaG90Py5yb3V0ZUNvbmZpZz8ucGF0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IGV2ZW50LnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGguc3BsaXQoJy8nKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VQYXRoID0gcGF0aFNlZ21lbnRzWzBdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpbml0TWVudUFjdGlvbnMoKSB7XG4gICAgICAgIGlmICh0aGlzLmV4dGVuc2lvblNlcnZpY2UubGlzdEFjdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1zID0gdGhpcy5tZW51SXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHRlbnNpb25TZXJ2aWNlLmxpc3RBY3Rpb25zLmZvckVhY2goKGV4dEl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uYWN0aW9uID09PSBleHRJdGVtLmFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGV4dEl0ZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbGV0IGZpbHRlcmVkQWN0aW9ucyA9IHRoaXMuZXh0ZW5zaW9uU2VydmljZS5saXN0QWN0aW9ucy5maWx0ZXIoKGV4dEl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMubWVudUl0ZW1zLnNvbWUoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uYWN0aW9uID09PSBleHRJdGVtLmFjdGlvbjtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbXMgPSBbLi4udGhpcy5tZW51SXRlbXMsIC4uLmZpbHRlcmVkQWN0aW9uc107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRMaXN0SXRlbUV4dGVuc2lvbkFjdGlvbnMocm93KSB7XG4gICAgICAgIGlmICh0aGlzLmV4dGVuc2lvblNlcnZpY2UubGlzdEFjdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSB0aGlzLmV4dGVuc2lvblNlcnZpY2UubGlzdEFjdGlvbnMubWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWN0aW9uLmFjdGlvbjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcm93LmFjdGlvbkxpc3QgPSBbLi4ucm93LmFjdGlvbkxpc3QsIC4uLmtleXNdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZG93bmxvYWRJdGVtcyhzZWxlY3RlZEl0ZW1zKSB7XG4gICAgICAgIHRoaXMuY3N2RG93bmxvYWRTZXJ2aWNlLmRvd25sb2FkKFxuICAgICAgICAgICAgdGhpcy5yZXNvdXJjZVR5cGUsXG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxuICAgICAgICAgICAgdGhpcy5DU1ZfQ09MVU1OUyxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRvd25sb2FkQWxsSXRlbXMoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgcGFnaW5nID0gY2xvbmVEZWVwKHRoaXMuREVGQVVMVF9QQUdJTkcpO1xuICAgICAgICBwYWdpbmcudG90YWwgPSAtMTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGFibGVEYXRhKHRoaXMucmVzb3VyY2VUeXBlLCBwYWdpbmcsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvd25sb2FkSXRlbXMocmVzdWx0cz8uZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRUYWJsZURhdGEocmVzb3VyY2VUeXBlOiBzdHJpbmcsIHBhZ2luZzogYW55LCBmaWx0ZXJzPzogRmlsdGVyT2JqW10sIHNvcnQ/OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBpZiAoIXBhZ2luZykge1xuICAgICAgICAgICAgcGFnaW5nID0gey4uLnRoaXMuREVGQVVMVF9QQUdJTkd9O1xuICAgICAgICB9XG4gICAgICAgIGlmKHNvcnQpIHtcbiAgICAgICAgICAgIHBhZ2luZy5zb3J0ID0gc29ydC5zb3J0Qnk7XG4gICAgICAgICAgICBwYWdpbmcub3JkZXIgPSBzb3J0Lm9yZGVyaW5nO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IGZpbHRlcnM/Lmxlbmd0aDsgaWR4KyspIHtcbiAgICAgICAgICAgIHBhZ2luZy5ub1NlYXJjaCA9IGZhbHNlO1xuICAgICAgICAgICAgcGFnaW5nLnNlYXJjaE9uID0gZmlsdGVyc1tpZHhdLmNvbHVtbklkO1xuICAgICAgICAgICAgcGFnaW5nLmZpbHRlciA9IGZpbHRlcnNbaWR4XS52YWx1ZTtcbiAgICAgICAgICAgIHBhZ2luZy5yYXdGaWx0ZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXJpbmcubmV4dCh0cnVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuZ2V0KHJlc291cmNlVHlwZSwgcGFnaW5nLCBmaWx0ZXJzKS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXJpbmcubmV4dChmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNoZWNrRm9yQXNzb2NpYXRlZEVudGl0aWVzKGl0ZW1zLCB0eXBlLCBhc3NvY2lhdGVkVHlwZSkge1xuICAgICAgICBjb25zdCBpdGVtc1dpdGhBc3NvY2lhdGlvbnMgPSBbXTtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXTtcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoY29uZmlnKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9tID0gdGhpcy5kYXRhU2VydmljZS5nZXRTdWJkYXRhKHR5cGUsIGNvbmZpZy5pZCwgYXNzb2NpYXRlZFR5cGUpLnRoZW4oKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VydmljZXMgPSByZXN1bHQuZGF0YSB8fCBbXTtcbiAgICAgICAgICAgICAgICBpZiAoc2VydmljZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtc1dpdGhBc3NvY2lhdGlvbnMucHVzaChjb25maWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcHJvbWlzZXMucHVzaChwcm9tKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcykudGhlbigoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbXNXaXRoQXNzb2NpYXRpb25zO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVJdGVtcyhpZHM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW107XG4gICAgICAgIGlkcy5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvbSA9IHRoaXMuZGF0YVNlcnZpY2UuZGVsZXRlKHRoaXMucmVzb3VyY2VUeXBlLCBpZCk7XG4gICAgICAgICAgICBwcm9taXNlcy5wdXNoKHByb20pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKS5jYXRjaCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldEVycm9yTWVzc2FnZShyZXNwb25zZSk7XG4gICAgICAgICAgICB0aHJvdyBtZXNzYWdlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzb3J0KHNvcnRCeSwgb3JkZXJpbmc9ICdhc2MnKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFNvcnQgPSB7c29ydEJ5LCBvcmRlcmluZ307XG4gICAgICAgIGlmKHRoaXMucmVmcmVzaERhdGEpIHRoaXMucmVmcmVzaERhdGEoe3NvcnRCeSwgb3JkZXJpbmd9KTtcbiAgICB9XG5cbiAgICBoYXNTZWxlY3RlZFRleHQoKSB7XG4gICAgICAgIGxldCB0ZXh0ID0gJyc7XG4gICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICB0ZXh0ID0gd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRleHQ/Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0TmV0d29ya0p3dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuZ2V0KCduZXR3b3JrLWp3dHMnLCB7fSwgW10pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuRWRpdEZvcm0oaXRlbUlkID0gJycsIGJhc2VQYXRoPykge1xuICAgICAgICBpZiAoaXNFbXB0eShpdGVtSWQpKSB7XG4gICAgICAgICAgICBpdGVtSWQgPSAnY3JlYXRlJztcbiAgICAgICAgfVxuICAgICAgICBiYXNlUGF0aCA9IGJhc2VQYXRoID8gYmFzZVBhdGggOiB0aGlzLmJhc2VQYXRoO1xuICAgICAgICB0aGlzLnJvdXRlcj8ubmF2aWdhdGVCeVVybChgJHtiYXNlUGF0aH0vJHtpdGVtSWR9YCk7XG4gICAgfVxuXG4gICAgcmVtVG9QeChyZW1WYWx1ZSkge1xuICAgICAgICBjb25zdCByb290Rm9udFNpemU6IGFueSA9IHBhcnNlRmxvYXQod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSk7XG4gICAgICAgIHJldHVybiByZW1WYWx1ZSAqIHJvb3RGb250U2l6ZTtcbiAgICB9O1xufVxuIl19
|
package/esm2022/lib/urls.mjs
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export const URLS = {
|
|
2
|
-
ZITI_ATTRIBUTES: '/attributes',
|
|
3
|
-
ZITI_DASHBOARD: '/dashboard',
|
|
4
|
-
ZITI_IDENTITIES: '/identities',
|
|
5
|
-
ZITI_JWT_SIGNERS: '/jwt-signers',
|
|
6
|
-
ZITI_SERVICES: '/services',
|
|
7
|
-
ZITI_SERVICE_SELECT: '/services/select',
|
|
8
|
-
ZITI_SIMPLE_SERVICE: 'services/simple',
|
|
9
|
-
ZITI_ADVANCED_SERVICE: 'services/advanced',
|
|
10
|
-
ZITI_ROUTERS: '/routers',
|
|
11
|
-
ZITI_TRANSIT_ROUTERS: '/transit-routers',
|
|
12
|
-
ZITI_CONFIGS: '/configs',
|
|
13
|
-
ZITI_CONFIG_TYPES: '/config-types',
|
|
14
|
-
ZITI_RECIPES: '/recipes',
|
|
15
|
-
ZITI_TERMINATORS: '/terminators',
|
|
16
|
-
ZITI_AUTH_POLICIES: '/auth-policies',
|
|
17
|
-
ZITI_SERVICE_POLICIES: '/service-policies',
|
|
18
|
-
ZITI_ROUTER_POLICIES: '/router-policies',
|
|
19
|
-
ZITI_SERVICE_ROUTER_POLICIES: '/service-router-policies',
|
|
20
|
-
ZITI_POSTURE_CHECKS: '/posture-checks',
|
|
21
|
-
ZITI_BROWZER_CAS: '/browzer-cert-auth',
|
|
22
|
-
ZITI_CERT_AUTHORITIES: '/certificate-authorities',
|
|
23
|
-
ZITI_SESSIONS: '/sessions',
|
|
24
|
-
ZITI_API_SESSIONS: '/api-sessions',
|
|
25
|
-
ZITI_LOGIN: '/login',
|
|
26
|
-
ZITI_ORGANIZATION: '/organization',
|
|
27
|
-
ZITI_PROFILE: '/profile',
|
|
28
|
-
ZITI_SERVERS: '/servers',
|
|
29
|
-
ZITI_SETTINGS: '/settings',
|
|
30
|
-
ZITI_CUSTOM_FIELDS: '/custom-fields',
|
|
31
|
-
ZAC_LOGIN: '/login',
|
|
32
|
-
NETWORK_VISUALIZER: '/network-visualizer',
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi91cmxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRztJQUNsQixlQUFlLEVBQUUsYUFBYTtJQUM5QixjQUFjLEVBQUUsWUFBWTtJQUM1QixlQUFlLEVBQUUsYUFBYTtJQUM5QixnQkFBZ0IsRUFBRSxjQUFjO0lBQ2hDLGFBQWEsRUFBRSxXQUFXO0lBQzFCLG1CQUFtQixFQUFFLGtCQUFrQjtJQUN2QyxtQkFBbUIsRUFBRSxpQkFBaUI7SUFDdEMscUJBQXFCLEVBQUUsbUJBQW1CO0lBQzFDLFlBQVksRUFBRSxVQUFVO0lBQ3hCLG9CQUFvQixFQUFFLGtCQUFrQjtJQUN4QyxZQUFZLEVBQUUsVUFBVTtJQUN4QixpQkFBaUIsRUFBRSxlQUFlO0lBQ2xDLFlBQVksRUFBRSxVQUFVO0lBQ3hCLGdCQUFnQixFQUFFLGNBQWM7SUFDaEMsa0JBQWtCLEVBQUUsZ0JBQWdCO0lBQ3BDLHFCQUFxQixFQUFFLG1CQUFtQjtJQUMxQyxvQkFBb0IsRUFBRSxrQkFBa0I7SUFDeEMsNEJBQTRCLEVBQUUsMEJBQTBCO0lBQ3hELG1CQUFtQixFQUFFLGlCQUFpQjtJQUN0QyxnQkFBZ0IsRUFBRSxvQkFBb0I7SUFDdEMscUJBQXFCLEVBQUUsMEJBQTBCO0lBQ2pELGFBQWEsRUFBRSxXQUFXO0lBQzFCLGlCQUFpQixFQUFFLGVBQWU7SUFDbEMsVUFBVSxFQUFFLFFBQVE7SUFDcEIsaUJBQWlCLEVBQUUsZUFBZTtJQUNsQyxZQUFZLEVBQUUsVUFBVTtJQUN4QixZQUFZLEVBQUUsVUFBVTtJQUN4QixhQUFhLEVBQUUsV0FBVztJQUMxQixrQkFBa0IsRUFBRSxnQkFBZ0I7SUFDcEMsU0FBUyxFQUFFLFFBQVE7SUFDbkIsa0JBQWtCLEVBQUUscUJBQXFCO0NBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVVJMUyA9IHtcbiAgWklUSV9BVFRSSUJVVEVTOiAnL2F0dHJpYnV0ZXMnLFxuICBaSVRJX0RBU0hCT0FSRDogJy9kYXNoYm9hcmQnLFxuICBaSVRJX0lERU5USVRJRVM6ICcvaWRlbnRpdGllcycsXG4gIFpJVElfSldUX1NJR05FUlM6ICcvand0LXNpZ25lcnMnLFxuICBaSVRJX1NFUlZJQ0VTOiAnL3NlcnZpY2VzJyxcbiAgWklUSV9TRVJWSUNFX1NFTEVDVDogJy9zZXJ2aWNlcy9zZWxlY3QnLFxuICBaSVRJX1NJTVBMRV9TRVJWSUNFOiAnc2VydmljZXMvc2ltcGxlJyxcbiAgWklUSV9BRFZBTkNFRF9TRVJWSUNFOiAnc2VydmljZXMvYWR2YW5jZWQnLFxuICBaSVRJX1JPVVRFUlM6ICcvcm91dGVycycsXG4gIFpJVElfVFJBTlNJVF9ST1VURVJTOiAnL3RyYW5zaXQtcm91dGVycycsXG4gIFpJVElfQ09ORklHUzogJy9jb25maWdzJyxcbiAgWklUSV9DT05GSUdfVFlQRVM6ICcvY29uZmlnLXR5cGVzJyxcbiAgWklUSV9SRUNJUEVTOiAnL3JlY2lwZXMnLFxuICBaSVRJX1RFUk1JTkFUT1JTOiAnL3Rlcm1pbmF0b3JzJyxcbiAgWklUSV9BVVRIX1BPTElDSUVTOiAnL2F1dGgtcG9saWNpZXMnLFxuICBaSVRJX1NFUlZJQ0VfUE9MSUNJRVM6ICcvc2VydmljZS1wb2xpY2llcycsXG4gIFpJVElfUk9VVEVSX1BPTElDSUVTOiAnL3JvdXRlci1wb2xpY2llcycsXG4gIFpJVElfU0VSVklDRV9ST1VURVJfUE9MSUNJRVM6ICcvc2VydmljZS1yb3V0ZXItcG9saWNpZXMnLFxuICBaSVRJX1BPU1RVUkVfQ0hFQ0tTOiAnL3Bvc3R1cmUtY2hlY2tzJyxcbiAgWklUSV9CUk9XWkVSX0NBUzogJy9icm93emVyLWNlcnQtYXV0aCcsXG4gIFpJVElfQ0VSVF9BVVRIT1JJVElFUzogJy9jZXJ0aWZpY2F0ZS1hdXRob3JpdGllcycsXG4gIFpJVElfU0VTU0lPTlM6ICcvc2Vzc2lvbnMnLFxuICBaSVRJX0FQSV9TRVNTSU9OUzogJy9hcGktc2Vzc2lvbnMnLFxuICBaSVRJX0xPR0lOOiAnL2xvZ2luJyxcbiAgWklUSV9PUkdBTklaQVRJT046ICcvb3JnYW5pemF0aW9uJyxcbiAgWklUSV9QUk9GSUxFOiAnL3Byb2ZpbGUnLFxuICBaSVRJX1NFUlZFUlM6ICcvc2VydmVycycsXG4gIFpJVElfU0VUVElOR1M6ICcvc2V0dGluZ3MnLFxuICBaSVRJX0NVU1RPTV9GSUVMRFM6ICcvY3VzdG9tLWZpZWxkcycsXG4gIFpBQ19MT0dJTjogJy9sb2dpbicsXG4gIE5FVFdPUktfVklTVUFMSVpFUjogJy9uZXR3b3JrLXZpc3VhbGl6ZXInLFxufTtcbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
Copyright NetFoundry Inc.
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { NgModule } from '@angular/core';
|
|
17
|
-
import { RouterModule } from '@angular/router';
|
|
18
|
-
import * as i0 from "@angular/core";
|
|
19
|
-
import * as i1 from "@angular/router";
|
|
20
|
-
const routes = [];
|
|
21
|
-
export class ZacRoutingModule {
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZacRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
23
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ZacRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
|
|
24
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZacRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZacRoutingModule, decorators: [{
|
|
27
|
-
type: NgModule,
|
|
28
|
-
args: [{
|
|
29
|
-
declarations: [],
|
|
30
|
-
exports: [RouterModule],
|
|
31
|
-
imports: [RouterModule.forChild(routes)],
|
|
32
|
-
}]
|
|
33
|
-
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemFjLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL3phYy1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBUyxNQUFNLGlCQUFpQixDQUFDOzs7QUFFckQsTUFBTSxNQUFNLEdBQVcsRUFBRSxDQUFDO0FBTzFCLE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLHdDQUhmLFlBQVk7Z0hBR2IsZ0JBQWdCLFlBRmYsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFEN0IsWUFBWTs7NEZBR2IsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZHVsZSwgUm91dGVzfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW10sXG4gICAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG4gICAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbn0pXG5leHBvcnQgY2xhc3MgWmFjUm91dGluZ01vZHVsZSB7XG59XG4iXX0=
|