codecharta-visualization 1.114.0 → 1.115.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/README.md +4 -1
  2. package/app/app.module.ts +1 -12
  3. package/app/app.scss +0 -2
  4. package/app/codeCharta/assets/codecharta_logo.svg +1 -0
  5. package/app/codeCharta/codeCharta.component.html +10 -7
  6. package/app/codeCharta/codeCharta.component.scss +22 -51
  7. package/app/codeCharta/codeCharta.component.ts +5 -7
  8. package/app/codeCharta/codeCharta.model.ts +0 -1
  9. package/app/codeCharta/e2e/__snapshots__/logo.e2e.ts.snap +2 -2
  10. package/app/codeCharta/e2e/logo.po.ts +7 -7
  11. package/app/codeCharta/e2e/url.e2e.ts +2 -2
  12. package/app/codeCharta/index.d.ts +1 -1
  13. package/app/codeCharta/model/customConfig/customConfig.api.model.ts +1 -0
  14. package/app/codeCharta/services/isAttributeSideBarVisible.service.ts +2 -2
  15. package/app/codeCharta/services/loadFile/loadFile.service.spec.ts +6 -6
  16. package/app/codeCharta/services/loadFile/loadFile.service.ts +7 -3
  17. package/app/codeCharta/services/loadInitialFile/loadInitialFile.service.spec.ts +1 -1
  18. package/app/codeCharta/services/loadInitialFile/loadInitialFile.service.ts +7 -7
  19. package/app/codeCharta/services/version/version.service.ts +2 -2
  20. package/app/codeCharta/state/effects/autoFitCodeMapChange/autoFitCodeMap.effect.ts +5 -5
  21. package/app/codeCharta/state/effects/linkColorMetricToHeightMetric/linkColorMetricToHeightMetric.effect.ts +2 -2
  22. package/app/codeCharta/state/effects/nodeContextMenu/excludeButton/excludeButton.component.ts +4 -3
  23. package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.component.html +2 -2
  24. package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.component.ts +4 -3
  25. package/app/codeCharta/state/effects/nodeContextMenu/focusButtons/focusButtons.component.ts +4 -3
  26. package/app/codeCharta/state/effects/nodeContextMenu/highlightButtons/highlightButtons.component.spec.ts +5 -5
  27. package/app/codeCharta/state/effects/nodeContextMenu/highlightButtons/highlightButtons.component.ts +4 -6
  28. package/app/codeCharta/state/effects/nodeContextMenu/markFolderRow/markFolderRow.component.ts +5 -4
  29. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenu.service.ts +2 -2
  30. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.html +1 -1
  31. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.scss +6 -7
  32. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.ts +5 -4
  33. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.module.ts +1 -2
  34. package/app/codeCharta/state/effects/nodeContextMenu/openNodeContextMenu.effect.ts +1 -4
  35. package/app/codeCharta/state/effects/renderCodeMapEffect/renderCodeMap.effect.ts +4 -4
  36. package/app/codeCharta/state/effects/resetChosenMetrics/resetChosenMetrics.effect.spec.ts +25 -19
  37. package/app/codeCharta/state/effects/resetChosenMetrics/resetChosenMetrics.effect.ts +6 -5
  38. package/app/codeCharta/state/effects/resetSelectedEdgeMetricWhenItDoesntExistAnymore/resetSelectedEdgeMetricWhenItDoesntExistAnymore.effect.spec.ts +13 -13
  39. package/app/codeCharta/state/effects/resetSelectedEdgeMetricWhenItDoesntExistAnymore/resetSelectedEdgeMetricWhenItDoesntExistAnymore.effect.ts +6 -6
  40. package/app/codeCharta/state/effects/unfocusNodes/unfocusNodes.effect.ts +2 -2
  41. package/app/codeCharta/state/effects/updateEdgePreviews/updateEdgePreviews.effect.ts +2 -2
  42. package/app/codeCharta/state/effects/updateEdgePreviews/utils/edgePreviewNodes.selector.ts +5 -3
  43. package/app/codeCharta/state/effects/updateFileSettings/updateFileSettings.effect.ts +2 -2
  44. package/app/codeCharta/state/effects/updateFileSettings/utils/__snapshots__/blacklist.merger.spec.ts.snap +9 -9
  45. package/app/codeCharta/state/effects/updateFileSettings/utils/__snapshots__/edges.merger.spec.ts.snap +16 -16
  46. package/app/codeCharta/state/effects/updateFileSettings/utils/__snapshots__/markedPackages.merger.spec.ts.snap +10 -10
  47. package/app/codeCharta/state/effects/updateVisibleTopLabels/updateVisibleTopLabels.effect.ts +2 -2
  48. package/app/codeCharta/state/selectors/accumulatedData/accumulatedData.selector.spec.ts +76 -0
  49. package/app/codeCharta/state/selectors/accumulatedData/accumulatedData.selector.ts +7 -12
  50. package/app/codeCharta/state/selectors/accumulatedData/metricData/edgeMetricData.calculator.spec.ts +46 -0
  51. package/app/codeCharta/state/selectors/accumulatedData/metricData/{edgeMetricData.selector.ts → edgeMetricData.calculator.ts} +10 -23
  52. package/app/codeCharta/state/selectors/accumulatedData/metricData/metricData.selector.ts +10 -6
  53. package/app/codeCharta/state/selectors/accumulatedData/metricData/metricNames.selector.spec.ts +5 -5
  54. package/app/codeCharta/state/selectors/accumulatedData/metricData/metricNames.selector.ts +2 -2
  55. package/app/codeCharta/state/selectors/accumulatedData/metricData/{nodeMetricData.selector.spec.ts → nodeMetricData.calculator.spec.ts} +2 -2
  56. package/app/codeCharta/state/selectors/accumulatedData/metricData/{nodeMetricData.selector.ts → nodeMetricData.calculator.ts} +0 -5
  57. package/app/codeCharta/state/selectors/accumulatedData/metricData/selectedColorMetricData.selector.ts +4 -4
  58. package/app/codeCharta/state/selectors/accumulatedData/utils/addEdgeMetricsForLeaves.ts +3 -2
  59. package/app/codeCharta/state/selectors/accumulatedData/utils/getMetricValuesForNode.spec.ts +4 -11
  60. package/app/codeCharta/state/selectors/accumulatedData/utils/getMetricValuesForNode.ts +2 -2
  61. package/app/codeCharta/state/selectors/allNecessaryRenderDataAvailable/areAllNecessaryRenderDataAvailable.selector.ts +7 -6
  62. package/app/codeCharta/state/selectors/primaryMetrics/primaryMetrics.selector.ts +27 -11
  63. package/app/codeCharta/state/store/appSettings/appSettings.actions.ts +0 -2
  64. package/app/codeCharta/state/store/appSettings/appSettings.reducer.ts +0 -2
  65. package/app/codeCharta/state/store/appSettings/invertArea/invertArea.actions.ts +1 -12
  66. package/app/codeCharta/state/store/appSettings/invertArea/invertArea.reducer.ts +2 -4
  67. package/app/codeCharta/state/store/dynamicSettings/colorRange/resetColorRange.effect.ts +1 -1
  68. package/app/codeCharta/ui/actionIcon/actionIcon.component.ts +4 -3
  69. package/app/codeCharta/ui/actionIcon/actionIcon.module.ts +1 -2
  70. package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.scss +1 -1
  71. package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.spec.ts +59 -7
  72. package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.ts +5 -7
  73. package/app/codeCharta/ui/attributeSideBar/attributeSideBar.module.ts +2 -2
  74. package/app/codeCharta/ui/attributeSideBar/attributeSideBarHeaderSection/attributeSideBarHeaderSection.component.ts +5 -4
  75. package/app/codeCharta/ui/attributeSideBar/attributeSideBarHeaderSection/nodePath/nodePath.component.ts +4 -3
  76. package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetric/attributeSideBarPrimaryMetric.component.ts +4 -3
  77. package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetrics.component.html +10 -5
  78. package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetrics.component.ts +4 -3
  79. package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/attributeSideBarSecondaryMetrics.component.html +5 -1
  80. package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/attributeSideBarSecondaryMetrics.component.ts +4 -3
  81. package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/secondaryMetrics.selector.spec.ts +29 -4
  82. package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/secondaryMetrics.selector.ts +11 -4
  83. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.component.scss +4 -6
  84. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.component.ts +5 -4
  85. package/app/codeCharta/ui/attributeSideBar/metricDeltaSelected/metricDeltaSelected.component.spec.ts +2 -2
  86. package/app/codeCharta/ui/attributeSideBar/metricDeltaSelected/metricDeltaSelected.component.ts +4 -3
  87. package/app/codeCharta/ui/attributeSideBar/util/edge.ts +7 -0
  88. package/app/codeCharta/ui/attributeSideBar/util/metric.ts +2 -0
  89. package/app/codeCharta/ui/{legendPanel/selectors/legendMetric.ts → attributeSideBar/util/metricDescriptors.ts} +10 -4
  90. package/app/codeCharta/ui/codeMap/__snapshots__/codeMap.arrow.service.spec.ts.snap +16 -16
  91. package/app/codeCharta/ui/codeMap/__snapshots__/codeMap.render.service.spec.ts.snap +19 -19
  92. package/app/codeCharta/ui/codeMap/codeMap.arrow.service.spec.ts +5 -4
  93. package/app/codeCharta/ui/codeMap/codeMap.arrow.service.ts +34 -29
  94. package/app/codeCharta/ui/codeMap/codeMap.component.ts +9 -8
  95. package/app/codeCharta/ui/codeMap/codeMap.label.service.ts +5 -5
  96. package/app/codeCharta/ui/codeMap/codeMap.mouseEvent.service.spec.ts +14 -1
  97. package/app/codeCharta/ui/codeMap/codeMap.mouseEvent.service.ts +30 -25
  98. package/app/codeCharta/ui/codeMap/codeMap.render.service.spec.ts +8 -6
  99. package/app/codeCharta/ui/codeMap/codeMap.render.service.ts +18 -13
  100. package/app/codeCharta/ui/codeMap/threeViewer/threeOrbitControls.service.spec.ts +3 -3
  101. package/app/codeCharta/ui/codeMap/threeViewer/threeOrbitControls.service.ts +9 -9
  102. package/app/codeCharta/ui/codeMap/threeViewer/threeRenderer.service.ts +3 -3
  103. package/app/codeCharta/ui/codeMap/threeViewer/threeSceneService.ts +16 -19
  104. package/app/codeCharta/ui/codeMap/threeViewer/threeStats.service.spec.ts +27 -32
  105. package/app/codeCharta/ui/codeMap/threeViewer/threeStats.service.ts +3 -4
  106. package/app/codeCharta/ui/codeMap/threeViewer/threeViewer.service.spec.ts +2 -2
  107. package/app/codeCharta/ui/codeMap/threeViewer/threeViewer.service.ts +6 -6
  108. package/app/codeCharta/ui/colorPicker/colorPicker.component.spec.ts +5 -2
  109. package/app/codeCharta/ui/colorPicker/colorPicker.component.ts +3 -2
  110. package/app/codeCharta/ui/colorPickerForMapColor/colorPickerForMapColor.component.ts +5 -4
  111. package/app/codeCharta/ui/copyToClipboardButton/copyToClipboard.service.ts +2 -2
  112. package/app/codeCharta/ui/copyToClipboardButton/copyToClipboardButton.component.ts +4 -3
  113. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigButton.component.spec.ts +17 -10
  114. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigButton.component.ts +4 -3
  115. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigButton.module.ts +3 -3
  116. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.component.html +14 -2
  117. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.component.ts +23 -13
  118. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.spec.ts +23 -9
  119. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomDialog.component.scss +7 -6
  120. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/downloadAndPurgeConfigs/downloadAndPurgeConfigs.component.ts +5 -4
  121. package/app/codeCharta/ui/customConfigs/customConfigHelper.service.ts +2 -2
  122. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfig2ApplicableColor.pipe.ts +2 -2
  123. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfig2ApplicableMessage.pipe.ts +2 -2
  124. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.component.html +15 -12
  125. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.component.scss +12 -8
  126. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.component.ts +7 -6
  127. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.spec.ts +0 -6
  128. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.html +21 -4
  129. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.scss +38 -0
  130. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.spec.ts +32 -7
  131. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.ts +17 -2
  132. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.html +8 -8
  133. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.scss +27 -31
  134. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.spec.ts +6 -3
  135. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.ts +5 -4
  136. package/app/codeCharta/ui/customConfigs/customConfigList/getCustomConfigItemGroups.spec.ts +5 -1
  137. package/app/codeCharta/ui/customConfigs/customConfigList/getCustomConfigItemGroups.ts +2 -1
  138. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialog/customConfigNoteDialog.component.html +12 -0
  139. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialog/customConfigNoteDialog.component.scss +31 -0
  140. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialog/customConfigNoteDialog.component.ts +12 -0
  141. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.component.html +3 -0
  142. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.component.spec.ts +90 -0
  143. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.component.ts +33 -0
  144. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.module.ts +14 -0
  145. package/app/codeCharta/ui/customConfigs/customConfigs.component.spec.ts +5 -4
  146. package/app/codeCharta/ui/customConfigs/customConfigs.component.ts +6 -4
  147. package/app/codeCharta/ui/customConfigs/customConfigs.module.ts +14 -3
  148. package/app/codeCharta/ui/customConfigs/downloadCustomConfigsButton/downloadCustomConfigsButton.component.ts +4 -3
  149. package/app/codeCharta/ui/customConfigs/uploadCustomConfigButton/uploadCustomConfigButton.component.ts +3 -2
  150. package/app/codeCharta/ui/customConfigs/uploadCustomConfigButton/uploadCustomConfigButton.module.ts +1 -2
  151. package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.component.html +6 -6
  152. package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.component.scss +6 -14
  153. package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.component.ts +4 -3
  154. package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.module.ts +1 -2
  155. package/app/codeCharta/ui/dialogs/confirmationDialog/confirmationDialog.component.scss +3 -3
  156. package/app/codeCharta/ui/dialogs/confirmationDialog/confirmationDialog.component.ts +4 -3
  157. package/app/codeCharta/ui/dialogs/errorDialog/errorDialog.component.po.ts +4 -9
  158. package/app/codeCharta/ui/dialogs/errorDialog/errorDialog.component.ts +3 -2
  159. package/app/codeCharta/ui/export3DMapButton/export3DMapButton.component.ts +4 -3
  160. package/app/codeCharta/ui/fileExtensionBar/distributionMetricChooser/distributionMetricChooser.component.ts +4 -3
  161. package/app/codeCharta/ui/fileExtensionBar/fileExtensionBar.component.scss +5 -6
  162. package/app/codeCharta/ui/fileExtensionBar/fileExtensionBar.component.ts +5 -4
  163. package/app/codeCharta/ui/fileExtensionBar/fileExtensionBar.module.ts +1 -2
  164. package/app/codeCharta/ui/fileExtensionBar/selectors/fileExtensionCalculator.spec.ts +18 -18
  165. package/app/codeCharta/ui/fileExtensionBar/selectors/fileExtensionCalculator.ts +1 -1
  166. package/app/codeCharta/ui/filePanel/filePanel.component.html +1 -1
  167. package/app/codeCharta/ui/filePanel/filePanel.component.scss +7 -27
  168. package/app/codeCharta/ui/filePanel/filePanel.component.ts +5 -4
  169. package/app/codeCharta/ui/filePanel/filePanel.module.ts +2 -2
  170. package/app/codeCharta/ui/filePanel/filePanel.po.ts +6 -4
  171. package/app/codeCharta/ui/filePanel/filePanelDeltaSelector/filePanelDeltaSelector.component.html +26 -24
  172. package/app/codeCharta/ui/filePanel/filePanelDeltaSelector/filePanelDeltaSelector.component.scss +6 -0
  173. package/app/codeCharta/ui/filePanel/filePanelDeltaSelector/filePanelDeltaSelector.component.ts +5 -3
  174. package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.html +1 -0
  175. package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.scss +2 -9
  176. package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.spec.ts +1 -1
  177. package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.ts +5 -4
  178. package/app/codeCharta/ui/filePanel/filePanelFileSelector/removeFileButton/removeFileButton.component.scss +1 -1
  179. package/app/codeCharta/ui/filePanel/filePanelFileSelector/removeFileButton/removeFileButton.component.ts +5 -4
  180. package/app/codeCharta/ui/filePanel/filePanelStateButtons/filePanelStateButtons.component.html +1 -1
  181. package/app/codeCharta/ui/filePanel/filePanelStateButtons/filePanelStateButtons.component.ts +4 -6
  182. package/app/codeCharta/ui/filePanel/fileSelectionMode.service.ts +2 -2
  183. package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.html +1 -1
  184. package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.scss +12 -8
  185. package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.spec.ts +2 -2
  186. package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.ts +4 -3
  187. package/app/codeCharta/ui/legendPanel/legendBlock/legendBlock.component.html +8 -8
  188. package/app/codeCharta/ui/legendPanel/legendBlock/legendBlock.component.ts +5 -4
  189. package/app/codeCharta/ui/legendPanel/legendMarkedPackages/legendMarkedPackages.component.ts +5 -4
  190. package/app/codeCharta/ui/legendPanel/legendPanel.component.html +11 -5
  191. package/app/codeCharta/ui/legendPanel/legendPanel.component.ts +5 -7
  192. package/app/codeCharta/ui/legendPanel/selectors/legendAreaMetric.selector.ts +4 -4
  193. package/app/codeCharta/ui/legendPanel/selectors/legendColorMetric.selector.ts +4 -4
  194. package/app/codeCharta/ui/legendPanel/selectors/legendEdgeMetric.selector.spec.ts +10 -4
  195. package/app/codeCharta/ui/legendPanel/selectors/legendEdgeMetric.selector.ts +7 -7
  196. package/app/codeCharta/ui/legendPanel/selectors/legendHeightMetric.selector.ts +4 -4
  197. package/app/codeCharta/ui/loadingFileProgressSpinner/loadingFileProgressSpinner.component.scss +1 -1
  198. package/app/codeCharta/ui/loadingFileProgressSpinner/loadingFileProgressSpinner.component.ts +5 -4
  199. package/app/codeCharta/ui/metricChooser/metricChooser.component.html +1 -2
  200. package/app/codeCharta/ui/metricChooser/metricChooser.component.scss +22 -13
  201. package/app/codeCharta/ui/metricChooser/metricChooser.component.spec.ts +9 -7
  202. package/app/codeCharta/ui/metricChooser/metricChooser.component.ts +11 -10
  203. package/app/codeCharta/ui/metricChooser/metricChooser.module.ts +1 -2
  204. package/app/codeCharta/ui/metricChooser/metricChooserTypeHovered/metricChooserTypeHovered.component.ts +4 -3
  205. package/app/codeCharta/ui/metricChooser/metricChooserValueHovered/metricChooserValueHovered.component.ts +4 -3
  206. package/app/codeCharta/ui/resetSettingsButton/resetSettingsButton.component.scss +21 -3
  207. package/app/codeCharta/ui/resetSettingsButton/resetSettingsButton.component.ts +5 -4
  208. package/app/codeCharta/ui/ribbonBar/areaMetricChooser/areaMetricChooser.component.spec.ts +9 -6
  209. package/app/codeCharta/ui/ribbonBar/areaMetricChooser/areaMetricChooser.component.ts +4 -3
  210. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.html +13 -23
  211. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.scss +12 -3
  212. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.spec.ts +31 -17
  213. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.ts +14 -14
  214. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.module.ts +1 -2
  215. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/artificialIntelligence.component.scss +2 -3
  216. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/artificialIntelligence.component.ts +5 -4
  217. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/highRiskProfile.component.html +12 -3
  218. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/highRiskProfile.component.spec.ts +10 -2
  219. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/highRiskProfile.component.ts +3 -2
  220. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/riskProfileBar.directive.ts +2 -2
  221. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/selectors/artificialIntelligence.selector.spec.ts +6 -16
  222. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/selectors/artificialIntelligence.selector.ts +7 -11
  223. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/suspiciousMetrics/suspiciousMetrics.component.html +11 -1
  224. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/suspiciousMetrics/suspiciousMetrics.component.spec.ts +4 -4
  225. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/suspiciousMetrics/suspiciousMetrics.component.ts +6 -5
  226. package/app/codeCharta/ui/ribbonBar/colorMetricChooser/colorMetricChooser.component.spec.ts +9 -6
  227. package/app/codeCharta/ui/ribbonBar/colorMetricChooser/colorMetricChooser.component.ts +4 -3
  228. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/colorSettingsPanel.component.html +11 -10
  229. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/colorSettingsPanel.component.scss +17 -12
  230. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/colorSettingsPanel.component.ts +5 -4
  231. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/metricColorRangeSlider.component.ts +5 -4
  232. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSlider.component.html +2 -2
  233. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSlider.component.scss +21 -6
  234. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSlider.component.ts +6 -5
  235. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSliderLabels/rangeSliderLabels.component.spec.ts +2 -2
  236. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSliderLabels/rangeSliderLabels.component.ts +5 -4
  237. package/app/codeCharta/ui/ribbonBar/edgeMetricChooser/edgeMetricChooser.component.scss +1 -1
  238. package/app/codeCharta/ui/ribbonBar/edgeMetricChooser/edgeMetricChooser.component.spec.ts +8 -6
  239. package/app/codeCharta/ui/ribbonBar/edgeMetricChooser/edgeMetricChooser.component.ts +5 -4
  240. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeMetricToggle/edgeMetricToggle.component.ts +4 -4
  241. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeSettingsPanel.component.html +14 -15
  242. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeSettingsPanel.component.spec.ts +1 -1
  243. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeSettingsPanel.component.ts +4 -3
  244. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/selectors/amountOfBuildingsWithSelectedEdgeMetric.selector.ts +3 -3
  245. package/app/codeCharta/ui/ribbonBar/heightMetricChooser/areaMetricChooser.component.ts +4 -3
  246. package/app/codeCharta/ui/ribbonBar/heightMetricChooser/heightMetricChooser.component.spec.ts +9 -6
  247. package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.html +15 -19
  248. package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.spec.ts +3 -2
  249. package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.ts +5 -6
  250. package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.html +1 -1
  251. package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.scss +2 -0
  252. package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.spec.ts +4 -4
  253. package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.ts +5 -4
  254. package/app/codeCharta/ui/ribbonBar/ribbonBar.component.html +21 -8
  255. package/app/codeCharta/ui/ribbonBar/ribbonBar.component.scss +18 -8
  256. package/app/codeCharta/ui/ribbonBar/ribbonBar.component.spec.ts +22 -23
  257. package/app/codeCharta/ui/ribbonBar/ribbonBar.component.ts +7 -6
  258. package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.html +1 -1
  259. package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.scss +9 -7
  260. package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.spec.ts +10 -3
  261. package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.ts +7 -10
  262. package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.module.ts +1 -2
  263. package/app/codeCharta/ui/ribbonBar/showScenariosButton/scenario.service.ts +6 -6
  264. package/app/codeCharta/ui/ribbonBar/showScenariosButton/scenarios/scenarios.component.scss +2 -2
  265. package/app/codeCharta/ui/ribbonBar/showScenariosButton/scenarios/scenarios.component.ts +5 -4
  266. package/app/codeCharta/ui/ribbonBar/showScenariosButton/showScenariosButton.component.ts +5 -4
  267. package/app/codeCharta/ui/screenshotButton/screenshotButton.component.ts +8 -7
  268. package/app/codeCharta/ui/searchPanel/blacklistPanel/blacklistPanel.component.scss +2 -2
  269. package/app/codeCharta/ui/searchPanel/blacklistPanel/blacklistPanel.component.ts +5 -4
  270. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeView.component.scss +14 -11
  271. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeView.component.ts +5 -5
  272. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemIcon/mapTreeViewItemIcon.component.ts +3 -2
  273. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemName/mapTreeViewItemName.component.ts +4 -3
  274. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemOptionButtons/mapTreeViewItemOptionButtons.component.html +2 -2
  275. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemOptionButtons/mapTreeViewItemOptionButtons.component.ts +3 -2
  276. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewLevel/mapTreeViewLevel.component.ts +4 -3
  277. package/app/codeCharta/ui/searchPanel/matchingFilesCounter/matchingFilesCounter.component.html +1 -1
  278. package/app/codeCharta/ui/searchPanel/matchingFilesCounter/matchingFilesCounter.component.scss +2 -2
  279. package/app/codeCharta/ui/searchPanel/matchingFilesCounter/matchingFilesCounter.component.ts +5 -4
  280. package/app/codeCharta/ui/searchPanel/searchBar/blacklistSearchPattern.effect.ts +1 -2
  281. package/app/codeCharta/ui/searchPanel/searchBar/searchBar.component.scss +0 -3
  282. package/app/codeCharta/ui/searchPanel/searchBar/searchBar.component.spec.ts +1 -1
  283. package/app/codeCharta/ui/searchPanel/searchBar/searchBar.component.ts +7 -6
  284. package/app/codeCharta/ui/searchPanel/searchPanel.component.html +1 -1
  285. package/app/codeCharta/ui/searchPanel/searchPanel.component.scss +0 -4
  286. package/app/codeCharta/ui/searchPanel/searchPanel.component.ts +4 -3
  287. package/app/codeCharta/ui/searchPanel/searchPanelModeSelector/searchPanelModeSelector.component.html +6 -20
  288. package/app/codeCharta/ui/searchPanel/searchPanelModeSelector/searchPanelModeSelector.component.scss +4 -6
  289. package/app/codeCharta/ui/searchPanel/searchPanelModeSelector/searchPanelModeSelector.component.ts +5 -4
  290. package/app/codeCharta/ui/searchPanel/sortingButton/sortingButton.component.ts +4 -3
  291. package/app/codeCharta/ui/searchPanel/sortingOption/sortingOption.component.spec.ts +1 -1
  292. package/app/codeCharta/ui/searchPanel/sortingOption/sortingOption.component.ts +4 -3
  293. package/app/codeCharta/ui/slider/slider.component.html +17 -21
  294. package/app/codeCharta/ui/slider/slider.component.scss +36 -19
  295. package/app/codeCharta/ui/slider/slider.component.spec.ts +38 -38
  296. package/app/codeCharta/ui/slider/slider.component.ts +8 -9
  297. package/app/codeCharta/ui/slider/slider.module.ts +1 -2
  298. package/app/codeCharta/ui/toolBar/downloadButton/downloadButton.component.spec.ts +2 -1
  299. package/app/codeCharta/ui/toolBar/downloadButton/downloadButton.component.ts +4 -3
  300. package/app/codeCharta/ui/toolBar/downloadButton/downloadButton.module.ts +1 -2
  301. package/app/codeCharta/ui/toolBar/downloadButton/downloadDialog/downloadDialog.component.html +1 -1
  302. package/app/codeCharta/ui/toolBar/downloadButton/downloadDialog/downloadDialog.component.scss +4 -5
  303. package/app/codeCharta/ui/toolBar/downloadButton/downloadDialog/downloadDialog.component.ts +5 -4
  304. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.component.html +1 -1
  305. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.component.scss +28 -34
  306. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.component.ts +5 -4
  307. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.module.ts +1 -2
  308. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/displayQualitySelection/displayQualitySelection.component.html +1 -1
  309. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/displayQualitySelection/displayQualitySelection.component.ts +4 -3
  310. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/globalConfigurationDialog.component.html +26 -23
  311. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/globalConfigurationDialog.component.ts +4 -3
  312. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/mapLayoutSelection/mapLayoutSelection.component.html +1 -1
  313. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/mapLayoutSelection/mapLayoutSelection.component.spec.ts +27 -24
  314. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/mapLayoutSelection/mapLayoutSelection.component.ts +5 -4
  315. package/app/codeCharta/ui/toolBar/hoveredNodePathPanel/hoveredNodePathPanel.component.ts +5 -4
  316. package/app/codeCharta/ui/toolBar/loadingMapProgressSpinner/loadingMapProgressSpinner.component.ts +5 -4
  317. package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.html +8 -11
  318. package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.scss +4 -3
  319. package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.spec.ts +2 -2
  320. package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.ts +5 -4
  321. package/app/codeCharta/ui/toolBar/toolBar.component.scss +2 -4
  322. package/app/codeCharta/ui/toolBar/toolBar.component.ts +5 -5
  323. package/app/codeCharta/ui/toolBar/toolBar.module.ts +1 -2
  324. package/app/codeCharta/ui/toolBar/uploadFilesButton/uploadFiles.service.ts +2 -2
  325. package/app/codeCharta/ui/toolBar/uploadFilesButton/uploadFilesButton.component.ts +5 -4
  326. package/app/codeCharta/ui/viewCube/centerMapButton/centerMapButton.component.ts +5 -4
  327. package/app/codeCharta/ui/viewCube/viewCube.component.spec.ts +2 -2
  328. package/app/codeCharta/ui/viewCube/viewCube.component.ts +6 -5
  329. package/app/codeCharta/ui/viewCube/viewCube.mouseEvents.service.spec.ts +3 -2
  330. package/app/codeCharta/ui/viewCube/viewCube.mouseEvents.service.ts +6 -6
  331. package/app/codeCharta/util/EventEmitter.ts +22 -0
  332. package/app/codeCharta/util/__snapshots__/aggregationGenerator.spec.ts.snap +116 -116
  333. package/app/codeCharta/util/__snapshots__/deltaGenerator.spec.ts.snap +82 -82
  334. package/app/codeCharta/util/__snapshots__/fileHelper.spec.ts.snap +23 -23
  335. package/app/codeCharta/util/aggregationGenerator.spec.ts +33 -27
  336. package/app/codeCharta/util/aggregationGenerator.ts +4 -1
  337. package/app/codeCharta/util/algorithm/treeMapLayout/__snapshots__/treeMapGenerator.spec.ts.snap +137 -137
  338. package/app/codeCharta/util/algorithm/treeMapLayout/__snapshots__/treeMapHelper.spec.ts.snap +9 -9
  339. package/app/codeCharta/util/customConfigBuilder.spec.ts +11 -4
  340. package/app/codeCharta/util/customConfigBuilder.ts +9 -3
  341. package/app/codeCharta/util/customConfigHelper.ts +8 -8
  342. package/app/codeCharta/util/dataMocks.ts +29 -5
  343. package/app/codeCharta/util/debounce.spec.ts +16 -0
  344. package/app/codeCharta/util/debounce.ts +10 -0
  345. package/app/codeCharta/util/fileDownloader.ts +1 -1
  346. package/app/codeCharta/util/gameObjectsParser/__snapshots__/gameObjectsImporter.spec.ts.snap +37 -37
  347. package/app/codeCharta/util/nodeDecorator.spec.ts +14 -1
  348. package/app/codeCharta/util/nodeDecorator.ts +12 -12
  349. package/app/codeCharta/util/parseNumberInput.ts +1 -1
  350. package/app/codeCharta/util/reduxHelper.ts +3 -3
  351. package/app/codeCharta/util/simplePipes/SimplePipesModule.ts +9 -0
  352. package/app/codeCharta/util/simplePipes/metricDescriptorTitle.pipe.spec.ts +62 -0
  353. package/app/codeCharta/util/simplePipes/metricDescriptorTitle.pipe.ts +18 -0
  354. package/app/codeCharta/util/{removeExtension.pipe.ts → simplePipes/removeExtension.pipe.ts} +1 -1
  355. package/app/codeCharta/util/truncateText.pipe.ts +8 -0
  356. package/app/codeCharta/util/truncateText.spec.ts +19 -0
  357. package/app/index.html +1 -0
  358. package/app/material/_theme.scss +28 -17
  359. package/app/material/matDialog.scss +1 -1
  360. package/app/material/matMenu.scss +2 -2
  361. package/app/material/material.module.ts +5 -3
  362. package/app/material/material.scss +1 -6
  363. package/app/polyfills.ts +28 -0
  364. package/conf/jestE2E.config.json +1 -3
  365. package/conf/jestUnit.config.json +5 -17
  366. package/conf/webpack.config.js +19 -56
  367. package/dist/webpack/3rdpartylicenses.txt +1063 -0
  368. package/dist/webpack/codeCharta/assets/codecharta_logo.svg +1 -0
  369. package/dist/webpack/codeCharta/assets/empty.png +0 -0
  370. package/dist/webpack/codeCharta/assets/favicon.ico +0 -0
  371. package/dist/webpack/codeCharta/assets/gameObjectsFile.json +75 -0
  372. package/dist/webpack/codeCharta/assets/icon.icns +0 -0
  373. package/dist/webpack/codeCharta/assets/icon.ico +0 -0
  374. package/dist/webpack/codeCharta/assets/icon.png +0 -0
  375. package/dist/webpack/codeCharta/assets/output.cc.json.gz +0 -0
  376. package/dist/webpack/codeCharta/assets/sample1.cc.json +97 -0
  377. package/dist/webpack/codeCharta/assets/sample2.cc.json +46 -0
  378. package/dist/webpack/codeCharta/assets/sample3.cc.json +40 -0
  379. package/dist/webpack/codeCharta/assets/sample4.cc.json +45 -0
  380. package/dist/webpack/codeCharta/assets/scenarios.json +50 -0
  381. package/dist/webpack/index.html +7 -7
  382. package/dist/webpack/main.bc36f7880e897bab.js +1 -0
  383. package/dist/webpack/material-icons-outlined.78a93b2079680a08.woff +0 -0
  384. package/dist/webpack/material-icons-outlined.f86cb7b0aa53f0fe.woff2 +0 -0
  385. package/dist/webpack/material-icons-round.92dc7ca2f4c591e7.woff +0 -0
  386. package/dist/webpack/material-icons-round.b10ec9db5b7fbc74.woff2 +0 -0
  387. package/dist/webpack/material-icons-sharp.3885863ee4746422.woff2 +0 -0
  388. package/dist/webpack/material-icons-sharp.a71cb2bf66c604de.woff +0 -0
  389. package/dist/webpack/material-icons-two-tone.588d63134de807a7.woff +0 -0
  390. package/dist/webpack/material-icons-two-tone.675bd578bd14533e.woff2 +0 -0
  391. package/dist/webpack/material-icons.4ad034d2c499d9b6.woff +0 -0
  392. package/dist/webpack/material-icons.59322316b3fd6063.woff2 +0 -0
  393. package/dist/webpack/polyfills.d69fe4da6218c8a9.js +1 -0
  394. package/dist/webpack/runtime.e384ce5b1b4e5942.js +1 -0
  395. package/dist/webpack/styles.796849f6e33c93f5.css +4 -0
  396. package/package.json +33 -51
  397. package/tsconfig.json +25 -22
  398. package/app/codeCharta/state/effects/resetDynamicMargin/resetDynamicMargin.effect.spec.ts +0 -48
  399. package/app/codeCharta/state/effects/resetDynamicMargin/resetDynamicMargin.effect.ts +0 -19
  400. package/app/codeCharta/state/selectors/accumulatedData/metricData/edgeMetricData.selector.spec.ts +0 -56
  401. package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.actions.ts +0 -21
  402. package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.reducer.spec.ts +0 -17
  403. package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.reducer.ts +0 -16
  404. package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.selector.ts +0 -4
  405. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.po.ts +0 -22
  406. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/invertAreaOption/invertAreaOption.component.html +0 -1
  407. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/invertAreaOption/invertAreaOption.component.spec.ts +0 -29
  408. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/invertAreaOption/invertAreaOption.component.ts +0 -23
  409. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel.po.ts +0 -19
  410. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeMetricToggle/edgeMetricToggle.component.scss +0 -4
  411. package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.scss +0 -18
  412. package/app/codeCharta/util/envDetector.ts +0 -3
  413. package/app/codeCharta/util/removeExtensionModule.ts +0 -8
  414. package/app/codeCharta/util/testUtils/drag.ts +0 -47
  415. package/app/material/matSelect.scss +0 -17
  416. package/conf/webpack.loaders.js +0 -54
  417. package/dist/webpack/04411cba9583fb0df01f.woff +0 -0
  418. package/dist/webpack/6289913a298e816100f5.woff +0 -0
  419. package/dist/webpack/6b3adb7ef9c9ac8d598a.woff +0 -0
  420. package/dist/webpack/6c307c85ae675678f41e.woff2 +0 -0
  421. package/dist/webpack/a70ec3e73fd410cdb178.woff2 +0 -0
  422. package/dist/webpack/aa2aae2fbd0e0b30967d.woff +0 -0
  423. package/dist/webpack/aa80805e686668b4358c.woff2 +0 -0
  424. package/dist/webpack/b906db2201d314b2ee12.woff2 +0 -0
  425. package/dist/webpack/bundle.js +0 -3
  426. package/dist/webpack/bundle.js.LICENSE.txt +0 -7619
  427. package/dist/webpack/bundle.js.map +0 -1
  428. package/dist/webpack/c6c0935815f6ba8fd80a.woff2 +0 -0
  429. package/dist/webpack/cb25b0543db8b7f06135.woff +0 -0
  430. /package/app/{assets/icon.ico → codeCharta/assets/favicon.ico} +0 -0
  431. /package/app/{assets → codeCharta/assets}/flatten.png +0 -0
  432. /package/app/{assets → codeCharta/assets}/icon.icns +0 -0
  433. /package/{dist/webpack → app/codeCharta/assets}/icon.ico +0 -0
  434. /package/app/{assets → codeCharta/assets}/icon.png +0 -0
  435. /package/app/codeCharta/state/store/fileSettings/attributeDescriptors/{attributesDescriptors.selector.ts → attributeDescriptors.selector.ts} +0 -0
  436. /package/app/codeCharta/util/{removeExtension.pipe.spec.ts → simplePipes/removeExtension.pipe.spec.ts} +0 -0
  437. /package/dist/webpack/{af36b2ef7e54a0b53f02.png → codeCharta/assets/flatten.png} +0 -0
  438. /package/dist/webpack/{6bfc95354e1616904298.png → codeCharta/assets/logo.png} +0 -0
  439. /package/dist/webpack/{8b43027f47b20503057d.eot → fontawesome-webfont.2b13baa7dd4f54c9.eot} +0 -0
  440. /package/dist/webpack/{1e59d2330b4c6deb84b3.ttf → fontawesome-webfont.8a7cb27d142e3e19.ttf} +0 -0
  441. /package/dist/webpack/{f691f37e57f04c152e23.woff → fontawesome-webfont.cf011583fb81df9f.woff} +0 -0
  442. /package/dist/webpack/{c1e38fd9e0e74ba58f7a.svg → fontawesome-webfont.da909aa098b0ee2d.svg} +0 -0
  443. /package/dist/webpack/{20fd1704ea223900efa9.woff2 → fontawesome-webfont.e9955780856cf8aa.woff2} +0 -0
@@ -3,19 +3,22 @@
3
3
  (click)="applyCustomConfig()"
4
4
  [disabled]="!customConfigItem.isApplicable"
5
5
  [style.color]="customConfigItem | customConfig2ApplicableColor"
6
+ title="{{ customConfigItem.name }}"
6
7
  >
7
- <p class="config-name" title="{{ customConfigItem.name }}">
8
- <b>{{ customConfigItem.name }}</b>
9
- </p>
10
- <p class="config-metric"><i class="fa fa-arrows-alt"></i> {{ customConfigItem.metrics.areaMetric }}</p>
11
- <p class="config-metric"><i class="fa fa-arrows-v"></i> {{ customConfigItem.metrics.heightMetric }}</p>
12
- <p class="config-metric"><i class="fa fa-paint-brush"></i> {{ customConfigItem.metrics.colorMetric }}</p>
13
- <p class="config-metric" *ngIf="customConfigItem.metrics.edgeMetric">
14
- <i class="fa fa-exchange"></i> {{ customConfigItem.metrics.edgeMetric }}
15
- </p>
16
- <div class="color-schema-container">
17
- <div class="color-swatch-container" *ngFor="let mapColor of customConfigItem | customConfigColorSchemaBySelectionMode">
18
- <span class="color-swatch" [style.background-color]="customConfigItem.isApplicable ? mapColor : 'rgb(204, 204, 204)'"></span>
8
+ <div class="config-metric-list">
9
+ <p class="config-metric"><i class="fa fa-arrows-alt"></i> {{ customConfigItem.metrics.areaMetric }}</p>
10
+ <p class="config-metric"><i class="fa fa-arrows-v"></i> {{ customConfigItem.metrics.heightMetric }}</p>
11
+ <p class="config-metric"><i class="fa fa-paint-brush"></i> {{ customConfigItem.metrics.colorMetric }}</p>
12
+ <p class="config-metric" *ngIf="customConfigItem.metrics.edgeMetric">
13
+ <i class="fa fa-exchange"></i> {{ customConfigItem.metrics.edgeMetric }}
14
+ </p>
15
+ <div class="color-schema-container">
16
+ <div class="color-swatch-container" *ngFor="let mapColor of customConfigItem | customConfigColorSchemaBySelectionMode">
17
+ <span
18
+ class="color-swatch"
19
+ [style.background-color]="customConfigItem.isApplicable ? mapColor : 'rgb(204, 204, 204)'"
20
+ ></span>
21
+ </div>
19
22
  </div>
20
23
  </div>
21
24
  </button>
@@ -4,30 +4,34 @@ cc-apply-custom-config-button {
4
4
 
5
5
  button {
6
6
  flex-direction: row;
7
- flex-wrap: wrap;
8
- align-items: center;
9
- display: flex;
10
- flex: 1;
11
- gap: 10px;
7
+ width: 100%;
8
+ margin: 0;
12
9
 
13
10
  &:disabled {
14
11
  cursor: default;
15
12
  }
16
13
 
14
+ .config-metric-list {
15
+ display: flex;
16
+ flex-wrap: wrap;
17
+ gap: 10px;
18
+ }
19
+
17
20
  p {
18
21
  white-space: nowrap;
19
22
  text-overflow: ellipsis;
20
23
  overflow: hidden;
21
24
  font-size: 15px;
22
- margin: 5px 0;
25
+ margin: 0;
23
26
  text-align: left;
24
27
 
25
28
  &.config-name {
26
- flex: 0 0 22em;
29
+ flex: 1 1 auto;
30
+ width: 100%;
27
31
  }
28
32
 
29
33
  &.config-metric {
30
- flex: 0 0 8em;
34
+ flex: 0 0 9em;
31
35
  }
32
36
  }
33
37
 
@@ -1,5 +1,4 @@
1
- import "./applyCustomConfigButton.component.scss"
2
- import { Component, Inject, Input } from "@angular/core"
1
+ import { Component, Input, ViewEncapsulation } from "@angular/core"
3
2
  import { CustomConfigItem } from "../../../customConfigs.component"
4
3
  import { CustomConfigHelper } from "../../../../../util/customConfigHelper"
5
4
  import { Store } from "../../../../../state/angular-redux/store"
@@ -8,15 +7,17 @@ import { ThreeOrbitControlsService } from "../../../../codeMap/threeViewer/three
8
7
 
9
8
  @Component({
10
9
  selector: "cc-apply-custom-config-button",
11
- template: require("./applyCustomConfigButton.component.html")
10
+ templateUrl: "./applyCustomConfigButton.component.html",
11
+ styleUrls: ["./applyCustomConfigButton.component.scss"],
12
+ encapsulation: ViewEncapsulation.None
12
13
  })
13
14
  export class ApplyCustomConfigButtonComponent {
14
15
  @Input() customConfigItem: CustomConfigItem
15
16
 
16
17
  constructor(
17
- @Inject(Store) private store: Store,
18
- @Inject(ThreeCameraService) private threeCameraService: ThreeCameraService,
19
- @Inject(ThreeOrbitControlsService) private threeOrbitControlsService: ThreeOrbitControlsService
18
+ private store: Store,
19
+ private threeCameraService: ThreeCameraService,
20
+ private threeOrbitControlsService: ThreeOrbitControlsService
20
21
  ) {}
21
22
 
22
23
  applyCustomConfig() {
@@ -8,16 +8,12 @@ import { ThreeCameraService } from "../../../../codeMap/threeViewer/threeCamera.
8
8
  import { ThreeOrbitControlsService } from "../../../../codeMap/threeViewer/threeOrbitControls.service"
9
9
  import { CUSTOM_CONFIG_ITEM_GROUPS } from "../../../../../util/dataMocks"
10
10
  import { CustomConfigHelper } from "../../../../../util/customConfigHelper"
11
- import { MatDialogRef } from "@angular/material/dialog"
12
11
 
13
12
  describe("applyCustomConfigButtonComponent", () => {
14
- const mockedDialogReference = { close: jest.fn() }
15
-
16
13
  beforeEach(() => {
17
14
  TestBed.configureTestingModule({
18
15
  imports: [CustomConfigsModule],
19
16
  providers: [
20
- { provide: MatDialogRef, useValue: mockedDialogReference },
21
17
  { provide: ThreeCameraService, useValue: {} },
22
18
  { provide: ThreeOrbitControlsService, useValue: {} }
23
19
  ]
@@ -39,7 +35,6 @@ describe("applyCustomConfigButtonComponent", () => {
39
35
  expect(getComputedStyle(colorSwatchElements[2]).backgroundColor).toBe("rgb(130, 14, 14)")
40
36
  expect(getComputedStyle(colorSwatchElements[3]).backgroundColor).toBe("rgb(235, 131, 25)")
41
37
 
42
- expect(screen.getByText("SampleMap View #1")).not.toBeNull()
43
38
  expect(screen.getByText("rloc")).not.toBeNull()
44
39
  expect(screen.getByText("mcc")).not.toBeNull()
45
40
  expect(screen.getByText("functions")).not.toBeNull()
@@ -63,7 +58,6 @@ describe("applyCustomConfigButtonComponent", () => {
63
58
  const applyCustomConfigButton = screen.getByRole("button") as HTMLButtonElement
64
59
 
65
60
  expect(getComputedStyle(applyCustomConfigButton).color).toBe("rgb(204, 204, 204)")
66
- expect(screen.getByText("SampleMap View #1")).not.toBeNull()
67
61
  expect(screen.getByText("rloc")).not.toBeNull()
68
62
  expect(screen.getByText("mcc")).not.toBeNull()
69
63
  expect(screen.getByText("functions")).not.toBeNull()
@@ -5,17 +5,34 @@
5
5
  *ngFor="let customConfigItemGroup of customConfigItemGroups | keyvalue"
6
6
  >
7
7
  <mat-expansion-panel-header>
8
- <mat-panel-title>
8
+ <mat-panel-title class="custom-config-item-group-title">
9
9
  Custom View(s) in
10
- <span class="highlight-mode"> {{ customConfigItemGroup.value.mapSelectionMode | titlecase }} </span>
10
+ <strong> {{ customConfigItemGroup.value.mapSelectionMode | titlecase }} </strong>
11
11
  mode for
12
12
  {{ customConfigItemGroup.value.mapNames }}
13
13
  </mat-panel-title>
14
14
  </mat-expansion-panel-header>
15
15
  <mat-list *ngFor="let customConfig of customConfigItemGroup.value.customConfigItems">
16
16
  <mat-list-item title="{{ customConfig | customConfig2ApplicableMessage }}">
17
- <cc-apply-custom-config-button [customConfigItem]="customConfig"></cc-apply-custom-config-button>
18
- <div>
17
+ <div class="metrics-box">
18
+ <p class="config-item-name" title="{{ customConfig.name }}">
19
+ <strong>
20
+ <span (click)="applyCustomConfig(customConfig.id)" mat-dialog-close>
21
+ {{ customConfig.name | truncateText: 75 }}
22
+ </span>
23
+ </strong>
24
+ </p>
25
+ </div>
26
+ <div class="custom-config-note">
27
+ <p class="custom-config-note-content">
28
+ <span (click)="applyCustomConfig(customConfig.id)" mat-dialog-close>
29
+ {{ customConfig.note ? (customConfig.note | truncateText: 95) : "Add Note" }}
30
+ </span>
31
+ </p>
32
+ <cc-custom-config-note-dialog-button [customConfigItem]="customConfig"></cc-custom-config-note-dialog-button>
33
+ </div>
34
+ <div class="custom-config-action-buttons">
35
+ <cc-apply-custom-config-button [customConfigItem]="customConfig"></cc-apply-custom-config-button>
19
36
  <button class="remove-button" title="Remove Custom View" (click)="removeCustomConfig(customConfig.id)">
20
37
  <i class="fa fa-trash"></i>
21
38
  </button>
@@ -0,0 +1,38 @@
1
+ @use "../../../../../material/theme";
2
+
3
+ cc-custom-config-item-group {
4
+ .custom-config-item-group-title {
5
+ color: theme.$cc-font-color;
6
+ display: inline-block;
7
+ }
8
+
9
+ div {
10
+ .metrics-box {
11
+ margin-top: 10px;
12
+ }
13
+
14
+ .custom-config-note {
15
+ display: flex;
16
+ flex-wrap: wrap;
17
+ align-items: center;
18
+ margin-top: 5px;
19
+ }
20
+
21
+ .custom-config-action-buttons {
22
+ display: flex;
23
+ align-items: center;
24
+ margin-bottom: 5px;
25
+ }
26
+ }
27
+
28
+ p {
29
+ font-size: 15px;
30
+ margin: 0;
31
+ white-space: pre-line;
32
+
33
+ &.custom-config-note-content {
34
+ margin-right: 7px;
35
+ font-size: 13px;
36
+ }
37
+ }
38
+ }
@@ -1,6 +1,5 @@
1
1
  import { TestBed } from "@angular/core/testing"
2
2
  import { CustomConfigsModule } from "../../customConfigs.module"
3
- import { MatDialog, MatDialogRef } from "@angular/material/dialog"
4
3
  import { render, screen } from "@testing-library/angular"
5
4
  import { CustomConfigItemGroupComponent } from "./customConfigItemGroup.component"
6
5
  import { CUSTOM_CONFIG_ITEM_GROUPS } from "../../../../util/dataMocks"
@@ -11,6 +10,7 @@ import userEvent from "@testing-library/user-event"
11
10
  import { expect } from "@jest/globals"
12
11
  import { CustomConfigMapSelectionMode } from "../../../../model/customConfig/customConfig.api.model"
13
12
  import { visibleFilesBySelectionModeSelector } from "../../visibleFilesBySelectionMode.selector"
13
+ import { MatDialog, MatDialogRef } from "@angular/material/dialog"
14
14
 
15
15
  jest.mock("../../visibleFilesBySelectionMode.selector", () => ({
16
16
  visibleFilesBySelectionModeSelector: jest.fn()
@@ -53,11 +53,9 @@ describe("customConfigItemGroupComponent", () => {
53
53
  excludeComponentDeclaration: true,
54
54
  componentProperties: { customConfigItemGroups }
55
55
  })
56
- const applyCustomConfigButton = screen.getByText("SampleMap View #1").closest("button") as HTMLButtonElement
57
-
56
+ const applyCustomConfigButton = screen.getAllByText("mcc")[0].closest("button")
58
57
  await userEvent.click(applyCustomConfigButton)
59
58
 
60
- expect(screen.getAllByTitle("Apply Custom View").length).toBe(2)
61
59
  expect(applyCustomConfigButton.disabled).toBe(false)
62
60
  expect(CustomConfigHelper.applyCustomConfig).toHaveBeenCalledTimes(1)
63
61
  expect(mockedDialogReference.close).toHaveBeenCalledTimes(1)
@@ -87,6 +85,31 @@ describe("customConfigItemGroupComponent", () => {
87
85
  expect(mockedDialogReference.close).toHaveBeenCalledTimes(0)
88
86
  })
89
87
 
88
+ it("should apply a custom config and close custom config dialog when clicking on config name", async () => {
89
+ mockedVisibleFilesBySelectionModeSelector.mockImplementation(() => {
90
+ return {
91
+ mapSelectionMode: CustomConfigMapSelectionMode.MULTIPLE,
92
+ assignedMaps: new Map([
93
+ ["md5_fileB", "fileB"],
94
+ ["md5_fileC", "fileC"]
95
+ ])
96
+ }
97
+ })
98
+ const customConfigItemGroups = new Map([["File_B_File_C_STANDARD", CUSTOM_CONFIG_ITEM_GROUPS.get("File_B_File_C_STANDARD")]])
99
+ await render(CustomConfigItemGroupComponent, {
100
+ excludeComponentDeclaration: true,
101
+ componentProperties: { customConfigItemGroups }
102
+ })
103
+
104
+ CustomConfigHelper.applyCustomConfig = jest.fn()
105
+ const applyCustomConfigButton = screen.getByText("SampleMap View #1").closest("span") as HTMLElement
106
+
107
+ await userEvent.click(applyCustomConfigButton)
108
+
109
+ expect(CustomConfigHelper.applyCustomConfig).toHaveBeenCalledTimes(1)
110
+ expect(mockedDialogReference.close).toHaveBeenCalledTimes(1)
111
+ })
112
+
90
113
  it("should show tooltip with missing maps and correct selection mode if selected custom config is not fully applicable", async () => {
91
114
  mockedVisibleFilesBySelectionModeSelector.mockImplementation(() => {
92
115
  return {
@@ -100,7 +123,7 @@ describe("customConfigItemGroupComponent", () => {
100
123
  componentProperties: { customConfigItemGroups }
101
124
  })
102
125
 
103
- const applyCustomConfigButton = screen.getByText("SampleMap View #1").closest("button")
126
+ const applyCustomConfigButton = screen.getAllByText("mcc")[0].closest("button")
104
127
 
105
128
  expect(
106
129
  screen.getAllByTitle(
@@ -110,7 +133,7 @@ describe("customConfigItemGroupComponent", () => {
110
133
  expect(getComputedStyle(applyCustomConfigButton).color).toBe("rgb(204, 204, 204)")
111
134
  })
112
135
 
113
- it("should not be clickable for non-applicable custom configs", async () => {
136
+ it("should not be clickable for non-applicable custom configs, but can still change notes of custom configs", async () => {
114
137
  CustomConfigHelper.applyCustomConfig = jest.fn()
115
138
  CustomConfigHelper.applyCustomConfig = jest.fn()
116
139
  mockedVisibleFilesBySelectionModeSelector.mockImplementation(() => {
@@ -127,9 +150,11 @@ describe("customConfigItemGroupComponent", () => {
127
150
  excludeComponentDeclaration: true,
128
151
  componentProperties: { customConfigItemGroups }
129
152
  })
130
- const applyCustomConfigButton = screen.getByText("SampleMap View #1").closest("button") as HTMLButtonElement
153
+ const editNoteArea = screen.getAllByTitle("Edit/View Note")[0] as HTMLButtonElement
154
+ const applyCustomConfigButton = screen.getAllByText("mcc")[0].closest("button") as HTMLButtonElement
131
155
 
132
156
  expect(applyCustomConfigButton.disabled).toBe(true)
157
+ expect(editNoteArea.disabled).toBe(false)
133
158
  expect(getComputedStyle(applyCustomConfigButton).color).toBe("rgb(204, 204, 204)")
134
159
  })
135
160
  })
@@ -1,16 +1,31 @@
1
- import { Component, Input } from "@angular/core"
1
+ import { Component, Input, ViewEncapsulation } from "@angular/core"
2
2
  import { CustomConfigHelper } from "../../../../util/customConfigHelper"
3
3
  import { CustomConfigItemGroup } from "../../customConfigs.component"
4
+ import { Store } from "../../../../state/angular-redux/store"
5
+ import { ThreeCameraService } from "../../../codeMap/threeViewer/threeCamera.service"
6
+ import { ThreeOrbitControlsService } from "../../../codeMap/threeViewer/threeOrbitControls.service"
4
7
 
5
8
  @Component({
6
9
  selector: "cc-custom-config-item-group",
7
- template: require("./customConfigItemGroup.component.html")
10
+ templateUrl: "./customConfigItemGroup.component.html",
11
+ styleUrls: ["./customConfigItemGroup.component.scss"],
12
+ encapsulation: ViewEncapsulation.None
8
13
  })
9
14
  export class CustomConfigItemGroupComponent {
10
15
  @Input() customConfigItemGroups: Map<string, CustomConfigItemGroup>
11
16
  isExpanded = false
12
17
 
18
+ constructor(
19
+ private store: Store,
20
+ private threeCameraService: ThreeCameraService,
21
+ private threeOrbitControlsService: ThreeOrbitControlsService
22
+ ) {}
23
+
13
24
  removeCustomConfig(configId: string) {
14
25
  CustomConfigHelper.deleteCustomConfig(configId)
15
26
  }
27
+
28
+ applyCustomConfig(configId: string) {
29
+ CustomConfigHelper.applyCustomConfig(configId, this.store, this.threeCameraService, this.threeOrbitControlsService)
30
+ }
16
31
  }
@@ -1,18 +1,18 @@
1
- <mat-dialog-content class="content" *ngIf="customConfigService.customConfigItemGroups$ | async; let dropDownCustomConfigItemGroups">
1
+ <mat-toolbar color="primary"
2
+ >Custom Views
2
3
  <div class="row">
3
- <div class="title">
4
- <h3>Custom Views</h3>
5
- </div>
6
4
  <div class="action-buttons">
7
5
  <cc-upload-custom-config-button></cc-upload-custom-config-button>
8
6
  <cc-download-custom-configs-button></cc-download-custom-configs-button>
9
7
  <cc-add-custom-config-button class="custom-configs-button-in-custom-views"></cc-add-custom-config-button>
10
- </div>
11
- </div>
12
- <div class="custom-config-documentation-hint">
8
+ </div></div
9
+ ></mat-toolbar>
10
+
11
+ <mat-dialog-content class="content" *ngIf="customConfigService.customConfigItemGroups$ | async; let dropDownCustomConfigItemGroups">
12
+ <p class="custom-config-documentation-hint">
13
13
  Custom Views allow you to save and upload your individual configurations for certain maps. Find out more about Custom Views in the
14
14
  <a href="https://maibornwolff.github.io/codecharta/docs/custom-view/" target="_blank" rel="noopener noreferrer">documentation</a>.
15
- </div>
15
+ </p>
16
16
  <mat-divider></mat-divider>
17
17
  <div
18
18
  class="no-custom-configs-box"
@@ -1,33 +1,36 @@
1
1
  @use "../../../../material/theme";
2
2
 
3
- .cc-custom-config-list .mat-dialog-container {
4
- padding: 5px 16px;
5
- max-height: 90vh;
3
+ .cc-custom-config-list {
4
+ width: 850px;
6
5
 
7
- .mat-dialog-content.content {
8
- max-height: 100%;
9
- margin: 0;
10
- padding: 0;
6
+ .mat-mdc-dialog-content {
7
+ padding: 16px;
8
+ max-height: 90vh;
11
9
  }
12
10
 
13
11
  .row {
14
12
  display: flex;
15
13
  justify-content: space-between;
16
14
  align-items: center;
15
+ margin-left: auto;
17
16
  }
18
17
 
19
18
  .custom-config-documentation-hint {
20
19
  margin: 10px 0 20px 0;
20
+ font-size: 1.4em;
21
+ line-height: 1.4em;
22
+ color: theme.$cc-font-color;
21
23
  }
22
24
 
23
25
  .action-buttons button {
24
26
  margin: 0 3px;
25
27
  min-width: 12%;
26
28
  height: 48px;
27
- width: 65px;
29
+ width: 48px;
30
+ border-radius: 100%;
28
31
  line-height: 48px;
29
- background-color: theme.$cc-primary-color;
30
- color: #ffffff;
32
+ background-color: #ffffff;
33
+ color: theme.$cc-primary-color;
31
34
 
32
35
  &:disabled,
33
36
  &[disabled] {
@@ -51,11 +54,6 @@
51
54
  margin: 0;
52
55
  }
53
56
 
54
- .highlight-mode {
55
- font-weight: bold;
56
- white-space: break-spaces;
57
- }
58
-
59
57
  .mat-expansion-panel-body {
60
58
  padding: 0 16px;
61
59
  }
@@ -69,18 +67,22 @@
69
67
  }
70
68
 
71
69
  &.non-applicable-group {
72
- .mat-expansion-panel-header-title,
73
- .mat-list-item-content {
70
+ .mat-expansion-panel-header-title {
74
71
  color: rgba(0, 0, 0, 0.3);
75
72
  }
76
73
  }
77
74
 
78
- .mat-list-item-content {
79
- display: flex;
80
- justify-content: space-between;
75
+ .mdc-list-item__content {
76
+ width: 100%;
81
77
  border-bottom: 1px solid #000000;
82
78
  padding: 0 5px;
83
79
 
80
+ .mdc-list-item__primary-text {
81
+ display: flex;
82
+ flex-direction: column;
83
+ width: 100%;
84
+ }
85
+
84
86
  &:hover {
85
87
  background-color: rgba(0, 0, 0, 0.04);
86
88
  }
@@ -88,10 +90,11 @@
88
90
  button {
89
91
  background-color: transparent;
90
92
 
91
- &.remove-button {
93
+ &.remove-button,
94
+ &.custom-config-note-dialog-button {
92
95
  font-size: 16px;
93
96
  padding: 8px 10px;
94
- margin: 0;
97
+ margin: 0px;
95
98
 
96
99
  &:hover {
97
100
  background-color: rgba(0, 0, 0, 0.05);
@@ -103,24 +106,17 @@
103
106
  }
104
107
  }
105
108
 
106
- .mat-accordion > .mat-expansion-panel-spacing:last-child,
107
- .mat-accordion > *:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing,
108
- .mat-accordion > .mat-expansion-panel-spacing:first-child,
109
- .mat-accordion > *:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing {
110
- margin: 2px 0;
111
- }
112
-
113
109
  .toggle-non-applicable-configs-button {
114
110
  width: 100%;
115
111
  height: 30px;
116
112
  margin: 5px 0;
117
113
  }
118
114
 
119
- .mat-list-base {
115
+ .mat-mdc-list-base {
120
116
  padding: 0;
121
117
  }
122
118
 
123
- .mat-list-item {
119
+ .mat-mdc-list-item {
124
120
  height: max-content;
125
121
  }
126
122
  }
@@ -1,7 +1,6 @@
1
1
  import { Store } from "../../../state/store/store"
2
2
  import { TestBed } from "@angular/core/testing"
3
3
  import { CustomConfigsModule } from "../customConfigs.module"
4
- import { MatDialog } from "@angular/material/dialog"
5
4
  import { CustomConfigListComponent } from "./customConfigList.component"
6
5
  import { render, screen } from "@testing-library/angular"
7
6
  import { CustomConfigHelperService } from "../customConfigHelper.service"
@@ -15,6 +14,7 @@ import { ThreeSceneService } from "../../codeMap/threeViewer/threeSceneService"
15
14
  import { ThreeOrbitControlsService } from "../../codeMap/threeViewer/threeOrbitControls.service"
16
15
  import userEvent from "@testing-library/user-event"
17
16
  import { expect } from "@jest/globals"
17
+ import { MatDialog } from "@angular/material/dialog"
18
18
 
19
19
  const mockedCustomConfigHelperService = {
20
20
  customConfigItemGroups$: of({
@@ -106,7 +106,9 @@ describe("customConfigListComponent", () => {
106
106
 
107
107
  expect(container.querySelectorAll("mat-list-item").length).toBe(2)
108
108
  expect(screen.getByText("SampleMap View #1")).not.toBeNull()
109
+ expect(screen.getByText("a note")).not.toBeNull()
109
110
  expect(screen.getByText("SampleMap View #2")).not.toBeNull()
111
+ expect(screen.getByText("Add Note")).not.toBeNull()
110
112
  })
111
113
 
112
114
  it("should disable button for all custom configs belonging to a non-applicable custom config item group", async () => {
@@ -123,7 +125,8 @@ describe("customConfigListComponent", () => {
123
125
 
124
126
  await userEvent.click(customConfigItemGroupElement)
125
127
 
126
- expect(screen.getByText("SampleMap Delta View #1")).not.toBeNull()
127
- expect((screen.getByText("SampleMap Delta View #1").closest("button") as HTMLButtonElement).disabled).toBe(true)
128
+ expect((screen.getAllByTitle("SampleMap Delta View #1", { exact: false })[1].closest("button") as HTMLButtonElement).disabled).toBe(
129
+ true
130
+ )
128
131
  })
129
132
  })
@@ -1,14 +1,15 @@
1
- import "./customConfigList.component.scss"
2
- import { Component, Inject } from "@angular/core"
1
+ import { Component, ViewEncapsulation } from "@angular/core"
3
2
  import { CustomConfigHelperService } from "../customConfigHelper.service"
4
3
 
5
4
  @Component({
6
- template: require("./customConfigList.component.html")
5
+ templateUrl: "./customConfigList.component.html",
6
+ styleUrls: ["./customConfigList.component.scss"],
7
+ encapsulation: ViewEncapsulation.None
7
8
  })
8
9
  export class CustomConfigListComponent {
9
10
  isCollapsed = true
10
11
 
11
- constructor(@Inject(CustomConfigHelperService) public customConfigService: CustomConfigHelperService) {}
12
+ constructor(public customConfigService: CustomConfigHelperService) {}
12
13
 
13
14
  toggleNonApplicableCustomConfigsList() {
14
15
  this.isCollapsed = !this.isCollapsed
@@ -30,7 +30,8 @@ describe("getCustomConfigItemGroups", () => {
30
30
  colorMetric: "mcc",
31
31
  edgeMetric: "avgCommits"
32
32
  }
33
- }
33
+ },
34
+ note: "Custom Note 1"
34
35
  } as CustomConfig
35
36
 
36
37
  const customConfigStub2 = {
@@ -75,6 +76,7 @@ describe("getCustomConfigItemGroups", () => {
75
76
  const applicableGroup = actualCustomConfigItemGroups.applicableItems.get("map1_map2_STANDARD")
76
77
  expect(applicableGroup.customConfigItems[0].name).toBe("config1")
77
78
  expect(applicableGroup.customConfigItems[0].isApplicable).toBe(true)
79
+ expect(applicableGroup.customConfigItems[0].note).toBe("Custom Note 1")
78
80
  expect(applicableGroup.customConfigItems[0].metrics).toEqual({
79
81
  heightMetric: "mcc",
80
82
  areaMetric: "rloc",
@@ -89,6 +91,7 @@ describe("getCustomConfigItemGroups", () => {
89
91
  negativeDelta: "red",
90
92
  positiveDelta: "green"
91
93
  })
94
+ expect(applicableGroup.customConfigItems[0].note).toBe("Custom Note 1")
92
95
  })
93
96
 
94
97
  it("should set applicable-flags to false when current assigned map names, checksums and selection mode are not matching a custom config", () => {
@@ -107,6 +110,7 @@ describe("getCustomConfigItemGroups", () => {
107
110
 
108
111
  const nonApplicableGroup = actualCustomConfigItemGroups.nonApplicableItems.get("map3_STANDARD")
109
112
  expect(nonApplicableGroup.customConfigItems[0].name).toBe("config2")
113
+ expect(nonApplicableGroup.customConfigItems[0].note).toBeUndefined()
110
114
  expect(nonApplicableGroup.customConfigItems[0].isApplicable).toBe(false)
111
115
  })
112
116
 
@@ -38,7 +38,8 @@ export function getCustomConfigItemGroups({ assignedMaps }: VisibleFilesBySelect
38
38
  mapSelectionMode: customConfig.mapSelectionMode,
39
39
  metrics: { areaMetric, heightMetric, colorMetric, edgeMetric },
40
40
  mapColors: { positive, neutral, negative, selected, positiveDelta, negativeDelta },
41
- isApplicable: isCustomConfigItemApplicable
41
+ isApplicable: isCustomConfigItemApplicable,
42
+ ...(customConfig.note && { note: customConfig.note })
42
43
  })
43
44
 
44
45
  if (customConfigItemGroups.get(groupKey).hasApplicableItems) {
@@ -0,0 +1,12 @@
1
+ <div class="custom-config-note-dialog-container">
2
+ <div mat-dialog-content class="note-input-container">
3
+ <mat-form-field class="note-input" appearance="fill">
4
+ <mat-label>Custom Note</mat-label>
5
+ <textarea matInput cdkAutosizeMinRows="10" cdkTextareaAutosize [(ngModel)]="data"></textarea>
6
+ </mat-form-field>
7
+ </div>
8
+ <div mat-dialog-actions class="note-dialog-action-buttons">
9
+ <button [mat-dialog-close]>Cancel</button>
10
+ <button [mat-dialog-close]="data">Ok</button>
11
+ </div>
12
+ </div>
@@ -0,0 +1,31 @@
1
+ @use "app/material/theme";
2
+
3
+ cc-custom-config-note-dialog {
4
+ .custom-config-note-dialog-container {
5
+ padding: 20px 24px;
6
+
7
+ .note-input-container {
8
+ padding: 0;
9
+
10
+ .note-input {
11
+ width: 100%;
12
+ }
13
+ }
14
+ .note-dialog-action-buttons {
15
+ justify-content: flex-end;
16
+ padding: 0;
17
+ }
18
+
19
+ button {
20
+ padding: 12px;
21
+ margin: 0 0 0 10px;
22
+ color: theme.$cc-primary-color;
23
+ background-color: rgba(138, 132, 132, 0.08);
24
+
25
+ &:hover {
26
+ background-color: rgba(0, 0, 0, 0.05);
27
+ color: theme.$cc-primary-color;
28
+ }
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,12 @@
1
+ import { Component, Inject, ViewEncapsulation } from "@angular/core"
2
+ import { MAT_DIALOG_DATA } from "@angular/material/dialog"
3
+
4
+ @Component({
5
+ selector: "cc-custom-config-note-dialog",
6
+ templateUrl: "./customConfigNoteDialog.component.html",
7
+ styleUrls: ["./customConfigNoteDialog.component.scss"],
8
+ encapsulation: ViewEncapsulation.None
9
+ })
10
+ export class CustomConfigNoteDialogComponent {
11
+ constructor(@Inject(MAT_DIALOG_DATA) public data: string) {}
12
+ }