codecharta-visualization 1.113.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 (491) hide show
  1. package/README.md +4 -1
  2. package/app/app.module.ts +1 -11
  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 +2 -5
  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/fileRoot.ts +8 -0
  16. package/app/codeCharta/services/loadFile/loadFile.service.spec.ts +12 -11
  17. package/app/codeCharta/services/loadFile/loadFile.service.ts +10 -12
  18. package/app/codeCharta/services/loadInitialFile/loadInitialFile.service.spec.ts +1 -1
  19. package/app/codeCharta/services/loadInitialFile/loadInitialFile.service.ts +7 -7
  20. package/app/codeCharta/services/version/version.service.ts +2 -2
  21. package/app/codeCharta/state/angular-redux/effects/createEffect.spec.ts +1 -2
  22. package/app/codeCharta/state/effects/addBlacklistItemsIfNotResultsInEmptyMap/addBlacklistItemsIfNotResultsInEmptyMap.effect.spec.ts +4 -9
  23. package/app/codeCharta/state/effects/addBlacklistItemsIfNotResultsInEmptyMap/resultsInEmptyMap.ts +2 -2
  24. package/app/codeCharta/state/effects/autoFitCodeMapChange/autoFitCodeMap.effect.spec.ts +1 -2
  25. package/app/codeCharta/state/effects/autoFitCodeMapChange/autoFitCodeMap.effect.ts +5 -5
  26. package/app/codeCharta/state/effects/linkColorMetricToHeightMetric/linkColorMetricToHeightMetric.effect.ts +2 -2
  27. package/app/codeCharta/state/effects/nodeContextMenu/excludeButton/excludeButton.component.ts +6 -5
  28. package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.component.html +2 -2
  29. package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.component.spec.ts +4 -4
  30. package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.component.ts +7 -6
  31. package/app/codeCharta/state/effects/nodeContextMenu/focusButtons/focusButtons.component.ts +4 -3
  32. package/app/codeCharta/state/effects/nodeContextMenu/highlightButtons/highlightButtons.component.spec.ts +5 -5
  33. package/app/codeCharta/state/effects/nodeContextMenu/highlightButtons/highlightButtons.component.ts +4 -6
  34. package/app/codeCharta/state/effects/nodeContextMenu/markFolderRow/markFolderRow.component.ts +5 -4
  35. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenu.service.ts +2 -2
  36. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.html +1 -1
  37. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.scss +6 -7
  38. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.spec.ts +1 -2
  39. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.ts +5 -4
  40. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.module.ts +1 -2
  41. package/app/codeCharta/state/effects/nodeContextMenu/openNodeContextMenu.effect.ts +1 -4
  42. package/app/codeCharta/state/effects/renderCodeMapEffect/actionsRequiringRerender.ts +3 -1
  43. package/app/codeCharta/state/effects/renderCodeMapEffect/renderCodeMap.effect.ts +4 -4
  44. package/app/codeCharta/state/effects/resetChosenMetrics/resetChosenMetrics.effect.spec.ts +25 -19
  45. package/app/codeCharta/state/effects/resetChosenMetrics/resetChosenMetrics.effect.ts +6 -5
  46. package/app/codeCharta/state/effects/resetSelectedEdgeMetricWhenItDoesntExistAnymore/resetSelectedEdgeMetricWhenItDoesntExistAnymore.effect.spec.ts +13 -13
  47. package/app/codeCharta/state/effects/resetSelectedEdgeMetricWhenItDoesntExistAnymore/resetSelectedEdgeMetricWhenItDoesntExistAnymore.effect.ts +6 -6
  48. package/app/codeCharta/state/effects/unfocusNodes/unfocusNodes.effect.ts +2 -2
  49. package/app/codeCharta/state/effects/updateEdgePreviews/updateEdgePreviews.effect.ts +2 -2
  50. package/app/codeCharta/state/effects/updateEdgePreviews/utils/edgePreviewNodes.selector.ts +5 -3
  51. package/app/codeCharta/state/effects/updateFileSettings/updateFileSettings.effect.ts +2 -2
  52. package/app/codeCharta/state/effects/updateFileSettings/utils/__snapshots__/blacklist.merger.spec.ts.snap +9 -9
  53. package/app/codeCharta/state/effects/updateFileSettings/utils/__snapshots__/edges.merger.spec.ts.snap +16 -16
  54. package/app/codeCharta/state/effects/updateFileSettings/utils/__snapshots__/markedPackages.merger.spec.ts.snap +10 -10
  55. package/app/codeCharta/state/effects/updateFileSettings/utils/blacklist.merger.spec.ts +6 -6
  56. package/app/codeCharta/state/effects/updateVisibleTopLabels/updateVisibleTopLabels.effect.ts +2 -2
  57. package/app/codeCharta/state/selectors/accumulatedData/accumulatedData.selector.spec.ts +76 -0
  58. package/app/codeCharta/state/selectors/accumulatedData/accumulatedData.selector.ts +7 -12
  59. package/app/codeCharta/state/selectors/accumulatedData/metricData/edgeMetricData.calculator.spec.ts +46 -0
  60. package/app/codeCharta/state/selectors/accumulatedData/metricData/{edgeMetricData.selector.ts → edgeMetricData.calculator.ts} +12 -28
  61. package/app/codeCharta/state/selectors/accumulatedData/metricData/metricData.selector.ts +10 -6
  62. package/app/codeCharta/state/selectors/accumulatedData/metricData/metricNames.selector.spec.ts +5 -5
  63. package/app/codeCharta/state/selectors/accumulatedData/metricData/metricNames.selector.ts +2 -2
  64. package/app/codeCharta/state/selectors/accumulatedData/metricData/{nodeMetricData.selector.spec.ts → nodeMetricData.calculator.spec.ts} +3 -4
  65. package/app/codeCharta/state/selectors/accumulatedData/metricData/{nodeMetricData.selector.ts → nodeMetricData.calculator.ts} +2 -7
  66. package/app/codeCharta/state/selectors/accumulatedData/metricData/selectedColorMetricData.selector.ts +4 -4
  67. package/app/codeCharta/state/selectors/accumulatedData/utils/addEdgeMetricsForLeaves.ts +3 -2
  68. package/app/codeCharta/state/selectors/accumulatedData/utils/getMetricValuesForNode.spec.ts +4 -11
  69. package/app/codeCharta/state/selectors/accumulatedData/utils/getMetricValuesForNode.ts +2 -2
  70. package/app/codeCharta/state/selectors/allNecessaryRenderDataAvailable/areAllNecessaryRenderDataAvailable.selector.ts +7 -6
  71. package/app/codeCharta/state/selectors/primaryMetrics/primaryMetrics.selector.ts +27 -11
  72. package/app/codeCharta/state/store/appSettings/appSettings.actions.ts +3 -3
  73. package/app/codeCharta/state/store/appSettings/appSettings.reducer.ts +3 -3
  74. package/app/codeCharta/state/store/appSettings/enableFloorLabels/enableFloorLabels.actions.ts +21 -0
  75. package/app/codeCharta/state/store/appSettings/enableFloorLabels/enableFloorLabels.reducer.spec.ts +26 -0
  76. package/app/codeCharta/state/store/appSettings/enableFloorLabels/enableFloorLabels.reducer.ts +10 -0
  77. package/app/codeCharta/state/store/appSettings/{dynamicMargin/dynamicMargin.selector.ts → enableFloorLabels/enableFloorLabels.selector.ts} +1 -1
  78. package/app/codeCharta/state/store/appSettings/invertArea/invertArea.actions.ts +1 -12
  79. package/app/codeCharta/state/store/appSettings/invertArea/invertArea.reducer.ts +2 -4
  80. package/app/codeCharta/state/store/dynamicSettings/colorRange/resetColorRange.effect.ts +1 -1
  81. package/app/codeCharta/state/store/dynamicSettings/focusedNodePath/focusedNodePath.reducer.ts +2 -2
  82. package/app/codeCharta/state/store/fileSettings/blacklist/blacklist.reducer.spec.ts +5 -9
  83. package/app/codeCharta/state/store/state.reducer.spec.ts +3 -3
  84. package/app/codeCharta/ui/actionIcon/actionIcon.component.ts +4 -3
  85. package/app/codeCharta/ui/actionIcon/actionIcon.module.ts +1 -2
  86. package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.scss +1 -1
  87. package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.spec.ts +59 -7
  88. package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.ts +5 -7
  89. package/app/codeCharta/ui/attributeSideBar/attributeSideBar.module.ts +2 -2
  90. package/app/codeCharta/ui/attributeSideBar/attributeSideBarHeaderSection/attributeSideBarHeaderSection.component.ts +5 -4
  91. package/app/codeCharta/ui/attributeSideBar/attributeSideBarHeaderSection/nodePath/nodePath.component.ts +4 -3
  92. package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetric/attributeSideBarPrimaryMetric.component.ts +4 -3
  93. package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetrics.component.html +10 -5
  94. package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetrics.component.ts +4 -3
  95. package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/attributeSideBarSecondaryMetrics.component.html +5 -1
  96. package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/attributeSideBarSecondaryMetrics.component.ts +4 -3
  97. package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/secondaryMetrics.selector.spec.ts +29 -4
  98. package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/secondaryMetrics.selector.ts +11 -4
  99. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.component.scss +4 -6
  100. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.component.ts +5 -4
  101. package/app/codeCharta/ui/attributeSideBar/metricDeltaSelected/metricDeltaSelected.component.spec.ts +3 -4
  102. package/app/codeCharta/ui/attributeSideBar/metricDeltaSelected/metricDeltaSelected.component.ts +4 -3
  103. package/app/codeCharta/ui/attributeSideBar/util/edge.ts +7 -0
  104. package/app/codeCharta/ui/attributeSideBar/util/metric.ts +2 -0
  105. package/app/codeCharta/ui/{legendPanel/selectors/legendMetric.ts → attributeSideBar/util/metricDescriptors.ts} +10 -4
  106. package/app/codeCharta/ui/codeMap/__snapshots__/codeMap.arrow.service.spec.ts.snap +16 -16
  107. package/app/codeCharta/ui/codeMap/__snapshots__/codeMap.render.service.spec.ts.snap +19 -19
  108. package/app/codeCharta/ui/codeMap/codeMap.arrow.service.spec.ts +5 -4
  109. package/app/codeCharta/ui/codeMap/codeMap.arrow.service.ts +34 -29
  110. package/app/codeCharta/ui/codeMap/codeMap.component.ts +9 -8
  111. package/app/codeCharta/ui/codeMap/codeMap.label.service.ts +5 -5
  112. package/app/codeCharta/ui/codeMap/codeMap.mouseEvent.service.spec.ts +18 -6
  113. package/app/codeCharta/ui/codeMap/codeMap.mouseEvent.service.ts +30 -25
  114. package/app/codeCharta/ui/codeMap/codeMap.render.service.spec.ts +8 -6
  115. package/app/codeCharta/ui/codeMap/codeMap.render.service.ts +18 -13
  116. package/app/codeCharta/ui/codeMap/threeViewer/threeOrbitControls.service.spec.ts +3 -3
  117. package/app/codeCharta/ui/codeMap/threeViewer/threeOrbitControls.service.ts +9 -9
  118. package/app/codeCharta/ui/codeMap/threeViewer/threeRenderer.service.ts +3 -3
  119. package/app/codeCharta/ui/codeMap/threeViewer/threeSceneService.spec.ts +12 -2
  120. package/app/codeCharta/ui/codeMap/threeViewer/threeSceneService.ts +19 -22
  121. package/app/codeCharta/ui/codeMap/threeViewer/threeStats.service.spec.ts +27 -32
  122. package/app/codeCharta/ui/codeMap/threeViewer/threeStats.service.ts +3 -4
  123. package/app/codeCharta/ui/codeMap/threeViewer/threeViewer.service.spec.ts +2 -2
  124. package/app/codeCharta/ui/codeMap/threeViewer/threeViewer.service.ts +6 -6
  125. package/app/codeCharta/ui/colorPicker/colorPicker.component.spec.ts +5 -2
  126. package/app/codeCharta/ui/colorPicker/colorPicker.component.ts +3 -2
  127. package/app/codeCharta/ui/colorPickerForMapColor/colorPickerForMapColor.component.ts +5 -4
  128. package/app/codeCharta/ui/copyToClipboardButton/copyToClipboard.service.ts +2 -2
  129. package/app/codeCharta/ui/copyToClipboardButton/copyToClipboardButton.component.ts +4 -3
  130. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigButton.component.spec.ts +17 -10
  131. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigButton.component.ts +4 -3
  132. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigButton.module.ts +3 -3
  133. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.component.html +14 -2
  134. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.component.ts +23 -13
  135. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.spec.ts +23 -9
  136. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomDialog.component.scss +7 -6
  137. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/downloadAndPurgeConfigs/downloadAndPurgeConfigs.component.ts +5 -4
  138. package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/downloadAndPurgeConfigs/downloadAndPurgeConfigs.spec.ts +3 -3
  139. package/app/codeCharta/ui/customConfigs/customConfigHelper.service.ts +2 -2
  140. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfig2ApplicableColor.pipe.ts +2 -2
  141. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfig2ApplicableMessage.pipe.ts +2 -2
  142. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.component.html +15 -12
  143. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.component.scss +12 -8
  144. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.component.ts +7 -6
  145. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.spec.ts +0 -6
  146. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.html +21 -4
  147. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.scss +38 -0
  148. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.spec.ts +32 -7
  149. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.ts +17 -2
  150. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/getMissingCustomConfigModeAndMaps.spec.ts +1 -2
  151. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.html +8 -8
  152. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.scss +27 -31
  153. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.spec.ts +6 -3
  154. package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.ts +5 -4
  155. package/app/codeCharta/ui/customConfigs/customConfigList/getCustomConfigItemGroups.spec.ts +5 -1
  156. package/app/codeCharta/ui/customConfigs/customConfigList/getCustomConfigItemGroups.ts +2 -1
  157. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialog/customConfigNoteDialog.component.html +12 -0
  158. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialog/customConfigNoteDialog.component.scss +31 -0
  159. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialog/customConfigNoteDialog.component.ts +12 -0
  160. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.component.html +3 -0
  161. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.component.spec.ts +90 -0
  162. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.component.ts +33 -0
  163. package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.module.ts +14 -0
  164. package/app/codeCharta/ui/customConfigs/customConfigs.component.spec.ts +5 -4
  165. package/app/codeCharta/ui/customConfigs/customConfigs.component.ts +6 -4
  166. package/app/codeCharta/ui/customConfigs/customConfigs.module.ts +14 -3
  167. package/app/codeCharta/ui/customConfigs/downloadCustomConfigsButton/downloadCustomConfigsButton.component.ts +4 -3
  168. package/app/codeCharta/ui/customConfigs/uploadCustomConfigButton/uploadCustomConfigButton.component.ts +3 -2
  169. package/app/codeCharta/ui/customConfigs/uploadCustomConfigButton/uploadCustomConfigButton.module.ts +1 -2
  170. package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.component.html +6 -6
  171. package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.component.scss +6 -14
  172. package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.component.ts +4 -3
  173. package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.module.ts +1 -2
  174. package/app/codeCharta/ui/dialogs/confirmationDialog/confirmationDialog.component.scss +3 -3
  175. package/app/codeCharta/ui/dialogs/confirmationDialog/confirmationDialog.component.ts +4 -3
  176. package/app/codeCharta/ui/dialogs/errorDialog/errorDialog.component.po.ts +4 -9
  177. package/app/codeCharta/ui/dialogs/errorDialog/errorDialog.component.ts +3 -2
  178. package/app/codeCharta/ui/export3DMapButton/export3DMapButton.component.ts +4 -3
  179. package/app/codeCharta/ui/fileExtensionBar/distributionMetricChooser/distributionMetricChooser.component.ts +4 -3
  180. package/app/codeCharta/ui/fileExtensionBar/fileExtensionBar.component.scss +5 -6
  181. package/app/codeCharta/ui/fileExtensionBar/fileExtensionBar.component.ts +5 -4
  182. package/app/codeCharta/ui/fileExtensionBar/fileExtensionBar.module.ts +1 -2
  183. package/app/codeCharta/ui/fileExtensionBar/selectors/fileExtensionCalculator.spec.ts +22 -22
  184. package/app/codeCharta/ui/fileExtensionBar/selectors/fileExtensionCalculator.ts +1 -1
  185. package/app/codeCharta/ui/filePanel/filePanel.component.html +1 -1
  186. package/app/codeCharta/ui/filePanel/filePanel.component.scss +7 -27
  187. package/app/codeCharta/ui/filePanel/filePanel.component.spec.ts +1 -2
  188. package/app/codeCharta/ui/filePanel/filePanel.component.ts +5 -4
  189. package/app/codeCharta/ui/filePanel/filePanel.module.ts +2 -2
  190. package/app/codeCharta/ui/filePanel/filePanel.po.ts +6 -4
  191. package/app/codeCharta/ui/filePanel/filePanelDeltaSelector/filePanelDeltaSelector.component.html +26 -24
  192. package/app/codeCharta/ui/filePanel/filePanelDeltaSelector/filePanelDeltaSelector.component.scss +6 -0
  193. package/app/codeCharta/ui/filePanel/filePanelDeltaSelector/filePanelDeltaSelector.component.ts +5 -3
  194. package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.html +1 -0
  195. package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.scss +2 -9
  196. package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.spec.ts +1 -1
  197. package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.ts +5 -4
  198. package/app/codeCharta/ui/filePanel/filePanelFileSelector/removeFileButton/removeFileButton.component.scss +1 -1
  199. package/app/codeCharta/ui/filePanel/filePanelFileSelector/removeFileButton/removeFileButton.component.ts +5 -4
  200. package/app/codeCharta/ui/filePanel/filePanelStateButtons/filePanelStateButtons.component.html +1 -1
  201. package/app/codeCharta/ui/filePanel/filePanelStateButtons/filePanelStateButtons.component.ts +4 -6
  202. package/app/codeCharta/ui/filePanel/fileSelectionMode.service.ts +2 -2
  203. package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.html +1 -1
  204. package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.scss +12 -8
  205. package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.spec.ts +2 -2
  206. package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.ts +4 -3
  207. package/app/codeCharta/ui/legendPanel/legendBlock/legendBlock.component.html +8 -8
  208. package/app/codeCharta/ui/legendPanel/legendBlock/legendBlock.component.ts +5 -4
  209. package/app/codeCharta/ui/legendPanel/legendMarkedPackages/legendMarkedPackages.component.ts +5 -4
  210. package/app/codeCharta/ui/legendPanel/legendPanel.component.html +12 -6
  211. package/app/codeCharta/ui/legendPanel/legendPanel.component.spec.ts +10 -0
  212. package/app/codeCharta/ui/legendPanel/legendPanel.component.ts +5 -7
  213. package/app/codeCharta/ui/legendPanel/selectors/legendAreaMetric.selector.ts +4 -4
  214. package/app/codeCharta/ui/legendPanel/selectors/legendColorMetric.selector.ts +4 -4
  215. package/app/codeCharta/ui/legendPanel/selectors/legendEdgeMetric.selector.spec.ts +10 -4
  216. package/app/codeCharta/ui/legendPanel/selectors/legendEdgeMetric.selector.ts +7 -7
  217. package/app/codeCharta/ui/legendPanel/selectors/legendHeightMetric.selector.ts +4 -4
  218. package/app/codeCharta/ui/loadingFileProgressSpinner/loadingFileProgressSpinner.component.scss +1 -1
  219. package/app/codeCharta/ui/loadingFileProgressSpinner/loadingFileProgressSpinner.component.ts +5 -4
  220. package/app/codeCharta/ui/metricChooser/metricChooser.component.html +1 -2
  221. package/app/codeCharta/ui/metricChooser/metricChooser.component.scss +22 -13
  222. package/app/codeCharta/ui/metricChooser/metricChooser.component.spec.ts +9 -7
  223. package/app/codeCharta/ui/metricChooser/metricChooser.component.ts +11 -10
  224. package/app/codeCharta/ui/metricChooser/metricChooser.module.ts +1 -2
  225. package/app/codeCharta/ui/metricChooser/metricChooserTypeHovered/metricChooserTypeHovered.component.spec.ts +1 -2
  226. package/app/codeCharta/ui/metricChooser/metricChooserTypeHovered/metricChooserTypeHovered.component.ts +4 -3
  227. package/app/codeCharta/ui/metricChooser/metricChooserValueHovered/metricChooserValueHovered.component.spec.ts +1 -2
  228. package/app/codeCharta/ui/metricChooser/metricChooserValueHovered/metricChooserValueHovered.component.ts +4 -3
  229. package/app/codeCharta/ui/resetSettingsButton/resetSettingsButton.component.scss +21 -3
  230. package/app/codeCharta/ui/resetSettingsButton/resetSettingsButton.component.ts +5 -4
  231. package/app/codeCharta/ui/ribbonBar/areaMetricChooser/areaMetricChooser.component.spec.ts +9 -6
  232. package/app/codeCharta/ui/ribbonBar/areaMetricChooser/areaMetricChooser.component.ts +4 -3
  233. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.html +13 -21
  234. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.scss +12 -3
  235. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.spec.ts +32 -13
  236. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.ts +18 -11
  237. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.module.ts +1 -2
  238. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/artificialIntelligence.component.scss +2 -3
  239. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/artificialIntelligence.component.ts +5 -4
  240. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/highRiskProfile.component.html +12 -3
  241. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/highRiskProfile.component.spec.ts +10 -2
  242. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/highRiskProfile.component.ts +3 -2
  243. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/riskProfileBar.directive.ts +2 -2
  244. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/selectors/artificialIntelligence.selector.spec.ts +8 -18
  245. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/selectors/artificialIntelligence.selector.ts +9 -13
  246. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/suspiciousMetrics/suspiciousMetrics.component.html +11 -1
  247. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/suspiciousMetrics/suspiciousMetrics.component.spec.ts +4 -4
  248. package/app/codeCharta/ui/ribbonBar/artificialIntelligence/suspiciousMetrics/suspiciousMetrics.component.ts +6 -5
  249. package/app/codeCharta/ui/ribbonBar/colorMetricChooser/colorMetricChooser.component.spec.ts +9 -6
  250. package/app/codeCharta/ui/ribbonBar/colorMetricChooser/colorMetricChooser.component.ts +4 -3
  251. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/colorSettingsPanel.component.html +11 -10
  252. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/colorSettingsPanel.component.scss +17 -12
  253. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/colorSettingsPanel.component.spec.ts +1 -2
  254. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/colorSettingsPanel.component.ts +5 -4
  255. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/metricColorRangeSlider.component.ts +5 -4
  256. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSlider.component.html +2 -2
  257. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSlider.component.scss +21 -6
  258. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSlider.component.ts +6 -5
  259. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSliderLabels/rangeSliderLabels.component.spec.ts +2 -2
  260. package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSliderLabels/rangeSliderLabels.component.ts +5 -4
  261. package/app/codeCharta/ui/ribbonBar/edgeMetricChooser/edgeMetricChooser.component.scss +1 -1
  262. package/app/codeCharta/ui/ribbonBar/edgeMetricChooser/edgeMetricChooser.component.spec.ts +8 -6
  263. package/app/codeCharta/ui/ribbonBar/edgeMetricChooser/edgeMetricChooser.component.ts +5 -4
  264. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeMetricToggle/edgeMetricToggle.component.ts +4 -4
  265. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeSettingsPanel.component.html +14 -15
  266. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeSettingsPanel.component.spec.ts +1 -1
  267. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeSettingsPanel.component.ts +4 -3
  268. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/selectors/amountOfBuildingsWithSelectedEdgeMetric.selector.ts +3 -3
  269. package/app/codeCharta/ui/ribbonBar/heightMetricChooser/areaMetricChooser.component.ts +4 -3
  270. package/app/codeCharta/ui/ribbonBar/heightMetricChooser/heightMetricChooser.component.spec.ts +9 -6
  271. package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.html +15 -19
  272. package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.spec.ts +3 -2
  273. package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.ts +5 -6
  274. package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.html +1 -1
  275. package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.scss +2 -0
  276. package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.spec.ts +4 -4
  277. package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.ts +5 -4
  278. package/app/codeCharta/ui/ribbonBar/ribbonBar.component.html +21 -8
  279. package/app/codeCharta/ui/ribbonBar/ribbonBar.component.scss +18 -8
  280. package/app/codeCharta/ui/ribbonBar/ribbonBar.component.spec.ts +23 -25
  281. package/app/codeCharta/ui/ribbonBar/ribbonBar.component.ts +7 -6
  282. package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.html +1 -1
  283. package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.scss +9 -7
  284. package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.spec.ts +10 -3
  285. package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.ts +7 -10
  286. package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.module.ts +1 -2
  287. package/app/codeCharta/ui/ribbonBar/showScenariosButton/scenario.service.ts +6 -6
  288. package/app/codeCharta/ui/ribbonBar/showScenariosButton/scenarios/scenarios.component.scss +2 -2
  289. package/app/codeCharta/ui/ribbonBar/showScenariosButton/scenarios/scenarios.component.ts +5 -4
  290. package/app/codeCharta/ui/ribbonBar/showScenariosButton/showScenariosButton.component.ts +5 -4
  291. package/app/codeCharta/ui/screenshotButton/screenshotButton.component.ts +8 -7
  292. package/app/codeCharta/ui/searchPanel/blacklistPanel/blacklistPanel.component.scss +2 -2
  293. package/app/codeCharta/ui/searchPanel/blacklistPanel/blacklistPanel.component.spec.ts +3 -4
  294. package/app/codeCharta/ui/searchPanel/blacklistPanel/blacklistPanel.component.ts +8 -7
  295. package/app/codeCharta/ui/searchPanel/blacklistPanel/createBlacklistItemSelector.spec.ts +10 -10
  296. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeView.component.scss +14 -11
  297. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeView.component.ts +5 -5
  298. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemIcon/mapTreeViewItemIcon.component.ts +3 -2
  299. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemName/mapTreeViewItemName.component.html +1 -1
  300. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemName/mapTreeViewItemName.component.spec.ts +53 -0
  301. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemName/mapTreeViewItemName.component.ts +4 -3
  302. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemOptionButtons/mapTreeViewItemOptionButtons.component.html +2 -2
  303. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemOptionButtons/mapTreeViewItemOptionButtons.component.ts +3 -2
  304. package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewLevel/mapTreeViewLevel.component.ts +4 -3
  305. package/app/codeCharta/ui/searchPanel/matchingFilesCounter/matchingFilesCounter.component.html +1 -1
  306. package/app/codeCharta/ui/searchPanel/matchingFilesCounter/matchingFilesCounter.component.scss +2 -2
  307. package/app/codeCharta/ui/searchPanel/matchingFilesCounter/matchingFilesCounter.component.ts +5 -4
  308. package/app/codeCharta/ui/searchPanel/matchingFilesCounter/selectors/matchingFilesCounter.selector.ts +4 -4
  309. package/app/codeCharta/ui/searchPanel/searchBar/blacklistSearchPattern.effect.spec.ts +5 -7
  310. package/app/codeCharta/ui/searchPanel/searchBar/blacklistSearchPattern.effect.ts +3 -4
  311. package/app/codeCharta/ui/searchPanel/searchBar/searchBar.component.scss +0 -3
  312. package/app/codeCharta/ui/searchPanel/searchBar/searchBar.component.spec.ts +4 -6
  313. package/app/codeCharta/ui/searchPanel/searchBar/searchBar.component.ts +7 -6
  314. package/app/codeCharta/ui/searchPanel/searchBar/selectors/isExcludePatternDisabled.selector.ts +1 -2
  315. package/app/codeCharta/ui/searchPanel/searchBar/selectors/isFlattenPatternDisabled.selector.ts +1 -2
  316. package/app/codeCharta/ui/searchPanel/searchBar/utils/isPatternBlacklisted.spec.ts +4 -5
  317. package/app/codeCharta/ui/searchPanel/searchBar/utils/parseBlacklistItems.spec.ts +6 -7
  318. package/app/codeCharta/ui/searchPanel/searchPanel.component.html +1 -1
  319. package/app/codeCharta/ui/searchPanel/searchPanel.component.scss +0 -4
  320. package/app/codeCharta/ui/searchPanel/searchPanel.component.ts +4 -3
  321. package/app/codeCharta/ui/searchPanel/searchPanelModeSelector/searchPanelModeSelector.component.html +6 -20
  322. package/app/codeCharta/ui/searchPanel/searchPanelModeSelector/searchPanelModeSelector.component.scss +4 -6
  323. package/app/codeCharta/ui/searchPanel/searchPanelModeSelector/searchPanelModeSelector.component.spec.ts +1 -2
  324. package/app/codeCharta/ui/searchPanel/searchPanelModeSelector/searchPanelModeSelector.component.ts +5 -4
  325. package/app/codeCharta/ui/searchPanel/sortingButton/sortingButton.component.ts +4 -3
  326. package/app/codeCharta/ui/searchPanel/sortingOption/sortingOption.component.spec.ts +1 -1
  327. package/app/codeCharta/ui/searchPanel/sortingOption/sortingOption.component.ts +4 -3
  328. package/app/codeCharta/ui/slider/slider.component.html +17 -21
  329. package/app/codeCharta/ui/slider/slider.component.scss +36 -19
  330. package/app/codeCharta/ui/slider/slider.component.spec.ts +38 -38
  331. package/app/codeCharta/ui/slider/slider.component.ts +8 -9
  332. package/app/codeCharta/ui/slider/slider.module.ts +1 -2
  333. package/app/codeCharta/ui/toolBar/downloadButton/downloadButton.component.spec.ts +2 -1
  334. package/app/codeCharta/ui/toolBar/downloadButton/downloadButton.component.ts +4 -3
  335. package/app/codeCharta/ui/toolBar/downloadButton/downloadButton.module.ts +1 -2
  336. package/app/codeCharta/ui/toolBar/downloadButton/downloadDialog/downloadDialog.component.html +1 -1
  337. package/app/codeCharta/ui/toolBar/downloadButton/downloadDialog/downloadDialog.component.scss +4 -5
  338. package/app/codeCharta/ui/toolBar/downloadButton/downloadDialog/downloadDialog.component.ts +7 -7
  339. package/app/codeCharta/ui/toolBar/downloadButton/downloadDialog/util/propertyHelper.spec.ts +3 -3
  340. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.component.html +1 -1
  341. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.component.scss +28 -34
  342. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.component.ts +5 -4
  343. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.module.ts +1 -2
  344. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/displayQualitySelection/displayQualitySelection.component.html +1 -1
  345. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/displayQualitySelection/displayQualitySelection.component.ts +4 -3
  346. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/globalConfigurationDialog.component.html +26 -23
  347. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/globalConfigurationDialog.component.ts +4 -3
  348. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/mapLayoutSelection/mapLayoutSelection.component.html +1 -1
  349. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/mapLayoutSelection/mapLayoutSelection.component.spec.ts +27 -24
  350. package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/mapLayoutSelection/mapLayoutSelection.component.ts +5 -4
  351. package/app/codeCharta/ui/toolBar/hoveredNodePathPanel/hoveredNodePathPanel.component.spec.ts +1 -2
  352. package/app/codeCharta/ui/toolBar/hoveredNodePathPanel/hoveredNodePathPanel.component.ts +5 -4
  353. package/app/codeCharta/ui/toolBar/loadingMapProgressSpinner/loadingMapProgressSpinner.component.ts +5 -4
  354. package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.html +8 -11
  355. package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.scss +4 -3
  356. package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.spec.ts +2 -2
  357. package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.ts +5 -4
  358. package/app/codeCharta/ui/toolBar/toolBar.component.scss +2 -4
  359. package/app/codeCharta/ui/toolBar/toolBar.component.spec.ts +1 -2
  360. package/app/codeCharta/ui/toolBar/toolBar.component.ts +5 -5
  361. package/app/codeCharta/ui/toolBar/toolBar.module.ts +1 -2
  362. package/app/codeCharta/ui/toolBar/uploadFilesButton/uploadFiles.service.ts +2 -2
  363. package/app/codeCharta/ui/toolBar/uploadFilesButton/uploadFilesButton.component.ts +5 -4
  364. package/app/codeCharta/ui/viewCube/centerMapButton/centerMapButton.component.ts +5 -4
  365. package/app/codeCharta/ui/viewCube/viewCube.component.spec.ts +2 -2
  366. package/app/codeCharta/ui/viewCube/viewCube.component.ts +6 -5
  367. package/app/codeCharta/ui/viewCube/viewCube.mouseEvents.service.spec.ts +3 -2
  368. package/app/codeCharta/ui/viewCube/viewCube.mouseEvents.service.ts +6 -6
  369. package/app/codeCharta/util/EventEmitter.ts +22 -0
  370. package/app/codeCharta/util/__snapshots__/aggregationGenerator.spec.ts.snap +116 -116
  371. package/app/codeCharta/util/__snapshots__/deltaGenerator.spec.ts.snap +82 -82
  372. package/app/codeCharta/util/__snapshots__/fileHelper.spec.ts.snap +23 -23
  373. package/app/codeCharta/util/aggregationGenerator.spec.ts +33 -27
  374. package/app/codeCharta/util/aggregationGenerator.ts +7 -4
  375. package/app/codeCharta/util/algorithm/streetLayout/streetLayoutGenerator.ts +2 -2
  376. package/app/codeCharta/util/algorithm/treeMapLayout/__snapshots__/treeMapGenerator.spec.ts.snap +339 -124
  377. package/app/codeCharta/util/algorithm/treeMapLayout/__snapshots__/treeMapHelper.spec.ts.snap +9 -9
  378. package/app/codeCharta/util/algorithm/treeMapLayout/treeMapGenerator.spec.ts +14 -3
  379. package/app/codeCharta/util/algorithm/treeMapLayout/treeMapGenerator.ts +15 -8
  380. package/app/codeCharta/util/algorithm/treeMapLayout/treeMapHelper.spec.ts +3 -3
  381. package/app/codeCharta/util/codeMapHelper.ts +1 -1
  382. package/app/codeCharta/util/customConfigBuilder.spec.ts +11 -4
  383. package/app/codeCharta/util/customConfigBuilder.ts +10 -3
  384. package/app/codeCharta/util/customConfigHelper.spec.ts +11 -21
  385. package/app/codeCharta/util/customConfigHelper.ts +8 -22
  386. package/app/codeCharta/util/dataMocks.ts +35 -9
  387. package/app/codeCharta/util/debounce.spec.ts +16 -0
  388. package/app/codeCharta/util/debounce.ts +10 -0
  389. package/app/codeCharta/util/deltaGenerator.ts +2 -2
  390. package/app/codeCharta/util/fileDownloader.spec.ts +3 -3
  391. package/app/codeCharta/util/fileDownloader.ts +3 -3
  392. package/app/codeCharta/util/fileHelper.spec.ts +2 -2
  393. package/app/codeCharta/util/fileHelper.ts +2 -2
  394. package/app/codeCharta/util/gameObjectsParser/__snapshots__/gameObjectsImporter.spec.ts.snap +37 -37
  395. package/app/codeCharta/util/nodeDecorator.spec.ts +14 -1
  396. package/app/codeCharta/util/nodeDecorator.ts +13 -13
  397. package/app/codeCharta/util/nodePathHelper.ts +5 -5
  398. package/app/codeCharta/util/parseNumberInput.ts +1 -1
  399. package/app/codeCharta/util/reduxHelper.ts +3 -3
  400. package/app/codeCharta/util/simplePipes/SimplePipesModule.ts +9 -0
  401. package/app/codeCharta/util/simplePipes/metricDescriptorTitle.pipe.spec.ts +62 -0
  402. package/app/codeCharta/util/simplePipes/metricDescriptorTitle.pipe.ts +18 -0
  403. package/app/codeCharta/util/{removeExtension.pipe.ts → simplePipes/removeExtension.pipe.ts} +1 -1
  404. package/app/codeCharta/util/truncateText.pipe.ts +8 -0
  405. package/app/codeCharta/util/truncateText.spec.ts +19 -0
  406. package/app/index.html +1 -0
  407. package/app/material/_theme.scss +28 -17
  408. package/app/material/matDialog.scss +1 -1
  409. package/app/material/matMenu.scss +2 -2
  410. package/app/material/material.module.ts +5 -3
  411. package/app/material/material.scss +1 -6
  412. package/app/polyfills.ts +28 -0
  413. package/conf/jestE2E.config.json +2 -4
  414. package/conf/jestUnit.config.json +7 -18
  415. package/conf/webpack.config.js +19 -56
  416. package/dist/webpack/3rdpartylicenses.txt +1063 -0
  417. package/dist/webpack/codeCharta/assets/codecharta_logo.svg +1 -0
  418. package/dist/webpack/codeCharta/assets/empty.png +0 -0
  419. package/dist/webpack/codeCharta/assets/favicon.ico +0 -0
  420. package/dist/webpack/codeCharta/assets/gameObjectsFile.json +75 -0
  421. package/dist/webpack/codeCharta/assets/icon.icns +0 -0
  422. package/dist/webpack/codeCharta/assets/icon.ico +0 -0
  423. package/dist/webpack/codeCharta/assets/icon.png +0 -0
  424. package/dist/webpack/codeCharta/assets/output.cc.json.gz +0 -0
  425. package/dist/webpack/codeCharta/assets/sample1.cc.json +97 -0
  426. package/dist/webpack/codeCharta/assets/sample2.cc.json +46 -0
  427. package/dist/webpack/codeCharta/assets/sample3.cc.json +40 -0
  428. package/dist/webpack/codeCharta/assets/sample4.cc.json +45 -0
  429. package/dist/webpack/codeCharta/assets/scenarios.json +50 -0
  430. package/dist/webpack/index.html +7 -7
  431. package/dist/webpack/main.bc36f7880e897bab.js +1 -0
  432. package/dist/webpack/material-icons-outlined.78a93b2079680a08.woff +0 -0
  433. package/dist/webpack/material-icons-outlined.f86cb7b0aa53f0fe.woff2 +0 -0
  434. package/dist/webpack/material-icons-round.92dc7ca2f4c591e7.woff +0 -0
  435. package/dist/webpack/material-icons-round.b10ec9db5b7fbc74.woff2 +0 -0
  436. package/dist/webpack/material-icons-sharp.3885863ee4746422.woff2 +0 -0
  437. package/dist/webpack/material-icons-sharp.a71cb2bf66c604de.woff +0 -0
  438. package/dist/webpack/material-icons-two-tone.588d63134de807a7.woff +0 -0
  439. package/dist/webpack/material-icons-two-tone.675bd578bd14533e.woff2 +0 -0
  440. package/dist/webpack/material-icons.4ad034d2c499d9b6.woff +0 -0
  441. package/dist/webpack/material-icons.59322316b3fd6063.woff2 +0 -0
  442. package/dist/webpack/polyfills.d69fe4da6218c8a9.js +1 -0
  443. package/dist/webpack/runtime.e384ce5b1b4e5942.js +1 -0
  444. package/dist/webpack/styles.796849f6e33c93f5.css +4 -0
  445. package/package.json +34 -55
  446. package/tsconfig.json +25 -24
  447. package/app/codeCharta/state/effects/resetDynamicMargin/resetDynamicMargin.effect.spec.ts +0 -48
  448. package/app/codeCharta/state/effects/resetDynamicMargin/resetDynamicMargin.effect.ts +0 -19
  449. package/app/codeCharta/state/selectors/accumulatedData/metricData/edgeMetricData.selector.spec.ts +0 -56
  450. package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.actions.ts +0 -21
  451. package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.reducer.spec.ts +0 -17
  452. package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.reducer.ts +0 -16
  453. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.po.ts +0 -22
  454. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/invertAreaOption/invertAreaOption.component.html +0 -1
  455. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/invertAreaOption/invertAreaOption.component.spec.ts +0 -29
  456. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/invertAreaOption/invertAreaOption.component.ts +0 -23
  457. package/app/codeCharta/ui/ribbonBar/areaSettingsPanel.po.ts +0 -19
  458. package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeMetricToggle/edgeMetricToggle.component.scss +0 -4
  459. package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.scss +0 -18
  460. package/app/codeCharta/util/envDetector.ts +0 -3
  461. package/app/codeCharta/util/removeExtensionModule.ts +0 -8
  462. package/app/codeCharta/util/testUtils/drag.ts +0 -47
  463. package/app/material/matSelect.scss +0 -17
  464. package/conf/webpack.loaders.js +0 -54
  465. package/dist/webpack/04411cba9583fb0df01f.woff +0 -0
  466. package/dist/webpack/6289913a298e816100f5.woff +0 -0
  467. package/dist/webpack/6b3adb7ef9c9ac8d598a.woff +0 -0
  468. package/dist/webpack/6c307c85ae675678f41e.woff2 +0 -0
  469. package/dist/webpack/a70ec3e73fd410cdb178.woff2 +0 -0
  470. package/dist/webpack/aa2aae2fbd0e0b30967d.woff +0 -0
  471. package/dist/webpack/aa80805e686668b4358c.woff2 +0 -0
  472. package/dist/webpack/b906db2201d314b2ee12.woff2 +0 -0
  473. package/dist/webpack/bundle.js +0 -3
  474. package/dist/webpack/bundle.js.LICENSE.txt +0 -7243
  475. package/dist/webpack/bundle.js.map +0 -1
  476. package/dist/webpack/c6c0935815f6ba8fd80a.woff2 +0 -0
  477. package/dist/webpack/cb25b0543db8b7f06135.woff +0 -0
  478. /package/app/{assets/icon.ico → codeCharta/assets/favicon.ico} +0 -0
  479. /package/app/{assets → codeCharta/assets}/flatten.png +0 -0
  480. /package/app/{assets → codeCharta/assets}/icon.icns +0 -0
  481. /package/{dist/webpack → app/codeCharta/assets}/icon.ico +0 -0
  482. /package/app/{assets → codeCharta/assets}/icon.png +0 -0
  483. /package/app/codeCharta/state/store/fileSettings/attributeDescriptors/{attributesDescriptors.selector.ts → attributeDescriptors.selector.ts} +0 -0
  484. /package/app/codeCharta/util/{removeExtension.pipe.spec.ts → simplePipes/removeExtension.pipe.spec.ts} +0 -0
  485. /package/dist/webpack/{af36b2ef7e54a0b53f02.png → codeCharta/assets/flatten.png} +0 -0
  486. /package/dist/webpack/{6bfc95354e1616904298.png → codeCharta/assets/logo.png} +0 -0
  487. /package/dist/webpack/{8b43027f47b20503057d.eot → fontawesome-webfont.2b13baa7dd4f54c9.eot} +0 -0
  488. /package/dist/webpack/{1e59d2330b4c6deb84b3.ttf → fontawesome-webfont.8a7cb27d142e3e19.ttf} +0 -0
  489. /package/dist/webpack/{f691f37e57f04c152e23.woff → fontawesome-webfont.cf011583fb81df9f.woff} +0 -0
  490. /package/dist/webpack/{c1e38fd9e0e74ba58f7a.svg → fontawesome-webfont.da909aa098b0ee2d.svg} +0 -0
  491. /package/dist/webpack/{20fd1704ea223900efa9.woff2 → fontawesome-webfont.e9955780856cf8aa.woff2} +0 -0
@@ -1,5 +1,4 @@
1
- import "./codeMap.component.scss"
2
- import { Component, Inject, AfterViewInit, ElementRef, OnDestroy } from "@angular/core"
1
+ import { Component, AfterViewInit, ElementRef, OnDestroy, ViewEncapsulation } from "@angular/core"
3
2
  import { Store } from "../../state/angular-redux/store"
4
3
  import { isLoadingFileSelector } from "../../state/store/appSettings/isLoadingFile/isLoadingFile.selector"
5
4
  import { ThreeViewerService } from "./threeViewer/threeViewer.service"
@@ -10,7 +9,9 @@ import { IsAttributeSideBarVisibleService } from "../../services/isAttributeSide
10
9
 
11
10
  @Component({
12
11
  selector: "cc-code-map",
13
- template: require("./codeMap.component.html")
12
+ templateUrl: "./codeMap.component.html",
13
+ styleUrls: ["./codeMap.component.scss"],
14
+ encapsulation: ViewEncapsulation.None
14
15
  })
15
16
  export class CodeMapComponent implements AfterViewInit, OnDestroy {
16
17
  isLoadingFile$ = this.store.select(isLoadingFileSelector)
@@ -26,11 +27,11 @@ export class CodeMapComponent implements AfterViewInit, OnDestroy {
26
27
  .subscribe()
27
28
 
28
29
  constructor(
29
- @Inject(IsAttributeSideBarVisibleService) public isAttributeSideBarVisibleService: IsAttributeSideBarVisibleService,
30
- @Inject(Store) private store: Store,
31
- @Inject(ThreeViewerService) private threeViewerService: ThreeViewerService,
32
- @Inject(CodeMapMouseEventService) private codeMapMouseEventService: CodeMapMouseEventService,
33
- @Inject(ElementRef) private elementReference: ElementRef
30
+ public isAttributeSideBarVisibleService: IsAttributeSideBarVisibleService,
31
+ private store: Store,
32
+ private threeViewerService: ThreeViewerService,
33
+ private codeMapMouseEventService: CodeMapMouseEventService,
34
+ private elementReference: ElementRef
34
35
  ) {}
35
36
 
36
37
  ngAfterViewInit(): void {
@@ -5,7 +5,7 @@ import { ThreeCameraService } from "./threeViewer/threeCamera.service"
5
5
  import { ThreeSceneService } from "./threeViewer/threeSceneService"
6
6
  import { ColorConverter } from "../../util/color/colorConverter"
7
7
  import { State } from "../../state/angular-redux/state"
8
- import { Inject, Injectable } from "@angular/core"
8
+ import { Injectable } from "@angular/core"
9
9
  import { treeMapSize } from "../../util/algorithm/treeMapLayout/treeMapHelper"
10
10
 
11
11
  interface InternalLabel {
@@ -33,10 +33,10 @@ export class CodeMapLabelService {
33
33
  private nodeHeight = 0
34
34
 
35
35
  constructor(
36
- @Inject(State) private state: State,
37
- @Inject(ThreeCameraService) private threeCameraService: ThreeCameraService,
38
- @Inject(ThreeSceneService) private threeSceneService: ThreeSceneService,
39
- @Inject(ThreeOrbitControlsService) private threeOrbitControlsService: ThreeOrbitControlsService
36
+ private state: State,
37
+ private threeCameraService: ThreeCameraService,
38
+ private threeSceneService: ThreeSceneService,
39
+ private threeOrbitControlsService: ThreeOrbitControlsService
40
40
  ) {
41
41
  this.labels = new Array<InternalLabel>()
42
42
  this.threeOrbitControlsService.subscribe("onCameraChanged", () => this.onCameraChanged())
@@ -6,7 +6,7 @@ import { ThreeRendererService } from "./threeViewer/threeRenderer.service"
6
6
  import { ViewCubeMouseEventsService } from "../viewCube/viewCube.mouseEvents.service"
7
7
  import { CodeMapBuilding } from "./rendering/codeMapBuilding"
8
8
  import { CODE_MAP_BUILDING, CONSTANT_HIGHLIGHT, TEST_FILE_WITH_PATHS, TEST_NODES } from "../../util/dataMocks"
9
- import { BlacklistType, CodeMapNode, Node } from "../../codeCharta.model"
9
+ import { BlacklistItem, CodeMapNode, Node } from "../../codeCharta.model"
10
10
  import { NodeDecorator } from "../../util/nodeDecorator"
11
11
  import { klona } from "klona"
12
12
  import { CodeMapLabelService } from "./codeMap.label.service"
@@ -15,7 +15,6 @@ import { BufferGeometry, Material, Object3D, Raycaster, Vector3 } from "three"
15
15
  import { ThreeViewerService } from "./threeViewer/threeViewer.service"
16
16
  import { setShowMetricLabelNameValue } from "../../state/store/appSettings/showMetricLabelNameValue/showMetricLabelNameValue.actions"
17
17
  import { setShowMetricLabelNodeName } from "../../state/store/appSettings/showMetricLabelNodeName/showMetricLabelNodeName.actions"
18
- import { mocked } from "ts-jest/utils"
19
18
  import { idToNodeSelector } from "../../state/selectors/accumulatedData/idToNode.selector"
20
19
  import { IdToBuildingService } from "../../services/idToBuilding/idToBuilding.service"
21
20
  import { Store } from "../../state/angular-redux/store"
@@ -28,7 +27,7 @@ import {
28
27
  jest.mock("../../state/selectors/accumulatedData/idToNode.selector", () => ({
29
28
  idToNodeSelector: jest.fn()
30
29
  }))
31
- const mockedIdToNodeSelector = mocked(idToNodeSelector)
30
+ const mockedIdToNodeSelector = jest.mocked(idToNodeSelector)
32
31
 
33
32
  describe("codeMapMouseEventService", () => {
34
33
  let codeMapMouseEventService: CodeMapMouseEventService
@@ -231,7 +230,7 @@ describe("codeMapMouseEventService", () => {
231
230
 
232
231
  describe("onBlacklistChanged", () => {
233
232
  it("should deselect the building when the selected building is excluded", () => {
234
- const blacklist = [{ path: CODE_MAP_BUILDING.node.path, type: BlacklistType.exclude }]
233
+ const blacklist: BlacklistItem[] = [{ path: CODE_MAP_BUILDING.node.path, type: "exclude" }]
235
234
 
236
235
  codeMapMouseEventService.onBlacklistChanged(blacklist)
237
236
 
@@ -239,7 +238,7 @@ describe("codeMapMouseEventService", () => {
239
238
  })
240
239
 
241
240
  it("should deselect the building when the selected building is hidden", () => {
242
- const blacklist = [{ path: CODE_MAP_BUILDING.node.path, type: BlacklistType.flatten }]
241
+ const blacklist: BlacklistItem[] = [{ path: CODE_MAP_BUILDING.node.path, type: "flatten" }]
243
242
 
244
243
  codeMapMouseEventService.onBlacklistChanged(blacklist)
245
244
 
@@ -502,6 +501,7 @@ describe("codeMapMouseEventService", () => {
502
501
  describe("on left click", () => {
503
502
  beforeEach(() => {
504
503
  event = { button: ClickType.LeftClick, clientX: 10, clientY: 20 }
504
+ codeMapMouseEventService["intersectedBuilding"] = undefined
505
505
  })
506
506
  it("should change the cursor to default when the left click is triggered", () => {
507
507
  document.body.style.cursor = CursorType.Pointer
@@ -538,7 +538,7 @@ describe("codeMapMouseEventService", () => {
538
538
  expect(threeSceneService.selectBuilding).toHaveBeenCalledWith(codeMapBuilding)
539
539
  })
540
540
 
541
- it("should call clearselection, when the mouse has moved less or exact 3 pixels while left button was pressed", () => {
541
+ it("should call clearSelection, when the mouse has moved less or exact 3 pixels while left button was pressed", () => {
542
542
  codeMapMouseEventService.onDocumentMouseMove(event)
543
543
  codeMapMouseEventService.onDocumentMouseDown(event)
544
544
  codeMapMouseEventService.onDocumentMouseMove({ clientX: 10, clientY: 17 } as MouseEvent)
@@ -548,6 +548,18 @@ describe("codeMapMouseEventService", () => {
548
548
  expect(threeSceneService.clearSelection).toHaveBeenCalled()
549
549
  })
550
550
 
551
+ it("should not call clearSelection, when the mouse has moved less or exact 3 pixels but a building is currently being clicked upon", () => {
552
+ codeMapMouseEventService.onDocumentMouseMove(event)
553
+ codeMapMouseEventService.onDocumentMouseDown(event)
554
+ codeMapMouseEventService.onDocumentMouseMove({ clientX: 10, clientY: 17 } as MouseEvent)
555
+ codeMapMouseEventService["intersectedBuilding"] = CODE_MAP_BUILDING
556
+
557
+ codeMapMouseEventService.onDocumentMouseUp(event)
558
+
559
+ expect(threeSceneService.clearSelection).toHaveBeenCalledTimes(0)
560
+ expect(threeSceneService.selectBuilding).toHaveBeenLastCalledWith(CODE_MAP_BUILDING)
561
+ })
562
+
551
563
  it("should not call clear selection, when mouse has moved more than 3 pixels while left button was pressed", () => {
552
564
  codeMapMouseEventService.onDocumentMouseMove(event)
553
565
  codeMapMouseEventService.onDocumentMouseDown(event)
@@ -1,4 +1,4 @@
1
- import { Inject, Injectable } from "@angular/core"
1
+ import { Injectable, OnDestroy } from "@angular/core"
2
2
  import { ThreeCameraService } from "./threeViewer/threeCamera.service"
3
3
  import { CodeMapBuilding } from "./rendering/codeMapBuilding"
4
4
  import { ViewCubeMouseEventsService } from "../viewCube/viewCube.mouseEvents.service"
@@ -15,12 +15,12 @@ import { setRightClickedNodeData } from "../../state/store/appStatus/rightClicke
15
15
  import { idToNodeSelector } from "../../state/selectors/accumulatedData/idToNode.selector"
16
16
  import { IdToBuildingService } from "../../services/idToBuilding/idToBuilding.service"
17
17
  import { hoveredNodeIdSelector } from "../../state/store/appStatus/hoveredNodeId/hoveredNodeId.selector"
18
- import { debounce } from "lodash"
19
18
  import { tap, distinctUntilChanged } from "rxjs"
20
19
  import { Store } from "../../state/angular-redux/store"
21
20
  import { visibleFileStatesSelector } from "../../state/selectors/visibleFileStates.selector"
22
21
  import { blacklistSelector } from "../../state/store/fileSettings/blacklist/blacklist.selector"
23
22
  import { State } from "../../state/angular-redux/state"
23
+ import { debounce } from "../../util/debounce"
24
24
 
25
25
  interface Coordinates {
26
26
  x: number
@@ -40,7 +40,7 @@ export enum CursorType {
40
40
  }
41
41
 
42
42
  @Injectable({ providedIn: "root" })
43
- export class CodeMapMouseEventService {
43
+ export class CodeMapMouseEventService implements OnDestroy {
44
44
  private readonly THRESHOLD_FOR_MOUSE_MOVEMENT_TRACKING = 3
45
45
 
46
46
  private intersectedBuilding: CodeMapBuilding
@@ -52,26 +52,15 @@ export class CodeMapMouseEventService {
52
52
  private isMoving = false
53
53
  private raycaster = new Raycaster()
54
54
  private temporaryLabelForBuilding = null
55
-
56
- constructor(
57
- @Inject(ThreeCameraService) private threeCameraService: ThreeCameraService,
58
- @Inject(ThreeRendererService) private threeRendererService: ThreeRendererService,
59
- @Inject(ThreeSceneService) private threeSceneService: ThreeSceneService,
60
- @Inject(Store) private store: Store,
61
- @Inject(State) private state: State,
62
- @Inject(CodeMapLabelService) private codeMapLabelService: CodeMapLabelService,
63
- @Inject(ViewCubeMouseEventsService) private viewCubeMouseEvents: ViewCubeMouseEventsService,
64
- @Inject(ThreeViewerService) private threeViewerService: ThreeViewerService,
65
- @Inject(IdToBuildingService) private idToBuilding: IdToBuildingService
66
- ) {
55
+ private subscriptions = [
67
56
  this.store
68
57
  .select(visibleFileStatesSelector)
69
58
  .pipe(tap(() => this.onFilesSelectionChanged()))
70
- .subscribe()
59
+ .subscribe(),
71
60
  this.store
72
61
  .select(blacklistSelector)
73
62
  .pipe(tap(blacklist => this.onBlacklistChanged(blacklist)))
74
- .subscribe()
63
+ .subscribe(),
75
64
  this.store
76
65
  .select(hoveredNodeIdSelector)
77
66
  .pipe(
@@ -85,6 +74,24 @@ export class CodeMapMouseEventService {
85
74
  })
86
75
  )
87
76
  .subscribe()
77
+ ]
78
+
79
+ constructor(
80
+ private threeCameraService: ThreeCameraService,
81
+ private threeRendererService: ThreeRendererService,
82
+ private threeSceneService: ThreeSceneService,
83
+ private store: Store,
84
+ private state: State,
85
+ private codeMapLabelService: CodeMapLabelService,
86
+ private viewCubeMouseEvents: ViewCubeMouseEventsService,
87
+ private threeViewerService: ThreeViewerService,
88
+ private idToBuilding: IdToBuildingService
89
+ ) {}
90
+
91
+ ngOnDestroy(): void {
92
+ for (const subscription of this.subscriptions) {
93
+ subscription.unsubscribe()
94
+ }
88
95
  }
89
96
 
90
97
  static changeCursorIndicator(cursorIcon: CursorType) {
@@ -92,10 +99,7 @@ export class CodeMapMouseEventService {
92
99
  }
93
100
 
94
101
  start() {
95
- this.threeRendererService.renderer.domElement.addEventListener(
96
- "mousemove",
97
- debounce(event => this.onDocumentMouseMove(event), 60)
98
- )
102
+ this.threeRendererService.renderer.domElement.addEventListener("mousemove", debounce(this.onDocumentMouseMove, 1))
99
103
  this.threeRendererService.renderer.domElement.addEventListener("mouseup", event => this.onDocumentMouseUp(event))
100
104
  this.threeRendererService.renderer.domElement.addEventListener("mousedown", event => this.onDocumentMouseDown(event))
101
105
  this.threeRendererService.renderer.domElement.addEventListener("dblclick", () => this.onDocumentDoubleClick())
@@ -103,7 +107,7 @@ export class CodeMapMouseEventService {
103
107
  this.threeRendererService.renderer.domElement.addEventListener("mouseenter", () => this.onDocumentMouseEnter())
104
108
  this.threeRendererService.renderer.domElement.addEventListener(
105
109
  "wheel",
106
- debounce(() => this.threeRendererService.render(), 60)
110
+ debounce(() => this.threeRendererService.render(), 1)
107
111
  )
108
112
  this.viewCubeMouseEvents.subscribe("viewCubeEventPropagation", this.onViewCubeEventPropagation)
109
113
  }
@@ -260,7 +264,7 @@ export class CodeMapMouseEventService {
260
264
  }
261
265
  }
262
266
 
263
- onDocumentMouseMove(event: MouseEvent) {
267
+ onDocumentMouseMove = (event: MouseEvent) => {
264
268
  this.mouse.x = event.clientX
265
269
  this.mouse.y = event.clientY
266
270
  this.updateHovering()
@@ -349,11 +353,12 @@ export class CodeMapMouseEventService {
349
353
  private onLeftClick() {
350
354
  this.isGrabbing = false
351
355
  if (!this.hasMouseMovedMoreThanThreePixels(this.mouseOnLastClick)) {
352
- this.threeSceneService.clearSelection()
353
- this.threeSceneService.clearConstantHighlight()
354
356
  if (this.intersectedBuilding) {
355
357
  this.threeSceneService.selectBuilding(this.intersectedBuilding)
358
+ } else {
359
+ this.threeSceneService.clearSelection()
356
360
  }
361
+ this.threeSceneService.clearConstantHighlight()
357
362
  }
358
363
  this.threeRendererService.render()
359
364
  }
@@ -26,15 +26,14 @@ import { setShowMetricLabelNameValue } from "../../state/store/appSettings/showM
26
26
  import { klona } from "klona"
27
27
  import { ThreeStatsService } from "./threeViewer/threeStats.service"
28
28
  import { setColorLabels } from "../../state/store/appSettings/colorLabels/colorLabels.actions"
29
- import { nodeMetricDataSelector } from "../../state/selectors/accumulatedData/metricData/nodeMetricData.selector"
30
29
  import { CodeMapMouseEventService } from "./codeMap.mouseEvent.service"
31
30
  import { Store } from "../../state/angular-redux/store"
32
31
  import { State } from "../../state/angular-redux/state"
32
+ import { metricDataSelector } from "../../state/selectors/accumulatedData/metricData/metricData.selector"
33
33
 
34
- const mockedNodeMetricDataSelector = nodeMetricDataSelector as unknown as jest.Mock
35
- jest.mock("../../state/selectors/accumulatedData/metricData/nodeMetricData.selector", () => ({
36
- nodeMetricDataSelector: jest.fn(),
37
- UNARY_METRIC: "unary"
34
+ const mockedMetricDataSelector = metricDataSelector as unknown as jest.Mock
35
+ jest.mock("../../state/selectors/accumulatedData/metricData/metricData.selector", () => ({
36
+ metricDataSelector: jest.fn()
38
37
  }))
39
38
 
40
39
  describe("codeMapRenderService", () => {
@@ -74,7 +73,10 @@ describe("codeMapRenderService", () => {
74
73
  NodeDecorator.decorateParentNodesWithAggregatedAttributes(map, false, DEFAULT_STATE.fileSettings.attributeTypes)
75
74
  store.dispatch(setState(STATE))
76
75
  store.dispatch(unfocusNode())
77
- mockedNodeMetricDataSelector.mockImplementation(() => METRIC_DATA)
76
+ mockedMetricDataSelector.mockImplementation(() => ({
77
+ nodeMetricData: METRIC_DATA,
78
+ edgeMetricData: []
79
+ }))
78
80
  }
79
81
 
80
82
  function rebuildService() {
@@ -1,4 +1,4 @@
1
- import { Inject, Injectable } from "@angular/core"
1
+ import { Injectable, OnDestroy } from "@angular/core"
2
2
  import { CodeMapMesh } from "./rendering/codeMapMesh"
3
3
  import { createTreemapNodes } from "../../util/algorithm/treeMapLayout/treeMapGenerator"
4
4
  import { CodeMapLabelService } from "./codeMap.label.service"
@@ -8,32 +8,37 @@ import { CodeMapNode, LayoutAlgorithm, Node } from "../../codeCharta.model"
8
8
  import { isDeltaState } from "../../model/files/files.helper"
9
9
  import { StreetLayoutGenerator } from "../../util/algorithm/streetLayout/streetLayoutGenerator"
10
10
  import { ThreeStatsService } from "./threeViewer/threeStats.service"
11
- import { nodeMetricDataSelector } from "../../state/selectors/accumulatedData/metricData/nodeMetricData.selector"
12
11
  import { CodeMapMouseEventService } from "./codeMap.mouseEvent.service"
13
12
  import { Store } from "../../state/angular-redux/store"
14
13
  import { isLoadingFileSelector } from "../../state/store/appSettings/isLoadingFile/isLoadingFile.selector"
15
- import { tap } from "rxjs"
14
+ import { Subscription, tap } from "rxjs"
16
15
  import { State } from "../../state/angular-redux/state"
16
+ import { metricDataSelector } from "../../state/selectors/accumulatedData/metricData/metricData.selector"
17
17
 
18
18
  @Injectable({ providedIn: "root" })
19
- export class CodeMapRenderService {
19
+ export class CodeMapRenderService implements OnDestroy {
20
20
  private nodesByColor = {
21
21
  positive: [],
22
22
  neutral: [],
23
23
  negative: []
24
24
  }
25
25
  private unflattenedNodes
26
+ private subscription: Subscription
26
27
 
27
28
  constructor(
28
- @Inject(Store) private store: Store,
29
- @Inject(State) private state: State,
30
- @Inject(ThreeSceneService) private threeSceneService: ThreeSceneService,
31
- @Inject(CodeMapLabelService) private codeMapLabelService: CodeMapLabelService,
32
- @Inject(CodeMapArrowService) private codeMapArrowService: CodeMapArrowService,
33
- @Inject(ThreeStatsService) private threeStatsService: ThreeStatsService,
34
- @Inject(CodeMapMouseEventService) private codeMapMouseEventService: CodeMapMouseEventService
29
+ private store: Store,
30
+ private state: State,
31
+ private threeSceneService: ThreeSceneService,
32
+ private codeMapLabelService: CodeMapLabelService,
33
+ private codeMapArrowService: CodeMapArrowService,
34
+ private threeStatsService: ThreeStatsService,
35
+ private codeMapMouseEventService: CodeMapMouseEventService
35
36
  ) {
36
- this.store.select(isLoadingFileSelector).pipe(tap(this.onIsLoadingFileChanged)).subscribe()
37
+ this.subscription = this.store.select(isLoadingFileSelector).pipe(tap(this.onIsLoadingFileChanged)).subscribe()
38
+ }
39
+
40
+ ngOnDestroy(): void {
41
+ this.subscription.unsubscribe()
37
42
  }
38
43
 
39
44
  onIsLoadingFileChanged = (isLoadingFile: boolean) => {
@@ -75,7 +80,7 @@ export class CodeMapRenderService {
75
80
 
76
81
  private getNodes(map: CodeMapNode) {
77
82
  const state = this.state.getValue()
78
- const nodeMetricData = nodeMetricDataSelector(state)
83
+ const nodeMetricData = metricDataSelector(state).nodeMetricData
79
84
  const {
80
85
  appSettings: { layoutAlgorithm },
81
86
  files
@@ -3,7 +3,7 @@ import { ThreeOrbitControlsService } from "./threeOrbitControls.service"
3
3
  import { ThreeCameraService } from "./threeCamera.service"
4
4
  import { ThreeSceneService } from "./threeSceneService"
5
5
  import { BoxGeometry, Group, Mesh, PerspectiveCamera, Vector3 } from "three"
6
- import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"
6
+ import type { OrbitControls } from "three/examples/jsm/controls/OrbitControls"
7
7
  import { ThreeRendererService } from "./threeRenderer.service"
8
8
  import { wait } from "../../../util/testUtils/wait"
9
9
 
@@ -46,7 +46,7 @@ describe("ThreeOrbitControlsService", () => {
46
46
  function withMockedControlService() {
47
47
  threeOrbitControlsService.controls = {
48
48
  target: new Vector3(1, 1, 1)
49
- } as OrbitControls
49
+ } as unknown as OrbitControls
50
50
  threeOrbitControlsService.controls.update = jest.fn()
51
51
  }
52
52
 
@@ -57,7 +57,7 @@ describe("ThreeOrbitControlsService", () => {
57
57
  it("rotateCameraInVectorDirection ", () => {
58
58
  threeOrbitControlsService.controls = {
59
59
  target: new Vector3(0, 0, 0)
60
- } as OrbitControls
60
+ } as unknown as OrbitControls
61
61
  const vector = { x: 0, y: 1, z: 0 }
62
62
 
63
63
  threeOrbitControlsService.rotateCameraInVectorDirection(vector.x, vector.y, vector.z)
@@ -1,15 +1,15 @@
1
1
  import { ThreeCameraService } from "./threeCamera.service"
2
- import { Inject, Injectable } from "@angular/core"
2
+ import { Injectable } from "@angular/core"
3
3
  import { Box3, Mesh, MeshNormalMaterial, PerspectiveCamera, Vector3, Sphere, BoxGeometry } from "three"
4
4
  import { ThreeSceneService } from "./threeSceneService"
5
5
 
6
- import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"
6
+ import type { OrbitControls as OrbitControlsType } from "three/examples/jsm/controls/OrbitControls"
7
7
  // TODO remove this old orbital control and use the jsm examples oneW
8
8
  // eslint-disable-next-line no-duplicate-imports
9
9
  import * as Three from "three"
10
10
  import oc from "three-orbit-controls"
11
- import { EventEmitter } from "tsee"
12
11
  import { ThreeRendererService } from "./threeRenderer.service"
12
+ import { EventEmitter } from "../../../util/EventEmitter"
13
13
 
14
14
  type CameraChangeEvents = {
15
15
  onCameraChanged: (data: { camera: PerspectiveCamera }) => void
@@ -19,13 +19,13 @@ type CameraChangeEvents = {
19
19
  export class ThreeOrbitControlsService {
20
20
  static CAMERA_CHANGED_EVENT_NAME = "camera-changed"
21
21
 
22
- controls: OrbitControls
22
+ controls: OrbitControlsType
23
23
  private eventEmitter = new EventEmitter<CameraChangeEvents>()
24
24
 
25
25
  constructor(
26
- @Inject(ThreeCameraService) private threeCameraService: ThreeCameraService,
27
- @Inject(ThreeSceneService) private threeSceneService: ThreeSceneService,
28
- @Inject(ThreeRendererService) private threeRendererService: ThreeRendererService
26
+ private threeCameraService: ThreeCameraService,
27
+ private threeSceneService: ThreeSceneService,
28
+ private threeRendererService: ThreeRendererService
29
29
  ) {}
30
30
 
31
31
  setControlTarget(cameraTarget: Vector3) {
@@ -111,8 +111,8 @@ export class ThreeOrbitControlsService {
111
111
  }
112
112
 
113
113
  init(domElement: HTMLCanvasElement) {
114
- const orbitControls = oc(Three)
115
- this.controls = new orbitControls(this.threeCameraService.camera, domElement)
114
+ const OrbitControls = oc(Three)
115
+ this.controls = new OrbitControls(this.threeCameraService.camera, domElement) as unknown as OrbitControlsType
116
116
  this.controls.addEventListener("change", () => {
117
117
  this.onInput(this.threeCameraService.camera)
118
118
  })
@@ -1,4 +1,4 @@
1
- import { Inject, Injectable } from "@angular/core"
1
+ import { Injectable } from "@angular/core"
2
2
  import { Camera, RGBAFormat, Scene, Vector2, WebGLInfo, WebGLRenderer, WebGLRenderTarget } from "three"
3
3
  import { RenderPass } from "three/examples/jsm/postprocessing/RenderPass"
4
4
  import { WEBGL } from "three/examples/jsm/WebGL"
@@ -14,7 +14,7 @@ import { fxaaShaderStrings } from "../rendering/shaders/loaders/fxaaShaderString
14
14
  export class ThreeRendererService {
15
15
  static BACKGROUND_COLOR = {
16
16
  white: 0xff_ff_ff,
17
- normal: 0xee_ee_dd
17
+ normal: 0xf4_f4_eb
18
18
  }
19
19
 
20
20
  static CLEAR_COLOR = ThreeRendererService.BACKGROUND_COLOR.normal
@@ -37,7 +37,7 @@ export class ThreeRendererService {
37
37
  scene: Scene
38
38
  camera: Camera
39
39
 
40
- constructor(@Inject(Store) private store: Store, @Inject(State) private state: State) {}
40
+ constructor(private store: Store, private state: State) {}
41
41
 
42
42
  init(containerWidth: number, containerHeight: number, scene: Scene, camera: Camera) {
43
43
  this.scene = scene
@@ -16,16 +16,16 @@ import { Box3, BufferGeometry, Group, Material, Matrix4, Object3D, Raycaster, Ve
16
16
  import { setLayoutAlgorithm } from "../../../state/store/appSettings/layoutAlgorithm/layoutAlgorithm.actions"
17
17
  import { FloorLabelDrawer } from "./floorLabels/floorLabelDrawer"
18
18
  import { idToNodeSelector } from "../../../state/selectors/accumulatedData/idToNode.selector"
19
- import { mocked } from "ts-jest/utils"
20
19
  import { TestBed } from "@angular/core/testing"
21
20
  import { State } from "../../../state/angular-redux/state"
22
21
  import { IdToBuildingService } from "../../../services/idToBuilding/idToBuilding.service"
23
22
  import { Store } from "../../../state/angular-redux/store"
23
+ import { setEnableFloorLabels } from "../../../state/store/appSettings/enableFloorLabels/enableFloorLabels.actions"
24
24
 
25
25
  jest.mock("../../../state/selectors/accumulatedData/idToNode.selector", () => ({
26
26
  idToNodeSelector: jest.fn()
27
27
  }))
28
- const mockedIdToNodeSelector = mocked(idToNodeSelector)
28
+ const mockedIdToNodeSelector = jest.mocked(idToNodeSelector)
29
29
 
30
30
  describe("ThreeSceneService", () => {
31
31
  let threeSceneService: ThreeSceneService
@@ -453,5 +453,15 @@ describe("ThreeSceneService", () => {
453
453
 
454
454
  expect(floorLabelDrawerSpy).not.toHaveBeenCalled()
455
455
  })
456
+
457
+ it("should not add floor labels if floor labels are disabled", () => {
458
+ threeSceneService["notifyMapMeshChanged"] = jest.fn()
459
+ const floorLabelDrawerSpy = jest.spyOn(FloorLabelDrawer.prototype, "draw").mockReturnValue([])
460
+
461
+ store.dispatch(setEnableFloorLabels(false))
462
+ threeSceneService.setMapMesh([TEST_NODE_LEAF], new CodeMapMesh(TEST_NODES, state.getValue(), false))
463
+
464
+ expect(floorLabelDrawerSpy).not.toHaveBeenCalled()
465
+ })
456
466
  })
457
467
  })
@@ -10,12 +10,12 @@ import { idToNodeSelector } from "../../../state/selectors/accumulatedData/idToN
10
10
  import { IdToBuildingService } from "../../../services/idToBuilding/idToBuilding.service"
11
11
  import { mapColorsSelector } from "../../../state/store/appSettings/mapColors/mapColors.selector"
12
12
  import { ThreeRendererService } from "./threeRenderer.service"
13
- import { EventEmitter } from "tsee"
14
- import { Inject, Injectable } from "@angular/core"
13
+ import { Injectable, OnDestroy } from "@angular/core"
15
14
  import { Store } from "../../../state/angular-redux/store"
16
15
  import { defaultMapColors } from "../../../state/store/appSettings/mapColors/mapColors.actions"
17
16
  import { State } from "../../../state/angular-redux/state"
18
17
  import { treeMapSize } from "../../../util/algorithm/treeMapLayout/treeMapHelper"
18
+ import { EventEmitter } from "../../../util/EventEmitter"
19
19
 
20
20
  type BuildingSelectedEvents = {
21
21
  onBuildingSelected: (data: { building: CodeMapBuilding }) => void
@@ -23,7 +23,7 @@ type BuildingSelectedEvents = {
23
23
  }
24
24
 
25
25
  @Injectable({ providedIn: "root" })
26
- export class ThreeSceneService {
26
+ export class ThreeSceneService implements OnDestroy {
27
27
  scene: Scene
28
28
  labels: Group
29
29
  floorLabelPlanes: Group
@@ -49,18 +49,17 @@ export class ThreeSceneService {
49
49
  private highlightedLabel = null
50
50
  private highlightedLineIndex = -1
51
51
  private highlightedLine = null
52
+ private subscription = this.store.select(mapColorsSelector).subscribe(mapColors => {
53
+ this.folderLabelColorSelected = mapColors.selected
54
+ this.numberSelectionColor = ColorConverter.convertHexToNumber(this.folderLabelColorSelected)
55
+ })
52
56
 
53
57
  constructor(
54
- @Inject(Store) private store: Store,
55
- @Inject(State) private state: State,
56
- @Inject(IdToBuildingService) private idToBuilding: IdToBuildingService,
57
- @Inject(ThreeRendererService) private threeRendererService: ThreeRendererService
58
+ private store: Store,
59
+ private state: State,
60
+ private idToBuilding: IdToBuildingService,
61
+ private threeRendererService: ThreeRendererService
58
62
  ) {
59
- this.store.select(mapColorsSelector).subscribe(mapColors => {
60
- this.folderLabelColorSelected = mapColors.selected
61
- this.numberSelectionColor = ColorConverter.convertHexToNumber(this.folderLabelColorSelected)
62
- })
63
-
64
63
  this.scene = new Scene()
65
64
  this.mapGeometry = new Group()
66
65
  this.lights = new Group()
@@ -77,11 +76,15 @@ export class ThreeSceneService {
77
76
  this.scene.add(this.floorLabelPlanes)
78
77
  }
79
78
 
79
+ ngOnDestroy(): void {
80
+ this.subscription.unsubscribe()
81
+ }
82
+
80
83
  private initFloorLabels(nodes: Node[]) {
81
84
  this.floorLabelPlanes.clear()
82
85
 
83
- const { layoutAlgorithm } = this.state.getValue().appSettings
84
- if (layoutAlgorithm !== LayoutAlgorithm.SquarifiedTreeMap) {
86
+ const { layoutAlgorithm, enableFloorLabels } = this.state.getValue().appSettings
87
+ if (layoutAlgorithm !== LayoutAlgorithm.SquarifiedTreeMap || !enableFloorLabels) {
85
88
  return
86
89
  }
87
90
 
@@ -93,7 +96,7 @@ export class ThreeSceneService {
93
96
  const scalingVector = new Vector3(scaling.x, scaling.y, scaling.z)
94
97
 
95
98
  this.floorLabelDrawer = new FloorLabelDrawer(this.mapMesh.getNodes(), rootNode, treeMapSize, scalingVector)
96
- const floorLabels = this.floorLabelDrawer.draw()
99
+ const floorLabels = this.floorLabelDrawer.draw(this.state.getValue())
97
100
 
98
101
  if (floorLabels.length > 0) {
99
102
  this.floorLabelPlanes.add(...floorLabels)
@@ -368,6 +371,7 @@ export class ThreeSceneService {
368
371
  this.store.dispatch(setSelectedBuildingId(null))
369
372
  this.eventEmitter.emit("onBuildingDeselected")
370
373
  }
374
+
371
375
  if (this.highlighted.length > 0) {
372
376
  this.highlightBuildings()
373
377
  }
@@ -419,13 +423,6 @@ export class ThreeSceneService {
419
423
  return this.highlighted[0]
420
424
  }
421
425
 
422
- getHighlightedNode() {
423
- if (this.getHighlightedBuilding()) {
424
- return this.getHighlightedBuilding().node
425
- }
426
- return null
427
- }
428
-
429
426
  dispose() {
430
427
  this.mapMesh?.dispose()
431
428
  }