mp-colorui
Version:
MP ColorUI 是一款基于 Taro 框架并且联合 Color-UI CSS 库开发的多端 UI 组件库(支持小程序端和H5端)
394 lines (331 loc) • 21.6 kB
JavaScript
(wx["webpackJsonp"] = wx["webpackJsonp"] || []).push([["components/tabs/index"],{
/***/ "./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js?!./src/components/tabs/index.tsx?taro&type=script&parse=COMPONENT&":
/*!**********************************************************************************************************************************************************!*\
!*** ./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js??ref--4-0!./src/components/tabs/index.tsx?taro&type=script&parse=COMPONENT& ***!
\**********************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _taroWeapp = __webpack_require__(/*! @tarojs/taro-weapp */ "./node_modules/@tarojs/taro-weapp/index.js");
var _taroWeapp2 = _interopRequireDefault(_taroWeapp);
var _model = __webpack_require__(/*! ../../lib/model */ "./src/lib/model.ts");
__webpack_require__(/*! ./index.scss */ "./src/components/tabs/index.scss");
var _index = __webpack_require__(/*! ../../lib/index */ "./src/lib/index.ts");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var move = 0;
var scrollLeftContent = 0;
var duration = 0.3;
var distance = 0;
var ClTabs = function (_BaseComponent) {
_inherits(ClTabs, _BaseComponent);
function ClTabs() {
var _ref;
var _temp, _this, _ret;
_classCallCheck(this, ClTabs);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ClTabs.__proto__ || Object.getPrototypeOf(ClTabs)).call.apply(_ref, [this].concat(args))), _this), _this.$usedState = ["anonymousState__temp2", "anonymousState__temp3", "anonymousState__temp4", "anonymousState__temp", "activeTab", "scrollLeft", "contentScrollLeft", "tabs", "active", "bgColor", "activeColor", "className", "style", "touchMove", "type", "children"], _this.customComponents = [], _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(ClTabs, [{
key: "_constructor",
value: function _constructor() {
_get(ClTabs.prototype.__proto__ || Object.getPrototypeOf(ClTabs.prototype), "_constructor", this).apply(this, arguments);
this.state = {
activeTab: 0,
scrollLeft: 0,
contentScrollLeft: 0
};
this.$$refs = new _taroWeapp2.default.RefsArray();
}
}, {
key: "componentDidMount",
value: function componentDidMount() {
this.props.tabs.length && this.onClickTab(this.props.active || 0);
}
}, {
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps, nextContext) {
var nextActive = nextProps.active;
var thisActive = this.props.active;
if (nextActive !== thisActive) {
this.onClickTab(nextActive || 0);
}
}
}, {
key: "onClickTab",
value: function onClickTab(index) {
var _this2 = this;
var id = this.props.tabs[index].id;
var id0 = this.props.tabs[0].id;
var query = _taroWeapp2.default.createSelectorQuery();
var view = query.select("#" + id);
var view0 = query.select("#" + id0);
var left = 0;
var promise = new Promise(function (resolve) {
new Promise(function (resolve1) {
view0.boundingClientRect().exec(function (res) {
var data = res[0];
left = data.left;
resolve1();
});
}).then(function () {
view.boundingClientRect().exec(function (res) {
var data = res[(0, _index.getRectNumber)()];
if (_index.isAliPay) {
left = data.width * index;
} else {
left = Math.abs(left - data.left);
}
resolve(left);
});
});
});
promise.then(function () {
_this2.setState({
activeTab: index,
scrollLeft: (index - 1) * 60,
contentScrollLeft: left + Math.random() / 10
});
});
this.props.onClick && this.props.onClick(index);
}
}, {
key: "_createDefaultComponentData",
value: function _createDefaultComponentData(_$uid) {
return function (paramters) {
var bgColorClassName = paramters.bgColorClassName,
activeColor = paramters.activeColor,
tabs = paramters.tabs,
activeTab = paramters.activeTab,
scrollLeft = paramters.scrollLeft;
return {
bgColorClassName: bgColorClassName,
scrollLeft: scrollLeft,
activeTab: activeTab,
activeColor: activeColor,
tabs: tabs
};
};
}
}, {
key: "_createVerbComponentData",
value: function _createVerbComponentData(_$uid) {
return function (paramters) {
var bgColorClassName = paramters.bgColorClassName,
activeColor = paramters.activeColor,
tabs = paramters.tabs,
activeTab = paramters.activeTab;
return {
bgColorClassName: bgColorClassName,
activeTab: activeTab,
activeColor: activeColor,
tabs: tabs
};
};
}
}, {
key: "_createCenterComponentData",
value: function _createCenterComponentData(_$uid) {
return function (paramters) {
var bgColorClassName = paramters.bgColorClassName,
activeColor = paramters.activeColor,
tabs = paramters.tabs,
activeTab = paramters.activeTab;
return {
bgColorClassName: bgColorClassName,
activeTab: activeTab,
activeColor: activeColor,
tabs: tabs
};
};
}
}, {
key: "_createData",
value: function _createData() {
var _this3 = this;
this.__state = arguments[0] || this.state || {};
this.__props = arguments[1] || this.props || {};
var __isRunloopRef = arguments[2];
var __prefix = this.$prefix;
;
var contentScrollLeft = this.__state.contentScrollLeft;
var bgColorClassName = this.__props.bgColor ? _model.BG_COLOR_LIST[this.__props.bgColor] : "";
var activeColor = this.__props.activeColor ? _model.TEXT_COLOR_LIST[this.__props.activeColor] : "";
// 空组件镇压邪魔
var renderClosureComponent = function renderClosureComponent(_$uid) {
return function () {
var _$_$anonymousState__temp, _$_$anonymousState__temp2, _$_$anonymousState__temp3;
var _props = _this3.props,
type = _props.type,
tabs = _props.tabs;
var _state = _this3.state,
activeTab = _state.activeTab,
scrollLeft = _state.scrollLeft;
var defaultParameter = {
bgColorClassName: bgColorClassName,
activeColor: activeColor,
tabs: tabs,
activeTab: activeTab,
scrollLeft: scrollLeft
};
if (type === "default") {
_$_$anonymousState__temp = undefined;
_$_$anonymousState__temp = _this3._createDefaultComponentData(_$uid + "bidzzzzzzz")(defaultParameter);
} else if (type === "verb") {
_$_$anonymousState__temp2 = undefined;
_$_$anonymousState__temp2 = _this3._createVerbComponentData(_$uid + "biezzzzzzz")(defaultParameter);
} else if (type === "center") {
_$_$anonymousState__temp3 = undefined;
_$_$anonymousState__temp3 = _this3._createCenterComponentData(_$uid + "bifzzzzzzz")(defaultParameter);
} else {}
return {
type: type,
_$_$anonymousState__temp: _$_$anonymousState__temp,
_$_$anonymousState__temp2: _$_$anonymousState__temp2,
_$_$anonymousState__temp3: _$_$anonymousState__temp3
};
};
};
var anonymousState__temp = renderClosureComponent(__prefix + "biczzzzzzz")();
var anonymousState__temp2 = (0, _index.classNames)(this.__props.className);
var anonymousState__temp3 = (0, _taroWeapp.internal_inline_style)(Object.assign({ overflow: "hidden" }, this.__props.style));
var anonymousState__temp4 = (0, _taroWeapp.internal_inline_style)({
width: "auto",
transform: "translateX(-" + (0, _taroWeapp.pxTransform)(contentScrollLeft / _index.screenPercent) + ")",
transitionDuration: duration + "s"
});
this.anonymousFunc0 = function (e) {
if (!_this3.__props.touchMove) {
return;
}scrollLeftContent = 0;
duration = 0;
move = e.touches[0].pageX;
};
this.anonymousFunc1 = function (e) {
if (!_this3.__props.touchMove) {
return;
}if (scrollLeftContent === 0) {
scrollLeftContent = e.touches[0].pageX;
}distance = e.touches[0].pageX - scrollLeftContent;
_this3.setState({
contentScrollLeft: contentScrollLeft - distance
});
scrollLeftContent = e.touches[0].pageX;
};
this.anonymousFunc2 = function (e) {
if (!_this3.__props.touchMove) {
return;
}duration = 0.3;
move = e.changedTouches[0].pageX - move;
var maxIndex = _this3.__props.tabs.length - 1;
if (move < -50) {
_this3.onClickTab(_this3.__state.activeTab + 1 > maxIndex ? maxIndex : _this3.__state.activeTab + 1);
} else if (move > 50) {
_this3.onClickTab(_this3.__state.activeTab - 1);
} else _this3.onClickTab(_this3.__state.activeTab);
};
Object.assign(this.__state, {
anonymousState__temp2: anonymousState__temp2,
anonymousState__temp3: anonymousState__temp3,
anonymousState__temp4: anonymousState__temp4,
anonymousState__temp: anonymousState__temp
});
return this.__state;
}
}, {
key: "anonymousFunc0",
value: function anonymousFunc0(e) {
;
}
}, {
key: "anonymousFunc1",
value: function anonymousFunc1(e) {
;
}
}, {
key: "anonymousFunc2",
value: function anonymousFunc2(e) {
;
}
}]);
return ClTabs;
}(_taroWeapp.Component);
ClTabs.$$events = ["onClickTab", "onClickTab", "onClickTab", "anonymousFunc0", "anonymousFunc1", "anonymousFunc2"];
ClTabs.$$componentPath = "components/tabs/index";
ClTabs.options = {
addGlobalClass: true
};
ClTabs.defaultProps = {
type: "default",
bgColor: undefined,
activeColor: "black",
active: 0,
tabs: [],
touchMove: false
};
exports.default = ClTabs;
Component(__webpack_require__(/*! @tarojs/taro-weapp */ "./node_modules/@tarojs/taro-weapp/index.js").default.createComponent(ClTabs));
/***/ }),
/***/ "./node_modules/file-loader/dist/cjs.js?name=[path][name].wxml&context=/Users/jinbai/Documents/develop/github/mp-colorui-old/mp-colorui/src!./node_modules/@tarojs/mini-runner/dist/loaders/miniTemplateLoader.js!./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js?!./src/components/tabs/index.tsx?taro&type=template&parse=COMPONENT&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/file-loader/dist/cjs.js?name=[path][name].wxml&context=/Users/jinbai/Documents/develop/github/mp-colorui-old/mp-colorui/src!./node_modules/@tarojs/mini-runner/dist/loaders/miniTemplateLoader.js!./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js??ref--4-0!./src/components/tabs/index.tsx?taro&type=template&parse=COMPONENT& ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "components/tabs/index.wxml";
/***/ }),
/***/ "./src/components/tabs/index.scss":
/*!****************************************!*\
!*** ./src/components/tabs/index.scss ***!
\****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./src/components/tabs/index.tsx":
/*!***************************************!*\
!*** ./src/components/tabs/index.tsx ***!
\***************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.tsx?taro&type=template&parse=COMPONENT& */ "./src/components/tabs/index.tsx?taro&type=template&parse=COMPONENT&");
/* harmony import */ var _index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.tsx?taro&type=script&parse=COMPONENT& */ "./src/components/tabs/index.tsx?taro&type=script&parse=COMPONENT&");
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/***/ "./src/components/tabs/index.tsx?taro&type=script&parse=COMPONENT&":
/*!*************************************************************************!*\
!*** ./src/components/tabs/index.tsx?taro&type=script&parse=COMPONENT& ***!
\*************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js??ref--4-0!./index.tsx?taro&type=script&parse=COMPONENT& */ "./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js?!./src/components/tabs/index.tsx?taro&type=script&parse=COMPONENT&");
/* harmony import */ var _node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_script_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ "./src/components/tabs/index.tsx?taro&type=template&parse=COMPONENT&":
/*!***************************************************************************!*\
!*** ./src/components/tabs/index.tsx?taro&type=template&parse=COMPONENT& ***!
\***************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_file_loader_dist_cjs_js_name_path_name_wxml_context_Users_jinbai_Documents_develop_github_mp_colorui_old_mp_colorui_src_node_modules_tarojs_mini_runner_dist_loaders_miniTemplateLoader_js_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/file-loader/dist/cjs.js?name=[path][name].wxml&context=/Users/jinbai/Documents/develop/github/mp-colorui-old/mp-colorui/src!../../../node_modules/@tarojs/mini-runner/dist/loaders/miniTemplateLoader.js!../../../node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js??ref--4-0!./index.tsx?taro&type=template&parse=COMPONENT& */ "./node_modules/file-loader/dist/cjs.js?name=[path][name].wxml&context=/Users/jinbai/Documents/develop/github/mp-colorui-old/mp-colorui/src!./node_modules/@tarojs/mini-runner/dist/loaders/miniTemplateLoader.js!./node_modules/@tarojs/mini-runner/dist/loaders/wxTransformerLoader.js?!./src/components/tabs/index.tsx?taro&type=template&parse=COMPONENT&");
/* harmony import */ var _node_modules_file_loader_dist_cjs_js_name_path_name_wxml_context_Users_jinbai_Documents_develop_github_mp_colorui_old_mp_colorui_src_node_modules_tarojs_mini_runner_dist_loaders_miniTemplateLoader_js_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_file_loader_dist_cjs_js_name_path_name_wxml_context_Users_jinbai_Documents_develop_github_mp_colorui_old_mp_colorui_src_node_modules_tarojs_mini_runner_dist_loaders_miniTemplateLoader_js_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_file_loader_dist_cjs_js_name_path_name_wxml_context_Users_jinbai_Documents_develop_github_mp_colorui_old_mp_colorui_src_node_modules_tarojs_mini_runner_dist_loaders_miniTemplateLoader_js_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_file_loader_dist_cjs_js_name_path_name_wxml_context_Users_jinbai_Documents_develop_github_mp_colorui_old_mp_colorui_src_node_modules_tarojs_mini_runner_dist_loaders_miniTemplateLoader_js_node_modules_tarojs_mini_runner_dist_loaders_wxTransformerLoader_js_ref_4_0_index_tsx_taro_type_template_parse_COMPONENT___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ })
},[["./src/components/tabs/index.tsx","runtime","taro","vendors","common"]]]);