UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 13.9 kB
module.exports=function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}({0:function(t,e,n){t.exports=n(1493)},3:function(t,e){t.exports=function(){throw Error("define cannot be used indirect")}},1092:function(t,e){t.exports=require("./kendo.button")},1483:function(t,e){t.exports=require("./kendo.stepper")},1484:function(t,e){t.exports=require("./kendo.form")},1493:function(t,e,n){var r,i,s;!function(o,define){i=[n(1483),n(1092),n(1484)],r=o,s="function"==typeof r?r.apply(e,i):r,!(void 0!==s&&(t.exports=s))}(function(){return function(t,e){var n=window.kendo,r=n.ui.Widget,i=t.extend,s=t.proxy,o=".kendoWizard",a="click",p="activate",d="select",l="reset",u="submit",c="previous",h="next",f="done",m="error",g="contentLoad",_="formValidateFailed",v="k-hidden",w="k-primary",S="k-step-link",x="aria-selected",z="aria-controls",b="aria-hidden",C="aria-expanded",k="aria-label",B="vertical",y="horizontal",E="bottom",A="right",W="left",j=".",F=" ",T="-",I="id",L="tabindex",N="role",H="data-wizard-",K={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"},O=n.Class.extend({init:function(t){this.options=i({},this.options,t),this.options.actionBar&&this._processButtons(),this._render()},options:{name:"WizardStep",index:0,content:"",contentUrl:null,contentId:null,markupContainer:null,form:null,actionBar:!0,buttons:[],pager:!0,selected:!1,enabled:!0,className:"",totalSteps:1,wizardId:"wizard",formTag:"form",messages:{}},_defaultButtonsConfiguration:{first:[l,h],middle:[l,c,h],last:[l,c,f]},_pagerTemplate:'<span class="k-wizard-pager">#: step # #: currentStep # #: of # #: totalSteps #</span>',buttons:function(){return this._buttons},load:function(){this.options.contentUrl&&this._ajaxRequest()},resetButtons:function(){var t=this.element.find(j+K.wizardButtons);n.destroy(t),t.remove(),this.options.buttons=[],this._processButtons(),this._buttonsContainer()},_ajaxRequest:function(e,r){var i=this,s=i.options.contentUrl,o={},a=i.element,p={type:"GET",cache:!1,url:s,dataType:"html",data:o,error:function(t,n){e&&e._triggerError(t,n,i)},complete:function(){e&&r&&e._triggerActivate(i)},success:function(t){var r=a.find(j+K.wizardContent);try{e&&e.angular("cleanup",function(){return{elements:a.get()}}),n.destroy(r),r.html(t),e&&e._triggerContentLoad(i)}catch(s){this.error(this.xhr,"error")}e&&e.angular("compile",function(){return{elements:a.get()}})}};"object"==typeof s&&(p=t.extend(!0,{},p,s)),t.ajax(p)},_ariaAttributes:function(){var t=this.element,e=this.options,n=e.messages,r=n.step+" "+(e.index+1)+" "+n.of+" "+e.totalSteps;t.attr(N,"tabpanel").attr(L,0).attr(I,e.wizardId+T+e.index).attr(C,e.selected).attr(k,r)},_buttonFactory:function(e){var n=t("<button type='button'>").kendoButton().getKendoButton(),r=n.element;r.attr(H+e.name,""),r.text(e.text),e.click&&n.bind(a,e.click),e.enabled===!1&&n.enable(!1),e.primary&&r.addClass(w),e.position===W?this._leftButtonsContainer.append(r):this._rightButtonsContainer.append(r),"done"===e.name&&"form"!==this.options.formTag&&n.element.attr("type",u),this._buttons.push(n)},_buttonsContainer:function(){var e=t("<div>").addClass(K.wizardButtons);this._leftButtonsContainer=t("<span>").addClass(K.wizardLeftButtons),this._rightButtonsContainer=t("<span>").addClass(K.wizardRightButtons),e.append(this._leftButtonsContainer),e.append(this._rightButtonsContainer),this.element.append(e),this._buttons=[],this.options.buttons.map(s(this._buttonFactory,this)),this.options.pager&&this._pager()},_content:function(){var e=this.options,r=!!e.contentUrl,i=t("<div>").addClass(K.wizardContent);!r&&e.contentId?i.html(t("#"+e.contentId).html()):!r&&e.content&&i.append(e.content),e.markupContainer&&(r||e.contentId||e.content||i.append(e.markupContainer.html()),n.destroy(e.markupContainer),e.markupContainer.remove()),this.element.prepend(i)},_form:function(){var e="<"+this.options.formTag+">",n=t(e).hide(),r=t("<div>").addClass(K.wizardContent),i=this.options.form;t("body").append(n),this.element.prepend(r),i.buttonsTemplate=i.buttonsTemplate||"",this.form=n.kendoForm(i).getKendoForm(),r.append(n.show())},_iterateButton:function(t){var e=this.options.messages;return"string"==typeof t&&(t={name:t}),t.text||(t.text=e[t.name]||t.name.charAt(0).toUpperCase()+t.name.slice(1)),t.primary===!1||t.name!==f&&t.name!==h||(t.primary=!0),t.position||t.name!==l?t.position||(t.position=A):t.position=W,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=n.template(this._pagerTemplate)(r);this._leftButtonsContainer.append(i)},_processButtons:function(){var t=this.options,e=t.buttons,n=this._defaultButtonsConfiguration;(!e||!e.length||e.length<=0)&&(e=0===t.index?n.first:t.index+1===t.totalSteps?n.last:n.middle),this.options.buttons=e.map(s(this._iterateButton,this))},_render:function(){this.element=t("<div>").addClass(K.wizardStep),this.options.className&&this.element.addClass(this.options.className),this._ariaAttributes(),this.options.selected||(this.element.addClass(v),this.element.attr(b,!0)),this.options.actionBar&&this._buttonsContainer(),this.options.form?this._form():this._content()}}),P=r.extend({init:function(t,e){var n=this;e=e||{},r.fn.init.call(n,t,e),n._wrapper(),n._createSteps(),n._stepper(),n._attachEvents()},options:{name:"Wizard",contentPosition:E,actionBar:!0,pager:!0,loadOnDemand:!1,reloadOnSelect:!1,validateForms:!0,stepper:{},steps:[],messages:{reset:"Reset",previous:"Previous",next:"Next",done:"Done",step:"Step",of:"of"}},events:[p,d,l,f,m,g,_],destroy:function(){var t=this;r.fn.destroy.call(t.stepper),r.fn.destroy.call(t),t.wrapper.off(o)},activeStep:function(){return this.currentStep},enableStep:function(t,n){var r,i=this;t===e||null===t||isNaN(t)||t>=i._steps.length||t<0||(t=+t,r=i._steps[t],r.options.enabled!==n&&(r.options.enabled=n,i.stepper.steps()[t].enable(n)))},insertAt:function(t,n){var r,i,s,o,a=this._steps,p=a.length,d=function(e,n){n>=t&&(e.options.index+=1),e.options.totalSteps+=1,e.element.find(j+K.wizardPager).remove(),e._pager()};null===t||t===e||isNaN(t)||t<0||t>p||n&&(i=this._mapStepForStepper(n),this.stepper.insertAt(t,i),n.totalSteps=p+1,n.messages=this.options.messages,n.index=t,n.formTag=this.wrapper.is("form")?"div":"form",this.options.pager===!1&&n.pager!==!0&&(n.pager=!1),r=new O(n),a.forEach(d),a.splice(t,0,r),0!==t&&t!==p||(s=0===t?1:p-1,o=a[s],o.resetButtons()),this._insertStepElementAtIndex(t,r.element))},next:function(){var t=this,e=t._steps.length,n=t.currentStep.options.index;n+1!==e&&t.steps()[n+1].options.enabled&&(t._select(n+1),t._selectStepper(n+1))},previous:function(){var t=this,e=t.currentStep.options.index;0!==e&&t.steps()[e-1].options.enabled&&(t._select(e-1),t._selectStepper(e-1))},removeAt:function(t){var n,r,i,s,o,a,p=this._steps,d=p.length;if(!(null===t||t===e||isNaN(t)||t<0||t>d||1===d)){for(this.stepper.removeAt(t),n=p.splice(t,1)[0],n===this.selectedStep&&(r=t>0?t-1:0,this.selectedStep=p[r]),o=0;o<d-1;o+=1)a=p[o],a.options.index=o,a.options.totalSteps=d-1,a.element.find(j+K.wizardPager).remove(),a._pager();0!==t&&t!==d-2||(i=0===t?0:d-2,s=p[i],s.resetButtons())}},select:function(t){var n,r=this,i=r.stepper;t===e||null===t||isNaN(t)||t>=r._steps.length||t<0||(t=+t,n=r._steps[t],n.options.enabled&&(r._select(t),i.options.linear?(i.setOptions({linear:!1}),r._selectStepper(t),i.setOptions({linear:!0})):r._selectStepper(t)))},steps:function(){return this._steps},_attachEvents:function(){var t=this,e=function(){t._doneClicked=!0};t.stepper.bind(d,s(t._stepperSelectHandler,t)),t.wrapper.on(a+o,"["+H+l+"]",s(t._resetClickHandler,t)).on(a+o,"["+H+c+"]",s(t._previousClickHandler,t)).on(a+o,"["+H+h+"]",s(t._nextClickHandler,t)),t.wrapper.is("form")?(t.wrapper.on(a+o,"["+H+f+"]",e),t.wrapper.on(u+o,s(t._doneHandler,t))):(t.wrapper.on(a+o,"["+H+f+"]",e),t.wrapper.on(a+o,"["+H+f+"]",s(t._doneHandler,t)))},_changeStep:function(t){var e=this.wrapper.find(j+K.wizardStep);this.currentStep=t,e.addClass(v),e.attr(b,!0),e.attr(C,!1),t.element.removeClass(v),t.element.removeAttr(b),t.element.attr(C,!0)},_createStep:function(e,n,r,s){var o=this.wrapper,a=this.wrapper.children("ol, ul").children("li");return"string"==typeof e&&(e={title:e}),e.totalSteps=s,e.messages=this.options.messages,e.index=n,e.formTag=this.wrapper.is("form")?"div":"form",0===n&&(e.selected=!0),this.options.actionBar===!1&&(e.actionBar=!1),r.length>0&&r[n]&&(e.markupContainer=t(r[n]),e.title||(e.title=a[n]?a[n].textContent:""+(n+1),this.options.steps||(this.options.steps=[]))),o.attr(I)&&(e.wizardId=o.attr(I)),this.options.pager===!1&&e.pager!==!0&&(e.pager=!1),this.options.steps[n]=i(!0,{},e),new O(e)},_createSteps:function(){var e,r,i,s,o=this,a=o.wrapper,p=o.options.steps,d=a.children("div");if(e=t("<div>").addClass(K.wizardStepsContainer),o._steps=[],!p||0===p.length)for(p=[],r=0;r<d.length;r+=1)p.push({});for(r=0;r<p.length;r+=1)i=p[r],s=o._createStep(i,r,d,p.length),!i.contentUrl||0!==r&&o.options.loadOnDemand||(n.ui.progress(o.wrapper,!0),s._ajaxRequest(o)),e.append(s.element),o._steps.push(s);a.children("ol, ul").remove(),a.empty(),a.append(e),o._refreshEditorWidgets(),o.currentStep=o._steps[0]},_doneHandler:function(n){var r,i,s=this._steps,o=this.currentStep,a=[];if(this._doneClicked){if(this._doneClicked=!1,this.options.validateForms&&o.form&&!o.form.validator.validate())return n.preventDefault(),this.trigger(_,{sender:this,step:o,form:o.form}),e;for(i=0;i<s.length;i+=1)r=s[i].form,r&&a.push(r);this.trigger(f,{sender:this,forms:a,originalEvent:n,button:t(n.target).getKendoButton()})}},_insertStepElementAtIndex:function(t,e){var n=this.wrapper.find(j+K.wizardStepsContainer);0===t?n.prepend(e):n.find(j+K.wizardStep+":nth-child("+t+")").after(e)},_isEmpty:function(e){return!t.trim(e.html())},_mapStepForStepper:function(t){var e=i(!0,{},t);return 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,e},_select:function(t){var e=this._steps[t],r=this.options;e.options.contentUrl&&(r.reloadOnSelect||r.loadOnDemand&&this._isEmpty(e.element.find(j+K.wizardContent)))?(this.ajaxLoad=!0,n.ui.progress(this.wrapper,!0),e._ajaxRequest(this,!0)):this._changeStep(e)},_nextClickHandler:function(n){var r=this,i=r._steps,s=r._steps.length,o=r.currentStep,a=o.options.index,l=t(n.target).getKendoButton(),u=i[a+1];if(s!==a+1&&u.options.enabled)return r.options.validateForms&&o.form&&!o.form.validator.validate()?(r.trigger(_,{sender:r,step:o,form:o.form}),e):(r.trigger(d,{sender:r,originalEvent:n.originalEvent,step:u,button:l})||(r._select(a+1),r._selectStepper(a+1),r.ajaxLoad||r.trigger(p,{sender:r,step:u}),r.ajaxLoad=!1),e)},_previousClickHandler:function(n){var r=this,i=r.options.validateForms,s=r._steps,o=r.currentStep,a=o.options.index,l=t(n.target).getKendoButton(),u=s[a-1];if(0!==a&&u.options.enabled)return i&&i.validateOnPrevious!==!1&&o.form&&!o.form.validator.validate()?(r.trigger(_,{sender:r,step:o,form:o.form}),e):(r.trigger(d,{sender:r,originalEvent:n.originalEvent,step:u,button:l})||(r._select(a-1),r._selectStepper(a-1),r.ajaxLoad||r.trigger(p,{sender:r,step:u}),r.ajaxLoad=!1),e)},_refreshEditorWidgets:function(){var e,n,r=this.wrapper.find("[data-role='editor']");for(e=0;e<r.length;e+=1)n=t(r[e]),n.getKendoEditor().refresh()},_resetClickHandler:function(e){this.trigger(l,{sender:this,originalEvent:e,button:t(e.target).getKendoButton()})},_selectStepper:function(t){var e=this.stepper,n=e.steps()[t],r=n.element.find(j+S);e.select(t),e.wrapper.find(j+S).attr(x,!1),r.attr(x,!0).focus()},_stepper:function(){var e=this.wrapper,r=t("<nav>").prependTo(e),i=this.options,s=i.stepper,o=i.steps.map(this._mapStepForStepper);s.steps=o,s.orientation=i.contentPosition===E?y:B,s.selectOnFocus=!0,s.kendoKeydown=function(t){t.keyCode===n.keys.TAB&&(t.preventKendoKeydown=!0)},this.stepper=r.kendoStepper(s).getKendoStepper(),this._stepperAriaAttributes()},_stepperAriaAttributes:function(){var t,e,n=this.stepper,r=this.wrapper.attr(I)||"wizard",i=n.steps(),s=!1;if(i)for(e=0;e<i.length;e+=1)0===e&&(s=!0),t=i[e],t.element.find(j+S).attr(N,"tab").attr(z,r+T+e).attr(x,s)},_stepperSelectHandler:function(t){var n=this,r=n.options.validateForms,i=t.sender,s=t.step,o=n.currentStep.options.index,a=s.getIndex(),l=n._steps,u=l[a],c=n.currentStep;return a>o&&r&&c.form&&!c.form.validator.validate()?(t.preventDefault(),n.trigger(_,{sender:n,step:c,form:c.form}),e):a<o&&r&&r.validateOnPrevious!==!1&&c.form&&!c.form.validator.validate()?(t.preventDefault(),n.trigger(_,{sender:n,step:c,form:c.form}),e):(n.trigger(d,{sender:n,originalEvent:t.originalEvent,step:u,stepper:i})?t.preventDefault():(n._select(a),i.wrapper.find(j+S).attr(x,!1),s.element.find(j+S).attr(x,!0),n.ajaxLoad||n.trigger(p,{sender:n,step:u}),n.ajaxLoad=!1),e)},_triggerActivate:function(t){this._changeStep(t),this.trigger(p,{sender:this,step:t})},_triggerError:function(t,e,r){n.ui.progress(this.wrapper,!1),this.trigger(m,{sender:this,xhr:t,status:e,step:r})},_triggerContentLoad:function(t){n.ui.progress(this.wrapper,!1),this.trigger(g,{sender:this,step:t})},_wrapper:function(){var t=this,e=t.element,n=t.options.contentPosition;t.wrapper=e,t.wrapper.addClass(K.wizard),t.wrapper.attr(N,"tablist"),t.wrapper.addClass(n===A?K.verticalWizard+F+K.rightWizard:n===W?K.verticalWizard+F+K.leftWizard:K.horizontalWizard)}});n.wizard={Step:O},n.ui.plugin(P)}(window.kendo.jQuery),window.kendo},n(3))}});