ng-kinintel 0.0.389 → 0.0.395
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/esm2020/lib/components/alert-groups/alert-groups.component.mjs +76 -0
- package/esm2020/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.mjs +83 -0
- package/esm2020/lib/components/dashboard-editor/configure-item/configure-item.component.mjs +853 -0
- package/esm2020/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.mjs +56 -0
- package/esm2020/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.mjs +114 -0
- package/esm2020/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.mjs +163 -0
- package/esm2020/lib/components/dashboard-editor/dashboard-editor.component.mjs +580 -0
- package/esm2020/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.mjs +15 -0
- package/esm2020/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.mjs +50 -0
- package/esm2020/lib/components/dashboard-editor/item-component/item-component.component.mjs +1226 -0
- package/esm2020/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.mjs +111 -0
- package/esm2020/lib/components/dashboards/dashboards.component.mjs +163 -0
- package/esm2020/lib/components/dashboards/view-dashboard/view-dashboard.component.mjs +429 -0
- package/esm2020/lib/components/data-explorer/change-source-warning/change-source-warning.component.mjs +20 -0
- package/esm2020/lib/components/data-explorer/data-explorer.component.mjs +243 -0
- package/esm2020/lib/components/data-explorer/export-data/export-data.component.mjs +62 -0
- package/esm2020/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.mjs +70 -0
- package/esm2020/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.mjs +190 -0
- package/esm2020/lib/components/data-picker/data-picker.component.mjs +79 -0
- package/esm2020/lib/components/data-search/data-search.component.mjs +11 -0
- package/esm2020/lib/components/data-sharing-invite/data-sharing-invite.component.mjs +52 -0
- package/esm2020/lib/components/dataset/create-dataset/create-dataset.component.mjs +47 -0
- package/esm2020/lib/components/dataset/dataset-editor/available-columns/available-columns.component.mjs +28 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.mjs +344 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.mjs +80 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.mjs +54 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.mjs +67 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-editor.component.mjs +1134 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.mjs +201 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.mjs +25 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.mjs +72 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.mjs +62 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.mjs +41 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.mjs +78 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.mjs +39 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.mjs +75 -0
- package/esm2020/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.mjs +107 -0
- package/esm2020/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.mjs +20 -0
- package/esm2020/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.mjs +20 -0
- package/esm2020/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.mjs +58 -0
- package/esm2020/lib/components/dataset/dataset-editor/share-query/share-query.component.mjs +110 -0
- package/esm2020/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.mjs +20 -0
- package/esm2020/lib/components/dataset/dataset.component.mjs +294 -0
- package/esm2020/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.mjs +130 -0
- package/esm2020/lib/components/datasource/create-datasource/api-access/api-access.component.mjs +132 -0
- package/esm2020/lib/components/datasource/create-datasource/create-datasource.component.mjs +728 -0
- package/esm2020/lib/components/datasource/create-datasource/import-data/import-data.component.mjs +146 -0
- package/esm2020/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.mjs +165 -0
- package/esm2020/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.mjs +145 -0
- package/esm2020/lib/components/datasource/datasource.component.mjs +162 -0
- package/esm2020/lib/components/datasource/document-datasource/document-datasource.component.mjs +297 -0
- package/esm2020/lib/components/export-project/export-project.component.mjs +29 -0
- package/esm2020/lib/components/feeds/feed/feed.component.mjs +92 -0
- package/esm2020/lib/components/feeds/feeds.component.mjs +145 -0
- package/esm2020/lib/components/job-tasks/job-tasks.component.mjs +25 -0
- package/esm2020/lib/components/marketplace/marketplace.component.mjs +65 -0
- package/esm2020/lib/components/metadata/metadata.component.mjs +65 -0
- package/esm2020/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.mjs +113 -0
- package/esm2020/lib/components/notification-groups/notification-groups.component.mjs +86 -0
- package/esm2020/lib/components/project-picker/project-picker.component.mjs +118 -0
- package/esm2020/lib/components/project-settings/project-link-selection/project-link-selection.component.mjs +104 -0
- package/esm2020/lib/components/project-settings/project-settings.component.mjs +155 -0
- package/esm2020/lib/components/query-caching/edit-query-cache/edit-query-cache.component.mjs +51 -0
- package/esm2020/lib/components/query-caching/query-cache-view/query-cache-view.component.mjs +121 -0
- package/esm2020/lib/components/query-caching/query-caching.component.mjs +162 -0
- package/esm2020/lib/components/shared-with-me/feed-api-modal/feed-api-modal.component.mjs +45 -0
- package/esm2020/lib/components/shared-with-me/shared-with-me.component.mjs +170 -0
- package/esm2020/lib/components/snapshots/snapshots.component.mjs +244 -0
- package/esm2020/lib/components/tag-picker/tag-picker.component.mjs +74 -0
- package/esm2020/lib/components/task-time-periods/task-time-periods.component.mjs +55 -0
- package/esm2020/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.mjs +40 -0
- package/esm2020/lib/guards/dashboard-changes.guard.mjs +22 -0
- package/esm2020/lib/kinintel-config.mjs +3 -0
- package/esm2020/lib/ng-kinintel.module.mjs +437 -0
- package/esm2020/lib/objects/action-event.mjs +16 -0
- package/esm2020/lib/services/alert.service.mjs +52 -0
- package/esm2020/lib/services/dashboard.service.mjs +75 -0
- package/esm2020/lib/services/data-processor.service.mjs +56 -0
- package/esm2020/lib/services/data-search.service.mjs +36 -0
- package/esm2020/lib/services/dataset.service.mjs +187 -0
- package/esm2020/lib/services/datasource.service.mjs +93 -0
- package/esm2020/lib/services/external.service.mjs +33 -0
- package/esm2020/lib/services/feed.service.mjs +50 -0
- package/esm2020/lib/services/notification.service.mjs +41 -0
- package/esm2020/lib/services/project.service.mjs +130 -0
- package/esm2020/lib/services/tag.service.mjs +63 -0
- package/esm2020/ng-kinintel.mjs +5 -0
- package/esm2020/public-api.mjs +43 -0
- package/fesm2015/ng-kinintel.mjs +12169 -0
- package/fesm2015/ng-kinintel.mjs.map +1 -0
- package/fesm2020/ng-kinintel.mjs +11861 -0
- package/fesm2020/ng-kinintel.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/alert-groups/alert-groups.component.d.ts +30 -0
- package/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.d.ts +28 -0
- package/lib/components/dashboard-editor/configure-item/configure-item.component.d.ts +256 -0
- package/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.d.ts +16 -0
- package/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.d.ts +59 -0
- package/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.d.ts +26 -0
- package/lib/components/dashboard-editor/dashboard-editor.component.d.ts +85 -0
- package/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.d.ts +8 -0
- package/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.d.ts +22 -0
- package/lib/components/dashboard-editor/item-component/item-component.component.d.ts +264 -0
- package/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.d.ts +30 -0
- package/lib/components/dashboards/dashboards.component.d.ts +56 -0
- package/lib/components/dashboards/view-dashboard/view-dashboard.component.d.ts +81 -0
- package/lib/components/data-explorer/change-source-warning/change-source-warning.component.d.ts +11 -0
- package/lib/components/data-explorer/data-explorer.component.d.ts +61 -0
- package/lib/components/data-explorer/export-data/export-data.component.d.ts +17 -0
- package/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.d.ts +25 -0
- package/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.d.ts +44 -0
- package/lib/components/data-picker/data-picker.component.d.ts +32 -0
- package/lib/components/data-search/data-search.component.d.ts +5 -0
- package/lib/components/data-sharing-invite/data-sharing-invite.component.d.ts +21 -0
- package/lib/components/dataset/create-dataset/create-dataset.component.d.ts +17 -0
- package/lib/components/dataset/dataset-editor/available-columns/available-columns.component.d.ts +12 -0
- package/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.d.ts +61 -0
- package/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.d.ts +21 -0
- package/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.d.ts +20 -0
- package/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.d.ts +19 -0
- package/lib/components/dataset/dataset-editor/dataset-editor.component.d.ts +131 -0
- package/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.d.ts +63 -0
- package/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.d.ts +11 -0
- package/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.d.ts +20 -0
- package/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.d.ts +16 -0
- package/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.d.ts +18 -0
- package/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.d.ts +23 -0
- package/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.d.ts +13 -0
- package/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.d.ts +22 -0
- package/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.d.ts +27 -0
- package/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.d.ts +11 -0
- package/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.d.ts +11 -0
- package/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.d.ts +25 -0
- package/lib/components/dataset/dataset-editor/share-query/share-query.component.d.ts +41 -0
- package/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.d.ts +11 -0
- package/lib/components/dataset/dataset.component.d.ts +74 -0
- package/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.d.ts +26 -0
- package/lib/components/datasource/create-datasource/api-access/api-access.component.d.ts +31 -0
- package/lib/components/datasource/create-datasource/create-datasource.component.d.ts +112 -0
- package/lib/components/datasource/create-datasource/import-data/import-data.component.d.ts +28 -0
- package/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.d.ts +40 -0
- package/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.d.ts +34 -0
- package/lib/components/datasource/datasource.component.d.ts +46 -0
- package/lib/components/datasource/document-datasource/document-datasource.component.d.ts +64 -0
- package/lib/components/export-project/export-project.component.d.ts +9 -0
- package/lib/components/feeds/feed/feed.component.d.ts +30 -0
- package/lib/components/feeds/feeds.component.d.ts +47 -0
- package/lib/components/job-tasks/job-tasks.component.d.ts +11 -0
- package/lib/components/marketplace/marketplace.component.d.ts +42 -0
- package/lib/components/metadata/metadata.component.d.ts +24 -0
- package/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.d.ts +37 -0
- package/lib/components/notification-groups/notification-groups.component.d.ts +28 -0
- package/lib/components/project-picker/project-picker.component.d.ts +37 -0
- package/lib/components/project-settings/project-link-selection/project-link-selection.component.d.ts +32 -0
- package/lib/components/project-settings/project-settings.component.d.ts +40 -0
- package/lib/components/query-caching/edit-query-cache/edit-query-cache.component.d.ts +17 -0
- package/lib/components/query-caching/query-cache-view/query-cache-view.component.d.ts +35 -0
- package/lib/components/query-caching/query-caching.component.d.ts +38 -0
- package/lib/components/shared-with-me/feed-api-modal/feed-api-modal.component.d.ts +21 -0
- package/lib/components/shared-with-me/shared-with-me.component.d.ts +42 -0
- package/lib/components/snapshots/snapshots.component.d.ts +52 -0
- package/lib/components/tag-picker/tag-picker.component.d.ts +27 -0
- package/lib/components/task-time-periods/task-time-periods.component.d.ts +20 -0
- package/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.d.ts +17 -0
- package/lib/guards/dashboard-changes.guard.d.ts +11 -0
- package/lib/kinintel-config.d.ts +10 -0
- package/lib/ng-kinintel.module.d.ts +116 -0
- package/lib/objects/action-event.d.ts +12 -0
- package/lib/services/alert.service.d.ts +17 -0
- package/lib/services/dashboard.service.d.ts +25 -0
- package/lib/services/data-processor.service.d.ts +18 -0
- package/lib/services/data-search.service.d.ts +14 -0
- package/lib/services/dataset.service.d.ts +56 -0
- package/lib/services/datasource.service.d.ts +34 -0
- package/lib/services/external.service.d.ts +12 -0
- package/lib/services/feed.service.d.ts +19 -0
- package/lib/services/notification.service.d.ts +16 -0
- package/lib/services/project.service.d.ts +27 -0
- package/lib/services/tag.service.d.ts +19 -0
- package/package.json +23 -3
- package/{src/public-api.ts → public-api.d.ts} +0 -8
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -7
- package/src/lib/components/alert-groups/alert-groups.component.html +0 -140
- package/src/lib/components/alert-groups/alert-groups.component.sass +0 -4
- package/src/lib/components/alert-groups/alert-groups.component.spec.ts +0 -25
- package/src/lib/components/alert-groups/alert-groups.component.ts +0 -88
- package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.html +0 -91
- package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.sass +0 -2
- package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.spec.ts +0 -25
- package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.ts +0 -80
- package/src/lib/components/dashboard-editor/configure-item/configure-item.component.html +0 -2006
- package/src/lib/components/dashboard-editor/configure-item/configure-item.component.sass +0 -106
- package/src/lib/components/dashboard-editor/configure-item/configure-item.component.spec.ts +0 -25
- package/src/lib/components/dashboard-editor/configure-item/configure-item.component.ts +0 -967
- package/src/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.html +0 -81
- package/src/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.sass +0 -0
- package/src/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.spec.ts +0 -25
- package/src/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.ts +0 -48
- package/src/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.html +0 -142
- package/src/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.sass +0 -0
- package/src/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.spec.ts +0 -25
- package/src/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.ts +0 -117
- package/src/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.html +0 -224
- package/src/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.sass +0 -0
- package/src/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.spec.ts +0 -25
- package/src/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.ts +0 -149
- package/src/lib/components/dashboard-editor/dashboard-editor.component.html +0 -205
- package/src/lib/components/dashboard-editor/dashboard-editor.component.sass +0 -247
- package/src/lib/components/dashboard-editor/dashboard-editor.component.spec.ts +0 -25
- package/src/lib/components/dashboard-editor/dashboard-editor.component.ts +0 -645
- package/src/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.html +0 -1
- package/src/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.sass +0 -0
- package/src/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.spec.ts +0 -25
- package/src/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.ts +0 -16
- package/src/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.html +0 -167
- package/src/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.sass +0 -0
- package/src/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.spec.ts +0 -23
- package/src/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.ts +0 -47
- package/src/lib/components/dashboard-editor/item-component/item-component.component.html +0 -486
- package/src/lib/components/dashboard-editor/item-component/item-component.component.sass +0 -137
- package/src/lib/components/dashboard-editor/item-component/item-component.component.spec.ts +0 -25
- package/src/lib/components/dashboard-editor/item-component/item-component.component.ts +0 -1381
- package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.html +0 -48
- package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.sass +0 -3
- package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.spec.ts +0 -25
- package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.ts +0 -111
- package/src/lib/components/dashboards/dashboards.component.html +0 -175
- package/src/lib/components/dashboards/dashboards.component.sass +0 -64
- package/src/lib/components/dashboards/dashboards.component.spec.ts +0 -25
- package/src/lib/components/dashboards/dashboards.component.ts +0 -178
- package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.html +0 -138
- package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.sass +0 -284
- package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.spec.ts +0 -25
- package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.ts +0 -462
- package/src/lib/components/data-explorer/change-source-warning/change-source-warning.component.html +0 -35
- package/src/lib/components/data-explorer/change-source-warning/change-source-warning.component.sass +0 -0
- package/src/lib/components/data-explorer/change-source-warning/change-source-warning.component.spec.ts +0 -23
- package/src/lib/components/data-explorer/change-source-warning/change-source-warning.component.ts +0 -21
- package/src/lib/components/data-explorer/data-explorer.component.html +0 -328
- package/src/lib/components/data-explorer/data-explorer.component.sass +0 -96
- package/src/lib/components/data-explorer/data-explorer.component.spec.ts +0 -25
- package/src/lib/components/data-explorer/data-explorer.component.ts +0 -271
- package/src/lib/components/data-explorer/export-data/export-data.component.html +0 -69
- package/src/lib/components/data-explorer/export-data/export-data.component.sass +0 -0
- package/src/lib/components/data-explorer/export-data/export-data.component.spec.ts +0 -25
- package/src/lib/components/data-explorer/export-data/export-data.component.ts +0 -56
- package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.html +0 -195
- package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.sass +0 -0
- package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.spec.ts +0 -23
- package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.ts +0 -79
- package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.html +0 -375
- package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.sass +0 -21
- package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.spec.ts +0 -25
- package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.ts +0 -197
- package/src/lib/components/data-picker/data-picker.component.html +0 -127
- package/src/lib/components/data-picker/data-picker.component.sass +0 -0
- package/src/lib/components/data-picker/data-picker.component.spec.ts +0 -25
- package/src/lib/components/data-picker/data-picker.component.ts +0 -90
- package/src/lib/components/data-search/data-search.component.html +0 -1
- package/src/lib/components/data-search/data-search.component.sass +0 -0
- package/src/lib/components/data-search/data-search.component.spec.ts +0 -23
- package/src/lib/components/data-search/data-search.component.ts +0 -10
- package/src/lib/components/data-sharing-invite/data-sharing-invite.component.html +0 -53
- package/src/lib/components/data-sharing-invite/data-sharing-invite.component.sass +0 -0
- package/src/lib/components/data-sharing-invite/data-sharing-invite.component.spec.ts +0 -23
- package/src/lib/components/data-sharing-invite/data-sharing-invite.component.ts +0 -56
- package/src/lib/components/dataset/create-dataset/create-dataset.component.html +0 -25
- package/src/lib/components/dataset/create-dataset/create-dataset.component.sass +0 -0
- package/src/lib/components/dataset/create-dataset/create-dataset.component.spec.ts +0 -25
- package/src/lib/components/dataset/create-dataset/create-dataset.component.ts +0 -44
- package/src/lib/components/dataset/dataset-editor/available-columns/available-columns.component.html +0 -28
- package/src/lib/components/dataset/dataset-editor/available-columns/available-columns.component.sass +0 -0
- package/src/lib/components/dataset/dataset-editor/available-columns/available-columns.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/available-columns/available-columns.component.ts +0 -22
- package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.html +0 -196
- package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.sass +0 -17
- package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.ts +0 -422
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.html +0 -30
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.sass +0 -47
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.ts +0 -78
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.html +0 -86
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.sass +0 -0
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.ts +0 -49
- package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.html +0 -68
- package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.sass +0 -15
- package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.ts +0 -65
- package/src/lib/components/dataset/dataset-editor/dataset-editor-popup.html +0 -19
- package/src/lib/components/dataset/dataset-editor/dataset-editor.component.html +0 -605
- package/src/lib/components/dataset/dataset-editor/dataset-editor.component.sass +0 -267
- package/src/lib/components/dataset/dataset-editor/dataset-editor.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-editor.component.ts +0 -1230
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.html +0 -309
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.sass +0 -41
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.ts +0 -215
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.html +0 -35
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.sass +0 -3
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.spec.ts +0 -23
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.ts +0 -20
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.html +0 -52
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.sass +0 -14
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.ts +0 -58
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.html +0 -47
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.sass +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.ts +0 -49
- package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.html +0 -49
- package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.sass +0 -2
- package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.ts +0 -39
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.html +0 -195
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.sass +0 -14
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.ts +0 -82
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.html +0 -78
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.sass +0 -16
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.ts +0 -32
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.html +0 -24
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.sass +0 -22
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.ts +0 -64
- package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.html +0 -177
- package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.sass +0 -80
- package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.ts +0 -113
- package/src/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.html +0 -32
- package/src/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.sass +0 -0
- package/src/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.spec.ts +0 -23
- package/src/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.ts +0 -20
- package/src/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.html +0 -37
- package/src/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.sass +0 -0
- package/src/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.spec.ts +0 -23
- package/src/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.ts +0 -19
- package/src/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.html +0 -69
- package/src/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.sass +0 -0
- package/src/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.spec.ts +0 -23
- package/src/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.ts +0 -58
- package/src/lib/components/dataset/dataset-editor/share-query/share-query.component.html +0 -195
- package/src/lib/components/dataset/dataset-editor/share-query/share-query.component.sass +0 -0
- package/src/lib/components/dataset/dataset-editor/share-query/share-query.component.spec.ts +0 -23
- package/src/lib/components/dataset/dataset-editor/share-query/share-query.component.ts +0 -128
- package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.html +0 -34
- package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.sass +0 -3
- package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.spec.ts +0 -23
- package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.ts +0 -21
- package/src/lib/components/dataset/dataset.component.html +0 -317
- package/src/lib/components/dataset/dataset.component.sass +0 -73
- package/src/lib/components/dataset/dataset.component.spec.ts +0 -25
- package/src/lib/components/dataset/dataset.component.ts +0 -320
- package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.html +0 -133
- package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.sass +0 -51
- package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.spec.ts +0 -23
- package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.ts +0 -144
- package/src/lib/components/datasource/create-datasource/api-access/api-access.component.html +0 -325
- package/src/lib/components/datasource/create-datasource/api-access/api-access.component.sass +0 -0
- package/src/lib/components/datasource/create-datasource/api-access/api-access.component.spec.ts +0 -23
- package/src/lib/components/datasource/create-datasource/api-access/api-access.component.ts +0 -148
- package/src/lib/components/datasource/create-datasource/create-datasource.component.html +0 -430
- package/src/lib/components/datasource/create-datasource/create-datasource.component.sass +0 -162
- package/src/lib/components/datasource/create-datasource/create-datasource.component.spec.ts +0 -25
- package/src/lib/components/datasource/create-datasource/create-datasource.component.ts +0 -811
- package/src/lib/components/datasource/create-datasource/import-data/import-data.component.html +0 -119
- package/src/lib/components/datasource/create-datasource/import-data/import-data.component.sass +0 -8
- package/src/lib/components/datasource/create-datasource/import-data/import-data.component.spec.ts +0 -25
- package/src/lib/components/datasource/create-datasource/import-data/import-data.component.ts +0 -162
- package/src/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.html +0 -239
- package/src/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.sass +0 -0
- package/src/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.spec.ts +0 -23
- package/src/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.ts +0 -186
- package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.html +0 -167
- package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.sass +0 -87
- package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.spec.ts +0 -23
- package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.ts +0 -164
- package/src/lib/components/datasource/datasource.component.html +0 -165
- package/src/lib/components/datasource/datasource.component.sass +0 -4
- package/src/lib/components/datasource/datasource.component.spec.ts +0 -25
- package/src/lib/components/datasource/datasource.component.ts +0 -174
- package/src/lib/components/datasource/document-datasource/document-datasource.component.html +0 -558
- package/src/lib/components/datasource/document-datasource/document-datasource.component.sass +0 -84
- package/src/lib/components/datasource/document-datasource/document-datasource.component.spec.ts +0 -25
- package/src/lib/components/datasource/document-datasource/document-datasource.component.ts +0 -355
- package/src/lib/components/export-project/export-project.component.html +0 -301
- package/src/lib/components/export-project/export-project.component.sass +0 -0
- package/src/lib/components/export-project/export-project.component.spec.ts +0 -23
- package/src/lib/components/export-project/export-project.component.ts +0 -29
- package/src/lib/components/feeds/feed/feed.component.html +0 -187
- package/src/lib/components/feeds/feed/feed.component.sass +0 -0
- package/src/lib/components/feeds/feed/feed.component.spec.ts +0 -25
- package/src/lib/components/feeds/feed/feed.component.ts +0 -102
- package/src/lib/components/feeds/feeds.component.html +0 -210
- package/src/lib/components/feeds/feeds.component.sass +0 -4
- package/src/lib/components/feeds/feeds.component.spec.ts +0 -25
- package/src/lib/components/feeds/feeds.component.ts +0 -163
- package/src/lib/components/job-tasks/job-tasks.component.html +0 -22
- package/src/lib/components/job-tasks/job-tasks.component.sass +0 -0
- package/src/lib/components/job-tasks/job-tasks.component.spec.ts +0 -25
- package/src/lib/components/job-tasks/job-tasks.component.ts +0 -19
- package/src/lib/components/marketplace/marketplace.component.html +0 -143
- package/src/lib/components/marketplace/marketplace.component.sass +0 -0
- package/src/lib/components/marketplace/marketplace.component.spec.ts +0 -23
- package/src/lib/components/marketplace/marketplace.component.ts +0 -73
- package/src/lib/components/metadata/metadata.component.html +0 -62
- package/src/lib/components/metadata/metadata.component.sass +0 -0
- package/src/lib/components/metadata/metadata.component.spec.ts +0 -25
- package/src/lib/components/metadata/metadata.component.ts +0 -67
- package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.html +0 -82
- package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.sass +0 -21
- package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.spec.ts +0 -25
- package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.ts +0 -123
- package/src/lib/components/notification-groups/notification-groups.component.html +0 -125
- package/src/lib/components/notification-groups/notification-groups.component.sass +0 -4
- package/src/lib/components/notification-groups/notification-groups.component.spec.ts +0 -25
- package/src/lib/components/notification-groups/notification-groups.component.ts +0 -98
- package/src/lib/components/project-picker/project-picker.component.html +0 -167
- package/src/lib/components/project-picker/project-picker.component.sass +0 -1
- package/src/lib/components/project-picker/project-picker.component.spec.ts +0 -25
- package/src/lib/components/project-picker/project-picker.component.ts +0 -138
- package/src/lib/components/project-settings/project-link-selection/project-link-selection.component.html +0 -120
- package/src/lib/components/project-settings/project-link-selection/project-link-selection.component.sass +0 -0
- package/src/lib/components/project-settings/project-link-selection/project-link-selection.component.spec.ts +0 -23
- package/src/lib/components/project-settings/project-link-selection/project-link-selection.component.ts +0 -161
- package/src/lib/components/project-settings/project-settings.component.html +0 -353
- package/src/lib/components/project-settings/project-settings.component.sass +0 -0
- package/src/lib/components/project-settings/project-settings.component.spec.ts +0 -23
- package/src/lib/components/project-settings/project-settings.component.ts +0 -178
- package/src/lib/components/query-caching/edit-query-cache/edit-query-cache.component.html +0 -96
- package/src/lib/components/query-caching/edit-query-cache/edit-query-cache.component.sass +0 -0
- package/src/lib/components/query-caching/edit-query-cache/edit-query-cache.component.spec.ts +0 -23
- package/src/lib/components/query-caching/edit-query-cache/edit-query-cache.component.ts +0 -48
- package/src/lib/components/query-caching/query-caching.component.html +0 -122
- package/src/lib/components/query-caching/query-caching.component.sass +0 -0
- package/src/lib/components/query-caching/query-caching.component.spec.ts +0 -23
- package/src/lib/components/query-caching/query-caching.component.ts +0 -184
- package/src/lib/components/shared-with-me/feed-api-modal/feed-api-modal.component.html +0 -116
- package/src/lib/components/shared-with-me/feed-api-modal/feed-api-modal.component.sass +0 -0
- package/src/lib/components/shared-with-me/feed-api-modal/feed-api-modal.component.spec.ts +0 -23
- package/src/lib/components/shared-with-me/feed-api-modal/feed-api-modal.component.ts +0 -48
- package/src/lib/components/shared-with-me/shared-with-me.component.html +0 -132
- package/src/lib/components/shared-with-me/shared-with-me.component.sass +0 -0
- package/src/lib/components/shared-with-me/shared-with-me.component.spec.ts +0 -23
- package/src/lib/components/shared-with-me/shared-with-me.component.ts +0 -173
- package/src/lib/components/snapshots/snapshots.component.html +0 -408
- package/src/lib/components/snapshots/snapshots.component.sass +0 -4
- package/src/lib/components/snapshots/snapshots.component.spec.ts +0 -25
- package/src/lib/components/snapshots/snapshots.component.ts +0 -286
- package/src/lib/components/tag-picker/tag-picker.component.html +0 -155
- package/src/lib/components/tag-picker/tag-picker.component.sass +0 -2
- package/src/lib/components/tag-picker/tag-picker.component.spec.ts +0 -25
- package/src/lib/components/tag-picker/tag-picker.component.ts +0 -82
- package/src/lib/components/task-time-periods/task-time-periods.component.html +0 -93
- package/src/lib/components/task-time-periods/task-time-periods.component.sass +0 -7
- package/src/lib/components/task-time-periods/task-time-periods.component.spec.ts +0 -25
- package/src/lib/components/task-time-periods/task-time-periods.component.ts +0 -50
- package/src/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.html +0 -111
- package/src/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.sass +0 -0
- package/src/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.spec.ts +0 -25
- package/src/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.ts +0 -38
- package/src/lib/guards/dashboard-changes.guard.spec.ts +0 -16
- package/src/lib/guards/dashboard-changes.guard.ts +0 -27
- package/src/lib/ng-kinintel.module.ts +0 -274
- package/src/lib/objects/action-event.spec.ts +0 -7
- package/src/lib/objects/action-event.ts +0 -27
- package/src/lib/services/alert.service.spec.ts +0 -16
- package/src/lib/services/alert.service.ts +0 -49
- package/src/lib/services/dashboard.service.spec.ts +0 -16
- package/src/lib/services/dashboard.service.ts +0 -79
- package/src/lib/services/data-processor.service.spec.ts +0 -16
- package/src/lib/services/data-processor.service.ts +0 -61
- package/src/lib/services/data-search.service.spec.ts +0 -16
- package/src/lib/services/data-search.service.ts +0 -31
- package/src/lib/services/dataset.service.spec.ts +0 -16
- package/src/lib/services/dataset.service.ts +0 -234
- package/src/lib/services/datasource.service.spec.ts +0 -16
- package/src/lib/services/datasource.service.ts +0 -115
- package/src/lib/services/external.service.spec.ts +0 -16
- package/src/lib/services/external.service.ts +0 -29
- package/src/lib/services/feed.service.spec.ts +0 -16
- package/src/lib/services/feed.service.ts +0 -48
- package/src/lib/services/notification.service.spec.ts +0 -16
- package/src/lib/services/notification.service.ts +0 -38
- package/src/lib/services/project.service.spec.ts +0 -16
- package/src/lib/services/project.service.ts +0 -146
- package/src/lib/services/tag.service.spec.ts +0 -16
- package/src/lib/services/tag.service.ts +0 -61
- package/src/test.ts +0 -17
- package/tsconfig.lib.json +0 -24
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
- package/tslint.json +0 -17
- /package/{src → esm2020}/lib/components/dashboard-editor/configure-item/vis-network-options.json +0 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, merge, Subject } from 'rxjs';
|
|
3
|
+
import { debounceTime, map, switchMap } from 'rxjs/operators';
|
|
4
|
+
import moment from 'moment';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../lib/services/project.service";
|
|
7
|
+
import * as i2 from "../../../lib/services/alert.service";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@angular/material/legacy-button";
|
|
10
|
+
import * as i5 from "@angular/material/icon";
|
|
11
|
+
import * as i6 from "@angular/material/legacy-menu";
|
|
12
|
+
import * as i7 from "@angular/forms";
|
|
13
|
+
import * as i8 from "@angular/router";
|
|
14
|
+
export class AlertGroupsComponent {
|
|
15
|
+
constructor(projectService, alertService) {
|
|
16
|
+
this.projectService = projectService;
|
|
17
|
+
this.alertService = alertService;
|
|
18
|
+
this.routePath = '/alert-groups';
|
|
19
|
+
this.alertGroups = [];
|
|
20
|
+
this.searchText = new BehaviorSubject('');
|
|
21
|
+
this.limit = new BehaviorSubject(10);
|
|
22
|
+
this.offset = new BehaviorSubject(0);
|
|
23
|
+
this.projectSub = new Subject();
|
|
24
|
+
this.moment = moment;
|
|
25
|
+
this.page = 1;
|
|
26
|
+
this.endOfResults = false;
|
|
27
|
+
this.loading = true;
|
|
28
|
+
this.reload = new Subject();
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
if (this.projectService) {
|
|
32
|
+
this.projectSub = this.projectService.activeProject;
|
|
33
|
+
}
|
|
34
|
+
merge(this.searchText, this.limit, this.offset, this.projectSub, this.reload)
|
|
35
|
+
.pipe(debounceTime(300),
|
|
36
|
+
// distinctUntilChanged(),
|
|
37
|
+
switchMap(() => this.getAlertGroups())).subscribe((alertGroups) => {
|
|
38
|
+
this.endOfResults = alertGroups.length < this.limit.getValue();
|
|
39
|
+
this.alertGroups = alertGroups;
|
|
40
|
+
this.loading = false;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
increaseOffset() {
|
|
44
|
+
this.page = this.page + 1;
|
|
45
|
+
this.offset.next((this.limit.getValue() * this.page) - this.limit.getValue());
|
|
46
|
+
}
|
|
47
|
+
decreaseOffset() {
|
|
48
|
+
this.page = this.page <= 1 ? 1 : this.page - 1;
|
|
49
|
+
this.offset.next((this.limit.getValue() * this.page) - this.limit.getValue());
|
|
50
|
+
}
|
|
51
|
+
pageSizeChange(value) {
|
|
52
|
+
this.limit.next(value);
|
|
53
|
+
}
|
|
54
|
+
delete(id) {
|
|
55
|
+
const message = 'Are you sure you would like to delete this Alert Group?';
|
|
56
|
+
if (window.confirm(message)) {
|
|
57
|
+
this.alertService.deleteAlertGroup(id).then(() => {
|
|
58
|
+
this.reload.next(Date.now());
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
getAlertGroups() {
|
|
63
|
+
return this.alertService.getAlertGroups(this.searchText.getValue() || '', this.limit.getValue().toString(), this.offset.getValue().toString()).pipe(map((alertGroups) => {
|
|
64
|
+
return alertGroups;
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
AlertGroupsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlertGroupsComponent, deps: [{ token: i1.ProjectService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
AlertGroupsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AlertGroupsComponent, selector: "ki-alert-groups", inputs: { routePath: "routePath" }, ngImport: i0, template: "<div class=\"p-6 bg-white border-b border-gray-200\">\n <div class=\"md:flex md:items-center md:justify-between md:space-x-5\">\n <div class=\"flex items-start flex-1\">\n <div class=\"pt-1.5\">\n <h1 class=\"text-2xl font-bold text-gray-900\">Alert Groups</h1>\n <p class=\"text-sm font-medium text-gray-500\">\n A list of all the alert groups currently available.\n </p>\n </div>\n </div>\n <div class=\"mt-6 flex flex-col-reverse justify-stretch\">\n <button type=\"button\" [routerLink]=\"[routePath, 0]\"\n class=\"inline-flex items-center justify-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-primary focus:outline-none\">\n Create Alert Group\n </button>\n </div>\n </div>\n</div>\n\n<div class=\"p-4\" *ngIf=\"!alertGroups.length && !loading\">\n <button type=\"button\" [routerLink]=\"[routePath, 0]\"\n class=\"relative block w-full border-2 border-gray-300 border-dashed rounded-lg p-12 text-center hover:border-gray-400 focus:outline-none\">\n\n <div class=\"relative inline-block\">\n <span class=\"material-symbols-outlined mx-auto text-6xl h-14 w-20 text-gray-300\">campaign</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"right-0 bottom-0 absolute h-8 w-8 text-gray-400\" fill=\"none\" viewBox=\"0 0 24 24\"\n stroke=\"currentColor\" stroke-width=\"4\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 4v16m8-8H4\"/>\n </svg>\n </div>\n\n <span class=\"mt-2 block text-sm font-medium text-gray-900\">Create Alert Group</span>\n </button>\n</div>\n\n<div class=\"px-4 sm:px-6 lg:px-8 mt-0\">\n <div class=\"flex flex-col\">\n <div class=\"-my-2 -mx-4 sm:-mx-6 lg:-mx-8\">\n <div class=\"inline-block min-w-full py-2 align-middle\">\n <div class=\"mt-3 sm:mt-0 flex-1\" *ngIf=\"alertGroups.length\">\n <label for=\"mobile-search-candidate\" class=\"sr-only\">Search</label>\n <div class=\"flex\">\n <div class=\"relative flex-grow focus-within:z-10\">\n <div class=\"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none\">\n <svg class=\"h-5 w-5 text-gray-400\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clip-rule=\"evenodd\"/>\n </svg>\n </div>\n <input type=\"text\" name=\"mobile-search-candidate\" id=\"mobile-search-candidate\"\n class=\"block w-full rounded-none pl-10 border-t-0 border-l-0 border-gray-300\"\n placeholder=\"Search alert groups\"\n (keyup)=\"searchText.next($event.target.value)\">\n </div>\n </div>\n </div>\n <table class=\"min-w-full border-separate\" style=\"border-spacing: 0\" *ngIf=\"alertGroups.length\">\n <thead class=\"bg-gray-100\">\n <tr>\n <th scope=\"col\"\n class=\"sticky top-0 z-10 border-b border-gray-300 bg-gray-50 bg-opacity-75 py-3.5 px-4 text-left text-xs font-semibold text-gray-900 backdrop-blur backdrop-filter\">\n Name\n </th>\n <th scope=\"col\"\n class=\"sticky top-0 z-10 border-b border-gray-300 bg-gray-50 bg-opacity-75 py-3.5 px-4 text-left text-xs font-semibold text-gray-900 backdrop-blur backdrop-filter\">\n Status\n </th>\n <th scope=\"col\"\n class=\"sticky top-0 z-10 border-b border-gray-300 bg-gray-50 bg-opacity-75 py-3.5 px-4 text-left text-xs font-semibold text-gray-900 backdrop-blur backdrop-filter\">\n Next Run\n </th>\n <th scope=\"col\"\n class=\"sticky top-0 z-10 border-b border-gray-300 bg-gray-50 bg-opacity-75 py-3.5 px-4 backdrop-blur backdrop-filter\">\n <span class=\"sr-only\">Edit</span>\n </th>\n </tr>\n </thead>\n <tbody class=\"bg-white\">\n <tr *ngFor=\"let element of alertGroups; let i = index\" class=\"cursor-pointer hover:bg-gray-50\">\n <td [ngClass]=\"{'border-b-0': i === alertGroups.length - 1, 'border-b': i !== alertGroups.length - 1}\"\n class=\"whitespace-nowrap border-gray-200 py-2 px-4 text-sm font-medium text-gray-900\">\n {{element.title}}\n </td>\n <td [ngClass]=\"{'border-b-0': i === alertGroups.length - 1, 'border-b': i !== alertGroups.length - 1}\"\n class=\"whitespace-nowrap border-gray-200 py-2 px-4 text-sm text-gray-900\">\n {{element.taskStatus}}\n </td>\n <td [ngClass]=\"{'border-b-0': i === alertGroups.length - 1, 'border-b': i !== alertGroups.length - 1}\"\n class=\"whitespace-nowrap border-gray-200 py-2 px-4 text-sm text-gray-900\">\n {{moment.unix(element.taskNextStartTime.timestamp).format('DD/MM/YYYY HH:mm')}}\n </td>\n <td class=\"relative whitespace-nowrap border-gray-200 py-2 px-4 text-right text-sm\"\n [ngClass]=\"{'border-b-0': i === alertGroups.length - 1, 'border-b': i !== alertGroups.length - 1}\">\n <div class=\"align-center justify-end\">\n <button mat-button color=\"primary\" [routerLink]=\"[routePath, element.id]\"> Edit\n </button>\n <div class=\"divider\"></div>\n <div class=\"divider\"></div>\n <button color=\"primary\" mat-icon-button [matMenuTriggerFor]=\"itemMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #itemMenu=\"matMenu\">\n <button mat-menu-item (click)=\"delete(element.id)\">Delete Alert Group</button>\n </mat-menu>\n </div>\n </td>\n </tr>\n <tr>\n <td colspan=\"5\"\n class=\"border-t bg-gray-50 whitespace-nowrap border-b border-gray-200 py-1 px-4 text-sm font-medium text-gray-900\">\n <div class=\"paging-toolbar flex align-center justify-end\">\n <select [value]=\"limit.getValue()\" (change)=\"pageSizeChange($event.target.value)\"\n class=\"mr-8 p-1.5\">\n <option [value]=\"1\">1</option>\n <option [value]=\"5\">5</option>\n <option [value]=\"10\">10</option>\n <option [value]=\"25\">25</option>\n <option [value]=\"50\">50</option>\n <option [value]=\"100\">100</option>\n <option [value]=\"250\">250</option>\n <option [value]=\"1000\">1000</option>\n </select>\n <button mat-icon-button class=\"mr-4\" (click)=\"decreaseOffset()\" [disabled]=\"page <= 1\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button mat-icon-button (click)=\"increaseOffset()\" [disabled]=\"endOfResults\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</div>\n", styles: [".divider{width:1px;height:17px;background-color:#cecece}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatLegacyMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i6.MatLegacyMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatLegacyMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i8.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlertGroupsComponent, decorators: [{
|
|
71
|
+
type: Component,
|
|
72
|
+
args: [{ selector: 'ki-alert-groups', template: "<div class=\"p-6 bg-white border-b border-gray-200\">\n <div class=\"md:flex md:items-center md:justify-between md:space-x-5\">\n <div class=\"flex items-start flex-1\">\n <div class=\"pt-1.5\">\n <h1 class=\"text-2xl font-bold text-gray-900\">Alert Groups</h1>\n <p class=\"text-sm font-medium text-gray-500\">\n A list of all the alert groups currently available.\n </p>\n </div>\n </div>\n <div class=\"mt-6 flex flex-col-reverse justify-stretch\">\n <button type=\"button\" [routerLink]=\"[routePath, 0]\"\n class=\"inline-flex items-center justify-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-primary focus:outline-none\">\n Create Alert Group\n </button>\n </div>\n </div>\n</div>\n\n<div class=\"p-4\" *ngIf=\"!alertGroups.length && !loading\">\n <button type=\"button\" [routerLink]=\"[routePath, 0]\"\n class=\"relative block w-full border-2 border-gray-300 border-dashed rounded-lg p-12 text-center hover:border-gray-400 focus:outline-none\">\n\n <div class=\"relative inline-block\">\n <span class=\"material-symbols-outlined mx-auto text-6xl h-14 w-20 text-gray-300\">campaign</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"right-0 bottom-0 absolute h-8 w-8 text-gray-400\" fill=\"none\" viewBox=\"0 0 24 24\"\n stroke=\"currentColor\" stroke-width=\"4\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 4v16m8-8H4\"/>\n </svg>\n </div>\n\n <span class=\"mt-2 block text-sm font-medium text-gray-900\">Create Alert Group</span>\n </button>\n</div>\n\n<div class=\"px-4 sm:px-6 lg:px-8 mt-0\">\n <div class=\"flex flex-col\">\n <div class=\"-my-2 -mx-4 sm:-mx-6 lg:-mx-8\">\n <div class=\"inline-block min-w-full py-2 align-middle\">\n <div class=\"mt-3 sm:mt-0 flex-1\" *ngIf=\"alertGroups.length\">\n <label for=\"mobile-search-candidate\" class=\"sr-only\">Search</label>\n <div class=\"flex\">\n <div class=\"relative flex-grow focus-within:z-10\">\n <div class=\"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none\">\n <svg class=\"h-5 w-5 text-gray-400\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clip-rule=\"evenodd\"/>\n </svg>\n </div>\n <input type=\"text\" name=\"mobile-search-candidate\" id=\"mobile-search-candidate\"\n class=\"block w-full rounded-none pl-10 border-t-0 border-l-0 border-gray-300\"\n placeholder=\"Search alert groups\"\n (keyup)=\"searchText.next($event.target.value)\">\n </div>\n </div>\n </div>\n <table class=\"min-w-full border-separate\" style=\"border-spacing: 0\" *ngIf=\"alertGroups.length\">\n <thead class=\"bg-gray-100\">\n <tr>\n <th scope=\"col\"\n class=\"sticky top-0 z-10 border-b border-gray-300 bg-gray-50 bg-opacity-75 py-3.5 px-4 text-left text-xs font-semibold text-gray-900 backdrop-blur backdrop-filter\">\n Name\n </th>\n <th scope=\"col\"\n class=\"sticky top-0 z-10 border-b border-gray-300 bg-gray-50 bg-opacity-75 py-3.5 px-4 text-left text-xs font-semibold text-gray-900 backdrop-blur backdrop-filter\">\n Status\n </th>\n <th scope=\"col\"\n class=\"sticky top-0 z-10 border-b border-gray-300 bg-gray-50 bg-opacity-75 py-3.5 px-4 text-left text-xs font-semibold text-gray-900 backdrop-blur backdrop-filter\">\n Next Run\n </th>\n <th scope=\"col\"\n class=\"sticky top-0 z-10 border-b border-gray-300 bg-gray-50 bg-opacity-75 py-3.5 px-4 backdrop-blur backdrop-filter\">\n <span class=\"sr-only\">Edit</span>\n </th>\n </tr>\n </thead>\n <tbody class=\"bg-white\">\n <tr *ngFor=\"let element of alertGroups; let i = index\" class=\"cursor-pointer hover:bg-gray-50\">\n <td [ngClass]=\"{'border-b-0': i === alertGroups.length - 1, 'border-b': i !== alertGroups.length - 1}\"\n class=\"whitespace-nowrap border-gray-200 py-2 px-4 text-sm font-medium text-gray-900\">\n {{element.title}}\n </td>\n <td [ngClass]=\"{'border-b-0': i === alertGroups.length - 1, 'border-b': i !== alertGroups.length - 1}\"\n class=\"whitespace-nowrap border-gray-200 py-2 px-4 text-sm text-gray-900\">\n {{element.taskStatus}}\n </td>\n <td [ngClass]=\"{'border-b-0': i === alertGroups.length - 1, 'border-b': i !== alertGroups.length - 1}\"\n class=\"whitespace-nowrap border-gray-200 py-2 px-4 text-sm text-gray-900\">\n {{moment.unix(element.taskNextStartTime.timestamp).format('DD/MM/YYYY HH:mm')}}\n </td>\n <td class=\"relative whitespace-nowrap border-gray-200 py-2 px-4 text-right text-sm\"\n [ngClass]=\"{'border-b-0': i === alertGroups.length - 1, 'border-b': i !== alertGroups.length - 1}\">\n <div class=\"align-center justify-end\">\n <button mat-button color=\"primary\" [routerLink]=\"[routePath, element.id]\"> Edit\n </button>\n <div class=\"divider\"></div>\n <div class=\"divider\"></div>\n <button color=\"primary\" mat-icon-button [matMenuTriggerFor]=\"itemMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #itemMenu=\"matMenu\">\n <button mat-menu-item (click)=\"delete(element.id)\">Delete Alert Group</button>\n </mat-menu>\n </div>\n </td>\n </tr>\n <tr>\n <td colspan=\"5\"\n class=\"border-t bg-gray-50 whitespace-nowrap border-b border-gray-200 py-1 px-4 text-sm font-medium text-gray-900\">\n <div class=\"paging-toolbar flex align-center justify-end\">\n <select [value]=\"limit.getValue()\" (change)=\"pageSizeChange($event.target.value)\"\n class=\"mr-8 p-1.5\">\n <option [value]=\"1\">1</option>\n <option [value]=\"5\">5</option>\n <option [value]=\"10\">10</option>\n <option [value]=\"25\">25</option>\n <option [value]=\"50\">50</option>\n <option [value]=\"100\">100</option>\n <option [value]=\"250\">250</option>\n <option [value]=\"1000\">1000</option>\n </select>\n <button mat-icon-button class=\"mr-4\" (click)=\"decreaseOffset()\" [disabled]=\"page <= 1\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button mat-icon-button (click)=\"increaseOffset()\" [disabled]=\"endOfResults\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</div>\n", styles: [".divider{width:1px;height:17px;background-color:#cecece}\n"] }]
|
|
73
|
+
}], ctorParameters: function () { return [{ type: i1.ProjectService }, { type: i2.AlertService }]; }, propDecorators: { routePath: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZ3JvdXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWtpbmludGVsL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC1ncm91cHMvYWxlcnQtZ3JvdXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWtpbmludGVsL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC1ncm91cHMvYWxlcnQtZ3JvdXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7QUFPNUIsTUFBTSxPQUFPLG9CQUFvQjtJQWdCN0IsWUFBb0IsY0FBOEIsRUFDOUIsWUFBMEI7UUFEMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBZnJDLGNBQVMsR0FBRyxlQUFlLENBQUM7UUFFOUIsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDM0IsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1QsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUVkLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSy9CLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7U0FDdkQ7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ3hFLElBQUksQ0FDRCxZQUFZLENBQUMsR0FBRyxDQUFDO1FBQ2pCLDBCQUEwQjtRQUMxQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQ1gsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUN4QixDQUNKLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBZ0IsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9ELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBRVAsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBSztRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sTUFBTSxDQUFDLEVBQUU7UUFDWixNQUFNLE9BQU8sR0FBRyx5REFBeUQsQ0FBQztRQUMxRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLGNBQWM7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQ3BDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQWdCLEVBQUUsRUFBRTtZQUN4QixPQUFPLFdBQVcsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7a0hBekVRLG9CQUFvQjtzR0FBcEIsb0JBQW9CLDJGQ1pqQyxrNFJBNElBOzRGRGhJYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0ksaUJBQWlCO2dJQU1sQixTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG1lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQcm9qZWN0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vbGliL3NlcnZpY2VzL3Byb2plY3Quc2VydmljZSc7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vbGliL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tpLWFsZXJ0LWdyb3VwcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LWdyb3Vwcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWxlcnQtZ3JvdXBzLmNvbXBvbmVudC5zYXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWxlcnRHcm91cHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgcm91dGVQYXRoID0gJy9hbGVydC1ncm91cHMnO1xuXG4gICAgcHVibGljIGFsZXJ0R3JvdXBzOiBhbnkgPSBbXTtcbiAgICBwdWJsaWMgc2VhcmNoVGV4dCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICAgIHB1YmxpYyBsaW1pdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMTApO1xuICAgIHB1YmxpYyBvZmZzZXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xuICAgIHB1YmxpYyBwcm9qZWN0U3ViID0gbmV3IFN1YmplY3QoKTtcbiAgICBwdWJsaWMgbW9tZW50ID0gbW9tZW50O1xuICAgIHB1YmxpYyBwYWdlID0gMTtcbiAgICBwdWJsaWMgZW5kT2ZSZXN1bHRzID0gZmFsc2U7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSByZWxvYWQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9qZWN0U2VydmljZTogUHJvamVjdFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSkge1xuXG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnByb2plY3RTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLnByb2plY3RTdWIgPSB0aGlzLnByb2plY3RTZXJ2aWNlLmFjdGl2ZVByb2plY3Q7XG4gICAgICAgIH1cblxuICAgICAgICBtZXJnZSh0aGlzLnNlYXJjaFRleHQsIHRoaXMubGltaXQsIHRoaXMub2Zmc2V0LCB0aGlzLnByb2plY3RTdWIsIHRoaXMucmVsb2FkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgICAgICAgICAgLy8gZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRBbGVydEdyb3VwcygpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKGFsZXJ0R3JvdXBzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW5kT2ZSZXN1bHRzID0gYWxlcnRHcm91cHMubGVuZ3RoIDwgdGhpcy5saW1pdC5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgdGhpcy5hbGVydEdyb3VwcyA9IGFsZXJ0R3JvdXBzO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgcHVibGljIGluY3JlYXNlT2Zmc2V0KCkge1xuICAgICAgICB0aGlzLnBhZ2UgPSB0aGlzLnBhZ2UgKyAxO1xuICAgICAgICB0aGlzLm9mZnNldC5uZXh0KCh0aGlzLmxpbWl0LmdldFZhbHVlKCkgKiB0aGlzLnBhZ2UpIC0gdGhpcy5saW1pdC5nZXRWYWx1ZSgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVjcmVhc2VPZmZzZXQoKSB7XG4gICAgICAgIHRoaXMucGFnZSA9IHRoaXMucGFnZSA8PSAxID8gMSA6IHRoaXMucGFnZSAtIDE7XG4gICAgICAgIHRoaXMub2Zmc2V0Lm5leHQoKHRoaXMubGltaXQuZ2V0VmFsdWUoKSAqIHRoaXMucGFnZSkgLSB0aGlzLmxpbWl0LmdldFZhbHVlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYWdlU2l6ZUNoYW5nZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLmxpbWl0Lm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGUoaWQpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdBcmUgeW91IHN1cmUgeW91IHdvdWxkIGxpa2UgdG8gZGVsZXRlIHRoaXMgQWxlcnQgR3JvdXA/JztcbiAgICAgICAgaWYgKHdpbmRvdy5jb25maXJtKG1lc3NhZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5kZWxldGVBbGVydEdyb3VwKGlkKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbG9hZC5uZXh0KERhdGUubm93KCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFsZXJ0R3JvdXBzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hbGVydFNlcnZpY2UuZ2V0QWxlcnRHcm91cHMoXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFRleHQuZ2V0VmFsdWUoKSB8fCAnJyxcbiAgICAgICAgICAgIHRoaXMubGltaXQuZ2V0VmFsdWUoKS50b1N0cmluZygpLFxuICAgICAgICAgICAgdGhpcy5vZmZzZXQuZ2V0VmFsdWUoKS50b1N0cmluZygpXG4gICAgICAgICkucGlwZShtYXAoKGFsZXJ0R3JvdXBzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWxlcnRHcm91cHM7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInAtNiBiZy13aGl0ZSBib3JkZXItYiBib3JkZXItZ3JheS0yMDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWQ6ZmxleCBtZDppdGVtcy1jZW50ZXIgbWQ6anVzdGlmeS1iZXR3ZWVuIG1kOnNwYWNlLXgtNVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1zdGFydCBmbGV4LTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdC0xLjVcIj5cbiAgICAgICAgICAgICAgICA8aDEgY2xhc3M9XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPkFsZXJ0IEdyb3VwczwvaDE+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgQSBsaXN0IG9mIGFsbCB0aGUgYWxlcnQgZ3JvdXBzIGN1cnJlbnRseSBhdmFpbGFibGUuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNiBmbGV4IGZsZXgtY29sLXJldmVyc2UganVzdGlmeS1zdHJldGNoXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbcm91dGVyTGlua109XCJbcm91dGVQYXRoLCAwXVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTQgcHktMiBib3JkZXIgYm9yZGVyLXRyYW5zcGFyZW50IHRleHQtc20gZm9udC1tZWRpdW0gcm91bmRlZC1tZCBzaGFkb3ctc20gdGV4dC13aGl0ZSBiZy1wcmltYXJ5IGZvY3VzOm91dGxpbmUtbm9uZVwiPlxuICAgICAgICAgICAgICAgIENyZWF0ZSBBbGVydCBHcm91cFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJwLTRcIiAqbmdJZj1cIiFhbGVydEdyb3Vwcy5sZW5ndGggJiYgIWxvYWRpbmdcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbcm91dGVyTGlua109XCJbcm91dGVQYXRoLCAwXVwiXG4gICAgICAgICAgICBjbGFzcz1cInJlbGF0aXZlIGJsb2NrIHctZnVsbCBib3JkZXItMiBib3JkZXItZ3JheS0zMDAgYm9yZGVyLWRhc2hlZCByb3VuZGVkLWxnIHAtMTIgdGV4dC1jZW50ZXIgaG92ZXI6Ym9yZGVyLWdyYXktNDAwIGZvY3VzOm91dGxpbmUtbm9uZVwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBpbmxpbmUtYmxvY2tcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBteC1hdXRvIHRleHQtNnhsIGgtMTQgdy0yMCB0ZXh0LWdyYXktMzAwXCI+Y2FtcGFpZ248L3NwYW4+XG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cInJpZ2h0LTAgYm90dG9tLTAgYWJzb2x1dGUgaC04IHctOCB0ZXh0LWdyYXktNDAwXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiNFwiPlxuICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTIgNHYxNm04LThINFwiLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgYmxvY2sgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwXCI+Q3JlYXRlIEFsZXJ0IEdyb3VwPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJweC00IHNtOnB4LTYgbGc6cHgtOCBtdC0wXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIi1teS0yIC1teC00IHNtOi1teC02IGxnOi1teC04XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWJsb2NrIG1pbi13LWZ1bGwgcHktMiBhbGlnbi1taWRkbGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMyBzbTptdC0wIGZsZXgtMVwiICpuZ0lmPVwiYWxlcnRHcm91cHMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJtb2JpbGUtc2VhcmNoLWNhbmRpZGF0ZVwiIGNsYXNzPVwic3Itb25seVwiPlNlYXJjaDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgZmxleC1ncm93IGZvY3VzLXdpdGhpbjp6LTEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFic29sdXRlIGluc2V0LXktMCBsZWZ0LTAgcGwtMyBmbGV4IGl0ZW1zLWNlbnRlciBwb2ludGVyLWV2ZW50cy1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJoLTUgdy01IHRleHQtZ3JheS00MDBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTggNGE0IDQgMCAxMDAgOCA0IDQgMCAwMDAtOHpNMiA4YTYgNiAwIDExMTAuODkgMy40NzZsNC44MTcgNC44MTdhMSAxIDAgMDEtMS40MTQgMS40MTRsLTQuODE2LTQuODE2QTYgNiAwIDAxMiA4elwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwibW9iaWxlLXNlYXJjaC1jYW5kaWRhdGVcIiBpZD1cIm1vYmlsZS1zZWFyY2gtY2FuZGlkYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayB3LWZ1bGwgcm91bmRlZC1ub25lIHBsLTEwIGJvcmRlci10LTAgYm9yZGVyLWwtMCBib3JkZXItZ3JheS0zMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBhbGVydCBncm91cHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXApPVwic2VhcmNoVGV4dC5uZXh0KCRldmVudC50YXJnZXQudmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwibWluLXctZnVsbCBib3JkZXItc2VwYXJhdGVcIiBzdHlsZT1cImJvcmRlci1zcGFjaW5nOiAwXCIgKm5nSWY9XCJhbGVydEdyb3Vwcy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkIGNsYXNzPVwiYmctZ3JheS0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0aWNreSB0b3AtMCB6LTEwIGJvcmRlci1iIGJvcmRlci1ncmF5LTMwMCBiZy1ncmF5LTUwIGJnLW9wYWNpdHktNzUgcHktMy41IHB4LTQgdGV4dC1sZWZ0IHRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWdyYXktOTAwIGJhY2tkcm9wLWJsdXIgYmFja2Ryb3AtZmlsdGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdGlja3kgdG9wLTAgei0xMCBib3JkZXItYiBib3JkZXItZ3JheS0zMDAgYmctZ3JheS01MCBiZy1vcGFjaXR5LTc1IHB5LTMuNSBweC00IHRleHQtbGVmdCB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1ncmF5LTkwMCBiYWNrZHJvcC1ibHVyIGJhY2tkcm9wLWZpbHRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1c1xuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdGlja3kgdG9wLTAgei0xMCBib3JkZXItYiBib3JkZXItZ3JheS0zMDAgYmctZ3JheS01MCBiZy1vcGFjaXR5LTc1IHB5LTMuNSBweC00IHRleHQtbGVmdCB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1ncmF5LTkwMCBiYWNrZHJvcC1ibHVyIGJhY2tkcm9wLWZpbHRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5leHQgUnVuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0aWNreSB0b3AtMCB6LTEwIGJvcmRlci1iIGJvcmRlci1ncmF5LTMwMCBiZy1ncmF5LTUwIGJnLW9wYWNpdHktNzUgcHktMy41IHB4LTQgYmFja2Ryb3AtYmx1ciBiYWNrZHJvcC1maWx0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5FZGl0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiYmctd2hpdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIGFsZXJ0R3JvdXBzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBob3ZlcjpiZy1ncmF5LTUwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgW25nQ2xhc3NdPVwieydib3JkZXItYi0wJzogaSA9PT0gYWxlcnRHcm91cHMubGVuZ3RoIC0gMSwgJ2JvcmRlci1iJzogaSAhPT0gYWxlcnRHcm91cHMubGVuZ3RoIC0gMX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2hpdGVzcGFjZS1ub3dyYXAgYm9yZGVyLWdyYXktMjAwIHB5LTIgcHgtNCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2VsZW1lbnQudGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBbbmdDbGFzc109XCJ7J2JvcmRlci1iLTAnOiBpID09PSBhbGVydEdyb3Vwcy5sZW5ndGggLSAxLCAnYm9yZGVyLWInOiBpICE9PSBhbGVydEdyb3Vwcy5sZW5ndGggLSAxfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vd3JhcCBib3JkZXItZ3JheS0yMDAgcHktMiBweC00IHRleHQtc20gdGV4dC1ncmF5LTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudC50YXNrU3RhdHVzfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgW25nQ2xhc3NdPVwieydib3JkZXItYi0wJzogaSA9PT0gYWxlcnRHcm91cHMubGVuZ3RoIC0gMSwgJ2JvcmRlci1iJzogaSAhPT0gYWxlcnRHcm91cHMubGVuZ3RoIC0gMX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2hpdGVzcGFjZS1ub3dyYXAgYm9yZGVyLWdyYXktMjAwIHB5LTIgcHgtNCB0ZXh0LXNtIHRleHQtZ3JheS05MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e21vbWVudC51bml4KGVsZW1lbnQudGFza05leHRTdGFydFRpbWUudGltZXN0YW1wKS5mb3JtYXQoJ0REL01NL1lZWVkgSEg6bW0nKX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicmVsYXRpdmUgd2hpdGVzcGFjZS1ub3dyYXAgYm9yZGVyLWdyYXktMjAwIHB5LTIgcHgtNCB0ZXh0LXJpZ2h0IHRleHQtc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYm9yZGVyLWItMCc6IGkgPT09IGFsZXJ0R3JvdXBzLmxlbmd0aCAtIDEsICdib3JkZXItYic6IGkgIT09IGFsZXJ0R3JvdXBzLmxlbmd0aCAtIDF9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLWNlbnRlciBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW3JvdXRlckxpbmtdPVwiW3JvdXRlUGF0aCwgZWxlbWVudC5pZF1cIj4gRWRpdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIml0ZW1NZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjaXRlbU1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRlbGV0ZShlbGVtZW50LmlkKVwiPkRlbGV0ZSBBbGVydCBHcm91cDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCI1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJvcmRlci10IGJnLWdyYXktNTAgd2hpdGVzcGFjZS1ub3dyYXAgYm9yZGVyLWIgYm9yZGVyLWdyYXktMjAwIHB5LTEgcHgtNCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnaW5nLXRvb2xiYXIgZmxleCBhbGlnbi1jZW50ZXIganVzdGlmeS1lbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBbdmFsdWVdPVwibGltaXQuZ2V0VmFsdWUoKVwiIChjaGFuZ2UpPVwicGFnZVNpemVDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXItOCBwLTEuNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiMVwiPjE8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIjVcIj41PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCIxMFwiPjEwPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCIyNVwiPjI1PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCI1MFwiPjUwPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCIxMDBcIj4xMDA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIjI1MFwiPjI1MDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiMTAwMFwiPjEwMDA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwibXItNFwiIChjbGljayk9XCJkZWNyZWFzZU9mZnNldCgpXCIgW2Rpc2FibGVkXT1cInBhZ2UgPD0gMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNoZXZyb25fbGVmdDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiaW5jcmVhc2VPZmZzZXQoKVwiIFtkaXNhYmxlZF09XCJlbmRPZlJlc3VsdHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jaGV2cm9uX3JpZ2h0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { EditNotificationGroupComponent } from '../../notification-groups/edit-notification-group/edit-notification-group.component';
|
|
3
|
+
import * as lodash from 'lodash';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../../lib/services/notification.service";
|
|
6
|
+
import * as i2 from "../../../../lib/services/alert.service";
|
|
7
|
+
import * as i3 from "@angular/material/legacy-dialog";
|
|
8
|
+
import * as i4 from "@angular/router";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "@angular/material/legacy-button";
|
|
11
|
+
import * as i7 from "@angular/material/icon";
|
|
12
|
+
import * as i8 from "@angular/forms";
|
|
13
|
+
import * as i9 from "@angular/material/legacy-select";
|
|
14
|
+
import * as i10 from "@angular/material/legacy-core";
|
|
15
|
+
import * as i11 from "../../task-time-periods/task-time-periods.component";
|
|
16
|
+
const _ = lodash.default;
|
|
17
|
+
export class EditAlertGroupComponent {
|
|
18
|
+
constructor(notificationService, alertService, matDialog, router, route) {
|
|
19
|
+
this.notificationService = notificationService;
|
|
20
|
+
this.alertService = alertService;
|
|
21
|
+
this.matDialog = matDialog;
|
|
22
|
+
this.router = router;
|
|
23
|
+
this.route = route;
|
|
24
|
+
this.routePath = '/alert-groups';
|
|
25
|
+
this.alertGroup = {};
|
|
26
|
+
this.notificationGroups = [];
|
|
27
|
+
this.showNewTaskTimePeriod = false;
|
|
28
|
+
this.newTaskTimePeriod = {};
|
|
29
|
+
this._ = _;
|
|
30
|
+
this.Object = Object;
|
|
31
|
+
}
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
const id = this.route.snapshot.params.id;
|
|
34
|
+
this.alertService.getAlertGroup(id).then(alertGroup => {
|
|
35
|
+
if (alertGroup) {
|
|
36
|
+
this.alertGroup = alertGroup;
|
|
37
|
+
}
|
|
38
|
+
if (!this.alertGroup.taskTimePeriods || !this.alertGroup.taskTimePeriods.length) {
|
|
39
|
+
if (!this.alertGroup.taskTimePeriods) {
|
|
40
|
+
this.alertGroup.taskTimePeriods = [];
|
|
41
|
+
}
|
|
42
|
+
this.showNewTaskTimePeriod = true;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
this.loadNotificationGroups();
|
|
46
|
+
}
|
|
47
|
+
notificationGroupDisplay(v1, v2) {
|
|
48
|
+
return v1 && v2 && (v2.id === v2.id);
|
|
49
|
+
}
|
|
50
|
+
createNotificationGroup() {
|
|
51
|
+
const dialogRef = this.matDialog.open(EditNotificationGroupComponent, {
|
|
52
|
+
width: '800px',
|
|
53
|
+
height: '575px',
|
|
54
|
+
data: {
|
|
55
|
+
groupId: 0
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
dialogRef.afterClosed().subscribe(res => {
|
|
59
|
+
if (res) {
|
|
60
|
+
this.loadNotificationGroups();
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
save() {
|
|
65
|
+
this.alertService.saveAlertGroup(this.alertGroup).then(() => {
|
|
66
|
+
this.router.navigate([this.routePath]);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
loadNotificationGroups() {
|
|
70
|
+
this.notificationService.getNotificationGroups().toPromise().then(groups => {
|
|
71
|
+
this.notificationGroups = groups;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
EditAlertGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditAlertGroupComponent, deps: [{ token: i1.NotificationService }, { token: i2.AlertService }, { token: i3.MatLegacyDialog }, { token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
EditAlertGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EditAlertGroupComponent, selector: "ki-edit-alert-group", inputs: { routePath: "routePath" }, ngImport: i0, template: "<div class=\"p-6 bg-white border-b border-gray-200\">\n <div class=\"md:flex md:items-center md:justify-between md:space-x-5\">\n <div class=\"flex items-start flex-1\">\n <div class=\"pt-1.5\">\n <h1 class=\"text-2xl font-bold text-gray-900 mb-0\">Alert Group</h1>\n <p class=\"text-sm font-medium text-gray-500\">\n These details will be used to schedule alerts with the system.\n </p>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"space-y-8 divide-y divide-gray-200 p-6\">\n <div class=\"space-y-8 divide-y divide-gray-200 sm:space-y-5\">\n <div>\n <div class=\"space-y-6 sm:space-y-5\">\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\">\n Name <span class=\"text-red-500\">*</span>\n </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <input type=\"text\" name=\"title\" [(ngModel)]=\"alertGroup.title\"\n class=\"max-w-lg block w-full shadow-sm sm:max-w-xs sm:text-sm border-gray-300 rounded-md\">\n </div>\n </div>\n\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start sm:border-t sm:border-gray-200 sm:pt-5\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\">\n Time Periods <span class=\"text-red-500\">*</span>\n </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <ki-task-time-periods [showTitle]=\"false\" [(taskTimePeriods)]=\"alertGroup.taskTimePeriods\"></ki-task-time-periods>\n </div>\n </div>\n\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start sm:border-t sm:border-gray-200 sm:pt-5\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\">\n Notification Groups <span class=\"text-red-500\">*</span>\n </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <mat-select [(ngModel)]=\"alertGroup.notificationGroups\" multiple [compareWith]=\"notificationGroupDisplay\">\n <mat-option [value]=\"group\" *ngFor=\"let group of notificationGroups\">{{group.name}}</mat-option>\n </mat-select>\n <button mat-button color=\"primary\" (click)=\"createNotificationGroup()\">\n <mat-icon>group_add</mat-icon> Create new notification group\n </button>\n </div>\n </div>\n\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start sm:border-t sm:border-gray-200 sm:pt-5\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\"> Notification Title </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <input type=\"text\" name=\"notificationTitle\" [(ngModel)]=\"alertGroup.notificationTitle\"\n class=\"max-w-lg block w-full shadow-sm sm:max-w-xs sm:text-sm border-gray-300 rounded-md\">\n <p class=\"mt-2 text-sm text-gray-500\">Will be used as the subject for the notification</p>\n </div>\n </div>\n\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start sm:border-t sm:border-gray-200 sm:pt-5\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\"> Notification Prefix Text </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <textarea name=\"notificationPrefixText\" rows=\"3\" [(ngModel)]=\"alertGroup.notificationPrefixText\"\n class=\"max-w-lg shadow-sm block w-full sm:text-sm border border-gray-300 rounded-md\"></textarea>\n <p class=\"mt-2 text-sm text-gray-500\">Text to include at the beginning of the notification</p>\n </div>\n </div>\n\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start sm:border-t sm:border-gray-200 sm:pt-5\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\"> Notification Suffix Text </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <textarea name=\"notificationSuffixText\" rows=\"3\" [(ngModel)]=\"alertGroup.notificationSuffixText\"\n class=\"max-w-lg shadow-sm block w-full sm:text-sm border border-gray-300 rounded-md\"></textarea>\n <p class=\"mt-2 text-sm text-gray-500\">Text to include at the end of the notification</p>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n\n <div class=\"pt-5\">\n <div class=\"flex justify-end\">\n <button type=\"button\" [routerLink]=\"[routePath]\"\n class=\"bg-white py-2 px-4 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none\">Cancel</button>\n <button type=\"button\" (click)=\"save()\" [disabled]=\"!alertGroup.title || (!alertGroup.taskTimePeriods || !alertGroup.taskTimePeriods.length) || (!alertGroup.notificationGroups || !alertGroup.notificationGroups.length)\"\n class=\"disabled:opacity-50 ml-3 inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-primary focus:outline-none\">\n Save Changes</button>\n </div>\n </div>\n</div>\n", styles: ["input,select,textarea,mat-select{max-width:500px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i6.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i11.TaskTimePeriodsComponent, selector: "ki-task-time-periods", inputs: ["taskTimePeriods", "showTitle"], outputs: ["taskTimePeriodsChange"] }] });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditAlertGroupComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ selector: 'ki-edit-alert-group', template: "<div class=\"p-6 bg-white border-b border-gray-200\">\n <div class=\"md:flex md:items-center md:justify-between md:space-x-5\">\n <div class=\"flex items-start flex-1\">\n <div class=\"pt-1.5\">\n <h1 class=\"text-2xl font-bold text-gray-900 mb-0\">Alert Group</h1>\n <p class=\"text-sm font-medium text-gray-500\">\n These details will be used to schedule alerts with the system.\n </p>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"space-y-8 divide-y divide-gray-200 p-6\">\n <div class=\"space-y-8 divide-y divide-gray-200 sm:space-y-5\">\n <div>\n <div class=\"space-y-6 sm:space-y-5\">\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\">\n Name <span class=\"text-red-500\">*</span>\n </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <input type=\"text\" name=\"title\" [(ngModel)]=\"alertGroup.title\"\n class=\"max-w-lg block w-full shadow-sm sm:max-w-xs sm:text-sm border-gray-300 rounded-md\">\n </div>\n </div>\n\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start sm:border-t sm:border-gray-200 sm:pt-5\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\">\n Time Periods <span class=\"text-red-500\">*</span>\n </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <ki-task-time-periods [showTitle]=\"false\" [(taskTimePeriods)]=\"alertGroup.taskTimePeriods\"></ki-task-time-periods>\n </div>\n </div>\n\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start sm:border-t sm:border-gray-200 sm:pt-5\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\">\n Notification Groups <span class=\"text-red-500\">*</span>\n </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <mat-select [(ngModel)]=\"alertGroup.notificationGroups\" multiple [compareWith]=\"notificationGroupDisplay\">\n <mat-option [value]=\"group\" *ngFor=\"let group of notificationGroups\">{{group.name}}</mat-option>\n </mat-select>\n <button mat-button color=\"primary\" (click)=\"createNotificationGroup()\">\n <mat-icon>group_add</mat-icon> Create new notification group\n </button>\n </div>\n </div>\n\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start sm:border-t sm:border-gray-200 sm:pt-5\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\"> Notification Title </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <input type=\"text\" name=\"notificationTitle\" [(ngModel)]=\"alertGroup.notificationTitle\"\n class=\"max-w-lg block w-full shadow-sm sm:max-w-xs sm:text-sm border-gray-300 rounded-md\">\n <p class=\"mt-2 text-sm text-gray-500\">Will be used as the subject for the notification</p>\n </div>\n </div>\n\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start sm:border-t sm:border-gray-200 sm:pt-5\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\"> Notification Prefix Text </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <textarea name=\"notificationPrefixText\" rows=\"3\" [(ngModel)]=\"alertGroup.notificationPrefixText\"\n class=\"max-w-lg shadow-sm block w-full sm:text-sm border border-gray-300 rounded-md\"></textarea>\n <p class=\"mt-2 text-sm text-gray-500\">Text to include at the beginning of the notification</p>\n </div>\n </div>\n\n <div class=\"sm:grid sm:grid-cols-3 sm:gap-4 sm:items-start sm:border-t sm:border-gray-200 sm:pt-5\">\n <label class=\"block text-sm font-medium text-gray-700 sm:mt-px sm:pt-2\"> Notification Suffix Text </label>\n <div class=\"mt-1 sm:mt-0 sm:col-span-2\">\n <textarea name=\"notificationSuffixText\" rows=\"3\" [(ngModel)]=\"alertGroup.notificationSuffixText\"\n class=\"max-w-lg shadow-sm block w-full sm:text-sm border border-gray-300 rounded-md\"></textarea>\n <p class=\"mt-2 text-sm text-gray-500\">Text to include at the end of the notification</p>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n\n <div class=\"pt-5\">\n <div class=\"flex justify-end\">\n <button type=\"button\" [routerLink]=\"[routePath]\"\n class=\"bg-white py-2 px-4 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none\">Cancel</button>\n <button type=\"button\" (click)=\"save()\" [disabled]=\"!alertGroup.title || (!alertGroup.taskTimePeriods || !alertGroup.taskTimePeriods.length) || (!alertGroup.notificationGroups || !alertGroup.notificationGroups.length)\"\n class=\"disabled:opacity-50 ml-3 inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-primary focus:outline-none\">\n Save Changes</button>\n </div>\n </div>\n</div>\n", styles: ["input,select,textarea,mat-select{max-width:500px}\n"] }]
|
|
80
|
+
}], ctorParameters: function () { return [{ type: i1.NotificationService }, { type: i2.AlertService }, { type: i3.MatLegacyDialog }, { type: i4.Router }, { type: i4.ActivatedRoute }]; }, propDecorators: { routePath: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}] } });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hbGVydC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1raW5pbnRlbC9zcmMvbGliL2NvbXBvbmVudHMvYWxlcnQtZ3JvdXBzL2VkaXQtYWxlcnQtZ3JvdXAvZWRpdC1hbGVydC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1raW5pbnRlbC9zcmMvbGliL2NvbXBvbmVudHMvYWxlcnQtZ3JvdXBzL2VkaXQtYWxlcnQtZ3JvdXAvZWRpdC1hbGVydC1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUl2RCxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxxRkFBcUYsQ0FBQztBQUNuSSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUNqQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO0FBUXpCLE1BQU0sT0FBTyx1QkFBdUI7SUFXaEMsWUFBb0IsbUJBQXdDLEVBQ3hDLFlBQTBCLEVBQzFCLFNBQW9CLEVBQ3BCLE1BQWMsRUFDZCxLQUFxQjtRQUpyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBYmhDLGNBQVMsR0FBRyxlQUFlLENBQUM7UUFFOUIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNyQix1QkFBa0IsR0FBUSxFQUFFLENBQUM7UUFDN0IsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLHNCQUFpQixHQUFRLEVBQUUsQ0FBQztRQUM1QixNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ04sV0FBTSxHQUFHLE1BQU0sQ0FBQztJQU92QixDQUFDO0lBRUQsUUFBUTtRQUNKLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xELElBQUksVUFBVSxFQUFFO2dCQUNaLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO2FBQ2hDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFO2dCQUM3RSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUU7b0JBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztpQkFDeEM7Z0JBQ0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQzthQUNyQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLHdCQUF3QixDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSx1QkFBdUI7UUFDMUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUU7WUFDbEUsS0FBSyxFQUFFLE9BQU87WUFDZCxNQUFNLEVBQUUsT0FBTztZQUNmLElBQUksRUFBRTtnQkFDRixPQUFPLEVBQUUsQ0FBQzthQUNiO1NBQ0osQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwQyxJQUFJLEdBQUcsRUFBRTtnQkFDTCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzthQUNqQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLElBQUk7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHNCQUFzQjtRQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQWhFUSx1QkFBdUI7eUdBQXZCLHVCQUF1QiwrRkNkcEMsODJMQTJGQTs0RkQ3RWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLHFCQUFxQjtxTkFNdEIsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Tm90aWZpY2F0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7QWxlcnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvc2VydmljZXMvYWxlcnQuc2VydmljZSc7XG5pbXBvcnQge01hdExlZ2FjeURpYWxvZyBhcyBNYXREaWFsb2d9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xuaW1wb3J0IHtFZGl0Tm90aWZpY2F0aW9uR3JvdXBDb21wb25lbnR9IGZyb20gJy4uLy4uL25vdGlmaWNhdGlvbi1ncm91cHMvZWRpdC1ub3RpZmljYXRpb24tZ3JvdXAvZWRpdC1ub3RpZmljYXRpb24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIGxvZGFzaCBmcm9tICdsb2Rhc2gnO1xuY29uc3QgXyA9IGxvZGFzaC5kZWZhdWx0O1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tpLWVkaXQtYWxlcnQtZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWFsZXJ0LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0LWFsZXJ0LWdyb3VwLmNvbXBvbmVudC5zYXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgRWRpdEFsZXJ0R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgcm91dGVQYXRoID0gJy9hbGVydC1ncm91cHMnO1xuXG4gICAgcHVibGljIGFsZXJ0R3JvdXA6IGFueSA9IHt9O1xuICAgIHB1YmxpYyBub3RpZmljYXRpb25Hcm91cHM6IGFueSA9IFtdO1xuICAgIHB1YmxpYyBzaG93TmV3VGFza1RpbWVQZXJpb2QgPSBmYWxzZTtcbiAgICBwdWJsaWMgbmV3VGFza1RpbWVQZXJpb2Q6IGFueSA9IHt9O1xuICAgIHB1YmxpYyBfID0gXztcbiAgICBwdWJsaWMgT2JqZWN0ID0gT2JqZWN0O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMuaWQ7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmdldEFsZXJ0R3JvdXAoaWQpLnRoZW4oYWxlcnRHcm91cCA9PiB7XG4gICAgICAgICAgICBpZiAoYWxlcnRHcm91cCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRHcm91cCA9IGFsZXJ0R3JvdXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMuYWxlcnRHcm91cC50YXNrVGltZVBlcmlvZHMgfHwgIXRoaXMuYWxlcnRHcm91cC50YXNrVGltZVBlcmlvZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmFsZXJ0R3JvdXAudGFza1RpbWVQZXJpb2RzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRHcm91cC50YXNrVGltZVBlcmlvZHMgPSBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TmV3VGFza1RpbWVQZXJpb2QgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5sb2FkTm90aWZpY2F0aW9uR3JvdXBzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5vdGlmaWNhdGlvbkdyb3VwRGlzcGxheSh2MSwgdjIpIHtcbiAgICAgICAgcmV0dXJuIHYxICYmIHYyICYmICh2Mi5pZCA9PT0gdjIuaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVOb3RpZmljYXRpb25Hcm91cCgpIHtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5tYXREaWFsb2cub3BlbihFZGl0Tm90aWZpY2F0aW9uR3JvdXBDb21wb25lbnQsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnODAwcHgnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnNTc1cHgnLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGdyb3VwSWQ6IDBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkTm90aWZpY2F0aW9uR3JvdXBzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlKCkge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zYXZlQWxlcnRHcm91cCh0aGlzLmFsZXJ0R3JvdXApLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucm91dGVQYXRoXSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZE5vdGlmaWNhdGlvbkdyb3VwcygpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmdldE5vdGlmaWNhdGlvbkdyb3VwcygpLnRvUHJvbWlzZSgpLnRoZW4oZ3JvdXBzID0+IHtcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uR3JvdXBzID0gZ3JvdXBzO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC02IGJnLXdoaXRlIGJvcmRlci1iIGJvcmRlci1ncmF5LTIwMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtZDpmbGV4IG1kOml0ZW1zLWNlbnRlciBtZDpqdXN0aWZ5LWJldHdlZW4gbWQ6c3BhY2UteC01XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLXN0YXJ0IGZsZXgtMVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB0LTEuNVwiPlxuICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cInRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIG1iLTBcIj5BbGVydCBHcm91cDwvaDE+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS01MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgVGhlc2UgZGV0YWlscyB3aWxsIGJlIHVzZWQgdG8gc2NoZWR1bGUgYWxlcnRzIHdpdGggdGhlIHN5c3RlbS5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInNwYWNlLXktOCBkaXZpZGUteSBkaXZpZGUtZ3JheS0yMDAgcC02XCI+XG4gICAgPGRpdiBjbGFzcz1cInNwYWNlLXktOCBkaXZpZGUteSBkaXZpZGUtZ3JheS0yMDAgc206c3BhY2UteS01XCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BhY2UteS02IHNtOnNwYWNlLXktNVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbTpncmlkIHNtOmdyaWQtY29scy0zIHNtOmdhcC00IHNtOml0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTcwMCBzbTptdC1weCBzbTpwdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBOYW1lIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCI+Kjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEgc206bXQtMCBzbTpjb2wtc3Bhbi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwidGl0bGVcIiBbKG5nTW9kZWwpXT1cImFsZXJ0R3JvdXAudGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF4LXctbGcgYmxvY2sgdy1mdWxsIHNoYWRvdy1zbSBzbTptYXgtdy14cyBzbTp0ZXh0LXNtIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtOmdyaWQgc206Z3JpZC1jb2xzLTMgc206Z2FwLTQgc206aXRlbXMtc3RhcnQgc206Ym9yZGVyLXQgc206Ym9yZGVyLWdyYXktMjAwIHNtOnB0LTVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYmxvY2sgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktNzAwIHNtOm10LXB4IHNtOnB0LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRpbWUgUGVyaW9kcyA8c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMFwiPio8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xIHNtOm10LTAgc206Y29sLXNwYW4tMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGtpLXRhc2stdGltZS1wZXJpb2RzIFtzaG93VGl0bGVdPVwiZmFsc2VcIiBbKHRhc2tUaW1lUGVyaW9kcyldPVwiYWxlcnRHcm91cC50YXNrVGltZVBlcmlvZHNcIj48L2tpLXRhc2stdGltZS1wZXJpb2RzPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbTpncmlkIHNtOmdyaWQtY29scy0zIHNtOmdhcC00IHNtOml0ZW1zLXN0YXJ0IHNtOmJvcmRlci10IHNtOmJvcmRlci1ncmF5LTIwMCBzbTpwdC01XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTcwMCBzbTptdC1weCBzbTpwdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24gR3JvdXBzIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCI+Kjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEgc206bXQtMCBzbTpjb2wtc3Bhbi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cImFsZXJ0R3JvdXAubm90aWZpY2F0aW9uR3JvdXBzXCIgbXVsdGlwbGUgW2NvbXBhcmVXaXRoXT1cIm5vdGlmaWNhdGlvbkdyb3VwRGlzcGxheVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJncm91cFwiICpuZ0Zvcj1cImxldCBncm91cCBvZiBub3RpZmljYXRpb25Hcm91cHNcIj57e2dyb3VwLm5hbWV9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY3JlYXRlTm90aWZpY2F0aW9uR3JvdXAoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5ncm91cF9hZGQ8L21hdC1pY29uPiZuYnNwO0NyZWF0ZSBuZXcgbm90aWZpY2F0aW9uIGdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic206Z3JpZCBzbTpncmlkLWNvbHMtMyBzbTpnYXAtNCBzbTppdGVtcy1zdGFydCBzbTpib3JkZXItdCBzbTpib3JkZXItZ3JheS0yMDAgc206cHQtNVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJibG9jayB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS03MDAgc206bXQtcHggc206cHQtMlwiPiBOb3RpZmljYXRpb24gVGl0bGUgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEgc206bXQtMCBzbTpjb2wtc3Bhbi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwibm90aWZpY2F0aW9uVGl0bGVcIiBbKG5nTW9kZWwpXT1cImFsZXJ0R3JvdXAubm90aWZpY2F0aW9uVGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF4LXctbGcgYmxvY2sgdy1mdWxsIHNoYWRvdy1zbSBzbTptYXgtdy14cyBzbTp0ZXh0LXNtIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLW1kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm10LTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwXCI+V2lsbCBiZSB1c2VkIGFzIHRoZSBzdWJqZWN0IGZvciB0aGUgbm90aWZpY2F0aW9uPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbTpncmlkIHNtOmdyaWQtY29scy0zIHNtOmdhcC00IHNtOml0ZW1zLXN0YXJ0IHNtOmJvcmRlci10IHNtOmJvcmRlci1ncmF5LTIwMCBzbTpwdC01XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTcwMCBzbTptdC1weCBzbTpwdC0yXCI+IE5vdGlmaWNhdGlvbiBQcmVmaXggVGV4dCA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMSBzbTptdC0wIHNtOmNvbC1zcGFuLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBuYW1lPVwibm90aWZpY2F0aW9uUHJlZml4VGV4dFwiIHJvd3M9XCIzXCIgWyhuZ01vZGVsKV09XCJhbGVydEdyb3VwLm5vdGlmaWNhdGlvblByZWZpeFRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF4LXctbGcgc2hhZG93LXNtIGJsb2NrIHctZnVsbCBzbTp0ZXh0LXNtIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZFwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm10LTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwXCI+VGV4dCB0byBpbmNsdWRlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5vdGlmaWNhdGlvbjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic206Z3JpZCBzbTpncmlkLWNvbHMtMyBzbTpnYXAtNCBzbTppdGVtcy1zdGFydCBzbTpib3JkZXItdCBzbTpib3JkZXItZ3JheS0yMDAgc206cHQtNVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJibG9jayB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS03MDAgc206bXQtcHggc206cHQtMlwiPiBOb3RpZmljYXRpb24gU3VmZml4IFRleHQgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEgc206bXQtMCBzbTpjb2wtc3Bhbi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgbmFtZT1cIm5vdGlmaWNhdGlvblN1ZmZpeFRleHRcIiByb3dzPVwiM1wiIFsobmdNb2RlbCldPVwiYWxlcnRHcm91cC5ub3RpZmljYXRpb25TdWZmaXhUZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1heC13LWxnIHNoYWRvdy1zbSBibG9jayB3LWZ1bGwgc206dGV4dC1zbSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWRcIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtdC0yIHRleHQtc20gdGV4dC1ncmF5LTUwMFwiPlRleHQgdG8gaW5jbHVkZSBhdCB0aGUgZW5kIG9mIHRoZSBub3RpZmljYXRpb248L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwicHQtNVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW3JvdXRlckxpbmtdPVwiW3JvdXRlUGF0aF1cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJnLXdoaXRlIHB5LTIgcHgtNCBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbWQgc2hhZG93LXNtIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTcwMCBob3ZlcjpiZy1ncmF5LTUwIGZvY3VzOm91dGxpbmUtbm9uZVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCIhYWxlcnRHcm91cC50aXRsZSB8fCAoIWFsZXJ0R3JvdXAudGFza1RpbWVQZXJpb2RzIHx8ICFhbGVydEdyb3VwLnRhc2tUaW1lUGVyaW9kcy5sZW5ndGgpIHx8ICghYWxlcnRHcm91cC5ub3RpZmljYXRpb25Hcm91cHMgfHwgIWFsZXJ0R3JvdXAubm90aWZpY2F0aW9uR3JvdXBzLmxlbmd0aClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRpc2FibGVkOm9wYWNpdHktNTAgbWwtMyBpbmxpbmUtZmxleCBqdXN0aWZ5LWNlbnRlciBweS0yIHB4LTQgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCBzaGFkb3ctc20gdGV4dC1zbSBmb250LW1lZGl1bSByb3VuZGVkLW1kIHRleHQtd2hpdGUgYmctcHJpbWFyeSBmb2N1czpvdXRsaW5lLW5vbmVcIj5cbiAgICAgICAgICAgICAgICBTYXZlIENoYW5nZXM8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|