codecharta-visualization 1.114.0 → 1.115.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.scss +1 -1
- package/app/codeCharta/ui/attributeSideBar/attributeSideBar.component.spec.ts +59 -7
- 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.ts +4 -3
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetrics.component.html +10 -5
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarPrimaryMetrics/attributeSideBarPrimaryMetrics.component.ts +4 -3
- package/app/codeCharta/ui/attributeSideBar/attributeSideBarSecondaryMetrics/attributeSideBarSecondaryMetrics.component.html +5 -1
- 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 +4 -6
- package/app/codeCharta/ui/attributeSideBar/attributeTypeSelector/attributeTypeSelector.component.ts +5 -4
- 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 +4 -3
- 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 +1 -0
- package/app/codeCharta/ui/filePanel/filePanelFileSelector/filePanelFileSelector.component.scss +2 -9
- 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.scss +1 -1
- package/app/codeCharta/ui/filePanel/filePanelFileSelector/removeFileButton/removeFileButton.component.ts +5 -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 +11 -5
- 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 +6 -16
- package/app/codeCharta/ui/ribbonBar/artificialIntelligence/selectors/artificialIntelligence.selector.ts +7 -11
- 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 -8
- 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/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 +8 -8
- 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/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 +1 -3
- package/conf/jestUnit.config.json +5 -17
- package/conf/webpack.config.js +19 -56
- package/dist/webpack/3rdpartylicenses.txt +1063 -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.bc36f7880e897bab.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 +33 -51
- 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/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
|
@@ -2,13 +2,12 @@ import { NgModule } from "@angular/core"
|
|
|
2
2
|
import { CommonModule } from "@angular/common"
|
|
3
3
|
import { MaterialModule } from "../../../../material/material.module"
|
|
4
4
|
import { AreaSettingsPanelComponent } from "./areaSettingsPanel.component"
|
|
5
|
-
import { InvertAreaOptionComponent } from "./invertAreaOption/invertAreaOption.component"
|
|
6
5
|
import { SliderModule } from "../../slider/slider.module"
|
|
7
6
|
import { ResetSettingsButtonModule } from "../../resetSettingsButton/resetSettingsButton.module"
|
|
8
7
|
|
|
9
8
|
@NgModule({
|
|
10
9
|
imports: [CommonModule, MaterialModule, SliderModule, ResetSettingsButtonModule],
|
|
11
|
-
declarations: [AreaSettingsPanelComponent
|
|
10
|
+
declarations: [AreaSettingsPanelComponent],
|
|
12
11
|
exports: [AreaSettingsPanelComponent]
|
|
13
12
|
})
|
|
14
13
|
export class AreaSettingsPanelModule {}
|
package/app/codeCharta/ui/ribbonBar/artificialIntelligence/artificialIntelligence.component.scss
CHANGED
|
@@ -14,10 +14,9 @@ cc-artificial-intelligence {
|
|
|
14
14
|
line-height: 10px;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
.mat-menu-panel.ai-drop-down {
|
|
17
|
+
.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down {
|
|
19
18
|
padding: 8px 16px;
|
|
20
|
-
max-width:
|
|
19
|
+
max-width: 33em;
|
|
21
20
|
|
|
22
21
|
.title {
|
|
23
22
|
margin-bottom: 8px;
|
package/app/codeCharta/ui/ribbonBar/artificialIntelligence/artificialIntelligence.component.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import { Component, Inject } from "@angular/core"
|
|
1
|
+
import { Component, ViewEncapsulation } from "@angular/core"
|
|
3
2
|
import { Store } from "../../../state/angular-redux/store"
|
|
4
3
|
import { debounceTime, identity, map } from "rxjs"
|
|
5
4
|
import { artificialIntelligenceSelector } from "./selectors/artificialIntelligence.selector"
|
|
6
5
|
|
|
7
6
|
@Component({
|
|
8
7
|
selector: "cc-artificial-intelligence",
|
|
9
|
-
|
|
8
|
+
templateUrl: "./artificialIntelligence.component.html",
|
|
9
|
+
styleUrls: ["./artificialIntelligence.component.scss"],
|
|
10
|
+
encapsulation: ViewEncapsulation.None
|
|
10
11
|
})
|
|
11
12
|
export class ArtificialIntelligenceComponent {
|
|
12
13
|
data$ = this.store.select(identity).pipe(debounceTime(10), map(artificialIntelligenceSelector))
|
|
13
14
|
|
|
14
|
-
constructor(
|
|
15
|
+
constructor(private store: Store) {}
|
|
15
16
|
}
|
|
@@ -3,9 +3,18 @@
|
|
|
3
3
|
</button>
|
|
4
4
|
|
|
5
5
|
<mat-menu #menu="matMenu" class="ai-drop-down high-risk-profile">
|
|
6
|
-
<ng-container *ngIf="data.
|
|
6
|
+
<ng-container *ngIf="data.riskProfile !== undefined">
|
|
7
7
|
<div class="title">
|
|
8
8
|
<div>Risk Profile</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="suspicious-metrics-summary">
|
|
11
|
+
The Risk Profile gives a quick overview about the complexity and risk structure of the code base. It tells you how much of the
|
|
12
|
+
code is placed in files associated with low/high risk in means of maintainability. The separation of code in risk classes like
|
|
13
|
+
low or high complexity is based on Java reference metric values and therefore may be inaccurate for other programming languages.
|
|
14
|
+
More information can be found here:
|
|
15
|
+
<a href="https://maibornwolff.github.io/codecharta/docs/risk-profile/">link</a> to How-To article.
|
|
16
|
+
</div>
|
|
17
|
+
<div class="title">
|
|
9
18
|
<div>Calculations are always based on mcc (cyclomatic complexity)</div>
|
|
10
19
|
</div>
|
|
11
20
|
<div class="suspicious-metrics-summary">
|
|
@@ -47,7 +56,7 @@
|
|
|
47
56
|
</div>
|
|
48
57
|
</div>
|
|
49
58
|
</ng-container>
|
|
50
|
-
<ng-container *ngIf="data.
|
|
51
|
-
Could not calculate Risk Profile. Metrics rloc and mcc not available.
|
|
59
|
+
<ng-container *ngIf="data.riskProfile === undefined">
|
|
60
|
+
Could not calculate Risk Profile. Metrics rloc(Real lines of code) and mcc(Cyclomatic complexity) not available.
|
|
52
61
|
</ng-container>
|
|
53
62
|
</mat-menu>
|
|
@@ -57,7 +57,11 @@ describe("HighRiskProfileComponent", () => {
|
|
|
57
57
|
|
|
58
58
|
await userEvent.click(screen.getByTitle("Open High Risk Profile"))
|
|
59
59
|
|
|
60
|
-
expect(
|
|
60
|
+
expect(
|
|
61
|
+
screen.getByText(
|
|
62
|
+
"Could not calculate Risk Profile. Metrics rloc(Real lines of code) and mcc(Cyclomatic complexity) not available."
|
|
63
|
+
)
|
|
64
|
+
).toBeTruthy()
|
|
61
65
|
})
|
|
62
66
|
|
|
63
67
|
it("should explain that there couldn't be analyzed a risk profile even when analyzedProgrammingLanguage is undefined", async () => {
|
|
@@ -74,6 +78,10 @@ describe("HighRiskProfileComponent", () => {
|
|
|
74
78
|
|
|
75
79
|
await userEvent.click(screen.getByTitle("Open High Risk Profile"))
|
|
76
80
|
|
|
77
|
-
expect(
|
|
81
|
+
expect(
|
|
82
|
+
screen.getByText(
|
|
83
|
+
"Could not calculate Risk Profile. Metrics rloc(Real lines of code) and mcc(Cyclomatic complexity) not available."
|
|
84
|
+
)
|
|
85
|
+
).toBeTruthy()
|
|
78
86
|
})
|
|
79
87
|
})
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core"
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from "@angular/core"
|
|
2
2
|
import { ArtificialIntelligenceData } from "../selectors/artificialIntelligence.selector"
|
|
3
3
|
|
|
4
4
|
@Component({
|
|
5
5
|
selector: "cc-high-risk-profile",
|
|
6
|
-
|
|
6
|
+
templateUrl: "./highRiskProfile.component.html",
|
|
7
|
+
encapsulation: ViewEncapsulation.None
|
|
7
8
|
})
|
|
8
9
|
export class HighRiskProfileComponent {
|
|
9
10
|
@Input() data: Pick<ArtificialIntelligenceData, "analyzedProgrammingLanguage" | "riskProfile">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive, ElementRef,
|
|
1
|
+
import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from "@angular/core"
|
|
2
2
|
|
|
3
3
|
@Directive({
|
|
4
4
|
selector: "[ccRiskProfileBar]"
|
|
@@ -6,7 +6,7 @@ import { Directive, ElementRef, Inject, Input, OnChanges, SimpleChanges } from "
|
|
|
6
6
|
export class RiskProfileBarDirective implements OnChanges {
|
|
7
7
|
@Input() ccRiskProfileBar = 0
|
|
8
8
|
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(private element: ElementRef) {}
|
|
10
10
|
|
|
11
11
|
ngOnChanges(changes: SimpleChanges) {
|
|
12
12
|
if (changes.ccRiskProfileBar) {
|
|
@@ -3,13 +3,8 @@ import { VALID_NODE_JAVA } from "../../../../util/dataMocks"
|
|
|
3
3
|
import { BlacklistItem, NodeType } from "../../../../codeCharta.model"
|
|
4
4
|
|
|
5
5
|
describe("ArtificialIntelligenceSelector", () => {
|
|
6
|
-
it("should return undefined when experimental features are disabled ", () => {
|
|
7
|
-
const actual = calculate(false, { unifiedMapNode: VALID_NODE_JAVA }, [])
|
|
8
|
-
expect(actual).toBeUndefined()
|
|
9
|
-
})
|
|
10
|
-
|
|
11
6
|
it("should calculate suspicious metrics and risk profile when experimental features are enabled ", () => {
|
|
12
|
-
const actual = calculate(
|
|
7
|
+
const actual = calculate({ unifiedMapNode: VALID_NODE_JAVA }, [])
|
|
13
8
|
|
|
14
9
|
expect(actual).toEqual({
|
|
15
10
|
analyzedProgrammingLanguage: "java",
|
|
@@ -24,11 +19,11 @@ describe("ArtificialIntelligenceSelector", () => {
|
|
|
24
19
|
})
|
|
25
20
|
})
|
|
26
21
|
|
|
27
|
-
it("should return untracked metrics
|
|
22
|
+
it("should return untracked metrics", () => {
|
|
28
23
|
VALID_NODE_JAVA.children[0].children.map(object => {
|
|
29
24
|
object.attributes.unknownMetric = 2569
|
|
30
25
|
})
|
|
31
|
-
const actual = calculate(
|
|
26
|
+
const actual = calculate({ unifiedMapNode: VALID_NODE_JAVA }, [])
|
|
32
27
|
|
|
33
28
|
expect(actual).toEqual({
|
|
34
29
|
analyzedProgrammingLanguage: "java",
|
|
@@ -43,7 +38,7 @@ describe("ArtificialIntelligenceSelector", () => {
|
|
|
43
38
|
})
|
|
44
39
|
})
|
|
45
40
|
|
|
46
|
-
it("should ignore excluded nodes
|
|
41
|
+
it("should ignore excluded nodes", () => {
|
|
47
42
|
const blacklist: BlacklistItem[] = [{ path: "file1.java", type: "exclude" }]
|
|
48
43
|
const blacklistedNode = {
|
|
49
44
|
name: "file1.java",
|
|
@@ -52,15 +47,10 @@ describe("ArtificialIntelligenceSelector", () => {
|
|
|
52
47
|
attributes: { rloc: 70, mcc: 1000 }
|
|
53
48
|
}
|
|
54
49
|
|
|
55
|
-
const actual = calculate(
|
|
50
|
+
const actual = calculate({ unifiedMapNode: blacklistedNode }, blacklist)
|
|
56
51
|
|
|
57
52
|
expect(actual).toEqual({
|
|
58
|
-
riskProfile:
|
|
59
|
-
highRisk: 0,
|
|
60
|
-
lowRisk: 0,
|
|
61
|
-
moderateRisk: 0,
|
|
62
|
-
veryHighRisk: 0
|
|
63
|
-
},
|
|
53
|
+
riskProfile: undefined,
|
|
64
54
|
suspiciousMetricSuggestionLinks: [],
|
|
65
55
|
unsuspiciousMetrics: [],
|
|
66
56
|
untrackedMetrics: []
|
|
@@ -19,7 +19,6 @@ import { getMostFrequentLanguage } from "./util/mainProgrammingLanguageHelper"
|
|
|
19
19
|
import { isPathBlacklisted } from "../../../../util/codeMapHelper"
|
|
20
20
|
import { createSelector } from "../../../../state/angular-redux/createSelector"
|
|
21
21
|
import { blacklistSelector } from "../../../../state/store/fileSettings/blacklist/blacklist.selector"
|
|
22
|
-
import { experimentalFeaturesEnabledSelector } from "../../../../state/store/appSettings/enableExperimentalFeatures/experimentalFeaturesEnabled.selector"
|
|
23
22
|
import { CcState } from "../../../../state/store/store"
|
|
24
23
|
import { AccumulatedData, accumulatedDataSelector } from "../../../../state/selectors/accumulatedData/accumulatedData.selector"
|
|
25
24
|
|
|
@@ -32,25 +31,21 @@ export type ArtificialIntelligenceData = {
|
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
export const calculate = (
|
|
35
|
-
experimentalFeaturesEnabled: boolean,
|
|
36
34
|
accumulatedData: Pick<AccumulatedData, "unifiedMapNode">,
|
|
37
35
|
blacklist: BlacklistItem[]
|
|
38
36
|
): ArtificialIntelligenceData | undefined => {
|
|
39
|
-
if (!experimentalFeaturesEnabled) {
|
|
40
|
-
return
|
|
41
|
-
}
|
|
42
|
-
|
|
43
37
|
const artificialIntelligenceViewModel: ArtificialIntelligenceData = {
|
|
44
38
|
analyzedProgrammingLanguage: undefined,
|
|
45
39
|
suspiciousMetricSuggestionLinks: [],
|
|
46
40
|
unsuspiciousMetrics: [],
|
|
47
41
|
untrackedMetrics: [],
|
|
48
|
-
riskProfile:
|
|
42
|
+
riskProfile: undefined
|
|
49
43
|
}
|
|
50
44
|
|
|
51
45
|
const numberOfFilesByLanguage = new Map<string, number>()
|
|
52
46
|
const rlocRisk = { lowRisk: 0, moderateRisk: 0, highRisk: 0, veryHighRisk: 0 }
|
|
53
47
|
let totalRloc = 0
|
|
48
|
+
let totalMcc = 0
|
|
54
49
|
const metricValuesByLanguage: MetricValuesByLanguage = {}
|
|
55
50
|
|
|
56
51
|
for (const { data } of hierarchy(accumulatedData.unifiedMapNode)) {
|
|
@@ -62,13 +57,14 @@ export const calculate = (
|
|
|
62
57
|
|
|
63
58
|
if (isFileValid(data, fileExtension)) {
|
|
64
59
|
totalRloc += data.attributes[AREA_METRIC]
|
|
60
|
+
totalMcc += data.attributes[HEIGHT_METRIC]
|
|
65
61
|
aggregateRiskProfile(data, rlocRisk, fileExtension)
|
|
66
62
|
}
|
|
67
63
|
}
|
|
64
|
+
}
|
|
68
65
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
66
|
+
if (totalRloc > 0 && totalMcc > 0) {
|
|
67
|
+
artificialIntelligenceViewModel.riskProfile = getPercentagesOfRiskProfile(rlocRisk)
|
|
72
68
|
}
|
|
73
69
|
|
|
74
70
|
const mainProgrammingLanguage = getMostFrequentLanguage(numberOfFilesByLanguage)
|
|
@@ -97,6 +93,6 @@ function isFileValid(node: CodeMapNode, fileExtension: string) {
|
|
|
97
93
|
}
|
|
98
94
|
|
|
99
95
|
export const artificialIntelligenceSelector: (state: CcState) => ArtificialIntelligenceData = createSelector(
|
|
100
|
-
[
|
|
96
|
+
[accumulatedDataSelector, blacklistSelector],
|
|
101
97
|
calculate
|
|
102
98
|
)
|
|
@@ -15,6 +15,16 @@
|
|
|
15
15
|
|
|
16
16
|
<mat-menu #menu="matMenu" class="ai-drop-down suspicious-metric-panel">
|
|
17
17
|
<div *ngIf="data.unsuspiciousMetrics.length">
|
|
18
|
+
<div class="title">
|
|
19
|
+
<div>Suspicious Metrics</div>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="suspicious-metric">
|
|
22
|
+
This feature compares the values of certain metrics from the loaded cc.json file with metric values of 241 Open Source Java
|
|
23
|
+
projects. Based on this data suspicious and inconspicuous metrics are identified and corresponding suggestions can be clicked to
|
|
24
|
+
view them. Be aware that metrics for other programming languages might not be comparable to Java Reference metric values. More
|
|
25
|
+
information can be found here:
|
|
26
|
+
<a href="https://maibornwolff.github.io/codecharta/docs/suspicious-metrics/">link</a> to How-To article.
|
|
27
|
+
</div>
|
|
18
28
|
<div class="title">
|
|
19
29
|
{{
|
|
20
30
|
data.analyzedProgrammingLanguage?.length
|
|
@@ -47,7 +57,7 @@
|
|
|
47
57
|
</div>
|
|
48
58
|
|
|
49
59
|
<div *ngIf="data.untrackedMetrics.length">
|
|
50
|
-
<div *ngIf="data.analyzedProgrammingLanguage.length" class="title
|
|
60
|
+
<div *ngIf="data.analyzedProgrammingLanguage.length" class="title">
|
|
51
61
|
Untracked metrics in {{ data.analyzedProgrammingLanguage }} code
|
|
52
62
|
</div>
|
|
53
63
|
<ul>
|
|
@@ -18,7 +18,7 @@ describe("SuspiciousMetricsComponent", () => {
|
|
|
18
18
|
|
|
19
19
|
describe("badge", () => {
|
|
20
20
|
it("should show initially and hide on first click, but show again when data has changed", async () => {
|
|
21
|
-
const { container,
|
|
21
|
+
const { container, change } = await render(SuspiciousMetricComponent, {
|
|
22
22
|
excludeComponentDeclaration: true,
|
|
23
23
|
componentProperties: {
|
|
24
24
|
data: {
|
|
@@ -34,7 +34,7 @@ describe("SuspiciousMetricsComponent", () => {
|
|
|
34
34
|
await userEvent.click(screen.getByTitle("Open Suspicious Metrics Panel"))
|
|
35
35
|
expect(container.querySelector(".suspicious-metrics-badge")).toBe(null)
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
change({
|
|
38
38
|
data: {
|
|
39
39
|
analyzedProgrammingLanguage: "ts",
|
|
40
40
|
unsuspiciousMetrics: ["rloc"],
|
|
@@ -46,7 +46,7 @@ describe("SuspiciousMetricsComponent", () => {
|
|
|
46
46
|
})
|
|
47
47
|
|
|
48
48
|
it("should show initially and hide on first click, but not show again when new data has same values", async () => {
|
|
49
|
-
const { container,
|
|
49
|
+
const { container, change } = await render(SuspiciousMetricComponent, {
|
|
50
50
|
excludeComponentDeclaration: true,
|
|
51
51
|
componentProperties: {
|
|
52
52
|
data: {
|
|
@@ -62,7 +62,7 @@ describe("SuspiciousMetricsComponent", () => {
|
|
|
62
62
|
await userEvent.click(screen.getByTitle("Open Suspicious Metrics Panel"))
|
|
63
63
|
expect(container.querySelector(".suspicious-metrics-badge")).toBe(null)
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
change({
|
|
66
66
|
data: {
|
|
67
67
|
analyzedProgrammingLanguage: "ts",
|
|
68
68
|
unsuspiciousMetrics: ["rloc", "mcc"],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Component,
|
|
2
|
-
import
|
|
1
|
+
import { Component, Input, OnChanges, SimpleChanges, ViewEncapsulation } from "@angular/core"
|
|
2
|
+
import { dequal } from "dequal"
|
|
3
3
|
import { Store } from "../../../../state/angular-redux/store"
|
|
4
4
|
import { defaultMapColors, setMapColors } from "../../../../state/store/appSettings/mapColors/mapColors.actions"
|
|
5
5
|
import { setAreaMetric } from "../../../../state/store/dynamicSettings/areaMetric/areaMetric.actions"
|
|
@@ -12,7 +12,8 @@ import { MetricSuggestionParameters } from "../selectors/util/suspiciousMetricsH
|
|
|
12
12
|
|
|
13
13
|
@Component({
|
|
14
14
|
selector: "cc-suspicious-metrics",
|
|
15
|
-
|
|
15
|
+
templateUrl: "./suspiciousMetrics.component.html",
|
|
16
|
+
encapsulation: ViewEncapsulation.None
|
|
16
17
|
})
|
|
17
18
|
export class SuspiciousMetricComponent implements OnChanges {
|
|
18
19
|
@Input() data: Pick<
|
|
@@ -21,10 +22,10 @@ export class SuspiciousMetricComponent implements OnChanges {
|
|
|
21
22
|
>
|
|
22
23
|
hideBadge = false
|
|
23
24
|
|
|
24
|
-
constructor(
|
|
25
|
+
constructor(private store: Store) {}
|
|
25
26
|
|
|
26
27
|
ngOnChanges(changes: SimpleChanges): void {
|
|
27
|
-
if (changes.data && !
|
|
28
|
+
if (changes.data && !dequal(changes.data.previousValue, changes.data.currentValue)) {
|
|
28
29
|
this.hideBadge = false
|
|
29
30
|
}
|
|
30
31
|
}
|
|
@@ -8,11 +8,14 @@ import { ColorMetricChooserComponent } from "./colorMetricChooser.component"
|
|
|
8
8
|
import { ColorMetricChooserModule } from "./heightMetricChooser.module"
|
|
9
9
|
import { toggleIsColorMetricLinkedToHeightMetric } from "../../../state/store/appSettings/isHeightAndColorMetricLinked/isColorMetricLinkedToHeightMetric.actions"
|
|
10
10
|
|
|
11
|
-
jest.mock("../../../state/selectors/accumulatedData/metricData/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
jest.mock("../../../state/selectors/accumulatedData/metricData/metricData.selector", () => ({
|
|
12
|
+
metricDataSelector: () => ({
|
|
13
|
+
nodeMetricData: [
|
|
14
|
+
{ name: "aMetric", maxValue: 1 },
|
|
15
|
+
{ name: "bMetric", maxValue: 2 }
|
|
16
|
+
],
|
|
17
|
+
edgeMetricData: []
|
|
18
|
+
})
|
|
16
19
|
}))
|
|
17
20
|
|
|
18
21
|
describe("colorMetricChooserComponent", () => {
|
|
@@ -31,7 +34,7 @@ describe("colorMetricChooserComponent", () => {
|
|
|
31
34
|
expect(screen.getByRole("combobox").getAttribute("aria-disabled")).toBe("false")
|
|
32
35
|
|
|
33
36
|
await userEvent.click(await screen.findByText("aMetric (1)"))
|
|
34
|
-
expect(screen.
|
|
37
|
+
expect(screen.getByPlaceholderText("Color Metric (highest value)")).not.toBe(null)
|
|
35
38
|
const options = screen.queryAllByRole("option")
|
|
36
39
|
expect(options[0].textContent).toMatch("aMetric (1)")
|
|
37
40
|
expect(options[1].textContent).toMatch("bMetric (2)")
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, ViewEncapsulation } from "@angular/core"
|
|
2
2
|
import { Store } from "../../../state/angular-redux/store"
|
|
3
3
|
import { setColorMetric } from "../../../state/store/dynamicSettings/colorMetric/colorMetric.actions"
|
|
4
4
|
import { colorMetricSelector } from "../../../state/store/dynamicSettings/colorMetric/colorMetric.selector"
|
|
@@ -6,7 +6,8 @@ import { isColorMetricLinkedToHeightMetricSelector } from "../../../state/store/
|
|
|
6
6
|
|
|
7
7
|
@Component({
|
|
8
8
|
selector: "cc-color-metric-chooser",
|
|
9
|
-
|
|
9
|
+
templateUrl: "./colorMetricChooser.component.html",
|
|
10
|
+
encapsulation: ViewEncapsulation.None
|
|
10
11
|
})
|
|
11
12
|
export class ColorMetricChooserComponent {
|
|
12
13
|
colorMetric$ = this.store.select(colorMetricSelector)
|
|
@@ -14,7 +15,7 @@ export class ColorMetricChooserComponent {
|
|
|
14
15
|
nonDisabledColor = "rgba(0, 0, 0, 0.38)"
|
|
15
16
|
disabledColor = "rgba(68,68,68, 1)"
|
|
16
17
|
|
|
17
|
-
constructor(
|
|
18
|
+
constructor(private store: Store) {}
|
|
18
19
|
|
|
19
20
|
handleColorMetricChanged(value: string) {
|
|
20
21
|
this.store.dispatch(setColorMetric(value))
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
<cc-metric-color-range-slider *ngIf="!(isDeltaState$ | async)"></cc-metric-color-range-slider>
|
|
2
2
|
|
|
3
|
-
<mat-select [value]="colorMode$ | async" (selectionChange)="handleColorModeChange($event.value)">
|
|
4
|
-
<div (mousedown)="$event.stopPropagation()">
|
|
5
|
-
<mat-option value="absolute">Absolute</mat-option>
|
|
6
|
-
<mat-option value="focusedGradient">Focused Gradient</mat-option>
|
|
7
|
-
<mat-option value="weightedGradient">Weighted Gradient</mat-option>
|
|
8
|
-
<mat-option value="trueGradient">True Gradient</mat-option>
|
|
9
|
-
</div>
|
|
10
|
-
</mat-select>
|
|
11
|
-
|
|
12
3
|
<cc-reset-settings-button
|
|
13
4
|
[settingsKeys]="['dynamicSettings.colorRange', 'appSettings.mapColors.positiveDelta', 'appSettings.mapColors.negativeDelta']"
|
|
14
5
|
tooltip="Reset slider thresholds to default"
|
|
15
6
|
label="Reset thresholds"
|
|
16
7
|
></cc-reset-settings-button>
|
|
17
8
|
|
|
18
|
-
<mat-
|
|
9
|
+
<mat-form-field appearance="outline">
|
|
10
|
+
<mat-label>Gradient Mode</mat-label>
|
|
11
|
+
<mat-select [value]="colorMode$ | async" (selectionChange)="handleColorModeChange($event.value)">
|
|
12
|
+
<div (mousedown)="$event.stopPropagation()">
|
|
13
|
+
<mat-option value="absolute">Absolute</mat-option>
|
|
14
|
+
<mat-option value="focusedGradient">Focused Gradient</mat-option>
|
|
15
|
+
<mat-option value="weightedGradient">Weighted Gradient</mat-option>
|
|
16
|
+
<mat-option value="trueGradient">True Gradient</mat-option>
|
|
17
|
+
</div>
|
|
18
|
+
</mat-select>
|
|
19
|
+
</mat-form-field>
|
|
19
20
|
|
|
20
21
|
<ng-container *ngIf="!(isDeltaState$ | async)">
|
|
21
22
|
<div class="color-row">
|
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
cc-color-settings-panel {
|
|
2
2
|
&.cc-metric-settings-panel {
|
|
3
|
-
|
|
3
|
+
mat-form-field {
|
|
4
|
+
width: 100%;
|
|
5
|
+
margin: 12px 0px;
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix {
|
|
8
|
+
padding: 10px;
|
|
9
|
+
min-height: 28px;
|
|
10
|
+
|
|
11
|
+
.mat-mdc-input-element {
|
|
12
|
+
min-height: inherit;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align {
|
|
17
|
+
display: none;
|
|
18
|
+
}
|
|
7
19
|
}
|
|
8
20
|
|
|
9
21
|
.color-row {
|
|
10
22
|
display: flex;
|
|
23
|
+
align-items: center;
|
|
11
24
|
justify-content: space-between;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
.invert-colors {
|
|
15
|
-
display: flex;
|
|
16
|
-
justify-content: end;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
cc-reset-settings-button button {
|
|
20
|
-
margin: 0;
|
|
25
|
+
padding-right: 8px;
|
|
21
26
|
}
|
|
22
27
|
}
|
|
23
28
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import { Component, Inject } from "@angular/core"
|
|
1
|
+
import { Component, ViewEncapsulation } from "@angular/core"
|
|
3
2
|
import { colorLabelOptions, ColorMode } from "../../../codeCharta.model"
|
|
4
3
|
import { Store } from "../../../state/angular-redux/store"
|
|
5
4
|
import { isDeltaStateSelector } from "../../../state/selectors/isDeltaState.selector"
|
|
@@ -12,7 +11,9 @@ import { invertColorRange, invertDeltaColors } from "../../../state/store/appSet
|
|
|
12
11
|
|
|
13
12
|
@Component({
|
|
14
13
|
selector: "cc-color-settings-panel",
|
|
15
|
-
|
|
14
|
+
templateUrl: "./colorSettingsPanel.component.html",
|
|
15
|
+
styleUrls: ["./colorSettingsPanel.component.scss"],
|
|
16
|
+
encapsulation: ViewEncapsulation.None
|
|
16
17
|
})
|
|
17
18
|
export class ColorSettingsPanelComponent {
|
|
18
19
|
isDeltaState$ = this.store.select(isDeltaStateSelector)
|
|
@@ -21,7 +22,7 @@ export class ColorSettingsPanelComponent {
|
|
|
21
22
|
isColorRangeInverted = false
|
|
22
23
|
areDeltaColorsInverted = false
|
|
23
24
|
|
|
24
|
-
constructor(
|
|
25
|
+
constructor(private store: Store) {}
|
|
25
26
|
|
|
26
27
|
handleColorModeChange(gradient: ColorMode) {
|
|
27
28
|
this.store.dispatch(setColorMode(gradient))
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, ViewEncapsulation } from "@angular/core"
|
|
2
2
|
import { Store } from "../../../../state/angular-redux/store"
|
|
3
3
|
import { HandleValueChange } from "./rangeSlider/rangeSlider.component"
|
|
4
4
|
import { setColorRange } from "../../../../state/store/dynamicSettings/colorRange/colorRange.actions"
|
|
5
|
-
import debounce from "lodash.debounce"
|
|
6
5
|
import { metricColorRangeSliderColorsSelector } from "./selectors/metricColorRangeSliderColors.selector"
|
|
7
6
|
import { metricColorRangeSliderValuesSelector } from "./selectors/metricColorRangeSliderValues.selector"
|
|
8
7
|
import { ColorRange } from "../../../../codeCharta.model"
|
|
8
|
+
import { debounce } from "../../../../util/debounce"
|
|
9
9
|
|
|
10
10
|
@Component({
|
|
11
11
|
selector: "cc-metric-color-range-slider",
|
|
12
|
-
|
|
12
|
+
templateUrl: "./metricColorRangeSlider.component.html",
|
|
13
|
+
encapsulation: ViewEncapsulation.None
|
|
13
14
|
})
|
|
14
15
|
export class MetricColorRangeSliderComponent {
|
|
15
16
|
sliderValues$ = this.store.select(metricColorRangeSliderValuesSelector)
|
|
@@ -18,7 +19,7 @@ export class MetricColorRangeSliderComponent {
|
|
|
18
19
|
private newLeftValue: null | number = null
|
|
19
20
|
private newRightValue: null | number = null
|
|
20
21
|
|
|
21
|
-
constructor(
|
|
22
|
+
constructor(private store: Store) {}
|
|
22
23
|
|
|
23
24
|
handleValueChange: HandleValueChange = ({ newLeftValue, newRightValue }) => {
|
|
24
25
|
if (newLeftValue !== undefined) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div class="cc-range-slider-container">
|
|
2
|
-
<mat-form-field>
|
|
2
|
+
<mat-form-field appearance="outline">
|
|
3
3
|
<input
|
|
4
4
|
matInput
|
|
5
5
|
type="number"
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
></cc-range-slider-labels>
|
|
46
46
|
</div>
|
|
47
47
|
|
|
48
|
-
<mat-form-field>
|
|
48
|
+
<mat-form-field appearance="outline">
|
|
49
49
|
<input
|
|
50
50
|
matInput
|
|
51
51
|
type="number"
|
|
@@ -3,14 +3,29 @@
|
|
|
3
3
|
cc-range-slider {
|
|
4
4
|
.cc-range-slider-container {
|
|
5
5
|
display: flex;
|
|
6
|
-
|
|
6
|
+
align-items: center;
|
|
7
7
|
mat-form-field {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
height: 32px;
|
|
9
|
+
|
|
10
|
+
.mat-mdc-text-field-wrapper {
|
|
11
|
+
padding: 0px 4px;
|
|
12
|
+
|
|
13
|
+
.mat-mdc-form-field-flex {
|
|
14
|
+
align-self: center;
|
|
15
|
+
|
|
16
|
+
.mat-mdc-form-field-infix {
|
|
17
|
+
padding: 0px 0px;
|
|
18
|
+
min-height: 28px;
|
|
19
|
+
|
|
20
|
+
.mat-mdc-input-element {
|
|
21
|
+
min-height: inherit;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
10
26
|
|
|
11
|
-
.mat-form-field-
|
|
12
|
-
|
|
13
|
-
padding-top: 16px;
|
|
27
|
+
.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align {
|
|
28
|
+
display: none;
|
|
14
29
|
}
|
|
15
30
|
}
|
|
16
31
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import { Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild } from "@angular/core"
|
|
1
|
+
import { Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild, ViewEncapsulation } from "@angular/core"
|
|
3
2
|
import { calculateSliderRangePosition, SliderRangePosition, updateLeftThumb, updateRightThumb } from "./utils/SliderRangePosition"
|
|
4
3
|
import { parseNumberInput } from "../../../../../util/parseNumberInput"
|
|
5
4
|
|
|
@@ -8,7 +7,9 @@ export type CurrentlySliding = undefined | "leftThumb" | "rightThumb"
|
|
|
8
7
|
|
|
9
8
|
@Component({
|
|
10
9
|
selector: "cc-range-slider",
|
|
11
|
-
|
|
10
|
+
templateUrl: "./rangeSlider.component.html",
|
|
11
|
+
styleUrls: ["./rangeSlider.component.scss"],
|
|
12
|
+
encapsulation: ViewEncapsulation.None
|
|
12
13
|
})
|
|
13
14
|
export class RangeSliderComponent implements OnChanges {
|
|
14
15
|
@Input() minValue: number
|
|
@@ -116,14 +117,14 @@ export class RangeSliderComponent implements OnChanges {
|
|
|
116
117
|
this.handleValueChange({ newRightValue: updates.upcomingValue })
|
|
117
118
|
}
|
|
118
119
|
|
|
119
|
-
handleCurrentLeftInputChanged($event:
|
|
120
|
+
handleCurrentLeftInputChanged($event: Event) {
|
|
120
121
|
const newLeftValue = parseNumberInput($event, this.minValue, this.currentRightValue)
|
|
121
122
|
if (newLeftValue !== this.currentLeftValue) {
|
|
122
123
|
this.handleValueChange({ newLeftValue })
|
|
123
124
|
}
|
|
124
125
|
}
|
|
125
126
|
|
|
126
|
-
handleCurrentRightInputChanged($event:
|
|
127
|
+
handleCurrentRightInputChanged($event: Event) {
|
|
127
128
|
const newRightValue = parseNumberInput($event, this.currentLeftValue, this.maxValue)
|
|
128
129
|
if (newRightValue !== this.currentRightValue) {
|
|
129
130
|
this.handleValueChange({ newRightValue })
|
|
@@ -19,7 +19,7 @@ describe("RangeSliderLabelsComponent", () => {
|
|
|
19
19
|
sliderWidth: 100,
|
|
20
20
|
sliderRangePosition: { leftEnd: leftValue, rightStart: rightValue }
|
|
21
21
|
}
|
|
22
|
-
const { fixture,
|
|
22
|
+
const { fixture, change } = await render(RangeSliderLabelsComponent, {
|
|
23
23
|
excludeComponentDeclaration: true,
|
|
24
24
|
componentProperties
|
|
25
25
|
})
|
|
@@ -29,7 +29,7 @@ describe("RangeSliderLabelsComponent", () => {
|
|
|
29
29
|
fixture.componentInstance[label].nativeElement.getBoundingClientRect = () => ({ width: 10 })
|
|
30
30
|
}
|
|
31
31
|
fixture.componentInstance.ngAfterViewChecked()
|
|
32
|
-
|
|
32
|
+
change(componentProperties)
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
it("should display labels for min, currentLeft, currentRight and max value", async () => {
|