Sidebar-Basic-Components.js 3.52 KB
(function () {
    // Adds Atlassian shapes
    // 基础元件
    Sidebar.prototype.addBasicComponentsPalette = function () {
        this.setCurrentSearchEntryLibrary('component');
        var currentDate = getCurrentDate();
        var fns = [
            this.createVertexTemplateEntry('text;strokeColor=none;fillColor=none;html=1;fontSize=24;fontStyle=1;verticalAlign=middle;align=center;', 100, 40, 'Title', 'Title', null, null, 'text heading title'),
            this.createVertexTemplateEntry('text;strokeColor=none;fillColor=none;html=1;fontSize=24;fontStyle=1;verticalAlign=middle;align=center;', 100, 40, '变量', '变量', null, null, '变量'),
            this.createEdgeTemplateEntry('shape=filledEdge;rounded=1;fixDash=1;endArrow=none;strokeWidth=10;fillColor=#BAFDFF;edgeStyle=orthogonalEdgeStyle;flowAnimation=1;strokeColor=#6666FF;endFill=1;metaEdit=0;backgroundOutline=0;', 60, 40, '', '线条'),
            this.addEntry('real time', mxUtils.bind(this, function () {
                const template = `<div class="thingKit-component__real-time"><div class="real-time__date">%currentDate%</div> <div style="font-size:30px" class="real-time__now">%date{HH:MM:ss}%</div></div>`
                const cell = new mxCell(template, new mxGeometry(0, 0, 180, 60), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;');
                cell.vertex = true;
                this.graph.setAttributeForCell(cell, 'placeholders', '1');
                this.graph.setAttributeForCell(cell, 'currentDate', currentDate);
                return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, '实时时间');
            })),
            this.addEntry(this.getTagsForStencil('mxgraph.basic', '变量图片', 'basic').join(' '), mxUtils.bind(this, function () {
                const cell = new mxCell('', new mxGeometry(0, 0, 194, 95), 'image;image=images/thingskit/img-placeholder.png;imageAspect=0;');
                cell.setVertex(true)
                this.setCellAttributes(cell, { componentType: 'variableImage' })
                return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, '变量图片');
            }))
            // this.addEntry('variableImage', mxUtils.bind(this, function () {
            //     const imagePlaceholder = '/thingskit-drawio/images/thingskit/img-placeholder.png';
            //     const template = `<div><img src="${imagePlaceholder}" alt=""></div>`;
            //     const cell = new mxCell(template, new mxGeometry(0, 0, 194, 195), 'text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;');
            //     cell.vertex = true;
            //     this.graph.setAttributeForCell(cell, 'componentType', 'variableImage');
            //     return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, '变量图片');
            // }))
        ];

        this.addPaletteFunctions('component', '基础元件', true, fns);
        this.setCurrentSearchEntryLibrary();
    };

    //封装日期函数
    function getCurrentDate() {
        var date = new Date(); //创建日期对象
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var dates = date.getDate();
        arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六',]
        var day = date.getDay();
        return year + '年' + month + '月' + dates + '日 ' + arr[day];
    }
})();