@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 15.7 kB
JavaScript
module.exports=function(r){var i={};function n(t){if(i[t])return i[t].exports;var e=i[t]={exports:{},id:t,loaded:!1};return r[t].call(e.exports,e,e.exports,n),e.loaded=!0,e.exports}return n.m=r,n.c=i,n.p="",n(0)}({0:function(t,e,r){t.exports=r(1556)},3:function(t,e){t.exports=function(){throw Error("define cannot be used indirect")}},1114:function(t,e){t.exports=require("./kendo.button")},1382:function(t,e){t.exports=require("./kendo.form")},1540:function(t,e){t.exports=require("./kendo.stepper")},1556:function(t,e,r){var i;r(3),r=[r(1540),r(1114),r(1382)],void 0===(e="function"==typeof(i=function(){var t={id:"wizard",name:"Wizard",category:"web",description:"The Wizard widget serves as a container of stepped process.",depends:["stepper","button","form"],features:[{id:"wizard-form-dropdowns",name:"DropDowns",description:"Support for DropDown editors in Wizard From",depends:["autocomplete","combobox","multiselect","dropdowntree","multicolumncombobox"]},{id:"wizard-form-datepickers",name:"DatePickers",description:"Support for DatePicker editors in Wizard From",depends:["dateinput","datepicker","datetimepicker","timepicker"]},{id:"wizard-form-inputs",name:"Inputs",description:"Support for Input editors in Wizard From",depends:["numerictextbox","maskedtextbox","switch","rating","slider","colorpicker"]},{id:"wizard-form-editor",name:"Editor",description:"Support for Editor editor in Wizard From",depends:["editor"]}]},u=window.kendo.jQuery,g=void 0,c=window.kendo,a=c.ui.Widget,p=u.extend,r=".kendoWizard",i="click",f="activate",_="select",n="reset",d="submit",v="previous",w="next",o="done",b="error",e="contentLoad",l="formValidateFailed",z="k-hidden",S="k-step-list",x="k-step-link",C="aria-selected",k="aria-controls",B="aria-hidden",y="aria-label",E="vertical",A="horizontal",W="bottom",F="right",T="left",h=".",j=" ",D="-",I="id",N="tabindex",L="role",s="data-wizard-",m={wizard:"k-widget k-wizard",horizontalWizard:"k-wizard-horizontal",verticalWizard:"k-wizard-vertical",rightWizard:"k-wizard-right",leftWizard:"k-wizard-left",wizardStepsContainer:"k-wizard-steps",wizardStep:"k-wizard-step",wizardContent:"k-wizard-content",wizardButtons:"k-wizard-buttons",wizardLeftButtons:"k-wizard-buttons-left",wizardRightButtons:"k-wizard-buttons-right",wizardPager:"k-wizard-pager"},H=c.Class.extend({init:function(t){this.options=p({},this.options,t);if(this.options.actionBar)this._processButtons();this._render()},options:{name:"WizardStep",index:0,content:"",contentUrl:null,contentId:null,markupContainer:null,form:null,actionBar:true,buttons:[],pager:true,selected:false,enabled:true,className:"",totalSteps:1,wizardId:"wizard",formTag:"form",messages:{}},_defaultButtonsConfiguration:{first:[n,w],middle:[n,v,w],last:[n,v,o]},_pagerTemplate:'<span class="k-wizard-pager">'+"#: step # "+"#: currentStep # "+"#: of # "+"#: totalSteps #"+"</span>",buttons:function(){return this._buttons},load:function(){if(this.options.contentUrl)this._ajaxRequest()},resetButtons:function(){var t=this.element.find(h+m.wizardButtons);c.destroy(t);t.remove();this.options.buttons=[];this._processButtons();this._buttonsContainer()},_ajaxRequest:function(r,t){var i=this,e=i.options.contentUrl,n={},s=i.element;var o={type:"GET",cache:false,url:e,dataType:"html",data:n,error:function(t,e){if(r)r._triggerError(t,e,i)},complete:function(){if(r&&t)r._triggerActivate(i)},success:function(t){var e=s.find(h+m.wizardContent);try{if(r)r.angular("cleanup",function(){return{elements:s.get()}});c.destroy(e);e.html(t);if(r)r._triggerContentLoad(i)}catch(t){this.error(this.xhr,"error")}if(r)r.angular("compile",function(){return{elements:s.get()}})}};if(typeof e==="object")o=u.extend(true,{},o,e);u.ajax(o)},_ariaAttributes:function(){var t=this.element,e=this.options,r=e.messages,i=r.step+" "+(e.index+1)+" "+r.of+" "+e.totalSteps;t.attr(L,"tabpanel").attr(N,0).attr(I,e.wizardId+D+e.index).attr(y,i)},_buttonFactory:function(t){var e=u("<button type='button'>").kendoButton({themeColor:t.primary?"primary":"base"}).getKendoButton(),r=e.element;r.attr(s+t.name,"");r.text(t.text);if(t.click)e.bind(i,t.click);if(t.enabled===false)e.enable(false);if(t.position===T)this._leftButtonsContainer.append(r);else this._rightButtonsContainer.append(r);if(t.name==="done"&&this.options.formTag!=="form")e.element.attr("type",d);this._buttons.push(e)},_buttonsContainer:function(){var t=u("<div>").addClass(m.wizardButtons);this._leftButtonsContainer=u("<span>").addClass(m.wizardLeftButtons);this._rightButtonsContainer=u("<span>").addClass(m.wizardRightButtons);t.append(this._leftButtonsContainer);t.append(this._rightButtonsContainer);this.element.append(t);this._buttons=[];this.options.buttons.map(this._buttonFactory.bind(this));if(this.options.pager)this._pager()},_content:function(){var t=this.options,e=!!t.contentUrl,r=u("<div>").addClass(m.wizardContent);if(!e&&t.contentId)r.html(u("#"+t.contentId).html());else if(!e&&t.content)r.append(t.content);if(t.markupContainer){if(!e&&!t.contentId&&!t.content)r.append(t.markupContainer.html());c.destroy(t.markupContainer);t.markupContainer.remove()}this.element.prepend(r)},_form:function(){var t="<"+this.options.formTag+">",e=u(t).hide(),r=u("<div>").addClass(m.wizardContent),i=this.options.form;u("body").append(e);this.element.prepend(r);i.buttonsTemplate=i.buttonsTemplate||"";this.form=e.kendoForm(i).getKendoForm();r.append(e.show())},_iterateButton:function(t){var e=this.options.messages;if(typeof t==="string")t={name:t};if(!t.text)t.text=e[t.name]||t.name.charAt(0).toUpperCase()+t.name.slice(1);if(t.primary!==false&&(t.name===o||t.name===w))t.primary=true;if(!t.position&&t.name===n)t.position=T;else if(!t.position)t.position=F;return t},_pager:function(){var t=this.options,e=t.messages,r={step:e.step,currentStep:t.index+1,of:e.of,totalSteps:t.totalSteps},i=c.template(this._pagerTemplate)(r);this._leftButtonsContainer.append(i)},_processButtons:function(){var t=this.options,e=t.buttons,r=this._defaultButtonsConfiguration;if(!e||!e.length||e.length===0){this.options.defaultButtons=true;if(t.index===0)e=r.first;else if(t.index+1===t.totalSteps)e=r.last;else e=r.middle}this.options.buttons=e.map(this._iterateButton.bind(this))},_render:function(){this.element=u("<div>").addClass(m.wizardStep);if(this.options.className)this.element.addClass(this.options.className);this._ariaAttributes();if(!this.options.selected){this.element.addClass(z);this.element.attr(B,true)}if(this.options.actionBar)this._buttonsContainer();if(this.options.form)this._form();else this._content()}}),K=a.extend({init:function(t,e){var r=this;e=e||{};a.fn.init.call(r,t,e);r._wrapper();r._createSteps();r._stepper();r._attachEvents()},options:{name:"Wizard",contentPosition:W,actionBar:true,pager:true,loadOnDemand:false,reloadOnSelect:false,validateForms:true,stepper:{},steps:[],messages:{reset:"Reset",previous:"Previous",next:"Next",done:"Done",step:"Step",of:"of"}},events:[f,_,n,o,b,e,l],destroy:function(){var t=this;a.fn.destroy.call(t.stepper);a.fn.destroy.call(t);t.wrapper.off(r)},activeStep:function(){return this.currentStep},enableStep:function(t,e){var r=this,i;if(t===g||t===null||isNaN(t)||t>=r._steps.length||t<0)return;t=Number(t);i=r._steps[t];if(i.options.enabled===e)return;else{i.options.enabled=e;r.stepper.steps()[t].enable(e)}},insertAt:function(i,t){var e=this._steps,n=e.length,s=this.options.messages,r,o,a,p,d=function(t,e){var r;if(e>=i)t.options.index+=1;t.options.totalSteps+=1;t.element.find(h+m.wizardPager).remove();t._pager();r=s.step+" "+(t.options.index+1)+" "+s.of+" "+(n+1);t.element.attr(y,r)};if(i===null||i===g||isNaN(i)||i<0||i>n)return;if(!t)return;o=this._mapStepForStepper(t);this.stepper.insertAt(i,o);t.totalSteps=n+1;t.messages=s;t.index=i;t.formTag=this.wrapper.is("form")?"div":"form";if(this.options.pager===false&&t.pager!==true)t.pager=false;r=new H(t);e.forEach(d);e.splice(i,0,r);if(i===0||i===n){a=i===0?1:n-1;p=e[a];if(p.options.defaultButtons)p.resetButtons()}this._insertStepElementAtIndex(i,r.element);this._stepperAriaAttributes();this._steps.forEach(this._iterateAriaStep)},next:function(){var t=this,e=t._steps.length,r=t.currentStep.options.index;if(r+1===e)return;else if(!t.steps()[r+1].options.enabled)return;else{t._select(r+1);t._selectStepper(r+1)}},previous:function(){var t=this,e=t.currentStep.options.index;if(e===0)return;else if(!t.steps()[e-1].options.enabled)return;else{t._select(e-1);t._selectStepper(e-1)}},removeAt:function(t){var e=this._steps,r=e.length,i=u(this.element.find(h+m.wizardStep).get(t)),l,n,s,o,a,p,d,f=this.options.messages;if(t===null||t===g||isNaN(t)||t<0||t>r||r===1)return;this.stepper.removeAt(t);l=e.splice(t,1)[0];if(!i.hasClass(z)){n=t===0?0:t-1;this.select(n)}c.destroy(i);i.remove();for(a=0;a<r-1;a+=1){p=e[a];p.options.index=a;p.options.totalSteps=r-1;p.element.find(h+m.wizardPager).remove();p._pager();d=f.step+" "+(a+1)+" "+f.of+" "+(r-1);p.element.attr(y,d)}if(t===0||t===r-1){s=t===0?0:r-2;o=e[s];if(o.options.defaultButtons)o.resetButtons()}this._stepperAriaAttributes();this._steps.forEach(this._iterateAriaStep)},select:function(t){var e=this,r;if(t===g||t===null||isNaN(t)||t>=e._steps.length||t<0)return;t=Number(t);r=e._steps[t];if(!r.options.enabled)return;e._select(t);e._selectStepper(t)},steps:function(){return this._steps},_attachEvents:function(){var t=this,e=function(){t._doneClicked=true};t.stepper.bind(_,t._stepperSelectHandler.bind(t));t.wrapper.on(i+r,"["+s+n+"]",t._resetClickHandler.bind(t)).on(i+r,"["+s+v+"]",t._previousClickHandler.bind(t)).on(i+r,"["+s+w+"]",t._nextClickHandler.bind(t));if(t.wrapper.is("form")){t.wrapper.on(i+r,"["+s+o+"]",e);t.wrapper.on(d+r,t._doneHandler.bind(t))}else{t.wrapper.on(i+r,"["+s+o+"]",e);t.wrapper.on(i+r,"["+s+o+"]",t._doneHandler.bind(t))}},_changeStep:function(t){var e=this.wrapper.find(h+m.wizardStep);this.currentStep=t;e.addClass(z);e.attr(B,true);t.element.removeClass(z);t.element.removeAttr(B)},_createStep:function(t,e,r,i){var n=this.wrapper,s=this.wrapper.children("ol, ul").children("li");if(typeof t==="string")t={title:t};t.totalSteps=i;t.messages=this.options.messages;t.index=e;t.formTag=this.wrapper.is("form")?"div":"form";if(e===0)t.selected=true;if(this.options.actionBar===false)t.actionBar=false;if(r.length>0&&r[e]){t.markupContainer=u(r[e]);if(!t.title){t.title=s[e]?s[e].textContent:(e+1).toString();if(!this.options.steps)this.options.steps=[]}}if(n.attr(I))t.wizardId=n.attr(I);if(this.options.pager===false&&t.pager!==true)t.pager=false;this.options.steps[e]=p(true,{},t);return new H(t)},_createSteps:function(){var t=this,e=t.wrapper,r=t.options.steps,i=e.children("div"),n,s,o,a;n=u("<div>").addClass(m.wizardStepsContainer);t._steps=[];if(!r||r.length===0){r=[];for(s=0;s<i.length;s+=1)r.push({})}for(s=0;s<r.length;s+=1){o=r[s];a=t._createStep(o,s,i,r.length);if(o.contentUrl&&(s===0||!t.options.loadOnDemand)){c.ui.progress(t.wrapper,true);a._ajaxRequest(t)}n.append(a.element);t._steps.push(a)}e.children("ol, ul").remove();e.empty();e.append(n);t._refreshEditorWidgets();t.currentStep=t._steps[0]},_doneHandler:function(t){var e=this._steps,r=this.currentStep,i=[],n,s;if(!this._doneClicked)return;this._doneClicked=false;if(!!this.options.validateForms&&!!r.form&&!r.form.validator.validate()){t.preventDefault();this.trigger(l,{sender:this,step:r,form:r.form});return}for(s=0;s<e.length;s+=1){n=e[s].form;if(n)i.push(n)}this.trigger(o,{sender:this,forms:i,originalEvent:t,button:u(t.target).getKendoButton()})},_insertStepElementAtIndex:function(t,e){var r=this.wrapper.find(h+m.wizardStepsContainer);if(t===0)r.prepend(e);else r.find(h+m.wizardStep+":nth-child("+t+")").after(e)},_isEmpty:function(t){return!c.trim(t.html())},_iterateAriaStep:function(t){t._ariaAttributes()},_mapStepForStepper:function(t){var e=p(true,{},t);e.label=e.title;delete e.buttons;delete e.pager;delete e.content;delete e.contentUrl;delete e.contentId;delete e.formTag;delete e.wizardId;delete e.messages;return e},_select:function(t){var e=this._steps[t],r=this.options;if(e.options.contentUrl&&(r.reloadOnSelect||r.loadOnDemand&&this._isEmpty(e.element.find(h+m.wizardContent)))){this.ajaxLoad=true;c.ui.progress(this.wrapper,true);e._ajaxRequest(this,true)}else this._changeStep(e)},_nextClickHandler:function(t){var e=this,r=e._steps,i=e._steps.length,n=e.currentStep,s=n.options.index,o=u(t.target).getKendoButton(),a=r[s+1];if(i===s+1||!a.options.enabled)return;if(!!e.options.validateForms&&!!n.form&&!n.form.validator.validate()){e.trigger(l,{sender:e,step:n,form:n.form});return}if(!e.trigger(_,{sender:e,originalEvent:t.originalEvent,step:a,button:o})){e._select(s+1);e._selectStepper(s+1);if(!e.ajaxLoad)e.trigger(f,{sender:e,step:a});e.ajaxLoad=false}},_previousClickHandler:function(t){var e=this,r=e.options.validateForms,i=e._steps,n=e.currentStep,s=n.options.index,o=u(t.target).getKendoButton(),a=i[s-1];if(s===0||!a.options.enabled)return;if(!!r&&r.validateOnPrevious!==false&&!!n.form&&!n.form.validator.validate()){e.trigger(l,{sender:e,step:n,form:n.form});return}if(!e.trigger(_,{sender:e,originalEvent:t.originalEvent,step:a,button:o})){e._select(s-1);e._selectStepper(s-1);if(!e.ajaxLoad)e.trigger(f,{sender:e,step:a});e.ajaxLoad=false}},_refreshEditorWidgets:function(){var t=this.wrapper.find("[data-role='editor']"),e,r;for(e=0;e<t.length;e+=1){r=u(t[e]);r.getKendoEditor().refresh()}},_resetClickHandler:function(t){this.trigger(n,{sender:this,originalEvent:t,button:u(t.target).getKendoButton()})},_selectStepper:function(t){var e=this.stepper,r=e.steps()[t],i=r.element.find(h+x);e.select(t);e.wrapper.find(h+x).attr(C,false);i.attr(C,true).trigger("focus")},_stepper:function(){var t=this.wrapper,e=u("<div>").prependTo(t),r=this.options,i=r.stepper,n=r.steps.map(this._mapStepForStepper);i.steps=n;i.orientation=r.contentPosition===W?A:E;i.selectOnFocus=true;i.kendoKeydown=function(t){if(t.keyCode===c.keys.TAB)t.preventKendoKeydown=true};this.stepper=e.kendoStepper(i).getKendoStepper();this._stepperAriaAttributes()},_stepperAriaAttributes:function(){var t=this.stepper,e=this.wrapper.attr(I)||"wizard",r=t.steps(),i,n,s;if(!r)return;t.element.find(h+S).attr(L,"tablist");for(s=0;s<r.length;s+=1){i=false;if(s===0)i=true;n=r[s];n.element.attr(L,"none").find("a").attr(L,"tab").attr(k,e+D+s).attr(C,i)}},_stepperSelectHandler:function(t){var e=this,r=e.options.validateForms,i=t.sender,n=t.step,s=e.currentStep.options.index,o=n.getIndex(),a=e._steps,p=a[o],d=e.currentStep;if(o>s&&!!r&&!!d.form&&!d.form.validator.validate()){t.preventDefault();e.trigger(l,{sender:e,step:d,form:d.form});return}if(o<s&&!!r&&r.validateOnPrevious!==false&&!!d.form&&!d.form.validator.validate()){t.preventDefault();e.trigger(l,{sender:e,step:d,form:d.form});return}if(!e.trigger(_,{sender:e,originalEvent:t.originalEvent,step:p,stepper:i})){e._select(o);i.wrapper.find(h+x).attr(C,false);n.element.find(h+x).attr(C,true);if(!e.ajaxLoad)e.trigger(f,{sender:e,step:p});e.ajaxLoad=false}else t.preventDefault()},_triggerActivate:function(t){this._changeStep(t);this.trigger(f,{sender:this,step:t})},_triggerError:function(t,e,r){c.ui.progress(this.wrapper,false);this.trigger(b,{sender:this,xhr:t,status:e,step:r})},_triggerContentLoad:function(t){c.ui.progress(this.wrapper,false);this.trigger(e,{sender:this,step:t})},_wrapper:function(){var t=this,e=t.element,r=t.options.contentPosition;t.wrapper=e;t.wrapper.addClass(m.wizard);if(r===F)t.wrapper.addClass(m.verticalWizard+j+m.rightWizard);else if(r===T)t.wrapper.addClass(m.verticalWizard+j+m.leftWizard);else t.wrapper.addClass(m.horizontalWizard)}});return c.wizard={Step:H},c.ui.plugin(K),window.kendo})?i.apply(e,r):i)||(t.exports=e)}});