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.
Files changed (315) hide show
  1. package/README.md +24 -0
  2. package/karma.conf.js +44 -0
  3. package/ng-package.json +7 -0
  4. package/package.json +11 -0
  5. package/src/lib/components/alert-groups/alert-groups.component.html +140 -0
  6. package/src/lib/components/alert-groups/alert-groups.component.sass +4 -0
  7. package/src/lib/components/alert-groups/alert-groups.component.spec.ts +25 -0
  8. package/src/lib/components/alert-groups/alert-groups.component.ts +86 -0
  9. package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.html +91 -0
  10. package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.sass +2 -0
  11. package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.spec.ts +25 -0
  12. package/src/lib/components/alert-groups/edit-alert-group/edit-alert-group.component.ts +78 -0
  13. package/src/lib/components/dashboard-editor/configure-item/configure-item.component.html +2006 -0
  14. package/src/lib/components/dashboard-editor/configure-item/configure-item.component.sass +106 -0
  15. package/src/lib/components/dashboard-editor/configure-item/configure-item.component.spec.ts +25 -0
  16. package/src/lib/components/dashboard-editor/configure-item/configure-item.component.ts +967 -0
  17. package/src/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.html +81 -0
  18. package/src/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.sass +0 -0
  19. package/src/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.spec.ts +25 -0
  20. package/src/lib/components/dashboard-editor/configure-item/edit-dashboard-alert/edit-dashboard-alert.component.ts +48 -0
  21. package/src/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.html +142 -0
  22. package/src/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.sass +0 -0
  23. package/src/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.spec.ts +25 -0
  24. package/src/lib/components/dashboard-editor/configure-item/html-documentation/html-documentation.component.ts +117 -0
  25. package/src/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.html +224 -0
  26. package/src/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.sass +0 -0
  27. package/src/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.spec.ts +25 -0
  28. package/src/lib/components/dashboard-editor/configure-item/table-cell-formatter/table-cell-formatter.component.ts +149 -0
  29. package/src/lib/components/dashboard-editor/configure-item/vis-network-options.json +135 -0
  30. package/src/lib/components/dashboard-editor/dashboard-editor.component.html +205 -0
  31. package/src/lib/components/dashboard-editor/dashboard-editor.component.sass +247 -0
  32. package/src/lib/components/dashboard-editor/dashboard-editor.component.spec.ts +25 -0
  33. package/src/lib/components/dashboard-editor/dashboard-editor.component.ts +645 -0
  34. package/src/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.html +1 -0
  35. package/src/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.sass +0 -0
  36. package/src/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.spec.ts +25 -0
  37. package/src/lib/components/dashboard-editor/dashboard-parameter/dashboard-parameter.component.ts +16 -0
  38. package/src/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.html +167 -0
  39. package/src/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.sass +0 -0
  40. package/src/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.spec.ts +23 -0
  41. package/src/lib/components/dashboard-editor/dashboard-settings/dashboard-settings.component.ts +47 -0
  42. package/src/lib/components/dashboard-editor/item-component/item-component.component.html +486 -0
  43. package/src/lib/components/dashboard-editor/item-component/item-component.component.sass +137 -0
  44. package/src/lib/components/dashboard-editor/item-component/item-component.component.spec.ts +25 -0
  45. package/src/lib/components/dashboard-editor/item-component/item-component.component.ts +1381 -0
  46. package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.html +48 -0
  47. package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.sass +3 -0
  48. package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.spec.ts +25 -0
  49. package/src/lib/components/dashboard-editor/source-selector-dialog/source-selector-dialog.component.ts +111 -0
  50. package/src/lib/components/dashboards/dashboards.component.html +175 -0
  51. package/src/lib/components/dashboards/dashboards.component.sass +64 -0
  52. package/src/lib/components/dashboards/dashboards.component.spec.ts +25 -0
  53. package/src/lib/components/dashboards/dashboards.component.ts +176 -0
  54. package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.html +138 -0
  55. package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.sass +284 -0
  56. package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.spec.ts +25 -0
  57. package/src/lib/components/dashboards/view-dashboard/view-dashboard.component.ts +462 -0
  58. package/src/lib/components/data-explorer/change-source-warning/change-source-warning.component.html +35 -0
  59. package/src/lib/components/data-explorer/change-source-warning/change-source-warning.component.sass +0 -0
  60. package/src/lib/components/data-explorer/change-source-warning/change-source-warning.component.spec.ts +23 -0
  61. package/src/lib/components/data-explorer/change-source-warning/change-source-warning.component.ts +21 -0
  62. package/src/lib/components/data-explorer/data-explorer.component.html +326 -0
  63. package/src/lib/components/data-explorer/data-explorer.component.sass +96 -0
  64. package/src/lib/components/data-explorer/data-explorer.component.spec.ts +25 -0
  65. package/src/lib/components/data-explorer/data-explorer.component.ts +267 -0
  66. package/src/lib/components/data-explorer/export-data/export-data.component.html +69 -0
  67. package/src/lib/components/data-explorer/export-data/export-data.component.sass +0 -0
  68. package/src/lib/components/data-explorer/export-data/export-data.component.spec.ts +25 -0
  69. package/src/lib/components/data-explorer/export-data/export-data.component.ts +56 -0
  70. package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.html +195 -0
  71. package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.sass +0 -0
  72. package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.spec.ts +23 -0
  73. package/src/lib/components/data-explorer/snapshot-api-access/snapshot-api-access.component.ts +79 -0
  74. package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.html +375 -0
  75. package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.sass +21 -0
  76. package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.spec.ts +25 -0
  77. package/src/lib/components/data-explorer/snapshot-profile-dialog/snapshot-profile-dialog.component.ts +197 -0
  78. package/src/lib/components/data-picker/data-picker.component.html +127 -0
  79. package/src/lib/components/data-picker/data-picker.component.sass +0 -0
  80. package/src/lib/components/data-picker/data-picker.component.spec.ts +25 -0
  81. package/src/lib/components/data-picker/data-picker.component.ts +90 -0
  82. package/src/lib/components/data-search/data-search.component.html +1 -0
  83. package/src/lib/components/data-search/data-search.component.sass +0 -0
  84. package/src/lib/components/data-search/data-search.component.spec.ts +23 -0
  85. package/src/lib/components/data-search/data-search.component.ts +10 -0
  86. package/src/lib/components/data-sharing-invite/data-sharing-invite.component.html +53 -0
  87. package/src/lib/components/data-sharing-invite/data-sharing-invite.component.sass +0 -0
  88. package/src/lib/components/data-sharing-invite/data-sharing-invite.component.spec.ts +23 -0
  89. package/src/lib/components/data-sharing-invite/data-sharing-invite.component.ts +56 -0
  90. package/src/lib/components/dataset/create-dataset/create-dataset.component.html +25 -0
  91. package/src/lib/components/dataset/create-dataset/create-dataset.component.sass +0 -0
  92. package/src/lib/components/dataset/create-dataset/create-dataset.component.spec.ts +25 -0
  93. package/src/lib/components/dataset/create-dataset/create-dataset.component.ts +44 -0
  94. package/src/lib/components/dataset/dataset-editor/available-columns/available-columns.component.html +28 -0
  95. package/src/lib/components/dataset/dataset-editor/available-columns/available-columns.component.sass +0 -0
  96. package/src/lib/components/dataset/dataset-editor/available-columns/available-columns.component.spec.ts +25 -0
  97. package/src/lib/components/dataset/dataset-editor/available-columns/available-columns.component.ts +22 -0
  98. package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.html +196 -0
  99. package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.sass +17 -0
  100. package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.spec.ts +25 -0
  101. package/src/lib/components/dataset/dataset-editor/dataset-add-join/dataset-add-join.component.ts +422 -0
  102. package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.html +30 -0
  103. package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.sass +47 -0
  104. package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.spec.ts +25 -0
  105. package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-editor/dataset-column-editor.component.ts +78 -0
  106. package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.html +86 -0
  107. package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.sass +0 -0
  108. package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.spec.ts +25 -0
  109. package/src/lib/components/dataset/dataset-editor/dataset-column-settings/dataset-column-settings.component.ts +49 -0
  110. package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.html +68 -0
  111. package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.sass +15 -0
  112. package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.spec.ts +25 -0
  113. package/src/lib/components/dataset/dataset-editor/dataset-create-formula/dataset-create-formula.component.ts +65 -0
  114. package/src/lib/components/dataset/dataset-editor/dataset-editor-popup.html +19 -0
  115. package/src/lib/components/dataset/dataset-editor/dataset-editor.component.html +609 -0
  116. package/src/lib/components/dataset/dataset-editor/dataset-editor.component.sass +267 -0
  117. package/src/lib/components/dataset/dataset-editor/dataset-editor.component.spec.ts +25 -0
  118. package/src/lib/components/dataset/dataset-editor/dataset-editor.component.ts +1228 -0
  119. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.html +309 -0
  120. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.sass +41 -0
  121. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.spec.ts +25 -0
  122. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter/dataset-filter.component.ts +215 -0
  123. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.html +33 -0
  124. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.sass +3 -0
  125. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.spec.ts +23 -0
  126. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-inclusion/dataset-filter-inclusion.component.ts +20 -0
  127. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.html +52 -0
  128. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.sass +14 -0
  129. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.spec.ts +25 -0
  130. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filter-junction/dataset-filter-junction.component.ts +58 -0
  131. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.html +47 -0
  132. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.sass +25 -0
  133. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.spec.ts +25 -0
  134. package/src/lib/components/dataset/dataset-editor/dataset-filters/dataset-filters.component.ts +49 -0
  135. package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.html +49 -0
  136. package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.sass +2 -0
  137. package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.spec.ts +25 -0
  138. package/src/lib/components/dataset/dataset-editor/dataset-name-dialog/dataset-name-dialog.component.ts +39 -0
  139. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.html +195 -0
  140. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.sass +14 -0
  141. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.spec.ts +25 -0
  142. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-add-parameter/dataset-add-parameter.component.ts +82 -0
  143. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.html +78 -0
  144. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.sass +16 -0
  145. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.spec.ts +25 -0
  146. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-type/dataset-parameter-type.component.ts +32 -0
  147. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.html +24 -0
  148. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.sass +22 -0
  149. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.spec.ts +25 -0
  150. package/src/lib/components/dataset/dataset-editor/dataset-parameter-values/dataset-parameter-values.component.ts +64 -0
  151. package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.html +177 -0
  152. package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.sass +80 -0
  153. package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.spec.ts +25 -0
  154. package/src/lib/components/dataset/dataset-editor/dataset-summarise/dataset-summarise.component.ts +113 -0
  155. package/src/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.html +32 -0
  156. package/src/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.sass +0 -0
  157. package/src/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.spec.ts +23 -0
  158. package/src/lib/components/dataset/dataset-editor/move-transformation-confirmation/move-transformation-confirmation.component.ts +20 -0
  159. package/src/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.html +37 -0
  160. package/src/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.sass +0 -0
  161. package/src/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.spec.ts +23 -0
  162. package/src/lib/components/dataset/dataset-editor/remove-transformation-warning/remove-transformation-warning.component.ts +19 -0
  163. package/src/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.html +69 -0
  164. package/src/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.sass +0 -0
  165. package/src/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.spec.ts +23 -0
  166. package/src/lib/components/dataset/dataset-editor/save-as-query/save-as-query.component.ts +58 -0
  167. package/src/lib/components/dataset/dataset-editor/share-query/share-query.component.html +195 -0
  168. package/src/lib/components/dataset/dataset-editor/share-query/share-query.component.sass +0 -0
  169. package/src/lib/components/dataset/dataset-editor/share-query/share-query.component.spec.ts +23 -0
  170. package/src/lib/components/dataset/dataset-editor/share-query/share-query.component.ts +128 -0
  171. package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.html +34 -0
  172. package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.sass +3 -0
  173. package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.spec.ts +23 -0
  174. package/src/lib/components/dataset/dataset-editor/upstream-changes-confirmation/upstream-changes-confirmation.component.ts +21 -0
  175. package/src/lib/components/dataset/dataset.component.html +317 -0
  176. package/src/lib/components/dataset/dataset.component.sass +73 -0
  177. package/src/lib/components/dataset/dataset.component.spec.ts +25 -0
  178. package/src/lib/components/dataset/dataset.component.ts +320 -0
  179. package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.html +133 -0
  180. package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.sass +51 -0
  181. package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.spec.ts +23 -0
  182. package/src/lib/components/datasource/create-datasource/advanced-settings/advanced-settings.component.ts +140 -0
  183. package/src/lib/components/datasource/create-datasource/api-access/api-access.component.html +257 -0
  184. package/src/lib/components/datasource/create-datasource/api-access/api-access.component.sass +0 -0
  185. package/src/lib/components/datasource/create-datasource/api-access/api-access.component.spec.ts +23 -0
  186. package/src/lib/components/datasource/create-datasource/api-access/api-access.component.ts +148 -0
  187. package/src/lib/components/datasource/create-datasource/create-datasource.component.html +430 -0
  188. package/src/lib/components/datasource/create-datasource/create-datasource.component.sass +162 -0
  189. package/src/lib/components/datasource/create-datasource/create-datasource.component.spec.ts +25 -0
  190. package/src/lib/components/datasource/create-datasource/create-datasource.component.ts +789 -0
  191. package/src/lib/components/datasource/create-datasource/import-data/import-data.component.html +119 -0
  192. package/src/lib/components/datasource/create-datasource/import-data/import-data.component.sass +8 -0
  193. package/src/lib/components/datasource/create-datasource/import-data/import-data.component.spec.ts +25 -0
  194. package/src/lib/components/datasource/create-datasource/import-data/import-data.component.ts +163 -0
  195. package/src/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.html +239 -0
  196. package/src/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.sass +0 -0
  197. package/src/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.spec.ts +23 -0
  198. package/src/lib/components/datasource/create-datasource/import-data/import-wizard/import-wizard.component.ts +182 -0
  199. package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.html +167 -0
  200. package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.sass +87 -0
  201. package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.spec.ts +23 -0
  202. package/src/lib/components/datasource/create-datasource/tabular-datasource/tabular-datasource.component.ts +164 -0
  203. package/src/lib/components/datasource/datasource.component.html +165 -0
  204. package/src/lib/components/datasource/datasource.component.sass +4 -0
  205. package/src/lib/components/datasource/datasource.component.spec.ts +25 -0
  206. package/src/lib/components/datasource/datasource.component.ts +174 -0
  207. package/src/lib/components/datasource/document-datasource/document-datasource.component.html +558 -0
  208. package/src/lib/components/datasource/document-datasource/document-datasource.component.sass +84 -0
  209. package/src/lib/components/datasource/document-datasource/document-datasource.component.spec.ts +25 -0
  210. package/src/lib/components/datasource/document-datasource/document-datasource.component.ts +351 -0
  211. package/src/lib/components/export-project/export-project.component.html +280 -0
  212. package/src/lib/components/export-project/export-project.component.sass +0 -0
  213. package/src/lib/components/export-project/export-project.component.spec.ts +23 -0
  214. package/src/lib/components/export-project/export-project.component.ts +29 -0
  215. package/src/lib/components/feeds/feed/feed.component.html +144 -0
  216. package/src/lib/components/feeds/feed/feed.component.sass +0 -0
  217. package/src/lib/components/feeds/feed/feed.component.spec.ts +25 -0
  218. package/src/lib/components/feeds/feed/feed.component.ts +102 -0
  219. package/src/lib/components/feeds/feeds.component.html +210 -0
  220. package/src/lib/components/feeds/feeds.component.sass +4 -0
  221. package/src/lib/components/feeds/feeds.component.spec.ts +25 -0
  222. package/src/lib/components/feeds/feeds.component.ts +163 -0
  223. package/src/lib/components/job-tasks/job-tasks.component.html +22 -0
  224. package/src/lib/components/job-tasks/job-tasks.component.sass +0 -0
  225. package/src/lib/components/job-tasks/job-tasks.component.spec.ts +25 -0
  226. package/src/lib/components/job-tasks/job-tasks.component.ts +19 -0
  227. package/src/lib/components/marketplace/marketplace.component.html +143 -0
  228. package/src/lib/components/marketplace/marketplace.component.sass +0 -0
  229. package/src/lib/components/marketplace/marketplace.component.spec.ts +23 -0
  230. package/src/lib/components/marketplace/marketplace.component.ts +73 -0
  231. package/src/lib/components/metadata/metadata.component.html +62 -0
  232. package/src/lib/components/metadata/metadata.component.sass +0 -0
  233. package/src/lib/components/metadata/metadata.component.spec.ts +25 -0
  234. package/src/lib/components/metadata/metadata.component.ts +67 -0
  235. package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.html +82 -0
  236. package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.sass +21 -0
  237. package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.spec.ts +25 -0
  238. package/src/lib/components/notification-groups/edit-notification-group/edit-notification-group.component.ts +123 -0
  239. package/src/lib/components/notification-groups/notification-groups.component.html +125 -0
  240. package/src/lib/components/notification-groups/notification-groups.component.sass +4 -0
  241. package/src/lib/components/notification-groups/notification-groups.component.spec.ts +25 -0
  242. package/src/lib/components/notification-groups/notification-groups.component.ts +98 -0
  243. package/src/lib/components/project-picker/project-picker.component.html +167 -0
  244. package/src/lib/components/project-picker/project-picker.component.sass +1 -0
  245. package/src/lib/components/project-picker/project-picker.component.spec.ts +25 -0
  246. package/src/lib/components/project-picker/project-picker.component.ts +138 -0
  247. package/src/lib/components/project-settings/project-link-selection/project-link-selection.component.html +120 -0
  248. package/src/lib/components/project-settings/project-link-selection/project-link-selection.component.sass +0 -0
  249. package/src/lib/components/project-settings/project-link-selection/project-link-selection.component.spec.ts +23 -0
  250. package/src/lib/components/project-settings/project-link-selection/project-link-selection.component.ts +161 -0
  251. package/src/lib/components/project-settings/project-settings.component.html +353 -0
  252. package/src/lib/components/project-settings/project-settings.component.sass +0 -0
  253. package/src/lib/components/project-settings/project-settings.component.spec.ts +23 -0
  254. package/src/lib/components/project-settings/project-settings.component.ts +178 -0
  255. package/src/lib/components/query-caching/edit-query-cache/edit-query-cache.component.html +96 -0
  256. package/src/lib/components/query-caching/edit-query-cache/edit-query-cache.component.sass +0 -0
  257. package/src/lib/components/query-caching/edit-query-cache/edit-query-cache.component.spec.ts +23 -0
  258. package/src/lib/components/query-caching/edit-query-cache/edit-query-cache.component.ts +48 -0
  259. package/src/lib/components/query-caching/query-caching.component.html +122 -0
  260. package/src/lib/components/query-caching/query-caching.component.sass +0 -0
  261. package/src/lib/components/query-caching/query-caching.component.spec.ts +23 -0
  262. package/src/lib/components/query-caching/query-caching.component.ts +184 -0
  263. package/src/lib/components/shared-with-me/shared-with-me.component.html +115 -0
  264. package/src/lib/components/shared-with-me/shared-with-me.component.sass +0 -0
  265. package/src/lib/components/shared-with-me/shared-with-me.component.spec.ts +23 -0
  266. package/src/lib/components/shared-with-me/shared-with-me.component.ts +123 -0
  267. package/src/lib/components/snapshots/snapshots.component.html +408 -0
  268. package/src/lib/components/snapshots/snapshots.component.sass +4 -0
  269. package/src/lib/components/snapshots/snapshots.component.spec.ts +25 -0
  270. package/src/lib/components/snapshots/snapshots.component.ts +286 -0
  271. package/src/lib/components/tag-picker/tag-picker.component.html +155 -0
  272. package/src/lib/components/tag-picker/tag-picker.component.sass +2 -0
  273. package/src/lib/components/tag-picker/tag-picker.component.spec.ts +25 -0
  274. package/src/lib/components/tag-picker/tag-picker.component.ts +82 -0
  275. package/src/lib/components/task-time-periods/task-time-periods.component.html +93 -0
  276. package/src/lib/components/task-time-periods/task-time-periods.component.sass +7 -0
  277. package/src/lib/components/task-time-periods/task-time-periods.component.spec.ts +25 -0
  278. package/src/lib/components/task-time-periods/task-time-periods.component.ts +50 -0
  279. package/src/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.html +111 -0
  280. package/src/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.sass +0 -0
  281. package/src/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.spec.ts +25 -0
  282. package/src/lib/components/whitelisted-sql-functions/whitelisted-sql-functions.component.ts +38 -0
  283. package/src/lib/guards/dashboard-changes.guard.spec.ts +16 -0
  284. package/src/lib/guards/dashboard-changes.guard.ts +27 -0
  285. package/src/lib/ng-kinintel.module.ts +272 -0
  286. package/src/lib/objects/action-event.spec.ts +7 -0
  287. package/src/lib/objects/action-event.ts +27 -0
  288. package/src/lib/services/alert.service.spec.ts +16 -0
  289. package/src/lib/services/alert.service.ts +49 -0
  290. package/src/lib/services/dashboard.service.spec.ts +16 -0
  291. package/src/lib/services/dashboard.service.ts +79 -0
  292. package/src/lib/services/data-processor.service.spec.ts +16 -0
  293. package/src/lib/services/data-processor.service.ts +61 -0
  294. package/src/lib/services/data-search.service.spec.ts +16 -0
  295. package/src/lib/services/data-search.service.ts +31 -0
  296. package/src/lib/services/dataset.service.spec.ts +16 -0
  297. package/src/lib/services/dataset.service.ts +234 -0
  298. package/src/lib/services/datasource.service.spec.ts +16 -0
  299. package/src/lib/services/datasource.service.ts +116 -0
  300. package/src/lib/services/external.service.spec.ts +16 -0
  301. package/src/lib/services/external.service.ts +29 -0
  302. package/src/lib/services/feed.service.spec.ts +16 -0
  303. package/src/lib/services/feed.service.ts +48 -0
  304. package/src/lib/services/notification.service.spec.ts +16 -0
  305. package/src/lib/services/notification.service.ts +38 -0
  306. package/src/lib/services/project.service.spec.ts +16 -0
  307. package/src/lib/services/project.service.ts +146 -0
  308. package/src/lib/services/tag.service.spec.ts +16 -0
  309. package/src/lib/services/tag.service.ts +61 -0
  310. package/src/public-api.ts +46 -0
  311. package/src/test.ts +17 -0
  312. package/tsconfig.lib.json +24 -0
  313. package/tsconfig.lib.prod.json +10 -0
  314. package/tsconfig.spec.json +17 -0
  315. package/tslint.json +17 -0
@@ -0,0 +1,609 @@
1
+ <div *ngIf="longRunning" class="long-running flex-col">
2
+
3
+ <div class="loading-box">
4
+ <mat-spinner [diameter]="150"></mat-spinner>
5
+ <div>Loading</div>
6
+ </div>
7
+
8
+ <p class="text-center">Please wait while we process this query.</p>
9
+ <p class="text-center">The results will be shown here once it has finished running.</p>
10
+ <div>
11
+ <a class="text-primary hover:underline" (click)="cancelEvaluate()">Cancel query and return to editor.</a>
12
+ </div>
13
+ </div>
14
+ <div class="pointer-events-none fixed inset-y-0 right-0 flex max-w-full pl-10 -z-10" id="sidebarWrapper">
15
+ <div [ngClass]="{'translate-x-0': sideOpen, 'translate-x-full': !sideOpen}"
16
+ (click)="$event.stopPropagation()"
17
+ class="pointer-events-auto w-screen max-w-md transform transition ease-in-out duration-500 sm:duration-700"
18
+ id="docSidebar">
19
+ <div class="flex h-full flex-col overflow-y-scroll bg-white py-6 shadow-xl">
20
+ <div class="px-4 sm:px-6">
21
+ <div class="flex items-start justify-between">
22
+ <div></div>
23
+
24
+ <div class="ml-3 flex h-7 items-center">
25
+ <button type="button" (click)="openSide.next(false)"
26
+ class="rounded-md bg-white text-gray-400 hover:text-gray-500 focus:outline-none">
27
+ <span class="sr-only">Close panel</span>
28
+ <!-- Heroicon name: outline/x -->
29
+ <svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
30
+ stroke="currentColor" aria-hidden="true">
31
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
32
+ d="M6 18L18 6M6 6l12 12"/>
33
+ </svg>
34
+ </button>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ <div class="relative flex-1 px-4 sm:px-6">
39
+ <ki-whitelisted-sql-functions [fields]="filterFields"></ki-whitelisted-sql-functions>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+
45
+ <div class="border-b cell-header end">
46
+ <div class="leading-5 px-4 text-xs uppercase tracking-wider font-medium border-r-2 text-gray-600">
47
+ Operations
48
+ </div>
49
+ <div class="dataset-data-actions">
50
+ <button (click)="addParameter()"
51
+ title="Add a parameter to use in filters, expressions etc."
52
+ class="w-20 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
53
+ <span class="material-symbols-outlined text-xl">text_fields</span>
54
+ parameters
55
+ </button>
56
+ <div class="divider"></div>
57
+ <button (click)="editColumnSettings()"
58
+ title="Switch on and off columns for display"
59
+ class="w-20 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
60
+ <span class="material-symbols-outlined text-xl">table_chart</span>
61
+ columns
62
+ </button>
63
+ <button (click)="createFormula()"
64
+ title="Create a formula column using an expression based on other columns"
65
+ class="w-20 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
66
+ <span class="material-symbols-outlined text-xl">functions</span>
67
+ formula
68
+ </button>
69
+ <div class="divider"></div>
70
+ <button (click)="addFilter()"
71
+ title="Filter the set using column based restrictions"
72
+ class="w-20 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
73
+ <span class="material-symbols-outlined text-xl">filter_alt</span>
74
+ filter
75
+ </button>
76
+ <button *ngIf="!datasetEditorReadonly" (click)="joinData()"
77
+ title="Join another data set to the current dataset"
78
+ class="w-20 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
79
+ <span class="material-symbols-outlined text-xl">merge_type</span>
80
+ join
81
+ </button>
82
+ <button (click)="summariseData()"
83
+ title="Summarise this data to produce aggregated totals, sums and other derivations"
84
+ class="w-20 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
85
+ <span class="material-symbols-outlined text-xl">pivot_table_chart</span>
86
+ summarise
87
+ </button>
88
+
89
+ <div *ngIf="!datasetEditorReadonly" class="divider"></div>
90
+ <button *ngIf="!datasetEditorReadonly" (click)="addPagingMarker()"
91
+ title="Insert paging marker to limit results at this stage in the query flow"
92
+ class="w-24 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
93
+ <span class="material-symbols-outlined text-xl">skip_next</span>
94
+ paging marker
95
+ </button>
96
+
97
+
98
+ <div class="divider"></div>
99
+ <button (click)="evaluateDataset()"
100
+ title="Reload this query based upon changes you may have made"
101
+ class="w-20 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
102
+ <span class="material-symbols-outlined text-xl">sync</span>
103
+ reload
104
+ </button>
105
+ <ng-template [ngIf]="!datasetEditorReadonly">
106
+ <button [disabled]="!datasetInstanceSummary || !datasetInstanceSummary.id" (click)="shareQuery()"
107
+ title="Share this query with other account holders"
108
+ class="disabled:opacity-50 w-20 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
109
+ <span class="material-symbols-outlined text-xl">share</span>
110
+ share
111
+ </button>
112
+ <button (click)="saveAsQuery()"
113
+ title="Make a copy of this query"
114
+ class="w-20 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
115
+ <span class="material-symbols-outlined text-xl">file_copy</span>
116
+ copy query
117
+ </button>
118
+ <button *ngIf="!dashboardLayoutSettings && datasetInstanceSummary.id" (click)="save()"
119
+ class="w-20 flex flex-col items-center justify-center py-1 px-2 text-xs text-gray-600 cursor-pointer hover:bg-gray-100">
120
+ <span class="material-symbols-outlined text-xl">save</span>
121
+ save
122
+ </button>
123
+ </ng-template>
124
+ </div>
125
+ </div>
126
+
127
+ <div class="cell-header">
128
+ <div class="transformation-listing parameter-listing" *ngIf="showParameters || parameterValues.length">
129
+ <div class="list-title">
130
+ Parameters
131
+ </div>
132
+ <div class="flex items-center flex-wrap">
133
+ <ng-template ngFor let-parameter [ngForOf]="parameterValues" let-i=index>
134
+
135
+ <label class="pl-4">
136
+ {{ parameter.title }}
137
+
138
+ <div *ngIf="(parameter.value || '').toString().includes('}}')">
139
+ <mat-chip class="bg-gray-50 ml-2" title="Using parameter value from {{parameter.value}}">
140
+ <div class="flex items-center">
141
+ <span class="material-symbols-outlined text-xl mr-1 text-gray-500">layers</span>
142
+ <span *ngIf="dashboardParameters[parameter.value.replace('{{', '').replace('}}', '')]"
143
+ [innerHTML]="dashboardParameters[parameter.value.replace('{{', '').replace('}}', '')].value"></span>
144
+ <span *ngIf="!dashboardParameters[parameter.value.replace('{{', '').replace('}}', '')]"
145
+ class="font-medium text-orange-600">
146
+ Parameter Not Found !
147
+ </span>
148
+ </div>
149
+
150
+ <button matChipRemove (click)="parameter.value = ''" title="">
151
+ <mat-icon>cancel</mat-icon>
152
+ </button>
153
+ </mat-chip>
154
+ </div>
155
+
156
+
157
+ <div *ngIf="!(parameter.value || '').toString().includes('}}')" class="parameter-input">
158
+
159
+ <ng-template [ngIf]="!parameter.multiple">
160
+
161
+ <ng-template [ngIf]="parameter.type === 'text'">
162
+ <input class="pr-8" type="text" placeholder="Enter {{parameter.title}}"
163
+ [(ngModel)]="parameter.value"
164
+ (keyup.enter)="evaluateDataset(true)" required autofocus>
165
+ </ng-template>
166
+ <ng-template [ngIf]="parameter.type === 'numeric'">
167
+ <input class="pr-8" type="number" placeholder="Enter {{parameter.title}}"
168
+ [(ngModel)]="parameter.value"
169
+ (keyup.enter)="evaluateDataset(true)" required autofocus>
170
+ </ng-template>
171
+ <ng-template [ngIf]="parameter.type === 'list'">
172
+ <select class="pr-8 py-1.5 pl-1 self-center" [(ngModel)]="parameter.value"
173
+ (change)="evaluateDataset(true)" required autofocus>
174
+ <option [value]="null">-- Select Value --</option>
175
+ <option *ngFor="let item of parameter.list" [value]="item.value">{{ item.label }}
176
+ </option>
177
+ </select>
178
+ </ng-template>
179
+ <ng-template [ngIf]="parameter.type === 'date' || parameter.type === 'datetime'">
180
+ <ng-template [ngIf]="!parameter._dateType">
181
+ <div class="flex items-center mr-8">
182
+ <button (click)="changeDateType($event, parameter, 'picker')"
183
+ class="hover:bg-gray-50 text-gray-800 border border-gray-300 py-0.5 pr-2 rounded mr-2 bg-white flex items-center">
184
+ <mat-icon class="text-base">calendar_month</mat-icon>
185
+ Date Picker
186
+ </button>
187
+ <button (click)="changeDateType($event, parameter, 'period')"
188
+ class="hover:bg-gray-50 text-gray-800 border border-gray-300 py-0.5 pr-2 rounded mr-2 bg-white flex items-center">
189
+ <mat-icon class="text-base">restore</mat-icon>
190
+ Time Period
191
+ </button>
192
+ </div>
193
+ </ng-template>
194
+ <ng-template [ngIf]="parameter._dateType === 'picker'">
195
+ <input [type]="parameter.type === 'date' ? 'date' : 'datetime-local'"
196
+ placeholder="Enter {{parameter.title}}" [(ngModel)]="parameter.value"
197
+ (keyup.enter)="evaluateDataset(true)" required autofocus>
198
+
199
+ <a (click)="changeDateType($event, parameter, 'period')"
200
+ matTooltip="Time Period"
201
+ class="mr-10 text-center ml-2 hover:bg-gray-50 text-gray-800 border border-gray-300 py-0.5 pr-0.5 rounded mr-2 bg-white flex items-center">
202
+ <mat-icon class="text-base">restore</mat-icon>
203
+ </a>
204
+ </ng-template>
205
+ <ng-template [ngIf]="parameter._dateType === 'period'">
206
+ <div class="flex items-center">
207
+ <input #periodValue type="number" placeholder="No." required autofocus
208
+ class="w-16 mr-2" min="0" [value]="parameter._periodValue || 1"
209
+ (change)="updatePeriodValue(periodValue.value, period.value, parameter)">
210
+
211
+ <select class="param-period-picker mr-2" [value]="parameter._period || 'DAYS'"
212
+ #period
213
+ (change)="updatePeriodValue(periodValue.value, period.value, parameter)">
214
+ <option value="DAYS">Days</option>
215
+ <option value="HOURS">Hours</option>
216
+ </select>
217
+
218
+ <div>Ago</div>
219
+ </div>
220
+
221
+ <a (click)="changeDateType($event, parameter, 'picker')"
222
+ matTooltip="Date Picker"
223
+ class="mr-10 text-center ml-2 hover:bg-gray-50 text-gray-800 border border-gray-300 py-0.5 pr-0.5 rounded mr-2 bg-white flex items-center">
224
+ <mat-icon class="text-base">calendar_month</mat-icon>
225
+ </a>
226
+ </ng-template>
227
+
228
+ </ng-template>
229
+ <ng-template [ngIf]="parameter.type === 'boolean'">
230
+ <mat-slide-toggle class="pr-8" color="primary"
231
+ [checked]="parameter.value" (change)="booleanUpdate($event, parameter)"
232
+ required></mat-slide-toggle>
233
+ </ng-template>
234
+ </ng-template>
235
+
236
+ <ng-template [ngIf]="parameter.multiple">
237
+
238
+
239
+ <mat-chip-grid class="pl-2" #chipGrid aria-label="Enter values">
240
+ <mat-chip-row *ngFor="let paramValue of parameter.value"
241
+ class="bg-white mr-2"
242
+ (removed)="removeParameterValue(parameter, paramValue)">
243
+ {{paramValue}}
244
+ <button matChipRemove [attr.aria-label]="'remove ' + paramValue">
245
+ <mat-icon>cancel</mat-icon>
246
+ </button>
247
+ </mat-chip-row>
248
+
249
+ <ng-template [ngIf]="parameter.type === 'text'">
250
+ <input class="pr-8 py-1 self-center" type="text" placeholder="Enter {{parameter.title}}"
251
+ required autofocus
252
+ [matChipInputFor]="chipGrid"
253
+ [matChipInputSeparatorKeyCodes]="[ENTER, COMMA]"
254
+ [matChipInputAddOnBlur]="true"
255
+ (matChipInputTokenEnd)="addParameterValue(parameter, $event)">
256
+ </ng-template>
257
+ <ng-template [ngIf]="parameter.type === 'numeric'">
258
+ <input class="pr-8" type="number" placeholder="Enter {{parameter.title}}"
259
+ required autofocus
260
+ [matChipInputFor]="chipGrid"
261
+ [matChipInputSeparatorKeyCodes]="[ENTER, COMMA]"
262
+ [matChipInputAddOnBlur]="true"
263
+ (matChipInputTokenEnd)="addParameterValue(parameter, $event)">
264
+ </ng-template>
265
+ <ng-template [ngIf]="parameter.type === 'list'">
266
+ <select class="pr-8 py-1.5 pl-1 self-center" matNativeControl
267
+ (change)="addParameterValue(parameter, $event)" required autofocus>
268
+ <option [value]="null">-- Select Value --</option>
269
+ <option *ngFor="let item of parameter.list" [value]="item.value">{{ item.label }}
270
+ </option>
271
+ </select>
272
+ </ng-template>
273
+
274
+ </mat-chip-grid>
275
+
276
+
277
+ </ng-template>
278
+
279
+
280
+
281
+ <ng-template [ngIf]="!parameter._locked">
282
+ <button mat-icon-button [matMenuTriggerFor]="paramMenu">
283
+ <mat-icon>settings</mat-icon>
284
+ </button>
285
+ <mat-menu #paramMenu="matMenu">
286
+ <button mat-menu-item (click)="addParameter(parameter, i)">Edit Parameter</button>
287
+ <button mat-menu-item (click)="removeParameter(parameter)">Remove Parameter</button>
288
+ </mat-menu>
289
+ </ng-template>
290
+ <ng-template [ngIf]="Object.keys(dashboardParameters || {}).length">
291
+ <button mat-icon-button [matMenuTriggerFor]="dashParamMenu"
292
+ title="Bind this parameter value to another">
293
+ <mat-icon>text_fields</mat-icon>
294
+ </button>
295
+ <mat-menu #dashParamMenu="matMenu">
296
+ <button mat-menu-item *ngFor="let dashParamKey of Object.keys(dashboardParameters)"
297
+ (click)="setDashboardParameter(parameter, dashboardParameters[dashParamKey].name)">{{ dashboardParameters[dashParamKey].title }}
298
+ </button>
299
+ </mat-menu>
300
+ </ng-template>
301
+ </div>
302
+
303
+ </label>
304
+
305
+ <div class="divider ml-2" *ngIf="parameterValues.length"></div>
306
+
307
+ </ng-template>
308
+ <button mat-icon-button color="primary" class="mx-2" (click)="addParameter()">
309
+ <mat-icon>add_circle</mat-icon>
310
+ </button>
311
+ <button type="button" (click)="evaluateDataset(true)" *ngIf="parameterValues.length"
312
+ class="mr-2 flex items-center whitespace-nowrap justify-center px-4 py-1 border border-transparent text-sm rounded-md shadow-sm text-white bg-primary focus:outline-none">
313
+ Apply Parameters
314
+ </button>
315
+ </div>
316
+ </div>
317
+ </div>
318
+
319
+ <div class="cell-header">
320
+ <div class="transformation-listing py-2" *ngIf="terminatingTransformations.length">
321
+ <div class="list-title">
322
+ Transformations
323
+ </div>
324
+ <div class="example-list flex flex-wrap" cdkDropListGroup>
325
+ <ng-template ngFor let-transformation [ngForOf]="terminatingTransformations" let-i="index">
326
+ <div cdkDropList (cdkDropListDropped)="drop($event)" cdkDropListOrientation="horizontal"
327
+ [cdkDropListData]="{item:transformation,index:i}">
328
+ <div class="flex items-center">
329
+ <div class="new-transformation flex items-center justify-center w-6 h-6">
330
+ <a [matMenuTriggerFor]="addTransformation"
331
+ class="items-center add-transformation text-primary">
332
+ <mat-icon class="flex items-center w-5 h-5 text-xl">add_circle</mat-icon>
333
+ </a>
334
+ <mat-menu #addTransformation="matMenu">
335
+ <button mat-menu-item (click)="insertTransformation(i, 'columns', transformation)">
336
+ Insert Column Transformation
337
+ </button>
338
+ <button mat-menu-item (click)="insertTransformation(i, 'formula', transformation)">
339
+ Insert Formula Transformation
340
+ </button>
341
+ <button mat-menu-item (click)="insertTransformation(i, 'join', transformation)">
342
+ Insert Join Transformation
343
+ </button>
344
+ <button mat-menu-item (click)="insertTransformation(i, 'summarise', transformation)">
345
+ Insert Summarise Transformation
346
+ </button>
347
+ <button mat-menu-item (click)="insertTransformation(i, 'filter', transformation)">
348
+ Insert Filter Transformation
349
+ </button>
350
+ </mat-menu>
351
+ </div>
352
+
353
+ <div cdkDrag class="pl-0 example-box badge-item w-auto m-0" cdkOverlayOrigin
354
+ #trigger="cdkOverlayOrigin"
355
+ [ngClass]="{active: transformation._active, 'exclude bg-orange-50 border-orange-200': !!transformation.exclude, 'bg-indigo-50 border-indigo-200': (transformation.type === 'filter' && transformation.hide === false)}">
356
+
357
+ <button class="-mt-0.5" title="Show transformation details" mat-icon-button
358
+ (click)="showTransformationDetail(transformation)">
359
+ <span class="material-symbols-outlined ml-1 text-xl"
360
+ *ngIf="transformation.type === 'columns'">table_chart</span>
361
+ <span class="material-symbols-outlined text-xl"
362
+ *ngIf="transformation.type === 'formula'">functions</span>
363
+ <span class="material-symbols-outlined text-xl" *ngIf="transformation.type === 'join'">merge_type</span>
364
+ <span class="material-symbols-outlined ml-1 text-xl"
365
+ *ngIf="transformation.type === 'summarise'">pivot_table_chart</span>
366
+ <span class="material-symbols-outlined text-xl"
367
+ *ngIf="transformation.type === 'filter'">filter_alt</span>
368
+ </button>
369
+
370
+ <span class="whitespace-nowrap cursor-pointer"
371
+ (click)="editTerminatingTransformation(transformation)">{{ transformation._label }}</span>
372
+
373
+ <ng-template [ngIf]="transformation.exclude">
374
+ <button class="-ml-1" [title]="'Re-enable this transformation'"
375
+ mat-icon-button (click)="disableTransformation(transformation, i)">
376
+ <mat-icon class="text-orange-400">replay</mat-icon>
377
+ </button>
378
+ </ng-template>
379
+ <ng-template
380
+ [ngIf]="!transformation.exclude && i + 1 === terminatingTransformations.length">
381
+ <button class="-ml-1" [title]="'Disable transformation'"
382
+ mat-icon-button (click)="disableTransformation(transformation, i)">
383
+ <mat-icon>block</mat-icon>
384
+ </button>
385
+ </ng-template>
386
+ <ng-template
387
+ [ngIf]="!transformation.exclude && i + 1 !== terminatingTransformations.length">
388
+ <button class="-ml-1" [matMenuTriggerFor]="disableMenu"
389
+ [title]="'Disable transformation'"
390
+ mat-icon-button>
391
+ <mat-icon>block</mat-icon>
392
+ </button>
393
+ <mat-menu #disableMenu="matMenu">
394
+ <button mat-menu-item (click)="disableTransformation(transformation, i)">
395
+ Disable this transformation
396
+ </button>
397
+ <button mat-menu-item (click)="excludeUpstreamTransformations(transformation)">
398
+ Disable subsequent transformation(s)
399
+ </button>
400
+ </mat-menu>
401
+ </ng-template>
402
+
403
+ <button class="-ml-1" title="Remove this transformation" mat-icon-button color="primary"
404
+ (click)="removeTransformation(transformation, true, null, transformation._active)">
405
+ <mat-icon>cancel</mat-icon>
406
+ </button>
407
+ </div>
408
+ <ng-template
409
+ cdkConnectedOverlay
410
+ [cdkConnectedOverlayOrigin]="trigger"
411
+ [cdkConnectedOverlayOpen]="transformation._showDetail">
412
+ <div class="p-4 w-96 bg-white shadow rounded">
413
+ <ng-template [ngIf]="transformation.type === 'summarise'">
414
+ <p class="text-sm text-gray-700 mb-0">
415
+ <b>SELECT&nbsp;</b><span
416
+ *ngFor="let expression of transformation.config.expressions; let i = index"><span
417
+ *ngIf="i > 0">, </span>{{ expression.customExpression || expression.expressionType + '(' + (expression.fieldName || '') + ')' }}</span>
418
+ <ng-template [ngIf]="transformation.config.summariseFieldNames.length"><br><b>GROUP
419
+ BY&nbsp;</b> {{ transformation.config.summariseFieldNames.join(', ') }}
420
+ </ng-template>
421
+ </p>
422
+ </ng-template>
423
+ <ng-template [ngIf]="transformation.type === 'formula'">
424
+ <div class="text-sm text-gray-700 mb-0">
425
+ <b>EXPRESSION</b>&nbsp;{{ decodeURIComponent(transformation.config.expressions[0].expression) }}
426
+ </div>
427
+ </ng-template>
428
+ <ng-template [ngIf]="transformation.type === 'columns'">
429
+ <div class="text-sm text-gray-700 mb-0">
430
+ <b>COLUMNS</b>&nbsp;{{ _.map(transformation.config.columns, 'title').join(', ') }}
431
+ </div>
432
+ </ng-template>
433
+ <ng-template [ngIf]="transformation.type === 'join'">
434
+ <div class="text-sm text-gray-700 mb-0">
435
+ <b>JOIN
436
+ COLUMNS</b>&nbsp;{{ _.map(transformation.config.joinColumns, 'title').join(', ') }}
437
+ </div>
438
+ </ng-template>
439
+ <ng-template [ngIf]="transformation.type === 'filter'">
440
+ <div *ngFor="let filter of transformation.config.filters"
441
+ class="text-sm text-gray-700 mb-0">
442
+ <b>FILTER</b>&nbsp;{{ filter.lhsExpression }}&nbsp;<b>{{ filter.filterType }}</b>&nbsp;{{ filter.rhsExpression }}
443
+ </div>
444
+ </ng-template>
445
+ </div>
446
+ </ng-template>
447
+ </div>
448
+
449
+ </div>
450
+ <button
451
+ *ngIf="_.some(terminatingTransformations, {exclude: true}) && i === terminatingTransformations.length - 1"
452
+ class="ml-4 flex items-center border-none bg-primary text-sm rounded-md text-white pr-2 pl-1 py-0.5"
453
+ (click)="enableAllTransformation()">
454
+ <mat-icon class="mr-1 text-base">replay</mat-icon>
455
+ Enable All
456
+ </button>
457
+ </ng-template>
458
+
459
+ </div>
460
+
461
+ </div>
462
+ </div>
463
+
464
+ <div class="cell-header">
465
+ <div class="transformation-listing py-2 filters-list"
466
+ *ngIf="_.filter(datasetInstanceSummary.transformationInstances, {type: 'filter', hide: false}).length">
467
+ <a class="list-title flex items-center" (click)="showFilters = !showFilters">
468
+ Filters&nbsp;
469
+ <mat-icon *ngIf="!showFilters">expand_more</mat-icon>
470
+ <mat-icon *ngIf="showFilters">expand_less</mat-icon>
471
+ </a>
472
+ <ng-template ngFor let-filterTransformation
473
+ [ngForOf]="_.filter(datasetInstanceSummary.transformationInstances, {type: 'filter', hide: false})">
474
+
475
+ <div class="badge-item pl-2 mr-1" *ngIf="_.every(filterTransformation.config.filters[0])"
476
+ (click)="showFilters = !showFilters">
477
+ <span class="cursor-pointer" [innerHtml]="getFilterString(filterTransformation.config)"></span>
478
+ </div>
479
+
480
+ </ng-template>
481
+ </div>
482
+ </div>
483
+
484
+ <div class="dataset-filters" id="datasetFilters"
485
+ *ngIf="_.filter(datasetInstanceSummary.transformationInstances, {type: 'filter', hide: false}).length
486
+ && showFilters">
487
+
488
+ <ng-template ngFor let-transformation [ngForOf]="datasetInstanceSummary.transformationInstances" let-i=index>
489
+ <ng-template [ngIf]="transformation.type === 'filter' && transformation.hide === false">
490
+ <div class="dataset-filter border-b border-gray-200">
491
+
492
+ <button mat-stroked-button class="mr-2 bg-white remove-filter" color="warn"
493
+ (click)="removeTransformation(transformation, true, i)">
494
+ Remove Filter
495
+ </button>
496
+
497
+ <ki-dataset-filters *ngIf="filterFields.length" [filterFields]="filterFields"
498
+ [openSide]="openSide" [parameterValues]="filterParameterValues"
499
+ [filterJunction]="transformation.config"></ki-dataset-filters>
500
+ <button
501
+ *ngIf="_.filter(datasetInstanceSummary.transformationInstances, {type: 'filter', hide: false}).length"
502
+ mat-flat-button class="apply-filter mr-2" color="primary"
503
+ (click)="applyFilters()" [disabled]="!filterJunction.filters.length">
504
+ Apply Filters
505
+ </button>
506
+
507
+ </div>
508
+ </ng-template>
509
+ </ng-template>
510
+
511
+ </div>
512
+
513
+ <div class="cell-header">
514
+ <div class="transformation-listing sort"
515
+ *ngIf="_.find(datasetInstanceSummary.transformationInstances, {type: 'multisort'})">
516
+ <div class="list-title">
517
+ Sort
518
+ </div>
519
+ <div class="flex flex-wrap">
520
+ <div class="badge-item outline"
521
+ [ngClass]="{'exclude bg-orange-50 border-orange-200': _.find(datasetInstanceSummary.transformationInstances, {exclude: true})}"
522
+ *ngFor="let sort of _.find(datasetInstanceSummary.transformationInstances, {type: 'multisort'}).config.sorts; let i = index">
523
+ <span>{{ _.startCase(sort.fieldName) }}&nbsp;<span class="uppercase">{{ sort.direction }}</span></span>
524
+ <button mat-icon-button (click)="removeFilter(i)">
525
+ <mat-icon>cancel</mat-icon>
526
+ </button>
527
+ </div>
528
+ </div>
529
+
530
+ </div>
531
+ </div>
532
+
533
+ <div class="h-full table-overflow overflow-scroll">
534
+ <table mat-table [dataSource]="tableData" *ngIf="displayedColumns.length" matSort (matSortChange)="sort($event)"
535
+ class="block sticky">
536
+
537
+ <ng-template ngFor let-column [ngForOf]="filterFields">
538
+ <ng-container [matColumnDef]="column.name">
539
+ <th mat-header-cell *matHeaderCellDef mat-sort-header
540
+ class="text-xs font-semibold text-gray-900 py-3.5 px-4"> {{ column.title }}
541
+ </th>
542
+ <td mat-cell *matCellDef="let element" class="py-3 px-4">
543
+ <ng-template
544
+ [ngIf]="!Array.isArray(element[column.name]) && !_.isPlainObject(element[column.name])">
545
+ <ng-template [ngIf]="element[column.name] && String(element[column.name]).length <= 100">
546
+ <div [innerHTML]="element[column.name]"></div>
547
+ </ng-template>
548
+ <ng-template [ngIf]="element[column.name] && String(element[column.name]).length > 100">
549
+ <div>{{ element[column.name].substring(0, 100) + '...' }}</div>
550
+ <a (click)="viewFullItemData(element[column.name], column.name)"
551
+ class="flex items-center text-sm text-cta">
552
+ view more
553
+ <svg xmlns="http://www.w3.org/2000/svg" class="ml-1 h-4 w-4" fill="none"
554
+ viewBox="0 0 24 24"
555
+ stroke="currentColor">
556
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
557
+ d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"/>
558
+ </svg>
559
+ </a>
560
+ </ng-template>
561
+ <ng-template [ngIf]="!element[column.name]">
562
+ <span *ngIf="element[column.name] === null" class="font-mono text-gray-400">null</span>
563
+ <span *ngIf="element[column.name] !== null">{{ element[column.name] }}</span>
564
+ </ng-template>
565
+ </ng-template>
566
+ <ng-template [ngIf]="Array.isArray(element[column.name])">
567
+ Contains {{ element[column.name].length }} items
568
+ </ng-template>
569
+ <ng-template [ngIf]="_.isPlainObject(element[column.name])">
570
+ Object has {{ Object.keys(element[column.name]).length }} keys
571
+ </ng-template>
572
+ </td>
573
+ </ng-container>
574
+ </ng-template>
575
+
576
+ <tr mat-header-row *matHeaderRowDef="displayedColumns" class="h-auto"></tr>
577
+ <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
578
+
579
+ </table>
580
+ </div>
581
+
582
+
583
+ <div class="border-b border-t bg-gray-50 px-4 py-1 flex align-center justify-end">
584
+
585
+ <div class="flex items-center">
586
+ <div class="text-sm text-gray-500 mr-10">
587
+ <ng-template [ngIf]="dataset">
588
+ Showing {{ offset + 1 }} - {{ (page * limit) - (limit - tableData.length) }}
589
+ </ng-template>
590
+ </div>
591
+ <select [value]="limit" (change)="pageSizeChange($event.target.value)"
592
+ class="mr-8 p-1.5">
593
+ <option [value]="1">1</option>
594
+ <option [value]="5">5</option>
595
+ <option [value]="10">10</option>
596
+ <option [value]="25">25</option>
597
+ <option [value]="50">50</option>
598
+ <option [value]="100">100</option>
599
+ <option [value]="250">250</option>
600
+ <option [value]="1000">1000</option>
601
+ </select>
602
+ <button mat-icon-button class="mr-4" (click)="decreaseOffset()" [disabled]="page <= 1">
603
+ <mat-icon>chevron_left</mat-icon>
604
+ </button>
605
+ <button mat-icon-button (click)="increaseOffset()" [disabled]="endOfResults">
606
+ <mat-icon>chevron_right</mat-icon>
607
+ </button>
608
+ </div>
609
+ </div>