@colijnit/corecomponents_v12 300.1.3 → 300.1.5
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.
|
@@ -9346,7 +9346,10 @@ class InputNumberPickerComponent extends BaseInputComponent {
|
|
|
9346
9346
|
}
|
|
9347
9347
|
handleInputKeyDown(event) {
|
|
9348
9348
|
// event.preventDefault();
|
|
9349
|
-
if (
|
|
9349
|
+
if (this.readonly) {
|
|
9350
|
+
return false;
|
|
9351
|
+
}
|
|
9352
|
+
if ((event.code === 'Enter' || event.code === 'NumpadEnter')) {
|
|
9350
9353
|
this.modelChange.next(this.model);
|
|
9351
9354
|
return false;
|
|
9352
9355
|
}
|
|
@@ -11939,35 +11942,17 @@ class SimpleGridCellComponent {
|
|
|
11939
11942
|
_changeDetector;
|
|
11940
11943
|
_injector;
|
|
11941
11944
|
_formComponent;
|
|
11942
|
-
|
|
11943
|
-
return this._editMode;
|
|
11944
|
-
}
|
|
11945
|
-
set editMode(value) {
|
|
11946
|
-
this._editMode = value;
|
|
11947
|
-
}
|
|
11945
|
+
editMode;
|
|
11948
11946
|
defaultTextAlign = ColumnAlign.Left;
|
|
11949
|
-
set
|
|
11950
|
-
if (
|
|
11951
|
-
this.
|
|
11952
|
-
this._setFocusComponent();
|
|
11953
|
-
}
|
|
11954
|
-
}
|
|
11955
|
-
set noEditTemplateContent(template) {
|
|
11956
|
-
if (template) {
|
|
11957
|
-
this._template = template;
|
|
11958
|
-
this._setFocusComponent();
|
|
11959
|
-
}
|
|
11960
|
-
}
|
|
11961
|
-
set noTemplateContent(template) {
|
|
11962
|
-
if (template) {
|
|
11963
|
-
this._inputTemplate = template;
|
|
11947
|
+
set cellFieldContent(element) {
|
|
11948
|
+
if (element) {
|
|
11949
|
+
this._cellField = element;
|
|
11964
11950
|
this._setFocusComponent();
|
|
11965
11951
|
}
|
|
11966
11952
|
}
|
|
11967
11953
|
column;
|
|
11968
11954
|
row;
|
|
11969
11955
|
columnInjector;
|
|
11970
|
-
_editMode = false;
|
|
11971
11956
|
set fieldEditMode(value) {
|
|
11972
11957
|
this._fieldEditMode = value;
|
|
11973
11958
|
this._setFocusComponent();
|
|
@@ -11986,9 +11971,7 @@ class SimpleGridCellComponent {
|
|
|
11986
11971
|
}
|
|
11987
11972
|
_fieldEditMode = false;
|
|
11988
11973
|
_focused = false;
|
|
11989
|
-
|
|
11990
|
-
_template;
|
|
11991
|
-
_inputTemplate;
|
|
11974
|
+
_cellField;
|
|
11992
11975
|
constructor(_changeDetector, _injector, _formComponent) {
|
|
11993
11976
|
this._changeDetector = _changeDetector;
|
|
11994
11977
|
this._injector = _injector;
|
|
@@ -12003,7 +11986,7 @@ class SimpleGridCellComponent {
|
|
|
12003
11986
|
});
|
|
12004
11987
|
}
|
|
12005
11988
|
_setFocusComponent() {
|
|
12006
|
-
if (this.
|
|
11989
|
+
if (this.editMode && this.fieldEditMode) {
|
|
12007
11990
|
const element = this._getElement();
|
|
12008
11991
|
if (element) {
|
|
12009
11992
|
const focusEvent = this._createNewEvent(element, 'focus');
|
|
@@ -12047,22 +12030,10 @@ class SimpleGridCellComponent {
|
|
|
12047
12030
|
return event;
|
|
12048
12031
|
}
|
|
12049
12032
|
_getElement() {
|
|
12050
|
-
|
|
12051
|
-
|
|
12052
|
-
|
|
12053
|
-
|
|
12054
|
-
else if (this._template) {
|
|
12055
|
-
templ = this._template;
|
|
12056
|
-
}
|
|
12057
|
-
else {
|
|
12058
|
-
templ = this._inputTemplate;
|
|
12059
|
-
}
|
|
12060
|
-
if (templ) {
|
|
12061
|
-
if (templ && templ.elementRef) {
|
|
12062
|
-
const inputElement = this._getFirstFormInput(templ.elementRef.nativeElement.parentElement);
|
|
12063
|
-
if (inputElement) {
|
|
12064
|
-
return inputElement;
|
|
12065
|
-
}
|
|
12033
|
+
if (this._cellField && this._cellField.nativeElement) {
|
|
12034
|
+
const inputElement = this._getFirstFormInput(this._cellField.nativeElement);
|
|
12035
|
+
if (inputElement) {
|
|
12036
|
+
return inputElement;
|
|
12066
12037
|
}
|
|
12067
12038
|
}
|
|
12068
12039
|
}
|
|
@@ -12070,12 +12041,12 @@ class SimpleGridCellComponent {
|
|
|
12070
12041
|
this._changeDetector.detectChanges();
|
|
12071
12042
|
}
|
|
12072
12043
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SimpleGridCellComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: FormComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
12073
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SimpleGridCellComponent, isStandalone: false, selector: "co-simple-grid-cell", inputs: { editMode: "editMode", column: "column", row: "row", fieldEditMode: "fieldEditMode" }, outputs: { cellClick: "cellClick" }, host: { listeners: { "click": "handleClick($event)" }, properties: { "class.co-simple-grid-cell": "this.showClass" } }, viewQueries: [{ propertyName: "
|
|
12044
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SimpleGridCellComponent, isStandalone: false, selector: "co-simple-grid-cell", inputs: { editMode: "editMode", column: "column", row: "row", fieldEditMode: "fieldEditMode" }, outputs: { cellClick: "cellClick" }, host: { listeners: { "click": "handleClick($event)" }, properties: { "class.co-simple-grid-cell": "this.showClass" } }, viewQueries: [{ propertyName: "cellFieldContent", first: true, predicate: ["cellField"], descendants: true }], ngImport: i0, template: `
|
|
12074
12045
|
<div class="simple-grid-column-cell-value" [ngClass]="column.textAlign ? column.textAlign : defaultTextAlign">
|
|
12075
12046
|
@if (editMode) {
|
|
12076
|
-
<div class="simple-grid-column-cell-field">
|
|
12047
|
+
<div #cellField class="simple-grid-column-cell-field">
|
|
12077
12048
|
@if (column.editTemplate) {
|
|
12078
|
-
<ng-container
|
|
12049
|
+
<ng-container
|
|
12079
12050
|
[ngTemplateOutlet]="column.editTemplate"
|
|
12080
12051
|
[ngTemplateOutletInjector]="columnInjector"
|
|
12081
12052
|
[ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
|
|
@@ -12089,7 +12060,7 @@ class SimpleGridCellComponent {
|
|
|
12089
12060
|
}
|
|
12090
12061
|
</div>
|
|
12091
12062
|
} @else {
|
|
12092
|
-
<div class="simple-grid-column-cell-field">
|
|
12063
|
+
<div #cellField class="simple-grid-column-cell-field">
|
|
12093
12064
|
@if (column.template) {
|
|
12094
12065
|
<ng-container [ngTemplateOutlet]="column.template"
|
|
12095
12066
|
[ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
|
|
@@ -12108,9 +12079,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
12108
12079
|
template: `
|
|
12109
12080
|
<div class="simple-grid-column-cell-value" [ngClass]="column.textAlign ? column.textAlign : defaultTextAlign">
|
|
12110
12081
|
@if (editMode) {
|
|
12111
|
-
<div class="simple-grid-column-cell-field">
|
|
12082
|
+
<div #cellField class="simple-grid-column-cell-field">
|
|
12112
12083
|
@if (column.editTemplate) {
|
|
12113
|
-
<ng-container
|
|
12084
|
+
<ng-container
|
|
12114
12085
|
[ngTemplateOutlet]="column.editTemplate"
|
|
12115
12086
|
[ngTemplateOutletInjector]="columnInjector"
|
|
12116
12087
|
[ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
|
|
@@ -12124,7 +12095,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
12124
12095
|
}
|
|
12125
12096
|
</div>
|
|
12126
12097
|
} @else {
|
|
12127
|
-
<div class="simple-grid-column-cell-field">
|
|
12098
|
+
<div #cellField class="simple-grid-column-cell-field">
|
|
12128
12099
|
@if (column.template) {
|
|
12129
12100
|
<ng-container [ngTemplateOutlet]="column.template"
|
|
12130
12101
|
[ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
|
|
@@ -12142,15 +12113,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
12142
12113
|
type: Optional
|
|
12143
12114
|
}] }], propDecorators: { editMode: [{
|
|
12144
12115
|
type: Input
|
|
12145
|
-
}],
|
|
12146
|
-
type: ViewChild,
|
|
12147
|
-
args: ["editTemplate", { read: BaseInputComponent }]
|
|
12148
|
-
}], noEditTemplateContent: [{
|
|
12149
|
-
type: ViewChild,
|
|
12150
|
-
args: ["noEditTemplate"]
|
|
12151
|
-
}], noTemplateContent: [{
|
|
12116
|
+
}], cellFieldContent: [{
|
|
12152
12117
|
type: ViewChild,
|
|
12153
|
-
args: ["
|
|
12118
|
+
args: ["cellField"]
|
|
12154
12119
|
}], column: [{
|
|
12155
12120
|
type: Input
|
|
12156
12121
|
}], row: [{
|
|
@@ -12275,9 +12240,11 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
|
12275
12240
|
defaultTextAlign = ColumnAlign.Left;
|
|
12276
12241
|
scrollDirections = ScrollDirection;
|
|
12277
12242
|
set headerCells(cells) {
|
|
12243
|
+
// The header cells are rendered from headerColumnsCopy, so the elementRefs
|
|
12244
|
+
// have to be handed back to that same collection.
|
|
12278
12245
|
const headerElements = cells.toArray();
|
|
12279
|
-
for (let i = 0; i < headerElements.length; i++) {
|
|
12280
|
-
this.
|
|
12246
|
+
for (let i = 0; i < headerElements.length && i < this.headerColumnsCopy.length; i++) {
|
|
12247
|
+
this.headerColumnsCopy[i].elementRef = headerElements[i];
|
|
12281
12248
|
}
|
|
12282
12249
|
}
|
|
12283
12250
|
rowElements;
|
|
@@ -12312,8 +12279,11 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
|
12312
12279
|
.then((index) => {
|
|
12313
12280
|
this.editCellIndex = index;
|
|
12314
12281
|
this.changeDetection.markForCheck();
|
|
12282
|
+
this._detectChanges();
|
|
12283
|
+
})
|
|
12284
|
+
.catch(() => {
|
|
12285
|
+
// row change was blocked by validation, keep the current cell in edit mode
|
|
12315
12286
|
});
|
|
12316
|
-
this._detectChanges();
|
|
12317
12287
|
}
|
|
12318
12288
|
if (event.code === 'Escape') {
|
|
12319
12289
|
this.cancelEditRow();
|
|
@@ -12716,6 +12686,9 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
|
12716
12686
|
}, 500);
|
|
12717
12687
|
}
|
|
12718
12688
|
/**
|
|
12689
|
+
* Cell indexes are expressed in `headerColumnsCopy` space, because that is the
|
|
12690
|
+
* collection the rows are rendered from. Using `columns` here would drift as soon
|
|
12691
|
+
* as a column is hidden or marked as single column.
|
|
12719
12692
|
*
|
|
12720
12693
|
* @param next; Move to next or previous cell
|
|
12721
12694
|
* @param start; Start from cellindex
|
|
@@ -12723,9 +12696,16 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
|
12723
12696
|
*/
|
|
12724
12697
|
_nextAvailableCellToEdit(next, start = -1) {
|
|
12725
12698
|
return new Promise((resolve, reject) => {
|
|
12726
|
-
const numEditableColumns = this.columns.filter(c => !c.readonly).length;
|
|
12727
12699
|
const wantedIndex = start + (next ? 1 : -1);
|
|
12728
|
-
|
|
12700
|
+
const cellIndex = next
|
|
12701
|
+
? this._getNextEditCellIndex(Math.max(wantedIndex, 0))
|
|
12702
|
+
: this._getPreviousEditCellIndex(wantedIndex);
|
|
12703
|
+
// Still an editable column left in the current row
|
|
12704
|
+
if (cellIndex > -1) {
|
|
12705
|
+
resolve(cellIndex);
|
|
12706
|
+
return;
|
|
12707
|
+
}
|
|
12708
|
+
if (next) {
|
|
12729
12709
|
this._getNextEditRowIndex()
|
|
12730
12710
|
.then((index) => {
|
|
12731
12711
|
this.editRowIndex = index;
|
|
@@ -12735,34 +12715,37 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
|
12735
12715
|
reject();
|
|
12736
12716
|
});
|
|
12737
12717
|
}
|
|
12738
|
-
else
|
|
12718
|
+
else {
|
|
12739
12719
|
this._getPreviousEditRowIndex()
|
|
12740
12720
|
.then((index) => {
|
|
12741
12721
|
this.editRowIndex = index;
|
|
12742
|
-
resolve(this._getPreviousEditCellIndex(this.
|
|
12722
|
+
resolve(this._getPreviousEditCellIndex(this.headerColumnsCopy.length - 1));
|
|
12743
12723
|
})
|
|
12744
12724
|
.catch((e) => {
|
|
12745
12725
|
reject();
|
|
12746
12726
|
});
|
|
12747
12727
|
}
|
|
12748
|
-
else {
|
|
12749
|
-
resolve(next ? this._getNextEditCellIndex(start + 1) : this._getPreviousEditCellIndex(start - 1));
|
|
12750
|
-
}
|
|
12751
12728
|
});
|
|
12752
12729
|
}
|
|
12753
12730
|
_getNextEditCellIndex(start) {
|
|
12754
|
-
for (let i = start; i < this.
|
|
12755
|
-
if (
|
|
12731
|
+
for (let i = start; i < this.headerColumnsCopy.length; i++) {
|
|
12732
|
+
if (this._isCellEditable(i)) {
|
|
12756
12733
|
return i;
|
|
12757
12734
|
}
|
|
12758
12735
|
}
|
|
12736
|
+
return -1;
|
|
12759
12737
|
}
|
|
12760
12738
|
_getPreviousEditCellIndex(start) {
|
|
12761
|
-
for (let i = start; i >= 0; i--) {
|
|
12762
|
-
if (
|
|
12739
|
+
for (let i = Math.min(start, this.headerColumnsCopy.length - 1); i >= 0; i--) {
|
|
12740
|
+
if (this._isCellEditable(i)) {
|
|
12763
12741
|
return i;
|
|
12764
12742
|
}
|
|
12765
12743
|
}
|
|
12744
|
+
return -1;
|
|
12745
|
+
}
|
|
12746
|
+
_isCellEditable(cellIndex) {
|
|
12747
|
+
const column = this.headerColumnsCopy[cellIndex];
|
|
12748
|
+
return !!column && !column.readonly;
|
|
12766
12749
|
}
|
|
12767
12750
|
_getNextEditRowIndex() {
|
|
12768
12751
|
return new Promise((resolve, reject) => {
|