{"version":3,"sources":["./node_modules/@angular/material/button-toggle/typings/index.d.ts.MatButtonToggle.html","./node_modules/@angular/material/card/typings/index.d.ts.MatCard.html","./node_modules/@angular/material/card/typings/index.d.ts.MatCardHeader.html","./node_modules/@angular/material/card/typings/index.d.ts.MatCardTitleGroup.html","./node_modules/@angular/material/paginator/typings/index.d.ts.MatPaginator.html","./node_modules/rxjs/internal/InnerSubscriber.js","./node_modules/rxjs/internal/OuterSubscriber.js","./node_modules/rxjs/internal/observable/empty.js","./node_modules/rxjs/internal/observable/forkJoin.js","./node_modules/rxjs/internal/operators/map.js","./node_modules/rxjs/internal/symbol/iterator.js","./node_modules/rxjs/internal/util/isArrayLike.js","./node_modules/rxjs/internal/util/isPromise.js","./node_modules/rxjs/internal/util/subscribeTo.js","./node_modules/rxjs/internal/util/subscribeToArray.js","./node_modules/rxjs/internal/util/subscribeToIterable.js","./node_modules/rxjs/internal/util/subscribeToObservable.js","./node_modules/rxjs/internal/util/subscribeToPromise.js","./node_modules/rxjs/internal/util/subscribeToResult.js","./src/app/material-component/componentes/componente-detalle/componente-detalle.component.html","./src/app/material-component/componentes/componente-detalle/componente-detalle.component.ts","./src/app/material-component/componentes/componentes.module.ts","./src/app/material-component/header-proyecto/header-proyecto.component.html","./src/app/material-component/header-proyecto/header-proyecto.component.ts","./src/app/material-component/header-proyecto/header-proyecto.module.ts","./src/app/material-component/indicador-gestion/services/indicador-gestion-http.service.ts","./src/app/material-component/indicador-gestion/services/indicador-gestion.service.ts","./src/app/material-component/messages/messages.component.html","./src/app/material-component/messages/messages.component.ts","./src/app/material-component/messages/messages.module.ts","./src/app/material-component/proyecto-UE/cargar-actividades-proyecto/cargar-actividades-proyecto.component.html","./src/app/material-component/proyecto-UE/cargar-actividades-proyecto/cargar-actividades-proyecto.component.ts.ActividadDescripcionDialog.html","./src/app/material-component/proyecto-UE/cargar-actividades-proyecto/cargar-actividades-proyecto.component.ts","./src/app/material-component/proyecto-UE/estado-proyecto-forzar-estado-modal/estado-proyecto-forzar-modal.component.html","./src/app/material-component/proyecto-UE/estado-proyecto-forzar-estado-modal/estado-proyecto-forzar-modal.component.ts","./src/app/material-component/proyecto-UE/estado-proyecto-forzar-estado-modal/estado-proyecto-forzar-modal.module.ts","./src/app/material-component/proyecto-UE/estado-proyecto/estado-proyecto.types.ts","./src/app/material-component/proyecto-UE/resumen-acciones-estrategicas-modal/resumen-acciones-estrategicas-modal.component.html","./src/app/material-component/proyecto-UE/resumen-acciones-estrategicas-modal/resumen-acciones-estrategicas-modal.component.ts","./src/app/material-component/proyecto-UE/resumen-acciones-estrategicas-modal/resumen-acciones-estrategicas-modal.module.ts","./src/app/material-component/proyecto-UE/services/proyecto-http.service.ts","./src/app/material-component/proyecto-UE/services/proyecto.service.ts","./src/app/material-component/proyecto/services/proyecto-http.service.ts","./src/app/material-component/proyecto/services/proyecto.service.ts","./src/app/material-component/shared/estrategias/estrategias-http.service.ts","./src/app/material-component/shared/estrategias/estrategias.service.ts","./src/app/material-component/tipo-accion-estrategica/services/tipo-accion-estrategica-http.service.ts","./src/app/material-component/tipo-accion-estrategica/services/tipo-accion-estrategica.service.ts","./src/app/material-component/tipo-gasto/services/tipo-gasto-http.service.ts","./src/app/material-component/tipo-gasto/services/tipo-gasto.service.ts","./src/app/material-component/tipo-indicador-objetivo/services/tipo-indicador-objetivo-http.service.ts","./src/app/material-component/tipo-indicador-objetivo/services/tipo-indicador-objetivo.service.ts","./src/app/material-component/tipo-objetivo-estrategico/services/tipo-objetivo-estrategico-http.service.ts","./src/app/material-component/tipo-objetivo-estrategico/services/tipo-objetivo-estrategico.service.ts","./src/app/material-component/unidad-participante/services/unidad-participante-http.service.ts","./src/app/material-component/unidad-participante/services/unidad-participante.service.ts","./src/app/material-component/zona/services/zona-http.service.ts"],"names":[],"mappings":"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A;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oC;;;;;;;;;;;;ACvFa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D,mBAAmB,mBAAO,CAAC,iEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,+B;;;;;;;;;;;;AC1Da;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACXa;AACb,8CAA8C,cAAc;AAC5D,qCAAqC,qEAAqE,EAAE;AAC5G,uC;;;;;;;;;;;;ACHa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;ACNa;AACb,8CAA8C,cAAc;AAC5D,mBAAmB,mBAAO,CAAC,iEAAe;AAC1C,yBAAyB,mBAAO,CAAC,iFAAoB;AACrD,2BAA2B,mBAAO,CAAC,qFAAsB;AACzD,4BAA4B,mBAAO,CAAC,uFAAuB;AAC3D,8BAA8B,mBAAO,CAAC,2FAAyB;AAC/D,oBAAoB,mBAAO,CAAC,uEAAe;AAC3C,kBAAkB,mBAAO,CAAC,mEAAa;AACvC,iBAAiB,mBAAO,CAAC,iEAAY;AACrC,iBAAiB,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","file":"default~proyecto-UE-gestion-proyecto-module-ngfactory~proyecto-proyecto-module-ngfactory-es2015.9554a2ecb21d8740e855.js","sourcesContent":["<button #button class=\"mat-button-toggle-button\" type=\"button\" [id]=\"buttonId\" [attr.tabindex]=\"disabled ? -1 : tabIndex\" [attr.aria-pressed]=\"checked\" [disabled]=\"disabled || null\" [attr.name]=\"name || null\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledby\" (click)=\"_onButtonClick()\"><div class=\"mat-button-toggle-label-content\"><ng-content></ng-content></div></button><div class=\"mat-button-toggle-focus-overlay\"></div><div class=\"mat-button-toggle-ripple\" matRipple [matRippleTrigger]=\"button\" [matRippleDisabled]=\"this.disableRipple || this.disabled\"></div>","<ng-content></ng-content><ng-content select=\"mat-card-footer\"></ng-content>","<ng-content select=\"[mat-card-avatar], [matCardAvatar]\"></ng-content><div class=\"mat-card-header-text\"><ng-content select=\"mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]\"></ng-content></div><ng-content></ng-content>","<div><ng-content select=\"mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]\"></ng-content></div><ng-content select=\"img\"></ng-content><ng-content></ng-content>","<div class=\"mat-paginator-outer-container\"><div class=\"mat-paginator-container\"><div class=\"mat-paginator-page-size\" *ngIf=\"!hidePageSize\"><div class=\"mat-paginator-page-size-label\">{{_intl.itemsPerPageLabel}}</div><mat-form-field *ngIf=\"_displayedPageSizeOptions.length > 1\" [color]=\"color\" class=\"mat-paginator-page-size-select\"><mat-select [value]=\"pageSize\" [disabled]=\"disabled\" [aria-label]=\"_intl.itemsPerPageLabel\" (selectionChange)=\"_changePageSize($event.value)\"><mat-option *ngFor=\"let pageSizeOption of _displayedPageSizeOptions\" [value]=\"pageSizeOption\">{{pageSizeOption}}</mat-option></mat-select></mat-form-field><div *ngIf=\"_displayedPageSizeOptions.length <= 1\">{{pageSize}}</div></div><div class=\"mat-paginator-range-actions\"><div class=\"mat-paginator-range-label\">{{_intl.getRangeLabel(pageIndex, pageSize, length)}}</div><button mat-icon-button type=\"button\" class=\"mat-paginator-navigation-first\" (click)=\"firstPage()\" [attr.aria-label]=\"_intl.firstPageLabel\" [matTooltip]=\"_intl.firstPageLabel\" [matTooltipDisabled]=\"_previousButtonsDisabled()\" [matTooltipPosition]=\"'above'\" [disabled]=\"_previousButtonsDisabled()\" *ngIf=\"showFirstLastButtons\"><svg class=\"mat-paginator-icon\" viewBox=\"0 0 24 24\" focusable=\"false\"><path d=\"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z\"/></svg></button> <button mat-icon-button type=\"button\" class=\"mat-paginator-navigation-previous\" (click)=\"previousPage()\" [attr.aria-label]=\"_intl.previousPageLabel\" [matTooltip]=\"_intl.previousPageLabel\" [matTooltipDisabled]=\"_previousButtonsDisabled()\" [matTooltipPosition]=\"'above'\" [disabled]=\"_previousButtonsDisabled()\"><svg class=\"mat-paginator-icon\" viewBox=\"0 0 24 24\" focusable=\"false\"><path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/></svg></button> <button mat-icon-button type=\"button\" class=\"mat-paginator-navigation-next\" (click)=\"nextPage()\" [attr.aria-label]=\"_intl.nextPageLabel\" [matTooltip]=\"_intl.nextPageLabel\" [matTooltipDisabled]=\"_nextButtonsDisabled()\" [matTooltipPosition]=\"'above'\" [disabled]=\"_nextButtonsDisabled()\"><svg class=\"mat-paginator-icon\" viewBox=\"0 0 24 24\" focusable=\"false\"><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/></svg></button> <button mat-icon-button type=\"button\" class=\"mat-paginator-navigation-last\" (click)=\"lastPage()\" [attr.aria-label]=\"_intl.lastPageLabel\" [matTooltip]=\"_intl.lastPageLabel\" [matTooltipDisabled]=\"_nextButtonsDisabled()\" [matTooltipPosition]=\"'above'\" [disabled]=\"_nextButtonsDisabled()\" *ngIf=\"showFirstLastButtons\"><svg class=\"mat-paginator-icon\" viewBox=\"0 0 24 24\" focusable=\"false\"><path d=\"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z\"/></svg></button></div></div></div>","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"./Subscriber\");\nvar InnerSubscriber = (function (_super) {\n __extends(InnerSubscriber, _super);\n function InnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n _this.index = 0;\n return _this;\n }\n InnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n };\n InnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n };\n InnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return InnerSubscriber;\n}(Subscriber_1.Subscriber));\nexports.InnerSubscriber = InnerSubscriber;\n//# sourceMappingURL=InnerSubscriber.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"./Subscriber\");\nvar OuterSubscriber = (function (_super) {\n __extends(OuterSubscriber, _super);\n function OuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n this.destination.error(error);\n };\n OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n this.destination.complete();\n };\n return OuterSubscriber;\n}(Subscriber_1.Subscriber));\nexports.OuterSubscriber = OuterSubscriber;\n//# sourceMappingURL=OuterSubscriber.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nexports.EMPTY = new Observable_1.Observable(function (subscriber) { return subscriber.complete(); });\nfunction empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : exports.EMPTY;\n}\nexports.empty = empty;\nfunction emptyScheduled(scheduler) {\n return new Observable_1.Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\nexports.emptyScheduled = emptyScheduled;\n//# sourceMappingURL=empty.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar isArray_1 = require(\"../util/isArray\");\nvar empty_1 = require(\"./empty\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar map_1 = require(\"../operators/map\");\nfunction forkJoin() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var resultSelector;\n if (typeof sources[sources.length - 1] === 'function') {\n resultSelector = sources.pop();\n }\n if (sources.length === 1 && isArray_1.isArray(sources[0])) {\n sources = sources[0];\n }\n if (sources.length === 0) {\n return empty_1.EMPTY;\n }\n if (resultSelector) {\n return forkJoin(sources).pipe(map_1.map(function (args) { return resultSelector.apply(void 0, args); }));\n }\n return new Observable_1.Observable(function (subscriber) {\n return new ForkJoinSubscriber(subscriber, sources);\n });\n}\nexports.forkJoin = forkJoin;\nvar ForkJoinSubscriber = (function (_super) {\n __extends(ForkJoinSubscriber, _super);\n function ForkJoinSubscriber(destination, sources) {\n var _this = _super.call(this, destination) || this;\n _this.sources = sources;\n _this.completed = 0;\n _this.haveValues = 0;\n var len = sources.length;\n _this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n var source = sources[i];\n var innerSubscription = subscribeToResult_1.subscribeToResult(_this, source, null, i);\n if (innerSubscription) {\n _this.add(innerSubscription);\n }\n }\n return _this;\n }\n ForkJoinSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.values[outerIndex] = innerValue;\n if (!innerSub._hasValue) {\n innerSub._hasValue = true;\n this.haveValues++;\n }\n };\n ForkJoinSubscriber.prototype.notifyComplete = function (innerSub) {\n var _a = this, destination = _a.destination, haveValues = _a.haveValues, values = _a.values;\n var len = values.length;\n if (!innerSub._hasValue) {\n destination.complete();\n return;\n }\n this.completed++;\n if (this.completed !== len) {\n return;\n }\n if (haveValues === len) {\n destination.next(values);\n }\n destination.complete();\n };\n return ForkJoinSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=forkJoin.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nexports.map = map;\nvar MapOperator = (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexports.MapOperator = MapOperator;\nvar MapSubscriber = (function (_super) {\n __extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=map.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexports.getSymbolIterator = getSymbolIterator;\nexports.iterator = getSymbolIterator();\nexports.$$iterator = exports.iterator;\n//# sourceMappingURL=iterator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isPromise(value) {\n return value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\nexports.isPromise = isPromise;\n//# sourceMappingURL=isPromise.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar subscribeToArray_1 = require(\"./subscribeToArray\");\nvar subscribeToPromise_1 = require(\"./subscribeToPromise\");\nvar subscribeToIterable_1 = require(\"./subscribeToIterable\");\nvar subscribeToObservable_1 = require(\"./subscribeToObservable\");\nvar isArrayLike_1 = require(\"./isArrayLike\");\nvar isPromise_1 = require(\"./isPromise\");\nvar isObject_1 = require(\"./isObject\");\nvar iterator_1 = require(\"../symbol/iterator\");\nvar observable_1 = require(\"../symbol/observable\");\nexports.subscribeTo = function (result) {\n if (result instanceof Observable_1.Observable) {\n return function (subscriber) {\n if (result._isScalar) {\n subscriber.next(result.value);\n subscriber.complete();\n return undefined;\n }\n else {\n return result.subscribe(subscriber);\n }\n };\n }\n else if (result && typeof result[observable_1.observable] === 'function') {\n return subscribeToObservable_1.subscribeToObservable(result);\n }\n else if (isArrayLike_1.isArrayLike(result)) {\n return subscribeToArray_1.subscribeToArray(result);\n }\n else if (isPromise_1.isPromise(result)) {\n return subscribeToPromise_1.subscribeToPromise(result);\n }\n else if (result && typeof result[iterator_1.iterator] === 'function') {\n return subscribeToIterable_1.subscribeToIterable(result);\n }\n else {\n var value = isObject_1.isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = \"You provided \" + value + \" where a stream was expected.\"\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.subscribeToArray = function (array) { return function (subscriber) {\n for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n if (!subscriber.closed) {\n subscriber.complete();\n }\n}; };\n//# sourceMappingURL=subscribeToArray.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar iterator_1 = require(\"../symbol/iterator\");\nexports.subscribeToIterable = function (iterable) { return function (subscriber) {\n var iterator = iterable[iterator_1.iterator]();\n do {\n var item = iterator.next();\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(function () {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n}; };\n//# sourceMappingURL=subscribeToIterable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar observable_1 = require(\"../symbol/observable\");\nexports.subscribeToObservable = function (obj) { return function (subscriber) {\n var obs = obj[observable_1.observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n}; };\n//# sourceMappingURL=subscribeToObservable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar hostReportError_1 = require(\"./hostReportError\");\nexports.subscribeToPromise = function (promise) { return function (subscriber) {\n promise.then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, hostReportError_1.hostReportError);\n return subscriber;\n}; };\n//# sourceMappingURL=subscribeToPromise.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar InnerSubscriber_1 = require(\"../InnerSubscriber\");\nvar subscribeTo_1 = require(\"./subscribeTo\");\nfunction subscribeToResult(outerSubscriber, result, outerValue, outerIndex, destination) {\n if (destination === void 0) { destination = new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex); }\n if (destination.closed) {\n return;\n }\n return subscribeTo_1.subscribeTo(result)(destination);\n}\nexports.subscribeToResult = subscribeToResult;\n//# sourceMappingURL=subscribeToResult.js.map","<form class=\"form\" [formGroup]=\"formComponente\">\r\n <mat-dialog-content>\r\n <h1 mat-dialog-title>Componente: {{ componente.nombre }}</h1>\r\n\r\n <mat-form-field appearance=\"outline\" class=\"form-field\">\r\n <mat-label>Componente</mat-label>\r\n <input matInput type=\"text\"\r\n placeholder=\"Componente\"\r\n formControlName=\"nombre\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <mat-label>Descripción</mat-label>\r\n <input matInput type=\"text\"\r\n placeholder=\"Descripción\"\r\n formControlName=\"descripcion\" />\r\n </mat-form-field>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-actions class=\"botones-accion\">\r\n <button class=\"mat-raised-button action-button\" (click)=\"close()\">Cerrar</button>\r\n <button *ngIf=\"!isReadonly\" class=\"mat-raised-button action-button\" (click)=\"save()\">Guardar</button>\r\n </mat-dialog-actions>\r\n </form>","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ProyectoService } from '../../proyecto/services/proyecto.service';\r\nimport { MatSnackBar, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { IComponente, IComponenteEditable } from '../../proyecto-UE/IComponente';\r\n\r\n\r\n@Component({\r\n selector: 'app-componente-detalle',\r\n templateUrl: './componente-detalle.component.html',\r\n styleUrls: ['./componente-detalle.component.css']\r\n})\r\nexport class ComponenteDetalleComponent implements OnInit {\r\n\r\n componente: IComponente;\r\n formComponente: FormGroup;\r\n isReadonly: boolean = false;\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n private _proyectoService: ProyectoService,\r\n private dialogRef: MatDialogRef<ComponenteDetalleComponent>,\r\n private _snackBar: MatSnackBar,\r\n @Inject(MAT_DIALOG_DATA) public data: IComponenteEditable\r\n ) {\r\n this.componente = data.componente;\r\n this.isReadonly = data.isReadonly;\r\n \r\n console.log('DATA:', this.componente);\r\n }\r\n\r\n ngOnInit() {\r\n this.formComponente = this._fb.group({\r\n nombre: this.componente.nombre,\r\n descripcion: this.componente.descripcion,\r\n });\r\n }\r\n\r\n save() {\r\n this.componente.nombre = this.formComponente.value.nombre;\r\n this.componente.descripcion = this.formComponente.value.descripcion;\r\n\r\n this._proyectoService.updateComponente(\r\n <IComponente> this.componente\r\n ).subscribe((componente: IComponente) => {\r\n alert('¡El componente ha sido modificado!');\r\n this.dialogRef.close(this.formComponente.value);\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n\r\n handleError(error: Error) {\r\n console.log(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ComponenteDetalleComponent } from './componente-detalle/componente-detalle.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatDialogModule, MatFormFieldModule, MatInputModule } from '@angular/material';\r\n@NgModule({\r\n declarations: [ \r\n ComponenteDetalleComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatInputModule\r\n ],\r\n entryComponents: [\r\n ComponenteDetalleComponent\r\n ],\r\n exports: [\r\n ComponenteDetalleComponent \r\n ]\r\n })\r\n export class ComponentesModule {}","<section *ngIf=\"proyecto\" fxLayout=\"row wrap\" fxLayoutGap=\"0px grid\">\r\n <mat-card fxFlex=\"100%\" class=\"mat-elevation-z8\">\r\n <mat-card-header>\r\n <mat-card-title-group>\r\n <mat-card-title>{{ proyecto.aliasProyecto }}</mat-card-title>\r\n <mat-card-subtitle>{{ proyecto.nombreProyecto }} | {{nombreUnidadEjecutora}}</mat-card-subtitle>\r\n </mat-card-title-group>\r\n </mat-card-header>\r\n <mat-card-actions>\r\n <!-- <button mat-button (click)=\"abrirProyectos()\" title=\"Proyectos\">\r\n <mat-icon>dashboard</mat-icon>\r\n <span>Proyectos</span>\r\n </button> -->\r\n <button mat-button [matMenuTriggerFor]=\"menuCarga\" title=\"Formulación\">\r\n <!-- <mat-icon>construction</mat-icon> -->\r\n <span>Formulación</span>\r\n </button>\r\n <button mat-button (click)=\"abrirActividadValores()\" title=\"Presupuesto\">\r\n <!-- <mat-icon>analytics</mat-icon> -->\r\n <span>Presupuesto</span>\r\n </button>\r\n <button mat-button (click)=\"abrirEstadoProyecto()\" title=\"Estado\">\r\n <!-- <mat-icon>assistant</mat-icon> -->\r\n <span>Estado</span>\r\n </button>\r\n\r\n <button mat-button (click)=\"abrirInfTecComponentes()\" title=\"Informe Técnico\">\r\n <!-- <mat-icon>leaderboard</mat-icon> -->\r\n <span>Informe Técnico</span>\r\n </button>\r\n\r\n <button mat-button (click)=\"abrirRendicionCFN()\" title=\"Rendición Financiera\">\r\n <!-- <mat-icon>savings</mat-icon> -->\r\n <span>Rendición Financiera</span>\r\n </button>\r\n\r\n <button *ngIf=\"esUsuarioUE || puedeEditar\" mat-button (click)=\"abrirMensajes()\" title=\"Mensajes\">\r\n <!-- <mat-icon>messages</mat-icon> -->\r\n <span class=\"hidden-sm\">Mensajes</span>\r\n </button>\r\n \r\n <mat-menu #menuCarga=\"matMenu\">\r\n <button mat-menu-item (click)=\"abrirDatosGenerales()\">\r\n <span>Datos Generales</span>\r\n </button>\r\n <button mat-menu-item (click)=\"abrirDescripcion()\">\r\n <span>Descripción</span>\r\n </button>\r\n <button mat-menu-item (click)=\"abrirCargarContrapartes()\">\r\n <span>Contraparte</span>\r\n </button>\r\n <button mat-menu-item (click)=\"abrirComponentes()\">\r\n <span>Componentes</span>\r\n </button>\r\n </mat-menu>\r\n </mat-card-actions>\r\n </mat-card>\r\n</section>","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ProyectoService } from '../proyecto/services/proyecto.service';\r\nimport { IProyecto } from '../proyecto/IProyecto';\r\nimport jwtDecode from 'jwt-decode';\r\nimport { UsuarioService } from '../usuarios-UE/services/usuario.service';\r\n\r\n@Component({\r\n selector: 'header-proyecto',\r\n templateUrl: './header-proyecto.component.html',\r\n styleUrls: ['./header-proyecto.component.scss']\r\n})\r\nexport class HeaderProyectoComponent implements OnInit, OnDestroy {\r\n puedeEditar: boolean = false;\r\n esUsuarioUE = false;\r\n\r\n idProyecto: string;\r\n private routeSubscription: Subscription;\r\n\r\n proyecto: IProyecto;\r\n nombreUnidadEjecutora: string;\r\n\r\n usuario: any;\r\n\r\n constructor(\r\n private _route: ActivatedRoute,\r\n private _proyectoService: ProyectoService,\r\n private _router: Router,\r\n private _usuarioService: UsuarioService,\r\n ) { }\r\n\r\n\r\n ngOnInit() {\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.idProyecto = params['idProyecto'];\r\n\r\n const user: any = jwtDecode(localStorage.getItem('currentUser'));\r\n this.esUsuarioUE = user.tipoUsuario === 'UsuarioUE';\r\n\r\n this._proyectoService.getHeaderProyecto(this.idProyecto, user._id).subscribe((data) => {\r\n this.proyecto = data.proyecto;\r\n this.usuario = data.usuario;\r\n if (this.proyecto && this.proyecto.proyectoUnidadEjecutora && data.unidadesEjecutoras) {\r\n const aux = data.unidadesEjecutoras.find(x => x._id == this.proyecto.proyectoUnidadEjecutora.unidadEjecutora);\r\n this.nombreUnidadEjecutora = aux ? aux.nombreUnidadEjecutora : undefined;\r\n }\r\n\r\n this.applyRoles();\r\n });\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.routeSubscription.unsubscribe();\r\n }\r\n\r\n abrirProyectos() {\r\n this._router.navigate(['/proyecto'])\r\n }\r\n\r\n abrirDatosGenerales() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id]) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/datos-generales']);\r\n }\r\n\r\n abrirDescripcion() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/descripcion']) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/descripcion']);\r\n }\r\n\r\n abrirCargarContrapartes() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/cargar-contrapartes']) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/contrapartes']);\r\n }\r\n\r\n abrirComponentes() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/componentes']) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/componentes']);\r\n }\r\n\r\n abrirMensajes() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/mensajes']) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/mensajes']);\r\n }\r\n\r\n abrirInfTecComponentes() {\r\n this.esUsuarioUE ?\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/carga-inf-tec-componentes']) :\r\n this._router.navigate(['/proyecto/' + this.proyecto._id + '/inf-tec-componentes']);\r\n }\r\n\r\n abrirActividadValores() {\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/actividades-valores']);\r\n }\r\n\r\n abrirEstadoProyecto() {\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/estado-proyecto']);\r\n }\r\n\r\n abrirRendicionCFN() {\r\n this._router.navigate(['/proyecto-UE/' + this.proyecto._id + '/rendicion-financiera']);\r\n }\r\n\r\n applyRoles() {\r\n this._usuarioService.getUsuario().subscribe((usuario) => {\r\n if (!usuario || !usuario.permisos) {\r\n return;\r\n }\r\n this.puedeEditar = usuario.permisos.editar;\r\n });\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {FormsModule} from '@angular/forms';\r\nimport { FlexLayoutModule } from \"@angular/flex-layout\";\r\nimport { HeaderProyectoComponent } from './header-proyecto.component';\r\nimport {\r\n \r\n MatCardModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule\r\n } from '@angular/material';\r\n\r\n@NgModule({\r\n declarations: [\r\n HeaderProyectoComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatCardModule,\r\n FlexLayoutModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule\r\n ],\r\n bootstrap:[HeaderProyectoComponent],\r\n exports: [\r\n HeaderProyectoComponent \r\n ]\r\n })\r\n export class HeaderProyectoModule {}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { IIndicadorGestion } from '../iindicador-gestion';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { throwError } from 'rxjs/internal/observable/throwError';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'my-auth-token'\r\n })\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IndicadorGestionHttpService {\r\n\r\n baseUrl = environment.serverUrl + '/api';\r\n\r\n constructor(private _http: HttpClient) {\r\n }\r\n\r\n getAll() {\r\n return this._http.get<Array<IIndicadorGestion>>(`${this.baseUrl}/indicadorGestion`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n createIndicadorGestion(indicadorGestion: IIndicadorGestion) {\r\n return this._http.post<IIndicadorGestion>(`${this.baseUrl}/indicadorGestion`, indicadorGestion, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n updateIndicadorGestion(indicadorGestion: IIndicadorGestion) {\r\n return this._http.put<IIndicadorGestion>(`${this.baseUrl}/indicadorGestion/${indicadorGestion._id}`, indicadorGestion, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n deleteIndicadorGestion(indicadorGestion: IIndicadorGestion) {\r\n return this._http.delete(`${this.baseUrl}/indicadorGestion/${indicadorGestion._id}`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n private _handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Ocurrio un error:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend retorno el error ${error.status}, ` +\r\n `con el cuerpo: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n };\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { IndicadorGestionHttpService } from './indicador-gestion-http.service';\r\nimport { IIndicadorGestion } from '../iindicador-gestion';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IndicadorGestionService {\r\n constructor(private _httpService: IndicadorGestionHttpService) {}\r\n\r\n getAll() {\r\n return this._httpService.getAll();\r\n }\r\n\r\n createIndicadorGestion(indicadorGestion: IIndicadorGestion) {\r\n return this._httpService.createIndicadorGestion(indicadorGestion);\r\n }\r\n\r\n updateIndicadorGestion(indicadorGestion: IIndicadorGestion) {\r\n return this._httpService.updateIndicadorGestion(indicadorGestion);\r\n }\r\n\r\n deleteIndicadorGestion(indicadorGestion: IIndicadorGestion) {\r\n return this._httpService.deleteIndicadorGestion(indicadorGestion);\r\n }\r\n}\r\n","<section class=\"container\">\r\n <section #scrollMe dense class=\"conversation\">\r\n\r\n <!-- <section class=\"mas-mensajes\" *ngIf=\"conversation.length%50 == 0\">\r\n <button mat-button>\r\n Cargar más mensajes \r\n </button>\r\n </section> -->\r\n \r\n <div class=\"message\" \r\n [class.mismo-tipo]=\"message.usuario.tipo == usuario.tipoUsuario.nombreTipoUsuario\"\r\n\r\n *ngFor=\"let message of conversation\">\r\n <header>\r\n <picture>\r\n <img [src]=\"message.usuario.avatar\" />\r\n </picture>\r\n <strong class=\"user-name\">{{message.usuario.displayName}}</strong>\r\n <time>{{message.fecha | date: 'dd/MM/yy hh:mm'}}</time>\r\n </header>\r\n <div class=\"message-body\">\r\n <p>\r\n {{message.body}}\r\n </p>\r\n </div>\r\n\r\n </div>\r\n </section>\r\n <mat-divider></mat-divider>\r\n <section class=\"message-area\">\r\n <textarea [(ngModel)]=\"messageText\"></textarea>\r\n <div class=\"action-bar\">\r\n <button class=\"save-button\" mat-raised-button (click)=\"sendMessage()\">\r\n Enviar\r\n <mat-icon>send</mat-icon>\r\n </button>\r\n </div>\r\n </section>\r\n</section>","import { Component, OnInit, Input, OnDestroy, AfterViewChecked, ViewChild, ElementRef } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { IProyecto } from '../proyecto/IProyecto';\r\nimport { IUsuario } from '../../material-component/usuarios-UE/IUsuario';\r\nimport { UsuarioService } from '../../material-component/usuarios-UE/services/usuario.service';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { ErrorSnackBarComponent } from '../../material-component/shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { environment } from '../../../environments/environment';\r\n\r\nimport {\r\n HttpClient\r\n} from '@angular/common/http';\r\nimport jwtDecode from 'jwt-decode';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-messages',\r\n templateUrl: './messages.component.html',\r\n styleUrls: ['./messages.component.scss']\r\n})\r\nexport class MessagesComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n\r\n @Input('nombreTipoUsuario') nombreTipoUsuario = 'UsuarioCoviar';\r\n\r\n constructor(\r\n private _route: ActivatedRoute,\r\n private usuarioService: UsuarioService,\r\n private _snackBar: MatSnackBar,\r\n private _http: HttpClient\r\n\r\n ) {\r\n\r\n\r\n \r\n }\r\n\r\n private routeSubscription: Subscription;\r\n proyecto: IProyecto = <IProyecto>{ _id: null };\r\n usuario: IUsuario = null;\r\n baseMessagesUrl = environment.serverUrl + '/api/messages';\r\n baseNotificationsUrl = environment.serverUrl + '/api/notifications';\r\n\r\n private maxDate = new Date();\r\n private minDate = new Date();\r\n private intervalId: any;\r\n @ViewChild('scrollMe', {\r\n static: true\r\n }) private myScrollContainer: ElementRef;\r\n\r\n private doScroll = false;\r\n\r\n ngOnInit() {\r\n const user: any = jwtDecode(localStorage.getItem('currentUser'));\r\n\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.proyecto._id = params['idProyecto'];\r\n\r\n this.usuarioService.getUsuarioById(user._id).subscribe(\r\n (usuario: IUsuario) => {\r\n this.usuario = usuario;\r\n\r\n this.getMessages(this.maxDate).subscribe((messages: IMessage[]) => {\r\n if (messages) {\r\n \r\n messages.forEach(msg => this.conversation.push(msg));\r\n this.processConversation();\r\n \r\n this.intervalId = setInterval(() => {\r\n this.getMessagesFw(this.maxDate)\r\n }, 5000);\r\n this.doScroll = true;\r\n this.updateNotifications();\r\n \r\n }\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n }\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId);\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (this.doScroll) {\r\n this.scrollToBottom();\r\n this.doScroll = false;\r\n }\r\n }\r\n\r\n getMessages(date: Date) {\r\n return this._http.get(`${this.baseMessagesUrl}/${this.proyecto._id}/${date.valueOf()}`);\r\n }\r\n\r\n getMessagesFw(date: Date) {\r\n return this._http.get(`${this.baseMessagesUrl}/${this.proyecto._id}/${date.valueOf()}/fw`)\r\n .subscribe((messages: IMessage[]) => {\r\n if (messages && messages.length > 0) {\r\n\r\n messages.forEach(msg => this.conversation.push(msg));\r\n this.processConversation()\r\n this.doScroll = true;\r\n this.updateNotifications();\r\n }\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n processConversation() {\r\n this.maxDate = _(this.conversation).map(x => new Date(x.fecha)).max() || this.maxDate;\r\n this.minDate = _(this.conversation).map(x => new Date(x.fecha)).min() || this.minDate;\r\n }\r\n\r\n updateNotifications() {\r\n this._http.put(`${this.baseNotificationsUrl}/${this.proyecto._id}/${this.usuario._id}/${this.maxDate.valueOf()}`, {})\r\n .subscribe((data) => {\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n conversation: Array<IMessage> = [];\r\n messageText: string = '';\r\n\r\n sendMessage() {\r\n console.log('this.messageText', this.messageText);\r\n if (!this.messageText || this.messageText.length == 0) {\r\n return;\r\n }\r\n const message = this.buildMessage();\r\n this.httpSendMessage(message);\r\n }\r\n\r\n private handleError(error: Error) {\r\n console.log(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error.message\r\n });\r\n }\r\n\r\n private httpSendMessage(message: IMessage) {\r\n this._http.post(`${this.baseMessagesUrl}/${this.proyecto._id}`, message).subscribe((inMessage: IMessage) => {\r\n this.conversation.push(inMessage);\r\n this.maxDate = new Date(inMessage.fecha);\r\n this.messageText = '';\r\n this.doScroll = true;\r\n });\r\n }\r\n\r\n private buildMessage(): IMessage {\r\n return {\r\n body: this.messageText,\r\n fecha: new Date(),\r\n proyecto: this.proyecto._id,\r\n usuario: {\r\n displayName: `${this.usuario.apellidoUsuario}, ${this.usuario.nombreUsuario}`,\r\n id: this.usuario._id,\r\n avatar: (this.usuario as any).avatar || 'assets/images/users/avatar.jpg',\r\n tipo: (this.usuario.tipoUsuario as any).nombreTipoUsuario\r\n }\r\n };\r\n }\r\n\r\n scrollToBottom(): void {\r\n try {\r\n this.myScrollContainer.nativeElement.scrollTop = this.myScrollContainer.nativeElement.scrollHeight;\r\n } catch (err) { }\r\n }\r\n}\r\n\r\nexport interface IUser {\r\n displayName: string,\r\n // nombre: string,\r\n // apellido: string,\r\n avatar: string,\r\n tipo: string,\r\n id?: string,\r\n}\r\n\r\nexport interface IMessage {\r\n usuario: IUser,\r\n fecha: Date\r\n body: string,\r\n proyecto?: string,\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {FormsModule} from '@angular/forms';\r\n\r\nimport { MessagesComponent } from './messages.component';\r\nimport {\r\n \r\n MatIconModule,\r\n MatButtonModule,\r\n MatListModule,\r\n MatSnackBarModule,\r\n MatFormFieldModule\r\n } from '@angular/material';\r\n\r\n@NgModule({\r\n declarations: [\r\n MessagesComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n \r\n MatIconModule,\r\n MatButtonModule,\r\n MatListModule,\r\n MatSnackBarModule,\r\n MatFormFieldModule,\r\n\r\n ],\r\n bootstrap:[MessagesComponent],\r\n exports: [\r\n MessagesComponent \r\n ]\r\n })\r\n export class MessagesModule {}","<div class=\"example-loading-shade\" *ngIf=\"isLoading\">\r\n <mat-spinner></mat-spinner>\r\n</div>\r\n<header-proyecto></header-proyecto>\r\n\r\n<h1 class=\"upper-case\" mat-dialog-title>Fondos disponibles</h1>\r\n<div class=\"example-table-container tabla-meses mat-elevation-z8\">\r\n <table *ngIf=\"presupuesto\" mat-table [dataSource]=\"presupuesto\" class=\"example-table\" matSort matSortActive=\"created\"\r\n matSortDisableClear matSortDirection=\"desc\">\r\n\r\n <ng-container matColumnDef=\"name\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let row\">{{row.name}}</td>\r\n </ng-container>\r\n\r\n <ng-container [matColumnDef]=\"mes\" *ngFor=\"let mes of meses\">\r\n <th mat-header-cell *matHeaderCellDef>{{mes}}</th>\r\n <td [class.has-error]=\"row[mes].value < 0\" mat-cell *matCellDef=\"let row\">${{row[mes].value | number:'':'es' }}\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"totales\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: totales\"></tr>\r\n </table>\r\n</div>\r\n\r\n<br />\r\n\r\n<h1 class=\"upper-case\" mat-dialog-title>{{componente?.nombre}} | Carga de actividades</h1>\r\n\r\n<div class=\"form\">\r\n\r\n <div fxLayout fxLayout.xs=\"column\" fxlayout=\"row\" fxLayoutGap=\"2px\" fxLayoutGap.xs=\"0\">\r\n <div fxflex=\"20%\" class=\"coviar-flex-20\">\r\n <h5 class=\"example-h3\">Actividad</h5>\r\n\r\n </div>\r\n\r\n <input type=\"hidden\" name=\"_id\" [ngModel]=\"actividad._id\" />\r\n\r\n <div fxflex=\"100%\" class=\"coviar-flex-100\">\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <mat-label>Nombre de la actividad</mat-label>\r\n <input matInput type=\"text\" placeholder=\"Nombre de la actividad\" [(ngModel)]=\"actividad.nombre\" required/>\r\n <mat-error>Nombre Obligatorio</mat-error>\r\n <!--mat-hint>Nombre Obligatorio</mat-hint-->\r\n </mat-form-field>\r\n\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"16px grid\">\r\n <div fxFlex=\"50%\" fxFlex.xs=\"100%\" fxFlex.sm=\"100%\">\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <mat-label>ID (PRG)</mat-label>\r\n <input matInput type=\"text\" placeholder=\"ID (PRG)\" [(ngModel)]=\"actividad.id\" />\r\n </mat-form-field>\r\n </div>\r\n <div fxFlex=\"50%\" fxFlex.xs=\"100%\" fxFlex.sm=\"100%\">\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <mat-label>Zona</mat-label>\r\n <mat-select [compareWith]=\"compareFn\" [(ngModel)]=\"actividad.zona\" placeholder=\"Zona\" required>\r\n <mat-option *ngFor=\"let zona of zonas\" [value]=\"zona\">\r\n {{ zona.nombreZona }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error>Zona Obligatoria</mat-error>\r\n <!--mat-hint>Zona Obligatoria</mat-hint-->\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <mat-form-field appearance=\"outline\" class=\"full-width\">\r\n <mat-label>Descripción</mat-label>\r\n <textarea matInput placeholder=\"Descripción\" [(ngModel)]=\"actividad.descripcion\" rows=\"3\" required></textarea>\r\n <mat-error>Descripción Obligatoria</mat-error>\r\n <!--mat-hint>Descripción Obligatoria</mat-hint-->\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div fxLayout fxLayout.xs=\"column\" fxlayout=\"row\" fxLayoutGap=\"2px\" fxLayoutGap.xs=\"0\">\r\n <div fxflex=\"20%\" class=\"coviar-flex-20\">\r\n <h5 class=\"example-h3\">Vigencia</h5>\r\n\r\n </div>\r\n <div fxflex=\"100%\" class=\"coviar-flex-100\">\r\n <mat-button-toggle-group [multiple]=\"true\" name=\"vigencia\" aria-label=\"Vigencia\" class=\"vigencia\"\r\n [value]=\"actividad.meses\">\r\n <mat-button-toggle (click)=\"cambiarVigencia(actividad.vigencia[mes])\" [(value)]=\"mes\" name=\"value\"\r\n *ngFor=\"let mes of meses\">\r\n {{actividad.vigencia[mes].label}}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n <br />\r\n\r\n <div fxLayout fxLayout.xs=\"column\" fxlayout=\"row\" fxLayoutGap=\"2px\" fxLayoutGap.xs=\"0\">\r\n <div fxflex=\"20%\" class=\"coviar-flex-20\">\r\n <h5 class=\"example-h3\">Recursos</h5>\r\n\r\n </div>\r\n <div fxflex=\"100%\" class=\"coviar-flex-100\">\r\n <ng-container *ngFor=\"let prevision of actividad.previsiones; let i = index\">\r\n <mat-card>\r\n <div class=\"row\">\r\n <mat-icon title=\"Eliminar previsión\" class=\"eliminar-prevision\" (click)=\"eliminarPrevision(prevision)\">\r\n delete</mat-icon>\r\n <h5>Recurso {{ i + 1 }}</h5>\r\n <input style=\"display: none;\" type=\"text\" matInput name=\"_id\" [ngModel]=\"prevision._id\" />\r\n\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"16px grid\">\r\n <div fxFlex=\"25%\">\r\n <mat-form-field>\r\n <mat-label>Tipo de gasto</mat-label>\r\n <mat-select [compareWith]=\"compareFn\" [(ngModel)]=\"prevision.tipo\" placeholder=\"Tipo de Gasto\" required>\r\n <mat-option>No aplica</mat-option>\r\n <mat-option *ngFor=\"let tipoG of tipoGastos\" [value]=\"tipoG\">\r\n {{ tipoG.nombre }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error>Tipo de Gasto Obligatorio</mat-error>\r\n <!--mat-hint>Tipo de Gasto Obligatorio</mat-hint-->\r\n </mat-form-field>\r\n </div>\r\n <div fxFlex=\"25%\">\r\n <mat-form-field>\r\n <mat-label>Nombre</mat-label>\r\n <input matInput type=\"text\" placeholder=\"Nombre\" [(ngModel)]=\"prevision.nombre\" required/>\r\n <mat-error>Nombre Obligatorio</mat-error>\r\n <!--mat-hint>Nombre Obligatorio</mat-hint-->\r\n </mat-form-field>\r\n </div>\r\n <div fxFlex=\"25%\">\r\n <mat-form-field>\r\n <mat-label>% COVIAR</mat-label>\r\n <input matInput type=\"number\" placeholder=\"Coviar\" [(ngModel)]=\"prevision.porcentajeCoviar\" min=0\r\n max=100 (change)=\"cambiarPorcentajeCoviar(prevision)\" />\r\n </mat-form-field>\r\n </div>\r\n <div fxFlex=\"25%\">\r\n <mat-form-field>\r\n <mat-label>% Contraparte</mat-label>\r\n <input matInput type=\"number\" placeholder=\"Contraparte\" [(ngModel)]=\"prevision.porcentajeContraparte\"\r\n min=0 disabled max=100 />\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\"8px grid\">\r\n <div fxFlex=\"16%\" fxFlex.lg=\"8%\" fxFlex.xl=\"8%\" *ngFor=\"let mes of meses\">\r\n <mat-form-field>\r\n <mat-label>{{ mes.substring(0,3) | titlecase }}</mat-label>\r\n <input class=\"gastos-meses-input\" [disabled]=\"!actividad.vigencia[mes].value\" matInput currencyMask\r\n onfocus = 'this.selectionStart = this.selectionEnd = this.value.length;'\r\n onclick = 'this.selectionStart = this.selectionEnd = this.value.length;'\r\n [(ngModel)]=\"prevision.flujo[mes].value\" min=0 />\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </mat-card>\r\n </ng-container>\r\n\r\n <button class=\"mat-raised-button action-button agregar-btn\" (click)=\"agregarPrevision()\">\r\n Añadir Recurso\r\n </button>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <button class=\"save-button\" mat-raised-button (click)=\"save()\">\r\n Guardar\r\n </button>\r\n <button class=\"mat-raised-button action-button\" *ngIf=\"esEdiar\" (click)=\"cancelarEdicion()\">\r\n Cancelar\r\n </button>\r\n <span class=\"obligatorios\">Los campos marcados con * son obligatorios</span>\r\n</div>\r\n\r\n<br />\r\n<hr>\r\n<br />\r\n<div>\r\n <h4>Actividades</h4>\r\n\r\n <div class=\"example-table-container\">\r\n <table mat-table [dataSource]=\"datosActividades\" class=\"example-table\" matSort matSortActive=\"created\"\r\n matSortDisableClear matSortDirection=\"desc\" multiTemplateDataRows>\r\n <!-- Unidades Participantes Column -->\r\n <ng-container matColumnDef=\"nombreUE\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Actividades</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-icon *ngIf=\"row != expandedRow\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"row == expandedRow\">expand_less</mat-icon>\r\n {{ row.nombre }}\r\n </td>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"zona\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Zona</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.zona?.nombreZona}}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"id\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>ID(PRG)</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.id}}</td>\r\n </ng-container>\r\n\r\n <!-- Fondos Column -->\r\n <ng-container matColumnDef=\"fondosCoviar\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Fondos COVIAR</th>\r\n <td mat-cell *matCellDef=\"let row\">$ {{ row.sumaFondosCoviar | number:'':'es' }}</td>\r\n </ng-container>\r\n\r\n <!-- Fondos Column -->\r\n <ng-container matColumnDef=\"fondosContraparte\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Fondos Contraparte</th>\r\n <td mat-cell *matCellDef=\"let row\">$ {{ row.sumaFondosContraParte | number:'':'es' }}</td>\r\n </ng-container>\r\n\r\n <!-- descripcion Column -->\r\n <ng-container matColumnDef=\"descripcion\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Descripción</th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <button mat-icon-button (click)=\"showDescripcion($event, row)\">\r\n <mat-icon>remove_red_eye</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n\r\n <!-- Action Column -->\r\n <ng-container matColumnDef=\"action\">\r\n <th class=\"coviar-th\" mat-header-cell *matHeaderCellDef>Accion</th>\r\n <td mat-cell *matCellDef=\"let row\" class=\"action-link\">\r\n <a (click)=\"abrirEditar(row)\" *ngIf=\"!esEdiar\">Editar</a> |\r\n <a (click)=\"delete(row)\" *ngIf=\"!esEdiar\">Eliminar</a>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Expanded Content Column - The detail row is made up of this one column that spans across all columns -->\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td mat-cell *matCellDef=\"let row\" [attr.colspan]=\"actividadesColumns.length\">\r\n <div class=\"coviar-row-detail\" [@detailExpand]=\"row == expandedRow ? 'expanded' : 'collapsed'\">\r\n <table class=\"table-inside\">\r\n <thead>\r\n <th>Recursos</th>\r\n <th *ngFor=\"let mes of row.meses\">\r\n {{mes.substring(0,3)}}\r\n </th>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let prev of row.data\">\r\n <td [class]=\"'td-tipo-' + prev.type\">{{prev.nombre}}</td>\r\n <td [class]=\"'td-tipo-value-'+ prev.type\" *ngFor=\"let flujo of prev.data\">\r\n ${{flujo.monto | number:'':'es'}}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"actividadesColumns\"></tr>\r\n <tr class=\"coviar-row\" mat-row *matRowDef=\"let row; columns: actividadesColumns\"\r\n (click)=\"switchExpandedRow($event, row)\" [class.coviar-expanded-row]=\"expandedRow === row\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"coviar-detail-row\"></tr>\r\n </table>\r\n </div>\r\n\r\n</div>\r\n\r\n<mat-dialog-actions class=\"botones-accion\">\r\n <button class=\"mat-raised-button volver-btn\" (click)=\"volver()\">\r\n Volver\r\n </button>\r\n <!-- <button class=\"mat-raised-button action-button\" (click)=\"save()\">\r\n Guardar\r\n </button> -->\r\n</mat-dialog-actions>","\n <h1 mat-dialog-title>Descripción</h1>\n <div mat-dialog-content>\n <p>{{data.descripcion || '- sin descripcion -'}}</p>\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"close()\">Cerrar</button>\n </div>","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { MatSnackBar, MatButtonToggleChange, MatDialogConfig, MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ProyectoService } from '../services/proyecto.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { IComponente } from '../IComponente';\r\nimport { IActividad, EstadoActividad, IInformeActividad } from '../IActividad';\r\nimport { NOMBRE_MESES } from '../../shared/constantes';\r\nimport { FlujoMensualService } from '../../flujo-mensual/services/flujo-mensual.service';\r\nimport { IFlujoMensual } from '../../flujo-mensual/IFlujoMensual';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { TipoGastoService } from '../../tipo-gasto/services/tipo-gasto.service';\r\nimport { ITipoGasto } from '../../tipo-gasto/ITipoGasto';\r\nimport { generarPresupuesto, eliminarConsumo, actualizarConsumo, configurarComponente, configurarActividad, tablaActividades } from '../../shared/utils/utils';\r\nimport { MesOperationProperties, IMesOperationProperty, MesProperty } from '../../shared/utils/types';\r\nimport { IPrevision } from '../IPrevision';\r\nimport { IZona } from '../../zona/izona';\r\nimport * as _ from 'lodash';\r\nimport { ComponenteDetalleComponent } from '../../componentes/componente-detalle/componente-detalle.component';\r\n\r\nlet self: any;\r\n\r\n@Component({\r\n selector: 'app-cargar-actividades-proyecto',\r\n templateUrl: './cargar-actividades-proyecto.component.html',\r\n styleUrls: ['./cargar-actividades-proyecto.component.scss'],\r\n animations: [\r\n trigger('detailExpand', [\r\n state('collapsed', style({ height: '0px', minHeight: '0' })),\r\n state('expanded', style({ height: '*' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\r\n ]),\r\n ],\r\n})\r\nexport class CargarActividadesProyectoComponent implements OnInit, OnDestroy {\r\n\r\n zonas: IZona[];\r\n componente: IComponente = <IComponente>{};\r\n idProyecto: string;\r\n isLoading = true;\r\n vigenciaActual: MatButtonToggleChange = null;\r\n expandedRow: IActividad | null;\r\n actividad: ActividadViewModel;\r\n flujoMensual: IFlujoMensual;\r\n meses = NOMBRE_MESES;\r\n esEdiar = false;\r\n\r\n totales = ['name', ...NOMBRE_MESES];\r\n\r\n displayedColumns = NOMBRE_MESES;\r\n\r\n actividadesColumns: string[] = [\r\n 'nombreUE',\r\n 'id',\r\n 'zona',\r\n 'fondosCoviar',\r\n 'fondosContraparte',\r\n 'descripcion',\r\n 'action'\r\n ];\r\n\r\n presupuesto: MesOperationProperties<number>[];\r\n\r\n // datosActividades: any[];\r\n tipoGastos: Array<{ nombre: string, _id?: string, tipo?: string }>;\r\n\r\n private routeSubscription: Subscription;\r\n\r\n datosActividades: any[];\r\n\r\n constructor(\r\n private _proyectoService: ProyectoService,\r\n private _flujoMensualService: FlujoMensualService,\r\n private _snackBar: MatSnackBar,\r\n private _router: Router,\r\n private _route: ActivatedRoute,\r\n private _tipoGastoService: TipoGastoService,\r\n private dialog: MatDialog,\r\n ) {\r\n self = this;\r\n\r\n // this.agregarPrevision();\r\n this.actividad = new ActividadViewModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.routeSubscription = this._route.params.subscribe(params => {\r\n this.idProyecto = params['idProyecto'];\r\n this.componente._id = params['idComponente'];\r\n });\r\n this.init();\r\n }\r\n\r\n onFlujoChange(flujo: string, event: any) {\r\n // event.target.value = +event.target.value;\r\n\r\n // if (event.target.value > this.gastosMeses[0][flujo]) {\r\n // event.target.value = this.gastosMeses[0][flujo];\r\n // } else if (event.target.value < 0) {\r\n // event.target.value = 0;\r\n // }\r\n }\r\n\r\n init() {\r\n this._tipoGastoService.getAll().subscribe((data: ITipoGasto[]) => {\r\n this.tipoGastos = data.map((tp => ({\r\n nombre: tp.nombre,\r\n _id: tp._id,\r\n tipo: tp.tipo\r\n })))\r\n });\r\n\r\n this._proyectoService.getZonas().subscribe(\r\n (opciones: any) => {\r\n this.zonas = [{\r\n _id: 'SIN_DEFINIR',\r\n createDate: new Date(),\r\n descripcionZona: 'SIN DEFINIR',\r\n fechaFinVigZona: new Date(),\r\n nombreZona: 'SIN DEFINIR'\r\n }, ...(_.orderBy(opciones, x => x.nombreZona))];\r\n\r\n this.initActividad();\r\n\r\n this._flujoMensualService.getFlujoMensualByProyecto(this.idProyecto).subscribe\r\n ((flujoMensual: IFlujoMensual) => {\r\n this.flujoMensual = flujoMensual;\r\n\r\n this._proyectoService.getComponenteById(this.componente._id).pipe(\r\n finalize(() => (this.isLoading = false))\r\n ).subscribe((componente: IComponente) => {\r\n this.componente = configurarComponente(componente);\r\n //actualizarConsumo(flujoMensual, this.componente);\r\n this.presupuesto = generarPresupuesto(flujoMensual);\r\n if (!this.componente.actividades) {\r\n return;\r\n }\r\n this.fillActividades();\r\n\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n fillActividades() {\r\n this.datosActividades = tablaActividades([...this.componente.actividades]);\r\n }\r\n\r\n cambiarVigencia(vigencia: IMesOperationProperty<boolean>) {\r\n this.actividad.cambiarViagencia(vigencia);\r\n }\r\n\r\n volver() {\r\n this._router.navigate(['proyecto-UE/' + this.idProyecto + '/componentes']);\r\n }\r\n\r\n save() {\r\n\r\n if (!this.componente.actividades) {\r\n this.componente.actividades = [];\r\n }\r\n\r\n const nuevaActividad = this.actividad;\r\n if (!nuevaActividad.nombre || !nuevaActividad.vigencia || !nuevaActividad.descripcion\r\n || !nuevaActividad.previsiones\r\n || nuevaActividad.previsiones.length == 0\r\n || nuevaActividad.previsiones.filter(x => !x.nombre || !x.tipo).length > 0\r\n || !nuevaActividad.zona\r\n ) {\r\n return;\r\n }\r\n\r\n this.componente.actividades = [...this.componente.actividades.filter(x => x._id != nuevaActividad._id), nuevaActividad];\r\n this.componente = configurarComponente(this.componente)\r\n\r\n this._proyectoService.updateComponente(this.componente).subscribe(\r\n (response: any) => {\r\n alert('¡La actividad ha sido agregada exitosamente a la lista!');\r\n this.init();\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n }\r\n );\r\n\r\n this.cancelarEdicion();\r\n }\r\n\r\n cancelarEdicion() {\r\n this.esEdiar = false;\r\n this.initActividad();\r\n }\r\n\r\n agregarPrevision() {\r\n this.actividad.agregarPrevision();\r\n }\r\n\r\n abrirEditar(actividad: IActividad) {\r\n this.actividad = new ActividadViewModel(actividad);\r\n this.esEdiar = true;\r\n }\r\n\r\n initActividad() {\r\n this.actividad = new ActividadViewModel();\r\n this.actividad.zona = this.zonas[0];\r\n }\r\n\r\n delete(actividad: IActividad) {\r\n if (confirm('¿Está seguro que desea eliminar esta actividad?')) {\r\n\r\n this.componente.actividades = this.componente.actividades.filter(item => item._id != actividad._id);\r\n\r\n this.componente = configurarComponente(this.componente)\r\n actualizarConsumo(this.flujoMensual, this.componente);\r\n this.presupuesto = generarPresupuesto(this.flujoMensual);\r\n\r\n this.fillActividades();\r\n this._proyectoService.updateComponente(this.componente).subscribe(\r\n (response: any) => {\r\n this.init();\r\n\r\n alert('¡La actividad ha sido eliminada de la lista!');\r\n }, (error: Error) => {\r\n this.handleError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n cambiarPorcentajeCoviar(prevision: IPrevision) {\r\n prevision.porcentajeContraparte = 100 - prevision.porcentajeCoviar;\r\n }\r\n\r\n\r\n handleError(error: Error) {\r\n console.log(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.routeSubscription.unsubscribe();\r\n }\r\n\r\n eliminarPrevision(prevision: IPrevision) {\r\n this.actividad.eliminarPrevision(prevision);\r\n eliminarConsumo(this.flujoMensual, prevision._id);\r\n }\r\n\r\n compareFn(a: { _id: string }, b: { _id: string }) {\r\n return a && b ? a._id === b._id : a === b;\r\n }\r\n\r\n showDescripcion(event, actividad) {\r\n event.stopPropagation();\r\n // alert(actividad.descripcion);\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.minWidth = '300px';\r\n dialogConfig.data = actividad;\r\n self.dialogRef = this.dialog.open(ActividadDescripcionDialog, dialogConfig);\r\n }\r\n\r\n switchExpandedRow(event, row) {\r\n this.expandedRow = this.expandedRow === row ? null : row;\r\n }\r\n}\r\n\r\nclass ActividadViewModel implements IActividad {\r\n nombre?: string;\r\n id?: string;\r\n _id?: number;\r\n vigencia?: MesOperationProperties<boolean>\r\n zona?: IZona;\r\n createDate?: string;\r\n descripcion?: string;\r\n\r\n activo?: boolean;\r\n previsiones?: IPrevision[];\r\n sumaFondosCoviar?: number;\r\n sumaFondosContraParte?: number;\r\n estado?: MesOperationProperties<EstadoActividad>;\r\n informeActividad?: Array<IInformeActividad>;\r\n flujo?: MesOperationProperties<number>;\r\n flujoCoviar?: MesOperationProperties<number>;\r\n flujoContraparte?: MesOperationProperties<number>;\r\n totalAnualFlujo?: number;\r\n totalAnualFlujoCoviar?: number;\r\n totalAnualFlujoContraparte?: number;\r\n meses?: MesProperty[]\r\n\r\n constructor(actividad?: IActividad) {\r\n actividad = actividad || <IActividad>{\r\n nombre: null,\r\n id: null,\r\n _id: null,\r\n vigencia: new MesOperationProperties<boolean>(false),\r\n zona: null,\r\n createDate: null,\r\n activo: true,\r\n previsiones: [],\r\n sumaFondosCoviar: 0,\r\n sumaFondosContraParte: 0,\r\n estado: new MesOperationProperties<EstadoActividad>('indefinida'),\r\n informeActividad: [],\r\n flujo: new MesOperationProperties<number>(0),\r\n flujoCoviar: new MesOperationProperties<number>(0),\r\n flujoContraparte: new MesOperationProperties<number>(0),\r\n totalAnualFlujo: 0,\r\n totalAnualFlujoCoviar: 0,\r\n totalAnualFlujoContraparte: 0,\r\n meses: []\r\n }\r\n\r\n for (const key in actividad) {\r\n if (Object.prototype.hasOwnProperty.call(actividad, key)) {\r\n this[key] = actividad[key];\r\n }\r\n }\r\n }\r\n\r\n eliminarPrevision(prevision: IPrevision) {\r\n this.previsiones = this.previsiones.filter(x => x._id != prevision._id);\r\n return prevision;\r\n }\r\n\r\n cambiarViagencia(vigencia: IMesOperationProperty<boolean>) {\r\n vigencia.value = !vigencia.value;\r\n if (!vigencia.value) {\r\n this.previsiones.forEach(x => x.flujo[vigencia.property].value = 0)\r\n }\r\n }\r\n\r\n agregarPrevision() {\r\n const prevision: IPrevision = {\r\n _id: Date.now(),\r\n createDate: new Date(),\r\n tipo: null,\r\n nombre: '',\r\n flujo: new MesOperationProperties<number>(0),\r\n porcentajeContraparte: 0,\r\n porcentajeCoviar: 100,\r\n flujoContraparte: new MesOperationProperties<number>(0),\r\n flujoCoviar: new MesOperationProperties<number>(0)\r\n };\r\n\r\n if (this.previsiones) {\r\n this.previsiones.push(prevision);\r\n }\r\n return prevision;\r\n }\r\n\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'app-ver-actividades-descripcion',\r\n template: `\r\n <h1 mat-dialog-title>Descripción</h1>\r\n <div mat-dialog-content>\r\n <p>{{data.descripcion || '- sin descripcion -'}}</p>\r\n </div>\r\n <div mat-dialog-actions>\r\n <button mat-button (click)=\"close()\">Cerrar</button>\r\n </div>`,\r\n})\r\nexport class ActividadDescripcionDialog {\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogRef: MatDialogRef<ComponenteDetalleComponent>,\r\n ) {\r\n console.log(this.data);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n}","<div style=\"width: 100%;\">\r\n\r\n <h2 mat-dialog-title\r\n style=\"background-color: rgb(228, 228, 228) ;color: black; padding: 10px; font-size: 20px; position: relative; text-align: center;\">\r\n Motivo Forzar cambio de fase\r\n <button (click)=\"close()\"\r\n style=\"position: absolute; top: 11px; right: 8px; padding: 0px; margin: 0px; background-color:rgb(212, 212, 212); width: 30px; height: 30px; cursor: pointer; font-size: 21px;\">\r\n x\r\n </button>\r\n </h2>\r\n <mat-form-field class=\"example-full-width\">\r\n <mat-label>Motivo:</mat-label>\r\n <textarea matInput [(ngModel)]=\"motivo\"></textarea>\r\n </mat-form-field>\r\n <button class=\"save-button\" mat-raised-button (click)=\"save()\">Aceptar</button>\r\n\r\n <style>\r\n .dot {\r\n height: 12px;\r\n width: 12px;\r\n background-color: #bbb;\r\n border-radius: 50%;\r\n display: inline-block;\r\n }\r\n </style>\r\n\r\n \r\n</div>","import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport * as _ from 'lodash';\r\nimport { EstrategiasService } from '../../shared/estrategias/estrategias.service';\r\nimport { IEstrategia } from '../../shared/estrategias/estrategias/estrategias';\r\nimport { IObjetivoEstrategico } from '../../shared/estrategias/objetivos-estrategicos/objetivos-estrategicos';\r\n\r\n@Component({\r\n selector: 'app-estado-proyecto-forzar-modal',\r\n templateUrl: './estado-proyecto-forzar-modal.component.html',\r\n styleUrls: ['./estado-proyecto-forzar-modal.component.scss']\r\n})\r\nexport class EstadoProyectoForzarModal implements OnInit {\r\n motivo: string = '';\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogRef: MatDialogRef<EstadoProyectoForzarModal>,\r\n private _estrategiasService: EstrategiasService,\r\n ) { }\r\n\r\n async ngOnInit() {\r\n \r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n save() {\r\n this.dialogRef.close(this.motivo);\r\n }\r\n \r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport {\r\n MatButtonToggleModule,\r\n MatCheckboxModule,\r\n MatDialogModule,\r\n MatFormFieldModule, MatInputModule, MatListModule, MatPaginatorModule, MatProgressSpinnerModule,\r\n MatSelectModule, MatSliderModule, MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatTableModule,\r\n MatRadioModule,\r\n MatProgressBarModule,\r\n MatTooltipModule\r\n} from '@angular/material';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { ChartsModule, ThemeService } from 'ng2-charts';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { CustomSnackBarModule } from '../../shared/custom-snack-bar/custom-snack-bar.module';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { ChartistModule } from 'ng-chartist';\r\nimport { MaterialFileUploadModule } from '../../material-file-upload/material-file-upload.module';\r\nimport { MessagesModule } from '../../messages/messages.module';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { HeaderProyectoModule } from '../../header-proyecto/header-proyecto.module';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { ComponentesModule } from '../../componentes/componentes.module';\r\nimport { SharedModule } from '../../../shared/shared.module';\r\nimport { EstadoProyectoForzarModal } from './estado-proyecto-forzar-modal.component';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n EstadoProyectoForzarModal,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatGridListModule,\r\n MatCardModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSelectModule,\r\n MatExpansionModule,\r\n MatCheckboxModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n LayoutModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatSnackBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatListModule,\r\n MatButtonToggleModule,\r\n CustomSnackBarModule,\r\n ChartistModule,\r\n MatProgressBarModule,\r\n FlexLayoutModule,\r\n MaterialFileUploadModule,\r\n MessagesModule,\r\n MatStepperModule,\r\n HeaderProyectoModule,\r\n ComponentesModule,\r\n MatTooltipModule,\r\n SharedModule\r\n ],\r\n providers: [\r\n ThemeService\r\n ],\r\n entryComponents: [\r\n EstadoProyectoForzarModal\r\n ]\r\n})\r\n\r\nexport class EstadoProyectoForzarModalModule { }\r\n","import { IPresupuestoAnual } from \"../../presupuesto-anual/IPresupuestoAnual\";\r\nimport { IFlujoMensual } from \"../../flujo-mensual/IFlujoMensual\";\r\nimport { NOMBRE_MESES } from \"../../shared/constantes\";\r\nimport * as _ from 'lodash';\r\nimport { IComponente } from \"../IComponente\";\r\nimport { configurarComponente, generarPresupuesto } from \"../../shared/utils/utils\";\r\nimport { MesOperationProperties, MesProperty } from \"../../shared/utils/types\";\r\nimport { IActividad } from \"../IActividad\";\r\nimport { IIndicador } from \"../IIndicador\";\r\n\r\nexport type NumeroFase = 1 | 2 | 3 | 4 | 5;\r\nexport type NombreFase = \"formulacion\" | \"evaluacion\" | \"ejecucion\" | \"evaluacionFinal\" | \"finalizado\";\r\n\r\nexport interface ResumenFase {\r\n numero: NumeroFase,\r\n nombre: NombreFase\r\n}\r\n\r\nexport interface FaseProyecto<T> extends ResumenFase {\r\n valor: T;\r\n completada: boolean;\r\n condiciones?: Array<Condicion>;\r\n cumpleCondiciones?: boolean;\r\n enviado: boolean;\r\n}\r\n\r\nexport interface Condicion {\r\n id?: string;\r\n descripcion: string;\r\n valor: boolean;\r\n}\r\n\r\n\r\n//#region condiciones fase 1\r\nexport const PROYECTO_TIENE_PRESUPUESTO: Condicion = {\r\n descripcion: 'El proyecto tiene presupuesto asignado',\r\n valor: false,\r\n id: 'proyectoTienePresupuesto'\r\n}\r\n\r\nexport const PROYECTO_TIENE_FLUJO_MENSUAL: Condicion = {\r\n descripcion: 'El proyecto tiene flujo mensual planificado',\r\n valor: false,\r\n id: 'proyectoTieneFlujoMensual'\r\n}\r\n\r\nexport const PROYECTO_TIENE_COMPONENTES: Condicion = {\r\n descripcion: 'El proyecto tiene componentes',\r\n valor: false,\r\n id: 'proyectoTieneComponentes'\r\n}\r\n\r\nexport const COMPONENTES_TIENEN_ACTIVIDADES: Condicion = {\r\n descripcion: 'Los componentes del proyectos tienen actividades',\r\n valor: false,\r\n id: 'componentesTienenActividades'\r\n}\r\n\r\nexport const COMPONENTES_TIENEN_INDICADORES: Condicion = {\r\n descripcion: 'Los componentes del proyectos tienen indicadores',\r\n valor: false,\r\n id: 'componentesTienenIndicadores'\r\n}\r\n\r\nexport const ACTIVIDADES_TIENEN_RECURSOS: Condicion = {\r\n descripcion: 'Las actividades de los componentes tienen recursos',\r\n valor: false,\r\n id: 'actividadesTienenRecursos'\r\n}\r\n\r\nexport const PROYECTO_TIENE_FORO_VALIDACION: Condicion = {\r\n descripcion: 'El proyecto tiene foro de validación cargado',\r\n valor: false,\r\n id: 'proyectoTieneForoValidacion'\r\n}\r\n\r\n\r\nexport const PROYECTO_TIENE_BALANCE_CERO: Condicion = {\r\n descripcion: 'El proyecto tiene balance igual cero (0), esto signifca que todos los recursos fuerón asignados exactamente como fué planificado, mes a mes',\r\n valor: false,\r\n id: 'proyectoTieneBalanceCero'\r\n}\r\n\r\n//#endregion \r\n\r\nexport interface FaseFormulacion {\r\n}\r\n\r\n\r\nexport type TiposCalificacionMertio = \"SinDefinir\" | \"NoAceptable\" | \"Regular\" | \"Aceptable\";\r\nexport interface CalificacionDeMerito {\r\n id?: string;\r\n tipo: TiposCalificacionMertio;\r\n descripcion: string;\r\n title: string;\r\n}\r\n\r\nexport type OpcionesRequisitos = \"SinDefinir\" | 'SI' | 'NO';\r\n\r\nexport interface Requisito {\r\n valor: OpcionesRequisitos,\r\n titulo: string;\r\n descripcion: string\r\n}\r\n\r\n//#region condiciones fase 2\r\nexport const PROYECTO_TIENE_DICTAMEN_TECNICO: Condicion = {\r\n descripcion: 'El proyecto tiene diactamen técnico cargado',\r\n valor: false,\r\n id: 'proyectoTieneDictamenTecnico'\r\n}\r\n\r\nexport const PROYECTO_TIENE_ACTA_DIRECTORIO: Condicion = {\r\n descripcion: 'El proyecto tiene el acta de directorio cargado',\r\n valor: false,\r\n id: 'proyectoTieneActaDirectorio'\r\n}\r\n\r\nexport const PROYECTO_TIENE_ACTA_MESA_EJECUTIVA: Condicion = {\r\n descripcion: 'El proyecto tiene el acta de mesa ejecutiva y convenio cargado',\r\n valor: false,\r\n id: 'proyectoTieneActaMesaEjecutiva'\r\n}\r\n\r\nexport const PROYECTO_TIENE_EVALUACION_REQUISITOS: Condicion = {\r\n descripcion: 'El proyecto tiene la evaluación de requisitos completeda',\r\n valor: false,\r\n id: 'proyectoTieneEvaluacionRequisitos'\r\n}\r\n\r\nexport const PROYECTO_TIENE_CALIFICACION_MERITO: Condicion = {\r\n descripcion: 'El proyecto tiene calificación de mérito',\r\n valor: false,\r\n id: 'proyectoTieneCalificacionMerito'\r\n}\r\n\r\nexport const CALIFICACION_MERITO_SIN_DEFINIR: CalificacionDeMerito = {\r\n id: 'SinDefinir',\r\n tipo: 'SinDefinir',\r\n descripcion: '',\r\n title: '',\r\n}\r\n\r\nexport const CALIFICACION_MERITO_NO_ACEPTABLE: CalificacionDeMerito = {\r\n id: 'NoAceptable',\r\n tipo: 'NoAceptable',\r\n descripcion: 'El proyecto tiene serias deficiencias o no puede evaluarse con respecto a los criterios establecidos',\r\n title: 'No Aceptable',\r\n}\r\n\r\nexport const CALIFICACION_MERITO_REGULAR: CalificacionDeMerito = {\r\n id: 'Regular',\r\n tipo: 'Regular',\r\n descripcion: 'El proyecto presenta deficiencias en lo que hace a sus objetivos generales y particulares y/o es muy baja la probabilidad de alcanzar los mismos.',\r\n title: 'Regular',\r\n}\r\n\r\nexport const CALIFICACION_MERITO_ACEPTABLE: CalificacionDeMerito = {\r\n id: 'Aceptable',\r\n tipo: 'Aceptable',\r\n descripcion: 'Los objetivos propuestos son de alto valor, pertinencia y la probabilidad de alcanzar los mismos es alta.',\r\n title: 'Aceptable',\r\n}\r\n\r\nexport const REQUISITOS: Requisito[] = [\r\n ['Carta de presentación a la Corporación.', 'El proyecto posee antecedentes de trabajo con la COVIAR. Por esta razón en no se requiere Carta de Presentación']\r\n , ['Copia del acta de reunión de trabajo con el área técnica.', 'Se trabajaó via correo electrónico las sugerencias y aportes. Se adjunta copia de los mismos']\r\n , ['Formulario de Presentación de Proyectos completo.', '']\r\n , ['Nombre del Director responsable por COVIAR', '']\r\n , ['Curriculum completo del responsable del proyecto.', 'El proyecto posee antecedentes de trabajo con la COVIAR. Por esta razón no se requiere CV']\r\n , ['Curriculum abreviado de los miembros del equipo de trabajo propuesto.', 'Este proyecto posee antecedentes de trabajo con la COVIAR. Por esta razón no se requiere CV']\r\n , ['Estatuto Constitutivo o Convenio de Constitución de la Unidad Ejecutora.', 'Este proyecto posee antecedentes de trabajo con la COVIAR. Por esta razón no se requiere Estatuto']\r\n , ['Copia del acta de designación de autoridades.', 'Este proyecto posee antecedentes de trabajo con la COVIAR. Por esta razón no se requiere acta.']\r\n , ['Últimos tres estados contables, y/o documentación que acredite la capacidad financiera del solicitante con carácter de declaración jurada.', 'Este proyecto posee antecedentes de trabajo con la COVIAR. Por esta razón en no se requiere Estados Contables ']\r\n , ['Autorización del responsable patrimonial de la Unidad Ejecutora para la utilización de la infraestructura, equipos, materiales y personal.', 'Este proyecto posee antecedentes de trabajo con la COVIAR. Por esta razón en no se requiere Estados Contables ']\r\n , ['Declaración Jurada del responsable institucional de la Unidad Ejecutora, respecto a la petición u obtención, y el estado de trámite, de otro subsidio para el mismo proyecto.', 'Este proyecto posee antecedentes de trabajo con la COVIAR. Por esta razón en no se requiere Estados Contables ']\r\n , ['Las Unidades Participantes deberán acreditar toda la documentación que sea solicitada a la Unidad Ejecutora (Replicar tantas veces como Unidades Participantes se presenten).', '']\r\n , ['Estatuto Constitutivo o Convenio de Constitución de la Unidad Ejecutora.', 'Las Unidades participan aportando fondos de contraparte contribuyendo en la ejecución financiera del proyecto']\r\n , ['Copia del acta de designación de autoridades.', 'Las Unidades participan aportando fondos de contraparte contribuyendo en la ejecución financiera del proyecto']\r\n , ['Últimos tres estados contables, y/o documentación que acredite la capacidad financiera del solicitante con carácter de declaración jurada.', 'Las Unidades participan aportando fondos de contraparte contribuyendo en la ejecución financiera del proyecto']\r\n , ['(Copia de la fotocopia certificada por el Consejo Profesional)', 'Las Unidades participan aportando fondos de contraparte contribuyendo en la ejecución financiera del proyecto']\r\n , ['Autorización del responsable patrimonial de la Unidad Ejecutora para la utilización de la infraestructura, equipos, materiales y personal.', 'Las Unidades participan aportando fondos de contraparte contribuyendo en la ejecución financiera del proyecto']\r\n , ['Declaración Jurada del responsable institucional de la Unidad Ejecutora, respecto a la petición u obtención, y el estado de trámite, de otro subsidio para el mismo proyecto.', 'Las Unidades participan aportando fondos de contraparte contribuyendo en la ejecución financiera del proyecto']\r\n].map(x => <Requisito>{\r\n valor: 'SinDefinir',\r\n titulo: x[0],\r\n descripcion: x[1]\r\n});\r\n//#endregion\r\n\r\nexport interface FaseEvaluacion {\r\n\r\n opcionesCalificacionMerito: Array<CalificacionDeMerito>\r\n calificacionDeMerito: CalificacionDeMerito;\r\n\r\n opcionesRequisitos: Array<OpcionesRequisitos>;\r\n requisitos: Array<Requisito>\r\n\r\n}\r\n\r\n\r\n//#region condiciones fase 3\r\nexport const ACTIVIDADES_T1_INFORMADAS: Condicion = {\r\n descripcion: 'Todas las actividades del trimetres 1 (T1) están informadas de alguna manera',\r\n valor: false,\r\n id: 'actividadesT1Informadas'\r\n}\r\n\r\nexport const ACTIVIDADES_T2_INFORMADAS: Condicion = {\r\n descripcion: 'Todas las actividades del trimetres 2 (T2) están informadas de alguna manera',\r\n valor: false,\r\n id: 'actividadesT2Informadas'\r\n}\r\n\r\nexport const ACTIVIDADES_T3_INFORMADAS: Condicion = {\r\n descripcion: 'Todas las actividades del trimetres 3 (T3) están informadas de alguna manera',\r\n valor: false,\r\n id: 'actividadesT3Informadas'\r\n}\r\n\r\nexport const ACTIVIDADES_T4_INFORMADAS: Condicion = {\r\n descripcion: 'Todas las actividades del trimetres 4 (T4) están informadas de alguna manera',\r\n valor: false,\r\n id: 'actividadesT4Informadas'\r\n}\r\n\r\nexport const INDICADORES_T1_INFORMADOS: Condicion = {\r\n descripcion: 'Todos los indicadores del trimetres 1 (T1) están informados de alguna manera',\r\n valor: false,\r\n id: 'indicadoresT1Informados'\r\n}\r\n\r\nexport const INDICADORES_T2_INFORMADOS: Condicion = {\r\n descripcion: 'Todos los indicadores del trimetres 2 (T2) están informados de alguna manera',\r\n valor: false,\r\n id: 'indicadoresT2Informados'\r\n}\r\n\r\nexport const INDICADORES_T3_INFORMADOS: Condicion = {\r\n descripcion: 'Todos los indicadores del trimetres 3 (T3) están informados de alguna manera',\r\n valor: false,\r\n id: 'indicadoresT3Informados'\r\n}\r\n\r\nexport const INDICADORES_T4_INFORMADOS: Condicion = {\r\n descripcion: 'Todos los indicadores del trimetres 4 (T4) están informados de alguna manera',\r\n valor: false,\r\n id: 'indicadoresT4Informados'\r\n}\r\n\r\nexport const INFORME_ANUAL_ENVIADO: Condicion = {\r\n descripcion: 'El proyecto tiene el Informe Anual cargado',\r\n valor: false,\r\n id: 'informeAnualEnviado'\r\n}\r\n\r\n//#endregion\r\n\r\nexport interface FaseEjecucion {\r\n\r\n}\r\n\r\n\r\nexport type TiposCalificacionFinal = \"SinDefinir\" | \"Aprobado\" | \"AprobadoConObservaciones\" | \"AprobadoSinInformacionSuficiente\"\r\n\r\nexport interface CalificacionFinal {\r\n id?: string;\r\n tipo: TiposCalificacionFinal;\r\n descripcion: string;\r\n}\r\n\r\n//#region condicines fase 4\r\nexport const PROYECTO_TIENE_ACTA_FINALIZACION: Condicion = {\r\n descripcion: 'El proyecto tiene acta de finalización cargado',\r\n valor: false,\r\n id: 'proyectoTieneActaFinalizacion'\r\n}\r\n\r\nexport const PROYECTO_TIENE_ESTADO_FINALIZACION: Condicion = {\r\n descripcion: 'El proyecto tiene estado de finalización',\r\n valor: false,\r\n id: 'proyectoTieneEstadoFinalizacion'\r\n}\r\n\r\nexport const CALIFICACION_FINAL_SIN_DEFINIR: CalificacionFinal = {\r\n descripcion: '',\r\n tipo: 'SinDefinir',\r\n id: 'calificacionFinalSinDefinir'\r\n}\r\n\r\nexport const CALIFICACION_FINAL_APROBADO: CalificacionFinal = {\r\n descripcion: 'Aprobado',\r\n tipo: 'Aprobado',\r\n id: 'calificacionFinalAprobado'\r\n}\r\n\r\nexport const CALIFICACION_FINAL_APROBADO_OBSERVACIONES: CalificacionFinal = {\r\n descripcion: 'Aprobado con observaciones',\r\n tipo: 'AprobadoConObservaciones',\r\n id: 'calificacionFinalAprobadoConObservaciones'\r\n}\r\n\r\nexport const CALIFICACION_FINAL_APROBADO_SIN_INFORMACION: CalificacionFinal = {\r\n descripcion: 'Aprobado sin información suficiente para emitir dictamen',\r\n tipo: 'AprobadoSinInformacionSuficiente',\r\n id: 'calificacionFinalAprobadoSinInformacionSuficiente'\r\n}\r\n//#endregion\r\n\r\nexport interface FaseEvaluacionFinal {\r\n fechaEvaluacion?: any;\r\n conclusionDeEstado?: any;\r\n evaluacionDeEstado?: any;\r\n opcionesCalificacionFinal: Array<CalificacionFinal>;\r\n calificacionFinal: CalificacionFinal;\r\n}\r\n\r\nexport interface FaseFinalizado {\r\n calificacionFinal: CalificacionFinal;\r\n}\r\n\r\nexport interface IEstadoProyecto {\r\n _id?: string;\r\n idProyecto?: string;\r\n faseActual: ResumenFase;\r\n formulacion: FaseProyecto<FaseFormulacion>;\r\n evaluacion: FaseProyecto<FaseEvaluacion>;\r\n ejecucion: FaseProyecto<FaseEjecucion>;\r\n evaluacionFinal: FaseProyecto<FaseEvaluacionFinal>;\r\n finalizado: FaseProyecto<FaseFinalizado>;\r\n createDate: Date\r\n}\r\n\r\nexport function createEstadoProyecto(idProyecto?: string): IEstadoProyecto {\r\n return {\r\n createDate: new Date(),\r\n idProyecto,\r\n faseActual: {\r\n nombre: 'formulacion',\r\n numero: 1\r\n },\r\n formulacion: {\r\n enviado: false,\r\n completada: false,\r\n nombre: 'formulacion',\r\n numero: 1,\r\n condiciones: [\r\n PROYECTO_TIENE_PRESUPUESTO,\r\n PROYECTO_TIENE_FLUJO_MENSUAL,\r\n PROYECTO_TIENE_COMPONENTES,\r\n COMPONENTES_TIENEN_ACTIVIDADES,\r\n COMPONENTES_TIENEN_INDICADORES,\r\n ACTIVIDADES_TIENEN_RECURSOS,\r\n PROYECTO_TIENE_FORO_VALIDACION,\r\n PROYECTO_TIENE_BALANCE_CERO\r\n ],\r\n valor: {}\r\n },\r\n evaluacion: {\r\n enviado: false,\r\n completada: false,\r\n nombre: 'evaluacion',\r\n numero: 2,\r\n condiciones: [\r\n PROYECTO_TIENE_DICTAMEN_TECNICO,\r\n PROYECTO_TIENE_ACTA_DIRECTORIO,\r\n PROYECTO_TIENE_ACTA_MESA_EJECUTIVA,\r\n PROYECTO_TIENE_EVALUACION_REQUISITOS,\r\n PROYECTO_TIENE_CALIFICACION_MERITO\r\n ],\r\n valor: {\r\n opcionesCalificacionMerito: [\r\n CALIFICACION_MERITO_NO_ACEPTABLE,\r\n CALIFICACION_MERITO_REGULAR,\r\n CALIFICACION_MERITO_ACEPTABLE\r\n ],\r\n calificacionDeMerito: CALIFICACION_MERITO_SIN_DEFINIR,\r\n opcionesRequisitos: ['SI', 'NO'],\r\n requisitos: REQUISITOS\r\n }\r\n },\r\n ejecucion: {\r\n enviado: false,\r\n completada: false,\r\n nombre: 'ejecucion',\r\n numero: 3,\r\n condiciones: [\r\n ACTIVIDADES_T1_INFORMADAS,\r\n INDICADORES_T1_INFORMADOS,\r\n\r\n ACTIVIDADES_T2_INFORMADAS,\r\n INDICADORES_T2_INFORMADOS,\r\n\r\n ACTIVIDADES_T3_INFORMADAS,\r\n INDICADORES_T3_INFORMADOS,\r\n\r\n ACTIVIDADES_T4_INFORMADAS,\r\n INDICADORES_T4_INFORMADOS,\r\n\r\n INFORME_ANUAL_ENVIADO\r\n ],\r\n valor: {}\r\n },\r\n evaluacionFinal: {\r\n enviado: false,\r\n completada: false,\r\n numero: 4,\r\n nombre: 'evaluacionFinal',\r\n condiciones: [\r\n PROYECTO_TIENE_ACTA_FINALIZACION,\r\n PROYECTO_TIENE_ESTADO_FINALIZACION\r\n ],\r\n valor: {\r\n opcionesCalificacionFinal: [\r\n CALIFICACION_FINAL_APROBADO,\r\n CALIFICACION_FINAL_APROBADO_OBSERVACIONES,\r\n CALIFICACION_FINAL_APROBADO_SIN_INFORMACION\r\n ],\r\n calificacionFinal: CALIFICACION_FINAL_SIN_DEFINIR\r\n }\r\n },\r\n finalizado: {\r\n enviado: false,\r\n completada: false,\r\n nombre: 'finalizado',\r\n numero: 5,\r\n valor: {\r\n calificacionFinal: CALIFICACION_FINAL_SIN_DEFINIR\r\n },\r\n condiciones: []\r\n }\r\n\r\n }\r\n}\r\n\r\nexport class IBlobFile {\r\n _id: string;\r\n entityId: string;\r\n blobType: string;\r\n}\r\n\r\nexport class EstadoProyectoViewModel {\r\n estado: IEstadoProyecto;\r\n constructor(idProyecto?: string, estado?: IEstadoProyecto) {\r\n this.estado = estado || createEstadoProyecto(idProyecto);\r\n }\r\n\r\n\r\n validarFases(presupuestoAnual: IPresupuestoAnual, flujoMensual: IFlujoMensual, componentes: IComponente[], archivos: IBlobFile[]) {\r\n if (!this.estado) {\r\n return;\r\n }\r\n switch (this.estado.faseActual.nombre) {\r\n case 'formulacion':\r\n return this.validarFormulacion(presupuestoAnual, flujoMensual, componentes, archivos);\r\n break;\r\n case 'evaluacion':\r\n return this.validarEvaluacion(archivos);\r\n break;\r\n case 'ejecucion':\r\n return this.validarEjecucion(archivos, componentes);\r\n break;\r\n case 'evaluacionFinal':\r\n return this.validarEvaluacionFinal(archivos);\r\n break;\r\n case 'finalizado':\r\n return this.validarFinalizado();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n validarFormulacion(presupuestoAnual: IPresupuestoAnual, flujoMensual: IFlujoMensual, componentes: IComponente[], archivos: IBlobFile[]) {\r\n const fase = this.estado.formulacion;\r\n\r\n if (fase.completada) {\r\n return;\r\n }\r\n // console.log('presupuestoAnual', presupuestoAnual);\r\n\r\n const tienePresupuesto = () => presupuestoAnual && presupuestoAnual.totalPresupuesto > 0;\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_PRESUPUESTO.id)\r\n .valor = tienePresupuesto();\r\n\r\n // const tieneFlujoMensual = () => flujoMensual && NOMBRE_MESES.filter(mes => flujoMensual.flujo[mes].value > 0).length > 0;\r\n const tieneFlujoMensual = () => {\r\n const totalAnual = presupuestoAnual.totalPresupuesto;\r\n let totalMensuales = 0;\r\n for (const mes of NOMBRE_MESES) {\r\n totalMensuales += flujoMensual.flujo[mes].value;\r\n }\r\n return (100 - (totalMensuales * 100 / totalAnual)) <= 0.1;\r\n };\r\n // console.log('flujoMensual', flujoMensual);\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_FLUJO_MENSUAL.id)\r\n .valor = tieneFlujoMensual();\r\n\r\n const tieneComponentes = () => componentes && componentes.length > 0;\r\n const condicionTieneComponentes = fase.condiciones.find(x => x.id == PROYECTO_TIENE_COMPONENTES.id);\r\n condicionTieneComponentes.valor = condicionTieneComponentes.valor ? true : tieneComponentes();\r\n\r\n const componentesTienenActividades = () => componentes && componentes.filter(x => x.actividades == null || x.actividades.length == 0).length == 0;\r\n const condicionTieneActividades = fase.condiciones.find(x => x.id == COMPONENTES_TIENEN_ACTIVIDADES.id);\r\n condicionTieneActividades.valor = condicionTieneActividades.valor ? true : tieneComponentes() && componentesTienenActividades();\r\n\r\n const componentesTienenIndicadores = () => componentes && componentes.filter(x => x.indicadores == null || x.indicadores.length == 0).length == 0;\r\n const condicionTieneIndicadores = fase.condiciones.find(x => x.id == COMPONENTES_TIENEN_INDICADORES.id);\r\n condicionTieneIndicadores.valor = condicionTieneIndicadores.valor ? true : tieneComponentes() && componentesTienenIndicadores();\r\n\r\n /*\r\n const tieneComponentes = () => componentes && componentes.length > 0;\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_COMPONENTES.id)\r\n .valor = tieneComponentes();\r\n\r\n const componentesTienenActividades = () => componentes && componentes.filter(x => x.actividades == null || x.actividades.length == 0).length == 0;\r\n\r\n fase.condiciones\r\n .find(x => x.id == COMPONENTES_TIENEN_ACTIVIDADES.id)\r\n .valor = componentesTienenActividades();\r\n\r\n const componentesTienenIndicadores = () => componentes && componentes.filter(x => x.indicadores == null || x.indicadores.length == 0).length == 0;\r\n fase.condiciones\r\n .find(x => x.id == COMPONENTES_TIENEN_INDICADORES.id)\r\n .valor = componentesTienenIndicadores();\r\n */\r\n\r\n const actividadesTienenRecursos = () => componentes && componentes\r\n .filter(x => x.actividades == null || x.actividades.filter(a => a.previsiones == null || a.previsiones.length == 0).length > 0)\r\n .length == 0;\r\n\r\n fase.condiciones\r\n .find(x => x.id == ACTIVIDADES_TIENEN_RECURSOS.id)\r\n .valor = actividadesTienenRecursos();\r\n\r\n const proyectoTieneForoValidacion = () => archivos && archivos.filter(x => x.blobType == 'foroValidacion').length > 0;\r\n\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_FORO_VALIDACION.id)\r\n .valor = proyectoTieneForoValidacion();\r\n\r\n const proyectoTieneBalanceCero = () => {\r\n // console.log('PROYECTO_TIENE_BALANCE_CERO');\r\n if (!flujoMensual) return false;\r\n const presupuesto: MesOperationProperties<number>[] = generarPresupuesto(flujoMensual);\r\n\r\n // console.log('presupuesto', presupuesto);\r\n // console.log('PROYECTO_TIENE_BALANCE_CERO');\r\n\r\n if (presupuesto.length < 3) {\r\n return false;\r\n }\r\n\r\n let total = 0;\r\n for (const mes of NOMBRE_MESES) {\r\n total += Math.round(presupuesto[2][mes].value);\r\n }\r\n console.log('total', total);\r\n\r\n // return NOMBRE_MESES.filter(mes => Math.round(presupuesto[2][mes].value) < -1 || Math.round(presupuesto[2][mes].value) > 1).length == 0;\r\n return total == 0;\r\n }\r\n\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_BALANCE_CERO.id)\r\n .valor = proyectoTieneBalanceCero();\r\n\r\n fase.cumpleCondiciones = fase.condiciones.filter(x => {\r\n const valor = (x.id == PROYECTO_TIENE_FLUJO_MENSUAL.id || x.id == PROYECTO_TIENE_BALANCE_CERO.id) ? false : !x.valor;\r\n // console.log(x.id, !x.valor, valor);\r\n return valor;\r\n }).length == 0;\r\n }\r\n\r\n validarEvaluacion(archivos: IBlobFile[]) {\r\n const fase = this.estado.evaluacion;\r\n if (fase.completada) {\r\n return;\r\n }\r\n\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_DICTAMEN_TECNICO.id)\r\n .valor = archivos && archivos.filter(x => x.blobType == 'dictamenTecnico').length > 0;\r\n\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_ACTA_DIRECTORIO.id)\r\n .valor = archivos && archivos.filter(x => x.blobType == 'actaDirectorio').length > 0;\r\n\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_ACTA_MESA_EJECUTIVA.id)\r\n .valor = archivos && archivos.filter(x => x.blobType == 'mesaEjecutiva').length > 0;\r\n\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_CALIFICACION_MERITO.id)\r\n .valor = fase.valor && fase.valor.calificacionDeMerito && fase.valor.calificacionDeMerito.tipo != 'SinDefinir';\r\n\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_EVALUACION_REQUISITOS.id)\r\n .valor = fase.valor && fase.valor.requisitos.filter(x => x.valor == 'SinDefinir').length == 0;\r\n\r\n fase.cumpleCondiciones = fase.condiciones.filter(x => !x.valor).length == 0;\r\n }\r\n\r\n validarEjecucion(archivos: IBlobFile[], componentes: IComponente[]) {\r\n const fase = this.estado.ejecucion;\r\n\r\n if (fase.completada) {\r\n return;\r\n }\r\n\r\n fase.condiciones\r\n .find(x => x.id == INFORME_ANUAL_ENVIADO.id)\r\n .valor = archivos && archivos.filter(x => x.blobType == 'informeAnual').length > 0;\r\n\r\n if (!componentes) {\r\n return;\r\n }\r\n\r\n const actividades = _(componentes).map(x => x.actividades).flatMap().value();\r\n\r\n const act_T1 = [];\r\n const act_T2 = [];\r\n const act_T3 = [];\r\n const act_T4 = [];\r\n\r\n const ind_T1 = [];\r\n const ind_T2 = [];\r\n const ind_T3 = [];\r\n const ind_T4 = [];\r\n\r\n const validarActividadTrimestres = (actividad: IActividad, trimestre: number) => {\r\n if (!actividad || !actividad.informeActividad) {\r\n return false;\r\n }\r\n const informe = actividad.informeActividad.find(x => x.trimestre == trimestre);\r\n const tieneInfoAdicional = !!informe.infoAdicional;\r\n const tieneArchivoAdjunto = archivos.filter(x => x.blobType == informe._id).length > 0 || archivos.filter(x => x.blobType == this.estado.idProyecto + informe._id).length > 0;\r\n const tieneActividadesIndefinidas = informe.meses\r\n .filter((mes: MesProperty) => (actividad.vigencia && actividad.vigencia[mes].value)\r\n && (actividad.estado && actividad.estado[mes].value == 'indefinida')).length > 0;\r\n return !tieneActividadesIndefinidas && (tieneInfoAdicional || tieneArchivoAdjunto);\r\n }\r\n\r\n actividades.forEach(act => {\r\n act_T1.push(validarActividadTrimestres(act, 1));\r\n act_T2.push(validarActividadTrimestres(act, 2));\r\n act_T3.push(validarActividadTrimestres(act, 3));\r\n act_T4.push(validarActividadTrimestres(act, 4));\r\n });\r\n\r\n const validarIndicadorTrimestres = (indicador: IIndicador, trimestre: number) => {\r\n if (!indicador || !indicador.informeIndicador) {\r\n return false;\r\n }\r\n\r\n const informe = indicador.informeIndicador.find(x => x.trimestre == trimestre);\r\n const tieneInfoAdicional = !!informe.infoAdicional;\r\n const tieneArchivoAdjunto = archivos.filter(x => x.blobType == informe._id).length > 0 || archivos.filter(x => x.blobType == this.estado.idProyecto + informe._id).length > 0;\r\n const tieneValoreEnCero = informe.valor == 0;\r\n\r\n return !tieneValoreEnCero || tieneInfoAdicional || tieneArchivoAdjunto;\r\n }\r\n\r\n const indicadores = _(componentes).map(x => x.indicadores).flatMap().value();\r\n indicadores.forEach(ind => {\r\n ind_T1.push(validarIndicadorTrimestres(ind, 1));\r\n ind_T2.push(validarIndicadorTrimestres(ind, 2));\r\n ind_T3.push(validarIndicadorTrimestres(ind, 3));\r\n ind_T4.push(validarIndicadorTrimestres(ind, 4));\r\n });\r\n\r\n fase.condiciones\r\n .find(x => x.id == ACTIVIDADES_T1_INFORMADAS.id)\r\n .valor = act_T1.length > 0 && act_T1.filter(x => !x).length == 0;\r\n\r\n fase.condiciones\r\n .find(x => x.id == ACTIVIDADES_T2_INFORMADAS.id)\r\n .valor = act_T2.length > 0 && act_T2.filter(x => !x).length == 0\r\n\r\n fase.condiciones\r\n .find(x => x.id == ACTIVIDADES_T3_INFORMADAS.id)\r\n .valor = act_T3.length > 0 && act_T3.filter(x => !x).length == 0\r\n\r\n fase.condiciones\r\n .find(x => x.id == ACTIVIDADES_T4_INFORMADAS.id)\r\n .valor = act_T4.length > 0 && act_T4.filter(x => !x).length == 0\r\n\r\n\r\n fase.condiciones\r\n .find(x => x.id == INDICADORES_T1_INFORMADOS.id)\r\n .valor = ind_T1.length > 0 && ind_T1.filter(x => !x).length == 0;\r\n\r\n fase.condiciones\r\n .find(x => x.id == INDICADORES_T2_INFORMADOS.id)\r\n .valor = ind_T2.length > 0 && ind_T2.filter(x => !x).length == 0\r\n\r\n fase.condiciones\r\n .find(x => x.id == INDICADORES_T3_INFORMADOS.id)\r\n .valor = ind_T3.length > 0 && ind_T3.filter(x => !x).length == 0\r\n\r\n fase.condiciones\r\n .find(x => x.id == INDICADORES_T4_INFORMADOS.id)\r\n .valor = ind_T4.length > 0 && ind_T4.filter(x => !x).length == 0\r\n\r\n fase.cumpleCondiciones = fase.condiciones.filter(x => !x.valor).length == 0;\r\n }\r\n\r\n validarEvaluacionFinal(archivos: IBlobFile[]) {\r\n const fase = this.estado.evaluacionFinal;\r\n\r\n if (!archivos) {\r\n return;\r\n }\r\n\r\n\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_ACTA_FINALIZACION.id)\r\n .valor = archivos && archivos.filter(x => x.blobType == 'actaFinalizacion').length > 0;\r\n\r\n fase.condiciones\r\n .find(x => x.id == PROYECTO_TIENE_ESTADO_FINALIZACION.id)\r\n .valor = fase.valor.calificacionFinal.tipo != 'SinDefinir';\r\n\r\n fase.cumpleCondiciones = fase.condiciones.filter(x => !x.valor).length == 0;\r\n\r\n }\r\n\r\n validarFinalizado() { }\r\n\r\n pasarSiguienteFase() {\r\n if (!this.estado) {\r\n return;\r\n }\r\n\r\n switch (this.estado.faseActual.nombre) {\r\n case 'formulacion':\r\n this.estado.formulacion.completada = true;\r\n this.estado.faseActual.nombre = this.estado.evaluacion.nombre;\r\n this.estado.faseActual.numero = this.estado.evaluacion.numero;\r\n break;\r\n case 'evaluacion':\r\n this.estado.evaluacion.completada = true;\r\n this.estado.faseActual.nombre = this.estado.ejecucion.nombre;\r\n this.estado.faseActual.numero = this.estado.ejecucion.numero;\r\n break;\r\n case 'ejecucion':\r\n this.estado.ejecucion.completada = true;\r\n this.estado.faseActual.nombre = this.estado.evaluacionFinal.nombre;\r\n this.estado.faseActual.numero = this.estado.evaluacionFinal.numero;\r\n break;\r\n case 'evaluacionFinal':\r\n this.estado.evaluacionFinal.completada = true;\r\n this.estado.faseActual.nombre = this.estado.finalizado.nombre;\r\n this.estado.faseActual.numero = this.estado.finalizado.numero;\r\n\r\n this.estado.finalizado.completada = true;\r\n this.estado.finalizado.enviado = true;\r\n this.estado.finalizado.valor.calificacionFinal = this.estado.evaluacionFinal.valor.calificacionFinal;\r\n break;\r\n case 'finalizado':\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n }\r\n\r\n obtenerFase() {\r\n return this.estado[this.estado.faseActual.nombre]\r\n }\r\n}","<div style=\"width: 100%;\">\r\n\r\n <h2 mat-dialog-title\r\n style=\"background-color: rgb(228, 228, 228) ;color: black; padding: 10px; font-size: 20px; position: relative; text-align: center;\">\r\n RESUMEN\r\n <button (click)=\"close()\"\r\n style=\"position: absolute; top: 11px; right: 8px; padding: 0px; margin: 0px; background-color:rgb(212, 212, 212); width: 30px; height: 30px; cursor: pointer; font-size: 21px;\">\r\n x\r\n </button>\r\n </h2>\r\n <h4 style=\"font-size: 16px; text-align: center; font-weight: bold;\">\r\n ACCIONES ESTRATEGICAS VINCULADAS AL PROYECTO\r\n </h4>\r\n\r\n <style>\r\n .dot {\r\n height: 12px;\r\n width: 12px;\r\n background-color: #bbb;\r\n border-radius: 50%;\r\n display: inline-block;\r\n }\r\n </style>\r\n\r\n <mat-dialog-content>\r\n <ul style=\"list-style: none; padding: 0px;\">\r\n <li *ngFor=\"let objetivo of objetivos\">\r\n <span style=\"text-transform: uppercase; margin-bottom: 20px; margin-top: 20px; display: block; font-weight: bold;\"\r\n [style.border-bottom]=\"'5px solid ' + objetivo.colorAsociado\">{{objetivo.descripcion}}</span>\r\n <ul style=\"list-style: none; padding-left: 10px;\">\r\n <li *ngFor=\"let estrategia of objetivo.estrategias\" style=\"margin-top: 20px;\">\r\n <span style=\"margin-bottom: 10px; display: block; font-weight: bold;\">\r\n <span class=\"dot\" [style.background-color]=\"objetivo.colorAsociado\"></span> \r\n {{estrategia.nombre}}\r\n </span>\r\n <ul>\r\n <li *ngFor=\"let accion of estrategia.acciones\">\r\n {{accion.descripcion}}\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </mat-dialog-content>\r\n</div>","import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport * as _ from 'lodash';\r\nimport { EstrategiasService } from '../../shared/estrategias/estrategias.service';\r\nimport { IEstrategia } from '../../shared/estrategias/estrategias/estrategias';\r\nimport { IObjetivoEstrategico } from '../../shared/estrategias/objetivos-estrategicos/objetivos-estrategicos';\r\n\r\n@Component({\r\n selector: 'app-resumen-acciones-estrategicas-modal',\r\n templateUrl: './resumen-acciones-estrategicas-modal.component.html',\r\n styleUrls: ['./resumen-acciones-estrategicas-modal.component.scss']\r\n})\r\nexport class ResumenAccionesEstrategicasModal implements OnInit {\r\n objetivos: any[];\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogRef: MatDialogRef<ResumenAccionesEstrategicasModal>,\r\n private _estrategiasService: EstrategiasService,\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this._estrategiasService.getEstrategiasByProyecto(this.data.proyectoId).subscribe(objetivos => {\r\n this.objetivos = objetivos;\r\n });\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport {\r\n MatButtonToggleModule,\r\n MatCheckboxModule,\r\n MatDialogModule,\r\n MatFormFieldModule, MatInputModule, MatListModule, MatPaginatorModule, MatProgressSpinnerModule,\r\n MatSelectModule, MatSliderModule, MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatTableModule,\r\n MatRadioModule,\r\n MatProgressBarModule,\r\n MatTooltipModule\r\n} from '@angular/material';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { ChartsModule, ThemeService } from 'ng2-charts';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { CustomSnackBarModule } from '../../shared/custom-snack-bar/custom-snack-bar.module';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { ChartistModule } from 'ng-chartist';\r\nimport { MaterialFileUploadModule } from '../../material-file-upload/material-file-upload.module';\r\nimport { MessagesModule } from '../../messages/messages.module';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { HeaderProyectoModule } from '../../header-proyecto/header-proyecto.module';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { ComponentesModule } from '../../componentes/componentes.module';\r\nimport { SharedModule } from '../../../shared/shared.module';\r\nimport { ResumenAccionesEstrategicasModal } from './resumen-acciones-estrategicas-modal.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ResumenAccionesEstrategicasModal,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatGridListModule,\r\n MatCardModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSelectModule,\r\n MatExpansionModule,\r\n MatCheckboxModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n LayoutModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatSnackBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatListModule,\r\n MatButtonToggleModule,\r\n CustomSnackBarModule,\r\n ChartistModule,\r\n MatProgressBarModule,\r\n FlexLayoutModule,\r\n MaterialFileUploadModule,\r\n MessagesModule,\r\n MatStepperModule,\r\n HeaderProyectoModule,\r\n ComponentesModule,\r\n MatTooltipModule,\r\n SharedModule\r\n ],\r\n providers: [\r\n ThemeService\r\n ],\r\n entryComponents: [\r\n ResumenAccionesEstrategicasModal\r\n ]\r\n})\r\n\r\nexport class ResumenAccionesEstrategicasModalModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { throwError } from 'rxjs/internal/observable/throwError';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { IProyecto } from '../../proyecto/IProyecto';\r\nimport { IProyectoObjetivoEstrategico } from '../IProyecto';\r\nimport { IProyectoAccionEstrategica } from '../IProyectoAccionEstrategica';\r\nimport { IComponente } from '../IComponente';\r\nimport { BlobFile } from '../../material-file-upload/material-file-upload.component';\r\nimport { IEstadoProyecto } from '../estado-proyecto/estado-proyecto.types';\r\nimport { IRendicionFinanciera } from '../rendicion-financiera/rendicion.interface';\r\nimport { ILogrosDificultades } from '../carga-inf-tec-componentes/logrosDificultades.interface';\r\n\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'my-auth-token'\r\n })\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProyectoHttpService {\r\n\r\n baseUrl = environment.serverUrl + '/api';\r\n\r\n constructor(private _http: HttpClient) {\r\n }\r\n\r\n getProyectos() {\r\n return this._http.get<Array<IProyecto>>(`${this.baseUrl}/proyecto/listadoProyectos`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectoById(idProyecto) {\r\n return this._http.get<IProyecto>(`${this.baseUrl}/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getComponentes(idProyecto: string) {\r\n return this._http.get<Array<IComponente>>(`${this.baseUrl}/componente/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getComponenteById(idComponente: string) {\r\n return this._http.get<IComponente>(`${this.baseUrl}/componente/${idComponente}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n createProyecto(proyecto: IProyecto) {\r\n return this._http.post<IProyecto>(`${this.baseUrl}/proyecto`, proyecto, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n updateProyecto(proyecto: IProyecto) {\r\n return this._http.put<IProyecto>(`${this.baseUrl}/proyecto/${proyecto._id}`, proyecto, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n updateProyectoInfTecDate(proyecto: string | IProyecto) {\r\n let id = typeof proyecto === 'string' ? proyecto : proyecto._id\r\n return this._http.put<IProyecto>(`${this.baseUrl}/proyecto/${id}/inf-tec-date`, {}, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n updateComponente(componente: IComponente) {\r\n return this._http.put<IComponente>(`${this.baseUrl}/componente/${componente._id}`, componente, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteProyecto(proyecto: IProyecto) {\r\n return this._http.delete(`${this.baseUrl}/proyecto/${proyecto._id}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectoObjetivoEstrategicos(idProyecto: string) {\r\n return this._http.get<Array<any>>(`${this.baseUrl}/proyectoObjetivoEstrategico/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectoAccionesEstrategicas(idProyecto: string) {\r\n return this._http.get<Array<any>>(`${this.baseUrl}/proyectoTipoAccionEstrategica/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n setObjetivosEstrategicos(idProyecto: string, objetivos: IProyectoObjetivoEstrategico[]) {\r\n return this._http.post<Array<IProyectoObjetivoEstrategico>>(\r\n `${this.baseUrl}/proyectoObjetivoEstrategico/proyecto/${idProyecto}`, objetivos, httpOptions\r\n ).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n setAccionesEstrategicas(idProyecto: string, acciones: IProyectoAccionEstrategica[]) {\r\n return this._http.post<Array<IProyectoAccionEstrategica>>(\r\n `${this.baseUrl}/proyectoTipoAccionEstrategica/proyecto/${idProyecto}`, acciones, httpOptions\r\n ).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getArchivosByProyectoId(entityId: string) {\r\n return this._http.get<Array<BlobFile>>(`${this.baseUrl}/blob/${entityId}/findByEntity`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getEstadoByProyectoId(idProyecto: string) {\r\n return this._http.get<Array<IEstadoProyecto>>(`${this.baseUrl}/estadoProyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n setEstadoByProyectoId(idProyecto: string, estado: IEstadoProyecto) {\r\n return this._http.patch<IEstadoProyecto>(`${this.baseUrl}/estadoProyecto/${idProyecto}`, estado, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getRendicionFinancieraByProyectoId(idProyecto: string) {\r\n return this._http.get<IRendicionFinanciera>(`${this.baseUrl}/rendicionFinanciera/proyecto/${idProyecto}`)\r\n }\r\n \r\n getLogrosDificultadesByProyectoId(idProyecto: string) {\r\n return this._http.get<ILogrosDificultades>(`${this.baseUrl}/logrosDificultades/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n setRendicionFinanciera(payload: IRendicionFinanciera) {\r\n if (payload._id){\r\n return this._http.post<IRendicionFinanciera>(`${this.baseUrl}/rendicionFinanciera/rendicion/${payload._id}`, payload)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n return this._http.post<IRendicionFinanciera>(`${this.baseUrl}/rendicionFinanciera`, payload)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n setLogrosDificultades(payload: ILogrosDificultades) {\r\n if (payload._id){\r\n return this._http.post<ILogrosDificultades>(`${this.baseUrl}/logrosDificultades/id/${payload._id}`, payload)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n return this._http.post<ILogrosDificultades>(`${this.baseUrl}/logrosDificultades`, payload)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Ocurrio un error:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend retorno el error ${error.status}, ` +\r\n `con el cuerpo: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n }\r\n\r\n abrirActaFinalizacion (idProyecto: string) {\r\n window.open(`${this.baseUrl}/proyecto/acta-finalizacion/${idProyecto}`, '_blank');\r\n }\r\n\r\n abrirActaFinalizacionAnexo (idProyecto: string) {\r\n window.open(`${this.baseUrl}/proyecto/acta-finalizacion-anexo/${idProyecto}`, '_blank');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ProyectoHttpService } from './proyecto-http.service';\r\nimport { UnidadEjecutoraHttpService } from '../../unidad-ejecutora/services/unidad-ejecutora-http.service';\r\nimport { PeriodoFiscalService } from '../../periodo-fiscal/services/periodo-fiscal.service';\r\nimport { forkJoin } from 'rxjs/internal/observable/forkJoin';\r\nimport { map } from 'rxjs/operators';\r\nimport { TipoIndicadorObjetivoService } from '../../tipo-indicador-objetivo/services/tipo-indicador-objetivo.service';\r\nimport { TipoObjetivoEstrategicoService } from '../../tipo-objetivo-estrategico/services/tipo-objetivo-estrategico.service';\r\nimport { TipoAccionEstrategicaService } from '../../tipo-accion-estrategica/services/tipo-accion-estrategica.service';\r\nimport { ZonaHttpService } from '../../zona/services/zona-http.service';\r\nimport { IProyecto } from '../../proyecto/IProyecto';\r\nimport { ErrorSnackBarComponent } from '../../shared/custom-snack-bar/error-snack-bar/error-snack-bar.component';\r\nimport { MatSnackBar } from '@angular/material';\r\nimport { IProyectoObjetivoEstrategico } from '../IProyecto';\r\nimport { IProyectoAccionEstrategica } from '../IProyectoAccionEstrategica';\r\nimport { IComponente } from '../IComponente';\r\nimport { FlujoMensualService } from '../../flujo-mensual/services/flujo-mensual.service';\r\nimport { PresupuestoAnualService } from '../../presupuesto-anual/services/presupuesto-anual.service';\r\nimport { IEstadoProyecto } from '../estado-proyecto/estado-proyecto.types';\r\nimport { UsuarioHttpService } from '../../usuarios-UE/services/usuario-http.service';\r\nimport { IRendicionFinanciera } from '../rendicion-financiera/rendicion.interface';\r\nimport { ILogrosDificultades } from '../carga-inf-tec-componentes/logrosDificultades.interface';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProyectoService {\r\n\r\n constructor(\r\n private _httpService: ProyectoHttpService,\r\n private _httpUEService: UnidadEjecutoraHttpService,\r\n private _periodoFiscalService: PeriodoFiscalService,\r\n private _tipoIndicadorObjetivoServicio: TipoIndicadorObjetivoService,\r\n private _tipoObjetivoEstrategicoService: TipoObjetivoEstrategicoService,\r\n private _tipoAccionEstrategicaService: TipoAccionEstrategicaService,\r\n private _httpZonaService: ZonaHttpService,\r\n private _snackBar: MatSnackBar,\r\n private _flujoMensualService: FlujoMensualService,\r\n private _presupuestoAnualService: PresupuestoAnualService,\r\n private _usuarioService: UsuarioHttpService\r\n ) { }\r\n\r\n getProyectos() {\r\n return this._httpService.getProyectos();\r\n }\r\n\r\n getProyectoById(idProyecto: string) {\r\n return this._httpService.getProyectoById(idProyecto);\r\n }\r\n\r\n createProyecto(proyecto: IProyecto) {\r\n return this._httpService.createProyecto(proyecto);\r\n }\r\n\r\n updateProyecto(proyecto: IProyecto) {\r\n return this._httpService.updateProyecto(proyecto);\r\n }\r\n\r\n updateProyectoInfTecDate(proyecto: string | IProyecto) {\r\n return this._httpService.updateProyectoInfTecDate(proyecto);\r\n }\r\n\r\n updateComponente(componente: IComponente) {\r\n return this._httpService.updateComponente(componente);\r\n }\r\n\r\n deleteProyecto(proyecto: IProyecto) {\r\n return this._httpService.deleteProyecto(proyecto);\r\n }\r\n\r\n getUnidadesEjecutoras(): any {\r\n return this._httpUEService.getUnidadesEjecutoras();\r\n }\r\n\r\n getZonas(): any {\r\n return this._httpZonaService.getZonas();\r\n }\r\n\r\n getComponentes(idProyecto: string): any {\r\n return this._httpService.getComponentes(idProyecto);\r\n }\r\n\r\n getComponenteById(idComponente: string): any {\r\n return this._httpService.getComponenteById(idComponente);\r\n }\r\n\r\n getOpcionesInicialesProyecto(): any {\r\n return forkJoin(\r\n this._httpUEService.getUnidadesEjecutoras(),\r\n this._periodoFiscalService.getPeriodosFiscales()\r\n ).pipe(\r\n map(([unidadesEjecutoras, periodosFiscales]) => {\r\n // forkJoin returns an array of values, here we map those values to an object\r\n return {\r\n unidadesEjecutoras: unidadesEjecutoras,\r\n periodosFiscales: periodosFiscales\r\n };\r\n })\r\n );\r\n }\r\n\r\n getTipoObjetivoEstrategicos(idProyecto: string): any {\r\n return this._httpService.getProyectoObjetivoEstrategicos(idProyecto);\r\n }\r\n\r\n getTipoAccionesEstrategicas(idProyecto: string): any {\r\n return this._httpService.getProyectoAccionesEstrategicas(idProyecto);\r\n }\r\n\r\n getArchivosByProyectoId(entityId: string): any {\r\n return this._httpService.getArchivosByProyectoId(entityId);\r\n }\r\n\r\n getDatosGeneralesProyecto(): any {\r\n return forkJoin(\r\n this._tipoObjetivoEstrategicoService.getTiposObjetivosEstrategicos(),\r\n this._tipoAccionEstrategicaService.getTiposAccionesEstrategicas(),\r\n this._tipoIndicadorObjetivoServicio.getTiposIndicadoresObjetivos()\r\n ).pipe(\r\n map(([objetivosEstrategicos, accionesEstrategicas, indicadoresObjetivos]) => {\r\n // forkJoin returns an array of values, here we map those values to an object\r\n return {\r\n objetivosEstrategicos: objetivosEstrategicos,\r\n accionesEstrategicas: accionesEstrategicas,\r\n indicadoresObjetivos: indicadoresObjetivos\r\n };\r\n })\r\n );\r\n }\r\n\r\n setObjetivosEstrategicos(idProyecto: string, objetivos: IProyectoObjetivoEstrategico[]) {\r\n return this._httpService.setObjetivosEstrategicos(idProyecto, objetivos);\r\n }\r\n\r\n setAccionesEstrategicas(idProyecto: string, acciones: IProyectoAccionEstrategica[]) {\r\n return this._httpService.setAccionesEstrategicas(idProyecto, acciones);\r\n }\r\n\r\n setEstadoByProyectoId(idProyecto: string, estado: IEstadoProyecto) {\r\n return this._httpService.setEstadoByProyectoId(idProyecto, estado);\r\n }\r\n\r\n handleError(error: Error) {\r\n console.log(error);\r\n this._snackBar.openFromComponent(ErrorSnackBarComponent, {\r\n duration: 5000,\r\n data: error\r\n });\r\n }\r\n\r\n getEstadoProyecto(idProyecto: string, userId: string): any {\r\n return forkJoin(\r\n\r\n this._httpService.getComponentes(idProyecto),\r\n this._flujoMensualService.getFlujoMensualByProyecto(idProyecto),\r\n this._presupuestoAnualService.getByIdProyecto(idProyecto),\r\n this._httpService.getArchivosByProyectoId(idProyecto),\r\n this._httpService.getEstadoByProyectoId(idProyecto),\r\n this._usuarioService.getUsuarioById(userId)\r\n ).pipe(\r\n map(([componentes, flujoMensual, presupuestoAnual, archivos, estado, usuario]) => {\r\n // forkJoin returns an array of values, here we map those values to an object\r\n return {\r\n\r\n componentes,\r\n flujoMensual,\r\n presupuestoAnual,\r\n archivos,\r\n estado: estado && estado.length > 0 ? estado[0] : null,\r\n usuario\r\n };\r\n })\r\n );\r\n }\r\n\r\n getRendicionFinancieraByProyectoId(idProyecto: string) {\r\n return this._httpService.getRendicionFinancieraByProyectoId(idProyecto);\r\n }\r\n\r\n setRendicionFinanciera(payload: IRendicionFinanciera) {\r\n return this._httpService.setRendicionFinanciera(payload);\r\n }\r\n\r\n getLogrosDificultadesByProyectoId(idProyecto: string) {\r\n return this._httpService.getLogrosDificultadesByProyectoId(idProyecto);\r\n }\r\n\r\n setLogrosDificultades(payload: ILogrosDificultades) {\r\n return this._httpService.setLogrosDificultades(payload);\r\n }\r\n\r\n abrirActaFinalizacion (idProyecto: string) {\r\n this._httpService.abrirActaFinalizacion(idProyecto);\r\n }\r\n\r\n abrirActaFinalizacionAnexo (idProyecto: string) {\r\n this._httpService.abrirActaFinalizacionAnexo(idProyecto);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { IProyecto } from '../IProyecto';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { throwError } from 'rxjs/internal/observable/throwError';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { IProyectoUnidadEjecutora } from '../../proyecto-UE/IProyectoUnidadEjecutora';\r\nimport { IProyectoUnidadParticipante } from '../../proyecto-UE/IProyectoUnidadParticipante';\r\nimport { IComponente } from '../../proyecto-UE/IComponente';\r\nimport { ITipoObjetivoEstrategico } from '../../tipo-objetivo-estrategico/itipo-objetivo-estrategico';\r\nimport { ITipoAccionEstrategica } from '../../tipo-accion-estrategica/itipo-accion-estrategica';\r\nimport { IProyectoObjetivoEstrategico } from '../../proyecto-UE/IProyecto';\r\nimport { IProyectoAccionEstrategica } from '../../proyecto-UE/IProyectoAccionEstrategica';\r\nimport { IEstadoProyecto } from '../../proyecto-UE/estado-proyecto/estado-proyecto.types';\r\nimport { BlobFile } from '../../material-file-upload/material-file-upload.component';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'my-auth-token'\r\n })\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProyectoHttpService {\r\n\r\n baseUrl = environment.serverUrl + '/api';\r\n\r\n constructor(private _http: HttpClient) {\r\n }\r\n\r\n getProyectos() {\r\n return this._http.get<Array<IProyecto>>(`${this.baseUrl}/proyecto`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectosEstadoInfTecnico(idProyecto?: string) {\r\n let url = `${this.baseUrl}/proyecto/estadoInfTecnico` + (idProyecto ? '?idProyecto=' + idProyecto : '');\r\n return this._http.get<Array<IProyecto>>(url)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectosEstadoInfTecnicoByPF(idperiodofiscal: string) {\r\n let url = `${this.baseUrl}/proyecto/estadoInfTecnico` + '?idperiodofiscal=' + idperiodofiscal;\r\n return this._http.get<Array<IProyecto>>(url)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectoById(idProyecto: string) {\r\n return this._http.get<IProyecto>(`${this.baseUrl}/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getTiposObjetivosEstrategicos(idProyecto: string) {\r\n return this._http.get<Array<ITipoObjetivoEstrategico>>(`${this.baseUrl}/tipoObjetivoEstrategico/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getTiposAccionesEstrategicas(idProyecto: string) {\r\n return this._http.get<Array<ITipoAccionEstrategica>>(`${this.baseUrl}/tipoAccionEstrategica/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getComponentes(idProyecto: string) {\r\n return this._http.get<Array<IComponente>>(`${this.baseUrl}/componente/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n createProyecto(proyecto: IProyecto) {\r\n return this._http.post<IProyecto>(`${this.baseUrl}/proyecto`, proyecto, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n createProyectoUnidadEjecutora(proyectoUE: IProyectoUnidadEjecutora) {\r\n return this._http.post<IProyectoUnidadEjecutora>(`${this.baseUrl}/proyectoUnidadEjecutora`, proyectoUE, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n createProyectoUnidadParticipante(proyectoUP: IProyectoUnidadParticipante) {\r\n return this._http.post<IProyectoUnidadParticipante>(`${this.baseUrl}/proyectoUnidadParticipante`, proyectoUP, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n createComponente(componente: IComponente) {\r\n return this._http.post<IComponente>(`${this.baseUrl}/componente`, componente, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n updateProyectoUnidadParticipante(proyectoUP: IProyectoUnidadParticipante) {\r\n return this._http.put<IProyectoUnidadParticipante>(\r\n `${this.baseUrl}/proyectoUnidadParticipante/${proyectoUP._id}`, proyectoUP, httpOptions\r\n ).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n updateProyecto(proyecto: IProyecto) {\r\n return this._http.put<IProyecto>(`${this.baseUrl}/proyecto/${proyecto._id}`, proyecto, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n updateComponente(componente: IComponente) {\r\n return this._http.put<IComponente>(`${this.baseUrl}/componente/${componente._id}`, componente, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteProyecto(proyecto: IProyecto) {\r\n return this._http.delete(`${this.baseUrl}/proyecto/${proyecto._id}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteProyectoUnidadEjecutora(proyectoUE: IProyectoUnidadEjecutora) {\r\n return this._http.delete(`${this.baseUrl}/proyectoUnidadEjecutora/${proyectoUE._id}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteProyectoUnidadParticipante(proyectoUP: IProyectoUnidadParticipante) {\r\n return this._http.delete(`${this.baseUrl}/proyectoUnidadParticipante/${proyectoUP._id}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteComponente(componente: IComponente) {\r\n return this._http.delete(`${this.baseUrl}/componente/${componente._id}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectoUnidadParticipantes(idProyecto: string) {\r\n return this._http.get<Array<IProyectoUnidadParticipante>>(`${this.baseUrl}/proyectoUnidadParticipante/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectoUnidadParticipanteById(id: string) {\r\n return this._http.get<IProyectoUnidadParticipante>(`${this.baseUrl}/proyectoUnidadParticipante/${id}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectoObjetivoEstrategicos(idProyecto: string) {\r\n /** TODO */\r\n return this._http.get<Array<IProyectoObjetivoEstrategico>>(`${this.baseUrl}/proyectoObjetivoEstrategico/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectoObjetivoEstrategicosCompleto(idProyecto: string) {\r\n /** TODO */\r\n return this._http.get<Array<IProyectoObjetivoEstrategico>>(\r\n `${this.baseUrl}/proyectoObjetivoEstrategico/proyecto/${idProyecto}/completo`\r\n ).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectoAccionesEstrategicas(idProyecto: string) {\r\n /** TODO */\r\n return this._http.get<Array<IProyectoAccionEstrategica>>(`${this.baseUrl}/proyectoTipoAccionEstrategica/proyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getProyectoAccionesEstrategicasCompleto(idProyecto: string) {\r\n /** TODO */\r\n return this._http.get<Array<IProyectoAccionEstrategica>>(\r\n `${this.baseUrl}/proyectoTipoAccionEstrategica/proyecto/${idProyecto}/completo`\r\n ).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n setObjetivosEstrategicos(idProyecto: string, objetivos: IProyectoObjetivoEstrategico[]) {\r\n return this._http.post<Array<IProyectoObjetivoEstrategico>>(\r\n `${this.baseUrl}/proyectoObjetivoEstrategico/proyecto/${idProyecto}`, objetivos, httpOptions\r\n ).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n setAccionesEstrategicas(idProyecto: string, acciones: IProyectoAccionEstrategica[]) {\r\n return this._http.post<Array<IProyectoAccionEstrategica>>(\r\n `${this.baseUrl}/proyectoTipoAccionEstrategica/proyecto/${idProyecto}`, acciones, httpOptions\r\n ).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getEstadoByProyectoId(idProyecto: string) {\r\n return this._http.get<Array<IEstadoProyecto>>(`${this.baseUrl}/estadoProyecto/${idProyecto}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getArchivosByProyectoId(entityId: string) {\r\n return this._http.get<Array<BlobFile>>(`${this.baseUrl}/blob/${entityId}/findByEntity`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Ocurrio un error:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend retorno el error ${error.status}, ` +\r\n `con el cuerpo: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n }\r\n\r\n abrirResumen(idProyecto: string) {\r\n window.open(`${this.baseUrl}/proyecto/resumen/${idProyecto}`, '_blank');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ProyectoHttpService } from './proyecto-http.service';\r\nimport { IProyecto } from '../IProyecto';\r\nimport { UnidadEjecutoraHttpService } from '../../unidad-ejecutora/services/unidad-ejecutora-http.service';\r\nimport { PeriodoFiscalService } from '../../periodo-fiscal/services/periodo-fiscal.service';\r\nimport { forkJoin } from 'rxjs/internal/observable/forkJoin';\r\nimport { map } from 'rxjs/operators';\r\nimport { TipoIndicadorObjetivoService } from '../../tipo-indicador-objetivo/services/tipo-indicador-objetivo.service';\r\nimport { TipoObjetivoEstrategicoService } from '../../tipo-objetivo-estrategico/services/tipo-objetivo-estrategico.service';\r\nimport { TipoAccionEstrategicaService } from '../../tipo-accion-estrategica/services/tipo-accion-estrategica.service';\r\nimport { ZonaHttpService } from '../../zona/services/zona-http.service';\r\nimport { IProyectoUnidadEjecutora } from '../../proyecto-UE/IProyectoUnidadEjecutora';\r\nimport { IProyectoUnidadParticipante } from '../../proyecto-UE/IProyectoUnidadParticipante';\r\nimport { IComponente } from '../../proyecto-UE/IComponente';\r\nimport { IProyectoObjetivoEstrategico } from '../../proyecto-UE/IProyecto';\r\nimport { IProyectoAccionEstrategica } from '../../proyecto-UE/IProyectoAccionEstrategica';\r\nimport { UsuarioHttpService } from '../../usuarios-UE/services/usuario-http.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProyectoService {\r\n\r\n constructor(\r\n private _httpService: ProyectoHttpService,\r\n private _httpUEService: UnidadEjecutoraHttpService,\r\n private _periodoFiscalService: PeriodoFiscalService,\r\n private _tipoIndicadorObjetivoServicio: TipoIndicadorObjetivoService,\r\n private _tipoObjetivoEstrategicoService: TipoObjetivoEstrategicoService,\r\n private _tipoAccionEstrategicaService: TipoAccionEstrategicaService,\r\n private _httpZonaService: ZonaHttpService,\r\n private _usuarioService: UsuarioHttpService\r\n \r\n ) {\r\n }\r\n\r\n getProyectos() {\r\n return this._httpService.getProyectos();\r\n }\r\n\r\n getProyectosEstadoInfTecnico(idProyecto?: string) {\r\n return this._httpService.getProyectosEstadoInfTecnico(idProyecto);\r\n }\r\n\r\n getProyectosEstadoInfTecnicoByPF(idperiodofiscal?: string) {\r\n return this._httpService.getProyectosEstadoInfTecnicoByPF(idperiodofiscal);\r\n }\r\n\r\n getProyectoById(idProyecto: string) {\r\n return this._httpService.getProyectoById(idProyecto);\r\n }\r\n\r\n getTiposObjetivosEstrategicos(idProyecto: string) {\r\n return this._httpService.getProyectoObjetivoEstrategicos(idProyecto);\r\n }\r\n\r\n getTiposObjetivosEstrategicosCompleto(idProyecto: string) {\r\n return this._httpService.getProyectoObjetivoEstrategicosCompleto(idProyecto);\r\n }\r\n\r\n getTiposAccionesEstrategicas(idProyecto: string) {\r\n return this._httpService.getProyectoAccionesEstrategicas(idProyecto);\r\n }\r\n\r\n getTiposAccionesEstrategicasCompleto(idProyecto: string) {\r\n return this._httpService.getProyectoAccionesEstrategicasCompleto(idProyecto);\r\n }\r\n\r\n setObjetivosEstrategicos(idProyecto: string, objetivos: IProyectoObjetivoEstrategico[]) {\r\n return this._httpService.setObjetivosEstrategicos(idProyecto, objetivos);\r\n }\r\n\r\n setAccionesEstrategicas(idProyecto: string, acciones: IProyectoAccionEstrategica[]) {\r\n return this._httpService.setAccionesEstrategicas(idProyecto, acciones);\r\n }\r\n\r\n createProyecto(proyecto: IProyecto) {\r\n return this._httpService.createProyecto(proyecto);\r\n }\r\n\r\n createProyectoUnidadEjecutora(proyectoUE: IProyectoUnidadEjecutora) {\r\n return this._httpService.createProyectoUnidadEjecutora(proyectoUE);\r\n }\r\n\r\n createProyectoUnidadParticipante(proyectoUP: IProyectoUnidadParticipante) {\r\n return this._httpService.createProyectoUnidadParticipante(proyectoUP);\r\n }\r\n\r\n createComponente(componente: IComponente) {\r\n return this._httpService.createComponente(componente);\r\n }\r\n\r\n updateProyectoUnidadParticipante(proyectoUP: IProyectoUnidadParticipante) {\r\n return this._httpService.updateProyectoUnidadParticipante(proyectoUP);\r\n }\r\n\r\n updateProyecto(proyecto: IProyecto) {\r\n return this._httpService.updateProyecto(proyecto);\r\n }\r\n\r\n updateComponente(componente: IComponente) {\r\n return this._httpService.updateComponente(componente);\r\n }\r\n\r\n deleteProyecto(proyecto: IProyecto) {\r\n return this._httpService.deleteProyecto(proyecto);\r\n }\r\n\r\n deleteProyectoUnidadEjecutora(proyectoUE: IProyectoUnidadEjecutora) {\r\n return this._httpService.deleteProyectoUnidadEjecutora(proyectoUE);\r\n }\r\n\r\n deleteProyectoUnidadParticipante(proyectoUP: IProyectoUnidadParticipante) {\r\n return this._httpService.deleteProyectoUnidadParticipante(proyectoUP);\r\n }\r\n\r\n deleteComponente(componente: IComponente) {\r\n return this._httpService.deleteComponente(componente);\r\n }\r\n\r\n getUnidadesEjecutoras(): any {\r\n return this._httpUEService.getUnidadesEjecutoras();\r\n }\r\n\r\n getComponentes(idProyecto: string): any {\r\n return this._httpService.getComponentes(idProyecto);\r\n }\r\n\r\n getProyectoUnidadEjecutoraById(id: string): any {\r\n return this._httpUEService.getProyectoUnidadEjecutoraById(id);\r\n }\r\n\r\n getProyectoUnidadEjecutoras(idProyecto: string): any {\r\n return this._httpUEService.getProyectoUnidadEjecutoras(idProyecto);\r\n }\r\n\r\n getProyectoUnidadParticipanteById(id: string): any {\r\n return this._httpService.getProyectoUnidadParticipanteById(id);\r\n }\r\n\r\n getProyectoUnidadParticipantes(idProyecto: string): any {\r\n return this._httpService.getProyectoUnidadParticipantes(idProyecto);\r\n }\r\n\r\n getZonas(): any {\r\n return this._httpZonaService.getZonas();\r\n }\r\n\r\n getOpcionesInicialesProyecto(): any {\r\n return forkJoin(\r\n this._httpUEService.getUnidadesEjecutoras(),\r\n this._periodoFiscalService.getPeriodosFiscales(),\r\n this._periodoFiscalService.getPeriodoFiscalActual()\r\n ).pipe(\r\n map(([unidadesEjecutoras, periodosFiscales, periodoFiscal]) => {\r\n // forkJoin returns an array of values, here we map those values to an object\r\n return {\r\n unidadesEjecutoras,\r\n periodosFiscales,\r\n periodoFiscal\r\n };\r\n })\r\n );\r\n }\r\n\r\n getDatosGeneralesProyecto(): any {\r\n return forkJoin(\r\n this._tipoObjetivoEstrategicoService.getTiposObjetivosEstrategicos(),\r\n this._tipoAccionEstrategicaService.getTiposAccionesEstrategicas(),\r\n this._tipoIndicadorObjetivoServicio.getTiposIndicadoresObjetivos()\r\n ).pipe(\r\n map(([objetivosEstrategicos, accionesEstrategicas, indicadoresObjetivos]) => {\r\n // forkJoin returns an array of values, here we map those values to an object\r\n return {\r\n objetivosEstrategicos: objetivosEstrategicos,\r\n accionesEstrategicas: accionesEstrategicas,\r\n indicadoresObjetivos: indicadoresObjetivos,\r\n };\r\n })\r\n );\r\n }\r\n\r\n \r\n getHeaderProyecto(idProyecto, userId): any {\r\n return forkJoin(\r\n this._httpUEService.getUnidadesEjecutoras(),\r\n this._httpService.getProyectoById(idProyecto),\r\n this._usuarioService.getUsuarioById(userId)\r\n ).pipe(\r\n map(([unidadesEjecutoras, proyecto, usuario]) => {\r\n // forkJoin returns an array of values, here we map those values to an object\r\n return {\r\n unidadesEjecutoras,\r\n proyecto,\r\n usuario\r\n };\r\n })\r\n );\r\n }\r\n \r\n\r\n getProyectoCard(idProyecto: string): any {\r\n return forkJoin(\r\n this._httpUEService.getUnidadesEjecutoras(),\r\n this._httpService.getComponentes(idProyecto),\r\n this._httpService.getEstadoByProyectoId(idProyecto),\r\n this._httpService.getArchivosByProyectoId(idProyecto),\r\n ).pipe(\r\n map(([unidadesEjecutoras, componentes, estado, archivos]) => {\r\n // forkJoin returns an array of values, here we map those values to an object\r\n return {\r\n unidadesEjecutoras,\r\n componentes,\r\n estado: estado && estado.length > 0 ? estado[0]: null,\r\n archivos\r\n };\r\n })\r\n );\r\n }\r\n\r\n abrirResumen (idProyecto: string) {\r\n this._httpService.abrirResumen(idProyecto);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { throwError } from 'rxjs/internal/observable/throwError';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { IEstrategia } from './estrategias/estrategias';\r\nimport { IObjetivoEstrategico } from './objetivos-estrategicos/objetivos-estrategicos';\r\nimport { IAccionEstrategica } from './acciones-estrategicas/acciones-estrategicas';\r\nimport { Observable } from 'rxjs';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'my-auth-token'\r\n })\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EstrategiasHttpService {\r\n\r\n objetivoEstUrl = environment.serverUrl + '/api/objetivoEstrategico';\r\n estrategiaUrl = environment.serverUrl + '/api/estrategia';\r\n accionEstUrl = environment.serverUrl + '/api/accionEstrategica';\r\n proyectoUrl = environment.serverUrl + '/api/proyecto';\r\n\r\n constructor(private _http: HttpClient) {\r\n \r\n }\r\n\r\n getObjetivosEstrategicos() {\r\n return this._http.get<Array<IObjetivoEstrategico>>(`${this.objetivoEstUrl}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getObjetivoEstrategicoById(id: string) {\r\n return this._http.get<Array<IObjetivoEstrategico>>(`${this.objetivoEstUrl}/${id}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getEstrategias(): Observable<IEstrategia[]> {\r\n return this._http.get<Array<IEstrategia>>(`${this.estrategiaUrl}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getEstrategiaById(id: string) {\r\n return this._http.get<Array<IEstrategia>>(`${this.estrategiaUrl}/${id}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getAccionesEstrategicas() {\r\n return this._http.get<Array<IAccionEstrategica>>(`${this.accionEstUrl}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getAccionEstrategicaById(id: string) {\r\n return this._http.get<Array<IAccionEstrategica>>(`${this.accionEstUrl}/${id}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getEstrategiasByProyecto(proyectoId: string) {\r\n return this._http.get<Array<IAccionEstrategica>>(`${this.proyectoUrl}/${proyectoId}/estrategias`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Ocurrio un error:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend retorno el error ${error.status}, ` +\r\n `con el cuerpo: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n };\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { EstrategiasHttpService } from './estrategias-http.service';\r\nimport { IEstrategia } from './estrategias/estrategias';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EstrategiasService {\r\n\r\n constructor(private _httpService: EstrategiasHttpService) {\r\n\r\n }\r\n\r\n getAccionesEstrategicas() {\r\n return this._httpService.getAccionesEstrategicas();\r\n }\r\n\r\n getAccionEstrategicaById(id: string) {\r\n return this._httpService.getAccionEstrategicaById(id);\r\n }\r\n\r\n getEstrategiasByProyecto(proyectoId: string) {\r\n return this._httpService.getEstrategiasByProyecto(proyectoId);\r\n }\r\n \r\n getEstrategias(): Observable<IEstrategia[]> {\r\n return this._httpService.getEstrategias();\r\n }\r\n\r\n getEstrategiaById(id: string) {\r\n return this._httpService.getEstrategiaById(id);\r\n }\r\n\r\n getObjetivosEstrategicos() {\r\n return this._httpService.getObjetivosEstrategicos();\r\n }\r\n\r\n getObjetivoEstrategicoById(id: string) {\r\n return this._httpService.getObjetivoEstrategicoById(id);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {ITipoAccionEstrategica} from '../itipo-accion-estrategica';\r\nimport {catchError} from 'rxjs/operators';\r\nimport {throwError} from 'rxjs/internal/observable/throwError';\r\nimport {environment} from '../../../../environments/environment';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'my-auth-token'\r\n })\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TipoAccionEstrategicaHttpService {\r\n\r\n baseUrl = environment.serverUrl + '/api';\r\n\r\n constructor(private _http: HttpClient) {\r\n }\r\n\r\n getTiposAccionesEstrategicas() {\r\n return this._http.get<Array<ITipoAccionEstrategica>>(`${this.baseUrl}/tipoAccionEstrategica`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n createTipoAccionEstrategica(tipoAccionEstrategica: ITipoAccionEstrategica) {\r\n return this._http.post<ITipoAccionEstrategica>(`${this.baseUrl}/tipoAccionEstrategica`, tipoAccionEstrategica, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n updateTipoAccionEstrategica(tipoAccionEstrategica: ITipoAccionEstrategica) {\r\n return this._http.put<ITipoAccionEstrategica>(`${this.baseUrl}/tipoAccionEstrategica/${tipoAccionEstrategica._id}`, tipoAccionEstrategica, httpOptions)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteTipoAccionEstrategica(tipoAccionEstrategica: ITipoAccionEstrategica) {\r\n return this._http.delete(`${this.baseUrl}/tipoAccionEstrategica/${tipoAccionEstrategica._id}`)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Ocurrio un error:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend retorno el error ${error.status}, ` +\r\n `con el cuerpo: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n };\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {TipoAccionEstrategicaHttpService} from './tipo-accion-estrategica-http.service';\r\nimport {ITipoAccionEstrategica} from '../itipo-accion-estrategica';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TipoAccionEstrategicaService {\r\n\r\n constructor(private _httpService: TipoAccionEstrategicaHttpService) { }\r\n\r\n getTiposAccionesEstrategicas() {\r\n return this._httpService.getTiposAccionesEstrategicas();\r\n }\r\n\r\n createTipoAccionEstrategica(tipoAccionEstrategica: ITipoAccionEstrategica) {\r\n return this._httpService.createTipoAccionEstrategica(tipoAccionEstrategica);\r\n }\r\n\r\n updateTipoAccionEstrategica(tipoAccionEstrategica: ITipoAccionEstrategica) {\r\n return this._httpService.updateTipoAccionEstrategica(tipoAccionEstrategica);\r\n }\r\n\r\n deleteTipoAccionEstrategica(tipoAccionEstrategica: ITipoAccionEstrategica) {\r\n return this._httpService.deleteTipoAccionEstrategica(tipoAccionEstrategica);\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { ITipoGasto } from '../ITipoGasto';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { throwError } from 'rxjs/internal/observable/throwError';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'my-auth-token'\r\n })\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TipoGastoHttpService {\r\n\r\n baseUrl = environment.serverUrl + '/api';\r\n\r\n constructor(private _http: HttpClient) {}\r\n\r\n getAll() {\r\n return this._http.get<Array<ITipoGasto>>(`${this.baseUrl}/tipoGasto`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n createTipoGasto(tipoGasto: ITipoGasto) {\r\n return this._http.post<ITipoGasto>(`${this.baseUrl}/tipoGasto`, tipoGasto, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n\r\n updateTipoGasto(tipoGasto: ITipoGasto) {\r\n return this._http.put<ITipoGasto>(`${this.baseUrl}/tipoGasto/${tipoGasto._id}`, tipoGasto, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n deleteTipoGasto(tipoGasto: ITipoGasto) {\r\n return this._http.delete(`${this.baseUrl}/tipoGasto/${tipoGasto._id}`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n private _handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Ocurrio un error:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend retorno el error ${error.status}, ` +\r\n `con el cuerpo: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TipoGastoHttpService } from './tipo-gasto-http.service';\r\nimport { ITipoGasto } from '../ITipoGasto';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TipoGastoService {\r\n constructor(private _httpService: TipoGastoHttpService) {}\r\n\r\n getAll() {\r\n return this._httpService.getAll();\r\n }\r\n\r\n createTipoGasto(tipoGasto: ITipoGasto) {\r\n return this._httpService.createTipoGasto(tipoGasto);\r\n }\r\n\r\n updateTipoGasto(tipoGasto: ITipoGasto) {\r\n return this._httpService.updateTipoGasto(tipoGasto);\r\n }\r\n\r\n deleteTipoGasto(tipoGasto: ITipoGasto) {\r\n return this._httpService.deleteTipoGasto(tipoGasto);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {ITipoIndicadorObjetivo} from '../itipo-indicador-objetivo';\r\nimport {catchError} from 'rxjs/operators';\r\nimport {throwError} from 'rxjs/internal/observable/throwError';\r\nimport {environment} from '../../../../environments/environment';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'my-auth-token'\r\n })\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TipoIndicadorObjetivoHttpService {\r\n\r\n baseUrl = environment.serverUrl + '/api';\r\n\r\n constructor(private _http: HttpClient) {\r\n }\r\n\r\n getTiposIndicadoresObjetivos() {\r\n return this._http.get<Array<ITipoIndicadorObjetivo>>(`${this.baseUrl}/tipoIndicadorObjetivo`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n getTipoIndicadorObjetivoById(idIndicador: string) {\r\n return this._http.get<ITipoIndicadorObjetivo>(`${this.baseUrl}/tipoIndicadorObjetivo/${idIndicador}`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n createTipoIndicadorObjetivo(tipoIndicadorObjetivo: ITipoIndicadorObjetivo) {\r\n return this._http.post<ITipoIndicadorObjetivo>(`${this.baseUrl}/tipoIndicadorObjetivo`, tipoIndicadorObjetivo, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n\r\n updateTipoIndicadorObjetivo(tipoIndicadorObjetivo: ITipoIndicadorObjetivo) {\r\n return this._http.put<ITipoIndicadorObjetivo>(`${this.baseUrl}/tipoIndicadorObjetivo/${tipoIndicadorObjetivo._id}`, tipoIndicadorObjetivo, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n deleteTipoIndicadorObjetivo(tipoIndicadorObjetivo: ITipoIndicadorObjetivo) {\r\n return this._http.delete(`${this.baseUrl}/tipoIndicadorObjetivo/${tipoIndicadorObjetivo._id}`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n private _handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Ocurrio un error:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend retorno el error ${error.status}, ` +\r\n `con el cuerpo: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n };\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {TipoIndicadorObjetivoHttpService} from './tipo-indicador-objetivo-http.service';\r\nimport {ITipoIndicadorObjetivo} from '../itipo-indicador-objetivo';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TipoIndicadorObjetivoService {\r\n\r\n constructor(private _httpService: TipoIndicadorObjetivoHttpService) { }\r\n\r\n getTiposIndicadoresObjetivos() {\r\n return this._httpService.getTiposIndicadoresObjetivos();\r\n }\r\n\r\n getTipoIndicadorObjetivoById(idIndicador: string) {\r\n return this._httpService.getTipoIndicadorObjetivoById(idIndicador);\r\n }\r\n\r\n createTipoIndicadorObjetivo(tipoIndicadorObjetivo: ITipoIndicadorObjetivo) {\r\n return this._httpService.createTipoIndicadorObjetivo(tipoIndicadorObjetivo);\r\n }\r\n\r\n updateTipoIndicadorObjetivo(tipoIndicadorObjetivo: ITipoIndicadorObjetivo) {\r\n return this._httpService.updateTipoIndicadorObjetivo(tipoIndicadorObjetivo);\r\n }\r\n\r\n deleteTipoIndicadorObjetivo(tipoIndicadorObjetivo: ITipoIndicadorObjetivo) {\r\n return this._httpService.deleteTipoIndicadorObjetivo(tipoIndicadorObjetivo);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {ITipoObjetivoEstrategico} from '../itipo-objetivo-estrategico';\r\nimport {catchError} from 'rxjs/operators';\r\nimport {throwError} from 'rxjs/internal/observable/throwError';\r\nimport {environment} from '../../../../environments/environment';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'my-auth-token'\r\n })\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TipoObjetivoEstrategicoHttpService {\r\n\r\n baseUrl = environment.serverUrl + '/api';\r\n\r\n constructor(private _http: HttpClient) {}\r\n\r\n getById(idObjetivoEstrategico: string) {\r\n return this._http.get<ITipoObjetivoEstrategico>(`${this.baseUrl}/tipoObjetivoEstrategico/${idObjetivoEstrategico}`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n getTiposObjetivosEstrategicos() {\r\n return this._http.get<Array<ITipoObjetivoEstrategico>>(`${this.baseUrl}/tipoObjetivoEstrategico`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n createTipoObjetivoEstrategico(tipoObjetivoEstrategico: ITipoObjetivoEstrategico) {\r\n return this._http.post<ITipoObjetivoEstrategico>(`${this.baseUrl}/tipoObjetivoEstrategico`, tipoObjetivoEstrategico, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n\r\n updateTipoObjetivoEstrategico(tipoObjetivoEstrategico: ITipoObjetivoEstrategico) {\r\n return this._http.put<ITipoObjetivoEstrategico>(`${this.baseUrl}/tipoObjetivoEstrategico/${tipoObjetivoEstrategico._id}`, tipoObjetivoEstrategico, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n deleteTipoObjetivoEstrategico(tipoObjetivoEstrategico: ITipoObjetivoEstrategico) {\r\n return this._http.delete(`${this.baseUrl}/tipoObjetivoEstrategico/${tipoObjetivoEstrategico._id}`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n private _handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Ocurrio un error:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend retorno el error ${error.status}, ` +\r\n `con el cuerpo: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n };\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {TipoObjetivoEstrategicoHttpService} from \"./tipo-objetivo-estrategico-http.service\";\r\nimport {ITipoObjetivoEstrategico} from \"../itipo-objetivo-estrategico\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TipoObjetivoEstrategicoService {\r\n\r\n constructor(private _httpService: TipoObjetivoEstrategicoHttpService) { }\r\n\r\n getById(idTipoObjetivoEstrategico: string) {\r\n return this._httpService.getById(idTipoObjetivoEstrategico);\r\n }\r\n\r\n getTiposObjetivosEstrategicos() {\r\n return this._httpService.getTiposObjetivosEstrategicos();\r\n }\r\n\r\n createTipoObjetivoEstrategico(tipoObjetivoEstrategico: ITipoObjetivoEstrategico) {\r\n return this._httpService.createTipoObjetivoEstrategico(tipoObjetivoEstrategico);\r\n }\r\n\r\n updateTipoObjetivoEstrategico(tipoObjetivoEstrategico: ITipoObjetivoEstrategico) {\r\n return this._httpService.updateTipoObjetivoEstrategico(tipoObjetivoEstrategico);\r\n }\r\n\r\n deleteTipoObjetivoEstrategico(tipoObjetivoEstrategico: ITipoObjetivoEstrategico) {\r\n return this._httpService.deleteTipoObjetivoEstrategico(tipoObjetivoEstrategico);\r\n }\r\n\r\n\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {IUnidadParticipante} from '../iunidad-participante';\r\nimport {catchError} from 'rxjs/operators';\r\nimport {throwError} from 'rxjs/internal/observable/throwError';\r\nimport {environment} from '../../../../environments/environment';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'my-auth-token'\r\n })\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UnidadParticipanteHttpService {\r\n\r\n baseUrl = environment.serverUrl + '/api';\r\n\r\n constructor(private _http: HttpClient) {\r\n }\r\n\r\n getUnidadesParticipantes() {\r\n return this._http.get<Array<IUnidadParticipante>>(`${this.baseUrl}/unidadParticipante`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n createUnidadParticipante(unidadParticipante: IUnidadParticipante) {\r\n return this._http.post<IUnidadParticipante>(`${this.baseUrl}/unidadParticipante`, unidadParticipante, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n\r\n updateUnidadParticipante(unidadParticipante: IUnidadParticipante) {\r\n return this._http.put<IUnidadParticipante>(`${this.baseUrl}/unidadParticipante/${unidadParticipante._id}`, unidadParticipante, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n deleteUnidadParticipante(unidadParticipante: IUnidadParticipante) {\r\n return this._http.delete(`${this.baseUrl}/unidadParticipante/${unidadParticipante._id}`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n private _handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Ocurrio un error:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend retorno el error ${error.status}, ` +\r\n `con el cuerpo: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n };\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UnidadParticipanteHttpService } from './unidad-participante-http.service';\r\nimport { IUnidadParticipante } from '../iunidad-participante';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UnidadParticipanteService {\r\n constructor(private _httpService: UnidadParticipanteHttpService) {}\r\n\r\n getUnidadesParticipantes() {\r\n return this._httpService.getUnidadesParticipantes();\r\n }\r\n\r\n createUnidadParticipante(unidadParticipante: IUnidadParticipante) {\r\n return this._httpService.createUnidadParticipante(unidadParticipante);\r\n }\r\n\r\n updateUnidadParticipante(unidadParticipante: IUnidadParticipante) {\r\n return this._httpService.updateUnidadParticipante(unidadParticipante);\r\n }\r\n\r\n deleteUnidadParticipante(unidadParticipante: IUnidadParticipante) {\r\n return this._httpService.deleteUnidadParticipante(unidadParticipante);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {IZona} from '../izona';\r\nimport {catchError} from 'rxjs/operators';\r\nimport {throwError} from 'rxjs/internal/observable/throwError';\r\nimport {environment} from '../../../../environments/environment';\r\nimport { IComponente } from '../../proyecto-UE/IComponente';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'my-auth-token'\r\n })\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ZonaHttpService {\r\n\r\n baseUrl = environment.serverUrl + '/api';\r\n\r\n constructor(private _http: HttpClient) {\r\n }\r\n\r\n getZonas() {\r\n return this._http.get<Array<IZona>>(`${this.baseUrl}/zona`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n createZona(zona: IZona) {\r\n return this._http.post<IZona>(`${this.baseUrl}/zona`, zona, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n\r\n updateZona(zona: IZona) {\r\n return this._http.put<IZona>(`${this.baseUrl}/zona/${zona._id}`, zona, httpOptions)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n deleteZona(zona: IZona) {\r\n return this._http.delete(`${this.baseUrl}/zona/${zona._id}`)\r\n .pipe(\r\n catchError(this._handleError)\r\n );\r\n }\r\n\r\n private _handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Ocurrio un error:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend retorno el error ${error.status}, ` +\r\n `con el cuerpo: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(`Algo no salio bien, Por favor intente de nuevo mas tarde. ${error.error}`);\r\n }\r\n}\r\n"],"sourceRoot":""}