sf-crud 12.0.4 → 12.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sf-crud.umd.js +35 -3
- package/bundles/sf-crud.umd.js.map +1 -1
- package/esm2015/lib/components/registro/registro.component.js +31 -4
- package/esm2015/lib/shared/models/crud-config.model.js +3 -1
- package/fesm2015/sf-crud.js +32 -3
- package/fesm2015/sf-crud.js.map +1 -1
- package/lib/components/registro/registro.component.d.ts +5 -3
- package/lib/shared/models/crud-config.model.d.ts +6 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sf-crud.umd.js","sources":["../../../projects/sf-crud/src/lib/shared/models/shema.model.ts","../../../projects/sf-crud/src/lib/shared/models/crud-config.model.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/sf-crud/src/lib/shared/services/general.service.ts","../../../projects/sf-crud/src/lib/components/tablero/tablero.component.ts","../../../projects/sf-crud/src/lib/components/tablero/tablero.component.html","../../../projects/sf-crud/src/lib/components/control/control.component.ts","../../../projects/sf-crud/src/lib/components/control/control.component.html","../../../projects/sf-crud/src/lib/components/registro-detalle/registro-detalle.component.ts","../../../projects/sf-crud/src/lib/components/registro-detalle/registro-detalle.component.html","../../../projects/sf-crud/src/lib/components/registro-child/registro-child.component.ts","../../../projects/sf-crud/src/lib/components/registro-child/registro-child.component.html","../../../projects/sf-crud/src/lib/sf-crud.service.ts","../../../projects/sf-crud/src/lib/components/registro/registro.component.ts","../../../projects/sf-crud/src/lib/components/registro/registro.component.html","../../../projects/sf-crud/src/lib/sf-crud.component.ts","../../../projects/sf-crud/src/lib/sf-crud.module.ts","../../../projects/sf-crud/src/public-api.ts","../../../projects/sf-crud/src/sf-crud.ts"],"sourcesContent":["export class Shema {\r\n type: string = '';\r\n subtype: string = '';\r\n config?: any;\r\n properties?: any;\r\n enum?: any[];\r\n default?:any;\r\n validations?: any\r\n}\r\n\r\n","import { Message } from \"primeng/api\";\r\nimport { Shema } from \"./shema.model\";\r\n\r\nexport class CrudConfig {\r\n idEntidad: string = '';\r\n tablero: ConfigTablero = new ConfigTablero();\r\n uiEsquema: any;\r\n esquema: Shema = new Shema();\r\n registro: ConfigRegistro = new ConfigRegistro();\r\n}\r\n\r\n\r\nexport class ConfigTablero {\r\n columns: any[] = [];\r\n endpoint: string = '';\r\n method: string = '';\r\n server: string = '';\r\n filters: string[] = [];\r\n keys: { key: string, scope?: string }[] = [];\r\n}\r\n\r\nexport class ConfigRegistro {\r\n operations: Operations[] = [];\r\n btnBack: string = '';\r\n label?: string;\r\n}\r\n\r\nexport class Operations {\r\n type: string = '';\r\n server: string = '';\r\n endpoint: string = ''\r\n method: string = '';\r\n validations: Validations = new Validations();\r\n redirect?: string;\r\n errorChecking?: RequestChecking;\r\n answerChecking?: RequestChecking;\r\n}\r\n\r\nexport class Validations {\r\n type: string = '';\r\n required: { field: string, message: string }[] = [];\r\n server: string = '';\r\n endpoint: string = '';\r\n operations: any;\r\n}\r\n\r\nexport class RequestChecking {\r\n constructor(\r\n public dynamics: Message,\r\n public statics: Message,\r\n public swal: boolean,\r\n public redirect: string\r\n ){}\r\n}\r\n\r\n\r\n\r\n\r\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CrudConfig } from '../models/crud-config.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GeneralService {\r\n\r\n public generales: string = '';\r\n public jsonConfig: any;\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) {\r\n this.jsonConfig = JSON.parse(sessionStorage.getItem('ConfigJSON') || '{}');\r\n this.generales = this.jsonConfig?.ServidorGenerales;\r\n }\r\n\r\n async getCrudByEntidad(idKatios: string, idEntidad: string) {\r\n return this.http.get(`${this.generales}crud/${idKatios}/${idEntidad}`)\r\n .toPromise()\r\n .then((res: any) => <CrudConfig>res.data)\r\n .then(data => { return data })\r\n }\r\n\r\n async genericRequest(method: string, servidor: string, endpoint: string, data?: any) {\r\n switch (method) {\r\n case 'GET':\r\n return this.http.get(`${this.jsonConfig[servidor]}${endpoint}`)\r\n .toPromise();\r\n case 'POST':\r\n return this.http.post(`${this.jsonConfig[servidor]}${endpoint}`, data)\r\n .toPromise();\r\n case 'PUT':\r\n return this.http.put(`${this.jsonConfig[servidor]}${endpoint}`, data)\r\n .toPromise();\r\n case 'DELETE':\r\n return this.http.delete(`${this.jsonConfig[servidor]}${endpoint}`, data)\r\n .toPromise();\r\n default:\r\n return\r\n }\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ConfigTablero, CrudConfig } from '../../shared/models/crud-config.model';\r\nimport { GeneralService } from '../../shared/services/general.service';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { Router } from '@angular/router';\r\nimport * as _ from \"lodash\";\r\nimport * as jsonpath from 'jsonpath';\r\n\r\n@Component({\r\n selector: 'sf-crudtablero',\r\n templateUrl: './tablero.component.html'\r\n})\r\nexport class TableroComponent implements OnInit {\r\n\r\n @Input() opciones: any[] = [];\r\n @Input() idEntidad: string = '';\r\n @Input() idKatios: string = '';\r\n @Input() user: any;\r\n @Input() dataExt: any;\r\n @Output() onSelectAction: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public items: MenuItem[] = [];\r\n public crudConfig: CrudConfig = new CrudConfig();\r\n public enProceso: boolean = false;\r\n public data: any[] = [];\r\n public btn: { create: any, read: any, update: any, delete: any } = { create: undefined, read: undefined, update: undefined, delete: undefined }\r\n public itemSelected: any;\r\n\r\n constructor(\r\n private generalService: GeneralService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadConfigCrud()\r\n }\r\n\r\n loadConfigCrud() {\r\n this.enProceso = true;\r\n this.generalService.getCrudByEntidad(this.idKatios, this.idEntidad)\r\n .then(res => {\r\n this.crudConfig = res;\r\n this.getInfoTablero(this.crudConfig.tablero);\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n this.enProceso = false;\r\n })\r\n }\r\n\r\n getInfoTablero(configTablero: ConfigTablero) {\r\n this.generalService.genericRequest(configTablero.method, configTablero.server, this.aplyKeys(configTablero.keys, configTablero.endpoint, this.dataExt))\r\n .then((res: any) => {\r\n let aux;\r\n if (!Array.isArray(res)) aux = res.data; else aux = res;\r\n this.generateData(aux);\r\n this.loadOptions();\r\n this.enProceso = false;\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n this.enProceso = false;\r\n })\r\n }\r\n\r\n generateData(data: any[]) {\r\n data.forEach((item: any) => {\r\n let newItem: any = {};\r\n this.crudConfig.tablero.columns.forEach(col => {\r\n newItem[col.col] = this.getValue(col.col, item)\r\n })\r\n this.data.push(newItem)\r\n })\r\n console.log(this.data)\r\n }\r\n getValue(path: string, item: any): any {\r\n if (path.includes(\".\")) return jsonpath.query(item, path)[0]\r\n return item[path]\r\n }\r\n\r\n loadOptions() {\r\n this.items = [];\r\n this.btn.create = this.opciones.find(x => x.label == 'Crear');\r\n this.opciones.filter((opc: any) => opc.valor.action).forEach(opc => {\r\n this.items.push({ label: opc.label, icon: opc.icon, command: () => this.execAction(opc.valor) })\r\n })\r\n }\r\n\r\n redirect(accion: string, data?: any) {\r\n switch (accion) {\r\n case 'create':\r\n this.router.navigateByUrl(this.btn.create?.valor?.redirect || '');\r\n break;\r\n case 'read':\r\n this.router.navigateByUrl(this.aplyKeys(this.crudConfig.tablero.keys, this.btn.read.valor.redirect, data));\r\n break\r\n case 'update':\r\n this.router.navigateByUrl(this.aplyKeys(this.crudConfig.tablero.keys, this.btn.update.valor.redirect, data));\r\n break\r\n case 'delete':\r\n this.router.navigateByUrl(this.aplyKeys(this.crudConfig.tablero.keys, this.btn.delete.valor.redirect, data));\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n\r\n aplyKeys(keys: { key: string, scope?: string }[], endpoint: string, data?: any) {\r\n keys.forEach(key => {\r\n switch (key.key) {\r\n case '@ndoc':\r\n endpoint = endpoint.replace(key.key, this.user?.UsuarioSistema?.NDOC || '')\r\n break;\r\n case '@tdoc':\r\n endpoint = endpoint.replace(key.key, this.user?.UsuarioSistema?.TDOC || '')\r\n break;\r\n case '@idKatios':\r\n endpoint = endpoint.replace(key.key, this.idKatios)\r\n break;\r\n default:\r\n if (endpoint.includes(key.key) && data) endpoint = endpoint.replace(key.key, jsonpath.query(data, key?.scope || '')[0]);\r\n break;\r\n }\r\n });\r\n return endpoint;\r\n }\r\n\r\n execAction(params: any) {\r\n switch (params.action) {\r\n case 'redirect':\r\n this.router.navigateByUrl(this.aplyKeys(this.crudConfig.tablero.keys, params.link, this.itemSelected));\r\n break;\r\n default:\r\n this.onSelectAction.emit({ data: _.cloneDeep(this.itemSelected), params })\r\n break;\r\n }\r\n }\r\n}\r\n","<p-blockUI [blocked]=\"enProceso\">\r\n <i class=\"pi pi-cog pi-spin\" style=\"font-size: 50px\"></i>\r\n</p-blockUI>\r\n\r\n<div class=\"card\" *ngIf=\"!enProceso\">\r\n <p-toolbar styleClass=\"mb-4 gap-2\">\r\n <ng-template pTemplate=\"left\">\r\n <button *ngIf=\"btn.create\" pButton pRipple [label]=\"btn.create.label\" [icon]=\"btn.create.icon\"\r\n class=\"p-button-success mr-2\" (click)=\"redirect('create')\"></button>\r\n </ng-template>\r\n </p-toolbar>\r\n <p-table #dt [columns]=\"crudConfig.tablero.columns\" [value]=\"data\" [rowHover]=\"true\" [rows]=\"10\" [paginator]=\"true\"\r\n [globalFilterFields]=\"crudConfig.tablero?.filters || []\" [tableStyle]=\"{'min-width': '75rem'}\"\r\n currentPageReportTemplate=\"Registro {first} al {last} de {totalRecords}\" [showCurrentPageReport]=\"true\">\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n <h5 class=\"m-0\">{{crudConfig.tablero?.label || idEntidad}}</h5>\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\r\n placeholder=\"Buscar...\" />\r\n </span>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n {{col.label}}\r\n </th>\r\n <th>Acción</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\r\n <tr>\r\n <ng-container *ngFor=\"let col of columns\" [ngSwitch]=\"col.type\">\r\n <td *ngSwitchCase=\"'text'\">{{rowData[col.col]}}</td>\r\n <td *ngSwitchCase=\"'date:yyyy-mm-dd'\">{{rowData[col.col] | date: 'yyyy-MM-dd'}}</td>\r\n <td *ngSwitchCase=\"'currency:USD'\">{{rowData[col.col] | currency: 'USD'}}</td>\r\n </ng-container>\r\n <td>\r\n <p-splitButton icon=\"pi pi-align-justify\" [model]=\"items\" appendTo=\"body\"\r\n (onDropdownClick)=\"itemSelected = rowData\"></p-splitButton>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { GeneralService } from '../../shared/services/general.service';\r\nimport { Message } from 'primeng/api';\r\nimport { Shema } from '../../shared/models/shema.model';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'sf-control',\r\n templateUrl: './control.component.html'\r\n})\r\nexport class ControlComponent implements OnInit {\r\n\r\n @Input() control: Shema = new Shema();\r\n @Input() label: string = '';\r\n @Input() value: any;\r\n @Input() appendTo: any;\r\n @Output() setValue: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() sendNotification: EventEmitter<Message> = new EventEmitter<Message>();\r\n @Output() sendObject: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public isLoading: boolean = false;\r\n public dataFromService: any[] = [];\r\n public uploadedFiles: any[] = [];\r\n public displayAdd: boolean = false;\r\n public tempValue: any = {}\r\n\r\n constructor(\r\n private generalService: GeneralService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.control?.config && this.control.subtype == 'dropdown') this.loadDataFromService();\r\n if (this.value && this.control.subtype == 'autocomplete') this.setDefaultValue();\r\n if (this.value && this.control.type == 'date') this.setDate();\r\n }\r\n\r\n sendValue() {\r\n this.setValue.emit(this.value);\r\n }\r\n\r\n sendValueFromObject(event: any) {\r\n switch (typeof (this.control.config.optionValue)) {\r\n case 'object':\r\n this.control.config.optionValue.forEach((op: any) => op['value'] = event[op.key])\r\n this.setValue.emit(this.control.config.optionValue);\r\n break;\r\n default:\r\n this.setValue.emit(event[this.control.config.optionValue]);\r\n break;\r\n }\r\n }\r\n\r\n validateValue(type: string) {\r\n switch (type) {\r\n case 'email':\r\n let regex: RegExp = new RegExp(/([\\w\\.\\-_]+)?\\w+@[\\w-_]+(\\.\\w+){1,}/igm);\r\n if (regex.test(this.value)) this.sendValue();\r\n else {\r\n this.value = null;\r\n this.sendValue()\r\n this.sendNotification.emit({ severity: 'warn', detail: 'El correo no es válido' })\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n loadDataFromService() {\r\n this.isLoading = true;\r\n this.dataFromService = [];\r\n this.generalService.genericRequest(this.control.config.method, this.control.config.server, this.control.config.endpoint)\r\n .then((res: any) => {\r\n this.dataFromService = res.data;\r\n this.isLoading = false;\r\n })\r\n }\r\n\r\n loadDataFromControlBusquedaService(event: any) {\r\n this.isLoading = true;\r\n this.generalService.genericRequest(this.control.config.method, this.control.config.server, this.control.config.endpoint.replace('@query', event?.query || ''))\r\n .then((res: any) => {\r\n this.dataFromService = res.data;\r\n this.isLoading = false;\r\n })\r\n }\r\n\r\n onUpload(event: any) {\r\n let file = event.files[0];\r\n let formData = new FormData();\r\n let path = 'Imagenes/CRUD/temp';\r\n formData.append('uploadFile', file);\r\n formData.append('Ruta', `/${path}`);\r\n this.isLoading = true;\r\n this.generalService.genericRequest(this.control.config.method, this.control.config.server, this.control.config.endpoint, formData)\r\n .then(() => {\r\n this.sendNotification.emit({ severity: 'info', detail: `Archivo cargado correctamente!` })\r\n this.uploadedFiles.push(file);\r\n this.isLoading = false;\r\n this.value = `${this.generalService.jsonConfig.Server}${path}/${file.name}`\r\n this.sendValue()\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n this.isLoading = false\r\n this.sendNotification.emit({ severity: 'error', detail: `Error al cargar el archivo!` })\r\n })\r\n }\r\n\r\n refresData() {\r\n if (this.control?.config?.endpointtemp) this.loadDataFromService();\r\n }\r\n\r\n setDefaultValue(){\r\n Object.defineProperty(this.tempValue, this.control.config?.optionLabel, { value: this.value, writable: true, enumerable: true, configurable: true })\r\n }\r\n\r\n searchValue(value: string){\r\n let endpoint = this.control.config.endpoint.replace('@id', value)\r\n this.generalService.genericRequest(this.control.config.method, this.control.config.server, endpoint)\r\n .then((res: any) => {\r\n if (res?.data?.length > 0){\r\n this.sendObject.emit({ data: res.data[0], optionValue: this.control.config.optionValue } )\r\n }else{\r\n this.sendNotification.emit({severity: 'warn', detail:`Valor no encontrado.`})\r\n this.sendObject.emit({ data: null, optionValue: this.control.config.optionValue } )\r\n }\r\n })\r\n .catch(err=> {\r\n console.log(err)\r\n this.sendNotification.emit({severity: 'error', detail:`Error al consumir el servicio.`})\r\n })\r\n }\r\n\r\n setDate(){\r\n let format = (this.control as any).formatMoment\r\n \r\n if(format && this.value && !(this.value instanceof Date)){\r\n this.value = moment(this.value, format).toDate();\r\n this.sendValue()\r\n\r\n } \r\n }\r\n}\r\n","<ng-container [ngSwitch]=\"control.type\" #cc>\r\n <label [for]=\"label\" style=\"width: -webkit-fill-available;\">{{label}}</label>\r\n <ng-container *ngSwitchCase=\"'string'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'input'\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\"\r\n [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <textarea [rows]=\"control?.rows ? control.rows : 4\" \r\n [(ngModel)]=\"value\" (focusout)=\"sendValue()\" pInputTextarea \r\n [disabled]=\"control?.disabled || false\" [autoResize]=\"control?.autoresize || false\"></textarea>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'password'\">\r\n <input pInputText type=\"password\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\"\r\n [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'email'\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"value\" placeholder=\"email@example.com\"\r\n (focusout)=\"validateValue('email')\" [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <p-inputMask mask=\"(999) 999-9999\" [(ngModel)]=\"value\" placeholder=\"(999) 999-9999\"\r\n (focusout)=\"sendValue()\" [disabled]=\"control?.disabled || false\" [unmask]=\"control.unmask || false\"></p-inputMask>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'enum'\">\r\n <p-dropdown [options]=\"control.enum\" [(ngModel)]=\"value\" (onChange)=\"sendValue()\" appendTo=\"body\"\r\n placeholder=\"Seleccione una opción\" [disabled]=\"control?.disabled || false\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <p-dropdown [lazy]=\"isLoading\" [options]=\"dataFromService\" [(ngModel)]=\"value\" (onChange)=\"sendValue()\"\r\n [optionLabel]=\"control.config.optionLabel\"\r\n [optionValue]=\"control?.field || control.config.optionValue\" (onClick)=\"refresData()\"\r\n appendTo=\"body\" placeholder=\"Seleccione una opción\"\r\n [disabled]=\"control?.disabled || false\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown:replace'\">\r\n <p-dropdown [lazy]=\"isLoading\" [options]=\"dataFromService\"\r\n (onChange)=\"sendValueFromObject($event)\" [optionLabel]=\"control.config.optionLabel\"\r\n (onClick)=\"refresData()\" appendTo=\"body\" placeholder=\"Seleccione una opción\"\r\n [disabled]=\"control?.disabled || false\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'autocomplete'\">\r\n <p-autoComplete [showEmptyMessage]=\"true\" [suggestions]=\"dataFromService\" appendTo=\"body\"\r\n (completeMethod)=\"loadDataFromControlBusquedaService($event)\" [field]=\"control.field\"\r\n [minLength]=\"1\" (onSelect)=\"sendValueFromObject($event)\" [(ngModel)]=\"tempValue\"\r\n [disabled]=\"control?.disabled || false\"></p-autoComplete>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'input:search'\">\r\n <div class=\"p-inputgroup\">\r\n <input type=\"text\" pInputText [(ngModel)]=\"value\" (focusout)=\"sendValue()\" />\r\n <button type=\"button\" pButton icon=\"pi pi-search\" (click)=\"searchValue(value)\"></button>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n <p-calendar [(ngModel)]=\"value\" (onSelect)=\"sendValue()\" (onBlur)=\"sendValue()\" [monthNavigator]=\"true\"\r\n [yearNavigator]=\"true\" yearRange=\"1900:2035\" [dateFormat]=\"control?.format || 'yy-mm-dd'\"\r\n appendTo=\"body\" [disabled]=\"control?.disabled || false\" [showOnFocus]=\"!control?.hide\"\r\n [placeholder]=\"control?.placeholder || 'aaaa-mm-dd'\" [touchUI]=\"control?.touchUI || false\"\r\n [showIcon]=\"control?.showIcon || false\"></p-calendar>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'numeric'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'currency'\">\r\n <p-inputNumber [(ngModel)]=\"value\" mode=\"currency\" [minFractionDigits]=\"control?.minFractionDigits || 0\"\r\n [min]=\"control?.min || null\" [max]=\"control?.max || null\" (focusout)=\"sendValue()\" [locale]=\"control?.locale || undefined\"\r\n [currency]=\"control?.currency || 'USD'\" [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'decimal'\">\r\n <p-inputNumber [(ngModel)]=\"value\" mode=\"decimal\" (focusout)=\"sendValue()\" [min]=\"control?.min || null\"\r\n [max]=\"control?.max || null\" [minFractionDigits]=\"control?.minFractionDigits || 0\" [locale]=\"control?.locale || undefined\"\r\n [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'percentage'\">\r\n <p-inputNumber [(ngModel)]=\"value\" suffix=\" %\" (focusout)=\"sendValue()\" [min]=\"control?.min || null\"\r\n [max]=\"control?.max || null\" [minFractionDigits]=\"control?.minFractionDigits || 2\" [locale]=\"control?.locale || undefined\"\r\n [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'decimal:search'\">\r\n <div class=\"p-inputgroup\">\r\n <input type=\"number\" pInputText [(ngModel)]=\"value\" (focusout)=\"sendValue()\" />\r\n <button type=\"button\" pButton icon=\"pi pi-search\" (click)=\"searchValue(value)\"></button>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'file'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'filetmp'\">\r\n <p-fileUpload [accept]=\"control.config.accept\" [customUpload]=\"true\" (uploadHandler)=\"onUpload($event)\"\r\n [maxFileSize]=\"control.config?.maxFileSize || null\" fileLimit=\"1\">\r\n <ng-template pTemplate=\"content\">\r\n <ul *ngIf=\"uploadedFiles.length\">\r\n <li *ngFor=\"let file of uploadedFiles\">{{file.name}} - {{file.size}} bytes</li>\r\n </ul>\r\n </ng-template>\r\n </p-fileUpload>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'boolean'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <p-inputSwitch [(ngModel)]=\"value\" (onChange)=\"sendValue()\" [id]=\"label\"></p-inputSwitch>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>","import { Component, OnInit } from '@angular/core';\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { Shema } from '../../shared/models/shema.model';\r\nimport * as jsonpath from 'jsonpath';\r\nimport { Message, MessageService } from 'primeng/api';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'lib-registro-detalle',\r\n templateUrl: './registro-detalle.component.html',\r\n styleUrls: ['./registro-detalle.component.css']\r\n})\r\nexport class RegistroDetalleComponent implements OnInit {\r\n\r\n public uiEsquema: any;\r\n public esquema: Shema = new Shema();\r\n public data: any;\r\n\r\n constructor(\r\n public ref: DynamicDialogRef,\r\n public config: DynamicDialogConfig,\r\n private messageService: MessageService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.uiEsquema = this.config.data.uiEsquema[0];\r\n this.esquema = this.config.data.esquema;\r\n this.data = this.config.data?.data;\r\n if (!this.data) {\r\n this.data = this.createObject(this.esquema);\r\n jsonpath.value(this.data, '$..id', this.config.data.id);\r\n }\r\n }\r\n\r\n getControl(scope: string) {\r\n return jsonpath.query(this.esquema, scope)[0];\r\n }\r\n\r\n getValue(scope: string) {\r\n return jsonpath.query(this.data, scope.replace('.properties', ''))[0];\r\n }\r\n\r\n setValue(value: any, scope: string) {\r\n switch (typeof (value)) {\r\n case 'object':\r\n if (Array.isArray(value)) value.forEach((val: any) => jsonpath.value(this.data, val.scope.replace('.properties', ''), val.value))\r\n else jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n break;\r\n default:\r\n jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n break;\r\n }\r\n this.applyValuesOnEvent('onChange', this.esquema, scope.replace('$..properties.', ''));\r\n }\r\n\r\n createObject(esquema: Shema) {\r\n let object = {};\r\n const resultArray: any[] = [];\r\n switch (esquema.type) {\r\n case 'numeric':\r\n return esquema?.default || 0;\r\n case 'string':\r\n case 'date':\r\n return esquema?.default ? this.setDefaultValue(esquema.default) : null;\r\n case 'boolean':\r\n return esquema?.default || false;\r\n case 'file':\r\n return null;\r\n case 'array':\r\n case 'object':\r\n for (const key in esquema?.properties) {\r\n Object.defineProperty(object, key, { value: this.createObject(esquema?.properties[key]), writable: true, enumerable: true, configurable: true })\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return object;\r\n }\r\n\r\n setDefaultValue(value: string) {\r\n let data = null;\r\n let uactivo;\r\n switch (value) {\r\n case '@uactivo':\r\n uactivo = JSON.parse(localStorage.getItem('oSessionTFM') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = `${uactivo.UsuarioSistema.TDOC}-${uactivo.UsuarioSistema.NDOC}`\r\n break;\r\n case '@tdocactivo':\r\n uactivo = JSON.parse(sessionStorage.getItem('usrSesion') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = uactivo.UsuarioSistema.TDOC\r\n break;\r\n case '@ndocactivo':\r\n uactivo = JSON.parse(sessionStorage.getItem('usrSesion') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = uactivo.UsuarioSistema.NDOC\r\n break;\r\n case '@hoy':\r\n data = new Date();\r\n break;\r\n default:\r\n data = value;\r\n break;\r\n }\r\n return data\r\n }\r\n\r\n submit() {\r\n this.applyValuesOnEvent('onSubmit', this.esquema);\r\n if (!this.validateData()) return;\r\n this.ref.close(this.data);\r\n }\r\n\r\n cancel() {\r\n this.applyValuesOnEvent('onCancel', this.esquema);\r\n this.ref.close();\r\n }\r\n\r\n validateData() {\r\n if (this.esquema.validations.type == 'local') return this.validateDataLocal();\r\n return true;\r\n }\r\n\r\n validateDataLocal() {\r\n let err: string[] = []\r\n this.esquema.validations.required.forEach((x: any) => {\r\n if (!jsonpath.query(this.data, x.field)[0]) err.push(x.message);\r\n })\r\n if (err.length != 0) this.messageService.add({ severity: 'warn', detail: err.join('. ') })\r\n return err.length == 0;\r\n }\r\n\r\n applyValuesOnEvent(event: string, esquema: Shema, scope?: string) {\r\n if (scope) {\r\n if (esquema.properties[scope][event]) {\r\n esquema.properties[scope][event].forEach((value: any) => {\r\n this.setValueEvent(this.data, value)\r\n })\r\n }\r\n } else {\r\n for (const key in esquema.properties) {\r\n if (esquema.properties[key][event]) {\r\n esquema.properties[key][event].forEach((value: any) => {\r\n this.setValueEvent(this.data, value)\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n setValueEvent(data: any, params: { op: string, scope: string[], key: any, separator: string }) {\r\n let value;\r\n let date = moment(new Date());\r\n switch (params.op) {\r\n case 'sum':\r\n value = jsonpath.query(data, params?.scope[0]).reduce((acc, cur) => acc += params?.key ? cur[params.key] : cur, 0)\r\n break;\r\n case 'concat':\r\n let array: string[] = []\r\n params?.key?.reduce((acc: any[], cur: string) => {\r\n array.push(jsonpath.query(data, cur)[0])\r\n }, [])\r\n if (params?.separator) jsonpath.value(data, params.scope[0], array.join(params?.separator || ' '))\r\n break;\r\n case 'enable':\r\n jsonpath.value(this.esquema, params.scope[0], false)\r\n break;\r\n case 'disabled':\r\n jsonpath.value(this.esquema, params.scope[0], true)\r\n break;\r\n case 'replace:endpoint':\r\n jsonpath.value(this.esquema, params.scope[0], jsonpath.query(this.esquema, params.scope[1])[0].replace(params.scope[2], jsonpath.query(data, `$..${params.key}`)))\r\n break;\r\n case 'setNull':\r\n jsonpath.value(this.data, `$.${params.key}`, null);\r\n break;\r\n case 'datediff:years':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'years'))\r\n break;\r\n case 'datediff:months':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'months'))\r\n break;\r\n case 'datediff:weeks':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'weeks'))\r\n break;\r\n case 'datediff:days':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'days'))\r\n break;\r\n default:\r\n break;\r\n }\r\n return value;\r\n }\r\n\r\n sendNotification(message: Message) {\r\n this.messageService.add(message)\r\n }\r\n\r\n applyValuesFromObject(event: any) {\r\n if (event.data) event.optionValue.forEach((value: any) => jsonpath.value(this.data, value.scope.replace('.properties',''), this.aplyFormatValue(value.scope, event.data[value.key])));\r\n else event.optionValue.forEach((value: any) => jsonpath.value(this.data, value.scope.replace('.properties',''), null));\r\n }\r\n aplyFormatValue(scope: string, value: any) {\r\n let control = jsonpath.query(this.esquema, scope)[0]\r\n let resp;\r\n switch (control.type) {\r\n case 'date':\r\n resp = new Date(`${value}`)\r\n break;\r\n case 'numeric':\r\n resp = +value\r\n break;\r\n default:\r\n resp = value\r\n break;\r\n }\r\n return resp\r\n }\r\n}","<p-toast></p-toast>\r\n<div *ngFor=\"let element of uiEsquema.elements\" [class]=\"element?.class\" #a>\r\n <ng-container [ngSwitch]=\"element.type\">\r\n <div *ngSwitchCase=\"'Label'\" [style]=\"element?.style\">\r\n {{element?.label}}\r\n </div>\r\n <ng-container *ngSwitchCase=\"'HorizontalLayout'\">\r\n <div *ngFor=\"let el of element.elements\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"getControl(el.scope)\" [label]=\"el.label\"\r\n [value]=\"getValue(el.scope)\" (setValue)=\"setValue($event, el.scope)\"\r\n (sendNotification)=\"sendNotification($event)\" (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'VerticalLayout'\">\r\n <div *ngFor=\"let el of element.elements\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"getControl(el.scope)\" [label]=\"el.label\"\r\n [value]=\"getValue(el.scope)\" (setValue)=\"setValue($event, el.scope)\"\r\n (sendNotification)=\"sendNotification($event)\" (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Control'\">\r\n <sf-control [control]=\"getControl(element.scope)\" [label]=\"element.label\"></sf-control>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n<div class=\"card-footer mt-2\">\r\n <button pButton pRipple type=\"button\" label=\"Guardar\" (click)=\"submit()\" class=\"mr-2\"></button>\r\n <button pButton pRipple type=\"button\" label=\"Cancelar\" (click)=\"cancel()\" class=\"p-button-danger\"></button>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { DialogService,DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { Shema } from '../../shared/models/shema.model';\r\nimport * as jsonpath from 'jsonpath';\r\nimport { Message, MessageService } from 'primeng/api';\r\nimport * as moment from 'moment';\r\nimport { RegistroDetalleComponent } from '../registro-detalle/registro-detalle.component';\r\n\r\n@Component({\r\n selector: 'lib-registro-child',\r\n templateUrl: './registro-child.component.html',\r\n providers: [MessageService,DialogService]\r\n})\r\nexport class RegistroChildComponent implements OnInit {\r\n\r\n public uiEsquema: any;\r\n public esquema: Shema = new Shema();\r\n public data: any;\r\n public dialogRef?: DynamicDialogRef;\r\n public trx: string = 'c';\r\n values!: any[][];\r\n controls!: any[][];\r\n controlsLoaded = false;\r\n\r\n constructor(\r\n public ref: DynamicDialogRef,\r\n public config: DynamicDialogConfig,\r\n private messageService: MessageService,\r\n private dialogService: DialogService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.uiEsquema = this.config.data.uiEsquema[0];\r\n this.esquema = this.config.data.esquema;\r\n this.data = this.config.data?.data;\r\n if (!this.data) {\r\n this.data = this.createObject(this.esquema);\r\n jsonpath.value(this.data, '$..id', this.config.data.id);\r\n }\r\n this.buildControls()\r\n }\r\n\r\n buildControls(){\r\n this.controlsLoaded = false;\r\n this.controls = []\r\n this.values = []\r\n this.uiEsquema.elements.forEach((layout: any, i: number) => {\r\n this.controls.push([])\r\n this.values.push([])\r\n\r\n layout.elements?.forEach((element: any, j: number) => {\r\n if (!element.scope) console.log(\"CONFIGURAR BIEN \" + element)\r\n this.controls[i].push(this.getControl(element.scope))\r\n this.controls[i][j].scope = element.scope\r\n this.values[i].push(this.getValue(element.scope))\r\n });\r\n });\r\n this.controlsLoaded = true;\r\n }\r\n\r\n getControl(scope: string) {\r\n return jsonpath.query(this.esquema, scope)[0];\r\n }\r\n\r\n getValue(scope: string) {\r\n return jsonpath.query(this.data, scope.replace('.properties', ''))[0];\r\n }\r\n\r\n setValue(value: any, scope: string, i: number, j: number) {\r\n switch (typeof (value)) {\r\n case 'object':\r\n if (Array.isArray(value)) value.forEach((val: any) => {\r\n this.setValueByScope(val.scope, val.value)\r\n jsonpath.value(this.data, val.scope.replace('.properties', ''), val.value)\r\n })\r\n else {\r\n this.values[i][j] = value;\r\n jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n }\r\n break;\r\n default:\r\n this.values[i][j] = value;\r\n jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n break;\r\n }\r\n this.applyValuesOnEvent('onChange', this.esquema, scope.replace('$..properties.', ''));\r\n }\r\n\r\n createObject(esquema: Shema) {\r\n let object = {};\r\n const resultArray: any[] = [];\r\n switch (esquema.type) {\r\n case 'numeric':\r\n return esquema?.default || 0;\r\n case 'string':\r\n case 'date':\r\n return esquema?.default ? this.setDefaultValue(esquema.default) : null;\r\n case 'boolean':\r\n return esquema?.default || false;\r\n case 'file':\r\n return null;\r\n case 'array':\r\n case 'object':\r\n for (const key in esquema?.properties) {\r\n Object.defineProperty(object, key, { value: this.createObjectChild(esquema?.properties[key]), writable: true, enumerable: true, configurable: true })\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return object;\r\n }\r\n\r\n createObjectChild(esquema: Shema) {\r\n let object = {};\r\n const resultArray: any[] = [];\r\n switch (esquema.type) {\r\n case 'numeric':\r\n return esquema?.default || 0;\r\n case 'string':\r\n case 'date':\r\n return esquema?.default ? this.setDefaultValue(esquema.default) : null;\r\n case 'boolean':\r\n return esquema?.default || false;\r\n case 'file':\r\n return null;\r\n case 'array':\r\n return [];\r\n case 'object':\r\n for (const key in esquema?.properties) {\r\n Object.defineProperty(object, key, { value: this.createObject(esquema?.properties[key]), writable: true, enumerable: true, configurable: true })\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return object;\r\n }\r\n\r\n setDefaultValue(value: string) {\r\n let data = null;\r\n let uactivo;\r\n switch (value) {\r\n case '@uactivo':\r\n uactivo = JSON.parse(localStorage.getItem('oSessionTFM') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = `${uactivo.UsuarioSistema.TDOC}-${uactivo.UsuarioSistema.NDOC}`\r\n break;\r\n case '@tdocactivo':\r\n uactivo = JSON.parse(sessionStorage.getItem('usrSesion') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = uactivo.UsuarioSistema.TDOC\r\n break;\r\n case '@ndocactivo':\r\n uactivo = JSON.parse(sessionStorage.getItem('usrSesion') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = uactivo.UsuarioSistema.NDOC\r\n break;\r\n case '@hoy':\r\n data = new Date();\r\n break;\r\n default:\r\n data = value;\r\n break;\r\n }\r\n return data\r\n }\r\n\r\n submit() {\r\n this.applyValuesOnEvent('onSubmit', this.esquema);\r\n if (!this.validateData()) return;\r\n this.ref.close(this.data);\r\n }\r\n\r\n cancel() {\r\n this.applyValuesOnEvent('onCancel', this.esquema);\r\n this.ref.close();\r\n }\r\n\r\n validateData() {\r\n if (this.esquema.validations.type == 'local') return this.validateDataLocal();\r\n return true;\r\n }\r\n\r\n validateDataLocal() {\r\n let err: string[] = []\r\n this.esquema.validations.required.forEach((x: any) => {\r\n if (!jsonpath.query(this.data, x.field)[0]) err.push(x.message);\r\n })\r\n if (err.length != 0) this.messageService.add({ severity: 'warn', detail: err.join('. ') })\r\n return err.length == 0;\r\n }\r\n\r\n applyValuesOnEvent(event: string, esquema: Shema, scope?: string) {\r\n if (scope) {\r\n if (esquema.properties[scope][event]) {\r\n esquema.properties[scope][event].forEach((value: any) => {\r\n this.setValueEvent(this.data, value)\r\n })\r\n }\r\n } else {\r\n for (const key in esquema.properties) {\r\n if (esquema.properties[key][event]) {\r\n esquema.properties[key][event].forEach((value: any) => {\r\n this.setValueEvent(this.data, value)\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n setValueEvent(data: any, params: { op: string, scope: string[], key: any, separator: string }) {\r\n let value;\r\n let date = moment(new Date());\r\n switch (params.op) {\r\n case 'sum':\r\n value = jsonpath.query(data, params?.scope[0]).reduce((acc, cur) => acc += params?.key ? cur[params.key] : cur, 0)\r\n break;\r\n case 'concat':\r\n let array: string[] = []\r\n params?.key?.reduce((acc: any[], cur: string) => {\r\n array.push(jsonpath.query(data, cur)[0])\r\n }, [])\r\n if (params?.separator) jsonpath.value(data, params.scope[0], array.join(params?.separator || ' '))\r\n break;\r\n case 'enable':\r\n jsonpath.value(this.esquema, params.scope[0], false)\r\n break;\r\n case 'disabled':\r\n jsonpath.value(this.esquema, params.scope[0], true)\r\n break;\r\n case 'replace:endpoint':\r\n jsonpath.value(this.esquema, params.scope[0], jsonpath.query(this.esquema, params.scope[1])[0].replace(params.scope[2], jsonpath.query(data, `$..${params.key}`)))\r\n break;\r\n case 'setNull':\r\n jsonpath.value(this.data, `$.${params.key}`, null);\r\n break;\r\n case 'datediff:years':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'years'))\r\n break;\r\n case 'datediff:months':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'months'))\r\n break;\r\n case 'datediff:weeks':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'weeks'))\r\n break;\r\n case 'datediff:days':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'days'))\r\n break;\r\n default:\r\n break;\r\n }\r\n return value;\r\n }\r\n\r\n sendNotification(message: Message) {\r\n this.messageService.add(message)\r\n }\r\n\r\n addObjectArray(element: any) {\r\n this.dialogRef = this.dialogService.open(RegistroDetalleComponent, {\r\n header: element.label ? element.label : 'Detalle',\r\n width: '70%',\r\n modal: true,\r\n closable: false,\r\n data: {\r\n uiEsquema: { ...element.elements },\r\n esquema: this.getControl(element.scope),\r\n id: this.getValue(element.scope).length + 1\r\n }\r\n })\r\n this.dialogRef.onClose.subscribe((data: any) => {\r\n if (data) this.data[element.scope.replace('$..properties.', '')].push(data);\r\n this.applyValuesOnEvent('onChange', this.esquema, element.scope.replace('$..properties.', ''))\r\n })\r\n }\r\n\r\n editRow(element: any, data: any, index: number) {\r\n this.dialogRef = this.dialogService.open(RegistroDetalleComponent, {\r\n header: element.label ? element.label : 'Detalle',\r\n width: '70%',\r\n modal: true,\r\n closable: false,\r\n data: {\r\n uiEsquema: { ...element.elements },\r\n esquema: this.getControl(element.scope),\r\n data: { ...data }\r\n }\r\n })\r\n this.dialogRef.onClose.subscribe((data: any) => {\r\n if (data) this.data[element.scope.replace('$..properties.', '')][index] = data;\r\n this.applyValuesOnEvent('onChange', this.esquema, element.scope.replace('$..properties.', ''))\r\n })\r\n }\r\n\r\n deleteRow(element: any, index: number) {\r\n this.data[element.scope.replace('$..properties.', '')].splice(index, 1);\r\n index = 1;\r\n this.data[element.scope.replace('$..properties.', '')].forEach((el: any) => {\r\n el.id = index;\r\n index++;\r\n })\r\n this.applyValuesOnEvent('onChange', this.esquema, element.scope.replace('$..properties.', ''))\r\n }\r\n\r\n setValueByScope(scope: string, newVal: any){\r\n for (let i = 0; i < this.controls.length; i++) {\r\n const row = this.controls[i];\r\n row.forEach((el, j) => {\r\n if (el.scope && el.scope.replace('.properties','')== scope.replace('.properties','')){\r\n this.values[i][j] = newVal\r\n }\r\n })\r\n }\r\n }\r\n\r\n applyValuesFromObject(event: any) {\r\n if (event.optionValue){\r\n for (let i = 0; i < event.optionValue.length; i++) {\r\n const optionVal = event.optionValue[i];\r\n const newVal = event.data ? this.aplyFormatValue(optionVal.scope, event.data[optionVal.key]): null;\r\n jsonpath.value(this.data, optionVal.scope.replace('.properties',''), this.aplyFormatValue(optionVal.scope, event.data[optionVal.key]))\r\n this.setValueByScope(optionVal.scope, newVal)\r\n }\r\n }\r\n }\r\n aplyFormatValue(scope: string, value: any) {\r\n let control = jsonpath.query(this.esquema, scope)[0]\r\n let resp;\r\n switch (control.type) {\r\n case 'date':\r\n resp = new Date(`${value}`)\r\n break;\r\n case 'numeric':\r\n resp = +value\r\n break;\r\n default:\r\n resp = value\r\n break;\r\n }\r\n return resp\r\n }\r\n}\r\n","<p-toast></p-toast>\r\n<div *ngIf=\"controlsLoaded\">\r\n<div *ngFor=\"let element of uiEsquema.elements; let i = index\" [class]=\"element?.class\" #a>\r\n <ng-container [ngSwitch]=\"element.type\">\r\n <div *ngSwitchCase=\"'Label'\" [style]=\"element?.style\">\r\n {{element?.label}}\r\n </div>\r\n <ng-container *ngSwitchCase=\"'HorizontalLayout'\">\r\n <div *ngFor=\"let el of element.elements; let j =index\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"controls[i][j]\" [label]=\"el.label\" [value]=\"values[i][j]\"\r\n (setValue)=\"setValue($event, el.scope, i, j)\" (sendNotification)=\"sendNotification($event)\"\r\n (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'VerticalLayout'\">\r\n <div *ngFor=\"let el of element.elements; let k =index\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"controls[i][k]\" [label]=\"el.label\"\r\n [value]=\"values[i][k]\" (setValue)=\"setValue($event, el.scope, i, k)\"\r\n (sendNotification)=\"sendNotification($event)\"\r\n (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n <ng-container *ngSwitchCase=\"'Table'\">\r\n <p-table [value]=\"getValue(el.scope)\" [columns]=\"getControl(el.scope).config.columns\">\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n <button pButton pRipple icon=\"pi pi-plus\" (click)=\"addObjectArray(el)\"\r\n class=\"p-button-success\"></button>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n {{col.label}}\r\n </th>\r\n <ng-container *ngIf=\"trx == 'c' || trx == 'u'\">\r\n <th></th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <ng-container *ngFor=\"let col of columns\" [ngSwitch]=\"col.type\">\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <td>{{rowData[col.col]}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'currency:USD'\">\r\n <td>{{rowData[col.col] | currency: 'USD'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date:yyyy-mm-dd'\">\r\n <td>{{rowData[col.col] | date: 'yyyy-mm-dd'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date:dd/mm/yyyy'\">\r\n <td>{{rowData[col.col] | date: 'dd/MM/yyyy'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'boolean'\">\r\n <td>\r\n <i *ngIf=\"rowData[col.col]\" class=\"pi pi-check\"></i>\r\n <i *ngIf=\"!rowData[col.col]\" class=\"pi pi-times\"></i>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"trx == 'c' || trx == 'u'\">\r\n <td>\r\n <button pButton pRipple type=\"button\"\r\n (click)=\"editRow(el, rowData, rowIndex)\" icon=\"pi pi-pencil\"\r\n class=\"p-button-rounded p-button-info mr-1\"></button>\r\n <button pButton pRipple type=\"button\" (click)=\"deleteRow(el, rowIndex)\"\r\n icon=\"pi pi-trash\" class=\"p-button-rounded p-button-danger\"></button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Control'\">\r\n <sf-control [control]=\"getControl(element.scope)\" [label]=\"element.label\"></sf-control>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n<div class=\"card-footer mt-2\">\r\n <button pButton pRipple type=\"button\" label=\"Guardar\" (click)=\"submit()\" class=\"mr-2\"></button>\r\n <button pButton pRipple type=\"button\" label=\"Cancelar\" (click)=\"cancel()\" class=\"p-button-danger\"></button>\r\n</div>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\nimport { DataTempCrud } from './shared/models/data-temp-crud.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SfCrudService {\r\n\r\n private _dataTemp: DataTempCrud[] = [];\r\n\r\n constructor() { }\r\n\r\n saveDataTemp(scope: string, value: any) {\r\n this._dataTemp.push({ scope, value })\r\n sessionStorage.setItem('dataTemp', JSON.stringify(this._dataTemp))\r\n }\r\n\r\n getDataTemp() {\r\n let dataTemp = sessionStorage.getItem('dataTemp')\r\n sessionStorage.removeItem('dataTemp')\r\n return dataTemp ? JSON.parse(dataTemp) : []\r\n }\r\n\r\n cleanDataTemp(){\r\n sessionStorage.removeItem('dataTemp')\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ConfigRegistro, CrudConfig, Operations, RequestChecking } from '../../shared/models/crud-config.model';\r\nimport { DialogService, DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { GeneralService } from '../../shared/services/general.service';\r\nimport { Message, MessageService } from 'primeng/api';\r\nimport { RegistroChildComponent } from '../registro-child/registro-child.component';\r\nimport { Router } from '@angular/router';\r\nimport { Shema } from '../../shared/models/shema.model';\r\nimport * as jsonpath from 'jsonpath';\r\nimport { DataTempCrud } from '../../shared/models/data-temp-crud.model';\r\nimport { SfCrudService } from '../../sf-crud.service';\r\nimport * as moment from 'moment';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'sf-registro',\r\n templateUrl: './registro.component.html',\r\n providers: [MessageService, DialogService, DynamicDialogConfig, DynamicDialogRef],\r\n entryComponents: [RegistroComponent]\r\n})\r\nexport class RegistroComponent implements OnInit {\r\n\r\n @Input() idKatios: string = '';\r\n @Input() idEntidad: string = '';\r\n @Input() trx: string = '';\r\n @Input() id: string = '';\r\n @Input() user: any;\r\n @Output() sendData: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() onSubmit: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n private dataTemp: DataTempCrud[] = [];\r\n public crudConfig: CrudConfig = new CrudConfig();\r\n public enProceso: boolean = false;\r\n public btnSubmit: any;\r\n public data: any;\r\n public configOperation: Operations = new Operations();\r\n public isLocal: boolean = false;\r\n values!: any[][];\r\n controls!: any[][];\r\n controlsLoaded = false;\r\n public dialogRef?: DynamicDialogRef\r\n\r\n constructor(\r\n private generalService: GeneralService,\r\n private router: Router,\r\n private messageSerice: MessageService,\r\n private dialogService: DialogService,\r\n private sfCrudService: SfCrudService\r\n ) {\r\n this.dataTemp = this.sfCrudService.getDataTemp();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadConfigCrud();\r\n }\r\n\r\n loadConfigCrud() {\r\n this.enProceso = true;\r\n this.generalService.getCrudByEntidad(this.idKatios, this.idEntidad)\r\n .then(res => {\r\n this.setDataTemp(res.esquema, this.dataTemp);\r\n this.crudConfig = res;\r\n \r\n if (this.trx == 'c') {\r\n this.data = this.createObject(this.crudConfig.esquema);\r\n this.setLabelSumbit();\r\n this.enProceso = false;\r\n this.configOperation = this.crudConfig.registro.operations.find(x => x.type.startsWith(this.trx)) || new Operations();\r\n this.buildControls()\r\n } else this.getInfoRegistro(this.crudConfig.registro);\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n this.enProceso = false;\r\n })\r\n }\r\n\r\n buildControls(){\r\n this.controlsLoaded = false;\r\n this.controls = []\r\n this.values = []\r\n this.crudConfig.uiEsquema.elements.forEach((layout: any, i: number) => {\r\n this.controls.push([])\r\n this.values.push([])\r\n layout.elements?.forEach((element: any, j:number) => {\r\n this.controls[i].push(this.getControl(element.scope))\r\n this.controls[i][j].scope = element.scope\r\n this.values[i].push(this.getValue(element.scope))\r\n\r\n });\r\n });\r\n this.controlsLoaded = true;\r\n }\r\n\r\n setLabelSumbit() {\r\n if (this.trx == 'c') this.btnSubmit = { label: 'Guardar', icon: 'pi pi-save' }\r\n else if (this.trx == 'r') this.btnSubmit = undefined;\r\n else if (this.trx == 'u') this.btnSubmit = { label: 'Actualizar', icon: 'pi pi-sync' }\r\n else if (this.trx == 'd') this.btnSubmit = { label: 'Eliminar', icon: 'pi pi-trash' }\r\n }\r\n\r\n getInfoRegistro(configRegistro: ConfigRegistro) {\r\n let op = configRegistro.operations.find(x => x.type == 'read');\r\n let endpoint = op?.endpoint || '';\r\n endpoint = endpoint.replace('@idKatios', this.idKatios);\r\n endpoint = endpoint.replace('@ndocactivo', this.user.UsuarioSistema.NDOC);\r\n endpoint = endpoint.replace('@id', this.id);\r\n this.generalService.genericRequest(op?.method || '', op?.server || '', endpoint)\r\n .then((res: any) => {\r\n if (res?.data){\r\n if(Array.isArray(res.data)) this.data = res.data[0]\r\n else this.data = res.data;\r\n this.trx = 'u';\r\n } \r\n else {\r\n this.trx = 'c';\r\n this.data = this.createObject(this.crudConfig.esquema);\r\n console.log(this.data)\r\n }\r\n this.buildControls()\r\n this.enProceso = false;\r\n this.configOperation = this.crudConfig.registro.operations.find(x => x.type.startsWith(this.trx)) || new Operations();\r\n this.setLabelSumbit();\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n this.enProceso = false;\r\n })\r\n }\r\n\r\n back() {\r\n this.router.navigateByUrl(this.crudConfig.registro.btnBack);\r\n }\r\n\r\n getControl(scope: string) {\r\n return jsonpath.query(this.crudConfig.esquema, scope)[0];\r\n }\r\n\r\n getValue(scope: string) {\r\n return jsonpath.query(this.data, scope.replace('.properties', ''))[0];\r\n }\r\n\r\n setValue(value: any, scope: string, i: number, j: number) {\r\n switch (typeof (value)) {\r\n case 'object':\r\n if (Array.isArray(value)) value.forEach((val: any) => {\r\n this.setValueByScope(val.scope, val.value)\r\n jsonpath.value(this.data, val.scope.replace('.properties', ''), val.value)\r\n })\r\n else {\r\n this.values[i][j] = value;\r\n jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n }\r\n break;\r\n default:\r\n this.values[i][j] = value;\r\n jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n break;\r\n }\r\n this.applyValuesOnEvent('onChange', this.crudConfig.esquema);\r\n }\r\n\r\n createObject(esquema: Shema) {\r\n const object: any = {};\r\n switch (esquema.type) {\r\n case 'numeric':\r\n return esquema?.default || 0;\r\n case 'string':\r\n case 'date':\r\n return esquema?.default ? this.setDefaultValue(esquema.default) : null;\r\n case 'boolean':\r\n return esquema?.default || false;\r\n case 'array':\r\n return [];\r\n case 'file':\r\n return null;\r\n case 'object':\r\n Object.getOwnPropertyNames(esquema?.properties).forEach(key => {\r\n let aux = esquema?.properties[key]\r\n if (aux) object[key] = this.createObject(aux)\r\n });\r\n return object;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n submit() {\r\n console.log(this.data)\r\n if (!this.validateData()) return;\r\n this.applyValuesOnEvent('onSubmit', this.crudConfig.esquema)\r\n this.enProceso = true;\r\n let endpoint = this.configOperation.endpoint;\r\n endpoint = endpoint.replace('@idKatios', this.idKatios)\r\n endpoint = endpoint.replace('@id', this.id)\r\n this.generalService.genericRequest(this.configOperation.method, this.configOperation.server, endpoint, this.data)\r\n .then((res) => {\r\n this.generateMessage({ severity: 'success', detail: `Proceso exitoso!` }, res, this.configOperation.answerChecking)\r\n this.enProceso = false;\r\n setTimeout(() => {\r\n if (this.configOperation?.redirect) this.router.navigate([this.configOperation?.redirect])\r\n else this.onSubmit.emit(this.data)\r\n }, 2000);\r\n })\r\n .catch(err => {\r\n const operation = this.crudConfig.registro.operations.find(op => op.type.startsWith(this.trx))!\r\n this.generateMessage({severity: \"error\", detail: \"Por favor comunicarse con el admin\", summary: \"Error no controlado\"}, err.error, operation.errorChecking)\r\n this.enProceso = false;\r\n })\r\n }\r\n\r\n /**\r\n * Generates message using answerchecking\r\n * @param currentMsg Default message: Message\r\n * @param rta Resquest's response\r\n * @param answerChecking \r\n */\r\n generateMessage(currentMsg: Message | any, rta: any, requestChecking?: RequestChecking){\r\n if (requestChecking){\r\n if (requestChecking.statics) Object.assign(currentMsg, requestChecking.statics)\r\n //mapear los dinamicos\r\n if (requestChecking.dynamics){\r\n const dynamics: any = requestChecking.dynamics\r\n try{\r\n if (dynamics && typeof(rta) == \"string\") rta = JSON.parse(rta)\r\n if (dynamics) {\r\n for (const property in dynamics) {\r\n currentMsg[property] = jsonpath.query(rta, dynamics[property])[0];\r\n }\r\n }\r\n }catch(error){//es una respuesta sin JSON\r\n if (dynamics) currentMsg.detail = rta\r\n }\r\n }\r\n }\r\n\r\n if (requestChecking?.redirect || requestChecking?.swal) Swal.fire(currentMsg.summary, currentMsg.detail, currentMsg.severity).then((res) => {\r\n if (res.isConfirmed && requestChecking.redirect) window.location.href = requestChecking.redirect\r\n })\r\n else this.messageSerice.add(currentMsg)\r\n }\r\n\r\n validateData() {\r\n if (this.configOperation.validations.type == 'local') return this.validateDataLocal();\r\n return true;\r\n }\r\n\r\n validateDataLocal() {\r\n let err: string[] = []\r\n this.configOperation.validations?.required?.forEach(x => {\r\n if (!jsonpath.query(this.data, x.field)[0]) err.push(x.message);\r\n })\r\n this.configOperation.validations?.operations?.forEach((op: any) => {\r\n switch (op.action) {\r\n case 'sumArray':\r\n let var1 = jsonpath.query(this.data, op.scope[0]).reduce((acc, cur) => acc += cur[op.key], 0);\r\n let var2 = jsonpath.query(this.data, op.scope[1]).reduce((acc, cur) => acc += cur[op.key], 0);\r\n if (var1 != var2) err.push(op.message)\r\n break;\r\n default:\r\n break;\r\n }\r\n })\r\n if (err.length != 0) this.messageSerice.add({ severity: 'warn', detail: err.join('. ') })\r\n return err.length == 0;\r\n }\r\n\r\n setDefaultValue(value: string) {\r\n let data = null;\r\n switch (value) {\r\n case '@uactivo':\r\n data = `${this.user.UsuarioSistema.TDOC}-${this.user.UsuarioSistema.NDOC}`\r\n break;\r\n case '@tdocactivo':\r\n data = this.user.UsuarioSistema.TDOC\r\n break;\r\n case '@ndocactivo':\r\n data = this.user.UsuarioSistema.NDOC\r\n break;\r\n case '@hoy':\r\n data = new Date();\r\n break;\r\n default:\r\n data = value;\r\n break;\r\n }\r\n return data\r\n }\r\n\r\n sendNotification(message: Message) {\r\n this.messageSerice.add(message)\r\n }\r\n\r\n addObjectArray(element: any) {\r\n this.dialogRef = this.dialogService.open(RegistroChildComponent, {\r\n header: element.label ? element.label : 'Detalle',\r\n width: '70%',\r\n modal: true,\r\n closable: true,\r\n data: {\r\n uiEsquema: { ...element.elements },\r\n esquema: this.getControl(element.scope),\r\n id: this.getValue(element.scope).length + 1\r\n }\r\n })\r\n this.dialogRef.onClose.subscribe((data: any) => {\r\n if (data) this.data[element.scope.replace('$..properties.', '')].push(data);\r\n this.applyValuesOnEvent('onChange', this.crudConfig.esquema, element.scope.replace('$..properties.', ''))\r\n })\r\n }\r\n\r\n editRow(element: any, data: any, index: number) {\r\n this.dialogRef = this.dialogService.open(RegistroChildComponent, {\r\n header: element.label ? element.label : 'Detalle',\r\n width: '70%',\r\n modal: true,\r\n closable: true,\r\n data: {\r\n uiEsquema: { ...element.elements },\r\n esquema: this.getControl(element.scope),\r\n data: { ...data }\r\n }\r\n })\r\n this.dialogRef.onClose.subscribe((data: any) => {\r\n if (data) this.data[element.scope.replace('$..properties.', '')][index] = data;\r\n this.applyValuesOnEvent('onChange', this.crudConfig.esquema, element.scope.replace('$..properties.', ''))\r\n })\r\n }\r\n\r\n deleteRow(element: any, index: number) {\r\n this.data[element.scope.replace('$..properties.', '')].splice(index, 1);\r\n index = 1;\r\n this.data[element.scope.replace('$..properties.', '')].forEach((el: any) => {\r\n el.id = index;\r\n index++;\r\n })\r\n this.applyValuesOnEvent('onChange', this.crudConfig.esquema, element.scope.replace('$..properties.', ''))\r\n }\r\n\r\n applyValuesOnEvent(event: string, esquema: Shema, key?: string) {\r\n if (key) {\r\n if (esquema.properties[key][event]) {\r\n esquema.properties[key][event].forEach((value: { scope: string[], op: string, key?: string }) => {\r\n this.setValueEvent(this.data, value);\r\n })\r\n }\r\n } else {\r\n for (const key in esquema.properties) {\r\n if (esquema.properties[key][event]) {\r\n esquema.properties[key][event].forEach((value: any) => {\r\n this.setValueEvent(this.data, value);\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n setValueEvent(data: any, params: { scope: string[], op: string, key?: any, separator?: string }) {\r\n let date = moment(new Date());\r\n switch (params.op) {\r\n case 'sum':\r\n jsonpath.value(data, params.scope[1], jsonpath.query(data, params.scope[0]).reduce((acc, cur) => acc += params?.key ? cur[params.key] : cur, 0))\r\n break;\r\n case 'concat':\r\n let array: string[] = []\r\n params?.key?.reduce((acc: any[], cur: string) => {\r\n array.push(jsonpath.query(data, cur)[0])\r\n }, [])\r\n if (params?.separator) jsonpath.value(data, params.scope[0], array.join(params?.separator || ' '))\r\n break;\r\n case 'enable':\r\n jsonpath.value(this.crudConfig.esquema, params.scope[0], false)\r\n break;\r\n case 'disabled':\r\n jsonpath.value(this.crudConfig.esquema, params.scope[0], true)\r\n break;\r\n case 'replace:endpoint':\r\n jsonpath.value(this.crudConfig.esquema, params.scope[0], this.crudConfig.esquema.config.endpointtemp.replace(params.scope[1], jsonpath.query(data, `$..${params.key}`)))\r\n break;\r\n case 'setNull':\r\n jsonpath.value(this.data, `$.${params.key}`, null);\r\n break;\r\n case 'datediff:years':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'years'))\r\n break;\r\n case 'datediff:months':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'months'))\r\n break;\r\n case 'datediff:weeks':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'weeks'))\r\n break;\r\n case 'datediff:days':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'days'))\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n setDataTemp(esquema: Shema, dataTemp: any[]) {\r\n dataTemp.forEach(data => {\r\n jsonpath.value(esquema, data.scope, data.value)\r\n });\r\n }\r\n\r\n applyValuesFromObject(event: any) {\r\n if (event.optionValue){\r\n for (let i = 0; i < event.optionValue.length; i++) {\r\n const optionVal = event.optionValue[i];\r\n const newVal = event.data ? this.aplyFormatValue(optionVal.scope, event.data[optionVal.key]): null;\r\n jsonpath.value(this.data, optionVal.scope.replace('.properties',''), this.aplyFormatValue(optionVal.scope, event.data[optionVal.key]))\r\n this.setValueByScope(optionVal.scope, newVal)\r\n }\r\n }\r\n }\r\n\r\n \r\n setValueByScope(scope: string, newVal: any){\r\n for (let i = 0; i < this.controls.length; i++) {\r\n const row = this.controls[i];\r\n row.forEach((el, j) => {\r\n if (el.scope && el.scope.replace('.properties','')== scope.replace('.properties','')){\r\n this.values[i][j] = newVal\r\n }\r\n })\r\n }\r\n }\r\n\r\n aplyFormatValue(scope: string, value: any) {\r\n let control = jsonpath.query(this.crudConfig.esquema, scope)[0]\r\n let resp;\r\n switch (control.type) {\r\n case 'date':\r\n resp = new Date(`${value}`)\r\n break;\r\n case 'numeric':\r\n resp = +value\r\n break;\r\n default:\r\n resp = value\r\n break;\r\n }\r\n return resp\r\n }\r\n}\r\n","<p-blockUI [blocked]=\"enProceso\">\r\n <i class=\"pi pi-cog pi-spin\" style=\"font-size: 50px\"></i>\r\n</p-blockUI>\r\n\r\n<p-toast></p-toast>\r\n\r\n<div class=\"card\" *ngIf=\"!enProceso && controlsLoaded\">\r\n <h5 class=\"card-header mb-2\" style=\"display: flex; justify-content: space-between;align-items: center;\">\r\n <span>{{crudConfig.registro?.label || idEntidad}} {{id != '' ? '-' + id : ''}}</span>\r\n <button *ngIf=\"crudConfig.registro?.canBack\" pButton pRipple type=\"button\" icon=\"pi pi-arrow-left\" (click)=\"back()\"></button>\r\n </h5>\r\n <div *ngFor=\"let element of crudConfig.uiEsquema.elements; let i = index\" [class]=\"element?.class\">\r\n <ng-container [ngSwitch]=\"element.type\">\r\n <div *ngSwitchCase=\"'Label'\" [style]=\"element?.style\">\r\n {{element?.label}}\r\n </div>\r\n <ng-container *ngSwitchCase=\"'HorizontalLayout'\">\r\n <div *ngFor=\"let el of element.elements;let j = index\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"controls[i][j]\" [label]=\"el.label\"\r\n [value]=\"values[i][j]\" (setValue)=\"setValue($event, el.scope, i, j)\"\r\n (sendNotification)=\"sendNotification($event)\" (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'VerticalLayout'\">\r\n <div *ngFor=\"let el of element.elements;let j = index\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"controls[i][j]\" [label]=\"el.label\"\r\n [value]=\"values[i][j]\" (setValue)=\"setValue($event, el.scope, i, j)\"\r\n (sendNotification)=\"sendNotification($event)\" (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n <ng-container *ngSwitchCase=\"'Table'\">\r\n <p-table [value]=\"getValue(el.scope)\" [columns]=\"getControl(el.scope).config.columns\">\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n <button pButton pRipple icon=\"pi pi-plus\" (click)=\"addObjectArray(el)\"\r\n class=\"p-button-success\"></button>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n {{col.label}}\r\n </th>\r\n <ng-container *ngIf=\"trx == 'c' || trx == 'u'\">\r\n <th></th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <ng-container *ngFor=\"let col of columns\" [ngSwitch]=\"col.type\">\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <td>{{rowData[col.col]}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'currency:USD'\">\r\n <td>{{rowData[col.col] | currency: 'USD'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date:yyyy-mm-dd'\">\r\n <td>{{rowData[col.col] | date: 'yyyy-mm-dd'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date:dd/mm/yyyy'\">\r\n <td>{{rowData[col.col] | date: 'dd/MM/yyyy'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'boolean'\">\r\n <td>\r\n <i *ngIf=\"rowData[col.col]\" class=\"pi pi-check\"></i>\r\n <i *ngIf=\"!rowData[col.col]\" class=\"pi pi-times\"></i>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"trx == 'c' || trx == 'u'\">\r\n <td>\r\n <button pButton pRipple type=\"button\" (click)=\"editRow(el, rowData, rowIndex)\" icon=\"pi pi-pencil\" class=\"p-button-rounded p-button-info mr-1\"></button>\r\n <button pButton pRipple type=\"button\" (click)=\"deleteRow(el, rowIndex)\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-danger\"></button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Control'\">\r\n <sf-control [control]=\"getControl(element.scope)\" [label]=\"element.label\"></sf-control>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"card-footer mt-2\" *ngIf=\"btnSubmit\">\r\n <button pButton pRipple type=\"button\" [icon]=\"btnSubmit.icon\" [label]=\"btnSubmit.label\"\r\n (click)=\"submit()\"></button>\r\n </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-sf-crud',\r\n template: `\r\n <p>\r\n sf-crud works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class SfCrudComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\n//=========================================================\r\n// PrimeNG Modules\r\n//=========================================================\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { AvatarGroupModule } from 'primeng/avatargroup';\r\nimport { AvatarModule } from 'primeng/avatar';\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { BlockUIModule } from 'primeng/blockui';\r\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CardModule } from 'primeng/card';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { CascadeSelectModule } from 'primeng/cascadeselect';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { ChipsModule } from 'primeng/chips';\r\nimport { ColorPickerModule } from 'primeng/colorpicker';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { ContextMenuModule } from 'primeng/contextmenu';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DividerModule } from 'primeng/divider';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { DynamicDialogModule } from 'primeng/dynamicdialog';\r\nimport { FieldsetModule } from 'primeng/fieldset';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { GalleriaModule } from 'primeng/galleria';\r\nimport { InplaceModule } from 'primeng/inplace';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { KnobModule } from 'primeng/knob';\r\nimport { ListboxModule } from 'primeng/listbox';\r\nimport { MegaMenuModule } from 'primeng/megamenu';\r\nimport { MenubarModule } from 'primeng/menubar';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { OrganizationChartModule } from 'primeng/organizationchart';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { PanelMenuModule } from 'primeng/panelmenu';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport { PasswordModule } from 'primeng/password';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { RatingModule } from 'primeng/rating';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { ScrollPanelModule } from 'primeng/scrollpanel';\r\nimport { ScrollTopModule } from 'primeng/scrolltop';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { SlideMenuModule } from 'primeng/slidemenu';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { SplitterModule } from 'primeng/splitter';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TabMenuModule } from 'primeng/tabmenu';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { TagModule } from 'primeng/tag';\r\nimport { TerminalModule } from 'primeng/terminal';\r\nimport { TieredMenuModule } from 'primeng/tieredmenu';\r\nimport { TimelineModule } from 'primeng/timeline';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { ToggleButtonModule } from 'primeng/togglebutton';\r\nimport { ToolbarModule } from 'primeng/toolbar';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { TreeModule } from 'primeng/tree';\r\n\r\n//=========================================================\r\n// Componets\r\n//=========================================================\r\nimport { SfCrudComponent } from './sf-crud.component';\r\nimport { TableroComponent } from './components/tablero/tablero.component';\r\nimport { RegistroComponent } from './components/registro/registro.component';\r\nimport { ControlComponent } from './components/control/control.component';\r\nimport { RegistroChildComponent } from './components/registro-child/registro-child.component';\r\nimport { RegistroDetalleComponent } from './components/registro-detalle/registro-detalle.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SfCrudComponent,\r\n TableroComponent,\r\n RegistroComponent,\r\n ControlComponent,\r\n RegistroChildComponent,\r\n RegistroDetalleComponent\r\n ],\r\n imports: [\r\n AccordionModule,\r\n AutoCompleteModule,\r\n AvatarGroupModule,\r\n AvatarModule,\r\n BadgeModule,\r\n BlockUIModule,\r\n BreadcrumbModule,\r\n ButtonModule,\r\n CalendarModule,\r\n CardModule,\r\n CarouselModule,\r\n CascadeSelectModule,\r\n CheckboxModule,\r\n ChipModule,\r\n ChipsModule,\r\n ColorPickerModule,\r\n ConfirmDialogModule,\r\n ConfirmPopupModule,\r\n ContextMenuModule,\r\n DialogModule,\r\n DividerModule,\r\n DropdownModule,\r\n DynamicDialogModule,\r\n FieldsetModule,\r\n FileUploadModule,\r\n FormsModule,\r\n GalleriaModule,\r\n HttpClientModule,\r\n InplaceModule,\r\n InputMaskModule,\r\n InputNumberModule,\r\n InputSwitchModule,\r\n InputTextareaModule,\r\n InputTextModule,\r\n KnobModule,\r\n ListboxModule,\r\n MegaMenuModule,\r\n MenubarModule,\r\n MenuModule,\r\n MessageModule,\r\n MessagesModule,\r\n MultiSelectModule,\r\n OrganizationChartModule,\r\n OverlayPanelModule,\r\n PanelMenuModule,\r\n PanelModule,\r\n PasswordModule,\r\n ProgressBarModule,\r\n RadioButtonModule,\r\n RatingModule,\r\n RippleModule,\r\n ScrollPanelModule,\r\n ScrollTopModule,\r\n SelectButtonModule,\r\n SidebarModule,\r\n SkeletonModule,\r\n SlideMenuModule,\r\n SliderModule,\r\n SplitButtonModule,\r\n SplitterModule,\r\n StepsModule,\r\n TableModule,\r\n TabMenuModule,\r\n TabViewModule,\r\n TagModule,\r\n TerminalModule,\r\n TieredMenuModule,\r\n TimelineModule,\r\n ToastModule,\r\n ToggleButtonModule,\r\n ToolbarModule,\r\n TooltipModule,\r\n TreeModule,\r\n ],\r\n exports: [\r\n SfCrudComponent,\r\n TableroComponent,\r\n RegistroComponent,\r\n ControlComponent\r\n ],\r\n entryComponents: [\r\n RegistroChildComponent\r\n ]\r\n})\r\nexport class SfCrudModule { }\r\n","/*\r\n * Public API Surface of sf-crud\r\n */\r\n\r\nexport * from './lib/components/tablero/tablero.component';\r\nexport * from './lib/components/registro/registro.component';\r\nexport * from './lib/components/control/control.component';\r\nexport * from './lib/sf-crud.component';\r\nexport * from './lib/sf-crud.module';\r\nexport * from './lib/sf-crud.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i0","Injectable","EventEmitter","jsonpath","_","i1.GeneralService","i2","i3","i4","i5","i6","i7","i8","i9","i10","i11","Component","Input","Output","moment","i12","i13","i14","i4.ControlComponent","MessageService","DialogService","Swal","i5.SfCrudService","DynamicDialogConfig","DynamicDialogRef","i8.ControlComponent","AccordionModule","AutoCompleteModule","AvatarGroupModule","AvatarModule","BadgeModule","BlockUIModule","BreadcrumbModule","ButtonModule","CalendarModule","CardModule","CarouselModule","CascadeSelectModule","CheckboxModule","ChipModule","ChipsModule","ColorPickerModule","ConfirmDialogModule","ConfirmPopupModule","ContextMenuModule","DialogModule","DividerModule","DropdownModule","DynamicDialogModule","FieldsetModule","FileUploadModule","FormsModule","GalleriaModule","HttpClientModule","InplaceModule","InputMaskModule","InputNumberModule","InputSwitchModule","InputTextareaModule","InputTextModule","KnobModule","ListboxModule","MegaMenuModule","MenubarModule","MenuModule","MessageModule","MessagesModule","MultiSelectModule","OrganizationChartModule","OverlayPanelModule","PanelMenuModule","PanelModule","PasswordModule","ProgressBarModule","RadioButtonModule","RatingModule","RippleModule","ScrollPanelModule","ScrollTopModule","SelectButtonModule","SidebarModule","SkeletonModule","SlideMenuModule","SliderModule","SplitButtonModule","SplitterModule","StepsModule","TableModule","TabMenuModule","TabViewModule","TagModule","TerminalModule","TieredMenuModule","TimelineModule","ToastModule","ToggleButtonModule","ToolbarModule","TooltipModule","TreeModule","NgModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sf-crud.umd.js","sources":["../../../projects/sf-crud/src/lib/shared/models/shema.model.ts","../../../projects/sf-crud/src/lib/shared/models/crud-config.model.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/sf-crud/src/lib/shared/services/general.service.ts","../../../projects/sf-crud/src/lib/components/tablero/tablero.component.ts","../../../projects/sf-crud/src/lib/components/tablero/tablero.component.html","../../../projects/sf-crud/src/lib/components/control/control.component.ts","../../../projects/sf-crud/src/lib/components/control/control.component.html","../../../projects/sf-crud/src/lib/components/registro-detalle/registro-detalle.component.ts","../../../projects/sf-crud/src/lib/components/registro-detalle/registro-detalle.component.html","../../../projects/sf-crud/src/lib/components/registro-child/registro-child.component.ts","../../../projects/sf-crud/src/lib/components/registro-child/registro-child.component.html","../../../projects/sf-crud/src/lib/sf-crud.service.ts","../../../projects/sf-crud/src/lib/components/registro/registro.component.ts","../../../projects/sf-crud/src/lib/components/registro/registro.component.html","../../../projects/sf-crud/src/lib/sf-crud.component.ts","../../../projects/sf-crud/src/lib/sf-crud.module.ts","../../../projects/sf-crud/src/public-api.ts","../../../projects/sf-crud/src/sf-crud.ts"],"sourcesContent":["export class Shema {\r\n type: string = '';\r\n subtype: string = '';\r\n config?: any;\r\n properties?: any;\r\n enum?: any[];\r\n default?:any;\r\n validations?: any\r\n}\r\n\r\n","import { Message } from \"primeng/api\";\r\nimport { Shema } from \"./shema.model\";\r\n\r\nexport class CrudConfig {\r\n idEntidad: string = '';\r\n tablero: ConfigTablero = new ConfigTablero();\r\n uiEsquema: any;\r\n esquema: Shema = new Shema();\r\n registro: ConfigRegistro = new ConfigRegistro();\r\n}\r\n\r\n\r\nexport class ConfigTablero {\r\n columns: any[] = [];\r\n endpoint: string = '';\r\n method: string = '';\r\n server: string = '';\r\n filters: string[] = [];\r\n keys: { key: string, scope?: string }[] = [];\r\n}\r\n\r\nexport class ConfigRegistro {\r\n operations: Operations[] = [];\r\n btnBack: string = '';\r\n label?: string;\r\n}\r\n\r\nexport class Operations {\r\n type: string = '';\r\n server: string = '';\r\n endpoint: string = ''\r\n method: string = '';\r\n validations: Validations = new Validations();\r\n redirect?: string;\r\n errorChecking?: RequestChecking;\r\n answerChecking?: RequestChecking;\r\n keys?: Key[]\r\n}\r\n\r\nexport class Key{\r\n key!: string;\r\n scope!: string;\r\n data?: string;\r\n}\r\n\r\nexport class Validations {\r\n type: string = '';\r\n required: { field: string, message: string }[] = [];\r\n server: string = '';\r\n endpoint: string = '';\r\n operations: any;\r\n}\r\n\r\nexport class RequestChecking {\r\n constructor(\r\n public dynamics: Message,\r\n public statics: Message,\r\n public swal: boolean,\r\n public redirect: string\r\n ){}\r\n}\r\n\r\n\r\n\r\n\r\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CrudConfig } from '../models/crud-config.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GeneralService {\r\n\r\n public generales: string = '';\r\n public jsonConfig: any;\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) {\r\n this.jsonConfig = JSON.parse(sessionStorage.getItem('ConfigJSON') || '{}');\r\n this.generales = this.jsonConfig?.ServidorGenerales;\r\n }\r\n\r\n async getCrudByEntidad(idKatios: string, idEntidad: string) {\r\n return this.http.get(`${this.generales}crud/${idKatios}/${idEntidad}`)\r\n .toPromise()\r\n .then((res: any) => <CrudConfig>res.data)\r\n .then(data => { return data })\r\n }\r\n\r\n async genericRequest(method: string, servidor: string, endpoint: string, data?: any) {\r\n switch (method) {\r\n case 'GET':\r\n return this.http.get(`${this.jsonConfig[servidor]}${endpoint}`)\r\n .toPromise();\r\n case 'POST':\r\n return this.http.post(`${this.jsonConfig[servidor]}${endpoint}`, data)\r\n .toPromise();\r\n case 'PUT':\r\n return this.http.put(`${this.jsonConfig[servidor]}${endpoint}`, data)\r\n .toPromise();\r\n case 'DELETE':\r\n return this.http.delete(`${this.jsonConfig[servidor]}${endpoint}`, data)\r\n .toPromise();\r\n default:\r\n return\r\n }\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ConfigTablero, CrudConfig } from '../../shared/models/crud-config.model';\r\nimport { GeneralService } from '../../shared/services/general.service';\r\nimport { MenuItem } from 'primeng/api';\r\nimport { Router } from '@angular/router';\r\nimport * as _ from \"lodash\";\r\nimport * as jsonpath from 'jsonpath';\r\n\r\n@Component({\r\n selector: 'sf-crudtablero',\r\n templateUrl: './tablero.component.html'\r\n})\r\nexport class TableroComponent implements OnInit {\r\n\r\n @Input() opciones: any[] = [];\r\n @Input() idEntidad: string = '';\r\n @Input() idKatios: string = '';\r\n @Input() user: any;\r\n @Input() dataExt: any;\r\n @Output() onSelectAction: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public items: MenuItem[] = [];\r\n public crudConfig: CrudConfig = new CrudConfig();\r\n public enProceso: boolean = false;\r\n public data: any[] = [];\r\n public btn: { create: any, read: any, update: any, delete: any } = { create: undefined, read: undefined, update: undefined, delete: undefined }\r\n public itemSelected: any;\r\n\r\n constructor(\r\n private generalService: GeneralService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadConfigCrud()\r\n }\r\n\r\n loadConfigCrud() {\r\n this.enProceso = true;\r\n this.generalService.getCrudByEntidad(this.idKatios, this.idEntidad)\r\n .then(res => {\r\n this.crudConfig = res;\r\n this.getInfoTablero(this.crudConfig.tablero);\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n this.enProceso = false;\r\n })\r\n }\r\n\r\n getInfoTablero(configTablero: ConfigTablero) {\r\n this.generalService.genericRequest(configTablero.method, configTablero.server, this.aplyKeys(configTablero.keys, configTablero.endpoint, this.dataExt))\r\n .then((res: any) => {\r\n let aux;\r\n if (!Array.isArray(res)) aux = res.data; else aux = res;\r\n this.generateData(aux);\r\n this.loadOptions();\r\n this.enProceso = false;\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n this.enProceso = false;\r\n })\r\n }\r\n\r\n generateData(data: any[]) {\r\n data.forEach((item: any) => {\r\n let newItem: any = {};\r\n this.crudConfig.tablero.columns.forEach(col => {\r\n newItem[col.col] = this.getValue(col.col, item)\r\n })\r\n this.data.push(newItem)\r\n })\r\n console.log(this.data)\r\n }\r\n getValue(path: string, item: any): any {\r\n if (path.includes(\".\")) return jsonpath.query(item, path)[0]\r\n return item[path]\r\n }\r\n\r\n loadOptions() {\r\n this.items = [];\r\n this.btn.create = this.opciones.find(x => x.label == 'Crear');\r\n this.opciones.filter((opc: any) => opc.valor.action).forEach(opc => {\r\n this.items.push({ label: opc.label, icon: opc.icon, command: () => this.execAction(opc.valor) })\r\n })\r\n }\r\n\r\n redirect(accion: string, data?: any) {\r\n switch (accion) {\r\n case 'create':\r\n this.router.navigateByUrl(this.btn.create?.valor?.redirect || '');\r\n break;\r\n case 'read':\r\n this.router.navigateByUrl(this.aplyKeys(this.crudConfig.tablero.keys, this.btn.read.valor.redirect, data));\r\n break\r\n case 'update':\r\n this.router.navigateByUrl(this.aplyKeys(this.crudConfig.tablero.keys, this.btn.update.valor.redirect, data));\r\n break\r\n case 'delete':\r\n this.router.navigateByUrl(this.aplyKeys(this.crudConfig.tablero.keys, this.btn.delete.valor.redirect, data));\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n\r\n aplyKeys(keys: { key: string, scope?: string }[], endpoint: string, data?: any) {\r\n keys.forEach(key => {\r\n switch (key.key) {\r\n case '@ndoc':\r\n endpoint = endpoint.replace(key.key, this.user?.UsuarioSistema?.NDOC || '')\r\n break;\r\n case '@tdoc':\r\n endpoint = endpoint.replace(key.key, this.user?.UsuarioSistema?.TDOC || '')\r\n break;\r\n case '@idKatios':\r\n endpoint = endpoint.replace(key.key, this.idKatios)\r\n break;\r\n default:\r\n if (endpoint.includes(key.key) && data) endpoint = endpoint.replace(key.key, jsonpath.query(data, key?.scope || '')[0]);\r\n break;\r\n }\r\n });\r\n return endpoint;\r\n }\r\n\r\n execAction(params: any) {\r\n switch (params.action) {\r\n case 'redirect':\r\n this.router.navigateByUrl(this.aplyKeys(this.crudConfig.tablero.keys, params.link, this.itemSelected));\r\n break;\r\n default:\r\n this.onSelectAction.emit({ data: _.cloneDeep(this.itemSelected), params })\r\n break;\r\n }\r\n }\r\n}\r\n","<p-blockUI [blocked]=\"enProceso\">\r\n <i class=\"pi pi-cog pi-spin\" style=\"font-size: 50px\"></i>\r\n</p-blockUI>\r\n\r\n<div class=\"card\" *ngIf=\"!enProceso\">\r\n <p-toolbar styleClass=\"mb-4 gap-2\">\r\n <ng-template pTemplate=\"left\">\r\n <button *ngIf=\"btn.create\" pButton pRipple [label]=\"btn.create.label\" [icon]=\"btn.create.icon\"\r\n class=\"p-button-success mr-2\" (click)=\"redirect('create')\"></button>\r\n </ng-template>\r\n </p-toolbar>\r\n <p-table #dt [columns]=\"crudConfig.tablero.columns\" [value]=\"data\" [rowHover]=\"true\" [rows]=\"10\" [paginator]=\"true\"\r\n [globalFilterFields]=\"crudConfig.tablero?.filters || []\" [tableStyle]=\"{'min-width': '75rem'}\"\r\n currentPageReportTemplate=\"Registro {first} al {last} de {totalRecords}\" [showCurrentPageReport]=\"true\">\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n <h5 class=\"m-0\">{{crudConfig.tablero?.label || idEntidad}}</h5>\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\r\n placeholder=\"Buscar...\" />\r\n </span>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n {{col.label}}\r\n </th>\r\n <th>Acción</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\r\n <tr>\r\n <ng-container *ngFor=\"let col of columns\" [ngSwitch]=\"col.type\">\r\n <td *ngSwitchCase=\"'text'\">{{rowData[col.col]}}</td>\r\n <td *ngSwitchCase=\"'date:yyyy-mm-dd'\">{{rowData[col.col] | date: 'yyyy-MM-dd'}}</td>\r\n <td *ngSwitchCase=\"'currency:USD'\">{{rowData[col.col] | currency: 'USD'}}</td>\r\n </ng-container>\r\n <td>\r\n <p-splitButton icon=\"pi pi-align-justify\" [model]=\"items\" appendTo=\"body\"\r\n (onDropdownClick)=\"itemSelected = rowData\"></p-splitButton>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { GeneralService } from '../../shared/services/general.service';\r\nimport { Message } from 'primeng/api';\r\nimport { Shema } from '../../shared/models/shema.model';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'sf-control',\r\n templateUrl: './control.component.html'\r\n})\r\nexport class ControlComponent implements OnInit {\r\n\r\n @Input() control: Shema = new Shema();\r\n @Input() label: string = '';\r\n @Input() value: any;\r\n @Input() appendTo: any;\r\n @Output() setValue: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() sendNotification: EventEmitter<Message> = new EventEmitter<Message>();\r\n @Output() sendObject: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public isLoading: boolean = false;\r\n public dataFromService: any[] = [];\r\n public uploadedFiles: any[] = [];\r\n public displayAdd: boolean = false;\r\n public tempValue: any = {}\r\n\r\n constructor(\r\n private generalService: GeneralService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.control?.config && this.control.subtype == 'dropdown') this.loadDataFromService();\r\n if (this.value && this.control.subtype == 'autocomplete') this.setDefaultValue();\r\n if (this.value && this.control.type == 'date') this.setDate();\r\n }\r\n\r\n sendValue() {\r\n this.setValue.emit(this.value);\r\n }\r\n\r\n sendValueFromObject(event: any) {\r\n switch (typeof (this.control.config.optionValue)) {\r\n case 'object':\r\n this.control.config.optionValue.forEach((op: any) => op['value'] = event[op.key])\r\n this.setValue.emit(this.control.config.optionValue);\r\n break;\r\n default:\r\n this.setValue.emit(event[this.control.config.optionValue]);\r\n break;\r\n }\r\n }\r\n\r\n validateValue(type: string) {\r\n switch (type) {\r\n case 'email':\r\n let regex: RegExp = new RegExp(/([\\w\\.\\-_]+)?\\w+@[\\w-_]+(\\.\\w+){1,}/igm);\r\n if (regex.test(this.value)) this.sendValue();\r\n else {\r\n this.value = null;\r\n this.sendValue()\r\n this.sendNotification.emit({ severity: 'warn', detail: 'El correo no es válido' })\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n loadDataFromService() {\r\n this.isLoading = true;\r\n this.dataFromService = [];\r\n this.generalService.genericRequest(this.control.config.method, this.control.config.server, this.control.config.endpoint)\r\n .then((res: any) => {\r\n this.dataFromService = res.data;\r\n this.isLoading = false;\r\n })\r\n }\r\n\r\n loadDataFromControlBusquedaService(event: any) {\r\n this.isLoading = true;\r\n this.generalService.genericRequest(this.control.config.method, this.control.config.server, this.control.config.endpoint.replace('@query', event?.query || ''))\r\n .then((res: any) => {\r\n this.dataFromService = res.data;\r\n this.isLoading = false;\r\n })\r\n }\r\n\r\n onUpload(event: any) {\r\n let file = event.files[0];\r\n let formData = new FormData();\r\n let path = 'Imagenes/CRUD/temp';\r\n formData.append('uploadFile', file);\r\n formData.append('Ruta', `/${path}`);\r\n this.isLoading = true;\r\n this.generalService.genericRequest(this.control.config.method, this.control.config.server, this.control.config.endpoint, formData)\r\n .then(() => {\r\n this.sendNotification.emit({ severity: 'info', detail: `Archivo cargado correctamente!` })\r\n this.uploadedFiles.push(file);\r\n this.isLoading = false;\r\n this.value = `${this.generalService.jsonConfig.Server}${path}/${file.name}`\r\n this.sendValue()\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n this.isLoading = false\r\n this.sendNotification.emit({ severity: 'error', detail: `Error al cargar el archivo!` })\r\n })\r\n }\r\n\r\n refresData() {\r\n if (this.control?.config?.endpointtemp) this.loadDataFromService();\r\n }\r\n\r\n setDefaultValue(){\r\n Object.defineProperty(this.tempValue, this.control.config?.optionLabel, { value: this.value, writable: true, enumerable: true, configurable: true })\r\n }\r\n\r\n searchValue(value: string){\r\n let endpoint = this.control.config.endpoint.replace('@id', value)\r\n this.generalService.genericRequest(this.control.config.method, this.control.config.server, endpoint)\r\n .then((res: any) => {\r\n if (res?.data?.length > 0){\r\n this.sendObject.emit({ data: res.data[0], optionValue: this.control.config.optionValue } )\r\n }else{\r\n this.sendNotification.emit({severity: 'warn', detail:`Valor no encontrado.`})\r\n this.sendObject.emit({ data: null, optionValue: this.control.config.optionValue } )\r\n }\r\n })\r\n .catch(err=> {\r\n console.log(err)\r\n this.sendNotification.emit({severity: 'error', detail:`Error al consumir el servicio.`})\r\n })\r\n }\r\n\r\n setDate(){\r\n let format = (this.control as any).formatMoment\r\n \r\n if(format && this.value && !(this.value instanceof Date)){\r\n this.value = moment(this.value, format).toDate();\r\n this.sendValue()\r\n\r\n } \r\n }\r\n}\r\n","<ng-container [ngSwitch]=\"control.type\" #cc>\r\n <label [for]=\"label\" style=\"width: -webkit-fill-available;\">{{label}}</label>\r\n <ng-container *ngSwitchCase=\"'string'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'input'\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\"\r\n [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <textarea [rows]=\"control?.rows ? control.rows : 4\" \r\n [(ngModel)]=\"value\" (focusout)=\"sendValue()\" pInputTextarea \r\n [disabled]=\"control?.disabled || false\" [autoResize]=\"control?.autoresize || false\"></textarea>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'password'\">\r\n <input pInputText type=\"password\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\"\r\n [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'email'\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"value\" placeholder=\"email@example.com\"\r\n (focusout)=\"validateValue('email')\" [disabled]=\"control?.disabled || false\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <p-inputMask mask=\"(999) 999-9999\" [(ngModel)]=\"value\" placeholder=\"(999) 999-9999\"\r\n (focusout)=\"sendValue()\" [disabled]=\"control?.disabled || false\" [unmask]=\"control.unmask || false\"></p-inputMask>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'enum'\">\r\n <p-dropdown [options]=\"control.enum\" [(ngModel)]=\"value\" (onChange)=\"sendValue()\" appendTo=\"body\"\r\n placeholder=\"Seleccione una opción\" [disabled]=\"control?.disabled || false\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <p-dropdown [lazy]=\"isLoading\" [options]=\"dataFromService\" [(ngModel)]=\"value\" (onChange)=\"sendValue()\"\r\n [optionLabel]=\"control.config.optionLabel\"\r\n [optionValue]=\"control?.field || control.config.optionValue\" (onClick)=\"refresData()\"\r\n appendTo=\"body\" placeholder=\"Seleccione una opción\"\r\n [disabled]=\"control?.disabled || false\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown:replace'\">\r\n <p-dropdown [lazy]=\"isLoading\" [options]=\"dataFromService\"\r\n (onChange)=\"sendValueFromObject($event)\" [optionLabel]=\"control.config.optionLabel\"\r\n (onClick)=\"refresData()\" appendTo=\"body\" placeholder=\"Seleccione una opción\"\r\n [disabled]=\"control?.disabled || false\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'autocomplete'\">\r\n <p-autoComplete [showEmptyMessage]=\"true\" [suggestions]=\"dataFromService\" appendTo=\"body\"\r\n (completeMethod)=\"loadDataFromControlBusquedaService($event)\" [field]=\"control.field\"\r\n [minLength]=\"1\" (onSelect)=\"sendValueFromObject($event)\" [(ngModel)]=\"tempValue\"\r\n [disabled]=\"control?.disabled || false\"></p-autoComplete>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'input:search'\">\r\n <div class=\"p-inputgroup\">\r\n <input type=\"text\" pInputText [(ngModel)]=\"value\" (focusout)=\"sendValue()\" />\r\n <button type=\"button\" pButton icon=\"pi pi-search\" (click)=\"searchValue(value)\"></button>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n <p-calendar [(ngModel)]=\"value\" (onSelect)=\"sendValue()\" (onBlur)=\"sendValue()\" [monthNavigator]=\"true\"\r\n [yearNavigator]=\"true\" yearRange=\"1900:2035\" [dateFormat]=\"control?.format || 'yy-mm-dd'\"\r\n appendTo=\"body\" [disabled]=\"control?.disabled || false\" [showOnFocus]=\"!control?.hide\"\r\n [placeholder]=\"control?.placeholder || 'aaaa-mm-dd'\" [touchUI]=\"control?.touchUI || false\"\r\n [showIcon]=\"control?.showIcon || false\"></p-calendar>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'numeric'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'currency'\">\r\n <p-inputNumber [(ngModel)]=\"value\" mode=\"currency\" [minFractionDigits]=\"control?.minFractionDigits || 0\"\r\n [min]=\"control?.min || null\" [max]=\"control?.max || null\" (focusout)=\"sendValue()\" [locale]=\"control?.locale || undefined\"\r\n [currency]=\"control?.currency || 'USD'\" [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'decimal'\">\r\n <p-inputNumber [(ngModel)]=\"value\" mode=\"decimal\" (focusout)=\"sendValue()\" [min]=\"control?.min || null\"\r\n [max]=\"control?.max || null\" [minFractionDigits]=\"control?.minFractionDigits || 0\" [locale]=\"control?.locale || undefined\"\r\n [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'percentage'\">\r\n <p-inputNumber [(ngModel)]=\"value\" suffix=\" %\" (focusout)=\"sendValue()\" [min]=\"control?.min || null\"\r\n [max]=\"control?.max || null\" [minFractionDigits]=\"control?.minFractionDigits || 2\" [locale]=\"control?.locale || undefined\"\r\n [disabled]=\"control?.disabled || false\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'decimal:search'\">\r\n <div class=\"p-inputgroup\">\r\n <input type=\"number\" pInputText [(ngModel)]=\"value\" (focusout)=\"sendValue()\" />\r\n <button type=\"button\" pButton icon=\"pi pi-search\" (click)=\"searchValue(value)\"></button>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'file'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'filetmp'\">\r\n <p-fileUpload [accept]=\"control.config.accept\" [customUpload]=\"true\" (uploadHandler)=\"onUpload($event)\"\r\n [maxFileSize]=\"control.config?.maxFileSize || null\" fileLimit=\"1\">\r\n <ng-template pTemplate=\"content\">\r\n <ul *ngIf=\"uploadedFiles.length\">\r\n <li *ngFor=\"let file of uploadedFiles\">{{file.name}} - {{file.size}} bytes</li>\r\n </ul>\r\n </ng-template>\r\n </p-fileUpload>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'boolean'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <p-inputSwitch [(ngModel)]=\"value\" (onChange)=\"sendValue()\" [id]=\"label\"></p-inputSwitch>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>","import { Component, OnInit } from '@angular/core';\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { Shema } from '../../shared/models/shema.model';\r\nimport * as jsonpath from 'jsonpath';\r\nimport { Message, MessageService } from 'primeng/api';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'lib-registro-detalle',\r\n templateUrl: './registro-detalle.component.html',\r\n styleUrls: ['./registro-detalle.component.css']\r\n})\r\nexport class RegistroDetalleComponent implements OnInit {\r\n\r\n public uiEsquema: any;\r\n public esquema: Shema = new Shema();\r\n public data: any;\r\n\r\n constructor(\r\n public ref: DynamicDialogRef,\r\n public config: DynamicDialogConfig,\r\n private messageService: MessageService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.uiEsquema = this.config.data.uiEsquema[0];\r\n this.esquema = this.config.data.esquema;\r\n this.data = this.config.data?.data;\r\n if (!this.data) {\r\n this.data = this.createObject(this.esquema);\r\n jsonpath.value(this.data, '$..id', this.config.data.id);\r\n }\r\n }\r\n\r\n getControl(scope: string) {\r\n return jsonpath.query(this.esquema, scope)[0];\r\n }\r\n\r\n getValue(scope: string) {\r\n return jsonpath.query(this.data, scope.replace('.properties', ''))[0];\r\n }\r\n\r\n setValue(value: any, scope: string) {\r\n switch (typeof (value)) {\r\n case 'object':\r\n if (Array.isArray(value)) value.forEach((val: any) => jsonpath.value(this.data, val.scope.replace('.properties', ''), val.value))\r\n else jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n break;\r\n default:\r\n jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n break;\r\n }\r\n this.applyValuesOnEvent('onChange', this.esquema, scope.replace('$..properties.', ''));\r\n }\r\n\r\n createObject(esquema: Shema) {\r\n let object = {};\r\n const resultArray: any[] = [];\r\n switch (esquema.type) {\r\n case 'numeric':\r\n return esquema?.default || 0;\r\n case 'string':\r\n case 'date':\r\n return esquema?.default ? this.setDefaultValue(esquema.default) : null;\r\n case 'boolean':\r\n return esquema?.default || false;\r\n case 'file':\r\n return null;\r\n case 'array':\r\n case 'object':\r\n for (const key in esquema?.properties) {\r\n Object.defineProperty(object, key, { value: this.createObject(esquema?.properties[key]), writable: true, enumerable: true, configurable: true })\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return object;\r\n }\r\n\r\n setDefaultValue(value: string) {\r\n let data = null;\r\n let uactivo;\r\n switch (value) {\r\n case '@uactivo':\r\n uactivo = JSON.parse(localStorage.getItem('oSessionTFM') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = `${uactivo.UsuarioSistema.TDOC}-${uactivo.UsuarioSistema.NDOC}`\r\n break;\r\n case '@tdocactivo':\r\n uactivo = JSON.parse(sessionStorage.getItem('usrSesion') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = uactivo.UsuarioSistema.TDOC\r\n break;\r\n case '@ndocactivo':\r\n uactivo = JSON.parse(sessionStorage.getItem('usrSesion') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = uactivo.UsuarioSistema.NDOC\r\n break;\r\n case '@hoy':\r\n data = new Date();\r\n break;\r\n default:\r\n data = value;\r\n break;\r\n }\r\n return data\r\n }\r\n\r\n submit() {\r\n this.applyValuesOnEvent('onSubmit', this.esquema);\r\n if (!this.validateData()) return;\r\n this.ref.close(this.data);\r\n }\r\n\r\n cancel() {\r\n this.applyValuesOnEvent('onCancel', this.esquema);\r\n this.ref.close();\r\n }\r\n\r\n validateData() {\r\n if (this.esquema.validations.type == 'local') return this.validateDataLocal();\r\n return true;\r\n }\r\n\r\n validateDataLocal() {\r\n let err: string[] = []\r\n this.esquema.validations.required.forEach((x: any) => {\r\n if (!jsonpath.query(this.data, x.field)[0]) err.push(x.message);\r\n })\r\n if (err.length != 0) this.messageService.add({ severity: 'warn', detail: err.join('. ') })\r\n return err.length == 0;\r\n }\r\n\r\n applyValuesOnEvent(event: string, esquema: Shema, scope?: string) {\r\n if (scope) {\r\n if (esquema.properties[scope][event]) {\r\n esquema.properties[scope][event].forEach((value: any) => {\r\n this.setValueEvent(this.data, value)\r\n })\r\n }\r\n } else {\r\n for (const key in esquema.properties) {\r\n if (esquema.properties[key][event]) {\r\n esquema.properties[key][event].forEach((value: any) => {\r\n this.setValueEvent(this.data, value)\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n setValueEvent(data: any, params: { op: string, scope: string[], key: any, separator: string }) {\r\n let value;\r\n let date = moment(new Date());\r\n switch (params.op) {\r\n case 'sum':\r\n value = jsonpath.query(data, params?.scope[0]).reduce((acc, cur) => acc += params?.key ? cur[params.key] : cur, 0)\r\n break;\r\n case 'concat':\r\n let array: string[] = []\r\n params?.key?.reduce((acc: any[], cur: string) => {\r\n array.push(jsonpath.query(data, cur)[0])\r\n }, [])\r\n if (params?.separator) jsonpath.value(data, params.scope[0], array.join(params?.separator || ' '))\r\n break;\r\n case 'enable':\r\n jsonpath.value(this.esquema, params.scope[0], false)\r\n break;\r\n case 'disabled':\r\n jsonpath.value(this.esquema, params.scope[0], true)\r\n break;\r\n case 'replace:endpoint':\r\n jsonpath.value(this.esquema, params.scope[0], jsonpath.query(this.esquema, params.scope[1])[0].replace(params.scope[2], jsonpath.query(data, `$..${params.key}`)))\r\n break;\r\n case 'setNull':\r\n jsonpath.value(this.data, `$.${params.key}`, null);\r\n break;\r\n case 'datediff:years':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'years'))\r\n break;\r\n case 'datediff:months':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'months'))\r\n break;\r\n case 'datediff:weeks':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'weeks'))\r\n break;\r\n case 'datediff:days':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'days'))\r\n break;\r\n default:\r\n break;\r\n }\r\n return value;\r\n }\r\n\r\n sendNotification(message: Message) {\r\n this.messageService.add(message)\r\n }\r\n\r\n applyValuesFromObject(event: any) {\r\n if (event.data) event.optionValue.forEach((value: any) => jsonpath.value(this.data, value.scope.replace('.properties',''), this.aplyFormatValue(value.scope, event.data[value.key])));\r\n else event.optionValue.forEach((value: any) => jsonpath.value(this.data, value.scope.replace('.properties',''), null));\r\n }\r\n aplyFormatValue(scope: string, value: any) {\r\n let control = jsonpath.query(this.esquema, scope)[0]\r\n let resp;\r\n switch (control.type) {\r\n case 'date':\r\n resp = new Date(`${value}`)\r\n break;\r\n case 'numeric':\r\n resp = +value\r\n break;\r\n default:\r\n resp = value\r\n break;\r\n }\r\n return resp\r\n }\r\n}","<p-toast></p-toast>\r\n<div *ngFor=\"let element of uiEsquema.elements\" [class]=\"element?.class\" #a>\r\n <ng-container [ngSwitch]=\"element.type\">\r\n <div *ngSwitchCase=\"'Label'\" [style]=\"element?.style\">\r\n {{element?.label}}\r\n </div>\r\n <ng-container *ngSwitchCase=\"'HorizontalLayout'\">\r\n <div *ngFor=\"let el of element.elements\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"getControl(el.scope)\" [label]=\"el.label\"\r\n [value]=\"getValue(el.scope)\" (setValue)=\"setValue($event, el.scope)\"\r\n (sendNotification)=\"sendNotification($event)\" (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'VerticalLayout'\">\r\n <div *ngFor=\"let el of element.elements\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"getControl(el.scope)\" [label]=\"el.label\"\r\n [value]=\"getValue(el.scope)\" (setValue)=\"setValue($event, el.scope)\"\r\n (sendNotification)=\"sendNotification($event)\" (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Control'\">\r\n <sf-control [control]=\"getControl(element.scope)\" [label]=\"element.label\"></sf-control>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n<div class=\"card-footer mt-2\">\r\n <button pButton pRipple type=\"button\" label=\"Guardar\" (click)=\"submit()\" class=\"mr-2\"></button>\r\n <button pButton pRipple type=\"button\" label=\"Cancelar\" (click)=\"cancel()\" class=\"p-button-danger\"></button>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { DialogService,DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { Shema } from '../../shared/models/shema.model';\r\nimport * as jsonpath from 'jsonpath';\r\nimport { Message, MessageService } from 'primeng/api';\r\nimport * as moment from 'moment';\r\nimport { RegistroDetalleComponent } from '../registro-detalle/registro-detalle.component';\r\n\r\n@Component({\r\n selector: 'lib-registro-child',\r\n templateUrl: './registro-child.component.html',\r\n providers: [MessageService,DialogService]\r\n})\r\nexport class RegistroChildComponent implements OnInit {\r\n\r\n public uiEsquema: any;\r\n public esquema: Shema = new Shema();\r\n public data: any;\r\n public dialogRef?: DynamicDialogRef;\r\n public trx: string = 'c';\r\n values!: any[][];\r\n controls!: any[][];\r\n controlsLoaded = false;\r\n\r\n constructor(\r\n public ref: DynamicDialogRef,\r\n public config: DynamicDialogConfig,\r\n private messageService: MessageService,\r\n private dialogService: DialogService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.uiEsquema = this.config.data.uiEsquema[0];\r\n this.esquema = this.config.data.esquema;\r\n this.data = this.config.data?.data;\r\n if (!this.data) {\r\n this.data = this.createObject(this.esquema);\r\n jsonpath.value(this.data, '$..id', this.config.data.id);\r\n }\r\n this.buildControls()\r\n }\r\n\r\n buildControls(){\r\n this.controlsLoaded = false;\r\n this.controls = []\r\n this.values = []\r\n this.uiEsquema.elements.forEach((layout: any, i: number) => {\r\n this.controls.push([])\r\n this.values.push([])\r\n\r\n layout.elements?.forEach((element: any, j: number) => {\r\n if (!element.scope) console.log(\"CONFIGURAR BIEN \" + element)\r\n this.controls[i].push(this.getControl(element.scope))\r\n this.controls[i][j].scope = element.scope\r\n this.values[i].push(this.getValue(element.scope))\r\n });\r\n });\r\n this.controlsLoaded = true;\r\n }\r\n\r\n getControl(scope: string) {\r\n return jsonpath.query(this.esquema, scope)[0];\r\n }\r\n\r\n getValue(scope: string) {\r\n return jsonpath.query(this.data, scope.replace('.properties', ''))[0];\r\n }\r\n\r\n setValue(value: any, scope: string, i: number, j: number) {\r\n switch (typeof (value)) {\r\n case 'object':\r\n if (Array.isArray(value)) value.forEach((val: any) => {\r\n this.setValueByScope(val.scope, val.value)\r\n jsonpath.value(this.data, val.scope.replace('.properties', ''), val.value)\r\n })\r\n else {\r\n this.values[i][j] = value;\r\n jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n }\r\n break;\r\n default:\r\n this.values[i][j] = value;\r\n jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n break;\r\n }\r\n this.applyValuesOnEvent('onChange', this.esquema, scope.replace('$..properties.', ''));\r\n }\r\n\r\n createObject(esquema: Shema) {\r\n let object = {};\r\n const resultArray: any[] = [];\r\n switch (esquema.type) {\r\n case 'numeric':\r\n return esquema?.default || 0;\r\n case 'string':\r\n case 'date':\r\n return esquema?.default ? this.setDefaultValue(esquema.default) : null;\r\n case 'boolean':\r\n return esquema?.default || false;\r\n case 'file':\r\n return null;\r\n case 'array':\r\n case 'object':\r\n for (const key in esquema?.properties) {\r\n Object.defineProperty(object, key, { value: this.createObjectChild(esquema?.properties[key]), writable: true, enumerable: true, configurable: true })\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return object;\r\n }\r\n\r\n createObjectChild(esquema: Shema) {\r\n let object = {};\r\n const resultArray: any[] = [];\r\n switch (esquema.type) {\r\n case 'numeric':\r\n return esquema?.default || 0;\r\n case 'string':\r\n case 'date':\r\n return esquema?.default ? this.setDefaultValue(esquema.default) : null;\r\n case 'boolean':\r\n return esquema?.default || false;\r\n case 'file':\r\n return null;\r\n case 'array':\r\n return [];\r\n case 'object':\r\n for (const key in esquema?.properties) {\r\n Object.defineProperty(object, key, { value: this.createObject(esquema?.properties[key]), writable: true, enumerable: true, configurable: true })\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return object;\r\n }\r\n\r\n setDefaultValue(value: string) {\r\n let data = null;\r\n let uactivo;\r\n switch (value) {\r\n case '@uactivo':\r\n uactivo = JSON.parse(localStorage.getItem('oSessionTFM') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = `${uactivo.UsuarioSistema.TDOC}-${uactivo.UsuarioSistema.NDOC}`\r\n break;\r\n case '@tdocactivo':\r\n uactivo = JSON.parse(sessionStorage.getItem('usrSesion') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = uactivo.UsuarioSistema.TDOC\r\n break;\r\n case '@ndocactivo':\r\n uactivo = JSON.parse(sessionStorage.getItem('usrSesion') || '{}')\r\n if (!uactivo) console.log('Validar configuracion de sesion')\r\n else data = uactivo.UsuarioSistema.NDOC\r\n break;\r\n case '@hoy':\r\n data = new Date();\r\n break;\r\n default:\r\n data = value;\r\n break;\r\n }\r\n return data\r\n }\r\n\r\n submit() {\r\n this.applyValuesOnEvent('onSubmit', this.esquema);\r\n if (!this.validateData()) return;\r\n this.ref.close(this.data);\r\n }\r\n\r\n cancel() {\r\n this.applyValuesOnEvent('onCancel', this.esquema);\r\n this.ref.close();\r\n }\r\n\r\n validateData() {\r\n if (this.esquema.validations.type == 'local') return this.validateDataLocal();\r\n return true;\r\n }\r\n\r\n validateDataLocal() {\r\n let err: string[] = []\r\n this.esquema.validations.required.forEach((x: any) => {\r\n if (!jsonpath.query(this.data, x.field)[0]) err.push(x.message);\r\n })\r\n if (err.length != 0) this.messageService.add({ severity: 'warn', detail: err.join('. ') })\r\n return err.length == 0;\r\n }\r\n\r\n applyValuesOnEvent(event: string, esquema: Shema, scope?: string) {\r\n if (scope) {\r\n if (esquema.properties[scope][event]) {\r\n esquema.properties[scope][event].forEach((value: any) => {\r\n this.setValueEvent(this.data, value)\r\n })\r\n }\r\n } else {\r\n for (const key in esquema.properties) {\r\n if (esquema.properties[key][event]) {\r\n esquema.properties[key][event].forEach((value: any) => {\r\n this.setValueEvent(this.data, value)\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n setValueEvent(data: any, params: { op: string, scope: string[], key: any, separator: string }) {\r\n let value;\r\n let date = moment(new Date());\r\n switch (params.op) {\r\n case 'sum':\r\n value = jsonpath.query(data, params?.scope[0]).reduce((acc, cur) => acc += params?.key ? cur[params.key] : cur, 0)\r\n break;\r\n case 'concat':\r\n let array: string[] = []\r\n params?.key?.reduce((acc: any[], cur: string) => {\r\n array.push(jsonpath.query(data, cur)[0])\r\n }, [])\r\n if (params?.separator) jsonpath.value(data, params.scope[0], array.join(params?.separator || ' '))\r\n break;\r\n case 'enable':\r\n jsonpath.value(this.esquema, params.scope[0], false)\r\n break;\r\n case 'disabled':\r\n jsonpath.value(this.esquema, params.scope[0], true)\r\n break;\r\n case 'replace:endpoint':\r\n jsonpath.value(this.esquema, params.scope[0], jsonpath.query(this.esquema, params.scope[1])[0].replace(params.scope[2], jsonpath.query(data, `$..${params.key}`)))\r\n break;\r\n case 'setNull':\r\n jsonpath.value(this.data, `$.${params.key}`, null);\r\n break;\r\n case 'datediff:years':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'years'))\r\n break;\r\n case 'datediff:months':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'months'))\r\n break;\r\n case 'datediff:weeks':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'weeks'))\r\n break;\r\n case 'datediff:days':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'days'))\r\n break;\r\n default:\r\n break;\r\n }\r\n return value;\r\n }\r\n\r\n sendNotification(message: Message) {\r\n this.messageService.add(message)\r\n }\r\n\r\n addObjectArray(element: any) {\r\n this.dialogRef = this.dialogService.open(RegistroDetalleComponent, {\r\n header: element.label ? element.label : 'Detalle',\r\n width: '70%',\r\n modal: true,\r\n closable: false,\r\n data: {\r\n uiEsquema: { ...element.elements },\r\n esquema: this.getControl(element.scope),\r\n id: this.getValue(element.scope).length + 1\r\n }\r\n })\r\n this.dialogRef.onClose.subscribe((data: any) => {\r\n if (data) this.data[element.scope.replace('$..properties.', '')].push(data);\r\n this.applyValuesOnEvent('onChange', this.esquema, element.scope.replace('$..properties.', ''))\r\n })\r\n }\r\n\r\n editRow(element: any, data: any, index: number) {\r\n this.dialogRef = this.dialogService.open(RegistroDetalleComponent, {\r\n header: element.label ? element.label : 'Detalle',\r\n width: '70%',\r\n modal: true,\r\n closable: false,\r\n data: {\r\n uiEsquema: { ...element.elements },\r\n esquema: this.getControl(element.scope),\r\n data: { ...data }\r\n }\r\n })\r\n this.dialogRef.onClose.subscribe((data: any) => {\r\n if (data) this.data[element.scope.replace('$..properties.', '')][index] = data;\r\n this.applyValuesOnEvent('onChange', this.esquema, element.scope.replace('$..properties.', ''))\r\n })\r\n }\r\n\r\n deleteRow(element: any, index: number) {\r\n this.data[element.scope.replace('$..properties.', '')].splice(index, 1);\r\n index = 1;\r\n this.data[element.scope.replace('$..properties.', '')].forEach((el: any) => {\r\n el.id = index;\r\n index++;\r\n })\r\n this.applyValuesOnEvent('onChange', this.esquema, element.scope.replace('$..properties.', ''))\r\n }\r\n\r\n setValueByScope(scope: string, newVal: any){\r\n for (let i = 0; i < this.controls.length; i++) {\r\n const row = this.controls[i];\r\n row.forEach((el, j) => {\r\n if (el.scope && el.scope.replace('.properties','')== scope.replace('.properties','')){\r\n this.values[i][j] = newVal\r\n }\r\n })\r\n }\r\n }\r\n\r\n applyValuesFromObject(event: any) {\r\n if (event.optionValue){\r\n for (let i = 0; i < event.optionValue.length; i++) {\r\n const optionVal = event.optionValue[i];\r\n const newVal = event.data ? this.aplyFormatValue(optionVal.scope, event.data[optionVal.key]): null;\r\n jsonpath.value(this.data, optionVal.scope.replace('.properties',''), this.aplyFormatValue(optionVal.scope, event.data[optionVal.key]))\r\n this.setValueByScope(optionVal.scope, newVal)\r\n }\r\n }\r\n }\r\n aplyFormatValue(scope: string, value: any) {\r\n let control = jsonpath.query(this.esquema, scope)[0]\r\n let resp;\r\n switch (control.type) {\r\n case 'date':\r\n resp = new Date(`${value}`)\r\n break;\r\n case 'numeric':\r\n resp = +value\r\n break;\r\n default:\r\n resp = value\r\n break;\r\n }\r\n return resp\r\n }\r\n}\r\n","<p-toast></p-toast>\r\n<div *ngIf=\"controlsLoaded\">\r\n<div *ngFor=\"let element of uiEsquema.elements; let i = index\" [class]=\"element?.class\" #a>\r\n <ng-container [ngSwitch]=\"element.type\">\r\n <div *ngSwitchCase=\"'Label'\" [style]=\"element?.style\">\r\n {{element?.label}}\r\n </div>\r\n <ng-container *ngSwitchCase=\"'HorizontalLayout'\">\r\n <div *ngFor=\"let el of element.elements; let j =index\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"controls[i][j]\" [label]=\"el.label\" [value]=\"values[i][j]\"\r\n (setValue)=\"setValue($event, el.scope, i, j)\" (sendNotification)=\"sendNotification($event)\"\r\n (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'VerticalLayout'\">\r\n <div *ngFor=\"let el of element.elements; let k =index\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"controls[i][k]\" [label]=\"el.label\"\r\n [value]=\"values[i][k]\" (setValue)=\"setValue($event, el.scope, i, k)\"\r\n (sendNotification)=\"sendNotification($event)\"\r\n (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n <ng-container *ngSwitchCase=\"'Table'\">\r\n <p-table [value]=\"getValue(el.scope)\" [columns]=\"getControl(el.scope).config.columns\">\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n <button pButton pRipple icon=\"pi pi-plus\" (click)=\"addObjectArray(el)\"\r\n class=\"p-button-success\"></button>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n {{col.label}}\r\n </th>\r\n <ng-container *ngIf=\"trx == 'c' || trx == 'u'\">\r\n <th></th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <ng-container *ngFor=\"let col of columns\" [ngSwitch]=\"col.type\">\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <td>{{rowData[col.col]}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'currency:USD'\">\r\n <td>{{rowData[col.col] | currency: 'USD'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date:yyyy-mm-dd'\">\r\n <td>{{rowData[col.col] | date: 'yyyy-mm-dd'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date:dd/mm/yyyy'\">\r\n <td>{{rowData[col.col] | date: 'dd/MM/yyyy'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'boolean'\">\r\n <td>\r\n <i *ngIf=\"rowData[col.col]\" class=\"pi pi-check\"></i>\r\n <i *ngIf=\"!rowData[col.col]\" class=\"pi pi-times\"></i>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"trx == 'c' || trx == 'u'\">\r\n <td>\r\n <button pButton pRipple type=\"button\"\r\n (click)=\"editRow(el, rowData, rowIndex)\" icon=\"pi pi-pencil\"\r\n class=\"p-button-rounded p-button-info mr-1\"></button>\r\n <button pButton pRipple type=\"button\" (click)=\"deleteRow(el, rowIndex)\"\r\n icon=\"pi pi-trash\" class=\"p-button-rounded p-button-danger\"></button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Control'\">\r\n <sf-control [control]=\"getControl(element.scope)\" [label]=\"element.label\"></sf-control>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n<div class=\"card-footer mt-2\">\r\n <button pButton pRipple type=\"button\" label=\"Guardar\" (click)=\"submit()\" class=\"mr-2\"></button>\r\n <button pButton pRipple type=\"button\" label=\"Cancelar\" (click)=\"cancel()\" class=\"p-button-danger\"></button>\r\n</div>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\nimport { DataTempCrud } from './shared/models/data-temp-crud.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SfCrudService {\r\n\r\n private _dataTemp: DataTempCrud[] = [];\r\n\r\n constructor() { }\r\n\r\n saveDataTemp(scope: string, value: any) {\r\n this._dataTemp.push({ scope, value })\r\n sessionStorage.setItem('dataTemp', JSON.stringify(this._dataTemp))\r\n }\r\n\r\n getDataTemp() {\r\n let dataTemp = sessionStorage.getItem('dataTemp')\r\n sessionStorage.removeItem('dataTemp')\r\n return dataTemp ? JSON.parse(dataTemp) : []\r\n }\r\n\r\n cleanDataTemp(){\r\n sessionStorage.removeItem('dataTemp')\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ConfigRegistro, CrudConfig, Key, Operations, RequestChecking } from '../../shared/models/crud-config.model';\r\nimport { DialogService, DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { GeneralService } from '../../shared/services/general.service';\r\nimport { Message, MessageService } from 'primeng/api';\r\nimport { RegistroChildComponent } from '../registro-child/registro-child.component';\r\nimport { Router } from '@angular/router';\r\nimport { Shema } from '../../shared/models/shema.model';\r\nimport * as jsonpath from 'jsonpath';\r\nimport { DataTempCrud } from '../../shared/models/data-temp-crud.model';\r\nimport { SfCrudService } from '../../sf-crud.service';\r\nimport * as moment from 'moment';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'sf-registro',\r\n templateUrl: './registro.component.html',\r\n providers: [MessageService, DialogService, DynamicDialogConfig, DynamicDialogRef],\r\n entryComponents: [RegistroComponent]\r\n})\r\nexport class RegistroComponent implements OnInit {\r\n\r\n @Input() idKatios: string = '';\r\n @Input() idEntidad: string = '';\r\n @Input() trx: string = '';\r\n @Input() id: string = '';\r\n @Input() user: any;\r\n @Input() dataExt: any;\r\n @Output() sendData: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() onSubmit: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n private dataTemp: DataTempCrud[] = [];\r\n public crudConfig: CrudConfig = new CrudConfig();\r\n public enProceso: boolean = false;\r\n public btnSubmit: any;\r\n public data: any;\r\n public configOperation: Operations = new Operations();\r\n public isLocal: boolean = false;\r\n values!: any[][];\r\n controls!: any[][];\r\n controlsLoaded = false;\r\n public dialogRef?: DynamicDialogRef\r\n\r\n constructor(\r\n private generalService: GeneralService,\r\n private router: Router,\r\n private messageSerice: MessageService,\r\n private dialogService: DialogService,\r\n private sfCrudService: SfCrudService\r\n ) {\r\n this.dataTemp = this.sfCrudService.getDataTemp();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadConfigCrud();\r\n }\r\n\r\n loadConfigCrud() {\r\n this.enProceso = true;\r\n this.generalService.getCrudByEntidad(this.idKatios, this.idEntidad)\r\n .then(res => {\r\n this.setDataTemp(res.esquema, this.dataTemp);\r\n this.crudConfig = res;\r\n \r\n if (this.trx == 'c') {\r\n this.configOperation = this.crudConfig.registro.operations.find(x => x.type.startsWith(this.trx)) || new Operations();\r\n this.data = this.createObject(this.crudConfig.esquema);\r\n console.log(this.data)\r\n this.setLabelSumbit();\r\n this.enProceso = false;\r\n this.buildControls()\r\n } else this.getInfoRegistro(this.crudConfig.registro);\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n this.enProceso = false;\r\n })\r\n }\r\n\r\n buildControls(){\r\n this.controlsLoaded = false;\r\n this.controls = []\r\n this.values = []\r\n this.crudConfig.uiEsquema.elements.forEach((layout: any, i: number) => {\r\n this.controls.push([])\r\n this.values.push([])\r\n layout.elements?.forEach((element: any, j:number) => {\r\n this.controls[i].push(this.getControl(element.scope))\r\n this.controls[i][j].scope = element.scope\r\n this.values[i].push(this.getValue(element.scope))\r\n\r\n });\r\n });\r\n this.controlsLoaded = true;\r\n }\r\n\r\n setLabelSumbit() {\r\n if (this.trx == 'c') this.btnSubmit = { label: 'Guardar', icon: 'pi pi-save' }\r\n else if (this.trx == 'r') this.btnSubmit = undefined;\r\n else if (this.trx == 'u') this.btnSubmit = { label: 'Actualizar', icon: 'pi pi-sync' }\r\n else if (this.trx == 'd') this.btnSubmit = { label: 'Eliminar', icon: 'pi pi-trash' }\r\n }\r\n\r\n getInfoRegistro(configRegistro: ConfigRegistro) {\r\n let op = configRegistro.operations.find(x => x.type == 'read');\r\n let endpoint = op?.endpoint || '';\r\n endpoint = endpoint.replace('@idKatios', this.idKatios);\r\n endpoint = endpoint.replace('@ndocactivo', this.user.UsuarioSistema.NDOC);\r\n endpoint = endpoint.replace('@id', this.id);\r\n this.generalService.genericRequest(op?.method || '', op?.server || '', endpoint)\r\n .then((res: any) => {\r\n if (res?.data){\r\n if(Array.isArray(res.data)) this.data = res.data[0]\r\n else this.data = res.data;\r\n this.trx = 'u';\r\n } \r\n else {\r\n this.trx = 'c';\r\n this.data = this.createObject(this.crudConfig.esquema);\r\n }\r\n this.buildControls()\r\n this.enProceso = false;\r\n this.configOperation = this.crudConfig.registro.operations.find(x => x.type.startsWith(this.trx)) || new Operations();\r\n this.setLabelSumbit();\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n this.enProceso = false;\r\n })\r\n }\r\n\r\n back() {\r\n this.router.navigateByUrl(this.crudConfig.registro.btnBack);\r\n }\r\n\r\n getControl(scope: string) {\r\n return jsonpath.query(this.crudConfig.esquema, scope)[0];\r\n }\r\n\r\n getValue(scope: string) {\r\n return jsonpath.query(this.data, scope.replace('.properties', ''))[0];\r\n }\r\n\r\n setValue(value: any, scope: string, i: number, j: number) {\r\n switch (typeof (value)) {\r\n case 'object':\r\n if (Array.isArray(value)) value.forEach((val: any) => {\r\n this.setValueByScope(val.scope, val.value)\r\n jsonpath.value(this.data, val.scope.replace('.properties', ''), val.value)\r\n })\r\n else {\r\n this.values[i][j] = value;\r\n jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n }\r\n break;\r\n default:\r\n this.values[i][j] = value;\r\n jsonpath.value(this.data, scope.replace('.properties', ''), value);\r\n break;\r\n }\r\n this.applyValuesOnEvent('onChange', this.crudConfig.esquema);\r\n }\r\n\r\n createObject(esquema: Shema) {\r\n const object: any = {};\r\n switch (esquema.type) {\r\n case 'numeric':\r\n return esquema?.default || 0;\r\n case 'string':\r\n case 'date':\r\n return esquema?.default ? this.setDefaultValue(esquema.default) : null;\r\n case 'boolean':\r\n return esquema?.default || false;\r\n case 'array':\r\n return [];\r\n case 'file':\r\n return null;\r\n case 'object':\r\n Object.getOwnPropertyNames(esquema?.properties).forEach(key => {\r\n let aux = esquema?.properties[key]\r\n if (aux) object[key] = this.createObject(aux)\r\n });\r\n return object;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n submit() {\r\n console.log(this.data)\r\n if (!this.validateData()) return;\r\n this.applyValuesOnEvent('onSubmit', this.crudConfig.esquema)\r\n this.enProceso = true;\r\n let endpoint = this.configOperation.endpoint;\r\n endpoint = endpoint.replace('@idKatios', this.idKatios)\r\n endpoint = endpoint.replace('@id', this.id)\r\n this.generalService.genericRequest(this.configOperation.method, this.configOperation.server, endpoint, this.data)\r\n .then((res) => {\r\n this.generateMessage({ severity: 'success', detail: `Proceso exitoso!` }, res, this.configOperation.answerChecking)\r\n this.enProceso = false;\r\n setTimeout(() => {\r\n if (this.configOperation?.redirect) this.router.navigate([this.configOperation?.redirect])\r\n else this.onSubmit.emit(this.data)\r\n }, 2000);\r\n })\r\n .catch(err => {\r\n const operation = this.crudConfig.registro.operations.find(op => op.type.startsWith(this.trx))!\r\n this.generateMessage({severity: \"error\", detail: \"Por favor comunicarse con el admin\", summary: \"Error no controlado\"}, err.error, operation.errorChecking)\r\n this.enProceso = false;\r\n })\r\n }\r\n\r\n /**\r\n * Generates message using answerchecking\r\n * @param currentMsg Default message: Message\r\n * @param rta Resquest's response\r\n * @param answerChecking \r\n */\r\n generateMessage(currentMsg: Message | any, rta: any, requestChecking?: RequestChecking){\r\n if (requestChecking){\r\n if (requestChecking.statics) Object.assign(currentMsg, requestChecking.statics)\r\n //mapear los dinamicos\r\n if (requestChecking.dynamics){\r\n const dynamics: any = requestChecking.dynamics\r\n try{\r\n if (dynamics && typeof(rta) == \"string\") rta = JSON.parse(rta)\r\n if (dynamics) {\r\n for (const property in dynamics) {\r\n currentMsg[property] = jsonpath.query(rta, dynamics[property])[0];\r\n }\r\n }\r\n }catch(error){//es una respuesta sin JSON\r\n if (dynamics) currentMsg.detail = rta\r\n }\r\n }\r\n }\r\n\r\n if (requestChecking?.redirect || requestChecking?.swal) Swal.fire(currentMsg.summary, currentMsg.detail, currentMsg.severity).then((res) => {\r\n if (res.isConfirmed && requestChecking.redirect) window.location.href = requestChecking.redirect\r\n })\r\n else this.messageSerice.add(currentMsg)\r\n }\r\n\r\n validateData() {\r\n if (this.configOperation.validations.type == 'local') return this.validateDataLocal();\r\n return true;\r\n }\r\n\r\n validateDataLocal() {\r\n let err: string[] = []\r\n this.configOperation.validations?.required?.forEach(x => {\r\n if (!jsonpath.query(this.data, x.field)[0]) err.push(x.message);\r\n })\r\n this.configOperation.validations?.operations?.forEach((op: any) => {\r\n switch (op.action) {\r\n case 'sumArray':\r\n let var1 = jsonpath.query(this.data, op.scope[0]).reduce((acc, cur) => acc += cur[op.key], 0);\r\n let var2 = jsonpath.query(this.data, op.scope[1]).reduce((acc, cur) => acc += cur[op.key], 0);\r\n if (var1 != var2) err.push(op.message)\r\n break;\r\n default:\r\n break;\r\n }\r\n })\r\n if (err.length != 0) this.messageSerice.add({ severity: 'warn', detail: err.join('. ') })\r\n return err.length == 0;\r\n }\r\n\r\n setDefaultValue(value: any) {\r\n let data = null;\r\n if (value.key && this.configOperation.keys){\r\n data = this.getValueKey(this.configOperation.keys.find(k => k.key == value.key)!)\r\n value = data\r\n }\r\n switch (value) {\r\n case '@uactivo':\r\n data = `${this.user.UsuarioSistema.TDOC}-${this.user.UsuarioSistema.NDOC}`\r\n break;\r\n case '@tdocactivo':\r\n data = this.user.UsuarioSistema.TDOC\r\n break;\r\n case '@ndocactivo':\r\n data = this.user.UsuarioSistema.NDOC\r\n break;\r\n case '@hoy':\r\n data = new Date();\r\n break;\r\n default:\r\n data = value;\r\n break;\r\n }\r\n return data\r\n }\r\n\r\n getValueKey(key: Key): any {\r\n let data;\r\n switch (key.data || 'externa') {\r\n case \"user\":\r\n data = this.user\r\n break;\r\n default:\r\n data = this.dataExt\r\n break;\r\n }\r\n if (data){\r\n const aux = jsonpath.query(data, key.scope)\r\n if (aux.length == 0) return undefined\r\n if (aux.length == 1) return aux[0]\r\n else return aux\r\n }\r\n return undefined\r\n }\r\n\r\n sendNotification(message: Message) {\r\n this.messageSerice.add(message)\r\n }\r\n\r\n addObjectArray(element: any) {\r\n this.dialogRef = this.dialogService.open(RegistroChildComponent, {\r\n header: element.label ? element.label : 'Detalle',\r\n width: '70%',\r\n modal: true,\r\n closable: true,\r\n data: {\r\n uiEsquema: { ...element.elements },\r\n esquema: this.getControl(element.scope),\r\n id: this.getValue(element.scope).length + 1\r\n }\r\n })\r\n this.dialogRef.onClose.subscribe((data: any) => {\r\n if (data) this.data[element.scope.replace('$..properties.', '')].push(data);\r\n this.applyValuesOnEvent('onChange', this.crudConfig.esquema, element.scope.replace('$..properties.', ''))\r\n })\r\n }\r\n\r\n editRow(element: any, data: any, index: number) {\r\n this.dialogRef = this.dialogService.open(RegistroChildComponent, {\r\n header: element.label ? element.label : 'Detalle',\r\n width: '70%',\r\n modal: true,\r\n closable: true,\r\n data: {\r\n uiEsquema: { ...element.elements },\r\n esquema: this.getControl(element.scope),\r\n data: { ...data }\r\n }\r\n })\r\n this.dialogRef.onClose.subscribe((data: any) => {\r\n if (data) this.data[element.scope.replace('$..properties.', '')][index] = data;\r\n this.applyValuesOnEvent('onChange', this.crudConfig.esquema, element.scope.replace('$..properties.', ''))\r\n })\r\n }\r\n\r\n deleteRow(element: any, index: number) {\r\n this.data[element.scope.replace('$..properties.', '')].splice(index, 1);\r\n index = 1;\r\n this.data[element.scope.replace('$..properties.', '')].forEach((el: any) => {\r\n el.id = index;\r\n index++;\r\n })\r\n this.applyValuesOnEvent('onChange', this.crudConfig.esquema, element.scope.replace('$..properties.', ''))\r\n }\r\n\r\n applyValuesOnEvent(event: string, esquema: Shema, key?: string) {\r\n if (key) {\r\n if (esquema.properties[key][event]) {\r\n esquema.properties[key][event].forEach((value: { scope: string[], op: string, key?: string }) => {\r\n this.setValueEvent(this.data, value);\r\n })\r\n }\r\n } else {\r\n for (const key in esquema.properties) {\r\n if (esquema.properties[key][event]) {\r\n esquema.properties[key][event].forEach((value: any) => {\r\n this.setValueEvent(this.data, value);\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n setValueEvent(data: any, params: { scope: string[], op: string, key?: any, separator?: string }) {\r\n let date = moment(new Date());\r\n switch (params.op) {\r\n case 'sum':\r\n jsonpath.value(data, params.scope[1], jsonpath.query(data, params.scope[0]).reduce((acc, cur) => acc += params?.key ? cur[params.key] : cur, 0))\r\n break;\r\n case 'concat':\r\n let array: string[] = []\r\n params?.key?.reduce((acc: any[], cur: string) => {\r\n array.push(jsonpath.query(data, cur)[0])\r\n }, [])\r\n if (params?.separator) jsonpath.value(data, params.scope[0], array.join(params?.separator || ' '))\r\n break;\r\n case 'enable':\r\n jsonpath.value(this.crudConfig.esquema, params.scope[0], false)\r\n break;\r\n case 'disabled':\r\n jsonpath.value(this.crudConfig.esquema, params.scope[0], true)\r\n break;\r\n case 'replace:endpoint':\r\n jsonpath.value(this.crudConfig.esquema, params.scope[0], this.crudConfig.esquema.config.endpointtemp.replace(params.scope[1], jsonpath.query(data, `$..${params.key}`)))\r\n break;\r\n case 'setNull':\r\n jsonpath.value(this.data, `$.${params.key}`, null);\r\n break;\r\n case 'datediff:years':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'years'))\r\n break;\r\n case 'datediff:months':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'months'))\r\n break;\r\n case 'datediff:weeks':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'weeks'))\r\n break;\r\n case 'datediff:days':\r\n jsonpath.value(this.data, params.scope[0], date.diff(moment(jsonpath.query(this.data, params.scope[1])[0]), 'days'))\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n setDataTemp(esquema: Shema, dataTemp: any[]) {\r\n dataTemp.forEach(data => {\r\n jsonpath.value(esquema, data.scope, data.value)\r\n });\r\n }\r\n\r\n applyValuesFromObject(event: any) {\r\n if (event.optionValue){\r\n for (let i = 0; i < event.optionValue.length; i++) {\r\n const optionVal = event.optionValue[i];\r\n const newVal = event.data ? this.aplyFormatValue(optionVal.scope, event.data[optionVal.key]): null;\r\n jsonpath.value(this.data, optionVal.scope.replace('.properties',''), this.aplyFormatValue(optionVal.scope, event.data[optionVal.key]))\r\n this.setValueByScope(optionVal.scope, newVal)\r\n }\r\n }\r\n }\r\n\r\n \r\n setValueByScope(scope: string, newVal: any){\r\n for (let i = 0; i < this.controls.length; i++) {\r\n const row = this.controls[i];\r\n row.forEach((el, j) => {\r\n if (el.scope && el.scope.replace('.properties','')== scope.replace('.properties','')){\r\n this.values[i][j] = newVal\r\n }\r\n })\r\n }\r\n }\r\n\r\n aplyFormatValue(scope: string, value: any) {\r\n let control = jsonpath.query(this.crudConfig.esquema, scope)[0]\r\n let resp;\r\n switch (control.type) {\r\n case 'date':\r\n resp = new Date(`${value}`)\r\n break;\r\n case 'numeric':\r\n resp = +value\r\n break;\r\n default:\r\n resp = value\r\n break;\r\n }\r\n return resp\r\n }\r\n}\r\n","<p-blockUI [blocked]=\"enProceso\">\r\n <i class=\"pi pi-cog pi-spin\" style=\"font-size: 50px\"></i>\r\n</p-blockUI>\r\n\r\n<p-toast></p-toast>\r\n\r\n<div class=\"card\" *ngIf=\"!enProceso && controlsLoaded\">\r\n <h5 class=\"card-header mb-2\" style=\"display: flex; justify-content: space-between;align-items: center;\">\r\n <span>{{crudConfig.registro?.label || idEntidad}} {{id != '' ? '-' + id : ''}}</span>\r\n <button *ngIf=\"crudConfig.registro?.canBack\" pButton pRipple type=\"button\" icon=\"pi pi-arrow-left\" (click)=\"back()\"></button>\r\n </h5>\r\n <div *ngFor=\"let element of crudConfig.uiEsquema.elements; let i = index\" [class]=\"element?.class\">\r\n <ng-container [ngSwitch]=\"element.type\">\r\n <div *ngSwitchCase=\"'Label'\" [style]=\"element?.style\">\r\n {{element?.label}}\r\n </div>\r\n <ng-container *ngSwitchCase=\"'HorizontalLayout'\">\r\n <div *ngFor=\"let el of element.elements;let j = index\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"controls[i][j]\" [label]=\"el.label\"\r\n [value]=\"values[i][j]\" (setValue)=\"setValue($event, el.scope, i, j)\"\r\n (sendNotification)=\"sendNotification($event)\" (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'VerticalLayout'\">\r\n <div *ngFor=\"let el of element.elements;let j = index\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"controls[i][j]\" [label]=\"el.label\"\r\n [value]=\"values[i][j]\" (setValue)=\"setValue($event, el.scope, i, j)\"\r\n (sendNotification)=\"sendNotification($event)\" (sendObject)=\"applyValuesFromObject($event)\"></sf-control>\r\n <ng-container *ngSwitchCase=\"'Table'\">\r\n <p-table [value]=\"getValue(el.scope)\" [columns]=\"getControl(el.scope).config.columns\">\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n <button pButton pRipple icon=\"pi pi-plus\" (click)=\"addObjectArray(el)\"\r\n class=\"p-button-success\"></button>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n {{col.label}}\r\n </th>\r\n <ng-container *ngIf=\"trx == 'c' || trx == 'u'\">\r\n <th></th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <ng-container *ngFor=\"let col of columns\" [ngSwitch]=\"col.type\">\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <td>{{rowData[col.col]}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'currency:USD'\">\r\n <td>{{rowData[col.col] | currency: 'USD'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date:yyyy-mm-dd'\">\r\n <td>{{rowData[col.col] | date: 'yyyy-mm-dd'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date:dd/mm/yyyy'\">\r\n <td>{{rowData[col.col] | date: 'dd/MM/yyyy'}}</td>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'boolean'\">\r\n <td>\r\n <i *ngIf=\"rowData[col.col]\" class=\"pi pi-check\"></i>\r\n <i *ngIf=\"!rowData[col.col]\" class=\"pi pi-times\"></i>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"trx == 'c' || trx == 'u'\">\r\n <td>\r\n <button pButton pRipple type=\"button\" (click)=\"editRow(el, rowData, rowIndex)\" icon=\"pi pi-pencil\" class=\"p-button-rounded p-button-info mr-1\"></button>\r\n <button pButton pRipple type=\"button\" (click)=\"deleteRow(el, rowIndex)\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-danger\"></button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Control'\">\r\n <sf-control [control]=\"getControl(element.scope)\" [label]=\"element.label\"></sf-control>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"card-footer mt-2\" *ngIf=\"btnSubmit\">\r\n <button pButton pRipple type=\"button\" [icon]=\"btnSubmit.icon\" [label]=\"btnSubmit.label\"\r\n (click)=\"submit()\"></button>\r\n </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-sf-crud',\r\n template: `\r\n <p>\r\n sf-crud works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class SfCrudComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\n//=========================================================\r\n// PrimeNG Modules\r\n//=========================================================\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { AvatarGroupModule } from 'primeng/avatargroup';\r\nimport { AvatarModule } from 'primeng/avatar';\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { BlockUIModule } from 'primeng/blockui';\r\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CardModule } from 'primeng/card';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { CascadeSelectModule } from 'primeng/cascadeselect';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { ChipsModule } from 'primeng/chips';\r\nimport { ColorPickerModule } from 'primeng/colorpicker';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { ContextMenuModule } from 'primeng/contextmenu';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DividerModule } from 'primeng/divider';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { DynamicDialogModule } from 'primeng/dynamicdialog';\r\nimport { FieldsetModule } from 'primeng/fieldset';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { GalleriaModule } from 'primeng/galleria';\r\nimport { InplaceModule } from 'primeng/inplace';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { KnobModule } from 'primeng/knob';\r\nimport { ListboxModule } from 'primeng/listbox';\r\nimport { MegaMenuModule } from 'primeng/megamenu';\r\nimport { MenubarModule } from 'primeng/menubar';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { OrganizationChartModule } from 'primeng/organizationchart';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { PanelMenuModule } from 'primeng/panelmenu';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport { PasswordModule } from 'primeng/password';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { RatingModule } from 'primeng/rating';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { ScrollPanelModule } from 'primeng/scrollpanel';\r\nimport { ScrollTopModule } from 'primeng/scrolltop';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { SlideMenuModule } from 'primeng/slidemenu';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { SplitterModule } from 'primeng/splitter';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TabMenuModule } from 'primeng/tabmenu';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { TagModule } from 'primeng/tag';\r\nimport { TerminalModule } from 'primeng/terminal';\r\nimport { TieredMenuModule } from 'primeng/tieredmenu';\r\nimport { TimelineModule } from 'primeng/timeline';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { ToggleButtonModule } from 'primeng/togglebutton';\r\nimport { ToolbarModule } from 'primeng/toolbar';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { TreeModule } from 'primeng/tree';\r\n\r\n//=========================================================\r\n// Componets\r\n//=========================================================\r\nimport { SfCrudComponent } from './sf-crud.component';\r\nimport { TableroComponent } from './components/tablero/tablero.component';\r\nimport { RegistroComponent } from './components/registro/registro.component';\r\nimport { ControlComponent } from './components/control/control.component';\r\nimport { RegistroChildComponent } from './components/registro-child/registro-child.component';\r\nimport { RegistroDetalleComponent } from './components/registro-detalle/registro-detalle.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SfCrudComponent,\r\n TableroComponent,\r\n RegistroComponent,\r\n ControlComponent,\r\n RegistroChildComponent,\r\n RegistroDetalleComponent\r\n ],\r\n imports: [\r\n AccordionModule,\r\n AutoCompleteModule,\r\n AvatarGroupModule,\r\n AvatarModule,\r\n BadgeModule,\r\n BlockUIModule,\r\n BreadcrumbModule,\r\n ButtonModule,\r\n CalendarModule,\r\n CardModule,\r\n CarouselModule,\r\n CascadeSelectModule,\r\n CheckboxModule,\r\n ChipModule,\r\n ChipsModule,\r\n ColorPickerModule,\r\n ConfirmDialogModule,\r\n ConfirmPopupModule,\r\n ContextMenuModule,\r\n DialogModule,\r\n DividerModule,\r\n DropdownModule,\r\n DynamicDialogModule,\r\n FieldsetModule,\r\n FileUploadModule,\r\n FormsModule,\r\n GalleriaModule,\r\n HttpClientModule,\r\n InplaceModule,\r\n InputMaskModule,\r\n InputNumberModule,\r\n InputSwitchModule,\r\n InputTextareaModule,\r\n InputTextModule,\r\n KnobModule,\r\n ListboxModule,\r\n MegaMenuModule,\r\n MenubarModule,\r\n MenuModule,\r\n MessageModule,\r\n MessagesModule,\r\n MultiSelectModule,\r\n OrganizationChartModule,\r\n OverlayPanelModule,\r\n PanelMenuModule,\r\n PanelModule,\r\n PasswordModule,\r\n ProgressBarModule,\r\n RadioButtonModule,\r\n RatingModule,\r\n RippleModule,\r\n ScrollPanelModule,\r\n ScrollTopModule,\r\n SelectButtonModule,\r\n SidebarModule,\r\n SkeletonModule,\r\n SlideMenuModule,\r\n SliderModule,\r\n SplitButtonModule,\r\n SplitterModule,\r\n StepsModule,\r\n TableModule,\r\n TabMenuModule,\r\n TabViewModule,\r\n TagModule,\r\n TerminalModule,\r\n TieredMenuModule,\r\n TimelineModule,\r\n ToastModule,\r\n ToggleButtonModule,\r\n ToolbarModule,\r\n TooltipModule,\r\n TreeModule,\r\n ],\r\n exports: [\r\n SfCrudComponent,\r\n TableroComponent,\r\n RegistroComponent,\r\n ControlComponent\r\n ],\r\n entryComponents: [\r\n RegistroChildComponent\r\n ]\r\n})\r\nexport class SfCrudModule { }\r\n","/*\r\n * Public API Surface of sf-crud\r\n */\r\n\r\nexport * from './lib/components/tablero/tablero.component';\r\nexport * from './lib/components/registro/registro.component';\r\nexport * from './lib/components/control/control.component';\r\nexport * from './lib/sf-crud.component';\r\nexport * from './lib/sf-crud.module';\r\nexport * from './lib/sf-crud.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i0","Injectable","EventEmitter","jsonpath","_","i1.GeneralService","i2","i3","i4","i5","i6","i7","i8","i9","i10","i11","Component","Input","Output","moment","i12","i13","i14","i4.ControlComponent","MessageService","DialogService","Swal","i5.SfCrudService","DynamicDialogConfig","DynamicDialogRef","i8.ControlComponent","AccordionModule","AutoCompleteModule","AvatarGroupModule","AvatarModule","BadgeModule","BlockUIModule","BreadcrumbModule","ButtonModule","CalendarModule","CardModule","CarouselModule","CascadeSelectModule","CheckboxModule","ChipModule","ChipsModule","ColorPickerModule","ConfirmDialogModule","ConfirmPopupModule","ContextMenuModule","DialogModule","DividerModule","DropdownModule","DynamicDialogModule","FieldsetModule","FileUploadModule","FormsModule","GalleriaModule","HttpClientModule","InplaceModule","InputMaskModule","InputNumberModule","InputSwitchModule","InputTextareaModule","InputTextModule","KnobModule","ListboxModule","MegaMenuModule","MenubarModule","MenuModule","MessageModule","MessagesModule","MultiSelectModule","OrganizationChartModule","OverlayPanelModule","PanelMenuModule","PanelModule","PasswordModule","ProgressBarModule","RadioButtonModule","RatingModule","RippleModule","ScrollPanelModule","ScrollTopModule","SelectButtonModule","SidebarModule","SkeletonModule","SlideMenuModule","SliderModule","SplitButtonModule","SplitterModule","StepsModule","TableModule","TabMenuModule","TabViewModule","TagModule","TerminalModule","TieredMenuModule","TimelineModule","ToastModule","ToggleButtonModule","ToolbarModule","TooltipModule","TreeModule","NgModule"],"mappings":"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"}
|