@apipass/schemas 0.1.6-alpha.2

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 (53) hide show
  1. package/README.md +33 -0
  2. package/apipass-schemas.d.ts +5 -0
  3. package/assets/css/buttons.scss +112 -0
  4. package/assets/css/colors.scss +34 -0
  5. package/assets/css/fonts.scss +24 -0
  6. package/assets/css/inputs.scss +197 -0
  7. package/assets/css/pt_sans.scss +144 -0
  8. package/assets/css/spacing.scss +28 -0
  9. package/assets/css/texts.scss +18 -0
  10. package/base-schema.component.d.ts +11 -0
  11. package/bundles/apipass-schemas.umd.js +2004 -0
  12. package/bundles/apipass-schemas.umd.js.map +1 -0
  13. package/bundles/apipass-schemas.umd.min.js +16 -0
  14. package/bundles/apipass-schemas.umd.min.js.map +1 -0
  15. package/esm2015/apipass-schemas.js +5 -0
  16. package/esm2015/base-schema.component.js +30 -0
  17. package/esm2015/public-api.js +17 -0
  18. package/esm2015/schema-custom-attributes/schema-custom-attributes.js +177 -0
  19. package/esm2015/schema-fields.service.js +77 -0
  20. package/esm2015/schema-form/schema-array/array-session/array-session.js +158 -0
  21. package/esm2015/schema-form/schema-array/schema-array.js +195 -0
  22. package/esm2015/schema-form/schema-form.js +72 -0
  23. package/esm2015/schema-form/schema-input/field-render/field-render.js +72 -0
  24. package/esm2015/schema-form/schema-input/input-render/boolean-input/boolean-input.component.js +45 -0
  25. package/esm2015/schema-form/schema-input/input-render/input-render.js +136 -0
  26. package/esm2015/schema-form/schema-input/input-render/number-input/number-input.component.js +43 -0
  27. package/esm2015/schema-form/schema-input/schema-input.js +98 -0
  28. package/esm2015/schema-form/schema-object/schema-object.js +94 -0
  29. package/esm2015/schema-form-render.js +96 -0
  30. package/esm2015/schema-form-render.module.js +121 -0
  31. package/esm2015/schema-validation-field.js +15 -0
  32. package/esm2015/struct.utils.js +9 -0
  33. package/esm2015/type-script-compile.js +77 -0
  34. package/fesm2015/apipass-schemas.js +1420 -0
  35. package/fesm2015/apipass-schemas.js.map +1 -0
  36. package/package.json +27 -0
  37. package/public-api.d.ts +16 -0
  38. package/schema-custom-attributes/schema-custom-attributes.d.ts +15 -0
  39. package/schema-fields.service.d.ts +12 -0
  40. package/schema-form/schema-array/array-session/array-session.d.ts +17 -0
  41. package/schema-form/schema-array/schema-array.d.ts +18 -0
  42. package/schema-form/schema-form.d.ts +17 -0
  43. package/schema-form/schema-input/field-render/field-render.d.ts +15 -0
  44. package/schema-form/schema-input/input-render/boolean-input/boolean-input.component.d.ts +13 -0
  45. package/schema-form/schema-input/input-render/input-render.d.ts +19 -0
  46. package/schema-form/schema-input/input-render/number-input/number-input.component.d.ts +13 -0
  47. package/schema-form/schema-input/schema-input.d.ts +14 -0
  48. package/schema-form/schema-object/schema-object.d.ts +20 -0
  49. package/schema-form-render.d.ts +17 -0
  50. package/schema-form-render.module.d.ts +22 -0
  51. package/schema-validation-field.d.ts +17 -0
  52. package/struct.utils.d.ts +1 -0
  53. package/type-script-compile.d.ts +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/schemas/src/base-schema.component.ts","../../../projects/schemas/src/struct.utils.ts","../../../projects/schemas/src/schema-form/schema-array/array-session/array-session.html","../../../projects/schemas/src/schema-form/schema-array/array-session/array-session.ts","../../../projects/schemas/src/schema-form/schema-form.html","../../../projects/schemas/src/schema-form/schema-form.ts","../../../projects/schemas/src/schema-custom-attributes/schema-custom-attributes.html","../../../projects/schemas/src/schema-custom-attributes/schema-custom-attributes.ts","../../../projects/schemas/src/schema-form/schema-array/schema-array.html","../../../projects/schemas/src/schema-form/schema-array/schema-array.ts","../../../projects/schemas/src/schema-form/schema-input/field-render/field-render.html","../../../projects/schemas/src/schema-form/schema-input/field-render/field-render.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/number-input/number-input.component.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/number-input/number-input.component.html","../../../projects/schemas/src/schema-form/schema-input/input-render/boolean-input/boolean-input.component.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/boolean-input/boolean-input.component.html","../../../projects/schemas/src/schema-form/schema-input/input-render/input-render.html","../../../projects/schemas/src/schema-form/schema-input/input-render/input-render.ts","../../../projects/schemas/src/schema-form/schema-input/schema-input.html","../../../projects/schemas/src/schema-form/schema-input/schema-input.ts","../../../projects/schemas/src/schema-form/schema-object/schema-object.html","../../../projects/schemas/src/schema-form/schema-object/schema-object.ts","../../../projects/schemas/src/schema-validation-field.ts","../../../projects/schemas/src/schema-fields.service.ts","../../../projects/schemas/src/schema-form-render.html","../../../projects/schemas/src/schema-form-render.ts","../../../projects/schemas/src/schema-form-render.module.ts","../../../projects/schemas/src/type-script-compile.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__createBinding","o","m","k","k2","undefined","enumerable","get","__exportStar","exports","__values","__read","ar","error","__spread","concat","__spreadArrays","il","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","mod","__esModule","__importDefault","default","__classPrivateFieldGet","receiver","privateMap","has","__classPrivateFieldSet","set","BaseSchemaComponent","modelChange","EventEmitter","getSchemaProperties","schema","properties","canRender","property","conditionExpression","eval","onDropStruct","event","attr","data","selectors","inputs","model","outputs","decls","vars","template","rf","ctx","encapsulation","i0.ɵɵelementStart","i0.ɵɵtext","i0.ɵɵelementEnd","i0.ɵɵlistener","i0.ɵɵadvance","i0.ɵɵproperty","i0","ɵɵpureFunction0","_c0","i0.ɵɵelementContainer","i0.ɵɵtemplate","i0.ɵɵtextInterpolate2","ɵɵpureFunction1","_c2","ɵɵpureFunction3","_c1","ctx_r0","index_r3","item_r2","mappingAttributes","i0.ɵɵtextInterpolate","ArraySessionComponent","_this","_super","showAddLoop","removeLabel","onAdd","onAddLoop","add","addLoop","remove","item","values","index","splice","trackByIndex","obj","contentQueries","dirIndex","TemplateRef","schema_r1","editing","i_r2","SchemaFormComponent","schemas","customProperties","loaded","ngAfterContentInit","onDrop","$event","modelElement","getId","idPrefix","inputType","features","ɵɵInheritDefinitionFeature","consts","i0.ɵɵelement","ɵɵrestoreView","_r8_1","attribute_r5","$implicit","ɵɵnextContext","_c0$1","_r12_1","ctx_r14","newCustomField","i0.ɵɵtextInterpolate1","SchemaCustomAttributesComponent","onSaveAttribute","onDropOnAttribute","saveNewAttribute","emit","removeCustomAttribute","attributeIndex","attribute","onDropFunction","ctx_r4","id","item_r3","ctx_r5","ctx_r6","_r20_1","ctx_r21","addArrayItem","ctx_r22","addArrayLoop","title","withoutLoop","_r30_1","item_r24","ctx_r31","items","_c0$2","ctx_r25","_r36_1","ctx_r37","ctx_r27","_r26","_r41_1","ctx_r42","ctx_r43","ctx_r1","SchemaArrayComponent","_a","type","param","keys","forEach","schemaProperty","loop","alias","i0.ɵɵpropertyInterpolate","required","FieldRenderComponent","inputId","tooltip","state","ngContentSelectors","_c1$1","i0.ɵɵprojection","NumberInputComponent","changeValue","isNaN","Number","placeholder","maxLength","_c0$4","BooleanInputComponent","_c0$5","_r5_1","onChange","_c0$6","item_r9","selected","_r11_1","_r14_1","ctx_r2","description","_r17_1","ctx_r3","InputRenderComponent","onDropEvent","_b","options","filter","modelPropertiesPath","help","SchemaInputComponent","SchemaObjectComponent","SchemaValidationField","emptyFields","invalidMinLengthFields","invalidMaxLengthFields","isValidSchemaFields","_c","isInvalidSchemaFields","SchemaFieldsService","translate","validateSchemaFields","propertiesRendered","processProperties","structValidationField","getErrorsStringArray","validationErrorsLabel","recursive","propertiesRendered_1","propertiesRendered_1_1","validateModel","minLength","newProperty","structValidation","errors","field","fieldName","instant","_d","_e","_f","ɵɵinject","i7","TranslateService","factory","ɵfac","SchemaFormRenderComponent","SchemaFormRenderModule","providers","imports","CommonModule","DndModule","FormsModule","MatTooltipModule","TranslateModule","InputsModule","declarations","i1","NgClass","NgComponentOutlet","NgForOf","NgIf","NgTemplateOutlet","NgStyle","NgSwitch","NgSwitchCase","NgSwitchDefault","NgPlural","NgPluralCase","i2","DndDraggableDirective","DndDropzoneDirective","DndHandleDirective","DndPlaceholderRefDirective","DndDragImageRefDirective","i3","ɵangular_packages_forms_forms_y","NgSelectOption","ɵangular_packages_forms_forms_x","DefaultValueAccessor","NumberValueAccessor","RangeValueAccessor","CheckboxControlValueAccessor","SelectControlValueAccessor","SelectMultipleControlValueAccessor","RadioControlValueAccessor","NgControlStatus","NgControlStatusGroup","RequiredValidator","MinLengthValidator","MaxLengthValidator","PatternValidator","CheckboxRequiredValidator","EmailValidator","NgModel","NgModelGroup","NgForm","i4","MatTooltip","TooltipComponent","i5","Dir","i6","CdkScrollable","TranslateDirective","i8","SelectBoxComponent","SelectEnumComponent","InputTextComponent","InputPasswordComponent","InputAvatarComponent","InputFileComponent","CustomSelectComponent","FieldComponent","AsyncPipe","UpperCasePipe","LowerCasePipe","JsonPipe","SlicePipe","DecimalPipe","PercentPipe","TitleCasePipe","CurrencyPipe","DatePipe","I18nPluralPipe","I18nSelectPipe","KeyValuePipe","TranslatePipe","TypeScriptCompile","addItemToFormProperties","formProperties","FormControl","Validators","compileProperties","input","compiledProperties","inputData","inputToCompile","JSON","parse","stringify","proccessProperties","sort","propertyOrder","hasProperties","arFieldsChild","indexChild","keyChild","itemChild"],"mappings":"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","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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, 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\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\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 __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 (Object.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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n template: ''\n})\nexport abstract class BaseSchemaComponent {\n\n @Input() model: any;\n @Input() public schema: any;\n @Output() modelChange: EventEmitter<any> = new EventEmitter<any>();\n\n getSchemaProperties(): any {\n return this.schema.properties instanceof Array ? this.schema.properties : [this.schema.properties];\n }\n\n public canRender(property: any): boolean {\n // tslint:disable-next-line:no-eval\n property.canRender = property?.conditionExpression ? eval(property.conditionExpression) : true;\n return property.canRender;\n }\n\n}\n","export function onDropStruct(event: any, attr: any): any {\n const data = event.data;\n if (!attr) {\n attr = '';\n }\n attr += `{{${data}}}`;\n return attr;\n}\n","<div class=\"row\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ label | translate }}</label>\n <div class=\"subsection-element\" *ngFor=\"let item of model; let index = index; trackBy:trackByIndex;\">\n <div class=\"subsection-item-title\">{{removeLabel | translate}} {{index + 1}}\n <i class=\"far fa-trash-alt\" (click)=\"remove(item)\"></i>\n </div>\n <div class=\"row\" *ngIf=\"item.mappingAttributes || item.mappingAttributes === ''\">\n <div class=\"col-md-8\">\n <label class=\"info-label\">Loop</label>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.loop\" [ngModelOptions]=\"{standalone: true}\"/>\n </div>\n <div class=\"col-md-4\">\n <label class=\"info-label\">Alias</label>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.alias\" [ngModelOptions]=\"{standalone: true}\"/>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"subsectionItem, context: {\n $implicit: {\n items: model, index: index,\n mappingAttributes: (item.mappingAttributes || item.mappingAttributes === '') ? item.mappingAttributes : item\n }\n }\"></ng-container>\n </div>\n </div>\n</div>\n<div class=\"row add-buttons\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-outline-primary float-left btn-personal-edit\" (click)=\"add()\">{{'ADD_ITEM' | translate}}</button>\n <button class=\"btn btn-outline-primary float-left btn-personal-edit ml-2\" *ngIf=\"showAddLoop\" (click)=\"addLoop()\">{{'ADD_LOOP' | translate}}</button>\n </div>\n</div>\n","import {Component, ContentChild, EventEmitter, Input, Output, TemplateRef} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../base-schema.component';\n\n@Component({\n selector: 'array-session',\n templateUrl: 'array-session.html',\n styleUrls: ['array-session.scss']\n})\nexport class ArraySessionComponent extends BaseSchemaComponent {\n\n @Input() public label = '';\n @Input() public showAddLoop = true;\n @Input() public removeLabel = '';\n\n @Output() public onAdd: EventEmitter<any> = new EventEmitter<any>();\n @Output() public onAddLoop: EventEmitter<any> = new EventEmitter<any>();\n\n @ContentChild(TemplateRef, { read: TemplateRef })\n public subsectionItem: TemplateRef<any> | undefined;\n\n public add(): void {\n this.onAdd.next();\n }\n\n public addLoop(): void {\n this.onAddLoop.next();\n }\n\n public remove(item: any): any {\n const values = this.model;\n const index = values.indexOf(item);\n values.splice(index, 1);\n this.model = values;\n }\n\n public trackByIndex(index: number, obj: any): any {\n return index;\n }\n\n}\n","<div class=\"schema-properties\" *ngFor=\"let schema of schemas; let i = index\">\n <schema-input [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schema]=\"schema\"\n [editing]=\"this.editing\"\n [index]=\"i\">\n </schema-input>\n <schema-object [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schema]=\"schema\"\n [editing]=\"this.editing\"\n [index]=\"i\">\n </schema-object>\n <schema-array [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schema]=\"schema\"\n [editing]=\"this.editing\"\n [index]=\"i\">\n </schema-array>\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../base-schema.component';\nimport {onDropStruct} from '../struct.utils';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'schema-form',\n templateUrl: 'schema-form.html',\n styleUrls: ['./schema-form.scss']\n})\nexport class SchemaFormComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schemas = [];\n @Input() customProperties = false;\n @Input() editing = false;\n @Input() inputType: string | undefined;\n\n loaded = false;\n\n ngAfterContentInit(): void {\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n getId(index: number): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n}\n\n","<div class=\"row custom-attributes\" *ngFor=\"let attribute of model; let i = index\">\n <div class=\"col-md-12\">\n <label class=\"info-label\">{{ attribute.label }}</label>\n <span (click)=\"removeCustomAttribute(i)\" class=\"customAttributeDeleteIcon\">\n <i class=\"far fa-trash-alt\" [matTooltip]=\"'REMOVE' | translate\"></i>\n </span>\n\n <input\n class=\"form-control\"\n [(ngModel)]=\"attribute.value\"\n [ngModelOptions]=\"{standalone: true}\"\n dndDropzone\n (dndDrop)=\"onDrop($event, attribute)\"\n />\n </div>\n</div>\n<div *ngIf=\"newCustomField\" class=\"struct-custom-field\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <label class=\"info-label\">{{'STEP.NAME' | translate}}<strong>*</strong></label>\n <input class=\"form-control\" [(ngModel)]=\"newCustomField.label\" [ngModelOptions]=\"{standalone: true}\"/>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <label class=\"info-label\">{{'STEP.VALUE' | translate}}<strong>*</strong></label>\n <input\n class=\"form-control\"\n [(ngModel)]=\"newCustomField.value\"\n [ngModelOptions]=\"{standalone: true}\"\n dndDropzone\n (dndDrop)=\"onDrop($event, newCustomField)\"\n />\n </div>\n </div>\n</div>\n<div class=\"row actions-buttons\">\n <div class=\"col-md-12 pull-right\">\n <button class=\"btn btn-outline-primary float-left\" *ngIf=\"!newCustomField\" (click)=\"newCustomField = {}\">\n {{'ADD' | translate }}\n </button>\n <button\n class=\"btn btn-outline-danger float-left ml-2\"\n *ngIf=\"newCustomField\"\n (click)=\"newCustomField = null\"\n >\n {{'CANCEL' | translate }}\n </button>\n <button\n class=\"btn btn-outline-primary float-left\"\n *ngIf=\"newCustomField && newCustomField.label && newCustomField.value\"\n (click)=\"saveNewAttribute(newCustomField)\"\n >\n {{'SAVE' | translate }}\n </button>\n </div>\n</div>\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BaseSchemaComponent} from '../base-schema.component';\n\n@Component({\n selector: 'schema-custom-attributes',\n templateUrl: 'schema-custom-attributes.html',\n styleUrls: ['./schema-custom-attributes.scss']\n})\nexport class SchemaCustomAttributesComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() onDropFunction: (() => any | undefined) | undefined;\n\n @Output() onSaveAttribute: EventEmitter<any> = new EventEmitter<any>();\n @Output() onDropOnAttribute: EventEmitter<any> = new EventEmitter<any>();\n\n public newCustomField: any;\n\n ngAfterContentInit(): void {\n if (!this.model) {\n this.model = [];\n }\n }\n\n public saveNewAttribute(newCustomField: any): void {\n this.onSaveAttribute.emit(newCustomField);\n this.model.push(newCustomField);\n this.newCustomField = null;\n this.modelChange.emit(this.model);\n }\n\n public removeCustomAttribute(attributeIndex: any): void {\n this.model.splice(attributeIndex, 1);\n this.modelChange.emit(this.model);\n }\n\n public onDrop($event: any, attribute: any): void {\n if (!attribute.value) {\n attribute.value = '';\n }\n attribute.value += `{{${$event.data}}}`;\n }\n\n}\n","<div *ngIf=\"loaded && canRender(schema) && schema.type === 'array' && schema.properties\">\n <array-session\n [label]=\"schema.title\"\n [removeLabel]=\"schema.title\"\n [(model)]=\"this.model[schema.id]\"\n [showAddLoop]=\"schema.withoutLoop !== true\"\n (onAdd)=\"addArrayItem(schema.id, {})\"\n (onAddLoop)=\"addArrayLoop(schema.id, {})\">\n <ng-template let-item>\n <schema-form *ngIf=\"this.model[schema.id][item.index].loop !== undefined\" [idPrefix]=\"idPrefix\"\n [(model)]=\"this.model[schema.id][item.index].mappingAttributes\"\n [schemas]=\"getSchemaProperties()\"\n [editing]=\"this.editing\">\n </schema-form>\n <schema-form *ngIf=\"this.model[schema.id][item.index].loop == undefined\" [idPrefix]=\"idPrefix\"\n [(model)]=\"this.model[schema.id][item.index]\"\n [schemas]=\"getSchemaProperties()\"\n [editing]=\"this.editing\">\n </schema-form>\n\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model[schema.id][item.index] && schema.customProperties\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ 'STEP.ADDITIONAL_ATTRIBUTES' | translate }}</label>\n <schema-custom-attributes [(model)]=\"this.model[schema.id][item.index].customAttributes\" [onDropFunction]=\"onDrop\">\n </schema-custom-attributes>\n </div>\n </div>\n\n </ng-template>\n </array-session>\n</div>\n<div *ngIf=\"schema && canRender(schema) && schema.type === 'array' && !schema.properties\">\n <array-session\n [label]=\"schema.title\"\n [removeLabel]=\"schema.title\"\n [(model)]=\"this.model[schema.id]\"\n [showAddLoop]=\"schema.withoutLoop !== true\"\n (onAdd)=\"addArrayItem(schema.id, '')\"\n (onAddLoop)=\"addArrayLoop(schema.id, '')\"\n >\n <ng-template let-item>\n <label class=\"info-label\" [htmlFor]=\"getId(index)+'-'+item.index\">{{ schema.title | translate }}</label>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.items[item.index].mappingAttributes\"\n [ngModelOptions]=\"{standalone: true}\" dndDropzone\n (dndDrop)=\"item.items[item.index].mappingAttributes = this.onDrop($event, item.items[item.index].mappingAttributes)\"\n *ngIf=\"item.items[item.index].mappingAttributes || item.items[item.index].mappingAttributes === ''; else elseBlock\"\n [id]=\"getId(index)+'-'+item.index\"/>\n <ng-template #elseBlock>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.items[item.index]\"\n [ngModelOptions]=\"{standalone: true}\" dndDropzone\n (dndDrop)=\"item.items[item.index] = this.onDrop($event, item.items[item.index])\"\n [id]=\"getId(index)+'-'+item.index\"/>\n </ng-template>\n </ng-template>\n </array-session>\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../base-schema.component';\nimport {onDropStruct} from '../../struct.utils';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'schema-array',\n templateUrl: 'schema-array.html',\n styleUrls: ['./schema-array.scss']\n})\nexport class SchemaArrayComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schema: any;\n @Input() editing = false;\n @Input() index: number | undefined;\n\n loaded: boolean | undefined;\n\n ngAfterContentInit(): void {\n if (this.schema?.type === 'array' && this.model && !this.model[this.schema.id]) {\n this.model[this.schema.id] = [];\n }\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n getId(index: any): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n addArrayItem(id: any, param: any): void {\n this.model[id] = this.model[id] || [];\n if (this.schema.properties) {\n param = {};\n Object.keys(this.schema.properties).forEach(key => {\n const schemaProperty = this.schema.properties[key];\n if (schemaProperty.type === 'object') {\n param[schemaProperty.id] = {};\n } else if (schemaProperty.type === 'array') {\n param[schemaProperty.id] = [];\n }\n });\n }\n this.model[id].push(param);\n }\n\n addArrayLoop(id: any, mappingAttributes: any): void {\n this.model[id] = this.model[id] || [];\n this.model[id].push({loop: '', alias: '', mappingAttributes});\n }\n\n}\n\n","<div [ngClass]=\"{'has-error':state && !state.valid && (!state.pristine || state.touched) && state.errors}\">\n <label class=\"info-label bold\" [htmlFor]=\"inputId\">\n {{ label | translate }}\n <small [ngClass]=\"{'has-error':state && !state.valid && state.errors}\" *ngIf=\"required\">(obrigatório)</small>\n <span class=\"info-icon\" matTooltip=\"{{ tooltip | translate }}\" *ngIf=\"tooltip\">\n <i class=\"far fa-question-circle\"></i>\n </span>\n </label>\n\n <!-- Input, textarea or select -->\n <ng-content></ng-content>\n</div>","import {Component, Input} from '@angular/core';\nimport {FormControl} from '@angular/forms';\n\n@Component({\n selector: 'field-render',\n templateUrl: 'field-render.html',\n styleUrls: ['field-render.scss']\n})\nexport class FieldRenderComponent {\n\n @Input() label = '';\n @Input() inputId: string | undefined;\n @Input() tooltip: string | undefined;\n @Input() required = true;\n\n /**\n * Estado do input no formulário para validar quando\n * é necessário exibir as mensagens de erro.\n */\n @Input() state: FormControl | undefined;\n\n}\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../../base-schema.component';\n\n@Component({\n selector: 'number-input',\n templateUrl: 'number-input.component.html'\n})\nexport class NumberInputComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() placeholder: string | undefined;\n @Input() inputId: string | undefined;\n @Input() maxLength: any;\n\n value: string | undefined;\n\n ngAfterContentInit(): void {\n this.value = this.model;\n }\n\n public changeValue($event: any): void {\n if ($event && !isNaN($event)) {\n this.model = Number($event);\n this.modelChange.emit(this.model);\n } else {\n this.model = $event;\n this.modelChange.emit(this.model);\n }\n }\n\n}\n","<input class=\"form-control number-input\"\n [id]=\"inputId\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"changeValue($event)\"\n [maxlength]=\"maxLength\">\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../../base-schema.component';\n\n@Component({\n selector: 'boolean-input',\n templateUrl: 'boolean-input.component.html',\n})\nexport class BooleanInputComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() placeholder: string | undefined;\n @Input() inputId: string | undefined;\n @Input() maxLength: any;\n\n value: string | undefined;\n\n ngAfterContentInit(): void {\n this.value = this.model;\n }\n\n public changeValue($event: any): void {\n if ($event && ($event === 'true' || $event === 'false')) {\n this.model = $event === 'true';\n this.value = this.model;\n this.modelChange.emit(this.model);\n } else {\n this.model = $event;\n this.value = this.model;\n this.modelChange.emit(this.model);\n }\n }\n\n}\n","<input class=\"form-control\"\n [id]=\"inputId\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"changeValue($event)\"\n [maxlength]=\"maxLength\">\n","<div class=\"schema-input-container\">\n <input class=\"form-control\" [type]=\"schema.type === 'password' ? 'password' : 'text'\"\n placeholder=\"{{schema.description}}\"\n *ngIf=\"(schema.type === 'string' || schema.type === 'password') && !schema.options\"\n [(ngModel)]=\"value\" [ngModelOptions]=\"{standalone: true}\" (ngModelChange)=\"onChange($event)\"\n dndDropzone [id]=\"inputId\" [maxlength]=\"schema.maxLength\" />\n\n <select class=\"form-control custom-select\" [id]=\"inputId\" [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\" [ngModelOptions]=\"{standalone: true}\"\n *ngIf=\"schema.type === 'string' && schema.options\">\n <option *ngIf=\"schema.description\" [value]=\"undefined\"> {{schema.description}} </option>\n <option *ngFor=\"let item of schema.options\" [value]=\"item.key\" [selected]=\"item.selected === true\">{{\n item.value | translate }}</option>\n </select>\n\n <number-input [(model)]=\"value\" [inputId]=\"inputId\"\n *ngIf=\"schema.type === 'number'\" dndDropzone\n [placeholder]=\"schema.description\" [maxLength]=\"schema.maxLength\" (modelChange)=\"onChange($event)\"></number-input>\n\n <boolean-input [(model)]=\"value\" [inputId]=\"inputId\"\n *ngIf=\"schema.type === 'boolean'\" dndDropzone\n [placeholder]=\"schema.description\" [maxLength]=\"schema.maxLength\" (modelChange)=\"onChange($event)\"></boolean-input>\n</div>\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'input-render',\n templateUrl: 'input-render.html',\n styleUrls: ['./input-render.scss']\n})\nexport class InputRenderComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() public schema: any = {};\n @Input() public modelPropertiesPath: string | undefined;\n @Input() public inputId: string | undefined;\n @Input() public editing = false;\n\n @Output() public onDropEvent = new EventEmitter<{ $event: DndDropEvent, modelElement: any }>();\n\n value: string | undefined;\n\n ngAfterContentInit(): void {\n if (this.schema?.type !== 'object' && this.schema?.type !== 'array') {\n if (!this.editing && this.schema.options) {\n const $event = this.schema.options.filter((item: any) => item.selected === true);\n if ($event[0]) {\n this.onChange($event[0].key);\n }\n }\n this.value = this.model;\n }\n }\n\n onChange($event: any): void {\n this.model = $event;\n this.modelChange.emit(this.model);\n }\n\n}\n","<div class=\"row schema-input\"\n *ngIf=\"loaded && canRender(schema) && schema.type !== 'array' && schema.type !== 'object' && schema.minLength && schema.minLength > 0\">\n <div class=\"col-md-12\">\n <field-render [label]=\"schema.title\" [tooltip]=\"schema.help\" [inputId]=\"getId(index)\">\n <input-render [inputId]=\"getId(index)\" [schema]=\"schema\" [(model)]=\"this.model[schema.id]\"\n [modelPropertiesPath]=\"'mappingAttributes.' + schema.id\"\n [editing]=\"this.editing\"></input-render>\n </field-render>\n </div>\n</div>\n<div class=\"row schema-input\"\n *ngIf=\"loaded && canRender(schema) && schema.type !== 'array' && schema.type !== 'object' && (!schema.minLength || schema.minLength === 0)\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\" [htmlFor]=\"getId(index)\">\n {{schema.title}}\n <span class=\"config-tooltip\" matTooltip=\"{{ schema.help | translate }}\" *ngIf=\"schema.help\">?</span>\n </label>\n <input-render [inputId]=\"getId(index)\" [schema]=\"schema\" [(model)]=\"this.model[schema.id]\"\n [modelPropertiesPath]=\"'mappingAttributes.' + schema.id\"\n [editing]=\"this.editing\"></input-render>\n </div>\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../base-schema.component';\n\n@Component({\n selector: 'schema-input',\n templateUrl: 'schema-input.html',\n styleUrls: ['./schema-input.scss']\n})\nexport class SchemaInputComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schema: any;\n @Input() editing = false;\n @Input() index: number | undefined;\n\n loaded: boolean | undefined;\n\n ngAfterContentInit(): void {\n this.loaded = true;\n }\n\n getId(index: any): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n}\n\n","<div class=\"schema-object-container\" *ngIf=\"loaded && canRender(schema) && schema.type == 'object'\">\n <div class=\"schema-object-title\">{{schema.title}}</div>\n <schema-form [idPrefix]=\"idPrefix\"\n [(model)]=\"model[schema.id]\"\n [schemas]=\"getSchemaProperties()\"\n [editing]=\"this.editing\">\n </schema-form>\n\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model[schema.id] && schema.customProperties\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ 'STEP.ADDITIONAL_ATTRIBUTES' | translate }}</label>\n <schema-custom-attributes [(model)]=\"this.model[schema.id].customAttributes\" [onDropFunction]=\"onDrop\">\n </schema-custom-attributes>\n </div>\n </div>\n\n</div>\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BaseSchemaComponent} from '../../base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\nimport {onDropStruct} from '../../struct.utils';\n\n@Component({\n selector: 'schema-object',\n templateUrl: 'schema-object.html',\n styleUrls: ['./schema-object.scss']\n})\nexport class SchemaObjectComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() public idPrefix: string | undefined;\n @Input() public modelPropertiesPath: string | undefined;\n @Input() public inputId: string | undefined;\n @Input() public editing = false;\n @Input() index: number | undefined;\n\n @Output() public onDropEvent = new EventEmitter<{ $event: DndDropEvent, modelElement: any }>();\n loaded = false;\n\n ngAfterContentInit(): void {\n if (this.schema?.type === 'object' && this.model) {\n this.model[this.schema.id] = this.model[this.schema.id] || {};\n }\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n}\n","export type StructFieldType = Array<{\n title?: string,\n id: string,\n description?: string,\n propertyOrder?: number,\n minLength?: number,\n maxLength?: number\n}>;\n\nexport class SchemaValidationField {\n\n emptyFields: StructFieldType;\n invalidMinLengthFields: StructFieldType;\n invalidMaxLengthFields: StructFieldType;\n validationErrorsLabel: string[] | undefined;\n\n constructor(emptyFields: StructFieldType, invalidMinLengthFields: StructFieldType, invalidMaxLengthFields: StructFieldType) {\n this.emptyFields = emptyFields;\n this.invalidMinLengthFields = invalidMinLengthFields;\n this.invalidMaxLengthFields = invalidMaxLengthFields;\n }\n\n isValidSchemaFields(): boolean {\n return this.emptyFields?.length < 1 && this.invalidMinLengthFields?.length < 1 && this.invalidMaxLengthFields?.length < 1;\n }\n\n isInvalidSchemaFields(): boolean {\n return !this.isValidSchemaFields();\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {SchemaValidationField} from './schema-validation-field';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Injectable()\nexport class SchemaFieldsService {\n\n constructor(private translate: TranslateService) {\n }\n\n public async validateSchemaFields(propertiesRendered: Array<any>, model: any): Promise<SchemaValidationField> {\n\n if (!propertiesRendered) {\n return new SchemaValidationField([], [], []);\n }\n\n const emptyFields: any[] = [];\n const invalidMinLengthFields: any[] = [];\n const invalidMaxLengthFields: any[] = [];\n this.processProperties(propertiesRendered, model, emptyFields, invalidMinLengthFields, invalidMaxLengthFields);\n\n const structValidationField = new SchemaValidationField(emptyFields, invalidMinLengthFields, invalidMaxLengthFields);\n structValidationField.validationErrorsLabel = await this.getErrorsStringArray(structValidationField);\n\n return structValidationField;\n\n }\n\n private processProperties(propertiesRendered: Array<any>,\n model: any, emptyFields: any[],\n invalidMinLengthFields: any[],\n invalidMaxLengthFields: any[],\n recursive?: boolean): void {\n for (const property of propertiesRendered) {\n if ((property.type === 'object' || property.type === 'array') && property.properties) {\n this.processProperties(property.properties, model[property.id], emptyFields, invalidMinLengthFields, invalidMaxLengthFields, true);\n } else if (property.type === 'array' && !property.properties) {\n const newProperty = {...property};\n newProperty.type = 'string';\n this.processProperties([newProperty], model[property.id], emptyFields, invalidMinLengthFields, invalidMaxLengthFields, true);\n } else {\n const validateModel = recursive ? model : model[property.id];\n if (property?.canRender && property?.minLength > 0\n && (validateModel === undefined || validateModel === '' || validateModel === null)) {\n emptyFields.push(property);\n } else if (property?.canRender && property?.minLength > 0 && (validateModel?.length < property.minLength)) {\n invalidMinLengthFields.push(property);\n } else if (property?.canRender && property?.maxLength > 0 && (validateModel?.length > property.maxLength)) {\n invalidMaxLengthFields.push(property);\n }\n }\n }\n }\n\n public async getErrorsStringArray(structValidation: SchemaValidationField): Promise<string[]> {\n if (!structValidation.isInvalidSchemaFields()) {\n return [];\n }\n const errors = [];\n for (const field of structValidation.emptyFields) {\n const fieldName = field.title || field.id;\n errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.REQUIRED_FIELD_ERROR', {fieldName}));\n }\n for (const field of structValidation.invalidMinLengthFields) {\n const fieldName = field.title || field.id;\n errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.MINLENGTH_FIELD_ERROR',\n {fieldName, minLength: field.minLength}));\n }\n for (const field of structValidation.invalidMaxLengthFields) {\n const fieldName = field.title || field.id;\n errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.MAXLENGTH_FIELD_ERROR',\n {fieldName, maxLength: field.maxLength}));\n }\n return errors;\n }\n\n}\n","<div class=\"schema\" *ngIf=\"loaded\">\n <schema-form [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schemas]=\"schemas\"\n [editing]=\"this.editing\"></schema-form>\n\n <div class=\"schema-properties\" *ngFor=\"let schema of schemas; let i = index\">\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model && customProperties\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ 'STEP.ADDITIONAL_ATTRIBUTES' | translate }}</label>\n <schema-custom-attributes [(model)]=\"model.customAttributes\" [onDropFunction]=\"onDrop\">\n </schema-custom-attributes>\n </div>\n </div>\n </div>\n\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from './base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\nimport {onDropStruct} from './struct.utils';\n\n@Component({\n selector: 'schema-form-render',\n templateUrl: 'schema-form-render.html',\n styleUrls: ['./schema-form-render.scss']\n})\nexport class SchemaFormRenderComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schemas = [];\n @Input() customProperties = false;\n @Input() editing = false;\n @Input() inputType: string | undefined;\n\n loaded = false;\n\n ngAfterContentInit(): void {\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n getId(index: number): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n}\n\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {SchemaArrayComponent} from './schema-form/schema-array/schema-array';\nimport {SchemaInputComponent} from './schema-form/schema-input/schema-input';\nimport {FieldRenderComponent} from './schema-form/schema-input/field-render/field-render';\nimport {SchemaObjectComponent} from './schema-form/schema-object/schema-object';\nimport {ArraySessionComponent} from './schema-form/schema-array/array-session/array-session';\nimport {InputRenderComponent} from './schema-form/schema-input/input-render/input-render';\nimport {SchemaFieldsService} from './schema-fields.service';\nimport {SchemaFormComponent} from './schema-form/schema-form';\nimport {SchemaCustomAttributesComponent} from './schema-custom-attributes/schema-custom-attributes';\nimport {BooleanInputComponent} from './schema-form/schema-input/input-render/boolean-input/boolean-input.component';\nimport {NumberInputComponent} from './schema-form/schema-input/input-render/number-input/number-input.component';\nimport {DndModule} from 'ngx-drag-drop';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {SchemaFormRenderComponent} from './schema-form-render';\nimport {InputsModule} from '@apipass/inputs';\n\n@NgModule({\n imports: [\n CommonModule,\n DndModule,\n FormsModule,\n MatTooltipModule,\n TranslateModule,\n InputsModule\n ],\n declarations: [\n ArraySessionComponent,\n SchemaArrayComponent,\n FieldRenderComponent,\n InputRenderComponent,\n BooleanInputComponent,\n NumberInputComponent,\n SchemaInputComponent,\n SchemaObjectComponent,\n SchemaFormRenderComponent,\n SchemaFormComponent,\n SchemaCustomAttributesComponent\n ],\n exports: [\n ArraySessionComponent,\n SchemaArrayComponent,\n FieldRenderComponent,\n InputRenderComponent,\n BooleanInputComponent,\n NumberInputComponent,\n SchemaInputComponent,\n SchemaObjectComponent,\n SchemaFormRenderComponent,\n SchemaFormComponent,\n SchemaCustomAttributesComponent\n ],\n providers: [\n SchemaFieldsService\n ]\n})\nexport class SchemaFormRenderModule {\n}\n","import {FormControl, Validators} from '@angular/forms';\n\nexport class TypeScriptCompile {\n\n private static addItemToFormProperties(formProperties: any, item: any, key: string): void {\n if (item.minLength && item.minLength > 0) {\n formProperties[key] = new FormControl([null, [Validators.required]]);\n } else {\n formProperties[key] = new FormControl([null]);\n }\n }\n\n public static compileProperties(input: any): {\n compiledProperties: any,\n formProperties: any,\n inputData: any\n } {\n const compiledProperties = [];\n const formProperties = {};\n let inputData: any = {};\n const inputToCompile = JSON.parse(JSON.stringify(input));\n if (inputToCompile.properties) {\n if (inputToCompile.type === 'array') {\n inputData = [];\n }\n if (inputToCompile.type === 'object') {\n inputData = {};\n }\n inputToCompile.id = 'inputData';\n this.proccessProperties(inputToCompile, formProperties, 'inputData');\n compiledProperties.push(inputToCompile);\n } else if (inputToCompile.type === 'array') {\n inputToCompile.id = 'inputData';\n inputData = [];\n TypeScriptCompile.addItemToFormProperties(formProperties, inputToCompile, 'inputData');\n compiledProperties.push(inputToCompile);\n } else if (!inputToCompile.type) {\n for (let index = 0; index < Object.keys(inputToCompile).length; index++) {\n const key = Object.keys(inputToCompile)[index];\n const item = inputToCompile[key];\n item.id = key;\n\n if (item.type === 'array') {\n inputData[item.id] = [];\n }\n\n if (item.type === 'object') {\n inputData[item.id] = {};\n }\n this.proccessProperties(item, formProperties, key);\n compiledProperties.push(item);\n }\n }\n\n compiledProperties.sort((a, b) => a.propertyOrder - b.propertyOrder);\n return {compiledProperties, formProperties, inputData};\n }\n\n private static proccessProperties(item: any, formProperties: {}, key: any): void {\n if (this.hasProperties(item)) {\n const arFieldsChild = [];\n for (let indexChild = 0; indexChild < Object.keys(item.properties).length; indexChild++) {\n const keyChild = Object.keys(item.properties)[indexChild];\n const itemChild = item.properties[keyChild];\n itemChild.id = keyChild;\n if (this.hasProperties(itemChild)) {\n this.proccessProperties(itemChild, formProperties, keyChild);\n arFieldsChild.push(itemChild);\n } else {\n TypeScriptCompile.addItemToFormProperties(formProperties, itemChild, keyChild);\n arFieldsChild.push(itemChild);\n }\n }\n item.properties = arFieldsChild;\n } else {\n TypeScriptCompile.addItemToFormProperties(formProperties, item, key);\n }\n }\n\n private static hasProperties(item: any): any {\n return item.type === 'object' || (item.type === 'array' && item.properties);\n }\n\n}\n"]}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpcGFzcy1zY2hlbWFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvc2NoZW1hcy9zcmMvYXBpcGFzcy1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BaseSchemaComponent {
4
+ constructor() {
5
+ this.modelChange = new EventEmitter();
6
+ }
7
+ getSchemaProperties() {
8
+ return this.schema.properties instanceof Array ? this.schema.properties : [this.schema.properties];
9
+ }
10
+ canRender(property) {
11
+ // tslint:disable-next-line:no-eval
12
+ property.canRender = (property === null || property === void 0 ? void 0 : property.conditionExpression) ? eval(property.conditionExpression) : true;
13
+ return property.canRender;
14
+ }
15
+ }
16
+ BaseSchemaComponent.ɵfac = function BaseSchemaComponent_Factory(t) { return new (t || BaseSchemaComponent)(); };
17
+ BaseSchemaComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BaseSchemaComponent, selectors: [["ng-component"]], inputs: { model: "model", schema: "schema" }, outputs: { modelChange: "modelChange" }, decls: 0, vars: 0, template: function BaseSchemaComponent_Template(rf, ctx) { }, encapsulation: 2 });
18
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(BaseSchemaComponent, [{
19
+ type: Component,
20
+ args: [{
21
+ template: ''
22
+ }]
23
+ }], null, { model: [{
24
+ type: Input
25
+ }], schema: [{
26
+ type: Input
27
+ }], modelChange: [{
28
+ type: Output
29
+ }] }); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zY2hlbWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvc2NoZW1hcy9zcmMvYmFzZS1zY2hlbWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBS3JFLE1BQU0sT0FBZ0IsbUJBQW1CO0lBSHpDO1FBT1ksZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQVlwRTtJQVZDLG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRU0sU0FBUyxDQUFDLFFBQWE7UUFDNUIsbUNBQW1DO1FBQ25DLFFBQVEsQ0FBQyxTQUFTLEdBQUcsQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQy9GLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUM1QixDQUFDOztzRkFkbUIsbUJBQW1CO3dEQUFuQixtQkFBbUI7a0RBQW5CLG1CQUFtQjtjQUh4QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLEVBQUU7YUFDYjtnQkFHVSxLQUFLO2tCQUFiLEtBQUs7WUFDVSxNQUFNO2tCQUFyQixLQUFLO1lBQ0ksV0FBVztrQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTY2hlbWFDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIG1vZGVsOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBzY2hlbWE6IGFueTtcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGdldFNjaGVtYVByb3BlcnRpZXMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5zY2hlbWEucHJvcGVydGllcyBpbnN0YW5jZW9mIEFycmF5ID8gdGhpcy5zY2hlbWEucHJvcGVydGllcyA6IFt0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzXTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5SZW5kZXIocHJvcGVydHk6IGFueSk6IGJvb2xlYW4ge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1ldmFsXG4gICAgcHJvcGVydHkuY2FuUmVuZGVyID0gcHJvcGVydHk/LmNvbmRpdGlvbkV4cHJlc3Npb24gPyBldmFsKHByb3BlcnR5LmNvbmRpdGlvbkV4cHJlc3Npb24pIDogdHJ1ZTtcbiAgICByZXR1cm4gcHJvcGVydHkuY2FuUmVuZGVyO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ export * from './schema-form-render.module';
2
+ export * from './schema-validation-field';
3
+ export * from './type-script-compile';
4
+ export * from './schema-form-render';
5
+ export * from './schema-fields.service';
6
+ export * from './base-schema.component';
7
+ export * from './schema-custom-attributes/schema-custom-attributes';
8
+ export * from './schema-form/schema-form';
9
+ export * from './schema-form/schema-array/schema-array';
10
+ export * from './schema-form/schema-array/array-session/array-session';
11
+ export * from './schema-form/schema-input/schema-input';
12
+ export * from './schema-form/schema-input/field-render/field-render';
13
+ export * from './schema-form/schema-input/input-render/input-render';
14
+ export * from './schema-form/schema-input/input-render/boolean-input/boolean-input.component';
15
+ export * from './schema-form/schema-input/input-render/number-input/number-input.component';
16
+ export * from './schema-form/schema-object/schema-object';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NjaGVtYXMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2NoZW1hLWZvcm0tcmVuZGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYS12YWxpZGF0aW9uLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZS1zY3JpcHQtY29tcGlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYS1mb3JtLXJlbmRlcic7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYS1maWVsZHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2Utc2NoZW1hLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYS1jdXN0b20tYXR0cmlidXRlcy9zY2hlbWEtY3VzdG9tLWF0dHJpYnV0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWEtZm9ybS9zY2hlbWEtZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYS1mb3JtL3NjaGVtYS1hcnJheS9zY2hlbWEtYXJyYXknO1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWEtZm9ybS9zY2hlbWEtYXJyYXkvYXJyYXktc2Vzc2lvbi9hcnJheS1zZXNzaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hLWZvcm0vc2NoZW1hLWlucHV0L3NjaGVtYS1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYS1mb3JtL3NjaGVtYS1pbnB1dC9maWVsZC1yZW5kZXIvZmllbGQtcmVuZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hLWZvcm0vc2NoZW1hLWlucHV0L2lucHV0LXJlbmRlci9pbnB1dC1yZW5kZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWEtZm9ybS9zY2hlbWEtaW5wdXQvaW5wdXQtcmVuZGVyL2Jvb2xlYW4taW5wdXQvYm9vbGVhbi1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWEtZm9ybS9zY2hlbWEtaW5wdXQvaW5wdXQtcmVuZGVyL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hLWZvcm0vc2NoZW1hLW9iamVjdC9zY2hlbWEtb2JqZWN0JztcbiJdfQ==
@@ -0,0 +1,177 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { BaseSchemaComponent } from '../base-schema.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/material/tooltip";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "ngx-drag-drop";
8
+ import * as i5 from "@ngx-translate/core";
9
+ const _c0 = function () { return { standalone: true }; };
10
+ function SchemaCustomAttributesComponent_div_0_Template(rf, ctx) { if (rf & 1) {
11
+ const _r8 = i0.ɵɵgetCurrentView();
12
+ i0.ɵɵelementStart(0, "div", 6);
13
+ i0.ɵɵelementStart(1, "div", 7);
14
+ i0.ɵɵelementStart(2, "label", 8);
15
+ i0.ɵɵtext(3);
16
+ i0.ɵɵelementEnd();
17
+ i0.ɵɵelementStart(4, "span", 9);
18
+ i0.ɵɵlistener("click", function SchemaCustomAttributesComponent_div_0_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r8); const i_r6 = ctx.index; const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.removeCustomAttribute(i_r6); });
19
+ i0.ɵɵelement(5, "i", 10);
20
+ i0.ɵɵpipe(6, "translate");
21
+ i0.ɵɵelementEnd();
22
+ i0.ɵɵelementStart(7, "input", 11);
23
+ i0.ɵɵlistener("ngModelChange", function SchemaCustomAttributesComponent_div_0_Template_input_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r8); const attribute_r5 = ctx.$implicit; return attribute_r5.value = $event; })("dndDrop", function SchemaCustomAttributesComponent_div_0_Template_input_dndDrop_7_listener($event) { i0.ɵɵrestoreView(_r8); const attribute_r5 = ctx.$implicit; const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.onDrop($event, attribute_r5); });
24
+ i0.ɵɵelementEnd();
25
+ i0.ɵɵelementEnd();
26
+ i0.ɵɵelementEnd();
27
+ } if (rf & 2) {
28
+ const attribute_r5 = ctx.$implicit;
29
+ i0.ɵɵadvance(3);
30
+ i0.ɵɵtextInterpolate(attribute_r5.label);
31
+ i0.ɵɵadvance(2);
32
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(6, 4, "REMOVE"));
33
+ i0.ɵɵadvance(2);
34
+ i0.ɵɵproperty("ngModel", attribute_r5.value)("ngModelOptions", i0.ɵɵpureFunction0(6, _c0));
35
+ } }
36
+ function SchemaCustomAttributesComponent_div_1_Template(rf, ctx) { if (rf & 1) {
37
+ const _r12 = i0.ɵɵgetCurrentView();
38
+ i0.ɵɵelementStart(0, "div", 12);
39
+ i0.ɵɵelementStart(1, "div", 13);
40
+ i0.ɵɵelementStart(2, "div", 7);
41
+ i0.ɵɵelementStart(3, "label", 8);
42
+ i0.ɵɵtext(4);
43
+ i0.ɵɵpipe(5, "translate");
44
+ i0.ɵɵelementStart(6, "strong");
45
+ i0.ɵɵtext(7, "*");
46
+ i0.ɵɵelementEnd();
47
+ i0.ɵɵelementEnd();
48
+ i0.ɵɵelementStart(8, "input", 14);
49
+ i0.ɵɵlistener("ngModelChange", function SchemaCustomAttributesComponent_div_1_Template_input_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.newCustomField.label = $event; });
50
+ i0.ɵɵelementEnd();
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementEnd();
53
+ i0.ɵɵelementStart(9, "div", 13);
54
+ i0.ɵɵelementStart(10, "div", 7);
55
+ i0.ɵɵelementStart(11, "label", 8);
56
+ i0.ɵɵtext(12);
57
+ i0.ɵɵpipe(13, "translate");
58
+ i0.ɵɵelementStart(14, "strong");
59
+ i0.ɵɵtext(15, "*");
60
+ i0.ɵɵelementEnd();
61
+ i0.ɵɵelementEnd();
62
+ i0.ɵɵelementStart(16, "input", 11);
63
+ i0.ɵɵlistener("ngModelChange", function SchemaCustomAttributesComponent_div_1_Template_input_ngModelChange_16_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.newCustomField.value = $event; })("dndDrop", function SchemaCustomAttributesComponent_div_1_Template_input_dndDrop_16_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r14 = i0.ɵɵnextContext(); return ctx_r14.onDrop($event, ctx_r14.newCustomField); });
64
+ i0.ɵɵelementEnd();
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelementEnd();
67
+ i0.ɵɵelementEnd();
68
+ } if (rf & 2) {
69
+ const ctx_r1 = i0.ɵɵnextContext();
70
+ i0.ɵɵadvance(4);
71
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 6, "STEP.NAME"));
72
+ i0.ɵɵadvance(4);
73
+ i0.ɵɵproperty("ngModel", ctx_r1.newCustomField.label)("ngModelOptions", i0.ɵɵpureFunction0(10, _c0));
74
+ i0.ɵɵadvance(4);
75
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 8, "STEP.VALUE"));
76
+ i0.ɵɵadvance(4);
77
+ i0.ɵɵproperty("ngModel", ctx_r1.newCustomField.value)("ngModelOptions", i0.ɵɵpureFunction0(11, _c0));
78
+ } }
79
+ function SchemaCustomAttributesComponent_button_4_Template(rf, ctx) { if (rf & 1) {
80
+ const _r16 = i0.ɵɵgetCurrentView();
81
+ i0.ɵɵelementStart(0, "button", 15);
82
+ i0.ɵɵlistener("click", function SchemaCustomAttributesComponent_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return ctx_r15.newCustomField = {}; });
83
+ i0.ɵɵtext(1);
84
+ i0.ɵɵpipe(2, "translate");
85
+ i0.ɵɵelementEnd();
86
+ } if (rf & 2) {
87
+ i0.ɵɵadvance(1);
88
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "ADD"), " ");
89
+ } }
90
+ function SchemaCustomAttributesComponent_button_5_Template(rf, ctx) { if (rf & 1) {
91
+ const _r18 = i0.ɵɵgetCurrentView();
92
+ i0.ɵɵelementStart(0, "button", 16);
93
+ i0.ɵɵlistener("click", function SchemaCustomAttributesComponent_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(); return ctx_r17.newCustomField = null; });
94
+ i0.ɵɵtext(1);
95
+ i0.ɵɵpipe(2, "translate");
96
+ i0.ɵɵelementEnd();
97
+ } if (rf & 2) {
98
+ i0.ɵɵadvance(1);
99
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "CANCEL"), " ");
100
+ } }
101
+ function SchemaCustomAttributesComponent_button_6_Template(rf, ctx) { if (rf & 1) {
102
+ const _r20 = i0.ɵɵgetCurrentView();
103
+ i0.ɵɵelementStart(0, "button", 15);
104
+ i0.ɵɵlistener("click", function SchemaCustomAttributesComponent_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(); return ctx_r19.saveNewAttribute(ctx_r19.newCustomField); });
105
+ i0.ɵɵtext(1);
106
+ i0.ɵɵpipe(2, "translate");
107
+ i0.ɵɵelementEnd();
108
+ } if (rf & 2) {
109
+ i0.ɵɵadvance(1);
110
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "SAVE"), " ");
111
+ } }
112
+ export class SchemaCustomAttributesComponent extends BaseSchemaComponent {
113
+ constructor() {
114
+ super(...arguments);
115
+ this.onSaveAttribute = new EventEmitter();
116
+ this.onDropOnAttribute = new EventEmitter();
117
+ }
118
+ ngAfterContentInit() {
119
+ if (!this.model) {
120
+ this.model = [];
121
+ }
122
+ }
123
+ saveNewAttribute(newCustomField) {
124
+ this.onSaveAttribute.emit(newCustomField);
125
+ this.model.push(newCustomField);
126
+ this.newCustomField = null;
127
+ this.modelChange.emit(this.model);
128
+ }
129
+ removeCustomAttribute(attributeIndex) {
130
+ this.model.splice(attributeIndex, 1);
131
+ this.modelChange.emit(this.model);
132
+ }
133
+ onDrop($event, attribute) {
134
+ if (!attribute.value) {
135
+ attribute.value = '';
136
+ }
137
+ attribute.value += `{{${$event.data}}}`;
138
+ }
139
+ }
140
+ SchemaCustomAttributesComponent.ɵfac = function SchemaCustomAttributesComponent_Factory(t) { return ɵSchemaCustomAttributesComponent_BaseFactory(t || SchemaCustomAttributesComponent); };
141
+ SchemaCustomAttributesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SchemaCustomAttributesComponent, selectors: [["schema-custom-attributes"]], inputs: { onDropFunction: "onDropFunction" }, outputs: { onSaveAttribute: "onSaveAttribute", onDropOnAttribute: "onDropOnAttribute" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 5, consts: [["class", "row custom-attributes", 4, "ngFor", "ngForOf"], ["class", "struct-custom-field", 4, "ngIf"], [1, "row", "actions-buttons"], [1, "col-md-12", "pull-right"], ["class", "btn btn-outline-primary float-left", 3, "click", 4, "ngIf"], ["class", "btn btn-outline-danger float-left ml-2", 3, "click", 4, "ngIf"], [1, "row", "custom-attributes"], [1, "col-md-12"], [1, "info-label"], [1, "customAttributeDeleteIcon", 3, "click"], [1, "far", "fa-trash-alt", 3, "matTooltip"], ["dndDropzone", "", 1, "form-control", 3, "ngModel", "ngModelOptions", "ngModelChange", "dndDrop"], [1, "struct-custom-field"], [1, "row"], [1, "form-control", 3, "ngModel", "ngModelOptions", "ngModelChange"], [1, "btn", "btn-outline-primary", "float-left", 3, "click"], [1, "btn", "btn-outline-danger", "float-left", "ml-2", 3, "click"]], template: function SchemaCustomAttributesComponent_Template(rf, ctx) { if (rf & 1) {
142
+ i0.ɵɵtemplate(0, SchemaCustomAttributesComponent_div_0_Template, 8, 7, "div", 0);
143
+ i0.ɵɵtemplate(1, SchemaCustomAttributesComponent_div_1_Template, 17, 12, "div", 1);
144
+ i0.ɵɵelementStart(2, "div", 2);
145
+ i0.ɵɵelementStart(3, "div", 3);
146
+ i0.ɵɵtemplate(4, SchemaCustomAttributesComponent_button_4_Template, 3, 3, "button", 4);
147
+ i0.ɵɵtemplate(5, SchemaCustomAttributesComponent_button_5_Template, 3, 3, "button", 5);
148
+ i0.ɵɵtemplate(6, SchemaCustomAttributesComponent_button_6_Template, 3, 3, "button", 4);
149
+ i0.ɵɵelementEnd();
150
+ i0.ɵɵelementEnd();
151
+ } if (rf & 2) {
152
+ i0.ɵɵproperty("ngForOf", ctx.model);
153
+ i0.ɵɵadvance(1);
154
+ i0.ɵɵproperty("ngIf", ctx.newCustomField);
155
+ i0.ɵɵadvance(3);
156
+ i0.ɵɵproperty("ngIf", !ctx.newCustomField);
157
+ i0.ɵɵadvance(1);
158
+ i0.ɵɵproperty("ngIf", ctx.newCustomField);
159
+ i0.ɵɵadvance(1);
160
+ i0.ɵɵproperty("ngIf", ctx.newCustomField && ctx.newCustomField.label && ctx.newCustomField.value);
161
+ } }, directives: [i1.NgForOf, i1.NgIf, i2.MatTooltip, i3.DefaultValueAccessor, i4.DndDropzoneDirective, i3.NgControlStatus, i3.NgModel], pipes: [i5.TranslatePipe], styles: [".customAttributeDeleteIcon[_ngcontent-%COMP%]{color:red;cursor:pointer;font-size:16px;position:absolute;right:15px;top:4px}.customAttributeDeleteIcon[_ngcontent-%COMP%]:hover{color:#777}.struct-custom-field[_ngcontent-%COMP%]{background-color:#ececec;margin-top:16px;padding:8px 16px 16px}"] });
162
+ const ɵSchemaCustomAttributesComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactory(SchemaCustomAttributesComponent);
163
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(SchemaCustomAttributesComponent, [{
164
+ type: Component,
165
+ args: [{
166
+ selector: 'schema-custom-attributes',
167
+ templateUrl: 'schema-custom-attributes.html',
168
+ styleUrls: ['./schema-custom-attributes.scss']
169
+ }]
170
+ }], null, { onDropFunction: [{
171
+ type: Input
172
+ }], onSaveAttribute: [{
173
+ type: Output
174
+ }], onDropOnAttribute: [{
175
+ type: Output
176
+ }] }); })();
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWN1c3RvbS1hdHRyaWJ1dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NoZW1hcy9zcmMvc2NoZW1hLWN1c3RvbS1hdHRyaWJ1dGVzL3NjaGVtYS1jdXN0b20tYXR0cmlidXRlcy50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaGVtYXMvc3JjL3NjaGVtYS1jdXN0b20tYXR0cmlidXRlcy9zY2hlbWEtY3VzdG9tLWF0dHJpYnV0ZXMuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztJQ0Q3RCw4QkFDRTtJQUFBLDhCQUNFO0lBQUEsZ0NBQTBCO0lBQUEsWUFBcUI7SUFBQSxpQkFBUTtJQUN2RCwrQkFDRTtJQURJLHdPQUFrQztJQUN0Qyx3QkFBb0U7O0lBQ3RFLGlCQUFPO0lBRVAsaUNBT0Y7SUFMSSxpT0FBNkIscVBBQUE7SUFGL0IsaUJBT0Y7SUFBQSxpQkFBTTtJQUNSLGlCQUFNOzs7SUFid0IsZUFBcUI7SUFBckIsd0NBQXFCO0lBRWpCLGVBQW1DO0lBQW5DLDJEQUFtQztJQUsvRCxlQUE2QjtJQUE3Qiw0Q0FBNkIsOENBQUE7Ozs7SUFPbkMsK0JBQ0U7SUFBQSwrQkFDRTtJQUFBLDhCQUNFO0lBQUEsZ0NBQTBCO0lBQUEsWUFBMkI7O0lBQUEsOEJBQVE7SUFBQSxpQkFBQztJQUFBLGlCQUFTO0lBQUEsaUJBQVE7SUFDL0UsaUNBQ0Y7SUFEOEIsNE9BQWtDO0lBQTlELGlCQUNGO0lBQUEsaUJBQU07SUFDUixpQkFBTTtJQUNOLCtCQUNFO0lBQUEsK0JBQ0U7SUFBQSxpQ0FBMEI7SUFBQSxhQUE0Qjs7SUFBQSwrQkFBUTtJQUFBLGtCQUFDO0lBQUEsaUJBQVM7SUFBQSxpQkFBUTtJQUNoRixrQ0FPRjtJQUxJLDZPQUFrQyw2TkFBQTtJQUZwQyxpQkFPRjtJQUFBLGlCQUFNO0lBQ1IsaUJBQU07SUFDUixpQkFBTTs7O0lBaEIwQixlQUEyQjtJQUEzQix1REFBMkI7SUFDekIsZUFBa0M7SUFBbEMscURBQWtDLCtDQUFBO0lBS3BDLGVBQTRCO0lBQTVCLHlEQUE0QjtJQUdwRCxlQUFrQztJQUFsQyxxREFBa0MsK0NBQUE7Ozs7SUFVdEMsa0NBQ0U7SUFEeUUsZ05BQTZCO0lBQ3RHLFlBQ0Y7O0lBQUEsaUJBQVM7O0lBRFAsZUFDRjtJQURFLDREQUNGOzs7O0lBQ0Esa0NBS0U7SUFGQSwwTUFBMEIsSUFBSSxJQUFDO0lBRS9CLFlBQ0Y7O0lBQUEsaUJBQVM7O0lBRFAsZUFDRjtJQURFLCtEQUNGOzs7O0lBQ0Esa0NBS0U7SUFGQSxxT0FBMEM7SUFFMUMsWUFDRjs7SUFBQSxpQkFBUzs7SUFEUCxlQUNGO0lBREUsNkRBQ0Y7O0FEOUNKLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxtQkFBbUI7SUFMeEU7O1FBU1ksb0JBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM3RCxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQTZCMUU7SUF6QkMsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsY0FBbUI7UUFDekMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxjQUFtQjtRQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBVyxFQUFFLFNBQWM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDcEIsU0FBUyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDdEI7UUFDRCxTQUFTLENBQUMsS0FBSyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzFDLENBQUM7O3NKQWhDVSwrQkFBK0I7b0VBQS9CLCtCQUErQjtRQ1I1QyxnRkFDRTtRQWVGLGtGQUNFO1FBbUJGLDhCQUNFO1FBQUEsOEJBQ0U7UUFBQSxzRkFDRTtRQUVGLHNGQUtFO1FBRUYsc0ZBS0U7UUFFSixpQkFBTTtRQUNSLGlCQUFNOztRQXhENkIsbUNBQThDO1FBZ0I1RSxlQUFzQjtRQUF0Qix5Q0FBc0I7UUFzQjRCLGVBQXVCO1FBQXZCLDBDQUF1QjtRQUt4RSxlQUFzQjtRQUF0Qix5Q0FBc0I7UUFPdEIsZUFBc0U7UUFBdEUsaUdBQXNFOzs0RkQxQy9ELCtCQUErQjtrREFBL0IsK0JBQStCO2NBTDNDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxXQUFXLEVBQUUsK0JBQStCO2dCQUM1QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQzthQUMvQztnQkFHVSxjQUFjO2tCQUF0QixLQUFLO1lBRUksZUFBZTtrQkFBeEIsTUFBTTtZQUNHLGlCQUFpQjtrQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYXNlU2NoZW1hQ29tcG9uZW50fSBmcm9tICcuLi9iYXNlLXNjaGVtYS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzY2hlbWEtY3VzdG9tLWF0dHJpYnV0ZXMnLFxuICB0ZW1wbGF0ZVVybDogJ3NjaGVtYS1jdXN0b20tYXR0cmlidXRlcy5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NoZW1hLWN1c3RvbS1hdHRyaWJ1dGVzLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTY2hlbWFDdXN0b21BdHRyaWJ1dGVzQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNjaGVtYUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuXG4gIEBJbnB1dCgpIG9uRHJvcEZ1bmN0aW9uOiAoKCkgPT4gYW55IHwgdW5kZWZpbmVkKSB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KCkgb25TYXZlQXR0cmlidXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Ecm9wT25BdHRyaWJ1dGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHVibGljIG5ld0N1c3RvbUZpZWxkOiBhbnk7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbCA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlTmV3QXR0cmlidXRlKG5ld0N1c3RvbUZpZWxkOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uU2F2ZUF0dHJpYnV0ZS5lbWl0KG5ld0N1c3RvbUZpZWxkKTtcbiAgICB0aGlzLm1vZGVsLnB1c2gobmV3Q3VzdG9tRmllbGQpO1xuICAgIHRoaXMubmV3Q3VzdG9tRmllbGQgPSBudWxsO1xuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVDdXN0b21BdHRyaWJ1dGUoYXR0cmlidXRlSW5kZXg6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwuc3BsaWNlKGF0dHJpYnV0ZUluZGV4LCAxKTtcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cblxuICBwdWJsaWMgb25Ecm9wKCRldmVudDogYW55LCBhdHRyaWJ1dGU6IGFueSk6IHZvaWQge1xuICAgIGlmICghYXR0cmlidXRlLnZhbHVlKSB7XG4gICAgICBhdHRyaWJ1dGUudmFsdWUgPSAnJztcbiAgICB9XG4gICAgYXR0cmlidXRlLnZhbHVlICs9IGB7eyR7JGV2ZW50LmRhdGF9fX1gO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3cgY3VzdG9tLWF0dHJpYnV0ZXNcIiAqbmdGb3I9XCJsZXQgYXR0cmlidXRlIG9mIG1vZGVsOyBsZXQgaSA9IGluZGV4XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJpbmZvLWxhYmVsXCI+e3sgYXR0cmlidXRlLmxhYmVsIH19PC9sYWJlbD5cbiAgICA8c3BhbiAoY2xpY2spPVwicmVtb3ZlQ3VzdG9tQXR0cmlidXRlKGkpXCIgY2xhc3M9XCJjdXN0b21BdHRyaWJ1dGVEZWxldGVJY29uXCI+XG4gICAgICA8aSBjbGFzcz1cImZhciBmYS10cmFzaC1hbHRcIiBbbWF0VG9vbHRpcF09XCInUkVNT1ZFJyB8IHRyYW5zbGF0ZVwiPjwvaT5cbiAgICA8L3NwYW4+XG5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIFsobmdNb2RlbCldPVwiYXR0cmlidXRlLnZhbHVlXCJcbiAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgZG5kRHJvcHpvbmVcbiAgICAgIChkbmREcm9wKT1cIm9uRHJvcCgkZXZlbnQsIGF0dHJpYnV0ZSlcIlxuICAgIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwibmV3Q3VzdG9tRmllbGRcIiBjbGFzcz1cInN0cnVjdC1jdXN0b20tZmllbGRcIj5cbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImluZm8tbGFiZWxcIj57eydTVEVQLk5BTUUnIHwgdHJhbnNsYXRlfX08c3Ryb25nPio8L3N0cm9uZz48L2xhYmVsPlxuICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJuZXdDdXN0b21GaWVsZC5sYWJlbFwiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIi8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiaW5mby1sYWJlbFwiPnt7J1NURVAuVkFMVUUnIHwgdHJhbnNsYXRlfX08c3Ryb25nPio8L3N0cm9uZz48L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJuZXdDdXN0b21GaWVsZC52YWx1ZVwiXG4gICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICBkbmREcm9wem9uZVxuICAgICAgICAoZG5kRHJvcCk9XCJvbkRyb3AoJGV2ZW50LCBuZXdDdXN0b21GaWVsZClcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyb3cgYWN0aW9ucy1idXR0b25zXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgcHVsbC1yaWdodFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBmbG9hdC1sZWZ0XCIgKm5nSWY9XCIhbmV3Q3VzdG9tRmllbGRcIiAoY2xpY2spPVwibmV3Q3VzdG9tRmllbGQgPSB7fVwiPlxuICAgICAge3snQUREJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRhbmdlciBmbG9hdC1sZWZ0IG1sLTJcIlxuICAgICAgKm5nSWY9XCJuZXdDdXN0b21GaWVsZFwiXG4gICAgICAoY2xpY2spPVwibmV3Q3VzdG9tRmllbGQgPSBudWxsXCJcbiAgICA+XG4gICAgICB7eydDQU5DRUwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBmbG9hdC1sZWZ0XCJcbiAgICAgICpuZ0lmPVwibmV3Q3VzdG9tRmllbGQgJiYgbmV3Q3VzdG9tRmllbGQubGFiZWwgJiYgbmV3Q3VzdG9tRmllbGQudmFsdWVcIlxuICAgICAgKGNsaWNrKT1cInNhdmVOZXdBdHRyaWJ1dGUobmV3Q3VzdG9tRmllbGQpXCJcbiAgICA+XG4gICAgICB7eydTQVZFJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,77 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { SchemaValidationField } from './schema-validation-field';
4
+ import { TranslateService } from '@ngx-translate/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngx-translate/core";
7
+ export class SchemaFieldsService {
8
+ constructor(translate) {
9
+ this.translate = translate;
10
+ }
11
+ validateSchemaFields(propertiesRendered, model) {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ if (!propertiesRendered) {
14
+ return new SchemaValidationField([], [], []);
15
+ }
16
+ const emptyFields = [];
17
+ const invalidMinLengthFields = [];
18
+ const invalidMaxLengthFields = [];
19
+ this.processProperties(propertiesRendered, model, emptyFields, invalidMinLengthFields, invalidMaxLengthFields);
20
+ const structValidationField = new SchemaValidationField(emptyFields, invalidMinLengthFields, invalidMaxLengthFields);
21
+ structValidationField.validationErrorsLabel = yield this.getErrorsStringArray(structValidationField);
22
+ return structValidationField;
23
+ });
24
+ }
25
+ processProperties(propertiesRendered, model, emptyFields, invalidMinLengthFields, invalidMaxLengthFields, recursive) {
26
+ for (const property of propertiesRendered) {
27
+ if ((property.type === 'object' || property.type === 'array') && property.properties) {
28
+ this.processProperties(property.properties, model[property.id], emptyFields, invalidMinLengthFields, invalidMaxLengthFields, true);
29
+ }
30
+ else if (property.type === 'array' && !property.properties) {
31
+ const newProperty = Object.assign({}, property);
32
+ newProperty.type = 'string';
33
+ this.processProperties([newProperty], model[property.id], emptyFields, invalidMinLengthFields, invalidMaxLengthFields, true);
34
+ }
35
+ else {
36
+ const validateModel = recursive ? model : model[property.id];
37
+ if ((property === null || property === void 0 ? void 0 : property.canRender) && (property === null || property === void 0 ? void 0 : property.minLength) > 0
38
+ && (validateModel === undefined || validateModel === '' || validateModel === null)) {
39
+ emptyFields.push(property);
40
+ }
41
+ else if ((property === null || property === void 0 ? void 0 : property.canRender) && (property === null || property === void 0 ? void 0 : property.minLength) > 0 && ((validateModel === null || validateModel === void 0 ? void 0 : validateModel.length) < property.minLength)) {
42
+ invalidMinLengthFields.push(property);
43
+ }
44
+ else if ((property === null || property === void 0 ? void 0 : property.canRender) && (property === null || property === void 0 ? void 0 : property.maxLength) > 0 && ((validateModel === null || validateModel === void 0 ? void 0 : validateModel.length) > property.maxLength)) {
45
+ invalidMaxLengthFields.push(property);
46
+ }
47
+ }
48
+ }
49
+ }
50
+ getErrorsStringArray(structValidation) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ if (!structValidation.isInvalidSchemaFields()) {
53
+ return [];
54
+ }
55
+ const errors = [];
56
+ for (const field of structValidation.emptyFields) {
57
+ const fieldName = field.title || field.id;
58
+ errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.REQUIRED_FIELD_ERROR', { fieldName }));
59
+ }
60
+ for (const field of structValidation.invalidMinLengthFields) {
61
+ const fieldName = field.title || field.id;
62
+ errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.MINLENGTH_FIELD_ERROR', { fieldName, minLength: field.minLength }));
63
+ }
64
+ for (const field of structValidation.invalidMaxLengthFields) {
65
+ const fieldName = field.title || field.id;
66
+ errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.MAXLENGTH_FIELD_ERROR', { fieldName, maxLength: field.maxLength }));
67
+ }
68
+ return errors;
69
+ });
70
+ }
71
+ }
72
+ SchemaFieldsService.ɵfac = function SchemaFieldsService_Factory(t) { return new (t || SchemaFieldsService)(i0.ɵɵinject(i1.TranslateService)); };
73
+ SchemaFieldsService.ɵprov = i0.ɵɵdefineInjectable({ token: SchemaFieldsService, factory: SchemaFieldsService.ɵfac });
74
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(SchemaFieldsService, [{
75
+ type: Injectable
76
+ }], function () { return [{ type: i1.TranslateService }]; }, null); })();
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZpZWxkcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvc2NoZW1hcy9zcmMvc2NoZW1hLWZpZWxkcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFHckQsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUMvQyxDQUFDO0lBRVksb0JBQW9CLENBQUMsa0JBQThCLEVBQUUsS0FBVTs7WUFFMUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUN2QixPQUFPLElBQUkscUJBQXFCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUM5QztZQUVELE1BQU0sV0FBVyxHQUFVLEVBQUUsQ0FBQztZQUM5QixNQUFNLHNCQUFzQixHQUFVLEVBQUUsQ0FBQztZQUN6QyxNQUFNLHNCQUFzQixHQUFVLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1lBRS9HLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztZQUNySCxxQkFBcUIsQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBRXJHLE9BQU8scUJBQXFCLENBQUM7UUFFL0IsQ0FBQztLQUFBO0lBRU8saUJBQWlCLENBQUMsa0JBQThCLEVBQzlCLEtBQVUsRUFBRSxXQUFrQixFQUM5QixzQkFBNkIsRUFDN0Isc0JBQTZCLEVBQzdCLFNBQW1CO1FBQzNDLEtBQUssTUFBTSxRQUFRLElBQUksa0JBQWtCLEVBQUU7WUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRTtnQkFDcEYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDcEk7aUJBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7Z0JBQzVELE1BQU0sV0FBVyxxQkFBTyxRQUFRLENBQUMsQ0FBQztnQkFDbEMsV0FBVyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFDO2FBQzlIO2lCQUFNO2dCQUNMLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLENBQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFNBQVMsS0FBSSxDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxTQUFTLElBQUcsQ0FBQzt1QkFDN0MsQ0FBQyxhQUFhLEtBQUssU0FBUyxJQUFJLGFBQWEsS0FBSyxFQUFFLElBQUksYUFBYSxLQUFLLElBQUksQ0FBQyxFQUFFO29CQUNwRixXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUM1QjtxQkFBTSxJQUFJLENBQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFNBQVMsS0FBSSxDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxTQUFTLElBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsTUFBTSxJQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDekcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN2QztxQkFBTSxJQUFJLENBQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFNBQVMsS0FBSSxDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxTQUFTLElBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsTUFBTSxJQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDekcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN2QzthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRVksb0JBQW9CLENBQUMsZ0JBQXVDOztZQUN2RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsRUFBRTtnQkFDN0MsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNsQixLQUFLLE1BQU0sS0FBSyxJQUFJLGdCQUFnQixDQUFDLFdBQVcsRUFBRTtnQkFDaEQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDBEQUEwRCxFQUFFLEVBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlHO1lBQ0QsS0FBSyxNQUFNLEtBQUssSUFBSSxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRTtnQkFDM0QsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDJEQUEyRCxFQUM1RixFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsQ0FBQzthQUM3QztZQUNELEtBQUssTUFBTSxLQUFLLElBQUksZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUU7Z0JBQzNELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywyREFBMkQsRUFDNUYsRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLENBQUM7YUFDN0M7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0tBQUE7O3NGQXJFVSxtQkFBbUI7MkRBQW5CLG1CQUFtQixXQUFuQixtQkFBbUI7a0RBQW5CLG1CQUFtQjtjQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2NoZW1hVmFsaWRhdGlvbkZpZWxkfSBmcm9tICcuL3NjaGVtYS12YWxpZGF0aW9uLWZpZWxkJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTY2hlbWFGaWVsZHNTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHZhbGlkYXRlU2NoZW1hRmllbGRzKHByb3BlcnRpZXNSZW5kZXJlZDogQXJyYXk8YW55PiwgbW9kZWw6IGFueSk6IFByb21pc2U8U2NoZW1hVmFsaWRhdGlvbkZpZWxkPiB7XG5cbiAgICBpZiAoIXByb3BlcnRpZXNSZW5kZXJlZCkge1xuICAgICAgcmV0dXJuIG5ldyBTY2hlbWFWYWxpZGF0aW9uRmllbGQoW10sIFtdLCBbXSk7XG4gICAgfVxuXG4gICAgY29uc3QgZW1wdHlGaWVsZHM6IGFueVtdID0gW107XG4gICAgY29uc3QgaW52YWxpZE1pbkxlbmd0aEZpZWxkczogYW55W10gPSBbXTtcbiAgICBjb25zdCBpbnZhbGlkTWF4TGVuZ3RoRmllbGRzOiBhbnlbXSA9IFtdO1xuICAgIHRoaXMucHJvY2Vzc1Byb3BlcnRpZXMocHJvcGVydGllc1JlbmRlcmVkLCBtb2RlbCwgZW1wdHlGaWVsZHMsIGludmFsaWRNaW5MZW5ndGhGaWVsZHMsIGludmFsaWRNYXhMZW5ndGhGaWVsZHMpO1xuXG4gICAgY29uc3Qgc3RydWN0VmFsaWRhdGlvbkZpZWxkID0gbmV3IFNjaGVtYVZhbGlkYXRpb25GaWVsZChlbXB0eUZpZWxkcywgaW52YWxpZE1pbkxlbmd0aEZpZWxkcywgaW52YWxpZE1heExlbmd0aEZpZWxkcyk7XG4gICAgc3RydWN0VmFsaWRhdGlvbkZpZWxkLnZhbGlkYXRpb25FcnJvcnNMYWJlbCA9IGF3YWl0IHRoaXMuZ2V0RXJyb3JzU3RyaW5nQXJyYXkoc3RydWN0VmFsaWRhdGlvbkZpZWxkKTtcblxuICAgIHJldHVybiBzdHJ1Y3RWYWxpZGF0aW9uRmllbGQ7XG5cbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc1Byb3BlcnRpZXMocHJvcGVydGllc1JlbmRlcmVkOiBBcnJheTxhbnk+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiBhbnksIGVtcHR5RmllbGRzOiBhbnlbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkTWluTGVuZ3RoRmllbGRzOiBhbnlbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkTWF4TGVuZ3RoRmllbGRzOiBhbnlbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN1cnNpdmU/OiBib29sZWFuKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzUmVuZGVyZWQpIHtcbiAgICAgIGlmICgocHJvcGVydHkudHlwZSA9PT0gJ29iamVjdCcgfHwgcHJvcGVydHkudHlwZSA9PT0gJ2FycmF5JykgJiYgcHJvcGVydHkucHJvcGVydGllcykge1xuICAgICAgICB0aGlzLnByb2Nlc3NQcm9wZXJ0aWVzKHByb3BlcnR5LnByb3BlcnRpZXMsIG1vZGVsW3Byb3BlcnR5LmlkXSwgZW1wdHlGaWVsZHMsIGludmFsaWRNaW5MZW5ndGhGaWVsZHMsIGludmFsaWRNYXhMZW5ndGhGaWVsZHMsIHRydWUpO1xuICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eS50eXBlID09PSAnYXJyYXknICYmICFwcm9wZXJ0eS5wcm9wZXJ0aWVzKSB7XG4gICAgICAgIGNvbnN0IG5ld1Byb3BlcnR5ID0gey4uLnByb3BlcnR5fTtcbiAgICAgICAgbmV3UHJvcGVydHkudHlwZSA9ICdzdHJpbmcnO1xuICAgICAgICB0aGlzLnByb2Nlc3NQcm9wZXJ0aWVzKFtuZXdQcm9wZXJ0eV0sIG1vZGVsW3Byb3BlcnR5LmlkXSwgZW1wdHlGaWVsZHMsIGludmFsaWRNaW5MZW5ndGhGaWVsZHMsIGludmFsaWRNYXhMZW5ndGhGaWVsZHMsIHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVNb2RlbCA9IHJlY3Vyc2l2ZSA/IG1vZGVsIDogbW9kZWxbcHJvcGVydHkuaWRdO1xuICAgICAgICBpZiAocHJvcGVydHk/LmNhblJlbmRlciAmJiBwcm9wZXJ0eT8ubWluTGVuZ3RoID4gMFxuICAgICAgICAgICYmICh2YWxpZGF0ZU1vZGVsID09PSB1bmRlZmluZWQgfHwgdmFsaWRhdGVNb2RlbCA9PT0gJycgfHwgdmFsaWRhdGVNb2RlbCA9PT0gbnVsbCkpIHtcbiAgICAgICAgICBlbXB0eUZpZWxkcy5wdXNoKHByb3BlcnR5KTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eT8uY2FuUmVuZGVyICYmIHByb3BlcnR5Py5taW5MZW5ndGggPiAwICYmICh2YWxpZGF0ZU1vZGVsPy5sZW5ndGggPCBwcm9wZXJ0eS5taW5MZW5ndGgpKSB7XG4gICAgICAgICAgaW52YWxpZE1pbkxlbmd0aEZpZWxkcy5wdXNoKHByb3BlcnR5KTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eT8uY2FuUmVuZGVyICYmIHByb3BlcnR5Py5tYXhMZW5ndGggPiAwICYmICh2YWxpZGF0ZU1vZGVsPy5sZW5ndGggPiBwcm9wZXJ0eS5tYXhMZW5ndGgpKSB7XG4gICAgICAgICAgaW52YWxpZE1heExlbmd0aEZpZWxkcy5wdXNoKHByb3BlcnR5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRFcnJvcnNTdHJpbmdBcnJheShzdHJ1Y3RWYWxpZGF0aW9uOiBTY2hlbWFWYWxpZGF0aW9uRmllbGQpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgaWYgKCFzdHJ1Y3RWYWxpZGF0aW9uLmlzSW52YWxpZFNjaGVtYUZpZWxkcygpKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IGVycm9ycyA9IFtdO1xuICAgIGZvciAoY29uc3QgZmllbGQgb2Ygc3RydWN0VmFsaWRhdGlvbi5lbXB0eUZpZWxkcykge1xuICAgICAgY29uc3QgZmllbGROYW1lID0gZmllbGQudGl0bGUgfHwgZmllbGQuaWQ7XG4gICAgICBlcnJvcnMucHVzaCh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdDT01QT05FTlRTLlNUUlVDVC5WQUxJREFUSU9OX0ZJRUxEUy5SRVFVSVJFRF9GSUVMRF9FUlJPUicsIHtmaWVsZE5hbWV9KSk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgZmllbGQgb2Ygc3RydWN0VmFsaWRhdGlvbi5pbnZhbGlkTWluTGVuZ3RoRmllbGRzKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZC50aXRsZSB8fCBmaWVsZC5pZDtcbiAgICAgIGVycm9ycy5wdXNoKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0NPTVBPTkVOVFMuU1RSVUNULlZBTElEQVRJT05fRklFTERTLk1JTkxFTkdUSF9GSUVMRF9FUlJPUicsXG4gICAgICAgIHtmaWVsZE5hbWUsIG1pbkxlbmd0aDogZmllbGQubWluTGVuZ3RofSkpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHN0cnVjdFZhbGlkYXRpb24uaW52YWxpZE1heExlbmd0aEZpZWxkcykge1xuICAgICAgY29uc3QgZmllbGROYW1lID0gZmllbGQudGl0bGUgfHwgZmllbGQuaWQ7XG4gICAgICBlcnJvcnMucHVzaCh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdDT01QT05FTlRTLlNUUlVDVC5WQUxJREFUSU9OX0ZJRUxEUy5NQVhMRU5HVEhfRklFTERfRVJST1InLFxuICAgICAgICB7ZmllbGROYW1lLCBtYXhMZW5ndGg6IGZpZWxkLm1heExlbmd0aH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG59XG4iXX0=