amis 1.4.2-beta.1 → 1.4.2-beta.11
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/lib/Schema.d.ts +9 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/AnchorNav.d.ts +22 -21
- package/lib/components/AnchorNav.js +7 -3
- package/lib/components/AnchorNav.js.map +2 -2
- package/lib/components/ArrayInput.d.ts +84 -84
- package/lib/components/AssociatedSelection.d.ts +930 -0
- package/lib/components/AssociatedSelection.js +89 -0
- package/lib/components/AssociatedSelection.js.map +13 -0
- package/lib/components/Badge.js +2 -2
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
- package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
- package/lib/components/ChainedSelection.js.map +13 -0
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.d.ts +84 -84
- package/lib/components/Editor.d.ts +84 -84
- package/lib/components/GroupedSelection.d.ts +907 -0
- package/lib/components/GroupedSelection.js +48 -0
- package/lib/components/GroupedSelection.js.map +13 -0
- package/lib/components/Link.d.ts +29 -36
- package/lib/components/Link.js +14 -15
- package/lib/components/Link.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/ModalManager.js +1 -1
- package/lib/components/ModalManager.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/NumberInput.d.ts +20 -20
- package/lib/components/PickerColumn.d.ts +514 -0
- package/lib/components/PickerColumn.js +279 -0
- package/lib/components/PickerColumn.js.map +13 -0
- package/lib/components/PickerContainer.d.ts +513 -0
- package/lib/components/PickerContainer.js +96 -0
- package/lib/components/PickerContainer.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -21
- package/lib/components/Radios.js +1 -0
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Rating.d.ts +21 -21
- package/lib/components/ResultBox.d.ts +84 -84
- package/lib/components/SearchBox.d.ts +84 -84
- package/lib/components/SearchBox.js +4 -4
- package/lib/components/SearchBox.js.map +2 -2
- package/lib/components/Select.d.ts +245 -237
- package/lib/components/Select.js +25 -4
- package/lib/components/Select.js.map +2 -2
- package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
- package/lib/components/Selection.js +134 -0
- package/lib/components/Selection.js.map +13 -0
- package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
- package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
- package/lib/components/TableSelection.js.map +13 -0
- package/lib/components/Tabs.d.ts +20 -20
- package/lib/components/TabsTransfer.d.ts +84 -84
- package/lib/components/TabsTransfer.js +9 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +489 -0
- package/lib/components/TabsTransferPicker.js +60 -0
- package/lib/components/TabsTransferPicker.js.map +13 -0
- package/lib/components/Transfer.d.ts +908 -274
- package/lib/components/Transfer.js +31 -24
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +487 -0
- package/lib/components/TransferDropDown.js +59 -0
- package/lib/components/TransferDropDown.js.map +13 -0
- package/lib/components/TransferPicker.d.ts +489 -0
- package/lib/components/TransferPicker.js +60 -0
- package/lib/components/TransferPicker.js.map +13 -0
- package/lib/components/Tree.d.ts +84 -84
- package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
- package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
- package/lib/components/TreeSelection.js.map +13 -0
- package/lib/components/WithRemoteConfig.js +1 -1
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/condition-builder/Field.js +5 -2
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +2 -2
- package/lib/components/condition-builder/Func.js.map +2 -2
- package/lib/components/condition-builder/InputSwitch.js +2 -2
- package/lib/components/condition-builder/InputSwitch.js.map +2 -2
- package/lib/components/condition-builder/Item.js +3 -3
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/index.d.ts +8 -8
- package/lib/components/index.js +16 -16
- package/lib/components/index.js.map +2 -2
- package/lib/envOverwrite.js.map +2 -2
- package/lib/factory.d.ts +4 -0
- package/lib/factory.js +4 -2
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/hooks/index.d.ts +5 -0
- package/lib/hooks/index.js +14 -0
- package/lib/hooks/index.js.map +13 -0
- package/lib/hooks/use-set-state.d.ts +2 -0
- package/lib/hooks/use-set-state.js +15 -0
- package/lib/hooks/use-set-state.js.map +13 -0
- package/lib/hooks/use-touch.d.ts +16 -0
- package/lib/hooks/use-touch.js +73 -0
- package/lib/hooks/use-touch.js.map +13 -0
- package/lib/hooks/use-update-effect.d.ts +3 -0
- package/lib/hooks/use-update-effect.js +17 -0
- package/lib/hooks/use-update-effect.js.map +13 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +4 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +2 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +2 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +4 -2
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +4 -3
- package/lib/renderers/Action.js +17 -4
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/AnchorNav.d.ts +1 -0
- package/lib/renderers/AnchorNav.js +2 -2
- package/lib/renderers/AnchorNav.js.map +2 -2
- package/lib/renderers/Avatar.js +3 -3
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/Breadcrumb.js +1 -1
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +9 -0
- package/lib/renderers/CRUD.js +24 -4
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.d.ts +4 -0
- package/lib/renderers/Card.js +29 -23
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Chart.js +1 -1
- package/lib/renderers/Chart.js.map +2 -2
- package/lib/renderers/Collapse.js +3 -2
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/DropDownButton.js +1 -1
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +4 -3
- package/lib/renderers/Form/Editor.d.ts +3 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputCity.js +7 -6
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputFile.js +10 -4
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +11 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +1 -1
- package/lib/renderers/Form/Item.js.map +1 -1
- package/lib/renderers/Form/Options.js +13 -3
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +41 -4
- package/lib/renderers/Form/Select.js +23 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TabsTransferPicker.js +29 -0
- package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
- package/lib/renderers/Form/Transfer.js +3 -2
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TransferPicker.js +29 -0
- package/lib/renderers/Form/TransferPicker.js.map +13 -0
- package/lib/renderers/Form/TreeSelect.js +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +1 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +13 -1
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/IFrame.js +1 -3
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Json.d.ts +4 -0
- package/lib/renderers/Json.js +4 -13
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Link.d.ts +4 -2
- package/lib/renderers/Link.js +15 -6
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/List.js +1 -1
- package/lib/renderers/List.js.map +2 -2
- package/lib/renderers/Mapping.d.ts +9 -2
- package/lib/renderers/Mapping.js +18 -6
- package/lib/renderers/Mapping.js.map +2 -2
- package/lib/renderers/Nav.d.ts +21 -21
- package/lib/renderers/Nav.js +39 -21
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Portlet.d.ts +125 -0
- package/lib/renderers/Portlet.js +156 -0
- package/lib/renderers/Portlet.js.map +13 -0
- package/lib/renderers/Property.js +2 -1
- package/lib/renderers/Property.js.map +2 -2
- package/lib/renderers/SearchBox.d.ts +6 -1
- package/lib/renderers/SearchBox.js +19 -5
- package/lib/renderers/SearchBox.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +4 -1
- package/lib/renderers/Table/TableContent.js +21 -1
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +5 -1
- package/lib/renderers/Table/index.js +64 -29
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +9 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/WebComponent.js +1 -1
- package/lib/renderers/WebComponent.js.map +2 -2
- package/lib/store/combo.d.ts +2 -16
- package/lib/store/crud.js +3 -7
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +5 -6
- package/lib/store/form.js.map +2 -2
- package/lib/store/service.js +5 -4
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +2 -2
- package/lib/themes/ang-ie11.css +422 -149
- package/lib/themes/ang.css +422 -149
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +422 -149
- package/lib/themes/antd.css +422 -149
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +456 -182
- package/lib/themes/cxd.css +456 -182
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +422 -149
- package/lib/themes/dark.css +422 -149
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +456 -182
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +37 -0
- package/lib/types.js +0 -5
- package/lib/types.js.map +2 -2
- package/lib/utils/api.d.ts +3 -2
- package/lib/utils/api.js +28 -12
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/dom.d.ts +4 -0
- package/lib/utils/dom.js +11 -1
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/helper.d.ts +2 -0
- package/lib/utils/helper.js +11 -2
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/icon.js +3 -0
- package/lib/utils/icon.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +3038 -790
- package/scss/_mixins.scss +1 -3
- package/scss/_properties.scss +25 -1
- package/scss/base/_normalize.scss +2 -0
- package/scss/components/_anchor-nav.scss +88 -29
- package/scss/components/_card.scss +8 -14
- package/scss/components/_collapse.scss +16 -1
- package/scss/components/_mapping.scss +6 -0
- package/scss/components/_nav.scss +1 -1
- package/scss/components/_picker-columns.scss +123 -0
- package/scss/components/_popover.scss +17 -0
- package/scss/components/_portlet.scss +51 -0
- package/scss/components/_status.scss +1 -1
- package/scss/components/_table.scss +26 -0
- package/scss/components/form/_checks.scss +0 -351
- package/scss/components/form/_fieldset.scss +5 -1
- package/scss/components/form/_selection.scss +354 -0
- package/scss/components/form/_transfer.scss +75 -18
- package/scss/themes/_common.scss +4 -0
- package/scss/themes/_cxd-variables.scss +4 -1
- package/scss/themes/cxd.scss +16 -12
- package/sdk/ang-ie11.css +457 -152
- package/sdk/ang.css +480 -154
- package/sdk/antd-ie11.css +456 -151
- package/sdk/antd.css +480 -154
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +496 -194
- package/sdk/cxd.css +517 -190
- package/sdk/dark-ie11.css +457 -152
- package/sdk/dark.css +480 -154
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +2 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +20 -28
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +496 -194
- package/sdk/sdk.css +517 -190
- package/sdk/sdk.js +1268 -1236
- 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/Schema.ts +14 -0
- package/src/components/AnchorNav.tsx +15 -4
- package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
- package/src/components/Badge.tsx +3 -3
- package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
- package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
- package/src/components/Link.tsx +28 -37
- package/src/components/ModalManager.ts +1 -1
- package/src/components/PickerColumn.tsx +429 -0
- package/src/components/PickerContainer.tsx +128 -0
- package/src/components/Radios.tsx +3 -8
- package/src/components/SearchBox.tsx +4 -5
- package/src/components/Select.tsx +57 -5
- package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
- package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
- package/src/components/TabsTransfer.tsx +13 -7
- package/src/components/TabsTransferPicker.tsx +85 -0
- package/src/components/Transfer.tsx +71 -50
- package/src/components/TransferDropDown.tsx +117 -0
- package/src/components/TransferPicker.tsx +84 -0
- package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
- package/src/components/WithRemoteConfig.tsx +7 -2
- package/src/components/condition-builder/Field.tsx +5 -5
- package/src/components/condition-builder/Func.tsx +3 -3
- package/src/components/condition-builder/InputSwitch.tsx +3 -3
- package/src/components/condition-builder/Item.tsx +5 -12
- package/src/components/index.tsx +13 -13
- package/src/envOverwrite.ts +0 -1
- package/src/factory.tsx +18 -3
- package/src/hooks/index.ts +5 -0
- package/src/hooks/use-set-state.ts +19 -0
- package/src/hooks/use-touch.ts +100 -0
- package/src/hooks/use-update-effect.ts +16 -0
- package/src/index.tsx +3 -0
- package/src/locale/de-DE.ts +2 -0
- package/src/locale/en-US.ts +2 -0
- package/src/locale/zh-CN.ts +4 -2
- package/src/renderers/Action.tsx +28 -2
- package/src/renderers/AnchorNav.tsx +4 -0
- package/src/renderers/Avatar.tsx +8 -4
- package/src/renderers/Breadcrumb.tsx +5 -1
- package/src/renderers/CRUD.tsx +33 -3
- package/src/renderers/Card.tsx +63 -34
- package/src/renderers/Chart.tsx +6 -2
- package/src/renderers/Collapse.tsx +4 -2
- package/src/renderers/DropDownButton.tsx +1 -1
- package/src/renderers/Form/InputCity.tsx +4 -8
- package/src/renderers/Form/InputFile.tsx +29 -20
- package/src/renderers/Form/InputImage.tsx +11 -3
- package/src/renderers/Form/Item.tsx +1 -1
- package/src/renderers/Form/Options.tsx +16 -2
- package/src/renderers/Form/Select.tsx +144 -21
- package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
- package/src/renderers/Form/Transfer.tsx +3 -2
- package/src/renderers/Form/TransferPicker.tsx +123 -0
- package/src/renderers/Form/TreeSelect.tsx +25 -0
- package/src/renderers/Form/index.tsx +1 -1
- package/src/renderers/Form/wrapControl.tsx +26 -1
- package/src/renderers/IFrame.tsx +2 -4
- package/src/renderers/Json.tsx +9 -9
- package/src/renderers/Link.tsx +27 -13
- package/src/renderers/List.tsx +1 -1
- package/src/renderers/Mapping.tsx +27 -11
- package/src/renderers/Nav.tsx +108 -60
- package/src/renderers/Portlet.tsx +423 -0
- package/src/renderers/Property.tsx +3 -2
- package/src/renderers/SearchBox.tsx +23 -4
- package/src/renderers/Table/TableContent.tsx +40 -2
- package/src/renderers/Table/index.tsx +87 -41
- package/src/renderers/Tabs.tsx +9 -1
- package/src/renderers/WebComponent.tsx +2 -2
- package/src/store/crud.ts +3 -8
- package/src/store/form.ts +5 -10
- package/src/store/service.ts +5 -4
- package/src/types.ts +57 -0
- package/src/utils/api.ts +40 -20
- package/src/utils/dom.tsx +12 -0
- package/src/utils/helper.ts +8 -0
- package/src/utils/icon.tsx +4 -0
- package/dump.rdb +0 -0
- package/lib/components/AssociatedCheckboxes.d.ts +0 -762
- package/lib/components/AssociatedCheckboxes.js +0 -90
- package/lib/components/AssociatedCheckboxes.js.map +0 -13
- package/lib/components/ChainedCheckboxes.js.map +0 -13
- package/lib/components/Checkboxes.js +0 -101
- package/lib/components/Checkboxes.js.map +0 -13
- package/lib/components/ListCheckboxes.d.ts +0 -739
- package/lib/components/ListCheckboxes.js +0 -48
- package/lib/components/ListCheckboxes.js.map +0 -13
- package/lib/components/ListRadios.d.ts +0 -763
- package/lib/components/ListRadios.js +0 -86
- package/lib/components/ListRadios.js.map +0 -13
- package/lib/components/TableCheckboxes.js.map +0 -13
- package/lib/components/TreeCheckboxes.js.map +0 -13
- package/lib/components/TreeRadios.d.ts +0 -838
- package/lib/components/TreeRadios.js +0 -116
- package/lib/components/TreeRadios.js.map +0 -13
- package/src/components/ListRadios.tsx +0 -159
- package/src/components/TreeRadios.tsx +0 -202
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.TreeSelection = void 0;
|
4
4
|
var tslib_1 = require("tslib");
|
5
|
-
var
|
5
|
+
var Selection_1 = require("./Selection");
|
6
6
|
var theme_1 = require("../theme");
|
7
7
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
8
8
|
var uncontrollable_1 = require("uncontrollable");
|
@@ -11,26 +11,26 @@ var helper_1 = require("../utils/helper");
|
|
11
11
|
var Spinner_1 = (0, tslib_1.__importDefault)(require("./Spinner"));
|
12
12
|
var locale_1 = require("../locale");
|
13
13
|
var icons_1 = require("./icons");
|
14
|
-
var
|
15
|
-
(0, tslib_1.__extends)(
|
16
|
-
function
|
14
|
+
var TreeSelection = /** @class */ (function (_super) {
|
15
|
+
(0, tslib_1.__extends)(TreeSelection, _super);
|
16
|
+
function TreeSelection() {
|
17
17
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
18
18
|
_this.state = {
|
19
19
|
expanded: []
|
20
20
|
};
|
21
21
|
return _this;
|
22
22
|
}
|
23
|
-
|
23
|
+
TreeSelection.prototype.componentDidMount = function () {
|
24
24
|
this.syncExpanded();
|
25
25
|
};
|
26
|
-
|
26
|
+
TreeSelection.prototype.componentDidUpdate = function (prevProps) {
|
27
27
|
var props = this.props;
|
28
28
|
if (!this.state.expanded.length &&
|
29
29
|
(props.expand !== prevProps.expand || props.options !== prevProps.options)) {
|
30
30
|
this.syncExpanded();
|
31
31
|
}
|
32
32
|
};
|
33
|
-
|
33
|
+
TreeSelection.prototype.syncExpanded = function () {
|
34
34
|
var options = this.props.options;
|
35
35
|
var mode = this.props.expand;
|
36
36
|
var expanded = [];
|
@@ -56,8 +56,8 @@ var TreeCheckboxes = /** @class */ (function (_super) {
|
|
56
56
|
}
|
57
57
|
this.setState({ expanded: expanded });
|
58
58
|
};
|
59
|
-
|
60
|
-
var _a = this.props, value = _a.value, onChange = _a.onChange, option2value = _a.option2value, options = _a.options, onDeferLoad = _a.onDeferLoad, disabled = _a.disabled;
|
59
|
+
TreeSelection.prototype.toggleOption = function (option) {
|
60
|
+
var _a = this.props, value = _a.value, onChange = _a.onChange, option2value = _a.option2value, options = _a.options, onDeferLoad = _a.onDeferLoad, disabled = _a.disabled, multiple = _a.multiple, clearable = _a.clearable;
|
61
61
|
if (disabled || option.disabled) {
|
62
62
|
return;
|
63
63
|
}
|
@@ -65,10 +65,11 @@ var TreeCheckboxes = /** @class */ (function (_super) {
|
|
65
65
|
onDeferLoad === null || onDeferLoad === void 0 ? void 0 : onDeferLoad(option);
|
66
66
|
return;
|
67
67
|
}
|
68
|
-
var valueArray =
|
68
|
+
var valueArray = Selection_1.BaseSelection.value2array(value, options, option2value);
|
69
69
|
if (option.value === void 0 &&
|
70
70
|
Array.isArray(option.children) &&
|
71
|
-
option.children.length
|
71
|
+
option.children.length &&
|
72
|
+
multiple) {
|
72
73
|
var someCheckedFn_1 = function (child) {
|
73
74
|
return (Array.isArray(child.children) && child.children.length
|
74
75
|
? child.children.some(someCheckedFn_1)
|
@@ -92,19 +93,22 @@ var TreeCheckboxes = /** @class */ (function (_super) {
|
|
92
93
|
}
|
93
94
|
else {
|
94
95
|
var idx = valueArray.indexOf(option);
|
95
|
-
if (~idx) {
|
96
|
+
if (~idx && (multiple || clearable)) {
|
96
97
|
valueArray.splice(idx, 1);
|
97
98
|
}
|
98
|
-
else {
|
99
|
+
else if (multiple) {
|
99
100
|
valueArray.push(option);
|
100
101
|
}
|
102
|
+
else {
|
103
|
+
valueArray = [option];
|
104
|
+
}
|
101
105
|
}
|
102
106
|
var newValue = option2value
|
103
107
|
? valueArray.map(function (item) { return option2value(item); })
|
104
108
|
: valueArray;
|
105
|
-
onChange && onChange(newValue);
|
109
|
+
onChange && onChange(multiple ? newValue : newValue[0]);
|
106
110
|
};
|
107
|
-
|
111
|
+
TreeSelection.prototype.toggleCollapsed = function (option, index) {
|
108
112
|
var onDeferLoad = this.props.onDeferLoad;
|
109
113
|
var expanded = this.state.expanded.concat();
|
110
114
|
var idx = expanded.indexOf(index);
|
@@ -118,10 +122,10 @@ var TreeCheckboxes = /** @class */ (function (_super) {
|
|
118
122
|
expanded: expanded
|
119
123
|
}, option.defer && onDeferLoad ? function () { return onDeferLoad(option); } : undefined);
|
120
124
|
};
|
121
|
-
|
125
|
+
TreeSelection.prototype.renderItem = function (option, index, indexes) {
|
122
126
|
var _this = this;
|
123
127
|
if (indexes === void 0) { indexes = []; }
|
124
|
-
var _a = this.props, labelClassName = _a.labelClassName, disabled = _a.disabled, cx = _a.classnames, itemClassName = _a.itemClassName, itemRender = _a.itemRender;
|
128
|
+
var _a = this.props, labelClassName = _a.labelClassName, disabled = _a.disabled, cx = _a.classnames, itemClassName = _a.itemClassName, itemRender = _a.itemRender, multiple = _a.multiple;
|
125
129
|
var id = indexes.join('-');
|
126
130
|
var valueArray = this.valueArray;
|
127
131
|
var partial = false;
|
@@ -152,37 +156,37 @@ var TreeCheckboxes = /** @class */ (function (_super) {
|
|
152
156
|
checked = !!~valueArray.indexOf(option);
|
153
157
|
}
|
154
158
|
var expaned = !!~this.state.expanded.indexOf(id);
|
155
|
-
return (react_1.default.createElement("div", { key: index, className: cx('
|
159
|
+
return (react_1.default.createElement("div", { key: index, className: cx('TreeSelection-item', disabled || option.disabled || (option.defer && option.loading)
|
156
160
|
? 'is-disabled'
|
157
161
|
: '', expaned ? 'is-expanded' : '') },
|
158
|
-
react_1.default.createElement("div", { className: cx('
|
162
|
+
react_1.default.createElement("div", { className: cx('TreeSelection-itemInner', itemClassName, option.className, checked ? 'is-active' : ''), onClick: function () { return _this.toggleOption(option); } },
|
159
163
|
hasChildren || option.defer ? (react_1.default.createElement("a", { onClick: function (e) {
|
160
164
|
e.stopPropagation();
|
161
165
|
_this.toggleCollapsed(option, id);
|
162
166
|
}, className: cx('Table-expandBtn', expaned ? 'is-active' : '') },
|
163
167
|
react_1.default.createElement(icons_1.Icon, { icon: "right-arrow-bold", className: "icon" }))) : null,
|
164
|
-
react_1.default.createElement("div", { className: cx('
|
168
|
+
react_1.default.createElement("div", { className: cx('TreeSelection-itemLabel') }, itemRender(option)),
|
165
169
|
option.defer && option.loading ? react_1.default.createElement(Spinner_1.default, { show: true, size: "sm" }) : null,
|
166
|
-
!option.defer || option.loaded ? (react_1.default.createElement(Checkbox_1.default, { size: "sm", checked: checked, partial: partial, disabled: disabled || option.disabled, labelClassName: labelClassName, description: option.description })) : null),
|
167
|
-
hasChildren ? (react_1.default.createElement("div", { className: cx('
|
170
|
+
multiple && (!option.defer || option.loaded) ? (react_1.default.createElement(Checkbox_1.default, { size: "sm", checked: checked, partial: partial, disabled: disabled || option.disabled, labelClassName: labelClassName, description: option.description })) : null),
|
171
|
+
hasChildren ? (react_1.default.createElement("div", { className: cx('TreeSelection-sublist') }, option.children.map(function (option, key) {
|
168
172
|
return _this.renderItem(option, key, indexes.concat(key));
|
169
173
|
}))) : null));
|
170
174
|
};
|
171
|
-
|
175
|
+
TreeSelection.prototype.render = function () {
|
172
176
|
var _this = this;
|
173
177
|
var _a = this.props, value = _a.value, options = _a.options, className = _a.className, placeholder = _a.placeholder, cx = _a.classnames, option2value = _a.option2value, __ = _a.translate;
|
174
|
-
this.valueArray =
|
178
|
+
this.valueArray = Selection_1.BaseSelection.value2array(value, options, option2value);
|
175
179
|
var body = [];
|
176
180
|
if (Array.isArray(options) && options.length) {
|
177
181
|
body = options.map(function (option, key) { return _this.renderItem(option, key, [key]); });
|
178
182
|
}
|
179
|
-
return (react_1.default.createElement("div", { className: cx('
|
183
|
+
return (react_1.default.createElement("div", { className: cx('TreeSelection', className) }, body && body.length ? (body) : (react_1.default.createElement("div", { className: cx('TreeSelection-placeholder') }, __(placeholder)))));
|
180
184
|
};
|
181
|
-
|
182
|
-
return
|
183
|
-
}(
|
184
|
-
exports.
|
185
|
-
exports.default = (0, theme_1.themeable)((0, locale_1.localeable)((0, uncontrollable_1.uncontrollable)(
|
185
|
+
TreeSelection.defaultProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, Selection_1.BaseSelection.defaultProps), { expand: 'first' });
|
186
|
+
return TreeSelection;
|
187
|
+
}(Selection_1.BaseSelection));
|
188
|
+
exports.TreeSelection = TreeSelection;
|
189
|
+
exports.default = (0, theme_1.themeable)((0, locale_1.localeable)((0, uncontrollable_1.uncontrollable)(TreeSelection, {
|
186
190
|
value: 'onChange'
|
187
191
|
})));
|
188
|
-
//# sourceMappingURL=./components/
|
192
|
+
//# sourceMappingURL=./components/TreeSelection.js.map
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "TreeSelection.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/components/TreeSelection.tsx"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": "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",
|
10
|
+
"sourcesContent": [
|
11
|
+
"import {BaseSelection, BaseSelectionProps} from './Selection';\nimport {themeable} from '../theme';\nimport React from 'react';\nimport {uncontrollable} from 'uncontrollable';\nimport Checkbox from './Checkbox';\nimport {Option} from './Select';\nimport {autobind, eachTree, everyTree} from '../utils/helper';\nimport Spinner from './Spinner';\nimport {localeable} from '../locale';\nimport {Icon} from './icons';\n\nexport interface TreeSelectionProps extends BaseSelectionProps {\n expand?: 'all' | 'first' | 'root' | 'none';\n}\n\nexport interface TreeSelectionState {\n expanded: Array<string>;\n}\n\nexport class TreeSelection extends BaseSelection<\n TreeSelectionProps,\n TreeSelectionState\n> {\n valueArray: Array<Option>;\n state: TreeSelectionState = {\n expanded: []\n };\n\n static defaultProps = {\n ...BaseSelection.defaultProps,\n expand: 'first' as 'first'\n };\n\n componentDidMount() {\n this.syncExpanded();\n }\n\n componentDidUpdate(prevProps: TreeSelectionProps) {\n const props = this.props;\n\n if (\n !this.state.expanded.length &&\n (props.expand !== prevProps.expand || props.options !== prevProps.options)\n ) {\n this.syncExpanded();\n }\n }\n\n syncExpanded() {\n const options = this.props.options;\n const mode = this.props.expand;\n const expanded: Array<string> = [];\n\n if (!Array.isArray(options)) {\n return;\n }\n\n if (mode === 'first' || mode === 'root') {\n options.every((option, index) => {\n if (Array.isArray(option.children)) {\n expanded.push(`${index}`);\n return mode === 'root';\n }\n return true;\n });\n } else if (mode === 'all') {\n everyTree(options, (option, index, level, paths, indexes) => {\n if (Array.isArray(option.children)) {\n expanded.push(`${indexes.concat(index).join('-')}`);\n }\n return true;\n });\n }\n\n this.setState({expanded});\n }\n\n toggleOption(option: Option) {\n const {\n value,\n onChange,\n option2value,\n options,\n onDeferLoad,\n disabled,\n multiple,\n clearable\n } = this.props;\n\n if (disabled || option.disabled) {\n return;\n } else if (option.defer && !option.loaded) {\n onDeferLoad?.(option);\n return;\n }\n\n let valueArray = BaseSelection.value2array(value, options, option2value);\n\n if (\n option.value === void 0 &&\n Array.isArray(option.children) &&\n option.children.length &&\n multiple\n ) {\n const someCheckedFn = (child: Option) =>\n (Array.isArray(child.children) && child.children.length\n ? child.children.some(someCheckedFn)\n : false) ||\n (child.value !== void 0 && ~valueArray.indexOf(child));\n const someChecked = option.children.some(someCheckedFn);\n const eachFn = (child: Option) => {\n if (Array.isArray(child.children) && child.children.length) {\n child.children.forEach(eachFn);\n }\n\n if (child.value !== void 0) {\n const idx = valueArray.indexOf(child);\n\n ~idx && valueArray.splice(idx, 1);\n\n if (!someChecked) {\n valueArray.push(child);\n }\n }\n };\n option.children.forEach(eachFn);\n } else {\n let idx = valueArray.indexOf(option);\n\n if (~idx && (multiple || clearable)) {\n valueArray.splice(idx, 1);\n } else if (multiple) {\n valueArray.push(option);\n } else {\n valueArray = [option];\n }\n }\n\n let newValue: string | Array<Option> = option2value\n ? valueArray.map(item => option2value(item))\n : valueArray;\n\n onChange && onChange(multiple ? newValue : newValue[0]);\n }\n\n toggleCollapsed(option: Option, index: string) {\n const onDeferLoad = this.props.onDeferLoad;\n const expanded = this.state.expanded.concat();\n const idx = expanded.indexOf(index);\n\n if (~idx) {\n expanded.splice(idx, 1);\n } else {\n expanded.push(index);\n }\n\n this.setState(\n {\n expanded: expanded\n },\n option.defer && onDeferLoad ? () => onDeferLoad(option) : undefined\n );\n }\n\n renderItem(option: Option, index: number, indexes: Array<number> = []) {\n const {\n labelClassName,\n disabled,\n classnames: cx,\n itemClassName,\n itemRender,\n multiple\n } = this.props;\n const id = indexes.join('-');\n const valueArray = this.valueArray;\n let partial = false;\n let checked = false;\n let hasChildren = Array.isArray(option.children) && option.children.length;\n\n if (option.value === void 0 && hasChildren) {\n let allchecked = true;\n let partialChecked = false;\n const eachFn = (child: Option) => {\n if (Array.isArray(child.children) && child.children.length) {\n child.children.forEach(eachFn);\n }\n\n if (child.value !== void 0) {\n const isIn = !!~valueArray.indexOf(child);\n\n if (isIn && !partialChecked) {\n partialChecked = true;\n } else if (!isIn && allchecked) {\n allchecked = false;\n }\n\n checked = partialChecked;\n partial = partialChecked && !allchecked;\n }\n };\n\n option.children!.forEach(eachFn);\n } else {\n checked = !!~valueArray.indexOf(option);\n }\n\n const expaned = !!~this.state.expanded.indexOf(id);\n\n return (\n <div\n key={index}\n className={cx(\n 'TreeSelection-item',\n disabled || option.disabled || (option.defer && option.loading)\n ? 'is-disabled'\n : '',\n expaned ? 'is-expanded' : ''\n )}\n >\n <div\n className={cx(\n 'TreeSelection-itemInner',\n itemClassName,\n option.className,\n checked ? 'is-active' : ''\n )}\n onClick={() => this.toggleOption(option)}\n >\n {hasChildren || option.defer ? (\n <a\n onClick={(e: React.MouseEvent<any>) => {\n e.stopPropagation();\n this.toggleCollapsed(option, id);\n }}\n className={cx('Table-expandBtn', expaned ? 'is-active' : '')}\n >\n <Icon icon=\"right-arrow-bold\" className=\"icon\" />\n </a>\n ) : null}\n\n <div className={cx('TreeSelection-itemLabel')}>\n {itemRender(option)}\n </div>\n\n {option.defer && option.loading ? <Spinner show size=\"sm\" /> : null}\n\n {multiple && (!option.defer || option.loaded) ? (\n <Checkbox\n size=\"sm\"\n checked={checked}\n partial={partial}\n disabled={disabled || option.disabled}\n labelClassName={labelClassName}\n description={option.description}\n />\n ) : null}\n </div>\n {hasChildren ? (\n <div className={cx('TreeSelection-sublist')}>\n {option.children!.map((option, key) =>\n this.renderItem(option, key, indexes.concat(key))\n )}\n </div>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {\n value,\n options,\n className,\n placeholder,\n classnames: cx,\n option2value,\n translate: __\n } = this.props;\n\n this.valueArray = BaseSelection.value2array(value, options, option2value);\n let body: Array<React.ReactNode> = [];\n\n if (Array.isArray(options) && options.length) {\n body = options.map((option, key) => this.renderItem(option, key, [key]));\n }\n\n return (\n <div className={cx('TreeSelection', className)}>\n {body && body.length ? (\n body\n ) : (\n <div className={cx('TreeSelection-placeholder')}>\n {__(placeholder)}\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(TreeSelection, {\n value: 'onChange'\n })\n )\n);\n"
|
12
|
+
]
|
13
|
+
}
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/WithRemoteConfig.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA;;;GAGG;AACH,6DAA0B;AAC1B,iGAA0D;AAC1D,0EAAuC;AAGvC,yCAAsC;AAEtC,8BAA+C;AAE/C,mDAA+D;AAC/D,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * 一个可以拉取远程配置的 HOC\n *\n */\nimport React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport debounce from 'lodash/debounce';\nimport {Api, Payload} from '../types';\nimport {SchemaApi, SchemaTokenizeableString} from '../Schema';\nimport {withStore} from './WithStore';\n\nimport {EnvContext, RendererEnv} from '../env';\n\nimport {flow, Instance, isAlive, types} from 'mobx-state-tree';\nimport {buildApi, isEffectiveApi, normalizeApi} from '../utils/api';\nimport {\n isPureVariable,\n resolveVariableAndFilter,\n tokenize\n} from '../utils/tpl-builtin';\nimport {reaction} from 'mobx';\nimport {createObject, findIndex, findTreeIndex} from '../utils/helper';\n\nexport const Store = types\n .model('RemoteConfigStore')\n .props({\n fetching: false,\n errorMsg: '',\n config: types.frozen(),\n data: types.frozen({})\n })\n .actions(self => {\n let component: any = undefined;\n\n const load: (\n env: RendererEnv,\n api: Api,\n ctx: any,\n config: WithRemoteConfigSettings\n ) => Promise<any> = flow(function* (env, api, ctx, config = {}): any {\n try {\n self.fetching = true;\n const ret: Payload = yield env.fetcher(api, ctx);\n if (!isAlive(self)) {\n return;\n }\n\n if (ret.ok) {\n const data = ret.data || {};\n let options = config.adaptor\n ? config.adaptor(data, component.props)\n : data;\n (self as any).setConfig(options, config, 'remote');\n config.afterLoad?.(data, self.config, component.props);\n return ret;\n } else {\n throw new Error(ret.msg || 'fetch error');\n }\n } catch (e) {\n isAlive(self) && (self.errorMsg = e.message);\n } finally {\n isAlive(self) && (self.fetching = false);\n }\n });\n\n return {\n setComponent(c: any) {\n component = c;\n },\n\n load,\n setData(data: any) {\n self.data = data || {};\n },\n setConfig(\n options: any,\n config: WithRemoteConfigSettings,\n motivation?: any\n ) {\n if (config.normalizeConfig) {\n options =\n config.normalizeConfig(\n options,\n self.config,\n component.props,\n motivation\n ) || options;\n }\n\n self.config = options;\n }\n };\n });\n\nexport type IStore = Instance<typeof Store>;\n\nexport interface OutterProps {\n env?: RendererEnv;\n data: any;\n source?: SchemaApi | SchemaTokenizeableString;\n autoComplete?: SchemaApi | SchemaTokenizeableString;\n deferApi?: SchemaApi;\n remoteConfigRef?: (\n instance:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined\n ) => void;\n}\n\nexport interface RemoteOptionsProps<T = any> {\n config: T;\n loading?: boolean;\n deferLoad: (item: any) => Promise<any>;\n updateConfig: (value: T, ctx?: any) => void;\n}\n\nexport interface WithRemoteConfigSettings {\n /**\n * 从接口返回数据适配到配置\n */\n adaptor?: (json: any, props: any) => any;\n\n /**\n * 配置格式化\n */\n normalizeConfig?: (\n config: any,\n origin: any,\n props: any,\n motivation?: any\n ) => any;\n\n /**\n * 请求返回后的回调\n */\n afterLoad?: (ret: any, config: any, props: any) => void;\n\n /**\n * 懒加载选项相关,开始懒加载的回调\n */\n beforeDeferLoad?: (\n item: any,\n indexes: Array<number>,\n config: any,\n props: any\n ) => any;\n\n /**\n * 懒加载选项相关,结束懒加载的回调\n */\n afterDeferLoad?: (\n item: any,\n indexes: Array<number>,\n reponse: Payload,\n config: any,\n props: any\n ) => any;\n}\n\nexport function withRemoteConfig<P = any>(\n config: WithRemoteConfigSettings = {}\n) {\n return function <\n T extends React.ComponentType<\n React.ComponentProps<T> & RemoteOptionsProps<P>\n >\n >(ComposedComponent: T) {\n type FinalOutterProps = JSX.LibraryManagedAttributes<\n T,\n Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>\n > &\n OutterProps;\n\n const result = hoistNonReactStatic(\n withStore(() => Store.create())(\n class extends React.Component<\n FinalOutterProps & {\n store: IStore;\n }\n > {\n static displayName = `WithRemoteConfig(${\n ComposedComponent.displayName || ComposedComponent.name\n })`;\n static ComposedComponent =\n ComposedComponent as React.ComponentType<T>;\n static contextType = EnvContext;\n toDispose: Array<() => void> = [];\n\n loadOptions = debounce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n\n constructor(\n props: FinalOutterProps & {\n store: IStore;\n }\n ) {\n super(props);\n\n this.setConfig = this.setConfig.bind(this);\n props.store.setComponent(this);\n this.deferLoadConfig = this.deferLoadConfig.bind(this);\n props.remoteConfigRef?.(this);\n }\n\n componentDidMount() {\n const env: RendererEnv = this.props.env || this.context;\n const {store, source, data} = this.props;\n\n store.setData(data);\n\n if (isPureVariable(source)) {\n this.syncConfig();\n this.toDispose.push(\n reaction(\n () =>\n resolveVariableAndFilter(\n source as string,\n store.data,\n '| raw'\n ),\n () => this.syncConfig()\n )\n );\n } else if (env && isEffectiveApi(source, data)) {\n this.loadConfig();\n source.autoRefresh !== false &&\n this.toDispose.push(\n reaction(\n () => {\n const api = normalizeApi(source as string);\n return api.trackExpression\n ? tokenize(api.trackExpression, store.data)\n : buildApi(api, store.data, {\n ignoreData: true\n }).url;\n },\n () => this.loadConfig()\n )\n );\n }\n }\n\n componentDidUpdate(prevProps: any) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n props.store.setData(props.data);\n }\n }\n\n componentWillUnmount() {\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n\n this.props.remoteConfigRef?.(undefined);\n this.loadOptions.cancel();\n }\n\n async loadConfig(ctx = this.props.data) {\n const env: RendererEnv = this.props.env || this.context;\n const {store, source} = this.props;\n\n if (env && isEffectiveApi(source, ctx)) {\n await store.load(env, source, ctx, config);\n }\n }\n\n loadAutoComplete(input: string) {\n const env: RendererEnv = this.props.env || this.context;\n const {autoComplete, data, store} = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n return store.load(env, autoComplete, ctx, config);\n }\n\n setConfig(value: any, ctx?: any) {\n const {store} = this.props;\n store.setConfig(value, config, ctx);\n }\n\n syncConfig() {\n const {store, source, data} = this.props;\n\n if (isPureVariable(source)) {\n store.setConfig(\n resolveVariableAndFilter(source as string, data, '| raw') || [],\n config,\n 'syncConfig'\n );\n }\n }\n\n async deferLoadConfig(item: any) {\n const {store, source, data, deferApi} = this.props;\n const env: RendererEnv = this.props.env || this.context;\n const indexes = findTreeIndex(store.config, a => a === item)!;\n\n const ret = config.beforeDeferLoad?.(\n item,\n indexes,\n store.config,\n this.props\n );\n\n ret && store.setConfig(ret, config, 'before-defer-load');\n let response: Payload;\n try {\n if (!isEffectiveApi(item.deferApi || deferApi || source)) {\n throw new Error('deferApi is required');\n }\n\n response = await env.fetcher(\n item.deferApi || deferApi || source,\n createObject(data, item)\n );\n } catch (e) {\n response = {\n ok: false,\n msg: e.message,\n status: 500,\n data: undefined\n };\n }\n const ret2 = config.afterDeferLoad?.(\n item,\n indexes, // 只能假定还是那个 index 了\n response,\n store.config,\n this.props\n );\n ret2 && store.setConfig(ret2, config, 'after-defer-load');\n }\n\n render() {\n const store = this.props.store;\n const env: RendererEnv = this.props.env || this.context;\n const injectedProps: RemoteOptionsProps<P> = {\n config: store.config,\n loading: store.fetching,\n deferLoad: this.deferLoadConfig,\n updateConfig: this.setConfig\n };\n const {remoteConfigRef, autoComplete, ...rest} = this.props;\n\n return (\n <ComposedComponent\n {...(rest as JSX.LibraryManagedAttributes<\n T,\n React.ComponentProps<T>\n >)}\n {...(env && isEffectiveApi(autoComplete) && this.loadOptions\n ? {loadOptions: this.loadOptions}\n : {})}\n {...injectedProps}\n />\n );\n }\n }\n ),\n ComposedComponent\n );\n\n return result as typeof result & {\n ComposedComponent: T;\n };\n };\n}\n"
|
11
|
+
"/**\n * 一个可以拉取远程配置的 HOC\n *\n */\nimport React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport debounce from 'lodash/debounce';\nimport {Api, Payload} from '../types';\nimport {SchemaApi, SchemaTokenizeableString} from '../Schema';\nimport {withStore} from './WithStore';\n\nimport {EnvContext, RendererEnv} from '../env';\n\nimport {flow, Instance, isAlive, types} from 'mobx-state-tree';\nimport {\n buildApi,\n isEffectiveApi,\n normalizeApi,\n normalizeApiResponseData\n} from '../utils/api';\nimport {\n isPureVariable,\n resolveVariableAndFilter,\n tokenize\n} from '../utils/tpl-builtin';\nimport {reaction} from 'mobx';\nimport {createObject, findIndex, findTreeIndex} from '../utils/helper';\n\nexport const Store = types\n .model('RemoteConfigStore')\n .props({\n fetching: false,\n errorMsg: '',\n config: types.frozen(),\n data: types.frozen({})\n })\n .actions(self => {\n let component: any = undefined;\n\n const load: (\n env: RendererEnv,\n api: Api,\n ctx: any,\n config: WithRemoteConfigSettings\n ) => Promise<any> = flow(function* (env, api, ctx, config = {}): any {\n try {\n self.fetching = true;\n const ret: Payload = yield env.fetcher(api, ctx);\n if (!isAlive(self)) {\n return;\n }\n\n if (ret.ok) {\n const data = normalizeApiResponseData(ret.data);\n let options = config.adaptor\n ? config.adaptor(data, component.props)\n : data;\n (self as any).setConfig(options, config, 'remote');\n config.afterLoad?.(data, self.config, component.props);\n return ret;\n } else {\n throw new Error(ret.msg || 'fetch error');\n }\n } catch (e) {\n isAlive(self) && (self.errorMsg = e.message);\n } finally {\n isAlive(self) && (self.fetching = false);\n }\n });\n\n return {\n setComponent(c: any) {\n component = c;\n },\n\n load,\n setData(data: any) {\n self.data = data || {};\n },\n setConfig(\n options: any,\n config: WithRemoteConfigSettings,\n motivation?: any\n ) {\n if (config.normalizeConfig) {\n options =\n config.normalizeConfig(\n options,\n self.config,\n component.props,\n motivation\n ) || options;\n }\n\n self.config = options;\n }\n };\n });\n\nexport type IStore = Instance<typeof Store>;\n\nexport interface OutterProps {\n env?: RendererEnv;\n data: any;\n source?: SchemaApi | SchemaTokenizeableString;\n autoComplete?: SchemaApi | SchemaTokenizeableString;\n deferApi?: SchemaApi;\n remoteConfigRef?: (\n instance:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined\n ) => void;\n}\n\nexport interface RemoteOptionsProps<T = any> {\n config: T;\n loading?: boolean;\n deferLoad: (item: any) => Promise<any>;\n updateConfig: (value: T, ctx?: any) => void;\n}\n\nexport interface WithRemoteConfigSettings {\n /**\n * 从接口返回数据适配到配置\n */\n adaptor?: (json: any, props: any) => any;\n\n /**\n * 配置格式化\n */\n normalizeConfig?: (\n config: any,\n origin: any,\n props: any,\n motivation?: any\n ) => any;\n\n /**\n * 请求返回后的回调\n */\n afterLoad?: (ret: any, config: any, props: any) => void;\n\n /**\n * 懒加载选项相关,开始懒加载的回调\n */\n beforeDeferLoad?: (\n item: any,\n indexes: Array<number>,\n config: any,\n props: any\n ) => any;\n\n /**\n * 懒加载选项相关,结束懒加载的回调\n */\n afterDeferLoad?: (\n item: any,\n indexes: Array<number>,\n reponse: Payload,\n config: any,\n props: any\n ) => any;\n}\n\nexport function withRemoteConfig<P = any>(\n config: WithRemoteConfigSettings = {}\n) {\n return function <\n T extends React.ComponentType<\n React.ComponentProps<T> & RemoteOptionsProps<P>\n >\n >(ComposedComponent: T) {\n type FinalOutterProps = JSX.LibraryManagedAttributes<\n T,\n Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>\n > &\n OutterProps;\n\n const result = hoistNonReactStatic(\n withStore(() => Store.create())(\n class extends React.Component<\n FinalOutterProps & {\n store: IStore;\n }\n > {\n static displayName = `WithRemoteConfig(${\n ComposedComponent.displayName || ComposedComponent.name\n })`;\n static ComposedComponent =\n ComposedComponent as React.ComponentType<T>;\n static contextType = EnvContext;\n toDispose: Array<() => void> = [];\n\n loadOptions = debounce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n\n constructor(\n props: FinalOutterProps & {\n store: IStore;\n }\n ) {\n super(props);\n\n this.setConfig = this.setConfig.bind(this);\n props.store.setComponent(this);\n this.deferLoadConfig = this.deferLoadConfig.bind(this);\n props.remoteConfigRef?.(this);\n }\n\n componentDidMount() {\n const env: RendererEnv = this.props.env || this.context;\n const {store, source, data} = this.props;\n\n store.setData(data);\n\n if (isPureVariable(source)) {\n this.syncConfig();\n this.toDispose.push(\n reaction(\n () =>\n resolveVariableAndFilter(\n source as string,\n store.data,\n '| raw'\n ),\n () => this.syncConfig()\n )\n );\n } else if (env && isEffectiveApi(source, data)) {\n this.loadConfig();\n source.autoRefresh !== false &&\n this.toDispose.push(\n reaction(\n () => {\n const api = normalizeApi(source as string);\n return api.trackExpression\n ? tokenize(api.trackExpression, store.data)\n : buildApi(api, store.data, {\n ignoreData: true\n }).url;\n },\n () => this.loadConfig()\n )\n );\n }\n }\n\n componentDidUpdate(prevProps: any) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n props.store.setData(props.data);\n }\n }\n\n componentWillUnmount() {\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n\n this.props.remoteConfigRef?.(undefined);\n this.loadOptions.cancel();\n }\n\n async loadConfig(ctx = this.props.data) {\n const env: RendererEnv = this.props.env || this.context;\n const {store, source} = this.props;\n\n if (env && isEffectiveApi(source, ctx)) {\n await store.load(env, source, ctx, config);\n }\n }\n\n loadAutoComplete(input: string) {\n const env: RendererEnv = this.props.env || this.context;\n const {autoComplete, data, store} = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n return store.load(env, autoComplete, ctx, config);\n }\n\n setConfig(value: any, ctx?: any) {\n const {store} = this.props;\n store.setConfig(value, config, ctx);\n }\n\n syncConfig() {\n const {store, source, data} = this.props;\n\n if (isPureVariable(source)) {\n store.setConfig(\n resolveVariableAndFilter(source as string, data, '| raw') || [],\n config,\n 'syncConfig'\n );\n }\n }\n\n async deferLoadConfig(item: any) {\n const {store, source, data, deferApi} = this.props;\n const env: RendererEnv = this.props.env || this.context;\n const indexes = findTreeIndex(store.config, a => a === item)!;\n\n const ret = config.beforeDeferLoad?.(\n item,\n indexes,\n store.config,\n this.props\n );\n\n ret && store.setConfig(ret, config, 'before-defer-load');\n let response: Payload;\n try {\n if (!isEffectiveApi(item.deferApi || deferApi || source)) {\n throw new Error('deferApi is required');\n }\n\n response = await env.fetcher(\n item.deferApi || deferApi || source,\n createObject(data, item)\n );\n } catch (e) {\n response = {\n ok: false,\n msg: e.message,\n status: 500,\n data: undefined\n };\n }\n const ret2 = config.afterDeferLoad?.(\n item,\n indexes, // 只能假定还是那个 index 了\n response,\n store.config,\n this.props\n );\n ret2 && store.setConfig(ret2, config, 'after-defer-load');\n }\n\n render() {\n const store = this.props.store;\n const env: RendererEnv = this.props.env || this.context;\n const injectedProps: RemoteOptionsProps<P> = {\n config: store.config,\n loading: store.fetching,\n deferLoad: this.deferLoadConfig,\n updateConfig: this.setConfig\n };\n const {remoteConfigRef, autoComplete, ...rest} = this.props;\n\n return (\n <ComposedComponent\n {...(rest as JSX.LibraryManagedAttributes<\n T,\n React.ComponentProps<T>\n >)}\n {...(env && isEffectiveApi(autoComplete) && this.loadOptions\n ? {loadOptions: this.loadOptions}\n : {})}\n {...injectedProps}\n />\n );\n }\n }\n ),\n ComposedComponent\n );\n\n return result as typeof result & {\n ComposedComponent: T;\n };\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -4,7 +4,7 @@ exports.ConditionField = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var PopOverContainer_1 = (0, tslib_1.__importDefault)(require("../PopOverContainer"));
|
7
|
-
var
|
7
|
+
var GroupedSelection_1 = (0, tslib_1.__importDefault)(require("../GroupedSelection"));
|
8
8
|
var ResultBox_1 = (0, tslib_1.__importDefault)(require("../ResultBox"));
|
9
9
|
var theme_1 = require("../../theme");
|
10
10
|
var icons_1 = require("../icons");
|
@@ -62,7 +62,10 @@ var ConditionField = /** @class */ (function (_super) {
|
|
62
62
|
var onClose = _a.onClose;
|
63
63
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
64
64
|
searchable ? (react_1.default.createElement(SearchBox_1.default, { mini: false, onSearch: _this.onSearch })) : null,
|
65
|
-
react_1.default.createElement(
|
65
|
+
react_1.default.createElement(GroupedSelection_1.default, { multiple: false, onClick: function (e) { return _this.onPopClose(e, onClose); }, options: _this.state.options, value: [value], option2value: option2value, onChange: function (_a) {
|
66
|
+
var value = _a[0];
|
67
|
+
return onChange(value);
|
68
|
+
} })));
|
66
69
|
} }, function (_a) {
|
67
70
|
var _b;
|
68
71
|
var onClick = _a.onClick, ref = _a.ref, isOpened = _a.isOpened;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/condition-builder/Field.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sFAAmD;AACnD,
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sFAAmD;AACnD,sFAAgD;AAChD,wEAAqC;AACrC,qCAAgE;AAChE,kCAA8B;AAC9B,6CAAkD;AAClD,uCAAqD;AACrD,wEAAqC;AAerC,IAAM,YAAY,GAAG,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC;AAE9C;IAAoC,+CAGnC;IACC,wBAAY,KAA0B;QAAtC,YACE,kBAAM,KAAK,CAAC,SAKb;QAJC,KAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;QACF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC3C,CAAC;IAED,iCAAQ,GAAR,UAAS,IAAY;QACnB,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7B,IAAI,CAAC,QAAQ,CAAC;YACZ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;iBACxB,GAAG,CAAC,UAAC,IAAS;gBACb,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,KAAU;wBAC7C,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;4BACtC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CACxC,CAAC;oBACJ,CAAC,CAAC,CAAC;oBACH,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;wBACxB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EAAC,QAAQ,UAAA,EAAC,CAAC,CAAC,oBAAoB;wBAC1D,CAAC,CAAC,KAAK,CAAC;iBACX;qBAAM;oBACL,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAC1C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACtC,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,KAAK,CAAC;iBACX;YACH,CAAC,CAAC;iBACD,MAAM,CAAC,UAAC,IAAS;gBAChB,OAAO,CAAC,CAAC,IAAI,CAAC;YAChB,CAAC,CAAC;SACL,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,mCAAU,GAAV,UAAW,CAAmB,EAAE,OAAmB;QACjD,IAAI,CAAC,QAAQ,CAAC;YACZ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,+BAAM,GAAN;QAAA,iBAyDC;QAxDO,IAAA,KASF,IAAI,CAAC,KAAK,EARZ,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,KAAK,WAAA,EACO,EAAE,gBAAA,EACd,cAAc,oBAAA,EACd,QAAQ,cAAA,EACG,EAAE,eAAA,EACb,UAAU,gBACE,CAAC;QACf,OAAO,CACL,8BAAC,0BAAgB,IACf,aAAa,EAAE,UAAC,EAAS;oBAAR,OAAO,aAAA;gBAAM,OAAA,CAC5B;oBACG,UAAU,CAAC,CAAC,CAAC,CACZ,8BAAC,mBAAS,IAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAI,CAAC,QAAQ,GAAI,CACpD,CAAC,CAAC,CAAC,IAAI;oBACR,8BAAC,0BAAa,IACZ,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,EAA3B,CAA2B,EACzC,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,KAAK,EAAE,CAAC,KAAK,CAAC,EACd,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,UAAC,EAAY;gCAAX,KAAK,QAAA;4BAAW,OAAA,QAAQ,CAAC,KAAK,CAAC;wBAAf,CAAe,GAC3C,CACD,CACJ;YAd6B,CAc7B,IAEA,UAAC,EAAwB;;gBAAvB,OAAO,aAAA,EAAE,GAAG,SAAA,EAAE,QAAQ,cAAA;YAAM,OAAA,CAC7B,uCAAK,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC;gBACjC,8BAAC,mBAAS,IACR,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,cAAc,EACd,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAC5B,EACD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,KAAK,EACjB,MAAM,EACJ,KAAK;wBACH,CAAC,CAAC,MAAA,IAAA,iBAAQ,EAAC,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,KAAK,EAAnB,CAAmB,CAAC,0CAAE,KAAK;wBACvD,CAAC,CAAC,EAAE,EAER,cAAc,EAAE,aAAI,EACpB,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,EAAE,CAAC,6BAA6B,CAAC,EAC9C,QAAQ,EAAE,QAAQ;oBAElB,wCAAM,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC;wBACvC,8BAAC,YAAI,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,GAAG,CACjC,CACG,CACR,CACP,CAAA;SAAA,CACgB,CACpB,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,AA3GD,CAAoC,eAAK,CAAC,SAAS,GA2GlD;AA3GY,wCAAc;AA6G3B,kBAAe,IAAA,iBAAS,EAAC,IAAA,mBAAU,EAAC,cAAc,CAAC,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport PopOverContainer from '../PopOverContainer';\nimport
|
11
|
+
"import React from 'react';\nimport PopOverContainer from '../PopOverContainer';\nimport ListSelection from '../GroupedSelection';\nimport ResultBox from '../ResultBox';\nimport {ClassNamesFn, ThemeProps, themeable} from '../../theme';\nimport {Icon} from '../icons';\nimport {findTree, noop} from '../../utils/helper';\nimport {localeable, LocaleProps} from '../../locale';\nimport SearchBox from '../SearchBox';\n\nexport interface ConditionFieldProps extends ThemeProps, LocaleProps {\n options: Array<any>;\n value: any;\n onChange: (value: any) => void;\n disabled?: boolean;\n fieldClassName?: string;\n searchable?: boolean;\n}\n\nexport interface ConditionFieldState {\n options: Array<any>;\n}\n\nconst option2value = (item: any) => item.name;\n\nexport class ConditionField extends React.Component<\n ConditionFieldProps,\n ConditionFieldState\n> {\n constructor(props: ConditionFieldProps) {\n super(props);\n this.state = {\n options: props.options\n };\n this.onSearch = this.onSearch.bind(this);\n }\n\n onSearch(text: string) {\n let txt = text.toLowerCase();\n\n this.setState({\n options: this.props.options\n .map((item: any) => {\n if (item.children) {\n let children = item.children.filter((child: any) => {\n return (\n child.name.toLowerCase().includes(txt) ||\n child.label.toLowerCase().includes(txt)\n );\n });\n return children.length > 0\n ? Object.assign({}, item, {children}) // 需要copy一份,防止覆盖原始数据\n : false;\n } else {\n return item.name.toLowerCase().includes(txt) ||\n item.label.toLowerCase().includes(txt)\n ? item\n : false;\n }\n })\n .filter((item: any) => {\n return !!item;\n })\n });\n }\n\n // 选了值,还原options\n onPopClose(e: React.MouseEvent, onClose: () => void) {\n this.setState({\n options: this.props.options\n });\n onClose();\n }\n\n render() {\n const {\n options,\n onChange,\n value,\n classnames: cx,\n fieldClassName,\n disabled,\n translate: __,\n searchable\n } = this.props;\n return (\n <PopOverContainer\n popOverRender={({onClose}) => (\n <>\n {searchable ? (\n <SearchBox mini={false} onSearch={this.onSearch} />\n ) : null}\n <ListSelection\n multiple={false}\n onClick={e => this.onPopClose(e, onClose)}\n options={this.state.options}\n value={[value]}\n option2value={option2value}\n onChange={([value]: any) => onChange(value)}\n />\n </>\n )}\n >\n {({onClick, ref, isOpened}) => (\n <div className={cx('CBGroup-field')}>\n <ResultBox\n className={cx(\n 'CBGroup-fieldInput',\n fieldClassName,\n isOpened ? 'is-active' : ''\n )}\n ref={ref}\n allowInput={false}\n result={\n value\n ? findTree(options, item => item.name === value)?.label\n : ''\n }\n onResultChange={noop}\n onResultClick={onClick}\n placeholder={__('Condition.field_placeholder')}\n disabled={disabled}\n >\n <span className={cx('CBGroup-fieldCaret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n </ResultBox>\n </div>\n )}\n </PopOverContainer>\n );\n }\n}\n\nexport default themeable(localeable(ConditionField));\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -5,7 +5,7 @@ var tslib_1 = require("tslib");
|
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var theme_1 = require("../../theme");
|
7
7
|
var PopOverContainer_1 = (0, tslib_1.__importDefault)(require("../PopOverContainer"));
|
8
|
-
var
|
8
|
+
var GroupedSelection_1 = (0, tslib_1.__importDefault)(require("../GroupedSelection"));
|
9
9
|
var helper_1 = require("../../utils/helper");
|
10
10
|
var ResultBox_1 = (0, tslib_1.__importDefault)(require("../ResultBox"));
|
11
11
|
var icons_1 = require("../icons");
|
@@ -45,7 +45,7 @@ var ConditionFunc = /** @class */ (function (_super) {
|
|
45
45
|
react_1.default.createElement(PopOverContainer_1.default, { popOverRender: function (_a) {
|
46
46
|
var _b;
|
47
47
|
var onClose = _a.onClose;
|
48
|
-
return (react_1.default.createElement(
|
48
|
+
return (react_1.default.createElement(GroupedSelection_1.default, { onClick: onClose, options: funcs, value: (_b = func) === null || _b === void 0 ? void 0 : _b.type, option2value: option2value, onChange: _this.handleFuncChange, multiple: false }));
|
49
49
|
} }, function (_a) {
|
50
50
|
var onClick = _a.onClick, ref = _a.ref, isOpened = _a.isOpened;
|
51
51
|
return (react_1.default.createElement("div", { className: cx('CBFunc-select') },
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/condition-builder/Func.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAE1B,qCAAkD;AAClD,sFAAmD;AACnD,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Func, ExpressionFunc, Field, Funcs} from './types';\nimport {ThemeProps, themeable} from '../../theme';\nimport PopOverContainer from '../PopOverContainer';\nimport
|
11
|
+
"import React from 'react';\nimport {Func, ExpressionFunc, Field, Funcs} from './types';\nimport {ThemeProps, themeable} from '../../theme';\nimport PopOverContainer from '../PopOverContainer';\nimport GroupedSelection from '../GroupedSelection';\nimport {autobind, findTree, noop} from '../../utils/helper';\nimport ResultBox from '../ResultBox';\nimport {Icon} from '../icons';\nimport Expression from './Expression';\nimport {Config} from './config';\n\nexport interface ConditionFuncProps extends ThemeProps {\n value: ExpressionFunc;\n onChange: (value: ExpressionFunc) => void;\n disabled?: boolean;\n config: Config;\n fields?: Field[];\n funcs?: Funcs;\n allowedTypes?: Array<'value' | 'field' | 'func' | 'formula'>;\n fieldClassName?: string;\n}\n\nconst option2value = (item: Func) => item.type;\n\nexport class ConditionFunc extends React.Component<ConditionFuncProps> {\n @autobind\n handleFuncChange(type: string) {\n const value = {...this.props.value};\n value.func = type;\n this.props.onChange(value);\n }\n\n @autobind\n handleArgChange(arg: any, index: number) {\n const value = {...this.props.value};\n value.args = Array.isArray(value.args) ? value.args.concat() : [];\n value.args.splice(index, 1, arg);\n this.props.onChange(value);\n }\n\n renderFunc(func: Func) {\n const {classnames: cx, fields, value, funcs, config, disabled} = this.props;\n\n return (\n <div className={cx('CBFunc-args')}>\n <span>(</span>\n {Array.isArray(func.args) && func.args.length ? (\n <div>\n {func.args.map((item, index) => (\n <Expression\n config={config}\n key={index}\n index={index}\n fields={fields}\n value={value?.args[index]}\n valueField={{type: item.type} as any}\n onChange={this.handleArgChange}\n funcs={funcs}\n disabled={disabled}\n // allowedTypes={allowedTypes}\n />\n ))}\n </div>\n ) : null}\n <span>)</span>\n </div>\n );\n }\n\n render() {\n const {value, classnames: cx, fieldClassName, funcs, disabled} = this.props;\n const func = value\n ? findTree(funcs!, item => (item as Func).type === value.func)\n : null;\n\n return (\n <div className={cx('CBFunc')}>\n <PopOverContainer\n popOverRender={({onClose}) => (\n <GroupedSelection\n onClick={onClose}\n options={funcs!}\n value={(func as Func)?.type}\n option2value={option2value}\n onChange={this.handleFuncChange}\n multiple={false}\n />\n )}\n >\n {({onClick, ref, isOpened}) => (\n <div className={cx('CBFunc-select')}>\n <ResultBox\n className={cx(\n 'CBGroup-fieldInput',\n fieldClassName,\n isOpened ? 'is-active' : ''\n )}\n ref={ref}\n allowInput={false}\n result={func?.label}\n onResultChange={noop}\n onResultClick={onClick}\n placeholder=\"请选择字段\"\n disabled={disabled}\n >\n <span className={cx('CBGroup-fieldCaret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n </ResultBox>\n </div>\n )}\n </PopOverContainer>\n\n {func ? (\n this.renderFunc(func as Func)\n ) : (\n <span className={cx('CBFunc-error')}>方法未定义</span>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(ConditionFunc);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -5,14 +5,14 @@ var tslib_1 = require("tslib");
|
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var PopOverContainer_1 = (0, tslib_1.__importDefault)(require("../PopOverContainer"));
|
7
7
|
var icons_1 = require("../icons");
|
8
|
-
var
|
8
|
+
var GroupedSelection_1 = (0, tslib_1.__importDefault)(require("../GroupedSelection"));
|
9
9
|
var theme_1 = require("../../theme");
|
10
10
|
var option2value = function (item) { return item.value; };
|
11
11
|
function InputSwitch(_a) {
|
12
12
|
var options = _a.options, value = _a.value, onChange = _a.onChange, cx = _a.classnames, disabled = _a.disabled;
|
13
13
|
return (react_1.default.createElement(PopOverContainer_1.default, { popOverRender: function (_a) {
|
14
14
|
var onClose = _a.onClose;
|
15
|
-
return (react_1.default.createElement(
|
15
|
+
return (react_1.default.createElement(GroupedSelection_1.default, { onClick: onClose, option2value: option2value, onChange: onChange, options: options, value: value, multiple: false, disabled: disabled }));
|
16
16
|
} }, function (_a) {
|
17
17
|
var onClick = _a.onClick, isOpened = _a.isOpened, ref = _a.ref;
|
18
18
|
return (react_1.default.createElement("div", { className: cx('CBInputSwitch', isOpened ? 'is-active' : '') },
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/condition-builder/InputSwitch.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sFAAmD;AACnD,kCAA8B;AAC9B,
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sFAAmD;AACnD,kCAA8B;AAC9B,sFAAmD;AACnD,qCAAgE;AAShE,IAAM,YAAY,GAAG,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,KAAK,EAAV,CAAU,CAAC;AAE/C,SAAgB,WAAW,CAAC,EAMT;QALjB,OAAO,aAAA,EACP,KAAK,WAAA,EACL,QAAQ,cAAA,EACI,EAAE,gBAAA,EACd,QAAQ,cAAA;IAER,OAAO,CACL,8BAAC,0BAAgB,IACf,aAAa,EAAE,UAAC,EAAS;gBAAR,OAAO,aAAA;YAAM,OAAA,CAC5B,8BAAC,0BAAgB,IACf,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,QAAQ,GAClB,CACH;QAV6B,CAU7B,IAEA,UAAC,EAAwB;YAAvB,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,GAAG,SAAA;QAAM,OAAA,CAC7B,uCAAK,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,qCAAG,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;gBAC3B,8BAAC,YAAI,IAAC,IAAI,EAAC,YAAY,GAAG,CACxB,CACA,CACP;IAN8B,CAM9B,CACgB,CACpB,CAAC;AACJ,CAAC;AA9BD,kCA8BC;AAED,kBAAe,IAAA,iBAAS,EAAC,WAAW,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport PopOverContainer from '../PopOverContainer';\nimport {Icon} from '../icons';\nimport
|
11
|
+
"import React from 'react';\nimport PopOverContainer from '../PopOverContainer';\nimport {Icon} from '../icons';\nimport GroupedSelection from '../GroupedSelection';\nimport {ClassNamesFn, themeable, ThemeProps} from '../../theme';\n\nexport interface InputSwitchProps extends ThemeProps {\n options: Array<any>;\n disabled?: boolean;\n value: any;\n onChange: (value: any) => void;\n}\n\nconst option2value = (item: any) => item.value;\n\nexport function InputSwitch({\n options,\n value,\n onChange,\n classnames: cx,\n disabled\n}: InputSwitchProps) {\n return (\n <PopOverContainer\n popOverRender={({onClose}) => (\n <GroupedSelection\n onClick={onClose}\n option2value={option2value}\n onChange={onChange}\n options={options}\n value={value}\n multiple={false}\n disabled={disabled}\n />\n )}\n >\n {({onClick, isOpened, ref}) => (\n <div className={cx('CBInputSwitch', isOpened ? 'is-active' : '')}>\n <a onClick={onClick} ref={ref}>\n <Icon icon=\"ellipsis-v\" />\n </a>\n </div>\n )}\n </PopOverContainer>\n );\n}\n\nexport default themeable(InputSwitch);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -10,7 +10,7 @@ var helper_1 = require("../../utils/helper");
|
|
10
10
|
var Expression_1 = (0, tslib_1.__importDefault)(require("./Expression"));
|
11
11
|
var config_1 = require("./config");
|
12
12
|
var PopOverContainer_1 = (0, tslib_1.__importDefault)(require("../PopOverContainer"));
|
13
|
-
var
|
13
|
+
var GroupedSelection_1 = (0, tslib_1.__importDefault)(require("../GroupedSelection"));
|
14
14
|
var ResultBox_1 = (0, tslib_1.__importDefault)(require("../ResultBox"));
|
15
15
|
var locale_1 = require("../../locale");
|
16
16
|
var option2value = function (item) { return item.value; };
|
@@ -86,10 +86,10 @@ var ConditionItem = /** @class */ (function (_super) {
|
|
86
86
|
var __1 = this.props.translate;
|
87
87
|
return (react_1.default.createElement(PopOverContainer_1.default, { popOverRender: function (_a) {
|
88
88
|
var onClose = _a.onClose;
|
89
|
-
return (react_1.default.createElement(
|
89
|
+
return (react_1.default.createElement(GroupedSelection_1.default, { onClick: onClose, option2value: option2value, onChange: _this.handleOperatorChange, options: operators.map(function (operator) { return ({
|
90
90
|
label: __1(config_1.OperationMap[operator]),
|
91
91
|
value: operator
|
92
|
-
}); }), value: value.op,
|
92
|
+
}); }), value: value.op, multiple: false }));
|
93
93
|
} }, function (_a) {
|
94
94
|
var onClick = _a.onClick, isOpened = _a.isOpened, ref = _a.ref;
|
95
95
|
return (react_1.default.createElement("div", { className: cx('CBGroup-operator') },
|