amis 1.9.1-beta.12 → 1.9.1-beta.21
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -1
- 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 +3 -2
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +1 -0
- package/lib/components/PickerContainer.js +4 -4
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/Radios.d.ts +10 -10
- package/lib/components/ResultBox.d.ts +44 -40
- package/lib/components/ResultBox.js +40 -6
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +43 -53
- package/lib/components/ResultList.js +34 -22
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/ResultTableList.d.ts +40 -40
- package/lib/components/ResultTableList.js +16 -17
- package/lib/components/ResultTableList.js.map +2 -2
- package/lib/components/ResultTreeList.d.ts +40 -40
- package/lib/components/Select.d.ts +498 -294
- package/lib/components/Select.js +58 -10
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Selection.d.ts +41 -40
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/TableSelection.d.ts +42 -40
- package/lib/components/TableSelection.js +7 -2
- package/lib/components/TableSelection.js.map +2 -2
- package/lib/components/TabsTransfer.d.ts +2 -2
- package/lib/components/TabsTransfer.js.map +1 -1
- package/lib/components/TooltipWrapper.d.ts +1 -1
- package/lib/components/TooltipWrapper.js.map +2 -2
- 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 +43 -40
- package/lib/components/TransferDropDown.js +2 -2
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +40 -40
- package/lib/components/TreeSelection.js +3 -2
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +45 -41
- package/lib/components/formula/Editor.js +8 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +43 -41
- package/lib/components/formula/Picker.js +40 -20
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/formula/VariableList.d.ts +2 -0
- package/lib/components/formula/VariableList.js +15 -5
- package/lib/components/formula/VariableList.js.map +2 -2
- package/lib/components/index.d.ts +3 -1
- package/lib/components/index.js +5 -1
- package/lib/components/index.js.map +2 -2
- package/lib/components/schema-editor/SchemaVariableList.d.ts +1 -0
- 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 +1 -0
- package/lib/components/schema-editor/SchemaVariableListPicker.js +2 -2
- package/lib/components/schema-editor/SchemaVariableListPicker.js.map +2 -2
- package/lib/components/table/HeadCellFilter.js +4 -1
- package/lib/components/table/HeadCellFilter.js.map +2 -2
- package/lib/components/table/HeadCellSort.js +30 -24
- package/lib/components/table/HeadCellSort.js.map +2 -2
- package/lib/components/table/index.d.ts +6 -3
- package/lib/components/table/index.js +72 -86
- package/lib/components/table/index.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +1 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +1 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +1 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +21 -4
- package/lib/renderers/Action.js +44 -20
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Breadcrumb.js +2 -2
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/CRUD.js +3 -0
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +5 -1
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputTag.d.ts +8 -0
- package/lib/renderers/Form/InputTag.js +2 -2
- package/lib/renderers/Form/InputTag.js.map +2 -2
- package/lib/renderers/Form/InputTree.d.ts +4 -0
- package/lib/renderers/Form/InputTree.js +2 -2
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Picker.d.ts +1 -1
- package/lib/renderers/Form/Picker.js +38 -23
- package/lib/renderers/Form/Picker.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +19 -0
- package/lib/renderers/Form/Select.js +2 -2
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +1 -0
- package/lib/renderers/Form/Transfer.js +4 -0
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +10 -10
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/QRCode.d.ts +16 -0
- package/lib/renderers/QRCode.js +25 -1
- package/lib/renderers/QRCode.js.map +2 -2
- package/lib/renderers/Service.js +0 -1
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Steps.d.ts +2 -2
- package/lib/renderers/Steps.js +1 -1
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/exportExcel.js +50 -36
- package/lib/renderers/Table/exportExcel.js.map +2 -2
- package/lib/renderers/Table/index.js +2 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.d.ts +1 -1
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +38 -24
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +2 -2
- package/lib/renderers/Table-v2/index.d.ts +10 -4
- package/lib/renderers/Table-v2/index.js +109 -58
- package/lib/renderers/Table-v2/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +6 -2
- package/lib/renderers/Tabs.js +21 -0
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/store/table-v2.d.ts +210 -4
- package/lib/store/table-v2.js +82 -5
- package/lib/store/table-v2.js.map +2 -2
- package/lib/themes/ang-ie11.css +140 -44
- package/lib/themes/ang.css +140 -33
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +140 -44
- package/lib/themes/antd.css +140 -33
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +297 -197
- package/lib/themes/cxd.css +151 -38
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +140 -44
- package/lib/themes/dark.css +140 -33
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +297 -197
- package/lib/themes/default.css +151 -38
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/formula.js +7 -5
- package/lib/utils/formula.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -0
- package/lib/utils/helper.js +11 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +2 -2
- package/schema.json +103 -35
- package/scss/_properties.scss +11 -6
- package/scss/components/_formula.scss +45 -4
- package/scss/components/_modal.scss +1 -1
- package/scss/components/_result-box.scss +34 -2
- package/scss/components/form/_checks.scss +47 -44
- package/scss/components/form/_date.scss +28 -19
- package/scss/components/form/_icon-picker.scss +10 -6
- package/scss/components/form/_select.scss +77 -34
- package/scss/components/form/_selection.scss +9 -6
- package/scss/components/form/_switch.scss +1 -0
- package/scss/components/form/_text.scss +2 -0
- package/scss/components/form/_transfer.scss +2 -1
- package/scss/themes/_cxd-variables.scss +3 -1
- package/scss/themes/cxd.scss +9 -6
- package/sdk/ang-ie11.css +159 -46
- package/sdk/ang.css +159 -35
- package/sdk/antd-ie11.css +159 -46
- package/sdk/antd.css +159 -35
- 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 +317 -199
- package/sdk/cxd.css +171 -40
- package/sdk/dark-ie11.css +159 -46
- package/sdk/dark.css +159 -35
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +2 -2
- 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 +317 -199
- package/sdk/sdk.css +171 -40
- package/sdk/sdk.js +1353 -1351
- 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 +3 -2
- package/src/components/PickerContainer.tsx +13 -8
- package/src/components/ResultBox.tsx +95 -11
- package/src/components/ResultList.tsx +48 -51
- package/src/components/ResultTableList.tsx +32 -33
- package/src/components/Select.tsx +138 -17
- package/src/components/Selection.tsx +1 -0
- package/src/components/TableSelection.tsx +15 -8
- package/src/components/TabsTransfer.tsx +2 -2
- package/src/components/TooltipWrapper.tsx +20 -14
- package/src/components/Transfer.tsx +0 -4
- package/src/components/TransferDropDown.tsx +9 -1
- package/src/components/TreeSelection.tsx +2 -1
- package/src/components/formula/Editor.tsx +17 -2
- package/src/components/formula/Picker.tsx +44 -7
- package/src/components/formula/VariableList.tsx +36 -2
- package/src/components/index.tsx +4 -0
- package/src/components/schema-editor/SchemaVariableList.tsx +4 -2
- package/src/components/schema-editor/SchemaVariableListPicker.tsx +4 -1
- package/src/components/table/HeadCellFilter.tsx +4 -1
- package/src/components/table/HeadCellSort.tsx +1 -1
- package/src/components/table/index.tsx +66 -90
- package/src/locale/de-DE.ts +2 -2
- package/src/locale/en-US.ts +2 -2
- package/src/locale/zh-CN.ts +1 -1
- package/src/renderers/Action.tsx +64 -19
- package/src/renderers/Breadcrumb.tsx +11 -12
- package/src/renderers/CRUD.tsx +2 -0
- package/src/renderers/Form/InputFormula.tsx +9 -2
- package/src/renderers/Form/InputImage.tsx +4 -2
- package/src/renderers/Form/InputTag.tsx +14 -0
- package/src/renderers/Form/InputTree.tsx +7 -0
- package/src/renderers/Form/Picker.tsx +11 -1
- package/src/renderers/Form/Select.tsx +32 -1
- package/src/renderers/Form/Transfer.tsx +6 -0
- package/src/renderers/Form/wrapControl.tsx +10 -10
- package/src/renderers/QRCode.tsx +50 -1
- package/src/renderers/Service.tsx +0 -1
- package/src/renderers/Steps.tsx +5 -5
- package/src/renderers/Table/exportExcel.ts +29 -12
- package/src/renderers/Table/index.tsx +9 -7
- package/src/renderers/Table-v2/HeadCellSearchDropdown.tsx +14 -9
- package/src/renderers/Table-v2/index.tsx +130 -58
- package/src/renderers/Tabs.tsx +33 -3
- package/src/store/table-v2.ts +104 -7
- package/src/types.ts +2 -1
- package/src/utils/formula.ts +7 -5
- package/src/utils/helper.ts +12 -2
package/lib/renderers/Action.js
CHANGED
@@ -4,11 +4,13 @@ exports.ResetRenderer = exports.SubmitRenderer = exports.ButtonRenderer = export
|
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var hotkeys_js_1 = (0, tslib_1.__importDefault)(require("hotkeys-js"));
|
7
|
+
var omit_1 = (0, tslib_1.__importDefault)(require("lodash/omit"));
|
8
|
+
var pick_1 = (0, tslib_1.__importDefault)(require("lodash/pick"));
|
7
9
|
var factory_1 = require("../factory");
|
8
10
|
var tpl_1 = require("../utils/tpl");
|
9
11
|
var Button_1 = (0, tslib_1.__importDefault)(require("../components/Button"));
|
10
|
-
var
|
11
|
-
var
|
12
|
+
var Scoped_1 = require("../Scoped");
|
13
|
+
var helper_1 = require("../utils/helper");
|
12
14
|
var ActionProps = [
|
13
15
|
'id',
|
14
16
|
'dialog',
|
@@ -51,11 +53,12 @@ var ActionProps = [
|
|
51
53
|
'copyFormat',
|
52
54
|
'payload',
|
53
55
|
'requireSelected',
|
54
|
-
'countDown'
|
56
|
+
'countDown',
|
57
|
+
'fileName'
|
55
58
|
];
|
56
59
|
var Remark_1 = require("./Remark");
|
57
60
|
var theme_1 = require("../theme");
|
58
|
-
var
|
61
|
+
var helper_2 = require("../utils/helper");
|
59
62
|
var icon_1 = require("../utils/icon");
|
60
63
|
var Badge_1 = require("../components/Badge");
|
61
64
|
var api_1 = require("../utils/api");
|
@@ -263,25 +266,25 @@ var Action = /** @class */ (function (_super) {
|
|
263
266
|
countDown: 0
|
264
267
|
};
|
265
268
|
(0, tslib_1.__decorate)([
|
266
|
-
|
269
|
+
helper_2.autobind,
|
267
270
|
(0, tslib_1.__metadata)("design:type", Function),
|
268
271
|
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof react_1.default !== "undefined" && react_1.default.MouseEvent) === "function" ? _a : Object]),
|
269
272
|
(0, tslib_1.__metadata)("design:returntype", Promise)
|
270
273
|
], Action.prototype, "handleAction", null);
|
271
274
|
(0, tslib_1.__decorate)([
|
272
|
-
|
275
|
+
helper_2.autobind,
|
273
276
|
(0, tslib_1.__metadata)("design:type", Function),
|
274
277
|
(0, tslib_1.__metadata)("design:paramtypes", []),
|
275
278
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
276
279
|
], Action.prototype, "handleCountDown", null);
|
277
280
|
(0, tslib_1.__decorate)([
|
278
|
-
|
281
|
+
helper_2.autobind,
|
279
282
|
(0, tslib_1.__metadata)("design:type", Function),
|
280
283
|
(0, tslib_1.__metadata)("design:paramtypes", []),
|
281
284
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
282
285
|
], Action.prototype, "componentDidMount", null);
|
283
286
|
(0, tslib_1.__decorate)([
|
284
|
-
|
287
|
+
helper_2.autobind,
|
285
288
|
(0, tslib_1.__metadata)("design:type", Function),
|
286
289
|
(0, tslib_1.__metadata)("design:paramtypes", []),
|
287
290
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
@@ -292,17 +295,36 @@ exports.Action = Action;
|
|
292
295
|
exports.default = (0, theme_1.themeable)(Action);
|
293
296
|
var ActionRenderer = /** @class */ (function (_super) {
|
294
297
|
(0, tslib_1.__extends)(ActionRenderer, _super);
|
295
|
-
function ActionRenderer() {
|
296
|
-
|
298
|
+
function ActionRenderer(props, scoped) {
|
299
|
+
var _this = _super.call(this, props) || this;
|
300
|
+
scoped.registerComponent(_this);
|
301
|
+
return _this;
|
297
302
|
}
|
303
|
+
ActionRenderer.prototype.componentWillUnmount = function () {
|
304
|
+
var scoped = this.context;
|
305
|
+
scoped.unRegisterComponent(this);
|
306
|
+
};
|
307
|
+
/**
|
308
|
+
* 动作处理
|
309
|
+
*/
|
310
|
+
ActionRenderer.prototype.doAction = function (action, args) {
|
311
|
+
var actionType = action === null || action === void 0 ? void 0 : action.actionType;
|
312
|
+
if (actionType === 'click') {
|
313
|
+
this.handleAction(actionType, action);
|
314
|
+
}
|
315
|
+
};
|
298
316
|
ActionRenderer.prototype.handleAction = function (e, action) {
|
299
317
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
300
|
-
var _a, env, onAction, data, ignoreConfirm, dispatchEvent, rendererEvent, confirmed;
|
318
|
+
var _a, env, onAction, data, ignoreConfirm, dispatchEvent, mergedData, rendererEvent, confirmed;
|
301
319
|
return (0, tslib_1.__generator)(this, function (_b) {
|
302
320
|
switch (_b.label) {
|
303
321
|
case 0:
|
304
322
|
_a = this.props, env = _a.env, onAction = _a.onAction, data = _a.data, ignoreConfirm = _a.ignoreConfirm, dispatchEvent = _a.dispatchEvent;
|
305
|
-
|
323
|
+
mergedData = data;
|
324
|
+
if ((action === null || action === void 0 ? void 0 : action.actionType) === 'click' && (0, helper_1.isObject)(action === null || action === void 0 ? void 0 : action.args)) {
|
325
|
+
mergedData = (0, helper_2.createObject)(data, action.args);
|
326
|
+
}
|
327
|
+
return [4 /*yield*/, dispatchEvent(e, mergedData)];
|
306
328
|
case 1:
|
307
329
|
rendererEvent = _b.sent();
|
308
330
|
// 阻止原有动作执行
|
@@ -310,11 +332,11 @@ var ActionRenderer = /** @class */ (function (_super) {
|
|
310
332
|
return [2 /*return*/];
|
311
333
|
}
|
312
334
|
if (!(!ignoreConfirm && action.confirmText && env.confirm)) return [3 /*break*/, 6];
|
313
|
-
return [4 /*yield*/, env.confirm((0, tpl_1.filter)(action.confirmText,
|
335
|
+
return [4 /*yield*/, env.confirm((0, tpl_1.filter)(action.confirmText, mergedData))];
|
314
336
|
case 2:
|
315
337
|
confirmed = _b.sent();
|
316
338
|
if (!confirmed) return [3 /*break*/, 4];
|
317
|
-
return [4 /*yield*/, onAction(e, action,
|
339
|
+
return [4 /*yield*/, onAction(e, action, mergedData)];
|
318
340
|
case 3:
|
319
341
|
_b.sent();
|
320
342
|
return [3 /*break*/, 5];
|
@@ -324,7 +346,7 @@ var ActionRenderer = /** @class */ (function (_super) {
|
|
324
346
|
}
|
325
347
|
_b.label = 5;
|
326
348
|
case 5: return [3 /*break*/, 8];
|
327
|
-
case 6: return [4 /*yield*/, onAction(e, action,
|
349
|
+
case 6: return [4 /*yield*/, onAction(e, action, mergedData)];
|
328
350
|
case 7:
|
329
351
|
_b.sent();
|
330
352
|
_b.label = 8;
|
@@ -348,26 +370,27 @@ var ActionRenderer = /** @class */ (function (_super) {
|
|
348
370
|
return (react_1.default.createElement(Action, (0, tslib_1.__assign)({}, rest, { env: env, disabled: disabled || btnDisabled, onAction: this.handleAction, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, loading: loading, isCurrentUrl: this.isCurrentAction, tooltipContainer: env.getModalContainer ? env.getModalContainer : undefined })));
|
349
371
|
};
|
350
372
|
var _b, _c, _d;
|
373
|
+
ActionRenderer.contextType = Scoped_1.ScopedContext;
|
351
374
|
(0, tslib_1.__decorate)([
|
352
|
-
|
375
|
+
helper_2.autobind,
|
353
376
|
(0, tslib_1.__metadata)("design:type", Function),
|
354
377
|
(0, tslib_1.__metadata)("design:paramtypes", [Object, Object]),
|
355
378
|
(0, tslib_1.__metadata)("design:returntype", Promise)
|
356
379
|
], ActionRenderer.prototype, "handleAction", null);
|
357
380
|
(0, tslib_1.__decorate)([
|
358
|
-
|
381
|
+
helper_2.autobind,
|
359
382
|
(0, tslib_1.__metadata)("design:type", Function),
|
360
383
|
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_c = typeof react_1.default !== "undefined" && react_1.default.MouseEvent) === "function" ? _c : Object]),
|
361
384
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
362
385
|
], ActionRenderer.prototype, "handleMouseEnter", null);
|
363
386
|
(0, tslib_1.__decorate)([
|
364
|
-
|
387
|
+
helper_2.autobind,
|
365
388
|
(0, tslib_1.__metadata)("design:type", Function),
|
366
389
|
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_d = typeof react_1.default !== "undefined" && react_1.default.MouseEvent) === "function" ? _d : Object]),
|
367
390
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
368
391
|
], ActionRenderer.prototype, "handleMouseLeave", null);
|
369
392
|
(0, tslib_1.__decorate)([
|
370
|
-
|
393
|
+
helper_2.autobind,
|
371
394
|
(0, tslib_1.__metadata)("design:type", Function),
|
372
395
|
(0, tslib_1.__metadata)("design:paramtypes", [String]),
|
373
396
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
@@ -378,7 +401,8 @@ var ActionRenderer = /** @class */ (function (_super) {
|
|
378
401
|
})
|
379
402
|
// @ts-ignore 类型没搞定
|
380
403
|
,
|
381
|
-
Badge_1.withBadge
|
404
|
+
Badge_1.withBadge,
|
405
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, Object])
|
382
406
|
], ActionRenderer);
|
383
407
|
return ActionRenderer;
|
384
408
|
}(react_1.default.Component));
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Action.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport hotkeys from 'hotkeys-js';\nimport {Renderer, RendererProps} from '../factory';\nimport {filter} from '../utils/tpl';\nimport Button from '../components/Button';\nimport pick from 'lodash/pick';\nimport omit from 'lodash/omit';\n\nexport interface ButtonSchema extends BaseSchema {\n /**\n * 主要用于用户行为跟踪里区分是哪个按钮\n */\n id?: string;\n\n /**\n * 是否为块状展示,默认为内联。\n */\n block?: boolean;\n\n /**\n * 禁用时的文案提示。\n */\n disabledTip?: string;\n\n /**\n * 按钮图标, iconfont 的类名\n */\n icon?: SchemaIcon;\n\n /**\n * icon 上的css 类名\n */\n iconClassName?: SchemaClassName;\n\n /**\n * 右侧按钮图标, iconfont 的类名\n */\n rightIcon?: SchemaIcon;\n\n /**\n * 右侧 icon 上的 css 类名\n */\n rightIconClassName?: SchemaClassName;\n /**\n * loading 上的css 类名\n */\n loadingClassName?: SchemaClassName;\n\n /**\n * 按钮文字\n */\n label?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light'\n | 'secondary';\n\n /**\n * @deprecated 通过 level 来配置\n */\n primary?: boolean;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n tooltip?: SchemaTooltip;\n tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';\n\n /**\n * 指定按钮类型,支持 button、submit或者reset三种类型。\n */\n type: 'button' | 'submit' | 'reset';\n\n /**\n * 提示文字,配置了操作前会要求用户确认。\n */\n confirmText?: string;\n\n /**\n * 如果按钮在form中,配置此属性会要求用户把指定的字段通过验证后才会触发行为。\n */\n required?: Array<string>;\n\n /**\n * 激活状态时的样式\n */\n activeLevel?: string;\n\n /**\n * 激活状态时的类名\n */\n activeClassName?: string;\n\n /**\n * 如果按钮在弹框中,可以配置这个动作完成后是否关闭弹窗,或者指定关闭目标弹框。\n */\n close?: boolean | string;\n\n /**\n * 当按钮时批量操作按钮时,默认必须有勾选元素才能可点击,如果此属性配置成 false,则没有点选成员也能点击。\n */\n requireSelected?: boolean;\n\n /**\n * 是否将弹框中数据 merge 到父级作用域。\n */\n mergeData?: boolean;\n\n /**\n * 可以指定让谁来触发这个动作。\n */\n target?: string;\n\n /**\n * 点击后的禁止倒计时(秒)\n */\n countDown?: number;\n\n /**\n * 倒计时文字自定义\n */\n countDownTpl?: string;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n\n /**\n * 键盘快捷键\n */\n hotKey?: string;\n /**\n * 是否显示loading效果\n */\n loadingOn?: string;\n\n /**\n * 自定义事件处理函数\n */\n onClick?: string | any;\n\n /**\n * 子内容\n */\n body?: SchemaCollection;\n}\n\nexport interface AjaxActionSchema extends ButtonSchema {\n /**\n * 指定为发送 ajax 的行为。\n */\n actionType: 'ajax';\n\n /**\n * 配置 ajax 发送地址\n */\n api: SchemaApi;\n\n feedback?: FeedbackDialog;\n\n reload?: SchemaReload;\n redirect?: string;\n ignoreConfirm?: boolean;\n}\n\nexport interface DownloadActionSchema\n extends Omit<AjaxActionSchema, 'actionType'> {\n /**\n * 指定为下载行为\n */\n actionType: 'download';\n}\n\nexport interface SaveAsActionSchema\n extends Omit<AjaxActionSchema, 'actionType'> {\n /**\n * 指定为保存到本地\n */\n actionType: 'saveAs';\n}\n\nexport interface UrlActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接\n */\n actionType: 'url';\n\n /**\n * 是否新窗口打开\n */\n blank?: boolean;\n\n /**\n * 打开的目标地址\n */\n url: string;\n}\n\nexport interface DialogActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗\n */\n actionType: 'dialog';\n\n /**\n * 弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/dialog\n */\n dialog: DialogSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface DrawerActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗,抽出式弹窗\n */\n actionType: 'drawer';\n\n /**\n * 抽出式弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/drawer\n */\n drawer: DrawerSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface ToastActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗,抽出式弹窗\n */\n actionType: 'toast';\n\n /**\n * 轻提示详情\n * 文档:https://baidu.gitee.io/amis/docs/components/toast\n */\n toast: ToastSchemaBase;\n}\n\nexport interface CopyActionSchema extends ButtonSchema {\n /**\n * 指定为复制内容行为\n */\n actionType: 'copy';\n\n /**\n * 复制啥内容由此配置,支持模板语法。\n */\n copy: SchemaTpl;\n}\n\nexport interface LinkActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接行为,跟 url 不同的时这个行为为单页模式。\n */\n actionType: 'link';\n\n /**\n * 跳转到哪?支持配置相对路径。\n */\n link: string;\n}\n\nexport interface ReloadActionSchema extends ButtonSchema {\n /**\n * 指定为刷新目标组件。\n */\n actionType: 'reload';\n\n /**\n * 指定目标组件。\n */\n target?: SchemaReload;\n}\n\nexport interface EmailActionSchema extends ButtonSchema {\n /**\n * 指定为打开邮箱行为\n */\n actionType: 'email';\n\n /**\n * 收件人邮箱\n */\n to: string;\n\n /**\n * 抄送邮箱\n */\n cc?: string;\n\n /**\n * 匿名抄送邮箱\n */\n bcc?: string;\n\n /**\n * 邮件主题\n */\n subject?: string;\n\n /**\n * 邮件正文\n */\n body?: string;\n}\n\nexport interface OtherActionSchema extends ButtonSchema {\n actionType:\n | 'prev'\n | 'next'\n | 'cancel'\n | 'close'\n | 'submit'\n | 'confirm'\n | 'add'\n | 'reset'\n | 'reset-and-submit';\n [propName: string]: any;\n}\n\nexport interface VanillaAction extends ButtonSchema {\n actionType?: string;\n}\n\n/**\n * 按钮动作渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/action\n */\nexport type ActionSchema =\n | AjaxActionSchema\n | UrlActionSchema\n | LinkActionSchema\n | DialogActionSchema\n | DrawerActionSchema\n | ToastActionSchema\n | CopyActionSchema\n | ReloadActionSchema\n | EmailActionSchema\n | OtherActionSchema\n | VanillaAction;\n\nconst ActionProps = [\n 'id',\n 'dialog',\n 'drawer',\n 'toast',\n 'url',\n 'link',\n 'confirmText',\n 'tooltip',\n 'disabledTip',\n 'className',\n 'asyncApi',\n 'redirect',\n 'size',\n 'level',\n 'primary',\n 'feedback',\n 'api',\n 'blank',\n 'tooltipPlacement',\n 'to',\n 'cc',\n 'bcc',\n 'subject',\n 'body',\n 'content',\n 'required',\n 'type',\n 'actionType',\n 'label',\n 'icon',\n 'rightIcon',\n 'reload',\n 'target',\n 'close',\n 'messages',\n 'mergeData',\n 'index',\n 'copy',\n 'copyFormat',\n 'payload',\n 'requireSelected',\n 'countDown'\n];\nimport {filterContents} from './Remark';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {autobind, createObject} from '../utils/helper';\nimport {\n BaseSchema,\n FeedbackDialog,\n SchemaApi,\n SchemaClassName,\n SchemaCollection,\n SchemaExpression,\n SchemaIcon,\n SchemaReload,\n SchemaTooltip,\n SchemaTpl\n} from '../Schema';\nimport {DialogSchema, DialogSchemaBase} from './Dialog';\nimport {DrawerSchema, DrawerSchemaBase} from './Drawer';\nimport {ToastSchemaBase} from '../Schema';\nimport {generateIcon} from '../utils/icon';\nimport {BadgeSchema, withBadge} from '../components/Badge';\nimport {normalizeApi, str2AsyncFunction} from '../utils/api';\nimport {TooltipWrapper} from '../components/TooltipWrapper';\nimport handleAction from '../utils/handleAction';\n\n// 构造一个假的 React 事件避免可能的报错,主要用于快捷键功能\n// 来自 https://stackoverflow.com/questions/27062455/reactjs-can-i-create-my-own-syntheticevent\nexport const createSyntheticEvent = <T extends Element, E extends Event>(\n event: E\n): React.SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => {},\n timeStamp: event.timeStamp,\n type: event.type\n };\n};\n\nexport interface ActionProps\n extends Omit<\n ButtonSchema,\n 'className' | 'iconClassName' | 'rightIconClassName' | 'loadingClassName'\n >,\n ThemeProps,\n Omit<\n AjaxActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n UrlActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n LinkActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n DialogActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n DrawerActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n ToastSchemaBase,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n CopyActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n ReloadActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n EmailActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n | 'body'\n >,\n Omit<\n OtherActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n > {\n actionType: any;\n onAction?: (\n e: React.MouseEvent<any> | void | null,\n action: ActionSchema\n ) => void;\n isCurrentUrl?: (link: string) => boolean;\n onClick?:\n | ((e: React.MouseEvent<any>, props: any) => void)\n | string\n | Function\n | null;\n componentClass: React.ReactType;\n tooltipContainer?: any;\n data?: any;\n isMenuItem?: boolean;\n active?: boolean;\n}\n\nconst allowedType = ['button', 'submit', 'reset'];\n\ninterface ActionState {\n inCountDown: boolean; // 是否在倒计时\n countDownEnd: number; // 倒计时结束的精确时间\n timeLeft: number; // 倒计时剩余时间\n}\n\nexport class Action extends React.Component<ActionProps, ActionState> {\n static defaultProps = {\n type: 'button' as 'button',\n componentClass: 'button' as React.ReactType,\n tooltipPlacement: 'bottom' as 'bottom',\n activeClassName: 'is-active',\n countDownTpl: 'Action.countDown',\n countDown: 0\n };\n\n state: ActionState = {\n inCountDown: false,\n countDownEnd: 0,\n timeLeft: 0\n };\n\n localStorageKey: string;\n\n dom: any;\n\n constructor(props: ActionProps) {\n super(props);\n this.localStorageKey = 'amis-countdownend-' + (this.props.name || '');\n const countDownEnd = parseInt(\n localStorage.getItem(this.localStorageKey) || '0'\n );\n if (countDownEnd && this.props.countDown) {\n if (Date.now() < countDownEnd) {\n this.state = {\n inCountDown: true,\n countDownEnd,\n timeLeft: Math.floor((countDownEnd - Date.now()) / 1000)\n };\n this.handleCountDown();\n }\n }\n }\n\n @autobind\n async handleAction(e: React.MouseEvent<any>) {\n const {onAction, disabled, countDown, env} = this.props;\n // https://reactjs.org/docs/legacy-event-pooling.html\n e.persist(); // 等 react 17之后去掉 event pooling 了,这个应该就没用了\n let onClick = this.props.onClick;\n\n if (typeof onClick === 'string') {\n onClick = str2AsyncFunction(onClick, 'event', 'props');\n }\n const result: any = onClick && (await onClick(e, this.props));\n\n if (\n disabled ||\n e.isDefaultPrevented() ||\n result === false ||\n !onAction ||\n this.state.inCountDown\n ) {\n return;\n }\n\n e.preventDefault();\n const action = pick(this.props, ActionProps) as ActionSchema;\n const actionType = action.actionType;\n\n // ajax 会在 wrapFetcher 里记录,这里再处理就重复了,因此去掉\n // add 一般是 input-table 之类的,会触发 formItemChange,为了避免重复也去掉\n if (\n actionType !== 'ajax' &&\n actionType !== 'download' &&\n actionType !== 'add'\n ) {\n env?.tracker(\n {\n eventType: actionType || this.props.type || 'click',\n eventData: omit(action, ['type', 'actionType', 'tooltipPlacement'])\n },\n this.props\n );\n }\n\n // download 是一种 ajax 的简写\n if (actionType === 'download') {\n action.actionType = 'ajax';\n const api = normalizeApi((action as AjaxActionSchema).api);\n api.responseType = 'blob';\n (action as AjaxActionSchema).api = api;\n }\n\n await onAction(e, action);\n if (countDown) {\n const countDownEnd = Date.now() + countDown * 1000;\n this.setState({\n countDownEnd: countDownEnd,\n inCountDown: true,\n timeLeft: countDown\n });\n localStorage.setItem(this.localStorageKey, String(countDownEnd));\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n handleCountDown() {\n // setTimeout 一般会晚于 1s,经过几十次后就不准了,所以使用真实时间进行 diff\n const timeLeft = Math.floor((this.state.countDownEnd - Date.now()) / 1000);\n if (timeLeft <= 0) {\n this.setState({\n inCountDown: false,\n timeLeft: timeLeft\n });\n } else {\n this.setState({\n timeLeft: timeLeft\n });\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n componentDidMount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys(hotKey, event => {\n event.preventDefault();\n const click = new MouseEvent('click', {\n bubbles: true,\n cancelable: true\n });\n this.handleAction(createSyntheticEvent(click) as any);\n });\n }\n }\n\n @autobind\n componentWillUnmount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys.unbind(hotKey);\n }\n }\n\n render() {\n const {\n type,\n icon,\n iconClassName,\n rightIcon,\n rightIconClassName,\n loadingClassName,\n primary,\n size,\n level,\n countDownTpl,\n block,\n className,\n componentClass,\n tooltip,\n disabledTip,\n tooltipPlacement,\n actionType,\n link,\n data,\n translate: __,\n activeClassName,\n isCurrentUrl,\n isMenuItem,\n active,\n activeLevel,\n tooltipTrigger,\n tooltipContainer,\n tooltipRootClose,\n loading,\n body,\n render,\n onMouseEnter,\n onMouseLeave,\n classnames: cx,\n classPrefix: ns\n } = this.props;\n\n if (actionType !== 'email' && body) {\n return (\n <TooltipWrapper\n classPrefix={ns}\n classnames={cx}\n placement={tooltipPlacement}\n tooltip={tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n <div\n className={cx('Action', className)}\n onClick={this.handleAction}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {render('body', body) as JSX.Element}\n </div>\n </TooltipWrapper>\n );\n }\n\n let label = this.props.label;\n let disabled = this.props.disabled;\n let isActive = !!active;\n\n if (actionType === 'link' && !isActive && link && isCurrentUrl) {\n isActive = isCurrentUrl(link);\n }\n\n // 倒计时\n if (this.state.inCountDown) {\n label = filterContents(__(countDownTpl), {\n ...data,\n timeLeft: this.state.timeLeft\n }) as string;\n disabled = true;\n }\n\n const iconElement = generateIcon(cx, icon, 'Button-icon', iconClassName);\n const rightIconElement = generateIcon(\n cx,\n rightIcon,\n 'Button-icon',\n rightIconClassName\n );\n\n return (\n <Button\n className={cx(className, {\n [activeClassName || 'is-active']: isActive\n })}\n size={size}\n level={\n activeLevel && isActive\n ? activeLevel\n : level || (primary ? 'primary' : undefined)\n }\n loadingClassName={loadingClassName}\n loading={loading}\n onClick={this.handleAction}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n type={type && ~allowedType.indexOf(type) ? type : 'button'}\n disabled={disabled}\n componentClass={isMenuItem ? 'a' : componentClass}\n overrideClassName={isMenuItem}\n tooltip={tooltip}\n disabledTip={disabledTip}\n tooltipPlacement={tooltipPlacement}\n tooltipContainer={tooltipContainer}\n tooltipTrigger={tooltipTrigger}\n tooltipRootClose={tooltipRootClose}\n block={block}\n iconOnly={!!(icon && !label && level !== 'link')}\n >\n {!loading ? iconElement : ''}\n {label ? <span>{filter(String(label), data)}</span> : null}\n {rightIconElement}\n </Button>\n );\n }\n}\n\nexport default themeable(Action);\n\n@Renderer({\n type: 'action'\n})\n// @ts-ignore 类型没搞定\n@withBadge\nexport class ActionRenderer extends React.Component<\n RendererProps &\n Omit<ActionProps, 'onAction' | 'isCurrentUrl' | 'tooltipContainer'> & {\n onAction: (\n e: React.MouseEvent<any> | void | null,\n action: object,\n data: any\n ) => void;\n btnDisabled?: boolean;\n }\n> {\n @autobind\n async handleAction(e: React.MouseEvent<any> | void | null, action: any) {\n const {env, onAction, data, ignoreConfirm, dispatchEvent} = this.props;\n\n // 触发渲染器事件\n const rendererEvent = await dispatchEvent(e as React.MouseEvent<any>, data);\n\n // 阻止原有动作执行\n if (rendererEvent?.prevented) {\n return;\n }\n\n if (!ignoreConfirm && action.confirmText && env.confirm) {\n let confirmed = await env.confirm(filter(action.confirmText, data));\n if (confirmed) {\n await onAction(e, action, data);\n } else if (action.countDown) {\n throw new Error('cancel');\n }\n } else {\n await onAction(e, action, data);\n }\n }\n\n @autobind\n handleMouseEnter(e: React.MouseEvent<any>) {\n this.props.dispatchEvent(e, this.props.data);\n }\n\n @autobind\n handleMouseLeave(e: React.MouseEvent<any>) {\n this.props.dispatchEvent(e, this.props.data);\n }\n\n @autobind\n isCurrentAction(link: string) {\n const {env, data} = this.props;\n return env.isCurrentUrl(filter(link, data));\n }\n\n render() {\n const {env, disabled, btnDisabled, loading, ...rest} = this.props;\n\n return (\n <Action\n {...(rest as any)}\n env={env}\n disabled={disabled || btnDisabled}\n onAction={this.handleAction}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n loading={loading}\n isCurrentUrl={this.isCurrentAction}\n tooltipContainer={\n env.getModalContainer ? env.getModalContainer : undefined\n }\n />\n );\n }\n}\n\n@Renderer({\n type: 'button'\n})\nexport class ButtonRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'submit'\n})\nexport class SubmitRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'reset'\n})\nexport class ResetRenderer extends ActionRenderer {}\n"
|
11
|
+
"import React from 'react';\nimport hotkeys from 'hotkeys-js';\nimport omit from 'lodash/omit';\nimport pick from 'lodash/pick';\nimport {Renderer, RendererProps} from '../factory';\nimport {filter} from '../utils/tpl';\nimport Button from '../components/Button';\nimport {ScopedContext} from '../Scoped';\nimport {isObject} from '../utils/helper';\n\nimport type {IScopedContext} from '../Scoped';\nimport type {Action as ICmptAction} from '../types';\n\nexport interface ButtonSchema extends BaseSchema {\n /**\n * 主要用于用户行为跟踪里区分是哪个按钮\n */\n id?: string;\n\n /**\n * 是否为块状展示,默认为内联。\n */\n block?: boolean;\n\n /**\n * 禁用时的文案提示。\n */\n disabledTip?: string;\n\n /**\n * 按钮图标, iconfont 的类名\n */\n icon?: SchemaIcon;\n\n /**\n * icon 上的css 类名\n */\n iconClassName?: SchemaClassName;\n\n /**\n * 右侧按钮图标, iconfont 的类名\n */\n rightIcon?: SchemaIcon;\n\n /**\n * 右侧 icon 上的 css 类名\n */\n rightIconClassName?: SchemaClassName;\n /**\n * loading 上的css 类名\n */\n loadingClassName?: SchemaClassName;\n\n /**\n * 按钮文字\n */\n label?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light'\n | 'secondary';\n\n /**\n * @deprecated 通过 level 来配置\n */\n primary?: boolean;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n tooltip?: SchemaTooltip;\n tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';\n\n /**\n * 指定按钮类型,支持 button、submit或者reset三种类型。\n */\n type: 'button' | 'submit' | 'reset';\n\n /**\n * 提示文字,配置了操作前会要求用户确认。\n */\n confirmText?: string;\n\n /**\n * 如果按钮在form中,配置此属性会要求用户把指定的字段通过验证后才会触发行为。\n */\n required?: Array<string>;\n\n /**\n * 激活状态时的样式\n */\n activeLevel?: string;\n\n /**\n * 激活状态时的类名\n */\n activeClassName?: string;\n\n /**\n * 如果按钮在弹框中,可以配置这个动作完成后是否关闭弹窗,或者指定关闭目标弹框。\n */\n close?: boolean | string;\n\n /**\n * 当按钮时批量操作按钮时,默认必须有勾选元素才能可点击,如果此属性配置成 false,则没有点选成员也能点击。\n */\n requireSelected?: boolean;\n\n /**\n * 是否将弹框中数据 merge 到父级作用域。\n */\n mergeData?: boolean;\n\n /**\n * 可以指定让谁来触发这个动作。\n */\n target?: string;\n\n /**\n * 点击后的禁止倒计时(秒)\n */\n countDown?: number;\n\n /**\n * 倒计时文字自定义\n */\n countDownTpl?: string;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n\n /**\n * 键盘快捷键\n */\n hotKey?: string;\n /**\n * 是否显示loading效果\n */\n loadingOn?: string;\n\n /**\n * 自定义事件处理函数\n */\n onClick?: string | any;\n\n /**\n * 子内容\n */\n body?: SchemaCollection;\n}\n\nexport interface AjaxActionSchema extends ButtonSchema {\n /**\n * 指定为发送 ajax 的行为。\n */\n actionType: 'ajax';\n\n /**\n * 配置 ajax 发送地址\n */\n api: SchemaApi;\n\n feedback?: FeedbackDialog;\n\n reload?: SchemaReload;\n redirect?: string;\n ignoreConfirm?: boolean;\n}\n\nexport interface DownloadActionSchema\n extends Omit<AjaxActionSchema, 'actionType'> {\n /**\n * 指定为下载行为\n */\n actionType: 'download';\n}\n\nexport interface SaveAsActionSchema\n extends Omit<AjaxActionSchema, 'actionType'> {\n /**\n * 指定为保存到本地\n */\n actionType: 'saveAs';\n}\n\nexport interface UrlActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接\n */\n actionType: 'url';\n\n /**\n * 是否新窗口打开\n */\n blank?: boolean;\n\n /**\n * 打开的目标地址\n */\n url: string;\n}\n\nexport interface DialogActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗\n */\n actionType: 'dialog';\n\n /**\n * 弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/dialog\n */\n dialog: DialogSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface DrawerActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗,抽出式弹窗\n */\n actionType: 'drawer';\n\n /**\n * 抽出式弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/drawer\n */\n drawer: DrawerSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface ToastActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗,抽出式弹窗\n */\n actionType: 'toast';\n\n /**\n * 轻提示详情\n * 文档:https://baidu.gitee.io/amis/docs/components/toast\n */\n toast: ToastSchemaBase;\n}\n\nexport interface CopyActionSchema extends ButtonSchema {\n /**\n * 指定为复制内容行为\n */\n actionType: 'copy';\n\n /**\n * 复制啥内容由此配置,支持模板语法。\n */\n copy: SchemaTpl;\n}\n\nexport interface LinkActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接行为,跟 url 不同的时这个行为为单页模式。\n */\n actionType: 'link';\n\n /**\n * 跳转到哪?支持配置相对路径。\n */\n link: string;\n}\n\nexport interface ReloadActionSchema extends ButtonSchema {\n /**\n * 指定为刷新目标组件。\n */\n actionType: 'reload';\n\n /**\n * 指定目标组件。\n */\n target?: SchemaReload;\n}\n\nexport interface EmailActionSchema extends ButtonSchema {\n /**\n * 指定为打开邮箱行为\n */\n actionType: 'email';\n\n /**\n * 收件人邮箱\n */\n to: string;\n\n /**\n * 抄送邮箱\n */\n cc?: string;\n\n /**\n * 匿名抄送邮箱\n */\n bcc?: string;\n\n /**\n * 邮件主题\n */\n subject?: string;\n\n /**\n * 邮件正文\n */\n body?: string;\n}\n\nexport interface OtherActionSchema extends ButtonSchema {\n actionType:\n | 'prev'\n | 'next'\n | 'cancel'\n | 'close'\n | 'submit'\n | 'confirm'\n | 'add'\n | 'reset'\n | 'reset-and-submit';\n [propName: string]: any;\n}\n\nexport interface VanillaAction extends ButtonSchema {\n actionType?: string;\n}\n\n/**\n * 按钮动作渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/action\n */\nexport type ActionSchema =\n | AjaxActionSchema\n | UrlActionSchema\n | LinkActionSchema\n | DialogActionSchema\n | DrawerActionSchema\n | ToastActionSchema\n | CopyActionSchema\n | ReloadActionSchema\n | EmailActionSchema\n | OtherActionSchema\n | VanillaAction;\n\nconst ActionProps = [\n 'id',\n 'dialog',\n 'drawer',\n 'toast',\n 'url',\n 'link',\n 'confirmText',\n 'tooltip',\n 'disabledTip',\n 'className',\n 'asyncApi',\n 'redirect',\n 'size',\n 'level',\n 'primary',\n 'feedback',\n 'api',\n 'blank',\n 'tooltipPlacement',\n 'to',\n 'cc',\n 'bcc',\n 'subject',\n 'body',\n 'content',\n 'required',\n 'type',\n 'actionType',\n 'label',\n 'icon',\n 'rightIcon',\n 'reload',\n 'target',\n 'close',\n 'messages',\n 'mergeData',\n 'index',\n 'copy',\n 'copyFormat',\n 'payload',\n 'requireSelected',\n 'countDown',\n 'fileName'\n];\nimport {filterContents} from './Remark';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {autobind, createObject} from '../utils/helper';\nimport {\n BaseSchema,\n FeedbackDialog,\n SchemaApi,\n SchemaClassName,\n SchemaCollection,\n SchemaExpression,\n SchemaIcon,\n SchemaReload,\n SchemaTooltip,\n SchemaTpl\n} from '../Schema';\nimport {DialogSchema, DialogSchemaBase} from './Dialog';\nimport {DrawerSchema, DrawerSchemaBase} from './Drawer';\nimport {ToastSchemaBase} from '../Schema';\nimport {generateIcon} from '../utils/icon';\nimport {BadgeSchema, withBadge} from '../components/Badge';\nimport {normalizeApi, str2AsyncFunction} from '../utils/api';\nimport {TooltipWrapper} from '../components/TooltipWrapper';\n\n// 构造一个假的 React 事件避免可能的报错,主要用于快捷键功能\n// 来自 https://stackoverflow.com/questions/27062455/reactjs-can-i-create-my-own-syntheticevent\nexport const createSyntheticEvent = <T extends Element, E extends Event>(\n event: E\n): React.SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => {},\n timeStamp: event.timeStamp,\n type: event.type\n };\n};\n\nexport interface ActionProps\n extends Omit<\n ButtonSchema,\n 'className' | 'iconClassName' | 'rightIconClassName' | 'loadingClassName'\n >,\n ThemeProps,\n Omit<\n AjaxActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n UrlActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n LinkActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n DialogActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n DrawerActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n ToastSchemaBase,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n CopyActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n ReloadActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n EmailActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n | 'body'\n >,\n Omit<\n OtherActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n > {\n actionType: any;\n onAction?: (\n e: React.MouseEvent<any> | void | null,\n action: ActionSchema\n ) => void;\n isCurrentUrl?: (link: string) => boolean;\n onClick?:\n | ((e: React.MouseEvent<any>, props: any) => void)\n | string\n | Function\n | null;\n componentClass: React.ReactType;\n tooltipContainer?: any;\n data?: any;\n isMenuItem?: boolean;\n active?: boolean;\n}\n\nconst allowedType = ['button', 'submit', 'reset'];\n\ninterface ActionState {\n inCountDown: boolean; // 是否在倒计时\n countDownEnd: number; // 倒计时结束的精确时间\n timeLeft: number; // 倒计时剩余时间\n}\n\nexport class Action extends React.Component<ActionProps, ActionState> {\n static defaultProps = {\n type: 'button' as 'button',\n componentClass: 'button' as React.ReactType,\n tooltipPlacement: 'bottom' as 'bottom',\n activeClassName: 'is-active',\n countDownTpl: 'Action.countDown',\n countDown: 0\n };\n\n state: ActionState = {\n inCountDown: false,\n countDownEnd: 0,\n timeLeft: 0\n };\n\n localStorageKey: string;\n\n dom: any;\n\n constructor(props: ActionProps) {\n super(props);\n this.localStorageKey = 'amis-countdownend-' + (this.props.name || '');\n const countDownEnd = parseInt(\n localStorage.getItem(this.localStorageKey) || '0'\n );\n if (countDownEnd && this.props.countDown) {\n if (Date.now() < countDownEnd) {\n this.state = {\n inCountDown: true,\n countDownEnd,\n timeLeft: Math.floor((countDownEnd - Date.now()) / 1000)\n };\n this.handleCountDown();\n }\n }\n }\n\n @autobind\n async handleAction(e: React.MouseEvent<any>) {\n const {onAction, disabled, countDown, env} = this.props;\n // https://reactjs.org/docs/legacy-event-pooling.html\n e.persist(); // 等 react 17之后去掉 event pooling 了,这个应该就没用了\n let onClick = this.props.onClick;\n\n if (typeof onClick === 'string') {\n onClick = str2AsyncFunction(onClick, 'event', 'props');\n }\n const result: any = onClick && (await onClick(e, this.props));\n\n if (\n disabled ||\n e.isDefaultPrevented() ||\n result === false ||\n !onAction ||\n this.state.inCountDown\n ) {\n return;\n }\n\n e.preventDefault();\n const action = pick(this.props, ActionProps) as ActionSchema;\n const actionType = action.actionType;\n\n // ajax 会在 wrapFetcher 里记录,这里再处理就重复了,因此去掉\n // add 一般是 input-table 之类的,会触发 formItemChange,为了避免重复也去掉\n if (\n actionType !== 'ajax' &&\n actionType !== 'download' &&\n actionType !== 'add'\n ) {\n env?.tracker(\n {\n eventType: actionType || this.props.type || 'click',\n eventData: omit(action, ['type', 'actionType', 'tooltipPlacement'])\n },\n this.props\n );\n }\n\n // download 是一种 ajax 的简写\n if (actionType === 'download') {\n action.actionType = 'ajax';\n const api = normalizeApi((action as AjaxActionSchema).api);\n api.responseType = 'blob';\n (action as AjaxActionSchema).api = api;\n }\n\n await onAction(e, action);\n if (countDown) {\n const countDownEnd = Date.now() + countDown * 1000;\n this.setState({\n countDownEnd: countDownEnd,\n inCountDown: true,\n timeLeft: countDown\n });\n localStorage.setItem(this.localStorageKey, String(countDownEnd));\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n handleCountDown() {\n // setTimeout 一般会晚于 1s,经过几十次后就不准了,所以使用真实时间进行 diff\n const timeLeft = Math.floor((this.state.countDownEnd - Date.now()) / 1000);\n if (timeLeft <= 0) {\n this.setState({\n inCountDown: false,\n timeLeft: timeLeft\n });\n } else {\n this.setState({\n timeLeft: timeLeft\n });\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n componentDidMount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys(hotKey, event => {\n event.preventDefault();\n const click = new MouseEvent('click', {\n bubbles: true,\n cancelable: true\n });\n this.handleAction(createSyntheticEvent(click) as any);\n });\n }\n }\n\n @autobind\n componentWillUnmount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys.unbind(hotKey);\n }\n }\n\n render() {\n const {\n type,\n icon,\n iconClassName,\n rightIcon,\n rightIconClassName,\n loadingClassName,\n primary,\n size,\n level,\n countDownTpl,\n block,\n className,\n componentClass,\n tooltip,\n disabledTip,\n tooltipPlacement,\n actionType,\n link,\n data,\n translate: __,\n activeClassName,\n isCurrentUrl,\n isMenuItem,\n active,\n activeLevel,\n tooltipTrigger,\n tooltipContainer,\n tooltipRootClose,\n loading,\n body,\n render,\n onMouseEnter,\n onMouseLeave,\n classnames: cx,\n classPrefix: ns\n } = this.props;\n\n if (actionType !== 'email' && body) {\n return (\n <TooltipWrapper\n classPrefix={ns}\n classnames={cx}\n placement={tooltipPlacement}\n tooltip={tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n <div\n className={cx('Action', className)}\n onClick={this.handleAction}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {render('body', body) as JSX.Element}\n </div>\n </TooltipWrapper>\n );\n }\n\n let label = this.props.label;\n let disabled = this.props.disabled;\n let isActive = !!active;\n\n if (actionType === 'link' && !isActive && link && isCurrentUrl) {\n isActive = isCurrentUrl(link);\n }\n\n // 倒计时\n if (this.state.inCountDown) {\n label = filterContents(__(countDownTpl), {\n ...data,\n timeLeft: this.state.timeLeft\n }) as string;\n disabled = true;\n }\n\n const iconElement = generateIcon(cx, icon, 'Button-icon', iconClassName);\n const rightIconElement = generateIcon(\n cx,\n rightIcon,\n 'Button-icon',\n rightIconClassName\n );\n\n return (\n <Button\n className={cx(className, {\n [activeClassName || 'is-active']: isActive\n })}\n size={size}\n level={\n activeLevel && isActive\n ? activeLevel\n : level || (primary ? 'primary' : undefined)\n }\n loadingClassName={loadingClassName}\n loading={loading}\n onClick={this.handleAction}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n type={type && ~allowedType.indexOf(type) ? type : 'button'}\n disabled={disabled}\n componentClass={isMenuItem ? 'a' : componentClass}\n overrideClassName={isMenuItem}\n tooltip={tooltip}\n disabledTip={disabledTip}\n tooltipPlacement={tooltipPlacement}\n tooltipContainer={tooltipContainer}\n tooltipTrigger={tooltipTrigger}\n tooltipRootClose={tooltipRootClose}\n block={block}\n iconOnly={!!(icon && !label && level !== 'link')}\n >\n {!loading ? iconElement : ''}\n {label ? <span>{filter(String(label), data)}</span> : null}\n {rightIconElement}\n </Button>\n );\n }\n}\n\nexport default themeable(Action);\n\nexport type ActionRendererProps = RendererProps &\n Omit<ActionProps, 'onAction' | 'isCurrentUrl' | 'tooltipContainer'> & {\n onAction: (\n e: React.MouseEvent<any> | string | void | null,\n action: object,\n data: any\n ) => void;\n btnDisabled?: boolean;\n };\n\n@Renderer({\n type: 'action'\n})\n// @ts-ignore 类型没搞定\n@withBadge\nexport class ActionRenderer extends React.Component<ActionRendererProps> {\n static contextType = ScopedContext;\n\n constructor(props: ActionRendererProps, scoped: IScopedContext) {\n super(props);\n\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n /**\n * 动作处理\n */\n doAction(\n action: ICmptAction,\n args: {\n value?: string | {[key: string]: string};\n }\n ) {\n const actionType = action?.actionType;\n\n if (actionType === 'click') {\n this.handleAction(actionType, action);\n }\n }\n\n @autobind\n async handleAction(\n e: React.MouseEvent<any> | string | void | null,\n action: any\n ) {\n const {env, onAction, data, ignoreConfirm, dispatchEvent} = this.props;\n let mergedData = data;\n\n if (action?.actionType === 'click' && isObject(action?.args)) {\n mergedData = createObject(data, action.args);\n }\n\n // 触发渲染器事件\n const rendererEvent = await dispatchEvent(\n e as React.MouseEvent<any> | string,\n mergedData\n );\n\n // 阻止原有动作执行\n if (rendererEvent?.prevented) {\n return;\n }\n\n if (!ignoreConfirm && action.confirmText && env.confirm) {\n let confirmed = await env.confirm(filter(action.confirmText, mergedData));\n if (confirmed) {\n await onAction(e, action, mergedData);\n } else if (action.countDown) {\n throw new Error('cancel');\n }\n } else {\n await onAction(e, action, mergedData);\n }\n }\n\n @autobind\n handleMouseEnter(e: React.MouseEvent<any>) {\n this.props.dispatchEvent(e, this.props.data);\n }\n\n @autobind\n handleMouseLeave(e: React.MouseEvent<any>) {\n this.props.dispatchEvent(e, this.props.data);\n }\n\n @autobind\n isCurrentAction(link: string) {\n const {env, data} = this.props;\n return env.isCurrentUrl(filter(link, data));\n }\n\n render() {\n const {env, disabled, btnDisabled, loading, ...rest} = this.props;\n\n return (\n <Action\n {...(rest as any)}\n env={env}\n disabled={disabled || btnDisabled}\n onAction={this.handleAction}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n loading={loading}\n isCurrentUrl={this.isCurrentAction}\n tooltipContainer={\n env.getModalContainer ? env.getModalContainer : undefined\n }\n />\n );\n }\n}\n\n@Renderer({\n type: 'button'\n})\nexport class ButtonRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'submit'\n})\nexport class SubmitRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'reset'\n})\nexport class ResetRenderer extends ActionRenderer {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -25,7 +25,7 @@ var BreadcrumbField = /** @class */ (function (_super) {
|
|
25
25
|
item.label = (0, tpl_1.filter)(item.label, data);
|
26
26
|
}
|
27
27
|
if (item.href) {
|
28
|
-
item.href = (0,
|
28
|
+
item.href = (0, tpl_builtin_1.resolveVariableAndFilter)(item.href, data, '| raw');
|
29
29
|
}
|
30
30
|
if (item.dropdown) {
|
31
31
|
item.dropdown = item.dropdown.map(function (dropdownItem) {
|
@@ -33,7 +33,7 @@ var BreadcrumbField = /** @class */ (function (_super) {
|
|
33
33
|
dropdownItem.label = (0, tpl_1.filter)(dropdownItem.label, data);
|
34
34
|
}
|
35
35
|
if (dropdownItem.href) {
|
36
|
-
dropdownItem.href = (0,
|
36
|
+
dropdownItem.href = (0, tpl_builtin_1.resolveVariableAndFilter)(dropdownItem.href, data, '| raw');
|
37
37
|
}
|
38
38
|
return dropdownItem;
|
39
39
|
});
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Breadcrumb.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA;;GAEG;AACH,6DAA0B;AAC1B,sCAAmD;AAEnD,oCAAoC;AACpC,oDAA8D;AAC9D,qFAAkD;
|
9
|
+
"mappings": ";;;;AAAA;;GAEG;AACH,6DAA0B;AAC1B,sCAAmD;AAEnD,oCAAoC;AACpC,oDAA8D;AAC9D,qFAAkD;AAqGlD;IAAqC,gDAAwC;IAA7E;;IA4CA,CAAC;IA3CC,gCAAM,GAAN;QACE,IAAM,KAA2C,IAAI,CAAC,KAAK,EAApD,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,GAAG,SAAA,EAAK,SAAS,2BAAvC,kCAAwC,CAAa,CAAC;QAE5D,IAAI,UAAU,GAAG,KAAK;YACpB,CAAC,CAAC,KAAK;YACP,CAAC,CAAE,IAAA,sCAAwB,EACvB,MAAM,EACN,IAAI,EACJ,OAAO,CACwB,CAAC;QACtC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,UAAA,IAAI;YAC9B,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,KAAK,GAAG,IAAA,YAAM,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aACvC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,CAAC,IAAI,GAAG,IAAA,sCAAwB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;aAChE;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,YAAY;oBAC5C,IAAI,YAAY,CAAC,KAAK,EAAE;wBACtB,YAAY,CAAC,KAAK,GAAG,IAAA,YAAM,EAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBACvD;oBACD,IAAI,YAAY,CAAC,IAAI,EAAE;wBACrB,YAAY,CAAC,IAAI,GAAG,IAAA,sCAAwB,EAC1C,YAAY,CAAC,IAAI,EACjB,IAAI,EACJ,OAAO,CACR,CAAC;qBACH;oBACD,OAAO,YAAY,CAAC;gBACtB,CAAC,CAAC,CAAC;aACJ;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO,CACL,8BAAC,oBAAU,0BACT,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,iBAAiB,IACpC,SAAS,EACD,CACf,CAAC;IACJ,CAAC;IACH,sBAAC;AAAD,CAAC,AA5CD,CAAqC,eAAK,CAAC,SAAS,GA4CnD;AA5CY,0CAAe;AAiD5B;IAA6C,wDAAe;IAA5D;;IAA8D,CAAC;IAAlD,uBAAuB;QAHnC,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,YAAY;SACnB,CAAC;OACW,uBAAuB,CAA2B;IAAD,8BAAC;CAAA,AAA/D,CAA6C,eAAe,GAAG;AAAlD,0DAAuB",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file 用来展示面包屑导航\n */\nimport React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaIcon, SchemaUrlPath} from '../Schema';\nimport {filter} from '../utils/tpl';\nimport {resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport Breadcrumb from '../components/Breadcrumb';\n\nexport type BreadcrumbBaseItemSchema = {\n /**\n * 文字\n */\n label?: string;\n\n /**\n * 图标类名\n */\n icon?: SchemaIcon;\n\n /**\n * 链接地址\n */\n href?: SchemaUrlPath;\n} & Omit<BaseSchema, 'type'>;\n\nexport type BreadcrumbItemSchema = {\n /**\n * 文字\n */\n label?: string;\n\n /**\n * 图标类名\n */\n icon?: SchemaIcon;\n\n /**\n * 链接地址\n */\n href?: SchemaUrlPath;\n\n /**\n * 下拉菜单\n */\n dropdown?: Array<BreadcrumbBaseItemSchema>;\n} & Omit<BaseSchema, 'type'>;\n\nexport type TooltipPositionType = 'top' | 'bottom' | 'left' | 'right';\n\nexport type ItemPlace = 'start' | 'middle' | 'end';\n\n/**\n * Breadcrumb 显示渲染器\n * 文档:https://baidu.gitee.io/amis/docs/components/breadcrumb\n */\n\
|
11
|
+
"/**\n * @file 用来展示面包屑导航\n */\nimport React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaIcon, SchemaUrlPath} from '../Schema';\nimport {filter} from '../utils/tpl';\nimport {resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport Breadcrumb from '../components/Breadcrumb';\n\nexport type BreadcrumbBaseItemSchema = {\n /**\n * 文字\n */\n label?: string;\n\n /**\n * 图标类名\n */\n icon?: SchemaIcon;\n\n /**\n * 链接地址\n */\n href?: SchemaUrlPath;\n} & Omit<BaseSchema, 'type'>;\n\nexport type BreadcrumbItemSchema = {\n /**\n * 文字\n */\n label?: string;\n\n /**\n * 图标类名\n */\n icon?: SchemaIcon;\n\n /**\n * 链接地址\n */\n href?: SchemaUrlPath;\n\n /**\n * 下拉菜单\n */\n dropdown?: Array<BreadcrumbBaseItemSchema>;\n} & Omit<BaseSchema, 'type'>;\n\nexport type TooltipPositionType = 'top' | 'bottom' | 'left' | 'right';\n\nexport type ItemPlace = 'start' | 'middle' | 'end';\n\n/**\n * Breadcrumb 显示渲染器\n * 文档:https://baidu.gitee.io/amis/docs/components/breadcrumb\n */\n\nexport interface BreadcrumbSchema extends BaseSchema {\n /**\n * 指定为面包屑显示控件\n */\n type: 'breadcrumb';\n\n /**\n * 面包项类名\n */\n itemClassName?: string;\n\n /**\n * 分隔符\n */\n separator?: string;\n\n /**\n * 分隔符类名\n */\n separatorClassName?: string;\n\n /**\n * 下拉菜单类名\n */\n dropdownClassName?: string;\n\n /**\n * 下拉菜单项类名\n */\n dropdownItemClassName?: string;\n\n /**\n * 列表\n */\n items: Array<BreadcrumbItemSchema>;\n\n /**\n * labelMaxLength\n */\n labelMaxLength?: number;\n\n /**\n * 浮窗提示位置\n */\n tooltipPosition?: TooltipPositionType;\n}\n\nexport interface BreadcrumbProps\n extends RendererProps,\n Omit<BreadcrumbSchema, 'type' | 'className'> {}\n\nexport class BreadcrumbField extends React.Component<BreadcrumbProps, object> {\n render() {\n const {items, source, data, env, ...restProps} = this.props;\n\n let crumbItems = items\n ? items\n : (resolveVariableAndFilter(\n source,\n data,\n '| raw'\n ) as Array<BreadcrumbItemSchema>);\n crumbItems = crumbItems.map(item => {\n if (item.label) {\n item.label = filter(item.label, data);\n }\n if (item.href) {\n item.href = resolveVariableAndFilter(item.href, data, '| raw');\n }\n if (item.dropdown) {\n item.dropdown = item.dropdown.map(dropdownItem => {\n if (dropdownItem.label) {\n dropdownItem.label = filter(dropdownItem.label, data);\n }\n if (dropdownItem.href) {\n dropdownItem.href = resolveVariableAndFilter(\n dropdownItem.href,\n data,\n '| raw'\n );\n }\n return dropdownItem;\n });\n }\n return item;\n });\n\n return (\n <Breadcrumb\n items={crumbItems}\n tooltipContainer={env?.getModalContainer}\n {...restProps}\n ></Breadcrumb>\n );\n }\n}\n\n@Renderer({\n type: 'breadcrumb'\n})\nexport class BreadcrumbFieldRenderer extends BreadcrumbField {}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/renderers/CRUD.js
CHANGED
@@ -205,6 +205,9 @@ var CRUD = /** @class */ (function (_super) {
|
|
205
205
|
}
|
206
206
|
});
|
207
207
|
}
|
208
|
+
else if (action.actionType === 'reload') {
|
209
|
+
this.reload();
|
210
|
+
}
|
208
211
|
else if (pickerMode &&
|
209
212
|
(action.actionType === 'confirm' || action.actionType === 'submit')) {
|
210
213
|
store.setCurrentAction(action);
|