/*! JointJS v0.9.7 - JavaScript diagramming library 2016-04-20 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/. */ // JointJS library. // (c) 2011-2013 client IO joint.shapes.erd = {}; joint.shapes.erd.Entity = joint.dia.Element.extend({ markup: '', defaults: joint.util.deepSupplement({ type: 'erd.Entity', size: { width: 150, height: 60 }, attrs: { '.outer': { fill: '#2ECC71', stroke: '#27AE60', 'stroke-width': 2, points: '100,0 100,60 0,60 0,0' }, '.inner': { fill: '#2ECC71', stroke: '#27AE60', 'stroke-width': 2, points: '95,5 95,55 5,55 5,5', display: 'none' }, text: { text: 'Entity', 'font-family': 'Arial', 'font-size': 14, ref: '.outer', 'ref-x': .5, 'ref-y': .5, 'x-alignment': 'middle', 'y-alignment': 'middle' } } }, joint.dia.Element.prototype.defaults) }); joint.shapes.erd.WeakEntity = joint.shapes.erd.Entity.extend({ defaults: joint.util.deepSupplement({ type: 'erd.WeakEntity', attrs: { '.inner' : { display: 'auto' }, text: { text: 'Weak Entity' } } }, joint.shapes.erd.Entity.prototype.defaults) }); joint.shapes.erd.Relationship = joint.dia.Element.extend({ markup: '', defaults: joint.util.deepSupplement({ type: 'erd.Relationship', size: { width: 80, height: 80 }, attrs: { '.outer': { fill: '#3498DB', stroke: '#2980B9', 'stroke-width': 2, points: '40,0 80,40 40,80 0,40' }, '.inner': { fill: '#3498DB', stroke: '#2980B9', 'stroke-width': 2, points: '40,5 75,40 40,75 5,40', display: 'none' }, text: { text: 'Relationship', 'font-family': 'Arial', 'font-size': 12, ref: '.', 'ref-x': .5, 'ref-y': .5, 'x-alignment': 'middle', 'y-alignment': 'middle' } } }, joint.dia.Element.prototype.defaults) }); joint.shapes.erd.IdentifyingRelationship = joint.shapes.erd.Relationship.extend({ defaults: joint.util.deepSupplement({ type: 'erd.IdentifyingRelationship', attrs: { '.inner': { display: 'auto' }, text: { text: 'Identifying' } } }, joint.shapes.erd.Relationship.prototype.defaults) }); joint.shapes.erd.Attribute = joint.dia.Element.extend({ markup: '', defaults: joint.util.deepSupplement({ type: 'erd.Attribute', size: { width: 100, height: 50 }, attrs: { 'ellipse': { transform: 'translate(50, 25)' }, '.outer': { stroke: '#D35400', 'stroke-width': 2, cx: 0, cy: 0, rx: 50, ry: 25, fill: '#E67E22' }, '.inner': { stroke: '#D35400', 'stroke-width': 2, cx: 0, cy: 0, rx: 45, ry: 20, fill: '#E67E22', display: 'none' }, text: { 'font-family': 'Arial', 'font-size': 14, ref: '.', 'ref-x': .5, 'ref-y': .5, 'x-alignment': 'middle', 'y-alignment': 'middle' } } }, joint.dia.Element.prototype.defaults) }); joint.shapes.erd.Multivalued = joint.shapes.erd.Attribute.extend({ defaults: joint.util.deepSupplement({ type: 'erd.Multivalued', attrs: { '.inner': { display: 'block' }, text: { text: 'multivalued' } } }, joint.shapes.erd.Attribute.prototype.defaults) }); joint.shapes.erd.Derived = joint.shapes.erd.Attribute.extend({ defaults: joint.util.deepSupplement({ type: 'erd.Derived', attrs: { '.outer': { 'stroke-dasharray': '3,5' }, text: { text: 'derived' } } }, joint.shapes.erd.Attribute.prototype.defaults) }); joint.shapes.erd.Key = joint.shapes.erd.Attribute.extend({ defaults: joint.util.deepSupplement({ type: 'erd.Key', attrs: { ellipse: { 'stroke-width': 4 }, text: { text: 'key', 'font-weight': '800', 'text-decoration': 'underline' } } }, joint.shapes.erd.Attribute.prototype.defaults) }); joint.shapes.erd.Normal = joint.shapes.erd.Attribute.extend({ defaults: joint.util.deepSupplement({ type: 'erd.Normal', attrs: { text: { text: 'Normal' }} }, joint.shapes.erd.Attribute.prototype.defaults) }); joint.shapes.erd.ISA = joint.dia.Element.extend({ markup: '', defaults: joint.util.deepSupplement({ type: 'erd.ISA', size: { width: 100, height: 50 }, attrs: { polygon: { points: '0,0 50,50 100,0', fill: '#F1C40F', stroke: '#F39C12', 'stroke-width': 2 }, text: { text: 'ISA', 'font-size': 18, ref: 'polygon', 'ref-x': .5, 'ref-y': .3, 'x-alignment': 'middle', 'y-alignment': 'middle' } } }, joint.dia.Element.prototype.defaults) }); joint.shapes.erd.Line = joint.dia.Link.extend({ defaults: { type: 'erd.Line' }, cardinality: function(value) { this.set('labels', [{ position: -20, attrs: { text: { dy: -8, text: value }}}]); } });