iptdevs-design-system 3.1.425 → 3.1.427

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -90,6 +90,10 @@ export class AttendanceService extends IPTGeneralService {
90
90
  this.generateRequestParams(params);
91
91
  return this.http.post(serviceUrl, this.httpOptions);
92
92
  }
93
+ exportExcelAttendance(codeStudent) {
94
+ let serviceUrl = this.SERVICE_URL + 'dowload/excel/attendances/students/by/course/' + codeStudent;
95
+ return this.http.get(serviceUrl);
96
+ }
93
97
  }
94
98
  AttendanceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AttendanceService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
95
99
  AttendanceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AttendanceService, providedIn: 'root' });
@@ -99,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
99
103
  providedIn: 'root'
100
104
  }]
101
105
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZW5kYW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXR0ZW5kYW5jZS1zZXJ2aWNlL2F0dGVuZGFuY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFLM0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQUd0RCxZQUFvQixJQUFnQjtRQUNsQyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQVk7UUFGNUIsZ0JBQVcsR0FBRyxlQUFlLENBQUM7UUFJcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBMEI7UUFDM0MsSUFBSSxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxzQkFBc0IsQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUErQjtRQUNuRCxJQUFJLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLG1DQUFtQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FB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QUksQ0FBQyxXQUFXLHNDQUFzQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7OEdBekdVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVzcG9uc2UvcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkZEV2ZW50QnlDb3Vyc2VScSwgQ291cnNlQXR0ZW5kYW5jZSwgR2V0RXZlbnRCeUNvZGVScSwgR2V0RXZlbnRzQnlDb3Vyc2VDb2RlUnEsIEdldE5vdEF0dGVuZGFuY2VzQnlDb2RScSwgSVJlZ2lzdGVyTmV3QXR0ZW5kYW5jZVJxLCBJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnEsIElVcGRhdGVBdHRlbmRhY2VuQnlDb2RlUnEsIFJlZ2lzdGVyTmV3QXR0ZW5kYW5jZUJ5RXZlbnRScSB9IGZyb20gJy4uLy4uL21vZGVscy9hdHRlbmRhbmNlL2F0dGVuZGFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElQVEdlbmVyYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS1lbnZpcm9tZW50cyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF0dGVuZGFuY2VTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2V7XG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnYWNhZGVtaWMvYXBpLyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLlNFUlZJQ0VfVVJMID0gdGhpcy5iYXNlVXJsKCkgKyB0aGlzLlNFUlZJQ0VfVVJMO1xuICB9XG5cbiAgYWRkRXZlbnRCeUNvdXJzZVJxKHBhcmFtczogQWRkRXZlbnRCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1wb3N0L2V2ZW50L2J5L2NvdXJzZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXZlbnRzQnlDb3Vyc2VDb2RlKHBhcmFtczogR2V0RXZlbnRzQnlDb3Vyc2VDb2RlUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3Qvb2J0YWluL2V2ZW50cy9ieS9jb3Vyc2VfY29kZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXZlbnRCeUNvZGUocGFyYW1zOiBHZXRFdmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1wb3N0L29idGFpbi9ldmVudC9ieS9jb2RlYDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXNwb25zZT4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZWdpc3Rlck5ld0F0dGVuZGFuY2VCeUV2ZW50KHBhcmFtczogUmVnaXN0ZXJOZXdBdHRlbmRhbmNlQnlFdmVudFJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1yZWdpc3Rlci9hdHRlbmRhbmNlL2J5L2V2ZW50YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXNwb25zZT4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBdHRlbmRhY2VCeUNvdXJzZShjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdXJzZUF0dGVuZGFuY2U+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9cG9zdC9vYnRhaW4vYXR0ZW5kYW5jZXMvYnkvY291cnNlLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENvdXJzZUF0dGVuZGFuY2U+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0QXR0ZW5kYWNlQnlDb3Vyc2VBc3NpZ25lZChjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdXJzZUF0dGVuZGFuY2U+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9b2J0YWluL2F0dGVuZGFuY2VzL2J5L2NvdXJzZS9hc3NpZ25lZC8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDb3Vyc2VBdHRlbmRhbmNlPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldENPRENvZGVCeVN0dWRlbnRDb2RlKHN0dWRlbnRDb2RlOiBudW1iZXIpIHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9Z2V0L2NvZF9jb2RlL2J5L3N0dWRlbnRfY29kZS8ke3N0dWRlbnRDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldEF0dGVuZGFuY2VIaXN0b3J5QnlTdHVkZW50KHRva2VuOiBzdHJpbmcsIGNvZF9jb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3Qvb2J0YWluL2F0dGVuZGFuY2UvaGlzdG9yeS9ieS9zdHVkZW50YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIGNvZF9jb2RlfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbE5vdEF0dGVuZGFuY2VzQnlDb2QocGFyYW1zOiBHZXROb3RBdHRlbmRhbmNlc0J5Q29kUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWdldC9hbGwvbm90L2F0dGVuZGFuY2VzL2J5L2NvZGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Tm90QXR0ZW5kYW5jZXNPZkxhc3RXZWVrQnlDb2QocGFyYW1zOiBHZXROb3RBdHRlbmRhbmNlc0J5Q29kUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWdldC9hbGwvbm90L2F0dGVuZGFuY2VzL2xhc3R3ZWVrL2J5L2NvZGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQXR0ZW5kYWNlQnlDb3Vyc2UoY291cnNlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9Z2V0L2FsbC9kYXRhL2F0dGVuZGFuY2VzL2J5L2NvdXJzZS8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgbmV3QXR0ZW5kYW5jZUJ5RXZlbnQocGFyYW1zOiBJUmVnaXN0ZXJOZXdBdHRlbmRhbmNlUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3QvcmVnaXN0ZXIvbmV3L2F0dGVuZGFuY2UvYnkvZXZlbnRgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2VzU3R1c3R1ZGVudEJ5Q291cnNlKGNvdXJzZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfW9idGFpbi9hdHRlbmRhbmNlcy9zdHVkZW50cy9ieS9jb3Vyc2UvJHtjb3Vyc2VDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2Vzc0J5Q291cnNlKGNvdXJzZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfW9idGFpbi9hdHRlbmRhbmNlcy9ieS9jb3Vyc2UvJHtjb3Vyc2VDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2Vzc0J5QXNzaWduZWQoY291cnNlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9b2J0YWluL2F0dGVuZGFuY2VzL2J5L2Fzc2lnbmVkLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4oc2VydmljZVVybCk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VFdmVudEJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vY291cnNlL2V2ZW50L2J5L2NvZGUvJHtjb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkZ1bGxEYXRhQXR0ZW5kYW5jZUJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vZnVsbC9kYXRhL2F0dGVuZGFuY2UvYnkvY29kZS8ke2NvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgVXBkYXRlSW5kaXZpZHVhbEF0dGVuZGFuY2UocGFyYW1zOiBJVXBkYXRlQXR0ZW5kYWNlbkJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH11cGRhdGUvaW5kaXZpZHVhbC9hdHRlbmRhbmNlL2J5L2NvZGVgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG59XG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZW5kYW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXR0ZW5kYW5jZS1zZXJ2aWNlL2F0dGVuZGFuY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFLM0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQUd0RCxZQUFvQixJQUFnQjtRQUNsQyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQVk7UUFGNUIsZ0JBQVcsR0FBRyxlQUFlLENBQUM7UUFJcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBMEI7UUFDM0MsSUFBSSxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxzQkFBc0IsQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUErQjtRQUNuRCxJQUFJLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLG1DQUFtQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FB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QUksQ0FBQyxXQUFXLHNDQUFzQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLFdBQW1CO1FBQ3ZDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsK0NBQStDLEdBQUcsV0FBVyxDQUFDO1FBQ2xHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7OEdBOUdVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVzcG9uc2UvcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkZEV2ZW50QnlDb3Vyc2VScSwgQ291cnNlQXR0ZW5kYW5jZSwgR2V0RXZlbnRCeUNvZGVScSwgR2V0RXZlbnRzQnlDb3Vyc2VDb2RlUnEsIEdldE5vdEF0dGVuZGFuY2VzQnlDb2RScSwgSVJlZ2lzdGVyTmV3QXR0ZW5kYW5jZVJxLCBJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnEsIElVcGRhdGVBdHRlbmRhY2VuQnlDb2RlUnEsIFJlZ2lzdGVyTmV3QXR0ZW5kYW5jZUJ5RXZlbnRScSB9IGZyb20gJy4uLy4uL21vZGVscy9hdHRlbmRhbmNlL2F0dGVuZGFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElQVEdlbmVyYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS1lbnZpcm9tZW50cyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF0dGVuZGFuY2VTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2V7XG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnYWNhZGVtaWMvYXBpLyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLlNFUlZJQ0VfVVJMID0gdGhpcy5iYXNlVXJsKCkgKyB0aGlzLlNFUlZJQ0VfVVJMO1xuICB9XG5cbiAgYWRkRXZlbnRCeUNvdXJzZVJxKHBhcmFtczogQWRkRXZlbnRCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1wb3N0L2V2ZW50L2J5L2NvdXJzZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXZlbnRzQnlDb3Vyc2VDb2RlKHBhcmFtczogR2V0RXZlbnRzQnlDb3Vyc2VDb2RlUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3Qvb2J0YWluL2V2ZW50cy9ieS9jb3Vyc2VfY29kZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXZlbnRCeUNvZGUocGFyYW1zOiBHZXRFdmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1wb3N0L29idGFpbi9ldmVudC9ieS9jb2RlYDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXNwb25zZT4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZWdpc3Rlck5ld0F0dGVuZGFuY2VCeUV2ZW50KHBhcmFtczogUmVnaXN0ZXJOZXdBdHRlbmRhbmNlQnlFdmVudFJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1yZWdpc3Rlci9hdHRlbmRhbmNlL2J5L2V2ZW50YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXNwb25zZT4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBdHRlbmRhY2VCeUNvdXJzZShjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdXJzZUF0dGVuZGFuY2U+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9cG9zdC9vYnRhaW4vYXR0ZW5kYW5jZXMvYnkvY291cnNlLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENvdXJzZUF0dGVuZGFuY2U+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0QXR0ZW5kYWNlQnlDb3Vyc2VBc3NpZ25lZChjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdXJzZUF0dGVuZGFuY2U+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9b2J0YWluL2F0dGVuZGFuY2VzL2J5L2NvdXJzZS9hc3NpZ25lZC8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDb3Vyc2VBdHRlbmRhbmNlPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldENPRENvZGVCeVN0dWRlbnRDb2RlKHN0dWRlbnRDb2RlOiBudW1iZXIpIHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9Z2V0L2NvZF9jb2RlL2J5L3N0dWRlbnRfY29kZS8ke3N0dWRlbnRDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldEF0dGVuZGFuY2VIaXN0b3J5QnlTdHVkZW50KHRva2VuOiBzdHJpbmcsIGNvZF9jb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3Qvb2J0YWluL2F0dGVuZGFuY2UvaGlzdG9yeS9ieS9zdHVkZW50YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIGNvZF9jb2RlfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbE5vdEF0dGVuZGFuY2VzQnlDb2QocGFyYW1zOiBHZXROb3RBdHRlbmRhbmNlc0J5Q29kUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWdldC9hbGwvbm90L2F0dGVuZGFuY2VzL2J5L2NvZGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Tm90QXR0ZW5kYW5jZXNPZkxhc3RXZWVrQnlDb2QocGFyYW1zOiBHZXROb3RBdHRlbmRhbmNlc0J5Q29kUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWdldC9hbGwvbm90L2F0dGVuZGFuY2VzL2xhc3R3ZWVrL2J5L2NvZGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQXR0ZW5kYWNlQnlDb3Vyc2UoY291cnNlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9Z2V0L2FsbC9kYXRhL2F0dGVuZGFuY2VzL2J5L2NvdXJzZS8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgbmV3QXR0ZW5kYW5jZUJ5RXZlbnQocGFyYW1zOiBJUmVnaXN0ZXJOZXdBdHRlbmRhbmNlUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3QvcmVnaXN0ZXIvbmV3L2F0dGVuZGFuY2UvYnkvZXZlbnRgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2VzU3R1c3R1ZGVudEJ5Q291cnNlKGNvdXJzZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfW9idGFpbi9hdHRlbmRhbmNlcy9zdHVkZW50cy9ieS9jb3Vyc2UvJHtjb3Vyc2VDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2Vzc0J5Q291cnNlKGNvdXJzZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfW9idGFpbi9hdHRlbmRhbmNlcy9ieS9jb3Vyc2UvJHtjb3Vyc2VDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2Vzc0J5QXNzaWduZWQoY291cnNlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9b2J0YWluL2F0dGVuZGFuY2VzL2J5L2Fzc2lnbmVkLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4oc2VydmljZVVybCk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VFdmVudEJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vY291cnNlL2V2ZW50L2J5L2NvZGUvJHtjb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkZ1bGxEYXRhQXR0ZW5kYW5jZUJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vZnVsbC9kYXRhL2F0dGVuZGFuY2UvYnkvY29kZS8ke2NvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgVXBkYXRlSW5kaXZpZHVhbEF0dGVuZGFuY2UocGFyYW1zOiBJVXBkYXRlQXR0ZW5kYWNlbkJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH11cGRhdGUvaW5kaXZpZHVhbC9hdHRlbmRhbmNlL2J5L2NvZGVgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydEV4Y2VsQXR0ZW5kYW5jZShjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZG93bG9hZC9leGNlbC9hdHRlbmRhbmNlcy9zdHVkZW50cy9ieS9jb3Vyc2UvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG59XG4iXX0=
@@ -36,6 +36,7 @@ import { InputTextModule } from 'primeng/inputtext';
36
36
  import * as i1$3 from '@angular/router';
37
37
  import * as i2 from 'primeng/steps';
38
38
  import { StepsModule } from 'primeng/steps';
39
+ import { ToastModule } from 'primeng/toast';
39
40
 
40
41
  class AsideButtonComponent {
41
42
  constructor() {
@@ -6034,6 +6035,10 @@ class AttendanceService extends IPTGeneralService {
6034
6035
  this.generateRequestParams(params);
6035
6036
  return this.http.post(serviceUrl, this.httpOptions);
6036
6037
  }
6038
+ exportExcelAttendance(codeStudent) {
6039
+ let serviceUrl = this.SERVICE_URL + 'dowload/excel/attendances/students/by/course/' + codeStudent;
6040
+ return this.http.get(serviceUrl);
6041
+ }
6037
6042
  }
6038
6043
  AttendanceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AttendanceService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
6039
6044
  AttendanceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AttendanceService, providedIn: 'root' });
@@ -6162,16 +6167,16 @@ class CodSelfManagedControls {
6162
6167
  { name: 'student_last_name', required: true, description: 'Apellidos del estudiante' },
6163
6168
  { name: 'student_name', required: true, description: 'Nombres del estudiante' },
6164
6169
  { name: 'gender', required: true, description: 'Género' },
6170
+ { name: 'student_email', required: true, description: 'Correo del estudiante' },
6171
+ { name: 'student_phone_indicative', required: true, description: 'Indicativo del estudiante' },
6172
+ { name: 'student_phone_number', required: true, description: 'Teléfono del estudiante' },
6165
6173
  // { name: 'student_address', required: true, description: 'Dirección del estudiante' },
6166
- // { name: 'student_email', required: true, description: 'Correo del estudiante' },
6167
6174
  // { name: 'nickname', required: true, description: 'Alias o nickname' },
6168
6175
  // { name: 'age', required: true, description: 'Edad' },
6169
6176
  // { name: 'student_occupation', required: true, description: 'Ocupación del estudiante' },
6170
6177
  // { name: 'stratum', required: true, description: 'Estrato del estudiante' },
6171
6178
  // { name: 'grade', required: true, description: 'Grado del estudiante' },
6172
6179
  // { name: 'civil_status', required: true, description: 'Estado civil del estudiante' },
6173
- // { name: 'student_phone_indicative', required: true, description: 'Indicativo del estudiante' },
6174
- // { name: 'student_phone_number', required: true, description: 'Teléfono del estudiante' },
6175
6180
  // { name: 'password', required: true, description: 'Contraseña del estudiante' },
6176
6181
  // { name: 're_password', required: true, description: 'Confirmación de contraseña' },
6177
6182
  ],
@@ -6325,17 +6330,18 @@ class CodSelfFormStepOneComponent extends CodSelfManagedSteps {
6325
6330
  this.errorMessage = 'Faltan campos por llenar.';
6326
6331
  this.controls = new CodSelfManagedControls().controls[0];
6327
6332
  }
6328
- // ngOnInit(): void {
6329
- // this.setDataUsers();
6330
- // }
6331
6333
  ngOnChanges(changes) {
6332
6334
  this.initForm();
6333
6335
  this.getParameters();
6334
6336
  this.startLocalStorageWork();
6335
6337
  // this.setDataUsers();
6336
- if (changes['user'] && this.user != null) {
6337
- this.setDataUsers();
6338
- this.cdRef.detectChanges();
6338
+ if (changes['user']) {
6339
+ if (this.user != null) {
6340
+ this.setDataUsers();
6341
+ this.cdRef.detectChanges();
6342
+ }
6343
+ else {
6344
+ }
6339
6345
  }
6340
6346
  }
6341
6347
  initForm() {
@@ -6441,7 +6447,7 @@ class CodSelfFormStepOneComponent extends CodSelfManagedSteps {
6441
6447
  }
6442
6448
  selectState(state) {
6443
6449
  if (state !== 'Departamento o estado') {
6444
- // this.getState(state);
6450
+ this.getState(state);
6445
6451
  this.codSelfFormStepOne.controls['state'].setValue(state);
6446
6452
  }
6447
6453
  else {
@@ -6494,8 +6500,8 @@ class CodSelfFormStepOneComponent extends CodSelfManagedSteps {
6494
6500
  }
6495
6501
  getCity(state) {
6496
6502
  this.parameterService.getCitiesByState(state).subscribe((response) => {
6497
- this.selectCity(this.localStorageCOD.getCodFormData(1, 'city'));
6498
6503
  this.cities = response.data;
6504
+ this.selectCity(this.localStorageCOD.getCodFormData(1, 'city'));
6499
6505
  });
6500
6506
  }
6501
6507
  startLocalStorageWork() {
@@ -6505,12 +6511,18 @@ class CodSelfFormStepOneComponent extends CodSelfManagedSteps {
6505
6511
  this.listenFormChanges(1, control.name, this.codSelfFormStepOne.controls[control.name].valueChanges);
6506
6512
  });
6507
6513
  }
6514
+ showConfirm() {
6515
+ // if (!this.visible) {
6516
+ // this.messageService.add({ key: 'confirm', sticky: true, severity: 'success', summary: 'Can you send me the report?' });
6517
+ // this.visible = true;
6518
+ // }
6519
+ }
6508
6520
  }
6509
6521
  CodSelfFormStepOneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepOneComponent, deps: [{ token: i1$1.FormBuilder }, { token: ParameterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
6510
- CodSelfFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepOneComponent, selector: "app-cod-self-form-step-one", inputs: { user: "user" }, outputs: { completed: "completed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos Personales</h2>\n <i class=\"pi pi-exclamation-circle\"></i>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un numero de telefono v\u00E1lido.</span>\n </div>\n </form>\n\n <div class=\"flex mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
6522
+ CodSelfFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepOneComponent, selector: "app-cod-self-form-step-one", inputs: { user: "user" }, outputs: { completed: "completed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos Personales</h2>\n <i class=\"pi pi-exclamation-circle\">\n <!-- <p-toast position=\"bottom-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"5000\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <p-avatar image=\"https://primefaces.org/cdn/primeng/images/avatar/amyelsner.png\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Amy Elsner</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ message.summary }}</div>\n <p-button class=\"p-button-sm\" label=\"Reply\" (click)=\"onConfirm()\"></p-button>\n </div>\n </ng-template>\n </p-toast> -->\n </i>\n\n<button type=\"button\" pButton pRipple (click)=\"showConfirm()\" label=\"Confirm\"></button>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un numero de telefono v\u00E1lido.</span>\n </div>\n </form>\n\n <div class=\"flex mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
6511
6523
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepOneComponent, decorators: [{
6512
6524
  type: Component,
6513
- args: [{ selector: 'app-cod-self-form-step-one', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos Personales</h2>\n <i class=\"pi pi-exclamation-circle\"></i>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un numero de telefono v\u00E1lido.</span>\n </div>\n </form>\n\n <div class=\"flex mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}\n"] }]
6525
+ args: [{ selector: 'app-cod-self-form-step-one', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos Personales</h2>\n <i class=\"pi pi-exclamation-circle\">\n <!-- <p-toast position=\"bottom-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"5000\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <p-avatar image=\"https://primefaces.org/cdn/primeng/images/avatar/amyelsner.png\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Amy Elsner</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ message.summary }}</div>\n <p-button class=\"p-button-sm\" label=\"Reply\" (click)=\"onConfirm()\"></p-button>\n </div>\n </ng-template>\n </p-toast> -->\n </i>\n\n<button type=\"button\" pButton pRipple (click)=\"showConfirm()\" label=\"Confirm\"></button>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un numero de telefono v\u00E1lido.</span>\n </div>\n </form>\n\n <div class=\"flex mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}\n"] }]
6514
6526
  }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: ParameterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { user: [{
6515
6527
  type: Input
6516
6528
  }], completed: [{
@@ -6518,27 +6530,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
6518
6530
  }] } });
6519
6531
 
6520
6532
  class CodSelfFormStepTwoComponent extends CodSelfManagedSteps {
6521
- constructor() {
6533
+ constructor(fb, cdRef) {
6522
6534
  super();
6535
+ this.fb = fb;
6536
+ this.cdRef = cdRef;
6523
6537
  this.completed = new EventEmitter();
6538
+ this.controls = new CodSelfManagedControls().controls[1];
6539
+ }
6540
+ ngOnChanges() {
6541
+ this.startLocalStorageWork();
6542
+ }
6543
+ initForm() {
6544
+ this.codSelfFormStepTwo = this.fb.group({
6545
+ academic_plan: ['', [Validators.required]],
6546
+ course_type: ['', [Validators.required]],
6547
+ agreement_by_category: ['', [Validators.required],],
6548
+ english_level: [{ value: '', disabled: true }, [Validators.required, Validators.minLength(5), Validators.maxLength(20)]],
6549
+ availible_courses: ['', [Validators.required]],
6550
+ course_modality: ['', [Validators.required],],
6551
+ });
6524
6552
  }
6525
6553
  back() {
6526
6554
  // Movernos al paso anterior
6527
6555
  this.completed.emit(0);
6528
6556
  }
6529
6557
  sendForm() {
6530
- // this.codSelfFormStepOne.markAllAsTouched();
6531
- // if (this.codSelfFormStepOne.invalid) return;
6558
+ // this.codSelfFormStepTwo.markAllAsTouched();
6559
+ // if (this.codSelfFormStepTwo.invalid) return;
6532
6560
  // Movernos al paso 3
6533
6561
  this.completed.emit(2);
6534
6562
  }
6563
+ startLocalStorageWork() {
6564
+ this.controls.forEach(control => {
6565
+ let localStorageValue = this.readAndWriteLS(2, control.name);
6566
+ this.codSelfFormStepTwo.controls[control.name].setValue(localStorageValue.value);
6567
+ this.listenFormChanges(2, control.name, this.codSelfFormStepTwo.controls[control.name].valueChanges);
6568
+ });
6569
+ }
6535
6570
  }
6536
- CodSelfFormStepTwoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6537
- CodSelfFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", outputs: { completed: "completed" }, usesInheritance: true, ngImport: i0, template: "<span>step 2</span>\n\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n (click)=\"sendForm()\"\n ></button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
6571
+ CodSelfFormStepTwoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, deps: [{ token: i1$1.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
6572
+ CodSelfFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", outputs: { completed: "completed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <span>step 2</span>\n\n <form [formGroup]=\"codSelfFormStepTwo\">\n </form>\n <div class=\"flex mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
6538
6573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, decorators: [{
6539
6574
  type: Component,
6540
- args: [{ selector: 'app-cod-self-form-step-two', template: "<span>step 2</span>\n\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n (click)=\"sendForm()\"\n ></button>\n</div>\n" }]
6541
- }], ctorParameters: function () { return []; }, propDecorators: { completed: [{
6575
+ args: [{ selector: 'app-cod-self-form-step-two', template: "<div class=\"container-main\">\n <span>step 2</span>\n\n <form [formGroup]=\"codSelfFormStepTwo\">\n </form>\n <div class=\"flex mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n\n</div>\n" }]
6576
+ }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { completed: [{
6542
6577
  type: Output
6543
6578
  }] } });
6544
6579
 
@@ -6606,7 +6641,8 @@ codSelfManagedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
6606
6641
  ReactiveFormsModule,
6607
6642
  StepsModule,
6608
6643
  FormsModule,
6609
- ButtonModule], exports: [CodSelfManagedComponent,
6644
+ ButtonModule,
6645
+ ToastModule], exports: [CodSelfManagedComponent,
6610
6646
  CodSelfFormStepOneComponent,
6611
6647
  CodSelfFormStepTwoComponent,
6612
6648
  CodSelfFormStepThreeComponent,
@@ -6616,7 +6652,8 @@ codSelfManagedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
6616
6652
  ReactiveFormsModule,
6617
6653
  StepsModule,
6618
6654
  FormsModule,
6619
- ButtonModule] });
6655
+ ButtonModule,
6656
+ ToastModule] });
6620
6657
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: codSelfManagedModule, decorators: [{
6621
6658
  type: NgModule,
6622
6659
  args: [{
@@ -6626,7 +6663,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
6626
6663
  ReactiveFormsModule,
6627
6664
  StepsModule,
6628
6665
  FormsModule,
6629
- ButtonModule
6666
+ ButtonModule,
6667
+ ToastModule
6630
6668
  ],
6631
6669
  declarations: [
6632
6670
  CodSelfManagedComponent,