@nocobase/plugin-snapshot-field 0.9.0-alpha.2 → 0.9.1-alpha.2
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/README.md +13 -0
- package/README.zh-CN.md +13 -0
- package/lib/client/SnapshotBlock/SnapshotBlockInitializers/SnapshotBlockInitializers.js +1 -33
- package/lib/client/SnapshotRecordPicker.js +14 -30
- package/lib/client/components/AppendsTreeSelect.d.ts +12 -0
- package/lib/client/components/AppendsTreeSelect.js +191 -0
- package/lib/client/components/SnapshotOwnerCollectionFieldsSelect.d.ts +5 -0
- package/lib/client/components/SnapshotOwnerCollectionFieldsSelect.js +75 -0
- package/lib/client/index.js +9 -4
- package/lib/client/interface.d.ts +2 -1
- package/lib/client/interface.js +174 -103
- package/lib/client/locale/en-US.d.ts +4 -2
- package/lib/client/locale/en-US.js +4 -2
- package/lib/client/locale/zh-CN.d.ts +6 -2
- package/lib/client/locale/zh-CN.js +6 -2
- package/lib/server/collections/collectionsHistory.js +2 -0
- package/lib/server/collections/fieldsHistory.js +2 -0
- package/lib/server/fields/snapshot-field.d.ts +7 -1
- package/lib/server/fields/snapshot-field.js +67 -0
- package/lib/server/plugin.d.ts +2 -0
- package/lib/server/plugin.js +61 -27
- package/package.json +4 -4
- package/src/__tests__/data/field_linkto.ts +12 -0
- package/src/__tests__/data/field_m2m.ts +15 -0
- package/src/__tests__/data/field_o2m.ts +14 -0
- package/src/__tests__/data/field_o2o.ts +14 -0
- package/src/__tests__/data/snap_linkto.ts +12 -0
- package/src/__tests__/data/snap_m2m.ts +12 -0
- package/src/__tests__/data/snap_o2m.ts +12 -0
- package/src/__tests__/data/snap_o2o.ts +13 -0
- package/src/__tests__/data/table_a.ts +37 -0
- package/src/__tests__/data/table_b.ts +37 -0
- package/src/__tests__/data/table_m2m.ts +37 -0
- package/src/__tests__/fieldsHistory.test.ts +62 -0
- package/src/__tests__/snapshots.test.ts +155 -0
- package/src/client/SnapshotBlock/SnapshotBlockInitializers/SnapshotBlockInitializers.tsx +0 -34
- package/src/client/SnapshotRecordPicker.tsx +5 -24
- package/src/client/components/AppendsTreeSelect.tsx +122 -0
- package/src/client/components/SnapshotOwnerCollectionFieldsSelect.tsx +22 -0
- package/src/client/index.tsx +6 -3
- package/src/client/interface.ts +158 -84
- package/src/client/locale/en-US.ts +5 -3
- package/src/client/locale/zh-CN.ts +7 -2
- package/src/server/collections/collectionsHistory.ts +2 -0
- package/src/server/collections/fieldsHistory.ts +2 -0
- package/src/server/fields/snapshot-field.ts +47 -1
- package/src/server/plugin.ts +15 -1
package/README.md
ADDED
package/README.zh-CN.md
ADDED
|
@@ -61,39 +61,7 @@ const SnapshotBlockInitializers = props => {
|
|
|
61
61
|
component: 'MarkdownBlockInitializer'
|
|
62
62
|
}]
|
|
63
63
|
}]
|
|
64
|
-
});
|
|
65
|
-
// return (
|
|
66
|
-
// <SchemaInitializer.Button
|
|
67
|
-
// wrap={gridRowColWrap}
|
|
68
|
-
// title={t('Add block')}
|
|
69
|
-
// icon={'PlusOutlined'}
|
|
70
|
-
// items={[
|
|
71
|
-
// {
|
|
72
|
-
// type: 'itemGroup',
|
|
73
|
-
// title: '{{ t("Data blocks") }}',
|
|
74
|
-
// children: [
|
|
75
|
-
// {
|
|
76
|
-
// type: 'item',
|
|
77
|
-
// title: '{{t("Details")}}',
|
|
78
|
-
// component: 'SnapshotBlockInitializersDetailItem',
|
|
79
|
-
// actionInitializers: 'CalendarFormActionInitializers',
|
|
80
|
-
// },
|
|
81
|
-
// ],
|
|
82
|
-
// },
|
|
83
|
-
// {
|
|
84
|
-
// type: 'itemGroup',
|
|
85
|
-
// title: '{{t("Other blocks")}}',
|
|
86
|
-
// children: [
|
|
87
|
-
// {
|
|
88
|
-
// type: 'item',
|
|
89
|
-
// title: '{{t("Markdown")}}',
|
|
90
|
-
// component: 'MarkdownBlockInitializer',
|
|
91
|
-
// },
|
|
92
|
-
// ],
|
|
93
|
-
// },
|
|
94
|
-
// ]}
|
|
95
|
-
// />
|
|
96
|
-
// );
|
|
64
|
+
});
|
|
97
65
|
};
|
|
98
66
|
|
|
99
67
|
exports.SnapshotBlockInitializers = SnapshotBlockInitializers;
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.SnapshotRecordPicker = void 0;
|
|
7
7
|
|
|
8
8
|
function _react() {
|
|
9
|
-
const data =
|
|
9
|
+
const data = require("@formily/react");
|
|
10
10
|
|
|
11
11
|
_react = function _react() {
|
|
12
12
|
return data;
|
|
@@ -15,20 +15,20 @@ function _react() {
|
|
|
15
15
|
return data;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
function
|
|
19
|
-
const data = require("@
|
|
18
|
+
function _client() {
|
|
19
|
+
const data = require("@nocobase/client");
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
_client = function _client() {
|
|
22
22
|
return data;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
return data;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
function
|
|
29
|
-
const data = require("
|
|
28
|
+
function _react2() {
|
|
29
|
+
const data = _interopRequireDefault(require("react"));
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
_react2 = function _react2() {
|
|
32
32
|
return data;
|
|
33
33
|
};
|
|
34
34
|
|
|
@@ -51,35 +51,19 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
51
51
|
|
|
52
52
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
53
53
|
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const fieldSchema = (0, _react2().useFieldSchema)();
|
|
54
|
+
const ReadPrettyRecordPickerWrapper = props => {
|
|
55
|
+
const fieldSchema = (0, _react().useFieldSchema)();
|
|
58
56
|
|
|
59
57
|
const _useCollection = (0, _client().useCollection)(),
|
|
60
58
|
getField = _useCollection.getField;
|
|
61
59
|
|
|
62
60
|
const collectionField = getField(fieldSchema.name);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
return (_historyCollections$f = historyCollections.find(i => i.name === collectionField.target)) === null || _historyCollections$f === void 0 ? void 0 : _historyCollections$f.name;
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
const ReadPrettyRecordPickerWrapper = props => {
|
|
71
|
-
const collectionName = useSnapshotFieldTargetCollectionName();
|
|
72
|
-
return _react().default.createElement(_SnapshotHistoryCollectionProvider.SnapshotHistoryCollectionProvider, {
|
|
73
|
-
collectionName: collectionName
|
|
74
|
-
}, _react().default.createElement(_client().ReadPrettyRecordPicker, _objectSpread({}, props)));
|
|
61
|
+
return _react2().default.createElement(_SnapshotHistoryCollectionProvider.SnapshotHistoryCollectionProvider, {
|
|
62
|
+
collectionName: collectionField === null || collectionField === void 0 ? void 0 : collectionField.targetCollection
|
|
63
|
+
}, _react2().default.createElement(_client().ReadPrettyRecordPicker, _objectSpread({}, props)));
|
|
75
64
|
};
|
|
76
65
|
|
|
77
|
-
const SnapshotRecordPickerInner = (0,
|
|
78
|
-
const actionCtx = (0, _client().useActionContext)();
|
|
79
|
-
const isUpdateAction = actionCtx.fieldSchema['x-action'] === 'update';
|
|
80
|
-
return isUpdateAction ? _react().default.createElement(ReadPrettyRecordPickerWrapper, _objectSpread({}, props)) : _react().default.createElement(_client().InputRecordPicker, _objectSpread({}, props));
|
|
81
|
-
}, // mapProps(mapSuffixProps),
|
|
82
|
-
(0, _react2().mapReadPretty)(ReadPrettyRecordPickerWrapper));
|
|
66
|
+
const SnapshotRecordPickerInner = (0, _react().connect)(ReadPrettyRecordPickerWrapper, (0, _react().mapReadPretty)(ReadPrettyRecordPickerWrapper));
|
|
83
67
|
|
|
84
68
|
const SnapshotRecordPicker = props => {
|
|
85
69
|
const value = props.value,
|
|
@@ -93,7 +77,7 @@ const SnapshotRecordPicker = props => {
|
|
|
93
77
|
})
|
|
94
78
|
});
|
|
95
79
|
|
|
96
|
-
return
|
|
80
|
+
return _react2().default.createElement(SnapshotRecordPickerInner, _objectSpread({}, newProps));
|
|
97
81
|
};
|
|
98
82
|
|
|
99
83
|
exports.SnapshotRecordPicker = SnapshotRecordPicker;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare type TreeCacheMapNode = {
|
|
3
|
+
parent?: TreeCacheMapNode;
|
|
4
|
+
title: string;
|
|
5
|
+
path: string;
|
|
6
|
+
children?: TreeCacheMapNode[];
|
|
7
|
+
};
|
|
8
|
+
export declare type AppendsTreeSelectProps = {
|
|
9
|
+
value: string[];
|
|
10
|
+
onChange: (value: string[]) => void;
|
|
11
|
+
};
|
|
12
|
+
export declare const AppendsTreeSelect: React.FC<AppendsTreeSelectProps>;
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AppendsTreeSelect = void 0;
|
|
7
|
+
|
|
8
|
+
function _react() {
|
|
9
|
+
const data = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
_react = function _react() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function _antd() {
|
|
19
|
+
const data = require("antd");
|
|
20
|
+
|
|
21
|
+
_antd = function _antd() {
|
|
22
|
+
return data;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function _react2() {
|
|
29
|
+
const data = require("@formily/react");
|
|
30
|
+
|
|
31
|
+
_react2 = function _react2() {
|
|
32
|
+
return data;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
return data;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function _client() {
|
|
39
|
+
const data = require("@nocobase/client");
|
|
40
|
+
|
|
41
|
+
_client = function _client() {
|
|
42
|
+
return data;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
return data;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
var _locale = require("../locale");
|
|
49
|
+
|
|
50
|
+
var _interface = require("../interface");
|
|
51
|
+
|
|
52
|
+
const _excluded = ["value", "onChange"];
|
|
53
|
+
|
|
54
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
55
|
+
|
|
56
|
+
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; }
|
|
57
|
+
|
|
58
|
+
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; }
|
|
59
|
+
|
|
60
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
61
|
+
|
|
62
|
+
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; }
|
|
63
|
+
|
|
64
|
+
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; }
|
|
65
|
+
|
|
66
|
+
const AppendsTreeSelect = props => {
|
|
67
|
+
var _getCollectionField;
|
|
68
|
+
|
|
69
|
+
const _props$value = props.value,
|
|
70
|
+
value = _props$value === void 0 ? [] : _props$value,
|
|
71
|
+
onChange = props.onChange,
|
|
72
|
+
restProps = _objectWithoutProperties(props, _excluded);
|
|
73
|
+
|
|
74
|
+
const record = (0, _interface.useTopRecord)();
|
|
75
|
+
|
|
76
|
+
const _useCollectionManager = (0, _client().useCollectionManager)(),
|
|
77
|
+
getCollectionFields = _useCollectionManager.getCollectionFields,
|
|
78
|
+
getCollectionField = _useCollectionManager.getCollectionField;
|
|
79
|
+
|
|
80
|
+
const compile = (0, _client().useCompile)();
|
|
81
|
+
const formValues = (0, _react2().useForm)().values;
|
|
82
|
+
|
|
83
|
+
const _useSnapshotTranslati = (0, _locale.useSnapshotTranslation)(),
|
|
84
|
+
t = _useSnapshotTranslati.t;
|
|
85
|
+
|
|
86
|
+
const fieldsToOptions = (fields = [], fieldPath = []) => {
|
|
87
|
+
const filter = i => !!i.target && !!i.interface && !fieldPath.find(p => p.target === i.target);
|
|
88
|
+
|
|
89
|
+
return fields.filter(filter).map(i => {
|
|
90
|
+
var _compile, _i$uiSchema;
|
|
91
|
+
|
|
92
|
+
return {
|
|
93
|
+
title: (_compile = compile((_i$uiSchema = i.uiSchema) === null || _i$uiSchema === void 0 ? void 0 : _i$uiSchema.title)) !== null && _compile !== void 0 ? _compile : i.name,
|
|
94
|
+
value: fieldPath.map(p => p.name).concat(i.name).join('.'),
|
|
95
|
+
children: fieldsToOptions(getCollectionFields(i.target), [...fieldPath, i])
|
|
96
|
+
};
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
const treeData = fieldsToOptions(getCollectionFields((_getCollectionField = getCollectionField(`${record.name}.${formValues.targetField}`)) === null || _getCollectionField === void 0 ? void 0 : _getCollectionField.target));
|
|
101
|
+
const valueMap = {};
|
|
102
|
+
|
|
103
|
+
function loops(list, parent) {
|
|
104
|
+
return (list || []).map(({
|
|
105
|
+
children,
|
|
106
|
+
value,
|
|
107
|
+
title
|
|
108
|
+
}) => {
|
|
109
|
+
const node = valueMap[value] = {
|
|
110
|
+
parent,
|
|
111
|
+
path: value,
|
|
112
|
+
title
|
|
113
|
+
};
|
|
114
|
+
node.children = loops(children, node);
|
|
115
|
+
return node;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
loops(treeData);
|
|
120
|
+
|
|
121
|
+
const handleChange = newNodes => {
|
|
122
|
+
const newValue = newNodes.map(i => i.value);
|
|
123
|
+
const valueSet = new Set(newValue);
|
|
124
|
+
const delValue = value.find(i => !newValue.includes(i));
|
|
125
|
+
|
|
126
|
+
if (delValue) {
|
|
127
|
+
const delNode = valueMap[delValue];
|
|
128
|
+
|
|
129
|
+
const delNodeValue = node => {
|
|
130
|
+
var _node$children;
|
|
131
|
+
|
|
132
|
+
valueSet.delete(node.path);
|
|
133
|
+
(_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.forEach(child => delNodeValue(child));
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
delNodeValue(delNode);
|
|
137
|
+
} else {
|
|
138
|
+
newValue.forEach(v => {
|
|
139
|
+
let current = valueMap[v];
|
|
140
|
+
|
|
141
|
+
while (current = current.parent) {
|
|
142
|
+
valueSet.add(current.path);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
onChange(Array.from(valueSet));
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
const TreeTag = props => {
|
|
151
|
+
var _node;
|
|
152
|
+
|
|
153
|
+
const value = props.value,
|
|
154
|
+
onClose = props.onClose,
|
|
155
|
+
disabled = props.disabled,
|
|
156
|
+
closable = props.closable;
|
|
157
|
+
let node = valueMap[value];
|
|
158
|
+
let text = (_node = node) === null || _node === void 0 ? void 0 : _node.title;
|
|
159
|
+
|
|
160
|
+
while (node = (_node2 = node) === null || _node2 === void 0 ? void 0 : _node2.parent) {
|
|
161
|
+
var _node2;
|
|
162
|
+
|
|
163
|
+
text = `${node.title} / ${text}`;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return _react().default.createElement(_antd().Tag, {
|
|
167
|
+
closable: closable && !disabled,
|
|
168
|
+
onClose: onClose
|
|
169
|
+
}, text);
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
const filterdValue = Array.isArray(value) ? value.filter(i => i in valueMap) : value;
|
|
173
|
+
return _react().default.createElement(_antd().TreeSelect, _objectSpread({
|
|
174
|
+
value: filterdValue,
|
|
175
|
+
dropdownStyle: {
|
|
176
|
+
maxHeight: 400,
|
|
177
|
+
overflow: 'auto'
|
|
178
|
+
},
|
|
179
|
+
placeholder: t('Please select'),
|
|
180
|
+
showCheckedStrategy: "SHOW_ALL",
|
|
181
|
+
allowClear: true,
|
|
182
|
+
multiple: true,
|
|
183
|
+
treeCheckStrictly: true,
|
|
184
|
+
treeCheckable: true,
|
|
185
|
+
tagRender: TreeTag,
|
|
186
|
+
onChange: handleChange,
|
|
187
|
+
treeData: treeData
|
|
188
|
+
}, restProps));
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
exports.AppendsTreeSelect = AppendsTreeSelect;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SelectProps } from 'antd';
|
|
3
|
+
export declare type SnapshotOwnerCollectionFieldsSelectProps = Omit<SelectProps, 'options'>;
|
|
4
|
+
export declare const useSnapshotOwnerCollectionFields: () => any;
|
|
5
|
+
export declare const SnapshotOwnerCollectionFieldsSelect: React.FC<SnapshotOwnerCollectionFieldsSelectProps>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useSnapshotOwnerCollectionFields = exports.SnapshotOwnerCollectionFieldsSelect = void 0;
|
|
7
|
+
|
|
8
|
+
function _react() {
|
|
9
|
+
const data = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
_react = function _react() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function _antd() {
|
|
19
|
+
const data = require("antd");
|
|
20
|
+
|
|
21
|
+
_antd = function _antd() {
|
|
22
|
+
return data;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
var _interface = require("../interface");
|
|
29
|
+
|
|
30
|
+
function _client() {
|
|
31
|
+
const data = require("@nocobase/client");
|
|
32
|
+
|
|
33
|
+
_client = function _client() {
|
|
34
|
+
return data;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
41
|
+
|
|
42
|
+
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; }
|
|
43
|
+
|
|
44
|
+
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; }
|
|
45
|
+
|
|
46
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
47
|
+
|
|
48
|
+
const useSnapshotOwnerCollectionFields = () => {
|
|
49
|
+
const record = (0, _interface.useTopRecord)();
|
|
50
|
+
|
|
51
|
+
const _useCollectionManager = (0, _client().useCollectionManager)(),
|
|
52
|
+
getCollection = _useCollectionManager.getCollection;
|
|
53
|
+
|
|
54
|
+
const collection = getCollection(record.name);
|
|
55
|
+
const compile = (0, _client().useCompile)();
|
|
56
|
+
return collection.fields.filter(i => !!i.target && !!i.interface).map(i => {
|
|
57
|
+
var _i$uiSchema;
|
|
58
|
+
|
|
59
|
+
return _objectSpread(_objectSpread({}, i), {}, {
|
|
60
|
+
label: compile((_i$uiSchema = i.uiSchema) === null || _i$uiSchema === void 0 ? void 0 : _i$uiSchema.title),
|
|
61
|
+
value: i.name
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
exports.useSnapshotOwnerCollectionFields = useSnapshotOwnerCollectionFields;
|
|
67
|
+
|
|
68
|
+
const SnapshotOwnerCollectionFieldsSelect = props => {
|
|
69
|
+
const options = useSnapshotOwnerCollectionFields();
|
|
70
|
+
return _react().default.createElement(_antd().Select, _objectSpread({
|
|
71
|
+
options: options
|
|
72
|
+
}, props));
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
exports.SnapshotOwnerCollectionFieldsSelect = SnapshotOwnerCollectionFieldsSelect;
|
package/lib/client/index.js
CHANGED
|
@@ -35,6 +35,10 @@ var _SnapshotBlockInitializersDetailItem = require("./SnapshotBlock/SnapshotBloc
|
|
|
35
35
|
|
|
36
36
|
var _SnapshotBlockProvider = require("./SnapshotBlock/SnapshotBlockProvider");
|
|
37
37
|
|
|
38
|
+
var _AppendsTreeSelect = require("./components/AppendsTreeSelect");
|
|
39
|
+
|
|
40
|
+
var _SnapshotOwnerCollectionFieldsSelect = require("./components/SnapshotOwnerCollectionFieldsSelect");
|
|
41
|
+
|
|
38
42
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
43
|
|
|
40
44
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -47,13 +51,12 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
47
51
|
|
|
48
52
|
var _default = _react().default.memo(props => {
|
|
49
53
|
const initializers = (0, _react().useContext)(_client().SchemaInitializerContext);
|
|
50
|
-
const snapshot = (0, _interface.useSnapshotInterface)();
|
|
51
54
|
(0, _react().useEffect)(() => {
|
|
52
|
-
(0, _client().registerField)(snapshot.group, snapshot.name, snapshot);
|
|
55
|
+
(0, _client().registerField)(_interface.snapshot.group, _interface.snapshot.name, _interface.snapshot);
|
|
53
56
|
}, []);
|
|
54
57
|
return _react().default.createElement(_client().CollectionManagerProvider, {
|
|
55
58
|
interfaces: {
|
|
56
|
-
snapshot
|
|
59
|
+
snapshot: _interface.snapshot
|
|
57
60
|
}
|
|
58
61
|
}, _react().default.createElement(_client().CollectionHistoryProvider, null, _react().default.createElement(_client().SchemaInitializerProvider, {
|
|
59
62
|
initializers: _objectSpread(_objectSpread({}, initializers), {}, {
|
|
@@ -63,7 +66,9 @@ var _default = _react().default.memo(props => {
|
|
|
63
66
|
components: {
|
|
64
67
|
SnapshotRecordPicker: _SnapshotRecordPicker.SnapshotRecordPicker,
|
|
65
68
|
SnapshotBlockProvider: _SnapshotBlockProvider.SnapshotBlockProvider,
|
|
66
|
-
SnapshotBlockInitializersDetailItem: _SnapshotBlockInitializersDetailItem.SnapshotBlockInitializersDetailItem
|
|
69
|
+
SnapshotBlockInitializersDetailItem: _SnapshotBlockInitializersDetailItem.SnapshotBlockInitializersDetailItem,
|
|
70
|
+
AppendsTreeSelect: _AppendsTreeSelect.AppendsTreeSelect,
|
|
71
|
+
SnapshotOwnerCollectionFieldsSelect: _SnapshotOwnerCollectionFieldsSelect.SnapshotOwnerCollectionFieldsSelect
|
|
67
72
|
}
|
|
68
73
|
}, props.children))));
|
|
69
74
|
});
|