codecharta-visualization 1.88.0 → 1.89.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 (124) hide show
  1. package/app/app.module.ts +20 -10
  2. package/app/codeCharta/codeCharta.component.html +0 -2
  3. package/app/codeCharta/codeCharta.model.ts +1 -0
  4. package/app/codeCharta/services/ajs-upgraded-providers.ts +13 -0
  5. package/app/codeCharta/state/angular-redux/effects/createEffect.spec.ts +37 -0
  6. package/app/codeCharta/state/angular-redux/effects/createEffect.ts +25 -0
  7. package/app/codeCharta/state/angular-redux/effects/effects.module.ts +36 -0
  8. package/app/codeCharta/state/angular-redux/ofType.ts +11 -0
  9. package/app/codeCharta/state/angular-redux/state.ts +12 -0
  10. package/app/codeCharta/state/angular-redux/store.ts +1 -1
  11. package/app/codeCharta/state/effects/addBlacklistItemsIfNotResultsInEmptyMap/addBlacklistItemsIfNotResultsInEmptyMap.effect.spec.ts +60 -0
  12. package/app/codeCharta/state/effects/addBlacklistItemsIfNotResultsInEmptyMap/addBlacklistItemsIfNotResultsInEmptyMap.effect.ts +56 -0
  13. package/app/codeCharta/state/effects/addBlacklistItemsIfNotResultsInEmptyMap/resultsInEmptyMap.ts +22 -0
  14. package/app/codeCharta/state/effects/nodeContextMenu/excludeButton/excludeButton.component.html +3 -0
  15. package/app/codeCharta/state/effects/nodeContextMenu/excludeButton/excludeButton.component.ts +26 -0
  16. package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.component.html +13 -0
  17. package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.component.spec.ts +55 -0
  18. package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.component.ts +34 -0
  19. package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.module.ts +11 -0
  20. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/focusButtons/focusButtons.component.html +0 -0
  21. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/focusButtons/focusButtons.component.spec.ts +2 -2
  22. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/focusButtons/focusButtons.component.ts +5 -5
  23. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/focusButtons/focusButtons.module.ts +1 -1
  24. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/focusButtons/isNodeFocused.pipe.spec.ts +0 -0
  25. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/focusButtons/isNodeFocused.pipe.ts +2 -2
  26. package/app/codeCharta/state/effects/nodeContextMenu/highlightButtons/highlightButtons.component.html +6 -0
  27. package/app/codeCharta/state/effects/nodeContextMenu/highlightButtons/highlightButtons.component.spec.ts +64 -0
  28. package/app/codeCharta/state/effects/nodeContextMenu/highlightButtons/highlightButtons.component.ts +39 -0
  29. package/app/codeCharta/state/effects/nodeContextMenu/highlightButtons/highlightButtons.module.ts +11 -0
  30. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/markFolderRow/markFolderRow.component.html +3 -3
  31. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/markFolderRow/markFolderRow.component.scss +0 -0
  32. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/markFolderRow/markFolderRow.component.spec.ts +2 -2
  33. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/markFolderRow/markFolderRow.component.ts +6 -6
  34. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/markFolderRow/markFolderRow.module.ts +1 -1
  35. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/markFolderRow/selectors/markFolderItems.selector.spec.ts +0 -0
  36. package/app/codeCharta/state/effects/nodeContextMenu/markFolderRow/selectors/markFolderItems.selector.ts +29 -0
  37. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/nodeContextMenu.e2e.ts +4 -16
  38. package/app/codeCharta/{ui → state/effects}/nodeContextMenu/nodeContextMenu.po.ts +1 -1
  39. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenu.service.spec.ts +78 -0
  40. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenu.service.ts +72 -0
  41. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/lastPartOfNodePath.pipe.spec.ts +11 -0
  42. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/lastPartOfNodePath.pipe.ts +8 -0
  43. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.html +17 -0
  44. package/app/codeCharta/{ui/nodeContextMenu/nodeContextMenu.component.scss → state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.scss} +6 -11
  45. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.spec.ts +49 -0
  46. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.ts +19 -0
  47. package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.module.ts +18 -0
  48. package/app/codeCharta/state/effects/nodeContextMenu/openNodeContextMenu.effect.spec.ts +32 -0
  49. package/app/codeCharta/state/effects/nodeContextMenu/openNodeContextMenu.effect.ts +33 -0
  50. package/app/codeCharta/state/effects/nodeContextMenu/rightClickedCodeMapNode.selector.ts +8 -0
  51. package/app/codeCharta/state/effects/unfocusNodesOnLoadingMap.effect.spec.ts +47 -0
  52. package/app/codeCharta/state/effects/unfocusNodesOnLoadingMap.effect.ts +18 -0
  53. package/app/codeCharta/state/selectors/allNecessaryRenderDataAvailable/areAllNecessaryRenderDataAvailable.selector.ts +30 -0
  54. package/app/codeCharta/state/selectors/allNecessaryRenderDataAvailable/utils/areDynamicSettingsAvailable.spec.ts +36 -0
  55. package/app/codeCharta/state/selectors/allNecessaryRenderDataAvailable/utils/areDynamicSettingsAvailable.ts +10 -0
  56. package/app/codeCharta/state/selectors/allNecessaryRenderDataAvailable/utils/areMetricsAvailable.spec.ts +13 -0
  57. package/app/codeCharta/state/selectors/allNecessaryRenderDataAvailable/utils/areMetricsAvailable.ts +8 -0
  58. package/app/codeCharta/state/store/appSettings/appSettings.actions.ts +2 -0
  59. package/app/codeCharta/state/store/appSettings/appSettings.reducer.ts +2 -0
  60. package/app/codeCharta/state/store/appSettings/invertArea/invertArea.actions.ts +32 -0
  61. package/app/codeCharta/state/store/appSettings/invertArea/invertArea.reducer.spec.ts +26 -0
  62. package/app/codeCharta/state/store/appSettings/invertArea/invertArea.reducer.ts +12 -0
  63. package/app/codeCharta/state/store/appSettings/invertArea/invertArea.selector.ts +3 -0
  64. package/app/codeCharta/state/store/appSettings/isLoadingMap/isLoadingMap.reducer.spec.ts +14 -3
  65. package/app/codeCharta/state/store/appSettings/isLoadingMap/isLoadingMap.reducer.ts +41 -6
  66. package/app/codeCharta/state/store/fileSettings/blacklist/blacklist.actions.ts +33 -2
  67. package/app/codeCharta/state/store/fileSettings/blacklist/blacklist.reducer.spec.ts +17 -1
  68. package/app/codeCharta/state/store/fileSettings/blacklist/blacklist.reducer.ts +3 -1
  69. package/app/codeCharta/state/store/fileSettings/blacklist/blacklist.service.spec.ts +1 -19
  70. package/app/codeCharta/state/store/fileSettings/blacklist/blacklist.service.ts +5 -28
  71. package/app/codeCharta/state/store/lookUp/idToNode/idToNode.selector.ts +4 -0
  72. package/app/codeCharta/state/store/lookUp/lookUp.selector.ts +3 -0
  73. package/app/codeCharta/state/store/metricData/nodeMetricData/nodeMetricData.service.ts +0 -4
  74. package/app/codeCharta/state/store/store.ts +5 -1
  75. package/app/codeCharta/state/store.service.spec.ts +20 -7
  76. package/app/codeCharta/state/store.service.ts +3 -36
  77. package/app/codeCharta/ui/areaSettingsPanel/areaSettingsPanel.component.html +3 -1
  78. package/app/codeCharta/ui/areaSettingsPanel/areaSettingsPanel.component.scss +6 -2
  79. package/app/codeCharta/ui/areaSettingsPanel/areaSettingsPanel.component.ts +1 -1
  80. package/app/codeCharta/ui/areaSettingsPanel/areaSettingsPanel.module.ts +3 -0
  81. package/app/codeCharta/ui/areaSettingsPanel/areaSettingsPanel.po.ts +4 -4
  82. package/app/codeCharta/ui/areaSettingsPanel/invertAreaOption/invertAreaOption.component.html +1 -0
  83. package/app/codeCharta/ui/areaSettingsPanel/invertAreaOption/invertAreaOption.component.scss +26 -0
  84. package/app/codeCharta/ui/areaSettingsPanel/invertAreaOption/invertAreaOption.component.spec.ts +29 -0
  85. package/app/codeCharta/ui/areaSettingsPanel/invertAreaOption/invertAreaOption.component.ts +24 -0
  86. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/aggregationType.pipe.spec.ts +19 -0
  87. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/{aggregationSymbol.pipe.ts → aggregationType.pipe.ts} +4 -4
  88. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.component.html +4 -12
  89. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.component.scss +11 -20
  90. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.component.spec.ts +8 -15
  91. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.module.ts +2 -2
  92. package/app/codeCharta/ui/codeMap/codeMap.preRender.service.spec.ts +1 -9
  93. package/app/codeCharta/ui/codeMap/codeMap.preRender.service.ts +9 -32
  94. package/app/codeCharta/ui/dialogs/dialogs.ts +3 -0
  95. package/app/codeCharta/ui/dialogs/errorDialog/errorDialog.component.html +7 -0
  96. package/app/codeCharta/ui/dialogs/errorDialog/errorDialog.component.ts +9 -0
  97. package/app/codeCharta/ui/mapTreeView/mapTreeView.level.e2e.ts +1 -1
  98. package/app/codeCharta/ui/mapTreeView/mapTreeView.level.po.ts +1 -1
  99. package/app/codeCharta/ui/ribbonBar/ribbonBar.component.html +2 -2
  100. package/app/codeCharta/ui/ribbonBar/ribbonBar.e2e.ts +3 -3
  101. package/app/codeCharta/ui/searchBar/searchBar.component.html +5 -0
  102. package/app/codeCharta/ui/searchBar/searchBar.component.scss +11 -0
  103. package/app/codeCharta/ui/searchBar/searchBar.component.spec.ts +10 -0
  104. package/app/codeCharta/ui/searchBar/searchBar.component.ts +1 -1
  105. package/app/codeCharta/ui/sortingOption/sortingOption.component.spec.ts +1 -1
  106. package/app/codeCharta/ui/ui.ts +0 -2
  107. package/app/codeCharta/util/algorithm/treeMapLayout/treeMapGenerator.spec.ts +1 -1
  108. package/app/codeCharta/util/algorithm/treeMapLayout/treeMapGenerator.ts +14 -7
  109. package/app/codeCharta/util/customConfigBuilder.ts +1 -0
  110. package/app/codeCharta/util/dataMocks.ts +2 -0
  111. package/app/codeCharta/util/reduxHelper.ts +11 -0
  112. package/app/material/material.module.ts +17 -1
  113. package/conf/webpack.loaders.js +4 -1
  114. package/dist/webpack/bundle.js +4582 -950
  115. package/dist/webpack/bundle.js.map +1 -1
  116. package/package.json +2 -2
  117. package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/aggregationSymbol.pipe.spec.ts +0 -19
  118. package/app/codeCharta/ui/nodeContextMenu/markFolderRow/selectors/markFolderItems.selector.ts +0 -29
  119. package/app/codeCharta/ui/nodeContextMenu/markFolderRow/selectors/rightClickedNode.selector.spec.ts +0 -15
  120. package/app/codeCharta/ui/nodeContextMenu/markFolderRow/selectors/rightClickedNode.selector.ts +0 -9
  121. package/app/codeCharta/ui/nodeContextMenu/nodeContextMenu.component.html +0 -45
  122. package/app/codeCharta/ui/nodeContextMenu/nodeContextMenu.component.spec.ts +0 -365
  123. package/app/codeCharta/ui/nodeContextMenu/nodeContextMenu.component.ts +0 -198
  124. package/app/codeCharta/ui/nodeContextMenu/nodeContextMenu.module.ts +0 -15
@@ -1,198 +0,0 @@
1
- import "./nodeContextMenu.component.scss"
2
- import angular, { IRootScopeService } from "angular"
3
- import { BlacklistItem, BlacklistType, CodeMapNode, NodeType } from "../../codeCharta.model"
4
- import { CodeMapPreRenderService } from "../codeMap/codeMap.preRender.service"
5
- import { StoreService } from "../../state/store.service"
6
- import { addBlacklistItem, removeBlacklistItem } from "../../state/store/fileSettings/blacklist/blacklist.actions"
7
- import { CodeMapBuilding } from "../codeMap/rendering/codeMapBuilding"
8
- import { getCodeMapNodeFromPath, isLeaf } from "../../util/codeMapHelper"
9
- import { ThreeSceneService } from "../codeMap/threeViewer/threeSceneService"
10
- import { DialogService } from "../dialog/dialog.service"
11
- import { BlacklistService } from "../../state/store/fileSettings/blacklist/blacklist.service"
12
- import { ERROR_MESSAGES } from "../../util/fileValidator"
13
- import { Store } from "../../state/store/store"
14
- import { rightClickedNodeDataSelector } from "../../state/store/appStatus/rightClickedNodeData/rightClickedNodeData.selector"
15
- import {
16
- RightClickedNodeData,
17
- setRightClickedNodeData
18
- } from "../../state/store/appStatus/rightClickedNodeData/rightClickedNodeData.actions"
19
-
20
- export enum ClickType {
21
- RightClick = 2
22
- }
23
-
24
- export class NodeContextMenuController {
25
- private rightClickedNodeData: RightClickedNodeData
26
-
27
- private _viewModel: {
28
- codeMapNode: CodeMapNode
29
- nodePath: string
30
- lastPartOfNodePath: string
31
- } = {
32
- codeMapNode: null,
33
- nodePath: "",
34
- lastPartOfNodePath: ""
35
- }
36
-
37
- constructor(
38
- private $element: Element,
39
- private $window,
40
- public $rootScope: IRootScopeService,
41
- private storeService: StoreService,
42
- private codeMapPreRenderService: CodeMapPreRenderService,
43
- private threeSceneService: ThreeSceneService,
44
- private dialogService: DialogService,
45
- private blacklistService: BlacklistService
46
- ) {
47
- "ngInject"
48
- Store.store.subscribe(() => {
49
- const state = Store.store.getState()
50
- const rightClickedNodeData = rightClickedNodeDataSelector(state)
51
- if (this.rightClickedNodeData === rightClickedNodeData) return
52
-
53
- this.rightClickedNodeData = rightClickedNodeData
54
- if (rightClickedNodeData === null) {
55
- this.hideNodeContextMenu()
56
- } else {
57
- const rightClickedNode = state.lookUp.idToNode.get(rightClickedNodeData.nodeId)
58
- const nodeType = isLeaf(rightClickedNode) ? NodeType.FILE : NodeType.FOLDER
59
- this.showNodeContextMenu(
60
- rightClickedNode.path,
61
- nodeType,
62
- rightClickedNodeData.xPositionOfRightClickEvent,
63
- rightClickedNodeData.yPositionOfRightClickEvent
64
- )
65
- }
66
- })
67
- }
68
-
69
- showNodeContextMenu(path: string, nodeType: string, mouseX: number, mouseY: number) {
70
- this._viewModel.codeMapNode = getCodeMapNodeFromPath(path, nodeType, this.codeMapPreRenderService.getRenderMap())
71
- this._viewModel.nodePath = path
72
- this._viewModel.lastPartOfNodePath = `${path.lastIndexOf("/") === 0 ? "" : "..."}${path.slice(path.lastIndexOf("/"))}`
73
-
74
- const { x, y } = this.calculatePosition(mouseX, mouseY)
75
- this.setPosition(x, y)
76
-
77
- // Add event listeners, so that opened node context menu can be closed again later
78
- // when clicking (left or right button) or using the mouse wheel on the body element.
79
- document.body.addEventListener("click", this.onBodyLeftClickHideNodeContextMenu, false)
80
- document.body.addEventListener("mousedown", this.onBodyRightClickHideNodeContextMenu, true)
81
- document.getElementById("codeMap").addEventListener("wheel", this.onMapWheelHideNodeContextMenu, true)
82
- }
83
-
84
- onBodyLeftClickHideNodeContextMenu = (mouseEvent: MouseEvent) => {
85
- if (this.isEventFromColorPicker(mouseEvent)) return
86
-
87
- // Just close node context menu, if you click anywhere on the map.
88
- this.hideNodeContextMenu()
89
- }
90
-
91
- onBodyRightClickHideNodeContextMenu = event => {
92
- // On mouse down (right button), the menu must be hidden immediately.
93
- // Otherwise, if mouseup would be used and you would move the map with keeping the right button pressed,
94
- // the menu would not be closed.
95
- if (event.button === ClickType.RightClick) {
96
- this.hideNodeContextMenu()
97
- }
98
- }
99
-
100
- onMapWheelHideNodeContextMenu = () => {
101
- // If you zoom in and out the map, the node context menu should be closed.
102
- this.hideNodeContextMenu()
103
- }
104
-
105
- hideNodeContextMenu = () => {
106
- this.storeService.dispatch(setRightClickedNodeData(null))
107
-
108
- // remove event listeners registered in showNodeContextMenu
109
- document.body.removeEventListener("click", this.onBodyLeftClickHideNodeContextMenu, true)
110
- document.body.removeEventListener("mousedown", this.onBodyRightClickHideNodeContextMenu, true)
111
- document.getElementById("codeMap").removeEventListener("wheel", this.onMapWheelHideNodeContextMenu, true)
112
- }
113
-
114
- flattenNode() {
115
- const codeMapNode = this._viewModel.codeMapNode
116
- const blacklistItem: BlacklistItem = {
117
- path: codeMapNode.path,
118
- type: BlacklistType.flatten,
119
- nodeType: codeMapNode.type
120
- }
121
- this.storeService.dispatch(addBlacklistItem(blacklistItem))
122
- }
123
-
124
- showFlattenedNode() {
125
- const codeMapNode = this._viewModel.codeMapNode
126
- const blacklistItem: BlacklistItem = {
127
- path: codeMapNode.path,
128
- type: BlacklistType.flatten,
129
- nodeType: codeMapNode.type
130
- }
131
- this.storeService.dispatch(removeBlacklistItem(blacklistItem))
132
- }
133
-
134
- excludeNode() {
135
- const codeMapNode = this._viewModel.codeMapNode
136
- const blacklistItem: BlacklistItem = {
137
- path: codeMapNode.path,
138
- type: BlacklistType.exclude,
139
- nodeType: codeMapNode.type
140
- }
141
-
142
- if (this.blacklistService.resultsInEmptyMap([blacklistItem])) {
143
- this.dialogService.showErrorDialog(ERROR_MESSAGES.blacklistError, "Blacklist Error")
144
- } else {
145
- this.storeService.dispatch(addBlacklistItem(blacklistItem))
146
- }
147
- }
148
-
149
- addNodeToConstantHighlight() {
150
- this.threeSceneService.addNodeAndChildrenToConstantHighlight(this._viewModel.codeMapNode)
151
- this.hideNodeContextMenu()
152
- }
153
-
154
- removeNodeFromConstantHighlight() {
155
- this.threeSceneService.removeNodeAndChildrenFromConstantHighlight(this._viewModel.codeMapNode)
156
- this.hideNodeContextMenu()
157
- }
158
-
159
- calculatePosition(mouseX: number, mouseY: number) {
160
- const width = this.$element[0].children[0].clientWidth
161
- const height = this.$element[0].children[0].clientHeight
162
- return {
163
- x: Math.min(mouseX, this.$window.innerWidth - width),
164
- y: Math.min(mouseY, this.$window.innerHeight - height)
165
- }
166
- }
167
-
168
- setPosition(x: number, y: number) {
169
- angular.element(this.$element[0].children[0]).css("top", `${y}px`)
170
- angular.element(this.$element[0].children[0]).css("left", `${x}px`)
171
- }
172
-
173
- private isEventFromColorPicker(mouseEvent: MouseEvent) {
174
- const elements = mouseEvent.composedPath() as Node[]
175
- return elements.some(element => element?.nodeName === "CC-COLOR-PICKER" || element?.nodeName === "COLOR-CHROME")
176
- }
177
-
178
- isNodeConstantlyHighlighted() {
179
- if (this._viewModel.codeMapNode) {
180
- const { lookUp } = this.storeService.getState()
181
- const codeMapBuilding: CodeMapBuilding = lookUp.idToBuilding.get(this._viewModel.codeMapNode.id)
182
- if (codeMapBuilding) {
183
- return this.threeSceneService.getConstantHighlight().has(codeMapBuilding.id)
184
- }
185
- }
186
- return false
187
- }
188
-
189
- nodeIsFolder() {
190
- return this._viewModel.codeMapNode?.children?.length > 0
191
- }
192
- }
193
-
194
- export const nodeContextMenuComponent = {
195
- selector: "nodeContextMenuComponent",
196
- template: require("./nodeContextMenu.component.html"),
197
- controller: NodeContextMenuController
198
- }
@@ -1,15 +0,0 @@
1
- import "../../state/state.module"
2
- import "../../ui/ui"
3
-
4
- import angular from "angular"
5
- import { downgradeComponent } from "@angular/upgrade/static"
6
-
7
- import { nodeContextMenuComponent } from "./nodeContextMenu.component"
8
- import { FocusButtonsComponent } from "./focusButtons/focusButtons.component"
9
- import { MarkFolderRowComponent } from "./markFolderRow/markFolderRow.component"
10
-
11
- angular
12
- .module("app.codeCharta.ui.nodeContextMenu", ["app.codeCharta.state", "app.codeCharta.ui"])
13
- .component(nodeContextMenuComponent.selector, nodeContextMenuComponent)
14
- .directive("ccMarkFolderRow", downgradeComponent({ component: MarkFolderRowComponent }))
15
- .directive("ccFocusButtons", downgradeComponent({ component: FocusButtonsComponent }))