tin-spa 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/bundles/tin-spa.umd.js +3434 -0
- package/bundles/tin-spa.umd.js.map +1 -0
- package/bundles/tin-spa.umd.min.js +16 -0
- package/bundles/tin-spa.umd.min.js.map +1 -0
- package/esm2015/lib/classes/Classes.js +238 -0
- package/esm2015/lib/components/activity/activity.component.js +22 -0
- package/esm2015/lib/components/attach/attach.component.js +103 -0
- package/esm2015/lib/components/change-password/change-password.component.js +91 -0
- package/esm2015/lib/components/check/check.component.js +63 -0
- package/esm2015/lib/components/chips/chips.component.js +71 -0
- package/esm2015/lib/components/create-account/create-account.component.js +74 -0
- package/esm2015/lib/components/date/date.component.js +32 -0
- package/esm2015/lib/components/datetime/datetime.component.js +40 -0
- package/esm2015/lib/components/loader/loader.component.js +30 -0
- package/esm2015/lib/components/login/login.component.js +110 -0
- package/esm2015/lib/components/logs/logs.component.js +43 -0
- package/esm2015/lib/components/message/messageDialog.component.js +31 -0
- package/esm2015/lib/components/money/money.component.js +67 -0
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +51 -0
- package/esm2015/lib/components/profile/profile.component.js +108 -0
- package/esm2015/lib/components/profiles/profiles.component.js +16 -0
- package/esm2015/lib/components/recover-account/recover-account.component.js +52 -0
- package/esm2015/lib/components/roles/addRoleDialog.component.js +59 -0
- package/esm2015/lib/components/roles/editRoleDialog.component.js +57 -0
- package/esm2015/lib/components/roles/roles.component.js +131 -0
- package/esm2015/lib/components/roles/viewRoleDialog.component.js +38 -0
- package/esm2015/lib/components/select/select.component.js +51 -0
- package/esm2015/lib/components/settings/settings.component.js +63 -0
- package/esm2015/lib/components/signup/signup.component.js +56 -0
- package/esm2015/lib/components/table/table.component.js +109 -0
- package/esm2015/lib/components/text/text.component.js +108 -0
- package/esm2015/lib/components/tiles/tiles.component.js +19 -0
- package/esm2015/lib/components/timeout/timeout.component.js +90 -0
- package/esm2015/lib/components/tin-spa.component.js +19 -0
- package/esm2015/lib/components/users/addUserDialog.component.js +53 -0
- package/esm2015/lib/components/users/editUserDialog.component.js +96 -0
- package/esm2015/lib/components/users/users.component.js +130 -0
- package/esm2015/lib/components/viewer/viewer.component.js +60 -0
- package/esm2015/lib/components/viewer/viewerDialog.component.js +77 -0
- package/esm2015/lib/dnd.directive.js +51 -0
- package/esm2015/lib/modules/spa-admin.module.js +67 -0
- package/esm2015/lib/modules/spa-index.module.js +33 -0
- package/esm2015/lib/modules/spa-mat.module.js +53 -0
- package/esm2015/lib/modules/spa-user.module.js +31 -0
- package/esm2015/lib/services/auth.service.js +150 -0
- package/esm2015/lib/services/data.service.js +77 -0
- package/esm2015/lib/services/export.service.js +29 -0
- package/esm2015/lib/services/loader-interceptor.service.js +77 -0
- package/esm2015/lib/services/loader.service.js +17 -0
- package/esm2015/lib/services/log.service.js +76 -0
- package/esm2015/lib/services/message.service.js +58 -0
- package/esm2015/lib/services/storage.service.js +42 -0
- package/esm2015/lib/services/tin-spa.service.js +14 -0
- package/esm2015/lib/tin-spa.module.js +86 -0
- package/esm2015/public-api.js +54 -0
- package/esm2015/tin-spa.js +9 -0
- package/esm5/lib/classes/Classes.js +291 -0
- package/esm5/lib/components/activity/activity.component.js +23 -0
- package/esm5/lib/components/attach/attach.component.js +115 -0
- package/esm5/lib/components/change-password/change-password.component.js +93 -0
- package/esm5/lib/components/check/check.component.js +64 -0
- package/esm5/lib/components/chips/chips.component.js +73 -0
- package/esm5/lib/components/create-account/create-account.component.js +76 -0
- package/esm5/lib/components/date/date.component.js +33 -0
- package/esm5/lib/components/datetime/datetime.component.js +41 -0
- package/esm5/lib/components/loader/loader.component.js +32 -0
- package/esm5/lib/components/login/login.component.js +113 -0
- package/esm5/lib/components/logs/logs.component.js +45 -0
- package/esm5/lib/components/message/messageDialog.component.js +32 -0
- package/esm5/lib/components/money/money.component.js +68 -0
- package/esm5/lib/components/nav-menu/nav-menu.component.js +53 -0
- package/esm5/lib/components/profile/profile.component.js +112 -0
- package/esm5/lib/components/profiles/profiles.component.js +18 -0
- package/esm5/lib/components/recover-account/recover-account.component.js +54 -0
- package/esm5/lib/components/roles/addRoleDialog.component.js +61 -0
- package/esm5/lib/components/roles/editRoleDialog.component.js +59 -0
- package/esm5/lib/components/roles/roles.component.js +138 -0
- package/esm5/lib/components/roles/viewRoleDialog.component.js +39 -0
- package/esm5/lib/components/select/select.component.js +52 -0
- package/esm5/lib/components/settings/settings.component.js +66 -0
- package/esm5/lib/components/signup/signup.component.js +58 -0
- package/esm5/lib/components/table/table.component.js +111 -0
- package/esm5/lib/components/text/text.component.js +109 -0
- package/esm5/lib/components/tiles/tiles.component.js +21 -0
- package/esm5/lib/components/timeout/timeout.component.js +92 -0
- package/esm5/lib/components/tin-spa.component.js +17 -0
- package/esm5/lib/components/users/addUserDialog.component.js +55 -0
- package/esm5/lib/components/users/editUserDialog.component.js +99 -0
- package/esm5/lib/components/users/users.component.js +135 -0
- package/esm5/lib/components/viewer/viewer.component.js +61 -0
- package/esm5/lib/components/viewer/viewerDialog.component.js +78 -0
- package/esm5/lib/dnd.directive.js +52 -0
- package/esm5/lib/modules/spa-admin.module.js +70 -0
- package/esm5/lib/modules/spa-index.module.js +36 -0
- package/esm5/lib/modules/spa-mat.module.js +56 -0
- package/esm5/lib/modules/spa-user.module.js +34 -0
- package/esm5/lib/services/auth.service.js +152 -0
- package/esm5/lib/services/data.service.js +78 -0
- package/esm5/lib/services/export.service.js +30 -0
- package/esm5/lib/services/loader-interceptor.service.js +79 -0
- package/esm5/lib/services/loader.service.js +18 -0
- package/esm5/lib/services/log.service.js +112 -0
- package/esm5/lib/services/message.service.js +59 -0
- package/esm5/lib/services/storage.service.js +74 -0
- package/esm5/lib/services/tin-spa.service.js +16 -0
- package/esm5/lib/tin-spa.module.js +89 -0
- package/esm5/public-api.js +54 -0
- package/esm5/tin-spa.js +9 -0
- package/fesm2015/tin-spa.js +2988 -0
- package/fesm2015/tin-spa.js.map +1 -0
- package/fesm5/tin-spa.js +3193 -0
- package/fesm5/tin-spa.js.map +1 -0
- package/lib/classes/Classes.d.ts +249 -0
- package/lib/components/activity/activity.component.d.ts +7 -0
- package/lib/components/attach/attach.component.d.ts +38 -0
- package/lib/components/change-password/change-password.component.d.ts +20 -0
- package/lib/components/check/check.component.d.ts +16 -0
- package/lib/components/chips/chips.component.d.ts +16 -0
- package/lib/components/create-account/create-account.component.d.ts +25 -0
- package/lib/components/date/date.component.d.ts +11 -0
- package/lib/components/datetime/datetime.component.d.ts +11 -0
- package/lib/components/loader/loader.component.d.ts +9 -0
- package/lib/components/login/login.component.d.ts +28 -0
- package/lib/components/logs/logs.component.d.ts +17 -0
- package/lib/components/message/messageDialog.component.d.ts +12 -0
- package/lib/components/money/money.component.d.ts +19 -0
- package/lib/components/nav-menu/nav-menu.component.d.ts +17 -0
- package/lib/components/profile/profile.component.d.ts +30 -0
- package/lib/components/profiles/profiles.component.d.ts +5 -0
- package/lib/components/recover-account/recover-account.component.d.ts +15 -0
- package/lib/components/roles/addRoleDialog.component.d.ts +19 -0
- package/lib/components/roles/editRoleDialog.component.d.ts +19 -0
- package/lib/components/roles/roles.component.d.ts +29 -0
- package/lib/components/roles/viewRoleDialog.component.d.ts +15 -0
- package/lib/components/select/select.component.d.ts +15 -0
- package/lib/components/settings/settings.component.d.ts +16 -0
- package/lib/components/signup/signup.component.d.ts +20 -0
- package/lib/components/table/table.component.d.ts +25 -0
- package/lib/components/text/text.component.d.ts +25 -0
- package/lib/components/tiles/tiles.component.d.ts +7 -0
- package/lib/components/timeout/timeout.component.d.ts +21 -0
- package/lib/components/tin-spa.component.d.ts +5 -0
- package/lib/components/users/addUserDialog.component.d.ts +16 -0
- package/lib/components/users/editUserDialog.component.d.ts +27 -0
- package/lib/components/users/users.component.d.ts +35 -0
- package/lib/components/viewer/viewer.component.d.ts +14 -0
- package/lib/components/viewer/viewerDialog.component.d.ts +19 -0
- package/lib/dnd.directive.d.ts +8 -0
- package/lib/modules/spa-admin.module.d.ts +2 -0
- package/lib/modules/spa-index.module.d.ts +2 -0
- package/lib/modules/spa-mat.module.d.ts +2 -0
- package/lib/modules/spa-user.module.d.ts +2 -0
- package/lib/services/auth.service.d.ts +44 -0
- package/lib/services/data.service.d.ts +23 -0
- package/lib/services/export.service.d.ts +7 -0
- package/lib/services/loader-interceptor.service.d.ts +18 -0
- package/lib/services/loader.service.d.ts +5 -0
- package/lib/services/log.service.d.ts +16 -0
- package/lib/services/message.service.d.ts +12 -0
- package/lib/services/storage.service.d.ts +7 -0
- package/lib/services/tin-spa.service.d.ts +3 -0
- package/lib/tin-spa.module.d.ts +2 -0
- package/package.json +21 -0
- package/public-api.d.ts +46 -0
- package/tin-spa.d.ts +8 -0
- package/tin-spa.metadata.json +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tin-spa.js","sources":["ng://tin-spa/lib/services/tin-spa.service.ts","ng://tin-spa/lib/services/storage.service.ts","ng://tin-spa/lib/components/message/messageDialog.component.ts","ng://tin-spa/lib/services/message.service.ts","ng://tin-spa/lib/services/export.service.ts","ng://tin-spa/lib/classes/Classes.ts","ng://tin-spa/lib/services/log.service.ts","ng://tin-spa/lib/services/auth.service.ts","ng://tin-spa/lib/services/data.service.ts","ng://tin-spa/lib/services/loader.service.ts","ng://tin-spa/lib/components/loader/loader.component.ts","ng://tin-spa/lib/modules/spa-mat.module.ts","ng://tin-spa/lib/services/loader-interceptor.service.ts","ng://tin-spa/lib/components/tin-spa.component.ts","ng://tin-spa/lib/components/nav-menu/nav-menu.component.ts","ng://tin-spa/lib/components/timeout/timeout.component.ts","ng://tin-spa/lib/components/table/table.component.ts","ng://tin-spa/lib/components/tiles/tiles.component.ts","ng://tin-spa/lib/components/date/date.component.ts","ng://tin-spa/lib/components/text/text.component.ts","ng://tin-spa/lib/components/viewer/viewerDialog.component.ts","ng://tin-spa/lib/components/viewer/viewer.component.ts","ng://tin-spa/lib/components/select/select.component.ts","ng://tin-spa/lib/components/check/check.component.ts","ng://tin-spa/lib/components/attach/attach.component.ts","ng://tin-spa/lib/components/datetime/datetime.component.ts","ng://tin-spa/lib/components/money/money.component.ts","ng://tin-spa/lib/dnd.directive.ts","ng://tin-spa/lib/components/chips/chips.component.ts","ng://tin-spa/lib/components/activity/activity.component.ts","ng://tin-spa/lib/tin-spa.module.ts","ng://tin-spa/lib/components/login/login.component.ts","ng://tin-spa/lib/components/signup/signup.component.ts","ng://tin-spa/lib/components/recover-account/recover-account.component.ts","ng://tin-spa/lib/modules/spa-index.module.ts","ng://tin-spa/lib/components/change-password/change-password.component.ts","ng://tin-spa/lib/components/profile/profile.component.ts","ng://tin-spa/lib/modules/spa-user.module.ts","ng://tin-spa/lib/components/settings/settings.component.ts","ng://tin-spa/lib/components/logs/logs.component.ts","ng://tin-spa/lib/components/users/users.component.ts","ng://tin-spa/lib/components/users/addUserDialog.component.ts","ng://tin-spa/lib/components/users/editUserDialog.component.ts","ng://tin-spa/lib/components/roles/viewRoleDialog.component.ts","ng://tin-spa/lib/components/roles/addRoleDialog.component.ts","ng://tin-spa/lib/components/roles/editRoleDialog.component.ts","ng://tin-spa/lib/components/roles/roles.component.ts","ng://tin-spa/lib/components/profiles/profiles.component.ts","ng://tin-spa/lib/components/create-account/create-account.component.ts","ng://tin-spa/lib/modules/spa-admin.module.ts","ng://tin-spa/public-api.ts","ng://tin-spa/tin-spa.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TinSpaService {\n\n constructor() { }\n}\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n\r\n constructor() { }\r\n\r\n // Store the value\r\n async store(storageKey: string, value: any) {\r\n const encryptedValue = btoa(escape(JSON.stringify(value)));\r\n // const encryptedValue = JSON.stringify(value);\r\n await localStorage.setItem( storageKey, encryptedValue );\r\n }\r\n\r\n // Get the value\r\n async get(storageKey: string) {\r\n const ret = await localStorage.getItem( storageKey );\r\n return JSON.parse(unescape(atob(ret)));\r\n // return JSON.parse(ret);\r\n }\r\n\r\n // Remove\r\n async removeStorageItem(storageKey: string) {\r\n await localStorage.removeItem(storageKey);\r\n }\r\n\r\n // Clear storage\r\n async clear() {\r\n await localStorage.clear();\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n\r\n@Component({\r\n selector: 'lib-app-message',\r\n templateUrl: './messageDialog.component.html'\r\n})\r\n\r\nexport class messageDialog implements OnInit {\r\n\r\n constructor(private dialogRef: MatDialogRef<messageDialog>, @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.messageType = this.data.type\r\n this._messageSubject = this.data.subject;\r\n this._messageDetails = this.data.details;\r\n\r\n }\r\n\r\n messageType;\r\n _messageSubject;\r\n _messageDetails;\r\n\r\n response(resp: string) {\r\n\r\n this.dialogRef.close(resp);\r\n\r\n }\r\n\r\n};\r\n\r\n\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { messageDialog } from \"../components/message/messageDialog.component\";\r\nimport { Observable, of } from 'rxjs';\r\nimport { mergeMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class MessageService {\r\n constructor(private snackBar: MatSnackBar, public dialog: MatDialog) {}\r\n\r\n public toast(msg: string) {\r\n this.snackBar.open(msg, \"OK\", { duration: 5000 });\r\n }\r\n\r\n public info(subject: string, details: string) {\r\n\r\n let type = \"info\";\r\n\r\n const dialogRef = this.dialog.open(messageDialog, {\r\n width: \"600px\",\r\n data: {type, subject, details },\r\n });\r\n\r\n }\r\n\r\n public error( details: string) {\r\n\r\n let type = \"error\";\r\n let subject: \"\";\r\n\r\n const dialogRef = this.dialog.open(messageDialog, {\r\n width: \"600px\",\r\n data: {type, subject, details },\r\n });\r\n\r\n }\r\n\r\n public confirm(msg: string): Observable<any> {\r\n\r\n let type = \"confirm\";\r\n let subject = \"\";\r\n let details = msg\r\n\r\n const dialogRef = this.dialog.open(messageDialog, {\r\n width: \"400px\",\r\n data: {type, subject, details },\r\n });\r\n\r\n return dialogRef.afterClosed().pipe(mergeMap((result) => {\r\n\r\n return of(result);\r\n\r\n }\r\n\r\n ));\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExportService {\r\n\r\n constructor() { }\r\n\r\n fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n fileExtension = '.xlsx';\r\n\r\n public exportExcel(jsonData: any[], fileName: string): void {\r\n\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(jsonData);\r\n const wb: XLSX.WorkBook = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n this.saveExcelFile(excelBuffer, fileName);\r\n }\r\n\r\n private saveExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {type: this.fileType});\r\n FileSaver.saveAs(data, fileName + this.fileExtension);\r\n }\r\n}\r\n","\r\n\r\n\r\nimport { Core } from 'tin-core';\r\n\r\nexport enum LogLevel {\r\n All = 0,\r\n Debug = 1,\r\n Info = 2,\r\n Warn = 3,\r\n Error = 4,\r\n Fatal = 5,\r\n Off = 6,\r\n}\r\n\r\n\r\nexport class Tile{\r\n\r\n tileName: string;\r\n tileValue: string;\r\n tileColor: string;\r\n selected: string;\r\n}\r\n\r\nexport class TableConfig {\r\n\r\n enableFilter: boolean = false;\r\n create = new TableCreate();\r\n\r\n columns: TableColumn[];\r\n actions: TableAction[];\r\n\r\n greyout = new Condition();\r\n\r\n}\r\n\r\nexport class TableCreate{\r\n enabled: boolean\r\n display: string;\r\n}\r\n\r\nexport class TableColumn {\r\n\r\n constructor() {\r\n this.name = \"default\"\r\n this.display = \"default\"\r\n this.type = TableColumnType.String\r\n\r\n }\r\n\r\n public name: string;\r\n public display: string;\r\n public type?: TableColumnType;\r\n public icons?: Icon[];\r\n public color?: Color;\r\n}\r\n\r\nexport enum TableColumnType {\r\n String, Date, DateTime, Image, Icon, TextIcon, Chip\r\n}\r\n\r\n\r\n\r\nexport class Condition {\r\n constructor() {\r\n this.field = \"\";\r\n this.operator = Operator.Equal;\r\n this.value = \"\";\r\n }\r\n field: string;\r\n operator: Operator;\r\n value: string;\r\n}\r\n\r\nexport enum Operator{\r\nEqual, Less, Greater, NotEqual\r\n}\r\n\r\n\r\n\r\nexport class Color extends Condition {\r\n name: string;\r\n}\r\n\r\nexport class Icon extends Condition{\r\n name: string;\r\n hint?: string;\r\n color?: string;\r\n}\r\n\r\n\r\n\r\nexport class TableAction {\r\n\r\n name: string;\r\n show?: boolean;\r\n icon: string;\r\n color?: string;\r\n hint?: string;\r\n\r\n disappear?: Condition;\r\n disable?: Condition;\r\n\r\n}\r\n\r\n\r\n\r\nexport class ActionResponse {\r\n name: string;\r\n value;\r\n}\r\n\r\n\r\n\r\nexport class loginConfig{\r\n\r\n constructor(){\r\n this.appName = \"\";\r\n this.selfService = false;\r\n this.logo = \"\";\r\n this.logoSize = \"normal\";\r\n }\r\n\r\n appName: string;\r\n selfService: boolean;\r\n logo: string;\r\n logoSize: string;\r\n\r\n}\r\n\r\n\r\n export class AppConfig {\r\n constructor() {\r\n this.appName = \"App Name\";\r\n this.logo = \"\";\r\n this.ADAuth = false;\r\n this.employees = false;\r\n this.approvals = false;\r\n }\r\n appName: string;\r\n logo: string;\r\n capItems: CapItem[];\r\n ADAuth: boolean;\r\n employees: boolean;\r\n approvals: boolean;\r\n }\r\n\r\n export class CapItem {\r\n\r\n constructor(){\r\n this.name = \"\";\r\n this.display = \"New Cap Item\";\r\n this.enabled = false;\r\n this.type= \"\";\r\n this.newLine = false;\r\n this.showMenu =true;\r\n this.ignoreSubsDisplay = false;\r\n this.link = \"\";\r\n this.icon = \"navigate_next\";\r\n\r\n }\r\n\r\n name: string;\r\n display: string;\r\n enabled: boolean;\r\n showMenu: boolean;\r\n\r\n ignoreSubsDisplay: boolean;\r\n type: string;\r\n newLine: boolean;\r\n link: string;\r\n icon: string;\r\n capSubItems: CapItem[];\r\n\r\n\r\n\r\n }\r\n\r\n\r\n export class Role {\r\n\r\n constructor() {\r\n this.roleID = \"\" ;\r\n this.roleName = \"New Role\" ;\r\n this.cap1 = false ;\r\n this.cap2 = false ;\r\n this.cap3 = false ;\r\n this.cap4 = false ;\r\n this.cap5 = false ;\r\n this.cap6 = false ;\r\n this.cap7 = false ;\r\n this.cap8 = false ;\r\n this.cap9 = false ;\r\n this.cap10 = false ;\r\n this.cap11 = false ;\r\n this.cap12 = false ;\r\n this.cap13 = false ;\r\n this.cap14 = false ;\r\n this.cap15 = false ;\r\n this.cap16 = false ;\r\n this.cap17 = false ;\r\n this.cap18 = false ;\r\n this.cap19 = false ;\r\n this.cap20 = false ;\r\n this.cap21 = false ;\r\n this.cap22 = false ;\r\n this.cap23 = false ;\r\n this.cap24 = false ;\r\n this.cap25 = false ;\r\n this.cap26 = false ;\r\n this.cap27 = false ;\r\n this.cap28 = false ;\r\n this.cap29 = false ;\r\n this.cap30 = false ;\r\n this.cap31 = false ;\r\n this.cap32 = false ;\r\n this.cap33 = false ;\r\n this.cap34 = false ;\r\n this.cap35 = false ;\r\n this.cap36 = false ;\r\n this.cap37 = false ;\r\n this.cap38 = false ;\r\n this.cap39 = false ;\r\n this.cap40 = false ;\r\n this.cap41 = false ;\r\n this.cap42 = false ;\r\n this.cap43 = false ;\r\n this.cap44 = false ;\r\n this.cap45 = false ;\r\n this.cap46 = false ;\r\n this.cap47 = false ;\r\n this.cap48 = false ;\r\n this.cap49 = false ;\r\n this.cap50 = false ;\r\n this.cap51 = false ;\r\n this.cap52 = false ;\r\n this.cap53 = false ;\r\n this.cap54 = false ;\r\n this.cap55 = false ;\r\n this.cap56 = false ;\r\n this.cap57 = false ;\r\n this.cap58 = false ;\r\n this.cap59 = false ;\r\n this.cap60 = false ;\r\n this.cap61 = false ;\r\n this.cap62 = false ;\r\n this.cap63 = false ;\r\n this.cap64 = false ;\r\n this.cap65 = false ;\r\n this.cap66 = false ;\r\n this.cap67 = false ;\r\n this.cap68 = false ;\r\n this.cap69 = false ;\r\n this.cap70 = false ;\r\n this.cap71 = false ;\r\n this.cap72 = false ;\r\n this.cap73 = false ;\r\n this.cap74 = false ;\r\n this.cap75 = false ;\r\n this.cap76 = false ;\r\n this.cap77 = false ;\r\n this.cap78 = false ;\r\n this.cap79 = false ;\r\n this.cap80 = false ;\r\n this.cap81 = false ;\r\n this.cap82 = false ;\r\n this.cap83 = false ;\r\n this.cap84 = false ;\r\n this.cap85 = false ;\r\n this.cap86 = false ;\r\n this.cap87 = false ;\r\n this.cap88 = false ;\r\n this.cap89 = false ;\r\n this.cap90 = false ;\r\n this.cap91 = false ;\r\n this.cap92 = false ;\r\n this.cap93 = false ;\r\n this.cap94 = false ;\r\n this.cap95 = false ;\r\n this.cap96 = false ;\r\n this.cap97 = false ;\r\n this.cap98 = false ;\r\n this.cap99 = false ;\r\n this.cap100 = false ;\r\n }\r\n\r\n roleID: string;\r\n roleName: string;\r\n cap1: boolean;\r\n cap2: boolean;\r\n cap3: boolean;\r\n cap4: boolean;\r\n cap5: boolean;\r\n cap6: boolean;\r\n cap7: boolean;\r\n cap8: boolean;\r\n cap9: boolean;\r\n cap10: boolean;\r\n cap11: boolean;\r\n cap12: boolean;\r\n cap13: boolean;\r\n cap14: boolean;\r\n cap15: boolean;\r\n cap16: boolean;\r\n cap17: boolean;\r\n cap18: boolean;\r\n cap19: boolean;\r\n cap20: boolean;\r\n cap21: boolean;\r\n cap22: boolean;\r\n cap23: boolean;\r\n cap24: boolean;\r\n cap25: boolean;\r\n cap26: boolean;\r\n cap27: boolean;\r\n cap28: boolean;\r\n cap29: boolean;\r\n cap30: boolean;\r\n cap31: boolean;\r\n cap32: boolean;\r\n cap33: boolean;\r\n cap34: boolean;\r\n cap35: boolean;\r\n cap36: boolean;\r\n cap37: boolean;\r\n cap38: boolean;\r\n cap39: boolean;\r\n cap40: boolean;\r\n cap41: boolean;\r\n cap42: boolean;\r\n cap43: boolean;\r\n cap44: boolean;\r\n cap45: boolean;\r\n cap46: boolean;\r\n cap47: boolean;\r\n cap48: boolean;\r\n cap49: boolean;\r\n cap50: boolean;\r\n cap51: boolean;\r\n cap52: boolean;\r\n cap53: boolean;\r\n cap54: boolean;\r\n cap55: boolean;\r\n cap56: boolean;\r\n cap57: boolean;\r\n cap58: boolean;\r\n cap59: boolean;\r\n cap60: boolean;\r\n cap61: boolean;\r\n cap62: boolean;\r\n cap63: boolean;\r\n cap64: boolean;\r\n cap65: boolean;\r\n cap66: boolean;\r\n cap67: boolean;\r\n cap68: boolean;\r\n cap69: boolean;\r\n cap70: boolean;\r\n cap71: boolean;\r\n cap72: boolean;\r\n cap73: boolean;\r\n cap74: boolean;\r\n cap75: boolean;\r\n cap76: boolean;\r\n cap77: boolean;\r\n cap78: boolean;\r\n cap79: boolean;\r\n cap80: boolean;\r\n cap81: boolean;\r\n cap82: boolean;\r\n cap83: boolean;\r\n cap84: boolean;\r\n cap85: boolean;\r\n cap86: boolean;\r\n cap87: boolean;\r\n cap88: boolean;\r\n cap89: boolean;\r\n cap90: boolean;\r\n cap91: boolean;\r\n cap92: boolean;\r\n cap93: boolean;\r\n cap94: boolean;\r\n cap95: boolean;\r\n cap96: boolean;\r\n cap97: boolean;\r\n cap98: boolean;\r\n cap99: boolean;\r\n cap100: boolean;\r\n }\r\n\r\nexport class Account{\r\n user: User;\r\n profile: Profile;\r\n}\r\n\r\n\r\nexport class User {\r\n\r\n constructor(){\r\n\r\n this.userID = \"\";\r\n this.password = \"\";\r\n this.tries = \"0\";\r\n this.locked = \"0\";\r\n this.logged = \"0\";\r\n this.disabled = \"0\";\r\n this.changepassword = \"0\";\r\n this.dateCreated = Core.nowDate();\r\n this.dateUpdated = Core.nowDate();\r\n this.token = \"\";\r\n this.dateExpire = Core.nowDate();\r\n this.tokenExpire = Core.nowDate();\r\n this.authType = \"local\";\r\n\r\n }\r\n\r\n userID: string;\r\n password: string;\r\n tries: string;\r\n locked: string;\r\n logged: string;\r\n disabled: string;\r\n changepassword: string;\r\n dateCreated: string;\r\n dateUpdated: string;\r\n dateExpire: string;\r\n token: string;\r\n tokenExpire: string;\r\n\r\n authType: string;\r\n}\r\n\r\nexport class ChangeUserPassword {\r\n\r\n constructor(){\r\n this.userID = \"\";\r\n this.currentPassword = \"\";\r\n this.newPassword = \"\";\r\n this.confirmPassword = \"\";\r\n }\r\n userID: string;\r\n currentPassword: string;\r\n newPassword: string;\r\n confirmPassword: string;\r\n}\r\n\r\nexport class Profile {\r\n\r\n constructor() {\r\n this.profileID = \"\" ;\r\n this.userID = \"\" ;\r\n this.roleID = \"1\" ;\r\n this.firstName = \"\" ;\r\n this.lastName = \"\" ;\r\n this.email = \"\" ;\r\n this.empID = \"\";\r\n this.arID = \"0\";\r\n this.authType = \"\";\r\n }\r\n\r\n profileID: string;\r\n userID: string;\r\n roleID: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n empID: string;\r\n arID: string;\r\n authType: string;\r\n }\r\n\r\n\r\n\r\n","import { Core } from 'tin-core';\nimport { logging } from 'protractor';\nimport { Injectable } from \"@angular/core\";\nimport { LogLevel } from '../classes/Classes';\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class LogService {\n constructor() {}\n\n level: LogLevel = LogLevel.All;\n\n logToConsole: boolean = true;\n\n logToApi: boolean = false;\n\n debug(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.Debug, optionalParams);\n }\n\n info(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.Info, optionalParams);\n }\n\n warn(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.Warn, optionalParams);\n }\n\n error(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.Error, optionalParams);\n }\n\n fatal(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.Fatal, optionalParams);\n }\n\n log(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.All, optionalParams);\n\n }\n\n private writeToLog(msg: string, level: LogLevel, params: any[]) {\n\n if (this.shouldLog(level)) {\n\n // Build log string\n let value: string = Core.getFormatedDate(Date(),false).replace(\"T\",\" \");\n // value += \" - Type: \" + LogLevel[this.level];\n value += \" - Message: \" + msg;\n\n\n if (params.length) {\n value += \" - Extra Info: \" + this.formatParams(params);\n }\n\n // Log the value\n if (this.logToConsole){\n console.log(value);\n }\n\n if (this.logToApi){\n //Call API post\n }\n\n }\n }\n\n private formatParams(params: any[]): string {\n\n let ret: string = params.join(\",\");\n // Is there at least one object in the array?\n if (params.some((p) => typeof p == \"object\")) {\n ret = \"\";\n // Build comma-delimited string\n for (let item of params) {\n ret += JSON.stringify(item) + \",\";\n }\n }\n return ret;\n }\n\n private shouldLog(level: LogLevel): boolean {\n\n let ret: boolean = false;\n\n if (\n (level >= this.level && level !== LogLevel.Off) ||\n this.level === LogLevel.All\n ) {\n ret = true;\n }\n\n return ret;\n }\n}\n\n\n\n","import { MessageService } from './message.service';\r\n//-----------------Change for Build and Reference purposes for SERVICES ONLY---------//\r\nimport { Constants, HttpService } from 'tin-core';\r\n// import { HttpService, Constants } from 'tin-core';\r\n//----------------------------------------------------------------------------------//\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Router, CanActivate } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { StorageService } from './storage.service';\r\nimport { LogService } from './log.service';\r\nimport { Role } from '../classes/Classes';\r\n// import { Constants } from \"tin-core\";\r\n\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AuthService implements CanActivate {\r\n constructor(private storage: StorageService, public router: Router, private httpService: HttpService, private messageService: MessageService, private logService: LogService) {}\r\n\r\n\r\n //Logged in\r\n private loggedin: boolean = false;\r\n private loggedinSource = new BehaviorSubject(this.loggedin);\r\n public loggedinObserv = this.loggedinSource.asObservable();\r\n updateloggedin(loggedin: boolean) {\r\n this.loggedinSource.next(loggedin);\r\n this.loggedin = loggedin;\r\n }\r\n\r\n //Token\r\n private token: string = \"\";\r\n public tokenSource = new BehaviorSubject(this.token);\r\n public tokenObserv = this.tokenSource.asObservable();\r\n updateToken(newToken: string) {\r\n this.tokenSource.next(newToken);\r\n\r\n }\r\n\r\n //TokenExpire\r\n private tokenExpire: string = \"\";\r\n public tokenExpireSource = new BehaviorSubject(this.tokenExpire);\r\n public tokenExpireObserv = this.tokenExpireSource.asObservable();\r\n updateTokenExpire(newTokenExpire: string) {\r\n this.tokenExpireSource.next(newTokenExpire);\r\n\r\n }\r\n\r\n //Current User\r\n public currentUser: string = \"tnyagato\";\r\n private currentUserSource = new BehaviorSubject(this.currentUser);\r\n public currentUserObserv = this.currentUserSource.asObservable();\r\n updateCurrentUser(newUser: string) {\r\n this.currentUserSource.next(newUser.toLocaleLowerCase());\r\n this.currentUser = newUser.toLocaleLowerCase();\r\n }\r\n\r\n //Line Manager\r\n private islineManager: boolean = false;\r\n private isLineManagerSource = new BehaviorSubject(this.islineManager);\r\n public isLineManagerObserv = this.isLineManagerSource.asObservable();\r\n updateIsLineManager(manager: boolean) {\r\n this.isLineManagerSource.next(manager);\r\n }\r\n\r\n //Roles\r\n private currentRole;\r\n public currentRoleSource = new BehaviorSubject(this.currentRole);\r\n public myRoleObserv = this.currentRoleSource.asObservable();\r\n updateRole(role) {\r\n this.currentRoleSource.next(role);\r\n }\r\n\r\n //Logged in FirstName\r\n private loggedUserSource = new BehaviorSubject(\"tnyagato\");\r\n public loggedUserFullName = this.loggedUserSource.asObservable();\r\n updateLoggedUserFullName(username: string) {\r\n this.loggedUserSource.next(username);\r\n }\r\n\r\n\r\n //Authorisation\r\n isAuthorised(capName: string): boolean{\r\n\r\n\r\n\r\n if (!this.currentRoleSource.value[capName]) {\r\n // this.logService.info(`authorise: ${this.currentRoleSource.value.roleName} not authorised for ${capName}`);\r\n this.router.navigate([\"home\"]);\r\n this.messageService.toast(`Unauthorised: ${capName}`);\r\n\r\n return false;\r\n }else{\r\n return true;\r\n }\r\n\r\n }\r\n\r\n isValidToken(){\r\n\r\n\r\n let tokenExpire: Date = new Date(this.tokenExpireSource.value);\r\n let nowDate: Date = new Date();\r\n\r\n\r\n let valid: boolean = tokenExpire > nowDate;\r\n\r\n if (!valid){\r\n\r\n this.router.navigate([\"login\"]);\r\n this.messageService.toast(`Expired Session`);\r\n }\r\n\r\n return valid\r\n\r\n }\r\n\r\n canActivate() {\r\n\r\n\r\n if (this.loggedin && this.isValidToken()) {\r\n // this.logService.info(\"authentication: logged in\");\r\n return true;\r\n }\r\n\r\n if (localStorage.getItem(Constants.AUTH_USER) === null) {\r\n // this.logService.info(\"authentication: not logged and no cache\");\r\n\r\n this.updateloggedin(false);\r\n this.router.navigate([\"login\"]);\r\n return false;\r\n\r\n } else {\r\n // this.logService.info(\"authentication: not logged but allowed login\");\r\n\r\n this.updateloggedin(true);\r\n\r\n this.storage.get(Constants.AUTH_USER).then((resp: any) => {\r\n this.updateCurrentUser(resp);\r\n // console.log(\"user: \" + resp);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_NAME).then((resp: any) => {\r\n this.updateLoggedUserFullName(resp);\r\n // console.log(\"name: \" + resp);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_ROLES).then((resp) => {\r\n let ret = JSON.parse(resp);\r\n\r\n this.updateRole(ret);\r\n // console.log(\"role: \" + ret.roleName);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_TOKEN).then((resp: any) => {\r\n this.updateToken(resp);\r\n // console.log(\"token: \" + resp);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_TOKEN_EXPIRE).then((resp: any) => {\r\n this.updateTokenExpire(resp);\r\n this.isValidToken();\r\n });\r\n\r\n\r\n return true;\r\n }\r\n }\r\n}\r\n","import { HttpService } from 'tin-core';\r\nimport { Injectable } from '@angular/core';\r\nimport { CapItem, User } from '../classes/Classes';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataService {\r\n\r\n constructor(private httpService: HttpService) {\r\n // httpService.apiUrl = \"http://localhost:20503/\";\r\n // httpService.apiUrl = \"http://localhost/basic/\";\r\n\r\n this.capUsers.name = \"cap3\";\r\n this.capUsers.display = \"Users\";\r\n this.capUsers.link = \"home/admin/users\";\r\n }\r\n\r\n capUsers = new CapItem;\r\n\r\n\r\n public tmpProfileUserID = \"\";\r\n\r\n //Users\r\n\r\n public GetUser(by: string, val: string) {\r\n return this.httpService.Get(\"Basic/GetUser?by=\" + by + \"&val=\" + val);\r\n }\r\n\r\n public UpdateUser(user, action: string) {\r\n return this.httpService.Post(\"Basic/UpdateUser?action=\" + action, user);\r\n }\r\n\r\n public login(u: User) {\r\n return this.httpService.Post(\"Basic/login\", u);\r\n }\r\n\r\n public changePassword(u) {\r\n return this.httpService.Post(\"Basic/ChangePassword\", u);\r\n }\r\n\r\n public changePasswordAdmin(u) {\r\n return this.httpService.Post(\"Basic/ChangePasswordAdmin\", u);\r\n }\r\n\r\n public SelfReset(u: User): Observable<any> {\r\n return this.httpService.Post(\"Basic/SelfReset\", u);\r\n\r\n }\r\n\r\n\r\n //Roles\r\n\r\n public UpdateRole(role, action: string) {\r\n return this.httpService.Post(\"Basic/UpdateRole?action=\" + action, role);\r\n }\r\n\r\n public GetRole(by: string, val: string) {\r\n return this.httpService.Get(\"Basic/GetRole?by=\" + by + \"&val=\" + val);\r\n }\r\n\r\n\r\n //Account\r\n public UpdateAccount(account, action: string) {\r\n return this.httpService.Post(\"Basic/UpdateAccount?action=\" + action, account);\r\n }\r\n\r\n //Profile\r\n\r\n public GetProfile(by: string, val: string) {\r\n return this.httpService.Get(\"Basic/GetProfile?by=\" + by + \"&val=\" + val);\r\n }\r\n\r\n public UpdateProfile(profile, action: string) {\r\n return this.httpService.Post(\"Basic/UpdateProfile?action=\" + action, profile);\r\n }\r\n\r\n //Logs\r\n public GetLog(by: string, val: string) {\r\n return this.httpService.Get(\"Basic/GetLog?by=\" + by + \"&val=\" + val);\r\n }\r\n\r\n //Settings\r\n public GetSetting(by: string, val: string) {\r\n return this.httpService.Get(\"Basic/GetSetting?by=\" + by + \"&val=\" + val);\r\n }\r\n\r\n public UpdateSetting(setting, action: string) {\r\n return this.httpService.Post(\"Basic/UpdateSetting?action=\" + action, setting);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoaderService {\n\n public isLoading = new BehaviorSubject(false);\n constructor() { }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { LoaderService } from '../../services/loader.service';\n\n@Component({\n selector: 'spa-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.css']\n})\nexport class LoaderComponent implements OnInit {\n\n constructor(private loaderService: LoaderService) {\n\n this.loaderService.isLoading.subscribe((v) => {\n // console.log(v);\n this.loading = v;\n });\n\n }\n ngOnInit() {\n }\n\n @Input() logo = \"\";\n loading: boolean;\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [],\n imports: [\n\n\n ],\n exports: [\n CommonModule,FormsModule, ReactiveFormsModule,\n MatMenuModule, MatSliderModule, MatTableModule, MatPaginatorModule,\n MatCheckboxModule, MatBadgeModule, MatButtonModule, MatIconModule, MatDialogModule, MatSnackBarModule,\n MatTabsModule, MatFormFieldModule, MatInputModule, MatCardModule, MatChipsModule, MatSelectModule,\n MatNativeDateModule, MatProgressSpinnerModule, MatListModule, MatAutocompleteModule, MatTooltipModule, MatSortModule,\n MatDatepickerModule, MatStepperModule, MatRadioModule,\n ],\n providers:[\n { provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: { disableClose: true, hasBackdrop: true } },\n { provide: MAT_DATE_LOCALE, useValue: \"en-GB\" },\n ]\n})\nexport class SpaMatModule { }\n","import { Router } from '@angular/router';\nimport { AuthService } from './auth.service';\nimport { MessageService } from './message.service';\nimport { Injectable } from '@angular/core';\nimport { HttpResponse, HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpErrorResponse} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { LoaderService } from './loader.service';\nimport { LogService } from './log.service';\n\n@Injectable()\nexport class LoaderInterceptor implements HttpInterceptor {\n private requests: HttpRequest<any>[] = [];\n\n constructor(private loaderService: LoaderService, private messageService: MessageService, private authService: AuthService, private router: Router, private logService: LogService) { }\n\n\n removeRequest(req: HttpRequest<any>) {\n const i = this.requests.indexOf(req);\n if (i >= 0) {\n this.requests.splice(i, 1);\n }\n this.loaderService.isLoading.next(this.requests.length > 0);\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n\n\n let requestClone = request.clone({\n setHeaders: {\n Authorization: \"Basic \" + btoa(this.authService.currentUser + \":\" + this.authService.tokenSource.value)\n // Authorization: \"Basic \" + btoa(this.authService.currentUser + \":\" + \"j5Toszfr@ys\")\n }\n });\n\n this.requests.push(requestClone);\n\n if (this.requests.length > 1){\n this.logService.info(\"Multiple connections detected > \" + this.requests.length)\n }\n\n // this.logService.info(\"Executed > \" + requestClone.url)\n\n\n this.loaderService.isLoading.next(true);\n\n return Observable.create(observer => {\n\n const subscription = next.handle(requestClone)\n .subscribe(\n event => {\n if (event instanceof HttpResponse) {\n this.removeRequest(requestClone);\n observer.next(event);\n }\n },\n (err: HttpErrorResponse) => {\n\n this.messageService.toast('error: ' + err.statusText)\n\n this.removeRequest(requestClone);\n observer.error(err);\n\n if (err.status === 401) {\n //request is unathorised\n this.router.navigate([\"login\"]);\n }\n\n },\n () => {\n this.removeRequest(requestClone);\n observer.complete();\n });\n\n\n // remove request from queue when cancelled\n return () => {\n this.removeRequest(requestClone);\n subscription.unsubscribe();\n };\n\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-tin-spa',\n template: `\n <p>\n tin-spa works!\n </p>\n `,\n styles: []\n})\nexport class TinSpaComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { DataService } from './../../services/data.service';\r\nimport { AppConfig } from './../../classes/Classes';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'spa-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.css']\r\n})\r\nexport class NavMenuComponent {\r\n\r\n constructor(public router: Router, public authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.authService.loggedUserFullName.subscribe(user => this.loggedUserFullName = user)\r\n this.authService.myRoleObserv.subscribe(rol => this.myRole = rol);\r\n this.authService.loggedinObserv.subscribe(obj => this.loggedin = obj)\r\n\r\n }\r\n\r\n myRole;\r\n loggedUserFullName: string;\r\n loggedin: boolean;\r\n isExpanded = false;\r\n\r\n @Input() appConfig = new AppConfig();\r\n\r\n\r\n\r\n collapse() {\r\n this.isExpanded = false;\r\n }\r\n\r\n toggle() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n // logoff() {\r\n // // this.authService.updateloggedin(false);\r\n // // this.authService.updateRole(new Role());\r\n // this.router.navigate([\"login\"]);\r\n // // this.storageService.clear();\r\n // }\r\n\r\n redirectTo(link: string){\r\n\r\n if (link!=\"\"){\r\n this.router.navigate([link]);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\nimport {Idle, DEFAULT_INTERRUPTSOURCES} from '@ng-idle/core';\r\nimport {Keepalive} from '@ng-idle/keepalive';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'spa-timeout',\r\n templateUrl: './timeout.component.html',\r\n styleUrls: ['./timeout.component.css']\r\n})\r\nexport class TimeoutComponent implements OnInit {\r\n\r\n constructor(private idle: Idle, private keepalive: Keepalive, public authService: AuthService, private router: Router) {\r\n\r\n this.authService.loggedinObserv.subscribe(obj => {\r\n this.loggedin = obj;\r\n // if (this.loggedin){\r\n // this.startWatch();\r\n // }else{\r\n // this.stopWatch();\r\n // }\r\n\r\n })\r\n\r\n // sets an idle timeout of 5 seconds, for testing purposes.\r\n idle.setIdle(900);\r\n // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.\r\n idle.setTimeout(10);\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n\r\n idle.onIdleStart.subscribe(() => {\r\n this.idleState = 'You\\'ve gone idle!';\r\n });\r\n\r\n idle.onIdleEnd.subscribe(() => {\r\n this.idleState = 'No longer idle.';\r\n this.isWarning = false;\r\n });\r\n\r\n idle.onTimeoutWarning.subscribe((countdown) => {\r\n this.idleState = 'You will be signed out in ' + countdown + ' seconds!';\r\n\r\n if (this.loggedin){\r\n this.isWarning = true;\r\n }\r\n\r\n });\r\n\r\n idle.onTimeout.subscribe(() => {\r\n this.idleState = 'Timed out!';\r\n this.timedOut = true;\r\n\r\n //action\r\n this.stopWatch();\r\n });\r\n\r\n\r\n\r\n\r\n\r\n // sets the ping interval to 15 seconds\r\n keepalive.interval(15);\r\n\r\n keepalive.onPing.subscribe(() => {\r\n this.lastPing = new Date();\r\n });\r\n\r\n this.startWatch();\r\n }\r\n\r\n loggedin = false;\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n isWarning = false;\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n startWatch() {\r\n this.idle.watch();\r\n this.idleState = 'Started.';\r\n this.timedOut = false;\r\n this.isWarning = false;\r\n }\r\n\r\n stopWatch(){\r\n this.idle.stop();\r\n this.isWarning = false;\r\n this.router.navigate(['login']);\r\n }\r\n\r\n using(){\r\n //remove message and continue\r\n this.isWarning = false;\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActionResponse, Operator, TableColumnType, TableConfig } from '../../classes/Classes';\n\n@Component({\n selector: 'spa-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.css']\n})\nexport class TableComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n\n // console.log(\"Init\")\n this.config.columns.forEach(element => {\n this.displayedColumns.push(element.name);\n });\n\n this.displayedColumns.push(\"Action\")\n\n this.styleString = `width: ${50 * this.config.actions.length}px`;\n\n }\n\n ngOnChanges(){\n // console.log(\"OnChange\")\n this.data = new MatTableDataSource(this.data);\n this.data.paginator = this.tablePaginator;\n this.applyFilter(this._filterText);\n }\n\n\n @Input() config: TableConfig;\n @Input() data: any;\n @Output() dataChange = new EventEmitter();\n @Output() buttonClick = new EventEmitter();\n @Output() loadClick = new EventEmitter();\n @Output() createClick = new EventEmitter();\n\n @ViewChild('tablePaginator') tablePaginator: MatPaginator;\n\n colType = TableColumnType\n op = Operator\n\n displayedColumns: string[] = [];\n\n styleString: string;\n\n _filterText = \"\";\n applyFilter(filterValue: string) {\n this.data.filter = filterValue.trim().toLowerCase();\n }\n\n do(name, item) {\n\n let resp = new ActionResponse();\n resp.name = name;\n resp.value = item;\n this.buttonClick.emit(resp);\n }\n\n\n create(){\n this.createClick.emit();\n }\n\n load(){\n this.loadClick.emit();\n }\n\n test(a:any, op: Operator, b: any){\n\n if (op == Operator.Equal){\n if (a == b){\n return true;\n }else{\n return false;\n }\n\n }\n\n if (op == Operator.Greater) {\n if (a > b) {\n return true;\n } else {\n return false;\n }\n\n }\n\n if (op == Operator.Less) {\n if (a < b) {\n return true;\n } else {\n return false;\n }\n\n }\n\n if (op == Operator.NotEqual) {\n if (a != b) {\n return true;\n } else {\n return false;\n }\n\n }\n\n\n\n }\n\n}\n\n\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Tile } from '../../classes/Classes';\n\n\n@Component({\n selector: 'spa-tiles',\n templateUrl: './tiles.component.html',\n styleUrls: ['./tiles.component.css']\n})\nexport class TilesComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n @Input() tiles: Tile[];\n\n}\n","import { Component, Input, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { EventEmitter } from 'protractor';\nimport { Core } from \"tin-core\";\n\n@Component({\n selector: 'spa-date',\n templateUrl: './date.component.html',\n styleUrls: ['./date.component.css']\n})\nexport class DateComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n @Input() date = new FormControl(new Date());\n @Input() display = \"\";\n // @Output() dateChange = new EventEmitter();\n _minDate = new Date(new Date(\"01 jan 1000\"));\n _maxDate = new Date(new Date(\"31 dec 9999\"));\n\n\n onChangeEvent(d){\n // this.dateChange.emit(d);\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'spa-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.css']\n})\nexport class TextComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n\n }\n\n ngAfterViewInit(){\n\n if (this.readonly) {\n this.control.setValidators(null);\n this.control.updateValueAndValidity();\n }\n if (!this.required && !this.readonly){\n\n this.control.setValidators([Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex)]);\n this.control.updateValueAndValidity();\n }\n }\n\n\n options: FormGroup;\n hideRequiredControl = new FormControl(true);\n\n @Input() readonly = false;\n @Input() hint = \"\";\n @Input() display = \"\";\n @Input() value = \"\";\n @Output() valueChange = new EventEmitter();\n\n @Output() leave = new EventEmitter();\n\n @Input() rows = \"\";\n @Input() width = \"100%\"\n\n //validations\n @Input() required = true;\n @Input() min = 0;\n @Input() max = 9000000000000000; //Math.max\n @Input() regex = \"\" //\"[a-zA-Z ]*\" //\"/\\S+@\\S+\\.\\S+/\";\n\n changed(){\n this.valueChange.emit(this.value);\n }\n\n leaved(){\n this.leave.emit();\n }\n\n control = new FormControl( this.value, [Validators.required, Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex) ]);\n\n validate() : string{\n\n\n if ((this.required || this.min > 0) && this.control.hasError('required') ){\n return `Required`;\n }\n\n if (this.control.hasError('minlength') ){\n return `Minimun length is ${this.min}`;\n }\n\n if (this.control.hasError('maxlength')) {\n return `Maximum length is ${this.max}`;\n }\n\n if (this.control.hasError('pattern')) {\n return `Invalid Input`;\n }\n\n\n // if (this.regex != \"\"){\n\n // let r = new RegExp(this.regex, \"g\");\n\n // if (!r.test(this.value)){\n // this.valid = false;\n // this.errorMessage = \"Invalid input\";\n // return this.errorMessage;\n // }\n // }\n\n return \"\";\n }\n\n}\n","//-------------------------------------------EDIT\n\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { HttpService } from 'tin-core';\n\n@Component({\n selector: 'app-editRequest',\n templateUrl: './viewerDialog.component.html',\n styleUrls: ['./viewer.component.css']\n})\nexport class viewerDialog implements OnInit {\n\n constructor(private httpService: HttpService, @Inject(MAT_DIALOG_DATA) public data) { }\n\n ngOnInit() {\n\n this.fileNames = this.data.fileNames;\n this.path = this.data.path;\n this.fileName = this.data.fileName;\n this.currIndex = this.data.fileNames.indexOf(this.fileName);\n this.setURL();\n\n }\n\n isProcessing: boolean = false;\n\n path: string;\n fileNames = new Array();\n fileName: string;\n currIndex = 0;\n\n currentFileUrl = \"\";\n\n\n previous() {\n\n if (this.fileNames.length == 0) {\n return;\n }\n\n if (this.currIndex -1 >= 0)\n {\n this.currIndex = this.currIndex - 1;\n }\n else if (this.currIndex == 0)\n {\n this.currIndex = this.fileNames.length -1;\n }\n\n this.setURL();\n\n }\n\n next() {\n\n if (this.fileNames.length == 0){\n return;\n }\n\n if (this.currIndex +1 < this.fileNames.length)\n {\n this.currIndex = this.currIndex + 1;\n }\n else if (this.currIndex +1 > this.fileNames.length -1)\n {\n this.currIndex = 0;\n }\n\n this.setURL();\n\n }\n\n imageDoc = false;\n setURL() {\n // this.currentFileUrl = this.httpService.apiUrl.replace(\"/api/\", \"/files/\") + '' + \"/\" + this.files[this.currIndex];\n\n this.currentFileUrl = `${this.httpService.apiUrl.replace(\"/api/\", \"/\")}${this.path.replace(\"//\", \"/\")}/${this.fileNames[this.currIndex]}` ;\n\n if (this.currentFileUrl.toLocaleLowerCase().endsWith(\".pdf\") || this.currentFileUrl.toLocaleLowerCase().endsWith(\".jpg\") || this.currentFileUrl.toLocaleLowerCase().endsWith(\".jpeg\")){\n this.imageDoc = true;\n }else{\n this.imageDoc = false\n window.open(this.currentFileUrl, '_blank');\n\n }\n\n console.log(this.currentFileUrl);\n }\n\n change(fileName){\n\n this.currIndex = this.fileNames.indexOf(fileName);\n this.setURL();\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { viewerDialog } from './viewerDialog.component';\n\n@Component({\n selector: 'spa-viewer',\n templateUrl: './viewer.component.html',\n styleUrls: ['./viewer.component.css']\n})\nexport class ViewerComponent implements OnInit {\n\n constructor(public dialog: MatDialog) { }\n\n ngOnInit(): void {\n console.log(`${this.dir}/${this.folderName}`)\n }\n\n @Input() dir = \"\";\n @Input() folderName=\"\";\n @Input() fileNames = new Array()\n @Input() removable = false;\n @Output() remove = new EventEmitter();\n\n\n // fileList: string[];\n\n viewDocs(fileName: string) {\n\n if (typeof fileName != 'string') {\n return;\n }\n\n\n console.log(\"opening doc: \" + fileName)\n\n const dialogRef = this.dialog.open(viewerDialog, {\n minWidth: '1500px',\n maxWidth: '80vw',\n\n data: { fileNames: this.fileNames, fileName: fileName, path:`${this.dir}/${this.folderName}` }\n });\n\n }\n\n removed(i){\n console.log(\"remove clicked from viewer: \" + i)\n this.remove.emit(i);\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'spa-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.css']\n})\nexport class SelectComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n @Input() width = \"100%\"\n @Input() readonly = false;\n\n @Input() display = \"\";\n @Input() value = \"\";\n @Input() options: any;\n @Input() optionValue;\n @Input() optionDisplay;\n\n @Output() valueChange = new EventEmitter();\n\n\n\n changed(){\n this.valueChange.emit(this.value);\n }\n\n selectChanged(){\n\n }\n\n}\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n\n@Component({\n selector: 'spa-check',\n templateUrl: './check.component.html',\n styleUrls: ['./check.component.css']\n})\nexport class CheckComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n @Input() readonly = false;\n @Input() display = \"\";\n @Input() value = false;\n @Output() valueChange = new EventEmitter();\n @Output() click = new EventEmitter();\n @Output() check = new EventEmitter();\n @Output() uncheck = new EventEmitter();\n\n changed(){\n this.valueChange.emit(this.value);\n }\n\n clicked(){\n this.click.emit();\n\n if(!this.value){\n this.checked();\n }else{\n this.unchecked();\n }\n }\n\n checked(){\n this.check.emit();\n }\n unchecked(){\n this.uncheck.emit();\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n\n@Component({\n selector: 'spa-attach',\n templateUrl: './attach.component.html',\n styleUrls: ['./attach.component.scss']\n})\nexport class AttachComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n @Input() files: any[] = [];\n @Output() filesChange = new EventEmitter();\n @Output() upload = new EventEmitter();\n\n\n @Input() enableUpload = false;\n\n\n /**\n * on file drop handler\n */\n onFileDropped($event) {\n this.prepareFilesList($event);\n }\n\n /**\n * handle file from browsing\n */\n fileBrowseHandler(files) {\n this.prepareFilesList(files);\n }\n\n /**\n * Delete file from files list\n * @param index (File index)\n */\n deleteFile(index: number) {\n this.files.splice(index, 1);\n }\n\n /**\n * Simulate the upload process\n */\n // uploadFilesSimulator(index: number) {\n // setTimeout(() => {\n // if (index === this.files.length) {\n // return;\n // } else {\n // const progressInterval = setInterval(() => {\n // if (this.files[index].progress === 100) {\n // clearInterval(progressInterval);\n // this.uploadFilesSimulator(index + 1);\n // } else {\n // this.files[index].progress += 5;\n // }\n // }, 200);\n // }\n // }, 1000);\n // }\n\n /**\n * Convert Files list to normal array list\n * @param files (Files List)\n */\n prepareFilesList(files: Array<any>) {\n for (const item of files) {\n item.progress = 0;\n this.files.push(item);\n }\n // this.uploadFilesSimulator(0);\n }\n\n /**\n * format bytes\n * @param bytes (File size in bytes)\n * @param decimals (Decimals point)\n */\n formatBytes(bytes, decimals) {\n if (bytes === 0) {\n return '0 Bytes';\n }\n const k = 1024;\n const dm = decimals <= 0 ? 0 : decimals || 2;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n }\n\n uploaded(){\n this.upload.emit();\n }\n\n filesChanged(){\n this.filesChange.emit(this.files);\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'spa-datetime',\n templateUrl: './datetime.component.html',\n styleUrls: ['./datetime.component.css']\n})\nexport class DatetimeComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n @Input() display = \"\";\n @Input() value = \"\";\n @Output() valueChange = new EventEmitter();\n\n @Input() min = \"01 jan 1000\";\n\n @Input() max = \"31 dec 9999\";\n\n changed() {\n this.valueChange.emit(this.value);\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { CurrencyPipe } from '@angular/common';\nimport { Core } from 'tin-core';\n\n@Component({\n selector: 'spa-money',\n templateUrl: './money.component.html',\n styleUrls: ['./money.component.css']\n})\nexport class MoneyComponent implements OnInit {\n\n constructor(private currencyPipe: CurrencyPipe) { }\n\n ngOnInit(): void {\n this.pureAmount = this.value;\n this.formattedAmount = this.toMoney(this.value);\n\n }\n\n\n pureAmount;\n formattedAmount;\n @Input() readonly = false;\n @Input() display = \"\";\n @Input() value = \"\";\n @Output() valueChange = new EventEmitter();\n\n @Input() width = \"100%\"\n\n ngOnChanges(){\n // this.changed();\n }\n ngAfterViewInit(){\n this.changed();\n // this.transformAmount(this.ele);\n\n }\n\n changed(){\n\n this.valueChange.emit(parseFloat(this.pureAmount));\n }\n\n toMoney(amt) {\n return this.currencyPipe.transform(amt, 'USD', '')\n }\n\n transformAmount(element) {\n\n\n this.pureAmount = Core.getNumber(this.value.toString())\n\n if (!Core.isNumber(this.pureAmount)){\n this.pureAmount = 0;\n }\n\n this.formattedAmount = this.toMoney(this.pureAmount);\n element.target.value = this.formattedAmount;\n\n this.changed();\n\n }\n}\n","import {\r\n Directive,\r\n Output,\r\n Input,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDnd]'\r\n})\r\nexport class DndDirective {\r\n @HostBinding('class.fileover') fileOver: boolean;\r\n @Output() fileDropped = new EventEmitter<any>();\r\n\r\n // Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = true;\r\n }\r\n\r\n // Dragleave listener\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n }\r\n\r\n // Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.fileDropped.emit(files);\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MessageService } from '../../services/message.service';\n@Component({\n selector: 'spa-chips',\n templateUrl: './chips.component.html',\n styleUrls: ['./chips.component.css']\n})\nexport class ChipsComponent implements OnInit {\n\n constructor(private messageService: MessageService) { }\n\n\n ngOnInit(): void {\n }\n\n @Input() display = \"\";\n @Input() icon = \"\";\n @Input() removable = false;\n @Input() addable = false;\n\n\n @Input() chips: string[];\n // @Output() chipClick = new EventEmitter();\n\n @Output() click = new EventEmitter();\n\n @Output() remove = new EventEmitter();\n\n clicked(chip: string) {\n\n console.log(\"Clicked chip: \" + chip)\n\n if (typeof chip != 'string') {\n return;\n }\n\n if (chip) {\n this.click.emit(chip);\n }\n }\n\n\n removed(chip) {\n\n // const index = this.chips.indexOf(chip);\n\n // if (index >= 0) {\n // this.chips.splice(index, 1);\n // }\n\n this.messageService.confirm(`Remove ${chip} ?`).subscribe((result) => {\n if (result == \"yes\") {\n\n this.remove.emit(chip);\n\n };\n });\n\n }\n\n}\n\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'spa-activity',\n templateUrl: './activity.component.html',\n styleUrls: ['./activity.component.css']\n})\nexport class ActivityComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n @Input() notes = new Array();\n notesMessage: string = \"Loading ...\";\n\n}\n","import { LoaderComponent } from './components/loader/loader.component';\r\nimport { SpaMatModule } from \"./modules/spa-mat.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { LoaderInterceptor } from './services/loader-interceptor.service';\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\r\nimport { MomentModule } from 'angular2-moment';\r\nimport { NgxDocViewerModule } from 'ngx-doc-viewer';\r\n\r\nimport { TinSpaComponent } from \"./components/tin-spa.component\";\r\nimport { NavMenuComponent } from \"./components/nav-menu/nav-menu.component\";\r\nimport { messageDialog } from \"./components/message/messageDialog.component\";\r\nimport { TimeoutComponent } from './components/timeout/timeout.component';\r\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\r\nimport { TableComponent } from './components/table/table.component';\r\nimport { TilesComponent } from './components/tiles/tiles.component';\r\nimport { DateComponent } from './components/date/date.component';\r\nimport { TextComponent } from './components/text/text.component';\r\nimport { ViewerComponent } from './components/viewer/viewer.component';\r\nimport { SelectComponent } from './components/select/select.component';\r\nimport { CheckComponent } from './components/check/check.component';\r\nimport { AttachComponent } from './components/attach/attach.component';\r\nimport { DatetimeComponent } from './components/datetime/datetime.component';\r\nimport { MoneyComponent } from './components/money/money.component';\r\nimport { DndDirective } from './dnd.directive';\r\nimport { ChipsComponent } from './components/chips/chips.component';\r\nimport { ActivityComponent } from './components/activity/activity.component';\r\n// import { ViewerDialogComponent } from './components/viewer-dialog/viewer-dialog.component';\r\n// import { editRequestDialog } from './components/viewer/editRequestDialog.component';\r\nimport { viewerDialog } from './components/viewer/viewerDialog.component';\r\n// import { viewerDialog } from './components/viewer/viewerDialog.component';\r\n// import { viewerDialog } from './components/viewer/viewerDialog.component';\r\n\r\n\r\n// import { LogsComponent } from './components/logs/logs.component';\r\n\r\n@NgModule({\r\n declarations: [DndDirective,TinSpaComponent, messageDialog, NavMenuComponent, LoaderComponent,\r\n TimeoutComponent, TableComponent, TilesComponent, DateComponent, TextComponent,\r\n ViewerComponent, SelectComponent, CheckComponent, AttachComponent, DatetimeComponent,\r\n MoneyComponent,\r\n ChipsComponent,\r\n ActivityComponent, viewerDialog ],\r\n\r\n entryComponents: [messageDialog],\r\n\r\n imports: [\r\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SpaMatModule,\r\n MomentModule,\r\n NgxDocViewerModule,\r\n\r\n NgIdleKeepaliveModule.forRoot()\r\n ],\r\n\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n SpaMatModule,\r\n TinSpaComponent,\r\n messageDialog,\r\n NavMenuComponent,\r\n LoaderComponent,\r\n TimeoutComponent,\r\n TableComponent,\r\n TilesComponent,\r\n DateComponent,\r\n ViewerComponent,\r\n SelectComponent,\r\n TextComponent,\r\n DatetimeComponent,\r\n CheckComponent,\r\n AttachComponent,\r\n MoneyComponent,\r\n ChipsComponent,\r\n ActivityComponent\r\n\r\n ],\r\n\r\n providers: [\r\n\r\n { provide: HTTP_INTERCEPTORS, useClass: LoaderInterceptor, multi: true },\r\n { provide: LocationStrategy, useClass: HashLocationStrategy}\r\n ],\r\n})\r\nexport class TinSpaModule {}\r\n","//-----------------Change for Build and Reference purposes for SERVICES ONLY---------//\r\nimport { HttpService, ApiResponse, Core, Constants } from \"tin-core\";\r\n// import { HttpService,ApiResponse, Core, Constants } from 'tin-core';\r\n//----------------------------------------------------------------------------------//\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StorageService } from \"../../services/storage.service\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { LogService } from \"./../../services/log.service\";\r\n// import { AuthService } from \"../services/auth.service\";\r\n// import { ApiResponse, Core } from \"../classes/TinCore\";\r\nimport { User, loginConfig } from \"../../classes/Classes\";\r\nimport { CurrencyPipe } from \"@angular/common\";\r\n// import { StorageService } from \"../services/storage.service\";\r\n// import { Constants } from \"../../classes/TinSpa\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: \"spa-login\",\r\n templateUrl: \"./login.component.html\",\r\n styleUrls: [\"./login.component.scss\"],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n constructor(\r\n private httpService: HttpService,\r\n private storageService: StorageService,\r\n public router: Router,\r\n private messageService: MessageService,\r\n private dataService: DataService,\r\n public authService: AuthService,\r\n private logService: LogService\r\n ) {}\r\n\r\n public user = new User();\r\n hide = true;\r\n isProcessing: boolean = false;\r\n @Input() config: loginConfig;\r\n\r\n ngOnInit() {\r\n this.authService.updateloggedin(false);\r\n this.authService.updateRole(null);\r\n this.storageService.clear();\r\n }\r\n\r\n public signup() {\r\n this.router.navigate([\"signup\"]);\r\n }\r\n\r\n public recoverAccount() {\r\n this.router.navigate([\"recover-account\"]);\r\n }\r\n\r\n public login() {\r\n\r\n if (this.user.userID == \"\" || this.user.password == \"\") {\r\n this.messageService.toast(\"Please enter your credentials\");\r\n\r\n return;\r\n }\r\n\r\n this.logService.info(\"logging in\");\r\n\r\n this.isProcessing = true;\r\n\r\n this.dataService.login(this.user).subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.authService.updateloggedin(true);\r\n\r\n this.authService.updateToken(apiResponse.ds.dtUser[0][\"token\"]);\r\n this.storageService.store(Constants.AUTH_TOKEN, apiResponse.ds.dtUser[0][\"token\"]);\r\n\r\n this.authService.updateTokenExpire(apiResponse.ds.dtUser[0][\"tokenExpire\"]);\r\n this.storageService.store(Constants.AUTH_TOKEN_EXPIRE, apiResponse.ds.dtUser[0][\"tokenExpire\"]);\r\n\r\n this.authService.updateCurrentUser(this.user.userID);\r\n this.storageService.store(Constants.AUTH_USER, this.user.userID);\r\n\r\n this.authService.updateLoggedUserFullName( apiResponse.ds.dtProfile[0][\"firstName\"] );\r\n this.storageService.store(Constants.AUTH_NAME, apiResponse.ds.dtProfile[0][\"firstName\"]\r\n );\r\n\r\n this.authService.updateRole(apiResponse.ds.dtRole[0]);\r\n this.storageService.store(Constants.AUTH_ROLES, JSON.stringify(apiResponse.ds.dtRole[0]));\r\n // this.setRole(apiResponse.dt[0][\"accessLevel\"]);\r\n\r\n // this.setRole(\"1\");\r\n\r\n if (apiResponse.ds.dtUser[0][\"changePassword\"] == \"0\") {\r\n this.router.navigate([\"home\"]);\r\n // this.messageService.toast(\"Welcome\");\r\n this.logService.info(\"logged in\");\r\n } else {\r\n this.router.navigate([\"home/user/change-password\"]);\r\n }\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n this.user.password = \"\";\r\n }\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n }\r\n\r\n setRole(roleID: string) {\r\n this.dataService\r\n .GetRole(\"id\", roleID)\r\n .subscribe((apiResponse: ApiResponse) => {\r\n this.authService.updateRole(apiResponse.dt[0]);\r\n\r\n this.storageService.store(\r\n Constants.AUTH_ROLES,\r\n JSON.stringify(apiResponse.dt[0])\r\n );\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { HttpService, ApiResponse } from 'tin-core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { DataService } from '../../services/data.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { User, Profile, Account } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'spa-signup',\r\n templateUrl: './signup.component.html',\r\n styleUrls: ['./signup.component.css']\r\n})\r\nexport class SignupComponent implements OnInit {\r\n\r\n\r\n constructor(private httpService: HttpService, private messageService: MessageService, private dataService: DataService, private authService: AuthService,) { }\r\n\r\n ngOnInit() {\r\n\r\n this.account.user = this.user;\r\n this.account.profile = this.profile;\r\n }\r\n\r\n isProcessing: boolean = false;\r\n user = new User();\r\n profile = new Profile();\r\n\r\n account = new Account();\r\n\r\n confirmPassword: string;\r\n\r\n\r\ncreate(){\r\n\r\n this.profile.userID = this.user.userID;\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateAccount(this.account,\"add\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Account Created\");\r\n\r\n this.user = new User();\r\n this.profile = new Profile();\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n}\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DataService } from '../../services/data.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { User } from '../../classes/Classes';\r\nimport { ApiResponse } from 'tin-core';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'spa-recover-account',\r\n templateUrl: './recover-account.component.html',\r\n styleUrls: ['./recover-account.component.css']\r\n})\r\nexport class RecoverAccountComponent implements OnInit {\r\n\r\n constructor(private location: Location, private dataService: DataService, public authService: AuthService, private messageService: MessageService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n userID: string = \"\";\r\n\r\n recover(){\r\n\r\n\r\n if (this.userID == \"\") {\r\n\r\n this.messageService.toast(\"Please enter your userID\");\r\n return;\r\n } else {\r\n let u = new User();\r\n u.userID = this.userID;\r\n\r\n this.dataService.SelfReset(u).subscribe((apiResponse: ApiResponse) => {\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"The password has been sent to your email\");\r\n this.location.back();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { SpaMatModule } from \"./spa-mat.module\";\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { LoginComponent } from \"../components/login/login.component\";\nimport { SignupComponent } from \"../components/signup/signup.component\";\nimport { RecoverAccountComponent } from \"../components/recover-account/recover-account.component\";\n\n@NgModule({\n declarations: [LoginComponent, SignupComponent, RecoverAccountComponent],\n\n entryComponents: [],\n\n imports: [\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpaMatModule,\n ],\n\n exports: [\n CommonModule,\n FormsModule,\n SpaMatModule,\n LoginComponent,\n SignupComponent,\n RecoverAccountComponent,\n ],\n})\nexport class SpaIndexModule {}\n","\r\nimport { ChangeUserPassword } from './../../classes/Classes';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { DataService } from '../../services/data.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { ApiResponse, HttpService } from 'tin-core';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'spa-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n constructor(private location: Location, private httpService: HttpService,private messageService: MessageService, public dataService: DataService, private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n this.myRole = this.authService.currentRoleSource.value\r\n\r\n if (this.dataService.tmpProfileUserID==\"\"){\r\n this.changePassword.userID = this.authService.currentUser;\r\n\r\n }else{\r\n this.changePassword.userID = this.dataService.tmpProfileUserID;\r\n this.dataService.tmpProfileUserID = \"\";\r\n }\r\n\r\n // console.log(this.myRole)\r\n\r\n }\r\n\r\n myRole;\r\n\r\n\r\n\r\n\r\n\r\n isProcessing: boolean = false;\r\n\r\n changePassword = new ChangeUserPassword();\r\n\r\n public change() {\r\n\r\n\r\n if (!this.myRole[this.dataService.capUsers.name]){\r\n if (this.changePassword.currentPassword == \"\") {\r\n this.messageService.toast(\"Please enter current Password\");\r\n return;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n if (this.changePassword.newPassword == \"\") {\r\n this.messageService.toast(\"Please enter new Password\");\r\n return;\r\n }\r\n\r\n if (this.changePassword.confirmPassword == \"\") {\r\n this.messageService.toast(\"Please confirm new Password\");\r\n return;\r\n }\r\n\r\n if (this.changePassword.confirmPassword != this.changePassword.newPassword ) {\r\n this.messageService.toast(\"Passwords do not match\");\r\n return;\r\n }\r\n\r\n this.isProcessing = true;\r\n\r\n if (this.myRole[this.dataService.capUsers.name]){\r\n\r\n this.dataService.changePasswordAdmin(this.changePassword).subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Password Changed\");\r\n\r\n this.location.back();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n }\r\n );\r\n\r\n }else{\r\n\r\n this.dataService.changePassword(this.changePassword).subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Password Changed\");\r\n\r\n this.location.back();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n\r\n}\r\n","import { AuthService } from './../../services/auth.service';\r\nimport { HttpService } from 'tin-core';\r\nimport { MessageService } from './../../services/message.service';\r\nimport { DataService } from './../../services/data.service';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { ApiResponse } from 'tin-core';\r\nimport { AppConfig, Profile } from '../../classes/Classes';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'spa-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.css']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n isProcessing: boolean;\r\n\r\n constructor(public dataService: DataService, private messageService: MessageService, private httpService: HttpService, private router: Router, private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.myRole = this.authService.currentRoleSource.value\r\n\r\n // this.loadRoles();\r\n\r\n if (this.dataService.tmpProfileUserID==\"\"){\r\n this.loadProfile(this.authService.currentUser);\r\n\r\n }else{\r\n this.loadProfile(this.dataService.tmpProfileUserID);\r\n this.dataService.tmpProfileUserID = \"\";\r\n }\r\n\r\n\r\n // console.log(this.myRole);\r\n\r\n\r\n }\r\n\r\n myRole;\r\n @Input() appConfig = new AppConfig();\r\n\r\n\r\n selfProfile : boolean = false;\r\n\r\n profile = new Profile();\r\n roles;\r\n approvalRoles;\r\n employees;\r\n\r\n\r\n loadProfile(userID: string){\r\n\r\n let action = \"all\";\r\n\r\n if (this.appConfig.approvals && this.appConfig.employees){\r\n action = \"set\"\r\n }\r\n\r\n if (this.appConfig.approvals && !this.appConfig.employees){\r\n action = \"setapp\"\r\n }\r\n\r\n if (!this.appConfig.approvals && this.appConfig.employees){\r\n action = \"setemp\"\r\n }\r\n\r\n\r\n this.dataService.GetProfile(action, userID).subscribe(\r\n (apiResponse: ApiResponse) => {\r\n\r\n this.profile = apiResponse.ds.dtProfiles[0];\r\n\r\n if (this.profile.userID.toLocaleLowerCase() == this.authService.currentUser.toLocaleLowerCase()){\r\n this.selfProfile = true\r\n }\r\n\r\n //get more details\r\n this.roles = apiResponse.ds.dtRoles;\r\n this.approvalRoles = apiResponse.ds.dtApprovalRoles;\r\n this.employees = apiResponse.ds.dtEmployees;\r\n\r\n\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n\r\n\r\n\r\n }\r\n\r\n loadRoles(){\r\n\r\n\r\n this.dataService.GetRole(\"all\", \"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n\r\n this.roles = apiResponse.dt;\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n changePassword(){\r\n this.dataService.tmpProfileUserID = this.profile.userID;\r\n this.router.navigate([\"home/user/change-password\"]);\r\n }\r\n\r\n gotoUsers(){\r\n this.router.navigate([\"home/admin/users\"]);\r\n }\r\n\r\n update(){\r\n\r\n }\r\n\r\n updateProfile(){\r\n this.isProcessing = true;\r\n this.dataService.UpdateProfile(this.profile, \"edit\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Profile Updated\");\r\n\r\n\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","import { SpaMatModule } from \"./spa-mat.module\";\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { ChangePasswordComponent } from \"../components/change-password/change-password.component\";\nimport { ProfileComponent } from \"../components/profile/profile.component\";\n\n@NgModule({\n declarations: [ChangePasswordComponent, ProfileComponent],\n\n entryComponents: [],\n\n imports: [\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpaMatModule,\n ],\n\n exports: [\n CommonModule,\n FormsModule,\n SpaMatModule,\n ChangePasswordComponent,\n ProfileComponent,\n ],\n})\nexport class SpaUserModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { DataService } from '../../services/data.service';\nimport { MessageService } from '../../services/message.service';\nimport { ApiResponse } from 'tin-core';\n\n@Component({\n selector: 'spa-settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.css']\n})\nexport class SettingsComponent implements OnInit {\n\n constructor(private dataService: DataService, private messageService: MessageService) { }\n\n ngOnInit(): void {\n this.loadSettings();\n }\n\n _filterText = \"\";\n settings;\n isProcessing = false;\n\n applyFilter(filterValue: string) {\n this.settings.filter = filterValue.trim().toLowerCase();\n }\n\n loadSettings(){\n this.dataService.GetSetting(\"all\", \"\").subscribe(\n (apiResponse: ApiResponse) => {\n this.settings = apiResponse.dt;\n // this.applyFilter(this._filterText);\n }\n );\n\n }\n\n updateSetting(setting) {\n\n this.isProcessing = true;\n this.dataService.UpdateSetting(setting, \"edit\").subscribe((apiResponse: ApiResponse) => {\n this.isProcessing = false;\n\n if (apiResponse.message == \"success\") {\n this.messageService.toast(`Setting ${setting.sName} Updated`);\n this.loadSettings();\n\n } else {\n this.messageService.toast(\"Error: \" + apiResponse.message);\n }\n\n });\n\n };\n\n addSetting() {\n\n // const dialogRef = this.dialog.open(addRoleDialog, {\n // width: \"1100px\",\n // data: \"\",\n // });\n\n // dialogRef.afterClosed().subscribe((result) => {\n // if (result == \"success\") {\n // this.loadRoles();\n // }\n // });\n this.messageService.toast(\"Feature not Available\");\n\n }\n\n}\n","import { ApiResponse } from 'tin-core';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { DataService } from \"../../services/data.service\";\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { AuthService } from '../../services/auth.service';\n\n@Component({\n selector: 'spa-logs',\n templateUrl: './logs.component.html',\n styleUrls: ['./logs.component.css']\n})\nexport class LogsComponent implements OnInit {\n constructor( private authService: AuthService, private dataService: DataService,) {}\n\n ngOnInit() {\n this.loadLogs();\n }\n\n isProcessing: boolean = false;\n @ViewChild(\"logsPaginator\") logsPaginator: MatPaginator;\n\n _filterText = \"\";\n\n logs;\n\n displayedColumns: string[] = [ \"dateLogged\", \"userID\",\"fullName\",\"source\", \"details\"];\n\n public loadLogs() {\n this.dataService.GetLog(\"all\",\"\").subscribe(\n (apiResponse: ApiResponse) => {\n this.logs = new MatTableDataSource(apiResponse.dt);\n this.logs.paginator = this.logsPaginator;\n this.applyFilter(this._filterText);\n }\n );\n }\n\n applyFilter(filterValue: string) {\n this.logs.filter = filterValue.trim().toLowerCase();\n }\n\n\n}\n","import { Component, OnInit, Inject, ViewChild } from \"@angular/core\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { ApiResponse, Core,HttpService } from \"tin-core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { AddUserDialog } from './addUserDialog.component';\r\nimport { EditUserDialog } from './editUserDialog.component';\r\nimport { User } from '../../classes/Classes';\r\n\r\n\r\n\r\n@Component({\r\n selector: \"spa-users\",\r\n templateUrl: \"./users.component.html\",\r\n styleUrls: [\"./users.component.css\"],\r\n})\r\nexport class UsersComponent implements OnInit {\r\n constructor(private httpService: HttpService, public router: Router, private authService: AuthService, private dataService: DataService, public dialog: MatDialog, private messageService: MessageService) {}\r\n\r\n ngOnInit() {\r\n\r\n this.UpdateData();\r\n\r\n }\r\n\r\n isProcessing: boolean = false;\r\n @ViewChild(\"usersPaginator\") usersPaginator: MatPaginator;\r\n\r\n _filterText = \"\";\r\n\r\n users;\r\n // public myResponse;\r\n displayedColumns: string[] = [\"userID\", \"fullName\", \"roleName\", \"locked\", \"dateCreated\", \"Action\"];\r\n\r\n public UpdateData() {\r\n this.dataService.GetUser(\"all\",\"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n //this.myData = apiResponse;\r\n this.users = new MatTableDataSource(apiResponse.dt);\r\n this.users.paginator = this.usersPaginator;\r\n this.applyFilter(this._filterText);\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.users.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n createAccount() {\r\n\r\n this.router.navigate([\"home/admin/create-account\"]);\r\n\r\n }\r\n\r\n viewProfile(user: User) {\r\n\r\n this.dataService.tmpProfileUserID = user.userID;\r\n this.router.navigate([\"home/user/profile\"]);\r\n\r\n }\r\n\r\n lock(u: User){\r\n u.locked = \"1\";\r\n this.updateUser(u);\r\n }\r\n\r\n unlock(u: User){\r\n u.locked = \"0\";\r\n u.tries = \"0\";\r\n this.updateUser(u);\r\n }\r\n\r\n enable(u: User){\r\n u.disabled = \"0\";\r\n this.updateUser(u);\r\n }\r\n\r\n disable(u: User){\r\n u.disabled = \"1\";\r\n this.updateUser(u);\r\n }\r\n\r\n recover(u: User){\r\n\r\n\r\n\r\n this.dataService.SelfReset(u).subscribe((apiResponse: ApiResponse) => {\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"The password has been sent on email\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n\r\n}\r\n\r\n updateUser(user){\r\n this.isProcessing = true;\r\n this.dataService.UpdateUser(user, \"edit\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"User Updated\");\r\n\r\n this.UpdateData();\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n }\r\n );\r\n }\r\n\r\n deleteUser(user: User){\r\n\r\n\r\n this.messageService.confirm(`Delete ${user.userID} ?`).subscribe((result) => {\r\n\r\n if (result == \"yes\"){\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateUser(user, \"delete\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"User Deleted\");\r\n\r\n this.UpdateData();\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n }\r\n );\r\n\r\n }\r\n })\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","import { Component, OnInit, Inject, ViewChild } from \"@angular/core\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { User } from \"../../classes/Classes\";\r\nimport { ApiResponse, Core,HttpService } from \"tin-core\";\r\n// import { AuthService } from \"../../services/auth.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\n\r\n\r\n@Component({\r\n selector: \"spa-add-user\",\r\n templateUrl: \"./addUserDialog.component.html\",\r\n styleUrls: [\"./users.component.css\"],\r\n})\r\nexport class AddUserDialog implements OnInit {\r\n\r\n public currentCount = 0;\r\n user = new User();\r\n isProcessing: boolean = false;\r\n\r\n constructor(private dataserv: DataService, private messageService: MessageService, private dialogRef: MatDialogRef<AddUserDialog>) {}\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n\r\n\r\n\r\n public Signup() {\r\n\r\n // if (Core.emailIsValid(this.user.email)) {\r\n // this.messageService.toast(\"Invalid Email\");\r\n // return;\r\n // }\r\n\r\n this.user.dateCreated = Core.getFormatedDate(Core.nowDate());\r\n this.user.dateUpdated = Core.getFormatedDate(Core.nowDate());\r\n this.user.dateExpire = Core.getFormatedDate(Core.nowDate());\r\n\r\n this.isProcessing = true;\r\n this.dataserv.UpdateUser(this.user,\"add\").subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"User Added\");\r\n\r\n\r\n\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, Inject, ViewChild } from \"@angular/core\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { User } from \"../../classes/Classes\";\r\nimport { ApiResponse, Core,HttpService } from \"tin-core\";\r\nimport { MessageService } from \"../../services/message.service\";\r\n\r\n\r\n@Component({\r\n selector: \"spa-edit-user\",\r\n templateUrl: \"./editUserDialog.component.html\",\r\n styleUrls: [\"./users.component.css\"],\r\n})\r\nexport class EditUserDialog implements OnInit {\r\n\r\n constructor(private dataserv: DataService, private messageService: MessageService, private dialogRef: MatDialogRef<EditUserDialog>, @Inject(MAT_DIALOG_DATA) public data) {}\r\n\r\n ngOnInit() {\r\n // this.loadDepartments();\r\n // this.loadRoles();\r\n // this.loadLineManagers();\r\n this.user = this.data;\r\n }\r\n\r\n user = new User();\r\n\r\n public myData;\r\n public myResponse;\r\n departments;\r\n lineManagers;\r\n roles;\r\n isProcessing: boolean = false;\r\n\r\n myUser = new User();\r\n\r\n public unlock() {\r\n this.user.locked = \"0\";\r\n }\r\n\r\n public lock() {\r\n this.user.locked = \"1\";\r\n }\r\n\r\n public enable() {\r\n this.user.disabled = \"0\";\r\n }\r\n\r\n public disable() {\r\n this.user.disabled = \"1\";\r\n }\r\n\r\n // loadDepartments() {\r\n // this.dataserv.GetDepartment(\"all\", \"\").subscribe((myApiResponse) => {\r\n // this.departments = myApiResponse;\r\n // });\r\n // }\r\n\r\n // loadLineManagers() {\r\n // this.dataserv.GetLineManagers().subscribe((apiResponse: ApiResponse) => {\r\n // this.lineManagers = apiResponse.dt;\r\n // });\r\n // }\r\n\r\n // loadRoles() {\r\n // this.dataserv.GetRole(\"all\", \"\").subscribe((apiResponse: ApiResponse) => {\r\n // this.roles = apiResponse.dt;\r\n // });\r\n // }\r\n\r\n public Update() {\r\n\r\n this.isProcessing = true;\r\n this.dataserv.UpdateUser(this.user,\"edit\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"User Updated\");\r\n\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n }\r\n );\r\n }\r\n\r\n public DeleteUser() {\r\n\r\n this.isProcessing = true;\r\n this.dataserv.UpdateUser(this.user, \"delete\").subscribe((myData) => {\r\n this.isProcessing = false;\r\n\r\n this.myData = myData;\r\n this.myResponse = this.myData.message;\r\n if (this.myResponse == \"success\") {\r\n this.messageService.toast(this.user.userID + \" Deleted\");\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DataService } from '../../services/data.service';\r\n//import { AuthService } from '../../services/auth.service';\r\nimport { ApiResponse, Core } from 'tin-core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-viewRole',\r\n templateUrl: './viewRoleDialog.component.html',\r\n styleUrls: ['./roles.component.css']\r\n})\r\nexport class viewRoleDialog implements OnInit {\r\n\r\n constructor(private messageService: MessageService, private dataserv: DataService, private authserv: AuthService, private dialogRef: MatDialogRef<viewRoleDialog>, @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n ngOnInit() {\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n submit() {\r\n\r\n\r\n\r\n };\r\n};\r\n\r\n\r\n\r\n","import { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DataService } from '../../services/data.service';\r\n// import { AuthService } from '../../services/auth.service';\r\nimport { ApiResponse, Core } from 'tin-core';\r\nimport { Role } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'app-addRole',\r\n templateUrl: './addRoleDialog.component.html',\r\n styleUrls: ['./roles.component.css']\r\n})\r\nexport class addRoleDialog implements OnInit {\r\n\r\n constructor(private messageService: MessageService, private dataService: DataService, private authService: AuthService, private dialogRef: MatDialogRef<addRoleDialog>, @Inject(MAT_DIALOG_DATA) public data) { }\r\n ngOnInit() {\r\n this.capItems = this.data;\r\n }\r\n\r\n capItems;\r\n\r\n isProcessing: boolean;\r\n role = new Role();\r\n\r\n submit() {\r\n\r\n if (this.role.roleName == \"New Role\" || this.role.roleName == \"\"){\r\n this.messageService.toast(\"Please enter Role Name\");\r\n return;\r\n }\r\n\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateRole(this.role, \"add\").subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Role Added\");\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n\r\n\r\n }, error => {\r\n this.messageService.toast(\"Connection failed\");\r\n this.isProcessing = false;\r\n });\r\n\r\n };\r\n};\r\n\r\n\r\n\r\n","import { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DataService } from '../../services/data.service';\r\n// import { AuthService } from '../../services/auth.service';\r\nimport { ApiResponse, Core } from 'tin-core';\r\nimport { Role } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'app-editRole',\r\n templateUrl: './editRoleDialog.component.html',\r\n styleUrls: ['./roles.component.css']\r\n})\r\nexport class editRoleDialog implements OnInit {\r\n\r\n constructor(private messageService: MessageService, private dataserv: DataService, private authserv: AuthService, private dialogRef: MatDialogRef<editRoleDialog>, @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n ngOnInit() {\r\n this.role = this.data;\r\n this.isLoadComplete = true;\r\n }\r\n\r\n role = new Role;\r\n isLoadComplete: boolean = false;\r\n isProcessing: boolean;\r\n\r\n\r\n submit() {\r\n\r\n this.isProcessing = true;\r\n this.dataserv.UpdateRole(this.role, \"edit\").subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Role Updated\");\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n\r\n }, error => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n });\r\n\r\n };\r\n};\r\n\r\n\r\n\r\n","import { AppConfig } from './../../classes/Classes';\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { DataService } from \"../../services/data.service\";\r\n// import { AuthService } from \"../../services/auth.service\";\r\nimport { ApiResponse, Core, HttpService } from \"tin-core\";\r\nimport { Role, CapItem } from \"../../classes/Classes\";\r\nimport { viewRoleDialog } from \"./viewRoleDialog.component\";\r\nimport { addRoleDialog } from \"./addRoleDialog.component\";\r\nimport { editRoleDialog } from \"./editRoleDialog.component\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n\r\n@Component({\r\n selector: \"spa-roles\",\r\n templateUrl: \"./roles.component.html\",\r\n styleUrls: [\"./roles.component.css\"],\r\n})\r\nexport class RolesComponent implements OnInit {\r\n constructor(private httpService: HttpService, private router: Router, private authService: AuthService, private dataService: DataService, public dialog: MatDialog, private messageService: MessageService) {}\r\n\r\n ngOnInit() {\r\n\r\n this.loadRoles();\r\n\r\n }\r\n\r\n isProcessing = false;\r\n // myRole: Rolev2;\r\n roles: Role[];\r\n\r\n\r\n\r\n @Input() appConfig = new AppConfig();\r\n\r\n\r\n // _filterText = \"\";\r\n // applyFilter(filterValue: string) {\r\n // this.roles.filter = filterValue.trim().toLowerCase();\r\n // }\r\n\r\n\r\n loadRoles() {\r\n this.dataService.GetRole(\"all\", \"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.roles = apiResponse.dt;\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n }\r\n\r\n refresh() {\r\n this.loadRoles();\r\n }\r\n\r\n addRole() {\r\n const dialogRef = this.dialog.open(addRoleDialog, {\r\n width: \"1100px\",\r\n data: this.appConfig.capItems,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result == \"success\") {\r\n this.loadRoles();\r\n }\r\n });\r\n }\r\n\r\n viewRole(role: Role) {\r\n const dialogRef = this.dialog.open(viewRoleDialog, {\r\n width: \"1100px\",\r\n data: role,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result == \"success\") {\r\n this.loadRoles();\r\n }\r\n });\r\n }\r\n\r\n editRole(role: Role) {\r\n const dialogRef = this.dialog.open(editRoleDialog, {\r\n width: \"1100px\",\r\n data: role,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result == \"success\") {\r\n this.loadRoles();\r\n }\r\n });\r\n }\r\n\r\n updateRole(role: Role) {\r\n\r\n this.messageService.confirm(`UPDATE ${role.roleName} ?`).subscribe((result) => {\r\n\r\n if (result == \"yes\"){\r\n\r\n this.dataService\r\n .UpdateRole(role, \"edit\")\r\n .subscribe((apiResponse: ApiResponse) => {\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Role Updated\");\r\n this.loadRoles();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n\r\n }\r\n\r\n })\r\n\r\n\r\n };\r\n\r\n deleteRole(role: Role) {\r\n\r\n this.messageService.confirm(`DELETE ${role.roleName} ?`).subscribe((result) => {\r\n\r\n if (result == \"yes\"){\r\n\r\n this.dataService\r\n .UpdateRole(role, \"delete\")\r\n .subscribe((apiResponse: ApiResponse) => {\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Role Deleted\");\r\n this.loadRoles();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n\r\n }\r\n\r\n })\r\n\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-profiles',\r\n templateUrl: './profiles.component.html',\r\n styleUrls: ['./profiles.component.css']\r\n})\r\nexport class ProfilesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { DataService } from './../../services/data.service';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { ApiResponse, HttpService } from 'tin-core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { User, Profile, Account, AppConfig } from '../../classes/Classes';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'spa-create-account',\r\n templateUrl: './create-account.component.html',\r\n styleUrls: ['./create-account.component.css']\r\n})\r\nexport class CreateAccountComponent implements OnInit {\r\n\r\n constructor(private httpService: HttpService, private messageService: MessageService, private dataService: DataService, private authService: AuthService,public router: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n\r\n }\r\n\r\n @Input() appConfig = new AppConfig();\r\n\r\n isProcessing: boolean = false;\r\n user = new User();\r\n profile = new Profile();\r\n\r\n account = new Account();\r\n\r\n confirmPassword: string;\r\n\r\n openProfile: boolean = true;\r\n\r\n\r\ncreate(){\r\n\r\n this.account.user = this.user;\r\n this.account.profile = this.profile;\r\n\r\n this.profile.userID = this.user.userID;\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateAccount(this.account,\"add\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Account Created\");\r\n\r\n if (this.openProfile){\r\n this.viewProfile(this.user);\r\n }else{\r\n this.user = new User();\r\n this.profile = new Profile();\r\n this.confirmPassword = \"\";\r\n }\r\n\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n}\r\n\r\nviewProfile(user: User) {\r\n\r\n this.dataService.tmpProfileUserID = user.userID;\r\n this.router.navigate([\"home/user/profile\"]);\r\n\r\n}\r\n\r\n\r\n\r\n}\r\n","import { SettingsComponent } from '../components/settings/settings.component';\r\nimport { LogsComponent } from '../components/logs/logs.component';\r\nimport { SpaMatModule } from \"./spa-mat.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { UsersComponent } from \"../components/users/users.component\";\r\nimport { AddUserDialog } from \"../components/users/addUserDialog.component\";\r\nimport { EditUserDialog } from \"../components/users/editUserDialog.component\";\r\nimport { RolesComponent } from \"../components/roles/roles.component\";\r\nimport { addRoleDialog } from \"../components/roles/addRoleDialog.component\";\r\nimport { editRoleDialog } from \"../components/roles/editRoleDialog.component\";\r\nimport { ProfilesComponent } from \"../components/profiles/profiles.component\";\r\nimport { CreateAccountComponent } from \"../components/create-account/create-account.component\";\r\nimport { viewRoleDialog } from \"../components/roles/viewRoleDialog.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n UsersComponent,\r\n AddUserDialog,\r\n EditUserDialog,\r\n RolesComponent,\r\n addRoleDialog,\r\n editRoleDialog,\r\n viewRoleDialog,\r\n ProfilesComponent,\r\n CreateAccountComponent,\r\n LogsComponent,\r\n SettingsComponent\r\n ],\r\n\r\n entryComponents: [\r\n AddUserDialog,\r\n EditUserDialog,\r\n addRoleDialog,\r\n editRoleDialog,\r\n viewRoleDialog,\r\n ],\r\n\r\n imports: [\r\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SpaMatModule,\r\n ],\r\n\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n SpaMatModule,\r\n UsersComponent,\r\n AddUserDialog,\r\n EditUserDialog,\r\n RolesComponent,\r\n addRoleDialog,\r\n editRoleDialog,\r\n viewRoleDialog,\r\n ProfilesComponent,\r\n CreateAccountComponent,\r\n LogsComponent,\r\n SettingsComponent\r\n ],\r\n})\r\nexport class SpaAdminModule {}\r\n","/*\r\n * Public API Surface of tin-spa\r\n */\r\n\r\n\r\n//Services\r\nexport * from './lib/services/tin-spa.service';\r\nexport * from './lib/services/storage.service';\r\nexport * from './lib/services/message.service';\r\nexport * from './lib/services/export.service';\r\nexport * from './lib/services/auth.service';\r\nexport * from './lib/services/data.service';\r\nexport * from './lib/services/log.service';\r\n\r\n\r\n//classes\r\nexport * from './lib/classes/Classes';\r\n\r\n//modules\r\nexport * from './lib/tin-spa.module';\r\nexport * from './lib/modules/spa-mat.module'\r\nexport * from './lib/modules/spa-index.module'\r\nexport * from './lib/modules/spa-user.module'\r\nexport * from './lib/modules/spa-admin.module'\r\n\r\n\r\n//components\r\nexport * from './lib/components/tin-spa.component';\r\nexport * from './lib/components/table/table.component';\r\nexport * from './lib/components/tiles/tiles.component';\r\nexport * from './lib/components/date/date.component';\r\n\r\nexport * from './lib/components/text/text.component';\r\nexport * from './lib/components/datetime/datetime.component';\r\nexport * from './lib/components/select/select.component';\r\nexport * from './lib/components/attach/attach.component';\r\nexport * from './lib/components/check/check.component';\r\nexport * from './lib/components/viewer/viewer.component';\r\nexport * from './lib/components/money/money.component';\r\nexport * from './lib/components/chips/chips.component';\r\nexport * from './lib/components/activity/activity.component';\r\n\r\nexport * from './lib/components/message/messageDialog.component';\r\nexport * from './lib/components/loader/loader.component';\r\nexport * from './lib/components/users/users.component';\r\nexport * from './lib/components/users/addUserDialog.component';\r\nexport * from './lib/components/users/editUserDialog.component';\r\nexport * from './lib/components/login/login.component';\r\nexport * from './lib/components/nav-menu/nav-menu.component';\r\nexport * from './lib/components/roles/roles.component';\r\nexport * from './lib/components/roles/addRoleDialog.component';\r\nexport * from './lib/components/roles/editRoleDialog.component';\r\nexport * from './lib/components/roles/viewRoleDialog.component';\r\nexport * from './lib/components/signup/signup.component';\r\nexport * from './lib/components/change-password/change-password.component';\r\nexport * from './lib/components/profile/profile.component';\r\nexport * from './lib/components/profiles/profiles.component';\r\nexport * from './lib/components/recover-account/recover-account.component';\r\nexport * from './lib/components/create-account/create-account.component';\r\nexport * from './lib/components/timeout/timeout.component'\r\nexport * from './lib/components/logs/logs.component';\r\nexport * from './lib/components/settings/settings.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {viewerDialog as ɵc} from './lib/components/viewer/viewerDialog.component';\nexport {DndDirective as ɵa} from './lib/dnd.directive';\nexport {LoaderInterceptor as ɵd} from './lib/services/loader-interceptor.service';\nexport {LoaderService as ɵb} from './lib/services/loader.service';"],"names":["XLSX.utils","XLSX.write","FileSaver.saveAs"],"mappings":"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AAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;QACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;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"}
|