@aurigma/ui-framework
Version:
A platform which allows building print product personalization editors based on Aurigma's Customer's Canvas.
1 lines • 2.36 kB
JavaScript
(window.multistep_editor_jsonpFunction=window.multistep_editor_jsonpFunction||[]).push([[48],{934:function(t,e,s){s.r(e),s.d(e,"AuWidgetSteps",function(){return p}),s.d(e,"widget",function(){return p});var i,a,e=s(0),n=s(2),o=s(76),r=s(17),d=s(1),c=s(46),s=s(160);(a=i=i||{})[a.previous=0]="previous",a[a.visited=1]="visited",a[a.all=2]="all";let p=class extends s.a{constructor(){super(...arguments),this._isSubscribedToOnFinish=!1}connectedCallback(){super.connectedCallback(),this.stepSubscription=this.observe(r.a.STEP_CHANGED).subscribe(t=>this._stepChangeCallback(t))}async _stepChangeCallback(t){var e=t.data.step;if(d.a.isNotNullOrUndefined(this.params)&&d.a.isNotNullOrUndefined(this.params.availabilityMode)){switch(i[this.params.availabilityMode.toString()]){case i.previous:await this.stepsManager.handleModePrevious(e);break;case i.visited:await this.stepsManager.handleModeVisited(e);break;case i.all:}this.updateParams(this.params)}}updateParams(t){var e;t.steps&&this.changeStepState(t.steps),t.finishButton&&(null!=(e=t.finishButton)&&e.onClick&&this._subscribeToOnFinishClick(null==(e=t.finishButton)?void 0:e.onClick),this.stepsManager.finishButton=t.finishButton,this.stepsManager.update()),t.backToProductButton&&(this.stepsManager.backToProductButton=t.backToProductButton,this.stepsManager.update())}async _subscribeToOnFinishClick(e){this.publishData({selector:"#finishButton"},r.a.GET_ELEMENT_FROM_AU_WIZARD).then(t=>{!t||this._isSubscribedToOnFinish||(t.onFinish.subscribe(async()=>{await d.a.functionWrapperConstructor(e)()}),this._isSubscribedToOnFinish=!0)})}async changeStepState(t){var e,s,i=this.stepsManager.steps;for([e,s]of Object.entries(t))await this._applyConfig(i,e,s);this.stepsManager.update()}async _applyConfig(t,e,s){var i=d.a.isNum(e)?t[Number(e)]:t.find(t=>t.title===e||t.name===e);i&&(t=t.indexOf(i),d.a.isNotNullOrUndefined(s.enabled)&&this.stepsManager.toggleDisable(t,!s.enabled,!1),d.a.isNotNullOrUndefined(s.disabled)&&this.stepsManager.toggleDisable(t,s.disabled,!1),d.a.isNotNullOrUndefined(s.hidden))&&this.stepsManager.toggleHidden(t,s.hidden,!1)}};Object(e.a)([Object(c.b)("StepsManager"),Object(e.b)("design:type",o.a)],p.prototype,"stepsManager",void 0),Object(e.a)([Object(n.c)(),Object(e.b)("design:type",Object)],p.prototype,"params",void 0),p=Object(e.a)([Object(n.a)("au-widget-steps")],p)}}]);