ng-inail-common 2.0.21 → 2.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ng-inail-common.umd.js +244 -15
- package/bundles/ng-inail-common.umd.js.map +1 -1
- package/bundles/ng-inail-common.umd.min.js +2 -2
- package/bundles/ng-inail-common.umd.min.js.map +1 -1
- package/esm2015/lib/components/core/form/form-element.component.js +2 -1
- package/esm2015/lib/components/core/form/input-file/input-file.component.js +3 -1
- package/esm2015/lib/components/core/form/multi-select/multi-select.component.js +121 -0
- package/esm2015/lib/components/core/table/table/table.component.js +54 -8
- package/esm2015/lib/components/core/ux/feedback/feedback.component.js +5 -3
- package/esm2015/lib/components/core/ux/progress-bar/progress-bar.component.js +50 -0
- package/esm2015/lib/ng-inail-common.module.js +9 -3
- package/esm2015/public-api.js +3 -1
- package/fesm2015/ng-inail-common.js +231 -12
- package/fesm2015/ng-inail-common.js.map +1 -1
- package/lib/components/core/form/multi-select/multi-select.component.d.ts +40 -0
- package/lib/components/core/table/table/table.component.d.ts +13 -3
- package/lib/components/core/ux/feedback/feedback.component.d.ts +1 -0
- package/lib/components/core/ux/progress-bar/progress-bar.component.d.ts +12 -0
- package/ng-inail-common.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -2516,6 +2516,7 @@ class FormElementComponent extends ResponsiveElementComponent {
|
|
|
2516
2516
|
this.error = undefined;
|
|
2517
2517
|
this.errorChange.emit(undefined);
|
|
2518
2518
|
}
|
|
2519
|
+
this.formElementCdr.detectChanges();
|
|
2519
2520
|
});
|
|
2520
2521
|
}
|
|
2521
2522
|
registerOnChange(fn) {
|
|
@@ -3017,6 +3018,7 @@ class FeedbackComponent extends BasicUxElementComponent {
|
|
|
3017
3018
|
this.showIcon = true;
|
|
3018
3019
|
this.autoCatchFocus = false;
|
|
3019
3020
|
this.scrollToFocus = true;
|
|
3021
|
+
this.labelFeedback = false;
|
|
3020
3022
|
// hasContent = () => this.feedbackContent?.nativeElement?.childElementCount > 0;
|
|
3021
3023
|
this.hasContent = () => { var _a, _b; return isNotBlankOrNull((_b = (_a = this.feedbackContent) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.textContent); };
|
|
3022
3024
|
this.logPrefix = '[inail-feedback]';
|
|
@@ -3060,10 +3062,10 @@ class FeedbackComponent extends BasicUxElementComponent {
|
|
|
3060
3062
|
FeedbackComponent.decorators = [
|
|
3061
3063
|
{ type: Component, args: [{
|
|
3062
3064
|
selector: 'inail-feedback',
|
|
3063
|
-
template: "<div [id]='id'\n class=\"row feedback-box inail-feedback {{class}}\"\n [ngClass]=\"{'feedback-box-error': type==errorType, 'global-feedback': globalFeedback === true}\">\n <div>\n <div class=\"feedback-header\"\n [ngClass]=\"{'feedback-header-error': type==errorType}\">\n <span>\n <span class=\"fa white-check\"\n [ngClass]=\"{'fa-times': showIcon && type==errorType,\n 'fa-check':showIcon && (type==successType || !type)}\"></span>\n <span tabindex=\"0\" [id]=\"id+'-message'\" class=\"feedback-focusable\" [innerHTML]=\"message\" #mainMessage></span>\n </span>\n </div>\n <div [hidden]=\"!hasContent()\"\n class=\"feedback-content\"\n [ngClass]=\"contentClass\"\n #feedbackContent>\n <p *ngIf=\"contentTitle\">\n <strong>{{contentTitle}}</strong>\n </p>\n <ng-container *ngIf=\"detailsAsList || detailsAsOrderedList\">\n <ol *ngIf=\"detailsAsOrderedList\">\n <li *ngFor=\"let dettaglio of details\" [innerHTML]=\"dettaglio\"></li>\n </ol>\n <ul *ngIf=\"detailsAsList && !detailsAsOrderedList\">\n <li *ngFor=\"let dettaglio of details\" [innerHTML]=\"dettaglio\"></li>\n </ul>\n </ng-container>\n <ng-container *ngIf=\"!(detailsAsList || detailsAsOrderedList)\">\n <p *ngFor=\"let dettaglio of details\" [innerHTML]=\"dettaglio\"></p>\n </ng-container>\n <p><ng-content></ng-content></p>\n </div>\n </div>\n</div>\n",
|
|
3065
|
+
template: "<div *ngIf=\"!labelFeedback\"\n [id]='id'\n class=\"row feedback-box inail-feedback {{class}}\"\n [ngClass]=\"{'feedback-box-error': type==errorType, 'global-feedback': globalFeedback === true}\">\n <div>\n <div class=\"feedback-header\"\n [ngClass]=\"{'feedback-header-error': type==errorType}\">\n <span>\n <span class=\"fa white-check\"\n [ngClass]=\"{'fa-times': showIcon && type==errorType,\n 'fa-check':showIcon && (type==successType || !type)}\"></span>\n <span tabindex=\"0\" [id]=\"id+'-message'\" class=\"feedback-focusable\" [innerHTML]=\"message\" #mainMessage></span>\n </span>\n </div>\n <div [hidden]=\"!hasContent()\"\n class=\"feedback-content\"\n [ngClass]=\"contentClass\"\n #feedbackContent>\n <p *ngIf=\"contentTitle\">\n <strong>{{contentTitle}}</strong>\n </p>\n <ng-container *ngIf=\"detailsAsList || detailsAsOrderedList\">\n <ol *ngIf=\"detailsAsOrderedList\">\n <li *ngFor=\"let dettaglio of details\" [innerHTML]=\"dettaglio\"></li>\n </ol>\n <ul *ngIf=\"detailsAsList && !detailsAsOrderedList\">\n <li *ngFor=\"let dettaglio of details\" [innerHTML]=\"dettaglio\"></li>\n </ul>\n </ng-container>\n <ng-container *ngIf=\"!(detailsAsList || detailsAsOrderedList)\">\n <p *ngFor=\"let dettaglio of details\" [innerHTML]=\"dettaglio\"></p>\n </ng-container>\n <p><ng-content></ng-content></p>\n </div>\n </div>\n</div>\n<span *ngIf=\"labelFeedback\"\n [id]='id'\n class=\"inail-feedback col-xs-12 form-group {{class}}\"\n [ngClass]=\"{'feedback-box-error': type==errorType, 'global-feedback': globalFeedback === true}\">\n <span *ngIf=\"showIcon\"\n class=\"green-check fa fa-check-circle\"\n [ngClass]=\"{'green-check fa-check-circle': type==successType || !type, 'red-check fa-times-circle': type==errorType}\"></span>\n <strong tabindex=\"0\"\n [id]=\"id+'-message'\"\n class=\"labelFeedback feedback-focusable\"\n [innerHTML]=\"message\" #mainMessage>\n </strong>\n</span>\n",
|
|
3064
3066
|
changeDetection: CHANGE_DETECTION_STRATEGY,
|
|
3065
3067
|
encapsulation: ViewEncapsulation.None,
|
|
3066
|
-
styles: [".inail-feedback.feedback-box{margin-bottom:15px!important}.inail-feedback .feedback-content{padding-top:30px!important}.inail-feedback .feedback-content p{padding-top:0!important}.inail-feedback .feedback-header .feedback-focusable:focus{outline:1px dotted #fff!important}"]
|
|
3068
|
+
styles: [".inail-feedback.feedback-box{margin-bottom:15px!important}.inail-feedback .feedback-content{padding-top:30px!important}.inail-feedback .feedback-content p{padding-top:0!important}.inail-feedback .feedback-header .feedback-focusable:focus{outline:1px dotted #fff!important}.inail-feedback .fa.fa-times-circle{color:#c9291b;margin-right:5px}"]
|
|
3067
3069
|
},] }
|
|
3068
3070
|
];
|
|
3069
3071
|
FeedbackComponent.ctorParameters = () => [
|
|
@@ -3083,6 +3085,7 @@ FeedbackComponent.propDecorators = {
|
|
|
3083
3085
|
focus: [{ type: Input }],
|
|
3084
3086
|
autoCatchFocus: [{ type: Input }],
|
|
3085
3087
|
scrollToFocus: [{ type: Input }],
|
|
3088
|
+
labelFeedback: [{ type: Input }],
|
|
3086
3089
|
feedbackContent: [{ type: ViewChild, args: ['feedbackContent',] }]
|
|
3087
3090
|
};
|
|
3088
3091
|
class Feedback {
|
|
@@ -4651,8 +4654,6 @@ TrCheckboxComponent.propDecorators = {
|
|
|
4651
4654
|
const DEFAULT_TABLE_LENGTH$1 = 10;
|
|
4652
4655
|
const ASC = 'asc';
|
|
4653
4656
|
const DESC = 'desc';
|
|
4654
|
-
class PaginationState {
|
|
4655
|
-
}
|
|
4656
4657
|
class TableComponent extends ResponsiveElementComponent {
|
|
4657
4658
|
constructor(cdr, renderer) {
|
|
4658
4659
|
super(cdr);
|
|
@@ -4695,7 +4696,7 @@ class TableComponent extends ResponsiveElementComponent {
|
|
|
4695
4696
|
this.detach();
|
|
4696
4697
|
}
|
|
4697
4698
|
ngOnChanges(changes) {
|
|
4698
|
-
var _a, _b, _c, _d, _e, _f;
|
|
4699
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
4699
4700
|
super.ngOnChanges(changes);
|
|
4700
4701
|
// Controllo se la paginazione richiesta e' interna o esterna
|
|
4701
4702
|
if (!this.externalPaginationSorting
|
|
@@ -4703,6 +4704,16 @@ class TableComponent extends ResponsiveElementComponent {
|
|
|
4703
4704
|
&& ((_b = changes.paginationState) === null || _b === void 0 ? void 0 : _b.currentValue) != undefined) {
|
|
4704
4705
|
this.externalPaginationSorting = true;
|
|
4705
4706
|
}
|
|
4707
|
+
// Se per la paginazione esterna viene specificata una proprieta di sorting
|
|
4708
|
+
// attivo il componente thLabel associato
|
|
4709
|
+
if ((_d = (_c = changes.paginationState) === null || _c === void 0 ? void 0 : _c.currentValue) === null || _d === void 0 ? void 0 : _d.sortProperty) {
|
|
4710
|
+
this.attivaThLabelOrdinamentoSpecificato();
|
|
4711
|
+
}
|
|
4712
|
+
// Se per la paginazione interna viene specificato un ordinamento iniziale
|
|
4713
|
+
// attivo il componente thLabel associato
|
|
4714
|
+
if ((_f = (_e = changes.initialSort) === null || _e === void 0 ? void 0 : _e.currentValue) === null || _f === void 0 ? void 0 : _f.sortProperty) {
|
|
4715
|
+
this.attivaThLabelOrdinamentoSpecificato();
|
|
4716
|
+
}
|
|
4706
4717
|
// Verifico se e' cambiata la lista degli elementi in input.
|
|
4707
4718
|
// Nel caso in cui si stia effettuando una paginazione interna
|
|
4708
4719
|
// emetto il sottoinsieme inerente la prima pagina
|
|
@@ -4716,7 +4727,7 @@ class TableComponent extends ResponsiveElementComponent {
|
|
|
4716
4727
|
}
|
|
4717
4728
|
// Richiesta di paginazione
|
|
4718
4729
|
if (!this.externalPaginationSorting
|
|
4719
|
-
&& ((
|
|
4730
|
+
&& ((_g = changes.doPagination) === null || _g === void 0 ? void 0 : _g.currentValue)) {
|
|
4720
4731
|
this.push(changes.doPagination.currentValue.subscribe((info) => {
|
|
4721
4732
|
this.lengthOnChange(info.pageSize);
|
|
4722
4733
|
setTimeout(() => this.doSorting(info.sortProperty, info.sortDirection), 100);
|
|
@@ -4730,12 +4741,12 @@ class TableComponent extends ResponsiveElementComponent {
|
|
|
4730
4741
|
this.lengthOnChange(this.elementsPerPage);
|
|
4731
4742
|
}
|
|
4732
4743
|
// Calcolo il numero di colonne visibili
|
|
4733
|
-
if (((
|
|
4744
|
+
if (((_h = changes.noDataFound) === null || _h === void 0 ? void 0 : _h.currentValue) === true) {
|
|
4734
4745
|
// setTimeout(() => this.numeroColonne = document.querySelectorAll(`#${this.id} th`).length);
|
|
4735
4746
|
this.numeroColonne = document.querySelectorAll(`#${this.id} th`).length;
|
|
4736
4747
|
}
|
|
4737
|
-
if ((
|
|
4738
|
-
this.righeSelezionabili = [...(
|
|
4748
|
+
if ((_j = changes.selectableRowValues) === null || _j === void 0 ? void 0 : _j.currentValue) {
|
|
4749
|
+
this.righeSelezionabili = [...(_k = changes.selectableRowValues) === null || _k === void 0 ? void 0 : _k.currentValue];
|
|
4739
4750
|
}
|
|
4740
4751
|
this.cdr.detectChanges();
|
|
4741
4752
|
}
|
|
@@ -4752,6 +4763,7 @@ class TableComponent extends ResponsiveElementComponent {
|
|
|
4752
4763
|
ngAfterViewInit() {
|
|
4753
4764
|
this.inizializzaTabella(this.thLabelComponents);
|
|
4754
4765
|
this.lookAtThLabel(this.thLabelComponents);
|
|
4766
|
+
this.attivaThLabelOrdinamentoSpecificato();
|
|
4755
4767
|
setTimeout(() => { var _a; return this.visualizzaBaseFooter = ((_a = this.baseFooter) === null || _a === void 0 ? void 0 : _a.nativeElement.childElementCount) > 0; });
|
|
4756
4768
|
this.cdr.detectChanges();
|
|
4757
4769
|
}
|
|
@@ -5062,6 +5074,42 @@ class TableComponent extends ResponsiveElementComponent {
|
|
|
5062
5074
|
return !this.disablePagination
|
|
5063
5075
|
&& (this.dataSource != undefined || (this.externalPaginationSorting != undefined && this.paginationState != undefined));
|
|
5064
5076
|
}
|
|
5077
|
+
/**
|
|
5078
|
+
* Attiva il th label inerente l'ordinamento specificato
|
|
5079
|
+
*/
|
|
5080
|
+
attivaThLabelOrdinamentoSpecificato() {
|
|
5081
|
+
if (this.thLabelComponents) {
|
|
5082
|
+
// Paginazione esterna
|
|
5083
|
+
if (this.externalPaginationSorting && this.paginationState) {
|
|
5084
|
+
let thLabel = this.thLabelComponents.find(item => item.property == this.paginationState.sortProperty);
|
|
5085
|
+
this.setSortDirection(thLabel, this.paginationState.sortDirection);
|
|
5086
|
+
}
|
|
5087
|
+
// Ordinamento iniziale paginazione interna
|
|
5088
|
+
else if (this.initialSort) {
|
|
5089
|
+
this.thLabelComponents.forEach(thLabel => {
|
|
5090
|
+
thLabel.property == this.initialSort.sortProperty
|
|
5091
|
+
? this.setSortDirection(thLabel, this.initialSort.sortDirection)
|
|
5092
|
+
: this.setSortDirection(thLabel, undefined);
|
|
5093
|
+
});
|
|
5094
|
+
}
|
|
5095
|
+
}
|
|
5096
|
+
}
|
|
5097
|
+
setSortDirection(thLabel, direction) {
|
|
5098
|
+
if (thLabel) {
|
|
5099
|
+
switch (direction) {
|
|
5100
|
+
case "asc":
|
|
5101
|
+
thLabel.direction = ThLabelComponent.ASC;
|
|
5102
|
+
break;
|
|
5103
|
+
case "desc":
|
|
5104
|
+
thLabel.direction = ThLabelComponent.DESC;
|
|
5105
|
+
break;
|
|
5106
|
+
default:
|
|
5107
|
+
thLabel.direction = ThLabelComponent.UNSORTED;
|
|
5108
|
+
break;
|
|
5109
|
+
}
|
|
5110
|
+
this.modificaTh(thLabel);
|
|
5111
|
+
}
|
|
5112
|
+
}
|
|
5065
5113
|
}
|
|
5066
5114
|
TableComponent.decorators = [
|
|
5067
5115
|
{ type: Component, args: [{
|
|
@@ -5082,6 +5130,7 @@ TableComponent.propDecorators = {
|
|
|
5082
5130
|
displayedDataChange: [{ type: Output }],
|
|
5083
5131
|
doPagination: [{ type: Input }],
|
|
5084
5132
|
elementsPerPage: [{ type: Input }],
|
|
5133
|
+
initialSort: [{ type: Input }],
|
|
5085
5134
|
paginationState: [{ type: Input }],
|
|
5086
5135
|
elementsPerPageOptions: [{ type: Input }],
|
|
5087
5136
|
noDataFound: [{ type: Input }],
|
|
@@ -5148,11 +5197,13 @@ class InputFileComponent extends FormElementComponent {
|
|
|
5148
5197
|
if (!this.addButton) {
|
|
5149
5198
|
this.fileChange.emit(this.fileModel);
|
|
5150
5199
|
}
|
|
5200
|
+
this.cleanError();
|
|
5151
5201
|
this.cdr.detectChanges();
|
|
5152
5202
|
}
|
|
5153
5203
|
reset() {
|
|
5154
5204
|
this.fileModel = undefined;
|
|
5155
5205
|
this.fileChange.emit(undefined);
|
|
5206
|
+
this.cleanError();
|
|
5156
5207
|
this.cdr.detectChanges();
|
|
5157
5208
|
}
|
|
5158
5209
|
}
|
|
@@ -5634,6 +5685,170 @@ WizardComponent.propDecorators = {
|
|
|
5634
5685
|
selectorComponent: [{ type: ViewChild, args: [SelectorComponent,] }]
|
|
5635
5686
|
};
|
|
5636
5687
|
|
|
5688
|
+
class ProgressBarComponent extends ResponsiveElementComponent {
|
|
5689
|
+
constructor(cdr) {
|
|
5690
|
+
super(cdr);
|
|
5691
|
+
this.cdr = cdr;
|
|
5692
|
+
this.valuenow = 0;
|
|
5693
|
+
this.logPrefix = `[inail-progress-bar]`;
|
|
5694
|
+
this.detach();
|
|
5695
|
+
}
|
|
5696
|
+
ngOnChanges(changes) {
|
|
5697
|
+
var _a;
|
|
5698
|
+
super.ngOnChanges(changes);
|
|
5699
|
+
if ((_a = changes === null || changes === void 0 ? void 0 : changes.valuenow) === null || _a === void 0 ? void 0 : _a.currentValue) {
|
|
5700
|
+
if (this.valuenow < 0) {
|
|
5701
|
+
this.valuenow = 0;
|
|
5702
|
+
}
|
|
5703
|
+
else if (this.valuenow > 100) {
|
|
5704
|
+
this.valuenow = 100;
|
|
5705
|
+
}
|
|
5706
|
+
}
|
|
5707
|
+
this.cdr.detectChanges();
|
|
5708
|
+
}
|
|
5709
|
+
ngOnInit() {
|
|
5710
|
+
super.ngOnInit();
|
|
5711
|
+
}
|
|
5712
|
+
ngAfterViewInit() {
|
|
5713
|
+
}
|
|
5714
|
+
ngOnDestroy() {
|
|
5715
|
+
super.ngOnDestroy();
|
|
5716
|
+
}
|
|
5717
|
+
}
|
|
5718
|
+
ProgressBarComponent.decorators = [
|
|
5719
|
+
{ type: Component, args: [{
|
|
5720
|
+
selector: 'inail-progress-bar',
|
|
5721
|
+
template: "<div [id]=\"id\"\n class=\"inail-progress-bar {{getResponsiveClass()}} noPaddingLeft noPaddingRight {{class}}\">\n <span *ngIf=\"label\" [innerHTML]=\"label\"></span>\n <span class=\"progress\">\n <span role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n title=\"Stato avanzamento: {{valuenow}}%\"\n class=\"progress-bar\"\n [ngClass]=\"{'progress-bar-25': valuenow <= 25, 'progress-bar-50': valuenow > 25 && valuenow <= 50, 'progress-bar-75': valuenow > 50 && valuenow <= 75, 'progress-bar-100': valuenow == 100}\"\n [attr.aria-valuenow]=\"valuenow\"\n [style.width.%]=\"valuenow\">\n </span>\n </span>\n</div>\n",
|
|
5722
|
+
changeDetection: CHANGE_DETECTION_STRATEGY,
|
|
5723
|
+
encapsulation: ViewEncapsulation.None,
|
|
5724
|
+
styles: [""]
|
|
5725
|
+
},] }
|
|
5726
|
+
];
|
|
5727
|
+
ProgressBarComponent.ctorParameters = () => [
|
|
5728
|
+
{ type: ChangeDetectorRef }
|
|
5729
|
+
];
|
|
5730
|
+
ProgressBarComponent.propDecorators = {
|
|
5731
|
+
label: [{ type: Input }],
|
|
5732
|
+
valuenow: [{ type: Input }]
|
|
5733
|
+
};
|
|
5734
|
+
|
|
5735
|
+
class MultiSelectComponent extends FormElementComponent {
|
|
5736
|
+
constructor(cdr) {
|
|
5737
|
+
super(cdr);
|
|
5738
|
+
this.cdr = cdr;
|
|
5739
|
+
this.options = [];
|
|
5740
|
+
this.values = [];
|
|
5741
|
+
this.valuesChange = new EventEmitter();
|
|
5742
|
+
this.placeholder = '- seleziona opzioni -';
|
|
5743
|
+
this.toggle = () => window['$'](this.formControlElement.nativeElement).dropdown('toggle');
|
|
5744
|
+
this.isExpanded = () => this.formControlElement.nativeElement.getAttribute('aria-expanded') === 'true';
|
|
5745
|
+
this.hasFormControlFocus = () => this.formControlElement.nativeElement.matches(':focus');
|
|
5746
|
+
this.hasDropdownMenuFocus = () => this.dropdownMenu.nativeElement.matches(':focus-within');
|
|
5747
|
+
this.isChecked = (value) => this.values.some(v => v === value);
|
|
5748
|
+
this.getInputTextValue = () => this.options.filter(opt => this.isChecked(opt.value)).map(opt => opt.label).join(', ');
|
|
5749
|
+
this.pushValue = (value) => this.values = this.options.filter(opt => opt.value === value || this.isChecked(opt.value)).map(opt => opt.value);
|
|
5750
|
+
this.isFocusOut = () => window['$'](this.multiSelect.nativeElement).find(document.activeElement).length == 0;
|
|
5751
|
+
this.logPrefix = `[inail-multi-select]`;
|
|
5752
|
+
this.detach();
|
|
5753
|
+
}
|
|
5754
|
+
ngOnChanges(changes) {
|
|
5755
|
+
var _a, _b, _c;
|
|
5756
|
+
super.ngOnChanges(changes);
|
|
5757
|
+
if ((((_a = changes === null || changes === void 0 ? void 0 : changes.options) === null || _a === void 0 ? void 0 : _a.currentValue) || ((_b = changes === null || changes === void 0 ? void 0 : changes.sort) === null || _b === void 0 ? void 0 : _b.currentValue)) && this.sort) {
|
|
5758
|
+
let direction = "ASC" == this.sort.toUpperCase() ? 1 : "DESC" == this.sort.toUpperCase() ? -1 : 0;
|
|
5759
|
+
if (direction != 0 && this.options != undefined) {
|
|
5760
|
+
this.options.sort((a, b) => a.label < b.label ? -direction : a.label > b.label ? direction : 0);
|
|
5761
|
+
}
|
|
5762
|
+
}
|
|
5763
|
+
if ((_c = changes === null || changes === void 0 ? void 0 : changes.options) === null || _c === void 0 ? void 0 : _c.currentValue) {
|
|
5764
|
+
this.inputTextValue = this.getInputTextValue();
|
|
5765
|
+
}
|
|
5766
|
+
this.cdr.detectChanges();
|
|
5767
|
+
}
|
|
5768
|
+
ngOnInit() {
|
|
5769
|
+
super.ngOnInit();
|
|
5770
|
+
this.emitDebug(`@ViewChild('formControl')`);
|
|
5771
|
+
this.emitDebug(this.formControlElement);
|
|
5772
|
+
if (this.focus) {
|
|
5773
|
+
this.push(this.focus.subscribe((scroll) => {
|
|
5774
|
+
this.emitDebug(`Catch focus!`);
|
|
5775
|
+
setFocus(this.formControlElement.nativeElement, scroll);
|
|
5776
|
+
}));
|
|
5777
|
+
}
|
|
5778
|
+
}
|
|
5779
|
+
ngAfterViewInit() {
|
|
5780
|
+
}
|
|
5781
|
+
ngOnDestroy() {
|
|
5782
|
+
super.ngOnDestroy();
|
|
5783
|
+
}
|
|
5784
|
+
onKeypress($event) {
|
|
5785
|
+
$event.preventDefault();
|
|
5786
|
+
}
|
|
5787
|
+
onFocusIn() {
|
|
5788
|
+
setTimeout(() => {
|
|
5789
|
+
this.showDropdownMenu();
|
|
5790
|
+
}, 250);
|
|
5791
|
+
}
|
|
5792
|
+
onFocusOut() {
|
|
5793
|
+
setTimeout(() => {
|
|
5794
|
+
if (this.isFocusOut()) {
|
|
5795
|
+
this.closeDropdownMenu();
|
|
5796
|
+
}
|
|
5797
|
+
}, 150);
|
|
5798
|
+
}
|
|
5799
|
+
showDropdownMenu() {
|
|
5800
|
+
setTimeout(() => {
|
|
5801
|
+
if (!this.isExpanded()) {
|
|
5802
|
+
this.toggle();
|
|
5803
|
+
}
|
|
5804
|
+
});
|
|
5805
|
+
}
|
|
5806
|
+
closeDropdownMenu() {
|
|
5807
|
+
setTimeout(() => {
|
|
5808
|
+
if (this.isExpanded()) {
|
|
5809
|
+
this.toggle();
|
|
5810
|
+
}
|
|
5811
|
+
});
|
|
5812
|
+
}
|
|
5813
|
+
onCheck(cb) {
|
|
5814
|
+
if (!cb.firstChange) {
|
|
5815
|
+
if (cb.checked && !this.isChecked(cb.value)) {
|
|
5816
|
+
this.pushValue(cb.value);
|
|
5817
|
+
this.cleanError();
|
|
5818
|
+
}
|
|
5819
|
+
else if (!cb.checked && this.isChecked(cb.value)) {
|
|
5820
|
+
this.values = this.values.filter(value => value != cb.value);
|
|
5821
|
+
this.cleanError();
|
|
5822
|
+
}
|
|
5823
|
+
this.valuesChange.emit(this.values);
|
|
5824
|
+
this.inputTextValue = this.getInputTextValue();
|
|
5825
|
+
this.cdr.detectChanges();
|
|
5826
|
+
}
|
|
5827
|
+
}
|
|
5828
|
+
}
|
|
5829
|
+
MultiSelectComponent.decorators = [
|
|
5830
|
+
{ type: Component, args: [{
|
|
5831
|
+
selector: 'inail-multi-select',
|
|
5832
|
+
template: "<div #multiSelect\n class=\"form-group {{getResponsiveClass()}} noPaddingLeft {{class}} inail-multi-select\"\n [ngClass]=\"{'has-error': isThereError()}\">\n <label *ngIf=\"label\"\n class=\"control-label {{labelClass}}\"\n [ngClass]=\"{'sr-only': hiddenLabel}\"\n [attr.title]=\"labelTitle\"\n [for]=\"id\"\n [innerHTML]=\"getLabel()\"></label>\n <span *ngIf=\"showPopover()\"\n [style.padding-left.px]=\"5\">\n <inail-popover [iconClass]=\"popoverButtonIcon\"\n [buttonTitle]=\"popoverButtonTitle\"\n [header]=\"popoverHeader\"\n [content]=\"popoverContent\">\n </inail-popover>\n </span>\n <div class=\"form-control-wrapper\"\n [ngClass]=\"{'no-label' : hiddenLabel || !label}\">\n <input #formControl\n type=\"text\"\n [id]=\"id\"\n class=\"form-control dropdown-toggle {{inputClass}}\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n [ngClass]=\"{'disabled': disabled}\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-required]=\"required === true ? true : undefined\"\n [attr.aria-invalid]=\"isThereError() === true ? true : undefined\"\n [attr.aria-describedBy]=\"getAriaDescribedBy()\"\n (blur)=\"onBlur()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut()\"\n (keypress)=\"onKeypress($event)\"\n (keyup.enter)=\"enterUp.emit()\"\n [ngModel]=\"inputTextValue\">\n <div #dropdownMenu\n class=\"dropdown-menu\"\n (focusout)=\"onFocusOut()\"\n [attr.aria-labelledby]=\"id\">\n <ng-container *ngFor=\"let opt of options\">\n <div *ngIf=\"opt.beforeDivider\" class=\"divider\"></div>\n <div class=\"row\" [attr.tabIndex]=\"opt.disabled ? 0 : undefined\">\n <inail-checkbox [label]=\"opt.label\"\n [value]=\"opt.value\"\n [title]=\"opt.title\"\n [checked]=\"isChecked(opt.value)\"\n [disabled]=\"opt.disabled\"\n (stateChange)=\"onCheck($event)\">\n </inail-checkbox>\n </div>\n <div *ngIf=\"opt.afterDivider\" class=\"divider\"></div>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"showError()\" [id]=\"id+'-description'\">\n <div class=\"msg msg-errore\">\n <strong [innerHTML]=\"'ERRORE: '+this.error\"></strong>\n </div>\n <div *ngIf=\"description\" [innerHTML]=\"this.description\"></div>\n </div>\n <div *ngIf=\"description && !showError()\"\n [id]=\"id+'-description'\"\n [innerHTML]=\"this.description\">\n </div>\n</div>\n",
|
|
5833
|
+
changeDetection: CHANGE_DETECTION_STRATEGY,
|
|
5834
|
+
encapsulation: ViewEncapsulation.None,
|
|
5835
|
+
styles: [".inail-multi-select .form-control-wrapper:after{font-family:FontAwesome;content:\"\\f078\";right:31px;position:absolute;top:35px;font-size:10px;color:#0083f5}.inail-multi-select .form-control-wrapper.no-label:after{top:11px}.inail-multi-select .form-control[readonly]:not([disabled]){background-color:#fff}.inail-multi-select .form-control:not([disabled]){cursor:pointer}.inail-multi-select .dropdown-menu .form-group{margin:0!important;padding-left:20px!important}.inail-multi-select .dropdown-menu .form-group:hover{background-color:#eaedf2}.inail-multi-select .dropdown-menu .form-group .checkbox{margin:0!important}.inail-multi-select .dropdown-menu .form-group .checkbox label{margin-top:5px!important;margin-bottom:5px!important;display:block!important}"]
|
|
5836
|
+
},] }
|
|
5837
|
+
];
|
|
5838
|
+
MultiSelectComponent.ctorParameters = () => [
|
|
5839
|
+
{ type: ChangeDetectorRef }
|
|
5840
|
+
];
|
|
5841
|
+
MultiSelectComponent.propDecorators = {
|
|
5842
|
+
multiSelect: [{ type: ViewChild, args: ['multiSelect', { static: true },] }],
|
|
5843
|
+
formControlElement: [{ type: ViewChild, args: ['formControl', { static: true },] }],
|
|
5844
|
+
dropdownMenu: [{ type: ViewChild, args: ['dropdownMenu', { static: true },] }],
|
|
5845
|
+
options: [{ type: Input }],
|
|
5846
|
+
values: [{ type: Input }],
|
|
5847
|
+
valuesChange: [{ type: Output }],
|
|
5848
|
+
placeholder: [{ type: Input }],
|
|
5849
|
+
sort: [{ type: Input }]
|
|
5850
|
+
};
|
|
5851
|
+
|
|
5637
5852
|
class NgInailCommonModule {
|
|
5638
5853
|
}
|
|
5639
5854
|
NgInailCommonModule.decorators = [
|
|
@@ -5684,7 +5899,9 @@ NgInailCommonModule.decorators = [
|
|
|
5684
5899
|
SelectorComponent,
|
|
5685
5900
|
WizardComponent,
|
|
5686
5901
|
ContainerComponent,
|
|
5687
|
-
TrCheckboxComponent
|
|
5902
|
+
TrCheckboxComponent,
|
|
5903
|
+
ProgressBarComponent,
|
|
5904
|
+
MultiSelectComponent
|
|
5688
5905
|
],
|
|
5689
5906
|
imports: [
|
|
5690
5907
|
CommonModule,
|
|
@@ -5732,7 +5949,9 @@ NgInailCommonModule.decorators = [
|
|
|
5732
5949
|
SelectorComponent,
|
|
5733
5950
|
WizardComponent,
|
|
5734
5951
|
ContainerComponent,
|
|
5735
|
-
TrCheckboxComponent
|
|
5952
|
+
TrCheckboxComponent,
|
|
5953
|
+
ProgressBarComponent,
|
|
5954
|
+
MultiSelectComponent
|
|
5736
5955
|
],
|
|
5737
5956
|
providers: [DatePipe]
|
|
5738
5957
|
},] }
|
|
@@ -5746,5 +5965,5 @@ NgInailCommonModule.decorators = [
|
|
|
5746
5965
|
* Generated bundle index. Do not edit.
|
|
5747
5966
|
*/
|
|
5748
5967
|
|
|
5749
|
-
export { AccordionComponent, AlertComponent, BaseComponent, BreadcrumbComponent, ButtonComponent, CHANGE_DETECTION_STRATEGY, CheckboxComponent, ConfirmComponent, ContainerComponent, ERROR_BTN_CLASS, Feedback, FeedbackComponent, FooterComponent, FormGreyComponent, HeaderComponent, HeaderConfigurations, InailLayoutComponent, InailLayoutConfigurations, InailTablePageSelectorComponent, InputDateComponent, InputFileComponent, InputNumberComponent, InputTextComponent, LoaderComponent, LogLevel, MenuComponent, MenuIntranetComponent, MenuItem, ModalComponent, NavigazioneInternaComponent, NavigazionePrincipaleComponent, NavigazioneSecondariaComponent, NavigazioneUtenteComponent, NavigazioneUtenteConfigurations, NgInailCommonModule, PageTitleComponent,
|
|
5968
|
+
export { AccordionComponent, AlertComponent, BaseComponent, BreadcrumbComponent, ButtonComponent, CHANGE_DETECTION_STRATEGY, CheckboxComponent, ConfirmComponent, ContainerComponent, ERROR_BTN_CLASS, Feedback, FeedbackComponent, FooterComponent, FormGreyComponent, HeaderComponent, HeaderConfigurations, InailLayoutComponent, InailLayoutConfigurations, InailTablePageSelectorComponent, InputDateComponent, InputFileComponent, InputNumberComponent, InputTextComponent, LoaderComponent, LogLevel, MenuComponent, MenuIntranetComponent, MenuItem, ModalComponent, MultiSelectComponent, NavigazioneInternaComponent, NavigazionePrincipaleComponent, NavigazioneSecondariaComponent, NavigazioneUtenteComponent, NavigazioneUtenteConfigurations, NgInailCommonModule, PageTitleComponent, PopoverComponent, ProgressBarComponent, RadioSelectComponent, ResponsiveElementComponent, SelectComponent, SelectorComponent, SetFocusStrategy, SortingInfo, TabGroupComponent, TabPaneComponent, TableComponent, TablePageLengthSelectorComponent, TextareaComponent, ThLabelComponent, TrCheckboxComponent, WizardComponent, addZero, call, clone, dateToString, isAbsolute, isBlankOrNull, isDate, isHidden, isInISO8601Format, isInItalianFormat, isInvalidDateObject, isListEmptyOrNull, isListNotEmptyOrNull, isNotBlankOrNull, isNumber, isString, isValidDateObject, isValidRadioValue, isValidSelectValue, reformatDate, scrollTo, scrollToElement, scrollTop, setFocus, setFocusOnError, setFocusOnFeedback, setFocusOnFirstErrorFeedback, setFocusOnFirstFeedback, setFocusOnFirstModalError, setFocusOnFirstPageError, setFocusOnGlobalErrorFeedback, setFocusOnGlobalFeedback, setPageScroll, startWith, startWithSlash, toDateObject, toISO8601Format, toItalianFormat, uuidv4, ɵ0$3 as ɵ0, ɵ1$2 as ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, BasicUxElementComponent as ɵa, FormElementComponent as ɵb, PreComponent as ɵc, StatePropertieComponent as ɵd, FormElementStatePropertieComponent as ɵe, TriggerSliderMenuButtonComponent as ɵf };
|
|
5750
5969
|
//# sourceMappingURL=ng-inail-common.js.map
|