/** * @author Martin Karkowski * @email m.karkowski@zema.de * @create date 2019-05-06 08:28:53 * @modify date 2020-10-29 19:18:14 * @desc [description] */ import { ISelection } from '../../layout/interfaces/ISelection'; import { IBasicTemplate } from '../interfaces/IBasicTemplate'; /** * Function to Generate the Default Configuration of the Selection Sidebar. * In this Object default Shapes for a Product, Process and Equipment are * provided. */ export function generateDefaultSelection(): ISelection> { const ret: ISelection> = [ { groupName: 'Graph Elements', items: [ { keywords: 'swimlane,horizontal', label: 'Horizontal Swimlane', template: { type: 'element', nodes: [ { id: '', font: { background: 'white' }, label: 'label', shape: 'swimlane-horizontal' } ], edges: [] } }, { keywords: 'swimlane,vertical', label: 'Vertical Swimlane', template: { type: 'element', nodes: [ { id: '', font: { background: 'white' }, label: 'label', shape: 'swimlane-vertical' } ], edges: [] } }, { keywords: 'rectangle', label: 'Rectangle', template: { type: 'element', nodes: [ { id: '', dropable: true, label: 'label', shape: 'box' } ], edges: [] } }, { keywords: 'circle', label: 'Circle', template: { type: 'element', nodes: [ { id: '', dropable: true, label: 'label', shape: 'circle' } ], edges: [] } }, { keywords: 'ellipse', label: 'Ellipse', template: { type: 'element', nodes: [ { id: '', label: 'label', shape: 'ellipse' } ], edges: [] } }, { keywords: 'hexagon', label: 'Hexagon', template: { type: 'element', nodes: [ { id: '', label: 'label', shape: 'hexagon' } ], edges: [] } }, { keywords: 'triangle', label: 'Triangle', template: { type: 'element', nodes: [ { id: '', label: 'label', shape: 'triangle' } ], edges: [] } }, { keywords: 'triangle-down', label: 'Triangle-Down', template: { type: 'element', nodes: [ { id: '', label: 'label', shape: 'triangleDown' } ], edges: [] } }, { keywords: 'square', label: 'Square', template: { type: 'element', nodes: [ { id: '', label: 'label', shape: 'square' } ], edges: [] } }, { keywords: 'diamond', label: 'Diamond', template: { type: 'element', nodes: [ { id: '', label: 'label', shape: 'diamond' } ], edges: [] } }, { keywords: 'star', label: 'Star', template: { type: 'element', nodes: [ { id: '', label: 'label', shape: 'star' } ], edges: [] } }, { keywords:'database', label: 'Database', template: { type: 'element', nodes: [ { id: '', label: 'label', shape: 'database' } ], edges: [] } } ] }, { groupName: 'Products', items: [ { keywords: 'generic,roduct', label: 'Sample Product', template: { type: 'element', nodes: [ { id: 'parent', label: 'label', shape: 'product', receiveDropableElements: true, editorComponentSelector: 'parent', dropable: true, segment: { description: { label: 'Description', // Defined Background-Color hidden: false, // Defined Height height: 50 } } }, { id: 'resizer', shape: 'dot', color: 'black', size: 5, isResizer: true, resizingSegment: 'container', parent: 'parent', level: 1, }, ], edges: [] } } ] },{ groupName: 'Process', items: [ { keywords: 'generic,process', label: 'Sample Process', template: { type: 'element', nodes: [ { id: 'parent', label: 'label', shape: 'process', editorComponentSelector: 'parent', receiveDropableElements: true, dropable: true, segment: { description: { label: 'Description', // Defined Background-Color hidden: false, // Defined Height height: 50 } } }, { id: '', shape: 'dot', color: 'black', size: 5, isResizer: true, resizingSegment: 'container', parent: 'parent', level: 1, } ], edges: [] } } ] },{ groupName: 'Equipment', items: [ { keywords: 'generic,equipment', label: 'Sample Equipment', template: { type: 'element', nodes: [ { id: 'parent', label: 'label', shape: 'equipment', editorComponentSelector: 'parent', receiveDropableElements: true, dropable: true, segment: { description: { label: 'Description', // Defined Background-Color hidden: false, // Defined Height height: 50 } } }, { id: '', shape: 'dot', color: 'black', size: 5, isResizer: true, resizingSegment: 'container', parent: 'parent', level: 1, } ], edges: [] } } ] }, { groupName: 'Edges', items: [ { label: 'Normal-Line', keywords: 'edge,dash,dashes', template: { type: 'element', edges: [ { to: 'replaced', from: 'replaced', dashes: false, } ], nodes: [] } }, { label: 'Dashed-Line', keywords: 'edge,dash,dashes', template: { type: 'element', edges: [ { to: 'replaced', from: 'replaced', dashes: true, } ], nodes: [] } } ] } ] return ret; }