@den4ik92/ng2-smart-table 18.2.13 → 19.0.3
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/fesm2022/den4ik92-ng2-smart-table.mjs +1403 -1583
- package/fesm2022/den4ik92-ng2-smart-table.mjs.map +1 -1
- package/lib/components/cell/cell-edit-mode/custom-edit.component.d.ts +3 -5
- package/lib/components/cell/cell-edit-mode/default-edit.component.d.ts +3 -3
- package/lib/components/cell/cell-edit-mode/edit-cell-default.d.ts +2 -3
- package/lib/components/cell/cell-edit-mode/edit-cell.component.d.ts +4 -5
- package/lib/components/cell/cell-editors/checkbox-editor.component.d.ts +2 -2
- package/lib/components/cell/cell-editors/default-editor.d.ts +8 -8
- package/lib/components/cell/cell-editors/input-editor.component.d.ts +2 -2
- package/lib/components/cell/cell-editors/select-editor.component.d.ts +2 -2
- package/lib/components/cell/cell-editors/textarea-editor.component.d.ts +2 -2
- package/lib/components/cell/cell-view-mode/custom-view.component.d.ts +1 -1
- package/lib/components/cell/cell-view-mode/view-cell.component.d.ts +2 -2
- package/lib/components/cell/cell.component.d.ts +8 -8
- package/lib/components/filter/custom-filter.component.d.ts +3 -5
- package/lib/components/filter/default-filter.component.d.ts +1 -1
- package/lib/components/filter/filter-default.d.ts +2 -3
- package/lib/components/filter/filter-types/checkbox-filter.component.d.ts +4 -4
- package/lib/components/filter/filter-types/default-filter.d.ts +4 -4
- package/lib/components/filter/filter-types/input-filter.component.d.ts +4 -4
- package/lib/components/filter/filter-types/select-filter.component.d.ts +1 -1
- package/lib/components/filter/filter.component.d.ts +2 -2
- package/lib/components/pager/pager.component.d.ts +5 -5
- package/lib/components/tbody/cells/create-cancel.component.d.ts +4 -4
- package/lib/components/tbody/cells/custom.component.d.ts +2 -3
- package/lib/components/tbody/cells/edit-delete.component.d.ts +7 -7
- package/lib/components/tbody/tbody.component.d.ts +19 -19
- package/lib/components/thead/cells/actions-title.component.d.ts +3 -4
- package/lib/components/thead/cells/actions.component.d.ts +4 -4
- package/lib/components/thead/cells/add-button.component.d.ts +5 -6
- package/lib/components/thead/cells/checkbox-select-all.component.d.ts +3 -3
- package/lib/components/thead/cells/column-title.component.d.ts +4 -5
- package/lib/components/thead/cells/title/title.component.d.ts +8 -8
- package/lib/components/thead/rows/thead-filters-row.component.d.ts +4 -4
- package/lib/components/thead/rows/thead-form-row.component.d.ts +4 -4
- package/lib/components/thead/rows/thead-titles-row.component.d.ts +6 -6
- package/lib/components/thead/thead.component.d.ts +7 -7
- package/lib/lib/grid.d.ts +6 -7
- package/lib/ng2-smart-table.component.d.ts +17 -17
- package/package.json +5 -7
- package/public-api.d.ts +0 -1
- package/esm2022/den4ik92-ng2-smart-table.mjs +0 -5
- package/esm2022/lib/components/cell/cell-edit-mode/custom-edit.component.mjs +0 -44
- package/esm2022/lib/components/cell/cell-edit-mode/default-edit.component.mjs +0 -26
- package/esm2022/lib/components/cell/cell-edit-mode/edit-cell-default.mjs +0 -35
- package/esm2022/lib/components/cell/cell-edit-mode/edit-cell.component.mjs +0 -76
- package/esm2022/lib/components/cell/cell-editors/checkbox-editor.component.mjs +0 -40
- package/esm2022/lib/components/cell/cell-editors/default-editor.mjs +0 -30
- package/esm2022/lib/components/cell/cell-editors/input-editor.component.mjs +0 -37
- package/esm2022/lib/components/cell/cell-editors/select-editor.component.mjs +0 -52
- package/esm2022/lib/components/cell/cell-editors/textarea-editor.component.mjs +0 -39
- package/esm2022/lib/components/cell/cell-view-mode/custom-view.component.mjs +0 -15
- package/esm2022/lib/components/cell/cell-view-mode/view-cell.component.mjs +0 -47
- package/esm2022/lib/components/cell/cell-view-mode/view-cell.mjs +0 -2
- package/esm2022/lib/components/cell/cell.component.mjs +0 -73
- package/esm2022/lib/components/cell/cell.module.mjs +0 -75
- package/esm2022/lib/components/filter/custom-filter.component.mjs +0 -43
- package/esm2022/lib/components/filter/default-filter.component.mjs +0 -73
- package/esm2022/lib/components/filter/filter-default.mjs +0 -37
- package/esm2022/lib/components/filter/filter-types/checkbox-filter.component.mjs +0 -54
- package/esm2022/lib/components/filter/filter-types/default-filter.mjs +0 -36
- package/esm2022/lib/components/filter/filter-types/input-filter.component.mjs +0 -53
- package/esm2022/lib/components/filter/filter-types/select-filter.component.mjs +0 -58
- package/esm2022/lib/components/filter/filter.component.mjs +0 -86
- package/esm2022/lib/components/filter/filter.module.mjs +0 -62
- package/esm2022/lib/components/pager/pager.component.mjs +0 -241
- package/esm2022/lib/components/pager/pager.module.mjs +0 -28
- package/esm2022/lib/components/tbody/cells/create-cancel.component.mjs +0 -195
- package/esm2022/lib/components/tbody/cells/custom.component.mjs +0 -59
- package/esm2022/lib/components/tbody/cells/edit-delete.component.mjs +0 -241
- package/esm2022/lib/components/tbody/tbody.component.mjs +0 -95
- package/esm2022/lib/components/tbody/tbody.module.mjs +0 -47
- package/esm2022/lib/components/thead/cells/actions-title.component.mjs +0 -31
- package/esm2022/lib/components/thead/cells/actions.component.mjs +0 -42
- package/esm2022/lib/components/thead/cells/add-button.component.mjs +0 -57
- package/esm2022/lib/components/thead/cells/checkbox-select-all.component.mjs +0 -25
- package/esm2022/lib/components/thead/cells/column-title.component.mjs +0 -34
- package/esm2022/lib/components/thead/cells/title/title.component.mjs +0 -87
- package/esm2022/lib/components/thead/rows/thead-filters-row.component.mjs +0 -89
- package/esm2022/lib/components/thead/rows/thead-form-row.component.mjs +0 -108
- package/esm2022/lib/components/thead/rows/thead-titles-row.component.mjs +0 -87
- package/esm2022/lib/components/thead/thead.component.mjs +0 -42
- package/esm2022/lib/components/thead/thead.module.mjs +0 -75
- package/esm2022/lib/lib/data-set/cell.mjs +0 -43
- package/esm2022/lib/lib/data-set/column.mjs +0 -74
- package/esm2022/lib/lib/data-set/data-set.mjs +0 -96
- package/esm2022/lib/lib/data-set/row.mjs +0 -47
- package/esm2022/lib/lib/data-source/data-source.mjs +0 -92
- package/esm2022/lib/lib/data-source/local/local.data-source.mjs +0 -263
- package/esm2022/lib/lib/data-source/local/local.filter.mjs +0 -13
- package/esm2022/lib/lib/data-source/local/local.pager.mjs +0 -6
- package/esm2022/lib/lib/data-source/local/local.sorter.mjs +0 -19
- package/esm2022/lib/lib/grid.mjs +0 -218
- package/esm2022/lib/lib/helpers.mjs +0 -84
- package/esm2022/lib/lib/interfaces/smart-table.models.mjs +0 -16
- package/esm2022/lib/ng2-smart-table.component.mjs +0 -169
- package/esm2022/lib/ng2-smart-table.module.mjs +0 -51
- package/esm2022/public-api.mjs +0 -12
- package/lib/components/cell/cell.module.d.ts +0 -20
- package/lib/components/filter/filter.module.d.ts +0 -16
- package/lib/components/pager/pager.module.d.ts +0 -9
- package/lib/components/tbody/tbody.module.d.ts +0 -13
- package/lib/components/thead/thead.module.d.ts +0 -20
- package/lib/ng2-smart-table.module.d.ts +0 -14
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { output, Component, Input, ViewContainerRef, ViewChild, ChangeDetectionStrategy, inject, ElementRef } from '@angular/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
|
-
import * as i1 from '@angular/
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import { UntypedFormControl, NgControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import * as i1 from '@angular/forms';
|
|
5
|
+
import { FormsModule, UntypedFormControl, ReactiveFormsModule, NgControl } from '@angular/forms';
|
|
6
|
+
import { NgComponentOutlet } from '@angular/common';
|
|
8
7
|
import { debounceTime, distinctUntilChanged, skip } from 'rxjs/operators';
|
|
9
8
|
|
|
10
9
|
function prepareValue(value) { return value; }
|
|
@@ -53,28 +52,20 @@ class Cell {
|
|
|
53
52
|
class DefaultEditor {
|
|
54
53
|
constructor() {
|
|
55
54
|
this.inputClass = '';
|
|
56
|
-
this.onStopEditing =
|
|
57
|
-
this.onEdited =
|
|
58
|
-
this.onClick =
|
|
55
|
+
this.onStopEditing = output();
|
|
56
|
+
this.onEdited = output();
|
|
57
|
+
this.onClick = output();
|
|
59
58
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DefaultEditor, isStandalone: true, selector: "ng-component", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { onStopEditing: "onStopEditing", onEdited: "onEdited", onClick: "onClick" }, ngImport: i0, template: '', isInline: true }); }
|
|
62
61
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultEditor, decorators: [{
|
|
64
63
|
type: Component,
|
|
65
|
-
args: [{
|
|
66
|
-
template: '',
|
|
67
|
-
}]
|
|
64
|
+
args: [{ template: '' }]
|
|
68
65
|
}], propDecorators: { cell: [{
|
|
69
66
|
type: Input
|
|
70
67
|
}], inputClass: [{
|
|
71
68
|
type: Input
|
|
72
|
-
}], onStopEditing: [{
|
|
73
|
-
type: Output
|
|
74
|
-
}], onEdited: [{
|
|
75
|
-
type: Output
|
|
76
|
-
}], onClick: [{
|
|
77
|
-
type: Output
|
|
78
69
|
}] } });
|
|
79
70
|
|
|
80
71
|
class Column {
|
|
@@ -156,7 +147,7 @@ class DefaultFilter {
|
|
|
156
147
|
this.delay = 300;
|
|
157
148
|
this.query = '';
|
|
158
149
|
this.inputClass = '';
|
|
159
|
-
this.filter =
|
|
150
|
+
this.filter = output();
|
|
160
151
|
}
|
|
161
152
|
ngOnDestroy() {
|
|
162
153
|
if (this.changesSubscription) {
|
|
@@ -166,22 +157,18 @@ class DefaultFilter {
|
|
|
166
157
|
setFilter() {
|
|
167
158
|
this.filter.emit(this.query);
|
|
168
159
|
}
|
|
169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
170
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultFilter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DefaultFilter, isStandalone: true, selector: "ng-component", inputs: { query: "query", inputClass: "inputClass", column: "column" }, outputs: { filter: "filter" }, ngImport: i0, template: '', isInline: true }); }
|
|
171
162
|
}
|
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultFilter, decorators: [{
|
|
173
164
|
type: Component,
|
|
174
|
-
args: [{
|
|
175
|
-
template: '',
|
|
176
|
-
}]
|
|
165
|
+
args: [{ template: '' }]
|
|
177
166
|
}], propDecorators: { query: [{
|
|
178
167
|
type: Input
|
|
179
168
|
}], inputClass: [{
|
|
180
169
|
type: Input
|
|
181
170
|
}], column: [{
|
|
182
171
|
type: Input
|
|
183
|
-
}], filter: [{
|
|
184
|
-
type: Output
|
|
185
172
|
}] } });
|
|
186
173
|
|
|
187
174
|
class Row {
|
|
@@ -716,6 +703,304 @@ class LocalDataSource extends DataSource {
|
|
|
716
703
|
}
|
|
717
704
|
}
|
|
718
705
|
|
|
706
|
+
class PagerComponent {
|
|
707
|
+
constructor() {
|
|
708
|
+
this.perPageSelect = [];
|
|
709
|
+
this.changePage = output();
|
|
710
|
+
this.currentPerPage = 0;
|
|
711
|
+
this.pages = [];
|
|
712
|
+
this.page = 1;
|
|
713
|
+
this.count = 0;
|
|
714
|
+
this.perPage = 0;
|
|
715
|
+
}
|
|
716
|
+
ngOnChanges(changes) {
|
|
717
|
+
if (changes["source"]) {
|
|
718
|
+
if (!changes["source"].firstChange && this.dataChangedSub) {
|
|
719
|
+
this.dataChangedSub.unsubscribe();
|
|
720
|
+
}
|
|
721
|
+
this.dataChangedSub = this.source.onChanged().subscribe((dataChanges) => {
|
|
722
|
+
const paging = this.source.getPaging();
|
|
723
|
+
if (paging) {
|
|
724
|
+
this.page = paging.page;
|
|
725
|
+
this.perPage = paging.perPage;
|
|
726
|
+
}
|
|
727
|
+
this.currentPerPage = this.perPage;
|
|
728
|
+
this.count = this.source.count();
|
|
729
|
+
if (this.isPageOutOfBounce()) {
|
|
730
|
+
this.source.setPage(--this.page);
|
|
731
|
+
}
|
|
732
|
+
this.processPageChange(dataChanges);
|
|
733
|
+
this.initPages();
|
|
734
|
+
});
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
/**
|
|
738
|
+
* We change the page here depending on the action performed against data source
|
|
739
|
+
* if a new element was added to the end of the table - then change the page to the last
|
|
740
|
+
* if a new element was added to the beginning of the table - then to the first page
|
|
741
|
+
* @param changes
|
|
742
|
+
*/
|
|
743
|
+
processPageChange(changes) {
|
|
744
|
+
if (changes["action"] === "prepend") {
|
|
745
|
+
this.source.setPage(1);
|
|
746
|
+
}
|
|
747
|
+
if (changes["action"] === "append") {
|
|
748
|
+
this.source.setPage(this.getLast());
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
shouldShow() {
|
|
752
|
+
return this.source.count() > this.perPage;
|
|
753
|
+
}
|
|
754
|
+
paginate(page) {
|
|
755
|
+
this.source.setPage(page);
|
|
756
|
+
this.page = page;
|
|
757
|
+
this.changePage.emit({ page });
|
|
758
|
+
return false;
|
|
759
|
+
}
|
|
760
|
+
next() {
|
|
761
|
+
return this.paginate(this.getPage() + 1);
|
|
762
|
+
}
|
|
763
|
+
prev() {
|
|
764
|
+
return this.paginate(this.getPage() - 1);
|
|
765
|
+
}
|
|
766
|
+
getPage() {
|
|
767
|
+
return this.page;
|
|
768
|
+
}
|
|
769
|
+
getPages() {
|
|
770
|
+
return this.pages;
|
|
771
|
+
}
|
|
772
|
+
getLast() {
|
|
773
|
+
return Math.ceil(this.count / this.perPage);
|
|
774
|
+
}
|
|
775
|
+
isPageOutOfBounce() {
|
|
776
|
+
return (this.page * this.perPage >= this.count + this.perPage && this.page > 1);
|
|
777
|
+
}
|
|
778
|
+
initPages() {
|
|
779
|
+
const pagesCount = this.getLast();
|
|
780
|
+
let showPagesCount = 4;
|
|
781
|
+
showPagesCount = pagesCount < showPagesCount ? pagesCount : showPagesCount;
|
|
782
|
+
this.pages = [];
|
|
783
|
+
if (this.shouldShow()) {
|
|
784
|
+
let middleOne = Math.ceil(showPagesCount / 2);
|
|
785
|
+
middleOne = this.page >= middleOne ? this.page : middleOne;
|
|
786
|
+
let lastOne = middleOne + Math.floor(showPagesCount / 2);
|
|
787
|
+
lastOne = lastOne >= pagesCount ? pagesCount : lastOne;
|
|
788
|
+
const firstOne = lastOne - showPagesCount + 1;
|
|
789
|
+
for (let i = firstOne; i <= lastOne; i++) {
|
|
790
|
+
this.pages.push(i);
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
onChangePerPage() {
|
|
795
|
+
const paging = this.source.getPaging();
|
|
796
|
+
if (paging) {
|
|
797
|
+
paging.perPage = this.currentPerPage * 1;
|
|
798
|
+
}
|
|
799
|
+
this.source.refresh();
|
|
800
|
+
this.initPages();
|
|
801
|
+
}
|
|
802
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: PagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
803
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: PagerComponent, isStandalone: true, selector: "ng2-smart-table-pager", inputs: { source: "source", perPageSelect: "perPageSelect" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: `
|
|
804
|
+
@if (shouldShow()) {
|
|
805
|
+
<nav class="ng2-smart-pagination-nav">
|
|
806
|
+
<ul class="ng2-smart-pagination pagination">
|
|
807
|
+
<li
|
|
808
|
+
class="ng2-smart-page-item page-item"
|
|
809
|
+
[class.disabled]="getPage() === 1"
|
|
810
|
+
>
|
|
811
|
+
<a
|
|
812
|
+
class="ng2-smart-page-link page-link"
|
|
813
|
+
href="#"
|
|
814
|
+
(click)="getPage() === 1 ? false : paginate(1)"
|
|
815
|
+
aria-label="First"
|
|
816
|
+
>
|
|
817
|
+
<span aria-hidden="true">«</span>
|
|
818
|
+
<span class="sr-only">First</span>
|
|
819
|
+
</a>
|
|
820
|
+
</li>
|
|
821
|
+
<li
|
|
822
|
+
class="ng2-smart-page-item page-item"
|
|
823
|
+
[class.disabled]="getPage() === 1"
|
|
824
|
+
>
|
|
825
|
+
<a
|
|
826
|
+
class="ng2-smart-page-link page-link page-link-prev"
|
|
827
|
+
href="#"
|
|
828
|
+
(click)="getPage() === 1 ? false : prev()"
|
|
829
|
+
aria-label="Prev"
|
|
830
|
+
>
|
|
831
|
+
<span aria-hidden="true"><</span>
|
|
832
|
+
<span class="sr-only">Prev</span>
|
|
833
|
+
</a>
|
|
834
|
+
</li>
|
|
835
|
+
@for (page of getPages(); track page) {
|
|
836
|
+
<li
|
|
837
|
+
class="ng2-smart-page-item page-item"
|
|
838
|
+
[class.active]="getPage() === page"
|
|
839
|
+
>
|
|
840
|
+
@if (getPage() === page) {
|
|
841
|
+
<span class="ng2-smart-page-link page-link"
|
|
842
|
+
>{{ page }} <span class="sr-only">(current)</span></span
|
|
843
|
+
>
|
|
844
|
+
} @if (getPage() !== page) {
|
|
845
|
+
<a
|
|
846
|
+
class="ng2-smart-page-link page-link"
|
|
847
|
+
href="#"
|
|
848
|
+
(click)="paginate(page)"
|
|
849
|
+
>{{ page }}</a
|
|
850
|
+
>
|
|
851
|
+
}
|
|
852
|
+
</li>
|
|
853
|
+
}
|
|
854
|
+
<li
|
|
855
|
+
class="ng2-smart-page-item page-item"
|
|
856
|
+
[class.disabled]="getPage() === getLast()"
|
|
857
|
+
>
|
|
858
|
+
<a
|
|
859
|
+
class="ng2-smart-page-link page-link page-link-next"
|
|
860
|
+
href="#"
|
|
861
|
+
(click)="getPage() === getLast() ? false : next()"
|
|
862
|
+
aria-label="Next"
|
|
863
|
+
>
|
|
864
|
+
<span aria-hidden="true">></span>
|
|
865
|
+
<span class="sr-only">Next</span>
|
|
866
|
+
</a>
|
|
867
|
+
</li>
|
|
868
|
+
<li
|
|
869
|
+
class="ng2-smart-page-item page-item"
|
|
870
|
+
[class.disabled]="getPage() === getLast()"
|
|
871
|
+
>
|
|
872
|
+
<a
|
|
873
|
+
class="ng2-smart-page-link page-link"
|
|
874
|
+
href="#"
|
|
875
|
+
(click)="getPage() === getLast() ? false : paginate(getLast())"
|
|
876
|
+
aria-label="Last"
|
|
877
|
+
>
|
|
878
|
+
<span aria-hidden="true">»</span>
|
|
879
|
+
<span class="sr-only">Last</span>
|
|
880
|
+
</a>
|
|
881
|
+
</li>
|
|
882
|
+
</ul>
|
|
883
|
+
</nav>
|
|
884
|
+
} @if (perPageSelect && perPageSelect.length > 0) {
|
|
885
|
+
<nav class="ng2-smart-pagination-per-page">
|
|
886
|
+
<label for="per-page"> Per Page: </label>
|
|
887
|
+
<select
|
|
888
|
+
(change)="onChangePerPage()"
|
|
889
|
+
[(ngModel)]="currentPerPage"
|
|
890
|
+
id="per-page"
|
|
891
|
+
>
|
|
892
|
+
@for (item of perPageSelect; track item) {
|
|
893
|
+
<option [value]="item">{{ item }}</option>
|
|
894
|
+
}
|
|
895
|
+
</select>
|
|
896
|
+
</nav>
|
|
897
|
+
}
|
|
898
|
+
`, isInline: true, styles: [".ng2-smart-pagination{display:inline-flex;font-size:.875em;padding:0}.ng2-smart-pagination .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ng2-smart-pagination .ng2-smart-page-item{display:inline}.ng2-smart-pagination .page-link-next,.ng2-smart-pagination .page-link-prev{font-size:10px}:host{display:flex;justify-content:space-between}:host select{margin:1rem 0 1rem 1rem}:host label{margin:1rem 0 1rem 1rem;line-height:2.5rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
899
|
+
}
|
|
900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: PagerComponent, decorators: [{
|
|
901
|
+
type: Component,
|
|
902
|
+
args: [{ selector: "ng2-smart-table-pager", template: `
|
|
903
|
+
@if (shouldShow()) {
|
|
904
|
+
<nav class="ng2-smart-pagination-nav">
|
|
905
|
+
<ul class="ng2-smart-pagination pagination">
|
|
906
|
+
<li
|
|
907
|
+
class="ng2-smart-page-item page-item"
|
|
908
|
+
[class.disabled]="getPage() === 1"
|
|
909
|
+
>
|
|
910
|
+
<a
|
|
911
|
+
class="ng2-smart-page-link page-link"
|
|
912
|
+
href="#"
|
|
913
|
+
(click)="getPage() === 1 ? false : paginate(1)"
|
|
914
|
+
aria-label="First"
|
|
915
|
+
>
|
|
916
|
+
<span aria-hidden="true">«</span>
|
|
917
|
+
<span class="sr-only">First</span>
|
|
918
|
+
</a>
|
|
919
|
+
</li>
|
|
920
|
+
<li
|
|
921
|
+
class="ng2-smart-page-item page-item"
|
|
922
|
+
[class.disabled]="getPage() === 1"
|
|
923
|
+
>
|
|
924
|
+
<a
|
|
925
|
+
class="ng2-smart-page-link page-link page-link-prev"
|
|
926
|
+
href="#"
|
|
927
|
+
(click)="getPage() === 1 ? false : prev()"
|
|
928
|
+
aria-label="Prev"
|
|
929
|
+
>
|
|
930
|
+
<span aria-hidden="true"><</span>
|
|
931
|
+
<span class="sr-only">Prev</span>
|
|
932
|
+
</a>
|
|
933
|
+
</li>
|
|
934
|
+
@for (page of getPages(); track page) {
|
|
935
|
+
<li
|
|
936
|
+
class="ng2-smart-page-item page-item"
|
|
937
|
+
[class.active]="getPage() === page"
|
|
938
|
+
>
|
|
939
|
+
@if (getPage() === page) {
|
|
940
|
+
<span class="ng2-smart-page-link page-link"
|
|
941
|
+
>{{ page }} <span class="sr-only">(current)</span></span
|
|
942
|
+
>
|
|
943
|
+
} @if (getPage() !== page) {
|
|
944
|
+
<a
|
|
945
|
+
class="ng2-smart-page-link page-link"
|
|
946
|
+
href="#"
|
|
947
|
+
(click)="paginate(page)"
|
|
948
|
+
>{{ page }}</a
|
|
949
|
+
>
|
|
950
|
+
}
|
|
951
|
+
</li>
|
|
952
|
+
}
|
|
953
|
+
<li
|
|
954
|
+
class="ng2-smart-page-item page-item"
|
|
955
|
+
[class.disabled]="getPage() === getLast()"
|
|
956
|
+
>
|
|
957
|
+
<a
|
|
958
|
+
class="ng2-smart-page-link page-link page-link-next"
|
|
959
|
+
href="#"
|
|
960
|
+
(click)="getPage() === getLast() ? false : next()"
|
|
961
|
+
aria-label="Next"
|
|
962
|
+
>
|
|
963
|
+
<span aria-hidden="true">></span>
|
|
964
|
+
<span class="sr-only">Next</span>
|
|
965
|
+
</a>
|
|
966
|
+
</li>
|
|
967
|
+
<li
|
|
968
|
+
class="ng2-smart-page-item page-item"
|
|
969
|
+
[class.disabled]="getPage() === getLast()"
|
|
970
|
+
>
|
|
971
|
+
<a
|
|
972
|
+
class="ng2-smart-page-link page-link"
|
|
973
|
+
href="#"
|
|
974
|
+
(click)="getPage() === getLast() ? false : paginate(getLast())"
|
|
975
|
+
aria-label="Last"
|
|
976
|
+
>
|
|
977
|
+
<span aria-hidden="true">»</span>
|
|
978
|
+
<span class="sr-only">Last</span>
|
|
979
|
+
</a>
|
|
980
|
+
</li>
|
|
981
|
+
</ul>
|
|
982
|
+
</nav>
|
|
983
|
+
} @if (perPageSelect && perPageSelect.length > 0) {
|
|
984
|
+
<nav class="ng2-smart-pagination-per-page">
|
|
985
|
+
<label for="per-page"> Per Page: </label>
|
|
986
|
+
<select
|
|
987
|
+
(change)="onChangePerPage()"
|
|
988
|
+
[(ngModel)]="currentPerPage"
|
|
989
|
+
id="per-page"
|
|
990
|
+
>
|
|
991
|
+
@for (item of perPageSelect; track item) {
|
|
992
|
+
<option [value]="item">{{ item }}</option>
|
|
993
|
+
}
|
|
994
|
+
</select>
|
|
995
|
+
</nav>
|
|
996
|
+
}
|
|
997
|
+
`, standalone: true, imports: [FormsModule], styles: [".ng2-smart-pagination{display:inline-flex;font-size:.875em;padding:0}.ng2-smart-pagination .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ng2-smart-pagination .ng2-smart-page-item{display:inline}.ng2-smart-pagination .page-link-next,.ng2-smart-pagination .page-link-prev{font-size:10px}:host{display:flex;justify-content:space-between}:host select{margin:1rem 0 1rem 1rem}:host label{margin:1rem 0 1rem 1rem;line-height:2.5rem}\n"] }]
|
|
998
|
+
}], propDecorators: { source: [{
|
|
999
|
+
type: Input
|
|
1000
|
+
}], perPageSelect: [{
|
|
1001
|
+
type: Input
|
|
1002
|
+
}] } });
|
|
1003
|
+
|
|
719
1004
|
class DataSet {
|
|
720
1005
|
constructor(data = [], columnSettings) {
|
|
721
1006
|
this.columnSettings = columnSettings;
|
|
@@ -1025,249 +1310,13 @@ class Grid {
|
|
|
1025
1310
|
}
|
|
1026
1311
|
}
|
|
1027
1312
|
|
|
1028
|
-
class PagerComponent {
|
|
1029
|
-
constructor() {
|
|
1030
|
-
this.perPageSelect = [];
|
|
1031
|
-
this.changePage = new EventEmitter();
|
|
1032
|
-
this.currentPerPage = 0;
|
|
1033
|
-
this.pages = [];
|
|
1034
|
-
this.page = 1;
|
|
1035
|
-
this.count = 0;
|
|
1036
|
-
this.perPage = 0;
|
|
1037
|
-
}
|
|
1038
|
-
ngOnChanges(changes) {
|
|
1039
|
-
if (changes['source']) {
|
|
1040
|
-
if (!changes['source'].firstChange && this.dataChangedSub) {
|
|
1041
|
-
this.dataChangedSub.unsubscribe();
|
|
1042
|
-
}
|
|
1043
|
-
this.dataChangedSub = this.source.onChanged().subscribe((dataChanges) => {
|
|
1044
|
-
const paging = this.source.getPaging();
|
|
1045
|
-
if (paging) {
|
|
1046
|
-
this.page = paging.page;
|
|
1047
|
-
this.perPage = paging.perPage;
|
|
1048
|
-
}
|
|
1049
|
-
this.currentPerPage = this.perPage;
|
|
1050
|
-
this.count = this.source.count();
|
|
1051
|
-
if (this.isPageOutOfBounce()) {
|
|
1052
|
-
this.source.setPage(--this.page);
|
|
1053
|
-
}
|
|
1054
|
-
this.processPageChange(dataChanges);
|
|
1055
|
-
this.initPages();
|
|
1056
|
-
});
|
|
1057
|
-
}
|
|
1058
|
-
}
|
|
1059
|
-
/**
|
|
1060
|
-
* We change the page here depending on the action performed against data source
|
|
1061
|
-
* if a new element was added to the end of the table - then change the page to the last
|
|
1062
|
-
* if a new element was added to the beginning of the table - then to the first page
|
|
1063
|
-
* @param changes
|
|
1064
|
-
*/
|
|
1065
|
-
processPageChange(changes) {
|
|
1066
|
-
if (changes['action'] === 'prepend') {
|
|
1067
|
-
this.source.setPage(1);
|
|
1068
|
-
}
|
|
1069
|
-
if (changes['action'] === 'append') {
|
|
1070
|
-
this.source.setPage(this.getLast());
|
|
1071
|
-
}
|
|
1072
|
-
}
|
|
1073
|
-
shouldShow() {
|
|
1074
|
-
return this.source.count() > this.perPage;
|
|
1075
|
-
}
|
|
1076
|
-
paginate(page) {
|
|
1077
|
-
this.source.setPage(page);
|
|
1078
|
-
this.page = page;
|
|
1079
|
-
this.changePage.emit({ page });
|
|
1080
|
-
return false;
|
|
1081
|
-
}
|
|
1082
|
-
next() {
|
|
1083
|
-
return this.paginate(this.getPage() + 1);
|
|
1084
|
-
}
|
|
1085
|
-
prev() {
|
|
1086
|
-
return this.paginate(this.getPage() - 1);
|
|
1087
|
-
}
|
|
1088
|
-
getPage() {
|
|
1089
|
-
return this.page;
|
|
1090
|
-
}
|
|
1091
|
-
getPages() {
|
|
1092
|
-
return this.pages;
|
|
1093
|
-
}
|
|
1094
|
-
getLast() {
|
|
1095
|
-
return Math.ceil(this.count / this.perPage);
|
|
1096
|
-
}
|
|
1097
|
-
isPageOutOfBounce() {
|
|
1098
|
-
return (this.page * this.perPage) >= (this.count + this.perPage) && this.page > 1;
|
|
1099
|
-
}
|
|
1100
|
-
initPages() {
|
|
1101
|
-
const pagesCount = this.getLast();
|
|
1102
|
-
let showPagesCount = 4;
|
|
1103
|
-
showPagesCount = pagesCount < showPagesCount ? pagesCount : showPagesCount;
|
|
1104
|
-
this.pages = [];
|
|
1105
|
-
if (this.shouldShow()) {
|
|
1106
|
-
let middleOne = Math.ceil(showPagesCount / 2);
|
|
1107
|
-
middleOne = this.page >= middleOne ? this.page : middleOne;
|
|
1108
|
-
let lastOne = middleOne + Math.floor(showPagesCount / 2);
|
|
1109
|
-
lastOne = lastOne >= pagesCount ? pagesCount : lastOne;
|
|
1110
|
-
const firstOne = lastOne - showPagesCount + 1;
|
|
1111
|
-
for (let i = firstOne; i <= lastOne; i++) {
|
|
1112
|
-
this.pages.push(i);
|
|
1113
|
-
}
|
|
1114
|
-
}
|
|
1115
|
-
}
|
|
1116
|
-
onChangePerPage() {
|
|
1117
|
-
const paging = this.source.getPaging();
|
|
1118
|
-
if (paging) {
|
|
1119
|
-
paging.perPage = this.currentPerPage * 1;
|
|
1120
|
-
}
|
|
1121
|
-
this.source.refresh();
|
|
1122
|
-
this.initPages();
|
|
1123
|
-
}
|
|
1124
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1125
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PagerComponent, selector: "ng2-smart-table-pager", inputs: { source: "source", perPageSelect: "perPageSelect" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: `
|
|
1126
|
-
@if (shouldShow()) {
|
|
1127
|
-
<nav class="ng2-smart-pagination-nav">
|
|
1128
|
-
<ul class="ng2-smart-pagination pagination">
|
|
1129
|
-
<li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
|
|
1130
|
-
<a class="ng2-smart-page-link page-link" href="#"
|
|
1131
|
-
(click)="getPage() == 1 ? false : paginate(1)" aria-label="First">
|
|
1132
|
-
<span aria-hidden="true">«</span>
|
|
1133
|
-
<span class="sr-only">First</span>
|
|
1134
|
-
</a>
|
|
1135
|
-
</li>
|
|
1136
|
-
<li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
|
|
1137
|
-
<a class="ng2-smart-page-link page-link page-link-prev" href="#"
|
|
1138
|
-
(click)="getPage() == 1 ? false : prev()" aria-label="Prev">
|
|
1139
|
-
<span aria-hidden="true"><</span>
|
|
1140
|
-
<span class="sr-only">Prev</span>
|
|
1141
|
-
</a>
|
|
1142
|
-
</li>
|
|
1143
|
-
@for (page of getPages(); track page) {
|
|
1144
|
-
<li class="ng2-smart-page-item page-item"
|
|
1145
|
-
[ngClass]="{active: getPage() == page}">
|
|
1146
|
-
@if (getPage() == page) {
|
|
1147
|
-
<span class="ng2-smart-page-link page-link"
|
|
1148
|
-
>{{ page }} <span class="sr-only">(current)</span></span>
|
|
1149
|
-
}
|
|
1150
|
-
@if (getPage() != page) {
|
|
1151
|
-
<a class="ng2-smart-page-link page-link" href="#"
|
|
1152
|
-
(click)="paginate(page)">{{ page }}</a>
|
|
1153
|
-
}
|
|
1154
|
-
</li>
|
|
1155
|
-
}
|
|
1156
|
-
<li class="ng2-smart-page-item page-item"
|
|
1157
|
-
[ngClass]="{disabled: getPage() == getLast()}">
|
|
1158
|
-
<a class="ng2-smart-page-link page-link page-link-next" href="#"
|
|
1159
|
-
(click)="getPage() == getLast() ? false : next()" aria-label="Next">
|
|
1160
|
-
<span aria-hidden="true">></span>
|
|
1161
|
-
<span class="sr-only">Next</span>
|
|
1162
|
-
</a>
|
|
1163
|
-
</li>
|
|
1164
|
-
<li class="ng2-smart-page-item page-item"
|
|
1165
|
-
[ngClass]="{disabled: getPage() == getLast()}">
|
|
1166
|
-
<a class="ng2-smart-page-link page-link" href="#"
|
|
1167
|
-
(click)="getPage() == getLast() ? false : paginate(getLast())" aria-label="Last">
|
|
1168
|
-
<span aria-hidden="true">»</span>
|
|
1169
|
-
<span class="sr-only">Last</span>
|
|
1170
|
-
</a>
|
|
1171
|
-
</li>
|
|
1172
|
-
</ul>
|
|
1173
|
-
</nav>
|
|
1174
|
-
}
|
|
1175
|
-
|
|
1176
|
-
@if (perPageSelect && perPageSelect.length > 0) {
|
|
1177
|
-
<nav class="ng2-smart-pagination-per-page">
|
|
1178
|
-
<label for="per-page">
|
|
1179
|
-
Per Page:
|
|
1180
|
-
</label>
|
|
1181
|
-
<select (change)="onChangePerPage()" [(ngModel)]="currentPerPage" id="per-page">
|
|
1182
|
-
@for (item of perPageSelect; track item) {
|
|
1183
|
-
<option [value]="item">{{ item }}</option>
|
|
1184
|
-
}
|
|
1185
|
-
</select>
|
|
1186
|
-
</nav>
|
|
1187
|
-
}
|
|
1188
|
-
`, isInline: true, styles: [".ng2-smart-pagination{display:inline-flex;font-size:.875em;padding:0}.ng2-smart-pagination .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ng2-smart-pagination .ng2-smart-page-item{display:inline}.ng2-smart-pagination .page-link-next,.ng2-smart-pagination .page-link-prev{font-size:10px}:host{display:flex;justify-content:space-between}:host select{margin:1rem 0 1rem 1rem}:host label{margin:1rem 0 1rem 1rem;line-height:2.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
1189
|
-
}
|
|
1190
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerComponent, decorators: [{
|
|
1191
|
-
type: Component,
|
|
1192
|
-
args: [{ selector: 'ng2-smart-table-pager', template: `
|
|
1193
|
-
@if (shouldShow()) {
|
|
1194
|
-
<nav class="ng2-smart-pagination-nav">
|
|
1195
|
-
<ul class="ng2-smart-pagination pagination">
|
|
1196
|
-
<li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
|
|
1197
|
-
<a class="ng2-smart-page-link page-link" href="#"
|
|
1198
|
-
(click)="getPage() == 1 ? false : paginate(1)" aria-label="First">
|
|
1199
|
-
<span aria-hidden="true">«</span>
|
|
1200
|
-
<span class="sr-only">First</span>
|
|
1201
|
-
</a>
|
|
1202
|
-
</li>
|
|
1203
|
-
<li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
|
|
1204
|
-
<a class="ng2-smart-page-link page-link page-link-prev" href="#"
|
|
1205
|
-
(click)="getPage() == 1 ? false : prev()" aria-label="Prev">
|
|
1206
|
-
<span aria-hidden="true"><</span>
|
|
1207
|
-
<span class="sr-only">Prev</span>
|
|
1208
|
-
</a>
|
|
1209
|
-
</li>
|
|
1210
|
-
@for (page of getPages(); track page) {
|
|
1211
|
-
<li class="ng2-smart-page-item page-item"
|
|
1212
|
-
[ngClass]="{active: getPage() == page}">
|
|
1213
|
-
@if (getPage() == page) {
|
|
1214
|
-
<span class="ng2-smart-page-link page-link"
|
|
1215
|
-
>{{ page }} <span class="sr-only">(current)</span></span>
|
|
1216
|
-
}
|
|
1217
|
-
@if (getPage() != page) {
|
|
1218
|
-
<a class="ng2-smart-page-link page-link" href="#"
|
|
1219
|
-
(click)="paginate(page)">{{ page }}</a>
|
|
1220
|
-
}
|
|
1221
|
-
</li>
|
|
1222
|
-
}
|
|
1223
|
-
<li class="ng2-smart-page-item page-item"
|
|
1224
|
-
[ngClass]="{disabled: getPage() == getLast()}">
|
|
1225
|
-
<a class="ng2-smart-page-link page-link page-link-next" href="#"
|
|
1226
|
-
(click)="getPage() == getLast() ? false : next()" aria-label="Next">
|
|
1227
|
-
<span aria-hidden="true">></span>
|
|
1228
|
-
<span class="sr-only">Next</span>
|
|
1229
|
-
</a>
|
|
1230
|
-
</li>
|
|
1231
|
-
<li class="ng2-smart-page-item page-item"
|
|
1232
|
-
[ngClass]="{disabled: getPage() == getLast()}">
|
|
1233
|
-
<a class="ng2-smart-page-link page-link" href="#"
|
|
1234
|
-
(click)="getPage() == getLast() ? false : paginate(getLast())" aria-label="Last">
|
|
1235
|
-
<span aria-hidden="true">»</span>
|
|
1236
|
-
<span class="sr-only">Last</span>
|
|
1237
|
-
</a>
|
|
1238
|
-
</li>
|
|
1239
|
-
</ul>
|
|
1240
|
-
</nav>
|
|
1241
|
-
}
|
|
1242
|
-
|
|
1243
|
-
@if (perPageSelect && perPageSelect.length > 0) {
|
|
1244
|
-
<nav class="ng2-smart-pagination-per-page">
|
|
1245
|
-
<label for="per-page">
|
|
1246
|
-
Per Page:
|
|
1247
|
-
</label>
|
|
1248
|
-
<select (change)="onChangePerPage()" [(ngModel)]="currentPerPage" id="per-page">
|
|
1249
|
-
@for (item of perPageSelect; track item) {
|
|
1250
|
-
<option [value]="item">{{ item }}</option>
|
|
1251
|
-
}
|
|
1252
|
-
</select>
|
|
1253
|
-
</nav>
|
|
1254
|
-
}
|
|
1255
|
-
`, styles: [".ng2-smart-pagination{display:inline-flex;font-size:.875em;padding:0}.ng2-smart-pagination .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ng2-smart-pagination .ng2-smart-page-item{display:inline}.ng2-smart-pagination .page-link-next,.ng2-smart-pagination .page-link-prev{font-size:10px}:host{display:flex;justify-content:space-between}:host select{margin:1rem 0 1rem 1rem}:host label{margin:1rem 0 1rem 1rem;line-height:2.5rem}\n"] }]
|
|
1256
|
-
}], propDecorators: { source: [{
|
|
1257
|
-
type: Input
|
|
1258
|
-
}], perPageSelect: [{
|
|
1259
|
-
type: Input
|
|
1260
|
-
}], changePage: [{
|
|
1261
|
-
type: Output
|
|
1262
|
-
}] } });
|
|
1263
|
-
|
|
1264
1313
|
class EditCellDefault {
|
|
1265
1314
|
constructor() {
|
|
1266
1315
|
this.inputClass = '';
|
|
1267
|
-
this.edited =
|
|
1316
|
+
this.edited = output();
|
|
1268
1317
|
}
|
|
1269
1318
|
onEdited(event) {
|
|
1270
|
-
this.edited.
|
|
1319
|
+
this.edited.emit(event);
|
|
1271
1320
|
return false;
|
|
1272
1321
|
}
|
|
1273
1322
|
onStopEditing() {
|
|
@@ -1277,32 +1326,32 @@ class EditCellDefault {
|
|
|
1277
1326
|
onClick(event) {
|
|
1278
1327
|
event.stopPropagation();
|
|
1279
1328
|
}
|
|
1280
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1281
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1329
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1330
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: EditCellDefault, isStandalone: true, selector: "ng-component", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { edited: "edited" }, ngImport: i0, template: '', isInline: true }); }
|
|
1282
1331
|
}
|
|
1283
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellDefault, decorators: [{
|
|
1284
1333
|
type: Component,
|
|
1285
|
-
args: [{
|
|
1286
|
-
template: ''
|
|
1287
|
-
}]
|
|
1334
|
+
args: [{ template: '' }]
|
|
1288
1335
|
}], propDecorators: { cell: [{
|
|
1289
1336
|
type: Input
|
|
1290
1337
|
}], inputClass: [{
|
|
1291
1338
|
type: Input
|
|
1292
|
-
}], edited: [{
|
|
1293
|
-
type: Output
|
|
1294
1339
|
}] } });
|
|
1295
1340
|
|
|
1296
1341
|
class CustomEditComponent extends EditCellDefault {
|
|
1297
|
-
constructor(resolver) {
|
|
1298
|
-
super();
|
|
1299
|
-
this.resolver = resolver;
|
|
1300
|
-
}
|
|
1301
1342
|
ngOnChanges(changes) {
|
|
1302
1343
|
const editor = this.cell.getColumn().editor;
|
|
1303
|
-
if (this.
|
|
1304
|
-
|
|
1305
|
-
|
|
1344
|
+
if (this.customComponent) {
|
|
1345
|
+
if (this.customComponent.instance?.ngOnChanges) {
|
|
1346
|
+
this.customComponent.instance.ngOnChanges(changes);
|
|
1347
|
+
}
|
|
1348
|
+
return;
|
|
1349
|
+
}
|
|
1350
|
+
if (this.cell &&
|
|
1351
|
+
!this.customComponent &&
|
|
1352
|
+
editor &&
|
|
1353
|
+
editor.type == "custom") {
|
|
1354
|
+
this.customComponent = this.dynamicTarget.createComponent(editor.component);
|
|
1306
1355
|
// set @Inputs and @Outputs of custom component
|
|
1307
1356
|
this.customComponent.instance.cell = this.cell;
|
|
1308
1357
|
this.customComponent.instance.inputClass = this.inputClass;
|
|
@@ -1316,22 +1365,19 @@ class CustomEditComponent extends EditCellDefault {
|
|
|
1316
1365
|
this.customComponent.destroy();
|
|
1317
1366
|
}
|
|
1318
1367
|
}
|
|
1319
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1320
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1321
|
-
<ng-template #dynamicTarget></ng-template>
|
|
1322
|
-
`, isInline: true }); }
|
|
1368
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1369
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: CustomEditComponent, isStandalone: true, selector: "table-cell-custom-editor", viewQueries: [{ propertyName: "dynamicTarget", first: true, predicate: ["dynamicTarget"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ` <ng-template #dynamicTarget></ng-template> `, isInline: true }); }
|
|
1323
1370
|
}
|
|
1324
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1371
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomEditComponent, decorators: [{
|
|
1325
1372
|
type: Component,
|
|
1326
1373
|
args: [{
|
|
1327
|
-
selector:
|
|
1328
|
-
template: `
|
|
1329
|
-
|
|
1330
|
-
`,
|
|
1374
|
+
selector: "table-cell-custom-editor",
|
|
1375
|
+
template: ` <ng-template #dynamicTarget></ng-template> `,
|
|
1376
|
+
standalone: true,
|
|
1331
1377
|
}]
|
|
1332
|
-
}],
|
|
1378
|
+
}], propDecorators: { dynamicTarget: [{
|
|
1333
1379
|
type: ViewChild,
|
|
1334
|
-
args: [
|
|
1380
|
+
args: ["dynamicTarget", { read: ViewContainerRef, static: true }]
|
|
1335
1381
|
}] } });
|
|
1336
1382
|
|
|
1337
1383
|
class CheckboxEditorComponent extends DefaultEditor {
|
|
@@ -1344,108 +1390,130 @@ class CheckboxEditorComponent extends DefaultEditor {
|
|
|
1344
1390
|
const falseVal = (config && config?.false) || false;
|
|
1345
1391
|
this.cell.newValue = event.target.checked ? trueVal : falseVal;
|
|
1346
1392
|
}
|
|
1347
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1348
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1349
|
-
<input
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1393
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1394
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: CheckboxEditorComponent, isStandalone: true, selector: "checkbox-editor", usesInheritance: true, ngImport: i0, template: `
|
|
1395
|
+
<input
|
|
1396
|
+
[class]="inputClass"
|
|
1397
|
+
type="checkbox"
|
|
1398
|
+
class="form-control"
|
|
1399
|
+
[name]="cell.getId()"
|
|
1400
|
+
[disabled]="!cell.isEditable()"
|
|
1401
|
+
[checked]="
|
|
1402
|
+
cell.getValue() === (cell.getColumn().getConfig()?.true || true)
|
|
1403
|
+
"
|
|
1404
|
+
(click)="onClick.emit($event)"
|
|
1405
|
+
(change)="onChange($event)"
|
|
1406
|
+
/>
|
|
1407
|
+
`, isInline: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }); }
|
|
1358
1408
|
}
|
|
1359
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1409
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxEditorComponent, decorators: [{
|
|
1360
1410
|
type: Component,
|
|
1361
|
-
args: [{ selector:
|
|
1362
|
-
<input
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1411
|
+
args: [{ selector: "checkbox-editor", template: `
|
|
1412
|
+
<input
|
|
1413
|
+
[class]="inputClass"
|
|
1414
|
+
type="checkbox"
|
|
1415
|
+
class="form-control"
|
|
1416
|
+
[name]="cell.getId()"
|
|
1417
|
+
[disabled]="!cell.isEditable()"
|
|
1418
|
+
[checked]="
|
|
1419
|
+
cell.getValue() === (cell.getColumn().getConfig()?.true || true)
|
|
1420
|
+
"
|
|
1421
|
+
(click)="onClick.emit($event)"
|
|
1422
|
+
(change)="onChange($event)"
|
|
1423
|
+
/>
|
|
1424
|
+
`, standalone: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
|
|
1425
|
+
}], ctorParameters: () => [] });
|
|
1426
|
+
|
|
1373
1427
|
class InputEditorComponent extends DefaultEditor {
|
|
1374
1428
|
constructor() {
|
|
1375
1429
|
super();
|
|
1376
1430
|
}
|
|
1377
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1378
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1379
|
-
<input
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1431
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1432
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: InputEditorComponent, isStandalone: true, selector: "input-editor", usesInheritance: true, ngImport: i0, template: `
|
|
1433
|
+
<input
|
|
1434
|
+
[class]="inputClass"
|
|
1435
|
+
class="form-control"
|
|
1436
|
+
[(ngModel)]="cell.newValue"
|
|
1437
|
+
[name]="cell.getId()"
|
|
1438
|
+
[placeholder]="cell.getTitle()"
|
|
1439
|
+
[disabled]="!cell.isEditable()"
|
|
1440
|
+
(click)="onClick.emit($event)"
|
|
1441
|
+
(keydown.enter)="onEdited.emit($event)"
|
|
1442
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1443
|
+
/>
|
|
1444
|
+
`, isInline: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
1389
1445
|
}
|
|
1390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1446
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputEditorComponent, decorators: [{
|
|
1391
1447
|
type: Component,
|
|
1392
|
-
args: [{ selector:
|
|
1393
|
-
<input
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1448
|
+
args: [{ selector: "input-editor", template: `
|
|
1449
|
+
<input
|
|
1450
|
+
[class]="inputClass"
|
|
1451
|
+
class="form-control"
|
|
1452
|
+
[(ngModel)]="cell.newValue"
|
|
1453
|
+
[name]="cell.getId()"
|
|
1454
|
+
[placeholder]="cell.getTitle()"
|
|
1455
|
+
[disabled]="!cell.isEditable()"
|
|
1456
|
+
(click)="onClick.emit($event)"
|
|
1457
|
+
(keydown.enter)="onEdited.emit($event)"
|
|
1458
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1459
|
+
/>
|
|
1460
|
+
`, standalone: true, imports: [FormsModule], styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
|
|
1403
1461
|
}], ctorParameters: () => [] });
|
|
1404
1462
|
|
|
1405
1463
|
class SelectEditorComponent extends DefaultEditor {
|
|
1406
1464
|
constructor() {
|
|
1407
1465
|
super();
|
|
1408
1466
|
}
|
|
1409
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1410
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1411
|
-
<select
|
|
1467
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1468
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: SelectEditorComponent, isStandalone: true, selector: "select-editor", usesInheritance: true, ngImport: i0, template: `
|
|
1469
|
+
<select
|
|
1470
|
+
[class]="inputClass"
|
|
1412
1471
|
class="form-control"
|
|
1413
1472
|
[(ngModel)]="cell.newValue"
|
|
1414
1473
|
[name]="cell.getId()"
|
|
1415
1474
|
[disabled]="!cell.isEditable()"
|
|
1416
1475
|
(click)="onClick.emit($event)"
|
|
1417
1476
|
(keydown.enter)="onEdited.emit($event)"
|
|
1418
|
-
(keydown.esc)="onStopEditing.emit()"
|
|
1419
|
-
|
|
1420
|
-
@for (option of cell.getColumn().getConfig()?.list; track option) {
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1477
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1478
|
+
>
|
|
1479
|
+
@for (option of cell.getColumn().getConfig()?.list; track option.value) {
|
|
1480
|
+
<option
|
|
1481
|
+
[value]="option.value"
|
|
1482
|
+
[selected]="option.value === cell.getValue()"
|
|
1483
|
+
>
|
|
1484
|
+
{{ option.title }}
|
|
1485
|
+
</option>
|
|
1424
1486
|
}
|
|
1425
1487
|
</select>
|
|
1426
|
-
|
|
1488
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
1427
1489
|
}
|
|
1428
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1490
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectEditorComponent, decorators: [{
|
|
1429
1491
|
type: Component,
|
|
1430
1492
|
args: [{
|
|
1431
|
-
selector:
|
|
1493
|
+
selector: "select-editor",
|
|
1432
1494
|
template: `
|
|
1433
|
-
<select
|
|
1495
|
+
<select
|
|
1496
|
+
[class]="inputClass"
|
|
1434
1497
|
class="form-control"
|
|
1435
1498
|
[(ngModel)]="cell.newValue"
|
|
1436
1499
|
[name]="cell.getId()"
|
|
1437
1500
|
[disabled]="!cell.isEditable()"
|
|
1438
1501
|
(click)="onClick.emit($event)"
|
|
1439
1502
|
(keydown.enter)="onEdited.emit($event)"
|
|
1440
|
-
(keydown.esc)="onStopEditing.emit()"
|
|
1441
|
-
|
|
1442
|
-
@for (option of cell.getColumn().getConfig()?.list; track option) {
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1503
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1504
|
+
>
|
|
1505
|
+
@for (option of cell.getColumn().getConfig()?.list; track option.value) {
|
|
1506
|
+
<option
|
|
1507
|
+
[value]="option.value"
|
|
1508
|
+
[selected]="option.value === cell.getValue()"
|
|
1509
|
+
>
|
|
1510
|
+
{{ option.title }}
|
|
1511
|
+
</option>
|
|
1446
1512
|
}
|
|
1447
1513
|
</select>
|
|
1448
|
-
|
|
1514
|
+
`,
|
|
1515
|
+
standalone: true,
|
|
1516
|
+
imports: [FormsModule],
|
|
1449
1517
|
}]
|
|
1450
1518
|
}], ctorParameters: () => [] });
|
|
1451
1519
|
|
|
@@ -1453,34 +1521,38 @@ class TextareaEditorComponent extends DefaultEditor {
|
|
|
1453
1521
|
constructor() {
|
|
1454
1522
|
super();
|
|
1455
1523
|
}
|
|
1456
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1457
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1458
|
-
<textarea
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1524
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TextareaEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1525
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: TextareaEditorComponent, isStandalone: true, selector: "textarea-editor", usesInheritance: true, ngImport: i0, template: `
|
|
1526
|
+
<textarea
|
|
1527
|
+
[class]="inputClass"
|
|
1528
|
+
class="form-control"
|
|
1529
|
+
[(ngModel)]="cell.newValue"
|
|
1530
|
+
[name]="cell.getId()"
|
|
1531
|
+
[disabled]="!cell.isEditable()"
|
|
1532
|
+
[placeholder]="cell.getTitle()"
|
|
1533
|
+
(click)="onClick.emit($event)"
|
|
1534
|
+
(keydown.enter)="onEdited.emit($event)"
|
|
1535
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1536
|
+
>
|
|
1467
1537
|
</textarea>
|
|
1468
|
-
|
|
1538
|
+
`, isInline: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
1469
1539
|
}
|
|
1470
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1540
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TextareaEditorComponent, decorators: [{
|
|
1471
1541
|
type: Component,
|
|
1472
|
-
args: [{ selector:
|
|
1473
|
-
<textarea
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1542
|
+
args: [{ selector: "textarea-editor", template: `
|
|
1543
|
+
<textarea
|
|
1544
|
+
[class]="inputClass"
|
|
1545
|
+
class="form-control"
|
|
1546
|
+
[(ngModel)]="cell.newValue"
|
|
1547
|
+
[name]="cell.getId()"
|
|
1548
|
+
[disabled]="!cell.isEditable()"
|
|
1549
|
+
[placeholder]="cell.getTitle()"
|
|
1550
|
+
(click)="onClick.emit($event)"
|
|
1551
|
+
(keydown.enter)="onEdited.emit($event)"
|
|
1552
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1553
|
+
>
|
|
1482
1554
|
</textarea>
|
|
1483
|
-
|
|
1555
|
+
`, standalone: true, imports: [FormsModule], styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
|
|
1484
1556
|
}], ctorParameters: () => [] });
|
|
1485
1557
|
|
|
1486
1558
|
class DefaultEditComponent extends EditCellDefault {
|
|
@@ -1492,23 +1564,28 @@ class DefaultEditComponent extends EditCellDefault {
|
|
|
1492
1564
|
if (editor) {
|
|
1493
1565
|
return editor.type;
|
|
1494
1566
|
}
|
|
1495
|
-
return
|
|
1567
|
+
return "text";
|
|
1496
1568
|
}
|
|
1497
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1498
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1569
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1570
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: DefaultEditComponent, isStandalone: true, selector: "table-cell-default-editor", usesInheritance: true, ngImport: i0, template: "<div>\n @switch (getEditorType()) {\n @case ('list') {\n <select-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </select-editor>\n }\n @case ('textarea') {\n <textarea-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </textarea-editor>\n }\n @case ('checkbox') {\n <checkbox-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\">\n </checkbox-editor>\n }\n @default {\n <input-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </input-editor>\n }\n}\n</div>", dependencies: [{ kind: "component", type: SelectEditorComponent, selector: "select-editor" }, { kind: "component", type: TextareaEditorComponent, selector: "textarea-editor" }, { kind: "component", type: CheckboxEditorComponent, selector: "checkbox-editor" }, { kind: "component", type: InputEditorComponent, selector: "input-editor" }] }); }
|
|
1499
1571
|
}
|
|
1500
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1572
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultEditComponent, decorators: [{
|
|
1501
1573
|
type: Component,
|
|
1502
|
-
args: [{ selector:
|
|
1574
|
+
args: [{ selector: "table-cell-default-editor", imports: [
|
|
1575
|
+
SelectEditorComponent,
|
|
1576
|
+
TextareaEditorComponent,
|
|
1577
|
+
CheckboxEditorComponent,
|
|
1578
|
+
InputEditorComponent,
|
|
1579
|
+
], standalone: true, template: "<div>\n @switch (getEditorType()) {\n @case ('list') {\n <select-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </select-editor>\n }\n @case ('textarea') {\n <textarea-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </textarea-editor>\n }\n @case ('checkbox') {\n <checkbox-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\">\n </checkbox-editor>\n }\n @default {\n <input-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </input-editor>\n }\n}\n</div>" }]
|
|
1503
1580
|
}], ctorParameters: () => [] });
|
|
1504
1581
|
|
|
1505
1582
|
class EditCellComponent {
|
|
1506
1583
|
constructor() {
|
|
1507
|
-
this.inputClass =
|
|
1508
|
-
this.edited =
|
|
1584
|
+
this.inputClass = "";
|
|
1585
|
+
this.edited = output();
|
|
1509
1586
|
}
|
|
1510
1587
|
onEdited(event) {
|
|
1511
|
-
this.edited.
|
|
1588
|
+
this.edited.emit(event);
|
|
1512
1589
|
return false;
|
|
1513
1590
|
}
|
|
1514
1591
|
getEditorType() {
|
|
@@ -1516,112 +1593,119 @@ class EditCellComponent {
|
|
|
1516
1593
|
if (editor) {
|
|
1517
1594
|
return editor.type;
|
|
1518
1595
|
}
|
|
1519
|
-
return
|
|
1520
|
-
}
|
|
1521
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1522
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
`, isInline: true, dependencies: [{ kind: "component", type: CustomEditComponent, selector: "table-cell-custom-editor" }, { kind: "component", type: DefaultEditComponent, selector: "table-cell-default-editor" }] }); }
|
|
1596
|
+
return "text";
|
|
1597
|
+
}
|
|
1598
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1599
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: EditCellComponent, isStandalone: true, selector: "table-cell-edit-mode", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { edited: "edited" }, ngImport: i0, template: `
|
|
1600
|
+
<div>
|
|
1601
|
+
@switch (getEditorType()) { @case ('custom') {
|
|
1602
|
+
<table-cell-custom-editor
|
|
1603
|
+
[cell]="cell"
|
|
1604
|
+
[inputClass]="inputClass"
|
|
1605
|
+
(edited)="onEdited($event)"
|
|
1606
|
+
>
|
|
1607
|
+
</table-cell-custom-editor>
|
|
1608
|
+
} @default {
|
|
1609
|
+
<table-cell-default-editor
|
|
1610
|
+
[cell]="cell"
|
|
1611
|
+
[inputClass]="inputClass"
|
|
1612
|
+
(edited)="onEdited($event)"
|
|
1613
|
+
>
|
|
1614
|
+
</table-cell-default-editor>
|
|
1615
|
+
} }
|
|
1616
|
+
</div>
|
|
1617
|
+
`, isInline: true, dependencies: [{ kind: "component", type: CustomEditComponent, selector: "table-cell-custom-editor" }, { kind: "component", type: DefaultEditComponent, selector: "table-cell-default-editor" }] }); }
|
|
1542
1618
|
}
|
|
1543
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1619
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellComponent, decorators: [{
|
|
1544
1620
|
type: Component,
|
|
1545
1621
|
args: [{
|
|
1546
|
-
selector:
|
|
1622
|
+
selector: "table-cell-edit-mode",
|
|
1547
1623
|
template: `
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1624
|
+
<div>
|
|
1625
|
+
@switch (getEditorType()) { @case ('custom') {
|
|
1626
|
+
<table-cell-custom-editor
|
|
1627
|
+
[cell]="cell"
|
|
1628
|
+
[inputClass]="inputClass"
|
|
1629
|
+
(edited)="onEdited($event)"
|
|
1630
|
+
>
|
|
1631
|
+
</table-cell-custom-editor>
|
|
1632
|
+
} @default {
|
|
1633
|
+
<table-cell-default-editor
|
|
1634
|
+
[cell]="cell"
|
|
1635
|
+
[inputClass]="inputClass"
|
|
1636
|
+
(edited)="onEdited($event)"
|
|
1637
|
+
>
|
|
1638
|
+
</table-cell-default-editor>
|
|
1639
|
+
} }
|
|
1640
|
+
</div>
|
|
1641
|
+
`,
|
|
1642
|
+
standalone: true,
|
|
1643
|
+
imports: [CustomEditComponent, DefaultEditComponent],
|
|
1567
1644
|
}]
|
|
1568
1645
|
}], propDecorators: { cell: [{
|
|
1569
1646
|
type: Input
|
|
1570
1647
|
}], inputClass: [{
|
|
1571
1648
|
type: Input
|
|
1572
|
-
}], edited: [{
|
|
1573
|
-
type: Output
|
|
1574
1649
|
}] } });
|
|
1575
1650
|
|
|
1576
1651
|
class CustomViewComponent {
|
|
1577
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1578
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1652
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1653
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: CustomViewComponent, isStandalone: true, selector: "custom-view-component", inputs: { cell: "cell" }, ngImport: i0, template: `<ng-template
|
|
1654
|
+
*ngComponentOutlet="
|
|
1655
|
+
cell.getColumn().renderComponent;
|
|
1656
|
+
inputs: { rowData: cell.getRow().getData(), value: cell.getValue() }
|
|
1657
|
+
"
|
|
1658
|
+
></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
|
|
1579
1659
|
}
|
|
1580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1660
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomViewComponent, decorators: [{
|
|
1581
1661
|
type: Component,
|
|
1582
|
-
args: [{
|
|
1662
|
+
args: [{
|
|
1663
|
+
selector: "custom-view-component",
|
|
1664
|
+
template: `<ng-template
|
|
1665
|
+
*ngComponentOutlet="
|
|
1666
|
+
cell.getColumn().renderComponent;
|
|
1667
|
+
inputs: { rowData: cell.getRow().getData(), value: cell.getValue() }
|
|
1668
|
+
"
|
|
1669
|
+
></ng-template>`,
|
|
1670
|
+
imports: [NgComponentOutlet],
|
|
1671
|
+
standalone: true,
|
|
1672
|
+
}]
|
|
1583
1673
|
}], propDecorators: { cell: [{
|
|
1584
1674
|
type: Input
|
|
1585
1675
|
}] } });
|
|
1586
1676
|
|
|
1587
1677
|
class ViewCellComponent {
|
|
1588
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1589
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1678
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ViewCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1679
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ViewCellComponent, isStandalone: true, selector: "table-cell-view-mode", inputs: { cell: "cell" }, ngImport: i0, template: `
|
|
1590
1680
|
<div>
|
|
1591
|
-
@switch (cell.getColumn().type) {
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
@default {
|
|
1599
|
-
<div>{{ cell.getValue() }}</div>
|
|
1600
|
-
}
|
|
1601
|
-
}
|
|
1681
|
+
@switch (cell.getColumn().type) { @case ('custom') {
|
|
1682
|
+
<custom-view-component [cell]="cell"></custom-view-component>
|
|
1683
|
+
} @case ('html') {
|
|
1684
|
+
<div [innerHTML]="cell.getValue()"></div>
|
|
1685
|
+
} @default {
|
|
1686
|
+
<div>{{ cell.getValue() }}</div>
|
|
1687
|
+
} }
|
|
1602
1688
|
</div>
|
|
1603
|
-
|
|
1689
|
+
`, isInline: true, dependencies: [{ kind: "component", type: CustomViewComponent, selector: "custom-view-component", inputs: ["cell"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1604
1690
|
}
|
|
1605
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1691
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ViewCellComponent, decorators: [{
|
|
1606
1692
|
type: Component,
|
|
1607
1693
|
args: [{
|
|
1608
|
-
selector:
|
|
1694
|
+
selector: "table-cell-view-mode",
|
|
1609
1695
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1610
1696
|
template: `
|
|
1611
1697
|
<div>
|
|
1612
|
-
@switch (cell.getColumn().type) {
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
@default {
|
|
1620
|
-
<div>{{ cell.getValue() }}</div>
|
|
1621
|
-
}
|
|
1622
|
-
}
|
|
1698
|
+
@switch (cell.getColumn().type) { @case ('custom') {
|
|
1699
|
+
<custom-view-component [cell]="cell"></custom-view-component>
|
|
1700
|
+
} @case ('html') {
|
|
1701
|
+
<div [innerHTML]="cell.getValue()"></div>
|
|
1702
|
+
} @default {
|
|
1703
|
+
<div>{{ cell.getValue() }}</div>
|
|
1704
|
+
} }
|
|
1623
1705
|
</div>
|
|
1624
|
-
|
|
1706
|
+
`,
|
|
1707
|
+
standalone: true,
|
|
1708
|
+
imports: [CustomViewComponent],
|
|
1625
1709
|
}]
|
|
1626
1710
|
}], propDecorators: { cell: [{
|
|
1627
1711
|
type: Input
|
|
@@ -1629,10 +1713,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1629
1713
|
|
|
1630
1714
|
class CellComponent {
|
|
1631
1715
|
constructor() {
|
|
1632
|
-
this.inputClass =
|
|
1633
|
-
this.mode =
|
|
1716
|
+
this.inputClass = "";
|
|
1717
|
+
this.mode = "inline";
|
|
1634
1718
|
this.isInEditing = false;
|
|
1635
|
-
this.edited =
|
|
1719
|
+
this.edited = output();
|
|
1636
1720
|
}
|
|
1637
1721
|
onEdited(event) {
|
|
1638
1722
|
if (this.isNew) {
|
|
@@ -1642,34 +1726,38 @@ class CellComponent {
|
|
|
1642
1726
|
this.grid.save(this.row, this.editConfirm);
|
|
1643
1727
|
}
|
|
1644
1728
|
}
|
|
1645
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1646
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1729
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1730
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: CellComponent, isStandalone: true, selector: "ng2-smart-table-cell", inputs: { grid: "grid", row: "row", editConfirm: "editConfirm", createConfirm: "createConfirm", isNew: "isNew", cell: "cell", inputClass: "inputClass", mode: "mode", isInEditing: "isInEditing" }, outputs: { edited: "edited" }, ngImport: i0, template: `
|
|
1647
1731
|
@if (!isInEditing) {
|
|
1648
|
-
|
|
1649
|
-
}
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1732
|
+
<table-cell-view-mode [cell]="cell"></table-cell-view-mode>
|
|
1733
|
+
} @else {
|
|
1734
|
+
<table-cell-edit-mode
|
|
1735
|
+
[cell]="cell"
|
|
1736
|
+
[inputClass]="inputClass"
|
|
1737
|
+
(edited)="onEdited($event)"
|
|
1738
|
+
>
|
|
1739
|
+
</table-cell-edit-mode>
|
|
1740
|
+
}
|
|
1741
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ViewCellComponent, selector: "table-cell-view-mode", inputs: ["cell"] }, { kind: "component", type: EditCellComponent, selector: "table-cell-edit-mode", inputs: ["cell", "inputClass"], outputs: ["edited"] }] }); }
|
|
1657
1742
|
}
|
|
1658
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1743
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CellComponent, decorators: [{
|
|
1659
1744
|
type: Component,
|
|
1660
1745
|
args: [{
|
|
1661
|
-
selector:
|
|
1746
|
+
selector: "ng2-smart-table-cell",
|
|
1662
1747
|
template: `
|
|
1663
1748
|
@if (!isInEditing) {
|
|
1664
|
-
|
|
1665
|
-
}
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1749
|
+
<table-cell-view-mode [cell]="cell"></table-cell-view-mode>
|
|
1750
|
+
} @else {
|
|
1751
|
+
<table-cell-edit-mode
|
|
1752
|
+
[cell]="cell"
|
|
1753
|
+
[inputClass]="inputClass"
|
|
1754
|
+
(edited)="onEdited($event)"
|
|
1755
|
+
>
|
|
1756
|
+
</table-cell-edit-mode>
|
|
1671
1757
|
}
|
|
1672
|
-
|
|
1758
|
+
`,
|
|
1759
|
+
standalone: true,
|
|
1760
|
+
imports: [ViewCellComponent, EditCellComponent],
|
|
1673
1761
|
}]
|
|
1674
1762
|
}], propDecorators: { grid: [{
|
|
1675
1763
|
type: Input
|
|
@@ -1689,8 +1777,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1689
1777
|
type: Input
|
|
1690
1778
|
}], isInEditing: [{
|
|
1691
1779
|
type: Input
|
|
1692
|
-
}], edited: [{
|
|
1693
|
-
type: Output
|
|
1694
1780
|
}] } });
|
|
1695
1781
|
|
|
1696
1782
|
class TbodyCreateCancelComponent {
|
|
@@ -1713,166 +1799,167 @@ class TbodyCreateCancelComponent {
|
|
|
1713
1799
|
this.saveButtonContent = this.grid.getSetting("edit.saveButtonContent", "save");
|
|
1714
1800
|
this.cancelButtonContent = this.grid.getSetting("edit.cancelButtonContent", "cancel");
|
|
1715
1801
|
}
|
|
1716
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1717
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1802
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCreateCancelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1803
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TbodyCreateCancelComponent, isStandalone: true, selector: "ng2-st-tbody-create-cancel", inputs: { grid: "grid", row: "row", editConfirm: "editConfirm", editCancel: "editCancel" }, usesOnChanges: true, ngImport: i0, template: `
|
|
1718
1804
|
@if (!row.pending) {
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1805
|
+
<a
|
|
1806
|
+
href="#"
|
|
1807
|
+
[id]="'row-' + row.index + '_editing-confirm-button'"
|
|
1808
|
+
class="ng2-smart-action ng2-smart-action-edit-save"
|
|
1809
|
+
[innerHTML]="saveButtonContent"
|
|
1810
|
+
(click)="onSave($event)"
|
|
1811
|
+
></a>
|
|
1812
|
+
<a
|
|
1813
|
+
href="#"
|
|
1814
|
+
[id]="'row-' + row.index + '_editing-cancel-button'"
|
|
1815
|
+
class="ng2-smart-action ng2-smart-action-edit-cancel"
|
|
1816
|
+
[innerHTML]="cancelButtonContent"
|
|
1817
|
+
(click)="onCancelEdit($event)"
|
|
1818
|
+
></a>
|
|
1733
1819
|
} @else {
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
}
|
|
1793
|
-
|
|
1820
|
+
<div style="display: flex;">
|
|
1821
|
+
<svg
|
|
1822
|
+
(click)="$event.stopPropagation()"
|
|
1823
|
+
style="height: 2rem; width: 2rem;"
|
|
1824
|
+
version="1.1"
|
|
1825
|
+
id="L9"
|
|
1826
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1827
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
1828
|
+
x="0px"
|
|
1829
|
+
y="0px"
|
|
1830
|
+
viewBox="0 0 100 100"
|
|
1831
|
+
enable-background="new 0 0 0 0"
|
|
1832
|
+
xml:space="preserve"
|
|
1833
|
+
>
|
|
1834
|
+
<path
|
|
1835
|
+
fill="#e9e9e9"
|
|
1836
|
+
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
1837
|
+
>
|
|
1838
|
+
<animateTransform
|
|
1839
|
+
attributeName="transform"
|
|
1840
|
+
attributeType="XML"
|
|
1841
|
+
type="rotate"
|
|
1842
|
+
dur="1s"
|
|
1843
|
+
from="0 50 50"
|
|
1844
|
+
to="360 50 50"
|
|
1845
|
+
repeatCount="indefinite"
|
|
1846
|
+
/>
|
|
1847
|
+
</path>
|
|
1848
|
+
</svg>
|
|
1849
|
+
<svg
|
|
1850
|
+
(click)="$event.stopPropagation()"
|
|
1851
|
+
style="height: 2rem; width: 2rem; "
|
|
1852
|
+
version="1.1"
|
|
1853
|
+
id="L9"
|
|
1854
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1855
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
1856
|
+
x="0px"
|
|
1857
|
+
y="0px"
|
|
1858
|
+
viewBox="0 0 100 100"
|
|
1859
|
+
enable-background="new 0 0 0 0"
|
|
1860
|
+
xml:space="preserve"
|
|
1861
|
+
>
|
|
1862
|
+
<path
|
|
1863
|
+
fill="#e9e9e9"
|
|
1864
|
+
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
1865
|
+
>
|
|
1866
|
+
<animateTransform
|
|
1867
|
+
attributeName="transform"
|
|
1868
|
+
attributeType="XML"
|
|
1869
|
+
type="rotate"
|
|
1870
|
+
dur="1s"
|
|
1871
|
+
from="0 50 50"
|
|
1872
|
+
to="360 50 50"
|
|
1873
|
+
repeatCount="indefinite"
|
|
1874
|
+
/>
|
|
1875
|
+
</path>
|
|
1876
|
+
</svg>
|
|
1877
|
+
</div>
|
|
1878
|
+
}
|
|
1879
|
+
`, isInline: true }); }
|
|
1794
1880
|
}
|
|
1795
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1881
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCreateCancelComponent, decorators: [{
|
|
1796
1882
|
type: Component,
|
|
1797
1883
|
args: [{
|
|
1798
1884
|
selector: "ng2-st-tbody-create-cancel",
|
|
1799
1885
|
template: `
|
|
1800
1886
|
@if (!row.pending) {
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1887
|
+
<a
|
|
1888
|
+
href="#"
|
|
1889
|
+
[id]="'row-' + row.index + '_editing-confirm-button'"
|
|
1890
|
+
class="ng2-smart-action ng2-smart-action-edit-save"
|
|
1891
|
+
[innerHTML]="saveButtonContent"
|
|
1892
|
+
(click)="onSave($event)"
|
|
1893
|
+
></a>
|
|
1894
|
+
<a
|
|
1895
|
+
href="#"
|
|
1896
|
+
[id]="'row-' + row.index + '_editing-cancel-button'"
|
|
1897
|
+
class="ng2-smart-action ng2-smart-action-edit-cancel"
|
|
1898
|
+
[innerHTML]="cancelButtonContent"
|
|
1899
|
+
(click)="onCancelEdit($event)"
|
|
1900
|
+
></a>
|
|
1815
1901
|
} @else {
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1902
|
+
<div style="display: flex;">
|
|
1903
|
+
<svg
|
|
1904
|
+
(click)="$event.stopPropagation()"
|
|
1905
|
+
style="height: 2rem; width: 2rem;"
|
|
1906
|
+
version="1.1"
|
|
1907
|
+
id="L9"
|
|
1908
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1909
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
1910
|
+
x="0px"
|
|
1911
|
+
y="0px"
|
|
1912
|
+
viewBox="0 0 100 100"
|
|
1913
|
+
enable-background="new 0 0 0 0"
|
|
1914
|
+
xml:space="preserve"
|
|
1915
|
+
>
|
|
1916
|
+
<path
|
|
1917
|
+
fill="#e9e9e9"
|
|
1918
|
+
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
1919
|
+
>
|
|
1920
|
+
<animateTransform
|
|
1921
|
+
attributeName="transform"
|
|
1922
|
+
attributeType="XML"
|
|
1923
|
+
type="rotate"
|
|
1924
|
+
dur="1s"
|
|
1925
|
+
from="0 50 50"
|
|
1926
|
+
to="360 50 50"
|
|
1927
|
+
repeatCount="indefinite"
|
|
1928
|
+
/>
|
|
1929
|
+
</path>
|
|
1930
|
+
</svg>
|
|
1931
|
+
<svg
|
|
1932
|
+
(click)="$event.stopPropagation()"
|
|
1933
|
+
style="height: 2rem; width: 2rem; "
|
|
1934
|
+
version="1.1"
|
|
1935
|
+
id="L9"
|
|
1936
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1937
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
1938
|
+
x="0px"
|
|
1939
|
+
y="0px"
|
|
1940
|
+
viewBox="0 0 100 100"
|
|
1941
|
+
enable-background="new 0 0 0 0"
|
|
1942
|
+
xml:space="preserve"
|
|
1943
|
+
>
|
|
1944
|
+
<path
|
|
1945
|
+
fill="#e9e9e9"
|
|
1946
|
+
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
1947
|
+
>
|
|
1948
|
+
<animateTransform
|
|
1949
|
+
attributeName="transform"
|
|
1950
|
+
attributeType="XML"
|
|
1951
|
+
type="rotate"
|
|
1952
|
+
dur="1s"
|
|
1953
|
+
from="0 50 50"
|
|
1954
|
+
to="360 50 50"
|
|
1955
|
+
repeatCount="indefinite"
|
|
1956
|
+
/>
|
|
1957
|
+
</path>
|
|
1958
|
+
</svg>
|
|
1959
|
+
</div>
|
|
1874
1960
|
}
|
|
1875
|
-
|
|
1961
|
+
`,
|
|
1962
|
+
standalone: true,
|
|
1876
1963
|
}]
|
|
1877
1964
|
}], propDecorators: { grid: [{
|
|
1878
1965
|
type: Input
|
|
@@ -1884,11 +1971,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1884
1971
|
type: Input
|
|
1885
1972
|
}] } });
|
|
1886
1973
|
|
|
1974
|
+
class TbodyCustomComponent {
|
|
1975
|
+
constructor() {
|
|
1976
|
+
this.custom = output();
|
|
1977
|
+
}
|
|
1978
|
+
onCustom(action) {
|
|
1979
|
+
this.custom.emit({
|
|
1980
|
+
action: action.name,
|
|
1981
|
+
data: this.row.getData(),
|
|
1982
|
+
source: this.source,
|
|
1983
|
+
});
|
|
1984
|
+
}
|
|
1985
|
+
customActions() {
|
|
1986
|
+
return this.grid.getSetting("actions.custom");
|
|
1987
|
+
}
|
|
1988
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCustomComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1989
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TbodyCustomComponent, isStandalone: true, selector: "ng2-st-tbody-custom", inputs: { grid: "grid", row: "row", source: "source" }, outputs: { custom: "custom" }, ngImport: i0, template: `
|
|
1990
|
+
@for (action of customActions(); track $index) {
|
|
1991
|
+
<a
|
|
1992
|
+
[id]="'row-' + row.index + '_action-' + action.name + '-button'"
|
|
1993
|
+
href="#"
|
|
1994
|
+
class="ng2-smart-action ng2-smart-action-custom-custom"
|
|
1995
|
+
[innerHTML]="action.title"
|
|
1996
|
+
(click)="
|
|
1997
|
+
$event.stopPropagation(); $event.preventDefault(); onCustom(action)
|
|
1998
|
+
"
|
|
1999
|
+
></a>
|
|
2000
|
+
}
|
|
2001
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2002
|
+
}
|
|
2003
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCustomComponent, decorators: [{
|
|
2004
|
+
type: Component,
|
|
2005
|
+
args: [{
|
|
2006
|
+
selector: "ng2-st-tbody-custom",
|
|
2007
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2008
|
+
template: `
|
|
2009
|
+
@for (action of customActions(); track $index) {
|
|
2010
|
+
<a
|
|
2011
|
+
[id]="'row-' + row.index + '_action-' + action.name + '-button'"
|
|
2012
|
+
href="#"
|
|
2013
|
+
class="ng2-smart-action ng2-smart-action-custom-custom"
|
|
2014
|
+
[innerHTML]="action.title"
|
|
2015
|
+
(click)="
|
|
2016
|
+
$event.stopPropagation(); $event.preventDefault(); onCustom(action)
|
|
2017
|
+
"
|
|
2018
|
+
></a>
|
|
2019
|
+
}
|
|
2020
|
+
`,
|
|
2021
|
+
standalone: true,
|
|
2022
|
+
}]
|
|
2023
|
+
}], propDecorators: { grid: [{
|
|
2024
|
+
type: Input
|
|
2025
|
+
}], row: [{
|
|
2026
|
+
type: Input
|
|
2027
|
+
}], source: [{
|
|
2028
|
+
type: Input
|
|
2029
|
+
}] } });
|
|
2030
|
+
|
|
1887
2031
|
class TbodyEditDeleteComponent {
|
|
1888
2032
|
constructor() {
|
|
1889
|
-
this.edit =
|
|
1890
|
-
this.delete =
|
|
1891
|
-
this.editRowSelect =
|
|
2033
|
+
this.edit = output();
|
|
2034
|
+
this.delete = output();
|
|
2035
|
+
this.editRowSelect = output();
|
|
1892
2036
|
this.isActionEdit = false;
|
|
1893
2037
|
this.isActionDelete = false;
|
|
1894
2038
|
this.editRowButtonContent = "";
|
|
@@ -1925,182 +2069,175 @@ class TbodyEditDeleteComponent {
|
|
|
1925
2069
|
this.editRowButtonContent = this.grid.getSetting("edit.editButtonContent");
|
|
1926
2070
|
this.deleteRowButtonContent = this.grid.getSetting("delete.deleteButtonContent");
|
|
1927
2071
|
}
|
|
1928
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1929
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1930
|
-
@if (!row.pending) {
|
|
2072
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyEditDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2073
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TbodyEditDeleteComponent, isStandalone: true, selector: "ng2-st-tbody-edit-delete", inputs: { grid: "grid", row: "row", source: "source", deleteConfirm: "deleteConfirm", editConfirm: "editConfirm" }, outputs: { edit: "edit", delete: "delete", editRowSelect: "editRowSelect" }, usesOnChanges: true, ngImport: i0, template: `
|
|
2074
|
+
@if (!row.pending) { @if (isActionEdit) {
|
|
2075
|
+
<a
|
|
2076
|
+
href="#"
|
|
2077
|
+
[id]="'row-' + row.index + '_action-edit-button'"
|
|
2078
|
+
class="ng2-smart-action ng2-smart-action-edit-edit"
|
|
2079
|
+
[innerHTML]="editRowButtonContent"
|
|
2080
|
+
(click)="onEdit($event)"
|
|
2081
|
+
></a>
|
|
2082
|
+
} @if (isActionDelete) {
|
|
2083
|
+
<a
|
|
2084
|
+
href="#"
|
|
2085
|
+
[id]="'row-' + row.index + '_action-delete-button'"
|
|
2086
|
+
class="ng2-smart-action ng2-smart-action-delete-delete"
|
|
2087
|
+
[innerHTML]="deleteRowButtonContent"
|
|
2088
|
+
(click)="onDelete($event)"
|
|
2089
|
+
></a>
|
|
2090
|
+
} } @else {
|
|
2091
|
+
<div style="display: flex;">
|
|
1931
2092
|
@if (isActionEdit) {
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
2093
|
+
<svg
|
|
2094
|
+
(click)="$event.stopPropagation()"
|
|
2095
|
+
style="height: 2rem; width: 2rem;"
|
|
2096
|
+
version="1.1"
|
|
2097
|
+
id="L9"
|
|
2098
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2099
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2100
|
+
x="0px"
|
|
2101
|
+
y="0px"
|
|
2102
|
+
viewBox="0 0 100 100"
|
|
2103
|
+
enable-background="new 0 0 0 0"
|
|
2104
|
+
xml:space="preserve"
|
|
2105
|
+
>
|
|
2106
|
+
<path
|
|
2107
|
+
fill="#e9e9e9"
|
|
2108
|
+
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
2109
|
+
>
|
|
2110
|
+
<animateTransform
|
|
2111
|
+
attributeName="transform"
|
|
2112
|
+
attributeType="XML"
|
|
2113
|
+
type="rotate"
|
|
2114
|
+
dur="1s"
|
|
2115
|
+
from="0 50 50"
|
|
2116
|
+
to="360 50 50"
|
|
2117
|
+
repeatCount="indefinite"
|
|
2118
|
+
/>
|
|
2119
|
+
</path>
|
|
2120
|
+
</svg>
|
|
2121
|
+
} @if (isActionDelete) {
|
|
2122
|
+
<svg
|
|
2123
|
+
(click)="$event.stopPropagation()"
|
|
2124
|
+
style="height: 2rem; width: 2rem;"
|
|
2125
|
+
version="1.1"
|
|
2126
|
+
id="L9"
|
|
2127
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2128
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2129
|
+
x="0px"
|
|
2130
|
+
y="0px"
|
|
2131
|
+
viewBox="0 0 100 100"
|
|
2132
|
+
enable-background="new 0 0 0 0"
|
|
2133
|
+
xml:space="preserve"
|
|
2134
|
+
>
|
|
2135
|
+
<path
|
|
2136
|
+
fill="#e9e9e9"
|
|
2137
|
+
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
2138
|
+
>
|
|
2139
|
+
<animateTransform
|
|
2140
|
+
attributeName="transform"
|
|
2141
|
+
attributeType="XML"
|
|
2142
|
+
type="rotate"
|
|
2143
|
+
dur="1s"
|
|
2144
|
+
from="0 50 50"
|
|
2145
|
+
to="360 50 50"
|
|
2146
|
+
repeatCount="indefinite"
|
|
2147
|
+
/>
|
|
2148
|
+
</path>
|
|
2149
|
+
</svg>
|
|
1948
2150
|
}
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
<svg
|
|
1953
|
-
(click)="$event.stopPropagation()"
|
|
1954
|
-
style="height: 2rem; width: 2rem;"
|
|
1955
|
-
version="1.1"
|
|
1956
|
-
id="L9"
|
|
1957
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1958
|
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
1959
|
-
x="0px"
|
|
1960
|
-
y="0px"
|
|
1961
|
-
viewBox="0 0 100 100"
|
|
1962
|
-
enable-background="new 0 0 0 0"
|
|
1963
|
-
xml:space="preserve"
|
|
1964
|
-
>
|
|
1965
|
-
<path
|
|
1966
|
-
fill="#e9e9e9"
|
|
1967
|
-
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
1968
|
-
>
|
|
1969
|
-
<animateTransform
|
|
1970
|
-
attributeName="transform"
|
|
1971
|
-
attributeType="XML"
|
|
1972
|
-
type="rotate"
|
|
1973
|
-
dur="1s"
|
|
1974
|
-
from="0 50 50"
|
|
1975
|
-
to="360 50 50"
|
|
1976
|
-
repeatCount="indefinite"
|
|
1977
|
-
/>
|
|
1978
|
-
</path>
|
|
1979
|
-
</svg>
|
|
1980
|
-
}
|
|
1981
|
-
@if (isActionDelete) {
|
|
1982
|
-
<svg
|
|
1983
|
-
(click)="$event.stopPropagation()"
|
|
1984
|
-
style="height: 2rem; width: 2rem;"
|
|
1985
|
-
version="1.1"
|
|
1986
|
-
id="L9"
|
|
1987
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1988
|
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
1989
|
-
x="0px"
|
|
1990
|
-
y="0px"
|
|
1991
|
-
viewBox="0 0 100 100"
|
|
1992
|
-
enable-background="new 0 0 0 0"
|
|
1993
|
-
xml:space="preserve"
|
|
1994
|
-
>
|
|
1995
|
-
<path
|
|
1996
|
-
fill="#e9e9e9"
|
|
1997
|
-
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
1998
|
-
>
|
|
1999
|
-
<animateTransform
|
|
2000
|
-
attributeName="transform"
|
|
2001
|
-
attributeType="XML"
|
|
2002
|
-
type="rotate"
|
|
2003
|
-
dur="1s"
|
|
2004
|
-
from="0 50 50"
|
|
2005
|
-
to="360 50 50"
|
|
2006
|
-
repeatCount="indefinite"
|
|
2007
|
-
/>
|
|
2008
|
-
</path>
|
|
2009
|
-
</svg>
|
|
2010
|
-
}
|
|
2011
|
-
</div>
|
|
2012
|
-
}
|
|
2013
|
-
`, isInline: true }); }
|
|
2151
|
+
</div>
|
|
2152
|
+
}
|
|
2153
|
+
`, isInline: true }); }
|
|
2014
2154
|
}
|
|
2015
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyEditDeleteComponent, decorators: [{
|
|
2016
2156
|
type: Component,
|
|
2017
2157
|
args: [{
|
|
2018
2158
|
selector: "ng2-st-tbody-edit-delete",
|
|
2019
2159
|
template: `
|
|
2020
|
-
@if (!row.pending) {
|
|
2160
|
+
@if (!row.pending) { @if (isActionEdit) {
|
|
2161
|
+
<a
|
|
2162
|
+
href="#"
|
|
2163
|
+
[id]="'row-' + row.index + '_action-edit-button'"
|
|
2164
|
+
class="ng2-smart-action ng2-smart-action-edit-edit"
|
|
2165
|
+
[innerHTML]="editRowButtonContent"
|
|
2166
|
+
(click)="onEdit($event)"
|
|
2167
|
+
></a>
|
|
2168
|
+
} @if (isActionDelete) {
|
|
2169
|
+
<a
|
|
2170
|
+
href="#"
|
|
2171
|
+
[id]="'row-' + row.index + '_action-delete-button'"
|
|
2172
|
+
class="ng2-smart-action ng2-smart-action-delete-delete"
|
|
2173
|
+
[innerHTML]="deleteRowButtonContent"
|
|
2174
|
+
(click)="onDelete($event)"
|
|
2175
|
+
></a>
|
|
2176
|
+
} } @else {
|
|
2177
|
+
<div style="display: flex;">
|
|
2021
2178
|
@if (isActionEdit) {
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2179
|
+
<svg
|
|
2180
|
+
(click)="$event.stopPropagation()"
|
|
2181
|
+
style="height: 2rem; width: 2rem;"
|
|
2182
|
+
version="1.1"
|
|
2183
|
+
id="L9"
|
|
2184
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2185
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2186
|
+
x="0px"
|
|
2187
|
+
y="0px"
|
|
2188
|
+
viewBox="0 0 100 100"
|
|
2189
|
+
enable-background="new 0 0 0 0"
|
|
2190
|
+
xml:space="preserve"
|
|
2191
|
+
>
|
|
2192
|
+
<path
|
|
2193
|
+
fill="#e9e9e9"
|
|
2194
|
+
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
2195
|
+
>
|
|
2196
|
+
<animateTransform
|
|
2197
|
+
attributeName="transform"
|
|
2198
|
+
attributeType="XML"
|
|
2199
|
+
type="rotate"
|
|
2200
|
+
dur="1s"
|
|
2201
|
+
from="0 50 50"
|
|
2202
|
+
to="360 50 50"
|
|
2203
|
+
repeatCount="indefinite"
|
|
2204
|
+
/>
|
|
2205
|
+
</path>
|
|
2206
|
+
</svg>
|
|
2207
|
+
} @if (isActionDelete) {
|
|
2208
|
+
<svg
|
|
2209
|
+
(click)="$event.stopPropagation()"
|
|
2210
|
+
style="height: 2rem; width: 2rem;"
|
|
2211
|
+
version="1.1"
|
|
2212
|
+
id="L9"
|
|
2213
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2214
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2215
|
+
x="0px"
|
|
2216
|
+
y="0px"
|
|
2217
|
+
viewBox="0 0 100 100"
|
|
2218
|
+
enable-background="new 0 0 0 0"
|
|
2219
|
+
xml:space="preserve"
|
|
2220
|
+
>
|
|
2221
|
+
<path
|
|
2222
|
+
fill="#e9e9e9"
|
|
2223
|
+
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
2224
|
+
>
|
|
2225
|
+
<animateTransform
|
|
2226
|
+
attributeName="transform"
|
|
2227
|
+
attributeType="XML"
|
|
2228
|
+
type="rotate"
|
|
2229
|
+
dur="1s"
|
|
2230
|
+
from="0 50 50"
|
|
2231
|
+
to="360 50 50"
|
|
2232
|
+
repeatCount="indefinite"
|
|
2233
|
+
/>
|
|
2234
|
+
</path>
|
|
2235
|
+
</svg>
|
|
2038
2236
|
}
|
|
2039
|
-
|
|
2040
|
-
<div style="display: flex;">
|
|
2041
|
-
@if (isActionEdit) {
|
|
2042
|
-
<svg
|
|
2043
|
-
(click)="$event.stopPropagation()"
|
|
2044
|
-
style="height: 2rem; width: 2rem;"
|
|
2045
|
-
version="1.1"
|
|
2046
|
-
id="L9"
|
|
2047
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
2048
|
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2049
|
-
x="0px"
|
|
2050
|
-
y="0px"
|
|
2051
|
-
viewBox="0 0 100 100"
|
|
2052
|
-
enable-background="new 0 0 0 0"
|
|
2053
|
-
xml:space="preserve"
|
|
2054
|
-
>
|
|
2055
|
-
<path
|
|
2056
|
-
fill="#e9e9e9"
|
|
2057
|
-
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
2058
|
-
>
|
|
2059
|
-
<animateTransform
|
|
2060
|
-
attributeName="transform"
|
|
2061
|
-
attributeType="XML"
|
|
2062
|
-
type="rotate"
|
|
2063
|
-
dur="1s"
|
|
2064
|
-
from="0 50 50"
|
|
2065
|
-
to="360 50 50"
|
|
2066
|
-
repeatCount="indefinite"
|
|
2067
|
-
/>
|
|
2068
|
-
</path>
|
|
2069
|
-
</svg>
|
|
2070
|
-
}
|
|
2071
|
-
@if (isActionDelete) {
|
|
2072
|
-
<svg
|
|
2073
|
-
(click)="$event.stopPropagation()"
|
|
2074
|
-
style="height: 2rem; width: 2rem;"
|
|
2075
|
-
version="1.1"
|
|
2076
|
-
id="L9"
|
|
2077
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
2078
|
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2079
|
-
x="0px"
|
|
2080
|
-
y="0px"
|
|
2081
|
-
viewBox="0 0 100 100"
|
|
2082
|
-
enable-background="new 0 0 0 0"
|
|
2083
|
-
xml:space="preserve"
|
|
2084
|
-
>
|
|
2085
|
-
<path
|
|
2086
|
-
fill="#e9e9e9"
|
|
2087
|
-
d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
|
|
2088
|
-
>
|
|
2089
|
-
<animateTransform
|
|
2090
|
-
attributeName="transform"
|
|
2091
|
-
attributeType="XML"
|
|
2092
|
-
type="rotate"
|
|
2093
|
-
dur="1s"
|
|
2094
|
-
from="0 50 50"
|
|
2095
|
-
to="360 50 50"
|
|
2096
|
-
repeatCount="indefinite"
|
|
2097
|
-
/>
|
|
2098
|
-
</path>
|
|
2099
|
-
</svg>
|
|
2100
|
-
}
|
|
2101
|
-
</div>
|
|
2237
|
+
</div>
|
|
2102
2238
|
}
|
|
2103
|
-
|
|
2239
|
+
`,
|
|
2240
|
+
standalone: true,
|
|
2104
2241
|
}]
|
|
2105
2242
|
}], propDecorators: { grid: [{
|
|
2106
2243
|
type: Input
|
|
@@ -2112,87 +2249,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2112
2249
|
type: Input
|
|
2113
2250
|
}], editConfirm: [{
|
|
2114
2251
|
type: Input
|
|
2115
|
-
}], edit: [{
|
|
2116
|
-
type: Output
|
|
2117
|
-
}], delete: [{
|
|
2118
|
-
type: Output
|
|
2119
|
-
}], editRowSelect: [{
|
|
2120
|
-
type: Output
|
|
2121
|
-
}] } });
|
|
2122
|
-
|
|
2123
|
-
class TbodyCustomComponent {
|
|
2124
|
-
constructor() {
|
|
2125
|
-
this.custom = new EventEmitter();
|
|
2126
|
-
}
|
|
2127
|
-
onCustom(action) {
|
|
2128
|
-
this.custom.emit({
|
|
2129
|
-
action: action.name,
|
|
2130
|
-
data: this.row.getData(),
|
|
2131
|
-
source: this.source,
|
|
2132
|
-
});
|
|
2133
|
-
}
|
|
2134
|
-
customActions() {
|
|
2135
|
-
return this.grid.getSetting("actions.custom");
|
|
2136
|
-
}
|
|
2137
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TbodyCustomComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2138
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TbodyCustomComponent, selector: "ng2-st-tbody-custom", inputs: { grid: "grid", row: "row", source: "source" }, outputs: { custom: "custom" }, ngImport: i0, template: `
|
|
2139
|
-
@for (action of customActions(); track $index) {
|
|
2140
|
-
<a
|
|
2141
|
-
[id]="'row-' + row.index + '_action-' + action.name + '-button'"
|
|
2142
|
-
href="#"
|
|
2143
|
-
class="ng2-smart-action ng2-smart-action-custom-custom"
|
|
2144
|
-
[innerHTML]="action.title"
|
|
2145
|
-
(click)="$event.stopPropagation(); $event.preventDefault(); onCustom(action)"
|
|
2146
|
-
></a>
|
|
2147
|
-
}
|
|
2148
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2149
|
-
}
|
|
2150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TbodyCustomComponent, decorators: [{
|
|
2151
|
-
type: Component,
|
|
2152
|
-
args: [{
|
|
2153
|
-
selector: "ng2-st-tbody-custom",
|
|
2154
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2155
|
-
template: `
|
|
2156
|
-
@for (action of customActions(); track $index) {
|
|
2157
|
-
<a
|
|
2158
|
-
[id]="'row-' + row.index + '_action-' + action.name + '-button'"
|
|
2159
|
-
href="#"
|
|
2160
|
-
class="ng2-smart-action ng2-smart-action-custom-custom"
|
|
2161
|
-
[innerHTML]="action.title"
|
|
2162
|
-
(click)="$event.stopPropagation(); $event.preventDefault(); onCustom(action)"
|
|
2163
|
-
></a>
|
|
2164
|
-
}
|
|
2165
|
-
`,
|
|
2166
|
-
}]
|
|
2167
|
-
}], propDecorators: { grid: [{
|
|
2168
|
-
type: Input
|
|
2169
|
-
}], row: [{
|
|
2170
|
-
type: Input
|
|
2171
|
-
}], source: [{
|
|
2172
|
-
type: Input
|
|
2173
|
-
}], custom: [{
|
|
2174
|
-
type: Output
|
|
2175
2252
|
}] } });
|
|
2176
2253
|
|
|
2177
2254
|
class Ng2SmartTableTbodyComponent {
|
|
2178
2255
|
constructor() {
|
|
2179
|
-
this.rowClassFunction = () =>
|
|
2180
|
-
this.save =
|
|
2181
|
-
this.cancel =
|
|
2182
|
-
this.edit =
|
|
2183
|
-
this.editCancel =
|
|
2184
|
-
this.delete =
|
|
2185
|
-
this.custom =
|
|
2186
|
-
this.edited =
|
|
2187
|
-
this.userSelectRow =
|
|
2188
|
-
this.userClickedRow =
|
|
2189
|
-
this.editRowSelect =
|
|
2190
|
-
this.multipleSelectRow =
|
|
2256
|
+
this.rowClassFunction = () => "";
|
|
2257
|
+
this.save = output();
|
|
2258
|
+
this.cancel = output();
|
|
2259
|
+
this.edit = output();
|
|
2260
|
+
this.editCancel = output();
|
|
2261
|
+
this.delete = output();
|
|
2262
|
+
this.custom = output();
|
|
2263
|
+
this.edited = output();
|
|
2264
|
+
this.userSelectRow = output();
|
|
2265
|
+
this.userClickedRow = output();
|
|
2266
|
+
this.editRowSelect = output();
|
|
2267
|
+
this.multipleSelectRow = output();
|
|
2191
2268
|
this.isMultiSelectVisible = false;
|
|
2192
2269
|
this.showActionColumnLeft = false;
|
|
2193
2270
|
this.showActionColumnRight = false;
|
|
2194
|
-
this.mode =
|
|
2195
|
-
this.editInputClass =
|
|
2271
|
+
this.mode = "inline";
|
|
2272
|
+
this.editInputClass = "";
|
|
2196
2273
|
this.isActionAdd = false;
|
|
2197
2274
|
this.isActionEdit = false;
|
|
2198
2275
|
this.isActionDelete = false;
|
|
@@ -2204,14 +2281,14 @@ class Ng2SmartTableTbodyComponent {
|
|
|
2204
2281
|
}
|
|
2205
2282
|
ngOnChanges() {
|
|
2206
2283
|
this.isMultiSelectVisible = this.grid.isMultiSelectVisible();
|
|
2207
|
-
this.showActionColumnLeft = this.grid.showActionColumn(
|
|
2208
|
-
this.mode = this.grid.getSetting(
|
|
2209
|
-
this.editInputClass = this.grid.getSetting(
|
|
2210
|
-
this.showActionColumnRight = this.grid.showActionColumn(
|
|
2211
|
-
this.isActionAdd = this.grid.getSetting(
|
|
2212
|
-
this.isActionEdit = this.grid.getSetting(
|
|
2213
|
-
this.isActionDelete = this.grid.getSetting(
|
|
2214
|
-
this.noDataMessage = this.grid.getSetting(
|
|
2284
|
+
this.showActionColumnLeft = this.grid.showActionColumn("left");
|
|
2285
|
+
this.mode = this.grid.getSetting("mode", "inline");
|
|
2286
|
+
this.editInputClass = this.grid.getSetting("edit.inputClass", "");
|
|
2287
|
+
this.showActionColumnRight = this.grid.showActionColumn("right");
|
|
2288
|
+
this.isActionAdd = this.grid.getSetting("actions.add", false);
|
|
2289
|
+
this.isActionEdit = this.grid.getSetting("actions.edit", false);
|
|
2290
|
+
this.isActionDelete = this.grid.getSetting("actions.delete", false);
|
|
2291
|
+
this.noDataMessage = this.grid.getSetting("noDataMessage");
|
|
2215
2292
|
}
|
|
2216
2293
|
getVisibleCells(cells) {
|
|
2217
2294
|
return (cells || []).filter((cell) => !cell.getColumn().hide);
|
|
@@ -2219,12 +2296,18 @@ class Ng2SmartTableTbodyComponent {
|
|
|
2219
2296
|
trackByIdOrIndex(index, item) {
|
|
2220
2297
|
return item?.id || index;
|
|
2221
2298
|
}
|
|
2222
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2223
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2299
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTbodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2300
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: Ng2SmartTableTbodyComponent, isStandalone: true, selector: "[ng2-st-tbody]", inputs: { grid: "grid", source: "source", deleteConfirm: "deleteConfirm", editConfirm: "editConfirm", rowClassFunction: "rowClassFunction" }, outputs: { save: "save", cancel: "cancel", edit: "edit", editCancel: "editCancel", delete: "delete", custom: "custom", edited: "edited", userSelectRow: "userSelectRow", userClickedRow: "userClickedRow", editRowSelect: "editRowSelect", multipleSelectRow: "multipleSelectRow" }, usesOnChanges: true, ngImport: i0, template: "@if (grid.getRows().length) { @for (row of grid.getRows(); track\ntrackByIdOrIndex($index, row)) {\n<tr\n (click)=\"userClickedRow.emit(row)\"\n class=\"ng2-smart-row\"\n [class]=\"rowClassFunction(row)\"\n [class.selected]=\"row.isSelected\"\n>\n @if (isMultiSelectVisible) {\n <td\n class=\"ng2-smart-actions ng2-smart-action-multiple-select\"\n (click)=\"$event.stopPropagation(); multipleSelectRow.emit(row)\"\n >\n <input\n type=\"checkbox\"\n [id]=\"'row-' + row.index + '_select-checkbox'\"\n class=\"form-control\"\n [ngModel]=\"row.isSelected\"\n />\n </td>\n } @if (!row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\" (click)=\"$event.stopPropagation()\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n } @if (row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n [editCancel]=\"editCancel\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @for (cell of getVisibleCells(row.cells); track cell.getId()) {\n <td [class]=\"cell.getColumnClass()\">\n <ng2-smart-table-cell\n [cell]=\"cell\"\n [grid]=\"grid\"\n [row]=\"row\"\n [isNew]=\"false\"\n [mode]=\"mode\"\n [editConfirm]=\"editConfirm\"\n [inputClass]=\"editInputClass\"\n [isInEditing]=\"row.isInEditing\"\n >\n </ng2-smart-table-cell>\n </td>\n } @if (row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @if (!row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [row]=\"row\"\n [source]=\"source\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n }\n</tr>\n} } @else {\n<tr>\n <td [attr.colspan]=\"tableColumnsCount\">\n {{ noDataMessage }}\n </td>\n</tr>\n}\n", styles: [":host .ng2-smart-row.selected{background:#0000000d}:host .ng2-smart-row .ng2-smart-actions.ng2-smart-action-multiple-select{text-align:center}:host ::ng-deep ng2-st-tbody-edit-delete a:first-child,:host ::ng-deep ng2-st-tbody-create-cancel a:first-child{margin-right:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TbodyCustomComponent, selector: "ng2-st-tbody-custom", inputs: ["grid", "row", "source"], outputs: ["custom"] }, { kind: "component", type: TbodyEditDeleteComponent, selector: "ng2-st-tbody-edit-delete", inputs: ["grid", "row", "source", "deleteConfirm", "editConfirm"], outputs: ["edit", "delete", "editRowSelect"] }, { kind: "component", type: TbodyCreateCancelComponent, selector: "ng2-st-tbody-create-cancel", inputs: ["grid", "row", "editConfirm", "editCancel"] }, { kind: "component", type: CellComponent, selector: "ng2-smart-table-cell", inputs: ["grid", "row", "editConfirm", "createConfirm", "isNew", "cell", "inputClass", "mode", "isInEditing"], outputs: ["edited"] }] }); }
|
|
2224
2301
|
}
|
|
2225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2302
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTbodyComponent, decorators: [{
|
|
2226
2303
|
type: Component,
|
|
2227
|
-
args: [{ selector:
|
|
2304
|
+
args: [{ selector: "[ng2-st-tbody]", standalone: true, imports: [
|
|
2305
|
+
FormsModule,
|
|
2306
|
+
TbodyCustomComponent,
|
|
2307
|
+
TbodyEditDeleteComponent,
|
|
2308
|
+
TbodyCreateCancelComponent,
|
|
2309
|
+
CellComponent,
|
|
2310
|
+
], template: "@if (grid.getRows().length) { @for (row of grid.getRows(); track\ntrackByIdOrIndex($index, row)) {\n<tr\n (click)=\"userClickedRow.emit(row)\"\n class=\"ng2-smart-row\"\n [class]=\"rowClassFunction(row)\"\n [class.selected]=\"row.isSelected\"\n>\n @if (isMultiSelectVisible) {\n <td\n class=\"ng2-smart-actions ng2-smart-action-multiple-select\"\n (click)=\"$event.stopPropagation(); multipleSelectRow.emit(row)\"\n >\n <input\n type=\"checkbox\"\n [id]=\"'row-' + row.index + '_select-checkbox'\"\n class=\"form-control\"\n [ngModel]=\"row.isSelected\"\n />\n </td>\n } @if (!row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\" (click)=\"$event.stopPropagation()\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n } @if (row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n [editCancel]=\"editCancel\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @for (cell of getVisibleCells(row.cells); track cell.getId()) {\n <td [class]=\"cell.getColumnClass()\">\n <ng2-smart-table-cell\n [cell]=\"cell\"\n [grid]=\"grid\"\n [row]=\"row\"\n [isNew]=\"false\"\n [mode]=\"mode\"\n [editConfirm]=\"editConfirm\"\n [inputClass]=\"editInputClass\"\n [isInEditing]=\"row.isInEditing\"\n >\n </ng2-smart-table-cell>\n </td>\n } @if (row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @if (!row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [row]=\"row\"\n [source]=\"source\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n }\n</tr>\n} } @else {\n<tr>\n <td [attr.colspan]=\"tableColumnsCount\">\n {{ noDataMessage }}\n </td>\n</tr>\n}\n", styles: [":host .ng2-smart-row.selected{background:#0000000d}:host .ng2-smart-row .ng2-smart-actions.ng2-smart-action-multiple-select{text-align:center}:host ::ng-deep ng2-st-tbody-edit-delete a:first-child,:host ::ng-deep ng2-st-tbody-create-cancel a:first-child{margin-right:.25rem}\n"] }]
|
|
2228
2311
|
}], propDecorators: { grid: [{
|
|
2229
2312
|
type: Input
|
|
2230
2313
|
}], source: [{
|
|
@@ -2235,35 +2318,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2235
2318
|
type: Input
|
|
2236
2319
|
}], rowClassFunction: [{
|
|
2237
2320
|
type: Input
|
|
2238
|
-
}], save: [{
|
|
2239
|
-
type: Output
|
|
2240
|
-
}], cancel: [{
|
|
2241
|
-
type: Output
|
|
2242
|
-
}], edit: [{
|
|
2243
|
-
type: Output
|
|
2244
|
-
}], editCancel: [{
|
|
2245
|
-
type: Output
|
|
2246
|
-
}], delete: [{
|
|
2247
|
-
type: Output
|
|
2248
|
-
}], custom: [{
|
|
2249
|
-
type: Output
|
|
2250
|
-
}], edited: [{
|
|
2251
|
-
type: Output
|
|
2252
|
-
}], userSelectRow: [{
|
|
2253
|
-
type: Output
|
|
2254
|
-
}], userClickedRow: [{
|
|
2255
|
-
type: Output
|
|
2256
|
-
}], editRowSelect: [{
|
|
2257
|
-
type: Output
|
|
2258
|
-
}], multipleSelectRow: [{
|
|
2259
|
-
type: Output
|
|
2260
2321
|
}] } });
|
|
2261
2322
|
|
|
2262
2323
|
class FilterDefault {
|
|
2263
2324
|
constructor() {
|
|
2264
2325
|
this.inputClass = '';
|
|
2265
2326
|
this.query = '';
|
|
2266
|
-
this.filter =
|
|
2327
|
+
this.filter = output();
|
|
2267
2328
|
}
|
|
2268
2329
|
onFilter(query) {
|
|
2269
2330
|
this.source.addFilter({
|
|
@@ -2272,14 +2333,12 @@ class FilterDefault {
|
|
|
2272
2333
|
filter: this.column.getFilterFunction(),
|
|
2273
2334
|
});
|
|
2274
2335
|
}
|
|
2275
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2276
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2336
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2337
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: FilterDefault, isStandalone: true, selector: "ng-component", inputs: { column: "column", source: "source", inputClass: "inputClass", query: "query" }, outputs: { filter: "filter" }, ngImport: i0, template: '', isInline: true }); }
|
|
2277
2338
|
}
|
|
2278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2339
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterDefault, decorators: [{
|
|
2279
2340
|
type: Component,
|
|
2280
|
-
args: [{
|
|
2281
|
-
template: '',
|
|
2282
|
-
}]
|
|
2341
|
+
args: [{ template: '' }]
|
|
2283
2342
|
}], propDecorators: { column: [{
|
|
2284
2343
|
type: Input
|
|
2285
2344
|
}], source: [{
|
|
@@ -2288,8 +2347,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2288
2347
|
type: Input
|
|
2289
2348
|
}], query: [{
|
|
2290
2349
|
type: Input
|
|
2291
|
-
}]
|
|
2292
|
-
|
|
2350
|
+
}] } });
|
|
2351
|
+
|
|
2352
|
+
class CustomFilterComponent extends FilterDefault {
|
|
2353
|
+
ngOnChanges(changes) {
|
|
2354
|
+
if (this.customComponent) {
|
|
2355
|
+
if (this.customComponent.instance?.ngOnChanges) {
|
|
2356
|
+
this.customComponent.instance?.ngOnChanges(changes);
|
|
2357
|
+
}
|
|
2358
|
+
return;
|
|
2359
|
+
}
|
|
2360
|
+
if (this.column.filter && this.column.filter.type === "custom") {
|
|
2361
|
+
this.customComponent = this.dynamicTarget.createComponent(this.column.filter?.component);
|
|
2362
|
+
}
|
|
2363
|
+
// set @Inputs and @Outputs of custom component
|
|
2364
|
+
this.customComponent.instance.query = this.query;
|
|
2365
|
+
this.customComponent.instance.column = this.column;
|
|
2366
|
+
this.customComponent.instance.source = this.source;
|
|
2367
|
+
this.customComponent.instance.inputClass = this.inputClass;
|
|
2368
|
+
this.customComponent.instance.filter.subscribe((event) => this.onFilter(event));
|
|
2369
|
+
}
|
|
2370
|
+
ngOnDestroy() {
|
|
2371
|
+
if (this.customComponent) {
|
|
2372
|
+
this.customComponent.destroy();
|
|
2373
|
+
}
|
|
2374
|
+
}
|
|
2375
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2376
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: CustomFilterComponent, isStandalone: true, selector: "custom-table-filter", viewQueries: [{ propertyName: "dynamicTarget", first: true, predicate: ["dynamicTarget"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `<ng-template #dynamicTarget></ng-template>`, isInline: true }); }
|
|
2377
|
+
}
|
|
2378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomFilterComponent, decorators: [{
|
|
2379
|
+
type: Component,
|
|
2380
|
+
args: [{
|
|
2381
|
+
selector: "custom-table-filter",
|
|
2382
|
+
template: `<ng-template #dynamicTarget></ng-template>`,
|
|
2383
|
+
standalone: true,
|
|
2384
|
+
}]
|
|
2385
|
+
}], propDecorators: { dynamicTarget: [{
|
|
2386
|
+
type: ViewChild,
|
|
2387
|
+
args: ["dynamicTarget", { read: ViewContainerRef, static: true }]
|
|
2293
2388
|
}] } });
|
|
2294
2389
|
|
|
2295
2390
|
class CheckboxFilterComponent extends DefaultFilter {
|
|
@@ -2303,39 +2398,57 @@ class CheckboxFilterComponent extends DefaultFilter {
|
|
|
2303
2398
|
.pipe(debounceTime(this.delay))
|
|
2304
2399
|
.subscribe((checked) => {
|
|
2305
2400
|
this.filterActive = true;
|
|
2306
|
-
const trueVal = (this.column.getFilterConfig() &&
|
|
2307
|
-
|
|
2401
|
+
const trueVal = (this.column.getFilterConfig() &&
|
|
2402
|
+
this.column.getFilterConfig().true) ||
|
|
2403
|
+
true;
|
|
2404
|
+
const falseVal = (this.column.getFilterConfig() &&
|
|
2405
|
+
this.column.getFilterConfig().false) ||
|
|
2406
|
+
false;
|
|
2308
2407
|
this.query = checked ? trueVal : falseVal;
|
|
2309
2408
|
this.setFilter();
|
|
2310
2409
|
});
|
|
2311
2410
|
}
|
|
2312
2411
|
resetFilter(event) {
|
|
2313
2412
|
event.preventDefault();
|
|
2314
|
-
this.query =
|
|
2413
|
+
this.query = "";
|
|
2315
2414
|
this.inputControl.setValue(false, { emitEvent: false });
|
|
2316
2415
|
this.filterActive = false;
|
|
2317
2416
|
this.setFilter();
|
|
2318
2417
|
}
|
|
2319
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2320
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2321
|
-
<input
|
|
2418
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2419
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: CheckboxFilterComponent, isStandalone: true, selector: "checkbox-filter", usesInheritance: true, ngImport: i0, template: `
|
|
2420
|
+
<input
|
|
2421
|
+
type="checkbox"
|
|
2422
|
+
[formControl]="inputControl"
|
|
2423
|
+
[class]="inputClass"
|
|
2424
|
+
class="form-control"
|
|
2425
|
+
/>
|
|
2322
2426
|
@if (filterActive) {
|
|
2323
|
-
|
|
2324
|
-
|
|
2427
|
+
<a href="#" (click)="resetFilter($event)">{{
|
|
2428
|
+
column.getFilterConfig()?.resetText || "reset"
|
|
2429
|
+
}}</a>
|
|
2325
2430
|
}
|
|
2326
|
-
|
|
2431
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
2327
2432
|
}
|
|
2328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2433
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxFilterComponent, decorators: [{
|
|
2329
2434
|
type: Component,
|
|
2330
2435
|
args: [{
|
|
2331
|
-
selector:
|
|
2436
|
+
selector: "checkbox-filter",
|
|
2332
2437
|
template: `
|
|
2333
|
-
<input
|
|
2438
|
+
<input
|
|
2439
|
+
type="checkbox"
|
|
2440
|
+
[formControl]="inputControl"
|
|
2441
|
+
[class]="inputClass"
|
|
2442
|
+
class="form-control"
|
|
2443
|
+
/>
|
|
2334
2444
|
@if (filterActive) {
|
|
2335
|
-
|
|
2336
|
-
|
|
2445
|
+
<a href="#" (click)="resetFilter($event)">{{
|
|
2446
|
+
column.getFilterConfig()?.resetText || "reset"
|
|
2447
|
+
}}</a>
|
|
2337
2448
|
}
|
|
2338
|
-
|
|
2449
|
+
`,
|
|
2450
|
+
standalone: true,
|
|
2451
|
+
imports: [FormsModule, ReactiveFormsModule],
|
|
2339
2452
|
}]
|
|
2340
2453
|
}], ctorParameters: () => [] });
|
|
2341
2454
|
|
|
@@ -2356,32 +2469,36 @@ class InputFilterComponent extends DefaultFilter {
|
|
|
2356
2469
|
});
|
|
2357
2470
|
}
|
|
2358
2471
|
ngOnChanges(changes) {
|
|
2359
|
-
if (changes?.[
|
|
2472
|
+
if (changes?.["query"]) {
|
|
2360
2473
|
this.inputControl.setValue(this.query);
|
|
2361
2474
|
}
|
|
2362
2475
|
}
|
|
2363
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2364
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2476
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2477
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: InputFilterComponent, isStandalone: true, selector: "input-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
2365
2478
|
<input
|
|
2366
|
-
[
|
|
2479
|
+
[class]="inputClass"
|
|
2367
2480
|
[formControl]="inputControl"
|
|
2368
2481
|
class="form-control"
|
|
2369
2482
|
type="text"
|
|
2370
|
-
placeholder="{{ column.title }}"
|
|
2371
|
-
|
|
2483
|
+
placeholder="{{ column.title }}"
|
|
2484
|
+
/>
|
|
2485
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
2372
2486
|
}
|
|
2373
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2487
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputFilterComponent, decorators: [{
|
|
2374
2488
|
type: Component,
|
|
2375
2489
|
args: [{
|
|
2376
|
-
selector:
|
|
2490
|
+
selector: "input-filter",
|
|
2377
2491
|
template: `
|
|
2378
2492
|
<input
|
|
2379
|
-
[
|
|
2493
|
+
[class]="inputClass"
|
|
2380
2494
|
[formControl]="inputControl"
|
|
2381
2495
|
class="form-control"
|
|
2382
2496
|
type="text"
|
|
2383
|
-
placeholder="{{ column.title }}"
|
|
2497
|
+
placeholder="{{ column.title }}"
|
|
2498
|
+
/>
|
|
2384
2499
|
`,
|
|
2500
|
+
standalone: true,
|
|
2501
|
+
imports: [FormsModule, ReactiveFormsModule],
|
|
2385
2502
|
}]
|
|
2386
2503
|
}], ctorParameters: () => [] });
|
|
2387
2504
|
|
|
@@ -2396,40 +2513,42 @@ class SelectFilterComponent extends DefaultFilter {
|
|
|
2396
2513
|
.subscribe((value) => this.setFilter());
|
|
2397
2514
|
}
|
|
2398
2515
|
}
|
|
2399
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2400
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2401
|
-
<select [
|
|
2516
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2517
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: SelectFilterComponent, isStandalone: true, selector: "select-filter", viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["inputControl"], descendants: true, read: NgControl, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
2518
|
+
<select [class]="inputClass"
|
|
2402
2519
|
class="form-control"
|
|
2403
2520
|
#inputControl
|
|
2404
2521
|
[(ngModel)]="query">
|
|
2405
|
-
|
|
2522
|
+
|
|
2406
2523
|
<option value="">{{ column.getFilterConfig().selectText }}</option>
|
|
2407
|
-
@for (option of column.getFilterConfig().list; track option) {
|
|
2524
|
+
@for (option of column.getFilterConfig().list; track option.value) {
|
|
2408
2525
|
<option [value]="option.value">
|
|
2409
2526
|
{{ option.title }}
|
|
2410
2527
|
</option>
|
|
2411
2528
|
}
|
|
2412
2529
|
</select>
|
|
2413
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
2530
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
2414
2531
|
}
|
|
2415
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2532
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectFilterComponent, decorators: [{
|
|
2416
2533
|
type: Component,
|
|
2417
2534
|
args: [{
|
|
2418
2535
|
selector: 'select-filter',
|
|
2419
2536
|
template: `
|
|
2420
|
-
<select [
|
|
2537
|
+
<select [class]="inputClass"
|
|
2421
2538
|
class="form-control"
|
|
2422
2539
|
#inputControl
|
|
2423
2540
|
[(ngModel)]="query">
|
|
2424
|
-
|
|
2541
|
+
|
|
2425
2542
|
<option value="">{{ column.getFilterConfig().selectText }}</option>
|
|
2426
|
-
@for (option of column.getFilterConfig().list; track option) {
|
|
2543
|
+
@for (option of column.getFilterConfig().list; track option.value) {
|
|
2427
2544
|
<option [value]="option.value">
|
|
2428
2545
|
{{ option.title }}
|
|
2429
2546
|
</option>
|
|
2430
2547
|
}
|
|
2431
2548
|
</select>
|
|
2432
2549
|
`,
|
|
2550
|
+
standalone: true,
|
|
2551
|
+
imports: [FormsModule]
|
|
2433
2552
|
}]
|
|
2434
2553
|
}], ctorParameters: () => [], propDecorators: { inputControl: [{
|
|
2435
2554
|
type: ViewChild,
|
|
@@ -2437,111 +2556,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2437
2556
|
}] } });
|
|
2438
2557
|
|
|
2439
2558
|
class DefaultFilterComponent extends FilterDefault {
|
|
2440
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2441
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2442
|
-
@switch (column.getFilterType()) {
|
|
2443
|
-
@case ('list') {
|
|
2559
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2560
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: DefaultFilterComponent, isStandalone: true, selector: "default-table-filter", usesInheritance: true, ngImport: i0, template: `
|
|
2561
|
+
@switch (column.getFilterType()) { @case ('list') {
|
|
2444
2562
|
<select-filter
|
|
2445
2563
|
[query]="query"
|
|
2446
|
-
[
|
|
2564
|
+
[class]="inputClass"
|
|
2447
2565
|
[column]="column"
|
|
2448
|
-
(filter)="onFilter($event)"
|
|
2566
|
+
(filter)="onFilter($event)"
|
|
2567
|
+
>
|
|
2449
2568
|
</select-filter>
|
|
2450
|
-
|
|
2451
|
-
@case ('checkbox') {
|
|
2569
|
+
} @case ('checkbox') {
|
|
2452
2570
|
<checkbox-filter
|
|
2453
2571
|
[query]="query"
|
|
2454
|
-
[
|
|
2572
|
+
[class]="inputClass"
|
|
2455
2573
|
[column]="column"
|
|
2456
|
-
(filter)="onFilter($event)"
|
|
2574
|
+
(filter)="onFilter($event)"
|
|
2575
|
+
>
|
|
2457
2576
|
</checkbox-filter>
|
|
2458
|
-
|
|
2459
|
-
@default {
|
|
2577
|
+
} @default {
|
|
2460
2578
|
<input-filter
|
|
2461
2579
|
[query]="query"
|
|
2462
|
-
[
|
|
2580
|
+
[class]="inputClass"
|
|
2463
2581
|
[column]="column"
|
|
2464
|
-
(filter)="onFilter($event)"
|
|
2465
|
-
|
|
2582
|
+
(filter)="onFilter($event)"
|
|
2583
|
+
>
|
|
2584
|
+
</input-filter>
|
|
2585
|
+
} }
|
|
2586
|
+
`, isInline: true, dependencies: [{ kind: "component", type: SelectFilterComponent, selector: "select-filter" }, { kind: "component", type: CheckboxFilterComponent, selector: "checkbox-filter" }, { kind: "component", type: InputFilterComponent, selector: "input-filter" }] }); }
|
|
2466
2587
|
}
|
|
2467
|
-
|
|
2468
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CheckboxFilterComponent, selector: "checkbox-filter" }, { kind: "component", type: InputFilterComponent, selector: "input-filter" }, { kind: "component", type: SelectFilterComponent, selector: "select-filter" }] }); }
|
|
2469
|
-
}
|
|
2470
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultFilterComponent, decorators: [{
|
|
2588
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultFilterComponent, decorators: [{
|
|
2471
2589
|
type: Component,
|
|
2472
2590
|
args: [{
|
|
2473
|
-
selector:
|
|
2591
|
+
selector: "default-table-filter",
|
|
2474
2592
|
template: `
|
|
2475
|
-
@switch (column.getFilterType()) {
|
|
2476
|
-
@case ('list') {
|
|
2593
|
+
@switch (column.getFilterType()) { @case ('list') {
|
|
2477
2594
|
<select-filter
|
|
2478
2595
|
[query]="query"
|
|
2479
|
-
[
|
|
2596
|
+
[class]="inputClass"
|
|
2480
2597
|
[column]="column"
|
|
2481
|
-
(filter)="onFilter($event)"
|
|
2598
|
+
(filter)="onFilter($event)"
|
|
2599
|
+
>
|
|
2482
2600
|
</select-filter>
|
|
2483
|
-
|
|
2484
|
-
@case ('checkbox') {
|
|
2601
|
+
} @case ('checkbox') {
|
|
2485
2602
|
<checkbox-filter
|
|
2486
2603
|
[query]="query"
|
|
2487
|
-
[
|
|
2604
|
+
[class]="inputClass"
|
|
2488
2605
|
[column]="column"
|
|
2489
|
-
(filter)="onFilter($event)"
|
|
2606
|
+
(filter)="onFilter($event)"
|
|
2607
|
+
>
|
|
2490
2608
|
</checkbox-filter>
|
|
2491
|
-
|
|
2492
|
-
@default {
|
|
2609
|
+
} @default {
|
|
2493
2610
|
<input-filter
|
|
2494
2611
|
[query]="query"
|
|
2495
|
-
[
|
|
2612
|
+
[class]="inputClass"
|
|
2496
2613
|
[column]="column"
|
|
2497
|
-
(filter)="onFilter($event)"
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
}
|
|
2501
|
-
`,
|
|
2614
|
+
(filter)="onFilter($event)"
|
|
2615
|
+
>
|
|
2616
|
+
</input-filter>
|
|
2617
|
+
} }
|
|
2618
|
+
`,
|
|
2619
|
+
standalone: true,
|
|
2620
|
+
imports: [
|
|
2621
|
+
SelectFilterComponent,
|
|
2622
|
+
CheckboxFilterComponent,
|
|
2623
|
+
InputFilterComponent,
|
|
2624
|
+
],
|
|
2502
2625
|
}]
|
|
2503
2626
|
}] });
|
|
2504
2627
|
|
|
2505
|
-
class CustomFilterComponent extends FilterDefault {
|
|
2506
|
-
constructor(resolver) {
|
|
2507
|
-
super();
|
|
2508
|
-
this.resolver = resolver;
|
|
2509
|
-
}
|
|
2510
|
-
ngOnChanges(changes) {
|
|
2511
|
-
if (this.customComponent) {
|
|
2512
|
-
this.customComponent.instance.ngOnChanges(changes);
|
|
2513
|
-
return;
|
|
2514
|
-
}
|
|
2515
|
-
if (this.column.filter && this.column.filter.type === 'custom') {
|
|
2516
|
-
const componentFactory = this.resolver.resolveComponentFactory(this.column.filter?.component);
|
|
2517
|
-
this.customComponent = this.dynamicTarget.createComponent(componentFactory);
|
|
2518
|
-
}
|
|
2519
|
-
// set @Inputs and @Outputs of custom component
|
|
2520
|
-
this.customComponent.instance.query = this.query;
|
|
2521
|
-
this.customComponent.instance.column = this.column;
|
|
2522
|
-
this.customComponent.instance.source = this.source;
|
|
2523
|
-
this.customComponent.instance.inputClass = this.inputClass;
|
|
2524
|
-
this.customComponent.instance.filter.subscribe((event) => this.onFilter(event));
|
|
2525
|
-
}
|
|
2526
|
-
ngOnDestroy() {
|
|
2527
|
-
if (this.customComponent) {
|
|
2528
|
-
this.customComponent.destroy();
|
|
2529
|
-
}
|
|
2530
|
-
}
|
|
2531
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomFilterComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2532
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomFilterComponent, selector: "custom-table-filter", viewQueries: [{ propertyName: "dynamicTarget", first: true, predicate: ["dynamicTarget"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `<ng-template #dynamicTarget></ng-template>`, isInline: true }); }
|
|
2533
|
-
}
|
|
2534
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomFilterComponent, decorators: [{
|
|
2535
|
-
type: Component,
|
|
2536
|
-
args: [{
|
|
2537
|
-
selector: 'custom-table-filter',
|
|
2538
|
-
template: `<ng-template #dynamicTarget></ng-template>`,
|
|
2539
|
-
}]
|
|
2540
|
-
}], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { dynamicTarget: [{
|
|
2541
|
-
type: ViewChild,
|
|
2542
|
-
args: ['dynamicTarget', { read: ViewContainerRef, static: true }]
|
|
2543
|
-
}] } });
|
|
2544
|
-
|
|
2545
2628
|
class FilterComponent extends FilterDefault {
|
|
2546
2629
|
ngOnChanges(changes) {
|
|
2547
2630
|
if (changes['source']) {
|
|
@@ -2565,8 +2648,8 @@ class FilterComponent extends FilterDefault {
|
|
|
2565
2648
|
});
|
|
2566
2649
|
}
|
|
2567
2650
|
}
|
|
2568
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2569
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2651
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2652
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: FilterComponent, isStandalone: true, selector: "ng2-smart-table-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
2570
2653
|
@if (column.isFilterable) {
|
|
2571
2654
|
<div class="ng2-smart-filter">
|
|
2572
2655
|
@switch (column.getFilterType()) {
|
|
@@ -2591,9 +2674,9 @@ class FilterComponent extends FilterDefault {
|
|
|
2591
2674
|
}
|
|
2592
2675
|
</div>
|
|
2593
2676
|
}
|
|
2594
|
-
`, isInline: true, styles: [":host .ng2-smart-filter ::ng-deep input,:host .ng2-smart-filter ::ng-deep select{width:100%;line-height:normal;padding:.375em .75em;font-weight:400}:host .ng2-smart-filter ::ng-deep input[type=search]{box-sizing:inherit}:host .ng2-smart-filter ::ng-deep .completer-dropdown-holder{font-weight:400}:host .ng2-smart-filter ::ng-deep a{font-weight:400}\n"], dependencies: [{ kind: "component", type:
|
|
2677
|
+
`, isInline: true, styles: [":host .ng2-smart-filter ::ng-deep input,:host .ng2-smart-filter ::ng-deep select{width:100%;line-height:normal;padding:.375em .75em;font-weight:400}:host .ng2-smart-filter ::ng-deep input[type=search]{box-sizing:inherit}:host .ng2-smart-filter ::ng-deep .completer-dropdown-holder{font-weight:400}:host .ng2-smart-filter ::ng-deep a{font-weight:400}\n"], dependencies: [{ kind: "component", type: CustomFilterComponent, selector: "custom-table-filter" }, { kind: "component", type: DefaultFilterComponent, selector: "default-table-filter" }] }); }
|
|
2595
2678
|
}
|
|
2596
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2679
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterComponent, decorators: [{
|
|
2597
2680
|
type: Component,
|
|
2598
2681
|
args: [{ selector: 'ng2-smart-table-filter', template: `
|
|
2599
2682
|
@if (column.isFilterable) {
|
|
@@ -2620,27 +2703,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2620
2703
|
}
|
|
2621
2704
|
</div>
|
|
2622
2705
|
}
|
|
2623
|
-
`, styles: [":host .ng2-smart-filter ::ng-deep input,:host .ng2-smart-filter ::ng-deep select{width:100%;line-height:normal;padding:.375em .75em;font-weight:400}:host .ng2-smart-filter ::ng-deep input[type=search]{box-sizing:inherit}:host .ng2-smart-filter ::ng-deep .completer-dropdown-holder{font-weight:400}:host .ng2-smart-filter ::ng-deep a{font-weight:400}\n"] }]
|
|
2706
|
+
`, standalone: true, imports: [CustomFilterComponent, DefaultFilterComponent], styles: [":host .ng2-smart-filter ::ng-deep input,:host .ng2-smart-filter ::ng-deep select{width:100%;line-height:normal;padding:.375em .75em;font-weight:400}:host .ng2-smart-filter ::ng-deep input[type=search]{box-sizing:inherit}:host .ng2-smart-filter ::ng-deep .completer-dropdown-holder{font-weight:400}:host .ng2-smart-filter ::ng-deep a{font-weight:400}\n"] }]
|
|
2624
2707
|
}] });
|
|
2625
2708
|
|
|
2626
2709
|
class AddButtonComponent {
|
|
2627
|
-
constructor(
|
|
2628
|
-
this.ref =
|
|
2629
|
-
this.create =
|
|
2710
|
+
constructor() {
|
|
2711
|
+
this.ref = inject(ElementRef);
|
|
2712
|
+
this.create = output();
|
|
2630
2713
|
this.isActionAdd = false;
|
|
2631
|
-
this.addNewButtonContent =
|
|
2714
|
+
this.addNewButtonContent = "";
|
|
2632
2715
|
}
|
|
2633
2716
|
ngAfterViewInit() {
|
|
2634
|
-
this.ref.nativeElement.classList.add(
|
|
2717
|
+
this.ref.nativeElement.classList.add("ng2-smart-actions-title", "ng2-smart-actions-title-add");
|
|
2635
2718
|
}
|
|
2636
2719
|
ngOnChanges() {
|
|
2637
|
-
this.isActionAdd = this.grid.getSetting(
|
|
2638
|
-
this.addNewButtonContent = this.grid.getSetting(
|
|
2720
|
+
this.isActionAdd = this.grid.getSetting("actions.add");
|
|
2721
|
+
this.addNewButtonContent = this.grid.getSetting("add.addButtonContent");
|
|
2639
2722
|
}
|
|
2640
2723
|
onAdd(event) {
|
|
2641
2724
|
event.preventDefault();
|
|
2642
2725
|
event.stopPropagation();
|
|
2643
|
-
if (this.grid.getSetting(
|
|
2726
|
+
if (this.grid.getSetting("mode") === "external") {
|
|
2644
2727
|
this.create.emit({
|
|
2645
2728
|
source: this.source,
|
|
2646
2729
|
});
|
|
@@ -2649,37 +2732,44 @@ class AddButtonComponent {
|
|
|
2649
2732
|
this.grid.createFormShown = true;
|
|
2650
2733
|
}
|
|
2651
2734
|
}
|
|
2652
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2653
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2735
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AddButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2736
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AddButtonComponent, isStandalone: true, selector: "[ng2-st-add-button]", inputs: { grid: "grid", source: "source" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
|
|
2654
2737
|
@if (isActionAdd) {
|
|
2655
|
-
|
|
2656
|
-
|
|
2738
|
+
<a
|
|
2739
|
+
href="#"
|
|
2740
|
+
class="ng2-smart-action ng2-smart-action-add-add"
|
|
2741
|
+
[innerHTML]="addNewButtonContent"
|
|
2742
|
+
(click)="onAdd($event)"
|
|
2743
|
+
></a>
|
|
2657
2744
|
}
|
|
2658
|
-
|
|
2745
|
+
`, isInline: true }); }
|
|
2659
2746
|
}
|
|
2660
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2747
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AddButtonComponent, decorators: [{
|
|
2661
2748
|
type: Component,
|
|
2662
2749
|
args: [{
|
|
2663
|
-
selector:
|
|
2750
|
+
selector: "[ng2-st-add-button]",
|
|
2664
2751
|
template: `
|
|
2665
2752
|
@if (isActionAdd) {
|
|
2666
|
-
|
|
2667
|
-
|
|
2753
|
+
<a
|
|
2754
|
+
href="#"
|
|
2755
|
+
class="ng2-smart-action ng2-smart-action-add-add"
|
|
2756
|
+
[innerHTML]="addNewButtonContent"
|
|
2757
|
+
(click)="onAdd($event)"
|
|
2758
|
+
></a>
|
|
2668
2759
|
}
|
|
2669
|
-
|
|
2760
|
+
`,
|
|
2761
|
+
standalone: true,
|
|
2670
2762
|
}]
|
|
2671
|
-
}],
|
|
2763
|
+
}], propDecorators: { grid: [{
|
|
2672
2764
|
type: Input
|
|
2673
2765
|
}], source: [{
|
|
2674
2766
|
type: Input
|
|
2675
|
-
}], create: [{
|
|
2676
|
-
type: Output
|
|
2677
2767
|
}] } });
|
|
2678
2768
|
|
|
2679
2769
|
class TheadFitlersRowComponent {
|
|
2680
2770
|
constructor() {
|
|
2681
|
-
this.create =
|
|
2682
|
-
this.filter =
|
|
2771
|
+
this.create = output();
|
|
2772
|
+
this.filter = output();
|
|
2683
2773
|
this.isMultiSelectVisible = false;
|
|
2684
2774
|
this.showActionColumnLeft = false;
|
|
2685
2775
|
this.showActionColumnRight = false;
|
|
@@ -2694,8 +2784,8 @@ class TheadFitlersRowComponent {
|
|
|
2694
2784
|
getVisibleColumns(columns) {
|
|
2695
2785
|
return (columns || []).filter((column) => !column.hide);
|
|
2696
2786
|
}
|
|
2697
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2698
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2787
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFitlersRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2788
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TheadFitlersRowComponent, isStandalone: true, selector: "[ng2-st-thead-filters-row]", inputs: { grid: "grid", source: "source" }, outputs: { create: "create", filter: "filter" }, usesOnChanges: true, ngImport: i0, template: `
|
|
2699
2789
|
@if (isMultiSelectVisible) {
|
|
2700
2790
|
<th></th>
|
|
2701
2791
|
} @if (showActionColumnLeft) {
|
|
@@ -2718,9 +2808,9 @@ class TheadFitlersRowComponent {
|
|
|
2718
2808
|
(create)="create.emit($event)"
|
|
2719
2809
|
></th>
|
|
2720
2810
|
}
|
|
2721
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
2811
|
+
`, isInline: true, dependencies: [{ kind: "component", type: AddButtonComponent, selector: "[ng2-st-add-button]", inputs: ["grid", "source"], outputs: ["create"] }, { kind: "component", type: FilterComponent, selector: "ng2-smart-table-filter" }] }); }
|
|
2722
2812
|
}
|
|
2723
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2813
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFitlersRowComponent, decorators: [{
|
|
2724
2814
|
type: Component,
|
|
2725
2815
|
args: [{
|
|
2726
2816
|
selector: "[ng2-st-thead-filters-row]",
|
|
@@ -2748,59 +2838,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2748
2838
|
></th>
|
|
2749
2839
|
}
|
|
2750
2840
|
`,
|
|
2841
|
+
standalone: true,
|
|
2842
|
+
imports: [AddButtonComponent, FilterComponent],
|
|
2751
2843
|
}]
|
|
2752
2844
|
}], propDecorators: { grid: [{
|
|
2753
2845
|
type: Input
|
|
2754
2846
|
}], source: [{
|
|
2755
2847
|
type: Input
|
|
2756
|
-
}], create: [{
|
|
2757
|
-
type: Output
|
|
2758
|
-
}], filter: [{
|
|
2759
|
-
type: Output
|
|
2760
2848
|
}] } });
|
|
2761
2849
|
|
|
2762
2850
|
class ActionsComponent {
|
|
2763
2851
|
constructor() {
|
|
2764
|
-
this.create =
|
|
2765
|
-
this.createButtonContent =
|
|
2766
|
-
this.cancelButtonContent =
|
|
2852
|
+
this.create = output();
|
|
2853
|
+
this.createButtonContent = "";
|
|
2854
|
+
this.cancelButtonContent = "";
|
|
2767
2855
|
}
|
|
2768
2856
|
ngOnChanges() {
|
|
2769
|
-
this.createButtonContent = this.grid.getSetting(
|
|
2770
|
-
this.cancelButtonContent = this.grid.getSetting(
|
|
2771
|
-
}
|
|
2772
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2773
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2774
|
-
<a
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2857
|
+
this.createButtonContent = this.grid.getSetting("add.createButtonContent");
|
|
2858
|
+
this.cancelButtonContent = this.grid.getSetting("add.cancelButtonContent");
|
|
2859
|
+
}
|
|
2860
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2861
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ActionsComponent, isStandalone: true, selector: "ng2-st-actions", inputs: { grid: "grid" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
|
|
2862
|
+
<a
|
|
2863
|
+
href="#"
|
|
2864
|
+
class="ng2-smart-action ng2-smart-action-add-create"
|
|
2865
|
+
[innerHTML]="createButtonContent"
|
|
2866
|
+
(click)="$event.preventDefault(); create.emit($event)"
|
|
2867
|
+
></a>
|
|
2868
|
+
<a
|
|
2869
|
+
href="#"
|
|
2870
|
+
class="ng2-smart-action ng2-smart-action-add-cancel"
|
|
2871
|
+
[innerHTML]="cancelButtonContent"
|
|
2872
|
+
(click)="$event.preventDefault(); grid.createFormShown = false"
|
|
2873
|
+
></a>
|
|
2780
2874
|
`, isInline: true }); }
|
|
2781
2875
|
}
|
|
2782
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2876
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsComponent, decorators: [{
|
|
2783
2877
|
type: Component,
|
|
2784
2878
|
args: [{
|
|
2785
|
-
selector:
|
|
2879
|
+
selector: "ng2-st-actions",
|
|
2786
2880
|
template: `
|
|
2787
|
-
<a
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2881
|
+
<a
|
|
2882
|
+
href="#"
|
|
2883
|
+
class="ng2-smart-action ng2-smart-action-add-create"
|
|
2884
|
+
[innerHTML]="createButtonContent"
|
|
2885
|
+
(click)="$event.preventDefault(); create.emit($event)"
|
|
2886
|
+
></a>
|
|
2887
|
+
<a
|
|
2888
|
+
href="#"
|
|
2889
|
+
class="ng2-smart-action ng2-smart-action-add-cancel"
|
|
2890
|
+
[innerHTML]="cancelButtonContent"
|
|
2891
|
+
(click)="$event.preventDefault(); grid.createFormShown = false"
|
|
2892
|
+
></a>
|
|
2793
2893
|
`,
|
|
2894
|
+
standalone: true,
|
|
2794
2895
|
}]
|
|
2795
2896
|
}], propDecorators: { grid: [{
|
|
2796
2897
|
type: Input
|
|
2797
|
-
}], create: [{
|
|
2798
|
-
type: Output
|
|
2799
2898
|
}] } });
|
|
2800
2899
|
|
|
2801
2900
|
class TheadFormRowComponent {
|
|
2802
2901
|
constructor() {
|
|
2803
|
-
this.create =
|
|
2902
|
+
this.create = output();
|
|
2804
2903
|
this.isMultiSelectVisible = false;
|
|
2805
2904
|
this.showActionColumnLeft = false;
|
|
2806
2905
|
this.showActionColumnRight = false;
|
|
@@ -2819,8 +2918,8 @@ class TheadFormRowComponent {
|
|
|
2819
2918
|
getVisibleCells(cells) {
|
|
2820
2919
|
return (cells || []).filter((cell) => !cell.getColumn().hide);
|
|
2821
2920
|
}
|
|
2822
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2823
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2921
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFormRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2922
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TheadFormRowComponent, isStandalone: true, selector: "[ng2-st-thead-form-row]", inputs: { grid: "grid", row: "row", createConfirm: "createConfirm" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
|
|
2824
2923
|
@if (grid.isMultiSelectVisible()) {
|
|
2825
2924
|
<td></td>
|
|
2826
2925
|
} @if (showActionColumnLeft) {
|
|
@@ -2830,7 +2929,8 @@ class TheadFormRowComponent {
|
|
|
2830
2929
|
(create)="onCreate($event)"
|
|
2831
2930
|
></ng2-st-actions>
|
|
2832
2931
|
</td>
|
|
2833
|
-
} @for (cell of getVisibleCells(grid.getNewRow().getCells()); track
|
|
2932
|
+
} @for (cell of getVisibleCells(grid.getNewRow().getCells()); track
|
|
2933
|
+
cell.getId()) {
|
|
2834
2934
|
<td>
|
|
2835
2935
|
<ng2-smart-table-cell
|
|
2836
2936
|
[cell]="cell"
|
|
@@ -2851,9 +2951,9 @@ class TheadFormRowComponent {
|
|
|
2851
2951
|
></ng2-st-actions>
|
|
2852
2952
|
</td>
|
|
2853
2953
|
}
|
|
2854
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
2954
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ActionsComponent, selector: "ng2-st-actions", inputs: ["grid"], outputs: ["create"] }, { kind: "component", type: CellComponent, selector: "ng2-smart-table-cell", inputs: ["grid", "row", "editConfirm", "createConfirm", "isNew", "cell", "inputClass", "mode", "isInEditing"], outputs: ["edited"] }] }); }
|
|
2855
2955
|
}
|
|
2856
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2956
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFormRowComponent, decorators: [{
|
|
2857
2957
|
type: Component,
|
|
2858
2958
|
args: [{
|
|
2859
2959
|
selector: "[ng2-st-thead-form-row]",
|
|
@@ -2867,7 +2967,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2867
2967
|
(create)="onCreate($event)"
|
|
2868
2968
|
></ng2-st-actions>
|
|
2869
2969
|
</td>
|
|
2870
|
-
} @for (cell of getVisibleCells(grid.getNewRow().getCells()); track
|
|
2970
|
+
} @for (cell of getVisibleCells(grid.getNewRow().getCells()); track
|
|
2971
|
+
cell.getId()) {
|
|
2871
2972
|
<td>
|
|
2872
2973
|
<ng2-smart-table-cell
|
|
2873
2974
|
[cell]="cell"
|
|
@@ -2889,6 +2990,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2889
2990
|
</td>
|
|
2890
2991
|
}
|
|
2891
2992
|
`,
|
|
2993
|
+
standalone: true,
|
|
2994
|
+
imports: [ActionsComponent, CellComponent],
|
|
2892
2995
|
}]
|
|
2893
2996
|
}], propDecorators: { grid: [{
|
|
2894
2997
|
type: Input
|
|
@@ -2896,51 +2999,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2896
2999
|
type: Input
|
|
2897
3000
|
}], createConfirm: [{
|
|
2898
3001
|
type: Input
|
|
2899
|
-
}], create: [{
|
|
2900
|
-
type: Output
|
|
2901
3002
|
}] } });
|
|
2902
3003
|
|
|
2903
3004
|
class ActionsTitleComponent {
|
|
2904
|
-
constructor(
|
|
2905
|
-
this.ref =
|
|
2906
|
-
this.actionsColumnTitle =
|
|
3005
|
+
constructor() {
|
|
3006
|
+
this.ref = inject(ElementRef);
|
|
3007
|
+
this.actionsColumnTitle = "";
|
|
2907
3008
|
}
|
|
2908
3009
|
ngAfterViewInit() {
|
|
2909
|
-
this.ref.nativeElement.classList.add(
|
|
3010
|
+
this.ref.nativeElement.classList.add("ng2-smart-actions");
|
|
2910
3011
|
}
|
|
2911
3012
|
ngOnChanges() {
|
|
2912
|
-
this.actionsColumnTitle = this.grid.getSetting(
|
|
3013
|
+
this.actionsColumnTitle = this.grid.getSetting("actions.columnTitle");
|
|
2913
3014
|
}
|
|
2914
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2915
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2916
|
-
<div class="ng2-smart-title">{{ actionsColumnTitle }}</div>
|
|
2917
|
-
`, isInline: true }); }
|
|
3015
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3016
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ActionsTitleComponent, isStandalone: true, selector: "[ng2-st-actions-title]", inputs: { grid: "grid" }, usesOnChanges: true, ngImport: i0, template: ` <div class="ng2-smart-title">{{ actionsColumnTitle }}</div> `, isInline: true }); }
|
|
2918
3017
|
}
|
|
2919
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3018
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsTitleComponent, decorators: [{
|
|
2920
3019
|
type: Component,
|
|
2921
3020
|
args: [{
|
|
2922
|
-
selector:
|
|
2923
|
-
template: `
|
|
2924
|
-
|
|
2925
|
-
`,
|
|
3021
|
+
selector: "[ng2-st-actions-title]",
|
|
3022
|
+
template: ` <div class="ng2-smart-title">{{ actionsColumnTitle }}</div> `,
|
|
3023
|
+
standalone: true,
|
|
2926
3024
|
}]
|
|
2927
|
-
}],
|
|
3025
|
+
}], propDecorators: { grid: [{
|
|
2928
3026
|
type: Input
|
|
2929
3027
|
}] } });
|
|
2930
3028
|
|
|
2931
3029
|
class CheckboxSelectAllComponent {
|
|
2932
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2933
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2934
|
-
<input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected"
|
|
2935
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
3030
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxSelectAllComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3031
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: CheckboxSelectAllComponent, isStandalone: true, selector: "[ng2-st-checkbox-select-all]", inputs: { grid: "grid", source: "source" }, ngImport: i0, template: `
|
|
3032
|
+
<input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected" />
|
|
3033
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
2936
3034
|
}
|
|
2937
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3035
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxSelectAllComponent, decorators: [{
|
|
2938
3036
|
type: Component,
|
|
2939
3037
|
args: [{
|
|
2940
|
-
selector:
|
|
3038
|
+
selector: "[ng2-st-checkbox-select-all]",
|
|
2941
3039
|
template: `
|
|
2942
|
-
<input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected"
|
|
3040
|
+
<input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected" />
|
|
2943
3041
|
`,
|
|
3042
|
+
standalone: true,
|
|
3043
|
+
imports: [FormsModule],
|
|
2944
3044
|
}]
|
|
2945
3045
|
}], propDecorators: { grid: [{
|
|
2946
3046
|
type: Input
|
|
@@ -2950,22 +3050,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2950
3050
|
|
|
2951
3051
|
class TitleComponent {
|
|
2952
3052
|
constructor() {
|
|
2953
|
-
this.currentDirection =
|
|
2954
|
-
this.sort =
|
|
3053
|
+
this.currentDirection = "";
|
|
3054
|
+
this.sort = output();
|
|
2955
3055
|
this.dataChangedSub = false;
|
|
2956
3056
|
}
|
|
2957
3057
|
ngOnChanges(changes) {
|
|
2958
|
-
if (changes[
|
|
2959
|
-
if (!changes[
|
|
3058
|
+
if (changes["source"]) {
|
|
3059
|
+
if (!changes["source"].firstChange && this.dataChangedSub) {
|
|
2960
3060
|
this.dataChangedSub.unsubscribe();
|
|
2961
3061
|
}
|
|
2962
3062
|
this.dataChangedSub = this.source.onChanged().subscribe((dataChanges) => {
|
|
2963
3063
|
const sortConf = this.source.getSort();
|
|
2964
|
-
if (sortConf.length > 0 && sortConf[0][
|
|
2965
|
-
this.currentDirection = sortConf[0][
|
|
3064
|
+
if (sortConf.length > 0 && sortConf[0]["field"] === this.column.id) {
|
|
3065
|
+
this.currentDirection = sortConf[0]["direction"];
|
|
2966
3066
|
}
|
|
2967
3067
|
else {
|
|
2968
|
-
this.currentDirection =
|
|
3068
|
+
this.currentDirection = "";
|
|
2969
3069
|
}
|
|
2970
3070
|
});
|
|
2971
3071
|
}
|
|
@@ -2976,7 +3076,7 @@ class TitleComponent {
|
|
|
2976
3076
|
this.source.setSort([
|
|
2977
3077
|
{
|
|
2978
3078
|
field: this.column.id,
|
|
2979
|
-
direction: this.currentDirection ===
|
|
3079
|
+
direction: this.currentDirection === "desc" ? "desc" : "asc",
|
|
2980
3080
|
compare: this.column.getCompareFunction(),
|
|
2981
3081
|
},
|
|
2982
3082
|
]);
|
|
@@ -2984,7 +3084,7 @@ class TitleComponent {
|
|
|
2984
3084
|
}
|
|
2985
3085
|
changeSortDirection() {
|
|
2986
3086
|
if (this.currentDirection) {
|
|
2987
|
-
const newDirection = this.currentDirection ===
|
|
3087
|
+
const newDirection = this.currentDirection === "asc" ? "desc" : "asc";
|
|
2988
3088
|
this.currentDirection = newDirection;
|
|
2989
3089
|
}
|
|
2990
3090
|
else {
|
|
@@ -2992,158 +3092,174 @@ class TitleComponent {
|
|
|
2992
3092
|
}
|
|
2993
3093
|
return this.currentDirection;
|
|
2994
3094
|
}
|
|
2995
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2996
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3095
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3096
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TitleComponent, isStandalone: true, selector: "ng2-smart-table-title", inputs: { column: "column", source: "source" }, outputs: { sort: "sort" }, usesOnChanges: true, ngImport: i0, template: `
|
|
2997
3097
|
@if (column.isSortable) {
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3098
|
+
<a
|
|
3099
|
+
href="#"
|
|
3100
|
+
(click)="_sort($event)"
|
|
3101
|
+
class="ng2-smart-sort-link sort"
|
|
3102
|
+
[class]="currentDirection"
|
|
3103
|
+
>
|
|
3104
|
+
{{ column.title }}
|
|
3105
|
+
</a>
|
|
3106
|
+
} @else {
|
|
3107
|
+
<span class="ng2-smart-sort">{{ column.title }}</span>
|
|
3007
3108
|
}
|
|
3008
|
-
|
|
3109
|
+
`, isInline: true, styles: ["a.sort.asc,a.sort.desc{font-weight:700}a.sort.asc:after,a.sort.desc:after{content:\"\";display:inline-block;width:0;height:0;border-bottom:4px solid rgba(0,0,0,.3);border-top:4px solid transparent;border-left:4px solid transparent;border-right:4px solid transparent;margin-bottom:2px}a.sort.desc:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);margin-bottom:-2px}\n"] }); }
|
|
3009
3110
|
}
|
|
3010
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TitleComponent, decorators: [{
|
|
3011
3112
|
type: Component,
|
|
3012
|
-
args: [{ selector:
|
|
3113
|
+
args: [{ selector: "ng2-smart-table-title", template: `
|
|
3013
3114
|
@if (column.isSortable) {
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3115
|
+
<a
|
|
3116
|
+
href="#"
|
|
3117
|
+
(click)="_sort($event)"
|
|
3118
|
+
class="ng2-smart-sort-link sort"
|
|
3119
|
+
[class]="currentDirection"
|
|
3120
|
+
>
|
|
3121
|
+
{{ column.title }}
|
|
3122
|
+
</a>
|
|
3123
|
+
} @else {
|
|
3124
|
+
<span class="ng2-smart-sort">{{ column.title }}</span>
|
|
3023
3125
|
}
|
|
3024
|
-
|
|
3126
|
+
`, standalone: true, styles: ["a.sort.asc,a.sort.desc{font-weight:700}a.sort.asc:after,a.sort.desc:after{content:\"\";display:inline-block;width:0;height:0;border-bottom:4px solid rgba(0,0,0,.3);border-top:4px solid transparent;border-left:4px solid transparent;border-right:4px solid transparent;margin-bottom:2px}a.sort.desc:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);margin-bottom:-2px}\n"] }]
|
|
3025
3127
|
}], propDecorators: { column: [{
|
|
3026
3128
|
type: Input
|
|
3027
3129
|
}], source: [{
|
|
3028
3130
|
type: Input
|
|
3029
|
-
}], sort: [{
|
|
3030
|
-
type: Output
|
|
3031
3131
|
}] } });
|
|
3032
3132
|
|
|
3033
3133
|
class ColumnTitleComponent {
|
|
3034
3134
|
constructor() {
|
|
3035
|
-
this.sort =
|
|
3135
|
+
this.sort = output();
|
|
3036
3136
|
}
|
|
3037
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3038
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
3137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ColumnTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ColumnTitleComponent, isStandalone: true, selector: "ng2-st-column-title", inputs: { column: "column", source: "source" }, outputs: { sort: "sort" }, ngImport: i0, template: `
|
|
3039
3139
|
<div class="ng2-smart-title">
|
|
3040
|
-
<ng2-smart-table-title
|
|
3140
|
+
<ng2-smart-table-title
|
|
3141
|
+
[source]="source"
|
|
3142
|
+
[column]="column"
|
|
3143
|
+
(sort)="sort.emit($event)"
|
|
3144
|
+
></ng2-smart-table-title>
|
|
3041
3145
|
</div>
|
|
3042
3146
|
`, isInline: true, dependencies: [{ kind: "component", type: TitleComponent, selector: "ng2-smart-table-title", inputs: ["column", "source"], outputs: ["sort"] }] }); }
|
|
3043
3147
|
}
|
|
3044
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ColumnTitleComponent, decorators: [{
|
|
3045
3149
|
type: Component,
|
|
3046
3150
|
args: [{
|
|
3047
|
-
selector:
|
|
3151
|
+
selector: "ng2-st-column-title",
|
|
3048
3152
|
template: `
|
|
3049
3153
|
<div class="ng2-smart-title">
|
|
3050
|
-
<ng2-smart-table-title
|
|
3154
|
+
<ng2-smart-table-title
|
|
3155
|
+
[source]="source"
|
|
3156
|
+
[column]="column"
|
|
3157
|
+
(sort)="sort.emit($event)"
|
|
3158
|
+
></ng2-smart-table-title>
|
|
3051
3159
|
</div>
|
|
3052
3160
|
`,
|
|
3161
|
+
standalone: true,
|
|
3162
|
+
imports: [TitleComponent],
|
|
3053
3163
|
}]
|
|
3054
3164
|
}], propDecorators: { column: [{
|
|
3055
3165
|
type: Input
|
|
3056
3166
|
}], source: [{
|
|
3057
3167
|
type: Input
|
|
3058
|
-
}], sort: [{
|
|
3059
|
-
type: Output
|
|
3060
3168
|
}] } });
|
|
3061
3169
|
|
|
3062
3170
|
class TheadTitlesRowComponent {
|
|
3063
3171
|
constructor() {
|
|
3064
|
-
this.sort =
|
|
3065
|
-
this.selectAllRows =
|
|
3172
|
+
this.sort = output();
|
|
3173
|
+
this.selectAllRows = output();
|
|
3066
3174
|
this.isMultiSelectVisible = false;
|
|
3067
3175
|
this.showActionColumnLeft = false;
|
|
3068
3176
|
this.showActionColumnRight = false;
|
|
3069
3177
|
}
|
|
3070
3178
|
ngOnChanges() {
|
|
3071
3179
|
this.isMultiSelectVisible = this.grid.isMultiSelectVisible();
|
|
3072
|
-
this.showActionColumnLeft = this.grid.showActionColumn(
|
|
3073
|
-
this.showActionColumnRight = this.grid.showActionColumn(
|
|
3180
|
+
this.showActionColumnLeft = this.grid.showActionColumn("left");
|
|
3181
|
+
this.showActionColumnRight = this.grid.showActionColumn("right");
|
|
3074
3182
|
}
|
|
3075
3183
|
getVisibleColumns(columns) {
|
|
3076
3184
|
return (columns || []).filter((column) => !column.hide);
|
|
3077
3185
|
}
|
|
3078
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3079
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3186
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadTitlesRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3187
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TheadTitlesRowComponent, isStandalone: true, selector: "[ng2-st-thead-titles-row]", inputs: { grid: "grid", source: "source" }, outputs: { sort: "sort", selectAllRows: "selectAllRows" }, usesOnChanges: true, ngImport: i0, template: `
|
|
3080
3188
|
@if (isMultiSelectVisible) {
|
|
3081
|
-
|
|
3082
|
-
|
|
3189
|
+
<th
|
|
3190
|
+
ng2-st-checkbox-select-all
|
|
3191
|
+
[grid]="grid"
|
|
3192
|
+
[source]="source"
|
|
3193
|
+
(click)="selectAllRows.emit($event)"
|
|
3194
|
+
></th>
|
|
3195
|
+
} @if (showActionColumnLeft) {
|
|
3196
|
+
<th ng2-st-actions-title [grid]="grid"></th>
|
|
3197
|
+
} @for (column of getVisibleColumns(grid.getColumns()); track column.id) {
|
|
3198
|
+
<th
|
|
3199
|
+
class="ng2-smart-th {{ column.id }}"
|
|
3200
|
+
[class]="column.class"
|
|
3201
|
+
[style.width]="column.width"
|
|
3202
|
+
>
|
|
3203
|
+
<ng2-st-column-title
|
|
3083
3204
|
[source]="source"
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
@for (column of getVisibleColumns(grid.getColumns()); track column.id) {
|
|
3091
|
-
<th
|
|
3092
|
-
class="ng2-smart-th {{ column.id }}"
|
|
3093
|
-
[ngClass]="column.class"
|
|
3094
|
-
[style.width]="column.width">
|
|
3095
|
-
<ng2-st-column-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-st-column-title>
|
|
3096
|
-
</th>
|
|
3097
|
-
}
|
|
3098
|
-
@if (showActionColumnRight) {
|
|
3099
|
-
<th ng2-st-actions-title [grid]="grid"></th>
|
|
3205
|
+
[column]="column"
|
|
3206
|
+
(sort)="sort.emit($event)"
|
|
3207
|
+
></ng2-st-column-title>
|
|
3208
|
+
</th>
|
|
3209
|
+
} @if (showActionColumnRight) {
|
|
3210
|
+
<th ng2-st-actions-title [grid]="grid"></th>
|
|
3100
3211
|
}
|
|
3101
|
-
|
|
3212
|
+
`, isInline: true, dependencies: [{ kind: "component", type: CheckboxSelectAllComponent, selector: "[ng2-st-checkbox-select-all]", inputs: ["grid", "source"] }, { kind: "component", type: ActionsTitleComponent, selector: "[ng2-st-actions-title]", inputs: ["grid"] }, { kind: "component", type: ColumnTitleComponent, selector: "ng2-st-column-title", inputs: ["column", "source"], outputs: ["sort"] }] }); }
|
|
3102
3213
|
}
|
|
3103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadTitlesRowComponent, decorators: [{
|
|
3104
3215
|
type: Component,
|
|
3105
3216
|
args: [{
|
|
3106
|
-
selector:
|
|
3217
|
+
selector: "[ng2-st-thead-titles-row]",
|
|
3107
3218
|
template: `
|
|
3108
3219
|
@if (isMultiSelectVisible) {
|
|
3109
|
-
|
|
3110
|
-
|
|
3220
|
+
<th
|
|
3221
|
+
ng2-st-checkbox-select-all
|
|
3222
|
+
[grid]="grid"
|
|
3223
|
+
[source]="source"
|
|
3224
|
+
(click)="selectAllRows.emit($event)"
|
|
3225
|
+
></th>
|
|
3226
|
+
} @if (showActionColumnLeft) {
|
|
3227
|
+
<th ng2-st-actions-title [grid]="grid"></th>
|
|
3228
|
+
} @for (column of getVisibleColumns(grid.getColumns()); track column.id) {
|
|
3229
|
+
<th
|
|
3230
|
+
class="ng2-smart-th {{ column.id }}"
|
|
3231
|
+
[class]="column.class"
|
|
3232
|
+
[style.width]="column.width"
|
|
3233
|
+
>
|
|
3234
|
+
<ng2-st-column-title
|
|
3111
3235
|
[source]="source"
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
@for (column of getVisibleColumns(grid.getColumns()); track column.id) {
|
|
3119
|
-
<th
|
|
3120
|
-
class="ng2-smart-th {{ column.id }}"
|
|
3121
|
-
[ngClass]="column.class"
|
|
3122
|
-
[style.width]="column.width">
|
|
3123
|
-
<ng2-st-column-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-st-column-title>
|
|
3124
|
-
</th>
|
|
3125
|
-
}
|
|
3126
|
-
@if (showActionColumnRight) {
|
|
3127
|
-
<th ng2-st-actions-title [grid]="grid"></th>
|
|
3236
|
+
[column]="column"
|
|
3237
|
+
(sort)="sort.emit($event)"
|
|
3238
|
+
></ng2-st-column-title>
|
|
3239
|
+
</th>
|
|
3240
|
+
} @if (showActionColumnRight) {
|
|
3241
|
+
<th ng2-st-actions-title [grid]="grid"></th>
|
|
3128
3242
|
}
|
|
3129
|
-
|
|
3243
|
+
`,
|
|
3244
|
+
standalone: true,
|
|
3245
|
+
imports: [
|
|
3246
|
+
CheckboxSelectAllComponent,
|
|
3247
|
+
ActionsTitleComponent,
|
|
3248
|
+
ColumnTitleComponent,
|
|
3249
|
+
],
|
|
3130
3250
|
}]
|
|
3131
3251
|
}], propDecorators: { grid: [{
|
|
3132
3252
|
type: Input
|
|
3133
3253
|
}], source: [{
|
|
3134
3254
|
type: Input
|
|
3135
|
-
}], sort: [{
|
|
3136
|
-
type: Output
|
|
3137
|
-
}], selectAllRows: [{
|
|
3138
|
-
type: Output
|
|
3139
3255
|
}] } });
|
|
3140
3256
|
|
|
3141
3257
|
class Ng2SmartTableTheadComponent {
|
|
3142
3258
|
constructor() {
|
|
3143
|
-
this.sort =
|
|
3144
|
-
this.selectAllRows =
|
|
3145
|
-
this.create =
|
|
3146
|
-
this.filter =
|
|
3259
|
+
this.sort = output();
|
|
3260
|
+
this.selectAllRows = output();
|
|
3261
|
+
this.create = output();
|
|
3262
|
+
this.filter = output();
|
|
3147
3263
|
this.isHideHeader = false;
|
|
3148
3264
|
this.isHideSubHeader = false;
|
|
3149
3265
|
}
|
|
@@ -3151,100 +3267,92 @@ class Ng2SmartTableTheadComponent {
|
|
|
3151
3267
|
this.isHideHeader = this.grid.getSetting('hideHeader', false);
|
|
3152
3268
|
this.isHideSubHeader = this.grid.getSetting('hideSubHeader', false);
|
|
3153
3269
|
}
|
|
3154
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3155
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3270
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTheadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3271
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: Ng2SmartTableTheadComponent, isStandalone: true, selector: "[ng2-st-thead]", inputs: { grid: "grid", source: "source", createConfirm: "createConfirm" }, outputs: { sort: "sort", selectAllRows: "selectAllRows", create: "create", filter: "filter" }, usesOnChanges: true, ngImport: i0, template: "@if (!isHideHeader) {\n <tr ng2-st-thead-titles-row\n class=\"ng2-smart-titles\"\n [grid]=\"grid\"\n [source]=\"source\"\n (sort)=\"sort.emit($event)\"\n (selectAllRows)=\"selectAllRows.emit($event)\">\n </tr>\n}\n\n@if (!isHideSubHeader) {\n <tr ng2-st-thead-filters-row\n class=\"ng2-smart-filters\"\n [grid]=\"grid\"\n [source]=\"source\"\n (create)=\"create.emit($event)\"\n (filter)=\"filter.emit($event)\">\n </tr>\n}\n\n@if (grid.createFormShown) {\n <tr ng2-st-thead-form-row\n [grid]=\"grid\"\n [createConfirm]=\"createConfirm\">\n </tr>\n}\n", dependencies: [{ kind: "component", type: TheadTitlesRowComponent, selector: "[ng2-st-thead-titles-row]", inputs: ["grid", "source"], outputs: ["sort", "selectAllRows"] }, { kind: "component", type: TheadFitlersRowComponent, selector: "[ng2-st-thead-filters-row]", inputs: ["grid", "source"], outputs: ["create", "filter"] }, { kind: "component", type: TheadFormRowComponent, selector: "[ng2-st-thead-form-row]", inputs: ["grid", "row", "createConfirm"], outputs: ["create"] }] }); }
|
|
3156
3272
|
}
|
|
3157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTheadComponent, decorators: [{
|
|
3158
3274
|
type: Component,
|
|
3159
|
-
args: [{ selector: '[ng2-st-thead]', template: "@if (!isHideHeader) {\n <tr ng2-st-thead-titles-row\n class=\"ng2-smart-titles\"\n [grid]=\"grid\"\n [source]=\"source\"\n (sort)=\"sort.emit($event)\"\n (selectAllRows)=\"selectAllRows.emit($event)\">\n </tr>\n}\n\n@if (!isHideSubHeader) {\n <tr ng2-st-thead-filters-row\n class=\"ng2-smart-filters\"\n [grid]=\"grid\"\n [source]=\"source\"\n (create)=\"create.emit($event)\"\n (filter)=\"filter.emit($event)\">\n </tr>\n}\n\n@if (grid.createFormShown) {\n <tr ng2-st-thead-form-row\n [grid]=\"grid\"\n [createConfirm]=\"createConfirm\">\n </tr>\n}\n" }]
|
|
3275
|
+
args: [{ selector: '[ng2-st-thead]', standalone: true, imports: [TheadTitlesRowComponent, TheadFitlersRowComponent, TheadFormRowComponent], template: "@if (!isHideHeader) {\n <tr ng2-st-thead-titles-row\n class=\"ng2-smart-titles\"\n [grid]=\"grid\"\n [source]=\"source\"\n (sort)=\"sort.emit($event)\"\n (selectAllRows)=\"selectAllRows.emit($event)\">\n </tr>\n}\n\n@if (!isHideSubHeader) {\n <tr ng2-st-thead-filters-row\n class=\"ng2-smart-filters\"\n [grid]=\"grid\"\n [source]=\"source\"\n (create)=\"create.emit($event)\"\n (filter)=\"filter.emit($event)\">\n </tr>\n}\n\n@if (grid.createFormShown) {\n <tr ng2-st-thead-form-row\n [grid]=\"grid\"\n [createConfirm]=\"createConfirm\">\n </tr>\n}\n" }]
|
|
3160
3276
|
}], propDecorators: { grid: [{
|
|
3161
3277
|
type: Input
|
|
3162
3278
|
}], source: [{
|
|
3163
3279
|
type: Input
|
|
3164
3280
|
}], createConfirm: [{
|
|
3165
3281
|
type: Input
|
|
3166
|
-
}], sort: [{
|
|
3167
|
-
type: Output
|
|
3168
|
-
}], selectAllRows: [{
|
|
3169
|
-
type: Output
|
|
3170
|
-
}], create: [{
|
|
3171
|
-
type: Output
|
|
3172
|
-
}], filter: [{
|
|
3173
|
-
type: Output
|
|
3174
3282
|
}] } });
|
|
3175
3283
|
|
|
3176
3284
|
class Ng2SmartTableComponent {
|
|
3177
3285
|
constructor() {
|
|
3178
|
-
this.multiRowSelect =
|
|
3179
|
-
this.rowClicked =
|
|
3180
|
-
this.delete =
|
|
3181
|
-
this.edit =
|
|
3182
|
-
this.editCancel =
|
|
3183
|
-
this.create =
|
|
3184
|
-
this.custom =
|
|
3185
|
-
this.deleteConfirm =
|
|
3186
|
-
this.editConfirm =
|
|
3187
|
-
this.createConfirm =
|
|
3188
|
-
this.rowHover =
|
|
3189
|
-
this.tableClass =
|
|
3190
|
-
this.tableId =
|
|
3286
|
+
this.multiRowSelect = output();
|
|
3287
|
+
this.rowClicked = output();
|
|
3288
|
+
this.delete = output();
|
|
3289
|
+
this.edit = output();
|
|
3290
|
+
this.editCancel = output();
|
|
3291
|
+
this.create = output();
|
|
3292
|
+
this.custom = output();
|
|
3293
|
+
this.deleteConfirm = output();
|
|
3294
|
+
this.editConfirm = output();
|
|
3295
|
+
this.createConfirm = output();
|
|
3296
|
+
this.rowHover = output();
|
|
3297
|
+
this.tableClass = "";
|
|
3298
|
+
this.tableId = "";
|
|
3191
3299
|
this.perPageSelect = [];
|
|
3192
3300
|
this.isHideHeader = false;
|
|
3193
3301
|
this.isHideSubHeader = false;
|
|
3194
3302
|
this.isPagerDisplay = false;
|
|
3195
|
-
this.rowClassFunction = () =>
|
|
3303
|
+
this.rowClassFunction = () => "";
|
|
3196
3304
|
this.defaultSettings = {
|
|
3197
|
-
mode:
|
|
3198
|
-
selectMode:
|
|
3305
|
+
mode: "inline", // inline|external|click-to-edit
|
|
3306
|
+
selectMode: "single", // single|multi
|
|
3199
3307
|
selectedRowIndex: -1,
|
|
3200
3308
|
switchPageToSelectedRowPage: false,
|
|
3201
3309
|
hideHeader: false,
|
|
3202
3310
|
hideSubHeader: false,
|
|
3203
3311
|
actions: {
|
|
3204
|
-
columnTitle:
|
|
3312
|
+
columnTitle: "Actions",
|
|
3205
3313
|
add: true,
|
|
3206
3314
|
edit: true,
|
|
3207
3315
|
delete: true,
|
|
3208
3316
|
custom: [],
|
|
3209
|
-
position:
|
|
3317
|
+
position: "left", // left|right
|
|
3210
3318
|
},
|
|
3211
3319
|
filter: {
|
|
3212
|
-
inputClass:
|
|
3320
|
+
inputClass: "",
|
|
3213
3321
|
},
|
|
3214
3322
|
edit: {
|
|
3215
|
-
inputClass:
|
|
3216
|
-
editButtonContent:
|
|
3217
|
-
saveButtonContent:
|
|
3218
|
-
cancelButtonContent:
|
|
3323
|
+
inputClass: "",
|
|
3324
|
+
editButtonContent: "Edit",
|
|
3325
|
+
saveButtonContent: "Update",
|
|
3326
|
+
cancelButtonContent: "Cancel",
|
|
3219
3327
|
confirmSave: false,
|
|
3220
3328
|
},
|
|
3221
3329
|
add: {
|
|
3222
|
-
inputClass:
|
|
3223
|
-
addButtonContent:
|
|
3224
|
-
createButtonContent:
|
|
3225
|
-
cancelButtonContent:
|
|
3330
|
+
inputClass: "",
|
|
3331
|
+
addButtonContent: "Add New",
|
|
3332
|
+
createButtonContent: "Create",
|
|
3333
|
+
cancelButtonContent: "Cancel",
|
|
3226
3334
|
confirmCreate: false,
|
|
3227
3335
|
},
|
|
3228
3336
|
delete: {
|
|
3229
|
-
deleteButtonContent:
|
|
3337
|
+
deleteButtonContent: "Delete",
|
|
3230
3338
|
confirmDelete: false,
|
|
3231
3339
|
},
|
|
3232
3340
|
attr: {
|
|
3233
|
-
id:
|
|
3234
|
-
class:
|
|
3341
|
+
id: "",
|
|
3342
|
+
class: "",
|
|
3235
3343
|
},
|
|
3236
|
-
noDataMessage:
|
|
3344
|
+
noDataMessage: "No data found",
|
|
3237
3345
|
columns: [],
|
|
3238
3346
|
pager: false,
|
|
3239
|
-
rowClassFunction: () =>
|
|
3347
|
+
rowClassFunction: () => "",
|
|
3240
3348
|
};
|
|
3241
3349
|
}
|
|
3242
3350
|
ngOnChanges(changes) {
|
|
3243
3351
|
if (this.grid) {
|
|
3244
|
-
if (changes[
|
|
3352
|
+
if (changes["settings"]) {
|
|
3245
3353
|
this.grid.setSettings(this.prepareSettings());
|
|
3246
3354
|
}
|
|
3247
|
-
if (changes[
|
|
3355
|
+
if (changes["source"]) {
|
|
3248
3356
|
this.source = this.prepareSource();
|
|
3249
3357
|
this.grid.setSource(this.source);
|
|
3250
3358
|
}
|
|
@@ -3252,13 +3360,13 @@ class Ng2SmartTableComponent {
|
|
|
3252
3360
|
else {
|
|
3253
3361
|
this.initGrid();
|
|
3254
3362
|
}
|
|
3255
|
-
this.tableId = this.grid.getSetting(
|
|
3256
|
-
this.tableClass = this.grid.getSetting(
|
|
3257
|
-
this.isHideHeader = this.grid.getSetting(
|
|
3258
|
-
this.isHideSubHeader = this.grid.getSetting(
|
|
3259
|
-
this.isPagerDisplay = this.grid.getSetting(
|
|
3260
|
-
this.perPageSelect = this.grid.getSetting(
|
|
3261
|
-
this.rowClassFunction = this.grid.getSetting(
|
|
3363
|
+
this.tableId = this.grid.getSetting("attr.id");
|
|
3364
|
+
this.tableClass = this.grid.getSetting("attr.class");
|
|
3365
|
+
this.isHideHeader = this.grid.getSetting("hideHeader");
|
|
3366
|
+
this.isHideSubHeader = this.grid.getSetting("hideSubHeader");
|
|
3367
|
+
this.isPagerDisplay = this.grid.getSetting("pager.display", false);
|
|
3368
|
+
this.perPageSelect = this.grid.getSetting("pager.perPageSelect");
|
|
3369
|
+
this.rowClassFunction = this.grid.getSetting("rowClassFunction", () => "");
|
|
3262
3370
|
}
|
|
3263
3371
|
multipleSelectRow(row) {
|
|
3264
3372
|
this.grid.multipleSelectRow(row);
|
|
@@ -3299,313 +3407,25 @@ class Ng2SmartTableComponent {
|
|
|
3299
3407
|
selected: this.grid.dataSet.getSelectedRowsData(),
|
|
3300
3408
|
});
|
|
3301
3409
|
}
|
|
3302
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3303
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3410
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3411
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: Ng2SmartTableComponent, isStandalone: true, selector: "ng2-smart-table", inputs: { source: "source", settings: "settings" }, outputs: { multiRowSelect: "multiRowSelect", rowClicked: "rowClicked", delete: "delete", edit: "edit", editCancel: "editCancel", create: "create", custom: "custom", deleteConfirm: "deleteConfirm", editConfirm: "editConfirm", createConfirm: "createConfirm", rowHover: "rowHover" }, usesOnChanges: true, ngImport: i0, template: "<table [id]=\"tableId\" [class]=\"tableClass\">\n\n @if (!isHideHeader || !isHideSubHeader) {\n <thead ng2-st-thead\n [grid]=\"grid\"\n [source]=\"source\"\n [createConfirm]=\"createConfirm\"\n (create)=\"create.emit($event)\"\n (selectAllRows)=\"onSelectAllRows()\">\n </thead>\n }\n\n <tbody ng2-st-tbody [grid]=\"grid\"\n [source]=\"source\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [rowClassFunction]=\"rowClassFunction\"\n (edit)=\"edit.emit($event)\"\n (editCancel)=\"editCancel.emit($event)\"\n (delete)=\"delete.emit($event)\"\n (custom)=\"custom.emit($event)\"\n (userClickedRow)=\"emitUserRowClicked($event)\"\n (multipleSelectRow)=\"multipleSelectRow($event)\">\n </tbody>\n\n</table>\n\n@if (isPagerDisplay) {\n <ng2-smart-table-pager\n [source]=\"source\"\n [perPageSelect]=\"perPageSelect\">\n </ng2-smart-table-pager>\n}\n", styles: [":host{font-size:1rem}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep button,:host ::ng-deep input,:host ::ng-deep optgroup,:host ::ng-deep select,:host ::ng-deep textarea{color:inherit;font:inherit;margin:0}:host ::ng-deep table{line-height:1.5em;border-collapse:collapse;border-spacing:0;display:table;width:100%;max-width:100%;word-break:normal;word-break:keep-all;overflow:auto}:host ::ng-deep table tr th{font-weight:700}:host ::ng-deep table tr section{font-size:.75em;font-weight:700}:host ::ng-deep table tr td,:host ::ng-deep table tr th{font-size:.875em;margin:0;padding:.5em 1em}:host ::ng-deep a{color:#1e6bb8;text-decoration:none}:host ::ng-deep a:hover{text-decoration:underline}\n"], dependencies: [{ kind: "component", type: Ng2SmartTableTheadComponent, selector: "[ng2-st-thead]", inputs: ["grid", "source", "createConfirm"], outputs: ["sort", "selectAllRows", "create", "filter"] }, { kind: "component", type: Ng2SmartTableTbodyComponent, selector: "[ng2-st-tbody]", inputs: ["grid", "source", "deleteConfirm", "editConfirm", "rowClassFunction"], outputs: ["save", "cancel", "edit", "editCancel", "delete", "custom", "edited", "userSelectRow", "userClickedRow", "editRowSelect", "multipleSelectRow"] }, { kind: "component", type: PagerComponent, selector: "ng2-smart-table-pager", inputs: ["source", "perPageSelect"], outputs: ["changePage"] }] }); }
|
|
3304
3412
|
}
|
|
3305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3413
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableComponent, decorators: [{
|
|
3306
3414
|
type: Component,
|
|
3307
|
-
args: [{ selector:
|
|
3415
|
+
args: [{ selector: "ng2-smart-table", standalone: true, imports: [
|
|
3416
|
+
Ng2SmartTableTheadComponent,
|
|
3417
|
+
Ng2SmartTableTbodyComponent,
|
|
3418
|
+
PagerComponent,
|
|
3419
|
+
], template: "<table [id]=\"tableId\" [class]=\"tableClass\">\n\n @if (!isHideHeader || !isHideSubHeader) {\n <thead ng2-st-thead\n [grid]=\"grid\"\n [source]=\"source\"\n [createConfirm]=\"createConfirm\"\n (create)=\"create.emit($event)\"\n (selectAllRows)=\"onSelectAllRows()\">\n </thead>\n }\n\n <tbody ng2-st-tbody [grid]=\"grid\"\n [source]=\"source\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [rowClassFunction]=\"rowClassFunction\"\n (edit)=\"edit.emit($event)\"\n (editCancel)=\"editCancel.emit($event)\"\n (delete)=\"delete.emit($event)\"\n (custom)=\"custom.emit($event)\"\n (userClickedRow)=\"emitUserRowClicked($event)\"\n (multipleSelectRow)=\"multipleSelectRow($event)\">\n </tbody>\n\n</table>\n\n@if (isPagerDisplay) {\n <ng2-smart-table-pager\n [source]=\"source\"\n [perPageSelect]=\"perPageSelect\">\n </ng2-smart-table-pager>\n}\n", styles: [":host{font-size:1rem}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep button,:host ::ng-deep input,:host ::ng-deep optgroup,:host ::ng-deep select,:host ::ng-deep textarea{color:inherit;font:inherit;margin:0}:host ::ng-deep table{line-height:1.5em;border-collapse:collapse;border-spacing:0;display:table;width:100%;max-width:100%;word-break:normal;word-break:keep-all;overflow:auto}:host ::ng-deep table tr th{font-weight:700}:host ::ng-deep table tr section{font-size:.75em;font-weight:700}:host ::ng-deep table tr td,:host ::ng-deep table tr th{font-size:.875em;margin:0;padding:.5em 1em}:host ::ng-deep a{color:#1e6bb8;text-decoration:none}:host ::ng-deep a:hover{text-decoration:underline}\n"] }]
|
|
3308
3420
|
}], propDecorators: { source: [{
|
|
3309
3421
|
type: Input
|
|
3310
3422
|
}], settings: [{
|
|
3311
3423
|
type: Input
|
|
3312
|
-
}], multiRowSelect: [{
|
|
3313
|
-
type: Output
|
|
3314
|
-
}], rowClicked: [{
|
|
3315
|
-
type: Output
|
|
3316
|
-
}], delete: [{
|
|
3317
|
-
type: Output
|
|
3318
|
-
}], edit: [{
|
|
3319
|
-
type: Output
|
|
3320
|
-
}], editCancel: [{
|
|
3321
|
-
type: Output
|
|
3322
|
-
}], create: [{
|
|
3323
|
-
type: Output
|
|
3324
|
-
}], custom: [{
|
|
3325
|
-
type: Output
|
|
3326
|
-
}], deleteConfirm: [{
|
|
3327
|
-
type: Output
|
|
3328
|
-
}], editConfirm: [{
|
|
3329
|
-
type: Output
|
|
3330
|
-
}], createConfirm: [{
|
|
3331
|
-
type: Output
|
|
3332
|
-
}], rowHover: [{
|
|
3333
|
-
type: Output
|
|
3334
3424
|
}] } });
|
|
3335
3425
|
|
|
3336
|
-
const CELL_COMPONENTS = [
|
|
3337
|
-
CellComponent,
|
|
3338
|
-
EditCellDefault,
|
|
3339
|
-
DefaultEditor,
|
|
3340
|
-
CustomEditComponent,
|
|
3341
|
-
DefaultEditComponent,
|
|
3342
|
-
EditCellComponent,
|
|
3343
|
-
CheckboxEditorComponent,
|
|
3344
|
-
InputEditorComponent,
|
|
3345
|
-
SelectEditorComponent,
|
|
3346
|
-
TextareaEditorComponent,
|
|
3347
|
-
CustomViewComponent,
|
|
3348
|
-
ViewCellComponent,
|
|
3349
|
-
];
|
|
3350
|
-
class CellModule {
|
|
3351
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3352
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CellModule, declarations: [CellComponent,
|
|
3353
|
-
EditCellDefault,
|
|
3354
|
-
DefaultEditor,
|
|
3355
|
-
CustomEditComponent,
|
|
3356
|
-
DefaultEditComponent,
|
|
3357
|
-
EditCellComponent,
|
|
3358
|
-
CheckboxEditorComponent,
|
|
3359
|
-
InputEditorComponent,
|
|
3360
|
-
SelectEditorComponent,
|
|
3361
|
-
TextareaEditorComponent,
|
|
3362
|
-
CustomViewComponent,
|
|
3363
|
-
ViewCellComponent], imports: [CommonModule,
|
|
3364
|
-
FormsModule], exports: [CellComponent,
|
|
3365
|
-
EditCellDefault,
|
|
3366
|
-
DefaultEditor,
|
|
3367
|
-
CustomEditComponent,
|
|
3368
|
-
DefaultEditComponent,
|
|
3369
|
-
EditCellComponent,
|
|
3370
|
-
CheckboxEditorComponent,
|
|
3371
|
-
InputEditorComponent,
|
|
3372
|
-
SelectEditorComponent,
|
|
3373
|
-
TextareaEditorComponent,
|
|
3374
|
-
CustomViewComponent,
|
|
3375
|
-
ViewCellComponent] }); }
|
|
3376
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellModule, imports: [CommonModule,
|
|
3377
|
-
FormsModule] }); }
|
|
3378
|
-
}
|
|
3379
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellModule, decorators: [{
|
|
3380
|
-
type: NgModule,
|
|
3381
|
-
args: [{
|
|
3382
|
-
imports: [
|
|
3383
|
-
CommonModule,
|
|
3384
|
-
FormsModule,
|
|
3385
|
-
],
|
|
3386
|
-
declarations: [
|
|
3387
|
-
...CELL_COMPONENTS,
|
|
3388
|
-
],
|
|
3389
|
-
exports: [
|
|
3390
|
-
...CELL_COMPONENTS,
|
|
3391
|
-
],
|
|
3392
|
-
}]
|
|
3393
|
-
}] });
|
|
3394
|
-
|
|
3395
|
-
const FILTER_COMPONENTS = [
|
|
3396
|
-
FilterDefault,
|
|
3397
|
-
DefaultFilter,
|
|
3398
|
-
FilterComponent,
|
|
3399
|
-
DefaultFilterComponent,
|
|
3400
|
-
CustomFilterComponent,
|
|
3401
|
-
CheckboxFilterComponent,
|
|
3402
|
-
InputFilterComponent,
|
|
3403
|
-
SelectFilterComponent,
|
|
3404
|
-
];
|
|
3405
|
-
class FilterModule {
|
|
3406
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3407
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, declarations: [FilterDefault,
|
|
3408
|
-
DefaultFilter,
|
|
3409
|
-
FilterComponent,
|
|
3410
|
-
DefaultFilterComponent,
|
|
3411
|
-
CustomFilterComponent,
|
|
3412
|
-
CheckboxFilterComponent,
|
|
3413
|
-
InputFilterComponent,
|
|
3414
|
-
SelectFilterComponent], imports: [CommonModule,
|
|
3415
|
-
FormsModule,
|
|
3416
|
-
ReactiveFormsModule], exports: [FilterDefault,
|
|
3417
|
-
DefaultFilter,
|
|
3418
|
-
FilterComponent,
|
|
3419
|
-
DefaultFilterComponent,
|
|
3420
|
-
CustomFilterComponent,
|
|
3421
|
-
CheckboxFilterComponent,
|
|
3422
|
-
InputFilterComponent,
|
|
3423
|
-
SelectFilterComponent] }); }
|
|
3424
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, imports: [CommonModule,
|
|
3425
|
-
FormsModule,
|
|
3426
|
-
ReactiveFormsModule] }); }
|
|
3427
|
-
}
|
|
3428
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, decorators: [{
|
|
3429
|
-
type: NgModule,
|
|
3430
|
-
args: [{
|
|
3431
|
-
imports: [
|
|
3432
|
-
CommonModule,
|
|
3433
|
-
FormsModule,
|
|
3434
|
-
ReactiveFormsModule,
|
|
3435
|
-
],
|
|
3436
|
-
declarations: [
|
|
3437
|
-
...FILTER_COMPONENTS,
|
|
3438
|
-
],
|
|
3439
|
-
exports: [
|
|
3440
|
-
...FILTER_COMPONENTS,
|
|
3441
|
-
],
|
|
3442
|
-
}]
|
|
3443
|
-
}] });
|
|
3444
|
-
|
|
3445
|
-
class PagerModule {
|
|
3446
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3447
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, declarations: [PagerComponent], imports: [CommonModule,
|
|
3448
|
-
FormsModule], exports: [PagerComponent] }); }
|
|
3449
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, imports: [CommonModule,
|
|
3450
|
-
FormsModule] }); }
|
|
3451
|
-
}
|
|
3452
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, decorators: [{
|
|
3453
|
-
type: NgModule,
|
|
3454
|
-
args: [{
|
|
3455
|
-
imports: [
|
|
3456
|
-
CommonModule,
|
|
3457
|
-
FormsModule,
|
|
3458
|
-
],
|
|
3459
|
-
declarations: [
|
|
3460
|
-
PagerComponent,
|
|
3461
|
-
],
|
|
3462
|
-
exports: [
|
|
3463
|
-
PagerComponent,
|
|
3464
|
-
],
|
|
3465
|
-
}]
|
|
3466
|
-
}] });
|
|
3467
|
-
|
|
3468
|
-
const TBODY_COMPONENTS = [
|
|
3469
|
-
TbodyCreateCancelComponent,
|
|
3470
|
-
TbodyEditDeleteComponent,
|
|
3471
|
-
TbodyCustomComponent,
|
|
3472
|
-
Ng2SmartTableTbodyComponent
|
|
3473
|
-
];
|
|
3474
|
-
class TBodyModule {
|
|
3475
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TBodyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3476
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TBodyModule, declarations: [TbodyCreateCancelComponent,
|
|
3477
|
-
TbodyEditDeleteComponent,
|
|
3478
|
-
TbodyCustomComponent,
|
|
3479
|
-
Ng2SmartTableTbodyComponent], imports: [CommonModule,
|
|
3480
|
-
FormsModule,
|
|
3481
|
-
CellModule], exports: [TbodyCreateCancelComponent,
|
|
3482
|
-
TbodyEditDeleteComponent,
|
|
3483
|
-
TbodyCustomComponent,
|
|
3484
|
-
Ng2SmartTableTbodyComponent] }); }
|
|
3485
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TBodyModule, imports: [CommonModule,
|
|
3486
|
-
FormsModule,
|
|
3487
|
-
CellModule] }); }
|
|
3488
|
-
}
|
|
3489
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TBodyModule, decorators: [{
|
|
3490
|
-
type: NgModule,
|
|
3491
|
-
args: [{
|
|
3492
|
-
imports: [
|
|
3493
|
-
CommonModule,
|
|
3494
|
-
FormsModule,
|
|
3495
|
-
CellModule,
|
|
3496
|
-
],
|
|
3497
|
-
declarations: [
|
|
3498
|
-
...TBODY_COMPONENTS,
|
|
3499
|
-
],
|
|
3500
|
-
exports: [
|
|
3501
|
-
...TBODY_COMPONENTS,
|
|
3502
|
-
],
|
|
3503
|
-
}]
|
|
3504
|
-
}] });
|
|
3505
|
-
|
|
3506
|
-
const THEAD_COMPONENTS = [
|
|
3507
|
-
ActionsComponent,
|
|
3508
|
-
ActionsTitleComponent,
|
|
3509
|
-
AddButtonComponent,
|
|
3510
|
-
CheckboxSelectAllComponent,
|
|
3511
|
-
ColumnTitleComponent,
|
|
3512
|
-
TitleComponent,
|
|
3513
|
-
TheadFitlersRowComponent,
|
|
3514
|
-
TheadFormRowComponent,
|
|
3515
|
-
TheadTitlesRowComponent,
|
|
3516
|
-
Ng2SmartTableTheadComponent,
|
|
3517
|
-
];
|
|
3518
|
-
class THeadModule {
|
|
3519
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: THeadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3520
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: THeadModule, declarations: [ActionsComponent,
|
|
3521
|
-
ActionsTitleComponent,
|
|
3522
|
-
AddButtonComponent,
|
|
3523
|
-
CheckboxSelectAllComponent,
|
|
3524
|
-
ColumnTitleComponent,
|
|
3525
|
-
TitleComponent,
|
|
3526
|
-
TheadFitlersRowComponent,
|
|
3527
|
-
TheadFormRowComponent,
|
|
3528
|
-
TheadTitlesRowComponent,
|
|
3529
|
-
Ng2SmartTableTheadComponent], imports: [CommonModule,
|
|
3530
|
-
FormsModule,
|
|
3531
|
-
FilterModule,
|
|
3532
|
-
CellModule], exports: [ActionsComponent,
|
|
3533
|
-
ActionsTitleComponent,
|
|
3534
|
-
AddButtonComponent,
|
|
3535
|
-
CheckboxSelectAllComponent,
|
|
3536
|
-
ColumnTitleComponent,
|
|
3537
|
-
TitleComponent,
|
|
3538
|
-
TheadFitlersRowComponent,
|
|
3539
|
-
TheadFormRowComponent,
|
|
3540
|
-
TheadTitlesRowComponent,
|
|
3541
|
-
Ng2SmartTableTheadComponent] }); }
|
|
3542
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: THeadModule, imports: [CommonModule,
|
|
3543
|
-
FormsModule,
|
|
3544
|
-
FilterModule,
|
|
3545
|
-
CellModule] }); }
|
|
3546
|
-
}
|
|
3547
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: THeadModule, decorators: [{
|
|
3548
|
-
type: NgModule,
|
|
3549
|
-
args: [{
|
|
3550
|
-
imports: [
|
|
3551
|
-
CommonModule,
|
|
3552
|
-
FormsModule,
|
|
3553
|
-
FilterModule,
|
|
3554
|
-
CellModule,
|
|
3555
|
-
],
|
|
3556
|
-
declarations: [
|
|
3557
|
-
...THEAD_COMPONENTS,
|
|
3558
|
-
],
|
|
3559
|
-
exports: [
|
|
3560
|
-
...THEAD_COMPONENTS,
|
|
3561
|
-
],
|
|
3562
|
-
}]
|
|
3563
|
-
}] });
|
|
3564
|
-
|
|
3565
|
-
class Ng2SmartTableModule {
|
|
3566
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3567
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableModule, declarations: [Ng2SmartTableComponent], imports: [CommonModule,
|
|
3568
|
-
FormsModule,
|
|
3569
|
-
ReactiveFormsModule,
|
|
3570
|
-
CellModule,
|
|
3571
|
-
FilterModule,
|
|
3572
|
-
PagerModule,
|
|
3573
|
-
TBodyModule,
|
|
3574
|
-
THeadModule], exports: [Ng2SmartTableComponent] }); }
|
|
3575
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableModule, imports: [CommonModule,
|
|
3576
|
-
FormsModule,
|
|
3577
|
-
ReactiveFormsModule,
|
|
3578
|
-
CellModule,
|
|
3579
|
-
FilterModule,
|
|
3580
|
-
PagerModule,
|
|
3581
|
-
TBodyModule,
|
|
3582
|
-
THeadModule] }); }
|
|
3583
|
-
}
|
|
3584
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableModule, decorators: [{
|
|
3585
|
-
type: NgModule,
|
|
3586
|
-
args: [{
|
|
3587
|
-
imports: [
|
|
3588
|
-
CommonModule,
|
|
3589
|
-
FormsModule,
|
|
3590
|
-
ReactiveFormsModule,
|
|
3591
|
-
CellModule,
|
|
3592
|
-
FilterModule,
|
|
3593
|
-
PagerModule,
|
|
3594
|
-
TBodyModule,
|
|
3595
|
-
THeadModule,
|
|
3596
|
-
],
|
|
3597
|
-
declarations: [
|
|
3598
|
-
Ng2SmartTableComponent,
|
|
3599
|
-
],
|
|
3600
|
-
exports: [
|
|
3601
|
-
Ng2SmartTableComponent,
|
|
3602
|
-
],
|
|
3603
|
-
}]
|
|
3604
|
-
}] });
|
|
3605
|
-
|
|
3606
3426
|
/**
|
|
3607
3427
|
* Generated bundle index. Do not edit.
|
|
3608
3428
|
*/
|
|
3609
3429
|
|
|
3610
|
-
export { Cell, Column, DataSource, DefaultEditor, DefaultFilter, Deferred, LocalDataSource, Ng2SmartTableComponent,
|
|
3430
|
+
export { Cell, Column, DataSource, DefaultEditor, DefaultFilter, Deferred, LocalDataSource, Ng2SmartTableComponent, Row, SmartTableOnChangedEventName };
|
|
3611
3431
|
//# sourceMappingURL=den4ik92-ng2-smart-table.mjs.map
|