amis-core 1.0.0-beta.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/Root.js +94 -0
- package/dist/RootRenderer.js +288 -0
- package/dist/SchemaRenderer.js +323 -0
- package/dist/Scoped.js +252 -0
- package/dist/WithRootStore.js +44 -0
- package/dist/WithStore.js +179 -0
- package/dist/__tests__/compat.test.d.ts +1 -0
- package/dist/__tests__/factory.test.d.ts +1 -0
- package/dist/__tests__/filter.test.d.ts +1 -0
- package/dist/__tests__/helper.d.ts +13 -0
- package/dist/__tests__/tokenize.test.d.ts +1 -0
- package/dist/actions/Action.js +119 -0
- package/dist/actions/AjaxAction.js +96 -0
- package/dist/actions/BreakAction.js +35 -0
- package/dist/actions/BroadcastAction.js +49 -0
- package/dist/actions/CmptAction.js +60 -0
- package/dist/actions/ContinueAction.js +35 -0
- package/dist/actions/CopyAction.js +43 -0
- package/dist/actions/CustomAction.js +49 -0
- package/dist/actions/DialogAction.js +104 -0
- package/dist/actions/DrawerAction.js +66 -0
- package/dist/actions/EmailAction.js +48 -0
- package/dist/actions/LinkAction.js +52 -0
- package/dist/actions/LoopAction.js +107 -0
- package/dist/actions/PageAction.js +80 -0
- package/dist/actions/ParallelAction.js +40 -0
- package/dist/actions/SwitchAction.js +52 -0
- package/dist/actions/ToastAction.js +35 -0
- package/dist/components/LazyComponent.js +99 -0
- package/dist/env.js +20 -0
- package/dist/envOverwrite.js +43 -0
- package/dist/factory.js +308 -0
- package/dist/index.js +218 -0
- package/dist/index2.js +255 -0
- package/dist/locale.js +114 -0
- package/dist/renderers/Form.js +1162 -0
- package/dist/renderers/Item.js +636 -0
- package/dist/renderers/Options.js +881 -0
- package/dist/renderers/Placeholder.js +31 -0
- package/dist/renderers/builtin.js +27 -0
- package/dist/renderers/wrapControl.js +507 -0
- package/dist/src/Root.d.ts +37 -0
- package/dist/src/RootRenderer.d.ts +27 -0
- package/dist/src/SchemaRenderer.d.ts +37 -0
- package/dist/src/Scoped.d.ts +38 -0
- package/dist/src/WithRootStore.d.ts +737 -0
- package/dist/src/WithStore.d.ts +5 -0
- package/dist/src/actions/Action.d.ts +38 -0
- package/dist/src/actions/AjaxAction.d.ts +25 -0
- package/dist/src/actions/BreakAction.d.ts +15 -0
- package/dist/src/actions/BroadcastAction.d.ts +16 -0
- package/dist/src/actions/CmptAction.d.ts +20 -0
- package/dist/src/actions/ContinueAction.d.ts +15 -0
- package/dist/src/actions/CopyAction.d.ts +20 -0
- package/dist/src/actions/CustomAction.d.ts +17 -0
- package/dist/src/actions/Decorators.d.ts +25 -0
- package/dist/src/actions/DialogAction.d.ts +57 -0
- package/dist/src/actions/DrawerAction.d.ts +30 -0
- package/dist/src/actions/EmailAction.d.ts +23 -0
- package/dist/src/actions/LinkAction.d.ts +24 -0
- package/dist/src/actions/LoopAction.d.ts +19 -0
- package/dist/src/actions/PageAction.d.ts +39 -0
- package/dist/src/actions/ParallelAction.d.ts +8 -0
- package/dist/src/actions/SwitchAction.d.ts +11 -0
- package/dist/src/actions/ToastAction.d.ts +19 -0
- package/dist/src/actions/index.d.ts +21 -0
- package/dist/src/components/LazyComponent.d.ts +32 -0
- package/dist/src/env.d.ts +172 -0
- package/dist/src/envOverwrite.d.ts +4 -0
- package/dist/src/factory.d.ts +78 -0
- package/dist/src/index.d.ts +25 -0
- package/dist/src/locale.d.ts +82 -0
- package/dist/src/renderers/Form.d.ts +352 -0
- package/dist/src/renderers/Item.d.ts +795 -0
- package/dist/src/renderers/Options.d.ts +150 -0
- package/dist/src/renderers/Placeholder.d.ts +6 -0
- package/dist/src/renderers/builtin.d.ts +1 -0
- package/dist/src/renderers/wrapControl.d.ts +446 -0
- package/dist/src/schema.d.ts +369 -0
- package/dist/src/store/app.d.ts +89 -0
- package/dist/src/store/combo.d.ts +8504 -0
- package/dist/src/store/crud.d.ts +124 -0
- package/dist/src/store/form.d.ts +3394 -0
- package/dist/src/store/formItem.d.ts +130 -0
- package/dist/src/store/iRenderer.d.ts +46 -0
- package/dist/src/store/index.d.ts +105 -0
- package/dist/src/store/list.d.ts +270 -0
- package/dist/src/store/manager.d.ts +115 -0
- package/dist/src/store/modal.d.ts +84 -0
- package/dist/src/store/node.d.ts +22 -0
- package/dist/src/store/pagination.d.ts +58 -0
- package/dist/src/store/root.d.ts +79 -0
- package/dist/src/store/service.d.ts +71 -0
- package/dist/src/store/table-v2.d.ts +309 -0
- package/dist/src/store/table.d.ts +8334 -0
- package/dist/src/theme.d.ts +83 -0
- package/dist/src/types.d.ts +217 -0
- package/dist/src/utils/Animation.d.ts +22 -0
- package/dist/src/utils/ColorScale.d.ts +19 -0
- package/dist/src/utils/DataSchema.d.ts +25 -0
- package/dist/src/utils/DataScope.d.ts +23 -0
- package/dist/src/utils/RootClose.d.ts +4 -0
- package/dist/src/utils/SimpleMap.d.ts +8 -0
- package/dist/src/utils/api.d.ts +27 -0
- package/dist/src/utils/attachmentAdpator.d.ts +7 -0
- package/dist/src/utils/autobind.d.ts +7 -0
- package/dist/src/utils/columnsSplit.d.ts +1 -0
- package/dist/src/utils/dataMapping.d.ts +3 -0
- package/dist/src/utils/date.d.ts +4 -0
- package/dist/src/utils/debug.d.ts +26 -0
- package/dist/src/utils/dom.d.ts +13 -0
- package/dist/src/utils/errors.d.ts +6 -0
- package/dist/src/utils/escapeHtml.d.ts +1 -0
- package/dist/src/utils/filter-schema.d.ts +12 -0
- package/dist/src/utils/filter.d.ts +1 -0
- package/dist/src/utils/formatDuration.d.ts +1 -0
- package/dist/src/utils/formula.d.ts +16 -0
- package/dist/src/utils/getVariable.d.ts +3 -0
- package/dist/src/utils/grammar.d.ts +4 -0
- package/dist/src/utils/handleAction.d.ts +6 -0
- package/dist/src/utils/helper.d.ts +286 -0
- package/dist/src/utils/icon.d.ts +12 -0
- package/dist/src/utils/image.d.ts +17 -0
- package/dist/src/utils/index.d.ts +12 -0
- package/dist/src/utils/isPureVariable.d.ts +1 -0
- package/dist/src/utils/json-schema-2-amis-schema.d.ts +6 -0
- package/dist/src/utils/keyToPath.d.ts +6 -0
- package/dist/src/utils/makeSorter.d.ts +1 -0
- package/dist/src/utils/markdown.d.ts +5 -0
- package/dist/src/utils/normalizeLink.d.ts +1 -0
- package/dist/src/utils/normalizeOptions.d.ts +7 -0
- package/dist/src/utils/object.d.ts +15 -0
- package/dist/src/utils/offset.d.ts +14 -0
- package/dist/src/utils/offsetParent.d.ts +4 -0
- package/dist/src/utils/optionValueCompare.d.ts +3 -0
- package/dist/src/utils/position.d.ts +15 -0
- package/dist/src/utils/prettyBytes.d.ts +1 -0
- package/dist/src/utils/renderer-event.d.ts +44 -0
- package/dist/src/utils/replaceText.d.ts +6 -0
- package/dist/src/utils/resize-sensor.d.ts +6 -0
- package/dist/src/utils/resolveVariable.d.ts +1 -0
- package/dist/src/utils/resolveVariableAndFilter.d.ts +1 -0
- package/dist/src/utils/scrollPosition.d.ts +6 -0
- package/dist/src/utils/string2regExp.d.ts +1 -0
- package/dist/src/utils/stripNumber.d.ts +1 -0
- package/dist/src/utils/style.d.ts +10 -0
- package/dist/src/utils/tokenize.d.ts +1 -0
- package/dist/src/utils/tpl-builtin.d.ts +18 -0
- package/dist/src/utils/tpl-lodash.d.ts +4 -0
- package/dist/src/utils/tpl.d.ts +11 -0
- package/dist/src/utils/validations.d.ts +39 -0
- package/dist/store/app.js +190 -0
- package/dist/store/combo.js +154 -0
- package/dist/store/crud.js +413 -0
- package/dist/store/form.js +579 -0
- package/dist/store/formItem.js +846 -0
- package/dist/store/iRenderer.js +189 -0
- package/dist/store/index.js +103 -0
- package/dist/store/list.js +248 -0
- package/dist/store/manager.js +56 -0
- package/dist/store/modal.js +54 -0
- package/dist/store/node.js +93 -0
- package/dist/store/pagination.js +60 -0
- package/dist/store/root.js +45 -0
- package/dist/store/service.js +415 -0
- package/dist/store/table-v2.js +471 -0
- package/dist/store/table.js +1105 -0
- package/dist/theme.js +93 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/utils/Animation.js +290 -0
- package/dist/utils/DataSchema.js +120 -0
- package/dist/utils/DataScope.js +151 -0
- package/dist/utils/SimpleMap.js +46 -0
- package/dist/utils/api.js +555 -0
- package/dist/utils/autobind.js +94 -0
- package/dist/utils/dataMapping.js +136 -0
- package/dist/utils/date.js +90 -0
- package/dist/utils/debug.js +343 -0
- package/dist/utils/errors.js +23 -0
- package/dist/utils/escapeHtml.js +24 -0
- package/dist/utils/filter-schema.js +75 -0
- package/dist/utils/filter.js +481 -0
- package/dist/utils/formatDuration.js +27 -0
- package/dist/utils/formula.js +165 -0
- package/dist/utils/getVariable.js +29 -0
- package/dist/utils/grammar.js +54 -0
- package/dist/utils/helper.js +1283 -0
- package/dist/utils/isPureVariable.js +16 -0
- package/dist/utils/keyToPath.js +34 -0
- package/dist/utils/makeSorter.js +30 -0
- package/dist/utils/normalizeLink.js +47 -0
- package/dist/utils/normalizeOptions.js +92 -0
- package/dist/utils/object.js +156 -0
- package/dist/utils/offset.js +36 -0
- package/dist/utils/offsetParent.js +27 -0
- package/dist/utils/optionValueCompare.js +25 -0
- package/dist/utils/position.js +50 -0
- package/dist/utils/prettyBytes.js +28 -0
- package/dist/utils/renderer-event.js +131 -0
- package/dist/utils/replaceText.js +35 -0
- package/dist/utils/resize-sensor.js +177 -0
- package/dist/utils/resolveVariable.js +39 -0
- package/dist/utils/resolveVariableAndFilter.js +37 -0
- package/dist/utils/string2regExp.js +18 -0
- package/dist/utils/stripNumber.js +20 -0
- package/dist/utils/tokenize.js +33 -0
- package/dist/utils/tpl-builtin.js +71 -0
- package/dist/utils/tpl-lodash.js +71 -0
- package/dist/utils/tpl.js +140 -0
- package/dist/utils/validations.js +377 -0
- package/package.json +121 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-core v1.0.0-beta.0
|
|
3
|
+
* Copyright 2018-2022 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
|
+
|
|
10
|
+
var tslib = require('tslib');
|
|
11
|
+
var mobxStateTree = require('mobx-state-tree');
|
|
12
|
+
require('../utils/helper.js');
|
|
13
|
+
require('amis-formula');
|
|
14
|
+
require('moment');
|
|
15
|
+
var object = require('../utils/object.js');
|
|
16
|
+
var getVariable = require('../utils/getVariable.js');
|
|
17
|
+
var dataMapping = require('../utils/dataMapping.js');
|
|
18
|
+
require('../utils/filter.js');
|
|
19
|
+
var SimpleMap = require('../utils/SimpleMap.js');
|
|
20
|
+
var node = require('./node.js');
|
|
21
|
+
|
|
22
|
+
var iRendererStore = node.StoreNode.named('iRendererStore')
|
|
23
|
+
.props({
|
|
24
|
+
hasRemoteData: mobxStateTree.types.optional(mobxStateTree.types.boolean, false),
|
|
25
|
+
data: mobxStateTree.types.optional(mobxStateTree.types.frozen(), {}),
|
|
26
|
+
initedAt: 0,
|
|
27
|
+
updatedAt: 0,
|
|
28
|
+
pristine: mobxStateTree.types.optional(mobxStateTree.types.frozen(), {}),
|
|
29
|
+
action: mobxStateTree.types.optional(mobxStateTree.types.frozen(), undefined),
|
|
30
|
+
dialogOpen: false,
|
|
31
|
+
dialogData: mobxStateTree.types.optional(mobxStateTree.types.frozen(), undefined),
|
|
32
|
+
drawerOpen: false,
|
|
33
|
+
drawerData: mobxStateTree.types.optional(mobxStateTree.types.frozen(), undefined)
|
|
34
|
+
})
|
|
35
|
+
.views(function (self) { return ({
|
|
36
|
+
getValueByName: function (name, canAccessSuper) {
|
|
37
|
+
if (canAccessSuper === void 0) { canAccessSuper = true; }
|
|
38
|
+
return getVariable.getVariable(self.data, name, canAccessSuper);
|
|
39
|
+
},
|
|
40
|
+
getPristineValueByName: function (name) {
|
|
41
|
+
return getVariable.getVariable(self.pristine, name, false);
|
|
42
|
+
}
|
|
43
|
+
}); })
|
|
44
|
+
.actions(function (self) {
|
|
45
|
+
var dialogCallbacks = new SimpleMap.SimpleMap();
|
|
46
|
+
return {
|
|
47
|
+
initData: function (data, skipSetPristine) {
|
|
48
|
+
if (data === void 0) { data = {}; }
|
|
49
|
+
if (skipSetPristine === void 0) { skipSetPristine = false; }
|
|
50
|
+
self.initedAt = Date.now();
|
|
51
|
+
!skipSetPristine && (self.pristine = data);
|
|
52
|
+
self.data = data;
|
|
53
|
+
},
|
|
54
|
+
reset: function () {
|
|
55
|
+
self.data = self.pristine;
|
|
56
|
+
},
|
|
57
|
+
updateData: function (data, tag, replace) {
|
|
58
|
+
if (data === void 0) { data = {}; }
|
|
59
|
+
var prev = self.data;
|
|
60
|
+
var newData;
|
|
61
|
+
if (tag) {
|
|
62
|
+
var proto = object.createObject(self.data.__super || null, tag);
|
|
63
|
+
newData = object.createObject(proto, tslib.__assign(tslib.__assign({}, (replace ? {} : self.data)), data));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
newData = object.extendObject(self.data, data, !replace);
|
|
67
|
+
}
|
|
68
|
+
Object.defineProperty(newData, '__prev', {
|
|
69
|
+
value: tslib.__assign({}, prev),
|
|
70
|
+
enumerable: false,
|
|
71
|
+
configurable: false,
|
|
72
|
+
writable: false
|
|
73
|
+
});
|
|
74
|
+
self.data = newData;
|
|
75
|
+
},
|
|
76
|
+
changeValue: function (name, value, changePristine, force, otherModifier) {
|
|
77
|
+
if (!name) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
var origin = getVariable.getVariable(self.data, name, false);
|
|
81
|
+
if (value === origin && !force) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
var prev = self.data;
|
|
85
|
+
var data = object.cloneObject(self.data);
|
|
86
|
+
if (prev.__prev) {
|
|
87
|
+
// 基于之前的 __prev 改
|
|
88
|
+
var prevData = object.cloneObject(prev.__prev);
|
|
89
|
+
object.setVariable(prevData, name, origin);
|
|
90
|
+
Object.defineProperty(data, '__prev', {
|
|
91
|
+
value: prevData,
|
|
92
|
+
enumerable: false,
|
|
93
|
+
configurable: false,
|
|
94
|
+
writable: false
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
Object.defineProperty(data, '__prev', {
|
|
99
|
+
value: tslib.__assign({}, prev),
|
|
100
|
+
enumerable: false,
|
|
101
|
+
configurable: false,
|
|
102
|
+
writable: false
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
if (value === undefined) {
|
|
106
|
+
object.deleteVariable(data, name);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
object.setVariable(data, name, value);
|
|
110
|
+
}
|
|
111
|
+
otherModifier === null || otherModifier === void 0 ? void 0 : otherModifier(data);
|
|
112
|
+
if (changePristine) {
|
|
113
|
+
var pristine = object.cloneObject(self.pristine);
|
|
114
|
+
object.setVariable(pristine, name, value);
|
|
115
|
+
otherModifier === null || otherModifier === void 0 ? void 0 : otherModifier(pristine);
|
|
116
|
+
self.pristine = pristine;
|
|
117
|
+
}
|
|
118
|
+
if (!data.__pristine) {
|
|
119
|
+
Object.defineProperty(data, '__pristine', {
|
|
120
|
+
value: self.pristine,
|
|
121
|
+
enumerable: false,
|
|
122
|
+
configurable: false,
|
|
123
|
+
writable: false
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
self.data = data;
|
|
127
|
+
},
|
|
128
|
+
setCurrentAction: function (action) {
|
|
129
|
+
self.action = action;
|
|
130
|
+
},
|
|
131
|
+
openDialog: function (ctx, additonal, callback) {
|
|
132
|
+
var proto = ctx.__super ? ctx.__super : self.data;
|
|
133
|
+
if (additonal) {
|
|
134
|
+
proto = object.createObject(proto, additonal);
|
|
135
|
+
}
|
|
136
|
+
var data = object.createObject(proto, tslib.__assign({}, ctx));
|
|
137
|
+
if (self.action.dialog && self.action.dialog.data) {
|
|
138
|
+
self.dialogData = dataMapping.dataMapping(self.action.dialog.data, data);
|
|
139
|
+
var clonedAction = tslib.__assign(tslib.__assign({}, self.action), { dialog: tslib.__assign({}, self.action.dialog) });
|
|
140
|
+
delete clonedAction.dialog.data;
|
|
141
|
+
self.action = clonedAction;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
self.dialogData = data;
|
|
145
|
+
}
|
|
146
|
+
self.dialogOpen = true;
|
|
147
|
+
callback && dialogCallbacks.set(self.dialogData, callback);
|
|
148
|
+
},
|
|
149
|
+
closeDialog: function (result) {
|
|
150
|
+
var callback = dialogCallbacks.get(self.dialogData);
|
|
151
|
+
self.dialogOpen = false;
|
|
152
|
+
if (callback) {
|
|
153
|
+
dialogCallbacks.delete(self.dialogData);
|
|
154
|
+
setTimeout(function () { return callback(result); }, 200);
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
openDrawer: function (ctx, additonal, callback) {
|
|
158
|
+
var proto = ctx.__super ? ctx.__super : self.data;
|
|
159
|
+
if (additonal) {
|
|
160
|
+
proto = object.createObject(proto, additonal);
|
|
161
|
+
}
|
|
162
|
+
var data = object.createObject(proto, tslib.__assign({}, ctx));
|
|
163
|
+
if (self.action.drawer.data) {
|
|
164
|
+
self.drawerData = dataMapping.dataMapping(self.action.drawer.data, data);
|
|
165
|
+
var clonedAction = tslib.__assign(tslib.__assign({}, self.action), { dialog: tslib.__assign({}, self.action.dialog) });
|
|
166
|
+
delete clonedAction.dialog.data;
|
|
167
|
+
self.action = clonedAction;
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
self.drawerData = data;
|
|
171
|
+
}
|
|
172
|
+
self.drawerOpen = true;
|
|
173
|
+
if (callback) {
|
|
174
|
+
dialogCallbacks.set(self.drawerData, callback);
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
closeDrawer: function (result) {
|
|
178
|
+
var callback = dialogCallbacks.get(self.drawerData);
|
|
179
|
+
self.drawerOpen = false;
|
|
180
|
+
if (callback) {
|
|
181
|
+
dialogCallbacks.delete(self.drawerData);
|
|
182
|
+
setTimeout(function () { return callback(result); }, 200);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
// export type SIRendererStore = typeof iRendererStore.SnapshotType;
|
|
188
|
+
|
|
189
|
+
exports.iRendererStore = iRendererStore;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-core v1.0.0-beta.0
|
|
3
|
+
* Copyright 2018-2022 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
|
+
|
|
10
|
+
var tslib = require('tslib');
|
|
11
|
+
var mobxStateTree = require('mobx-state-tree');
|
|
12
|
+
var iRenderer = require('./iRenderer.js');
|
|
13
|
+
var service = require('./service.js');
|
|
14
|
+
var combo = require('./combo.js');
|
|
15
|
+
var form = require('./form.js');
|
|
16
|
+
var crud = require('./crud.js');
|
|
17
|
+
var table = require('./table.js');
|
|
18
|
+
var tableV2 = require('./table-v2.js');
|
|
19
|
+
var list = require('./list.js');
|
|
20
|
+
var modal = require('./modal.js');
|
|
21
|
+
var find = require('lodash/find');
|
|
22
|
+
var formItem = require('./formItem.js');
|
|
23
|
+
var manager = require('./manager.js');
|
|
24
|
+
var pagination = require('./pagination.js');
|
|
25
|
+
var app = require('./app.js');
|
|
26
|
+
var root = require('./root.js');
|
|
27
|
+
|
|
28
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
29
|
+
|
|
30
|
+
var find__default = /*#__PURE__*/_interopDefaultLegacy(find);
|
|
31
|
+
|
|
32
|
+
mobxStateTree.setLivelynessChecking(process.env.NODE_ENV === 'production' ? 'ignore' : 'error');
|
|
33
|
+
var allowedStoreList = [
|
|
34
|
+
service.ServiceStore,
|
|
35
|
+
form.FormStore,
|
|
36
|
+
combo.ComboStore,
|
|
37
|
+
crud.CRUDStore,
|
|
38
|
+
table.TableStore,
|
|
39
|
+
tableV2.TableStoreV2,
|
|
40
|
+
list.ListStore,
|
|
41
|
+
modal.ModalStore,
|
|
42
|
+
formItem.FormItemStore,
|
|
43
|
+
pagination.PaginationStore,
|
|
44
|
+
app.AppStore
|
|
45
|
+
];
|
|
46
|
+
var RendererStore = mobxStateTree.types
|
|
47
|
+
.model('RendererStore', {
|
|
48
|
+
storeType: 'RendererStore'
|
|
49
|
+
})
|
|
50
|
+
.props({
|
|
51
|
+
visibleState: mobxStateTree.types.optional(mobxStateTree.types.frozen(), {}),
|
|
52
|
+
disableState: mobxStateTree.types.optional(mobxStateTree.types.frozen(), {})
|
|
53
|
+
})
|
|
54
|
+
.views(function (self) { return ({
|
|
55
|
+
get fetcher() {
|
|
56
|
+
return mobxStateTree.getEnv(self).fetcher;
|
|
57
|
+
},
|
|
58
|
+
get notify() {
|
|
59
|
+
return mobxStateTree.getEnv(self).notify;
|
|
60
|
+
},
|
|
61
|
+
get isCancel() {
|
|
62
|
+
return mobxStateTree.getEnv(self).isCancel;
|
|
63
|
+
},
|
|
64
|
+
get __() {
|
|
65
|
+
return mobxStateTree.getEnv(self).translate;
|
|
66
|
+
},
|
|
67
|
+
getStoreById: function (id) {
|
|
68
|
+
return manager.getStoreById(id);
|
|
69
|
+
},
|
|
70
|
+
get stores() {
|
|
71
|
+
return manager.getStores();
|
|
72
|
+
}
|
|
73
|
+
}); })
|
|
74
|
+
.actions(function (self) { return ({
|
|
75
|
+
addStore: function (store) {
|
|
76
|
+
if (store.storeType === root.RootStore.name) {
|
|
77
|
+
return manager.addStore(root.RootStore.create(store, mobxStateTree.getEnv(self)));
|
|
78
|
+
}
|
|
79
|
+
var factory = find__default["default"](allowedStoreList, function (item) { return item.name === store.storeType; });
|
|
80
|
+
return manager.addStore(factory.create(store, mobxStateTree.getEnv(self)));
|
|
81
|
+
},
|
|
82
|
+
removeStore: function (store) {
|
|
83
|
+
// store.dispose();
|
|
84
|
+
manager.removeStore(store);
|
|
85
|
+
},
|
|
86
|
+
setVisible: function (id, value) {
|
|
87
|
+
var _a;
|
|
88
|
+
var state = tslib.__assign(tslib.__assign({}, self.visibleState), (_a = {}, _a[id] = value, _a));
|
|
89
|
+
self.visibleState = state;
|
|
90
|
+
},
|
|
91
|
+
setDisable: function (id, value) {
|
|
92
|
+
var _a;
|
|
93
|
+
var state = tslib.__assign(tslib.__assign({}, self.disableState), (_a = {}, _a[id] = value, _a));
|
|
94
|
+
self.disableState = state;
|
|
95
|
+
}
|
|
96
|
+
}); });
|
|
97
|
+
var RegisterStore = function (store) {
|
|
98
|
+
allowedStoreList.push(store);
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
exports.iRendererStore = iRenderer.iRendererStore;
|
|
102
|
+
exports.RegisterStore = RegisterStore;
|
|
103
|
+
exports.RendererStore = RendererStore;
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-core v1.0.0-beta.0
|
|
3
|
+
* Copyright 2018-2022 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
|
+
|
|
10
|
+
var mobxStateTree = require('mobx-state-tree');
|
|
11
|
+
var iRenderer = require('./iRenderer.js');
|
|
12
|
+
var isEqual = require('lodash/isEqual');
|
|
13
|
+
var find = require('lodash/find');
|
|
14
|
+
var helper = require('../utils/helper.js');
|
|
15
|
+
var tpl = require('../utils/tpl.js');
|
|
16
|
+
var object = require('../utils/object.js');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
|
|
21
|
+
var find__default = /*#__PURE__*/_interopDefaultLegacy(find);
|
|
22
|
+
|
|
23
|
+
var Item = mobxStateTree.types
|
|
24
|
+
.model('Item', {
|
|
25
|
+
id: mobxStateTree.types.identifier,
|
|
26
|
+
pristine: mobxStateTree.types.frozen(),
|
|
27
|
+
data: mobxStateTree.types.frozen(),
|
|
28
|
+
index: mobxStateTree.types.number,
|
|
29
|
+
newIndex: mobxStateTree.types.number
|
|
30
|
+
})
|
|
31
|
+
.views(function (self) { return ({
|
|
32
|
+
get checked() {
|
|
33
|
+
return mobxStateTree.getParent(self, 2).isSelected(self);
|
|
34
|
+
},
|
|
35
|
+
get modified() {
|
|
36
|
+
if (!self.data) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
return Object.keys(self.data).some(function (key) { return !isEqual__default["default"](self.data[key], self.pristine[key]); });
|
|
40
|
+
},
|
|
41
|
+
get moved() {
|
|
42
|
+
return self.index !== self.newIndex;
|
|
43
|
+
},
|
|
44
|
+
get locals() {
|
|
45
|
+
return object.createObject(object.extendObject(mobxStateTree.getParent(self, 2).data, {
|
|
46
|
+
index: self.index
|
|
47
|
+
}), self.data);
|
|
48
|
+
},
|
|
49
|
+
get checkable() {
|
|
50
|
+
var table = mobxStateTree.getParent(self, 2);
|
|
51
|
+
return table && table.itemCheckableOn
|
|
52
|
+
? tpl.evalExpression(table.itemCheckableOn, self.locals)
|
|
53
|
+
: true;
|
|
54
|
+
},
|
|
55
|
+
get draggable() {
|
|
56
|
+
var table = mobxStateTree.getParent(self, 2);
|
|
57
|
+
return table && table.itemDraggableOn
|
|
58
|
+
? tpl.evalExpression(table.itemDraggableOn, self.locals)
|
|
59
|
+
: true;
|
|
60
|
+
}
|
|
61
|
+
}); })
|
|
62
|
+
.actions(function (self) { return ({
|
|
63
|
+
toggle: function () {
|
|
64
|
+
mobxStateTree.getParent(self, 2).toggle(self);
|
|
65
|
+
},
|
|
66
|
+
change: function (values, savePristine) {
|
|
67
|
+
self.data = helper.immutableExtends(self.data, values);
|
|
68
|
+
savePristine && (self.pristine = self.data);
|
|
69
|
+
},
|
|
70
|
+
reset: function () {
|
|
71
|
+
self.newIndex = self.index;
|
|
72
|
+
self.data = self.pristine;
|
|
73
|
+
}
|
|
74
|
+
}); });
|
|
75
|
+
var ListStore = iRenderer.iRendererStore
|
|
76
|
+
.named('ListStore')
|
|
77
|
+
.props({
|
|
78
|
+
items: mobxStateTree.types.array(Item),
|
|
79
|
+
selectedItems: mobxStateTree.types.array(mobxStateTree.types.reference(Item)),
|
|
80
|
+
primaryField: 'id',
|
|
81
|
+
orderBy: '',
|
|
82
|
+
orderDir: mobxStateTree.types.optional(mobxStateTree.types.union(mobxStateTree.types.literal('asc'), mobxStateTree.types.literal('desc')), 'asc'),
|
|
83
|
+
draggable: false,
|
|
84
|
+
dragging: false,
|
|
85
|
+
multiple: true,
|
|
86
|
+
selectable: false,
|
|
87
|
+
itemCheckableOn: '',
|
|
88
|
+
itemDraggableOn: '',
|
|
89
|
+
hideCheckToggler: false
|
|
90
|
+
})
|
|
91
|
+
.views(function (self) {
|
|
92
|
+
function isSelected(item) {
|
|
93
|
+
return !!~self.selectedItems.indexOf(item);
|
|
94
|
+
}
|
|
95
|
+
function getModifiedItems() {
|
|
96
|
+
return self.items.filter(function (item) { return item.modified; });
|
|
97
|
+
}
|
|
98
|
+
function getModified() {
|
|
99
|
+
return getModifiedItems().length;
|
|
100
|
+
}
|
|
101
|
+
function getMovedItems() {
|
|
102
|
+
return self.items.filter(function (item) { return item.moved; });
|
|
103
|
+
}
|
|
104
|
+
function getMovied() {
|
|
105
|
+
return getMovedItems().length;
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
get allChecked() {
|
|
109
|
+
return !!(self.selectedItems.length ===
|
|
110
|
+
self.checkableItems.length &&
|
|
111
|
+
self.checkableItems.length);
|
|
112
|
+
},
|
|
113
|
+
get checkableItems() {
|
|
114
|
+
return self.items.filter(function (item) { return item.checkable; });
|
|
115
|
+
},
|
|
116
|
+
get unSelectedItems() {
|
|
117
|
+
return self.items.filter(function (item) { return !item.checked; });
|
|
118
|
+
},
|
|
119
|
+
isSelected: isSelected,
|
|
120
|
+
get modified() {
|
|
121
|
+
return getModified();
|
|
122
|
+
},
|
|
123
|
+
get modifiedItems() {
|
|
124
|
+
return getModifiedItems();
|
|
125
|
+
},
|
|
126
|
+
get moved() {
|
|
127
|
+
return getMovied();
|
|
128
|
+
},
|
|
129
|
+
get movedItems() {
|
|
130
|
+
return getMovedItems();
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
})
|
|
134
|
+
.actions(function (self) {
|
|
135
|
+
function update(config) {
|
|
136
|
+
config.selectable === void 0 || (self.selectable = config.selectable);
|
|
137
|
+
config.draggable === void 0 || (self.draggable = config.draggable);
|
|
138
|
+
config.multiple === void 0 || (self.multiple = config.multiple);
|
|
139
|
+
config.hideCheckToggler === void 0 ||
|
|
140
|
+
(self.hideCheckToggler = config.hideCheckToggler);
|
|
141
|
+
if (typeof config.orderBy !== 'undefined') {
|
|
142
|
+
setOrderByInfo(config.orderBy, config.orderDir === 'desc' ? 'desc' : 'asc');
|
|
143
|
+
}
|
|
144
|
+
config.itemCheckableOn === void 0 ||
|
|
145
|
+
(self.itemCheckableOn = config.itemCheckableOn);
|
|
146
|
+
config.itemDraggableOn === void 0 ||
|
|
147
|
+
(self.itemDraggableOn = config.itemDraggableOn);
|
|
148
|
+
}
|
|
149
|
+
function initItems(items) {
|
|
150
|
+
var arr = items.map(function (item, key) {
|
|
151
|
+
item = object.isObject(item)
|
|
152
|
+
? item
|
|
153
|
+
: {
|
|
154
|
+
item: item
|
|
155
|
+
};
|
|
156
|
+
return {
|
|
157
|
+
// id: String((item as any)[self.primaryField] || key),
|
|
158
|
+
id: helper.guid(),
|
|
159
|
+
index: key,
|
|
160
|
+
newIndex: key,
|
|
161
|
+
pristine: item,
|
|
162
|
+
data: item,
|
|
163
|
+
modified: false
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
self.selectedItems.clear();
|
|
167
|
+
self.items.replace(arr);
|
|
168
|
+
self.dragging = false;
|
|
169
|
+
}
|
|
170
|
+
function updateSelected(selected, valueField) {
|
|
171
|
+
self.selectedItems.clear();
|
|
172
|
+
self.items.forEach(function (item) {
|
|
173
|
+
if (~selected.indexOf(item.pristine)) {
|
|
174
|
+
self.selectedItems.push(item);
|
|
175
|
+
}
|
|
176
|
+
else if (find__default["default"](selected, function (a) {
|
|
177
|
+
return a[valueField || 'value'] == item.pristine[valueField || 'value'];
|
|
178
|
+
})) {
|
|
179
|
+
self.selectedItems.push(item);
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
function toggleAll() {
|
|
184
|
+
if (self.allChecked) {
|
|
185
|
+
self.selectedItems.clear();
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
self.selectedItems.replace(self.checkableItems);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function toggle(item) {
|
|
192
|
+
if (!item.checkable) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
var idx = self.selectedItems.indexOf(item);
|
|
196
|
+
if (self.multiple) {
|
|
197
|
+
~idx
|
|
198
|
+
? self.selectedItems.splice(idx, 1)
|
|
199
|
+
: self.selectedItems.push(item);
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
~idx
|
|
203
|
+
? self.selectedItems.splice(idx, 1)
|
|
204
|
+
: self.selectedItems.replace([item]);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
function clear() {
|
|
208
|
+
self.selectedItems.clear();
|
|
209
|
+
}
|
|
210
|
+
function setOrderByInfo(key, direction) {
|
|
211
|
+
self.orderBy = key;
|
|
212
|
+
self.orderDir = direction;
|
|
213
|
+
}
|
|
214
|
+
function reset() {
|
|
215
|
+
self.items.forEach(function (item) { return item.reset(); });
|
|
216
|
+
self.dragging = false;
|
|
217
|
+
}
|
|
218
|
+
function toggleDragging() {
|
|
219
|
+
self.dragging = !self.dragging;
|
|
220
|
+
}
|
|
221
|
+
function stopDragging() {
|
|
222
|
+
self.dragging = false;
|
|
223
|
+
}
|
|
224
|
+
function exchange(fromIndex, toIndex) {
|
|
225
|
+
var item = self.items[fromIndex];
|
|
226
|
+
item.newIndex = toIndex;
|
|
227
|
+
var newItems = self.items.slice();
|
|
228
|
+
newItems.splice(fromIndex, 1);
|
|
229
|
+
newItems.splice(toIndex, 0, item);
|
|
230
|
+
self.items.replace(newItems);
|
|
231
|
+
}
|
|
232
|
+
return {
|
|
233
|
+
update: update,
|
|
234
|
+
initItems: initItems,
|
|
235
|
+
updateSelected: updateSelected,
|
|
236
|
+
toggleAll: toggleAll,
|
|
237
|
+
toggle: toggle,
|
|
238
|
+
clear: clear,
|
|
239
|
+
setOrderByInfo: setOrderByInfo,
|
|
240
|
+
reset: reset,
|
|
241
|
+
toggleDragging: toggleDragging,
|
|
242
|
+
stopDragging: stopDragging,
|
|
243
|
+
exchange: exchange
|
|
244
|
+
};
|
|
245
|
+
});
|
|
246
|
+
|
|
247
|
+
exports.Item = Item;
|
|
248
|
+
exports.ListStore = ListStore;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-core v1.0.0-beta.0
|
|
3
|
+
* Copyright 2018-2022 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
|
+
|
|
10
|
+
var mobxStateTree = require('mobx-state-tree');
|
|
11
|
+
|
|
12
|
+
var stores = {};
|
|
13
|
+
function addStore(store) {
|
|
14
|
+
if (stores[store.id]) {
|
|
15
|
+
return stores[store.id];
|
|
16
|
+
}
|
|
17
|
+
stores[store.id] = store;
|
|
18
|
+
// drawer dialog 不加进去,否则有些容器就不会自我销毁 store 了。
|
|
19
|
+
if (store.parentId && !/(?:dialog|drawer)$/.test(store.path)) {
|
|
20
|
+
var parent_1 = stores[store.parentId];
|
|
21
|
+
parent_1.addChildId(store.id);
|
|
22
|
+
}
|
|
23
|
+
cleanUp();
|
|
24
|
+
return store;
|
|
25
|
+
}
|
|
26
|
+
var toDelete = [];
|
|
27
|
+
function removeStore(store) {
|
|
28
|
+
var id = store.id;
|
|
29
|
+
toDelete.push(id);
|
|
30
|
+
store.dispose(cleanUp);
|
|
31
|
+
}
|
|
32
|
+
function cleanUp() {
|
|
33
|
+
var index = toDelete.length - 1;
|
|
34
|
+
while (index >= 0) {
|
|
35
|
+
var id = toDelete[index];
|
|
36
|
+
var store = stores[id];
|
|
37
|
+
if (store && !mobxStateTree.isAlive(store)) {
|
|
38
|
+
delete stores[id];
|
|
39
|
+
toDelete.splice(index, 1);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
index--;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function getStoreById(id) {
|
|
47
|
+
return stores[id];
|
|
48
|
+
}
|
|
49
|
+
function getStores() {
|
|
50
|
+
return stores;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
exports.addStore = addStore;
|
|
54
|
+
exports.getStoreById = getStoreById;
|
|
55
|
+
exports.getStores = getStores;
|
|
56
|
+
exports.removeStore = removeStore;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-core v1.0.0-beta.0
|
|
3
|
+
* Copyright 2018-2022 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
|
+
|
|
10
|
+
var service = require('./service.js');
|
|
11
|
+
var mobxStateTree = require('mobx-state-tree');
|
|
12
|
+
require('../utils/helper.js');
|
|
13
|
+
var object = require('../utils/object.js');
|
|
14
|
+
|
|
15
|
+
var ModalStore = service.ServiceStore.named('ModalStore')
|
|
16
|
+
.props({
|
|
17
|
+
form: mobxStateTree.types.frozen(),
|
|
18
|
+
entered: false,
|
|
19
|
+
resizeCoord: 0,
|
|
20
|
+
schema: mobxStateTree.types.frozen()
|
|
21
|
+
})
|
|
22
|
+
.views(function (self) {
|
|
23
|
+
return {
|
|
24
|
+
get formData() {
|
|
25
|
+
return object.createObject(self.data, self.form);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
})
|
|
29
|
+
.actions(function (self) {
|
|
30
|
+
return {
|
|
31
|
+
setEntered: function (value) {
|
|
32
|
+
self.entered = value;
|
|
33
|
+
},
|
|
34
|
+
setFormData: function (obj) {
|
|
35
|
+
self.form = obj;
|
|
36
|
+
},
|
|
37
|
+
reset: function () {
|
|
38
|
+
self.form = {};
|
|
39
|
+
self.reInitData({}, true);
|
|
40
|
+
},
|
|
41
|
+
setResizeCoord: function (value) {
|
|
42
|
+
self.resizeCoord = value;
|
|
43
|
+
},
|
|
44
|
+
setSchema: function (schema) {
|
|
45
|
+
if (schema && schema.then) {
|
|
46
|
+
schema.then(function (value) { return mobxStateTree.isAlive(self) && self.setSchema(value); });
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
self.schema = schema;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
exports.ModalStore = ModalStore;
|