svgedit/dist/editor/system/extensions/ext-connector/ext-connector.js

12 lines
58 KiB
JavaScript
Raw Normal View History

System.register([],(function(t,e){"use strict";return{execute:function(){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(t,e,r){return t(r={path:e,exports:{},require:function(t,e){return function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&r.path)}},r.exports),r.exports}var check=function(t){return t&&t.Math==Math&&t},n=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof r&&r)||Function("return this")(),fails=function(t){try{return!!t()}catch(t){return!0}},o=!fails((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),i={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,c={f:a&&!i.call({1:2},1)?function propertyIsEnumerable(t){var e=a(this,t);return!!e&&e.enumerable}:i},createPropertyDescriptor=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},u={}.toString,classofRaw=function(t){return u.call(t).slice(8,-1)},s="".split,f=fails((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==classofRaw(t)?s.call(t,""):Object(t)}:Object,requireObjectCoercible=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},toIndexedObject=function(t){return f(requireObjectCoercible(t))},isObject=function(t){return"object"==typeof t?null!==t:"function"==typeof t},toPrimitive=function(t,e){if(!isObject(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!isObject(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!isObject(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!isObject(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},l={}.hasOwnProperty,has=function(t,e){return l.call(t,e)},p=n.document,h=isObject(p)&&isObject(p.createElement),documentCreateElement=function(t){return h?p.createElement(t):{}},d=!o&&!fails((function(){return 7!=Object.defineProperty(documentCreateElement("div"),"a",{get:function(){return 7}}).a})),v=Object.getOwnPropertyDescriptor,y={f:o?v:function getOwnPropertyDescriptor(t,e){if(t=toIndexedObject(t),e=toPrimitive(e,!0),d)try{return v(t,e)}catch(t){}if(has(t,e))return createPropertyDescriptor(!c.f.call(t,e),t[e])}},anObject=function(t){if(!isObject(t))throw TypeError(String(t)+" is not an object");return t},g=Object.defineProperty,m={f:o?g:function defineProperty(t,e,r){if(anObject(t),e=toPrimitive(e,!0),anObject(r),d)try{return g(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},b=o?function(t,e,r){return m.f(t,e,createPropertyDescriptor(1,r))}:function(t,e,r){return t[e]=r,t},setGlobal=function(t,e){try{b(n,t,e)}catch(r){n[t]=e}return e},x="__core-js_shared__",S=n[x]||setGlobal(x,{}),w=Function.toString;"function"!=typeof S.inspectSource&&(S.inspectSource=function(t){return w.call(t)});var E,_,O,A=S.inspectSource,j=n.WeakMap,I="function"==typeof j&&/native code/.test(A(j)),P=createCommonjsModule((function(t){(t.exports=function(t,e){return S[t]||(S[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),k=0,T=Math.random(),uid=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++k+T).toString(36)},L=P("keys"),sharedKey=function(t){return L[t]||(L[t]=uid(t))},N={},C=n.WeakMap;if(I){var R=new C,M=R.get,G=R.has,D=R.set;E=function(t,e){return D.call(R,t,e),e},_=function(t){return M.call(R,t)||{}},O=function(t){return G.call(R,t)}}else{var B=sharedKey("state");N[B]=!0,E=function(t,e){return b(t,B,e),e},_=function(t){return has(t,B)?t[B]:{}},O=function(t){return has(t,B)}}var U,V,W={set:E,get:_,has:O,enforce:function(t){return O(t)?_(t):E(t,{})},getterFor:function(t){return function(e){var r;if(!isObject(e)||(r=_(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},
2020-09-06 06:32:10 +00:00
/**
* Localizing script for SVG-edit UI.
* @module locale
2020-09-08 23:35:47 +00:00
* @license MIT
*
* @copyright 2010 Narendra Sisodya
2020-09-08 23:35:47 +00:00
* @copyright 2010 Alexis Deveria
*
*/
jQuery;var xi=function(){var t=_asyncToGenerator(regeneratorRuntime.mark((function _callee2(t,r){var n;return regeneratorRuntime.wrap((function _callee2$(o){for(;;)switch(o.prev=o.next){case 0:return o.prev=0,o.next=3,e.import("./extensions/ext-".concat(t,"/locale/").concat(r,".js"));case 3:n=o.sent,o.next=12;break;case 6:return o.prev=6,o.t0=o.catch(0),console.error("Missing translation (".concat(r,") for extension ").concat(t," - using 'en'")),o.next=11,e.import("./extensions/ext-".concat(t,"/locale/en.js"));case 11:n=o.sent;case 12:return o.abrupt("return",n.default);case 13:case"end":return o.stop()}}),_callee2,null,[[0,6]])})));return function loadExtensionTranslation(e,r){return t.apply(this,arguments)}}();t("default",{name:"connector",init:function init(t){var e=this;return _asyncToGenerator(regeneratorRuntime.mark((function _callee(){var r,n,o,i,a,c,u,s,f,l,p,h,d,v,y,g,m,b,x,S,w,E,_,O,A,j,I,P,k;return regeneratorRuntime.wrap((function _callee$(T){for(;;)switch(T.prev=T.next){case 0:return I=function _init(){i(g).find("*").each((function(){var t=this.getAttributeNS(y,"connector");if(t){this.setAttribute("class",s.substr(1));var e=t.split(" "),r=n.getStrokedBBox([o(e[0])]),a=n.getStrokedBBox([o(e[1])]);i(this).data("c_start",e[0]).data("c_end",e[1]).data("start_bb",r).data("end_bb",a),n.getEditorNS(!0)}}))},j=function _updateConnectors(t){if(A(t),b.length)for(var e=b.length;e--;){var r=b[e],o=r.connector,i=r.elem,a=r.is_start?"start":"end",c=n.getStrokedBBox([i]);c.x=r.start_x,c.y=r.start_y,f(o,a+"_bb",c),f(o,a+"_off");var u=r.is_start?"end":"start",s=f(o,u+"_bb"),l=s.x+s.width/2,p=s.y+s.height/2,h=S(l,p,c,w(a,o));_(o,r.is_start?0:"end",h.x,h.y,!0);var d=S(h.x,h.y,f(o,u+"_bb"),w(u,o));if(_(o,r.is_start?"end":0,d.x,d.y,!0),navigator.userAgent.includes("AppleWebKit")){for(var v=o.points,y=v.numberOfItems,g=[],m=0;m<y;m++)h=v.getItem(m),g[m]=h.x+","+h.y;o.setAttribute("points",g.join(" "))}}},A=function _findConnectors(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=i(g).find(s);b=[],e.each((function(){var e;function add(){t.includes(this)&&(e=!0)}var r=[];["start","end"].forEach((function(t,e){var o=f(this,"c_"+t);null==o?(o=document.getElementById(this.attributes["se:connector"].value.split(" ")[e]),f(this,"c_"+t,o.id),f(this,t+"_bb",n.getStrokedBBox([o]))):o=document.getElementById(o),r.push(o)}),this);for(var o=0;o<2;o++){var a=r[o];if(e=!1,i(a).parents().each(add),a&&a.parentNode){if(t.includes(a)||e){var c=n.getStrokedBBox([a]);b.push({elem:a,connector:this,is_start:0===o,start_x:c.x,start_y:c.y})}}else i(this).remove()}}))},O=function _updateLine(t,e){for(var r=b.length;r--;){var n=b[r],o=n.connector,i=n.is_start?"start":"end",a=f(o,i+"_bb");a.x=n.start_x+t,a.y=n.start_y+e,f(o,i+"_bb",a);var c=n.is_start?"end":"start",u=f(o,c+"_bb"),s=u.x+u.width/2,l=u.y+u.height/2,p=S(s,l,a,w(i,o));_(o,n.is_start?0:"end",p.x,p.y,!0);var h=S(p.x,p.y,f(o,c+"_bb"),w(c,o));_(o,n.is_start?"end":0,h.x,h.y,!0)}},_=function _setPoint(t,e,r,n,o){var i=t.points,c=a.createSVGPoint();c.x=r,c.y=n,"end"===e&&(e=i.numberOfItems-1);try{i.replaceItem(c,e)}catch(o){for(var u=t.getAttribute("points").split(" "),s=0;s<u.length;s++)s===e&&(u[s]=r+","+n);t.setAttribute("points",u.join(" "))}if(o){var f=i.getItem(0),l=i.getItem(i.numberOfItems-1);_(t,1,(l.x+f.x)/2,(l.y+f.y)/2)}},E=function _showPanel(t){var e=i("#connector_rules");e.length||(e=i('<style id="connector_rules"></style>').appendTo("head")),e.text(t?"#tool_clone, #tool_topath, #tool_angle, #xy_panel { display: none !important; }":""),i("#connector_panel").toggle(t)},w=function _getOffset(t,e){var r=e.getAttribute("marker-"+t),n=5*e.getAttribute("stroke-width");return r?n:0},S=function _getBBintersect(t,e,r,n){n&&(n-=0,(r=i.extend({},r)).width+=n,r.height+=n,r.x-=n/2,r.y-=n/2);var o,a=r.x+r.width/2,c=r.y+r.height/2,u=t-a,s=e-c;return{x:a+u*(o=Math.abs(s/u)<r.height/r.width?r.width/2/Math.abs(u):s?r.height/2/Math.abs(s):0),y:c+s*o}},n=(r=e).canvas,o=n.getElem,i=t.$,a=t.svgroot,c=n.addSVGElementFromJson,u=t.selectorManager,s=".se_connector",f=i.data,g=t.svgcontent,m=!1,b