@nocobase/client 0.9.2-alpha.4 → 0.9.3-alpha.1
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/es/block-provider/DetailsBlockProvider.js +13 -1
- package/es/block-provider/FormBlockProvider.js +30 -13
- package/es/block-provider/hooks/index.d.ts +10 -0
- package/es/block-provider/hooks/index.js +498 -281
- package/es/collection-manager/Configuration/CollectionFields.js +1 -2
- package/es/collection-manager/Configuration/EditFieldAction.js +0 -1
- package/es/collection-manager/Configuration/OverridingCollectionField.js +0 -1
- package/es/collection-manager/action-hooks.d.ts +1 -1
- package/es/collection-manager/action-hooks.js +18 -7
- package/es/collection-manager/interfaces/createdBy.js +1 -1
- package/es/collection-manager/interfaces/linkTo.js +3 -39
- package/es/collection-manager/interfaces/m2m.js +4 -38
- package/es/collection-manager/interfaces/m2o.js +4 -38
- package/es/collection-manager/interfaces/o2m.js +4 -68
- package/es/collection-manager/interfaces/o2o.js +25 -119
- package/es/collection-manager/interfaces/updatedBy.js +1 -1
- package/es/collection-manager/templates/tree.js +2 -2
- package/es/filter-provider/FilterProvider.js +3 -1
- package/es/locale/en_US.d.ts +3 -0
- package/es/locale/en_US.js +5 -2
- package/es/locale/ja_JP.d.ts +3 -0
- package/es/locale/ja_JP.js +3 -0
- package/es/locale/zh_CN.d.ts +4 -0
- package/es/locale/zh_CN.js +4 -0
- package/es/schema-component/antd/action/Action.Designer.js +4 -5
- package/es/schema-component/antd/association-field/AssociationFieldProvider.d.ts +2 -0
- package/es/schema-component/antd/association-field/AssociationFieldProvider.js +19 -0
- package/es/schema-component/antd/association-field/AssociationSelect.d.ts +14 -0
- package/es/schema-component/antd/association-field/AssociationSelect.js +118 -0
- package/es/schema-component/antd/association-field/Editable.d.ts +2 -0
- package/es/schema-component/antd/association-field/Editable.js +88 -0
- package/es/schema-component/antd/association-field/FileManager.d.ts +4 -0
- package/es/schema-component/antd/association-field/FileManager.js +243 -0
- package/es/schema-component/antd/association-field/InternalNester.d.ts +1 -0
- package/es/schema-component/antd/association-field/InternalNester.js +28 -0
- package/es/schema-component/antd/association-field/InternalPicker.d.ts +2 -0
- package/es/schema-component/antd/association-field/InternalPicker.js +267 -0
- package/es/schema-component/antd/association-field/InternalSubTable.d.ts +1 -0
- package/es/schema-component/antd/association-field/InternalSubTable.js +28 -0
- package/es/schema-component/antd/association-field/InternalViewer.d.ts +2 -0
- package/es/schema-component/antd/association-field/InternalViewer.js +115 -0
- package/es/schema-component/antd/association-field/Nester.d.ts +1 -0
- package/es/schema-component/antd/association-field/Nester.js +80 -0
- package/es/schema-component/antd/association-field/ReadPretty.d.ts +2 -0
- package/es/schema-component/antd/association-field/ReadPretty.js +38 -0
- package/es/schema-component/antd/association-field/SubTable.d.ts +1 -0
- package/es/schema-component/antd/association-field/SubTable.js +25 -0
- package/es/schema-component/antd/association-field/context.d.ts +7 -0
- package/es/schema-component/antd/association-field/context.js +2 -0
- package/es/schema-component/antd/association-field/hooks.d.ts +8 -0
- package/es/schema-component/antd/association-field/hooks.js +96 -0
- package/es/schema-component/antd/association-field/index.d.ts +1 -0
- package/es/schema-component/antd/association-field/index.js +14 -0
- package/es/schema-component/antd/association-field/schema.d.ts +142 -0
- package/es/schema-component/antd/association-field/schema.js +141 -0
- package/es/schema-component/antd/association-field/util.d.ts +8 -0
- package/es/schema-component/antd/association-field/util.js +84 -0
- package/es/schema-component/antd/expand-action/Expand.Action.Design.d.ts +1 -0
- package/es/schema-component/antd/expand-action/Expand.Action.Design.js +112 -0
- package/es/schema-component/antd/expand-action/Expand.Action.d.ts +1 -0
- package/es/schema-component/antd/expand-action/Expand.Action.js +40 -0
- package/es/schema-component/antd/expand-action/index.d.ts +1 -0
- package/es/schema-component/antd/expand-action/index.js +5 -0
- package/es/schema-component/antd/filter/Filter.Action.Designer.js +10 -12
- package/es/schema-component/antd/filter/FilterItem.js +1 -1
- package/es/schema-component/antd/filter/useOperators.d.ts +1 -1
- package/es/schema-component/antd/form-item/FormItem.d.ts +2 -1
- package/es/schema-component/antd/form-item/FormItem.js +183 -52
- package/es/schema-component/antd/form-item/SchemaSettingOptions.js +36 -58
- package/es/schema-component/antd/form-v2/utils.js +3 -1
- package/es/schema-component/antd/gantt/components/other/tooltip.js +1 -1
- package/es/schema-component/antd/index.d.ts +3 -1
- package/es/schema-component/antd/index.js +3 -1
- package/es/schema-component/antd/menu/Menu.js +6 -3
- package/es/schema-component/antd/record-picker/InputRecordPicker.d.ts +1 -0
- package/es/schema-component/antd/record-picker/InputRecordPicker.js +32 -12
- package/es/schema-component/antd/remote-select/RemoteSelect.js +16 -18
- package/es/schema-component/antd/table-v2/Table.Column.Designer.js +18 -9
- package/es/schema-component/antd/table-v2/Table.Index.d.ts +1 -0
- package/es/schema-component/antd/table-v2/Table.Index.js +6 -0
- package/es/schema-component/antd/table-v2/Table.js +9 -5
- package/es/schema-component/antd/table-v2/index.js +3 -1
- package/es/schema-component/antd/table-v2/utils.js +1 -1
- package/es/schema-component/antd/variable/Input.js +5 -5
- package/es/schema-component/antd/variable/TextArea.js +2 -5
- package/es/schema-component/common/dnd-context/index.js +3 -2
- package/es/schema-component/common/sortable-item/SortableItem.js +4 -1
- package/es/schema-component/common/utils/uitls.js +1 -1
- package/es/schema-component/hooks/index.d.ts +1 -0
- package/es/schema-component/hooks/index.js +2 -1
- package/es/schema-component/hooks/useFieldModeOptions.d.ts +4 -0
- package/es/schema-component/hooks/useFieldModeOptions.js +105 -0
- package/es/schema-initializer/components/CreateRecordAction.d.ts +1 -1
- package/es/schema-initializer/components/CreateRecordAction.js +4 -3
- package/es/schema-initializer/items/ExpandActionInitializer.d.ts +0 -1
- package/es/schema-initializer/items/ExpandActionInitializer.js +9 -34
- package/es/schema-initializer/items/SelectActionInitializer.d.ts +1 -0
- package/es/schema-initializer/items/SelectActionInitializer.js +65 -0
- package/es/schema-initializer/items/index.d.ts +1 -0
- package/es/schema-initializer/items/index.js +2 -1
- package/es/schema-initializer/utils.js +20 -8
- package/es/schema-settings/LinkageRules/FilterDynamicComponent.js +1 -1
- package/es/schema-settings/LinkageRules/Variables.d.ts +1 -1
- package/es/schema-settings/LinkageRules/Variables.js +7 -4
- package/es/schema-settings/SchemaSettings.js +2 -2
- package/lib/block-provider/DetailsBlockProvider.js +13 -1
- package/lib/block-provider/FormBlockProvider.js +31 -15
- package/lib/block-provider/hooks/index.d.ts +10 -0
- package/lib/block-provider/hooks/index.js +509 -289
- package/lib/collection-manager/Configuration/CollectionFields.js +1 -2
- package/lib/collection-manager/Configuration/EditFieldAction.js +0 -1
- package/lib/collection-manager/Configuration/OverridingCollectionField.js +0 -1
- package/lib/collection-manager/action-hooks.d.ts +1 -1
- package/lib/collection-manager/action-hooks.js +18 -7
- package/lib/collection-manager/interfaces/createdBy.js +1 -1
- package/lib/collection-manager/interfaces/linkTo.js +2 -38
- package/lib/collection-manager/interfaces/m2m.js +3 -37
- package/lib/collection-manager/interfaces/m2o.js +3 -37
- package/lib/collection-manager/interfaces/o2m.js +6 -70
- package/lib/collection-manager/interfaces/o2o.js +30 -124
- package/lib/collection-manager/interfaces/updatedBy.js +1 -1
- package/lib/collection-manager/templates/tree.js +2 -2
- package/lib/filter-provider/FilterProvider.js +3 -1
- package/lib/locale/en_US.d.ts +3 -0
- package/lib/locale/en_US.js +5 -2
- package/lib/locale/ja_JP.d.ts +3 -0
- package/lib/locale/ja_JP.js +3 -0
- package/lib/locale/zh_CN.d.ts +4 -0
- package/lib/locale/zh_CN.js +4 -0
- package/lib/schema-component/antd/action/Action.Designer.js +4 -5
- package/lib/schema-component/antd/association-field/AssociationFieldProvider.d.ts +2 -0
- package/lib/schema-component/antd/association-field/AssociationFieldProvider.js +28 -0
- package/lib/schema-component/antd/association-field/AssociationSelect.d.ts +14 -0
- package/lib/schema-component/antd/association-field/AssociationSelect.js +129 -0
- package/lib/schema-component/antd/association-field/Editable.d.ts +2 -0
- package/lib/schema-component/antd/association-field/Editable.js +97 -0
- package/lib/schema-component/antd/association-field/FileManager.d.ts +4 -0
- package/lib/schema-component/antd/association-field/FileManager.js +253 -0
- package/lib/schema-component/antd/association-field/InternalNester.d.ts +1 -0
- package/lib/schema-component/antd/association-field/InternalNester.js +39 -0
- package/lib/schema-component/antd/association-field/InternalPicker.d.ts +2 -0
- package/lib/schema-component/antd/association-field/InternalPicker.js +277 -0
- package/lib/schema-component/antd/association-field/InternalSubTable.d.ts +1 -0
- package/lib/schema-component/antd/association-field/InternalSubTable.js +39 -0
- package/lib/schema-component/antd/association-field/InternalViewer.d.ts +2 -0
- package/lib/schema-component/antd/association-field/InternalViewer.js +126 -0
- package/lib/schema-component/antd/association-field/Nester.d.ts +1 -0
- package/lib/schema-component/antd/association-field/Nester.js +89 -0
- package/lib/schema-component/antd/association-field/ReadPretty.d.ts +2 -0
- package/lib/schema-component/antd/association-field/ReadPretty.js +47 -0
- package/lib/schema-component/antd/association-field/SubTable.d.ts +1 -0
- package/lib/schema-component/antd/association-field/SubTable.js +33 -0
- package/lib/schema-component/antd/association-field/context.d.ts +7 -0
- package/lib/schema-component/antd/association-field/context.js +9 -0
- package/lib/schema-component/antd/association-field/hooks.d.ts +8 -0
- package/lib/schema-component/antd/association-field/hooks.js +107 -0
- package/lib/schema-component/antd/association-field/index.d.ts +1 -0
- package/lib/schema-component/antd/association-field/index.js +21 -0
- package/lib/schema-component/antd/association-field/schema.d.ts +142 -0
- package/lib/schema-component/antd/association-field/schema.js +148 -0
- package/lib/schema-component/antd/association-field/util.d.ts +8 -0
- package/lib/schema-component/antd/association-field/util.js +98 -0
- package/lib/schema-component/antd/expand-action/Expand.Action.Design.d.ts +1 -0
- package/lib/schema-component/antd/expand-action/Expand.Action.Design.js +120 -0
- package/lib/schema-component/antd/expand-action/Expand.Action.d.ts +1 -0
- package/lib/schema-component/antd/expand-action/Expand.Action.js +48 -0
- package/lib/schema-component/antd/expand-action/index.d.ts +1 -0
- package/lib/schema-component/antd/expand-action/index.js +12 -0
- package/lib/schema-component/antd/filter/Filter.Action.Designer.js +10 -12
- package/lib/schema-component/antd/filter/FilterItem.js +1 -1
- package/lib/schema-component/antd/filter/useOperators.d.ts +1 -1
- package/lib/schema-component/antd/form-item/FormItem.d.ts +2 -1
- package/lib/schema-component/antd/form-item/FormItem.js +180 -48
- package/lib/schema-component/antd/form-item/SchemaSettingOptions.js +34 -56
- package/lib/schema-component/antd/form-v2/utils.js +3 -1
- package/lib/schema-component/antd/gantt/components/other/tooltip.js +1 -1
- package/lib/schema-component/antd/index.d.ts +3 -1
- package/lib/schema-component/antd/index.js +33 -11
- package/lib/schema-component/antd/menu/Menu.js +6 -3
- package/lib/schema-component/antd/record-picker/InputRecordPicker.d.ts +1 -0
- package/lib/schema-component/antd/record-picker/InputRecordPicker.js +34 -13
- package/lib/schema-component/antd/remote-select/RemoteSelect.js +15 -17
- package/lib/schema-component/antd/table-v2/Table.Column.Designer.js +18 -9
- package/lib/schema-component/antd/table-v2/Table.Index.d.ts +1 -0
- package/lib/schema-component/antd/table-v2/Table.Index.js +14 -0
- package/lib/schema-component/antd/table-v2/Table.js +9 -5
- package/lib/schema-component/antd/table-v2/index.js +3 -1
- package/lib/schema-component/antd/table-v2/utils.js +1 -1
- package/lib/schema-component/antd/variable/Input.js +5 -5
- package/lib/schema-component/antd/variable/TextArea.js +2 -5
- package/lib/schema-component/common/dnd-context/index.js +3 -2
- package/lib/schema-component/common/sortable-item/SortableItem.js +4 -1
- package/lib/schema-component/common/utils/uitls.js +1 -1
- package/lib/schema-component/hooks/index.d.ts +1 -0
- package/lib/schema-component/hooks/index.js +11 -0
- package/lib/schema-component/hooks/useFieldModeOptions.d.ts +4 -0
- package/lib/schema-component/hooks/useFieldModeOptions.js +112 -0
- package/lib/schema-initializer/components/CreateRecordAction.d.ts +1 -1
- package/lib/schema-initializer/components/CreateRecordAction.js +4 -3
- package/lib/schema-initializer/items/ExpandActionInitializer.d.ts +0 -1
- package/lib/schema-initializer/items/ExpandActionInitializer.js +11 -37
- package/lib/schema-initializer/items/SelectActionInitializer.d.ts +1 -0
- package/lib/schema-initializer/items/SelectActionInitializer.js +73 -0
- package/lib/schema-initializer/items/index.d.ts +1 -0
- package/lib/schema-initializer/items/index.js +11 -0
- package/lib/schema-initializer/utils.js +20 -8
- package/lib/schema-settings/LinkageRules/FilterDynamicComponent.js +1 -1
- package/lib/schema-settings/LinkageRules/Variables.d.ts +1 -1
- package/lib/schema-settings/LinkageRules/Variables.js +7 -4
- package/lib/schema-settings/SchemaSettings.js +3 -3
- package/package.json +5 -6
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
var _excluded = ["onRowSelectionChange", "rowKey"],
|
|
3
|
+
_excluded2 = ["value", "multiple", "onChange", "quickUpload", "selectFile"];
|
|
4
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
5
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
7
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
8
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
18
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
19
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
20
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
21
|
+
import { RecursionField, connect, useField, useFieldSchema } from '@formily/react';
|
|
22
|
+
import { differenceBy, unionBy } from 'lodash';
|
|
23
|
+
import React, { useContext, useEffect, useState } from 'react';
|
|
24
|
+
import { FormProvider, RecordPickerContext, RecordPickerProvider, SchemaComponentOptions, useActionContext } from '../..';
|
|
25
|
+
import { TableSelectorParamsProvider, useTableSelectorProps as useTsp } from '../../../block-provider/TableSelectorProvider';
|
|
26
|
+
import { CollectionProvider, useCollection } from '../../../collection-manager';
|
|
27
|
+
import { useCompile } from '../../hooks';
|
|
28
|
+
import { ActionContext } from '../action';
|
|
29
|
+
import { FileSelector, Preview } from '../preview';
|
|
30
|
+
import { ReadPrettyInternalViewer } from './InternalViewer';
|
|
31
|
+
import { useFieldNames, useInsertSchema } from './hooks';
|
|
32
|
+
import schema from './schema';
|
|
33
|
+
import { flatData, getLabelFormatValue, isShowFilePicker, useLabelUiSchema } from './util';
|
|
34
|
+
var useTableSelectorProps = function useTableSelectorProps() {
|
|
35
|
+
var field = useField();
|
|
36
|
+
var _useContext = useContext(RecordPickerContext),
|
|
37
|
+
multiple = _useContext.multiple,
|
|
38
|
+
_useContext$options = _useContext.options,
|
|
39
|
+
options = _useContext$options === void 0 ? [] : _useContext$options,
|
|
40
|
+
setSelectedRows = _useContext.setSelectedRows,
|
|
41
|
+
_useContext$selectedR = _useContext.selectedRows,
|
|
42
|
+
rcSelectRows = _useContext$selectedR === void 0 ? [] : _useContext$selectedR,
|
|
43
|
+
onChange = _useContext.onChange;
|
|
44
|
+
var _useTsp = useTsp(),
|
|
45
|
+
_onRowSelectionChange = _useTsp.onRowSelectionChange,
|
|
46
|
+
_useTsp$rowKey = _useTsp.rowKey,
|
|
47
|
+
rowKey = _useTsp$rowKey === void 0 ? 'id' : _useTsp$rowKey,
|
|
48
|
+
others = _objectWithoutProperties(_useTsp, _excluded);
|
|
49
|
+
var _useActionContext = useActionContext(),
|
|
50
|
+
setVisible = _useActionContext.setVisible;
|
|
51
|
+
return _objectSpread(_objectSpread({}, others), {}, {
|
|
52
|
+
rowKey: rowKey,
|
|
53
|
+
rowSelection: {
|
|
54
|
+
type: multiple ? 'checkbox' : 'radio',
|
|
55
|
+
selectedRowKeys: rcSelectRows === null || rcSelectRows === void 0 ? void 0 : rcSelectRows.filter(function (item) {
|
|
56
|
+
return options.every(function (row) {
|
|
57
|
+
return row[rowKey] !== item[rowKey];
|
|
58
|
+
});
|
|
59
|
+
}).map(function (item) {
|
|
60
|
+
return item[rowKey];
|
|
61
|
+
})
|
|
62
|
+
},
|
|
63
|
+
onRowSelectionChange: function onRowSelectionChange(selectedRowKeys, selectedRows) {
|
|
64
|
+
if (multiple) {
|
|
65
|
+
var scopeRows = flatData(field.value) || [];
|
|
66
|
+
var allSelectedRows = rcSelectRows || [];
|
|
67
|
+
var otherRows = differenceBy(allSelectedRows, scopeRows, rowKey);
|
|
68
|
+
var unionSelectedRows = unionBy(otherRows, selectedRows, rowKey);
|
|
69
|
+
var unionSelectedRowKeys = unionSelectedRows.map(function (item) {
|
|
70
|
+
return item[rowKey];
|
|
71
|
+
});
|
|
72
|
+
setSelectedRows === null || setSelectedRows === void 0 ? void 0 : setSelectedRows(unionSelectedRows);
|
|
73
|
+
_onRowSelectionChange === null || _onRowSelectionChange === void 0 ? void 0 : _onRowSelectionChange(unionSelectedRowKeys, unionSelectedRows);
|
|
74
|
+
} else {
|
|
75
|
+
setSelectedRows === null || setSelectedRows === void 0 ? void 0 : setSelectedRows(selectedRows);
|
|
76
|
+
_onRowSelectionChange === null || _onRowSelectionChange === void 0 ? void 0 : _onRowSelectionChange(selectedRowKeys, selectedRows);
|
|
77
|
+
onChange((selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows[0]) || null);
|
|
78
|
+
setVisible(false);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
var InternalFileManager = function InternalFileManager(props) {
|
|
84
|
+
var value = props.value,
|
|
85
|
+
multiple = props.multiple,
|
|
86
|
+
_onChange = props.onChange,
|
|
87
|
+
quickUpload = props.quickUpload,
|
|
88
|
+
selectFile = props.selectFile,
|
|
89
|
+
others = _objectWithoutProperties(props, _excluded2);
|
|
90
|
+
var fieldSchema = useFieldSchema();
|
|
91
|
+
var _useState = useState(false),
|
|
92
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
93
|
+
visibleSelector = _useState2[0],
|
|
94
|
+
setVisibleSelector = _useState2[1];
|
|
95
|
+
var _useState3 = useState([]),
|
|
96
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
97
|
+
selectedRows = _useState4[0],
|
|
98
|
+
setSelectedRows = _useState4[1];
|
|
99
|
+
var insertSelector = useInsertSchema('Selector');
|
|
100
|
+
var fieldNames = useFieldNames(props);
|
|
101
|
+
var field = useField();
|
|
102
|
+
var _useState5 = useState([]),
|
|
103
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
104
|
+
options = _useState6[0],
|
|
105
|
+
setOptions = _useState6[1];
|
|
106
|
+
var _useCollection = useCollection(),
|
|
107
|
+
getField = _useCollection.getField;
|
|
108
|
+
var collectionField = getField(field.props.name);
|
|
109
|
+
var labelUiSchema = useLabelUiSchema(collectionField, (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label) || 'label');
|
|
110
|
+
var compile = useCompile();
|
|
111
|
+
var getFilter = function getFilter() {
|
|
112
|
+
var targetKey = (collectionField === null || collectionField === void 0 ? void 0 : collectionField.targetKey) || 'id';
|
|
113
|
+
var list = options.map(function (option) {
|
|
114
|
+
return option[targetKey];
|
|
115
|
+
}).filter(Boolean);
|
|
116
|
+
var filter = list.length ? {
|
|
117
|
+
$and: [_defineProperty({}, "".concat(targetKey, ".$ne"), list)]
|
|
118
|
+
} : {};
|
|
119
|
+
return filter;
|
|
120
|
+
};
|
|
121
|
+
var handleSelect = function handleSelect() {
|
|
122
|
+
insertSelector(schema.Selector);
|
|
123
|
+
setVisibleSelector(true);
|
|
124
|
+
setSelectedRows([]);
|
|
125
|
+
};
|
|
126
|
+
useEffect(function () {
|
|
127
|
+
if (value && Object.keys(value).length > 0) {
|
|
128
|
+
var opts = (Array.isArray(value) ? value : value ? [value] : []).map(function (option) {
|
|
129
|
+
var label = option[fieldNames.label];
|
|
130
|
+
return _objectSpread(_objectSpread({}, option), {}, _defineProperty({}, fieldNames.label, getLabelFormatValue(compile(labelUiSchema), compile(label))));
|
|
131
|
+
});
|
|
132
|
+
setOptions(opts);
|
|
133
|
+
}
|
|
134
|
+
}, [value, fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label]);
|
|
135
|
+
var handleRemove = function handleRemove(file) {
|
|
136
|
+
var newOptions = options.filter(function (option) {
|
|
137
|
+
return option.id !== file.id;
|
|
138
|
+
});
|
|
139
|
+
setOptions(newOptions);
|
|
140
|
+
if (newOptions.length === 0) {
|
|
141
|
+
return _onChange(null);
|
|
142
|
+
}
|
|
143
|
+
_onChange(newOptions);
|
|
144
|
+
};
|
|
145
|
+
var pickerProps = {
|
|
146
|
+
size: 'small',
|
|
147
|
+
fieldNames: fieldNames,
|
|
148
|
+
multiple: ['o2m', 'm2m'].includes(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface),
|
|
149
|
+
association: {
|
|
150
|
+
target: collectionField === null || collectionField === void 0 ? void 0 : collectionField.target
|
|
151
|
+
},
|
|
152
|
+
onChange: props === null || props === void 0 ? void 0 : props.onChange,
|
|
153
|
+
selectedRows: selectedRows,
|
|
154
|
+
setSelectedRows: setSelectedRows,
|
|
155
|
+
collectionField: collectionField
|
|
156
|
+
};
|
|
157
|
+
var usePickActionProps = function usePickActionProps() {
|
|
158
|
+
var _useActionContext2 = useActionContext(),
|
|
159
|
+
setVisible = _useActionContext2.setVisible;
|
|
160
|
+
var _useContext2 = useContext(RecordPickerContext),
|
|
161
|
+
multiple = _useContext2.multiple,
|
|
162
|
+
selectedRows = _useContext2.selectedRows,
|
|
163
|
+
onChange = _useContext2.onChange,
|
|
164
|
+
options = _useContext2.options,
|
|
165
|
+
collectionField = _useContext2.collectionField;
|
|
166
|
+
return {
|
|
167
|
+
onClick: function onClick() {
|
|
168
|
+
if (multiple) {
|
|
169
|
+
onChange(unionBy(selectedRows, options, (collectionField === null || collectionField === void 0 ? void 0 : collectionField.targetKey) || 'id'));
|
|
170
|
+
} else {
|
|
171
|
+
onChange((selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows[0]) || null);
|
|
172
|
+
}
|
|
173
|
+
setVisible(false);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(FileSelector, {
|
|
178
|
+
value: options,
|
|
179
|
+
multiple: multiple,
|
|
180
|
+
quickUpload: quickUpload !== false,
|
|
181
|
+
selectFile: selectFile !== false,
|
|
182
|
+
action: "".concat(collectionField === null || collectionField === void 0 ? void 0 : collectionField.target, ":create"),
|
|
183
|
+
onSelect: handleSelect,
|
|
184
|
+
onRemove: handleRemove,
|
|
185
|
+
onChange: function onChange(changed) {
|
|
186
|
+
if (changed.every(function (file) {
|
|
187
|
+
return file.status !== 'uploading';
|
|
188
|
+
})) {
|
|
189
|
+
changed = changed.filter(function (file) {
|
|
190
|
+
return file.status === 'done';
|
|
191
|
+
}).map(function (file) {
|
|
192
|
+
return file.response.data;
|
|
193
|
+
});
|
|
194
|
+
if (multiple) {
|
|
195
|
+
_onChange([].concat(_toConsumableArray(options), _toConsumableArray(changed)));
|
|
196
|
+
} else {
|
|
197
|
+
_onChange(changed[0]);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}), /*#__PURE__*/React.createElement(ActionContext.Provider, {
|
|
202
|
+
value: {
|
|
203
|
+
openMode: 'drawer',
|
|
204
|
+
visible: visibleSelector,
|
|
205
|
+
setVisible: setVisibleSelector
|
|
206
|
+
}
|
|
207
|
+
}, /*#__PURE__*/React.createElement(RecordPickerProvider, _objectSpread({}, pickerProps), /*#__PURE__*/React.createElement(CollectionProvider, {
|
|
208
|
+
name: collectionField.target
|
|
209
|
+
}, /*#__PURE__*/React.createElement(FormProvider, null, /*#__PURE__*/React.createElement(TableSelectorParamsProvider, {
|
|
210
|
+
params: {
|
|
211
|
+
filter: getFilter()
|
|
212
|
+
}
|
|
213
|
+
}, /*#__PURE__*/React.createElement(SchemaComponentOptions, {
|
|
214
|
+
scope: {
|
|
215
|
+
usePickActionProps: usePickActionProps,
|
|
216
|
+
useTableSelectorProps: useTableSelectorProps
|
|
217
|
+
}
|
|
218
|
+
}, /*#__PURE__*/React.createElement(RecursionField, {
|
|
219
|
+
onlyRenderProperties: true,
|
|
220
|
+
basePath: field.address,
|
|
221
|
+
schema: fieldSchema,
|
|
222
|
+
filterProperties: function filterProperties(s) {
|
|
223
|
+
return s['x-component'] === 'AssociationField.Selector';
|
|
224
|
+
}
|
|
225
|
+
}))))))));
|
|
226
|
+
};
|
|
227
|
+
var FileManageReadPretty = connect(function (props) {
|
|
228
|
+
var field = useField();
|
|
229
|
+
var fieldNames = useFieldNames(props);
|
|
230
|
+
var _useCollection2 = useCollection(),
|
|
231
|
+
getField = _useCollection2.getField;
|
|
232
|
+
var collectionField = getField(field.props.name);
|
|
233
|
+
var labelUiSchema = useLabelUiSchema(collectionField, (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label) || 'label');
|
|
234
|
+
var showFilePicker = isShowFilePicker(labelUiSchema);
|
|
235
|
+
if (showFilePicker) {
|
|
236
|
+
return collectionField ? /*#__PURE__*/React.createElement(Preview, _objectSpread(_objectSpread({}, props), {}, {
|
|
237
|
+
fieldNames: fieldNames
|
|
238
|
+
})) : null;
|
|
239
|
+
} else {
|
|
240
|
+
return /*#__PURE__*/React.createElement(ReadPrettyInternalViewer, _objectSpread({}, props));
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
export { InternalFileManager, FileManageReadPretty };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const InternalNester: () => JSX.Element;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FormLayout } from '@formily/antd';
|
|
2
|
+
import { RecursionField, useField, useFieldSchema } from '@formily/react';
|
|
3
|
+
import React, { useEffect } from 'react';
|
|
4
|
+
import { CollectionProvider } from '../../../collection-manager';
|
|
5
|
+
import { useAssociationFieldContext, useInsertSchema } from './hooks';
|
|
6
|
+
import schema from './schema';
|
|
7
|
+
export var InternalNester = function InternalNester() {
|
|
8
|
+
var field = useField();
|
|
9
|
+
var fieldSchema = useFieldSchema();
|
|
10
|
+
var insertNester = useInsertSchema('Nester');
|
|
11
|
+
var _useAssociationFieldC = useAssociationFieldContext(),
|
|
12
|
+
options = _useAssociationFieldC.options;
|
|
13
|
+
useEffect(function () {
|
|
14
|
+
insertNester(schema.Nester);
|
|
15
|
+
}, []);
|
|
16
|
+
return /*#__PURE__*/React.createElement(CollectionProvider, {
|
|
17
|
+
name: options.target
|
|
18
|
+
}, /*#__PURE__*/React.createElement(FormLayout, {
|
|
19
|
+
layout: 'vertical'
|
|
20
|
+
}, /*#__PURE__*/React.createElement(RecursionField, {
|
|
21
|
+
onlyRenderProperties: true,
|
|
22
|
+
basePath: field.address,
|
|
23
|
+
schema: fieldSchema,
|
|
24
|
+
filterProperties: function filterProperties(s) {
|
|
25
|
+
return s['x-component'] === 'AssociationField.Nester';
|
|
26
|
+
}
|
|
27
|
+
})));
|
|
28
|
+
};
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
var _excluded = ["onRowSelectionChange", "rowKey"],
|
|
3
|
+
_excluded2 = ["value", "multiple", "onChange", "quickUpload", "selectFile"];
|
|
4
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
5
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
7
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
8
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
9
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
10
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
12
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
16
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
17
|
+
import { RecursionField, observer, useField, useFieldSchema } from '@formily/react';
|
|
18
|
+
import { Button, Input, Select } from 'antd';
|
|
19
|
+
import { differenceBy, unionBy } from 'lodash';
|
|
20
|
+
import React, { useContext, useEffect, useState } from 'react';
|
|
21
|
+
import { useTranslation } from 'react-i18next';
|
|
22
|
+
import { FormProvider, RecordPickerContext, RecordPickerProvider, SchemaComponentOptions, useActionContext } from '../..';
|
|
23
|
+
import { TableSelectorParamsProvider, useTableSelectorProps as useTsp } from '../../../block-provider/TableSelectorProvider';
|
|
24
|
+
import { CollectionProvider, useCollection } from '../../../collection-manager';
|
|
25
|
+
import { useCompile } from '../../hooks';
|
|
26
|
+
import { ActionContext } from '../action';
|
|
27
|
+
import { useFieldNames, useInsertSchema } from './hooks';
|
|
28
|
+
import schema from './schema';
|
|
29
|
+
import { flatData, getLabelFormatValue, useLabelUiSchema } from './util';
|
|
30
|
+
var useTableSelectorProps = function useTableSelectorProps() {
|
|
31
|
+
var field = useField();
|
|
32
|
+
var _useContext = useContext(RecordPickerContext),
|
|
33
|
+
multiple = _useContext.multiple,
|
|
34
|
+
_useContext$options = _useContext.options,
|
|
35
|
+
options = _useContext$options === void 0 ? [] : _useContext$options,
|
|
36
|
+
setSelectedRows = _useContext.setSelectedRows,
|
|
37
|
+
_useContext$selectedR = _useContext.selectedRows,
|
|
38
|
+
rcSelectRows = _useContext$selectedR === void 0 ? [] : _useContext$selectedR,
|
|
39
|
+
onChange = _useContext.onChange;
|
|
40
|
+
var _useTsp = useTsp(),
|
|
41
|
+
_onRowSelectionChange = _useTsp.onRowSelectionChange,
|
|
42
|
+
_useTsp$rowKey = _useTsp.rowKey,
|
|
43
|
+
rowKey = _useTsp$rowKey === void 0 ? 'id' : _useTsp$rowKey,
|
|
44
|
+
others = _objectWithoutProperties(_useTsp, _excluded);
|
|
45
|
+
var _useActionContext = useActionContext(),
|
|
46
|
+
setVisible = _useActionContext.setVisible;
|
|
47
|
+
return _objectSpread(_objectSpread({}, others), {}, {
|
|
48
|
+
rowKey: rowKey,
|
|
49
|
+
rowSelection: {
|
|
50
|
+
type: multiple ? 'checkbox' : 'radio',
|
|
51
|
+
selectedRowKeys: rcSelectRows === null || rcSelectRows === void 0 ? void 0 : rcSelectRows.filter(function (item) {
|
|
52
|
+
return options.every(function (row) {
|
|
53
|
+
return row[rowKey] !== item[rowKey];
|
|
54
|
+
});
|
|
55
|
+
}).map(function (item) {
|
|
56
|
+
return item[rowKey];
|
|
57
|
+
})
|
|
58
|
+
},
|
|
59
|
+
onRowSelectionChange: function onRowSelectionChange(selectedRowKeys, selectedRows) {
|
|
60
|
+
if (multiple) {
|
|
61
|
+
var scopeRows = flatData(field.value) || [];
|
|
62
|
+
var allSelectedRows = rcSelectRows || [];
|
|
63
|
+
var otherRows = differenceBy(allSelectedRows, scopeRows, rowKey);
|
|
64
|
+
var unionSelectedRows = unionBy(otherRows, selectedRows, rowKey);
|
|
65
|
+
var unionSelectedRowKeys = unionSelectedRows.map(function (item) {
|
|
66
|
+
return item[rowKey];
|
|
67
|
+
});
|
|
68
|
+
setSelectedRows === null || setSelectedRows === void 0 ? void 0 : setSelectedRows(unionSelectedRows);
|
|
69
|
+
_onRowSelectionChange === null || _onRowSelectionChange === void 0 ? void 0 : _onRowSelectionChange(unionSelectedRowKeys, unionSelectedRows);
|
|
70
|
+
} else {
|
|
71
|
+
setSelectedRows === null || setSelectedRows === void 0 ? void 0 : setSelectedRows(selectedRows);
|
|
72
|
+
_onRowSelectionChange === null || _onRowSelectionChange === void 0 ? void 0 : _onRowSelectionChange(selectedRowKeys, selectedRows);
|
|
73
|
+
onChange((selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows[0]) || null);
|
|
74
|
+
setVisible(false);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
export var InternalPicker = observer(function (props) {
|
|
80
|
+
var value = props.value,
|
|
81
|
+
multiple = props.multiple,
|
|
82
|
+
_onChange = props.onChange,
|
|
83
|
+
quickUpload = props.quickUpload,
|
|
84
|
+
selectFile = props.selectFile,
|
|
85
|
+
others = _objectWithoutProperties(props, _excluded2);
|
|
86
|
+
var field = useField();
|
|
87
|
+
var fieldNames = useFieldNames(props);
|
|
88
|
+
var _useState = useState(false),
|
|
89
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
90
|
+
visibleAddNewer = _useState2[0],
|
|
91
|
+
setVisibleAddNewer = _useState2[1];
|
|
92
|
+
var _useState3 = useState(false),
|
|
93
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
94
|
+
visibleSelector = _useState4[0],
|
|
95
|
+
setVisibleSelector = _useState4[1];
|
|
96
|
+
var fieldSchema = useFieldSchema();
|
|
97
|
+
var insertAddNewer = useInsertSchema('AddNewer');
|
|
98
|
+
var insertSelector = useInsertSchema('Selector');
|
|
99
|
+
var _useCollection = useCollection(),
|
|
100
|
+
getField = _useCollection.getField;
|
|
101
|
+
var _useTranslation = useTranslation(),
|
|
102
|
+
t = _useTranslation.t;
|
|
103
|
+
var collectionField = getField(field.props.name);
|
|
104
|
+
var addbuttonClick = function addbuttonClick() {
|
|
105
|
+
insertAddNewer(schema.AddNewer);
|
|
106
|
+
setVisibleAddNewer(true);
|
|
107
|
+
};
|
|
108
|
+
var compile = useCompile();
|
|
109
|
+
var labelUiSchema = useLabelUiSchema(collectionField, (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label) || 'label');
|
|
110
|
+
var isAllowAddNew = fieldSchema['x-add-new'];
|
|
111
|
+
var _useState5 = useState([]),
|
|
112
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
113
|
+
selectedRows = _useState6[0],
|
|
114
|
+
setSelectedRows = _useState6[1];
|
|
115
|
+
var _useState7 = useState([]),
|
|
116
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
117
|
+
options = _useState8[0],
|
|
118
|
+
setOptions = _useState8[1];
|
|
119
|
+
var pickerProps = {
|
|
120
|
+
size: 'small',
|
|
121
|
+
fieldNames: fieldNames,
|
|
122
|
+
multiple: multiple !== false && ['o2m', 'm2m'].includes(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface),
|
|
123
|
+
association: {
|
|
124
|
+
target: collectionField === null || collectionField === void 0 ? void 0 : collectionField.target
|
|
125
|
+
},
|
|
126
|
+
options: options,
|
|
127
|
+
onChange: props === null || props === void 0 ? void 0 : props.onChange,
|
|
128
|
+
selectedRows: selectedRows,
|
|
129
|
+
setSelectedRows: setSelectedRows,
|
|
130
|
+
collectionField: collectionField
|
|
131
|
+
};
|
|
132
|
+
useEffect(function () {
|
|
133
|
+
if (value && Object.keys(value).length > 0) {
|
|
134
|
+
var opts = (Array.isArray(value) ? value : value ? [value] : []).map(function (option) {
|
|
135
|
+
var label = option[fieldNames.label];
|
|
136
|
+
return _objectSpread(_objectSpread({}, option), {}, _defineProperty({}, fieldNames.label, getLabelFormatValue(compile(labelUiSchema), compile(label))));
|
|
137
|
+
});
|
|
138
|
+
setOptions(opts);
|
|
139
|
+
}
|
|
140
|
+
}, [value, fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label]);
|
|
141
|
+
var getValue = function getValue() {
|
|
142
|
+
if (multiple == null) return null;
|
|
143
|
+
return Array.isArray(value) ? value === null || value === void 0 ? void 0 : value.map(function (v) {
|
|
144
|
+
return v[fieldNames.value];
|
|
145
|
+
}) : value === null || value === void 0 ? void 0 : value[fieldNames.value];
|
|
146
|
+
};
|
|
147
|
+
var getFilter = function getFilter() {
|
|
148
|
+
var targetKey = (collectionField === null || collectionField === void 0 ? void 0 : collectionField.targetKey) || 'id';
|
|
149
|
+
var list = options.map(function (option) {
|
|
150
|
+
return option[targetKey];
|
|
151
|
+
}).filter(Boolean);
|
|
152
|
+
var filter = list.length ? {
|
|
153
|
+
$and: [_defineProperty({}, "".concat(targetKey, ".$ne"), list)]
|
|
154
|
+
} : {};
|
|
155
|
+
return filter;
|
|
156
|
+
};
|
|
157
|
+
var usePickActionProps = function usePickActionProps() {
|
|
158
|
+
var _useActionContext2 = useActionContext(),
|
|
159
|
+
setVisible = _useActionContext2.setVisible;
|
|
160
|
+
var _useContext2 = useContext(RecordPickerContext),
|
|
161
|
+
multiple = _useContext2.multiple,
|
|
162
|
+
selectedRows = _useContext2.selectedRows,
|
|
163
|
+
onChange = _useContext2.onChange,
|
|
164
|
+
options = _useContext2.options,
|
|
165
|
+
collectionField = _useContext2.collectionField;
|
|
166
|
+
return {
|
|
167
|
+
onClick: function onClick() {
|
|
168
|
+
if (multiple) {
|
|
169
|
+
onChange(unionBy(selectedRows, options, (collectionField === null || collectionField === void 0 ? void 0 : collectionField.targetKey) || 'id'));
|
|
170
|
+
} else {
|
|
171
|
+
onChange((selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows[0]) || null);
|
|
172
|
+
}
|
|
173
|
+
setVisible(false);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Input.Group, {
|
|
178
|
+
compact: true,
|
|
179
|
+
style: {
|
|
180
|
+
display: 'flex'
|
|
181
|
+
}
|
|
182
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
183
|
+
style: {
|
|
184
|
+
width: '100%'
|
|
185
|
+
}
|
|
186
|
+
}, /*#__PURE__*/React.createElement(Select, _objectSpread(_objectSpread({
|
|
187
|
+
style: {
|
|
188
|
+
width: '100%'
|
|
189
|
+
}
|
|
190
|
+
}, others), {}, {
|
|
191
|
+
mode: multiple ? 'multiple' : props.mode,
|
|
192
|
+
fieldNames: fieldNames,
|
|
193
|
+
onDropdownVisibleChange: function onDropdownVisibleChange(open) {
|
|
194
|
+
insertSelector(schema.Selector);
|
|
195
|
+
setVisibleSelector(true);
|
|
196
|
+
},
|
|
197
|
+
allowClear: true,
|
|
198
|
+
onChange: function onChange(changed) {
|
|
199
|
+
if (!changed) {
|
|
200
|
+
var _value = multiple ? [] : null;
|
|
201
|
+
_onChange(_value);
|
|
202
|
+
setSelectedRows(_value);
|
|
203
|
+
} else if (Array.isArray(changed)) {
|
|
204
|
+
if (!changed.length) {
|
|
205
|
+
_onChange([]);
|
|
206
|
+
setSelectedRows([]);
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
var values = options === null || options === void 0 ? void 0 : options.filter(function (option) {
|
|
210
|
+
return changed.includes(option[fieldNames.value]);
|
|
211
|
+
});
|
|
212
|
+
_onChange(values);
|
|
213
|
+
setSelectedRows(values);
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
options: options,
|
|
217
|
+
value: getValue(),
|
|
218
|
+
open: false
|
|
219
|
+
}))), isAllowAddNew && /*#__PURE__*/React.createElement(Button, {
|
|
220
|
+
style: {
|
|
221
|
+
width: 'auto'
|
|
222
|
+
},
|
|
223
|
+
type: 'default',
|
|
224
|
+
onClick: function onClick() {
|
|
225
|
+
addbuttonClick();
|
|
226
|
+
}
|
|
227
|
+
}, t('Add new'))), /*#__PURE__*/React.createElement(ActionContext.Provider, {
|
|
228
|
+
value: {
|
|
229
|
+
openMode: 'drawer',
|
|
230
|
+
visible: visibleAddNewer,
|
|
231
|
+
setVisible: setVisibleAddNewer
|
|
232
|
+
}
|
|
233
|
+
}, /*#__PURE__*/React.createElement(CollectionProvider, {
|
|
234
|
+
name: collectionField.target
|
|
235
|
+
}, /*#__PURE__*/React.createElement(RecursionField, {
|
|
236
|
+
onlyRenderProperties: true,
|
|
237
|
+
basePath: field.address,
|
|
238
|
+
schema: fieldSchema,
|
|
239
|
+
filterProperties: function filterProperties(s) {
|
|
240
|
+
return s['x-component'] === 'AssociationField.AddNewer';
|
|
241
|
+
}
|
|
242
|
+
}))), /*#__PURE__*/React.createElement(ActionContext.Provider, {
|
|
243
|
+
value: {
|
|
244
|
+
openMode: 'drawer',
|
|
245
|
+
visible: visibleSelector,
|
|
246
|
+
setVisible: setVisibleSelector
|
|
247
|
+
}
|
|
248
|
+
}, /*#__PURE__*/React.createElement(RecordPickerProvider, _objectSpread({}, pickerProps), /*#__PURE__*/React.createElement(CollectionProvider, {
|
|
249
|
+
name: collectionField.target
|
|
250
|
+
}, /*#__PURE__*/React.createElement(FormProvider, null, /*#__PURE__*/React.createElement(TableSelectorParamsProvider, {
|
|
251
|
+
params: {
|
|
252
|
+
filter: getFilter()
|
|
253
|
+
}
|
|
254
|
+
}, /*#__PURE__*/React.createElement(SchemaComponentOptions, {
|
|
255
|
+
scope: {
|
|
256
|
+
usePickActionProps: usePickActionProps,
|
|
257
|
+
useTableSelectorProps: useTableSelectorProps
|
|
258
|
+
}
|
|
259
|
+
}, /*#__PURE__*/React.createElement(RecursionField, {
|
|
260
|
+
onlyRenderProperties: true,
|
|
261
|
+
basePath: field.address,
|
|
262
|
+
schema: fieldSchema,
|
|
263
|
+
filterProperties: function filterProperties(s) {
|
|
264
|
+
return s['x-component'] === 'AssociationField.Selector';
|
|
265
|
+
}
|
|
266
|
+
}))))))));
|
|
267
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const InternalSubTable: () => JSX.Element;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FormLayout } from '@formily/antd';
|
|
2
|
+
import { RecursionField, useField, useFieldSchema } from '@formily/react';
|
|
3
|
+
import React, { useEffect } from 'react';
|
|
4
|
+
import { CollectionProvider } from '../../../collection-manager';
|
|
5
|
+
import { useAssociationFieldContext, useInsertSchema } from './hooks';
|
|
6
|
+
import schema from './schema';
|
|
7
|
+
export var InternalSubTable = function InternalSubTable() {
|
|
8
|
+
var field = useField();
|
|
9
|
+
var fieldSchema = useFieldSchema();
|
|
10
|
+
var insert = useInsertSchema('SubTable');
|
|
11
|
+
var _useAssociationFieldC = useAssociationFieldContext(),
|
|
12
|
+
options = _useAssociationFieldC.options;
|
|
13
|
+
useEffect(function () {
|
|
14
|
+
insert(schema.SubTable);
|
|
15
|
+
}, []);
|
|
16
|
+
return /*#__PURE__*/React.createElement(CollectionProvider, {
|
|
17
|
+
name: options.target
|
|
18
|
+
}, /*#__PURE__*/React.createElement(FormLayout, {
|
|
19
|
+
layout: 'vertical'
|
|
20
|
+
}, /*#__PURE__*/React.createElement(RecursionField, {
|
|
21
|
+
onlyRenderProperties: true,
|
|
22
|
+
basePath: field.address,
|
|
23
|
+
schema: fieldSchema,
|
|
24
|
+
filterProperties: function filterProperties(s) {
|
|
25
|
+
return s['x-component'] === 'AssociationField.SubTable';
|
|
26
|
+
}
|
|
27
|
+
})));
|
|
28
|
+
};
|