| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- /*! JointJS v0.9.0 - JavaScript diagramming library 2014-05-13
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
- if (typeof exports === 'object') {
- var joint = {
- util: require('../src/core').util,
- shapes: {
- basic: require('./joint.shapes.basic')
- },
- dia: {
- ElementView: require('../src/joint.dia.element').ElementView,
- Link: require('../src/joint.dia.link').Link
- }
- };
- var _ = require('lodash');
- }
- joint.shapes.devs = {};
- joint.shapes.devs.Model = joint.shapes.basic.Generic.extend(_.extend({}, joint.shapes.basic.PortsModelInterface, {
- markup: '<g class="rotatable"><g class="scalable"><rect/></g><text class="label"/><g class="inPorts"/><g class="outPorts"/></g>',
- portMarkup: '<g class="port<%= id %>"><circle/><text/></g>',
- defaults: joint.util.deepSupplement({
- type: 'devs.Model',
- size: { width: 1, height: 1 },
-
- inPorts: [],
- outPorts: [],
- attrs: {
- '.': { magnet: false },
- rect: {
- width: 150, height: 250,
- stroke: 'black'
- },
- circle: {
- r: 10,
- magnet: true,
- stroke: 'black'
- },
- text: {
- fill: 'black',
- 'pointer-events': 'none'
- },
- '.label': { text: 'Model', 'ref-x': .3, 'ref-y': .2 },
- '.inPorts text': { x:-15, dy: 4, 'text-anchor': 'end' },
- '.outPorts text':{ x: 15, dy: 4 }
- }
- }, joint.shapes.basic.Generic.prototype.defaults),
- getPortAttrs: function(portName, index, total, selector, type) {
- var attrs = {};
-
- var portClass = 'port' + index;
- var portSelector = selector + '>.' + portClass;
- var portTextSelector = portSelector + '>text';
- var portCircleSelector = portSelector + '>circle';
- attrs[portTextSelector] = { text: portName };
- attrs[portCircleSelector] = { port: { id: portName || _.uniqueId(type) , type: type } };
- attrs[portSelector] = { ref: 'rect', 'ref-y': (index + 0.5) * (1 / total) };
-
- if (selector === '.outPorts') { attrs[portSelector]['ref-dx'] = 0; }
- return attrs;
- }
- }));
- joint.shapes.devs.Atomic = joint.shapes.devs.Model.extend({
- defaults: joint.util.deepSupplement({
- type: 'devs.Atomic',
- size: { width: 80, height: 80 },
- attrs: {
- rect: { fill: 'salmon' },
- '.label': { text: 'Atomic' },
- '.inPorts circle': { fill: 'PaleGreen' },
- '.outPorts circle': { fill: 'Tomato' }
- }
- }, joint.shapes.devs.Model.prototype.defaults)
- });
- joint.shapes.devs.Coupled = joint.shapes.devs.Model.extend({
- defaults: joint.util.deepSupplement({
- type: 'devs.Coupled',
- size: { width: 200, height: 300 },
- attrs: {
- rect: { fill: 'seaGreen' },
- '.label': { text: 'Coupled' },
- '.inPorts circle': { fill: 'PaleGreen' },
- '.outPorts circle': { fill: 'Tomato' }
- }
- }, joint.shapes.devs.Model.prototype.defaults)
- });
- joint.shapes.devs.Link = joint.dia.Link.extend({
- defaults: {
- type: 'devs.Link',
- attrs: { '.connection' : { 'stroke-width' : 2 }}
- }
- });
- joint.shapes.devs.ModelView = joint.dia.ElementView.extend(joint.shapes.basic.PortsViewInterface);
- joint.shapes.devs.AtomicView = joint.shapes.devs.ModelView;
- joint.shapes.devs.CoupledView = joint.shapes.devs.ModelView;
- if (typeof exports === 'object') {
- module.exports = joint.shapes.devs;
- }
|