codecharta-visualization 1.114.0 → 1.115.1
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.
- package/README.md +4 -1
- package/app/app.module.ts +1 -12
- package/app/app.scss +0 -2
- package/app/codeCharta/assets/codecharta_logo.svg +1 -0
- package/app/codeCharta/codeCharta.component.html +10 -7
- package/app/codeCharta/codeCharta.component.scss +22 -51
- package/app/codeCharta/codeCharta.component.ts +5 -7
- package/app/codeCharta/codeCharta.model.ts +0 -1
- package/app/codeCharta/e2e/__snapshots__/logo.e2e.ts.snap +2 -2
- package/app/codeCharta/e2e/logo.po.ts +7 -7
- package/app/codeCharta/e2e/url.e2e.ts +2 -2
- package/app/codeCharta/index.d.ts +1 -1
- package/app/codeCharta/model/customConfig/customConfig.api.model.ts +1 -0
- package/app/codeCharta/services/isAttributeSideBarVisible.service.ts +2 -2
- package/app/codeCharta/services/loadFile/loadFile.service.spec.ts +6 -6
- package/app/codeCharta/services/loadFile/loadFile.service.ts +7 -3
- package/app/codeCharta/services/loadInitialFile/loadInitialFile.service.spec.ts +1 -1
- package/app/codeCharta/services/loadInitialFile/loadInitialFile.service.ts +7 -7
- package/app/codeCharta/services/version/version.service.ts +2 -2
- package/app/codeCharta/state/effects/autoFitCodeMapChange/autoFitCodeMap.effect.ts +5 -5
- package/app/codeCharta/state/effects/linkColorMetricToHeightMetric/linkColorMetricToHeightMetric.effect.ts +2 -2
- package/app/codeCharta/state/effects/nodeContextMenu/excludeButton/excludeButton.component.ts +4 -3
- package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.component.html +2 -2
- package/app/codeCharta/state/effects/nodeContextMenu/flattenButtons/flattenButtons.component.ts +4 -3
- package/app/codeCharta/state/effects/nodeContextMenu/focusButtons/focusButtons.component.ts +4 -3
- package/app/codeCharta/state/effects/nodeContextMenu/highlightButtons/highlightButtons.component.spec.ts +5 -5
- package/app/codeCharta/state/effects/nodeContextMenu/highlightButtons/highlightButtons.component.ts +4 -6
- package/app/codeCharta/state/effects/nodeContextMenu/markFolderRow/markFolderRow.component.ts +5 -4
- package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenu.service.ts +2 -2
- package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.html +1 -1
- package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.scss +6 -7
- package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.component.ts +5 -4
- package/app/codeCharta/state/effects/nodeContextMenu/nodeContextMenuCard/nodeContextMenuCard.module.ts +1 -2
- package/app/codeCharta/state/effects/nodeContextMenu/openNodeContextMenu.effect.ts +1 -4
- package/app/codeCharta/state/effects/renderCodeMapEffect/renderCodeMap.effect.ts +4 -4
- package/app/codeCharta/state/effects/resetChosenMetrics/resetChosenMetrics.effect.spec.ts +25 -19
- package/app/codeCharta/state/effects/resetChosenMetrics/resetChosenMetrics.effect.ts +6 -5
- package/app/codeCharta/state/effects/resetSelectedEdgeMetricWhenItDoesntExistAnymore/resetSelectedEdgeMetricWhenItDoesntExistAnymore.effect.spec.ts +13 -13
- package/app/codeCharta/state/effects/resetSelectedEdgeMetricWhenItDoesntExistAnymore/resetSelectedEdgeMetricWhenItDoesntExistAnymore.effect.ts +6 -6
- package/app/codeCharta/state/effects/unfocusNodes/unfocusNodes.effect.ts +2 -2
- package/app/codeCharta/state/effects/updateEdgePreviews/updateEdgePreviews.effect.ts +2 -2
- package/app/codeCharta/state/effects/updateEdgePreviews/utils/edgePreviewNodes.selector.ts +5 -3
- package/app/codeCharta/state/effects/updateFileSettings/updateFileSettings.effect.ts +2 -2
- package/app/codeCharta/state/effects/updateFileSettings/utils/__snapshots__/blacklist.merger.spec.ts.snap +9 -9
- package/app/codeCharta/state/effects/updateFileSettings/utils/__snapshots__/edges.merger.spec.ts.snap +16 -16
- package/app/codeCharta/state/effects/updateFileSettings/utils/__snapshots__/markedPackages.merger.spec.ts.snap +10 -10
- package/app/codeCharta/state/effects/updateVisibleTopLabels/updateVisibleTopLabels.effect.ts +2 -2
- package/app/codeCharta/state/selectors/accumulatedData/accumulatedData.selector.spec.ts +76 -0
- package/app/codeCharta/state/selectors/accumulatedData/accumulatedData.selector.ts +7 -12
- package/app/codeCharta/state/selectors/accumulatedData/metricData/edgeMetricData.calculator.spec.ts +46 -0
- package/app/codeCharta/state/selectors/accumulatedData/metricData/{edgeMetricData.selector.ts → edgeMetricData.calculator.ts} +10 -23
- package/app/codeCharta/state/selectors/accumulatedData/metricData/metricData.selector.ts +10 -6
- package/app/codeCharta/state/selectors/accumulatedData/metricData/metricNames.selector.spec.ts +5 -5
- package/app/codeCharta/state/selectors/accumulatedData/metricData/metricNames.selector.ts +2 -2
- package/app/codeCharta/state/selectors/accumulatedData/metricData/{nodeMetricData.selector.spec.ts → nodeMetricData.calculator.spec.ts} +2 -2
- package/app/codeCharta/state/selectors/accumulatedData/metricData/{nodeMetricData.selector.ts → nodeMetricData.calculator.ts} +0 -5
- package/app/codeCharta/state/selectors/accumulatedData/metricData/selectedColorMetricData.selector.ts +4 -4
- package/app/codeCharta/state/selectors/accumulatedData/utils/addEdgeMetricsForLeaves.ts +3 -2
- package/app/codeCharta/state/selectors/accumulatedData/utils/getMetricValuesForNode.spec.ts +4 -11
- package/app/codeCharta/state/selectors/accumulatedData/utils/getMetricValuesForNode.ts +2 -2
- package/app/codeCharta/state/selectors/allNecessaryRenderDataAvailable/areAllNecessaryRenderDataAvailable.selector.ts +7 -6
- package/app/codeCharta/state/selectors/primaryMetrics/primaryMetrics.selector.ts +27 -11
- package/app/codeCharta/state/store/appSettings/appSettings.actions.ts +0 -2
- package/app/codeCharta/state/store/appSettings/appSettings.reducer.ts +0 -2
- package/app/codeCharta/state/store/appSettings/invertArea/invertArea.actions.ts +1 -12
- package/app/codeCharta/state/store/appSettings/invertArea/invertArea.reducer.ts +2 -4
- package/app/codeCharta/state/store/dynamicSettings/colorRange/resetColorRange.effect.ts +1 -1
- package/app/codeCharta/ui/actionIcon/actionIcon.component.ts +4 -3
- package/app/codeCharta/ui/actionIcon/actionIcon.module.ts +1 -2
- package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.html +0 -2
- package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.scss +48 -27
- package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.spec.ts +58 -11
- package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.ts +5 -7
- package/app/codeCharta/ui/attributeSideBar/attributeSideBar.module.ts +2 -2
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarHeaderSection/attributeSideBarHeaderSection.component.ts +5 -4
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarHeaderSection/nodePath/nodePath.component.ts +4 -3
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetric/attributeSideBarPrimaryMetric.component.html +13 -13
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetric/attributeSideBarPrimaryMetric.component.ts +4 -3
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetrics.component.html +26 -20
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetrics.component.ts +4 -3
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/attributeSideBarSecondaryMetrics.component.html +9 -7
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/attributeSideBarSecondaryMetrics.component.ts +4 -3
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/secondaryMetrics.selector.spec.ts +29 -4
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/secondaryMetrics.selector.ts +11 -4
- package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.component.scss +16 -8
- package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.component.ts +5 -4
- package/app/codeCharta/ui/attributeSideBar/metricDeltaSelected/metricDeltaSelected.component.html +1 -1
- package/app/codeCharta/ui/attributeSideBar/metricDeltaSelected/metricDeltaSelected.component.spec.ts +2 -2
- package/app/codeCharta/ui/attributeSideBar/metricDeltaSelected/metricDeltaSelected.component.ts +4 -3
- package/app/codeCharta/ui/attributeSideBar/util/edge.ts +7 -0
- package/app/codeCharta/ui/attributeSideBar/util/metric.ts +2 -0
- package/app/codeCharta/ui/{legendPanel/selectors/legendMetric.ts → attributeSideBar/util/metricDescriptors.ts} +10 -4
- package/app/codeCharta/ui/codeMap/__snapshots__/codeMap.arrow.service.spec.ts.snap +16 -16
- package/app/codeCharta/ui/codeMap/__snapshots__/codeMap.render.service.spec.ts.snap +19 -19
- package/app/codeCharta/ui/codeMap/codeMap.arrow.service.spec.ts +5 -4
- package/app/codeCharta/ui/codeMap/codeMap.arrow.service.ts +34 -29
- package/app/codeCharta/ui/codeMap/codeMap.component.ts +9 -8
- package/app/codeCharta/ui/codeMap/codeMap.label.service.ts +5 -5
- package/app/codeCharta/ui/codeMap/codeMap.mouseEvent.service.spec.ts +14 -1
- package/app/codeCharta/ui/codeMap/codeMap.mouseEvent.service.ts +30 -25
- package/app/codeCharta/ui/codeMap/codeMap.render.service.spec.ts +8 -6
- package/app/codeCharta/ui/codeMap/codeMap.render.service.ts +18 -13
- package/app/codeCharta/ui/codeMap/threeViewer/threeOrbitControls.service.spec.ts +3 -3
- package/app/codeCharta/ui/codeMap/threeViewer/threeOrbitControls.service.ts +9 -9
- package/app/codeCharta/ui/codeMap/threeViewer/threeRenderer.service.ts +3 -3
- package/app/codeCharta/ui/codeMap/threeViewer/threeSceneService.ts +16 -19
- package/app/codeCharta/ui/codeMap/threeViewer/threeStats.service.spec.ts +27 -32
- package/app/codeCharta/ui/codeMap/threeViewer/threeStats.service.ts +3 -4
- package/app/codeCharta/ui/codeMap/threeViewer/threeViewer.service.spec.ts +2 -2
- package/app/codeCharta/ui/codeMap/threeViewer/threeViewer.service.ts +6 -6
- package/app/codeCharta/ui/colorPicker/colorPicker.component.spec.ts +5 -2
- package/app/codeCharta/ui/colorPicker/colorPicker.component.ts +3 -2
- package/app/codeCharta/ui/colorPickerForMapColor/colorPickerForMapColor.component.ts +5 -4
- package/app/codeCharta/ui/copyToClipboardButton/copyToClipboard.service.ts +2 -2
- package/app/codeCharta/ui/copyToClipboardButton/copyToClipboardButton.component.ts +4 -3
- package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigButton.component.spec.ts +17 -10
- package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigButton.component.ts +4 -3
- package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigButton.module.ts +3 -3
- package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.component.html +14 -2
- package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.component.ts +23 -13
- package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.spec.ts +23 -9
- package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/addCustomDialog.component.scss +7 -6
- package/app/codeCharta/ui/customConfigs/addCustomConfigButton/addCustomConfigDialog/downloadAndPurgeConfigs/downloadAndPurgeConfigs.component.ts +5 -4
- package/app/codeCharta/ui/customConfigs/customConfigHelper.service.ts +2 -2
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfig2ApplicableColor.pipe.ts +2 -2
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfig2ApplicableMessage.pipe.ts +2 -2
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.component.html +15 -12
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.component.scss +12 -8
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.component.ts +7 -6
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigDescription/applyCustomConfigButton.spec.ts +0 -6
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.html +21 -4
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.scss +38 -0
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.spec.ts +32 -7
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigItemGroup/customConfigItemGroup.component.ts +17 -2
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.html +8 -8
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.scss +27 -31
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.spec.ts +6 -3
- package/app/codeCharta/ui/customConfigs/customConfigList/customConfigList.component.ts +5 -4
- package/app/codeCharta/ui/customConfigs/customConfigList/getCustomConfigItemGroups.spec.ts +5 -1
- package/app/codeCharta/ui/customConfigs/customConfigList/getCustomConfigItemGroups.ts +2 -1
- package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialog/customConfigNoteDialog.component.html +12 -0
- package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialog/customConfigNoteDialog.component.scss +31 -0
- package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialog/customConfigNoteDialog.component.ts +12 -0
- package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.component.html +3 -0
- package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.component.spec.ts +90 -0
- package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.component.ts +33 -0
- package/app/codeCharta/ui/customConfigs/customConfigNoteDialogButton/customConfigNoteDialogButton.module.ts +14 -0
- package/app/codeCharta/ui/customConfigs/customConfigs.component.spec.ts +5 -4
- package/app/codeCharta/ui/customConfigs/customConfigs.component.ts +6 -4
- package/app/codeCharta/ui/customConfigs/customConfigs.module.ts +14 -3
- package/app/codeCharta/ui/customConfigs/downloadCustomConfigsButton/downloadCustomConfigsButton.component.ts +4 -3
- package/app/codeCharta/ui/customConfigs/uploadCustomConfigButton/uploadCustomConfigButton.component.ts +3 -2
- package/app/codeCharta/ui/customConfigs/uploadCustomConfigButton/uploadCustomConfigButton.module.ts +1 -2
- package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.component.html +6 -6
- package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.component.scss +6 -14
- package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.component.ts +14 -7
- package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.e2e.ts +26 -0
- package/app/codeCharta/ui/dialogs/changelogDialog/changelogDialog.module.ts +1 -2
- package/app/codeCharta/ui/dialogs/confirmationDialog/confirmationDialog.component.scss +3 -3
- package/app/codeCharta/ui/dialogs/confirmationDialog/confirmationDialog.component.ts +4 -3
- package/app/codeCharta/ui/dialogs/errorDialog/errorDialog.component.po.ts +4 -9
- package/app/codeCharta/ui/dialogs/errorDialog/errorDialog.component.ts +3 -2
- package/app/codeCharta/ui/export3DMapButton/export3DMapButton.component.ts +4 -3
- package/app/codeCharta/ui/fileExtensionBar/distributionMetricChooser/distributionMetricChooser.component.ts +4 -3
- package/app/codeCharta/ui/fileExtensionBar/fileExtensionBar.component.scss +5 -6
- package/app/codeCharta/ui/fileExtensionBar/fileExtensionBar.component.ts +5 -4
- package/app/codeCharta/ui/fileExtensionBar/fileExtensionBar.module.ts +1 -2
- package/app/codeCharta/ui/fileExtensionBar/selectors/fileExtensionCalculator.spec.ts +18 -18
- package/app/codeCharta/ui/fileExtensionBar/selectors/fileExtensionCalculator.ts +1 -1
- package/app/codeCharta/ui/filePanel/filePanel.component.html +1 -1
- package/app/codeCharta/ui/filePanel/filePanel.component.scss +7 -27
- package/app/codeCharta/ui/filePanel/filePanel.component.ts +5 -4
- package/app/codeCharta/ui/filePanel/filePanel.module.ts +2 -2
- package/app/codeCharta/ui/filePanel/filePanel.po.ts +6 -4
- package/app/codeCharta/ui/filePanel/filePanelDeltaSelector/filePanelDeltaSelector.component.html +26 -24
- package/app/codeCharta/ui/filePanel/filePanelDeltaSelector/filePanelDeltaSelector.component.scss +6 -0
- package/app/codeCharta/ui/filePanel/filePanelDeltaSelector/filePanelDeltaSelector.component.ts +5 -3
- package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.html +5 -4
- package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.scss +38 -8
- package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.spec.ts +1 -1
- package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.ts +5 -4
- package/app/codeCharta/ui/filePanel/filePanelFileSelector/removeFileButton/removeFileButton.component.html +1 -1
- package/app/codeCharta/ui/filePanel/filePanelFileSelector/removeFileButton/removeFileButton.component.ts +4 -4
- package/app/codeCharta/ui/filePanel/filePanelStateButtons/filePanelStateButtons.component.html +1 -1
- package/app/codeCharta/ui/filePanel/filePanelStateButtons/filePanelStateButtons.component.ts +4 -6
- package/app/codeCharta/ui/filePanel/fileSelectionMode.service.ts +2 -2
- package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.html +1 -1
- package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.scss +12 -8
- package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.spec.ts +2 -2
- package/app/codeCharta/ui/labelledColorPicker/labelledColorPicker.component.ts +4 -3
- package/app/codeCharta/ui/legendPanel/legendBlock/legendBlock.component.html +8 -8
- package/app/codeCharta/ui/legendPanel/legendBlock/legendBlock.component.ts +5 -4
- package/app/codeCharta/ui/legendPanel/legendMarkedPackages/legendMarkedPackages.component.ts +5 -4
- package/app/codeCharta/ui/legendPanel/legendPanel.component.html +10 -6
- package/app/codeCharta/ui/legendPanel/legendPanel.component.scss +7 -0
- package/app/codeCharta/ui/legendPanel/legendPanel.component.ts +5 -7
- package/app/codeCharta/ui/legendPanel/selectors/legendAreaMetric.selector.ts +4 -4
- package/app/codeCharta/ui/legendPanel/selectors/legendColorMetric.selector.ts +4 -4
- package/app/codeCharta/ui/legendPanel/selectors/legendEdgeMetric.selector.spec.ts +10 -4
- package/app/codeCharta/ui/legendPanel/selectors/legendEdgeMetric.selector.ts +7 -7
- package/app/codeCharta/ui/legendPanel/selectors/legendHeightMetric.selector.ts +4 -4
- package/app/codeCharta/ui/loadingFileProgressSpinner/loadingFileProgressSpinner.component.scss +1 -1
- package/app/codeCharta/ui/loadingFileProgressSpinner/loadingFileProgressSpinner.component.ts +5 -4
- package/app/codeCharta/ui/metricChooser/metricChooser.component.html +1 -2
- package/app/codeCharta/ui/metricChooser/metricChooser.component.scss +22 -13
- package/app/codeCharta/ui/metricChooser/metricChooser.component.spec.ts +9 -7
- package/app/codeCharta/ui/metricChooser/metricChooser.component.ts +11 -10
- package/app/codeCharta/ui/metricChooser/metricChooser.module.ts +1 -2
- package/app/codeCharta/ui/metricChooser/metricChooserTypeHovered/metricChooserTypeHovered.component.ts +4 -3
- package/app/codeCharta/ui/metricChooser/metricChooserValueHovered/metricChooserValueHovered.component.ts +4 -3
- package/app/codeCharta/ui/resetSettingsButton/resetSettingsButton.component.scss +21 -3
- package/app/codeCharta/ui/resetSettingsButton/resetSettingsButton.component.ts +5 -4
- package/app/codeCharta/ui/ribbonBar/areaMetricChooser/areaMetricChooser.component.spec.ts +9 -6
- package/app/codeCharta/ui/ribbonBar/areaMetricChooser/areaMetricChooser.component.ts +4 -3
- package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.html +13 -23
- package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.scss +12 -3
- package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.spec.ts +31 -17
- package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.component.ts +14 -14
- package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.module.ts +1 -2
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/artificialIntelligence.component.scss +2 -3
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/artificialIntelligence.component.ts +5 -4
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/highRiskProfile.component.html +12 -3
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/highRiskProfile.component.spec.ts +10 -2
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/highRiskProfile.component.ts +3 -2
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/highRiskProfile/riskProfileBar.directive.ts +2 -2
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/selectors/artificialIntelligence.selector.spec.ts +9 -13
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/selectors/artificialIntelligence.selector.ts +8 -8
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/suspiciousMetrics/suspiciousMetrics.component.html +11 -1
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/suspiciousMetrics/suspiciousMetrics.component.spec.ts +4 -4
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/suspiciousMetrics/suspiciousMetrics.component.ts +6 -5
- package/app/codeCharta/ui/ribbonBar/colorMetricChooser/colorMetricChooser.component.spec.ts +9 -6
- package/app/codeCharta/ui/ribbonBar/colorMetricChooser/colorMetricChooser.component.ts +4 -3
- package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/colorSettingsPanel.component.html +11 -10
- package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/colorSettingsPanel.component.scss +17 -12
- package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/colorSettingsPanel.component.ts +5 -4
- package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/metricColorRangeSlider.component.ts +5 -4
- package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSlider.component.html +2 -2
- package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSlider.component.scss +21 -6
- package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSlider.component.ts +6 -5
- package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSliderLabels/rangeSliderLabels.component.spec.ts +2 -2
- package/app/codeCharta/ui/ribbonBar/colorSettingsPanel/metricColorRangeSlider/rangeSlider/rangeSliderLabels/rangeSliderLabels.component.ts +5 -4
- package/app/codeCharta/ui/ribbonBar/edgeMetricChooser/edgeMetricChooser.component.scss +1 -1
- package/app/codeCharta/ui/ribbonBar/edgeMetricChooser/edgeMetricChooser.component.spec.ts +8 -6
- package/app/codeCharta/ui/ribbonBar/edgeMetricChooser/edgeMetricChooser.component.ts +5 -4
- package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeMetricToggle/edgeMetricToggle.component.ts +4 -4
- package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeSettingsPanel.component.html +14 -15
- package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeSettingsPanel.component.spec.ts +1 -1
- package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeSettingsPanel.component.ts +4 -3
- package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/selectors/amountOfBuildingsWithSelectedEdgeMetric.selector.ts +3 -3
- package/app/codeCharta/ui/ribbonBar/heightMetricChooser/areaMetricChooser.component.ts +4 -3
- package/app/codeCharta/ui/ribbonBar/heightMetricChooser/heightMetricChooser.component.spec.ts +9 -6
- package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.html +15 -19
- package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.spec.ts +3 -2
- package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.ts +5 -6
- package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.html +1 -1
- package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.scss +2 -0
- package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.spec.ts +4 -4
- package/app/codeCharta/ui/ribbonBar/linkColorMetricToHeightMetricButton/linkColorMetricToHeightMetricButton.component.ts +5 -4
- package/app/codeCharta/ui/ribbonBar/ribbonBar.component.html +21 -8
- package/app/codeCharta/ui/ribbonBar/ribbonBar.component.scss +18 -9
- package/app/codeCharta/ui/ribbonBar/ribbonBar.component.spec.ts +22 -23
- package/app/codeCharta/ui/ribbonBar/ribbonBar.component.ts +7 -6
- package/app/codeCharta/ui/ribbonBar/ribbonBar.e2e.ts +20 -1
- package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.html +1 -1
- package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.scss +9 -7
- package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.spec.ts +10 -3
- package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.component.ts +7 -10
- package/app/codeCharta/ui/ribbonBar/showScenariosButton/addCustomScenario/addCustomScenario.module.ts +1 -2
- package/app/codeCharta/ui/ribbonBar/showScenariosButton/scenario.service.ts +6 -6
- package/app/codeCharta/ui/ribbonBar/showScenariosButton/scenarios/scenarios.component.scss +2 -2
- package/app/codeCharta/ui/ribbonBar/showScenariosButton/scenarios/scenarios.component.ts +5 -4
- package/app/codeCharta/ui/ribbonBar/showScenariosButton/showScenariosButton.component.ts +5 -4
- package/app/codeCharta/ui/screenshotButton/screenshotButton.component.ts +8 -7
- package/app/codeCharta/ui/searchPanel/blacklistPanel/blacklistPanel.component.scss +2 -2
- package/app/codeCharta/ui/searchPanel/blacklistPanel/blacklistPanel.component.ts +5 -4
- package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeView.component.scss +14 -11
- package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeView.component.ts +5 -5
- package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemIcon/mapTreeViewItemIcon.component.ts +3 -2
- package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemName/mapTreeViewItemName.component.ts +4 -3
- package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemOptionButtons/mapTreeViewItemOptionButtons.component.html +2 -2
- package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewItemOptionButtons/mapTreeViewItemOptionButtons.component.ts +3 -2
- package/app/codeCharta/ui/searchPanel/mapTreeView/mapTreeViewLevel/mapTreeViewLevel.component.ts +4 -3
- package/app/codeCharta/ui/searchPanel/matchingFilesCounter/matchingFilesCounter.component.html +1 -1
- package/app/codeCharta/ui/searchPanel/matchingFilesCounter/matchingFilesCounter.component.scss +2 -2
- package/app/codeCharta/ui/searchPanel/matchingFilesCounter/matchingFilesCounter.component.ts +5 -4
- package/app/codeCharta/ui/searchPanel/searchBar/blacklistSearchPattern.effect.ts +1 -2
- package/app/codeCharta/ui/searchPanel/searchBar/searchBar.component.scss +0 -3
- package/app/codeCharta/ui/searchPanel/searchBar/searchBar.component.spec.ts +1 -1
- package/app/codeCharta/ui/searchPanel/searchBar/searchBar.component.ts +7 -6
- package/app/codeCharta/ui/searchPanel/searchPanel.component.html +1 -1
- package/app/codeCharta/ui/searchPanel/searchPanel.component.scss +0 -4
- package/app/codeCharta/ui/searchPanel/searchPanel.component.ts +4 -3
- package/app/codeCharta/ui/searchPanel/searchPanelModeSelector/searchPanelModeSelector.component.html +6 -20
- package/app/codeCharta/ui/searchPanel/searchPanelModeSelector/searchPanelModeSelector.component.scss +4 -6
- package/app/codeCharta/ui/searchPanel/searchPanelModeSelector/searchPanelModeSelector.component.ts +5 -4
- package/app/codeCharta/ui/searchPanel/sortingButton/sortingButton.component.ts +4 -3
- package/app/codeCharta/ui/searchPanel/sortingOption/sortingOption.component.spec.ts +1 -1
- package/app/codeCharta/ui/searchPanel/sortingOption/sortingOption.component.ts +4 -3
- package/app/codeCharta/ui/slider/slider.component.html +17 -21
- package/app/codeCharta/ui/slider/slider.component.scss +36 -19
- package/app/codeCharta/ui/slider/slider.component.spec.ts +38 -38
- package/app/codeCharta/ui/slider/slider.component.ts +8 -9
- package/app/codeCharta/ui/slider/slider.module.ts +1 -2
- package/app/codeCharta/ui/toolBar/downloadButton/downloadButton.component.spec.ts +2 -1
- package/app/codeCharta/ui/toolBar/downloadButton/downloadButton.component.ts +4 -3
- package/app/codeCharta/ui/toolBar/downloadButton/downloadButton.module.ts +1 -2
- package/app/codeCharta/ui/toolBar/downloadButton/downloadDialog/downloadDialog.component.html +1 -1
- package/app/codeCharta/ui/toolBar/downloadButton/downloadDialog/downloadDialog.component.scss +4 -5
- package/app/codeCharta/ui/toolBar/downloadButton/downloadDialog/downloadDialog.component.ts +5 -4
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.component.html +1 -1
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.component.scss +28 -34
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.component.ts +5 -4
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationButton.module.ts +1 -2
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/displayQualitySelection/displayQualitySelection.component.html +1 -1
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/displayQualitySelection/displayQualitySelection.component.ts +4 -3
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/globalConfigurationDialog.component.html +26 -23
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/globalConfigurationDialog.component.ts +4 -3
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/mapLayoutSelection/mapLayoutSelection.component.html +1 -1
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/mapLayoutSelection/mapLayoutSelection.component.spec.ts +27 -24
- package/app/codeCharta/ui/toolBar/globalConfigurationButton/globalConfigurationDialog/mapLayoutSelection/mapLayoutSelection.component.ts +5 -4
- package/app/codeCharta/ui/toolBar/hoveredNodePathPanel/hoveredNodePathPanel.component.ts +5 -4
- package/app/codeCharta/ui/toolBar/loadingMapProgressSpinner/loadingMapProgressSpinner.component.ts +5 -4
- package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.html +8 -11
- package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.scss +4 -3
- package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.spec.ts +2 -2
- package/app/codeCharta/ui/toolBar/presentationModeButton/presentationModeButton.component.ts +5 -4
- package/app/codeCharta/ui/toolBar/toolBar.component.scss +2 -4
- package/app/codeCharta/ui/toolBar/toolBar.component.ts +5 -5
- package/app/codeCharta/ui/toolBar/toolBar.module.ts +1 -2
- package/app/codeCharta/ui/toolBar/uploadFilesButton/uploadFiles.service.ts +2 -2
- package/app/codeCharta/ui/toolBar/uploadFilesButton/uploadFilesButton.component.ts +5 -4
- package/app/codeCharta/ui/viewCube/centerMapButton/centerMapButton.component.ts +5 -4
- package/app/codeCharta/ui/viewCube/viewCube.component.spec.ts +2 -2
- package/app/codeCharta/ui/viewCube/viewCube.component.ts +6 -5
- package/app/codeCharta/ui/viewCube/viewCube.mouseEvents.service.spec.ts +3 -2
- package/app/codeCharta/ui/viewCube/viewCube.mouseEvents.service.ts +6 -6
- package/app/codeCharta/util/EventEmitter.ts +22 -0
- package/app/codeCharta/util/__snapshots__/aggregationGenerator.spec.ts.snap +116 -116
- package/app/codeCharta/util/__snapshots__/deltaGenerator.spec.ts.snap +82 -82
- package/app/codeCharta/util/__snapshots__/fileHelper.spec.ts.snap +23 -23
- package/app/codeCharta/util/aggregationGenerator.spec.ts +33 -27
- package/app/codeCharta/util/aggregationGenerator.ts +4 -1
- package/app/codeCharta/util/algorithm/treeMapLayout/__snapshots__/treeMapGenerator.spec.ts.snap +137 -137
- package/app/codeCharta/util/algorithm/treeMapLayout/__snapshots__/treeMapHelper.spec.ts.snap +9 -9
- package/app/codeCharta/util/customConfigBuilder.spec.ts +11 -4
- package/app/codeCharta/util/customConfigBuilder.ts +9 -3
- package/app/codeCharta/util/customConfigHelper.ts +9 -37
- package/app/codeCharta/util/dataMocks.ts +29 -5
- package/app/codeCharta/util/debounce.spec.ts +16 -0
- package/app/codeCharta/util/debounce.ts +10 -0
- package/app/codeCharta/util/fileDownloader.ts +1 -1
- package/app/codeCharta/util/gameObjectsParser/__snapshots__/gameObjectsImporter.spec.ts.snap +37 -37
- package/app/codeCharta/util/nodeDecorator.spec.ts +14 -1
- package/app/codeCharta/util/nodeDecorator.ts +12 -12
- package/app/codeCharta/util/parseNumberInput.ts +1 -1
- package/app/codeCharta/util/reduxHelper.ts +3 -3
- package/app/codeCharta/util/simplePipes/SimplePipesModule.ts +9 -0
- package/app/codeCharta/util/simplePipes/metricDescriptorTitle.pipe.spec.ts +62 -0
- package/app/codeCharta/util/simplePipes/metricDescriptorTitle.pipe.ts +18 -0
- package/app/codeCharta/util/{removeExtension.pipe.ts → simplePipes/removeExtension.pipe.ts} +1 -1
- package/app/codeCharta/util/testUtils/markdown-transformer.js +11 -0
- package/app/codeCharta/util/truncateText.pipe.ts +8 -0
- package/app/codeCharta/util/truncateText.spec.ts +19 -0
- package/app/index.html +1 -0
- package/app/material/_theme.scss +28 -17
- package/app/material/matDialog.scss +1 -1
- package/app/material/matMenu.scss +2 -2
- package/app/material/material.module.ts +5 -3
- package/app/material/material.scss +1 -6
- package/app/polyfills.ts +28 -0
- package/conf/jestE2E.config.json +7 -8
- package/conf/jestUnit.config.json +5 -17
- package/conf/webpack.config.js +9 -59
- package/dist/webpack/3rdpartylicenses.txt +1081 -0
- package/dist/webpack/codeCharta/assets/codecharta_logo.svg +1 -0
- package/dist/webpack/codeCharta/assets/empty.png +0 -0
- package/dist/webpack/codeCharta/assets/favicon.ico +0 -0
- package/dist/webpack/codeCharta/assets/gameObjectsFile.json +75 -0
- package/dist/webpack/codeCharta/assets/icon.icns +0 -0
- package/dist/webpack/codeCharta/assets/icon.ico +0 -0
- package/dist/webpack/codeCharta/assets/icon.png +0 -0
- package/dist/webpack/codeCharta/assets/output.cc.json.gz +0 -0
- package/dist/webpack/codeCharta/assets/sample1.cc.json +97 -0
- package/dist/webpack/codeCharta/assets/sample2.cc.json +46 -0
- package/dist/webpack/codeCharta/assets/sample3.cc.json +40 -0
- package/dist/webpack/codeCharta/assets/sample4.cc.json +45 -0
- package/dist/webpack/codeCharta/assets/scenarios.json +50 -0
- package/dist/webpack/index.html +7 -7
- package/dist/webpack/main.f697cbc91786388c.js +1 -0
- package/dist/webpack/material-icons-outlined.78a93b2079680a08.woff +0 -0
- package/dist/webpack/material-icons-outlined.f86cb7b0aa53f0fe.woff2 +0 -0
- package/dist/webpack/material-icons-round.92dc7ca2f4c591e7.woff +0 -0
- package/dist/webpack/material-icons-round.b10ec9db5b7fbc74.woff2 +0 -0
- package/dist/webpack/material-icons-sharp.3885863ee4746422.woff2 +0 -0
- package/dist/webpack/material-icons-sharp.a71cb2bf66c604de.woff +0 -0
- package/dist/webpack/material-icons-two-tone.588d63134de807a7.woff +0 -0
- package/dist/webpack/material-icons-two-tone.675bd578bd14533e.woff2 +0 -0
- package/dist/webpack/material-icons.4ad034d2c499d9b6.woff +0 -0
- package/dist/webpack/material-icons.59322316b3fd6063.woff2 +0 -0
- package/dist/webpack/polyfills.d69fe4da6218c8a9.js +1 -0
- package/dist/webpack/runtime.e384ce5b1b4e5942.js +1 -0
- package/dist/webpack/styles.796849f6e33c93f5.css +4 -0
- package/package.json +34 -53
- package/tsconfig.json +25 -22
- package/app/codeCharta/state/effects/resetDynamicMargin/resetDynamicMargin.effect.spec.ts +0 -48
- package/app/codeCharta/state/effects/resetDynamicMargin/resetDynamicMargin.effect.ts +0 -19
- package/app/codeCharta/state/selectors/accumulatedData/metricData/edgeMetricData.selector.spec.ts +0 -56
- package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.actions.ts +0 -21
- package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.reducer.spec.ts +0 -17
- package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.reducer.ts +0 -16
- package/app/codeCharta/state/store/appSettings/dynamicMargin/dynamicMargin.selector.ts +0 -4
- package/app/codeCharta/ui/attributeSideBar/metricDeltaSelected/metricDeltaSelected.component.scss +0 -5
- package/app/codeCharta/ui/filePanel/filePanelFileSelector/removeFileButton/removeFileButton.component.scss +0 -9
- package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/areaSettingsPanel.po.ts +0 -22
- package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/invertAreaOption/invertAreaOption.component.html +0 -1
- package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/invertAreaOption/invertAreaOption.component.spec.ts +0 -29
- package/app/codeCharta/ui/ribbonBar/areaSettingsPanel/invertAreaOption/invertAreaOption.component.ts +0 -23
- package/app/codeCharta/ui/ribbonBar/areaSettingsPanel.po.ts +0 -19
- package/app/codeCharta/ui/ribbonBar/edgeSettingsPanel/edgeMetricToggle/edgeMetricToggle.component.scss +0 -4
- package/app/codeCharta/ui/ribbonBar/heightSettingsPanel/heightSettingsPanel.component.scss +0 -18
- package/app/codeCharta/util/envDetector.ts +0 -3
- package/app/codeCharta/util/removeExtensionModule.ts +0 -8
- package/app/codeCharta/util/testUtils/drag.ts +0 -47
- package/app/material/matSelect.scss +0 -17
- package/conf/webpack.loaders.js +0 -54
- package/dist/webpack/04411cba9583fb0df01f.woff +0 -0
- package/dist/webpack/6289913a298e816100f5.woff +0 -0
- package/dist/webpack/6b3adb7ef9c9ac8d598a.woff +0 -0
- package/dist/webpack/6c307c85ae675678f41e.woff2 +0 -0
- package/dist/webpack/a70ec3e73fd410cdb178.woff2 +0 -0
- package/dist/webpack/aa2aae2fbd0e0b30967d.woff +0 -0
- package/dist/webpack/aa80805e686668b4358c.woff2 +0 -0
- package/dist/webpack/b906db2201d314b2ee12.woff2 +0 -0
- package/dist/webpack/bundle.js +0 -3
- package/dist/webpack/bundle.js.LICENSE.txt +0 -7619
- package/dist/webpack/bundle.js.map +0 -1
- package/dist/webpack/c6c0935815f6ba8fd80a.woff2 +0 -0
- package/dist/webpack/cb25b0543db8b7f06135.woff +0 -0
- /package/app/{assets/icon.ico → codeCharta/assets/favicon.ico} +0 -0
- /package/app/{assets → codeCharta/assets}/flatten.png +0 -0
- /package/app/{assets → codeCharta/assets}/icon.icns +0 -0
- /package/{dist/webpack → app/codeCharta/assets}/icon.ico +0 -0
- /package/app/{assets → codeCharta/assets}/icon.png +0 -0
- /package/app/codeCharta/state/store/fileSettings/attributeDescriptors/{attributesDescriptors.selector.ts → attributeDescriptors.selector.ts} +0 -0
- /package/app/codeCharta/util/{removeExtension.pipe.spec.ts → simplePipes/removeExtension.pipe.spec.ts} +0 -0
- /package/dist/webpack/{af36b2ef7e54a0b53f02.png → codeCharta/assets/flatten.png} +0 -0
- /package/dist/webpack/{6bfc95354e1616904298.png → codeCharta/assets/logo.png} +0 -0
- /package/dist/webpack/{8b43027f47b20503057d.eot → fontawesome-webfont.2b13baa7dd4f54c9.eot} +0 -0
- /package/dist/webpack/{1e59d2330b4c6deb84b3.ttf → fontawesome-webfont.8a7cb27d142e3e19.ttf} +0 -0
- /package/dist/webpack/{f691f37e57f04c152e23.woff → fontawesome-webfont.cf011583fb81df9f.woff} +0 -0
- /package/dist/webpack/{c1e38fd9e0e74ba58f7a.svg → fontawesome-webfont.da909aa098b0ee2d.svg} +0 -0
- /package/dist/webpack/{20fd1704ea223900efa9.woff2 → fontawesome-webfont.e9955780856cf8aa.woff2} +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { TestBed } from "@angular/core/testing"
|
|
2
2
|
import { CustomConfigsModule } from "../../customConfigs.module"
|
|
3
|
-
import { MatDialog, MatDialogRef } from "@angular/material/dialog"
|
|
4
3
|
import { render, screen } from "@testing-library/angular"
|
|
5
4
|
import { CustomConfigItemGroupComponent } from "./customConfigItemGroup.component"
|
|
6
5
|
import { CUSTOM_CONFIG_ITEM_GROUPS } from "../../../../util/dataMocks"
|
|
@@ -11,6 +10,7 @@ import userEvent from "@testing-library/user-event"
|
|
|
11
10
|
import { expect } from "@jest/globals"
|
|
12
11
|
import { CustomConfigMapSelectionMode } from "../../../../model/customConfig/customConfig.api.model"
|
|
13
12
|
import { visibleFilesBySelectionModeSelector } from "../../visibleFilesBySelectionMode.selector"
|
|
13
|
+
import { MatDialog, MatDialogRef } from "@angular/material/dialog"
|
|
14
14
|
|
|
15
15
|
jest.mock("../../visibleFilesBySelectionMode.selector", () => ({
|
|
16
16
|
visibleFilesBySelectionModeSelector: jest.fn()
|
|
@@ -53,11 +53,9 @@ describe("customConfigItemGroupComponent", () => {
|
|
|
53
53
|
excludeComponentDeclaration: true,
|
|
54
54
|
componentProperties: { customConfigItemGroups }
|
|
55
55
|
})
|
|
56
|
-
const applyCustomConfigButton = screen.
|
|
57
|
-
|
|
56
|
+
const applyCustomConfigButton = screen.getAllByText("mcc")[0].closest("button")
|
|
58
57
|
await userEvent.click(applyCustomConfigButton)
|
|
59
58
|
|
|
60
|
-
expect(screen.getAllByTitle("Apply Custom View").length).toBe(2)
|
|
61
59
|
expect(applyCustomConfigButton.disabled).toBe(false)
|
|
62
60
|
expect(CustomConfigHelper.applyCustomConfig).toHaveBeenCalledTimes(1)
|
|
63
61
|
expect(mockedDialogReference.close).toHaveBeenCalledTimes(1)
|
|
@@ -87,6 +85,31 @@ describe("customConfigItemGroupComponent", () => {
|
|
|
87
85
|
expect(mockedDialogReference.close).toHaveBeenCalledTimes(0)
|
|
88
86
|
})
|
|
89
87
|
|
|
88
|
+
it("should apply a custom config and close custom config dialog when clicking on config name", async () => {
|
|
89
|
+
mockedVisibleFilesBySelectionModeSelector.mockImplementation(() => {
|
|
90
|
+
return {
|
|
91
|
+
mapSelectionMode: CustomConfigMapSelectionMode.MULTIPLE,
|
|
92
|
+
assignedMaps: new Map([
|
|
93
|
+
["md5_fileB", "fileB"],
|
|
94
|
+
["md5_fileC", "fileC"]
|
|
95
|
+
])
|
|
96
|
+
}
|
|
97
|
+
})
|
|
98
|
+
const customConfigItemGroups = new Map([["File_B_File_C_STANDARD", CUSTOM_CONFIG_ITEM_GROUPS.get("File_B_File_C_STANDARD")]])
|
|
99
|
+
await render(CustomConfigItemGroupComponent, {
|
|
100
|
+
excludeComponentDeclaration: true,
|
|
101
|
+
componentProperties: { customConfigItemGroups }
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
CustomConfigHelper.applyCustomConfig = jest.fn()
|
|
105
|
+
const applyCustomConfigButton = screen.getByText("SampleMap View #1").closest("span") as HTMLElement
|
|
106
|
+
|
|
107
|
+
await userEvent.click(applyCustomConfigButton)
|
|
108
|
+
|
|
109
|
+
expect(CustomConfigHelper.applyCustomConfig).toHaveBeenCalledTimes(1)
|
|
110
|
+
expect(mockedDialogReference.close).toHaveBeenCalledTimes(1)
|
|
111
|
+
})
|
|
112
|
+
|
|
90
113
|
it("should show tooltip with missing maps and correct selection mode if selected custom config is not fully applicable", async () => {
|
|
91
114
|
mockedVisibleFilesBySelectionModeSelector.mockImplementation(() => {
|
|
92
115
|
return {
|
|
@@ -100,7 +123,7 @@ describe("customConfigItemGroupComponent", () => {
|
|
|
100
123
|
componentProperties: { customConfigItemGroups }
|
|
101
124
|
})
|
|
102
125
|
|
|
103
|
-
const applyCustomConfigButton = screen.
|
|
126
|
+
const applyCustomConfigButton = screen.getAllByText("mcc")[0].closest("button")
|
|
104
127
|
|
|
105
128
|
expect(
|
|
106
129
|
screen.getAllByTitle(
|
|
@@ -110,7 +133,7 @@ describe("customConfigItemGroupComponent", () => {
|
|
|
110
133
|
expect(getComputedStyle(applyCustomConfigButton).color).toBe("rgb(204, 204, 204)")
|
|
111
134
|
})
|
|
112
135
|
|
|
113
|
-
it("should not be clickable for non-applicable custom configs", async () => {
|
|
136
|
+
it("should not be clickable for non-applicable custom configs, but can still change notes of custom configs", async () => {
|
|
114
137
|
CustomConfigHelper.applyCustomConfig = jest.fn()
|
|
115
138
|
CustomConfigHelper.applyCustomConfig = jest.fn()
|
|
116
139
|
mockedVisibleFilesBySelectionModeSelector.mockImplementation(() => {
|
|
@@ -127,9 +150,11 @@ describe("customConfigItemGroupComponent", () => {
|
|
|
127
150
|
excludeComponentDeclaration: true,
|
|
128
151
|
componentProperties: { customConfigItemGroups }
|
|
129
152
|
})
|
|
130
|
-
const
|
|
153
|
+
const editNoteArea = screen.getAllByTitle("Edit/View Note")[0] as HTMLButtonElement
|
|
154
|
+
const applyCustomConfigButton = screen.getAllByText("mcc")[0].closest("button") as HTMLButtonElement
|
|
131
155
|
|
|
132
156
|
expect(applyCustomConfigButton.disabled).toBe(true)
|
|
157
|
+
expect(editNoteArea.disabled).toBe(false)
|
|
133
158
|
expect(getComputedStyle(applyCustomConfigButton).color).toBe("rgb(204, 204, 204)")
|
|
134
159
|
})
|
|
135
160
|
})
|
|
@@ -1,16 +1,31 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core"
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from "@angular/core"
|
|
2
2
|
import { CustomConfigHelper } from "../../../../util/customConfigHelper"
|
|
3
3
|
import { CustomConfigItemGroup } from "../../customConfigs.component"
|
|
4
|
+
import { Store } from "../../../../state/angular-redux/store"
|
|
5
|
+
import { ThreeCameraService } from "../../../codeMap/threeViewer/threeCamera.service"
|
|
6
|
+
import { ThreeOrbitControlsService } from "../../../codeMap/threeViewer/threeOrbitControls.service"
|
|
4
7
|
|
|
5
8
|
@Component({
|
|
6
9
|
selector: "cc-custom-config-item-group",
|
|
7
|
-
|
|
10
|
+
templateUrl: "./customConfigItemGroup.component.html",
|
|
11
|
+
styleUrls: ["./customConfigItemGroup.component.scss"],
|
|
12
|
+
encapsulation: ViewEncapsulation.None
|
|
8
13
|
})
|
|
9
14
|
export class CustomConfigItemGroupComponent {
|
|
10
15
|
@Input() customConfigItemGroups: Map<string, CustomConfigItemGroup>
|
|
11
16
|
isExpanded = false
|
|
12
17
|
|
|
18
|
+
constructor(
|
|
19
|
+
private store: Store,
|
|
20
|
+
private threeCameraService: ThreeCameraService,
|
|
21
|
+
private threeOrbitControlsService: ThreeOrbitControlsService
|
|
22
|
+
) {}
|
|
23
|
+
|
|
13
24
|
removeCustomConfig(configId: string) {
|
|
14
25
|
CustomConfigHelper.deleteCustomConfig(configId)
|
|
15
26
|
}
|
|
27
|
+
|
|
28
|
+
applyCustomConfig(configId: string) {
|
|
29
|
+
CustomConfigHelper.applyCustomConfig(configId, this.store, this.threeCameraService, this.threeOrbitControlsService)
|
|
30
|
+
}
|
|
16
31
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
<mat-
|
|
1
|
+
<mat-toolbar color="primary"
|
|
2
|
+
>Custom Views
|
|
2
3
|
<div class="row">
|
|
3
|
-
<div class="title">
|
|
4
|
-
<h3>Custom Views</h3>
|
|
5
|
-
</div>
|
|
6
4
|
<div class="action-buttons">
|
|
7
5
|
<cc-upload-custom-config-button></cc-upload-custom-config-button>
|
|
8
6
|
<cc-download-custom-configs-button></cc-download-custom-configs-button>
|
|
9
7
|
<cc-add-custom-config-button class="custom-configs-button-in-custom-views"></cc-add-custom-config-button>
|
|
10
|
-
</div
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
</div></div
|
|
9
|
+
></mat-toolbar>
|
|
10
|
+
|
|
11
|
+
<mat-dialog-content class="content" *ngIf="customConfigService.customConfigItemGroups$ | async; let dropDownCustomConfigItemGroups">
|
|
12
|
+
<p class="custom-config-documentation-hint">
|
|
13
13
|
Custom Views allow you to save and upload your individual configurations for certain maps. Find out more about Custom Views in the
|
|
14
14
|
<a href="https://maibornwolff.github.io/codecharta/docs/custom-view/" target="_blank" rel="noopener noreferrer">documentation</a>.
|
|
15
|
-
</
|
|
15
|
+
</p>
|
|
16
16
|
<mat-divider></mat-divider>
|
|
17
17
|
<div
|
|
18
18
|
class="no-custom-configs-box"
|
|
@@ -1,33 +1,36 @@
|
|
|
1
1
|
@use "../../../../material/theme";
|
|
2
2
|
|
|
3
|
-
.cc-custom-config-list
|
|
4
|
-
|
|
5
|
-
max-height: 90vh;
|
|
3
|
+
.cc-custom-config-list {
|
|
4
|
+
width: 850px;
|
|
6
5
|
|
|
7
|
-
.mat-dialog-content
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
padding: 0;
|
|
6
|
+
.mat-mdc-dialog-content {
|
|
7
|
+
padding: 16px;
|
|
8
|
+
max-height: 90vh;
|
|
11
9
|
}
|
|
12
10
|
|
|
13
11
|
.row {
|
|
14
12
|
display: flex;
|
|
15
13
|
justify-content: space-between;
|
|
16
14
|
align-items: center;
|
|
15
|
+
margin-left: auto;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
.custom-config-documentation-hint {
|
|
20
19
|
margin: 10px 0 20px 0;
|
|
20
|
+
font-size: 1.4em;
|
|
21
|
+
line-height: 1.4em;
|
|
22
|
+
color: theme.$cc-font-color;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
.action-buttons button {
|
|
24
26
|
margin: 0 3px;
|
|
25
27
|
min-width: 12%;
|
|
26
28
|
height: 48px;
|
|
27
|
-
width:
|
|
29
|
+
width: 48px;
|
|
30
|
+
border-radius: 100%;
|
|
28
31
|
line-height: 48px;
|
|
29
|
-
background-color:
|
|
30
|
-
color:
|
|
32
|
+
background-color: #ffffff;
|
|
33
|
+
color: theme.$cc-primary-color;
|
|
31
34
|
|
|
32
35
|
&:disabled,
|
|
33
36
|
&[disabled] {
|
|
@@ -51,11 +54,6 @@
|
|
|
51
54
|
margin: 0;
|
|
52
55
|
}
|
|
53
56
|
|
|
54
|
-
.highlight-mode {
|
|
55
|
-
font-weight: bold;
|
|
56
|
-
white-space: break-spaces;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
57
|
.mat-expansion-panel-body {
|
|
60
58
|
padding: 0 16px;
|
|
61
59
|
}
|
|
@@ -69,18 +67,22 @@
|
|
|
69
67
|
}
|
|
70
68
|
|
|
71
69
|
&.non-applicable-group {
|
|
72
|
-
.mat-expansion-panel-header-title
|
|
73
|
-
.mat-list-item-content {
|
|
70
|
+
.mat-expansion-panel-header-title {
|
|
74
71
|
color: rgba(0, 0, 0, 0.3);
|
|
75
72
|
}
|
|
76
73
|
}
|
|
77
74
|
|
|
78
|
-
.
|
|
79
|
-
|
|
80
|
-
justify-content: space-between;
|
|
75
|
+
.mdc-list-item__content {
|
|
76
|
+
width: 100%;
|
|
81
77
|
border-bottom: 1px solid #000000;
|
|
82
78
|
padding: 0 5px;
|
|
83
79
|
|
|
80
|
+
.mdc-list-item__primary-text {
|
|
81
|
+
display: flex;
|
|
82
|
+
flex-direction: column;
|
|
83
|
+
width: 100%;
|
|
84
|
+
}
|
|
85
|
+
|
|
84
86
|
&:hover {
|
|
85
87
|
background-color: rgba(0, 0, 0, 0.04);
|
|
86
88
|
}
|
|
@@ -88,10 +90,11 @@
|
|
|
88
90
|
button {
|
|
89
91
|
background-color: transparent;
|
|
90
92
|
|
|
91
|
-
&.remove-button
|
|
93
|
+
&.remove-button,
|
|
94
|
+
&.custom-config-note-dialog-button {
|
|
92
95
|
font-size: 16px;
|
|
93
96
|
padding: 8px 10px;
|
|
94
|
-
margin:
|
|
97
|
+
margin: 0px;
|
|
95
98
|
|
|
96
99
|
&:hover {
|
|
97
100
|
background-color: rgba(0, 0, 0, 0.05);
|
|
@@ -103,24 +106,17 @@
|
|
|
103
106
|
}
|
|
104
107
|
}
|
|
105
108
|
|
|
106
|
-
.mat-accordion > .mat-expansion-panel-spacing:last-child,
|
|
107
|
-
.mat-accordion > *:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing,
|
|
108
|
-
.mat-accordion > .mat-expansion-panel-spacing:first-child,
|
|
109
|
-
.mat-accordion > *:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing {
|
|
110
|
-
margin: 2px 0;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
109
|
.toggle-non-applicable-configs-button {
|
|
114
110
|
width: 100%;
|
|
115
111
|
height: 30px;
|
|
116
112
|
margin: 5px 0;
|
|
117
113
|
}
|
|
118
114
|
|
|
119
|
-
.mat-list-base {
|
|
115
|
+
.mat-mdc-list-base {
|
|
120
116
|
padding: 0;
|
|
121
117
|
}
|
|
122
118
|
|
|
123
|
-
.mat-list-item {
|
|
119
|
+
.mat-mdc-list-item {
|
|
124
120
|
height: max-content;
|
|
125
121
|
}
|
|
126
122
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Store } from "../../../state/store/store"
|
|
2
2
|
import { TestBed } from "@angular/core/testing"
|
|
3
3
|
import { CustomConfigsModule } from "../customConfigs.module"
|
|
4
|
-
import { MatDialog } from "@angular/material/dialog"
|
|
5
4
|
import { CustomConfigListComponent } from "./customConfigList.component"
|
|
6
5
|
import { render, screen } from "@testing-library/angular"
|
|
7
6
|
import { CustomConfigHelperService } from "../customConfigHelper.service"
|
|
@@ -15,6 +14,7 @@ import { ThreeSceneService } from "../../codeMap/threeViewer/threeSceneService"
|
|
|
15
14
|
import { ThreeOrbitControlsService } from "../../codeMap/threeViewer/threeOrbitControls.service"
|
|
16
15
|
import userEvent from "@testing-library/user-event"
|
|
17
16
|
import { expect } from "@jest/globals"
|
|
17
|
+
import { MatDialog } from "@angular/material/dialog"
|
|
18
18
|
|
|
19
19
|
const mockedCustomConfigHelperService = {
|
|
20
20
|
customConfigItemGroups$: of({
|
|
@@ -106,7 +106,9 @@ describe("customConfigListComponent", () => {
|
|
|
106
106
|
|
|
107
107
|
expect(container.querySelectorAll("mat-list-item").length).toBe(2)
|
|
108
108
|
expect(screen.getByText("SampleMap View #1")).not.toBeNull()
|
|
109
|
+
expect(screen.getByText("a note")).not.toBeNull()
|
|
109
110
|
expect(screen.getByText("SampleMap View #2")).not.toBeNull()
|
|
111
|
+
expect(screen.getByText("Add Note")).not.toBeNull()
|
|
110
112
|
})
|
|
111
113
|
|
|
112
114
|
it("should disable button for all custom configs belonging to a non-applicable custom config item group", async () => {
|
|
@@ -123,7 +125,8 @@ describe("customConfigListComponent", () => {
|
|
|
123
125
|
|
|
124
126
|
await userEvent.click(customConfigItemGroupElement)
|
|
125
127
|
|
|
126
|
-
expect(screen.
|
|
127
|
-
|
|
128
|
+
expect((screen.getAllByTitle("SampleMap Delta View #1", { exact: false })[1].closest("button") as HTMLButtonElement).disabled).toBe(
|
|
129
|
+
true
|
|
130
|
+
)
|
|
128
131
|
})
|
|
129
132
|
})
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import { Component, Inject } from "@angular/core"
|
|
1
|
+
import { Component, ViewEncapsulation } from "@angular/core"
|
|
3
2
|
import { CustomConfigHelperService } from "../customConfigHelper.service"
|
|
4
3
|
|
|
5
4
|
@Component({
|
|
6
|
-
|
|
5
|
+
templateUrl: "./customConfigList.component.html",
|
|
6
|
+
styleUrls: ["./customConfigList.component.scss"],
|
|
7
|
+
encapsulation: ViewEncapsulation.None
|
|
7
8
|
})
|
|
8
9
|
export class CustomConfigListComponent {
|
|
9
10
|
isCollapsed = true
|
|
10
11
|
|
|
11
|
-
constructor(
|
|
12
|
+
constructor(public customConfigService: CustomConfigHelperService) {}
|
|
12
13
|
|
|
13
14
|
toggleNonApplicableCustomConfigsList() {
|
|
14
15
|
this.isCollapsed = !this.isCollapsed
|
|
@@ -30,7 +30,8 @@ describe("getCustomConfigItemGroups", () => {
|
|
|
30
30
|
colorMetric: "mcc",
|
|
31
31
|
edgeMetric: "avgCommits"
|
|
32
32
|
}
|
|
33
|
-
}
|
|
33
|
+
},
|
|
34
|
+
note: "Custom Note 1"
|
|
34
35
|
} as CustomConfig
|
|
35
36
|
|
|
36
37
|
const customConfigStub2 = {
|
|
@@ -75,6 +76,7 @@ describe("getCustomConfigItemGroups", () => {
|
|
|
75
76
|
const applicableGroup = actualCustomConfigItemGroups.applicableItems.get("map1_map2_STANDARD")
|
|
76
77
|
expect(applicableGroup.customConfigItems[0].name).toBe("config1")
|
|
77
78
|
expect(applicableGroup.customConfigItems[0].isApplicable).toBe(true)
|
|
79
|
+
expect(applicableGroup.customConfigItems[0].note).toBe("Custom Note 1")
|
|
78
80
|
expect(applicableGroup.customConfigItems[0].metrics).toEqual({
|
|
79
81
|
heightMetric: "mcc",
|
|
80
82
|
areaMetric: "rloc",
|
|
@@ -89,6 +91,7 @@ describe("getCustomConfigItemGroups", () => {
|
|
|
89
91
|
negativeDelta: "red",
|
|
90
92
|
positiveDelta: "green"
|
|
91
93
|
})
|
|
94
|
+
expect(applicableGroup.customConfigItems[0].note).toBe("Custom Note 1")
|
|
92
95
|
})
|
|
93
96
|
|
|
94
97
|
it("should set applicable-flags to false when current assigned map names, checksums and selection mode are not matching a custom config", () => {
|
|
@@ -107,6 +110,7 @@ describe("getCustomConfigItemGroups", () => {
|
|
|
107
110
|
|
|
108
111
|
const nonApplicableGroup = actualCustomConfigItemGroups.nonApplicableItems.get("map3_STANDARD")
|
|
109
112
|
expect(nonApplicableGroup.customConfigItems[0].name).toBe("config2")
|
|
113
|
+
expect(nonApplicableGroup.customConfigItems[0].note).toBeUndefined()
|
|
110
114
|
expect(nonApplicableGroup.customConfigItems[0].isApplicable).toBe(false)
|
|
111
115
|
})
|
|
112
116
|
|
|
@@ -38,7 +38,8 @@ export function getCustomConfigItemGroups({ assignedMaps }: VisibleFilesBySelect
|
|
|
38
38
|
mapSelectionMode: customConfig.mapSelectionMode,
|
|
39
39
|
metrics: { areaMetric, heightMetric, colorMetric, edgeMetric },
|
|
40
40
|
mapColors: { positive, neutral, negative, selected, positiveDelta, negativeDelta },
|
|
41
|
-
isApplicable: isCustomConfigItemApplicable
|
|
41
|
+
isApplicable: isCustomConfigItemApplicable,
|
|
42
|
+
...(customConfig.note && { note: customConfig.note })
|
|
42
43
|
})
|
|
43
44
|
|
|
44
45
|
if (customConfigItemGroups.get(groupKey).hasApplicableItems) {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<div class="custom-config-note-dialog-container">
|
|
2
|
+
<div mat-dialog-content class="note-input-container">
|
|
3
|
+
<mat-form-field class="note-input" appearance="fill">
|
|
4
|
+
<mat-label>Custom Note</mat-label>
|
|
5
|
+
<textarea matInput cdkAutosizeMinRows="10" cdkTextareaAutosize [(ngModel)]="data"></textarea>
|
|
6
|
+
</mat-form-field>
|
|
7
|
+
</div>
|
|
8
|
+
<div mat-dialog-actions class="note-dialog-action-buttons">
|
|
9
|
+
<button [mat-dialog-close]>Cancel</button>
|
|
10
|
+
<button [mat-dialog-close]="data">Ok</button>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
@use "app/material/theme";
|
|
2
|
+
|
|
3
|
+
cc-custom-config-note-dialog {
|
|
4
|
+
.custom-config-note-dialog-container {
|
|
5
|
+
padding: 20px 24px;
|
|
6
|
+
|
|
7
|
+
.note-input-container {
|
|
8
|
+
padding: 0;
|
|
9
|
+
|
|
10
|
+
.note-input {
|
|
11
|
+
width: 100%;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
.note-dialog-action-buttons {
|
|
15
|
+
justify-content: flex-end;
|
|
16
|
+
padding: 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
button {
|
|
20
|
+
padding: 12px;
|
|
21
|
+
margin: 0 0 0 10px;
|
|
22
|
+
color: theme.$cc-primary-color;
|
|
23
|
+
background-color: rgba(138, 132, 132, 0.08);
|
|
24
|
+
|
|
25
|
+
&:hover {
|
|
26
|
+
background-color: rgba(0, 0, 0, 0.05);
|
|
27
|
+
color: theme.$cc-primary-color;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Component, Inject, ViewEncapsulation } from "@angular/core"
|
|
2
|
+
import { MAT_DIALOG_DATA } from "@angular/material/dialog"
|
|
3
|
+
|
|
4
|
+
@Component({
|
|
5
|
+
selector: "cc-custom-config-note-dialog",
|
|
6
|
+
templateUrl: "./customConfigNoteDialog.component.html",
|
|
7
|
+
styleUrls: ["./customConfigNoteDialog.component.scss"],
|
|
8
|
+
encapsulation: ViewEncapsulation.None
|
|
9
|
+
})
|
|
10
|
+
export class CustomConfigNoteDialogComponent {
|
|
11
|
+
constructor(@Inject(MAT_DIALOG_DATA) public data: string) {}
|
|
12
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { TestBed } from "@angular/core/testing"
|
|
2
|
+
|
|
3
|
+
import { render, screen } from "@testing-library/angular"
|
|
4
|
+
import { CustomConfigNoteDialogButtonComponent } from "./customConfigNoteDialogButton.component"
|
|
5
|
+
import userEvent from "@testing-library/user-event"
|
|
6
|
+
import { CustomConfigItem } from "../customConfigs.component"
|
|
7
|
+
import { CustomConfigHelper } from "../../../util/customConfigHelper"
|
|
8
|
+
import { CustomConfigNoteDialogButtonModule } from "./customConfigNoteDialogButton.module"
|
|
9
|
+
import { TestbedHarnessEnvironment } from "@angular/cdk/testing/testbed"
|
|
10
|
+
import { MatDialogHarness } from "@angular/material/dialog/testing"
|
|
11
|
+
|
|
12
|
+
describe("customConfigNoteDialogComponent", () => {
|
|
13
|
+
let editCustomConfigNoteSpy: jest.SpyInstance
|
|
14
|
+
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
editCustomConfigNoteSpy = jest.spyOn(CustomConfigHelper, "editCustomConfigNote").mockImplementation(() => {})
|
|
17
|
+
TestBed.configureTestingModule({
|
|
18
|
+
imports: [CustomConfigNoteDialogButtonModule]
|
|
19
|
+
})
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
afterEach(() => {
|
|
23
|
+
editCustomConfigNoteSpy.mockRestore()
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
it("should render a clickable button and open a dialog to add and submit a note", async () => {
|
|
27
|
+
const newNote = "Some other note"
|
|
28
|
+
const customConfigItem = {
|
|
29
|
+
id: "configID",
|
|
30
|
+
note: ""
|
|
31
|
+
} as CustomConfigItem
|
|
32
|
+
const { fixture } = await render(CustomConfigNoteDialogButtonComponent, {
|
|
33
|
+
excludeComponentDeclaration: true,
|
|
34
|
+
componentProperties: { customConfigItem }
|
|
35
|
+
})
|
|
36
|
+
const loader = TestbedHarnessEnvironment.documentRootLoader(fixture)
|
|
37
|
+
let currentlyOpenedDialogs = await loader.getAllHarnesses(MatDialogHarness)
|
|
38
|
+
|
|
39
|
+
expect(currentlyOpenedDialogs.length).toBe(0)
|
|
40
|
+
await userEvent.click(screen.getByTitle("Edit/View Note"))
|
|
41
|
+
|
|
42
|
+
currentlyOpenedDialogs = await loader.getAllHarnesses(MatDialogHarness)
|
|
43
|
+
expect(currentlyOpenedDialogs.length).toBe(1)
|
|
44
|
+
|
|
45
|
+
await userEvent.type(screen.getByRole("textbox"), newNote)
|
|
46
|
+
await userEvent.click(screen.getByText("Ok"))
|
|
47
|
+
|
|
48
|
+
currentlyOpenedDialogs = await loader.getAllHarnesses(MatDialogHarness)
|
|
49
|
+
expect(currentlyOpenedDialogs.length).toBe(0)
|
|
50
|
+
|
|
51
|
+
expect(editCustomConfigNoteSpy).toHaveBeenCalledWith("configID", newNote)
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
it("should render a clickable button and open a dialog and and not change the note when the same note is submitted", async () => {
|
|
55
|
+
const customConfigItem = {
|
|
56
|
+
id: "configID",
|
|
57
|
+
note: "a note"
|
|
58
|
+
} as CustomConfigItem
|
|
59
|
+
await render(CustomConfigNoteDialogButtonComponent, {
|
|
60
|
+
excludeComponentDeclaration: true,
|
|
61
|
+
componentProperties: { customConfigItem }
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
const editNoteButton = screen.getByTitle("Edit/View Note")
|
|
65
|
+
await userEvent.click(editNoteButton)
|
|
66
|
+
await userEvent.click(screen.getByText("Ok"))
|
|
67
|
+
|
|
68
|
+
expect(editCustomConfigNoteSpy).not.toHaveBeenCalled()
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
it("should render a clickable button and open a dialog and and not change the note when cancel button is clicked", async () => {
|
|
72
|
+
const customConfigItem = {
|
|
73
|
+
id: "configID",
|
|
74
|
+
note: "a note"
|
|
75
|
+
} as CustomConfigItem
|
|
76
|
+
const { fixture } = await render(CustomConfigNoteDialogButtonComponent, {
|
|
77
|
+
excludeComponentDeclaration: true,
|
|
78
|
+
componentProperties: { customConfigItem }
|
|
79
|
+
})
|
|
80
|
+
const loader = TestbedHarnessEnvironment.documentRootLoader(fixture)
|
|
81
|
+
const editNoteButton = screen.getByTitle("Edit/View Note")
|
|
82
|
+
|
|
83
|
+
await userEvent.click(editNoteButton)
|
|
84
|
+
await userEvent.click(screen.getByText("Cancel"))
|
|
85
|
+
const currentlyOpenedDialogs = await loader.getAllHarnesses(MatDialogHarness)
|
|
86
|
+
|
|
87
|
+
expect(currentlyOpenedDialogs.length).toBe(0)
|
|
88
|
+
expect(editCustomConfigNoteSpy).not.toHaveBeenCalled()
|
|
89
|
+
})
|
|
90
|
+
})
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core"
|
|
2
|
+
import { MatDialog } from "@angular/material/dialog"
|
|
3
|
+
import { CustomConfigNoteDialogComponent } from "./customConfigNoteDialog/customConfigNoteDialog.component"
|
|
4
|
+
import { CustomConfigItem } from "../customConfigs.component"
|
|
5
|
+
import { CustomConfigHelper } from "../../../util/customConfigHelper"
|
|
6
|
+
|
|
7
|
+
@Component({
|
|
8
|
+
selector: "cc-custom-config-note-dialog-button",
|
|
9
|
+
templateUrl: "./customConfigNoteDialogButton.component.html"
|
|
10
|
+
})
|
|
11
|
+
export class CustomConfigNoteDialogButtonComponent {
|
|
12
|
+
@Input() customConfigItem: CustomConfigItem
|
|
13
|
+
|
|
14
|
+
customConfigNote: string
|
|
15
|
+
|
|
16
|
+
constructor(private dialog: MatDialog) {}
|
|
17
|
+
|
|
18
|
+
openDialog(): void {
|
|
19
|
+
this.customConfigNote = this.customConfigItem.note
|
|
20
|
+
|
|
21
|
+
const dialogReference = this.dialog.open(CustomConfigNoteDialogComponent, {
|
|
22
|
+
width: "600px",
|
|
23
|
+
data: this.customConfigNote
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
dialogReference.afterClosed().subscribe(result => {
|
|
27
|
+
if (result !== undefined && this.customConfigNote !== result) {
|
|
28
|
+
this.customConfigNote = result
|
|
29
|
+
CustomConfigHelper.editCustomConfigNote(this.customConfigItem.id, result)
|
|
30
|
+
}
|
|
31
|
+
})
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core"
|
|
2
|
+
import { MaterialModule } from "../../../../material/material.module"
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from "@angular/forms"
|
|
4
|
+
import { CommonModule } from "@angular/common"
|
|
5
|
+
import { CustomConfigNoteDialogButtonComponent } from "./customConfigNoteDialogButton.component"
|
|
6
|
+
import { CustomConfigNoteDialogComponent } from "./customConfigNoteDialog/customConfigNoteDialog.component"
|
|
7
|
+
import { A11yModule } from "@angular/cdk/a11y"
|
|
8
|
+
|
|
9
|
+
@NgModule({
|
|
10
|
+
imports: [MaterialModule, ReactiveFormsModule, FormsModule, CommonModule, A11yModule],
|
|
11
|
+
declarations: [CustomConfigNoteDialogButtonComponent, CustomConfigNoteDialogComponent],
|
|
12
|
+
exports: [CustomConfigNoteDialogButtonComponent]
|
|
13
|
+
})
|
|
14
|
+
export class CustomConfigNoteDialogButtonModule {}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Store } from "../../state/store/store"
|
|
2
2
|
import { TestBed } from "@angular/core/testing"
|
|
3
|
-
import {
|
|
4
|
-
import { fireEvent, render, screen } from "@testing-library/angular"
|
|
3
|
+
import { render, screen } from "@testing-library/angular"
|
|
5
4
|
import { CustomConfigsComponent } from "./customConfigs.component"
|
|
6
5
|
import { AddCustomConfigDialogComponent } from "./addCustomConfigButton/addCustomConfigDialog/addCustomConfigDialog.component"
|
|
7
6
|
import { CustomConfigListComponent } from "./customConfigList/customConfigList.component"
|
|
8
7
|
import { CustomConfigsModule } from "./customConfigs.module"
|
|
8
|
+
import { MatDialog } from "@angular/material/dialog"
|
|
9
|
+
import userEvent from "@testing-library/user-event"
|
|
9
10
|
|
|
10
11
|
describe("CustomConfigsComponent", () => {
|
|
11
12
|
let mockedDialog = { open: jest.fn() }
|
|
@@ -23,7 +24,7 @@ describe("CustomConfigsComponent", () => {
|
|
|
23
24
|
await render(CustomConfigsComponent, { excludeComponentDeclaration: true })
|
|
24
25
|
|
|
25
26
|
const addButton = screen.getByTitle("Create new Custom View")
|
|
26
|
-
|
|
27
|
+
await userEvent.click(addButton)
|
|
27
28
|
|
|
28
29
|
expect(mockedDialog.open).toHaveBeenCalledTimes(1)
|
|
29
30
|
expect(mockedDialog.open).toHaveBeenCalledWith(AddCustomConfigDialogComponent, { panelClass: "cc-add-custom-config-dialog" })
|
|
@@ -33,7 +34,7 @@ describe("CustomConfigsComponent", () => {
|
|
|
33
34
|
await render(CustomConfigsComponent, { excludeComponentDeclaration: true })
|
|
34
35
|
|
|
35
36
|
const openCustomConfigsButton = screen.getByTitle("Open your saved Custom Views")
|
|
36
|
-
|
|
37
|
+
await userEvent.click(openCustomConfigsButton)
|
|
37
38
|
|
|
38
39
|
expect(mockedDialog.open).toHaveBeenCalledTimes(1)
|
|
39
40
|
expect(mockedDialog.open).toHaveBeenCalledWith(CustomConfigListComponent, { panelClass: "cc-custom-config-list" })
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import { Component, Inject } from "@angular/core"
|
|
1
|
+
import { Component, ViewEncapsulation } from "@angular/core"
|
|
3
2
|
import { MatDialog } from "@angular/material/dialog"
|
|
4
3
|
import { CustomConfigListComponent } from "./customConfigList/customConfigList.component"
|
|
5
4
|
import { CustomConfigMapSelectionMode } from "../../model/customConfig/customConfig.api.model"
|
|
@@ -15,6 +14,7 @@ export interface CustomConfigItem {
|
|
|
15
14
|
metrics: Pick<PrimaryMetrics, "areaMetric" | "heightMetric" | "colorMetric" | "edgeMetric">
|
|
16
15
|
mapColors: CustomConfigColors
|
|
17
16
|
isApplicable: boolean
|
|
17
|
+
note?: string
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export interface CustomConfigItemGroup {
|
|
@@ -26,10 +26,12 @@ export interface CustomConfigItemGroup {
|
|
|
26
26
|
|
|
27
27
|
@Component({
|
|
28
28
|
selector: "cc-custom-configs",
|
|
29
|
-
|
|
29
|
+
templateUrl: "./customConfigs.component.html",
|
|
30
|
+
styleUrls: ["./customConfigs.component.scss"],
|
|
31
|
+
encapsulation: ViewEncapsulation.None
|
|
30
32
|
})
|
|
31
33
|
export class CustomConfigsComponent {
|
|
32
|
-
constructor(
|
|
34
|
+
constructor(private dialog: MatDialog) {}
|
|
33
35
|
|
|
34
36
|
openCustomConfigDialog() {
|
|
35
37
|
this.dialog.open(CustomConfigListComponent, {
|