UNPKG

@pepperi/ngx-lib

Version:

Pepperi Angular Components and Services

567 lines 81.4 kB
import { Component, Input, Output, EventEmitter, ViewChild, ViewContainerRef, ChangeDetectionStrategy } from '@angular/core'; import { PepperiInternalPageService } from './internal-page.service'; import { LAYOUT_TYPE, ObjectSingleData, FIELD_TYPE } from '@pepperi/ngx-lib'; import { PepperiInternalListComponent, VIEW_TYPE } from './internal-list.component'; import * as $ from 'jquery'; import * as i0 from "@angular/core"; import * as i1 from "@angular/forms"; import * as i2 from "./internal-page.service"; import * as i3 from "@pepperi/ngx-lib"; import * as i4 from "@angular/common"; import * as i5 from "./internal-list.component"; import * as i6 from "@angular/material/menu"; import * as i7 from "@angular/material/icon"; import * as i8 from "@pepperi/ngx-lib/icon"; import * as i9 from "@ngx-translate/core"; const _c0 = ["orgCont"]; const _c1 = ["modalCont"]; const _c2 = ["matrixTemplate"]; function PepperiInternalPageComponent_ng_template_0_ng_container_4_span_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 19); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r7 = i0.ɵɵnextContext(3); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate1("\u00A0", ctx_r7.currentAdditionalApiName == null ? null : ctx_r7.currentAdditionalApiName.Value, "\u00A0"); } } const _c3 = function (a0) { return { selected: a0 }; }; function PepperiInternalPageComponent_ng_template_0_ng_container_4_button_11_Template(rf, ctx) { if (rf & 1) { const _r12 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 17); i0.ɵɵlistener("click", function PepperiInternalPageComponent_ng_template_0_ng_container_4_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const additionalApiName_r10 = ctx.$implicit; const ctx_r11 = i0.ɵɵnextContext(3); return ctx_r11.changeAdditionalApiName(additionalApiName_r10); }); i0.ɵɵelementStart(1, "span"); i0.ɵɵtext(2); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); } if (rf & 2) { const additionalApiName_r10 = ctx.$implicit; const ctx_r9 = i0.ɵɵnextContext(3); i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c3, (ctx_r9.currentAdditionalApiName == null ? null : ctx_r9.currentAdditionalApiName.Key) == (additionalApiName_r10 == null ? null : additionalApiName_r10.Key))); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate(additionalApiName_r10.Value); } } const _c4 = function (a0) { return { "pull-left flip": a0 }; }; function PepperiInternalPageComponent_ng_template_0_ng_container_4_Template(rf, ctx) { if (rf & 1) { const _r14 = i0.ɵɵgetCurrentView(); i0.ɵɵelementContainerStart(0); i0.ɵɵelementStart(1, "button", 11); i0.ɵɵtemplate(2, PepperiInternalPageComponent_ng_template_0_ng_container_4_span_2_Template, 2, 1, "span", 12); i0.ɵɵelementStart(3, "mat-icon", 13); i0.ɵɵelement(4, "pep-icon", 14); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementStart(5, "mat-menu", 15, 16); i0.ɵɵelementStart(7, "button", 17); i0.ɵɵlistener("click", function PepperiInternalPageComponent_ng_template_0_ng_container_4_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return ctx_r13.changeAdditionalApiName(null); }); i0.ɵɵelementStart(8, "span"); i0.ɵɵtext(9); i0.ɵɵpipe(10, "translate"); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵtemplate(11, PepperiInternalPageComponent_ng_template_0_ng_container_4_button_11_Template, 3, 4, "button", 18); i0.ɵɵelementEnd(); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const _r8 = i0.ɵɵreference(6); const ctx_r5 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵproperty("matMenuTriggerFor", _r8); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r5.currentAdditionalApiName); i0.ɵɵadvance(1); i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c4, ctx_r5.currentAdditionalApiName)); i0.ɵɵadvance(4); i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c3, ctx_r5.currentAdditionalApiName === null)); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 6, "LIST.NONE")); i0.ɵɵadvance(2); i0.ɵɵproperty("ngForOf", ctx_r5.additionalApiNames); } } function PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "pep-icon", 26); } } function PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_3_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "pep-icon", 27); } } function PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_4_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "pep-icon", 28); } } function PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_Template(rf, ctx) { if (rf & 1) { const _r22 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 17); i0.ɵɵlistener("click", function PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r22); const viewType_r17 = ctx.$implicit; const ctx_r21 = i0.ɵɵnextContext(3); return ctx_r21.changeChildrenViewType(viewType_r17 == null ? null : viewType_r17.Key); }); i0.ɵɵelementStart(1, "mat-icon", 22); i0.ɵɵtemplate(2, PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_2_Template, 1, 0, "pep-icon", 23); i0.ɵɵtemplate(3, PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_3_Template, 1, 0, "pep-icon", 24); i0.ɵɵtemplate(4, PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_pep_icon_4_Template, 1, 0, "pep-icon", 25); i0.ɵɵelementEnd(); i0.ɵɵelementStart(5, "span"); i0.ɵɵtext(6); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); } if (rf & 2) { const viewType_r17 = ctx.$implicit; const ctx_r16 = i0.ɵɵnextContext(3); i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c3, (ctx_r16.currentViewType == null ? null : ctx_r16.currentViewType.Key) == (viewType_r17 == null ? null : viewType_r17.Key))); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitch", viewType_r17 == null ? null : viewType_r17.Key); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", "OrderCenterMatrix"); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", "OrderCenterFlatMatrixGrid"); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", "OrderCenterFlatMatrixLine"); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate(viewType_r17 == null ? null : viewType_r17.Value); } } function PepperiInternalPageComponent_ng_template_0_ng_container_5_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainerStart(0); i0.ɵɵelementStart(1, "button", 11); i0.ɵɵelementStart(2, "mat-icon"); i0.ɵɵelement(3, "pep-icon", 20); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementStart(4, "mat-menu", 15, 21); i0.ɵɵtemplate(6, PepperiInternalPageComponent_ng_template_0_ng_container_5_button_6_Template, 7, 8, "button", 18); i0.ɵɵelementEnd(); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const _r15 = i0.ɵɵreference(5); const ctx_r6 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵproperty("matMenuTriggerFor", _r15); i0.ɵɵadvance(5); i0.ɵɵproperty("ngForOf", ctx_r6.childViewTypes); } } function PepperiInternalPageComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) { const _r24 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 6); i0.ɵɵelementStart(1, "span", 7); i0.ɵɵtext(2); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "div", 8); i0.ɵɵtemplate(4, PepperiInternalPageComponent_ng_template_0_ng_container_4_Template, 12, 12, "ng-container", 9); i0.ɵɵtemplate(5, PepperiInternalPageComponent_ng_template_0_ng_container_5_Template, 7, 2, "ng-container", 9); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementStart(6, "pep-internal-list", 10); i0.ɵɵlistener("notifyValueChanged", function PepperiInternalPageComponent_ng_template_0_Template_pep_internal_list_notifyValueChanged_6_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(); return ctx_r23.onCustomizeObjectChanged($event); })("notifyFieldClicked", function PepperiInternalPageComponent_ng_template_0_Template_pep_internal_list_notifyFieldClicked_6_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r25 = i0.ɵɵnextContext(); return ctx_r25.onCustomizeFieldClick($event); }); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵclassMapInterpolate1("matrix-title-container pepperi-border-bottom align-", ctx_r1.field.xAlignment, ""); i0.ɵɵpropertyInterpolate("title", ctx_r1.field.label); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate(ctx_r1.field.label); i0.ɵɵadvance(2); i0.ɵɵproperty("ngIf", (ctx_r1.currentViewType == null ? null : ctx_r1.currentViewType.Key) == "OrderCenterMatrix" && ctx_r1.additionalApiNames && ctx_r1.additionalApiNames.length > 0); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r1.childViewTypes && ctx_r1.childViewTypes.length > 1); i0.ɵɵadvance(1); i0.ɵɵproperty("totalsRow", ctx_r1.totalsRow); } } function PepperiInternalPageComponent_div_4_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "div", 29); } } function PepperiInternalPageComponent_button_5_Template(rf, ctx) { if (rf & 1) { const _r27 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 30); i0.ɵɵlistener("click", function PepperiInternalPageComponent_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(); return ctx_r26.showMatrixDialog(); }); i0.ɵɵtext(1); i0.ɵɵpipe(2, "translate"); i0.ɵɵelementEnd(); } if (rf & 2) { i0.ɵɵadvance(1); i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "INTERNAL_PAGE.CLICK_TO_ORDER")); } } const _c5 = function (a0, a1) { return { "max-width": a0, "max-height": a1 }; }; export class PepperiInternalPageComponent { constructor(fb, pepperiInternalPageService, customizationService, elementRef, changeDetectorRef) { this.fb = fb; this.pepperiInternalPageService = pepperiInternalPageService; this.customizationService = customizationService; this.elementRef = elementRef; this.changeDetectorRef = changeDetectorRef; this.controlType = 'internalPage'; this.hasHeightLimit = false; this.layoutType = LAYOUT_TYPE.PepperiForm; this.childChanged = new EventEmitter(); this.childClicked = new EventEmitter(); // TODO: Implement // @ViewChild('childModal') public childModal: ModalDirective; this.childModal = { isShown: false }; this.LAYOUT_TYPE = LAYOUT_TYPE; this.checkForChanges = null; this.childData = null; this.totalsRow = []; this.additionalApiNames = null; this.currentAdditionalApiName = null; this.focusedQS = false; this.fieldIdWithFocus = ''; this.columnWidth = 100; this.coverChildTable = false; this.currentViewType = null; this.sumOfMinColWidth = 0; this.totalRowsWidth = 0; this.viewWidth = '100%'; this.viewHeight = 'auto'; this.displayQSbtns = true; this.selectedApiName = ''; this.showSort = false; this.defaultRowSpan = -1; } fillData() { const view = this.matrixTemplate.createEmbeddedView(null); if (this.childModal.isShown) { this.orgCont.clear(); this.modalCont.clear(); this.modalCont.insert(view); } else { this.modalCont.clear(); this.orgCont.clear(); this.orgCont.insert(view); } setTimeout(() => { const buffer = []; if (this.childData.Rows) { // for (let i = 0; i < this.childData.Rows.length; i++) { for (const childDataRow of this.childData.Rows) { const osd = new ObjectSingleData(this.uiControl, childDataRow); osd.IsEditable = true; buffer.push(osd); } } const viewType = this.isTableView() ? VIEW_TYPE.Table : VIEW_TYPE.Line; this.customList.initListData(this.uiControl, this.childData.TotalRows, buffer, viewType, this.getItemClass()); this.setTotalsRow(); if (!this.childModal.isShown) { const childrenCount = this.childData.Rows ? this.childData.Rows.length : 0; const isEven = childrenCount % 2 === 0; // 3 for matrix & flat matrix because the header + total is 2 more rows. const rowsToAdd = this.isMatrixView() || this.isFlatMatrixView() ? 3 : 1; const formRowHeight = this.customizationService.calculateFormFieldHeight() * 16; // convert rem to pixel // Set the default only if not set yet. if (this.defaultRowSpan === -1) { this.defaultRowSpan = this.field.rowSpan; } // For line view Add the height of the line (form height). if (this.currentViewType.Key === 'OrderCenterFlatMatrixLine') { const maxRow = Math.max.apply(Math, this.uiControl.ControlFields.map((f) => { return f.Layout.Y + f.Layout.Height; })); // * 16 convert rem to pixel const cardRowsHeight = this.customizationService.calculateCardRowsHeight(maxRow) * 16; // maxRow * 24 + 60 - 24 for each row in card + 60 for the padding of each card. // const rowSpanToAdd = Math.floor(childrenCount * ((cardRowsHeight + 56) / formRowHeight) + rowsToAdd); // + 16 is the 1rem margin outside card. const rowSpanToAdd = (childrenCount * (cardRowsHeight + 16)) / formRowHeight + rowsToAdd; this.field.rowSpan = rowSpanToAdd; } else { // const tableRowsHeight = this.customizationService.calculateTableRowsHeight(childrenCount) * 16; // this.field.rowSpan = Math.ceil((tableRowsHeight + (rowsToAdd * 40)) / formRowHeight); // * 16 convert rem to pixel const rowsToAddHeight = this.customizationService.calculateTableRowsHeight(rowsToAdd, false) * 16; const tableRowsHeight = this.customizationService.calculateTableRowsHeight(childrenCount) * 16; this.field.rowSpan = (rowsToAddHeight + tableRowsHeight) / formRowHeight; } const self = this; self.sumOfMinColWidth = 0; self.totalRowsWidth = 0; this.childData.UIControl.ControlFields.forEach((uiControlField) => { self.totalRowsWidth += uiControlField.ColumnWidth; uiControlField.minFieldWidth = self.mmToPx(12); // NEED TO GET THIS PARAM FROM CUSTOMIZATION; self.sumOfMinColWidth += 12; }); setTimeout(() => { self.setViewCover(this.childData.Rows); }, 0); } }, 150); this.changeDetectorRef.markForCheck(); } fillChildData(res) { // TODO: ?? // this.userService.setOptionalValuesDic(res.Rows); this.childData = res; this.uiControl = res.UIControl; this.additionalApiNames = res.AdditionalApiNames; this.fillData(); } mmToPx(mm) { return Math.floor(mm * $('#my1_mm').height()); // JQuery returns sizes in PX } isMatrixView() { return this.currentViewType && this.currentViewType.Key === 'OrderCenterMatrix'; } isFlatMatrixView() { return this.currentViewType && this.currentViewType.Key === 'OrderCenterFlatMatrixGrid'; } isTableView() { return this.isMatrixView() || this.isFlatMatrixView(); } getItemClass() { let res = ''; if (!this.isTableView()) { res = 'line-view'; } return res; } changeChildrenViewType(viewTypeKey) { const self = this; this.rows = []; this.uiControl = null; for (const vt of this.childViewTypes) { if (vt.Key === viewTypeKey) { this.currentViewType = vt; break; } } // check if view type changed // if (this.currentViewType.Key != viewTypeKey) { $('body').scrollTop(0); this.currentViewTypeTitle = this.currentViewType.Value; this.pepperiInternalPageService.changeChildrenViewType(this.currentViewType.Key, (res) => { if (res.Rows) { self.fillChildData(res); } }); } setViewCover(rows) { if (!rows) { return; } const numofrows = rows.length; const matrixCont = $('#mainViewCont'); const viewWidth = matrixCont.parents('mat-grid-tile').css('width'); const viewHeight = matrixCont.parents('mat-grid-tile').css('height'); this.viewWidth = viewWidth ? viewWidth.toString() : '100%'; this.viewHeight = this.hasHeightLimit ? viewHeight.toString() : 'auto'; // if the matrix located on the bottom / there is nothing under the matrix we dont need to check the height if (parseInt(viewWidth, 10) < this.mmToPx(this.sumOfMinColWidth) || (this.hasHeightLimit && parseInt(viewHeight, 10) < numofrows * 41 + 72)) { this.coverChildTable = true; } else { this.coverChildTable = false; } this.changeDetectorRef.markForCheck(); } showMatrixDialog() { // this.childModal.config.ignoreBackdropClick = true; // TODO: Show modal // this.childModal.show(); } // TODO: // onShown() { // this.fillData(); // } // TODO: // onHidden() { // this.fillData(); // } ngOnInit() { const self = this; // let field = this.field as PepperiInternalPageField; this.pepperiInternalPageService.initDetails(this.field.objectId, this.field.parentId, this.field.searchCode, (resViewTypes) => { // my code DI-7134 resViewTypes.Rows = resViewTypes.Rows.filter((item) => item.Key !== 'OrderCenterView1'); if (resViewTypes.Rows && resViewTypes.Rows.length > 0) { if (!resViewTypes.Default) { resViewTypes.Default = resViewTypes.Rows[0].Key; } self.childViewTypes = resViewTypes.Rows; self.currentViewType = resViewTypes.Rows[0]; // for (var i = 0; i < resViewTypes.Rows.length; i++) { for (const viewTypeRow of resViewTypes.Rows) { if (viewTypeRow.Value === resViewTypes.Default) { self.currentViewType = viewTypeRow; } } self.loadLastAdditionalApiName(); self.changeChildrenViewType(self.currentViewType.Key); } }); // TODO: // this.resize = Observable.fromEvent(window, 'resize') // .debounceTime(10) // .subscribe((event) => { // self.setViewCover(self.rows); // }); } loadLastAdditionalApiName() { const daa = sessionStorage.getItem(PepperiInternalPageComponent.CURRENT_ADDITIONAL_API_NAME); if (daa && daa.length > 0) { const additionalApiName = JSON.parse(daa); this.currentAdditionalApiName = additionalApiName; this.pepperiInternalPageService.additionalApiName = additionalApiName.Key; } } ngOnDestroy() { if (this.childChanged) { this.childChanged.unsubscribe(); } if (this.childClicked) { this.childClicked.unsubscribe(); } if (this.resize) { this.resize.unsubscribe(); } } changeAdditionalApiName(additionalApiName) { const self = this; this.pepperiInternalPageService.changeAdditionalApiName(additionalApiName ? additionalApiName.Key : '', (res) => { // for (let index = 0; index < res.Rows.length; index++) { for (const row of res.Rows) { self.updateChanges(row); } self.changeDetectorRef.markForCheck(); }); sessionStorage.setItem(PepperiInternalPageComponent.CURRENT_ADDITIONAL_API_NAME, JSON.stringify(additionalApiName)); setTimeout(() => { this.currentAdditionalApiName = additionalApiName; }, 0); } setTotalsRow() { this.totalsRow = []; if (this.isMatrixView() || this.isFlatMatrixView()) { let totalCol = 0; if (this.customList.items) { for (let col = 0; col < this.customList.items[0].Data.Fields.length; col++) { const field = this.customList.items[0].Data.Fields[col]; if (field.FieldType === FIELD_TYPE.NumberIntegerForMatrix || field.FieldType === FIELD_TYPE.NumberIntegerQuantitySelector || field.FieldType === FIELD_TYPE.NumberRealForMatrix || field.FieldType === FIELD_TYPE.NumberRealQuantitySelector || field.FieldType === FIELD_TYPE.CalculatedInt || field.FieldType === FIELD_TYPE.NumberInteger || field.FieldType === FIELD_TYPE.CalculatedReal || field.FieldType === FIELD_TYPE.NumberReal) { totalCol = 0; // for (var i = 0; i < this.customList.items.length; i++) { for (const listItem of this.customList.items) { if (listItem.Data.Fields[col] && listItem.Data.Fields[col].Value) { const num = parseFloat(listItem.Data.Fields[col].Value); totalCol += isNaN(num) ? 0 : num; } } this.totalsRow.push(totalCol); } else { this.totalsRow.push(''); } } } } } updateChanges(elementToUpdate) { this.customList.updateListItem(elementToUpdate); // Update memory data for (let index = 0; index < this.childData.Rows.length; index++) { if (this.childData.Rows[index].UID === elementToUpdate.UID) { this.childData.Rows[index] = elementToUpdate; } } } setValueCallback(id, res) { if (res.Rows.length === 1) { this.updateChanges(res.Rows[0]); } this.setTotalsRow(); this.checkForChanges = new Date(); // DI-15985 this.childChanged.emit(res); this.changeDetectorRef.markForCheck(); } onCustomizeObjectChanged(customizeObjectChangedData) { let handledEvent = false; const boundSetValueCallback = this.setValueCallback.bind(this); // .bind() to have this in the bound function. // For the new custom form, the plus and minus events transform in the PepperiObjectChangedData if (customizeObjectChangedData.ControlType === 'qs') { if (customizeObjectChangedData.Value === '+') { handledEvent = true; this.pepperiInternalPageService.childPlusClick(customizeObjectChangedData.Id, customizeObjectChangedData.ApiName, (res) => { boundSetValueCallback(customizeObjectChangedData.Id, res); }); } else if (customizeObjectChangedData.Value === '-') { handledEvent = true; this.pepperiInternalPageService.childMinusClick(customizeObjectChangedData.Id, customizeObjectChangedData.ApiName, (res) => { boundSetValueCallback(customizeObjectChangedData.Id, res); }); } } if (!handledEvent) { this.pepperiInternalPageService.childValueChanged(customizeObjectChangedData.Id, customizeObjectChangedData.ApiName, customizeObjectChangedData.Value, (res) => { boundSetValueCallback(customizeObjectChangedData.Id, res); }); } } onCustomizeFieldClick(fieldClickEvent) { this.childClicked.emit(fieldClickEvent); } } PepperiInternalPageComponent.CURRENT_ADDITIONAL_API_NAME = 'item_details_currentAdditionalApiName'; PepperiInternalPageComponent.ɵfac = function PepperiInternalPageComponent_Factory(t) { return new (t || PepperiInternalPageComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.PepperiInternalPageService), i0.ɵɵdirectiveInject(i3.CustomizationService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; PepperiInternalPageComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PepperiInternalPageComponent, selectors: [["pep-internal-page"]], viewQuery: function PepperiInternalPageComponent_Query(rf, ctx) { if (rf & 1) { i0.ɵɵviewQuery(_c0, true, ViewContainerRef); i0.ɵɵviewQuery(_c1, true, ViewContainerRef); i0.ɵɵviewQuery(_c2, true); i0.ɵɵviewQuery(PepperiInternalListComponent, true); } if (rf & 2) { var _t; i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.orgCont = _t.first); i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalCont = _t.first); i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.matrixTemplate = _t.first); i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.customList = _t.first); } }, inputs: { field: "field", hasHeightLimit: "hasHeightLimit", layoutType: "layoutType" }, outputs: { childChanged: "childChanged", childClicked: "childClicked" }, features: [i0.ɵɵProvidersFeature([PepperiInternalPageService])], decls: 8, vars: 6, consts: [["matrixTemplate", ""], ["id", "mainViewCont", 3, "ngStyle"], ["id", "my1_mm", 2, "height", "1mm", "width", "1mm", "display", "none"], ["class", "table-cover", 4, "ngIf"], ["class", "pepperi-button strong sm table-cover-button", 3, "click", 4, "ngIf"], ["orgCont", ""], [3, "title"], [1, "block-with-text", "body-md"], [1, "buttons-container", "spacing-element-negative", "pull-right", "flip"], [4, "ngIf"], [3, "totalsRow", "notifyValueChanged", "notifyFieldClicked"], ["mat-button", "", "menu-blur", "", 1, "spacing-element", "pepperi-button", "icon-button", "sm", "weak", 3, "matMenuTriggerFor"], ["class", "pull-left flip", 4, "ngIf"], [3, "ngClass"], ["name", "system_info"], ["xPosition", "before"], ["menu", "matMenu"], ["mat-menu-item", "", 3, "ngClass", "click"], ["mat-menu-item", "", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "pull-left", "flip"], ["name", "view_card_md"], ["viewsMenu", "matMenu"], [3, "ngSwitch"], ["name", "view_matrix", 4, "ngSwitchCase"], ["name", "view_table", 4, "ngSwitchCase"], ["name", "view_line", 4, "ngSwitchCase"], ["name", "view_matrix"], ["name", "view_table"], ["name", "view_line"], [1, "table-cover"], [1, "pepperi-button", "strong", "sm", "table-cover-button", 3, "click"]], template: function PepperiInternalPageComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtemplate(0, PepperiInternalPageComponent_ng_template_0_Template, 7, 8, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor); i0.ɵɵelementStart(2, "div", 1); i0.ɵɵelement(3, "div", 2); i0.ɵɵtemplate(4, PepperiInternalPageComponent_div_4_Template, 1, 0, "div", 3); i0.ɵɵtemplate(5, PepperiInternalPageComponent_button_5_Template, 3, 3, "button", 4); i0.ɵɵelementContainer(6, null, 5); i0.ɵɵelementEnd(); } if (rf & 2) { i0.ɵɵadvance(2); i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(3, _c5, ctx.viewWidth, ctx.viewHeight)); i0.ɵɵadvance(2); i0.ɵɵproperty("ngIf", ctx.coverChildTable && ctx.uiControl != null); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx.coverChildTable && ctx.uiControl != null); } }, directives: [i4.NgStyle, i4.NgIf, i5.PepperiInternalListComponent, i6.MatMenuTrigger, i7.MatIcon, i4.NgClass, i8.PepperiIconComponent, i6._MatMenu, i6.MatMenuItem, i4.NgForOf, i4.NgSwitch, i4.NgSwitchCase], pipes: [i9.TranslatePipe], styles: [".matrix-title-container[_ngcontent-%COMP%]{align-items:flex-end;display:flex;height:var(--pep-form-field-height,2.5rem);padding:0}.matrix-title-container[_ngcontent-%COMP%] .block-with-text[_ngcontent-%COMP%]{-ms-text-overflow:ellipsis;display:block;font-weight:var(--pep-font-weight-bold,600);max-height:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.matrix-title-container[_ngcontent-%COMP%] .buttons-container[_ngcontent-%COMP%]{align-self:center;display:flex}#mainViewCont[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-bottom:1.5rem;width:100%}#mainViewCont[_ngcontent-%COMP%] .table-cover[_ngcontent-%COMP%]{background-color:#fff;height:100%;opacity:.5;position:absolute;top:0;width:99%;z-index:101}#mainViewCont[_ngcontent-%COMP%] .table-cover-button[_ngcontent-%COMP%]{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:102}#mainViewCont[_ngcontent-%COMP%] .underCover[_ngcontent-%COMP%]{max-height:inherit;overflow:hidden}#mainViewCont[_ngcontent-%COMP%] .table-header{top:unset!important}.modal-dialog[_ngcontent-%COMP%]{margin:.5rem 0;position:relative}.modal-dialog[_ngcontent-%COMP%] .matrix-dialog-body[_ngcontent-%COMP%]{height:100%;overflow:auto;padding:.5rem}.modal-dialog[_ngcontent-%COMP%] .matrix-dialog-body[_ngcontent-%COMP%] .table-header{top:unset!important}"], changeDetection: 0 }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(PepperiInternalPageComponent, [{ type: Component, args: [{ selector: 'pep-internal-page', templateUrl: './internal-page.component.html', styleUrls: ['./internal-page.component.scss'], providers: [PepperiInternalPageService], changeDetection: ChangeDetectionStrategy.OnPush, }] }], function () { return [{ type: i1.FormBuilder }, { type: i2.PepperiInternalPageService }, { type: i3.CustomizationService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, { field: [{ type: Input }], hasHeightLimit: [{ type: Input }], layoutType: [{ type: Input }], childChanged: [{ type: Output }], childClicked: [{ type: Output }], orgCont: [{ type: ViewChild, args: ['orgCont', { read: ViewContainerRef }] }], modalCont: [{ type: ViewChild, args: ['modalCont', { read: ViewContainerRef }] }], matrixTemplate: [{ type: ViewChild, args: ['matrixTemplate'] }], customList: [{ type: ViewChild, args: [PepperiInternalListComponent] }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFFVCxnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBRTFCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJFLE9BQU8sRUFBRSxXQUFXLEVBQWlELGdCQUFnQixFQUNwRCxVQUFVLEVBQXFELE1BQU0seUJBQXlCLENBQUM7QUFDaEksT0FBTyxFQUFFLDRCQUE0QixFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBGLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUNaUixnQ0FDcUM7SUFBQSxZQUFpRDtJQUFBLGlCQUFPOzs7SUFBeEQsZUFBaUQ7SUFBakQsaUlBQWlEOzs7OztJQVd0RixrQ0FJSTtJQURBLG9UQUFvRDtJQUNwRCw0QkFBTTtJQUFBLFlBQTZCO0lBQUEsaUJBQU87SUFDOUMsaUJBQVM7Ozs7SUFKTCxrTkFBaUY7SUFHM0UsZUFBNkI7SUFBN0IsaURBQTZCOzs7OztJQXBCL0MsNkJBRUk7SUFBQSxrQ0FFSTtJQUFBLDZHQUNxQztJQUVyQyxvQ0FDSTtJQUFBLCtCQUF3QztJQUM1QyxpQkFBVztJQUNmLGlCQUFTO0lBQ1Qsd0NBQ0k7SUFBQSxrQ0FFSTtJQURBLG1PQUFpQyxJQUFJLEtBQUU7SUFDdkMsNEJBQU07SUFBQSxZQUE2Qjs7SUFBQSxpQkFBTztJQUM5Qyxp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