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,20 +1,20 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`BlacklistMerger getMergedBlacklist should merge blacklist for different paths 1`] = `
4
- Array [
5
- Object {
4
+ [
5
+ {
6
6
  "path": "/root/nodeA",
7
7
  "type": "exclude",
8
8
  },
9
- Object {
9
+ {
10
10
  "path": "/another/nodeB",
11
11
  "type": "flatten",
12
12
  },
13
- Object {
13
+ {
14
14
  "path": "/another/nodeC",
15
15
  "type": "exclude",
16
16
  },
17
- Object {
17
+ {
18
18
  "path": "*prefix/nodeD",
19
19
  "type": "flatten",
20
20
  },
@@ -22,16 +22,16 @@ Array [
22
22
  `;
23
23
 
24
24
  exports[`BlacklistMerger getMergedBlacklist should only contain unique paths+type 1`] = `
25
- Array [
26
- Object {
25
+ [
26
+ {
27
27
  "path": "/root/nodeA",
28
28
  "type": "exclude",
29
29
  },
30
- Object {
30
+ {
31
31
  "path": "/another/nodeB",
32
32
  "type": "flatten",
33
33
  },
34
- Object {
34
+ {
35
35
  "path": "*prefix/nodeD",
36
36
  "type": "flatten",
37
37
  },
@@ -1,9 +1,9 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`EdgesMerger getMergedEdges should merge all edges if one file does not contain edges 1`] = `
4
- Array [
5
- Object {
6
- "attributes": Object {
4
+ [
5
+ {
6
+ "attributes": {
7
7
  "attribute1": 10,
8
8
  "attribute2": 20,
9
9
  },
@@ -11,8 +11,8 @@ Array [
11
11
  "toNodeName": "/root/nodeB",
12
12
  "visible": undefined,
13
13
  },
14
- Object {
15
- "attributes": Object {
14
+ {
15
+ "attributes": {
16
16
  "attribute1": 10,
17
17
  "attribute2": 20,
18
18
  },
@@ -24,9 +24,9 @@ Array [
24
24
  `;
25
25
 
26
26
  exports[`EdgesMerger getMergedEdges should merge different edges 1`] = `
27
- Array [
28
- Object {
29
- "attributes": Object {
27
+ [
28
+ {
29
+ "attributes": {
30
30
  "attribute1": 10,
31
31
  "attribute2": 20,
32
32
  },
@@ -34,8 +34,8 @@ Array [
34
34
  "toNodeName": "/root/nodeB",
35
35
  "visible": undefined,
36
36
  },
37
- Object {
38
- "attributes": Object {
37
+ {
38
+ "attributes": {
39
39
  "attribute1": 10,
40
40
  "attribute2": 20,
41
41
  },
@@ -47,9 +47,9 @@ Array [
47
47
  `;
48
48
 
49
49
  exports[`EdgesMerger getMergedEdges should merge edge-attributes for the same edge paths 1`] = `
50
- Array [
51
- Object {
52
- "attributes": Object {
50
+ [
51
+ {
52
+ "attributes": {
53
53
  "attribute1": 10,
54
54
  "attribute2": 20,
55
55
  "attribute3": 30,
@@ -63,9 +63,9 @@ Array [
63
63
  `;
64
64
 
65
65
  exports[`EdgesMerger getMergedEdges should overwrite duplicated edge-attributes for the same edge 1`] = `
66
- Array [
67
- Object {
68
- "attributes": Object {
66
+ [
67
+ {
68
+ "attributes": {
69
69
  "attribute1": 70,
70
70
  "attribute2": 80,
71
71
  },
@@ -1,12 +1,12 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`MarkedPackagesMerger getMergedMarkedPackages should merge all markedPackages if one file does not contain markedPackages 1`] = `
4
- Array [
5
- Object {
4
+ [
5
+ {
6
6
  "color": "#ABABAB",
7
7
  "path": "/root/nodeA",
8
8
  },
9
- Object {
9
+ {
10
10
  "color": "#FFFFFF",
11
11
  "path": "/root/nodeB",
12
12
  },
@@ -14,12 +14,12 @@ Array [
14
14
  `;
15
15
 
16
16
  exports[`MarkedPackagesMerger getMergedMarkedPackages should merge different markedPackages 1`] = `
17
- Array [
18
- Object {
17
+ [
18
+ {
19
19
  "color": "#ABABAB",
20
20
  "path": "/root/nodeA",
21
21
  },
22
- Object {
22
+ {
23
23
  "color": "#FFFFFF",
24
24
  "path": "/root/nodeB",
25
25
  },
@@ -27,8 +27,8 @@ Array [
27
27
  `;
28
28
 
29
29
  exports[`MarkedPackagesMerger getMergedMarkedPackages should merge markedPackage-attributes for the same markedPackage paths 1`] = `
30
- Array [
31
- Object {
30
+ [
31
+ {
32
32
  "color": "#ABABAB",
33
33
  "path": "/root/nodeA",
34
34
  },
@@ -36,8 +36,8 @@ Array [
36
36
  `;
37
37
 
38
38
  exports[`MarkedPackagesMerger getMergedMarkedPackages should overwrite duplicated markedPackage-attributes for the same markedPackage 1`] = `
39
- Array [
40
- Object {
39
+ [
40
+ {
41
41
  "color": "#ABABAB",
42
42
  "path": "/root/nodeA",
43
43
  },
@@ -1,6 +1,6 @@
1
1
  import { getMergedBlacklist } from "./blacklist.merger"
2
2
  import { TEST_FILE_DATA } from "../../../../util/dataMocks"
3
- import { BlacklistItem, BlacklistType, CCFile } from "../../../../codeCharta.model"
3
+ import { BlacklistItem, CCFile } from "../../../../codeCharta.model"
4
4
  import { clone } from "../../../../util/clone"
5
5
 
6
6
  describe("BlacklistMerger", () => {
@@ -16,11 +16,11 @@ describe("BlacklistMerger", () => {
16
16
  })
17
17
 
18
18
  describe("getMergedBlacklist", () => {
19
- const blacklistItem1: BlacklistItem = { path: "/root/nodeA", type: BlacklistType.exclude }
20
- const blacklistItem2: BlacklistItem = { path: "/another/nodeB", type: BlacklistType.flatten }
21
- const blacklistItem3: BlacklistItem = { path: "/another/nodeC", type: BlacklistType.exclude }
22
- const blacklistItem4: BlacklistItem = { path: "*prefix/nodeD", type: BlacklistType.flatten }
23
- const blacklistItem1Duplicate: BlacklistItem = { path: "/root/nodeA", type: BlacklistType.exclude }
19
+ const blacklistItem1: BlacklistItem = { path: "/root/nodeA", type: "exclude" }
20
+ const blacklistItem2: BlacklistItem = { path: "/another/nodeB", type: "flatten" }
21
+ const blacklistItem3: BlacklistItem = { path: "/another/nodeC", type: "exclude" }
22
+ const blacklistItem4: BlacklistItem = { path: "*prefix/nodeD", type: "flatten" }
23
+ const blacklistItem1Duplicate: BlacklistItem = { path: "/root/nodeA", type: "exclude" }
24
24
 
25
25
  it("should merge blacklist for different paths", () => {
26
26
  file1.settings.fileSettings.blacklist = [blacklistItem1, blacklistItem2]
@@ -1,4 +1,4 @@
1
- import { Inject, Injectable } from "@angular/core"
1
+ import { Injectable } from "@angular/core"
2
2
  import { Store } from "../../angular-redux/store"
3
3
  import { createEffect } from "../../angular-redux/effects/createEffect"
4
4
  import { map, withLatestFrom } from "rxjs"
@@ -9,7 +9,7 @@ import { getNumberOfTopLabels } from "./getNumberOfTopLabels"
9
9
 
10
10
  @Injectable()
11
11
  export class UpdateVisibleTopLabelsEffect {
12
- constructor(@Inject(Store) private store: Store) {}
12
+ constructor(private store: Store) {}
13
13
 
14
14
  updateVisibleTopLabels$ = createEffect(() =>
15
15
  this.store.select(visibleFileStatesSelector).pipe(
@@ -0,0 +1,76 @@
1
+ import { NodeType } from "../../../codeCharta.model"
2
+ import { FileSelectionState, FileState } from "../../../model/files/files"
3
+ import packageJson from "../../../../../package.json"
4
+ import { _getUndecoratedAccumulatedData } from "./accumulatedData.selector"
5
+
6
+ describe("accumulatedDataSelector", () => {
7
+ describe("_getUndecoratedAccumulatedData", () => {
8
+ const fileState1 = {
9
+ file: {
10
+ fileMeta: {
11
+ fileName: "file1",
12
+ fileChecksum: "md5-file1",
13
+ projectName: "Sample Project",
14
+ apiVersion: packageJson.codecharta.apiVersion,
15
+ exportedFileSize: 300_000
16
+ },
17
+ map: {
18
+ name: "root1",
19
+ type: NodeType.FOLDER,
20
+ path: "/root1",
21
+ attributes: { rloc: 170, functions: 1010, mcc: 11 },
22
+ children: []
23
+ }
24
+ }
25
+ } as unknown as FileState
26
+ const fileState2 = {
27
+ file: {
28
+ fileMeta: {
29
+ fileName: "file2",
30
+ fileChecksum: "md5-file2",
31
+ projectName: "Sample Project2",
32
+ apiVersion: packageJson.codecharta.apiVersion,
33
+ exportedFileSize: 300_000
34
+ },
35
+ map: {
36
+ name: "root2",
37
+ type: NodeType.FOLDER,
38
+ path: "/root2",
39
+ attributes: { rloc: 170, functions: 1010, mcc: 11 },
40
+ children: []
41
+ }
42
+ }
43
+ } as unknown as FileState
44
+
45
+ beforeEach(() => {
46
+ fileState1.selectedAs = FileSelectionState.None
47
+ fileState2.selectedAs = FileSelectionState.None
48
+ })
49
+
50
+ it("should wrap multiple selected files in a root path", () => {
51
+ fileState1.selectedAs = FileSelectionState.Partial
52
+ fileState2.selectedAs = FileSelectionState.Partial
53
+ const accumulatedData = _getUndecoratedAccumulatedData([fileState1, fileState2])
54
+ expect(accumulatedData.map.path).toBe("/root")
55
+ })
56
+
57
+ it("should not wrap a single selected file in a root path", () => {
58
+ fileState1.selectedAs = FileSelectionState.Partial
59
+ const accumulatedData = _getUndecoratedAccumulatedData([fileState1])
60
+ expect(accumulatedData.map.path).toBe("/root1")
61
+ })
62
+
63
+ it("should wrap a root path for delta mode", () => {
64
+ fileState1.selectedAs = FileSelectionState.Reference
65
+ fileState2.selectedAs = FileSelectionState.Comparison
66
+ const accumulatedData = _getUndecoratedAccumulatedData([fileState1, fileState2])
67
+ expect(accumulatedData.map.path).toBe("/root")
68
+ })
69
+
70
+ it("should not wrap a root path, when there is no comparison file in delta mode", () => {
71
+ fileState1.selectedAs = FileSelectionState.Reference
72
+ const accumulatedData = _getUndecoratedAccumulatedData([fileState1])
73
+ expect(accumulatedData.map.path).toBe("/root1")
74
+ })
75
+ })
76
+ })
@@ -2,7 +2,6 @@ import { CodeMapNode, FileMeta } from "../../../codeCharta.model"
2
2
  import { FileState } from "../../../model/files/files"
3
3
  import { fileStatesAvailable, isDeltaState, isPartialState } from "../../../model/files/files.helper"
4
4
  import { AggregationGenerator } from "../../../util/aggregationGenerator"
5
- import { clone } from "../../../util/clone"
6
5
  import { NodeDecorator } from "../../../util/nodeDecorator"
7
6
  import { CcState } from "../../store/store"
8
7
  import { metricNamesSelector } from "./metricData/metricNames.selector"
@@ -28,13 +27,13 @@ export const accumulatedDataSelector: (state: CcState) => AccumulatedData = crea
28
27
  return accumulatedDataFallback
29
28
  }
30
29
 
31
- const data = getUndecoratedAccumulatedData(fileStates)
30
+ const data = _getUndecoratedAccumulatedData(fileStates)
32
31
  if (!data?.map) {
33
32
  return accumulatedDataFallback
34
33
  }
35
34
 
36
35
  NodeDecorator.decorateMap(data.map, metricData, blacklist)
37
- addEdgeMetricsForLeaves(data.map, metricNames)
36
+ addEdgeMetricsForLeaves(metricData.nodeEdgeMetricsMap, data.map, metricNames)
38
37
  NodeDecorator.decorateParentNodesWithAggregatedAttributes(data.map, isDeltaState(fileStates), attributeTypes)
39
38
 
40
39
  return {
@@ -44,19 +43,15 @@ export const accumulatedDataSelector: (state: CcState) => AccumulatedData = crea
44
43
  }
45
44
  )
46
45
 
47
- const getUndecoratedAccumulatedData = (fileStates: FileState[]) => {
48
- // TODO this cloning shouldn't be necessary. When migrating to NgRx
49
- // we should find and eliminate the responsible side effects
50
- const visibleFileStates = clone(fileStates)
51
-
46
+ export const _getUndecoratedAccumulatedData = (fileStates: FileState[]) => {
52
47
  if (isPartialState(fileStates)) {
53
- return AggregationGenerator.getAggregationFile(visibleFileStates.map(x => x.file))
48
+ return AggregationGenerator.calculateAggregationFile(fileStates)
54
49
  }
55
50
  if (isDeltaState(fileStates)) {
56
- const [reference, comparison] = visibleFileStates
51
+ const [reference, comparison] = fileStates
57
52
  if (comparison && reference.file.map.name !== comparison.file.map.name) {
58
- return AggregationGenerator.getAggregationFile(visibleFileStates.map(x => x.file))
53
+ return AggregationGenerator.calculateAggregationFile(fileStates)
59
54
  }
60
- return getDeltaFile(visibleFileStates)
55
+ return getDeltaFile(fileStates)
61
56
  }
62
57
  }
@@ -0,0 +1,46 @@
1
+ import { calculateEdgeMetricData } from "./edgeMetricData.calculator"
2
+ import { FILE_STATES, VALID_NODE_WITH_PATH } from "../../../../util/dataMocks"
3
+ import { FileState } from "../../../../model/files/files"
4
+ import { clone } from "../../../../util/clone"
5
+
6
+ describe("edgeMetricDataCalculator", () => {
7
+ let fileStates: FileState[]
8
+
9
+ beforeEach(() => {
10
+ fileStates = clone(FILE_STATES)
11
+ fileStates[0].file.map = clone(VALID_NODE_WITH_PATH)
12
+ })
13
+
14
+ it("should create correct edge Metrics", () => {
15
+ const { edgeMetricData } = calculateEdgeMetricData(fileStates, [])
16
+
17
+ expect(edgeMetricData.map(x => x.name)).toContain("pairingRate")
18
+ expect(edgeMetricData.map(x => x.name)).toContain("otherMetric")
19
+ })
20
+
21
+ it("should calculate correct maximum value for edge Metrics", () => {
22
+ const { edgeMetricData } = calculateEdgeMetricData(fileStates, [])
23
+
24
+ expect(edgeMetricData.find(x => x.name === "pairingRate").maxValue).toEqual(2)
25
+ expect(edgeMetricData.find(x => x.name === "otherMetric").maxValue).toEqual(1)
26
+ })
27
+
28
+ it("should sort the metrics after calculating them", () => {
29
+ const { edgeMetricData } = calculateEdgeMetricData(fileStates, [])
30
+
31
+ expect(edgeMetricData).toHaveLength(3)
32
+ expect(edgeMetricData[0].name).toBe("avgCommits")
33
+ expect(edgeMetricData[1].name).toBe("otherMetric")
34
+ expect(edgeMetricData[2].name).toBe("pairingRate")
35
+ })
36
+
37
+ it("should provide nodeEdgeMetricsMap", () => {
38
+ const { nodeEdgeMetricsMap } = calculateEdgeMetricData(fileStates, [])
39
+
40
+ const pairingRateMapKeys = [...nodeEdgeMetricsMap.get("pairingRate").keys()]
41
+
42
+ expect(pairingRateMapKeys[0]).toEqual("/root/big leaf")
43
+ expect(pairingRateMapKeys[1]).toEqual("/root/Parent Leaf/small leaf")
44
+ expect(pairingRateMapKeys[2]).toEqual("/root/Parent Leaf/other small leaf")
45
+ })
46
+ })
@@ -1,31 +1,15 @@
1
1
  import { hierarchy } from "d3-hierarchy"
2
- import { BlacklistItem, BlacklistType, Edge, EdgeMetricCount, EdgeMetricData } from "../../../../codeCharta.model"
2
+ import { BlacklistItem, Edge, EdgeMetricCount, EdgeMetricData } from "../../../../codeCharta.model"
3
3
  import { FileState } from "../../../../model/files/files"
4
4
  import { isPathBlacklisted } from "../../../../util/codeMapHelper"
5
- import { createSelector } from "../../../angular-redux/createSelector"
6
- import { blacklistSelector } from "../../../store/fileSettings/blacklist/blacklist.selector"
7
- import { visibleFileStatesSelector } from "../../visibleFileStates.selector"
8
5
  import { sortByMetricName } from "./sortByMetricName"
9
6
 
10
7
  export type EdgeMetricCountMap = Map<string, EdgeMetricCount>
11
8
  export type NodeEdgeMetricsMap = Map<string, EdgeMetricCountMap>
12
- /** @deprecated use edgeMetricMapSelector instead to ensure unidirectional data flow and prevent random manipulation */
13
- export let nodeEdgeMetricsMap: NodeEdgeMetricsMap = new Map()
14
-
15
- const edgeMetricDataAndMapSelector = createSelector([visibleFileStatesSelector, blacklistSelector], calculateEdgeMetricData)
16
-
17
- export const edgeMetricDataSelector = createSelector(
18
- [edgeMetricDataAndMapSelector],
19
- edgeMetricDataAndMap => edgeMetricDataAndMap.sortedEdgeMetricList
20
- )
21
-
22
- export const edgeMetricMapSelector = createSelector(
23
- [edgeMetricDataAndMapSelector],
24
- edgeMetricDataAndMap => edgeMetricDataAndMap.nodeEdgeMetricsMap
25
- )
26
9
 
27
10
  export function calculateEdgeMetricData(visibleFileStates: FileState[], blacklist: BlacklistItem[]) {
28
- nodeEdgeMetricsMap = new Map()
11
+ const nodeEdgeMetricsMap: NodeEdgeMetricsMap = new Map()
12
+
29
13
  const allFilePaths: Set<string> = new Set()
30
14
 
31
15
  for (const { file } of visibleFileStates) {
@@ -39,28 +23,28 @@ export function calculateEdgeMetricData(visibleFileStates: FileState[], blacklis
39
23
  if (bothNodesAssociatedAreVisible(edge, allFilePaths, blacklist)) {
40
24
  // TODO: We likely only need the attributes once per file.
41
25
  for (const edgeMetric of Object.keys(edge.attributes)) {
42
- const edgeMetricEntry = getEntryForMetric(edgeMetric)
26
+ const edgeMetricEntry = updateEntryForMetric(nodeEdgeMetricsMap, edgeMetric)
43
27
  addEdgeToNodes(edgeMetricEntry, edge.fromNodeName, edge.toNodeName)
44
28
  }
45
29
  }
46
30
  }
47
31
  }
48
- const newEdgeMetricData = getMetricDataFromMap()
32
+ const newEdgeMetricData = getMetricDataFromMap(nodeEdgeMetricsMap)
49
33
  sortByMetricName(newEdgeMetricData)
50
- return { sortedEdgeMetricList: newEdgeMetricData, nodeEdgeMetricsMap }
34
+ return {
35
+ edgeMetricData: newEdgeMetricData,
36
+ nodeEdgeMetricsMap
37
+ }
51
38
  }
52
39
 
53
40
  function bothNodesAssociatedAreVisible(edge: Edge, filePaths: Set<string>, blacklist: BlacklistItem[]) {
54
41
  if (filePaths.has(edge.fromNodeName) && filePaths.has(edge.toNodeName)) {
55
- return (
56
- !isPathBlacklisted(edge.fromNodeName, blacklist, BlacklistType.exclude) &&
57
- !isPathBlacklisted(edge.toNodeName, blacklist, BlacklistType.exclude)
58
- )
42
+ return !isPathBlacklisted(edge.fromNodeName, blacklist, "exclude") && !isPathBlacklisted(edge.toNodeName, blacklist, "exclude")
59
43
  }
60
44
  return false
61
45
  }
62
46
 
63
- function getEntryForMetric(edgeMetricName: string) {
47
+ function updateEntryForMetric(nodeEdgeMetricsMap: NodeEdgeMetricsMap, edgeMetricName: string) {
64
48
  let nodeEdgeMetric = nodeEdgeMetricsMap.get(edgeMetricName)
65
49
  if (!nodeEdgeMetric) {
66
50
  nodeEdgeMetric = new Map()
@@ -85,7 +69,7 @@ function addEdgeToNodes(edgeMetricEntry: EdgeMetricCountMap, fromNode: string, t
85
69
  }
86
70
  }
87
71
 
88
- function getMetricDataFromMap() {
72
+ function getMetricDataFromMap(nodeEdgeMetricsMap: NodeEdgeMetricsMap) {
89
73
  const metricData: EdgeMetricData[] = []
90
74
 
91
75
  for (const [edgeMetric, occurrences] of nodeEdgeMetricsMap) {
@@ -1,8 +1,12 @@
1
1
  import { createSelector } from "../../../angular-redux/createSelector"
2
- import { edgeMetricDataSelector } from "./edgeMetricData.selector"
3
- import { nodeMetricDataSelector } from "./nodeMetricData.selector"
2
+ import { blacklistSelector } from "../../../store/fileSettings/blacklist/blacklist.selector"
3
+ import { visibleFileStatesSelector } from "../../visibleFileStates.selector"
4
+ import { calculateEdgeMetricData } from "./edgeMetricData.calculator"
5
+ import { calculateNodeMetricData } from "./nodeMetricData.calculator"
4
6
 
5
- export const metricDataSelector = createSelector([nodeMetricDataSelector, edgeMetricDataSelector], (nodeMetricData, edgeMetricData) => ({
6
- nodeMetricData,
7
- edgeMetricData
8
- }))
7
+ export const metricDataSelector = createSelector([visibleFileStatesSelector, blacklistSelector], (visibleFileStates, blacklist) => {
8
+ return {
9
+ nodeMetricData: calculateNodeMetricData(visibleFileStates, blacklist),
10
+ ...calculateEdgeMetricData(visibleFileStates, blacklist)
11
+ }
12
+ })
@@ -1,15 +1,15 @@
1
1
  import { CcState } from "../../../store/store"
2
- import { edgeMetricDataSelector } from "./edgeMetricData.selector"
2
+ import { metricDataSelector } from "./metricData.selector"
3
3
  import { metricNamesSelector } from "./metricNames.selector"
4
4
 
5
- const mockedEdgeMetricDataSelector = edgeMetricDataSelector as unknown as jest.Mock
6
- jest.mock("./edgeMetricData.selector", () => ({
7
- edgeMetricDataSelector: jest.fn()
5
+ const mockedMetricDataSelector = metricDataSelector as unknown as jest.Mock
6
+ jest.mock("./metricData.selector", () => ({
7
+ metricDataSelector: jest.fn()
8
8
  }))
9
9
 
10
10
  describe("metricNamesSelector", () => {
11
11
  it("should get the names of the metrics", () => {
12
- mockedEdgeMetricDataSelector.mockImplementationOnce(() => [{ name: "metricOfTruth" }, { name: "otherMetric" }])
12
+ mockedMetricDataSelector.mockImplementationOnce(() => ({ edgeMetricData: [{ name: "metricOfTruth" }, { name: "otherMetric" }] }))
13
13
 
14
14
  expect(metricNamesSelector({} as unknown as CcState)).toEqual(["metricOfTruth", "otherMetric"])
15
15
  })
@@ -1,4 +1,4 @@
1
1
  import { createSelector } from "../../../angular-redux/createSelector"
2
- import { edgeMetricDataSelector } from "./edgeMetricData.selector"
2
+ import { metricDataSelector } from "./metricData.selector"
3
3
 
4
- export const metricNamesSelector = createSelector([edgeMetricDataSelector], edgeMetricData => edgeMetricData.map(x => x.name))
4
+ export const metricNamesSelector = createSelector([metricDataSelector], metricData => metricData.edgeMetricData.map(x => x.name))
@@ -1,11 +1,10 @@
1
1
  import { TEST_DELTA_MAP_A, VALID_NODE_WITH_ROOT_UNARY } from "../../../../util/dataMocks"
2
2
  import { FileSelectionState, FileState } from "../../../../model/files/files"
3
- import { BlacklistType } from "../../../../codeCharta.model"
4
3
  import { NodeDecorator } from "../../../../util/nodeDecorator"
5
4
  import { clone } from "../../../../util/clone"
6
- import { calculateNodeMetricData, UNARY_METRIC } from "./nodeMetricData.selector"
5
+ import { calculateNodeMetricData, UNARY_METRIC } from "./nodeMetricData.calculator"
7
6
 
8
- describe("nodeMetricDataSelector", () => {
7
+ describe("nodeMetricDataCalculator", () => {
9
8
  let fileState: FileState
10
9
 
11
10
  beforeEach(() => {
@@ -38,7 +37,7 @@ describe("nodeMetricDataSelector", () => {
38
37
  { maxValue: 1, minValue: 1, name: UNARY_METRIC }
39
38
  ]
40
39
 
41
- const result = calculateNodeMetricData([fileState], [{ path: "root/big leaf", type: BlacklistType.exclude }])
40
+ const result = calculateNodeMetricData([fileState], [{ path: "root/big leaf", type: "exclude" }])
42
41
 
43
42
  expect(result).toEqual(expected)
44
43
  })
@@ -1,11 +1,8 @@
1
1
  import { hierarchy } from "d3-hierarchy"
2
2
 
3
- import { BlacklistItem, BlacklistType, NodeMetricData } from "../../../../codeCharta.model"
3
+ import { BlacklistItem, NodeMetricData } from "../../../../codeCharta.model"
4
4
  import { FileState } from "../../../../model/files/files"
5
5
  import { isLeaf, isPathBlacklisted } from "../../../../util/codeMapHelper"
6
- import { createSelector } from "../../../angular-redux/createSelector"
7
- import { blacklistSelector } from "../../../store/fileSettings/blacklist/blacklist.selector"
8
- import { visibleFileStatesSelector } from "../../visibleFileStates.selector"
9
6
  import { sortByMetricName } from "./sortByMetricName"
10
7
 
11
8
  export const UNARY_METRIC = "unary"
@@ -20,7 +17,7 @@ export const calculateNodeMetricData = (visibleFileStates: FileState[], blacklis
20
17
 
21
18
  for (const { file } of visibleFileStates) {
22
19
  for (const node of hierarchy(file.map)) {
23
- if (isLeaf(node) && node.data.path && !isPathBlacklisted(node.data.path, blacklist, BlacklistType.exclude)) {
20
+ if (isLeaf(node) && node.data.path && !isPathBlacklisted(node.data.path, blacklist, "exclude")) {
24
21
  for (const metric of Object.keys(node.data.attributes)) {
25
22
  const maxValue = metricMaxValues.get(metric)
26
23
  const minValue = metricMinValues.get(metric)
@@ -54,5 +51,3 @@ export const calculateNodeMetricData = (visibleFileStates: FileState[], blacklis
54
51
  sortByMetricName(metricData)
55
52
  return metricData
56
53
  }
57
-
58
- export const nodeMetricDataSelector = createSelector([visibleFileStatesSelector, blacklistSelector], calculateNodeMetricData)
@@ -1,7 +1,7 @@
1
1
  import { createSelector } from "../../../angular-redux/createSelector"
2
2
  import { colorMetricSelector } from "../../../store/dynamicSettings/colorMetric/colorMetric.selector"
3
3
  import { CcState } from "../../../store/store"
4
- import { nodeMetricDataSelector } from "./nodeMetricData.selector"
4
+ import { metricDataSelector } from "./metricData.selector"
5
5
 
6
6
  export type MetricMinMax = {
7
7
  minValue: number
@@ -9,9 +9,9 @@ export type MetricMinMax = {
9
9
  }
10
10
 
11
11
  export const selectedColorMetricDataSelector: (state: CcState) => MetricMinMax = createSelector(
12
- [nodeMetricDataSelector, colorMetricSelector],
13
- (nodeMetricData, colorMetric) => {
14
- const data = nodeMetricData.find(x => x.name === colorMetric)
12
+ [metricDataSelector, colorMetricSelector],
13
+ (metricData, colorMetric) => {
14
+ const data = metricData.nodeMetricData.find(x => x.name === colorMetric)
15
15
  return {
16
16
  minValue: data?.minValue ?? 0,
17
17
  maxValue: data?.maxValue ?? 0
@@ -1,16 +1,17 @@
1
1
  import { hierarchy } from "d3-hierarchy"
2
2
  import { CodeMapNode } from "../../../../codeCharta.model"
3
3
  import { isLeaf } from "../../../../util/codeMapHelper"
4
+ import { NodeEdgeMetricsMap } from "../metricData/edgeMetricData.calculator"
4
5
  import { getMetricValuesForNode } from "./getMetricValuesForNode"
5
6
 
6
- export const addEdgeMetricsForLeaves = (map: CodeMapNode, metricNames: string[]) => {
7
+ export const addEdgeMetricsForLeaves = (nodeEdgeMetricsMap: NodeEdgeMetricsMap, map: CodeMapNode, metricNames: string[]) => {
7
8
  if (metricNames.length === 0) {
8
9
  return
9
10
  }
10
11
 
11
12
  for (const node of hierarchy(map)) {
12
13
  if (isLeaf(node)) {
13
- const edgeMetrics = getMetricValuesForNode(node, metricNames)
14
+ const edgeMetrics = getMetricValuesForNode(nodeEdgeMetricsMap, node, metricNames)
14
15
  for (const [key, value] of edgeMetrics) {
15
16
  node.data.edgeAttributes[key] = value
16
17
  }
@@ -1,23 +1,16 @@
1
1
  import { HierarchyNode } from "d3-hierarchy"
2
2
  import { CodeMapNode } from "../../../../codeCharta.model"
3
+ import { NodeEdgeMetricsMap, EdgeMetricCountMap } from "../metricData/edgeMetricData.calculator"
3
4
  import { getMetricValuesForNode } from "./getMetricValuesForNode"
4
5
 
5
- jest.mock("../metricData/edgeMetricData.selector", () => ({
6
- nodeEdgeMetricsMap: {
7
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
- get: (_metricName: string) => ({
9
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
- get: (_path: string) => ({ incoming: 0, outgoing: 1 })
11
- })
12
- }
13
- }))
14
-
15
6
  describe("getMetricValuesForNode", () => {
16
7
  it("should return Edge Metric counts for node", () => {
17
8
  const metricNames = ["pairingRate"]
18
9
  const node = { data: { path: "/root/big leaf" } } as HierarchyNode<CodeMapNode>
10
+ const nodesEdgeMetricCountMap: EdgeMetricCountMap = new Map([["/root/big leaf", { incoming: 0, outgoing: 1 }]])
11
+ const nodeEdgeMetricsMap: NodeEdgeMetricsMap = new Map([["pairingRate", nodesEdgeMetricCountMap]])
19
12
 
20
- const metricsForNode = getMetricValuesForNode(node, metricNames)
13
+ const metricsForNode = getMetricValuesForNode(nodeEdgeMetricsMap, node, metricNames)
21
14
 
22
15
  expect(metricsForNode.get(metricNames[0])).toEqual({ incoming: 0, outgoing: 1 })
23
16
  })
@@ -1,8 +1,8 @@
1
1
  import { HierarchyNode } from "d3-hierarchy"
2
2
  import { CodeMapNode } from "../../../../codeCharta.model"
3
- import { EdgeMetricCountMap, nodeEdgeMetricsMap } from "../metricData/edgeMetricData.selector"
3
+ import { EdgeMetricCountMap, NodeEdgeMetricsMap } from "../metricData/edgeMetricData.calculator"
4
4
 
5
- export const getMetricValuesForNode = (node: HierarchyNode<CodeMapNode>, metricNames: string[]) => {
5
+ export const getMetricValuesForNode = (nodeEdgeMetricsMap: NodeEdgeMetricsMap, node: HierarchyNode<CodeMapNode>, metricNames: string[]) => {
6
6
  const nodeEdgeMetrics: EdgeMetricCountMap = new Map()
7
7
 
8
8
  for (const metricName of metricNames) {