rt-sim-training-client/src/jmap/shape/factory.js

23 lines
582 B
JavaScript
Raw Normal View History

2019-07-03 14:29:09 +08:00
import deviceType from '../config/deviceType';
import Link from './Link';
import Section from './section';
2019-07-15 10:06:07 +08:00
import Signal from './Signal';
2019-07-15 14:01:57 +08:00
import Switch from './Switch';
2019-07-03 14:29:09 +08:00
2019-07-03 18:41:00 +08:00
/** 图库*/
2019-07-03 14:29:09 +08:00
const mapShape = {};
mapShape[deviceType.Link] = Link;
mapShape[deviceType.Section] = Section;
2019-07-15 10:06:07 +08:00
mapShape[deviceType.Signal] = Signal;
2019-07-15 14:01:57 +08:00
mapShape[deviceType.Switch] = Switch;
2019-07-03 14:29:09 +08:00
2019-07-15 14:01:57 +08:00
function shapefactory(type, device, jmap) {
const style = jmap.getStyleDict();
2019-07-04 10:59:40 +08:00
const shape = mapShape[type];
if (shape instanceof Function) {
2019-07-15 14:01:57 +08:00
return new shape(device, style[type], jmap);
2019-07-04 10:59:40 +08:00
}
2019-07-03 14:29:09 +08:00
}
2019-07-11 17:58:58 +08:00
export default shapefactory;