@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 4.49 kB
JavaScript
module.exports=function(e){function t(a){if(n[a])return n[a].exports;var c=n[a]={exports:{},id:a,loaded:!1};return e[a].call(c.exports,c,c.exports,t),c.loaded=!0,c.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}({0:function(e,t,n){e.exports=n(1455)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1048:function(e,t){e.exports=require("./kendo.core")},1455:function(e,t,n){var a,c,r;!function(i,define){c=[n(1048)],a=i,r="function"==typeof a?a.apply(t,c):a,!(void 0!==r&&(e.exports=r))}(function(){return function(e,t){var n=window.kendo,a=n.ui,c=".kendoSwitch",r=a.Widget,i=n.support,s="change",o={widget:"k-switch k-widget",container:"k-switch-container",handle:"k-switch-handle",checked:"k-switch-on",checkedLabel:"k-switch-label-on",unchecked:"k-switch-off",uncheckedLabel:"k-switch-label-off",disabled:"k-state-disabled",readonly:"k-state-readonly",active:"k-state-active"},l="disabled",d="aria-disabled",h="readonly",p="aria-readonly",k="aria-checked",u="checked",f=i.click+c,w=i.pointers?"pointerup":"touchend",y="keydown"+c,b="_label",g=e.proxy,v=n.template('<span class="#=styles.widget#" role="switch"></span>'),m=n.template("<span class='#=styles.container#'><span class='#=styles.checkedLabel#'>#=checked#</span><span class='#=styles.uncheckedLabel#'>#=unchecked#</span><span class='#=styles.handle#'></span></span>"),_=r.extend({init:function(e,t){var a=this;r.fn.init.call(a,e,t),a._wrapper(),a._initSettings(),a._aria(),a._attachEvents(),n.notify(a,n.ui)},_wrapper:function(){var t=this,n=t.options,a=t.element[0],c=e(v({styles:o}));a.type="checkbox",t.wrapper=t.element.wrap(c).parent(),t.wrapper[0].style.cssText=t.element[0].style.cssText,t.wrapper.append(e(m({styles:o,checked:n.messages.checked,unchecked:n.messages.unchecked}))).addClass(a.className).removeClass("input-validation-error")},_attachEvents:function(){var e=this;e.wrapper.on(f,g(e._click,e)).on(w,g(e._touchEnd,e)).on(y,g(e._keydown,e))},setOptions:function(n){var a,c,r=this,i=n.messages;r.options=e.extend(r.options,n),i&&i.checked!==t&&(a=r.wrapper.find("."+o.checkedLabel),a.text(i.checked)),i&&i.unchecked!==t&&(c=r.wrapper.find("."+o.uncheckedLabel),c.text(i.unchecked)),n.width&&r.wrapper.css({width:n.width}),n.enabled!==t&&r.enable(n.enabled),n.readonly!==t&&r.readonly(n.readonly),r.check(n.checked)},_initSettings:function(){var e=this,t=e.element[0],n=e.options;n.enabled&&e._tabindex(),n.width&&e.wrapper.css({width:n.width}),null===n.checked&&(n.checked=t.checked),e.check(n.checked),n.enabled=n.enabled&&!e.element.attr(l),e.enable(n.enabled),n.readonly=n.readonly||!!e.element.attr(h),e.readonly(n.readonly)},_aria:function(){var t,a=this,c=a.element,r=a.wrapper,i=c.attr("id"),s=e('label[for="'+i+'"]'),o=c.attr("aria-label"),l=c.attr("aria-labelledby");o?r.attr("aria-label",o):l?r.attr("aria-labelledby",l):s.length&&(t=s.attr("id"),t||(t=(i||n.guid())+b,s.attr("id",t)),r.attr("aria-labelledby",t))},events:[s],options:{name:"Switch",messages:{checked:"On",unchecked:"Off"},width:null,checked:null,enabled:!0,readonly:!1},check:function(e){var n=this,a=n.element[0];return e===t?a.checked:(a.checked!==e&&(n.options.checked=a.checked=e),n.wrapper.attr(k,e).toggleClass(o.checked,e).toggleClass(o.unchecked,!e),e?n.element.attr(u,u):n.element.prop(u,!1),t)},value:function(e){return"string"==typeof e&&(e="true"===e),this.check.apply(this,[e])},destroy:function(){r.fn.destroy.call(this),this.wrapper.off(c)},toggle:function(){var e=this;e.check(!e.element[0].checked)},enable:function(e){var n=this.element,a=this.wrapper;t===e&&(e=!0),this.options.enabled=e,e?(n.prop(l,!1),a.removeAttr(d)):(n.attr(l,l),a.attr(d,!0)),a.toggleClass(o.disabled,!e)},readonly:function(e){var n=this,a=n.element,c=n.wrapper;t===e&&(e=!0),n.options.readonly=e,e?(a.attr(h,!0),c.attr(p,!0)):(a.prop(h,!1),c.removeAttr(p)),c.toggleClass(o.readonly,e)},_check:function(){var e=this,n=e.element[0].checked=!e.element[0].checked;return e.wrapper.trigger("focus"),!e.options.enabled||e.options.readonly||e.trigger(s,{checked:n})?(e.element[0].checked=!n,t):(e.check(n),t)},_keydown:function(e){e.keyCode===n.keys.SPACEBAR&&(this._check(),e.preventDefault())},_isTouch:function(e){return/touch/.test(e.type)||e.originalEvent&&/touch/.test(e.originalEvent.pointerType)},_click:function(e){this._isTouch(e)||1!==e.which||this._check()},_touchEnd:function(e){this._isTouch(e)&&(this._check(),e.preventDefault())}});a.plugin(_)}(window.kendo.jQuery),window.kendo},n(3))}});