@aiot-toolkit/velasim
Version:
vela for sim
708 lines (663 loc) • 23.2 kB
JavaScript
export default function(global, globalThis, window, $app_exports$){
globalThis = undefined;
global = typeof window === "undefined" ? global.__proto__ : window ;
var createPageHandler = function() {
return /******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/script-loader.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/module-loader.js!./node_modules/babel-loader/lib/index.js?cwd=/home/zhoubingqing/workspace/vela/vela-demo-quality&cacheDirectory&plugins[]=/home/zhoubingqing/workspace/vela/vela-demo-quality/node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/babel-plugin-jsx.js&comments=false&configFile=/home/zhoubingqing/workspace/vela/vela-demo-quality/node_modules/@aiot-toolkit/packager/babel.config.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/access-loader.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=script!./node_modules/@aiot-toolkit/packager/lib/loaders/inject-suite-loader.js?hookName=onReady!./src/widgets/list/origin/index.ux?uxType=page":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/script-loader.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/module-loader.js!./node_modules/babel-loader/lib/index.js?cwd=/home/zhoubingqing/workspace/vela/vela-demo-quality&cacheDirectory&plugins[]=/home/zhoubingqing/workspace/vela/vela-demo-quality/node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/babel-plugin-jsx.js&comments=false&configFile=/home/zhoubingqing/workspace/vela/vela-demo-quality/node_modules/@aiot-toolkit/packager/babel.config.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/access-loader.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=script!./node_modules/@aiot-toolkit/packager/lib/loaders/inject-suite-loader.js?hookName=onReady!./src/widgets/list/origin/index.ux?uxType=page ***!
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
module.exports = function __scriptModule__ (module, exports, $app_require$){"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _index = _interopRequireDefault2(__webpack_require__(/*! ./test/widgets/list/origin/index.js */ "./test/widgets/list/origin/index.js"));
function _interopRequireDefault2(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = {
private: {
flexDir: 'column',
list: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N'],
evtParam: '',
evtScroll: {}
},
onInit() {
this.$page.setTitleBar({
text: 'list'
});
},
changeFlexDirection() {
if (this.flexDir == 'column') {
this.flexDir = 'row';
} else {
this.flexDir = 'column';
}
},
scrollHandler(evt) {
this.evtScroll = evt;
console.info(`X: ${evt.scrollX}, Y: ${evt.scrollY}`);
},
scrollbottomHandler() {
this.evtParam = '列表滑动到底部';
},
scrolltopHandler() {
this.evtParam = '列表滑动到顶部';
},
scrollendHandler() {
this.evtParam = '列表滑动结束';
},
scrolltouchupHandle() {
this.evtParam = '列表滑动过程中手指抬起';
},
onReady() {
this.$options = this._options || this.$options;
if (this.$options._descriptor) {
this.$options._descriptor['back'] = {
access: 'public'
};
}
__webpack_require__.g.CASE_TEST_START = __webpack_require__.g.CASE_TEST_START || 1000;
__webpack_require__.g.CASE_TEST_TIMEOUT = __webpack_require__.g.CASE_TEST_TIMEOUT || 2000;
__webpack_require__.g.mocha = new Mocha({
reporter: 'json',
timeout: __webpack_require__.g.CASE_TEST_TIMEOUT
});
mocha.ui('bdd');
mocha.suite.emit('pre-require', __webpack_require__.g, null, mocha);
setTimeout(() => {
typeof _index.default === 'function' && (0, _index.default)(this);
const mochaRunner = mocha.run(() => {
if (mochaRunner) {
mochaRunner.testResults.stats.title = mocha.suite.suites && mocha.suite.suites[0] && mocha.suite.suites[0].title;
console.info('testResults: ', JSON.stringify(mochaRunner.testResults));
pushData('pageTestList', mochaRunner.testResults);
const stats = mochaRunner.testResults.stats;
}
if (this.back !== 'false') {
console.info('拥有关联测试用例,测试完毕,返回到之前的页面');
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
var _system = _interopRequireDefault($app_require$('@app-module/system.router'));
_system.default.back();
}
});
}, __webpack_require__.g.CASE_TEST_START);
}
};
exports.default = _default;
const moduleOwn = exports.default || module.exports;
const accessors = ['public', 'protected', 'private'];
if (moduleOwn.data && accessors.some(function (acc) {
return moduleOwn[acc];
})) {
throw new Error('页面VM对象中的属性data不可与"' + accessors.join(',') + '"同时存在,请使用private替换data名称');
} else if (!moduleOwn.data) {
moduleOwn.data = {};
moduleOwn._descriptor = {};
accessors.forEach(function (acc) {
const accType = typeof moduleOwn[acc];
if (accType === 'object') {
moduleOwn.data = Object.assign(moduleOwn.data, moduleOwn[acc]);
for (const name in moduleOwn[acc]) {
moduleOwn._descriptor[name] = {
access: acc
};
}
} else if (accType === 'function') {
console.warn('页面VM对象中的属性' + acc + '的值不能是函数,请使用对象');
}
});
}}
/***/ }),
/***/ "./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/style-loader.js?index=0&type=style!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=style!./src/widgets/list/origin/index.ux?uxType=page":
/*!*********************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/style-loader.js?index=0&type=style!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=style!./src/widgets/list/origin/index.ux?uxType=page ***!
\*********************************************************************************************************************************************************************************************************************************/
/***/ ((module) => {
module.exports = [
[
[
[
0,
"hap-page"
]
],
{
"flexDirection": "column",
"flex": 1,
"backgroundColor": "#fbf9fe"
}
],
[
[
[
0,
"hap-comp"
]
],
{
"flexDirection": "column",
"flex": 1,
"backgroundColor": "#fbf9fe"
}
],
[
[
[
0,
"hap-row"
]
],
{
"flexDirection": "column",
"borderTopWidth": "1px",
"borderTopColor": "rgb(187,187,187)"
}
],
[
[
[
0,
"hap-row-inline"
]
],
{
"borderTopWidth": "1px",
"borderTopColor": "rgb(187,187,187)"
}
],
[
[
[
0,
"hap-row-desc"
]
],
{
"color": "#3d3d3f",
"paddingTop": "10px",
"paddingRight": "0px",
"paddingBottom": "10px",
"paddingLeft": "20px",
"backgroundColor": "#f1ebeb"
}
],
[
[
[
0,
"hap-row-desc-inline"
]
],
{
"color": "#3d3d3f",
"paddingTop": "10px",
"paddingRight": "0px",
"paddingBottom": "10px",
"paddingLeft": "20px",
"backgroundColor": "#f1ebeb",
"width": "300px"
}
],
[
[
[
0,
"hap-row-container"
]
],
{
"marginTop": "50px",
"marginRight": "60px",
"marginBottom": "50px",
"marginLeft": "60px",
"flexDirection": "column"
}
],
[
[
[
0,
"hap-row-content"
]
],
{
"flexDirection": "column",
"backgroundColor": "#ffffff",
"paddingTop": "30px",
"paddingRight": "30px",
"paddingBottom": "30px",
"paddingLeft": "30px",
"marginBottom": "50px"
}
],
[
[
[
0,
"btn-l"
]
],
{
"height": "80px",
"textAlign": "center",
"marginTop": "50px",
"marginRight": "0px",
"marginBottom": "50px",
"marginLeft": "0px",
"color": "#ffffff",
"fontSize": "30px",
"backgroundColor": "#0faeff"
}
],
[
[
[
0,
"btn-m"
]
],
{
"height": "80px",
"textAlign": "center",
"borderRadius": "5px",
"marginTop": "50px",
"marginRight": "30px",
"marginBottom": "50px",
"marginLeft": "30px",
"color": "#ffffff",
"fontSize": "30px",
"backgroundColor": "#0faeff"
}
],
[
[
[
0,
"btn-s"
]
],
{
"height": "80px",
"textAlign": "center",
"borderRadius": "5px",
"marginTop": "50px",
"marginRight": "100px",
"marginBottom": "50px",
"marginLeft": "100px",
"color": "#ffffff",
"fontSize": "30px",
"backgroundColor": "#0faeff"
}
],
[
[
[
0,
"hap-row-content"
],
[
0,
"btn-s"
]
],
{
"height": "80px",
"textAlign": "center",
"borderRadius": "5px",
"marginTop": "50px",
"marginRight": "100px",
"marginBottom": "50px",
"marginLeft": "100px",
"color": "#ffffff",
"fontSize": "30px",
"backgroundColor": "#0faeff"
}
],
[
[
[
0,
"flex-dir-col"
]
],
{
"flexDirection": "column"
}
],
[
[
[
0,
"flex-dir-row"
]
],
{
"flexDirection": "row"
}
],
[
[
[
0,
"hap-m-r-20"
]
],
{
"marginRight": "20px"
}
],
[
[
[
0,
"flex-row"
]
],
{
"columns": 13,
"flexDirection": "row"
}
],
[
[
[
0,
"flex-column"
]
],
{
"flexDirection": "column"
}
],
[
[
[
0,
"flex2-row"
]
],
{
"columnSpan": 13
}
],
[
[
[
0,
"flex2-column"
]
],
{
"columnSpan": 1
}
],
[
[
[
0,
"text-column"
]
],
{
"flexGrow": 0,
"width": "100%",
"height": "100px",
"textAlign": "center",
"backgroundColor": "#FF0000",
"marginTop": "10px"
}
],
[
[
[
0,
"text-row"
]
],
{
"flexGrow": 0,
"width": "100px",
"textAlign": "center",
"backgroundColor": "#FF0000",
"marginLeft": "10px"
}
]
]
/***/ }),
/***/ "./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/template-loader.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=template!./src/widgets/list/origin/index.ux?uxType=page&":
/*!*********************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/template-loader.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=template!./src/widgets/list/origin/index.ux?uxType=page& ***!
\*********************************************************************************************************************************************************************************************************************/
/***/ ((module) => {
module.exports = function (vm) {
const _vm_ = vm || this
return aiot.__ce__("div", {
"classList": [
"hap-page"
]
}, [
aiot.__ce__("div", {
"classList": [
"hap-row"
]
}, [
aiot.__ce__("text", {
"classList": [
"hap-row-desc"
],
"value": "flex-direction:row-reverse"
}),
aiot.__ce__("list", {
"id": "uiParent1",
"style": {
"flexDirection": "row-reverse"
}
}, [
aiot.__ce__("list-item", {
"type": "itemRow"
}, [
aiot.__ce__("text", {
"classList": [
"text-row"
],
"value": "A"
})
]),
aiot.__ce__("list-item", {
"type": "itemRow"
}, [
aiot.__ce__("text", {
"classList": [
"text-row"
],
"value": "B"
})
]),
aiot.__ce__("list-item", {
"type": "itemRow"
}, [
aiot.__ce__("text", {
"classList": [
"text-row"
],
"value": "C"
})
])
])
]),
aiot.__ce__("div", {
"classList": [
"hap-row"
]
}, [
aiot.__ce__("text", {
"classList": [
"hap-row-desc"
],
"value": function () {return '' + 'flex-direction:' + (_vm_.flexDir)}
}),
aiot.__ce__("input", {
"id": "changeFlexDirection",
"type": "button",
"value": "改变flex-direction",
"classList": [
"btn-m"
],
"events": {
"click": function (evt) {_vm_.changeFlexDirection(evt)}
}
}),
aiot.__ce__("list", {
"id": "uiParent2",
"classList": function () {return ['' + 'flex-' + (_vm_.flexDir)]},
"events": {
"scroll": function (evt) {_vm_.scrollHandler(evt)},
"scrollbottom": function (evt) {_vm_.scrollbottomHandler(evt)},
"scrolltop": function (evt) {_vm_.scrolltopHandler(evt)},
"scrollend": function (evt) {_vm_.scrollendHandler(evt)},
"scrolltouchup": function (evt) {_vm_.scrolltouchupHandle(evt)}
}
}, [
aiot.__cf__({
exp: function () {return _vm_.list}
},
function ($idx, $item) {
return aiot.__ce__("list-item", {
"type": function () {return '' + 'item' + (_vm_.flexDir)},
"classList": function () {return ['' + 'flex2-' + (_vm_.flexDir)]}
}, [
aiot.__ce__("text", {
"classList": function () {return ['' + 'text-' + (_vm_.flexDir)]},
"value": function () {return $item}
})
])})
])
])
])
}
/***/ }),
/***/ "./src/widgets/list/origin/index.ux?uxType=page":
/*!******************************************************!*\
!*** ./src/widgets/list/origin/index.ux?uxType=page ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
var $app_style$ = __webpack_require__(/*! !../../../../node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/style-loader.js?index=0&type=style!../../../../node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=style!./index.ux?uxType=page */ "./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/style-loader.js?index=0&type=style!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=style!./src/widgets/list/origin/index.ux?uxType=page")
var $app_script$ = __webpack_require__(/*! !../../../../node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/script-loader.js!../../../../node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/module-loader.js!../../../../node_modules/babel-loader/lib/index.js?cwd=/home/zhoubingqing/workspace/vela/vela-demo-quality&cacheDirectory&plugins[]=/home/zhoubingqing/workspace/vela/vela-demo-quality/node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/babel-plugin-jsx.js&comments=false&configFile=/home/zhoubingqing/workspace/vela/vela-demo-quality/node_modules/@aiot-toolkit/packager/babel.config.js!../../../../node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/access-loader.js!../../../../node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=script!../../../../node_modules/@aiot-toolkit/packager/lib/loaders/inject-suite-loader.js?hookName=onReady!./index.ux?uxType=page */ "./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/script-loader.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/module-loader.js!./node_modules/babel-loader/lib/index.js?cwd=/home/zhoubingqing/workspace/vela/vela-demo-quality&cacheDirectory&plugins[]=/home/zhoubingqing/workspace/vela/vela-demo-quality/node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/babel-plugin-jsx.js&comments=false&configFile=/home/zhoubingqing/workspace/vela/vela-demo-quality/node_modules/@aiot-toolkit/packager/babel.config.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/access-loader.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=script!./node_modules/@aiot-toolkit/packager/lib/loaders/inject-suite-loader.js?hookName=onReady!./src/widgets/list/origin/index.ux?uxType=page")
var $app_template$ = __webpack_require__(/*! !../../../../node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/template-loader.js!../../../../node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=template!./index.ux?uxType=page& */ "./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/template-loader.js!./node_modules/@aiot-toolkit/dsl-xvm/lib/loaders/fragment-loader.js?index=0&type=template!./src/widgets/list/origin/index.ux?uxType=page&")
$app_script$({}, $app_exports$, $app_require$);
$app_exports$.default.template = $app_template$;
$app_exports$.default.style = $app_style$;
module.exports = $app_exports$.default;
/***/ }),
/***/ "./test/widgets/list/origin/index.js":
/*!*******************************************!*\
!*** ./test/widgets/list/origin/index.js ***!
\*******************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.default = _default;
/**
* 测试脚本
* @desc
* @see {@link http://chaijs.com/api/bdd/} chai断言
* @param vm 页面对应的ViewModel
* @desc 断言函数调用时必须传递第三个参数,说明断言业务意义
*/
function _default(vm) {
describe('组件list', function () {
it('默认:子组件类型', function () {
const elNode = vm.$element('uiParent1');
const uiNode1 = normalize(nodeAttr(elNode.childNodes[0]));
const uiNode2 = normalize(nodeAttr(elNode.childNodes[1]));
const uiNode3 = normalize(nodeAttr(elNode.childNodes[2]));
assert.strictEqual(uiNode1.type, 'itemRow', 'type正确');
assert.strictEqual(uiNode2.type, uiNode3.type, 'type正确');
});
it('设置的属性,样式在VDOM生效', async function () {
const elNode = vm.$element('uiParent2');
const uiNode1 = normalize(nodeStyle(elNode));
const uiNode2 = normalize(nodeAttr(elNode.childNodes[0]));
const uiNode3 = normalize(nodeAttr(elNode.childNodes[1]));
assert.strictEqual(uiNode1.flexDirection, 'column', 'flexDirection正确');
assert.strictEqual(uiNode2.columnSpan, 1, 'columnSpan正确');
assert.strictEqual(uiNode3.columnSpan, 1, 'columnSpan正确');
await vm.$emitElement('click', {
targetId: 'changeFlexDirection'
}, 'changeFlexDirection');
await waitForOK(1 * 1000);
assert.strictEqual(uiNode1.flexDirection, 'row', 'flexDirection正确');
assert.strictEqual(uiNode2.columnSpan, uiNode3.columnSpan, 'columnSpan正确');
});
it('事件:手动触发点击事件并响应', async function (done) {
this.timeout(4 * 1000);
setTimeout(done, 500);
await vm.$emitElement('scroll', {
targetId: 'uiParent2'
}, 'uiParent2');
await waitForOK(1 * 1000);
assert.isNotNull(vm.evtScroll.scrollX, '手动触发点击事件并响应');
assert.isNumber(vm.evtScroll.scrollY, '事件属性类型正确');
assert.include([0, 1, 2], vm.evtScroll.scrollState, '滑动状态正确');
});
});
}
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(__webpack_module_cache__[moduleId]) {
/******/ return __webpack_module_cache__[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module is referenced by other modules so it can't be inlined
/******/ var __webpack_exports__ = __webpack_require__("./src/widgets/list/origin/index.ux?uxType=page");
/******/
/******/ })()
;
};
return createPageHandler();
};