@tachybase/client 1.3.20 → 1.3.21

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.
Files changed (91) hide show
  1. package/es/application/Application.mjs +1 -9
  2. package/es/application/components/index.d.ts +0 -2
  3. package/es/application/components/index.mjs +0 -2
  4. package/es/application/schema-initializer/context/index.d.ts +1 -1
  5. package/es/application/utils/globalDeps.mjs +1 -1
  6. package/es/block-provider/hooks/index.mjs +1 -1
  7. package/es/built-in/index.d.ts +2 -1
  8. package/es/built-in/index.mjs +3 -2
  9. package/es/collection-manager/collectionPlugin.mjs +36 -0
  10. package/es/collection-manager/interfaces/url.d.ts +4 -0
  11. package/es/collection-manager/interfaces/url.mjs +10 -1
  12. package/es/collection-manager/templates/sql.d.ts +3 -3
  13. package/es/collection-manager/templates/view.d.ts +3 -3
  14. package/es/data-source/collection-field-interface/CollectionFieldInterface.mjs +1 -15
  15. package/es/modules/blocks/data-blocks/form/fieldSettingsFormItem.mjs +1 -4
  16. package/es/modules/blocks/data-blocks/table/hooks/useTableBlockProps.mjs +14 -2
  17. package/es/modules/blocks/data-blocks/table/tableColumnSettings.mjs +1 -3
  18. package/es/modules/blocks/filter-blocks/collapse/filterCollapseItemFieldSettings.mjs +0 -4
  19. package/es/modules/blocks/filter-blocks/form/filterFormItemFieldSettings.mjs +0 -4
  20. package/es/modules/fields/component/CustomTitle/customTitleComponentFieldSettings.mjs +95 -5
  21. package/es/modules/fields/component/InputPreview/inputPreviewComponentFieldSettings.d.ts +2 -0
  22. package/es/modules/fields/component/InputPreview/inputPreviewComponentFieldSettings.mjs +99 -0
  23. package/es/modules/fields/component/MultipleSelect/multipleSelectComponentFieldSettings.d.ts +2 -0
  24. package/es/modules/fields/component/MultipleSelect/multipleSelectComponentFieldSettings.mjs +64 -0
  25. package/es/modules/fields/component/Radio/radioComponentFieldSettings.mjs +15 -2
  26. package/es/modules/fields/component/Select/selectComponentFieldSettings.mjs +26 -7
  27. package/es/schema-component/antd/association-field/InternalViewer.mjs +4 -58
  28. package/es/schema-component/antd/association-field/hooks.d.ts +4 -0
  29. package/es/schema-component/antd/association-field/hooks.mjs +52 -1
  30. package/es/schema-component/antd/input/Input.mjs +2 -1
  31. package/es/schema-component/antd/input/ReadPretty.d.ts +1 -0
  32. package/es/schema-component/antd/input/ReadPretty.mjs +29 -1
  33. package/es/schema-component/antd/page/Page.Settings.mjs +0 -33
  34. package/es/schema-component/antd/page/Page.mjs +46 -95
  35. package/es/schema-component/antd/page/hooks/index.d.ts +1 -1
  36. package/es/schema-component/antd/page/hooks/index.mjs +1 -1
  37. package/es/schema-component/antd/page/index.d.ts +1 -0
  38. package/es/schema-component/antd/page/index.mjs +1 -0
  39. package/es/schema-component/antd/page/pageExtendComponentProvider.d.ts +3 -0
  40. package/es/schema-component/antd/page/pageExtendComponentProvider.mjs +9 -0
  41. package/es/schema-component/antd/page/style.d.ts +0 -5
  42. package/es/schema-component/antd/page/style.mjs +1 -45
  43. package/es/schema-component/antd/select/FormulaSelect.mjs +16 -4
  44. package/es/schema-component/antd/select/ReadPretty.mjs +16 -3
  45. package/es/schema-component/antd/select/Select.mjs +6 -1
  46. package/es/schema-component/hooks/useFieldModeOptions.mjs +13 -10
  47. package/es/schema-settings/EditFormulaTitleField.mjs +19 -1
  48. package/es/schema-settings/SchemaSettingsPlugin.mjs +4 -0
  49. package/lib/application/Application.js +0 -8
  50. package/lib/application/components/index.js +0 -18
  51. package/lib/block-provider/hooks/index.js +1 -1
  52. package/lib/built-in/index.js +30 -4
  53. package/lib/collection-manager/collectionPlugin.js +36 -0
  54. package/lib/collection-manager/interfaces/url.js +10 -1
  55. package/lib/data-source/collection-field-interface/CollectionFieldInterface.js +1 -15
  56. package/lib/locale/zh-CN.js +1 -0
  57. package/lib/modules/blocks/data-blocks/form/fieldSettingsFormItem.js +0 -3
  58. package/lib/modules/blocks/data-blocks/table/hooks/useTableBlockProps.js +14 -2
  59. package/lib/modules/blocks/data-blocks/table/tableColumnSettings.js +1 -3
  60. package/lib/modules/blocks/filter-blocks/collapse/filterCollapseItemFieldSettings.js +0 -4
  61. package/lib/modules/blocks/filter-blocks/form/filterFormItemFieldSettings.js +0 -4
  62. package/lib/modules/fields/component/CustomTitle/customTitleComponentFieldSettings.js +93 -3
  63. package/lib/modules/fields/component/InputPreview/inputPreviewComponentFieldSettings.js +133 -0
  64. package/lib/modules/fields/component/MultipleSelect/multipleSelectComponentFieldSettings.js +98 -0
  65. package/lib/modules/fields/component/Radio/radioComponentFieldSettings.js +16 -3
  66. package/lib/modules/fields/component/Select/selectComponentFieldSettings.js +23 -4
  67. package/lib/schema-component/antd/association-field/InternalViewer.js +1 -55
  68. package/lib/schema-component/antd/association-field/hooks.js +54 -0
  69. package/lib/schema-component/antd/input/Input.js +2 -1
  70. package/lib/schema-component/antd/input/ReadPretty.js +28 -0
  71. package/lib/schema-component/antd/page/Page.Settings.js +0 -33
  72. package/lib/schema-component/antd/page/Page.js +41 -90
  73. package/lib/schema-component/antd/page/hooks/index.js +5 -5
  74. package/lib/schema-component/antd/page/index.js +9 -0
  75. package/lib/{application/components/ShareSchemaComponent.js → schema-component/antd/page/pageExtendComponentProvider.js} +15 -10
  76. package/lib/schema-component/antd/page/style.js +2 -49
  77. package/lib/schema-component/antd/select/FormulaSelect.js +16 -4
  78. package/lib/schema-component/antd/select/ReadPretty.js +15 -2
  79. package/lib/schema-component/antd/select/Select.js +6 -1
  80. package/lib/schema-component/hooks/useFieldModeOptions.js +13 -10
  81. package/lib/schema-settings/EditFormulaTitleField.js +19 -1
  82. package/lib/schema-settings/SchemaSettingsPlugin.js +4 -0
  83. package/package.json +7 -7
  84. package/es/application/components/SharePage.d.ts +0 -4
  85. package/es/application/components/SharePage.mjs +0 -113
  86. package/es/application/components/ShareSchemaComponent.d.ts +0 -1
  87. package/es/application/components/ShareSchemaComponent.mjs +0 -10
  88. package/es/schema-component/antd/page/hooks/useShareActions.d.ts +0 -7
  89. package/es/schema-component/antd/page/hooks/useShareActions.mjs +0 -242
  90. package/lib/application/components/SharePage.js +0 -156
  91. package/lib/schema-component/antd/page/hooks/useShareActions.js +0 -286
@@ -1,40 +1,4 @@
1
- import { createStyles } from "antd-style";
2
1
  import { genStyleHook } from "../__builtins__/index.mjs";
3
- function _tagged_template_literal(strings, raw) {
4
- if (!raw) raw = strings.slice(0);
5
- return Object.freeze(Object.defineProperties(strings, {
6
- raw: {
7
- value: Object.freeze(raw)
8
- }
9
- }));
10
- }
11
- function _templateObject() {
12
- const data = _tagged_template_literal([
13
- "\n .ant-modal-content {\n position: relative;\n overflow: hidden;\n border-radius: 16px;\n &::before,\n &::after {\n content: '';\n position: absolute;\n width: 300px;\n height: 300px;\n background: radial-gradient(circle, rgba(0, 149, 255, 0.11) 0%, transparent 70%);\n z-index: 0;\n pointer-events: none;\n }\n\n &::before {\n top: -165px;\n left: -10px;\n }\n\n &::after {\n bottom: -160px;\n right: -150px;\n }\n .ant-modal-header {\n text-align: center;\n margin-bottom: 20px;\n margin-top: 15px;\n .ant-modal-title {\n font-size: x-large;\n font-weight: 400;\n }\n }\n .ant-modal-body {\n justify-items: center;\n }\n }\n "
14
- ]);
15
- _templateObject = function() {
16
- return data;
17
- };
18
- return data;
19
- }
20
- function _templateObject1() {
21
- const data = _tagged_template_literal([
22
- "\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n margin-top: 20px;\n margin-bottom: 40px;\n position: relative;\n gap: 20%;\n padding-left: 10%;\n padding-right: 10%;\n .tb-header-modal-list {\n width: 50%;\n gap: 10px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n text-align: center;\n border: 1px solid transparent;\n border-color: rgba(203, 227, 254, 0.62);\n box-shadow: none;\n border-radius: 12px;\n padding: 16px;\n transition:\n box-shadow 0.2s ease,\n transform 0.2s ease;\n z-index: 1;\n position: relative;\n &:hover {\n border-color: rgba(0, 120, 255, 0.3);\n box-shadow: 0 4px 16px rgba(0, 120, 255, 0.15);\n }\n &:active {\n box-shadow: none;\n transform: translateY(2px);\n }\n .anticon {\n width: 100%;\n display: flex;\n justify-content: center;\n svg {\n width: 30px;\n height: 30px;\n }\n }\n .tb-header-modal-list-text {\n text-align: center;\n }\n }\n "
23
- ]);
24
- _templateObject1 = function() {
25
- return data;
26
- };
27
- return data;
28
- }
29
- function _templateObject2() {
30
- const data = _tagged_template_literal([
31
- "\n display: flex;\n justify-content: center;\n .ant-modal-content {\n width: 280px;\n height: 360px;\n }\n "
32
- ]);
33
- _templateObject2 = function() {
34
- return data;
35
- };
36
- return data;
37
- }
38
2
  const getStyles = genStyleHook('tb-page', (token)=>{
39
3
  const { componentCls } = token;
40
4
  return {
@@ -179,12 +143,4 @@ const getStyles = genStyleHook('tb-page', (token)=>{
179
143
  }
180
144
  };
181
145
  });
182
- const useStyles = createStyles((param)=>{
183
- let { css, token } = param;
184
- return {
185
- firstmodal: css(_templateObject()),
186
- secondmodal: css(_templateObject1()),
187
- imageModal: css(_templateObject2())
188
- };
189
- });
190
- export { getStyles, useStyles };
146
+ export { getStyles };
@@ -103,6 +103,7 @@ const useLabelOptions = (others)=>{
103
103
  const collectionField = useMemo(()=>getField(fieldSchema['x-collection-field']), [
104
104
  fieldSchema['x-collection-field']
105
105
  ]);
106
+ if (!(null == collectionField ? void 0 : collectionField.target) && !fieldSchema['collectionName']) return others;
106
107
  const request = {
107
108
  resource: (null == collectionField ? void 0 : collectionField.target) || fieldSchema['collectionName'],
108
109
  action: 'list',
@@ -151,16 +152,18 @@ const useLabelOptions = (others)=>{
151
152
  }
152
153
  return others;
153
154
  };
154
- const FormulaSelect_FormulaSelect = (props)=>{
155
+ const FormulaSelect = (props)=>{
155
156
  const { objectValue, loading, value, rawOptions, defaultValue, ...others } = props;
156
157
  let mode = props.multiple ? 'multiple' : props.mode;
157
158
  const filterField = null == others ? void 0 : others['params'];
158
159
  const [options, setOptions] = useState([]);
159
160
  const [collectionName, setCollectionName] = useState('');
161
+ const fieldSchema = useFieldSchema();
160
162
  const api = useAPIClient();
161
163
  if (mode && ![
162
164
  'multiple',
163
- 'tags'
165
+ 'tags',
166
+ 'CustomTitle'
164
167
  ].includes(mode)) mode = void 0;
165
168
  const fieldProps = {
166
169
  ...others
@@ -182,6 +185,7 @@ const FormulaSelect_FormulaSelect = (props)=>{
182
185
  } else if ((null == others ? void 0 : others.collection) === collectionName) fieldProps['options'] = options.map((option)=>({
183
186
  ...option
184
187
  }));
188
+ else fieldProps['options'] = getFormulaValue(props.fieldNames['formula'], (null == props ? void 0 : props.options) || [], fieldSchema);
185
189
  const modifiedProps = useLabelOptions(fieldProps);
186
190
  return /*#__PURE__*/ jsx(ObjectSelect, {
187
191
  rawOptions: rawOptions,
@@ -192,5 +196,13 @@ const FormulaSelect_FormulaSelect = (props)=>{
192
196
  loading: loading
193
197
  });
194
198
  };
195
- const FormulaSelect = FormulaSelect_FormulaSelect;
196
- export { FormulaSelect as default };
199
+ const select_FormulaSelect = FormulaSelect;
200
+ const getFormulaValue = (template, options, fieldSchema)=>options.map((item)=>{
201
+ const label = item.label;
202
+ const customLabel = template.replace(new RegExp("{{".concat(fieldSchema['name'], "}}"), 'g'), label);
203
+ return {
204
+ ...item,
205
+ label: customLabel
206
+ };
207
+ });
208
+ export { select_FormulaSelect as default };
@@ -1,12 +1,12 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import "react";
3
- import { isArrayField, isValid, observer, useField } from "@tachybase/schema";
3
+ import { isArrayField, isValid, observer, useField, useFieldSchema } from "@tachybase/schema";
4
4
  import { Tag } from "antd";
5
5
  import { useCollectionField } from "../../../data-source/collection-field/CollectionFieldProvider.mjs";
6
6
  import { EllipsisWithTooltip } from "../input/EllipsisWithTooltip.mjs";
7
7
  import { defaultFieldNames, getCurrentOptions } from "./utils.mjs";
8
8
  const ReadPretty = observer((props)=>{
9
- var _field_value;
9
+ var _field_value, _fieldSchema_xcomponentprops_fieldNames;
10
10
  const fieldNames = {
11
11
  ...defaultFieldNames,
12
12
  ...props.fieldNames
@@ -15,8 +15,10 @@ const ReadPretty = observer((props)=>{
15
15
  if (!isValid(props.value)) return /*#__PURE__*/ jsx("div", {});
16
16
  if (isArrayField(field) && (null == field ? void 0 : null == (_field_value = field.value) ? void 0 : _field_value.length) === 0) return /*#__PURE__*/ jsx("div", {});
17
17
  const collectionField = useCollectionField();
18
+ const fieldSchema = useFieldSchema();
18
19
  const dataSource = field.dataSource || props.options || (null == collectionField ? void 0 : collectionField.uiSchema.enum) || [];
19
- const currentOptions = getCurrentOptions(field.value, dataSource, fieldNames);
20
+ const options = getCurrentOptions(field.value, dataSource, fieldNames);
21
+ const currentOptions = getFormulaValue(null == (_fieldSchema_xcomponentprops_fieldNames = fieldSchema['x-component-props'].fieldNames) ? void 0 : _fieldSchema_xcomponentprops_fieldNames['formula'], options, fieldSchema);
20
22
  return /*#__PURE__*/ jsx("div", {
21
23
  children: /*#__PURE__*/ jsx(EllipsisWithTooltip, {
22
24
  ellipsis: props.ellipsis,
@@ -30,4 +32,15 @@ const ReadPretty = observer((props)=>{
30
32
  }, {
31
33
  displayName: 'ReadPretty'
32
34
  });
35
+ const getFormulaValue = (template, options, fieldSchema)=>{
36
+ if (!template) return options;
37
+ return options.map((item)=>{
38
+ const label = item.label;
39
+ const customLabel = template.replace(new RegExp("{{".concat(fieldSchema['name'], "}}"), 'g'), label);
40
+ return {
41
+ ...item,
42
+ label: customLabel
43
+ };
44
+ });
45
+ };
33
46
  export { ReadPretty };
@@ -81,8 +81,12 @@ const InternalSelect = connect((props)=>{
81
81
  let mode = props.multiple ? 'multiple' : props.mode;
82
82
  if (mode && ![
83
83
  'multiple',
84
- 'tags'
84
+ 'tags',
85
+ 'CustomTitle'
85
86
  ].includes(mode)) mode = void 0;
87
+ let options = props.options ? [
88
+ ...props.options
89
+ ] : [];
86
90
  if ([
87
91
  'CustomTitle'
88
92
  ].includes(props.mode) && ('formula' in others.fieldNames || 'collection' in props)) return /*#__PURE__*/ jsx(FormulaSelect, {
@@ -117,6 +121,7 @@ const InternalSelect = connect((props)=>{
117
121
  "aria-label": "icon-close-select"
118
122
  })
119
123
  },
124
+ options: options,
120
125
  popupMatchSelectWidth: false,
121
126
  notFoundContent: loading ? /*#__PURE__*/ jsx(Spin, {}) : /*#__PURE__*/ jsx(Empty, {
122
127
  image: Empty.PRESENTED_IMAGE_SIMPLE
@@ -2,8 +2,10 @@ import { useMemo } from "react";
2
2
  import { useField, useFieldSchema, useForm } from "@tachybase/schema";
3
3
  import { useTranslation } from "react-i18next";
4
4
  import { useCollectionManager_deprecated, useCollection_deprecated } from "../../collection-manager/index.mjs";
5
+ import { useDataSourceManager } from "../../data-source/index.mjs";
6
+ import { useCompile } from "./useCompile.mjs";
5
7
  const useFieldModeOptions = (props)=>{
6
- var _fieldSchema_xcomponentprops;
8
+ var _fieldSchema_xcomponentprops, _collectionInterface_componentOptions_filter, _collectionInterface_componentOptions;
7
9
  const { t } = useTranslation();
8
10
  const { getCollectionJoinField, getCollection } = useCollectionManager_deprecated();
9
11
  const currentFieldSchema = useFieldSchema();
@@ -11,12 +13,15 @@ const useFieldModeOptions = (props)=>{
11
13
  const field = useField();
12
14
  const form = useForm();
13
15
  const isReadPretty = (null == fieldSchema ? void 0 : fieldSchema['x-read-pretty']) || field.readPretty || form.readPretty;
16
+ const dm = useDataSourceManager();
14
17
  const isTableField = null == props ? void 0 : props.fieldSchema;
15
18
  const { getField } = useCollection_deprecated();
16
19
  const collectionField = (null == props ? void 0 : props.collectionField) || getField(fieldSchema['name']) || getCollectionJoinField(fieldSchema['x-collection-field']);
20
+ const collectionInterface = dm.collectionFieldInterfaceManager.getFieldInterface(null == collectionField ? void 0 : collectionField.interface);
17
21
  const { label } = (null == (_fieldSchema_xcomponentprops = fieldSchema['x-component-props']) ? void 0 : _fieldSchema_xcomponentprops.fieldNames) || {};
22
+ const compile = useCompile();
18
23
  const fieldModeOptions = useMemo(()=>{
19
- if (!collectionField || !(null == collectionField ? void 0 : collectionField.interface)) return;
24
+ if (!collectionField || !(null == collectionField ? void 0 : collectionField.interface)) return [];
20
25
  if (![
21
26
  'o2o',
22
27
  'oho',
@@ -206,10 +211,6 @@ const useFieldModeOptions = (props)=>{
206
211
  label: t('Tag'),
207
212
  value: 'Tag'
208
213
  },
209
- {
210
- label: t('Custom Title'),
211
- value: 'CustomTitle'
212
- },
213
214
  !isTableField && {
214
215
  label: t('Sub-details'),
215
216
  value: 'Nester'
@@ -238,10 +239,6 @@ const useFieldModeOptions = (props)=>{
238
239
  {
239
240
  label: t('Cascader'),
240
241
  value: 'Cascader'
241
- },
242
- {
243
- label: t('Custom Title'),
244
- value: 'CustomTitle'
245
242
  }
246
243
  ];
247
244
  default:
@@ -286,6 +283,12 @@ const useFieldModeOptions = (props)=>{
286
283
  null == collectionField ? void 0 : collectionField.interface,
287
284
  label
288
285
  ]);
286
+ null == collectionInterface || null == (_collectionInterface_componentOptions = collectionInterface.componentOptions) || null == (_collectionInterface_componentOptions_filter = _collectionInterface_componentOptions.filter((item)=>!item.useVisible || item.useVisible())) || _collectionInterface_componentOptions_filter.forEach((item)=>{
287
+ if (!(null == fieldModeOptions ? void 0 : fieldModeOptions.find((modeItem)=>modeItem.value === item.value))) null == fieldModeOptions || fieldModeOptions.push({
288
+ label: compile(item.label),
289
+ value: item.value
290
+ });
291
+ });
289
292
  return (fieldModeOptions || []).filter(Boolean);
290
293
  };
291
294
  export { useFieldModeOptions };
@@ -15,6 +15,12 @@ function useFormulaTitleOptions() {
15
15
  const collectionManage = useCollectionManager_deprecated();
16
16
  const collectionManageField = collectionManage.collections.filter((value)=>value.name === fieldSchema['x-decorator-props'])[0];
17
17
  const collectionField = getField(fieldSchema['name']) || getCollectionJoinField(fieldSchema['x-collection-field']);
18
+ const isAssociationField = collectionField && [
19
+ 'hasOne',
20
+ 'hasMany',
21
+ 'belongsTo',
22
+ 'belongsToMany'
23
+ ].includes(collectionField.type);
18
24
  let fields = [];
19
25
  if (collectionField) fields = getCollectionFields(collectionField ? collectionField.target ? collectionField.target : collectionField.collectionName : fieldSchema['name']);
20
26
  else if (collectionManageField) fields = collectionManageField['fields'];
@@ -23,7 +29,7 @@ function useFormulaTitleOptions() {
23
29
  if (![
24
30
  'm2m',
25
31
  'o2m'
26
- ].includes(field.interface)) {
32
+ ].includes(field.interface) && isAssociationField) {
27
33
  if (field.uiSchema) {
28
34
  var _getCollectionFields;
29
35
  var _getCollectionFields_filter_map;
@@ -37,6 +43,18 @@ function useFormulaTitleOptions() {
37
43
  });
38
44
  }
39
45
  }
46
+ if (!isAssociationField && field.name === fieldSchema['name']) {
47
+ var _getCollectionFields1;
48
+ var _getCollectionFields_filter_map1;
49
+ options.push({
50
+ label: compile(field.uiSchema.title),
51
+ value: field.name,
52
+ children: null != (_getCollectionFields_filter_map1 = null == (_getCollectionFields1 = getCollectionFields(field.target)) ? void 0 : _getCollectionFields1.filter((subField)=>subField.uiSchema).map((subField)=>({
53
+ label: subField.uiSchema ? compile(subField.uiSchema.title) : '',
54
+ value: subField.name
55
+ }))) ? _getCollectionFields_filter_map1 : []
56
+ });
57
+ }
40
58
  });
41
59
  return options;
42
60
  }
@@ -43,6 +43,8 @@ import { fileManagerComponentFieldSettings } from "../modules/fields/component/F
43
43
  import { uploadAttachmentComponentFieldSettings } from "../modules/fields/component/FileManager/uploadAttachmentComponentFieldSettings.mjs";
44
44
  import { inputComponentFieldSettings } from "../modules/fields/component/Input/inputComponentFieldsSettings.mjs";
45
45
  import { inputNumberComponentFieldSettings } from "../modules/fields/component/InputNumber/inputNumberComponentFieldSettings.mjs";
46
+ import { inputPreviewComponentFieldSettings } from "../modules/fields/component/InputPreview/inputPreviewComponentFieldSettings.mjs";
47
+ import { multipleComponentFieldSettings } from "../modules/fields/component/MultipleSelect/multipleSelectComponentFieldSettings.mjs";
46
48
  import { subformComponentFieldSettings } from "../modules/fields/component/Nester/subformComponentFieldSettings.mjs";
47
49
  import { recordPickerComponentFieldSettings } from "../modules/fields/component/Picker/recordPickerComponentFieldSettings.mjs";
48
50
  import { subformPopoverComponentFieldSettings } from "../modules/fields/component/PopoverNester/subformPopoverComponentFieldSettings.mjs";
@@ -100,6 +102,7 @@ class SchemaSettingsPlugin extends Plugin {
100
102
  this.schemaSettingsManager.add(datePickerComponentFieldSettings);
101
103
  this.schemaSettingsManager.add(unixTimestampComponentFieldSettings);
102
104
  this.schemaSettingsManager.add(inputComponentFieldSettings);
105
+ this.schemaSettingsManager.add(inputPreviewComponentFieldSettings);
103
106
  this.schemaSettingsManager.add(inputNumberComponentFieldSettings);
104
107
  this.schemaSettingsManager.add(checkboxComponentFieldSettings);
105
108
  this.schemaSettingsManager.add(radioComponentFieldSettings);
@@ -109,6 +112,7 @@ class SchemaSettingsPlugin extends Plugin {
109
112
  this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings);
110
113
  this.schemaSettingsManager.add(uploadAttachmentComponentFieldSettings);
111
114
  this.schemaSettingsManager.add(cascaderComponentFieldSettings);
115
+ this.schemaSettingsManager.add(multipleComponentFieldSettings);
112
116
  }
113
117
  }
114
118
  export { SchemaSettingsPlugin };
@@ -125,14 +125,6 @@ class Application {
125
125
  path: '*',
126
126
  Component: this.components['AppNotFound']
127
127
  });
128
- this.router.add('share', {
129
- path: '/share',
130
- Component: external_components_index_js_namespaceObject.SharePage
131
- });
132
- this.router.add('share.page', {
133
- path: '/share/:name',
134
- Component: external_components_index_js_namespaceObject.ShareSchemaComponent
135
- });
136
128
  this.router.add('share.notAuthorized', {
137
129
  path: '/share/not-authorized',
138
130
  element: null
@@ -9,12 +9,6 @@ var __webpack_modules__ = {
9
9
  "./RouterContextCleaner": function(module) {
10
10
  module.exports = require("./RouterContextCleaner.js");
11
11
  },
12
- "./SharePage": function(module) {
13
- module.exports = require("./SharePage.js");
14
- },
15
- "./ShareSchemaComponent": function(module) {
16
- module.exports = require("./ShareSchemaComponent.js");
17
- },
18
12
  "./defaultComponents": function(module) {
19
13
  module.exports = require("./defaultComponents.js");
20
14
  }
@@ -86,18 +80,6 @@ var __webpack_exports__ = {};
86
80
  return _RouterContextCleaner__WEBPACK_IMPORTED_MODULE_3__[key];
87
81
  }).bind(0, __WEBPACK_IMPORT_KEY__);
88
82
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
89
- var _SharePage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./SharePage");
90
- var __WEBPACK_REEXPORT_OBJECT__ = {};
91
- for(var __WEBPACK_IMPORT_KEY__ in _SharePage__WEBPACK_IMPORTED_MODULE_4__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
92
- return _SharePage__WEBPACK_IMPORTED_MODULE_4__[key];
93
- }).bind(0, __WEBPACK_IMPORT_KEY__);
94
- __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
95
- var _ShareSchemaComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("./ShareSchemaComponent");
96
- var __WEBPACK_REEXPORT_OBJECT__ = {};
97
- for(var __WEBPACK_IMPORT_KEY__ in _ShareSchemaComponent__WEBPACK_IMPORTED_MODULE_5__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
98
- return _ShareSchemaComponent__WEBPACK_IMPORTED_MODULE_5__[key];
99
- }).bind(0, __WEBPACK_IMPORT_KEY__);
100
- __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
101
83
  })();
102
84
  for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
103
85
  Object.defineProperty(exports, '__esModule', {
@@ -1439,7 +1439,7 @@ var __webpack_exports__ = {};
1439
1439
  appends.add(append);
1440
1440
  });
1441
1441
  }
1442
- if (null == (_s_xcomponentprops1 = s['x-component-props']) ? void 0 : null == (_s_xcomponentprops_fieldNames = _s_xcomponentprops1.fieldNames) ? void 0 : _s_xcomponentprops_fieldNames.formula) {
1442
+ if ((null == (_s_xcomponentprops1 = s['x-component-props']) ? void 0 : null == (_s_xcomponentprops_fieldNames = _s_xcomponentprops1.fieldNames) ? void 0 : _s_xcomponentprops_fieldNames.formula) && isAssociationField) {
1443
1443
  var _s_xcomponentprops_fieldNames1, _s_xcomponentprops4;
1444
1444
  appends.add(s['name']);
1445
1445
  const regex = /{{(.*?)}}/g;
@@ -78,6 +78,9 @@ var __webpack_modules__ = {
78
78
  "./pinned-list/PluginPinnedList": function(module) {
79
79
  module.exports = require("./pinned-list/PluginPinnedList.js");
80
80
  },
81
+ "./pinned-list": function(module) {
82
+ module.exports = require("./pinned-list/index.js");
83
+ },
81
84
  "./pm": function(module) {
82
85
  module.exports = require("./pm/index.js");
83
86
  },
@@ -173,8 +176,10 @@ var __webpack_exports__ = {};
173
176
  __webpack_require__.d(__webpack_exports__, {
174
177
  AdminLayout: ()=>_admin_layout__WEBPACK_IMPORTED_MODULE_40__.AdminLayout,
175
178
  AdminProvider: ()=>_admin_layout__WEBPACK_IMPORTED_MODULE_40__.AdminProvider,
179
+ AdminTabs: ()=>_admin_layout__WEBPACK_IMPORTED_MODULE_40__.AdminTabs,
176
180
  AppNotFound: ()=>AppNotFound,
177
181
  BuiltInPlugin: ()=>BuiltInPlugin,
182
+ MenuEditor: ()=>_admin_layout__WEBPACK_IMPORTED_MODULE_40__.MenuEditor,
178
183
  NoticeArea: ()=>_admin_layout__WEBPACK_IMPORTED_MODULE_40__.NoticeArea
179
184
  });
180
185
  var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("react/jsx-runtime");
@@ -218,17 +223,34 @@ var __webpack_exports__ = {};
218
223
  var _system_version__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__("./system-version");
219
224
  var _user_settings__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__("./user-settings");
220
225
  var _admin_layout__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__("./admin-layout");
221
- var _context_menu_useContextMenu__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__("./context-menu/useContextMenu");
226
+ var _pinned_list__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__("./pinned-list");
222
227
  var __WEBPACK_REEXPORT_OBJECT__ = {};
223
- for(var __WEBPACK_IMPORT_KEY__ in _context_menu_useContextMenu__WEBPACK_IMPORTED_MODULE_41__)if ([
228
+ for(var __WEBPACK_IMPORT_KEY__ in _pinned_list__WEBPACK_IMPORTED_MODULE_41__)if ([
229
+ "default",
230
+ "AdminTabs",
231
+ "MenuEditor",
232
+ "NoticeArea",
224
233
  "BuiltInPlugin",
225
234
  "AppNotFound",
226
- "default",
227
235
  "AdminProvider",
236
+ "AdminLayout"
237
+ ].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
238
+ return _pinned_list__WEBPACK_IMPORTED_MODULE_41__[key];
239
+ }).bind(0, __WEBPACK_IMPORT_KEY__);
240
+ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
241
+ var _context_menu_useContextMenu__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__("./context-menu/useContextMenu");
242
+ var __WEBPACK_REEXPORT_OBJECT__ = {};
243
+ for(var __WEBPACK_IMPORT_KEY__ in _context_menu_useContextMenu__WEBPACK_IMPORTED_MODULE_42__)if ([
244
+ "default",
245
+ "AdminTabs",
246
+ "MenuEditor",
228
247
  "NoticeArea",
248
+ "BuiltInPlugin",
249
+ "AppNotFound",
250
+ "AdminProvider",
229
251
  "AdminLayout"
230
252
  ].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
231
- return _context_menu_useContextMenu__WEBPACK_IMPORTED_MODULE_41__[key];
253
+ return _context_menu_useContextMenu__WEBPACK_IMPORTED_MODULE_42__[key];
232
254
  }).bind(0, __WEBPACK_IMPORT_KEY__);
233
255
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
234
256
  function _tagged_template_literal(strings, raw) {
@@ -689,14 +711,18 @@ var __webpack_exports__ = {};
689
711
  })();
690
712
  exports.AdminLayout = __webpack_exports__.AdminLayout;
691
713
  exports.AdminProvider = __webpack_exports__.AdminProvider;
714
+ exports.AdminTabs = __webpack_exports__.AdminTabs;
692
715
  exports.AppNotFound = __webpack_exports__.AppNotFound;
693
716
  exports.BuiltInPlugin = __webpack_exports__.BuiltInPlugin;
717
+ exports.MenuEditor = __webpack_exports__.MenuEditor;
694
718
  exports.NoticeArea = __webpack_exports__.NoticeArea;
695
719
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
696
720
  "AdminLayout",
697
721
  "AdminProvider",
722
+ "AdminTabs",
698
723
  "AppNotFound",
699
724
  "BuiltInPlugin",
725
+ "MenuEditor",
700
726
  "NoticeArea"
701
727
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
702
728
  Object.defineProperty(exports, '__esModule', {
@@ -70,6 +70,42 @@ class CollectionPlugin extends Plugin_js_namespaceObject.Plugin {
70
70
  key: DataSourceManager_js_namespaceObject.DEFAULT_DATA_SOURCE_KEY,
71
71
  displayName: DataSourceManager_js_namespaceObject.DEFAULT_DATA_SOURCE_TITLE
72
72
  });
73
+ this.app.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption('m2o', {
74
+ label: '{{t("CustomTitle")}}',
75
+ value: 'CustomTitle'
76
+ });
77
+ this.app.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption('m2m', {
78
+ label: '{{t("CustomTitle")}}',
79
+ value: 'CustomTitle'
80
+ });
81
+ this.app.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption('o2m', {
82
+ label: '{{t("CustomTitle")}}',
83
+ value: 'CustomTitle'
84
+ });
85
+ this.app.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption('o2o', {
86
+ label: '{{t("CustomTitle")}}',
87
+ value: 'CustomTitle'
88
+ });
89
+ this.app.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption('obo', {
90
+ label: '{{t("CustomTitle")}}',
91
+ value: 'CustomTitle'
92
+ });
93
+ this.app.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption('select', {
94
+ label: '{{t("CustomTitle")}}',
95
+ value: 'CustomTitle'
96
+ });
97
+ this.app.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption('checkbox', {
98
+ label: '{{t("CustomTitle")}}',
99
+ value: 'CustomTitle'
100
+ });
101
+ this.app.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption('radioGroup', {
102
+ label: '{{t("CustomTitle")}}',
103
+ value: 'CustomTitle'
104
+ });
105
+ this.app.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption('multipleSelect', {
106
+ label: '{{t("CustomTitle")}}',
107
+ value: 'CustomTitle'
108
+ });
73
109
  }
74
110
  addFieldInterfaceGroups() {
75
111
  this.dataSourceManager.addFieldInterfaceGroups({
@@ -49,7 +49,16 @@ class UrlFieldInterface extends CollectionFieldInterface_js_namespaceObject.Coll
49
49
  type: 'string',
50
50
  'x-component': 'Input.URL'
51
51
  }
52
- }), _define_property(this, "availableTypes", [
52
+ }), _define_property(this, "componentOptions", [
53
+ {
54
+ label: 'URL',
55
+ value: 'Input.URL'
56
+ },
57
+ {
58
+ label: 'Preview',
59
+ value: 'Input.Preview'
60
+ }
61
+ ]), _define_property(this, "availableTypes", [
53
62
  'string',
54
63
  'text'
55
64
  ]), _define_property(this, "properties", {
@@ -38,21 +38,7 @@ function _define_property(obj, key, value) {
38
38
  }
39
39
  class CollectionFieldInterface {
40
40
  addComponentOption(componentOption) {
41
- if (!this.componentOptions) {
42
- var _this_default_uiSchema, _this_default, _this_default_uiSchema1, _this_default1;
43
- this.componentOptions = [];
44
- const xComponent = null == (_this_default = this.default) ? void 0 : null == (_this_default_uiSchema = _this_default.uiSchema) ? void 0 : _this_default_uiSchema['x-component'];
45
- const componentProps = null == (_this_default1 = this.default) ? void 0 : null == (_this_default_uiSchema1 = _this_default1.uiSchema) ? void 0 : _this_default_uiSchema1['x-component-props'];
46
- if (xComponent) this.componentOptions = [
47
- {
48
- label: xComponent.split('.').pop(),
49
- value: xComponent,
50
- useProps () {
51
- return componentProps || {};
52
- }
53
- }
54
- ];
55
- }
41
+ if (!this.componentOptions) this.componentOptions = [];
56
42
  this.componentOptions.push(componentOption);
57
43
  }
58
44
  constructor(collectionFieldInterfaceManager){
@@ -257,6 +257,7 @@ module.exports = {
257
257
  "Custom option label": "\u81EA\u5B9A\u4E49\u9009\u9879\u6807\u7B7E",
258
258
  "Custom request": "\u81EA\u5B9A\u4E49\u8BF7\u6C42",
259
259
  "Custom title": "\u81EA\u5B9A\u4E49\u6807\u9898",
260
+ CustomTitle: "\u81EA\u5B9A\u4E49\u6807\u9898",
260
261
  Customize: "\u81EA\u5B9A\u4E49",
261
262
  Cyan: "\u660E\u9752",
262
263
  DESC: "\u964D\u5E8F",
@@ -510,9 +510,6 @@ const fieldSettingsFormItem = new SchemaSettings_js_namespaceObject.SchemaSettin
510
510
  const validateSchema = (0, external_schema_component_index_js_namespaceObject.useValidateSchema)();
511
511
  return form && !isFormReadPretty && validateSchema;
512
512
  }
513
- },
514
- {
515
- ...external_data_source_index_js_namespaceObject.fieldComponentSettingsItem
516
513
  }
517
514
  ];
518
515
  }
@@ -157,14 +157,26 @@ const useTableBlockProps = ()=>{
157
157
  let [key, value] = param;
158
158
  if (key.includes(ctx.rowKey) && selectedRow.includes(value)) delete items[key];
159
159
  });
160
- const mergedFilter = (0, utils_js_namespaceObject.mergeFilter)([
160
+ const mergeList = [
161
161
  ...Object.values(storedFilter).map((filter)=>(0, external_schema_component_index_js_namespaceObject.removeNullCondition)(filter)),
162
162
  external_flat_default().unflatten(items),
163
163
  block.defaultFilter,
164
164
  prevMergedFilter
165
- ]);
165
+ ];
166
+ const mergedFilter = (0, utils_js_namespaceObject.mergeFilter)(mergeList);
166
167
  const currFilter = (0, index_js_namespaceObject.filterByCleanedFields)(mergedFilter);
167
168
  prevMergedFilter = currFilter;
169
+ dataBlocks.forEach((item)=>{
170
+ const targetsUidList = targets.map((targetItem)=>targetItem.uid);
171
+ if (targetsUidList.includes(item.uid) && !item.associatedFields.find((assItem)=>assItem.name === target.field || target.field.includes(assItem.name))) {
172
+ const prevFlatItems = external_flat_default()(prevMergedFilter);
173
+ Object.entries(prevFlatItems).forEach((param)=>{
174
+ let [key, prevItem] = param;
175
+ if (key.split('.').includes(target.field)) delete prevFlatItems[key];
176
+ });
177
+ prevMergedFilter = external_flat_default().unflatten(prevFlatItems);
178
+ }
179
+ });
168
180
  return block.doFilter({
169
181
  ...param,
170
182
  page: 1,
@@ -32,7 +32,6 @@ const index_js_namespaceObject = require("../../../../application/index.js");
32
32
  const SchemaSettings_js_namespaceObject = require("../../../../application/schema-settings/SchemaSettings.js");
33
33
  const external_collection_manager_index_js_namespaceObject = require("../../../../collection-manager/index.js");
34
34
  const CollectionProvider_js_namespaceObject = require("../../../../data-source/collection/CollectionProvider.js");
35
- const fieldComponent_js_namespaceObject = require("../../../../data-source/commonsSettingsItem/fieldComponent.js");
36
35
  const external_schema_component_index_js_namespaceObject = require("../../../../schema-component/index.js");
37
36
  const hooks_js_namespaceObject = require("../../../../schema-component/antd/association-field/hooks.js");
38
37
  const Table_Column_Decorator_js_namespaceObject = require("../../../../schema-component/antd/table-v2/Table.Column.Decorator.js");
@@ -358,8 +357,7 @@ const tableColumnSettings = new SchemaSettings_js_namespaceObject.SchemaSettings
358
357
  }
359
358
  };
360
359
  }
361
- },
362
- fieldComponent_js_namespaceObject.fieldComponentSettingsItem
360
+ }
363
361
  ]
364
362
  },
365
363
  {
@@ -42,7 +42,6 @@ const external_react_i18next_namespaceObject = require("react-i18next");
42
42
  const SchemaSettings_js_namespaceObject = require("../../../../application/schema-settings/SchemaSettings.js");
43
43
  const index_js_namespaceObject = require("../../../../block-provider/index.js");
44
44
  const external_collection_manager_index_js_namespaceObject = require("../../../../collection-manager/index.js");
45
- const external_data_source_index_js_namespaceObject = require("../../../../data-source/index.js");
46
45
  const external_schema_component_index_js_namespaceObject = require("../../../../schema-component/index.js");
47
46
  const external_schema_settings_index_js_namespaceObject = require("../../../../schema-settings/index.js");
48
47
  const SchemaSettingsDataScope_js_namespaceObject = require("../../../../schema-settings/SchemaSettingsDataScope.js");
@@ -222,9 +221,6 @@ const filterCollapseItemFieldSettings = new SchemaSettings_js_namespaceObject.Sc
222
221
  onChange: onTitleFieldChange
223
222
  };
224
223
  }
225
- },
226
- {
227
- ...external_data_source_index_js_namespaceObject.fieldComponentSettingsItem
228
224
  }
229
225
  ];
230
226
  }
@@ -44,7 +44,6 @@ const index_js_namespaceObject = require("../../../../application/index.js");
44
44
  const SchemaSettings_js_namespaceObject = require("../../../../application/schema-settings/SchemaSettings.js");
45
45
  const external_collection_manager_index_js_namespaceObject = require("../../../../collection-manager/index.js");
46
46
  const useFieldComponentName_js_namespaceObject = require("../../../../common/useFieldComponentName.js");
47
- const external_data_source_index_js_namespaceObject = require("../../../../data-source/index.js");
48
47
  const external_schema_component_index_js_namespaceObject = require("../../../../schema-component/index.js");
49
48
  const external_schema_settings_index_js_namespaceObject = require("../../../../schema-settings/index.js");
50
49
  const filterFormItemFieldSettings = new SchemaSettings_js_namespaceObject.SchemaSettings({
@@ -349,9 +348,6 @@ const filterFormItemFieldSettings = new SchemaSettings_js_namespaceObject.Schema
349
348
  name: 'operator',
350
349
  Component: external_schema_component_index_js_namespaceObject.EditOperator
351
350
  },
352
- {
353
- ...external_data_source_index_js_namespaceObject.fieldComponentSettingsItem
354
- },
355
351
  {
356
352
  name: 'editDefaultValue',
357
353
  Component: external_schema_settings_index_js_namespaceObject.SchemaSettingsDefaultValue