Sidebar-Sink.js 8.3 KB

(function () {
	// Adds Atlassian shapes
	// sink label
	Sidebar.prototype.addSinkPalette = function () {
		const { COMPONENT_TYPE } = this.enumCellBasicAttribute
		const { DEFAULT } = this.enumComponentType
		const gn = 'mxgraph.sink';
		const dt = 'sink';
		const label = '水槽'
		const width = 66;
		const height = 74;
		const staticPath = `${Proxy_Prefix}/img/lib/thingskit/`
		const prefix = 'image;image=img/lib/thingskit/'
		const defaultStyle = ';imageAspect=0;'
		this.setCurrentSearchEntryLibrary(dt);

		// 自定义属性
		const cellAttribute = {
			[ COMPONENT_TYPE ]: DEFAULT
		}

		const graphPathLib = [
			{ name: '5加仑桶.svg', path: 'sink/5加仑桶.svg' },
			{ name: '不锈钢柱形储罐.svg', path: 'sink/不锈钢柱形储罐.svg' },
			{ name: '乙醇存储.svg', path: 'sink/乙醇存储.svg' },
			{ name: '产品.svg', path: 'sink/产品.svg' },
			{ name: '仓式泵.svg', path: 'sink/仓式泵.svg' },
			{ name: '保温罐.svg', path: 'sink/保温罐.svg' },
			{ name: '储气罐.svg', path: 'sink/储气罐.svg' },
			{ name: '储罐 1.svg', path: 'sink/储罐 1.svg' },
			{ name: '储罐 10.svg', path: 'sink/储罐 10.svg' },
			{ name: '储罐 11.svg', path: 'sink/储罐 11.svg' },
			{ name: '储罐 12.svg', path: 'sink/储罐 12.svg' },
			{ name: '储罐 13.svg', path: 'sink/储罐 13.svg' },
			{ name: '储罐 14.svg', path: 'sink/储罐 14.svg' },
			{ name: '储罐 15.svg', path: 'sink/储罐 15.svg' },
			{ name: '储罐 16.svg', path: 'sink/储罐 16.svg' },
			{ name: '储罐 2.svg', path: 'sink/储罐 2.svg' },
			{ name: '储罐 3.svg', path: 'sink/储罐 3.svg' },
			{ name: '储罐 4.svg', path: 'sink/储罐 4.svg' },
			{ name: '储罐 5.svg', path: 'sink/储罐 5.svg' },
			{ name: '储罐 6.svg', path: 'sink/储罐 6.svg' },
			{ name: '储罐 7.svg', path: 'sink/储罐 7.svg' },
			{ name: '储罐 8.svg', path: 'sink/储罐 8.svg' },
			{ name: '储罐 9.svg', path: 'sink/储罐 9.svg' },
			{ name: '储罐.svg', path: 'sink/储罐.svg' },
			{ name: '储罐支架 1.svg', path: 'sink/储罐支架 1.svg' },
			{ name: '储罐支架 2.svg', path: 'sink/储罐支架 2.svg' },
			{ name: '储罐群.svg', path: 'sink/储罐群.svg' },
			{ name: '光滑筒仓.svg', path: 'sink/光滑筒仓.svg' },
			{ name: '剖面储罐.svg', path: 'sink/剖面储罐.svg' },
			{ name: '十分光滑的储蓄罐.svg', path: 'sink/十分光滑的储蓄罐.svg' },
			{ name: '压力容器.svg', path: 'sink/压力容器.svg' },
			{ name: '原水箱.svg', path: 'sink/原水箱.svg' },
			{ name: '反应器 1.svg', path: 'sink/反应器 1.svg' },
			{ name: '反应器 2.svg', path: 'sink/反应器 2.svg' },
			{ name: '反应器 3.svg', path: 'sink/反应器 3.svg' },
			{ name: '反应器 4.svg', path: 'sink/反应器 4.svg' },
			{ name: '反应器 tank.svg', path: 'sink/反应器 tank.svg' },
			{ name: '同质化储罐.svg', path: 'sink/同质化储罐.svg' },
			{ name: '地下储罐.svg', path: 'sink/地下储罐.svg' },
			{ name: '大型锥底聚乙烯储罐.svg', path: 'sink/大型锥底聚乙烯储罐.svg' },
			{ name: '存储设备 1.svg', path: 'sink/存储设备 1.svg' },
			{ name: '存储设备 2.svg', path: 'sink/存储设备 2.svg' },
			{ name: '存储设备 3.svg', path: 'sink/存储设备 3.svg' },
			{ name: '存储设备 4.svg', path: 'sink/存储设备 4.svg' },
			{ name: '家用热水储罐.svg', path: 'sink/家用热水储罐.svg' },
			{ name: '容器.svg', path: 'sink/容器.svg' },
			{ name: '带搅拌器的反应器.svg', path: 'sink/带搅拌器的反应器.svg' },
			{ name: '带搅拌机的加强型储罐.svg', path: 'sink/带搅拌机的加强型储罐.svg' },
			{ name: '带梯子的储罐.svg', path: 'sink/带梯子的储罐.svg' },
			{ name: '带混合器的聚乙烯储罐.svg', path: 'sink/带混合器的聚乙烯储罐.svg' },
			{ name: '带舱口和梯子的反应器.svg', path: 'sink/带舱口和梯子的反应器.svg' },
			{ name: '带铆钉和梯子的储罐.svg', path: 'sink/带铆钉和梯子的储罐.svg' },
			{ name: '带铆钉的储罐.svg', path: 'sink/带铆钉的储罐.svg' },
			{ name: '扁容器 1.svg', path: 'sink/扁容器 1.svg' },
			{ name: '扁容器 2.svg', path: 'sink/扁容器 2.svg' },
			{ name: '扁容器 3.svg', path: 'sink/扁容器 3.svg' },
			{ name: '扁容器 4.svg', path: 'sink/扁容器 4.svg' },
			{ name: '扁容器 5.svg', path: 'sink/扁容器 5.svg' },
			{ name: '扁容器 6.svg', path: 'sink/扁容器 6.svg' },
			{ name: '扁容器 7.svg', path: 'sink/扁容器 7.svg' },
			{ name: '搅拌罐.svg', path: 'sink/搅拌罐.svg' },
			{ name: '料斗.svg', path: 'sink/料斗.svg' },
			{ name: '日量熔槽.svg', path: 'sink/日量熔槽.svg' },
			{ name: '暂存罐.svg', path: 'sink/暂存罐.svg' },
			{ name: '有双支撑脚的的储罐.svg', path: 'sink/有双支撑脚的的储罐.svg' },
			{ name: '有支脚的圆形反应堆.svg', path: 'sink/有支脚的圆形反应堆.svg' },
			{ name: '有植物的池塘.svg', path: 'sink/有植物的池塘.svg' },
			{ name: '有直梯的筒仓.svg', path: 'sink/有直梯的筒仓.svg' },
			{ name: '有舱口的储蓄.svg', path: 'sink/有舱口的储蓄.svg' },
			{ name: '有螺旋梯的筒仓.svg', path: 'sink/有螺旋梯的筒仓.svg' },
			{ name: '有铆钉的球形储罐.svg', path: 'sink/有铆钉的球形储罐.svg' },
			{ name: '桶.svg', path: 'sink/桶.svg' },
			{ name: '椭圆散装储罐.svg', path: 'sink/椭圆散装储罐.svg' },
			{ name: '模制聚乙烯罐.svg', path: 'sink/模制聚乙烯罐.svg' },
			{ name: '气缸.svg', path: 'sink/气缸.svg' },
			{ name: '池塘.svg', path: 'sink/池塘.svg' },
			{ name: '消化反应池.svg', path: 'sink/消化反应池.svg' },
			{ name: '液体存储鼓.svg', path: 'sink/液体存储鼓.svg' },
			{ name: '液压气动罐.svg', path: 'sink/液压气动罐.svg' },
			{ name: '热交换器.svg', path: 'sink/热交换器.svg' },
			{ name: '独立式储罐.svg', path: 'sink/独立式储罐.svg' },
			{ name: '玻璃条纹式储罐.svg', path: 'sink/玻璃条纹式储罐.svg' },
			{ name: '球形储罐.svg', path: 'sink/球形储罐.svg' },
			{ name: '生活热水箱.svg', path: 'sink/生活热水箱.svg' },
			{ name: '稳定罐.svg', path: 'sink/稳定罐.svg' },
			{ name: '简单储罐 1.svg', path: 'sink/简单储罐 1.svg' },
			{ name: '简单储罐 2.svg', path: 'sink/简单储罐 2.svg' },
			{ name: '简单储罐 3.svg', path: 'sink/简单储罐 3.svg' },
			{ name: '简单储罐 4.svg', path: 'sink/简单储罐 4.svg' },
			{ name: '简单储罐 5.svg', path: 'sink/简单储罐 5.svg' },
			{ name: '简单储罐系统.svg', path: 'sink/简单储罐系统.svg' },
			{ name: '简单反应器.svg', path: 'sink/简单反应器.svg' },
			{ name: '简单处理罐.svg', path: 'sink/简单处理罐.svg' },
			{ name: '粉末储罐.svg', path: 'sink/粉末储罐.svg' },
			{ name: '绿色容器.svg', path: 'sink/绿色容器.svg' },
			{ name: '绿色油缸.svg', path: 'sink/绿色油缸.svg' },
			{ name: '耐腐蚀槽.svg', path: 'sink/耐腐蚀槽.svg' },
			{ name: '聚乙烯储罐.svg', path: 'sink/聚乙烯储罐.svg' },
			{ name: '聚乙烯储罐2.svg', path: 'sink/聚乙烯储罐2.svg' },
			{ name: '聚乙烯化学混合槽.svg', path: 'sink/聚乙烯化学混合槽.svg' },
			{ name: '聚乙烯混合和填充槽.svg', path: 'sink/聚乙烯混合和填充槽.svg' },
			{ name: '舱口.svg', path: 'sink/舱口.svg' },
			{ name: '螺栓 1.svg', path: 'sink/螺栓 1.svg' },
			{ name: '螺栓 2.svg', path: 'sink/螺栓 2.svg' },
			{ name: '配量池.svg', path: 'sink/配量池.svg' },
			{ name: '酿造锅.svg', path: 'sink/酿造锅.svg' },
			{ name: '鼓式槽.svg', path: 'sink/鼓式槽.svg' },
		]

		const lib = graphPathLib.map(item => {
			item.staticPath = staticPath + item.path
			return item
		})

		const fns = graphPathLib.map(item => {
			return this.addEntry(this.getTagsForStencil(gn, item.name, dt).join(' '), mxUtils.bind(this, function () {
				const cell = new mxCell('', new mxGeometry(0, 0, width, height), `${ prefix }${ item.path }${ defaultStyle }`);
				cell.setVertex(true)
				this.setCellAttributes(cell, cellAttribute)
				return this.createVertexTemplateFromCells([ cell ], cell.geometry.width, cell.geometry.height, item.name);
			}));
		})

		this.setVariableImageLib(dt, label, lib)

		this.addPaletteFunctions(dt, label, false, fns);

		this.setCurrentSearchEntryLibrary();
	};
})();