tin-spa 2.13.15 → 9.0.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/README.md +2 -2
- package/__ivy_ngcc__/fesm2015/tin-spa.js +6813 -0
- package/__ivy_ngcc__/fesm2015/tin-spa.js.map +1 -0
- package/bundles/tin-spa.umd.js +3867 -0
- package/bundles/tin-spa.umd.js.map +1 -0
- package/bundles/tin-spa.umd.min.js +16 -0
- package/bundles/tin-spa.umd.min.js.map +1 -0
- package/esm2015/lib/classes/Classes.js +241 -0
- package/esm2015/lib/components/activity/activity.component.js +26 -0
- package/esm2015/lib/components/attach/attach.component.js +107 -0
- package/esm2015/lib/components/change-password/change-password.component.js +91 -0
- package/esm2015/lib/components/check/check.component.js +63 -0
- package/esm2015/lib/components/chips/chips.component.js +67 -0
- package/esm2015/lib/components/create-account/create-account.component.js +78 -0
- package/esm2015/lib/components/date/date.component.js +45 -0
- package/esm2015/lib/components/datetime/datetime.component.js +44 -0
- package/esm2015/lib/components/html/html.component.js +97 -0
- package/esm2015/lib/components/label/label.component.js +29 -0
- package/esm2015/lib/components/loader/loader.component.js +30 -0
- package/esm2015/lib/components/login/login.component.js +122 -0
- package/esm2015/lib/components/logs/logs.component.js +43 -0
- package/esm2015/lib/components/message/messageDialog.component.js +31 -0
- package/esm2015/lib/components/money/money.component.js +50 -0
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +51 -0
- package/esm2015/lib/components/option/option.component.js +62 -0
- package/esm2015/lib/components/profile/profile.component.js +108 -0
- package/esm2015/lib/components/profiles/profiles.component.js +16 -0
- package/esm2015/lib/components/recover-account/recover-account.component.js +52 -0
- package/esm2015/lib/components/roles/addRoleDialog.component.js +59 -0
- package/esm2015/lib/components/roles/editRoleDialog.component.js +57 -0
- package/esm2015/lib/components/roles/roles.component.js +131 -0
- package/esm2015/lib/components/roles/viewRoleDialog.component.js +38 -0
- package/esm2015/lib/components/select/select.component.js +73 -0
- package/esm2015/lib/components/settings/settings.component.js +63 -0
- package/esm2015/lib/components/signup/signup.component.js +56 -0
- package/esm2015/lib/components/steps/steps.component.js +98 -0
- package/esm2015/lib/components/table/table.component.js +109 -0
- package/esm2015/lib/components/text/text.component.js +165 -0
- package/esm2015/lib/components/tiles/tiles.component.js +41 -0
- package/esm2015/lib/components/timeout/timeout.component.js +90 -0
- package/esm2015/lib/components/tin-spa.component.js +19 -0
- package/esm2015/lib/components/users/addUserDialog.component.js +53 -0
- package/esm2015/lib/components/users/editUserDialog.component.js +96 -0
- package/esm2015/lib/components/users/users.component.js +130 -0
- package/esm2015/lib/components/viewer/viewer.component.js +67 -0
- package/esm2015/lib/components/viewer/viewerDialog.component.js +76 -0
- package/esm2015/lib/dnd.directive.js +51 -0
- package/esm2015/lib/modules/spa-admin.module.js +67 -0
- package/esm2015/lib/modules/spa-index.module.js +33 -0
- package/esm2015/lib/modules/spa-mat.module.js +53 -0
- package/esm2015/lib/modules/spa-user.module.js +31 -0
- package/esm2015/lib/services/auth.service.js +153 -0
- package/esm2015/lib/services/data.service.js +78 -0
- package/esm2015/lib/services/export.service.js +29 -0
- package/esm2015/lib/services/loader-interceptor.service.js +77 -0
- package/esm2015/lib/services/loader.service.js +17 -0
- package/esm2015/lib/services/log.service.js +76 -0
- package/esm2015/lib/services/message.service.js +58 -0
- package/esm2015/lib/services/storage.service.js +42 -0
- package/esm2015/lib/services/tin-spa.service.js +14 -0
- package/esm2015/lib/tin-spa.module.js +91 -0
- package/esm2015/public-api.js +58 -0
- package/esm2015/tin-spa.js +9 -0
- package/esm5/lib/classes/Classes.js +298 -0
- package/esm5/lib/components/activity/activity.component.js +27 -0
- package/esm5/lib/components/attach/attach.component.js +119 -0
- package/esm5/lib/components/change-password/change-password.component.js +93 -0
- package/esm5/lib/components/check/check.component.js +64 -0
- package/esm5/lib/components/chips/chips.component.js +69 -0
- package/esm5/lib/components/create-account/create-account.component.js +80 -0
- package/esm5/lib/components/date/date.component.js +46 -0
- package/esm5/lib/components/datetime/datetime.component.js +45 -0
- package/esm5/lib/components/html/html.component.js +98 -0
- package/esm5/lib/components/label/label.component.js +30 -0
- package/esm5/lib/components/loader/loader.component.js +32 -0
- package/esm5/lib/components/login/login.component.js +125 -0
- package/esm5/lib/components/logs/logs.component.js +45 -0
- package/esm5/lib/components/message/messageDialog.component.js +32 -0
- package/esm5/lib/components/money/money.component.js +51 -0
- package/esm5/lib/components/nav-menu/nav-menu.component.js +53 -0
- package/esm5/lib/components/option/option.component.js +63 -0
- package/esm5/lib/components/profile/profile.component.js +112 -0
- package/esm5/lib/components/profiles/profiles.component.js +18 -0
- package/esm5/lib/components/recover-account/recover-account.component.js +54 -0
- package/esm5/lib/components/roles/addRoleDialog.component.js +61 -0
- package/esm5/lib/components/roles/editRoleDialog.component.js +59 -0
- package/esm5/lib/components/roles/roles.component.js +138 -0
- package/esm5/lib/components/roles/viewRoleDialog.component.js +39 -0
- package/esm5/lib/components/select/select.component.js +75 -0
- package/esm5/lib/components/settings/settings.component.js +66 -0
- package/esm5/lib/components/signup/signup.component.js +58 -0
- package/esm5/lib/components/steps/steps.component.js +110 -0
- package/esm5/lib/components/table/table.component.js +111 -0
- package/esm5/lib/components/text/text.component.js +168 -0
- package/esm5/lib/components/tiles/tiles.component.js +42 -0
- package/esm5/lib/components/timeout/timeout.component.js +92 -0
- package/esm5/lib/components/tin-spa.component.js +17 -0
- package/esm5/lib/components/users/addUserDialog.component.js +55 -0
- package/esm5/lib/components/users/editUserDialog.component.js +99 -0
- package/esm5/lib/components/users/users.component.js +135 -0
- package/esm5/lib/components/viewer/viewer.component.js +68 -0
- package/esm5/lib/components/viewer/viewerDialog.component.js +77 -0
- package/esm5/lib/dnd.directive.js +52 -0
- package/esm5/lib/modules/spa-admin.module.js +70 -0
- package/esm5/lib/modules/spa-index.module.js +36 -0
- package/esm5/lib/modules/spa-mat.module.js +56 -0
- package/esm5/lib/modules/spa-user.module.js +34 -0
- package/esm5/lib/services/auth.service.js +155 -0
- package/esm5/lib/services/data.service.js +79 -0
- package/esm5/lib/services/export.service.js +30 -0
- package/esm5/lib/services/loader-interceptor.service.js +79 -0
- package/esm5/lib/services/loader.service.js +18 -0
- package/esm5/lib/services/log.service.js +112 -0
- package/esm5/lib/services/message.service.js +59 -0
- package/esm5/lib/services/storage.service.js +74 -0
- package/esm5/lib/services/tin-spa.service.js +16 -0
- package/esm5/lib/tin-spa.module.js +94 -0
- package/esm5/public-api.js +58 -0
- package/esm5/tin-spa.js +9 -0
- package/fesm2015/tin-spa.js +3398 -0
- package/fesm2015/tin-spa.js.map +1 -0
- package/fesm5/tin-spa.js +3623 -0
- package/fesm5/tin-spa.js.map +1 -0
- package/lib/classes/Classes.d.ts +216 -375
- package/lib/components/activity/activity.component.d.ts +5 -3
- package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +8 -0
- package/lib/components/attach/attach.component.d.ts +30 -16
- package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +39 -0
- package/lib/components/change-password/change-password.component.d.ts +25 -0
- package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +20 -0
- package/lib/components/check/check.component.d.ts +6 -9
- package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +16 -0
- package/lib/components/chips/chips.component.d.ts +5 -3
- package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +15 -0
- package/lib/components/create-account/create-account.component.d.ts +30 -0
- package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +25 -0
- package/lib/components/date/date.component.d.ts +15 -26
- package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +13 -0
- package/lib/components/datetime/datetime.component.d.ts +5 -7
- package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +12 -0
- package/lib/components/html/html.component.d.ts +13 -12
- package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +12 -0
- package/lib/components/label/label.component.d.ts +5 -5
- package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +8 -0
- package/lib/components/loader/loader.component.d.ts +5 -3
- package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +9 -0
- package/lib/components/login/login.component.d.ts +34 -0
- package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +29 -0
- package/lib/components/logs/logs.component.d.ts +22 -0
- package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +17 -0
- package/lib/components/message/messageDialog.component.d.ts +5 -3
- package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +12 -0
- package/lib/components/money/money.component.d.ts +8 -29
- package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +14 -0
- package/lib/components/nav-menu/nav-menu.component.d.ts +7 -23
- package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +17 -0
- package/lib/components/option/option.component.d.ts +6 -16
- package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +17 -0
- package/lib/components/profile/profile.component.d.ts +35 -0
- package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +30 -0
- package/lib/components/profiles/profiles.component.d.ts +10 -0
- package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +5 -0
- package/lib/components/recover-account/recover-account.component.d.ts +20 -0
- package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +15 -0
- package/lib/components/roles/addRoleDialog.component.d.ts +24 -0
- package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +19 -0
- package/lib/components/roles/editRoleDialog.component.d.ts +24 -0
- package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +19 -0
- package/lib/components/roles/roles.component.d.ts +34 -0
- package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +29 -0
- package/lib/components/roles/viewRoleDialog.component.d.ts +20 -0
- package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +15 -0
- package/lib/components/select/select.component.d.ts +23 -21
- package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +20 -0
- package/lib/components/settings/settings.component.d.ts +21 -0
- package/lib/{pages/settings/settings.component.d.ts → components/settings/settings.component.d.ts.__ivy_ngcc_bak} +2 -5
- package/lib/components/signup/signup.component.d.ts +25 -0
- package/lib/{pages/signup/signup.component.d.ts → components/signup/signup.component.d.ts.__ivy_ngcc_bak} +4 -7
- package/lib/components/steps/steps.component.d.ts +13 -20
- package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +15 -0
- package/lib/components/table/table.component.d.ts +24 -85
- package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +25 -0
- package/lib/components/text/text.component.d.ts +17 -38
- package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +37 -0
- package/lib/components/tiles/tiles.component.d.ts +10 -22
- package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +11 -0
- package/lib/components/timeout/timeout.component.d.ts +26 -0
- package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +21 -0
- package/lib/components/tin-spa.component.d.ts +9 -4
- package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +5 -0
- package/lib/components/users/addUserDialog.component.d.ts +21 -0
- package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +16 -0
- package/lib/components/users/editUserDialog.component.d.ts +32 -0
- package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +27 -0
- package/lib/components/users/users.component.d.ts +40 -0
- package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +35 -0
- package/lib/components/viewer/viewer.component.d.ts +8 -12
- package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +16 -0
- package/lib/components/viewer/viewerDialog.component.d.ts +8 -8
- package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +19 -0
- package/lib/dnd.directive.d.ts +13 -0
- package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +8 -0
- package/lib/modules/spa-admin.module.d.ts +19 -13
- package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +2 -0
- package/lib/modules/spa-index.module.d.ts +11 -11
- package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +2 -0
- package/lib/modules/spa-mat.module.d.ts +32 -36
- package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +2 -0
- package/lib/modules/spa-user.module.d.ts +10 -9
- package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +2 -0
- package/lib/services/auth.service.d.ts +15 -27
- package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +45 -0
- package/lib/services/data.service.d.ts +27 -0
- package/lib/services/data.service.d.ts.__ivy_ngcc_bak +23 -0
- package/lib/services/export.service.d.ts +8 -3
- package/lib/services/export.service.d.ts.__ivy_ngcc_bak +7 -0
- package/lib/services/loader-interceptor.service.d.ts +6 -5
- package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +18 -0
- package/lib/services/loader.service.d.ts +4 -3
- package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +5 -0
- package/lib/services/log.service.d.ts +5 -4
- package/lib/services/log.service.d.ts.__ivy_ngcc_bak +16 -0
- package/lib/services/message.service.d.ts +5 -5
- package/lib/services/message.service.d.ts.__ivy_ngcc_bak +12 -0
- package/lib/services/storage.service.d.ts +4 -3
- package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +7 -0
- package/lib/services/tin-spa.service.d.ts +4 -3
- package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +3 -0
- package/lib/tin-spa.module.d.ts +35 -84
- package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +2 -0
- package/package.json +23 -23
- package/public-api.d.ts +21 -50
- package/tin-spa.d.ts +10 -0
- package/tin-spa.d.ts.__ivy_ngcc_bak +8 -0
- package/tin-spa.metadata.json +1 -0
- package/esm2020/lib/classes/Classes.mjs +0 -112
- package/esm2020/lib/classes/LibClasses.mjs +0 -180
- package/esm2020/lib/classes/TinCore.mjs +0 -568
- package/esm2020/lib/components/activity/activity.component.mjs +0 -24
- package/esm2020/lib/components/alert/alert.component.mjs +0 -43
- package/esm2020/lib/components/attach/attach.component.mjs +0 -102
- package/esm2020/lib/components/capsules/capsules.component.mjs +0 -63
- package/esm2020/lib/components/cards/cards.component.mjs +0 -103
- package/esm2020/lib/components/check/check.component.mjs +0 -67
- package/esm2020/lib/components/chips/chips.component.mjs +0 -58
- package/esm2020/lib/components/date/date.component.mjs +0 -103
- package/esm2020/lib/components/datetime/datetime.component.mjs +0 -55
- package/esm2020/lib/components/email/email.component.mjs +0 -133
- package/esm2020/lib/components/filter/filter.component.mjs +0 -58
- package/esm2020/lib/components/form/form.component.mjs +0 -296
- package/esm2020/lib/components/html/html.component.mjs +0 -34
- package/esm2020/lib/components/label/label.component.mjs +0 -31
- package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +0 -68
- package/esm2020/lib/components/loader/loader.component.mjs +0 -25
- package/esm2020/lib/components/message/messageDialog.component.mjs +0 -33
- package/esm2020/lib/components/money/currency-input-mask.directive.mjs +0 -185
- package/esm2020/lib/components/money/currency-input-mask.module.mjs +0 -28
- package/esm2020/lib/components/money/money.component.mjs +0 -137
- package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -165
- package/esm2020/lib/components/multi-text/multi-text.component.mjs +0 -208
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +0 -88
- package/esm2020/lib/components/notes/notes.component.mjs +0 -62
- package/esm2020/lib/components/number/number.component.mjs +0 -131
- package/esm2020/lib/components/option/option.component.mjs +0 -92
- package/esm2020/lib/components/page/page.component.mjs +0 -101
- package/esm2020/lib/components/search/search.component.mjs +0 -36
- package/esm2020/lib/components/select/select.component.mjs +0 -75
- package/esm2020/lib/components/select-bitwise/select-bitwise.component.mjs +0 -87
- package/esm2020/lib/components/select-common/select-common.component.mjs +0 -206
- package/esm2020/lib/components/select-internal/select-internal.component.mjs +0 -75
- package/esm2020/lib/components/select-lite/select-lite.component.mjs +0 -18
- package/esm2020/lib/components/statuses/statuses.component.mjs +0 -44
- package/esm2020/lib/components/steps/steps.component.mjs +0 -112
- package/esm2020/lib/components/suffix/suffix.component.mjs +0 -70
- package/esm2020/lib/components/table/detailsDialog.component.mjs +0 -406
- package/esm2020/lib/components/table/table.component.mjs +0 -440
- package/esm2020/lib/components/table-action/table-action.component.mjs +0 -80
- package/esm2020/lib/components/table-header/table-header.component.mjs +0 -148
- package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +0 -406
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +0 -441
- package/esm2020/lib/components/table-lite/detailsDialog-lite.component.mjs +0 -404
- package/esm2020/lib/components/table-lite/table-lite.component.mjs +0 -441
- package/esm2020/lib/components/table-row/table-row.component.mjs +0 -93
- package/esm2020/lib/components/tabs/tabs.component.mjs +0 -74
- package/esm2020/lib/components/text/text.component.mjs +0 -255
- package/esm2020/lib/components/tiles/tiles.component.mjs +0 -99
- package/esm2020/lib/components/tin-spa.component.mjs +0 -19
- package/esm2020/lib/components/viewer/viewer.component.mjs +0 -83
- package/esm2020/lib/components/viewer/viewerDialog.component.mjs +0 -95
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +0 -71
- package/esm2020/lib/modules/admin/admin.module.mjs +0 -26
- package/esm2020/lib/modules/index/index-routing.module.mjs +0 -27
- package/esm2020/lib/modules/index/index.module.mjs +0 -26
- package/esm2020/lib/modules/spa-admin.module.mjs +0 -71
- package/esm2020/lib/modules/spa-index.module.mjs +0 -54
- package/esm2020/lib/modules/spa-mat.module.mjs +0 -84
- package/esm2020/lib/modules/spa-user.module.mjs +0 -47
- package/esm2020/lib/modules/user/user-routing.module.mjs +0 -23
- package/esm2020/lib/modules/user/user.module.mjs +0 -26
- package/esm2020/lib/pages/accounts/accountDialog.component.mjs +0 -56
- package/esm2020/lib/pages/accounts/accounts.component.mjs +0 -70
- package/esm2020/lib/pages/app-models/app-models.component.mjs +0 -56
- package/esm2020/lib/pages/approvals/approvals.component.mjs +0 -19
- package/esm2020/lib/pages/approvals-config/approvals-config.component.mjs +0 -165
- package/esm2020/lib/pages/bug/bug.component.mjs +0 -14
- package/esm2020/lib/pages/change-password/change-password.component.mjs +0 -92
- package/esm2020/lib/pages/create-account/create-account.component.mjs +0 -110
- package/esm2020/lib/pages/customers/customers.component.mjs +0 -21
- package/esm2020/lib/pages/departments/departments.component.mjs +0 -22
- package/esm2020/lib/pages/employees/employees.component.mjs +0 -20
- package/esm2020/lib/pages/grades/grades.component.mjs +0 -14
- package/esm2020/lib/pages/inventory/inventory.component.mjs +0 -99
- package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +0 -53
- package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +0 -71
- package/esm2020/lib/pages/login/login.component.mjs +0 -166
- package/esm2020/lib/pages/logs/logs.component.mjs +0 -42
- package/esm2020/lib/pages/membership/membership.component.mjs +0 -44
- package/esm2020/lib/pages/notifications/notifications.component.mjs +0 -90
- package/esm2020/lib/pages/notifications-config/notifications-config.component.mjs +0 -113
- package/esm2020/lib/pages/plans/plans.component.mjs +0 -44
- package/esm2020/lib/pages/positions/positions.component.mjs +0 -21
- package/esm2020/lib/pages/profile/profile.component.mjs +0 -94
- package/esm2020/lib/pages/recover-account/recover-account.component.mjs +0 -46
- package/esm2020/lib/pages/roles/addRoleDialog.component.mjs +0 -60
- package/esm2020/lib/pages/roles/roles.component.mjs +0 -151
- package/esm2020/lib/pages/settings/settings.component.mjs +0 -54
- package/esm2020/lib/pages/signup/signup.component.mjs +0 -50
- package/esm2020/lib/pages/suppliers/suppliers.component.mjs +0 -22
- package/esm2020/lib/pages/tasks/tasks.component.mjs +0 -86
- package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +0 -228
- package/esm2020/lib/pages/tenants/tenants.component.mjs +0 -47
- package/esm2020/lib/pages/transactions/transactDialog.component.mjs +0 -80
- package/esm2020/lib/pages/transactions/transactions.component.mjs +0 -101
- package/esm2020/lib/pages/users/users.component.mjs +0 -167
- package/esm2020/lib/pages/welcome/welcome.component.mjs +0 -86
- package/esm2020/lib/pipes/camelToWords.pipe.mjs +0 -17
- package/esm2020/lib/select-context.directive.mjs +0 -23
- package/esm2020/lib/services/auth.service.mjs +0 -175
- package/esm2020/lib/services/button.service.mjs +0 -162
- package/esm2020/lib/services/condition.service.mjs +0 -32
- package/esm2020/lib/services/csv.service.mjs +0 -49
- package/esm2020/lib/services/datalib.service.mjs +0 -860
- package/esm2020/lib/services/dialog.service.mjs +0 -125
- package/esm2020/lib/services/export.service.mjs +0 -16
- package/esm2020/lib/services/http.service.mjs +0 -79
- package/esm2020/lib/services/loader-interceptor.service.mjs +0 -86
- package/esm2020/lib/services/loader.service.mjs +0 -17
- package/esm2020/lib/services/log.service.mjs +0 -77
- package/esm2020/lib/services/message.service.mjs +0 -59
- package/esm2020/lib/services/notifications.service.mjs +0 -33
- package/esm2020/lib/services/storage.service.mjs +0 -34
- package/esm2020/lib/services/table-config.service.mjs +0 -78
- package/esm2020/lib/services/tin-spa.service.mjs +0 -14
- package/esm2020/lib/tin-spa.module.mjs +0 -225
- package/esm2020/public-api.mjs +0 -90
- package/esm2020/tin-spa.mjs +0 -5
- package/fesm2015/tin-spa.mjs +0 -11736
- package/fesm2015/tin-spa.mjs.map +0 -1
- package/fesm2020/tin-spa.mjs +0 -11738
- package/fesm2020/tin-spa.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/classes/LibClasses.d.ts +0 -173
- package/lib/classes/TinCore.d.ts +0 -59
- package/lib/components/alert/alert.component.d.ts +0 -15
- package/lib/components/capsules/capsules.component.d.ts +0 -26
- package/lib/components/cards/cards.component.d.ts +0 -39
- package/lib/components/email/email.component.d.ts +0 -40
- package/lib/components/filter/filter.component.d.ts +0 -20
- package/lib/components/form/form.component.d.ts +0 -47
- package/lib/components/list-dialog/list-dialog.component.d.ts +0 -23
- package/lib/components/money/currency-input-mask.directive.d.ts +0 -41
- package/lib/components/money/currency-input-mask.module.d.ts +0 -9
- package/lib/components/multi-select/multi-select.component.d.ts +0 -47
- package/lib/components/multi-text/multi-text.component.d.ts +0 -56
- package/lib/components/notes/notes.component.d.ts +0 -19
- package/lib/components/number/number.component.d.ts +0 -41
- package/lib/components/page/page.component.d.ts +0 -38
- package/lib/components/search/search.component.d.ts +0 -15
- package/lib/components/select-bitwise/select-bitwise.component.d.ts +0 -31
- package/lib/components/select-common/select-common.component.d.ts +0 -53
- package/lib/components/select-internal/select-internal.component.d.ts +0 -23
- package/lib/components/select-lite/select-lite.component.d.ts +0 -8
- package/lib/components/statuses/statuses.component.d.ts +0 -12
- package/lib/components/suffix/suffix.component.d.ts +0 -23
- package/lib/components/table/detailsDialog.component.d.ts +0 -86
- package/lib/components/table-action/table-action.component.d.ts +0 -25
- package/lib/components/table-header/table-header.component.d.ts +0 -46
- package/lib/components/table-internal/detailsDialog-internal.component.d.ts +0 -86
- package/lib/components/table-internal/table-internal.component.d.ts +0 -91
- package/lib/components/table-lite/detailsDialog-lite.component.d.ts +0 -86
- package/lib/components/table-lite/table-lite.component.d.ts +0 -91
- package/lib/components/table-row/table-row.component.d.ts +0 -31
- package/lib/components/tabs/tabs.component.d.ts +0 -32
- package/lib/modules/admin/admin-routing.module.d.ts +0 -7
- package/lib/modules/admin/admin.module.d.ts +0 -9
- package/lib/modules/index/index-routing.module.d.ts +0 -7
- package/lib/modules/index/index.module.d.ts +0 -9
- package/lib/modules/user/user-routing.module.d.ts +0 -7
- package/lib/modules/user/user.module.d.ts +0 -9
- package/lib/pages/accounts/accountDialog.component.d.ts +0 -27
- package/lib/pages/accounts/accounts.component.d.ts +0 -25
- package/lib/pages/app-models/app-models.component.d.ts +0 -15
- package/lib/pages/approvals/approvals.component.d.ts +0 -10
- package/lib/pages/approvals-config/approvals-config.component.d.ts +0 -24
- package/lib/pages/bug/bug.component.d.ts +0 -8
- package/lib/pages/change-password/change-password.component.d.ts +0 -27
- package/lib/pages/create-account/create-account.component.d.ts +0 -34
- package/lib/pages/customers/customers.component.d.ts +0 -12
- package/lib/pages/departments/departments.component.d.ts +0 -14
- package/lib/pages/employees/employees.component.d.ts +0 -12
- package/lib/pages/grades/grades.component.d.ts +0 -8
- package/lib/pages/inventory/inventory.component.d.ts +0 -25
- package/lib/pages/inventory/quantityDialog.component.d.ts +0 -23
- package/lib/pages/invitations-table/invitations-table.component.d.ts +0 -19
- package/lib/pages/login/login.component.d.ts +0 -46
- package/lib/pages/logs/logs.component.d.ts +0 -14
- package/lib/pages/membership/membership.component.d.ts +0 -13
- package/lib/pages/notifications/notifications.component.d.ts +0 -16
- package/lib/pages/notifications-config/notifications-config.component.d.ts +0 -17
- package/lib/pages/plans/plans.component.d.ts +0 -13
- package/lib/pages/positions/positions.component.d.ts +0 -12
- package/lib/pages/profile/profile.component.d.ts +0 -35
- package/lib/pages/recover-account/recover-account.component.d.ts +0 -18
- package/lib/pages/roles/addRoleDialog.component.d.ts +0 -24
- package/lib/pages/roles/roles.component.d.ts +0 -42
- package/lib/pages/suppliers/suppliers.component.d.ts +0 -14
- package/lib/pages/tasks/tasks.component.d.ts +0 -27
- package/lib/pages/tenant-settings/tenant-settings.component.d.ts +0 -47
- package/lib/pages/tenants/tenants.component.d.ts +0 -17
- package/lib/pages/transactions/transactDialog.component.d.ts +0 -26
- package/lib/pages/transactions/transactions.component.d.ts +0 -31
- package/lib/pages/users/users.component.d.ts +0 -28
- package/lib/pages/welcome/welcome.component.d.ts +0 -25
- package/lib/pipes/camelToWords.pipe.d.ts +0 -7
- package/lib/select-context.directive.d.ts +0 -10
- package/lib/services/button.service.d.ts +0 -30
- package/lib/services/condition.service.d.ts +0 -10
- package/lib/services/csv.service.d.ts +0 -10
- package/lib/services/datalib.service.d.ts +0 -125
- package/lib/services/dialog.service.d.ts +0 -20
- package/lib/services/http.service.d.ts +0 -22
- package/lib/services/notifications.service.d.ts +0 -12
- package/lib/services/table-config.service.d.ts +0 -17
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
4
|
+
import { ActionResponse, Operator, TableColumnType } from '../../classes/Classes';
|
|
5
|
+
let TableComponent = class TableComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.dataChange = new EventEmitter();
|
|
8
|
+
this.buttonClick = new EventEmitter();
|
|
9
|
+
this.loadClick = new EventEmitter();
|
|
10
|
+
this.createClick = new EventEmitter();
|
|
11
|
+
this.colType = TableColumnType;
|
|
12
|
+
this.op = Operator;
|
|
13
|
+
this.displayedColumns = [];
|
|
14
|
+
this._filterText = "";
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
// console.log("Init")
|
|
18
|
+
this.config.columns.forEach(element => {
|
|
19
|
+
this.displayedColumns.push(element.name);
|
|
20
|
+
});
|
|
21
|
+
this.displayedColumns.push("Action");
|
|
22
|
+
this.styleString = `width: ${50 * this.config.actions.length}px`;
|
|
23
|
+
}
|
|
24
|
+
ngOnChanges() {
|
|
25
|
+
// console.log("OnChange")
|
|
26
|
+
this.data = new MatTableDataSource(this.data);
|
|
27
|
+
this.data.paginator = this.tablePaginator;
|
|
28
|
+
this.applyFilter(this._filterText);
|
|
29
|
+
}
|
|
30
|
+
applyFilter(filterValue) {
|
|
31
|
+
this.data.filter = filterValue.trim().toLowerCase();
|
|
32
|
+
}
|
|
33
|
+
do(name, item) {
|
|
34
|
+
let resp = new ActionResponse();
|
|
35
|
+
resp.name = name;
|
|
36
|
+
resp.value = item;
|
|
37
|
+
this.buttonClick.emit(resp);
|
|
38
|
+
}
|
|
39
|
+
create() {
|
|
40
|
+
this.createClick.emit();
|
|
41
|
+
}
|
|
42
|
+
load() {
|
|
43
|
+
this.loadClick.emit();
|
|
44
|
+
}
|
|
45
|
+
test(a, op, b) {
|
|
46
|
+
if (op == Operator.Equal) {
|
|
47
|
+
if (a == b) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (op == Operator.Greater) {
|
|
55
|
+
if (a > b) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (op == Operator.Less) {
|
|
63
|
+
if (a < b) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (op == Operator.NotEqual) {
|
|
71
|
+
if (a != b) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
__decorate([
|
|
81
|
+
Input()
|
|
82
|
+
], TableComponent.prototype, "config", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
Input()
|
|
85
|
+
], TableComponent.prototype, "data", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
Output()
|
|
88
|
+
], TableComponent.prototype, "dataChange", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
Output()
|
|
91
|
+
], TableComponent.prototype, "buttonClick", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
Output()
|
|
94
|
+
], TableComponent.prototype, "loadClick", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
Output()
|
|
97
|
+
], TableComponent.prototype, "createClick", void 0);
|
|
98
|
+
__decorate([
|
|
99
|
+
ViewChild('tablePaginator')
|
|
100
|
+
], TableComponent.prototype, "tablePaginator", void 0);
|
|
101
|
+
TableComponent = __decorate([
|
|
102
|
+
Component({
|
|
103
|
+
selector: 'spa-table',
|
|
104
|
+
template: "<div >\r\n\r\n<div *ngIf=\"config.create.enabled || config.enableFilter\" class=\"row justify-content-between\" style=\"padding-bottom: 10px\">\r\n <div class=\"col\">\r\n<button *ngIf=\"config.create\" [disabled]=\"!config.create.enabled\" mat-raised-button color=\"primary\" (click)=\"create()\">{{config.create.display}}</button>\r\n</div>\r\n <div *ngIf=\"config.enableFilter\" class=\"col d-flex justify-content-end\">\r\n<mat-form-field style=\"font-size:12px;margin-right: 5px;\">\r\n<mat-label>Filter</mat-label>\r\n<input matInput [(ngModel)]=\"_filterText\" (keyup)=\"applyFilter($event.target.value)\" placeholder=\"Enter Filter text\" autocomplete=\"off\">\r\n</mat-form-field>\r\n<button mat-mini-fab color=\"primary\" (click)=\"load()\" style=\"margin-top:5px\" matTooltip=\"refresh data\" matTooltipPosition=\"right\"><mat-icon class=\"refreshIcon\">refresh</mat-icon></button>\r\n</div>\r\n</div>\r\n\r\n<div class=\"mat-elevation-z8\" *ngIf=\"data\">\r\n\r\n <table mat-table [dataSource]=\"data\">\r\n\r\n <ng-container *ngFor=\"let col of config.columns; let i = index\"\r\n\r\n [matColumnDef]=\"col.name\">\r\n <th mat-header-cell *matHeaderCellDef> {{col.display}} </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n\r\n <!-- String -->\r\n <div *ngIf=\"(col.type==colType.String || col.type == null) && col.color == null\"> {{row[col.name]}}</div>\r\n\r\n <div [ngStyle]=\"{'color':col.color.name}\"\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null && test(row[col.color.field], col.color.operator, col.color.value )\" >\r\n {{row[col.name]}}\r\n </div>\r\n\r\n <div\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null && !test(row[col.color.field], col.color.operator, col.color.value )\" >\r\n {{row[col.name]}}\r\n </div>\r\n\r\n <!-- <div [ngStyle]=\"{'color':col.color.name}\"\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\r\n col.color.operator==op.Equal && row[col.color.field]==col.color.value\" >\r\n {{row[col.name]}}\r\n </div>\r\n\r\n <div [ngStyle]=\"{'color':col.color.name}\"\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\r\n col.color.operator==op.Greater && row[col.color.field]>col.color.value\" >\r\n {{row[col.name]}}\r\n </div>\r\n\r\n <div [ngStyle]=\"{'color':col.color.name}\"\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\r\n col.color.operator==op.Less && row[col.color.field]<col.color.value\" >\r\n {{row[col.name]}}\r\n </div>\r\n\r\n <div [ngStyle]=\"{'color':col.color.name}\"\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\r\n col.color.operator==op.NotEqual && row[col.color.field]!=col.color.value\" >\r\n {{row[col.name]}}\r\n </div> -->\r\n\r\n\r\n <!-- Date -->\r\n <div *ngIf=\"col.type==colType.Date\"> {{row[col.name] | date:'dd/MM/yyyy'}}</div>\r\n\r\n\r\n <!-- DateTime -->\r\n <div *ngIf=\"col.type==colType.DateTime\"> {{row[col.name] | date:'dd/MM/yyyy HH:mm'}}</div>\r\n\r\n\r\n <ng-container *ngFor=\"let icon of col.icons;\">\r\n <!-- <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.Equal && row[icon.field]==icon.value\"\r\n [ngStyle]=\"{'color':icon.color}\"\r\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\r\n {{icon.name}}\r\n </mat-icon>\r\n\r\n <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.Greater && row[icon.field]>icon.value\"\r\n [ngStyle]=\"{'color':icon.color}\"\r\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\r\n {{icon.name}}\r\n </mat-icon>\r\n\r\n <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.Less && row[icon.field]<icon.value\"\r\n [ngStyle]=\"{'color':icon.color}\"\r\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\r\n {{icon.name}}\r\n </mat-icon>\r\n <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.NotEqual && row[icon.field]!=icon.value\"\r\n [ngStyle]=\"{'color':icon.color}\"\r\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\r\n {{icon.name}}\r\n </mat-icon> -->\r\n\r\n <mat-icon *ngIf=\"col.type==colType.Icon && test(row[icon.field],icon.operator,icon.value)\"\r\n [ngStyle]=\"{'color':icon.color}\"\r\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\r\n {{icon.name}}\r\n </mat-icon>\r\n\r\n </ng-container>\r\n\r\n </td>\r\n\r\n </ng-container>\r\n\r\n\r\n\r\n\r\n <ng-container matColumnDef=\"Action\">\r\n\r\n <th mat-header-cell *matHeaderCellDef> Action </th>\r\n <td mat-cell *matCellDef=\"let row\" [style]=\"styleString+';padding-right: 0px;'\">\r\n\r\n <ng-container *ngFor=\"let act of config.actions\">\r\n\r\n <button *ngIf=\" (act.disappear && (row[act.disappear.field] != act.disappear.value)) || !act.disappear\" mat-mini-fab\r\n\r\n [disabled]=\"(act.disable && (row[act.disable.field] == act.disable.value))\"\r\n [color]=\"act.color==null? 'primary' : act.color\"\r\n [matTooltip]=\"act.hint\" matTooltipPosition=\"above\"\r\n (click)=\"do(act.name,row)\" style=\"margin-right:5px\">\r\n <mat-icon>{{act.icon}}</mat-icon>\r\n\r\n </button>\r\n\r\n </ng-container>\r\n\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"{'make-gray': row[config.greyout.field]==config.greyout.value}\"></tr>\r\n\r\n </table>\r\n</div>\r\n<mat-paginator #tablePaginator [pageSizeOptions]=\"[10, 50, 100]\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n\r\n",
|
|
105
|
+
styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.make-gray{background-color:#d3d3d3}"]
|
|
106
|
+
})
|
|
107
|
+
], TableComponent);
|
|
108
|
+
export { TableComponent };
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFPL0YsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztJQUV6QjtRQXlCVSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSTNDLFlBQU8sR0FBRyxlQUFlLENBQUE7UUFDekIsT0FBRSxHQUFHLFFBQVEsQ0FBQTtRQUViLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUloQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztJQXZDRCxDQUFDO0lBRWpCLFFBQVE7UUFFTixzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUVwQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDO0lBRW5FLENBQUM7SUFFRCxXQUFXO1FBQ1QsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBb0JELFdBQVcsQ0FBQyxXQUFtQjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSTtRQUVYLElBQUksSUFBSSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUdELE1BQU07UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxDQUFDLENBQUssRUFBRSxFQUFZLEVBQUUsQ0FBTTtRQUU5QixJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDVCxPQUFPLElBQUksQ0FBQzthQUNiO2lCQUFJO2dCQUNILE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FFRjtRQUVELElBQUksRUFBRSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUVGO1FBRUQsSUFBSSxFQUFFLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ1QsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1NBRUY7UUFFRCxJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDVixPQUFPLElBQUksQ0FBQzthQUNiO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FFRjtJQUlILENBQUM7Q0FFRixDQUFBO0FBaEZVO0lBQVIsS0FBSyxFQUFFOzhDQUFxQjtBQUNwQjtJQUFSLEtBQUssRUFBRTs0Q0FBVztBQUNUO0lBQVQsTUFBTSxFQUFFO2tEQUFpQztBQUNoQztJQUFULE1BQU0sRUFBRTttREFBa0M7QUFDakM7SUFBVCxNQUFNLEVBQUU7aURBQWdDO0FBQy9CO0lBQVQsTUFBTSxFQUFFO21EQUFrQztBQUVkO0lBQTVCLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztzREFBOEI7QUFoQy9DLGNBQWM7SUFMMUIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLFdBQVc7UUFDckIsNmxNQUFxQzs7S0FFdEMsQ0FBQztHQUNXLGNBQWMsQ0F5RzFCO1NBekdZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSwgT3BlcmF0b3IsIFRhYmxlQ29sdW1uVHlwZSwgVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIC8vIGNvbnNvbGUubG9nKFwiSW5pdFwiKVxyXG4gICAgdGhpcy5jb25maWcuY29sdW1ucy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaChlbGVtZW50Lm5hbWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goXCJBY3Rpb25cIilcclxuXHJcbiAgICB0aGlzLnN0eWxlU3RyaW5nID0gYHdpZHRoOiAkezUwICogdGhpcy5jb25maWcuYWN0aW9ucy5sZW5ndGh9cHhgO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCl7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcIk9uQ2hhbmdlXCIpXHJcbiAgICB0aGlzLmRhdGEgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMuZGF0YSk7XHJcbiAgICB0aGlzLmRhdGEucGFnaW5hdG9yID0gdGhpcy50YWJsZVBhZ2luYXRvcjtcclxuICAgIHRoaXMuYXBwbHlGaWx0ZXIodGhpcy5fZmlsdGVyVGV4dCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCkgY29uZmlnOiBUYWJsZUNvbmZpZztcclxuICBASW5wdXQoKSBkYXRhOiBhbnk7XHJcbiAgQE91dHB1dCgpIGRhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBsb2FkQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNyZWF0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCd0YWJsZVBhZ2luYXRvcicpIHRhYmxlUGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcblxyXG4gIGNvbFR5cGUgPSBUYWJsZUNvbHVtblR5cGVcclxuICBvcCA9IE9wZXJhdG9yXHJcblxyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIHN0eWxlU3RyaW5nOiBzdHJpbmc7XHJcblxyXG4gIF9maWx0ZXJUZXh0ID0gXCJcIjtcclxuICBhcHBseUZpbHRlcihmaWx0ZXJWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRhdGEuZmlsdGVyID0gZmlsdGVyVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBkbyhuYW1lLCBpdGVtKSB7XHJcblxyXG4gICAgbGV0IHJlc3AgPSBuZXcgQWN0aW9uUmVzcG9uc2UoKTtcclxuICAgIHJlc3AubmFtZSA9IG5hbWU7XHJcbiAgICByZXNwLnZhbHVlID0gaXRlbTtcclxuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdChyZXNwKTtcclxuICB9XHJcblxyXG5cclxuICBjcmVhdGUoKXtcclxuICAgIHRoaXMuY3JlYXRlQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgbG9hZCgpe1xyXG4gICAgdGhpcy5sb2FkQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgdGVzdChhOmFueSwgb3A6IE9wZXJhdG9yLCBiOiBhbnkpe1xyXG5cclxuICAgIGlmIChvcCA9PSBPcGVyYXRvci5FcXVhbCl7XHJcbiAgICAgIGlmIChhID09IGIpe1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG9wID09IE9wZXJhdG9yLkdyZWF0ZXIpIHtcclxuICAgICAgaWYgKGEgPiBiKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcCA9PSBPcGVyYXRvci5MZXNzKSB7XHJcbiAgICAgIGlmIChhIDwgYikge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBpZiAob3AgPT0gT3BlcmF0b3IuTm90RXF1YWwpIHtcclxuICAgICAgaWYgKGEgIT0gYikge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcblxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { FormControl, Validators } from '@angular/forms';
|
|
4
|
+
import { map, startWith } from 'rxjs/operators';
|
|
5
|
+
let TextComponent = class TextComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
// options: FormGroup;
|
|
8
|
+
this.hideRequiredControl = new FormControl(true);
|
|
9
|
+
this.readonly = false;
|
|
10
|
+
this.hint = "";
|
|
11
|
+
this.display = "";
|
|
12
|
+
this.placeholder = "";
|
|
13
|
+
this.value = "";
|
|
14
|
+
this.valueChange = new EventEmitter();
|
|
15
|
+
this.format = "text";
|
|
16
|
+
this.leave = new EventEmitter();
|
|
17
|
+
this.enterPress = new EventEmitter();
|
|
18
|
+
this.rows = "";
|
|
19
|
+
this.width = "100%";
|
|
20
|
+
//Autocomplete items
|
|
21
|
+
this.options = [];
|
|
22
|
+
this.optionValue = "";
|
|
23
|
+
this.optionDisplay = "";
|
|
24
|
+
this.myControl = new FormControl();
|
|
25
|
+
//validations
|
|
26
|
+
this.required = true;
|
|
27
|
+
this.min = 0;
|
|
28
|
+
this.max = 9000000000000000; //Math.max
|
|
29
|
+
this.regex = ""; //"[a-zA-Z ]*" //"/\S+@\S+\.\S+/";
|
|
30
|
+
this.control = new FormControl(this.value, [Validators.required, Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex)]);
|
|
31
|
+
}
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
if (this.options.length > 0) {
|
|
34
|
+
this.initFilter();
|
|
35
|
+
}
|
|
36
|
+
if (this.placeholder == "") {
|
|
37
|
+
this.placeholder = this.display;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
ngAfterViewInit() {
|
|
41
|
+
if (this.readonly) {
|
|
42
|
+
this.control.setValidators(null);
|
|
43
|
+
this.control.updateValueAndValidity();
|
|
44
|
+
}
|
|
45
|
+
if (!this.required && !this.readonly) {
|
|
46
|
+
this.control.setValidators([Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex)]);
|
|
47
|
+
this.control.updateValueAndValidity();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
initFilter() {
|
|
51
|
+
this.filteredOptions = this.myControl.valueChanges.pipe(startWith(""), map((value) => this._filter(value)));
|
|
52
|
+
}
|
|
53
|
+
_filter(value) {
|
|
54
|
+
const filterValue = value.toLowerCase();
|
|
55
|
+
return this.options.filter((option) => option[`${this.optionDisplay}`].toLowerCase().includes(filterValue));
|
|
56
|
+
}
|
|
57
|
+
changed() {
|
|
58
|
+
// console.log("value: " + this.value)
|
|
59
|
+
// console.log("cont: " + this.myControl.value)
|
|
60
|
+
// if (this.options.length > 0) {
|
|
61
|
+
// this.value = this.myControl.value;
|
|
62
|
+
// }
|
|
63
|
+
this.valueChange.emit(this.value);
|
|
64
|
+
}
|
|
65
|
+
changed2() {
|
|
66
|
+
// console.log("value: " + this.value)
|
|
67
|
+
// console.log("cont: " + this.myControl.value)
|
|
68
|
+
// if (this.options.length > 0) {
|
|
69
|
+
// this.value = this.myControl.value;
|
|
70
|
+
// }
|
|
71
|
+
this.valueChange.emit(this.myControl.value);
|
|
72
|
+
}
|
|
73
|
+
leaved() {
|
|
74
|
+
this.leave.emit();
|
|
75
|
+
}
|
|
76
|
+
enterPressed() {
|
|
77
|
+
this.enterPress.emit();
|
|
78
|
+
}
|
|
79
|
+
validate() {
|
|
80
|
+
if ((this.required || this.min > 0) && this.control.hasError('required')) {
|
|
81
|
+
return `Required`;
|
|
82
|
+
}
|
|
83
|
+
if (this.control.hasError('minlength')) {
|
|
84
|
+
return `Minimun length is ${this.min}`;
|
|
85
|
+
}
|
|
86
|
+
if (this.control.hasError('maxlength')) {
|
|
87
|
+
return `Maximum length is ${this.max}`;
|
|
88
|
+
}
|
|
89
|
+
if (this.control.hasError('pattern')) {
|
|
90
|
+
return `Invalid Input`;
|
|
91
|
+
}
|
|
92
|
+
// if (this.regex != ""){
|
|
93
|
+
// let r = new RegExp(this.regex, "g");
|
|
94
|
+
// if (!r.test(this.value)){
|
|
95
|
+
// this.valid = false;
|
|
96
|
+
// this.errorMessage = "Invalid input";
|
|
97
|
+
// return this.errorMessage;
|
|
98
|
+
// }
|
|
99
|
+
// }
|
|
100
|
+
return "";
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
__decorate([
|
|
104
|
+
Input()
|
|
105
|
+
], TextComponent.prototype, "readonly", void 0);
|
|
106
|
+
__decorate([
|
|
107
|
+
Input()
|
|
108
|
+
], TextComponent.prototype, "hint", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
Input()
|
|
111
|
+
], TextComponent.prototype, "display", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
Input()
|
|
114
|
+
], TextComponent.prototype, "placeholder", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
Input()
|
|
117
|
+
], TextComponent.prototype, "value", void 0);
|
|
118
|
+
__decorate([
|
|
119
|
+
Output()
|
|
120
|
+
], TextComponent.prototype, "valueChange", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
Input()
|
|
123
|
+
], TextComponent.prototype, "format", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
Output()
|
|
126
|
+
], TextComponent.prototype, "leave", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
Output()
|
|
129
|
+
], TextComponent.prototype, "enterPress", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
Input()
|
|
132
|
+
], TextComponent.prototype, "rows", void 0);
|
|
133
|
+
__decorate([
|
|
134
|
+
Input()
|
|
135
|
+
], TextComponent.prototype, "width", void 0);
|
|
136
|
+
__decorate([
|
|
137
|
+
Input()
|
|
138
|
+
], TextComponent.prototype, "options", void 0);
|
|
139
|
+
__decorate([
|
|
140
|
+
Input()
|
|
141
|
+
], TextComponent.prototype, "optionValue", void 0);
|
|
142
|
+
__decorate([
|
|
143
|
+
Input()
|
|
144
|
+
], TextComponent.prototype, "optionDisplay", void 0);
|
|
145
|
+
__decorate([
|
|
146
|
+
Input()
|
|
147
|
+
], TextComponent.prototype, "required", void 0);
|
|
148
|
+
__decorate([
|
|
149
|
+
Input()
|
|
150
|
+
], TextComponent.prototype, "min", void 0);
|
|
151
|
+
__decorate([
|
|
152
|
+
Input()
|
|
153
|
+
], TextComponent.prototype, "max", void 0);
|
|
154
|
+
__decorate([
|
|
155
|
+
Input()
|
|
156
|
+
], TextComponent.prototype, "regex", void 0);
|
|
157
|
+
TextComponent = __decorate([
|
|
158
|
+
Component({
|
|
159
|
+
selector: 'spa-text',
|
|
160
|
+
template: "<mat-form-field *ngIf=\"rows == '' && options.length==0\" hideRequiredMarker=\"true\" [hintLabel]=\"hint\" style=\"padding-right: 20px;\" [ngStyle]=\"{'width':width}\" >\r\n<mat-label *ngIf=\"format=='text'\">{{display}}</mat-label>\r\n<mat-label *ngIf=\"format=='date'\">{{display | date:'dd/MM/yyyy'}}</mat-label>\r\n<!-- <mat-label *ngIf=\"format=='datetime'\">{{display | date:'dd/MM/yyyy HH:mm'}}</mat-label> -->\r\n<input matInput autocomplete=\"off\" [(ngModel)]=\"value\" (change)=\"changed()\" (blur)=\"leaved()\" (keyup.enter)=\"enterPressed()\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"/>\r\n<mat-error *ngIf=\"control.invalid\">{{validate()}}</mat-error>\r\n</mat-form-field>\r\n\r\n\r\n<!-- TextArea copy - Only change input to textarea and change ngif to not -->\r\n\r\n<mat-form-field *ngIf=\"rows != '' && options.length==0\" hideRequiredMarker=\"true\" [hintLabel]=\"hint\" style=\"padding-right: 20px;\" [ngStyle]=\"{'width':width}\">\r\n<mat-label>{{display}}</mat-label>\r\n<textarea matInput autocomplete=\"off\" [rows]=\"rows\" [(ngModel)]=\"value\" (change)=\"changed()\" (keyup.enter)=\"enterPressed()\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"></textarea>\r\n<mat-error *ngIf=\"control.invalid\">{{validate()}}</mat-error>\r\n</mat-form-field>\r\n\r\n\r\n\r\n<!-- Work in progress cant bind to value -->\r\n\r\n <!-- <mat-form-field *ngIf=\"options.length !=0\" hideRequiredMarker=\"true\" [hintLabel]=\"hint\" style=\"padding-right: 20px;\" [ngStyle]=\"{'width':width}\">\r\n <input type=\"text\" autocomplete=\"off\" [placeholder]=\"display\" (change)=\"changed2()\" matInput [formControl]=\"myControl\" [matAutocomplete]=\"auto\" [readonly]=\"readonly\">\r\n <mat-autocomplete #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let row of filteredOptions | async\" [value]=\"row[optionValue]\">\r\n {{row[optionDisplay]}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field> -->\r\n\r\n",
|
|
161
|
+
styles: [""]
|
|
162
|
+
})
|
|
163
|
+
], TextComponent);
|
|
164
|
+
export { TextComponent };
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPaEQsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYTtJQUV4QjtRQThCQSxzQkFBc0I7UUFDdEIsd0JBQW1CLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDVixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUVmLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWpDLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixVQUFLLEdBQUcsTUFBTSxDQUFBO1FBR3ZCLG9CQUFvQjtRQUNYLFlBQU8sR0FBUSxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFNUIsY0FBUyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFvQjlCLGFBQWE7UUFDSixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixRQUFHLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVO1FBQ2xDLFVBQUssR0FBRyxFQUFFLENBQUEsQ0FBQyxrQ0FBa0M7UUFrQ3RELFlBQU8sR0FBRyxJQUFJLFdBQVcsQ0FBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBRyxDQUFDLENBQUM7SUEvRy9JLENBQUM7SUFFbEIsUUFBUTtRQUVOLElBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2pDO0lBRUgsQ0FBQztJQUVELGVBQWU7UUFFYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFDO1lBRW5DLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdILElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUN2QztJQUdILENBQUM7SUE2Qk8sVUFBVTtRQUNoQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDckQsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUNiLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVPLE9BQU8sQ0FBQyxLQUFhO1FBQzNCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV4QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBWUQsT0FBTztRQUNMLHNDQUFzQztRQUN0QywrQ0FBK0M7UUFFL0MsaUNBQWlDO1FBQ2pDLHVDQUF1QztRQUN2QyxJQUFJO1FBRUosSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXBDLENBQUM7SUFFRCxRQUFRO1FBQ04sc0NBQXNDO1FBQ3RDLCtDQUErQztRQUUvQyxpQ0FBaUM7UUFDakMsdUNBQXVDO1FBQ3ZDLElBQUk7UUFFSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUlELFFBQVE7UUFHTixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN0QyxPQUFPLHFCQUFxQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDeEM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3RDLE9BQU8scUJBQXFCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUN4QztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxlQUFlLENBQUM7U0FDeEI7UUFHRCx5QkFBeUI7UUFFekIseUNBQXlDO1FBRXpDLDhCQUE4QjtRQUM5QiwwQkFBMEI7UUFDMUIsMkNBQTJDO1FBQzNDLGdDQUFnQztRQUNoQyxNQUFNO1FBQ04sSUFBSTtRQUVKLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUVGLENBQUE7QUFsSFU7SUFBUixLQUFLLEVBQUU7K0NBQWtCO0FBQ2pCO0lBQVIsS0FBSyxFQUFFOzJDQUFXO0FBQ1Y7SUFBUixLQUFLLEVBQUU7OENBQWM7QUFDYjtJQUFSLEtBQUssRUFBRTtrREFBa0I7QUFDakI7SUFBUixLQUFLLEVBQUU7NENBQVk7QUFDVjtJQUFULE1BQU0sRUFBRTtrREFBa0M7QUFDbEM7SUFBUixLQUFLLEVBQUU7NkNBQWlCO0FBRWY7SUFBVCxNQUFNLEVBQUU7NENBQTRCO0FBQzNCO0lBQVQsTUFBTSxFQUFFO2lEQUFpQztBQUVqQztJQUFSLEtBQUssRUFBRTsyQ0FBVztBQUNWO0lBQVIsS0FBSyxFQUFFOzRDQUFlO0FBSWQ7SUFBUixLQUFLLEVBQUU7OENBQW1CO0FBQ2xCO0lBQVIsS0FBSyxFQUFFO2tEQUFrQjtBQUNqQjtJQUFSLEtBQUssRUFBRTtvREFBb0I7QUF1Qm5CO0lBQVIsS0FBSyxFQUFFOytDQUFpQjtBQUNoQjtJQUFSLEtBQUssRUFBRTswQ0FBUztBQUNSO0lBQVIsS0FBSyxFQUFFOzBDQUF3QjtBQUN2QjtJQUFSLEtBQUssRUFBRTs0Q0FBVztBQS9FUixhQUFhO0lBTHpCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxVQUFVO1FBQ3BCLDhoRUFBb0M7O0tBRXJDLENBQUM7R0FDVyxhQUFhLENBcUp6QjtTQXJKWSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtdGV4dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RleHQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7ICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIGlmKHRoaXMub3B0aW9ucy5sZW5ndGggPiAwKXtcclxuICAgICAgdGhpcy5pbml0RmlsdGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucGxhY2Vob2xkZXIgPT0gXCJcIikge1xyXG4gICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5kaXNwbGF5O1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpe1xyXG5cclxuICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWxpZGF0b3JzKG51bGwpO1xyXG4gICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnJlcXVpcmVkICYmICF0aGlzLnJlYWRvbmx5KXtcclxuXHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLm1pbkxlbmd0aCh0aGlzLm1pbiksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKHRoaXMubWF4KSwgVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMucmVnZXgpXSk7XHJcbiAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG5cclxuICAvLyBvcHRpb25zOiBGb3JtR3JvdXA7XHJcbiAgaGlkZVJlcXVpcmVkQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0cnVlKTtcclxuXHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoaW50ID0gXCJcIjtcclxuICBASW5wdXQoKSBkaXNwbGF5ID0gXCJcIjtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiXCI7XHJcbiAgQElucHV0KCkgdmFsdWUgPSBcIlwiO1xyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBmb3JtYXQgPSBcInRleHRcIjtcclxuXHJcbiAgQE91dHB1dCgpIGxlYXZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBlbnRlclByZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSByb3dzID0gXCJcIjtcclxuICBASW5wdXQoKSB3aWR0aCA9IFwiMTAwJVwiXHJcblxyXG5cclxuICAvL0F1dG9jb21wbGV0ZSBpdGVtc1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIG9wdGlvblZhbHVlID0gXCJcIjtcclxuICBASW5wdXQoKSBvcHRpb25EaXNwbGF5ID0gXCJcIjtcclxuXHJcbiAgbXlDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgZmlsdGVyZWRPcHRpb25zOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcclxuXHJcbiAgcHJpdmF0ZSBpbml0RmlsdGVyKCkge1xyXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm15Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgc3RhcnRXaXRoKFwiXCIpLFxyXG4gICAgICBtYXAoKHZhbHVlKSA9PiB0aGlzLl9maWx0ZXIodmFsdWUpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbltgJHt0aGlzLm9wdGlvbkRpc3BsYXl9YF0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gIC8vdmFsaWRhdGlvbnNcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IHRydWU7XHJcbiAgQElucHV0KCkgbWluID0gMDtcclxuICBASW5wdXQoKSBtYXggPSA5MDAwMDAwMDAwMDAwMDAwOyAvL01hdGgubWF4XHJcbiAgQElucHV0KCkgcmVnZXggPSBcIlwiIC8vXCJbYS16QS1aIF0qXCIgLy9cIi9cXFMrQFxcUytcXC5cXFMrL1wiO1xyXG5cclxuICBjaGFuZ2VkKCl7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcInZhbHVlOiBcIiArIHRoaXMudmFsdWUpXHJcbiAgICAvLyBjb25zb2xlLmxvZyhcImNvbnQ6IFwiICsgdGhpcy5teUNvbnRyb2wudmFsdWUpXHJcblxyXG4gICAgLy8gaWYgKHRoaXMub3B0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAvLyAgIHRoaXMudmFsdWUgPSB0aGlzLm15Q29udHJvbC52YWx1ZTtcclxuICAgIC8vIH1cclxuXHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgY2hhbmdlZDIoKSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcInZhbHVlOiBcIiArIHRoaXMudmFsdWUpXHJcbiAgICAvLyBjb25zb2xlLmxvZyhcImNvbnQ6IFwiICsgdGhpcy5teUNvbnRyb2wudmFsdWUpXHJcblxyXG4gICAgLy8gaWYgKHRoaXMub3B0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAvLyAgIHRoaXMudmFsdWUgPSB0aGlzLm15Q29udHJvbC52YWx1ZTtcclxuICAgIC8vIH1cclxuXHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5teUNvbnRyb2wudmFsdWUpO1xyXG5cclxuICB9XHJcblxyXG4gIGxlYXZlZCgpe1xyXG4gICAgdGhpcy5sZWF2ZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBlbnRlclByZXNzZWQoKSB7XHJcbiAgICB0aGlzLmVudGVyUHJlc3MuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCggdGhpcy52YWx1ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKHRoaXMubWluKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5tYXgpLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5yZWdleCkgIF0pO1xyXG5cclxuICB2YWxpZGF0ZSgpIDogc3RyaW5ne1xyXG5cclxuXHJcbiAgICBpZiAoKHRoaXMucmVxdWlyZWQgfHwgdGhpcy5taW4gPiAwKSAmJiB0aGlzLmNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykgKXtcclxuICAgICAgcmV0dXJuIGBSZXF1aXJlZGA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcignbWlubGVuZ3RoJykgKXtcclxuICAgICAgcmV0dXJuIGBNaW5pbXVuIGxlbmd0aCBpcyAke3RoaXMubWlufWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcignbWF4bGVuZ3RoJykpIHtcclxuICAgICAgcmV0dXJuIGBNYXhpbXVtIGxlbmd0aCBpcyAke3RoaXMubWF4fWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcigncGF0dGVybicpKSB7XHJcbiAgICAgIHJldHVybiBgSW52YWxpZCBJbnB1dGA7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIGlmICh0aGlzLnJlZ2V4ICE9IFwiXCIpe1xyXG5cclxuICAgIC8vICAgbGV0IHIgPSBuZXcgUmVnRXhwKHRoaXMucmVnZXgsIFwiZ1wiKTtcclxuXHJcbiAgICAvLyAgIGlmICghci50ZXN0KHRoaXMudmFsdWUpKXtcclxuICAgIC8vICAgICB0aGlzLnZhbGlkID0gZmFsc2U7XHJcbiAgICAvLyAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBcIkludmFsaWQgaW5wdXRcIjtcclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2U7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuXHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
let TilesComponent = class TilesComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.clickable = false;
|
|
6
|
+
this.tileClick = new EventEmitter();
|
|
7
|
+
this.selected = "";
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
}
|
|
11
|
+
clicked(v) {
|
|
12
|
+
if (!this.clickable)
|
|
13
|
+
return;
|
|
14
|
+
if (this.selected == v.tileName) {
|
|
15
|
+
this.tileClick.emit("");
|
|
16
|
+
this.selected = "";
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
this.tileClick.emit(v.tileName);
|
|
20
|
+
this.selected = v.tileName;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
__decorate([
|
|
25
|
+
Input()
|
|
26
|
+
], TilesComponent.prototype, "tiles", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
Input()
|
|
29
|
+
], TilesComponent.prototype, "clickable", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
Output()
|
|
32
|
+
], TilesComponent.prototype, "tileClick", void 0);
|
|
33
|
+
TilesComponent = __decorate([
|
|
34
|
+
Component({
|
|
35
|
+
selector: 'spa-tiles',
|
|
36
|
+
template: " <div class=\"row align-items-center\">\r\n\r\n <!-- <div class=\"col\" *ngFor=\"let row of tiles\" >\r\n\r\n <mat-card *ngIf=\"row.visible\">\r\n <div class=\"row d-flex justify-content-center\">\r\n\r\n <mat-label style=\"font-size:30px;font-weight:bold\" [ngStyle]=\"{'color':row.tileColor}\">{{row.tileValue}}</mat-label>\r\n\r\n </div>\r\n\r\n <div class=\"row d-flex justify-content-center\">\r\n\r\n <mat-label [ngStyle]=\"{'color':row.selected == true ? 'darkorange' : 'black' }\" style=\"font-size:12px;padding-left:5px;padding-right:5px\">{{row.tileName}}</mat-label>\r\n <mat-icon style=\"font-size: 17px; color:steelblue;\">info</mat-icon>\r\n\r\n </div>\r\n </mat-card>\r\n\r\n </div> -->\r\n\r\n <ng-container *ngFor=\"let row of tiles\">\r\n\r\n <mat-card class=\"col\" style=\"margin-left: 10px;margin-right: 10px\" *ngIf=\"row.visible\" (click)=\"clicked(row)\">\r\n\r\n <div class=\"row d-flex justify-content-center\">\r\n\r\n <mat-label style=\"font-weight:bold\" [ngStyle]=\"{'color':row.tileColor,'font-size':row.tileName == selected ? '35px' : '30px' }\">{{row.tileValue}}</mat-label>\r\n\r\n </div>\r\n\r\n <div class=\"row d-flex justify-content-center row align-items-center\">\r\n\r\n <mat-label [ngStyle]=\"{'font-size':row.tileName == selected ? '18px' : '12px' }\" style=\"padding-left:5px;padding-right:5px\">{{row.tileName}}</mat-label>\r\n <mat-icon [matTooltip]=\"row.info\" matTooltipPosition=\"above\" [ngStyle]=\"{'font-size':row.tileName == selected ? '20px' : '17px' }\" style=\" color:steelblue;\">info</mat-icon>\r\n\r\n </div>\r\n\r\n </mat-card>\r\n\r\n\r\n </ng-container>\r\n\r\n </div>\r\n",
|
|
37
|
+
styles: [""]
|
|
38
|
+
})
|
|
39
|
+
], TilesComponent);
|
|
40
|
+
export { TilesComponent };
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RpbGVzL3RpbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvRSxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBRXpCO1FBT1MsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV6QyxhQUFRLEdBQVcsRUFBRSxDQUFDO0lBVk4sQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQVNELE9BQU8sQ0FBQyxDQUFPO1FBRWIsSUFBRyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUczQixJQUFHLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUNwQjthQUFJO1lBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztTQUM1QjtJQUdILENBQUM7Q0FFRixDQUFBO0FBdkJVO0lBQVIsS0FBSyxFQUFFOzZDQUFlO0FBRWQ7SUFBUixLQUFLLEVBQUU7aURBQTRCO0FBQzFCO0lBQVQsTUFBTSxFQUFFO2lEQUFnQztBQVY5QixjQUFjO0lBTDFCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLGkxREFBcUM7O0tBRXRDLENBQUM7R0FDVyxjQUFjLENBOEIxQjtTQTlCWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaWxlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS10aWxlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbGVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aWxlcy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSB0aWxlczogVGlsZVtdO1xyXG5cclxuICBASW5wdXQoKSBjbGlja2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgdGlsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBzZWxlY3RlZDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgY2xpY2tlZCh2OiBUaWxlKXtcclxuXHJcbiAgICBpZighdGhpcy5jbGlja2FibGUpIHJldHVybjtcclxuXHJcblxyXG4gICAgaWYodGhpcy5zZWxlY3RlZCA9PSB2LnRpbGVOYW1lKXtcclxuICAgICAgdGhpcy50aWxlQ2xpY2suZW1pdChcIlwiKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IFwiXCI7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy50aWxlQ2xpY2suZW1pdCh2LnRpbGVOYW1lKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IHYudGlsZU5hbWU7XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { Component } from '@angular/core';
|
|
4
|
+
import { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';
|
|
5
|
+
import { Keepalive } from '@ng-idle/keepalive';
|
|
6
|
+
import { AuthService } from '../../services/auth.service';
|
|
7
|
+
let TimeoutComponent = class TimeoutComponent {
|
|
8
|
+
constructor(idle, keepalive, authService, router) {
|
|
9
|
+
this.idle = idle;
|
|
10
|
+
this.keepalive = keepalive;
|
|
11
|
+
this.authService = authService;
|
|
12
|
+
this.router = router;
|
|
13
|
+
this.loggedin = false;
|
|
14
|
+
this.idleState = 'Not started.';
|
|
15
|
+
this.timedOut = false;
|
|
16
|
+
this.lastPing = null;
|
|
17
|
+
this.isWarning = false;
|
|
18
|
+
this.authService.loggedinObserv.subscribe(obj => {
|
|
19
|
+
this.loggedin = obj;
|
|
20
|
+
// if (this.loggedin){
|
|
21
|
+
// this.startWatch();
|
|
22
|
+
// }else{
|
|
23
|
+
// this.stopWatch();
|
|
24
|
+
// }
|
|
25
|
+
});
|
|
26
|
+
// sets an idle timeout of 5 seconds, for testing purposes.
|
|
27
|
+
idle.setIdle(900);
|
|
28
|
+
// sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.
|
|
29
|
+
idle.setTimeout(10);
|
|
30
|
+
// sets the default interrupts, in this case, things like clicks, scrolls, touches to the document
|
|
31
|
+
idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);
|
|
32
|
+
idle.onIdleStart.subscribe(() => {
|
|
33
|
+
this.idleState = 'You\'ve gone idle!';
|
|
34
|
+
});
|
|
35
|
+
idle.onIdleEnd.subscribe(() => {
|
|
36
|
+
this.idleState = 'No longer idle.';
|
|
37
|
+
this.isWarning = false;
|
|
38
|
+
});
|
|
39
|
+
idle.onTimeoutWarning.subscribe((countdown) => {
|
|
40
|
+
this.idleState = 'You will be signed out in ' + countdown + ' seconds!';
|
|
41
|
+
if (this.loggedin) {
|
|
42
|
+
this.isWarning = true;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
idle.onTimeout.subscribe(() => {
|
|
46
|
+
this.idleState = 'Timed out!';
|
|
47
|
+
this.timedOut = true;
|
|
48
|
+
//action
|
|
49
|
+
this.stopWatch();
|
|
50
|
+
});
|
|
51
|
+
// sets the ping interval to 15 seconds
|
|
52
|
+
keepalive.interval(15);
|
|
53
|
+
keepalive.onPing.subscribe(() => {
|
|
54
|
+
this.lastPing = new Date();
|
|
55
|
+
});
|
|
56
|
+
this.startWatch();
|
|
57
|
+
}
|
|
58
|
+
ngOnInit() {
|
|
59
|
+
}
|
|
60
|
+
startWatch() {
|
|
61
|
+
this.idle.watch();
|
|
62
|
+
this.idleState = 'Started.';
|
|
63
|
+
this.timedOut = false;
|
|
64
|
+
this.isWarning = false;
|
|
65
|
+
}
|
|
66
|
+
stopWatch() {
|
|
67
|
+
this.idle.stop();
|
|
68
|
+
this.isWarning = false;
|
|
69
|
+
this.router.navigate(['login']);
|
|
70
|
+
}
|
|
71
|
+
using() {
|
|
72
|
+
//remove message and continue
|
|
73
|
+
this.isWarning = false;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
TimeoutComponent.ctorParameters = () => [
|
|
77
|
+
{ type: Idle },
|
|
78
|
+
{ type: Keepalive },
|
|
79
|
+
{ type: AuthService },
|
|
80
|
+
{ type: Router }
|
|
81
|
+
];
|
|
82
|
+
TimeoutComponent = __decorate([
|
|
83
|
+
Component({
|
|
84
|
+
selector: 'spa-timeout',
|
|
85
|
+
template: "\r\n<div class=\"loading-spinner\" [hidden]=\"!isWarning\" >\r\n\r\n <div style=\"width: 500px; text-align: center;\">\r\n\r\n\r\n\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <img style=\"width: 100px;\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==\">\r\n </div>\r\n </div>\r\n\r\n <mat-card class=\"mat-elevation-z3\" >\r\n\r\n <mat-card-header>\r\n\r\n <h5>Are you still there ?</h5>\r\n\r\n </mat-card-header>\r\n\r\n <mat-card-content>\r\n\r\n <br>\r\n <span>{{idleState}}</span>\r\n\r\n <br>\r\n\r\n </mat-card-content>\r\n\r\n <mat-card-actions>\r\n\r\n <div class=\"row justify-content-around\">\r\n\r\n <div class=\"col-2\">\r\n <button style=\"width: 100px;\" mat-stroked-button color=\"primary\" (click)=\"using()\">Yes</button>\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <button style=\"width: 100px;\" mat-stroked-button color=\"primary\" (click)=\"stopWatch()\">No</button>\r\n </div>\r\n\r\n </div>\r\n\r\n </mat-card-actions>\r\n\r\n </mat-card>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n",
|
|
86
|
+
styles: [".loading-spinner{background-color:#0000001f;position:absolute;width:100%;top:0;left:0;height:100vh;align-items:center;justify-content:center;display:-ms-grid;display:grid}.loading-spinner img{-ms-grid-row-align:end;align-self:end}.loading-message{text-align:center;-ms-grid-row-align:start;align-self:start}"]
|
|
87
|
+
})
|
|
88
|
+
], TimeoutComponent);
|
|
89
|
+
export { TimeoutComponent };
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGltZW91dC90aW1lb3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFDLElBQUksRUFBRSx3QkFBd0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBTzFELElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0lBRTNCLFlBQW9CLElBQVUsRUFBVSxTQUFvQixFQUFVLFdBQXdCLEVBQVUsTUFBYztRQUFsRyxTQUFJLEdBQUosSUFBSSxDQUFNO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTREdEgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQUcsY0FBYyxDQUFDO1FBQzNCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFVLElBQUksQ0FBQztRQUN2QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBOURoQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDcEIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2QixTQUFTO1lBQ1Qsc0JBQXNCO1lBQ3RCLElBQUk7UUFFTixDQUFDLENBQUMsQ0FBQTtRQUVBLDJEQUEyRDtRQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLDZHQUE2RztRQUM3RyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLGtHQUFrRztRQUNsRyxJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFHN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLDRCQUE0QixHQUFHLFNBQVMsR0FBRyxXQUFXLENBQUM7WUFFeEUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFDO2dCQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QjtRQUVILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBRXJCLFFBQVE7WUFDUixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFNSCx1Q0FBdUM7UUFDdkMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV2QixTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFTRCxRQUFRO0lBQ1IsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUs7UUFDSCw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztDQUlGLENBQUE7O1lBMUYyQixJQUFJO1lBQXFCLFNBQVM7WUFBdUIsV0FBVztZQUFrQixNQUFNOztBQUYzRyxnQkFBZ0I7SUFMNUIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGFBQWE7UUFDdkIsc2xEQUF1Qzs7S0FFeEMsQ0FBQztHQUNXLGdCQUFnQixDQTRGNUI7U0E1RlksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7SWRsZSwgREVGQVVMVF9JTlRFUlJVUFRTT1VSQ0VTfSBmcm9tICdAbmctaWRsZS9jb3JlJztcclxuaW1wb3J0IHtLZWVwYWxpdmV9IGZyb20gJ0BuZy1pZGxlL2tlZXBhbGl2ZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXRpbWVvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lb3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aW1lb3V0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaWRsZTogSWRsZSwgcHJpdmF0ZSBrZWVwYWxpdmU6IEtlZXBhbGl2ZSwgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuXHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2dlZGluT2JzZXJ2LnN1YnNjcmliZShvYmogPT4ge1xyXG4gICAgICB0aGlzLmxvZ2dlZGluID0gb2JqO1xyXG4gICAgICAvLyBpZiAodGhpcy5sb2dnZWRpbil7XHJcbiAgICAgIC8vICAgdGhpcy5zdGFydFdhdGNoKCk7XHJcbiAgICAgIC8vIH1lbHNle1xyXG4gICAgICAvLyAgIHRoaXMuc3RvcFdhdGNoKCk7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICB9KVxyXG5cclxuICAgICAgLy8gc2V0cyBhbiBpZGxlIHRpbWVvdXQgb2YgNSBzZWNvbmRzLCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cclxuICAgICAgaWRsZS5zZXRJZGxlKDkwMCk7XHJcbiAgICAgIC8vIHNldHMgYSB0aW1lb3V0IHBlcmlvZCBvZiA1IHNlY29uZHMuIGFmdGVyIDEwIHNlY29uZHMgb2YgaW5hY3Rpdml0eSwgdGhlIHVzZXIgd2lsbCBiZSBjb25zaWRlcmVkIHRpbWVkIG91dC5cclxuICAgICAgaWRsZS5zZXRUaW1lb3V0KDEwKTtcclxuICAgICAgLy8gc2V0cyB0aGUgZGVmYXVsdCBpbnRlcnJ1cHRzLCBpbiB0aGlzIGNhc2UsIHRoaW5ncyBsaWtlIGNsaWNrcywgc2Nyb2xscywgdG91Y2hlcyB0byB0aGUgZG9jdW1lbnRcclxuICAgICAgaWRsZS5zZXRJbnRlcnJ1cHRzKERFRkFVTFRfSU5URVJSVVBUU09VUkNFUyk7XHJcblxyXG5cclxuICAgICAgaWRsZS5vbklkbGVTdGFydC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaWRsZVN0YXRlID0gJ1lvdVxcJ3ZlIGdvbmUgaWRsZSEnO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlkbGUub25JZGxlRW5kLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pZGxlU3RhdGUgPSAnTm8gbG9uZ2VyIGlkbGUuJztcclxuICAgICAgICB0aGlzLmlzV2FybmluZyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlkbGUub25UaW1lb3V0V2FybmluZy5zdWJzY3JpYmUoKGNvdW50ZG93bikgPT4ge1xyXG4gICAgICAgIHRoaXMuaWRsZVN0YXRlID0gJ1lvdSB3aWxsIGJlIHNpZ25lZCBvdXQgaW4gJyArIGNvdW50ZG93biArICcgc2Vjb25kcyEnO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5sb2dnZWRpbil7XHJcbiAgICAgICAgICB0aGlzLmlzV2FybmluZyA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZGxlLm9uVGltZW91dC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaWRsZVN0YXRlID0gJ1RpbWVkIG91dCEnO1xyXG4gICAgICAgIHRoaXMudGltZWRPdXQgPSB0cnVlO1xyXG5cclxuICAgICAgICAvL2FjdGlvblxyXG4gICAgICAgIHRoaXMuc3RvcFdhdGNoKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgIC8vIHNldHMgdGhlIHBpbmcgaW50ZXJ2YWwgdG8gMTUgc2Vjb25kc1xyXG4gICAgICBrZWVwYWxpdmUuaW50ZXJ2YWwoMTUpO1xyXG5cclxuICAgICAga2VlcGFsaXZlLm9uUGluZy5zdWJzY3JpYmUoKCkgID0+IHtcclxuICAgICAgICB0aGlzLmxhc3RQaW5nID0gbmV3IERhdGUoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnN0YXJ0V2F0Y2goKTtcclxuICB9XHJcblxyXG4gIGxvZ2dlZGluID0gZmFsc2U7XHJcbiAgaWRsZVN0YXRlID0gJ05vdCBzdGFydGVkLic7XHJcbiAgdGltZWRPdXQgPSBmYWxzZTtcclxuICBsYXN0UGluZz86IERhdGUgPSBudWxsO1xyXG4gIGlzV2FybmluZyA9IGZhbHNlO1xyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBzdGFydFdhdGNoKCkge1xyXG4gICAgdGhpcy5pZGxlLndhdGNoKCk7XHJcbiAgICB0aGlzLmlkbGVTdGF0ZSA9ICdTdGFydGVkLic7XHJcbiAgICB0aGlzLnRpbWVkT3V0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzV2FybmluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc3RvcFdhdGNoKCl7XHJcbiAgICB0aGlzLmlkbGUuc3RvcCgpO1xyXG4gICAgdGhpcy5pc1dhcm5pbmcgPSBmYWxzZTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9naW4nXSk7XHJcbiAgfVxyXG5cclxuICB1c2luZygpe1xyXG4gICAgLy9yZW1vdmUgbWVzc2FnZSBhbmQgY29udGludWVcclxuICAgIHRoaXMuaXNXYXJuaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
let TinSpaComponent = class TinSpaComponent {
|
|
4
|
+
constructor() { }
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
TinSpaComponent = __decorate([
|
|
9
|
+
Component({
|
|
10
|
+
selector: 'lib-tin-spa',
|
|
11
|
+
template: `
|
|
12
|
+
<p>
|
|
13
|
+
tin-spa works!
|
|
14
|
+
</p>
|
|
15
|
+
`
|
|
16
|
+
})
|
|
17
|
+
], TinSpaComponent);
|
|
18
|
+
export { TinSpaComponent };
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGluLXNwYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdGluLXNwYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFXbEQsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQUUxQixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztDQUVGLENBQUE7QUFQWSxlQUFlO0lBVDNCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFFBQVEsRUFBRTs7OztHQUlUO0tBRUYsQ0FBQztHQUNXLGVBQWUsQ0FPM0I7U0FQWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRpbi1zcGEnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8cD5cclxuICAgICAgdGluLXNwYSB3b3JrcyFcclxuICAgIDwvcD5cclxuICBgLFxyXG4gIHN0eWxlczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRpblNwYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component } from "@angular/core";
|
|
3
|
+
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
4
|
+
import { DataService } from "../../services/data.service";
|
|
5
|
+
import { User } from "../../classes/Classes";
|
|
6
|
+
import { Core } from "tin-core";
|
|
7
|
+
import { MessageService } from "../../services/message.service";
|
|
8
|
+
let AddUserDialog = class AddUserDialog {
|
|
9
|
+
constructor(dataserv, messageService, dialogRef) {
|
|
10
|
+
this.dataserv = dataserv;
|
|
11
|
+
this.messageService = messageService;
|
|
12
|
+
this.dialogRef = dialogRef;
|
|
13
|
+
this.currentCount = 0;
|
|
14
|
+
this.user = new User();
|
|
15
|
+
this.isProcessing = false;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
}
|
|
19
|
+
Signup() {
|
|
20
|
+
// if (Core.emailIsValid(this.user.email)) {
|
|
21
|
+
// this.messageService.toast("Invalid Email");
|
|
22
|
+
// return;
|
|
23
|
+
// }
|
|
24
|
+
this.user.dateCreated = Core.getFormatedDate(Core.nowDate());
|
|
25
|
+
this.user.dateUpdated = Core.getFormatedDate(Core.nowDate());
|
|
26
|
+
this.user.dateExpire = Core.getFormatedDate(Core.nowDate());
|
|
27
|
+
this.isProcessing = true;
|
|
28
|
+
this.dataserv.UpdateUser(this.user, "add").subscribe((apiResponse) => {
|
|
29
|
+
this.isProcessing = false;
|
|
30
|
+
if (apiResponse.message == "success") {
|
|
31
|
+
this.messageService.toast("User Added");
|
|
32
|
+
this.dialogRef.close("success");
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.messageService.toast("Error: " + apiResponse.message);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
AddUserDialog.ctorParameters = () => [
|
|
41
|
+
{ type: DataService },
|
|
42
|
+
{ type: MessageService },
|
|
43
|
+
{ type: MatDialogRef }
|
|
44
|
+
];
|
|
45
|
+
AddUserDialog = __decorate([
|
|
46
|
+
Component({
|
|
47
|
+
selector: "spa-add-user",
|
|
48
|
+
template: "<h2 mat-dialog-title>Add User</h2>\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n\r\n\r\n\r\n <div class=\"tin-input \" style=\"font-size:12px\">\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Username</mat-label>\r\n <input matInput autocomplete=\"off\" [(ngModel)]=\"user.userID\" placeholder=\"Enter Username\">\r\n </mat-form-field>\r\n\r\n\r\n\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Password</mat-label>\r\n <input matInput autocomplete=\"off\" type=\"password\" [(ngModel)]=\"user.password\" placeholder=\"Enter Password\">\r\n </mat-form-field>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button mat-button [disabled]=\"isProcessing\" (click)=\"Signup()\" cdkFocusInitial>Submit</button>\r\n <button mat-button mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n",
|
|
49
|
+
styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}.make-gray{background-color:#d3d3d3}"]
|
|
50
|
+
})
|
|
51
|
+
], AddUserDialog);
|
|
52
|
+
export { AddUserDialog };
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkVXNlckRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdXNlcnMvYWRkVXNlckRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBSXJFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXBGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFlLElBQUksRUFBYyxNQUFNLFVBQVUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFTaEUsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYTtJQU14QixZQUFvQixRQUFxQixFQUFVLGNBQThCLEVBQVUsU0FBc0M7UUFBN0csYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQTZCO1FBSjFILGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLFNBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLGlCQUFZLEdBQVksS0FBSyxDQUFDO0lBRXNHLENBQUM7SUFFckksUUFBUTtJQUVSLENBQUM7SUFLTSxNQUFNO1FBRVgsNENBQTRDO1FBQzVDLGdEQUFnRDtRQUNoRCxZQUFZO1FBQ1osSUFBSTtRQUVKLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFO1lBQy9FLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBRTFCLElBQUksV0FBVyxDQUFDLE9BQU8sSUFBSSxTQUFTLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUl4QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNqQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzVEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBRUYsQ0FBQTs7WUFwQytCLFdBQVc7WUFBMEIsY0FBYztZQUFxQixZQUFZOztBQU52RyxhQUFhO0lBTHpCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxjQUFjO1FBQ3hCLGs2QkFBNkM7O0tBRTlDLENBQUM7R0FDVyxhQUFhLENBMEN6QjtTQTFDWSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcclxuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhclwiO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gXCIuLi8uLi9jbGFzc2VzL0NsYXNzZXNcIjtcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UsIENvcmUsSHR0cFNlcnZpY2UgfSBmcm9tIFwidGluLWNvcmVcIjtcclxuLy8gaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNwYS1hZGQtdXNlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vYWRkVXNlckRpYWxvZy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi91c2Vycy5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkVXNlckRpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50Q291bnQgPSAwO1xyXG4gIHVzZXIgPSBuZXcgVXNlcigpO1xyXG4gIGlzUHJvY2Vzc2luZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFzZXJ2OiBEYXRhU2VydmljZSwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWRkVXNlckRpYWxvZz4pIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBTaWdudXAoKSB7XHJcblxyXG4gICAgLy8gaWYgKENvcmUuZW1haWxJc1ZhbGlkKHRoaXMudXNlci5lbWFpbCkpIHtcclxuICAgIC8vICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkludmFsaWQgRW1haWxcIik7XHJcbiAgICAvLyAgIHJldHVybjtcclxuICAgIC8vIH1cclxuXHJcbiAgICB0aGlzLnVzZXIuZGF0ZUNyZWF0ZWQgPSBDb3JlLmdldEZvcm1hdGVkRGF0ZShDb3JlLm5vd0RhdGUoKSk7XHJcbiAgICB0aGlzLnVzZXIuZGF0ZVVwZGF0ZWQgPSBDb3JlLmdldEZvcm1hdGVkRGF0ZShDb3JlLm5vd0RhdGUoKSk7XHJcbiAgICB0aGlzLnVzZXIuZGF0ZUV4cGlyZSA9IENvcmUuZ2V0Rm9ybWF0ZWREYXRlKENvcmUubm93RGF0ZSgpKTtcclxuXHJcbiAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgICB0aGlzLmRhdGFzZXJ2LlVwZGF0ZVVzZXIodGhpcy51c2VyLFwiYWRkXCIpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVc2VyIEFkZGVkXCIpO1xyXG5cclxuXHJcblxyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKFwic3VjY2Vzc1wiKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
|