@crystaldesign/diva-web-planner-react 25.5.0-beta.14 → 25.5.0-beta.16

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.
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see 7789.diva-web-planner-react.umd.min.js.LICENSE.txt */
2
- (self.webpackChunkCrystaldesignDivaWebPlannerReact=self.webpackChunkCrystaldesignDivaWebPlannerReact||[]).push([[7789],{75311:(e,t,n)=>{"use strict";const r=n(39437),{NAMESPACES:a}=n(34734);function generatePrefix(e,t,n){const r=`ns${n}`;return e[t]=[r],r}function preferredPrefixString(e,t,n){const r=e[t];return r?r.includes(n)?n:r[r.length-1]:null}function serializeAttributeValue(e){return null===e?"":e.replace(/&/gu,"&amp;").replace(/"/gu,"&quot;").replace(/</gu,"&lt;").replace(/>/gu,"&gt;").replace(/\t/gu,"&#x9;").replace(/\n/gu,"&#xA;").replace(/\r/gu,"&#xD;")}e.exports.preferredPrefixString=preferredPrefixString,e.exports.generatePrefix=generatePrefix,e.exports.serializeAttributeValue=serializeAttributeValue,e.exports.serializeAttributes=function serializeAttributes(e,t,n,i,o,l){let s="";const u=Object.create(null);for(const c of e.attributes){if(o&&u[c.namespaceURI]&&u[c.namespaceURI].has(c.localName))throw new Error("Found duplicated attribute");u[c.namespaceURI]||(u[c.namespaceURI]=new Set),u[c.namespaceURI].add(c.localName);const e=c.namespaceURI;let g=null;if(null!==e)if(g=preferredPrefixString(t,e,c.prefix),e===a.XMLNS){if(c.value===a.XML||null===c.prefix&&i||null!==c.prefix&&n[c.localName]!==c.value&&t[c.value].includes(c.localName))continue;if(o&&c.value===a.XMLNS)throw new Error("The XMLNS namespace is reserved and cannot be applied as an element's namespace via XML parsing");if(o&&""===c.value)throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace");"xmlns"===c.prefix&&(g="xmlns")}else null===g&&(g=generatePrefix(t,e,l.prefixIndex++),s+=` xmlns:${g}="${serializeAttributeValue(e)}"`);if(s+=" ",null!==g&&(s+=`${g}:`),o&&(c.localName.includes(":")||!r.name(c.localName)||"xmlns"===c.localName&&null===e))throw new Error("Invalid attribute localName value");s+=`${c.localName}="${serializeAttributeValue(c.value)}"`}return s}},34734:e=>{"use strict";e.exports.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"},e.exports.NODE_TYPES={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12},e.exports.VOID_ELEMENTS=new Set(["area","base","basefont","bgsound","br","col","embed","frame","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"])},68122:(e,t,n)=>{"use strict";const r=n(39437),a=n(75311),{NAMESPACES:i,VOID_ELEMENTS:o,NODE_TYPES:l}=n(34734),s=/^(\x09|\x0A|\x0D|[\x20-\uD7FF]|[\uE000-\uFFFD]|[\u{10000}-\u{10FFFF}])*$/u,u=/^(\x20|\x0D|\x0A|[a-zA-Z0-9]|[-'()+,./:=?;!*#@$_%])*$/u;function serializeElement(e,t,n,l,s){if(l&&(e.localName.includes(":")||!r.name(e.localName)))throw new Error("Failed to serialize XML: element node localName is not a valid XML name.");let u="<",c="",g=!1,h=!1;const p={...n},m=Object.create(null),d=function recordNamespaceInformation(e,t,n){let r=null;for(let a=0;a<e.attributes.length;++a){const o=e.attributes[a];if(o.namespaceURI===i.XMLNS){if(null===o.prefix){r=o.value;continue}let e=o.value;if(e===i.XML)continue;if(null===e&&(e=""),e in t&&t[e].includes(o.localName))continue;e in t||(t[e]=[]),t[e].push(o.localName),n[o.localName]=e}}return r}(e,p,m);let f=t;const v=e.namespaceURI;if(f===v)null!==d&&(h=!0),c=v===i.XML?`xml:${e.localName}`:e.localName,u+=c;else{let{prefix:t}=e,n=a.preferredPrefixString(p,v,t);if("xmlns"===t){if(l)throw new Error('Failed to serialize XML: element nodes can\'t have a prefix of "xmlns".');n="xmlns"}null!==n?(c=`${n}:${e.localName}`,null!==d&&d!==i.XML&&(f=""===d?null:d),u+=c):null!==t?(t in m&&(t=a.generatePrefix(p,v,s.prefixIndex++)),p[v]?p[v].push(t):p[v]=[t],c=`${t}:${e.localName}`,u+=`${c} xmlns:${t}="${a.serializeAttributeValue(v,l)}"`,null!==d&&(f=""===d?null:d)):null===d||d!==v?(h=!0,c=e.localName,f=v,u+=`${c} xmlns="${a.serializeAttributeValue(v,l)}"`):(c=e.localName,f=v,u+=c)}if(u+=a.serializeAttributes(e,p,m,h,l,s),v===i.HTML&&0===e.childNodes.length&&o.has(e.localName)?(u+=" /",g=!0):v!==i.HTML&&0===e.childNodes.length&&(u+="/",g=!0),u+=">",g)return u;if(v===i.HTML&&"template"===e.localName)u+=xmlSerialization(e.content,f,p,l,s);else for(const t of e.childNodes)u+=xmlSerialization(t,f,p,l,s);return u+=`</${c}>`,u}function xmlSerialization(e,t,n,r,a){switch(e.nodeType){case l.ELEMENT_NODE:return serializeElement(e,t,n,r,a);case l.DOCUMENT_NODE:return function serializeDocument(e,t,n,r,a){if(r&&null===e.documentElement)throw new Error("Failed to serialize XML: document does not have a document element.");let i="";for(const o of e.childNodes)i+=xmlSerialization(o,t,n,r,a);return i}(e,t,n,r,a);case l.COMMENT_NODE:return function serializeComment(e,t,n,r){if(r&&!s.test(e.data))throw new Error("Failed to serialize XML: comment node data is not well-formed.");if(r&&(e.data.includes("--")||e.data.endsWith("-")))throw new Error("Failed to serialize XML: found hyphens in illegal places in comment node data.");return`\x3c!--${e.data}--\x3e`}(e,0,0,r);case l.TEXT_NODE:return function serializeText(e,t,n,r){if(r&&!s.test(e.data))throw new Error("Failed to serialize XML: text node data is not well-formed.");return e.data.replace(/&/gu,"&amp;").replace(/</gu,"&lt;").replace(/>/gu,"&gt;")}(e,0,0,r);case l.DOCUMENT_FRAGMENT_NODE:return function serializeDocumentFragment(e,t,n,r,a){let i="";for(const o of e.childNodes)i+=xmlSerialization(o,t,n,r,a);return i}(e,t,n,r,a);case l.DOCUMENT_TYPE_NODE:return function serializeDocumentType(e,t,n,r){if(r&&!u.test(e.publicId))throw new Error("Failed to serialize XML: document type node publicId is not well-formed.");if(r&&(!s.test(e.systemId)||e.systemId.includes('"')&&e.systemId.includes("'")))throw new Error("Failed to serialize XML: document type node systemId is not well-formed.");let a=`<!DOCTYPE ${e.name}`;return""!==e.publicId?a+=` PUBLIC "${e.publicId}"`:""!==e.systemId&&(a+=" SYSTEM"),""!==e.systemId&&(a+=` "${e.systemId}"`),`${a}>`}(e,0,0,r);case l.PROCESSING_INSTRUCTION_NODE:return function serializeProcessingInstruction(e,t,n,r){if(r&&(e.target.includes(":")||function asciiCaseInsensitiveMatch(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if((32|e.charCodeAt(n))!=(32|t.charCodeAt(n)))return!1;return!0}(e.target,"xml")))throw new Error("Failed to serialize XML: processing instruction node target is not well-formed.");if(r&&(!s.test(e.data)||e.data.includes("?>")))throw new Error("Failed to serialize XML: processing instruction node data is not well-formed.");return`<?${e.target} ${e.data}?>`}(e,0,0,r);case l.ATTRIBUTE_NODE:return"";case l.CDATA_SECTION_NODE:return function serializeCDATASection(e){return`<![CDATA[${e.data}]]>`}(e);default:throw new TypeError("Failed to serialize XML: only Nodes can be serialized.")}}e.exports=(e,{requireWellFormed:t=!1}={})=>{const n=Object.create(null);return n["http://www.w3.org/XML/1998/namespace"]=["xml"],xmlSerialization(e,null,n,t,{prefixIndex:1})}},39437:(e,t)=>{"use strict";t.name=e=>/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/u.test(e),t.qname=e=>/(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*:[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)|(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)/u.test(e)},97933:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(13125),a=n(43860),i=n(74530),o=n(64357),l=n(80248),s=function(){function DockingPoint(e,t,n,a,i,o,s,u){(0,r.Z)(this,DockingPoint),(0,l.Z)(this,"dockingPoint",void 0),(0,l.Z)(this,"layer",void 0),(0,l.Z)(this,"isDisabled",void 0),(0,l.Z)(this,"plannerconfig",void 0),this.plannerconfig=s;var c=n.split("_");this.isDisabled=!1;var g=-1;if(c.length>=2)for(var h=1;h<c.length;h++){var p=parseInt(c[h]);if(!isNaN(p)){g=p;break}}else if(n.length>3){var m=parseInt(n.substring(3));isNaN(m)||(g=m)}this.dockingPoint={dpId:t+"_"+n,elementId:e,type:t,name:n,ignoreLayer:"AVR"==t||"AVL"==t||n.indexOf("_IL")>=0,localWorldPos:a,rotDeg:i,isDocking:!1,dpFilter:u},g>=0&&(this.dockingPoint.number=g),this.layer=o}return(0,a.Z)(DockingPoint,[{key:"clone",value:function clone(){var e=new DockingPoint(this.dockingPoint.elementId,this.dockingPoint.type,this.dockingPoint.name,this.dockingPoint.localWorldPos,this.dockingPoint.rotDeg,this.layer,this.plannerconfig,this.dockingPoint.dpFilter);return e.dockingPoint.dpId=this.dockingPoint.dpId,e.dockingPoint.ignoreLayer=this.dockingPoint.ignoreLayer,e.dockingPoint.isDocking=this.dockingPoint.isDocking,e.dockingPoint.number=this.dockingPoint.number,e.dockingPoint.onDP=this.dockingPoint.onDP,e.dockingPoint.onElementId=this.dockingPoint.onElementId,e}},{key:"ElementId",get:function get(){return this.dockingPoint.elementId}},{key:"Name",get:function get(){return this.dockingPoint.name}},{key:"LocalWorldPos",get:function get(){return this.dockingPoint.localWorldPos}},{key:"RotDeg",get:function get(){return this.dockingPoint.rotDeg}},{key:"Type",get:function get(){return this.dockingPoint.type}},{key:"IsDocking",get:function get(){return this.dockingPoint.isDocking}},{key:"Layer",get:function get(){return this.layer}},{key:"IgnoreLayer",get:function get(){return this.dockingPoint.ignoreLayer}},{key:"HasNumber",get:function get(){return null!=this.dockingPoint.number}},{key:"Number",get:function get(){return this.dockingPoint.number}},{key:"PlannerConfig",get:function get(){return this.plannerconfig}},{key:"IsDisabled",get:function get(){return this.isDisabled}},{key:"DPFilter",get:function get(){return this.dockingPoint.dpFilter}},{key:"doDock",value:function doDock(e,t){this.dockingPoint.isDocking=!0,this.dockingPoint.onDP=e,this.dockingPoint.onElementId=t}},{key:"undock",value:function undock(){this.dockingPoint.isDocking=!1,this.dockingPoint.onDP=void 0,this.dockingPoint.onElementId=void 0}},{key:"disableDP",value:function disableDP(e){this.isDisabled=e}},{key:"OnDP",get:function get(){return this.dockingPoint.onDP}},{key:"OnElementId",get:function get(){return this.dockingPoint.onElementId}},{key:"DpId",get:function get(){return this.dockingPoint.dpId}}])}(),u=i.ZP.initLog("Planner","WEB-PLANNER-LOGIC");const c=new(function(){return(0,a.Z)((function DockingPointHandler(){(0,r.Z)(this,DockingPointHandler)}),[{key:"getRotOfDP",value:function getRotOfDP(e,t){var n=o.FM.getDirection(t,e),r=new o.FM(0,1),a=o.FM.angleDeg(r,n);return n.x>0?360-a:a}},{key:"getReferenceDPType",value:function getReferenceDPType(e){switch(e){case"AVR":return"AVL";case"AVL":return"AVR";case"AVO":return"AVU";case"AVU":return"AVO";case"AVC":return"AVC";case"AVS":return"AVN";case"AVN":return"AVS"}return""}},{key:"sortDockingPoints",value:function sortDockingPoints(e,t){return"LEFT_TO_RIGHT"==e?t.sort((function(e,t){return e.LocalWorldPos.x>t.LocalWorldPos.x?1:-1})):t.sort((function(e,t){return e.LocalWorldPos.x<t.LocalWorldPos.x?1:-1}))}},{key:"checkDPAVLFilterDoMatch",value:function checkDPAVLFilterDoMatch(e,t){var n=e.FilterAVR,r=t.FilterAVL;if(0==r.length&&0==n.length)return!0;for(var a=0;a<n.length;a++)for(var i=0;i<r.length;i++)if(n[a]==r[i])return!0;return!1}},{key:"checkDPAVRFilterDoMatch",value:function checkDPAVRFilterDoMatch(e,t){var n=e.FilterAVL,r=t.FilterAVR;if(0==n.length&&0==r.length)return!0;for(var a=0;a<n.length;a++)for(var i=0;i<r.length;i++)if(n[a]==r[i])return!0;return!1}},{key:"checkDPsDoMatch",value:function checkDPsDoMatch(e,t,n,r){var a=this.checkDPAVRFilterDoMatch(n,r),i=this.checkDPAVLFilterDoMatch(n,r),o=this.getReferenceDPType(e.Type);if("AVL"==o&&!i)return!1;if("AVR"==o&&!a)return!1;if(t.Type!=o)return!1;if(e.IsDocking||t.IsDocking)return!1;if(!e.IgnoreLayer||!t.IgnoreLayer){var l=!0;if(!e.PlannerConfig.ignoreLayerAVC||"AVC"!=e.Type&&"AVC"!=t.Type||(l=!1),!e.PlannerConfig.ignoreLayerAVOAVU||"AVO"!=e.Type&&"AVU"!=e.Type||"AVO"!=t.Type&&"AVU"!=t.Type||(l=!1),!e.PlannerConfig.ignoreLayerAVNAVS||"AVN"!=e.Type&&"AVS"!=e.Type||"AVN"!=t.Type&&"AVS"!=t.Type||(l=!1),l&&t.Layer==e.Layer)return!1}return!e.HasNumber||!t.HasNumber||e.Number==t.Number}},{key:"doDock",value:function doDock(e,t,n,r){e.doDock(t,r),t.doDock(e,n)}},{key:"initDockingPointsFromSvg",value:function initDockingPointsFromSvg(e,t,n,r){e.saveCurrentDPState(),this.removeDockingPointRelations(e),e.clearAllDockingPoints();for(var a=0;a<t.length;a++){var l=t[a],u=new o.FM((l.x1-n.svgMinXVal)/i.ZP.UnitRecalc,(l.y1-n.svgMinYVal)/i.ZP.UnitRecalc),c=new o.FM((l.x2-n.svgMinXVal)/i.ZP.UnitRecalc,(l.y2-n.svgMinYVal)/i.ZP.UnitRecalc),g=this.getRotOfDP(u,c),h=void 0;"AVL"==l.dockingType?h=e.getFilterAVL():"AVR"==l.dockingType&&(h=e.getFilterAVR());var p=new s(e.getElementId(),l.dockingType,l.dockingName,new o.P(u.x,0,u.y),g,e.Layer,r,h);e.addDockingPoint(p)}}},{key:"removeDockingPointRelations",value:function removeDockingPointRelations(e){for(var t=e.getDockingPoints(),n=0;n<t.length;n++){var r=t[n];if(r.IsDocking)r.OnDP.undock(),r.undock()}}},{key:"removeDockingPointRelationsByType",value:function removeDockingPointRelationsByType(e,t){for(var n=[],r=e.getDockingPoints(),a=0;a<r.length;a++){var i=r[a];if(t.indexOf(i.Type)>-1&&i.IsDocking){var o=i.OnDP;n.push(o.ElementId),o.undock(),i.undock()}}return n}},{key:"searchDockableElementsInArea",value:function searchDockableElementsInArea(e,t,n){for(var r=e.getAllDockingPoints(),a=new Map,i=0;i<t.length;i++){var o=t[i];if(e.getElementId()!=o.getElementId())for(var l=0;l<r.length;l++)for(var s=r[l],u=this.getReferenceDPType(s.Type),c=o.getFreeDockingPointsByType(u),g=0;g<c.length;g++){var h=c[g];if(this.checkDPsDoMatch(s,h,e,o)){var p=e.getWorldPosOfDP(s.DpId),m=o.getWorldPosOfDP(h.DpId),d=Math.sqrt(Math.pow(p.x-m.x,2)+Math.pow(p.z-m.z,2));0!=n&&(n==1/0||d<n)&&(a.has(s.Type)?d<a.get(s.Type).distance&&a.set(s.Type,{sourceDP:s,targetDP:h,distance:d}):a.set(s.Type,{sourceDP:s,targetDP:h,distance:d}))}}}return a}},{key:"tryDockElement",value:function tryDockElement(e,t,n){var r=e.getDockingPointsByType(t);if(!r)return!1;for(var a=this.getReferenceDPType(t),i=0;i<n.length;i++){var o=n[i];if(o.ElementId!=e.ElementId&&((e.IsAccessoire||!o.IsAccessoire||o.getParentElementId()==e.getElementId())&&(!e.IsAccessoire||o.getAccessoires().includes(e.ArticleCodex)))){var l=o.getDockingPointsByType(a);if((e.getIsDockedAccessoire()||e.IsAccessoire)&&(l=this.sortDockingPoints("LEFT_TO_RIGHT",l)),l)for(var s=0;s<l.length;s++)for(var u=l[s],c=0;c<r.length;c++){var g=r[c];if(this.checkDPsDoMatch(g,u,e,o))return this.doDock(g,u,e.ElementId,o.ElementId),g}}}return!1}},{key:"tryDockElementToDP",value:function tryDockElementToDP(e,t,n){var r=this.getReferenceDPType(n.Type),a=e.getFreeDockingPointsByType(r);if(!a)return!1;for(var i=0;i<a.length;i++)if(this.checkDPsDoMatch(a[i],n,e,t))return this.doDock(a[i],n,e.ElementId,t.ElementId),a[i];return!1}},{key:"tryDockElementDPToDP",value:function tryDockElementDPToDP(e,t,n,r){return!!this.checkDPsDoMatch(n,r,e,t)&&(this.doDock(n,r,e.getElementId(),t.getElementId()),!0)}},{key:"updateDockingRelations",value:function updateDockingRelations(e){var t=[],n=[];e.forEach((function(e,r){e.IsDockedAccessoire?n.push(e):t[e.PosNr-1]=e})),t=t.concat(n);for(var r=[],a=0;a<t.length;a++)if(t[a])for(var i=t[a],o=i.getTempDockingPoints(),l=0;l<o.length;l++){var s=o[l];if(s.IsDocking&&s.OnElementId){var u=i.getDockingPointById(s.DpId);if(null==u){var c=e.get(s.OnElementId),g=i.getFreeDockingPointsByType(s.Type);if(1==g.length){var h=null==c?void 0:c.getFreeDockingPointsByType(this.getReferenceDPType(s.Type));if(1==(null==h?void 0:h.length)){this.tryDockElementDPToDP(i,c,g[0],h[0]);continue}}c&&r.push(c);continue}if(e.has(s.OnElementId)){var p=e.get(s.OnElementId),m=null==p?void 0:p.getDockingPointById(s.OnDP.DpId);this.tryDockElementDPToDP(i,p,u,m)}}}for(a=0;a<t.length;a++)t[a]&&t[a].clearTempDockingPoints();return r}},{key:"initDockingPointRelationByArea",value:function initDockingPointRelationByArea(e,t,n){if(e.getFreeDockingPointsByType(n).length>0){var r=this.searchDockableElementsInArea(e,[t],1/0);if(r.has(n)){var a=r.get(n);if(a)this.tryDockElementDPToDP(e,t,a.sourceDP,a.targetDP)||u.debug("Error when initializing docking Points. Two dockingpoints could not be matched. sourceDP: "+a.sourceDP.DpId+"; sourceRlementId: "+a.sourceDP.ElementId+"; targetDP: "+a.targetDP.DpId+" targetElemId: "+a.targetDP.ElementId)}}}},{key:"checkElementsAreDocking",value:function checkElementsAreDocking(e,t){for(var n=e.getDockingDockingPoints(),r=0;r<n.length;r++){if(n[r].OnElementId==t.getElementId())return!0}return!1}}])}())},22885:(e,t,n)=>{"use strict";n.d(t,{Z:()=>y});var r=n(84658),a=n(13125),i=n(43860),o=n(80248),l=n(50747),s=n.n(l),u=n(12952),c=n(63846),g=n(74530),h=n(68122),p=n.n(h),m=n(64357),d=g.ZP.initLog("Planner","WEB-PLANNER-LOGIC"),f=function(){return(0,i.Z)((function SVGUtils(){(0,a.Z)(this,SVGUtils)}),[{key:"removeOLFFromSvg",value:function removeOLFFromSvg(e){var t,n=(t=(new DOMParser).parseFromString(e,"application/xml")).evaluate("//*[starts-with(@id,'VIF')]",t,null,7,null);if(n.snapshotLength>0)for(var r=0;r<n.snapshotLength;r++){var a;null===(a=n.snapshotItem(r).parentElement)||void 0===a||a.removeChild(n.snapshotItem(r))}var i=t.evaluate("//*[starts-with(@id,'OLF')]",t,null,7,null);if(i.snapshotLength>0)for(r=0;r<i.snapshotLength;r++){var o;null===(o=i.snapshotItem(r).parentElement)||void 0===o||o.removeChild(i.snapshotItem(r))}return"undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(t):p()(t)}},{key:"getDPsInSVG",value:function getDPsInSVG(e){var t=[],n=(new DOMParser).parseFromString(e,"application/xml"),r=n.evaluate("//*[starts-with(@id,'AV')]",n,null,7,null);if(r.snapshotLength>0)for(var a=0;a<r.snapshotLength;a++){var i=r.snapshotItem(a);if("line"!==(null==i?void 0:i.nodeName))throw new Error("nodename type: "+i.nodeName+"not implemented");t.push({x1:Number(i.getAttribute("x1")),y1:Number(i.getAttribute("y1")),x2:Number(i.getAttribute("x2")),y2:Number(i.getAttribute("y2")),dockingName:i.getAttribute("id"),dockingType:i.getAttribute("id").substring(0,3)})}return t.sort((function(e,t){return"AVL"===e.dockingType||"AVR"===e.dockingType&&["AVR","AVC","AVU","AVO","AVS","AVN"].includes(t.dockingType)?-1:0})),t}},{key:"getPointOfPoligonById",value:function getPointOfPoligonById(e,t){var n=[],r=(new DOMParser).parseFromString(e,"application/xml"),a=r.evaluate("//*[starts-with(@id,'"+t+"')]",r,null,7,null);if(!(a.snapshotLength>1||0==a.snapshotLength)){for(var i=0;i<a.snapshotLength;i++){var o=a.snapshotItem(i);if("polygon"===(null==o?void 0:o.nodeName)){var l=o.getAttribute("points");if(!l)return;for(var s=l.split(" "),u=0;u<s.length;u++){var c=s[u].split(",");2===c.length&&n.push(new m.FM(Number(c[0]),Number(c[1])))}}}return n}}},{key:"getBoundingBoxOfPoints",value:function getBoundingBoxOfPoints(e){var t=e.map((function(e){return e.x})),n=e.map((function(e){return e.y})),r=Math.min.apply(Math,(0,u.Z)(t)),a=Math.max.apply(Math,(0,u.Z)(t)),i=Math.min.apply(Math,(0,u.Z)(n));return{width:a-r,height:Math.max.apply(Math,(0,u.Z)(n))-i}}},{key:"removeMaskFromSvg",value:function removeMaskFromSvg(e){if(e.toLowerCase().indexOf("mask")>=0){for(var t,n=(t=(new DOMParser).parseFromString(e,"image/svg+xml")).evaluate('//*["mask"=local-name()]',t,null,7,null),r=0;r<n.snapshotLength;r++){var a;null===(a=n.snapshotItem(r).parentElement)||void 0===a||a.removeChild(n.snapshotItem(r))}var i=t.evaluate("//*[@mask]",t,null,7,null);for(r=0;r<i.snapshotLength;r++){var o;null===(o=i.snapshotItem(r).parentElement)||void 0===o||o.removeChild(i.snapshotItem(r))}return"undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(t):p()(t)}return e}},{key:"ccCheckStretchAreas",value:function ccCheckStretchAreas(e,t,n,r,a,i,o){var l,s,u,h,m,f,v,D=g.ZP.UnitRecalc,y=t*D,F=n*D,k=[],P=[],A=[],b=[],E=0,S=0,L=0,x=0,O=0,w=0,T=0,V=0,I=!1,C=0,N=0,M="",R=new RegExp("svg","g"),B=(e=e.replace(R,"xxx"),new DOMParser);l=B.parseFromString(e,"application/xml"),s=l.getElementsByTagName("xxx")[0],R=new RegExp("xxx","g"),function correctSVG(e){var t=e.getAttribute("viewBox");t&&null==e.getAttribute("width")&&e.setAttribute("width",t.split(" ")[2]);t&&null==e.getAttribute("height")&&e.setAttribute("height",t.split(" ")[3]);var n,r=e.getAttribute("width");r.indexOf("mm")>0?(n=parseFloat(r.substring(0,r.length-2)),n*=D):n=r.indexOf("px")>0?parseFloat(r.substring(0,r.length-2)):parseFloat(r);e.setAttribute("width",n.toString());var a,i=e.getAttribute("height");i.indexOf("mm")>0?(a=parseFloat(i.substring(0,i.length-2)),a*=D):a=i.indexOf("px")>0?parseFloat(i.substring(0,i.length-2)):parseFloat(i);e.setAttribute("height",a.toString()),t||e.setAttribute("viewBox","0 0 "+n+" "+a)}(s),v=function calcScaleFactorSvgViewBox(e){var t=e.getAttribute("viewBox"),n=1,r=1;if(null!=t){var a=Number(e.getAttribute("width")),i=t.split(" "),o=Number(i[2]);n=a/o;var l=Number(e.getAttribute("height")),s=Number(i[3]);r=l/s}return new c.fabric.Point(n,r)}(s),function recalcScaleFactorSvgViewBox(e){if(null!=e.getAttribute("viewBox")){var t,n=Math.ceil(parseFloat(e.getAttribute("width"))),r=Math.ceil(parseFloat(e.getAttribute("height"))),a=e.getAttribute("x");a?(a.indexOf("mm")>0?(t=parseFloat(a.substring(0,a.length-2)),t*=D):t=a.indexOf("px")>0?parseFloat(a.substring(0,a.length-2)):parseFloat(a),t=Math.ceil(t)):t=0;var i,o=e.getAttribute("y");o?(o.indexOf("mm")>0?(i=parseFloat(o.substring(0,o.length-2)),i*=D):i=o.indexOf("px")>0?parseFloat(o.substring(0,o.length-2)):parseFloat(o),i=Math.ceil(i)):i=0,e.setAttribute("viewBox",t+" "+i+" "+n+" "+r)}}(s),function correctSVGViewBoxScale(e,t){if(1==t.x&&1==t.y)return;var n=e.children;if(!n)return;for(var r=0;r<n.length;r++){switch(n[r].tagName){case"rect":correctViewBoxScaleRectangle(n[r],t);break;case"polygon":correctViewBoxScalePolygon(n[r],t);break;case"path":correctViewBoxScalePath(n[r],t);break;case"line":correctViewBoxScaleLine(n[r],t);break;case"style":correctViewBoxScaleStyle(n[r],t)}correctSVGViewBoxScale(n[r],t)}}(s,v);var W=Math.round(parseFloat(s.getAttribute("width"))/D*100)/100,G=Math.round(parseFloat(s.getAttribute("height"))/D*100)/100;function correctViewBoxScaleStyle(e,t){"text/css"!=e.getAttribute("type")&&d.debug("Warnung komisches style Element bei diesem CSS.");for(var n=e.innerHTML.split("{"),r="",a=0;a<n.length;a++){var i=n[a].indexOf("width");if(i>=0){for(var o="",l=-1,s=-1,u=i+"width".length;u<n[a].length;u++){if(";"==n[a][u]||"}"==n[a][u]){s=u;break}l>-1&&(o+=n[a][u]),":"==n[a][u]&&(l=u)}var c=parseFloat(o)*t.x,g=n[a].substring(0,l+1)+c+n[a].substring(s,n[a].lenght);n[a]=g}var h=n[a].indexOf("height");if(h>=0){for(o="",l=-1,s=-1,u=h+"height".length;u<n[a].length;u++){if(";"==n[a][u]||"}"==n[a][u]){s=u;break}l>-1&&(o+=n[a][u]),":"==n[a][u]&&(l=u)}c=parseFloat(o)*t.y,g=n[a].substring(0,l+1)+c+n[a].substring(s,n[a].lenght);n[a]=g}r+=n[a],a<n.length-1&&(r+="{")}e.innerHTML=r}function correctViewBoxScaleLine(e,t){var n=e.getAttribute("x1");n||(n=0);var r=e.getAttribute("x2"),a=e.getAttribute("y1");a||(a=0);var i=e.getAttribute("y2");e.setAttribute("x1",parseFloat(n)*t.x),e.setAttribute("y1",parseFloat(a)*t.y),e.setAttribute("x2",parseFloat(r)*t.x),e.setAttribute("y2",parseFloat(i)*t.y)}function correctViewBoxScalePath(e,t){var n=getPathStringFromPathElement(createPathElement(e.getAttribute("d"),t));e.setAttribute("d",n)}function correctViewBoxScalePolygon(e,t){var n=createPolygonElement(e.getAttribute("points"),t);e.setAttribute("points",n.points)}function correctViewBoxScaleRectangle(e,t){var n=e.getAttribute("x");n||(n=0);var r=e.getAttribute("y");r||(r=0);var a=e.getAttribute("width"),i=e.getAttribute("height");e.setAttribute("x",parseFloat(n)*t.x),e.setAttribute("y",parseFloat(r)*t.y),e.setAttribute("width",parseFloat(a)*t.x),e.setAttribute("height",parseFloat(i)*t.y)}function resizeXml(e,t,n,a){var i="OLT"==n?E:L,o="OLT"==n?S:x;if(!r&&P[0]&&t!=o){"OLT"==n?S=t:x=t;for(var l=round(t-o),u=0,c=0;c<P.length;c++)P[c].setAttribute("y",round(parseFloat(P[c].getAttribute("y"))+u)),P[c].setAttribute("height",round(l*b[c])),u+=round(l*b[c]);fixXMLObject(s,"SAV",n)}if(!r&&e!=i&&k[0]){"OLT"==n?E=e:L=e;var g=round(e-i),h=0;for(c=0;c<k.length;c++)"OLT"==n&&(k[c].setAttribute("x",round(parseFloat(k[c].getAttribute("x"))+h)),h+=round(g*A[c])),k[c].setAttribute("width",round(g*A[c]));fixXMLObject(s,"SAH",n)}var p=!1;r&&t!=o&&(f=t/o,p=!0,"OLT"==n?S=t:x=t),r&&e!=i&&(m=e/i,p=!0,"OLT"==n?E=e:L=e),p&&fixXMLObject(s,"GLOBAL_SCALE",n),a()}function fixXMLObject(e,t,n){var r,a;"OLT"==n?(r="VIF",a="OLF"):(r="VIT",a="OLT");for(var i=e.children,o=0;o<i.length;o++)if(i[o].getAttribute("id")!=r&&i[o].getAttribute("id")!=a){switch(i[o].localName){case"g":break;case"rect":(!i[o].hasAttribute("id")||"SAV"!=i[o].getAttribute("id").substring(0,3)&&"SAH"!=i[o].getAttribute("id").substring(0,3))&&e.replaceChild(fixRectangle(i[o],t),i[o]);break;case"path":var l=fixPath(createPathElement(i[o].getAttribute("d")),t);i[o].setAttribute("d",l);break;case"line":i[o].hasAttribute("id")&&"AV"==i[o].getAttribute("id").substring(0,2)?"OLT"==n&&e.replaceChild(fixLine(i[o],t),i[o]):e.replaceChild(fixLine(i[o],t),i[o]);break;case"polygon":case"polyline":var s=fixPolygon(createPolygonElement(i[o].getAttribute("points")),t);i[o].setAttribute("points",s);break;case"image":fixImage(i[o],t)}fixXMLObject(i[o],t,n)}}function fixImage(e,t){if(e.setAttribute("preserveAspectRatio","none"),"SAH"==t){var n=parseInt(e.getAttribute("width"),10),r=y/u;n=Math.round(n*r),e.setAttribute("width",n+"px")}else if("SAV"==t){var a=parseInt(e.getAttribute("height"),10),i=F/h;a=Math.round(a*i),e.setAttribute("height",a+"px")}}function fixLine(e,t){var n,r,a,i;if("SAH"==t)for(var o=0;o<k.length;o++){n=parseFloat(e.getAttribute("x1")),a=parseFloat(e.getAttribute("x2"));var l=parseFloat(k[o].getAttribute("x"));scaleLineX(n,a,l,round(l+parseFloat(k[o].getAttribute("width"))))}else if("SAV"==t)for(o=0;o<P.length;o++){r=parseFloat(e.getAttribute("y1")),i=parseFloat(e.getAttribute("y2"));var s=parseFloat(P[o].getAttribute("y"));scaleLineY(r,i,s,round(s+parseFloat(P[o].getAttribute("height"))))}else"GLOBAL_SCALE"==t&&(n=parseFloat(e.getAttribute("x1")),a=parseFloat(e.getAttribute("x2")),r=parseFloat(e.getAttribute("y1")),i=parseFloat(e.getAttribute("y2")),e.setAttribute("x1",round(n*m)),e.setAttribute("x2",round(a*m)),e.setAttribute("y1",round(r*f)),e.setAttribute("y2",round(i*f)));function scaleLineX(t,n,r,a){t>r?(e.setAttribute("x1",round(t+(a-r))),e.setAttribute("x2",round(n+(a-r)))):t<r&&n>r&&e.setAttribute("x2",round(n+(a-r)))}function scaleLineY(t,n,r,a){t>r?(e.setAttribute("y1",round(t+(a-r))),e.setAttribute("y2",round(n+(a-r)))):t<r&&n>r&&e.setAttribute("y2",round(n+(a-r)))}return e}function fixPolygon(e,t){if("SAH"==t)for(var n=0;n<k.length;n++)for(var r=parseFloat(k[n].getAttribute("x")),a=round(r+parseFloat(k[n].getAttribute("width"))),i=0;i<e.points.length;i++)e.points[i].x>r&&(e.points[i].x+=a-r);else if("SAV"==t)for(n=0;n<P.length;n++){var o=parseFloat(P[n].getAttribute("y")),l=round(o+parseFloat(P[n].getAttribute("height")));for(i=0;i<e.points.length;i++)e.points[i].y>o&&(e.points[i].y+=l-o)}else if("GLOBAL_SCALE"==t)for(i=0;i<e.points.length;i++)e.points[i].x=e.points[i].x*m,e.points[i].y=e.points[i].y*f;var s="";for(i=0;i<e.points.length;i++)s+=e.points[i].x+","+e.points[i].y+" ";return s}function fixRectangle(e,t){if("SAH"==t)for(var n=0;n<k.length;n++){var r=parseFloat(e.getAttribute("x")),a=round(r+parseFloat(e.getAttribute("width"))),i=parseFloat(k[n].getAttribute("x"));scaleRectX(r,a,i,round(i+parseFloat(k[n].getAttribute("width"))))}else if("SAV"==t)for(n=0;n<P.length;n++){var o=parseFloat(P[n].getAttribute("y")),l=round(o+parseFloat(P[n].getAttribute("height"))),s=parseFloat(e.getAttribute("y"));scaleRectY(s,round(s+parseFloat(e.getAttribute("height"))),o,l)}else if("GLOBAL_SCALE"==t){var u=parseFloat(e.getAttribute("x")),c=parseFloat(e.getAttribute("width")),g=parseFloat(e.getAttribute("y")),h=parseFloat(e.getAttribute("height"));e.setAttribute("x",round(u*m)),e.setAttribute("width",round(c*m)),e.setAttribute("y",round(g*f)),e.setAttribute("height",round(h*f))}function scaleRectX(t,n,r,a){t<=r&&n>=r?e.setAttribute("width",round(n-t+(a-r))):t>r&&e.setAttribute("x",round(t+(a-r)))}function scaleRectY(t,n,r,a){t<=r&&n>=r?e.setAttribute("height",round(n-t+(a-r))):t>r&&e.setAttribute("y",round(t+(a-r)))}return e}function fixPath(e,t){if("SAH"==t)for(var n=0;n<k.length;n++)for(var r,a=parseFloat(k[n].getAttribute("x")),i=round(a+parseFloat(k[n].getAttribute("width"))),o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"L":case"H":r=e.elements[o].parameter[0],e.elements[o].parameter[0]>a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)));break;case"m":case"l":case"h":(l=e.elements[o].parameter[0])>=0&&r<a&&r+e.elements[o].parameter[0]>a?e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)):l<0&&r>=a&&r+e.elements[o].parameter[0]<a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(i-a))),r+=l;break;case"C":r=e.elements[o].parameter[4],e.elements[o].parameter[4]>a&&(e.elements[o].parameter[4]=round(e.elements[o].parameter[4]+(i-a)),e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a)));break;case"c":var l=e.elements[o].parameter[4];(r<a&&e.elements[o].parameter[4]+r>a||l<0&&r>=a&&r+e.elements[o].parameter[0]<a)&&(e.elements[o].parameter[4]=round(e.elements[o].parameter[4]+(i-a)),e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a))),r+=l;break;case"S":r=e.elements[o].parameter[2],e.elements[o].parameter[2]>a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a)));break;case"s":l=e.elements[o].parameter[2];r<a&&e.elements[o].parameter[2]+r>a?(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a))):l<0&&r>=a&&r+e.elements[o].parameter[0]<a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]-(i-a))),r+=l}else if("SAV"==t)for(n=0;n<P.length;n++){var s,u=parseFloat(P[n].getAttribute("y")),c=round(u+parseFloat(P[n].getAttribute("height")));for(o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"L":s=e.elements[o].parameter[1],e.elements[o].parameter[1]>u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)));break;case"m":case"l":l=e.elements[o].parameter[1];s<u&&e.elements[o].parameter[1]+s>u?e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)):l<0&&s>=u&&s+e.elements[o].parameter[1]<u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u))),s+=l;break;case"V":s=e.elements[o].parameter[0],e.elements[o].parameter[0]>u&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(c-u)));break;case"v":l=e.elements[o].parameter[0];s<u&&e.elements[o].parameter[0]+s>u?e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(c-u)):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(c-u))),s+=l;break;case"C":s=e.elements[o].parameter[5],e.elements[o].parameter[5]>u&&(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]+(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u)));break;case"c":l=e.elements[o].parameter[5];s<u&&e.elements[o].parameter[5]+s>u?(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]+(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u))):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]-(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]-(c-u))),s+=l;break;case"S":s=e.elements[o].parameter[3],e.elements[o].parameter[3]>u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u)));break;case"s":l=e.elements[o].parameter[3];s<u&&e.elements[o].parameter[3]+s>u?(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u))):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]-(c-u))),s+=l}}else if("GLOBAL_SCALE"==t)for(o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"m":case"l":case"L":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*m),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f);break;case"v":case"V":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*f);break;case"h":case"H":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*m);break;case"C":case"c":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*m),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]*m),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]*f),e.elements[o].parameter[4]=round(e.elements[o].parameter[4]*m),e.elements[o].parameter[5]=round(e.elements[o].parameter[5]*f);break;case"S":case"s":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*m),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]*m),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]*f)}return getPathStringFromPathElement(e)}function getPathStringFromPathElement(e){for(var t="",n=0;n<e.elements.length;n++)if(t+=e.elements[n].command,"z"!=e.elements[n].command)for(var r=0;r<e.elements[n].parameter.length;r++)t+=e.elements[n].parameter[r],r!=e.elements[n].parameter.length-1&&(t+=",");return t}function fixViewBox(e,t,n){var r="",a=T+L>O+E?T+L:O+E,i=V+x>w+S?V+x:w+S;if(e.setAttribute("height",(Math.round(100*i)/100).toString()),e.setAttribute("width",(Math.round(100*a)/100).toString()),t=Math.round(100*t)/100,n=Math.round(100*n)/100,e.hasAttribute("x")&&e.hasAttribute("y"))r=Number.parseFloat(e.getAttribute("x").substring(0,e.getAttribute("x").length-2))+t+" "+(Number.parseFloat(e.getAttribute("y").substring(0,e.getAttribute("y").length-2))+n)+" "+Math.round(100*a)/100+" "+Math.round(100*i)/100;else{var o=e.getAttribute("viewBox").split(" ");r=Number.parseFloat(o[0])+t+" "+(Number.parseFloat(o[1])+n),r=k[0]?r+" "+Math.round(100*a)/100:r+" "+o[2],r=P[0]?r+" "+Math.round(100*i)/100:r+" "+o[3]}var l="new "+r;return e.setAttribute("x",t),e.setAttribute("y",n),e.setAttribute("viewBox",r),e.setAttribute("enable-background",l),e.setAttribute("style","enable-background:new "+r+";"),e}function createPolygonElement(e,t){var n=!0,r="",a="",i=[],o={},l=e.includes(",")?",":e.includes(" ")?" ":",";e=e.trimEnd().trimStart();for(var s=0;s<e.length;s++){var u=e.charAt(s);n||" "!=u?u==l?n=!1:n?r+=u:a+=u:""!=r&&(i.push(createPoint(r,a)),r="",a="",n=!0)}function createPoint(e,t){var n={};return n.x=parseFloat(e),n.y=parseFloat(t),n}return""!=r&&(!t||1==t.x&&1==t.y?i.push(createPoint(r,a)):i.push(createPoint(r,a)*t)),o.points=i,o}function createPathElement(e,t){for(var n,r,a=[],i=[],o=0,l={},s=0;s<e.length;s++){var u=e.charAt(s);" "==u&&s-1>0&&(1===(r=e.charAt(s-1)).length&&r.match(/[a-z]/i))||(" "==u||isNaN(u)&&"."!=u&&"-"!=u?","==u||" "==u?(null!=i[o]&&(i[o]=parseFloat(i[o])),isNaN(e.charAt(s+1))||" "==e.charAt(s+1)||o++):" "!=u&&"."!=u&&"-"!=u&&(null==n?n=u:(null!=i[o]&&(i[o]=parseFloat(i[o]),checkForSkippedLiterals(t),"z"==u&&a.push(createPoint("z",null))),n=u,i=[],o=0)):null!=i[o]&&"-"==u?(i[o]=parseFloat(i[o]),o++,i[o]=u):null!=i[o]?i[o]+=u:i[o]=u)}function checkForSkippedLiterals(e){var t=0;switch(n){case"M":case"m":case"L":case"l":t=2;break;case"H":case"h":case"V":case"v":t=1;break;case"C":case"c":t=6;break;case"S":case"s":t=4;break;default:return void d.error(new g.GE("svg path command: "+n+" unknown"))}for(var r=0;r<i.length;r+=t){for(var o=[],l=0;l<t;l++)o.push(i[r+l]);a.push(createPoint(n,o,e))}}function createPoint(e,t,n){var r={};if(r.command=e,r.parameter=t,n&&(1!=n.x||1!=n.y))switch(r.command){case"M":case"m":case"L":case"l":r.parameter[0]=r.parameter[0]*n.x,r.parameter[1]=r.parameter[1]*n.y;break;case"H":case"h":r.parameter[0]=r.parameter[0]*n.x;break;case"V":case"v":r.parameter[0]=r.parameter[0]*n.y;break;case"C":case"c":r.parameter[0]=r.parameter[0]*n.x,r.parameter[1]=r.parameter[1]*n.y,r.parameter[2]=r.parameter[2]*n.x,r.parameter[3]=r.parameter[3]*n.y,r.parameter[4]=r.parameter[4]*n.x,r.parameter[5]=r.parameter[5]*n.y;break;case"S":case"s":r.parameter[0]=r.parameter[0]*n.x,r.parameter[1]=r.parameter[1]*n.y,r.parameter[2]=r.parameter[2]*n.x,r.parameter[3]=r.parameter[3]*n.y}return r}return"z"!=e.charAt(e.length-1)&&checkForSkippedLiterals(t),l.elements=a,l}function round(e){return Math.round(1e3*e)/1e3}return 0==y&&(W=parseFloat(s.getAttribute("width"))),0==F&&(F=parseFloat(s.getAttribute("height"))),function correctTEAttributes(){var e=l.evaluate("//*[starts-with(@id,'TE')]",l,null,7,null);if(0==e.snapshotLength){var t=l.evaluate("//*[starts-with(@id,'OLT')]",l,null,7,null);if(t.snapshotLength>0)for(var n=0;n<t.snapshotLength;n++){var r;if("g"!=(null===(r=t.snapshotItem(n))||void 0===r?void 0:r.nodeName)){var a,i=null===(a=t.snapshotItem(n))||void 0===a?void 0:a.parentNode;"g"==i.tagName&&i.setAttribute("id","TE")}}e=l.evaluate("//*[starts-with(@id,'TE')]",l,null,7,null)}if(e.snapshotLength>0)for(n=0;n<e.snapshotLength;n++){var o;if("g"==(null===(o=e.snapshotItem(n))||void 0===o?void 0:o.nodeName))e.snapshotItem(n).setAttribute("display","none")}}(),function findStretchAreas(e,t,n){var r=0,a=0,i=0,o=l.evaluate("//*[starts-with(@id,'SAH')]",l,null,7,null),s=[];for(i=0;i<o.snapshotLength;i++)s.push(o.snapshotItem(i));for(i=0;i<s.length;i++)"polygon"==s[i].nodeName&&(s[i]=convertPolygonToRect(s[i],l)),"rect"==s[i].nodeName&&(s[i].setAttribute("style","fill:none;"),correctViewBoxScaleRectangle(s[i],t)),r+=parseFloat(s[i].getAttribute("width")),k.push(s[i]);var g=l.evaluate("//*[starts-with(@id,'SAV')]",l,null,7,null),p=[];for(i=0;i<g.snapshotLength;i++)p.push(g.snapshotItem(i));for(i=0;i<p.length;i++)"polygon"==p[i].nodeName&&(p[i]=convertPolygonToRect(p[i],l)),"rect"==p[i].nodeName&&(p[i].setAttribute("style","fill:none;"),correctViewBoxScaleRectangle(p[i],t)),a+=parseFloat(p[i].getAttribute("height")),P.push(p[i]);var m=l.evaluate("//*[starts-with(@id,'OLF')]",l,null,7,null);for(i=0;i<m.snapshotLength;i++)I=!0,calcOlfAndOlt(m.snapshotItem(i),"OLF");var d=l.evaluate("//*[starts-with(@id,'OLT')]",l,null,7,null);for(i=0;i<d.snapshotLength;i++){var f;d.snapshotLength>1&&"TE"!=(null===(f=d.snapshotItem(i))||void 0===f||null===(f=f.parentElement)||void 0===f?void 0:f.getAttribute("id"))||calcOlfAndOlt(d.snapshotItem(i),"OLT")}I&&(C=L-E,N=x-S);function convertPolygonToRect(e,t){var n=t.createElement("rect");n.setAttribute("id",e.getAttribute("id"));var r=createPolygonElement(e.getAttribute("points")).points;if(r.length>0){for(var a=r[0].x,i=r[0].x,o=r[0].y,l=r[0].y,s=1;s<r.length;s++)r[s].x<a?a=r[s].x:r[s].x>i&&(i=r[s].x),r[s].y<o?o=r[s].y:r[s].y>l&&(l=r[s].y);n.setAttribute("x",a),n.setAttribute("y",o),n.setAttribute("width",i-a),n.setAttribute("height",l-o),e.parentElement.appendChild(n),n.parentElement.removeChild(e)}return n}function calcOlfAndOlt(e,t,n){switch(e.localName){case"rect":e.hasAttribute("x")||e.setAttribute("x","0"),null==!e.hasAttribute("y")&&e.setAttribute("y","0"),"OLT"==t?(E=parseFloat(e.getAttribute("width")),S=parseFloat(e.getAttribute("height"))):"OLF"==t&&(L=parseFloat(e.getAttribute("width")),x=parseFloat(e.getAttribute("height")));break;case"polygon":var r,a,i=createPolygonElement(e.getAttribute("points")),o=0,l=0;i.points[0]&&(r=i.points[0].x,a=i.points[0].y);for(var s=0;s<i.points.length;s++)i.points[s].x>o&&(o=i.points[s].x),i.points[s].y>l&&(l=i.points[s].y),i.points[s].x<r&&(r=i.points[s].x),i.points[s].y<a&&(a=i.points[s].y);"OLT"==t?(E=o-r,S=l-a,O=r,w=a):"OLF"==t&&(L=o-r,x=l-a,T=r,V=a);break;case"path":var u=new c.fabric.Path(e.getAttribute("d"));"OLT"==t?(E=u.width,S=u.height):"OLF"==t&&(L=u.width,x=u.height);break;case"g":var g=e.children;e.setAttribute("id","");for(s=0;s<g.length;s++){switch(g[s].localName){case"rect":case"path":case"polygon":g[s].setAttribute("id",t),calcOlfAndOlt(g[s],t)}break}}}u=E,h=S,function sortSA(){for(var e=0;e<k.length;e++){for(var t=e,n=e+1;n<k.length;n++)parseFloat(k[n].getAttribute("x"))<parseFloat(k[t].getAttribute("x"))&&(t=n);if(t>e){var r=k[e];k[e]=k[t],k[t]=r}}for(e=0;e<P.length;e++){for(t=e,n=e+1;n<P.length;n++)parseFloat(P[n].getAttribute("y"))<parseFloat(P[t].getAttribute("y"))&&(t=n);if(t>e){r=P[e];P[e]=P[t],P[t]=r}}}(),function calcRatioSA(e,t){if(e>0)for(var n=0;n<k.length;n++)A[n]=parseFloat(k[n].getAttribute("width"))/e;if(t>0)for(n=0;n<P.length;n++)b[n]=parseFloat(P[n].getAttribute("height"))/t}(r,a),function clearSA(){for(var e=0;e<k.length;e++)k[e].setAttribute("width","0");for(e=0;e<P.length;e++)P[e].setAttribute("height","0")}(),n()}(s.children,v,(function(){var e;(y/=v.x,F/=v.y,t==W&&n==G)?(e=(e="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):p()(l)).replace(R,"svg"),o(e)):resizeXml(y,F,"OLT",(function(){I?resizeXml(y+C,F+N,"OLF",(function(){s=fixViewBox(s,a,i),M=(M="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):p()(l)).replace(R,"svg"),o(M)})):(s=fixViewBox(s,a,i),M=(M="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):p()(l)).replace(R,"svg"),o(M))}))})),{heightOLF:x,widthOLF:L,heightOLT:S,widthOLT:E}}}])}(),v=n(97933),D=g.ZP.initLog("Planner","WEB-PLANNER-LOGIC");const y=new(function(){return(0,i.Z)((function PlannerHandler2D(){(0,a.Z)(this,PlannerHandler2D),(0,o.Z)(this,"svgUtils",void 0),this.svgUtils=new f}),[{key:"checkCollision",value:function checkCollision(e,t){if(g.ZP.startSpanOfApm("PlannerHandler2D checkCollision"),e.Layer!=t.Layer)return!1;var n=e.getWorld2DBBoxOutline(),r=t.getWorld2DBBoxOutline(),a=function checkCollisionPolygonPolygon(e,t){for(var n=0;n<e.length;n++)for(var r=e[n],a=e[(n+1)%e.length],i=0;i<t.length;i++){var o=t[i],l=t[(i+1)%t.length];if("Intersection"==c.fabric.Intersection.intersectLineLine(new c.fabric.Point(r.x,r.y),new c.fabric.Point(a.x,a.y),new c.fabric.Point(o.x,o.y),new c.fabric.Point(l.x,l.y)).status)return!0}return!1};if(a(n,r)){if(!e.HasOLTPolygon&&!e.HasOLFPolygon)return D.error(new g.GE("checkCollision PlannerHandler2D - The element with id: "+e.getElementId()+" has no OLT AND no OLF",{code:"WC_0012"})),g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),!1;if(!t.HasOLTPolygon&&!t.HasOLFPolygon)return D.error(new g.GE("checkCollision PlannerHandler2D - The element with id: "+t.getElementId()+" has no OLT AND no OLF",{code:"WC_0012"})),g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),!1;var i=e.HasOLFPolygon?e.getOLFPolygonWorldPos():e.getOLTPolygonWorldPos(),o=t.HasOLFPolygon?t.getOLFPolygonWorldPos():t.getOLTPolygonWorldPos();return g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),a(i,o)}return g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),function checkPolygonInsidePolygon(e,t){for(var n=0,r=0,a=0;a<e.length;a++){for(var i=e[a],o=new m.FM(i.x+999999,i.y),l=0,s=0;s<t.length;s++){var u=t[s],g=t[(s+1)%t.length];"Intersection"==c.fabric.Intersection.intersectLineLine(new c.fabric.Point(i.x,i.y),new c.fabric.Point(o.x,o.y),new c.fabric.Point(u.x,u.y),new c.fabric.Point(g.x,g.y)).status&&l++}if(l%2==0?n++:r++,n>0&&r>0)return!1}return!(n>0&&r>0)&&r==e.length}(n,r)}},{key:"caluclatePNGOfSVG",value:function caluclatePNGOfSVG(e){g.ZP.startSpanOfApm("PlannerHandler2D caluclatePNGOfSVG"),document.createElement("canvas").id="helperCanvasConverter";var t=new c.fabric.Canvas("helperCanvasConverter");t.backgroundColor="#fff",t.setWidth(g.ZP.UnitRecalc*e.getWidthOLT()),t.setHeight(g.ZP.UnitRecalc*e.getDepthOLT());var n=e.getSVGShapeOLT2D();t.add(n),n.bringToFront(),t.renderAll();var r=t.toDataURL({format:"jpeg",quality:1});e.SvgDataOLTBase64=r}},{key:"parseSvg",value:function parseSvg(e,t,n,r,a){var i=this;t=this.svgUtils.removeMaskFromSvg(t),v.Z.initDockingPointsFromSvg(e,this.svgUtils.getDPsInSVG(t),n,r);var o=this.svgUtils.removeOLFFromSvg(t),l=this.svgUtils.getPointOfPoligonById(t,"OLT");if(void 0===l)throw new Error("no olt fount in svg");e.OLTPolygon=l;var s=this.svgUtils.getPointOfPoligonById(t,"OLF");if(null!=s&&s.length){var u=this.svgUtils.getBoundingBoxOfPoints(s),h=u.width,p=u.height;e.setupOLF(s,h,p)}else null!=a&&a.heightOLF,null!=a&&a.widthOLF?e.setupOLF(s,null==a?void 0:a.widthOLF,null==a?void 0:a.heightOLF):e.clearOLF();if("undefined"!=typeof window)return new Promise((function(n,r){c.fabric.loadSVGFromString(t,(function(r,a){e.cleanShapeOLF2D();for(var l=[],s=0,u=0,h=0,p=0,m=0;m<r.length;m++){var d=r[m];if(d.setCoords(),d.id)switch(d.id.toString().substring(0,3)){case"OLF":d.stroke="none";break;case"OLT":d.stroke="none",s=d.top,u=d.left,h=d.width,p=d.height}l.push(d)}var f=c.fabric.util.groupSVGElements(l,a);f.set({originX:"left",originY:"top",lockRotation:!0,hasRotatingPoint:!0,lockUniScaling:!0,lockScalingX:!0,lockScalingY:!0,scaleX:1,scaleY:1,left:0,top:0}),e.DoSetWidthFromSVG&&f.width&&(e.WidthFromSVG=f.width/g.ZP.UnitRecalc),e.DoSetDepthFromSVG&&f.height&&(e.DepthFromSVG=f.height/g.ZP.UnitRecalc),e.SvgShapeOLF2D=f,e.OLTDepth=p,e.OLTWidth=h,e.OLTTop=s,e.OLTLeft=u,e.SvgData=t,c.fabric.loadSVGFromString(o,(function(t,a){e.cleanShapeOLT2D();for(var o=0;o<r.length;o++){var l=r[o];l.id&&l.id.toString().startsWith("OLT")&&(a.height=l.height,a.width=l.width)}var s=c.fabric.util.groupSVGElements(t,a);s.set({originX:"left",originY:"top",lockRotation:!0,hasRotatingPoint:!0,lockUniScaling:!0,lockScalingX:!0,lockScalingY:!0,scaleX:1,scaleY:1,left:0,top:0}),e.SvgShapeOLT2D=s,i.caluclatePNGOfSVG(e),n()}))}))}))}},{key:"getMinBorderSVG",value:function getMinBorderSVG(e){return"undefined"==typeof window?{svgMinXVal:0,svgMinYVal:0}:new Promise((function(t,n){var r=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY;c.fabric.loadSVGFromString(e,(function(e,n){for(var i,o=0;o<e.length;o++){var l=e[o];l.id&&(i=l.id.toString()),null!=i&&i.startsWith("AV")||(r>l.left&&(r=l.left),a>l.top&&(a=l.top))}t({svgMinXVal:r,svgMinYVal:a})}))}))}},{key:"loadSVG",value:(e=(0,r.Z)(s().mark((function _callee(e,t){var n,r,a,i,o,l,u,c,h,p=this;return s().wrap((function _callee$(s){for(;;)switch(s.prev=s.next){case 0:if(n=e.SvgFileName){s.next=3;break}return s.abrupt("return",!1);case 3:if(!t.CatalogData.isIDMFormat){s.next=9;break}return s.next=6,t.api.fetchData(n,{method:"GET",config:{},data:{}});case 6:r=s.sent,s.next=16;break;case 9:return s.next=11,t.api.getDataCache(this.getSVGUrl(n,t.CatalogData.mediaUrl),void 0,t.CatalogData.accountSessionGuid);case 11:if(!(i=s.sent).Error){s.next=14;break}throw new Error(i.Error);case 14:"success"==i.Result.toLowerCase()&&(a=i.Content),r=g.ZP.decodeBase64(a);case 16:if(r||D.error(new g.GE("Fehler beim laden des SVGs ",{code:"WC_0009",custom:{svgFile:n}})),o=e.Width,-1===(l=e.Depth)&&-1!==e.Height&&(l=e.Height),!(null!=o&&o>0&&null!=l&&l>0)){s.next=31;break}return s.next=23,this.getMinBorderSVG(r);case 23:return c=s.sent,h="",s.next=27,new Promise((function(e,n){u=p.svgUtils.ccCheckStretchAreas(r,o,l,t.CatalogData.useGlobalSVGScale,c.svgMinXVal,c.svgMinYVal,(function(t){h=t,e()}))}));case 27:return s.next=29,this.parseSvg(e,h,c,t.CatalogData.getPlannerConfig(),u);case 29:s.next=33;break;case 31:return s.next=33,this.parseSvg(e,r,{svgMinXVal:0,svgMinYVal:0},t.CatalogData.getPlannerConfig());case 33:return s.abrupt("return",!0);case 34:case"end":return s.stop()}}),_callee,this)}))),function loadSVG(t,n){return e.apply(this,arguments)})},{key:"getSVGUrl",value:function getSVGUrl(e,t){var n=t+"pln_"+e,r=n.indexOf("/files/");return n=n.substring(r),"function=GetFileAsString&fileUrl="+encodeURIComponent(n)}}]);var e}())},57312:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(13125),a=n(43860),i=n(80248),o=n(64357),l=n(74530);function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var s=function(){return(0,a.Z)((function PlannerElementData(e,t,n,a){(0,r.Z)(this,PlannerElementData),(0,i.Z)(this,"planElement",void 0),(0,i.Z)(this,"plannerStateHash",void 0),(0,i.Z)(this,"dockingPoints",void 0),(0,i.Z)(this,"tempDockingPoints",void 0),(0,i.Z)(this,"plannerType",void 0),(0,i.Z)(this,"basketId",void 0),(0,i.Z)(this,"doSetWidthFromSVG",void 0),(0,i.Z)(this,"doSetDepthFromSVG",void 0),this.basketId=t,this.planElement={elementId:n,setId:e,worldPosCenter:new o.P(0,0,0),rotDeg:0,posNr:-1,setPosNr:-1,oltDepth:0,oltWidth:0,oltLeft:0,oltTop:0},this.dockingPoints=[],this.tempDockingPoints=[],this.plannerStateHash="",this.plannerType=a,this.doSetWidthFromSVG=!1,this.doSetDepthFromSVG=!1}),[{key:"destroy",value:function destroy(){this.planElement.svgShapeOLF2D=null,this.planElement.svgShapeOLT2D=null,this.planElement.svgAsHTMLCanvas=void 0,this.dockingPoints=[],this.tempDockingPoints=[]}},{key:"getTempDockingPoints",value:function getTempDockingPoints(){return this.tempDockingPoints}},{key:"clearTempDockingPoints",value:function clearTempDockingPoints(){this.tempDockingPoints=[]}},{key:"getDockingPoints",value:function getDockingPoints(){return this.dockingPoints}},{key:"dockingTypeIsDocking",value:function dockingTypeIsDocking(e){for(var t=this.getDockingPointsByType(e),n=0;n<t.length;n++)if(t[n].IsDocking)return!0;return!1}},{key:"getDockingDockingPointsByType",value:function getDockingDockingPointsByType(e){for(var t=this.getDockingPointsByType(e),n=[],r=0;r<t.length;r++)t[r].IsDocking&&n.push(t[r]);return n}},{key:"getDockingDockingPoints",value:function getDockingDockingPoints(){for(var e=[],t=0;t<this.dockingPoints.length;t++)this.dockingPoints[t].IsDocking&&e.push(this.dockingPoints[t]);return e}},{key:"getFreeDockingPointsByType",value:function getFreeDockingPointsByType(e){for(var t=this.getDockingPointsByType(e),n=[],r=0;r<t.length;r++)t[r].IsDocking||n.push(t[r]);return n}},{key:"getFreeDockingPointByTypeAndNumber",value:function getFreeDockingPointByTypeAndNumber(e,t){for(var n=0;n<this.dockingPoints.length;n++)if(!this.dockingPoints[n].IsDocking&&this.dockingPoints[n].Type==e&&this.dockingPoints[n].Number==t)return this.dockingPoints[n]}},{key:"getAllDockingPoints",value:function getAllDockingPoints(){return this.dockingPoints}},{key:"getDockingPointsByType",value:function getDockingPointsByType(e){for(var t=[],n=0;n<this.dockingPoints.length;n++)this.dockingPoints[n].Type==e&&t.push(this.dockingPoints[n]);return t}},{key:"getDockingPointById",value:function getDockingPointById(e){for(var t=0;t<this.dockingPoints.length;t++)if(this.dockingPoints[t].DpId==e)return this.dockingPoints[t]}},{key:"getDockingPointJS3D",value:function getDockingPointJS3D(){for(var e="",t=0;t<this.dockingPoints.length;t++){var n=this.dockingPoints[t];n.IsDocking&&(""!=e&&(e+=","),e+=n.Name+":E"+n.OnElementId)}return e}},{key:"ArticleCodex",get:function get(){var e,t;return null!==(e=this.planElement.plannerData)&&void 0!==e&&e.articleCodex?null===(t=this.planElement.plannerData)||void 0===t?void 0:t.articleCodex:""}},{key:"IsDockedAccessoire",get:function get(){return!!this.planElement.plannerData&&this.planElement.plannerData.isAccessoire}},{key:"IsAccessoire",get:function get(){var e,t;return"Accessoire"==(null===(e=this.planElement.plannerData)||void 0===e?void 0:e.filterType)||(null===(t=this.planElement.plannerData)||void 0===t?void 0:t.isAccessoire)}},{key:"FilterAVL",get:function get(){return this.getFilterAVL()}},{key:"FilterAVR",get:function get(){return this.getFilterAVR()}},{key:"PosNr",get:function get(){return this.planElement.posNr},set:function set(e){this.planElement.posNr=e}},{key:"SetPosNr",set:function set(e){this.planElement.setPosNr=e}},{key:"AccessoirePosNr",get:function get(){return null!=this.planElement.posNrAcc?this.planElement.posNrAcc:-1},set:function set(e){this.planElement.posNrAcc=e}},{key:"WorldPosCenter",get:function get(){return this.planElement.worldPosCenter},set:function set(e){this.planElement.worldPosCenter=e}},{key:"WorldPosCenterIgnoreOLF",get:function get(){var e=this.WorldPosCorner,t=new o.FM(this.planElement.oltLeft+this.planElement.oltWidth/2,this.planElement.oltTop+this.planElement.oltDepth/2);return t=o.FM.rotateOrigin(t,this.planElement.rotDeg),new o.P(e.x+t.x,this.WorldPosCenter.y,e.z+t.y)}},{key:"WorldPosCorner",get:function get(){if(null==this.planElement.plannerData)return new o.P(0,0,0);var e=new o.FM(-this.planElement.plannerData.width/2,-this.planElement.plannerData.depth/2);return e=o.FM.rotateOrigin(e,this.planElement.rotDeg),new o.P(this.planElement.worldPosCenter.x+e.x,this.planElement.worldPosCenter.y-this.planElement.plannerData.height/2,this.planElement.worldPosCenter.z+e.y)},set:function set(e){if(this.planElement.plannerData){var t=new o.FM(this.planElement.plannerData.width/2,this.planElement.plannerData.depth/2);t=o.FM.rotateOrigin(t,this.planElement.rotDeg),this.planElement.worldPosCenter=new o.P(e.x+t.x,e.y+this.planElement.plannerData.height/2,e.z+t.y)}}},{key:"updateDeltaTrans",value:function updateDeltaTrans(e,t,n,r){if(this.WorldPosCenter=new o.P(this.WorldPosCenter.x+e.x,this.WorldPosCenter.y+e.y,this.WorldPosCenter.z+e.z),0!=t||r){if(r){var a=this.RotDeg+t;0!=n&&(Math.abs(a%n)>n/2?t=t+n-Math.abs(a%n):t+=Math.abs(a%n))}this.processCenterRot(t)}}},{key:"processCenterRot",value:function processCenterRot(e){this.RotDeg=this.RotDeg+e}},{key:"getWorldPosOfDP",value:function getWorldPosOfDP(e){var t=this.getDockingPointById(e);if(null==t)return new o.P(0,0,0);var n=o.FM.rotateOrigin(new o.FM(null==t?void 0:t.LocalWorldPos.x,null==t?void 0:t.LocalWorldPos.z),this.RotDeg);return new o.P(this.WorldPosCorner.x+n.x,this.WorldPosCorner.y,this.WorldPosCorner.z+n.y)}},{key:"getWorld2DBBoxOutline",value:function getWorld2DBBoxOutline(){var e=[];e.push(new o.FM(this.WorldPosCorner.x,this.WorldPosCorner.z));var t=o.FM.rotateOrigin(new o.FM(this.getGlobalWidth(),0),this.RotDeg);return e.push(new o.FM(this.WorldPosCorner.x+t.x,this.WorldPosCorner.z+t.y)),t=o.FM.rotateOrigin(new o.FM(this.getGlobalWidth(),this.getGlobalDepth()),this.RotDeg),e.push(new o.FM(this.WorldPosCorner.x+t.x,this.WorldPosCorner.z+t.y)),t=o.FM.rotateOrigin(new o.FM(0,this.getGlobalDepth()),this.RotDeg),e.push(new o.FM(this.WorldPosCorner.x+t.x,this.WorldPosCorner.z+t.y)),e}},{key:"RotDeg",get:function get(){return this.planElement.rotDeg},set:function set(e){this.planElement.rotDeg=e}},{key:"saveCurrentDPState",value:function saveCurrentDPState(){if(this.dockingPoints&&this.dockingPoints.length>0){this.tempDockingPoints=[];for(var e=0;e<this.dockingPoints.length;e++)this.tempDockingPoints.push(this.dockingPoints[e].clone())}}},{key:"clearAllDockingPoints",value:function clearAllDockingPoints(){this.dockingPoints=[]}},{key:"addDockingPoint",value:function addDockingPoint(e){this.dockingPoints.push(e)}},{key:"updatePlannerData",value:function updatePlannerData(e){if(null==(null==e?void 0:e.width)||-1==e.width?this.doSetWidthFromSVG=!0:this.doSetWidthFromSVG=!1,null==(null==e?void 0:e.depth)||-1==e.depth?this.doSetDepthFromSVG=!0:this.doSetDepthFromSVG=!1,null==this.planElement.plannerData&&null!=e)return this.planElement.plannerData=e,this.plannerStateHash=(0,l.FB)(JSON.stringify(this.planElement.plannerData)),!0;if(null!=e&&(this.planElement.plannerData=e),!this.planElement.plannerData)return!1;var t=_objectSpread(_objectSpread({},this.planElement.plannerData),{},{currentAccessorires:[]}),n=(0,l.FB)(JSON.stringify(t));return this.plannerStateHash!=n&&(this.plannerStateHash=n,!0)}},{key:"cleanShapeOLF2D",value:function cleanShapeOLF2D(){this.planElement.svgShapeOLF2D=void 0}},{key:"cleanShapeOLT2D",value:function cleanShapeOLT2D(){this.planElement.svgShapeOLT2D=void 0}},{key:"DoSetWidthFromSVG",get:function get(){return this.doSetWidthFromSVG}},{key:"DoSetDepthFromSVG",get:function get(){return this.doSetDepthFromSVG}},{key:"WidthFromSVG",set:function set(e){this.planElement.plannerData&&(this.planElement.plannerData.width=e),this.doSetWidthFromSVG=!1}},{key:"DepthFromSVG",set:function set(e){this.planElement.plannerData&&(this.planElement.plannerData.depth=e),this.doSetDepthFromSVG=!1}},{key:"ElementId",get:function get(){return this.planElement.elementId}},{key:"SvgFileName",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.curSVG}},{key:"Width",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.width}},{key:"Height",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.height}},{key:"Depth",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.depth}},{key:"HasAVL",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.hasAVL}},{key:"HasAVR",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.hasAVR}},{key:"HasAVO",get:function get(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVO>0}},{key:"HasAVU",get:function get(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVU>0}},{key:"HasAVC",get:function get(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVC>0}},{key:"HasAVN",get:function get(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVN>0}},{key:"HasAVS",get:function get(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVS>0}},{key:"SvgShapeOLF2D",get:function get(){return this.planElement.svgShapeOLF2D},set:function set(e){this.planElement.svgShapeOLF2D=e}},{key:"SvgShapeOLT2D",get:function get(){return this.planElement.svgShapeOLT2D},set:function set(e){this.planElement.svgShapeOLT2D=e}},{key:"OLTPolygon",get:function get(){return this.planElement.oltPolygon},set:function set(e){this.planElement.oltPolygon=e}},{key:"OLTTop",set:function set(e){this.planElement.oltTop=e/l.ZP.UnitRecalc}},{key:"OLTLeft",set:function set(e){this.planElement.oltLeft=e/l.ZP.UnitRecalc}},{key:"OLTWidth",set:function set(e){this.planElement.oltWidth=e/l.ZP.UnitRecalc}},{key:"OLTDepth",set:function set(e){this.planElement.oltDepth=e/l.ZP.UnitRecalc}},{key:"setupOLF",value:function setupOLF(e,t,n){this.planElement.olfPolygon=e,this.planElement.olfDepth=n,this.planElement.olfWidth=t}},{key:"clearOLF",value:function clearOLF(){this.planElement.olfPolygon=void 0,this.planElement.olfDepth=void 0,this.planElement.olfWidth=void 0}},{key:"getGlobalWidth",value:function getGlobalWidth(){return this.HasOLFPolygon?this.planElement.olfWidth/l.ZP.UnitRecalc:this.Width}},{key:"getGlobalDepth",value:function getGlobalDepth(){return this.HasOLFPolygon?this.planElement.olfDepth/l.ZP.UnitRecalc:this.Depth}},{key:"HasOLTPolygon",get:function get(){return null!=this.planElement.oltPolygon}},{key:"HasOLFPolygon",get:function get(){return null!=this.planElement.olfPolygon}},{key:"getOLTPolygonWorldPos",value:function getOLTPolygonWorldPos(){if(!this.planElement.oltPolygon)return[];for(var e=[],t=0;t<this.planElement.oltPolygon.length;t++){var n=new o.FM(this.planElement.oltPolygon[t].x/l.ZP.UnitRecalc,this.planElement.oltPolygon[t].y/l.ZP.UnitRecalc);n=o.FM.rotateOrigin(n,this.RotDeg),e.push(new o.FM(this.WorldPosCorner.x+n.x,this.WorldPosCorner.z+n.y))}return e}},{key:"getOLFPolygonWorldPos",value:function getOLFPolygonWorldPos(){var e=[];if(!this.planElement.olfPolygon)return[];for(var t=0;t<this.planElement.olfPolygon.length;t++){var n=new o.FM(this.planElement.olfPolygon[t].x/l.ZP.UnitRecalc,this.planElement.olfPolygon[t].y/l.ZP.UnitRecalc);n=o.FM.rotateOrigin(n,this.RotDeg),e.push(new o.FM(this.WorldPosCorner.x+n.x,this.WorldPosCorner.z+n.y))}return e}},{key:"SvgData",get:function get(){return this.planElement.svgData?this.planElement.svgData:""},set:function set(e){this.planElement.svgData=e}},{key:"SvgDataOLTBase64",set:function set(e){this.planElement.SvgDataOLTBase64=e}},{key:"Layer",get:function get(){return this.planElement.plannerData.layer}},{key:"HasSvgAsHTMLCanvas",get:function get(){return null!=this.planElement.svgAsHTMLCanvas}},{key:"SvgAsHTMLCanvas",get:function get(){return this.planElement.svgAsHTMLCanvas},set:function set(e){this.planElement.svgAsHTMLCanvas=e}},{key:"getArticleCodex",value:function getArticleCodex(){return this.ArticleCodex}},{key:"getPosNr",value:function getPosNr(){return this.planElement.setPosNr}},{key:"getIsDockedAccessoire",value:function getIsDockedAccessoire(){return this.IsDockedAccessoire}},{key:"getIsNotDockedAccessoire",value:function getIsNotDockedAccessoire(){var e;return!(null===(e=this.planElement.plannerData)||void 0===e||!e.isNotDockedAccessoire)}},{key:"getParentElementId",value:function getParentElementId(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.parentElementId}},{key:"getElementId",value:function getElementId(){return this.planElement.elementId}},{key:"getBasketId",value:function getBasketId(){return this.basketId}},{key:"getSetId",value:function getSetId(){return this.planElement.setId}},{key:"getWorldPosCorner",value:function getWorldPosCorner(){return this.WorldPosCorner}},{key:"getWorldPosCenter",value:function getWorldPosCenter(){return this.WorldPosCenter}},{key:"getRotDeg",value:function getRotDeg(){return this.planElement.rotDeg}},{key:"getRotRad",value:function getRotRad(){return this.planElement.rotDeg*Math.PI/180}},{key:"getHasAVL",value:function getHasAVL(){return!!this.planElement.plannerData&&this.planElement.plannerData.hasAVL}},{key:"getHasAVR",value:function getHasAVR(){return!!this.planElement.plannerData&&this.planElement.plannerData.hasAVR}},{key:"getHasAVO",value:function getHasAVO(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVO>0}},{key:"getHasAVU",value:function getHasAVU(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVU>0}},{key:"getHasAVC",value:function getHasAVC(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVC>0}},{key:"getHasAVN",value:function getHasAVN(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVN>0}},{key:"getHasAVS",value:function getHasAVS(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVS>0}},{key:"getFilterAVL",value:function getFilterAVL(){var e;return this.planElement.plannerData?null===(e=this.planElement.plannerData)||void 0===e?void 0:e.AVLFilter:[]}},{key:"getFilterAVR",value:function getFilterAVR(){return this.planElement.plannerData?this.planElement.plannerData.AVRFilter:[]}},{key:"getSVGShapeOLF2D",value:function getSVGShapeOLF2D(){return this.planElement.svgShapeOLF2D}},{key:"getSVGShapeOLT2D",value:function getSVGShapeOLT2D(){return this.planElement.svgShapeOLT2D}},{key:"getPlannerType",value:function getPlannerType(){return this.plannerType}},{key:"getSVGData",value:function getSVGData(){return this.planElement.svgData?this.planElement.svgData:""}},{key:"getWidth",value:function getWidth(){return this.planElement.plannerData?this.getGlobalWidth():-1}},{key:"getHeight",value:function getHeight(){return this.planElement.plannerData?this.planElement.plannerData.height:-1}},{key:"getDepth",value:function getDepth(){return this.planElement.plannerData?this.getGlobalDepth():-1}},{key:"getDepthOLT",value:function getDepthOLT(){return this.Depth?this.Depth:-1}},{key:"getWidthOLT",value:function getWidthOLT(){return this.Width?this.Width:-1}},{key:"getLayer",value:function getLayer(){return this.planElement.plannerData?this.planElement.plannerData.layer:20}},{key:"hasSvgAsHtmlCanvas",value:function hasSvgAsHtmlCanvas(){return null!=this.planElement.svgAsHTMLCanvas}},{key:"getSvgAsHtmlCanvas",value:function getSvgAsHtmlCanvas(){return this.planElement.svgAsHTMLCanvas}},{key:"hasSvgDataOLTBase64",value:function hasSvgDataOLTBase64(){return null!=this.planElement.SvgDataOLTBase64&&""!=this.planElement.SvgDataOLTBase64}},{key:"getSvgDataOLTBase64",value:function getSvgDataOLTBase64(){return null!=this.planElement.SvgDataOLTBase64?this.planElement.SvgDataOLTBase64:""}},{key:"getAccessoires",value:function getAccessoires(){var e;return this.planElement.plannerData?null===(e=this.planElement.plannerData)||void 0===e?void 0:e.accessoireList:[]}},{key:"getSVGsWithFormula",value:function getSVGsWithFormula(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.svgsWithFormula}},{key:"getCurrentAccessorires",value:function getCurrentAccessorires(){var e;return this.planElement.plannerData?null===(e=this.planElement.plannerData)||void 0===e?void 0:e.currentAccessorires:[]}}])}()},95126:()=>{},95678:()=>{},18265:()=>{}}]);
2
+ (self.webpackChunkCrystaldesignDivaWebPlannerReact=self.webpackChunkCrystaldesignDivaWebPlannerReact||[]).push([[7789],{75311:(e,t,n)=>{"use strict";const r=n(39437),{NAMESPACES:a}=n(34734);function generatePrefix(e,t,n){const r=`ns${n}`;return e[t]=[r],r}function preferredPrefixString(e,t,n){const r=e[t];return r?r.includes(n)?n:r[r.length-1]:null}function serializeAttributeValue(e){return null===e?"":e.replace(/&/gu,"&amp;").replace(/"/gu,"&quot;").replace(/</gu,"&lt;").replace(/>/gu,"&gt;").replace(/\t/gu,"&#x9;").replace(/\n/gu,"&#xA;").replace(/\r/gu,"&#xD;")}e.exports.preferredPrefixString=preferredPrefixString,e.exports.generatePrefix=generatePrefix,e.exports.serializeAttributeValue=serializeAttributeValue,e.exports.serializeAttributes=function serializeAttributes(e,t,n,i,o,l){let s="";const u=Object.create(null);for(const c of e.attributes){if(o&&u[c.namespaceURI]&&u[c.namespaceURI].has(c.localName))throw new Error("Found duplicated attribute");u[c.namespaceURI]||(u[c.namespaceURI]=new Set),u[c.namespaceURI].add(c.localName);const e=c.namespaceURI;let g=null;if(null!==e)if(g=preferredPrefixString(t,e,c.prefix),e===a.XMLNS){if(c.value===a.XML||null===c.prefix&&i||null!==c.prefix&&n[c.localName]!==c.value&&t[c.value].includes(c.localName))continue;if(o&&c.value===a.XMLNS)throw new Error("The XMLNS namespace is reserved and cannot be applied as an element's namespace via XML parsing");if(o&&""===c.value)throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace");"xmlns"===c.prefix&&(g="xmlns")}else null===g&&(g=generatePrefix(t,e,l.prefixIndex++),s+=` xmlns:${g}="${serializeAttributeValue(e)}"`);if(s+=" ",null!==g&&(s+=`${g}:`),o&&(c.localName.includes(":")||!r.name(c.localName)||"xmlns"===c.localName&&null===e))throw new Error("Invalid attribute localName value");s+=`${c.localName}="${serializeAttributeValue(c.value)}"`}return s}},34734:e=>{"use strict";e.exports.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"},e.exports.NODE_TYPES={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12},e.exports.VOID_ELEMENTS=new Set(["area","base","basefont","bgsound","br","col","embed","frame","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"])},68122:(e,t,n)=>{"use strict";const r=n(39437),a=n(75311),{NAMESPACES:i,VOID_ELEMENTS:o,NODE_TYPES:l}=n(34734),s=/^(\x09|\x0A|\x0D|[\x20-\uD7FF]|[\uE000-\uFFFD]|[\u{10000}-\u{10FFFF}])*$/u,u=/^(\x20|\x0D|\x0A|[a-zA-Z0-9]|[-'()+,./:=?;!*#@$_%])*$/u;function serializeElement(e,t,n,l,s){if(l&&(e.localName.includes(":")||!r.name(e.localName)))throw new Error("Failed to serialize XML: element node localName is not a valid XML name.");let u="<",c="",g=!1,h=!1;const p={...n},m=Object.create(null),d=function recordNamespaceInformation(e,t,n){let r=null;for(let a=0;a<e.attributes.length;++a){const o=e.attributes[a];if(o.namespaceURI===i.XMLNS){if(null===o.prefix){r=o.value;continue}let e=o.value;if(e===i.XML)continue;if(null===e&&(e=""),e in t&&t[e].includes(o.localName))continue;e in t||(t[e]=[]),t[e].push(o.localName),n[o.localName]=e}}return r}(e,p,m);let f=t;const v=e.namespaceURI;if(f===v)null!==d&&(h=!0),c=v===i.XML?`xml:${e.localName}`:e.localName,u+=c;else{let{prefix:t}=e,n=a.preferredPrefixString(p,v,t);if("xmlns"===t){if(l)throw new Error('Failed to serialize XML: element nodes can\'t have a prefix of "xmlns".');n="xmlns"}null!==n?(c=`${n}:${e.localName}`,null!==d&&d!==i.XML&&(f=""===d?null:d),u+=c):null!==t?(t in m&&(t=a.generatePrefix(p,v,s.prefixIndex++)),p[v]?p[v].push(t):p[v]=[t],c=`${t}:${e.localName}`,u+=`${c} xmlns:${t}="${a.serializeAttributeValue(v,l)}"`,null!==d&&(f=""===d?null:d)):null===d||d!==v?(h=!0,c=e.localName,f=v,u+=`${c} xmlns="${a.serializeAttributeValue(v,l)}"`):(c=e.localName,f=v,u+=c)}if(u+=a.serializeAttributes(e,p,m,h,l,s),v===i.HTML&&0===e.childNodes.length&&o.has(e.localName)?(u+=" /",g=!0):v!==i.HTML&&0===e.childNodes.length&&(u+="/",g=!0),u+=">",g)return u;if(v===i.HTML&&"template"===e.localName)u+=xmlSerialization(e.content,f,p,l,s);else for(const t of e.childNodes)u+=xmlSerialization(t,f,p,l,s);return u+=`</${c}>`,u}function xmlSerialization(e,t,n,r,a){switch(e.nodeType){case l.ELEMENT_NODE:return serializeElement(e,t,n,r,a);case l.DOCUMENT_NODE:return function serializeDocument(e,t,n,r,a){if(r&&null===e.documentElement)throw new Error("Failed to serialize XML: document does not have a document element.");let i="";for(const o of e.childNodes)i+=xmlSerialization(o,t,n,r,a);return i}(e,t,n,r,a);case l.COMMENT_NODE:return function serializeComment(e,t,n,r){if(r&&!s.test(e.data))throw new Error("Failed to serialize XML: comment node data is not well-formed.");if(r&&(e.data.includes("--")||e.data.endsWith("-")))throw new Error("Failed to serialize XML: found hyphens in illegal places in comment node data.");return`\x3c!--${e.data}--\x3e`}(e,0,0,r);case l.TEXT_NODE:return function serializeText(e,t,n,r){if(r&&!s.test(e.data))throw new Error("Failed to serialize XML: text node data is not well-formed.");return e.data.replace(/&/gu,"&amp;").replace(/</gu,"&lt;").replace(/>/gu,"&gt;")}(e,0,0,r);case l.DOCUMENT_FRAGMENT_NODE:return function serializeDocumentFragment(e,t,n,r,a){let i="";for(const o of e.childNodes)i+=xmlSerialization(o,t,n,r,a);return i}(e,t,n,r,a);case l.DOCUMENT_TYPE_NODE:return function serializeDocumentType(e,t,n,r){if(r&&!u.test(e.publicId))throw new Error("Failed to serialize XML: document type node publicId is not well-formed.");if(r&&(!s.test(e.systemId)||e.systemId.includes('"')&&e.systemId.includes("'")))throw new Error("Failed to serialize XML: document type node systemId is not well-formed.");let a=`<!DOCTYPE ${e.name}`;return""!==e.publicId?a+=` PUBLIC "${e.publicId}"`:""!==e.systemId&&(a+=" SYSTEM"),""!==e.systemId&&(a+=` "${e.systemId}"`),`${a}>`}(e,0,0,r);case l.PROCESSING_INSTRUCTION_NODE:return function serializeProcessingInstruction(e,t,n,r){if(r&&(e.target.includes(":")||function asciiCaseInsensitiveMatch(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if((32|e.charCodeAt(n))!=(32|t.charCodeAt(n)))return!1;return!0}(e.target,"xml")))throw new Error("Failed to serialize XML: processing instruction node target is not well-formed.");if(r&&(!s.test(e.data)||e.data.includes("?>")))throw new Error("Failed to serialize XML: processing instruction node data is not well-formed.");return`<?${e.target} ${e.data}?>`}(e,0,0,r);case l.ATTRIBUTE_NODE:return"";case l.CDATA_SECTION_NODE:return function serializeCDATASection(e){return`<![CDATA[${e.data}]]>`}(e);default:throw new TypeError("Failed to serialize XML: only Nodes can be serialized.")}}e.exports=(e,{requireWellFormed:t=!1}={})=>{const n=Object.create(null);return n["http://www.w3.org/XML/1998/namespace"]=["xml"],xmlSerialization(e,null,n,t,{prefixIndex:1})}},39437:(e,t)=>{"use strict";t.name=e=>/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/u.test(e),t.qname=e=>/(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*:[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)|(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)/u.test(e)},97933:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(13125),a=n(43860),i=n(74530),o=n(64357),l=n(80248),s=function(){function DockingPoint(e,t,n,a,i,o,s,u){(0,r.Z)(this,DockingPoint),(0,l.Z)(this,"dockingPoint",void 0),(0,l.Z)(this,"layer",void 0),(0,l.Z)(this,"isDisabled",void 0),(0,l.Z)(this,"plannerconfig",void 0),this.plannerconfig=s;var c=n.split("_");this.isDisabled=!1;var g=-1;if(c.length>=2)for(var h=1;h<c.length;h++){var p=parseInt(c[h]);if(!isNaN(p)){g=p;break}}else if(n.length>3){var m=parseInt(n.substring(3));isNaN(m)||(g=m)}this.dockingPoint={dpId:t+"_"+n,elementId:e,type:t,name:n,ignoreLayer:"AVR"==t||"AVL"==t||n.indexOf("_IL")>=0,localWorldPos:a,rotDeg:i,isDocking:!1,dpFilter:u},g>=0&&(this.dockingPoint.number=g),this.layer=o}return(0,a.Z)(DockingPoint,[{key:"clone",value:function clone(){var e=new DockingPoint(this.dockingPoint.elementId,this.dockingPoint.type,this.dockingPoint.name,this.dockingPoint.localWorldPos,this.dockingPoint.rotDeg,this.layer,this.plannerconfig,this.dockingPoint.dpFilter);return e.dockingPoint.dpId=this.dockingPoint.dpId,e.dockingPoint.ignoreLayer=this.dockingPoint.ignoreLayer,e.dockingPoint.isDocking=this.dockingPoint.isDocking,e.dockingPoint.number=this.dockingPoint.number,e.dockingPoint.onDP=this.dockingPoint.onDP,e.dockingPoint.onElementId=this.dockingPoint.onElementId,e}},{key:"ElementId",get:function get(){return this.dockingPoint.elementId}},{key:"Name",get:function get(){return this.dockingPoint.name}},{key:"LocalWorldPos",get:function get(){return this.dockingPoint.localWorldPos}},{key:"RotDeg",get:function get(){return this.dockingPoint.rotDeg}},{key:"Type",get:function get(){return this.dockingPoint.type}},{key:"IsDocking",get:function get(){return this.dockingPoint.isDocking}},{key:"Layer",get:function get(){return this.layer}},{key:"IgnoreLayer",get:function get(){return this.dockingPoint.ignoreLayer}},{key:"HasNumber",get:function get(){return null!=this.dockingPoint.number}},{key:"Number",get:function get(){return this.dockingPoint.number}},{key:"PlannerConfig",get:function get(){return this.plannerconfig}},{key:"IsDisabled",get:function get(){return this.isDisabled}},{key:"DPFilter",get:function get(){return this.dockingPoint.dpFilter}},{key:"doDock",value:function doDock(e,t){this.dockingPoint.isDocking=!0,this.dockingPoint.onDP=e,this.dockingPoint.onElementId=t}},{key:"undock",value:function undock(){this.dockingPoint.isDocking=!1,this.dockingPoint.onDP=void 0,this.dockingPoint.onElementId=void 0}},{key:"disableDP",value:function disableDP(e){this.isDisabled=e}},{key:"OnDP",get:function get(){return this.dockingPoint.onDP}},{key:"OnElementId",get:function get(){return this.dockingPoint.onElementId}},{key:"DpId",get:function get(){return this.dockingPoint.dpId}}])}(),u=i.ZP.initLog("Planner","WEB-PLANNER-LOGIC");const c=new(function(){return(0,a.Z)((function DockingPointHandler(){(0,r.Z)(this,DockingPointHandler)}),[{key:"getRotOfDP",value:function getRotOfDP(e,t){var n=o.FM.getDirection(t,e),r=new o.FM(0,1),a=o.FM.angleDeg(r,n);return n.x>0?360-a:a}},{key:"getReferenceDPType",value:function getReferenceDPType(e){switch(e){case"AVR":return"AVL";case"AVL":return"AVR";case"AVO":return"AVU";case"AVU":return"AVO";case"AVC":return"AVC";case"AVS":return"AVN";case"AVN":return"AVS"}return""}},{key:"sortDockingPoints",value:function sortDockingPoints(e,t){return"LEFT_TO_RIGHT"==e?t.sort((function(e,t){return e.LocalWorldPos.x>t.LocalWorldPos.x?1:-1})):t.sort((function(e,t){return e.LocalWorldPos.x<t.LocalWorldPos.x?1:-1}))}},{key:"checkDPAVLFilterDoMatch",value:function checkDPAVLFilterDoMatch(e,t){var n=e.FilterAVR,r=t.FilterAVL;if(0==r.length&&0==n.length)return!0;for(var a=0;a<n.length;a++)for(var i=0;i<r.length;i++)if(n[a]==r[i])return!0;return!1}},{key:"checkDPAVRFilterDoMatch",value:function checkDPAVRFilterDoMatch(e,t){var n=e.FilterAVL,r=t.FilterAVR;if(0==n.length&&0==r.length)return!0;for(var a=0;a<n.length;a++)for(var i=0;i<r.length;i++)if(n[a]==r[i])return!0;return!1}},{key:"checkDPsDoMatch",value:function checkDPsDoMatch(e,t,n,r){var a=this.checkDPAVRFilterDoMatch(n,r),i=this.checkDPAVLFilterDoMatch(n,r),o=this.getReferenceDPType(e.Type);if("AVL"==o&&!i)return!1;if("AVR"==o&&!a)return!1;if(t.Type!=o)return!1;if(e.IsDocking||t.IsDocking)return!1;if(!e.IgnoreLayer||!t.IgnoreLayer){var l=!0;if(!e.PlannerConfig.ignoreLayerAVC||"AVC"!=e.Type&&"AVC"!=t.Type||(l=!1),!e.PlannerConfig.ignoreLayerAVOAVU||"AVO"!=e.Type&&"AVU"!=e.Type||"AVO"!=t.Type&&"AVU"!=t.Type||(l=!1),!e.PlannerConfig.ignoreLayerAVNAVS||"AVN"!=e.Type&&"AVS"!=e.Type||"AVN"!=t.Type&&"AVS"!=t.Type||(l=!1),l&&t.Layer==e.Layer)return!1}return!e.HasNumber||!t.HasNumber||e.Number==t.Number}},{key:"doDock",value:function doDock(e,t,n,r){e.doDock(t,r),t.doDock(e,n)}},{key:"initDockingPointsFromSvg",value:function initDockingPointsFromSvg(e,t,n,r){e.saveCurrentDPState(),this.removeDockingPointRelations(e),e.clearAllDockingPoints();for(var a=0;a<t.length;a++){var l=t[a],u=new o.FM((l.x1-n.svgMinXVal)/i.ZP.UnitRecalc,(l.y1-n.svgMinYVal)/i.ZP.UnitRecalc),c=new o.FM((l.x2-n.svgMinXVal)/i.ZP.UnitRecalc,(l.y2-n.svgMinYVal)/i.ZP.UnitRecalc),g=this.getRotOfDP(u,c),h=void 0;"AVL"==l.dockingType?h=e.getFilterAVL():"AVR"==l.dockingType&&(h=e.getFilterAVR());var p=new s(e.getElementId(),l.dockingType,l.dockingName,new o.P(u.x,0,u.y),g,e.Layer,r,h);e.addDockingPoint(p)}}},{key:"removeDockingPointRelations",value:function removeDockingPointRelations(e){for(var t=e.getDockingPoints(),n=0;n<t.length;n++){var r=t[n];if(r.IsDocking)r.OnDP.undock(),r.undock()}}},{key:"removeDockingPointRelationsByType",value:function removeDockingPointRelationsByType(e,t){for(var n=[],r=e.getDockingPoints(),a=0;a<r.length;a++){var i=r[a];if(t.indexOf(i.Type)>-1&&i.IsDocking){var o=i.OnDP;n.push(o.ElementId),o.undock(),i.undock()}}return n}},{key:"searchDockableElementsInArea",value:function searchDockableElementsInArea(e,t,n){for(var r=e.getAllDockingPoints(),a=new Map,i=0;i<t.length;i++){var o=t[i];if(e.getElementId()!=o.getElementId())for(var l=0;l<r.length;l++)for(var s=r[l],u=this.getReferenceDPType(s.Type),c=o.getFreeDockingPointsByType(u),g=0;g<c.length;g++){var h=c[g];if(this.checkDPsDoMatch(s,h,e,o)){var p=e.getWorldPosOfDP(s.DpId),m=o.getWorldPosOfDP(h.DpId),d=Math.sqrt(Math.pow(p.x-m.x,2)+Math.pow(p.z-m.z,2));0!=n&&(n==1/0||d<n)&&(a.has(s.Type)?d<a.get(s.Type).distance&&a.set(s.Type,{sourceDP:s,targetDP:h,distance:d}):a.set(s.Type,{sourceDP:s,targetDP:h,distance:d}))}}}return a}},{key:"tryDockElement",value:function tryDockElement(e,t,n){var r=e.getDockingPointsByType(t);if(!r)return!1;for(var a=this.getReferenceDPType(t),i=0;i<n.length;i++){var o=n[i];if(o.ElementId!=e.ElementId&&((e.IsAccessoire||!o.IsAccessoire||o.getParentElementId()==e.getElementId())&&(!e.IsAccessoire||o.getAccessoires().includes(e.ArticleCodex)))){var l=o.getDockingPointsByType(a);if((e.getIsDockedAccessoire()||e.IsAccessoire)&&(l=this.sortDockingPoints("LEFT_TO_RIGHT",l)),l)for(var s=0;s<l.length;s++)for(var u=l[s],c=0;c<r.length;c++){var g=r[c];if(this.checkDPsDoMatch(g,u,e,o))return this.doDock(g,u,e.ElementId,o.ElementId),g}}}return!1}},{key:"tryDockElementToDP",value:function tryDockElementToDP(e,t,n){var r=this.getReferenceDPType(n.Type),a=e.getFreeDockingPointsByType(r);if(!a)return!1;for(var i=0;i<a.length;i++)if(this.checkDPsDoMatch(a[i],n,e,t))return this.doDock(a[i],n,e.ElementId,t.ElementId),a[i];return!1}},{key:"tryDockElementDPToDP",value:function tryDockElementDPToDP(e,t,n,r){return!!this.checkDPsDoMatch(n,r,e,t)&&(this.doDock(n,r,e.getElementId(),t.getElementId()),!0)}},{key:"updateDockingRelations",value:function updateDockingRelations(e){var t=[],n=[];e.forEach((function(e,r){e.IsDockedAccessoire?n.push(e):t[e.PosNr-1]=e})),t=t.concat(n);for(var r=[],a=0;a<t.length;a++)if(t[a])for(var i=t[a],o=i.getTempDockingPoints(),l=0;l<o.length;l++){var s=o[l];if(s.IsDocking&&s.OnElementId){var u=i.getDockingPointById(s.DpId);if(null==u){var c=e.get(s.OnElementId),g=i.getFreeDockingPointsByType(s.Type);if(1==g.length){var h=null==c?void 0:c.getFreeDockingPointsByType(this.getReferenceDPType(s.Type));if(1==(null==h?void 0:h.length)){this.tryDockElementDPToDP(i,c,g[0],h[0]);continue}}c&&r.push(c);continue}if(e.has(s.OnElementId)){var p=e.get(s.OnElementId),m=null==p?void 0:p.getDockingPointById(s.OnDP.DpId);this.tryDockElementDPToDP(i,p,u,m)}}}for(a=0;a<t.length;a++)t[a]&&t[a].clearTempDockingPoints();return r}},{key:"initDockingPointRelationByArea",value:function initDockingPointRelationByArea(e,t,n){if(e.getFreeDockingPointsByType(n).length>0){var r=this.searchDockableElementsInArea(e,[t],1/0);if(r.has(n)){var a=r.get(n);if(a)this.tryDockElementDPToDP(e,t,a.sourceDP,a.targetDP)||u.debug("Error when initializing docking Points. Two dockingpoints could not be matched. sourceDP: "+a.sourceDP.DpId+"; sourceRlementId: "+a.sourceDP.ElementId+"; targetDP: "+a.targetDP.DpId+" targetElemId: "+a.targetDP.ElementId)}}}},{key:"checkElementsAreDocking",value:function checkElementsAreDocking(e,t){for(var n=e.getDockingDockingPoints(),r=0;r<n.length;r++){if(n[r].OnElementId==t.getElementId())return!0}return!1}}])}())},22885:(e,t,n)=>{"use strict";n.d(t,{Z:()=>y});var r=n(84658),a=n(13125),i=n(43860),o=n(80248),l=n(50747),s=n.n(l),u=n(12952),c=n(63846),g=n(74530),h=n(68122),p=n.n(h),m=n(64357),d=g.ZP.initLog("Planner","WEB-PLANNER-LOGIC"),f=function(){return(0,i.Z)((function SVGUtils(){(0,a.Z)(this,SVGUtils)}),[{key:"removeOLFFromSvg",value:function removeOLFFromSvg(e){var t,n=(t=(new DOMParser).parseFromString(e,"application/xml")).evaluate("//*[starts-with(@id,'VIF')]",t,null,7,null);if(n.snapshotLength>0)for(var r=0;r<n.snapshotLength;r++){var a;null===(a=n.snapshotItem(r).parentElement)||void 0===a||a.removeChild(n.snapshotItem(r))}var i=t.evaluate("//*[starts-with(@id,'OLF')]",t,null,7,null);if(i.snapshotLength>0)for(r=0;r<i.snapshotLength;r++){var o;null===(o=i.snapshotItem(r).parentElement)||void 0===o||o.removeChild(i.snapshotItem(r))}return"undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(t):p()(t)}},{key:"getDPsInSVG",value:function getDPsInSVG(e){var t=[],n=(new DOMParser).parseFromString(e,"application/xml"),r=n.evaluate("//*[starts-with(@id,'AV')]",n,null,7,null);if(r.snapshotLength>0)for(var a=0;a<r.snapshotLength;a++){var i=r.snapshotItem(a);if("line"!==(null==i?void 0:i.nodeName))throw new Error("nodename type: "+i.nodeName+"not implemented");t.push({x1:Number(i.getAttribute("x1")),y1:Number(i.getAttribute("y1")),x2:Number(i.getAttribute("x2")),y2:Number(i.getAttribute("y2")),dockingName:i.getAttribute("id"),dockingType:i.getAttribute("id").substring(0,3)})}return t.sort((function(e,t){return"AVL"===e.dockingType||"AVR"===e.dockingType&&["AVR","AVC","AVU","AVO","AVS","AVN"].includes(t.dockingType)?-1:0})),t}},{key:"getPointOfPoligonById",value:function getPointOfPoligonById(e,t){var n=[],r=(new DOMParser).parseFromString(e,"application/xml"),a=r.evaluate("//*[starts-with(@id,'"+t+"')]",r,null,7,null);if(!(a.snapshotLength>1||0==a.snapshotLength)){for(var i=0;i<a.snapshotLength;i++){var o=a.snapshotItem(i);if("polygon"===(null==o?void 0:o.nodeName)){var l=o.getAttribute("points");if(!l)return;for(var s=l.split(" "),u=0;u<s.length;u++){var c=s[u].split(",");2===c.length&&n.push(new m.FM(Number(c[0]),Number(c[1])))}}}return n}}},{key:"getBoundingBoxOfPoints",value:function getBoundingBoxOfPoints(e){var t=e.map((function(e){return e.x})),n=e.map((function(e){return e.y})),r=Math.min.apply(Math,(0,u.Z)(t)),a=Math.max.apply(Math,(0,u.Z)(t)),i=Math.min.apply(Math,(0,u.Z)(n));return{width:a-r,height:Math.max.apply(Math,(0,u.Z)(n))-i}}},{key:"removeMaskFromSvg",value:function removeMaskFromSvg(e){if(e.toLowerCase().indexOf("mask")>=0){for(var t,n=(t=(new DOMParser).parseFromString(e,"image/svg+xml")).evaluate('//*["mask"=local-name()]',t,null,7,null),r=0;r<n.snapshotLength;r++){var a;null===(a=n.snapshotItem(r).parentElement)||void 0===a||a.removeChild(n.snapshotItem(r))}var i=t.evaluate("//*[@mask]",t,null,7,null);for(r=0;r<i.snapshotLength;r++){var o;null===(o=i.snapshotItem(r).parentElement)||void 0===o||o.removeChild(i.snapshotItem(r))}return"undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(t):p()(t)}return e}},{key:"ccCheckStretchAreas",value:function ccCheckStretchAreas(e,t,n,r,a,i,o){var l,s,u,h,m,f,v,D=g.ZP.UnitRecalc,y=t*D,F=n*D,k=[],P=[],A=[],b=[],E=0,S=0,L=0,x=0,O=0,w=0,T=0,V=0,I=!1,C=0,N=0,M="",R=new RegExp("svg","g"),B=(e=e.replace(R,"xxx"),new DOMParser);l=B.parseFromString(e,"application/xml"),s=l.getElementsByTagName("xxx")[0],R=new RegExp("xxx","g"),function correctSVG(e){var t=e.getAttribute("viewBox");t&&null==e.getAttribute("width")&&e.setAttribute("width",t.split(" ")[2]);t&&null==e.getAttribute("height")&&e.setAttribute("height",t.split(" ")[3]);var n,r=e.getAttribute("width");r.indexOf("mm")>0?(n=parseFloat(r.substring(0,r.length-2)),n*=D):n=r.indexOf("px")>0?parseFloat(r.substring(0,r.length-2)):parseFloat(r);e.setAttribute("width",n.toString());var a,i=e.getAttribute("height");i.indexOf("mm")>0?(a=parseFloat(i.substring(0,i.length-2)),a*=D):a=i.indexOf("px")>0?parseFloat(i.substring(0,i.length-2)):parseFloat(i);e.setAttribute("height",a.toString()),t||e.setAttribute("viewBox","0 0 "+n+" "+a)}(s),v=function calcScaleFactorSvgViewBox(e){var t=e.getAttribute("viewBox"),n=1,r=1;if(null!=t){var a=Number(e.getAttribute("width")),i=t.split(" "),o=Number(i[2]);n=a/o;var l=Number(e.getAttribute("height")),s=Number(i[3]);r=l/s}return new c.fabric.Point(n,r)}(s),function recalcScaleFactorSvgViewBox(e){if(null!=e.getAttribute("viewBox")){var t,n=Math.ceil(parseFloat(e.getAttribute("width"))),r=Math.ceil(parseFloat(e.getAttribute("height"))),a=e.getAttribute("x");a?(a.indexOf("mm")>0?(t=parseFloat(a.substring(0,a.length-2)),t*=D):t=a.indexOf("px")>0?parseFloat(a.substring(0,a.length-2)):parseFloat(a),t=Math.ceil(t)):t=0;var i,o=e.getAttribute("y");o?(o.indexOf("mm")>0?(i=parseFloat(o.substring(0,o.length-2)),i*=D):i=o.indexOf("px")>0?parseFloat(o.substring(0,o.length-2)):parseFloat(o),i=Math.ceil(i)):i=0,e.setAttribute("viewBox",t+" "+i+" "+n+" "+r)}}(s),function correctSVGViewBoxScale(e,t){if(1==t.x&&1==t.y)return;var n=e.children;if(!n)return;for(var r=0;r<n.length;r++){switch(n[r].tagName){case"rect":correctViewBoxScaleRectangle(n[r],t);break;case"polygon":correctViewBoxScalePolygon(n[r],t);break;case"path":correctViewBoxScalePath(n[r],t);break;case"line":correctViewBoxScaleLine(n[r],t);break;case"style":correctViewBoxScaleStyle(n[r],t)}correctSVGViewBoxScale(n[r],t)}}(s,v);var W=Math.round(parseFloat(s.getAttribute("width"))/D*100)/100,G=Math.round(parseFloat(s.getAttribute("height"))/D*100)/100;function correctViewBoxScaleStyle(e,t){"text/css"!=e.getAttribute("type")&&d.debug("Warnung komisches style Element bei diesem CSS.");for(var n=e.innerHTML.split("{"),r="",a=0;a<n.length;a++){var i=n[a].indexOf("width");if(i>=0){for(var o="",l=-1,s=-1,u=i+"width".length;u<n[a].length;u++){if(";"==n[a][u]||"}"==n[a][u]){s=u;break}l>-1&&(o+=n[a][u]),":"==n[a][u]&&(l=u)}var c=parseFloat(o)*t.x,g=n[a].substring(0,l+1)+c+n[a].substring(s,n[a].lenght);n[a]=g}var h=n[a].indexOf("height");if(h>=0){for(o="",l=-1,s=-1,u=h+"height".length;u<n[a].length;u++){if(";"==n[a][u]||"}"==n[a][u]){s=u;break}l>-1&&(o+=n[a][u]),":"==n[a][u]&&(l=u)}c=parseFloat(o)*t.y,g=n[a].substring(0,l+1)+c+n[a].substring(s,n[a].lenght);n[a]=g}r+=n[a],a<n.length-1&&(r+="{")}e.innerHTML=r}function correctViewBoxScaleLine(e,t){var n=e.getAttribute("x1");n||(n=0);var r=e.getAttribute("x2"),a=e.getAttribute("y1");a||(a=0);var i=e.getAttribute("y2");e.setAttribute("x1",parseFloat(n)*t.x),e.setAttribute("y1",parseFloat(a)*t.y),e.setAttribute("x2",parseFloat(r)*t.x),e.setAttribute("y2",parseFloat(i)*t.y)}function correctViewBoxScalePath(e,t){var n=getPathStringFromPathElement(createPathElement(e.getAttribute("d"),t));e.setAttribute("d",n)}function correctViewBoxScalePolygon(e,t){var n=createPolygonElement(e.getAttribute("points"),t);e.setAttribute("points",n.points)}function correctViewBoxScaleRectangle(e,t){var n=e.getAttribute("x");n||(n=0);var r=e.getAttribute("y");r||(r=0);var a=e.getAttribute("width"),i=e.getAttribute("height");e.setAttribute("x",parseFloat(n)*t.x),e.setAttribute("y",parseFloat(r)*t.y),e.setAttribute("width",parseFloat(a)*t.x),e.setAttribute("height",parseFloat(i)*t.y)}function resizeXml(e,t,n,a){var i="OLT"==n?E:L,o="OLT"==n?S:x;if(!r&&P[0]&&t!=o){"OLT"==n?S=t:x=t;for(var l=round(t-o),u=0,c=0;c<P.length;c++)P[c].setAttribute("y",round(parseFloat(P[c].getAttribute("y"))+u)),P[c].setAttribute("height",round(l*b[c])),u+=round(l*b[c]);fixXMLObject(s,"SAV",n)}if(!r&&e!=i&&k[0]){"OLT"==n?E=e:L=e;var g=round(e-i),h=0;for(c=0;c<k.length;c++)"OLT"==n&&(k[c].setAttribute("x",round(parseFloat(k[c].getAttribute("x"))+h)),h+=round(g*A[c])),k[c].setAttribute("width",round(g*A[c]));fixXMLObject(s,"SAH",n)}var p=!1;r&&t!=o&&(f=t/o,p=!0,"OLT"==n?S=t:x=t),r&&e!=i&&(m=e/i,p=!0,"OLT"==n?E=e:L=e),p&&fixXMLObject(s,"GLOBAL_SCALE",n),a()}function fixXMLObject(e,t,n){var r,a;"OLT"==n?(r="VIF",a="OLF"):(r="VIT",a="OLT");for(var i=e.children,o=0;o<i.length;o++)if(i[o].getAttribute("id")!=r&&i[o].getAttribute("id")!=a){switch(i[o].localName){case"g":break;case"rect":(!i[o].hasAttribute("id")||"SAV"!=i[o].getAttribute("id").substring(0,3)&&"SAH"!=i[o].getAttribute("id").substring(0,3))&&e.replaceChild(fixRectangle(i[o],t),i[o]);break;case"path":var l=fixPath(createPathElement(i[o].getAttribute("d")),t);i[o].setAttribute("d",l);break;case"line":i[o].hasAttribute("id")&&"AV"==i[o].getAttribute("id").substring(0,2)?"OLT"==n&&e.replaceChild(fixLine(i[o],t),i[o]):e.replaceChild(fixLine(i[o],t),i[o]);break;case"polygon":case"polyline":var s=fixPolygon(createPolygonElement(i[o].getAttribute("points")),t);i[o].setAttribute("points",s);break;case"image":fixImage(i[o],t)}fixXMLObject(i[o],t,n)}}function fixImage(e,t){if(e.setAttribute("preserveAspectRatio","none"),"SAH"==t){var n=parseInt(e.getAttribute("width"),10),r=y/u;n=Math.round(n*r),e.setAttribute("width",n+"px")}else if("SAV"==t){var a=parseInt(e.getAttribute("height"),10),i=F/h;a=Math.round(a*i),e.setAttribute("height",a+"px")}}function fixLine(e,t){var n,r,a,i;if("SAH"==t)for(var o=0;o<k.length;o++){n=parseFloat(e.getAttribute("x1")),a=parseFloat(e.getAttribute("x2"));var l=parseFloat(k[o].getAttribute("x"));scaleLineX(n,a,l,round(l+parseFloat(k[o].getAttribute("width"))))}else if("SAV"==t)for(o=0;o<P.length;o++){r=parseFloat(e.getAttribute("y1")),i=parseFloat(e.getAttribute("y2"));var s=parseFloat(P[o].getAttribute("y"));scaleLineY(r,i,s,round(s+parseFloat(P[o].getAttribute("height"))))}else"GLOBAL_SCALE"==t&&(n=parseFloat(e.getAttribute("x1")),a=parseFloat(e.getAttribute("x2")),r=parseFloat(e.getAttribute("y1")),i=parseFloat(e.getAttribute("y2")),e.setAttribute("x1",round(n*m)),e.setAttribute("x2",round(a*m)),e.setAttribute("y1",round(r*f)),e.setAttribute("y2",round(i*f)));function scaleLineX(t,n,r,a){t>r?(e.setAttribute("x1",round(t+(a-r))),e.setAttribute("x2",round(n+(a-r)))):t<r&&n>r&&e.setAttribute("x2",round(n+(a-r)))}function scaleLineY(t,n,r,a){t>r?(e.setAttribute("y1",round(t+(a-r))),e.setAttribute("y2",round(n+(a-r)))):t<r&&n>r&&e.setAttribute("y2",round(n+(a-r)))}return e}function fixPolygon(e,t){if("SAH"==t)for(var n=0;n<k.length;n++)for(var r=parseFloat(k[n].getAttribute("x")),a=round(r+parseFloat(k[n].getAttribute("width"))),i=0;i<e.points.length;i++)e.points[i].x>r&&(e.points[i].x+=a-r);else if("SAV"==t)for(n=0;n<P.length;n++){var o=parseFloat(P[n].getAttribute("y")),l=round(o+parseFloat(P[n].getAttribute("height")));for(i=0;i<e.points.length;i++)e.points[i].y>o&&(e.points[i].y+=l-o)}else if("GLOBAL_SCALE"==t)for(i=0;i<e.points.length;i++)e.points[i].x=e.points[i].x*m,e.points[i].y=e.points[i].y*f;var s="";for(i=0;i<e.points.length;i++)s+=e.points[i].x+","+e.points[i].y+" ";return s}function fixRectangle(e,t){if("SAH"==t)for(var n=0;n<k.length;n++){var r=parseFloat(e.getAttribute("x")),a=round(r+parseFloat(e.getAttribute("width"))),i=parseFloat(k[n].getAttribute("x"));scaleRectX(r,a,i,round(i+parseFloat(k[n].getAttribute("width"))))}else if("SAV"==t)for(n=0;n<P.length;n++){var o=parseFloat(P[n].getAttribute("y")),l=round(o+parseFloat(P[n].getAttribute("height"))),s=parseFloat(e.getAttribute("y"));scaleRectY(s,round(s+parseFloat(e.getAttribute("height"))),o,l)}else if("GLOBAL_SCALE"==t){var u=parseFloat(e.getAttribute("x")),c=parseFloat(e.getAttribute("width")),g=parseFloat(e.getAttribute("y")),h=parseFloat(e.getAttribute("height"));e.setAttribute("x",round(u*m)),e.setAttribute("width",round(c*m)),e.setAttribute("y",round(g*f)),e.setAttribute("height",round(h*f))}function scaleRectX(t,n,r,a){t<=r&&n>=r?e.setAttribute("width",round(n-t+(a-r))):t>r&&e.setAttribute("x",round(t+(a-r)))}function scaleRectY(t,n,r,a){t<=r&&n>=r?e.setAttribute("height",round(n-t+(a-r))):t>r&&e.setAttribute("y",round(t+(a-r)))}return e}function fixPath(e,t){if("SAH"==t)for(var n=0;n<k.length;n++)for(var r,a=parseFloat(k[n].getAttribute("x")),i=round(a+parseFloat(k[n].getAttribute("width"))),o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"L":case"H":r=e.elements[o].parameter[0],e.elements[o].parameter[0]>a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)));break;case"m":case"l":case"h":(l=e.elements[o].parameter[0])>=0&&r<a&&r+e.elements[o].parameter[0]>a?e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)):l<0&&r>=a&&r+e.elements[o].parameter[0]<a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(i-a))),r+=l;break;case"C":r=e.elements[o].parameter[4],e.elements[o].parameter[4]>a&&(e.elements[o].parameter[4]=round(e.elements[o].parameter[4]+(i-a)),e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a)));break;case"c":var l=e.elements[o].parameter[4];(r<a&&e.elements[o].parameter[4]+r>a||l<0&&r>=a&&r+e.elements[o].parameter[0]<a)&&(e.elements[o].parameter[4]=round(e.elements[o].parameter[4]+(i-a)),e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a))),r+=l;break;case"S":r=e.elements[o].parameter[2],e.elements[o].parameter[2]>a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a)));break;case"s":l=e.elements[o].parameter[2];r<a&&e.elements[o].parameter[2]+r>a?(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]+(i-a))):l<0&&r>=a&&r+e.elements[o].parameter[0]<a&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(i-a)),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]-(i-a))),r+=l}else if("SAV"==t)for(n=0;n<P.length;n++){var s,u=parseFloat(P[n].getAttribute("y")),c=round(u+parseFloat(P[n].getAttribute("height")));for(o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"L":s=e.elements[o].parameter[1],e.elements[o].parameter[1]>u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)));break;case"m":case"l":l=e.elements[o].parameter[1];s<u&&e.elements[o].parameter[1]+s>u?e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)):l<0&&s>=u&&s+e.elements[o].parameter[1]<u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u))),s+=l;break;case"V":s=e.elements[o].parameter[0],e.elements[o].parameter[0]>u&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(c-u)));break;case"v":l=e.elements[o].parameter[0];s<u&&e.elements[o].parameter[0]+s>u?e.elements[o].parameter[0]=round(e.elements[o].parameter[0]+(c-u)):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[0]=round(e.elements[o].parameter[0]-(c-u))),s+=l;break;case"C":s=e.elements[o].parameter[5],e.elements[o].parameter[5]>u&&(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]+(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u)));break;case"c":l=e.elements[o].parameter[5];s<u&&e.elements[o].parameter[5]+s>u?(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]+(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u))):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[5]=round(e.elements[o].parameter[5]-(c-u)),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]-(c-u))),s+=l;break;case"S":s=e.elements[o].parameter[3],e.elements[o].parameter[3]>u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u)));break;case"s":l=e.elements[o].parameter[3];s<u&&e.elements[o].parameter[3]+s>u?(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]+(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]+(c-u))):l<0&&s>=u&&s+e.elements[o].parameter[0]<u&&(e.elements[o].parameter[1]=round(e.elements[o].parameter[1]-(c-u)),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]-(c-u))),s+=l}}else if("GLOBAL_SCALE"==t)for(o=0;o<e.elements.length;o++)switch(e.elements[o].command){case"M":case"m":case"l":case"L":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*m),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f);break;case"v":case"V":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*f);break;case"h":case"H":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*m);break;case"C":case"c":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*m),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]*m),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]*f),e.elements[o].parameter[4]=round(e.elements[o].parameter[4]*m),e.elements[o].parameter[5]=round(e.elements[o].parameter[5]*f);break;case"S":case"s":e.elements[o].parameter[0]=round(e.elements[o].parameter[0]*m),e.elements[o].parameter[1]=round(e.elements[o].parameter[1]*f),e.elements[o].parameter[2]=round(e.elements[o].parameter[2]*m),e.elements[o].parameter[3]=round(e.elements[o].parameter[3]*f)}return getPathStringFromPathElement(e)}function getPathStringFromPathElement(e){for(var t="",n=0;n<e.elements.length;n++)if(t+=e.elements[n].command,"z"!=e.elements[n].command)for(var r=0;r<e.elements[n].parameter.length;r++)t+=e.elements[n].parameter[r],r!=e.elements[n].parameter.length-1&&(t+=",");return t}function fixViewBox(e,t,n){var r="",a=T+L>O+E?T+L:O+E,i=V+x>w+S?V+x:w+S;if(e.setAttribute("height",(Math.round(100*i)/100).toString()),e.setAttribute("width",(Math.round(100*a)/100).toString()),t=Math.round(100*t)/100,n=Math.round(100*n)/100,e.hasAttribute("x")&&e.hasAttribute("y"))r=Number.parseFloat(e.getAttribute("x").substring(0,e.getAttribute("x").length-2))+t+" "+(Number.parseFloat(e.getAttribute("y").substring(0,e.getAttribute("y").length-2))+n)+" "+Math.round(100*a)/100+" "+Math.round(100*i)/100;else{var o=e.getAttribute("viewBox").split(" ");r=Number.parseFloat(o[0])+t+" "+(Number.parseFloat(o[1])+n),r=k[0]?r+" "+Math.round(100*a)/100:r+" "+o[2],r=P[0]?r+" "+Math.round(100*i)/100:r+" "+o[3]}var l="new "+r;return e.setAttribute("x",t),e.setAttribute("y",n),e.setAttribute("viewBox",r),e.setAttribute("enable-background",l),e.setAttribute("style","enable-background:new "+r+";"),e}function createPolygonElement(e,t){var n=!0,r="",a="",i=[],o={},l=e.includes(",")?",":e.includes(" ")?" ":",";e=e.trimEnd().trimStart();for(var s=0;s<e.length;s++){var u=e.charAt(s);n||" "!=u?u==l?n=!1:n?r+=u:a+=u:""!=r&&(i.push(createPoint(r,a)),r="",a="",n=!0)}function createPoint(e,t){var n={};return n.x=parseFloat(e),n.y=parseFloat(t),n}return""!=r&&(!t||1==t.x&&1==t.y?i.push(createPoint(r,a)):i.push(createPoint(r,a)*t)),o.points=i,o}function createPathElement(e,t){for(var n,r,a=[],i=[],o=0,l={},s=0;s<e.length;s++){var u=e.charAt(s);" "==u&&s-1>0&&(1===(r=e.charAt(s-1)).length&&r.match(/[a-z]/i))||(" "==u||isNaN(u)&&"."!=u&&"-"!=u?","==u||" "==u?(null!=i[o]&&(i[o]=parseFloat(i[o])),isNaN(e.charAt(s+1))||" "==e.charAt(s+1)||o++):" "!=u&&"."!=u&&"-"!=u&&(null==n?n=u:(null!=i[o]&&(i[o]=parseFloat(i[o]),checkForSkippedLiterals(t),"z"==u&&a.push(createPoint("z",null))),n=u,i=[],o=0)):null!=i[o]&&"-"==u?(i[o]=parseFloat(i[o]),o++,i[o]=u):null!=i[o]?i[o]+=u:i[o]=u)}function checkForSkippedLiterals(e){var t=0;switch(n){case"M":case"m":case"L":case"l":t=2;break;case"H":case"h":case"V":case"v":t=1;break;case"C":case"c":t=6;break;case"S":case"s":t=4;break;default:return void d.error(new g.GE("svg path command: "+n+" unknown"))}for(var r=0;r<i.length;r+=t){for(var o=[],l=0;l<t;l++)o.push(i[r+l]);a.push(createPoint(n,o,e))}}function createPoint(e,t,n){var r={};if(r.command=e,r.parameter=t,n&&(1!=n.x||1!=n.y))switch(r.command){case"M":case"m":case"L":case"l":r.parameter[0]=r.parameter[0]*n.x,r.parameter[1]=r.parameter[1]*n.y;break;case"H":case"h":r.parameter[0]=r.parameter[0]*n.x;break;case"V":case"v":r.parameter[0]=r.parameter[0]*n.y;break;case"C":case"c":r.parameter[0]=r.parameter[0]*n.x,r.parameter[1]=r.parameter[1]*n.y,r.parameter[2]=r.parameter[2]*n.x,r.parameter[3]=r.parameter[3]*n.y,r.parameter[4]=r.parameter[4]*n.x,r.parameter[5]=r.parameter[5]*n.y;break;case"S":case"s":r.parameter[0]=r.parameter[0]*n.x,r.parameter[1]=r.parameter[1]*n.y,r.parameter[2]=r.parameter[2]*n.x,r.parameter[3]=r.parameter[3]*n.y}return r}return"z"!=e.charAt(e.length-1)&&checkForSkippedLiterals(t),l.elements=a,l}function round(e){return Math.round(1e3*e)/1e3}return 0==y&&(W=parseFloat(s.getAttribute("width"))),0==F&&(F=parseFloat(s.getAttribute("height"))),function correctTEAttributes(){var e=l.evaluate("//*[starts-with(@id,'TE')]",l,null,7,null);if(0==e.snapshotLength){var t=l.evaluate("//*[starts-with(@id,'OLT')]",l,null,7,null);if(t.snapshotLength>0)for(var n=0;n<t.snapshotLength;n++){var r;if("g"!=(null===(r=t.snapshotItem(n))||void 0===r?void 0:r.nodeName)){var a,i=null===(a=t.snapshotItem(n))||void 0===a?void 0:a.parentNode;"g"==i.tagName&&i.setAttribute("id","TE")}}e=l.evaluate("//*[starts-with(@id,'TE')]",l,null,7,null)}if(e.snapshotLength>0)for(n=0;n<e.snapshotLength;n++){var o;if("g"==(null===(o=e.snapshotItem(n))||void 0===o?void 0:o.nodeName))e.snapshotItem(n).setAttribute("display","none")}}(),function findStretchAreas(e,t,n){var r=0,a=0,i=0,o=l.evaluate("//*[starts-with(@id,'SAH')]",l,null,7,null),s=[];for(i=0;i<o.snapshotLength;i++)s.push(o.snapshotItem(i));for(i=0;i<s.length;i++)"polygon"==s[i].nodeName&&(s[i]=convertPolygonToRect(s[i],l)),"rect"==s[i].nodeName&&(s[i].setAttribute("style","fill:none;"),correctViewBoxScaleRectangle(s[i],t)),r+=parseFloat(s[i].getAttribute("width")),k.push(s[i]);var g=l.evaluate("//*[starts-with(@id,'SAV')]",l,null,7,null),p=[];for(i=0;i<g.snapshotLength;i++)p.push(g.snapshotItem(i));for(i=0;i<p.length;i++)"polygon"==p[i].nodeName&&(p[i]=convertPolygonToRect(p[i],l)),"rect"==p[i].nodeName&&(p[i].setAttribute("style","fill:none;"),correctViewBoxScaleRectangle(p[i],t)),a+=parseFloat(p[i].getAttribute("height")),P.push(p[i]);var m=l.evaluate("//*[starts-with(@id,'OLF')]",l,null,7,null);for(i=0;i<m.snapshotLength;i++)I=!0,calcOlfAndOlt(m.snapshotItem(i),"OLF");var d=l.evaluate("//*[starts-with(@id,'OLT')]",l,null,7,null);for(i=0;i<d.snapshotLength;i++){var f;d.snapshotLength>1&&"TE"!=(null===(f=d.snapshotItem(i))||void 0===f||null===(f=f.parentElement)||void 0===f?void 0:f.getAttribute("id"))||calcOlfAndOlt(d.snapshotItem(i),"OLT")}I&&(C=L-E,N=x-S);function convertPolygonToRect(e,t){var n=t.createElement("rect");n.setAttribute("id",e.getAttribute("id"));var r=createPolygonElement(e.getAttribute("points")).points;if(r.length>0){for(var a=r[0].x,i=r[0].x,o=r[0].y,l=r[0].y,s=1;s<r.length;s++)r[s].x<a?a=r[s].x:r[s].x>i&&(i=r[s].x),r[s].y<o?o=r[s].y:r[s].y>l&&(l=r[s].y);n.setAttribute("x",a),n.setAttribute("y",o),n.setAttribute("width",i-a),n.setAttribute("height",l-o),e.parentElement.appendChild(n),n.parentElement.removeChild(e)}return n}function calcOlfAndOlt(e,t,n){switch(e.localName){case"rect":e.hasAttribute("x")||e.setAttribute("x","0"),null==!e.hasAttribute("y")&&e.setAttribute("y","0"),"OLT"==t?(E=parseFloat(e.getAttribute("width")),S=parseFloat(e.getAttribute("height"))):"OLF"==t&&(L=parseFloat(e.getAttribute("width")),x=parseFloat(e.getAttribute("height")));break;case"polygon":var r,a,i=createPolygonElement(e.getAttribute("points")),o=0,l=0;i.points[0]&&(r=i.points[0].x,a=i.points[0].y);for(var s=0;s<i.points.length;s++)i.points[s].x>o&&(o=i.points[s].x),i.points[s].y>l&&(l=i.points[s].y),i.points[s].x<r&&(r=i.points[s].x),i.points[s].y<a&&(a=i.points[s].y);"OLT"==t?(E=o-r,S=l-a,O=r,w=a):"OLF"==t&&(L=o-r,x=l-a,T=r,V=a);break;case"path":var u=new c.fabric.Path(e.getAttribute("d"));"OLT"==t?(E=u.width,S=u.height):"OLF"==t&&(L=u.width,x=u.height);break;case"g":var g=e.children;e.setAttribute("id","");for(s=0;s<g.length;s++){switch(g[s].localName){case"rect":case"path":case"polygon":g[s].setAttribute("id",t),calcOlfAndOlt(g[s],t)}break}}}u=E,h=S,function sortSA(){for(var e=0;e<k.length;e++){for(var t=e,n=e+1;n<k.length;n++)parseFloat(k[n].getAttribute("x"))<parseFloat(k[t].getAttribute("x"))&&(t=n);if(t>e){var r=k[e];k[e]=k[t],k[t]=r}}for(e=0;e<P.length;e++){for(t=e,n=e+1;n<P.length;n++)parseFloat(P[n].getAttribute("y"))<parseFloat(P[t].getAttribute("y"))&&(t=n);if(t>e){r=P[e];P[e]=P[t],P[t]=r}}}(),function calcRatioSA(e,t){if(e>0)for(var n=0;n<k.length;n++)A[n]=parseFloat(k[n].getAttribute("width"))/e;if(t>0)for(n=0;n<P.length;n++)b[n]=parseFloat(P[n].getAttribute("height"))/t}(r,a),function clearSA(){for(var e=0;e<k.length;e++)k[e].setAttribute("width","0");for(e=0;e<P.length;e++)P[e].setAttribute("height","0")}(),n()}(s.children,v,(function(){var e;(y/=v.x,F/=v.y,t==W&&n==G)?(e=(e="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):p()(l)).replace(R,"svg"),o(e)):resizeXml(y,F,"OLT",(function(){I?resizeXml(y+C,F+N,"OLF",(function(){s=fixViewBox(s,a,i),M=(M="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):p()(l)).replace(R,"svg"),o(M)})):(s=fixViewBox(s,a,i),M=(M="undefined"!=typeof XMLSerializer?(new XMLSerializer).serializeToString(l):p()(l)).replace(R,"svg"),o(M))}))})),{heightOLF:x,widthOLF:L,heightOLT:S,widthOLT:E}}}])}(),v=n(97933),D=g.ZP.initLog("Planner","WEB-PLANNER-LOGIC");const y=new(function(){return(0,i.Z)((function PlannerHandler2D(){(0,a.Z)(this,PlannerHandler2D),(0,o.Z)(this,"svgUtils",void 0),this.svgUtils=new f}),[{key:"checkCollision",value:function checkCollision(e,t){if(g.ZP.startSpanOfApm("PlannerHandler2D checkCollision"),e.Layer!=t.Layer)return!1;var n=e.getWorld2DBBoxOutline(),r=t.getWorld2DBBoxOutline(),a=function checkCollisionPolygonPolygon(e,t){for(var n=0;n<e.length;n++)for(var r=e[n],a=e[(n+1)%e.length],i=0;i<t.length;i++){var o=t[i],l=t[(i+1)%t.length];if("Intersection"==c.fabric.Intersection.intersectLineLine(new c.fabric.Point(r.x,r.y),new c.fabric.Point(a.x,a.y),new c.fabric.Point(o.x,o.y),new c.fabric.Point(l.x,l.y)).status)return!0}return!1};if(a(n,r)){if(!e.HasOLTPolygon&&!e.HasOLFPolygon)return D.error(new g.GE("checkCollision PlannerHandler2D - The element with id: "+e.getElementId()+" has no OLT AND no OLF",{code:"WC_0012"})),g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),!1;if(!t.HasOLTPolygon&&!t.HasOLFPolygon)return D.error(new g.GE("checkCollision PlannerHandler2D - The element with id: "+t.getElementId()+" has no OLT AND no OLF",{code:"WC_0012"})),g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),!1;var i=e.HasOLFPolygon?e.getOLFPolygonWorldPos():e.getOLTPolygonWorldPos(),o=t.HasOLFPolygon?t.getOLFPolygonWorldPos():t.getOLTPolygonWorldPos();return g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),a(i,o)}return g.ZP.endSpanOfApm("PlannerHandler2D checkCollision"),function checkPolygonInsidePolygon(e,t){for(var n=0,r=0,a=0;a<e.length;a++){for(var i=e[a],o=new m.FM(i.x+999999,i.y),l=0,s=0;s<t.length;s++){var u=t[s],g=t[(s+1)%t.length];"Intersection"==c.fabric.Intersection.intersectLineLine(new c.fabric.Point(i.x,i.y),new c.fabric.Point(o.x,o.y),new c.fabric.Point(u.x,u.y),new c.fabric.Point(g.x,g.y)).status&&l++}if(l%2==0?n++:r++,n>0&&r>0)return!1}return!(n>0&&r>0)&&r==e.length}(n,r)}},{key:"caluclatePNGOfSVG",value:function caluclatePNGOfSVG(e){g.ZP.startSpanOfApm("PlannerHandler2D caluclatePNGOfSVG"),document.createElement("canvas").id="helperCanvasConverter";var t=new c.fabric.Canvas("helperCanvasConverter");t.backgroundColor="#fff",t.setWidth(g.ZP.UnitRecalc*e.getWidthOLT()),t.setHeight(g.ZP.UnitRecalc*e.getDepthOLT());var n=e.getSVGShapeOLT2D();t.add(n),n.bringToFront(),t.renderAll();var r=t.toDataURL({format:"jpeg",quality:1});e.SvgDataOLTBase64=r}},{key:"parseSvg",value:function parseSvg(e,t,n,r,a){var i=this;t=this.svgUtils.removeMaskFromSvg(t),v.Z.initDockingPointsFromSvg(e,this.svgUtils.getDPsInSVG(t),n,r);var o=this.svgUtils.removeOLFFromSvg(t),l=this.svgUtils.getPointOfPoligonById(t,"OLT");if(void 0===l)throw new Error("no olt fount in svg");e.OLTPolygon=l;var s=this.svgUtils.getPointOfPoligonById(t,"OLF");if(null!=s&&s.length){var u=this.svgUtils.getBoundingBoxOfPoints(s),h=u.width,p=u.height;e.setupOLF(s,h,p)}else null!=a&&a.heightOLF,null!=a&&a.widthOLF?e.setupOLF(s,null==a?void 0:a.widthOLF,null==a?void 0:a.heightOLF):e.clearOLF();if("undefined"!=typeof window)return new Promise((function(n,r){c.fabric.loadSVGFromString(t,(function(r,a){e.cleanShapeOLF2D();for(var l=[],s=0,u=0,h=0,p=0,m=0;m<r.length;m++){var d=r[m];if(d.setCoords(),d.id)switch(d.id.toString().substring(0,3)){case"OLF":d.stroke="none";break;case"OLT":d.stroke="none",s=d.top,u=d.left,h=d.width,p=d.height}l.push(d)}var f=c.fabric.util.groupSVGElements(l,a);f.set({originX:"left",originY:"top",lockRotation:!0,hasRotatingPoint:!0,lockUniScaling:!0,lockScalingX:!0,lockScalingY:!0,scaleX:1,scaleY:1,left:0,top:0}),e.DoSetWidthFromSVG&&f.width&&(e.WidthFromSVG=f.width/g.ZP.UnitRecalc),e.DoSetDepthFromSVG&&f.height&&(e.DepthFromSVG=f.height/g.ZP.UnitRecalc),e.SvgShapeOLF2D=f,e.OLTDepth=p,e.OLTWidth=h,e.OLTTop=s,e.OLTLeft=u,e.SvgData=t,c.fabric.loadSVGFromString(o,(function(t,a){e.cleanShapeOLT2D();for(var o=0;o<r.length;o++){var l=r[o];l.id&&l.id.toString().startsWith("OLT")&&(a.height=l.height,a.width=l.width)}var s=c.fabric.util.groupSVGElements(t,a);s.set({originX:"left",originY:"top",lockRotation:!0,hasRotatingPoint:!0,lockUniScaling:!0,lockScalingX:!0,lockScalingY:!0,scaleX:1,scaleY:1,left:0,top:0}),e.SvgShapeOLT2D=s,i.caluclatePNGOfSVG(e),n()}))}))}))}},{key:"getMinBorderSVG",value:function getMinBorderSVG(e){return"undefined"==typeof window?{svgMinXVal:0,svgMinYVal:0}:new Promise((function(t,n){var r=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY;c.fabric.loadSVGFromString(e,(function(e,n){for(var i,o=0;o<e.length;o++){var l=e[o];l.id&&(i=l.id.toString()),null!=i&&i.startsWith("AV")||(r>l.left&&(r=l.left),a>l.top&&(a=l.top))}t({svgMinXVal:r,svgMinYVal:a})}))}))}},{key:"loadSVG",value:(e=(0,r.Z)(s().mark((function _callee(e,t){var n,r,a,i,o,l,u,c,h,p=this;return s().wrap((function _callee$(s){for(;;)switch(s.prev=s.next){case 0:if(n=e.SvgFileName){s.next=3;break}return s.abrupt("return",!1);case 3:if(!t.CatalogData.isIDMFormat){s.next=9;break}return s.next=6,t.api.fetchData(n,{method:"GET",config:{},data:{}});case 6:r=s.sent,s.next=16;break;case 9:return s.next=11,t.api.getDataCache(this.getSVGUrl(n,t.CatalogData.mediaUrl),void 0,t.CatalogData.accountSessionGuid);case 11:if(!(i=s.sent).Error){s.next=14;break}throw new Error(i.Error);case 14:"success"==i.Result.toLowerCase()&&(a=i.Content),r=g.ZP.decodeBase64(a);case 16:if(r||D.error(new g.GE("Fehler beim laden des SVGs ",{code:"WC_0009",custom:{svgFile:n}})),o=e.Width,-1===(l=e.Depth)&&-1!==e.Height&&(l=e.Height),!(null!=o&&o>0&&null!=l&&l>0)){s.next=31;break}return s.next=23,this.getMinBorderSVG(r);case 23:return c=s.sent,h="",s.next=27,new Promise((function(e,n){u=p.svgUtils.ccCheckStretchAreas(r,o,l,t.CatalogData.useGlobalSVGScale,c.svgMinXVal,c.svgMinYVal,(function(t){h=t,e()}))}));case 27:return s.next=29,this.parseSvg(e,h,c,t.CatalogData.getPlannerConfig(),u);case 29:s.next=33;break;case 31:return s.next=33,this.parseSvg(e,r,{svgMinXVal:0,svgMinYVal:0},t.CatalogData.getPlannerConfig());case 33:return s.abrupt("return",!0);case 34:case"end":return s.stop()}}),_callee,this)}))),function loadSVG(t,n){return e.apply(this,arguments)})},{key:"getSVGUrl",value:function getSVGUrl(e,t){var n=t+"pln_"+e,r=n.indexOf("/files/");return n=n.substring(r),"function=GetFileAsString&fileUrl="+encodeURIComponent(n)}}]);var e}())},57312:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(13125),a=n(43860),i=n(80248),o=n(64357),l=n(74530);function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){(0,i.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var s=function(){return(0,a.Z)((function PlannerElementData(e,t,n,a){(0,r.Z)(this,PlannerElementData),(0,i.Z)(this,"planElement",void 0),(0,i.Z)(this,"plannerStateHash",void 0),(0,i.Z)(this,"dockingPoints",void 0),(0,i.Z)(this,"tempDockingPoints",void 0),(0,i.Z)(this,"plannerType",void 0),(0,i.Z)(this,"basketId",void 0),(0,i.Z)(this,"doSetWidthFromSVG",void 0),(0,i.Z)(this,"doSetDepthFromSVG",void 0),this.basketId=t,this.planElement={elementId:n,setId:e,worldPosCenter:new o.P(0,0,0),rotDeg:0,posNr:-1,setPosNr:-1,oltDepth:0,oltWidth:0,oltLeft:0,oltTop:0},this.dockingPoints=[],this.tempDockingPoints=[],this.plannerStateHash="",this.plannerType=a,this.doSetWidthFromSVG=!1,this.doSetDepthFromSVG=!1}),[{key:"destroy",value:function destroy(){this.planElement.svgShapeOLF2D=null,this.planElement.svgShapeOLT2D=null,this.planElement.svgAsHTMLCanvas=void 0,this.dockingPoints=[],this.tempDockingPoints=[]}},{key:"getTempDockingPoints",value:function getTempDockingPoints(){return this.tempDockingPoints}},{key:"clearTempDockingPoints",value:function clearTempDockingPoints(){this.tempDockingPoints=[]}},{key:"getDockingPoints",value:function getDockingPoints(){return this.dockingPoints}},{key:"dockingTypeIsDocking",value:function dockingTypeIsDocking(e){for(var t=this.getDockingPointsByType(e),n=0;n<t.length;n++)if(t[n].IsDocking)return!0;return!1}},{key:"getDockingDockingPointsByType",value:function getDockingDockingPointsByType(e){for(var t=this.getDockingPointsByType(e),n=[],r=0;r<t.length;r++)t[r].IsDocking&&n.push(t[r]);return n}},{key:"getDockingDockingPoints",value:function getDockingDockingPoints(){for(var e=[],t=0;t<this.dockingPoints.length;t++)this.dockingPoints[t].IsDocking&&e.push(this.dockingPoints[t]);return e}},{key:"getFreeDockingPointsByType",value:function getFreeDockingPointsByType(e){for(var t=this.getDockingPointsByType(e),n=[],r=0;r<t.length;r++)t[r].IsDocking||n.push(t[r]);return n}},{key:"getFreeDockingPointByTypeAndNumber",value:function getFreeDockingPointByTypeAndNumber(e,t){for(var n=0;n<this.dockingPoints.length;n++)if(!this.dockingPoints[n].IsDocking&&this.dockingPoints[n].Type==e&&this.dockingPoints[n].Number==t)return this.dockingPoints[n]}},{key:"getAllDockingPoints",value:function getAllDockingPoints(){return this.dockingPoints}},{key:"getDockingPointsByType",value:function getDockingPointsByType(e){for(var t=[],n=0;n<this.dockingPoints.length;n++)this.dockingPoints[n].Type==e&&t.push(this.dockingPoints[n]);return t}},{key:"getDockingPointById",value:function getDockingPointById(e){for(var t=0;t<this.dockingPoints.length;t++)if(this.dockingPoints[t].DpId==e)return this.dockingPoints[t]}},{key:"getDockingPointJS3D",value:function getDockingPointJS3D(){for(var e="",t=0;t<this.dockingPoints.length;t++){var n=this.dockingPoints[t];n.IsDocking&&(""!=e&&(e+=","),e+=n.Name+":E"+n.OnElementId)}return e}},{key:"ArticleCodex",get:function get(){var e,t;return null!==(e=this.planElement.plannerData)&&void 0!==e&&e.articleCodex?null===(t=this.planElement.plannerData)||void 0===t?void 0:t.articleCodex:""}},{key:"IsDockedAccessoire",get:function get(){return!!this.planElement.plannerData&&this.planElement.plannerData.isAccessoire}},{key:"IsAccessoire",get:function get(){var e,t;return"Accessoire"==(null===(e=this.planElement.plannerData)||void 0===e?void 0:e.filterType)||(null===(t=this.planElement.plannerData)||void 0===t?void 0:t.isAccessoire)}},{key:"FilterAVL",get:function get(){return this.getFilterAVL()}},{key:"FilterAVR",get:function get(){return this.getFilterAVR()}},{key:"PosNr",get:function get(){return this.planElement.posNr},set:function set(e){this.planElement.posNr=e}},{key:"SetPosNr",set:function set(e){this.planElement.setPosNr=e}},{key:"AccessoirePosNr",get:function get(){return null!=this.planElement.posNrAcc?this.planElement.posNrAcc:-1},set:function set(e){this.planElement.posNrAcc=e}},{key:"WorldPosCenter",get:function get(){return this.planElement.worldPosCenter},set:function set(e){this.planElement.worldPosCenter=e}},{key:"WorldPosCenterIgnoreOLF",get:function get(){var e=this.WorldPosCorner,t=new o.FM(this.planElement.oltLeft+this.planElement.oltWidth/2,this.planElement.oltTop+this.planElement.oltDepth/2);return t=o.FM.rotateOrigin(t,this.planElement.rotDeg),new o.P(e.x+t.x,this.WorldPosCenter.y,e.z+t.y)}},{key:"WorldPosCorner",get:function get(){if(null==this.planElement.plannerData)return new o.P(0,0,0);var e=new o.FM(-this.planElement.plannerData.width/2,-this.planElement.plannerData.depth/2);return e=o.FM.rotateOrigin(e,this.planElement.rotDeg),new o.P(this.planElement.worldPosCenter.x+e.x,this.planElement.worldPosCenter.y-this.planElement.plannerData.height/2,this.planElement.worldPosCenter.z+e.y)},set:function set(e){if(this.planElement.plannerData){var t=new o.FM(this.planElement.plannerData.width/2,this.planElement.plannerData.depth/2);t=o.FM.rotateOrigin(t,this.planElement.rotDeg),this.planElement.worldPosCenter=new o.P(e.x+t.x,e.y+this.planElement.plannerData.height/2,e.z+t.y)}}},{key:"updateDeltaTrans",value:function updateDeltaTrans(e,t,n,r){if(this.WorldPosCenter=new o.P(this.WorldPosCenter.x+e.x,this.WorldPosCenter.y+e.y,this.WorldPosCenter.z+e.z),0!=t||r){if(r){var a=this.RotDeg+t;0!=n&&(Math.abs(a%n)>n/2?t=t+n-Math.abs(a%n):t+=Math.abs(a%n))}this.processCenterRot(t)}}},{key:"processCenterRot",value:function processCenterRot(e){this.RotDeg=this.RotDeg+e}},{key:"getWorldPosOfDP",value:function getWorldPosOfDP(e){var t=this.getDockingPointById(e);if(null==t)return new o.P(0,0,0);var n=o.FM.rotateOrigin(new o.FM(null==t?void 0:t.LocalWorldPos.x,null==t?void 0:t.LocalWorldPos.z),this.RotDeg);return new o.P(this.WorldPosCorner.x+n.x,this.WorldPosCorner.y,this.WorldPosCorner.z+n.y)}},{key:"getWorld2DBBoxOutline",value:function getWorld2DBBoxOutline(){var e=[];e.push(new o.FM(this.WorldPosCorner.x,this.WorldPosCorner.z));var t=o.FM.rotateOrigin(new o.FM(this.getGlobalWidth(),0),this.RotDeg);return e.push(new o.FM(this.WorldPosCorner.x+t.x,this.WorldPosCorner.z+t.y)),t=o.FM.rotateOrigin(new o.FM(this.getGlobalWidth(),this.getGlobalDepth()),this.RotDeg),e.push(new o.FM(this.WorldPosCorner.x+t.x,this.WorldPosCorner.z+t.y)),t=o.FM.rotateOrigin(new o.FM(0,this.getGlobalDepth()),this.RotDeg),e.push(new o.FM(this.WorldPosCorner.x+t.x,this.WorldPosCorner.z+t.y)),e}},{key:"RotDeg",get:function get(){return this.planElement.rotDeg},set:function set(e){this.planElement.rotDeg=e}},{key:"saveCurrentDPState",value:function saveCurrentDPState(){if(this.dockingPoints&&this.dockingPoints.length>0){this.tempDockingPoints=[];for(var e=0;e<this.dockingPoints.length;e++)this.tempDockingPoints.push(this.dockingPoints[e].clone())}}},{key:"clearAllDockingPoints",value:function clearAllDockingPoints(){this.dockingPoints=[]}},{key:"addDockingPoint",value:function addDockingPoint(e){this.dockingPoints.push(e)}},{key:"updatePlannerData",value:function updatePlannerData(e){if(null==(null==e?void 0:e.width)||-1==e.width?this.doSetWidthFromSVG=!0:this.doSetWidthFromSVG=!1,null==(null==e?void 0:e.depth)||-1==e.depth?this.doSetDepthFromSVG=!0:this.doSetDepthFromSVG=!1,null==this.planElement.plannerData&&null!=e)return this.planElement.plannerData=e,this.plannerStateHash=(0,l.FB)(JSON.stringify(this.planElement.plannerData)),!0;if(null!=e&&(this.planElement.plannerData=e),!this.planElement.plannerData)return!1;var t=_objectSpread(_objectSpread({},this.planElement.plannerData),{},{currentAccessorires:[]}),n=(0,l.FB)(JSON.stringify(t));return this.plannerStateHash!=n&&(this.plannerStateHash=n,!0)}},{key:"cleanShapeOLF2D",value:function cleanShapeOLF2D(){this.planElement.svgShapeOLF2D=void 0}},{key:"cleanShapeOLT2D",value:function cleanShapeOLT2D(){this.planElement.svgShapeOLT2D=void 0}},{key:"DoSetWidthFromSVG",get:function get(){return this.doSetWidthFromSVG}},{key:"DoSetDepthFromSVG",get:function get(){return this.doSetDepthFromSVG}},{key:"WidthFromSVG",set:function set(e){this.planElement.plannerData&&(this.planElement.plannerData.width=e),this.doSetWidthFromSVG=!1}},{key:"DepthFromSVG",set:function set(e){this.planElement.plannerData&&(this.planElement.plannerData.depth=e),this.doSetDepthFromSVG=!1}},{key:"ElementId",get:function get(){return this.planElement.elementId}},{key:"SvgFileName",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.curSVG}},{key:"Width",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.width}},{key:"Height",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.height}},{key:"Depth",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.depth}},{key:"HasAVL",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.hasAVL}},{key:"HasAVR",get:function get(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.hasAVR}},{key:"HasAVO",get:function get(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVO>0}},{key:"HasAVU",get:function get(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVU>0}},{key:"HasAVC",get:function get(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVC>0}},{key:"HasAVN",get:function get(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVN>0}},{key:"HasAVS",get:function get(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVS>0}},{key:"SvgShapeOLF2D",get:function get(){return this.planElement.svgShapeOLF2D},set:function set(e){this.planElement.svgShapeOLF2D=e}},{key:"SvgShapeOLT2D",get:function get(){return this.planElement.svgShapeOLT2D},set:function set(e){this.planElement.svgShapeOLT2D=e}},{key:"OLTPolygon",get:function get(){return this.planElement.oltPolygon},set:function set(e){this.planElement.oltPolygon=e}},{key:"OLTTop",set:function set(e){this.planElement.oltTop=e/l.ZP.UnitRecalc}},{key:"OLTLeft",set:function set(e){this.planElement.oltLeft=e/l.ZP.UnitRecalc}},{key:"OLTWidth",set:function set(e){this.planElement.oltWidth=e/l.ZP.UnitRecalc}},{key:"OLTDepth",set:function set(e){this.planElement.oltDepth=e/l.ZP.UnitRecalc}},{key:"setupOLF",value:function setupOLF(e,t,n){this.planElement.olfPolygon=e,this.planElement.olfDepth=n,this.planElement.olfWidth=t}},{key:"clearOLF",value:function clearOLF(){this.planElement.olfPolygon=void 0,this.planElement.olfDepth=void 0,this.planElement.olfWidth=void 0}},{key:"getGlobalWidth",value:function getGlobalWidth(){return this.HasOLFPolygon?this.planElement.olfWidth/l.ZP.UnitRecalc:this.Width}},{key:"getGlobalDepth",value:function getGlobalDepth(){return this.HasOLFPolygon?this.planElement.olfDepth/l.ZP.UnitRecalc:this.Depth}},{key:"HasOLTPolygon",get:function get(){return null!=this.planElement.oltPolygon}},{key:"HasOLFPolygon",get:function get(){return null!=this.planElement.olfPolygon}},{key:"getOLTPolygonWorldPos",value:function getOLTPolygonWorldPos(){if(!this.planElement.oltPolygon)return[];for(var e=[],t=0;t<this.planElement.oltPolygon.length;t++){var n=new o.FM(this.planElement.oltPolygon[t].x/l.ZP.UnitRecalc,this.planElement.oltPolygon[t].y/l.ZP.UnitRecalc);n=o.FM.rotateOrigin(n,this.RotDeg),e.push(new o.FM(this.WorldPosCorner.x+n.x,this.WorldPosCorner.z+n.y))}return e}},{key:"getOLFPolygonWorldPos",value:function getOLFPolygonWorldPos(){var e=[];if(!this.planElement.olfPolygon)return[];for(var t=0;t<this.planElement.olfPolygon.length;t++){var n=new o.FM(this.planElement.olfPolygon[t].x/l.ZP.UnitRecalc,this.planElement.olfPolygon[t].y/l.ZP.UnitRecalc);n=o.FM.rotateOrigin(n,this.RotDeg),e.push(new o.FM(this.WorldPosCorner.x+n.x,this.WorldPosCorner.z+n.y))}return e}},{key:"SvgData",get:function get(){return this.planElement.svgData?this.planElement.svgData:""},set:function set(e){this.planElement.svgData=e}},{key:"SvgDataOLTBase64",set:function set(e){this.planElement.SvgDataOLTBase64=e}},{key:"Layer",get:function get(){return this.planElement.plannerData.layer}},{key:"HasSvgAsHTMLCanvas",get:function get(){return null!=this.planElement.svgAsHTMLCanvas}},{key:"SvgAsHTMLCanvas",get:function get(){return this.planElement.svgAsHTMLCanvas},set:function set(e){this.planElement.svgAsHTMLCanvas=e}},{key:"getArticleCodex",value:function getArticleCodex(){return this.ArticleCodex}},{key:"getPosNr",value:function getPosNr(){return this.planElement.setPosNr}},{key:"getIsDockedAccessoire",value:function getIsDockedAccessoire(){return this.IsDockedAccessoire}},{key:"getIsNotDockedAccessoire",value:function getIsNotDockedAccessoire(){var e;return!(null===(e=this.planElement.plannerData)||void 0===e||!e.isNotDockedAccessoire)}},{key:"getParentElementId",value:function getParentElementId(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.parentElementId}},{key:"getElementId",value:function getElementId(){return this.planElement.elementId}},{key:"getBasketId",value:function getBasketId(){return this.basketId}},{key:"getSetId",value:function getSetId(){return this.planElement.setId}},{key:"getWorldPosCorner",value:function getWorldPosCorner(){return this.WorldPosCorner}},{key:"getWorldPosCenter",value:function getWorldPosCenter(){return this.WorldPosCenter}},{key:"getRotDeg",value:function getRotDeg(){return this.planElement.rotDeg}},{key:"getRotRad",value:function getRotRad(){return this.planElement.rotDeg*Math.PI/180}},{key:"getHasAVL",value:function getHasAVL(){return!!this.planElement.plannerData&&this.planElement.plannerData.hasAVL}},{key:"getHasAVR",value:function getHasAVR(){return!!this.planElement.plannerData&&this.planElement.plannerData.hasAVR}},{key:"getHasAVO",value:function getHasAVO(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVO>0}},{key:"getHasAVU",value:function getHasAVU(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVU>0}},{key:"getHasAVC",value:function getHasAVC(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVC>0}},{key:"getHasAVN",value:function getHasAVN(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVN>0}},{key:"getHasAVS",value:function getHasAVS(){return null!=this.planElement.plannerData&&this.planElement.plannerData.countAVS>0}},{key:"getFilterAVL",value:function getFilterAVL(){var e;return this.planElement.plannerData?null===(e=this.planElement.plannerData)||void 0===e?void 0:e.AVLFilter:[]}},{key:"getFilterAVR",value:function getFilterAVR(){return this.planElement.plannerData?this.planElement.plannerData.AVRFilter:[]}},{key:"getSVGShapeOLF2D",value:function getSVGShapeOLF2D(){return this.planElement.svgShapeOLF2D}},{key:"getSVGShapeOLT2D",value:function getSVGShapeOLT2D(){return this.planElement.svgShapeOLT2D}},{key:"getPlannerType",value:function getPlannerType(){return this.plannerType}},{key:"getSVGData",value:function getSVGData(){return this.planElement.svgData?this.planElement.svgData:""}},{key:"getWidth",value:function getWidth(){return this.planElement.plannerData?this.getGlobalWidth():-1}},{key:"getHeight",value:function getHeight(){return this.planElement.plannerData?this.planElement.plannerData.height:-1}},{key:"getDepth",value:function getDepth(){return this.planElement.plannerData?this.getGlobalDepth():-1}},{key:"getDepthOLT",value:function getDepthOLT(){return this.Depth?this.Depth:-1}},{key:"getWidthOLT",value:function getWidthOLT(){return this.Width?this.Width:-1}},{key:"getLayer",value:function getLayer(){return this.planElement.plannerData?this.planElement.plannerData.layer:20}},{key:"hasSvgAsHtmlCanvas",value:function hasSvgAsHtmlCanvas(){return null!=this.planElement.svgAsHTMLCanvas}},{key:"getSvgAsHtmlCanvas",value:function getSvgAsHtmlCanvas(){return this.planElement.svgAsHTMLCanvas}},{key:"hasSvgDataOLTBase64",value:function hasSvgDataOLTBase64(){return null!=this.planElement.SvgDataOLTBase64&&""!=this.planElement.SvgDataOLTBase64}},{key:"getSvgDataOLTBase64",value:function getSvgDataOLTBase64(){return null!=this.planElement.SvgDataOLTBase64?this.planElement.SvgDataOLTBase64:""}},{key:"getAccessoires",value:function getAccessoires(){var e;return this.planElement.plannerData?null===(e=this.planElement.plannerData)||void 0===e?void 0:e.accessoireList:[]}},{key:"getSVGsWithFormula",value:function getSVGsWithFormula(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.svgsWithFormula}},{key:"getVaraintValuesInfluencingAVLAVRFilter",value:function getVaraintValuesInfluencingAVLAVRFilter(){var e;return null===(e=this.planElement.plannerData)||void 0===e?void 0:e.varaintValuesInfluencingAVLAVRFilter}},{key:"getCurrentAccessorires",value:function getCurrentAccessorires(){var e;return this.planElement.plannerData?null===(e=this.planElement.plannerData)||void 0===e?void 0:e.currentAccessorires:[]}}])}()},95126:()=>{},95678:()=>{},18265:()=>{}}]);
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see 8757.diva-web-planner-react.umd.min.js.LICENSE.txt */
2
- "use strict";(self.webpackChunkCrystaldesignDivaWebPlannerReact=self.webpackChunkCrystaldesignDivaWebPlannerReact||[]).push([[8757],{98757:(e,n,t)=>{t.r(n),t.d(n,{default:()=>m});var r=t(84658),o=t(13125),a=t(43860),l=t(80248),s=t(50747),i=t.n(s),c=t(57312),d=t(74530),g=t(22885),u=t(64357),h=t(97933),P=t(58178),p=d.ZP.initLog("Planner","WEB-PLANNER-LOGIC"),D=["AVO","AVU","AVC","AVS","AVN"],m=function(){function DivaStandardPlanner(e,n,t,r,a,s,i,c){var d=this;(0,o.Z)(this,DivaStandardPlanner),(0,l.Z)(this,"plannerID",void 0),(0,l.Z)(this,"set",void 0),(0,l.Z)(this,"plannerBoundingBox",void 0),(0,l.Z)(this,"plannerElements",void 0),(0,l.Z)(this,"doHidePlanner",!1),(0,l.Z)(this,"doShowAR",!1),(0,l.Z)(this,"doDisablePlanner2D",!1),(0,l.Z)(this,"plannerHasStaticBackground",void 0),(0,l.Z)(this,"isIDM3DCat",!1),(0,l.Z)(this,"IDM3DCatCodex",""),(0,l.Z)(this,"nextElementId",1),(0,l.Z)(this,"collisionHandler",void 0),(0,l.Z)(this,"dockToAVUorAVOororAVNorAVSorAVC",(function(e,n){if(e.HasAVU){var t=h.Z.tryDockElement(e,"AVU",n);if(t)return d.updateWorldPos(e,t),!0;for(var r=0;r<n.length;r++){var o=n[r].getCurrentAccessorires().map((function(e){return d.plannerElements.get(e.getElementId())}));if(d.dockToAVUorAVOororAVNorAVSorAVC(e,o))return!0}}if(e.HasAVO){var a=h.Z.tryDockElement(e,"AVO",n);if(a)return d.updateWorldPos(e,a),!0}if(e.HasAVN){var l=h.Z.tryDockElement(e,"AVN",n);if(l)return d.updateWorldPos(e,l),!0}if(e.HasAVS){var s=h.Z.tryDockElement(e,"AVS",n);if(s)return d.updateWorldPos(e,s),!0}if(e.HasAVC){var i=h.Z.tryDockElement(e,"AVC",n);if(i)return d.updateWorldPos(e,i),!0}return!1})),this.set=e,this.plannerID=t,this.plannerElements=new Map,this.plannerBoundingBox=new P.Z,this.plannerBoundingBox.initPlannerBBox(r),this.doHidePlanner=a,this.doShowAR=s,this.doDisablePlanner2D=i,this.collisionHandler={updatePlannerMsgContainer:n,collisionDetected:!1,collisionPairs:[]},this.plannerHasStaticBackground=c;this.set.CatalogData}return(0,a.Z)(DivaStandardPlanner,[{key:"updatePlannerPosNr",value:function updatePlannerPosNr(){var e,n=this,t=[],r=new Map,o=this;this.plannerElements.forEach((function(e,n){r.set(n,!0),e.IsDockedAccessoire||e.HasAVL&&e.dockingTypeIsDocking("AVL")||t.push(e)})),this.getCatalogData().dontSetPosNrFromPlanner||(t=t.sort((function(e,n){return e.WorldPosCenter.x-n.WorldPosCenter.x})));for(var a=function updateAccessoiresOfElement(t,l){for(var s=[],i=function setPosNrForElementsOnDock(n,a){if(t["Has"+n]){var s=t.getDockingDockingPointsByType(n);s=s.sort((function(e,n){return o.plannerElements.get(e.OnElementId).WorldPosCorner.x-o.plannerElements.get(n.OnElementId).WorldPosCorner.x}));for(var i=0;i<s.length;i++){var c=s[i].OnElementId;if(r.has(c)){var d=o.plannerElements.get(c);d.PosNr=l,d.AccessoirePosNr=e,r.delete(c),e++,a.push(d)}}}},c=0;c<D.length;c++)i(D[c],s);n.plannerElements.forEach((function(n){n.getIsNotDockedAccessoire()&&n.getParentElementId()===t.getElementId()&&(n.PosNr=l,n.AccessoirePosNr=e,r.delete(n.getElementId()),e++,s.push(n))}));for(var d=0;d<s.length;d++)a(s[d],l)},l=function updatePosInChain(n,t){if(null==n)return t;if(n.PosNr=t,e=1,r.delete(n.ElementId),a(n,t),t++,n.HasAVR&&n.dockingTypeIsDocking("AVR")){var s=n.getDockingDockingPointsByType("AVR")[0].OnElementId;return l(o.plannerElements.get(s),t)}return t},s=1,i=0;i<t.length;i++)s=l(t[i],s)}},{key:"updateWorldPos",value:function updateWorldPos(e,n){var t=!1,r=this.plannerElements.get(n.OnElementId),o=r.getDockingPointById(n.OnDP.DpId);if(null==o)return t;var a=new u.P(0,0,0),l=new u.FM(o.LocalWorldPos.x,o.LocalWorldPos.z);l=u.FM.rotateOrigin(l,r.RotDeg);var s=r.RotDeg+o.RotDeg-n.RotDeg;e.RotDeg=s;var i=u.FM.rotateOrigin(new u.FM(n.LocalWorldPos.x,n.LocalWorldPos.z),s);a.x=r.WorldPosCorner.x+l.x-i.x,a.y=r.WorldPosCorner.y+o.LocalWorldPos.y-n.LocalWorldPos.y,a.z=r.WorldPosCorner.z+l.y-i.y,e.WorldPosCorner=a,t=this.set.onDockingChanged(e.ElementId,r.ElementId,"DOCK",n.Type);var c=this.set.getPlannerData(e.ElementId);e.updatePlannerData(c);var d=this.set.getPlannerData(r.ElementId);return r.updatePlannerData(d),t}},{key:"updateAllElementsWorldPos",value:function updateAllElementsWorldPos(e){if(this.doDisablePlanner2D)return!1;var n=!1,t=[],r=[];this.plannerElements.forEach((function(e,n){e.IsDockedAccessoire?r.push(e):t[e.PosNr-1]=e})),t=t.concat(r);for(var o=[],a=0,l=0;l<t.length;l++)if(t[l]){var s=t[l];if(o.push(s.ElementId),l>a)for(var i=s.getDockingDockingPointsByType("AVL").concat(s.getDockingDockingPointsByType("AVR")).concat(s.getDockingDockingPointsByType("AVU")).concat(s.getDockingDockingPointsByType("AVO")).concat(s.getDockingDockingPointsByType("AVN")).concat(s.getDockingDockingPointsByType("AVS")).concat(s.getDockingDockingPointsByType("AVC")),c=0;c<i.length;c++)if(o.indexOf(i[c].OnElementId)>=0){n=this.updateWorldPos(s,i[c]);break}}else a=l;return this.checkCollision(!1,e),n}},{key:"addElementToWorld",value:(k=(0,r.Z)(i().mark((function _callee(e,n,t,r){var o,a,l,s,c,d,g,P,p,D,m,f,E=arguments;return i().wrap((function _callee$(i){for(;;)switch(i.prev=i.next){case 0:if(o=E.length>4&&void 0!==E[4]?E[4]:100,!(a=E.length>5?E[5]:void 0)||!a.forceSetToTrans){i.next=8;break}e.WorldPosCenter=a.transform.worldPosCenter,e.RotDeg=a.transform.rotDeg,this.set.onDockingChanged(e.ElementId,-1,"NOT_DOCKED"),i.next=36;break;case 8:if(l=!1,!n){i.next=35;break}s=0;case 11:if(!(s<n.length)){i.next=35;break}if(c=n[s].targetElemIdToDock,d=n[s].targetDockingPointId,!(c&&c>-1&&this.plannerElements.has(c))){i.next=32;break}if(!d||""==d){i.next=20;break}(g=this.plannerElements.get(c))&&(P=g.getDockingPointById(d))&&(p=h.Z.tryDockElementToDP(e,g,P))&&(this.updateWorldPos(e,p),l=!0),i.next=32;break;case 20:if(D=!1,(e.HasAVL||e.HasAVR)&&(D=this.dockToAVLorAVR(e,[this.plannerElements.get(c)])),D||(D=this.dockToAVUorAVOororAVNorAVSorAVC(e,[this.plannerElements.get(c)])),D){i.next=31;break}return i.next=26,this.tryToDockWithDifferentSVGWithFormula(e,c);case 26:if(D=i.sent){i.next=31;break}return i.next=30,this.addElementToWorld(e,void 0,void 0,void 0,50);case 30:return i.abrupt("return");case 31:D&&(l=!0);case 32:s++,i.next=11;break;case 35:l||(m=this.getAllPlannerElements(),f=this.dockToAVLorAVR(e,m),t&&(f=!1),f||(f=this.dockToAVUorAVOororAVNorAVSorAVC(e,m),t&&(f=!1),f||(null==r&&(e.WorldPosCenter=new u.P(this.plannerBoundingBox.WorldPos.x+this.plannerBoundingBox.Size.x+(0==this.plannerBoundingBox.Size.x?0:e.Width/2+o),this.plannerBoundingBox.WorldPos.y+e.Height/2,this.plannerBoundingBox.WorldPos.z+e.Depth/2)),this.set.onDockingChanged(e.ElementId,-1,"NOT_DOCKED"))));case 36:this.updatePlannerPosNr(),this.updateAllElementsWorldPos(),this.updatePlannerPosNr(),this.checkCollision(!1,e.getElementId()),this.updatePlannerBoundingBox();case 41:case"end":return i.stop()}}),_callee,this)}))),function addElementToWorld(e,n,t,r){return k.apply(this,arguments)})},{key:"tryToDockWithDifferentSVGWithFormula",value:(E=(0,r.Z)(i().mark((function _callee2(e,n){var t,r,o,a,l,s,c,g,u,h,P,D;return i().wrap((function _callee2$(i){for(;;)switch(i.prev=i.next){case 0:if(t=!1,r=e.getSVGsWithFormula(),!e.FilterAVL.length&&!e.FilterAVR.length||null==r||!r.length){i.next=28;break}o=this.set.getArticleByElementId(e.ElementId),a=null==o?void 0:o.VariantValues,l=0;case 6:if(!(l<r.length)){i.next=21;break}for(u in s=new Map,c=new Map,g=d.ZP.getVariantValuesFromRule(r[l].JsFormula,{}))c.set(u,g[u]);return s.set(e.ElementId,c),i.next=14,this.set.updateCfgValuesByPlanner(s,!0);case 14:if(!(t=this.dockToAVLorAVR(e,[this.plannerElements.get(n)]))){i.next=18;break}return p.debug("svgWithFormula nr: "+l+" did dock: "+r[l].SVG),i.abrupt("break",21);case 18:l++,i.next=6;break;case 21:if(t){i.next=28;break}for(D in h=new Map,P=new Map,a)P.set(D,a[D]);return h.set(e.ElementId,P),i.next=28,this.set.updateCfgValuesByPlanner(h,!0);case 28:return i.abrupt("return",t);case 29:case"end":return i.stop()}}),_callee2,this)}))),function tryToDockWithDifferentSVGWithFormula(e,n){return E.apply(this,arguments)})},{key:"dockToAVLorAVR",value:function dockToAVLorAVR(e,n){var t=!1,r=!1;if(e.HasAVL){var o=h.Z.tryDockElement(e,"AVL",n);o&&(this.updateWorldPos(e,o),t=!0)}if(!t&&e.HasAVR){var a=h.Z.tryDockElement(e,"AVR",n);a&&(r=!0,this.updateWorldPos(e,a))}return t||r}},{key:"getAllViewPlannerElements",value:function getAllViewPlannerElements(){return this.getAllPlannerElements()}},{key:"getFreeDockingPointsByElementId",value:function getFreeDockingPointsByElementId(e,n){if(!this.plannerElements.has(e))return{dockingPoints:[],filter:[]};var t=this.plannerElements.get(e),r=t.getFreeDockingPointsByType(n),o=[];switch(n){case"AVR":o=t.getFilterAVR();break;case"AVL":o=t.getFilterAVL()}return{dockingPoints:r,filter:o}}},{key:"getDockedDockingPointsByElementId",value:function getDockedDockingPointsByElementId(e,n){if(!this.plannerElements.has(e))return[];for(var t=this.plannerElements.get(e),r=[],o=0;o<n.length;o++)r=r.concat(t.getDockingDockingPointsByType(n[o]));return r}},{key:"getNeighborElements",value:function getNeighborElements(e,n){if(!this.plannerElements.has(e))return[];var t=this.plannerElements.get(e),r=null==t?void 0:t.getDockingDockingPointsByType(n);if(!r)return[];for(var o=[],a=0;a<(null==r?void 0:r.length);a++)null!=r[a]&&o.push(r[a].OnElementId);return o}},{key:"getDockedGroups",value:function getDockedGroups(){for(var e=[],n=this.getAllPlannerElements(),t=[],r=0;r<this.getAllPlannerElements().length;r++){var o=n[r];if(t.push(o.getElementId()),!o.IsAccessoire){var a=o.getDockingPointsByType("AVL");if(a&&0!=a.length)for(var l=0;l<a.length;l++)a[l].IsDocking||e.push(o);else e.push(o)}}e.sort((function(e,n){return e.WorldPosCorner.x<n.WorldPosCorner.x?1:0}));var s=[];for(r=0;r<e.length;r++){var i=e[r],c=[];t.splice(t.indexOf(i.getElementId()),1);for(var d=!1,g=i;!d;){c.push(g.getElementId()),t.splice(t.indexOf(g.getElementId()),1);var u=this.getAccessoiresRecursive(g.getElementId());for(l=0;l<u.length;l++)c.push(u[l]),t.splice(t.indexOf(u[l]),1);var h=this.getNeighborElements(g.getElementId(),"AVR");h&&0!=h.length?g=this.plannerElements.get(h[0]):d=!0}s.push(c)}for(r=0;r<t.length;r++)s.push([t[r]]);return s}},{key:"getAccessoiresRecursive",value:function getAccessoiresRecursive(e){var n=this,t=function calcAccs(e,r,o){o.push(e);for(var a=n.getNeighborElements(e,"AVC"),l=n.getNeighborElements(e,"AVO"),s=n.getNeighborElements(e,"AVU"),i=n.getNeighborElements(e,"AVN"),c=n.getNeighborElements(e,"AVS"),d=a.concat(l).concat(s).concat(i).concat(c),g=0;g<d.length;g++)o.indexOf(d[g])>=0||(r.push(d[g]),o.push(d[g]),t(d[g],r,o))},r=[];return t(e,r,[]),r}},{key:"getBoundingBox",value:function getBoundingBox(){return this.plannerBoundingBox}},{key:"initIDM3DMeta",value:function initIDM3DMeta(e){this.isIDM3DCat=!0,this.IDM3DCatCodex=""!=e&&null!=e?e:this.set.getCatalogCodex()}},{key:"updatePlanner",value:(f=(0,r.Z)(i().mark((function _callee3(){var e,n,t,r,o,a;return i().wrap((function _callee3$(l){for(;;)switch(l.prev=l.next){case 0:e=this.getAllPlannerElements(),n=[],t=0;case 3:if(!(t<e.length)){l.next=13;break}if(!(r=e[t]).updatePlannerData(this.set.getPlannerData(r.getElementId()))){l.next=10;break}return n.push(r.ElementId),l.next=10,g.Z.loadSVG(r,this.set);case 10:t++,l.next=3;break;case 13:if(o=[],n.length){for(p.debug("Configuration changed one plannerElement. UpdateDockingRelations","DivaStandardPlanner - updatePlanner"),a=h.Z.updateDockingRelations(this.plannerElements),t=0;t<a.length;t++)a[t].IsDockedAccessoire&&o.push(a[t].ElementId);this.updateAllElementsWorldPos(),this.updatePlannerPosNr(),this.updatePlannerBoundingBox()}return l.abrupt("return",{doDeleteBackGrid:!1,elemIdsToDelete:o,elementIdsToUpdateSelection:n});case 16:case"end":return l.stop()}}),_callee3,this)}))),function updatePlanner(){return f.apply(this,arguments)})},{key:"extendPlanner",value:(m=(0,r.Z)(i().mark((function _callee4(e,n){var t,r,o,a,l,s,P,D,m,f,E,k,I,v,x,A,y;return i().wrap((function _callee4$(i){for(;;)switch(i.prev=i.next){case 0:if(t=d.ZP.decodeBase64(e),null==(r=JSON.parse(t)).v||2!=r.v){i.next=36;break}o=r.set.elements,a=[],l=[],s=new Map,P=0;case 8:if(!(P<o.length)){i.next=32;break}if(i.prev=9,D=o[P],m=new c.Z(this.set.getSetId(),D.basketID,this.nextElementId,DivaStandardPlanner.plannerType),s.set(parseInt(D.elementID),m),this.nextElementId=m.getElementId()+1,this.plannerElements.set(m.ElementId,m),this.set.setElementId(D.basketID,m.ElementId),f=this.set.getPlannerData(m.ElementId),m.updatePlannerData(f),this.doDisablePlanner2D){i.next=21;break}return i.next=21,g.Z.loadSVG(m,this.set);case 21:m.WorldPosCenter=new u.P(n.WorldPos.x+n.Size.x+D.x+100,n.WorldPos.y+D.y,n.WorldPos.z+D.z),m.RotDeg=D.rot,m.IsDockedAccessoire?(l.push(D),m.PosNr=D.posNr,m.AccessoirePosNr=D.accNr):(a[D.posNr-1]=D,m.PosNr=D.posNr),i.next=29;break;case 26:i.prev=26,i.t0=i.catch(9),p.error(new d.GE("Error initializing element nr "+P+" in the Standard Web Planner. PlanData V2",{cause:i.t0,code:"WC_0012"}));case 29:P++,i.next=8;break;case 32:for(a=a.concat(l),P=0;P<a.length;P++)if(E=s.get(a[P].elementID),a.length>1&&P>0)for(k=a[P].DP,I=0;I<k.length;I++)v=k[I],x=null==E?void 0:E.getDockingPointById(v.id),A=s.get(v.onID),y=null==A?void 0:A.getDockingPointById(v.onDPID),x&&y&&h.Z.tryDockElementDPToDP(E,A,x,y);i.next=37;break;case 36:p.error(new d.GE("The function extend Planner works only with products that are saved in the configurator 2.0",{code:"WC_0012"}));case 37:case"end":return i.stop()}}),_callee4,this,[[9,26]])}))),function extendPlanner(e,n){return m.apply(this,arguments)})},{key:"initPlanner",value:(s=(0,r.Z)(i().mark((function _callee5(e){var n,t,r,o,a,l,s,P,D,m,f,E,k,I,v,x,A,y,C,B,N,V,b,W,S,T,w,_,O,Z,R,M,L,H,F,z,G;return i().wrap((function _callee5$(i){for(;;)switch(i.prev=i.next){case 0:if(n=d.ZP.decodeBase64(e),null==(t=JSON.parse(n)).v||2!=t.v){i.next=57;break}if(p.debug("Initialize set Plan Data - V2\n"+t,"DivaStandardPlanner initPlanner"),t.set&&t.set.elements&&0!=t.set.elements.length){i.next=6;break}return i.abrupt("return");case 6:r=t.set.elements,o=[],a=[],l=0;case 10:if(!(l<r.length)){i.next=34;break}if(i.prev=11,s=r[l],P=parseInt(s.elementID),D=new c.Z(this.set.getSetId(),s.basketID,P,DivaStandardPlanner.plannerType),this.nextElementId=P+1,this.plannerElements.set(D.ElementId,D),this.set.setElementId(s.basketID,D.ElementId),m=this.set.getPlannerData(D.ElementId),D.updatePlannerData(m),this.doDisablePlanner2D){i.next=23;break}return i.next=23,g.Z.loadSVG(D,this.set);case 23:D.WorldPosCenter=new u.P(this.plannerBoundingBox.WorldPos.x+s.x,this.plannerBoundingBox.WorldPos.y+s.y,this.plannerBoundingBox.WorldPos.z+s.z),D.RotDeg=s.rot,D.IsDockedAccessoire?(a.push(s),D.PosNr=s.posNr,D.AccessoirePosNr=s.accNr):(o[s.posNr-1]=s,D.PosNr=s.posNr),i.next=31;break;case 28:i.prev=28,i.t0=i.catch(11),p.error(new d.GE("Error initializing element nr "+l+" in the Standard Web Planner. PlanData V2",{cause:i.t0,code:"WC_0012"}));case 31:l++,i.next=10;break;case 34:f=1==o.length,o=o.concat(a),l=0;case 37:if(!(l<o.length)){i.next=55;break}if(i.prev=38,0!=l||!f||!this.plannerHasStaticBackground){i.next=43;break}return(E=this.plannerElements.get(o[l].elementID))&&(E.WorldPosCenter=new u.P(0,E.Height/2,E.Depth/2)),i.abrupt("continue",52);case 43:if(null!=o[l].DP&&0!=o[l].DP.length){i.next=45;break}return i.abrupt("continue",52);case 45:for(k=o[l].DP,I=0;I<k.length;I++)(v=k[I]).id&&""!=v.id&&v.onID&&""!=v.onID&&v.onDPID&&""!=v.onDPID&&(x=this.plannerElements.get(o[l].elementID),A=null==x?void 0:x.getDockingPointById(v.id),y=this.plannerElements.get(v.onID),C=null==y?void 0:y.getDockingPointById(v.onDPID),A&&C?h.Z.tryDockElementDPToDP(x,y,A,C):this.doDisablePlanner2D||p.error(new d.GE("Error initializing docking point between source element with id: "+(null==x?void 0:x.ElementId)+" and target Element with id: "+(null==y?void 0:y.ElementId)+". SourceDPID: "+v.id+"; targetDPID: "+v.onDPID)));i.next=52;break;case 49:i.prev=49,i.t1=i.catch(38),p.error(new d.GE("Error initializing dockingPoints of element with elementID "+o[l].elementID,{cause:i.t1,code:"WC_0012"}));case 52:l++,i.next=37;break;case 55:i.next=104;break;case 57:if(p.debug("Initialize set Plan Data - old V1\n"+t,"DivaStandardPlanner initPlanner"),t.Sets&&0!=t.Sets.length&&t.Sets[0].Elements&&0!=t.Sets[0].Elements.length){i.next=60;break}return i.abrupt("return");case 60:B=t.Sets[0].Elements,N=[],V=[],l=0;case 64:if(!(l<B.length)){i.next=94;break}if(i.prev=65,b=B[l],W=b.BasketID,-1==this.set.getElementId(W)&&this.set.setElementId(W,Number(b.ID)),S=this.set.getElementId(W),b.elementId=S,-1!=S){i.next=74;break}return p.error(new d.GE("Error when initializing planner. The elementID Was not saved in the article. ",{code:"WC_0012"})),i.abrupt("continue",91);case 74:if(T=new c.Z(this.set.getSetId(),W,S,DivaStandardPlanner.plannerType),this.nextElementId=S+1,this.plannerElements.set(T.ElementId,T),w=this.set.getPlannerData(T.ElementId),T.updatePlannerData(w),this.doDisablePlanner2D){i.next=82;break}return i.next=82,g.Z.loadSVG(T,this.set);case 82:_=new u.P(b.PosX,b.PosZ,b.PosY),T.WorldPosCenter=new u.P(this.plannerBoundingBox.WorldPos.x+_.x,this.plannerBoundingBox.WorldPos.y+_.y,this.plannerBoundingBox.WorldPos.z+_.z),T.RotDeg=b.Rot,T.IsDockedAccessoire?(V.push(b),b.PosNum.toString().indexOf(".")>0&&(O=b.PosNum.toString().split(".")[0],Z=b.PosNum.toString().split(".")[1],T.PosNr=O,T.AccessoirePosNr=Z)):(N[b.PosNum-1]=b,T.PosNr=b.PosNum),i.next=91;break;case 88:i.prev=88,i.t2=i.catch(65),p.error(new d.GE("Error initializing element nr "+l+" in the Standard Web Planner - Plan Data old Planner",{cause:i.t2,code:"WC_0012"}));case 91:l++,i.next=64;break;case 94:N=N.concat(V),l=0;case 96:if(!(l<N.length)){i.next=104;break}if(null!=N[l].DP&&0!=N[l].DP.length){i.next=99;break}return i.abrupt("continue",101);case 99:for(R=N[l].DP,I=0;I<R.length;I++)(M=R[I]).DP&&""!=M.DP&&M.onID&&""!=M.onID&&(H=parseInt(M.onID),F=M.DP,z=this.plannerElements.get(N[l].elementId),G=null!==(L=this.plannerElements.get(H))&&void 0!==L?L:this.getPlannerElementByIndex(H-1),z&&G?h.Z.initDockingPointRelationByArea(z,G,F):p.error(new d.GE("Error initializing dockingPoints of element with elementID "+N[l].elementId,{code:"WC_0012"})));case 101:l++,i.next=96;break;case 104:this.updateAllElementsWorldPos(),this.updatePlannerPosNr();case 106:case"end":return i.stop()}}),_callee5,this,[[11,28],[38,49],[65,88]])}))),function initPlanner(e){return s.apply(this,arguments)})},{key:"getPlannerElementByIndex",value:function getPlannerElementByIndex(e){var n=void 0,t=0;return this.plannerElements.forEach((function(r,o){e==t&&(n=r),t++})),n}},{key:"addPlannerElement",value:(t=(0,r.Z)(i().mark((function _callee6(e,n){var t,r,o,a,l,s,d;return i().wrap((function _callee6$(i){for(;;)switch(i.prev=i.next){case 0:if(l=new c.Z(this.set.getSetId(),e,this.nextElementId,DivaStandardPlanner.plannerType),this.nextElementId++,this.plannerElements.set(l.ElementId,l),this.set.setElementId(e,l.ElementId),s=this.set.getPlannerData(l.ElementId),l.updatePlannerData(s),this.doDisablePlanner2D){i.next=9;break}return i.next=9,g.Z.loadSVG(l,this.set);case 9:if(null==(d=null!==(t=n.dockingPointInfos)&&void 0!==t?t:[{targetDockingPointId:n.targetDockingPointId,targetElemIdToDock:n.targetElemIdToDock}])||null===(r=d[0])||void 0===r||!r.targetElemIdToDock||null==d||null===(o=d[0])||void 0===o||!o.targetDockingPointId){i.next=15;break}return i.next=13,this.addElementToWorld(l,d);case 13:i.next=27;break;case 15:if(null==d||null===(a=d[0])||void 0===a||!a.targetElemIdToDock){i.next=20;break}return i.next=18,this.addElementToWorld(l,d);case 18:i.next=27;break;case 20:if(!n.oldPlannerTransform){i.next=25;break}return i.next=23,this.addElementToWorld(l,void 0,void 0,void 0,void 0,{forceSetToTrans:!0,transform:n.oldPlannerTransform});case 23:i.next=27;break;case 25:return i.next=27,this.addElementToWorld(l);case 27:this.updatePlannerBoundingBox();case 28:case"end":return i.stop()}}),_callee6,this)}))),function addPlannerElement(e,n){return t.apply(this,arguments)})},{key:"copyPlannerElement",value:(n=(0,r.Z)(i().mark((function _callee7(e,n){var t,r;return i().wrap((function _callee7$(o){for(;;)switch(o.prev=o.next){case 0:t=[],e.forEach((function(e,r){null!=n&&"NO"!=n.dpType||t.push(e)})),r=0;case 3:if(!(r<t.length)){o.next=9;break}return o.next=6,this.addPlannerElement(t[r],{});case 6:r++,o.next=3;break;case 9:case"end":return o.stop()}}),_callee7,this)}))),function copyPlannerElement(e,t){return n.apply(this,arguments)})},{key:"getPlannerElementsInfluencedByDeletion",value:function getPlannerElementsInfluencedByDeletion(e,n){return[]}},{key:"getPlannerElementsInfluencedByCopy",value:function getPlannerElementsInfluencedByCopy(e,n){return this.plannerElements.has(e)?[e]:[]}},{key:"deletePlannerElement",value:(e=(0,r.Z)(i().mark((function _callee8(e,n){var t,r,o,a,l,s,c,g,u,P,p,D,m,f,E;return i().wrap((function _callee8$(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,d.ZP.Sleep(1);case 2:if(this.plannerElements.has(e)){i.next=4;break}return i.abrupt("return",{});case 4:return t=this.plannerElements.get(e),r=this.getParentElement(t),o=-1,a=999,l=-1,s=-1,c=!1,this.plannerElements.forEach((function(e,n){c||(null!=t&&t.IsAccessoire&&t.PosNr==e.PosNr&&(l=e.getElementId(),c=!0),e.getPosNr()<t.getPosNr()&&e.getPosNr()>o?(o=e.getPosNr(),l=e.getElementId()):e.getPosNr()>t.getPosNr()&&e.getPosNr()<a&&(a=e.getPosNr(),s=e.getElementId()))})),g=!1,n&&(u=t.getDockingDockingPointsByType("AVL"),P=t.getDockingDockingPointsByType("AVR"),u.length>0&&P.length>0&&(p=this.plannerElements.get(u[0].OnElementId),D=this.plannerElements.get(P[0].OnElementId),p&&D&&(m=p.getDockingDockingPointsByType("AVR"),f=D.getDockingDockingPointsByType("AVL"),m.length>0&&f.length>0&&(h.Z.removeDockingPointRelations(t),g=!0,h.Z.tryDockElementDPToDP(p,D,m[0],f[0]))))),E={rotDeg:t.getRotDeg(),worldPosCenter:t.WorldPosCenter},g||h.Z.removeDockingPointRelations(t),this.plannerElements.delete(e),this.tryToDockForNotDockedAccessoire(r),this.updatePlannerPosNr(),this.updateAllElementsWorldPos(),this.updatePlannerPosNr(),this.checkCollision(!1,t.getElementId()),this.updatePlannerBoundingBox(),i.abrupt("return",{newElementToSelect:l>=0?l:s>=0?s:void 0,transform:E});case 24:case"end":return i.stop()}}),_callee8,this)}))),function deletePlannerElement(n,t){return e.apply(this,arguments)})},{key:"tryToDockForNotDockedAccessoire",value:function tryToDockForNotDockedAccessoire(e){if(e)for(var n=e.getCurrentAccessorires().filter((function(e){return e.getIsNotDockedAccessoire()})),t=0;t<n.length;t++){var r=n[t].getElementId(),o=this.plannerElements.get(r);if(o)if(this.dockToAVUorAVOororAVNorAVSorAVC(o,[e]))break}}},{key:"checkCollision",value:function checkCollision(e,n){if(!this.doDisablePlanner2D){for(var t,r,o=this.getAllPlannerElements(),a=!1,l=[],s=0;s<o.length;s++){var i=o[s];if(!n||i.getElementId()==n)for(var c=n?0:s+1;c<o.length;c++){var d,u,P=o[c];if(i.getElementId()!=P.getElementId()&&!h.Z.checkElementsAreDocking(i,P)){var D=!1;if((this.set.CatalogData.doCheckConstructionWarnings||null!==(d=this.set.CatalogData.forceConstructionWarningForArticles)&&void 0!==d&&d.includes(i.ArticleCodex)||null!==(u=this.set.CatalogData.forceConstructionWarningForArticles)&&void 0!==u&&u.includes(P.ArticleCodex))&&(D=g.Z.checkCollision(i,P)),D&&(a=!0,l.push({elementId1:i.getElementId(),elementId2:P.getElementId()}),p.debug("Collision Found between element1: "+i.ElementId+"; and element2: "+P.ElementId),!e))break}}}if(this.collisionHandler.collisionDetected&&!a)null===(t=(r=this.collisionHandler).updatePlannerMsgContainer)||void 0===t||t.call(r,"COLLISION_MSG",!1,"WARNING","COLLISION_MSG",!1);else if(!this.collisionHandler.collisionDetected&&a){var m,f;null===(m=(f=this.collisionHandler).updatePlannerMsgContainer)||void 0===m||m.call(f,"COLLISION_MSG",!0,"WARNING","COLLISION_MSG",!1)}this.collisionHandler.collisionPairs=l,this.collisionHandler.collisionDetected=a}}},{key:"updateSetPosNr",value:function updateSetPosNr(e){for(var n=this.getAllPlannerElements(),t=0;t<n.length;t++){var r=n[t];r.SetPosNr=e+r.PosNr-1,this.set.setPosNr(r.ElementId,r.getPosNr())}for(var o=0;o<n.length;o++)n[o].IsAccessoire||this.set.giveAccNewPosNrByBasketId(n[o].getBasketId());return n.length}},{key:"updatePlannerTrans",value:function updatePlannerTrans(e,n,t,r,o,a){var l=this,s=!1;if(this.plannerElements.has(e)){var i=this.plannerElements.get(e);if(null==i||i.updateDeltaTrans(n,t,r,"END"==o),"START"==o){if(i){var c=["AVR","AVL"];i.IsDockedAccessoire&&(c=c.concat(["AVO","AVU","AVN","AVS","AVC"]));for(var d=h.Z.removeDockingPointRelationsByType(i,c),g=0;g<d.length;g++)s=this.set.onDockingChanged(i.ElementId,d[g],"UNDOCK")}}else if("END"==o){var u=h.Z.searchDockableElementsInArea(i,this.getAllPlannerElements(),a);null!=u&&u.size>0&&u.forEach((function(e,n){var t=l.plannerElements.get(e.targetDP.ElementId);t&&h.Z.tryDockElementDPToDP(i,t,e.sourceDP,e.targetDP)})),s=this.updateAllElementsWorldPos(e),this.updatePlannerPosNr(),this.updatePlannerBoundingBox()}}return s}},{key:"destroyPlanner",value:function destroyPlanner(){this.plannerElements.forEach((function(e,n){e.destroy()})),this.plannerElements.clear()}},{key:"saveSetPlanner",value:function saveSetPlanner(){var e=this;if(0==this.plannerElements.size)return null;var n=[];return this.plannerElements.forEach((function(t,r){for(var o=t.getDockingDockingPoints(),a=[],l=0;l<o.length;l++){var s,i={id:o[l].DpId,onID:o[l].OnElementId,onDPID:null===(s=o[l].OnDP)||void 0===s?void 0:s.DpId};a.push(i)}var c={elementID:t.getElementId(),basketID:e.set.getBasketId(t.getElementId()),CatalogCodex:e.set.getCatalogCodex(),Codex:e.set.getArticleCodex(t.getElementId()),posNr:t.PosNr,accNr:t.IsDockedAccessoire?t.AccessoirePosNr:void 0,x:t.WorldPosCenter.x,y:t.WorldPosCenter.y,z:t.WorldPosCenter.z,rot:t.RotDeg,width:t.Width?t.Width:-1,height:t.Height?t.Height:-1,depth:t.Depth?t.Depth:-1,DP:a};if(t.IsAccessoire){var d=e.set.getParentBasketIdOfElementId(t.getElementId());null!=d&&(c.AccessoireInitParams={RelatedToBasketID:d})}n.push(c)})),{setId:this.set.getSetId(),x:0,y:0,z:0,width:this.plannerBoundingBox.Size.x,height:this.plannerBoundingBox.Size.y,depth:this.plannerBoundingBox.Size.z,rot:0,elements:n}}},{key:"getPlannerId",value:function getPlannerId(){return this.plannerID}},{key:"getSetData",value:function getSetData(e,n,t,r){var o=this,a={ID:n?this.set.getSetId():"S1",H:"",x:0,y:0,z:0,w:0,ELE:[],Blob:this.set.CatalogData.supplierILN,Cat:this.set.getCatalogCodex()},l=this.set.getAlternateRenderInfo();l&&(a.AlternateImg=l),t&&(a.ShowDim=t),this.isIDM3DCat&&(a.IsIDM3D=!0,a.IDM3DCatCodex=this.IDM3DCatCodex),this.plannerElements.forEach((function(n,l){var s=o.set.getPlannerConfigData(l,r),i=s.config,c=[];if(s.accs&&s.accs.length>0)for(var g=0;g<s.accs.length;g++)o.plannerElements.has(s.accs[g])&&c.push("E"+s.accs[g]);if(!e||null!=i.Model){var u,h,P,p,D=o.set.getArticleByElementId(l),m={ID:"E"+l,Model:i.Model,x:-Math.round(100*n.WorldPosCenterIgnoreOLF.x)/100,y:Math.round(100*n.WorldPosCenterIgnoreOLF.y)/100,z:Math.round(100*n.WorldPosCenterIgnoreOLF.z)/100,PosPivot:"Center",w:Math.round(100*n.getRotDeg())/100,RotPivot:"Center",DP:n.getDockingPointJS3D(),MAT:i.MAT,MOVE:null!==(u=i.MOVE)&&void 0!==u?u:void 0,CFG:i.CFG,H:"",ACCs:c.length>0?c:void 0};if(t)m.TechSize={Width:null==n.Width||isNaN(n.Width)?null!==(h=null==D?void 0:D.width)&&void 0!==h?h:0:n.Width,Height:null==n.Height||isNaN(n.Height)?null!==(P=null==D?void 0:D.height)&&void 0!==P?P:0:n.Height,Depth:null==n.Depth||isNaN(n.Depth)?null!==(p=null==D?void 0:D.depth)&&void 0!==p?p:0:n.Depth};var f=(0,d.FB)(JSON.stringify(m));m.H=f,a.ELE.push(m)}var E=o.set.getShelfPlannerData(l);if(E)for(var k=0;k<E.length;k++){var I=E[k],v=o.set.getShelfPlannerConfigData(I.basketId).config,x=[];if(v.accs&&v.accs.length>0)for(var A=0;A<v.accs.length;A++)o.plannerElements.has(v.accs[A])&&x.push("E"+v.accs[A]);var y={ID:"E"+I.parentElementId+"."+I.gridId+"."+I.rh,H:"",Model:I.model,x:0,y:0,z:1,w:0,PosPivot:"Center",RotPivot:"Center",DP:"RH"+I.rh+":E"+I.parentElementId,GN:I.gridName,MAT:v.MAT,CFG:v.CFG,ACCs:x.length>0?x:void 0};f=(0,d.FB)(JSON.stringify(y));y.H=f,a.ELE.push(y)}}));var s=(0,d.FB)(JSON.stringify(a));return a.H=s,{constructionSet:a}}},{key:"getElementPosInfo",value:function getElementPosInfo(){var e={};return this.plannerElements.forEach((function(n,t){n.IsDockedAccessoire?e[t]={pos:n.PosNr,isAcc:!0,accPos:n.AccessoirePosNr}:e[t]={pos:n.PosNr,isAcc:!1}})),e}},{key:"getPlanningIsComplete",value:function getPlanningIsComplete(e){var n=this,t=!e&&(this.set.CatalogData.doHideCompletenessWarning||!this.set.CatalogData.doCheckConstructionWarnings),r=!1;return this.plannerElements.forEach((function(e,o){var a;(!t||null!==(a=n.set.CatalogData.forceConstructionWarningForArticles)&&void 0!==a&&a.includes(e.ArticleCodex))&&!r&&(e.getFreeDockingPointsByType("AVL").length>0||e.getFreeDockingPointsByType("AVR").length>0)&&(r=!0)})),!r}},{key:"getPlannerBoundingBox",value:function getPlannerBoundingBox(){var e=this.set.CatalogData,n=this.plannerBoundingBox.getWidth(e.PlannerMeasureDigits),t=this.plannerBoundingBox.getDepth(e.PlannerMeasureDigits);return{width:n,height:this.plannerBoundingBox.getHeight(e.PlannerMeasureDigits),depth:t}}},{key:"updatePlannerBoundingBox",value:function updatePlannerBoundingBox(){this.plannerBoundingBox.calcPlannerBoundingBox(this.getAllPlannerElements())}},{key:"getCatalogData",value:function getCatalogData(){return this.set.CatalogData}},{key:"getAllPlannerElements",value:function getAllPlannerElements(){var e=[];return this.plannerElements.forEach((function(n,t){e.push(n)})),e}},{key:"getParentElement",value:function getParentElement(e){var n=void 0,t=e.getParentElementId();return t&&(n=this.plannerElements.get(t)),n}},{key:"getPositionOfPlannerElements",value:function getPositionOfPlannerElements(){var e=this.set.getSetId();this.plannerElements.forEach((function(n,t){p.log("SetID:",e),p.log("Elementid:",n.ElementId),p.log("X:",n.WorldPosCenter.x),p.log("Y:",n.WorldPosCenter.y),p.log("X:",n.WorldPosCenter.z),p.log("ROT:",n.RotDeg),p.log("___________________________")}))}},{key:"clonePlanner",value:function clonePlanner(e,n){return new DivaStandardPlanner(e,(function(){}),n,new P.Z,!0,!1,!0,!1)}},{key:"getPlannerInteractionInformation",value:function getPlannerInteractionInformation(){return p.error(new d.GE("The function getPlannerInteractionInformation is not implemented yet for standard planner. Dont call it or ask roadmap when its its turn",{code:"WC_0012"})),{boxPlannerInteractionInformationPerElement:new Map}}}]);var e,n,t,s,m,f,E,k}();(0,l.Z)(m,"plannerType","STD")}}]);
2
+ "use strict";(self.webpackChunkCrystaldesignDivaWebPlannerReact=self.webpackChunkCrystaldesignDivaWebPlannerReact||[]).push([[8757],{98757:(e,n,t)=>{t.r(n),t.d(n,{default:()=>m});var r=t(84658),o=t(13125),a=t(43860),l=t(80248),s=t(50747),i=t.n(s),c=t(57312),d=t(74530),g=t(22885),u=t(64357),h=t(97933),P=t(58178),p=d.ZP.initLog("Planner","WEB-PLANNER-LOGIC"),D=["AVO","AVU","AVC","AVS","AVN"],m=function(){function DivaStandardPlanner(e,n,t,r,a,s,i,c){var d=this;(0,o.Z)(this,DivaStandardPlanner),(0,l.Z)(this,"plannerID",void 0),(0,l.Z)(this,"set",void 0),(0,l.Z)(this,"plannerBoundingBox",void 0),(0,l.Z)(this,"plannerElements",void 0),(0,l.Z)(this,"doHidePlanner",!1),(0,l.Z)(this,"doShowAR",!1),(0,l.Z)(this,"doDisablePlanner2D",!1),(0,l.Z)(this,"plannerHasStaticBackground",void 0),(0,l.Z)(this,"isIDM3DCat",!1),(0,l.Z)(this,"IDM3DCatCodex",""),(0,l.Z)(this,"nextElementId",1),(0,l.Z)(this,"collisionHandler",void 0),(0,l.Z)(this,"dockToAVUorAVOororAVNorAVSorAVC",(function(e,n){if(e.HasAVU){var t=h.Z.tryDockElement(e,"AVU",n);if(t)return d.updateWorldPos(e,t),!0;for(var r=0;r<n.length;r++){var o=n[r].getCurrentAccessorires().map((function(e){return d.plannerElements.get(e.getElementId())}));if(d.dockToAVUorAVOororAVNorAVSorAVC(e,o))return!0}}if(e.HasAVO){var a=h.Z.tryDockElement(e,"AVO",n);if(a)return d.updateWorldPos(e,a),!0}if(e.HasAVN){var l=h.Z.tryDockElement(e,"AVN",n);if(l)return d.updateWorldPos(e,l),!0}if(e.HasAVS){var s=h.Z.tryDockElement(e,"AVS",n);if(s)return d.updateWorldPos(e,s),!0}if(e.HasAVC){var i=h.Z.tryDockElement(e,"AVC",n);if(i)return d.updateWorldPos(e,i),!0}return!1})),this.set=e,this.plannerID=t,this.plannerElements=new Map,this.plannerBoundingBox=new P.Z,this.plannerBoundingBox.initPlannerBBox(r),this.doHidePlanner=a,this.doShowAR=s,this.doDisablePlanner2D=i,this.collisionHandler={updatePlannerMsgContainer:n,collisionDetected:!1,collisionPairs:[]},this.plannerHasStaticBackground=c;this.set.CatalogData}return(0,a.Z)(DivaStandardPlanner,[{key:"updatePlannerPosNr",value:function updatePlannerPosNr(){var e,n=this,t=[],r=new Map,o=this;this.plannerElements.forEach((function(e,n){r.set(n,!0),e.IsDockedAccessoire||e.HasAVL&&e.dockingTypeIsDocking("AVL")||t.push(e)})),this.getCatalogData().dontSetPosNrFromPlanner||(t=t.sort((function(e,n){return e.WorldPosCenter.x-n.WorldPosCenter.x})));for(var a=function updateAccessoiresOfElement(t,l){for(var s=[],i=function setPosNrForElementsOnDock(n,a){if(t["Has"+n]){var s=t.getDockingDockingPointsByType(n);s=s.sort((function(e,n){return o.plannerElements.get(e.OnElementId).WorldPosCorner.x-o.plannerElements.get(n.OnElementId).WorldPosCorner.x}));for(var i=0;i<s.length;i++){var c=s[i].OnElementId;if(r.has(c)){var d=o.plannerElements.get(c);d.PosNr=l,d.AccessoirePosNr=e,r.delete(c),e++,a.push(d)}}}},c=0;c<D.length;c++)i(D[c],s);n.plannerElements.forEach((function(n){n.getIsNotDockedAccessoire()&&n.getParentElementId()===t.getElementId()&&(n.PosNr=l,n.AccessoirePosNr=e,r.delete(n.getElementId()),e++,s.push(n))}));for(var d=0;d<s.length;d++)a(s[d],l)},l=function updatePosInChain(n,t){if(null==n)return t;if(n.PosNr=t,e=1,r.delete(n.ElementId),a(n,t),t++,n.HasAVR&&n.dockingTypeIsDocking("AVR")){var s=n.getDockingDockingPointsByType("AVR")[0].OnElementId;return l(o.plannerElements.get(s),t)}return t},s=1,i=0;i<t.length;i++)s=l(t[i],s)}},{key:"updateWorldPos",value:function updateWorldPos(e,n){var t=!1,r=this.plannerElements.get(n.OnElementId),o=r.getDockingPointById(n.OnDP.DpId);if(null==o)return t;var a=new u.P(0,0,0),l=new u.FM(o.LocalWorldPos.x,o.LocalWorldPos.z);l=u.FM.rotateOrigin(l,r.RotDeg);var s=r.RotDeg+o.RotDeg-n.RotDeg;e.RotDeg=s;var i=u.FM.rotateOrigin(new u.FM(n.LocalWorldPos.x,n.LocalWorldPos.z),s);a.x=r.WorldPosCorner.x+l.x-i.x,a.y=r.WorldPosCorner.y+o.LocalWorldPos.y-n.LocalWorldPos.y,a.z=r.WorldPosCorner.z+l.y-i.y,e.WorldPosCorner=a,t=this.set.onDockingChanged(e.ElementId,r.ElementId,"DOCK",n.Type);var c=this.set.getPlannerData(e.ElementId);e.updatePlannerData(c);var d=this.set.getPlannerData(r.ElementId);return r.updatePlannerData(d),t}},{key:"updateAllElementsWorldPos",value:function updateAllElementsWorldPos(e){if(this.doDisablePlanner2D)return!1;var n=!1,t=[],r=[];this.plannerElements.forEach((function(e,n){e.IsDockedAccessoire?r.push(e):t[e.PosNr-1]=e})),t=t.concat(r);for(var o=[],a=0,l=0;l<t.length;l++)if(t[l]){var s=t[l];if(o.push(s.ElementId),l>a)for(var i=s.getDockingDockingPointsByType("AVL").concat(s.getDockingDockingPointsByType("AVR")).concat(s.getDockingDockingPointsByType("AVU")).concat(s.getDockingDockingPointsByType("AVO")).concat(s.getDockingDockingPointsByType("AVN")).concat(s.getDockingDockingPointsByType("AVS")).concat(s.getDockingDockingPointsByType("AVC")),c=0;c<i.length;c++)if(o.indexOf(i[c].OnElementId)>=0){n=this.updateWorldPos(s,i[c]);break}}else a=l;return this.checkCollision(!1,e),n}},{key:"addElementToWorld",value:(k=(0,r.Z)(i().mark((function _callee(e,n,t,r){var o,a,l,s,c,d,g,P,p,D,m,f,E=arguments;return i().wrap((function _callee$(i){for(;;)switch(i.prev=i.next){case 0:if(o=E.length>4&&void 0!==E[4]?E[4]:100,!(a=E.length>5?E[5]:void 0)||!a.forceSetToTrans){i.next=8;break}e.WorldPosCenter=a.transform.worldPosCenter,e.RotDeg=a.transform.rotDeg,this.set.onDockingChanged(e.ElementId,-1,"NOT_DOCKED"),i.next=36;break;case 8:if(l=!1,!n){i.next=35;break}s=0;case 11:if(!(s<n.length)){i.next=35;break}if(c=n[s].targetElemIdToDock,d=n[s].targetDockingPointId,!(c&&c>-1&&this.plannerElements.has(c))){i.next=32;break}if(!d||""==d){i.next=20;break}(g=this.plannerElements.get(c))&&(P=g.getDockingPointById(d))&&(p=h.Z.tryDockElementToDP(e,g,P))&&(this.updateWorldPos(e,p),l=!0),i.next=32;break;case 20:if(D=!1,(e.HasAVL||e.HasAVR)&&(D=this.dockToAVLorAVR(e,[this.plannerElements.get(c)])),D||(D=this.dockToAVUorAVOororAVNorAVSorAVC(e,[this.plannerElements.get(c)])),D){i.next=31;break}return i.next=26,this.tryToDockWithDifferentSVGWithFormula(e,c);case 26:if(D=i.sent){i.next=31;break}return i.next=30,this.addElementToWorld(e,void 0,void 0,void 0,50);case 30:return i.abrupt("return");case 31:D&&(l=!0);case 32:s++,i.next=11;break;case 35:l||(m=this.getAllPlannerElements(),f=this.dockToAVLorAVR(e,m),t&&(f=!1),f||(f=this.dockToAVUorAVOororAVNorAVSorAVC(e,m),t&&(f=!1),f||(null==r&&(e.WorldPosCenter=new u.P(this.plannerBoundingBox.WorldPos.x+this.plannerBoundingBox.Size.x+(0==this.plannerBoundingBox.Size.x?0:e.Width/2+o),this.plannerBoundingBox.WorldPos.y+e.Height/2,this.plannerBoundingBox.WorldPos.z+e.Depth/2)),this.set.onDockingChanged(e.ElementId,-1,"NOT_DOCKED"))));case 36:this.updatePlannerPosNr(),this.updateAllElementsWorldPos(),this.updatePlannerPosNr(),this.checkCollision(!1,e.getElementId()),this.updatePlannerBoundingBox();case 41:case"end":return i.stop()}}),_callee,this)}))),function addElementToWorld(e,n,t,r){return k.apply(this,arguments)})},{key:"tryToDockWithDifferentSVGWithFormula",value:(E=(0,r.Z)(i().mark((function _callee2(e,n){var t,r,o,a,l,s,c,g,u,h,P,D,m,f,E,k,I,v;return i().wrap((function _callee2$(i){for(;;)switch(i.prev=i.next){case 0:if(t=!1,r=this.set.getArticleByElementId(e.ElementId),o=null==r?void 0:r.VariantValues,a=e.getSVGsWithFormula(),!e.FilterAVL.length&&!e.FilterAVR.length){i.next=47;break}if(null==a||!a.length){i.next=22;break}l=0;case 7:if(!(l<a.length)){i.next=22;break}for(u in s=new Map,c=new Map,g=d.ZP.getVariantValuesFromRule(a[l].JsFormula,{}))c.set(u,g[u]);return s.set(e.ElementId,c),i.next=15,this.set.updateCfgValuesByPlanner(s,!0);case 15:if(!(t=this.dockToAVLorAVR(e,[this.plannerElements.get(n)]))){i.next=19;break}return p.debug("svgWithFormula nr: "+l+" did dock: "+a[l].SVG),i.abrupt("break",22);case 19:l++,i.next=7;break;case 22:if(null==(h=e.getVaraintValuesInfluencingAVLAVRFilter())||!h.length||t){i.next=40;break}P=0;case 25:if(!(P<h.length&&P<20)){i.next=40;break}for(E in D=h[P],m=new Map,f=new Map,D)f.set(E,D[E]);return m.set(e.ElementId,f),i.next=33,this.set.updateCfgValuesByPlanner(m,!0);case 33:if(!(t=this.dockToAVLorAVR(e,[this.plannerElements.get(n)]))){i.next=37;break}return p.debug("following variantValues did dock: ",f),i.abrupt("break",40);case 37:P++,i.next=25;break;case 40:if(t){i.next=47;break}for(v in k=new Map,I=new Map,o)I.set(v,o[v]);return k.set(e.ElementId,I),i.next=47,this.set.updateCfgValuesByPlanner(k,!0);case 47:return i.abrupt("return",t);case 48:case"end":return i.stop()}}),_callee2,this)}))),function tryToDockWithDifferentSVGWithFormula(e,n){return E.apply(this,arguments)})},{key:"dockToAVLorAVR",value:function dockToAVLorAVR(e,n){var t=!1,r=!1;if(e.HasAVL){var o=h.Z.tryDockElement(e,"AVL",n);o&&(this.updateWorldPos(e,o),t=!0)}if(!t&&e.HasAVR){var a=h.Z.tryDockElement(e,"AVR",n);a&&(r=!0,this.updateWorldPos(e,a))}return t||r}},{key:"getAllViewPlannerElements",value:function getAllViewPlannerElements(){return this.getAllPlannerElements()}},{key:"getFreeDockingPointsByElementId",value:function getFreeDockingPointsByElementId(e,n){if(!this.plannerElements.has(e))return{dockingPoints:[],filter:[]};var t=this.plannerElements.get(e),r=t.getFreeDockingPointsByType(n),o=[];switch(n){case"AVR":o=t.getFilterAVR();break;case"AVL":o=t.getFilterAVL()}return{dockingPoints:r,filter:o}}},{key:"getDockedDockingPointsByElementId",value:function getDockedDockingPointsByElementId(e,n){if(!this.plannerElements.has(e))return[];for(var t=this.plannerElements.get(e),r=[],o=0;o<n.length;o++)r=r.concat(t.getDockingDockingPointsByType(n[o]));return r}},{key:"getNeighborElements",value:function getNeighborElements(e,n){if(!this.plannerElements.has(e))return[];var t=this.plannerElements.get(e),r=null==t?void 0:t.getDockingDockingPointsByType(n);if(!r)return[];for(var o=[],a=0;a<(null==r?void 0:r.length);a++)null!=r[a]&&o.push(r[a].OnElementId);return o}},{key:"getDockedGroups",value:function getDockedGroups(){for(var e=[],n=this.getAllPlannerElements(),t=[],r=0;r<this.getAllPlannerElements().length;r++){var o=n[r];if(t.push(o.getElementId()),!o.IsAccessoire){var a=o.getDockingPointsByType("AVL");if(a&&0!=a.length)for(var l=0;l<a.length;l++)a[l].IsDocking||e.push(o);else e.push(o)}}e.sort((function(e,n){return e.WorldPosCorner.x<n.WorldPosCorner.x?1:0}));var s=[];for(r=0;r<e.length;r++){var i=e[r],c=[];t.splice(t.indexOf(i.getElementId()),1);for(var d=!1,g=i;!d;){c.push(g.getElementId()),t.splice(t.indexOf(g.getElementId()),1);var u=this.getAccessoiresRecursive(g.getElementId());for(l=0;l<u.length;l++)c.push(u[l]),t.splice(t.indexOf(u[l]),1);var h=this.getNeighborElements(g.getElementId(),"AVR");h&&0!=h.length?g=this.plannerElements.get(h[0]):d=!0}s.push(c)}for(r=0;r<t.length;r++)s.push([t[r]]);return s}},{key:"getAccessoiresRecursive",value:function getAccessoiresRecursive(e){var n=this,t=function calcAccs(e,r,o){o.push(e);for(var a=n.getNeighborElements(e,"AVC"),l=n.getNeighborElements(e,"AVO"),s=n.getNeighborElements(e,"AVU"),i=n.getNeighborElements(e,"AVN"),c=n.getNeighborElements(e,"AVS"),d=a.concat(l).concat(s).concat(i).concat(c),g=0;g<d.length;g++)o.indexOf(d[g])>=0||(r.push(d[g]),o.push(d[g]),t(d[g],r,o))},r=[];return t(e,r,[]),r}},{key:"getBoundingBox",value:function getBoundingBox(){return this.plannerBoundingBox}},{key:"initIDM3DMeta",value:function initIDM3DMeta(e){this.isIDM3DCat=!0,this.IDM3DCatCodex=""!=e&&null!=e?e:this.set.getCatalogCodex()}},{key:"updatePlanner",value:(f=(0,r.Z)(i().mark((function _callee3(){var e,n,t,r,o,a;return i().wrap((function _callee3$(l){for(;;)switch(l.prev=l.next){case 0:e=this.getAllPlannerElements(),n=[],t=0;case 3:if(!(t<e.length)){l.next=13;break}if(!(r=e[t]).updatePlannerData(this.set.getPlannerData(r.getElementId()))){l.next=10;break}return n.push(r.ElementId),l.next=10,g.Z.loadSVG(r,this.set);case 10:t++,l.next=3;break;case 13:if(o=[],n.length){for(p.debug("Configuration changed one plannerElement. UpdateDockingRelations","DivaStandardPlanner - updatePlanner"),a=h.Z.updateDockingRelations(this.plannerElements),t=0;t<a.length;t++)a[t].IsDockedAccessoire&&o.push(a[t].ElementId);this.updateAllElementsWorldPos(),this.updatePlannerPosNr(),this.updatePlannerBoundingBox()}return l.abrupt("return",{doDeleteBackGrid:!1,elemIdsToDelete:o,elementIdsToUpdateSelection:n});case 16:case"end":return l.stop()}}),_callee3,this)}))),function updatePlanner(){return f.apply(this,arguments)})},{key:"extendPlanner",value:(m=(0,r.Z)(i().mark((function _callee4(e,n){var t,r,o,a,l,s,P,D,m,f,E,k,I,v,x,A,y;return i().wrap((function _callee4$(i){for(;;)switch(i.prev=i.next){case 0:if(t=d.ZP.decodeBase64(e),null==(r=JSON.parse(t)).v||2!=r.v){i.next=36;break}o=r.set.elements,a=[],l=[],s=new Map,P=0;case 8:if(!(P<o.length)){i.next=32;break}if(i.prev=9,D=o[P],m=new c.Z(this.set.getSetId(),D.basketID,this.nextElementId,DivaStandardPlanner.plannerType),s.set(parseInt(D.elementID),m),this.nextElementId=m.getElementId()+1,this.plannerElements.set(m.ElementId,m),this.set.setElementId(D.basketID,m.ElementId),f=this.set.getPlannerData(m.ElementId),m.updatePlannerData(f),this.doDisablePlanner2D){i.next=21;break}return i.next=21,g.Z.loadSVG(m,this.set);case 21:m.WorldPosCenter=new u.P(n.WorldPos.x+n.Size.x+D.x+100,n.WorldPos.y+D.y,n.WorldPos.z+D.z),m.RotDeg=D.rot,m.IsDockedAccessoire?(l.push(D),m.PosNr=D.posNr,m.AccessoirePosNr=D.accNr):(a[D.posNr-1]=D,m.PosNr=D.posNr),i.next=29;break;case 26:i.prev=26,i.t0=i.catch(9),p.error(new d.GE("Error initializing element nr "+P+" in the Standard Web Planner. PlanData V2",{cause:i.t0,code:"WC_0012"}));case 29:P++,i.next=8;break;case 32:for(a=a.concat(l),P=0;P<a.length;P++)if(E=s.get(a[P].elementID),a.length>1&&P>0)for(k=a[P].DP,I=0;I<k.length;I++)v=k[I],x=null==E?void 0:E.getDockingPointById(v.id),A=s.get(v.onID),y=null==A?void 0:A.getDockingPointById(v.onDPID),x&&y&&h.Z.tryDockElementDPToDP(E,A,x,y);i.next=37;break;case 36:p.error(new d.GE("The function extend Planner works only with products that are saved in the configurator 2.0",{code:"WC_0012"}));case 37:case"end":return i.stop()}}),_callee4,this,[[9,26]])}))),function extendPlanner(e,n){return m.apply(this,arguments)})},{key:"initPlanner",value:(s=(0,r.Z)(i().mark((function _callee5(e){var n,t,r,o,a,l,s,P,D,m,f,E,k,I,v,x,A,y,C,B,V,b,N,W,S,T,w,_,O,Z,R,M,L,H,F,z,G;return i().wrap((function _callee5$(i){for(;;)switch(i.prev=i.next){case 0:if(n=d.ZP.decodeBase64(e),null==(t=JSON.parse(n)).v||2!=t.v){i.next=57;break}if(p.debug("Initialize set Plan Data - V2\n"+t,"DivaStandardPlanner initPlanner"),t.set&&t.set.elements&&0!=t.set.elements.length){i.next=6;break}return i.abrupt("return");case 6:r=t.set.elements,o=[],a=[],l=0;case 10:if(!(l<r.length)){i.next=34;break}if(i.prev=11,s=r[l],P=parseInt(s.elementID),D=new c.Z(this.set.getSetId(),s.basketID,P,DivaStandardPlanner.plannerType),this.nextElementId=P+1,this.plannerElements.set(D.ElementId,D),this.set.setElementId(s.basketID,D.ElementId),m=this.set.getPlannerData(D.ElementId),D.updatePlannerData(m),this.doDisablePlanner2D){i.next=23;break}return i.next=23,g.Z.loadSVG(D,this.set);case 23:D.WorldPosCenter=new u.P(this.plannerBoundingBox.WorldPos.x+s.x,this.plannerBoundingBox.WorldPos.y+s.y,this.plannerBoundingBox.WorldPos.z+s.z),D.RotDeg=s.rot,D.IsDockedAccessoire?(a.push(s),D.PosNr=s.posNr,D.AccessoirePosNr=s.accNr):(o[s.posNr-1]=s,D.PosNr=s.posNr),i.next=31;break;case 28:i.prev=28,i.t0=i.catch(11),p.error(new d.GE("Error initializing element nr "+l+" in the Standard Web Planner. PlanData V2",{cause:i.t0,code:"WC_0012"}));case 31:l++,i.next=10;break;case 34:f=1==o.length,o=o.concat(a),l=0;case 37:if(!(l<o.length)){i.next=55;break}if(i.prev=38,0!=l||!f||!this.plannerHasStaticBackground){i.next=43;break}return(E=this.plannerElements.get(o[l].elementID))&&(E.WorldPosCenter=new u.P(0,E.Height/2,E.Depth/2)),i.abrupt("continue",52);case 43:if(null!=o[l].DP&&0!=o[l].DP.length){i.next=45;break}return i.abrupt("continue",52);case 45:for(k=o[l].DP,I=0;I<k.length;I++)(v=k[I]).id&&""!=v.id&&v.onID&&""!=v.onID&&v.onDPID&&""!=v.onDPID&&(x=this.plannerElements.get(o[l].elementID),A=null==x?void 0:x.getDockingPointById(v.id),y=this.plannerElements.get(v.onID),C=null==y?void 0:y.getDockingPointById(v.onDPID),A&&C?h.Z.tryDockElementDPToDP(x,y,A,C):this.doDisablePlanner2D||p.error(new d.GE("Error initializing docking point between source element with id: "+(null==x?void 0:x.ElementId)+" and target Element with id: "+(null==y?void 0:y.ElementId)+". SourceDPID: "+v.id+"; targetDPID: "+v.onDPID)));i.next=52;break;case 49:i.prev=49,i.t1=i.catch(38),p.error(new d.GE("Error initializing dockingPoints of element with elementID "+o[l].elementID,{cause:i.t1,code:"WC_0012"}));case 52:l++,i.next=37;break;case 55:i.next=104;break;case 57:if(p.debug("Initialize set Plan Data - old V1\n"+t,"DivaStandardPlanner initPlanner"),t.Sets&&0!=t.Sets.length&&t.Sets[0].Elements&&0!=t.Sets[0].Elements.length){i.next=60;break}return i.abrupt("return");case 60:B=t.Sets[0].Elements,V=[],b=[],l=0;case 64:if(!(l<B.length)){i.next=94;break}if(i.prev=65,N=B[l],W=N.BasketID,-1==this.set.getElementId(W)&&this.set.setElementId(W,Number(N.ID)),S=this.set.getElementId(W),N.elementId=S,-1!=S){i.next=74;break}return p.error(new d.GE("Error when initializing planner. The elementID Was not saved in the article. ",{code:"WC_0012"})),i.abrupt("continue",91);case 74:if(T=new c.Z(this.set.getSetId(),W,S,DivaStandardPlanner.plannerType),this.nextElementId=S+1,this.plannerElements.set(T.ElementId,T),w=this.set.getPlannerData(T.ElementId),T.updatePlannerData(w),this.doDisablePlanner2D){i.next=82;break}return i.next=82,g.Z.loadSVG(T,this.set);case 82:_=new u.P(N.PosX,N.PosZ,N.PosY),T.WorldPosCenter=new u.P(this.plannerBoundingBox.WorldPos.x+_.x,this.plannerBoundingBox.WorldPos.y+_.y,this.plannerBoundingBox.WorldPos.z+_.z),T.RotDeg=N.Rot,T.IsDockedAccessoire?(b.push(N),N.PosNum.toString().indexOf(".")>0&&(O=N.PosNum.toString().split(".")[0],Z=N.PosNum.toString().split(".")[1],T.PosNr=O,T.AccessoirePosNr=Z)):(V[N.PosNum-1]=N,T.PosNr=N.PosNum),i.next=91;break;case 88:i.prev=88,i.t2=i.catch(65),p.error(new d.GE("Error initializing element nr "+l+" in the Standard Web Planner - Plan Data old Planner",{cause:i.t2,code:"WC_0012"}));case 91:l++,i.next=64;break;case 94:V=V.concat(b),l=0;case 96:if(!(l<V.length)){i.next=104;break}if(null!=V[l].DP&&0!=V[l].DP.length){i.next=99;break}return i.abrupt("continue",101);case 99:for(R=V[l].DP,I=0;I<R.length;I++)(M=R[I]).DP&&""!=M.DP&&M.onID&&""!=M.onID&&(H=parseInt(M.onID),F=M.DP,z=this.plannerElements.get(V[l].elementId),G=null!==(L=this.plannerElements.get(H))&&void 0!==L?L:this.getPlannerElementByIndex(H-1),z&&G?h.Z.initDockingPointRelationByArea(z,G,F):p.error(new d.GE("Error initializing dockingPoints of element with elementID "+V[l].elementId,{code:"WC_0012"})));case 101:l++,i.next=96;break;case 104:this.updateAllElementsWorldPos(),this.updatePlannerPosNr();case 106:case"end":return i.stop()}}),_callee5,this,[[11,28],[38,49],[65,88]])}))),function initPlanner(e){return s.apply(this,arguments)})},{key:"getPlannerElementByIndex",value:function getPlannerElementByIndex(e){var n=void 0,t=0;return this.plannerElements.forEach((function(r,o){e==t&&(n=r),t++})),n}},{key:"addPlannerElement",value:(t=(0,r.Z)(i().mark((function _callee6(e,n){var t,r,o,a,l,s,d;return i().wrap((function _callee6$(i){for(;;)switch(i.prev=i.next){case 0:if(l=new c.Z(this.set.getSetId(),e,this.nextElementId,DivaStandardPlanner.plannerType),this.nextElementId++,this.plannerElements.set(l.ElementId,l),this.set.setElementId(e,l.ElementId),s=this.set.getPlannerData(l.ElementId),l.updatePlannerData(s),this.doDisablePlanner2D){i.next=9;break}return i.next=9,g.Z.loadSVG(l,this.set);case 9:if(null==(d=null!==(t=n.dockingPointInfos)&&void 0!==t?t:[{targetDockingPointId:n.targetDockingPointId,targetElemIdToDock:n.targetElemIdToDock}])||null===(r=d[0])||void 0===r||!r.targetElemIdToDock||null==d||null===(o=d[0])||void 0===o||!o.targetDockingPointId){i.next=15;break}return i.next=13,this.addElementToWorld(l,d);case 13:i.next=27;break;case 15:if(null==d||null===(a=d[0])||void 0===a||!a.targetElemIdToDock){i.next=20;break}return i.next=18,this.addElementToWorld(l,d);case 18:i.next=27;break;case 20:if(!n.oldPlannerTransform){i.next=25;break}return i.next=23,this.addElementToWorld(l,void 0,void 0,void 0,void 0,{forceSetToTrans:!0,transform:n.oldPlannerTransform});case 23:i.next=27;break;case 25:return i.next=27,this.addElementToWorld(l);case 27:this.updatePlannerBoundingBox();case 28:case"end":return i.stop()}}),_callee6,this)}))),function addPlannerElement(e,n){return t.apply(this,arguments)})},{key:"copyPlannerElement",value:(n=(0,r.Z)(i().mark((function _callee7(e,n){var t,r;return i().wrap((function _callee7$(o){for(;;)switch(o.prev=o.next){case 0:t=[],e.forEach((function(e,r){null!=n&&"NO"!=n.dpType||t.push(e)})),r=0;case 3:if(!(r<t.length)){o.next=9;break}return o.next=6,this.addPlannerElement(t[r],{});case 6:r++,o.next=3;break;case 9:case"end":return o.stop()}}),_callee7,this)}))),function copyPlannerElement(e,t){return n.apply(this,arguments)})},{key:"getPlannerElementsInfluencedByDeletion",value:function getPlannerElementsInfluencedByDeletion(e,n){return[]}},{key:"getPlannerElementsInfluencedByCopy",value:function getPlannerElementsInfluencedByCopy(e,n){return this.plannerElements.has(e)?[e]:[]}},{key:"deletePlannerElement",value:(e=(0,r.Z)(i().mark((function _callee8(e,n){var t,r,o,a,l,s,c,g,u,P,p,D,m,f,E;return i().wrap((function _callee8$(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,d.ZP.Sleep(1);case 2:if(this.plannerElements.has(e)){i.next=4;break}return i.abrupt("return",{});case 4:return t=this.plannerElements.get(e),r=this.getParentElement(t),o=-1,a=999,l=-1,s=-1,c=!1,this.plannerElements.forEach((function(e,n){c||(null!=t&&t.IsAccessoire&&t.PosNr==e.PosNr&&(l=e.getElementId(),c=!0),e.getPosNr()<t.getPosNr()&&e.getPosNr()>o?(o=e.getPosNr(),l=e.getElementId()):e.getPosNr()>t.getPosNr()&&e.getPosNr()<a&&(a=e.getPosNr(),s=e.getElementId()))})),g=!1,n&&(u=t.getDockingDockingPointsByType("AVL"),P=t.getDockingDockingPointsByType("AVR"),u.length>0&&P.length>0&&(p=this.plannerElements.get(u[0].OnElementId),D=this.plannerElements.get(P[0].OnElementId),p&&D&&(m=p.getDockingDockingPointsByType("AVR"),f=D.getDockingDockingPointsByType("AVL"),m.length>0&&f.length>0&&(h.Z.removeDockingPointRelations(t),g=!0,h.Z.tryDockElementDPToDP(p,D,m[0],f[0]))))),E={rotDeg:t.getRotDeg(),worldPosCenter:t.WorldPosCenter},g||h.Z.removeDockingPointRelations(t),this.plannerElements.delete(e),this.tryToDockForNotDockedAccessoire(r),this.updatePlannerPosNr(),this.updateAllElementsWorldPos(),this.updatePlannerPosNr(),this.checkCollision(!1,t.getElementId()),this.updatePlannerBoundingBox(),i.abrupt("return",{newElementToSelect:l>=0?l:s>=0?s:void 0,transform:E});case 24:case"end":return i.stop()}}),_callee8,this)}))),function deletePlannerElement(n,t){return e.apply(this,arguments)})},{key:"tryToDockForNotDockedAccessoire",value:function tryToDockForNotDockedAccessoire(e){if(e)for(var n=e.getCurrentAccessorires().filter((function(e){return e.getIsNotDockedAccessoire()})),t=0;t<n.length;t++){var r=n[t].getElementId(),o=this.plannerElements.get(r);if(o)if(this.dockToAVUorAVOororAVNorAVSorAVC(o,[e]))break}}},{key:"checkCollision",value:function checkCollision(e,n){if(!this.doDisablePlanner2D){for(var t,r,o=this.getAllPlannerElements(),a=!1,l=[],s=0;s<o.length;s++){var i=o[s];if(!n||i.getElementId()==n)for(var c=n?0:s+1;c<o.length;c++){var d,u,P=o[c];if(i.getElementId()!=P.getElementId()&&!h.Z.checkElementsAreDocking(i,P)){var D=!1;if((this.set.CatalogData.doCheckConstructionWarnings||null!==(d=this.set.CatalogData.forceConstructionWarningForArticles)&&void 0!==d&&d.includes(i.ArticleCodex)||null!==(u=this.set.CatalogData.forceConstructionWarningForArticles)&&void 0!==u&&u.includes(P.ArticleCodex))&&(D=g.Z.checkCollision(i,P)),D&&(a=!0,l.push({elementId1:i.getElementId(),elementId2:P.getElementId()}),p.debug("Collision Found between element1: "+i.ElementId+"; and element2: "+P.ElementId),!e))break}}}if(this.collisionHandler.collisionDetected&&!a)null===(t=(r=this.collisionHandler).updatePlannerMsgContainer)||void 0===t||t.call(r,"COLLISION_MSG",!1,"WARNING","COLLISION_MSG",!1);else if(!this.collisionHandler.collisionDetected&&a){var m,f;null===(m=(f=this.collisionHandler).updatePlannerMsgContainer)||void 0===m||m.call(f,"COLLISION_MSG",!0,"WARNING","COLLISION_MSG",!1)}this.collisionHandler.collisionPairs=l,this.collisionHandler.collisionDetected=a}}},{key:"updateSetPosNr",value:function updateSetPosNr(e){for(var n=this.getAllPlannerElements(),t=0;t<n.length;t++){var r=n[t];r.SetPosNr=e+r.PosNr-1,this.set.setPosNr(r.ElementId,r.getPosNr())}for(var o=0;o<n.length;o++)n[o].IsAccessoire||this.set.giveAccNewPosNrByBasketId(n[o].getBasketId());return n.length}},{key:"updatePlannerTrans",value:function updatePlannerTrans(e,n,t,r,o,a){var l=this,s=!1;if(this.plannerElements.has(e)){var i=this.plannerElements.get(e);if(null==i||i.updateDeltaTrans(n,t,r,"END"==o),"START"==o){if(i){var c=["AVR","AVL"];i.IsDockedAccessoire&&(c=c.concat(["AVO","AVU","AVN","AVS","AVC"]));for(var d=h.Z.removeDockingPointRelationsByType(i,c),g=0;g<d.length;g++)s=this.set.onDockingChanged(i.ElementId,d[g],"UNDOCK")}}else if("END"==o){var u=h.Z.searchDockableElementsInArea(i,this.getAllPlannerElements(),a);null!=u&&u.size>0&&u.forEach((function(e,n){var t=l.plannerElements.get(e.targetDP.ElementId);t&&h.Z.tryDockElementDPToDP(i,t,e.sourceDP,e.targetDP)})),s=this.updateAllElementsWorldPos(e),this.updatePlannerPosNr(),this.updatePlannerBoundingBox()}}return s}},{key:"destroyPlanner",value:function destroyPlanner(){this.plannerElements.forEach((function(e,n){e.destroy()})),this.plannerElements.clear()}},{key:"saveSetPlanner",value:function saveSetPlanner(){var e=this;if(0==this.plannerElements.size)return null;var n=[];return this.plannerElements.forEach((function(t,r){for(var o=t.getDockingDockingPoints(),a=[],l=0;l<o.length;l++){var s,i={id:o[l].DpId,onID:o[l].OnElementId,onDPID:null===(s=o[l].OnDP)||void 0===s?void 0:s.DpId};a.push(i)}var c={elementID:t.getElementId(),basketID:e.set.getBasketId(t.getElementId()),CatalogCodex:e.set.getCatalogCodex(),Codex:e.set.getArticleCodex(t.getElementId()),posNr:t.PosNr,accNr:t.IsDockedAccessoire?t.AccessoirePosNr:void 0,x:t.WorldPosCenter.x,y:t.WorldPosCenter.y,z:t.WorldPosCenter.z,rot:t.RotDeg,width:t.Width?t.Width:-1,height:t.Height?t.Height:-1,depth:t.Depth?t.Depth:-1,DP:a};if(t.IsAccessoire){var d=e.set.getParentBasketIdOfElementId(t.getElementId());null!=d&&(c.AccessoireInitParams={RelatedToBasketID:d})}n.push(c)})),{setId:this.set.getSetId(),x:0,y:0,z:0,width:this.plannerBoundingBox.Size.x,height:this.plannerBoundingBox.Size.y,depth:this.plannerBoundingBox.Size.z,rot:0,elements:n}}},{key:"getPlannerId",value:function getPlannerId(){return this.plannerID}},{key:"getSetData",value:function getSetData(e,n,t,r){var o=this,a={ID:n?this.set.getSetId():"S1",H:"",x:0,y:0,z:0,w:0,ELE:[],Blob:this.set.CatalogData.supplierILN,Cat:this.set.getCatalogCodex()},l=this.set.getAlternateRenderInfo();l&&(a.AlternateImg=l),t&&(a.ShowDim=t),this.isIDM3DCat&&(a.IsIDM3D=!0,a.IDM3DCatCodex=this.IDM3DCatCodex),this.plannerElements.forEach((function(n,l){var s=o.set.getPlannerConfigData(l,r),i=s.config,c=[];if(s.accs&&s.accs.length>0)for(var g=0;g<s.accs.length;g++)o.plannerElements.has(s.accs[g])&&c.push("E"+s.accs[g]);if(!e||null!=i.Model){var u,h,P,p,D=o.set.getArticleByElementId(l),m={ID:"E"+l,Model:i.Model,x:-Math.round(100*n.WorldPosCenterIgnoreOLF.x)/100,y:Math.round(100*n.WorldPosCenterIgnoreOLF.y)/100,z:Math.round(100*n.WorldPosCenterIgnoreOLF.z)/100,PosPivot:"Center",w:Math.round(100*n.getRotDeg())/100,RotPivot:"Center",DP:n.getDockingPointJS3D(),MAT:i.MAT,MOVE:null!==(u=i.MOVE)&&void 0!==u?u:void 0,CFG:i.CFG,H:"",ACCs:c.length>0?c:void 0};if(t)m.TechSize={Width:null==n.Width||isNaN(n.Width)?null!==(h=null==D?void 0:D.width)&&void 0!==h?h:0:n.Width,Height:null==n.Height||isNaN(n.Height)?null!==(P=null==D?void 0:D.height)&&void 0!==P?P:0:n.Height,Depth:null==n.Depth||isNaN(n.Depth)?null!==(p=null==D?void 0:D.depth)&&void 0!==p?p:0:n.Depth};var f=(0,d.FB)(JSON.stringify(m));m.H=f,a.ELE.push(m)}var E=o.set.getShelfPlannerData(l);if(E)for(var k=0;k<E.length;k++){var I=E[k],v=o.set.getShelfPlannerConfigData(I.basketId).config,x=[];if(v.accs&&v.accs.length>0)for(var A=0;A<v.accs.length;A++)o.plannerElements.has(v.accs[A])&&x.push("E"+v.accs[A]);var y={ID:"E"+I.parentElementId+"."+I.gridId+"."+I.rh,H:"",Model:I.model,x:0,y:0,z:1,w:0,PosPivot:"Center",RotPivot:"Center",DP:"RH"+I.rh+":E"+I.parentElementId,GN:I.gridName,MAT:v.MAT,CFG:v.CFG,ACCs:x.length>0?x:void 0};f=(0,d.FB)(JSON.stringify(y));y.H=f,a.ELE.push(y)}}));var s=(0,d.FB)(JSON.stringify(a));return a.H=s,{constructionSet:a}}},{key:"getElementPosInfo",value:function getElementPosInfo(){var e={};return this.plannerElements.forEach((function(n,t){n.IsDockedAccessoire?e[t]={pos:n.PosNr,isAcc:!0,accPos:n.AccessoirePosNr}:e[t]={pos:n.PosNr,isAcc:!1}})),e}},{key:"getPlanningIsComplete",value:function getPlanningIsComplete(e){var n=this,t=!e&&(this.set.CatalogData.doHideCompletenessWarning||!this.set.CatalogData.doCheckConstructionWarnings),r=!1;return this.plannerElements.forEach((function(e,o){var a;(!t||null!==(a=n.set.CatalogData.forceConstructionWarningForArticles)&&void 0!==a&&a.includes(e.ArticleCodex))&&!r&&(e.getFreeDockingPointsByType("AVL").length>0||e.getFreeDockingPointsByType("AVR").length>0)&&(r=!0)})),!r}},{key:"getPlannerBoundingBox",value:function getPlannerBoundingBox(){var e=this.set.CatalogData,n=this.plannerBoundingBox.getWidth(e.PlannerMeasureDigits),t=this.plannerBoundingBox.getDepth(e.PlannerMeasureDigits);return{width:n,height:this.plannerBoundingBox.getHeight(e.PlannerMeasureDigits),depth:t}}},{key:"updatePlannerBoundingBox",value:function updatePlannerBoundingBox(){this.plannerBoundingBox.calcPlannerBoundingBox(this.getAllPlannerElements())}},{key:"getCatalogData",value:function getCatalogData(){return this.set.CatalogData}},{key:"getAllPlannerElements",value:function getAllPlannerElements(){var e=[];return this.plannerElements.forEach((function(n,t){e.push(n)})),e}},{key:"getParentElement",value:function getParentElement(e){var n=void 0,t=e.getParentElementId();return t&&(n=this.plannerElements.get(t)),n}},{key:"getPositionOfPlannerElements",value:function getPositionOfPlannerElements(){var e=this.set.getSetId();this.plannerElements.forEach((function(n,t){p.log("SetID:",e),p.log("Elementid:",n.ElementId),p.log("X:",n.WorldPosCenter.x),p.log("Y:",n.WorldPosCenter.y),p.log("X:",n.WorldPosCenter.z),p.log("ROT:",n.RotDeg),p.log("___________________________")}))}},{key:"clonePlanner",value:function clonePlanner(e,n){return new DivaStandardPlanner(e,(function(){}),n,new P.Z,!0,!1,!0,!1)}},{key:"getPlannerInteractionInformation",value:function getPlannerInteractionInformation(){return p.error(new d.GE("The function getPlannerInteractionInformation is not implemented yet for standard planner. Dont call it or ask roadmap when its its turn",{code:"WC_0012"})),{boxPlannerInteractionInformationPerElement:new Map}}}]);var e,n,t,s,m,f,E,k}();(0,l.Z)(m,"plannerType","STD")}}]);