@zeedhi/teknisa-components-common 1.102.0 → 1.103.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 (77) hide show
  1. package/coverage/clover.xml +820 -902
  2. package/coverage/coverage-final.json +45 -45
  3. package/coverage/lcov-report/components/crud/crud-add-button.ts.html +250 -0
  4. package/coverage/lcov-report/components/crud/crud-button.ts.html +292 -0
  5. package/coverage/lcov-report/components/crud/crud-cancel-button.ts.html +259 -0
  6. package/coverage/lcov-report/components/crud/crud-delete-button.ts.html +322 -0
  7. package/coverage/lcov-report/components/crud/crud-form.ts.html +382 -0
  8. package/coverage/lcov-report/components/crud/crud-save-button.ts.html +253 -0
  9. package/coverage/lcov-report/components/crud/index.html +191 -0
  10. package/coverage/lcov-report/components/index.html +116 -0
  11. package/coverage/lcov-report/components/index.ts.html +394 -0
  12. package/coverage/lcov-report/components/tek-breadcrumb-header/breadcrumb-header.ts.html +172 -0
  13. package/coverage/lcov-report/components/tek-breadcrumb-header/index.html +116 -0
  14. package/coverage/lcov-report/components/tek-card-title/card-title.ts.html +175 -0
  15. package/coverage/lcov-report/components/tek-card-title/index.html +116 -0
  16. package/coverage/lcov-report/components/tek-datasource/index.html +146 -0
  17. package/coverage/lcov-report/components/tek-datasource/interfaces.ts.html +193 -0
  18. package/coverage/lcov-report/components/tek-datasource/memory-datasource.ts.html +1015 -0
  19. package/coverage/lcov-report/components/tek-datasource/rest-datasource.ts.html +751 -0
  20. package/coverage/lcov-report/components/tek-drag-grid/index.html +116 -0
  21. package/coverage/lcov-report/components/tek-drag-grid/tek-drag-grid.ts.html +409 -0
  22. package/coverage/lcov-report/components/tek-grid/filter-helper.ts.html +145 -0
  23. package/coverage/lcov-report/components/tek-grid/grid-column.ts.html +775 -0
  24. package/coverage/lcov-report/components/tek-grid/grid-columns-button-controller.ts.html +169 -0
  25. package/coverage/lcov-report/components/tek-grid/grid-columns-button.ts.html +190 -0
  26. package/coverage/lcov-report/components/tek-grid/grid-filter-button.ts.html +1282 -0
  27. package/coverage/lcov-report/components/tek-grid/grid.ts.html +3157 -0
  28. package/coverage/lcov-report/components/tek-grid/index.html +221 -0
  29. package/coverage/lcov-report/components/tek-grid/interfaces.ts.html +733 -0
  30. package/coverage/lcov-report/components/tek-grid/layout-options.ts.html +826 -0
  31. package/coverage/lcov-report/components/tek-image/image.ts.html +313 -0
  32. package/coverage/lcov-report/components/tek-image/index.html +116 -0
  33. package/coverage/lcov-report/components/tek-iterable-carousel/index.html +116 -0
  34. package/coverage/lcov-report/components/tek-iterable-carousel/iterable-carousel.ts.html +175 -0
  35. package/coverage/lcov-report/components/tek-iterable-component-render/index.html +116 -0
  36. package/coverage/lcov-report/components/tek-iterable-component-render/iterable-component-render.ts.html +118 -0
  37. package/coverage/lcov-report/components/tek-loading/index.html +116 -0
  38. package/coverage/lcov-report/components/tek-loading/loading.ts.html +196 -0
  39. package/coverage/lcov-report/components/tek-notifications/index.html +116 -0
  40. package/coverage/lcov-report/components/tek-notifications/notifications.ts.html +271 -0
  41. package/coverage/lcov-report/components/tek-product-card/index.html +116 -0
  42. package/coverage/lcov-report/components/tek-product-card/product-card.ts.html +391 -0
  43. package/coverage/lcov-report/components/tek-tree-grid/index.html +116 -0
  44. package/coverage/lcov-report/components/tek-tree-grid/tree-grid.ts.html +1255 -0
  45. package/coverage/lcov-report/components/tek-user-info/TekUserInfoController.ts.html +367 -0
  46. package/coverage/lcov-report/components/tek-user-info/index.html +146 -0
  47. package/coverage/lcov-report/components/tek-user-info/tek-user-info-list.ts.html +268 -0
  48. package/coverage/lcov-report/components/tek-user-info/tek-user-info.ts.html +1096 -0
  49. package/coverage/lcov-report/error/delete-rows-error.ts.html +118 -0
  50. package/coverage/lcov-report/error/index.html +116 -0
  51. package/coverage/lcov-report/index.html +23 -23
  52. package/coverage/lcov-report/tests/__helpers__/component-event-helper.ts.html +2 -2
  53. package/coverage/lcov-report/tests/__helpers__/flush-promises-helper.ts.html +2 -2
  54. package/coverage/lcov-report/tests/__helpers__/get-child-helper.ts.html +9 -9
  55. package/coverage/lcov-report/tests/__helpers__/index.html +1 -1
  56. package/coverage/lcov-report/tests/__helpers__/index.ts.html +1 -1
  57. package/coverage/lcov-report/tests/__helpers__/mock-created-helper.ts.html +1 -1
  58. package/coverage/lcov-report/utils/grid-base/export-options/button-option.ts.html +166 -0
  59. package/coverage/lcov-report/utils/grid-base/export-options/index.html +146 -0
  60. package/coverage/lcov-report/utils/grid-base/export-options/index.ts.html +94 -0
  61. package/coverage/lcov-report/utils/grid-base/export-options/multi-option.ts.html +355 -0
  62. package/coverage/lcov-report/utils/grid-base/grid-base.ts.html +1960 -0
  63. package/coverage/lcov-report/utils/grid-base/grid-controller.ts.html +457 -0
  64. package/coverage/lcov-report/utils/grid-base/index.html +131 -0
  65. package/coverage/lcov-report/utils/index.html +116 -0
  66. package/coverage/lcov-report/utils/index.ts.html +100 -0
  67. package/coverage/lcov-report/utils/report-filter/index.html +116 -0
  68. package/coverage/lcov-report/utils/report-filter/report-filter.ts.html +256 -0
  69. package/coverage/lcov.info +1499 -1650
  70. package/dist/tek-components-common.esm.js +13 -8
  71. package/dist/tek-components-common.umd.js +13 -8
  72. package/package.json +3 -3
  73. package/tests/unit/components/tek-grid/grid.spec.ts +27 -0
  74. package/types/components/tek-grid/grid.d.ts +1 -0
  75. package/types/components/tek-grid/interfaces.d.ts +1 -0
  76. package/types/components/tek-tree-grid/interfaces.d.ts +1 -0
  77. package/types/components/tek-tree-grid/tree-grid.d.ts +1 -0
@@ -1253,7 +1253,6 @@ Messages.add({
1253
1253
  TEKGRID_HELPERVALUE_CURRENT_MONTH: 'Mês Atual',
1254
1254
  TEKGRID_HELPERVALUE_CURRENT_YEAR: 'Ano Atual',
1255
1255
  TEKGRID_WITH_GROUPS: '(Com grupos)',
1256
- TEKGRID_WITHOUT_GROUPS: '(Sem grupos)',
1257
1256
  TEKGRID_GRID_MIRROR: '(Espelho do grid)',
1258
1257
  },
1259
1258
  },
@@ -1326,7 +1325,6 @@ Messages.add({
1326
1325
  TEKGRID_HELPERVALUE_CURRENT_MONTH: 'Current Month',
1327
1326
  TEKGRID_HELPERVALUE_CURRENT_YEAR: 'Current Year',
1328
1327
  TEKGRID_WITH_GROUPS: '(With groups)',
1329
- TEKGRID_WITHOUT_GROUPS: '(No groups)',
1330
1328
  TEKGRID_GRID_MIRROR: '(Grid mirror)',
1331
1329
  },
1332
1330
  },
@@ -1399,7 +1397,6 @@ Messages.add({
1399
1397
  TEKGRID_HELPERVALUE_CURRENT_MONTH: 'Mes actual',
1400
1398
  TEKGRID_HELPERVALUE_CURRENT_YEAR: 'Año actual',
1401
1399
  TEKGRID_WITH_GROUPS: '(Con grupos)',
1402
- TEKGRID_WITHOUT_GROUPS: '(No grupos)',
1403
1400
  TEKGRID_GRID_MIRROR: '(Espejo de grid)',
1404
1401
  },
1405
1402
  },
@@ -2239,7 +2236,7 @@ class TekGrid extends GridEditable {
2239
2236
  {
2240
2237
  type: 'xls',
2241
2238
  label: I18n.translate('TEKGRID_EXPORT_AS', {
2242
- type: `XLS ${I18n.translate('TEKGRID_WITHOUT_GROUPS')}`,
2239
+ type: 'XLS',
2243
2240
  }),
2244
2241
  },
2245
2242
  {
@@ -2276,6 +2273,7 @@ class TekGrid extends GridEditable {
2276
2273
  this.showCheckboxAllFilter = Config.gridShowCheckboxAllFilter || false;
2277
2274
  this.defaultFilter = {};
2278
2275
  this.toolbarOpened = true;
2276
+ this.reportTitle = '';
2279
2277
  this.defaultLazy = false;
2280
2278
  this.groups = [];
2281
2279
  this.summary = {};
@@ -2312,6 +2310,7 @@ class TekGrid extends GridEditable {
2312
2310
  this.toolbarOpened = this.getInitValue('toolbarOpened', props.toolbarOpened, this.toolbarOpened);
2313
2311
  this.editNewRowsOnly = this.getInitValue('editNewRowsOnly', props.editNewRowsOnly, this.editNewRowsOnly);
2314
2312
  this.mainGrid = this.getInitValue('mainGrid', props.mainGrid, this.mainGrid);
2313
+ this.reportTitle = this.getInitValue('reportTitle', props.reportTitle, this.reportTitle);
2315
2314
  this.actions = props.actions || this.actions;
2316
2315
  this.toolbarSlotProps = props.toolbarSlot !== undefined;
2317
2316
  if (this.deleteButton === 'selection') {
@@ -2441,9 +2440,13 @@ class TekGrid extends GridEditable {
2441
2440
  }
2442
2441
  getReport(type, portrait, rowObj = {}) {
2443
2442
  return __awaiter(this, void 0, void 0, function* () {
2444
- const report = new Report(this, this.title);
2443
+ const report = new Report(this, this.title || this.reportTitle);
2445
2444
  const reportGroups = this.buildReportGroups();
2446
2445
  const reportAggregations = this.buildReportAggregations();
2446
+ let typeValue = type;
2447
+ if (reportGroups.length === 0 && type.substring(0, 3) === 'xls') {
2448
+ typeValue = 'xls';
2449
+ }
2447
2450
  let filter;
2448
2451
  if (this.datasource instanceof TekRestDatasource
2449
2452
  || this.datasource instanceof TekMemoryDatasource) {
@@ -2485,7 +2488,7 @@ class TekGrid extends GridEditable {
2485
2488
  beforeOpen = this.events.beforeOpenReport;
2486
2489
  }
2487
2490
  return report
2488
- .getReport(type, portrait, {
2491
+ .getReport(typeValue, portrait, {
2489
2492
  metaData: merge(rowObj, {
2490
2493
  filter,
2491
2494
  groups: reportGroups,
@@ -3679,7 +3682,7 @@ class TekTreeGrid extends TreeGridEditable {
3679
3682
  {
3680
3683
  type: 'xls',
3681
3684
  label: I18n.translate('TEKGRID_EXPORT_AS', {
3682
- type: `XLS ${I18n.translate('TEKGRID_WITHOUT_GROUPS')}`,
3685
+ type: 'XLS',
3683
3686
  }),
3684
3687
  },
3685
3688
  {
@@ -3702,6 +3705,7 @@ class TekTreeGrid extends TreeGridEditable {
3702
3705
  this.toolbarSlotProps = false;
3703
3706
  this.showCheckboxAllFilter = false;
3704
3707
  this.defaultFilter = {};
3708
+ this.reportTitle = '';
3705
3709
  this.title = this.getInitValue('title', props.title, this.title);
3706
3710
  this.addButton = this.getInitValue('addButton', props.addButton, this.addButton);
3707
3711
  this.deleteButton = this.getInitValue('deleteButton', props.deleteButton, this.deleteButton);
@@ -3721,6 +3725,7 @@ class TekTreeGrid extends TreeGridEditable {
3721
3725
  this.defaultFilter = this.getInitValue('defaultFilter', props.defaultFilter, this.defaultFilter);
3722
3726
  this.toolbarOpened = this.getInitValue('toolbarOpened', props.toolbarOpened, this.toolbarOpened);
3723
3727
  this.exportActions = props.exportActions || this.exportActions;
3728
+ this.reportTitle = this.getInitValue('reportTitle', props.reportTitle, this.reportTitle);
3724
3729
  this.actions = props.actions || this.actions;
3725
3730
  this.toolbarSlotProps = props.toolbarSlot !== undefined;
3726
3731
  if (this.deleteButton === 'selection') {
@@ -3800,7 +3805,7 @@ class TekTreeGrid extends TreeGridEditable {
3800
3805
  }
3801
3806
  getReport(type, portrait, rowObj = {}) {
3802
3807
  return __awaiter(this, void 0, void 0, function* () {
3803
- const report = new Report(this, this.title);
3808
+ const report = new Report(this, this.title || this.reportTitle);
3804
3809
  const reportGroups = {};
3805
3810
  const reportAggregations = {};
3806
3811
  let filter;
@@ -1257,7 +1257,6 @@
1257
1257
  TEKGRID_HELPERVALUE_CURRENT_MONTH: 'Mês Atual',
1258
1258
  TEKGRID_HELPERVALUE_CURRENT_YEAR: 'Ano Atual',
1259
1259
  TEKGRID_WITH_GROUPS: '(Com grupos)',
1260
- TEKGRID_WITHOUT_GROUPS: '(Sem grupos)',
1261
1260
  TEKGRID_GRID_MIRROR: '(Espelho do grid)',
1262
1261
  },
1263
1262
  },
@@ -1330,7 +1329,6 @@
1330
1329
  TEKGRID_HELPERVALUE_CURRENT_MONTH: 'Current Month',
1331
1330
  TEKGRID_HELPERVALUE_CURRENT_YEAR: 'Current Year',
1332
1331
  TEKGRID_WITH_GROUPS: '(With groups)',
1333
- TEKGRID_WITHOUT_GROUPS: '(No groups)',
1334
1332
  TEKGRID_GRID_MIRROR: '(Grid mirror)',
1335
1333
  },
1336
1334
  },
@@ -1403,7 +1401,6 @@
1403
1401
  TEKGRID_HELPERVALUE_CURRENT_MONTH: 'Mes actual',
1404
1402
  TEKGRID_HELPERVALUE_CURRENT_YEAR: 'Año actual',
1405
1403
  TEKGRID_WITH_GROUPS: '(Con grupos)',
1406
- TEKGRID_WITHOUT_GROUPS: '(No grupos)',
1407
1404
  TEKGRID_GRID_MIRROR: '(Espejo de grid)',
1408
1405
  },
1409
1406
  },
@@ -2243,7 +2240,7 @@
2243
2240
  {
2244
2241
  type: 'xls',
2245
2242
  label: core.I18n.translate('TEKGRID_EXPORT_AS', {
2246
- type: `XLS ${core.I18n.translate('TEKGRID_WITHOUT_GROUPS')}`,
2243
+ type: 'XLS',
2247
2244
  }),
2248
2245
  },
2249
2246
  {
@@ -2280,6 +2277,7 @@
2280
2277
  this.showCheckboxAllFilter = core.Config.gridShowCheckboxAllFilter || false;
2281
2278
  this.defaultFilter = {};
2282
2279
  this.toolbarOpened = true;
2280
+ this.reportTitle = '';
2283
2281
  this.defaultLazy = false;
2284
2282
  this.groups = [];
2285
2283
  this.summary = {};
@@ -2316,6 +2314,7 @@
2316
2314
  this.toolbarOpened = this.getInitValue('toolbarOpened', props.toolbarOpened, this.toolbarOpened);
2317
2315
  this.editNewRowsOnly = this.getInitValue('editNewRowsOnly', props.editNewRowsOnly, this.editNewRowsOnly);
2318
2316
  this.mainGrid = this.getInitValue('mainGrid', props.mainGrid, this.mainGrid);
2317
+ this.reportTitle = this.getInitValue('reportTitle', props.reportTitle, this.reportTitle);
2319
2318
  this.actions = props.actions || this.actions;
2320
2319
  this.toolbarSlotProps = props.toolbarSlot !== undefined;
2321
2320
  if (this.deleteButton === 'selection') {
@@ -2445,9 +2444,13 @@
2445
2444
  }
2446
2445
  getReport(type, portrait, rowObj = {}) {
2447
2446
  return __awaiter(this, void 0, void 0, function* () {
2448
- const report = new common.Report(this, this.title);
2447
+ const report = new common.Report(this, this.title || this.reportTitle);
2449
2448
  const reportGroups = this.buildReportGroups();
2450
2449
  const reportAggregations = this.buildReportAggregations();
2450
+ let typeValue = type;
2451
+ if (reportGroups.length === 0 && type.substring(0, 3) === 'xls') {
2452
+ typeValue = 'xls';
2453
+ }
2451
2454
  let filter;
2452
2455
  if (this.datasource instanceof TekRestDatasource
2453
2456
  || this.datasource instanceof TekMemoryDatasource) {
@@ -2489,7 +2492,7 @@
2489
2492
  beforeOpen = this.events.beforeOpenReport;
2490
2493
  }
2491
2494
  return report
2492
- .getReport(type, portrait, {
2495
+ .getReport(typeValue, portrait, {
2493
2496
  metaData: merge__default["default"](rowObj, {
2494
2497
  filter,
2495
2498
  groups: reportGroups,
@@ -3683,7 +3686,7 @@
3683
3686
  {
3684
3687
  type: 'xls',
3685
3688
  label: core.I18n.translate('TEKGRID_EXPORT_AS', {
3686
- type: `XLS ${core.I18n.translate('TEKGRID_WITHOUT_GROUPS')}`,
3689
+ type: 'XLS',
3687
3690
  }),
3688
3691
  },
3689
3692
  {
@@ -3706,6 +3709,7 @@
3706
3709
  this.toolbarSlotProps = false;
3707
3710
  this.showCheckboxAllFilter = false;
3708
3711
  this.defaultFilter = {};
3712
+ this.reportTitle = '';
3709
3713
  this.title = this.getInitValue('title', props.title, this.title);
3710
3714
  this.addButton = this.getInitValue('addButton', props.addButton, this.addButton);
3711
3715
  this.deleteButton = this.getInitValue('deleteButton', props.deleteButton, this.deleteButton);
@@ -3725,6 +3729,7 @@
3725
3729
  this.defaultFilter = this.getInitValue('defaultFilter', props.defaultFilter, this.defaultFilter);
3726
3730
  this.toolbarOpened = this.getInitValue('toolbarOpened', props.toolbarOpened, this.toolbarOpened);
3727
3731
  this.exportActions = props.exportActions || this.exportActions;
3732
+ this.reportTitle = this.getInitValue('reportTitle', props.reportTitle, this.reportTitle);
3728
3733
  this.actions = props.actions || this.actions;
3729
3734
  this.toolbarSlotProps = props.toolbarSlot !== undefined;
3730
3735
  if (this.deleteButton === 'selection') {
@@ -3804,7 +3809,7 @@
3804
3809
  }
3805
3810
  getReport(type, portrait, rowObj = {}) {
3806
3811
  return __awaiter(this, void 0, void 0, function* () {
3807
- const report = new common.Report(this, this.title);
3812
+ const report = new common.Report(this, this.title || this.reportTitle);
3808
3813
  const reportGroups = {};
3809
3814
  const reportAggregations = {};
3810
3815
  let filter;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeedhi/teknisa-components-common",
3
- "version": "1.102.0",
3
+ "version": "1.103.0",
4
4
  "description": "Teknisa Components Common",
5
5
  "author": "Zeedhi <zeedhi@teknisa.com>",
6
6
  "license": "ISC",
@@ -30,7 +30,7 @@
30
30
  "@types/lodash.merge": "4.6.*"
31
31
  },
32
32
  "peerDependencies": {
33
- "@zeedhi/core": "~1.97.0"
33
+ "@zeedhi/core": "^1.97.0"
34
34
  },
35
- "gitHead": "b97e803072580b43c8e2e83a1f467186616e42ae"
35
+ "gitHead": "f5fd5144d582c73468d08511c491868f5f4b71c8"
36
36
  }
@@ -387,6 +387,33 @@ describe('TekGrid', () => {
387
387
  spy.mockReset();
388
388
  getColumnSpy.mockReset();
389
389
  });
390
+
391
+ it('should call getReport always with "xls" when there is no group', async () => {
392
+ (window as any).open = jest.fn();
393
+
394
+ const instance = new TekGrid({
395
+ name: 'grid',
396
+ component: 'TekGrid',
397
+ columns: [
398
+ {
399
+ name: 'id',
400
+ label: 'ID',
401
+ },
402
+ {
403
+ name: 'department_id',
404
+ label: 'Department ID',
405
+ },
406
+ ],
407
+ });
408
+
409
+ await instance.getReport('xls2');
410
+
411
+ expect(reportSpy).toHaveBeenCalledWith('xls', undefined, {
412
+ metaData: {
413
+ columns: {}, filter: undefined, groups: [], xlsDefaultType: undefined,
414
+ },
415
+ }, undefined);
416
+ });
390
417
  });
391
418
 
392
419
  describe('saveChanges()', () => {
@@ -76,6 +76,7 @@ export declare class TekGrid extends GridEditable implements ITekGrid {
76
76
  showCheckboxAllFilter: boolean;
77
77
  defaultFilter: IDictionary;
78
78
  toolbarOpened: boolean;
79
+ reportTitle: string;
79
80
  /**
80
81
  * TekGrid class constructor
81
82
  * @param props TekGrid properties
@@ -63,6 +63,7 @@ export interface ITekGrid extends IGridEditable {
63
63
  defaultFilter?: IDictionary;
64
64
  xlsDefaultType?: string;
65
65
  toolbarOpened?: boolean;
66
+ reportTitle?: string;
66
67
  }
67
68
  export declare type MultiOptionParams = {
68
69
  iconName: string;
@@ -25,4 +25,5 @@ export interface ITekTreeGrid extends ITreeGridEditable {
25
25
  showCheckboxAllFilter?: boolean;
26
26
  defaultFilter?: IDictionary;
27
27
  toolbarOpened?: boolean;
28
+ reportTitle?: string;
28
29
  }
@@ -65,6 +65,7 @@ export declare class TekTreeGrid extends TreeGridEditable implements ITekTreeGri
65
65
  filterOperationsDatasource: Datasource;
66
66
  showCheckboxAllFilter: boolean;
67
67
  defaultFilter: IDictionary;
68
+ reportTitle: string;
68
69
  /**
69
70
  * TekTreeGrid class constructor
70
71
  * @param props TekTreeGrid properties