camunda-bpmn-js 0.23.1 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/bpmn-js.css +7 -7
- package/dist/assets/diagram-js.css +205 -45
- package/dist/base-modeler.development.js +2698 -3620
- package/dist/base-modeler.production.min.js +149 -4
- package/dist/base-navigated-viewer.development.js +470 -893
- package/dist/base-navigated-viewer.production.min.js +2 -2
- package/dist/base-viewer.development.js +455 -877
- package/dist/base-viewer.production.min.js +2 -2
- package/dist/camunda-cloud-modeler.development.js +4834 -6157
- package/dist/camunda-cloud-modeler.production.min.js +149 -4
- package/dist/camunda-cloud-navigated-viewer.development.js +729 -1392
- package/dist/camunda-cloud-navigated-viewer.production.min.js +2 -2
- package/dist/camunda-cloud-viewer.development.js +855 -1517
- package/dist/camunda-cloud-viewer.production.min.js +2 -2
- package/dist/camunda-platform-modeler.development.js +3645 -5796
- package/dist/camunda-platform-modeler.production.min.js +149 -4
- package/dist/camunda-platform-navigated-viewer.development.js +470 -893
- package/dist/camunda-platform-navigated-viewer.production.min.js +2 -2
- package/dist/camunda-platform-viewer.development.js +455 -877
- package/dist/camunda-platform-viewer.production.min.js +2 -2
- package/lib/camunda-cloud/Modeler.js +3 -1
- package/lib/camunda-cloud/features/replace/ElementTemplatesReplaceProvider.js +249 -0
- package/lib/camunda-cloud/features/replace/ReplaceOptionsUtil.js +7 -0
- package/lib/camunda-cloud/features/replace/index.js +6 -0
- package/package.json +15 -12
|
@@ -682,7 +682,7 @@
|
|
|
682
682
|
}
|
|
683
683
|
}
|
|
684
684
|
|
|
685
|
-
function ensureImported
|
|
685
|
+
function ensureImported(element, target) {
|
|
686
686
|
|
|
687
687
|
if (element.ownerDocument !== target.ownerDocument) {
|
|
688
688
|
try {
|
|
@@ -710,8 +710,8 @@
|
|
|
710
710
|
*
|
|
711
711
|
* @return {SVGElement} the appended node
|
|
712
712
|
*/
|
|
713
|
-
function appendTo
|
|
714
|
-
return target.appendChild(ensureImported
|
|
713
|
+
function appendTo(element, target) {
|
|
714
|
+
return target.appendChild(ensureImported(element, target));
|
|
715
715
|
}
|
|
716
716
|
|
|
717
717
|
/**
|
|
@@ -726,8 +726,8 @@
|
|
|
726
726
|
*
|
|
727
727
|
* @return {SVGElement} the element
|
|
728
728
|
*/
|
|
729
|
-
function append
|
|
730
|
-
appendTo
|
|
729
|
+
function append(target, node) {
|
|
730
|
+
appendTo(node, target);
|
|
731
731
|
return target;
|
|
732
732
|
}
|
|
733
733
|
|
|
@@ -735,9 +735,9 @@
|
|
|
735
735
|
* attribute accessor utility
|
|
736
736
|
*/
|
|
737
737
|
|
|
738
|
-
var LENGTH_ATTR
|
|
738
|
+
var LENGTH_ATTR = 2;
|
|
739
739
|
|
|
740
|
-
var CSS_PROPERTIES
|
|
740
|
+
var CSS_PROPERTIES = {
|
|
741
741
|
'alignment-baseline': 1,
|
|
742
742
|
'baseline-shift': 1,
|
|
743
743
|
'clip': 1,
|
|
@@ -761,7 +761,7 @@
|
|
|
761
761
|
'flood-opacity': 1,
|
|
762
762
|
'font': 1,
|
|
763
763
|
'font-family': 1,
|
|
764
|
-
'font-size': LENGTH_ATTR
|
|
764
|
+
'font-size': LENGTH_ATTR,
|
|
765
765
|
'font-size-adjust': 1,
|
|
766
766
|
'font-stretch': 1,
|
|
767
767
|
'font-style': 1,
|
|
@@ -791,7 +791,7 @@
|
|
|
791
791
|
'stroke-linejoin': 1,
|
|
792
792
|
'stroke-miterlimit': 1,
|
|
793
793
|
'stroke-opacity': 1,
|
|
794
|
-
'stroke-width': LENGTH_ATTR
|
|
794
|
+
'stroke-width': LENGTH_ATTR,
|
|
795
795
|
'text-anchor': 1,
|
|
796
796
|
'text-decoration': 1,
|
|
797
797
|
'text-rendering': 1,
|
|
@@ -802,23 +802,23 @@
|
|
|
802
802
|
};
|
|
803
803
|
|
|
804
804
|
|
|
805
|
-
function getAttribute
|
|
806
|
-
if (CSS_PROPERTIES
|
|
805
|
+
function getAttribute(node, name) {
|
|
806
|
+
if (CSS_PROPERTIES[name]) {
|
|
807
807
|
return node.style[name];
|
|
808
808
|
} else {
|
|
809
809
|
return node.getAttributeNS(null, name);
|
|
810
810
|
}
|
|
811
811
|
}
|
|
812
812
|
|
|
813
|
-
function setAttribute
|
|
813
|
+
function setAttribute(node, name, value) {
|
|
814
814
|
var hyphenated = name.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
|
|
815
815
|
|
|
816
|
-
var type = CSS_PROPERTIES
|
|
816
|
+
var type = CSS_PROPERTIES[hyphenated];
|
|
817
817
|
|
|
818
818
|
if (type) {
|
|
819
819
|
|
|
820
820
|
// append pixel unit, unless present
|
|
821
|
-
if (type === LENGTH_ATTR
|
|
821
|
+
if (type === LENGTH_ATTR && typeof value === 'number') {
|
|
822
822
|
value = String(value) + 'px';
|
|
823
823
|
}
|
|
824
824
|
|
|
@@ -828,12 +828,12 @@
|
|
|
828
828
|
}
|
|
829
829
|
}
|
|
830
830
|
|
|
831
|
-
function setAttributes
|
|
831
|
+
function setAttributes(node, attrs) {
|
|
832
832
|
|
|
833
833
|
var names = Object.keys(attrs), i, name;
|
|
834
834
|
|
|
835
835
|
for (i = 0, name; (name = names[i]); i++) {
|
|
836
|
-
setAttribute
|
|
836
|
+
setAttribute(node, name, attrs[name]);
|
|
837
837
|
}
|
|
838
838
|
}
|
|
839
839
|
|
|
@@ -847,15 +847,15 @@
|
|
|
847
847
|
*
|
|
848
848
|
* @return {String}
|
|
849
849
|
*/
|
|
850
|
-
function attr$
|
|
850
|
+
function attr$1(node, name, value) {
|
|
851
851
|
if (typeof name === 'string') {
|
|
852
852
|
if (value !== undefined) {
|
|
853
|
-
setAttribute
|
|
853
|
+
setAttribute(node, name, value);
|
|
854
854
|
} else {
|
|
855
|
-
return getAttribute
|
|
855
|
+
return getAttribute(node, name);
|
|
856
856
|
}
|
|
857
857
|
} else {
|
|
858
|
-
setAttributes
|
|
858
|
+
setAttributes(node, name);
|
|
859
859
|
}
|
|
860
860
|
|
|
861
861
|
return node;
|
|
@@ -871,7 +871,7 @@
|
|
|
871
871
|
* toString reference.
|
|
872
872
|
*/
|
|
873
873
|
|
|
874
|
-
const toString$
|
|
874
|
+
const toString$1 = Object.prototype.toString;
|
|
875
875
|
|
|
876
876
|
/**
|
|
877
877
|
* Wrap `el` in a `ClassList`.
|
|
@@ -881,11 +881,11 @@
|
|
|
881
881
|
* @api public
|
|
882
882
|
*/
|
|
883
883
|
|
|
884
|
-
function classes$
|
|
885
|
-
return new ClassList$
|
|
884
|
+
function classes$1(el) {
|
|
885
|
+
return new ClassList$1(el);
|
|
886
886
|
}
|
|
887
887
|
|
|
888
|
-
function ClassList$
|
|
888
|
+
function ClassList$1(el) {
|
|
889
889
|
if (!el || !el.nodeType) {
|
|
890
890
|
throw new Error('A DOM element reference is required');
|
|
891
891
|
}
|
|
@@ -901,7 +901,7 @@
|
|
|
901
901
|
* @api public
|
|
902
902
|
*/
|
|
903
903
|
|
|
904
|
-
ClassList$
|
|
904
|
+
ClassList$1.prototype.add = function(name) {
|
|
905
905
|
this.list.add(name);
|
|
906
906
|
return this;
|
|
907
907
|
};
|
|
@@ -916,8 +916,8 @@
|
|
|
916
916
|
* @api public
|
|
917
917
|
*/
|
|
918
918
|
|
|
919
|
-
ClassList$
|
|
920
|
-
if ('[object RegExp]' == toString$
|
|
919
|
+
ClassList$1.prototype.remove = function(name) {
|
|
920
|
+
if ('[object RegExp]' == toString$1.call(name)) {
|
|
921
921
|
return this.removeMatching(name);
|
|
922
922
|
}
|
|
923
923
|
|
|
@@ -933,7 +933,7 @@
|
|
|
933
933
|
* @api private
|
|
934
934
|
*/
|
|
935
935
|
|
|
936
|
-
ClassList$
|
|
936
|
+
ClassList$1.prototype.removeMatching = function(re) {
|
|
937
937
|
const arr = this.array();
|
|
938
938
|
for (let i = 0; i < arr.length; i++) {
|
|
939
939
|
if (re.test(arr[i])) {
|
|
@@ -955,7 +955,7 @@
|
|
|
955
955
|
* @api public
|
|
956
956
|
*/
|
|
957
957
|
|
|
958
|
-
ClassList$
|
|
958
|
+
ClassList$1.prototype.toggle = function(name, force) {
|
|
959
959
|
if ('undefined' !== typeof force) {
|
|
960
960
|
if (force !== this.list.toggle(name, force)) {
|
|
961
961
|
this.list.toggle(name); // toggle again to correct
|
|
@@ -973,7 +973,7 @@
|
|
|
973
973
|
* @api public
|
|
974
974
|
*/
|
|
975
975
|
|
|
976
|
-
ClassList$
|
|
976
|
+
ClassList$1.prototype.array = function() {
|
|
977
977
|
return Array.from(this.list);
|
|
978
978
|
};
|
|
979
979
|
|
|
@@ -985,12 +985,12 @@
|
|
|
985
985
|
* @api public
|
|
986
986
|
*/
|
|
987
987
|
|
|
988
|
-
ClassList$
|
|
989
|
-
ClassList$
|
|
988
|
+
ClassList$1.prototype.has =
|
|
989
|
+
ClassList$1.prototype.contains = function(name) {
|
|
990
990
|
return this.list.contains(name);
|
|
991
991
|
};
|
|
992
992
|
|
|
993
|
-
function remove$
|
|
993
|
+
function remove$2(element) {
|
|
994
994
|
var parent = element.parentNode;
|
|
995
995
|
|
|
996
996
|
if (parent) {
|
|
@@ -1010,17 +1010,17 @@
|
|
|
1010
1010
|
* @param {DOMElement} element
|
|
1011
1011
|
* @return {DOMElement} the element (for chaining)
|
|
1012
1012
|
*/
|
|
1013
|
-
function clear$
|
|
1013
|
+
function clear$1(element) {
|
|
1014
1014
|
var child;
|
|
1015
1015
|
|
|
1016
1016
|
while ((child = element.firstChild)) {
|
|
1017
|
-
remove$
|
|
1017
|
+
remove$2(child);
|
|
1018
1018
|
}
|
|
1019
1019
|
|
|
1020
1020
|
return element;
|
|
1021
1021
|
}
|
|
1022
1022
|
|
|
1023
|
-
var ns
|
|
1023
|
+
var ns = {
|
|
1024
1024
|
svg: 'http://www.w3.org/2000/svg'
|
|
1025
1025
|
};
|
|
1026
1026
|
|
|
@@ -1028,25 +1028,25 @@
|
|
|
1028
1028
|
* DOM parsing utility
|
|
1029
1029
|
*/
|
|
1030
1030
|
|
|
1031
|
-
var SVG_START
|
|
1031
|
+
var SVG_START = '<svg xmlns="' + ns.svg + '"';
|
|
1032
1032
|
|
|
1033
|
-
function parse$
|
|
1033
|
+
function parse$1(svg) {
|
|
1034
1034
|
|
|
1035
1035
|
var unwrap = false;
|
|
1036
1036
|
|
|
1037
1037
|
// ensure we import a valid svg document
|
|
1038
1038
|
if (svg.substring(0, 4) === '<svg') {
|
|
1039
|
-
if (svg.indexOf(ns
|
|
1040
|
-
svg = SVG_START
|
|
1039
|
+
if (svg.indexOf(ns.svg) === -1) {
|
|
1040
|
+
svg = SVG_START + svg.substring(4);
|
|
1041
1041
|
}
|
|
1042
1042
|
} else {
|
|
1043
1043
|
|
|
1044
1044
|
// namespace svg
|
|
1045
|
-
svg = SVG_START
|
|
1045
|
+
svg = SVG_START + '>' + svg + '</svg>';
|
|
1046
1046
|
unwrap = true;
|
|
1047
1047
|
}
|
|
1048
1048
|
|
|
1049
|
-
var parsed = parseDocument
|
|
1049
|
+
var parsed = parseDocument(svg);
|
|
1050
1050
|
|
|
1051
1051
|
if (!unwrap) {
|
|
1052
1052
|
return parsed;
|
|
@@ -1063,7 +1063,7 @@
|
|
|
1063
1063
|
return fragment;
|
|
1064
1064
|
}
|
|
1065
1065
|
|
|
1066
|
-
function parseDocument
|
|
1066
|
+
function parseDocument(svg) {
|
|
1067
1067
|
|
|
1068
1068
|
var parser;
|
|
1069
1069
|
|
|
@@ -1087,18 +1087,18 @@
|
|
|
1087
1087
|
*
|
|
1088
1088
|
* @returns {SVGElement}
|
|
1089
1089
|
*/
|
|
1090
|
-
function create$
|
|
1090
|
+
function create$1(name, attrs) {
|
|
1091
1091
|
var element;
|
|
1092
1092
|
|
|
1093
1093
|
if (name.charAt(0) === '<') {
|
|
1094
|
-
element = parse$
|
|
1094
|
+
element = parse$1(name).firstChild;
|
|
1095
1095
|
element = document.importNode(element, true);
|
|
1096
1096
|
} else {
|
|
1097
|
-
element = document.createElementNS(ns
|
|
1097
|
+
element = document.createElementNS(ns.svg, name);
|
|
1098
1098
|
}
|
|
1099
1099
|
|
|
1100
1100
|
if (attrs) {
|
|
1101
|
-
attr$
|
|
1101
|
+
attr$1(element, attrs);
|
|
1102
1102
|
}
|
|
1103
1103
|
|
|
1104
1104
|
return element;
|
|
@@ -1113,7 +1113,7 @@
|
|
|
1113
1113
|
|
|
1114
1114
|
function getNode() {
|
|
1115
1115
|
if (node === null) {
|
|
1116
|
-
node = create$
|
|
1116
|
+
node = create$1('svg');
|
|
1117
1117
|
}
|
|
1118
1118
|
|
|
1119
1119
|
return node;
|
|
@@ -1168,6 +1168,152 @@
|
|
|
1168
1168
|
}
|
|
1169
1169
|
}
|
|
1170
1170
|
|
|
1171
|
+
/**
|
|
1172
|
+
* Serialization util
|
|
1173
|
+
*/
|
|
1174
|
+
|
|
1175
|
+
var TEXT_ENTITIES = /([&<>]{1})/g;
|
|
1176
|
+
var ATTR_ENTITIES = /([\n\r"]{1})/g;
|
|
1177
|
+
|
|
1178
|
+
var ENTITY_REPLACEMENT = {
|
|
1179
|
+
'&': '&',
|
|
1180
|
+
'<': '<',
|
|
1181
|
+
'>': '>',
|
|
1182
|
+
'"': '\''
|
|
1183
|
+
};
|
|
1184
|
+
|
|
1185
|
+
function escape$1(str, pattern) {
|
|
1186
|
+
|
|
1187
|
+
function replaceFn(match, entity) {
|
|
1188
|
+
return ENTITY_REPLACEMENT[entity] || entity;
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
return str.replace(pattern, replaceFn);
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
function serialize(node, output) {
|
|
1195
|
+
|
|
1196
|
+
var i, len, attrMap, attrNode, childNodes;
|
|
1197
|
+
|
|
1198
|
+
switch (node.nodeType) {
|
|
1199
|
+
|
|
1200
|
+
// TEXT
|
|
1201
|
+
case 3:
|
|
1202
|
+
|
|
1203
|
+
// replace special XML characters
|
|
1204
|
+
output.push(escape$1(node.textContent, TEXT_ENTITIES));
|
|
1205
|
+
break;
|
|
1206
|
+
|
|
1207
|
+
// ELEMENT
|
|
1208
|
+
case 1:
|
|
1209
|
+
output.push('<', node.tagName);
|
|
1210
|
+
|
|
1211
|
+
if (node.hasAttributes()) {
|
|
1212
|
+
attrMap = node.attributes;
|
|
1213
|
+
for (i = 0, len = attrMap.length; i < len; ++i) {
|
|
1214
|
+
attrNode = attrMap.item(i);
|
|
1215
|
+
output.push(' ', attrNode.name, '="', escape$1(attrNode.value, ATTR_ENTITIES), '"');
|
|
1216
|
+
}
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
if (node.hasChildNodes()) {
|
|
1220
|
+
output.push('>');
|
|
1221
|
+
childNodes = node.childNodes;
|
|
1222
|
+
for (i = 0, len = childNodes.length; i < len; ++i) {
|
|
1223
|
+
serialize(childNodes.item(i), output);
|
|
1224
|
+
}
|
|
1225
|
+
output.push('</', node.tagName, '>');
|
|
1226
|
+
} else {
|
|
1227
|
+
output.push('/>');
|
|
1228
|
+
}
|
|
1229
|
+
break;
|
|
1230
|
+
|
|
1231
|
+
// COMMENT
|
|
1232
|
+
case 8:
|
|
1233
|
+
output.push('<!--', escape$1(node.nodeValue, TEXT_ENTITIES), '-->');
|
|
1234
|
+
break;
|
|
1235
|
+
|
|
1236
|
+
// CDATA
|
|
1237
|
+
case 4:
|
|
1238
|
+
output.push('<![CDATA[', node.nodeValue, ']]>');
|
|
1239
|
+
break;
|
|
1240
|
+
|
|
1241
|
+
default:
|
|
1242
|
+
throw new Error('unable to handle node ' + node.nodeType);
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
return output;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
/**
|
|
1249
|
+
* innerHTML like functionality for SVG elements.
|
|
1250
|
+
* based on innerSVG (https://code.google.com/p/innersvg)
|
|
1251
|
+
*/
|
|
1252
|
+
|
|
1253
|
+
|
|
1254
|
+
function set$1(element, svg) {
|
|
1255
|
+
|
|
1256
|
+
var parsed = parse$1(svg);
|
|
1257
|
+
|
|
1258
|
+
// clear element contents
|
|
1259
|
+
clear$1(element);
|
|
1260
|
+
|
|
1261
|
+
if (!svg) {
|
|
1262
|
+
return;
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
if (!isFragment(parsed)) {
|
|
1266
|
+
|
|
1267
|
+
// extract <svg> from parsed document
|
|
1268
|
+
parsed = parsed.documentElement;
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
var nodes = slice$1(parsed.childNodes);
|
|
1272
|
+
|
|
1273
|
+
// import + append each node
|
|
1274
|
+
for (var i = 0; i < nodes.length; i++) {
|
|
1275
|
+
appendTo(nodes[i], element);
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
function get(element) {
|
|
1281
|
+
var child = element.firstChild,
|
|
1282
|
+
output = [];
|
|
1283
|
+
|
|
1284
|
+
while (child) {
|
|
1285
|
+
serialize(child, output);
|
|
1286
|
+
child = child.nextSibling;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
return output.join('');
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
function isFragment(node) {
|
|
1293
|
+
return node.nodeName === '#document-fragment';
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
function innerSVG(element, svg) {
|
|
1297
|
+
|
|
1298
|
+
if (svg !== undefined) {
|
|
1299
|
+
|
|
1300
|
+
try {
|
|
1301
|
+
set$1(element, svg);
|
|
1302
|
+
} catch (e) {
|
|
1303
|
+
throw new Error('error parsing SVG: ' + e.message);
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
return element;
|
|
1307
|
+
} else {
|
|
1308
|
+
return get(element);
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
|
|
1313
|
+
function slice$1(arr) {
|
|
1314
|
+
return Array.prototype.slice.call(arr);
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1171
1317
|
/**
|
|
1172
1318
|
* transform accessor utility
|
|
1173
1319
|
*/
|
|
@@ -1230,18 +1376,18 @@
|
|
|
1230
1376
|
|
|
1231
1377
|
function createLine(points, attrs) {
|
|
1232
1378
|
|
|
1233
|
-
var line = create$
|
|
1234
|
-
attr$
|
|
1379
|
+
var line = create$1('polyline');
|
|
1380
|
+
attr$1(line, { points: toSVGPoints(points) });
|
|
1235
1381
|
|
|
1236
1382
|
if (attrs) {
|
|
1237
|
-
attr$
|
|
1383
|
+
attr$1(line, attrs);
|
|
1238
1384
|
}
|
|
1239
1385
|
|
|
1240
1386
|
return line;
|
|
1241
1387
|
}
|
|
1242
1388
|
|
|
1243
1389
|
function updateLine(gfx, points) {
|
|
1244
|
-
attr$
|
|
1390
|
+
attr$1(gfx, { points: toSVGPoints(points) });
|
|
1245
1391
|
|
|
1246
1392
|
return gfx;
|
|
1247
1393
|
}
|
|
@@ -1510,7 +1656,7 @@
|
|
|
1510
1656
|
* @param {String} [val]
|
|
1511
1657
|
* @api public
|
|
1512
1658
|
*/
|
|
1513
|
-
function attr
|
|
1659
|
+
function attr(el, name, val) {
|
|
1514
1660
|
|
|
1515
1661
|
// get
|
|
1516
1662
|
if (arguments.length == 2) {
|
|
@@ -1538,7 +1684,7 @@
|
|
|
1538
1684
|
* toString reference.
|
|
1539
1685
|
*/
|
|
1540
1686
|
|
|
1541
|
-
const toString
|
|
1687
|
+
const toString = Object.prototype.toString;
|
|
1542
1688
|
|
|
1543
1689
|
/**
|
|
1544
1690
|
* Wrap `el` in a `ClassList`.
|
|
@@ -1548,8 +1694,8 @@
|
|
|
1548
1694
|
* @api public
|
|
1549
1695
|
*/
|
|
1550
1696
|
|
|
1551
|
-
function classes
|
|
1552
|
-
return new ClassList
|
|
1697
|
+
function classes(el) {
|
|
1698
|
+
return new ClassList(el);
|
|
1553
1699
|
}
|
|
1554
1700
|
|
|
1555
1701
|
/**
|
|
@@ -1559,7 +1705,7 @@
|
|
|
1559
1705
|
* @api private
|
|
1560
1706
|
*/
|
|
1561
1707
|
|
|
1562
|
-
function ClassList
|
|
1708
|
+
function ClassList(el) {
|
|
1563
1709
|
if (!el || !el.nodeType) {
|
|
1564
1710
|
throw new Error('A DOM element reference is required');
|
|
1565
1711
|
}
|
|
@@ -1575,7 +1721,7 @@
|
|
|
1575
1721
|
* @api public
|
|
1576
1722
|
*/
|
|
1577
1723
|
|
|
1578
|
-
ClassList
|
|
1724
|
+
ClassList.prototype.add = function(name) {
|
|
1579
1725
|
this.list.add(name);
|
|
1580
1726
|
return this;
|
|
1581
1727
|
};
|
|
@@ -1590,8 +1736,8 @@
|
|
|
1590
1736
|
* @api public
|
|
1591
1737
|
*/
|
|
1592
1738
|
|
|
1593
|
-
ClassList
|
|
1594
|
-
if ('[object RegExp]' == toString
|
|
1739
|
+
ClassList.prototype.remove = function(name) {
|
|
1740
|
+
if ('[object RegExp]' == toString.call(name)) {
|
|
1595
1741
|
return this.removeMatching(name);
|
|
1596
1742
|
}
|
|
1597
1743
|
|
|
@@ -1607,7 +1753,7 @@
|
|
|
1607
1753
|
* @api private
|
|
1608
1754
|
*/
|
|
1609
1755
|
|
|
1610
|
-
ClassList
|
|
1756
|
+
ClassList.prototype.removeMatching = function(re) {
|
|
1611
1757
|
const arr = this.array();
|
|
1612
1758
|
for (let i = 0; i < arr.length; i++) {
|
|
1613
1759
|
if (re.test(arr[i])) {
|
|
@@ -1629,7 +1775,7 @@
|
|
|
1629
1775
|
* @api public
|
|
1630
1776
|
*/
|
|
1631
1777
|
|
|
1632
|
-
ClassList
|
|
1778
|
+
ClassList.prototype.toggle = function(name, force) {
|
|
1633
1779
|
if ('undefined' !== typeof force) {
|
|
1634
1780
|
if (force !== this.list.toggle(name, force)) {
|
|
1635
1781
|
this.list.toggle(name); // toggle again to correct
|
|
@@ -1647,7 +1793,7 @@
|
|
|
1647
1793
|
* @api public
|
|
1648
1794
|
*/
|
|
1649
1795
|
|
|
1650
|
-
ClassList
|
|
1796
|
+
ClassList.prototype.array = function() {
|
|
1651
1797
|
return Array.from(this.list);
|
|
1652
1798
|
};
|
|
1653
1799
|
|
|
@@ -1659,15 +1805,15 @@
|
|
|
1659
1805
|
* @api public
|
|
1660
1806
|
*/
|
|
1661
1807
|
|
|
1662
|
-
ClassList
|
|
1663
|
-
ClassList
|
|
1808
|
+
ClassList.prototype.has =
|
|
1809
|
+
ClassList.prototype.contains = function(name) {
|
|
1664
1810
|
return this.list.contains(name);
|
|
1665
1811
|
};
|
|
1666
1812
|
|
|
1667
1813
|
/**
|
|
1668
1814
|
* Remove all children from the given element.
|
|
1669
1815
|
*/
|
|
1670
|
-
function clear
|
|
1816
|
+
function clear(el) {
|
|
1671
1817
|
|
|
1672
1818
|
var c;
|
|
1673
1819
|
|
|
@@ -1762,755 +1908,187 @@
|
|
|
1762
1908
|
*/
|
|
1763
1909
|
|
|
1764
1910
|
/**
|
|
1765
|
-
* Delegate event `type` to `selector`
|
|
1766
|
-
* and invoke `fn(e)`. A callback function
|
|
1767
|
-
* is returned which may be passed to `.unbind()`.
|
|
1768
|
-
*
|
|
1769
|
-
* @param {Element} el
|
|
1770
|
-
* @param {String} selector
|
|
1771
|
-
* @param {String} type
|
|
1772
|
-
* @param {Function} fn
|
|
1773
|
-
* @param {Boolean} capture
|
|
1774
|
-
* @return {Function}
|
|
1775
|
-
* @api public
|
|
1776
|
-
*/
|
|
1777
|
-
|
|
1778
|
-
// Some events don't bubble, so we want to bind to the capture phase instead
|
|
1779
|
-
// when delegating.
|
|
1780
|
-
var forceCaptureEvents = [ 'focus', 'blur' ];
|
|
1781
|
-
|
|
1782
|
-
function bind(el, selector, type, fn, capture) {
|
|
1783
|
-
if (forceCaptureEvents.indexOf(type) !== -1) {
|
|
1784
|
-
capture = true;
|
|
1785
|
-
}
|
|
1786
|
-
|
|
1787
|
-
return event.bind(el, type, function(e) {
|
|
1788
|
-
var target = e.target || e.srcElement;
|
|
1789
|
-
e.delegateTarget = closest(target, selector, true);
|
|
1790
|
-
if (e.delegateTarget) {
|
|
1791
|
-
fn.call(el, e);
|
|
1792
|
-
}
|
|
1793
|
-
}, capture);
|
|
1794
|
-
}
|
|
1795
|
-
|
|
1796
|
-
/**
|
|
1797
|
-
* Unbind event `type`'s callback `fn`.
|
|
1798
|
-
*
|
|
1799
|
-
* @param {Element} el
|
|
1800
|
-
* @param {String} type
|
|
1801
|
-
* @param {Function} fn
|
|
1802
|
-
* @param {Boolean} capture
|
|
1803
|
-
* @api public
|
|
1804
|
-
*/
|
|
1805
|
-
function unbind(el, type, fn, capture) {
|
|
1806
|
-
if (forceCaptureEvents.indexOf(type) !== -1) {
|
|
1807
|
-
capture = true;
|
|
1808
|
-
}
|
|
1809
|
-
|
|
1810
|
-
return event.unbind(el, type, fn, capture);
|
|
1811
|
-
}
|
|
1812
|
-
|
|
1813
|
-
var delegate = {
|
|
1814
|
-
bind,
|
|
1815
|
-
unbind
|
|
1816
|
-
};
|
|
1817
|
-
|
|
1818
|
-
/**
|
|
1819
|
-
* Expose `parse`.
|
|
1820
|
-
*/
|
|
1821
|
-
|
|
1822
|
-
var domify = parse$1;
|
|
1823
|
-
|
|
1824
|
-
/**
|
|
1825
|
-
* Tests for browser support.
|
|
1826
|
-
*/
|
|
1827
|
-
|
|
1828
|
-
var innerHTMLBug = false;
|
|
1829
|
-
var bugTestDiv;
|
|
1830
|
-
if (typeof document !== 'undefined') {
|
|
1831
|
-
bugTestDiv = document.createElement('div');
|
|
1832
|
-
// Setup
|
|
1833
|
-
bugTestDiv.innerHTML = ' <link/><table></table><a href="/a">a</a><input type="checkbox"/>';
|
|
1834
|
-
// Make sure that link elements get serialized correctly by innerHTML
|
|
1835
|
-
// This requires a wrapper element in IE
|
|
1836
|
-
innerHTMLBug = !bugTestDiv.getElementsByTagName('link').length;
|
|
1837
|
-
bugTestDiv = undefined;
|
|
1838
|
-
}
|
|
1839
|
-
|
|
1840
|
-
/**
|
|
1841
|
-
* Wrap map from jquery.
|
|
1842
|
-
*/
|
|
1843
|
-
|
|
1844
|
-
var map = {
|
|
1845
|
-
legend: [1, '<fieldset>', '</fieldset>'],
|
|
1846
|
-
tr: [2, '<table><tbody>', '</tbody></table>'],
|
|
1847
|
-
col: [2, '<table><tbody></tbody><colgroup>', '</colgroup></table>'],
|
|
1848
|
-
// for script/link/style tags to work in IE6-8, you have to wrap
|
|
1849
|
-
// in a div with a non-whitespace character in front, ha!
|
|
1850
|
-
_default: innerHTMLBug ? [1, 'X<div>', '</div>'] : [0, '', '']
|
|
1851
|
-
};
|
|
1852
|
-
|
|
1853
|
-
map.td =
|
|
1854
|
-
map.th = [3, '<table><tbody><tr>', '</tr></tbody></table>'];
|
|
1855
|
-
|
|
1856
|
-
map.option =
|
|
1857
|
-
map.optgroup = [1, '<select multiple="multiple">', '</select>'];
|
|
1858
|
-
|
|
1859
|
-
map.thead =
|
|
1860
|
-
map.tbody =
|
|
1861
|
-
map.colgroup =
|
|
1862
|
-
map.caption =
|
|
1863
|
-
map.tfoot = [1, '<table>', '</table>'];
|
|
1864
|
-
|
|
1865
|
-
map.polyline =
|
|
1866
|
-
map.ellipse =
|
|
1867
|
-
map.polygon =
|
|
1868
|
-
map.circle =
|
|
1869
|
-
map.text =
|
|
1870
|
-
map.line =
|
|
1871
|
-
map.path =
|
|
1872
|
-
map.rect =
|
|
1873
|
-
map.g = [1, '<svg xmlns="http://www.w3.org/2000/svg" version="1.1">','</svg>'];
|
|
1874
|
-
|
|
1875
|
-
/**
|
|
1876
|
-
* Parse `html` and return a DOM Node instance, which could be a TextNode,
|
|
1877
|
-
* HTML DOM Node of some kind (<div> for example), or a DocumentFragment
|
|
1878
|
-
* instance, depending on the contents of the `html` string.
|
|
1879
|
-
*
|
|
1880
|
-
* @param {String} html - HTML string to "domify"
|
|
1881
|
-
* @param {Document} doc - The `document` instance to create the Node for
|
|
1882
|
-
* @return {DOMNode} the TextNode, DOM Node, or DocumentFragment instance
|
|
1883
|
-
* @api private
|
|
1884
|
-
*/
|
|
1885
|
-
|
|
1886
|
-
function parse$1(html, doc) {
|
|
1887
|
-
if ('string' != typeof html) throw new TypeError('String expected');
|
|
1888
|
-
|
|
1889
|
-
// default to the global `document` object
|
|
1890
|
-
if (!doc) doc = document;
|
|
1891
|
-
|
|
1892
|
-
// tag name
|
|
1893
|
-
var m = /<([\w:]+)/.exec(html);
|
|
1894
|
-
if (!m) return doc.createTextNode(html);
|
|
1895
|
-
|
|
1896
|
-
html = html.replace(/^\s+|\s+$/g, ''); // Remove leading/trailing whitespace
|
|
1897
|
-
|
|
1898
|
-
var tag = m[1];
|
|
1899
|
-
|
|
1900
|
-
// body support
|
|
1901
|
-
if (tag == 'body') {
|
|
1902
|
-
var el = doc.createElement('html');
|
|
1903
|
-
el.innerHTML = html;
|
|
1904
|
-
return el.removeChild(el.lastChild);
|
|
1905
|
-
}
|
|
1906
|
-
|
|
1907
|
-
// wrap map
|
|
1908
|
-
var wrap = Object.prototype.hasOwnProperty.call(map, tag) ? map[tag] : map._default;
|
|
1909
|
-
var depth = wrap[0];
|
|
1910
|
-
var prefix = wrap[1];
|
|
1911
|
-
var suffix = wrap[2];
|
|
1912
|
-
var el = doc.createElement('div');
|
|
1913
|
-
el.innerHTML = prefix + html + suffix;
|
|
1914
|
-
while (depth--) el = el.lastChild;
|
|
1915
|
-
|
|
1916
|
-
// one element
|
|
1917
|
-
if (el.firstChild == el.lastChild) {
|
|
1918
|
-
return el.removeChild(el.firstChild);
|
|
1919
|
-
}
|
|
1920
|
-
|
|
1921
|
-
// several elements
|
|
1922
|
-
var fragment = doc.createDocumentFragment();
|
|
1923
|
-
while (el.firstChild) {
|
|
1924
|
-
fragment.appendChild(el.removeChild(el.firstChild));
|
|
1925
|
-
}
|
|
1926
|
-
|
|
1927
|
-
return fragment;
|
|
1928
|
-
}
|
|
1929
|
-
|
|
1930
|
-
var domify$1 = domify;
|
|
1931
|
-
|
|
1932
|
-
function query(selector, el) {
|
|
1933
|
-
el = el || document;
|
|
1934
|
-
|
|
1935
|
-
return el.querySelector(selector);
|
|
1936
|
-
}
|
|
1937
|
-
|
|
1938
|
-
function all(selector, el) {
|
|
1939
|
-
el = el || document;
|
|
1940
|
-
|
|
1941
|
-
return el.querySelectorAll(selector);
|
|
1942
|
-
}
|
|
1943
|
-
|
|
1944
|
-
function remove$2(el) {
|
|
1945
|
-
el.parentNode && el.parentNode.removeChild(el);
|
|
1946
|
-
}
|
|
1947
|
-
|
|
1948
|
-
function ensureImported(element, target) {
|
|
1949
|
-
|
|
1950
|
-
if (element.ownerDocument !== target.ownerDocument) {
|
|
1951
|
-
try {
|
|
1952
|
-
|
|
1953
|
-
// may fail on webkit
|
|
1954
|
-
return target.ownerDocument.importNode(element, true);
|
|
1955
|
-
} catch (e) {
|
|
1956
|
-
|
|
1957
|
-
// ignore
|
|
1958
|
-
}
|
|
1959
|
-
}
|
|
1960
|
-
|
|
1961
|
-
return element;
|
|
1962
|
-
}
|
|
1963
|
-
|
|
1964
|
-
/**
|
|
1965
|
-
* appendTo utility
|
|
1966
|
-
*/
|
|
1967
|
-
|
|
1968
|
-
/**
|
|
1969
|
-
* Append a node to a target element and return the appended node.
|
|
1970
|
-
*
|
|
1971
|
-
* @param {SVGElement} element
|
|
1972
|
-
* @param {SVGElement} target
|
|
1973
|
-
*
|
|
1974
|
-
* @return {SVGElement} the appended node
|
|
1975
|
-
*/
|
|
1976
|
-
function appendTo(element, target) {
|
|
1977
|
-
return target.appendChild(ensureImported(element, target));
|
|
1978
|
-
}
|
|
1979
|
-
|
|
1980
|
-
/**
|
|
1981
|
-
* append utility
|
|
1982
|
-
*/
|
|
1983
|
-
|
|
1984
|
-
/**
|
|
1985
|
-
* Append a node to an element
|
|
1986
|
-
*
|
|
1987
|
-
* @param {SVGElement} element
|
|
1988
|
-
* @param {SVGElement} node
|
|
1989
|
-
*
|
|
1990
|
-
* @return {SVGElement} the element
|
|
1991
|
-
*/
|
|
1992
|
-
function append(target, node) {
|
|
1993
|
-
appendTo(node, target);
|
|
1994
|
-
return target;
|
|
1995
|
-
}
|
|
1996
|
-
|
|
1997
|
-
/**
|
|
1998
|
-
* attribute accessor utility
|
|
1999
|
-
*/
|
|
2000
|
-
|
|
2001
|
-
var LENGTH_ATTR = 2;
|
|
2002
|
-
|
|
2003
|
-
var CSS_PROPERTIES = {
|
|
2004
|
-
'alignment-baseline': 1,
|
|
2005
|
-
'baseline-shift': 1,
|
|
2006
|
-
'clip': 1,
|
|
2007
|
-
'clip-path': 1,
|
|
2008
|
-
'clip-rule': 1,
|
|
2009
|
-
'color': 1,
|
|
2010
|
-
'color-interpolation': 1,
|
|
2011
|
-
'color-interpolation-filters': 1,
|
|
2012
|
-
'color-profile': 1,
|
|
2013
|
-
'color-rendering': 1,
|
|
2014
|
-
'cursor': 1,
|
|
2015
|
-
'direction': 1,
|
|
2016
|
-
'display': 1,
|
|
2017
|
-
'dominant-baseline': 1,
|
|
2018
|
-
'enable-background': 1,
|
|
2019
|
-
'fill': 1,
|
|
2020
|
-
'fill-opacity': 1,
|
|
2021
|
-
'fill-rule': 1,
|
|
2022
|
-
'filter': 1,
|
|
2023
|
-
'flood-color': 1,
|
|
2024
|
-
'flood-opacity': 1,
|
|
2025
|
-
'font': 1,
|
|
2026
|
-
'font-family': 1,
|
|
2027
|
-
'font-size': LENGTH_ATTR,
|
|
2028
|
-
'font-size-adjust': 1,
|
|
2029
|
-
'font-stretch': 1,
|
|
2030
|
-
'font-style': 1,
|
|
2031
|
-
'font-variant': 1,
|
|
2032
|
-
'font-weight': 1,
|
|
2033
|
-
'glyph-orientation-horizontal': 1,
|
|
2034
|
-
'glyph-orientation-vertical': 1,
|
|
2035
|
-
'image-rendering': 1,
|
|
2036
|
-
'kerning': 1,
|
|
2037
|
-
'letter-spacing': 1,
|
|
2038
|
-
'lighting-color': 1,
|
|
2039
|
-
'marker': 1,
|
|
2040
|
-
'marker-end': 1,
|
|
2041
|
-
'marker-mid': 1,
|
|
2042
|
-
'marker-start': 1,
|
|
2043
|
-
'mask': 1,
|
|
2044
|
-
'opacity': 1,
|
|
2045
|
-
'overflow': 1,
|
|
2046
|
-
'pointer-events': 1,
|
|
2047
|
-
'shape-rendering': 1,
|
|
2048
|
-
'stop-color': 1,
|
|
2049
|
-
'stop-opacity': 1,
|
|
2050
|
-
'stroke': 1,
|
|
2051
|
-
'stroke-dasharray': 1,
|
|
2052
|
-
'stroke-dashoffset': 1,
|
|
2053
|
-
'stroke-linecap': 1,
|
|
2054
|
-
'stroke-linejoin': 1,
|
|
2055
|
-
'stroke-miterlimit': 1,
|
|
2056
|
-
'stroke-opacity': 1,
|
|
2057
|
-
'stroke-width': LENGTH_ATTR,
|
|
2058
|
-
'text-anchor': 1,
|
|
2059
|
-
'text-decoration': 1,
|
|
2060
|
-
'text-rendering': 1,
|
|
2061
|
-
'unicode-bidi': 1,
|
|
2062
|
-
'visibility': 1,
|
|
2063
|
-
'word-spacing': 1,
|
|
2064
|
-
'writing-mode': 1
|
|
2065
|
-
};
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
function getAttribute(node, name) {
|
|
2069
|
-
if (CSS_PROPERTIES[name]) {
|
|
2070
|
-
return node.style[name];
|
|
2071
|
-
} else {
|
|
2072
|
-
return node.getAttributeNS(null, name);
|
|
2073
|
-
}
|
|
2074
|
-
}
|
|
2075
|
-
|
|
2076
|
-
function setAttribute(node, name, value) {
|
|
2077
|
-
var hyphenated = name.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
|
|
2078
|
-
|
|
2079
|
-
var type = CSS_PROPERTIES[hyphenated];
|
|
2080
|
-
|
|
2081
|
-
if (type) {
|
|
2082
|
-
|
|
2083
|
-
// append pixel unit, unless present
|
|
2084
|
-
if (type === LENGTH_ATTR && typeof value === 'number') {
|
|
2085
|
-
value = String(value) + 'px';
|
|
2086
|
-
}
|
|
2087
|
-
|
|
2088
|
-
node.style[hyphenated] = value;
|
|
2089
|
-
} else {
|
|
2090
|
-
node.setAttributeNS(null, name, value);
|
|
2091
|
-
}
|
|
2092
|
-
}
|
|
2093
|
-
|
|
2094
|
-
function setAttributes(node, attrs) {
|
|
2095
|
-
|
|
2096
|
-
var names = Object.keys(attrs), i, name;
|
|
2097
|
-
|
|
2098
|
-
for (i = 0, name; (name = names[i]); i++) {
|
|
2099
|
-
setAttribute(node, name, attrs[name]);
|
|
2100
|
-
}
|
|
2101
|
-
}
|
|
2102
|
-
|
|
2103
|
-
/**
|
|
2104
|
-
* Gets or sets raw attributes on a node.
|
|
2105
|
-
*
|
|
2106
|
-
* @param {SVGElement} node
|
|
2107
|
-
* @param {Object} [attrs]
|
|
2108
|
-
* @param {String} [name]
|
|
2109
|
-
* @param {String} [value]
|
|
2110
|
-
*
|
|
2111
|
-
* @return {String}
|
|
2112
|
-
*/
|
|
2113
|
-
function attr(node, name, value) {
|
|
2114
|
-
if (typeof name === 'string') {
|
|
2115
|
-
if (value !== undefined) {
|
|
2116
|
-
setAttribute(node, name, value);
|
|
2117
|
-
} else {
|
|
2118
|
-
return getAttribute(node, name);
|
|
2119
|
-
}
|
|
2120
|
-
} else {
|
|
2121
|
-
setAttributes(node, name);
|
|
2122
|
-
}
|
|
2123
|
-
|
|
2124
|
-
return node;
|
|
2125
|
-
}
|
|
2126
|
-
|
|
2127
|
-
/**
|
|
2128
|
-
* Taken from https://github.com/component/classes
|
|
2129
|
-
*
|
|
2130
|
-
* Without the component bits.
|
|
2131
|
-
*/
|
|
2132
|
-
|
|
2133
|
-
/**
|
|
2134
|
-
* toString reference.
|
|
2135
|
-
*/
|
|
2136
|
-
|
|
2137
|
-
const toString = Object.prototype.toString;
|
|
2138
|
-
|
|
2139
|
-
/**
|
|
2140
|
-
* Wrap `el` in a `ClassList`.
|
|
2141
|
-
*
|
|
2142
|
-
* @param {Element} el
|
|
2143
|
-
* @return {ClassList}
|
|
2144
|
-
* @api public
|
|
2145
|
-
*/
|
|
2146
|
-
|
|
2147
|
-
function classes(el) {
|
|
2148
|
-
return new ClassList(el);
|
|
2149
|
-
}
|
|
2150
|
-
|
|
2151
|
-
function ClassList(el) {
|
|
2152
|
-
if (!el || !el.nodeType) {
|
|
2153
|
-
throw new Error('A DOM element reference is required');
|
|
2154
|
-
}
|
|
2155
|
-
this.el = el;
|
|
2156
|
-
this.list = el.classList;
|
|
2157
|
-
}
|
|
2158
|
-
|
|
2159
|
-
/**
|
|
2160
|
-
* Add class `name` if not already present.
|
|
2161
|
-
*
|
|
2162
|
-
* @param {String} name
|
|
2163
|
-
* @return {ClassList}
|
|
2164
|
-
* @api public
|
|
2165
|
-
*/
|
|
2166
|
-
|
|
2167
|
-
ClassList.prototype.add = function(name) {
|
|
2168
|
-
this.list.add(name);
|
|
2169
|
-
return this;
|
|
2170
|
-
};
|
|
2171
|
-
|
|
2172
|
-
/**
|
|
2173
|
-
* Remove class `name` when present, or
|
|
2174
|
-
* pass a regular expression to remove
|
|
2175
|
-
* any which match.
|
|
2176
|
-
*
|
|
2177
|
-
* @param {String|RegExp} name
|
|
2178
|
-
* @return {ClassList}
|
|
2179
|
-
* @api public
|
|
2180
|
-
*/
|
|
2181
|
-
|
|
2182
|
-
ClassList.prototype.remove = function(name) {
|
|
2183
|
-
if ('[object RegExp]' == toString.call(name)) {
|
|
2184
|
-
return this.removeMatching(name);
|
|
2185
|
-
}
|
|
2186
|
-
|
|
2187
|
-
this.list.remove(name);
|
|
2188
|
-
return this;
|
|
2189
|
-
};
|
|
2190
|
-
|
|
2191
|
-
/**
|
|
2192
|
-
* Remove all classes matching `re`.
|
|
2193
|
-
*
|
|
2194
|
-
* @param {RegExp} re
|
|
2195
|
-
* @return {ClassList}
|
|
2196
|
-
* @api private
|
|
2197
|
-
*/
|
|
2198
|
-
|
|
2199
|
-
ClassList.prototype.removeMatching = function(re) {
|
|
2200
|
-
const arr = this.array();
|
|
2201
|
-
for (let i = 0; i < arr.length; i++) {
|
|
2202
|
-
if (re.test(arr[i])) {
|
|
2203
|
-
this.remove(arr[i]);
|
|
2204
|
-
}
|
|
2205
|
-
}
|
|
2206
|
-
return this;
|
|
2207
|
-
};
|
|
2208
|
-
|
|
2209
|
-
/**
|
|
2210
|
-
* Toggle class `name`, can force state via `force`.
|
|
2211
|
-
*
|
|
2212
|
-
* For browsers that support classList, but do not support `force` yet,
|
|
2213
|
-
* the mistake will be detected and corrected.
|
|
2214
|
-
*
|
|
2215
|
-
* @param {String} name
|
|
2216
|
-
* @param {Boolean} force
|
|
2217
|
-
* @return {ClassList}
|
|
2218
|
-
* @api public
|
|
2219
|
-
*/
|
|
2220
|
-
|
|
2221
|
-
ClassList.prototype.toggle = function(name, force) {
|
|
2222
|
-
if ('undefined' !== typeof force) {
|
|
2223
|
-
if (force !== this.list.toggle(name, force)) {
|
|
2224
|
-
this.list.toggle(name); // toggle again to correct
|
|
2225
|
-
}
|
|
2226
|
-
} else {
|
|
2227
|
-
this.list.toggle(name);
|
|
2228
|
-
}
|
|
2229
|
-
return this;
|
|
2230
|
-
};
|
|
2231
|
-
|
|
2232
|
-
/**
|
|
2233
|
-
* Return an array of classes.
|
|
2234
|
-
*
|
|
2235
|
-
* @return {Array}
|
|
2236
|
-
* @api public
|
|
2237
|
-
*/
|
|
2238
|
-
|
|
2239
|
-
ClassList.prototype.array = function() {
|
|
2240
|
-
return Array.from(this.list);
|
|
2241
|
-
};
|
|
2242
|
-
|
|
2243
|
-
/**
|
|
2244
|
-
* Check if class `name` is present.
|
|
2245
|
-
*
|
|
2246
|
-
* @param {String} name
|
|
2247
|
-
* @return {ClassList}
|
|
2248
|
-
* @api public
|
|
2249
|
-
*/
|
|
2250
|
-
|
|
2251
|
-
ClassList.prototype.has =
|
|
2252
|
-
ClassList.prototype.contains = function(name) {
|
|
2253
|
-
return this.list.contains(name);
|
|
2254
|
-
};
|
|
2255
|
-
|
|
2256
|
-
function remove$1(element) {
|
|
2257
|
-
var parent = element.parentNode;
|
|
2258
|
-
|
|
2259
|
-
if (parent) {
|
|
2260
|
-
parent.removeChild(element);
|
|
2261
|
-
}
|
|
2262
|
-
|
|
2263
|
-
return element;
|
|
2264
|
-
}
|
|
2265
|
-
|
|
2266
|
-
/**
|
|
2267
|
-
* Clear utility
|
|
2268
|
-
*/
|
|
2269
|
-
|
|
2270
|
-
/**
|
|
2271
|
-
* Removes all children from the given element
|
|
2272
|
-
*
|
|
2273
|
-
* @param {DOMElement} element
|
|
2274
|
-
* @return {DOMElement} the element (for chaining)
|
|
2275
|
-
*/
|
|
2276
|
-
function clear(element) {
|
|
2277
|
-
var child;
|
|
2278
|
-
|
|
2279
|
-
while ((child = element.firstChild)) {
|
|
2280
|
-
remove$1(child);
|
|
2281
|
-
}
|
|
2282
|
-
|
|
2283
|
-
return element;
|
|
2284
|
-
}
|
|
2285
|
-
|
|
2286
|
-
var ns = {
|
|
2287
|
-
svg: 'http://www.w3.org/2000/svg'
|
|
2288
|
-
};
|
|
2289
|
-
|
|
2290
|
-
/**
|
|
2291
|
-
* DOM parsing utility
|
|
2292
|
-
*/
|
|
2293
|
-
|
|
2294
|
-
var SVG_START = '<svg xmlns="' + ns.svg + '"';
|
|
2295
|
-
|
|
2296
|
-
function parse(svg) {
|
|
2297
|
-
|
|
2298
|
-
var unwrap = false;
|
|
2299
|
-
|
|
2300
|
-
// ensure we import a valid svg document
|
|
2301
|
-
if (svg.substring(0, 4) === '<svg') {
|
|
2302
|
-
if (svg.indexOf(ns.svg) === -1) {
|
|
2303
|
-
svg = SVG_START + svg.substring(4);
|
|
2304
|
-
}
|
|
2305
|
-
} else {
|
|
2306
|
-
|
|
2307
|
-
// namespace svg
|
|
2308
|
-
svg = SVG_START + '>' + svg + '</svg>';
|
|
2309
|
-
unwrap = true;
|
|
2310
|
-
}
|
|
2311
|
-
|
|
2312
|
-
var parsed = parseDocument(svg);
|
|
2313
|
-
|
|
2314
|
-
if (!unwrap) {
|
|
2315
|
-
return parsed;
|
|
2316
|
-
}
|
|
2317
|
-
|
|
2318
|
-
var fragment = document.createDocumentFragment();
|
|
2319
|
-
|
|
2320
|
-
var parent = parsed.firstChild;
|
|
2321
|
-
|
|
2322
|
-
while (parent.firstChild) {
|
|
2323
|
-
fragment.appendChild(parent.firstChild);
|
|
2324
|
-
}
|
|
2325
|
-
|
|
2326
|
-
return fragment;
|
|
2327
|
-
}
|
|
2328
|
-
|
|
2329
|
-
function parseDocument(svg) {
|
|
2330
|
-
|
|
2331
|
-
var parser;
|
|
2332
|
-
|
|
2333
|
-
// parse
|
|
2334
|
-
parser = new DOMParser();
|
|
2335
|
-
parser.async = false;
|
|
2336
|
-
|
|
2337
|
-
return parser.parseFromString(svg, 'text/xml');
|
|
2338
|
-
}
|
|
2339
|
-
|
|
2340
|
-
/**
|
|
2341
|
-
* Create utility for SVG elements
|
|
2342
|
-
*/
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
/**
|
|
2346
|
-
* Create a specific type from name or SVG markup.
|
|
2347
|
-
*
|
|
2348
|
-
* @param {String} name the name or markup of the element
|
|
2349
|
-
* @param {Object} [attrs] attributes to set on the element
|
|
1911
|
+
* Delegate event `type` to `selector`
|
|
1912
|
+
* and invoke `fn(e)`. A callback function
|
|
1913
|
+
* is returned which may be passed to `.unbind()`.
|
|
2350
1914
|
*
|
|
2351
|
-
* @
|
|
1915
|
+
* @param {Element} el
|
|
1916
|
+
* @param {String} selector
|
|
1917
|
+
* @param {String} type
|
|
1918
|
+
* @param {Function} fn
|
|
1919
|
+
* @param {Boolean} capture
|
|
1920
|
+
* @return {Function}
|
|
1921
|
+
* @api public
|
|
2352
1922
|
*/
|
|
2353
|
-
function create$1(name, attrs) {
|
|
2354
|
-
var element;
|
|
2355
1923
|
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
} else {
|
|
2360
|
-
element = document.createElementNS(ns.svg, name);
|
|
2361
|
-
}
|
|
1924
|
+
// Some events don't bubble, so we want to bind to the capture phase instead
|
|
1925
|
+
// when delegating.
|
|
1926
|
+
var forceCaptureEvents = [ 'focus', 'blur' ];
|
|
2362
1927
|
|
|
2363
|
-
|
|
2364
|
-
|
|
1928
|
+
function bind(el, selector, type, fn, capture) {
|
|
1929
|
+
if (forceCaptureEvents.indexOf(type) !== -1) {
|
|
1930
|
+
capture = true;
|
|
2365
1931
|
}
|
|
2366
1932
|
|
|
2367
|
-
return
|
|
1933
|
+
return event.bind(el, type, function(e) {
|
|
1934
|
+
var target = e.target || e.srcElement;
|
|
1935
|
+
e.delegateTarget = closest(target, selector, true);
|
|
1936
|
+
if (e.delegateTarget) {
|
|
1937
|
+
fn.call(el, e);
|
|
1938
|
+
}
|
|
1939
|
+
}, capture);
|
|
2368
1940
|
}
|
|
2369
1941
|
|
|
2370
1942
|
/**
|
|
2371
|
-
*
|
|
1943
|
+
* Unbind event `type`'s callback `fn`.
|
|
1944
|
+
*
|
|
1945
|
+
* @param {Element} el
|
|
1946
|
+
* @param {String} type
|
|
1947
|
+
* @param {Function} fn
|
|
1948
|
+
* @param {Boolean} capture
|
|
1949
|
+
* @api public
|
|
2372
1950
|
*/
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
var ENTITY_REPLACEMENT = {
|
|
2378
|
-
'&': '&',
|
|
2379
|
-
'<': '<',
|
|
2380
|
-
'>': '>',
|
|
2381
|
-
'"': '\''
|
|
2382
|
-
};
|
|
2383
|
-
|
|
2384
|
-
function escape$1(str, pattern) {
|
|
2385
|
-
|
|
2386
|
-
function replaceFn(match, entity) {
|
|
2387
|
-
return ENTITY_REPLACEMENT[entity] || entity;
|
|
1951
|
+
function unbind(el, type, fn, capture) {
|
|
1952
|
+
if (forceCaptureEvents.indexOf(type) !== -1) {
|
|
1953
|
+
capture = true;
|
|
2388
1954
|
}
|
|
2389
1955
|
|
|
2390
|
-
return
|
|
1956
|
+
return event.unbind(el, type, fn, capture);
|
|
2391
1957
|
}
|
|
2392
1958
|
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
1959
|
+
var delegate = {
|
|
1960
|
+
bind,
|
|
1961
|
+
unbind
|
|
1962
|
+
};
|
|
2396
1963
|
|
|
2397
|
-
|
|
1964
|
+
/**
|
|
1965
|
+
* Expose `parse`.
|
|
1966
|
+
*/
|
|
2398
1967
|
|
|
2399
|
-
|
|
2400
|
-
case 3:
|
|
1968
|
+
var domify = parse;
|
|
2401
1969
|
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
1970
|
+
/**
|
|
1971
|
+
* Tests for browser support.
|
|
1972
|
+
*/
|
|
2405
1973
|
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
1974
|
+
var innerHTMLBug = false;
|
|
1975
|
+
var bugTestDiv;
|
|
1976
|
+
if (typeof document !== 'undefined') {
|
|
1977
|
+
bugTestDiv = document.createElement('div');
|
|
1978
|
+
// Setup
|
|
1979
|
+
bugTestDiv.innerHTML = ' <link/><table></table><a href="/a">a</a><input type="checkbox"/>';
|
|
1980
|
+
// Make sure that link elements get serialized correctly by innerHTML
|
|
1981
|
+
// This requires a wrapper element in IE
|
|
1982
|
+
innerHTMLBug = !bugTestDiv.getElementsByTagName('link').length;
|
|
1983
|
+
bugTestDiv = undefined;
|
|
1984
|
+
}
|
|
2409
1985
|
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
attrNode = attrMap.item(i);
|
|
2414
|
-
output.push(' ', attrNode.name, '="', escape$1(attrNode.value, ATTR_ENTITIES), '"');
|
|
2415
|
-
}
|
|
2416
|
-
}
|
|
1986
|
+
/**
|
|
1987
|
+
* Wrap map from jquery.
|
|
1988
|
+
*/
|
|
2417
1989
|
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
output.push('/>');
|
|
2427
|
-
}
|
|
2428
|
-
break;
|
|
1990
|
+
var map = {
|
|
1991
|
+
legend: [1, '<fieldset>', '</fieldset>'],
|
|
1992
|
+
tr: [2, '<table><tbody>', '</tbody></table>'],
|
|
1993
|
+
col: [2, '<table><tbody></tbody><colgroup>', '</colgroup></table>'],
|
|
1994
|
+
// for script/link/style tags to work in IE6-8, you have to wrap
|
|
1995
|
+
// in a div with a non-whitespace character in front, ha!
|
|
1996
|
+
_default: innerHTMLBug ? [1, 'X<div>', '</div>'] : [0, '', '']
|
|
1997
|
+
};
|
|
2429
1998
|
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
output.push('<!--', escape$1(node.nodeValue, TEXT_ENTITIES), '-->');
|
|
2433
|
-
break;
|
|
1999
|
+
map.td =
|
|
2000
|
+
map.th = [3, '<table><tbody><tr>', '</tr></tbody></table>'];
|
|
2434
2001
|
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
output.push('<![CDATA[', node.nodeValue, ']]>');
|
|
2438
|
-
break;
|
|
2002
|
+
map.option =
|
|
2003
|
+
map.optgroup = [1, '<select multiple="multiple">', '</select>'];
|
|
2439
2004
|
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2005
|
+
map.thead =
|
|
2006
|
+
map.tbody =
|
|
2007
|
+
map.colgroup =
|
|
2008
|
+
map.caption =
|
|
2009
|
+
map.tfoot = [1, '<table>', '</table>'];
|
|
2443
2010
|
|
|
2444
|
-
|
|
2445
|
-
|
|
2011
|
+
map.polyline =
|
|
2012
|
+
map.ellipse =
|
|
2013
|
+
map.polygon =
|
|
2014
|
+
map.circle =
|
|
2015
|
+
map.text =
|
|
2016
|
+
map.line =
|
|
2017
|
+
map.path =
|
|
2018
|
+
map.rect =
|
|
2019
|
+
map.g = [1, '<svg xmlns="http://www.w3.org/2000/svg" version="1.1">','</svg>'];
|
|
2446
2020
|
|
|
2447
2021
|
/**
|
|
2448
|
-
*
|
|
2449
|
-
*
|
|
2022
|
+
* Parse `html` and return a DOM Node instance, which could be a TextNode,
|
|
2023
|
+
* HTML DOM Node of some kind (<div> for example), or a DocumentFragment
|
|
2024
|
+
* instance, depending on the contents of the `html` string.
|
|
2025
|
+
*
|
|
2026
|
+
* @param {String} html - HTML string to "domify"
|
|
2027
|
+
* @param {Document} doc - The `document` instance to create the Node for
|
|
2028
|
+
* @return {DOMNode} the TextNode, DOM Node, or DocumentFragment instance
|
|
2029
|
+
* @api private
|
|
2450
2030
|
*/
|
|
2451
2031
|
|
|
2032
|
+
function parse(html, doc) {
|
|
2033
|
+
if ('string' != typeof html) throw new TypeError('String expected');
|
|
2452
2034
|
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
var parsed = parse(svg);
|
|
2035
|
+
// default to the global `document` object
|
|
2036
|
+
if (!doc) doc = document;
|
|
2456
2037
|
|
|
2457
|
-
//
|
|
2458
|
-
|
|
2038
|
+
// tag name
|
|
2039
|
+
var m = /<([\w:]+)/.exec(html);
|
|
2040
|
+
if (!m) return doc.createTextNode(html);
|
|
2459
2041
|
|
|
2460
|
-
|
|
2461
|
-
return;
|
|
2462
|
-
}
|
|
2042
|
+
html = html.replace(/^\s+|\s+$/g, ''); // Remove leading/trailing whitespace
|
|
2463
2043
|
|
|
2464
|
-
|
|
2044
|
+
var tag = m[1];
|
|
2465
2045
|
|
|
2466
|
-
|
|
2467
|
-
|
|
2046
|
+
// body support
|
|
2047
|
+
if (tag == 'body') {
|
|
2048
|
+
var el = doc.createElement('html');
|
|
2049
|
+
el.innerHTML = html;
|
|
2050
|
+
return el.removeChild(el.lastChild);
|
|
2468
2051
|
}
|
|
2469
2052
|
|
|
2470
|
-
|
|
2053
|
+
// wrap map
|
|
2054
|
+
var wrap = Object.prototype.hasOwnProperty.call(map, tag) ? map[tag] : map._default;
|
|
2055
|
+
var depth = wrap[0];
|
|
2056
|
+
var prefix = wrap[1];
|
|
2057
|
+
var suffix = wrap[2];
|
|
2058
|
+
var el = doc.createElement('div');
|
|
2059
|
+
el.innerHTML = prefix + html + suffix;
|
|
2060
|
+
while (depth--) el = el.lastChild;
|
|
2471
2061
|
|
|
2472
|
-
//
|
|
2473
|
-
|
|
2474
|
-
|
|
2062
|
+
// one element
|
|
2063
|
+
if (el.firstChild == el.lastChild) {
|
|
2064
|
+
return el.removeChild(el.firstChild);
|
|
2475
2065
|
}
|
|
2476
2066
|
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
output = [];
|
|
2482
|
-
|
|
2483
|
-
while (child) {
|
|
2484
|
-
serialize(child, output);
|
|
2485
|
-
child = child.nextSibling;
|
|
2067
|
+
// several elements
|
|
2068
|
+
var fragment = doc.createDocumentFragment();
|
|
2069
|
+
while (el.firstChild) {
|
|
2070
|
+
fragment.appendChild(el.removeChild(el.firstChild));
|
|
2486
2071
|
}
|
|
2487
2072
|
|
|
2488
|
-
return
|
|
2073
|
+
return fragment;
|
|
2489
2074
|
}
|
|
2490
2075
|
|
|
2491
|
-
|
|
2492
|
-
return node.nodeName === '#document-fragment';
|
|
2493
|
-
}
|
|
2076
|
+
var domify$1 = domify;
|
|
2494
2077
|
|
|
2495
|
-
function
|
|
2078
|
+
function query(selector, el) {
|
|
2079
|
+
el = el || document;
|
|
2496
2080
|
|
|
2497
|
-
|
|
2081
|
+
return el.querySelector(selector);
|
|
2082
|
+
}
|
|
2498
2083
|
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
} catch (e) {
|
|
2502
|
-
throw new Error('error parsing SVG: ' + e.message);
|
|
2503
|
-
}
|
|
2084
|
+
function all(selector, el) {
|
|
2085
|
+
el = el || document;
|
|
2504
2086
|
|
|
2505
|
-
|
|
2506
|
-
} else {
|
|
2507
|
-
return get(element);
|
|
2508
|
-
}
|
|
2087
|
+
return el.querySelectorAll(selector);
|
|
2509
2088
|
}
|
|
2510
2089
|
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
return Array.prototype.slice.call(arr);
|
|
2090
|
+
function remove$1(el) {
|
|
2091
|
+
el.parentNode && el.parentNode.removeChild(el);
|
|
2514
2092
|
}
|
|
2515
2093
|
|
|
2516
2094
|
/**
|
|
@@ -2767,11 +2345,11 @@
|
|
|
2767
2345
|
|
|
2768
2346
|
var marker = create$1('marker');
|
|
2769
2347
|
|
|
2770
|
-
attr(options.element, attrs);
|
|
2348
|
+
attr$1(options.element, attrs);
|
|
2771
2349
|
|
|
2772
2350
|
append(marker, options.element);
|
|
2773
2351
|
|
|
2774
|
-
attr(marker, {
|
|
2352
|
+
attr$1(marker, {
|
|
2775
2353
|
id: id,
|
|
2776
2354
|
viewBox: '0 0 20 20',
|
|
2777
2355
|
refX: ref.x,
|
|
@@ -2814,7 +2392,7 @@
|
|
|
2814
2392
|
|
|
2815
2393
|
if (type === 'sequenceflow-end') {
|
|
2816
2394
|
var sequenceflowEnd = create$1('path');
|
|
2817
|
-
attr(sequenceflowEnd, { d: 'M 1 5 L 11 10 L 1 15 Z' });
|
|
2395
|
+
attr$1(sequenceflowEnd, { d: 'M 1 5 L 11 10 L 1 15 Z' });
|
|
2818
2396
|
|
|
2819
2397
|
addMarker(id, {
|
|
2820
2398
|
element: sequenceflowEnd,
|
|
@@ -2829,7 +2407,7 @@
|
|
|
2829
2407
|
|
|
2830
2408
|
if (type === 'messageflow-start') {
|
|
2831
2409
|
var messageflowStart = create$1('circle');
|
|
2832
|
-
attr(messageflowStart, { cx: 6, cy: 6, r: 3.5 });
|
|
2410
|
+
attr$1(messageflowStart, { cx: 6, cy: 6, r: 3.5 });
|
|
2833
2411
|
|
|
2834
2412
|
addMarker(id, {
|
|
2835
2413
|
element: messageflowStart,
|
|
@@ -2843,7 +2421,7 @@
|
|
|
2843
2421
|
|
|
2844
2422
|
if (type === 'messageflow-end') {
|
|
2845
2423
|
var messageflowEnd = create$1('path');
|
|
2846
|
-
attr(messageflowEnd, { d: 'm 1 5 l 0 -3 l 7 3 l -7 3 z' });
|
|
2424
|
+
attr$1(messageflowEnd, { d: 'm 1 5 l 0 -3 l 7 3 l -7 3 z' });
|
|
2847
2425
|
|
|
2848
2426
|
addMarker(id, {
|
|
2849
2427
|
element: messageflowEnd,
|
|
@@ -2858,7 +2436,7 @@
|
|
|
2858
2436
|
|
|
2859
2437
|
if (type === 'association-start') {
|
|
2860
2438
|
var associationStart = create$1('path');
|
|
2861
|
-
attr(associationStart, { d: 'M 11 5 L 1 10 L 11 15' });
|
|
2439
|
+
attr$1(associationStart, { d: 'M 11 5 L 1 10 L 11 15' });
|
|
2862
2440
|
|
|
2863
2441
|
addMarker(id, {
|
|
2864
2442
|
element: associationStart,
|
|
@@ -2874,7 +2452,7 @@
|
|
|
2874
2452
|
|
|
2875
2453
|
if (type === 'association-end') {
|
|
2876
2454
|
var associationEnd = create$1('path');
|
|
2877
|
-
attr(associationEnd, { d: 'M 1 5 L 11 10 L 1 15' });
|
|
2455
|
+
attr$1(associationEnd, { d: 'M 1 5 L 11 10 L 1 15' });
|
|
2878
2456
|
|
|
2879
2457
|
addMarker(id, {
|
|
2880
2458
|
element: associationEnd,
|
|
@@ -2890,7 +2468,7 @@
|
|
|
2890
2468
|
|
|
2891
2469
|
if (type === 'conditional-flow-marker') {
|
|
2892
2470
|
var conditionalflowMarker = create$1('path');
|
|
2893
|
-
attr(conditionalflowMarker, { d: 'M 0 10 L 8 6 L 16 10 L 8 14 Z' });
|
|
2471
|
+
attr$1(conditionalflowMarker, { d: 'M 0 10 L 8 6 L 16 10 L 8 14 Z' });
|
|
2894
2472
|
|
|
2895
2473
|
addMarker(id, {
|
|
2896
2474
|
element: conditionalflowMarker,
|
|
@@ -2905,7 +2483,7 @@
|
|
|
2905
2483
|
|
|
2906
2484
|
if (type === 'conditional-default-flow-marker') {
|
|
2907
2485
|
var conditionaldefaultflowMarker = create$1('path');
|
|
2908
|
-
attr(conditionaldefaultflowMarker, { d: 'M 6 4 L 10 16' });
|
|
2486
|
+
attr$1(conditionaldefaultflowMarker, { d: 'M 6 4 L 10 16' });
|
|
2909
2487
|
|
|
2910
2488
|
addMarker(id, {
|
|
2911
2489
|
element: conditionaldefaultflowMarker,
|
|
@@ -2941,12 +2519,12 @@
|
|
|
2941
2519
|
cy = height / 2;
|
|
2942
2520
|
|
|
2943
2521
|
var circle = create$1('circle');
|
|
2944
|
-
attr(circle, {
|
|
2522
|
+
attr$1(circle, {
|
|
2945
2523
|
cx: cx,
|
|
2946
2524
|
cy: cy,
|
|
2947
2525
|
r: Math.round((width + height) / 4 - offset)
|
|
2948
2526
|
});
|
|
2949
|
-
attr(circle, attrs);
|
|
2527
|
+
attr$1(circle, attrs);
|
|
2950
2528
|
|
|
2951
2529
|
append(parentGfx, circle);
|
|
2952
2530
|
|
|
@@ -2969,7 +2547,7 @@
|
|
|
2969
2547
|
});
|
|
2970
2548
|
|
|
2971
2549
|
var rect = create$1('rect');
|
|
2972
|
-
attr(rect, {
|
|
2550
|
+
attr$1(rect, {
|
|
2973
2551
|
x: offset,
|
|
2974
2552
|
y: offset,
|
|
2975
2553
|
width: width - offset * 2,
|
|
@@ -2977,7 +2555,7 @@
|
|
|
2977
2555
|
rx: r,
|
|
2978
2556
|
ry: r
|
|
2979
2557
|
});
|
|
2980
|
-
attr(rect, attrs);
|
|
2558
|
+
attr$1(rect, attrs);
|
|
2981
2559
|
|
|
2982
2560
|
append(parentGfx, rect);
|
|
2983
2561
|
|
|
@@ -3002,10 +2580,10 @@
|
|
|
3002
2580
|
});
|
|
3003
2581
|
|
|
3004
2582
|
var polygon = create$1('polygon');
|
|
3005
|
-
attr(polygon, {
|
|
2583
|
+
attr$1(polygon, {
|
|
3006
2584
|
points: pointsString
|
|
3007
2585
|
});
|
|
3008
|
-
attr(polygon, attrs);
|
|
2586
|
+
attr$1(polygon, attrs);
|
|
3009
2587
|
|
|
3010
2588
|
append(parentGfx, polygon);
|
|
3011
2589
|
|
|
@@ -3034,8 +2612,8 @@
|
|
|
3034
2612
|
});
|
|
3035
2613
|
|
|
3036
2614
|
var path = create$1('path');
|
|
3037
|
-
attr(path, { d: d });
|
|
3038
|
-
attr(path, attrs);
|
|
2615
|
+
attr$1(path, { d: d });
|
|
2616
|
+
attr$1(path, attrs);
|
|
3039
2617
|
|
|
3040
2618
|
append(parentGfx, path);
|
|
3041
2619
|
|
|
@@ -3123,7 +2701,7 @@
|
|
|
3123
2701
|
|
|
3124
2702
|
var text = textRenderer.createText(label || '', options);
|
|
3125
2703
|
|
|
3126
|
-
classes(text).add('djs-label');
|
|
2704
|
+
classes$1(text).add('djs-label');
|
|
3127
2705
|
|
|
3128
2706
|
append(parentGfx, text);
|
|
3129
2707
|
|
|
@@ -3735,7 +3313,7 @@
|
|
|
3735
3313
|
});
|
|
3736
3314
|
|
|
3737
3315
|
var businessHeaderPath = drawPath(parentGfx, headerPathData);
|
|
3738
|
-
attr(businessHeaderPath, {
|
|
3316
|
+
attr$1(businessHeaderPath, {
|
|
3739
3317
|
strokeWidth: 1,
|
|
3740
3318
|
fill: getFillColor(element, '#aaaaaa'),
|
|
3741
3319
|
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
@@ -3749,7 +3327,7 @@
|
|
|
3749
3327
|
});
|
|
3750
3328
|
|
|
3751
3329
|
var businessPath = drawPath(parentGfx, headerData);
|
|
3752
|
-
attr(businessPath, {
|
|
3330
|
+
attr$1(businessPath, {
|
|
3753
3331
|
strokeWidth: 1,
|
|
3754
3332
|
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3755
3333
|
});
|
|
@@ -3767,7 +3345,7 @@
|
|
|
3767
3345
|
var expanded = isExpanded(element);
|
|
3768
3346
|
|
|
3769
3347
|
if (isEventSubProcess(element)) {
|
|
3770
|
-
attr(rect, {
|
|
3348
|
+
attr$1(rect, {
|
|
3771
3349
|
strokeDasharray: '1,2'
|
|
3772
3350
|
});
|
|
3773
3351
|
}
|
|
@@ -3989,7 +3567,7 @@
|
|
|
3989
3567
|
});
|
|
3990
3568
|
|
|
3991
3569
|
var parallelPath = drawPath(parentGfx, pathData);
|
|
3992
|
-
attr(parallelPath, {
|
|
3570
|
+
attr$1(parallelPath, {
|
|
3993
3571
|
strokeWidth: 1,
|
|
3994
3572
|
fill: 'none'
|
|
3995
3573
|
});
|
|
@@ -3997,7 +3575,7 @@
|
|
|
3997
3575
|
|
|
3998
3576
|
if (!instantiate) {
|
|
3999
3577
|
var innerCircle = drawCircle(parentGfx, element.width, element.height, element.height * 0.26);
|
|
4000
|
-
attr(innerCircle, {
|
|
3578
|
+
attr$1(innerCircle, {
|
|
4001
3579
|
strokeWidth: 1,
|
|
4002
3580
|
fill: 'none',
|
|
4003
3581
|
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
@@ -4042,7 +3620,7 @@
|
|
|
4042
3620
|
|
|
4043
3621
|
// conditional flow marker
|
|
4044
3622
|
if (sequenceFlow.conditionExpression && source.$instanceOf('bpmn:Activity')) {
|
|
4045
|
-
attr(path, {
|
|
3623
|
+
attr$1(path, {
|
|
4046
3624
|
markerStart: marker('conditional-flow-marker', fill, stroke)
|
|
4047
3625
|
});
|
|
4048
3626
|
}
|
|
@@ -4050,7 +3628,7 @@
|
|
|
4050
3628
|
// default marker
|
|
4051
3629
|
if (source.default && (source.$instanceOf('bpmn:Gateway') || source.$instanceOf('bpmn:Activity')) &&
|
|
4052
3630
|
source.default === sequenceFlow) {
|
|
4053
|
-
attr(path, {
|
|
3631
|
+
attr$1(path, {
|
|
4054
3632
|
markerStart: marker('conditional-default-flow-marker', fill, stroke)
|
|
4055
3633
|
});
|
|
4056
3634
|
}
|
|
@@ -4768,9 +4346,9 @@
|
|
|
4768
4346
|
var helperSvg = document.getElementById('helper-svg');
|
|
4769
4347
|
|
|
4770
4348
|
if (!helperSvg) {
|
|
4771
|
-
helperSvg = create$
|
|
4349
|
+
helperSvg = create$1('svg');
|
|
4772
4350
|
|
|
4773
|
-
attr$
|
|
4351
|
+
attr$1(helperSvg, {
|
|
4774
4352
|
id: 'helper-svg'
|
|
4775
4353
|
});
|
|
4776
4354
|
|
|
@@ -4864,13 +4442,13 @@
|
|
|
4864
4442
|
var maxWidth = box.width - padding.left - padding.right;
|
|
4865
4443
|
|
|
4866
4444
|
// ensure correct rendering by attaching helper text node to invisible SVG
|
|
4867
|
-
var helperText = create$
|
|
4868
|
-
attr$
|
|
4869
|
-
attr$
|
|
4445
|
+
var helperText = create$1('text');
|
|
4446
|
+
attr$1(helperText, { x: 0, y: 0 });
|
|
4447
|
+
attr$1(helperText, style);
|
|
4870
4448
|
|
|
4871
4449
|
var helperSvg = getHelperSvg();
|
|
4872
4450
|
|
|
4873
|
-
append
|
|
4451
|
+
append(helperSvg, helperText);
|
|
4874
4452
|
|
|
4875
4453
|
while (lines.length) {
|
|
4876
4454
|
layouted.push(layoutNext(lines, maxWidth, helperText));
|
|
@@ -4899,9 +4477,9 @@
|
|
|
4899
4477
|
y -= (lineHeight || layouted[0].height) / 4;
|
|
4900
4478
|
|
|
4901
4479
|
|
|
4902
|
-
var textElement = create$
|
|
4480
|
+
var textElement = create$1('text');
|
|
4903
4481
|
|
|
4904
|
-
attr$
|
|
4482
|
+
attr$1(textElement, style);
|
|
4905
4483
|
|
|
4906
4484
|
// layout each line taking into account that parent
|
|
4907
4485
|
// shape might resize to fit text size
|
|
@@ -4928,15 +4506,15 @@
|
|
|
4928
4506
|
- line.width) / 2 + padding.left), 0);
|
|
4929
4507
|
}
|
|
4930
4508
|
|
|
4931
|
-
var tspan = create$
|
|
4932
|
-
attr$
|
|
4509
|
+
var tspan = create$1('tspan');
|
|
4510
|
+
attr$1(tspan, { x: x, y: y });
|
|
4933
4511
|
|
|
4934
4512
|
tspan.textContent = line.text;
|
|
4935
4513
|
|
|
4936
|
-
append
|
|
4514
|
+
append(textElement, tspan);
|
|
4937
4515
|
});
|
|
4938
4516
|
|
|
4939
|
-
remove$
|
|
4517
|
+
remove$2(helperText);
|
|
4940
4518
|
|
|
4941
4519
|
var dimensions = {
|
|
4942
4520
|
width: maxLineWidth,
|
|
@@ -6524,13 +6102,13 @@
|
|
|
6524
6102
|
throw new Error('invalid hit type <' + type + '>');
|
|
6525
6103
|
}
|
|
6526
6104
|
|
|
6527
|
-
attr$
|
|
6105
|
+
attr$1(hit, attrs);
|
|
6528
6106
|
|
|
6529
6107
|
return hit;
|
|
6530
6108
|
}
|
|
6531
6109
|
|
|
6532
6110
|
function appendHit(gfx, hit) {
|
|
6533
|
-
append
|
|
6111
|
+
append(gfx, hit);
|
|
6534
6112
|
}
|
|
6535
6113
|
|
|
6536
6114
|
|
|
@@ -6544,7 +6122,7 @@
|
|
|
6544
6122
|
this.removeHits = function(gfx) {
|
|
6545
6123
|
var hits = all('.djs-hit', gfx);
|
|
6546
6124
|
|
|
6547
|
-
forEach$1(hits, remove$
|
|
6125
|
+
forEach$1(hits, remove$2);
|
|
6548
6126
|
};
|
|
6549
6127
|
|
|
6550
6128
|
/**
|
|
@@ -6608,11 +6186,11 @@
|
|
|
6608
6186
|
y: 0
|
|
6609
6187
|
}, attrs);
|
|
6610
6188
|
|
|
6611
|
-
var hit = create$
|
|
6189
|
+
var hit = create$1('rect');
|
|
6612
6190
|
|
|
6613
6191
|
applyStyle(hit, type);
|
|
6614
6192
|
|
|
6615
|
-
attr$
|
|
6193
|
+
attr$1(hit, attrs);
|
|
6616
6194
|
|
|
6617
6195
|
appendHit(gfx, hit);
|
|
6618
6196
|
|
|
@@ -6638,7 +6216,7 @@
|
|
|
6638
6216
|
if (element.waypoints) {
|
|
6639
6217
|
updateLine(hit, element.waypoints);
|
|
6640
6218
|
} else {
|
|
6641
|
-
attr$
|
|
6219
|
+
attr$1(hit, {
|
|
6642
6220
|
width: element.width,
|
|
6643
6221
|
height: element.height
|
|
6644
6222
|
});
|
|
@@ -6846,9 +6424,9 @@
|
|
|
6846
6424
|
var self = this;
|
|
6847
6425
|
|
|
6848
6426
|
function createOutline(gfx, bounds) {
|
|
6849
|
-
var outline = create$
|
|
6427
|
+
var outline = create$1('rect');
|
|
6850
6428
|
|
|
6851
|
-
attr$
|
|
6429
|
+
attr$1(outline, assign$1({
|
|
6852
6430
|
x: 10,
|
|
6853
6431
|
y: 10,
|
|
6854
6432
|
rx: 3,
|
|
@@ -6856,7 +6434,7 @@
|
|
|
6856
6434
|
height: 100
|
|
6857
6435
|
}, OUTLINE_STYLE));
|
|
6858
6436
|
|
|
6859
|
-
append
|
|
6437
|
+
append(gfx, outline);
|
|
6860
6438
|
|
|
6861
6439
|
return outline;
|
|
6862
6440
|
}
|
|
@@ -6900,7 +6478,7 @@
|
|
|
6900
6478
|
*/
|
|
6901
6479
|
Outline.prototype.updateShapeOutline = function(outline, element) {
|
|
6902
6480
|
|
|
6903
|
-
attr$
|
|
6481
|
+
attr$1(outline, {
|
|
6904
6482
|
x: -this.offset,
|
|
6905
6483
|
y: -this.offset,
|
|
6906
6484
|
width: element.width + this.offset * 2,
|
|
@@ -6921,7 +6499,7 @@
|
|
|
6921
6499
|
|
|
6922
6500
|
var bbox = getBBox(connection);
|
|
6923
6501
|
|
|
6924
|
-
attr$
|
|
6502
|
+
attr$1(outline, {
|
|
6925
6503
|
x: bbox.x - this.offset,
|
|
6926
6504
|
y: bbox.y - this.offset,
|
|
6927
6505
|
width: bbox.width + this.offset * 2,
|
|
@@ -7125,13 +6703,13 @@
|
|
|
7125
6703
|
SelectionVisuals.prototype._updateSelectionOutline = function(selection) {
|
|
7126
6704
|
var layer = this._canvas.getLayer('selectionOutline');
|
|
7127
6705
|
|
|
7128
|
-
clear$
|
|
6706
|
+
clear$1(layer);
|
|
7129
6707
|
|
|
7130
6708
|
var enabled = selection.length > 1;
|
|
7131
6709
|
|
|
7132
6710
|
var container = this._canvas.getContainer();
|
|
7133
6711
|
|
|
7134
|
-
classes$
|
|
6712
|
+
classes$1(container)[enabled ? 'add' : 'remove']('djs-multi-select');
|
|
7135
6713
|
|
|
7136
6714
|
if (!enabled) {
|
|
7137
6715
|
return;
|
|
@@ -7139,15 +6717,15 @@
|
|
|
7139
6717
|
|
|
7140
6718
|
var bBox = addSelectionOutlinePadding(getBBox(selection));
|
|
7141
6719
|
|
|
7142
|
-
var rect = create$
|
|
6720
|
+
var rect = create$1('rect');
|
|
7143
6721
|
|
|
7144
|
-
attr$
|
|
6722
|
+
attr$1(rect, assign$1({
|
|
7145
6723
|
rx: 3
|
|
7146
6724
|
}, bBox));
|
|
7147
6725
|
|
|
7148
|
-
classes$
|
|
6726
|
+
classes$1(rect).add('djs-selection-outline');
|
|
7149
6727
|
|
|
7150
|
-
append
|
|
6728
|
+
append(layer, rect);
|
|
7151
6729
|
};
|
|
7152
6730
|
|
|
7153
6731
|
// helpers //////////
|
|
@@ -7556,8 +7134,8 @@
|
|
|
7556
7134
|
var container = self._getOverlayContainer(overlay.element, true);
|
|
7557
7135
|
|
|
7558
7136
|
if (overlay) {
|
|
7559
|
-
remove$
|
|
7560
|
-
remove$
|
|
7137
|
+
remove$1(overlay.html);
|
|
7138
|
+
remove$1(overlay.htmlContainer);
|
|
7561
7139
|
|
|
7562
7140
|
delete overlay.htmlContainer;
|
|
7563
7141
|
delete overlay.element;
|
|
@@ -7590,7 +7168,7 @@
|
|
|
7590
7168
|
|
|
7591
7169
|
this._overlayContainers = [];
|
|
7592
7170
|
|
|
7593
|
-
clear
|
|
7171
|
+
clear(this._overlayRoot);
|
|
7594
7172
|
};
|
|
7595
7173
|
|
|
7596
7174
|
Overlays.prototype._updateOverlayContainer = function(container) {
|
|
@@ -7611,7 +7189,7 @@
|
|
|
7611
7189
|
|
|
7612
7190
|
setPosition(html, x, y);
|
|
7613
7191
|
|
|
7614
|
-
attr
|
|
7192
|
+
attr(container.html, 'data-container-id', element.id);
|
|
7615
7193
|
};
|
|
7616
7194
|
|
|
7617
7195
|
|
|
@@ -7738,7 +7316,7 @@
|
|
|
7738
7316
|
htmlContainer.appendChild(html);
|
|
7739
7317
|
|
|
7740
7318
|
if (overlay.type) {
|
|
7741
|
-
classes
|
|
7319
|
+
classes(htmlContainer).add('djs-overlay-' + overlay.type);
|
|
7742
7320
|
}
|
|
7743
7321
|
|
|
7744
7322
|
var elementRoot = this._canvas.findRoot(element);
|
|
@@ -7867,7 +7445,7 @@
|
|
|
7867
7445
|
var container = self._getOverlayContainer(element);
|
|
7868
7446
|
|
|
7869
7447
|
if (container) {
|
|
7870
|
-
remove$
|
|
7448
|
+
remove$1(container.html);
|
|
7871
7449
|
var i = self._overlayContainers.indexOf(container);
|
|
7872
7450
|
if (i !== -1) {
|
|
7873
7451
|
self._overlayContainers.splice(i, 1);
|
|
@@ -7898,7 +7476,7 @@
|
|
|
7898
7476
|
eventBus.on('element.marker.update', function(e) {
|
|
7899
7477
|
var container = self._getOverlayContainer(e.element, true);
|
|
7900
7478
|
if (container) {
|
|
7901
|
-
classes
|
|
7479
|
+
classes(container.html)[e.add ? 'add' : 'remove'](e.marker);
|
|
7902
7480
|
}
|
|
7903
7481
|
});
|
|
7904
7482
|
|
|
@@ -8363,7 +7941,7 @@
|
|
|
8363
7941
|
function DrilldownBreadcrumbs(eventBus, elementRegistry, overlays, canvas) {
|
|
8364
7942
|
var breadcrumbs = domify$1('<ul class="bjs-breadcrumbs"></ul>');
|
|
8365
7943
|
var container = canvas.getContainer();
|
|
8366
|
-
var containerClasses = classes
|
|
7944
|
+
var containerClasses = classes(container);
|
|
8367
7945
|
container.appendChild(breadcrumbs);
|
|
8368
7946
|
|
|
8369
7947
|
var boParents = [];
|
|
@@ -8919,7 +8497,7 @@
|
|
|
8919
8497
|
}
|
|
8920
8498
|
|
|
8921
8499
|
var hasContent = bo && bo.flowElements && bo.flowElements.length;
|
|
8922
|
-
classes
|
|
8500
|
+
classes(overlay.html).toggle(EMPTY_MARKER, !hasContent);
|
|
8923
8501
|
};
|
|
8924
8502
|
|
|
8925
8503
|
/**
|
|
@@ -9471,9 +9049,9 @@
|
|
|
9471
9049
|
};
|
|
9472
9050
|
|
|
9473
9051
|
DefaultRenderer.prototype.drawShape = function drawShape(visuals, element, attrs) {
|
|
9474
|
-
var rect = create$
|
|
9052
|
+
var rect = create$1('rect');
|
|
9475
9053
|
|
|
9476
|
-
attr$
|
|
9054
|
+
attr$1(rect, {
|
|
9477
9055
|
x: 0,
|
|
9478
9056
|
y: 0,
|
|
9479
9057
|
width: element.width || 0,
|
|
@@ -9481,12 +9059,12 @@
|
|
|
9481
9059
|
});
|
|
9482
9060
|
|
|
9483
9061
|
if (isFrameElement(element)) {
|
|
9484
|
-
attr$
|
|
9062
|
+
attr$1(rect, assign$1({}, this.FRAME_STYLE, attrs || {}));
|
|
9485
9063
|
} else {
|
|
9486
|
-
attr$
|
|
9064
|
+
attr$1(rect, assign$1({}, this.SHAPE_STYLE, attrs || {}));
|
|
9487
9065
|
}
|
|
9488
9066
|
|
|
9489
|
-
append
|
|
9067
|
+
append(visuals, rect);
|
|
9490
9068
|
|
|
9491
9069
|
return rect;
|
|
9492
9070
|
};
|
|
@@ -9494,7 +9072,7 @@
|
|
|
9494
9072
|
DefaultRenderer.prototype.drawConnection = function drawConnection(visuals, connection, attrs) {
|
|
9495
9073
|
|
|
9496
9074
|
var line = createLine(connection.waypoints, assign$1({}, this.CONNECTION_STYLE, attrs || {}));
|
|
9497
|
-
append
|
|
9075
|
+
append(visuals, line);
|
|
9498
9076
|
|
|
9499
9077
|
return line;
|
|
9500
9078
|
};
|
|
@@ -9717,7 +9295,7 @@
|
|
|
9717
9295
|
// this way we can always get the correct container size
|
|
9718
9296
|
// (this is impossible for <svg> elements at the moment)
|
|
9719
9297
|
const parent = document.createElement('div');
|
|
9720
|
-
parent.setAttribute('class', 'djs-container');
|
|
9298
|
+
parent.setAttribute('class', 'djs-container djs-parent');
|
|
9721
9299
|
|
|
9722
9300
|
assign(parent, {
|
|
9723
9301
|
position: 'relative',
|
|
@@ -9732,8 +9310,8 @@
|
|
|
9732
9310
|
}
|
|
9733
9311
|
|
|
9734
9312
|
function createGroup(parent, cls, childIndex) {
|
|
9735
|
-
const group = create$
|
|
9736
|
-
classes$
|
|
9313
|
+
const group = create$1('g');
|
|
9314
|
+
classes$1(group).add(cls);
|
|
9737
9315
|
|
|
9738
9316
|
const index = childIndex !== undefined ? childIndex : parent.childNodes.length - 1;
|
|
9739
9317
|
|
|
@@ -9811,10 +9389,10 @@
|
|
|
9811
9389
|
// html container
|
|
9812
9390
|
const container = this._container = createContainer(config);
|
|
9813
9391
|
|
|
9814
|
-
const svg = this._svg = create$
|
|
9815
|
-
attr$
|
|
9392
|
+
const svg = this._svg = create$1('svg');
|
|
9393
|
+
attr$1(svg, { width: '100%', height: '100%' });
|
|
9816
9394
|
|
|
9817
|
-
append
|
|
9395
|
+
append(container, svg);
|
|
9818
9396
|
|
|
9819
9397
|
const viewport = this._viewport = createGroup(svg, 'viewport');
|
|
9820
9398
|
|
|
@@ -10052,7 +9630,7 @@
|
|
|
10052
9630
|
return group;
|
|
10053
9631
|
}
|
|
10054
9632
|
|
|
10055
|
-
remove$
|
|
9633
|
+
remove$2(group);
|
|
10056
9634
|
|
|
10057
9635
|
layer.visible = false;
|
|
10058
9636
|
|
|
@@ -10067,7 +9645,7 @@
|
|
|
10067
9645
|
if (layer) {
|
|
10068
9646
|
delete this._layers[name];
|
|
10069
9647
|
|
|
10070
|
-
remove$
|
|
9648
|
+
remove$2(layer.group);
|
|
10071
9649
|
}
|
|
10072
9650
|
};
|
|
10073
9651
|
|
|
@@ -10160,9 +9738,9 @@
|
|
|
10160
9738
|
|
|
10161
9739
|
// invoke either addClass or removeClass based on mode
|
|
10162
9740
|
if (add) {
|
|
10163
|
-
classes$
|
|
9741
|
+
classes$1(gfx).add(marker);
|
|
10164
9742
|
} else {
|
|
10165
|
-
classes$
|
|
9743
|
+
classes$1(gfx).remove(marker);
|
|
10166
9744
|
}
|
|
10167
9745
|
}
|
|
10168
9746
|
});
|
|
@@ -10228,7 +9806,7 @@
|
|
|
10228
9806
|
|
|
10229
9807
|
const gfx = this.getGraphics(element);
|
|
10230
9808
|
|
|
10231
|
-
return classes$
|
|
9809
|
+
return classes$1(gfx).has(marker);
|
|
10232
9810
|
};
|
|
10233
9811
|
|
|
10234
9812
|
/**
|
|
@@ -11126,10 +10704,10 @@
|
|
|
11126
10704
|
this._validateId(id);
|
|
11127
10705
|
|
|
11128
10706
|
// associate dom node with element
|
|
11129
|
-
attr$
|
|
10707
|
+
attr$1(gfx, ELEMENT_ID, id);
|
|
11130
10708
|
|
|
11131
10709
|
if (secondaryGfx) {
|
|
11132
|
-
attr$
|
|
10710
|
+
attr$1(secondaryGfx, ELEMENT_ID, id);
|
|
11133
10711
|
}
|
|
11134
10712
|
|
|
11135
10713
|
this._elements[id] = { element: element, gfx: gfx, secondaryGfx: secondaryGfx };
|
|
@@ -11138,7 +10716,7 @@
|
|
|
11138
10716
|
/**
|
|
11139
10717
|
* Removes an element from the registry.
|
|
11140
10718
|
*
|
|
11141
|
-
* @param {djs.model.Base} element
|
|
10719
|
+
* @param {string|djs.model.Base} element
|
|
11142
10720
|
*/
|
|
11143
10721
|
ElementRegistry.prototype.remove = function(element) {
|
|
11144
10722
|
var elements = this._elements,
|
|
@@ -11148,10 +10726,10 @@
|
|
|
11148
10726
|
if (container) {
|
|
11149
10727
|
|
|
11150
10728
|
// unset element id on gfx
|
|
11151
|
-
attr$
|
|
10729
|
+
attr$1(container.gfx, ELEMENT_ID, '');
|
|
11152
10730
|
|
|
11153
10731
|
if (container.secondaryGfx) {
|
|
11154
|
-
attr$
|
|
10732
|
+
attr$1(container.secondaryGfx, ELEMENT_ID, '');
|
|
11155
10733
|
}
|
|
11156
10734
|
|
|
11157
10735
|
delete elements[id];
|
|
@@ -11161,7 +10739,7 @@
|
|
|
11161
10739
|
/**
|
|
11162
10740
|
* Update the id of an element
|
|
11163
10741
|
*
|
|
11164
|
-
* @param {djs.model.Base} element
|
|
10742
|
+
* @param {string|djs.model.Base} element
|
|
11165
10743
|
* @param {string} newId
|
|
11166
10744
|
*/
|
|
11167
10745
|
ElementRegistry.prototype.updateId = function(element, newId) {
|
|
@@ -11190,7 +10768,7 @@
|
|
|
11190
10768
|
/**
|
|
11191
10769
|
* Update the graphics of an element
|
|
11192
10770
|
*
|
|
11193
|
-
* @param {djs.model.Base} element
|
|
10771
|
+
* @param {string|djs.model.Base} element
|
|
11194
10772
|
* @param {SVGElement} gfx
|
|
11195
10773
|
* @param {boolean} [secondary=false] whether to update the secondary connected element
|
|
11196
10774
|
*/
|
|
@@ -11206,7 +10784,7 @@
|
|
|
11206
10784
|
}
|
|
11207
10785
|
|
|
11208
10786
|
if (gfx) {
|
|
11209
|
-
attr$
|
|
10787
|
+
attr$1(gfx, ELEMENT_ID, id);
|
|
11210
10788
|
}
|
|
11211
10789
|
|
|
11212
10790
|
return gfx;
|
|
@@ -11231,7 +10809,7 @@
|
|
|
11231
10809
|
if (typeof filter === 'string') {
|
|
11232
10810
|
id = filter;
|
|
11233
10811
|
} else {
|
|
11234
|
-
id = filter && attr$
|
|
10812
|
+
id = filter && attr$1(filter, ELEMENT_ID);
|
|
11235
10813
|
}
|
|
11236
10814
|
|
|
11237
10815
|
var container = this._elements[id];
|
|
@@ -12514,10 +12092,10 @@
|
|
|
12514
12092
|
} else {
|
|
12515
12093
|
childrenGfx = getChildren(gfx);
|
|
12516
12094
|
if (!childrenGfx) {
|
|
12517
|
-
childrenGfx = create$
|
|
12518
|
-
classes$
|
|
12095
|
+
childrenGfx = create$1('g');
|
|
12096
|
+
classes$1(childrenGfx).add('djs-children');
|
|
12519
12097
|
|
|
12520
|
-
append
|
|
12098
|
+
append(gfx.parentNode, childrenGfx);
|
|
12521
12099
|
}
|
|
12522
12100
|
}
|
|
12523
12101
|
|
|
@@ -12531,7 +12109,7 @@
|
|
|
12531
12109
|
GraphicsFactory.prototype._clear = function(gfx) {
|
|
12532
12110
|
var visual = getVisual(gfx);
|
|
12533
12111
|
|
|
12534
|
-
clear
|
|
12112
|
+
clear(visual);
|
|
12535
12113
|
|
|
12536
12114
|
return visual;
|
|
12537
12115
|
};
|
|
@@ -12566,31 +12144,31 @@
|
|
|
12566
12144
|
GraphicsFactory.prototype._createContainer = function(
|
|
12567
12145
|
type, childrenGfx, parentIndex, isFrame
|
|
12568
12146
|
) {
|
|
12569
|
-
var outerGfx = create$
|
|
12570
|
-
classes$
|
|
12147
|
+
var outerGfx = create$1('g');
|
|
12148
|
+
classes$1(outerGfx).add('djs-group');
|
|
12571
12149
|
|
|
12572
12150
|
// insert node at position
|
|
12573
12151
|
if (typeof parentIndex !== 'undefined') {
|
|
12574
12152
|
prependTo(outerGfx, childrenGfx, childrenGfx.childNodes[parentIndex]);
|
|
12575
12153
|
} else {
|
|
12576
|
-
append
|
|
12154
|
+
append(childrenGfx, outerGfx);
|
|
12577
12155
|
}
|
|
12578
12156
|
|
|
12579
|
-
var gfx = create$
|
|
12580
|
-
classes$
|
|
12581
|
-
classes$
|
|
12157
|
+
var gfx = create$1('g');
|
|
12158
|
+
classes$1(gfx).add('djs-element');
|
|
12159
|
+
classes$1(gfx).add('djs-' + type);
|
|
12582
12160
|
|
|
12583
12161
|
if (isFrame) {
|
|
12584
|
-
classes$
|
|
12162
|
+
classes$1(gfx).add('djs-frame');
|
|
12585
12163
|
}
|
|
12586
12164
|
|
|
12587
|
-
append
|
|
12165
|
+
append(outerGfx, gfx);
|
|
12588
12166
|
|
|
12589
12167
|
// create visual
|
|
12590
|
-
var visual = create$
|
|
12591
|
-
classes$
|
|
12168
|
+
var visual = create$1('g');
|
|
12169
|
+
classes$1(visual).add('djs-visual');
|
|
12592
12170
|
|
|
12593
|
-
append
|
|
12171
|
+
append(gfx, visual);
|
|
12594
12172
|
|
|
12595
12173
|
return gfx;
|
|
12596
12174
|
};
|
|
@@ -12682,9 +12260,9 @@
|
|
|
12682
12260
|
}
|
|
12683
12261
|
|
|
12684
12262
|
if (element.hidden) {
|
|
12685
|
-
attr$
|
|
12263
|
+
attr$1(gfx, 'display', 'none');
|
|
12686
12264
|
} else {
|
|
12687
|
-
attr$
|
|
12265
|
+
attr$1(gfx, 'display', 'block');
|
|
12688
12266
|
}
|
|
12689
12267
|
};
|
|
12690
12268
|
|
|
@@ -12692,7 +12270,7 @@
|
|
|
12692
12270
|
var gfx = this._elementRegistry.getGraphics(element);
|
|
12693
12271
|
|
|
12694
12272
|
// remove
|
|
12695
|
-
remove$
|
|
12273
|
+
remove$2(gfx.parentNode);
|
|
12696
12274
|
};
|
|
12697
12275
|
|
|
12698
12276
|
|
|
@@ -21709,7 +21287,7 @@
|
|
|
21709
21287
|
Diagram.prototype.destroy.call(this);
|
|
21710
21288
|
|
|
21711
21289
|
// dom detach
|
|
21712
|
-
remove$
|
|
21290
|
+
remove$1(this._container);
|
|
21713
21291
|
};
|
|
21714
21292
|
|
|
21715
21293
|
/**
|
|
@@ -22002,15 +21580,10 @@
|
|
|
22002
21580
|
// default moddle extensions the viewer is composed of
|
|
22003
21581
|
Viewer.prototype._moddleExtensions = {};
|
|
22004
21582
|
|
|
22005
|
-
var
|
|
22006
|
-
var
|
|
22007
|
-
var
|
|
22008
|
-
var
|
|
22009
|
-
|
|
22010
|
-
var KEYS_COPY = [ 'c', 'C', KEYCODE_C ];
|
|
22011
|
-
var KEYS_PASTE = [ 'v', 'V', KEYCODE_V ];
|
|
22012
|
-
var KEYS_REDO = [ 'y', 'Y', KEYCODE_Y ];
|
|
22013
|
-
var KEYS_UNDO = [ 'z', 'Z', KEYCODE_Z ];
|
|
21583
|
+
var KEYS_COPY = [ 'c', 'C', 'KeyC' ];
|
|
21584
|
+
var KEYS_PASTE = [ 'v', 'V', 'KeyV' ];
|
|
21585
|
+
var KEYS_REDO = [ 'y', 'Y', 'KeyY' ];
|
|
21586
|
+
var KEYS_UNDO = [ 'z', 'Z', 'KeyZ' ];
|
|
22014
21587
|
|
|
22015
21588
|
/**
|
|
22016
21589
|
* Returns true if event was triggered with any modifier
|
|
@@ -22043,7 +21616,7 @@
|
|
|
22043
21616
|
function isKey(keys, event) {
|
|
22044
21617
|
keys = isArray$2(keys) ? keys : [ keys ];
|
|
22045
21618
|
|
|
22046
|
-
return keys.indexOf(event.key) !== -1 || keys.indexOf(event.
|
|
21619
|
+
return keys.indexOf(event.key) !== -1 || keys.indexOf(event.code) !== -1;
|
|
22047
21620
|
}
|
|
22048
21621
|
|
|
22049
21622
|
/**
|
|
@@ -22082,7 +21655,7 @@
|
|
|
22082
21655
|
|
|
22083
21656
|
/**
|
|
22084
21657
|
* A keyboard abstraction that may be activated and
|
|
22085
|
-
* deactivated by users at will, consuming key events
|
|
21658
|
+
* deactivated by users at will, consuming global key events
|
|
22086
21659
|
* and triggering diagram actions.
|
|
22087
21660
|
*
|
|
22088
21661
|
* For keys pressed down, keyboard fires `keyboard.keydown` event.
|
|
@@ -22167,6 +21740,10 @@
|
|
|
22167
21740
|
};
|
|
22168
21741
|
|
|
22169
21742
|
Keyboard.prototype._isEventIgnored = function(event) {
|
|
21743
|
+
if (event.defaultPrevented) {
|
|
21744
|
+
return true;
|
|
21745
|
+
}
|
|
21746
|
+
|
|
22170
21747
|
return isInput(event.target) && this._isModifiedKeyIgnored(event);
|
|
22171
21748
|
};
|
|
22172
21749
|
|
|
@@ -22197,8 +21774,8 @@
|
|
|
22197
21774
|
this._node = node;
|
|
22198
21775
|
|
|
22199
21776
|
// bind key events
|
|
22200
|
-
event.bind(node, 'keydown', this._keydownHandler
|
|
22201
|
-
event.bind(node, 'keyup', this._keyupHandler
|
|
21777
|
+
event.bind(node, 'keydown', this._keydownHandler);
|
|
21778
|
+
event.bind(node, 'keyup', this._keyupHandler);
|
|
22202
21779
|
|
|
22203
21780
|
this._fire('bind');
|
|
22204
21781
|
};
|
|
@@ -22214,8 +21791,8 @@
|
|
|
22214
21791
|
this._fire('unbind');
|
|
22215
21792
|
|
|
22216
21793
|
// unbind key events
|
|
22217
|
-
event.unbind(node, 'keydown', this._keydownHandler
|
|
22218
|
-
event.unbind(node, 'keyup', this._keyupHandler
|
|
21794
|
+
event.unbind(node, 'keydown', this._keydownHandler);
|
|
21795
|
+
event.unbind(node, 'keyup', this._keyupHandler);
|
|
22219
21796
|
}
|
|
22220
21797
|
|
|
22221
21798
|
this._node = null;
|
|
@@ -22558,12 +22135,12 @@
|
|
|
22558
22135
|
|
|
22559
22136
|
|
|
22560
22137
|
function set(mode) {
|
|
22561
|
-
var classes = classes
|
|
22138
|
+
var classes$1 = classes(document.body);
|
|
22562
22139
|
|
|
22563
|
-
classes.removeMatching(CURSOR_CLS_PATTERN);
|
|
22140
|
+
classes$1.removeMatching(CURSOR_CLS_PATTERN);
|
|
22564
22141
|
|
|
22565
22142
|
if (mode) {
|
|
22566
|
-
classes.add('djs-cursor-' + mode);
|
|
22143
|
+
classes$1.add('djs-cursor-' + mode);
|
|
22567
22144
|
}
|
|
22568
22145
|
}
|
|
22569
22146
|
|