Merged PR 330: Add DimensionStyle + Refactor dimensionLayer + Add width and dashArray to style
Add DimensionStyle + Refactor dimensionLayer + Add width and dashArray to style Related work items: #7977
This commit is contained in:
parent
c6c4bd1e32
commit
338a2c157c
14 changed files with 475 additions and 324 deletions
|
@ -1,13 +1,14 @@
|
|||
import { PositionReference } from '../Enums/PositionReference';
|
||||
import { IAvailableContainer } from '../Interfaces/IAvailableContainer';
|
||||
import { IAvailableSymbol } from '../Interfaces/IAvailableSymbol';
|
||||
import { IConfiguration } from '../Interfaces/IConfiguration';
|
||||
import { ContainerModel, IContainerModel } from '../Interfaces/IContainerModel';
|
||||
import { IContainerProperties } from '../Interfaces/IContainerProperties';
|
||||
import { IEditorState } from '../Interfaces/IEditorState';
|
||||
import { ISymbolModel } from '../Interfaces/ISymbolModel';
|
||||
import { type IAvailableContainer } from '../Interfaces/IAvailableContainer';
|
||||
import { type IAvailableSymbol } from '../Interfaces/IAvailableSymbol';
|
||||
import { type IConfiguration } from '../Interfaces/IConfiguration';
|
||||
import { ContainerModel, type IContainerModel } from '../Interfaces/IContainerModel';
|
||||
import { type IContainerProperties } from '../Interfaces/IContainerProperties';
|
||||
import { type IEditorState } from '../Interfaces/IEditorState';
|
||||
import { type ISymbolModel } from '../Interfaces/ISymbolModel';
|
||||
import { Orientation } from '../Enums/Orientation';
|
||||
import { AppState } from '../Enums/AppState';
|
||||
import { type IDimensionOptions } from '../Interfaces/IDimensionOptions';
|
||||
|
||||
/// EDITOR DEFAULTS ///
|
||||
|
||||
|
@ -187,6 +188,16 @@ const DEFAULT_CONTAINER_STYLE = {
|
|||
strokeWidth: 2
|
||||
};
|
||||
|
||||
const DEFAULT_DIMENSION_STYLE = {
|
||||
color: '#000000',
|
||||
width: 2
|
||||
};
|
||||
|
||||
const DEFAULT_DIMENSION_OPTION: IDimensionOptions = {
|
||||
positions: [],
|
||||
style: DEFAULT_DIMENSION_STYLE
|
||||
};
|
||||
|
||||
/**
|
||||
* Default Main container properties
|
||||
*/
|
||||
|
@ -211,23 +222,11 @@ export const DEFAULT_MAINCONTAINER_PROPS: IContainerProperties = {
|
|||
positionReference: PositionReference.TopLeft,
|
||||
hideChildrenInTreeview: false,
|
||||
dimensionOptions: {
|
||||
childrenDimensions: {
|
||||
color: '#000000',
|
||||
positions: []
|
||||
},
|
||||
selfDimensions: {
|
||||
color: '#000000',
|
||||
positions: []
|
||||
},
|
||||
selfMarginsDimensions: {
|
||||
color: '#000000',
|
||||
positions: []
|
||||
},
|
||||
childrenDimensions: clone(DEFAULT_DIMENSION_OPTION),
|
||||
selfDimensions: clone(DEFAULT_DIMENSION_OPTION),
|
||||
selfMarginsDimensions: clone(DEFAULT_DIMENSION_OPTION),
|
||||
markPosition: [],
|
||||
dimensionWithMarks: {
|
||||
color: '#000000',
|
||||
positions: []
|
||||
}
|
||||
dimensionWithMarks: clone(DEFAULT_DIMENSION_OPTION)
|
||||
},
|
||||
warning: '',
|
||||
style: DEFAULT_CONTAINER_STYLE
|
||||
|
@ -276,21 +275,21 @@ export function GetDefaultContainerProps(type: string,
|
|||
hideChildrenInTreeview: containerConfig.HideChildrenInTreeview ?? false,
|
||||
dimensionOptions: {
|
||||
childrenDimensions: {
|
||||
color: containerConfig.DimensionOptions?.childrenDimensions.color ?? '#000000',
|
||||
positions: containerConfig.DimensionOptions?.childrenDimensions.positions ?? []
|
||||
positions: containerConfig.DimensionOptions?.childrenDimensions.positions ?? [],
|
||||
style: containerConfig.DimensionOptions?.dimensionWithMarks.style ?? clone(DEFAULT_DIMENSION_STYLE)
|
||||
},
|
||||
selfDimensions: {
|
||||
color: containerConfig.DimensionOptions?.selfDimensions.color ?? '#000000',
|
||||
positions: containerConfig.DimensionOptions?.selfDimensions.positions ?? []
|
||||
positions: containerConfig.DimensionOptions?.selfDimensions.positions ?? [],
|
||||
style: containerConfig.DimensionOptions?.dimensionWithMarks.style ?? clone(DEFAULT_DIMENSION_STYLE)
|
||||
},
|
||||
selfMarginsDimensions: {
|
||||
color: containerConfig.DimensionOptions?.selfMarginsDimensions.color ?? '#000000',
|
||||
positions: containerConfig.DimensionOptions?.selfMarginsDimensions.positions ?? []
|
||||
positions: containerConfig.DimensionOptions?.selfMarginsDimensions.positions ?? [],
|
||||
style: containerConfig.DimensionOptions?.dimensionWithMarks.style ?? clone(DEFAULT_DIMENSION_STYLE)
|
||||
},
|
||||
markPosition: containerConfig.DimensionOptions?.markPosition ?? [],
|
||||
dimensionWithMarks: {
|
||||
color: containerConfig.DimensionOptions?.dimensionWithMarks.color ?? '#000000',
|
||||
positions: containerConfig.DimensionOptions?.dimensionWithMarks.positions ?? []
|
||||
positions: containerConfig.DimensionOptions?.dimensionWithMarks.positions ?? [],
|
||||
style: containerConfig.DimensionOptions?.dimensionWithMarks.style ?? clone(DEFAULT_DIMENSION_STYLE)
|
||||
}
|
||||
},
|
||||
warning: '',
|
||||
|
@ -317,3 +316,10 @@ export function GetDefaultSymbolModel(name: string,
|
|||
showDimension: false
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Macro function for JSON.parse(JSON.stringify(obj))
|
||||
*/
|
||||
function clone<T>(object: T): T {
|
||||
return JSON.parse(JSON.stringify(object));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue