@mybricks/to-code-taro 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abstractEventTypeDef.d.ts +11 -0
- package/dist/cjs/abstractEventTypeDef.js +93 -0
- package/dist/cjs/core/comlib/Index.js +45 -0
- package/dist/cjs/core/comlib/_ScanQrcode.js +60 -0
- package/dist/cjs/core/comlib/_SetStorage.js +76 -0
- package/dist/cjs/core/comlib/_ShowToast.js +96 -0
- package/dist/cjs/core/mybricks/MyBricksDescriptor.js +213 -0
- package/dist/cjs/core/mybricks/Subject.js +115 -0
- package/dist/cjs/core/mybricks/constant.js +70 -0
- package/dist/cjs/core/mybricks/context.js +33 -0
- package/dist/cjs/core/mybricks/createEnv.js +39 -0
- package/dist/cjs/core/mybricks/createJSHandle.js +150 -0
- package/dist/cjs/core/mybricks/createModuleEventsHandle.js +49 -0
- package/dist/cjs/core/mybricks/createReactiveInputHandler.js +63 -0
- package/dist/cjs/core/mybricks/event.js +70 -0
- package/dist/cjs/core/mybricks/index.js +871 -0
- package/dist/cjs/core/mybricks/log.js +38 -0
- package/dist/cjs/core/mybricks/utils.js +69 -0
- package/dist/cjs/core/mybricks/variables.js +217 -0
- package/dist/cjs/core/utils/ComContext.js +39 -0
- package/dist/cjs/core/utils/index.js +88 -0
- package/dist/cjs/core/utils/useContext.js +53 -0
- package/dist/cjs/core/utils/with.js +84 -0
- package/dist/cjs/generate/generateTaroProjectJson.d.ts +24 -0
- package/dist/cjs/generate/generateTaroProjectJson.js +101 -0
- package/dist/cjs/generate/generateTaroTempalteJson.d.ts +15 -0
- package/dist/cjs/generate/generateTaroTempalteJson.js +103 -0
- package/dist/cjs/generate/utils/appConfig.d.ts +21 -0
- package/dist/cjs/generate/utils/appConfig.js +47 -0
- package/dist/cjs/generate/utils/commonDir.d.ts +21 -0
- package/dist/cjs/generate/utils/commonDir.js +50 -0
- package/dist/cjs/generate/utils/fileNode.d.ts +17 -0
- package/dist/cjs/generate/utils/fileNode.js +57 -0
- package/dist/cjs/generate/utils/index.d.ts +7 -0
- package/dist/cjs/generate/utils/index.js +29 -0
- package/dist/cjs/generate/utils/tabBarImages.d.ts +14 -0
- package/dist/cjs/generate/utils/tabBarImages.js +36 -0
- package/dist/cjs/handleCom.d.ts +31 -0
- package/dist/cjs/handleCom.js +260 -0
- package/dist/cjs/handleDom.d.ts +19 -0
- package/dist/cjs/handleDom.js +86 -0
- package/dist/cjs/handleExtension.d.ts +10 -0
- package/dist/cjs/handleExtension.js +300 -0
- package/dist/cjs/handleGlobal.d.ts +21 -0
- package/dist/cjs/handleGlobal.js +155 -0
- package/dist/cjs/handleModule.d.ts +15 -0
- package/dist/cjs/handleModule.js +108 -0
- package/dist/cjs/handleSlot.d.ts +27 -0
- package/dist/cjs/handleSlot.js +197 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +44 -0
- package/dist/cjs/taro-template.json +5370 -0
- package/dist/cjs/toCodeTaro.d.ts +130 -0
- package/dist/cjs/toCodeTaro.js +427 -0
- package/dist/cjs/utils/code/component.d.ts +19 -0
- package/dist/cjs/utils/code/component.js +85 -0
- package/dist/cjs/utils/code/index.d.ts +18 -0
- package/dist/cjs/utils/code/index.js +71 -0
- package/dist/cjs/utils/code/renderManager.d.ts +22 -0
- package/dist/cjs/utils/code/renderManager.js +80 -0
- package/dist/cjs/utils/code/scene.d.ts +19 -0
- package/dist/cjs/utils/code/scene.js +82 -0
- package/dist/cjs/utils/convertNamespace.d.ts +11 -0
- package/dist/cjs/utils/convertNamespace.js +43 -0
- package/dist/cjs/utils/genJSModules.d.ts +12 -0
- package/dist/cjs/utils/genJSModules.js +116 -0
- package/dist/cjs/utils/getComponentClassName.d.ts +16 -0
- package/dist/cjs/utils/getComponentClassName.js +47 -0
- package/dist/cjs/utils/handlePageConfig.d.ts +24 -0
- package/dist/cjs/utils/handlePageConfig.js +73 -0
- package/dist/cjs/utils/handleProcess.d.ts +9 -0
- package/dist/cjs/utils/handleProcess.js +370 -0
- package/dist/cjs/utils/index.d.ts +62 -0
- package/dist/cjs/utils/index.js +321 -0
- package/dist/cjs/utils/pageConfig/converter.d.ts +17 -0
- package/dist/cjs/utils/pageConfig/converter.js +83 -0
- package/dist/cjs/utils/pageConfig/index.d.ts +10 -0
- package/dist/cjs/utils/pageConfig/index.js +33 -0
- package/dist/cjs/utils/pageConfig/pageConfig.d.ts +10 -0
- package/dist/cjs/utils/pageConfig/pageConfig.js +87 -0
- package/dist/cjs/utils/pageConfig/saveBase64Image.d.ts +14 -0
- package/dist/cjs/utils/pageConfig/saveBase64Image.js +81 -0
- package/dist/cjs/utils/pageConfig/tabBarConfig.d.ts +13 -0
- package/dist/cjs/utils/pageConfig/tabBarConfig.js +74 -0
- package/dist/cjs/utils/pageConfig/types.d.ts +68 -0
- package/dist/cjs/utils/pageConfig/types.js +17 -0
- package/dist/cjs/utils/pageConfig/validator.d.ts +13 -0
- package/dist/cjs/utils/pageConfig/validator.js +67 -0
- package/dist/cjs/utils/pxtransform.d.ts +28 -0
- package/dist/cjs/utils/pxtransform.js +102 -0
- package/dist/esm/abstractEventTypeDef.d.ts +11 -0
- package/dist/esm/abstractEventTypeDef.js +63 -0
- package/dist/esm/core/comlib/Index.js +3 -0
- package/dist/esm/core/comlib/_ScanQrcode.js +27 -0
- package/dist/esm/core/comlib/_SetStorage.js +52 -0
- package/dist/esm/core/comlib/_ShowToast.js +68 -0
- package/dist/esm/core/mybricks/MyBricksDescriptor.js +232 -0
- package/dist/esm/core/mybricks/Subject.js +143 -0
- package/dist/esm/core/mybricks/constant.js +18 -0
- package/dist/esm/core/mybricks/context.js +5 -0
- package/dist/esm/core/mybricks/createEnv.js +9 -0
- package/dist/esm/core/mybricks/createJSHandle.js +138 -0
- package/dist/esm/core/mybricks/createModuleEventsHandle.js +26 -0
- package/dist/esm/core/mybricks/createReactiveInputHandler.js +40 -0
- package/dist/esm/core/mybricks/event.js +44 -0
- package/dist/esm/core/mybricks/index.js +952 -0
- package/dist/esm/core/mybricks/log.js +12 -0
- package/dist/esm/core/mybricks/utils.js +41 -0
- package/dist/esm/core/mybricks/variables.js +190 -0
- package/dist/esm/core/utils/ComContext.js +10 -0
- package/dist/esm/core/utils/index.js +57 -0
- package/dist/esm/core/utils/useContext.js +24 -0
- package/dist/esm/core/utils/with.js +67 -0
- package/dist/esm/generate/generateTaroProjectJson.d.ts +24 -0
- package/dist/esm/generate/generateTaroProjectJson.js +102 -0
- package/dist/esm/generate/generateTaroTempalteJson.d.ts +15 -0
- package/dist/esm/generate/generateTaroTempalteJson.js +94 -0
- package/dist/esm/generate/utils/appConfig.d.ts +21 -0
- package/dist/esm/generate/utils/appConfig.js +30 -0
- package/dist/esm/generate/utils/commonDir.d.ts +21 -0
- package/dist/esm/generate/utils/commonDir.js +36 -0
- package/dist/esm/generate/utils/fileNode.d.ts +17 -0
- package/dist/esm/generate/utils/fileNode.js +49 -0
- package/dist/esm/generate/utils/index.d.ts +7 -0
- package/dist/esm/generate/utils/index.js +8 -0
- package/dist/esm/generate/utils/tabBarImages.d.ts +14 -0
- package/dist/esm/generate/utils/tabBarImages.js +15 -0
- package/dist/esm/handleCom.d.ts +31 -0
- package/dist/esm/handleCom.js +297 -0
- package/dist/esm/handleDom.d.ts +19 -0
- package/dist/esm/handleDom.js +63 -0
- package/dist/esm/handleExtension.d.ts +10 -0
- package/dist/esm/handleExtension.js +243 -0
- package/dist/esm/handleGlobal.d.ts +21 -0
- package/dist/esm/handleGlobal.js +117 -0
- package/dist/esm/handleModule.d.ts +15 -0
- package/dist/esm/handleModule.js +78 -0
- package/dist/esm/handleSlot.d.ts +27 -0
- package/dist/esm/handleSlot.js +205 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/taro-template.json +5370 -0
- package/dist/esm/toCodeTaro.d.ts +130 -0
- package/dist/esm/toCodeTaro.js +452 -0
- package/dist/esm/utils/code/component.d.ts +19 -0
- package/dist/esm/utils/code/component.js +54 -0
- package/dist/esm/utils/code/index.d.ts +18 -0
- package/dist/esm/utils/code/index.js +51 -0
- package/dist/esm/utils/code/renderManager.d.ts +22 -0
- package/dist/esm/utils/code/renderManager.js +62 -0
- package/dist/esm/utils/code/scene.d.ts +19 -0
- package/dist/esm/utils/code/scene.js +47 -0
- package/dist/esm/utils/convertNamespace.d.ts +11 -0
- package/dist/esm/utils/convertNamespace.js +27 -0
- package/dist/esm/utils/genJSModules.d.ts +12 -0
- package/dist/esm/utils/genJSModules.js +44 -0
- package/dist/esm/utils/getComponentClassName.d.ts +16 -0
- package/dist/esm/utils/getComponentClassName.js +37 -0
- package/dist/esm/utils/handlePageConfig.d.ts +24 -0
- package/dist/esm/utils/handlePageConfig.js +68 -0
- package/dist/esm/utils/handleProcess.d.ts +9 -0
- package/dist/esm/utils/handleProcess.js +379 -0
- package/dist/esm/utils/index.d.ts +62 -0
- package/dist/esm/utils/index.js +345 -0
- package/dist/esm/utils/pageConfig/converter.d.ts +17 -0
- package/dist/esm/utils/pageConfig/converter.js +105 -0
- package/dist/esm/utils/pageConfig/index.d.ts +10 -0
- package/dist/esm/utils/pageConfig/index.js +11 -0
- package/dist/esm/utils/pageConfig/pageConfig.d.ts +10 -0
- package/dist/esm/utils/pageConfig/pageConfig.js +60 -0
- package/dist/esm/utils/pageConfig/saveBase64Image.d.ts +14 -0
- package/dist/esm/utils/pageConfig/saveBase64Image.js +105 -0
- package/dist/esm/utils/pageConfig/tabBarConfig.d.ts +13 -0
- package/dist/esm/utils/pageConfig/tabBarConfig.js +82 -0
- package/dist/esm/utils/pageConfig/types.d.ts +68 -0
- package/dist/esm/utils/pageConfig/types.js +1 -0
- package/dist/esm/utils/pageConfig/validator.d.ts +13 -0
- package/dist/esm/utils/pageConfig/validator.js +64 -0
- package/dist/esm/utils/pxtransform.d.ts +28 -0
- package/dist/esm/utils/pxtransform.js +121 -0
- package/package.json +74 -0
|
@@ -0,0 +1,952 @@
|
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
4
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
5
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
7
|
+
var _excluded = ["root"];
|
|
8
|
+
import { SUBJECT_NEXT, SUBJECT_VALUE, VARS_MARK, BASECONTROLLER_MARK, EXE_TITLE_MAP, CONTROLLER_CONTEXT, EXCUTE_TYPE_KEY, EXCUTE_TYPE_VALUE } from "./constant";
|
|
9
|
+
import { log } from "./log";
|
|
10
|
+
import { Subject } from "./Subject";
|
|
11
|
+
import { context } from "./context";
|
|
12
|
+
import { safeSetByPath, isObject } from "./utils";
|
|
13
|
+
import { createReactiveInputHandler } from "./createReactiveInputHandler";
|
|
14
|
+
|
|
15
|
+
/** 合并数据流 */
|
|
16
|
+
export var merge = function merge() {
|
|
17
|
+
var merge = new Subject();
|
|
18
|
+
for (var _len = arguments.length, subjects = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
19
|
+
subjects[_key] = arguments[_key];
|
|
20
|
+
}
|
|
21
|
+
subjects.forEach(function (subject) {
|
|
22
|
+
if (subject !== null && subject !== void 0 && subject[SUBJECT_SUBSCRIBE]) {
|
|
23
|
+
subject[SUBJECT_SUBSCRIBE](function (value) {
|
|
24
|
+
merge[SUBJECT_NEXT](value);
|
|
25
|
+
});
|
|
26
|
+
} else {
|
|
27
|
+
merge[SUBJECT_NEXT](subject);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return merge;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
// UI
|
|
34
|
+
export var createInputsHandle = function createInputsHandle(params) {
|
|
35
|
+
var init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
36
|
+
if (init) {
|
|
37
|
+
/** 注册的输入 */
|
|
38
|
+
var _inputEvents = {};
|
|
39
|
+
/** 输入未完成注册,写入todo列表 */
|
|
40
|
+
var _inputEventsTodo = {};
|
|
41
|
+
/** 组件基础信息 */
|
|
42
|
+
var _comInfo = {};
|
|
43
|
+
/** 全局 */
|
|
44
|
+
var controllerContext = {
|
|
45
|
+
initStyles: {},
|
|
46
|
+
initData: {},
|
|
47
|
+
dataChangedSubjects: {},
|
|
48
|
+
// 唯一标记
|
|
49
|
+
mark: {}
|
|
50
|
+
};
|
|
51
|
+
var proxy = new Proxy({}, {
|
|
52
|
+
get: function get(_, key) {
|
|
53
|
+
// 内置关键字
|
|
54
|
+
if (key === "_inputEvents") {
|
|
55
|
+
return _inputEvents;
|
|
56
|
+
} else if (key === "_inputEventsTodo") {
|
|
57
|
+
return _inputEventsTodo;
|
|
58
|
+
} else if (key === "_comInfo") {
|
|
59
|
+
return _comInfo;
|
|
60
|
+
} else if (key === CONTROLLER_CONTEXT) {
|
|
61
|
+
return controllerContext;
|
|
62
|
+
} else if (key === "_setStyle") {
|
|
63
|
+
return function (value0, value1) {
|
|
64
|
+
var next = function next(value) {
|
|
65
|
+
if (Object.prototype.toString.call(value) === "[object Object]") {
|
|
66
|
+
Object.entries(value).forEach(function (_ref) {
|
|
67
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
68
|
+
selector = _ref2[0],
|
|
69
|
+
nextStyle = _ref2[1];
|
|
70
|
+
if (!controllerContext.styles) {
|
|
71
|
+
var initStyles = controllerContext.initStyles;
|
|
72
|
+
if (!initStyles[selector]) {
|
|
73
|
+
initStyles[selector] = nextStyle;
|
|
74
|
+
} else {
|
|
75
|
+
var initStyle = initStyles[selector];
|
|
76
|
+
Object.entries(nextStyle).forEach(function (_ref3) {
|
|
77
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
78
|
+
key = _ref4[0],
|
|
79
|
+
value = _ref4[1];
|
|
80
|
+
initStyle[key] = value;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
var _controllerContext$st = controllerContext.styles.getStyle(selector),
|
|
86
|
+
style = _controllerContext$st.style;
|
|
87
|
+
var updators = controllerContext.styles.getUpdators(selector);
|
|
88
|
+
Object.entries(nextStyle).forEach(function (_ref5) {
|
|
89
|
+
var _ref6 = _slicedToArray(_ref5, 2),
|
|
90
|
+
key = _ref6[0],
|
|
91
|
+
value = _ref6[1];
|
|
92
|
+
style[key] = value;
|
|
93
|
+
});
|
|
94
|
+
if (updators) {
|
|
95
|
+
updators.forEach(function (updator) {
|
|
96
|
+
updator(selector, style);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
if (typeof value0 === "string" && value1) {
|
|
103
|
+
if (value1 !== null && value1 !== void 0 && value1[SUBJECT_SUBSCRIBE]) {
|
|
104
|
+
value1[SUBJECT_SUBSCRIBE](function (value) {
|
|
105
|
+
next(_defineProperty({}, value0, value));
|
|
106
|
+
});
|
|
107
|
+
} else {
|
|
108
|
+
next(_defineProperty({}, value0, value1));
|
|
109
|
+
}
|
|
110
|
+
} else {
|
|
111
|
+
if (value0 !== null && value0 !== void 0 && value0[SUBJECT_SUBSCRIBE]) {
|
|
112
|
+
value0[SUBJECT_SUBSCRIBE](function (value) {
|
|
113
|
+
next(value);
|
|
114
|
+
});
|
|
115
|
+
} else {
|
|
116
|
+
next(value0);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
} else if (key === "_setData") {
|
|
121
|
+
return function () {
|
|
122
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
123
|
+
args[_key2] = arguments[_key2];
|
|
124
|
+
}
|
|
125
|
+
if (args.length === 2) {
|
|
126
|
+
var path = args[0],
|
|
127
|
+
value = args[1];
|
|
128
|
+
var next = function next(params) {
|
|
129
|
+
var path = params.path,
|
|
130
|
+
value = params.value;
|
|
131
|
+
if (!controllerContext.data) {
|
|
132
|
+
var initData = controllerContext.initData;
|
|
133
|
+
initData[path] = value;
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
safeSetByPath({
|
|
137
|
+
data: controllerContext.data,
|
|
138
|
+
path: path.split("."),
|
|
139
|
+
value: _defineProperty({
|
|
140
|
+
value: value
|
|
141
|
+
}, EXCUTE_TYPE_KEY, EXCUTE_TYPE_VALUE.DATACHANGED)
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
145
|
+
value[SUBJECT_SUBSCRIBE](function (value, extra) {
|
|
146
|
+
if ((extra === null || extra === void 0 ? void 0 : extra[EXCUTE_TYPE_KEY]) === EXCUTE_TYPE_VALUE.DATACHANGED && (extra === null || extra === void 0 ? void 0 : extra.controllerMark) === controllerContext.mark) {
|
|
147
|
+
// 数据流来自「EXCUTE_TYPE_VALUE.DATACHANGED」且来自自身,不再继续执行,避免死循环
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
next({
|
|
151
|
+
value: value,
|
|
152
|
+
path: path
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
} else {
|
|
156
|
+
next({
|
|
157
|
+
value: value,
|
|
158
|
+
path: path
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
} else if (key === "_dataChanged") {
|
|
164
|
+
return function (path) {
|
|
165
|
+
var subject = new Subject();
|
|
166
|
+
controllerContext.dataChangedSubjects[path] = subject;
|
|
167
|
+
return subject;
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
return function (value) {
|
|
171
|
+
if (!_inputEvents[key]) {
|
|
172
|
+
// 组件未完成输入注册
|
|
173
|
+
if (!_inputEventsTodo[key]) {
|
|
174
|
+
_inputEventsTodo[key] = [];
|
|
175
|
+
}
|
|
176
|
+
var rels = {};
|
|
177
|
+
_inputEventsTodo[key].push({
|
|
178
|
+
value: value,
|
|
179
|
+
rels: rels
|
|
180
|
+
});
|
|
181
|
+
return new Proxy({}, {
|
|
182
|
+
get: function get(_, key) {
|
|
183
|
+
return rels[key] || (rels[key] = new Subject());
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
return createReactiveInputHandler({
|
|
188
|
+
input: function input(value, proxy) {
|
|
189
|
+
log("".concat(EXE_TITLE_MAP["input"], " ").concat(_comInfo.title, " | ").concat(key), JSON.stringify(value));
|
|
190
|
+
return _inputEvents[key](value, proxy);
|
|
191
|
+
},
|
|
192
|
+
title: _comInfo.title,
|
|
193
|
+
value: value,
|
|
194
|
+
rels: {}
|
|
195
|
+
});
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
return proxy;
|
|
200
|
+
} else {
|
|
201
|
+
if (!params.controller[CONTROLLER_CONTEXT].inputs) {
|
|
202
|
+
var _styles$root;
|
|
203
|
+
var controller = params.controller,
|
|
204
|
+
title = params.title,
|
|
205
|
+
styles = params.styles;
|
|
206
|
+
var _inputEvents2 = controller._inputEvents,
|
|
207
|
+
_comInfo2 = controller._comInfo,
|
|
208
|
+
_inputEventsTodo2 = controller._inputEventsTodo,
|
|
209
|
+
_controllerContext = controller[CONTROLLER_CONTEXT];
|
|
210
|
+
_comInfo2.title = title;
|
|
211
|
+
_controllerContext.initModifier = {
|
|
212
|
+
visibility: (styles === null || styles === void 0 || (_styles$root = styles.root) === null || _styles$root === void 0 ? void 0 : _styles$root.display) === "none" ? Visibility.None : Visibility.Visible
|
|
213
|
+
};
|
|
214
|
+
var createVisibilityHandler = function createVisibilityHandler(visibilityState) {
|
|
215
|
+
return function (value) {
|
|
216
|
+
var setVisibility = function setVisibility() {
|
|
217
|
+
var _controllerContext$mo;
|
|
218
|
+
if (!((_controllerContext$mo = _controllerContext.modifier) !== null && _controllerContext$mo !== void 0 && _controllerContext$mo.attribute)) {
|
|
219
|
+
_controllerContext.initModifier.visibility = visibilityState;
|
|
220
|
+
} else {
|
|
221
|
+
var _controllerContext$mo2;
|
|
222
|
+
(_controllerContext$mo2 = _controllerContext.modifier.attribute) === null || _controllerContext$mo2 === void 0 || _controllerContext$mo2.visibility(visibilityState);
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
226
|
+
value[SUBJECT_SUBSCRIBE](setVisibility);
|
|
227
|
+
} else {
|
|
228
|
+
setVisibility();
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
// 内置显示隐藏逻辑
|
|
234
|
+
_inputEvents2.show = createVisibilityHandler(Visibility.Visible);
|
|
235
|
+
_inputEvents2.hide = createVisibilityHandler(Visibility.None);
|
|
236
|
+
_inputEvents2.showOrHide = function (value) {
|
|
237
|
+
var setVisibility = function setVisibility(value) {
|
|
238
|
+
var _controllerContext$mo3;
|
|
239
|
+
if (!((_controllerContext$mo3 = _controllerContext.modifier) !== null && _controllerContext$mo3 !== void 0 && _controllerContext$mo3.attribute)) {
|
|
240
|
+
_controllerContext.initModifier.visibility = !!value ? Visibility.Visible : Visibility.None;
|
|
241
|
+
} else {
|
|
242
|
+
var _controllerContext$mo4;
|
|
243
|
+
(_controllerContext$mo4 = _controllerContext.modifier.attribute) === null || _controllerContext$mo4 === void 0 || _controllerContext$mo4.visibility(!!value ? Visibility.Visible : Visibility.None);
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
247
|
+
value[SUBJECT_SUBSCRIBE](setVisibility);
|
|
248
|
+
} else {
|
|
249
|
+
setVisibility(value);
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
// 处理显示隐藏todo项
|
|
253
|
+
["show", "hide", "showOrHide"].forEach(function (key) {
|
|
254
|
+
var todo = _inputEventsTodo2[key];
|
|
255
|
+
if (todo) {
|
|
256
|
+
Reflect.deleteProperty(_inputEventsTodo2, key);
|
|
257
|
+
todo.forEach(function (_ref7) {
|
|
258
|
+
var value = _ref7.value;
|
|
259
|
+
_inputEvents2[key](value);
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
var _proxy = new Proxy(controller, {
|
|
264
|
+
get: function get(_, key) {
|
|
265
|
+
return function (_input) {
|
|
266
|
+
if (!_inputEvents2[key]) {
|
|
267
|
+
// 第一次注册,处理TODO
|
|
268
|
+
if (_inputEventsTodo2[key]) {
|
|
269
|
+
_inputEventsTodo2[key].forEach(function (_ref8) {
|
|
270
|
+
var value = _ref8.value,
|
|
271
|
+
rels = _ref8.rels;
|
|
272
|
+
createReactiveInputHandler({
|
|
273
|
+
input: function input(value, proxy) {
|
|
274
|
+
log("".concat(EXE_TITLE_MAP["input"], " ").concat(title, " | ").concat(key), JSON.stringify(value));
|
|
275
|
+
return _input(value, proxy);
|
|
276
|
+
},
|
|
277
|
+
title: title,
|
|
278
|
+
value: value,
|
|
279
|
+
rels: rels
|
|
280
|
+
});
|
|
281
|
+
});
|
|
282
|
+
Reflect.deleteProperty(_inputEventsTodo2, key);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
_inputEvents2[key] = _input;
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
params.controller[CONTROLLER_CONTEXT].inputs = _proxy;
|
|
290
|
+
}
|
|
291
|
+
return params.controller[CONTROLLER_CONTEXT].inputs;
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
// 事件
|
|
296
|
+
export var createEventsHandle = function createEventsHandle(params) {
|
|
297
|
+
if (!params.controller[CONTROLLER_CONTEXT].outputs) {
|
|
298
|
+
params.controller[CONTROLLER_CONTEXT].outputs = new Proxy(params.events || {}, {
|
|
299
|
+
get: function get(target, key) {
|
|
300
|
+
var _params$controller$CO;
|
|
301
|
+
var event = (_params$controller$CO = params.controller[CONTROLLER_CONTEXT].appContext) === null || _params$controller$CO === void 0 || (_params$controller$CO = _params$controller$CO.comEvent) === null || _params$controller$CO === void 0 || (_params$controller$CO = _params$controller$CO[params.uid]) === null || _params$controller$CO === void 0 ? void 0 : _params$controller$CO[key];
|
|
302
|
+
if (event) {
|
|
303
|
+
var _params$controller$CO2 = params.controller[CONTROLLER_CONTEXT],
|
|
304
|
+
getVar = _params$controller$CO2.getVar,
|
|
305
|
+
getOutput = _params$controller$CO2.getOutput,
|
|
306
|
+
getInput = _params$controller$CO2.getInput;
|
|
307
|
+
return function (value) {
|
|
308
|
+
event(value, {
|
|
309
|
+
getVar: getVar,
|
|
310
|
+
getOutput: getOutput,
|
|
311
|
+
getInput: getInput
|
|
312
|
+
});
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
return target[key] || function () {};
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
return params.controller[CONTROLLER_CONTEXT].outputs;
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
// 场景打开、输出
|
|
323
|
+
export var pageController = function pageController() {
|
|
324
|
+
return new Proxy({
|
|
325
|
+
commit: new Subject(),
|
|
326
|
+
cancel: new Subject(),
|
|
327
|
+
apply: new Subject(),
|
|
328
|
+
close: new Subject()
|
|
329
|
+
}, {
|
|
330
|
+
get: function get(target, key) {
|
|
331
|
+
return target[key];
|
|
332
|
+
}
|
|
333
|
+
});
|
|
334
|
+
};
|
|
335
|
+
export var Page = /*#__PURE__*/function () {
|
|
336
|
+
function Page(appRouter) {
|
|
337
|
+
_classCallCheck(this, Page);
|
|
338
|
+
_defineProperty(this, "appRouter", void 0);
|
|
339
|
+
this.appRouter = appRouter;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
/** 获取当前页面入参 */
|
|
343
|
+
_createClass(Page, [{
|
|
344
|
+
key: "getParams",
|
|
345
|
+
value: function getParams(name) {
|
|
346
|
+
var params = this.appRouter.getParams(name);
|
|
347
|
+
var subject = new Subject();
|
|
348
|
+
subject[SUBJECT_NEXT](params === null || params === void 0 ? void 0 : params.value);
|
|
349
|
+
return subject;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/** 打开 */
|
|
353
|
+
}, {
|
|
354
|
+
key: "open",
|
|
355
|
+
value: function open(name, value) {
|
|
356
|
+
var _this = this;
|
|
357
|
+
var controller = pageController();
|
|
358
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
359
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
360
|
+
_this.appRouter.push(name, {
|
|
361
|
+
value: value,
|
|
362
|
+
controller: controller
|
|
363
|
+
});
|
|
364
|
+
});
|
|
365
|
+
} else {
|
|
366
|
+
this.appRouter.push(name, {
|
|
367
|
+
value: value,
|
|
368
|
+
controller: controller
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
return controller;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/** 打开 */
|
|
375
|
+
}, {
|
|
376
|
+
key: "replace",
|
|
377
|
+
value: function replace(name, value) {
|
|
378
|
+
var _this2 = this;
|
|
379
|
+
var controller = pageController();
|
|
380
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
381
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
382
|
+
_this2.appRouter.replace(name, {
|
|
383
|
+
value: value,
|
|
384
|
+
controller: controller
|
|
385
|
+
});
|
|
386
|
+
});
|
|
387
|
+
} else {
|
|
388
|
+
this.appRouter.replace(name, {
|
|
389
|
+
value: value,
|
|
390
|
+
controller: controller
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
return controller;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
/** 确定 */
|
|
397
|
+
}, {
|
|
398
|
+
key: "commit",
|
|
399
|
+
value: function commit(name, value) {
|
|
400
|
+
var _this3 = this;
|
|
401
|
+
var params = this.appRouter.getParams(name);
|
|
402
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
403
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
404
|
+
_this3.appRouter.pop();
|
|
405
|
+
setTimeout(function () {
|
|
406
|
+
params.controller.commit[SUBJECT_NEXT](value);
|
|
407
|
+
}, 100);
|
|
408
|
+
});
|
|
409
|
+
} else {
|
|
410
|
+
this.appRouter.pop();
|
|
411
|
+
setTimeout(function () {
|
|
412
|
+
params.controller.commit[SUBJECT_NEXT](value);
|
|
413
|
+
}, 100);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/** 取消 */
|
|
418
|
+
}, {
|
|
419
|
+
key: "cancel",
|
|
420
|
+
value: function cancel(name, value) {
|
|
421
|
+
var _this4 = this;
|
|
422
|
+
var params = this.appRouter.getParams(name);
|
|
423
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
424
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
425
|
+
_this4.appRouter.pop();
|
|
426
|
+
setTimeout(function () {
|
|
427
|
+
params.controller.cancel[SUBJECT_NEXT](value);
|
|
428
|
+
}, 100);
|
|
429
|
+
});
|
|
430
|
+
} else {
|
|
431
|
+
this.appRouter.pop();
|
|
432
|
+
setTimeout(function () {
|
|
433
|
+
params.controller.cancel[SUBJECT_NEXT](value);
|
|
434
|
+
}, 100);
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
/** 应用,不关闭 */
|
|
439
|
+
}, {
|
|
440
|
+
key: "apply",
|
|
441
|
+
value: function apply(name, value) {
|
|
442
|
+
var params = this.appRouter.getParams(name);
|
|
443
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
444
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
445
|
+
params.controller.apply[SUBJECT_NEXT](value);
|
|
446
|
+
});
|
|
447
|
+
} else {
|
|
448
|
+
params.controller.apply[SUBJECT_NEXT](value);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
/** 关闭 */
|
|
453
|
+
}, {
|
|
454
|
+
key: "close",
|
|
455
|
+
value: function close(name, value) {
|
|
456
|
+
var _this5 = this;
|
|
457
|
+
var params = this.appRouter.getParams(name);
|
|
458
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
459
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
460
|
+
_this5.appRouter.pop();
|
|
461
|
+
setTimeout(function () {
|
|
462
|
+
params.controller.close[SUBJECT_NEXT](value);
|
|
463
|
+
}, 100);
|
|
464
|
+
});
|
|
465
|
+
} else {
|
|
466
|
+
this.appRouter.pop();
|
|
467
|
+
setTimeout(function () {
|
|
468
|
+
params.controller.close[SUBJECT_NEXT](value);
|
|
469
|
+
}, 100);
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
}]);
|
|
473
|
+
return Page;
|
|
474
|
+
}();
|
|
475
|
+
|
|
476
|
+
// api
|
|
477
|
+
export var emit = function emit(fn, value) {
|
|
478
|
+
var subject = new Subject();
|
|
479
|
+
if (!fn) {
|
|
480
|
+
return subject;
|
|
481
|
+
}
|
|
482
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
483
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
484
|
+
var res = fn(value);
|
|
485
|
+
if (res instanceof Promise) {
|
|
486
|
+
res.then(function (value) {
|
|
487
|
+
subject[SUBJECT_NEXT](value);
|
|
488
|
+
});
|
|
489
|
+
} else {
|
|
490
|
+
subject[SUBJECT_NEXT](res);
|
|
491
|
+
}
|
|
492
|
+
});
|
|
493
|
+
} else {
|
|
494
|
+
var res = fn(value);
|
|
495
|
+
if (res instanceof Promise) {
|
|
496
|
+
res.then(function (value) {
|
|
497
|
+
subject[SUBJECT_NEXT](value);
|
|
498
|
+
});
|
|
499
|
+
} else {
|
|
500
|
+
subject[SUBJECT_NEXT](res);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
return subject;
|
|
504
|
+
};
|
|
505
|
+
|
|
506
|
+
/** 创建fx */
|
|
507
|
+
export var createFx = function createFx(fx) {
|
|
508
|
+
return function (value) {
|
|
509
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
510
|
+
args[_key3 - 1] = arguments[_key3];
|
|
511
|
+
}
|
|
512
|
+
var outputs = {};
|
|
513
|
+
var proxy = new Proxy({}, {
|
|
514
|
+
get: function get(_, key) {
|
|
515
|
+
return outputs[key] || (outputs[key] = new Subject());
|
|
516
|
+
}
|
|
517
|
+
});
|
|
518
|
+
var next = function next(value) {
|
|
519
|
+
var res = fx.apply(void 0, [value].concat(args));
|
|
520
|
+
if (res) {
|
|
521
|
+
Object.entries(res).forEach(function (_ref9) {
|
|
522
|
+
var _ref10 = _slicedToArray(_ref9, 2),
|
|
523
|
+
key = _ref10[0],
|
|
524
|
+
value = _ref10[1];
|
|
525
|
+
if (!outputs[key]) {
|
|
526
|
+
outputs[key] = new Subject();
|
|
527
|
+
}
|
|
528
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
529
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
530
|
+
outputs[key][SUBJECT_NEXT](value);
|
|
531
|
+
});
|
|
532
|
+
} else {
|
|
533
|
+
outputs[key][SUBJECT_NEXT](value);
|
|
534
|
+
}
|
|
535
|
+
});
|
|
536
|
+
}
|
|
537
|
+
};
|
|
538
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
539
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
540
|
+
next(value);
|
|
541
|
+
});
|
|
542
|
+
} else {
|
|
543
|
+
next(value);
|
|
544
|
+
}
|
|
545
|
+
return proxy;
|
|
546
|
+
};
|
|
547
|
+
};
|
|
548
|
+
|
|
549
|
+
/** 创建插槽IO */
|
|
550
|
+
export var createSlotsIO = function createSlotsIO(params) {
|
|
551
|
+
if (!params.controller[CONTROLLER_CONTEXT].slotsIO) {
|
|
552
|
+
var slotsIOMap = {};
|
|
553
|
+
params.controller[CONTROLLER_CONTEXT].slotsIO = new Proxy({}, {
|
|
554
|
+
get: function get(_, key) {
|
|
555
|
+
if (!slotsIOMap[key]) {
|
|
556
|
+
var inputsMap = {};
|
|
557
|
+
slotsIOMap[key] = {
|
|
558
|
+
inputs: new Proxy({}, {
|
|
559
|
+
get: function get(_, key) {
|
|
560
|
+
if (!inputsMap[key]) {
|
|
561
|
+
inputsMap[key] = new Subject();
|
|
562
|
+
}
|
|
563
|
+
var next = function next(value) {
|
|
564
|
+
inputsMap[key][SUBJECT_NEXT](value);
|
|
565
|
+
};
|
|
566
|
+
next[SUBJECT_SUBSCRIBE] = function (next) {
|
|
567
|
+
inputsMap[key][SUBJECT_SUBSCRIBE](next);
|
|
568
|
+
};
|
|
569
|
+
return next;
|
|
570
|
+
}
|
|
571
|
+
}),
|
|
572
|
+
outputs: new Proxy({}, {
|
|
573
|
+
get: function get(_, key) {
|
|
574
|
+
return function (next) {
|
|
575
|
+
return function (value) {
|
|
576
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
577
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
578
|
+
next(value);
|
|
579
|
+
});
|
|
580
|
+
} else {
|
|
581
|
+
next(value);
|
|
582
|
+
}
|
|
583
|
+
};
|
|
584
|
+
};
|
|
585
|
+
}
|
|
586
|
+
})
|
|
587
|
+
};
|
|
588
|
+
}
|
|
589
|
+
return slotsIOMap[key];
|
|
590
|
+
}
|
|
591
|
+
});
|
|
592
|
+
}
|
|
593
|
+
return params.controller[CONTROLLER_CONTEXT].slotsIO;
|
|
594
|
+
};
|
|
595
|
+
|
|
596
|
+
/**
|
|
597
|
+
* 模块
|
|
598
|
+
* [TODO] 暂时无法在多处使用关联输出项
|
|
599
|
+
*/
|
|
600
|
+
export var createModuleInputsHandle = function createModuleInputsHandle() {
|
|
601
|
+
var inputsMap = {};
|
|
602
|
+
var outputsMap = {};
|
|
603
|
+
return new Proxy({}, {
|
|
604
|
+
get: function get(_, key) {
|
|
605
|
+
if (key === "outputs") {
|
|
606
|
+
return new Proxy({}, {
|
|
607
|
+
get: function get(_, key) {
|
|
608
|
+
if (!outputsMap[key]) {
|
|
609
|
+
outputsMap[key] = new Subject();
|
|
610
|
+
}
|
|
611
|
+
return function (value) {
|
|
612
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
613
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
614
|
+
outputsMap[key][SUBJECT_NEXT](value);
|
|
615
|
+
});
|
|
616
|
+
} else {
|
|
617
|
+
outputsMap[key][SUBJECT_NEXT](value);
|
|
618
|
+
}
|
|
619
|
+
};
|
|
620
|
+
}
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
if (!inputsMap[key]) {
|
|
624
|
+
inputsMap[key] = new Subject();
|
|
625
|
+
}
|
|
626
|
+
var next = function next(value) {
|
|
627
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
628
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
629
|
+
inputsMap[key][SUBJECT_NEXT](value);
|
|
630
|
+
});
|
|
631
|
+
} else {
|
|
632
|
+
inputsMap[key][SUBJECT_NEXT](value);
|
|
633
|
+
}
|
|
634
|
+
return new Proxy({}, {
|
|
635
|
+
get: function get(_, key) {
|
|
636
|
+
return outputsMap[key] || (outputsMap[key] = new Subject());
|
|
637
|
+
}
|
|
638
|
+
});
|
|
639
|
+
};
|
|
640
|
+
return new Proxy(next, {
|
|
641
|
+
get: function get(_, proxyKey) {
|
|
642
|
+
if (proxyKey === "subscribe" || proxyKey === SUBJECT_SUBSCRIBE) {
|
|
643
|
+
return function (next) {
|
|
644
|
+
inputsMap[key][SUBJECT_SUBSCRIBE](next);
|
|
645
|
+
};
|
|
646
|
+
} else if (proxyKey === "value" || proxyKey === SUBJECT_VALUE) {
|
|
647
|
+
return inputsMap[key][SUBJECT_VALUE];
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
});
|
|
651
|
+
}
|
|
652
|
+
});
|
|
653
|
+
};
|
|
654
|
+
var Styles = /*#__PURE__*/function () {
|
|
655
|
+
function Styles(styles) {
|
|
656
|
+
_classCallCheck(this, Styles);
|
|
657
|
+
_defineProperty(this, "styles", {});
|
|
658
|
+
_defineProperty(this, "map", new Map());
|
|
659
|
+
this.styles = styles;
|
|
660
|
+
}
|
|
661
|
+
_createClass(Styles, [{
|
|
662
|
+
key: "getStyle",
|
|
663
|
+
value: function getStyle(selector) {
|
|
664
|
+
var _this6 = this;
|
|
665
|
+
var style = this.styles[selector];
|
|
666
|
+
if (!style) {
|
|
667
|
+
this.styles[selector] = {};
|
|
668
|
+
style = this.styles[selector];
|
|
669
|
+
}
|
|
670
|
+
return _objectSpread({
|
|
671
|
+
selector: selector,
|
|
672
|
+
style: style,
|
|
673
|
+
setUpdator: function setUpdator(updator, uid) {
|
|
674
|
+
if (!_this6.map.has(selector)) {
|
|
675
|
+
_this6.map.set(selector, new Map());
|
|
676
|
+
}
|
|
677
|
+
var selectorMap = _this6.map.get(selector);
|
|
678
|
+
selectorMap.set(uid, updator);
|
|
679
|
+
}
|
|
680
|
+
}, style);
|
|
681
|
+
}
|
|
682
|
+
}, {
|
|
683
|
+
key: "getUpdators",
|
|
684
|
+
value: function getUpdators(selector) {
|
|
685
|
+
return this.map.get(selector);
|
|
686
|
+
}
|
|
687
|
+
}]);
|
|
688
|
+
return Styles;
|
|
689
|
+
}();
|
|
690
|
+
/**
|
|
691
|
+
* 组件样式
|
|
692
|
+
*/
|
|
693
|
+
export var createStyles = function createStyles(params) {
|
|
694
|
+
if (!params.controller[CONTROLLER_CONTEXT].styles) {
|
|
695
|
+
var initStyles = params.controller[CONTROLLER_CONTEXT].initStyles;
|
|
696
|
+
var styles = params.styles,
|
|
697
|
+
parentSlot = params.parentSlot;
|
|
698
|
+
Object.entries(initStyles).forEach(function (_ref11) {
|
|
699
|
+
var _ref12 = _slicedToArray(_ref11, 2),
|
|
700
|
+
selector = _ref12[0],
|
|
701
|
+
initStyle = _ref12[1];
|
|
702
|
+
if (!styles[selector]) {
|
|
703
|
+
styles[selector] = initStyle;
|
|
704
|
+
} else {
|
|
705
|
+
var style = styles[selector];
|
|
706
|
+
Object.entries(initStyle).forEach(function (_ref13) {
|
|
707
|
+
var _ref14 = _slicedToArray(_ref13, 2),
|
|
708
|
+
key = _ref14[0],
|
|
709
|
+
value = _ref14[1];
|
|
710
|
+
style[key] = value;
|
|
711
|
+
});
|
|
712
|
+
}
|
|
713
|
+
});
|
|
714
|
+
if (parentSlot !== null && parentSlot !== void 0 && parentSlot.itemWrap) {
|
|
715
|
+
var root = styles.root,
|
|
716
|
+
other = _objectWithoutProperties(styles, _excluded);
|
|
717
|
+
params.controller[CONTROLLER_CONTEXT].styles = new Styles(other);
|
|
718
|
+
} else {
|
|
719
|
+
params.controller[CONTROLLER_CONTEXT].styles = new Styles(styles);
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
return new Proxy({}, {
|
|
723
|
+
ownKeys: function ownKeys() {
|
|
724
|
+
return Object.keys(params.styles);
|
|
725
|
+
},
|
|
726
|
+
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(k) {
|
|
727
|
+
return {
|
|
728
|
+
enumerable: true,
|
|
729
|
+
configurable: true
|
|
730
|
+
};
|
|
731
|
+
},
|
|
732
|
+
get: function get(_, key) {
|
|
733
|
+
return params.controller[CONTROLLER_CONTEXT].styles.getStyle(key);
|
|
734
|
+
}
|
|
735
|
+
});
|
|
736
|
+
};
|
|
737
|
+
|
|
738
|
+
/**
|
|
739
|
+
* @returns {any}
|
|
740
|
+
*/
|
|
741
|
+
export var transformApi = function transformApi(api) {
|
|
742
|
+
return function (value, cb) {
|
|
743
|
+
var id = "".concat(Math.random(), "_").concat(new Date().getTime());
|
|
744
|
+
var outputs = {};
|
|
745
|
+
var dispose = function dispose() {};
|
|
746
|
+
var proxy = new Proxy(dispose, {
|
|
747
|
+
get: function get(_, key) {
|
|
748
|
+
return outputs[key] || (outputs[key] = new Subject());
|
|
749
|
+
}
|
|
750
|
+
});
|
|
751
|
+
var isDispose = false;
|
|
752
|
+
context.apiRun = id;
|
|
753
|
+
var res = api(value);
|
|
754
|
+
context.apiRun = null;
|
|
755
|
+
if (res) {
|
|
756
|
+
Object.entries(res).forEach(function (_ref15) {
|
|
757
|
+
var _ref16 = _slicedToArray(_ref15, 2),
|
|
758
|
+
key = _ref16[0],
|
|
759
|
+
value = _ref16[1];
|
|
760
|
+
if (!outputs[key]) {
|
|
761
|
+
outputs[key] = new Subject();
|
|
762
|
+
}
|
|
763
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
764
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
765
|
+
var _cb$key, _context$apiRunVariab;
|
|
766
|
+
if (isDispose) {
|
|
767
|
+
return;
|
|
768
|
+
}
|
|
769
|
+
isDispose = true;
|
|
770
|
+
outputs[key][SUBJECT_NEXT](value);
|
|
771
|
+
cb === null || cb === void 0 || (_cb$key = cb[key]) === null || _cb$key === void 0 || _cb$key.call(cb, value);
|
|
772
|
+
(_context$apiRunVariab = context.apiRunVariablesSubject[id]) === null || _context$apiRunVariab === void 0 || _context$apiRunVariab.forEach(function (subject) {
|
|
773
|
+
subject.destroy();
|
|
774
|
+
});
|
|
775
|
+
});
|
|
776
|
+
} else {
|
|
777
|
+
var _cb$key2, _context$apiRunVariab2;
|
|
778
|
+
if (isDispose) {
|
|
779
|
+
return;
|
|
780
|
+
}
|
|
781
|
+
isDispose = true;
|
|
782
|
+
outputs[key][SUBJECT_NEXT](value);
|
|
783
|
+
cb === null || cb === void 0 || (_cb$key2 = cb[key]) === null || _cb$key2 === void 0 || _cb$key2.call(cb, value);
|
|
784
|
+
(_context$apiRunVariab2 = context.apiRunVariablesSubject[id]) === null || _context$apiRunVariab2 === void 0 || _context$apiRunVariab2.forEach(function (subject) {
|
|
785
|
+
subject.destroy();
|
|
786
|
+
});
|
|
787
|
+
}
|
|
788
|
+
});
|
|
789
|
+
}
|
|
790
|
+
return proxy;
|
|
791
|
+
};
|
|
792
|
+
};
|
|
793
|
+
export var transformBus = function transformBus(bus) {
|
|
794
|
+
return function (newBus) {
|
|
795
|
+
Object.entries(newBus).forEach(function (_ref17) {
|
|
796
|
+
var _ref18 = _slicedToArray(_ref17, 2),
|
|
797
|
+
key = _ref18[0],
|
|
798
|
+
newBus = _ref18[1];
|
|
799
|
+
bus[key] = function (value) {
|
|
800
|
+
var outputs = {};
|
|
801
|
+
var callBack = new Proxy({}, {
|
|
802
|
+
get: function get(_, key) {
|
|
803
|
+
return function (value) {
|
|
804
|
+
var output = outputs[key] || (outputs[key] = new Subject());
|
|
805
|
+
output[SUBJECT_NEXT](value);
|
|
806
|
+
};
|
|
807
|
+
}
|
|
808
|
+
});
|
|
809
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
810
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
811
|
+
newBus(value, callBack);
|
|
812
|
+
});
|
|
813
|
+
} else {
|
|
814
|
+
newBus(value, callBack);
|
|
815
|
+
}
|
|
816
|
+
return new Proxy({}, {
|
|
817
|
+
get: function get(_, key) {
|
|
818
|
+
return outputs[key] || (outputs[key] = new Subject());
|
|
819
|
+
}
|
|
820
|
+
});
|
|
821
|
+
};
|
|
822
|
+
});
|
|
823
|
+
};
|
|
824
|
+
};
|
|
825
|
+
export var createBus = function createBus(bus) {
|
|
826
|
+
return function () {
|
|
827
|
+
return new Proxy({}, {
|
|
828
|
+
get: function get() {
|
|
829
|
+
return new Subject();
|
|
830
|
+
}
|
|
831
|
+
});
|
|
832
|
+
};
|
|
833
|
+
};
|
|
834
|
+
export var join = function join(lastSubject, nextSubject) {
|
|
835
|
+
var subject = new Subject();
|
|
836
|
+
var next = function next() {
|
|
837
|
+
if (nextSubject !== null && nextSubject !== void 0 && nextSubject[SUBJECT_SUBSCRIBE]) {
|
|
838
|
+
subject[SUBJECT_NEXT](nextSubject[SUBJECT_VALUE]);
|
|
839
|
+
} else {
|
|
840
|
+
subject[SUBJECT_NEXT](nextSubject);
|
|
841
|
+
}
|
|
842
|
+
};
|
|
843
|
+
if (lastSubject !== null && lastSubject !== void 0 && lastSubject[SUBJECT_SUBSCRIBE]) {
|
|
844
|
+
lastSubject[SUBJECT_SUBSCRIBE](function () {
|
|
845
|
+
next();
|
|
846
|
+
});
|
|
847
|
+
} else {
|
|
848
|
+
next();
|
|
849
|
+
}
|
|
850
|
+
return subject;
|
|
851
|
+
};
|
|
852
|
+
export var createModifier = function createModifier(params, Modifier) {
|
|
853
|
+
if (!params.controller[CONTROLLER_CONTEXT].modifier) {
|
|
854
|
+
params.controller[CONTROLLER_CONTEXT].modifier = new Modifier(params.controller[CONTROLLER_CONTEXT].initModifier);
|
|
855
|
+
}
|
|
856
|
+
return params.controller[CONTROLLER_CONTEXT].modifier;
|
|
857
|
+
};
|
|
858
|
+
var DATA_PROXY = Symbol("DATA_PROXY");
|
|
859
|
+
var dataProxy = function dataProxy(params) {
|
|
860
|
+
var data = params.data,
|
|
861
|
+
path = params.path,
|
|
862
|
+
config = params.config;
|
|
863
|
+
return new Proxy(data, {
|
|
864
|
+
get: function get(target, key, receiver) {
|
|
865
|
+
if (key === DATA_PROXY) {
|
|
866
|
+
return true;
|
|
867
|
+
}
|
|
868
|
+
var value = Reflect.get(target, key, receiver);
|
|
869
|
+
if (typeof key !== "string" || target.hasOwnProperty(key)) {
|
|
870
|
+
return value;
|
|
871
|
+
}
|
|
872
|
+
if (isObject(value)) {
|
|
873
|
+
if (value[DATA_PROXY]) {
|
|
874
|
+
return value;
|
|
875
|
+
}
|
|
876
|
+
return dataProxy({
|
|
877
|
+
data: value,
|
|
878
|
+
path: path ? "".concat(path, ".").concat(key) : key,
|
|
879
|
+
config: config
|
|
880
|
+
});
|
|
881
|
+
}
|
|
882
|
+
return value;
|
|
883
|
+
},
|
|
884
|
+
set: function set(target, key, value, receiver) {
|
|
885
|
+
if (typeof key !== "string" || target.hasOwnProperty(key)) {
|
|
886
|
+
Reflect.set(target, key, value, receiver);
|
|
887
|
+
} else {
|
|
888
|
+
if (!(value !== null && value !== void 0 && value[EXCUTE_TYPE_KEY])) {
|
|
889
|
+
var _config$set;
|
|
890
|
+
Reflect.set(target, key, value, receiver);
|
|
891
|
+
// 目前只有「EXCUTE_TYPE_VALUE.DATACHANGED」,所以判断有「EXCUTE_TYPE_KEY」就行
|
|
892
|
+
config === null || config === void 0 || (_config$set = config.set) === null || _config$set === void 0 || _config$set.call(config, {
|
|
893
|
+
value: value,
|
|
894
|
+
path: path ? "".concat(path, ".").concat(key) : key
|
|
895
|
+
});
|
|
896
|
+
} else {
|
|
897
|
+
Reflect.set(target, key, value.value, receiver);
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
return true;
|
|
901
|
+
}
|
|
902
|
+
});
|
|
903
|
+
};
|
|
904
|
+
export var createData = function createData(params, Data) {
|
|
905
|
+
if (!params.controller[CONTROLLER_CONTEXT].data) {
|
|
906
|
+
var _params$controller$CO3 = params.controller[CONTROLLER_CONTEXT],
|
|
907
|
+
initData = _params$controller$CO3.initData,
|
|
908
|
+
dataChangedSubjects = _params$controller$CO3.dataChangedSubjects,
|
|
909
|
+
mark = _params$controller$CO3.mark;
|
|
910
|
+
var nextData = Object.assign({}, params.data);
|
|
911
|
+
Object.entries(initData).forEach(function (_ref19) {
|
|
912
|
+
var _ref20 = _slicedToArray(_ref19, 2),
|
|
913
|
+
path = _ref20[0],
|
|
914
|
+
value = _ref20[1];
|
|
915
|
+
safeSetByPath({
|
|
916
|
+
data: nextData,
|
|
917
|
+
path: path.split("."),
|
|
918
|
+
value: value
|
|
919
|
+
});
|
|
920
|
+
});
|
|
921
|
+
var data = new Data(nextData);
|
|
922
|
+
var observeData = dataProxy({
|
|
923
|
+
data: data,
|
|
924
|
+
path: "",
|
|
925
|
+
config: {
|
|
926
|
+
set: function set(params) {
|
|
927
|
+
var dataChangedSubject = dataChangedSubjects[params.path];
|
|
928
|
+
if (dataChangedSubject) {
|
|
929
|
+
dataChangedSubject[SUBJECT_NEXT](params.value, _defineProperty(_defineProperty({}, EXCUTE_TYPE_KEY, EXCUTE_TYPE_VALUE.DATACHANGED), "controllerMark", mark));
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
});
|
|
934
|
+
params.controller[CONTROLLER_CONTEXT].data = observeData;
|
|
935
|
+
}
|
|
936
|
+
return params.controller[CONTROLLER_CONTEXT].data;
|
|
937
|
+
};
|
|
938
|
+
export var Vars = /*#__PURE__*/_createClass(function Vars() {
|
|
939
|
+
_classCallCheck(this, Vars);
|
|
940
|
+
_defineProperty(this, VARS_MARK, true);
|
|
941
|
+
});
|
|
942
|
+
export var BaseController = /*#__PURE__*/_createClass(function BaseController() {
|
|
943
|
+
_classCallCheck(this, BaseController);
|
|
944
|
+
_defineProperty(this, BASECONTROLLER_MARK, true);
|
|
945
|
+
});
|
|
946
|
+
export * from "./MyBricksDescriptor";
|
|
947
|
+
export * from "./createModuleEventsHandle";
|
|
948
|
+
export * from "./createJSHandle";
|
|
949
|
+
export * from "./Subject";
|
|
950
|
+
export * from "./createEnv";
|
|
951
|
+
export * from "./variables";
|
|
952
|
+
export * from "./event";
|