UNPKG

zmp-core

Version:

Full featured mobile HTML framework for building iOS & Android apps

2 lines (1 loc) 4.75 kB
(function zmpComponentLoader(e,t){void 0===t&&(t=!0);var o=e.$,n=e.utils,r=(e.getDevice,e.getSupport),i=e.Class,a=(e.Modal,e.ConstructorMethods);e.ModalMethods;function c(e){this.wrapped=e}function s(e){var t,o;function n(t,o){try{var i=e[t](o),a=i.value,s=a instanceof c;Promise.resolve(s?a.wrapped:a).then((function(e){s?n("return"===t?"return":"next",e):r(i.done?"return":"normal",e)}),(function(e){n("throw",e)}))}catch(e){r("throw",e)}}function r(e,r){switch(e){case"return":t.resolve({value:r,done:!0});break;case"throw":t.reject(r);break;default:t.resolve({value:r,done:!1})}(t=t.next)?n(t.key,t.arg):o=null}this._invoke=function(e,r){return new Promise((function(i,a){var c={key:e,arg:r,resolve:i,reject:a,next:null};o?o=o.next=c:(t=o=c,n(e,r))}))},"function"!=typeof e.return&&(this.return=void 0)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}s.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},s.prototype.next=function(e){return this._invoke("next",e)},s.prototype.throw=function(e){return this._invoke("throw",e)},s.prototype.return=function(e){return this._invoke("return",e)};var g=n.extend,p=n.now,f=n.nextTick,h=n.deleteProps,d=function(e){var t,n;function i(t,n){var i;void 0===n&&(n={});var a=l(i=e.call(this,n,[t])||this),c=r(),s={};a.useModulesParams(s),a.params=g(s,n);var u=a.params.el;if(!u)return a||l(i);var h=o(u);if(0===h.length)return a||l(i);if(h[0].zmpToggle)return h[0].zmpToggle||l(i);var d,v=h.children('input[type="checkbox"]');g(a,{app:t,$el:h,el:h[0],$inputEl:v,inputEl:v[0],disabled:h.hasClass("disabled")||v.hasClass("disabled")||v.attr("disabled")||v[0].disabled}),Object.defineProperty(a,"checked",{enumerable:!0,configurable:!0,set:function(e){a&&void 0!==a.$inputEl&&a.checked!==e&&(v[0].checked=e,a.$inputEl.trigger("change"))},get:function(){return v[0].checked}}),h[0].zmpToggle=a;var m,y,b,k,T,x={};function E(e){d||a.disabled||(x.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,x.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,y=0,d=!0,m=void 0,k=p(),T=a.checked,b=h[0].offsetWidth,f((function(){d&&h.addClass("toggle-active-state")})))}function M(e){if(d&&!a.disabled){var o,n="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,r="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,i=t.rtl?-1:1;if(void 0===m&&(m=!!(m||Math.abs(r-x.y)>Math.abs(n-x.x))),m)d=!1;else e.preventDefault(),(y=n-x.x)*i<0&&Math.abs(y)>b/3&&T&&(o=!0),y*i>0&&Math.abs(y)>b/3&&!T&&(o=!0),o&&(x.x=n,a.checked=!T,T=!T)}}function w(){if(!d||a.disabled)return m&&h.removeClass("toggle-active-state"),void(d=!1);var e,o=t.rtl?-1:1;d=!1,h.removeClass("toggle-active-state"),p()-k<300&&(y*o<0&&T&&(e=!0),y*o>0&&!T&&(e=!0),e&&(a.checked=!T))}function z(){a.$el.trigger("toggle:change"),a.emit("local::change toggleChange",a)}return a.attachEvents=function(){var e=!!c.passiveListener&&{passive:!0};h.on(t.touchEvents.start,E,e),t.on("touchmove",M),t.on("touchend:passive",w),a.$inputEl.on("change",z)},a.detachEvents=function(){var e=!!c.passiveListener&&{passive:!0};h.off(t.touchEvents.start,E,e),t.off("touchmove",M),t.off("touchend:passive",w),a.$inputEl.off("change",z)},a.useModules(),a.init(),i}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,u(t,n);var a=i.prototype;return a.toggle=function(){this.checked=!this.checked},a.init=function(){this.attachEvents()},a.destroy=function(){var e=this;e.$el.trigger("toggle:beforedestroy"),e.emit("local::beforeDestroy toggleBeforeDestroy",e),delete e.$el[0].zmpToggle,e.detachEvents(),h(e),e=null},i}(i),v={name:"toggle",create:function(){this.toggle=a({defaultSelector:".toggle",constructor:d,app:this,domProp:"zmpToggle"})},static:{Toggle:d},on:{tabMounted:function(e){var t=this;o(e).find(".toggle-init").each((function(e){return t.toggle.create({el:e})}))},tabBeforeRemove:function(e){o(e).find(".toggle-init").each((function(e){e.zmpToggle&&e.zmpToggle.destroy()}))},pageInit:function(e){var t=this;e.$el.find(".toggle-init").each((function(e){return t.toggle.create({el:e})}))},pageBeforeRemove:function(e){e.$el.find(".toggle-init").each((function(e){e.zmpToggle&&e.zmpToggle.destroy()}))}},vnode:{"toggle-init":{insert:function(e){var t=e.elm;this.toggle.create({el:t})},destroy:function(e){var t=e.elm;t.zmpToggle&&t.zmpToggle.destroy()}}}};if(t){if(e.prototype.modules&&e.prototype.modules[v.name])return;e.use(v),e.instance&&(e.instance.useModuleParams(v,e.instance.params),e.instance.useModule(v))}return v}(ZMP, typeof ZMPAutoInstallComponent === 'undefined' ? undefined : ZMPAutoInstallComponent))