@delon/abc 12.2.1 → 12.4.0

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/bundles/abc.umd.js +3 -3
  2. package/bundles/autoFocus.umd.js +4 -4
  3. package/bundles/avatarList.umd.js +4 -4
  4. package/bundles/count-down.umd.js +4 -4
  5. package/bundles/datePicker.umd.js +5 -5
  6. package/bundles/downFile.umd.js +4 -4
  7. package/bundles/edit.umd.js +4 -4
  8. package/bundles/ellipsis.umd.js +4 -4
  9. package/bundles/errorCollect.umd.js +4 -4
  10. package/bundles/exception.umd.js +12 -9
  11. package/bundles/exception.umd.js.map +1 -1
  12. package/bundles/footerToolbar.umd.js +4 -4
  13. package/bundles/fullContent.umd.js +6 -8
  14. package/bundles/fullContent.umd.js.map +1 -1
  15. package/bundles/globalFooter.umd.js +4 -4
  16. package/bundles/grid.umd.js +3 -3
  17. package/bundles/image.umd.js +3 -3
  18. package/bundles/let.umd.js +4 -4
  19. package/bundles/loading.umd.js +6 -8
  20. package/bundles/loading.umd.js.map +1 -1
  21. package/bundles/lodop.umd.js +5 -7
  22. package/bundles/lodop.umd.js.map +1 -1
  23. package/bundles/media.umd.js +5 -7
  24. package/bundles/media.umd.js.map +1 -1
  25. package/bundles/noticeIcon.umd.js +4 -4
  26. package/bundles/onboarding.umd.js +6 -8
  27. package/bundles/onboarding.umd.js.map +1 -1
  28. package/bundles/pageHeader.umd.js +4 -4
  29. package/bundles/pdf.umd.js +4 -4
  30. package/bundles/qr.umd.js +3 -3
  31. package/bundles/quickMenu.umd.js +4 -4
  32. package/bundles/result.umd.js +4 -4
  33. package/bundles/reuseTab.umd.js +15 -26
  34. package/bundles/reuseTab.umd.js.map +1 -1
  35. package/bundles/table.umd.js +251 -147
  36. package/bundles/table.umd.js.map +1 -1
  37. package/bundles/tagSelect.umd.js +4 -4
  38. package/bundles/view.umd.js +4 -4
  39. package/bundles/xlsx.umd.js +30 -37
  40. package/bundles/xlsx.umd.js.map +1 -1
  41. package/bundles/zip.umd.js +5 -7
  42. package/bundles/zip.umd.js.map +1 -1
  43. package/esm2015/exception/exception.component.js +7 -4
  44. package/esm2015/exception/exception.module.js +3 -2
  45. package/esm2015/lodop/lodop.service.js +1 -1
  46. package/esm2015/reuse-tab/reuse-tab-context-menu.component.js +2 -2
  47. package/esm2015/reuse-tab/reuse-tab-context.service.js +4 -13
  48. package/esm2015/reuse-tab/reuse-tab.component.js +7 -7
  49. package/esm2015/st/index.js +2 -0
  50. package/esm2015/st/st-column-source.js +28 -7
  51. package/esm2015/st/st-data-source.js +4 -4
  52. package/esm2015/st/st-export.js +9 -3
  53. package/esm2015/st/st-filter.component.js +149 -0
  54. package/esm2015/st/st-td.component.js +232 -0
  55. package/esm2015/st/st.component.js +28 -118
  56. package/esm2015/st/st.config.js +1 -2
  57. package/esm2015/st/st.interfaces.js +1 -1
  58. package/esm2015/st/st.module.js +9 -3
  59. package/esm2015/st/st.types.js +1 -1
  60. package/esm2015/st/table.js +3 -1
  61. package/esm2015/xlsx/xlsx.service.js +23 -29
  62. package/esm2015/xlsx/xlsx.types.js +1 -1
  63. package/esm2015/zip/zip.service.js +1 -1
  64. package/exception/exception.component.d.ts +3 -2
  65. package/exception/exception.metadata.json +1 -1
  66. package/fesm2015/exception.js +8 -4
  67. package/fesm2015/exception.js.map +1 -1
  68. package/fesm2015/lodop.js.map +1 -1
  69. package/fesm2015/reuseTab.js +10 -19
  70. package/fesm2015/reuseTab.js.map +1 -1
  71. package/fesm2015/table.js +447 -132
  72. package/fesm2015/table.js.map +1 -1
  73. package/fesm2015/xlsx.js +22 -28
  74. package/fesm2015/xlsx.js.map +1 -1
  75. package/fesm2015/zip.js.map +1 -1
  76. package/package.json +4 -4
  77. package/reuse-tab/reuse-tab.component.d.ts +1 -1
  78. package/reuse-tab/reuseTab.metadata.json +1 -1
  79. package/st/index.d.ts +1 -0
  80. package/st/st-filter.component.d.ts +18 -0
  81. package/st/st-td.component.d.ts +27 -0
  82. package/st/st.component.d.ts +8 -23
  83. package/st/st.interfaces.d.ts +57 -3
  84. package/st/st.types.d.ts +6 -0
  85. package/st/style/index.less +28 -12
  86. package/st/table.d.ts +2 -0
  87. package/st/table.metadata.json +1 -1
  88. package/sv/style/index.less +1 -0
  89. package/theme-default.less +3 -0
  90. package/xlsx/xlsx.metadata.json +1 -1
  91. package/xlsx/xlsx.types.d.ts +3 -0
@@ -1,13 +1,13 @@
1
1
  /**
2
- * @license ng-alain(cipchk@qq.com) v12.2.1
2
+ * @license ng-alain(cipchk@qq.com) v12.4.0
3
3
  * (c) 2020 cipchk https://ng-alain.com/
4
4
  * License: MIT
5
5
  */
6
6
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/platform-browser'), require('@delon/acl'), require('@delon/theme'), require('@delon/util/other'), require('@angular/common'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('@delon/util/format'), require('@delon/abc/xlsx'), require('@angular/router'), require('@delon/util/config'), require('@delon/util/decorator'), require('ng-zorro-antd/dropdown'), require('@angular/forms'), require('@delon/abc/let'), require('ng-zorro-antd/badge'), require('ng-zorro-antd/checkbox'), require('ng-zorro-antd/divider'), require('ng-zorro-antd/icon'), require('ng-zorro-antd/input'), require('ng-zorro-antd/menu'), require('ng-zorro-antd/popconfirm'), require('ng-zorro-antd/radio'), require('ng-zorro-antd/resizable'), require('ng-zorro-antd/table'), require('ng-zorro-antd/tag'), require('ng-zorro-antd/tooltip')) :
8
- typeof define === 'function' && define.amd ? define('@delon/abc/st', ['exports', '@angular/core', '@angular/platform-browser', '@delon/acl', '@delon/theme', '@delon/util/other', '@angular/common', '@angular/common/http', 'rxjs', 'rxjs/operators', '@delon/util/format', '@delon/abc/xlsx', '@angular/router', '@delon/util/config', '@delon/util/decorator', 'ng-zorro-antd/dropdown', '@angular/forms', '@delon/abc/let', 'ng-zorro-antd/badge', 'ng-zorro-antd/checkbox', 'ng-zorro-antd/divider', 'ng-zorro-antd/icon', 'ng-zorro-antd/input', 'ng-zorro-antd/menu', 'ng-zorro-antd/popconfirm', 'ng-zorro-antd/radio', 'ng-zorro-antd/resizable', 'ng-zorro-antd/table', 'ng-zorro-antd/tag', 'ng-zorro-antd/tooltip'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.delon = global.delon || {}, global.delon.abc = global.delon.abc || {}, global.delon.abc.st = {}), global.ng.core, global.ng.platformBrowser, global.delon.acl, global.delon.theme, global.other, global.ng.common, global.ng.common.http, global.rxjs, global.rxjs.operators, global.format, global.delon.abc.xlsx, global.ng.router, global.config, global.decorator, global['ng-zorro-antd/dropdown'], global.ng.forms, global.delon.abc.let, global['ng-zorro-antd/badge'], global['ng-zorro-antd/checkbox'], global['ng-zorro-antd/divider'], global['ng-zorro-antd/icon'], global['ng-zorro-antd/input'], global['ng-zorro-antd/menu'], global['ng-zorro-antd/popconfirm'], global['ng-zorro-antd/radio'], global.resizable, global['ng-zorro-antd/table'], global['ng-zorro-antd/tag'], global['ng-zorro-antd/tooltip']));
10
- }(this, (function (exports, i0, platformBrowser, acl, theme, other, common, http, rxjs, operators, format, xlsx, router, config, decorator, dropdown, forms, _let, badge, checkbox, divider, icon, input, menu, popconfirm, radio, resizable, table, tag, tooltip) { 'use strict';
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/platform-browser'), require('@delon/acl'), require('@delon/theme'), require('@delon/util/other'), require('@angular/common'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('@delon/util/format'), require('@delon/abc/xlsx'), require('@delon/util/config'), require('@delon/util/decorator'), require('ng-zorro-antd/dropdown'), require('@angular/forms'), require('@delon/abc/let'), require('ng-zorro-antd/badge'), require('ng-zorro-antd/checkbox'), require('ng-zorro-antd/date-picker'), require('ng-zorro-antd/divider'), require('ng-zorro-antd/icon'), require('ng-zorro-antd/input'), require('ng-zorro-antd/input-number'), require('ng-zorro-antd/menu'), require('ng-zorro-antd/popconfirm'), require('ng-zorro-antd/radio'), require('ng-zorro-antd/resizable'), require('ng-zorro-antd/table'), require('ng-zorro-antd/tag'), require('ng-zorro-antd/tooltip'), require('@angular/router')) :
8
+ typeof define === 'function' && define.amd ? define('@delon/abc/st', ['exports', '@angular/core', '@angular/platform-browser', '@delon/acl', '@delon/theme', '@delon/util/other', '@angular/common', '@angular/common/http', 'rxjs', 'rxjs/operators', '@delon/util/format', '@delon/abc/xlsx', '@delon/util/config', '@delon/util/decorator', 'ng-zorro-antd/dropdown', '@angular/forms', '@delon/abc/let', 'ng-zorro-antd/badge', 'ng-zorro-antd/checkbox', 'ng-zorro-antd/date-picker', 'ng-zorro-antd/divider', 'ng-zorro-antd/icon', 'ng-zorro-antd/input', 'ng-zorro-antd/input-number', 'ng-zorro-antd/menu', 'ng-zorro-antd/popconfirm', 'ng-zorro-antd/radio', 'ng-zorro-antd/resizable', 'ng-zorro-antd/table', 'ng-zorro-antd/tag', 'ng-zorro-antd/tooltip', '@angular/router'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.delon = global.delon || {}, global.delon.abc = global.delon.abc || {}, global.delon.abc.st = {}), global.ng.core, global.ng.platformBrowser, global.delon.acl, global.delon.theme, global.other, global.ng.common, global.ng.common.http, global.rxjs, global.rxjs.operators, global.format, global.delon.abc.xlsx, global.config, global.decorator, global["ng-zorro-antd/dropdown"], global.ng.forms, global.delon.abc["let"], global["ng-zorro-antd/badge"], global["ng-zorro-antd/checkbox"], global.datePicker, global["ng-zorro-antd/divider"], global["ng-zorro-antd/icon"], global["ng-zorro-antd/input"], global.inputNumber, global["ng-zorro-antd/menu"], global["ng-zorro-antd/popconfirm"], global["ng-zorro-antd/radio"], global.resizable, global["ng-zorro-antd/table"], global["ng-zorro-antd/tag"], global["ng-zorro-antd/tooltip"], global.ng.router));
10
+ })(this, (function (exports, i0, platformBrowser, acl, theme, other, common, http, rxjs, operators, format, xlsx, config, decorator, dropdown, forms, _let, badge, checkbox, datePicker, divider, icon, input, inputNumber, menu, popconfirm, radio, resizable, table, tag, tooltip, router) { 'use strict';
11
11
 
12
12
  function _interopNamespace(e) {
13
13
  if (e && e.__esModule) return e;
@@ -18,14 +18,12 @@
18
18
  var d = Object.getOwnPropertyDescriptor(e, k);
19
19
  Object.defineProperty(n, k, d.get ? d : {
20
20
  enumerable: true,
21
- get: function () {
22
- return e[k];
23
- }
21
+ get: function () { return e[k]; }
24
22
  });
25
23
  }
26
24
  });
27
25
  }
28
- n['default'] = e;
26
+ n["default"] = e;
29
27
  return Object.freeze(n);
30
28
  }
31
29
 
@@ -569,14 +567,32 @@
569
567
  }
570
568
  var res = item.filter;
571
569
  res.type = res.type || 'default';
570
+ res.showOPArea = res.showOPArea !== false;
572
571
  var icon = 'filter';
573
572
  var iconTheme = 'fill';
574
- if (res.type === 'keyword') {
575
- if (res.menus == null || res.menus.length === 0) {
576
- res.menus = [{ value: '' }];
577
- }
578
- icon = 'search';
579
- iconTheme = 'outline';
573
+ var fixMenus = true;
574
+ var value = undefined;
575
+ switch (res.type) {
576
+ case 'keyword':
577
+ icon = 'search';
578
+ iconTheme = 'outline';
579
+ break;
580
+ case 'number':
581
+ icon = 'search';
582
+ iconTheme = 'outline';
583
+ res.number = Object.assign({ step: 1, min: -Infinity, max: Infinity }, res.number);
584
+ break;
585
+ case 'date':
586
+ icon = 'calendar';
587
+ iconTheme = 'outline';
588
+ res.date = Object.assign({ range: false, mode: 'date', showToday: true, showNow: false }, res.date);
589
+ break;
590
+ default:
591
+ fixMenus = false;
592
+ break;
593
+ }
594
+ if (fixMenus && (res.menus == null || res.menus.length === 0)) {
595
+ res.menus = [{ value: value }];
580
596
  }
581
597
  if (res.menus.length === 0) {
582
598
  return null;
@@ -690,6 +706,9 @@
690
706
  if (this.acl && item.acl && !this.acl.can(item.acl)) {
691
707
  continue;
692
708
  }
709
+ if (Array.isArray(item.children) && item.children.length > 0) {
710
+ item.children = this.cleanCond(item.children);
711
+ }
693
712
  res.push(item);
694
713
  }
695
714
  }
@@ -1104,9 +1123,9 @@
1104
1123
  }
1105
1124
  return _this.get(result[i], c, i);
1106
1125
  });
1107
- if (rowClassName) {
1108
- result[i]._rowClassName = rowClassName(result[i], i);
1109
- }
1126
+ result[i]._rowClassName = [rowClassName ? rowClassName(result[i], i) : null, result[i].className]
1127
+ .filter(function (w) { return !!w; })
1128
+ .join(' ');
1110
1129
  };
1111
1130
  for (var i = 0, len = result.length; i < len; i++) {
1112
1131
  _loop_1(i, len);
@@ -1332,11 +1351,17 @@
1332
1351
  ret.t = 'n';
1333
1352
  break;
1334
1353
  case 'date':
1335
- ret.t = 'd';
1354
+ // Can't be a empty value, it will cause `#NULL!`
1355
+ // See https://github.com/SheetJS/sheetjs/blob/master/docbits/52_datatype.md
1356
+ if (("" + val).length > 0) {
1357
+ ret.t = 'd';
1358
+ // Number Formats: https://github.com/SheetJS/sheetjs/blob/master/docbits/63_numfmt.md
1359
+ ret.z = col.dateFormat;
1360
+ }
1336
1361
  break;
1337
1362
  case 'yn':
1338
1363
  var yn = col.yn;
1339
- ret.v = ret.v === yn.truth ? yn.yes : yn.no;
1364
+ ret.v = val === yn.truth ? yn.yes : yn.no;
1340
1365
  break;
1341
1366
  }
1342
1367
  }
@@ -1478,7 +1503,6 @@
1478
1503
  trigger: 'click',
1479
1504
  placement: 'top'
1480
1505
  },
1481
- rowClickTime: 200,
1482
1506
  btnIcon: {
1483
1507
  theme: 'outline',
1484
1508
  spin: false
@@ -1507,14 +1531,11 @@
1507
1531
  };
1508
1532
 
1509
1533
  var STComponent = /** @class */ (function () {
1510
- function STComponent(i18nSrv, cdr, router, el, exportSrv, modalHelper, drawerHelper, doc, columnSource, dataSource, delonI18n, configSrv, cms) {
1534
+ function STComponent(i18nSrv, cdr, el, exportSrv, doc, columnSource, dataSource, delonI18n, configSrv, cms) {
1511
1535
  var _this = this;
1512
1536
  this.cdr = cdr;
1513
- this.router = router;
1514
1537
  this.el = el;
1515
1538
  this.exportSrv = exportSrv;
1516
- this.modalHelper = modalHelper;
1517
- this.drawerHelper = drawerHelper;
1518
1539
  this.doc = doc;
1519
1540
  this.columnSource = columnSource;
1520
1541
  this.dataSource = dataSource;
@@ -1522,7 +1543,6 @@
1522
1543
  this.cms = cms;
1523
1544
  this.destroy$ = new rxjs.Subject();
1524
1545
  this.totalTpl = "";
1525
- this.rowClickCount = 0;
1526
1546
  this.customWidthConfig = false;
1527
1547
  this._widthConfig = [];
1528
1548
  this.locale = {};
@@ -1546,7 +1566,6 @@
1546
1566
  this.showHeader = true;
1547
1567
  this.expandRowByClick = false;
1548
1568
  this.expandAccordion = false;
1549
- this.rowClickTime = 200;
1550
1569
  this.responsive = true;
1551
1570
  this.error = new i0.EventEmitter();
1552
1571
  this.change = new i0.EventEmitter();
@@ -1665,14 +1684,6 @@
1665
1684
  enumerable: false,
1666
1685
  configurable: true
1667
1686
  });
1668
- Object.defineProperty(STComponent.prototype, "routerState", {
1669
- get: function () {
1670
- var _b = this, pi = _b.pi, ps = _b.ps, total = _b.total;
1671
- return { pi: pi, ps: ps, total: total };
1672
- },
1673
- enumerable: false,
1674
- configurable: true
1675
- });
1676
1687
  STComponent.prototype.setCog = function (cog) {
1677
1688
  var copyMultiSort = Object.assign({}, cog.multiSort);
1678
1689
  // Because multiSort.global will affect the result, it should be removed first, and multiSort will be operated again after processing.
@@ -1879,46 +1890,30 @@
1879
1890
  }
1880
1891
  this.changeEmit(type);
1881
1892
  };
1882
- STComponent.prototype._click = function (e, item, col) {
1883
- e.preventDefault();
1884
- e.stopPropagation();
1885
- var res = col.click(item, this);
1886
- if (typeof res === 'string') {
1887
- this.router.navigateByUrl(res, { state: this.routerState });
1888
- }
1889
- return false;
1890
- };
1891
1893
  STComponent.prototype.closeOtherExpand = function (item) {
1892
1894
  if (this.expandAccordion === false)
1893
1895
  return;
1894
1896
  this._data.filter(function (i) { return i !== item; }).forEach(function (i) { return (i.expand = false); });
1895
1897
  };
1896
- STComponent.prototype._rowClick = function (e, item, index) {
1897
- var _this = this;
1898
+ STComponent.prototype._rowClick = function (e, item, index, dbl) {
1898
1899
  var el = e.target;
1899
1900
  if (el.nodeName === 'INPUT')
1900
1901
  return;
1901
- var _b = this, expand = _b.expand, expandRowByClick = _b.expandRowByClick, rowClickTime = _b.rowClickTime;
1902
+ var _b = this, expand = _b.expand, expandRowByClick = _b.expandRowByClick;
1902
1903
  if (!!expand && item.showExpand !== false && expandRowByClick) {
1903
1904
  item.expand = !item.expand;
1904
1905
  this.closeOtherExpand(item);
1905
1906
  this.changeEmit('expand', item);
1906
1907
  return;
1907
1908
  }
1908
- ++this.rowClickCount;
1909
- if (this.rowClickCount !== 1)
1910
- return;
1911
- setTimeout(function () {
1912
- var data = { e: e, item: item, index: index };
1913
- if (_this.rowClickCount === 1) {
1914
- _this._clickRowClassName(el, item, index);
1915
- _this.changeEmit('click', data);
1916
- }
1917
- else {
1918
- _this.changeEmit('dblClick', data);
1919
- }
1920
- _this.rowClickCount = 0;
1921
- }, rowClickTime);
1909
+ var data = { e: e, item: item, index: index };
1910
+ if (dbl) {
1911
+ this.changeEmit('dblClick', data);
1912
+ }
1913
+ else {
1914
+ this._clickRowClassName(el, item, index);
1915
+ this.changeEmit('click', data);
1916
+ }
1922
1917
  };
1923
1918
  STComponent.prototype._clickRowClassName = function (el, item, index) {
1924
1919
  var cr = this.clickRowClassName;
@@ -2027,32 +2022,24 @@
2027
2022
  };
2028
2023
  // #endregion
2029
2024
  // #region filter
2030
- STComponent.prototype.handleFilter = function (col) {
2025
+ STComponent.prototype._handleFilter = function (col, confirm) {
2026
+ if (!confirm) {
2027
+ this.columnSource.cleanFilter(col);
2028
+ }
2031
2029
  // 过滤表示一种数据的变化应重置页码为 `1`
2032
2030
  this.pi = 1;
2033
2031
  this.columnSource.updateDefault(col.filter);
2034
2032
  this.loadPageData();
2035
2033
  this.changeEmit('filter', col);
2036
2034
  };
2037
- STComponent.prototype._filterConfirm = function (col) {
2038
- this.handleFilter(col);
2039
- };
2040
- STComponent.prototype._filterRadio = function (col, item, checked) {
2041
- col.filter.menus.forEach(function (i) { return (i.checked = false); });
2042
- item.checked = checked;
2043
- };
2044
- STComponent.prototype._filterClear = function (col) {
2045
- this.columnSource.cleanFilter(col);
2046
- this.handleFilter(col);
2035
+ STComponent.prototype.handleFilterNotify = function (value) {
2036
+ this.changeEmit('filterChange', value);
2047
2037
  };
2048
2038
  STComponent.prototype.clearFilter = function () {
2049
2039
  var _this = this;
2050
2040
  this._columns.filter(function (w) { return w.filter && w.filter.default === true; }).forEach(function (col) { return _this.columnSource.cleanFilter(col); });
2051
2041
  return this;
2052
2042
  };
2053
- STComponent.prototype._filterClick = function ($event) {
2054
- $event.stopPropagation();
2055
- };
2056
2043
  // #endregion
2057
2044
  // #region checkbox
2058
2045
  /** 清除所有 `checkbox` */
@@ -2073,10 +2060,6 @@
2073
2060
  this._data.filter(function (w) { return !w.disabled; }).forEach(function (i) { return (i.checked = checked); });
2074
2061
  return this._refCheck()._checkNotify();
2075
2062
  };
2076
- STComponent.prototype._checkSelection = function (i, value) {
2077
- i.checked = value;
2078
- return this._refCheck()._checkNotify();
2079
- };
2080
2063
  STComponent.prototype._rowSelection = function (row) {
2081
2064
  row.select(this._data);
2082
2065
  return this._refCheck()._checkNotify();
@@ -2094,65 +2077,17 @@
2094
2077
  this.changeEmit('radio', null);
2095
2078
  return this;
2096
2079
  };
2097
- STComponent.prototype._refRadio = function (checked, item) {
2098
- // if (item.disabled === true) return;
2099
- this._data.filter(function (w) { return !w.disabled; }).forEach(function (i) { return (i.checked = false); });
2100
- item.checked = checked;
2101
- this.changeEmit('radio', item);
2102
- return this;
2103
- };
2104
2080
  // #endregion
2105
- // #region buttons
2106
- STComponent.prototype._btnClick = function (record, btn, ev) {
2107
- var _b, _c;
2108
- var _this = this;
2109
- if (ev) {
2110
- ev.stopPropagation();
2111
- }
2112
- if (btn.type === 'modal' || btn.type === 'static') {
2113
- var modal = btn.modal;
2114
- var obj = (_b = {}, _b[modal.paramsName] = record, _b);
2115
- this.modalHelper[btn.type === 'modal' ? 'create' : 'createStatic'](modal.component, Object.assign(Object.assign({}, obj), (modal.params && modal.params(record))), other.deepMergeKey({}, true, this.cog.modal, modal))
2116
- .pipe(operators.filter(function (w) { return typeof w !== 'undefined'; }))
2117
- .subscribe(function (res) { return _this.btnCallback(record, btn, res); });
2118
- return;
2119
- }
2120
- else if (btn.type === 'drawer') {
2121
- var drawer = btn.drawer;
2122
- var obj = (_c = {}, _c[drawer.paramsName] = record, _c);
2123
- this.drawerHelper
2124
- .create(drawer.title, drawer.component, Object.assign(Object.assign({}, obj), (drawer.params && drawer.params(record))), other.deepMergeKey({}, true, this.cog.drawer, drawer))
2125
- .pipe(operators.filter(function (w) { return typeof w !== 'undefined'; }))
2126
- .subscribe(function (res) { return _this.btnCallback(record, btn, res); });
2127
- return;
2128
- }
2129
- else if (btn.type === 'link') {
2130
- var clickRes = this.btnCallback(record, btn);
2131
- if (typeof clickRes === 'string') {
2132
- this.router.navigateByUrl(clickRes, { state: this.routerState });
2133
- }
2134
- return;
2135
- }
2136
- this.btnCallback(record, btn);
2137
- };
2138
- STComponent.prototype.btnCallback = function (record, btn, modal) {
2139
- if (!btn.click)
2140
- return;
2141
- if (typeof btn.click === 'string') {
2142
- switch (btn.click) {
2143
- case 'load':
2144
- this.load();
2145
- break;
2146
- case 'reload':
2147
- this.reload();
2148
- break;
2149
- }
2150
- }
2151
- else {
2152
- return btn.click(record, modal, this);
2081
+ STComponent.prototype._handleTd = function (ev) {
2082
+ switch (ev.type) {
2083
+ case 'checkbox':
2084
+ this._refCheck()._checkNotify();
2085
+ break;
2086
+ case 'radio':
2087
+ this.changeEmit('radio', ev.item);
2088
+ break;
2153
2089
  }
2154
2090
  };
2155
- // #endregion
2156
2091
  // #region export
2157
2092
  /**
2158
2093
  * 导出当前页,确保已经注册 `XlsxModule`
@@ -2307,7 +2242,7 @@
2307
2242
  { type: i0.Component, args: [{
2308
2243
  selector: 'st',
2309
2244
  exportAs: 'st',
2310
- template: "<ng-template #btnTpl let-i let-btn=\"btn\">\n <ng-container *ngIf=\"!btn.tooltip\">\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, btn: btn }\"></ng-template>\n </ng-container>\n <span *ngIf=\"btn.tooltip\" nz-tooltip [nzTooltipTitle]=\"btn.tooltip\">\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, btn: btn }\"></ng-template>\n </span>\n</ng-template>\n<ng-template #btnItemTpl let-i let-btn=\"btn\">\n <a\n *ngIf=\"btn.pop\"\n nz-popconfirm\n [nzPopconfirmTitle]=\"btn.pop.title\"\n [nzIcon]=\"btn.pop.icon\"\n [nzCondition]=\"btn.pop.condition(i)\"\n [nzCancelText]=\"btn.pop.cancelText\"\n [nzOkText]=\"btn.pop.okText\"\n [nzOkType]=\"btn.pop.okType\"\n (nzOnConfirm)=\"_btnClick(i, btn)\"\n class=\"st__btn-text\"\n [ngClass]=\"btn.className\"\n (click)=\"_stopPropagation($event)\"\n >\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, btn: btn }\"></ng-template>\n </a>\n <a *ngIf=\"!btn.pop\" (click)=\"_btnClick(i, btn, $event)\" class=\"st__btn-text\" [ngClass]=\"btn.className\">\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, btn: btn }\"></ng-template>\n </a>\n</ng-template>\n<ng-template #btnTextTpl let-i let-btn=\"btn\">\n <ng-container *ngIf=\"btn.icon\">\n <i\n *ngIf=\"!btn.icon.iconfont\"\n nz-icon\n [nzType]=\"btn.icon.type\"\n [nzTheme]=\"btn.icon.theme\"\n [nzSpin]=\"btn.icon.spin\"\n [nzTwotoneColor]=\"btn.icon.twoToneColor\"\n ></i>\n <i *ngIf=\"btn.icon.iconfont\" nz-icon [nzIconfont]=\"btn.icon.iconfont\"></i>\n </ng-container>\n <span [innerHTML]=\"btn._text\" [ngClass]=\"{ 'pl-xs': btn.icon }\"></span>\n</ng-template>\n<ng-template #titleTpl let-i>\n <span [innerHTML]=\"i._text\"></span>\n <small *ngIf=\"i.optional\" class=\"st__head-optional\" [innerHTML]=\"i.optional\"></small>\n <i\n *ngIf=\"i.optionalHelp\"\n class=\"st__head-tip\"\n nz-tooltip\n [nzTooltipTitle]=\"i.optionalHelp\"\n nz-icon\n nzType=\"question-circle\"\n ></i>\n</ng-template>\n<ng-template #chkAllTpl let-custom>\n <label\n nz-checkbox\n class=\"st__checkall\"\n [nzDisabled]=\"_allCheckedDisabled\"\n [(ngModel)]=\"_allChecked\"\n [nzIndeterminate]=\"_indeterminate\"\n (ngModelChange)=\"_checkAll()\"\n [class.ant-table-selection-select-all-custom]=\"custom\"\n ></label>\n</ng-template>\n<nz-table\n #table\n [nzData]=\"_data\"\n [(nzPageIndex)]=\"pi\"\n (nzPageIndexChange)=\"_change('pi')\"\n [(nzPageSize)]=\"ps\"\n (nzPageSizeChange)=\"_change('ps')\"\n [nzTotal]=\"total\"\n [nzShowPagination]=\"_isPagination\"\n [nzFrontPagination]=\"false\"\n [nzBordered]=\"bordered\"\n [nzSize]=\"size\"\n [nzLoading]=\"_loading\"\n [nzLoadingDelay]=\"loadingDelay\"\n [nzLoadingIndicator]=\"loadingIndicator\"\n [nzTitle]=\"header!\"\n [nzFooter]=\"footer!\"\n [nzScroll]=\"scroll\"\n [nzVirtualItemSize]=\"virtualItemSize\"\n [nzVirtualMaxBufferPx]=\"virtualMaxBufferPx\"\n [nzVirtualMinBufferPx]=\"virtualMinBufferPx\"\n [nzVirtualForTrackBy]=\"virtualForTrackBy\"\n [nzNoResult]=\"noResult!\"\n [nzPageSizeOptions]=\"page.pageSizes!\"\n [nzShowQuickJumper]=\"page.showQuickJumper\"\n [nzShowSizeChanger]=\"page.showSize\"\n [nzPaginationPosition]=\"page.position!\"\n [nzPaginationType]=\"page.type!\"\n [nzItemRender]=\"page.itemRender!\"\n [nzSimple]=\"page.simple\"\n [nzShowTotal]=\"totalTpl\"\n [nzWidthConfig]=\"_widthConfig\"\n (contextmenu)=\"onContextmenu($event)\"\n>\n <thead *ngIf=\"showHeader\">\n <tr *ngFor=\"let row of _headers; let rowFirst = first\">\n <th *ngIf=\"rowFirst && expand\" nzWidth=\"50px\" [rowSpan]=\"_headers.length\"></th>\n <ng-container *ngFor=\"let h of row; let index = index; let last = last\">\n <th\n *let=\"h.column as _c\"\n [colSpan]=\"h.colSpan\"\n [rowSpan]=\"h.rowSpan\"\n [nzWidth]=\"$any(_c).width\"\n [nzLeft]=\"_c._left!\"\n [nzRight]=\"_c._right!\"\n [ngClass]=\"_c.className!\"\n [attr.data-col]=\"_c.indexKey\"\n [attr.data-col-index]=\"index\"\n [nzShowSort]=\"_c._sort.enabled\"\n [nzSortOrder]=\"$any(_c)._sort.default\"\n (nzSortOrderChange)=\"sort(_c, index, $event)\"\n [nzCustomFilter]=\"$any(_c).filter\"\n nz-resizable\n [nzDisabled]=\"last || $any(_c).resizable.disabled\"\n [nzMaxWidth]=\"$any(_c).resizable.maxWidth\"\n [nzMinWidth]=\"$any(_c).resizable.minWidth\"\n [nzBounds]=\"$any(_c).resizable.bounds\"\n [nzPreview]=\"$any(_c).resizable.preview\"\n (nzResizeEnd)=\"colResize($event, _c)\"\n >\n <nz-resize-handle *ngIf=\"$any(!last && !$any(_c).resizable.disabled)\" nzDirection=\"right\"\n ><i></i\n ></nz-resize-handle>\n <ng-template\n #renderTitle\n [ngTemplateOutlet]=\"_c.__renderTitle!\"\n [ngTemplateOutletContext]=\"{ $implicit: h.column, index: index }\"\n ></ng-template>\n <ng-container *ngIf=\"!_c.__renderTitle; else renderTitle\">\n <ng-container [ngSwitch]=\"_c.type\">\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <ng-container *ngIf=\"_c.selections!.length === 0\">\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: false }\">\n </ng-template>\n </ng-container>\n <div *ngIf=\"_c.selections!.length > 0\" class=\"ant-table-selection\">\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: true }\">\n </ng-template>\n <div\n *ngIf=\"_c.selections!.length\"\n nz-dropdown\n nzPlacement=\"bottomLeft\"\n [nzDropdownMenu]=\"selectionMenu\"\n class=\"ant-table-selection-down st__checkall-selection\"\n >\n <i nz-icon nzType=\"down\"></i>\n </div>\n <nz-dropdown-menu #selectionMenu=\"nzDropdownMenu\">\n <ul nz-menu class=\"ant-table-selection-menu\">\n <li\n nz-menu-item\n *ngFor=\"let rw of _c.selections\"\n (click)=\"_rowSelection(rw)\"\n [innerHTML]=\"rw.text\"\n ></li>\n </ul>\n </nz-dropdown-menu>\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-template\n [ngTemplateOutlet]=\"titleTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: _c.title }\"\n ></ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"_c.filter\">\n <div\n nz-th-extra\n *let=\"_c.filter as _f\"\n class=\"ant-table-filter-trigger-container st__filter\"\n [class.ant-table-filter-trigger-container-open]=\"$any(_f).visible\"\n >\n <span\n class=\"ant-table-filter-trigger\"\n [class.active]=\"$any(_f).visible || _f.default\"\n nz-dropdown\n [nzDropdownMenu]=\"filterMenu\"\n nzTrigger=\"click\"\n [nzClickHide]=\"false\"\n [(nzVisible)]=\"$any(_f).visible\"\n nzOverlayClassName=\"st__filter-wrap\"\n (click)=\"_filterClick($event)\"\n >\n <i nz-icon [nzType]=\"$any(_f).icon.type\" [nzTheme]=\"$any(_f).icon.theme\"></i>\n </span>\n <nz-dropdown-menu #filterMenu=\"nzDropdownMenu\">\n <div class=\"ant-table-filter-dropdown\">\n <ng-container [ngSwitch]=\"_f.type\">\n <div *ngSwitchCase=\"'keyword'\" class=\"st__filter-keyword\">\n <input\n type=\"text\"\n nz-input\n [attr.placeholder]=\"$any(_f).menus[0].text\"\n [(ngModel)]=\"$any(_f).menus[0].value\"\n />\n </div>\n <ul *ngSwitchDefault nz-menu>\n <ng-container *ngIf=\"_f.multiple\">\n <li nz-menu-item *ngFor=\"let filter of _f.menus\">\n <label nz-checkbox [(ngModel)]=\"filter.checked\">{{ filter.text }}</label>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!_f.multiple\">\n <li nz-menu-item *ngFor=\"let filter of _f.menus\">\n <label\n nz-radio\n [ngModel]=\"filter.checked\"\n (ngModelChange)=\"_filterRadio(h.column, filter, $event)\"\n >{{ filter.text }}</label\n >\n </li>\n </ng-container>\n </ul>\n </ng-container>\n <div class=\"ant-table-filter-dropdown-btns\">\n <a class=\"ant-table-filter-dropdown-link confirm\" (click)=\"$any(_f).visible = false\">\n <span (click)=\"_filterConfirm(h.column)\">{{ _f.confirmText || locale.filterConfirm }}</span>\n </a>\n <a class=\"ant-table-filter-dropdown-link clear\" (click)=\"$any(_f).visible = false\">\n <span (click)=\"_filterClear(h.column)\">{{ _f.clearText || locale.filterReset }}</span>\n </a>\n </div>\n </div>\n </nz-dropdown-menu>\n </div>\n </ng-container>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody class=\"st__body\">\n <ng-container *ngIf=\"!_loading\">\n <ng-template\n [ngTemplateOutlet]=\"bodyHeader!\"\n [ngTemplateOutletContext]=\"{ $implicit: _statistical }\"\n ></ng-template>\n </ng-container>\n <ng-template #bodyTpl let-i let-index=\"index\">\n <tr [attr.data-index]=\"index\" (click)=\"_rowClick($event, i, index)\" [ngClass]=\"i._rowClassName\">\n <td\n *ngIf=\"expand\"\n [nzShowExpand]=\"expand && i.showExpand !== false\"\n [nzExpand]=\"i.expand\"\n (nzExpandChange)=\"_expandChange(i, $event)\"\n (click)=\"_stopPropagation($event)\"\n nzWidth=\"50px\"\n ></td>\n <td\n *ngFor=\"let c of _columns; let cIdx = index\"\n [nzLeft]=\"!!c._left\"\n [nzRight]=\"!!c._right\"\n [attr.data-col-index]=\"cIdx\"\n [ngClass]=\"c._className!\"\n [attr.colspan]=\"c.colSpan\"\n >\n <span *ngIf=\"responsive\" class=\"ant-table-rep__title\">\n <ng-template [ngTemplateOutlet]=\"titleTpl\" [ngTemplateOutletContext]=\"{ $implicit: c.title }\"></ng-template>\n </span>\n <span>\n <ng-template\n #render\n [ngTemplateOutlet]=\"c.__render!\"\n [ngTemplateOutletContext]=\"{ $implicit: i, index: index, column: c }\"\n ></ng-template>\n <ng-container *ngIf=\"!c.__render; else render\">\n <ng-container [ngSwitch]=\"c.type\">\n <label\n *ngSwitchCase=\"'checkbox'\"\n nz-checkbox\n [nzDisabled]=\"i.disabled\"\n [ngModel]=\"i.checked\"\n (ngModelChange)=\"_checkSelection(i, $event)\"\n ></label>\n <label\n *ngSwitchCase=\"'radio'\"\n nz-radio\n [nzDisabled]=\"i.disabled\"\n [ngModel]=\"i.checked\"\n (ngModelChange)=\"_refRadio($event, i)\"\n ></label>\n <a\n *ngSwitchCase=\"'link'\"\n (click)=\"_click($event, i, c)\"\n [innerHTML]=\"i._values[cIdx]._text\"\n [attr.title]=\"i._values[cIdx].text\"\n ></a>\n <ng-container *ngIf=\"i._values[cIdx].text\">\n <nz-tag *ngSwitchCase=\"'tag'\" [nzColor]=\"i._values[cIdx].color\">\n <span [innerHTML]=\"i._values[cIdx]._text\"></span>\n </nz-tag>\n <nz-badge\n *ngSwitchCase=\"'badge'\"\n [nzStatus]=\"i._values[cIdx].color\"\n [nzText]=\"i._values[cIdx].text\"\n ></nz-badge>\n </ng-container>\n <ng-template *ngSwitchCase=\"'widget'\" st-widget-host [record]=\"i\" [column]=\"c\"></ng-template>\n <ng-container *ngSwitchDefault>\n <span\n *ngIf=\"c.safeType !== 'text'\"\n [innerHTML]=\"i._values[cIdx]._text\"\n [attr.title]=\"c._isTruncate ? i._values[cIdx].text : null\"\n ></span>\n <span\n *ngIf=\"c.safeType === 'text'\"\n [innerText]=\"i._values[cIdx]._text\"\n [attr.title]=\"c._isTruncate ? i._values[cIdx].text : null\"\n ></span>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let btn of i._values[cIdx].buttons; let last = last\">\n <a\n *ngIf=\"btn.children!.length > 0\"\n nz-dropdown\n [nzDropdownMenu]=\"btnMenu\"\n nzOverlayClassName=\"st__btn-sub\"\n >\n <span [innerHTML]=\"btn._text\"></span>\n <i nz-icon nzType=\"down\"></i>\n </a>\n <nz-dropdown-menu #btnMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <ng-container *ngFor=\"let subBtn of btn.children!\">\n <li *ngIf=\"subBtn.type !== 'divider'\" nz-menu-item [class.st__btn-disabled]=\"subBtn._disabled\">\n <ng-template\n [ngTemplateOutlet]=\"btnTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: i, btn: subBtn }\"\n >\n </ng-template>\n </li>\n <li *ngIf=\"subBtn.type === 'divider'\" nz-menu-divider></li>\n </ng-container>\n </ul>\n </nz-dropdown-menu>\n <span *ngIf=\"btn.children!.length === 0\" [class.st__btn-disabled]=\"btn._disabled\">\n <ng-template [ngTemplateOutlet]=\"btnTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, btn: btn }\">\n </ng-template>\n </span>\n <nz-divider *ngIf=\"!last\" nzType=\"vertical\"></nz-divider>\n </ng-container>\n </ng-container>\n </span>\n </td>\n </tr>\n <tr [nzExpand]=\"i.expand\">\n <ng-template\n [ngTemplateOutlet]=\"expand\"\n [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\"\n ></ng-template>\n </tr>\n </ng-template>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngFor=\"let i of _data; let index = index\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\">\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"virtualScroll\">\n <ng-template nz-virtual-scroll let-i let-index=\"index\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\">\n </ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!_loading\">\n <ng-template [ngTemplateOutlet]=\"body!\" [ngTemplateOutletContext]=\"{ $implicit: _statistical }\"></ng-template>\n </ng-container>\n </tbody>\n <ng-template #totalTpl let-range=\"range\" let-total>{{ renderTotal(total, range) }}</ng-template>\n</nz-table>\n<nz-dropdown-menu #contextmenuTpl=\"nzDropdownMenu\">\n <ul nz-menu class=\"st__contextmenu\">\n <ng-container *ngFor=\"let i of contextmenuList\">\n <li nz-menu-item *ngIf=\"i.children!.length === 0\" (click)=\"i.fn!(i)\" [innerHTML]=\"i.text\"></li>\n <li nz-submenu *ngIf=\"i.children!.length > 0\" [nzTitle]=\"i.text\">\n <ul>\n <li nz-menu-item *ngFor=\"let ci of i.children\" (click)=\"ci.fn!(ci)\" [innerHTML]=\"ci.text\"></li>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nz-dropdown-menu>\n",
2245
+ template: "<ng-template #titleTpl let-i>\n <span [innerHTML]=\"i._text\"></span>\n <small *ngIf=\"i.optional\" class=\"st__head-optional\" [innerHTML]=\"i.optional\"></small>\n <i\n *ngIf=\"i.optionalHelp\"\n class=\"st__head-tip\"\n nz-tooltip\n [nzTooltipTitle]=\"i.optionalHelp\"\n nz-icon\n nzType=\"question-circle\"\n ></i>\n</ng-template>\n<ng-template #chkAllTpl let-custom>\n <label\n nz-checkbox\n class=\"st__checkall\"\n [nzDisabled]=\"_allCheckedDisabled\"\n [(ngModel)]=\"_allChecked\"\n [nzIndeterminate]=\"_indeterminate\"\n (ngModelChange)=\"_checkAll()\"\n [class.ant-table-selection-select-all-custom]=\"custom\"\n ></label>\n</ng-template>\n<nz-table\n #table\n [nzData]=\"_data\"\n [(nzPageIndex)]=\"pi\"\n (nzPageIndexChange)=\"_change('pi')\"\n [(nzPageSize)]=\"ps\"\n (nzPageSizeChange)=\"_change('ps')\"\n [nzTotal]=\"total\"\n [nzShowPagination]=\"_isPagination\"\n [nzFrontPagination]=\"false\"\n [nzBordered]=\"bordered\"\n [nzSize]=\"size\"\n [nzLoading]=\"_loading\"\n [nzLoadingDelay]=\"loadingDelay\"\n [nzLoadingIndicator]=\"loadingIndicator\"\n [nzTitle]=\"header!\"\n [nzFooter]=\"footer!\"\n [nzScroll]=\"scroll\"\n [nzVirtualItemSize]=\"virtualItemSize\"\n [nzVirtualMaxBufferPx]=\"virtualMaxBufferPx\"\n [nzVirtualMinBufferPx]=\"virtualMinBufferPx\"\n [nzVirtualForTrackBy]=\"virtualForTrackBy\"\n [nzNoResult]=\"noResult!\"\n [nzPageSizeOptions]=\"page.pageSizes!\"\n [nzShowQuickJumper]=\"page.showQuickJumper\"\n [nzShowSizeChanger]=\"page.showSize\"\n [nzPaginationPosition]=\"page.position!\"\n [nzPaginationType]=\"page.type!\"\n [nzItemRender]=\"page.itemRender!\"\n [nzSimple]=\"page.simple\"\n [nzShowTotal]=\"totalTpl\"\n [nzWidthConfig]=\"_widthConfig\"\n (contextmenu)=\"onContextmenu($event)\"\n>\n <thead *ngIf=\"showHeader\">\n <tr *ngFor=\"let row of _headers; let rowFirst = first\">\n <th *ngIf=\"rowFirst && expand\" nzWidth=\"50px\" [rowSpan]=\"_headers.length\"></th>\n <ng-container *ngFor=\"let h of row; let index = index; let last = last\">\n <th\n *let=\"h.column as _c\"\n [colSpan]=\"h.colSpan\"\n [rowSpan]=\"h.rowSpan\"\n [nzWidth]=\"$any(_c).width\"\n [nzLeft]=\"_c._left!\"\n [nzRight]=\"_c._right!\"\n [ngClass]=\"_c.className!\"\n [attr.data-col]=\"_c.indexKey\"\n [attr.data-col-index]=\"index\"\n [nzShowSort]=\"_c._sort.enabled\"\n [nzSortOrder]=\"$any(_c)._sort.default\"\n (nzSortOrderChange)=\"sort(_c, index, $event)\"\n [nzCustomFilter]=\"$any(_c).filter\"\n nz-resizable\n [nzDisabled]=\"last || $any(_c).resizable.disabled\"\n [nzMaxWidth]=\"$any(_c).resizable.maxWidth\"\n [nzMinWidth]=\"$any(_c).resizable.minWidth\"\n [nzBounds]=\"$any(_c).resizable.bounds\"\n [nzPreview]=\"$any(_c).resizable.preview\"\n (nzResizeEnd)=\"colResize($event, _c)\"\n >\n <nz-resize-handle *ngIf=\"$any(!last && !$any(_c).resizable.disabled)\" nzDirection=\"right\">\n <i></i>\n </nz-resize-handle>\n <ng-template\n #renderTitle\n [ngTemplateOutlet]=\"_c.__renderTitle!\"\n [ngTemplateOutletContext]=\"{ $implicit: h.column, index: index }\"\n ></ng-template>\n <ng-container *ngIf=\"!_c.__renderTitle; else renderTitle\">\n <ng-container [ngSwitch]=\"_c.type\">\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <ng-container *ngIf=\"_c.selections!.length === 0\">\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: false }\">\n </ng-template>\n </ng-container>\n <div *ngIf=\"_c.selections!.length > 0\" class=\"ant-table-selection\">\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: true }\">\n </ng-template>\n <div *ngIf=\"_c.selections!.length\" class=\"ant-table-selection-extra\">\n <div\n nz-dropdown\n nzPlacement=\"bottomLeft\"\n [nzDropdownMenu]=\"selectionMenu\"\n class=\"ant-table-selection-down st__checkall-selection\"\n >\n <i nz-icon nzType=\"down\"></i>\n </div>\n </div>\n <nz-dropdown-menu #selectionMenu=\"nzDropdownMenu\">\n <ul nz-menu class=\"ant-table-selection-menu\">\n <li\n nz-menu-item\n *ngFor=\"let rw of _c.selections\"\n (click)=\"_rowSelection(rw)\"\n [innerHTML]=\"rw.text\"\n ></li>\n </ul>\n </nz-dropdown-menu>\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-template\n [ngTemplateOutlet]=\"titleTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: _c.title }\"\n ></ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"_c.filter\">\n <st-filter\n nz-th-extra\n [col]=\"h.column\"\n [f]=\"_c.filter\"\n [locale]=\"locale\"\n (n)=\"handleFilterNotify($event)\"\n (handle)=\"_handleFilter(_c, $event)\"\n ></st-filter>\n </ng-container>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody class=\"st__body\">\n <ng-container *ngIf=\"!_loading\">\n <ng-template\n [ngTemplateOutlet]=\"bodyHeader!\"\n [ngTemplateOutletContext]=\"{ $implicit: _statistical }\"\n ></ng-template>\n </ng-container>\n <ng-template #bodyTpl let-i let-index=\"index\">\n <tr\n [attr.data-index]=\"index\"\n (click)=\"_rowClick($event, i, index, false)\"\n (dblclick)=\"_rowClick($event, i, index, true)\"\n [ngClass]=\"i._rowClassName\"\n >\n <td\n *ngIf=\"expand\"\n [nzShowExpand]=\"expand && i.showExpand !== false\"\n [nzExpand]=\"i.expand\"\n (nzExpandChange)=\"_expandChange(i, $event)\"\n (click)=\"_stopPropagation($event)\"\n nzWidth=\"50px\"\n ></td>\n <td\n *ngFor=\"let c of _columns; let cIdx = index\"\n [nzLeft]=\"!!c._left\"\n [nzRight]=\"!!c._right\"\n [attr.data-col-index]=\"cIdx\"\n [ngClass]=\"c._className!\"\n [attr.colspan]=\"c.colSpan\"\n >\n <span *ngIf=\"responsive\" class=\"ant-table-rep__title\">\n <ng-template [ngTemplateOutlet]=\"titleTpl\" [ngTemplateOutletContext]=\"{ $implicit: c.title }\"></ng-template>\n </span>\n <st-td [data]=\"_data\" [i]=\"i\" [index]=\"index\" [c]=\"c\" [cIdx]=\"cIdx\" (n)=\"_handleTd($event)\"></st-td>\n </td>\n </tr>\n <tr [nzExpand]=\"i.expand\">\n <ng-template\n [ngTemplateOutlet]=\"expand\"\n [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\"\n ></ng-template>\n </tr>\n </ng-template>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngFor=\"let i of _data; let index = index\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\">\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"virtualScroll\">\n <ng-template nz-virtual-scroll let-i let-index=\"index\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\">\n </ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!_loading\">\n <ng-template [ngTemplateOutlet]=\"body!\" [ngTemplateOutletContext]=\"{ $implicit: _statistical }\"></ng-template>\n </ng-container>\n </tbody>\n <ng-template #totalTpl let-range=\"range\" let-total>{{ renderTotal(total, range) }}</ng-template>\n</nz-table>\n<nz-dropdown-menu #contextmenuTpl=\"nzDropdownMenu\">\n <ul nz-menu class=\"st__contextmenu\">\n <ng-container *ngFor=\"let i of contextmenuList\">\n <li nz-menu-item *ngIf=\"i.children!.length === 0\" (click)=\"i.fn!(i)\" [innerHTML]=\"i.text\"></li>\n <li nz-submenu *ngIf=\"i.children!.length > 0\" [nzTitle]=\"i.text\">\n <ul>\n <li nz-menu-item *ngFor=\"let ci of i.children\" (click)=\"ci.fn!(ci)\" [innerHTML]=\"ci.text\"></li>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nz-dropdown-menu>\n",
2311
2246
  providers: [STDataSource, STRowSource, STColumnSource, STExport, theme.DatePipe, theme.YNPipe, common.DecimalPipe],
2312
2247
  host: {
2313
2248
  '[class.st]': "true",
@@ -2325,11 +2260,8 @@
2325
2260
  STComponent.ctorParameters = function () { return [
2326
2261
  { type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [theme.ALAIN_I18N_TOKEN,] }] },
2327
2262
  { type: i0.ChangeDetectorRef },
2328
- { type: router.Router },
2329
2263
  { type: i0.ElementRef },
2330
2264
  { type: STExport },
2331
- { type: theme.ModalHelper },
2332
- { type: theme.DrawerHelper },
2333
2265
  { type: undefined, decorators: [{ type: i0.Inject, args: [common.DOCUMENT,] }] },
2334
2266
  { type: STColumnSource },
2335
2267
  { type: STDataSource },
@@ -2371,7 +2303,6 @@
2371
2303
  expandAccordion: [{ type: i0.Input }],
2372
2304
  expand: [{ type: i0.Input }],
2373
2305
  noResult: [{ type: i0.Input }],
2374
- rowClickTime: [{ type: i0.Input }],
2375
2306
  responsive: [{ type: i0.Input }],
2376
2307
  responsiveHideHeaderFooter: [{ type: i0.Input }],
2377
2308
  error: [{ type: i0.Output }],
@@ -2407,9 +2338,6 @@
2407
2338
  __decorate([
2408
2339
  decorator.InputBoolean()
2409
2340
  ], STComponent.prototype, "expandAccordion", void 0);
2410
- __decorate([
2411
- decorator.InputNumber()
2412
- ], STComponent.prototype, "rowClickTime", void 0);
2413
2341
  __decorate([
2414
2342
  decorator.InputBoolean()
2415
2343
  ], STComponent.prototype, "responsive", void 0);
@@ -2429,6 +2357,178 @@
2429
2357
  decorator.InputNumber()
2430
2358
  ], STComponent.prototype, "virtualMinBufferPx", void 0);
2431
2359
 
2360
+ var STFilterComponent = /** @class */ (function () {
2361
+ function STFilterComponent() {
2362
+ this.visible = false;
2363
+ this.locale = {};
2364
+ this.n = new i0.EventEmitter();
2365
+ this.handle = new i0.EventEmitter();
2366
+ }
2367
+ Object.defineProperty(STFilterComponent.prototype, "icon", {
2368
+ get: function () {
2369
+ return this.f.icon;
2370
+ },
2371
+ enumerable: false,
2372
+ configurable: true
2373
+ });
2374
+ STFilterComponent.prototype.show = function ($event) {
2375
+ $event.stopPropagation();
2376
+ };
2377
+ STFilterComponent.prototype.checkboxChange = function () {
2378
+ var _a;
2379
+ this.n.emit((_a = this.f.menus) === null || _a === void 0 ? void 0 : _a.filter(function (w) { return w.checked; }));
2380
+ };
2381
+ STFilterComponent.prototype.radioChange = function (item) {
2382
+ this.f.menus.forEach(function (i) { return (i.checked = false); });
2383
+ item.checked = !item.checked;
2384
+ this.n.emit(item);
2385
+ };
2386
+ STFilterComponent.prototype.confirm = function () {
2387
+ this.handle.emit(true);
2388
+ };
2389
+ STFilterComponent.prototype.reset = function () {
2390
+ this.handle.emit(false);
2391
+ };
2392
+ return STFilterComponent;
2393
+ }());
2394
+ STFilterComponent.decorators = [
2395
+ { type: i0.Component, args: [{
2396
+ selector: 'st-filter',
2397
+ template: "\n <span\n class=\"ant-table-filter-trigger\"\n [class.active]=\"visible || f.default\"\n nz-dropdown\n [nzDropdownMenu]=\"filterMenu\"\n nzTrigger=\"click\"\n [nzClickHide]=\"false\"\n [(nzVisible)]=\"visible\"\n nzOverlayClassName=\"st__filter-wrap\"\n (click)=\"show($event)\"\n >\n <i nz-icon [nzType]=\"icon.type\" [nzTheme]=\"icon.theme!\"></i>\n </span>\n <nz-dropdown-menu #filterMenu=\"nzDropdownMenu\">\n <div class=\"ant-table-filter-dropdown\">\n <ng-container [ngSwitch]=\"f.type\">\n <div *ngSwitchCase=\"'keyword'\" class=\"st__filter-keyword\">\n <input\n type=\"text\"\n nz-input\n [attr.placeholder]=\"f.placeholder\"\n [(ngModel)]=\"f.menus![0]!.value\"\n (ngModelChange)=\"n.emit($event)\"\n (keyup.enter)=\"confirm()\"\n />\n </div>\n <div *ngSwitchCase=\"'number'\" class=\"p-sm st__filter-number\">\n <nz-input-number\n [(ngModel)]=\"f.menus![0]!.value\"\n (ngModelChange)=\"n.emit($event)\"\n [nzMin]=\"f.number!.min!\"\n [nzMax]=\"f.number!.max!\"\n [nzStep]=\"f.number!.step!\"\n [nzPrecision]=\"f.number!.precision\"\n [nzPlaceHolder]=\"f.placeholder!\"\n class=\"width-100\"\n ></nz-input-number>\n </div>\n <div *ngSwitchCase=\"'date'\" class=\"p-sm st__filter-date\">\n <nz-date-picker\n *ngIf=\"!f.date!.range\"\n nzInline\n [nzMode]=\"f.date!.mode\"\n [(ngModel)]=\"f.menus![0]!.value\"\n (ngModelChange)=\"n.emit($event)\"\n [nzShowNow]=\"f.date!.showNow\"\n [nzShowToday]=\"f.date!.showToday\"\n [nzDisabledDate]=\"f.date!.disabledDate\"\n [nzDisabledTime]=\"f.date!.disabledTime\"\n ></nz-date-picker>\n <nz-range-picker\n *ngIf=\"f.date!.range\"\n nzInline\n [nzMode]=\"f.date!.mode\"\n [(ngModel)]=\"f.menus![0]!.value\"\n (ngModelChange)=\"n.emit($event)\"\n [nzShowNow]=\"f.date!.showNow\"\n [nzShowToday]=\"f.date!.showToday\"\n [nzDisabledDate]=\"f.date!.disabledDate\"\n [nzDisabledTime]=\"f.date!.disabledTime\"\n ></nz-range-picker>\n </div>\n <div *ngSwitchCase=\"'time'\" class=\"p-sm st__filter-time\"> </div>\n <div *ngSwitchCase=\"'custom'\" class=\"st__filter-custom\">\n <ng-template\n [ngTemplateOutlet]=\"f.custom!\"\n [ngTemplateOutletContext]=\"{ $implicit: f, col: col }\"\n ></ng-template>\n </div>\n <ul *ngSwitchDefault nz-menu>\n <ng-container *ngIf=\"f.multiple\">\n <li nz-menu-item *ngFor=\"let filter of f.menus\">\n <label nz-checkbox [(ngModel)]=\"filter.checked\" (ngModelChange)=\"checkboxChange()\">\n {{ filter.text }}\n </label>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!f.multiple\">\n <li nz-menu-item *ngFor=\"let filter of f.menus\">\n <label nz-radio [ngModel]=\"filter.checked\" (ngModelChange)=\"radioChange(filter)\">\n {{ filter.text }}\n </label>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n <div *ngIf=\"f.showOPArea\" class=\"ant-table-filter-dropdown-btns\">\n <a class=\"ant-table-filter-dropdown-link confirm\" (click)=\"visible = false\">\n <span (click)=\"confirm()\">{{ f.confirmText || locale.filterConfirm }}</span>\n </a>\n <a class=\"ant-table-filter-dropdown-link clear\" (click)=\"visible = false\">\n <span (click)=\"reset()\">{{ f.clearText || locale.filterReset }}</span>\n </a>\n </div>\n </div>\n </nz-dropdown-menu>\n ",
2398
+ host: {
2399
+ '[class.ant-table-filter-trigger-container]': "true",
2400
+ '[class.st__filter]': "true",
2401
+ '[class.ant-table-filter-trigger-container-open]': "visible"
2402
+ },
2403
+ preserveWhitespaces: false,
2404
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2405
+ encapsulation: i0.ViewEncapsulation.None
2406
+ },] }
2407
+ ];
2408
+ STFilterComponent.propDecorators = {
2409
+ col: [{ type: i0.Input }],
2410
+ locale: [{ type: i0.Input }],
2411
+ f: [{ type: i0.Input }],
2412
+ n: [{ type: i0.Output }],
2413
+ handle: [{ type: i0.Output }]
2414
+ };
2415
+
2416
+ var STTdComponent = /** @class */ (function () {
2417
+ function STTdComponent(stComp, router, modalHelper, drawerHelper) {
2418
+ this.stComp = stComp;
2419
+ this.router = router;
2420
+ this.modalHelper = modalHelper;
2421
+ this.drawerHelper = drawerHelper;
2422
+ this.n = new i0.EventEmitter();
2423
+ }
2424
+ Object.defineProperty(STTdComponent.prototype, "routerState", {
2425
+ get: function () {
2426
+ var _a = this.stComp, pi = _a.pi, ps = _a.ps, total = _a.total;
2427
+ return { pi: pi, ps: ps, total: total };
2428
+ },
2429
+ enumerable: false,
2430
+ configurable: true
2431
+ });
2432
+ STTdComponent.prototype.report = function (type) {
2433
+ this.n.emit({ type: type, item: this.i, col: this.c });
2434
+ };
2435
+ STTdComponent.prototype._checkbox = function (value) {
2436
+ this.i.checked = value;
2437
+ this.report('checkbox');
2438
+ };
2439
+ STTdComponent.prototype._radio = function (checked) {
2440
+ this.data.filter(function (w) { return !w.disabled; }).forEach(function (i) { return (i.checked = false); });
2441
+ this.i.checked = checked;
2442
+ this.report('radio');
2443
+ };
2444
+ STTdComponent.prototype._link = function (e) {
2445
+ this._stopPropagation(e);
2446
+ var res = this.c.click(this.i, this.stComp);
2447
+ if (typeof res === 'string') {
2448
+ this.router.navigateByUrl(res, { state: this.routerState });
2449
+ }
2450
+ return false;
2451
+ };
2452
+ STTdComponent.prototype._stopPropagation = function (ev) {
2453
+ ev.preventDefault();
2454
+ ev.stopPropagation();
2455
+ };
2456
+ STTdComponent.prototype._btn = function (btn, ev) {
2457
+ var _a, _b;
2458
+ var _this = this;
2459
+ if (ev) {
2460
+ ev.stopPropagation();
2461
+ }
2462
+ var record = this.i;
2463
+ if (btn.type === 'modal' || btn.type === 'static') {
2464
+ var modal = btn.modal;
2465
+ var obj = (_a = {}, _a[modal.paramsName] = record, _a);
2466
+ this.modalHelper[btn.type === 'modal' ? 'create' : 'createStatic'](modal.component, Object.assign(Object.assign({}, obj), (modal.params && modal.params(record))), other.deepMergeKey({}, true, this.stComp['cog'].modal, modal))
2467
+ .pipe(operators.filter(function (w) { return typeof w !== 'undefined'; }))
2468
+ .subscribe(function (res) { return _this.btnCallback(record, btn, res); });
2469
+ return;
2470
+ }
2471
+ else if (btn.type === 'drawer') {
2472
+ var drawer = btn.drawer;
2473
+ var obj = (_b = {}, _b[drawer.paramsName] = record, _b);
2474
+ this.drawerHelper
2475
+ .create(drawer.title, drawer.component, Object.assign(Object.assign({}, obj), (drawer.params && drawer.params(record))), other.deepMergeKey({}, true, this.stComp['cog'].drawer, drawer))
2476
+ .pipe(operators.filter(function (w) { return typeof w !== 'undefined'; }))
2477
+ .subscribe(function (res) { return _this.btnCallback(record, btn, res); });
2478
+ return;
2479
+ }
2480
+ else if (btn.type === 'link') {
2481
+ var clickRes = this.btnCallback(record, btn);
2482
+ if (typeof clickRes === 'string') {
2483
+ this.router.navigateByUrl(clickRes, { state: this.routerState });
2484
+ }
2485
+ return;
2486
+ }
2487
+ this.btnCallback(record, btn);
2488
+ };
2489
+ STTdComponent.prototype.btnCallback = function (record, btn, modal) {
2490
+ if (!btn.click)
2491
+ return;
2492
+ if (typeof btn.click === 'string') {
2493
+ switch (btn.click) {
2494
+ case 'load':
2495
+ this.stComp.load();
2496
+ break;
2497
+ case 'reload':
2498
+ this.stComp.reload();
2499
+ break;
2500
+ }
2501
+ }
2502
+ else {
2503
+ return btn.click(record, modal, this.stComp);
2504
+ }
2505
+ };
2506
+ return STTdComponent;
2507
+ }());
2508
+ STTdComponent.decorators = [
2509
+ { type: i0.Component, args: [{
2510
+ selector: 'st-td',
2511
+ template: "\n <ng-template #btnTpl let-i>\n <ng-container *ngIf=\"!i.tooltip\">\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\"></ng-template>\n </ng-container>\n <span *ngIf=\"i.tooltip\" nz-tooltip [nzTooltipTitle]=\"i.tooltip\">\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\"></ng-template>\n </span>\n </ng-template>\n <ng-template #btnItemTpl let-i>\n <a\n *ngIf=\"i.pop\"\n nz-popconfirm\n [nzPopconfirmTitle]=\"i.pop.title\"\n [nzIcon]=\"i.pop.icon\"\n [nzCondition]=\"i.pop.condition(i)\"\n [nzCancelText]=\"i.pop.cancelText\"\n [nzOkText]=\"i.pop.okText\"\n [nzOkType]=\"i.pop.okType\"\n (nzOnConfirm)=\"_btn(i)\"\n class=\"st__btn-text\"\n [ngClass]=\"i.className\"\n (click)=\"_stopPropagation($event)\"\n >\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\"></ng-template>\n </a>\n <a *ngIf=\"!i.pop\" (click)=\"_btn(i, $event)\" class=\"st__btn-text\" [ngClass]=\"i.className\">\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\"></ng-template>\n </a>\n </ng-template>\n <ng-template #btnTextTpl let-i>\n <ng-container *ngIf=\"i.icon\">\n <i\n *ngIf=\"!i.icon.iconfont\"\n nz-icon\n [nzType]=\"i.icon.type\"\n [nzTheme]=\"i.icon.theme\"\n [nzSpin]=\"i.icon.spin\"\n [nzTwotoneColor]=\"i.icon.twoToneColor\"\n ></i>\n <i *ngIf=\"i.icon.iconfont\" nz-icon [nzIconfont]=\"i.icon.iconfont\"></i>\n </ng-container>\n <span [innerHTML]=\"i._text\" [ngClass]=\"{ 'pl-xs': i.icon }\"></span>\n </ng-template>\n <ng-template\n #render\n [ngTemplateOutlet]=\"c.__render!\"\n [ngTemplateOutletContext]=\"{ $implicit: i, index: index, column: c }\"\n ></ng-template>\n <ng-container *ngIf=\"!c.__render; else render\">\n <ng-container [ngSwitch]=\"c.type\">\n <label\n *ngSwitchCase=\"'checkbox'\"\n nz-checkbox\n [nzDisabled]=\"i.disabled\"\n [ngModel]=\"i.checked\"\n (ngModelChange)=\"_checkbox($event)\"\n ></label>\n <label\n *ngSwitchCase=\"'radio'\"\n nz-radio\n [nzDisabled]=\"i.disabled\"\n [ngModel]=\"i.checked\"\n (ngModelChange)=\"_radio($event)\"\n ></label>\n <a\n *ngSwitchCase=\"'link'\"\n (click)=\"_link($event)\"\n [innerHTML]=\"i._values[cIdx]._text\"\n [attr.title]=\"i._values[cIdx].text\"\n ></a>\n <ng-container *ngIf=\"i._values[cIdx].text\">\n <nz-tag *ngSwitchCase=\"'tag'\" [nzColor]=\"i._values[cIdx].color\">\n <span [innerHTML]=\"i._values[cIdx]._text\"></span>\n </nz-tag>\n <nz-badge\n *ngSwitchCase=\"'badge'\"\n [nzStatus]=\"i._values[cIdx].color\"\n [nzText]=\"i._values[cIdx].text\"\n ></nz-badge>\n </ng-container>\n <ng-template *ngSwitchCase=\"'widget'\" st-widget-host [record]=\"i\" [column]=\"c\"></ng-template\n ><ng-container *ngSwitchDefault>\n <span\n *ngIf=\"c.safeType !== 'text'\"\n [innerHTML]=\"i._values[cIdx]._text\"\n [attr.title]=\"c._isTruncate ? i._values[cIdx].text : null\"\n ></span>\n <span\n *ngIf=\"c.safeType === 'text'\"\n [innerText]=\"i._values[cIdx]._text\"\n [attr.title]=\"c._isTruncate ? i._values[cIdx].text : null\"\n ></span>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let btn of i._values[cIdx].buttons; let last = last\">\n <a *ngIf=\"btn.children!.length > 0\" nz-dropdown [nzDropdownMenu]=\"btnMenu\" nzOverlayClassName=\"st__btn-sub\">\n <span [innerHTML]=\"btn._text\"></span>\n <i nz-icon nzType=\"down\"></i>\n </a>\n <nz-dropdown-menu #btnMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <ng-container *ngFor=\"let subBtn of btn.children!\">\n <li *ngIf=\"subBtn.type !== 'divider'\" nz-menu-item [class.st__btn-disabled]=\"subBtn._disabled\">\n <ng-template [ngTemplateOutlet]=\"btnTpl\" [ngTemplateOutletContext]=\"{ $implicit: subBtn }\">\n </ng-template>\n </li>\n <li *ngIf=\"subBtn.type === 'divider'\" nz-menu-divider></li>\n </ng-container>\n </ul>\n </nz-dropdown-menu>\n <span *ngIf=\"btn.children!.length === 0\" [class.st__btn-disabled]=\"btn._disabled\">\n <ng-template [ngTemplateOutlet]=\"btnTpl\" [ngTemplateOutletContext]=\"{ $implicit: btn }\"> </ng-template>\n </span>\n <nz-divider *ngIf=\"!last\" nzType=\"vertical\"></nz-divider>\n </ng-container>\n </ng-container>\n ",
2512
+ preserveWhitespaces: false,
2513
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2514
+ encapsulation: i0.ViewEncapsulation.None
2515
+ },] }
2516
+ ];
2517
+ STTdComponent.ctorParameters = function () { return [
2518
+ { type: STComponent, decorators: [{ type: i0.Host }] },
2519
+ { type: router.Router },
2520
+ { type: theme.ModalHelper },
2521
+ { type: theme.DrawerHelper }
2522
+ ]; };
2523
+ STTdComponent.propDecorators = {
2524
+ c: [{ type: i0.Input }],
2525
+ cIdx: [{ type: i0.Input }],
2526
+ data: [{ type: i0.Input }],
2527
+ i: [{ type: i0.Input }],
2528
+ index: [{ type: i0.Input }],
2529
+ n: [{ type: i0.Output }]
2530
+ };
2531
+
2432
2532
  var COMPONENTS = [STComponent, STRowDirective, STWidgetHostDirective];
2433
2533
  var STModule = /** @class */ (function () {
2434
2534
  function STModule() {
@@ -2454,9 +2554,11 @@
2454
2554
  tag.NzTagModule,
2455
2555
  input.NzInputModule,
2456
2556
  tooltip.NzToolTipModule,
2457
- resizable.NzResizableModule
2557
+ resizable.NzResizableModule,
2558
+ inputNumber.NzInputNumberModule,
2559
+ datePicker.NzDatePickerModule
2458
2560
  ],
2459
- declarations: COMPONENTS,
2561
+ declarations: __spreadArray(__spreadArray([], __read(COMPONENTS)), [STFilterComponent, STTdComponent]),
2460
2562
  exports: COMPONENTS
2461
2563
  },] }
2462
2564
  ];
@@ -2474,9 +2576,11 @@
2474
2576
  exports.STWidgetHostDirective = STWidgetHostDirective;
2475
2577
  exports.STWidgetRegistry = STWidgetRegistry;
2476
2578
  exports.ST_DEFAULT_CONFIG = ST_DEFAULT_CONFIG;
2477
- exports.ɵa = STRowSource;
2579
+ exports["ɵa"] = STRowSource;
2580
+ exports["ɵb"] = STFilterComponent;
2581
+ exports["ɵc"] = STTdComponent;
2478
2582
 
2479
2583
  Object.defineProperty(exports, '__esModule', { value: true });
2480
2584
 
2481
- })));
2585
+ }));
2482
2586
  //# sourceMappingURL=table.umd.js.map