SymbolPaletteModel

23 Sep 20254 minutes to read

Interface for a class SymbolPalette

Properties

paletteExpanding EmitType<IPaletteExpandArgs>

Triggers when the icon is expanded

paletteSelectionChange EmitType<IPaletteSelectionChangeArgs>

Triggers after the selection changes in the symbol palette

accessKey string

Configures the key, when it pressed the symbol palette will be focused

allowDrag boolean

Defines whether the symbols can be dragged from palette or not

connectorDefaults ConnectorModel

Helps to return the default properties of connectors

enableAnimation boolean

Enables/Disables animation when the palette header is expanded/collapsed

enablePersistence boolean

Enable or disable persisting component’s state between page reloads.

enableRtl boolean

Enable or disable rendering component in right to left direction.

enableSearch boolean

Enables/Disables search option in symbol palette

expandMode ExpandMode

Defines how many palettes can be at expanded mode at a time

filterSymbols Function|string

Defines the symbols to be added in search palette

getConnectorDefaults Function|string

Helps to return the default properties of connector

getNodeDefaults Function|string

Helps to return the default properties of node

getSymbolInfo Function|string

<div id="symbolpalette"></div>
let palette: SymbolPalette = new SymbolPalette({
  expandMode: 'Multiple',
  palettes: [
      { id: 'flow', expanded: false, symbols: getFlowShapes(), title: 'Flow Shapes' },
  ],
  width: '100%', height: '100%', symbolHeight: 50, symbolWidth: 50,
  symbolPreview: { height: 100, width: 100 },
  enableSearch: true,
  getNodeDefaults: setPaletteNodeDefaults,
  symbolMargin: { left: 12, right: 12, top: 12, bottom: 12 },
  getSymbolInfo: (symbol: NodeModel): SymbolInfo => {
      return { fit: true };
  }
});
palette.appendTo('#symbolpalette');
export function getFlowShapes(): NodeModel[] {
  let flowShapes: NodeModel[] = [
      { id: 'Terminator', shape: { type: 'Flow', shape: 'Terminator' }, style: { strokeWidth: 2 } },
      { id: 'Process', shape: { type: 'Flow', shape: 'Process' }, style: { strokeWidth: 2 } },
      { id: 'Decision', shape: { type: 'Flow', shape: 'Decision' }, style: { strokeWidth: 2 } }
  ];
  return flowShapes;
}
function setPaletteNodeDefaults(node: NodeModel): void {
if (node.id === 'Terminator' || node.id === 'Process') {
  node.width = 130;
  node.height = 65;
} else {
  node.width = 50;
  node.height = 50;
}
node.style.strokeColor = '#3A3A3A';
}

getSymbolTemplate Function|string

Defines the content of a symbol

height string|number

Defines the height of the symbol palette

ignoreSymbolsOnSearch string[]

Defines the symbols to be added in search palette

locale string

Overrides the global culture and localization value for this component. Default global culture is ‘en-US’.

nodeDefaults NodeModel

Helps to return the default properties of node

nodeTemplate string|Function

Helps to Customizes the node template

palettes PaletteModel[]

Defines the collection of symbol groups

symbolDragSize SymbolDragSizeModel

Defines the size of a drop symbol

symbolHeight number

Defines the height of the symbol

symbolInfo SymbolInfo

Defines the size, appearance and description of a symbol

symbolMargin MarginModel

Defines the space to be left around a symbol

symbolPreview SymbolPreviewModel

Defines the size and position of the symbol preview

symbolWidth number

Defines the width of the symbol

width string|number

Defines the width of the symbol palette