tin-spa 9.0.0 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/tin-spa.umd.js +4416 -1589
- package/bundles/tin-spa.umd.js.map +1 -1
- package/bundles/tin-spa.umd.min.js +2 -2
- package/bundles/tin-spa.umd.min.js.map +1 -1
- package/esm2015/lib/classes/Classes.js +58 -45
- package/esm2015/lib/classes/TinCore.js +137 -0
- package/esm2015/lib/components/activity/activity.component.js +84 -18
- package/esm2015/lib/components/attach/attach.component.js +101 -27
- package/esm2015/lib/components/change-password/change-password.component.js +122 -34
- package/esm2015/lib/components/check/check.component.js +39 -33
- package/esm2015/lib/components/chips/chips.component.js +75 -35
- package/esm2015/lib/components/create-account/create-account.component.js +124 -42
- package/esm2015/lib/components/date/date.component.js +54 -33
- package/esm2015/lib/components/datetime/datetime.component.js +43 -30
- package/esm2015/lib/components/filter/filter.component.js +64 -0
- package/esm2015/lib/components/html/html.component.js +30 -25
- package/esm2015/lib/components/label/label.component.js +109 -21
- package/esm2015/lib/components/loader/loader.component.js +43 -20
- package/esm2015/lib/components/login/login.component.js +194 -76
- package/esm2015/lib/components/logs/logs.component.js +180 -28
- package/esm2015/lib/components/message/messageDialog.component.js +128 -17
- package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
- package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
- package/esm2015/lib/components/money/money.component.js +141 -39
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +174 -21
- package/esm2015/lib/components/option/option.component.js +107 -40
- package/esm2015/lib/components/profile/profile.component.js +143 -53
- package/esm2015/lib/components/recover-account/recover-account.component.js +48 -26
- package/esm2015/lib/components/roles/addRoleDialog.component.js +99 -26
- package/esm2015/lib/components/roles/roles.component.js +153 -73
- package/esm2015/lib/components/select/select.component.js +108 -48
- package/esm2015/lib/components/settings/settings.component.js +76 -21
- package/esm2015/lib/components/signup/signup.component.js +107 -24
- package/esm2015/lib/components/steps/steps.component.js +47 -31
- package/esm2015/lib/components/table/table.component.js +301 -35
- package/esm2015/lib/components/text/text.component.js +146 -71
- package/esm2015/lib/components/tiles/tiles.component.js +75 -21
- package/esm2015/lib/components/timeout/timeout.component.js +65 -22
- package/esm2015/lib/components/tin-spa.component.js +19 -12
- package/esm2015/lib/components/users/users.component.js +308 -65
- package/esm2015/lib/components/viewer/viewer.component.js +64 -39
- package/esm2015/lib/components/viewer/viewerDialog.component.js +73 -18
- package/esm2015/lib/dnd.directive.js +30 -25
- package/esm2015/lib/modules/spa-admin.module.js +65 -51
- package/esm2015/lib/modules/spa-index.module.js +45 -20
- package/esm2015/lib/modules/spa-mat.module.js +40 -25
- package/esm2015/lib/modules/spa-user.module.js +43 -19
- package/esm2015/lib/services/auth.service.js +39 -50
- package/esm2015/lib/services/data.service.js +82 -49
- package/esm2015/lib/services/export.service.js +11 -11
- package/esm2015/lib/services/http.service.js +79 -0
- package/esm2015/lib/services/loader-interceptor.service.js +30 -30
- package/esm2015/lib/services/loader.service.js +11 -11
- package/esm2015/lib/services/log.service.js +12 -12
- package/esm2015/lib/services/message.service.js +11 -17
- package/esm2015/lib/services/storage.service.js +12 -11
- package/esm2015/lib/services/tin-spa.service.js +11 -11
- package/esm2015/lib/tin-spa.module.js +113 -48
- package/esm2015/public-api.js +4 -6
- package/esm2015/tin-spa.js +1 -5
- package/esm5/lib/classes/Classes.js +70 -55
- package/esm5/lib/classes/TinCore.js +164 -0
- package/esm5/lib/components/activity/activity.component.js +82 -15
- package/esm5/lib/components/attach/attach.component.js +100 -24
- package/esm5/lib/components/change-password/change-password.component.js +120 -31
- package/esm5/lib/components/check/check.component.js +37 -30
- package/esm5/lib/components/chips/chips.component.js +73 -32
- package/esm5/lib/components/create-account/create-account.component.js +122 -39
- package/esm5/lib/components/date/date.component.js +52 -30
- package/esm5/lib/components/datetime/datetime.component.js +41 -27
- package/esm5/lib/components/filter/filter.component.js +66 -0
- package/esm5/lib/components/html/html.component.js +28 -22
- package/esm5/lib/components/label/label.component.js +107 -18
- package/esm5/lib/components/loader/loader.component.js +41 -17
- package/esm5/lib/components/login/login.component.js +193 -74
- package/esm5/lib/components/logs/logs.component.js +178 -25
- package/esm5/lib/components/message/messageDialog.component.js +126 -14
- package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
- package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
- package/esm5/lib/components/money/money.component.js +139 -36
- package/esm5/lib/components/nav-menu/nav-menu.component.js +172 -18
- package/esm5/lib/components/option/option.component.js +105 -37
- package/esm5/lib/components/profile/profile.component.js +141 -50
- package/esm5/lib/components/recover-account/recover-account.component.js +46 -23
- package/esm5/lib/components/roles/addRoleDialog.component.js +97 -23
- package/esm5/lib/components/roles/roles.component.js +152 -72
- package/esm5/lib/components/select/select.component.js +106 -45
- package/esm5/lib/components/settings/settings.component.js +74 -18
- package/esm5/lib/components/signup/signup.component.js +105 -21
- package/esm5/lib/components/steps/steps.component.js +46 -28
- package/esm5/lib/components/table/table.component.js +299 -32
- package/esm5/lib/components/text/text.component.js +144 -68
- package/esm5/lib/components/tiles/tiles.component.js +73 -18
- package/esm5/lib/components/timeout/timeout.component.js +63 -19
- package/esm5/lib/components/tin-spa.component.js +16 -8
- package/esm5/lib/components/users/users.component.js +307 -62
- package/esm5/lib/components/viewer/viewer.component.js +62 -36
- package/esm5/lib/components/viewer/viewerDialog.component.js +71 -15
- package/esm5/lib/dnd.directive.js +28 -22
- package/esm5/lib/modules/spa-admin.module.js +63 -48
- package/esm5/lib/modules/spa-index.module.js +43 -17
- package/esm5/lib/modules/spa-mat.module.js +38 -22
- package/esm5/lib/modules/spa-user.module.js +41 -16
- package/esm5/lib/services/auth.service.js +37 -47
- package/esm5/lib/services/data.service.js +89 -55
- package/esm5/lib/services/export.service.js +9 -8
- package/esm5/lib/services/http.service.js +81 -0
- package/esm5/lib/services/loader-interceptor.service.js +28 -27
- package/esm5/lib/services/loader.service.js +9 -8
- package/esm5/lib/services/log.service.js +11 -9
- package/esm5/lib/services/message.service.js +9 -14
- package/esm5/lib/services/storage.service.js +10 -8
- package/esm5/lib/services/tin-spa.service.js +9 -8
- package/esm5/lib/tin-spa.module.js +111 -45
- package/esm5/public-api.js +4 -6
- package/esm5/tin-spa.js +1 -5
- package/fesm2015/tin-spa.js +4418 -1612
- package/fesm2015/tin-spa.js.map +1 -1
- package/fesm5/tin-spa.js +4442 -1612
- package/fesm5/tin-spa.js.map +1 -1
- package/lib/classes/Classes.d.ts +55 -43
- package/lib/classes/TinCore.d.ts +27 -0
- package/lib/components/activity/activity.component.d.ts +3 -5
- package/lib/components/attach/attach.component.d.ts +3 -5
- package/lib/components/change-password/change-password.component.d.ts +11 -9
- package/lib/components/check/check.component.d.ts +3 -5
- package/lib/components/chips/chips.component.d.ts +3 -5
- package/lib/components/create-account/create-account.component.d.ts +13 -13
- package/lib/components/date/date.component.d.ts +6 -7
- package/lib/components/datetime/datetime.component.d.ts +3 -5
- package/lib/components/filter/filter.component.d.ts +15 -0
- package/lib/components/html/html.component.d.ts +3 -5
- package/lib/components/label/label.component.d.ts +3 -5
- package/lib/components/loader/loader.component.d.ts +3 -5
- package/lib/components/login/login.component.d.ts +12 -14
- package/lib/components/logs/logs.component.d.ts +5 -9
- package/lib/components/message/messageDialog.component.d.ts +3 -5
- package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
- package/lib/components/money/currency-input-mask.module.d.ts +8 -0
- package/lib/components/money/money.component.d.ts +19 -8
- package/lib/components/nav-menu/nav-menu.component.d.ts +3 -5
- package/lib/components/option/option.component.d.ts +4 -5
- package/lib/components/profile/profile.component.d.ts +9 -11
- package/lib/components/recover-account/recover-account.component.d.ts +6 -8
- package/lib/components/roles/addRoleDialog.component.d.ts +5 -7
- package/lib/components/roles/roles.component.d.ts +6 -10
- package/lib/components/select/select.component.d.ts +4 -6
- package/lib/components/settings/settings.component.d.ts +5 -7
- package/lib/components/signup/signup.component.d.ts +6 -8
- package/lib/components/steps/steps.component.d.ts +3 -5
- package/lib/components/table/table.component.d.ts +3 -5
- package/lib/components/text/text.component.d.ts +4 -5
- package/lib/components/tiles/tiles.component.d.ts +3 -5
- package/lib/components/timeout/timeout.component.d.ts +3 -5
- package/lib/components/tin-spa.component.d.ts +3 -5
- package/lib/components/users/users.component.d.ts +8 -13
- package/lib/components/viewer/viewer.component.d.ts +3 -5
- package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
- package/lib/dnd.directive.d.ts +3 -5
- package/lib/modules/spa-admin.module.d.ts +13 -19
- package/lib/modules/spa-index.module.d.ts +10 -11
- package/lib/modules/spa-mat.module.d.ts +30 -32
- package/lib/modules/spa-user.module.d.ts +9 -10
- package/lib/services/auth.service.d.ts +14 -14
- package/lib/services/data.service.d.ts +28 -17
- package/lib/services/export.service.d.ts +3 -4
- package/lib/services/http.service.d.ts +22 -0
- package/lib/services/loader-interceptor.service.d.ts +3 -5
- package/lib/services/loader.service.d.ts +3 -4
- package/lib/services/log.service.d.ts +3 -4
- package/lib/services/message.service.d.ts +3 -4
- package/lib/services/storage.service.d.ts +3 -4
- package/lib/services/tin-spa.service.d.ts +3 -4
- package/lib/tin-spa.module.d.ts +35 -35
- package/package.json +2 -10
- package/public-api.d.ts +3 -5
- package/tin-spa.d.ts +1 -6
- package/__ivy_ngcc__/fesm2015/tin-spa.js +0 -6813
- package/__ivy_ngcc__/fesm2015/tin-spa.js.map +0 -1
- package/esm2015/lib/components/profiles/profiles.component.js +0 -16
- package/esm2015/lib/components/roles/editRoleDialog.component.js +0 -57
- package/esm2015/lib/components/roles/viewRoleDialog.component.js +0 -38
- package/esm2015/lib/components/users/addUserDialog.component.js +0 -53
- package/esm2015/lib/components/users/editUserDialog.component.js +0 -96
- package/esm5/lib/components/profiles/profiles.component.js +0 -18
- package/esm5/lib/components/roles/editRoleDialog.component.js +0 -59
- package/esm5/lib/components/roles/viewRoleDialog.component.js +0 -39
- package/esm5/lib/components/users/addUserDialog.component.js +0 -55
- package/esm5/lib/components/users/editUserDialog.component.js +0 -99
- package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +0 -39
- package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +0 -25
- package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +0 -13
- package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +0 -9
- package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +0 -29
- package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +0 -14
- package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +0 -30
- package/lib/components/profiles/profiles.component.d.ts +0 -10
- package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/components/roles/editRoleDialog.component.d.ts +0 -24
- package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +0 -29
- package/lib/components/roles/viewRoleDialog.component.d.ts +0 -20
- package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/settings/settings.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/signup/signup.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +0 -25
- package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +0 -37
- package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +0 -11
- package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +0 -21
- package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/components/users/addUserDialog.component.d.ts +0 -21
- package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/users/editUserDialog.component.d.ts +0 -32
- package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +0 -27
- package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +0 -35
- package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +0 -45
- package/lib/services/data.service.d.ts.__ivy_ngcc_bak +0 -23
- package/lib/services/export.service.d.ts.__ivy_ngcc_bak +0 -7
- package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +0 -18
- package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/services/log.service.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/services/message.service.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +0 -7
- package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +0 -3
- package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +0 -2
- package/tin-spa.d.ts.__ivy_ngcc_bak +0 -8
- package/tin-spa.metadata.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
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/components/html/html.component.ts","ng:/tin-spa/lib/components/option/option.component.ts","ng:/tin-spa/lib/components/label/label.component.ts","ng:/tin-spa/lib/components/steps/steps.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"],"names":["XLSX.utils","XLSX.write","FileSaver.saveAs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;AACzB,QAAI,IAAI,CAAC,MAAM,GA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","sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TinSpaService {\r\n\r\n constructor() { }\r\n}\r\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';\r\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 visible?: boolean;\r\n info?: string;\r\n}\r\n\r\nexport class Step{\r\n name:string\r\n icon: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 = true;\r\n this.localAuth = true;\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 localAuth: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 = \"\";\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';\r\nimport { logging } from 'protractor';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { LogLevel } from '../classes/Classes';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LogService {\r\n constructor() {}\r\n\r\n level: LogLevel = LogLevel.All;\r\n\r\n logToConsole: boolean = true;\r\n\r\n logToApi: boolean = false;\r\n\r\n debug(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Debug, optionalParams);\r\n }\r\n\r\n info(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Info, optionalParams);\r\n }\r\n\r\n warn(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Warn, optionalParams);\r\n }\r\n\r\n error(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Error, optionalParams);\r\n }\r\n\r\n fatal(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Fatal, optionalParams);\r\n }\r\n\r\n log(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.All, optionalParams);\r\n\r\n }\r\n\r\n private writeToLog(msg: string, level: LogLevel, params: any[]) {\r\n\r\n if (this.shouldLog(level)) {\r\n\r\n // Build log string\r\n let value: string = Core.getFormatedDate(Date(),false).replace(\"T\",\" \");\r\n // value += \" - Type: \" + LogLevel[this.level];\r\n value += \" - Message: \" + msg;\r\n\r\n\r\n if (params.length) {\r\n value += \" - Extra Info: \" + this.formatParams(params);\r\n }\r\n\r\n // Log the value\r\n if (this.logToConsole){\r\n console.log(value);\r\n }\r\n\r\n if (this.logToApi){\r\n //Call API post\r\n }\r\n\r\n }\r\n }\r\n\r\n private formatParams(params: any[]): string {\r\n\r\n let ret: string = params.join(\",\");\r\n // Is there at least one object in the array?\r\n if (params.some((p) => typeof p == \"object\")) {\r\n ret = \"\";\r\n // Build comma-delimited string\r\n for (let item of params) {\r\n ret += JSON.stringify(item) + \",\";\r\n }\r\n }\r\n return ret;\r\n }\r\n\r\n private shouldLog(level: LogLevel): boolean {\r\n\r\n let ret: boolean = false;\r\n\r\n if (\r\n (level >= this.level && level !== LogLevel.Off) ||\r\n this.level === LogLevel.All\r\n ) {\r\n ret = true;\r\n }\r\n\r\n return ret;\r\n }\r\n}\r\n\r\n\r\n\r\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 = new Role;\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 { AppConfig, 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 // public appConfig = new AppConfig; ///test\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';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoaderService {\r\n\r\n public isLoading = new BehaviorSubject(false);\r\n constructor() { }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { LoaderService } from '../../services/loader.service';\r\n\r\n@Component({\r\n selector: 'spa-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.css']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n constructor(private loaderService: LoaderService) {\r\n\r\n this.loaderService.isLoading.subscribe((v) => {\r\n // console.log(v);\r\n this.loading = v;\r\n });\r\n\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n @Input() logo = \"\";\r\n loading: boolean;\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n\r\n\r\n ],\r\n exports: [\r\n CommonModule,FormsModule, ReactiveFormsModule,\r\n MatMenuModule, MatSliderModule, MatTableModule, MatPaginatorModule,\r\n MatCheckboxModule, MatBadgeModule, MatButtonModule, MatIconModule, MatDialogModule, MatSnackBarModule,\r\n MatTabsModule, MatFormFieldModule, MatInputModule, MatCardModule, MatChipsModule, MatSelectModule,\r\n MatNativeDateModule, MatProgressSpinnerModule, MatListModule, MatAutocompleteModule, MatTooltipModule, MatSortModule,\r\n MatDatepickerModule, MatStepperModule, MatRadioModule,\r\n ],\r\n providers:[\r\n { provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: { disableClose: true, hasBackdrop: true } },\r\n { provide: MAT_DATE_LOCALE, useValue: \"en-GB\" },\r\n ]\r\n})\r\nexport class SpaMatModule { }\r\n","import { Router } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\nimport { MessageService } from './message.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpResponse, HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpErrorResponse} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { LoaderService } from './loader.service';\r\nimport { LogService } from './log.service';\r\n\r\n@Injectable()\r\nexport class LoaderInterceptor implements HttpInterceptor {\r\n private requests: HttpRequest<any>[] = [];\r\n\r\n constructor(private loaderService: LoaderService, private messageService: MessageService, private authService: AuthService, private router: Router, private logService: LogService) { }\r\n\r\n\r\n removeRequest(req: HttpRequest<any>) {\r\n const i = this.requests.indexOf(req);\r\n if (i >= 0) {\r\n this.requests.splice(i, 1);\r\n }\r\n this.loaderService.isLoading.next(this.requests.length > 0);\r\n }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n\r\n\r\n let requestClone = request.clone({\r\n setHeaders: {\r\n Authorization: \"Basic \" + btoa(this.authService.currentUser + \":\" + this.authService.tokenSource.value)\r\n // Authorization: \"Basic \" + btoa(this.authService.currentUser + \":\" + \"j5Toszfr@ys\")\r\n }\r\n });\r\n\r\n this.requests.push(requestClone);\r\n\r\n if (this.requests.length > 1){\r\n this.logService.info(\"Multiple connections detected > \" + this.requests.length)\r\n }\r\n\r\n // this.logService.info(\"Executed > \" + requestClone.url)\r\n\r\n\r\n this.loaderService.isLoading.next(true);\r\n\r\n return Observable.create(observer => {\r\n\r\n const subscription = next.handle(requestClone)\r\n .subscribe(\r\n event => {\r\n if (event instanceof HttpResponse) {\r\n this.removeRequest(requestClone);\r\n observer.next(event);\r\n }\r\n },\r\n (err: HttpErrorResponse) => {\r\n\r\n this.messageService.toast('error: ' + err.statusText)\r\n\r\n this.removeRequest(requestClone);\r\n observer.error(err);\r\n\r\n if (err.status === 401) {\r\n //request is unathorised\r\n this.router.navigate([\"login\"]);\r\n }\r\n\r\n },\r\n () => {\r\n this.removeRequest(requestClone);\r\n observer.complete();\r\n });\r\n\r\n\r\n // remove request from queue when cancelled\r\n return () => {\r\n this.removeRequest(requestClone);\r\n subscription.unsubscribe();\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: 'lib-tin-spa',\r\n template: `\r\n <p>\r\n tin-spa works!\r\n </p>\r\n `,\r\n styles: []\r\n})\r\nexport class TinSpaComponent 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 { 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';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActionResponse, Operator, TableColumnType, TableConfig } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'spa-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.css']\r\n})\r\nexport class TableComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n // console.log(\"Init\")\r\n this.config.columns.forEach(element => {\r\n this.displayedColumns.push(element.name);\r\n });\r\n\r\n this.displayedColumns.push(\"Action\")\r\n\r\n this.styleString = `width: ${50 * this.config.actions.length}px`;\r\n\r\n }\r\n\r\n ngOnChanges(){\r\n // console.log(\"OnChange\")\r\n this.data = new MatTableDataSource(this.data);\r\n this.data.paginator = this.tablePaginator;\r\n this.applyFilter(this._filterText);\r\n }\r\n\r\n\r\n @Input() config: TableConfig;\r\n @Input() data: any;\r\n @Output() dataChange = new EventEmitter();\r\n @Output() buttonClick = new EventEmitter();\r\n @Output() loadClick = new EventEmitter();\r\n @Output() createClick = new EventEmitter();\r\n\r\n @ViewChild('tablePaginator') tablePaginator: MatPaginator;\r\n\r\n colType = TableColumnType\r\n op = Operator\r\n\r\n displayedColumns: string[] = [];\r\n\r\n styleString: string;\r\n\r\n _filterText = \"\";\r\n applyFilter(filterValue: string) {\r\n this.data.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n do(name, item) {\r\n\r\n let resp = new ActionResponse();\r\n resp.name = name;\r\n resp.value = item;\r\n this.buttonClick.emit(resp);\r\n }\r\n\r\n\r\n create(){\r\n this.createClick.emit();\r\n }\r\n\r\n load(){\r\n this.loadClick.emit();\r\n }\r\n\r\n test(a:any, op: Operator, b: any){\r\n\r\n if (op == Operator.Equal){\r\n if (a == b){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n\r\n }\r\n\r\n if (op == Operator.Greater) {\r\n if (a > b) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n if (op == Operator.Less) {\r\n if (a < b) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n if (op == Operator.NotEqual) {\r\n if (a != b) {\r\n return true;\r\n } else {\r\n return 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","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Tile } from '../../classes/Classes';\r\n\r\n\r\n@Component({\r\n selector: 'spa-tiles',\r\n templateUrl: './tiles.component.html',\r\n styleUrls: ['./tiles.component.css']\r\n})\r\nexport class TilesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() tiles: Tile[];\r\n\r\n @Input() clickable: boolean = false;\r\n @Output() tileClick = new EventEmitter();\r\n\r\n selected: string = \"\";\r\n\r\n clicked(v: Tile){\r\n\r\n if(!this.clickable) return;\r\n\r\n\r\n if(this.selected == v.tileName){\r\n this.tileClick.emit(\"\");\r\n this.selected = \"\";\r\n }else{\r\n this.tileClick.emit(v.tileName);\r\n this.selected = v.tileName;\r\n }\r\n\r\n\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { EventEmitter } from 'protractor';\r\nimport { Core } from \"tin-core\";\r\n\r\n@Component({\r\n selector: 'spa-date',\r\n templateUrl: './date.component.html',\r\n styleUrls: ['./date.component.css']\r\n})\r\nexport class DateComponent implements OnInit {\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() date = new FormControl(new Date());\r\n @Input() display = \"\";\r\n @Input() readonly = false;\r\n\r\n currentYear = new Date().getFullYear();\r\n @Input() min = new FormControl(new Date(this.currentYear - 50, 0, 1));\r\n @Input() max = new FormControl(new Date(this.currentYear + 50, 0, 1));\r\n\r\n // @Output() dateChange = new EventEmitter();\r\n\r\n\r\n // minDate: Date = new Date(this.currentYear, 2, 2);\r\n // maxDate: Date = new Date(this.currentYear, 2, 10);\r\n\r\n\r\n onChangeEvent(d){\r\n // this.dateChange.emit(d);\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'spa-text',\r\n templateUrl: './text.component.html',\r\n styleUrls: ['./text.component.css']\r\n})\r\nexport class TextComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n if(this.options.length > 0){\r\n this.initFilter();\r\n }\r\n\r\n if (this.placeholder == \"\") {\r\n this.placeholder = this.display;\r\n }\r\n\r\n }\r\n\r\n ngAfterViewInit(){\r\n\r\n if (this.readonly) {\r\n this.control.setValidators(null);\r\n this.control.updateValueAndValidity();\r\n }\r\n if (!this.required && !this.readonly){\r\n\r\n this.control.setValidators([Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex)]);\r\n this.control.updateValueAndValidity();\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n // options: FormGroup;\r\n hideRequiredControl = new FormControl(true);\r\n\r\n @Input() readonly = false;\r\n @Input() hint = \"\";\r\n @Input() display = \"\";\r\n @Input() placeholder = \"\";\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n @Input() format = \"text\";\r\n\r\n @Output() leave = new EventEmitter();\r\n @Output() enterPress = new EventEmitter();\r\n\r\n @Input() rows = \"\";\r\n @Input() width = \"100%\"\r\n\r\n\r\n //Autocomplete items\r\n @Input() options: any = [];\r\n @Input() optionValue = \"\";\r\n @Input() optionDisplay = \"\";\r\n\r\n myControl = new FormControl();\r\n filteredOptions: Observable<string[]>;\r\n\r\n private initFilter() {\r\n this.filteredOptions = this.myControl.valueChanges.pipe(\r\n startWith(\"\"),\r\n map((value) => this._filter(value))\r\n );\r\n }\r\n\r\n private _filter(value: string): string[] {\r\n const filterValue = value.toLowerCase();\r\n\r\n return this.options.filter((option) => option[`${this.optionDisplay}`].toLowerCase().includes(filterValue));\r\n }\r\n\r\n\r\n\r\n\r\n\r\n //validations\r\n @Input() required = true;\r\n @Input() min = 0;\r\n @Input() max = 9000000000000000; //Math.max\r\n @Input() regex = \"\" //\"[a-zA-Z ]*\" //\"/\\S+@\\S+\\.\\S+/\";\r\n\r\n changed(){\r\n // console.log(\"value: \" + this.value)\r\n // console.log(\"cont: \" + this.myControl.value)\r\n\r\n // if (this.options.length > 0) {\r\n // this.value = this.myControl.value;\r\n // }\r\n\r\n this.valueChange.emit(this.value);\r\n\r\n }\r\n\r\n changed2() {\r\n // console.log(\"value: \" + this.value)\r\n // console.log(\"cont: \" + this.myControl.value)\r\n\r\n // if (this.options.length > 0) {\r\n // this.value = this.myControl.value;\r\n // }\r\n\r\n this.valueChange.emit(this.myControl.value);\r\n\r\n }\r\n\r\n leaved(){\r\n this.leave.emit();\r\n }\r\n\r\n enterPressed() {\r\n this.enterPress.emit();\r\n }\r\n\r\n control = new FormControl( this.value, [Validators.required, Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex) ]);\r\n\r\n validate() : string{\r\n\r\n\r\n if ((this.required || this.min > 0) && this.control.hasError('required') ){\r\n return `Required`;\r\n }\r\n\r\n if (this.control.hasError('minlength') ){\r\n return `Minimun length is ${this.min}`;\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Maximum length is ${this.max}`;\r\n }\r\n\r\n if (this.control.hasError('pattern')) {\r\n return `Invalid Input`;\r\n }\r\n\r\n\r\n // if (this.regex != \"\"){\r\n\r\n // let r = new RegExp(this.regex, \"g\");\r\n\r\n // if (!r.test(this.value)){\r\n // this.valid = false;\r\n // this.errorMessage = \"Invalid input\";\r\n // return this.errorMessage;\r\n // }\r\n // }\r\n\r\n return \"\";\r\n }\r\n\r\n}\r\n","//-------------------------------------------EDIT\r\n\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { HttpService } from 'tin-core';\r\n\r\n@Component({\r\n selector: 'app-editRequest',\r\n templateUrl: './viewerDialog.component.html',\r\n styleUrls: ['./viewer.component.css']\r\n})\r\nexport class viewerDialog implements OnInit {\r\n\r\n constructor(private httpService: HttpService, @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n ngOnInit() {\r\n\r\n this.fileNames = this.data.fileNames;\r\n this.path = this.data.path;\r\n this.fileName = this.data.fileName;\r\n this.currIndex = this.data.fileNames.indexOf(this.fileName);\r\n this.setURL();\r\n\r\n }\r\n\r\n isProcessing: boolean = false;\r\n\r\n path: string;\r\n fileNames = new Array();\r\n fileName: string;\r\n currIndex = 0;\r\n\r\n currentFileUrl = \"\";\r\n\r\n\r\n previous() {\r\n\r\n if (this.fileNames.length == 0) {\r\n return;\r\n }\r\n\r\n if (this.currIndex -1 >= 0)\r\n {\r\n this.currIndex = this.currIndex - 1;\r\n }\r\n else if (this.currIndex == 0)\r\n {\r\n this.currIndex = this.fileNames.length -1;\r\n }\r\n\r\n this.setURL();\r\n\r\n }\r\n\r\n next() {\r\n\r\n if (this.fileNames.length == 0){\r\n return;\r\n }\r\n\r\n if (this.currIndex +1 < this.fileNames.length)\r\n {\r\n this.currIndex = this.currIndex + 1;\r\n }\r\n else if (this.currIndex +1 > this.fileNames.length -1)\r\n {\r\n this.currIndex = 0;\r\n }\r\n\r\n this.setURL();\r\n\r\n }\r\n\r\n imageDoc = false;\r\n setURL() {\r\n // this.currentFileUrl = this.httpService.apiUrl.replace(\"/api/\", \"/files/\") + '' + \"/\" + this.files[this.currIndex];\r\n\r\n this.currentFileUrl = `${this.httpService.apiUrl.replace(\"/api/\", \"/\")}${this.path.replace(\"//\", \"/\")}/${this.fileNames[this.currIndex]}` ;\r\n\r\n if (this.currentFileUrl.toLocaleLowerCase().endsWith(\".pdf\") || this.currentFileUrl.toLocaleLowerCase().endsWith(\".jpg\") || this.currentFileUrl.toLocaleLowerCase().endsWith(\".jpeg\")){\r\n this.imageDoc = true;\r\n }else{\r\n this.imageDoc = false\r\n window.open(this.currentFileUrl, '_blank');\r\n\r\n }\r\n\r\n }\r\n\r\n change(fileName){\r\n\r\n this.currIndex = this.fileNames.indexOf(fileName);\r\n this.setURL();\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { viewerDialog } from './viewerDialog.component';\r\n\r\n@Component({\r\n selector: 'spa-viewer',\r\n templateUrl: './viewer.component.html',\r\n styleUrls: ['./viewer.component.css']\r\n})\r\nexport class ViewerComponent implements OnInit {\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n ngOnInit(): void {\r\n // console.log(`${this.dir}/${this.folderName}`)\r\n }\r\n\r\n\r\n @Input() dir = \"\";\r\n @Input() folderName=\"\";\r\n @Input() fileNames = new Array()\r\n @Input() removable = false;\r\n @Output() remove = new EventEmitter();\r\n @Input() display = \"Documents\";\r\n @Input() title = \"Documents\";\r\n\r\n // fileList: string[];\r\n\r\n\r\n viewDocs(fileName: string) {\r\n\r\n if (typeof fileName != 'string') {\r\n return;\r\n }\r\n\r\n\r\n // console.log(\"opening doc: \" + fileName)\r\n\r\n const dialogRef = this.dialog.open(viewerDialog, {\r\n minWidth: '1500px',\r\n maxWidth: '80vw',\r\n\r\n data: { fileNames: this.fileNames, fileName: fileName, path:`${this.dir}/${this.folderName}` }\r\n });\r\n\r\n }\r\n\r\n removed(i){\r\n this.remove.emit(i);\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.css']\r\n})\r\nexport class SelectComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n // this.displayValue = this.options.filter((m) => m.optionValue == this.value)\r\n // console.log(this.displayValue)\r\n // this.displayValue = this.value\r\n }\r\n\r\n ngOnChanges() {\r\n\r\n if (this.readonlyMode != \"\" && this.options.length > 0){\r\n this.displayValue = this.options.filter((m) => m[`${this.optionValue}`] == this.value)[0][`${this.optionDisplay}`]\r\n }\r\n\r\n }\r\n\r\n displayValue;\r\n\r\n @Input() width = \"100%\"\r\n @Input() readonly = false;\r\n @Input() readonlyMode = \"\";\r\n @Input() hint = \"\";\r\n\r\n\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Input() options: any;\r\n @Input() optionValue = \"\";\r\n @Input() optionDisplay = \"\";\r\n @Input() optionDisplayExtra = \"\";\r\n\r\n @Output() valueChange = new EventEmitter();\r\n\r\n\r\n\r\n changed(){\r\n this.valueChange.emit(this.value);\r\n\r\n }\r\n\r\n selectChanged(){\r\n\r\n }\r\n\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'spa-check',\r\n templateUrl: './check.component.html',\r\n styleUrls: ['./check.component.css']\r\n})\r\nexport class CheckComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() readonly = false;\r\n @Input() display = \"\";\r\n @Input() value = false;\r\n @Output() valueChange = new EventEmitter();\r\n @Output() click = new EventEmitter();\r\n @Output() check = new EventEmitter();\r\n @Output() uncheck = new EventEmitter();\r\n\r\n changed(){\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n clicked(){\r\n this.click.emit();\r\n\r\n if(!this.value){\r\n this.checked();\r\n }else{\r\n this.unchecked();\r\n }\r\n }\r\n\r\n checked(){\r\n this.check.emit();\r\n }\r\n unchecked(){\r\n this.uncheck.emit();\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'spa-attach',\r\n templateUrl: './attach.component.html',\r\n styleUrls: ['./attach.component.scss']\r\n})\r\nexport class AttachComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() message = \"Drag and drop files here\"\r\n @Input() files: any[] = [];\r\n @Output() filesChange = new EventEmitter();\r\n @Output() upload = new EventEmitter();\r\n\r\n\r\n @Input() enableUpload = false;\r\n\r\n\r\n /**\r\n * on file drop handler\r\n */\r\n onFileDropped($event) {\r\n this.prepareFilesList($event);\r\n }\r\n\r\n /**\r\n * handle file from browsing\r\n */\r\n fileBrowseHandler(files) {\r\n this.prepareFilesList(files);\r\n }\r\n\r\n /**\r\n * Delete file from files list\r\n * @param index (File index)\r\n */\r\n deleteFile(index: number) {\r\n this.files.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Simulate the upload process\r\n */\r\n // uploadFilesSimulator(index: number) {\r\n // setTimeout(() => {\r\n // if (index === this.files.length) {\r\n // return;\r\n // } else {\r\n // const progressInterval = setInterval(() => {\r\n // if (this.files[index].progress === 100) {\r\n // clearInterval(progressInterval);\r\n // this.uploadFilesSimulator(index + 1);\r\n // } else {\r\n // this.files[index].progress += 5;\r\n // }\r\n // }, 200);\r\n // }\r\n // }, 1000);\r\n // }\r\n\r\n /**\r\n * Convert Files list to normal array list\r\n * @param files (Files List)\r\n */\r\n prepareFilesList(files: Array<any>) {\r\n for (const item of files) {\r\n item.progress = 0;\r\n this.files.push(item);\r\n }\r\n // this.uploadFilesSimulator(0);\r\n }\r\n\r\n /**\r\n * format bytes\r\n * @param bytes (File size in bytes)\r\n * @param decimals (Decimals point)\r\n */\r\n formatBytes(bytes, decimals) {\r\n if (bytes === 0) {\r\n return '0 Bytes';\r\n }\r\n const k = 1024;\r\n const dm = decimals <= 0 ? 0 : decimals || 2;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n\r\n uploaded(){\r\n this.upload.emit();\r\n }\r\n\r\n filesChanged(){\r\n this.filesChange.emit(this.files);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-datetime',\r\n templateUrl: './datetime.component.html',\r\n styleUrls: ['./datetime.component.css']\r\n})\r\nexport class DatetimeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n @Input() readonly = false;\r\n\r\n @Input() min = \"01 jan 1900\";\r\n\r\n @Input() max = \"31 dec 9999\";\r\n\r\n changed() {\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// import { CurrencyPipe } from '@angular/common';\r\nimport { Core } from 'tin-core';\r\n\r\n@Component({\r\n selector: 'spa-money',\r\n templateUrl: './money.component.html',\r\n styleUrls: ['./money.component.css']\r\n})\r\nexport class MoneyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n }\r\n\r\n ngOnChanges() {\r\n\r\n }\r\n\r\n @Input() readonly = false;\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n\r\n @Input() width = \"100%\"\r\n @Input() hint = \"\";\r\n @Input() currency = \"$\";\r\n\r\n\r\n\r\n\r\n\r\n changed(){\r\n\r\n this.valueChange.emit(this.value);\r\n\r\n }\r\n\r\n\r\n}\r\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';\r\nimport { MessageService } from '../../services/message.service';\r\n@Component({\r\n selector: 'spa-chips',\r\n templateUrl: './chips.component.html',\r\n styleUrls: ['./chips.component.css']\r\n})\r\nexport class ChipsComponent implements OnInit {\r\n\r\n constructor(private messageService: MessageService) { }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n @Input() icon = \"\";\r\n @Input() removable = false;\r\n @Input() addable = false;\r\n\r\n\r\n\r\n @Input() chips: string[];\r\n // @Output() chipClick = new EventEmitter();\r\n\r\n @Output() click = new EventEmitter();\r\n\r\n @Output() remove = new EventEmitter();\r\n\r\n clicked(chip: string) {\r\n\r\n console.log(\"Clicked chip: \" + chip)\r\n\r\n if (typeof chip != 'string') {\r\n return;\r\n }\r\n\r\n if (chip) {\r\n this.click.emit(chip);\r\n }\r\n }\r\n\r\n\r\n removed(chip) {\r\n\r\n // const index = this.chips.indexOf(chip);\r\n\r\n // if (index >= 0) {\r\n // this.chips.splice(index, 1);\r\n // }\r\n\r\n this.messageService.confirm(`Remove ${chip} ?`).subscribe((result) => {\r\n if (result == \"yes\") {\r\n\r\n this.remove.emit(chip);\r\n\r\n };\r\n });\r\n\r\n }\r\n\r\n}\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-activity',\r\n templateUrl: './activity.component.html',\r\n styleUrls: ['./activity.component.css']\r\n})\r\nexport class ActivityComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() notes = new Array();\r\n notesMessage: string = \"Empty\";\r\n @Input() title = \"Notes\"\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\n\r\n@Component({\r\n selector: 'spa-html',\r\n templateUrl: './html.component.html',\r\n styleUrls: ['./html.component.css']\r\n})\r\nexport class HtmlComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n @Input() readonly = false;\r\n\r\n changed() {\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n ngOnChanges() {\r\n // console.log(\"OnChange\")\r\n this.config.editable = !this.readonly;\r\n\r\n }\r\n\r\n @Input() config: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: 'auto',\r\n minHeight: '5rem',\r\n placeholder: 'Enter text here...',\r\n translate: 'no',\r\n defaultParagraphSeparator: '',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n [\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strikeThrough',\r\n 'subscript',\r\n 'superscript',\r\n 'justifyLeft',\r\n 'justifyCenter',\r\n 'justifyRight',\r\n 'justifyFull',\r\n 'indent',\r\n 'outdent',\r\n 'insertUnorderedList',\r\n 'insertOrderedList',\r\n 'heading',\r\n 'fontName'\r\n ],\r\n [\r\n 'fontSize',\r\n 'textColor',\r\n 'backgroundColor',\r\n 'customClasses',\r\n 'link',\r\n 'unlink',\r\n 'insertImage',\r\n 'insertVideo',\r\n 'insertHorizontalRule',\r\n 'removeFormat',\r\n 'toggleEditorMode'\r\n ]\r\n ],\r\n customClasses: [\r\n {\r\n name: \"quote\",\r\n class: \"quote\",\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText'\r\n },\r\n {\r\n name: \"titleText\",\r\n class: \"titleText\",\r\n tag: \"h1\",\r\n },\r\n ]\r\n };\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-option',\r\n templateUrl: './option.component.html',\r\n styleUrls: ['./option.component.css']\r\n})\r\nexport class OptionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n\r\n @Input() options: any;\r\n @Input() optionValue = \"\";\r\n @Input() optionDisplay = \"\";\r\n @Input() readonly = false;\r\n\r\n @Input() value = \"\";\r\n @Input() display = \"\";\r\n @Input() show: boolean = false;\r\n\r\n\r\n @Output() valueChange = new EventEmitter();\r\n @Output() enterPress = new EventEmitter();\r\n\r\n changed() {\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n enterPressed(){\r\n this.valueChange.emit();\r\n }\r\n\r\n resetValue(){\r\n this.value = \"\";\r\n this.changed();\r\n\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-label',\r\n templateUrl: './label.component.html',\r\n styleUrls: ['./label.component.css']\r\n})\r\nexport class LabelComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Input() format = \"text\";\r\n\r\n}\r\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\r\nimport { Step } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'spa-steps',\r\n templateUrl: './steps.component.html',\r\n styleUrls: ['./steps.component.css'],\r\n providers: [{\r\n provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }\r\n }]\r\n})\r\nexport class StepsComponent implements OnInit, AfterViewInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n ngOnChanges() {\r\n // console.log(\"OnChange\")\r\n this.pushSteps();\r\n }\r\n\r\n @ViewChild('stepper') stepper: MatStepper;\r\n @Input() value = \"\";\r\n @Input() steps: Step[];\r\n\r\n setStepper() {\r\n\r\n if (this.value == \"\") return;\r\n\r\n // console.log(this.value)\r\n\r\n // this.stepper.disableRipple = true;\r\n this.stepper.selectedIndex = 0;\r\n\r\n switch (this.value) {\r\n\r\n\r\n\r\n case \"Draft\":\r\n this.stepper.selectedIndex = 0;\r\n break;\r\n\r\n case \"Head Approval\":\r\n this.pushStepper(1)\r\n break;\r\n\r\n case \"CE Approval\":\r\n this.pushStepper(2)\r\n break;\r\n\r\n case \"Booking\":\r\n this.pushStepper(3)\r\n break;\r\n\r\n case \"BTA Approval\":\r\n this.pushStepper(4)\r\n break;\r\n\r\n case \"Travel\":\r\n this.pushStepper(5)\r\n break;\r\n\r\n case \"BTR Approval\":\r\n this.pushStepper(6)\r\n break;\r\n\r\n case \"Travel Closure\":\r\n this.pushStepper(7)\r\n break;\r\n\r\n }\r\n\r\n }\r\n\r\n pushStepper(count: number) {\r\n\r\n for (let index = 0; index < count + 1; index++) {\r\n // const element = array[index];\r\n this.stepper.selectedIndex = index;\r\n // console.log(\"pushed\")\r\n\r\n }\r\n\r\n }\r\n\r\n pushSteps(){\r\n\r\n if(this.steps.length == 0) return;\r\n if (this.value == \"\") return;\r\n this.stepper.selectedIndex = 0;\r\n\r\n\r\n let i = 0;\r\n\r\n for (let step of this.steps) {\r\n\r\n if (step.name != this.value) {\r\n\r\n this.stepper.selectedIndex = i;\r\n i++;\r\n\r\n } else {\r\n\r\n this.stepper.selectedIndex = i;\r\n // console.log(\"Stopped\")\r\n break;\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n}\r\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\nimport { viewerDialog } from './components/viewer/viewerDialog.component';\r\nimport { HtmlComponent } from './components/html/html.component';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { OptionComponent } from './components/option/option.component';\r\nimport { LabelComponent } from './components/label/label.component';\r\nimport { StepsComponent } from './components/steps/steps.component';\r\n\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, HtmlComponent, OptionComponent, LabelComponent, StepsComponent ],\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 AngularEditorModule,\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 HtmlComponent,\r\n OptionComponent,\r\n LabelComponent,\r\n StepsComponent\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, AppConfig } 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 @Input() appConfig = new AppConfig();\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 return;\r\n }\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\r\n\r\n if (apiResponse.ds.dtUser[0][\"authType\"] == 'local' && !this.appConfig.localAuth){\r\n this.messageService.toast(\"Contact Admin: Authentication Type error\");\r\n return;\r\n }\r\n\r\n if (apiResponse.ds.dtUser[0][\"authType\"] == 'AD' && !this.appConfig.ADAuth) {\r\n this.messageService.toast(\"Contact Admin: Authentication Type error\");\r\n return;\r\n }\r\n\r\n\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\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { LoginComponent } from \"../components/login/login.component\";\r\nimport { SignupComponent } from \"../components/signup/signup.component\";\r\nimport { RecoverAccountComponent } from \"../components/recover-account/recover-account.component\";\r\n\r\n@NgModule({\r\n declarations: [LoginComponent, SignupComponent, RecoverAccountComponent],\r\n\r\n entryComponents: [],\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 LoginComponent,\r\n SignupComponent,\r\n RecoverAccountComponent,\r\n ],\r\n})\r\nexport class SpaIndexModule {}\r\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\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ChangePasswordComponent } from \"../components/change-password/change-password.component\";\r\nimport { ProfileComponent } from \"../components/profile/profile.component\";\r\n\r\n@NgModule({\r\n declarations: [ChangePasswordComponent, ProfileComponent],\r\n\r\n entryComponents: [],\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 ChangePasswordComponent,\r\n ProfileComponent,\r\n ],\r\n})\r\nexport class SpaUserModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DataService } from '../../services/data.service';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { ApiResponse } from 'tin-core';\r\n\r\n@Component({\r\n selector: 'spa-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.css']\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n\r\n constructor(private dataService: DataService, private messageService: MessageService) { }\r\n\r\n ngOnInit(): void {\r\n this.loadSettings();\r\n }\r\n\r\n _filterText = \"\";\r\n settings;\r\n isProcessing = false;\r\n\r\n applyFilter(filterValue: string) {\r\n this.settings.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n loadSettings(){\r\n this.dataService.GetSetting(\"all\", \"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.settings = apiResponse.dt;\r\n // this.applyFilter(this._filterText);\r\n }\r\n );\r\n\r\n }\r\n\r\n updateSetting(setting) {\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateSetting(setting, \"edit\").subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(`Setting ${setting.sName} Updated`);\r\n this.loadSettings();\r\n\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 addSetting() {\r\n\r\n // const dialogRef = this.dialog.open(addRoleDialog, {\r\n // width: \"1100px\",\r\n // data: \"\",\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 this.messageService.toast(\"Feature not Available\");\r\n\r\n }\r\n\r\n}\r\n","import { ApiResponse } from 'tin-core';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'spa-logs',\r\n templateUrl: './logs.component.html',\r\n styleUrls: ['./logs.component.css']\r\n})\r\nexport class LogsComponent implements OnInit {\r\n constructor( private authService: AuthService, private dataService: DataService,) {}\r\n\r\n ngOnInit() {\r\n this.loadLogs();\r\n }\r\n\r\n isProcessing: boolean = false;\r\n @ViewChild(\"logsPaginator\") logsPaginator: MatPaginator;\r\n\r\n _filterText = \"\";\r\n\r\n logs;\r\n\r\n displayedColumns: string[] = [ \"dateLogged\", \"userID\",\"fullName\",\"source\", \"details\"];\r\n\r\n public loadLogs() {\r\n this.dataService.GetLog(\"all\",\"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.logs = new MatTableDataSource(apiResponse.dt);\r\n this.logs.paginator = this.logsPaginator;\r\n this.applyFilter(this._filterText);\r\n }\r\n );\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.logs.filter = filterValue.trim().toLowerCase();\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 { 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';\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 { 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';\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-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 if(this.user.authType == \"\"){\r\n this.messageService.toast(\"Choose Authentication Type\");\r\n return;\r\n }\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/label/label.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\nexport * from './lib/components/html/html.component';\r\nexport * from './lib/components/option/option.component';\r\nexport * from './lib/components/steps/steps.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';"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
let ProfilesComponent = class ProfilesComponent {
|
|
4
|
-
constructor() { }
|
|
5
|
-
ngOnInit() {
|
|
6
|
-
}
|
|
7
|
-
};
|
|
8
|
-
ProfilesComponent = __decorate([
|
|
9
|
-
Component({
|
|
10
|
-
selector: 'spa-profiles',
|
|
11
|
-
template: "<h6></h6>\r\n<hr>\r\n",
|
|
12
|
-
styles: [""]
|
|
13
|
-
})
|
|
14
|
-
], ProfilesComponent);
|
|
15
|
-
export { ProfilesComponent };
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3Byb2ZpbGVzL3Byb2ZpbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU9sRCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQUU1QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztDQUVGLENBQUE7QUFQWSxpQkFBaUI7SUFMN0IsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGNBQWM7UUFDeEIsaUNBQXdDOztLQUV6QyxDQUFDO0dBQ1csaUJBQWlCLENBTzdCO1NBUFksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXByb2ZpbGVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2ZpbGVzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|