@tachybase/client 1.6.12 → 1.6.14

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.
@@ -8,7 +8,8 @@ import template from "lodash/template";
8
8
  import { Link } from "react-router-dom";
9
9
  import { ACLCollectionProvider, DataBlockProvider, TableFieldResource, WithoutTableFieldResource, useCollectionManager, useCollectionParentRecord, useCollectionParentRecordData, useCollectionRecord, useDataBlockProps, useDataBlockRequest, useDataBlockResource, useDesignable, useRecord } from "../index.mjs";
10
10
  import { CollectionProvider_deprecated, useCollectionManager_deprecated, useCollection_deprecated } from "../collection-manager/index.mjs";
11
- import { DataBlockCollector } from "../filter-provider/FilterProvider.mjs";
11
+ import { DataBlockCollector, useFilterBlock } from "../filter-provider/FilterProvider.mjs";
12
+ import { mergeIncomingFiltersFromSourceBlocks } from "../filter-provider/incomingFilterFromSources.mjs";
12
13
  import { RecordProvider, useRecordIndex } from "../record-provider/index.mjs";
13
14
  import { useAssociationNames } from "./hooks/index.mjs";
14
15
  import { useDataBlockParentRecord } from "./hooks/useDataBlockSourceId.mjs";
@@ -172,24 +173,45 @@ const useCompatDataBlockParentRecord = (props)=>{
172
173
  return useDataBlockParentRecord(props);
173
174
  };
174
175
  const BlockProvider = (props)=>{
176
+ var _props_params;
175
177
  const { name, dataSource, useParams, parentRecord } = props;
176
178
  const parentRecordFromHook = useCompatDataBlockParentRecord(props);
179
+ const fieldSchema = useFieldSchema();
180
+ const { dataBlocks, inProvider } = useFilterBlock();
177
181
  const paramsFromHook = null == useParams ? void 0 : useParams();
178
182
  const { getAssociationAppends } = useAssociationNames(dataSource);
179
183
  const { appends, updateAssociationValues } = getAssociationAppends();
180
- const params = useMemo(()=>{
184
+ const mergedFilter = useMemo(()=>{
181
185
  var _props_params;
182
- if (!(null == (_props_params = props.params) ? void 0 : _props_params['appends'])) return {
186
+ const uid = null == fieldSchema ? void 0 : fieldSchema['x-uid'];
187
+ if (!inProvider || !uid) {
188
+ var _props_params1;
189
+ return null == (_props_params1 = props.params) ? void 0 : _props_params1.filter;
190
+ }
191
+ return mergeIncomingFiltersFromSourceBlocks(null == (_props_params = props.params) ? void 0 : _props_params.filter, uid, dataBlocks);
192
+ }, [
193
+ null == (_props_params = props.params) ? void 0 : _props_params.filter,
194
+ fieldSchema,
195
+ dataBlocks,
196
+ inProvider
197
+ ]);
198
+ const params = useMemo(()=>{
199
+ const baseParams = {
183
200
  ...props.params,
201
+ filter: mergedFilter
202
+ };
203
+ if (!baseParams['appends']) return {
204
+ ...baseParams,
184
205
  appends,
185
206
  ...paramsFromHook
186
207
  };
187
208
  return {
188
- ...props.params,
209
+ ...baseParams,
189
210
  ...paramsFromHook
190
211
  };
191
212
  }, [
192
213
  appends,
214
+ mergedFilter,
193
215
  paramsFromHook,
194
216
  props.params
195
217
  ]);
@@ -2,6 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { createContext, useContext, useEffect, useState } from "react";
3
3
  import { useField, useFieldSchema } from "@tachybase/schema";
4
4
  import { mergeFilter, useFilterBlock } from "../filter-provider/index.mjs";
5
+ import { getFilterSourceDefaultFilter } from "../filter-provider/incomingFilterFromSources.mjs";
5
6
  import { FixedBlockWrapper, removeNullCondition } from "../schema-component/index.mjs";
6
7
  import { BlockProvider, RenderChildrenWithAssociationFilter, useBlockRequestContext } from "./BlockProvider.mjs";
7
8
  import { findFilterTargets } from "./hooks/index.mjs";
@@ -101,6 +102,7 @@ const useTreeBlockProps = ()=>{
101
102
  };
102
103
  const mergedFilter = mergeFilter([
103
104
  ...Object.values(storedFilter).map((filter)=>removeNullCondition(filter)),
105
+ getFilterSourceDefaultFilter(dataBlocks, uid),
104
106
  block.defaultFilter
105
107
  ]);
106
108
  return block.doFilter({
@@ -14,6 +14,7 @@ import { useAPIClient, useRequest } from "../../api-client/index.mjs";
14
14
  import { PathHandler } from "../../built-in/dynamic-page/utils.mjs";
15
15
  import { useCollectionManager_deprecated, useCollection_deprecated } from "../../collection-manager/index.mjs";
16
16
  import { useFilterBlock } from "../../filter-provider/FilterProvider.mjs";
17
+ import { getFilterSourceDefaultFilter } from "../../filter-provider/incomingFilterFromSources.mjs";
17
18
  import { FILTER_OPERATORS_WITH_ARRAY_VALUES, mergeFilter as utils_mjs_mergeFilter, transformToFilter } from "../../filter-provider/utils.mjs";
18
19
  import { useRecord } from "../../record-provider/index.mjs";
19
20
  import { getCustomCondition, removeNullCondition, useActionContext, useCompile, useDesignable } from "../../schema-component/index.mjs";
@@ -50,6 +51,7 @@ function filterByCleanedFields(mergeFilter) {
50
51
  ].includes(p)) return false;
51
52
  if (/^\d+$/.test(p)) {
52
53
  const prev = i > 0 ? arr[i - 1] : '';
54
+ if ('$and' === prev || '$or' === prev) return true;
53
55
  if (FILTER_OPERATORS_WITH_ARRAY_VALUES.has(prev)) return true;
54
56
  return false;
55
57
  }
@@ -452,6 +454,7 @@ const useFilterBlockActionProps = ()=>{
452
454
  storedFilter[uid] = removeNullCondition(transformToFilter(filter.formValues, fieldSchema, getCollectionJoinField, name));
453
455
  const mergedFilter = utils_mjs_mergeFilter([
454
456
  ...Object.values(storedFilter).map((filter)=>removeNullCondition(filter)),
457
+ getFilterSourceDefaultFilter(getDataBlocks(), uid),
455
458
  block.defaultFilter,
456
459
  filter.customFilter,
457
460
  prevMergedFilter
@@ -497,6 +500,7 @@ const useResetBlockActionProps = ()=>{
497
500
  delete storedFilter[uid];
498
501
  const currFilter = utils_mjs_mergeFilter([
499
502
  ...Object.values(storedFilter),
503
+ getFilterSourceDefaultFilter(getDataBlocks(), uid),
500
504
  block.defaultFilter,
501
505
  prevMergedFilter
502
506
  ]);
@@ -1085,6 +1089,7 @@ const useAssociationFilterBlockProps = ()=>{
1085
1089
  }
1086
1090
  const mergedFilter = utils_mjs_mergeFilter([
1087
1091
  ...Object.values(storedFilter),
1092
+ getFilterSourceDefaultFilter(getDataBlocks(), uid),
1088
1093
  block.defaultFilter
1089
1094
  ]);
1090
1095
  return block.doFilter({
@@ -37,6 +37,8 @@ export interface DataBlock {
37
37
  foreignKeyFields?: ForeignKeyField[];
38
38
  /** 数据卡片已经存在的过滤条件(通过 `设置数据范围` 或者其它能设置筛选条件的功能) */
39
39
  defaultFilter?: FilterParam;
40
+ /** 本块作为连接发起方时,x-filter-targets 中的目标块 uid(用于把发起方的数据范围合并到被连接块) */
41
+ filterTargetUids?: string[];
40
42
  /** 数据卡片用于请求数据的接口 */
41
43
  service?: any;
42
44
  /** 数据卡片所的 DOM 容器 */
@@ -74,6 +76,7 @@ export declare const useFilterBlock: () => {
74
76
  recordDataBlocks: (block: DataBlock) => void;
75
77
  getDataBlocks: () => DataBlock[];
76
78
  removeDataBlock: (uid: string) => void;
79
+ dataBlocks: DataBlock[];
77
80
  /**
78
81
  * running in FilterBlockProvider
79
82
  */
@@ -32,6 +32,15 @@ const DataBlockCollector = (param)=>{
32
32
  const dataLoadingMode = useDataLoadingMode();
33
33
  const shouldApplyFilter = 'FilterFormBlockProvider' !== field.decoratorType && 'FormBlockProvider' !== field.decoratorType && 'filter' !== field.decoratorProps.blockType;
34
34
  const addBlockToDataBlocks = useCallback(()=>{
35
+ let filterTargetUids = [];
36
+ let s = fieldSchema;
37
+ while(s){
38
+ if (s['x-filter-targets']) {
39
+ filterTargetUids = s['x-filter-targets'].map((t)=>t.uid);
40
+ break;
41
+ }
42
+ s = s.parent;
43
+ }
35
44
  recordDataBlocks({
36
45
  uid: fieldSchema['x-uid'],
37
46
  title: field.componentProps.title,
@@ -40,6 +49,7 @@ const DataBlockCollector = (param)=>{
40
49
  associatedFields,
41
50
  foreignKeyFields: collection.foreignKeyFields,
42
51
  defaultFilter: (null == params ? void 0 : params.filter) || {},
52
+ filterTargetUids,
43
53
  service,
44
54
  dom: container.current,
45
55
  dataLoadingMode,
@@ -97,15 +107,22 @@ const useFilterBlock = ()=>{
97
107
  inProvider: false,
98
108
  recordDataBlocks: ()=>{},
99
109
  getDataBlocks: ()=>[],
100
- removeDataBlock: ()=>{}
110
+ removeDataBlock: ()=>{},
111
+ dataBlocks: []
101
112
  };
102
113
  const { dataBlocks, setDataBlocks } = ctx;
103
114
  const recordDataBlocks = (block)=>{
104
115
  const existingBlock = dataBlocks.find((item)=>item.uid === block.uid);
105
116
  if (existingBlock) {
117
+ const prevDf = JSON.stringify(existingBlock.defaultFilter);
118
+ const prevTg = JSON.stringify(existingBlock.filterTargetUids);
106
119
  existingBlock.service = block.service;
107
120
  existingBlock.defaultFilter = block.defaultFilter;
121
+ existingBlock.filterTargetUids = block.filterTargetUids;
108
122
  existingBlock.dataLoadingMode = block.dataLoadingMode;
123
+ if (JSON.stringify(existingBlock.defaultFilter) !== prevDf || JSON.stringify(existingBlock.filterTargetUids) !== prevTg) setDataBlocks((prev)=>[
124
+ ...prev
125
+ ]);
109
126
  return;
110
127
  }
111
128
  setDataBlocks((prev)=>uniqBy([
@@ -121,6 +138,7 @@ const useFilterBlock = ()=>{
121
138
  recordDataBlocks,
122
139
  getDataBlocks,
123
140
  removeDataBlock,
141
+ dataBlocks,
124
142
  inProvider: true
125
143
  };
126
144
  };
@@ -0,0 +1,15 @@
1
+ /** 与 FilterProvider.DataBlock 对齐,用于合并「谁连接了我」带来的 defaultFilter */
2
+ export type DataBlockIncomingRef = {
3
+ uid: string;
4
+ defaultFilter?: any;
5
+ /** 本块在 schema 的 x-filter-targets 里声明的连接目标 uid 列表(发起方) */
6
+ filterTargetUids?: string[];
7
+ };
8
+ /**
9
+ * 被连接的数据卡片:将连接发起方数据卡片上的 defaultFilter(如设置数据范围)与自身 filter 做 $and。
10
+ */
11
+ export declare function mergeIncomingFiltersFromSourceBlocks(ownFilter: unknown, currentBlockUid: string, dataBlocks: DataBlockIncomingRef[]): any;
12
+ /**
13
+ * 带 x-filter-targets 的连接发起方(表格、筛选表单等)自身的 defaultFilter。
14
+ */
15
+ export declare function getFilterSourceDefaultFilter(dataBlocks: DataBlockIncomingRef[], filterSourceUid: string | undefined): Record<string, any>;
@@ -0,0 +1,23 @@
1
+ import { mergeFilter } from "./utils.mjs";
2
+ function mergeIncomingFiltersFromSourceBlocks(ownFilter, currentBlockUid, dataBlocks) {
3
+ if (!currentBlockUid) return null != ownFilter ? ownFilter : {};
4
+ const sources = dataBlocks.filter((b)=>{
5
+ var _b_filterTargetUids;
6
+ return (null == (_b_filterTargetUids = b.filterTargetUids) ? void 0 : _b_filterTargetUids.length) && b.filterTargetUids.includes(currentBlockUid);
7
+ });
8
+ const sourceFilters = sources.map((b)=>b.defaultFilter).filter((f)=>f && 'object' == typeof f && Object.keys(f).length > 0);
9
+ if (!sourceFilters.length) return null != ownFilter ? ownFilter : {};
10
+ const own = ownFilter && 'object' == typeof ownFilter ? ownFilter : {};
11
+ return mergeFilter([
12
+ ...sourceFilters,
13
+ own
14
+ ], '$and');
15
+ }
16
+ function getFilterSourceDefaultFilter(dataBlocks, filterSourceUid) {
17
+ var _dataBlocks_find;
18
+ if (!filterSourceUid) return {};
19
+ const f = null == (_dataBlocks_find = dataBlocks.find((b)=>b.uid === filterSourceUid)) ? void 0 : _dataBlocks_find.defaultFilter;
20
+ if (f && 'object' == typeof f && Object.keys(f).length) return f;
21
+ return {};
22
+ }
23
+ export { getFilterSourceDefaultFilter, mergeIncomingFiltersFromSourceBlocks };
@@ -1,2 +1,3 @@
1
1
  export * from './FilterProvider';
2
+ export * from './incomingFilterFromSources';
2
3
  export * from './utils';
@@ -1,2 +1,3 @@
1
1
  export * from "./FilterProvider.mjs";
2
+ export * from "./incomingFilterFromSources.mjs";
2
3
  export * from "./utils.mjs";
@@ -8,6 +8,7 @@ import { useCollectionManager_deprecated, useCollection_deprecated } from "../co
8
8
  import { removeNullCondition } from "../schema-component/index.mjs";
9
9
  import { findFilterOperators } from "../schema-component/antd/form-item/SchemaSettingOptions.mjs";
10
10
  import { useFilterBlock } from "./FilterProvider.mjs";
11
+ import { getFilterSourceDefaultFilter } from "./incomingFilterFromSources.mjs";
11
12
  var utils_FilterBlockType = /*#__PURE__*/ function(FilterBlockType) {
12
13
  FilterBlockType[FilterBlockType["FORM"] = 0] = "FORM";
13
14
  FilterBlockType[FilterBlockType["TABLE"] = 1] = "TABLE";
@@ -172,6 +173,7 @@ const useFilterAPI = ()=>{
172
173
  else delete storedFilter[uid];
173
174
  const mergedFilter = mergeFilter([
174
175
  ...Object.values(storedFilter).map((filter)=>removeNullCondition(filter)),
176
+ getFilterSourceDefaultFilter(dataBlocks, uid),
175
177
  block.defaultFilter
176
178
  ]);
177
179
  block.doFilter({
@@ -5,6 +5,7 @@ import lodash from "lodash";
5
5
  import { filterByCleanedFields, findFilterTargets } from "../../../../../block-provider/hooks/index.mjs";
6
6
  import { useTableBlockContext } from "../../../../../block-provider/TableBlockProvider.mjs";
7
7
  import { useFilterBlock } from "../../../../../filter-provider/FilterProvider.mjs";
8
+ import { getFilterSourceDefaultFilter } from "../../../../../filter-provider/incomingFilterFromSources.mjs";
8
9
  import { mergeFilter } from "../../../../../filter-provider/utils.mjs";
9
10
  import { removeNullCondition } from "../../../../../schema-component/index.mjs";
10
11
  const useTableBlockProps = ()=>{
@@ -88,8 +89,9 @@ const useTableBlockProps = ()=>{
88
89
  });
89
90
  },
90
91
  onClickRow (record, setSelectedRow, selectedRow) {
91
- const { targets, uid } = findFilterTargets(fieldSchema);
92
+ const { targets, uid: filterSourceUid } = findFilterTargets(fieldSchema);
92
93
  const dataBlocks = getDataBlocks();
94
+ const sourceDefaultFilter = getFilterSourceDefaultFilter(dataBlocks, filterSourceUid);
93
95
  if (!targets || !targets.some((target)=>dataBlocks.some((dataBlock)=>dataBlock.uid === target.uid))) return void setSelectedRow((prev)=>prev.length ? [] : prev);
94
96
  const value = [
95
97
  record[ctx.rowKey]
@@ -103,8 +105,8 @@ const useTableBlockProps = ()=>{
103
105
  const storedFilter = (null == (_block_service_params1 = block.service.params) ? void 0 : null == (_block_service_params_ = _block_service_params1[1]) ? void 0 : _block_service_params_.filters) || {};
104
106
  if (selectedRow.includes(record[ctx.rowKey])) {
105
107
  if ('manual' === block.dataLoadingMode) return block.clearData();
106
- delete storedFilter[uid];
107
- } else storedFilter[uid] = {
108
+ delete storedFilter[filterSourceUid];
109
+ } else storedFilter[filterSourceUid] = {
108
110
  $and: [
109
111
  {
110
112
  [(null == target ? void 0 : target.field) || ctx.rowKey]: {
@@ -121,6 +123,7 @@ const useTableBlockProps = ()=>{
121
123
  const mergeList = [
122
124
  ...Object.values(storedFilter).map((filter)=>removeNullCondition(filter)),
123
125
  flat.unflatten(items),
126
+ sourceDefaultFilter,
124
127
  block.defaultFilter,
125
128
  prevMergedFilter
126
129
  ];
@@ -64,6 +64,7 @@ const external_react_router_dom_namespaceObject = require("react-router-dom");
64
64
  const external_index_js_namespaceObject = require("../index.js");
65
65
  const index_js_namespaceObject = require("../collection-manager/index.js");
66
66
  const FilterProvider_js_namespaceObject = require("../filter-provider/FilterProvider.js");
67
+ const incomingFilterFromSources_js_namespaceObject = require("../filter-provider/incomingFilterFromSources.js");
67
68
  const external_record_provider_index_js_namespaceObject = require("../record-provider/index.js");
68
69
  const external_hooks_index_js_namespaceObject = require("./hooks/index.js");
69
70
  const useDataBlockSourceId_js_namespaceObject = require("./hooks/useDataBlockSourceId.js");
@@ -227,24 +228,45 @@ const useCompatDataBlockParentRecord = (props)=>{
227
228
  return (0, useDataBlockSourceId_js_namespaceObject.useDataBlockParentRecord)(props);
228
229
  };
229
230
  const BlockProvider = (props)=>{
231
+ var _props_params;
230
232
  const { name, dataSource, useParams, parentRecord } = props;
231
233
  const parentRecordFromHook = useCompatDataBlockParentRecord(props);
234
+ const fieldSchema = (0, schema_namespaceObject.useFieldSchema)();
235
+ const { dataBlocks, inProvider } = (0, FilterProvider_js_namespaceObject.useFilterBlock)();
232
236
  const paramsFromHook = null == useParams ? void 0 : useParams();
233
237
  const { getAssociationAppends } = (0, external_hooks_index_js_namespaceObject.useAssociationNames)(dataSource);
234
238
  const { appends, updateAssociationValues } = getAssociationAppends();
235
- const params = (0, external_react_namespaceObject.useMemo)(()=>{
239
+ const mergedFilter = (0, external_react_namespaceObject.useMemo)(()=>{
236
240
  var _props_params;
237
- if (!(null == (_props_params = props.params) ? void 0 : _props_params['appends'])) return {
241
+ const uid = null == fieldSchema ? void 0 : fieldSchema['x-uid'];
242
+ if (!inProvider || !uid) {
243
+ var _props_params1;
244
+ return null == (_props_params1 = props.params) ? void 0 : _props_params1.filter;
245
+ }
246
+ return (0, incomingFilterFromSources_js_namespaceObject.mergeIncomingFiltersFromSourceBlocks)(null == (_props_params = props.params) ? void 0 : _props_params.filter, uid, dataBlocks);
247
+ }, [
248
+ null == (_props_params = props.params) ? void 0 : _props_params.filter,
249
+ fieldSchema,
250
+ dataBlocks,
251
+ inProvider
252
+ ]);
253
+ const params = (0, external_react_namespaceObject.useMemo)(()=>{
254
+ const baseParams = {
238
255
  ...props.params,
256
+ filter: mergedFilter
257
+ };
258
+ if (!baseParams['appends']) return {
259
+ ...baseParams,
239
260
  appends,
240
261
  ...paramsFromHook
241
262
  };
242
263
  return {
243
- ...props.params,
264
+ ...baseParams,
244
265
  ...paramsFromHook
245
266
  };
246
267
  }, [
247
268
  appends,
269
+ mergedFilter,
248
270
  paramsFromHook,
249
271
  props.params
250
272
  ]);
@@ -33,6 +33,7 @@ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
33
33
  const external_react_namespaceObject = require("react");
34
34
  const schema_namespaceObject = require("@tachybase/schema");
35
35
  const index_js_namespaceObject = require("../filter-provider/index.js");
36
+ const incomingFilterFromSources_js_namespaceObject = require("../filter-provider/incomingFilterFromSources.js");
36
37
  const external_schema_component_index_js_namespaceObject = require("../schema-component/index.js");
37
38
  const external_BlockProvider_js_namespaceObject = require("./BlockProvider.js");
38
39
  const external_hooks_index_js_namespaceObject = require("./hooks/index.js");
@@ -132,6 +133,7 @@ const useTreeBlockProps = ()=>{
132
133
  };
133
134
  const mergedFilter = (0, index_js_namespaceObject.mergeFilter)([
134
135
  ...Object.values(storedFilter).map((filter)=>(0, external_schema_component_index_js_namespaceObject.removeNullCondition)(filter)),
136
+ (0, incomingFilterFromSources_js_namespaceObject.getFilterSourceDefaultFilter)(dataBlocks, uid),
135
137
  block.defaultFilter
136
138
  ]);
137
139
  return block.doFilter({
@@ -12,6 +12,9 @@ var __webpack_modules__ = {
12
12
  "../../filter-provider/FilterProvider": function(module) {
13
13
  module.exports = require("../../filter-provider/FilterProvider.js");
14
14
  },
15
+ "../../filter-provider/incomingFilterFromSources": function(module) {
16
+ module.exports = require("../../filter-provider/incomingFilterFromSources.js");
17
+ },
15
18
  "../../filter-provider/utils": function(module) {
16
19
  module.exports = require("../../filter-provider/utils.js");
17
20
  },
@@ -187,20 +190,21 @@ var __webpack_exports__ = {};
187
190
  var _built_in_dynamic_page_utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("../../built-in/dynamic-page/utils");
188
191
  var _collection_manager__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("../../collection-manager");
189
192
  var _filter_provider_FilterProvider__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("../../filter-provider/FilterProvider");
190
- var _filter_provider_utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("../../filter-provider/utils");
191
- var _record_provider__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__("../../record-provider");
192
- var _schema_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__("../../schema-component");
193
- var _schema_component_antd_association_field_util__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__("../../schema-component/antd/association-field/util");
194
- var _user__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__("../../user");
195
- var _variables__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__("../../variables");
196
- var _variables_utils_isVariable__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__("../../variables/utils/isVariable");
197
- var _variables_utils_transformVariableValue__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__("../../variables/utils/transformVariableValue");
198
- var _BlockProvider__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__("../BlockProvider");
199
- var _DetailsBlockProvider__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__("../DetailsBlockProvider");
200
- var _TableFieldProvider__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__("../TableFieldProvider");
201
- var _useFormActiveFields__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__("./useFormActiveFields");
193
+ var _filter_provider_incomingFilterFromSources__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("../../filter-provider/incomingFilterFromSources");
194
+ var _filter_provider_utils__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__("../../filter-provider/utils");
195
+ var _record_provider__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__("../../record-provider");
196
+ var _schema_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__("../../schema-component");
197
+ var _schema_component_antd_association_field_util__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__("../../schema-component/antd/association-field/util");
198
+ var _user__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__("../../user");
199
+ var _variables__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__("../../variables");
200
+ var _variables_utils_isVariable__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__("../../variables/utils/isVariable");
201
+ var _variables_utils_transformVariableValue__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__("../../variables/utils/transformVariableValue");
202
+ var _BlockProvider__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__("../BlockProvider");
203
+ var _DetailsBlockProvider__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__("../DetailsBlockProvider");
204
+ var _TableFieldProvider__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__("../TableFieldProvider");
205
+ var _useFormActiveFields__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__("./useFormActiveFields");
202
206
  var __WEBPACK_REEXPORT_OBJECT__ = {};
203
- for(var __WEBPACK_IMPORT_KEY__ in _useFormActiveFields__WEBPACK_IMPORTED_MODULE_27__)if ([
207
+ for(var __WEBPACK_IMPORT_KEY__ in _useFormActiveFields__WEBPACK_IMPORTED_MODULE_28__)if ([
204
208
  "useBulkDestroyActionProps",
205
209
  "updateFilterTargets",
206
210
  "useCustomizeUpdateActionProps",
@@ -231,12 +235,12 @@ var __webpack_exports__ = {};
231
235
  "useOptionalFieldList",
232
236
  "filterByCleanedFields"
233
237
  ].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
234
- return _useFormActiveFields__WEBPACK_IMPORTED_MODULE_27__[key];
238
+ return _useFormActiveFields__WEBPACK_IMPORTED_MODULE_28__[key];
235
239
  }).bind(0, __WEBPACK_IMPORT_KEY__);
236
240
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
237
- var _useParsedFilter__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__("./useParsedFilter");
241
+ var _useParsedFilter__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__("./useParsedFilter");
238
242
  var __WEBPACK_REEXPORT_OBJECT__ = {};
239
- for(var __WEBPACK_IMPORT_KEY__ in _useParsedFilter__WEBPACK_IMPORTED_MODULE_28__)if ([
243
+ for(var __WEBPACK_IMPORT_KEY__ in _useParsedFilter__WEBPACK_IMPORTED_MODULE_29__)if ([
240
244
  "useBulkDestroyActionProps",
241
245
  "updateFilterTargets",
242
246
  "useCustomizeUpdateActionProps",
@@ -267,12 +271,12 @@ var __webpack_exports__ = {};
267
271
  "useOptionalFieldList",
268
272
  "filterByCleanedFields"
269
273
  ].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
270
- return _useParsedFilter__WEBPACK_IMPORTED_MODULE_28__[key];
274
+ return _useParsedFilter__WEBPACK_IMPORTED_MODULE_29__[key];
271
275
  }).bind(0, __WEBPACK_IMPORT_KEY__);
272
276
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
273
- var _useDataBlockSourceId__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__("./useDataBlockSourceId");
277
+ var _useDataBlockSourceId__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__("./useDataBlockSourceId");
274
278
  var __WEBPACK_REEXPORT_OBJECT__ = {};
275
- for(var __WEBPACK_IMPORT_KEY__ in _useDataBlockSourceId__WEBPACK_IMPORTED_MODULE_29__)if ([
279
+ for(var __WEBPACK_IMPORT_KEY__ in _useDataBlockSourceId__WEBPACK_IMPORTED_MODULE_30__)if ([
276
280
  "useBulkDestroyActionProps",
277
281
  "updateFilterTargets",
278
282
  "useCustomizeUpdateActionProps",
@@ -303,12 +307,12 @@ var __webpack_exports__ = {};
303
307
  "useOptionalFieldList",
304
308
  "filterByCleanedFields"
305
309
  ].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
306
- return _useDataBlockSourceId__WEBPACK_IMPORTED_MODULE_29__[key];
310
+ return _useDataBlockSourceId__WEBPACK_IMPORTED_MODULE_30__[key];
307
311
  }).bind(0, __WEBPACK_IMPORT_KEY__);
308
312
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
309
- var _useIsMobile__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__("./useIsMobile");
313
+ var _useIsMobile__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__("./useIsMobile");
310
314
  var __WEBPACK_REEXPORT_OBJECT__ = {};
311
- for(var __WEBPACK_IMPORT_KEY__ in _useIsMobile__WEBPACK_IMPORTED_MODULE_30__)if ([
315
+ for(var __WEBPACK_IMPORT_KEY__ in _useIsMobile__WEBPACK_IMPORTED_MODULE_31__)if ([
312
316
  "useBulkDestroyActionProps",
313
317
  "updateFilterTargets",
314
318
  "useCustomizeUpdateActionProps",
@@ -339,7 +343,7 @@ var __webpack_exports__ = {};
339
343
  "useOptionalFieldList",
340
344
  "filterByCleanedFields"
341
345
  ].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
342
- return _useIsMobile__WEBPACK_IMPORTED_MODULE_30__[key];
346
+ return _useIsMobile__WEBPACK_IMPORTED_MODULE_31__[key];
343
347
  }).bind(0, __WEBPACK_IMPORT_KEY__);
344
348
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
345
349
  function renderTemplate(str, data) {
@@ -363,7 +367,8 @@ var __webpack_exports__ = {};
363
367
  ].includes(p)) return false;
364
368
  if (/^\d+$/.test(p)) {
365
369
  const prev = i > 0 ? arr[i - 1] : '';
366
- if (_filter_provider_utils__WEBPACK_IMPORTED_MODULE_16__.FILTER_OPERATORS_WITH_ARRAY_VALUES.has(prev)) return true;
370
+ if ('$and' === prev || '$or' === prev) return true;
371
+ if (_filter_provider_utils__WEBPACK_IMPORTED_MODULE_17__.FILTER_OPERATORS_WITH_ARRAY_VALUES.has(prev)) return true;
367
372
  return false;
368
373
  }
369
374
  return true;
@@ -399,18 +404,18 @@ var __webpack_exports__ = {};
399
404
  }
400
405
  function useCollectValuesToSubmit() {
401
406
  const form = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useForm)();
402
- const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useFilterByTk)();
403
- const { field, resource } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
407
+ const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useFilterByTk)();
408
+ const { field, resource } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
404
409
  const { fields, getField, getTreeParentField, name } = (0, _collection_manager__WEBPACK_IMPORTED_MODULE_14__.useCollection_deprecated)();
405
410
  const fieldNames = fields.map((field)=>field.name);
406
- const { fieldSchema } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useActionContext)();
411
+ const { fieldSchema } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useActionContext)();
407
412
  const { getActiveFieldsName } = (0, ___WEBPACK_IMPORTED_MODULE_11__.useFormActiveFields)() || {};
408
- const variables = (0, _variables__WEBPACK_IMPORTED_MODULE_21__.useVariables)();
409
- const localVariables = (0, _variables__WEBPACK_IMPORTED_MODULE_21__.useLocalVariables)({
413
+ const variables = (0, _variables__WEBPACK_IMPORTED_MODULE_22__.useVariables)();
414
+ const localVariables = (0, _variables__WEBPACK_IMPORTED_MODULE_22__.useLocalVariables)({
410
415
  currentForm: form
411
416
  });
412
417
  const actionSchema = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useFieldSchema)();
413
- const currentRecord = (0, _record_provider__WEBPACK_IMPORTED_MODULE_17__.useRecord)();
418
+ const currentRecord = (0, _record_provider__WEBPACK_IMPORTED_MODULE_18__.useRecord)();
414
419
  return (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async ()=>{
415
420
  var _fieldSchema_xcomponentprops;
416
421
  var _actionSchema_xactionsettings;
@@ -428,9 +433,9 @@ var __webpack_exports__ = {};
428
433
  const waitList = Object.keys(originalAssignedValues).map(async (key)=>{
429
434
  const value = originalAssignedValues[key];
430
435
  const collectionField = getField(key);
431
- if ((0, _variables_utils_isVariable__WEBPACK_IMPORTED_MODULE_22__.isVariable)(value)) {
436
+ if ((0, _variables_utils_isVariable__WEBPACK_IMPORTED_MODULE_23__.isVariable)(value)) {
432
437
  const result = await (null == variables ? void 0 : variables.parseVariable(value, localVariables));
433
- if (result) assignedValues[key] = (0, _variables_utils_transformVariableValue__WEBPACK_IMPORTED_MODULE_23__.transformVariableValue)(result, {
438
+ if (result) assignedValues[key] = (0, _variables_utils_transformVariableValue__WEBPACK_IMPORTED_MODULE_24__.transformVariableValue)(result, {
434
439
  targetCollectionField: collectionField
435
440
  });
436
441
  } else if (null != value && '' !== value) assignedValues[key] = value;
@@ -499,7 +504,7 @@ var __webpack_exports__ = {};
499
504
  };
500
505
  const useInsertSchema = ()=>{
501
506
  const fieldSchema = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useFieldSchema)();
502
- const { insertAfterBegin } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useDesignable)();
507
+ const { insertAfterBegin } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useDesignable)();
503
508
  const insert = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((ss)=>{
504
509
  const schema = fieldSchema.reduceProperties((buf, s)=>{
505
510
  if (s['x-component'] === pageDetailsViewer) return s;
@@ -513,7 +518,7 @@ var __webpack_exports__ = {};
513
518
  };
514
519
  const useCancelActionProps = ()=>{
515
520
  const form = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useForm)();
516
- const ctx = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useActionContext)();
521
+ const ctx = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useActionContext)();
517
522
  return {
518
523
  async onClick () {
519
524
  ctx.setVisible(false);
@@ -524,7 +529,7 @@ var __webpack_exports__ = {};
524
529
  const useJumpDetails = ()=>{
525
530
  const collection = (0, ___WEBPACK_IMPORTED_MODULE_11__.useCollection)();
526
531
  const fieldSchema = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useFieldSchema)();
527
- const dn = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useDesignable)();
532
+ const dn = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useDesignable)();
528
533
  const insert = useInsertSchema();
529
534
  const navigate = (0, react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)();
530
535
  return (filterByTk)=>{
@@ -557,13 +562,13 @@ var __webpack_exports__ = {};
557
562
  var _actionField_componentProps_filterKeys;
558
563
  const record = (0, ___WEBPACK_IMPORTED_MODULE_11__.useCollectionRecord)();
559
564
  const form = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useForm)();
560
- const { field, resource, __parent } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
565
+ const { field, resource, __parent } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
561
566
  const jumpDetails = useJumpDetails();
562
- const { setVisible } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useActionContext)();
567
+ const { setVisible } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useActionContext)();
563
568
  const navigate = (0, react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)();
564
569
  const actionSchema = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useFieldSchema)();
565
570
  const actionField = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useField)();
566
- const compile = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useCompile)();
571
+ const compile = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useCompile)();
567
572
  const { modal, message } = antd__WEBPACK_IMPORTED_MODULE_3__.App.useApp();
568
573
  const { t } = (0, react_i18next__WEBPACK_IMPORTED_MODULE_8__.useTranslation)();
569
574
  const { updateAssociationValues } = (0, ___WEBPACK_IMPORTED_MODULE_11__.useFormBlockContext)();
@@ -624,17 +629,17 @@ var __webpack_exports__ = {};
624
629
  const useAssociationCreateActionProps = ()=>{
625
630
  var _actionField_componentProps_filterKeys;
626
631
  const form = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useForm)();
627
- const { field, resource, __parent } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
628
- const { setVisible, fieldSchema } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useActionContext)();
632
+ const { field, resource, __parent } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
633
+ const { setVisible, fieldSchema } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useActionContext)();
629
634
  const actionSchema = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useFieldSchema)();
630
635
  const actionField = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useField)();
631
636
  const { message } = antd__WEBPACK_IMPORTED_MODULE_3__.App.useApp();
632
637
  const { fields, getField, getTreeParentField, name } = (0, _collection_manager__WEBPACK_IMPORTED_MODULE_14__.useCollection_deprecated)();
633
- const compile = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useCompile)();
634
- const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useFilterByTk)();
635
- const currentRecord = (0, _record_provider__WEBPACK_IMPORTED_MODULE_17__.useRecord)();
636
- const variables = (0, _variables__WEBPACK_IMPORTED_MODULE_21__.useVariables)();
637
- const localVariables = (0, _variables__WEBPACK_IMPORTED_MODULE_21__.useLocalVariables)({
638
+ const compile = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useCompile)();
639
+ const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useFilterByTk)();
640
+ const currentRecord = (0, _record_provider__WEBPACK_IMPORTED_MODULE_18__.useRecord)();
641
+ const variables = (0, _variables__WEBPACK_IMPORTED_MODULE_22__.useVariables)();
642
+ const localVariables = (0, _variables__WEBPACK_IMPORTED_MODULE_22__.useLocalVariables)({
638
643
  currentForm: form
639
644
  });
640
645
  const { getActiveFieldsName } = (0, ___WEBPACK_IMPORTED_MODULE_11__.useFormActiveFields)() || {};
@@ -651,9 +656,9 @@ var __webpack_exports__ = {};
651
656
  const waitList = Object.keys(originalAssignedValues).map(async (key)=>{
652
657
  const value = originalAssignedValues[key];
653
658
  const collectionField = getField(key);
654
- if ((0, _variables_utils_isVariable__WEBPACK_IMPORTED_MODULE_22__.isVariable)(value)) {
659
+ if ((0, _variables_utils_isVariable__WEBPACK_IMPORTED_MODULE_23__.isVariable)(value)) {
655
660
  const result = await (null == variables ? void 0 : variables.parseVariable(value, localVariables));
656
- if (result) assignedValues[key] = (0, _variables_utils_transformVariableValue__WEBPACK_IMPORTED_MODULE_23__.transformVariableValue)(result, {
661
+ if (result) assignedValues[key] = (0, _variables_utils_transformVariableValue__WEBPACK_IMPORTED_MODULE_24__.transformVariableValue)(result, {
657
662
  targetCollectionField: collectionField
658
663
  });
659
664
  } else if (null != value && '' !== value) assignedValues[key] = value;
@@ -760,11 +765,12 @@ var __webpack_exports__ = {};
760
765
  ...values
761
766
  };
762
767
  for(const key in form.values['__custom'])if (form.values['__custom'][key]) filter.customValues[key] = form.values['__custom'][key];
763
- filter.customFilter = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.getCustomCondition)(filter.customValues, fieldSchema);
768
+ filter.customFilter = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.getCustomCondition)(filter.customValues, fieldSchema);
764
769
  }
765
- storedFilter[uid] = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.removeNullCondition)((0, _filter_provider_utils__WEBPACK_IMPORTED_MODULE_16__.transformToFilter)(filter.formValues, fieldSchema, getCollectionJoinField, name));
766
- const mergedFilter = (0, _filter_provider_utils__WEBPACK_IMPORTED_MODULE_16__.mergeFilter)([
767
- ...Object.values(storedFilter).map((filter)=>(0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.removeNullCondition)(filter)),
770
+ storedFilter[uid] = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.removeNullCondition)((0, _filter_provider_utils__WEBPACK_IMPORTED_MODULE_17__.transformToFilter)(filter.formValues, fieldSchema, getCollectionJoinField, name));
771
+ const mergedFilter = (0, _filter_provider_utils__WEBPACK_IMPORTED_MODULE_17__.mergeFilter)([
772
+ ...Object.values(storedFilter).map((filter)=>(0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.removeNullCondition)(filter)),
773
+ (0, _filter_provider_incomingFilterFromSources__WEBPACK_IMPORTED_MODULE_16__.getFilterSourceDefaultFilter)(getDataBlocks(), uid),
768
774
  block.defaultFilter,
769
775
  filter.customFilter,
770
776
  prevMergedFilter
@@ -808,8 +814,9 @@ var __webpack_exports__ = {};
808
814
  const param = (null == (_block_service_params = block.service.params) ? void 0 : _block_service_params[0]) || {};
809
815
  const storedFilter = (null == (_block_service_params1 = block.service.params) ? void 0 : null == (_block_service_params_ = _block_service_params1[1]) ? void 0 : _block_service_params_.filters) || {};
810
816
  delete storedFilter[uid];
811
- const currFilter = (0, _filter_provider_utils__WEBPACK_IMPORTED_MODULE_16__.mergeFilter)([
817
+ const currFilter = (0, _filter_provider_utils__WEBPACK_IMPORTED_MODULE_17__.mergeFilter)([
812
818
  ...Object.values(storedFilter),
819
+ (0, _filter_provider_incomingFilterFromSources__WEBPACK_IMPORTED_MODULE_16__.getFilterSourceDefaultFilter)(getDataBlocks(), uid),
813
820
  block.defaultFilter,
814
821
  prevMergedFilter
815
822
  ]);
@@ -831,15 +838,15 @@ var __webpack_exports__ = {};
831
838
  };
832
839
  };
833
840
  const useCustomizeUpdateActionProps = ()=>{
834
- const { resource, __parent, service } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
835
- const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useFilterByTk)();
841
+ const { resource, __parent, service } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
842
+ const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useFilterByTk)();
836
843
  const actionSchema = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useFieldSchema)();
837
844
  const navigate = (0, react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)();
838
- const compile = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useCompile)();
845
+ const compile = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useCompile)();
839
846
  const form = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useForm)();
840
847
  const { modal, message } = antd__WEBPACK_IMPORTED_MODULE_3__.App.useApp();
841
- const variables = (0, _variables__WEBPACK_IMPORTED_MODULE_21__.useVariables)();
842
- const localVariables = (0, _variables__WEBPACK_IMPORTED_MODULE_21__.useLocalVariables)({
848
+ const variables = (0, _variables__WEBPACK_IMPORTED_MODULE_22__.useVariables)();
849
+ const localVariables = (0, _variables__WEBPACK_IMPORTED_MODULE_22__.useLocalVariables)({
843
850
  currentForm: form
844
851
  });
845
852
  const { name, getField } = (0, _collection_manager__WEBPACK_IMPORTED_MODULE_14__.useCollection_deprecated)();
@@ -852,9 +859,9 @@ var __webpack_exports__ = {};
852
859
  const waitList = Object.keys(originalAssignedValues).map(async (key)=>{
853
860
  const value = originalAssignedValues[key];
854
861
  const collectionField = getField(key);
855
- if ((0, _variables_utils_isVariable__WEBPACK_IMPORTED_MODULE_22__.isVariable)(value)) {
862
+ if ((0, _variables_utils_isVariable__WEBPACK_IMPORTED_MODULE_23__.isVariable)(value)) {
856
863
  const result = await (null == variables ? void 0 : variables.parseVariable(value, localVariables));
857
- if (result) assignedValues[key] = (0, _variables_utils_transformVariableValue__WEBPACK_IMPORTED_MODULE_23__.transformVariableValue)(result, {
864
+ if (result) assignedValues[key] = (0, _variables_utils_transformVariableValue__WEBPACK_IMPORTED_MODULE_24__.transformVariableValue)(result, {
858
865
  targetCollectionField: collectionField
859
866
  });
860
867
  } else if (null != value && '' !== value) assignedValues[key] = value;
@@ -870,7 +877,7 @@ var __webpack_exports__ = {};
870
877
  beforeWorkflows: getBeforeWorkflows(triggerWorkflows)
871
878
  });
872
879
  null == service || null == (_service_refresh = service.refresh) || _service_refresh.call(service);
873
- if (!(resource instanceof _TableFieldProvider__WEBPACK_IMPORTED_MODULE_26__.TableFieldResource)) {
880
+ if (!(resource instanceof _TableFieldProvider__WEBPACK_IMPORTED_MODULE_27__.TableFieldResource)) {
874
881
  var __parent_service_refresh, __parent_service;
875
882
  null == __parent || null == (__parent_service = __parent.service) || null == (__parent_service_refresh = __parent_service.refresh) || __parent_service_refresh.call(__parent_service);
876
883
  }
@@ -894,17 +901,17 @@ var __webpack_exports__ = {};
894
901
  var _currentUserContext_data;
895
902
  const apiClient = (0, _api_client__WEBPACK_IMPORTED_MODULE_12__.useAPIClient)();
896
903
  const navigate = (0, react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)();
897
- const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useFilterByTk)();
904
+ const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useFilterByTk)();
898
905
  const actionSchema = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useFieldSchema)();
899
- const compile = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useCompile)();
906
+ const compile = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useCompile)();
900
907
  const form = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useForm)();
901
908
  const { fields, getField } = (0, _collection_manager__WEBPACK_IMPORTED_MODULE_14__.useCollection_deprecated)();
902
- const { field, resource, __parent, service } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
903
- const currentRecord = (0, _record_provider__WEBPACK_IMPORTED_MODULE_17__.useRecord)();
904
- const currentUserContext = (0, _user__WEBPACK_IMPORTED_MODULE_20__.useCurrentUserContext)();
909
+ const { field, resource, __parent, service } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
910
+ const currentRecord = (0, _record_provider__WEBPACK_IMPORTED_MODULE_18__.useRecord)();
911
+ const currentUserContext = (0, _user__WEBPACK_IMPORTED_MODULE_21__.useCurrentUserContext)();
905
912
  const currentUser = null == currentUserContext ? void 0 : null == (_currentUserContext_data = currentUserContext.data) ? void 0 : _currentUserContext_data.data;
906
913
  const actionField = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useField)();
907
- const { setVisible } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useActionContext)();
914
+ const { setVisible } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useActionContext)();
908
915
  const { modal, message } = antd__WEBPACK_IMPORTED_MODULE_3__.App.useApp();
909
916
  const { getActiveFieldsName } = (0, ___WEBPACK_IMPORTED_MODULE_11__.useFormActiveFields)() || {};
910
917
  return {
@@ -962,7 +969,7 @@ var __webpack_exports__ = {};
962
969
  ...requestBody
963
970
  });
964
971
  actionField.data.loading = false;
965
- if (!(resource instanceof _TableFieldProvider__WEBPACK_IMPORTED_MODULE_26__.TableFieldResource)) {
972
+ if (!(resource instanceof _TableFieldProvider__WEBPACK_IMPORTED_MODULE_27__.TableFieldResource)) {
966
973
  var __parent_service_refresh, __parent_service;
967
974
  null == __parent || null == (__parent_service = __parent.service) || null == (__parent_service_refresh = __parent_service.refresh) || __parent_service_refresh.call(__parent_service);
968
975
  }
@@ -985,19 +992,19 @@ var __webpack_exports__ = {};
985
992
  };
986
993
  const useUpdateActionProps = ()=>{
987
994
  const form = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useForm)();
988
- const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useFilterByTk)();
989
- const { field, resource, __parent } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
990
- const { setVisible } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useActionContext)();
995
+ const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useFilterByTk)();
996
+ const { field, resource, __parent } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
997
+ const { setVisible } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useActionContext)();
991
998
  const actionSchema = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useFieldSchema)();
992
999
  const navigate = (0, react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)();
993
1000
  const { fields, getField, name } = (0, _collection_manager__WEBPACK_IMPORTED_MODULE_14__.useCollection_deprecated)();
994
- const compile = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useCompile)();
1001
+ const compile = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useCompile)();
995
1002
  const actionField = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useField)();
996
1003
  const { updateAssociationValues } = (0, ___WEBPACK_IMPORTED_MODULE_11__.useFormBlockContext)();
997
1004
  const { modal, message } = antd__WEBPACK_IMPORTED_MODULE_3__.App.useApp();
998
- const data = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useParamsFromRecord)();
999
- const variables = (0, _variables__WEBPACK_IMPORTED_MODULE_21__.useVariables)();
1000
- const localVariables = (0, _variables__WEBPACK_IMPORTED_MODULE_21__.useLocalVariables)({
1005
+ const data = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useParamsFromRecord)();
1006
+ const variables = (0, _variables__WEBPACK_IMPORTED_MODULE_22__.useVariables)();
1007
+ const localVariables = (0, _variables__WEBPACK_IMPORTED_MODULE_22__.useLocalVariables)({
1001
1008
  currentForm: form
1002
1009
  });
1003
1010
  const { getActiveFieldsName } = (0, ___WEBPACK_IMPORTED_MODULE_11__.useFormActiveFields)() || {};
@@ -1009,9 +1016,9 @@ var __webpack_exports__ = {};
1009
1016
  const waitList = Object.keys(originalAssignedValues).map(async (key)=>{
1010
1017
  const value = originalAssignedValues[key];
1011
1018
  const collectionField = getField(key);
1012
- if ((0, _variables_utils_isVariable__WEBPACK_IMPORTED_MODULE_22__.isVariable)(value)) {
1019
+ if ((0, _variables_utils_isVariable__WEBPACK_IMPORTED_MODULE_23__.isVariable)(value)) {
1013
1020
  const result = await (null == variables ? void 0 : variables.parseVariable(value, localVariables));
1014
- if (result) assignedValues[key] = (0, _variables_utils_transformVariableValue__WEBPACK_IMPORTED_MODULE_23__.transformVariableValue)(result, {
1021
+ if (result) assignedValues[key] = (0, _variables_utils_transformVariableValue__WEBPACK_IMPORTED_MODULE_24__.transformVariableValue)(result, {
1015
1022
  targetCollectionField: collectionField
1016
1023
  });
1017
1024
  } else if (null != value && '' !== value) assignedValues[key] = value;
@@ -1078,10 +1085,10 @@ var __webpack_exports__ = {};
1078
1085
  };
1079
1086
  };
1080
1087
  const useDestroyActionProps = ()=>{
1081
- const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useFilterByTk)();
1082
- const { resource, service, block, __parent } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
1083
- const { setVisible } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useActionContext)();
1084
- const data = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useParamsFromRecord)();
1088
+ const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useFilterByTk)();
1089
+ const { resource, service, block, __parent } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
1090
+ const { setVisible } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useActionContext)();
1091
+ const data = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useParamsFromRecord)();
1085
1092
  const actionSchema = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useFieldSchema)();
1086
1093
  return {
1087
1094
  async onClick () {
@@ -1114,7 +1121,7 @@ var __webpack_exports__ = {};
1114
1121
  };
1115
1122
  };
1116
1123
  const useRemoveActionProps = (associationName)=>{
1117
- const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useFilterByTk)();
1124
+ const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useFilterByTk)();
1118
1125
  const api = (0, _api_client__WEBPACK_IMPORTED_MODULE_12__.useAPIClient)();
1119
1126
  const resource = api.resource(associationName, filterByTk);
1120
1127
  return {
@@ -1128,9 +1135,9 @@ var __webpack_exports__ = {};
1128
1135
  };
1129
1136
  };
1130
1137
  const useDisassociateActionProps = ()=>{
1131
- const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useFilterByTk)();
1132
- const { resource, service, block, __parent } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
1133
- const { setVisible } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_18__.useActionContext)();
1138
+ const filterByTk = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useFilterByTk)();
1139
+ const { resource, service, block, __parent } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
1140
+ const { setVisible } = (0, _schema_component__WEBPACK_IMPORTED_MODULE_19__.useActionContext)();
1134
1141
  return {
1135
1142
  async onClick () {
1136
1143
  var _service_data;
@@ -1171,8 +1178,8 @@ var __webpack_exports__ = {};
1171
1178
  };
1172
1179
  };
1173
1180
  const useBulkDestroyActionProps = ()=>{
1174
- const { field } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
1175
- const { resource, service } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
1181
+ const { field } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
1182
+ const { resource, service } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
1176
1183
  return {
1177
1184
  async onClick () {
1178
1185
  var _field_data_selectedRowKeys, _field_data, _field_data1, _service_params_, _service_data_meta, _service_data, _service_refresh;
@@ -1189,7 +1196,7 @@ var __webpack_exports__ = {};
1189
1196
  };
1190
1197
  };
1191
1198
  const useRefreshActionProps = ()=>{
1192
- const { service } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
1199
+ const { service } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
1193
1200
  return {
1194
1201
  async onClick () {
1195
1202
  var _service_refresh;
@@ -1199,7 +1206,7 @@ var __webpack_exports__ = {};
1199
1206
  };
1200
1207
  const useDetailsPaginationProps = ()=>{
1201
1208
  var _ctx_service_data_meta, _ctx_service_data, _ctx_service, _ctx_service_data_meta1, _ctx_service_data1, _ctx_service1;
1202
- const ctx = (0, _DetailsBlockProvider__WEBPACK_IMPORTED_MODULE_25__.useDetailsBlockContext)();
1209
+ const ctx = (0, _DetailsBlockProvider__WEBPACK_IMPORTED_MODULE_26__.useDetailsBlockContext)();
1203
1210
  const count = (null == (_ctx_service = ctx.service) ? void 0 : null == (_ctx_service_data = _ctx_service.data) ? void 0 : null == (_ctx_service_data_meta = _ctx_service_data.meta) ? void 0 : _ctx_service_data_meta.count) || 0;
1204
1211
  return {
1205
1212
  simple: true,
@@ -1225,7 +1232,7 @@ var __webpack_exports__ = {};
1225
1232
  const useAssociationFilterProps = ()=>{
1226
1233
  var _cm_getCollection, _fieldSchema_xcomponentprops_fieldNames, _fieldSchema_xcomponentprops, _field_componentProps, _field_componentProps1;
1227
1234
  const collectionField = ___WEBPACK_IMPORTED_MODULE_11__.AssociationFilter.useAssociationField();
1228
- const { service, props: blockProps } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
1235
+ const { service, props: blockProps } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
1229
1236
  const fieldSchema = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useFieldSchema)();
1230
1237
  const cm = (0, _collection_manager__WEBPACK_IMPORTED_MODULE_14__.useCollectionManager_deprecated)();
1231
1238
  const valueKey = (null == collectionField ? void 0 : collectionField.target) ? null == (_cm_getCollection = cm.getCollection(collectionField.target)) ? void 0 : _cm_getCollection.getPrimaryKey() : 'id';
@@ -1266,7 +1273,7 @@ var __webpack_exports__ = {};
1266
1273
  ...null == (_service_params1 = service.params) ? void 0 : _service_params1[0],
1267
1274
  pageSize: 200,
1268
1275
  page: 1,
1269
- filter: (0, _filter_provider_utils__WEBPACK_IMPORTED_MODULE_16__.mergeFilter)([
1276
+ filter: (0, _filter_provider_utils__WEBPACK_IMPORTED_MODULE_17__.mergeFilter)([
1270
1277
  ...Object.values(filters),
1271
1278
  null == blockProps ? void 0 : null == (_blockProps_params = blockProps.params) ? void 0 : _blockProps_params.filter
1272
1279
  ])
@@ -1312,7 +1319,7 @@ var __webpack_exports__ = {};
1312
1319
  const { getDataBlocks } = (0, _filter_provider_FilterProvider__WEBPACK_IMPORTED_MODULE_15__.useFilterBlock)();
1313
1320
  const collectionFieldName = null == collectionField ? void 0 : collectionField.name;
1314
1321
  const field = (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.useField)();
1315
- const { props: blockProps } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_24__.useBlockRequestContext)();
1322
+ const { props: blockProps } = (0, _BlockProvider__WEBPACK_IMPORTED_MODULE_25__.useBlockRequestContext)();
1316
1323
  const headers = (0, ___WEBPACK_IMPORTED_MODULE_11__.useDataSourceHeaders)(null == blockProps ? void 0 : blockProps.dataSource);
1317
1324
  const cm = (0, _collection_manager__WEBPACK_IMPORTED_MODULE_14__.useCollectionManager_deprecated)();
1318
1325
  let list, handleSearchInput, params, run, data, valueKey, labelKey, filterKey;
@@ -1396,8 +1403,9 @@ var __webpack_exports__ = {};
1396
1403
  if ('manual' === block.dataLoadingMode) return block.clearData();
1397
1404
  delete storedFilter[key];
1398
1405
  }
1399
- const mergedFilter = (0, _filter_provider_utils__WEBPACK_IMPORTED_MODULE_16__.mergeFilter)([
1406
+ const mergedFilter = (0, _filter_provider_utils__WEBPACK_IMPORTED_MODULE_17__.mergeFilter)([
1400
1407
  ...Object.values(storedFilter),
1408
+ (0, _filter_provider_incomingFilterFromSources__WEBPACK_IMPORTED_MODULE_16__.getFilterSourceDefaultFilter)(getDataBlocks(), uid),
1401
1409
  block.defaultFilter
1402
1410
  ]);
1403
1411
  return block.doFilter({
@@ -1556,7 +1564,7 @@ var __webpack_exports__ = {};
1556
1564
  async function resetFormCorrectly(form) {
1557
1565
  (0, _tachybase_schema__WEBPACK_IMPORTED_MODULE_1__.untracked)(()=>{
1558
1566
  Object.keys(form.fields).forEach((key)=>{
1559
- if ((0, _schema_component_antd_association_field_util__WEBPACK_IMPORTED_MODULE_19__.isSubMode)(form.fields[key])) form.fields[key].initialValue = null;
1567
+ if ((0, _schema_component_antd_association_field_util__WEBPACK_IMPORTED_MODULE_20__.isSubMode)(form.fields[key])) form.fields[key].initialValue = null;
1560
1568
  });
1561
1569
  });
1562
1570
  await form.reset();
@@ -72,6 +72,15 @@ const DataBlockCollector = (param)=>{
72
72
  const dataLoadingMode = (0, setDataLoadingModeSettingsItem_js_namespaceObject.useDataLoadingMode)();
73
73
  const shouldApplyFilter = 'FilterFormBlockProvider' !== field.decoratorType && 'FormBlockProvider' !== field.decoratorType && 'filter' !== field.decoratorProps.blockType;
74
74
  const addBlockToDataBlocks = (0, external_react_namespaceObject.useCallback)(()=>{
75
+ let filterTargetUids = [];
76
+ let s = fieldSchema;
77
+ while(s){
78
+ if (s['x-filter-targets']) {
79
+ filterTargetUids = s['x-filter-targets'].map((t)=>t.uid);
80
+ break;
81
+ }
82
+ s = s.parent;
83
+ }
75
84
  recordDataBlocks({
76
85
  uid: fieldSchema['x-uid'],
77
86
  title: field.componentProps.title,
@@ -80,6 +89,7 @@ const DataBlockCollector = (param)=>{
80
89
  associatedFields,
81
90
  foreignKeyFields: collection.foreignKeyFields,
82
91
  defaultFilter: (null == params ? void 0 : params.filter) || {},
92
+ filterTargetUids,
83
93
  service,
84
94
  dom: container.current,
85
95
  dataLoadingMode,
@@ -137,15 +147,22 @@ const useFilterBlock = ()=>{
137
147
  inProvider: false,
138
148
  recordDataBlocks: ()=>{},
139
149
  getDataBlocks: ()=>[],
140
- removeDataBlock: ()=>{}
150
+ removeDataBlock: ()=>{},
151
+ dataBlocks: []
141
152
  };
142
153
  const { dataBlocks, setDataBlocks } = ctx;
143
154
  const recordDataBlocks = (block)=>{
144
155
  const existingBlock = dataBlocks.find((item)=>item.uid === block.uid);
145
156
  if (existingBlock) {
157
+ const prevDf = JSON.stringify(existingBlock.defaultFilter);
158
+ const prevTg = JSON.stringify(existingBlock.filterTargetUids);
146
159
  existingBlock.service = block.service;
147
160
  existingBlock.defaultFilter = block.defaultFilter;
161
+ existingBlock.filterTargetUids = block.filterTargetUids;
148
162
  existingBlock.dataLoadingMode = block.dataLoadingMode;
163
+ if (JSON.stringify(existingBlock.defaultFilter) !== prevDf || JSON.stringify(existingBlock.filterTargetUids) !== prevTg) setDataBlocks((prev)=>[
164
+ ...prev
165
+ ]);
149
166
  return;
150
167
  }
151
168
  setDataBlocks((prev)=>(0, external_lodash_namespaceObject.uniqBy)([
@@ -161,6 +178,7 @@ const useFilterBlock = ()=>{
161
178
  recordDataBlocks,
162
179
  getDataBlocks,
163
180
  removeDataBlock,
181
+ dataBlocks,
164
182
  inProvider: true
165
183
  };
166
184
  };
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ mergeIncomingFiltersFromSourceBlocks: ()=>mergeIncomingFiltersFromSourceBlocks,
28
+ getFilterSourceDefaultFilter: ()=>getFilterSourceDefaultFilter
29
+ });
30
+ const external_utils_js_namespaceObject = require("./utils.js");
31
+ function mergeIncomingFiltersFromSourceBlocks(ownFilter, currentBlockUid, dataBlocks) {
32
+ if (!currentBlockUid) return null != ownFilter ? ownFilter : {};
33
+ const sources = dataBlocks.filter((b)=>{
34
+ var _b_filterTargetUids;
35
+ return (null == (_b_filterTargetUids = b.filterTargetUids) ? void 0 : _b_filterTargetUids.length) && b.filterTargetUids.includes(currentBlockUid);
36
+ });
37
+ const sourceFilters = sources.map((b)=>b.defaultFilter).filter((f)=>f && 'object' == typeof f && Object.keys(f).length > 0);
38
+ if (!sourceFilters.length) return null != ownFilter ? ownFilter : {};
39
+ const own = ownFilter && 'object' == typeof ownFilter ? ownFilter : {};
40
+ return (0, external_utils_js_namespaceObject.mergeFilter)([
41
+ ...sourceFilters,
42
+ own
43
+ ], '$and');
44
+ }
45
+ function getFilterSourceDefaultFilter(dataBlocks, filterSourceUid) {
46
+ var _dataBlocks_find;
47
+ if (!filterSourceUid) return {};
48
+ const f = null == (_dataBlocks_find = dataBlocks.find((b)=>b.uid === filterSourceUid)) ? void 0 : _dataBlocks_find.defaultFilter;
49
+ if (f && 'object' == typeof f && Object.keys(f).length) return f;
50
+ return {};
51
+ }
52
+ exports.getFilterSourceDefaultFilter = __webpack_exports__.getFilterSourceDefaultFilter;
53
+ exports.mergeIncomingFiltersFromSourceBlocks = __webpack_exports__.mergeIncomingFiltersFromSourceBlocks;
54
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
55
+ "getFilterSourceDefaultFilter",
56
+ "mergeIncomingFiltersFromSourceBlocks"
57
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
58
+ Object.defineProperty(exports, '__esModule', {
59
+ value: true
60
+ });
@@ -3,6 +3,9 @@ var __webpack_modules__ = {
3
3
  "./FilterProvider": function(module) {
4
4
  module.exports = require("./FilterProvider.js");
5
5
  },
6
+ "./incomingFilterFromSources": function(module) {
7
+ module.exports = require("./incomingFilterFromSources.js");
8
+ },
6
9
  "./utils?198b": function(module) {
7
10
  module.exports = require("./utils.js");
8
11
  }
@@ -56,10 +59,16 @@ var __webpack_exports__ = {};
56
59
  return _FilterProvider__WEBPACK_IMPORTED_MODULE_0__[key];
57
60
  }).bind(0, __WEBPACK_IMPORT_KEY__);
58
61
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
59
- var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./utils?198b");
62
+ var _incomingFilterFromSources__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./incomingFilterFromSources");
63
+ var __WEBPACK_REEXPORT_OBJECT__ = {};
64
+ for(var __WEBPACK_IMPORT_KEY__ in _incomingFilterFromSources__WEBPACK_IMPORTED_MODULE_1__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
65
+ return _incomingFilterFromSources__WEBPACK_IMPORTED_MODULE_1__[key];
66
+ }).bind(0, __WEBPACK_IMPORT_KEY__);
67
+ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
68
+ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./utils?198b");
60
69
  var __WEBPACK_REEXPORT_OBJECT__ = {};
61
- for(var __WEBPACK_IMPORT_KEY__ in _utils__WEBPACK_IMPORTED_MODULE_1__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
62
- return _utils__WEBPACK_IMPORTED_MODULE_1__[key];
70
+ for(var __WEBPACK_IMPORT_KEY__ in _utils__WEBPACK_IMPORTED_MODULE_2__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
71
+ return _utils__WEBPACK_IMPORTED_MODULE_2__[key];
63
72
  }).bind(0, __WEBPACK_IMPORT_KEY__);
64
73
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
65
74
  })();
@@ -58,6 +58,7 @@ const external_collection_manager_index_js_namespaceObject = require("../collect
58
58
  const external_schema_component_index_js_namespaceObject = require("../schema-component/index.js");
59
59
  const SchemaSettingOptions_js_namespaceObject = require("../schema-component/antd/form-item/SchemaSettingOptions.js");
60
60
  const external_FilterProvider_js_namespaceObject = require("./FilterProvider.js");
61
+ const external_incomingFilterFromSources_js_namespaceObject = require("./incomingFilterFromSources.js");
61
62
  var utils_FilterBlockType = /*#__PURE__*/ function(FilterBlockType) {
62
63
  FilterBlockType[FilterBlockType["FORM"] = 0] = "FORM";
63
64
  FilterBlockType[FilterBlockType["TABLE"] = 1] = "TABLE";
@@ -222,6 +223,7 @@ const useFilterAPI = ()=>{
222
223
  else delete storedFilter[uid];
223
224
  const mergedFilter = mergeFilter([
224
225
  ...Object.values(storedFilter).map((filter)=>(0, external_schema_component_index_js_namespaceObject.removeNullCondition)(filter)),
226
+ (0, external_incomingFilterFromSources_js_namespaceObject.getFilterSourceDefaultFilter)(dataBlocks, uid),
225
227
  block.defaultFilter
226
228
  ]);
227
229
  block.doFilter({
@@ -44,6 +44,7 @@ var external_lodash_default = /*#__PURE__*/ __webpack_require__.n(external_lodas
44
44
  const index_js_namespaceObject = require("../../../../../block-provider/hooks/index.js");
45
45
  const TableBlockProvider_js_namespaceObject = require("../../../../../block-provider/TableBlockProvider.js");
46
46
  const FilterProvider_js_namespaceObject = require("../../../../../filter-provider/FilterProvider.js");
47
+ const incomingFilterFromSources_js_namespaceObject = require("../../../../../filter-provider/incomingFilterFromSources.js");
47
48
  const utils_js_namespaceObject = require("../../../../../filter-provider/utils.js");
48
49
  const external_schema_component_index_js_namespaceObject = require("../../../../../schema-component/index.js");
49
50
  const useTableBlockProps = ()=>{
@@ -127,8 +128,9 @@ const useTableBlockProps = ()=>{
127
128
  });
128
129
  },
129
130
  onClickRow (record, setSelectedRow, selectedRow) {
130
- const { targets, uid } = (0, index_js_namespaceObject.findFilterTargets)(fieldSchema);
131
+ const { targets, uid: filterSourceUid } = (0, index_js_namespaceObject.findFilterTargets)(fieldSchema);
131
132
  const dataBlocks = getDataBlocks();
133
+ const sourceDefaultFilter = (0, incomingFilterFromSources_js_namespaceObject.getFilterSourceDefaultFilter)(dataBlocks, filterSourceUid);
132
134
  if (!targets || !targets.some((target)=>dataBlocks.some((dataBlock)=>dataBlock.uid === target.uid))) return void setSelectedRow((prev)=>prev.length ? [] : prev);
133
135
  const value = [
134
136
  record[ctx.rowKey]
@@ -142,8 +144,8 @@ const useTableBlockProps = ()=>{
142
144
  const storedFilter = (null == (_block_service_params1 = block.service.params) ? void 0 : null == (_block_service_params_ = _block_service_params1[1]) ? void 0 : _block_service_params_.filters) || {};
143
145
  if (selectedRow.includes(record[ctx.rowKey])) {
144
146
  if ('manual' === block.dataLoadingMode) return block.clearData();
145
- delete storedFilter[uid];
146
- } else storedFilter[uid] = {
147
+ delete storedFilter[filterSourceUid];
148
+ } else storedFilter[filterSourceUid] = {
147
149
  $and: [
148
150
  {
149
151
  [(null == target ? void 0 : target.field) || ctx.rowKey]: {
@@ -160,6 +162,7 @@ const useTableBlockProps = ()=>{
160
162
  const mergeList = [
161
163
  ...Object.values(storedFilter).map((filter)=>(0, external_schema_component_index_js_namespaceObject.removeNullCondition)(filter)),
162
164
  external_flat_default().unflatten(items),
165
+ sourceDefaultFilter,
163
166
  block.defaultFilter,
164
167
  prevMergedFilter
165
168
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tachybase/client",
3
- "version": "1.6.12",
3
+ "version": "1.6.14",
4
4
  "homepage": "https://github.com/tegojs/tego-standard#readme",
5
5
  "bugs": {
6
6
  "url": "https://github.com/tegojs/tego-standard/issues"