@den4ik92/ng2-smart-table 18.2.13 → 19.0.4
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/README.md +167 -0
- package/fesm2022/den4ik92-ng2-smart-table.mjs +1502 -1581
- 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 +20 -11
- package/lib/lib/helpers.d.ts +4 -1
- package/lib/lib/interfaces/smart-table.models.d.ts +16 -12
- package/lib/ng2-smart-table.component.d.ts +20 -21
- package/package.json +6 -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 {
|
|
@@ -443,20 +430,44 @@ class Deferred {
|
|
|
443
430
|
}
|
|
444
431
|
// getDeepFromObject({result: {data: 1}}, 'result.data', 2); // returns 1
|
|
445
432
|
function getDeepFromObject(object = {}, name, defaultValue = null) {
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
433
|
+
try {
|
|
434
|
+
let level = deepExtend({}, object);
|
|
435
|
+
const keys = name.split('.');
|
|
436
|
+
if (keys.length === 1) {
|
|
437
|
+
return level[keys[0]] ?? defaultValue;
|
|
438
|
+
}
|
|
439
|
+
keys.forEach((k) => {
|
|
440
|
+
if (level && typeof level[k] !== 'undefined') {
|
|
441
|
+
level = level[k];
|
|
442
|
+
}
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
catch {
|
|
446
|
+
return defaultValue;
|
|
447
|
+
}
|
|
455
448
|
}
|
|
456
449
|
function getPageForRowIndex(index, perPage) {
|
|
457
450
|
// we need to add 1 to convert 0-based index to 1-based page number.
|
|
458
451
|
return Math.floor(index / perPage) + 1;
|
|
459
452
|
}
|
|
453
|
+
function cloneArrayOfObject(array) {
|
|
454
|
+
return array.map((obj) => Object.assign({}, obj));
|
|
455
|
+
}
|
|
456
|
+
function setLocalStorage(key, value) {
|
|
457
|
+
localStorage.setItem(key, JSON.stringify(value));
|
|
458
|
+
}
|
|
459
|
+
function getLocalStorage(key) {
|
|
460
|
+
const valueString = localStorage.getItem(key);
|
|
461
|
+
if (!valueString) {
|
|
462
|
+
return null;
|
|
463
|
+
}
|
|
464
|
+
try {
|
|
465
|
+
return JSON.parse(valueString);
|
|
466
|
+
}
|
|
467
|
+
catch {
|
|
468
|
+
return null;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
460
471
|
|
|
461
472
|
class LocalDataSource extends DataSource {
|
|
462
473
|
constructor(data = []) {
|
|
@@ -716,6 +727,304 @@ class LocalDataSource extends DataSource {
|
|
|
716
727
|
}
|
|
717
728
|
}
|
|
718
729
|
|
|
730
|
+
class PagerComponent {
|
|
731
|
+
constructor() {
|
|
732
|
+
this.perPageSelect = [];
|
|
733
|
+
this.changePage = output();
|
|
734
|
+
this.currentPerPage = 0;
|
|
735
|
+
this.pages = [];
|
|
736
|
+
this.page = 1;
|
|
737
|
+
this.count = 0;
|
|
738
|
+
this.perPage = 0;
|
|
739
|
+
}
|
|
740
|
+
ngOnChanges(changes) {
|
|
741
|
+
if (changes["source"]) {
|
|
742
|
+
if (!changes["source"].firstChange && this.dataChangedSub) {
|
|
743
|
+
this.dataChangedSub.unsubscribe();
|
|
744
|
+
}
|
|
745
|
+
this.dataChangedSub = this.source.onChanged().subscribe((dataChanges) => {
|
|
746
|
+
const paging = this.source.getPaging();
|
|
747
|
+
if (paging) {
|
|
748
|
+
this.page = paging.page;
|
|
749
|
+
this.perPage = paging.perPage;
|
|
750
|
+
}
|
|
751
|
+
this.currentPerPage = this.perPage;
|
|
752
|
+
this.count = this.source.count();
|
|
753
|
+
if (this.isPageOutOfBounce()) {
|
|
754
|
+
this.source.setPage(--this.page);
|
|
755
|
+
}
|
|
756
|
+
this.processPageChange(dataChanges);
|
|
757
|
+
this.initPages();
|
|
758
|
+
});
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
/**
|
|
762
|
+
* We change the page here depending on the action performed against data source
|
|
763
|
+
* if a new element was added to the end of the table - then change the page to the last
|
|
764
|
+
* if a new element was added to the beginning of the table - then to the first page
|
|
765
|
+
* @param changes
|
|
766
|
+
*/
|
|
767
|
+
processPageChange(changes) {
|
|
768
|
+
if (changes["action"] === "prepend") {
|
|
769
|
+
this.source.setPage(1);
|
|
770
|
+
}
|
|
771
|
+
if (changes["action"] === "append") {
|
|
772
|
+
this.source.setPage(this.getLast());
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
shouldShow() {
|
|
776
|
+
return this.source.count() > this.perPage;
|
|
777
|
+
}
|
|
778
|
+
paginate(page) {
|
|
779
|
+
this.source.setPage(page);
|
|
780
|
+
this.page = page;
|
|
781
|
+
this.changePage.emit({ page });
|
|
782
|
+
return false;
|
|
783
|
+
}
|
|
784
|
+
next() {
|
|
785
|
+
return this.paginate(this.getPage() + 1);
|
|
786
|
+
}
|
|
787
|
+
prev() {
|
|
788
|
+
return this.paginate(this.getPage() - 1);
|
|
789
|
+
}
|
|
790
|
+
getPage() {
|
|
791
|
+
return this.page;
|
|
792
|
+
}
|
|
793
|
+
getPages() {
|
|
794
|
+
return this.pages;
|
|
795
|
+
}
|
|
796
|
+
getLast() {
|
|
797
|
+
return Math.ceil(this.count / this.perPage);
|
|
798
|
+
}
|
|
799
|
+
isPageOutOfBounce() {
|
|
800
|
+
return (this.page * this.perPage >= this.count + this.perPage && this.page > 1);
|
|
801
|
+
}
|
|
802
|
+
initPages() {
|
|
803
|
+
const pagesCount = this.getLast();
|
|
804
|
+
let showPagesCount = 4;
|
|
805
|
+
showPagesCount = pagesCount < showPagesCount ? pagesCount : showPagesCount;
|
|
806
|
+
this.pages = [];
|
|
807
|
+
if (this.shouldShow()) {
|
|
808
|
+
let middleOne = Math.ceil(showPagesCount / 2);
|
|
809
|
+
middleOne = this.page >= middleOne ? this.page : middleOne;
|
|
810
|
+
let lastOne = middleOne + Math.floor(showPagesCount / 2);
|
|
811
|
+
lastOne = lastOne >= pagesCount ? pagesCount : lastOne;
|
|
812
|
+
const firstOne = lastOne - showPagesCount + 1;
|
|
813
|
+
for (let i = firstOne; i <= lastOne; i++) {
|
|
814
|
+
this.pages.push(i);
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
onChangePerPage() {
|
|
819
|
+
const paging = this.source.getPaging();
|
|
820
|
+
if (paging) {
|
|
821
|
+
paging.perPage = this.currentPerPage * 1;
|
|
822
|
+
}
|
|
823
|
+
this.source.refresh();
|
|
824
|
+
this.initPages();
|
|
825
|
+
}
|
|
826
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: PagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
827
|
+
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: `
|
|
828
|
+
@if (shouldShow()) {
|
|
829
|
+
<nav class="ng2-smart-pagination-nav">
|
|
830
|
+
<ul class="ng2-smart-pagination pagination">
|
|
831
|
+
<li
|
|
832
|
+
class="ng2-smart-page-item page-item"
|
|
833
|
+
[class.disabled]="getPage() === 1"
|
|
834
|
+
>
|
|
835
|
+
<a
|
|
836
|
+
class="ng2-smart-page-link page-link"
|
|
837
|
+
href="#"
|
|
838
|
+
(click)="getPage() === 1 ? false : paginate(1)"
|
|
839
|
+
aria-label="First"
|
|
840
|
+
>
|
|
841
|
+
<span aria-hidden="true">«</span>
|
|
842
|
+
<span class="sr-only">First</span>
|
|
843
|
+
</a>
|
|
844
|
+
</li>
|
|
845
|
+
<li
|
|
846
|
+
class="ng2-smart-page-item page-item"
|
|
847
|
+
[class.disabled]="getPage() === 1"
|
|
848
|
+
>
|
|
849
|
+
<a
|
|
850
|
+
class="ng2-smart-page-link page-link page-link-prev"
|
|
851
|
+
href="#"
|
|
852
|
+
(click)="getPage() === 1 ? false : prev()"
|
|
853
|
+
aria-label="Prev"
|
|
854
|
+
>
|
|
855
|
+
<span aria-hidden="true"><</span>
|
|
856
|
+
<span class="sr-only">Prev</span>
|
|
857
|
+
</a>
|
|
858
|
+
</li>
|
|
859
|
+
@for (page of getPages(); track page) {
|
|
860
|
+
<li
|
|
861
|
+
class="ng2-smart-page-item page-item"
|
|
862
|
+
[class.active]="getPage() === page"
|
|
863
|
+
>
|
|
864
|
+
@if (getPage() === page) {
|
|
865
|
+
<span class="ng2-smart-page-link page-link"
|
|
866
|
+
>{{ page }} <span class="sr-only">(current)</span></span
|
|
867
|
+
>
|
|
868
|
+
} @if (getPage() !== page) {
|
|
869
|
+
<a
|
|
870
|
+
class="ng2-smart-page-link page-link"
|
|
871
|
+
href="#"
|
|
872
|
+
(click)="paginate(page)"
|
|
873
|
+
>{{ page }}</a
|
|
874
|
+
>
|
|
875
|
+
}
|
|
876
|
+
</li>
|
|
877
|
+
}
|
|
878
|
+
<li
|
|
879
|
+
class="ng2-smart-page-item page-item"
|
|
880
|
+
[class.disabled]="getPage() === getLast()"
|
|
881
|
+
>
|
|
882
|
+
<a
|
|
883
|
+
class="ng2-smart-page-link page-link page-link-next"
|
|
884
|
+
href="#"
|
|
885
|
+
(click)="getPage() === getLast() ? false : next()"
|
|
886
|
+
aria-label="Next"
|
|
887
|
+
>
|
|
888
|
+
<span aria-hidden="true">></span>
|
|
889
|
+
<span class="sr-only">Next</span>
|
|
890
|
+
</a>
|
|
891
|
+
</li>
|
|
892
|
+
<li
|
|
893
|
+
class="ng2-smart-page-item page-item"
|
|
894
|
+
[class.disabled]="getPage() === getLast()"
|
|
895
|
+
>
|
|
896
|
+
<a
|
|
897
|
+
class="ng2-smart-page-link page-link"
|
|
898
|
+
href="#"
|
|
899
|
+
(click)="getPage() === getLast() ? false : paginate(getLast())"
|
|
900
|
+
aria-label="Last"
|
|
901
|
+
>
|
|
902
|
+
<span aria-hidden="true">»</span>
|
|
903
|
+
<span class="sr-only">Last</span>
|
|
904
|
+
</a>
|
|
905
|
+
</li>
|
|
906
|
+
</ul>
|
|
907
|
+
</nav>
|
|
908
|
+
} @if (perPageSelect && perPageSelect.length > 0) {
|
|
909
|
+
<nav class="ng2-smart-pagination-per-page">
|
|
910
|
+
<label for="per-page"> Per Page: </label>
|
|
911
|
+
<select
|
|
912
|
+
(change)="onChangePerPage()"
|
|
913
|
+
[(ngModel)]="currentPerPage"
|
|
914
|
+
id="per-page"
|
|
915
|
+
>
|
|
916
|
+
@for (item of perPageSelect; track item) {
|
|
917
|
+
<option [value]="item">{{ item }}</option>
|
|
918
|
+
}
|
|
919
|
+
</select>
|
|
920
|
+
</nav>
|
|
921
|
+
}
|
|
922
|
+
`, 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"] }] }); }
|
|
923
|
+
}
|
|
924
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: PagerComponent, decorators: [{
|
|
925
|
+
type: Component,
|
|
926
|
+
args: [{ selector: "ng2-smart-table-pager", template: `
|
|
927
|
+
@if (shouldShow()) {
|
|
928
|
+
<nav class="ng2-smart-pagination-nav">
|
|
929
|
+
<ul class="ng2-smart-pagination pagination">
|
|
930
|
+
<li
|
|
931
|
+
class="ng2-smart-page-item page-item"
|
|
932
|
+
[class.disabled]="getPage() === 1"
|
|
933
|
+
>
|
|
934
|
+
<a
|
|
935
|
+
class="ng2-smart-page-link page-link"
|
|
936
|
+
href="#"
|
|
937
|
+
(click)="getPage() === 1 ? false : paginate(1)"
|
|
938
|
+
aria-label="First"
|
|
939
|
+
>
|
|
940
|
+
<span aria-hidden="true">«</span>
|
|
941
|
+
<span class="sr-only">First</span>
|
|
942
|
+
</a>
|
|
943
|
+
</li>
|
|
944
|
+
<li
|
|
945
|
+
class="ng2-smart-page-item page-item"
|
|
946
|
+
[class.disabled]="getPage() === 1"
|
|
947
|
+
>
|
|
948
|
+
<a
|
|
949
|
+
class="ng2-smart-page-link page-link page-link-prev"
|
|
950
|
+
href="#"
|
|
951
|
+
(click)="getPage() === 1 ? false : prev()"
|
|
952
|
+
aria-label="Prev"
|
|
953
|
+
>
|
|
954
|
+
<span aria-hidden="true"><</span>
|
|
955
|
+
<span class="sr-only">Prev</span>
|
|
956
|
+
</a>
|
|
957
|
+
</li>
|
|
958
|
+
@for (page of getPages(); track page) {
|
|
959
|
+
<li
|
|
960
|
+
class="ng2-smart-page-item page-item"
|
|
961
|
+
[class.active]="getPage() === page"
|
|
962
|
+
>
|
|
963
|
+
@if (getPage() === page) {
|
|
964
|
+
<span class="ng2-smart-page-link page-link"
|
|
965
|
+
>{{ page }} <span class="sr-only">(current)</span></span
|
|
966
|
+
>
|
|
967
|
+
} @if (getPage() !== page) {
|
|
968
|
+
<a
|
|
969
|
+
class="ng2-smart-page-link page-link"
|
|
970
|
+
href="#"
|
|
971
|
+
(click)="paginate(page)"
|
|
972
|
+
>{{ page }}</a
|
|
973
|
+
>
|
|
974
|
+
}
|
|
975
|
+
</li>
|
|
976
|
+
}
|
|
977
|
+
<li
|
|
978
|
+
class="ng2-smart-page-item page-item"
|
|
979
|
+
[class.disabled]="getPage() === getLast()"
|
|
980
|
+
>
|
|
981
|
+
<a
|
|
982
|
+
class="ng2-smart-page-link page-link page-link-next"
|
|
983
|
+
href="#"
|
|
984
|
+
(click)="getPage() === getLast() ? false : next()"
|
|
985
|
+
aria-label="Next"
|
|
986
|
+
>
|
|
987
|
+
<span aria-hidden="true">></span>
|
|
988
|
+
<span class="sr-only">Next</span>
|
|
989
|
+
</a>
|
|
990
|
+
</li>
|
|
991
|
+
<li
|
|
992
|
+
class="ng2-smart-page-item page-item"
|
|
993
|
+
[class.disabled]="getPage() === getLast()"
|
|
994
|
+
>
|
|
995
|
+
<a
|
|
996
|
+
class="ng2-smart-page-link page-link"
|
|
997
|
+
href="#"
|
|
998
|
+
(click)="getPage() === getLast() ? false : paginate(getLast())"
|
|
999
|
+
aria-label="Last"
|
|
1000
|
+
>
|
|
1001
|
+
<span aria-hidden="true">»</span>
|
|
1002
|
+
<span class="sr-only">Last</span>
|
|
1003
|
+
</a>
|
|
1004
|
+
</li>
|
|
1005
|
+
</ul>
|
|
1006
|
+
</nav>
|
|
1007
|
+
} @if (perPageSelect && perPageSelect.length > 0) {
|
|
1008
|
+
<nav class="ng2-smart-pagination-per-page">
|
|
1009
|
+
<label for="per-page"> Per Page: </label>
|
|
1010
|
+
<select
|
|
1011
|
+
(change)="onChangePerPage()"
|
|
1012
|
+
[(ngModel)]="currentPerPage"
|
|
1013
|
+
id="per-page"
|
|
1014
|
+
>
|
|
1015
|
+
@for (item of perPageSelect; track item) {
|
|
1016
|
+
<option [value]="item">{{ item }}</option>
|
|
1017
|
+
}
|
|
1018
|
+
</select>
|
|
1019
|
+
</nav>
|
|
1020
|
+
}
|
|
1021
|
+
`, 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"] }]
|
|
1022
|
+
}], propDecorators: { source: [{
|
|
1023
|
+
type: Input
|
|
1024
|
+
}], perPageSelect: [{
|
|
1025
|
+
type: Input
|
|
1026
|
+
}] } });
|
|
1027
|
+
|
|
719
1028
|
class DataSet {
|
|
720
1029
|
constructor(data = [], columnSettings) {
|
|
721
1030
|
this.columnSettings = columnSettings;
|
|
@@ -815,9 +1124,13 @@ class Grid {
|
|
|
815
1124
|
this.createFormShown = false;
|
|
816
1125
|
this.onSelectRowSource = new Subject();
|
|
817
1126
|
this.onDeselectRowSource = new Subject();
|
|
1127
|
+
this.currentColumnsSortState = [];
|
|
818
1128
|
this.setSettings(settings);
|
|
819
1129
|
this.setSource(source);
|
|
820
1130
|
}
|
|
1131
|
+
setColumnsSortedEmitter(emitter) {
|
|
1132
|
+
this.columnsSortedEmitter = emitter;
|
|
1133
|
+
}
|
|
821
1134
|
detach() {
|
|
822
1135
|
if (this.sourceOnChangedSubscription) {
|
|
823
1136
|
this.sourceOnChangedSubscription.unsubscribe();
|
|
@@ -845,6 +1158,12 @@ class Grid {
|
|
|
845
1158
|
return this.dataSet.newRow;
|
|
846
1159
|
}
|
|
847
1160
|
setSettings(settings) {
|
|
1161
|
+
this.updateSettingsAndDataSet(settings);
|
|
1162
|
+
if (this.getSetting('withColumnSort', false)) {
|
|
1163
|
+
this.setColumnsSortState(settings.columns);
|
|
1164
|
+
}
|
|
1165
|
+
}
|
|
1166
|
+
updateSettingsAndDataSet(settings) {
|
|
848
1167
|
this.settings = settings;
|
|
849
1168
|
this.dataSet = new DataSet([], this.getSetting("columns"));
|
|
850
1169
|
if (this.source) {
|
|
@@ -1023,251 +1342,81 @@ class Grid {
|
|
|
1023
1342
|
getLastRow() {
|
|
1024
1343
|
return this.dataSet.getLastRow();
|
|
1025
1344
|
}
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
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();
|
|
1345
|
+
// ------------------------------- column sort
|
|
1346
|
+
async getSortedTableColumns(newState, columns) {
|
|
1347
|
+
const sortedArray = [];
|
|
1348
|
+
newState.forEach((item2) => {
|
|
1349
|
+
const index = columns.findIndex((item1) => item1.key === item2.key && item1.title === item2.title);
|
|
1350
|
+
if (index > -1) {
|
|
1351
|
+
sortedArray.push({ ...columns[index], hide: !!item2.hide });
|
|
1042
1352
|
}
|
|
1043
|
-
|
|
1044
|
-
|
|
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
|
-
}
|
|
1353
|
+
});
|
|
1354
|
+
return Promise.resolve(sortedArray);
|
|
1058
1355
|
}
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
this.source.setPage(1);
|
|
1356
|
+
async applyColumnsSortState(state, emitEvent = true) {
|
|
1357
|
+
this.currentColumnsSortState = this.getMergedColumnStates(state);
|
|
1358
|
+
this.updateSettingsAndDataSet({
|
|
1359
|
+
...this.settings,
|
|
1360
|
+
columns: await this.getSortedTableColumns(this.currentColumnsSortState, this.settings?.columns),
|
|
1361
|
+
});
|
|
1362
|
+
if (this.columnStateStorageKey) {
|
|
1363
|
+
setLocalStorage(this.columnStateStorageKey, this.currentColumnsSortState);
|
|
1068
1364
|
}
|
|
1069
|
-
if (
|
|
1070
|
-
this.
|
|
1365
|
+
if (emitEvent) {
|
|
1366
|
+
this.columnsSortedEmitter.emit(this.currentColumnsSortState);
|
|
1071
1367
|
}
|
|
1072
1368
|
}
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
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);
|
|
1369
|
+
setColumnsSortState(columns) {
|
|
1370
|
+
const columnsState = this.getColumnsStateFromSettings(columns);
|
|
1371
|
+
if (this.columnStateStorageKey) {
|
|
1372
|
+
const storageState = getLocalStorage(this.columnStateStorageKey);
|
|
1373
|
+
if (!storageState) {
|
|
1374
|
+
this.currentColumnsSortState = columnsState;
|
|
1375
|
+
setLocalStorage(this.columnStateStorageKey, columnsState);
|
|
1376
|
+
return;
|
|
1113
1377
|
}
|
|
1378
|
+
const merged = this.getMergedColumnStates(storageState, columnsState);
|
|
1379
|
+
this.applyColumnsSortState(merged, false);
|
|
1380
|
+
return;
|
|
1114
1381
|
}
|
|
1382
|
+
this.applyColumnsSortState(columnsState, false);
|
|
1115
1383
|
}
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1384
|
+
getColumnsStateFromSettings(columns) {
|
|
1385
|
+
return (columns || this.settings.columns || []).map((column) => ({
|
|
1386
|
+
key: column.key,
|
|
1387
|
+
title: column.title,
|
|
1388
|
+
hide: !!column.hide,
|
|
1389
|
+
sortDisabled: !!column.sortDisabled,
|
|
1390
|
+
}));
|
|
1123
1391
|
}
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
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>
|
|
1392
|
+
getMergedColumnStates(newState, columnsState) {
|
|
1393
|
+
const columnsSettings = columnsState || this.getColumnsStateFromSettings();
|
|
1394
|
+
// merge new columns state with state from storage
|
|
1395
|
+
const filtered = [];
|
|
1396
|
+
newState.forEach((state) => {
|
|
1397
|
+
const fined = columnsSettings.find((column) => column.title === state.title && column.key === state.key);
|
|
1398
|
+
if (fined) {
|
|
1399
|
+
filtered.push({ ...fined, hide: fined.sortDisabled ? fined.hide : state.hide });
|
|
1155
1400
|
}
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
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"] }] }); }
|
|
1401
|
+
});
|
|
1402
|
+
// find new columns witch not exist in storage state
|
|
1403
|
+
const newColumns = columnsSettings.filter((state) => {
|
|
1404
|
+
return !filtered.some((column) => column.title === state.title && column.key === state.key);
|
|
1405
|
+
});
|
|
1406
|
+
return [...filtered, ...newColumns];
|
|
1407
|
+
}
|
|
1408
|
+
get columnStateStorageKey() {
|
|
1409
|
+
return this.settings.columnSortStorageKey;
|
|
1410
|
+
}
|
|
1189
1411
|
}
|
|
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
1412
|
|
|
1264
1413
|
class EditCellDefault {
|
|
1265
1414
|
constructor() {
|
|
1266
1415
|
this.inputClass = '';
|
|
1267
|
-
this.edited =
|
|
1416
|
+
this.edited = output();
|
|
1268
1417
|
}
|
|
1269
1418
|
onEdited(event) {
|
|
1270
|
-
this.edited.
|
|
1419
|
+
this.edited.emit(event);
|
|
1271
1420
|
return false;
|
|
1272
1421
|
}
|
|
1273
1422
|
onStopEditing() {
|
|
@@ -1277,32 +1426,32 @@ class EditCellDefault {
|
|
|
1277
1426
|
onClick(event) {
|
|
1278
1427
|
event.stopPropagation();
|
|
1279
1428
|
}
|
|
1280
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1281
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1429
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1430
|
+
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
1431
|
}
|
|
1283
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1432
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellDefault, decorators: [{
|
|
1284
1433
|
type: Component,
|
|
1285
|
-
args: [{
|
|
1286
|
-
template: ''
|
|
1287
|
-
}]
|
|
1434
|
+
args: [{ template: '' }]
|
|
1288
1435
|
}], propDecorators: { cell: [{
|
|
1289
1436
|
type: Input
|
|
1290
1437
|
}], inputClass: [{
|
|
1291
1438
|
type: Input
|
|
1292
|
-
}], edited: [{
|
|
1293
|
-
type: Output
|
|
1294
1439
|
}] } });
|
|
1295
1440
|
|
|
1296
1441
|
class CustomEditComponent extends EditCellDefault {
|
|
1297
|
-
constructor(resolver) {
|
|
1298
|
-
super();
|
|
1299
|
-
this.resolver = resolver;
|
|
1300
|
-
}
|
|
1301
1442
|
ngOnChanges(changes) {
|
|
1302
1443
|
const editor = this.cell.getColumn().editor;
|
|
1303
|
-
if (this.
|
|
1304
|
-
|
|
1305
|
-
|
|
1444
|
+
if (this.customComponent) {
|
|
1445
|
+
if (this.customComponent.instance?.ngOnChanges) {
|
|
1446
|
+
this.customComponent.instance.ngOnChanges(changes);
|
|
1447
|
+
}
|
|
1448
|
+
return;
|
|
1449
|
+
}
|
|
1450
|
+
if (this.cell &&
|
|
1451
|
+
!this.customComponent &&
|
|
1452
|
+
editor &&
|
|
1453
|
+
editor.type == "custom") {
|
|
1454
|
+
this.customComponent = this.dynamicTarget.createComponent(editor.component);
|
|
1306
1455
|
// set @Inputs and @Outputs of custom component
|
|
1307
1456
|
this.customComponent.instance.cell = this.cell;
|
|
1308
1457
|
this.customComponent.instance.inputClass = this.inputClass;
|
|
@@ -1316,22 +1465,19 @@ class CustomEditComponent extends EditCellDefault {
|
|
|
1316
1465
|
this.customComponent.destroy();
|
|
1317
1466
|
}
|
|
1318
1467
|
}
|
|
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 }); }
|
|
1468
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1469
|
+
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
1470
|
}
|
|
1324
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1471
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomEditComponent, decorators: [{
|
|
1325
1472
|
type: Component,
|
|
1326
1473
|
args: [{
|
|
1327
|
-
selector:
|
|
1328
|
-
template: `
|
|
1329
|
-
|
|
1330
|
-
`,
|
|
1474
|
+
selector: "table-cell-custom-editor",
|
|
1475
|
+
template: ` <ng-template #dynamicTarget></ng-template> `,
|
|
1476
|
+
standalone: true,
|
|
1331
1477
|
}]
|
|
1332
|
-
}],
|
|
1478
|
+
}], propDecorators: { dynamicTarget: [{
|
|
1333
1479
|
type: ViewChild,
|
|
1334
|
-
args: [
|
|
1480
|
+
args: ["dynamicTarget", { read: ViewContainerRef, static: true }]
|
|
1335
1481
|
}] } });
|
|
1336
1482
|
|
|
1337
1483
|
class CheckboxEditorComponent extends DefaultEditor {
|
|
@@ -1344,108 +1490,130 @@ class CheckboxEditorComponent extends DefaultEditor {
|
|
|
1344
1490
|
const falseVal = (config && config?.false) || false;
|
|
1345
1491
|
this.cell.newValue = event.target.checked ? trueVal : falseVal;
|
|
1346
1492
|
}
|
|
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
|
-
|
|
1493
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1494
|
+
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: `
|
|
1495
|
+
<input
|
|
1496
|
+
[class]="inputClass"
|
|
1497
|
+
type="checkbox"
|
|
1498
|
+
class="form-control"
|
|
1499
|
+
[name]="cell.getId()"
|
|
1500
|
+
[disabled]="!cell.isEditable()"
|
|
1501
|
+
[checked]="
|
|
1502
|
+
cell.getValue() === (cell.getColumn().getConfig()?.true || true)
|
|
1503
|
+
"
|
|
1504
|
+
(click)="onClick.emit($event)"
|
|
1505
|
+
(change)="onChange($event)"
|
|
1506
|
+
/>
|
|
1507
|
+
`, isInline: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }); }
|
|
1358
1508
|
}
|
|
1359
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1509
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxEditorComponent, decorators: [{
|
|
1360
1510
|
type: Component,
|
|
1361
|
-
args: [{ selector:
|
|
1362
|
-
<input
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1511
|
+
args: [{ selector: "checkbox-editor", template: `
|
|
1512
|
+
<input
|
|
1513
|
+
[class]="inputClass"
|
|
1514
|
+
type="checkbox"
|
|
1515
|
+
class="form-control"
|
|
1516
|
+
[name]="cell.getId()"
|
|
1517
|
+
[disabled]="!cell.isEditable()"
|
|
1518
|
+
[checked]="
|
|
1519
|
+
cell.getValue() === (cell.getColumn().getConfig()?.true || true)
|
|
1520
|
+
"
|
|
1521
|
+
(click)="onClick.emit($event)"
|
|
1522
|
+
(change)="onChange($event)"
|
|
1523
|
+
/>
|
|
1524
|
+
`, standalone: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
|
|
1371
1525
|
}], ctorParameters: () => [] });
|
|
1372
1526
|
|
|
1373
1527
|
class InputEditorComponent extends DefaultEditor {
|
|
1374
1528
|
constructor() {
|
|
1375
1529
|
super();
|
|
1376
1530
|
}
|
|
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
|
-
|
|
1531
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1532
|
+
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: `
|
|
1533
|
+
<input
|
|
1534
|
+
[class]="inputClass"
|
|
1535
|
+
class="form-control"
|
|
1536
|
+
[(ngModel)]="cell.newValue"
|
|
1537
|
+
[name]="cell.getId()"
|
|
1538
|
+
[placeholder]="cell.getTitle()"
|
|
1539
|
+
[disabled]="!cell.isEditable()"
|
|
1540
|
+
(click)="onClick.emit($event)"
|
|
1541
|
+
(keydown.enter)="onEdited.emit($event)"
|
|
1542
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1543
|
+
/>
|
|
1544
|
+
`, 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
1545
|
}
|
|
1390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1546
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputEditorComponent, decorators: [{
|
|
1391
1547
|
type: Component,
|
|
1392
|
-
args: [{ selector:
|
|
1393
|
-
<input
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1548
|
+
args: [{ selector: "input-editor", template: `
|
|
1549
|
+
<input
|
|
1550
|
+
[class]="inputClass"
|
|
1551
|
+
class="form-control"
|
|
1552
|
+
[(ngModel)]="cell.newValue"
|
|
1553
|
+
[name]="cell.getId()"
|
|
1554
|
+
[placeholder]="cell.getTitle()"
|
|
1555
|
+
[disabled]="!cell.isEditable()"
|
|
1556
|
+
(click)="onClick.emit($event)"
|
|
1557
|
+
(keydown.enter)="onEdited.emit($event)"
|
|
1558
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1559
|
+
/>
|
|
1560
|
+
`, standalone: true, imports: [FormsModule], styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
|
|
1403
1561
|
}], ctorParameters: () => [] });
|
|
1404
1562
|
|
|
1405
1563
|
class SelectEditorComponent extends DefaultEditor {
|
|
1406
1564
|
constructor() {
|
|
1407
1565
|
super();
|
|
1408
1566
|
}
|
|
1409
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1410
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1411
|
-
<select
|
|
1567
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1568
|
+
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: `
|
|
1569
|
+
<select
|
|
1570
|
+
[class]="inputClass"
|
|
1412
1571
|
class="form-control"
|
|
1413
1572
|
[(ngModel)]="cell.newValue"
|
|
1414
1573
|
[name]="cell.getId()"
|
|
1415
1574
|
[disabled]="!cell.isEditable()"
|
|
1416
1575
|
(click)="onClick.emit($event)"
|
|
1417
1576
|
(keydown.enter)="onEdited.emit($event)"
|
|
1418
|
-
(keydown.esc)="onStopEditing.emit()"
|
|
1419
|
-
|
|
1420
|
-
@for (option of cell.getColumn().getConfig()?.list; track option) {
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1577
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1578
|
+
>
|
|
1579
|
+
@for (option of cell.getColumn().getConfig()?.list; track option.value) {
|
|
1580
|
+
<option
|
|
1581
|
+
[value]="option.value"
|
|
1582
|
+
[selected]="option.value === cell.getValue()"
|
|
1583
|
+
>
|
|
1584
|
+
{{ option.title }}
|
|
1585
|
+
</option>
|
|
1424
1586
|
}
|
|
1425
1587
|
</select>
|
|
1426
|
-
|
|
1588
|
+
`, 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
1589
|
}
|
|
1428
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1590
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectEditorComponent, decorators: [{
|
|
1429
1591
|
type: Component,
|
|
1430
1592
|
args: [{
|
|
1431
|
-
selector:
|
|
1593
|
+
selector: "select-editor",
|
|
1432
1594
|
template: `
|
|
1433
|
-
<select
|
|
1595
|
+
<select
|
|
1596
|
+
[class]="inputClass"
|
|
1434
1597
|
class="form-control"
|
|
1435
1598
|
[(ngModel)]="cell.newValue"
|
|
1436
1599
|
[name]="cell.getId()"
|
|
1437
1600
|
[disabled]="!cell.isEditable()"
|
|
1438
1601
|
(click)="onClick.emit($event)"
|
|
1439
1602
|
(keydown.enter)="onEdited.emit($event)"
|
|
1440
|
-
(keydown.esc)="onStopEditing.emit()"
|
|
1441
|
-
|
|
1442
|
-
@for (option of cell.getColumn().getConfig()?.list; track option) {
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1603
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1604
|
+
>
|
|
1605
|
+
@for (option of cell.getColumn().getConfig()?.list; track option.value) {
|
|
1606
|
+
<option
|
|
1607
|
+
[value]="option.value"
|
|
1608
|
+
[selected]="option.value === cell.getValue()"
|
|
1609
|
+
>
|
|
1610
|
+
{{ option.title }}
|
|
1611
|
+
</option>
|
|
1446
1612
|
}
|
|
1447
1613
|
</select>
|
|
1448
|
-
|
|
1614
|
+
`,
|
|
1615
|
+
standalone: true,
|
|
1616
|
+
imports: [FormsModule],
|
|
1449
1617
|
}]
|
|
1450
1618
|
}], ctorParameters: () => [] });
|
|
1451
1619
|
|
|
@@ -1453,34 +1621,38 @@ class TextareaEditorComponent extends DefaultEditor {
|
|
|
1453
1621
|
constructor() {
|
|
1454
1622
|
super();
|
|
1455
1623
|
}
|
|
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
|
-
|
|
1624
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TextareaEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1625
|
+
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: `
|
|
1626
|
+
<textarea
|
|
1627
|
+
[class]="inputClass"
|
|
1628
|
+
class="form-control"
|
|
1629
|
+
[(ngModel)]="cell.newValue"
|
|
1630
|
+
[name]="cell.getId()"
|
|
1631
|
+
[disabled]="!cell.isEditable()"
|
|
1632
|
+
[placeholder]="cell.getTitle()"
|
|
1633
|
+
(click)="onClick.emit($event)"
|
|
1634
|
+
(keydown.enter)="onEdited.emit($event)"
|
|
1635
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1636
|
+
>
|
|
1467
1637
|
</textarea>
|
|
1468
|
-
|
|
1638
|
+
`, 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
1639
|
}
|
|
1470
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1640
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TextareaEditorComponent, decorators: [{
|
|
1471
1641
|
type: Component,
|
|
1472
|
-
args: [{ selector:
|
|
1473
|
-
<textarea
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1642
|
+
args: [{ selector: "textarea-editor", template: `
|
|
1643
|
+
<textarea
|
|
1644
|
+
[class]="inputClass"
|
|
1645
|
+
class="form-control"
|
|
1646
|
+
[(ngModel)]="cell.newValue"
|
|
1647
|
+
[name]="cell.getId()"
|
|
1648
|
+
[disabled]="!cell.isEditable()"
|
|
1649
|
+
[placeholder]="cell.getTitle()"
|
|
1650
|
+
(click)="onClick.emit($event)"
|
|
1651
|
+
(keydown.enter)="onEdited.emit($event)"
|
|
1652
|
+
(keydown.esc)="onStopEditing.emit('')"
|
|
1653
|
+
>
|
|
1482
1654
|
</textarea>
|
|
1483
|
-
|
|
1655
|
+
`, standalone: true, imports: [FormsModule], styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
|
|
1484
1656
|
}], ctorParameters: () => [] });
|
|
1485
1657
|
|
|
1486
1658
|
class DefaultEditComponent extends EditCellDefault {
|
|
@@ -1492,23 +1664,28 @@ class DefaultEditComponent extends EditCellDefault {
|
|
|
1492
1664
|
if (editor) {
|
|
1493
1665
|
return editor.type;
|
|
1494
1666
|
}
|
|
1495
|
-
return
|
|
1667
|
+
return "text";
|
|
1496
1668
|
}
|
|
1497
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1498
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1669
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1670
|
+
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
1671
|
}
|
|
1500
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1672
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultEditComponent, decorators: [{
|
|
1501
1673
|
type: Component,
|
|
1502
|
-
args: [{ selector:
|
|
1674
|
+
args: [{ selector: "table-cell-default-editor", imports: [
|
|
1675
|
+
SelectEditorComponent,
|
|
1676
|
+
TextareaEditorComponent,
|
|
1677
|
+
CheckboxEditorComponent,
|
|
1678
|
+
InputEditorComponent,
|
|
1679
|
+
], 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
1680
|
}], ctorParameters: () => [] });
|
|
1504
1681
|
|
|
1505
1682
|
class EditCellComponent {
|
|
1506
1683
|
constructor() {
|
|
1507
|
-
this.inputClass =
|
|
1508
|
-
this.edited =
|
|
1684
|
+
this.inputClass = "";
|
|
1685
|
+
this.edited = output();
|
|
1509
1686
|
}
|
|
1510
1687
|
onEdited(event) {
|
|
1511
|
-
this.edited.
|
|
1688
|
+
this.edited.emit(event);
|
|
1512
1689
|
return false;
|
|
1513
1690
|
}
|
|
1514
1691
|
getEditorType() {
|
|
@@ -1516,112 +1693,119 @@ class EditCellComponent {
|
|
|
1516
1693
|
if (editor) {
|
|
1517
1694
|
return editor.type;
|
|
1518
1695
|
}
|
|
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" }] }); }
|
|
1696
|
+
return "text";
|
|
1697
|
+
}
|
|
1698
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1699
|
+
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: `
|
|
1700
|
+
<div>
|
|
1701
|
+
@switch (getEditorType()) { @case ('custom') {
|
|
1702
|
+
<table-cell-custom-editor
|
|
1703
|
+
[cell]="cell"
|
|
1704
|
+
[inputClass]="inputClass"
|
|
1705
|
+
(edited)="onEdited($event)"
|
|
1706
|
+
>
|
|
1707
|
+
</table-cell-custom-editor>
|
|
1708
|
+
} @default {
|
|
1709
|
+
<table-cell-default-editor
|
|
1710
|
+
[cell]="cell"
|
|
1711
|
+
[inputClass]="inputClass"
|
|
1712
|
+
(edited)="onEdited($event)"
|
|
1713
|
+
>
|
|
1714
|
+
</table-cell-default-editor>
|
|
1715
|
+
} }
|
|
1716
|
+
</div>
|
|
1717
|
+
`, isInline: true, dependencies: [{ kind: "component", type: CustomEditComponent, selector: "table-cell-custom-editor" }, { kind: "component", type: DefaultEditComponent, selector: "table-cell-default-editor" }] }); }
|
|
1542
1718
|
}
|
|
1543
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1719
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellComponent, decorators: [{
|
|
1544
1720
|
type: Component,
|
|
1545
1721
|
args: [{
|
|
1546
|
-
selector:
|
|
1722
|
+
selector: "table-cell-edit-mode",
|
|
1547
1723
|
template: `
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1724
|
+
<div>
|
|
1725
|
+
@switch (getEditorType()) { @case ('custom') {
|
|
1726
|
+
<table-cell-custom-editor
|
|
1727
|
+
[cell]="cell"
|
|
1728
|
+
[inputClass]="inputClass"
|
|
1729
|
+
(edited)="onEdited($event)"
|
|
1730
|
+
>
|
|
1731
|
+
</table-cell-custom-editor>
|
|
1732
|
+
} @default {
|
|
1733
|
+
<table-cell-default-editor
|
|
1734
|
+
[cell]="cell"
|
|
1735
|
+
[inputClass]="inputClass"
|
|
1736
|
+
(edited)="onEdited($event)"
|
|
1737
|
+
>
|
|
1738
|
+
</table-cell-default-editor>
|
|
1739
|
+
} }
|
|
1740
|
+
</div>
|
|
1741
|
+
`,
|
|
1742
|
+
standalone: true,
|
|
1743
|
+
imports: [CustomEditComponent, DefaultEditComponent],
|
|
1567
1744
|
}]
|
|
1568
1745
|
}], propDecorators: { cell: [{
|
|
1569
1746
|
type: Input
|
|
1570
1747
|
}], inputClass: [{
|
|
1571
1748
|
type: Input
|
|
1572
|
-
}], edited: [{
|
|
1573
|
-
type: Output
|
|
1574
1749
|
}] } });
|
|
1575
1750
|
|
|
1576
1751
|
class CustomViewComponent {
|
|
1577
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1578
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1752
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1753
|
+
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
|
|
1754
|
+
*ngComponentOutlet="
|
|
1755
|
+
cell.getColumn().renderComponent;
|
|
1756
|
+
inputs: { rowData: cell.getRow().getData(), value: cell.getValue() }
|
|
1757
|
+
"
|
|
1758
|
+
></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
|
|
1579
1759
|
}
|
|
1580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1760
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomViewComponent, decorators: [{
|
|
1581
1761
|
type: Component,
|
|
1582
|
-
args: [{
|
|
1762
|
+
args: [{
|
|
1763
|
+
selector: "custom-view-component",
|
|
1764
|
+
template: `<ng-template
|
|
1765
|
+
*ngComponentOutlet="
|
|
1766
|
+
cell.getColumn().renderComponent;
|
|
1767
|
+
inputs: { rowData: cell.getRow().getData(), value: cell.getValue() }
|
|
1768
|
+
"
|
|
1769
|
+
></ng-template>`,
|
|
1770
|
+
imports: [NgComponentOutlet],
|
|
1771
|
+
standalone: true,
|
|
1772
|
+
}]
|
|
1583
1773
|
}], propDecorators: { cell: [{
|
|
1584
1774
|
type: Input
|
|
1585
1775
|
}] } });
|
|
1586
1776
|
|
|
1587
1777
|
class ViewCellComponent {
|
|
1588
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1589
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1778
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ViewCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1779
|
+
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
1780
|
<div>
|
|
1591
|
-
@switch (cell.getColumn().type) {
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
@default {
|
|
1599
|
-
<div>{{ cell.getValue() }}</div>
|
|
1600
|
-
}
|
|
1601
|
-
}
|
|
1781
|
+
@switch (cell.getColumn().type) { @case ('custom') {
|
|
1782
|
+
<custom-view-component [cell]="cell"></custom-view-component>
|
|
1783
|
+
} @case ('html') {
|
|
1784
|
+
<div [innerHTML]="cell.getValue()"></div>
|
|
1785
|
+
} @default {
|
|
1786
|
+
<div>{{ cell.getValue() }}</div>
|
|
1787
|
+
} }
|
|
1602
1788
|
</div>
|
|
1603
|
-
|
|
1789
|
+
`, isInline: true, dependencies: [{ kind: "component", type: CustomViewComponent, selector: "custom-view-component", inputs: ["cell"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1604
1790
|
}
|
|
1605
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1791
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ViewCellComponent, decorators: [{
|
|
1606
1792
|
type: Component,
|
|
1607
1793
|
args: [{
|
|
1608
|
-
selector:
|
|
1794
|
+
selector: "table-cell-view-mode",
|
|
1609
1795
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1610
1796
|
template: `
|
|
1611
1797
|
<div>
|
|
1612
|
-
@switch (cell.getColumn().type) {
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
@default {
|
|
1620
|
-
<div>{{ cell.getValue() }}</div>
|
|
1621
|
-
}
|
|
1622
|
-
}
|
|
1798
|
+
@switch (cell.getColumn().type) { @case ('custom') {
|
|
1799
|
+
<custom-view-component [cell]="cell"></custom-view-component>
|
|
1800
|
+
} @case ('html') {
|
|
1801
|
+
<div [innerHTML]="cell.getValue()"></div>
|
|
1802
|
+
} @default {
|
|
1803
|
+
<div>{{ cell.getValue() }}</div>
|
|
1804
|
+
} }
|
|
1623
1805
|
</div>
|
|
1624
|
-
|
|
1806
|
+
`,
|
|
1807
|
+
standalone: true,
|
|
1808
|
+
imports: [CustomViewComponent],
|
|
1625
1809
|
}]
|
|
1626
1810
|
}], propDecorators: { cell: [{
|
|
1627
1811
|
type: Input
|
|
@@ -1629,10 +1813,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1629
1813
|
|
|
1630
1814
|
class CellComponent {
|
|
1631
1815
|
constructor() {
|
|
1632
|
-
this.inputClass =
|
|
1633
|
-
this.mode =
|
|
1816
|
+
this.inputClass = "";
|
|
1817
|
+
this.mode = "inline";
|
|
1634
1818
|
this.isInEditing = false;
|
|
1635
|
-
this.edited =
|
|
1819
|
+
this.edited = output();
|
|
1636
1820
|
}
|
|
1637
1821
|
onEdited(event) {
|
|
1638
1822
|
if (this.isNew) {
|
|
@@ -1642,34 +1826,38 @@ class CellComponent {
|
|
|
1642
1826
|
this.grid.save(this.row, this.editConfirm);
|
|
1643
1827
|
}
|
|
1644
1828
|
}
|
|
1645
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1646
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1829
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1830
|
+
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
1831
|
@if (!isInEditing) {
|
|
1648
|
-
|
|
1649
|
-
}
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1832
|
+
<table-cell-view-mode [cell]="cell"></table-cell-view-mode>
|
|
1833
|
+
} @else {
|
|
1834
|
+
<table-cell-edit-mode
|
|
1835
|
+
[cell]="cell"
|
|
1836
|
+
[inputClass]="inputClass"
|
|
1837
|
+
(edited)="onEdited($event)"
|
|
1838
|
+
>
|
|
1839
|
+
</table-cell-edit-mode>
|
|
1840
|
+
}
|
|
1841
|
+
`, 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
1842
|
}
|
|
1658
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1843
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CellComponent, decorators: [{
|
|
1659
1844
|
type: Component,
|
|
1660
1845
|
args: [{
|
|
1661
|
-
selector:
|
|
1846
|
+
selector: "ng2-smart-table-cell",
|
|
1662
1847
|
template: `
|
|
1663
1848
|
@if (!isInEditing) {
|
|
1664
|
-
|
|
1665
|
-
}
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1849
|
+
<table-cell-view-mode [cell]="cell"></table-cell-view-mode>
|
|
1850
|
+
} @else {
|
|
1851
|
+
<table-cell-edit-mode
|
|
1852
|
+
[cell]="cell"
|
|
1853
|
+
[inputClass]="inputClass"
|
|
1854
|
+
(edited)="onEdited($event)"
|
|
1855
|
+
>
|
|
1856
|
+
</table-cell-edit-mode>
|
|
1671
1857
|
}
|
|
1672
|
-
|
|
1858
|
+
`,
|
|
1859
|
+
standalone: true,
|
|
1860
|
+
imports: [ViewCellComponent, EditCellComponent],
|
|
1673
1861
|
}]
|
|
1674
1862
|
}], propDecorators: { grid: [{
|
|
1675
1863
|
type: Input
|
|
@@ -1689,8 +1877,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1689
1877
|
type: Input
|
|
1690
1878
|
}], isInEditing: [{
|
|
1691
1879
|
type: Input
|
|
1692
|
-
}], edited: [{
|
|
1693
|
-
type: Output
|
|
1694
1880
|
}] } });
|
|
1695
1881
|
|
|
1696
1882
|
class TbodyCreateCancelComponent {
|
|
@@ -1713,166 +1899,167 @@ class TbodyCreateCancelComponent {
|
|
|
1713
1899
|
this.saveButtonContent = this.grid.getSetting("edit.saveButtonContent", "save");
|
|
1714
1900
|
this.cancelButtonContent = this.grid.getSetting("edit.cancelButtonContent", "cancel");
|
|
1715
1901
|
}
|
|
1716
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1717
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1902
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCreateCancelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1903
|
+
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
1904
|
@if (!row.pending) {
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1905
|
+
<a
|
|
1906
|
+
href="#"
|
|
1907
|
+
[id]="'row-' + row.index + '_editing-confirm-button'"
|
|
1908
|
+
class="ng2-smart-action ng2-smart-action-edit-save"
|
|
1909
|
+
[innerHTML]="saveButtonContent"
|
|
1910
|
+
(click)="onSave($event)"
|
|
1911
|
+
></a>
|
|
1912
|
+
<a
|
|
1913
|
+
href="#"
|
|
1914
|
+
[id]="'row-' + row.index + '_editing-cancel-button'"
|
|
1915
|
+
class="ng2-smart-action ng2-smart-action-edit-cancel"
|
|
1916
|
+
[innerHTML]="cancelButtonContent"
|
|
1917
|
+
(click)="onCancelEdit($event)"
|
|
1918
|
+
></a>
|
|
1733
1919
|
} @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
|
-
|
|
1920
|
+
<div style="display: flex;">
|
|
1921
|
+
<svg
|
|
1922
|
+
(click)="$event.stopPropagation()"
|
|
1923
|
+
style="height: 2rem; width: 2rem;"
|
|
1924
|
+
version="1.1"
|
|
1925
|
+
id="L9"
|
|
1926
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1927
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
1928
|
+
x="0px"
|
|
1929
|
+
y="0px"
|
|
1930
|
+
viewBox="0 0 100 100"
|
|
1931
|
+
enable-background="new 0 0 0 0"
|
|
1932
|
+
xml:space="preserve"
|
|
1933
|
+
>
|
|
1934
|
+
<path
|
|
1935
|
+
fill="#e9e9e9"
|
|
1936
|
+
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"
|
|
1937
|
+
>
|
|
1938
|
+
<animateTransform
|
|
1939
|
+
attributeName="transform"
|
|
1940
|
+
attributeType="XML"
|
|
1941
|
+
type="rotate"
|
|
1942
|
+
dur="1s"
|
|
1943
|
+
from="0 50 50"
|
|
1944
|
+
to="360 50 50"
|
|
1945
|
+
repeatCount="indefinite"
|
|
1946
|
+
/>
|
|
1947
|
+
</path>
|
|
1948
|
+
</svg>
|
|
1949
|
+
<svg
|
|
1950
|
+
(click)="$event.stopPropagation()"
|
|
1951
|
+
style="height: 2rem; width: 2rem; "
|
|
1952
|
+
version="1.1"
|
|
1953
|
+
id="L9"
|
|
1954
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1955
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
1956
|
+
x="0px"
|
|
1957
|
+
y="0px"
|
|
1958
|
+
viewBox="0 0 100 100"
|
|
1959
|
+
enable-background="new 0 0 0 0"
|
|
1960
|
+
xml:space="preserve"
|
|
1961
|
+
>
|
|
1962
|
+
<path
|
|
1963
|
+
fill="#e9e9e9"
|
|
1964
|
+
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"
|
|
1965
|
+
>
|
|
1966
|
+
<animateTransform
|
|
1967
|
+
attributeName="transform"
|
|
1968
|
+
attributeType="XML"
|
|
1969
|
+
type="rotate"
|
|
1970
|
+
dur="1s"
|
|
1971
|
+
from="0 50 50"
|
|
1972
|
+
to="360 50 50"
|
|
1973
|
+
repeatCount="indefinite"
|
|
1974
|
+
/>
|
|
1975
|
+
</path>
|
|
1976
|
+
</svg>
|
|
1977
|
+
</div>
|
|
1978
|
+
}
|
|
1979
|
+
`, isInline: true }); }
|
|
1794
1980
|
}
|
|
1795
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1981
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCreateCancelComponent, decorators: [{
|
|
1796
1982
|
type: Component,
|
|
1797
1983
|
args: [{
|
|
1798
1984
|
selector: "ng2-st-tbody-create-cancel",
|
|
1799
1985
|
template: `
|
|
1800
1986
|
@if (!row.pending) {
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1987
|
+
<a
|
|
1988
|
+
href="#"
|
|
1989
|
+
[id]="'row-' + row.index + '_editing-confirm-button'"
|
|
1990
|
+
class="ng2-smart-action ng2-smart-action-edit-save"
|
|
1991
|
+
[innerHTML]="saveButtonContent"
|
|
1992
|
+
(click)="onSave($event)"
|
|
1993
|
+
></a>
|
|
1994
|
+
<a
|
|
1995
|
+
href="#"
|
|
1996
|
+
[id]="'row-' + row.index + '_editing-cancel-button'"
|
|
1997
|
+
class="ng2-smart-action ng2-smart-action-edit-cancel"
|
|
1998
|
+
[innerHTML]="cancelButtonContent"
|
|
1999
|
+
(click)="onCancelEdit($event)"
|
|
2000
|
+
></a>
|
|
1815
2001
|
} @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
|
-
|
|
2002
|
+
<div style="display: flex;">
|
|
2003
|
+
<svg
|
|
2004
|
+
(click)="$event.stopPropagation()"
|
|
2005
|
+
style="height: 2rem; width: 2rem;"
|
|
2006
|
+
version="1.1"
|
|
2007
|
+
id="L9"
|
|
2008
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2009
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2010
|
+
x="0px"
|
|
2011
|
+
y="0px"
|
|
2012
|
+
viewBox="0 0 100 100"
|
|
2013
|
+
enable-background="new 0 0 0 0"
|
|
2014
|
+
xml:space="preserve"
|
|
2015
|
+
>
|
|
2016
|
+
<path
|
|
2017
|
+
fill="#e9e9e9"
|
|
2018
|
+
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"
|
|
2019
|
+
>
|
|
2020
|
+
<animateTransform
|
|
2021
|
+
attributeName="transform"
|
|
2022
|
+
attributeType="XML"
|
|
2023
|
+
type="rotate"
|
|
2024
|
+
dur="1s"
|
|
2025
|
+
from="0 50 50"
|
|
2026
|
+
to="360 50 50"
|
|
2027
|
+
repeatCount="indefinite"
|
|
2028
|
+
/>
|
|
2029
|
+
</path>
|
|
2030
|
+
</svg>
|
|
2031
|
+
<svg
|
|
2032
|
+
(click)="$event.stopPropagation()"
|
|
2033
|
+
style="height: 2rem; width: 2rem; "
|
|
2034
|
+
version="1.1"
|
|
2035
|
+
id="L9"
|
|
2036
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2037
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2038
|
+
x="0px"
|
|
2039
|
+
y="0px"
|
|
2040
|
+
viewBox="0 0 100 100"
|
|
2041
|
+
enable-background="new 0 0 0 0"
|
|
2042
|
+
xml:space="preserve"
|
|
2043
|
+
>
|
|
2044
|
+
<path
|
|
2045
|
+
fill="#e9e9e9"
|
|
2046
|
+
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"
|
|
2047
|
+
>
|
|
2048
|
+
<animateTransform
|
|
2049
|
+
attributeName="transform"
|
|
2050
|
+
attributeType="XML"
|
|
2051
|
+
type="rotate"
|
|
2052
|
+
dur="1s"
|
|
2053
|
+
from="0 50 50"
|
|
2054
|
+
to="360 50 50"
|
|
2055
|
+
repeatCount="indefinite"
|
|
2056
|
+
/>
|
|
2057
|
+
</path>
|
|
2058
|
+
</svg>
|
|
2059
|
+
</div>
|
|
1874
2060
|
}
|
|
1875
|
-
|
|
2061
|
+
`,
|
|
2062
|
+
standalone: true,
|
|
1876
2063
|
}]
|
|
1877
2064
|
}], propDecorators: { grid: [{
|
|
1878
2065
|
type: Input
|
|
@@ -1884,11 +2071,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1884
2071
|
type: Input
|
|
1885
2072
|
}] } });
|
|
1886
2073
|
|
|
2074
|
+
class TbodyCustomComponent {
|
|
2075
|
+
constructor() {
|
|
2076
|
+
this.custom = output();
|
|
2077
|
+
}
|
|
2078
|
+
onCustom(action) {
|
|
2079
|
+
this.custom.emit({
|
|
2080
|
+
action: action.name,
|
|
2081
|
+
data: this.row.getData(),
|
|
2082
|
+
source: this.source,
|
|
2083
|
+
});
|
|
2084
|
+
}
|
|
2085
|
+
customActions() {
|
|
2086
|
+
return this.grid.getSetting("actions.custom");
|
|
2087
|
+
}
|
|
2088
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCustomComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2089
|
+
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: `
|
|
2090
|
+
@for (action of customActions(); track $index) {
|
|
2091
|
+
<a
|
|
2092
|
+
[id]="'row-' + row.index + '_action-' + action.name + '-button'"
|
|
2093
|
+
href="#"
|
|
2094
|
+
class="ng2-smart-action ng2-smart-action-custom-custom"
|
|
2095
|
+
[innerHTML]="action.title"
|
|
2096
|
+
(click)="
|
|
2097
|
+
$event.stopPropagation(); $event.preventDefault(); onCustom(action)
|
|
2098
|
+
"
|
|
2099
|
+
></a>
|
|
2100
|
+
}
|
|
2101
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2102
|
+
}
|
|
2103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCustomComponent, decorators: [{
|
|
2104
|
+
type: Component,
|
|
2105
|
+
args: [{
|
|
2106
|
+
selector: "ng2-st-tbody-custom",
|
|
2107
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2108
|
+
template: `
|
|
2109
|
+
@for (action of customActions(); track $index) {
|
|
2110
|
+
<a
|
|
2111
|
+
[id]="'row-' + row.index + '_action-' + action.name + '-button'"
|
|
2112
|
+
href="#"
|
|
2113
|
+
class="ng2-smart-action ng2-smart-action-custom-custom"
|
|
2114
|
+
[innerHTML]="action.title"
|
|
2115
|
+
(click)="
|
|
2116
|
+
$event.stopPropagation(); $event.preventDefault(); onCustom(action)
|
|
2117
|
+
"
|
|
2118
|
+
></a>
|
|
2119
|
+
}
|
|
2120
|
+
`,
|
|
2121
|
+
standalone: true,
|
|
2122
|
+
}]
|
|
2123
|
+
}], propDecorators: { grid: [{
|
|
2124
|
+
type: Input
|
|
2125
|
+
}], row: [{
|
|
2126
|
+
type: Input
|
|
2127
|
+
}], source: [{
|
|
2128
|
+
type: Input
|
|
2129
|
+
}] } });
|
|
2130
|
+
|
|
1887
2131
|
class TbodyEditDeleteComponent {
|
|
1888
2132
|
constructor() {
|
|
1889
|
-
this.edit =
|
|
1890
|
-
this.delete =
|
|
1891
|
-
this.editRowSelect =
|
|
2133
|
+
this.edit = output();
|
|
2134
|
+
this.delete = output();
|
|
2135
|
+
this.editRowSelect = output();
|
|
1892
2136
|
this.isActionEdit = false;
|
|
1893
2137
|
this.isActionDelete = false;
|
|
1894
2138
|
this.editRowButtonContent = "";
|
|
@@ -1925,182 +2169,175 @@ class TbodyEditDeleteComponent {
|
|
|
1925
2169
|
this.editRowButtonContent = this.grid.getSetting("edit.editButtonContent");
|
|
1926
2170
|
this.deleteRowButtonContent = this.grid.getSetting("delete.deleteButtonContent");
|
|
1927
2171
|
}
|
|
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) {
|
|
2172
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyEditDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2173
|
+
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: `
|
|
2174
|
+
@if (!row.pending) { @if (isActionEdit) {
|
|
2175
|
+
<a
|
|
2176
|
+
href="#"
|
|
2177
|
+
[id]="'row-' + row.index + '_action-edit-button'"
|
|
2178
|
+
class="ng2-smart-action ng2-smart-action-edit-edit"
|
|
2179
|
+
[innerHTML]="editRowButtonContent"
|
|
2180
|
+
(click)="onEdit($event)"
|
|
2181
|
+
></a>
|
|
2182
|
+
} @if (isActionDelete) {
|
|
2183
|
+
<a
|
|
2184
|
+
href="#"
|
|
2185
|
+
[id]="'row-' + row.index + '_action-delete-button'"
|
|
2186
|
+
class="ng2-smart-action ng2-smart-action-delete-delete"
|
|
2187
|
+
[innerHTML]="deleteRowButtonContent"
|
|
2188
|
+
(click)="onDelete($event)"
|
|
2189
|
+
></a>
|
|
2190
|
+
} } @else {
|
|
2191
|
+
<div style="display: flex;">
|
|
1931
2192
|
@if (isActionEdit) {
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
2193
|
+
<svg
|
|
2194
|
+
(click)="$event.stopPropagation()"
|
|
2195
|
+
style="height: 2rem; width: 2rem;"
|
|
2196
|
+
version="1.1"
|
|
2197
|
+
id="L9"
|
|
2198
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2199
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2200
|
+
x="0px"
|
|
2201
|
+
y="0px"
|
|
2202
|
+
viewBox="0 0 100 100"
|
|
2203
|
+
enable-background="new 0 0 0 0"
|
|
2204
|
+
xml:space="preserve"
|
|
2205
|
+
>
|
|
2206
|
+
<path
|
|
2207
|
+
fill="#e9e9e9"
|
|
2208
|
+
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"
|
|
2209
|
+
>
|
|
2210
|
+
<animateTransform
|
|
2211
|
+
attributeName="transform"
|
|
2212
|
+
attributeType="XML"
|
|
2213
|
+
type="rotate"
|
|
2214
|
+
dur="1s"
|
|
2215
|
+
from="0 50 50"
|
|
2216
|
+
to="360 50 50"
|
|
2217
|
+
repeatCount="indefinite"
|
|
2218
|
+
/>
|
|
2219
|
+
</path>
|
|
2220
|
+
</svg>
|
|
2221
|
+
} @if (isActionDelete) {
|
|
2222
|
+
<svg
|
|
2223
|
+
(click)="$event.stopPropagation()"
|
|
2224
|
+
style="height: 2rem; width: 2rem;"
|
|
2225
|
+
version="1.1"
|
|
2226
|
+
id="L9"
|
|
2227
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2228
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2229
|
+
x="0px"
|
|
2230
|
+
y="0px"
|
|
2231
|
+
viewBox="0 0 100 100"
|
|
2232
|
+
enable-background="new 0 0 0 0"
|
|
2233
|
+
xml:space="preserve"
|
|
2234
|
+
>
|
|
2235
|
+
<path
|
|
2236
|
+
fill="#e9e9e9"
|
|
2237
|
+
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"
|
|
2238
|
+
>
|
|
2239
|
+
<animateTransform
|
|
2240
|
+
attributeName="transform"
|
|
2241
|
+
attributeType="XML"
|
|
2242
|
+
type="rotate"
|
|
2243
|
+
dur="1s"
|
|
2244
|
+
from="0 50 50"
|
|
2245
|
+
to="360 50 50"
|
|
2246
|
+
repeatCount="indefinite"
|
|
2247
|
+
/>
|
|
2248
|
+
</path>
|
|
2249
|
+
</svg>
|
|
1948
2250
|
}
|
|
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 }); }
|
|
2251
|
+
</div>
|
|
2252
|
+
}
|
|
2253
|
+
`, isInline: true }); }
|
|
2014
2254
|
}
|
|
2015
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyEditDeleteComponent, decorators: [{
|
|
2016
2256
|
type: Component,
|
|
2017
2257
|
args: [{
|
|
2018
2258
|
selector: "ng2-st-tbody-edit-delete",
|
|
2019
2259
|
template: `
|
|
2020
|
-
@if (!row.pending) {
|
|
2260
|
+
@if (!row.pending) { @if (isActionEdit) {
|
|
2261
|
+
<a
|
|
2262
|
+
href="#"
|
|
2263
|
+
[id]="'row-' + row.index + '_action-edit-button'"
|
|
2264
|
+
class="ng2-smart-action ng2-smart-action-edit-edit"
|
|
2265
|
+
[innerHTML]="editRowButtonContent"
|
|
2266
|
+
(click)="onEdit($event)"
|
|
2267
|
+
></a>
|
|
2268
|
+
} @if (isActionDelete) {
|
|
2269
|
+
<a
|
|
2270
|
+
href="#"
|
|
2271
|
+
[id]="'row-' + row.index + '_action-delete-button'"
|
|
2272
|
+
class="ng2-smart-action ng2-smart-action-delete-delete"
|
|
2273
|
+
[innerHTML]="deleteRowButtonContent"
|
|
2274
|
+
(click)="onDelete($event)"
|
|
2275
|
+
></a>
|
|
2276
|
+
} } @else {
|
|
2277
|
+
<div style="display: flex;">
|
|
2021
2278
|
@if (isActionEdit) {
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2279
|
+
<svg
|
|
2280
|
+
(click)="$event.stopPropagation()"
|
|
2281
|
+
style="height: 2rem; width: 2rem;"
|
|
2282
|
+
version="1.1"
|
|
2283
|
+
id="L9"
|
|
2284
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2285
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2286
|
+
x="0px"
|
|
2287
|
+
y="0px"
|
|
2288
|
+
viewBox="0 0 100 100"
|
|
2289
|
+
enable-background="new 0 0 0 0"
|
|
2290
|
+
xml:space="preserve"
|
|
2291
|
+
>
|
|
2292
|
+
<path
|
|
2293
|
+
fill="#e9e9e9"
|
|
2294
|
+
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"
|
|
2295
|
+
>
|
|
2296
|
+
<animateTransform
|
|
2297
|
+
attributeName="transform"
|
|
2298
|
+
attributeType="XML"
|
|
2299
|
+
type="rotate"
|
|
2300
|
+
dur="1s"
|
|
2301
|
+
from="0 50 50"
|
|
2302
|
+
to="360 50 50"
|
|
2303
|
+
repeatCount="indefinite"
|
|
2304
|
+
/>
|
|
2305
|
+
</path>
|
|
2306
|
+
</svg>
|
|
2307
|
+
} @if (isActionDelete) {
|
|
2308
|
+
<svg
|
|
2309
|
+
(click)="$event.stopPropagation()"
|
|
2310
|
+
style="height: 2rem; width: 2rem;"
|
|
2311
|
+
version="1.1"
|
|
2312
|
+
id="L9"
|
|
2313
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2314
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2315
|
+
x="0px"
|
|
2316
|
+
y="0px"
|
|
2317
|
+
viewBox="0 0 100 100"
|
|
2318
|
+
enable-background="new 0 0 0 0"
|
|
2319
|
+
xml:space="preserve"
|
|
2320
|
+
>
|
|
2321
|
+
<path
|
|
2322
|
+
fill="#e9e9e9"
|
|
2323
|
+
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"
|
|
2324
|
+
>
|
|
2325
|
+
<animateTransform
|
|
2326
|
+
attributeName="transform"
|
|
2327
|
+
attributeType="XML"
|
|
2328
|
+
type="rotate"
|
|
2329
|
+
dur="1s"
|
|
2330
|
+
from="0 50 50"
|
|
2331
|
+
to="360 50 50"
|
|
2332
|
+
repeatCount="indefinite"
|
|
2333
|
+
/>
|
|
2334
|
+
</path>
|
|
2335
|
+
</svg>
|
|
2038
2336
|
}
|
|
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>
|
|
2337
|
+
</div>
|
|
2102
2338
|
}
|
|
2103
|
-
|
|
2339
|
+
`,
|
|
2340
|
+
standalone: true,
|
|
2104
2341
|
}]
|
|
2105
2342
|
}], propDecorators: { grid: [{
|
|
2106
2343
|
type: Input
|
|
@@ -2112,87 +2349,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2112
2349
|
type: Input
|
|
2113
2350
|
}], editConfirm: [{
|
|
2114
2351
|
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
2352
|
}] } });
|
|
2176
2353
|
|
|
2177
2354
|
class Ng2SmartTableTbodyComponent {
|
|
2178
2355
|
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 =
|
|
2356
|
+
this.rowClassFunction = () => "";
|
|
2357
|
+
this.save = output();
|
|
2358
|
+
this.cancel = output();
|
|
2359
|
+
this.edit = output();
|
|
2360
|
+
this.editCancel = output();
|
|
2361
|
+
this.delete = output();
|
|
2362
|
+
this.custom = output();
|
|
2363
|
+
this.edited = output();
|
|
2364
|
+
this.userSelectRow = output();
|
|
2365
|
+
this.userClickedRow = output();
|
|
2366
|
+
this.editRowSelect = output();
|
|
2367
|
+
this.multipleSelectRow = output();
|
|
2191
2368
|
this.isMultiSelectVisible = false;
|
|
2192
2369
|
this.showActionColumnLeft = false;
|
|
2193
2370
|
this.showActionColumnRight = false;
|
|
2194
|
-
this.mode =
|
|
2195
|
-
this.editInputClass =
|
|
2371
|
+
this.mode = "inline";
|
|
2372
|
+
this.editInputClass = "";
|
|
2196
2373
|
this.isActionAdd = false;
|
|
2197
2374
|
this.isActionEdit = false;
|
|
2198
2375
|
this.isActionDelete = false;
|
|
@@ -2204,14 +2381,14 @@ class Ng2SmartTableTbodyComponent {
|
|
|
2204
2381
|
}
|
|
2205
2382
|
ngOnChanges() {
|
|
2206
2383
|
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(
|
|
2384
|
+
this.showActionColumnLeft = this.grid.showActionColumn("left");
|
|
2385
|
+
this.mode = this.grid.getSetting("mode", "inline");
|
|
2386
|
+
this.editInputClass = this.grid.getSetting("edit.inputClass", "");
|
|
2387
|
+
this.showActionColumnRight = this.grid.showActionColumn("right");
|
|
2388
|
+
this.isActionAdd = this.grid.getSetting("actions.add", false);
|
|
2389
|
+
this.isActionEdit = this.grid.getSetting("actions.edit", false);
|
|
2390
|
+
this.isActionDelete = this.grid.getSetting("actions.delete", false);
|
|
2391
|
+
this.noDataMessage = this.grid.getSetting("noDataMessage");
|
|
2215
2392
|
}
|
|
2216
2393
|
getVisibleCells(cells) {
|
|
2217
2394
|
return (cells || []).filter((cell) => !cell.getColumn().hide);
|
|
@@ -2219,12 +2396,18 @@ class Ng2SmartTableTbodyComponent {
|
|
|
2219
2396
|
trackByIdOrIndex(index, item) {
|
|
2220
2397
|
return item?.id || index;
|
|
2221
2398
|
}
|
|
2222
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2223
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2399
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTbodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2400
|
+
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
2401
|
}
|
|
2225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2402
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTbodyComponent, decorators: [{
|
|
2226
2403
|
type: Component,
|
|
2227
|
-
args: [{ selector:
|
|
2404
|
+
args: [{ selector: "[ng2-st-tbody]", standalone: true, imports: [
|
|
2405
|
+
FormsModule,
|
|
2406
|
+
TbodyCustomComponent,
|
|
2407
|
+
TbodyEditDeleteComponent,
|
|
2408
|
+
TbodyCreateCancelComponent,
|
|
2409
|
+
CellComponent,
|
|
2410
|
+
], 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
2411
|
}], propDecorators: { grid: [{
|
|
2229
2412
|
type: Input
|
|
2230
2413
|
}], source: [{
|
|
@@ -2235,35 +2418,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2235
2418
|
type: Input
|
|
2236
2419
|
}], rowClassFunction: [{
|
|
2237
2420
|
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
2421
|
}] } });
|
|
2261
2422
|
|
|
2262
2423
|
class FilterDefault {
|
|
2263
2424
|
constructor() {
|
|
2264
2425
|
this.inputClass = '';
|
|
2265
2426
|
this.query = '';
|
|
2266
|
-
this.filter =
|
|
2427
|
+
this.filter = output();
|
|
2267
2428
|
}
|
|
2268
2429
|
onFilter(query) {
|
|
2269
2430
|
this.source.addFilter({
|
|
@@ -2272,14 +2433,12 @@ class FilterDefault {
|
|
|
2272
2433
|
filter: this.column.getFilterFunction(),
|
|
2273
2434
|
});
|
|
2274
2435
|
}
|
|
2275
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2276
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2436
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2437
|
+
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
2438
|
}
|
|
2278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2439
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterDefault, decorators: [{
|
|
2279
2440
|
type: Component,
|
|
2280
|
-
args: [{
|
|
2281
|
-
template: '',
|
|
2282
|
-
}]
|
|
2441
|
+
args: [{ template: '' }]
|
|
2283
2442
|
}], propDecorators: { column: [{
|
|
2284
2443
|
type: Input
|
|
2285
2444
|
}], source: [{
|
|
@@ -2288,8 +2447,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2288
2447
|
type: Input
|
|
2289
2448
|
}], query: [{
|
|
2290
2449
|
type: Input
|
|
2291
|
-
}]
|
|
2292
|
-
|
|
2450
|
+
}] } });
|
|
2451
|
+
|
|
2452
|
+
class CustomFilterComponent extends FilterDefault {
|
|
2453
|
+
ngOnChanges(changes) {
|
|
2454
|
+
if (this.customComponent) {
|
|
2455
|
+
if (this.customComponent.instance?.ngOnChanges) {
|
|
2456
|
+
this.customComponent.instance?.ngOnChanges(changes);
|
|
2457
|
+
}
|
|
2458
|
+
return;
|
|
2459
|
+
}
|
|
2460
|
+
if (this.column.filter && this.column.filter.type === "custom") {
|
|
2461
|
+
this.customComponent = this.dynamicTarget.createComponent(this.column.filter?.component);
|
|
2462
|
+
}
|
|
2463
|
+
// set @Inputs and @Outputs of custom component
|
|
2464
|
+
this.customComponent.instance.query = this.query;
|
|
2465
|
+
this.customComponent.instance.column = this.column;
|
|
2466
|
+
this.customComponent.instance.source = this.source;
|
|
2467
|
+
this.customComponent.instance.inputClass = this.inputClass;
|
|
2468
|
+
this.customComponent.instance.filter.subscribe((event) => this.onFilter(event));
|
|
2469
|
+
}
|
|
2470
|
+
ngOnDestroy() {
|
|
2471
|
+
if (this.customComponent) {
|
|
2472
|
+
this.customComponent.destroy();
|
|
2473
|
+
}
|
|
2474
|
+
}
|
|
2475
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2476
|
+
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 }); }
|
|
2477
|
+
}
|
|
2478
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomFilterComponent, decorators: [{
|
|
2479
|
+
type: Component,
|
|
2480
|
+
args: [{
|
|
2481
|
+
selector: "custom-table-filter",
|
|
2482
|
+
template: `<ng-template #dynamicTarget></ng-template>`,
|
|
2483
|
+
standalone: true,
|
|
2484
|
+
}]
|
|
2485
|
+
}], propDecorators: { dynamicTarget: [{
|
|
2486
|
+
type: ViewChild,
|
|
2487
|
+
args: ["dynamicTarget", { read: ViewContainerRef, static: true }]
|
|
2293
2488
|
}] } });
|
|
2294
2489
|
|
|
2295
2490
|
class CheckboxFilterComponent extends DefaultFilter {
|
|
@@ -2303,39 +2498,57 @@ class CheckboxFilterComponent extends DefaultFilter {
|
|
|
2303
2498
|
.pipe(debounceTime(this.delay))
|
|
2304
2499
|
.subscribe((checked) => {
|
|
2305
2500
|
this.filterActive = true;
|
|
2306
|
-
const trueVal = (this.column.getFilterConfig() &&
|
|
2307
|
-
|
|
2501
|
+
const trueVal = (this.column.getFilterConfig() &&
|
|
2502
|
+
this.column.getFilterConfig().true) ||
|
|
2503
|
+
true;
|
|
2504
|
+
const falseVal = (this.column.getFilterConfig() &&
|
|
2505
|
+
this.column.getFilterConfig().false) ||
|
|
2506
|
+
false;
|
|
2308
2507
|
this.query = checked ? trueVal : falseVal;
|
|
2309
2508
|
this.setFilter();
|
|
2310
2509
|
});
|
|
2311
2510
|
}
|
|
2312
2511
|
resetFilter(event) {
|
|
2313
2512
|
event.preventDefault();
|
|
2314
|
-
this.query =
|
|
2513
|
+
this.query = "";
|
|
2315
2514
|
this.inputControl.setValue(false, { emitEvent: false });
|
|
2316
2515
|
this.filterActive = false;
|
|
2317
2516
|
this.setFilter();
|
|
2318
2517
|
}
|
|
2319
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2320
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2321
|
-
<input
|
|
2518
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2519
|
+
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: `
|
|
2520
|
+
<input
|
|
2521
|
+
type="checkbox"
|
|
2522
|
+
[formControl]="inputControl"
|
|
2523
|
+
[class]="inputClass"
|
|
2524
|
+
class="form-control"
|
|
2525
|
+
/>
|
|
2322
2526
|
@if (filterActive) {
|
|
2323
|
-
|
|
2324
|
-
|
|
2527
|
+
<a href="#" (click)="resetFilter($event)">{{
|
|
2528
|
+
column.getFilterConfig()?.resetText || "reset"
|
|
2529
|
+
}}</a>
|
|
2325
2530
|
}
|
|
2326
|
-
|
|
2531
|
+
`, 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
2532
|
}
|
|
2328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2533
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxFilterComponent, decorators: [{
|
|
2329
2534
|
type: Component,
|
|
2330
2535
|
args: [{
|
|
2331
|
-
selector:
|
|
2536
|
+
selector: "checkbox-filter",
|
|
2332
2537
|
template: `
|
|
2333
|
-
<input
|
|
2538
|
+
<input
|
|
2539
|
+
type="checkbox"
|
|
2540
|
+
[formControl]="inputControl"
|
|
2541
|
+
[class]="inputClass"
|
|
2542
|
+
class="form-control"
|
|
2543
|
+
/>
|
|
2334
2544
|
@if (filterActive) {
|
|
2335
|
-
|
|
2336
|
-
|
|
2545
|
+
<a href="#" (click)="resetFilter($event)">{{
|
|
2546
|
+
column.getFilterConfig()?.resetText || "reset"
|
|
2547
|
+
}}</a>
|
|
2337
2548
|
}
|
|
2338
|
-
|
|
2549
|
+
`,
|
|
2550
|
+
standalone: true,
|
|
2551
|
+
imports: [FormsModule, ReactiveFormsModule],
|
|
2339
2552
|
}]
|
|
2340
2553
|
}], ctorParameters: () => [] });
|
|
2341
2554
|
|
|
@@ -2356,32 +2569,36 @@ class InputFilterComponent extends DefaultFilter {
|
|
|
2356
2569
|
});
|
|
2357
2570
|
}
|
|
2358
2571
|
ngOnChanges(changes) {
|
|
2359
|
-
if (changes?.[
|
|
2572
|
+
if (changes?.["query"]) {
|
|
2360
2573
|
this.inputControl.setValue(this.query);
|
|
2361
2574
|
}
|
|
2362
2575
|
}
|
|
2363
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2364
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2576
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2577
|
+
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
2578
|
<input
|
|
2366
|
-
[
|
|
2579
|
+
[class]="inputClass"
|
|
2367
2580
|
[formControl]="inputControl"
|
|
2368
2581
|
class="form-control"
|
|
2369
2582
|
type="text"
|
|
2370
|
-
placeholder="{{ column.title }}"
|
|
2371
|
-
|
|
2583
|
+
placeholder="{{ column.title }}"
|
|
2584
|
+
/>
|
|
2585
|
+
`, 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
2586
|
}
|
|
2373
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2587
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputFilterComponent, decorators: [{
|
|
2374
2588
|
type: Component,
|
|
2375
2589
|
args: [{
|
|
2376
|
-
selector:
|
|
2590
|
+
selector: "input-filter",
|
|
2377
2591
|
template: `
|
|
2378
2592
|
<input
|
|
2379
|
-
[
|
|
2593
|
+
[class]="inputClass"
|
|
2380
2594
|
[formControl]="inputControl"
|
|
2381
2595
|
class="form-control"
|
|
2382
2596
|
type="text"
|
|
2383
|
-
placeholder="{{ column.title }}"
|
|
2597
|
+
placeholder="{{ column.title }}"
|
|
2598
|
+
/>
|
|
2384
2599
|
`,
|
|
2600
|
+
standalone: true,
|
|
2601
|
+
imports: [FormsModule, ReactiveFormsModule],
|
|
2385
2602
|
}]
|
|
2386
2603
|
}], ctorParameters: () => [] });
|
|
2387
2604
|
|
|
@@ -2396,40 +2613,42 @@ class SelectFilterComponent extends DefaultFilter {
|
|
|
2396
2613
|
.subscribe((value) => this.setFilter());
|
|
2397
2614
|
}
|
|
2398
2615
|
}
|
|
2399
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2400
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2401
|
-
<select [
|
|
2616
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2617
|
+
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: `
|
|
2618
|
+
<select [class]="inputClass"
|
|
2402
2619
|
class="form-control"
|
|
2403
2620
|
#inputControl
|
|
2404
2621
|
[(ngModel)]="query">
|
|
2405
|
-
|
|
2622
|
+
|
|
2406
2623
|
<option value="">{{ column.getFilterConfig().selectText }}</option>
|
|
2407
|
-
@for (option of column.getFilterConfig().list; track option) {
|
|
2624
|
+
@for (option of column.getFilterConfig().list; track option.value) {
|
|
2408
2625
|
<option [value]="option.value">
|
|
2409
2626
|
{{ option.title }}
|
|
2410
2627
|
</option>
|
|
2411
2628
|
}
|
|
2412
2629
|
</select>
|
|
2413
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
2630
|
+
`, 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
2631
|
}
|
|
2415
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2632
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectFilterComponent, decorators: [{
|
|
2416
2633
|
type: Component,
|
|
2417
2634
|
args: [{
|
|
2418
2635
|
selector: 'select-filter',
|
|
2419
2636
|
template: `
|
|
2420
|
-
<select [
|
|
2637
|
+
<select [class]="inputClass"
|
|
2421
2638
|
class="form-control"
|
|
2422
2639
|
#inputControl
|
|
2423
2640
|
[(ngModel)]="query">
|
|
2424
|
-
|
|
2641
|
+
|
|
2425
2642
|
<option value="">{{ column.getFilterConfig().selectText }}</option>
|
|
2426
|
-
@for (option of column.getFilterConfig().list; track option) {
|
|
2643
|
+
@for (option of column.getFilterConfig().list; track option.value) {
|
|
2427
2644
|
<option [value]="option.value">
|
|
2428
2645
|
{{ option.title }}
|
|
2429
2646
|
</option>
|
|
2430
2647
|
}
|
|
2431
2648
|
</select>
|
|
2432
2649
|
`,
|
|
2650
|
+
standalone: true,
|
|
2651
|
+
imports: [FormsModule]
|
|
2433
2652
|
}]
|
|
2434
2653
|
}], ctorParameters: () => [], propDecorators: { inputControl: [{
|
|
2435
2654
|
type: ViewChild,
|
|
@@ -2437,111 +2656,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2437
2656
|
}] } });
|
|
2438
2657
|
|
|
2439
2658
|
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') {
|
|
2659
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2660
|
+
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: `
|
|
2661
|
+
@switch (column.getFilterType()) { @case ('list') {
|
|
2444
2662
|
<select-filter
|
|
2445
2663
|
[query]="query"
|
|
2446
|
-
[
|
|
2664
|
+
[class]="inputClass"
|
|
2447
2665
|
[column]="column"
|
|
2448
|
-
(filter)="onFilter($event)"
|
|
2666
|
+
(filter)="onFilter($event)"
|
|
2667
|
+
>
|
|
2449
2668
|
</select-filter>
|
|
2450
|
-
|
|
2451
|
-
@case ('checkbox') {
|
|
2669
|
+
} @case ('checkbox') {
|
|
2452
2670
|
<checkbox-filter
|
|
2453
2671
|
[query]="query"
|
|
2454
|
-
[
|
|
2672
|
+
[class]="inputClass"
|
|
2455
2673
|
[column]="column"
|
|
2456
|
-
(filter)="onFilter($event)"
|
|
2674
|
+
(filter)="onFilter($event)"
|
|
2675
|
+
>
|
|
2457
2676
|
</checkbox-filter>
|
|
2458
|
-
|
|
2459
|
-
@default {
|
|
2677
|
+
} @default {
|
|
2460
2678
|
<input-filter
|
|
2461
2679
|
[query]="query"
|
|
2462
|
-
[
|
|
2680
|
+
[class]="inputClass"
|
|
2463
2681
|
[column]="column"
|
|
2464
|
-
(filter)="onFilter($event)"
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
}
|
|
2468
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
2682
|
+
(filter)="onFilter($event)"
|
|
2683
|
+
>
|
|
2684
|
+
</input-filter>
|
|
2685
|
+
} }
|
|
2686
|
+
`, isInline: true, dependencies: [{ kind: "component", type: SelectFilterComponent, selector: "select-filter" }, { kind: "component", type: CheckboxFilterComponent, selector: "checkbox-filter" }, { kind: "component", type: InputFilterComponent, selector: "input-filter" }] }); }
|
|
2469
2687
|
}
|
|
2470
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2688
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultFilterComponent, decorators: [{
|
|
2471
2689
|
type: Component,
|
|
2472
2690
|
args: [{
|
|
2473
|
-
selector:
|
|
2691
|
+
selector: "default-table-filter",
|
|
2474
2692
|
template: `
|
|
2475
|
-
@switch (column.getFilterType()) {
|
|
2476
|
-
@case ('list') {
|
|
2693
|
+
@switch (column.getFilterType()) { @case ('list') {
|
|
2477
2694
|
<select-filter
|
|
2478
2695
|
[query]="query"
|
|
2479
|
-
[
|
|
2696
|
+
[class]="inputClass"
|
|
2480
2697
|
[column]="column"
|
|
2481
|
-
(filter)="onFilter($event)"
|
|
2698
|
+
(filter)="onFilter($event)"
|
|
2699
|
+
>
|
|
2482
2700
|
</select-filter>
|
|
2483
|
-
|
|
2484
|
-
@case ('checkbox') {
|
|
2701
|
+
} @case ('checkbox') {
|
|
2485
2702
|
<checkbox-filter
|
|
2486
2703
|
[query]="query"
|
|
2487
|
-
[
|
|
2704
|
+
[class]="inputClass"
|
|
2488
2705
|
[column]="column"
|
|
2489
|
-
(filter)="onFilter($event)"
|
|
2706
|
+
(filter)="onFilter($event)"
|
|
2707
|
+
>
|
|
2490
2708
|
</checkbox-filter>
|
|
2491
|
-
|
|
2492
|
-
@default {
|
|
2709
|
+
} @default {
|
|
2493
2710
|
<input-filter
|
|
2494
2711
|
[query]="query"
|
|
2495
|
-
[
|
|
2712
|
+
[class]="inputClass"
|
|
2496
2713
|
[column]="column"
|
|
2497
|
-
(filter)="onFilter($event)"
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
}
|
|
2501
|
-
`,
|
|
2714
|
+
(filter)="onFilter($event)"
|
|
2715
|
+
>
|
|
2716
|
+
</input-filter>
|
|
2717
|
+
} }
|
|
2718
|
+
`,
|
|
2719
|
+
standalone: true,
|
|
2720
|
+
imports: [
|
|
2721
|
+
SelectFilterComponent,
|
|
2722
|
+
CheckboxFilterComponent,
|
|
2723
|
+
InputFilterComponent,
|
|
2724
|
+
],
|
|
2502
2725
|
}]
|
|
2503
2726
|
}] });
|
|
2504
2727
|
|
|
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
2728
|
class FilterComponent extends FilterDefault {
|
|
2546
2729
|
ngOnChanges(changes) {
|
|
2547
2730
|
if (changes['source']) {
|
|
@@ -2565,8 +2748,8 @@ class FilterComponent extends FilterDefault {
|
|
|
2565
2748
|
});
|
|
2566
2749
|
}
|
|
2567
2750
|
}
|
|
2568
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2569
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2751
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2752
|
+
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
2753
|
@if (column.isFilterable) {
|
|
2571
2754
|
<div class="ng2-smart-filter">
|
|
2572
2755
|
@switch (column.getFilterType()) {
|
|
@@ -2591,9 +2774,9 @@ class FilterComponent extends FilterDefault {
|
|
|
2591
2774
|
}
|
|
2592
2775
|
</div>
|
|
2593
2776
|
}
|
|
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:
|
|
2777
|
+
`, 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
2778
|
}
|
|
2596
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2779
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterComponent, decorators: [{
|
|
2597
2780
|
type: Component,
|
|
2598
2781
|
args: [{ selector: 'ng2-smart-table-filter', template: `
|
|
2599
2782
|
@if (column.isFilterable) {
|
|
@@ -2620,27 +2803,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2620
2803
|
}
|
|
2621
2804
|
</div>
|
|
2622
2805
|
}
|
|
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"] }]
|
|
2806
|
+
`, 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
2807
|
}] });
|
|
2625
2808
|
|
|
2626
2809
|
class AddButtonComponent {
|
|
2627
|
-
constructor(
|
|
2628
|
-
this.ref =
|
|
2629
|
-
this.create =
|
|
2810
|
+
constructor() {
|
|
2811
|
+
this.ref = inject(ElementRef);
|
|
2812
|
+
this.create = output();
|
|
2630
2813
|
this.isActionAdd = false;
|
|
2631
|
-
this.addNewButtonContent =
|
|
2814
|
+
this.addNewButtonContent = "";
|
|
2632
2815
|
}
|
|
2633
2816
|
ngAfterViewInit() {
|
|
2634
|
-
this.ref.nativeElement.classList.add(
|
|
2817
|
+
this.ref.nativeElement.classList.add("ng2-smart-actions-title", "ng2-smart-actions-title-add");
|
|
2635
2818
|
}
|
|
2636
2819
|
ngOnChanges() {
|
|
2637
|
-
this.isActionAdd = this.grid.getSetting(
|
|
2638
|
-
this.addNewButtonContent = this.grid.getSetting(
|
|
2820
|
+
this.isActionAdd = this.grid.getSetting("actions.add");
|
|
2821
|
+
this.addNewButtonContent = this.grid.getSetting("add.addButtonContent");
|
|
2639
2822
|
}
|
|
2640
2823
|
onAdd(event) {
|
|
2641
2824
|
event.preventDefault();
|
|
2642
2825
|
event.stopPropagation();
|
|
2643
|
-
if (this.grid.getSetting(
|
|
2826
|
+
if (this.grid.getSetting("mode") === "external") {
|
|
2644
2827
|
this.create.emit({
|
|
2645
2828
|
source: this.source,
|
|
2646
2829
|
});
|
|
@@ -2649,37 +2832,44 @@ class AddButtonComponent {
|
|
|
2649
2832
|
this.grid.createFormShown = true;
|
|
2650
2833
|
}
|
|
2651
2834
|
}
|
|
2652
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2653
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2835
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AddButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2836
|
+
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
2837
|
@if (isActionAdd) {
|
|
2655
|
-
|
|
2656
|
-
|
|
2838
|
+
<a
|
|
2839
|
+
href="#"
|
|
2840
|
+
class="ng2-smart-action ng2-smart-action-add-add"
|
|
2841
|
+
[innerHTML]="addNewButtonContent"
|
|
2842
|
+
(click)="onAdd($event)"
|
|
2843
|
+
></a>
|
|
2657
2844
|
}
|
|
2658
|
-
|
|
2845
|
+
`, isInline: true }); }
|
|
2659
2846
|
}
|
|
2660
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2847
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AddButtonComponent, decorators: [{
|
|
2661
2848
|
type: Component,
|
|
2662
2849
|
args: [{
|
|
2663
|
-
selector:
|
|
2850
|
+
selector: "[ng2-st-add-button]",
|
|
2664
2851
|
template: `
|
|
2665
2852
|
@if (isActionAdd) {
|
|
2666
|
-
|
|
2667
|
-
|
|
2853
|
+
<a
|
|
2854
|
+
href="#"
|
|
2855
|
+
class="ng2-smart-action ng2-smart-action-add-add"
|
|
2856
|
+
[innerHTML]="addNewButtonContent"
|
|
2857
|
+
(click)="onAdd($event)"
|
|
2858
|
+
></a>
|
|
2668
2859
|
}
|
|
2669
|
-
|
|
2860
|
+
`,
|
|
2861
|
+
standalone: true,
|
|
2670
2862
|
}]
|
|
2671
|
-
}],
|
|
2863
|
+
}], propDecorators: { grid: [{
|
|
2672
2864
|
type: Input
|
|
2673
2865
|
}], source: [{
|
|
2674
2866
|
type: Input
|
|
2675
|
-
}], create: [{
|
|
2676
|
-
type: Output
|
|
2677
2867
|
}] } });
|
|
2678
2868
|
|
|
2679
2869
|
class TheadFitlersRowComponent {
|
|
2680
2870
|
constructor() {
|
|
2681
|
-
this.create =
|
|
2682
|
-
this.filter =
|
|
2871
|
+
this.create = output();
|
|
2872
|
+
this.filter = output();
|
|
2683
2873
|
this.isMultiSelectVisible = false;
|
|
2684
2874
|
this.showActionColumnLeft = false;
|
|
2685
2875
|
this.showActionColumnRight = false;
|
|
@@ -2694,8 +2884,8 @@ class TheadFitlersRowComponent {
|
|
|
2694
2884
|
getVisibleColumns(columns) {
|
|
2695
2885
|
return (columns || []).filter((column) => !column.hide);
|
|
2696
2886
|
}
|
|
2697
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2698
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2887
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFitlersRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2888
|
+
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
2889
|
@if (isMultiSelectVisible) {
|
|
2700
2890
|
<th></th>
|
|
2701
2891
|
} @if (showActionColumnLeft) {
|
|
@@ -2718,9 +2908,9 @@ class TheadFitlersRowComponent {
|
|
|
2718
2908
|
(create)="create.emit($event)"
|
|
2719
2909
|
></th>
|
|
2720
2910
|
}
|
|
2721
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
2911
|
+
`, 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
2912
|
}
|
|
2723
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2913
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFitlersRowComponent, decorators: [{
|
|
2724
2914
|
type: Component,
|
|
2725
2915
|
args: [{
|
|
2726
2916
|
selector: "[ng2-st-thead-filters-row]",
|
|
@@ -2748,59 +2938,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2748
2938
|
></th>
|
|
2749
2939
|
}
|
|
2750
2940
|
`,
|
|
2941
|
+
standalone: true,
|
|
2942
|
+
imports: [AddButtonComponent, FilterComponent],
|
|
2751
2943
|
}]
|
|
2752
2944
|
}], propDecorators: { grid: [{
|
|
2753
2945
|
type: Input
|
|
2754
2946
|
}], source: [{
|
|
2755
2947
|
type: Input
|
|
2756
|
-
}], create: [{
|
|
2757
|
-
type: Output
|
|
2758
|
-
}], filter: [{
|
|
2759
|
-
type: Output
|
|
2760
2948
|
}] } });
|
|
2761
2949
|
|
|
2762
2950
|
class ActionsComponent {
|
|
2763
2951
|
constructor() {
|
|
2764
|
-
this.create =
|
|
2765
|
-
this.createButtonContent =
|
|
2766
|
-
this.cancelButtonContent =
|
|
2952
|
+
this.create = output();
|
|
2953
|
+
this.createButtonContent = "";
|
|
2954
|
+
this.cancelButtonContent = "";
|
|
2767
2955
|
}
|
|
2768
2956
|
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
|
-
|
|
2957
|
+
this.createButtonContent = this.grid.getSetting("add.createButtonContent");
|
|
2958
|
+
this.cancelButtonContent = this.grid.getSetting("add.cancelButtonContent");
|
|
2959
|
+
}
|
|
2960
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2961
|
+
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: `
|
|
2962
|
+
<a
|
|
2963
|
+
href="#"
|
|
2964
|
+
class="ng2-smart-action ng2-smart-action-add-create"
|
|
2965
|
+
[innerHTML]="createButtonContent"
|
|
2966
|
+
(click)="$event.preventDefault(); create.emit($event)"
|
|
2967
|
+
></a>
|
|
2968
|
+
<a
|
|
2969
|
+
href="#"
|
|
2970
|
+
class="ng2-smart-action ng2-smart-action-add-cancel"
|
|
2971
|
+
[innerHTML]="cancelButtonContent"
|
|
2972
|
+
(click)="$event.preventDefault(); grid.createFormShown = false"
|
|
2973
|
+
></a>
|
|
2780
2974
|
`, isInline: true }); }
|
|
2781
2975
|
}
|
|
2782
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2976
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsComponent, decorators: [{
|
|
2783
2977
|
type: Component,
|
|
2784
2978
|
args: [{
|
|
2785
|
-
selector:
|
|
2979
|
+
selector: "ng2-st-actions",
|
|
2786
2980
|
template: `
|
|
2787
|
-
<a
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2981
|
+
<a
|
|
2982
|
+
href="#"
|
|
2983
|
+
class="ng2-smart-action ng2-smart-action-add-create"
|
|
2984
|
+
[innerHTML]="createButtonContent"
|
|
2985
|
+
(click)="$event.preventDefault(); create.emit($event)"
|
|
2986
|
+
></a>
|
|
2987
|
+
<a
|
|
2988
|
+
href="#"
|
|
2989
|
+
class="ng2-smart-action ng2-smart-action-add-cancel"
|
|
2990
|
+
[innerHTML]="cancelButtonContent"
|
|
2991
|
+
(click)="$event.preventDefault(); grid.createFormShown = false"
|
|
2992
|
+
></a>
|
|
2793
2993
|
`,
|
|
2994
|
+
standalone: true,
|
|
2794
2995
|
}]
|
|
2795
2996
|
}], propDecorators: { grid: [{
|
|
2796
2997
|
type: Input
|
|
2797
|
-
}], create: [{
|
|
2798
|
-
type: Output
|
|
2799
2998
|
}] } });
|
|
2800
2999
|
|
|
2801
3000
|
class TheadFormRowComponent {
|
|
2802
3001
|
constructor() {
|
|
2803
|
-
this.create =
|
|
3002
|
+
this.create = output();
|
|
2804
3003
|
this.isMultiSelectVisible = false;
|
|
2805
3004
|
this.showActionColumnLeft = false;
|
|
2806
3005
|
this.showActionColumnRight = false;
|
|
@@ -2819,8 +3018,8 @@ class TheadFormRowComponent {
|
|
|
2819
3018
|
getVisibleCells(cells) {
|
|
2820
3019
|
return (cells || []).filter((cell) => !cell.getColumn().hide);
|
|
2821
3020
|
}
|
|
2822
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2823
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3021
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFormRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3022
|
+
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
3023
|
@if (grid.isMultiSelectVisible()) {
|
|
2825
3024
|
<td></td>
|
|
2826
3025
|
} @if (showActionColumnLeft) {
|
|
@@ -2830,7 +3029,8 @@ class TheadFormRowComponent {
|
|
|
2830
3029
|
(create)="onCreate($event)"
|
|
2831
3030
|
></ng2-st-actions>
|
|
2832
3031
|
</td>
|
|
2833
|
-
} @for (cell of getVisibleCells(grid.getNewRow().getCells()); track
|
|
3032
|
+
} @for (cell of getVisibleCells(grid.getNewRow().getCells()); track
|
|
3033
|
+
cell.getId()) {
|
|
2834
3034
|
<td>
|
|
2835
3035
|
<ng2-smart-table-cell
|
|
2836
3036
|
[cell]="cell"
|
|
@@ -2851,9 +3051,9 @@ class TheadFormRowComponent {
|
|
|
2851
3051
|
></ng2-st-actions>
|
|
2852
3052
|
</td>
|
|
2853
3053
|
}
|
|
2854
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
3054
|
+
`, 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
3055
|
}
|
|
2856
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3056
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFormRowComponent, decorators: [{
|
|
2857
3057
|
type: Component,
|
|
2858
3058
|
args: [{
|
|
2859
3059
|
selector: "[ng2-st-thead-form-row]",
|
|
@@ -2867,7 +3067,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2867
3067
|
(create)="onCreate($event)"
|
|
2868
3068
|
></ng2-st-actions>
|
|
2869
3069
|
</td>
|
|
2870
|
-
} @for (cell of getVisibleCells(grid.getNewRow().getCells()); track
|
|
3070
|
+
} @for (cell of getVisibleCells(grid.getNewRow().getCells()); track
|
|
3071
|
+
cell.getId()) {
|
|
2871
3072
|
<td>
|
|
2872
3073
|
<ng2-smart-table-cell
|
|
2873
3074
|
[cell]="cell"
|
|
@@ -2889,6 +3090,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2889
3090
|
</td>
|
|
2890
3091
|
}
|
|
2891
3092
|
`,
|
|
3093
|
+
standalone: true,
|
|
3094
|
+
imports: [ActionsComponent, CellComponent],
|
|
2892
3095
|
}]
|
|
2893
3096
|
}], propDecorators: { grid: [{
|
|
2894
3097
|
type: Input
|
|
@@ -2896,51 +3099,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2896
3099
|
type: Input
|
|
2897
3100
|
}], createConfirm: [{
|
|
2898
3101
|
type: Input
|
|
2899
|
-
}], create: [{
|
|
2900
|
-
type: Output
|
|
2901
3102
|
}] } });
|
|
2902
3103
|
|
|
2903
3104
|
class ActionsTitleComponent {
|
|
2904
|
-
constructor(
|
|
2905
|
-
this.ref =
|
|
2906
|
-
this.actionsColumnTitle =
|
|
3105
|
+
constructor() {
|
|
3106
|
+
this.ref = inject(ElementRef);
|
|
3107
|
+
this.actionsColumnTitle = "";
|
|
2907
3108
|
}
|
|
2908
3109
|
ngAfterViewInit() {
|
|
2909
|
-
this.ref.nativeElement.classList.add(
|
|
3110
|
+
this.ref.nativeElement.classList.add("ng2-smart-actions");
|
|
2910
3111
|
}
|
|
2911
3112
|
ngOnChanges() {
|
|
2912
|
-
this.actionsColumnTitle = this.grid.getSetting(
|
|
3113
|
+
this.actionsColumnTitle = this.grid.getSetting("actions.columnTitle");
|
|
2913
3114
|
}
|
|
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 }); }
|
|
3115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3116
|
+
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
3117
|
}
|
|
2919
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsTitleComponent, decorators: [{
|
|
2920
3119
|
type: Component,
|
|
2921
3120
|
args: [{
|
|
2922
|
-
selector:
|
|
2923
|
-
template: `
|
|
2924
|
-
|
|
2925
|
-
`,
|
|
3121
|
+
selector: "[ng2-st-actions-title]",
|
|
3122
|
+
template: ` <div class="ng2-smart-title">{{ actionsColumnTitle }}</div> `,
|
|
3123
|
+
standalone: true,
|
|
2926
3124
|
}]
|
|
2927
|
-
}],
|
|
3125
|
+
}], propDecorators: { grid: [{
|
|
2928
3126
|
type: Input
|
|
2929
3127
|
}] } });
|
|
2930
3128
|
|
|
2931
3129
|
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:
|
|
3130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxSelectAllComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3131
|
+
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: `
|
|
3132
|
+
<input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected" />
|
|
3133
|
+
`, 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
3134
|
}
|
|
2937
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxSelectAllComponent, decorators: [{
|
|
2938
3136
|
type: Component,
|
|
2939
3137
|
args: [{
|
|
2940
|
-
selector:
|
|
3138
|
+
selector: "[ng2-st-checkbox-select-all]",
|
|
2941
3139
|
template: `
|
|
2942
|
-
<input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected"
|
|
3140
|
+
<input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected" />
|
|
2943
3141
|
`,
|
|
3142
|
+
standalone: true,
|
|
3143
|
+
imports: [FormsModule],
|
|
2944
3144
|
}]
|
|
2945
3145
|
}], propDecorators: { grid: [{
|
|
2946
3146
|
type: Input
|
|
@@ -2950,22 +3150,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2950
3150
|
|
|
2951
3151
|
class TitleComponent {
|
|
2952
3152
|
constructor() {
|
|
2953
|
-
this.currentDirection =
|
|
2954
|
-
this.sort =
|
|
3153
|
+
this.currentDirection = "";
|
|
3154
|
+
this.sort = output();
|
|
2955
3155
|
this.dataChangedSub = false;
|
|
2956
3156
|
}
|
|
2957
3157
|
ngOnChanges(changes) {
|
|
2958
|
-
if (changes[
|
|
2959
|
-
if (!changes[
|
|
3158
|
+
if (changes["source"]) {
|
|
3159
|
+
if (!changes["source"].firstChange && this.dataChangedSub) {
|
|
2960
3160
|
this.dataChangedSub.unsubscribe();
|
|
2961
3161
|
}
|
|
2962
3162
|
this.dataChangedSub = this.source.onChanged().subscribe((dataChanges) => {
|
|
2963
3163
|
const sortConf = this.source.getSort();
|
|
2964
|
-
if (sortConf.length > 0 && sortConf[0][
|
|
2965
|
-
this.currentDirection = sortConf[0][
|
|
3164
|
+
if (sortConf.length > 0 && sortConf[0]["field"] === this.column.id) {
|
|
3165
|
+
this.currentDirection = sortConf[0]["direction"];
|
|
2966
3166
|
}
|
|
2967
3167
|
else {
|
|
2968
|
-
this.currentDirection =
|
|
3168
|
+
this.currentDirection = "";
|
|
2969
3169
|
}
|
|
2970
3170
|
});
|
|
2971
3171
|
}
|
|
@@ -2976,7 +3176,7 @@ class TitleComponent {
|
|
|
2976
3176
|
this.source.setSort([
|
|
2977
3177
|
{
|
|
2978
3178
|
field: this.column.id,
|
|
2979
|
-
direction: this.currentDirection ===
|
|
3179
|
+
direction: this.currentDirection === "desc" ? "desc" : "asc",
|
|
2980
3180
|
compare: this.column.getCompareFunction(),
|
|
2981
3181
|
},
|
|
2982
3182
|
]);
|
|
@@ -2984,7 +3184,7 @@ class TitleComponent {
|
|
|
2984
3184
|
}
|
|
2985
3185
|
changeSortDirection() {
|
|
2986
3186
|
if (this.currentDirection) {
|
|
2987
|
-
const newDirection = this.currentDirection ===
|
|
3187
|
+
const newDirection = this.currentDirection === "asc" ? "desc" : "asc";
|
|
2988
3188
|
this.currentDirection = newDirection;
|
|
2989
3189
|
}
|
|
2990
3190
|
else {
|
|
@@ -2992,158 +3192,174 @@ class TitleComponent {
|
|
|
2992
3192
|
}
|
|
2993
3193
|
return this.currentDirection;
|
|
2994
3194
|
}
|
|
2995
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2996
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3195
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3196
|
+
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
3197
|
@if (column.isSortable) {
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3198
|
+
<a
|
|
3199
|
+
href="#"
|
|
3200
|
+
(click)="_sort($event)"
|
|
3201
|
+
class="ng2-smart-sort-link sort"
|
|
3202
|
+
[class]="currentDirection"
|
|
3203
|
+
>
|
|
3204
|
+
{{ column.title }}
|
|
3205
|
+
</a>
|
|
3206
|
+
} @else {
|
|
3207
|
+
<span class="ng2-smart-sort">{{ column.title }}</span>
|
|
3007
3208
|
}
|
|
3008
|
-
|
|
3209
|
+
`, 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
3210
|
}
|
|
3010
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TitleComponent, decorators: [{
|
|
3011
3212
|
type: Component,
|
|
3012
|
-
args: [{ selector:
|
|
3213
|
+
args: [{ selector: "ng2-smart-table-title", template: `
|
|
3013
3214
|
@if (column.isSortable) {
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3215
|
+
<a
|
|
3216
|
+
href="#"
|
|
3217
|
+
(click)="_sort($event)"
|
|
3218
|
+
class="ng2-smart-sort-link sort"
|
|
3219
|
+
[class]="currentDirection"
|
|
3220
|
+
>
|
|
3221
|
+
{{ column.title }}
|
|
3222
|
+
</a>
|
|
3223
|
+
} @else {
|
|
3224
|
+
<span class="ng2-smart-sort">{{ column.title }}</span>
|
|
3023
3225
|
}
|
|
3024
|
-
|
|
3226
|
+
`, 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
3227
|
}], propDecorators: { column: [{
|
|
3026
3228
|
type: Input
|
|
3027
3229
|
}], source: [{
|
|
3028
3230
|
type: Input
|
|
3029
|
-
}], sort: [{
|
|
3030
|
-
type: Output
|
|
3031
3231
|
}] } });
|
|
3032
3232
|
|
|
3033
3233
|
class ColumnTitleComponent {
|
|
3034
3234
|
constructor() {
|
|
3035
|
-
this.sort =
|
|
3235
|
+
this.sort = output();
|
|
3036
3236
|
}
|
|
3037
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3038
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
3237
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ColumnTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3238
|
+
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
3239
|
<div class="ng2-smart-title">
|
|
3040
|
-
<ng2-smart-table-title
|
|
3240
|
+
<ng2-smart-table-title
|
|
3241
|
+
[source]="source"
|
|
3242
|
+
[column]="column"
|
|
3243
|
+
(sort)="sort.emit($event)"
|
|
3244
|
+
></ng2-smart-table-title>
|
|
3041
3245
|
</div>
|
|
3042
3246
|
`, isInline: true, dependencies: [{ kind: "component", type: TitleComponent, selector: "ng2-smart-table-title", inputs: ["column", "source"], outputs: ["sort"] }] }); }
|
|
3043
3247
|
}
|
|
3044
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3248
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ColumnTitleComponent, decorators: [{
|
|
3045
3249
|
type: Component,
|
|
3046
3250
|
args: [{
|
|
3047
|
-
selector:
|
|
3251
|
+
selector: "ng2-st-column-title",
|
|
3048
3252
|
template: `
|
|
3049
3253
|
<div class="ng2-smart-title">
|
|
3050
|
-
<ng2-smart-table-title
|
|
3254
|
+
<ng2-smart-table-title
|
|
3255
|
+
[source]="source"
|
|
3256
|
+
[column]="column"
|
|
3257
|
+
(sort)="sort.emit($event)"
|
|
3258
|
+
></ng2-smart-table-title>
|
|
3051
3259
|
</div>
|
|
3052
3260
|
`,
|
|
3261
|
+
standalone: true,
|
|
3262
|
+
imports: [TitleComponent],
|
|
3053
3263
|
}]
|
|
3054
3264
|
}], propDecorators: { column: [{
|
|
3055
3265
|
type: Input
|
|
3056
3266
|
}], source: [{
|
|
3057
3267
|
type: Input
|
|
3058
|
-
}], sort: [{
|
|
3059
|
-
type: Output
|
|
3060
3268
|
}] } });
|
|
3061
3269
|
|
|
3062
3270
|
class TheadTitlesRowComponent {
|
|
3063
3271
|
constructor() {
|
|
3064
|
-
this.sort =
|
|
3065
|
-
this.selectAllRows =
|
|
3272
|
+
this.sort = output();
|
|
3273
|
+
this.selectAllRows = output();
|
|
3066
3274
|
this.isMultiSelectVisible = false;
|
|
3067
3275
|
this.showActionColumnLeft = false;
|
|
3068
3276
|
this.showActionColumnRight = false;
|
|
3069
3277
|
}
|
|
3070
3278
|
ngOnChanges() {
|
|
3071
3279
|
this.isMultiSelectVisible = this.grid.isMultiSelectVisible();
|
|
3072
|
-
this.showActionColumnLeft = this.grid.showActionColumn(
|
|
3073
|
-
this.showActionColumnRight = this.grid.showActionColumn(
|
|
3280
|
+
this.showActionColumnLeft = this.grid.showActionColumn("left");
|
|
3281
|
+
this.showActionColumnRight = this.grid.showActionColumn("right");
|
|
3074
3282
|
}
|
|
3075
3283
|
getVisibleColumns(columns) {
|
|
3076
3284
|
return (columns || []).filter((column) => !column.hide);
|
|
3077
3285
|
}
|
|
3078
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3079
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3286
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadTitlesRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3287
|
+
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
3288
|
@if (isMultiSelectVisible) {
|
|
3081
|
-
|
|
3082
|
-
|
|
3289
|
+
<th
|
|
3290
|
+
ng2-st-checkbox-select-all
|
|
3291
|
+
[grid]="grid"
|
|
3292
|
+
[source]="source"
|
|
3293
|
+
(click)="selectAllRows.emit($event)"
|
|
3294
|
+
></th>
|
|
3295
|
+
} @if (showActionColumnLeft) {
|
|
3296
|
+
<th ng2-st-actions-title [grid]="grid"></th>
|
|
3297
|
+
} @for (column of getVisibleColumns(grid.getColumns()); track column.id) {
|
|
3298
|
+
<th
|
|
3299
|
+
class="ng2-smart-th {{ column.id }}"
|
|
3300
|
+
[class]="column.class"
|
|
3301
|
+
[style.width]="column.width"
|
|
3302
|
+
>
|
|
3303
|
+
<ng2-st-column-title
|
|
3083
3304
|
[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>
|
|
3305
|
+
[column]="column"
|
|
3306
|
+
(sort)="sort.emit($event)"
|
|
3307
|
+
></ng2-st-column-title>
|
|
3308
|
+
</th>
|
|
3309
|
+
} @if (showActionColumnRight) {
|
|
3310
|
+
<th ng2-st-actions-title [grid]="grid"></th>
|
|
3100
3311
|
}
|
|
3101
|
-
|
|
3312
|
+
`, 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
3313
|
}
|
|
3103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadTitlesRowComponent, decorators: [{
|
|
3104
3315
|
type: Component,
|
|
3105
3316
|
args: [{
|
|
3106
|
-
selector:
|
|
3317
|
+
selector: "[ng2-st-thead-titles-row]",
|
|
3107
3318
|
template: `
|
|
3108
3319
|
@if (isMultiSelectVisible) {
|
|
3109
|
-
|
|
3110
|
-
|
|
3320
|
+
<th
|
|
3321
|
+
ng2-st-checkbox-select-all
|
|
3322
|
+
[grid]="grid"
|
|
3323
|
+
[source]="source"
|
|
3324
|
+
(click)="selectAllRows.emit($event)"
|
|
3325
|
+
></th>
|
|
3326
|
+
} @if (showActionColumnLeft) {
|
|
3327
|
+
<th ng2-st-actions-title [grid]="grid"></th>
|
|
3328
|
+
} @for (column of getVisibleColumns(grid.getColumns()); track column.id) {
|
|
3329
|
+
<th
|
|
3330
|
+
class="ng2-smart-th {{ column.id }}"
|
|
3331
|
+
[class]="column.class"
|
|
3332
|
+
[style.width]="column.width"
|
|
3333
|
+
>
|
|
3334
|
+
<ng2-st-column-title
|
|
3111
3335
|
[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>
|
|
3336
|
+
[column]="column"
|
|
3337
|
+
(sort)="sort.emit($event)"
|
|
3338
|
+
></ng2-st-column-title>
|
|
3339
|
+
</th>
|
|
3340
|
+
} @if (showActionColumnRight) {
|
|
3341
|
+
<th ng2-st-actions-title [grid]="grid"></th>
|
|
3128
3342
|
}
|
|
3129
|
-
|
|
3343
|
+
`,
|
|
3344
|
+
standalone: true,
|
|
3345
|
+
imports: [
|
|
3346
|
+
CheckboxSelectAllComponent,
|
|
3347
|
+
ActionsTitleComponent,
|
|
3348
|
+
ColumnTitleComponent,
|
|
3349
|
+
],
|
|
3130
3350
|
}]
|
|
3131
3351
|
}], propDecorators: { grid: [{
|
|
3132
3352
|
type: Input
|
|
3133
3353
|
}], source: [{
|
|
3134
3354
|
type: Input
|
|
3135
|
-
}], sort: [{
|
|
3136
|
-
type: Output
|
|
3137
|
-
}], selectAllRows: [{
|
|
3138
|
-
type: Output
|
|
3139
3355
|
}] } });
|
|
3140
3356
|
|
|
3141
3357
|
class Ng2SmartTableTheadComponent {
|
|
3142
3358
|
constructor() {
|
|
3143
|
-
this.sort =
|
|
3144
|
-
this.selectAllRows =
|
|
3145
|
-
this.create =
|
|
3146
|
-
this.filter =
|
|
3359
|
+
this.sort = output();
|
|
3360
|
+
this.selectAllRows = output();
|
|
3361
|
+
this.create = output();
|
|
3362
|
+
this.filter = output();
|
|
3147
3363
|
this.isHideHeader = false;
|
|
3148
3364
|
this.isHideSubHeader = false;
|
|
3149
3365
|
}
|
|
@@ -3151,100 +3367,93 @@ class Ng2SmartTableTheadComponent {
|
|
|
3151
3367
|
this.isHideHeader = this.grid.getSetting('hideHeader', false);
|
|
3152
3368
|
this.isHideSubHeader = this.grid.getSetting('hideSubHeader', false);
|
|
3153
3369
|
}
|
|
3154
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3155
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3370
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTheadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3371
|
+
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
3372
|
}
|
|
3157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3373
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTheadComponent, decorators: [{
|
|
3158
3374
|
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" }]
|
|
3375
|
+
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
3376
|
}], propDecorators: { grid: [{
|
|
3161
3377
|
type: Input
|
|
3162
3378
|
}], source: [{
|
|
3163
3379
|
type: Input
|
|
3164
3380
|
}], createConfirm: [{
|
|
3165
3381
|
type: Input
|
|
3166
|
-
}], sort: [{
|
|
3167
|
-
type: Output
|
|
3168
|
-
}], selectAllRows: [{
|
|
3169
|
-
type: Output
|
|
3170
|
-
}], create: [{
|
|
3171
|
-
type: Output
|
|
3172
|
-
}], filter: [{
|
|
3173
|
-
type: Output
|
|
3174
3382
|
}] } });
|
|
3175
3383
|
|
|
3176
3384
|
class Ng2SmartTableComponent {
|
|
3177
3385
|
constructor() {
|
|
3178
|
-
this.multiRowSelect =
|
|
3179
|
-
this.rowClicked =
|
|
3180
|
-
this.
|
|
3181
|
-
this.
|
|
3182
|
-
this.
|
|
3183
|
-
this.
|
|
3184
|
-
this.
|
|
3185
|
-
this.
|
|
3186
|
-
this.
|
|
3187
|
-
this.
|
|
3188
|
-
this.
|
|
3189
|
-
this.
|
|
3190
|
-
this.
|
|
3386
|
+
this.multiRowSelect = output();
|
|
3387
|
+
this.rowClicked = output();
|
|
3388
|
+
this.columnsSorted = output();
|
|
3389
|
+
this.delete = output();
|
|
3390
|
+
this.edit = output();
|
|
3391
|
+
this.editCancel = output();
|
|
3392
|
+
this.create = output();
|
|
3393
|
+
this.custom = output();
|
|
3394
|
+
this.deleteConfirm = output();
|
|
3395
|
+
this.editConfirm = output();
|
|
3396
|
+
this.createConfirm = output();
|
|
3397
|
+
this.rowHover = output();
|
|
3398
|
+
this.tableClass = "";
|
|
3399
|
+
this.tableId = "";
|
|
3191
3400
|
this.perPageSelect = [];
|
|
3192
3401
|
this.isHideHeader = false;
|
|
3193
3402
|
this.isHideSubHeader = false;
|
|
3194
3403
|
this.isPagerDisplay = false;
|
|
3195
|
-
this.rowClassFunction = () =>
|
|
3404
|
+
this.rowClassFunction = () => "";
|
|
3196
3405
|
this.defaultSettings = {
|
|
3197
|
-
mode:
|
|
3198
|
-
selectMode:
|
|
3406
|
+
mode: "inline", // inline|external|click-to-edit
|
|
3407
|
+
selectMode: "single", // single|multi
|
|
3199
3408
|
selectedRowIndex: -1,
|
|
3200
3409
|
switchPageToSelectedRowPage: false,
|
|
3201
3410
|
hideHeader: false,
|
|
3202
3411
|
hideSubHeader: false,
|
|
3203
3412
|
actions: {
|
|
3204
|
-
columnTitle:
|
|
3413
|
+
columnTitle: "Actions",
|
|
3205
3414
|
add: true,
|
|
3206
3415
|
edit: true,
|
|
3207
3416
|
delete: true,
|
|
3208
3417
|
custom: [],
|
|
3209
|
-
position:
|
|
3418
|
+
position: "left", // left|right
|
|
3210
3419
|
},
|
|
3211
3420
|
filter: {
|
|
3212
|
-
inputClass:
|
|
3421
|
+
inputClass: "",
|
|
3213
3422
|
},
|
|
3214
3423
|
edit: {
|
|
3215
|
-
inputClass:
|
|
3216
|
-
editButtonContent:
|
|
3217
|
-
saveButtonContent:
|
|
3218
|
-
cancelButtonContent:
|
|
3424
|
+
inputClass: "",
|
|
3425
|
+
editButtonContent: "Edit",
|
|
3426
|
+
saveButtonContent: "Update",
|
|
3427
|
+
cancelButtonContent: "Cancel",
|
|
3219
3428
|
confirmSave: false,
|
|
3220
3429
|
},
|
|
3221
3430
|
add: {
|
|
3222
|
-
inputClass:
|
|
3223
|
-
addButtonContent:
|
|
3224
|
-
createButtonContent:
|
|
3225
|
-
cancelButtonContent:
|
|
3431
|
+
inputClass: "",
|
|
3432
|
+
addButtonContent: "Add New",
|
|
3433
|
+
createButtonContent: "Create",
|
|
3434
|
+
cancelButtonContent: "Cancel",
|
|
3226
3435
|
confirmCreate: false,
|
|
3227
3436
|
},
|
|
3228
3437
|
delete: {
|
|
3229
|
-
deleteButtonContent:
|
|
3438
|
+
deleteButtonContent: "Delete",
|
|
3230
3439
|
confirmDelete: false,
|
|
3231
3440
|
},
|
|
3232
3441
|
attr: {
|
|
3233
|
-
id:
|
|
3234
|
-
class:
|
|
3442
|
+
id: "",
|
|
3443
|
+
class: "",
|
|
3235
3444
|
},
|
|
3236
|
-
noDataMessage:
|
|
3445
|
+
noDataMessage: "No data found",
|
|
3237
3446
|
columns: [],
|
|
3238
3447
|
pager: false,
|
|
3239
|
-
rowClassFunction: () =>
|
|
3448
|
+
rowClassFunction: () => "",
|
|
3240
3449
|
};
|
|
3241
3450
|
}
|
|
3242
3451
|
ngOnChanges(changes) {
|
|
3243
3452
|
if (this.grid) {
|
|
3244
|
-
if (changes[
|
|
3453
|
+
if (changes["settings"]) {
|
|
3245
3454
|
this.grid.setSettings(this.prepareSettings());
|
|
3246
3455
|
}
|
|
3247
|
-
if (changes[
|
|
3456
|
+
if (changes["source"]) {
|
|
3248
3457
|
this.source = this.prepareSource();
|
|
3249
3458
|
this.grid.setSource(this.source);
|
|
3250
3459
|
}
|
|
@@ -3252,20 +3461,19 @@ class Ng2SmartTableComponent {
|
|
|
3252
3461
|
else {
|
|
3253
3462
|
this.initGrid();
|
|
3254
3463
|
}
|
|
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(
|
|
3464
|
+
this.tableId = this.grid.getSetting("attr.id");
|
|
3465
|
+
this.tableClass = this.grid.getSetting("attr.class");
|
|
3466
|
+
this.isHideHeader = this.grid.getSetting("hideHeader");
|
|
3467
|
+
this.isHideSubHeader = this.grid.getSetting("hideSubHeader");
|
|
3468
|
+
this.isPagerDisplay = this.grid.getSetting("pager.display", false);
|
|
3469
|
+
this.perPageSelect = this.grid.getSetting("pager.perPageSelect");
|
|
3470
|
+
this.rowClassFunction = this.grid.getSetting("rowClassFunction", () => "");
|
|
3262
3471
|
}
|
|
3263
3472
|
multipleSelectRow(row) {
|
|
3264
3473
|
this.grid.multipleSelectRow(row);
|
|
3265
3474
|
this.emitUserSelectRow(row);
|
|
3266
3475
|
}
|
|
3267
3476
|
onSelectAllRows() {
|
|
3268
|
-
this.grid.dataSet.isAllSelected;
|
|
3269
3477
|
this.grid.selectAllRows(!this.grid.dataSet.isAllSelected);
|
|
3270
3478
|
this.emitUserSelectRow(null);
|
|
3271
3479
|
}
|
|
@@ -3281,6 +3489,7 @@ class Ng2SmartTableComponent {
|
|
|
3281
3489
|
initGrid() {
|
|
3282
3490
|
this.source = this.prepareSource();
|
|
3283
3491
|
this.grid = new Grid(this.source, this.prepareSettings());
|
|
3492
|
+
this.grid.setColumnsSortedEmitter(this.columnsSorted);
|
|
3284
3493
|
}
|
|
3285
3494
|
prepareSource() {
|
|
3286
3495
|
if (this.source instanceof LocalDataSource) {
|
|
@@ -3299,313 +3508,25 @@ class Ng2SmartTableComponent {
|
|
|
3299
3508
|
selected: this.grid.dataSet.getSelectedRowsData(),
|
|
3300
3509
|
});
|
|
3301
3510
|
}
|
|
3302
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3303
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3511
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3512
|
+
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", columnsSorted: "columnsSorted", 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
3513
|
}
|
|
3305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3514
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableComponent, decorators: [{
|
|
3306
3515
|
type: Component,
|
|
3307
|
-
args: [{ selector:
|
|
3516
|
+
args: [{ selector: "ng2-smart-table", standalone: true, imports: [
|
|
3517
|
+
Ng2SmartTableTheadComponent,
|
|
3518
|
+
Ng2SmartTableTbodyComponent,
|
|
3519
|
+
PagerComponent,
|
|
3520
|
+
], 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
3521
|
}], propDecorators: { source: [{
|
|
3309
3522
|
type: Input
|
|
3310
3523
|
}], settings: [{
|
|
3311
3524
|
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
3525
|
}] } });
|
|
3335
3526
|
|
|
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
3527
|
/**
|
|
3607
3528
|
* Generated bundle index. Do not edit.
|
|
3608
3529
|
*/
|
|
3609
3530
|
|
|
3610
|
-
export { Cell, Column, DataSource, DefaultEditor, DefaultFilter, Deferred, LocalDataSource, Ng2SmartTableComponent,
|
|
3531
|
+
export { Cell, Column, DataSource, DefaultEditor, DefaultFilter, Deferred, LocalDataSource, Ng2SmartTableComponent, Row, SmartTableOnChangedEventName };
|
|
3611
3532
|
//# sourceMappingURL=den4ik92-ng2-smart-table.mjs.map
|