amis 1.9.1-beta.21 → 1.9.1-beta.24
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/components/AssociatedSelection.d.ts +40 -40
- package/lib/components/Badge.d.ts +1 -1
- package/lib/components/Badge.js.map +1 -1
- package/lib/components/ChainedSelection.d.ts +40 -40
- package/lib/components/GroupedSelection.d.ts +40 -40
- package/lib/components/GroupedSelection.js +2 -3
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +0 -1
- package/lib/components/PickerContainer.js +4 -4
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/ResultBox.js +3 -1
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +53 -43
- package/lib/components/ResultList.js +22 -34
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/ResultTableList.d.ts +40 -40
- package/lib/components/ResultTreeList.d.ts +40 -40
- package/lib/components/Select.js +10 -6
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Selection.d.ts +40 -41
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/TableSelection.d.ts +40 -40
- package/lib/components/TabsTransfer.d.ts +2 -2
- package/lib/components/TabsTransfer.js.map +1 -1
- package/lib/components/Transfer.d.ts +40 -40
- package/lib/components/Transfer.js +1 -1
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +40 -40
- package/lib/components/TreeSelection.d.ts +40 -40
- package/lib/components/TreeSelection.js +2 -3
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +45 -45
- package/lib/components/formula/Editor.js +16 -11
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +85 -40
- package/lib/components/formula/Picker.js +12 -6
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/formula/VariableList.d.ts +0 -2
- package/lib/components/formula/VariableList.js +5 -15
- package/lib/components/formula/VariableList.js.map +2 -2
- package/lib/components/index.d.ts +1 -3
- package/lib/components/index.js +1 -5
- package/lib/components/index.js.map +2 -2
- package/lib/components/schema-editor/SchemaVariableList.d.ts +0 -1
- package/lib/components/schema-editor/SchemaVariableList.js +2 -2
- package/lib/components/schema-editor/SchemaVariableList.js.map +2 -2
- package/lib/components/schema-editor/SchemaVariableListPicker.d.ts +0 -1
- package/lib/components/schema-editor/SchemaVariableListPicker.js +2 -2
- package/lib/components/schema-editor/SchemaVariableListPicker.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/index.js +1 -1
- package/lib/renderers/CRUD.js +3 -3
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +66 -20
- package/lib/renderers/Form/Editor.d.ts +66 -20
- package/lib/renderers/Form/Group.js +1 -1
- package/lib/renderers/Form/Group.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +5 -5
- package/lib/renderers/Form/InputFormula.js +4 -3
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputTag.d.ts +1 -1
- package/lib/renderers/Form/InputTag.js.map +1 -1
- package/lib/renderers/Form/Options.js +7 -7
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +6 -1
- package/lib/renderers/Form/Select.js +3 -1
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +0 -1
- package/lib/renderers/Form/TreeSelect.js +1 -9
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +9 -4
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Table/exportExcel.js +1 -1
- package/lib/renderers/Table/exportExcel.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +2 -0
- package/lib/renderers/Table/index.js +37 -5
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tpl.d.ts +4 -0
- package/lib/renderers/Tpl.js +6 -3
- package/lib/renderers/Tpl.js.map +2 -2
- package/lib/store/combo.d.ts +72 -22
- package/lib/store/form.d.ts +30 -9
- package/lib/store/form.js +28 -10
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.d.ts +3 -1
- package/lib/store/formItem.js +3 -5
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.d.ts +60 -18
- package/lib/themes/ang-ie11.css +33 -9
- package/lib/themes/ang.css +27 -9
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +33 -9
- package/lib/themes/antd.css +27 -9
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +35 -15
- package/lib/themes/cxd.css +31 -17
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +33 -9
- package/lib/themes/dark.css +27 -9
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +35 -15
- package/lib/themes/default.css +31 -17
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/formula.js +2 -3
- package/lib/utils/formula.js.map +2 -2
- package/lib/utils/helper.js +1 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +22 -16
- package/scss/_mixins.scss +1 -1
- package/scss/components/form/_date.scss +9 -10
- package/scss/components/form/_select.scss +14 -0
- package/scss/components/form/_transfer.scss +1 -2
- package/scss/themes/cxd.scss +4 -9
- package/sdk/ang-ie11.css +36 -9
- package/sdk/ang.css +30 -9
- package/sdk/antd-ie11.css +36 -9
- package/sdk/antd.css +30 -9
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +38 -16
- package/sdk/cxd.css +34 -18
- package/sdk/dark-ie11.css +36 -9
- package/sdk/dark.css +30 -9
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +38 -16
- package/sdk/sdk.css +34 -18
- package/sdk/sdk.js +1356 -1354
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/components/Badge.tsx +1 -1
- package/src/components/GroupedSelection.tsx +2 -3
- package/src/components/PickerContainer.tsx +8 -13
- package/src/components/ResultBox.tsx +3 -1
- package/src/components/ResultList.tsx +51 -48
- package/src/components/Select.tsx +16 -8
- package/src/components/Selection.tsx +0 -1
- package/src/components/TabsTransfer.tsx +2 -2
- package/src/components/Transfer.tsx +4 -0
- package/src/components/TreeSelection.tsx +1 -2
- package/src/components/formula/Editor.tsx +51 -38
- package/src/components/formula/Picker.tsx +26 -7
- package/src/components/formula/VariableList.tsx +2 -36
- package/src/components/index.tsx +0 -4
- package/src/components/schema-editor/SchemaVariableList.tsx +2 -4
- package/src/components/schema-editor/SchemaVariableListPicker.tsx +1 -4
- package/src/renderers/CRUD.tsx +3 -3
- package/src/renderers/Form/Group.tsx +1 -1
- package/src/renderers/Form/InputFormula.tsx +11 -10
- package/src/renderers/Form/InputTag.tsx +1 -1
- package/src/renderers/Form/Options.tsx +7 -9
- package/src/renderers/Form/Select.tsx +10 -2
- package/src/renderers/Form/TreeSelect.tsx +14 -16
- package/src/renderers/Form/index.tsx +13 -2
- package/src/renderers/Table/exportExcel.ts +1 -1
- package/src/renderers/Table/index.tsx +42 -6
- package/src/renderers/Tpl.tsx +11 -1
- package/src/store/form.ts +31 -24
- package/src/store/formItem.ts +65 -52
- package/src/utils/formula.ts +2 -2
- package/src/utils/helper.ts +2 -2
package/src/store/formItem.ts
CHANGED
@@ -326,70 +326,83 @@ export const FormItemStore = StoreNode.named('FormItemStore')
|
|
326
326
|
}
|
327
327
|
|
328
328
|
let validateCancel: Function | null = null;
|
329
|
-
const validate: (
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
329
|
+
const validate: (
|
330
|
+
data: Object,
|
331
|
+
hook?: any,
|
332
|
+
/**
|
333
|
+
* customRules主要是为了支持action.require的验证方式
|
334
|
+
* 这样可以基于不同的action实现不同的校验规则
|
335
|
+
*/
|
336
|
+
customRules?: {[propName: string]: any}
|
337
|
+
) => Promise<boolean> = flow(function* validate(
|
338
|
+
data: Object,
|
339
|
+
hook?: any,
|
340
|
+
customRules?: {[propName: string]: any}
|
341
|
+
) {
|
342
|
+
if (self.validating && !isEffectiveApi(self.validateApi, data)) {
|
343
|
+
return self.valid;
|
344
|
+
}
|
340
345
|
|
341
|
-
|
342
|
-
|
343
|
-
|
346
|
+
self.validating = true;
|
347
|
+
clearError();
|
348
|
+
if (hook) {
|
349
|
+
yield hook();
|
350
|
+
}
|
344
351
|
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
352
|
+
addError(
|
353
|
+
doValidate(
|
354
|
+
self.tmpValue,
|
355
|
+
data,
|
356
|
+
customRules ? str2rules(customRules) : self.rules,
|
357
|
+
self.messages,
|
358
|
+
self.__
|
359
|
+
)
|
360
|
+
);
|
350
361
|
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
createObject(data, {[self.name]: self.tmpValue}),
|
355
|
-
{
|
356
|
-
cancelExecutor: (executor: Function) =>
|
357
|
-
(validateCancel = executor)
|
358
|
-
}
|
359
|
-
);
|
362
|
+
if (!self.errors.length && isEffectiveApi(self.validateApi, data)) {
|
363
|
+
if (validateCancel) {
|
364
|
+
validateCancel();
|
360
365
|
validateCancel = null;
|
366
|
+
}
|
361
367
|
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
)
|
368
|
+
const json: Payload = yield getEnv(self).fetcher(
|
369
|
+
self.validateApi,
|
370
|
+
/** 如果配置validateApi,需要将用户最新输入同步到数据域内 */
|
371
|
+
createObject(data, {[self.name]: self.tmpValue}),
|
372
|
+
{
|
373
|
+
cancelExecutor: (executor: Function) => (validateCancel = executor)
|
368
374
|
}
|
375
|
+
);
|
376
|
+
validateCancel = null;
|
377
|
+
|
378
|
+
if (!json.ok && json.status === 422 && json.errors) {
|
379
|
+
addError(
|
380
|
+
String(json.errors || json.msg || `表单项「${self.name}」校验失败`)
|
381
|
+
);
|
369
382
|
}
|
383
|
+
}
|
370
384
|
|
371
|
-
|
385
|
+
self.validated = true;
|
372
386
|
|
373
|
-
|
374
|
-
|
375
|
-
|
387
|
+
if (self.unique && self.form?.parentStore?.storeType === 'ComboStore') {
|
388
|
+
const combo = self.form.parentStore as IComboStore;
|
389
|
+
const group = combo.uniques.get(self.name) as IUniqueGroup;
|
376
390
|
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
}
|
391
|
+
if (
|
392
|
+
group.items.some(
|
393
|
+
item =>
|
394
|
+
item !== self &&
|
395
|
+
self.tmpValue !== undefined &&
|
396
|
+
item.value === self.tmpValue
|
397
|
+
)
|
398
|
+
) {
|
399
|
+
addError(self.__('Form.unique'));
|
387
400
|
}
|
388
|
-
|
389
|
-
self.validating = false;
|
390
|
-
return self.valid;
|
391
401
|
}
|
392
|
-
|
402
|
+
|
403
|
+
self.validating = false;
|
404
|
+
return self.valid;
|
405
|
+
});
|
393
406
|
|
394
407
|
function setError(msg: string | Array<string>, tag: string = 'builtin') {
|
395
408
|
clearError();
|
package/src/utils/formula.ts
CHANGED
@@ -169,7 +169,7 @@ export function formulaExec(
|
|
169
169
|
// 非字符串类型,直接返回,比如:boolean、number类型、Object、Array类型
|
170
170
|
return value;
|
171
171
|
} else if (curExecMode && FormulaExec[curExecMode]) {
|
172
|
-
return FormulaExec[curExecMode]
|
172
|
+
return FormulaExec[curExecMode];
|
173
173
|
}
|
174
174
|
|
175
175
|
const curValue = value.trim(); // 剔除前后空格
|
@@ -183,7 +183,7 @@ export function formulaExec(
|
|
183
183
|
} else if (curValue.startsWith('${') && curValue.endsWith('}')) {
|
184
184
|
// ${ xxx } 格式 使用 formula 运算器
|
185
185
|
return FormulaExec['formula'](curValue, data);
|
186
|
-
} else if (isExpression(
|
186
|
+
} else if (isExpression(test)) {
|
187
187
|
// 表达式格式使用 formula 运算器
|
188
188
|
return FormulaExec['formula'](curValue, data);
|
189
189
|
} else if (/(\${).+(\})/.test(curValue)) {
|
package/src/utils/helper.ts
CHANGED
@@ -22,7 +22,7 @@ import {
|
|
22
22
|
resolveVariable,
|
23
23
|
resolveVariableAndFilter
|
24
24
|
} from 'amis-formula';
|
25
|
-
import {isObservable
|
25
|
+
import {isObservable} from 'mobx';
|
26
26
|
|
27
27
|
export {
|
28
28
|
createObject,
|
@@ -937,7 +937,7 @@ export function everyTree<T extends TreeItem>(
|
|
937
937
|
paths: Array<T> = [],
|
938
938
|
indexes: Array<number> = []
|
939
939
|
): boolean {
|
940
|
-
if (!Array.isArray(tree)
|
940
|
+
if (!Array.isArray(tree)) {
|
941
941
|
return false;
|
942
942
|
}
|
943
943
|
return tree.every((item, index) => {
|