@crystaldesign/diva-web-planner-react 25.13.1-rc.1 → 25.13.2-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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),a=t(13125),o=t(43860),l=t(80248),s=t(50747),i=t.n(s),c=t(57312),d=t(49740),g=t(57330),u=t(64357),h=t(19610),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,o,s,i,c){var d=this;(0,a.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 a=n[r].getCurrentAccessorires().map((function(e){return d.plannerElements.get(e.getElementId())}));if(d.dockToAVUorAVOororAVNorAVSorAVC(e,a))return!0}}if(e.HasAVO){var o=h.Z.tryDockElement(e,"AVO",n);if(o)return d.updateWorldPos(e,o),!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=o,this.doShowAR=s,this.doDisablePlanner2D=i,this.collisionHandler={updatePlannerMsgContainer:n,collisionDetected:!1,collisionPairs:[]},this.plannerHasStaticBackground=c;this.set.CatalogData}return(0,o.Z)(DivaStandardPlanner,[{key:"updatePlannerPosNr",value:function updatePlannerPosNr(){var e,n=this,t=[],r=new Map,a=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 o=function updateAccessoiresOfElement(t,l){for(var s=[],i=function setPosNrForElementsOnDock(n,o){if(t["Has"+n]){var s=t.getDockingDockingPointsByType(n);s=s.sort((function(e,n){return a.plannerElements.get(e.OnElementId).WorldPosCorner.x-a.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=a.plannerElements.get(c);d.PosNr=l,d.AccessoirePosNr=e,r.delete(c),e++,o.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++)o(s[d],l)},l=function updatePosInChain(n,t){if(null==n)return t;if(n.PosNr=t,e=1,r.delete(n.ElementId),o(n,t),t++,n.HasAVR&&n.dockingTypeIsDocking("AVR")){var s=n.getDockingDockingPointsByType("AVR")[0].OnElementId;return l(a.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),a=r.getDockingPointById(n.OnDP.DpId);if(null==a)return t;var o=new u.P(0,0,0),l=new u.FM(a.LocalWorldPos.x,a.LocalWorldPos.z);l=u.FM.rotateOrigin(l,r.RotDeg);var s=r.RotDeg+a.RotDeg-n.RotDeg;e.RotDeg=s;var i=u.FM.rotateOrigin(new u.FM(n.LocalWorldPos.x,n.LocalWorldPos.z),s);o.x=r.WorldPosCorner.x+l.x-i.x,o.y=r.WorldPosCorner.y+a.LocalWorldPos.y-n.LocalWorldPos.y,o.z=r.WorldPosCorner.z+l.y-i.y,e.WorldPosCorner=o,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 a=[],o=0,l=0;l<t.length;l++)if(t[l]){var s=t[l];if(a.push(s.ElementId),l>o)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(a.indexOf(i[c].OnElementId)>=0){n=this.updateWorldPos(s,i[c]);break}}else o=l;return this.checkCollision(!1,e),n}},{key:"addElementToWorld",value:(E=(0,r.Z)(i().mark((function _callee(e,n,t,r){var a,o,l,s,c,d,g,P,p,D,m,f,k=arguments;return i().wrap((function _callee$(i){for(;;)switch(i.prev=i.next){case 0:if(a=k.length>4&&void 0!==k[4]?k[4]:100,!(o=k.length>5?k[5]:void 0)||!o.forceSetToTrans){i.next=8;break}e.WorldPosCenter=o.transform.worldPosCenter,e.RotDeg=o.transform.rotDeg,this.set.onDockingChanged(e.ElementId,-1,"NOT_DOCKED"),i.next=47;break;case 8:if(l=!1,!n){i.next=46;break}s=0;case 11:if(!(s<n.length)){i.next=46;break}if(c=n[s].targetElemIdToDock,d=n[s].targetDockingPointId,!(c&&c>-1&&this.plannerElements.has(c))){i.next=43;break}if(!d||""==d){i.next=31;break}if(!(g=this.plannerElements.get(c))){i.next=29;break}if(!(P=g.getDockingPointById(d))){i.next=29;break}if(!(p=h.Z.tryDockElementToDP(e,g,P))){i.next=26;break}this.updateWorldPos(e,p),l=!0,i.next=29;break;case 26:return i.next=28,this.tryToDockWithDifferentSVGWithFormula(e,c);case 28:D=i.sent;case 29:i.next=43;break;case 31: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=42;break}return i.next=37,this.tryToDockWithDifferentSVGWithFormula(e,c);case 37:if(D=i.sent){i.next=42;break}return i.next=41,this.addElementToWorld(e,void 0,void 0,void 0,50);case 41:return i.abrupt("return");case 42:D&&(l=!0);case 43:s++,i.next=11;break;case 46: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+a),this.plannerBoundingBox.WorldPos.y+e.Height/2,this.plannerBoundingBox.WorldPos.z+e.Depth/2)),this.set.onDockingChanged(e.ElementId,-1,"NOT_DOCKED"))));case 47:this.updatePlannerPosNr(),this.updateAllElementsWorldPos(),this.updatePlannerPosNr(),this.checkCollision(!1,e.getElementId()),this.updatePlannerBoundingBox();case 52:case"end":return i.stop()}}),_callee,this)}))),function addElementToWorld(e,n,t,r){return E.apply(this,arguments)})},{key:"tryToDockWithDifferentSVGWithFormula",value:(k=(0,r.Z)(i().mark((function _callee2(e,n){var t,r,a,o,l,s,c,g,u,h,P,D,m,f,k,E,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),a=null==r?void 0:r.VariantValues,o=e.getSVGsWithFormula(),!e.FilterAVL.length&&!e.FilterAVR.length){i.next=47;break}if(null==o||!o.length){i.next=22;break}l=0;case 7:if(!(l<o.length)){i.next=22;break}for(u in s=new Map,c=new Map,g=d.ZP.getVariantValuesFromRule(o[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: "+o[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(k in D=h[P],m=new Map,f=new Map,D)f.set(k,D[k]);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 E=new Map,I=new Map,a)I.set(v,a[v]);return E.set(e.ElementId,I),i.next=47,this.set.updateCfgValuesByPlanner(E,!0);case 47:return i.abrupt("return",t);case 48:case"end":return i.stop()}}),_callee2,this)}))),function tryToDockWithDifferentSVGWithFormula(e,n){return k.apply(this,arguments)})},{key:"dockToAVLorAVR",value:function dockToAVLorAVR(e,n){var t=!1,r=!1;if(e.HasAVL){var a=h.Z.tryDockElement(e,"AVL",n);a&&(this.updateWorldPos(e,a),t=!0)}if(!t&&e.HasAVR){var o=h.Z.tryDockElement(e,"AVR",n);o&&(r=!0,this.updateWorldPos(e,o))}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),a=[];switch(n){case"AVR":a=t.getFilterAVR();break;case"AVL":a=t.getFilterAVL()}return{dockingPoints:r,filter:a}}},{key:"getDockedDockingPointsByElementId",value:function getDockedDockingPointsByElementId(e,n){if(!this.plannerElements.has(e))return[];for(var t=this.plannerElements.get(e),r=[],a=0;a<n.length;a++)r=r.concat(t.getDockingDockingPointsByType(n[a]));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 a=[],o=0;o<(null==r?void 0:r.length);o++)null!=r[o]&&a.push(r[o].OnElementId);return a}},{key:"getDockedGroups",value:function getDockedGroups(){for(var e=[],n=this.getAllPlannerElements(),t=[],r=0;r<this.getAllPlannerElements().length;r++){var a=n[r];if(t.push(a.getElementId()),!a.IsAccessoire){var o=a.getDockingPointsByType("AVL");if(o&&0!=o.length)for(var l=0;l<o.length;l++)o[l].IsDocking||e.push(a);else e.push(a)}}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,a){a.push(e);for(var o=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=o.concat(l).concat(s).concat(i).concat(c),g=0;g<d.length;g++)a.indexOf(d[g])>=0||(r.push(d[g]),a.push(d[g]),t(d[g],r,a))},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,a,o;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(a=[],n.length){for(p.debug("Configuration changed one plannerElement. UpdateDockingRelations","DivaStandardPlanner - updatePlanner"),o=h.Z.updateDockingRelations(this.plannerElements),t=0;t<o.length;t++)o[t].IsDockedAccessoire&&a.push(o[t].ElementId);this.updateAllElementsWorldPos(),this.updatePlannerPosNr(),this.updatePlannerBoundingBox()}return l.abrupt("return",{doDeleteBackGrid:!1,elemIdsToDelete:a,elementIdsToUpdateSelection:n,failed:!1});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,a,o,l,s,P,D,m,f,k,E,I,v,x,y,A,C;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=39;break}a=r.set.elements,o=[],l=[],s=new Map,P=0;case 8:if(!(P<a.length)){i.next=35;break}if(i.prev=9,m=a[P],this.set.CatalogData.getCatalogArticleByArticleCodex(m.articleCodex)||null===(D=m.AccessoireInitParams)||void 0===D||!D.RelatedToBasketID||this.set.getSetState.onlyRunLogic){i.next=14;break}return i.abrupt("continue",32);case 14:if(f=new c.Z(this.set.getSetId(),m.basketID,this.nextElementId,DivaStandardPlanner.plannerType),s.set(parseInt(m.elementID),f),this.nextElementId=f.getElementId()+1,this.plannerElements.set(f.ElementId,f),this.set.setElementId(m.basketID,f.ElementId),k=this.set.getPlannerData(f.ElementId),f.updatePlannerData(k),this.doDisablePlanner2D){i.next=24;break}return i.next=24,g.Z.loadSVG(f,this.set);case 24:f.WorldPosCenter=new u.P(n.WorldPos.x+n.Size.x+m.x+100,n.WorldPos.y+m.y,n.WorldPos.z+m.z),f.RotDeg=m.rot,f.IsDockedAccessoire?(l.push(m),f.PosNr=m.posNr,f.AccessoirePosNr=m.accNr):(o[m.posNr-1]=m,f.PosNr=m.posNr),i.next=32;break;case 29:i.prev=29,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 32:P++,i.next=8;break;case 35:for(o=o.concat(l),P=0;P<o.length;P++)if(E=s.get(o[P].elementID),o.length>1&&P>0)for(I=o[P].DP,v=0;v<I.length;v++)x=I[v],y=null==E?void 0:E.getDockingPointById(x.id),A=s.get(x.onID),C=null==A?void 0:A.getDockingPointById(x.onDPID),y&&C&&h.Z.tryDockElementDPToDP(E,A,y,C);i.next=40;break;case 39: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 40:case"end":return i.stop()}}),_callee4,this,[[9,29]])}))),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,a,o,l,s,P,D,m,f,k,E,I,v,x,y,A,C,B,b,V,N,W,S,T,w,_,R,O,Z,M,L,H,F,G,z,U,$;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=60;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,a=[],o=[],l=0;case 10:if(!(l<r.length)){i.next=37;break}if(i.prev=11,P=r[l],this.set.CatalogData.getCatalogArticleByArticleCodex(P.articleCodex)||null===(s=P.AccessoireInitParams)||void 0===s||!s.RelatedToBasketID||this.set.getSetState.onlyRunLogic){i.next=16;break}return i.abrupt("continue",34);case 16:if(D=parseInt(P.elementID),m=new c.Z(this.set.getSetId(),P.basketID,D,DivaStandardPlanner.plannerType),this.nextElementId=D+1,this.plannerElements.set(m.ElementId,m),this.set.setElementId(P.basketID,m.ElementId),f=this.set.getPlannerData(m.ElementId),m.updatePlannerData(f),this.doDisablePlanner2D){i.next=26;break}return i.next=26,g.Z.loadSVG(m,this.set);case 26:m.WorldPosCenter=new u.P(this.plannerBoundingBox.WorldPos.x+P.x,this.plannerBoundingBox.WorldPos.y+P.y,this.plannerBoundingBox.WorldPos.z+P.z),m.RotDeg=P.rot,m.IsDockedAccessoire?(o.push(P),m.PosNr=P.posNr,m.AccessoirePosNr=P.accNr):(a[P.posNr-1]=P,m.PosNr=P.posNr),i.next=34;break;case 31:i.prev=31,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 34:l++,i.next=10;break;case 37:k=1==a.length,a=a.concat(o),l=0;case 40:if(!(l<a.length)){i.next=58;break}if(i.prev=41,0!=l||!k||!this.plannerHasStaticBackground){i.next=46;break}return(E=this.plannerElements.get(a[l].elementID))&&(E.WorldPosCenter=new u.P(0,E.Height/2,E.Depth/2)),i.abrupt("continue",55);case 46:if(null!=a[l].DP&&0!=a[l].DP.length){i.next=48;break}return i.abrupt("continue",55);case 48:for(I=a[l].DP,v=0;v<I.length;v++)(x=I[v]).id&&""!=x.id&&x.onID&&""!=x.onID&&x.onDPID&&""!=x.onDPID&&(y=this.plannerElements.get(a[l].elementID),A=null==y?void 0:y.getDockingPointById(x.id),C=this.plannerElements.get(x.onID),B=null==C?void 0:C.getDockingPointById(x.onDPID),A&&B?h.Z.tryDockElementDPToDP(y,C,A,B):this.doDisablePlanner2D||p.error(new d.GE("Error initializing docking point between source element with id: "+(null==y?void 0:y.ElementId)+" and target Element with id: "+(null==C?void 0:C.ElementId)+". SourceDPID: "+x.id+"; targetDPID: "+x.onDPID)));i.next=55;break;case 52:i.prev=52,i.t1=i.catch(41),p.error(new d.GE("Error initializing dockingPoints of element with elementID "+a[l].elementID,{cause:i.t1,code:"WC_0012"}));case 55:l++,i.next=40;break;case 58:i.next=110;break;case 60: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=63;break}return i.abrupt("return");case 63:b=t.Sets[0].Elements,V=[],N=[],l=0;case 67:if(!(l<b.length)){i.next=100;break}if(i.prev=68,S=b[l],this.set.CatalogData.getCatalogArticleByArticleCodex(S.articleCodex)||null===(W=S.AccessoireInitParams)||void 0===W||!W.RelatedToBasketID||this.set.getSetState.onlyRunLogic){i.next=73;break}return i.abrupt("continue",97);case 73:if(T=S.BasketID,-1==this.set.getElementId(T)&&this.set.setElementId(T,Number(S.ID)),w=this.set.getElementId(T),S.elementId=w,-1!=w){i.next=80;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",97);case 80:if(_=new c.Z(this.set.getSetId(),T,w,DivaStandardPlanner.plannerType),this.nextElementId=w+1,this.plannerElements.set(_.ElementId,_),R=this.set.getPlannerData(_.ElementId),_.updatePlannerData(R),this.doDisablePlanner2D){i.next=88;break}return i.next=88,g.Z.loadSVG(_,this.set);case 88:O=new u.P(S.PosX,S.PosZ,S.PosY),_.WorldPosCenter=new u.P(this.plannerBoundingBox.WorldPos.x+O.x,this.plannerBoundingBox.WorldPos.y+O.y,this.plannerBoundingBox.WorldPos.z+O.z),_.RotDeg=S.Rot,_.IsDockedAccessoire?(N.push(S),S.PosNum.toString().indexOf(".")>0&&(Z=S.PosNum.toString().split(".")[0],M=S.PosNum.toString().split(".")[1],_.PosNr=Z,_.AccessoirePosNr=M)):(V[S.PosNum-1]=S,_.PosNr=S.PosNum),i.next=97;break;case 94:i.prev=94,i.t2=i.catch(68),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 97:l++,i.next=67;break;case 100:V=V.concat(N),l=0;case 102:if(!(l<V.length)){i.next=110;break}if(null!=V[l].DP&&0!=V[l].DP.length){i.next=105;break}return i.abrupt("continue",107);case 105:for(L=V[l].DP,v=0;v<L.length;v++)(H=L[v]).DP&&""!=H.DP&&H.onID&&""!=H.onID&&(G=parseInt(H.onID),z=H.DP,U=this.plannerElements.get(V[l].elementId),$=null!==(F=this.plannerElements.get(G))&&void 0!==F?F:this.getPlannerElementByIndex(G-1),U&&$?h.Z.initDockingPointRelationByArea(U,$,z):p.error(new d.GE("Error initializing dockingPoints of element with elementID "+V[l].elementId,{code:"WC_0012"})));case 107:l++,i.next=102;break;case 110:this.updateAllElementsWorldPos(),this.updatePlannerPosNr();case 112:case"end":return i.stop()}}),_callee5,this,[[11,31],[41,52],[68,94]])}))),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,a){e==t&&(n=r),t++})),n}},{key:"addPlannerElement",value:(t=(0,r.Z)(i().mark((function _callee6(e,n){var t,r,a,o,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===(a=d[0])||void 0===a||!a.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===(o=d[0])||void 0===o||!o.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:"movePlannerElement",value:function movePlannerElement(){throw Error("move planner not implemented in standard")}},{key:"copyPlannerElement",value:(n=(0,r.Z)(i().mark((function _callee7(e,n){var t,r;return i().wrap((function _callee7$(a){for(;;)switch(a.prev=a.next){case 0:t=[],e.forEach((function(e,r){null==n&&t.push(e)})),r=0;case 3:if(!(r<t.length)){a.next=9;break}return a.next=6,this.addPlannerElement(t[r],{});case 6:r++,a.next=3;break;case 9:case"end":return a.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){if(!n||"BoxPlanner_backside"!=n.copyType)throw new Error("copyType needs to be BoxPlanner_backside here");return this.plannerElements.has(e)?[e]:[]}},{key:"deletePlannerElement",value:(e=(0,r.Z)(i().mark((function _callee8(e,n){var t,r,a,o,l,s,c,g,u,P,p,D,m,f,k;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),a=-1,o=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()>a?(a=e.getPosNr(),l=e.getElementId()):e.getPosNr()>t.getPosNr()&&e.getPosNr()<o&&(o=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]))))),k={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:k});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(),a=this.plannerElements.get(r);if(a)if(this.dockToAVUorAVOororAVNorAVSorAVC(a,[e]))break}}},{key:"checkCollision",value:function checkCollision(e,n){if(!this.doDisablePlanner2D){for(var t,r,a=this.getAllPlannerElements(),o=!1,l=[],s=0;s<a.length;s++){var i=a[s];if(!n||i.getElementId()==n)for(var c=n?0:s+1;c<a.length;c++){var d,u,P=a[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&&(o=!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&&!o)null===(t=(r=this.collisionHandler).updatePlannerMsgContainer)||void 0===t||t.call(r,"COLLISION_MSG",!1,"WARNING","COLLISION_MSG",!1);else if(!this.collisionHandler.collisionDetected&&o){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=o}}},{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 a=0;a<n.length;a++)n[a].IsAccessoire||this.set.giveAccNewPosNrByBasketId(n[a].getBasketId());return n.length}},{key:"updatePlannerTrans",value:function updatePlannerTrans(e,n,t,r,a,o){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"==a),"START"==a){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"==a){var u=h.Z.searchDockableElementsInArea(i,this.getAllPlannerElements(),o);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 a=t.getDockingDockingPoints(),o=[],l=0;l<a.length;l++){var s,i={id:a[l].DpId,onID:a[l].OnElementId,onDPID:null===(s=a[l].OnDP)||void 0===s?void 0:s.DpId};o.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:o};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 a=this,o={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&&(o.AlternateImg=l),t&&(o.ShowDim=t),this.isIDM3DCat&&(o.IsIDM3D=!0,o.IDM3DCatCodex=this.IDM3DCatCodex),this.plannerElements.forEach((function(n,l){var s=a.set.getPlannerConfigData(l,r),i=s.config,c=[];if(s.accs&&s.accs.length>0)for(var g=0;g<s.accs.length;g++)a.plannerElements.has(s.accs[g])&&c.push("E"+s.accs[g]);if(!e||null!=i.Model){var u,h,P,p,D=a.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,o.ELE.push(m)}var k=a.set.getShelfPlannerData(l);if(k)for(var E=0;E<k.length;E++){var I=k[E],v=a.set.getShelfPlannerConfigData(I.basketId).config,x=[];if(v.accs&&v.accs.length>0)for(var y=0;y<v.accs.length;y++)a.plannerElements.has(v.accs[y])&&x.push("E"+v.accs[y]);var A={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(A));A.H=f,o.ELE.push(A)}}));var s=(0,d.FB)(JSON.stringify(o));return o.H=s,{constructionSet:o}}},{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,a){var o;(!t||null!==(o=n.set.CatalogData.forceConstructionWarningForArticles)&&void 0!==o&&o.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}}},{key:"getGeneralPlanningState",value:function getGeneralPlanningState(e){return p.error(new d.GE("The function getGeneralPlanningState is not implemented yet for standard planner. Dont call it or ask roadmap when its its turn",{code:"WC_0012"})),{grids:[]}}}]);var e,n,t,s,m,f,k,E}();(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),a=t(13125),o=t(43860),l=t(80248),s=t(50747),i=t.n(s),c=t(57312),d=t(49740),g=t(57330),u=t(64357),h=t(19610),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,o,s,i,c){var d=this;(0,a.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 a=n[r].getCurrentAccessorires().map((function(e){return d.plannerElements.get(e.getElementId())}));if(d.dockToAVUorAVOororAVNorAVSorAVC(e,a))return!0}}if(e.HasAVO){var o=h.Z.tryDockElement(e,"AVO",n);if(o)return d.updateWorldPos(e,o),!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=o,this.doShowAR=s,this.doDisablePlanner2D=i,this.collisionHandler={updatePlannerMsgContainer:n,collisionDetected:!1,collisionPairs:[]},this.plannerHasStaticBackground=c;this.set.CatalogData}return(0,o.Z)(DivaStandardPlanner,[{key:"updatePlannerPosNr",value:function updatePlannerPosNr(){var e,n=this,t=[],r=new Map,a=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 o=function updateAccessoiresOfElement(t,l){for(var s=[],i=function setPosNrForElementsOnDock(n,o){if(t["Has"+n]){var s=t.getDockingDockingPointsByType(n);s=s.sort((function(e,n){return a.plannerElements.get(e.OnElementId).WorldPosCorner.x-a.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=a.plannerElements.get(c);d.PosNr=l,d.AccessoirePosNr=e,r.delete(c),e++,o.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++)o(s[d],l)},l=function updatePosInChain(n,t){if(null==n)return t;if(n.PosNr=t,e=1,r.delete(n.ElementId),o(n,t),t++,n.HasAVR&&n.dockingTypeIsDocking("AVR")){var s=n.getDockingDockingPointsByType("AVR")[0].OnElementId;return l(a.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),a=r.getDockingPointById(n.OnDP.DpId);if(null==a)return t;var o=new u.P(0,0,0),l=new u.FM(a.LocalWorldPos.x,a.LocalWorldPos.z);l=u.FM.rotateOrigin(l,r.RotDeg);var s=r.RotDeg+a.RotDeg-n.RotDeg;e.RotDeg=s;var i=u.FM.rotateOrigin(new u.FM(n.LocalWorldPos.x,n.LocalWorldPos.z),s);o.x=r.WorldPosCorner.x+l.x-i.x,o.y=r.WorldPosCorner.y+a.LocalWorldPos.y-n.LocalWorldPos.y,o.z=r.WorldPosCorner.z+l.y-i.y,e.WorldPosCorner=o,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 a=[],o=0,l=0;l<t.length;l++)if(t[l]){var s=t[l];if(a.push(s.ElementId),l>o)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(a.indexOf(i[c].OnElementId)>=0){n=this.updateWorldPos(s,i[c]);break}}else o=l;return this.checkCollision(!1,e),n}},{key:"addElementToWorld",value:(E=(0,r.Z)(i().mark((function _callee(e,n,t,r){var a,o,l,s,c,d,g,P,p,D,m,f,k=arguments;return i().wrap((function _callee$(i){for(;;)switch(i.prev=i.next){case 0:if(a=k.length>4&&void 0!==k[4]?k[4]:100,!(o=k.length>5?k[5]:void 0)||!o.forceSetToTrans){i.next=8;break}e.WorldPosCenter=o.transform.worldPosCenter,e.RotDeg=o.transform.rotDeg,this.set.onDockingChanged(e.ElementId,-1,"NOT_DOCKED"),i.next=47;break;case 8:if(l=!1,!n){i.next=46;break}s=0;case 11:if(!(s<n.length)){i.next=46;break}if(c=n[s].targetElemIdToDock,d=n[s].targetDockingPointId,!(c&&c>-1&&this.plannerElements.has(c))){i.next=43;break}if(!d||""==d){i.next=31;break}if(!(g=this.plannerElements.get(c))){i.next=29;break}if(!(P=g.getDockingPointById(d))){i.next=29;break}if(!(p=h.Z.tryDockElementToDP(e,g,P))){i.next=26;break}this.updateWorldPos(e,p),l=!0,i.next=29;break;case 26:return i.next=28,this.tryToDockWithDifferentSVGWithFormula(e,c);case 28:D=i.sent;case 29:i.next=43;break;case 31: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=42;break}return i.next=37,this.tryToDockWithDifferentSVGWithFormula(e,c);case 37:if(D=i.sent){i.next=42;break}return i.next=41,this.addElementToWorld(e,void 0,void 0,void 0,50);case 41:return i.abrupt("return");case 42:D&&(l=!0);case 43:s++,i.next=11;break;case 46: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+a),this.plannerBoundingBox.WorldPos.y+e.Height/2,this.plannerBoundingBox.WorldPos.z+e.Depth/2)),this.set.onDockingChanged(e.ElementId,-1,"NOT_DOCKED"))));case 47:this.updatePlannerPosNr(),this.updateAllElementsWorldPos(),this.updatePlannerPosNr(),this.checkCollision(!1,e.getElementId()),this.updatePlannerBoundingBox();case 52:case"end":return i.stop()}}),_callee,this)}))),function addElementToWorld(e,n,t,r){return E.apply(this,arguments)})},{key:"tryToDockWithDifferentSVGWithFormula",value:(k=(0,r.Z)(i().mark((function _callee2(e,n){var t,r,a,o,l,s,c,g,u,h,P,D,m,f,k,E,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),a=null==r?void 0:r.VariantValues,o=e.getSVGsWithFormula(),!e.FilterAVL.length&&!e.FilterAVR.length){i.next=47;break}if(null==o||!o.length){i.next=22;break}l=0;case 7:if(!(l<o.length)){i.next=22;break}for(u in s=new Map,c=new Map,g=d.ZP.getVariantValuesFromRule(o[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: "+o[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(k in D=h[P],m=new Map,f=new Map,D)f.set(k,D[k]);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 E=new Map,I=new Map,a)I.set(v,a[v]);return E.set(e.ElementId,I),i.next=47,this.set.updateCfgValuesByPlanner(E,!0);case 47:return i.abrupt("return",t);case 48:case"end":return i.stop()}}),_callee2,this)}))),function tryToDockWithDifferentSVGWithFormula(e,n){return k.apply(this,arguments)})},{key:"dockToAVLorAVR",value:function dockToAVLorAVR(e,n){var t=!1,r=!1;if(e.HasAVL){var a=h.Z.tryDockElement(e,"AVL",n);a&&(this.updateWorldPos(e,a),t=!0)}if(!t&&e.HasAVR){var o=h.Z.tryDockElement(e,"AVR",n);o&&(r=!0,this.updateWorldPos(e,o))}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),a=[];switch(n){case"AVR":a=t.getFilterAVR();break;case"AVL":a=t.getFilterAVL()}return{dockingPoints:r,filter:a}}},{key:"getDockedDockingPointsByElementId",value:function getDockedDockingPointsByElementId(e,n){if(!this.plannerElements.has(e))return[];for(var t=this.plannerElements.get(e),r=[],a=0;a<n.length;a++)r=r.concat(t.getDockingDockingPointsByType(n[a]));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 a=[],o=0;o<(null==r?void 0:r.length);o++)null!=r[o]&&a.push(r[o].OnElementId);return a}},{key:"getDockedGroups",value:function getDockedGroups(){for(var e=[],n=this.getAllPlannerElements(),t=[],r=0;r<this.getAllPlannerElements().length;r++){var a=n[r];if(t.push(a.getElementId()),!a.IsAccessoire){var o=a.getDockingPointsByType("AVL");if(o&&0!=o.length)for(var l=0;l<o.length;l++)o[l].IsDocking||e.push(a);else e.push(a)}}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,a){a.push(e);for(var o=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=o.concat(l).concat(s).concat(i).concat(c),g=0;g<d.length;g++)a.indexOf(d[g])>=0||(r.push(d[g]),a.push(d[g]),t(d[g],r,a))},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,a,o;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(a=[],n.length){for(p.debug("Configuration changed one plannerElement. UpdateDockingRelations","DivaStandardPlanner - updatePlanner"),o=h.Z.updateDockingRelations(this.plannerElements),t=0;t<o.length;t++)o[t].IsDockedAccessoire&&a.push(o[t].ElementId);this.updateAllElementsWorldPos(),this.updatePlannerPosNr(),this.updatePlannerBoundingBox()}return l.abrupt("return",{doDeleteBackGrid:!1,elemIdsToDelete:a,elementIdsToUpdateSelection:n,failed:!1});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,a,o,l,s,P,D,m,f,k,E,I,v,x,y,A,C;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=39;break}a=r.set.elements,o=[],l=[],s=new Map,P=0;case 8:if(!(P<a.length)){i.next=35;break}if(i.prev=9,m=a[P],this.set.CatalogData.getCatalogArticleByArticleCodex(m.articleCodex)||null===(D=m.AccessoireInitParams)||void 0===D||!D.RelatedToBasketID||this.set.getSetState.onlyRunLogic){i.next=14;break}return i.abrupt("continue",32);case 14:if(f=new c.Z(this.set.getSetId(),m.basketID,this.nextElementId,DivaStandardPlanner.plannerType),s.set(parseInt(m.elementID),f),this.nextElementId=f.getElementId()+1,this.plannerElements.set(f.ElementId,f),this.set.setElementId(m.basketID,f.ElementId),k=this.set.getPlannerData(f.ElementId),f.updatePlannerData(k),this.doDisablePlanner2D){i.next=24;break}return i.next=24,g.Z.loadSVG(f,this.set);case 24:f.WorldPosCenter=new u.P(n.WorldPos.x+n.Size.x+m.x+100,n.WorldPos.y+m.y,n.WorldPos.z+m.z),f.RotDeg=m.rot,f.IsDockedAccessoire?(l.push(m),f.PosNr=m.posNr,f.AccessoirePosNr=m.accNr):(o[m.posNr-1]=m,f.PosNr=m.posNr),i.next=32;break;case 29:i.prev=29,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 32:P++,i.next=8;break;case 35:for(o=o.concat(l),P=0;P<o.length;P++)if(E=s.get(o[P].elementID),o.length>1&&P>0)for(I=o[P].DP,v=0;v<I.length;v++)x=I[v],y=null==E?void 0:E.getDockingPointById(x.id),A=s.get(x.onID),C=null==A?void 0:A.getDockingPointById(x.onDPID),y&&C&&h.Z.tryDockElementDPToDP(E,A,y,C);i.next=40;break;case 39: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 40:case"end":return i.stop()}}),_callee4,this,[[9,29]])}))),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,a,o,l,s,P,D,m,f,k,E,I,v,x,y,A,C,B,b,V,N,W,S,T,w,_,R,O,Z,M,L,H,F,G,z,U,$;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=60;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,a=[],o=[],l=0;case 10:if(!(l<r.length)){i.next=37;break}if(i.prev=11,P=r[l],this.set.CatalogData.getCatalogArticleByArticleCodex(P.articleCodex)||null===(s=P.AccessoireInitParams)||void 0===s||!s.RelatedToBasketID||this.set.getSetState.onlyRunLogic){i.next=16;break}return i.abrupt("continue",34);case 16:if(D=parseInt(P.elementID),m=new c.Z(this.set.getSetId(),P.basketID,D,DivaStandardPlanner.plannerType),this.nextElementId=D+1,this.plannerElements.set(m.ElementId,m),this.set.setElementId(P.basketID,m.ElementId),f=this.set.getPlannerData(m.ElementId),m.updatePlannerData(f),this.doDisablePlanner2D){i.next=26;break}return i.next=26,g.Z.loadSVG(m,this.set);case 26:m.WorldPosCenter=new u.P(this.plannerBoundingBox.WorldPos.x+P.x,this.plannerBoundingBox.WorldPos.y+P.y,this.plannerBoundingBox.WorldPos.z+P.z),m.RotDeg=P.rot,m.IsDockedAccessoire?(o.push(P),m.PosNr=P.posNr,m.AccessoirePosNr=P.accNr):(a[P.posNr-1]=P,m.PosNr=P.posNr),i.next=34;break;case 31:i.prev=31,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 34:l++,i.next=10;break;case 37:k=1==a.length,a=a.concat(o),l=0;case 40:if(!(l<a.length)){i.next=58;break}if(i.prev=41,0!=l||!k||!this.plannerHasStaticBackground){i.next=46;break}return(E=this.plannerElements.get(a[l].elementID))&&(E.WorldPosCenter=new u.P(0,E.Height/2,E.Depth/2)),i.abrupt("continue",55);case 46:if(null!=a[l].DP&&0!=a[l].DP.length){i.next=48;break}return i.abrupt("continue",55);case 48:for(I=a[l].DP,v=0;v<I.length;v++)(x=I[v]).id&&""!=x.id&&x.onID&&""!=x.onID&&x.onDPID&&""!=x.onDPID&&(y=this.plannerElements.get(a[l].elementID),A=null==y?void 0:y.getDockingPointById(x.id),C=this.plannerElements.get(x.onID),B=null==C?void 0:C.getDockingPointById(x.onDPID),A&&B?h.Z.tryDockElementDPToDP(y,C,A,B):this.doDisablePlanner2D||p.error(new d.GE("Error initializing docking point between source element with id: "+(null==y?void 0:y.ElementId)+" and target Element with id: "+(null==C?void 0:C.ElementId)+". SourceDPID: "+x.id+"; targetDPID: "+x.onDPID)));i.next=55;break;case 52:i.prev=52,i.t1=i.catch(41),p.error(new d.GE("Error initializing dockingPoints of element with elementID "+a[l].elementID,{cause:i.t1,code:"WC_0012"}));case 55:l++,i.next=40;break;case 58:i.next=110;break;case 60: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=63;break}return i.abrupt("return");case 63:b=t.Sets[0].Elements,V=[],N=[],l=0;case 67:if(!(l<b.length)){i.next=100;break}if(i.prev=68,S=b[l],this.set.CatalogData.getCatalogArticleByArticleCodex(S.articleCodex)||null===(W=S.AccessoireInitParams)||void 0===W||!W.RelatedToBasketID||this.set.getSetState.onlyRunLogic){i.next=73;break}return i.abrupt("continue",97);case 73:if(T=S.BasketID,-1==this.set.getElementId(T)&&this.set.setElementId(T,Number(S.ID)),w=this.set.getElementId(T),S.elementId=w,-1!=w){i.next=80;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",97);case 80:if(_=new c.Z(this.set.getSetId(),T,w,DivaStandardPlanner.plannerType),this.nextElementId=w+1,this.plannerElements.set(_.ElementId,_),R=this.set.getPlannerData(_.ElementId),_.updatePlannerData(R),this.doDisablePlanner2D){i.next=88;break}return i.next=88,g.Z.loadSVG(_,this.set);case 88:O=new u.P(S.PosX,S.PosZ,S.PosY),_.WorldPosCenter=new u.P(this.plannerBoundingBox.WorldPos.x+O.x,this.plannerBoundingBox.WorldPos.y+O.y,this.plannerBoundingBox.WorldPos.z+O.z),_.RotDeg=S.Rot,_.IsDockedAccessoire?(N.push(S),S.PosNum.toString().indexOf(".")>0&&(Z=S.PosNum.toString().split(".")[0],M=S.PosNum.toString().split(".")[1],_.PosNr=Z,_.AccessoirePosNr=M)):(V[S.PosNum-1]=S,_.PosNr=S.PosNum),i.next=97;break;case 94:i.prev=94,i.t2=i.catch(68),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 97:l++,i.next=67;break;case 100:V=V.concat(N),l=0;case 102:if(!(l<V.length)){i.next=110;break}if(null!=V[l].DP&&0!=V[l].DP.length){i.next=105;break}return i.abrupt("continue",107);case 105:for(L=V[l].DP,v=0;v<L.length;v++)(H=L[v]).DP&&""!=H.DP&&H.onID&&""!=H.onID&&(G=parseInt(H.onID),z=H.DP,U=this.plannerElements.get(V[l].elementId),$=null!==(F=this.plannerElements.get(G))&&void 0!==F?F:this.getPlannerElementByIndex(G-1),U&&$?h.Z.initDockingPointRelationByArea(U,$,z):p.error(new d.GE("Error initializing dockingPoints of element with elementID "+V[l].elementId,{code:"WC_0012"})));case 107:l++,i.next=102;break;case 110:this.updateAllElementsWorldPos(),this.updatePlannerPosNr();case 112:case"end":return i.stop()}}),_callee5,this,[[11,31],[41,52],[68,94]])}))),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,a){e==t&&(n=r),t++})),n}},{key:"addPlannerElement",value:(t=(0,r.Z)(i().mark((function _callee6(e,n){var t,r,a,o,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===(a=d[0])||void 0===a||!a.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===(o=d[0])||void 0===o||!o.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:"movePlannerElement",value:function movePlannerElement(){throw Error("move planner not implemented in standard")}},{key:"copyPlannerElement",value:(n=(0,r.Z)(i().mark((function _callee7(e,n){var t,r;return i().wrap((function _callee7$(a){for(;;)switch(a.prev=a.next){case 0:t=[],e.forEach((function(e){null==n&&t.push(e.value)})),r=0;case 3:if(!(r<t.length)){a.next=9;break}return a.next=6,this.addPlannerElement(t[r],{});case 6:r++,a.next=3;break;case 9:case"end":return a.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){if(!n||"BoxPlanner_backside"!=n.copyType)throw new Error("copyType needs to be BoxPlanner_backside here");return this.plannerElements.has(e)?[e]:[]}},{key:"deletePlannerElement",value:(e=(0,r.Z)(i().mark((function _callee8(e,n){var t,r,a,o,l,s,c,g,u,P,p,D,m,f,k;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),a=-1,o=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()>a?(a=e.getPosNr(),l=e.getElementId()):e.getPosNr()>t.getPosNr()&&e.getPosNr()<o&&(o=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]))))),k={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:k});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(),a=this.plannerElements.get(r);if(a)if(this.dockToAVUorAVOororAVNorAVSorAVC(a,[e]))break}}},{key:"checkCollision",value:function checkCollision(e,n){if(!this.doDisablePlanner2D){for(var t,r,a=this.getAllPlannerElements(),o=!1,l=[],s=0;s<a.length;s++){var i=a[s];if(!n||i.getElementId()==n)for(var c=n?0:s+1;c<a.length;c++){var d,u,P=a[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&&(o=!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&&!o)null===(t=(r=this.collisionHandler).updatePlannerMsgContainer)||void 0===t||t.call(r,"COLLISION_MSG",!1,"WARNING","COLLISION_MSG",!1);else if(!this.collisionHandler.collisionDetected&&o){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=o}}},{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 a=0;a<n.length;a++)n[a].IsAccessoire||this.set.giveAccNewPosNrByBasketId(n[a].getBasketId());return n.length}},{key:"updatePlannerTrans",value:function updatePlannerTrans(e,n,t,r,a,o){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"==a),"START"==a){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"==a){var u=h.Z.searchDockableElementsInArea(i,this.getAllPlannerElements(),o);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 a=t.getDockingDockingPoints(),o=[],l=0;l<a.length;l++){var s,i={id:a[l].DpId,onID:a[l].OnElementId,onDPID:null===(s=a[l].OnDP)||void 0===s?void 0:s.DpId};o.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:o};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 a=this,o={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&&(o.AlternateImg=l),t&&(o.ShowDim=t),this.isIDM3DCat&&(o.IsIDM3D=!0,o.IDM3DCatCodex=this.IDM3DCatCodex),this.plannerElements.forEach((function(n,l){var s=a.set.getPlannerConfigData(l,r),i=s.config,c=[];if(s.accs&&s.accs.length>0)for(var g=0;g<s.accs.length;g++)a.plannerElements.has(s.accs[g])&&c.push("E"+s.accs[g]);if(!e||null!=i.Model){var u,h,P,p,D=a.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,o.ELE.push(m)}var k=a.set.getShelfPlannerData(l);if(k)for(var E=0;E<k.length;E++){var I=k[E],v=a.set.getShelfPlannerConfigData(I.basketId).config,x=[];if(v.accs&&v.accs.length>0)for(var y=0;y<v.accs.length;y++)a.plannerElements.has(v.accs[y])&&x.push("E"+v.accs[y]);var A={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(A));A.H=f,o.ELE.push(A)}}));var s=(0,d.FB)(JSON.stringify(o));return o.H=s,{constructionSet:o}}},{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,a){var o;(!t||null!==(o=n.set.CatalogData.forceConstructionWarningForArticles)&&void 0!==o&&o.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}}},{key:"getGeneralPlanningState",value:function getGeneralPlanningState(e){return p.error(new d.GE("The function getGeneralPlanningState is not implemented yet for standard planner. Dont call it or ask roadmap when its its turn",{code:"WC_0012"})),{grids:[]}}}]);var e,n,t,s,m,f,k,E}();(0,l.Z)(m,"plannerType","STD")}}]);