@po-ui/ng-components 5.10.0 → 5.13.1
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/po-ui-ng-components.umd.js +326 -137
- package/bundles/po-ui-ng-components.umd.js.map +1 -1
- package/esm2015/lib/components/po-calendar/po-calendar-base.component.js +14 -3
- package/esm2015/lib/components/po-calendar/po-calendar-wrapper/po-calendar-wrapper.component.js +18 -7
- package/esm2015/lib/components/po-calendar/po-calendar.component.js +10 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.js +3 -2
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-base.component.js +88 -10
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-filter.service.js +50 -0
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect.component.js +17 -5
- package/esm2015/lib/components/po-page/po-page-action.interface.js +1 -1
- package/esm2015/lib/components/po-table/interfaces/po-table-column.interface.js +1 -1
- package/esm2015/lib/components/po-table/po-table-base.component.js +2 -2
- package/esm2015/lib/components/po-table/po-table.component.js +2 -2
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.js +2 -1
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.component.js +16 -6
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.interface.js +1 -1
- package/esm2015/lib/interceptors/po-http-request/po-http-request-interceptor.service.js +3 -11
- package/esm2015/lib/services/po-date/po-date.service.js +1 -1
- package/esm2015/po-ui-ng-components.js +104 -103
- package/fesm2015/po-ui-ng-components.js +207 -36
- package/fesm2015/po-ui-ng-components.js.map +1 -1
- package/lib/components/po-calendar/po-calendar-base.component.d.ts +1 -0
- package/lib/components/po-calendar/po-calendar-wrapper/po-calendar-wrapper.component.d.ts +5 -3
- package/lib/components/po-calendar/po-calendar.component.d.ts +5 -2
- package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +57 -4
- package/lib/components/po-field/po-multiselect/po-multiselect-filter.service.d.ts +18 -0
- package/lib/components/po-field/po-multiselect/po-multiselect.component.d.ts +6 -3
- package/lib/components/po-page/po-page-action.interface.d.ts +2 -0
- package/lib/components/po-table/interfaces/po-table-column.interface.d.ts +11 -0
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.d.ts +1 -0
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.interface.d.ts +2 -0
- package/lib/interceptors/po-http-request/po-http-request-interceptor.service.d.ts +2 -2
- package/lib/services/po-date/po-date.service.d.ts +1 -1
- package/package.json +4 -4
- package/po-ui-ng-components-5.13.1.tgz +0 -0
- package/po-ui-ng-components.d.ts +103 -102
- package/po-ui-ng-components.metadata.json +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/po-ui-ng-components-5.10.0.tgz +0 -0
|
@@ -3840,15 +3840,26 @@
|
|
|
3840
3840
|
configurable: true
|
|
3841
3841
|
});
|
|
3842
3842
|
PoCalendarBaseComponent.prototype.setActivateDate = function (date) {
|
|
3843
|
+
var activateDate = date ? date : this.verifyActivateDate();
|
|
3843
3844
|
if (this.isRange) {
|
|
3844
|
-
var checkedStart =
|
|
3845
|
+
var checkedStart = typeof activateDate === 'string' ? this.poDate.convertIsoToDate(activateDate) : new Date(activateDate);
|
|
3845
3846
|
var checkedEnd = new Date(new Date(checkedStart).setMonth(checkedStart.getMonth() + 1));
|
|
3846
3847
|
this.activateDate = { start: checkedStart, end: checkedEnd };
|
|
3847
3848
|
}
|
|
3848
3849
|
else {
|
|
3849
|
-
this.activateDate =
|
|
3850
|
+
this.activateDate = new Date(activateDate);
|
|
3850
3851
|
}
|
|
3851
3852
|
};
|
|
3853
|
+
PoCalendarBaseComponent.prototype.verifyActivateDate = function () {
|
|
3854
|
+
var today = this.today;
|
|
3855
|
+
if (this.minDate && this.minDate > this.today) {
|
|
3856
|
+
today = this.minDate;
|
|
3857
|
+
}
|
|
3858
|
+
else if (this.maxDate && this.maxDate < this.today) {
|
|
3859
|
+
today = this.maxDate;
|
|
3860
|
+
}
|
|
3861
|
+
return today;
|
|
3862
|
+
};
|
|
3852
3863
|
return PoCalendarBaseComponent;
|
|
3853
3864
|
}());
|
|
3854
3865
|
PoCalendarBaseComponent.decorators = [
|
|
@@ -3919,6 +3930,11 @@
|
|
|
3919
3930
|
PoCalendarComponent.prototype.ngOnInit = function () {
|
|
3920
3931
|
this.setActivateDate();
|
|
3921
3932
|
};
|
|
3933
|
+
PoCalendarComponent.prototype.ngOnChanges = function (changes) {
|
|
3934
|
+
if (changes.minDate || changes.maxDate) {
|
|
3935
|
+
this.setActivateDate();
|
|
3936
|
+
}
|
|
3937
|
+
};
|
|
3922
3938
|
PoCalendarComponent.prototype.getActivateDate = function (partType) {
|
|
3923
3939
|
if (this.isRange && this.activateDate) {
|
|
3924
3940
|
return this.activateDate[partType];
|
|
@@ -3952,6 +3968,9 @@
|
|
|
3952
3968
|
this.updateModel(newModel);
|
|
3953
3969
|
this.change.emit(newModel);
|
|
3954
3970
|
};
|
|
3971
|
+
PoCalendarComponent.prototype.onHoverDate = function (date) {
|
|
3972
|
+
this.hoverValue = date;
|
|
3973
|
+
};
|
|
3955
3974
|
PoCalendarComponent.prototype.onHeaderChange = function (_b, partType) {
|
|
3956
3975
|
var month = _b.month, year = _b.year;
|
|
3957
3976
|
if (this.isRange) {
|
|
@@ -4048,7 +4067,7 @@
|
|
|
4048
4067
|
PoCalendarComponent.decorators = [
|
|
4049
4068
|
{ type: i0.Component, args: [{
|
|
4050
4069
|
selector: 'po-calendar',
|
|
4051
|
-
template: "<ng-container *ngIf=\"isRange; then rangeTemplate; else calendarTemplate\"></ng-container>\n\n<ng-template #rangeTemplate>\n <div class=\"po-calendar-range\">\n <ng-container *ngTemplateOutlet=\"calendarWrapper; context: { partType: 'start' }\"></ng-container>\n <ng-container *ngIf=\"!isResponsive\">\n <ng-container *ngTemplateOutlet=\"calendarWrapper; context: { partType: 'end' }\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n<ng-template #calendarTemplate>\n <div class=\"po-calendar\">\n <ng-template [ngTemplateOutlet]=\"calendarWrapper\"></ng-template>\n </div>\n</ng-template>\n\n<ng-template #calendarWrapper let-partType=\"partType\">\n <po-calendar-wrapper\n [p-value]=\"getValue(partType)\"\n [p-activate-date]=\"getActivateDate(partType)\"\n [p-locale]=\"locale\"\n [p-min-date]=\"minDate\"\n [p-max-date]=\"maxDate\"\n [p-part-type]=\"partType\"\n [p-range]=\"isRange\"\n [p-responsive]=\"isResponsive\"\n [p-selected-value]=\"value\"\n (p-header-change)=\"onHeaderChange($event, partType)\"\n (p-select-date)=\"onSelectDate($event, partType)\"\n >\n </po-calendar-wrapper>\n</ng-template>\n",
|
|
4070
|
+
template: "<ng-container *ngIf=\"isRange; then rangeTemplate; else calendarTemplate\"></ng-container>\n\n<ng-template #rangeTemplate>\n <div class=\"po-calendar-range\">\n <ng-container *ngTemplateOutlet=\"calendarWrapper; context: { partType: 'start' }\"></ng-container>\n <ng-container *ngIf=\"!isResponsive\">\n <ng-container *ngTemplateOutlet=\"calendarWrapper; context: { partType: 'end' }\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n<ng-template #calendarTemplate>\n <div class=\"po-calendar\">\n <ng-template [ngTemplateOutlet]=\"calendarWrapper\"></ng-template>\n </div>\n</ng-template>\n\n<ng-template #calendarWrapper let-partType=\"partType\">\n <po-calendar-wrapper\n [p-value]=\"getValue(partType)\"\n [p-activate-date]=\"getActivateDate(partType)\"\n [p-locale]=\"locale\"\n [p-min-date]=\"minDate\"\n [p-max-date]=\"maxDate\"\n [p-part-type]=\"partType\"\n [p-range]=\"isRange\"\n [p-responsive]=\"isResponsive\"\n [p-selected-value]=\"value\"\n [p-hover-value]=\"hoverValue\"\n (p-header-change)=\"onHeaderChange($event, partType)\"\n (p-select-date)=\"onSelectDate($event, partType)\"\n (p-hover-date)=\"onHoverDate($event)\"\n >\n </po-calendar-wrapper>\n</ng-template>\n",
|
|
4052
4071
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
4053
4072
|
providers: providers$6
|
|
4054
4073
|
},] }
|
|
@@ -4308,17 +4327,17 @@
|
|
|
4308
4327
|
];
|
|
4309
4328
|
|
|
4310
4329
|
var PoCalendarWrapperComponent = /** @class */ (function () {
|
|
4311
|
-
function PoCalendarWrapperComponent(poCalendarService, poCalendarLangService, poDate
|
|
4330
|
+
function PoCalendarWrapperComponent(poCalendarService, poCalendarLangService, poDate) {
|
|
4312
4331
|
this.poCalendarService = poCalendarService;
|
|
4313
4332
|
this.poCalendarLangService = poCalendarLangService;
|
|
4314
4333
|
this.poDate = poDate;
|
|
4315
|
-
this.languageService = languageService;
|
|
4316
4334
|
this.mode = 'day';
|
|
4317
4335
|
this.responsive = false;
|
|
4318
4336
|
this.range = false;
|
|
4319
4337
|
this.activateDate = new Date();
|
|
4320
4338
|
this.headerChange = new i0.EventEmitter();
|
|
4321
4339
|
this.selectDate = new i0.EventEmitter();
|
|
4340
|
+
this.hoverDate = new rxjs.Subject().pipe(operators.debounceTime(100));
|
|
4322
4341
|
this.displayMonths = Array();
|
|
4323
4342
|
this.displayWeekDays = Array();
|
|
4324
4343
|
this.today = new Date();
|
|
@@ -4419,6 +4438,12 @@
|
|
|
4419
4438
|
}
|
|
4420
4439
|
this.headerChange.emit({ month: this.displayMonthNumber, year: this.displayYear });
|
|
4421
4440
|
};
|
|
4441
|
+
PoCalendarWrapperComponent.prototype.onMouseEnter = function (day) {
|
|
4442
|
+
this.hoverDate.next(day);
|
|
4443
|
+
};
|
|
4444
|
+
PoCalendarWrapperComponent.prototype.onMouseLeave = function () {
|
|
4445
|
+
this.hoverDate.next(null);
|
|
4446
|
+
};
|
|
4422
4447
|
// Ao selecionar uma data
|
|
4423
4448
|
PoCalendarWrapperComponent.prototype.onSelectDate = function (date) {
|
|
4424
4449
|
this.selectDate.emit(date);
|
|
@@ -4500,6 +4525,9 @@
|
|
|
4500
4525
|
else if (this.range && start && end && date > start && date < end) {
|
|
4501
4526
|
return this.getColorForDateRange(date, local);
|
|
4502
4527
|
}
|
|
4528
|
+
else if (this.range && start && !end && date > start && date < this.hoverValue) {
|
|
4529
|
+
return "po-calendar-box-" + local + "-hover";
|
|
4530
|
+
}
|
|
4503
4531
|
else if (!this.range && this.equalsDate(date, this.value)) {
|
|
4504
4532
|
return this.getColorForDate(date, local);
|
|
4505
4533
|
}
|
|
@@ -4546,7 +4574,7 @@
|
|
|
4546
4574
|
PoCalendarWrapperComponent.decorators = [
|
|
4547
4575
|
{ type: i0.Component, args: [{
|
|
4548
4576
|
selector: 'po-calendar-wrapper',
|
|
4549
|
-
template: "<div class=\"po-calendar-wrapper\">\n <ng-container *ngIf=\"isDayVisible\">\n <po-calendar-header\n [p-hide-previous]=\"isEndPart\"\n [p-hide-next]=\"isStartPart && !responsive\"\n (p-previous)=\"onPreviousMonth()\"\n (p-next)=\"onNextMonth()\"\n >\n <span class=\"po-clickable po-mr-1\" (click)=\"selectDisplayMode('month')\">{{ displayMonth }}</span>\n <span class=\"po-clickable\" (click)=\"selectDisplayMode('year')\">{{ displayYear }}</span>\n </po-calendar-header>\n\n <div class=\"po-calendar-content\">\n <div class=\"po-calendar-labels\">\n <div class=\"po-calendar-label\" *ngFor=\"let weekDay of displayWeekDays\">\n {{ weekDay }}\n </div>\n </div>\n\n <div class=\"po-calendar-content-list-day\">\n <div\n *ngFor=\"let day of displayDays\"\n class=\"po-calendar-day\"\n [ngClass]=\"getDayBackgroundColor(day)\"\n (click)=\"onSelectDate(day)\"\n attr-calendar\n >\n <span *ngIf=\"day !== 0\" [ngClass]=\"getDayForegroundColor(day)\">\n {{ day.getDate() }}\n </span>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isMonthVisible\">\n <po-calendar-header (p-previous)=\"updateYear(-1)\" (p-next)=\"updateYear(1)\">\n <span class=\"po-clickable\" (click)=\"selectDisplayMode('year')\">\n {{ displayYear }}\n </span>\n </po-calendar-header>\n\n <div class=\"po-calendar-content\">\n <div class=\"po-calendar-labels\">\n <div class=\"po-calendar-label\">\n {{ monthLabel }}\n </div>\n </div>\n <div class=\"po-calendar-content-list-month\">\n <div\n *ngFor=\"let month of displayMonths; let i = index\"\n class=\"po-calendar-month\"\n [ngClass]=\"getBackgroundColor(i, displayMonthNumber)\"\n (click)=\"onSelectMonth(displayYear, i)\"\n attr-calendar\n >\n <span [ngClass]=\"getForegroundColor(i, displayMonthNumber)\">\n {{ month }}\n </span>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isYearVisible\">\n <po-calendar-header (p-previous)=\"updateYear(-10)\" (p-next)=\"updateYear(10)\">\n {{ displayStartDecade }} - {{ displayFinalDecade }}\n </po-calendar-header>\n\n <div class=\"po-calendar-content\">\n <div class=\"po-calendar-labels\">\n <div class=\"po-calendar-label\">\n {{ yearLabel }}\n </div>\n </div>\n\n <div class=\"po-calendar-content-list-year\">\n <div\n *ngFor=\"let year of displayDecade; let i = index\"\n class=\"po-calendar-year\"\n [ngClass]=\"getBackgroundColor(year, currentYear)\"\n (click)=\"onSelectYear(year, displayMonthNumber)\"\n attr-calendar\n >\n <span [ngClass]=\"getForegroundColor(year, currentYear)\">\n {{ year }}\n </span>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n",
|
|
4577
|
+
template: "<div class=\"po-calendar-wrapper\">\n <ng-container *ngIf=\"isDayVisible\">\n <po-calendar-header\n [p-hide-previous]=\"isEndPart\"\n [p-hide-next]=\"isStartPart && !responsive\"\n (p-previous)=\"onPreviousMonth()\"\n (p-next)=\"onNextMonth()\"\n >\n <span class=\"po-clickable po-mr-1\" (click)=\"selectDisplayMode('month')\">{{ displayMonth }}</span>\n <span class=\"po-clickable\" (click)=\"selectDisplayMode('year')\">{{ displayYear }}</span>\n </po-calendar-header>\n\n <div class=\"po-calendar-content\">\n <div class=\"po-calendar-labels\">\n <div class=\"po-calendar-label\" *ngFor=\"let weekDay of displayWeekDays\">\n {{ weekDay }}\n </div>\n </div>\n\n <div class=\"po-calendar-content-list-day\">\n <div\n *ngFor=\"let day of displayDays\"\n class=\"po-calendar-day\"\n [ngClass]=\"getDayBackgroundColor(day)\"\n (click)=\"onSelectDate(day)\"\n (mouseenter)=\"onMouseEnter(day)\"\n (mouseleave)=\"onMouseLeave()\"\n attr-calendar\n >\n <span *ngIf=\"day !== 0\" [ngClass]=\"getDayForegroundColor(day)\">\n {{ day.getDate() }}\n </span>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isMonthVisible\">\n <po-calendar-header (p-previous)=\"updateYear(-1)\" (p-next)=\"updateYear(1)\">\n <span class=\"po-clickable\" (click)=\"selectDisplayMode('year')\">\n {{ displayYear }}\n </span>\n </po-calendar-header>\n\n <div class=\"po-calendar-content\">\n <div class=\"po-calendar-labels\">\n <div class=\"po-calendar-label\">\n {{ monthLabel }}\n </div>\n </div>\n <div class=\"po-calendar-content-list-month\">\n <div\n *ngFor=\"let month of displayMonths; let i = index\"\n class=\"po-calendar-month\"\n [ngClass]=\"getBackgroundColor(i, displayMonthNumber)\"\n (click)=\"onSelectMonth(displayYear, i)\"\n attr-calendar\n >\n <span [ngClass]=\"getForegroundColor(i, displayMonthNumber)\">\n {{ month }}\n </span>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isYearVisible\">\n <po-calendar-header (p-previous)=\"updateYear(-10)\" (p-next)=\"updateYear(10)\">\n {{ displayStartDecade }} - {{ displayFinalDecade }}\n </po-calendar-header>\n\n <div class=\"po-calendar-content\">\n <div class=\"po-calendar-labels\">\n <div class=\"po-calendar-label\">\n {{ yearLabel }}\n </div>\n </div>\n\n <div class=\"po-calendar-content-list-year\">\n <div\n *ngFor=\"let year of displayDecade; let i = index\"\n class=\"po-calendar-year\"\n [ngClass]=\"getBackgroundColor(year, currentYear)\"\n (click)=\"onSelectYear(year, displayMonthNumber)\"\n attr-calendar\n >\n <span [ngClass]=\"getForegroundColor(year, currentYear)\">\n {{ year }}\n </span>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n",
|
|
4550
4578
|
providers: [PoCalendarService],
|
|
4551
4579
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
4552
4580
|
},] }
|
|
@@ -4554,8 +4582,7 @@
|
|
|
4554
4582
|
PoCalendarWrapperComponent.ctorParameters = function () { return [
|
|
4555
4583
|
{ type: PoCalendarService },
|
|
4556
4584
|
{ type: PoCalendarLangService },
|
|
4557
|
-
{ type: PoDateService }
|
|
4558
|
-
{ type: PoLanguageService }
|
|
4585
|
+
{ type: PoDateService }
|
|
4559
4586
|
]; };
|
|
4560
4587
|
PoCalendarWrapperComponent.propDecorators = {
|
|
4561
4588
|
value: [{ type: i0.Input, args: ['p-value',] }],
|
|
@@ -4567,8 +4594,10 @@
|
|
|
4567
4594
|
selectedValue: [{ type: i0.Input, args: ['p-selected-value',] }],
|
|
4568
4595
|
minDate: [{ type: i0.Input, args: ['p-min-date',] }],
|
|
4569
4596
|
maxDate: [{ type: i0.Input, args: ['p-max-date',] }],
|
|
4597
|
+
hoverValue: [{ type: i0.Input, args: ['p-hover-value',] }],
|
|
4570
4598
|
headerChange: [{ type: i0.Output, args: ['p-header-change',] }],
|
|
4571
4599
|
selectDate: [{ type: i0.Output, args: ['p-select-date',] }],
|
|
4600
|
+
hoverDate: [{ type: i0.Output, args: ['p-hover-date',] }],
|
|
4572
4601
|
locale: [{ type: i0.Input, args: ['p-locale',] }]
|
|
4573
4602
|
};
|
|
4574
4603
|
|
|
@@ -13722,7 +13751,7 @@
|
|
|
13722
13751
|
row.$showAction = !toggleShowAction;
|
|
13723
13752
|
};
|
|
13724
13753
|
PoTableBaseComponent.prototype.sortColumn = function (column) {
|
|
13725
|
-
if (!this.sort || column.type === 'detail') {
|
|
13754
|
+
if (!this.sort || column.type === 'detail' || column.sortable === false) {
|
|
13726
13755
|
return;
|
|
13727
13756
|
}
|
|
13728
13757
|
this.sortedColumn.ascending = this.sortedColumn.property === column ? !this.sortedColumn.ascending : true;
|
|
@@ -14821,7 +14850,7 @@
|
|
|
14821
14850
|
PoTableComponent.decorators = [
|
|
14822
14851
|
{ type: i0.Component, args: [{
|
|
14823
14852
|
selector: 'po-table',
|
|
14824
|
-
template: "<po-container *ngIf=\"container; else tableContainerTemplate\" p-no-padding [p-no-shadow]=\"container === 'border'\">\n <ng-container *ngTemplateOutlet=\"tableContainerTemplate\"></ng-container>\n</po-container>\n\n<ng-template #tableContainerTemplate>\n <div [class.po-table-container-relative]=\"loading\">\n <div *ngIf=\"loading\" class=\"po-table-overlay\">\n <po-loading class=\"po-table-overlay-content\" [p-text]=\"literals.loadingData\"></po-loading>\n </div>\n\n <div class=\"po-table-main-container\">\n <div\n #tableWrapper\n class=\"po-table-wrapper\"\n [class.po-table-header-fixed-columns-pixels]=\"allColumnsWidthPixels\"\n [style.opacity]=\"tableOpacity\"\n >\n <div *ngIf=\"height\" class=\"po-table-container\" [style.height.px]=\"heightTableContainer\">\n <div class=\"po-table-header-fixed po-table-header\"></div>\n <div #poTableTbody class=\"po-table-container-fixed-inner\">\n <ng-container *ngTemplateOutlet=\"tableTemplate\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"!height\">\n <ng-container *ngTemplateOutlet=\"tableTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"po-table-footer\" *ngIf=\"hasFooter\">\n <ng-container *ngFor=\"let column of subtitleColumns; trackBy: trackBy\">\n <po-table-subtitle-footer [p-literals]=\"literals\" [p-subtitles]=\"column.subtitles\"> </po-table-subtitle-footer>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n *ngIf=\"!infiniteScroll\"\n class=\"po-row po-table-footer-show-more\"\n [class.po-invisible]=\"showMore.observers.length === 0 && !hasService\"\n #tableFooter\n>\n <po-button\n class=\"po-offset-xl-4 po-offset-lg-4 po-offset-md-3 po-lg-4 po-md-6\"\n [p-disabled]=\"showMoreDisabled\"\n [p-label]=\"literals.loadMoreData\"\n [p-loading]=\"loadingShowMore\"\n (p-click)=\"onShowMore()\"\n >\n </po-button>\n</div>\n\n<ng-template #tableTemplate>\n <table class=\"po-table\" [class.po-table-striped]=\"striped\" [class.po-table-layout-fixed]=\"hideTextOverflow\">\n <thead>\n <tr [class.po-table-header]=\"!height\">\n <th *ngIf=\"hasSelectableColumn\" class=\"po-table-column-selectable\">\n <div [class.po-table-header-fixed-inner]=\"height\">\n <input\n *ngIf=\"!hideSelectAll\"\n type=\"checkbox\"\n class=\"po-table-checkbox\"\n [class.po-table-checkbox-checked]=\"selectAll\"\n [class.po-table-checkbox-indeterminate]=\"selectAll === null\"\n />\n <label *ngIf=\"!hideSelectAll\" class=\"po-table-checkbox-label po-clickable\" (click)=\"selectAllRows()\">\n </label>\n </div>\n </th>\n\n <th\n *ngIf=\"(hasMasterDetailColumn || hasRowTemplate) && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-header-column po-table-header-master-detail\"\n ></th>\n\n <th *ngIf=\"!hasMainColumns\" #noColumnsHeader class=\"po-table-header-column po-text-center\">\n <ng-container *ngIf=\"height; then noColumnsWithHeight; else noColumnsWithoutHeight\"> </ng-container>\n </th>\n\n <th\n *ngFor=\"let column of mainColumns; let i = index; trackBy: trackBy\"\n #headersTable\n class=\"po-table-header-ellipsis\"\n [style.width]=\"column.width\"\n [style.max-width]=\"column.width\"\n [style.min-width]=\"column.width\"\n [class.po-clickable]=\"sort || hasService\"\n [class.po-table-header-subtitle]=\"column.type === 'subtitle'\"\n (click)=\"sortColumn(column)\"\n >\n <div\n class=\"po-table-header-flex\"\n [class.po-table-header-fixed-inner]=\"height\"\n [class.po-table-header-flex-right]=\"column.type === 'currency' || column.type === 'number'\"\n [class.po-table-header-flex-center]=\"column.type === 'subtitle'\"\n >\n <ng-container *ngTemplateOutlet=\"contentHeaderTemplate; context: { $implicit: column }\"> </ng-container>\n </div>\n </th>\n\n <th\n *ngIf=\"hasRowTemplateWithArrowDirectionRight && (hasVisibleActions || hideColumnsManager)\"\n class=\"po-table-header-column po-table-header-master-detail\"\n ></th>\n\n <th\n *ngIf=\"hasVisibleActions && hideColumnsManager\"\n [class.po-table-header-single-action]=\"isSingleAction\"\n [class.po-table-header-actions]=\"!isSingleAction\"\n ></th>\n\n <th\n #columnManager\n *ngIf=\"hasValidColumns && !hideColumnsManager\"\n [class.po-table-header-column-manager]=\"!isSingleAction\"\n [class.po-table-header-column-manager-border]=\"!height && container\"\n [class.po-table-header-single-action]=\"isSingleAction\"\n >\n <div\n [class.po-table-header-column-manager-border]=\"height && container\"\n [class.po-table-header-column-manager-fixed-inner]=\"height\"\n [style.width.px]=\"height && visibleActions.length ? columnManager.offsetWidth : undefined\"\n >\n <button\n #columnManagerTarget\n class=\"po-table-header-column-manager-button po-icon po-icon-settings po-clickable\"\n p-tooltip-position=\"left\"\n [p-tooltip]=\"literals.columnsManager\"\n (click)=\"onOpenColumnManager()\"\n ></button>\n </div>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"po-table-group-row\" *ngIf=\"!hasItems || !hasMainColumns\">\n <tr class=\"po-table-row\">\n <td [colSpan]=\"columnCount\" class=\"po-table-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </td>\n </tr>\n </tbody>\n\n <ng-container *ngIf=\"hasMainColumns\">\n <tbody class=\"po-table-group-row\" *ngFor=\"let row of items; let rowIndex = index; trackBy: trackBy\">\n <tr class=\"po-table-row\" [class.po-table-row-active]=\"row.$selected || (row.$selected === null && selectable)\">\n <td *ngIf=\"selectable\" class=\"po-table-column po-table-column-selectable\">\n <ng-container *ngTemplateOutlet=\"singleSelect ? inputRadio : inputCheckbox; context: { $implicit: row }\">\n </ng-container>\n </td>\n\n <!-- Valida se a origem do detail \u00E9 pelo input do po-table -->\n <td\n *ngIf=\"columnMasterDetail && !hideDetail && !hasRowTemplate\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <!-- Valida se a origem do detail \u00E9 pela diretiva -->\n <td\n *ngIf=\"hasRowTemplate && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <td\n *ngFor=\"let column of mainColumns; let columnIndex = index; trackBy: trackBy\"\n [style.width]=\"column.width\"\n [style.max-width]=\"column.width\"\n [style.min-width]=\"column.width\"\n [class.po-table-column]=\"column.type !== 'icon'\"\n [class.po-table-column-right]=\"column.type === 'currency' || column.type === 'number'\"\n [class.po-table-column-center]=\"column.type === 'subtitle'\"\n [class.po-table-column-icons]=\"column.type === 'icon'\"\n [ngClass]=\"getClassColor(row, column)\"\n (click)=\"selectable ? selectRow(row) : 'javascript:;'\"\n >\n <div\n class=\"po-table-column-cell notranslate\"\n [class.po-table-body-ellipsis]=\"hideTextOverflow\"\n [ngSwitch]=\"column.type\"\n [p-tooltip]=\"tooltipText\"\n (mouseenter)=\"tooltipMouseEnter($event, column, row)\"\n (mouseleave)=\"tooltipMouseLeave()\"\n >\n <span *ngSwitchCase=\"'columnTemplate'\">\n <ng-container *ngTemplateOutlet=\"getTemplate(column); context: { $implicit: row[column.property] }\">\n </ng-container>\n </span>\n\n <span *ngSwitchCase=\"'cellTemplate'\">\n <ng-container *ngTemplateOutlet=\"tableCellTemplate?.templateRef; context: { row: row, column: column }\">\n </ng-container>\n </span>\n\n <span *ngSwitchCase=\"'boolean'\">\n {{ getBooleanLabel(row[column.property], column) }}\n </span>\n\n <span *ngSwitchCase=\"'currency'\">\n {{ row[column.property] | currency: column.format:'symbol':'1.2-2' }}\n </span>\n\n <span *ngSwitchCase=\"'date'\">\n {{ row[column.property] | date: column.format || 'dd/MM/yyyy' }}\n </span>\n\n <span *ngSwitchCase=\"'time'\">\n {{ row[column.property] | po_time: column.format || 'HH:mm:ss.ffffff' }}\n </span>\n\n <span *ngSwitchCase=\"'dateTime'\">\n {{ row[column.property] | date: column.format || 'dd/MM/yyyy HH:mm:ss' }}\n </span>\n\n <span *ngSwitchCase=\"'number'\">\n {{ formatNumber(row[column.property], column.format) }}\n </span>\n\n <po-table-column-link\n *ngSwitchCase=\"'link'\"\n [p-action]=\"column.action\"\n [p-disabled]=\"checkDisabled(row, column)\"\n [p-link]=\"row[column.link]\"\n [p-row]=\"row\"\n [p-value]=\"row[column.property]\"\n (click)=\"onClickLink($event, row, column)\"\n >\n </po-table-column-link>\n\n <po-table-column-icon\n *ngSwitchCase=\"'icon'\"\n [p-column]=\"column\"\n [p-icons]=\"getColumnIcons(row, column)\"\n [p-row]=\"row\"\n >\n </po-table-column-icon>\n\n <span *ngSwitchCase=\"'subtitle'\">\n <po-table-subtitle-circle [p-subtitle]=\"getSubtitleColumn(row, column)\"></po-table-subtitle-circle>\n </span>\n <span *ngSwitchCase=\"'label'\">\n <po-table-column-label [p-value]=\"getColumnLabel(row, column)\"></po-table-column-label>\n </span>\n <span *ngSwitchDefault>{{ row[column.property] }}</span>\n </div>\n </td>\n\n <td\n *ngIf=\"hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <td *ngIf=\"isSingleAction\" class=\"po-table-column po-table-column-single-action\">\n <div\n *ngIf=\"firstAction.visible !== false\"\n class=\"po-table-single-action po-clickable\"\n [class.po-table-action-disabled]=\"firstAction.disabled ? validateTableAction(row, firstAction) : false\"\n (click)=\"executeTableAction(row, firstAction)\"\n >\n <po-icon\n *ngIf=\"firstAction.icon\"\n class=\"po-table-single-action-content\"\n [p-icon]=\"firstAction.icon\"\n ></po-icon>\n {{ firstAction.label }}\n </div>\n </td>\n\n <td *ngIf=\"visibleActions.length > 1\" class=\"po-table-column-actions\">\n <span #popupTarget class=\"po-icon po-icon-more po-clickable\" (click)=\"togglePopup(row, popupTarget)\"></span>\n </td>\n <!-- Column Manager -->\n <td\n *ngIf=\"!hasVisibleActions && !hideColumnsManager && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column\"\n ></td>\n </tr>\n\n <tr *ngIf=\"hasMainColumns && hasRowTemplate && row.$showDetail && isShowRowTemplate(row, rowIndex)\">\n <td class=\"po-table-row-template-container\" [colSpan]=\"columnCountForMasterDetail\">\n <ng-template\n [ngTemplateOutlet]=\"tableRowTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n </tr>\n\n <tr *ngIf=\"hasMainColumns && isShowMasterDetail(row)\">\n <td class=\"po-table-column-detail\" [colSpan]=\"columnCountForMasterDetail\">\n <po-table-detail\n [p-selectable]=\"selectable && !detailHideSelect\"\n [p-detail]=\"columnMasterDetail.detail\"\n [p-items]=\"row[nameColumnDetail]\"\n (p-select-row)=\"selectDetailRow($event)\"\n >\n </po-table-detail>\n </td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n</ng-template>\n\n<po-popup #popup [p-actions]=\"actions\" [p-target]=\"popupTarget\"> </po-popup>\n\n<ng-template #poTableColumnDetail let-row=\"row\" let-rowIndex=\"rowIndex\">\n <span\n *ngIf=\"(containsMasterDetail(row) && !hasRowTemplate) || (isShowRowTemplate(row, rowIndex) && hasRowTemplate)\"\n class=\"po-icon po-clickable\"\n [class.po-icon-arrow-up]=\"row.$showDetail\"\n [class.po-icon-arrow-down]=\"!row.$showDetail\"\n >\n </span>\n</ng-template>\n\n<ng-template #inputRadio let-row>\n <input type=\"radio\" class=\"po-table-radio\" [class.po-table-radio-checked]=\"row.$selected\" />\n <label class=\"po-table-radio-label po-clickable\" (click)=\"selectable ? selectRow(row) : 'javascript:;'\"></label>\n</ng-template>\n\n<ng-template #inputCheckbox let-row>\n <input type=\"checkbox\" class=\"po-table-checkbox\" [class.po-table-checkbox-checked]=\"row.$selected\" />\n <label class=\"po-table-checkbox-label po-clickable\" (click)=\"selectable ? selectRow(row) : 'javascript:;'\"></label>\n</ng-template>\n\n<ng-template #contentHeaderTemplate let-column>\n <span\n #columnHeader\n class=\"po-table-header-ellipsis\"\n [p-tooltip]=\"tooltipText\"\n (mouseenter)=\"tooltipMouseEnter($event)\"\n (mouseleave)=\"tooltipMouseLeave()\"\n >\n {{ column.label || (column.property | titlecase) }}\n </span>\n <span\n *ngIf=\"sort\"\n [class.po-table-header-icon-unselected]=\"sortedColumn?.property !== column\"\n [class.po-table-header-icon-descending]=\"sortedColumn?.property === column && sortedColumn.ascending\"\n [class.po-table-header-icon-ascending]=\"sortedColumn?.property === column && !sortedColumn.ascending\"\n >\n </span>\n</ng-template>\n\n<ng-template #noColumnsWithHeight>\n <div class=\"po-table-header-fixed-inner\" [style.width.px]=\"noColumnsHeader?.nativeElement.offsetWidth\">\n {{ hasValidColumns ? literals.noVisibleColumn : literals.noColumns }}\n </div>\n</ng-template>\n\n<ng-template #noColumnsWithoutHeight>\n {{ hasValidColumns ? literals.noVisibleColumn : literals.noColumns }}\n</ng-template>\n\n<po-table-column-manager\n *ngIf=\"!hideColumnsManager\"\n [p-columns]=\"columns\"\n [p-max-columns]=\"maxColumns\"\n [p-target]=\"columnManagerTarget\"\n [p-last-visible-columns-selected]=\"lastVisibleColumnsSelected\"\n (p-visible-columns-change)=\"onVisibleColumnsChange($event)\"\n (p-change-visible-columns)=\"onChangeVisibleColumns($event)\"\n>\n</po-table-column-manager>\n",
|
|
14853
|
+
template: "<po-container *ngIf=\"container; else tableContainerTemplate\" p-no-padding [p-no-shadow]=\"container === 'border'\">\n <ng-container *ngTemplateOutlet=\"tableContainerTemplate\"></ng-container>\n</po-container>\n\n<ng-template #tableContainerTemplate>\n <div [class.po-table-container-relative]=\"loading\">\n <div *ngIf=\"loading\" class=\"po-table-overlay\">\n <po-loading class=\"po-table-overlay-content\" [p-text]=\"literals.loadingData\"></po-loading>\n </div>\n\n <div class=\"po-table-main-container\">\n <div\n #tableWrapper\n class=\"po-table-wrapper\"\n [class.po-table-header-fixed-columns-pixels]=\"allColumnsWidthPixels\"\n [style.opacity]=\"tableOpacity\"\n >\n <div *ngIf=\"height\" class=\"po-table-container\" [style.height.px]=\"heightTableContainer\">\n <div class=\"po-table-header-fixed po-table-header\"></div>\n <div #poTableTbody class=\"po-table-container-fixed-inner\">\n <ng-container *ngTemplateOutlet=\"tableTemplate\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"!height\">\n <ng-container *ngTemplateOutlet=\"tableTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"po-table-footer\" *ngIf=\"hasFooter\">\n <ng-container *ngFor=\"let column of subtitleColumns; trackBy: trackBy\">\n <po-table-subtitle-footer [p-literals]=\"literals\" [p-subtitles]=\"column.subtitles\"> </po-table-subtitle-footer>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n *ngIf=\"!infiniteScroll\"\n class=\"po-row po-table-footer-show-more\"\n [class.po-invisible]=\"showMore.observers.length === 0 && !hasService\"\n #tableFooter\n>\n <po-button\n class=\"po-offset-xl-4 po-offset-lg-4 po-offset-md-3 po-lg-4 po-md-6\"\n [p-disabled]=\"showMoreDisabled\"\n [p-label]=\"literals.loadMoreData\"\n [p-loading]=\"loadingShowMore\"\n (p-click)=\"onShowMore()\"\n >\n </po-button>\n</div>\n\n<ng-template #tableTemplate>\n <table class=\"po-table\" [class.po-table-striped]=\"striped\" [class.po-table-layout-fixed]=\"hideTextOverflow\">\n <thead>\n <tr [class.po-table-header]=\"!height\">\n <th *ngIf=\"hasSelectableColumn\" class=\"po-table-column-selectable\">\n <div [class.po-table-header-fixed-inner]=\"height\">\n <input\n *ngIf=\"!hideSelectAll\"\n type=\"checkbox\"\n class=\"po-table-checkbox\"\n [class.po-table-checkbox-checked]=\"selectAll\"\n [class.po-table-checkbox-indeterminate]=\"selectAll === null\"\n />\n <label *ngIf=\"!hideSelectAll\" class=\"po-table-checkbox-label po-clickable\" (click)=\"selectAllRows()\">\n </label>\n </div>\n </th>\n\n <th\n *ngIf=\"(hasMasterDetailColumn || hasRowTemplate) && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-header-column po-table-header-master-detail\"\n ></th>\n\n <th *ngIf=\"!hasMainColumns\" #noColumnsHeader class=\"po-table-header-column po-text-center\">\n <ng-container *ngIf=\"height; then noColumnsWithHeight; else noColumnsWithoutHeight\"> </ng-container>\n </th>\n\n <th\n *ngFor=\"let column of mainColumns; let i = index; trackBy: trackBy\"\n #headersTable\n class=\"po-table-header-ellipsis\"\n [style.width]=\"column.width\"\n [style.max-width]=\"column.width\"\n [style.min-width]=\"column.width\"\n [class.po-clickable]=\"(sort && column.sortable !== false) || hasService\"\n [class.po-table-header-subtitle]=\"column.type === 'subtitle'\"\n (click)=\"sortColumn(column)\"\n >\n <div\n class=\"po-table-header-flex\"\n [class.po-table-header-fixed-inner]=\"height\"\n [class.po-table-header-flex-right]=\"column.type === 'currency' || column.type === 'number'\"\n [class.po-table-header-flex-center]=\"column.type === 'subtitle'\"\n >\n <ng-container *ngTemplateOutlet=\"contentHeaderTemplate; context: { $implicit: column }\"> </ng-container>\n </div>\n </th>\n\n <th\n *ngIf=\"hasRowTemplateWithArrowDirectionRight && (hasVisibleActions || hideColumnsManager)\"\n class=\"po-table-header-column po-table-header-master-detail\"\n ></th>\n\n <th\n *ngIf=\"hasVisibleActions && hideColumnsManager\"\n [class.po-table-header-single-action]=\"isSingleAction\"\n [class.po-table-header-actions]=\"!isSingleAction\"\n ></th>\n\n <th\n #columnManager\n *ngIf=\"hasValidColumns && !hideColumnsManager\"\n [class.po-table-header-column-manager]=\"!isSingleAction\"\n [class.po-table-header-column-manager-border]=\"!height && container\"\n [class.po-table-header-single-action]=\"isSingleAction\"\n >\n <div\n [class.po-table-header-column-manager-border]=\"height && container\"\n [class.po-table-header-column-manager-fixed-inner]=\"height\"\n [style.width.px]=\"height && visibleActions.length ? columnManager.offsetWidth : undefined\"\n >\n <button\n #columnManagerTarget\n class=\"po-table-header-column-manager-button po-icon po-icon-settings po-clickable\"\n p-tooltip-position=\"left\"\n [p-tooltip]=\"literals.columnsManager\"\n (click)=\"onOpenColumnManager()\"\n ></button>\n </div>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"po-table-group-row\" *ngIf=\"!hasItems || !hasMainColumns\">\n <tr class=\"po-table-row\">\n <td [colSpan]=\"columnCount\" class=\"po-table-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </td>\n </tr>\n </tbody>\n\n <ng-container *ngIf=\"hasMainColumns\">\n <tbody class=\"po-table-group-row\" *ngFor=\"let row of items; let rowIndex = index; trackBy: trackBy\">\n <tr class=\"po-table-row\" [class.po-table-row-active]=\"row.$selected || (row.$selected === null && selectable)\">\n <td *ngIf=\"selectable\" class=\"po-table-column po-table-column-selectable\">\n <ng-container *ngTemplateOutlet=\"singleSelect ? inputRadio : inputCheckbox; context: { $implicit: row }\">\n </ng-container>\n </td>\n\n <!-- Valida se a origem do detail \u00E9 pelo input do po-table -->\n <td\n *ngIf=\"columnMasterDetail && !hideDetail && !hasRowTemplate\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <!-- Valida se a origem do detail \u00E9 pela diretiva -->\n <td\n *ngIf=\"hasRowTemplate && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <td\n *ngFor=\"let column of mainColumns; let columnIndex = index; trackBy: trackBy\"\n [style.width]=\"column.width\"\n [style.max-width]=\"column.width\"\n [style.min-width]=\"column.width\"\n [class.po-table-column]=\"column.type !== 'icon'\"\n [class.po-table-column-right]=\"column.type === 'currency' || column.type === 'number'\"\n [class.po-table-column-center]=\"column.type === 'subtitle'\"\n [class.po-table-column-icons]=\"column.type === 'icon'\"\n [ngClass]=\"getClassColor(row, column)\"\n (click)=\"selectable ? selectRow(row) : 'javascript:;'\"\n >\n <div\n class=\"po-table-column-cell notranslate\"\n [class.po-table-body-ellipsis]=\"hideTextOverflow\"\n [ngSwitch]=\"column.type\"\n [p-tooltip]=\"tooltipText\"\n (mouseenter)=\"tooltipMouseEnter($event, column, row)\"\n (mouseleave)=\"tooltipMouseLeave()\"\n >\n <span *ngSwitchCase=\"'columnTemplate'\">\n <ng-container *ngTemplateOutlet=\"getTemplate(column); context: { $implicit: row[column.property] }\">\n </ng-container>\n </span>\n\n <span *ngSwitchCase=\"'cellTemplate'\">\n <ng-container *ngTemplateOutlet=\"tableCellTemplate?.templateRef; context: { row: row, column: column }\">\n </ng-container>\n </span>\n\n <span *ngSwitchCase=\"'boolean'\">\n {{ getBooleanLabel(row[column.property], column) }}\n </span>\n\n <span *ngSwitchCase=\"'currency'\">\n {{ row[column.property] | currency: column.format:'symbol':'1.2-2' }}\n </span>\n\n <span *ngSwitchCase=\"'date'\">\n {{ row[column.property] | date: column.format || 'dd/MM/yyyy' }}\n </span>\n\n <span *ngSwitchCase=\"'time'\">\n {{ row[column.property] | po_time: column.format || 'HH:mm:ss.ffffff' }}\n </span>\n\n <span *ngSwitchCase=\"'dateTime'\">\n {{ row[column.property] | date: column.format || 'dd/MM/yyyy HH:mm:ss' }}\n </span>\n\n <span *ngSwitchCase=\"'number'\">\n {{ formatNumber(row[column.property], column.format) }}\n </span>\n\n <po-table-column-link\n *ngSwitchCase=\"'link'\"\n [p-action]=\"column.action\"\n [p-disabled]=\"checkDisabled(row, column)\"\n [p-link]=\"row[column.link]\"\n [p-row]=\"row\"\n [p-value]=\"row[column.property]\"\n (click)=\"onClickLink($event, row, column)\"\n >\n </po-table-column-link>\n\n <po-table-column-icon\n *ngSwitchCase=\"'icon'\"\n [p-column]=\"column\"\n [p-icons]=\"getColumnIcons(row, column)\"\n [p-row]=\"row\"\n >\n </po-table-column-icon>\n\n <span *ngSwitchCase=\"'subtitle'\">\n <po-table-subtitle-circle [p-subtitle]=\"getSubtitleColumn(row, column)\"></po-table-subtitle-circle>\n </span>\n <span *ngSwitchCase=\"'label'\">\n <po-table-column-label [p-value]=\"getColumnLabel(row, column)\"></po-table-column-label>\n </span>\n <span *ngSwitchDefault>{{ row[column.property] }}</span>\n </div>\n </td>\n\n <td\n *ngIf=\"hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <td *ngIf=\"isSingleAction\" class=\"po-table-column po-table-column-single-action\">\n <div\n *ngIf=\"firstAction.visible !== false\"\n class=\"po-table-single-action po-clickable\"\n [class.po-table-action-disabled]=\"firstAction.disabled ? validateTableAction(row, firstAction) : false\"\n (click)=\"executeTableAction(row, firstAction)\"\n >\n <po-icon\n *ngIf=\"firstAction.icon\"\n class=\"po-table-single-action-content\"\n [p-icon]=\"firstAction.icon\"\n ></po-icon>\n {{ firstAction.label }}\n </div>\n </td>\n\n <td *ngIf=\"visibleActions.length > 1\" class=\"po-table-column-actions\">\n <span #popupTarget class=\"po-icon po-icon-more po-clickable\" (click)=\"togglePopup(row, popupTarget)\"></span>\n </td>\n <!-- Column Manager -->\n <td\n *ngIf=\"!hasVisibleActions && !hideColumnsManager && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column\"\n ></td>\n </tr>\n\n <tr *ngIf=\"hasMainColumns && hasRowTemplate && row.$showDetail && isShowRowTemplate(row, rowIndex)\">\n <td class=\"po-table-row-template-container\" [colSpan]=\"columnCountForMasterDetail\">\n <ng-template\n [ngTemplateOutlet]=\"tableRowTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n </tr>\n\n <tr *ngIf=\"hasMainColumns && isShowMasterDetail(row)\">\n <td class=\"po-table-column-detail\" [colSpan]=\"columnCountForMasterDetail\">\n <po-table-detail\n [p-selectable]=\"selectable && !detailHideSelect\"\n [p-detail]=\"columnMasterDetail.detail\"\n [p-items]=\"row[nameColumnDetail]\"\n (p-select-row)=\"selectDetailRow($event)\"\n >\n </po-table-detail>\n </td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n</ng-template>\n\n<po-popup #popup [p-actions]=\"actions\" [p-target]=\"popupTarget\"> </po-popup>\n\n<ng-template #poTableColumnDetail let-row=\"row\" let-rowIndex=\"rowIndex\">\n <span\n *ngIf=\"(containsMasterDetail(row) && !hasRowTemplate) || (isShowRowTemplate(row, rowIndex) && hasRowTemplate)\"\n class=\"po-icon po-clickable\"\n [class.po-icon-arrow-up]=\"row.$showDetail\"\n [class.po-icon-arrow-down]=\"!row.$showDetail\"\n >\n </span>\n</ng-template>\n\n<ng-template #inputRadio let-row>\n <input type=\"radio\" class=\"po-table-radio\" [class.po-table-radio-checked]=\"row.$selected\" />\n <label class=\"po-table-radio-label po-clickable\" (click)=\"selectable ? selectRow(row) : 'javascript:;'\"></label>\n</ng-template>\n\n<ng-template #inputCheckbox let-row>\n <input type=\"checkbox\" class=\"po-table-checkbox\" [class.po-table-checkbox-checked]=\"row.$selected\" />\n <label class=\"po-table-checkbox-label po-clickable\" (click)=\"selectable ? selectRow(row) : 'javascript:;'\"></label>\n</ng-template>\n\n<ng-template #contentHeaderTemplate let-column>\n <span\n #columnHeader\n class=\"po-table-header-ellipsis\"\n [p-tooltip]=\"tooltipText\"\n (mouseenter)=\"tooltipMouseEnter($event)\"\n (mouseleave)=\"tooltipMouseLeave()\"\n >\n {{ column.label || (column.property | titlecase) }}\n </span>\n <span\n *ngIf=\"sort && column.sortable !== false\"\n [class.po-table-header-icon-unselected]=\"sortedColumn?.property !== column\"\n [class.po-table-header-icon-descending]=\"sortedColumn?.property === column && sortedColumn.ascending\"\n [class.po-table-header-icon-ascending]=\"sortedColumn?.property === column && !sortedColumn.ascending\"\n >\n </span>\n</ng-template>\n\n<ng-template #noColumnsWithHeight>\n <div class=\"po-table-header-fixed-inner\" [style.width.px]=\"noColumnsHeader?.nativeElement.offsetWidth\">\n {{ hasValidColumns ? literals.noVisibleColumn : literals.noColumns }}\n </div>\n</ng-template>\n\n<ng-template #noColumnsWithoutHeight>\n {{ hasValidColumns ? literals.noVisibleColumn : literals.noColumns }}\n</ng-template>\n\n<po-table-column-manager\n *ngIf=\"!hideColumnsManager\"\n [p-columns]=\"columns\"\n [p-max-columns]=\"maxColumns\"\n [p-target]=\"columnManagerTarget\"\n [p-last-visible-columns-selected]=\"lastVisibleColumnsSelected\"\n (p-visible-columns-change)=\"onVisibleColumnsChange($event)\"\n (p-change-visible-columns)=\"onChangeVisibleColumns($event)\"\n>\n</po-table-column-manager>\n",
|
|
14825
14854
|
providers: [PoDateService]
|
|
14826
14855
|
},] }
|
|
14827
14856
|
];
|
|
@@ -20852,6 +20881,8 @@
|
|
|
20852
20881
|
})(exports.PoMultiselectFilterMode || (exports.PoMultiselectFilterMode = {}));
|
|
20853
20882
|
|
|
20854
20883
|
var PO_MULTISELECT_DEBOUNCE_TIME_DEFAULT = 400;
|
|
20884
|
+
var PO_MULTISELECT_FIELD_LABEL_DEFAULT = 'label';
|
|
20885
|
+
var PO_MULTISELECT_FIELD_VALUE_DEFAULT = 'value';
|
|
20855
20886
|
var poMultiselectLiteralsDefault = {
|
|
20856
20887
|
en: {
|
|
20857
20888
|
noData: 'No data found',
|
|
@@ -20933,6 +20964,8 @@
|
|
|
20933
20964
|
this._required = false;
|
|
20934
20965
|
this._sort = false;
|
|
20935
20966
|
this._autoHeight = false;
|
|
20967
|
+
this._fieldLabel = PO_MULTISELECT_FIELD_LABEL_DEFAULT;
|
|
20968
|
+
this._fieldValue = PO_MULTISELECT_FIELD_VALUE_DEFAULT;
|
|
20936
20969
|
this.language = languageService.getShortLanguage();
|
|
20937
20970
|
}
|
|
20938
20971
|
Object.defineProperty(PoMultiselectBaseComponent.prototype, "filterService", {
|
|
@@ -20943,9 +20976,28 @@
|
|
|
20943
20976
|
* @optional
|
|
20944
20977
|
*
|
|
20945
20978
|
* @description
|
|
20946
|
-
* Nesta propriedade
|
|
20979
|
+
* Nesta propriedade pode ser informada a URL do serviço em que será realizado o filtro para carregamento da lista de itens no componente.
|
|
20980
|
+
*
|
|
20981
|
+
*Também existe a possibilidade de informar um serviço implementando a interface `PoMultiselectFilter`.
|
|
20982
|
+
*
|
|
20983
|
+
*Caso utilizado uma URL, o serviço deve ser retornado no padrão [API PO UI](https://po-ui.io/guides/api) e utilizar as propriedades `p-field-label` e `p-field-value` para a construção da lista de itens.
|
|
20984
|
+
*
|
|
20985
|
+
*Quando utilizada uma URL de serviço, então será concatenada nesta URL o valor que deseja-se filtrar da seguinte forma:
|
|
20986
|
+
*
|
|
20987
|
+
*```
|
|
20988
|
+
* // caso filtrar por "Peter"
|
|
20989
|
+
* https://localhost:8080/api/heroes?filter=Peter
|
|
20990
|
+
*```
|
|
20991
|
+
*
|
|
20992
|
+
*E caso iniciar o campo com valor, os itens serão buscados da seguinte forma:
|
|
20993
|
+
*
|
|
20994
|
+
*```
|
|
20995
|
+
* // caso o valor do campo for [1234, 5678];
|
|
20996
|
+
* https://localhost:8080/api/heroes?value=1234,5678
|
|
20997
|
+
*
|
|
20998
|
+
* //O *value* é referente ao `fieldValue`.
|
|
20999
|
+
*```
|
|
20947
21000
|
*
|
|
20948
|
-
* > Definirá por padrão a propriedade `p-auto-height` como `true`, mas a mesma pode ser redefinida caso necessário.
|
|
20949
21001
|
*/
|
|
20950
21002
|
set: function (value) {
|
|
20951
21003
|
this._filterService = value;
|
|
@@ -21189,15 +21241,76 @@
|
|
|
21189
21241
|
enumerable: false,
|
|
21190
21242
|
configurable: true
|
|
21191
21243
|
});
|
|
21244
|
+
Object.defineProperty(PoMultiselectBaseComponent.prototype, "fieldLabel", {
|
|
21245
|
+
get: function () {
|
|
21246
|
+
return this._fieldLabel;
|
|
21247
|
+
},
|
|
21248
|
+
/**
|
|
21249
|
+
* @optional
|
|
21250
|
+
*
|
|
21251
|
+
* @description
|
|
21252
|
+
* Deve ser informado o nome da propriedade do objeto que será utilizado para a conversão dos itens apresentados na lista do componente
|
|
21253
|
+
* (`p-options`), esta propriedade será responsável pelo texto de apresentação de cada item da lista.
|
|
21254
|
+
*
|
|
21255
|
+
* Necessário quando informar o serviço como URL e o mesmo não estiver retornando uma lista de objetos no padrão da interface
|
|
21256
|
+
* `PoMultiSelectOption`.
|
|
21257
|
+
*
|
|
21258
|
+
* @default `label`
|
|
21259
|
+
*/
|
|
21260
|
+
set: function (value) {
|
|
21261
|
+
this._fieldLabel = value || PO_MULTISELECT_FIELD_LABEL_DEFAULT;
|
|
21262
|
+
if (isTypeof(this.filterService, 'string') && this.service) {
|
|
21263
|
+
this.service.fieldLabel = this._fieldLabel;
|
|
21264
|
+
}
|
|
21265
|
+
},
|
|
21266
|
+
enumerable: false,
|
|
21267
|
+
configurable: true
|
|
21268
|
+
});
|
|
21269
|
+
Object.defineProperty(PoMultiselectBaseComponent.prototype, "fieldValue", {
|
|
21270
|
+
get: function () {
|
|
21271
|
+
return this._fieldValue;
|
|
21272
|
+
},
|
|
21273
|
+
/**
|
|
21274
|
+
* @optional
|
|
21275
|
+
*
|
|
21276
|
+
* @description
|
|
21277
|
+
* Deve ser informado o nome da propriedade do objeto que será utilizado para a conversão dos itens apresentados na lista do componente
|
|
21278
|
+
* (`p-options`), esta propriedade será responsável pelo valor de cada item da lista.
|
|
21279
|
+
*
|
|
21280
|
+
* Necessário quando informar o serviço como URL e o mesmo não estiver retornando uma lista de objetos no padrão da interface
|
|
21281
|
+
* `PoMultiSelectOption`.
|
|
21282
|
+
*
|
|
21283
|
+
* @default `value`
|
|
21284
|
+
*/
|
|
21285
|
+
set: function (value) {
|
|
21286
|
+
this._fieldValue = value || PO_MULTISELECT_FIELD_VALUE_DEFAULT;
|
|
21287
|
+
if (isTypeof(this.filterService, 'string') && this.service) {
|
|
21288
|
+
this.service.fieldValue = this._fieldValue;
|
|
21289
|
+
}
|
|
21290
|
+
},
|
|
21291
|
+
enumerable: false,
|
|
21292
|
+
configurable: true
|
|
21293
|
+
});
|
|
21192
21294
|
PoMultiselectBaseComponent.prototype.ngOnInit = function () {
|
|
21193
21295
|
var _this = this;
|
|
21194
21296
|
if (this.filterService) {
|
|
21195
|
-
this.
|
|
21196
|
-
.pipe(operators.debounceTime(this.debounceTime), operators.distinctUntilChanged(), operators.tap(function () { return (_this.isServerSearching = true); }), operators.switchMap(function (search) { return _this.applyFilter(search); }), operators.tap(function () { return (_this.isServerSearching = false); }))
|
|
21197
|
-
.subscribe();
|
|
21297
|
+
this.setService(this.filterService);
|
|
21198
21298
|
}
|
|
21299
|
+
this.filterSubject
|
|
21300
|
+
.pipe(operators.debounceTime(this.debounceTime), operators.distinctUntilChanged(), operators.tap(function () { return (_this.isServerSearching = true); }), operators.switchMap(function (search) { return _this.applyFilter(search); }), operators.tap(function () { return (_this.isServerSearching = false); }))
|
|
21301
|
+
.subscribe();
|
|
21199
21302
|
this.updateList(this.options);
|
|
21200
21303
|
};
|
|
21304
|
+
PoMultiselectBaseComponent.prototype.setService = function (service) {
|
|
21305
|
+
if (isTypeof(service, 'object')) {
|
|
21306
|
+
this.service = service;
|
|
21307
|
+
}
|
|
21308
|
+
else {
|
|
21309
|
+
this.service = this.defaultService;
|
|
21310
|
+
this.service.configProperties(service, this.fieldLabel, this.fieldValue);
|
|
21311
|
+
}
|
|
21312
|
+
this.isFirstFilter = true;
|
|
21313
|
+
};
|
|
21201
21314
|
PoMultiselectBaseComponent.prototype.validAndSortOptions = function () {
|
|
21202
21315
|
if (this.options && this.options.length) {
|
|
21203
21316
|
removeUndefinedAndNullOptions(this.options);
|
|
@@ -21301,8 +21414,8 @@
|
|
|
21301
21414
|
PoMultiselectBaseComponent.prototype.writeValue = function (values) {
|
|
21302
21415
|
var _this = this;
|
|
21303
21416
|
values = values || [];
|
|
21304
|
-
if (this.
|
|
21305
|
-
this.getObjectsByValuesSubscription = this.
|
|
21417
|
+
if (this.service && values.length) {
|
|
21418
|
+
this.getObjectsByValuesSubscription = this.service.getObjectsByValues(values).subscribe(function (options) {
|
|
21306
21419
|
_this.updateSelectedOptions(options);
|
|
21307
21420
|
_this.callOnChange(_this.selectedOptions);
|
|
21308
21421
|
});
|
|
@@ -21360,7 +21473,9 @@
|
|
|
21360
21473
|
hideSearch: [{ type: i0.Input, args: ['p-hide-search',] }],
|
|
21361
21474
|
options: [{ type: i0.Input, args: ['p-options',] }],
|
|
21362
21475
|
sort: [{ type: i0.Input, args: ['p-sort',] }],
|
|
21363
|
-
filterMode: [{ type: i0.Input, args: ['p-filter-mode',] }]
|
|
21476
|
+
filterMode: [{ type: i0.Input, args: ['p-filter-mode',] }],
|
|
21477
|
+
fieldLabel: [{ type: i0.Input, args: ['p-field-label',] }],
|
|
21478
|
+
fieldValue: [{ type: i0.Input, args: ['p-field-value',] }]
|
|
21364
21479
|
};
|
|
21365
21480
|
__decorate([
|
|
21366
21481
|
InputBoolean()
|
|
@@ -21369,10 +21484,67 @@
|
|
|
21369
21484
|
InputBoolean()
|
|
21370
21485
|
], PoMultiselectBaseComponent.prototype, "autoHeight", null);
|
|
21371
21486
|
|
|
21487
|
+
var PoMultiselectFilterService = /** @class */ (function () {
|
|
21488
|
+
function PoMultiselectFilterService(http) {
|
|
21489
|
+
this.http = http;
|
|
21490
|
+
this.fieldLabel = 'label';
|
|
21491
|
+
this.fieldValue = 'value';
|
|
21492
|
+
this.messages = [];
|
|
21493
|
+
}
|
|
21494
|
+
Object.defineProperty(PoMultiselectFilterService.prototype, "url", {
|
|
21495
|
+
get: function () {
|
|
21496
|
+
return this._url;
|
|
21497
|
+
},
|
|
21498
|
+
enumerable: false,
|
|
21499
|
+
configurable: true
|
|
21500
|
+
});
|
|
21501
|
+
PoMultiselectFilterService.prototype.getFilteredData = function (_a) {
|
|
21502
|
+
var _this = this;
|
|
21503
|
+
var value = _a.value;
|
|
21504
|
+
var params = value ? { filter: value } : {};
|
|
21505
|
+
return this.http
|
|
21506
|
+
.get(this.url, {
|
|
21507
|
+
params: params
|
|
21508
|
+
})
|
|
21509
|
+
.pipe(operators.map(function (response) { return _this.parseToArrayMultiselectOptions(response['items']); }));
|
|
21510
|
+
};
|
|
21511
|
+
PoMultiselectFilterService.prototype.getObjectsByValues = function (value) {
|
|
21512
|
+
var _this = this;
|
|
21513
|
+
return this.http
|
|
21514
|
+
.get(this.url + "?" + this.fieldValue + "=" + value.toString())
|
|
21515
|
+
.pipe(operators.map(function (response) { return _this.parseToArrayMultiselectOptions(response['items']); }));
|
|
21516
|
+
};
|
|
21517
|
+
PoMultiselectFilterService.prototype.configProperties = function (url, fieldLabel, fieldValue) {
|
|
21518
|
+
this._url = url;
|
|
21519
|
+
this.fieldLabel = fieldLabel;
|
|
21520
|
+
this.fieldValue = fieldValue;
|
|
21521
|
+
};
|
|
21522
|
+
PoMultiselectFilterService.prototype.parseToArrayMultiselectOptions = function (items) {
|
|
21523
|
+
var _this = this;
|
|
21524
|
+
if (items && items.length > 0) {
|
|
21525
|
+
return items.map(function (item) { return _this.parseToMultiselectOption(item); });
|
|
21526
|
+
}
|
|
21527
|
+
return [];
|
|
21528
|
+
};
|
|
21529
|
+
PoMultiselectFilterService.prototype.parseToMultiselectOption = function (item) {
|
|
21530
|
+
var label = item[this.fieldLabel];
|
|
21531
|
+
var value = item[this.fieldValue];
|
|
21532
|
+
return { label: label, value: value };
|
|
21533
|
+
};
|
|
21534
|
+
return PoMultiselectFilterService;
|
|
21535
|
+
}());
|
|
21536
|
+
PoMultiselectFilterService.decorators = [
|
|
21537
|
+
{ type: i0.Injectable }
|
|
21538
|
+
];
|
|
21539
|
+
PoMultiselectFilterService.ctorParameters = function () { return [
|
|
21540
|
+
{ type: i1.HttpClient }
|
|
21541
|
+
]; };
|
|
21542
|
+
|
|
21372
21543
|
var poMultiselectContainerOffset = 8;
|
|
21373
21544
|
var poMultiselectContainerPositionDefault = 'bottom';
|
|
21374
21545
|
/* istanbul ignore next */
|
|
21375
21546
|
var providers$1 = [
|
|
21547
|
+
PoMultiselectFilterService,
|
|
21376
21548
|
PoControlPositionService,
|
|
21377
21549
|
{
|
|
21378
21550
|
provide: forms.NG_VALUE_ACCESSOR,
|
|
@@ -21420,12 +21592,13 @@
|
|
|
21420
21592
|
*/
|
|
21421
21593
|
var PoMultiselectComponent = /** @class */ (function (_super) {
|
|
21422
21594
|
__extends(PoMultiselectComponent, _super);
|
|
21423
|
-
function PoMultiselectComponent(renderer, changeDetector, el, controlPosition, languageService) {
|
|
21595
|
+
function PoMultiselectComponent(renderer, changeDetector, el, controlPosition, defaultService, languageService) {
|
|
21424
21596
|
var _this = _super.call(this, languageService) || this;
|
|
21425
21597
|
_this.renderer = renderer;
|
|
21426
21598
|
_this.changeDetector = changeDetector;
|
|
21427
21599
|
_this.el = el;
|
|
21428
21600
|
_this.controlPosition = controlPosition;
|
|
21601
|
+
_this.defaultService = defaultService;
|
|
21429
21602
|
_this.disclaimerOffset = 0;
|
|
21430
21603
|
_this.dropdownIcon = 'po-icon-arrow-down';
|
|
21431
21604
|
_this.dropdownOpen = false;
|
|
@@ -21443,6 +21616,11 @@
|
|
|
21443
21616
|
}
|
|
21444
21617
|
this.initialized = true;
|
|
21445
21618
|
};
|
|
21619
|
+
PoMultiselectComponent.prototype.ngOnChanges = function (changes) {
|
|
21620
|
+
if (changes.filterService || changes.fieldValue || changes.fieldLabel) {
|
|
21621
|
+
this.setService(this.filterService);
|
|
21622
|
+
}
|
|
21623
|
+
};
|
|
21446
21624
|
PoMultiselectComponent.prototype.ngDoCheck = function () {
|
|
21447
21625
|
var inputWidth = this.inputElement.nativeElement.offsetWidth;
|
|
21448
21626
|
// Permite que os disclaimers sejam calculados na primeira vez que o componente torna-se visível,
|
|
@@ -21625,7 +21803,7 @@
|
|
|
21625
21803
|
var _this = this;
|
|
21626
21804
|
if (value === void 0) { value = ''; }
|
|
21627
21805
|
var param = { property: 'label', value: value };
|
|
21628
|
-
return this.
|
|
21806
|
+
return this.service.getFilteredData(param).pipe(operators.catchError(function (err) {
|
|
21629
21807
|
_this.isServerSearching = false;
|
|
21630
21808
|
return rxjs.of([]);
|
|
21631
21809
|
}), operators.tap(function (options) {
|
|
@@ -21635,7 +21813,10 @@
|
|
|
21635
21813
|
PoMultiselectComponent.prototype.applyFilterInFirstClick = function () {
|
|
21636
21814
|
if (this.isFirstFilter) {
|
|
21637
21815
|
this.isServerSearching = true;
|
|
21638
|
-
|
|
21816
|
+
// necessario enviar um objeto string vazia para refazer a busca, quando alterar filterService, fieldValue e fieldLabel
|
|
21817
|
+
// pois temos o distinctUntilChange no pipe do filterSubject
|
|
21818
|
+
/* eslint-disable no-new-wrappers */
|
|
21819
|
+
this.filterSubject.next(new String());
|
|
21639
21820
|
}
|
|
21640
21821
|
else {
|
|
21641
21822
|
this.options = __spreadArray([], __read(this.cacheOptions));
|
|
@@ -21707,6 +21888,7 @@
|
|
|
21707
21888
|
{ type: i0.ChangeDetectorRef },
|
|
21708
21889
|
{ type: i0.ElementRef },
|
|
21709
21890
|
{ type: PoControlPositionService },
|
|
21891
|
+
{ type: PoMultiselectFilterService },
|
|
21710
21892
|
{ type: PoLanguageService }
|
|
21711
21893
|
]; };
|
|
21712
21894
|
PoMultiselectComponent.propDecorators = {
|
|
@@ -27693,16 +27875,17 @@
|
|
|
27693
27875
|
};
|
|
27694
27876
|
PoDynamicFormFieldsComponent.prototype.onChangeField = function (visibleField, objectValue) {
|
|
27695
27877
|
return __awaiter(this, void 0, void 0, function () {
|
|
27696
|
-
var property, isChangedValueField, _b, changedField, changedFieldIndex;
|
|
27878
|
+
var property, isBooleanType, isChangedValueField, _b, changedField, changedFieldIndex;
|
|
27697
27879
|
return __generator(this, function (_c) {
|
|
27698
27880
|
switch (_c.label) {
|
|
27699
27881
|
case 0:
|
|
27700
27882
|
property = visibleField.property;
|
|
27883
|
+
isBooleanType = visibleField.type === 'boolean';
|
|
27701
27884
|
isChangedValueField = this.previousValue[property] !== this.value[property];
|
|
27702
27885
|
if (visibleField.optionsService) {
|
|
27703
27886
|
this.objectValue.emit(objectValue);
|
|
27704
27887
|
}
|
|
27705
|
-
if (!(this.form.touched && isChangedValueField)) return [3 /*break*/, 3];
|
|
27888
|
+
if (!((this.form.touched || isBooleanType) && isChangedValueField)) return [3 /*break*/, 3];
|
|
27706
27889
|
_b = this.getField(property), changedField = _b.changedField, changedFieldIndex = _b.changedFieldIndex;
|
|
27707
27890
|
if (!changedField.validate) return [3 /*break*/, 2];
|
|
27708
27891
|
return [4 /*yield*/, this.validateField(changedField, changedFieldIndex, visibleField)];
|
|
@@ -36932,7 +37115,11 @@
|
|
|
36932
37115
|
this.closed.emit();
|
|
36933
37116
|
};
|
|
36934
37117
|
PoHttpInterceptorDetailComponent.prototype.formatDetailItemTitle = function (detail) {
|
|
36935
|
-
return detail.
|
|
37118
|
+
return detail.detailTitle
|
|
37119
|
+
? detail.detailTitle
|
|
37120
|
+
: detail.code
|
|
37121
|
+
? detail.code + " - " + detail.message
|
|
37122
|
+
: detail.message;
|
|
36936
37123
|
};
|
|
36937
37124
|
PoHttpInterceptorDetailComponent.prototype.open = function () {
|
|
36938
37125
|
this.modal.open();
|
|
@@ -36947,22 +37134,28 @@
|
|
|
36947
37134
|
return detail.message ? newDetails.concat(this.getValidDetailProperties(detail)) : newDetails;
|
|
36948
37135
|
};
|
|
36949
37136
|
PoHttpInterceptorDetailComponent.prototype.getValidDetailProperties = function (_a) {
|
|
36950
|
-
var code = _a.code, message = _a.message, detailedMessage = _a.detailedMessage, type = _a.type;
|
|
36951
|
-
return
|
|
37137
|
+
var code = _a.code, message = _a.message, detailedMessage = _a.detailedMessage, type = _a.type, detailTitle = _a.detailTitle;
|
|
37138
|
+
return detailTitle
|
|
37139
|
+
? { code: code, message: message, detailedMessage: detailedMessage, type: type, detailTitle: detailTitle }
|
|
37140
|
+
: { code: code, message: message, detailedMessage: detailedMessage, type: type };
|
|
36952
37141
|
};
|
|
36953
37142
|
PoHttpInterceptorDetailComponent.prototype.filterByValidDetails = function (details) {
|
|
36954
37143
|
var _this = this;
|
|
36955
37144
|
return details.reduce(function (newDetails, detail) { return _this.addValidDetail(newDetails, detail); }, []);
|
|
36956
37145
|
};
|
|
36957
37146
|
PoHttpInterceptorDetailComponent.prototype.formatTitle = function (details) {
|
|
36958
|
-
return details.length > 1
|
|
37147
|
+
return details.length > 1
|
|
37148
|
+
? this.literals.details + " (" + details.length + ")"
|
|
37149
|
+
: details.length === 1
|
|
37150
|
+
? this.formatDetailItemTitle(details[0])
|
|
37151
|
+
: this.literals.detail;
|
|
36959
37152
|
};
|
|
36960
37153
|
return PoHttpInterceptorDetailComponent;
|
|
36961
37154
|
}());
|
|
36962
37155
|
PoHttpInterceptorDetailComponent.decorators = [
|
|
36963
37156
|
{ type: i0.Component, args: [{
|
|
36964
37157
|
selector: 'po-http-interceptor-detail',
|
|
36965
|
-
template: "<po-modal p-hide-close p-size=\"lg\" [p-primary-action]=\"primaryAction\" [p-title]=\"title\">\n <div class=\"po-row\">\n <po-accordion class=\"po-md-12 po-mt-1 po-mb-1\">\n <po-accordion-item *ngFor=\"let detail of details\" [p-label]=\"formatDetailItemTitle(detail)\">\n <div *ngIf=\"detail.type\" class=\"po-row po-mb-1\">\n
|
|
37158
|
+
template: "<po-modal p-hide-close p-size=\"lg\" [p-primary-action]=\"primaryAction\" [p-title]=\"title\">\n <div class=\"po-row\">\n <po-accordion class=\"po-md-12 po-mt-1 po-mb-1\" *ngIf=\"details.length > 1; else elseBlock\">\n <po-accordion-item *ngFor=\"let detail of details\" [p-label]=\"formatDetailItemTitle(detail)\">\n <ng-template [ngTemplateOutlet]=\"body\" [ngTemplateOutletContext]=\"{detail}\"></ng-template>\n </po-accordion-item>\n </po-accordion>\n </div>\n</po-modal>\n\n<ng-template #elseBlock>\n <ng-container [ngTemplateOutlet]=\"body\" [ngTemplateOutletContext]=\"{ detail: details[0] || {} }\"></ng-container>\n</ng-template>\n\n<ng-template #body let-detail=\"detail\">\n <div *ngIf=\"detail.type\" class=\"po-row po-mb-1\">\n <po-tag [p-color]=\"typeColor(detail.type)\" [p-value]=\"typeValue(detail.type)\"></po-tag>\n </div>\n\n <p *ngIf=\"detail.detailTitle\">\n <strong>{{ detail.code }}</strong>\n </p>\n\n <div class=\"po-row\">\n <p>{{ detail.detailedMessage }}</p>\n </div>\n</ng-template>\n"
|
|
36966
37159
|
},] }
|
|
36967
37160
|
];
|
|
36968
37161
|
PoHttpInterceptorDetailComponent.ctorParameters = function () { return [
|
|
@@ -37099,6 +37292,7 @@
|
|
|
37099
37292
|
* - Caso for informado, será exibido uma ação de "Ajuda" na notificação, para isso não deverá ter a propriedade `detailedMessage`.
|
|
37100
37293
|
* - `type`: É possível informar `error`, `warning` e `information`, sendo `error` o valor padrão.
|
|
37101
37294
|
* - `details`: Uma lista de objetos de mensagem (recursiva) com mais detalhes sobre a mensagem principal.
|
|
37295
|
+
* - `detailTitle`: caso for informado, será apresentado como título dos detalhes substituindo o padrão `code - message`
|
|
37102
37296
|
*
|
|
37103
37297
|
* > Veja o [Guia de implementação de APIs](guides/api) para mais detalhes sobre a estrutura das mensagens.
|
|
37104
37298
|
*
|
|
@@ -37412,15 +37606,9 @@
|
|
|
37412
37606
|
request = this.requestCloneWithoutHeaderParam([noCountPendingRequests, screenLock], request);
|
|
37413
37607
|
this.setCountPendingRequests(true, requestClone);
|
|
37414
37608
|
this.setCountOverlayRequests(true, requestClone);
|
|
37415
|
-
return next.handle(request).pipe(operators.
|
|
37416
|
-
if (response instanceof i1.HttpResponse) {
|
|
37417
|
-
_this.setCountPendingRequests(false, requestClone);
|
|
37418
|
-
_this.setCountOverlayRequests(false, requestClone);
|
|
37419
|
-
}
|
|
37420
|
-
}), operators.catchError(function (error) {
|
|
37609
|
+
return next.handle(request).pipe(operators.finalize(function () {
|
|
37421
37610
|
_this.setCountPendingRequests(false, requestClone);
|
|
37422
37611
|
_this.setCountOverlayRequests(false, requestClone);
|
|
37423
|
-
return rxjs.throwError(error);
|
|
37424
37612
|
}));
|
|
37425
37613
|
};
|
|
37426
37614
|
PoHttpRequestInterceptorService.prototype.getCountPendingRequests = function () {
|
|
@@ -38486,112 +38674,113 @@
|
|
|
38486
38674
|
exports.ɵdr = PoLookupModalService;
|
|
38487
38675
|
exports.ɵds = PoLookupModalBaseComponent;
|
|
38488
38676
|
exports.ɵdt = PoMultiselectBaseComponent;
|
|
38489
|
-
exports.ɵdu =
|
|
38490
|
-
exports.ɵdv =
|
|
38491
|
-
exports.ɵdw =
|
|
38492
|
-
exports.ɵdx =
|
|
38493
|
-
exports.ɵdy =
|
|
38494
|
-
exports.ɵdz =
|
|
38677
|
+
exports.ɵdu = PoMultiselectFilterService;
|
|
38678
|
+
exports.ɵdv = PoNumberBaseComponent;
|
|
38679
|
+
exports.ɵdw = PoRadioGroupBaseComponent;
|
|
38680
|
+
exports.ɵdx = PoRichTextBaseComponent;
|
|
38681
|
+
exports.ɵdy = PoRichTextService;
|
|
38682
|
+
exports.ɵdz = PoRichTextBodyComponent;
|
|
38495
38683
|
exports.ɵe = PoAvatarBaseComponent;
|
|
38496
|
-
exports.ɵea =
|
|
38497
|
-
exports.ɵeb =
|
|
38498
|
-
exports.ɵec =
|
|
38499
|
-
exports.ɵed =
|
|
38500
|
-
exports.ɵee =
|
|
38501
|
-
exports.ɵef =
|
|
38502
|
-
exports.ɵeg =
|
|
38503
|
-
exports.ɵeh =
|
|
38504
|
-
exports.ɵei =
|
|
38505
|
-
exports.ɵej =
|
|
38506
|
-
exports.ɵek =
|
|
38507
|
-
exports.ɵel =
|
|
38508
|
-
exports.ɵem =
|
|
38509
|
-
exports.ɵen =
|
|
38510
|
-
exports.ɵeo =
|
|
38511
|
-
exports.ɵep =
|
|
38512
|
-
exports.ɵeq =
|
|
38513
|
-
exports.ɵer =
|
|
38514
|
-
exports.ɵes =
|
|
38515
|
-
exports.ɵet =
|
|
38516
|
-
exports.ɵeu =
|
|
38517
|
-
exports.ɵev =
|
|
38518
|
-
exports.ɵew =
|
|
38519
|
-
exports.ɵex =
|
|
38520
|
-
exports.ɵey =
|
|
38521
|
-
exports.ɵez =
|
|
38684
|
+
exports.ɵea = PoSelectBaseComponent;
|
|
38685
|
+
exports.ɵeb = PoSwitchBaseComponent;
|
|
38686
|
+
exports.ɵec = PoTextareaBaseComponent;
|
|
38687
|
+
exports.ɵed = PoUploadBaseComponent;
|
|
38688
|
+
exports.ɵee = PoUploadService;
|
|
38689
|
+
exports.ɵef = PoUploadBaseService;
|
|
38690
|
+
exports.ɵeg = PoUploadDragDropComponent;
|
|
38691
|
+
exports.ɵeh = PoUploadDragDropAreaComponent;
|
|
38692
|
+
exports.ɵei = PoNotificationBaseService;
|
|
38693
|
+
exports.ɵej = PoMultiselectDropdownComponent;
|
|
38694
|
+
exports.ɵek = PoMultiselectItemComponent;
|
|
38695
|
+
exports.ɵel = PoMultiselectSearchComponent;
|
|
38696
|
+
exports.ɵem = PoRichTextImageModalComponent;
|
|
38697
|
+
exports.ɵen = PoRichTextLinkModalComponent;
|
|
38698
|
+
exports.ɵeo = PoRichTextToolbarComponent;
|
|
38699
|
+
exports.ɵep = PoUploadDragDropDirective;
|
|
38700
|
+
exports.ɵeq = PoUploadDragDropAreaOverlayComponent;
|
|
38701
|
+
exports.ɵer = PoUploadFileRestrictionsComponent;
|
|
38702
|
+
exports.ɵes = PoTagBaseComponent;
|
|
38703
|
+
exports.ɵet = PoDynamicFormBaseComponent;
|
|
38704
|
+
exports.ɵeu = PoDynamicFormLoadService;
|
|
38705
|
+
exports.ɵev = PoDynamicFormOperation;
|
|
38706
|
+
exports.ɵew = PoDynamicFormValidationService;
|
|
38707
|
+
exports.ɵex = PoDynamicFormFieldsComponent;
|
|
38708
|
+
exports.ɵey = PoDynamicFormFieldsBaseComponent;
|
|
38709
|
+
exports.ɵez = PoDynamicViewBaseComponent;
|
|
38522
38710
|
exports.ɵf = PoBreadcrumbBaseComponent;
|
|
38523
|
-
exports.ɵfa =
|
|
38524
|
-
exports.ɵfb =
|
|
38525
|
-
exports.ɵfc =
|
|
38526
|
-
exports.ɵfd =
|
|
38527
|
-
exports.ɵfe =
|
|
38528
|
-
exports.ɵff =
|
|
38529
|
-
exports.ɵfg =
|
|
38530
|
-
exports.ɵfh =
|
|
38531
|
-
exports.ɵfi =
|
|
38532
|
-
exports.ɵfj =
|
|
38533
|
-
exports.ɵfk =
|
|
38534
|
-
exports.ɵfl =
|
|
38535
|
-
exports.ɵfm =
|
|
38536
|
-
exports.ɵfn =
|
|
38537
|
-
exports.ɵfo =
|
|
38538
|
-
exports.ɵfp =
|
|
38539
|
-
exports.ɵfq =
|
|
38540
|
-
exports.ɵfr =
|
|
38541
|
-
exports.ɵfs =
|
|
38542
|
-
exports.ɵft =
|
|
38543
|
-
exports.ɵfu =
|
|
38544
|
-
exports.ɵfv =
|
|
38545
|
-
exports.ɵfw =
|
|
38546
|
-
exports.ɵfx =
|
|
38547
|
-
exports.ɵfy =
|
|
38548
|
-
exports.ɵfz =
|
|
38711
|
+
exports.ɵfa = PoDynamicViewService;
|
|
38712
|
+
exports.ɵfb = PoGaugeBaseComponent;
|
|
38713
|
+
exports.ɵfc = PoGaugeTitleComponent;
|
|
38714
|
+
exports.ɵfd = PoGaugeLegendComponent;
|
|
38715
|
+
exports.ɵfe = PoGaugeSvgComponent;
|
|
38716
|
+
exports.ɵff = PoGaugePathComponent;
|
|
38717
|
+
exports.ɵfg = PoGaugeDescriptionComponent;
|
|
38718
|
+
exports.ɵfh = PoGaugePointerComponent;
|
|
38719
|
+
exports.ɵfi = PoGridCellActionComponent;
|
|
38720
|
+
exports.ɵfj = PoGridCellComponent;
|
|
38721
|
+
exports.ɵfk = PoGridHeadComponent;
|
|
38722
|
+
exports.ɵfl = PoListViewBaseComponent;
|
|
38723
|
+
exports.ɵfm = PoBadgeModule;
|
|
38724
|
+
exports.ɵfn = PoBadgeComponent;
|
|
38725
|
+
exports.ɵfo = PoBadgeBaseComponent;
|
|
38726
|
+
exports.ɵfp = PoMenuBaseComponent;
|
|
38727
|
+
exports.ɵfq = PoMenuService;
|
|
38728
|
+
exports.ɵfr = PoMenuItemsService;
|
|
38729
|
+
exports.ɵfs = PoMenuFilterComponent;
|
|
38730
|
+
exports.ɵft = PoMenuItemComponent;
|
|
38731
|
+
exports.ɵfu = PoMenuPanelBaseComponent;
|
|
38732
|
+
exports.ɵfv = PoMenuPanelItemsService;
|
|
38733
|
+
exports.ɵfw = PoMenuPanelItemComponent;
|
|
38734
|
+
exports.ɵfx = PoNavbarActionsModule;
|
|
38735
|
+
exports.ɵfy = PoNavbarActionComponent;
|
|
38736
|
+
exports.ɵfz = PoNavbarActionPopupComponent;
|
|
38549
38737
|
exports.ɵg = PoBreadcrumbDropdownComponent;
|
|
38550
|
-
exports.ɵga =
|
|
38551
|
-
exports.ɵgb =
|
|
38552
|
-
exports.ɵgc =
|
|
38553
|
-
exports.ɵgd =
|
|
38554
|
-
exports.ɵge =
|
|
38555
|
-
exports.ɵgf =
|
|
38556
|
-
exports.ɵgg =
|
|
38557
|
-
exports.ɵgh =
|
|
38558
|
-
exports.ɵgi =
|
|
38559
|
-
exports.ɵgj =
|
|
38560
|
-
exports.ɵgk =
|
|
38561
|
-
exports.ɵgl =
|
|
38562
|
-
exports.ɵgm =
|
|
38563
|
-
exports.ɵgn =
|
|
38564
|
-
exports.ɵgo =
|
|
38565
|
-
exports.ɵgp =
|
|
38566
|
-
exports.ɵgq =
|
|
38567
|
-
exports.ɵgr =
|
|
38568
|
-
exports.ɵgs =
|
|
38569
|
-
exports.ɵgt =
|
|
38570
|
-
exports.ɵgu =
|
|
38571
|
-
exports.ɵgv =
|
|
38572
|
-
exports.ɵgw =
|
|
38573
|
-
exports.ɵgx =
|
|
38574
|
-
exports.ɵgy =
|
|
38575
|
-
exports.ɵgz =
|
|
38738
|
+
exports.ɵga = PoNavbarActionsComponent;
|
|
38739
|
+
exports.ɵgb = PoNavbarItemsModule;
|
|
38740
|
+
exports.ɵgc = PoNavbarItemComponent;
|
|
38741
|
+
exports.ɵgd = PoNavbarItemsComponent;
|
|
38742
|
+
exports.ɵge = PoNavbarItemNavigationModule;
|
|
38743
|
+
exports.ɵgf = PoNavbarItemNavigationComponent;
|
|
38744
|
+
exports.ɵgg = PoNavbarItemNavigationIconComponent;
|
|
38745
|
+
exports.ɵgh = PoNavbarBaseComponent;
|
|
38746
|
+
exports.ɵgi = PoNavbarLogoComponent;
|
|
38747
|
+
exports.ɵgj = PoPageComponent;
|
|
38748
|
+
exports.ɵgk = PoPageBaseComponent;
|
|
38749
|
+
exports.ɵgl = PoPageContentComponent;
|
|
38750
|
+
exports.ɵgm = PoPageContentBaseComponent;
|
|
38751
|
+
exports.ɵgn = PoPageDefaultBaseComponent;
|
|
38752
|
+
exports.ɵgo = PoPageDetailBaseComponent;
|
|
38753
|
+
exports.ɵgp = PoPageEditBaseComponent;
|
|
38754
|
+
exports.ɵgq = PoPageHeaderComponent;
|
|
38755
|
+
exports.ɵgr = PoPageHeaderBaseComponent;
|
|
38756
|
+
exports.ɵgs = PoPageListBaseComponent;
|
|
38757
|
+
exports.ɵgt = PoPageSlideBaseComponent;
|
|
38758
|
+
exports.ɵgu = PoSlideCirclesComponent;
|
|
38759
|
+
exports.ɵgv = PoSlideBaseComponent;
|
|
38760
|
+
exports.ɵgw = PoSlideItemComponent;
|
|
38761
|
+
exports.ɵgx = PoSlideControlComponent;
|
|
38762
|
+
exports.ɵgy = PoStepperCircleComponent;
|
|
38763
|
+
exports.ɵgz = PoStepperBaseComponent;
|
|
38576
38764
|
exports.ɵh = PoBreadcrumbFavoriteComponent;
|
|
38577
|
-
exports.ɵha =
|
|
38578
|
-
exports.ɵhb =
|
|
38579
|
-
exports.ɵhc =
|
|
38580
|
-
exports.ɵhd =
|
|
38581
|
-
exports.ɵhe =
|
|
38582
|
-
exports.ɵhf =
|
|
38583
|
-
exports.ɵhg =
|
|
38584
|
-
exports.ɵhh =
|
|
38585
|
-
exports.ɵhi =
|
|
38586
|
-
exports.ɵhj =
|
|
38587
|
-
exports.ɵhk =
|
|
38588
|
-
exports.ɵhl =
|
|
38589
|
-
exports.ɵhm =
|
|
38590
|
-
exports.ɵhn =
|
|
38591
|
-
exports.ɵho =
|
|
38592
|
-
exports.ɵhp =
|
|
38593
|
-
exports.ɵhq =
|
|
38594
|
-
exports.ɵhr =
|
|
38765
|
+
exports.ɵha = PoStepperLabelComponent;
|
|
38766
|
+
exports.ɵhb = PoStepperStepComponent;
|
|
38767
|
+
exports.ɵhc = PoTabButtonComponent;
|
|
38768
|
+
exports.ɵhd = PoTabBaseComponent;
|
|
38769
|
+
exports.ɵhe = PoTabDropdownComponent;
|
|
38770
|
+
exports.ɵhf = PoTabsBaseComponent;
|
|
38771
|
+
exports.ɵhg = PoToolbarActionsComponent;
|
|
38772
|
+
exports.ɵhh = PoToolbarBaseComponent;
|
|
38773
|
+
exports.ɵhi = PoToolbarNotificationComponent;
|
|
38774
|
+
exports.ɵhj = PoToolbarProfileComponent;
|
|
38775
|
+
exports.ɵhk = PoTreeViewBaseComponent;
|
|
38776
|
+
exports.ɵhl = PoTreeViewService;
|
|
38777
|
+
exports.ɵhm = PoTreeViewItemComponent;
|
|
38778
|
+
exports.ɵhn = PoTreeViewItemHeaderComponent;
|
|
38779
|
+
exports.ɵho = PoWidgetBaseComponent;
|
|
38780
|
+
exports.ɵhp = PoHttpInterceptorDetailComponent;
|
|
38781
|
+
exports.ɵhq = PoHttpInterceptorBaseService;
|
|
38782
|
+
exports.ɵhr = PoHttpRequesControltService;
|
|
38783
|
+
exports.ɵhs = PoI18nBaseService;
|
|
38595
38784
|
exports.ɵi = PoBreadcrumbFavoriteService;
|
|
38596
38785
|
exports.ɵj = PoBreadcrumbItemComponent;
|
|
38597
38786
|
exports.ɵk = PoLoadingBaseComponent;
|