@tots/editable-columns 15.0.2 → 15.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.
@@ -0,0 +1,115 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@angular/material/form-field";
8
+ import * as i4 from "@angular/material/select";
9
+ import * as i5 from "@angular/material/core";
10
+ export class SelectColumnComponent extends TotsBaseColumnComponent {
11
+ constructor() {
12
+ super();
13
+ }
14
+ ngOnInit() {
15
+ this.loadInput();
16
+ this.loadForm();
17
+ this.loadChanges();
18
+ this.options = this.column.extra.options || [];
19
+ }
20
+ loadChanges() {
21
+ this.input.valueChanges
22
+ .subscribe(res => {
23
+ this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });
24
+ });
25
+ }
26
+ loadForm() {
27
+ if (this.column.extra == undefined || this.column.extra.group == undefined) {
28
+ return;
29
+ }
30
+ let group = this.column.extra.group;
31
+ if (group.get(this.getFormKey()) != undefined) {
32
+ return;
33
+ }
34
+ group.addControl(this.getFormKey(), this.input);
35
+ }
36
+ loadInput() {
37
+ let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);
38
+ this.input = new FormControl(value, this.getValidators());
39
+ this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });
40
+ }
41
+ getOptionValue(option) {
42
+ return TotsTableHelper.getItemValueByKey(option, this.column.extra.field_select_key);
43
+ }
44
+ displayOption(option) {
45
+ return TotsTableHelper.getItemValueByKey(option, this.column.extra.field_print_key);
46
+ }
47
+ getFormKey() {
48
+ if (Array.isArray(this.column.field_key)) {
49
+ return this.column.field_key.join('_');
50
+ }
51
+ else {
52
+ return this.column.field_key;
53
+ }
54
+ }
55
+ getValidators() {
56
+ if (this.column.extra && this.column.extra.validators) {
57
+ return this.column.extra.validators;
58
+ }
59
+ return null;
60
+ }
61
+ getErrorMessage() {
62
+ if (!this.column.extra.errors) {
63
+ return '';
64
+ }
65
+ for (const error of this.column.extra.errors) {
66
+ if (this.input.hasError(error.name)) {
67
+ return error.message;
68
+ }
69
+ }
70
+ return '';
71
+ }
72
+ getAppearance() {
73
+ if (this.column.extra && this.column.extra.appearance) {
74
+ return this.column.extra.appearance;
75
+ }
76
+ return 'fill';
77
+ }
78
+ getLabel() {
79
+ if (this.column.extra && this.column.extra.label) {
80
+ return this.column.extra.label;
81
+ }
82
+ return undefined;
83
+ }
84
+ getClasses() {
85
+ if (this.column.extra && this.column.extra.classes) {
86
+ return this.column.extra.classes;
87
+ }
88
+ return '';
89
+ }
90
+ getPlaceholder() {
91
+ if (this.column.extra && this.column.extra.placeholder) {
92
+ return this.column.extra.placeholder;
93
+ }
94
+ return '';
95
+ }
96
+ getCaption() {
97
+ if (this.column.extra && this.column.extra.caption) {
98
+ return this.column.extra.caption;
99
+ }
100
+ return '';
101
+ }
102
+ hasError() {
103
+ return this.input.invalid && (this.input.dirty || this.input.touched);
104
+ }
105
+ getInput() {
106
+ return this.input;
107
+ }
108
+ }
109
+ SelectColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: SelectColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
+ SelectColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: SelectColumnComponent, selector: "tots-select-column", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n \n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <mat-select [formControl]=\"input\" [placeholder]=\"getPlaceholder()\">\n <mat-option *ngFor=\"let option of options; let index=index;\" [value]=\"getOptionValue(option)\">\n {{ displayOption(option) }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: SelectColumnComponent, decorators: [{
112
+ type: Component,
113
+ args: [{ selector: 'tots-select-column', template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n \n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <mat-select [formControl]=\"input\" [placeholder]=\"getPlaceholder()\">\n <mat-option *ngFor=\"let option of options; let index=index;\" [value]=\"getOptionValue(option)\">\n {{ displayOption(option) }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"] }]
114
+ }], ctorParameters: function () { return []; } });
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b3RzL2VkaXRhYmxlLWNvbHVtbnMvc3JjL2xpYi9jb2x1bW5zL3NlbGVjdC1jb2x1bW4vc2VsZWN0LWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b3RzL2VkaXRhYmxlLWNvbHVtbnMvc3JjL2xpYi9jb2x1bW5zL3NlbGVjdC1jb2x1bW4vc2VsZWN0LWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQTBCLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQU92RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsdUJBQXVCO0lBS2hFO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWTthQUN0QixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLEVB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QUFLLENBQUMsT0FBTyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7O2tIQXhIVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixpRkNWbEMsaW1CQVdBOzJGRERhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgVG90c0Jhc2VDb2x1bW5Db21wb25lbnQsIFRvdHNUYWJsZUhlbHBlciB9IGZyb20gJ0B0b3RzL3RhYmxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG90cy1zZWxlY3QtY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtY29sdW1uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBUb3RzQmFzZUNvbHVtbkNvbXBvbmVudCB7XG5cbiAgaW5wdXQhOiBGb3JtQ29udHJvbDtcbiAgcHJvdGVjdGVkIG9wdGlvbnMhIDogYW55W107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZElucHV0KCk7XG4gICAgdGhpcy5sb2FkRm9ybSgpO1xuICAgIHRoaXMubG9hZENoYW5nZXMoKTtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNvbHVtbi5leHRyYS5vcHRpb25zIHx8IFtdO1xuICB9XG5cbiAgbG9hZENoYW5nZXMoKSB7XG4gICAgdGhpcy5pbnB1dC52YWx1ZUNoYW5nZXNcbiAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLm9uQWN0aW9uLm5leHQoeyBrZXk6ICdpbnB1dC1jaGFuZ2UnLCBpdGVtOiB7IGZpZWxkX2tleTogdGhpcy5nZXRGb3JtS2V5KCksIGl0ZW06IHRoaXMuaXRlbSwgdmFsdWU6IHJlcywgdmFsaWQ6IHRoaXMuaW5wdXQudmFsaWQsIGluZGV4OiB0aGlzLmluZGV4IH0gfSk7XG4gICAgfSk7XG4gIH1cblxuICBsb2FkRm9ybSgpIHtcbiAgICBpZih0aGlzLmNvbHVtbi5leHRyYSA9PSB1bmRlZmluZWQgfHwgdGhpcy5jb2x1bW4uZXh0cmEuZ3JvdXAgPT0gdW5kZWZpbmVkKXtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZ3JvdXA6IEZvcm1Hcm91cCA9IHRoaXMuY29sdW1uLmV4dHJhLmdyb3VwO1xuICAgIGlmKGdyb3VwLmdldCh0aGlzLmdldEZvcm1LZXkoKSkgIT0gdW5kZWZpbmVkKXtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGdyb3VwLmFkZENvbnRyb2wodGhpcy5nZXRGb3JtS2V5KCksIHRoaXMuaW5wdXQpO1xuICB9XG5cbiAgbG9hZElucHV0KCkge1xuICAgIGxldCB2YWx1ZSA9IFRvdHNUYWJsZUhlbHBlci5nZXRJdGVtVmFsdWVCeUtleSh0aGlzLml0ZW0sIHRoaXMuY29sdW1uLmZpZWxkX2tleSk7XG4gICAgdGhpcy5pbnB1dCA9IG5ldyBGb3JtQ29udHJvbCh2YWx1ZSwgdGhpcy5nZXRWYWxpZGF0b3JzKCkpO1xuXG4gICAgdGhpcy5vbkFjdGlvbi5uZXh0KHsga2V5OiAnaW5wdXQtY3JlYXRlJywgaXRlbTogeyBmaWVsZF9rZXk6IHRoaXMuZ2V0Rm9ybUtleSgpLCBpbnB1dDogdGhpcy5pbnB1dCwgaW5kZXg6IHRoaXMuaW5kZXgsIGNvbHVtbjogdGhpcy5jb2x1bW4gfSB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRPcHRpb25WYWx1ZShvcHRpb246YW55KSB7XG4gICAgcmV0dXJuIFRvdHNUYWJsZUhlbHBlci5nZXRJdGVtVmFsdWVCeUtleShvcHRpb24sIHRoaXMuY29sdW1uLmV4dHJhLmZpZWxkX3NlbGVjdF9rZXkpO1xuICB9XG4gIHByb3RlY3RlZCBkaXNwbGF5T3B0aW9uKG9wdGlvbjphbnkpIHtcbiAgICByZXR1cm4gVG90c1RhYmxlSGVscGVyLmdldEl0ZW1WYWx1ZUJ5S2V5KG9wdGlvbiwgdGhpcy5jb2x1bW4uZXh0cmEuZmllbGRfcHJpbnRfa2V5KTtcbiAgfVxuXG4gIGdldEZvcm1LZXkoKTogc3RyaW5nIHtcbiAgICBpZihBcnJheS5pc0FycmF5KHRoaXMuY29sdW1uLmZpZWxkX2tleSkpe1xuICAgICAgcmV0dXJuIHRoaXMuY29sdW1uLmZpZWxkX2tleS5qb2luKCdfJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbi5maWVsZF9rZXkhO1xuICAgIH1cbiAgfVxuXG4gIGdldFZhbGlkYXRvcnMoKSA6IFZhbGlkYXRvckZuW10gfCBWYWxpZGF0b3JGbiB8IG51bGwge1xuICAgIGlmICh0aGlzLmNvbHVtbi5leHRyYSAmJiB0aGlzLmNvbHVtbi5leHRyYS52YWxpZGF0b3JzKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW4uZXh0cmEudmFsaWRhdG9ycztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2UoKSA6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNvbHVtbi5leHRyYS5lcnJvcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGVycm9yIG9mIHRoaXMuY29sdW1uLmV4dHJhLmVycm9ycykge1xuICAgICAgaWYgKHRoaXMuaW5wdXQuaGFzRXJyb3IoZXJyb3IubmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yLm1lc3NhZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0QXBwZWFyYW5jZSgpIDogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB7XG4gICAgaWYgKHRoaXMuY29sdW1uLmV4dHJhICYmIHRoaXMuY29sdW1uLmV4dHJhLmFwcGVhcmFuY2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbi5leHRyYS5hcHBlYXJhbmNlO1xuICAgIH1cbiAgICByZXR1cm4gJ2ZpbGwnO1xuICB9XG5cbiAgZ2V0TGFiZWwoKSA6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuY29sdW1uLmV4dHJhICYmIHRoaXMuY29sdW1uLmV4dHJhLmxhYmVsKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW4uZXh0cmEubGFiZWw7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRDbGFzc2VzKCkgOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmNvbHVtbi5leHRyYSAmJiB0aGlzLmNvbHVtbi5leHRyYS5jbGFzc2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW4uZXh0cmEuY2xhc3NlcztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKSA6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY29sdW1uLmV4dHJhICYmIHRoaXMuY29sdW1uLmV4dHJhLnBsYWNlaG9sZGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW4uZXh0cmEucGxhY2Vob2xkZXI7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldENhcHRpb24oKSA6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY29sdW1uLmV4dHJhICYmIHRoaXMuY29sdW1uLmV4dHJhLmNhcHRpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbi5leHRyYS5jYXB0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBoYXNFcnJvcigpIDogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXQuaW52YWxpZCAmJiAodGhpcy5pbnB1dC5kaXJ0eSB8fCB0aGlzLmlucHV0LnRvdWNoZWQpO1xuICB9XG5cbiAgZ2V0SW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXQ7XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInt7Z2V0Q2xhc3NlcygpfX1cIiBbYXBwZWFyYW5jZV09XCJnZXRBcHBlYXJhbmNlKClcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gIFxuICA8bWF0LWxhYmVsICpuZ0lmPVwiZ2V0TGFiZWwoKVwiPiB7eyBnZXRMYWJlbCgpIH19IDwvbWF0LWxhYmVsPlxuICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiaW5wdXRcIiBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGluZGV4PWluZGV4O1wiIFt2YWx1ZV09XCJnZXRPcHRpb25WYWx1ZShvcHRpb24pXCI+XG4gICAgICB7eyBkaXNwbGF5T3B0aW9uKG9wdGlvbikgfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LXNlbGVjdD5cbiAgPG1hdC1oaW50ICpuZ0lmPVwiZ2V0Q2FwdGlvbigpXCIgW2FsaWduXT1cIidlbmQnXCI+IHt7Z2V0Q2FwdGlvbigpfX0gPC9tYXQtaGludD5cbiAgPG1hdC1lcnJvciAqbmdJZj1cImhhc0Vycm9yKClcIj57e2dldEVycm9yTWVzc2FnZSgpfX08L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
@@ -8,8 +8,10 @@ import { MatFormFieldModule } from '@angular/material/form-field';
8
8
  import { TotsTableModule } from '@tots/table';
9
9
  /** Columns */
10
10
  import { InputColumn } from './columns/input-column/input-column.component';
11
+ import { SelectColumnComponent } from './columns/select-column/select-column.component';
11
12
  /** Components */
12
13
  import { TotsTableFullGroupComponent } from './components/tots-table-full-group/tots-table-full-group.component';
14
+ import { MatSelectModule } from '@angular/material/select';
13
15
  import * as i0 from "@angular/core";
14
16
  export class TotsEditableColumnsModule {
15
17
  }
@@ -17,6 +19,7 @@ TotsEditableColumnsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0"
17
19
  TotsEditableColumnsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, declarations: [
18
20
  /** Columns */
19
21
  InputColumn,
22
+ SelectColumnComponent,
20
23
  /** Components */
21
24
  TotsTableFullGroupComponent], imports: [CommonModule,
22
25
  FormsModule,
@@ -24,6 +27,7 @@ TotsEditableColumnsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0
24
27
  /** Angular Material */
25
28
  MatFormFieldModule,
26
29
  MatInputModule,
30
+ MatSelectModule,
27
31
  /** Tots Libraries */
28
32
  TotsTableModule], exports: [
29
33
  /** Columns */
@@ -36,6 +40,7 @@ TotsEditableColumnsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0
36
40
  /** Angular Material */
37
41
  MatFormFieldModule,
38
42
  MatInputModule,
43
+ MatSelectModule,
39
44
  /** Tots Libraries */
40
45
  TotsTableModule] });
41
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, decorators: [{
@@ -44,6 +49,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
44
49
  declarations: [
45
50
  /** Columns */
46
51
  InputColumn,
52
+ SelectColumnComponent,
47
53
  /** Components */
48
54
  TotsTableFullGroupComponent
49
55
  ],
@@ -54,6 +60,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
54
60
  /** Angular Material */
55
61
  MatFormFieldModule,
56
62
  MatInputModule,
63
+ MatSelectModule,
57
64
  /** Tots Libraries */
58
65
  TotsTableModule
59
66
  ],
@@ -65,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
65
72
  ]
66
73
  }]
67
74
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtY29sdW1ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b3RzL2VkaXRhYmxlLWNvbHVtbnMvc3JjL2xpYi9lZGl0YWJsZS1jb2x1bW5zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsdUJBQXVCO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVsRSxxQkFBcUI7QUFDckIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxjQUFjO0FBQ2QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRTVFLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQzs7QUFxQ2pILE1BQU0sT0FBTyx5QkFBeUI7O3NIQUF6Qix5QkFBeUI7dUhBQXpCLHlCQUF5QjtRQTFCbEMsY0FBYztRQUNkLFdBQVc7UUFFWCxpQkFBaUI7UUFDakIsMkJBQTJCLGFBRzNCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBRW5CLHVCQUF1QjtRQUN2QixrQkFBa0I7UUFDbEIsY0FBYztRQUVkLHFCQUFxQjtRQUNyQixlQUFlO1FBR2YsY0FBYztRQUNkLFdBQVc7UUFFWCxpQkFBaUI7UUFDakIsMkJBQTJCO3VIQUdsQix5QkFBeUIsWUFuQmxDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBRW5CLHVCQUF1QjtRQUN2QixrQkFBa0I7UUFDbEIsY0FBYztRQUVkLHFCQUFxQjtRQUNyQixlQUFlOzJGQVVOLHlCQUF5QjtrQkE3QnJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUVaLGNBQWM7d0JBQ2QsV0FBVzt3QkFFWCxpQkFBaUI7d0JBQ2pCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBRW5CLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUVkLHFCQUFxQjt3QkFDckIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsV0FBVzt3QkFFWCxpQkFBaUI7d0JBQ2pCLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKiogQW5ndWxhciBNYXRlcmlhbCAqL1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuLyoqIFRvdHMgTGlicmFyaWVzICovXG5pbXBvcnQgeyBUb3RzVGFibGVNb2R1bGUgfSBmcm9tICdAdG90cy90YWJsZSc7XG5cbi8qKiBDb2x1bW5zICovXG5pbXBvcnQgeyBJbnB1dENvbHVtbiB9IGZyb20gJy4vY29sdW1ucy9pbnB1dC1jb2x1bW4vaW5wdXQtY29sdW1uLmNvbXBvbmVudCc7XG5cbi8qKiBDb21wb25lbnRzICovXG5pbXBvcnQgeyBUb3RzVGFibGVGdWxsR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG90cy10YWJsZS1mdWxsLWdyb3VwL3RvdHMtdGFibGUtZnVsbC1ncm91cC5jb21wb25lbnQnO1xuXG5cblxuXG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcblxuICAgIC8qKiBDb2x1bW5zICovXG4gICAgSW5wdXRDb2x1bW4sXG5cbiAgICAvKiogQ29tcG9uZW50cyAqL1xuICAgIFRvdHNUYWJsZUZ1bGxHcm91cENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG5cbiAgICAvKiogQW5ndWxhciBNYXRlcmlhbCAqL1xuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcblxuICAgIC8qKiBUb3RzIExpYnJhcmllcyAqL1xuICAgIFRvdHNUYWJsZU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLyoqIENvbHVtbnMgKi9cbiAgICBJbnB1dENvbHVtbixcblxuICAgIC8qKiBDb21wb25lbnRzICovXG4gICAgVG90c1RhYmxlRnVsbEdyb3VwQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVG90c0VkaXRhYmxlQ29sdW1uc01vZHVsZSB7IH1cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtY29sdW1ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b3RzL2VkaXRhYmxlLWNvbHVtbnMvc3JjL2xpYi9lZGl0YWJsZS1jb2x1bW5zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsdUJBQXVCO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVsRSxxQkFBcUI7QUFDckIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxjQUFjO0FBQ2QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXhGLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNqSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBcUMzRCxNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUI7UUE1QmxDLGNBQWM7UUFDZCxXQUFXO1FBQ1gscUJBQXFCO1FBRXJCLGlCQUFpQjtRQUNqQiwyQkFBMkIsYUFHM0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFFbkIsdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsZUFBZTtRQUVmLHFCQUFxQjtRQUNyQixlQUFlO1FBR2YsY0FBYztRQUNkLFdBQVc7UUFFWCxpQkFBaUI7UUFDakIsMkJBQTJCO3VIQUdsQix5QkFBeUIsWUFwQmxDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBRW5CLHVCQUF1QjtRQUN2QixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGVBQWU7UUFFZixxQkFBcUI7UUFDckIsZUFBZTsyRkFVTix5QkFBeUI7a0JBL0JyQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFFWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gscUJBQXFCO3dCQUVyQixpQkFBaUI7d0JBQ2pCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBRW5CLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7d0JBRWYscUJBQXFCO3dCQUNyQixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxXQUFXO3dCQUVYLGlCQUFpQjt3QkFDakIsMkJBQTJCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKiBBbmd1bGFyIE1hdGVyaWFsICovXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG4vKiogVG90cyBMaWJyYXJpZXMgKi9cbmltcG9ydCB7IFRvdHNUYWJsZU1vZHVsZSB9IGZyb20gJ0B0b3RzL3RhYmxlJztcblxuLyoqIENvbHVtbnMgKi9cbmltcG9ydCB7IElucHV0Q29sdW1uIH0gZnJvbSAnLi9jb2x1bW5zL2lucHV0LWNvbHVtbi9pbnB1dC1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1ucy9zZWxlY3QtY29sdW1uL3NlbGVjdC1jb2x1bW4uY29tcG9uZW50JztcblxuLyoqIENvbXBvbmVudHMgKi9cbmltcG9ydCB7IFRvdHNUYWJsZUZ1bGxHcm91cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b3RzLXRhYmxlLWZ1bGwtZ3JvdXAvdG90cy10YWJsZS1mdWxsLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuXG5cblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuXG4gICAgLyoqIENvbHVtbnMgKi9cbiAgICBJbnB1dENvbHVtbixcbiAgICBTZWxlY3RDb2x1bW5Db21wb25lbnQsXG5cbiAgICAvKiogQ29tcG9uZW50cyAqL1xuICAgIFRvdHNUYWJsZUZ1bGxHcm91cENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG5cbiAgICAvKiogQW5ndWxhciBNYXRlcmlhbCAqL1xuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG5cbiAgICAvKiogVG90cyBMaWJyYXJpZXMgKi9cbiAgICBUb3RzVGFibGVNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIC8qKiBDb2x1bW5zICovXG4gICAgSW5wdXRDb2x1bW4sXG5cbiAgICAvKiogQ29tcG9uZW50cyAqL1xuICAgIFRvdHNUYWJsZUZ1bGxHcm91cENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRvdHNFZGl0YWJsZUNvbHVtbnNNb2R1bGUgeyB9XG4iXX0=
@@ -5,6 +5,7 @@
5
5
  * Columns
6
6
  */
7
7
  export * from './lib/columns/input-column/input-column.component';
8
+ export * from './lib/columns/select-column/select-column.component';
8
9
  /**
9
10
  * Components
10
11
  */
@@ -13,4 +14,4 @@ export * from './lib/components/tots-table-full-group/tots-table-full-group.comp
13
14
  * Modules
14
15
  */
15
16
  export * from './lib/editable-columns.module';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvdHMvZWRpdGFibGUtY29sdW1ucy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOztHQUVHO0FBQ0gsY0FBYyxtREFBbUQsQ0FBQztBQUVsRTs7R0FFRztBQUNILGNBQWMsd0VBQXdFLENBQUM7QUFFdkY7O0dBRUc7QUFDSCxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBlZGl0YWJsZS1jb2x1bW5zXG4gKi9cblxuLyoqXG4gKiBDb2x1bW5zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbHVtbnMvaW5wdXQtY29sdW1uL2lucHV0LWNvbHVtbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b3RzLXRhYmxlLWZ1bGwtZ3JvdXAvdG90cy10YWJsZS1mdWxsLWdyb3VwLmNvbXBvbmVudCc7XG5cbi8qKlxuICogTW9kdWxlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0YWJsZS1jb2x1bW5zLm1vZHVsZSc7XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvdHMvZWRpdGFibGUtY29sdW1ucy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOztHQUVHO0FBQ0gsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFOztHQUVHO0FBQ0gsY0FBYyx3RUFBd0UsQ0FBQztBQUV2Rjs7R0FFRztBQUNILGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGVkaXRhYmxlLWNvbHVtbnNcbiAqL1xuXG4vKipcbiAqIENvbHVtbnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sdW1ucy9pbnB1dC1jb2x1bW4vaW5wdXQtY29sdW1uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2x1bW5zL3NlbGVjdC1jb2x1bW4vc2VsZWN0LWNvbHVtbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b3RzLXRhYmxlLWZ1bGwtZ3JvdXAvdG90cy10YWJsZS1mdWxsLWdyb3VwLmNvbXBvbmVudCc7XG5cbi8qKlxuICogTW9kdWxlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0YWJsZS1jb2x1bW5zLm1vZHVsZSc7XG4iXX0=
@@ -10,6 +10,9 @@ import * as i3 from '@angular/material/form-field';
10
10
  import { MatFormFieldModule } from '@angular/material/form-field';
11
11
  import * as i4 from '@angular/material/input';
12
12
  import { MatInputModule } from '@angular/material/input';
13
+ import * as i4$1 from '@angular/material/select';
14
+ import { MatSelectModule } from '@angular/material/select';
15
+ import * as i5 from '@angular/material/core';
13
16
 
14
17
  class InputColumn extends TotsBaseColumnComponent {
15
18
  constructor() {
@@ -110,6 +113,112 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
110
113
  args: [{ selector: 'tots-input-column', template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"] }]
111
114
  }], ctorParameters: function () { return []; } });
112
115
 
116
+ class SelectColumnComponent extends TotsBaseColumnComponent {
117
+ constructor() {
118
+ super();
119
+ }
120
+ ngOnInit() {
121
+ this.loadInput();
122
+ this.loadForm();
123
+ this.loadChanges();
124
+ this.options = this.column.extra.options || [];
125
+ }
126
+ loadChanges() {
127
+ this.input.valueChanges
128
+ .subscribe(res => {
129
+ this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });
130
+ });
131
+ }
132
+ loadForm() {
133
+ if (this.column.extra == undefined || this.column.extra.group == undefined) {
134
+ return;
135
+ }
136
+ let group = this.column.extra.group;
137
+ if (group.get(this.getFormKey()) != undefined) {
138
+ return;
139
+ }
140
+ group.addControl(this.getFormKey(), this.input);
141
+ }
142
+ loadInput() {
143
+ let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);
144
+ this.input = new FormControl(value, this.getValidators());
145
+ this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });
146
+ }
147
+ getOptionValue(option) {
148
+ return TotsTableHelper.getItemValueByKey(option, this.column.extra.field_select_key);
149
+ }
150
+ displayOption(option) {
151
+ return TotsTableHelper.getItemValueByKey(option, this.column.extra.field_print_key);
152
+ }
153
+ getFormKey() {
154
+ if (Array.isArray(this.column.field_key)) {
155
+ return this.column.field_key.join('_');
156
+ }
157
+ else {
158
+ return this.column.field_key;
159
+ }
160
+ }
161
+ getValidators() {
162
+ if (this.column.extra && this.column.extra.validators) {
163
+ return this.column.extra.validators;
164
+ }
165
+ return null;
166
+ }
167
+ getErrorMessage() {
168
+ if (!this.column.extra.errors) {
169
+ return '';
170
+ }
171
+ for (const error of this.column.extra.errors) {
172
+ if (this.input.hasError(error.name)) {
173
+ return error.message;
174
+ }
175
+ }
176
+ return '';
177
+ }
178
+ getAppearance() {
179
+ if (this.column.extra && this.column.extra.appearance) {
180
+ return this.column.extra.appearance;
181
+ }
182
+ return 'fill';
183
+ }
184
+ getLabel() {
185
+ if (this.column.extra && this.column.extra.label) {
186
+ return this.column.extra.label;
187
+ }
188
+ return undefined;
189
+ }
190
+ getClasses() {
191
+ if (this.column.extra && this.column.extra.classes) {
192
+ return this.column.extra.classes;
193
+ }
194
+ return '';
195
+ }
196
+ getPlaceholder() {
197
+ if (this.column.extra && this.column.extra.placeholder) {
198
+ return this.column.extra.placeholder;
199
+ }
200
+ return '';
201
+ }
202
+ getCaption() {
203
+ if (this.column.extra && this.column.extra.caption) {
204
+ return this.column.extra.caption;
205
+ }
206
+ return '';
207
+ }
208
+ hasError() {
209
+ return this.input.invalid && (this.input.dirty || this.input.touched);
210
+ }
211
+ getInput() {
212
+ return this.input;
213
+ }
214
+ }
215
+ SelectColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: SelectColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
216
+ SelectColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: SelectColumnComponent, selector: "tots-select-column", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n \n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <mat-select [formControl]=\"input\" [placeholder]=\"getPlaceholder()\">\n <mat-option *ngFor=\"let option of options; let index=index;\" [value]=\"getOptionValue(option)\">\n {{ displayOption(option) }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: SelectColumnComponent, decorators: [{
218
+ type: Component,
219
+ args: [{ selector: 'tots-select-column', template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n \n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <mat-select [formControl]=\"input\" [placeholder]=\"getPlaceholder()\">\n <mat-option *ngFor=\"let option of options; let index=index;\" [value]=\"getOptionValue(option)\">\n {{ displayOption(option) }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"] }]
220
+ }], ctorParameters: function () { return []; } });
221
+
113
222
  class TotsTableFullGroupComponent {
114
223
  constructor() {
115
224
  this.config = new TotsTableConfig();
@@ -200,6 +309,7 @@ TotsEditableColumnsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0"
200
309
  TotsEditableColumnsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, declarations: [
201
310
  /** Columns */
202
311
  InputColumn,
312
+ SelectColumnComponent,
203
313
  /** Components */
204
314
  TotsTableFullGroupComponent
205
315
  ], imports: [CommonModule,
@@ -208,6 +318,7 @@ TotsEditableColumnsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0
208
318
  /** Angular Material */
209
319
  MatFormFieldModule,
210
320
  MatInputModule,
321
+ MatSelectModule,
211
322
  /** Tots Libraries */
212
323
  TotsTableModule], exports: [
213
324
  /** Columns */
@@ -221,6 +332,7 @@ TotsEditableColumnsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0
221
332
  /** Angular Material */
222
333
  MatFormFieldModule,
223
334
  MatInputModule,
335
+ MatSelectModule,
224
336
  /** Tots Libraries */
225
337
  TotsTableModule] });
226
338
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, decorators: [{
@@ -229,6 +341,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
229
341
  declarations: [
230
342
  /** Columns */
231
343
  InputColumn,
344
+ SelectColumnComponent,
232
345
  /** Components */
233
346
  TotsTableFullGroupComponent
234
347
  ],
@@ -239,6 +352,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
239
352
  /** Angular Material */
240
353
  MatFormFieldModule,
241
354
  MatInputModule,
355
+ MatSelectModule,
242
356
  /** Tots Libraries */
243
357
  TotsTableModule
244
358
  ],
@@ -259,5 +373,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
259
373
  * Generated bundle index. Do not edit.
260
374
  */
261
375
 
262
- export { InputColumn, TotsEditableColumnsModule, TotsTableFullGroupComponent };
376
+ export { InputColumn, SelectColumnComponent, TotsEditableColumnsModule, TotsTableFullGroupComponent };
263
377
  //# sourceMappingURL=tots-editable-columns.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tots-editable-columns.mjs","sources":["../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.ts","../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.html","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.ts","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.html","../../../../projects/tots/editable-columns/src/lib/editable-columns.module.ts","../../../../projects/tots/editable-columns/src/public-api.ts","../../../../projects/tots/editable-columns/src/tots-editable-columns.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\nimport { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';\n\n@Component({\n selector: 'tots-input-column',\n templateUrl: './input-column.component.html',\n styleUrls: ['./input-column.component.css']\n})\nexport class InputColumn extends TotsBaseColumnComponent {\n\n input!: FormControl;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.loadInput();\n this.loadForm();\n this.loadChanges();\n }\n\n loadChanges() {\n this.input.valueChanges\n .subscribe(res => {\n this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });\n });\n }\n\n loadForm() {\n if(this.column.extra == undefined || this.column.extra.group == undefined){\n return;\n }\n\n let group: FormGroup = this.column.extra.group;\n if(group.get(this.getFormKey()) != undefined){\n return;\n }\n\n group.addControl(this.getFormKey(), this.input);\n }\n\n loadInput() {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n this.input = new FormControl(value, this.getValidators());\n\n this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });\n }\n\n getFormKey(): string {\n if(Array.isArray(this.column.field_key)){\n return this.column.field_key.join('_');\n } else {\n return this.column.field_key!;\n }\n }\n\n getValidators() : ValidatorFn[] | ValidatorFn | null {\n if (this.column.extra && this.column.extra.validators) {\n return this.column.extra.validators;\n }\n return null;\n }\n\n getErrorMessage() : string {\n if (!this.column.extra.errors) {\n return '';\n }\n\n for (const error of this.column.extra.errors) {\n if (this.input.hasError(error.name)) {\n return error.message;\n }\n }\n\n return '';\n }\n\n getAppearance() : MatFormFieldAppearance {\n if (this.column.extra && this.column.extra.appearance) {\n return this.column.extra.appearance;\n }\n return 'fill';\n }\n\n getLabel() : string | undefined {\n if (this.column.extra && this.column.extra.label) {\n return this.column.extra.label;\n }\n return undefined;\n }\n\n getClasses() : string {\n if (this.column.extra && this.column.extra.classes) {\n return this.column.extra.classes;\n }\n return '';\n }\n\n getPlaceholder() : string {\n if (this.column.extra && this.column.extra.placeholder) {\n return this.column.extra.placeholder;\n }\n return '';\n }\n\n getCaption() : string {\n if (this.column.extra && this.column.extra.caption) {\n return this.column.extra.caption;\n }\n return '';\n }\n\n hasError() : boolean {\n return this.input.invalid && (this.input.dirty || this.input.touched);\n }\n\n getInput() {\n return this.input;\n }\n}\n","<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { TotsActionTable, TotsColumn, TotsTableComponent, TotsTableConfig } from '@tots/table';\n\n@Component({\n selector: 'tots-table-full-group',\n templateUrl: './tots-table-full-group.component.html',\n styleUrls: ['./tots-table-full-group.component.css']\n})\nexport class TotsTableFullGroupComponent {\n\n @ViewChild('tableComp') tableComp!: TotsTableComponent;\n\n @Input() config = new TotsTableConfig();\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 50;\n @Input() hasPagination: boolean = true;\n @Input() messageNotFound: string = \"No results found, please try with other search terms\";\n\n @Output() onAction = new EventEmitter<TotsActionTable>();\n\n formArrayMain?: FormArray<FormGroup>;\n\n onTableAction(action: TotsActionTable) {\n if(action.key == 'loaded-items'){\n this.loadGroup();\n } else if (action.key == 'input-create') {\n this.addInputInGroup(action.item.input, action.item.index, action.item.column);\n } else if (action.key == 'input-change') {\n this.onAction.emit(action);\n setTimeout(() => {\n this.onAction.emit({ key: 'form-change', item: { valid: this.formArrayMain!.valid, values: this.formArrayMain?.value } });\n });\n return;\n }\n this.onAction.emit(action);\n }\n\n addInputInGroup(input: FormControl, index: number, column: TotsColumn) {\n let group = this.formArrayMain?.at(index);\n if(group == undefined){\n return;\n }\n group.addControl(this.getFormKey(column), input);\n }\n\n loadGroup() {\n if(this.tableComp == undefined){\n return;\n }\n // Get Items\n let items = this.tableComp.getDataItems();\n // Create main array form\n this.formArrayMain = new FormArray<FormGroup>([]);\n // Verify if undefined\n if(items == undefined){\n return;\n }\n // Create form group for each item\n items.data.forEach(item => {\n let group = new FormGroup({});\n this.formArrayMain?.push(group);\n });\n }\n\n getFormKey(column: TotsColumn): string {\n if(Array.isArray(column.field_key)){\n return column.field_key.join('_');\n } else {\n return column.field_key!;\n }\n }\n}\n","<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n/** Angular Material */\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n/** Tots Libraries */\nimport { TotsTableModule } from '@tots/table';\n\n/** Columns */\nimport { InputColumn } from './columns/input-column/input-column.component';\n\n/** Components */\nimport { TotsTableFullGroupComponent } from './components/tots-table-full-group/tots-table-full-group.component';\n\n\n\n\n\n\n\n@NgModule({\n declarations: [\n\n /** Columns */\n InputColumn,\n\n /** Components */\n TotsTableFullGroupComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n /** Angular Material */\n MatFormFieldModule,\n MatInputModule,\n\n /** Tots Libraries */\n TotsTableModule\n ],\n exports: [\n /** Columns */\n InputColumn,\n\n /** Components */\n TotsTableFullGroupComponent\n ]\n})\nexport class TotsEditableColumnsModule { }\n","/*\n * Public API Surface of editable-columns\n */\n\n/**\n * Columns\n */\nexport * from './lib/columns/input-column/input-column.component';\n\n/**\n * Components\n */\nexport * from './lib/components/tots-table-full-group/tots-table-full-group.component';\n\n/**\n * Modules\n */\nexport * from './lib/editable-columns.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"tots-editable-columns.mjs","sources":["../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.ts","../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.html","../../../../projects/tots/editable-columns/src/lib/columns/select-column/select-column.component.ts","../../../../projects/tots/editable-columns/src/lib/columns/select-column/select-column.component.html","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.ts","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.html","../../../../projects/tots/editable-columns/src/lib/editable-columns.module.ts","../../../../projects/tots/editable-columns/src/public-api.ts","../../../../projects/tots/editable-columns/src/tots-editable-columns.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\nimport { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';\n\n@Component({\n selector: 'tots-input-column',\n templateUrl: './input-column.component.html',\n styleUrls: ['./input-column.component.css']\n})\nexport class InputColumn extends TotsBaseColumnComponent {\n\n input!: FormControl;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.loadInput();\n this.loadForm();\n this.loadChanges();\n }\n\n loadChanges() {\n this.input.valueChanges\n .subscribe(res => {\n this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });\n });\n }\n\n loadForm() {\n if(this.column.extra == undefined || this.column.extra.group == undefined){\n return;\n }\n\n let group: FormGroup = this.column.extra.group;\n if(group.get(this.getFormKey()) != undefined){\n return;\n }\n\n group.addControl(this.getFormKey(), this.input);\n }\n\n loadInput() {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n this.input = new FormControl(value, this.getValidators());\n\n this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });\n }\n\n getFormKey(): string {\n if(Array.isArray(this.column.field_key)){\n return this.column.field_key.join('_');\n } else {\n return this.column.field_key!;\n }\n }\n\n getValidators() : ValidatorFn[] | ValidatorFn | null {\n if (this.column.extra && this.column.extra.validators) {\n return this.column.extra.validators;\n }\n return null;\n }\n\n getErrorMessage() : string {\n if (!this.column.extra.errors) {\n return '';\n }\n\n for (const error of this.column.extra.errors) {\n if (this.input.hasError(error.name)) {\n return error.message;\n }\n }\n\n return '';\n }\n\n getAppearance() : MatFormFieldAppearance {\n if (this.column.extra && this.column.extra.appearance) {\n return this.column.extra.appearance;\n }\n return 'fill';\n }\n\n getLabel() : string | undefined {\n if (this.column.extra && this.column.extra.label) {\n return this.column.extra.label;\n }\n return undefined;\n }\n\n getClasses() : string {\n if (this.column.extra && this.column.extra.classes) {\n return this.column.extra.classes;\n }\n return '';\n }\n\n getPlaceholder() : string {\n if (this.column.extra && this.column.extra.placeholder) {\n return this.column.extra.placeholder;\n }\n return '';\n }\n\n getCaption() : string {\n if (this.column.extra && this.column.extra.caption) {\n return this.column.extra.caption;\n }\n return '';\n }\n\n hasError() : boolean {\n return this.input.invalid && (this.input.dirty || this.input.touched);\n }\n\n getInput() {\n return this.input;\n }\n}\n","<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n","import { Component } from '@angular/core';\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\nimport { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';\n\n@Component({\n selector: 'tots-select-column',\n templateUrl: './select-column.component.html',\n styleUrls: ['./select-column.component.css']\n})\nexport class SelectColumnComponent extends TotsBaseColumnComponent {\n\n input!: FormControl;\n protected options! : any[];\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.loadInput();\n this.loadForm();\n this.loadChanges();\n this.options = this.column.extra.options || [];\n }\n\n loadChanges() {\n this.input.valueChanges\n .subscribe(res => {\n this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });\n });\n }\n\n loadForm() {\n if(this.column.extra == undefined || this.column.extra.group == undefined){\n return;\n }\n\n let group: FormGroup = this.column.extra.group;\n if(group.get(this.getFormKey()) != undefined){\n return;\n }\n\n group.addControl(this.getFormKey(), this.input);\n }\n\n loadInput() {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n this.input = new FormControl(value, this.getValidators());\n\n this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });\n }\n\n protected getOptionValue(option:any) {\n return TotsTableHelper.getItemValueByKey(option, this.column.extra.field_select_key);\n }\n protected displayOption(option:any) {\n return TotsTableHelper.getItemValueByKey(option, this.column.extra.field_print_key);\n }\n\n getFormKey(): string {\n if(Array.isArray(this.column.field_key)){\n return this.column.field_key.join('_');\n } else {\n return this.column.field_key!;\n }\n }\n\n getValidators() : ValidatorFn[] | ValidatorFn | null {\n if (this.column.extra && this.column.extra.validators) {\n return this.column.extra.validators;\n }\n return null;\n }\n\n getErrorMessage() : string {\n if (!this.column.extra.errors) {\n return '';\n }\n\n for (const error of this.column.extra.errors) {\n if (this.input.hasError(error.name)) {\n return error.message;\n }\n }\n\n return '';\n }\n\n getAppearance() : MatFormFieldAppearance {\n if (this.column.extra && this.column.extra.appearance) {\n return this.column.extra.appearance;\n }\n return 'fill';\n }\n\n getLabel() : string | undefined {\n if (this.column.extra && this.column.extra.label) {\n return this.column.extra.label;\n }\n return undefined;\n }\n\n getClasses() : string {\n if (this.column.extra && this.column.extra.classes) {\n return this.column.extra.classes;\n }\n return '';\n }\n\n getPlaceholder() : string {\n if (this.column.extra && this.column.extra.placeholder) {\n return this.column.extra.placeholder;\n }\n return '';\n }\n\n getCaption() : string {\n if (this.column.extra && this.column.extra.caption) {\n return this.column.extra.caption;\n }\n return '';\n }\n\n hasError() : boolean {\n return this.input.invalid && (this.input.dirty || this.input.touched);\n }\n\n getInput() {\n return this.input;\n }\n}\n","<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n \n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <mat-select [formControl]=\"input\" [placeholder]=\"getPlaceholder()\">\n <mat-option *ngFor=\"let option of options; let index=index;\" [value]=\"getOptionValue(option)\">\n {{ displayOption(option) }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { TotsActionTable, TotsColumn, TotsTableComponent, TotsTableConfig } from '@tots/table';\n\n@Component({\n selector: 'tots-table-full-group',\n templateUrl: './tots-table-full-group.component.html',\n styleUrls: ['./tots-table-full-group.component.css']\n})\nexport class TotsTableFullGroupComponent {\n\n @ViewChild('tableComp') tableComp!: TotsTableComponent;\n\n @Input() config = new TotsTableConfig();\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 50;\n @Input() hasPagination: boolean = true;\n @Input() messageNotFound: string = \"No results found, please try with other search terms\";\n\n @Output() onAction = new EventEmitter<TotsActionTable>();\n\n formArrayMain?: FormArray<FormGroup>;\n\n onTableAction(action: TotsActionTable) {\n if(action.key == 'loaded-items'){\n this.loadGroup();\n } else if (action.key == 'input-create') {\n this.addInputInGroup(action.item.input, action.item.index, action.item.column);\n } else if (action.key == 'input-change') {\n this.onAction.emit(action);\n setTimeout(() => {\n this.onAction.emit({ key: 'form-change', item: { valid: this.formArrayMain!.valid, values: this.formArrayMain?.value } });\n });\n return;\n }\n this.onAction.emit(action);\n }\n\n addInputInGroup(input: FormControl, index: number, column: TotsColumn) {\n let group = this.formArrayMain?.at(index);\n if(group == undefined){\n return;\n }\n group.addControl(this.getFormKey(column), input);\n }\n\n loadGroup() {\n if(this.tableComp == undefined){\n return;\n }\n // Get Items\n let items = this.tableComp.getDataItems();\n // Create main array form\n this.formArrayMain = new FormArray<FormGroup>([]);\n // Verify if undefined\n if(items == undefined){\n return;\n }\n // Create form group for each item\n items.data.forEach(item => {\n let group = new FormGroup({});\n this.formArrayMain?.push(group);\n });\n }\n\n getFormKey(column: TotsColumn): string {\n if(Array.isArray(column.field_key)){\n return column.field_key.join('_');\n } else {\n return column.field_key!;\n }\n }\n}\n","<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n/** Angular Material */\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n/** Tots Libraries */\nimport { TotsTableModule } from '@tots/table';\n\n/** Columns */\nimport { InputColumn } from './columns/input-column/input-column.component';\nimport { SelectColumnComponent } from './columns/select-column/select-column.component';\n\n/** Components */\nimport { TotsTableFullGroupComponent } from './components/tots-table-full-group/tots-table-full-group.component';\nimport { MatSelectModule } from '@angular/material/select';\n\n\n\n\n\n@NgModule({\n declarations: [\n\n /** Columns */\n InputColumn,\n SelectColumnComponent,\n\n /** Components */\n TotsTableFullGroupComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n /** Angular Material */\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n\n /** Tots Libraries */\n TotsTableModule\n ],\n exports: [\n /** Columns */\n InputColumn,\n\n /** Components */\n TotsTableFullGroupComponent\n ]\n})\nexport class TotsEditableColumnsModule { }\n","/*\n * Public API Surface of editable-columns\n */\n\n/**\n * Columns\n */\nexport * from './lib/columns/input-column/input-column.component';\nexport * from './lib/columns/select-column/select-column.component';\n\n/**\n * Components\n */\nexport * from './lib/components/tots-table-full-group/tots-table-full-group.component';\n\n/**\n * Modules\n */\nexport * from './lib/editable-columns.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i1"],"mappings":"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"}
@@ -10,6 +10,9 @@ import * as i3 from '@angular/material/form-field';
10
10
  import { MatFormFieldModule } from '@angular/material/form-field';
11
11
  import * as i4 from '@angular/material/input';
12
12
  import { MatInputModule } from '@angular/material/input';
13
+ import * as i4$1 from '@angular/material/select';
14
+ import { MatSelectModule } from '@angular/material/select';
15
+ import * as i5 from '@angular/material/core';
13
16
 
14
17
  class InputColumn extends TotsBaseColumnComponent {
15
18
  constructor() {
@@ -110,6 +113,112 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
110
113
  args: [{ selector: 'tots-input-column', template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"] }]
111
114
  }], ctorParameters: function () { return []; } });
112
115
 
116
+ class SelectColumnComponent extends TotsBaseColumnComponent {
117
+ constructor() {
118
+ super();
119
+ }
120
+ ngOnInit() {
121
+ this.loadInput();
122
+ this.loadForm();
123
+ this.loadChanges();
124
+ this.options = this.column.extra.options || [];
125
+ }
126
+ loadChanges() {
127
+ this.input.valueChanges
128
+ .subscribe(res => {
129
+ this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });
130
+ });
131
+ }
132
+ loadForm() {
133
+ if (this.column.extra == undefined || this.column.extra.group == undefined) {
134
+ return;
135
+ }
136
+ let group = this.column.extra.group;
137
+ if (group.get(this.getFormKey()) != undefined) {
138
+ return;
139
+ }
140
+ group.addControl(this.getFormKey(), this.input);
141
+ }
142
+ loadInput() {
143
+ let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);
144
+ this.input = new FormControl(value, this.getValidators());
145
+ this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });
146
+ }
147
+ getOptionValue(option) {
148
+ return TotsTableHelper.getItemValueByKey(option, this.column.extra.field_select_key);
149
+ }
150
+ displayOption(option) {
151
+ return TotsTableHelper.getItemValueByKey(option, this.column.extra.field_print_key);
152
+ }
153
+ getFormKey() {
154
+ if (Array.isArray(this.column.field_key)) {
155
+ return this.column.field_key.join('_');
156
+ }
157
+ else {
158
+ return this.column.field_key;
159
+ }
160
+ }
161
+ getValidators() {
162
+ if (this.column.extra && this.column.extra.validators) {
163
+ return this.column.extra.validators;
164
+ }
165
+ return null;
166
+ }
167
+ getErrorMessage() {
168
+ if (!this.column.extra.errors) {
169
+ return '';
170
+ }
171
+ for (const error of this.column.extra.errors) {
172
+ if (this.input.hasError(error.name)) {
173
+ return error.message;
174
+ }
175
+ }
176
+ return '';
177
+ }
178
+ getAppearance() {
179
+ if (this.column.extra && this.column.extra.appearance) {
180
+ return this.column.extra.appearance;
181
+ }
182
+ return 'fill';
183
+ }
184
+ getLabel() {
185
+ if (this.column.extra && this.column.extra.label) {
186
+ return this.column.extra.label;
187
+ }
188
+ return undefined;
189
+ }
190
+ getClasses() {
191
+ if (this.column.extra && this.column.extra.classes) {
192
+ return this.column.extra.classes;
193
+ }
194
+ return '';
195
+ }
196
+ getPlaceholder() {
197
+ if (this.column.extra && this.column.extra.placeholder) {
198
+ return this.column.extra.placeholder;
199
+ }
200
+ return '';
201
+ }
202
+ getCaption() {
203
+ if (this.column.extra && this.column.extra.caption) {
204
+ return this.column.extra.caption;
205
+ }
206
+ return '';
207
+ }
208
+ hasError() {
209
+ return this.input.invalid && (this.input.dirty || this.input.touched);
210
+ }
211
+ getInput() {
212
+ return this.input;
213
+ }
214
+ }
215
+ SelectColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: SelectColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
216
+ SelectColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: SelectColumnComponent, selector: "tots-select-column", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n \n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <mat-select [formControl]=\"input\" [placeholder]=\"getPlaceholder()\">\n <mat-option *ngFor=\"let option of options; let index=index;\" [value]=\"getOptionValue(option)\">\n {{ displayOption(option) }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: SelectColumnComponent, decorators: [{
218
+ type: Component,
219
+ args: [{ selector: 'tots-select-column', template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n \n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <mat-select [formControl]=\"input\" [placeholder]=\"getPlaceholder()\">\n <mat-option *ngFor=\"let option of options; let index=index;\" [value]=\"getOptionValue(option)\">\n {{ displayOption(option) }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"] }]
220
+ }], ctorParameters: function () { return []; } });
221
+
113
222
  class TotsTableFullGroupComponent {
114
223
  constructor() {
115
224
  this.config = new TotsTableConfig();
@@ -197,6 +306,7 @@ TotsEditableColumnsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0"
197
306
  TotsEditableColumnsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, declarations: [
198
307
  /** Columns */
199
308
  InputColumn,
309
+ SelectColumnComponent,
200
310
  /** Components */
201
311
  TotsTableFullGroupComponent], imports: [CommonModule,
202
312
  FormsModule,
@@ -204,6 +314,7 @@ TotsEditableColumnsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0
204
314
  /** Angular Material */
205
315
  MatFormFieldModule,
206
316
  MatInputModule,
317
+ MatSelectModule,
207
318
  /** Tots Libraries */
208
319
  TotsTableModule], exports: [
209
320
  /** Columns */
@@ -216,6 +327,7 @@ TotsEditableColumnsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0
216
327
  /** Angular Material */
217
328
  MatFormFieldModule,
218
329
  MatInputModule,
330
+ MatSelectModule,
219
331
  /** Tots Libraries */
220
332
  TotsTableModule] });
221
333
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, decorators: [{
@@ -224,6 +336,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
224
336
  declarations: [
225
337
  /** Columns */
226
338
  InputColumn,
339
+ SelectColumnComponent,
227
340
  /** Components */
228
341
  TotsTableFullGroupComponent
229
342
  ],
@@ -234,6 +347,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
234
347
  /** Angular Material */
235
348
  MatFormFieldModule,
236
349
  MatInputModule,
350
+ MatSelectModule,
237
351
  /** Tots Libraries */
238
352
  TotsTableModule
239
353
  ],
@@ -254,5 +368,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
254
368
  * Generated bundle index. Do not edit.
255
369
  */
256
370
 
257
- export { InputColumn, TotsEditableColumnsModule, TotsTableFullGroupComponent };
371
+ export { InputColumn, SelectColumnComponent, TotsEditableColumnsModule, TotsTableFullGroupComponent };
258
372
  //# sourceMappingURL=tots-editable-columns.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tots-editable-columns.mjs","sources":["../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.ts","../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.html","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.ts","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.html","../../../../projects/tots/editable-columns/src/lib/editable-columns.module.ts","../../../../projects/tots/editable-columns/src/public-api.ts","../../../../projects/tots/editable-columns/src/tots-editable-columns.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\nimport { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';\n\n@Component({\n selector: 'tots-input-column',\n templateUrl: './input-column.component.html',\n styleUrls: ['./input-column.component.css']\n})\nexport class InputColumn extends TotsBaseColumnComponent {\n\n input!: FormControl;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.loadInput();\n this.loadForm();\n this.loadChanges();\n }\n\n loadChanges() {\n this.input.valueChanges\n .subscribe(res => {\n this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });\n });\n }\n\n loadForm() {\n if(this.column.extra == undefined || this.column.extra.group == undefined){\n return;\n }\n\n let group: FormGroup = this.column.extra.group;\n if(group.get(this.getFormKey()) != undefined){\n return;\n }\n\n group.addControl(this.getFormKey(), this.input);\n }\n\n loadInput() {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n this.input = new FormControl(value, this.getValidators());\n\n this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });\n }\n\n getFormKey(): string {\n if(Array.isArray(this.column.field_key)){\n return this.column.field_key.join('_');\n } else {\n return this.column.field_key!;\n }\n }\n\n getValidators() : ValidatorFn[] | ValidatorFn | null {\n if (this.column.extra && this.column.extra.validators) {\n return this.column.extra.validators;\n }\n return null;\n }\n\n getErrorMessage() : string {\n if (!this.column.extra.errors) {\n return '';\n }\n\n for (const error of this.column.extra.errors) {\n if (this.input.hasError(error.name)) {\n return error.message;\n }\n }\n\n return '';\n }\n\n getAppearance() : MatFormFieldAppearance {\n if (this.column.extra && this.column.extra.appearance) {\n return this.column.extra.appearance;\n }\n return 'fill';\n }\n\n getLabel() : string | undefined {\n if (this.column.extra && this.column.extra.label) {\n return this.column.extra.label;\n }\n return undefined;\n }\n\n getClasses() : string {\n if (this.column.extra && this.column.extra.classes) {\n return this.column.extra.classes;\n }\n return '';\n }\n\n getPlaceholder() : string {\n if (this.column.extra && this.column.extra.placeholder) {\n return this.column.extra.placeholder;\n }\n return '';\n }\n\n getCaption() : string {\n if (this.column.extra && this.column.extra.caption) {\n return this.column.extra.caption;\n }\n return '';\n }\n\n hasError() : boolean {\n return this.input.invalid && (this.input.dirty || this.input.touched);\n }\n\n getInput() {\n return this.input;\n }\n}\n","<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { TotsActionTable, TotsColumn, TotsTableComponent, TotsTableConfig } from '@tots/table';\n\n@Component({\n selector: 'tots-table-full-group',\n templateUrl: './tots-table-full-group.component.html',\n styleUrls: ['./tots-table-full-group.component.css']\n})\nexport class TotsTableFullGroupComponent {\n\n @ViewChild('tableComp') tableComp!: TotsTableComponent;\n\n @Input() config = new TotsTableConfig();\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 50;\n @Input() hasPagination: boolean = true;\n @Input() messageNotFound: string = \"No results found, please try with other search terms\";\n\n @Output() onAction = new EventEmitter<TotsActionTable>();\n\n formArrayMain?: FormArray<FormGroup>;\n\n onTableAction(action: TotsActionTable) {\n if(action.key == 'loaded-items'){\n this.loadGroup();\n } else if (action.key == 'input-create') {\n this.addInputInGroup(action.item.input, action.item.index, action.item.column);\n } else if (action.key == 'input-change') {\n this.onAction.emit(action);\n setTimeout(() => {\n this.onAction.emit({ key: 'form-change', item: { valid: this.formArrayMain!.valid, values: this.formArrayMain?.value } });\n });\n return;\n }\n this.onAction.emit(action);\n }\n\n addInputInGroup(input: FormControl, index: number, column: TotsColumn) {\n let group = this.formArrayMain?.at(index);\n if(group == undefined){\n return;\n }\n group.addControl(this.getFormKey(column), input);\n }\n\n loadGroup() {\n if(this.tableComp == undefined){\n return;\n }\n // Get Items\n let items = this.tableComp.getDataItems();\n // Create main array form\n this.formArrayMain = new FormArray<FormGroup>([]);\n // Verify if undefined\n if(items == undefined){\n return;\n }\n // Create form group for each item\n items.data.forEach(item => {\n let group = new FormGroup({});\n this.formArrayMain?.push(group);\n });\n }\n\n getFormKey(column: TotsColumn): string {\n if(Array.isArray(column.field_key)){\n return column.field_key.join('_');\n } else {\n return column.field_key!;\n }\n }\n}\n","<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n/** Angular Material */\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n/** Tots Libraries */\nimport { TotsTableModule } from '@tots/table';\n\n/** Columns */\nimport { InputColumn } from './columns/input-column/input-column.component';\n\n/** Components */\nimport { TotsTableFullGroupComponent } from './components/tots-table-full-group/tots-table-full-group.component';\n\n\n\n\n\n\n\n@NgModule({\n declarations: [\n\n /** Columns */\n InputColumn,\n\n /** Components */\n TotsTableFullGroupComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n /** Angular Material */\n MatFormFieldModule,\n MatInputModule,\n\n /** Tots Libraries */\n TotsTableModule\n ],\n exports: [\n /** Columns */\n InputColumn,\n\n /** Components */\n TotsTableFullGroupComponent\n ]\n})\nexport class TotsEditableColumnsModule { }\n","/*\n * Public API Surface of editable-columns\n */\n\n/**\n * Columns\n */\nexport * from './lib/columns/input-column/input-column.component';\n\n/**\n * Components\n */\nexport * from './lib/components/tots-table-full-group/tots-table-full-group.component';\n\n/**\n * Modules\n */\nexport * from './lib/editable-columns.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"tots-editable-columns.mjs","sources":["../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.ts","../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.html","../../../../projects/tots/editable-columns/src/lib/columns/select-column/select-column.component.ts","../../../../projects/tots/editable-columns/src/lib/columns/select-column/select-column.component.html","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.ts","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.html","../../../../projects/tots/editable-columns/src/lib/editable-columns.module.ts","../../../../projects/tots/editable-columns/src/public-api.ts","../../../../projects/tots/editable-columns/src/tots-editable-columns.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\nimport { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';\n\n@Component({\n selector: 'tots-input-column',\n templateUrl: './input-column.component.html',\n styleUrls: ['./input-column.component.css']\n})\nexport class InputColumn extends TotsBaseColumnComponent {\n\n input!: FormControl;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.loadInput();\n this.loadForm();\n this.loadChanges();\n }\n\n loadChanges() {\n this.input.valueChanges\n .subscribe(res => {\n this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });\n });\n }\n\n loadForm() {\n if(this.column.extra == undefined || this.column.extra.group == undefined){\n return;\n }\n\n let group: FormGroup = this.column.extra.group;\n if(group.get(this.getFormKey()) != undefined){\n return;\n }\n\n group.addControl(this.getFormKey(), this.input);\n }\n\n loadInput() {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n this.input = new FormControl(value, this.getValidators());\n\n this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });\n }\n\n getFormKey(): string {\n if(Array.isArray(this.column.field_key)){\n return this.column.field_key.join('_');\n } else {\n return this.column.field_key!;\n }\n }\n\n getValidators() : ValidatorFn[] | ValidatorFn | null {\n if (this.column.extra && this.column.extra.validators) {\n return this.column.extra.validators;\n }\n return null;\n }\n\n getErrorMessage() : string {\n if (!this.column.extra.errors) {\n return '';\n }\n\n for (const error of this.column.extra.errors) {\n if (this.input.hasError(error.name)) {\n return error.message;\n }\n }\n\n return '';\n }\n\n getAppearance() : MatFormFieldAppearance {\n if (this.column.extra && this.column.extra.appearance) {\n return this.column.extra.appearance;\n }\n return 'fill';\n }\n\n getLabel() : string | undefined {\n if (this.column.extra && this.column.extra.label) {\n return this.column.extra.label;\n }\n return undefined;\n }\n\n getClasses() : string {\n if (this.column.extra && this.column.extra.classes) {\n return this.column.extra.classes;\n }\n return '';\n }\n\n getPlaceholder() : string {\n if (this.column.extra && this.column.extra.placeholder) {\n return this.column.extra.placeholder;\n }\n return '';\n }\n\n getCaption() : string {\n if (this.column.extra && this.column.extra.caption) {\n return this.column.extra.caption;\n }\n return '';\n }\n\n hasError() : boolean {\n return this.input.invalid && (this.input.dirty || this.input.touched);\n }\n\n getInput() {\n return this.input;\n }\n}\n","<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n","import { Component } from '@angular/core';\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\nimport { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';\n\n@Component({\n selector: 'tots-select-column',\n templateUrl: './select-column.component.html',\n styleUrls: ['./select-column.component.css']\n})\nexport class SelectColumnComponent extends TotsBaseColumnComponent {\n\n input!: FormControl;\n protected options! : any[];\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.loadInput();\n this.loadForm();\n this.loadChanges();\n this.options = this.column.extra.options || [];\n }\n\n loadChanges() {\n this.input.valueChanges\n .subscribe(res => {\n this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });\n });\n }\n\n loadForm() {\n if(this.column.extra == undefined || this.column.extra.group == undefined){\n return;\n }\n\n let group: FormGroup = this.column.extra.group;\n if(group.get(this.getFormKey()) != undefined){\n return;\n }\n\n group.addControl(this.getFormKey(), this.input);\n }\n\n loadInput() {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n this.input = new FormControl(value, this.getValidators());\n\n this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });\n }\n\n protected getOptionValue(option:any) {\n return TotsTableHelper.getItemValueByKey(option, this.column.extra.field_select_key);\n }\n protected displayOption(option:any) {\n return TotsTableHelper.getItemValueByKey(option, this.column.extra.field_print_key);\n }\n\n getFormKey(): string {\n if(Array.isArray(this.column.field_key)){\n return this.column.field_key.join('_');\n } else {\n return this.column.field_key!;\n }\n }\n\n getValidators() : ValidatorFn[] | ValidatorFn | null {\n if (this.column.extra && this.column.extra.validators) {\n return this.column.extra.validators;\n }\n return null;\n }\n\n getErrorMessage() : string {\n if (!this.column.extra.errors) {\n return '';\n }\n\n for (const error of this.column.extra.errors) {\n if (this.input.hasError(error.name)) {\n return error.message;\n }\n }\n\n return '';\n }\n\n getAppearance() : MatFormFieldAppearance {\n if (this.column.extra && this.column.extra.appearance) {\n return this.column.extra.appearance;\n }\n return 'fill';\n }\n\n getLabel() : string | undefined {\n if (this.column.extra && this.column.extra.label) {\n return this.column.extra.label;\n }\n return undefined;\n }\n\n getClasses() : string {\n if (this.column.extra && this.column.extra.classes) {\n return this.column.extra.classes;\n }\n return '';\n }\n\n getPlaceholder() : string {\n if (this.column.extra && this.column.extra.placeholder) {\n return this.column.extra.placeholder;\n }\n return '';\n }\n\n getCaption() : string {\n if (this.column.extra && this.column.extra.caption) {\n return this.column.extra.caption;\n }\n return '';\n }\n\n hasError() : boolean {\n return this.input.invalid && (this.input.dirty || this.input.touched);\n }\n\n getInput() {\n return this.input;\n }\n}\n","<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n \n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <mat-select [formControl]=\"input\" [placeholder]=\"getPlaceholder()\">\n <mat-option *ngFor=\"let option of options; let index=index;\" [value]=\"getOptionValue(option)\">\n {{ displayOption(option) }}\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { TotsActionTable, TotsColumn, TotsTableComponent, TotsTableConfig } from '@tots/table';\n\n@Component({\n selector: 'tots-table-full-group',\n templateUrl: './tots-table-full-group.component.html',\n styleUrls: ['./tots-table-full-group.component.css']\n})\nexport class TotsTableFullGroupComponent {\n\n @ViewChild('tableComp') tableComp!: TotsTableComponent;\n\n @Input() config = new TotsTableConfig();\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 50;\n @Input() hasPagination: boolean = true;\n @Input() messageNotFound: string = \"No results found, please try with other search terms\";\n\n @Output() onAction = new EventEmitter<TotsActionTable>();\n\n formArrayMain?: FormArray<FormGroup>;\n\n onTableAction(action: TotsActionTable) {\n if(action.key == 'loaded-items'){\n this.loadGroup();\n } else if (action.key == 'input-create') {\n this.addInputInGroup(action.item.input, action.item.index, action.item.column);\n } else if (action.key == 'input-change') {\n this.onAction.emit(action);\n setTimeout(() => {\n this.onAction.emit({ key: 'form-change', item: { valid: this.formArrayMain!.valid, values: this.formArrayMain?.value } });\n });\n return;\n }\n this.onAction.emit(action);\n }\n\n addInputInGroup(input: FormControl, index: number, column: TotsColumn) {\n let group = this.formArrayMain?.at(index);\n if(group == undefined){\n return;\n }\n group.addControl(this.getFormKey(column), input);\n }\n\n loadGroup() {\n if(this.tableComp == undefined){\n return;\n }\n // Get Items\n let items = this.tableComp.getDataItems();\n // Create main array form\n this.formArrayMain = new FormArray<FormGroup>([]);\n // Verify if undefined\n if(items == undefined){\n return;\n }\n // Create form group for each item\n items.data.forEach(item => {\n let group = new FormGroup({});\n this.formArrayMain?.push(group);\n });\n }\n\n getFormKey(column: TotsColumn): string {\n if(Array.isArray(column.field_key)){\n return column.field_key.join('_');\n } else {\n return column.field_key!;\n }\n }\n}\n","<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n/** Angular Material */\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n/** Tots Libraries */\nimport { TotsTableModule } from '@tots/table';\n\n/** Columns */\nimport { InputColumn } from './columns/input-column/input-column.component';\nimport { SelectColumnComponent } from './columns/select-column/select-column.component';\n\n/** Components */\nimport { TotsTableFullGroupComponent } from './components/tots-table-full-group/tots-table-full-group.component';\nimport { MatSelectModule } from '@angular/material/select';\n\n\n\n\n\n@NgModule({\n declarations: [\n\n /** Columns */\n InputColumn,\n SelectColumnComponent,\n\n /** Components */\n TotsTableFullGroupComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n /** Angular Material */\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n\n /** Tots Libraries */\n TotsTableModule\n ],\n exports: [\n /** Columns */\n InputColumn,\n\n /** Components */\n TotsTableFullGroupComponent\n ]\n})\nexport class TotsEditableColumnsModule { }\n","/*\n * Public API Surface of editable-columns\n */\n\n/**\n * Columns\n */\nexport * from './lib/columns/input-column/input-column.component';\nexport * from './lib/columns/select-column/select-column.component';\n\n/**\n * Components\n */\nexport * from './lib/components/tots-table-full-group/tots-table-full-group.component';\n\n/**\n * Modules\n */\nexport * from './lib/editable-columns.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i1"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { FormControl, ValidatorFn } from '@angular/forms';
2
+ import { MatFormFieldAppearance } from '@angular/material/form-field';
3
+ import { TotsBaseColumnComponent } from '@tots/table';
4
+ import * as i0 from "@angular/core";
5
+ export declare class SelectColumnComponent extends TotsBaseColumnComponent {
6
+ input: FormControl;
7
+ protected options: any[];
8
+ constructor();
9
+ ngOnInit(): void;
10
+ loadChanges(): void;
11
+ loadForm(): void;
12
+ loadInput(): void;
13
+ protected getOptionValue(option: any): any;
14
+ protected displayOption(option: any): any;
15
+ getFormKey(): string;
16
+ getValidators(): ValidatorFn[] | ValidatorFn | null;
17
+ getErrorMessage(): string;
18
+ getAppearance(): MatFormFieldAppearance;
19
+ getLabel(): string | undefined;
20
+ getClasses(): string;
21
+ getPlaceholder(): string;
22
+ getCaption(): string;
23
+ hasError(): boolean;
24
+ getInput(): FormControl<any>;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectColumnComponent, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectColumnComponent, "tots-select-column", never, {}, {}, never, never, false, never>;
27
+ }
@@ -1,13 +1,15 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./columns/input-column/input-column.component";
3
- import * as i2 from "./components/tots-table-full-group/tots-table-full-group.component";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/forms";
6
- import * as i5 from "@angular/material/form-field";
7
- import * as i6 from "@angular/material/input";
8
- import * as i7 from "@tots/table";
3
+ import * as i2 from "./columns/select-column/select-column.component";
4
+ import * as i3 from "./components/tots-table-full-group/tots-table-full-group.component";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@angular/forms";
7
+ import * as i6 from "@angular/material/form-field";
8
+ import * as i7 from "@angular/material/input";
9
+ import * as i8 from "@angular/material/select";
10
+ import * as i9 from "@tots/table";
9
11
  export declare class TotsEditableColumnsModule {
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TotsEditableColumnsModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<TotsEditableColumnsModule, [typeof i1.InputColumn, typeof i2.TotsTableFullGroupComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i5.MatFormFieldModule, typeof i6.MatInputModule, typeof i7.TotsTableModule], [typeof i1.InputColumn, typeof i2.TotsTableFullGroupComponent]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TotsEditableColumnsModule, [typeof i1.InputColumn, typeof i2.SelectColumnComponent, typeof i3.TotsTableFullGroupComponent], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.MatFormFieldModule, typeof i7.MatInputModule, typeof i8.MatSelectModule, typeof i9.TotsTableModule], [typeof i1.InputColumn, typeof i3.TotsTableFullGroupComponent]>;
12
14
  static ɵinj: i0.ɵɵInjectorDeclaration<TotsEditableColumnsModule>;
13
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tots/editable-columns",
3
- "version": "15.0.2",
3
+ "version": "15.0.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.0.0",
6
6
  "@angular/core": "^15.0.0",
package/public-api.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  * Columns
3
3
  */
4
4
  export * from './lib/columns/input-column/input-column.component';
5
+ export * from './lib/columns/select-column/select-column.component';
5
6
  /**
6
7
  * Components
7
8
  */