ngx-rs-ant 2.2.9 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1711,14 +1711,15 @@ class DataGridService {
1711
1711
  }
1712
1712
  return window.coast.cache[key];
1713
1713
  }
1714
- getUserColumnDataSource(tenant, className, view, field) {
1714
+ getUserColumnDataSource(tenant, className, view, field, filter) {
1715
1715
  return this.http.get('api/data/custom', {
1716
1716
  params: {
1717
1717
  executor: 'com.cs.system.data.grid.header.filter.GetUserColumnDataSource',
1718
1718
  tenant,
1719
1719
  className,
1720
1720
  view: view || '',
1721
- field
1721
+ field,
1722
+ filter: filter || ''
1722
1723
  }
1723
1724
  }).pipe(map(response => {
1724
1725
  response.data.list.unshift({
@@ -1733,14 +1734,15 @@ class DataGridService {
1733
1734
  return response.data.list;
1734
1735
  }));
1735
1736
  }
1736
- getUnitColumnDataSource(tenant, className, view, field) {
1737
+ getUnitColumnDataSource(tenant, className, view, field, filter) {
1737
1738
  return this.http.get('api/data/custom', {
1738
1739
  params: {
1739
1740
  executor: 'com.cs.system.data.grid.header.filter.GetUnitColumnDataSource',
1740
1741
  tenant,
1741
1742
  className,
1742
1743
  view: view || '',
1743
- field
1744
+ field,
1745
+ filter: filter || ''
1744
1746
  }
1745
1747
  }).pipe(map(response => {
1746
1748
  response.data.list.unshift({
@@ -1755,7 +1757,7 @@ class DataGridService {
1755
1757
  return response.data.list;
1756
1758
  }));
1757
1759
  }
1758
- getConstraintColumnDataSource(tenant, className, view, field, constraintName) {
1760
+ getConstraintColumnDataSource(tenant, className, view, field, constraintName, filter) {
1759
1761
  return this.http.get('api/data/custom', {
1760
1762
  params: {
1761
1763
  executor: 'com.cs.system.data.grid.header.filter.GetConstraintColumnDataSource',
@@ -1763,7 +1765,8 @@ class DataGridService {
1763
1765
  className,
1764
1766
  view: view || '',
1765
1767
  field,
1766
- constraintName
1768
+ constraintName,
1769
+ filter: filter || ''
1767
1770
  }
1768
1771
  }).pipe(map(response => {
1769
1772
  response.data.list.unshift({
@@ -1778,14 +1781,15 @@ class DataGridService {
1778
1781
  return response.data.list;
1779
1782
  }));
1780
1783
  }
1781
- getColumnDataSource(tenant, className, view, field) {
1784
+ getColumnDataSource(tenant, className, view, field, filter) {
1782
1785
  return this.http.get('api/data/custom', {
1783
1786
  params: {
1784
1787
  executor: 'com.cs.system.data.grid.header.filter.GetColumnDataSource',
1785
1788
  tenant,
1786
1789
  className,
1787
1790
  view: view || '',
1788
- field
1791
+ field,
1792
+ filter: filter || ''
1789
1793
  }
1790
1794
  }).pipe(map(response => {
1791
1795
  return response.data.list;
@@ -2189,7 +2193,7 @@ class DataGridFactory {
2189
2193
  };
2190
2194
  this.service = new DataGridService(http);
2191
2195
  }
2192
- makeDataGridColumns(tenant, className, view) {
2196
+ makeDataGridColumns(tenant, className, view, dataGridInstance) {
2193
2197
  const result = new Subject();
2194
2198
  this.service.getMetadataByView(tenant, className, view || '').subscribe(response => {
2195
2199
  const columns = [];
@@ -2262,40 +2266,9 @@ class DataGridFactory {
2262
2266
  break;
2263
2267
  case 'DOUBLE':
2264
2268
  case 'INTEGER':
2265
- column.headerFilter.dataSource = (options) => {
2266
- options.dataSource.postProcess = (data) => {
2267
- data.unshift({
2268
- key: '',
2269
- value: null,
2270
- text: '(空白)'
2271
- });
2272
- data.push({
2273
- key: '__',
2274
- value: '__',
2275
- text: '__',
2276
- visible: false
2277
- });
2278
- };
2279
- };
2280
2269
  column.alignment = 'right';
2281
2270
  break;
2282
2271
  case 'STRING':
2283
- column.headerFilter.dataSource = (options) => {
2284
- // TODO 超过20条会分页添加多次,不分页前端性能差,考虑在构建dataSource时处理,与日期类型存在冲突
2285
- options.dataSource.postProcess = (data) => {
2286
- data.unshift({
2287
- key: '',
2288
- value: null,
2289
- text: '(空白)'
2290
- });
2291
- data.push({
2292
- key: '__',
2293
- value: '__',
2294
- text: '__',
2295
- visible: false
2296
- });
2297
- };
2298
- };
2299
2272
  switch (field.config.constraint.type) {
2300
2273
  case 'USER':
2301
2274
  if (column.viewConfig) {
@@ -2304,7 +2277,8 @@ class DataGridFactory {
2304
2277
  column.headerFilter.dataSource = {
2305
2278
  store: new CustomStore({
2306
2279
  load: () => {
2307
- return lastValueFrom(this.service.getUserColumnDataSource(tenant, className, view, field.name));
2280
+ const filter = JSON.stringify(dataGridInstance.getCombinedFilter());
2281
+ return lastValueFrom(this.service.getUserColumnDataSource(tenant, className, view, field.name, filter));
2308
2282
  }
2309
2283
  }),
2310
2284
  paginate: true
@@ -2345,7 +2319,8 @@ class DataGridFactory {
2345
2319
  column.headerFilter.dataSource = {
2346
2320
  store: new CustomStore({
2347
2321
  load: () => {
2348
- return lastValueFrom(this.service.getUnitColumnDataSource(tenant, className, view, field.name));
2322
+ const filter = JSON.stringify(dataGridInstance.getCombinedFilter());
2323
+ return lastValueFrom(this.service.getUnitColumnDataSource(tenant, className, view, field.name, filter));
2349
2324
  }
2350
2325
  }),
2351
2326
  paginate: true
@@ -2383,7 +2358,8 @@ class DataGridFactory {
2383
2358
  column.headerFilter.dataSource = {
2384
2359
  store: new CustomStore({
2385
2360
  load: () => {
2386
- return lastValueFrom(this.service.getConstraintColumnDataSource(tenant, className, view, field.name, field.config.constraint.name));
2361
+ const filter = JSON.stringify(dataGridInstance.getCombinedFilter());
2362
+ return lastValueFrom(this.service.getConstraintColumnDataSource(tenant, className, view, field.name, field.config.constraint.name, filter));
2387
2363
  }
2388
2364
  }),
2389
2365
  paginate: true
@@ -2462,8 +2438,7 @@ class DataGridFactory {
2462
2438
  if (loadOptions.dataField) {
2463
2439
  // 未重写headerFilter的dataSource时,headerFilter会调用load方法加载筛选树,重写该方法查询该表所有数据
2464
2440
  // 该方式存在风险,无法识别DevExtreme一定是通过headerFilter过滤才存在dataField参数
2465
- // TODO 需要考虑已存在的过滤条件,与带约束的字段存在冲突,此处存在过滤条件,加载列时带约束的字段构建的dataSource获取不到过滤条件
2466
- return lastValueFrom(this.service.getColumnDataSource(tenant, className, view, loadOptions.dataField));
2441
+ return lastValueFrom(this.service.getColumnDataSource(tenant, className, view, loadOptions.dataField, JSON.stringify(loadOptions.filter)));
2467
2442
  }
2468
2443
  let params = '?';
2469
2444
  if (loadOptions.skip || loadOptions.take) {
@@ -3015,7 +2990,7 @@ class DataGridComponent {
3015
2990
  }
3016
2991
  reload() {
3017
2992
  this.columns.length = 0;
3018
- this.factory.makeDataGridColumns(this.tenant, this.className, this.view).subscribe(columns => {
2993
+ this.factory.makeDataGridColumns(this.tenant, this.className, this.view, this).subscribe(columns => {
3019
2994
  if (this.customColumnFn) {
3020
2995
  this.customColumnFn(columns);
3021
2996
  }