UNPKG

@ctmobile/ui-cascadecompared

Version:

支持移动端的UI组件-CascadeCompared

3 lines (2 loc) 5.84 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")),_createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass")),_jquery=_interopRequireDefault(require("jquery")),_iscrollProbe=_interopRequireDefault(require("iscroll/build/iscroll-probe")),_uiStickuplayout=_interopRequireDefault(require("@ctmobile/ui-stickuplayout")),SELECTORS={column:".ct-cascadecompared-indicator > .ct-cascadecompared-autoWrap > .ct-cascadecompared-item > .ct-cascadecompared-cell",indicatorFixedWrap:".ct-cascadecompared-indicator > .ct-cascadecompared-fixedWrap",indicatorAutoWrap:".ct-cascadecompared-indicator > .ct-cascadecompared-autoWrap",masterFixedWrap:".ct-cascadecompared-master > .ct-cascadecompared-master-inner > .ct-stickuplayout-inner > .ct-stickuplayout-item > .ct-stickuplayout-item-content > .ct-cascadecompared-fixedWrap",masterAutoWrap:".ct-cascadecompared-master > .ct-cascadecompared-master-inner > .ct-stickuplayout-inner > .ct-stickuplayout-item > .ct-stickuplayout-item-content > .ct-cascadecompared-autoWrap",indicatorFirstCell:".ct-cascadecompared-indicator > .ct-cascadecompared-fixedWrap > .ct-cascadecompared-item > .ct-cascadecompared-cell",indicatorCellOfType:function(e){return".ct-cascadecompared-indicator > .ct-cascadecompared-autoWrap > .ct-cascadecompared-item > .ct-cascadecompared-cell:nth-of-type(".concat(e,")")},masterCellOfType:function(e){return".ct-cascadecompared-master > .ct-cascadecompared-master-inner > .ct-stickuplayout-inner > .ct-stickuplayout-item > .ct-stickuplayout-item-content > .ct-cascadecompared-autoWrap .ct-cascadecompared-item > .ct-cascadecompared-cell:nth-of-type(".concat(e,")")},row:".ct-cascadecompared-master > .ct-cascadecompared-master-inner > .ct-stickuplayout-inner > .ct-stickuplayout-item > .ct-stickuplayout-item-content > .ct-cascadecompared-fixedWrap > .ct-cascadecompared-item",indicator:"ct-cascadecompared-indicator",masterFixedWrapRow:".ct-cascadecompared-master > .ct-cascadecompared-master-inner > .ct-stickuplayout-inner > .ct-stickuplayout-item > .ct-stickuplayout-item-content > .ct-cascadecompared-fixedWrap > .ct-cascadecompared-item",masterAutoWrapRow:".ct-cascadecompared-master > .ct-cascadecompared-master-inner > .ct-stickuplayout-inner > .ct-stickuplayout-item > .ct-stickuplayout-item-content > .ct-cascadecompared-autoWrap > .ct-cascadecompared-autoInner > .ct-cascadecompared-item"};function isAuto(e){return!e||"undefined"===e||null===e||""===e||"auto"===e}function initScroll(){var t=this;this.wrapEls=this.el.querySelectorAll(".ct-cascadecompared-autoWrap");for(var e=0;e<this.scrolls.length;e++)this.scrolls[e].destroy();this.scrolls=[];for(var c=0;c<this.wrapEls.length;c++){var a=new _iscrollProbe.default(this.wrapEls[c],{probeType:3,eventPassthrough:!0,scrollX:!0,scrollY:!1,preventDefault:!1});this.scrolls.push(a),a.on("scroll",function(){for(var e=0;e<t.scrolls.length;e++)t.scrolls[e]!==this&&t.scrolls[e].scrollTo(this.x,this.y)}),a.on("scrollEnd",function(){t.stickup.events.scrollEnd&&t.stickup.events.scrollEnd()})}}function initial(){this.scrolls=[],initDimension.call(this),this.stickup=(0,_uiStickuplayout.default)(this.el),initScroll.call(this)}function initDimension(){for(var e=this.config,t=e.columnsWidth,c=void 0===t?[]:t,a=e.rowsHeight,r=void 0===a?[]:a,i=this.el.querySelectorAll(SELECTORS.column).length,s=0;s<i+1;s++){var o=void 0;0===s?(isAuto(c[0])||(o=c[0]),this.$el.find(SELECTORS.indicatorFixedWrap).css("width","".concat(parseInt(o),"px")),this.$el.find(SELECTORS.indicatorAutoWrap).css("margin-left","".concat(parseInt(o),"px")),this.$el.find(SELECTORS.masterFixedWrap).css("width","".concat(parseInt(o),"px")),this.$el.find(SELECTORS.masterAutoWrap).css("margin-left","".concat(parseInt(o),"px"))):(isAuto(c[s])||(o=c[s]),this.$el.find(SELECTORS.indicatorCellOfType(s)).css("width","".concat(parseInt(o),"px")),this.$el.find(SELECTORS.masterCellOfType(s)).css("width","".concat(parseInt(o),"px")))}for(var l=this.$el.find(SELECTORS.row).length,n=0;n<l+1;n++){var d=void 0;0===n?(isAuto(r[0])||(d=r[0]),this.$el.find(SELECTORS.indicator).css("height","".concat(parseInt(d),"px"))):(isAuto(r[n])||(d=r[n]),this.$el.find(SELECTORS.masterFixedWrapRow).eq(n-1).css("height","".concat(d,"px")),this.$el.find(SELECTORS.masterAutoWrapRow).eq(n-1).css("height","".concat(d,"px")))}}var CascadeCompared=function(){function c(e,t){(0,_classCallCheck2.default)(this,c),this.el=e,this.$el=(0,_jquery.default)(this.el),this.config=JSON.parse(JSON.stringify(t)),initial.call(this)}return(0,_createClass2.default)(c,[{key:"scrollToByIndex",value:function(e,t){var c=1<arguments.length&&void 0!==t?t:300;this.stickup.scrollToByIndex(e,c)}},{key:"scrollToByHeaderEl",value:function(e,t){var c=1<arguments.length&&void 0!==t?t:300;this.stickup.scrollToByHeaderEl(e,c)}},{key:"scrollToByColumn",value:function(e){var t=this.scrolls[0];t.scrollToElement((0,_jquery.default)(t.wrapper).find(".ct-cascadecompared-item .ct-cascadecompared-cell:nth-of-type(".concat(e,")"))[0])}},{key:"refresh",value:function(){initDimension.call(this),initScroll.call(this),this.stickup.refresh()}},{key:"on",value:function(e,t){this.stickup.on(e,t)}}]),c}(),CascadeComparedFactory={initTouch:function(){document.addEventListener("touchmove",function(e){e.preventDefault()},!!function(){var e=!1;try{addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){e=!0}}))}catch(e){}return e}()&&{capture:!1,passive:!1})},create:function(e,t){return new CascadeCompared(e,1<arguments.length&&void 0!==t?t:{})}},_default=CascadeComparedFactory;exports.default=_default; //# sourceMappingURL=cascadecompared.js.map