@zeedhi/teknisa-components-common 1.40.0 → 1.44.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.
- package/coverage/clover.xml +851 -749
- package/coverage/coverage-final.json +31 -30
- package/coverage/lcov-report/index.html +39 -25
- package/coverage/lcov.info +1566 -1353
- package/dist/tek-components-common.esm.js +281 -29
- package/dist/tek-components-common.umd.js +280 -27
- package/package.json +2 -2
- package/tests/unit/components/tek-grid/grid.spec.ts +446 -7
- package/tests/unit/components/tek-grid/layout_options.spec.ts +156 -2
- package/tests/unit/components/tek-iterable-component-render/iterable-component-render.spec.ts +9 -0
- package/tests/unit/components/tek-loading/Loading.spec.ts +30 -0
- package/tests/unit/components/tek-product-card/product-card.spec.ts +9 -0
- package/tests/unit/components/tree-grid/tree-grid.spec.ts +159 -2
- package/tests/unit/utils/grid-base/grid-controller.spec.ts +106 -3
- package/types/components/index.d.ts +2 -0
- package/types/components/tek-datasource/memory-datasource.d.ts +4 -2
- package/types/components/tek-grid/grid-column.d.ts +4 -1
- package/types/components/tek-grid/grid.d.ts +10 -0
- package/types/components/tek-grid/interfaces.d.ts +6 -3
- package/types/components/tek-grid/layout-options.d.ts +4 -1
- package/types/components/tek-iterable-component-render/interfaces.d.ts +3 -0
- package/types/components/tek-iterable-component-render/iterable-component-render.d.ts +12 -0
- package/types/components/tek-loading/interfaces.d.ts +6 -0
- package/types/components/tek-loading/loading.d.ts +24 -0
- package/types/components/tek-product-card/interfaces.d.ts +3 -0
- package/types/components/tek-product-card/product-card.d.ts +12 -0
- package/types/components/tek-tree-grid/interfaces.d.ts +3 -1
- package/types/components/tek-tree-grid/tree-grid.d.ts +6 -0
- package/types/utils/grid-base/grid-base.d.ts +42 -34
- package/types/utils/grid-base/grid-controller.d.ts +7 -3
- package/types/utils/index.d.ts +2 -2
|
@@ -417,6 +417,18 @@
|
|
|
417
417
|
* Card width
|
|
418
418
|
*/
|
|
419
419
|
this.width = '';
|
|
420
|
+
/**
|
|
421
|
+
* Sets the height for the component.
|
|
422
|
+
*/
|
|
423
|
+
this.height = 'auto';
|
|
424
|
+
/**
|
|
425
|
+
* Sets the maximum height for the component.
|
|
426
|
+
*/
|
|
427
|
+
this.maxHeight = 'none';
|
|
428
|
+
/**
|
|
429
|
+
* Sets the minimum height for the component.
|
|
430
|
+
*/
|
|
431
|
+
this.minHeight = 'none';
|
|
420
432
|
this.currencyFormatterFn = core.FormatterParserProvider.getFormatter('ZdCurrency');
|
|
421
433
|
this.id = this.getInitValue('id', props.id, this.id);
|
|
422
434
|
this.productName = this.getInitValue('productName', props.productName, this.productName);
|
|
@@ -428,6 +440,9 @@
|
|
|
428
440
|
this.errorImagePath = this.getInitValue('errorImagePath', props.errorImagePath, this.errorImagePath);
|
|
429
441
|
this.errorImageText = this.getInitValue('errorImageText', props.errorImageText, this.errorImageText);
|
|
430
442
|
this.width = this.getInitValue('width', props.width, this.width);
|
|
443
|
+
this.height = this.getInitValue('height', props.height, this.height);
|
|
444
|
+
this.maxHeight = this.getInitValue('maxHeight', props.maxHeight, this.maxHeight);
|
|
445
|
+
this.minHeight = this.getInitValue('minHeight', props.minHeight, this.minHeight);
|
|
431
446
|
this.createAccessors();
|
|
432
447
|
}
|
|
433
448
|
get productPriceFormat() {
|
|
@@ -480,6 +495,18 @@
|
|
|
480
495
|
text: 'NO_RESULT',
|
|
481
496
|
},
|
|
482
497
|
];
|
|
498
|
+
/**
|
|
499
|
+
* Sets the height for the component.
|
|
500
|
+
*/
|
|
501
|
+
this.height = 'auto';
|
|
502
|
+
/**
|
|
503
|
+
* Sets the maximum height for the component.
|
|
504
|
+
*/
|
|
505
|
+
this.maxHeight = 'none';
|
|
506
|
+
/**
|
|
507
|
+
* Sets the minimum height for the component.
|
|
508
|
+
*/
|
|
509
|
+
this.minHeight = 'none';
|
|
483
510
|
/**
|
|
484
511
|
* Components that will be rendered in error case
|
|
485
512
|
*/
|
|
@@ -493,6 +520,9 @@
|
|
|
493
520
|
this.errorSlot = props.errorSlot || this.errorSlot;
|
|
494
521
|
this.noDataSlot = this.changeDefaultSlotNames(this.noDataSlot);
|
|
495
522
|
this.noResultSlot = this.changeDefaultSlotNames(this.noResultSlot);
|
|
523
|
+
this.height = this.getInitValue('height', props.height, this.height);
|
|
524
|
+
this.maxHeight = this.getInitValue('maxHeight', props.maxHeight, this.maxHeight);
|
|
525
|
+
this.minHeight = this.getInitValue('minHeight', props.minHeight, this.minHeight);
|
|
496
526
|
this.createAccessors();
|
|
497
527
|
}
|
|
498
528
|
addSlashes(value) {
|
|
@@ -555,6 +585,36 @@
|
|
|
555
585
|
}
|
|
556
586
|
}
|
|
557
587
|
|
|
588
|
+
// eslint-disable-next-line
|
|
589
|
+
const loading = 'data:image/gif;base64,R0lGODlhlgCWAPf/AC1oxPa+ADarUdmsFEB/m0yTcjiMhEafWjFova2SNDZotX10VsOfJDlosFZnge25BnJtXTukVWVmaFh1eIuOZ1x0ZEFopHpyWGFpcS5ow+q2CVNnhmVnZvW9AW5qYUyKXUJnofW+AKWNOV9mcS9owZuGQTporlCGXbWXLmNrazxnqeKyDoGDZVFniFZ6ZNSpGJ+IPoR4Ud+wEURnnmtpYklnlll5YbGUMcagIk5njmhnZWpoZGF0aWBmbkdnmbyaKUtnlEaBfWdmZTNou0WUW5WDRFtmeGZmZ82kHqecTXqIdzRouGJmbPC6BIB2VDxnrGNmakyHYPO8AkxnkUh0qmRpZl9wZVxndmRmaVhnffS9AqmPN09ni96vEUmQWzBowC1ow2FtZVR3gl5ndFGCYEVnnF1mdGR9i1dnf7qZK4l7TnRvXOK1FD6eV8ijIG6Cgl58lF1rfEBnpFVsi1pmeo5+Sk56dz9np5OCRjaqUi5pxNarFndwWmNqZm9sYFx7a098itGnG4d6T7ikPKKLO1Rmg+e1Cr2bKVhme0GbVkpmk5mWW5GBSM+nHLiYLPG7BIp8TUKZWUFsqWJnbltmd0hnmNqtFExtm1tsgaiOOIx9TNuuE6CKPWJmbcqjH1OJb8CdJjFovlpwb+u5CzioU1aFbjdos0qYXJOPXWFwczepUnBsX8qrKuW0DD5nqdmsFUl+kTtnrDdntNKuI+OzDVRnhYuEV52HPzNqvjltuVBqkJeERNirFnVvXKSMOjVsvDmLhEJxsTloss+sJTeqUdyzGkaeWreYLmBqdjmMhDyhVvC8B49/STinVVV+YVp/bEuScq6fRj5tr8CnNUV/lUNnoGZnZkCFgTaqUVeCYTuLgz2Ig02RcUySck+QcTxpr5qQUFCPXjZsullviFh4ZNaxH0KAmEGYXFJ4oFCNcEdsoUicWpmFQkRooEFvsHt5YDepUXBvYzyKhESXWkeeWjxutcWlK250bYp+UFCQcGZoaLyeLtitFaGSR0OYV2ZmZiH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LmRhYmFjYmIsIDIwMjEvMDQvMTQtMDA6Mzk6NDQgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMy4wIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEMEVGRUY5RjYzRjYxMUVDQkRFNUM0MjQ5M0FFRTY2RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEMEVGRUZBMDYzRjYxMUVDQkRFNUM0MjQ5M0FFRTY2RSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQwRUZFRjlENjNGNjExRUNCREU1QzQyNDkzQUVFNjZFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQwRUZFRjlFNjNGNjExRUNCREU1QzQyNDkzQUVFNjZFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1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3cr155ExDjZsyDKiK8weU4R9AcAWTCgTLcyulFBrCdu7eAHITSmhEpi8gPeirJEBcGDBJR0UNpwXMUksChgfdhxyg+TJlD/eudw480cmdjnf9fxxDAnRo0l3vII6teqNZhajfs1xBILWemlrlNAAt+6NNXz/zjji9OzhGSu1Rp6RSW/RzDOaicw5esZJrqpbx4iFiynZd0mYgtiuEQuaSndMmJAzhY4E8vDjy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oostujiizDGKOOMNNZo44045qjjjjz26OOPQAYp5JBEFmnkkUgmqSRVAQEAIfkEBQQA/wAsAAAAAJYAlgAACPEA/wkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufbjggACH5BAUEAP8ALAAAAAABAAEAAAgEAP8FBAA7';
|
|
590
|
+
/**
|
|
591
|
+
* Teknisa component
|
|
592
|
+
*/
|
|
593
|
+
class Loading extends common.ComponentRender {
|
|
594
|
+
/**
|
|
595
|
+
* Creates a new instance of TekLoading
|
|
596
|
+
* @param props Image Link props
|
|
597
|
+
*/
|
|
598
|
+
constructor(props) {
|
|
599
|
+
super(props);
|
|
600
|
+
/**
|
|
601
|
+
* text to show in Loader Overlay
|
|
602
|
+
*/
|
|
603
|
+
this.text = '';
|
|
604
|
+
/**
|
|
605
|
+
* zIndex value.
|
|
606
|
+
*/
|
|
607
|
+
this.zIndex = '999';
|
|
608
|
+
/**
|
|
609
|
+
* loading path.
|
|
610
|
+
*/
|
|
611
|
+
this.image = loading;
|
|
612
|
+
this.text = this.getInitValue('text', props.text, this.text);
|
|
613
|
+
this.zIndex = this.getInitValue('zIndex', props.zIndex, this.zIndex);
|
|
614
|
+
this.image = this.getInitValue('image', props.image, this.image);
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
|
|
558
618
|
/**
|
|
559
619
|
* Notifications component is used to show notifications
|
|
560
620
|
*/
|
|
@@ -685,6 +745,25 @@
|
|
|
685
745
|
class GridBase {
|
|
686
746
|
constructor(grid) {
|
|
687
747
|
this.exportConfigButtons = [];
|
|
748
|
+
this.filterFormInputs = {};
|
|
749
|
+
this.atoms = {
|
|
750
|
+
TITLE: '_gridTitle',
|
|
751
|
+
ADD_BUTTON: '_addButton',
|
|
752
|
+
DELETE_BUTTON: '_deleteButton',
|
|
753
|
+
REFRESH_BUTTON: '_refreshButton',
|
|
754
|
+
COLUMNS_BUTTON: '_columnsButton',
|
|
755
|
+
LAYOUT_BUTTON: '_layout_options',
|
|
756
|
+
EXPORT_BUTTON: '_exportButton',
|
|
757
|
+
ACTIONS_BUTTON: '_actionsButton',
|
|
758
|
+
SAVE_BUTTON: '_saveButton',
|
|
759
|
+
CANCEL_BUTTON: '_cancelButton',
|
|
760
|
+
SEARCH: '_gridSearch',
|
|
761
|
+
FILTER_BUTTON: '_filterButton',
|
|
762
|
+
FILTER_MODAL: '-filter-modal',
|
|
763
|
+
FILTER_FORM: '-filter-form',
|
|
764
|
+
EXPORT_DROPDOWN: '_export_dropdown',
|
|
765
|
+
ACTIONS_DROPDOWN: '_actions_dropdown',
|
|
766
|
+
};
|
|
688
767
|
this.grid = grid;
|
|
689
768
|
this.exportConfigButtons = this.getExportConfigButtons();
|
|
690
769
|
}
|
|
@@ -767,7 +846,7 @@
|
|
|
767
846
|
component: 'ZdDivider',
|
|
768
847
|
cssClass: 'toolbar-divider',
|
|
769
848
|
vertical: true,
|
|
770
|
-
isVisible: `{{GridController_${this.grid.componentId}.
|
|
849
|
+
isVisible: `{{GridController_${this.grid.componentId}.showDivider1}}`,
|
|
771
850
|
},
|
|
772
851
|
{
|
|
773
852
|
name: `${this.grid.name}_refresh_tooltip`,
|
|
@@ -780,7 +859,7 @@
|
|
|
780
859
|
component: 'ZdButton',
|
|
781
860
|
icon: true,
|
|
782
861
|
iconName: 'refresh',
|
|
783
|
-
isVisible: this.grid.
|
|
862
|
+
isVisible: `{{GridController_${this.grid.componentId}.showReloadButton}}`,
|
|
784
863
|
events: {
|
|
785
864
|
click: this.reloadGrid.bind(this),
|
|
786
865
|
},
|
|
@@ -792,7 +871,7 @@
|
|
|
792
871
|
component: 'ZdDivider',
|
|
793
872
|
cssClass: 'toolbar-divider',
|
|
794
873
|
vertical: true,
|
|
795
|
-
isVisible: `{{GridController_${this.grid.componentId}.
|
|
874
|
+
isVisible: `{{GridController_${this.grid.componentId}.showDivider2}}`,
|
|
796
875
|
},
|
|
797
876
|
{
|
|
798
877
|
name: `${this.grid.name}_columns_button_tooltip`,
|
|
@@ -813,7 +892,7 @@
|
|
|
813
892
|
{
|
|
814
893
|
name: `${this.grid.name}_layout_options`,
|
|
815
894
|
component: 'TekGridLayoutOptions',
|
|
816
|
-
isVisible: `{{GridController_${this.grid.componentId}.
|
|
895
|
+
isVisible: `{{GridController_${this.grid.componentId}.showLayoutOptionsButton}}`,
|
|
817
896
|
},
|
|
818
897
|
{
|
|
819
898
|
name: `${this.grid.name}_dividerActions`,
|
|
@@ -855,6 +934,7 @@
|
|
|
855
934
|
component: 'ZdDivider',
|
|
856
935
|
cssClass: 'toolbar-divider',
|
|
857
936
|
vertical: true,
|
|
937
|
+
isVisible: `{{GridController_${this.grid.componentId}.showDivider3}}`,
|
|
858
938
|
},
|
|
859
939
|
],
|
|
860
940
|
},
|
|
@@ -883,6 +963,7 @@
|
|
|
883
963
|
{
|
|
884
964
|
name: `${this.grid.name}_gridSearch`,
|
|
885
965
|
component: 'ZdSearch',
|
|
966
|
+
isVisible: `{{GridController_${this.grid.componentId}.showSearchInput}}`,
|
|
886
967
|
},
|
|
887
968
|
{
|
|
888
969
|
name: `${this.grid.name}_filter_tooltip`,
|
|
@@ -906,17 +987,17 @@
|
|
|
906
987
|
}
|
|
907
988
|
addButtonClick({ event }) {
|
|
908
989
|
if (this.grid.events.addClick) {
|
|
909
|
-
this.grid.events.addClick({ component: this, event });
|
|
990
|
+
this.grid.events.addClick({ component: this.grid, event });
|
|
910
991
|
}
|
|
911
992
|
}
|
|
912
993
|
deleteButtonClick({ event }) {
|
|
913
994
|
if (this.grid.events.beforeDelete) {
|
|
914
|
-
this.grid.events.beforeDelete({ component: this, event });
|
|
995
|
+
this.grid.events.beforeDelete({ component: this.grid, event });
|
|
915
996
|
}
|
|
916
997
|
if (!event.defaultPrevented) {
|
|
917
998
|
this.grid.deleteRows();
|
|
918
999
|
if (this.grid.events.afterDelete) {
|
|
919
|
-
this.grid.events.afterDelete({ component: this });
|
|
1000
|
+
this.grid.events.afterDelete({ component: this.grid });
|
|
920
1001
|
}
|
|
921
1002
|
}
|
|
922
1003
|
}
|
|
@@ -925,29 +1006,29 @@
|
|
|
925
1006
|
}
|
|
926
1007
|
saveChanges({ event }) {
|
|
927
1008
|
if (this.grid.events.beforeSave) {
|
|
928
|
-
this.grid.events.beforeSave({ component: this, event });
|
|
1009
|
+
this.grid.events.beforeSave({ component: this.grid, event });
|
|
929
1010
|
}
|
|
930
1011
|
if (!event.defaultPrevented) {
|
|
931
1012
|
this.grid.saveEditedRows();
|
|
932
1013
|
if (this.grid.events.afterSave) {
|
|
933
|
-
this.grid.events.afterSave({ component: this });
|
|
1014
|
+
this.grid.events.afterSave({ component: this.grid });
|
|
934
1015
|
}
|
|
935
1016
|
}
|
|
936
1017
|
}
|
|
937
1018
|
cancelChanges({ event }) {
|
|
938
1019
|
if (this.grid.events.beforeCancel) {
|
|
939
|
-
this.grid.events.beforeCancel({ component: this, event });
|
|
1020
|
+
this.grid.events.beforeCancel({ component: this.grid, event });
|
|
940
1021
|
}
|
|
941
1022
|
if (!event.defaultPrevented) {
|
|
942
1023
|
this.grid.cancelEditedRows();
|
|
943
1024
|
if (this.grid.events.afterCancel) {
|
|
944
|
-
this.grid.events.afterCancel({ component: this });
|
|
1025
|
+
this.grid.events.afterCancel({ component: this.grid });
|
|
945
1026
|
}
|
|
946
1027
|
}
|
|
947
1028
|
}
|
|
948
1029
|
filterClick({ event }) {
|
|
949
1030
|
if (this.grid.events.filterClick) {
|
|
950
|
-
this.grid.events.filterClick({ event, component: this });
|
|
1031
|
+
this.grid.events.filterClick({ event, component: this.grid });
|
|
951
1032
|
}
|
|
952
1033
|
if (!event.defaultPrevented) {
|
|
953
1034
|
this.createFilterFromColumns();
|
|
@@ -996,6 +1077,17 @@
|
|
|
996
1077
|
component: 'ZdFooter',
|
|
997
1078
|
color: 'transparent',
|
|
998
1079
|
padless: true,
|
|
1080
|
+
leftSlot: [
|
|
1081
|
+
{
|
|
1082
|
+
name: `${this.grid.name}-filter-clearButton`,
|
|
1083
|
+
component: 'ZdButton',
|
|
1084
|
+
label: 'CLEAR',
|
|
1085
|
+
outline: true,
|
|
1086
|
+
events: {
|
|
1087
|
+
click: this.clearFilter.bind(this),
|
|
1088
|
+
},
|
|
1089
|
+
},
|
|
1090
|
+
],
|
|
999
1091
|
rightSlot: [
|
|
1000
1092
|
{
|
|
1001
1093
|
name: `${this.grid.name}-filter-cancelButton`,
|
|
@@ -1025,12 +1117,18 @@
|
|
|
1025
1117
|
hideFilterModal() {
|
|
1026
1118
|
this.filterModal.hide();
|
|
1027
1119
|
}
|
|
1120
|
+
sortFilterIndex(col1, col2) {
|
|
1121
|
+
const index1 = col1.filterIndex !== undefined ? col1.filterIndex : Number.MAX_SAFE_INTEGER;
|
|
1122
|
+
const index2 = col2.filterIndex !== undefined ? col2.filterIndex : Number.MAX_SAFE_INTEGER;
|
|
1123
|
+
return index1 - index2;
|
|
1124
|
+
}
|
|
1028
1125
|
getFilterModalComponents() {
|
|
1029
1126
|
const filterColumns = [];
|
|
1030
1127
|
let columnComponentName;
|
|
1031
|
-
this.grid.columns.forEach((column) => {
|
|
1128
|
+
[...this.grid.columns].sort(this.sortFilterIndex).forEach((column) => {
|
|
1032
1129
|
const filterProps = Array.isArray(column.filterProps) ? column.filterProps : [column.filterProps];
|
|
1033
1130
|
if (column.filterable && filterProps && filterProps.length > 0) {
|
|
1131
|
+
this.filterFormInputs[column.name] = [];
|
|
1034
1132
|
filterProps.forEach((filterItem, index) => {
|
|
1035
1133
|
const { datasource } = this.grid;
|
|
1036
1134
|
if (datasource instanceof TekRestDatasource || datasource instanceof TekMemoryDatasource) {
|
|
@@ -1041,6 +1139,7 @@
|
|
|
1041
1139
|
else {
|
|
1042
1140
|
columnComponentName = `${this.grid.name}-filter-AND-CONTAINS-${column.name}-${index}`;
|
|
1043
1141
|
}
|
|
1142
|
+
this.filterFormInputs[column.name].push(columnComponentName);
|
|
1044
1143
|
let newColumnComponent = Object.assign(Object.assign(Object.assign({ label: column.label }, column.componentProps), filterItem), { name: columnComponentName });
|
|
1045
1144
|
if (filterItem.helperOptions) {
|
|
1046
1145
|
newColumnComponent = this.getHelperValueComponent(newColumnComponent, filterItem.helperOptions, column);
|
|
@@ -1210,6 +1309,12 @@
|
|
|
1210
1309
|
this.grid.changeLayout(event);
|
|
1211
1310
|
}
|
|
1212
1311
|
}
|
|
1312
|
+
clearFilter() {
|
|
1313
|
+
const filterForm = core.Metadata.getInstance(`${this.grid.name}-filter-form`);
|
|
1314
|
+
Object.keys(filterForm.value).forEach((item) => {
|
|
1315
|
+
filterForm.value[item] = null;
|
|
1316
|
+
});
|
|
1317
|
+
}
|
|
1213
1318
|
getFilterRelationsDatasource() {
|
|
1214
1319
|
return core.DatasourceFactory.factory({
|
|
1215
1320
|
data: this.getFilterOptionsData('relations'),
|
|
@@ -1260,6 +1365,17 @@
|
|
|
1260
1365
|
return datasource.setSearch(search);
|
|
1261
1366
|
});
|
|
1262
1367
|
}
|
|
1368
|
+
getAtomInstance(key) {
|
|
1369
|
+
return core.Metadata.getInstance(`${this.grid.name}${this.atoms[key]}`);
|
|
1370
|
+
}
|
|
1371
|
+
getFilterInputs(columnName) {
|
|
1372
|
+
const mapper = (name) => core.Metadata.getInstance(name);
|
|
1373
|
+
if (columnName) {
|
|
1374
|
+
return this.filterFormInputs[columnName].map(mapper);
|
|
1375
|
+
}
|
|
1376
|
+
const values = Object.values(this.filterFormInputs);
|
|
1377
|
+
return values.reduce((result, current) => ([...result, ...current.map(mapper)]), []);
|
|
1378
|
+
}
|
|
1263
1379
|
}
|
|
1264
1380
|
core.Messages.add({
|
|
1265
1381
|
'pt-BR': {
|
|
@@ -1487,17 +1603,28 @@
|
|
|
1487
1603
|
get showFilterButton() {
|
|
1488
1604
|
return this.grid.filterButton;
|
|
1489
1605
|
}
|
|
1606
|
+
get showSearchInput() {
|
|
1607
|
+
return this.grid.showSearch;
|
|
1608
|
+
}
|
|
1609
|
+
get showReloadButton() {
|
|
1610
|
+
return this.grid.showReload;
|
|
1611
|
+
}
|
|
1612
|
+
get showDivider2() {
|
|
1613
|
+
return this.showReloadButton && (this.showLayoutOptionsButton || this.showColumnsButton
|
|
1614
|
+
|| this.showActionsButton || this.showExportButton || this.showSearchInput);
|
|
1615
|
+
}
|
|
1490
1616
|
get showColumnsButton() {
|
|
1491
1617
|
return this.grid.columnsButton;
|
|
1492
1618
|
}
|
|
1493
1619
|
get columnsButtonIgnore() {
|
|
1494
1620
|
return this.grid.columnsButtonIgnore;
|
|
1495
1621
|
}
|
|
1496
|
-
get
|
|
1622
|
+
get showLayoutOptionsButton() {
|
|
1497
1623
|
return this.grid.showLayoutOptions;
|
|
1498
1624
|
}
|
|
1499
|
-
get
|
|
1500
|
-
return this.showAddButton || this.showDeleteButton
|
|
1625
|
+
get showDivider1() {
|
|
1626
|
+
return (this.showAddButton || this.showDeleteButton) && (this.showReloadButton || this.showLayoutOptionsButton || this.showColumnsButton
|
|
1627
|
+
|| this.showActionsButton || this.showExportButton || this.showSearchInput);
|
|
1501
1628
|
}
|
|
1502
1629
|
get showActionsButton() {
|
|
1503
1630
|
return this.grid.actions.length > 0;
|
|
@@ -1506,7 +1633,10 @@
|
|
|
1506
1633
|
return this.grid.showExport;
|
|
1507
1634
|
}
|
|
1508
1635
|
get showActionAndExportButton() {
|
|
1509
|
-
return this.showActionsButton || this.showExportButton;
|
|
1636
|
+
return (this.showLayoutOptionsButton || this.showColumnsButton) && (this.showActionsButton || this.showExportButton || this.showSearchInput);
|
|
1637
|
+
}
|
|
1638
|
+
get showDivider3() {
|
|
1639
|
+
return (this.showActionsButton || this.showExportButton) && this.showSearchInput;
|
|
1510
1640
|
}
|
|
1511
1641
|
get isEditing() {
|
|
1512
1642
|
return this.grid.editing;
|
|
@@ -1895,10 +2025,10 @@
|
|
|
1895
2025
|
return;
|
|
1896
2026
|
if (filtered === true && item.relation === 'OR')
|
|
1897
2027
|
return;
|
|
1898
|
-
const columnValue = core.normalize(row[key].toString());
|
|
2028
|
+
const columnValue = core.Utils.normalize(row[key].toString());
|
|
1899
2029
|
let value = '';
|
|
1900
2030
|
if (Array.isArray(item.value)) {
|
|
1901
|
-
value = item.value.map((val) => core.normalize(val.toString()));
|
|
2031
|
+
value = item.value.map((val) => core.Utils.normalize(val.toString()));
|
|
1902
2032
|
switch (item.operation) {
|
|
1903
2033
|
case 'IN':
|
|
1904
2034
|
filtered = value.includes(columnValue);
|
|
@@ -1913,7 +2043,7 @@
|
|
|
1913
2043
|
}
|
|
1914
2044
|
}
|
|
1915
2045
|
else {
|
|
1916
|
-
value = core.normalize(item.value.toString());
|
|
2046
|
+
value = core.Utils.normalize(item.value.toString());
|
|
1917
2047
|
switch (item.operation) {
|
|
1918
2048
|
case 'CONTAINS':
|
|
1919
2049
|
filtered = columnValue.indexOf(value) !== -1;
|
|
@@ -1998,6 +2128,7 @@
|
|
|
1998
2128
|
this.isVisible = this.getInitValue('isVisible', props.isVisible, this.isVisible);
|
|
1999
2129
|
this.filterProps = this.getInitValue('filterProps', props.filterProps, this.filterProps);
|
|
2000
2130
|
this.filterable = this.getInitValue('filterable', props.filterable, this.filterable);
|
|
2131
|
+
this.filterIndex = this.getInitValue('filterIndex', props.filterIndex, this.filterIndex);
|
|
2001
2132
|
this.fixed = this.getInitValue('fixed', props.fixed, this.fixed);
|
|
2002
2133
|
this.grouped = this.getInitValue('grouped', props.grouped, this.grouped);
|
|
2003
2134
|
this.groupOpened = this.getInitValue('groupOpened', props.groupOpened, this.groupOpened);
|
|
@@ -2073,6 +2204,16 @@
|
|
|
2073
2204
|
this.changeGrouping();
|
|
2074
2205
|
}
|
|
2075
2206
|
}
|
|
2207
|
+
get groupOpened() {
|
|
2208
|
+
return this.groupOpenedValue;
|
|
2209
|
+
}
|
|
2210
|
+
set groupOpened(value) {
|
|
2211
|
+
const changed = value !== this.groupOpenedValue;
|
|
2212
|
+
this.groupOpenedValue = value;
|
|
2213
|
+
if (changed) {
|
|
2214
|
+
this.changeGrouping();
|
|
2215
|
+
}
|
|
2216
|
+
}
|
|
2076
2217
|
get isVisible() {
|
|
2077
2218
|
return this.isVisibleValue && !this.grouped;
|
|
2078
2219
|
}
|
|
@@ -2106,6 +2247,8 @@
|
|
|
2106
2247
|
this.actions = [];
|
|
2107
2248
|
/* Show Filter button */
|
|
2108
2249
|
this.filterButton = false;
|
|
2250
|
+
/* Show SearchInput */
|
|
2251
|
+
this.showSearch = true;
|
|
2109
2252
|
/* Show Column Filter button */
|
|
2110
2253
|
this.columnFilterButton = false;
|
|
2111
2254
|
/* Show Columns button */
|
|
@@ -2173,6 +2316,32 @@
|
|
|
2173
2316
|
this.groupColumns = [];
|
|
2174
2317
|
this.groupedData = [];
|
|
2175
2318
|
this.toolbarSlotProps = false;
|
|
2319
|
+
this.keyShortcutKeyMapping = {
|
|
2320
|
+
'mod+f': {
|
|
2321
|
+
event: this.focusSearchInput.bind(this),
|
|
2322
|
+
stop: true,
|
|
2323
|
+
active: true,
|
|
2324
|
+
},
|
|
2325
|
+
'mod+l': {
|
|
2326
|
+
event: ({ event, element }) => {
|
|
2327
|
+
if (this.filterButton) {
|
|
2328
|
+
const instance = core.Metadata.getInstance(`${this.name}_filterButton`);
|
|
2329
|
+
instance.click(event, element);
|
|
2330
|
+
}
|
|
2331
|
+
},
|
|
2332
|
+
stop: true,
|
|
2333
|
+
active: true,
|
|
2334
|
+
},
|
|
2335
|
+
'mod+enter': {
|
|
2336
|
+
event: () => {
|
|
2337
|
+
const instance = core.Metadata.getInstance(`${this.name}_actions_dropdown`);
|
|
2338
|
+
instance.setFocus();
|
|
2339
|
+
instance.value = !instance.value;
|
|
2340
|
+
},
|
|
2341
|
+
stop: true,
|
|
2342
|
+
active: true,
|
|
2343
|
+
},
|
|
2344
|
+
};
|
|
2176
2345
|
this.groups = [];
|
|
2177
2346
|
this.summary = {};
|
|
2178
2347
|
this.updateGrouping = debounce__default["default"]((lazyLoad = false) => {
|
|
@@ -2182,6 +2351,7 @@
|
|
|
2182
2351
|
this.addButton = this.getInitValue('addButton', props.addButton, this.addButton);
|
|
2183
2352
|
this.deleteButton = this.getInitValue('deleteButton', props.deleteButton, this.deleteButton);
|
|
2184
2353
|
this.filterButton = this.getInitValue('filterButton', props.filterButton, this.filterButton);
|
|
2354
|
+
this.showSearch = this.getInitValue('showSearch', props.showSearch, this.showSearch);
|
|
2185
2355
|
this.columnFilterButton = this.getInitValue('columnFilterButton', props.columnFilterButton, this.columnFilterButton);
|
|
2186
2356
|
this.columnsButton = this.getInitValue('columnsButton', props.columnsButton, this.columnsButton);
|
|
2187
2357
|
this.columnsButtonIgnore = this.getInitValue('columnsButtonIgnore', props.columnsButtonIgnore, this.columnsButtonIgnore);
|
|
@@ -2221,6 +2391,23 @@
|
|
|
2221
2391
|
active: true,
|
|
2222
2392
|
};
|
|
2223
2393
|
}
|
|
2394
|
+
onMounted(element) {
|
|
2395
|
+
super.onMounted(element);
|
|
2396
|
+
core.KeyMap.bind(this.keyShortcutKeyMapping, this, element);
|
|
2397
|
+
}
|
|
2398
|
+
onBeforeDestroy() {
|
|
2399
|
+
super.onBeforeDestroy();
|
|
2400
|
+
core.KeyMap.unbind(this.keyShortcutKeyMapping, this);
|
|
2401
|
+
}
|
|
2402
|
+
focusSearchInput() {
|
|
2403
|
+
const searchInput = core.Metadata.getInstance(`${this.name}_gridSearch`);
|
|
2404
|
+
searchInput.setFocus();
|
|
2405
|
+
}
|
|
2406
|
+
get layoutOptions() {
|
|
2407
|
+
if (!this.showLayoutOptions)
|
|
2408
|
+
return undefined;
|
|
2409
|
+
return core.Metadata.getInstance(`${this.name}_layout_options`);
|
|
2410
|
+
}
|
|
2224
2411
|
/**
|
|
2225
2412
|
* Get Grid columns objects
|
|
2226
2413
|
* @param columns Grid columns parameter
|
|
@@ -2631,6 +2818,12 @@
|
|
|
2631
2818
|
});
|
|
2632
2819
|
}
|
|
2633
2820
|
}
|
|
2821
|
+
getAtomInstance(key) {
|
|
2822
|
+
return this.gridBase.getAtomInstance(key);
|
|
2823
|
+
}
|
|
2824
|
+
getFilterInputs(columnName) {
|
|
2825
|
+
return this.gridBase.getFilterInputs(columnName);
|
|
2826
|
+
}
|
|
2634
2827
|
}
|
|
2635
2828
|
|
|
2636
2829
|
class TekGridColumnsButtonController extends common.IterableColumnsButtonController {
|
|
@@ -2746,13 +2939,17 @@
|
|
|
2746
2939
|
}
|
|
2747
2940
|
return '';
|
|
2748
2941
|
}
|
|
2749
|
-
newLayout(
|
|
2750
|
-
this.
|
|
2751
|
-
this.
|
|
2752
|
-
this.
|
|
2753
|
-
this.saveLayouts();
|
|
2942
|
+
newLayout(layout) {
|
|
2943
|
+
this.fixColumns(layout);
|
|
2944
|
+
this.currentLayoutName = layout.name;
|
|
2945
|
+
this.addLayout(layout);
|
|
2754
2946
|
this.layoutEdited = false;
|
|
2755
2947
|
}
|
|
2948
|
+
addLayout(layout) {
|
|
2949
|
+
this.fixColumns(layout);
|
|
2950
|
+
this.layouts[layout.name] = layout;
|
|
2951
|
+
this.saveLayouts();
|
|
2952
|
+
}
|
|
2756
2953
|
applyLayout(name, save = true) {
|
|
2757
2954
|
this.currentLayoutName = name;
|
|
2758
2955
|
if (this.viewApplyLayout) {
|
|
@@ -2764,6 +2961,7 @@
|
|
|
2764
2961
|
this.layoutEdited = false;
|
|
2765
2962
|
}
|
|
2766
2963
|
saveLayouts() {
|
|
2964
|
+
this.layoutNames = Object.keys(this.layouts);
|
|
2767
2965
|
const layoutInfo = {
|
|
2768
2966
|
currentLayoutName: this.currentLayoutName,
|
|
2769
2967
|
layouts: this.layouts,
|
|
@@ -2779,17 +2977,57 @@
|
|
|
2779
2977
|
deleteLayout(name) {
|
|
2780
2978
|
if (this.currentLayoutName === name) {
|
|
2781
2979
|
this.currentLayoutName = '';
|
|
2980
|
+
this.applyLayout(this.currentLayoutName, false);
|
|
2782
2981
|
}
|
|
2783
2982
|
delete this.layouts[name];
|
|
2784
|
-
this.layoutNames = Object.keys(this.layouts);
|
|
2785
2983
|
this.saveLayouts();
|
|
2786
2984
|
}
|
|
2787
2985
|
updateLayout(name, layout) {
|
|
2986
|
+
this.fixColumns(layout);
|
|
2788
2987
|
this.currentLayoutName = name;
|
|
2789
|
-
|
|
2988
|
+
layout.name = name;
|
|
2989
|
+
this.layouts[layout.name] = layout;
|
|
2790
2990
|
this.saveLayouts();
|
|
2791
2991
|
this.layoutEdited = false;
|
|
2792
2992
|
}
|
|
2993
|
+
updateDefaultLayout(layout) {
|
|
2994
|
+
this.fixColumns(layout);
|
|
2995
|
+
this.originalDatasourceOrder = layout.order || this.originalDatasourceOrder;
|
|
2996
|
+
this.originalDatasourceDynamicFilter = layout.dynamicFilter || this.originalDatasourceDynamicFilter;
|
|
2997
|
+
this.originalDatasourceFilter = layout.filter || this.originalDatasourceFilter;
|
|
2998
|
+
if (layout.columns) {
|
|
2999
|
+
this.originalColumnProps = layout.columns.map((column) => {
|
|
3000
|
+
const originalColumnIdx = this.originalColumnProps.findIndex((item) => item.name === column.name);
|
|
3001
|
+
const originalColumn = originalColumnIdx !== -1 ? this.originalColumnProps[originalColumnIdx] : {};
|
|
3002
|
+
return Object.assign(Object.assign({}, originalColumn), column);
|
|
3003
|
+
});
|
|
3004
|
+
}
|
|
3005
|
+
if (this.currentLayoutName === '') {
|
|
3006
|
+
this.applyLayout(this.currentLayoutName, false);
|
|
3007
|
+
}
|
|
3008
|
+
}
|
|
3009
|
+
fixColumns(layout) {
|
|
3010
|
+
const hasLayoutColumns = !!layout.columns;
|
|
3011
|
+
layout.columns = layout.columns || [];
|
|
3012
|
+
const layoutColumnNames = layout.columns.map((layoutColumn) => layoutColumn.name);
|
|
3013
|
+
this.grid.columns.forEach((gridColumn) => {
|
|
3014
|
+
if (!hasLayoutColumns || layoutColumnNames.indexOf(gridColumn.name) === -1) {
|
|
3015
|
+
layout.columns.push({
|
|
3016
|
+
name: gridColumn.name,
|
|
3017
|
+
label: gridColumn.label,
|
|
3018
|
+
align: gridColumn.align,
|
|
3019
|
+
isVisible: !hasLayoutColumns && gridColumn.isVisible,
|
|
3020
|
+
minWidth: gridColumn.minWidth,
|
|
3021
|
+
maxWidth: gridColumn.maxWidth,
|
|
3022
|
+
fixed: gridColumn.fixed,
|
|
3023
|
+
grouped: gridColumn.grouped,
|
|
3024
|
+
groupOpened: gridColumn.groupOpened,
|
|
3025
|
+
aggregation: gridColumn.aggregation,
|
|
3026
|
+
filterHelperValue: this.getHelperValue(gridColumn),
|
|
3027
|
+
});
|
|
3028
|
+
}
|
|
3029
|
+
});
|
|
3030
|
+
}
|
|
2793
3031
|
}
|
|
2794
3032
|
|
|
2795
3033
|
class TekFilterHelper {
|
|
@@ -2894,6 +3132,8 @@
|
|
|
2894
3132
|
this.actions = [];
|
|
2895
3133
|
/* Show Filter button */
|
|
2896
3134
|
this.filterButton = false;
|
|
3135
|
+
/* Show search Input */
|
|
3136
|
+
this.showSearch = true;
|
|
2897
3137
|
/* Show Column Filter button */
|
|
2898
3138
|
this.columnFilterButton = false;
|
|
2899
3139
|
/* Show Columns button */
|
|
@@ -2945,6 +3185,7 @@
|
|
|
2945
3185
|
this.addButton = this.getInitValue('addButton', props.addButton, this.addButton);
|
|
2946
3186
|
this.deleteButton = this.getInitValue('deleteButton', props.deleteButton, this.deleteButton);
|
|
2947
3187
|
this.filterButton = this.getInitValue('filterButton', props.filterButton, this.filterButton);
|
|
3188
|
+
this.showSearch = this.getInitValue('showSearch', props.showSearch, this.showSearch);
|
|
2948
3189
|
this.columnFilterButton = this.getInitValue('columnFilterButton', props.columnFilterButton, this.columnFilterButton);
|
|
2949
3190
|
this.columnsButton = this.getInitValue('columnsButton', props.columnsButton, this.columnsButton);
|
|
2950
3191
|
this.columnsButtonIgnore = this.getInitValue('columnsButtonIgnore', props.columnsButtonIgnore, this.columnsButtonIgnore);
|
|
@@ -2971,6 +3212,11 @@
|
|
|
2971
3212
|
if (!this.toolbarSlotProps)
|
|
2972
3213
|
this.toolbarSlot = this.gridBase.createToolbarProps();
|
|
2973
3214
|
}
|
|
3215
|
+
get layoutOptions() {
|
|
3216
|
+
if (!this.showLayoutOptions)
|
|
3217
|
+
return undefined;
|
|
3218
|
+
return core.Metadata.getInstance(`${this.name}_layout_options`);
|
|
3219
|
+
}
|
|
2974
3220
|
/**
|
|
2975
3221
|
* Get Grid columns objects
|
|
2976
3222
|
* @param columns Grid columns parameter
|
|
@@ -3024,6 +3270,12 @@
|
|
|
3024
3270
|
}
|
|
3025
3271
|
this.preventRowClick = false;
|
|
3026
3272
|
}
|
|
3273
|
+
getAtomInstance(key) {
|
|
3274
|
+
return this.gridBase.getAtomInstance(key);
|
|
3275
|
+
}
|
|
3276
|
+
getFilterInputs(columnName) {
|
|
3277
|
+
return this.gridBase.getFilterInputs(columnName);
|
|
3278
|
+
}
|
|
3027
3279
|
}
|
|
3028
3280
|
|
|
3029
3281
|
core.Messages.add({
|
|
@@ -3087,6 +3339,7 @@
|
|
|
3087
3339
|
exports.Image = Image;
|
|
3088
3340
|
exports.IterableCarousel = IterableCarousel;
|
|
3089
3341
|
exports.IterableComponentRender = IterableComponentRender;
|
|
3342
|
+
exports.Loading = Loading;
|
|
3090
3343
|
exports.Notifications = Notifications;
|
|
3091
3344
|
exports.ProductCard = ProductCard;
|
|
3092
3345
|
exports.TekFilterHelper = TekFilterHelper;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeedhi/teknisa-components-common",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.44.0",
|
|
4
4
|
"description": "Teknisa Components Common",
|
|
5
5
|
"author": "Zeedhi <zeedhi@teknisa.com>",
|
|
6
6
|
"license": "ISC",
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@zeedhi/core": "*"
|
|
30
30
|
},
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "f58aaa0da52de553088e6eb5bb4567293553e44a"
|
|
32
32
|
}
|