@openziti/ziti-console-lib 1.0.2 → 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 +2136 -1327
- 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 -76
- 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
package/esm2022/lib/features/data-table/cells/table-cell-token/table-cell-token.component.mjs
DELETED
|
@@ -1,123 +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 { Component } from '@angular/core';
|
|
17
|
-
import { isEmpty } from 'lodash';
|
|
18
|
-
import { QrCodeComponent } from "../../../qr-code/qr-code.component";
|
|
19
|
-
import moment from "moment";
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "@angular/material/dialog";
|
|
22
|
-
import * as i2 from "@angular/common";
|
|
23
|
-
export class TableCellTokenComponent {
|
|
24
|
-
constructor(dialogForm) {
|
|
25
|
-
this.dialogForm = dialogForm;
|
|
26
|
-
}
|
|
27
|
-
agInit(params) {
|
|
28
|
-
this.cellParams = params;
|
|
29
|
-
this.item = params.data;
|
|
30
|
-
}
|
|
31
|
-
get tokenExpired() {
|
|
32
|
-
const expiration = this.getEnrollmentExpiration(this.item);
|
|
33
|
-
if (expiration) {
|
|
34
|
-
return moment(expiration).isBefore();
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
get hasEnrolmentToken() {
|
|
41
|
-
let token;
|
|
42
|
-
let expiration;
|
|
43
|
-
if (this.item?.enrollment?.ott?.jwt) {
|
|
44
|
-
token = this.item?.enrollment?.ott?.jwt;
|
|
45
|
-
expiration = this.item?.enrollment?.ott?.expiresAt;
|
|
46
|
-
}
|
|
47
|
-
else if (this.item?.enrollment?.ottca?.jwt) {
|
|
48
|
-
token = this.item?.enrollment?.ottca?.jwt;
|
|
49
|
-
expiration = this.item?.enrollment?.ottca?.expiresAt;
|
|
50
|
-
}
|
|
51
|
-
else if (this.item?.enrollment?.updb?.jwt) {
|
|
52
|
-
token = this.item?.enrollment?.updb?.jwt;
|
|
53
|
-
expiration = this.item?.enrollment?.updb?.expiresAt;
|
|
54
|
-
}
|
|
55
|
-
return this.item.enrollmentToken || (token && !moment(expiration).isBefore());
|
|
56
|
-
}
|
|
57
|
-
getJWT(item) {
|
|
58
|
-
if (!isEmpty(item.enrollmentJwt)) {
|
|
59
|
-
return item.enrollmentJwt;
|
|
60
|
-
}
|
|
61
|
-
let qrCode;
|
|
62
|
-
if (!isEmpty(item?.enrollment?.ott?.jwt)) {
|
|
63
|
-
qrCode = item?.enrollment?.ott?.jwt;
|
|
64
|
-
}
|
|
65
|
-
else if (!isEmpty(item?.enrollment?.ottca?.jwt)) {
|
|
66
|
-
qrCode = item?.enrollment?.ottca?.jwt;
|
|
67
|
-
}
|
|
68
|
-
else if (!isEmpty(item?.enrollment?.updb?.jwt)) {
|
|
69
|
-
qrCode = item?.enrollment?.updb?.jwt;
|
|
70
|
-
}
|
|
71
|
-
return qrCode;
|
|
72
|
-
}
|
|
73
|
-
getEnrollmentExpiration(item) {
|
|
74
|
-
if (!isEmpty(item?.enrollmentExpiresAt)) {
|
|
75
|
-
return item.enrollmentExpiresAt;
|
|
76
|
-
}
|
|
77
|
-
let expiresAt;
|
|
78
|
-
if (!isEmpty(item?.enrollment?.ott?.expiresAt)) {
|
|
79
|
-
expiresAt = item?.enrollment?.ott?.expiresAt;
|
|
80
|
-
}
|
|
81
|
-
else if (!isEmpty(item?.enrollment?.ottca?.expiresAt)) {
|
|
82
|
-
expiresAt = item?.enrollment?.ottca?.expiresAt;
|
|
83
|
-
}
|
|
84
|
-
else if (!isEmpty(item?.enrollment?.updb?.expiresAt)) {
|
|
85
|
-
expiresAt = item?.enrollment?.updb?.expiresAt;
|
|
86
|
-
}
|
|
87
|
-
return expiresAt;
|
|
88
|
-
}
|
|
89
|
-
downloadCert() {
|
|
90
|
-
const jwt = this.getJWT(this.item);
|
|
91
|
-
const element = document.createElement('a');
|
|
92
|
-
element.setAttribute('href', 'data:application/ziti-jwt;charset=utf-8,' + encodeURIComponent(jwt));
|
|
93
|
-
element.setAttribute('download', this.item.name + ".jwt");
|
|
94
|
-
element.style.display = 'none';
|
|
95
|
-
document.body.appendChild(element);
|
|
96
|
-
element.click();
|
|
97
|
-
document.body.removeChild(element);
|
|
98
|
-
}
|
|
99
|
-
showQRCode() {
|
|
100
|
-
const data = {
|
|
101
|
-
jwt: this.getJWT(this.item),
|
|
102
|
-
expiration: this.getEnrollmentExpiration(this.item),
|
|
103
|
-
qrCodeSize: 400,
|
|
104
|
-
identity: this.item
|
|
105
|
-
};
|
|
106
|
-
this.dialogRef = this.dialogForm.open(QrCodeComponent, {
|
|
107
|
-
data: data,
|
|
108
|
-
autoFocus: false,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
refresh(params) {
|
|
112
|
-
this.cellParams = params;
|
|
113
|
-
this.item = params.data;
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCellTokenComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
117
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableCellTokenComponent, selector: "lib-table-cell-token", ngImport: i0, template: "<div *ngIf=\"hasEnrolmentToken && !tokenExpired\">\n <span class=\"cert\" (click)=\"downloadCert()\"></span>\n <span class=\"qr icon-qr\" *ngIf=\"!item.enrollmentJwt\" (click)=\"showQRCode()\"></span>\n</div>\n<div *ngIf=\"hasEnrolmentToken && tokenExpired\">\n <span>Enrollment Expired</span>\n</div>\n<div *ngIf=\"!hasEnrolmentToken\">\n --\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
118
|
-
}
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCellTokenComponent, decorators: [{
|
|
120
|
-
type: Component,
|
|
121
|
-
args: [{ selector: 'lib-table-cell-token', template: "<div *ngIf=\"hasEnrolmentToken && !tokenExpired\">\n <span class=\"cert\" (click)=\"downloadCert()\"></span>\n <span class=\"qr icon-qr\" *ngIf=\"!item.enrollmentJwt\" (click)=\"showQRCode()\"></span>\n</div>\n<div *ngIf=\"hasEnrolmentToken && tokenExpired\">\n <span>Enrollment Expired</span>\n</div>\n<div *ngIf=\"!hasEnrolmentToken\">\n --\n</div>" }]
|
|
122
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC10b2tlbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvZGF0YS10YWJsZS9jZWxscy90YWJsZS1jZWxsLXRva2VuL3RhYmxlLWNlbGwtdG9rZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC10b2tlbi90YWJsZS1jZWxsLXRva2VuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkxQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRS9CLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7QUFPNUIsTUFBTSxPQUFPLHVCQUF1QjtJQU1sQyxZQUFtQixVQUFxQjtRQUFyQixlQUFVLEdBQVYsVUFBVSxDQUFXO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBMkI7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDdEM7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsSUFBSSxLQUFLLENBQUM7UUFDVixJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtZQUNuQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQTtZQUN2QyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQztTQUNwRDthQUFNLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtZQUM1QyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztZQUMxQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQztTQUN0RDthQUFNLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRTtZQUMzQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztZQUN6QyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQztTQUNyRDtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVM7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDM0I7UUFDRCxJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDeEMsTUFBTSxHQUFHLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztTQUNyQzthQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDakQsTUFBTSxHQUFHLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQztTQUN2QzthQUFNLElBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDL0MsTUFBTSxHQUFHLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztTQUN0QztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxJQUFTO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDakM7UUFDRCxJQUFJLFNBQVMsQ0FBQztRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDOUMsU0FBUyxHQUFHLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQztTQUM5QzthQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDdkQsU0FBUyxHQUFHLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQztTQUNoRDthQUFNLElBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDckQsU0FBUyxHQUFHLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQztTQUMvQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSwwQ0FBMEMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25HLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLElBQUksR0FBRztZQUNYLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0IsVUFBVSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ25ELFVBQVUsRUFBRSxHQUFHO1lBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNyRCxJQUFJLEVBQUUsSUFBSTtZQUNWLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBZ0M7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzsrR0FqR1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsNERDL0JwQyw0V0FTTTs7NEZEc0JPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wfSBmcm9tIFwiYWctZ3JpZC1hbmd1bGFyXCI7XG5pbXBvcnQge0lDZWxsUmVuZGVyZXJQYXJhbXN9IGZyb20gXCJhZy1ncmlkLWNvbW11bml0eVwiO1xuXG5pbXBvcnQge2lzRW1wdHl9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHtRckNvZGVDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9xci1jb2RlL3FyLWNvZGUuY29tcG9uZW50XCI7XG5cbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUtY2VsbC10b2tlbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jZWxsLXRva2VuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC10b2tlbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2VsbFRva2VuQ29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcblxuICBjZWxsUGFyYW1zOiBhbnk7XG4gIGl0ZW06IGFueTtcbiAgZGlhbG9nUmVmOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ0Zvcm06IE1hdERpYWxvZykge1xuICB9XG5cbiAgYWdJbml0KHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuY2VsbFBhcmFtcyA9IHBhcmFtcztcbiAgICB0aGlzLml0ZW0gPSBwYXJhbXMuZGF0YTtcbiAgfVxuXG4gIGdldCB0b2tlbkV4cGlyZWQoKSB7XG4gICAgY29uc3QgZXhwaXJhdGlvbiA9IHRoaXMuZ2V0RW5yb2xsbWVudEV4cGlyYXRpb24odGhpcy5pdGVtKTtcbiAgICBpZiAoZXhwaXJhdGlvbikge1xuICAgICAgcmV0dXJuIG1vbWVudChleHBpcmF0aW9uKS5pc0JlZm9yZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGhhc0Vucm9sbWVudFRva2VuKCkge1xuICAgIGxldCB0b2tlbjtcbiAgICBsZXQgZXhwaXJhdGlvbjtcbiAgICBpZiAodGhpcy5pdGVtPy5lbnJvbGxtZW50Py5vdHQ/Lmp3dCkge1xuICAgICAgdG9rZW4gPSB0aGlzLml0ZW0/LmVucm9sbG1lbnQ/Lm90dD8uand0XG4gICAgICBleHBpcmF0aW9uID0gdGhpcy5pdGVtPy5lbnJvbGxtZW50Py5vdHQ/LmV4cGlyZXNBdDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbT8uZW5yb2xsbWVudD8ub3R0Y2E/Lmp3dCkge1xuICAgICAgdG9rZW4gPSB0aGlzLml0ZW0/LmVucm9sbG1lbnQ/Lm90dGNhPy5qd3Q7XG4gICAgICBleHBpcmF0aW9uID0gdGhpcy5pdGVtPy5lbnJvbGxtZW50Py5vdHRjYT8uZXhwaXJlc0F0O1xuICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtPy5lbnJvbGxtZW50Py51cGRiPy5qd3QpIHtcbiAgICAgIHRva2VuID0gdGhpcy5pdGVtPy5lbnJvbGxtZW50Py51cGRiPy5qd3Q7XG4gICAgICBleHBpcmF0aW9uID0gdGhpcy5pdGVtPy5lbnJvbGxtZW50Py51cGRiPy5leHBpcmVzQXQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLml0ZW0uZW5yb2xsbWVudFRva2VuIHx8ICh0b2tlbiAmJiAhbW9tZW50KGV4cGlyYXRpb24pLmlzQmVmb3JlKCkpO1xuICB9XG5cbiAgZ2V0SldUKGl0ZW06IGFueSkge1xuICAgIGlmICghaXNFbXB0eShpdGVtLmVucm9sbG1lbnRKd3QpKSB7XG4gICAgICByZXR1cm4gaXRlbS5lbnJvbGxtZW50Snd0O1xuICAgIH1cbiAgICBsZXQgcXJDb2RlO1xuICAgIGlmICghaXNFbXB0eShpdGVtPy5lbnJvbGxtZW50Py5vdHQ/Lmp3dCkpIHtcbiAgICAgIHFyQ29kZSA9IGl0ZW0/LmVucm9sbG1lbnQ/Lm90dD8uand0O1xuICAgIH0gZWxzZSBpZiAoIWlzRW1wdHkoaXRlbT8uZW5yb2xsbWVudD8ub3R0Y2E/Lmp3dCkpIHtcbiAgICAgIHFyQ29kZSA9IGl0ZW0/LmVucm9sbG1lbnQ/Lm90dGNhPy5qd3Q7XG4gICAgfSBlbHNlIGlmKCFpc0VtcHR5KGl0ZW0/LmVucm9sbG1lbnQ/LnVwZGI/Lmp3dCkpIHtcbiAgICAgIHFyQ29kZSA9IGl0ZW0/LmVucm9sbG1lbnQ/LnVwZGI/Lmp3dDtcbiAgICB9XG4gICAgcmV0dXJuIHFyQ29kZTtcbiAgfVxuXG4gIGdldEVucm9sbG1lbnRFeHBpcmF0aW9uKGl0ZW06IGFueSkge1xuICAgIGlmICghaXNFbXB0eShpdGVtPy5lbnJvbGxtZW50RXhwaXJlc0F0KSkge1xuICAgICAgcmV0dXJuIGl0ZW0uZW5yb2xsbWVudEV4cGlyZXNBdDtcbiAgICB9XG4gICAgbGV0IGV4cGlyZXNBdDtcbiAgICBpZiAoIWlzRW1wdHkoaXRlbT8uZW5yb2xsbWVudD8ub3R0Py5leHBpcmVzQXQpKSB7XG4gICAgICBleHBpcmVzQXQgPSBpdGVtPy5lbnJvbGxtZW50Py5vdHQ/LmV4cGlyZXNBdDtcbiAgICB9IGVsc2UgaWYgKCFpc0VtcHR5KGl0ZW0/LmVucm9sbG1lbnQ/Lm90dGNhPy5leHBpcmVzQXQpKSB7XG4gICAgICBleHBpcmVzQXQgPSBpdGVtPy5lbnJvbGxtZW50Py5vdHRjYT8uZXhwaXJlc0F0O1xuICAgIH0gZWxzZSBpZighaXNFbXB0eShpdGVtPy5lbnJvbGxtZW50Py51cGRiPy5leHBpcmVzQXQpKSB7XG4gICAgICBleHBpcmVzQXQgPSBpdGVtPy5lbnJvbGxtZW50Py51cGRiPy5leHBpcmVzQXQ7XG4gICAgfVxuICAgIHJldHVybiBleHBpcmVzQXQ7XG4gIH1cblxuICBkb3dubG9hZENlcnQoKSB7XG4gICAgY29uc3Qgand0ID0gdGhpcy5nZXRKV1QodGhpcy5pdGVtKTtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdocmVmJywgJ2RhdGE6YXBwbGljYXRpb24veml0aS1qd3Q7Y2hhcnNldD11dGYtOCwnICsgZW5jb2RlVVJJQ29tcG9uZW50KGp3dCkpO1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIHRoaXMuaXRlbS5uYW1lK1wiLmp3dFwiKTtcbiAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICBlbGVtZW50LmNsaWNrKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50KTtcbiAgfVxuXG4gIHNob3dRUkNvZGUoKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGp3dDogdGhpcy5nZXRKV1QodGhpcy5pdGVtKSxcbiAgICAgIGV4cGlyYXRpb246IHRoaXMuZ2V0RW5yb2xsbWVudEV4cGlyYXRpb24odGhpcy5pdGVtKSxcbiAgICAgIHFyQ29kZVNpemU6IDQwMCxcbiAgICAgIGlkZW50aXR5OiB0aGlzLml0ZW1cbiAgICB9O1xuICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dGb3JtLm9wZW4oUXJDb2RlQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiBkYXRhLFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlZnJlc2gocGFyYW1zOiBJQ2VsbFJlbmRlcmVyUGFyYW1zPGFueT4pOiBib29sZWFuIHtcbiAgICB0aGlzLmNlbGxQYXJhbXMgPSBwYXJhbXM7XG4gICAgdGhpcy5pdGVtID0gcGFyYW1zLmRhdGE7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJoYXNFbnJvbG1lbnRUb2tlbiAmJiAhdG9rZW5FeHBpcmVkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJjZXJ0XCIgKGNsaWNrKT1cImRvd25sb2FkQ2VydCgpXCI+PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwicXIgaWNvbi1xclwiICpuZ0lmPVwiIWl0ZW0uZW5yb2xsbWVudEp3dFwiIChjbGljayk9XCJzaG93UVJDb2RlKClcIj48L3NwYW4+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJoYXNFbnJvbG1lbnRUb2tlbiAmJiB0b2tlbkV4cGlyZWRcIj5cbiAgICA8c3Bhbj5FbnJvbGxtZW50IEV4cGlyZWQ8L3NwYW4+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhaGFzRW5yb2xtZW50VG9rZW5cIj5cbiAgICAtLVxuPC9kaXY+Il19
|
|
@@ -1,268 +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 { Component, ViewChild } from '@angular/core';
|
|
17
|
-
import _ from 'lodash';
|
|
18
|
-
import { Subscription } from "rxjs";
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "../../data-table-filter.service";
|
|
21
|
-
import * as i2 from "@angular/common";
|
|
22
|
-
import * as i3 from "ng-click-outside";
|
|
23
|
-
import * as i4 from "../table-column-filter/table-column-filter.component";
|
|
24
|
-
export class TableColumnDefaultComponent {
|
|
25
|
-
constructor(filterService) {
|
|
26
|
-
this.filterService = filterService;
|
|
27
|
-
this.headerParams = {
|
|
28
|
-
api: {},
|
|
29
|
-
};
|
|
30
|
-
this.columnDef = {
|
|
31
|
-
sortDir: undefined,
|
|
32
|
-
colId: undefined,
|
|
33
|
-
pinColumn: undefined,
|
|
34
|
-
sortColumn: undefined,
|
|
35
|
-
};
|
|
36
|
-
this.filterType = 'TEXTINPUT';
|
|
37
|
-
this.filterOptions = [];
|
|
38
|
-
this.columnFilters = {};
|
|
39
|
-
this.filtering = false;
|
|
40
|
-
this.showFilter = false;
|
|
41
|
-
this.comboActive = false;
|
|
42
|
-
this.showSecondaryFilter = false;
|
|
43
|
-
this.showBubble = false;
|
|
44
|
-
this.showLoader = false;
|
|
45
|
-
this.subscription = new Subscription();
|
|
46
|
-
this._statusClass = 'v7Offline';
|
|
47
|
-
if (!this) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
this.item = {
|
|
51
|
-
selected: false,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
get statusClass() {
|
|
55
|
-
if (!this.showBubble) {
|
|
56
|
-
return '';
|
|
57
|
-
}
|
|
58
|
-
const status = _.get(this.columnObj, 'gridApi.columnFilters.hasApiSession', _.get(this.columnObj, 'gridApi.columnFilters.online'));
|
|
59
|
-
switch (status) {
|
|
60
|
-
case 'all':
|
|
61
|
-
this._statusClass = 'v7OnlineOffline';
|
|
62
|
-
break;
|
|
63
|
-
case 'false':
|
|
64
|
-
this._statusClass = 'v7Offline';
|
|
65
|
-
break;
|
|
66
|
-
case 'true':
|
|
67
|
-
this._statusClass = 'v7Online';
|
|
68
|
-
break;
|
|
69
|
-
case 'provisioning':
|
|
70
|
-
this._statusClass = '';
|
|
71
|
-
this.showLoader = true;
|
|
72
|
-
break;
|
|
73
|
-
case 'error':
|
|
74
|
-
this._statusClass = 'v7Error';
|
|
75
|
-
break;
|
|
76
|
-
default:
|
|
77
|
-
this._statusClass = 'v7OnlineOffline';
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
return this._statusClass;
|
|
81
|
-
}
|
|
82
|
-
get filterApplied() {
|
|
83
|
-
const columnId = _.get(this.columnDef, 'colId');
|
|
84
|
-
const filterVal = _.get(this.headerParams, `api.columnFilters.${columnId}`);
|
|
85
|
-
return !_.isEmpty(filterVal) || this.showFilter || this.filtering;
|
|
86
|
-
}
|
|
87
|
-
ngOnInit() {
|
|
88
|
-
}
|
|
89
|
-
ngOnDestroy() {
|
|
90
|
-
this.subscription.unsubscribe();
|
|
91
|
-
}
|
|
92
|
-
agInit(headerParams = {}) {
|
|
93
|
-
if (!headerParams) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
this.headerParams = headerParams;
|
|
97
|
-
this.enableSorting = headerParams.enableSorting;
|
|
98
|
-
this.headerName = headerParams.displayName;
|
|
99
|
-
this.columnObj = headerParams.column;
|
|
100
|
-
this.filterType = headerParams.filterType || 'TEXTINPUT';
|
|
101
|
-
this.columnFilters = headerParams.columnFilters;
|
|
102
|
-
this.columnDef = this.columnObj.colDef;
|
|
103
|
-
this.pinned = this.columnObj.pinned === 'left';
|
|
104
|
-
this.sortDir = this.columnDef.sortDir || 'none';
|
|
105
|
-
this.onlineStatusFilter = _.has(this.columnFilters, 'hasApiSession') ? 'hasApiSession' : 'online';
|
|
106
|
-
this.showBubble =
|
|
107
|
-
this.columnDef.colId === 'name' &&
|
|
108
|
-
(_.has(this.columnFilters, 'hasApiSession') || _.has(this.columnFilters, 'online'));
|
|
109
|
-
this._showColumnMenu = headerParams.showColumnMenu;
|
|
110
|
-
this.updateFilterOptions();
|
|
111
|
-
headerParams.api.addEventListener('sortChanged', (event) => {
|
|
112
|
-
const colId = _.get(event, 'columnDef.colId', '');
|
|
113
|
-
if (colId !== this.columnDef.colId) {
|
|
114
|
-
this.sortDir = undefined;
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
this.sortDir = _.get(event, 'sortDir');
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
headerParams.api.addEventListener('columnEverythingChanged', (event) => {
|
|
121
|
-
_.forEach(event.api?.columnModel?.columnDefs, colDef => {
|
|
122
|
-
if (this.columnDef.colId === colDef.colId && colDef.headerComponentParams?.filterOptions) {
|
|
123
|
-
this.updateFilterOptions();
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
ngAfterViewInit() {
|
|
129
|
-
if (this.showBubble) {
|
|
130
|
-
// this.updateStatusClass();
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
pin() {
|
|
134
|
-
this.columnDef.pinColumn(this.columnObj, this.pinned ? false : 'left');
|
|
135
|
-
this.pinned = !this.pinned;
|
|
136
|
-
}
|
|
137
|
-
hide() {
|
|
138
|
-
this.headerParams.api.zitiHideColumn(this.columnObj, false);
|
|
139
|
-
}
|
|
140
|
-
sort(event) {
|
|
141
|
-
if (!this.columnDef.sortable) {
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
const targetId = _.get(event, 'target.id');
|
|
145
|
-
if (_.includes([`HeaderStatus_${this.columnDef.colId}`, 'SearchFilter', `HeaderFilterIcon_${this.columnDef.colId}`], targetId)) {
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
if (_.isEmpty(this.sortDir)) {
|
|
149
|
-
this.sortDir = 'asc';
|
|
150
|
-
}
|
|
151
|
-
else if (this.sortDir === 'asc') {
|
|
152
|
-
this.sortDir = 'desc';
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
this.sortDir = 'asc';
|
|
156
|
-
}
|
|
157
|
-
_.set(this.headerParams, 'api.sortDir', this.sortDir);
|
|
158
|
-
_.set(this.headerParams, 'api.sortDir', this.columnDef.colId);
|
|
159
|
-
if (this.columnDef.sortColumn) {
|
|
160
|
-
this.columnDef.sortColumn(this.columnDef.colId, this.sortDir, this.headerParams.api);
|
|
161
|
-
this.headerParams.api.dispatchEvent({
|
|
162
|
-
type: 'sortChanged',
|
|
163
|
-
columnDef: this.columnDef,
|
|
164
|
-
sortDir: this.sortDir,
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
toggleFilter(event) {
|
|
169
|
-
this.showFilter = !this.showFilter;
|
|
170
|
-
if (this.filterType === 'SELECT' || this.filterType === 'COMBO' || this.filterType === 'DATETIME' || this.filterType === 'ATTRIBUTE') {
|
|
171
|
-
if (this.showFilter) {
|
|
172
|
-
this.updateFilterOptions();
|
|
173
|
-
_.invoke(this.headerParams, 'api.openHeaderFilter', event, this.filterOptions, this.filterType, this.columnDef?.colId, this.headerName, this.columnDef?.headerComponentParams);
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
_.invoke(this.headerParams, 'api.closeHeaderFilter', event);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
else if (this.filterType === 'CUSTOM') {
|
|
180
|
-
if (this.showFilter) {
|
|
181
|
-
this.updateFilterOptions();
|
|
182
|
-
_.invoke(this.headerParams, 'column.colDef.headerComponentParams.openHeaderFilter', event, this.filterOptions);
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
_.invoke(this.headerParams, 'column.colDef.headerComponentParams.closeHeaderFilter', event);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
toggleSecondaryFilter(event) {
|
|
190
|
-
this.showSecondaryFilter = !this.showSecondaryFilter;
|
|
191
|
-
if (this.showSecondaryFilter) {
|
|
192
|
-
const options = [
|
|
193
|
-
{
|
|
194
|
-
label: 'Any',
|
|
195
|
-
columnId: this.onlineStatusFilter,
|
|
196
|
-
filterName: 'Status',
|
|
197
|
-
value: undefined,
|
|
198
|
-
bubbleClass: 'v7OnlineOffline',
|
|
199
|
-
},
|
|
200
|
-
{
|
|
201
|
-
label: 'Online',
|
|
202
|
-
columnId: this.onlineStatusFilter,
|
|
203
|
-
filterName: 'Status',
|
|
204
|
-
value: 'true',
|
|
205
|
-
bubbleClass: 'v7Online',
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
label: 'Offline',
|
|
209
|
-
columnId: this.onlineStatusFilter,
|
|
210
|
-
filterName: 'Status',
|
|
211
|
-
value: 'false',
|
|
212
|
-
bubbleClass: 'v7Offline',
|
|
213
|
-
},
|
|
214
|
-
];
|
|
215
|
-
_.invoke(this.headerParams, 'api.openHeaderFilter', event, options);
|
|
216
|
-
}
|
|
217
|
-
else {
|
|
218
|
-
_.invoke(this.headerParams, 'api.closeHeaderFilter', event);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
hideFilter(event) {
|
|
222
|
-
const targetId = _.get(event, 'target.id');
|
|
223
|
-
if (_.includes([`HeaderFilterButton_${this.columnDef.colId}`, `HeaderFilterIcon_${this.columnDef.colId}`], targetId)) {
|
|
224
|
-
return;
|
|
225
|
-
}
|
|
226
|
-
else if (targetId === this.columnDef?.colId && this.filterType === 'COMBO') {
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
_.invoke(this.headerParams, 'api.closeHeaderFilter', event);
|
|
230
|
-
this.comboActive = false;
|
|
231
|
-
this.showFilter = false;
|
|
232
|
-
this.showSecondaryFilter = false;
|
|
233
|
-
}
|
|
234
|
-
refresh(params) {
|
|
235
|
-
return true;
|
|
236
|
-
}
|
|
237
|
-
openGridMenu() {
|
|
238
|
-
if (!this._showColumnMenu) {
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
this._showColumnMenu(this.menuButton.nativeElement);
|
|
242
|
-
}
|
|
243
|
-
updateFilterOptions() {
|
|
244
|
-
let options = [];
|
|
245
|
-
if (this.headerParams.getFilterOptions) {
|
|
246
|
-
options = this.headerParams.getFilterOptions();
|
|
247
|
-
}
|
|
248
|
-
else {
|
|
249
|
-
options = this.headerParams.filterOptions;
|
|
250
|
-
}
|
|
251
|
-
this.filterOptions = _.map(options, (option) => {
|
|
252
|
-
option.columnId = this.columnDef.colId;
|
|
253
|
-
option.filterName = this.headerName;
|
|
254
|
-
option.type = this.filterType;
|
|
255
|
-
return option;
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnDefaultComponent, deps: [{ token: i1.DataTableFilterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
259
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableColumnDefaultComponent, selector: "app-table-column-default", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }], ngImport: i0, template: "<div\n (click)=\"sort($event)\"\n [ngClass]=\"{ 'nf-can-sort': enableSorting }\"\n class=\"ag-cell-label-container ag-header-cell-sorted-none\"\n id=\"TableHeaderContainer_{{ columnDef.colId }}\"\n>\n <span\n #menuButton\n (click)=\"openGridMenu()\"\n *ngIf=\"false\"\n class=\"ag-header-icon ag-header-cell-menu-button\"\n id=\"HeaderMenu_{{ columnDef.colId }}\"\n ref=\"eMenu\"\n >\n <span class=\"ag-icon ag-icon-menu\" unselectable=\"on\"></span>\n </span>\n <span\n (click)=\"pin()\"\n class=\"ag-header-icon ag-header-col-pin-button\"\n id=\"HeaderPin_{{ columnDef.colId }}\"\n title=\"{{ pinned ? 'Unpin Column' : 'Pin Column' }}\"\n >\n <span class=\"ag-icon ag-icon-pin\"></span>\n </span>\n <span\n (click)=\"hide()\"\n class=\"ag-header-icon ag-header-col-hide-button\"\n id=\"HeaderHide_{{ columnDef.colId }}\"\n title=\"Hide Column\"\n >\n <span class=\"ag-icon ag-icon-eye-slash\"></span>\n </span>\n <div class=\"ag-header-cell-label\" ref=\"eLabel\" unselectable=\"on\">\n <span\n *ngIf=\"!headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterSpacer_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterSpace_{{ columnDef.colId }}\" style=\"opacity: 0\"></span>\n </span>\n <span\n (click)=\"toggleFilter($event)\"\n *ngIf=\"headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterButton_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterIcon_{{ columnDef.colId }}\"></span>\n </span>\n <div\n (clickOutside)=\"hideFilter($event)\"\n [ngClass]=\"{ 'show-input-filter': showFilter }\"\n class=\"header-text-container text-input-filter\"\n >\n <span\n (click)=\"toggleSecondaryFilter($event)\"\n *ngIf=\"showBubble\"\n [ngClass]=\"statusClass\"\n class=\"bubble\"\n id=\"HeaderStatus_{{ columnDef.colId }}\"\n >\n <svg *ngIf=\"showLoader\" class=\"circular\" viewBox=\"25 25 50 50\">\n <circle\n class=\"path\"\n cx=\"50\"\n cy=\"50\"\n fill=\"none\"\n r=\"20\"\n stroke-miterlimit=\"10\"\n stroke-width=\"3\"\n ></circle>\n </svg>\n </span>\n <app-table-column-filter\n *ngIf=\"((showFilter || comboActive) && !(filterType === 'COMBO' && !comboActive)) && filterType !== 'SELECT' && filterType !== 'CUSTOM'\"\n [columnDef]=\"columnDef\"\n [filterName]=\"headerName\"\n [filterString]=\"''\"\n [openStatusMenu]=\"toggleSecondaryFilter.bind(this)\"\n [type]=\"filterType\"\n ></app-table-column-filter>\n <span\n *ngIf=\"((!showFilter && !comboActive) || (filterType === 'COMBO' && !comboActive)) || filterType === 'SELECT' || filterType === 'CUSTOM'\"\n [title]=\"headerName\"\n class=\"ag-header-cell-text\"\n id=\"HeaderName_{{ columnDef.colId }}\"\n unselectable=\"on\"\n >{{ headerName }}</span\n >\n </div>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'desc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-ascending-icon\"\n id=\"HeaderSortAsc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-asc\" unselectable=\"on\"></span>\n </span>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'asc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-descending-icon\"\n id=\"HeaderSortDesc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-desc\" unselectable=\"on\"></span>\n </span>\n </div>\n</div>\n", styles: [".ag-header-sort-click-space{display:flex;height:100%;position:relative;width:100%}.ag-header-col-filter-button.ag-filter-applied{opacity:1!important}.Online,.v7Online,.v7Offline{margin-right:.5rem!important;height:.875rem!important;width:.875rem!important}.Online:hover,.v7Online:hover,.v7Offline:hover{border-color:var(--primaryColor)!important;border-style:solid;border-width:var(--inputBorderWidth);height:.625rem!important;width:.625rem!important}.header-text-container{white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.text-input-filter{display:flex;flex-direction:row;align-items:center}.text-input-filter .bubble{margin-top:.5rem;margin-left:.0625rem;margin-right:.5rem;width:.875rem;height:.875rem;flex-shrink:0}.ag-header-col-filter-button{margin-top:.5rem}.ag-header-cell-text{margin-top:.125rem;width:100%}.ag-header-cell-label .ag-sort-descending-icon{margin-top:1.25rem!important}.show-input-filter{width:100%}.filterButton{background-image:none}.filterButton .options{position:fixed}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i4.TableColumnFilterComponent, selector: "app-table-column-filter", inputs: ["type", "filterString", "filterName", "columnDef", "openStatusMenu", "dateFilter"] }] }); }
|
|
260
|
-
}
|
|
261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnDefaultComponent, decorators: [{
|
|
262
|
-
type: Component,
|
|
263
|
-
args: [{ selector: 'app-table-column-default', template: "<div\n (click)=\"sort($event)\"\n [ngClass]=\"{ 'nf-can-sort': enableSorting }\"\n class=\"ag-cell-label-container ag-header-cell-sorted-none\"\n id=\"TableHeaderContainer_{{ columnDef.colId }}\"\n>\n <span\n #menuButton\n (click)=\"openGridMenu()\"\n *ngIf=\"false\"\n class=\"ag-header-icon ag-header-cell-menu-button\"\n id=\"HeaderMenu_{{ columnDef.colId }}\"\n ref=\"eMenu\"\n >\n <span class=\"ag-icon ag-icon-menu\" unselectable=\"on\"></span>\n </span>\n <span\n (click)=\"pin()\"\n class=\"ag-header-icon ag-header-col-pin-button\"\n id=\"HeaderPin_{{ columnDef.colId }}\"\n title=\"{{ pinned ? 'Unpin Column' : 'Pin Column' }}\"\n >\n <span class=\"ag-icon ag-icon-pin\"></span>\n </span>\n <span\n (click)=\"hide()\"\n class=\"ag-header-icon ag-header-col-hide-button\"\n id=\"HeaderHide_{{ columnDef.colId }}\"\n title=\"Hide Column\"\n >\n <span class=\"ag-icon ag-icon-eye-slash\"></span>\n </span>\n <div class=\"ag-header-cell-label\" ref=\"eLabel\" unselectable=\"on\">\n <span\n *ngIf=\"!headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterSpacer_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterSpace_{{ columnDef.colId }}\" style=\"opacity: 0\"></span>\n </span>\n <span\n (click)=\"toggleFilter($event)\"\n *ngIf=\"headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterButton_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterIcon_{{ columnDef.colId }}\"></span>\n </span>\n <div\n (clickOutside)=\"hideFilter($event)\"\n [ngClass]=\"{ 'show-input-filter': showFilter }\"\n class=\"header-text-container text-input-filter\"\n >\n <span\n (click)=\"toggleSecondaryFilter($event)\"\n *ngIf=\"showBubble\"\n [ngClass]=\"statusClass\"\n class=\"bubble\"\n id=\"HeaderStatus_{{ columnDef.colId }}\"\n >\n <svg *ngIf=\"showLoader\" class=\"circular\" viewBox=\"25 25 50 50\">\n <circle\n class=\"path\"\n cx=\"50\"\n cy=\"50\"\n fill=\"none\"\n r=\"20\"\n stroke-miterlimit=\"10\"\n stroke-width=\"3\"\n ></circle>\n </svg>\n </span>\n <app-table-column-filter\n *ngIf=\"((showFilter || comboActive) && !(filterType === 'COMBO' && !comboActive)) && filterType !== 'SELECT' && filterType !== 'CUSTOM'\"\n [columnDef]=\"columnDef\"\n [filterName]=\"headerName\"\n [filterString]=\"''\"\n [openStatusMenu]=\"toggleSecondaryFilter.bind(this)\"\n [type]=\"filterType\"\n ></app-table-column-filter>\n <span\n *ngIf=\"((!showFilter && !comboActive) || (filterType === 'COMBO' && !comboActive)) || filterType === 'SELECT' || filterType === 'CUSTOM'\"\n [title]=\"headerName\"\n class=\"ag-header-cell-text\"\n id=\"HeaderName_{{ columnDef.colId }}\"\n unselectable=\"on\"\n >{{ headerName }}</span\n >\n </div>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'desc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-ascending-icon\"\n id=\"HeaderSortAsc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-asc\" unselectable=\"on\"></span>\n </span>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'asc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-descending-icon\"\n id=\"HeaderSortDesc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-desc\" unselectable=\"on\"></span>\n </span>\n </div>\n</div>\n", styles: [".ag-header-sort-click-space{display:flex;height:100%;position:relative;width:100%}.ag-header-col-filter-button.ag-filter-applied{opacity:1!important}.Online,.v7Online,.v7Offline{margin-right:.5rem!important;height:.875rem!important;width:.875rem!important}.Online:hover,.v7Online:hover,.v7Offline:hover{border-color:var(--primaryColor)!important;border-style:solid;border-width:var(--inputBorderWidth);height:.625rem!important;width:.625rem!important}.header-text-container{white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.text-input-filter{display:flex;flex-direction:row;align-items:center}.text-input-filter .bubble{margin-top:.5rem;margin-left:.0625rem;margin-right:.5rem;width:.875rem;height:.875rem;flex-shrink:0}.ag-header-col-filter-button{margin-top:.5rem}.ag-header-cell-text{margin-top:.125rem;width:100%}.ag-header-cell-label .ag-sort-descending-icon{margin-top:1.25rem!important}.show-input-filter{width:100%}.filterButton{background-image:none}.filterButton .options{position:fixed}\n"] }]
|
|
264
|
-
}], ctorParameters: function () { return [{ type: i1.DataTableFilterService }]; }, propDecorators: { menuButton: [{
|
|
265
|
-
type: ViewChild,
|
|
266
|
-
args: ['menuButton']
|
|
267
|
-
}] } });
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQWdCLFNBQVMsRUFBc0IsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3RGLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFRbEMsTUFBTSxPQUFPLDJCQUEyQjtJQWtDdEMsWUFBb0IsYUFBcUM7UUFBckMsa0JBQWEsR0FBYixhQUFhLENBQXdCO1FBOUJ6RCxpQkFBWSxHQUFRO1lBQ2xCLEdBQUcsRUFBRSxFQUFFO1NBQ1IsQ0FBQztRQU1GLGNBQVMsR0FBUTtZQUNmLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFVBQVUsRUFBRSxTQUFTO1NBQ3RCLENBQUM7UUFDRixlQUFVLEdBQUcsV0FBVyxDQUFDO1FBQ3pCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIs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OzZHQW9DWCxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJSGVhZGVyQW5ndWxhckNvbXB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQge0lIZWFkZXJQYXJhbXN9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7RGF0YVRhYmxlRmlsdGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2RhdGEtdGFibGUtZmlsdGVyLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRhYmxlLWNvbHVtbi1kZWZhdWx0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNvbHVtbi1kZWZhdWx0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50IGltcGxlbWVudHMgSUhlYWRlckFuZ3VsYXJDb21wLCBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICBpdGVtOiB7XG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIH07XG4gIGhlYWRlclBhcmFtczogYW55ID0ge1xuICAgIGFwaToge30sXG4gIH07XG4gIGhlYWRlck5hbWU7XG4gIGVuYWJsZVNvcnRpbmc7XG4gIHNvcnREaXI7XG4gIHNvcnRDb2w7XG4gIGNvbHVtbk9iajtcbiAgY29sdW1uRGVmOiBhbnkgPSB7XG4gICAgc29ydERpcjogdW5kZWZpbmVkLFxuICAgIGNvbElkOiB1bmRlZmluZWQsXG4gICAgcGluQ29sdW1uOiB1bmRlZmluZWQsXG4gICAgc29ydENvbHVtbjogdW5kZWZpbmVkLFxuICB9O1xuICBmaWx0ZXJUeXBlID0gJ1RFWFRJTlBVVCc7XG4gIGZpbHRlck9wdGlvbnMgPSBbXTtcbiAgY29sdW1uRmlsdGVyczogYW55ID0ge307XG4gIGZpbHRlcmluZyA9IGZhbHNlO1xuICBwaW5uZWQ7XG4gIHNob3dGaWx0ZXIgPSBmYWxzZTtcbiAgY29tYm9BY3RpdmUgPSBmYWxzZTtcbiAgc2hvd1NlY29uZGFyeUZpbHRlciA9IGZhbHNlO1xuICBfc2hvd0NvbHVtbk1lbnU7XG5cbiAgb25saW5lU3RhdHVzRmlsdGVyO1xuICBzaG93QnViYmxlID0gZmFsc2U7XG4gIHNob3dMb2FkZXIgPSBmYWxzZTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIEBWaWV3Q2hpbGQoJ21lbnVCdXR0b24nKSBtZW51QnV0dG9uOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsdGVyU2VydmljZTogRGF0YVRhYmxlRmlsdGVyU2VydmljZSkge1xuICAgIGlmICghdGhpcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLml0ZW0gPSB7XG4gICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIF9zdGF0dXNDbGFzcyA9ICd2N09mZmxpbmUnO1xuXG4gIGdldCBzdGF0dXNDbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5zaG93QnViYmxlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IHN0YXR1cyA9IF8uZ2V0KFxuICAgICAgdGhpcy5jb2x1bW5PYmosXG4gICAgICAnZ3JpZEFwaS5jb2x1bW5GaWx0ZXJzLmhhc0FwaVNlc3Npb24nLFxuICAgICAgXy5nZXQodGhpcy5jb2x1bW5PYmosICdncmlkQXBpLmNvbHVtbkZpbHRlcnMub25saW5lJylcbiAgICApO1xuICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICBjYXNlICdhbGwnOlxuICAgICAgICB0aGlzLl9zdGF0dXNDbGFzcyA9ICd2N09ubGluZU9mZmxpbmUnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2ZhbHNlJzpcbiAgICAgICAgdGhpcy5fc3RhdHVzQ2xhc3MgPSAndjdPZmZsaW5lJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0cnVlJzpcbiAgICAgICAgdGhpcy5fc3RhdHVzQ2xhc3MgPSAndjdPbmxpbmUnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3Byb3Zpc2lvbmluZyc6XG4gICAgICAgIHRoaXMuX3N0YXR1c0NsYXNzID0gJyc7XG4gICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICB0aGlzLl9zdGF0dXNDbGFzcyA9ICd2N0Vycm9yJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLl9zdGF0dXNDbGFzcyA9ICd2N09ubGluZU9mZmxpbmUnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3N0YXR1c0NsYXNzO1xuICB9XG5cbiAgZ2V0IGZpbHRlckFwcGxpZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29sdW1uSWQgPSBfLmdldCh0aGlzLmNvbHVtbkRlZiwgJ2NvbElkJyk7XG4gICAgY29uc3QgZmlsdGVyVmFsID0gXy5nZXQodGhpcy5oZWFkZXJQYXJhbXMsIGBhcGkuY29sdW1uRmlsdGVycy4ke2NvbHVtbklkfWApO1xuICAgIHJldHVybiAhXy5pc0VtcHR5KGZpbHRlclZhbCkgfHwgdGhpcy5zaG93RmlsdGVyIHx8IHRoaXMuZmlsdGVyaW5nO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIGFnSW5pdChoZWFkZXJQYXJhbXM6IGFueSA9IHt9KTogdm9pZCB7XG4gICAgaWYgKCFoZWFkZXJQYXJhbXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5oZWFkZXJQYXJhbXMgPSBoZWFkZXJQYXJhbXM7XG4gICAgdGhpcy5lbmFibGVTb3J0aW5nID0gaGVhZGVyUGFyYW1zLmVuYWJsZVNvcnRpbmc7XG4gICAgdGhpcy5oZWFkZXJOYW1lID0gaGVhZGVyUGFyYW1zLmRpc3BsYXlOYW1lO1xuICAgIHRoaXMuY29sdW1uT2JqID0gaGVhZGVyUGFyYW1zLmNvbHVtbjtcbiAgICB0aGlzLmZpbHRlclR5cGUgPSBoZWFkZXJQYXJhbXMuZmlsdGVyVHlwZSB8fCAnVEVYVElOUFVUJztcbiAgICB0aGlzLmNvbHVtbkZpbHRlcnMgPSBoZWFkZXJQYXJhbXMuY29sdW1uRmlsdGVycztcbiAgICB0aGlzLmNvbHVtbkRlZiA9IHRoaXMuY29sdW1uT2JqLmNvbERlZjtcbiAgICB0aGlzLnBpbm5lZCA9IHRoaXMuY29sdW1uT2JqLnBpbm5lZCA9PT0gJ2xlZnQnO1xuICAgIHRoaXMuc29ydERpciA9IHRoaXMuY29sdW1uRGVmLnNvcnREaXIgfHwgJ25vbmUnO1xuICAgIHRoaXMub25saW5lU3RhdHVzRmlsdGVyID0gXy5oYXModGhpcy5jb2x1bW5GaWx0ZXJzLCAnaGFzQXBpU2Vzc2lvbicpID8gJ2hhc0FwaVNlc3Npb24nIDogJ29ubGluZSc7XG4gICAgdGhpcy5zaG93QnViYmxlID1cbiAgICAgIHRoaXMuY29sdW1uRGVmLmNvbElkID09PSAnbmFtZScgJiZcbiAgICAgIChfLmhhcyh0aGlzLmNvbHVtbkZpbHRlcnMsICdoYXNBcGlTZXNzaW9uJykgfHwgXy5oYXModGhpcy5jb2x1bW5GaWx0ZXJzLCAnb25saW5lJykpO1xuICAgIHRoaXMuX3Nob3dDb2x1bW5NZW51ID0gaGVhZGVyUGFyYW1zLnNob3dDb2x1bW5NZW51O1xuICAgIHRoaXMudXBkYXRlRmlsdGVyT3B0aW9ucygpO1xuICAgIGhlYWRlclBhcmFtcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcignc29ydENoYW5nZWQnLCAoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbElkID0gXy5nZXQoZXZlbnQsICdjb2x1bW5EZWYuY29sSWQnLCAnJyk7XG4gICAgICBpZiAoY29sSWQgIT09IHRoaXMuY29sdW1uRGVmLmNvbElkKSB7XG4gICAgICAgIHRoaXMuc29ydERpciA9IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc29ydERpciA9IF8uZ2V0KGV2ZW50LCAnc29ydERpcicpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGhlYWRlclBhcmFtcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcignY29sdW1uRXZlcnl0aGluZ0NoYW5nZWQnLCAoZXZlbnQpID0+IHtcbiAgICAgIF8uZm9yRWFjaChldmVudC5hcGk/LmNvbHVtbk1vZGVsPy5jb2x1bW5EZWZzLCBjb2xEZWYgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb2x1bW5EZWYuY29sSWQgPT09IGNvbERlZi5jb2xJZCAmJiBjb2xEZWYuaGVhZGVyQ29tcG9uZW50UGFyYW1zPy5maWx0ZXJPcHRpb25zKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJPcHRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLnNob3dCdWJibGUpIHtcbiAgICAgIC8vIHRoaXMudXBkYXRlU3RhdHVzQ2xhc3MoKTtcbiAgICB9XG4gIH1cblxuICBwaW4oKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5EZWYucGluQ29sdW1uKHRoaXMuY29sdW1uT2JqLCB0aGlzLnBpbm5lZCA/IGZhbHNlIDogJ2xlZnQnKTtcbiAgICB0aGlzLnBpbm5lZCA9ICF0aGlzLnBpbm5lZDtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5oZWFkZXJQYXJhbXMuYXBpLnppdGlIaWRlQ29sdW1uKHRoaXMuY29sdW1uT2JqLCBmYWxzZSk7XG4gIH1cblxuICBzb3J0KGV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbHVtbkRlZi5zb3J0YWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXRJZCA9IF8uZ2V0KGV2ZW50LCAndGFyZ2V0LmlkJyk7XG4gICAgaWYgKFxuICAgICAgXy5pbmNsdWRlcyhcbiAgICAgICAgW2BIZWFkZXJTdGF0dXNfJHt0aGlzLmNvbHVtbkRlZi5jb2xJZH1gLCAnU2VhcmNoRmlsdGVyJywgYEhlYWRlckZpbHRlckljb25fJHt0aGlzLmNvbHVtbkRlZi5jb2xJZH1gXSxcbiAgICAgICAgdGFyZ2V0SWRcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKF8uaXNFbXB0eSh0aGlzLnNvcnREaXIpKSB7XG4gICAgICB0aGlzLnNvcnREaXIgPSAnYXNjJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuc29ydERpciA9PT0gJ2FzYycpIHtcbiAgICAgIHRoaXMuc29ydERpciA9ICdkZXNjJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0RGlyID0gJ2FzYyc7XG4gICAgfVxuICAgIF8uc2V0KHRoaXMuaGVhZGVyUGFyYW1zLCAnYXBpLnNvcnREaXInLCB0aGlzLnNvcnREaXIpO1xuICAgIF8uc2V0KHRoaXMuaGVhZGVyUGFyYW1zLCAnYXBpLnNvcnREaXInLCB0aGlzLmNvbHVtbkRlZi5jb2xJZCk7XG4gICAgaWYgKHRoaXMuY29sdW1uRGVmLnNvcnRDb2x1bW4pIHtcbiAgICAgIHRoaXMuY29sdW1uRGVmLnNvcnRDb2x1bW4odGhpcy5jb2x1bW5EZWYuY29sSWQsIHRoaXMuc29ydERpciwgdGhpcy5oZWFkZXJQYXJhbXMuYXBpKTtcbiAgICAgIHRoaXMuaGVhZGVyUGFyYW1zLmFwaS5kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgdHlwZTogJ3NvcnRDaGFuZ2VkJyxcbiAgICAgICAgY29sdW1uRGVmOiB0aGlzLmNvbHVtbkRlZixcbiAgICAgICAgc29ydERpcjogdGhpcy5zb3J0RGlyLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRmlsdGVyKGV2ZW50KSB7XG4gICAgdGhpcy5zaG93RmlsdGVyID0gIXRoaXMuc2hvd0ZpbHRlcjtcbiAgICBpZiAodGhpcy5maWx0ZXJUeXBlID09PSAnU0VMRUNUJyB8fCB0aGlzLmZpbHRlclR5cGUgPT09ICdDT01CTycgfHwgdGhpcy5maWx0ZXJUeXBlID09PSAnREFURVRJTUUnfHwgdGhpcy5maWx0ZXJUeXBlID09PSAnQVRUUklCVVRFJykge1xuICAgICAgaWYgKHRoaXMuc2hvd0ZpbHRlcikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgXy5pbnZva2UodGhpcy5oZWFkZXJQYXJhbXMsICdhcGkub3BlbkhlYWRlckZpbHRlcicsIGV2ZW50LCB0aGlzLmZpbHRlck9wdGlvbnMsIHRoaXMuZmlsdGVyVHlwZSwgdGhpcy5jb2x1bW5EZWY/LmNvbElkLCB0aGlzLmhlYWRlck5hbWUsIHRoaXMuY29sdW1uRGVmPy5oZWFkZXJDb21wb25lbnRQYXJhbXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgXy5pbnZva2UodGhpcy5oZWFkZXJQYXJhbXMsICdhcGkuY2xvc2VIZWFkZXJGaWx0ZXInLCBldmVudCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdDVVNUT00nKSB7XG4gICAgICBpZiAodGhpcy5zaG93RmlsdGVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsdGVyT3B0aW9ucygpO1xuICAgICAgICBfLmludm9rZSh0aGlzLmhlYWRlclBhcmFtcywgJ2NvbHVtbi5jb2xEZWYuaGVhZGVyQ29tcG9uZW50UGFyYW1zLm9wZW5IZWFkZXJGaWx0ZXInLCBldmVudCwgdGhpcy5maWx0ZXJPcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF8uaW52b2tlKHRoaXMuaGVhZGVyUGFyYW1zLCAnY29sdW1uLmNvbERlZi5oZWFkZXJDb21wb25lbnRQYXJhbXMuY2xvc2VIZWFkZXJGaWx0ZXInLCBldmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2Vjb25kYXJ5RmlsdGVyKGV2ZW50KSB7XG4gICAgdGhpcy5zaG93U2Vjb25kYXJ5RmlsdGVyID0gIXRoaXMuc2hvd1NlY29uZGFyeUZpbHRlcjtcbiAgICBpZiAodGhpcy5zaG93U2Vjb25kYXJ5RmlsdGVyKSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdBbnknLFxuICAgICAgICAgIGNvbHVtbklkOiB0aGlzLm9ubGluZVN0YXR1c0ZpbHRlcixcbiAgICAgICAgICBmaWx0ZXJOYW1lOiAnU3RhdHVzJyxcbiAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgICAgICAgIGJ1YmJsZUNsYXNzOiAndjdPbmxpbmVPZmZsaW5lJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnT25saW5lJyxcbiAgICAgICAgICBjb2x1bW5JZDogdGhpcy5vbmxpbmVTdGF0dXNGaWx0ZXIsXG4gICAgICAgICAgZmlsdGVyTmFtZTogJ1N0YXR1cycsXG4gICAgICAgICAgdmFsdWU6ICd0cnVlJyxcbiAgICAgICAgICBidWJibGVDbGFzczogJ3Y3T25saW5lJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnT2ZmbGluZScsXG4gICAgICAgICAgY29sdW1uSWQ6IHRoaXMub25saW5lU3RhdHVzRmlsdGVyLFxuICAgICAgICAgIGZpbHRlck5hbWU6ICdTdGF0dXMnLFxuICAgICAgICAgIHZhbHVlOiAnZmFsc2UnLFxuICAgICAgICAgIGJ1YmJsZUNsYXNzOiAndjdPZmZsaW5lJyxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgICBfLmludm9rZSh0aGlzLmhlYWRlclBhcmFtcywgJ2FwaS5vcGVuSGVhZGVyRmlsdGVyJywgZXZlbnQsIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBfLmludm9rZSh0aGlzLmhlYWRlclBhcmFtcywgJ2FwaS5jbG9zZUhlYWRlckZpbHRlcicsIGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBoaWRlRmlsdGVyKGV2ZW50KSB7XG4gICAgY29uc3QgdGFyZ2V0SWQgPSBfLmdldChldmVudCwgJ3RhcmdldC5pZCcpO1xuICAgIGlmIChcbiAgICAgIF8uaW5jbHVkZXMoXG4gICAgICAgIFtgSGVhZGVyRmlsdGVyQnV0dG9uXyR7dGhpcy5jb2x1bW5EZWYuY29sSWR9YCwgYEhlYWRlckZpbHRlckljb25fJHt0aGlzLmNvbHVtbkRlZi5jb2xJZH1gXSxcbiAgICAgICAgdGFyZ2V0SWRcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRhcmdldElkID09PSB0aGlzLmNvbHVtbkRlZj8uY29sSWQgJiYgdGhpcy5maWx0ZXJUeXBlID09PSAnQ09NQk8nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIF8uaW52b2tlKHRoaXMuaGVhZGVyUGFyYW1zLCAnYXBpLmNsb3NlSGVhZGVyRmlsdGVyJywgZXZlbnQpO1xuXG4gICAgdGhpcy5jb21ib0FjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0ZpbHRlciA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd1NlY29uZGFyeUZpbHRlciA9IGZhbHNlO1xuICB9XG5cbiAgcmVmcmVzaChwYXJhbXM6IElIZWFkZXJQYXJhbXMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG9wZW5HcmlkTWVudSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3Nob3dDb2x1bW5NZW51KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3Nob3dDb2x1bW5NZW51KHRoaXMubWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHVwZGF0ZUZpbHRlck9wdGlvbnMoKSB7XG4gICAgbGV0IG9wdGlvbnMgPSBbXTtcbiAgICBpZiAodGhpcy5oZWFkZXJQYXJhbXMuZ2V0RmlsdGVyT3B0aW9ucykge1xuICAgICAgb3B0aW9ucyA9IHRoaXMuaGVhZGVyUGFyYW1zLmdldEZpbHRlck9wdGlvbnMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9ucyA9IHRoaXMuaGVhZGVyUGFyYW1zLmZpbHRlck9wdGlvbnM7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVyT3B0aW9ucyA9IF8ubWFwKG9wdGlvbnMsIChvcHRpb24pID0+IHtcbiAgICAgIG9wdGlvbi5jb2x1bW5JZCA9IHRoaXMuY29sdW1uRGVmLmNvbElkO1xuICAgICAgb3B0aW9uLmZpbHRlck5hbWUgPSB0aGlzLmhlYWRlck5hbWU7XG4gICAgICBvcHRpb24udHlwZSA9IHRoaXMuZmlsdGVyVHlwZTtcbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKGNsaWNrKT1cInNvcnQoJGV2ZW50KVwiXG4gIFtuZ0NsYXNzXT1cInsgJ25mLWNhbi1zb3J0JzogZW5hYmxlU29ydGluZyB9XCJcbiAgY2xhc3M9XCJhZy1jZWxsLWxhYmVsLWNvbnRhaW5lciBhZy1oZWFkZXItY2VsbC1zb3J0ZWQtbm9uZVwiXG4gIGlkPVwiVGFibGVIZWFkZXJDb250YWluZXJfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbj5cbiAgICA8c3BhblxuICAgICAgI21lbnVCdXR0b25cbiAgICAgIChjbGljayk9XCJvcGVuR3JpZE1lbnUoKVwiXG4gICAgICAqbmdJZj1cImZhbHNlXCJcbiAgICAgIGNsYXNzPVwiYWctaGVhZGVyLWljb24gYWctaGVhZGVyLWNlbGwtbWVudS1idXR0b25cIlxuICAgICAgaWQ9XCJIZWFkZXJNZW51X3t7IGNvbHVtbkRlZi5jb2xJZCB9fVwiXG4gICAgICByZWY9XCJlTWVudVwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImFnLWljb24gYWctaWNvbi1tZW51XCIgdW5zZWxlY3RhYmxlPVwib25cIj48L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8c3BhblxuICAgIChjbGljayk9XCJwaW4oKVwiXG4gICAgY2xhc3M9XCJhZy1oZWFkZXItaWNvbiBhZy1oZWFkZXItY29sLXBpbi1idXR0b25cIlxuICAgIGlkPVwiSGVhZGVyUGluX3t7IGNvbHVtbkRlZi5jb2xJZCB9fVwiXG4gICAgdGl0bGU9XCJ7eyBwaW5uZWQgPyAnVW5waW4gQ29sdW1uJyA6ICdQaW4gQ29sdW1uJyB9fVwiXG4gID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhZy1pY29uIGFnLWljb24tcGluXCI+PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAoY2xpY2spPVwiaGlkZSgpXCJcbiAgICBjbGFzcz1cImFnLWhlYWRlci1pY29uIGFnLWhlYWRlci1jb2wtaGlkZS1idXR0b25cIlxuICAgIGlkPVwiSGVhZGVySGlkZV97eyBjb2x1bW5EZWYuY29sSWQgfX1cIlxuICAgIHRpdGxlPVwiSGlkZSBDb2x1bW5cIlxuICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWctaWNvbiBhZy1pY29uLWV5ZS1zbGFzaFwiPjwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJhZy1oZWFkZXItY2VsbC1sYWJlbFwiIHJlZj1cImVMYWJlbFwiIHVuc2VsZWN0YWJsZT1cIm9uXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCIhaGVhZGVyUGFyYW1zLmZpbHRlclR5cGVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FnLWZpbHRlci1hcHBsaWVkJzogZmlsdGVyQXBwbGllZCB9XCJcbiAgICAgICAgICBjbGFzcz1cImFnLWhlYWRlci1pY29uIGFnLWhlYWRlci1jb2wtZmlsdGVyLWJ1dHRvblwiXG4gICAgICAgICAgaWQ9XCJIZWFkZXJGaWx0ZXJTcGFjZXJfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZy1pY29uIGFnLWljb24tZmlsdGVyXCIgaWQ9XCJIZWFkZXJGaWx0ZXJTcGFjZV97eyBjb2x1bW5EZWYuY29sSWQgfX1cIiBzdHlsZT1cIm9wYWNpdHk6IDBcIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgKGNsaWNrKT1cInRvZ2dsZUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICpuZ0lmPVwiaGVhZGVyUGFyYW1zLmZpbHRlclR5cGVcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnYWctZmlsdGVyLWFwcGxpZWQnOiBmaWx0ZXJBcHBsaWVkIH1cIlxuICAgICAgY2xhc3M9XCJhZy1oZWFkZXItaWNvbiBhZy1oZWFkZXItY29sLWZpbHRlci1idXR0b25cIlxuICAgICAgaWQ9XCJIZWFkZXJGaWx0ZXJCdXR0b25fe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFnLWljb24gYWctaWNvbi1maWx0ZXJcIiBpZD1cIkhlYWRlckZpbHRlckljb25fe3sgY29sdW1uRGVmLmNvbElkIH19XCI+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgPGRpdlxuICAgICAgKGNsaWNrT3V0c2lkZSk9XCJoaWRlRmlsdGVyKCRldmVudClcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc2hvdy1pbnB1dC1maWx0ZXInOiBzaG93RmlsdGVyIH1cIlxuICAgICAgY2xhc3M9XCJoZWFkZXItdGV4dC1jb250YWluZXIgdGV4dC1pbnB1dC1maWx0ZXJcIlxuICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWNvbmRhcnlGaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwic2hvd0J1YmJsZVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInN0YXR1c0NsYXNzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidWJibGVcIlxuICAgICAgICAgICAgICBpZD1cIkhlYWRlclN0YXR1c197eyBjb2x1bW5EZWYuY29sSWQgfX1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93TG9hZGVyXCIgY2xhc3M9XCJjaXJjdWxhclwiIHZpZXdCb3g9XCIyNSAyNSA1MCA1MFwiPlxuICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgICBjeD1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICBjeT1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgcj1cIjIwXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIzXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvY2lyY2xlPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgPGFwcC10YWJsZS1jb2x1bW4tZmlsdGVyXG4gICAgICAgICpuZ0lmPVwiKChzaG93RmlsdGVyIHx8IGNvbWJvQWN0aXZlKSAmJiAhKGZpbHRlclR5cGUgPT09ICdDT01CTycgJiYgIWNvbWJvQWN0aXZlKSkgJiYgZmlsdGVyVHlwZSAhPT0gJ1NFTEVDVCcgJiYgZmlsdGVyVHlwZSAhPT0gJ0NVU1RPTSdcIlxuICAgICAgICBbY29sdW1uRGVmXT1cImNvbHVtbkRlZlwiXG4gICAgICAgIFtmaWx0ZXJOYW1lXT1cImhlYWRlck5hbWVcIlxuICAgICAgICBbZmlsdGVyU3RyaW5nXT1cIicnXCJcbiAgICAgICAgW29wZW5TdGF0dXNNZW51XT1cInRvZ2dsZVNlY29uZGFyeUZpbHRlci5iaW5kKHRoaXMpXCJcbiAgICAgICAgW3R5cGVdPVwiZmlsdGVyVHlwZVwiXG4gICAgICA+PC9hcHAtdGFibGUtY29sdW1uLWZpbHRlcj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwiKCghc2hvd0ZpbHRlciAmJiAhY29tYm9BY3RpdmUpIHx8IChmaWx0ZXJUeXBlID09PSAnQ09NQk8nICYmICFjb21ib0FjdGl2ZSkpIHx8IGZpbHRlclR5cGUgPT09ICdTRUxFQ1QnIHx8IGZpbHRlclR5cGUgPT09ICdDVVNUT00nXCJcbiAgICAgICAgW3RpdGxlXT1cImhlYWRlck5hbWVcIlxuICAgICAgICBjbGFzcz1cImFnLWhlYWRlci1jZWxsLXRleHRcIlxuICAgICAgICBpZD1cIkhlYWRlck5hbWVfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICAgICAgdW5zZWxlY3RhYmxlPVwib25cIlxuICAgICAgPnt7IGhlYWRlck5hbWUgfX08L3NwYW5cbiAgICAgID5cbiAgICA8L2Rpdj5cbiAgICA8c3BhblxuICAgICAgKm5nSWY9XCJlbmFibGVTb3J0aW5nICYmICFzaG93RmlsdGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2FnLWhpZGRlbic6IHNvcnREaXIgIT09ICdkZXNjJyB9XCJcbiAgICAgIGNsYXNzPVwiYWctaGVhZGVyLWljb24gYWctaGVhZGVyLWxhYmVsLWljb24gYWctc29ydC1hc2NlbmRpbmctaWNvblwiXG4gICAgICBpZD1cIkhlYWRlclNvcnRBc2Nfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFnLWljb24gYWctaWNvbi1hc2NcIiB1bnNlbGVjdGFibGU9XCJvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cImVuYWJsZVNvcnRpbmcgJiYgIXNob3dGaWx0ZXJcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnYWctaGlkZGVuJzogc29ydERpciAhPT0gJ2FzYycgfVwiXG4gICAgICBjbGFzcz1cImFnLWhlYWRlci1pY29uIGFnLWhlYWRlci1sYWJlbC1pY29uIGFnLXNvcnQtZGVzY2VuZGluZy1pY29uXCJcbiAgICAgIGlkPVwiSGVhZGVyU29ydERlc2Nfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFnLWljb24gYWctaWNvbi1kZXNjXCIgdW5zZWxlY3RhYmxlPVwib25cIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,93 +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 { Component, Input, ViewChild } from '@angular/core';
|
|
17
|
-
import _ from 'lodash';
|
|
18
|
-
import { Subscription } from "rxjs";
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "../../data-table-filter.service";
|
|
21
|
-
import * as i2 from "@angular/common";
|
|
22
|
-
import * as i3 from "@angular/forms";
|
|
23
|
-
export class TableColumnFilterComponent {
|
|
24
|
-
constructor(filterService) {
|
|
25
|
-
this.filterService = filterService;
|
|
26
|
-
this.type = 'TEXTINPUT';
|
|
27
|
-
this.filterString = '';
|
|
28
|
-
this.filterName = '';
|
|
29
|
-
this.dateFilter = '24h';
|
|
30
|
-
this.subscription = new Subscription();
|
|
31
|
-
this.setFilterDebounced = _.debounce(this.setFilter, 500);
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
this.subscription.add(this.filterService.filtersChanged.subscribe((filters) => {
|
|
35
|
-
let tmp = '';
|
|
36
|
-
for (let idx = 0; idx < filters.length; idx++) {
|
|
37
|
-
if (filters[idx].columnId === this.columnDef?.colId) {
|
|
38
|
-
tmp = filters[idx].value;
|
|
39
|
-
break;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
this.filterString = tmp;
|
|
43
|
-
}));
|
|
44
|
-
}
|
|
45
|
-
setFilter() {
|
|
46
|
-
const filterObj = {
|
|
47
|
-
filterName: this.filterName,
|
|
48
|
-
columnId: this.columnDef?.colId,
|
|
49
|
-
value: this.filterString,
|
|
50
|
-
label: this.filterString,
|
|
51
|
-
type: this.type,
|
|
52
|
-
};
|
|
53
|
-
this.filterService.updateFilter(filterObj);
|
|
54
|
-
}
|
|
55
|
-
ngAfterViewInit() {
|
|
56
|
-
this.filterInput?.nativeElement?.focus();
|
|
57
|
-
}
|
|
58
|
-
statusClicked(event) {
|
|
59
|
-
if (event && this.openStatusMenu) {
|
|
60
|
-
event.statusFilter = true;
|
|
61
|
-
this.openStatusMenu(event);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
ngOnDestroy() {
|
|
65
|
-
if (this.subscription)
|
|
66
|
-
this.subscription.unsubscribe();
|
|
67
|
-
}
|
|
68
|
-
get availableRoleAttributes() {
|
|
69
|
-
return this.columnDef?.headerComponentParams?.roleAttributes;
|
|
70
|
-
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnFilterComponent, deps: [{ token: i1.DataTableFilterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableColumnFilterComponent, selector: "app-table-column-filter", inputs: { type: "type", filterString: "filterString", filterName: "filterName", columnDef: "columnDef", openStatusMenu: "openStatusMenu", dateFilter: "dateFilter" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], ngImport: i0, template: "<div class=\"header-filter-container\">\n <div *ngIf=\"type === 'TEXTINPUT' || type === 'COMBO'\" class=\"text-input-filter\">\n <input\n #filterInput\n (keyup)=\"setFilterDebounced()\"\n [(ngModel)]=\"filterString\"\n class=\"search\"\n id=\"SearchFilter\"\n placeholder=\"Type to Filter\"\n type=\"text\"\n />\n </div>\n <div *ngIf=\"type === 'SELECT'\"></div>\n</div>\n", styles: [".header-filter-container .search{height:2.5rem;border-width:0;font-size:.875rem;box-shadow:none;padding-left:0rem;margin-top:.9375rem}#TimeSearch{position:relative;float:left;display:inline-block;margin-left:.625rem;width:3.125rem;height:2.5rem;background-color:var(--primary)}#TimeSearch #TimeSearchList{width:2.75rem;height:0rem;position:absolute;top:0rem;left:-.125rem;overflow:hidden;transition:var(--transition);background-color:var(--menu);border-radius:.5rem;z-index:30}#TimeSearch #TimeSearchList .time{width:2.5rem;background-color:var(--background);padding-left:.5rem;padding-right:.5rem;border-radius:.5rem;line-height:1.625rem;font-size:.75rem;font-weight:700;text-align:center;margin-top:.125rem;margin-left:.125rem;left:-.125rem;top:-3.1875rem;cursor:pointer;transition:var(--transition)}#TimeSearch #TimeSearchList.open{top:-3.1875rem;width:2.75rem;height:14.125rem}#TimeSearch #TimeSelectButton{width:2.5rem;background-color:var(--background);padding-left:.5rem;padding-right:.5rem;border-radius:.5rem;line-height:1.625rem;text-align:center;font-size:.75rem;font-weight:700;margin-top:.4375rem;cursor:pointer;transition:var(--transition)}#TimeSearch #TimeSelectButton:hover,#TimeSearch #TimeSearchList .time:hover{background-color:var(--primaryColor);color:var(--white)}::ng-deep .tag-selector-filter .select2-selection{border:none!important}::ng-deep .tag-selector-filter .select2-selection .select2-search__field{height:2.1875rem!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
73
|
-
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnFilterComponent, decorators: [{
|
|
75
|
-
type: Component,
|
|
76
|
-
args: [{ selector: 'app-table-column-filter', template: "<div class=\"header-filter-container\">\n <div *ngIf=\"type === 'TEXTINPUT' || type === 'COMBO'\" class=\"text-input-filter\">\n <input\n #filterInput\n (keyup)=\"setFilterDebounced()\"\n [(ngModel)]=\"filterString\"\n class=\"search\"\n id=\"SearchFilter\"\n placeholder=\"Type to Filter\"\n type=\"text\"\n />\n </div>\n <div *ngIf=\"type === 'SELECT'\"></div>\n</div>\n", styles: [".header-filter-container .search{height:2.5rem;border-width:0;font-size:.875rem;box-shadow:none;padding-left:0rem;margin-top:.9375rem}#TimeSearch{position:relative;float:left;display:inline-block;margin-left:.625rem;width:3.125rem;height:2.5rem;background-color:var(--primary)}#TimeSearch #TimeSearchList{width:2.75rem;height:0rem;position:absolute;top:0rem;left:-.125rem;overflow:hidden;transition:var(--transition);background-color:var(--menu);border-radius:.5rem;z-index:30}#TimeSearch #TimeSearchList .time{width:2.5rem;background-color:var(--background);padding-left:.5rem;padding-right:.5rem;border-radius:.5rem;line-height:1.625rem;font-size:.75rem;font-weight:700;text-align:center;margin-top:.125rem;margin-left:.125rem;left:-.125rem;top:-3.1875rem;cursor:pointer;transition:var(--transition)}#TimeSearch #TimeSearchList.open{top:-3.1875rem;width:2.75rem;height:14.125rem}#TimeSearch #TimeSelectButton{width:2.5rem;background-color:var(--background);padding-left:.5rem;padding-right:.5rem;border-radius:.5rem;line-height:1.625rem;text-align:center;font-size:.75rem;font-weight:700;margin-top:.4375rem;cursor:pointer;transition:var(--transition)}#TimeSearch #TimeSelectButton:hover,#TimeSearch #TimeSearchList .time:hover{background-color:var(--primaryColor);color:var(--white)}::ng-deep .tag-selector-filter .select2-selection{border:none!important}::ng-deep .tag-selector-filter .select2-selection .select2-search__field{height:2.1875rem!important}\n"] }]
|
|
77
|
-
}], ctorParameters: function () { return [{ type: i1.DataTableFilterService }]; }, propDecorators: { type: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], filterString: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], filterName: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], columnDef: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], openStatusMenu: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], dateFilter: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], filterInput: [{
|
|
90
|
-
type: ViewChild,
|
|
91
|
-
args: ['filterInput']
|
|
92
|
-
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvZGF0YS10YWJsZS9jb2x1bW4taGVhZGVycy90YWJsZS1jb2x1bW4tZmlsdGVyL3RhYmxlLWNvbHVtbi1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWZpbHRlci90YWJsZS1jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTyxFQUFnQixTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBT2xDLE1BQU0sT0FBTywwQkFBMEI7SUFhbkMsWUFBbUIsYUFBcUM7UUFBckMsa0JBQWEsR0FBYixhQUFhLENBQXdCO1FBWi9DLFNBQUksR0FBRyxXQUFXLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUdoQixlQUFVLEdBQVEsS0FBSyxDQUFDO1FBRWpDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFLckQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEQsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2IsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQzNDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRTtvQkFDakQsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQ3pCLE1BQU07aUJBQ1Q7YUFDSjtZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sU0FBUyxHQUFHO1lBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUs7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDbEIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM5QixLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFHLElBQUksQ0FBQyxZQUFZO1lBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsQ0FBQztJQUNqRSxDQUFDOytHQTFEUSwwQkFBMEI7bUdBQTFCLDBCQUEwQixpVkMxQnZDLGthQWNBOzs0RkRZYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0kseUJBQXlCOzZHQUsxQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7RGF0YVRhYmxlRmlsdGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2RhdGEtdGFibGUtZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC10YWJsZS1jb2x1bW4tZmlsdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtbkZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB0eXBlID0gJ1RFWFRJTlBVVCc7XG4gICAgQElucHV0KCkgZmlsdGVyU3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgZmlsdGVyTmFtZSA9ICcnO1xuICAgIEBJbnB1dCgpIGNvbHVtbkRlZjtcbiAgICBASW5wdXQoKSBvcGVuU3RhdHVzTWVudTtcbiAgICBASW5wdXQoKSBkYXRlRmlsdGVyOiBhbnkgPSAnMjRoJztcblxuICAgIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICBzZXRGaWx0ZXJEZWJvdW5jZWQgPSBfLmRlYm91bmNlKHRoaXMuc2V0RmlsdGVyLCA1MDApO1xuXG4gICAgQFZpZXdDaGlsZCgnZmlsdGVySW5wdXQnKSBmaWx0ZXJJbnB1dDogRWxlbWVudFJlZjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmaWx0ZXJTZXJ2aWNlOiBEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXJzQ2hhbmdlZC5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdG1wID0gJyc7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgZmlsdGVycy5sZW5ndGg7IGlkeCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJzW2lkeF0uY29sdW1uSWQgPT09IHRoaXMuY29sdW1uRGVmPy5jb2xJZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gZmlsdGVyc1tpZHhdLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJTdHJpbmcgPSB0bXA7XG4gICAgICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgc2V0RmlsdGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWx0ZXJPYmogPSB7XG4gICAgICAgICAgICBmaWx0ZXJOYW1lOiB0aGlzLmZpbHRlck5hbWUsXG4gICAgICAgICAgICBjb2x1bW5JZDogdGhpcy5jb2x1bW5EZWY/LmNvbElkLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZmlsdGVyU3RyaW5nLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuZmlsdGVyU3RyaW5nLFxuICAgICAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmZpbHRlclNlcnZpY2UudXBkYXRlRmlsdGVyKGZpbHRlck9iailcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgc3RhdHVzQ2xpY2tlZChldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQgJiYgdGhpcy5vcGVuU3RhdHVzTWVudSkge1xuICAgICAgICAgICAgZXZlbnQuc3RhdHVzRmlsdGVyID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMub3BlblN0YXR1c01lbnUoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmKHRoaXMuc3Vic2NyaXB0aW9uKSB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGdldCBhdmFpbGFibGVSb2xlQXR0cmlidXRlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sdW1uRGVmPy5oZWFkZXJDb21wb25lbnRQYXJhbXM/LnJvbGVBdHRyaWJ1dGVzO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXItZmlsdGVyLWNvbnRhaW5lclwiPlxuICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0gJ1RFWFRJTlBVVCcgfHwgdHlwZSA9PT0gJ0NPTUJPJ1wiIGNsYXNzPVwidGV4dC1pbnB1dC1maWx0ZXJcIj5cbiAgICA8aW5wdXRcbiAgICAgICNmaWx0ZXJJbnB1dFxuICAgICAgKGtleXVwKT1cInNldEZpbHRlckRlYm91bmNlZCgpXCJcbiAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyU3RyaW5nXCJcbiAgICAgIGNsYXNzPVwic2VhcmNoXCJcbiAgICAgIGlkPVwiU2VhcmNoRmlsdGVyXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiVHlwZSB0byBGaWx0ZXJcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0gJ1NFTEVDVCdcIj48L2Rpdj5cbjwvZGl2PlxuIl19
|