ng-kinintel 0.0.317
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/karma.conf.js +44 -0
- package/ng-package.json +7 -0
- package/package.json +11 -0
- package/src/lib/components/alert-groups/alert-groups.component.html +140 -0
- package/src/lib/components/alert-groups/alert-groups.component.sass +4 -0
- package/src/lib/components/alert-groups/alert-groups.component.spec.ts +25 -0
- package/src/lib/components/alert-groups/alert-groups.component.ts +86 -0
- package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.html +91 -0
- package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.sass +2 -0
- package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.spec.ts +25 -0
- package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.ts +78 -0
- package/src/lib/components/dashboard-editor/configure-item/configure-item.component.html +2006 -0
- package/src/lib/components/dashboard-editor/configure-item/configure-item.component.sass +106 -0
- package/src/lib/components/dashboard-editor/configure-item/configure-item.component.spec.ts +25 -0
- package/src/lib/components/dashboard-editor/configure-item/configure-item.component.ts +967 -0
- package/src/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.html +81 -0
- 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 +25 -0
- package/src/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.ts +48 -0
- package/src/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.html +142 -0
- 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 +25 -0
- package/src/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.ts +117 -0
- package/src/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.html +224 -0
- 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 +25 -0
- package/src/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.ts +149 -0
- package/src/lib/components/dashboard-editor/configure-item/vis-network-options.json +135 -0
- package/src/lib/components/dashboard-editor/dashboard-editor.component.html +205 -0
- package/src/lib/components/dashboard-editor/dashboard-editor.component.sass +247 -0
- package/src/lib/components/dashboard-editor/dashboard-editor.component.spec.ts +25 -0
- package/src/lib/components/dashboard-editor/dashboard-editor.component.ts +645 -0
- package/src/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.html +1 -0
- 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 +25 -0
- package/src/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.ts +16 -0
- package/src/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.html +167 -0
- 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 +23 -0
- package/src/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.ts +47 -0
- package/src/lib/components/dashboard-editor/item-component/item-component.component.html +486 -0
- package/src/lib/components/dashboard-editor/item-component/item-component.component.sass +137 -0
- package/src/lib/components/dashboard-editor/item-component/item-component.component.spec.ts +25 -0
- package/src/lib/components/dashboard-editor/item-component/item-component.component.ts +1381 -0
- package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.html +48 -0
- package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.sass +3 -0
- package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.spec.ts +25 -0
- package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.ts +111 -0
- package/src/lib/components/dashboards/dashboards.component.html +175 -0
- package/src/lib/components/dashboards/dashboards.component.sass +64 -0
- package/src/lib/components/dashboards/dashboards.component.spec.ts +25 -0
- package/src/lib/components/dashboards/dashboards.component.ts +176 -0
- package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.html +138 -0
- package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.sass +284 -0
- package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.spec.ts +25 -0
- package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.ts +462 -0
- package/src/lib/components/data-explorer/change-source-warning/change-source-warning.component.html +35 -0
- 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 +23 -0
- package/src/lib/components/data-explorer/change-source-warning/change-source-warning.component.ts +21 -0
- package/src/lib/components/data-explorer/data-explorer.component.html +326 -0
- package/src/lib/components/data-explorer/data-explorer.component.sass +96 -0
- package/src/lib/components/data-explorer/data-explorer.component.spec.ts +25 -0
- package/src/lib/components/data-explorer/data-explorer.component.ts +267 -0
- package/src/lib/components/data-explorer/export-data/export-data.component.html +69 -0
- 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 +25 -0
- package/src/lib/components/data-explorer/export-data/export-data.component.ts +56 -0
- package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.html +195 -0
- 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 +23 -0
- package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.ts +79 -0
- package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.html +375 -0
- package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.sass +21 -0
- package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.spec.ts +25 -0
- package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.ts +197 -0
- package/src/lib/components/data-picker/data-picker.component.html +127 -0
- package/src/lib/components/data-picker/data-picker.component.sass +0 -0
- package/src/lib/components/data-picker/data-picker.component.spec.ts +25 -0
- package/src/lib/components/data-picker/data-picker.component.ts +90 -0
- package/src/lib/components/data-search/data-search.component.html +1 -0
- package/src/lib/components/data-search/data-search.component.sass +0 -0
- package/src/lib/components/data-search/data-search.component.spec.ts +23 -0
- package/src/lib/components/data-search/data-search.component.ts +10 -0
- package/src/lib/components/data-sharing-invite/data-sharing-invite.component.html +53 -0
- 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 +23 -0
- package/src/lib/components/data-sharing-invite/data-sharing-invite.component.ts +56 -0
- package/src/lib/components/dataset/create-dataset/create-dataset.component.html +25 -0
- 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 +25 -0
- package/src/lib/components/dataset/create-dataset/create-dataset.component.ts +44 -0
- package/src/lib/components/dataset/dataset-editor/available-columns/available-columns.component.html +28 -0
- 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 +25 -0
- package/src/lib/components/dataset/dataset-editor/available-columns/available-columns.component.ts +22 -0
- package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.html +196 -0
- package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.sass +17 -0
- package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.ts +422 -0
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.html +30 -0
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.sass +47 -0
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.ts +78 -0
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.html +86 -0
- 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 +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.ts +49 -0
- package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.html +68 -0
- package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.sass +15 -0
- package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.ts +65 -0
- package/src/lib/components/dataset/dataset-editor/dataset-editor-popup.html +19 -0
- package/src/lib/components/dataset/dataset-editor/dataset-editor.component.html +609 -0
- package/src/lib/components/dataset/dataset-editor/dataset-editor.component.sass +267 -0
- package/src/lib/components/dataset/dataset-editor/dataset-editor.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-editor.component.ts +1228 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.html +309 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.sass +41 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.ts +215 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.html +33 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.sass +3 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.spec.ts +23 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.ts +20 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.html +52 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.sass +14 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.ts +58 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.html +47 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.sass +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.ts +49 -0
- package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.html +49 -0
- package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.sass +2 -0
- package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.ts +39 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.html +195 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.sass +14 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.ts +82 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.html +78 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.sass +16 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.ts +32 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.html +24 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.sass +22 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.ts +64 -0
- package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.html +177 -0
- package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.sass +80 -0
- package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.ts +113 -0
- package/src/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.html +32 -0
- 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 +23 -0
- package/src/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.ts +20 -0
- package/src/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.html +37 -0
- 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 +23 -0
- package/src/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.ts +19 -0
- package/src/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.html +69 -0
- 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 +23 -0
- package/src/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.ts +58 -0
- package/src/lib/components/dataset/dataset-editor/share-query/share-query.component.html +195 -0
- 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 +23 -0
- package/src/lib/components/dataset/dataset-editor/share-query/share-query.component.ts +128 -0
- package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.html +34 -0
- package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.sass +3 -0
- package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.spec.ts +23 -0
- package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.ts +21 -0
- package/src/lib/components/dataset/dataset.component.html +317 -0
- package/src/lib/components/dataset/dataset.component.sass +73 -0
- package/src/lib/components/dataset/dataset.component.spec.ts +25 -0
- package/src/lib/components/dataset/dataset.component.ts +320 -0
- package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.html +133 -0
- package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.sass +51 -0
- package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.spec.ts +23 -0
- package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.ts +140 -0
- package/src/lib/components/datasource/create-datasource/api-access/api-access.component.html +257 -0
- 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 +23 -0
- package/src/lib/components/datasource/create-datasource/api-access/api-access.component.ts +148 -0
- package/src/lib/components/datasource/create-datasource/create-datasource.component.html +430 -0
- package/src/lib/components/datasource/create-datasource/create-datasource.component.sass +162 -0
- package/src/lib/components/datasource/create-datasource/create-datasource.component.spec.ts +25 -0
- package/src/lib/components/datasource/create-datasource/create-datasource.component.ts +789 -0
- package/src/lib/components/datasource/create-datasource/import-data/import-data.component.html +119 -0
- package/src/lib/components/datasource/create-datasource/import-data/import-data.component.sass +8 -0
- package/src/lib/components/datasource/create-datasource/import-data/import-data.component.spec.ts +25 -0
- package/src/lib/components/datasource/create-datasource/import-data/import-data.component.ts +163 -0
- package/src/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.html +239 -0
- 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 +23 -0
- package/src/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.ts +182 -0
- package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.html +167 -0
- package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.sass +87 -0
- package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.spec.ts +23 -0
- package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.ts +164 -0
- package/src/lib/components/datasource/datasource.component.html +165 -0
- package/src/lib/components/datasource/datasource.component.sass +4 -0
- package/src/lib/components/datasource/datasource.component.spec.ts +25 -0
- package/src/lib/components/datasource/datasource.component.ts +174 -0
- package/src/lib/components/datasource/document-datasource/document-datasource.component.html +558 -0
- package/src/lib/components/datasource/document-datasource/document-datasource.component.sass +84 -0
- package/src/lib/components/datasource/document-datasource/document-datasource.component.spec.ts +25 -0
- package/src/lib/components/datasource/document-datasource/document-datasource.component.ts +351 -0
- package/src/lib/components/export-project/export-project.component.html +280 -0
- package/src/lib/components/export-project/export-project.component.sass +0 -0
- package/src/lib/components/export-project/export-project.component.spec.ts +23 -0
- package/src/lib/components/export-project/export-project.component.ts +29 -0
- package/src/lib/components/feeds/feed/feed.component.html +144 -0
- package/src/lib/components/feeds/feed/feed.component.sass +0 -0
- package/src/lib/components/feeds/feed/feed.component.spec.ts +25 -0
- package/src/lib/components/feeds/feed/feed.component.ts +102 -0
- package/src/lib/components/feeds/feeds.component.html +210 -0
- package/src/lib/components/feeds/feeds.component.sass +4 -0
- package/src/lib/components/feeds/feeds.component.spec.ts +25 -0
- package/src/lib/components/feeds/feeds.component.ts +163 -0
- package/src/lib/components/job-tasks/job-tasks.component.html +22 -0
- package/src/lib/components/job-tasks/job-tasks.component.sass +0 -0
- package/src/lib/components/job-tasks/job-tasks.component.spec.ts +25 -0
- package/src/lib/components/job-tasks/job-tasks.component.ts +19 -0
- package/src/lib/components/marketplace/marketplace.component.html +143 -0
- package/src/lib/components/marketplace/marketplace.component.sass +0 -0
- package/src/lib/components/marketplace/marketplace.component.spec.ts +23 -0
- package/src/lib/components/marketplace/marketplace.component.ts +73 -0
- package/src/lib/components/metadata/metadata.component.html +62 -0
- package/src/lib/components/metadata/metadata.component.sass +0 -0
- package/src/lib/components/metadata/metadata.component.spec.ts +25 -0
- package/src/lib/components/metadata/metadata.component.ts +67 -0
- package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.html +82 -0
- package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.sass +21 -0
- package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.spec.ts +25 -0
- package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.ts +123 -0
- package/src/lib/components/notification-groups/notification-groups.component.html +125 -0
- package/src/lib/components/notification-groups/notification-groups.component.sass +4 -0
- package/src/lib/components/notification-groups/notification-groups.component.spec.ts +25 -0
- package/src/lib/components/notification-groups/notification-groups.component.ts +98 -0
- package/src/lib/components/project-picker/project-picker.component.html +167 -0
- package/src/lib/components/project-picker/project-picker.component.sass +1 -0
- package/src/lib/components/project-picker/project-picker.component.spec.ts +25 -0
- package/src/lib/components/project-picker/project-picker.component.ts +138 -0
- package/src/lib/components/project-settings/project-link-selection/project-link-selection.component.html +120 -0
- 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 +23 -0
- package/src/lib/components/project-settings/project-link-selection/project-link-selection.component.ts +161 -0
- package/src/lib/components/project-settings/project-settings.component.html +353 -0
- package/src/lib/components/project-settings/project-settings.component.sass +0 -0
- package/src/lib/components/project-settings/project-settings.component.spec.ts +23 -0
- package/src/lib/components/project-settings/project-settings.component.ts +178 -0
- package/src/lib/components/query-caching/edit-query-cache/edit-query-cache.component.html +96 -0
- 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 +23 -0
- package/src/lib/components/query-caching/edit-query-cache/edit-query-cache.component.ts +48 -0
- package/src/lib/components/query-caching/query-caching.component.html +122 -0
- package/src/lib/components/query-caching/query-caching.component.sass +0 -0
- package/src/lib/components/query-caching/query-caching.component.spec.ts +23 -0
- package/src/lib/components/query-caching/query-caching.component.ts +184 -0
- package/src/lib/components/shared-with-me/shared-with-me.component.html +115 -0
- 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 +23 -0
- package/src/lib/components/shared-with-me/shared-with-me.component.ts +123 -0
- package/src/lib/components/snapshots/snapshots.component.html +408 -0
- package/src/lib/components/snapshots/snapshots.component.sass +4 -0
- package/src/lib/components/snapshots/snapshots.component.spec.ts +25 -0
- package/src/lib/components/snapshots/snapshots.component.ts +286 -0
- package/src/lib/components/tag-picker/tag-picker.component.html +155 -0
- package/src/lib/components/tag-picker/tag-picker.component.sass +2 -0
- package/src/lib/components/tag-picker/tag-picker.component.spec.ts +25 -0
- package/src/lib/components/tag-picker/tag-picker.component.ts +82 -0
- package/src/lib/components/task-time-periods/task-time-periods.component.html +93 -0
- package/src/lib/components/task-time-periods/task-time-periods.component.sass +7 -0
- package/src/lib/components/task-time-periods/task-time-periods.component.spec.ts +25 -0
- package/src/lib/components/task-time-periods/task-time-periods.component.ts +50 -0
- package/src/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.html +111 -0
- 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 +25 -0
- package/src/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.ts +38 -0
- package/src/lib/guards/dashboard-changes.guard.spec.ts +16 -0
- package/src/lib/guards/dashboard-changes.guard.ts +27 -0
- package/src/lib/ng-kinintel.module.ts +272 -0
- package/src/lib/objects/action-event.spec.ts +7 -0
- package/src/lib/objects/action-event.ts +27 -0
- package/src/lib/services/alert.service.spec.ts +16 -0
- package/src/lib/services/alert.service.ts +49 -0
- package/src/lib/services/dashboard.service.spec.ts +16 -0
- package/src/lib/services/dashboard.service.ts +79 -0
- package/src/lib/services/data-processor.service.spec.ts +16 -0
- package/src/lib/services/data-processor.service.ts +61 -0
- package/src/lib/services/data-search.service.spec.ts +16 -0
- package/src/lib/services/data-search.service.ts +31 -0
- package/src/lib/services/dataset.service.spec.ts +16 -0
- package/src/lib/services/dataset.service.ts +234 -0
- package/src/lib/services/datasource.service.spec.ts +16 -0
- package/src/lib/services/datasource.service.ts +116 -0
- package/src/lib/services/external.service.spec.ts +16 -0
- package/src/lib/services/external.service.ts +29 -0
- package/src/lib/services/feed.service.spec.ts +16 -0
- package/src/lib/services/feed.service.ts +48 -0
- package/src/lib/services/notification.service.spec.ts +16 -0
- package/src/lib/services/notification.service.ts +38 -0
- package/src/lib/services/project.service.spec.ts +16 -0
- package/src/lib/services/project.service.ts +146 -0
- package/src/lib/services/tag.service.spec.ts +16 -0
- package/src/lib/services/tag.service.ts +61 -0
- package/src/public-api.ts +46 -0
- package/src/test.ts +17 -0
- package/tsconfig.lib.json +24 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/tslint.json +17 -0
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import {Component, ElementRef, Inject, Input, OnDestroy, OnInit, ViewChild} from '@angular/core';
|
|
2
|
+
import {
|
|
3
|
+
MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,
|
|
4
|
+
MatLegacyDialog as MatDialog,
|
|
5
|
+
MatLegacyDialogRef as MatDialogRef
|
|
6
|
+
} from '@angular/material/legacy-dialog';
|
|
7
|
+
import {DatasetNameDialogComponent} from '../dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component';
|
|
8
|
+
import {DatasetService} from '../../services/dataset.service';
|
|
9
|
+
import {Router} from '@angular/router';
|
|
10
|
+
import {
|
|
11
|
+
SnapshotProfileDialogComponent
|
|
12
|
+
} from '../data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component';
|
|
13
|
+
import {ExportDataComponent} from './export-data/export-data.component';
|
|
14
|
+
import {ProjectService} from '../../services/project.service';
|
|
15
|
+
import * as lodash from 'lodash';
|
|
16
|
+
import {DataProcessorService} from '../../services/data-processor.service';
|
|
17
|
+
import {
|
|
18
|
+
SnapshotApiAccessComponent
|
|
19
|
+
} from './snapshot-api-access/snapshot-api-access.component';
|
|
20
|
+
import {
|
|
21
|
+
EditQueryCacheComponent
|
|
22
|
+
} from '../query-caching/edit-query-cache/edit-query-cache.component';
|
|
23
|
+
import {Subject} from 'rxjs';
|
|
24
|
+
import {CreateDatasetComponent} from '../dataset/create-dataset/create-dataset.component';
|
|
25
|
+
import {DatasetEditorComponent} from '../dataset/dataset-editor/dataset-editor.component';
|
|
26
|
+
import {ChangeSourceWarningComponent} from './change-source-warning/change-source-warning.component';
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
const _ = lodash.default;
|
|
30
|
+
|
|
31
|
+
@Component({
|
|
32
|
+
selector: 'ki-data-explorer',
|
|
33
|
+
templateUrl: './data-explorer.component.html',
|
|
34
|
+
styleUrls: ['./data-explorer.component.sass'],
|
|
35
|
+
host: {class: 'configure-dialog'}
|
|
36
|
+
})
|
|
37
|
+
export class DataExplorerComponent implements OnInit, OnDestroy {
|
|
38
|
+
|
|
39
|
+
@ViewChild('datasetEditorComponent') datasetEditorComponent: DatasetEditorComponent;
|
|
40
|
+
|
|
41
|
+
@Input() datasetEditorReadonly = false;
|
|
42
|
+
|
|
43
|
+
public _ = _;
|
|
44
|
+
public backendUrl: string;
|
|
45
|
+
public showChart = false;
|
|
46
|
+
public chartData;
|
|
47
|
+
public datasetInstanceSummary: any;
|
|
48
|
+
public filters: any;
|
|
49
|
+
public admin: boolean;
|
|
50
|
+
public showSnapshots = false;
|
|
51
|
+
public snapshotProfiles: any = [];
|
|
52
|
+
public showQueryCache = false;
|
|
53
|
+
public editTitle = false;
|
|
54
|
+
public accountId: any;
|
|
55
|
+
public newTitle: string;
|
|
56
|
+
public newDescription: string;
|
|
57
|
+
public breadcrumb: string;
|
|
58
|
+
public canHaveSnapshots = false;
|
|
59
|
+
public canExportData = false;
|
|
60
|
+
public reloadCache = new Subject();
|
|
61
|
+
|
|
62
|
+
private columns: any = [];
|
|
63
|
+
private datasetTitle: string;
|
|
64
|
+
private timer: number;
|
|
65
|
+
|
|
66
|
+
constructor(public dialogRef: MatDialogRef<DataExplorerComponent>,
|
|
67
|
+
@Inject(MAT_DIALOG_DATA) public data: any,
|
|
68
|
+
private dialog: MatDialog,
|
|
69
|
+
private datasetService: DatasetService,
|
|
70
|
+
private router: Router,
|
|
71
|
+
private projectService: ProjectService,
|
|
72
|
+
private dataProcessorService: DataProcessorService) {
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
ngOnInit(): void {
|
|
76
|
+
this.chartData = !!this.data.showChart;
|
|
77
|
+
this.datasetInstanceSummary = this.data.datasetInstanceSummary;
|
|
78
|
+
this.admin = !!this.data.admin;
|
|
79
|
+
this.accountId = this.data.accountId;
|
|
80
|
+
this.breadcrumb = this.data.breadcrumb;
|
|
81
|
+
this.backendUrl = this.data.backendUrl;
|
|
82
|
+
this.datasetEditorReadonly = !!this.data.datasetEditorReadonly;
|
|
83
|
+
|
|
84
|
+
if (!this.datasetInstanceSummary.id) {
|
|
85
|
+
this.datasetTitle = this.datasetInstanceSummary.title;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
this.newTitle = this.data.newTitle;
|
|
89
|
+
this.newDescription = this.data.newDescription;
|
|
90
|
+
|
|
91
|
+
this.chartData = [
|
|
92
|
+
{data: [1000, 1400, 1999, 2500, 5000]},
|
|
93
|
+
];
|
|
94
|
+
|
|
95
|
+
this.canHaveSnapshots = this.projectService.doesActiveProjectHavePrivilege('snapshotaccess');
|
|
96
|
+
this.canExportData = this.projectService.doesActiveProjectHavePrivilege('exportdata');
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
ngOnDestroy() {
|
|
100
|
+
if (this.timer) {
|
|
101
|
+
clearInterval(this.timer);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public changeSource() {
|
|
106
|
+
const dialogRef = this.dialog.open(CreateDatasetComponent, {
|
|
107
|
+
width: '1200px',
|
|
108
|
+
height: '800px',
|
|
109
|
+
data: {
|
|
110
|
+
admin: this.admin,
|
|
111
|
+
accountId: this.accountId
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
dialogRef.afterClosed().subscribe(res => {
|
|
115
|
+
if (res) {
|
|
116
|
+
const dialogRef2 = this.dialog.open(ChangeSourceWarningComponent, {
|
|
117
|
+
width: '700px',
|
|
118
|
+
height: '275px'
|
|
119
|
+
});
|
|
120
|
+
dialogRef2.afterClosed().subscribe(proceed => {
|
|
121
|
+
if (proceed) {
|
|
122
|
+
this.datasetInstanceSummary.datasetInstanceId = res.datasetInstanceId;
|
|
123
|
+
this.datasetInstanceSummary.datasourceInstanceKey = res.datasourceInstanceKey;
|
|
124
|
+
this.datasetInstanceSummary.source = {
|
|
125
|
+
title: res.title,
|
|
126
|
+
datasetInstanceId: res.datasetInstanceId,
|
|
127
|
+
datasourceInstanceKey: res.datasourceInstanceKey,
|
|
128
|
+
type: null
|
|
129
|
+
};
|
|
130
|
+
const transformation = this.datasetInstanceSummary.transformationInstances[0];
|
|
131
|
+
if (transformation) {
|
|
132
|
+
this.datasetEditorComponent.excludeUpstreamTransformations(transformation, true);
|
|
133
|
+
} else {
|
|
134
|
+
this.datasetEditorComponent.evaluateDataset(true);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
public dataLoaded(data) {
|
|
143
|
+
this.columns = data.columns;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
public async triggerSnapshot(snapshotKey) {
|
|
147
|
+
await this.dataProcessorService.triggerProcessor(snapshotKey);
|
|
148
|
+
this.snapshotProfiles = await this.loadProcessorItems('snapshot');
|
|
149
|
+
this.timer = setInterval(async () => {
|
|
150
|
+
this.snapshotProfiles = await this.loadProcessorItems('snapshot');
|
|
151
|
+
}, 3000);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
public apiAccess() {
|
|
155
|
+
const dialogRef = this.dialog.open(SnapshotApiAccessComponent, {
|
|
156
|
+
width: '800px',
|
|
157
|
+
height: '530px',
|
|
158
|
+
data: {
|
|
159
|
+
datasetInstanceSummary: this.datasetInstanceSummary,
|
|
160
|
+
backendUrl: this.backendUrl
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
public exportData() {
|
|
166
|
+
const dialogRef = this.dialog.open(ExportDataComponent, {
|
|
167
|
+
width: '600px',
|
|
168
|
+
height: '530px',
|
|
169
|
+
data: {
|
|
170
|
+
datasetInstanceSummary: Object.assign({}, this.datasetInstanceSummary)
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
public async viewSnapshots() {
|
|
176
|
+
this.showQueryCache = false;
|
|
177
|
+
this.showSnapshots = !this.showSnapshots;
|
|
178
|
+
if (this.showSnapshots) {
|
|
179
|
+
this.snapshotProfiles = await this.loadProcessorItems('snapshot');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
public editSnapshot(snapshot) {
|
|
184
|
+
const dialogRef = this.dialog.open(SnapshotProfileDialogComponent, {
|
|
185
|
+
width: '900px',
|
|
186
|
+
height: '900px',
|
|
187
|
+
data: {
|
|
188
|
+
snapshot,
|
|
189
|
+
datasetInstanceId: this.datasetInstanceSummary.id,
|
|
190
|
+
columns: this.columns,
|
|
191
|
+
datasetInstance: this.datasetInstanceSummary
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
dialogRef.afterClosed().subscribe(async res => {
|
|
195
|
+
if (res) {
|
|
196
|
+
this.snapshotProfiles = await this.loadProcessorItems('snapshot');
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
public async deleteSnapshot(snapshot) {
|
|
202
|
+
const message = 'Are you sure you would like to remove this snapshot?';
|
|
203
|
+
if (window.confirm(message)) {
|
|
204
|
+
await this.dataProcessorService.removeProcessor(snapshot.key);
|
|
205
|
+
this.snapshotProfiles = await this.loadProcessorItems('snapshot');
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
public async viewQueryCaching() {
|
|
210
|
+
this.showSnapshots = false;
|
|
211
|
+
this.showQueryCache = !this.showQueryCache;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
public editQueryCache(cache: any) {
|
|
215
|
+
const dialogRef = this.dialog.open(EditQueryCacheComponent, {
|
|
216
|
+
width: '900px',
|
|
217
|
+
height: '900px',
|
|
218
|
+
data: {
|
|
219
|
+
cache,
|
|
220
|
+
datasetInstanceId: this.datasetInstanceSummary.id,
|
|
221
|
+
columns: this.columns,
|
|
222
|
+
datasetInstance: this.datasetInstanceSummary
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
dialogRef.afterClosed().subscribe(async res => {
|
|
226
|
+
if (res) {
|
|
227
|
+
this.reloadCache.next(Date.now());
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
public saveChanges() {
|
|
233
|
+
if (!this.datasetInstanceSummary.id && (this.datasetInstanceSummary.title === this.datasetTitle)) {
|
|
234
|
+
const dialogRef = this.dialog.open(DatasetNameDialogComponent, {
|
|
235
|
+
width: '700px',
|
|
236
|
+
height: '800px',
|
|
237
|
+
data: {
|
|
238
|
+
datasetInstanceSummary: this.datasetInstanceSummary
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
dialogRef.afterClosed().subscribe(datasetInstanceSummary => {
|
|
242
|
+
if (datasetInstanceSummary) {
|
|
243
|
+
this.datasetInstanceSummary = datasetInstanceSummary;
|
|
244
|
+
this.saveDataset();
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
} else {
|
|
248
|
+
this.saveDataset();
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
private saveDataset() {
|
|
253
|
+
this.datasetService.saveDataset(this.datasetInstanceSummary, this.accountId).then(() => {
|
|
254
|
+
this.dialogRef.close(true);
|
|
255
|
+
// this.router.navigate(['/dataset']);
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
private async loadProcessorItems(type: string) {
|
|
260
|
+
return await this.dataProcessorService.filterProcessorsByRelatedItem(
|
|
261
|
+
type,
|
|
262
|
+
'DatasetInstance',
|
|
263
|
+
this.datasetInstanceSummary.id
|
|
264
|
+
);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<div class="dialog" cdkDrag cdkDragRootElement=".cdk-overlay-pane">
|
|
2
|
+
|
|
3
|
+
<div class="dialog-title" cdkDragHandle>
|
|
4
|
+
<h2 mat-dialog-title>
|
|
5
|
+
Export Data
|
|
6
|
+
</h2>
|
|
7
|
+
|
|
8
|
+
<button mat-icon-button mat-dialog-close>
|
|
9
|
+
<mat-icon>clear</mat-icon>
|
|
10
|
+
</button>
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<div class="dialog-content">
|
|
14
|
+
<label class="mb-4">
|
|
15
|
+
Export Type
|
|
16
|
+
<select [(ngModel)]="exportDataset.exporterKey">
|
|
17
|
+
<option value="sv">Separated Value</option>
|
|
18
|
+
<option value="json">JSON</option>
|
|
19
|
+
</select>
|
|
20
|
+
</label>
|
|
21
|
+
|
|
22
|
+
<ng-template [ngIf]="exportDataset.exporterKey === 'sv'">
|
|
23
|
+
<mat-checkbox class="mb-2"
|
|
24
|
+
[(ngModel)]="exportDataset.exporterConfiguration.includeHeaderRow">
|
|
25
|
+
Include header row
|
|
26
|
+
</mat-checkbox>
|
|
27
|
+
<label class="mb-2">
|
|
28
|
+
Separator
|
|
29
|
+
<input type="text" [(ngModel)]="exportDataset.exporterConfiguration.separator">
|
|
30
|
+
<small class="font-normal">Enter the character used to separate the values.</small>
|
|
31
|
+
</label>
|
|
32
|
+
</ng-template>
|
|
33
|
+
|
|
34
|
+
<label class="mb-4">
|
|
35
|
+
Limit Results
|
|
36
|
+
<select [(ngModel)]="exportDataset.limit">
|
|
37
|
+
<option value="1">1</option>
|
|
38
|
+
<option value="5">5</option>
|
|
39
|
+
<option value="10">10</option>
|
|
40
|
+
<option value="25">25</option>
|
|
41
|
+
<option value="50">50</option>
|
|
42
|
+
<option value="100">100</option>
|
|
43
|
+
<option value="250">250</option>
|
|
44
|
+
<option value="500">500</option>
|
|
45
|
+
<option value="1000">1000</option>
|
|
46
|
+
<option value="5000">5000</option>
|
|
47
|
+
<option value="10000">10000</option>
|
|
48
|
+
</select>
|
|
49
|
+
</label>
|
|
50
|
+
|
|
51
|
+
<label class="mb-4">
|
|
52
|
+
Offset Results
|
|
53
|
+
<input type="number" [(ngModel)]="exportDataset.offset">
|
|
54
|
+
</label>
|
|
55
|
+
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
<div class="dialog-footer">
|
|
59
|
+
<button mat-button mat-dialog-close mat-stroked-button type="button">Close</button>
|
|
60
|
+
|
|
61
|
+
<button mat-button mat-flat-button color="primary" type="button"
|
|
62
|
+
(click)="exportData()"
|
|
63
|
+
[disabled]="!exportDataset.exporterKey">Export Data
|
|
64
|
+
</button>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { ExportDataComponent } from './export-data.component';
|
|
4
|
+
|
|
5
|
+
describe('ExportDataComponent', () => {
|
|
6
|
+
let component: ExportDataComponent;
|
|
7
|
+
let fixture: ComponentFixture<ExportDataComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
declarations: [ ExportDataComponent ]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
fixture = TestBed.createComponent(ExportDataComponent);
|
|
18
|
+
component = fixture.componentInstance;
|
|
19
|
+
fixture.detectChanges();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('should create', () => {
|
|
23
|
+
expect(component).toBeTruthy();
|
|
24
|
+
});
|
|
25
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {Component, Inject, OnInit} from '@angular/core';
|
|
2
|
+
import {MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialogRef as MatDialogRef} from '@angular/material/legacy-dialog';
|
|
3
|
+
import {DatasetService} from '../../../services/dataset.service';
|
|
4
|
+
import * as fileSaver from 'file-saver';
|
|
5
|
+
import * as lodash from 'lodash';
|
|
6
|
+
import {MatLegacySnackBar as MatSnackBar} from '@angular/material/legacy-snack-bar';
|
|
7
|
+
|
|
8
|
+
const _ = lodash.default;
|
|
9
|
+
|
|
10
|
+
@Component({
|
|
11
|
+
selector: 'ki-export-data',
|
|
12
|
+
templateUrl: './export-data.component.html',
|
|
13
|
+
styleUrls: ['./export-data.component.sass'],
|
|
14
|
+
host: {class: 'dialog-wrapper'}
|
|
15
|
+
})
|
|
16
|
+
export class ExportDataComponent implements OnInit {
|
|
17
|
+
|
|
18
|
+
public exportDataset: any = {};
|
|
19
|
+
|
|
20
|
+
constructor(public dialogRef: MatDialogRef<ExportDataComponent>,
|
|
21
|
+
@Inject(MAT_DIALOG_DATA) public data: any,
|
|
22
|
+
private datasetService: DatasetService,
|
|
23
|
+
private snackBar: MatSnackBar) {
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
ngOnInit(): void {
|
|
27
|
+
this.exportDataset.dataSetInstanceSummary = this.data.datasetInstanceSummary;
|
|
28
|
+
this.exportDataset.transformationInstances = [];
|
|
29
|
+
this.exportDataset.parameterValues = [];
|
|
30
|
+
this.exportDataset.limit = '100';
|
|
31
|
+
this.exportDataset.offset = '0';
|
|
32
|
+
this.exportDataset.exporterKey = 'sv';
|
|
33
|
+
this.exportDataset.exporterConfiguration = {includeHeaderRow: true, separator: ','};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public exportData() {
|
|
37
|
+
this.datasetService.exportDataset(this.exportDataset).then(res => {
|
|
38
|
+
let fileType = 'txt';
|
|
39
|
+
if (this.exportDataset.exporterKey === 'json') {
|
|
40
|
+
fileType = 'json';
|
|
41
|
+
} else if (this.exportDataset.exporterKey === 'sv' &&
|
|
42
|
+
this.exportDataset.exporterConfiguration.separator === ',') {
|
|
43
|
+
fileType = 'csv';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const filename = _.kebabCase(this.exportDataset.dataSetInstanceSummary.title) + '-' + Date.now();
|
|
47
|
+
fileSaver.saveAs(res, filename + '.' + fileType);
|
|
48
|
+
this.dialogRef.close();
|
|
49
|
+
this.snackBar.open('Data Exported Successfully.', 'Close', {
|
|
50
|
+
duration: 3000,
|
|
51
|
+
verticalPosition: 'top'
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
}
|
package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.html
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
<div class="dialog" cdkDrag cdkDragRootElement=".cdk-overlay-pane">
|
|
2
|
+
|
|
3
|
+
<div class="dialog-title" cdkDragHandle>
|
|
4
|
+
<h2 mat-dialog-title>
|
|
5
|
+
API Access
|
|
6
|
+
</h2>
|
|
7
|
+
|
|
8
|
+
<button mat-icon-button mat-dialog-close>
|
|
9
|
+
<mat-icon>clear</mat-icon>
|
|
10
|
+
</button>
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<div class="dialog-content">
|
|
14
|
+
|
|
15
|
+
<div class="text-lg font-semibold mb-4">
|
|
16
|
+
Management Key
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
<div class="mb-4">
|
|
20
|
+
<input class="mt-2 w-full" type="text" [(ngModel)]="datasetInstance.managementKey">
|
|
21
|
+
<small class="font-normal">This will be used as part of API requests</small>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<ng-template [ngIf]="showApiAccessDetails">
|
|
25
|
+
<div class="text-lg font-semibold mb-4">
|
|
26
|
+
Example API Usage
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<div class="relative w-full">
|
|
30
|
+
<div class="text-base font-semibold">List Snapshots</div>
|
|
31
|
+
<div class="text-sm mb-2">
|
|
32
|
+
List all snapshots associated with this query using the management key.
|
|
33
|
+
</div>
|
|
34
|
+
<div #listSnapshots class=" bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4">
|
|
35
|
+
<pre class="whitespace-normal">curl -H <span class="text-secondary">"API-KEY:<b>{{apiKeys ? apiKeys.apiKey : '[[apiKey]]'}}</b>"</span> -H <span class="text-secondary">"API-SECRET:<b>{{apiKeys ? apiKeys.apiSecret : '[[apiSecret]]'}}</b>"</span> -X <b>GET</b> <span class="text-secondary">{{backendURL}}/api/snapshot/{{datasetInstance.managementKey}}</span></pre>
|
|
36
|
+
</div>
|
|
37
|
+
<button mat-icon-button [cdkCopyToClipboard]="listSnapshots.textContent" (cdkCopyToClipboardCopied)="copied()"
|
|
38
|
+
class="text-white absolute bottom-0 right-0">
|
|
39
|
+
<mat-icon>content_copy</mat-icon>
|
|
40
|
+
</button>
|
|
41
|
+
</div>
|
|
42
|
+
<div class="font-semibold text-sm my-1">Example Response</div>
|
|
43
|
+
<div class="relative bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4 mb-8">
|
|
44
|
+
<pre class="whitespace-normal">
|
|
45
|
+
{{'[{"key":"snapshot_1","title":"Snapshot 1","type":"STANDARD","config":{"parameterValues":[],"keyFieldNames":[],"indexes":[],"timeLapsedFields":[],"createHistory":false,"createLatest":true,"readChunkSize":null},"trigger":"adhoc","datasetManagementKey":"managementkey","datasetTitle":"Test Query","status":"COMPLETED","lastRunTime":"22\\/03\\/2024 14:50:20","nextRunTime":null}]'}}
|
|
46
|
+
</pre>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
<div class="relative w-full">
|
|
51
|
+
<div class="text-base font-semibold">Get Single Snapshot</div>
|
|
52
|
+
<div class="text-sm mb-2">
|
|
53
|
+
Get a single snapshot associated with this query using the management key and snapshot key as returned from a list or create operation.
|
|
54
|
+
</div>
|
|
55
|
+
<div #getSnapshot class=" bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4">
|
|
56
|
+
<pre class="whitespace-normal">curl -H <span class="text-secondary">"API-KEY:<b>{{apiKeys ? apiKeys.apiKey : '[[apiKey]]'}}</b>"</span> -H <span class="text-secondary">"API-SECRET:<b>{{apiKeys ? apiKeys.apiSecret : '[[apiSecret]]'}}</b>"</span></pre><pre class="whitespace-normal"> -X <b>GET</b> <span class="text-secondary">{{backendURL}}/api/snapshot/{{datasetInstance.managementKey}}/SNAPSHOT_KEY</span></pre>
|
|
57
|
+
</div>
|
|
58
|
+
<button mat-icon-button [cdkCopyToClipboard]="getSnapshot.textContent" (cdkCopyToClipboardCopied)="copied()"
|
|
59
|
+
class="text-white absolute bottom-0 right-0">
|
|
60
|
+
<mat-icon>content_copy</mat-icon>
|
|
61
|
+
</button>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="font-semibold text-sm my-1">Example Response</div>
|
|
64
|
+
<div class="relative bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4 mb-8">
|
|
65
|
+
<pre class="whitespace-normal">
|
|
66
|
+
{{'{"key":"snapshot_1","title":"Snapshot 1","type":"STANDARD","config":{"parameterValues":[],"keyFieldNames":[],"indexes":[],"timeLapsedFields":[],"createHistory":false,"createLatest":true,"readChunkSize":null},"trigger":"adhoc","datasetManagementKey":"managementkey","datasetTitle":"Test Query","status":"COMPLETED","lastRunTime":"22\\/03\\/2024 14:50:20","nextRunTime":null}'}}
|
|
67
|
+
</pre>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
<div class="relative w-full">
|
|
73
|
+
<div class="text-base font-semibold">Get data for snapshot</div>
|
|
74
|
+
<div class="text-sm mb-2">
|
|
75
|
+
Return data for a snapshot for this query identified by management key and snapshot key. Optionally supply an offset and limit for paging the data.
|
|
76
|
+
</div>
|
|
77
|
+
<div #getSnapshotData class=" bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4">
|
|
78
|
+
<pre class="whitespace-normal">curl -H <span class="text-secondary">"API-KEY:<b>{{apiKeys ? apiKeys.apiKey : '[[apiKey]]'}}</b>"</span> -H <span class="text-secondary">"API-SECRET:<b>{{apiKeys ? apiKeys.apiSecret : '[[apiSecret]]'}}</b>"</span></pre><pre class="whitespace-normal"> -X <b>GET</b> <span class="text-secondary">"{{backendURL}}/api/snapshot/{{datasetInstance.managementKey}}/SNAPSHOT_KEY/data?limit=25&offset=0"</span></pre>
|
|
79
|
+
</div>
|
|
80
|
+
<button mat-icon-button [cdkCopyToClipboard]="getSnapshotData.textContent" (cdkCopyToClipboardCopied)="copied()"
|
|
81
|
+
class="text-white absolute bottom-0 right-0">
|
|
82
|
+
<mat-icon>content_copy</mat-icon>
|
|
83
|
+
</button>
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
<div class="font-semibold text-sm my-1">Example Response</div>
|
|
87
|
+
<div class="relative bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4 mb-8">
|
|
88
|
+
<pre class="whitespace-normal">
|
|
89
|
+
{{exampleResults()}}
|
|
90
|
+
</pre>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
<div class="relative w-full mb-8">
|
|
95
|
+
<div class="text-base font-semibold">Run a snapshot</div>
|
|
96
|
+
<div class="text-sm mb-2">
|
|
97
|
+
Run a snapshot immediately - the results can be checked by calling the methods above.
|
|
98
|
+
</div>
|
|
99
|
+
<div #runSnapshot class=" bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4">
|
|
100
|
+
<pre class="whitespace-normal">curl -H <span class="text-secondary">"API-KEY:<b>{{apiKeys ? apiKeys.apiKey : '[[apiKey]]'}}</b>"</span> -H <span class="text-secondary">"API-SECRET:<b>{{apiKeys ? apiKeys.apiSecret : '[[apiSecret]]'}}</b>"</span></pre><pre class="whitespace-normal"> -X <b>PATCH</b> <span class="text-secondary">"{{backendURL}}/api/snapshot/{{datasetInstance.managementKey}}/SNAPSHOT_KEY"</span></pre>
|
|
101
|
+
</div>
|
|
102
|
+
<button mat-icon-button [cdkCopyToClipboard]="runSnapshot.textContent" (cdkCopyToClipboardCopied)="copied()"
|
|
103
|
+
class="text-white absolute bottom-0 right-0">
|
|
104
|
+
<mat-icon>content_copy</mat-icon>
|
|
105
|
+
</button>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
<div class="relative w-full">
|
|
110
|
+
<div class="text-base font-semibold">Create New Snapshot</div>
|
|
111
|
+
<div class="text-sm mb-2">
|
|
112
|
+
Create a new snapshot for this query using the passed management key.
|
|
113
|
+
</div>
|
|
114
|
+
<div #createSnapshot class=" bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4">
|
|
115
|
+
<pre class="whitespace-normal">curl -H <span class="text-secondary">"API-KEY:<b>{{apiKeys ? apiKeys.apiKey : '[[apiKey]]'}}</b>"</span> -H <span class="text-secondary">"API-SECRET:<b>{{apiKeys ? apiKeys.apiSecret : '[[apiSecret]]'}}</b>"</span></pre><pre class="whitespace-normal"> -X <b>POST</b> <span class="text-secondary">{{backendURL}}/api/snapshot/{{datasetInstance.managementKey}}</span></pre>
|
|
116
|
+
</div>
|
|
117
|
+
<button mat-icon-button [cdkCopyToClipboard]="createSnapshot.textContent" (cdkCopyToClipboardCopied)="copied()"
|
|
118
|
+
class="text-white absolute bottom-0 right-0">
|
|
119
|
+
<mat-icon>content_copy</mat-icon>
|
|
120
|
+
</button>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
<div class="font-semibold text-sm my-1">Example Payload</div>
|
|
124
|
+
<div class="relative bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4">
|
|
125
|
+
<pre class="whitespace-normal">
|
|
126
|
+
{{examplePayload()}}
|
|
127
|
+
</pre>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="font-semibold text-sm my-1">Example Response</div>
|
|
130
|
+
<div class="relative bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4 mb-8">
|
|
131
|
+
<pre class="whitespace-normal">
|
|
132
|
+
{{'{"snapshotKey": "NEW_SNAPSHOT_KEY"}'}}
|
|
133
|
+
</pre>
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
<div class="relative w-full">
|
|
137
|
+
<div class="text-base font-semibold">Update Existing Snapshot</div>
|
|
138
|
+
<div class="text-sm mb-2">
|
|
139
|
+
Update an existing snapshot for this query using the passed management key and snapshot key.
|
|
140
|
+
</div>
|
|
141
|
+
<div #updateSnapshot class=" bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4">
|
|
142
|
+
<pre class="whitespace-normal">curl -H <span class="text-secondary">"API-KEY:<b>{{apiKeys ? apiKeys.apiKey : '[[apiKey]]'}}</b>"</span> -H <span class="text-secondary">"API-SECRET:<b>{{apiKeys ? apiKeys.apiSecret : '[[apiSecret]]'}}</b>"</span></pre><pre class="whitespace-normal"> -X <b>PUT</b> <span class="text-secondary">{{backendURL}}/api/snapshot/{{datasetInstance.managementKey}}/SNAPSHOT_KEY</span></pre>
|
|
143
|
+
</div>
|
|
144
|
+
<button mat-icon-button [cdkCopyToClipboard]="updateSnapshot.textContent" (cdkCopyToClipboardCopied)="copied()"
|
|
145
|
+
class="text-white absolute bottom-0 right-0">
|
|
146
|
+
<mat-icon>content_copy</mat-icon>
|
|
147
|
+
</button>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
<div class="font-semibold text-sm my-1">Example Payload</div>
|
|
151
|
+
<div class="relative bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4">
|
|
152
|
+
<pre class="whitespace-normal">
|
|
153
|
+
{{examplePayload()}}
|
|
154
|
+
</pre>
|
|
155
|
+
</div>
|
|
156
|
+
<div class="font-semibold text-sm my-1">Example Response</div>
|
|
157
|
+
<div class="relative bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4 mb-8">
|
|
158
|
+
<pre class="whitespace-normal">
|
|
159
|
+
{{'{"snapshotKey": "NEW_SNAPSHOT_KEY"}'}}
|
|
160
|
+
</pre>
|
|
161
|
+
</div>
|
|
162
|
+
|
|
163
|
+
<div class="relative w-full mb-8">
|
|
164
|
+
<div class="text-base font-semibold">Remove snapshot</div>
|
|
165
|
+
<div class="text-sm mb-2">
|
|
166
|
+
Delete a snapshot for a management key and snapshot key.
|
|
167
|
+
</div>
|
|
168
|
+
<div #removeSnapshot class=" bg-gray-800 border-2 border-gray-900 text-white rounded-md p-4">
|
|
169
|
+
<pre class="whitespace-normal">curl -H <span class="text-secondary">"API-KEY:<b>{{apiKeys ? apiKeys.apiKey : '[[apiKey]]'}}</b>"</span> -H <span class="text-secondary">"API-SECRET:<b>{{apiKeys ? apiKeys.apiSecret : '[[apiSecret]]'}}</b>"</span></pre><pre class="whitespace-normal"> -X <b>DELETE</b> <span class="text-secondary">"{{backendURL}}/api/snapshot/{{datasetInstance.managementKey}}/SNAPSHOT_KEY"</span></pre>
|
|
170
|
+
</div>
|
|
171
|
+
<button mat-icon-button [cdkCopyToClipboard]="removeSnapshot.textContent" (cdkCopyToClipboardCopied)="copied()"
|
|
172
|
+
class="text-white absolute bottom-0 right-0">
|
|
173
|
+
<mat-icon>content_copy</mat-icon>
|
|
174
|
+
</button>
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
</ng-template>
|
|
183
|
+
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
<div class="dialog-footer">
|
|
187
|
+
<button mat-button mat-dialog-close mat-stroked-button type="button">Close</button>
|
|
188
|
+
<button mat-flat-button color="primary" (click)="saveDataset()">
|
|
189
|
+
Save
|
|
190
|
+
</button>
|
|
191
|
+
</div>
|
|
192
|
+
|
|
193
|
+
</div>
|
|
194
|
+
|
|
195
|
+
|
package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.sass
ADDED
|
File without changes
|
package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.spec.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { SnapshotApiAccessComponent } from './snapshot-api-access.component';
|
|
4
|
+
|
|
5
|
+
describe('SnapshotApiAccessComponent', () => {
|
|
6
|
+
let component: SnapshotApiAccessComponent;
|
|
7
|
+
let fixture: ComponentFixture<SnapshotApiAccessComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
declarations: [ SnapshotApiAccessComponent ]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
|
|
15
|
+
fixture = TestBed.createComponent(SnapshotApiAccessComponent);
|
|
16
|
+
component = fixture.componentInstance;
|
|
17
|
+
fixture.detectChanges();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should create', () => {
|
|
21
|
+
expect(component).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
});
|