@pepperi-addons/ngx-lib 0.3.3-beta.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  2. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js +1 -1
  3. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js.map +1 -1
  4. package/date/package.json +0 -1
  5. package/esm2015/form/field-generator.component.js +1 -1
  6. package/esm2015/form/form.component.js +1 -1
  7. package/esm2015/form/form.model.js +2 -0
  8. package/esm2015/form/internal-carusel.component.js +1 -1
  9. package/esm2015/form/internal-list.component.js +1 -1
  10. package/esm2015/form/internal-page.component.js +1 -1
  11. package/esm2015/form/public-api.js +2 -1
  12. package/esm2015/page-layout/page-layout.component.js +2 -2
  13. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  14. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js +1 -1
  15. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js.map +1 -1
  16. package/files-uploader/package.json +0 -1
  17. package/form/field-generator.component.d.ts +1 -1
  18. package/form/form.component.d.ts +2 -20
  19. package/form/form.model.d.ts +20 -0
  20. package/form/internal-carusel.component.d.ts +1 -1
  21. package/form/internal-list.component.d.ts +1 -1
  22. package/form/internal-page.component.d.ts +1 -1
  23. package/form/package.json +0 -1
  24. package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
  25. package/form/public-api.d.ts +1 -0
  26. package/images-filmstrip/package.json +2 -3
  27. package/list/package.json +0 -1
  28. package/package.json +1 -1
  29. package/page-layout/pepperi-addons-ngx-lib-page-layout.metadata.json +1 -1
  30. package/rich-html-textarea/package.json +0 -1
  31. package/signature/package.json +0 -1
  32. package/size-detector/package.json +0 -1
  33. package/smart-filters/package.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-form.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-lib/form/form.component.ts","../../../projects/ngx-lib/form/field-generator.component.ts","../../../projects/ngx-lib/form/indicators.component.ts","../../../projects/ngx-lib/form/internal-button.component.ts","../../../projects/ngx-lib/form/internal-list.component.ts","../../../projects/ngx-lib/form/internal-menu.component.ts","../../../projects/ngx-lib/form/internal-page.service.ts","../../../projects/ngx-lib/form/internal-page.component.ts","../../../projects/ngx-lib/form/internal-carusel.service.ts","../../../projects/ngx-lib/form/internal-carusel.component.ts","../../../projects/ngx-lib/form/form.module.ts","../../../projects/ngx-lib/form/public-api.ts","../../../projects/ngx-lib/form/pepperi-addons-ngx-lib-form.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n Component,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n Input,\n KeyValueDiffers,\n Output,\n EventEmitter,\n OnChanges,\n DoCheck,\n Optional,\n} from '@angular/core';\nimport {\n FormGroup,\n FormBuilder,\n Validators,\n AbstractControl,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepDialogService,\n PepDialogData,\n} from '@pepperi-addons/ngx-lib/dialog';\nimport {\n IPepFieldValueChangeEvent,\n IPepFieldClickEvent,\n PepLayoutType,\n FIELD_TYPE,\n PepCustomizationService,\n PepLayoutService,\n UIControl,\n UIControlField,\n ObjectsDataRow,\n ObjectsDataRowCell,\n PepFieldBase,\n PepTextboxField,\n PepSelectField,\n PepInternalMenuField,\n PepQuantitySelectorField,\n PepAddressField,\n PepIndicatorsField,\n PepInternalPageField,\n PepInternalCaruselField,\n PepInternalButtonField,\n PepAttachmentField,\n PepSignatureField,\n PepImageField,\n PepImagesField,\n PepTextareaField,\n PepRichHtmlTextareaField,\n PepDateField,\n PepCheckboxField,\n PepSeparatorField,\n PepPlaceholderField,\n PepHorizontalAlignment,\n PepVerticalAlignment,\n X_ALIGNMENT_TYPE,\n Y_ALIGNMENT_TYPE,\n DEFAULT_VERTICAL_ALIGNMENT,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n KeyValuePair,\n IPepOption,\n} from '@pepperi-addons/ngx-lib';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nexport interface IPepFormFieldValueChangeEvent {\n id: string;\n uiObjectKey?: string;\n key: string;\n value: string;\n controlType?: string;\n}\nexport interface IPepFormFieldClickEvent {\n id: string;\n uiObjectKey?: string;\n key: string;\n value: any;\n controlType: string;\n fieldType?: FIELD_TYPE;\n idType?: string;\n which?: any;\n editable?: boolean;\n otherData?: any;\n}\n\n@Component({\n selector: 'pep-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepFormComponent implements OnInit, DoCheck, OnChanges, OnDestroy {\n @Input() isReport = false;\n @Input() layout: UIControl;\n @Input() lockEvents = false;\n @Input() canEditObject = true;\n\n private _data: ObjectsDataRow = null;\n @Input()\n set data(value: ObjectsDataRow) {\n const shouldReload = this.shouldReloadForm || !this._data;\n this._data = value;\n\n if (shouldReload) {\n this._shouldReloadForm = false;\n this.initForm();\n } else {\n this.updateForm();\n }\n }\n\n get data(): ObjectsDataRow {\n return this._data;\n }\n\n @Input() isActive = false;\n @Input() layoutType: PepLayoutType = 'card';\n // @Input() listType = '';\n @Input() objectId = '0';\n @Input() parentId = '0';\n @Input() searchCode = '0';\n @Input() showTitle = true;\n @Input() firstFieldAsLink = false;\n @Input() checkForChanges: any = null;\n\n @Output()\n valueChange: EventEmitter<IPepFormFieldValueChangeEvent> = new EventEmitter<IPepFormFieldValueChangeEvent>();\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output()\n fieldClick: EventEmitter<IPepFormFieldClickEvent> = new EventEmitter<IPepFormFieldClickEvent>();\n\n @Output() internalFormFieldClick: EventEmitter<any> = new EventEmitter<any>();\n @Output() internalFormFieldChange: EventEmitter<any> = new EventEmitter<any>();\n\n isLocked = false;\n formGutterSize;\n cardGutterSize;\n rowHeight;\n // private matrixIsLast = false;\n // lastUpdatedFieldApiName: string = '';\n form: FormGroup;\n differ: any;\n\n // payLoad = '';\n private rows: Array<PepFieldBase[]> = [];\n fields: PepFieldBase[] = [];\n\n private _fieldsSubject: BehaviorSubject<PepFieldBase[]> = new BehaviorSubject<PepFieldBase[]>([]);\n get fields$(): Observable<PepFieldBase[]> {\n return this._fieldsSubject.asObservable();\n }\n\n columns = 1;\n\n private hasMenuFloatingOnOtherField = false;\n private menuField: any;\n private menuDataField: any;\n private hasCampaignField: any;\n private hasCampaignDataField: any;\n private indicatorsField: any;\n private indicatorsDataField: any = null;\n\n private _shouldReloadForm = false;\n get shouldReloadForm(): boolean {\n return this._shouldReloadForm;\n }\n\n // eventServiceSub: Subscription;\n // public jsonLib = JSON;\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private layoutService: PepLayoutService,\n private fb: FormBuilder,\n differs: KeyValueDiffers,\n private translate: TranslateService\n ) {\n // store the initial value to compare with\n this.differ = differs.find({}).create();\n }\n\n convertXAlignToHorizontalAlign(\n xAlign: X_ALIGNMENT_TYPE\n ): PepHorizontalAlignment {\n let res = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n if (\n xAlign === X_ALIGNMENT_TYPE.None ||\n xAlign === X_ALIGNMENT_TYPE.Left\n ) {\n res = 'left';\n } else if (xAlign === X_ALIGNMENT_TYPE.Right) {\n res = 'right';\n } else {\n res = 'center';\n }\n\n return res;\n }\n\n convertYAlignToVerticalAlign(\n yAlign: Y_ALIGNMENT_TYPE\n ): PepVerticalAlignment {\n let res = DEFAULT_VERTICAL_ALIGNMENT;\n\n if (\n yAlign === Y_ALIGNMENT_TYPE.None ||\n yAlign === Y_ALIGNMENT_TYPE.Top\n ) {\n res = 'top';\n } else if (yAlign === Y_ALIGNMENT_TYPE.Bottom) {\n res = 'bottom';\n } else {\n res = 'middle';\n }\n\n return res;\n }\n\n convertOptionalValues(\n optionalValues: Array<KeyValuePair<string>>\n ): IPepOption[] {\n if (optionalValues && optionalValues.length > 0) {\n return optionalValues.map((ov) => {\n return { key: ov.Key, value: ov.Value };\n });\n } else {\n return [];\n }\n }\n\n convertAddressFields(\n controlField: UIControlField,\n addressFields: Array<ObjectsDataRowCell>,\n canEditObject: boolean\n ): PepFieldBase[] {\n const fields: PepFieldBase[] = [];\n\n addressFields.forEach((field) => {\n let customField: PepFieldBase;\n const placeholder = field.ApiName;\n\n if (field.ApiName.toLowerCase().indexOf('street') >= 0) {\n customField = new PepTextboxField({\n key: field.ApiName,\n label: field.ApiName,\n type: 'text',\n placeholder,\n readonly: !canEditObject,\n disabled: !field.Enabled || !canEditObject,\n hidden: false,\n mandatory: false,\n value: field.Value,\n formattedValue: field.FormattedValue,\n row: 0,\n rowSpan: 1,\n col: 0,\n colSpan: 2,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n order: 0,\n });\n } else if (field.ApiName.toLowerCase().indexOf('city') >= 0) {\n customField = new PepTextboxField({\n key: field.ApiName,\n label: field.ApiName,\n type: 'text',\n placeholder,\n readonly: !canEditObject,\n disabled: !field.Enabled || !canEditObject,\n hidden: false,\n mandatory: false,\n value: field.Value,\n formattedValue: field.FormattedValue,\n row: 0,\n rowSpan: 1,\n col: 2,\n colSpan: 1,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n order: 1,\n });\n } else if (field.ApiName.toLowerCase().indexOf('state') >= 0) {\n customField = new PepSelectField({\n key: field.ApiName,\n label: field.ApiName,\n placeholder,\n options: this.convertOptionalValues(field.OptionalValues),\n readonly: !canEditObject,\n disabled: !field.Enabled || !canEditObject,\n hidden: false,\n mandatory: false,\n value: field.Value,\n formattedValue: field.FormattedValue,\n row: 1,\n rowSpan: 1,\n col: 0,\n colSpan: 1,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n order: 2,\n });\n } else if (field.ApiName.toLowerCase().indexOf('zipcode') >= 0) {\n customField = new PepTextboxField({\n key: field.ApiName,\n label: field.ApiName,\n type: 'text',\n placeholder,\n readonly: !canEditObject,\n disabled: !field.Enabled || !canEditObject,\n hidden: false,\n mandatory: false,\n value: field.Value,\n formattedValue: field.FormattedValue,\n row: 1,\n rowSpan: 1,\n col: 1,\n colSpan: 1,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n order: 3,\n });\n } else if (field.ApiName.toLowerCase().indexOf('country') >= 0) {\n customField = new PepSelectField({\n key: field.ApiName,\n label: field.ApiName,\n placeholder,\n options: this.convertOptionalValues(field.OptionalValues),\n readonly: !canEditObject,\n disabled: !field.Enabled || !canEditObject,\n hidden: false,\n mandatory: false,\n value: field.Value,\n formattedValue: field.FormattedValue,\n row: 2,\n rowSpan: 1,\n col: 2,\n colSpan: 1,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n order: 4,\n });\n }\n\n fields.push(customField);\n });\n\n return fields.sort((n1, n2) =>\n n1.order > n2.order ? 1 : n1.order < n2.order ? -1 : 0\n );\n }\n\n isMatrixField(apiNameToCheck: string): boolean {\n return apiNameToCheck.indexOf('Matrix') >= 0;\n }\n\n doesFieldHavaFloatingField(\n controlField: UIControlField,\n floatingField: any\n ): boolean {\n let hasFloatingField = false;\n if (\n floatingField.Layout.Y >= controlField.Layout.Y &&\n floatingField.Layout.Y <\n controlField.Layout.Y + controlField.Layout.Height &&\n floatingField.Layout.X >= controlField.Layout.X &&\n floatingField.Layout.X <\n controlField.Layout.X + controlField.Layout.Width\n ) {\n hasFloatingField = true;\n }\n\n return hasFloatingField;\n }\n\n getOptionsForCustomField(\n controlField: UIControlField,\n dataField: any,\n canEditObject: boolean\n ): any {\n if (!controlField || !dataField) {\n return;\n }\n\n const placeholder =\n controlField.ReadOnly || !canEditObject ? '' : controlField.Title;\n\n return {\n key: controlField.ApiName,\n label: controlField.Title,\n accessory: dataField.Accessory,\n placeholder,\n readonly: controlField.ReadOnly || !canEditObject,\n disabled: !dataField.Enabled || !canEditObject,\n hidden: controlField.Hidden,\n mandatory: controlField.Mandatory,\n value: dataField.Value,\n formattedValue: dataField.FormattedValue,\n additionalValue: dataField.AdditionalValue,\n row: controlField.Layout.Y,\n rowSpan: controlField.Layout.Height,\n col: controlField.Layout.X,\n colSpan: controlField.Layout.Width,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n options: this.convertOptionalValues(dataField.OptionalValues),\n groupFields: undefined,\n maxFieldCharacters: controlField.MaxFieldCharacters,\n minValue: controlField.MinValue,\n maxValue: controlField.MaxValue,\n // hasMenu: hasMenu,\n // hasCampaign: hasCampaign,\n // hasIndicators: hasIndicators,\n textColor: dataField.TextColor,\n visible: dataField.Visible,\n };\n }\n\n convertToCustomField(\n controlField: UIControlField,\n dataField: any,\n canEditObject: boolean,\n menuField: any,\n hasCampaignField: any,\n indicatorsField: any,\n objectId: any,\n parentId: any,\n searchCode: any\n ): PepFieldBase {\n let customField: PepFieldBase;\n const options = this.getOptionsForCustomField(\n controlField,\n dataField,\n canEditObject\n );\n\n if (controlField.ApiName === 'ObjectMenu') {\n options.type = 'menu';\n customField = new PepInternalMenuField(options);\n } else if (\n controlField.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||\n controlField.FieldType ===\n FIELD_TYPE.NumberIntegerQuantitySelector ||\n controlField.ApiName === 'QuantitySelector' ||\n controlField.ApiName === 'UnitsQuantity' ||\n controlField.ApiName.indexOf('size_') === 0\n ) {\n if (dataField.FieldType === FIELD_TYPE.InternalLink) {\n options.type = 'button';\n } else if (dataField.FieldType === FIELD_TYPE.Package) {\n options.type = 'packageButton';\n } else if (\n dataField.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||\n dataField.FieldType === FIELD_TYPE.NumberReal\n ) {\n options.type = 'qs';\n options.allowDecimal = true;\n } else if (\n dataField.FieldType ===\n FIELD_TYPE.NumberIntegerQuantitySelector ||\n dataField.FieldType === FIELD_TYPE.NumberInteger\n ) {\n options.type = 'qs';\n options.allowDecimal = false;\n } else if (\n dataField.FieldType === FIELD_TYPE.NumberIntegerForMatrix\n ) {\n options.type = 'qsForMatrix';\n options.allowDecimal = false;\n } else if (dataField.FieldType === FIELD_TYPE.NumberRealForMatrix) {\n options.type = 'qsForMatrix';\n options.allowDecimal = true;\n }\n\n options.notificationInfo = dataField.NotificationInfo;\n customField = new PepQuantitySelectorField(options);\n } else {\n // HACK: need to remove this..\n if (\n dataField.FieldType === FIELD_TYPE.Indicators &&\n this.isMatrixField(dataField.ApiName)\n ) {\n dataField.FieldType = FIELD_TYPE.InternalPage;\n }\n\n switch (dataField.FieldType) {\n case FIELD_TYPE.Address: {\n const canEditGroupObject = controlField.ReadOnly\n ? false\n : canEditObject;\n options.groupFields = this.convertAddressFields(\n controlField,\n dataField.GroupFields,\n canEditGroupObject\n );\n customField = new PepAddressField(options);\n break;\n }\n case FIELD_TYPE.Indicators: {\n // options['type'] = 'indicators'; // Not needed this is PepIndicatorsField.\n customField = new PepIndicatorsField(options);\n break;\n }\n case FIELD_TYPE.InternalPage: {\n if (this.isMatrixField(controlField.ApiName)) {\n options.rowSpan = controlField.Layout.Height;\n options.objectId = objectId;\n options.parentId = parentId;\n options.searchCode = searchCode;\n\n customField = new PepInternalPageField(options);\n } else {\n // Not supported\n }\n break;\n }\n case FIELD_TYPE.RelatedObjectsCards: {\n options.rowSpan = controlField.Layout.Height;\n options.searchCode = searchCode;\n options.pageInfo = dataField.UIPageInfo;\n\n customField = new PepInternalCaruselField(options);\n break;\n }\n case FIELD_TYPE.Link: {\n options.type = 'link';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.InternalLink:\n case FIELD_TYPE.Button: {\n options.type = 'button';\n customField = new PepInternalButtonField(options);\n break;\n }\n case FIELD_TYPE.Attachment: {\n // options.type = 'attachment';\n customField = new PepAttachmentField(options);\n break;\n }\n case FIELD_TYPE.Signature: {\n // options.type = 'signature';\n customField = new PepSignatureField(options);\n break;\n }\n case FIELD_TYPE.Image:\n case FIELD_TYPE.ImageURL: {\n // options.type = 'image';\n options.menuField =\n menuField &&\n this.doesFieldHavaFloatingField(controlField, menuField)\n ? menuField\n : null;\n options.hasCampaignField =\n hasCampaignField &&\n this.doesFieldHavaFloatingField(\n controlField,\n hasCampaignField\n )\n ? hasCampaignField\n : null;\n options.indicatorsField =\n indicatorsField &&\n this.doesFieldHavaFloatingField(\n controlField,\n indicatorsField\n )\n ? indicatorsField\n : null;\n\n customField = new PepImageField(options);\n break;\n }\n case FIELD_TYPE.Images: {\n // options.type = 'images';\n customField = new PepImagesField(options);\n break;\n }\n case FIELD_TYPE.Email: {\n options.type = 'email';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Phone: {\n options.type = 'phone';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Duration: {\n options.type = 'duration';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Default:\n case FIELD_TYPE.TextBox:\n case FIELD_TYPE.LimitedLengthTextBox:\n case FIELD_TYPE.TextHeader:\n case FIELD_TYPE.CalculatedString:\n case FIELD_TYPE.MapDataString: {\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.TextArea: {\n customField = new PepTextareaField(options);\n break;\n }\n\n case FIELD_TYPE.RichTextHTML: {\n customField = new PepRichHtmlTextareaField(options);\n break;\n }\n case FIELD_TYPE.Date:\n case FIELD_TYPE.LimitedDate:\n case FIELD_TYPE.CalculatedDate:\n case FIELD_TYPE.DateAndTime: {\n options.type =\n dataField.FieldType === FIELD_TYPE.DateAndTime\n ? 'datetime'\n : 'date';\n customField = new PepDateField(options);\n break;\n }\n case FIELD_TYPE.NumberInteger:\n case FIELD_TYPE.CalculatedInt:\n case FIELD_TYPE.MapDataInt: {\n options.type = 'int';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Percentage: {\n options.type = 'percentage';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Currency: {\n options.type = 'currency';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.NumberReal:\n case FIELD_TYPE.CalculatedReal:\n case FIELD_TYPE.MapDataReal:\n case FIELD_TYPE.Sum:\n case FIELD_TYPE.Totals: {\n options.type = 'real';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Boolean:\n case FIELD_TYPE.CalculatedBool: {\n customField = new PepCheckboxField(options);\n break;\n }\n case FIELD_TYPE.BooleanText: {\n options.type = 'booleanText';\n customField = new PepCheckboxField(options);\n break;\n }\n case FIELD_TYPE.ComboBox:\n case FIELD_TYPE.EmptyComboBox:\n case FIELD_TYPE.MapDataDropDown: {\n // options.type = 'select';\n customField = new PepSelectField(options);\n break;\n }\n case FIELD_TYPE.MultiTickBox:\n case FIELD_TYPE.MultiTickBoxToComboBox:\n case FIELD_TYPE.EmptyMultiTickBox: {\n options.type = 'multi';\n customField = new PepSelectField(options);\n break;\n }\n case FIELD_TYPE.GuidReferenceType: {\n options.type = 'reference';\n options.referenceObjectType = dataField.ReferenceObjectType;\n options.referenceObjectSubType =\n dataField.ReferenceObjectSubType;\n options.referenceObjectInternalType =\n dataField.ReferenceObjectInternalType;\n customField = new PepInternalButtonField(options);\n break;\n }\n case FIELD_TYPE.ListOfObjects: {\n options.type = 'listofobjects';\n customField = new PepInternalButtonField(options);\n break;\n }\n case FIELD_TYPE.Separator: {\n customField = new PepSeparatorField(options);\n break;\n }\n /*\n case FIELD_TYPE.Images: return that.field(value);\n */\n case FIELD_TYPE.NumberRealQuantitySelector:\n case FIELD_TYPE.NumberIntegerQuantitySelector: {\n options.type = 'qs';\n options.allowDecimal =\n dataField.FieldType ===\n FIELD_TYPE.NumberRealQuantitySelector;\n options.notificationInfo = dataField.NotificationInfo;\n\n customField = new PepQuantitySelectorField(options);\n break;\n }\n case FIELD_TYPE.Package: {\n options.type = 'packageButton';\n options.notificationInfo = dataField.NotificationInfo;\n\n customField = new PepQuantitySelectorField(options);\n break;\n }\n }\n }\n\n if (!customField) {\n options.label = controlField.ApiName + ' is not supported!!!';\n customField = new PepSeparatorField(options);\n }\n\n return customField;\n }\n\n getFieldFormattedValue(field: PepFieldBase): string {\n let fieldFormattedValue = field.formattedValue;\n\n // Fix for the custom check box component.\n if (field.controlType === 'checkbox') {\n fieldFormattedValue = fieldFormattedValue === 'true';\n }\n\n // Fix for the custom button component.\n if (field.controlType === 'button') {\n fieldFormattedValue =\n fieldFormattedValue === '0' ? '' : fieldFormattedValue;\n }\n\n return fieldFormattedValue;\n }\n\n private toControlGroup(fields: PepFieldBase[]): FormGroup {\n const group = {};\n if (fields && fields.length > 0) {\n fields.forEach((field) => {\n if (field.groupFields && field.groupFields.length > 0) {\n const subGroup = {};\n\n field.groupFields.forEach((groupField) => {\n if (\n groupField.mandatory &&\n !field.readonly &&\n !field.disabled\n ) {\n subGroup[groupField.key] = [\n {\n value: groupField.formattedValue || '',\n disabled:\n field.readonly ||\n field.disabled ||\n groupField.disabled,\n },\n [Validators.required],\n ];\n } else {\n subGroup[groupField.key] = [\n {\n value: groupField.formattedValue || '',\n disabled:\n field.readonly ||\n field.disabled ||\n groupField.disabled,\n },\n [Validators.nullValidator],\n ];\n }\n });\n\n group[field.key] = this.fb.group(subGroup);\n } else {\n const validators = field.getValidators();\n const fieldFormattedValue = this.getFieldFormattedValue(\n field\n );\n\n group[field.key] = [\n {\n value: fieldFormattedValue || '',\n disabled: field.disabled,\n },\n validators,\n ];\n }\n });\n }\n\n return this.fb.group(group);\n }\n\n private createBaseField(uiControlField: UIControlField, dataField: any) {\n const customField: PepFieldBase = this.convertToCustomField(\n uiControlField,\n dataField,\n this.canEditObject,\n this.menuDataField,\n this.hasCampaignDataField,\n this.indicatorsDataField,\n this.objectId,\n this.parentId,\n this.searchCode\n );\n\n return customField;\n }\n\n public showFormValidationMessage(): void {\n const fields: PepFieldBase[] = this.fields;\n let emptyMandatoryFieldsMsg = '';\n let notValidFieldsMsg = '';\n\n // for (let i: number = 0; i < fields.length; i++) {\n // let field = fields[i];\n for (const field of fields) {\n const formControl = this.form && this.form.get(field.key);\n\n if (formControl) {\n // Mandatory is empty.\n if (\n field.mandatory &&\n formControl.value.toString().trim().length === 0\n ) {\n emptyMandatoryFieldsMsg +=\n '<li><small>' + field.label + '</small></li>';\n } else if (!field.disabled && !formControl.valid) {\n notValidFieldsMsg +=\n '<li><small>' + field.label + '</small></li>';\n }\n }\n }\n\n // Add the header message of the empty mandatory fields\n if (emptyMandatoryFieldsMsg.length > 0) {\n emptyMandatoryFieldsMsg =\n '<div>' +\n this.translate.instant('MESSAGES.ERROR_MANDATORY_FIELDS') +\n \"</div><ul style='padding: 0 20px;'>\" +\n emptyMandatoryFieldsMsg +\n '</ul><br/>';\n }\n\n // Add the header message of the empty mandatory fields\n if (notValidFieldsMsg.length > 0) {\n notValidFieldsMsg =\n '<div>' +\n this.translate.instant('MESSAGES.ERROR_INVALID_FIELDS') +\n \"</div><ul style='padding: 0 20px;'>\" +\n notValidFieldsMsg +\n '</ul>';\n }\n\n const title = this.translate.instant('MESSAGES.TITLE_NOTICE');\n const data = new PepDialogData({\n title,\n content: emptyMandatoryFieldsMsg + notValidFieldsMsg,\n });\n this.dialogService.openDefaultDialog(data);\n }\n\n ngOnInit(): void {\n const themeVars = this.customizationService.getThemeVariables();\n // convert rem to pixel\n const RemToPixel = 16;\n this.formGutterSize =\n this.customizationService.getNumberThemeVariable(\n themeVars,\n PepCustomizationService.FORM_SPACEING_KEY\n ) * RemToPixel;\n this.cardGutterSize =\n this.customizationService.getNumberThemeVariable(\n themeVars,\n PepCustomizationService.CARD_SPACEING_KEY\n ) * RemToPixel;\n }\n\n ngDoCheck(): void {\n const changes = this.differ.diff(this.data); // check for changes\n if (changes) {\n this.updateForm();\n this.checkForChanges = new Date();\n }\n }\n\n ngOnChanges(changes): void {\n // if (changes.data && changes.data.currentValue) {\n // // Load changes\n // if (!this.shouldReloadForm && changes.data.previousValue) {\n // this.data = changes.data.currentValue;\n // this.updateForm();\n // } else {\n // this._shouldReloadForm = false;\n // this.initForm();\n // }\n // }\n // if (this.shouldReloadForm || !changes?.data?.previousValue) {\n // this._shouldReloadForm = false;\n // this.initForm();\n // this.checkForChanges = new Date();\n // }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n getUiControlFields(): Array<UIControlField> {\n return this.layout ? this.layout.ControlFields : [];\n }\n\n initFieldsStructure(fields: PepFieldBase[], maxRow: number): void {\n const themeVars = this.customizationService.getThemeVariables();\n\n // Set form row height.\n if (this.layoutType === 'card') {\n const cardFieldHeight = this.customizationService.getNumberThemeVariable(\n themeVars,\n PepCustomizationService.CARD_FIELD_HEIGHT_KEY\n );\n this.rowHeight = cardFieldHeight;\n } else {\n const rowFieldHeight = this.customizationService.getNumberThemeVariable(\n themeVars,\n PepCustomizationService.FORM_FIELD_HEIGHT_KEY\n );\n const rowFieldTitleHeight = this.customizationService.getNumberThemeVariable(\n themeVars,\n PepCustomizationService.FORM_FIELD_TITLE_HEIGHT_KEY\n );\n this.rowHeight = rowFieldHeight + rowFieldTitleHeight;\n }\n\n // Create the fields structure (the fields must be sorted!!!).\n if (fields.length > 0) {\n // Init the layout.\n if (\n // this.layoutType === 'form' ||\n this.layoutType === 'table'\n ) {\n this.fields = fields;\n this._fieldsSubject.next(fields);\n\n this.rows = [];\n\n for (let i = 0; i <= maxRow; i++) {\n this.rows[i] = [];\n }\n\n // for (let i = 0; i < fields.length; i++) {\n // const field = fields[i]\n for (const field of fields) {\n this.rows[field.row].push(field);\n }\n } else {\n const doesfieldExistIn: boolean[][] = new Array(maxRow);\n\n for (let i = 0; i < doesfieldExistIn.length; i++) {\n doesfieldExistIn[i] = new Array(this.columns);\n\n for (let j = 0; j < doesfieldExistIn[i].length; j++) {\n doesfieldExistIn[i][j] = false;\n }\n }\n\n // Run in squere (row - colspan, col - rowspan) and put true where it should.\n // for (let index = 0; index < fields.length; index++) {\n // const currentField = fields[index];\n for (const currentField of fields) {\n if (currentField.rowSpan > 1) {\n for (\n let row: number = currentField.row;\n row < currentField.row + currentField.rowSpan;\n row++\n ) {\n if (currentField.colSpan > 1) {\n for (\n let col: number = currentField.col;\n col <\n currentField.col + currentField.colSpan;\n col++\n ) {\n if (\n doesfieldExistIn.length > row &&\n doesfieldExistIn[0].length > col\n ) {\n doesfieldExistIn[row][col] = true;\n }\n }\n } else {\n if (\n doesfieldExistIn.length > row &&\n doesfieldExistIn[0].length >\n currentField.col\n ) {\n doesfieldExistIn[row][\n currentField.col\n ] = true;\n }\n }\n }\n } else if (currentField.colSpan > 1) {\n for (\n let col: number = currentField.col;\n col < currentField.col + currentField.colSpan;\n col++\n ) {\n if (\n doesfieldExistIn.length > currentField.row &&\n doesfieldExistIn[0].length > col\n ) {\n doesfieldExistIn[currentField.row][col] = true;\n }\n }\n } else {\n if (\n doesfieldExistIn.length > currentField.row &&\n doesfieldExistIn[0].length > currentField.col\n ) {\n doesfieldExistIn[currentField.row][\n currentField.col\n ] = true;\n }\n }\n }\n\n // Create empty fields where doesfieldExistIn is false (For the md-grid-list UI Component).\n for (let i = 0; i < doesfieldExistIn.length; i++) {\n for (let j = 0; j < doesfieldExistIn[i].length; j++) {\n if (!doesfieldExistIn[i][j]) {\n // Create empty field and add it to the fields list.\n fields.push(\n new PepPlaceholderField({\n key: i + '_' + j,\n label: '',\n placeholder: '',\n readonly: false,\n disabled: false,\n hidden: false,\n mandatory: false,\n value: '',\n formattedValue: '',\n row: i,\n rowSpan: 1,\n col: j,\n colSpan: 1,\n order: 1,\n })\n );\n }\n }\n }\n\n // Sort the fields again.\n this.fields = fields.sort((f1, f2) =>\n f1.row > f2.row\n ? 1\n : f1.row < f2.row\n ? -1\n : f1.col > f2.col\n ? 1\n : f1.col < f2.col\n ? -1\n : 0\n );\n this._fieldsSubject.next(fields);\n }\n }\n }\n\n setForm(isForUpdate = false): void {\n let allFieldsAreReadOnly = true;\n\n if (!isForUpdate) {\n const fields = [];\n for (const currentField of this.fields) {\n // Add all fields except 'internalPage' (for children).\n if (currentField.controlType !== 'internalPage') {\n fields.push(currentField);\n }\n\n if (!currentField.readonly) {\n allFieldsAreReadOnly = false;\n }\n }\n\n this.form = this.toControlGroup(fields);\n } else {\n // Update form values if changed by calculated fields.\n for (let i = 0; i < this.fields.length; i++) {\n let currentField = this.fields[i];\n\n if (currentField.controlType === 'internalCarusel') {\n // Hack to override (update) the field.\n const uiControlField = this.getUiControlFields().find(cf => cf.ApiName === currentField.key);\n const dataField = this.data.Fields.find(df => df.ApiName === currentField.key);\n currentField = this.createBaseField(uiControlField, dataField);\n this._fieldsSubject.value[i] = currentField;\n } else if (currentField.controlType !== 'internalPage') {\n if (\n currentField.groupFields &&\n currentField.groupFields.length > 0\n ) {\n // for (let j = 0; j < currentField.groupFields.length; j++) {\n // let currentGroupField = currentField.groupFields[j];\n for (const currentGroupField of currentField.groupFields) {\n const fieldFormattedValue = this.getFieldFormattedValue(\n currentGroupField\n );\n this.customizationService.updateFormField(\n this.form,\n currentGroupField,\n fieldFormattedValue,\n currentField\n );\n }\n } else {\n const fieldFormattedValue = this.getFieldFormattedValue(\n currentField\n );\n // this.form.controls[currentField.key].setValue(fieldFormattedValue);\n this.customizationService.updateFormField(\n this.form,\n currentField,\n fieldFormattedValue\n );\n }\n }\n\n if (!currentField.readonly) {\n allFieldsAreReadOnly = false;\n }\n }\n }\n\n let isFormValid = this.form?.valid;\n\n // Change validation to true if all fields are read only.\n if (!isFormValid && allFieldsAreReadOnly) {\n isFormValid = true;\n }\n\n this.onFormValidationChanged(isFormValid);\n\n // Set it to false to enable all fields.\n this.isLocked = false;\n }\n\n initForm(): void {\n if (this.data && this.data.Fields) {\n const fields: PepFieldBase[] = this.convertCustomFields(\n this.getUiControlFields(),\n this.data.Fields\n );\n\n const maxRow = Math.max(\n ...fields.map((f) => {\n return f.row + f.rowSpan;\n })\n );\n this.columns = Math.max(\n ...fields.map((f) => {\n return f.col + f.colSpan;\n })\n );\n\n this.initFieldsStructure(fields, maxRow);\n this.setForm();\n }\n }\n\n private updateField(\n customField: PepFieldBase,\n updatedField: ObjectsDataRowCell\n ): void {\n const options: any = {\n disabled: !updatedField.Enabled || !this.canEditObject,\n readonly: !updatedField.Enabled || !this.canEditObject,\n visible: updatedField.Visible,\n value: updatedField.Value,\n additionalValue: updatedField.AdditionalValue,\n formattedValue: updatedField.FormattedValue,\n textColor: updatedField.TextColor,\n };\n\n if (customField instanceof PepQuantitySelectorField) {\n const notificationInfo = updatedField.NotificationInfo;\n options.notificationInfo = notificationInfo;\n } else if (customField instanceof PepSelectField) {\n options.options = this.convertOptionalValues(\n updatedField.OptionalValues\n );\n\n if (!options.options || options.options.length === 0) {\n options.options.push({\n key: options.value,\n value: options.formattedValue,\n });\n }\n } else if (customField instanceof PepInternalCaruselField) {\n options.pageInfo = updatedField.UIPageInfo;\n }\n\n customField.update(options);\n }\n\n updateForm(): void {\n if (this.data && this.data.Fields) {\n for (const currentField of this.data.Fields) {\n const customField = this.fields.filter(\n (f) => f.key === currentField.ApiName\n )[0];\n // Update all fields except 'internalPage' type (for children).\n if (customField && customField.controlType !== 'internalPage') {\n this.updateField(customField, currentField);\n\n // Update the group fields.\n if (\n customField.controlType === 'address' &&\n currentField.GroupFields\n ) {\n // for (let j = 0; j < currentField.GroupFields.length; j++) {\n // let currentGroupField = currentField.GroupFields[j];\n for (const currentGroupField of currentField.GroupFields) {\n currentGroupField.Enabled = !currentField.Enabled\n ? false\n : currentGroupField.Enabled;\n\n const customGroupField = customField.groupFields.filter(\n (f) => f.key === currentGroupField.ApiName\n )[0];\n this.updateField(\n customGroupField,\n currentGroupField\n );\n }\n }\n }\n }\n\n this.setForm(true);\n }\n }\n\n public ReloadForm(): void {\n this._shouldReloadForm = true;\n }\n\n // onSubmit() {\n // if (this.form.valid) {\n // this.payLoad = JSON.stringify(this.form.value);\n // //this.submitted.emit(this.form.value);\n // }\n // }\n\n private getFormControlById(key: string): AbstractControl | null {\n let formControl = null;\n\n this.fields.forEach((field) => {\n if (field.key === key) {\n formControl = this.form.get(field.key);\n return;\n } else if (field.groupFields && field.groupFields.length > 0) {\n field.groupFields.forEach((groupField) => {\n if (groupField.key === key) {\n formControl = this.form.get(\n field.key + '.' + groupField.key\n );\n return;\n }\n });\n }\n });\n\n return formControl;\n }\n\n private setSpecialFields(\n controlFields: Array<any>,\n dataFields: Array<any>\n ): void {\n // let cf;\n // for (let index = 0; index < controlFields.length; index++) {\n // cf = controlFields[index];\n for (const cf of controlFields) {\n if (cf.ApiName === 'ObjectMenu') {\n this.menuField = cf;\n } else if (cf.ApiName === 'ItemHasActiveCampaign') {\n this.hasCampaignField = cf;\n } else if (cf.ApiName === 'ItemIndicatorsWithoutCampaign') {\n this.indicatorsField = cf;\n }\n }\n\n // let df;\n // for (let index = 0; index < dataFields.length; index++) {\n // df = dataFields[index];\n for (const df of dataFields) {\n if (df.ApiName === 'ObjectMenu') {\n this.menuDataField = df;\n } else if (df.ApiName === 'ItemHasActiveCampaign') {\n this.hasCampaignDataField = df;\n } else if (df.ApiName === 'ItemIndicatorsWithoutCampaign') {\n this.indicatorsDataField = df;\n }\n }\n\n if (this.menuField && this.menuDataField) {\n this.menuDataField.Layout = this.menuField.Layout;\n }\n\n if (this.hasCampaignField && this.hasCampaignDataField) {\n this.hasCampaignDataField.Layout = this.hasCampaignField.Layout;\n }\n\n if (this.indicatorsField && this.indicatorsDataField) {\n this.indicatorsDataField.Layout = this.indicatorsField.Layout;\n }\n\n // Check if menu is floating on other field.\n // for (let index = 0; index < controlFields.length; index++) {\n // cf = controlFields[index];\n for (const cf of controlFields) {\n if (this.menuField && cf.ApiName !== 'ObjectMenu') {\n this.hasMenuFloatingOnOtherField = this.doesFieldHavaFloatingField(\n cf,\n this.menuField\n );\n\n if (this.hasMenuFloatingOnOtherField) {\n break;\n }\n }\n }\n }\n\n convertCustomFields(\n controlFields: Array<any>,\n dataFields: Array<any>\n ): PepFieldBase[] {\n if (this.layoutType !== 'table') {\n this.setSpecialFields(controlFields, dataFields);\n } else {\n // HACK: convert to center alignment if table view & special fields)\n controlFields.forEach((field, index) => {\n if (\n field.ApiName === 'UnitsQuantity' ||\n field.ApiName === 'QuantitySelector' ||\n field.ApiName === 'ObjectMenu' ||\n field.FieldType === FIELD_TYPE.Image ||\n field.FieldType === FIELD_TYPE.ImageURL ||\n field.FieldType === FIELD_TYPE.Indicators ||\n field.FieldType === FIELD_TYPE.Boolean ||\n field.FieldType === FIELD_TYPE.CalculatedBool ||\n field.FieldType === FIELD_TYPE.Signature ||\n field.FieldType ===\n FIELD_TYPE.NumberIntegerQuantitySelector ||\n field.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||\n field.FieldType === FIELD_TYPE.Package ||\n field.FieldType === FIELD_TYPE.NumberIntegerForMatrix ||\n field.FieldType === FIELD_TYPE.NumberRealForMatrix\n ) {\n field.Layout.XAlignment = X_ALIGNMENT_TYPE.Center;\n } else {\n // HACK: align the rest of the fields by the culture.\n // field.Layout.XAlignment = this.layoutService.isRtl() ? X_ALIGNMENT_TYPE.Right : X_ALIGNMENT_TYPE.Left;\n }\n });\n }\n\n const fields: PepFieldBase[] = [];\n\n controlFields.forEach((field, index) => {\n const dataField = dataFields.filter(\n (df) => df.ApiName === field.ApiName\n )[0];\n\n if (!dataField) {\n return;\n }\n\n // If current view is not table view and those fields are special.\n if (\n this.layoutType !== 'table' &&\n ((this.hasMenuFloatingOnOtherField &&\n this.menuField &&\n this.menuField.ApiName === field.ApiName) ||\n (this.indicatorsField &&\n this.indicatorsField.ApiName === field.ApiName) ||\n (this.hasCampaignField &&\n this.hasCampaignField.ApiName === field.ApiName))\n ) {\n return;\n }\n\n // Set type to link\n if (index === 0 && this.firstFieldAsLink) {\n dataField.FieldType = FIELD_TYPE.InternalLink;\n // dataField.Value = this.getInternalLinkHref();\n }\n\n if (field.ApiName === 'ObjectMenu') {\n dataField.Enabled = true;\n // HACK : Until \"Enabled\" returns from the server, we set PepMenu to be\n // Disabled in cart on regular items and not campign items.\n }\n const customField: PepFieldBase = this.createBaseField(field, dataField);\n fields.push(customField);\n });\n\n return fields.sort((f1, f2) =>\n f1.row > f2.row\n ? 1\n : f1.row < f2.row\n ? -1\n : f1.col > f2.col\n ? 1\n : f1.col < f2.col\n ? -1\n : 0\n );\n }\n\n onFormValidationChanged(formValidationChange: any): void {\n this.formValidationChange.emit(formValidationChange);\n }\n\n onValueChanged(event: IPepFieldValueChangeEvent): void {\n this.onFormValidationChanged(this.form.valid);\n\n const formControl = this.getFormControlById(event.key);\n\n const isValid = formControl ? formControl.valid : true;\n // const isValid = true;\n\n if (isValid) {\n // Set it to false to disable all fields.\n if (this.layoutType === 'form') {\n this.isLocked = true;\n }\n\n // Update the current field value.\n const currentField = this.fields.find((f) => f.key === event.key);\n if (currentField) {\n currentField.formattedValue = currentField.value = event.value;\n }\n\n this.valueChange.emit({\n id: this.data.UID.toString(),\n uiObjectKey: this.data.Key,\n key: event.key,\n value: event.value,\n controlType: event.controlType,\n });\n }\n }\n\n onClick(fieldClickEvent: IPepFieldClickEvent): void {\n const clickedUiControlField = this.data.Fields.filter(\n (f) => f.ApiName === fieldClickEvent.key\n )[0];\n const idType = this.data.Type ? this.data.Type.toString() : '';\n\n if (clickedUiControlField) {\n this.fieldClick.emit({\n id: this.data.UID.toString(),\n uiObjectKey: this.data.Key,\n key: fieldClickEvent.key,\n idType,\n which: fieldClickEvent.eventWhich,\n value: fieldClickEvent.value,\n controlType: fieldClickEvent.controlType,\n fieldType: clickedUiControlField.FieldType,\n otherData: fieldClickEvent.otherData,\n });\n } else {\n // For other api names (like enter children etc).\n this.fieldClick.emit({\n id: this.data.UID.toString(),\n uiObjectKey: this.data.Key,\n key: fieldClickEvent.key,\n idType,\n which: fieldClickEvent.eventWhich,\n value: fieldClickEvent.value,\n controlType: fieldClickEvent.controlType,\n otherData: fieldClickEvent.otherData,\n });\n }\n }\n\n // This event is for handle the internal page events.\n onInternalFormFieldClicked(internalFormFieldClick: any): void {\n this.internalFormFieldClick.emit(internalFormFieldClick);\n }\n\n // This event is for handle the internal page events.\n onInternalFormFieldChanged(internalFormFieldChange: any): void {\n this.internalFormFieldChange.emit(internalFormFieldChange);\n }\n\n // This event is for handle the related items change events.\n onFormValueChanged(event: IPepFormFieldValueChangeEvent): void {\n // this.valueChange.emit(event);\n }\n\n // This event is for handle the related items change events.\n onFormFieldClick(event: IPepFormFieldClickEvent): void {\n this.fieldClick.emit(event);\n }\n}\n","import {\n Component,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n OnDestroy,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepFieldBase,\n PepLayoutType,\n IPepFieldValueChangeEvent,\n IPepFieldClickEvent,\n} from '@pepperi-addons/ngx-lib';\nimport { IPepFormFieldClickEvent, IPepFormFieldValueChangeEvent } from './form.component';\n\n@Component({\n selector: 'pep-field-generator',\n templateUrl: './field-generator.component.html',\n styleUrls: ['./field-generator.component.scss'],\n encapsulation: ViewEncapsulation.Emulated,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepFieldGeneratorComponent implements OnChanges, OnDestroy {\n private _field: any;\n @Input()\n set field(value: any) {\n this._field = value;\n }\n get field(): any {\n return this._field;\n }\n\n @Input() isActive = false;\n @Input() uid: any = null;\n @Input() form: FormGroup;\n @Input() layoutType: PepLayoutType = 'form';\n @Input() showTitle = true;\n\n @Input() checkForChanges: any = null;\n @Output()\n valueChange: EventEmitter<IPepFieldValueChangeEvent> = new EventEmitter<IPepFieldValueChangeEvent>();\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n @Output() internalFormFieldChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() internalFormFieldClick: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n formValueChange: EventEmitter<IPepFormFieldValueChangeEvent> = new EventEmitter<IPepFormFieldValueChangeEvent>();\n @Output()\n formFieldClick: EventEmitter<IPepFormFieldClickEvent> = new EventEmitter<IPepFormFieldClickEvent>();\n\n get isValid(): boolean {\n if (this.field.readonly || this.field.disabled) {\n return true;\n } else {\n const formControl = this.form && this.form.get(this.field.key);\n\n if (formControl) {\n return formControl.valid;\n } else {\n return false;\n }\n }\n }\n\n get isTouched(): boolean {\n const formControl = this.form && this.form.get(this.field.key);\n return formControl ? formControl.touched : false;\n }\n\n get isDirty(): boolean {\n const formControl = this.form && this.form.get(this.field.key);\n return formControl ? formControl.dirty : false;\n }\n\n ngOnDestroy(): void {\n //\n }\n\n onFileChanged(fileData: any, field: PepFieldBase) {\n const value = fileData ? JSON.stringify(fileData) : '';\n const fieldValueChange = {\n key: field.key,\n value: value,\n controlType: field.controlType,\n };\n this.valueChange.emit(fieldValueChange);\n }\n\n onAddressValueChanged(\n valueChange: IPepFieldValueChangeEvent,\n field: PepFieldBase\n ) {\n const fieldValueChange = {\n key: valueChange.key,\n value: valueChange.value,\n controlType: field.controlType,\n };\n this.valueChange.emit(fieldValueChange);\n }\n\n onValueChanged(value: any, field: PepFieldBase): void {\n const fieldValueChange = {\n key: field.key,\n value: value.toString(),\n controlType: field.controlType,\n };\n this.valueChange.emit(fieldValueChange);\n }\n\n onInternalFormFieldChanged(internalFormFieldChange: any): void {\n this.internalFormFieldChange.emit(internalFormFieldChange);\n }\n\n onFormValidationChanged(formValidationChange: any): void {\n this.formValidationChange.emit(formValidationChange);\n }\n\n onClick(fieldClicked: any): void {\n this.elementClick.emit(fieldClicked);\n }\n\n onInternalFormFieldClick(internalFormFieldClick: any): void {\n this.internalFormFieldClick.emit(internalFormFieldClick);\n }\n\n onFormValueChanged(event: IPepFormFieldValueChangeEvent): void {\n this.formValueChange.emit(event);\n }\n\n onFormFieldClick(event: IPepFormFieldClickEvent): void {\n this.formFieldClick.emit(event);\n }\n\n ngOnChanges(changes: any): void {\n // debugger;\n // For testing.\n // this.field.disabled = this.field.readonly = false;\n }\n}\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { PepLayoutType } from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-indicators',\n templateUrl: './indicators.component.html',\n styleUrls: ['./indicators.component.scss', './indicators.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepIndicatorsComponent {\n @Input() key: string;\n @Input() value: string;\n\n controlType = 'indicators';\n\n @Input() layoutType: PepLayoutType = 'table';\n}\n","import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n Renderer2,\n ElementRef,\n OnDestroy,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n PepInternalButtonFieldType,\n PepInternalButtonField,\n} from '@pepperi-addons/ngx-lib';\nimport {\n PepButton,\n IPepButtonClickEvent,\n} from '@pepperi-addons/ngx-lib/button';\nimport { pepIconSystemBin } from '@pepperi-addons/ngx-lib/icon';\n\n@Component({\n selector: 'pep-internal-button',\n templateUrl: './internal-button.component.html',\n styleUrls: ['./internal-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepInternalButtonComponent\n implements OnInit, OnChanges, OnDestroy {\n @Input() key = '';\n @Input() value = '';\n @Input() formattedValue = '';\n @Input() label = '';\n @Input() referenceObjectInternalType: any;\n @Input() type: PepInternalButtonFieldType = 'button';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'button';\n\n @Input() form: FormGroup = null;\n @Input() showTitle = true;\n @Input() layoutType: PepLayoutType = 'form';\n\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n // standAlone = false;\n createNewReference = false;\n referenceButtons: Array<PepButton> = [\n {\n key: 'action',\n callback: (action: IPepButtonClickEvent) =>\n this.onButtonClicked(action.event),\n },\n {\n key: 'delete',\n callback: (action: IPepButtonClickEvent) => this.remove(),\n classNames: 'caution',\n iconName: pepIconSystemBin.name,\n },\n ];\n\n constructor(\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n ngOnInit(): void {\n // if (this.form === null) {\n // this.standAlone = true;\n // // this.form = this.customizationService.getDefaultFromGroup(this.key, this.value, this.mandatory, this.readonly, this.disabled);\n // const pepField = new PepInternalButtonField({\n // key: this.key,\n // value: this.value,\n // mandatory: this.mandatory,\n // readonly: this.readonly,\n // disabled: this.disabled,\n // });\n // this.form = this.customizationService.getDefaultFromGroup(pepField);\n\n // this.formattedValue = this.formattedValue || this.value;\n // this.renderer.addClass(\n // this.element.nativeElement,\n // PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n // );\n // }\n }\n\n ngOnChanges(changes: any): void {\n if (this.type === 'reference') {\n this.createNewReference = this.value.length === 0;\n this.referenceButtons[0].value = this.formattedValue;\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n // groupButtonClicked(action: IPepButtonClickEvent): void {\n // if (action.source.key === 'action') {\n // this.onButtonClicked(action.event);\n // } else if (action.source.key === 'delete') {\n // this.remove();\n // }\n // }\n\n onButtonClicked(event): void {\n if (this.type === 'reference') {\n const valueArr = this.value.split('/');\n\n this.elementClick.emit({\n key: this.key,\n value: valueArr[valueArr.length - 1], // .replace(/[^a-zA-Z0-9 ]/g, ''),\n controlType: this.controlType,\n eventWhich: event.which,\n otherData: this.referenceObjectInternalType,\n });\n } else if (this.type === 'button' && true) {\n this.elementClick.emit({\n key: this.key,\n value: this.value, // should contain the program name\n controlType: this.controlType,\n eventWhich: event.which,\n });\n } else {\n this.elementClick.emit({\n key: this.key,\n controlType: this.controlType,\n eventWhich: event.which,\n });\n }\n }\n\n hrefFunction(event): void {\n if (event.which === 1 /*|| event.which === 2*/) {\n this.onButtonClicked(event);\n }\n }\n\n openReferenceObjectInternal(event): void {\n this.elementClick.emit({\n key: this.key,\n value: this.value,\n controlType: this.controlType,\n eventWhich: event.which,\n otherData: this.referenceObjectInternalType,\n });\n }\n\n remove(): void {\n this.value = '';\n this.valueChange.emit(this.value);\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit,\n Renderer2,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n OnDestroy,\n OnChanges,\n} from '@angular/core';\nimport { delay } from 'rxjs/operators';\nimport {\n PepLayoutService,\n UIControl,\n UIControlField,\n FIELD_TYPE,\n ObjectsDataRow,\n} from '@pepperi-addons/ngx-lib';\nimport {\n IPepFormFieldClickEvent,\n IPepFormFieldValueChangeEvent,\n} from './form.component';\n\nexport type PepListViewType = 'cards' | 'lines' | 'table';\n\n@Component({\n selector: 'pep-internal-list',\n templateUrl: './internal-list.component.html',\n styleUrls: ['./internal-list.component.scss'],\n host: {\n '(window:resize)': 'winResize($event)',\n },\n})\nexport class PepInternalListComponent implements OnInit, OnChanges, OnDestroy {\n @Input() noDataFoundMsg = 'Items not found';\n @Input() hideAllSelectionInMulti = false;\n\n @Input() top = -1;\n @Input() objectId = '0';\n @Input() parentId = '0';\n @Input() searchCode = '0';\n // @Input() showTopBorder = false;\n @Input() supportResizing = true;\n @Input() parentScroll: Element | Window = null;\n @Input() disabled = false;\n @Input() disableEvents = false;\n @Input() disableSelectionItems = false;\n @Input() totalsRow = [];\n\n // @Output()\n // itemClick: EventEmitter<IPepListItemClickEvent> = new EventEmitter<IPepListItemClickEvent>();\n @Output()\n fieldClick: EventEmitter<any> = new EventEmitter<IPepFormFieldClickEvent>();\n @Output()\n valueChange: EventEmitter<IPepFormFieldValueChangeEvent> = new EventEmitter<IPepFormFieldValueChangeEvent>();\n\n @ViewChild('noVirtualScrollCont') noVirtualScrollCont: ElementRef;\n @ViewChild('tableHeader') tableHeader: ElementRef;\n @ViewChild('selectAllCB') selectAllCB: any;\n\n public uiControl: UIControl = null;\n public totalRows = -1;\n itemClass: string;\n isTable = false;\n private hasColumnWidthOfTypePercentage = true;\n\n private _items: Array<ObjectsDataRow> = null;\n get items(): Array<ObjectsDataRow> {\n return this._items;\n }\n\n // isCardView = false;\n private itemsCounter = 0;\n showItems = true;\n viewType: PepListViewType;\n scrollItems: Array<ObjectsDataRow>;\n\n public SEPARATOR = ',';\n\n nativeWindow: any = null;\n\n selectedItemId = '';\n hoveredItemId = '';\n\n private lockEvents = false;\n private containerWidth = 0;\n\n deviceHasMouse = false;\n\n // headerIsInFocus = false;\n\n // For resize\n pressedColumn = '';\n startX = 0;\n startWidth = 0;\n tableStartWidth = 0;\n\n isUserSelected = false;\n checkForChanges: any = null;\n useVirtualScroll = true;\n calculatedObjectHeight: string;\n\n constructor(\n private element: ElementRef,\n private layoutService: PepLayoutService,\n private cd: ChangeDetectorRef,\n private renderer: Renderer2\n ) {\n this.nativeWindow = window;\n this.deviceHasMouse = this.layoutService.getDeviceHasMouse();\n this.layoutService.onMouseOver$.subscribe((deviceHasMouse) => {\n this.deviceHasMouse = deviceHasMouse;\n });\n }\n\n ngOnInit(): void {\n this.containerWidth = 0;\n }\n\n ngOnChanges(changes): void {\n if (this.containerWidth <= 0) {\n this.setContainerWidth();\n }\n }\n\n ngOnDestroy(): void {\n // if (this.valueChange) {\n // this.valueChange.unsubscribe();\n // }\n // if (this.itemClick) {\n // this.itemClick.unsubscribe();\n // }\n // if (this.fieldClick) {\n // this.fieldClick.unsubscribe();\n // }\n }\n\n setContainerWidth(): void {\n const selectionCheckBoxWidth = 0;\n\n const rowHeight = 40; // the table row height (2.5rem * 16font-size).\n const style = window.getComputedStyle(\n this.element.nativeElement.parentElement\n );\n // The container-fluid class padding left + right + border\n const containerFluidSpacing =\n parseInt(style.paddingLeft, 10) + parseInt(style.paddingRight, 10);\n\n const parentContainer =\n this.element.nativeElement.parentElement.parentElement > 0\n ? this.element.nativeElement.parentElement.parentElement\n : this.element.nativeElement.parentElement;\n\n // Calculate if vertical scroll should appear, if so set the scroll width. (this.totalRows + 1) + 1 is for the header row.\n const scrollWidth =\n parentContainer.clientHeight < rowHeight * (this.totalRows + 1)\n ? 18\n : 0; // 18 is the default scroll width.\n\n // The selectionCheckBoxWidth width + containerFluidSpacing + scrollWidth.\n const rowHeaderWidthToSub =\n containerFluidSpacing + selectionCheckBoxWidth + scrollWidth;\n this.containerWidth = parentContainer.offsetWidth - rowHeaderWidthToSub;\n }\n\n clear(): void {\n this.cleanItems();\n this.uiControl = null;\n }\n\n private toggleItems(isVisible: boolean): void {\n this.showItems = isVisible;\n this.lockEvents = !isVisible;\n }\n\n private updateScrollItems(startIndex, endIndex, loadInChunks = true): void {\n this.scrollItems = this.items.slice(startIndex, endIndex);\n }\n\n getUniqItemId(itemId: string, itemType = ''): string {\n return itemId + this.SEPARATOR + itemType;\n }\n\n setLayout(): void {\n if (\n this.totalRows === 0 ||\n !this.uiControl ||\n !this.uiControl.ControlFields ||\n this.uiControl.ControlFields.length === 0\n ) {\n return;\n }\n\n this.uiControl.ControlFields.forEach((cf) => {\n if (cf.ColumnWidth === 0) {\n cf.ColumnWidth = 10;\n }\n\n if (\n this.isTable &&\n (cf.FieldType === FIELD_TYPE.Image ||\n // cf.FieldType === FIELD_TYPE.Indicators || ???\n cf.FieldType === FIELD_TYPE.Signature ||\n cf.FieldType === FIELD_TYPE.NumberIntegerQuantitySelector ||\n cf.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||\n cf.FieldType === FIELD_TYPE.NumberIntegerForMatrix ||\n cf.FieldType === FIELD_TYPE.NumberRealForMatrix ||\n cf.FieldType === FIELD_TYPE.Package ||\n cf.ApiName === 'UnitsQuantity' ||\n cf.ApiName === 'QuantitySelector')\n ) {\n cf.Layout.XAlignment = 3;\n }\n });\n\n if (!this.cd['destroyed']) {\n this.cd.detectChanges();\n }\n\n // Set the columns width.\n if (this.containerWidth <= 0) {\n this.setContainerWidth();\n }\n\n this.calcColumnsWidth();\n this.checkForChanges = new Date().getTime();\n }\n\n private calcColumnsWidth(): void {\n const fixedMultiple = 3.78; // for converting em to pixel.\n const length = this.uiControl.ControlFields.length;\n const selectionCheckBoxWidth = 0;\n\n // Is table AND there is at least one column of width type of percentage.\n if (this.isTable) {\n if (this.uiControl && this.uiControl.ControlFields) {\n this.hasColumnWidthOfTypePercentage =\n this.uiControl.ControlFields.filter(\n (cf) => cf.ColumnWidthType === 1\n ).length === 0;\n }\n }\n\n // If the columns size is fixed and the total is small then the container change it to percentage.\n if (!this.hasColumnWidthOfTypePercentage) {\n const totalFixedColsWidth = this.uiControl.ControlFields.map(\n (cf) => cf.ColumnWidth * fixedMultiple\n ).reduce((sum, current) => sum + current);\n\n if (window.innerWidth > totalFixedColsWidth) {\n this.hasColumnWidthOfTypePercentage = true;\n }\n }\n\n let totalCalcColsWidth = 0;\n\n // Calc by percentage\n if (this.hasColumnWidthOfTypePercentage) {\n const totalColsWidth: number = this.uiControl.ControlFields.map(\n (cf) => cf.ColumnWidth\n ).reduce((sum, current) => sum + current);\n\n for (let index = 0; index < length; index++) {\n const uiControlField: UIControlField = this.uiControl\n .ControlFields[index];\n const calcColumnWidthPercentage =\n (100 / totalColsWidth) * uiControlField.ColumnWidth;\n\n uiControlField.calcColumnWidth = Math.floor(\n (this.containerWidth * calcColumnWidthPercentage) / 100\n );\n\n if (index === length - 1) {\n uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString =\n 'calc(100% - ' + totalCalcColsWidth + 'px)'; // For 100%\n } else {\n uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString =\n uiControlField.calcColumnWidth + 'px';\n totalCalcColsWidth += uiControlField.calcColumnWidth;\n }\n }\n\n this.renderer.setStyle(\n this.element.nativeElement,\n 'width',\n 'inherit'\n );\n } else {\n for (let index = 0; index < length; index++) {\n const uiControlField: UIControlField = this.uiControl\n .ControlFields[index];\n const currentFixedWidth = Math.floor(\n uiControlField.ColumnWidth * fixedMultiple\n );\n\n if (index === length - 1) {\n uiControlField.calcTitleColumnWidthString =\n currentFixedWidth + 'px';\n uiControlField.calcColumnWidthString =\n currentFixedWidth - 4 + 'px'; // -4 for the row padding.\n } else {\n uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString =\n currentFixedWidth + 'px';\n }\n\n totalCalcColsWidth += currentFixedWidth;\n }\n\n this.renderer.setStyle(\n this.element.nativeElement,\n 'width',\n totalCalcColsWidth + selectionCheckBoxWidth + 'px'\n );\n }\n }\n\n private initResizeData(): void {\n this.startX = 0;\n this.startWidth = 0;\n this.tableStartWidth = 0;\n this.pressedColumn = '';\n }\n\n onListResizeStart(event, columnKey): void {\n this.pressedColumn = columnKey;\n this.startX = event.x;\n this.startWidth = event.target.closest('.header-column').offsetWidth;\n // Set the tableStartWidth to the container offsetWidth\n this.tableStartWidth = this.noVirtualScrollCont.nativeElement.offsetWidth;\n }\n\n onListResize(event): void {\n if (this.pressedColumn.length > 0) {\n const widthToAdd = this.layoutService.isRtl()\n ? this.startX - event.x\n : event.x - this.startX;\n\n // Set the width of the column and the container of the whole columns.\n if (this.startWidth + widthToAdd >= 48 || widthToAdd > 0) {\n const length = this.uiControl.ControlFields.length;\n let totalCalcColsWidth = 0;\n\n for (let index = 0; index < length; index++) {\n const uiControlField: UIControlField = this.uiControl\n .ControlFields[index];\n\n if (index === length - 1) {\n // Calc the last column only in percentage type.\n if (this.hasColumnWidthOfTypePercentage) {\n uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString =\n 'calc(100% - ' + totalCalcColsWidth + 'px)'; // For 100%\n } else {\n if (uiControlField.ApiName === this.pressedColumn) {\n uiControlField.calcColumnWidth =\n this.startWidth + widthToAdd;\n uiControlField.calcTitleColumnWidthString =\n uiControlField.calcColumnWidth + 'px';\n uiControlField.calcColumnWidthString =\n uiControlField.calcColumnWidth - 4 + 'px';\n }\n }\n } else if (uiControlField.ApiName === this.pressedColumn) {\n uiControlField.calcColumnWidth =\n this.startWidth + widthToAdd;\n uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString =\n uiControlField.calcColumnWidth + 'px';\n }\n\n totalCalcColsWidth += uiControlField.calcColumnWidth;\n }\n\n this.renderer.setStyle(\n this.element.nativeElement,\n 'width',\n this.tableStartWidth + widthToAdd + 'px'\n );\n }\n\n this.checkForChanges = new Date().getTime();\n }\n }\n\n getParent(el, parentSelector): any {\n // If no parentSelector defined will bubble up all the way to *document*\n if (parentSelector === undefined) {\n parentSelector = document;\n }\n const parent = [];\n let p = el.parentNode;\n\n while (\n p &&\n p.className !== '' &&\n p.className.indexOf(parentSelector) === -1 &&\n parentSelector !== document\n ) {\n const o = p;\n p = o.parentNode;\n }\n if (p.className.indexOf(parentSelector) > -1) {\n parent.push(p); // Push that parentSelector you wanted to stop at\n }\n return parent;\n }\n\n onListResizeEnd(event): void {\n if (this.pressedColumn.length > 0) {\n if (\n event &&\n this.getParent(event.srcElement, 'resize-box').length > 0\n ) {\n this.initResizeData();\n } else {\n setTimeout(() => {\n this.initResizeData();\n }, 0);\n }\n }\n }\n\n onListHeaderMouseEnter(event): void {\n // this.headerIsInFocus = true;\n }\n\n onListHeaderMouseLeave(event): void {\n // this.headerIsInFocus = false;\n this.onListResizeEnd(event);\n this.initResizeData();\n }\n\n onListChange(event: any): void {\n if (this.disableEvents) {\n return;\n }\n\n // For other events do nothing.\n if (\n typeof event.start === 'undefined' ||\n typeof event.end === 'undefined'\n ) {\n return;\n }\n\n this.calculatedObjectHeight = event.calculatedChildHeight + 'px';\n\n if (!this.lockEvents) {\n this.toggleItems(false);\n this.updateScrollItems(event.start, event.end, false);\n this.toggleItems(true);\n }\n }\n\n getParentContainer(): Element | Window {\n return this.parentScroll ? this.parentScroll : window;\n }\n\n onValueChanged(valueChange: IPepFormFieldValueChangeEvent): void {\n if (this.disabled) {\n return;\n }\n\n this.valueChange.emit(valueChange);\n }\n\n onCustomizeFieldClick(\n customizeFieldClickedData: IPepFormFieldClickEvent\n ): void {\n if (this.disabled) {\n return;\n }\n\n this.fieldClick.emit(customizeFieldClickedData);\n }\n\n getIsDisabled(item: ObjectsDataRow): boolean {\n if (this.disableSelectionItems) {\n return true;\n } else {\n const IsNotSelectableForActions =\n item && !item.IsSelectableForActions;\n return IsNotSelectableForActions;\n }\n }\n\n getIsItemSelected(itemId: string, itemType = ''): boolean {\n let isSelected = false;\n\n const uniqItemId = this.getUniqItemId(itemId, itemType);\n isSelected = uniqItemId === this.selectedItemId;\n\n return isSelected;\n }\n\n private setItemClicked(\n itemId,\n isSelectableForActions: boolean,\n itemType: string,\n isChecked: boolean\n ): void {\n const uniqItemId = this.getUniqItemId(itemId, itemType);\n\n // select the selected item.\n if (isChecked) {\n // Set seleted item\n this.selectedItemId = uniqItemId;\n } else {\n if (this.selectedItemId === uniqItemId) {\n this.selectedItemId = '';\n }\n }\n }\n\n itemClicked(e: any, item: ObjectsDataRow): void {\n // Set seleted item\n const itemId = item.UID.toString();\n const itemType = item.Type.toString();\n let isChecked = false;\n\n if (item && item.IsSelectableForActions) {\n this.selectedItemId = this.getUniqItemId(itemId, itemType);\n isChecked = true;\n }\n\n if (this.isTable) {\n this.setItemClicked(\n itemId,\n item.IsSelectableForActions,\n itemType,\n true\n );\n } else {\n if (this.disabled) {\n return;\n }\n }\n\n // this.itemClick.emit({ source: item, viewType: this.viewType });\n }\n\n onTableRowMouseEnter(event: any, itemId: string, itemType: string): void {\n if (!this.deviceHasMouse) {\n return;\n }\n\n const uniqItemId = this.getUniqItemId(itemId, itemType);\n this.hoveredItemId = uniqItemId;\n }\n\n onTableRowMouseLeave(event: any, itemId: string, itemType: string): void {\n this.hoveredItemId = '';\n }\n\n onCardMouseEnter(event: any, itemId: string, itemType: string): void {\n if (!this.deviceHasMouse) {\n return;\n }\n\n const uniqItemId = this.getUniqItemId(itemId, itemType);\n this.hoveredItemId = uniqItemId;\n }\n\n onCardMouseLeave(event: any, itemId: string, itemType: string): void {\n this.hoveredItemId = '';\n }\n\n // call this function after resize + animation end\n winResize(e): void {\n this.containerWidth = 0;\n this.setLayout();\n }\n\n trackByFunc(index: number, item: ObjectsDataRow): any {\n return item && item.UID ? item.UID : index;\n }\n\n cleanItems(): void {\n this.itemsCounter = 0;\n this._items =\n this.totalRows > 0 ? Array<ObjectsDataRow>(this.totalRows) : [];\n this.scrollItems = [];\n this.calculatedObjectHeight = '';\n }\n\n getUIControl(): UIControl {\n return this.uiControl;\n }\n\n initListData(\n uiControl: UIControl,\n totalRows: number,\n items: ObjectsDataRow[],\n viewType: PepListViewType = 'table',\n itemClass = ''\n ): void {\n this.viewType = viewType;\n this.isTable = viewType === 'table';\n // this.isCardView = viewType === 'cards';\n this.uiControl = uiControl;\n this.itemClass = itemClass;\n this.selectedItemId = '';\n this.totalRows = totalRows;\n\n // fix bug for the scrollTo that doesn't work on edge div , not window\n // const scrollingElement = this.getParentContainer();\n // scrollingElement.scrollTo(0, 0);\n\n this.cleanItems();\n\n this.updateItems(items);\n\n this.setLayout();\n }\n\n private updateItems(items: ObjectsDataRow[]): void {\n this.scrollItems = this._items = items;\n this.itemsCounter = items.length;\n }\n\n updateItem(data: any): void {\n let index = 0;\n\n // Update items list\n index = this.items.findIndex((i) => i && i.UID === data.UID);\n if (index >= 0 && index < this.items.length) {\n this.items[index] = data;\n }\n\n // Update scrollItems list\n index = this.scrollItems.findIndex((i) => i && i.UID === data.UID);\n\n if (index >= 0 && index < this.scrollItems.length) {\n this.scrollItems[index] = data;\n this.checkForChanges = new Date().getTime();\n }\n }\n\n getIsItemEditable(uid: string): boolean {\n const item = this.items.filter((x) => x.UID.toString() === uid);\n if (item.length > 0) {\n return item[0].IsEditable;\n } else {\n return false;\n }\n }\n\n getItemDataByID(uid: string): ObjectsDataRow {\n return this.items.find((item) => item.UID.toString() === uid);\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n OnDestroy,\n} from '@angular/core';\nimport {\n PepLayoutType,\n IPepOption,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-internal-menu',\n templateUrl: './internal-menu.component.html',\n styleUrls: ['./internal-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepInternalMenuComponent implements OnDestroy {\n @Input() key = '';\n @Input() label = '';\n @Input() disabled = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n // @Input() hasSubMenu = false;\n @Input() options: IPepOption[] = [];\n @Input() invertClass = true;\n\n controlType = 'menu';\n\n @Input() layoutType: PepLayoutType = 'form';\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n // @Output() menuItemClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n ngOnDestroy(): void {\n // if (this.elementClick) {\n // this.elementClick.unsubscribe();\n // }\n // if (this.menuItemClick) {\n // this.menuItemClick.unsubscribe();\n // }\n }\n\n menuClicked(event: any): void {\n this.elementClick.emit({\n key: this.key,\n controlType: this.controlType,\n eventWhich: event.which,\n });\n }\n\n menuItemClicked(itemKey: any): void {\n // Not in use comment in version 16.55 for webapp.\n // this.menuItemClick.emit({ key: itemKey });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PepHttpService } from '@pepperi-addons/ngx-lib';\n\n@Injectable()\nexport class PepInternalPageService {\n private transactionUrl: string;\n private objectId: string;\n private parentId = '0';\n private searchCode: string;\n private viewType: string;\n public additionalApiName = '';\n\n constructor(private httpService: PepHttpService) {\n this.transactionUrl = 'Service1.svc/v1/OrderCenter/Transaction/';\n }\n\n getBaseParentUrl(): string {\n const url = `${this.transactionUrl}${this.objectId}/ParentLine/${this.parentId}/`;\n return url;\n }\n\n getChildren(callbackFunc: any): void {\n const body = JSON.stringify({\n TransactionUID: this.objectId,\n SearchCode: this.searchCode,\n AdditionalApiName: this.additionalApiName,\n ParentTransactionLineID: this.parentId,\n ViewType: this.viewType,\n });\n\n // Set the additional api name with view type string.\n const moreParams =\n this.additionalApiName?.length > 0\n ? `${this.additionalApiName}/${this.viewType}`\n : `''/${this.viewType}`;\n\n const url = `${this.getBaseParentUrl()}Items/${moreParams}`;\n\n this.httpService.postWapiApiCall(url, body).subscribe(\n (res) => {\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n\n initDetails(\n objectId: string,\n parentId: string,\n searchCode: string,\n callbackFunc: any\n ): void {\n if (!objectId || !parentId) {\n return;\n }\n\n this.objectId = objectId;\n this.parentId = parentId;\n this.searchCode = searchCode;\n\n this.httpService\n .getWapiApiCall(`${this.getBaseParentUrl()}ViewTypes`)\n .subscribe(\n (res) => {\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n\n changeChildrenViewType(viewType: string, callbackFunc: any): void {\n this.viewType = viewType;\n this.getChildren(callbackFunc);\n }\n\n changeAdditionalApiName(\n additionalApiName: string,\n callbackFunc: any\n ): void {\n this.additionalApiName = additionalApiName;\n this.getChildren(callbackFunc);\n }\n\n childPlusClick(\n itemId: string,\n fieldApiName: string,\n callbackFunc: any\n ): void {\n const body = JSON.stringify({\n TransactionUID: this.objectId,\n SearchCode: this.searchCode,\n ParentTransactionLineID: this.parentId,\n TransactionLineUID: itemId,\n FieldApiName: fieldApiName,\n ViewType: this.viewType,\n });\n\n this.httpService\n .postWapiApiCall(`${this.getBaseParentUrl()}IncrementValue`, body)\n .subscribe(\n (res) => {\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n\n childMinusClick(\n itemId: string,\n fieldApiName: string,\n callbackFunc: any\n ): void {\n const body = JSON.stringify({\n TransactionUID: this.objectId,\n SearchCode: this.searchCode,\n ParentTransactionLineID: this.parentId,\n TransactionLineUID: itemId,\n FieldApiName: fieldApiName,\n ViewType: this.viewType,\n });\n\n this.httpService\n .postWapiApiCall(`${this.getBaseParentUrl()}DecrementValue`, body)\n .subscribe(\n (res) => {\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n\n childValueChanged(\n itemId: string,\n fieldApiName: string,\n value: string,\n callbackFunc: any\n ): void {\n const body = JSON.stringify({\n TransactionUID: this.objectId,\n SearchCode: this.searchCode,\n ParentTransactionLineID: this.parentId,\n TransactionLineUID: itemId,\n FieldApiName: fieldApiName,\n FieldValue: value,\n ViewType: this.viewType,\n });\n\n this.httpService\n .postWapiApiCall(`${this.getBaseParentUrl()}SetFieldValue`, body)\n .subscribe(\n (res) => {\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n}\n","import {\n Component,\n OnInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ViewContainerRef,\n TemplateRef,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { PepInternalPageService } from './internal-page.service';\n\nimport {\n PepLayoutType,\n UIControl,\n KeyValuePair,\n PepCustomizationService,\n UIControlField,\n ObjectsData,\n FIELD_TYPE,\n} from '@pepperi-addons/ngx-lib';\nimport {\n PepInternalListComponent,\n PepListViewType,\n} from './internal-list.component';\nimport {\n IPepFormFieldClickEvent,\n IPepFormFieldValueChangeEvent,\n} from './form.component';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { PepQuantitySelectorComponent } from '@pepperi-addons/ngx-lib/quantity-selector';\n\n@Component({\n selector: 'pep-internal-page',\n templateUrl: './internal-page.component.html',\n styleUrls: ['./internal-page.component.scss'],\n providers: [PepInternalPageService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepInternalPageComponent implements OnInit, OnDestroy {\n static CURRENT_ADDITIONAL_API_NAME =\n 'item_details_currentAdditionalApiName';\n\n controlType = 'internalPage';\n\n @Input() field: any;\n @Input() layoutType: PepLayoutType = 'form';\n\n @Output()\n internalFormFieldChange: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n internalFormFieldClick: EventEmitter<IPepFormFieldClickEvent> = new EventEmitter<IPepFormFieldClickEvent>();\n\n @ViewChild('my1mm') my1mm: ElementRef;\n @ViewChild('mainViewCont') mainViewCont: ElementRef;\n\n @ViewChild('orgCont', { read: ViewContainerRef }) orgCont: ViewContainerRef;\n @ViewChild('dialogCont', { read: ViewContainerRef })\n dialogCont: ViewContainerRef;\n @ViewChild('matrixTemplate') matrixTemplate: TemplateRef<any>;\n @ViewChild('matrixDialogTemplate', { read: TemplateRef })\n matrixDialogTemplate: TemplateRef<any>;\n\n @ViewChild(PepInternalListComponent)\n customList: PepInternalListComponent;\n\n resize: any;\n checkForChanges: any = null;\n\n childData: any = null;\n\n emptyForm: FormGroup;\n uiControl: UIControl;\n rows: any;\n lineViewRows: any;\n totalsRow: any = [];\n additionalApiNames: any = null;\n currentAdditionalApiName: any = null;\n focusedQS = false;\n fieldIdWithFocus = '';\n columnWidth = 100;\n coverChildTable = false;\n childViewTypes: Array<KeyValuePair<string>>;\n currentViewType: KeyValuePair<string> = null;\n currentViewTypeTitle: string;\n sumOfMinColWidth = 0;\n totalRowsWidth = 0;\n viewWidth = '100%';\n viewHeight = 'auto';\n displayQSbtns = true;\n selectedApiName = '';\n showSort = false;\n defaultRowSpan = -1;\n\n constructor(\n protected fb: FormBuilder,\n private dialogService: PepDialogService,\n private internalPageService: PepInternalPageService,\n public customizationService: PepCustomizationService,\n private elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) { }\n\n private fillData(isInDialog = false): void {\n const view = this.matrixTemplate.createEmbeddedView(null);\n\n this.customList?.clear();\n this.orgCont?.clear();\n\n if (isInDialog) {\n this.dialogCont?.clear();\n this.dialogCont?.insert(view);\n } else {\n this.orgCont?.insert(view);\n }\n\n setTimeout(() => {\n const viewType: PepListViewType = this.isTableView()\n ? 'table'\n : 'lines';\n this.customList.initListData(\n this.uiControl,\n this.childData.TotalRows,\n this.childData.Rows,\n viewType\n );\n this.setTotalsRow();\n\n // if (!this.childModal.isShown) {\n const childrenCount = this.childData.Rows\n ? this.childData.Rows.length\n : 0;\n const isEven = childrenCount % 2 === 0;\n // 3 for matrix & flat matrix because the header + total is 2 more rows.\n const rowsToAdd =\n this.isMatrixView() || this.isFlatMatrixView()\n ? isEven\n ? 3\n : 4\n : 1;\n\n const formRowHeight =\n this.customizationService.calculateFormFieldHeight() * 16; // convert rem to pixel\n\n // Set the default only if not set yet.\n if (this.defaultRowSpan === -1) {\n this.defaultRowSpan = this.field.rowSpan;\n }\n\n this.sumOfMinColWidth = 0;\n this.totalRowsWidth = 0;\n\n this.childData.UIControl.ControlFields.forEach(\n (uiControlField: UIControlField) => {\n this.totalRowsWidth += uiControlField.ColumnWidth;\n uiControlField.minFieldWidth = this.mmToPx(12); // NEED TO GET THIS PARAM FROM CUSTOMIZATION;\n this.sumOfMinColWidth += 12;\n }\n );\n\n this.setViewCover(this.childData.Rows);\n\n if (this.coverChildTable) {\n this.field.rowSpan = this.defaultRowSpan;\n } else {\n // For line view Add the height of the line (form height).\n if (this.currentViewType.Key === 'OrderCenterFlatMatrixLine') {\n const maxRow = Math.max(\n ...this.uiControl.ControlFields.map((f) => {\n return f.Layout.Y + f.Layout.Height;\n })\n );\n\n // * 16 convert rem to pixel\n const cardRowsHeight =\n this.customizationService.calculateCardRowsHeight(\n maxRow\n ) * 16;\n\n // maxRow * 24 + 60 - 24 for each row in card + 60 for the padding of each card.\n // const rowSpanToAdd = Math.floor(childrenCount * ((cardRowsHeight + 56) / formRowHeight) + rowsToAdd);\n // + 16 is the 1rem margin outside card.\n const rowSpanToAdd =\n (childrenCount * (cardRowsHeight + 16)) /\n formRowHeight +\n rowsToAdd;\n this.field.rowSpan = rowSpanToAdd;\n } else {\n // const tableRowsHeight = this.customizationService.calculateTableRowsHeight(childrenCount) * 16;\n // this.field.rowSpan = Math.ceil((tableRowsHeight + (rowsToAdd * 40)) / formRowHeight);\n // * 16 convert rem to pixel\n const rowsToAddHeight =\n this.customizationService.calculateTableRowsHeight(\n rowsToAdd,\n false\n ) * 16;\n const tableRowsHeight =\n this.customizationService.calculateTableRowsHeight(\n childrenCount\n ) * 16;\n this.field.rowSpan =\n (rowsToAddHeight + tableRowsHeight) / formRowHeight;\n }\n }\n }, 0);\n\n this.changeDetectorRef.markForCheck();\n }\n\n private fillChildData(res: any): void {\n this.childData = res;\n this.uiControl = res.UIControl;\n this.additionalApiNames = res.AdditionalApiNames;\n\n this.fillData();\n }\n\n mmToPx(mm): number {\n const height = this.my1mm.nativeElement.clientHeight;\n return Math.floor(mm * height); // returns sizes in PX\n }\n\n private isMatrixView(): boolean {\n return (\n this.currentViewType &&\n this.currentViewType.Key === 'OrderCenterMatrix'\n );\n }\n\n private isFlatMatrixView(): boolean {\n return (\n this.currentViewType &&\n this.currentViewType.Key === 'OrderCenterFlatMatrixGrid'\n );\n }\n\n isTableView(): boolean {\n return this.isMatrixView() || this.isFlatMatrixView();\n }\n\n changeChildrenViewType(viewTypeKey: string): void {\n this.rows = [];\n this.uiControl = null;\n\n for (const vt of this.childViewTypes) {\n if (vt.Key === viewTypeKey) {\n this.currentViewType = vt;\n break;\n }\n }\n\n this.currentViewTypeTitle = this.currentViewType.Value;\n\n this.internalPageService.changeChildrenViewType(\n this.currentViewType.Key,\n (res: ObjectsData) => {\n if (res.Rows) {\n this.fillChildData(res);\n }\n }\n );\n }\n\n setViewCover(rows): void {\n if (!rows) {\n return;\n }\n\n const matrixCont = this.mainViewCont.nativeElement;\n const viewWidth = matrixCont.clientWidth;\n\n this.viewWidth = viewWidth ? viewWidth.toString() : '100%';\n\n // if the matrix located on the bottom / there is nothing under the matrix we dont need to check the height\n if (parseInt(viewWidth, 10) < this.mmToPx(this.sumOfMinColWidth)) {\n this.coverChildTable = true;\n } else {\n this.coverChildTable = false;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n showMatrixDialog(): void {\n const config = this.dialogService.getDialogConfig(\n {\n disableClose: false,\n },\n 'large'\n );\n\n const dialogRef = this.dialogService.openDialog(\n this.matrixDialogTemplate,\n {},\n config\n );\n\n dialogRef.afterOpened().subscribe(() => {\n this.fillData(true);\n });\n\n dialogRef.afterClosed().subscribe((value) => {\n this.fillData(false);\n });\n }\n\n ngOnInit(): void {\n // let field = this.field as PepInternalPageField;\n\n this.internalPageService.initDetails(\n this.field.objectId,\n this.field.parentId,\n this.field.searchCode,\n (resViewTypes: any) => {\n // my code DI-7134\n resViewTypes.Rows = resViewTypes.Rows.filter(\n (item) => item.Key !== 'OrderCenterView1'\n );\n\n if (resViewTypes.Rows && resViewTypes.Rows.length > 0) {\n if (!resViewTypes.Default) {\n resViewTypes.Default = resViewTypes.Rows[0].Key;\n }\n this.childViewTypes = resViewTypes.Rows;\n this.currentViewType = resViewTypes.Rows[0];\n\n // for (var i = 0; i < resViewTypes.Rows.length; i++) {\n for (const viewTypeRow of resViewTypes.Rows) {\n if (viewTypeRow.Value === resViewTypes.Default) {\n this.currentViewType = viewTypeRow;\n }\n }\n\n this.loadLastAdditionalApiName();\n this.changeChildrenViewType(this.currentViewType.Key);\n }\n }\n );\n\n this.resize = fromEvent(window, 'resize')\n .pipe(debounceTime(10))\n .subscribe((event) => {\n this.setViewCover(this.rows);\n });\n }\n\n loadLastAdditionalApiName(): void {\n const daa = sessionStorage.getItem(\n PepInternalPageComponent.CURRENT_ADDITIONAL_API_NAME\n );\n if (daa && daa.length > 0) {\n const additionalApiName = JSON.parse(daa);\n this.currentAdditionalApiName = additionalApiName;\n this.internalPageService.additionalApiName = additionalApiName?.Key;\n }\n }\n\n ngOnDestroy(): void {\n if (this.resize) {\n this.resize.unsubscribe();\n }\n }\n\n changeAdditionalApiName(additionalApiName): void {\n this.internalPageService.changeAdditionalApiName(\n additionalApiName ? additionalApiName.Key : '',\n (res: any) => {\n // for (let index = 0; index < res.Rows.length; index++) {\n for (const row of res.Rows) {\n this.updateChanges(row);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n );\n\n sessionStorage.setItem(\n PepInternalPageComponent.CURRENT_ADDITIONAL_API_NAME,\n JSON.stringify(additionalApiName)\n );\n\n setTimeout(() => {\n this.currentAdditionalApiName = additionalApiName;\n }, 0);\n }\n\n setTotalsRow(): void {\n this.totalsRow = [];\n\n if (this.isMatrixView() || this.isFlatMatrixView()) {\n let totalCol = 0;\n\n const items = this.customList.items;\n if (items) {\n for (let col = 0; col < items[0].Fields.length; col++) {\n const field = items[0].Fields[col];\n if (\n field.FieldType === FIELD_TYPE.NumberIntegerForMatrix ||\n field.FieldType ===\n FIELD_TYPE.NumberIntegerQuantitySelector ||\n field.FieldType === FIELD_TYPE.NumberRealForMatrix ||\n field.FieldType ===\n FIELD_TYPE.NumberRealQuantitySelector ||\n field.FieldType === FIELD_TYPE.CalculatedInt ||\n field.FieldType === FIELD_TYPE.NumberInteger ||\n field.FieldType === FIELD_TYPE.CalculatedReal ||\n field.FieldType === FIELD_TYPE.NumberReal\n ) {\n totalCol = 0;\n for (const listItem of items) {\n if (\n listItem.Fields[col] &&\n listItem.Fields[col].Value\n ) {\n const num = parseFloat(\n listItem.Fields[col].Value\n );\n totalCol += isNaN(num) ? 0 : num;\n }\n }\n this.totalsRow.push(totalCol);\n } else {\n this.totalsRow.push('');\n }\n }\n }\n }\n }\n\n updateChanges(elementToUpdate: any): void {\n this.customList.updateItem(elementToUpdate);\n\n // Update memory data\n for (let index = 0; index < this.childData.Rows.length; index++) {\n if (this.childData.Rows[index].UID === elementToUpdate.UID) {\n this.childData.Rows[index] = elementToUpdate;\n }\n }\n }\n\n setValueCallback(id: any, res: any): void {\n if (res.Rows.length === 1) {\n const field = res.Rows[0].Fields.find((f) => f.ApiName === 'ObjectMenu');\n if (field) {\n // HACK : Until \"Enabled\" returns from the server, we set PepMenu to be\n // Disabled in cart on regular items and not campign items.\n field.Enabled = true;\n }\n\n this.updateChanges(res.Rows[0]);\n }\n\n this.setTotalsRow();\n this.checkForChanges = new Date();\n\n // DI-15985\n this.internalFormFieldChange.emit(res);\n\n this.changeDetectorRef.markForCheck();\n }\n\n onCustomizeObjectChanged(\n customizeObjectChangedData: IPepFormFieldValueChangeEvent\n ): void {\n this.internalPageService.childValueChanged(\n customizeObjectChangedData.id,\n customizeObjectChangedData.key,\n customizeObjectChangedData.value,\n (res: any) => {\n this.setValueCallback(customizeObjectChangedData.id, res);\n }\n );\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent): void {\n let handledEvent = false;\n\n // For the new custom form, the plus and minus events transform in the IPepFormFieldValueChangeEvent\n if (fieldClickEvent.controlType === 'qs') {\n if (fieldClickEvent.value === PepQuantitySelectorComponent.PLUS) {\n handledEvent = true;\n this.internalPageService.childPlusClick(\n fieldClickEvent.id,\n fieldClickEvent.key,\n (res: any) => {\n this.setValueCallback(fieldClickEvent.id, res);\n }\n );\n } else if (\n fieldClickEvent.value === PepQuantitySelectorComponent.MINUS\n ) {\n handledEvent = true;\n this.internalPageService.childMinusClick(\n fieldClickEvent.id,\n fieldClickEvent.key,\n (res: any) => {\n this.setValueCallback(fieldClickEvent.id, res);\n }\n );\n }\n }\n\n if (!handledEvent) {\n this.internalFormFieldClick.emit(fieldClickEvent);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PepHttpService } from '@pepperi-addons/ngx-lib';\n\n@Injectable()\nexport class PepInternalCaruselService {\n private eventUrl: string;\n\n constructor(private httpService: PepHttpService) {\n this.eventUrl = 'Service1.svc/v1/EmitEvent';\n }\n\n emitEvent(uiObjectKey: string, fieldKey: string, fieldValue: string, eventName: string, callbackFunc: any) {\n const body = {\n 'EventKey': eventName,\n 'EventData': JSON.stringify({\n UIObjectKey: uiObjectKey,\n FieldID: fieldKey,\n Value: fieldValue\n })\n };\n\n this.httpService.postWapiApiCall(`${this.eventUrl}`, body).subscribe(\n (res) => {\n console.log(res);\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n}\n","import {\n Component,\n OnInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n AfterViewInit,\n} from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { PepInternalCaruselService } from './internal-carusel.service';\n\nimport {\n PepLayoutType,\n UIControl,\n PepCustomizationService,\n ObjectsDataRow,\n PepInternalCaruselField,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport {\n IPepFormFieldClickEvent,\n IPepFormFieldValueChangeEvent,\n} from './form.component';\nimport { PepQuantitySelectorComponent } from '@pepperi-addons/ngx-lib/quantity-selector';\nimport { PepCarouselComponent } from '@pepperi-addons/ngx-lib/carousel';\n\n@Component({\n selector: 'pep-internal-carusel',\n templateUrl: './internal-carusel.component.html',\n styleUrls: ['./internal-carusel.component.scss'],\n providers: [PepInternalCaruselService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepInternalCaruselComponent implements OnInit, AfterViewInit {\n @ViewChild('carousel', { read: PepCarouselComponent })\n carousel: PepCarouselComponent;\n\n private _field: any;\n @Input()\n set field(value: any) {\n this._field = value;\n const caruselField = this._field as PepInternalCaruselField;\n\n if (caruselField && caruselField.pageInfo) {\n this.layout = caruselField.pageInfo.UIControl;\n this.items = caruselField.pageInfo.Rows;\n }\n }\n get field(): any {\n return this._field;\n }\n\n @Input() layoutType: PepLayoutType = 'form';\n\n @Output()\n internalFormFieldChange: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n internalFormFieldClick: EventEmitter<IPepFormFieldClickEvent> = new EventEmitter<IPepFormFieldClickEvent>();\n\n private _items: Array<any> = null;\n set items(value: Array<any>) {\n this._items = value;\n // this.moveTo(0);\n }\n get items() {\n return this._items;\n }\n\n layout: any = null;\n duration = 1000;\n\n private itemsToMove = 3;\n\n prevDisabled = false;\n nextDisabled = false;\n screenSize: PepScreenSizeType;\n PepScreenSizeType = PepScreenSizeType;\n\n constructor(\n protected fb: FormBuilder,\n private layoutService: PepLayoutService,\n private internalCaruselService: PepInternalCaruselService\n ) { }\n\n ngOnInit(): void {\n //\n }\n\n ngAfterViewInit(): void {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n });\n }\n\n onCustomizeObjectChanged(\n customizeObjectChangedData: IPepFormFieldValueChangeEvent\n ): void {\n this.internalCaruselService.emitEvent(customizeObjectChangedData.uiObjectKey, customizeObjectChangedData.key, customizeObjectChangedData.value, 'SetFieldValue', () => {\n this.internalFormFieldChange.emit(customizeObjectChangedData);\n });\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent): void {\n let handledEvent = false;\n\n // For the new custom form, the plus and minus events transform in the IPepFormFieldValueChangeEvent\n if (fieldClickEvent.controlType === 'qs') {\n if (fieldClickEvent.value === PepQuantitySelectorComponent.PLUS) {\n handledEvent = true;\n this.internalCaruselService.emitEvent(fieldClickEvent.uiObjectKey, fieldClickEvent.key, '', 'IncrementFieldValue', () => {\n this.internalFormFieldChange.emit({});\n });\n\n } else if (fieldClickEvent.value === PepQuantitySelectorComponent.MINUS) {\n handledEvent = true;\n this.internalCaruselService.emitEvent(fieldClickEvent.uiObjectKey, fieldClickEvent.key, '', 'DecrementFieldValue', () => {\n this.internalFormFieldChange.emit({});\n });\n }\n }\n\n if (!handledEvent) {\n this.internalFormFieldClick.emit(fieldClickEvent);\n }\n }\n\n moveLeft() {\n const indexToMove = Math.max(\n this.carousel.currIndex - this.itemsToMove,\n 0\n );\n this.moveTo(indexToMove);\n }\n\n moveRight() {\n const indexToMove = Math.min(\n this.carousel.currIndex + this.itemsToMove,\n this.items.length\n );\n this.moveTo(indexToMove);\n }\n\n moveTo(index: number) {\n if (this.carousel) {\n this.carousel.moveTo(index);\n }\n }\n\n onReachesLeftBound(event: boolean) {\n this.prevDisabled = event;\n }\n\n onReachesRightBound(event: boolean) {\n this.nextDisabled = event;\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\n\nimport { SignaturePadModule } from 'ngx-signaturepad';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n pepIconSystemMenu,\n pepIconNumberPlus,\n pepIconSystemBin,\n pepIconIndicatorDotPlaceholder,\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepAddressModule } from '@pepperi-addons/ngx-lib/address';\nimport { PepAttachmentModule } from '@pepperi-addons/ngx-lib/attachment';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepCarouselModule } from '@pepperi-addons/ngx-lib/carousel';\nimport { PepCheckboxModule } from '@pepperi-addons/ngx-lib/checkbox';\nimport { PepDateModule } from '@pepperi-addons/ngx-lib/date';\nimport { PepImageModule } from '@pepperi-addons/ngx-lib/image';\nimport { PepImagesFilmstripModule } from '@pepperi-addons/ngx-lib/images-filmstrip';\nimport { PepQuantitySelectorModule } from '@pepperi-addons/ngx-lib/quantity-selector';\nimport { PepRichHtmlTextareaModule } from '@pepperi-addons/ngx-lib/rich-html-textarea';\nimport { PepSelectModule } from '@pepperi-addons/ngx-lib/select';\nimport { PepSeparatorModule } from '@pepperi-addons/ngx-lib/separator';\nimport { PepSignatureModule } from '@pepperi-addons/ngx-lib/signature';\nimport { PepTextareaModule } from '@pepperi-addons/ngx-lib/textarea';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\n\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepGroupButtonsModule } from '@pepperi-addons/ngx-lib/group-buttons';\n\nconst pepComponentsModules = [\n PepAddressModule,\n PepAttachmentModule,\n PepButtonModule,\n PepCarouselModule,\n PepCheckboxModule,\n PepDateModule,\n PepImageModule,\n PepImagesFilmstripModule,\n PepQuantitySelectorModule,\n PepRichHtmlTextareaModule,\n PepSelectModule,\n PepSeparatorModule,\n PepSignatureModule,\n PepTextareaModule,\n PepTextboxModule,\n];\n\nimport { PepFormComponent } from './form.component';\nimport { PepFieldGeneratorComponent } from './field-generator.component';\nimport { PepIndicatorsComponent } from './indicators.component';\nimport { PepInternalButtonComponent } from './internal-button.component';\nimport { PepInternalListComponent } from './internal-list.component';\nimport { PepInternalMenuComponent } from './internal-menu.component';\nimport { PepInternalPageComponent } from './internal-page.component';\nimport { PepInternalCaruselComponent } from './internal-carusel.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatFormFieldModule,\n MatButtonModule,\n MatGridListModule,\n MatIconModule,\n MatMenuModule,\n // External modules\n SignaturePadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n PepIconModule,\n pepComponentsModules,\n PepFieldTitleModule,\n PepGroupButtonsModule,\n ],\n exports: [PepFormComponent],\n declarations: [\n PepFormComponent,\n PepFieldGeneratorComponent,\n PepIndicatorsComponent,\n PepInternalButtonComponent,\n PepInternalListComponent,\n PepInternalMenuComponent,\n PepInternalPageComponent,\n PepInternalCaruselComponent\n ],\n})\nexport class PepFormModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemEdit,\n pepIconSystemMenu,\n pepIconNumberPlus,\n pepIconSystemBin,\n pepIconIndicatorDotPlaceholder,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/form\n */\nexport * from './form.module';\nexport * from './form.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {PepFieldGeneratorComponent as ɵa} from './field-generator.component';\nexport {PepIndicatorsComponent as ɵb} from './indicators.component';\nexport {PepInternalButtonComponent as ɵc} from './internal-button.component';\nexport {PepInternalCaruselComponent as ɵh} from './internal-carusel.component';\nexport {PepInternalCaruselService as ɵi} from './internal-carusel.service';\nexport {PepInternalListComponent as ɵd} from './internal-list.component';\nexport {PepInternalMenuComponent as ɵe} from './internal-menu.component';\nexport {PepInternalPageComponent as ɵf} from './internal-page.component';\nexport {PepInternalPageService as ɵg} from './internal-page.service';"],"names":["EventEmitter","BehaviorSubject","DEFAULT_HORIZONTAL_ALIGNMENT","X_ALIGNMENT_TYPE","DEFAULT_VERTICAL_ALIGNMENT","Y_ALIGNMENT_TYPE","PepTextboxField","PepSelectField","PepInternalMenuField","FIELD_TYPE","PepQuantitySelectorField","PepAddressField","PepIndicatorsField","PepInternalPageField","PepInternalCaruselField","PepInternalButtonField","PepAttachmentField","PepSignatureField","PepImageField","PepImagesField","PepTextareaField","PepRichHtmlTextareaField","PepDateField","PepCheckboxField","PepSeparatorField","Validators","PepDialogData","PepCustomizationService","PepPlaceholderField","Component","ChangeDetectionStrategy","PepDialogService","PepLayoutService","FormBuilder","KeyValueDiffers","TranslateService","Input","Output","ViewEncapsulation","pepIconSystemBin","Renderer2","ElementRef","ChangeDetectorRef","ViewChild","Injectable","PepHttpService","fromEvent","debounceTime","PepQuantitySelectorComponent","ViewContainerRef","TemplateRef","PepScreenSizeType","PepCarouselComponent","PepAddressModule","PepAttachmentModule","PepButtonModule","PepCarouselModule","PepCheckboxModule","PepDateModule","PepImageModule","PepImagesFilmstripModule","PepQuantitySelectorModule","PepRichHtmlTextareaModule","PepSelectModule","PepSeparatorModule","PepSignatureModule","PepTextareaModule","PepTextboxModule","pepIconSystemEdit","pepIconSystemMenu","pepIconNumberPlus","pepIconIndicatorDotPlaceholder","NgModule","CommonModule","ReactiveFormsModule","MatCommonModule","MatFormFieldModule","MatButtonModule","MatGridListModule","MatIconModule","MatMenuModule","SignaturePadModule","PepNgxLibModule","PepDialogModule","PepIconModule","PepFieldTitleModule","PepGroupButtonsModule","PepIconRegistry"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-form.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-lib/form/form.component.ts","../../../projects/ngx-lib/form/field-generator.component.ts","../../../projects/ngx-lib/form/indicators.component.ts","../../../projects/ngx-lib/form/internal-button.component.ts","../../../projects/ngx-lib/form/internal-list.component.ts","../../../projects/ngx-lib/form/internal-menu.component.ts","../../../projects/ngx-lib/form/internal-page.service.ts","../../../projects/ngx-lib/form/internal-page.component.ts","../../../projects/ngx-lib/form/internal-carusel.service.ts","../../../projects/ngx-lib/form/internal-carusel.component.ts","../../../projects/ngx-lib/form/form.module.ts","../../../projects/ngx-lib/form/public-api.ts","../../../projects/ngx-lib/form/pepperi-addons-ngx-lib-form.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n Component,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n Input,\n KeyValueDiffers,\n Output,\n EventEmitter,\n OnChanges,\n DoCheck,\n Optional,\n} from '@angular/core';\nimport {\n FormGroup,\n FormBuilder,\n Validators,\n AbstractControl,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepDialogService,\n PepDialogData,\n} from '@pepperi-addons/ngx-lib/dialog';\nimport {\n IPepFieldValueChangeEvent,\n IPepFieldClickEvent,\n PepLayoutType,\n FIELD_TYPE,\n PepCustomizationService,\n PepLayoutService,\n UIControl,\n UIControlField,\n ObjectsDataRow,\n ObjectsDataRowCell,\n PepFieldBase,\n PepTextboxField,\n PepSelectField,\n PepInternalMenuField,\n PepQuantitySelectorField,\n PepAddressField,\n PepIndicatorsField,\n PepInternalPageField,\n PepInternalCaruselField,\n PepInternalButtonField,\n PepAttachmentField,\n PepSignatureField,\n PepImageField,\n PepImagesField,\n PepTextareaField,\n PepRichHtmlTextareaField,\n PepDateField,\n PepCheckboxField,\n PepSeparatorField,\n PepPlaceholderField,\n PepHorizontalAlignment,\n PepVerticalAlignment,\n X_ALIGNMENT_TYPE,\n Y_ALIGNMENT_TYPE,\n DEFAULT_VERTICAL_ALIGNMENT,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n KeyValuePair,\n IPepOption,\n} from '@pepperi-addons/ngx-lib';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { IPepFormFieldValueChangeEvent, IPepFormFieldClickEvent } from './form.model';\n\n@Component({\n selector: 'pep-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepFormComponent implements OnInit, DoCheck, OnChanges, OnDestroy {\n @Input() isReport = false;\n @Input() layout: UIControl;\n @Input() lockEvents = false;\n @Input() canEditObject = true;\n\n private _data: ObjectsDataRow = null;\n @Input()\n set data(value: ObjectsDataRow) {\n const shouldReload = this.shouldReloadForm || !this._data;\n this._data = value;\n\n if (shouldReload) {\n this._shouldReloadForm = false;\n this.initForm();\n } else {\n this.updateForm();\n }\n }\n\n get data(): ObjectsDataRow {\n return this._data;\n }\n\n @Input() isActive = false;\n @Input() layoutType: PepLayoutType = 'card';\n // @Input() listType = '';\n @Input() objectId = '0';\n @Input() parentId = '0';\n @Input() searchCode = '0';\n @Input() showTitle = true;\n @Input() firstFieldAsLink = false;\n @Input() checkForChanges: any = null;\n\n @Output()\n valueChange: EventEmitter<IPepFormFieldValueChangeEvent> = new EventEmitter<IPepFormFieldValueChangeEvent>();\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output()\n fieldClick: EventEmitter<IPepFormFieldClickEvent> = new EventEmitter<IPepFormFieldClickEvent>();\n\n @Output() internalFormFieldClick: EventEmitter<any> = new EventEmitter<any>();\n @Output() internalFormFieldChange: EventEmitter<any> = new EventEmitter<any>();\n\n isLocked = false;\n formGutterSize;\n cardGutterSize;\n rowHeight;\n // private matrixIsLast = false;\n // lastUpdatedFieldApiName: string = '';\n form: FormGroup;\n differ: any;\n\n // payLoad = '';\n private rows: Array<PepFieldBase[]> = [];\n fields: PepFieldBase[] = [];\n\n private _fieldsSubject: BehaviorSubject<PepFieldBase[]> = new BehaviorSubject<PepFieldBase[]>([]);\n get fields$(): Observable<PepFieldBase[]> {\n return this._fieldsSubject.asObservable();\n }\n\n columns = 1;\n\n private hasMenuFloatingOnOtherField = false;\n private menuField: any;\n private menuDataField: any;\n private hasCampaignField: any;\n private hasCampaignDataField: any;\n private indicatorsField: any;\n private indicatorsDataField: any = null;\n\n private _shouldReloadForm = false;\n get shouldReloadForm(): boolean {\n return this._shouldReloadForm;\n }\n\n // eventServiceSub: Subscription;\n // public jsonLib = JSON;\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private layoutService: PepLayoutService,\n private fb: FormBuilder,\n differs: KeyValueDiffers,\n private translate: TranslateService\n ) {\n // store the initial value to compare with\n this.differ = differs.find({}).create();\n }\n\n convertXAlignToHorizontalAlign(\n xAlign: X_ALIGNMENT_TYPE\n ): PepHorizontalAlignment {\n let res = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n if (\n xAlign === X_ALIGNMENT_TYPE.None ||\n xAlign === X_ALIGNMENT_TYPE.Left\n ) {\n res = 'left';\n } else if (xAlign === X_ALIGNMENT_TYPE.Right) {\n res = 'right';\n } else {\n res = 'center';\n }\n\n return res;\n }\n\n convertYAlignToVerticalAlign(\n yAlign: Y_ALIGNMENT_TYPE\n ): PepVerticalAlignment {\n let res = DEFAULT_VERTICAL_ALIGNMENT;\n\n if (\n yAlign === Y_ALIGNMENT_TYPE.None ||\n yAlign === Y_ALIGNMENT_TYPE.Top\n ) {\n res = 'top';\n } else if (yAlign === Y_ALIGNMENT_TYPE.Bottom) {\n res = 'bottom';\n } else {\n res = 'middle';\n }\n\n return res;\n }\n\n convertOptionalValues(\n optionalValues: Array<KeyValuePair<string>>\n ): IPepOption[] {\n if (optionalValues && optionalValues.length > 0) {\n return optionalValues.map((ov) => {\n return { key: ov.Key, value: ov.Value };\n });\n } else {\n return [];\n }\n }\n\n convertAddressFields(\n controlField: UIControlField,\n addressFields: Array<ObjectsDataRowCell>,\n canEditObject: boolean\n ): PepFieldBase[] {\n const fields: PepFieldBase[] = [];\n\n addressFields.forEach((field) => {\n let customField: PepFieldBase;\n const placeholder = field.ApiName;\n\n if (field.ApiName.toLowerCase().indexOf('street') >= 0) {\n customField = new PepTextboxField({\n key: field.ApiName,\n label: field.ApiName,\n type: 'text',\n placeholder,\n readonly: !canEditObject,\n disabled: !field.Enabled || !canEditObject,\n hidden: false,\n mandatory: false,\n value: field.Value,\n formattedValue: field.FormattedValue,\n row: 0,\n rowSpan: 1,\n col: 0,\n colSpan: 2,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n order: 0,\n });\n } else if (field.ApiName.toLowerCase().indexOf('city') >= 0) {\n customField = new PepTextboxField({\n key: field.ApiName,\n label: field.ApiName,\n type: 'text',\n placeholder,\n readonly: !canEditObject,\n disabled: !field.Enabled || !canEditObject,\n hidden: false,\n mandatory: false,\n value: field.Value,\n formattedValue: field.FormattedValue,\n row: 0,\n rowSpan: 1,\n col: 2,\n colSpan: 1,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n order: 1,\n });\n } else if (field.ApiName.toLowerCase().indexOf('state') >= 0) {\n customField = new PepSelectField({\n key: field.ApiName,\n label: field.ApiName,\n placeholder,\n options: this.convertOptionalValues(field.OptionalValues),\n readonly: !canEditObject,\n disabled: !field.Enabled || !canEditObject,\n hidden: false,\n mandatory: false,\n value: field.Value,\n formattedValue: field.FormattedValue,\n row: 1,\n rowSpan: 1,\n col: 0,\n colSpan: 1,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n order: 2,\n });\n } else if (field.ApiName.toLowerCase().indexOf('zipcode') >= 0) {\n customField = new PepTextboxField({\n key: field.ApiName,\n label: field.ApiName,\n type: 'text',\n placeholder,\n readonly: !canEditObject,\n disabled: !field.Enabled || !canEditObject,\n hidden: false,\n mandatory: false,\n value: field.Value,\n formattedValue: field.FormattedValue,\n row: 1,\n rowSpan: 1,\n col: 1,\n colSpan: 1,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n order: 3,\n });\n } else if (field.ApiName.toLowerCase().indexOf('country') >= 0) {\n customField = new PepSelectField({\n key: field.ApiName,\n label: field.ApiName,\n placeholder,\n options: this.convertOptionalValues(field.OptionalValues),\n readonly: !canEditObject,\n disabled: !field.Enabled || !canEditObject,\n hidden: false,\n mandatory: false,\n value: field.Value,\n formattedValue: field.FormattedValue,\n row: 2,\n rowSpan: 1,\n col: 2,\n colSpan: 1,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n order: 4,\n });\n }\n\n fields.push(customField);\n });\n\n return fields.sort((n1, n2) =>\n n1.order > n2.order ? 1 : n1.order < n2.order ? -1 : 0\n );\n }\n\n isMatrixField(apiNameToCheck: string): boolean {\n return apiNameToCheck.indexOf('Matrix') >= 0;\n }\n\n doesFieldHavaFloatingField(\n controlField: UIControlField,\n floatingField: any\n ): boolean {\n let hasFloatingField = false;\n if (\n floatingField.Layout.Y >= controlField.Layout.Y &&\n floatingField.Layout.Y <\n controlField.Layout.Y + controlField.Layout.Height &&\n floatingField.Layout.X >= controlField.Layout.X &&\n floatingField.Layout.X <\n controlField.Layout.X + controlField.Layout.Width\n ) {\n hasFloatingField = true;\n }\n\n return hasFloatingField;\n }\n\n getOptionsForCustomField(\n controlField: UIControlField,\n dataField: any,\n canEditObject: boolean\n ): any {\n if (!controlField || !dataField) {\n return;\n }\n\n const placeholder =\n controlField.ReadOnly || !canEditObject ? '' : controlField.Title;\n\n return {\n key: controlField.ApiName,\n label: controlField.Title,\n accessory: dataField.Accessory,\n placeholder,\n readonly: controlField.ReadOnly || !canEditObject,\n disabled: !dataField.Enabled || !canEditObject,\n hidden: controlField.Hidden,\n mandatory: controlField.Mandatory,\n value: dataField.Value,\n formattedValue: dataField.FormattedValue,\n additionalValue: dataField.AdditionalValue,\n row: controlField.Layout.Y,\n rowSpan: controlField.Layout.Height,\n col: controlField.Layout.X,\n colSpan: controlField.Layout.Width,\n xAlignment: this.convertXAlignToHorizontalAlign(\n controlField.Layout.XAlignment\n ),\n yAlignment: this.convertYAlignToVerticalAlign(\n controlField.Layout.YAlignment\n ),\n options: this.convertOptionalValues(dataField.OptionalValues),\n groupFields: undefined,\n maxFieldCharacters: controlField.MaxFieldCharacters,\n minValue: controlField.MinValue,\n maxValue: controlField.MaxValue,\n // hasMenu: hasMenu,\n // hasCampaign: hasCampaign,\n // hasIndicators: hasIndicators,\n textColor: dataField.TextColor,\n visible: dataField.Visible,\n };\n }\n\n convertToCustomField(\n controlField: UIControlField,\n dataField: any,\n canEditObject: boolean,\n menuField: any,\n hasCampaignField: any,\n indicatorsField: any,\n objectId: any,\n parentId: any,\n searchCode: any\n ): PepFieldBase {\n let customField: PepFieldBase;\n const options = this.getOptionsForCustomField(\n controlField,\n dataField,\n canEditObject\n );\n\n if (controlField.ApiName === 'ObjectMenu') {\n options.type = 'menu';\n customField = new PepInternalMenuField(options);\n } else if (\n controlField.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||\n controlField.FieldType ===\n FIELD_TYPE.NumberIntegerQuantitySelector ||\n controlField.ApiName === 'QuantitySelector' ||\n controlField.ApiName === 'UnitsQuantity' ||\n controlField.ApiName.indexOf('size_') === 0\n ) {\n if (dataField.FieldType === FIELD_TYPE.InternalLink) {\n options.type = 'button';\n } else if (dataField.FieldType === FIELD_TYPE.Package) {\n options.type = 'packageButton';\n } else if (\n dataField.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||\n dataField.FieldType === FIELD_TYPE.NumberReal\n ) {\n options.type = 'qs';\n options.allowDecimal = true;\n } else if (\n dataField.FieldType ===\n FIELD_TYPE.NumberIntegerQuantitySelector ||\n dataField.FieldType === FIELD_TYPE.NumberInteger\n ) {\n options.type = 'qs';\n options.allowDecimal = false;\n } else if (\n dataField.FieldType === FIELD_TYPE.NumberIntegerForMatrix\n ) {\n options.type = 'qsForMatrix';\n options.allowDecimal = false;\n } else if (dataField.FieldType === FIELD_TYPE.NumberRealForMatrix) {\n options.type = 'qsForMatrix';\n options.allowDecimal = true;\n }\n\n options.notificationInfo = dataField.NotificationInfo;\n customField = new PepQuantitySelectorField(options);\n } else {\n // HACK: need to remove this..\n if (\n dataField.FieldType === FIELD_TYPE.Indicators &&\n this.isMatrixField(dataField.ApiName)\n ) {\n dataField.FieldType = FIELD_TYPE.InternalPage;\n }\n\n switch (dataField.FieldType) {\n case FIELD_TYPE.Address: {\n const canEditGroupObject = controlField.ReadOnly\n ? false\n : canEditObject;\n options.groupFields = this.convertAddressFields(\n controlField,\n dataField.GroupFields,\n canEditGroupObject\n );\n customField = new PepAddressField(options);\n break;\n }\n case FIELD_TYPE.Indicators: {\n // options['type'] = 'indicators'; // Not needed this is PepIndicatorsField.\n customField = new PepIndicatorsField(options);\n break;\n }\n case FIELD_TYPE.InternalPage: {\n if (this.isMatrixField(controlField.ApiName)) {\n options.rowSpan = controlField.Layout.Height;\n options.objectId = objectId;\n options.parentId = parentId;\n options.searchCode = searchCode;\n\n customField = new PepInternalPageField(options);\n } else {\n // Not supported\n }\n break;\n }\n case FIELD_TYPE.RelatedObjectsCards: {\n options.rowSpan = controlField.Layout.Height;\n options.searchCode = searchCode;\n options.pageInfo = dataField.UIPageInfo;\n\n customField = new PepInternalCaruselField(options);\n break;\n }\n case FIELD_TYPE.Link: {\n options.type = 'link';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.InternalLink:\n case FIELD_TYPE.Button: {\n options.type = 'button';\n customField = new PepInternalButtonField(options);\n break;\n }\n case FIELD_TYPE.Attachment: {\n // options.type = 'attachment';\n customField = new PepAttachmentField(options);\n break;\n }\n case FIELD_TYPE.Signature: {\n // options.type = 'signature';\n customField = new PepSignatureField(options);\n break;\n }\n case FIELD_TYPE.Image:\n case FIELD_TYPE.ImageURL: {\n // options.type = 'image';\n options.menuField =\n menuField &&\n this.doesFieldHavaFloatingField(controlField, menuField)\n ? menuField\n : null;\n options.hasCampaignField =\n hasCampaignField &&\n this.doesFieldHavaFloatingField(\n controlField,\n hasCampaignField\n )\n ? hasCampaignField\n : null;\n options.indicatorsField =\n indicatorsField &&\n this.doesFieldHavaFloatingField(\n controlField,\n indicatorsField\n )\n ? indicatorsField\n : null;\n\n customField = new PepImageField(options);\n break;\n }\n case FIELD_TYPE.Images: {\n // options.type = 'images';\n customField = new PepImagesField(options);\n break;\n }\n case FIELD_TYPE.Email: {\n options.type = 'email';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Phone: {\n options.type = 'phone';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Duration: {\n options.type = 'duration';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Default:\n case FIELD_TYPE.TextBox:\n case FIELD_TYPE.LimitedLengthTextBox:\n case FIELD_TYPE.TextHeader:\n case FIELD_TYPE.CalculatedString:\n case FIELD_TYPE.MapDataString: {\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.TextArea: {\n customField = new PepTextareaField(options);\n break;\n }\n\n case FIELD_TYPE.RichTextHTML: {\n customField = new PepRichHtmlTextareaField(options);\n break;\n }\n case FIELD_TYPE.Date:\n case FIELD_TYPE.LimitedDate:\n case FIELD_TYPE.CalculatedDate:\n case FIELD_TYPE.DateAndTime: {\n options.type =\n dataField.FieldType === FIELD_TYPE.DateAndTime\n ? 'datetime'\n : 'date';\n customField = new PepDateField(options);\n break;\n }\n case FIELD_TYPE.NumberInteger:\n case FIELD_TYPE.CalculatedInt:\n case FIELD_TYPE.MapDataInt: {\n options.type = 'int';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Percentage: {\n options.type = 'percentage';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Currency: {\n options.type = 'currency';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.NumberReal:\n case FIELD_TYPE.CalculatedReal:\n case FIELD_TYPE.MapDataReal:\n case FIELD_TYPE.Sum:\n case FIELD_TYPE.Totals: {\n options.type = 'real';\n customField = new PepTextboxField(options);\n break;\n }\n case FIELD_TYPE.Boolean:\n case FIELD_TYPE.CalculatedBool: {\n customField = new PepCheckboxField(options);\n break;\n }\n case FIELD_TYPE.BooleanText: {\n options.type = 'booleanText';\n customField = new PepCheckboxField(options);\n break;\n }\n case FIELD_TYPE.ComboBox:\n case FIELD_TYPE.EmptyComboBox:\n case FIELD_TYPE.MapDataDropDown: {\n // options.type = 'select';\n customField = new PepSelectField(options);\n break;\n }\n case FIELD_TYPE.MultiTickBox:\n case FIELD_TYPE.MultiTickBoxToComboBox:\n case FIELD_TYPE.EmptyMultiTickBox: {\n options.type = 'multi';\n customField = new PepSelectField(options);\n break;\n }\n case FIELD_TYPE.GuidReferenceType: {\n options.type = 'reference';\n options.referenceObjectType = dataField.ReferenceObjectType;\n options.referenceObjectSubType =\n dataField.ReferenceObjectSubType;\n options.referenceObjectInternalType =\n dataField.ReferenceObjectInternalType;\n customField = new PepInternalButtonField(options);\n break;\n }\n case FIELD_TYPE.ListOfObjects: {\n options.type = 'listofobjects';\n customField = new PepInternalButtonField(options);\n break;\n }\n case FIELD_TYPE.Separator: {\n customField = new PepSeparatorField(options);\n break;\n }\n /*\n case FIELD_TYPE.Images: return that.field(value);\n */\n case FIELD_TYPE.NumberRealQuantitySelector:\n case FIELD_TYPE.NumberIntegerQuantitySelector: {\n options.type = 'qs';\n options.allowDecimal =\n dataField.FieldType ===\n FIELD_TYPE.NumberRealQuantitySelector;\n options.notificationInfo = dataField.NotificationInfo;\n\n customField = new PepQuantitySelectorField(options);\n break;\n }\n case FIELD_TYPE.Package: {\n options.type = 'packageButton';\n options.notificationInfo = dataField.NotificationInfo;\n\n customField = new PepQuantitySelectorField(options);\n break;\n }\n }\n }\n\n if (!customField) {\n options.label = controlField.ApiName + ' is not supported!!!';\n customField = new PepSeparatorField(options);\n }\n\n return customField;\n }\n\n getFieldFormattedValue(field: PepFieldBase): string {\n let fieldFormattedValue = field.formattedValue;\n\n // Fix for the custom check box component.\n if (field.controlType === 'checkbox') {\n fieldFormattedValue = fieldFormattedValue === 'true';\n }\n\n // Fix for the custom button component.\n if (field.controlType === 'button') {\n fieldFormattedValue =\n fieldFormattedValue === '0' ? '' : fieldFormattedValue;\n }\n\n return fieldFormattedValue;\n }\n\n private toControlGroup(fields: PepFieldBase[]): FormGroup {\n const group = {};\n if (fields && fields.length > 0) {\n fields.forEach((field) => {\n if (field.groupFields && field.groupFields.length > 0) {\n const subGroup = {};\n\n field.groupFields.forEach((groupField) => {\n if (\n groupField.mandatory &&\n !field.readonly &&\n !field.disabled\n ) {\n subGroup[groupField.key] = [\n {\n value: groupField.formattedValue || '',\n disabled:\n field.readonly ||\n field.disabled ||\n groupField.disabled,\n },\n [Validators.required],\n ];\n } else {\n subGroup[groupField.key] = [\n {\n value: groupField.formattedValue || '',\n disabled:\n field.readonly ||\n field.disabled ||\n groupField.disabled,\n },\n [Validators.nullValidator],\n ];\n }\n });\n\n group[field.key] = this.fb.group(subGroup);\n } else {\n const validators = field.getValidators();\n const fieldFormattedValue = this.getFieldFormattedValue(\n field\n );\n\n group[field.key] = [\n {\n value: fieldFormattedValue || '',\n disabled: field.disabled,\n },\n validators,\n ];\n }\n });\n }\n\n return this.fb.group(group);\n }\n\n private createBaseField(uiControlField: UIControlField, dataField: any) {\n const customField: PepFieldBase = this.convertToCustomField(\n uiControlField,\n dataField,\n this.canEditObject,\n this.menuDataField,\n this.hasCampaignDataField,\n this.indicatorsDataField,\n this.objectId,\n this.parentId,\n this.searchCode\n );\n\n return customField;\n }\n\n public showFormValidationMessage(): void {\n const fields: PepFieldBase[] = this.fields;\n let emptyMandatoryFieldsMsg = '';\n let notValidFieldsMsg = '';\n\n // for (let i: number = 0; i < fields.length; i++) {\n // let field = fields[i];\n for (const field of fields) {\n const formControl = this.form && this.form.get(field.key);\n\n if (formControl) {\n // Mandatory is empty.\n if (\n field.mandatory &&\n formControl.value.toString().trim().length === 0\n ) {\n emptyMandatoryFieldsMsg +=\n '<li><small>' + field.label + '</small></li>';\n } else if (!field.disabled && !formControl.valid) {\n notValidFieldsMsg +=\n '<li><small>' + field.label + '</small></li>';\n }\n }\n }\n\n // Add the header message of the empty mandatory fields\n if (emptyMandatoryFieldsMsg.length > 0) {\n emptyMandatoryFieldsMsg =\n '<div>' +\n this.translate.instant('MESSAGES.ERROR_MANDATORY_FIELDS') +\n \"</div><ul style='padding: 0 20px;'>\" +\n emptyMandatoryFieldsMsg +\n '</ul><br/>';\n }\n\n // Add the header message of the empty mandatory fields\n if (notValidFieldsMsg.length > 0) {\n notValidFieldsMsg =\n '<div>' +\n this.translate.instant('MESSAGES.ERROR_INVALID_FIELDS') +\n \"</div><ul style='padding: 0 20px;'>\" +\n notValidFieldsMsg +\n '</ul>';\n }\n\n const title = this.translate.instant('MESSAGES.TITLE_NOTICE');\n const data = new PepDialogData({\n title,\n content: emptyMandatoryFieldsMsg + notValidFieldsMsg,\n });\n this.dialogService.openDefaultDialog(data);\n }\n\n ngOnInit(): void {\n const themeVars = this.customizationService.getThemeVariables();\n // convert rem to pixel\n const RemToPixel = 16;\n this.formGutterSize =\n this.customizationService.getNumberThemeVariable(\n themeVars,\n PepCustomizationService.FORM_SPACEING_KEY\n ) * RemToPixel;\n this.cardGutterSize =\n this.customizationService.getNumberThemeVariable(\n themeVars,\n PepCustomizationService.CARD_SPACEING_KEY\n ) * RemToPixel;\n }\n\n ngDoCheck(): void {\n const changes = this.differ.diff(this.data); // check for changes\n if (changes) {\n this.updateForm();\n this.checkForChanges = new Date();\n }\n }\n\n ngOnChanges(changes): void {\n // if (changes.data && changes.data.currentValue) {\n // // Load changes\n // if (!this.shouldReloadForm && changes.data.previousValue) {\n // this.data = changes.data.currentValue;\n // this.updateForm();\n // } else {\n // this._shouldReloadForm = false;\n // this.initForm();\n // }\n // }\n // if (this.shouldReloadForm || !changes?.data?.previousValue) {\n // this._shouldReloadForm = false;\n // this.initForm();\n // this.checkForChanges = new Date();\n // }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n getUiControlFields(): Array<UIControlField> {\n return this.layout ? this.layout.ControlFields : [];\n }\n\n initFieldsStructure(fields: PepFieldBase[], maxRow: number): void {\n const themeVars = this.customizationService.getThemeVariables();\n\n // Set form row height.\n if (this.layoutType === 'card') {\n const cardFieldHeight = this.customizationService.getNumberThemeVariable(\n themeVars,\n PepCustomizationService.CARD_FIELD_HEIGHT_KEY\n );\n this.rowHeight = cardFieldHeight;\n } else {\n const rowFieldHeight = this.customizationService.getNumberThemeVariable(\n themeVars,\n PepCustomizationService.FORM_FIELD_HEIGHT_KEY\n );\n const rowFieldTitleHeight = this.customizationService.getNumberThemeVariable(\n themeVars,\n PepCustomizationService.FORM_FIELD_TITLE_HEIGHT_KEY\n );\n this.rowHeight = rowFieldHeight + rowFieldTitleHeight;\n }\n\n // Create the fields structure (the fields must be sorted!!!).\n if (fields.length > 0) {\n // Init the layout.\n if (\n // this.layoutType === 'form' ||\n this.layoutType === 'table'\n ) {\n this.fields = fields;\n this._fieldsSubject.next(fields);\n\n this.rows = [];\n\n for (let i = 0; i <= maxRow; i++) {\n this.rows[i] = [];\n }\n\n // for (let i = 0; i < fields.length; i++) {\n // const field = fields[i]\n for (const field of fields) {\n this.rows[field.row].push(field);\n }\n } else {\n const doesfieldExistIn: boolean[][] = new Array(maxRow);\n\n for (let i = 0; i < doesfieldExistIn.length; i++) {\n doesfieldExistIn[i] = new Array(this.columns);\n\n for (let j = 0; j < doesfieldExistIn[i].length; j++) {\n doesfieldExistIn[i][j] = false;\n }\n }\n\n // Run in squere (row - colspan, col - rowspan) and put true where it should.\n // for (let index = 0; index < fields.length; index++) {\n // const currentField = fields[index];\n for (const currentField of fields) {\n if (currentField.rowSpan > 1) {\n for (\n let row: number = currentField.row;\n row < currentField.row + currentField.rowSpan;\n row++\n ) {\n if (currentField.colSpan > 1) {\n for (\n let col: number = currentField.col;\n col <\n currentField.col + currentField.colSpan;\n col++\n ) {\n if (\n doesfieldExistIn.length > row &&\n doesfieldExistIn[0].length > col\n ) {\n doesfieldExistIn[row][col] = true;\n }\n }\n } else {\n if (\n doesfieldExistIn.length > row &&\n doesfieldExistIn[0].length >\n currentField.col\n ) {\n doesfieldExistIn[row][\n currentField.col\n ] = true;\n }\n }\n }\n } else if (currentField.colSpan > 1) {\n for (\n let col: number = currentField.col;\n col < currentField.col + currentField.colSpan;\n col++\n ) {\n if (\n doesfieldExistIn.length > currentField.row &&\n doesfieldExistIn[0].length > col\n ) {\n doesfieldExistIn[currentField.row][col] = true;\n }\n }\n } else {\n if (\n doesfieldExistIn.length > currentField.row &&\n doesfieldExistIn[0].length > currentField.col\n ) {\n doesfieldExistIn[currentField.row][\n currentField.col\n ] = true;\n }\n }\n }\n\n // Create empty fields where doesfieldExistIn is false (For the md-grid-list UI Component).\n for (let i = 0; i < doesfieldExistIn.length; i++) {\n for (let j = 0; j < doesfieldExistIn[i].length; j++) {\n if (!doesfieldExistIn[i][j]) {\n // Create empty field and add it to the fields list.\n fields.push(\n new PepPlaceholderField({\n key: i + '_' + j,\n label: '',\n placeholder: '',\n readonly: false,\n disabled: false,\n hidden: false,\n mandatory: false,\n value: '',\n formattedValue: '',\n row: i,\n rowSpan: 1,\n col: j,\n colSpan: 1,\n order: 1,\n })\n );\n }\n }\n }\n\n // Sort the fields again.\n this.fields = fields.sort((f1, f2) =>\n f1.row > f2.row\n ? 1\n : f1.row < f2.row\n ? -1\n : f1.col > f2.col\n ? 1\n : f1.col < f2.col\n ? -1\n : 0\n );\n this._fieldsSubject.next(fields);\n }\n }\n }\n\n setForm(isForUpdate = false): void {\n let allFieldsAreReadOnly = true;\n\n if (!isForUpdate) {\n const fields = [];\n for (const currentField of this.fields) {\n // Add all fields except 'internalPage' (for children).\n if (currentField.controlType !== 'internalPage') {\n fields.push(currentField);\n }\n\n if (!currentField.readonly) {\n allFieldsAreReadOnly = false;\n }\n }\n\n this.form = this.toControlGroup(fields);\n } else {\n // Update form values if changed by calculated fields.\n for (let i = 0; i < this.fields.length; i++) {\n let currentField = this.fields[i];\n\n if (currentField.controlType === 'internalCarusel') {\n // Hack to override (update) the field.\n const uiControlField = this.getUiControlFields().find(cf => cf.ApiName === currentField.key);\n const dataField = this.data.Fields.find(df => df.ApiName === currentField.key);\n currentField = this.createBaseField(uiControlField, dataField);\n this._fieldsSubject.value[i] = currentField;\n } else if (currentField.controlType !== 'internalPage') {\n if (\n currentField.groupFields &&\n currentField.groupFields.length > 0\n ) {\n // for (let j = 0; j < currentField.groupFields.length; j++) {\n // let currentGroupField = currentField.groupFields[j];\n for (const currentGroupField of currentField.groupFields) {\n const fieldFormattedValue = this.getFieldFormattedValue(\n currentGroupField\n );\n this.customizationService.updateFormField(\n this.form,\n currentGroupField,\n fieldFormattedValue,\n currentField\n );\n }\n } else {\n const fieldFormattedValue = this.getFieldFormattedValue(\n currentField\n );\n // this.form.controls[currentField.key].setValue(fieldFormattedValue);\n this.customizationService.updateFormField(\n this.form,\n currentField,\n fieldFormattedValue\n );\n }\n }\n\n if (!currentField.readonly) {\n allFieldsAreReadOnly = false;\n }\n }\n }\n\n let isFormValid = this.form?.valid;\n\n // Change validation to true if all fields are read only.\n if (!isFormValid && allFieldsAreReadOnly) {\n isFormValid = true;\n }\n\n this.onFormValidationChanged(isFormValid);\n\n // Set it to false to enable all fields.\n this.isLocked = false;\n }\n\n initForm(): void {\n if (this.data && this.data.Fields) {\n const fields: PepFieldBase[] = this.convertCustomFields(\n this.getUiControlFields(),\n this.data.Fields\n );\n\n const maxRow = Math.max(\n ...fields.map((f) => {\n return f.row + f.rowSpan;\n })\n );\n this.columns = Math.max(\n ...fields.map((f) => {\n return f.col + f.colSpan;\n })\n );\n\n this.initFieldsStructure(fields, maxRow);\n this.setForm();\n }\n }\n\n private updateField(\n customField: PepFieldBase,\n updatedField: ObjectsDataRowCell\n ): void {\n const options: any = {\n disabled: !updatedField.Enabled || !this.canEditObject,\n readonly: !updatedField.Enabled || !this.canEditObject,\n visible: updatedField.Visible,\n value: updatedField.Value,\n additionalValue: updatedField.AdditionalValue,\n formattedValue: updatedField.FormattedValue,\n textColor: updatedField.TextColor,\n };\n\n if (customField instanceof PepQuantitySelectorField) {\n const notificationInfo = updatedField.NotificationInfo;\n options.notificationInfo = notificationInfo;\n } else if (customField instanceof PepSelectField) {\n options.options = this.convertOptionalValues(\n updatedField.OptionalValues\n );\n\n if (!options.options || options.options.length === 0) {\n options.options.push({\n key: options.value,\n value: options.formattedValue,\n });\n }\n } else if (customField instanceof PepInternalCaruselField) {\n options.pageInfo = updatedField.UIPageInfo;\n }\n\n customField.update(options);\n }\n\n updateForm(): void {\n if (this.data && this.data.Fields) {\n for (const currentField of this.data.Fields) {\n const customField = this.fields.filter(\n (f) => f.key === currentField.ApiName\n )[0];\n // Update all fields except 'internalPage' type (for children).\n if (customField && customField.controlType !== 'internalPage') {\n this.updateField(customField, currentField);\n\n // Update the group fields.\n if (\n customField.controlType === 'address' &&\n currentField.GroupFields\n ) {\n // for (let j = 0; j < currentField.GroupFields.length; j++) {\n // let currentGroupField = currentField.GroupFields[j];\n for (const currentGroupField of currentField.GroupFields) {\n currentGroupField.Enabled = !currentField.Enabled\n ? false\n : currentGroupField.Enabled;\n\n const customGroupField = customField.groupFields.filter(\n (f) => f.key === currentGroupField.ApiName\n )[0];\n this.updateField(\n customGroupField,\n currentGroupField\n );\n }\n }\n }\n }\n\n this.setForm(true);\n }\n }\n\n public ReloadForm(): void {\n this._shouldReloadForm = true;\n }\n\n // onSubmit() {\n // if (this.form.valid) {\n // this.payLoad = JSON.stringify(this.form.value);\n // //this.submitted.emit(this.form.value);\n // }\n // }\n\n private getFormControlById(key: string): AbstractControl | null {\n let formControl = null;\n\n this.fields.forEach((field) => {\n if (field.key === key) {\n formControl = this.form.get(field.key);\n return;\n } else if (field.groupFields && field.groupFields.length > 0) {\n field.groupFields.forEach((groupField) => {\n if (groupField.key === key) {\n formControl = this.form.get(\n field.key + '.' + groupField.key\n );\n return;\n }\n });\n }\n });\n\n return formControl;\n }\n\n private setSpecialFields(\n controlFields: Array<any>,\n dataFields: Array<any>\n ): void {\n // let cf;\n // for (let index = 0; index < controlFields.length; index++) {\n // cf = controlFields[index];\n for (const cf of controlFields) {\n if (cf.ApiName === 'ObjectMenu') {\n this.menuField = cf;\n } else if (cf.ApiName === 'ItemHasActiveCampaign') {\n this.hasCampaignField = cf;\n } else if (cf.ApiName === 'ItemIndicatorsWithoutCampaign') {\n this.indicatorsField = cf;\n }\n }\n\n // let df;\n // for (let index = 0; index < dataFields.length; index++) {\n // df = dataFields[index];\n for (const df of dataFields) {\n if (df.ApiName === 'ObjectMenu') {\n this.menuDataField = df;\n } else if (df.ApiName === 'ItemHasActiveCampaign') {\n this.hasCampaignDataField = df;\n } else if (df.ApiName === 'ItemIndicatorsWithoutCampaign') {\n this.indicatorsDataField = df;\n }\n }\n\n if (this.menuField && this.menuDataField) {\n this.menuDataField.Layout = this.menuField.Layout;\n }\n\n if (this.hasCampaignField && this.hasCampaignDataField) {\n this.hasCampaignDataField.Layout = this.hasCampaignField.Layout;\n }\n\n if (this.indicatorsField && this.indicatorsDataField) {\n this.indicatorsDataField.Layout = this.indicatorsField.Layout;\n }\n\n // Check if menu is floating on other field.\n // for (let index = 0; index < controlFields.length; index++) {\n // cf = controlFields[index];\n for (const cf of controlFields) {\n if (this.menuField && cf.ApiName !== 'ObjectMenu') {\n this.hasMenuFloatingOnOtherField = this.doesFieldHavaFloatingField(\n cf,\n this.menuField\n );\n\n if (this.hasMenuFloatingOnOtherField) {\n break;\n }\n }\n }\n }\n\n convertCustomFields(\n controlFields: Array<any>,\n dataFields: Array<any>\n ): PepFieldBase[] {\n if (this.layoutType !== 'table') {\n this.setSpecialFields(controlFields, dataFields);\n } else {\n // HACK: convert to center alignment if table view & special fields)\n controlFields.forEach((field, index) => {\n if (\n field.ApiName === 'UnitsQuantity' ||\n field.ApiName === 'QuantitySelector' ||\n field.ApiName === 'ObjectMenu' ||\n field.FieldType === FIELD_TYPE.Image ||\n field.FieldType === FIELD_TYPE.ImageURL ||\n field.FieldType === FIELD_TYPE.Indicators ||\n field.FieldType === FIELD_TYPE.Boolean ||\n field.FieldType === FIELD_TYPE.CalculatedBool ||\n field.FieldType === FIELD_TYPE.Signature ||\n field.FieldType ===\n FIELD_TYPE.NumberIntegerQuantitySelector ||\n field.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||\n field.FieldType === FIELD_TYPE.Package ||\n field.FieldType === FIELD_TYPE.NumberIntegerForMatrix ||\n field.FieldType === FIELD_TYPE.NumberRealForMatrix\n ) {\n field.Layout.XAlignment = X_ALIGNMENT_TYPE.Center;\n } else {\n // HACK: align the rest of the fields by the culture.\n // field.Layout.XAlignment = this.layoutService.isRtl() ? X_ALIGNMENT_TYPE.Right : X_ALIGNMENT_TYPE.Left;\n }\n });\n }\n\n const fields: PepFieldBase[] = [];\n\n controlFields.forEach((field, index) => {\n const dataField = dataFields.filter(\n (df) => df.ApiName === field.ApiName\n )[0];\n\n if (!dataField) {\n return;\n }\n\n // If current view is not table view and those fields are special.\n if (\n this.layoutType !== 'table' &&\n ((this.hasMenuFloatingOnOtherField &&\n this.menuField &&\n this.menuField.ApiName === field.ApiName) ||\n (this.indicatorsField &&\n this.indicatorsField.ApiName === field.ApiName) ||\n (this.hasCampaignField &&\n this.hasCampaignField.ApiName === field.ApiName))\n ) {\n return;\n }\n\n // Set type to link\n if (index === 0 && this.firstFieldAsLink) {\n dataField.FieldType = FIELD_TYPE.InternalLink;\n // dataField.Value = this.getInternalLinkHref();\n }\n\n if (field.ApiName === 'ObjectMenu') {\n dataField.Enabled = true;\n // HACK : Until \"Enabled\" returns from the server, we set PepMenu to be\n // Disabled in cart on regular items and not campign items.\n }\n const customField: PepFieldBase = this.createBaseField(field, dataField);\n fields.push(customField);\n });\n\n return fields.sort((f1, f2) =>\n f1.row > f2.row\n ? 1\n : f1.row < f2.row\n ? -1\n : f1.col > f2.col\n ? 1\n : f1.col < f2.col\n ? -1\n : 0\n );\n }\n\n onFormValidationChanged(formValidationChange: any): void {\n this.formValidationChange.emit(formValidationChange);\n }\n\n onValueChanged(event: IPepFieldValueChangeEvent): void {\n this.onFormValidationChanged(this.form.valid);\n\n const formControl = this.getFormControlById(event.key);\n\n const isValid = formControl ? formControl.valid : true;\n // const isValid = true;\n\n if (isValid) {\n // Set it to false to disable all fields.\n if (this.layoutType === 'form') {\n this.isLocked = true;\n }\n\n // Update the current field value.\n const currentField = this.fields.find((f) => f.key === event.key);\n if (currentField) {\n currentField.formattedValue = currentField.value = event.value;\n }\n\n this.valueChange.emit({\n id: this.data.UID.toString(),\n uiObjectKey: this.data.Key,\n key: event.key,\n value: event.value,\n controlType: event.controlType,\n });\n }\n }\n\n onClick(fieldClickEvent: IPepFieldClickEvent): void {\n const clickedUiControlField = this.data.Fields.filter(\n (f) => f.ApiName === fieldClickEvent.key\n )[0];\n const idType = this.data.Type ? this.data.Type.toString() : '';\n\n if (clickedUiControlField) {\n this.fieldClick.emit({\n id: this.data.UID.toString(),\n uiObjectKey: this.data.Key,\n key: fieldClickEvent.key,\n idType,\n which: fieldClickEvent.eventWhich,\n value: fieldClickEvent.value,\n controlType: fieldClickEvent.controlType,\n fieldType: clickedUiControlField.FieldType,\n otherData: fieldClickEvent.otherData,\n });\n } else {\n // For other api names (like enter children etc).\n this.fieldClick.emit({\n id: this.data.UID.toString(),\n uiObjectKey: this.data.Key,\n key: fieldClickEvent.key,\n idType,\n which: fieldClickEvent.eventWhich,\n value: fieldClickEvent.value,\n controlType: fieldClickEvent.controlType,\n otherData: fieldClickEvent.otherData,\n });\n }\n }\n\n // This event is for handle the internal page events.\n onInternalFormFieldClicked(internalFormFieldClick: any): void {\n this.internalFormFieldClick.emit(internalFormFieldClick);\n }\n\n // This event is for handle the internal page events.\n onInternalFormFieldChanged(internalFormFieldChange: any): void {\n this.internalFormFieldChange.emit(internalFormFieldChange);\n }\n\n // This event is for handle the related items change events.\n onFormValueChanged(event: IPepFormFieldValueChangeEvent): void {\n // this.valueChange.emit(event);\n }\n\n // This event is for handle the related items change events.\n onFormFieldClick(event: IPepFormFieldClickEvent): void {\n this.fieldClick.emit(event);\n }\n}\n","import {\n Component,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n OnDestroy,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepFieldBase,\n PepLayoutType,\n IPepFieldValueChangeEvent,\n IPepFieldClickEvent,\n} from '@pepperi-addons/ngx-lib';\nimport { IPepFormFieldClickEvent, IPepFormFieldValueChangeEvent } from './form.model';\n\n@Component({\n selector: 'pep-field-generator',\n templateUrl: './field-generator.component.html',\n styleUrls: ['./field-generator.component.scss'],\n encapsulation: ViewEncapsulation.Emulated,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepFieldGeneratorComponent implements OnChanges, OnDestroy {\n private _field: any;\n @Input()\n set field(value: any) {\n this._field = value;\n }\n get field(): any {\n return this._field;\n }\n\n @Input() isActive = false;\n @Input() uid: any = null;\n @Input() form: FormGroup;\n @Input() layoutType: PepLayoutType = 'form';\n @Input() showTitle = true;\n\n @Input() checkForChanges: any = null;\n @Output()\n valueChange: EventEmitter<IPepFieldValueChangeEvent> = new EventEmitter<IPepFieldValueChangeEvent>();\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n @Output() internalFormFieldChange: EventEmitter<any> = new EventEmitter<any>();\n @Output() internalFormFieldClick: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n formValueChange: EventEmitter<IPepFormFieldValueChangeEvent> = new EventEmitter<IPepFormFieldValueChangeEvent>();\n @Output()\n formFieldClick: EventEmitter<IPepFormFieldClickEvent> = new EventEmitter<IPepFormFieldClickEvent>();\n\n get isValid(): boolean {\n if (this.field.readonly || this.field.disabled) {\n return true;\n } else {\n const formControl = this.form && this.form.get(this.field.key);\n\n if (formControl) {\n return formControl.valid;\n } else {\n return false;\n }\n }\n }\n\n get isTouched(): boolean {\n const formControl = this.form && this.form.get(this.field.key);\n return formControl ? formControl.touched : false;\n }\n\n get isDirty(): boolean {\n const formControl = this.form && this.form.get(this.field.key);\n return formControl ? formControl.dirty : false;\n }\n\n ngOnDestroy(): void {\n //\n }\n\n onFileChanged(fileData: any, field: PepFieldBase) {\n const value = fileData ? JSON.stringify(fileData) : '';\n const fieldValueChange = {\n key: field.key,\n value: value,\n controlType: field.controlType,\n };\n this.valueChange.emit(fieldValueChange);\n }\n\n onAddressValueChanged(\n valueChange: IPepFieldValueChangeEvent,\n field: PepFieldBase\n ) {\n const fieldValueChange = {\n key: valueChange.key,\n value: valueChange.value,\n controlType: field.controlType,\n };\n this.valueChange.emit(fieldValueChange);\n }\n\n onValueChanged(value: any, field: PepFieldBase): void {\n const fieldValueChange = {\n key: field.key,\n value: value.toString(),\n controlType: field.controlType,\n };\n this.valueChange.emit(fieldValueChange);\n }\n\n onInternalFormFieldChanged(internalFormFieldChange: any): void {\n this.internalFormFieldChange.emit(internalFormFieldChange);\n }\n\n onFormValidationChanged(formValidationChange: any): void {\n this.formValidationChange.emit(formValidationChange);\n }\n\n onClick(fieldClicked: any): void {\n this.elementClick.emit(fieldClicked);\n }\n\n onInternalFormFieldClick(internalFormFieldClick: any): void {\n this.internalFormFieldClick.emit(internalFormFieldClick);\n }\n\n onFormValueChanged(event: IPepFormFieldValueChangeEvent): void {\n this.formValueChange.emit(event);\n }\n\n onFormFieldClick(event: IPepFormFieldClickEvent): void {\n this.formFieldClick.emit(event);\n }\n\n ngOnChanges(changes: any): void {\n // debugger;\n // For testing.\n // this.field.disabled = this.field.readonly = false;\n }\n}\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { PepLayoutType } from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-indicators',\n templateUrl: './indicators.component.html',\n styleUrls: ['./indicators.component.scss', './indicators.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepIndicatorsComponent {\n @Input() key: string;\n @Input() value: string;\n\n controlType = 'indicators';\n\n @Input() layoutType: PepLayoutType = 'table';\n}\n","import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n Renderer2,\n ElementRef,\n OnDestroy,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n PepInternalButtonFieldType,\n PepInternalButtonField,\n} from '@pepperi-addons/ngx-lib';\nimport {\n PepButton,\n IPepButtonClickEvent,\n} from '@pepperi-addons/ngx-lib/button';\nimport { pepIconSystemBin } from '@pepperi-addons/ngx-lib/icon';\n\n@Component({\n selector: 'pep-internal-button',\n templateUrl: './internal-button.component.html',\n styleUrls: ['./internal-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepInternalButtonComponent\n implements OnInit, OnChanges, OnDestroy {\n @Input() key = '';\n @Input() value = '';\n @Input() formattedValue = '';\n @Input() label = '';\n @Input() referenceObjectInternalType: any;\n @Input() type: PepInternalButtonFieldType = 'button';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'button';\n\n @Input() form: FormGroup = null;\n @Input() showTitle = true;\n @Input() layoutType: PepLayoutType = 'form';\n\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n // standAlone = false;\n createNewReference = false;\n referenceButtons: Array<PepButton> = [\n {\n key: 'action',\n callback: (action: IPepButtonClickEvent) =>\n this.onButtonClicked(action.event),\n },\n {\n key: 'delete',\n callback: (action: IPepButtonClickEvent) => this.remove(),\n classNames: 'caution',\n iconName: pepIconSystemBin.name,\n },\n ];\n\n constructor(\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n ngOnInit(): void {\n // if (this.form === null) {\n // this.standAlone = true;\n // // this.form = this.customizationService.getDefaultFromGroup(this.key, this.value, this.mandatory, this.readonly, this.disabled);\n // const pepField = new PepInternalButtonField({\n // key: this.key,\n // value: this.value,\n // mandatory: this.mandatory,\n // readonly: this.readonly,\n // disabled: this.disabled,\n // });\n // this.form = this.customizationService.getDefaultFromGroup(pepField);\n\n // this.formattedValue = this.formattedValue || this.value;\n // this.renderer.addClass(\n // this.element.nativeElement,\n // PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n // );\n // }\n }\n\n ngOnChanges(changes: any): void {\n if (this.type === 'reference') {\n this.createNewReference = this.value.length === 0;\n this.referenceButtons[0].value = this.formattedValue;\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n // groupButtonClicked(action: IPepButtonClickEvent): void {\n // if (action.source.key === 'action') {\n // this.onButtonClicked(action.event);\n // } else if (action.source.key === 'delete') {\n // this.remove();\n // }\n // }\n\n onButtonClicked(event): void {\n if (this.type === 'reference') {\n const valueArr = this.value.split('/');\n\n this.elementClick.emit({\n key: this.key,\n value: valueArr[valueArr.length - 1], // .replace(/[^a-zA-Z0-9 ]/g, ''),\n controlType: this.controlType,\n eventWhich: event.which,\n otherData: this.referenceObjectInternalType,\n });\n } else if (this.type === 'button' && true) {\n this.elementClick.emit({\n key: this.key,\n value: this.value, // should contain the program name\n controlType: this.controlType,\n eventWhich: event.which,\n });\n } else {\n this.elementClick.emit({\n key: this.key,\n controlType: this.controlType,\n eventWhich: event.which,\n });\n }\n }\n\n hrefFunction(event): void {\n if (event.which === 1 /*|| event.which === 2*/) {\n this.onButtonClicked(event);\n }\n }\n\n openReferenceObjectInternal(event): void {\n this.elementClick.emit({\n key: this.key,\n value: this.value,\n controlType: this.controlType,\n eventWhich: event.which,\n otherData: this.referenceObjectInternalType,\n });\n }\n\n remove(): void {\n this.value = '';\n this.valueChange.emit(this.value);\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit,\n Renderer2,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n OnDestroy,\n OnChanges,\n} from '@angular/core';\nimport { delay } from 'rxjs/operators';\nimport {\n PepLayoutService,\n UIControl,\n UIControlField,\n FIELD_TYPE,\n ObjectsDataRow,\n} from '@pepperi-addons/ngx-lib';\nimport {\n IPepFormFieldClickEvent,\n IPepFormFieldValueChangeEvent,\n} from './form.model';\n\nexport type PepListViewType = 'cards' | 'lines' | 'table';\n\n@Component({\n selector: 'pep-internal-list',\n templateUrl: './internal-list.component.html',\n styleUrls: ['./internal-list.component.scss'],\n host: {\n '(window:resize)': 'winResize($event)',\n },\n})\nexport class PepInternalListComponent implements OnInit, OnChanges, OnDestroy {\n @Input() noDataFoundMsg = 'Items not found';\n @Input() hideAllSelectionInMulti = false;\n\n @Input() top = -1;\n @Input() objectId = '0';\n @Input() parentId = '0';\n @Input() searchCode = '0';\n // @Input() showTopBorder = false;\n @Input() supportResizing = true;\n @Input() parentScroll: Element | Window = null;\n @Input() disabled = false;\n @Input() disableEvents = false;\n @Input() disableSelectionItems = false;\n @Input() totalsRow = [];\n\n // @Output()\n // itemClick: EventEmitter<IPepListItemClickEvent> = new EventEmitter<IPepListItemClickEvent>();\n @Output()\n fieldClick: EventEmitter<any> = new EventEmitter<IPepFormFieldClickEvent>();\n @Output()\n valueChange: EventEmitter<IPepFormFieldValueChangeEvent> = new EventEmitter<IPepFormFieldValueChangeEvent>();\n\n @ViewChild('noVirtualScrollCont') noVirtualScrollCont: ElementRef;\n @ViewChild('tableHeader') tableHeader: ElementRef;\n @ViewChild('selectAllCB') selectAllCB: any;\n\n public uiControl: UIControl = null;\n public totalRows = -1;\n itemClass: string;\n isTable = false;\n private hasColumnWidthOfTypePercentage = true;\n\n private _items: Array<ObjectsDataRow> = null;\n get items(): Array<ObjectsDataRow> {\n return this._items;\n }\n\n // isCardView = false;\n private itemsCounter = 0;\n showItems = true;\n viewType: PepListViewType;\n scrollItems: Array<ObjectsDataRow>;\n\n public SEPARATOR = ',';\n\n nativeWindow: any = null;\n\n selectedItemId = '';\n hoveredItemId = '';\n\n private lockEvents = false;\n private containerWidth = 0;\n\n deviceHasMouse = false;\n\n // headerIsInFocus = false;\n\n // For resize\n pressedColumn = '';\n startX = 0;\n startWidth = 0;\n tableStartWidth = 0;\n\n isUserSelected = false;\n checkForChanges: any = null;\n useVirtualScroll = true;\n calculatedObjectHeight: string;\n\n constructor(\n private element: ElementRef,\n private layoutService: PepLayoutService,\n private cd: ChangeDetectorRef,\n private renderer: Renderer2\n ) {\n this.nativeWindow = window;\n this.deviceHasMouse = this.layoutService.getDeviceHasMouse();\n this.layoutService.onMouseOver$.subscribe((deviceHasMouse) => {\n this.deviceHasMouse = deviceHasMouse;\n });\n }\n\n ngOnInit(): void {\n this.containerWidth = 0;\n }\n\n ngOnChanges(changes): void {\n if (this.containerWidth <= 0) {\n this.setContainerWidth();\n }\n }\n\n ngOnDestroy(): void {\n // if (this.valueChange) {\n // this.valueChange.unsubscribe();\n // }\n // if (this.itemClick) {\n // this.itemClick.unsubscribe();\n // }\n // if (this.fieldClick) {\n // this.fieldClick.unsubscribe();\n // }\n }\n\n setContainerWidth(): void {\n const selectionCheckBoxWidth = 0;\n\n const rowHeight = 40; // the table row height (2.5rem * 16font-size).\n const style = window.getComputedStyle(\n this.element.nativeElement.parentElement\n );\n // The container-fluid class padding left + right + border\n const containerFluidSpacing =\n parseInt(style.paddingLeft, 10) + parseInt(style.paddingRight, 10);\n\n const parentContainer =\n this.element.nativeElement.parentElement.parentElement > 0\n ? this.element.nativeElement.parentElement.parentElement\n : this.element.nativeElement.parentElement;\n\n // Calculate if vertical scroll should appear, if so set the scroll width. (this.totalRows + 1) + 1 is for the header row.\n const scrollWidth =\n parentContainer.clientHeight < rowHeight * (this.totalRows + 1)\n ? 18\n : 0; // 18 is the default scroll width.\n\n // The selectionCheckBoxWidth width + containerFluidSpacing + scrollWidth.\n const rowHeaderWidthToSub =\n containerFluidSpacing + selectionCheckBoxWidth + scrollWidth;\n this.containerWidth = parentContainer.offsetWidth - rowHeaderWidthToSub;\n }\n\n clear(): void {\n this.cleanItems();\n this.uiControl = null;\n }\n\n private toggleItems(isVisible: boolean): void {\n this.showItems = isVisible;\n this.lockEvents = !isVisible;\n }\n\n private updateScrollItems(startIndex, endIndex, loadInChunks = true): void {\n this.scrollItems = this.items.slice(startIndex, endIndex);\n }\n\n getUniqItemId(itemId: string, itemType = ''): string {\n return itemId + this.SEPARATOR + itemType;\n }\n\n setLayout(): void {\n if (\n this.totalRows === 0 ||\n !this.uiControl ||\n !this.uiControl.ControlFields ||\n this.uiControl.ControlFields.length === 0\n ) {\n return;\n }\n\n this.uiControl.ControlFields.forEach((cf) => {\n if (cf.ColumnWidth === 0) {\n cf.ColumnWidth = 10;\n }\n\n if (\n this.isTable &&\n (cf.FieldType === FIELD_TYPE.Image ||\n // cf.FieldType === FIELD_TYPE.Indicators || ???\n cf.FieldType === FIELD_TYPE.Signature ||\n cf.FieldType === FIELD_TYPE.NumberIntegerQuantitySelector ||\n cf.FieldType === FIELD_TYPE.NumberRealQuantitySelector ||\n cf.FieldType === FIELD_TYPE.NumberIntegerForMatrix ||\n cf.FieldType === FIELD_TYPE.NumberRealForMatrix ||\n cf.FieldType === FIELD_TYPE.Package ||\n cf.ApiName === 'UnitsQuantity' ||\n cf.ApiName === 'QuantitySelector')\n ) {\n cf.Layout.XAlignment = 3;\n }\n });\n\n if (!this.cd['destroyed']) {\n this.cd.detectChanges();\n }\n\n // Set the columns width.\n if (this.containerWidth <= 0) {\n this.setContainerWidth();\n }\n\n this.calcColumnsWidth();\n this.checkForChanges = new Date().getTime();\n }\n\n private calcColumnsWidth(): void {\n const fixedMultiple = 3.78; // for converting em to pixel.\n const length = this.uiControl.ControlFields.length;\n const selectionCheckBoxWidth = 0;\n\n // Is table AND there is at least one column of width type of percentage.\n if (this.isTable) {\n if (this.uiControl && this.uiControl.ControlFields) {\n this.hasColumnWidthOfTypePercentage =\n this.uiControl.ControlFields.filter(\n (cf) => cf.ColumnWidthType === 1\n ).length === 0;\n }\n }\n\n // If the columns size is fixed and the total is small then the container change it to percentage.\n if (!this.hasColumnWidthOfTypePercentage) {\n const totalFixedColsWidth = this.uiControl.ControlFields.map(\n (cf) => cf.ColumnWidth * fixedMultiple\n ).reduce((sum, current) => sum + current);\n\n if (window.innerWidth > totalFixedColsWidth) {\n this.hasColumnWidthOfTypePercentage = true;\n }\n }\n\n let totalCalcColsWidth = 0;\n\n // Calc by percentage\n if (this.hasColumnWidthOfTypePercentage) {\n const totalColsWidth: number = this.uiControl.ControlFields.map(\n (cf) => cf.ColumnWidth\n ).reduce((sum, current) => sum + current);\n\n for (let index = 0; index < length; index++) {\n const uiControlField: UIControlField = this.uiControl\n .ControlFields[index];\n const calcColumnWidthPercentage =\n (100 / totalColsWidth) * uiControlField.ColumnWidth;\n\n uiControlField.calcColumnWidth = Math.floor(\n (this.containerWidth * calcColumnWidthPercentage) / 100\n );\n\n if (index === length - 1) {\n uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString =\n 'calc(100% - ' + totalCalcColsWidth + 'px)'; // For 100%\n } else {\n uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString =\n uiControlField.calcColumnWidth + 'px';\n totalCalcColsWidth += uiControlField.calcColumnWidth;\n }\n }\n\n this.renderer.setStyle(\n this.element.nativeElement,\n 'width',\n 'inherit'\n );\n } else {\n for (let index = 0; index < length; index++) {\n const uiControlField: UIControlField = this.uiControl\n .ControlFields[index];\n const currentFixedWidth = Math.floor(\n uiControlField.ColumnWidth * fixedMultiple\n );\n\n if (index === length - 1) {\n uiControlField.calcTitleColumnWidthString =\n currentFixedWidth + 'px';\n uiControlField.calcColumnWidthString =\n currentFixedWidth - 4 + 'px'; // -4 for the row padding.\n } else {\n uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString =\n currentFixedWidth + 'px';\n }\n\n totalCalcColsWidth += currentFixedWidth;\n }\n\n this.renderer.setStyle(\n this.element.nativeElement,\n 'width',\n totalCalcColsWidth + selectionCheckBoxWidth + 'px'\n );\n }\n }\n\n private initResizeData(): void {\n this.startX = 0;\n this.startWidth = 0;\n this.tableStartWidth = 0;\n this.pressedColumn = '';\n }\n\n onListResizeStart(event, columnKey): void {\n this.pressedColumn = columnKey;\n this.startX = event.x;\n this.startWidth = event.target.closest('.header-column').offsetWidth;\n // Set the tableStartWidth to the container offsetWidth\n this.tableStartWidth = this.noVirtualScrollCont.nativeElement.offsetWidth;\n }\n\n onListResize(event): void {\n if (this.pressedColumn.length > 0) {\n const widthToAdd = this.layoutService.isRtl()\n ? this.startX - event.x\n : event.x - this.startX;\n\n // Set the width of the column and the container of the whole columns.\n if (this.startWidth + widthToAdd >= 48 || widthToAdd > 0) {\n const length = this.uiControl.ControlFields.length;\n let totalCalcColsWidth = 0;\n\n for (let index = 0; index < length; index++) {\n const uiControlField: UIControlField = this.uiControl\n .ControlFields[index];\n\n if (index === length - 1) {\n // Calc the last column only in percentage type.\n if (this.hasColumnWidthOfTypePercentage) {\n uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString =\n 'calc(100% - ' + totalCalcColsWidth + 'px)'; // For 100%\n } else {\n if (uiControlField.ApiName === this.pressedColumn) {\n uiControlField.calcColumnWidth =\n this.startWidth + widthToAdd;\n uiControlField.calcTitleColumnWidthString =\n uiControlField.calcColumnWidth + 'px';\n uiControlField.calcColumnWidthString =\n uiControlField.calcColumnWidth - 4 + 'px';\n }\n }\n } else if (uiControlField.ApiName === this.pressedColumn) {\n uiControlField.calcColumnWidth =\n this.startWidth + widthToAdd;\n uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString =\n uiControlField.calcColumnWidth + 'px';\n }\n\n totalCalcColsWidth += uiControlField.calcColumnWidth;\n }\n\n this.renderer.setStyle(\n this.element.nativeElement,\n 'width',\n this.tableStartWidth + widthToAdd + 'px'\n );\n }\n\n this.checkForChanges = new Date().getTime();\n }\n }\n\n getParent(el, parentSelector): any {\n // If no parentSelector defined will bubble up all the way to *document*\n if (parentSelector === undefined) {\n parentSelector = document;\n }\n const parent = [];\n let p = el.parentNode;\n\n while (\n p &&\n p.className !== '' &&\n p.className.indexOf(parentSelector) === -1 &&\n parentSelector !== document\n ) {\n const o = p;\n p = o.parentNode;\n }\n if (p.className.indexOf(parentSelector) > -1) {\n parent.push(p); // Push that parentSelector you wanted to stop at\n }\n return parent;\n }\n\n onListResizeEnd(event): void {\n if (this.pressedColumn.length > 0) {\n if (\n event &&\n this.getParent(event.srcElement, 'resize-box').length > 0\n ) {\n this.initResizeData();\n } else {\n setTimeout(() => {\n this.initResizeData();\n }, 0);\n }\n }\n }\n\n onListHeaderMouseEnter(event): void {\n // this.headerIsInFocus = true;\n }\n\n onListHeaderMouseLeave(event): void {\n // this.headerIsInFocus = false;\n this.onListResizeEnd(event);\n this.initResizeData();\n }\n\n onListChange(event: any): void {\n if (this.disableEvents) {\n return;\n }\n\n // For other events do nothing.\n if (\n typeof event.start === 'undefined' ||\n typeof event.end === 'undefined'\n ) {\n return;\n }\n\n this.calculatedObjectHeight = event.calculatedChildHeight + 'px';\n\n if (!this.lockEvents) {\n this.toggleItems(false);\n this.updateScrollItems(event.start, event.end, false);\n this.toggleItems(true);\n }\n }\n\n getParentContainer(): Element | Window {\n return this.parentScroll ? this.parentScroll : window;\n }\n\n onValueChanged(valueChange: IPepFormFieldValueChangeEvent): void {\n if (this.disabled) {\n return;\n }\n\n this.valueChange.emit(valueChange);\n }\n\n onCustomizeFieldClick(\n customizeFieldClickedData: IPepFormFieldClickEvent\n ): void {\n if (this.disabled) {\n return;\n }\n\n this.fieldClick.emit(customizeFieldClickedData);\n }\n\n getIsDisabled(item: ObjectsDataRow): boolean {\n if (this.disableSelectionItems) {\n return true;\n } else {\n const IsNotSelectableForActions =\n item && !item.IsSelectableForActions;\n return IsNotSelectableForActions;\n }\n }\n\n getIsItemSelected(itemId: string, itemType = ''): boolean {\n let isSelected = false;\n\n const uniqItemId = this.getUniqItemId(itemId, itemType);\n isSelected = uniqItemId === this.selectedItemId;\n\n return isSelected;\n }\n\n private setItemClicked(\n itemId,\n isSelectableForActions: boolean,\n itemType: string,\n isChecked: boolean\n ): void {\n const uniqItemId = this.getUniqItemId(itemId, itemType);\n\n // select the selected item.\n if (isChecked) {\n // Set seleted item\n this.selectedItemId = uniqItemId;\n } else {\n if (this.selectedItemId === uniqItemId) {\n this.selectedItemId = '';\n }\n }\n }\n\n itemClicked(e: any, item: ObjectsDataRow): void {\n // Set seleted item\n const itemId = item.UID.toString();\n const itemType = item.Type.toString();\n let isChecked = false;\n\n if (item && item.IsSelectableForActions) {\n this.selectedItemId = this.getUniqItemId(itemId, itemType);\n isChecked = true;\n }\n\n if (this.isTable) {\n this.setItemClicked(\n itemId,\n item.IsSelectableForActions,\n itemType,\n true\n );\n } else {\n if (this.disabled) {\n return;\n }\n }\n\n // this.itemClick.emit({ source: item, viewType: this.viewType });\n }\n\n onTableRowMouseEnter(event: any, itemId: string, itemType: string): void {\n if (!this.deviceHasMouse) {\n return;\n }\n\n const uniqItemId = this.getUniqItemId(itemId, itemType);\n this.hoveredItemId = uniqItemId;\n }\n\n onTableRowMouseLeave(event: any, itemId: string, itemType: string): void {\n this.hoveredItemId = '';\n }\n\n onCardMouseEnter(event: any, itemId: string, itemType: string): void {\n if (!this.deviceHasMouse) {\n return;\n }\n\n const uniqItemId = this.getUniqItemId(itemId, itemType);\n this.hoveredItemId = uniqItemId;\n }\n\n onCardMouseLeave(event: any, itemId: string, itemType: string): void {\n this.hoveredItemId = '';\n }\n\n // call this function after resize + animation end\n winResize(e): void {\n this.containerWidth = 0;\n this.setLayout();\n }\n\n trackByFunc(index: number, item: ObjectsDataRow): any {\n return item && item.UID ? item.UID : index;\n }\n\n cleanItems(): void {\n this.itemsCounter = 0;\n this._items =\n this.totalRows > 0 ? Array<ObjectsDataRow>(this.totalRows) : [];\n this.scrollItems = [];\n this.calculatedObjectHeight = '';\n }\n\n getUIControl(): UIControl {\n return this.uiControl;\n }\n\n initListData(\n uiControl: UIControl,\n totalRows: number,\n items: ObjectsDataRow[],\n viewType: PepListViewType = 'table',\n itemClass = ''\n ): void {\n this.viewType = viewType;\n this.isTable = viewType === 'table';\n // this.isCardView = viewType === 'cards';\n this.uiControl = uiControl;\n this.itemClass = itemClass;\n this.selectedItemId = '';\n this.totalRows = totalRows;\n\n // fix bug for the scrollTo that doesn't work on edge div , not window\n // const scrollingElement = this.getParentContainer();\n // scrollingElement.scrollTo(0, 0);\n\n this.cleanItems();\n\n this.updateItems(items);\n\n this.setLayout();\n }\n\n private updateItems(items: ObjectsDataRow[]): void {\n this.scrollItems = this._items = items;\n this.itemsCounter = items.length;\n }\n\n updateItem(data: any): void {\n let index = 0;\n\n // Update items list\n index = this.items.findIndex((i) => i && i.UID === data.UID);\n if (index >= 0 && index < this.items.length) {\n this.items[index] = data;\n }\n\n // Update scrollItems list\n index = this.scrollItems.findIndex((i) => i && i.UID === data.UID);\n\n if (index >= 0 && index < this.scrollItems.length) {\n this.scrollItems[index] = data;\n this.checkForChanges = new Date().getTime();\n }\n }\n\n getIsItemEditable(uid: string): boolean {\n const item = this.items.filter((x) => x.UID.toString() === uid);\n if (item.length > 0) {\n return item[0].IsEditable;\n } else {\n return false;\n }\n }\n\n getItemDataByID(uid: string): ObjectsDataRow {\n return this.items.find((item) => item.UID.toString() === uid);\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n OnDestroy,\n} from '@angular/core';\nimport {\n PepLayoutType,\n IPepOption,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-internal-menu',\n templateUrl: './internal-menu.component.html',\n styleUrls: ['./internal-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepInternalMenuComponent implements OnDestroy {\n @Input() key = '';\n @Input() label = '';\n @Input() disabled = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n // @Input() hasSubMenu = false;\n @Input() options: IPepOption[] = [];\n @Input() invertClass = true;\n\n controlType = 'menu';\n\n @Input() layoutType: PepLayoutType = 'form';\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n // @Output() menuItemClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n ngOnDestroy(): void {\n // if (this.elementClick) {\n // this.elementClick.unsubscribe();\n // }\n // if (this.menuItemClick) {\n // this.menuItemClick.unsubscribe();\n // }\n }\n\n menuClicked(event: any): void {\n this.elementClick.emit({\n key: this.key,\n controlType: this.controlType,\n eventWhich: event.which,\n });\n }\n\n menuItemClicked(itemKey: any): void {\n // Not in use comment in version 16.55 for webapp.\n // this.menuItemClick.emit({ key: itemKey });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PepHttpService } from '@pepperi-addons/ngx-lib';\n\n@Injectable()\nexport class PepInternalPageService {\n private transactionUrl: string;\n private objectId: string;\n private parentId = '0';\n private searchCode: string;\n private viewType: string;\n public additionalApiName = '';\n\n constructor(private httpService: PepHttpService) {\n this.transactionUrl = 'Service1.svc/v1/OrderCenter/Transaction/';\n }\n\n getBaseParentUrl(): string {\n const url = `${this.transactionUrl}${this.objectId}/ParentLine/${this.parentId}/`;\n return url;\n }\n\n getChildren(callbackFunc: any): void {\n const body = JSON.stringify({\n TransactionUID: this.objectId,\n SearchCode: this.searchCode,\n AdditionalApiName: this.additionalApiName,\n ParentTransactionLineID: this.parentId,\n ViewType: this.viewType,\n });\n\n // Set the additional api name with view type string.\n const moreParams =\n this.additionalApiName?.length > 0\n ? `${this.additionalApiName}/${this.viewType}`\n : `''/${this.viewType}`;\n\n const url = `${this.getBaseParentUrl()}Items/${moreParams}`;\n\n this.httpService.postWapiApiCall(url, body).subscribe(\n (res) => {\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n\n initDetails(\n objectId: string,\n parentId: string,\n searchCode: string,\n callbackFunc: any\n ): void {\n if (!objectId || !parentId) {\n return;\n }\n\n this.objectId = objectId;\n this.parentId = parentId;\n this.searchCode = searchCode;\n\n this.httpService\n .getWapiApiCall(`${this.getBaseParentUrl()}ViewTypes`)\n .subscribe(\n (res) => {\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n\n changeChildrenViewType(viewType: string, callbackFunc: any): void {\n this.viewType = viewType;\n this.getChildren(callbackFunc);\n }\n\n changeAdditionalApiName(\n additionalApiName: string,\n callbackFunc: any\n ): void {\n this.additionalApiName = additionalApiName;\n this.getChildren(callbackFunc);\n }\n\n childPlusClick(\n itemId: string,\n fieldApiName: string,\n callbackFunc: any\n ): void {\n const body = JSON.stringify({\n TransactionUID: this.objectId,\n SearchCode: this.searchCode,\n ParentTransactionLineID: this.parentId,\n TransactionLineUID: itemId,\n FieldApiName: fieldApiName,\n ViewType: this.viewType,\n });\n\n this.httpService\n .postWapiApiCall(`${this.getBaseParentUrl()}IncrementValue`, body)\n .subscribe(\n (res) => {\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n\n childMinusClick(\n itemId: string,\n fieldApiName: string,\n callbackFunc: any\n ): void {\n const body = JSON.stringify({\n TransactionUID: this.objectId,\n SearchCode: this.searchCode,\n ParentTransactionLineID: this.parentId,\n TransactionLineUID: itemId,\n FieldApiName: fieldApiName,\n ViewType: this.viewType,\n });\n\n this.httpService\n .postWapiApiCall(`${this.getBaseParentUrl()}DecrementValue`, body)\n .subscribe(\n (res) => {\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n\n childValueChanged(\n itemId: string,\n fieldApiName: string,\n value: string,\n callbackFunc: any\n ): void {\n const body = JSON.stringify({\n TransactionUID: this.objectId,\n SearchCode: this.searchCode,\n ParentTransactionLineID: this.parentId,\n TransactionLineUID: itemId,\n FieldApiName: fieldApiName,\n FieldValue: value,\n ViewType: this.viewType,\n });\n\n this.httpService\n .postWapiApiCall(`${this.getBaseParentUrl()}SetFieldValue`, body)\n .subscribe(\n (res) => {\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n}\n","import {\n Component,\n OnInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ViewContainerRef,\n TemplateRef,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { PepInternalPageService } from './internal-page.service';\n\nimport {\n PepLayoutType,\n UIControl,\n KeyValuePair,\n PepCustomizationService,\n UIControlField,\n ObjectsData,\n FIELD_TYPE,\n} from '@pepperi-addons/ngx-lib';\nimport {\n PepInternalListComponent,\n PepListViewType,\n} from './internal-list.component';\nimport {\n IPepFormFieldClickEvent,\n IPepFormFieldValueChangeEvent,\n} from './form.model';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { PepQuantitySelectorComponent } from '@pepperi-addons/ngx-lib/quantity-selector';\n\n@Component({\n selector: 'pep-internal-page',\n templateUrl: './internal-page.component.html',\n styleUrls: ['./internal-page.component.scss'],\n providers: [PepInternalPageService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepInternalPageComponent implements OnInit, OnDestroy {\n static CURRENT_ADDITIONAL_API_NAME =\n 'item_details_currentAdditionalApiName';\n\n controlType = 'internalPage';\n\n @Input() field: any;\n @Input() layoutType: PepLayoutType = 'form';\n\n @Output()\n internalFormFieldChange: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n internalFormFieldClick: EventEmitter<IPepFormFieldClickEvent> = new EventEmitter<IPepFormFieldClickEvent>();\n\n @ViewChild('my1mm') my1mm: ElementRef;\n @ViewChild('mainViewCont') mainViewCont: ElementRef;\n\n @ViewChild('orgCont', { read: ViewContainerRef }) orgCont: ViewContainerRef;\n @ViewChild('dialogCont', { read: ViewContainerRef })\n dialogCont: ViewContainerRef;\n @ViewChild('matrixTemplate') matrixTemplate: TemplateRef<any>;\n @ViewChild('matrixDialogTemplate', { read: TemplateRef })\n matrixDialogTemplate: TemplateRef<any>;\n\n @ViewChild(PepInternalListComponent)\n customList: PepInternalListComponent;\n\n resize: any;\n checkForChanges: any = null;\n\n childData: any = null;\n\n emptyForm: FormGroup;\n uiControl: UIControl;\n rows: any;\n lineViewRows: any;\n totalsRow: any = [];\n additionalApiNames: any = null;\n currentAdditionalApiName: any = null;\n focusedQS = false;\n fieldIdWithFocus = '';\n columnWidth = 100;\n coverChildTable = false;\n childViewTypes: Array<KeyValuePair<string>>;\n currentViewType: KeyValuePair<string> = null;\n currentViewTypeTitle: string;\n sumOfMinColWidth = 0;\n totalRowsWidth = 0;\n viewWidth = '100%';\n viewHeight = 'auto';\n displayQSbtns = true;\n selectedApiName = '';\n showSort = false;\n defaultRowSpan = -1;\n\n constructor(\n protected fb: FormBuilder,\n private dialogService: PepDialogService,\n private internalPageService: PepInternalPageService,\n public customizationService: PepCustomizationService,\n private elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) { }\n\n private fillData(isInDialog = false): void {\n const view = this.matrixTemplate.createEmbeddedView(null);\n\n this.customList?.clear();\n this.orgCont?.clear();\n\n if (isInDialog) {\n this.dialogCont?.clear();\n this.dialogCont?.insert(view);\n } else {\n this.orgCont?.insert(view);\n }\n\n setTimeout(() => {\n const viewType: PepListViewType = this.isTableView()\n ? 'table'\n : 'lines';\n this.customList.initListData(\n this.uiControl,\n this.childData.TotalRows,\n this.childData.Rows,\n viewType\n );\n this.setTotalsRow();\n\n // if (!this.childModal.isShown) {\n const childrenCount = this.childData.Rows\n ? this.childData.Rows.length\n : 0;\n const isEven = childrenCount % 2 === 0;\n // 3 for matrix & flat matrix because the header + total is 2 more rows.\n const rowsToAdd =\n this.isMatrixView() || this.isFlatMatrixView()\n ? isEven\n ? 3\n : 4\n : 1;\n\n const formRowHeight =\n this.customizationService.calculateFormFieldHeight() * 16; // convert rem to pixel\n\n // Set the default only if not set yet.\n if (this.defaultRowSpan === -1) {\n this.defaultRowSpan = this.field.rowSpan;\n }\n\n this.sumOfMinColWidth = 0;\n this.totalRowsWidth = 0;\n\n this.childData.UIControl.ControlFields.forEach(\n (uiControlField: UIControlField) => {\n this.totalRowsWidth += uiControlField.ColumnWidth;\n uiControlField.minFieldWidth = this.mmToPx(12); // NEED TO GET THIS PARAM FROM CUSTOMIZATION;\n this.sumOfMinColWidth += 12;\n }\n );\n\n this.setViewCover(this.childData.Rows);\n\n if (this.coverChildTable) {\n this.field.rowSpan = this.defaultRowSpan;\n } else {\n // For line view Add the height of the line (form height).\n if (this.currentViewType.Key === 'OrderCenterFlatMatrixLine') {\n const maxRow = Math.max(\n ...this.uiControl.ControlFields.map((f) => {\n return f.Layout.Y + f.Layout.Height;\n })\n );\n\n // * 16 convert rem to pixel\n const cardRowsHeight =\n this.customizationService.calculateCardRowsHeight(\n maxRow\n ) * 16;\n\n // maxRow * 24 + 60 - 24 for each row in card + 60 for the padding of each card.\n // const rowSpanToAdd = Math.floor(childrenCount * ((cardRowsHeight + 56) / formRowHeight) + rowsToAdd);\n // + 16 is the 1rem margin outside card.\n const rowSpanToAdd =\n (childrenCount * (cardRowsHeight + 16)) /\n formRowHeight +\n rowsToAdd;\n this.field.rowSpan = rowSpanToAdd;\n } else {\n // const tableRowsHeight = this.customizationService.calculateTableRowsHeight(childrenCount) * 16;\n // this.field.rowSpan = Math.ceil((tableRowsHeight + (rowsToAdd * 40)) / formRowHeight);\n // * 16 convert rem to pixel\n const rowsToAddHeight =\n this.customizationService.calculateTableRowsHeight(\n rowsToAdd,\n false\n ) * 16;\n const tableRowsHeight =\n this.customizationService.calculateTableRowsHeight(\n childrenCount\n ) * 16;\n this.field.rowSpan =\n (rowsToAddHeight + tableRowsHeight) / formRowHeight;\n }\n }\n }, 0);\n\n this.changeDetectorRef.markForCheck();\n }\n\n private fillChildData(res: any): void {\n this.childData = res;\n this.uiControl = res.UIControl;\n this.additionalApiNames = res.AdditionalApiNames;\n\n this.fillData();\n }\n\n mmToPx(mm): number {\n const height = this.my1mm.nativeElement.clientHeight;\n return Math.floor(mm * height); // returns sizes in PX\n }\n\n private isMatrixView(): boolean {\n return (\n this.currentViewType &&\n this.currentViewType.Key === 'OrderCenterMatrix'\n );\n }\n\n private isFlatMatrixView(): boolean {\n return (\n this.currentViewType &&\n this.currentViewType.Key === 'OrderCenterFlatMatrixGrid'\n );\n }\n\n isTableView(): boolean {\n return this.isMatrixView() || this.isFlatMatrixView();\n }\n\n changeChildrenViewType(viewTypeKey: string): void {\n this.rows = [];\n this.uiControl = null;\n\n for (const vt of this.childViewTypes) {\n if (vt.Key === viewTypeKey) {\n this.currentViewType = vt;\n break;\n }\n }\n\n this.currentViewTypeTitle = this.currentViewType.Value;\n\n this.internalPageService.changeChildrenViewType(\n this.currentViewType.Key,\n (res: ObjectsData) => {\n if (res.Rows) {\n this.fillChildData(res);\n }\n }\n );\n }\n\n setViewCover(rows): void {\n if (!rows) {\n return;\n }\n\n const matrixCont = this.mainViewCont.nativeElement;\n const viewWidth = matrixCont.clientWidth;\n\n this.viewWidth = viewWidth ? viewWidth.toString() : '100%';\n\n // if the matrix located on the bottom / there is nothing under the matrix we dont need to check the height\n if (parseInt(viewWidth, 10) < this.mmToPx(this.sumOfMinColWidth)) {\n this.coverChildTable = true;\n } else {\n this.coverChildTable = false;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n showMatrixDialog(): void {\n const config = this.dialogService.getDialogConfig(\n {\n disableClose: false,\n },\n 'large'\n );\n\n const dialogRef = this.dialogService.openDialog(\n this.matrixDialogTemplate,\n {},\n config\n );\n\n dialogRef.afterOpened().subscribe(() => {\n this.fillData(true);\n });\n\n dialogRef.afterClosed().subscribe((value) => {\n this.fillData(false);\n });\n }\n\n ngOnInit(): void {\n // let field = this.field as PepInternalPageField;\n\n this.internalPageService.initDetails(\n this.field.objectId,\n this.field.parentId,\n this.field.searchCode,\n (resViewTypes: any) => {\n // my code DI-7134\n resViewTypes.Rows = resViewTypes.Rows.filter(\n (item) => item.Key !== 'OrderCenterView1'\n );\n\n if (resViewTypes.Rows && resViewTypes.Rows.length > 0) {\n if (!resViewTypes.Default) {\n resViewTypes.Default = resViewTypes.Rows[0].Key;\n }\n this.childViewTypes = resViewTypes.Rows;\n this.currentViewType = resViewTypes.Rows[0];\n\n // for (var i = 0; i < resViewTypes.Rows.length; i++) {\n for (const viewTypeRow of resViewTypes.Rows) {\n if (viewTypeRow.Value === resViewTypes.Default) {\n this.currentViewType = viewTypeRow;\n }\n }\n\n this.loadLastAdditionalApiName();\n this.changeChildrenViewType(this.currentViewType.Key);\n }\n }\n );\n\n this.resize = fromEvent(window, 'resize')\n .pipe(debounceTime(10))\n .subscribe((event) => {\n this.setViewCover(this.rows);\n });\n }\n\n loadLastAdditionalApiName(): void {\n const daa = sessionStorage.getItem(\n PepInternalPageComponent.CURRENT_ADDITIONAL_API_NAME\n );\n if (daa && daa.length > 0) {\n const additionalApiName = JSON.parse(daa);\n this.currentAdditionalApiName = additionalApiName;\n this.internalPageService.additionalApiName = additionalApiName?.Key;\n }\n }\n\n ngOnDestroy(): void {\n if (this.resize) {\n this.resize.unsubscribe();\n }\n }\n\n changeAdditionalApiName(additionalApiName): void {\n this.internalPageService.changeAdditionalApiName(\n additionalApiName ? additionalApiName.Key : '',\n (res: any) => {\n // for (let index = 0; index < res.Rows.length; index++) {\n for (const row of res.Rows) {\n this.updateChanges(row);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n );\n\n sessionStorage.setItem(\n PepInternalPageComponent.CURRENT_ADDITIONAL_API_NAME,\n JSON.stringify(additionalApiName)\n );\n\n setTimeout(() => {\n this.currentAdditionalApiName = additionalApiName;\n }, 0);\n }\n\n setTotalsRow(): void {\n this.totalsRow = [];\n\n if (this.isMatrixView() || this.isFlatMatrixView()) {\n let totalCol = 0;\n\n const items = this.customList.items;\n if (items) {\n for (let col = 0; col < items[0].Fields.length; col++) {\n const field = items[0].Fields[col];\n if (\n field.FieldType === FIELD_TYPE.NumberIntegerForMatrix ||\n field.FieldType ===\n FIELD_TYPE.NumberIntegerQuantitySelector ||\n field.FieldType === FIELD_TYPE.NumberRealForMatrix ||\n field.FieldType ===\n FIELD_TYPE.NumberRealQuantitySelector ||\n field.FieldType === FIELD_TYPE.CalculatedInt ||\n field.FieldType === FIELD_TYPE.NumberInteger ||\n field.FieldType === FIELD_TYPE.CalculatedReal ||\n field.FieldType === FIELD_TYPE.NumberReal\n ) {\n totalCol = 0;\n for (const listItem of items) {\n if (\n listItem.Fields[col] &&\n listItem.Fields[col].Value\n ) {\n const num = parseFloat(\n listItem.Fields[col].Value\n );\n totalCol += isNaN(num) ? 0 : num;\n }\n }\n this.totalsRow.push(totalCol);\n } else {\n this.totalsRow.push('');\n }\n }\n }\n }\n }\n\n updateChanges(elementToUpdate: any): void {\n this.customList.updateItem(elementToUpdate);\n\n // Update memory data\n for (let index = 0; index < this.childData.Rows.length; index++) {\n if (this.childData.Rows[index].UID === elementToUpdate.UID) {\n this.childData.Rows[index] = elementToUpdate;\n }\n }\n }\n\n setValueCallback(id: any, res: any): void {\n if (res.Rows.length === 1) {\n const field = res.Rows[0].Fields.find((f) => f.ApiName === 'ObjectMenu');\n if (field) {\n // HACK : Until \"Enabled\" returns from the server, we set PepMenu to be\n // Disabled in cart on regular items and not campign items.\n field.Enabled = true;\n }\n\n this.updateChanges(res.Rows[0]);\n }\n\n this.setTotalsRow();\n this.checkForChanges = new Date();\n\n // DI-15985\n this.internalFormFieldChange.emit(res);\n\n this.changeDetectorRef.markForCheck();\n }\n\n onCustomizeObjectChanged(\n customizeObjectChangedData: IPepFormFieldValueChangeEvent\n ): void {\n this.internalPageService.childValueChanged(\n customizeObjectChangedData.id,\n customizeObjectChangedData.key,\n customizeObjectChangedData.value,\n (res: any) => {\n this.setValueCallback(customizeObjectChangedData.id, res);\n }\n );\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent): void {\n let handledEvent = false;\n\n // For the new custom form, the plus and minus events transform in the IPepFormFieldValueChangeEvent\n if (fieldClickEvent.controlType === 'qs') {\n if (fieldClickEvent.value === PepQuantitySelectorComponent.PLUS) {\n handledEvent = true;\n this.internalPageService.childPlusClick(\n fieldClickEvent.id,\n fieldClickEvent.key,\n (res: any) => {\n this.setValueCallback(fieldClickEvent.id, res);\n }\n );\n } else if (\n fieldClickEvent.value === PepQuantitySelectorComponent.MINUS\n ) {\n handledEvent = true;\n this.internalPageService.childMinusClick(\n fieldClickEvent.id,\n fieldClickEvent.key,\n (res: any) => {\n this.setValueCallback(fieldClickEvent.id, res);\n }\n );\n }\n }\n\n if (!handledEvent) {\n this.internalFormFieldClick.emit(fieldClickEvent);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PepHttpService } from '@pepperi-addons/ngx-lib';\n\n@Injectable()\nexport class PepInternalCaruselService {\n private eventUrl: string;\n\n constructor(private httpService: PepHttpService) {\n this.eventUrl = 'Service1.svc/v1/EmitEvent';\n }\n\n emitEvent(uiObjectKey: string, fieldKey: string, fieldValue: string, eventName: string, callbackFunc: any) {\n const body = {\n 'EventKey': eventName,\n 'EventData': JSON.stringify({\n UIObjectKey: uiObjectKey,\n FieldID: fieldKey,\n Value: fieldValue\n })\n };\n\n this.httpService.postWapiApiCall(`${this.eventUrl}`, body).subscribe(\n (res) => {\n console.log(res);\n callbackFunc(res);\n }\n // (error) => {},\n // () => {}\n );\n }\n}\n","import {\n Component,\n OnInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n AfterViewInit,\n} from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { PepInternalCaruselService } from './internal-carusel.service';\n\nimport {\n PepLayoutType,\n UIControl,\n PepCustomizationService,\n ObjectsDataRow,\n PepInternalCaruselField,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport {\n IPepFormFieldClickEvent,\n IPepFormFieldValueChangeEvent,\n} from './form.model';\nimport { PepQuantitySelectorComponent } from '@pepperi-addons/ngx-lib/quantity-selector';\nimport { PepCarouselComponent } from '@pepperi-addons/ngx-lib/carousel';\n\n@Component({\n selector: 'pep-internal-carusel',\n templateUrl: './internal-carusel.component.html',\n styleUrls: ['./internal-carusel.component.scss'],\n providers: [PepInternalCaruselService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepInternalCaruselComponent implements OnInit, AfterViewInit {\n @ViewChild('carousel', { read: PepCarouselComponent })\n carousel: PepCarouselComponent;\n\n private _field: any;\n @Input()\n set field(value: any) {\n this._field = value;\n const caruselField = this._field as PepInternalCaruselField;\n\n if (caruselField && caruselField.pageInfo) {\n this.layout = caruselField.pageInfo.UIControl;\n this.items = caruselField.pageInfo.Rows;\n }\n }\n get field(): any {\n return this._field;\n }\n\n @Input() layoutType: PepLayoutType = 'form';\n\n @Output()\n internalFormFieldChange: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n internalFormFieldClick: EventEmitter<IPepFormFieldClickEvent> = new EventEmitter<IPepFormFieldClickEvent>();\n\n private _items: Array<any> = null;\n set items(value: Array<any>) {\n this._items = value;\n // this.moveTo(0);\n }\n get items() {\n return this._items;\n }\n\n layout: any = null;\n duration = 1000;\n\n private itemsToMove = 3;\n\n prevDisabled = false;\n nextDisabled = false;\n screenSize: PepScreenSizeType;\n PepScreenSizeType = PepScreenSizeType;\n\n constructor(\n protected fb: FormBuilder,\n private layoutService: PepLayoutService,\n private internalCaruselService: PepInternalCaruselService\n ) { }\n\n ngOnInit(): void {\n //\n }\n\n ngAfterViewInit(): void {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n });\n }\n\n onCustomizeObjectChanged(\n customizeObjectChangedData: IPepFormFieldValueChangeEvent\n ): void {\n this.internalCaruselService.emitEvent(customizeObjectChangedData.uiObjectKey, customizeObjectChangedData.key, customizeObjectChangedData.value, 'SetFieldValue', () => {\n this.internalFormFieldChange.emit(customizeObjectChangedData);\n });\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent): void {\n let handledEvent = false;\n\n // For the new custom form, the plus and minus events transform in the IPepFormFieldValueChangeEvent\n if (fieldClickEvent.controlType === 'qs') {\n if (fieldClickEvent.value === PepQuantitySelectorComponent.PLUS) {\n handledEvent = true;\n this.internalCaruselService.emitEvent(fieldClickEvent.uiObjectKey, fieldClickEvent.key, '', 'IncrementFieldValue', () => {\n this.internalFormFieldChange.emit({});\n });\n\n } else if (fieldClickEvent.value === PepQuantitySelectorComponent.MINUS) {\n handledEvent = true;\n this.internalCaruselService.emitEvent(fieldClickEvent.uiObjectKey, fieldClickEvent.key, '', 'DecrementFieldValue', () => {\n this.internalFormFieldChange.emit({});\n });\n }\n }\n\n if (!handledEvent) {\n this.internalFormFieldClick.emit(fieldClickEvent);\n }\n }\n\n moveLeft() {\n const indexToMove = Math.max(\n this.carousel.currIndex - this.itemsToMove,\n 0\n );\n this.moveTo(indexToMove);\n }\n\n moveRight() {\n const indexToMove = Math.min(\n this.carousel.currIndex + this.itemsToMove,\n this.items.length\n );\n this.moveTo(indexToMove);\n }\n\n moveTo(index: number) {\n if (this.carousel) {\n this.carousel.moveTo(index);\n }\n }\n\n onReachesLeftBound(event: boolean) {\n this.prevDisabled = event;\n }\n\n onReachesRightBound(event: boolean) {\n this.nextDisabled = event;\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\n\nimport { SignaturePadModule } from 'ngx-signaturepad';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n pepIconSystemMenu,\n pepIconNumberPlus,\n pepIconSystemBin,\n pepIconIndicatorDotPlaceholder,\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepAddressModule } from '@pepperi-addons/ngx-lib/address';\nimport { PepAttachmentModule } from '@pepperi-addons/ngx-lib/attachment';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepCarouselModule } from '@pepperi-addons/ngx-lib/carousel';\nimport { PepCheckboxModule } from '@pepperi-addons/ngx-lib/checkbox';\nimport { PepDateModule } from '@pepperi-addons/ngx-lib/date';\nimport { PepImageModule } from '@pepperi-addons/ngx-lib/image';\nimport { PepImagesFilmstripModule } from '@pepperi-addons/ngx-lib/images-filmstrip';\nimport { PepQuantitySelectorModule } from '@pepperi-addons/ngx-lib/quantity-selector';\nimport { PepRichHtmlTextareaModule } from '@pepperi-addons/ngx-lib/rich-html-textarea';\nimport { PepSelectModule } from '@pepperi-addons/ngx-lib/select';\nimport { PepSeparatorModule } from '@pepperi-addons/ngx-lib/separator';\nimport { PepSignatureModule } from '@pepperi-addons/ngx-lib/signature';\nimport { PepTextareaModule } from '@pepperi-addons/ngx-lib/textarea';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\n\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepGroupButtonsModule } from '@pepperi-addons/ngx-lib/group-buttons';\n\nconst pepComponentsModules = [\n PepAddressModule,\n PepAttachmentModule,\n PepButtonModule,\n PepCarouselModule,\n PepCheckboxModule,\n PepDateModule,\n PepImageModule,\n PepImagesFilmstripModule,\n PepQuantitySelectorModule,\n PepRichHtmlTextareaModule,\n PepSelectModule,\n PepSeparatorModule,\n PepSignatureModule,\n PepTextareaModule,\n PepTextboxModule,\n];\n\nimport { PepFormComponent } from './form.component';\nimport { PepFieldGeneratorComponent } from './field-generator.component';\nimport { PepIndicatorsComponent } from './indicators.component';\nimport { PepInternalButtonComponent } from './internal-button.component';\nimport { PepInternalListComponent } from './internal-list.component';\nimport { PepInternalMenuComponent } from './internal-menu.component';\nimport { PepInternalPageComponent } from './internal-page.component';\nimport { PepInternalCaruselComponent } from './internal-carusel.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatFormFieldModule,\n MatButtonModule,\n MatGridListModule,\n MatIconModule,\n MatMenuModule,\n // External modules\n SignaturePadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepDialogModule,\n PepIconModule,\n pepComponentsModules,\n PepFieldTitleModule,\n PepGroupButtonsModule,\n ],\n exports: [PepFormComponent],\n declarations: [\n PepFormComponent,\n PepFieldGeneratorComponent,\n PepIndicatorsComponent,\n PepInternalButtonComponent,\n PepInternalListComponent,\n PepInternalMenuComponent,\n PepInternalPageComponent,\n PepInternalCaruselComponent\n ],\n})\nexport class PepFormModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemEdit,\n pepIconSystemMenu,\n pepIconNumberPlus,\n pepIconSystemBin,\n pepIconIndicatorDotPlaceholder,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/form\n */\nexport * from './form.module';\nexport * from './form.model';\nexport * from './form.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {PepFieldGeneratorComponent as ɵa} from './field-generator.component';\nexport {PepIndicatorsComponent as ɵb} from './indicators.component';\nexport {PepInternalButtonComponent as ɵc} from './internal-button.component';\nexport {PepInternalCaruselComponent as ɵh} from './internal-carusel.component';\nexport {PepInternalCaruselService as ɵi} from './internal-carusel.service';\nexport {PepInternalListComponent as ɵd} from './internal-list.component';\nexport {PepInternalMenuComponent as ɵe} from './internal-menu.component';\nexport {PepInternalPageComponent as ɵf} from './internal-page.component';\nexport {PepInternalPageService as ɵg} from './internal-page.service';"],"names":["EventEmitter","BehaviorSubject","DEFAULT_HORIZONTAL_ALIGNMENT","X_ALIGNMENT_TYPE","DEFAULT_VERTICAL_ALIGNMENT","Y_ALIGNMENT_TYPE","PepTextboxField","PepSelectField","PepInternalMenuField","FIELD_TYPE","PepQuantitySelectorField","PepAddressField","PepIndicatorsField","PepInternalPageField","PepInternalCaruselField","PepInternalButtonField","PepAttachmentField","PepSignatureField","PepImageField","PepImagesField","PepTextareaField","PepRichHtmlTextareaField","PepDateField","PepCheckboxField","PepSeparatorField","Validators","PepDialogData","PepCustomizationService","PepPlaceholderField","Component","ChangeDetectionStrategy","PepDialogService","PepLayoutService","FormBuilder","KeyValueDiffers","TranslateService","Input","Output","ViewEncapsulation","pepIconSystemBin","Renderer2","ElementRef","ChangeDetectorRef","ViewChild","Injectable","PepHttpService","fromEvent","debounceTime","PepQuantitySelectorComponent","ViewContainerRef","TemplateRef","PepScreenSizeType","PepCarouselComponent","PepAddressModule","PepAttachmentModule","PepButtonModule","PepCarouselModule","PepCheckboxModule","PepDateModule","PepImageModule","PepImagesFilmstripModule","PepQuantitySelectorModule","PepRichHtmlTextareaModule","PepSelectModule","PepSeparatorModule","PepSignatureModule","PepTextareaModule","PepTextboxModule","pepIconSystemEdit","pepIconSystemMenu","pepIconNumberPlus","pepIconIndicatorDotPlaceholder","NgModule","CommonModule","ReactiveFormsModule","MatCommonModule","MatFormFieldModule","MatButtonModule","MatGridListModule","MatIconModule","MatMenuModule","SignaturePadModule","PepNgxLibModule","PepDialogModule","PepIconModule","PepFieldTitleModule","PepGroupButtonsModule","PepIconRegistry"],"mappings":"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"}