amis 2.6.1-alpha.0 → 2.7.1
Sign up to get free protection for your applications and to get access to all the features.
- package/esm/compat.js +1 -1
- package/esm/index.js +1 -1
- package/esm/preset.js +1 -1
- package/esm/renderers/Action.d.ts +12 -5
- package/esm/renderers/Action.js +15 -3
- package/esm/renderers/Alert.js +1 -1
- package/esm/renderers/AnchorNav.js +2 -2
- package/esm/renderers/App.js +1 -1
- package/esm/renderers/Audio.js +1 -1
- package/esm/renderers/Avatar.js +1 -1
- package/esm/renderers/BarCode.js +1 -1
- package/esm/renderers/Breadcrumb.js +1 -1
- package/esm/renderers/ButtonGroup.js +1 -1
- package/esm/renderers/CRUD.js +1 -1
- package/esm/renderers/CRUD2.js +11 -8
- package/esm/renderers/Calendar.js +1 -1
- package/esm/renderers/Card.js +1 -1
- package/esm/renderers/Card2.js +1 -1
- package/esm/renderers/Cards.js +1 -1
- package/esm/renderers/Carousel.js +1 -1
- package/esm/renderers/Chart.js +1 -1
- package/esm/renderers/Code.js +1 -1
- package/esm/renderers/Collapse.js +1 -1
- package/esm/renderers/CollapseGroup.js +1 -1
- package/esm/renderers/Color.js +1 -1
- package/esm/renderers/Container.js +1 -1
- package/esm/renderers/Copyable.js +1 -1
- package/esm/renderers/Custom.js +1 -1
- package/esm/renderers/Date.js +1 -1
- package/esm/renderers/DateRange.js +1 -1
- package/esm/renderers/Dialog.js +1 -1
- package/esm/renderers/Divider.js +1 -1
- package/esm/renderers/Drawer.js +1 -1
- package/esm/renderers/DropDownButton.js +16 -10
- package/esm/renderers/Each.js +1 -1
- package/esm/renderers/Flex.js +1 -1
- package/esm/renderers/Form/ButtonGroupSelect.js +1 -1
- package/esm/renderers/Form/ButtonToolbar.js +1 -1
- package/esm/renderers/Form/ChainedSelect.js +1 -1
- package/esm/renderers/Form/ChartRadios.js +1 -1
- package/esm/renderers/Form/Checkbox.js +1 -1
- package/esm/renderers/Form/Checkboxes.js +1 -1
- package/esm/renderers/Form/Combo.js +1 -1
- package/esm/renderers/Form/ConditionBuilder.js +1 -1
- package/esm/renderers/Form/Control.js +1 -1
- package/esm/renderers/Form/DiffEditor.js +1 -1
- package/esm/renderers/Form/Editor.js +1 -1
- package/esm/renderers/Form/FieldSet.js +1 -1
- package/esm/renderers/Form/Formula.js +1 -1
- package/esm/renderers/Form/Group.js +1 -1
- package/esm/renderers/Form/Hidden.js +1 -1
- package/esm/renderers/Form/IconPicker.js +1 -1
- package/esm/renderers/Form/IconPickerIcons.js +1 -1
- package/esm/renderers/Form/IconSelect.d.ts +2 -0
- package/esm/renderers/Form/IconSelect.js +30 -6
- package/esm/renderers/Form/IconSelectStore.d.ts +1 -0
- package/esm/renderers/Form/IconSelectStore.js +1 -1
- package/esm/renderers/Form/InputArray.js +1 -1
- package/esm/renderers/Form/InputCity.js +1 -1
- package/esm/renderers/Form/InputColor.js +1 -1
- package/esm/renderers/Form/InputDate.js +1 -1
- package/esm/renderers/Form/InputDateRange.js +1 -1
- package/esm/renderers/Form/InputExcel.js +1 -1
- package/esm/renderers/Form/InputFile.js +1 -1
- package/esm/renderers/Form/InputFormula.js +1 -1
- package/esm/renderers/Form/InputGroup.js +1 -1
- package/esm/renderers/Form/InputImage.js +1 -1
- package/esm/renderers/Form/InputMonthRange.js +1 -1
- package/esm/renderers/Form/InputNumber.js +1 -1
- package/esm/renderers/Form/InputQuarterRange.js +1 -1
- package/esm/renderers/Form/InputRange.js +1 -1
- package/esm/renderers/Form/InputRating.js +1 -1
- package/esm/renderers/Form/InputRepeat.js +1 -1
- package/esm/renderers/Form/InputRichText.js +1 -1
- package/esm/renderers/Form/InputSubForm.js +1 -1
- package/esm/renderers/Form/InputTable.js +1 -1
- package/esm/renderers/Form/InputTag.js +1 -1
- package/esm/renderers/Form/InputText.js +29 -12
- package/esm/renderers/Form/InputTree.js +1 -1
- package/esm/renderers/Form/InputYearRange.js +1 -1
- package/esm/renderers/Form/JSONSchema.js +1 -1
- package/esm/renderers/Form/JSONSchemaEditor.js +1 -1
- package/esm/renderers/Form/ListSelect.js +1 -1
- package/esm/renderers/Form/LocationPicker.js +1 -1
- package/esm/renderers/Form/MatrixCheckboxes.js +1 -1
- package/esm/renderers/Form/NestedSelect.d.ts +1 -3
- package/esm/renderers/Form/NestedSelect.js +12 -6
- package/esm/renderers/Form/Picker.js +1 -1
- package/esm/renderers/Form/Radios.js +1 -1
- package/esm/renderers/Form/Select.js +3 -3
- package/esm/renderers/Form/Static.js +1 -1
- package/esm/renderers/Form/StaticHoc.js +1 -1
- package/esm/renderers/Form/Switch.js +1 -1
- package/esm/renderers/Form/TabsTransfer.js +1 -1
- package/esm/renderers/Form/TabsTransferPicker.js +1 -1
- package/esm/renderers/Form/Textarea.js +1 -1
- package/esm/renderers/Form/Transfer.d.ts +4 -0
- package/esm/renderers/Form/Transfer.js +16 -10
- package/esm/renderers/Form/TransferPicker.js +1 -1
- package/esm/renderers/Form/TreeSelect.js +1 -1
- package/esm/renderers/Form/UUID.js +1 -1
- package/esm/renderers/Form/UserSelect.js +1 -1
- package/esm/renderers/Grid.js +1 -1
- package/esm/renderers/Grid2D.js +1 -1
- package/esm/renderers/GridNav.js +1 -1
- package/esm/renderers/HBox.js +1 -1
- package/esm/renderers/IFrame.js +1 -1
- package/esm/renderers/Icon.d.ts +3 -0
- package/esm/renderers/Icon.js +42 -6
- package/esm/renderers/Image.js +1 -1
- package/esm/renderers/Images.js +1 -1
- package/esm/renderers/Json.js +1 -1
- package/esm/renderers/Link.js +1 -1
- package/esm/renderers/List.js +1 -1
- package/esm/renderers/Log.js +1 -1
- package/esm/renderers/Mapping.js +6 -2
- package/esm/renderers/Markdown.js +1 -1
- package/esm/renderers/MultilineText.js +1 -1
- package/esm/renderers/Nav.d.ts +73 -23
- package/esm/renderers/Nav.js +399 -164
- package/esm/renderers/Operation.js +1 -1
- package/esm/renderers/Page.js +1 -1
- package/esm/renderers/Pagination.js +1 -1
- package/esm/renderers/PaginationWrapper.js +1 -1
- package/esm/renderers/Panel.js +4 -2
- package/esm/renderers/Password.js +1 -1
- package/esm/renderers/Plain.js +1 -1
- package/esm/renderers/PopOver.js +1 -1
- package/esm/renderers/Portlet.js +1 -1
- package/esm/renderers/Progress.js +1 -1
- package/esm/renderers/Property.js +1 -1
- package/esm/renderers/QRCode.js +1 -1
- package/esm/renderers/QuickEdit.js +1 -1
- package/esm/renderers/Remark.js +1 -1
- package/esm/renderers/SearchBox.js +1 -1
- package/esm/renderers/Service.js +1 -1
- package/esm/renderers/SparkLine.js +1 -1
- package/esm/renderers/Spinner.js +1 -1
- package/esm/renderers/Status.js +3 -3
- package/esm/renderers/Steps.js +1 -1
- package/esm/renderers/Table/ColumnToggler.js +1 -1
- package/esm/renderers/Table/HeadCellFilterDropdown.js +1 -1
- package/esm/renderers/Table/HeadCellSearchDropdown.js +1 -1
- package/esm/renderers/Table/ItemActionsWrapper.js +1 -1
- package/esm/renderers/Table/TableBody.js +1 -1
- package/esm/renderers/Table/TableCell.js +4 -2
- package/esm/renderers/Table/TableContent.js +1 -1
- package/esm/renderers/Table/TableRow.js +1 -1
- package/esm/renderers/Table/exportExcel.js +1 -1
- package/esm/renderers/Table/index.js +1 -1
- package/esm/renderers/Table2/ColumnToggler.js +1 -1
- package/esm/renderers/Table2/HeadCellSearchDropdown.js +5 -2
- package/esm/renderers/Table2/TableCell.js +1 -1
- package/esm/renderers/Table2/index.js +3 -2
- package/esm/renderers/TableView.js +1 -1
- package/esm/renderers/Tabs.js +1 -1
- package/esm/renderers/Tag.d.ts +3 -0
- package/esm/renderers/Tag.js +40 -4
- package/esm/renderers/Tasks.js +1 -1
- package/esm/renderers/Timeline.js +1 -1
- package/esm/renderers/TooltipWrapper.js +1 -1
- package/esm/renderers/Tpl.d.ts +4 -2
- package/esm/renderers/Tpl.js +1 -1
- package/esm/renderers/VBox.js +1 -1
- package/esm/renderers/Video.js +1 -1
- package/esm/renderers/WebComponent.js +1 -1
- package/esm/renderers/Wizard.js +1 -1
- package/esm/renderers/Words.js +1 -1
- package/esm/renderers/Wrapper.js +1 -1
- package/esm/schemaExtend.js +1 -1
- package/lib/compat.js +1 -1
- package/lib/index.js +1 -1
- package/lib/preset.js +1 -1
- package/lib/renderers/Action.d.ts +12 -5
- package/lib/renderers/Action.js +14 -2
- package/lib/renderers/Alert.js +1 -1
- package/lib/renderers/AnchorNav.js +2 -2
- package/lib/renderers/App.js +1 -1
- package/lib/renderers/Audio.js +1 -1
- package/lib/renderers/Avatar.js +1 -1
- package/lib/renderers/BarCode.js +1 -1
- package/lib/renderers/Breadcrumb.js +1 -1
- package/lib/renderers/ButtonGroup.js +1 -1
- package/lib/renderers/CRUD.js +1 -1
- package/lib/renderers/CRUD2.js +13 -9
- package/lib/renderers/Calendar.js +1 -1
- package/lib/renderers/Card.js +1 -1
- package/lib/renderers/Card2.js +1 -1
- package/lib/renderers/Cards.js +1 -1
- package/lib/renderers/Carousel.js +1 -1
- package/lib/renderers/Chart.js +1 -1
- package/lib/renderers/Code.js +1 -1
- package/lib/renderers/Collapse.js +1 -1
- package/lib/renderers/CollapseGroup.js +1 -1
- package/lib/renderers/Color.js +1 -1
- package/lib/renderers/Container.js +1 -1
- package/lib/renderers/Copyable.js +1 -1
- package/lib/renderers/Custom.js +1 -1
- package/lib/renderers/Date.js +1 -1
- package/lib/renderers/DateRange.js +1 -1
- package/lib/renderers/Dialog.d.ts +41 -40
- package/lib/renderers/Dialog.js +1 -1
- package/lib/renderers/Divider.js +1 -1
- package/lib/renderers/Drawer.js +1 -1
- package/lib/renderers/DropDownButton.js +15 -9
- package/lib/renderers/Each.js +1 -1
- package/lib/renderers/Flex.js +1 -1
- package/lib/renderers/Form/ButtonGroupSelect.js +1 -1
- package/lib/renderers/Form/ButtonToolbar.js +1 -1
- package/lib/renderers/Form/ChainedSelect.js +1 -1
- package/lib/renderers/Form/ChartRadios.js +1 -1
- package/lib/renderers/Form/Checkbox.js +1 -1
- package/lib/renderers/Form/Checkboxes.js +1 -1
- package/lib/renderers/Form/Combo.js +1 -1
- package/lib/renderers/Form/ConditionBuilder.js +1 -1
- package/lib/renderers/Form/Control.js +1 -1
- package/lib/renderers/Form/DiffEditor.d.ts +8 -7
- package/lib/renderers/Form/DiffEditor.js +1 -1
- package/lib/renderers/Form/Editor.d.ts +5 -4
- package/lib/renderers/Form/Editor.js +1 -1
- package/lib/renderers/Form/FieldSet.js +1 -1
- package/lib/renderers/Form/Formula.js +1 -1
- package/lib/renderers/Form/Group.js +1 -1
- package/lib/renderers/Form/Hidden.js +1 -1
- package/lib/renderers/Form/IconPicker.js +1 -1
- package/lib/renderers/Form/IconPickerIcons.js +1 -1
- package/lib/renderers/Form/IconSelect.d.ts +2 -0
- package/lib/renderers/Form/IconSelect.js +31 -6
- package/lib/renderers/Form/IconSelectStore.d.ts +1 -0
- package/lib/renderers/Form/IconSelectStore.js +1 -1
- package/lib/renderers/Form/InputArray.js +1 -1
- package/lib/renderers/Form/InputCity.d.ts +40 -40
- package/lib/renderers/Form/InputCity.js +1 -1
- package/lib/renderers/Form/InputColor.d.ts +40 -40
- package/lib/renderers/Form/InputColor.js +1 -1
- package/lib/renderers/Form/InputDate.js +1 -1
- package/lib/renderers/Form/InputDateRange.js +1 -1
- package/lib/renderers/Form/InputExcel.js +1 -1
- package/lib/renderers/Form/InputFile.js +1 -1
- package/lib/renderers/Form/InputFormula.js +1 -1
- package/lib/renderers/Form/InputGroup.d.ts +1 -1
- package/lib/renderers/Form/InputGroup.js +1 -1
- package/lib/renderers/Form/InputImage.js +1 -1
- package/lib/renderers/Form/InputMonthRange.js +1 -1
- package/lib/renderers/Form/InputNumber.js +1 -1
- package/lib/renderers/Form/InputQuarterRange.js +1 -1
- package/lib/renderers/Form/InputRange.js +1 -1
- package/lib/renderers/Form/InputRating.js +1 -1
- package/lib/renderers/Form/InputRepeat.js +1 -1
- package/lib/renderers/Form/InputRichText.js +1 -1
- package/lib/renderers/Form/InputSubForm.js +1 -1
- package/lib/renderers/Form/InputTable.js +1 -1
- package/lib/renderers/Form/InputTag.js +1 -1
- package/lib/renderers/Form/InputText.js +28 -11
- package/lib/renderers/Form/InputTree.js +1 -1
- package/lib/renderers/Form/InputYearRange.js +1 -1
- package/lib/renderers/Form/JSONSchema.js +1 -1
- package/lib/renderers/Form/JSONSchemaEditor.js +1 -1
- package/lib/renderers/Form/ListSelect.js +1 -1
- package/lib/renderers/Form/LocationPicker.js +1 -1
- package/lib/renderers/Form/MatrixCheckboxes.js +1 -1
- package/lib/renderers/Form/NestedSelect.d.ts +1 -3
- package/lib/renderers/Form/NestedSelect.js +12 -6
- package/lib/renderers/Form/Picker.js +1 -1
- package/lib/renderers/Form/Radios.js +1 -1
- package/lib/renderers/Form/Select.js +3 -3
- package/lib/renderers/Form/Static.js +1 -1
- package/lib/renderers/Form/StaticHoc.js +1 -1
- package/lib/renderers/Form/Switch.js +1 -1
- package/lib/renderers/Form/TabsTransfer.js +1 -1
- package/lib/renderers/Form/TabsTransferPicker.js +1 -1
- package/lib/renderers/Form/Textarea.js +1 -1
- package/lib/renderers/Form/Transfer.d.ts +4 -0
- package/lib/renderers/Form/Transfer.js +15 -9
- package/lib/renderers/Form/TransferPicker.js +1 -1
- package/lib/renderers/Form/TreeSelect.js +1 -1
- package/lib/renderers/Form/UUID.js +1 -1
- package/lib/renderers/Form/UserSelect.js +1 -1
- package/lib/renderers/Grid.js +1 -1
- package/lib/renderers/Grid2D.js +1 -1
- package/lib/renderers/GridNav.js +1 -1
- package/lib/renderers/HBox.js +1 -1
- package/lib/renderers/IFrame.js +1 -1
- package/lib/renderers/Icon.d.ts +3 -0
- package/lib/renderers/Icon.js +40 -4
- package/lib/renderers/Image.js +1 -1
- package/lib/renderers/Images.js +1 -1
- package/lib/renderers/Json.js +1 -1
- package/lib/renderers/Link.js +1 -1
- package/lib/renderers/List.js +1 -1
- package/lib/renderers/Log.js +1 -1
- package/lib/renderers/Mapping.js +6 -2
- package/lib/renderers/Markdown.js +1 -1
- package/lib/renderers/MultilineText.js +1 -1
- package/lib/renderers/Nav.d.ts +73 -23
- package/lib/renderers/Nav.js +397 -162
- package/lib/renderers/Operation.js +1 -1
- package/lib/renderers/Page.js +1 -1
- package/lib/renderers/Pagination.js +1 -1
- package/lib/renderers/PaginationWrapper.js +1 -1
- package/lib/renderers/Panel.js +4 -2
- package/lib/renderers/Password.js +1 -1
- package/lib/renderers/Plain.js +1 -1
- package/lib/renderers/PopOver.js +1 -1
- package/lib/renderers/Portlet.js +1 -1
- package/lib/renderers/Progress.js +1 -1
- package/lib/renderers/Property.js +1 -1
- package/lib/renderers/QRCode.js +1 -1
- package/lib/renderers/QuickEdit.js +1 -1
- package/lib/renderers/Remark.d.ts +1 -1
- package/lib/renderers/Remark.js +1 -1
- package/lib/renderers/SearchBox.js +1 -1
- package/lib/renderers/Service.js +1 -1
- package/lib/renderers/SparkLine.js +1 -1
- package/lib/renderers/Spinner.js +1 -1
- package/lib/renderers/Status.js +3 -3
- package/lib/renderers/Steps.js +1 -1
- package/lib/renderers/Table/ColumnToggler.js +1 -1
- package/lib/renderers/Table/HeadCellFilterDropdown.js +1 -1
- package/lib/renderers/Table/HeadCellSearchDropdown.js +1 -1
- package/lib/renderers/Table/ItemActionsWrapper.js +1 -1
- package/lib/renderers/Table/TableBody.js +1 -1
- package/lib/renderers/Table/TableCell.js +4 -2
- package/lib/renderers/Table/TableContent.js +1 -1
- package/lib/renderers/Table/TableRow.js +1 -1
- package/lib/renderers/Table/exportExcel.js +1 -1
- package/lib/renderers/Table/index.js +1 -1
- package/lib/renderers/Table2/ColumnToggler.js +1 -1
- package/lib/renderers/Table2/HeadCellSearchDropdown.js +5 -2
- package/lib/renderers/Table2/TableCell.js +1 -1
- package/lib/renderers/Table2/index.js +3 -2
- package/lib/renderers/TableView.js +1 -1
- package/lib/renderers/Tabs.js +1 -1
- package/lib/renderers/Tag.d.ts +3 -0
- package/lib/renderers/Tag.js +38 -2
- package/lib/renderers/Tasks.js +1 -1
- package/lib/renderers/Timeline.js +1 -1
- package/lib/renderers/TooltipWrapper.js +1 -1
- package/lib/renderers/Tpl.d.ts +4 -2
- package/lib/renderers/Tpl.js +1 -1
- package/lib/renderers/VBox.js +1 -1
- package/lib/renderers/Video.js +1 -1
- package/lib/renderers/WebComponent.js +1 -1
- package/lib/renderers/Wizard.js +1 -1
- package/lib/renderers/Words.js +1 -1
- package/lib/renderers/Wrapper.js +1 -1
- package/lib/schemaExtend.js +1 -1
- package/lib/themes/ang-ie11.css +2397 -528
- package/lib/themes/ang.css +4138 -881
- package/lib/themes/antd-ie11.css +2378 -509
- package/lib/themes/antd.css +4138 -881
- package/lib/themes/cxd-ie11.css +2378 -509
- package/lib/themes/cxd.css +4139 -881
- package/lib/themes/dark-ie11.css +2393 -524
- package/lib/themes/dark.css +4138 -881
- package/lib/themes/default-ie11.css +2378 -509
- package/lib/themes/default.css +4139 -881
- package/package.json +4 -4
- package/schema.json +150 -48
- package/sdk/ang-ie11.css +2839 -549
- package/sdk/ang.css +4588 -910
- package/sdk/antd-ie11.css +2826 -536
- package/sdk/antd.css +4588 -910
- package/sdk/barcode.js +50 -50
- 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 +2826 -536
- package/sdk/cxd.css +4589 -910
- package/sdk/dark-ie11.css +2840 -550
- package/sdk/dark.css +4588 -910
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +68 -68
- package/sdk/papaparse.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +2826 -536
- package/sdk/sdk.css +4589 -910
- package/sdk/sdk.js +1729 -1444
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +55 -55
package/lib/renderers/Nav.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* amis v2.
|
2
|
+
* amis v2.7.1
|
3
3
|
* Copyright 2018-2023 baidu
|
4
4
|
*/
|
5
5
|
|
@@ -10,14 +10,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
10
10
|
var tslib = require('tslib');
|
11
11
|
var React = require('react');
|
12
12
|
var ReactDOM = require('react-dom');
|
13
|
-
var Overflow = require('rc-overflow');
|
14
13
|
var amisCore = require('amis-core');
|
15
14
|
var amisUi = require('amis-ui');
|
15
|
+
var isEqual = require('lodash/isEqual');
|
16
16
|
|
17
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
18
18
|
|
19
19
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
20
|
-
var
|
20
|
+
var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
|
21
21
|
|
22
22
|
var Navigation = /** @class */ (function (_super) {
|
23
23
|
tslib.__extends(Navigation, _super);
|
@@ -30,19 +30,30 @@ var Navigation = /** @class */ (function (_super) {
|
|
30
30
|
_this.state = {};
|
31
31
|
return _this;
|
32
32
|
}
|
33
|
-
Navigation.prototype.handleClick = function (link) {
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
33
|
+
Navigation.prototype.handleClick = function (link, depth) {
|
34
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
35
|
+
var _a, env, onSelect, result;
|
36
|
+
return tslib.__generator(this, function (_b) {
|
37
|
+
switch (_b.label) {
|
38
|
+
case 0:
|
39
|
+
_a = this.props, env = _a.env, onSelect = _a.onSelect;
|
40
|
+
// 和 action 里命名一致方便分析
|
41
|
+
if (link && link.to) {
|
42
|
+
env === null || env === void 0 ? void 0 : env.tracker({
|
43
|
+
eventType: 'link',
|
44
|
+
eventData: {
|
45
|
+
label: link.label,
|
46
|
+
link: link.to
|
47
|
+
}
|
48
|
+
});
|
49
|
+
}
|
50
|
+
return [4 /*yield*/, (onSelect === null || onSelect === void 0 ? void 0 : onSelect(link, depth))];
|
51
|
+
case 1:
|
52
|
+
result = _b.sent();
|
53
|
+
return [2 /*return*/, result];
|
42
54
|
}
|
43
55
|
});
|
44
|
-
}
|
45
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect(link);
|
56
|
+
});
|
46
57
|
};
|
47
58
|
Navigation.prototype.toggleLink = function (target, forceFold) {
|
48
59
|
var _a, _b;
|
@@ -55,7 +66,7 @@ var Navigation = /** @class */ (function (_super) {
|
|
55
66
|
var dragLink = (_a = this.dragNode) === null || _a === void 0 ? void 0 : _a.link;
|
56
67
|
var top = rect.top, height = rect.height, width = rect.width;
|
57
68
|
var clientY = e.clientY, clientX = e.clientX;
|
58
|
-
var left = depth * ((_b = parseInt(indentSize, 10)) !== null && _b !== void 0 ? _b :
|
69
|
+
var left = depth * ((_b = parseInt(indentSize, 10)) !== null && _b !== void 0 ? _b : 16);
|
59
70
|
var deltaX = left + width * 0.2;
|
60
71
|
var position;
|
61
72
|
if (clientY >= top + height / 2) {
|
@@ -79,13 +90,17 @@ var Navigation = /** @class */ (function (_super) {
|
|
79
90
|
};
|
80
91
|
};
|
81
92
|
Navigation.prototype.updateDropIndicator = function (e) {
|
82
|
-
var _a
|
83
|
-
var
|
84
|
-
|
85
|
-
|
86
|
-
var
|
93
|
+
var _a;
|
94
|
+
var _b = this.props, dragOnSameLevel = _b.dragOnSameLevel, overflow = _b.overflow;
|
95
|
+
// 因为使用了rc-menu 因此拖拽事件拿到的rc-menu的li
|
96
|
+
// id和depth在li里的a标签上
|
97
|
+
var target = e.target.querySelector('a');
|
98
|
+
var targetId = target === null || target === void 0 ? void 0 : target.getAttribute('data-id');
|
99
|
+
var targetDepth = Number(target === null || target === void 0 ? void 0 : target.getAttribute('data-depth'));
|
100
|
+
var wrapperComponent = overflow && overflow.enable ? overflow.wrapperComponent || 'ul' : 'ul';
|
87
101
|
if (dragOnSameLevel &&
|
88
|
-
((_a = this.dragNode) === null || _a === void 0 ? void 0 : _a.node.
|
102
|
+
((_a = this.dragNode) === null || _a === void 0 ? void 0 : _a.node.closest(wrapperComponent)) !==
|
103
|
+
(target === null || target === void 0 ? void 0 : target.closest(wrapperComponent))) {
|
89
104
|
this.setState({ dropIndicator: undefined });
|
90
105
|
this.dropInfo = null;
|
91
106
|
return;
|
@@ -146,8 +161,8 @@ var Navigation = /** @class */ (function (_super) {
|
|
146
161
|
if (!this.dragNode) {
|
147
162
|
return;
|
148
163
|
}
|
149
|
-
var target = e.target;
|
150
|
-
var id = target.getAttribute('data-id');
|
164
|
+
var target = e.target.querySelector('a');
|
165
|
+
var id = target === null || target === void 0 ? void 0 : target.getAttribute('data-id');
|
151
166
|
if (!id) {
|
152
167
|
return;
|
153
168
|
}
|
@@ -162,6 +177,12 @@ var Navigation = /** @class */ (function (_super) {
|
|
162
177
|
});
|
163
178
|
var currentTarget = e.currentTarget;
|
164
179
|
var id = currentTarget.getAttribute('data-id');
|
180
|
+
if (!id) {
|
181
|
+
var a = currentTarget.querySelector('a');
|
182
|
+
if (a) {
|
183
|
+
id = a.getAttribute('data-id');
|
184
|
+
}
|
185
|
+
}
|
165
186
|
var nodeId = (_a = this.dropInfo) === null || _a === void 0 ? void 0 : _a.nodeId;
|
166
187
|
if (!this.dropInfo || !nodeId || id === nodeId) {
|
167
188
|
return;
|
@@ -172,104 +193,118 @@ var Navigation = /** @class */ (function (_super) {
|
|
172
193
|
this.dragNode = null;
|
173
194
|
this.dropInfo = null;
|
174
195
|
};
|
175
|
-
Navigation.prototype.
|
196
|
+
Navigation.prototype.normalizeNavigations = function (links, depth) {
|
176
197
|
var _this = this;
|
177
|
-
var _a,
|
178
|
-
if (
|
179
|
-
|
180
|
-
return null;
|
198
|
+
var _a = this.props, level = _a.level, stacked = _a.stacked, mode = _a.mode, itemActions = _a.itemActions, render = _a.render, cx = _a.classnames, data = _a.data;
|
199
|
+
if (!links) {
|
200
|
+
return [];
|
181
201
|
}
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
return
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
}));
|
249
|
-
}, maxCount: maxVisibleCount && Number.isInteger(maxVisibleCount)
|
250
|
-
? maxVisibleCount
|
251
|
-
: 'responsive' })));
|
202
|
+
if (level && depth > level) {
|
203
|
+
return [];
|
204
|
+
}
|
205
|
+
return links.map(function (link) {
|
206
|
+
var beforeIcon = null;
|
207
|
+
var afterIcon = null;
|
208
|
+
if (Array.isArray(link.icon)) {
|
209
|
+
beforeIcon = link.icon
|
210
|
+
.filter(function (item) { return item.position === 'before'; })
|
211
|
+
.map(function (item) { return amisCore.generateIcon(cx, item.icon); });
|
212
|
+
afterIcon = link.icon
|
213
|
+
.filter(function (item) { return item.position === 'after'; })
|
214
|
+
.map(function (item) { return amisCore.generateIcon(cx, item.icon); });
|
215
|
+
}
|
216
|
+
else if (link.icon) {
|
217
|
+
beforeIcon = amisCore.generateIcon(cx, link.icon);
|
218
|
+
}
|
219
|
+
var label = typeof link.label === 'string'
|
220
|
+
? link.label
|
221
|
+
: React__default["default"].isValidElement(link.label)
|
222
|
+
? React__default["default"].cloneElement(link.label)
|
223
|
+
: render('inline', link.label);
|
224
|
+
// 仅垂直内联模式支持
|
225
|
+
var isOverflow = stacked &&
|
226
|
+
mode !== 'float' &&
|
227
|
+
!link.expanded &&
|
228
|
+
link.overflow &&
|
229
|
+
amisCore.isObject(link.overflow) &&
|
230
|
+
link.overflow.enable;
|
231
|
+
var children = link.children;
|
232
|
+
if (isOverflow) {
|
233
|
+
var _a = link.overflow, maxVisibleCount = _a.maxVisibleCount, _b = _a.overflowIndicator, overflowIndicator_1 = _b === void 0 ? 'fa fa-ellipsis' : _b, overflowLabel_1 = _a.overflowLabel, overflowClassName_1 = _a.overflowClassName;
|
234
|
+
// 默认展示5个
|
235
|
+
var maxCount_1 = maxVisibleCount || 2;
|
236
|
+
if (maxCount_1 < ((children === null || children === void 0 ? void 0 : children.length) || 0)) {
|
237
|
+
children = children === null || children === void 0 ? void 0 : children.map(function (child, index) {
|
238
|
+
return tslib.__assign(tslib.__assign({}, child), { label: index === maxCount_1 ? (React__default["default"].createElement("span", { className: cx(overflowClassName_1) },
|
239
|
+
amisUi.getIcon(overflowIndicator_1) ? (React__default["default"].createElement(amisUi.Icon, { icon: overflowIndicator_1, className: "icon" })) : (amisCore.generateIcon(cx, overflowIndicator_1, 'Nav-itemIcon')),
|
240
|
+
overflowLabel_1 && amisCore.isObject(overflowLabel_1)
|
241
|
+
? render('nav-overflow-label', overflowLabel_1)
|
242
|
+
: overflowLabel_1)) : (child.label), hidden: index > maxCount_1 ? true : link.hidden, expandMore: index === maxCount_1 });
|
243
|
+
});
|
244
|
+
}
|
245
|
+
}
|
246
|
+
return {
|
247
|
+
link: link,
|
248
|
+
label: label,
|
249
|
+
labelExtra: afterIcon ? (React__default["default"].createElement("i", { className: cx('Nav-itemIconAfter') }, afterIcon)) : null,
|
250
|
+
icon: beforeIcon ? React__default["default"].createElement("i", null, beforeIcon) : null,
|
251
|
+
children: children
|
252
|
+
? _this.normalizeNavigations(children, depth + 1)
|
253
|
+
: [],
|
254
|
+
path: link.to,
|
255
|
+
open: link.unfolded,
|
256
|
+
extra: itemActions
|
257
|
+
? render('inline', itemActions, {
|
258
|
+
data: amisCore.createObject(data, link),
|
259
|
+
popOverContainer: function () { return document.body; }
|
260
|
+
})
|
261
|
+
: null,
|
262
|
+
disabled: !!link.disabled,
|
263
|
+
disabledTip: link.disabledTip,
|
264
|
+
hidden: link.hidden,
|
265
|
+
className: link.className
|
266
|
+
};
|
267
|
+
});
|
252
268
|
};
|
253
269
|
Navigation.prototype.render = function () {
|
254
|
-
var
|
255
|
-
var _a = this.props, className = _a.className, style = _a.style, stacked = _a.stacked, cx = _a.classnames, links = _a.links, loading = _a.loading, overflow = _a.overflow, loadingConfig = _a.loadingConfig;
|
270
|
+
var _a = this.props, className = _a.className, style = _a.style, stacked = _a.stacked, mode = _a.mode, cx = _a.classnames, links = _a.links, loading = _a.loading, overflow = _a.overflow, loadingConfig = _a.loadingConfig, itemBadge = _a.itemBadge, badge = _a.badge, data = _a.data, location = _a.location, collapsed = _a.collapsed, expandIcon = _a.expandIcon, indentSize = _a.indentSize, accordion = _a.accordion, draggable = _a.draggable, expandPosition = _a.expandPosition, render = _a.render;
|
256
271
|
var dropIndicator = this.state.dropIndicator;
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
272
|
+
var overflowedIndicator = null;
|
273
|
+
if (overflow && amisCore.isObject(overflow) && overflow.enable) {
|
274
|
+
var _b = overflow.overflowIndicator, overflowIndicator = _b === void 0 ? 'fa fa-ellipsis' : _b, overflowLabel = overflow.overflowLabel, overflowClassName = overflow.overflowClassName;
|
275
|
+
overflowedIndicator = (React__default["default"].createElement("span", { className: cx(overflowClassName) },
|
276
|
+
amisUi.getIcon(overflowIndicator) ? (React__default["default"].createElement(amisUi.Icon, { icon: overflowIndicator, className: "icon" })) : (amisCore.generateIcon(cx, overflowIndicator, 'Nav-itemIcon')),
|
277
|
+
overflowLabel && amisCore.isObject(overflowLabel)
|
278
|
+
? render('nav-overflow-label', overflowLabel)
|
279
|
+
: overflowLabel));
|
280
|
+
}
|
281
|
+
return (React__default["default"].createElement("div", { className: cx('Nav'), style: style },
|
282
|
+
React__default["default"].createElement(React__default["default"].Fragment, null,
|
283
|
+
Array.isArray(links) ? (React__default["default"].createElement(amisUi.Menu, { className: className, navigations: this.normalizeNavigations(links, 1), isActive: function (link, prefix) {
|
284
|
+
if (link.link && typeof link.link.active !== 'undefined') {
|
285
|
+
return link.link.active;
|
286
|
+
}
|
287
|
+
var path = link.path;
|
288
|
+
var ret = location.pathname === path;
|
289
|
+
return !!ret;
|
290
|
+
}, isOpen: function (item) { return !!item.open; }, stacked: !!stacked, mode: mode, location: location, onSelect: this.handleClick, onToggle: this.toggleLink, renderLink: function (link) { return link.link; }, badge: itemBadge || badge, collapsed: collapsed, overflowedIndicator: overflowedIndicator, overflowMaxCount: overflow === null || overflow === void 0 ? void 0 : overflow.maxVisibleCount, overflowedIndicatorPopupClassName: cx(overflow === null || overflow === void 0 ? void 0 : overflow.overflowPopoverClassName), overflowSuffix: (overflow === null || overflow === void 0 ? void 0 : overflow.overflowSuffix)
|
291
|
+
? render('nav-overflow-suffix', overflow === null || overflow === void 0 ? void 0 : overflow.overflowSuffix)
|
292
|
+
: null, overflowItemWidth: overflow === null || overflow === void 0 ? void 0 : overflow.itemWidth, overflowComponent: overflow === null || overflow === void 0 ? void 0 : overflow.wrapperComponent, overflowStyle: overflow === null || overflow === void 0 ? void 0 : overflow.style, expandIcon: expandIcon
|
293
|
+
? typeof expandIcon === 'string'
|
294
|
+
? expandIcon
|
295
|
+
: render('expand-icon', expandIcon)
|
296
|
+
: null, expandBefore: expandPosition === 'after' ? false : true, inlineIndent: indentSize, accordion: accordion, draggable: draggable, data: data, onDragStart: this.handleDragStart })) : null,
|
262
297
|
React__default["default"].createElement(amisUi.Spinner, { show: !!loading, overlay: true, loadingConfig: loadingConfig })),
|
263
|
-
dropIndicator ? (React__default["default"].createElement("div", { className: cx('Nav-dropIndicator'), style: dropIndicator })) : null))
|
298
|
+
dropIndicator ? (React__default["default"].createElement("div", { className: cx('Nav-dropIndicator'), style: dropIndicator })) : null));
|
264
299
|
};
|
265
300
|
Navigation.defaultProps = {
|
266
|
-
indentSize:
|
301
|
+
indentSize: 16
|
267
302
|
};
|
268
303
|
tslib.__decorate([
|
269
304
|
amisCore.autobind,
|
270
305
|
tslib.__metadata("design:type", Function),
|
271
|
-
tslib.__metadata("design:paramtypes", [Object]),
|
272
|
-
tslib.__metadata("design:returntype",
|
306
|
+
tslib.__metadata("design:paramtypes", [Object, Number]),
|
307
|
+
tslib.__metadata("design:returntype", Promise)
|
273
308
|
], Navigation.prototype, "handleClick", null);
|
274
309
|
tslib.__decorate([
|
275
310
|
amisCore.autobind,
|
@@ -310,6 +345,22 @@ var Navigation = /** @class */ (function (_super) {
|
|
310
345
|
return Navigation;
|
311
346
|
}(React__default["default"].Component));
|
312
347
|
var ThemedNavigation = amisCore.themeable(Navigation);
|
348
|
+
function getActiveItems(config, depth, level) {
|
349
|
+
if (depth > level) {
|
350
|
+
return [];
|
351
|
+
}
|
352
|
+
var activeItems = [];
|
353
|
+
config &&
|
354
|
+
config.forEach(function (item) {
|
355
|
+
if (item.active) {
|
356
|
+
activeItems.push(item);
|
357
|
+
}
|
358
|
+
if (item.children) {
|
359
|
+
activeItems = activeItems.concat(getActiveItems(item.children, depth + 1, level));
|
360
|
+
}
|
361
|
+
});
|
362
|
+
return activeItems;
|
363
|
+
}
|
313
364
|
var ConditionBuilderWithRemoteOptions = amisUi.withRemoteConfig({
|
314
365
|
adaptor: function (config, props) {
|
315
366
|
var links = Array.isArray(config)
|
@@ -320,52 +371,114 @@ var ConditionBuilderWithRemoteOptions = amisUi.withRemoteConfig({
|
|
320
371
|
}
|
321
372
|
return links;
|
322
373
|
},
|
323
|
-
afterLoad: function (response, config, props) {
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
374
|
+
afterLoad: function (response, config, props) { return tslib.__awaiter(void 0, void 0, void 0, function () {
|
375
|
+
var dispatchEvent, rendererEvent, env;
|
376
|
+
return tslib.__generator(this, function (_a) {
|
377
|
+
switch (_a.label) {
|
378
|
+
case 0:
|
379
|
+
dispatchEvent = props.dispatchEvent;
|
380
|
+
return [4 /*yield*/, dispatchEvent('loaded', {
|
381
|
+
data: response.value
|
382
|
+
})];
|
383
|
+
case 1:
|
384
|
+
rendererEvent = _a.sent();
|
385
|
+
if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
|
386
|
+
return [2 /*return*/];
|
387
|
+
}
|
388
|
+
if (response.value && !amisCore.someTree(config, function (item) { return item.active; })) {
|
389
|
+
env = props.env;
|
390
|
+
env.jumpTo(amisCore.filter(response.value, props.data));
|
391
|
+
}
|
392
|
+
return [2 /*return*/];
|
393
|
+
}
|
394
|
+
});
|
395
|
+
}); },
|
329
396
|
normalizeConfig: function (links, origin, props, motivation) {
|
330
397
|
if (Array.isArray(links) && motivation !== 'toggle') {
|
331
|
-
var data_1 = props.data, env_1 = props.env, unfoldedField_1 = props.unfoldedField, foldedField_1 = props.foldedField;
|
332
|
-
|
333
|
-
|
334
|
-
|
398
|
+
var data_1 = props.data, env_1 = props.env, unfoldedField_1 = props.unfoldedField, foldedField_1 = props.foldedField, location_1 = props.location, level_1 = props.level, config = props.config, dispatchEvent_1 = props.dispatchEvent;
|
399
|
+
var isActive_1 = function (link, depth) {
|
400
|
+
return motivation !== 'location-change' &&
|
401
|
+
typeof link.active !== 'undefined'
|
402
|
+
? link.active
|
403
|
+
: (depth === level_1
|
404
|
+
? !!amisCore.findTree(link.children || [], function (l) {
|
405
|
+
return !!(l.hasOwnProperty('to') &&
|
406
|
+
env_1 &&
|
407
|
+
env_1.isCurrentUrl(amisCore.filter(l.to, data_1)));
|
408
|
+
})
|
409
|
+
: false) ||
|
335
410
|
(link.activeOn
|
336
|
-
? amisCore.evalExpression(link.activeOn, data_1)
|
411
|
+
? amisCore.evalExpression(link.activeOn, data_1) ||
|
412
|
+
amisCore.evalExpression(link.activeOn, location_1)
|
337
413
|
: !!(link.hasOwnProperty('to') &&
|
338
414
|
env_1 &&
|
339
|
-
env_1.isCurrentUrl(amisCore.filter(link.to, data_1))))
|
415
|
+
env_1.isCurrentUrl(amisCore.filter(link.to, data_1))));
|
416
|
+
};
|
417
|
+
links = amisCore.mapTree(links, function (link, index, depth) {
|
418
|
+
var _a;
|
419
|
+
var item = tslib.__assign(tslib.__assign(tslib.__assign({}, link), amisCore.getExprProperties(link, data_1)), { active: isActive_1(link, depth), __id: (_a = link.__id) !== null && _a !== void 0 ? _a : amisCore.guid() });
|
340
420
|
item.unfolded =
|
341
421
|
amisCore.isUnfolded(item, { unfoldedField: unfoldedField_1, foldedField: foldedField_1 }) ||
|
342
|
-
(link.children &&
|
422
|
+
(link.children &&
|
423
|
+
!!amisCore.findTree(link.children, function (child, i, d) {
|
424
|
+
return isActive_1(child, depth + d);
|
425
|
+
}));
|
343
426
|
return item;
|
344
427
|
}, 1, true);
|
428
|
+
var currentActiveItems_1 = getActiveItems(links, 1, level_1);
|
429
|
+
var prevActiveItems_1 = getActiveItems(config, 1, level_1);
|
430
|
+
setTimeout(function () {
|
431
|
+
if (!isEqual__default["default"](currentActiveItems_1, prevActiveItems_1)) {
|
432
|
+
dispatchEvent_1('change', { activeItems: currentActiveItems_1 });
|
433
|
+
}
|
434
|
+
}, 0);
|
345
435
|
}
|
346
436
|
return links;
|
347
437
|
},
|
348
438
|
beforeDeferLoad: function (item, indexes, links) {
|
349
439
|
return amisCore.spliceTree(links, indexes, 1, tslib.__assign(tslib.__assign({}, item), { loading: true }));
|
350
440
|
},
|
351
|
-
afterDeferLoad: function (item, indexes, ret, links) {
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
441
|
+
afterDeferLoad: function (item, indexes, ret, links, props) {
|
442
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
443
|
+
var dispatchEvent, rendererEvent, newItem, children;
|
444
|
+
return tslib.__generator(this, function (_a) {
|
445
|
+
switch (_a.label) {
|
446
|
+
case 0:
|
447
|
+
dispatchEvent = props.dispatchEvent;
|
448
|
+
return [4 /*yield*/, dispatchEvent('loaded', {
|
449
|
+
data: ret.data,
|
450
|
+
item: tslib.__assign({}, item)
|
451
|
+
})];
|
452
|
+
case 1:
|
453
|
+
rendererEvent = _a.sent();
|
454
|
+
if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
|
455
|
+
return [2 /*return*/];
|
456
|
+
}
|
457
|
+
newItem = tslib.__assign(tslib.__assign({}, item), { loading: false, loaded: true, error: ret.ok ? undefined : ret.msg });
|
458
|
+
children = Array.isArray(ret.data)
|
459
|
+
? ret.data
|
460
|
+
: ret.data.links || ret.data.options || ret.data.items || ret.data.rows;
|
461
|
+
if (Array.isArray(children)) {
|
462
|
+
newItem.children = children.concat();
|
463
|
+
newItem.unfolded = true;
|
464
|
+
}
|
465
|
+
return [2 /*return*/, amisCore.spliceTree(links, indexes, 1, newItem)];
|
466
|
+
}
|
467
|
+
});
|
468
|
+
});
|
361
469
|
}
|
362
470
|
})(/** @class */ (function (_super) {
|
363
471
|
tslib.__extends(class_1, _super);
|
364
472
|
function class_1(props) {
|
365
473
|
var _this = _super.call(this, props) || this;
|
474
|
+
_this.state = {
|
475
|
+
currentKey: props.showKey || '',
|
476
|
+
collapsed: props.collapsed || false
|
477
|
+
};
|
366
478
|
_this.toggleLink = _this.toggleLink.bind(_this);
|
367
479
|
_this.handleSelect = _this.handleSelect.bind(_this);
|
368
480
|
_this.dragUpdate = _this.dragUpdate.bind(_this);
|
481
|
+
props === null || props === void 0 ? void 0 : props.onRef(_this);
|
369
482
|
return _this;
|
370
483
|
}
|
371
484
|
class_1.prototype.componentDidMount = function () {
|
@@ -373,26 +486,64 @@ var ConditionBuilderWithRemoteOptions = amisUi.withRemoteConfig({
|
|
373
486
|
this.props.updateConfig(this.props.links, 'mount');
|
374
487
|
}
|
375
488
|
};
|
376
|
-
class_1.prototype.
|
377
|
-
|
489
|
+
class_1.prototype.getCurrentLink = function (key) {
|
490
|
+
var link = null;
|
491
|
+
var _a = this.props, config = _a.config, data = _a.data;
|
492
|
+
var id = amisCore.resolveVariableAndFilter(key, data, '| raw');
|
493
|
+
if (key) {
|
494
|
+
link = amisCore.findTree(config, function (item) { return item.label == id || item.key == id; });
|
495
|
+
}
|
496
|
+
return link;
|
497
|
+
};
|
498
|
+
class_1.prototype.componentDidUpdate = function (prevProps, prevState) {
|
499
|
+
if (!isEqual__default["default"](this.props.location, prevProps.location)) {
|
378
500
|
this.props.updateConfig(this.props.config, 'location-change');
|
379
501
|
}
|
380
|
-
else if (this.props.links
|
502
|
+
else if (!isEqual__default["default"](this.props.links, prevProps.links)) {
|
381
503
|
this.props.updateConfig(this.props.links, 'update');
|
382
504
|
}
|
383
|
-
|
384
|
-
|
385
|
-
var _a = this.props, config = _a.config, updateConfig = _a.updateConfig, deferLoad = _a.deferLoad;
|
386
|
-
if (target.defer && !target.loaded) {
|
387
|
-
deferLoad(target);
|
505
|
+
if (prevProps.collapsed !== this.props.collapsed) {
|
506
|
+
this.setState({ collapsed: this.props.collapsed });
|
388
507
|
}
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
}), 'toggle');
|
508
|
+
if (prevState.collapsed !== this.state.collapsed) {
|
509
|
+
this.props.dispatchEvent('collapsed', {
|
510
|
+
collapsed: this.state.collapsed
|
511
|
+
});
|
394
512
|
}
|
395
513
|
};
|
514
|
+
class_1.prototype.toggleLink = function (target, forceFold) {
|
515
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
516
|
+
var _a, config, updateConfig, deferLoad, dispatchEvent, stacked, mode, accordion, isAccordion, rendererEvent;
|
517
|
+
return tslib.__generator(this, function (_b) {
|
518
|
+
switch (_b.label) {
|
519
|
+
case 0:
|
520
|
+
_a = this.props, config = _a.config, updateConfig = _a.updateConfig, deferLoad = _a.deferLoad, dispatchEvent = _a.dispatchEvent, stacked = _a.stacked, mode = _a.mode, accordion = _a.accordion;
|
521
|
+
isAccordion = stacked && mode !== 'float' && accordion;
|
522
|
+
return [4 /*yield*/, dispatchEvent('toggled', {
|
523
|
+
item: tslib.__assign({}, target),
|
524
|
+
open: typeof forceFold !== 'undefined' ? !forceFold : !target.unfolded
|
525
|
+
})];
|
526
|
+
case 1:
|
527
|
+
rendererEvent = _b.sent();
|
528
|
+
if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
|
529
|
+
return [2 /*return*/];
|
530
|
+
}
|
531
|
+
if (target.defer && !target.loaded) {
|
532
|
+
deferLoad(target);
|
533
|
+
}
|
534
|
+
else {
|
535
|
+
updateConfig(amisCore.mapTree(config, function (link) {
|
536
|
+
return target === link
|
537
|
+
? tslib.__assign(tslib.__assign({}, link), { unfolded: typeof forceFold !== 'undefined'
|
538
|
+
? !forceFold
|
539
|
+
: !link.unfolded }) : tslib.__assign(tslib.__assign({}, link), { unfolded: isAccordion ? false : link.unfolded });
|
540
|
+
}), 'toggle');
|
541
|
+
}
|
542
|
+
return [2 /*return*/];
|
543
|
+
}
|
544
|
+
});
|
545
|
+
});
|
546
|
+
};
|
396
547
|
class_1.prototype.dragUpdate = function (dropInfo) {
|
397
548
|
var _a, _b;
|
398
549
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
@@ -456,14 +607,14 @@ var ConditionBuilderWithRemoteOptions = amisUi.withRemoteConfig({
|
|
456
607
|
case 0:
|
457
608
|
_a = this.props, saveOrderApi = _a.saveOrderApi, env = _a.env, data = _a.data, reload = _a.reload;
|
458
609
|
if (!(saveOrderApi && amisCore.isEffectiveApi(saveOrderApi))) return [3 /*break*/, 2];
|
459
|
-
return [4 /*yield*/, env.fetcher(saveOrderApi, amisCore.createObject(data, { data: links }), { method: 'post' })];
|
610
|
+
return [4 /*yield*/, (env === null || env === void 0 ? void 0 : env.fetcher(saveOrderApi, amisCore.createObject(data, { data: links }), { method: 'post' }))];
|
460
611
|
case 1:
|
461
612
|
_b.sent();
|
462
613
|
reload();
|
463
614
|
return [3 /*break*/, 3];
|
464
615
|
case 2:
|
465
616
|
if (!this.props.onOrderChange) {
|
466
|
-
env.alert('NAV saveOrderApi is required!');
|
617
|
+
env === null || env === void 0 ? void 0 : env.alert('NAV saveOrderApi is required!');
|
467
618
|
}
|
468
619
|
_b.label = 3;
|
469
620
|
case 3: return [2 /*return*/];
|
@@ -471,22 +622,54 @@ var ConditionBuilderWithRemoteOptions = amisUi.withRemoteConfig({
|
|
471
622
|
});
|
472
623
|
});
|
473
624
|
};
|
474
|
-
class_1.prototype.
|
475
|
-
var _a = this.props,
|
476
|
-
|
477
|
-
return;
|
478
|
-
|
479
|
-
|
480
|
-
(
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
625
|
+
class_1.prototype.expandLink = function (target) {
|
626
|
+
var _a = this.props, config = _a.config, updateConfig = _a.updateConfig;
|
627
|
+
updateConfig(amisCore.mapTree(config, function (link) {
|
628
|
+
if (amisCore.findTree((link === null || link === void 0 ? void 0 : link.children) || [], function (item) { return item.__id === target.__id; })) {
|
629
|
+
return tslib.__assign(tslib.__assign({}, link), { expanded: true });
|
630
|
+
}
|
631
|
+
return tslib.__assign({}, link);
|
632
|
+
}), 'expand');
|
633
|
+
};
|
634
|
+
class_1.prototype.handleSelect = function (link, depth) {
|
635
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
636
|
+
var _a, onSelect, env, data, level, dispatchEvent, updateConfig, config, rendererEvent;
|
637
|
+
return tslib.__generator(this, function (_b) {
|
638
|
+
switch (_b.label) {
|
639
|
+
case 0:
|
640
|
+
_a = this.props, onSelect = _a.onSelect, env = _a.env, data = _a.data, level = _a.level, dispatchEvent = _a.dispatchEvent, updateConfig = _a.updateConfig, config = _a.config;
|
641
|
+
return [4 /*yield*/, dispatchEvent('click', {
|
642
|
+
item: tslib.__assign({}, link)
|
643
|
+
})];
|
644
|
+
case 1:
|
645
|
+
rendererEvent = _b.sent();
|
646
|
+
if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
|
647
|
+
return [2 /*return*/, true];
|
648
|
+
}
|
649
|
+
if (onSelect && onSelect(link) === false) {
|
650
|
+
return [2 /*return*/, true];
|
651
|
+
}
|
652
|
+
// 叶子节点点击也会默认选中
|
653
|
+
if (depth === level) {
|
654
|
+
updateConfig(amisCore.mapTree(config, function (target) {
|
655
|
+
return tslib.__assign(tslib.__assign({}, target), { active: target.__id === link.__id });
|
656
|
+
}), 'select');
|
657
|
+
return [2 /*return*/, true];
|
658
|
+
}
|
659
|
+
if (link.expandMore) {
|
660
|
+
this.expandLink(link);
|
661
|
+
return [2 /*return*/, false];
|
662
|
+
}
|
663
|
+
env === null || env === void 0 ? void 0 : env.jumpTo(amisCore.filter(link.to, data), link);
|
664
|
+
return [2 /*return*/, true];
|
665
|
+
}
|
666
|
+
});
|
667
|
+
});
|
486
668
|
};
|
487
669
|
class_1.prototype.render = function () {
|
488
670
|
var _a = this.props, loading = _a.loading, config = _a.config; _a.deferLoad; _a.updateConfig; var rest = tslib.__rest(_a, ["loading", "config", "deferLoad", "updateConfig"]);
|
489
|
-
|
671
|
+
var currentLink = this.getCurrentLink(this.state.currentKey);
|
672
|
+
return (React__default["default"].createElement(ThemedNavigation, tslib.__assign({}, rest, { loading: loading, links: (currentLink === null || currentLink === void 0 ? void 0 : currentLink.children) || config, collapsed: this.state.collapsed, disabled: loading, onSelect: this.handleSelect, onToggle: this.toggleLink, onDragUpdate: this.dragUpdate })));
|
490
673
|
};
|
491
674
|
return class_1;
|
492
675
|
}(React__default["default"].Component)));
|
@@ -502,16 +685,62 @@ var ConditionBuilderWithRemoteOptions = amisUi.withRemoteConfig({
|
|
502
685
|
NavigationRenderer.prototype.remoteConfigRef = function (ref) {
|
503
686
|
this.remoteRef = ref;
|
504
687
|
};
|
688
|
+
NavigationRenderer.prototype.getRef = function (ref) {
|
689
|
+
this.navRef = ref;
|
690
|
+
};
|
505
691
|
NavigationRenderer.prototype.componentWillUnmount = function () {
|
506
692
|
var scoped = this.context;
|
507
693
|
scoped.unRegisterComponent(this);
|
508
694
|
};
|
695
|
+
NavigationRenderer.prototype.doAction = function (action, args) {
|
696
|
+
var actionType = action === null || action === void 0 ? void 0 : action.actionType;
|
697
|
+
if (actionType === 'updateItems') {
|
698
|
+
var children = [];
|
699
|
+
if (args.value) {
|
700
|
+
if (Array.isArray(args.value)) {
|
701
|
+
// 只展示触发项的children属性
|
702
|
+
// 多个的话 默认只展示第一个
|
703
|
+
if (args.value.length > 0) {
|
704
|
+
var item = args.value.find(function (item) { return item.children && item.children.length; });
|
705
|
+
if (item) {
|
706
|
+
var key = (item === null || item === void 0 ? void 0 : item.key) || (item === null || item === void 0 ? void 0 : item.label);
|
707
|
+
if (this.navRef.state.currentKey !== key) {
|
708
|
+
this.navRef.setState({ currentKey: (item === null || item === void 0 ? void 0 : item.key) || (item === null || item === void 0 ? void 0 : item.label) });
|
709
|
+
children = item.children;
|
710
|
+
}
|
711
|
+
}
|
712
|
+
}
|
713
|
+
}
|
714
|
+
else if (typeof args.value === 'string') {
|
715
|
+
var currentLink = this.navRef.getCurrentLink(args.value);
|
716
|
+
this.navRef.setState({
|
717
|
+
currentKey: currentLink.key || currentLink.label
|
718
|
+
});
|
719
|
+
children = currentLink === null || currentLink === void 0 ? void 0 : currentLink.children;
|
720
|
+
}
|
721
|
+
}
|
722
|
+
if (children.length > 0) {
|
723
|
+
var _a = this.props, env_2 = _a.env, data_2 = _a.data;
|
724
|
+
var child = amisCore.findTree(children, function (item) { return env_2 && env_2.isCurrentUrl(amisCore.filter(item.to, data_2)); });
|
725
|
+
env_2 === null || env_2 === void 0 ? void 0 : env_2.jumpTo(amisCore.filter(child ? child.to : children[0].to, data_2));
|
726
|
+
}
|
727
|
+
}
|
728
|
+
else if (actionType === 'collapse') {
|
729
|
+
var collapsed = args && typeof args.value !== 'undefined'
|
730
|
+
? args.value
|
731
|
+
: !this.navRef.state.collapsed;
|
732
|
+
this.navRef.setState({ collapsed: collapsed });
|
733
|
+
}
|
734
|
+
else if (actionType === 'reset') {
|
735
|
+
this.navRef.setState({ currentKey: '' });
|
736
|
+
}
|
737
|
+
};
|
509
738
|
NavigationRenderer.prototype.reload = function (target, query, values) {
|
510
739
|
var _a;
|
511
740
|
if (query) {
|
512
741
|
return this.receive(query);
|
513
742
|
}
|
514
|
-
var _b = this.props, data = _b.data; _b.
|
743
|
+
var _b = this.props, data = _b.data; _b.translate;
|
515
744
|
var finalData = values ? amisCore.createObject(data, values) : data;
|
516
745
|
(_a = this.remoteRef) === null || _a === void 0 ? void 0 : _a.loadConfig(finalData);
|
517
746
|
};
|
@@ -520,7 +749,7 @@ var ConditionBuilderWithRemoteOptions = amisUi.withRemoteConfig({
|
|
520
749
|
};
|
521
750
|
NavigationRenderer.prototype.render = function () {
|
522
751
|
var rest = tslib.__rest(this.props, []);
|
523
|
-
return (React__default["default"].createElement(ConditionBuilderWithRemoteOptions, tslib.__assign({}, rest, { reload: this.reload, remoteConfigRef: this.remoteConfigRef })));
|
752
|
+
return (React__default["default"].createElement(ConditionBuilderWithRemoteOptions, tslib.__assign({}, rest, { onRef: this.getRef, reload: this.reload, remoteConfigRef: this.remoteConfigRef })));
|
524
753
|
};
|
525
754
|
NavigationRenderer.contextType = amisCore.ScopedContext;
|
526
755
|
tslib.__decorate([
|
@@ -529,6 +758,12 @@ var ConditionBuilderWithRemoteOptions = amisUi.withRemoteConfig({
|
|
529
758
|
tslib.__metadata("design:paramtypes", [Object]),
|
530
759
|
tslib.__metadata("design:returntype", void 0)
|
531
760
|
], NavigationRenderer.prototype, "remoteConfigRef", null);
|
761
|
+
tslib.__decorate([
|
762
|
+
amisCore.autobind,
|
763
|
+
tslib.__metadata("design:type", Function),
|
764
|
+
tslib.__metadata("design:paramtypes", [Object]),
|
765
|
+
tslib.__metadata("design:returntype", void 0)
|
766
|
+
], NavigationRenderer.prototype, "getRef", null);
|
532
767
|
tslib.__decorate([
|
533
768
|
amisCore.autobind,
|
534
769
|
tslib.__metadata("design:type", Function),
|