tin-spa 2.13.15 → 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/README.md +2 -2
- package/bundles/tin-spa.umd.js +6694 -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 +254 -0
- package/esm2015/lib/classes/TinCore.js +137 -0
- package/esm2015/lib/components/activity/activity.component.js +92 -0
- package/esm2015/lib/components/attach/attach.component.js +181 -0
- package/esm2015/lib/components/change-password/change-password.component.js +179 -0
- package/esm2015/lib/components/check/check.component.js +69 -0
- package/esm2015/lib/components/chips/chips.component.js +107 -0
- package/esm2015/lib/components/create-account/create-account.component.js +160 -0
- package/esm2015/lib/components/date/date.component.js +66 -0
- package/esm2015/lib/components/datetime/datetime.component.js +57 -0
- package/esm2015/lib/components/filter/filter.component.js +64 -0
- package/esm2015/lib/components/html/html.component.js +102 -0
- package/esm2015/lib/components/label/label.component.js +117 -0
- package/esm2015/lib/components/loader/loader.component.js +53 -0
- package/esm2015/lib/components/login/login.component.js +240 -0
- package/esm2015/lib/components/logs/logs.component.js +195 -0
- package/esm2015/lib/components/message/messageDialog.component.js +142 -0
- 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 +152 -0
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +204 -0
- package/esm2015/lib/components/option/option.component.js +129 -0
- package/esm2015/lib/components/profile/profile.component.js +198 -0
- package/esm2015/lib/components/recover-account/recover-account.component.js +74 -0
- package/esm2015/lib/components/roles/addRoleDialog.component.js +132 -0
- package/esm2015/lib/components/roles/roles.component.js +211 -0
- package/esm2015/lib/components/select/select.component.js +133 -0
- package/esm2015/lib/components/settings/settings.component.js +118 -0
- package/esm2015/lib/components/signup/signup.component.js +139 -0
- package/esm2015/lib/components/steps/steps.component.js +114 -0
- package/esm2015/lib/components/table/table.component.js +375 -0
- package/esm2015/lib/components/text/text.component.js +240 -0
- package/esm2015/lib/components/tiles/tiles.component.js +95 -0
- package/esm2015/lib/components/timeout/timeout.component.js +133 -0
- package/esm2015/lib/components/tin-spa.component.js +26 -0
- package/esm2015/lib/components/users/users.component.js +373 -0
- package/esm2015/lib/components/viewer/viewer.component.js +92 -0
- package/esm2015/lib/components/viewer/viewerDialog.component.js +131 -0
- package/esm2015/lib/dnd.directive.js +56 -0
- package/esm2015/lib/modules/spa-admin.module.js +81 -0
- package/esm2015/lib/modules/spa-index.module.js +58 -0
- package/esm2015/lib/modules/spa-mat.module.js +68 -0
- package/esm2015/lib/modules/spa-user.module.js +55 -0
- package/esm2015/lib/services/auth.service.js +142 -0
- package/esm2015/lib/services/data.service.js +111 -0
- package/esm2015/lib/services/export.service.js +29 -0
- package/esm2015/lib/services/http.service.js +79 -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 +52 -0
- package/esm2015/lib/services/storage.service.js +43 -0
- package/esm2015/lib/services/tin-spa.service.js +14 -0
- package/esm2015/lib/tin-spa.module.js +156 -0
- package/esm2015/public-api.js +56 -0
- package/esm2015/tin-spa.js +5 -0
- package/esm5/lib/classes/Classes.js +313 -0
- package/esm5/lib/classes/TinCore.js +164 -0
- package/esm5/lib/components/activity/activity.component.js +94 -0
- package/esm5/lib/components/attach/attach.component.js +195 -0
- package/esm5/lib/components/change-password/change-password.component.js +182 -0
- package/esm5/lib/components/check/check.component.js +71 -0
- package/esm5/lib/components/chips/chips.component.js +110 -0
- package/esm5/lib/components/create-account/create-account.component.js +163 -0
- package/esm5/lib/components/date/date.component.js +68 -0
- package/esm5/lib/components/datetime/datetime.component.js +59 -0
- package/esm5/lib/components/filter/filter.component.js +66 -0
- package/esm5/lib/components/html/html.component.js +104 -0
- package/esm5/lib/components/label/label.component.js +119 -0
- package/esm5/lib/components/loader/loader.component.js +56 -0
- package/esm5/lib/components/login/login.component.js +244 -0
- package/esm5/lib/components/logs/logs.component.js +198 -0
- package/esm5/lib/components/message/messageDialog.component.js +144 -0
- 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 +154 -0
- package/esm5/lib/components/nav-menu/nav-menu.component.js +207 -0
- package/esm5/lib/components/option/option.component.js +131 -0
- package/esm5/lib/components/profile/profile.component.js +203 -0
- package/esm5/lib/components/recover-account/recover-account.component.js +77 -0
- package/esm5/lib/components/roles/addRoleDialog.component.js +135 -0
- package/esm5/lib/components/roles/roles.component.js +218 -0
- package/esm5/lib/components/select/select.component.js +136 -0
- package/esm5/lib/components/settings/settings.component.js +122 -0
- package/esm5/lib/components/signup/signup.component.js +142 -0
- package/esm5/lib/components/steps/steps.component.js +128 -0
- package/esm5/lib/components/table/table.component.js +378 -0
- package/esm5/lib/components/text/text.component.js +244 -0
- package/esm5/lib/components/tiles/tiles.component.js +97 -0
- package/esm5/lib/components/timeout/timeout.component.js +136 -0
- package/esm5/lib/components/tin-spa.component.js +25 -0
- package/esm5/lib/components/users/users.component.js +380 -0
- package/esm5/lib/components/viewer/viewer.component.js +94 -0
- package/esm5/lib/components/viewer/viewerDialog.component.js +133 -0
- package/esm5/lib/dnd.directive.js +58 -0
- package/esm5/lib/modules/spa-admin.module.js +85 -0
- package/esm5/lib/modules/spa-index.module.js +62 -0
- package/esm5/lib/modules/spa-mat.module.js +72 -0
- package/esm5/lib/modules/spa-user.module.js +59 -0
- package/esm5/lib/services/auth.service.js +145 -0
- package/esm5/lib/services/data.service.js +113 -0
- package/esm5/lib/services/export.service.js +31 -0
- package/esm5/lib/services/http.service.js +81 -0
- package/esm5/lib/services/loader-interceptor.service.js +80 -0
- package/esm5/lib/services/loader.service.js +19 -0
- package/esm5/lib/services/log.service.js +114 -0
- package/esm5/lib/services/message.service.js +54 -0
- package/esm5/lib/services/storage.service.js +76 -0
- package/esm5/lib/services/tin-spa.service.js +17 -0
- package/esm5/lib/tin-spa.module.js +160 -0
- package/esm5/public-api.js +56 -0
- package/esm5/tin-spa.js +5 -0
- package/fesm2015/tin-spa.js +6204 -0
- package/fesm2015/tin-spa.js.map +1 -0
- package/fesm5/tin-spa.js +6453 -0
- package/fesm5/tin-spa.js.map +1 -0
- package/lib/classes/Classes.d.ts +228 -375
- package/lib/classes/TinCore.d.ts +11 -43
- package/lib/components/activity/activity.component.d.ts +2 -2
- package/lib/components/attach/attach.component.d.ts +27 -15
- package/lib/{pages → components}/change-password/change-password.component.d.ts +4 -4
- package/lib/components/check/check.component.d.ts +3 -8
- package/lib/components/chips/chips.component.d.ts +2 -2
- package/lib/{pages → components}/create-account/create-account.component.d.ts +4 -8
- package/lib/components/date/date.component.d.ts +12 -24
- package/lib/components/datetime/datetime.component.d.ts +2 -6
- package/lib/components/filter/filter.component.d.ts +2 -7
- package/lib/components/html/html.component.d.ts +10 -11
- package/lib/components/label/label.component.d.ts +2 -4
- package/lib/components/loader/loader.component.d.ts +2 -2
- package/lib/components/login/login.component.d.ts +32 -0
- package/lib/components/logs/logs.component.d.ts +18 -0
- package/lib/components/message/messageDialog.component.d.ts +2 -2
- package/lib/components/money/currency-input-mask.directive.d.ts +2 -2
- package/lib/components/money/currency-input-mask.module.d.ts +2 -3
- package/lib/components/money/money.component.d.ts +3 -13
- package/lib/components/nav-menu/nav-menu.component.d.ts +4 -22
- package/lib/components/option/option.component.d.ts +3 -14
- package/lib/{pages → components}/profile/profile.component.d.ts +4 -6
- package/lib/{pages → components}/recover-account/recover-account.component.d.ts +3 -3
- package/lib/components/roles/addRoleDialog.component.d.ts +22 -0
- package/lib/components/roles/roles.component.d.ts +30 -0
- package/lib/components/select/select.component.d.ts +20 -20
- package/lib/{pages → components}/settings/settings.component.d.ts +3 -3
- package/lib/{pages → components}/signup/signup.component.d.ts +4 -4
- package/lib/components/steps/steps.component.d.ts +10 -19
- package/lib/components/table/table.component.d.ts +21 -84
- package/lib/components/text/text.component.d.ts +14 -36
- package/lib/components/tiles/tiles.component.d.ts +7 -21
- package/lib/components/timeout/timeout.component.d.ts +24 -0
- package/lib/components/tin-spa.component.d.ts +6 -3
- package/lib/{pages → components}/users/users.component.d.ts +18 -11
- package/lib/components/viewer/viewer.component.d.ts +5 -11
- package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
- package/lib/dnd.directive.d.ts +11 -0
- package/lib/modules/spa-admin.module.d.ts +10 -10
- package/lib/modules/spa-index.module.d.ts +7 -8
- package/lib/modules/spa-mat.module.d.ts +2 -8
- package/lib/modules/spa-user.module.d.ts +6 -6
- package/lib/services/auth.service.d.ts +4 -16
- package/lib/services/data.service.d.ts +38 -0
- package/lib/services/export.service.d.ts +6 -2
- package/lib/services/http.service.d.ts +2 -2
- package/lib/services/loader-interceptor.service.d.ts +3 -4
- package/lib/services/loader.service.d.ts +2 -2
- package/lib/services/log.service.d.ts +3 -3
- package/lib/services/message.service.d.ts +3 -4
- package/lib/services/storage.service.d.ts +2 -2
- package/lib/services/tin-spa.service.d.ts +2 -2
- package/lib/tin-spa.module.d.ts +34 -83
- package/package.json +16 -24
- package/public-api.d.ts +16 -47
- 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/lib/classes/LibClasses.d.ts +0 -173
- 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/form/form.component.d.ts +0 -47
- package/lib/components/list-dialog/list-dialog.component.d.ts +0 -23
- 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/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/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/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/notifications.service.d.ts +0 -12
- package/lib/services/table-config.service.d.ts +0 -17
- /package/{index.d.ts → tin-spa.d.ts} +0 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/material/form-field";
|
|
7
|
+
import * as i4 from "@angular/material/button";
|
|
8
|
+
function messageDialog_mat_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
+
i0.ɵɵelementStart(0, "mat-label");
|
|
10
|
+
i0.ɵɵtext(1, "Confirm");
|
|
11
|
+
i0.ɵɵelementEnd();
|
|
12
|
+
} }
|
|
13
|
+
function messageDialog_mat_label_2_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementStart(0, "mat-label");
|
|
15
|
+
i0.ɵɵtext(1, "Information");
|
|
16
|
+
i0.ɵɵelementEnd();
|
|
17
|
+
} }
|
|
18
|
+
function messageDialog_mat_label_3_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
i0.ɵɵelementStart(0, "mat-label");
|
|
20
|
+
i0.ɵɵtext(1, "Error");
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
} }
|
|
23
|
+
function messageDialog_p_5_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
i0.ɵɵelementStart(0, "p");
|
|
25
|
+
i0.ɵɵtext(1);
|
|
26
|
+
i0.ɵɵelementEnd();
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
var ctx_r3 = i0.ɵɵnextContext();
|
|
29
|
+
i0.ɵɵadvance(1);
|
|
30
|
+
i0.ɵɵtextInterpolate(ctx_r3._messageDetails);
|
|
31
|
+
} }
|
|
32
|
+
function messageDialog_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelementStart(0, "div");
|
|
34
|
+
i0.ɵɵelementStart(1, "h3");
|
|
35
|
+
i0.ɵɵtext(2);
|
|
36
|
+
i0.ɵɵelementEnd();
|
|
37
|
+
i0.ɵɵelementStart(3, "mat-label");
|
|
38
|
+
i0.ɵɵtext(4);
|
|
39
|
+
i0.ɵɵelementEnd();
|
|
40
|
+
i0.ɵɵelementEnd();
|
|
41
|
+
} if (rf & 2) {
|
|
42
|
+
var ctx_r4 = i0.ɵɵnextContext();
|
|
43
|
+
i0.ɵɵadvance(2);
|
|
44
|
+
i0.ɵɵtextInterpolate(ctx_r4._messageSubject);
|
|
45
|
+
i0.ɵɵadvance(2);
|
|
46
|
+
i0.ɵɵtextInterpolate(ctx_r4._messageDetails);
|
|
47
|
+
} }
|
|
48
|
+
function messageDialog_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
+
i0.ɵɵelementStart(0, "div");
|
|
50
|
+
i0.ɵɵelementStart(1, "mat-label");
|
|
51
|
+
i0.ɵɵtext(2);
|
|
52
|
+
i0.ɵɵelementEnd();
|
|
53
|
+
i0.ɵɵelementEnd();
|
|
54
|
+
} if (rf & 2) {
|
|
55
|
+
var ctx_r5 = i0.ɵɵnextContext();
|
|
56
|
+
i0.ɵɵadvance(2);
|
|
57
|
+
i0.ɵɵtextInterpolate(ctx_r5._messageDetails);
|
|
58
|
+
} }
|
|
59
|
+
function messageDialog_button_9_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
+
var _r10 = i0.ɵɵgetCurrentView();
|
|
61
|
+
i0.ɵɵelementStart(0, "button", 6);
|
|
62
|
+
i0.ɵɵlistener("click", function messageDialog_button_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); var ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.response("yes"); });
|
|
63
|
+
i0.ɵɵtext(1, "Yes");
|
|
64
|
+
i0.ɵɵelementEnd();
|
|
65
|
+
} }
|
|
66
|
+
function messageDialog_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
+
var _r12 = i0.ɵɵgetCurrentView();
|
|
68
|
+
i0.ɵɵelementStart(0, "button", 7);
|
|
69
|
+
i0.ɵɵlistener("click", function messageDialog_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); var ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.response("no"); });
|
|
70
|
+
i0.ɵɵtext(1, "No");
|
|
71
|
+
i0.ɵɵelementEnd();
|
|
72
|
+
} }
|
|
73
|
+
function messageDialog_button_11_Template(rf, ctx) { if (rf & 1) {
|
|
74
|
+
var _r14 = i0.ɵɵgetCurrentView();
|
|
75
|
+
i0.ɵɵelementStart(0, "button", 8);
|
|
76
|
+
i0.ɵɵlistener("click", function messageDialog_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); var ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.response("ok"); });
|
|
77
|
+
i0.ɵɵtext(1, "OK");
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
} }
|
|
80
|
+
var messageDialog = /** @class */ (function () {
|
|
81
|
+
function messageDialog(dialogRef, data) {
|
|
82
|
+
this.dialogRef = dialogRef;
|
|
83
|
+
this.data = data;
|
|
84
|
+
}
|
|
85
|
+
messageDialog.prototype.ngOnInit = function () {
|
|
86
|
+
this.messageType = this.data.type;
|
|
87
|
+
this._messageSubject = this.data.subject;
|
|
88
|
+
this._messageDetails = this.data.details;
|
|
89
|
+
};
|
|
90
|
+
messageDialog.prototype.response = function (resp) {
|
|
91
|
+
this.dialogRef.close(resp);
|
|
92
|
+
};
|
|
93
|
+
messageDialog.ɵfac = function messageDialog_Factory(t) { return new (t || messageDialog)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
94
|
+
messageDialog.ɵcmp = i0.ɵɵdefineComponent({ type: messageDialog, selectors: [["lib-app-message"]], decls: 12, vars: 9, consts: [["mat-dialog-title", ""], [4, "ngIf"], [1, "mat-typography"], ["id", "btnYes", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click", 4, "ngIf"], ["id", "btnNo", "mat-stroked-button", "", 3, "click", 4, "ngIf"], ["id", "btnOK", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click", 4, "ngIf"], ["id", "btnYes", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click"], ["id", "btnNo", "mat-stroked-button", "", 3, "click"], ["id", "btnOK", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click"]], template: function messageDialog_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
+
i0.ɵɵelementStart(0, "h2", 0);
|
|
96
|
+
i0.ɵɵtemplate(1, messageDialog_mat_label_1_Template, 2, 0, "mat-label", 1);
|
|
97
|
+
i0.ɵɵtemplate(2, messageDialog_mat_label_2_Template, 2, 0, "mat-label", 1);
|
|
98
|
+
i0.ɵɵtemplate(3, messageDialog_mat_label_3_Template, 2, 0, "mat-label", 1);
|
|
99
|
+
i0.ɵɵelementEnd();
|
|
100
|
+
i0.ɵɵelementStart(4, "mat-dialog-content", 2);
|
|
101
|
+
i0.ɵɵtemplate(5, messageDialog_p_5_Template, 2, 1, "p", 1);
|
|
102
|
+
i0.ɵɵtemplate(6, messageDialog_div_6_Template, 5, 2, "div", 1);
|
|
103
|
+
i0.ɵɵtemplate(7, messageDialog_div_7_Template, 3, 1, "div", 1);
|
|
104
|
+
i0.ɵɵelementEnd();
|
|
105
|
+
i0.ɵɵelementStart(8, "mat-dialog-actions");
|
|
106
|
+
i0.ɵɵtemplate(9, messageDialog_button_9_Template, 2, 0, "button", 3);
|
|
107
|
+
i0.ɵɵtemplate(10, messageDialog_button_10_Template, 2, 0, "button", 4);
|
|
108
|
+
i0.ɵɵtemplate(11, messageDialog_button_11_Template, 2, 0, "button", 5);
|
|
109
|
+
i0.ɵɵelementEnd();
|
|
110
|
+
} if (rf & 2) {
|
|
111
|
+
i0.ɵɵadvance(1);
|
|
112
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
|
|
113
|
+
i0.ɵɵadvance(1);
|
|
114
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "info");
|
|
115
|
+
i0.ɵɵadvance(1);
|
|
116
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "error");
|
|
117
|
+
i0.ɵɵadvance(2);
|
|
118
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
|
|
119
|
+
i0.ɵɵadvance(1);
|
|
120
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "info");
|
|
121
|
+
i0.ɵɵadvance(1);
|
|
122
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "error");
|
|
123
|
+
i0.ɵɵadvance(2);
|
|
124
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
|
|
125
|
+
i0.ɵɵadvance(1);
|
|
126
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
|
|
127
|
+
i0.ɵɵadvance(1);
|
|
128
|
+
i0.ɵɵproperty("ngIf", ctx.messageType == "info" || ctx.messageType == "error");
|
|
129
|
+
} }, directives: [i1.MatDialogTitle, i2.NgIf, i1.MatDialogContent, i1.MatDialogActions, i3.MatLabel, i4.MatButton], encapsulation: 2 });
|
|
130
|
+
return messageDialog;
|
|
131
|
+
}());
|
|
132
|
+
export { messageDialog };
|
|
133
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(messageDialog, [{
|
|
134
|
+
type: Component,
|
|
135
|
+
args: [{
|
|
136
|
+
selector: 'lib-app-message',
|
|
137
|
+
templateUrl: './messageDialog.component.html'
|
|
138
|
+
}]
|
|
139
|
+
}], function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
140
|
+
type: Inject,
|
|
141
|
+
args: [MAT_DIALOG_DATA]
|
|
142
|
+
}] }]; }, null); })();
|
|
143
|
+
;
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZURpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbWVzc2FnZS9tZXNzYWdlRGlhbG9nLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL21lc3NhZ2UvbWVzc2FnZURpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQWEsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0lDRWhGLGlDQUEwQztJQUFBLHVCQUFPO0lBQUEsaUJBQVk7OztJQUM3RCxpQ0FBdUM7SUFBQSwyQkFBVztJQUFBLGlCQUFZOzs7SUFDOUQsaUNBQXdDO0lBQUEscUJBQUs7SUFBQSxpQkFBWTs7O0lBUXpELHlCQUFrQztJQUFBLFlBQW1CO0lBQUEsaUJBQUk7OztJQUF2QixlQUFtQjtJQUFuQiw0Q0FBbUI7OztJQUlyRCwyQkFFRTtJQUFBLDBCQUFJO0lBQUEsWUFBbUI7SUFBQSxpQkFBSztJQUM1QixpQ0FBVztJQUFBLFlBQW1CO0lBQUEsaUJBQVk7SUFFNUMsaUJBQU07OztJQUhBLGVBQW1CO0lBQW5CLDRDQUFtQjtJQUNaLGVBQW1CO0lBQW5CLDRDQUFtQjs7O0lBTWhDLDJCQUVFO0lBQUEsaUNBQVc7SUFBQSxZQUFtQjtJQUFBLGlCQUFZO0lBRTVDLGlCQUFNOzs7SUFGTyxlQUFtQjtJQUFuQiw0Q0FBbUI7Ozs7SUFTbEMsaUNBQWlIO0lBQTFDLDRLQUFrQixLQUFLLEtBQUU7SUFBaUIsbUJBQUc7SUFBQSxpQkFBUzs7OztJQUU3SCxpQ0FBK0Y7SUFBMUIsK0tBQWtCLElBQUksS0FBRTtJQUFFLGtCQUFFO0lBQUEsaUJBQVM7Ozs7SUFFMUcsaUNBQW1JO0lBQXpDLCtLQUFrQixJQUFJLEtBQUU7SUFBaUIsa0JBQUU7SUFBQSxpQkFBUzs7QURwQ2hKO0lBT0UsdUJBQW9CLFNBQXNDLEVBQWtDLElBQUk7UUFBNUUsY0FBUyxHQUFULFNBQVMsQ0FBNkI7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBQTtJQUFJLENBQUM7SUFHckcsZ0NBQVEsR0FBUjtRQUVFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBRTNDLENBQUM7SUFNRCxnQ0FBUSxHQUFSLFVBQVMsSUFBWTtRQUVuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3QixDQUFDOzhFQXJCVSxhQUFhLDhEQUU0QyxlQUFlO3NEQUZ4RSxhQUFhO1lDVHhCLDZCQUVFO1lBQUEsMEVBQTBDO1lBQzFDLDBFQUF1QztZQUN2QywwRUFBd0M7WUFFMUMsaUJBQUs7WUFFTCw2Q0FHRTtZQUNBLDBEQUFrQztZQUlsQyw4REFFRTtZQU9GLDhEQUVFO1lBS0osaUJBQXFCO1lBRXZCLDBDQUVFO1lBQUEsb0VBQWlIO1lBRWpILHNFQUErRjtZQUUvRixzRUFBbUk7WUFFckksaUJBQXFCOztZQXhDTixlQUE4QjtZQUE5QixtREFBOEI7WUFDOUIsZUFBMkI7WUFBM0IsZ0RBQTJCO1lBQzNCLGVBQTRCO1lBQTVCLGlEQUE0QjtZQVFwQyxlQUE4QjtZQUE5QixtREFBOEI7WUFJNUIsZUFBMkI7WUFBM0IsZ0RBQTJCO1lBUzNCLGVBQTRCO1lBQTVCLGlEQUE0QjtZQVdLLGVBQThCO1lBQTlCLG1EQUE4QjtZQUVoQyxlQUE4QjtZQUE5QixtREFBOEI7WUFFOUIsZUFBbUQ7WUFBbkQsOEVBQW1EOzt3QkR6QzNGO0NBaUNDLEFBNUJELElBNEJDO1NBdkJZLGFBQWE7a0RBQWIsYUFBYTtjQUx6QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsV0FBVyxFQUFFLGdDQUFnQzthQUM5Qzs7c0JBSThELE1BQU07dUJBQUMsZUFBZTs7QUFxQnBGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYXBwLW1lc3NhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlRGlhbG9nLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIG1lc3NhZ2VEaWFsb2cgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPG1lc3NhZ2VEaWFsb2c+LCBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGEpIHsgfVxyXG5cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgdGhpcy5tZXNzYWdlVHlwZSA9IHRoaXMuZGF0YS50eXBlXHJcbiAgICB0aGlzLl9tZXNzYWdlU3ViamVjdCA9IHRoaXMuZGF0YS5zdWJqZWN0O1xyXG4gICAgdGhpcy5fbWVzc2FnZURldGFpbHMgPSB0aGlzLmRhdGEuZGV0YWlscztcclxuXHJcbiAgfVxyXG5cclxuICBtZXNzYWdlVHlwZTtcclxuICBfbWVzc2FnZVN1YmplY3Q7XHJcbiAgX21lc3NhZ2VEZXRhaWxzO1xyXG5cclxuICByZXNwb25zZShyZXNwOiBzdHJpbmcpIHtcclxuXHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXNwKTtcclxuXHJcbiAgfVxyXG5cclxufTtcclxuXHJcblxyXG5cclxuIiwiXHJcbiAgPGgyIG1hdC1kaWFsb2ctdGl0bGU+XHJcblxyXG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cIm1lc3NhZ2VUeXBlPT0nY29uZmlybSdcIj5Db25maXJtPC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibWVzc2FnZVR5cGU9PSdpbmZvJ1wiPkluZm9ybWF0aW9uPC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibWVzc2FnZVR5cGU9PSdlcnJvcidcIj5FcnJvcjwvbWF0LWxhYmVsPlxyXG5cclxuICA8L2gyPlxyXG5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cclxuXHJcblxyXG4gICAgPCEtLSBDb25maXJtIC0tPlxyXG4gICAgPHAgKm5nSWY9XCJtZXNzYWdlVHlwZT09J2NvbmZpcm0nXCI+e3tfbWVzc2FnZURldGFpbHN9fTwvcD5cclxuXHJcblxyXG4gICAgPCEtLSBJbmZvcm1hdGlvbiAtLT5cclxuICAgIDxkaXYgKm5nSWY9XCJtZXNzYWdlVHlwZT09J2luZm8nXCI+XHJcblxyXG4gICAgICA8aDM+e3tfbWVzc2FnZVN1YmplY3R9fTwvaDM+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3tfbWVzc2FnZURldGFpbHN9fTwvbWF0LWxhYmVsPlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8IS0tIEVycm9yIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIm1lc3NhZ2VUeXBlPT0nZXJyb3InXCI+XHJcblxyXG4gICAgICA8bWF0LWxhYmVsPnt7X21lc3NhZ2VEZXRhaWxzfX08L21hdC1sYWJlbD5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG5cclxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuXHJcbiAgPGJ1dHRvbiBpZD1cImJ0blllc1wiIG1hdC1zdHJva2VkLWJ1dHRvbiAgKm5nSWY9XCJtZXNzYWdlVHlwZT09J2NvbmZpcm0nXCIgKGNsaWNrKT1cInJlc3BvbnNlKCd5ZXMnKVwiIGNka0ZvY3VzSW5pdGlhbD5ZZXM8L2J1dHRvbj5cclxuXHJcbiAgPGJ1dHRvbiBpZD1cImJ0bk5vXCIgbWF0LXN0cm9rZWQtYnV0dG9uICpuZ0lmPVwibWVzc2FnZVR5cGU9PSdjb25maXJtJ1wiIChjbGljayk9XCJyZXNwb25zZSgnbm8nKVwiID5ObzwvYnV0dG9uPlxyXG5cclxuICA8YnV0dG9uIGlkPVwiYnRuT0tcIiBtYXQtc3Ryb2tlZC1idXR0b24gKm5nSWY9XCJtZXNzYWdlVHlwZT09J2luZm8nIHx8IG1lc3NhZ2VUeXBlPT0nZXJyb3InXCIgKGNsaWNrKT1cInJlc3BvbnNlKCdvaycpXCIgY2RrRm9jdXNJbml0aWFsPk9LPC9idXR0b24+XHJcblxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuXHJcblxyXG5cclxuIl19
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { Directive, HostListener, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { DecimalPipe } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export var CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR = {
|
|
7
|
+
provide: NG_VALUE_ACCESSOR,
|
|
8
|
+
useExisting: forwardRef(function () { return CurrencyInputMaskDirective; }),
|
|
9
|
+
multi: true
|
|
10
|
+
};
|
|
11
|
+
var CurrencyInputMaskDirective = /** @class */ (function () {
|
|
12
|
+
function CurrencyInputMaskDirective(elementRef, decimalPipe) {
|
|
13
|
+
this.elementRef = elementRef;
|
|
14
|
+
this.decimalPipe = decimalPipe;
|
|
15
|
+
this.DECIMAL_MARK = '.';
|
|
16
|
+
}
|
|
17
|
+
CurrencyInputMaskDirective.prototype.ngOnInit = function () {
|
|
18
|
+
this.el = this.elementRef.nativeElement;
|
|
19
|
+
};
|
|
20
|
+
CurrencyInputMaskDirective.prototype.handleFocus = function (event) {
|
|
21
|
+
var strVal = this.getInputValue();
|
|
22
|
+
var unmaskedStr = this.getUnmaskedValue(strVal);
|
|
23
|
+
this.updateInputValue(unmaskedStr);
|
|
24
|
+
};
|
|
25
|
+
CurrencyInputMaskDirective.prototype.handleCut = function (event) {
|
|
26
|
+
var _this = this;
|
|
27
|
+
setTimeout(function () {
|
|
28
|
+
_this.inputUpdated();
|
|
29
|
+
}, 0);
|
|
30
|
+
};
|
|
31
|
+
CurrencyInputMaskDirective.prototype.handleKeypress = function (event) {
|
|
32
|
+
// Restrict characters
|
|
33
|
+
var newChar = String.fromCharCode(event.which);
|
|
34
|
+
var allowedChars = /^[\d.]+$/;
|
|
35
|
+
if (!allowedChars.test(newChar)) {
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// Handle decimal mark input
|
|
40
|
+
var currentValue = event.target.value;
|
|
41
|
+
var separatorIdx = currentValue.indexOf(this.DECIMAL_MARK);
|
|
42
|
+
var hasFractionalPart = (separatorIdx >= 0);
|
|
43
|
+
if (!hasFractionalPart || newChar !== this.DECIMAL_MARK) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
var isOutsideSelection = !this.isIdxBetweenSelection(separatorIdx);
|
|
47
|
+
if (isOutsideSelection) {
|
|
48
|
+
var positionAfterMark = separatorIdx + 1;
|
|
49
|
+
this.setCursorPosition(positionAfterMark);
|
|
50
|
+
event.preventDefault();
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
CurrencyInputMaskDirective.prototype.handleInput = function (event) {
|
|
55
|
+
this.inputUpdated();
|
|
56
|
+
};
|
|
57
|
+
CurrencyInputMaskDirective.prototype.handlePaste = function (event) {
|
|
58
|
+
var _this = this;
|
|
59
|
+
setTimeout(function () {
|
|
60
|
+
_this.inputUpdated();
|
|
61
|
+
}, 1);
|
|
62
|
+
};
|
|
63
|
+
CurrencyInputMaskDirective.prototype.handleBlur = function (event) {
|
|
64
|
+
var strVal = this.getInputValue();
|
|
65
|
+
var numVal = this.convertStrToDecimal(strVal);
|
|
66
|
+
this.maskInput(numVal);
|
|
67
|
+
this.onModelTouched.apply(event);
|
|
68
|
+
};
|
|
69
|
+
CurrencyInputMaskDirective.prototype.registerOnChange = function (callbackFunction) {
|
|
70
|
+
this.onModelChange = callbackFunction;
|
|
71
|
+
};
|
|
72
|
+
CurrencyInputMaskDirective.prototype.registerOnTouched = function (callbackFunction) {
|
|
73
|
+
this.onModelTouched = callbackFunction;
|
|
74
|
+
};
|
|
75
|
+
CurrencyInputMaskDirective.prototype.setDisabledState = function (value) {
|
|
76
|
+
this.el.disabled = value;
|
|
77
|
+
};
|
|
78
|
+
CurrencyInputMaskDirective.prototype.writeValue = function (numValue) {
|
|
79
|
+
this.maskInput(numValue);
|
|
80
|
+
};
|
|
81
|
+
CurrencyInputMaskDirective.prototype.maskInput = function (numVal) {
|
|
82
|
+
if (!this.isNumeric(numVal)) {
|
|
83
|
+
this.updateInputValue('');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
var strVal = this.convertDecimalToStr(numVal);
|
|
87
|
+
var newVal = this.transformWithPipe(strVal);
|
|
88
|
+
this.updateInputValue(newVal);
|
|
89
|
+
};
|
|
90
|
+
CurrencyInputMaskDirective.prototype.inputUpdated = function () {
|
|
91
|
+
this.restrictDecimalValue();
|
|
92
|
+
var strVal = this.getInputValue();
|
|
93
|
+
var unmaskedVal = this.getUnmaskedValue(strVal);
|
|
94
|
+
var numVal = this.convertStrToDecimal(unmaskedVal);
|
|
95
|
+
if (numVal !== this.lastNumVal) {
|
|
96
|
+
this.lastNumVal = numVal;
|
|
97
|
+
this.onModelChange(numVal);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
CurrencyInputMaskDirective.prototype.restrictDecimalValue = function () {
|
|
101
|
+
var strVal = this.getInputValue();
|
|
102
|
+
var dotIdx = strVal.indexOf(this.DECIMAL_MARK);
|
|
103
|
+
var hasFractionalPart = (dotIdx >= 0);
|
|
104
|
+
if (hasFractionalPart) {
|
|
105
|
+
var fractionalPart = strVal.substring(dotIdx + 1);
|
|
106
|
+
if (fractionalPart.length > 2) {
|
|
107
|
+
var choppedVal = strVal.substring(0, dotIdx + 3);
|
|
108
|
+
this.updateInputValue(choppedVal, true);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
CurrencyInputMaskDirective.prototype.transformWithPipe = function (str) {
|
|
114
|
+
return this.decimalPipe.transform(str, '1.2-2');
|
|
115
|
+
};
|
|
116
|
+
CurrencyInputMaskDirective.prototype.getUnmaskedValue = function (value) {
|
|
117
|
+
return value.replace(/[^-\d\\.]/g, '');
|
|
118
|
+
};
|
|
119
|
+
CurrencyInputMaskDirective.prototype.updateInputValue = function (value, savePosition) {
|
|
120
|
+
if (savePosition === void 0) { savePosition = false; }
|
|
121
|
+
if (savePosition) {
|
|
122
|
+
this.saveCursorPosition();
|
|
123
|
+
}
|
|
124
|
+
this.el.value = value;
|
|
125
|
+
};
|
|
126
|
+
CurrencyInputMaskDirective.prototype.getInputValue = function () {
|
|
127
|
+
return this.el.value;
|
|
128
|
+
};
|
|
129
|
+
CurrencyInputMaskDirective.prototype.convertStrToDecimal = function (str) {
|
|
130
|
+
return (this.isNumeric(str)) ? parseFloat(str) : null;
|
|
131
|
+
};
|
|
132
|
+
CurrencyInputMaskDirective.prototype.convertDecimalToStr = function (n) {
|
|
133
|
+
return (this.isNumeric(n)) ? n + '' : '';
|
|
134
|
+
};
|
|
135
|
+
CurrencyInputMaskDirective.prototype.isNumeric = function (n) {
|
|
136
|
+
return !isNaN(parseFloat(n)) && isFinite(n);
|
|
137
|
+
};
|
|
138
|
+
CurrencyInputMaskDirective.prototype.saveCursorPosition = function () {
|
|
139
|
+
var _this = this;
|
|
140
|
+
var position = this.el.selectionStart;
|
|
141
|
+
setTimeout(function () {
|
|
142
|
+
_this.setCursorPosition(position);
|
|
143
|
+
}, 1);
|
|
144
|
+
};
|
|
145
|
+
CurrencyInputMaskDirective.prototype.setCursorPosition = function (position) {
|
|
146
|
+
this.el.selectionStart = position;
|
|
147
|
+
this.el.selectionEnd = position;
|
|
148
|
+
};
|
|
149
|
+
CurrencyInputMaskDirective.prototype.isIdxBetweenSelection = function (idx) {
|
|
150
|
+
if (this.el.selectionStart === this.el.selectionEnd) {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
return (idx >= this.el.selectionStart && idx < this.el.selectionEnd);
|
|
154
|
+
};
|
|
155
|
+
CurrencyInputMaskDirective.ɵfac = function CurrencyInputMaskDirective_Factory(t) { return new (t || CurrencyInputMaskDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.DecimalPipe)); };
|
|
156
|
+
CurrencyInputMaskDirective.ɵdir = i0.ɵɵdefineDirective({ type: CurrencyInputMaskDirective, selectors: [["", "appCurrencyInputMask", ""]], hostBindings: function CurrencyInputMaskDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
157
|
+
i0.ɵɵlistener("focus", function CurrencyInputMaskDirective_focus_HostBindingHandler($event) { return ctx.handleFocus($event); })("cut", function CurrencyInputMaskDirective_cut_HostBindingHandler($event) { return ctx.handleCut($event); })("keypress", function CurrencyInputMaskDirective_keypress_HostBindingHandler($event) { return ctx.handleKeypress($event); })("input", function CurrencyInputMaskDirective_input_HostBindingHandler($event) { return ctx.handleInput($event); })("paste", function CurrencyInputMaskDirective_paste_HostBindingHandler($event) { return ctx.handlePaste($event); })("blur", function CurrencyInputMaskDirective_blur_HostBindingHandler($event) { return ctx.handleBlur($event); });
|
|
158
|
+
} }, features: [i0.ɵɵProvidersFeature([
|
|
159
|
+
CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR,
|
|
160
|
+
DecimalPipe
|
|
161
|
+
])] });
|
|
162
|
+
return CurrencyInputMaskDirective;
|
|
163
|
+
}());
|
|
164
|
+
export { CurrencyInputMaskDirective };
|
|
165
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CurrencyInputMaskDirective, [{
|
|
166
|
+
type: Directive,
|
|
167
|
+
args: [{
|
|
168
|
+
selector: '[appCurrencyInputMask]',
|
|
169
|
+
providers: [
|
|
170
|
+
CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR,
|
|
171
|
+
DecimalPipe
|
|
172
|
+
]
|
|
173
|
+
}]
|
|
174
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i1.DecimalPipe }]; }, { handleFocus: [{
|
|
175
|
+
type: HostListener,
|
|
176
|
+
args: ['focus', ['$event']]
|
|
177
|
+
}], handleCut: [{
|
|
178
|
+
type: HostListener,
|
|
179
|
+
args: ['cut', ['$event']]
|
|
180
|
+
}], handleKeypress: [{
|
|
181
|
+
type: HostListener,
|
|
182
|
+
args: ['keypress', ['$event']]
|
|
183
|
+
}], handleInput: [{
|
|
184
|
+
type: HostListener,
|
|
185
|
+
args: ['input', ['$event']]
|
|
186
|
+
}], handlePaste: [{
|
|
187
|
+
type: HostListener,
|
|
188
|
+
args: ['paste', ['$event']]
|
|
189
|
+
}], handleBlur: [{
|
|
190
|
+
type: HostListener,
|
|
191
|
+
args: ['blur', ['$event']]
|
|
192
|
+
}] }); })();
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktaW5wdXQtbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbW9uZXkvY3VycmVuY3ktaW5wdXQtbWFzay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ0EsVUFBVSxFQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFOUMsTUFBTSxDQUFDLElBQU0sNENBQTRDLEdBQVE7SUFDL0QsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSwwQkFBMEIsRUFBMUIsQ0FBMEIsQ0FBQztJQUN6RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRjtJQWNFLG9DQUNVLFVBQXNCLEVBQ3RCLFdBQXdCO1FBRHhCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFKMUIsaUJBQVksR0FBRyxHQUFHLENBQUM7SUFLdkIsQ0FBQztJQUVMLDZDQUFRLEdBQVI7UUFDRSxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQzFDLENBQUM7SUFHRCxnREFBVyxHQURYLFVBQ1ksS0FBVTtRQUNwQixJQUFNLE1BQU0sR0FBVyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDNUMsSUFBTSxXQUFXLEdBQVcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBR0QsOENBQVMsR0FEVCxVQUNVLEtBQVU7UUFEcEIsaUJB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QUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDOztrQkF5Qm5DLFlBQVk7bUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztrQkFLaEMsWUFBWTttQkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O2tCQU9oQyxZQUFZO21CQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgT25Jbml0LFxyXG4gIERpcmVjdGl2ZSxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgRWxlbWVudFJlZiwgZm9yd2FyZFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmV4cG9ydCBjb25zdCBDVVJSRU5DWV9JTlBVVF9NQVNLX0RJUkVDVElWRV9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEN1cnJlbmN5SW5wdXRNYXNrRGlyZWN0aXZlKSxcclxuICBtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXBwQ3VycmVuY3lJbnB1dE1hc2tdJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIENVUlJFTkNZX0lOUFVUX01BU0tfRElSRUNUSVZFX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgRGVjaW1hbFBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUlucHV0TWFza0RpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xyXG4gIHByaXZhdGUgZWw6IEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBvbk1vZGVsQ2hhbmdlOiBGdW5jdGlvbjtcclxuICBwcml2YXRlIG9uTW9kZWxUb3VjaGVkOiBGdW5jdGlvbjtcclxuICBwcml2YXRlIGxhc3ROdW1WYWw6IG51bWJlcjtcclxuICBwcml2YXRlIERFQ0lNQUxfTUFSSyA9ICcuJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5lbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUZvY3VzKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHN0clZhbDogc3RyaW5nID0gdGhpcy5nZXRJbnB1dFZhbHVlKCk7XHJcbiAgICBjb25zdCB1bm1hc2tlZFN0cjogc3RyaW5nID0gdGhpcy5nZXRVbm1hc2tlZFZhbHVlKHN0clZhbCk7XHJcbiAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUodW5tYXNrZWRTdHIpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY3V0JywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVDdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wdXRVcGRhdGVkKCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXByZXNzJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlwcmVzcyhldmVudDogYW55KSB7XHJcbiAgICAvLyBSZXN0cmljdCBjaGFyYWN0ZXJzXHJcbiAgICBjb25zdCBuZXdDaGFyOiBzdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGV2ZW50LndoaWNoKTtcclxuICAgIGNvbnN0IGFsbG93ZWRDaGFyczogUmVnRXhwID0gL15bXFxkLl0rJC87XHJcbiAgICBpZiAoIWFsbG93ZWRDaGFycy50ZXN0KG5ld0NoYXIpKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIEhhbmRsZSBkZWNpbWFsIG1hcmsgaW5wdXRcclxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZTogc3RyaW5nID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgY29uc3Qgc2VwYXJhdG9ySWR4OiBudW1iZXIgPSBjdXJyZW50VmFsdWUuaW5kZXhPZih0aGlzLkRFQ0lNQUxfTUFSSyk7XHJcbiAgICBjb25zdCBoYXNGcmFjdGlvbmFsUGFydDogYm9vbGVhbiA9IChzZXBhcmF0b3JJZHggPj0gMCk7XHJcbiAgICBpZiAoIWhhc0ZyYWN0aW9uYWxQYXJ0IHx8IG5ld0NoYXIgIT09IHRoaXMuREVDSU1BTF9NQVJLKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGlzT3V0c2lkZVNlbGVjdGlvbiA9ICF0aGlzLmlzSWR4QmV0d2VlblNlbGVjdGlvbihzZXBhcmF0b3JJZHgpO1xyXG4gICAgaWYgKGlzT3V0c2lkZVNlbGVjdGlvbikge1xyXG4gICAgICBjb25zdCBwb3NpdGlvbkFmdGVyTWFyayA9IHNlcGFyYXRvcklkeCArIDE7XHJcbiAgICAgIHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24ocG9zaXRpb25BZnRlck1hcmspO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlSW5wdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5pbnB1dFVwZGF0ZWQoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVQYXN0ZShldmVudDogYW55KSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5pbnB1dFVwZGF0ZWQoKTtcclxuICAgIH0sIDEpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlQmx1cihldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBzdHJWYWw6IHN0cmluZyA9IHRoaXMuZ2V0SW5wdXRWYWx1ZSgpO1xyXG4gICAgY29uc3QgbnVtVmFsOiBudW1iZXIgPSB0aGlzLmNvbnZlcnRTdHJUb0RlY2ltYWwoc3RyVmFsKTtcclxuICAgIHRoaXMubWFza0lucHV0KG51bVZhbCk7XHJcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkLmFwcGx5KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoY2FsbGJhY2tGdW5jdGlvbjogRnVuY3Rpb24pOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGNhbGxiYWNrRnVuY3Rpb247XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChjYWxsYmFja0Z1bmN0aW9uOiBGdW5jdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGNhbGxiYWNrRnVuY3Rpb247XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsLmRpc2FibGVkID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKG51bVZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMubWFza0lucHV0KG51bVZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFza0lucHV0KG51bVZhbDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNOdW1lcmljKG51bVZhbCkpIHtcclxuICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKCcnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3RyVmFsOiBzdHJpbmcgPSB0aGlzLmNvbnZlcnREZWNpbWFsVG9TdHIobnVtVmFsKTtcclxuICAgIGNvbnN0IG5ld1ZhbDogc3RyaW5nID0gdGhpcy50cmFuc2Zvcm1XaXRoUGlwZShzdHJWYWwpO1xyXG4gICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKG5ld1ZhbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlucHV0VXBkYXRlZCgpIHtcclxuICAgIHRoaXMucmVzdHJpY3REZWNpbWFsVmFsdWUoKTtcclxuICAgIGNvbnN0IHN0clZhbDogc3RyaW5nID0gdGhpcy5nZXRJbnB1dFZhbHVlKCk7XHJcbiAgICBjb25zdCB1bm1hc2tlZFZhbDogc3RyaW5nID0gdGhpcy5nZXRVbm1hc2tlZFZhbHVlKHN0clZhbCk7XHJcbiAgICBjb25zdCBudW1WYWw6IG51bWJlciA9IHRoaXMuY29udmVydFN0clRvRGVjaW1hbCh1bm1hc2tlZFZhbCk7XHJcbiAgICBpZiAobnVtVmFsICE9PSB0aGlzLmxhc3ROdW1WYWwpIHtcclxuICAgICAgdGhpcy5sYXN0TnVtVmFsID0gbnVtVmFsO1xyXG4gICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UobnVtVmFsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzdHJpY3REZWNpbWFsVmFsdWUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdHJWYWw6IHN0cmluZyA9IHRoaXMuZ2V0SW5wdXRWYWx1ZSgpO1xyXG4gICAgY29uc3QgZG90SWR4OiBudW1iZXIgPSBzdHJWYWwuaW5kZXhPZih0aGlzLkRFQ0lNQUxfTUFSSyk7XHJcbiAgICBjb25zdCBoYXNGcmFjdGlvbmFsUGFydDogYm9vbGVhbiA9IChkb3RJZHggPj0gMCk7XHJcbiAgICBpZiAoaGFzRnJhY3Rpb25hbFBhcnQpIHtcclxuICAgICAgY29uc3QgZnJhY3Rpb25hbFBhcnQ6IHN0cmluZyA9IHN0clZhbC5zdWJzdHJpbmcoZG90SWR4ICsgMSk7XHJcbiAgICAgIGlmIChmcmFjdGlvbmFsUGFydC5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgY29uc3QgY2hvcHBlZFZhbDogc3RyaW5nID0gc3RyVmFsLnN1YnN0cmluZygwLCBkb3RJZHggKyAzKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUoY2hvcHBlZFZhbCwgdHJ1ZSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1XaXRoUGlwZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0oc3RyLCAnMS4yLTInKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VW5tYXNrZWRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bXi1cXGRcXFxcLl0vZywgJycpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVJbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcsIHNhdmVQb3NpdGlvbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAoc2F2ZVBvc2l0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2F2ZUN1cnNvclBvc2l0aW9uKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmVsLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldElucHV0VmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVsLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0U3RyVG9EZWNpbWFsKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIHJldHVybiAodGhpcy5pc051bWVyaWMoc3RyKSkgPyBwYXJzZUZsb2F0KHN0cikgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0RGVjaW1hbFRvU3RyKG46IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuaXNOdW1lcmljKG4pKSA/IG4gKyAnJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc051bWVyaWMobjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIWlzTmFOKHBhcnNlRmxvYXQobikpICYmIGlzRmluaXRlKG4pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXZlQ3Vyc29yUG9zaXRpb24oKSB7XHJcbiAgICBjb25zdCBwb3NpdGlvbjogbnVtYmVyID0gdGhpcy5lbC5zZWxlY3Rpb25TdGFydDtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldEN1cnNvclBvc2l0aW9uKHBvc2l0aW9uKTtcclxuICAgIH0sIDEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDdXJzb3JQb3NpdGlvbihwb3NpdGlvbjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID0gcG9zaXRpb247XHJcbiAgICB0aGlzLmVsLnNlbGVjdGlvbkVuZCA9IHBvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0lkeEJldHdlZW5TZWxlY3Rpb24oaWR4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLnNlbGVjdGlvbkVuZCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGlkeCA+PSB0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ICYmIGlkeCA8IHRoaXMuZWwuc2VsZWN0aW9uRW5kKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { CurrencyInputMaskDirective } from './currency-input-mask.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
var CurrencyInputModule = /** @class */ (function () {
|
|
7
|
+
function CurrencyInputModule() {
|
|
8
|
+
}
|
|
9
|
+
CurrencyInputModule.ɵmod = i0.ɵɵdefineNgModule({ type: CurrencyInputModule });
|
|
10
|
+
CurrencyInputModule.ɵinj = i0.ɵɵdefineInjector({ factory: function CurrencyInputModule_Factory(t) { return new (t || CurrencyInputModule)(); }, imports: [[
|
|
11
|
+
CommonModule,
|
|
12
|
+
FormsModule
|
|
13
|
+
]] });
|
|
14
|
+
return CurrencyInputModule;
|
|
15
|
+
}());
|
|
16
|
+
export { CurrencyInputModule };
|
|
17
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CurrencyInputModule, { declarations: [CurrencyInputMaskDirective], imports: [CommonModule,
|
|
18
|
+
FormsModule], exports: [CurrencyInputMaskDirective] }); })();
|
|
19
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CurrencyInputModule, [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
imports: [
|
|
23
|
+
CommonModule,
|
|
24
|
+
FormsModule
|
|
25
|
+
],
|
|
26
|
+
declarations: [
|
|
27
|
+
CurrencyInputMaskDirective
|
|
28
|
+
],
|
|
29
|
+
exports: [
|
|
30
|
+
CurrencyInputMaskDirective
|
|
31
|
+
]
|
|
32
|
+
}]
|
|
33
|
+
}], null, null); })();
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktaW5wdXQtbWFzay5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbW9uZXkvY3VycmVuY3ktaW5wdXQtbWFzay5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUU3RTtJQUFBO0tBYUM7MkRBRFksbUJBQW1CO3lIQUFuQixtQkFBbUIsa0JBWHJCO2dCQUNQLFlBQVk7Z0JBQ1osV0FBVzthQUNaOzhCQVZIO0NBbUJDLEFBYkQsSUFhQztTQURZLG1CQUFtQjt3RkFBbkIsbUJBQW1CLG1CQU41QiwwQkFBMEIsYUFKMUIsWUFBWTtRQUNaLFdBQVcsYUFNWCwwQkFBMEI7a0RBR2pCLG1CQUFtQjtjQVovQixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztpQkFDWjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsMEJBQTBCO2lCQUMzQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBDdXJyZW5jeUlucHV0TWFza0RpcmVjdGl2ZSB9IGZyb20gJy4vY3VycmVuY3ktaW5wdXQtbWFzay5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBDdXJyZW5jeUlucHV0TWFza0RpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ3VycmVuY3lJbnB1dE1hc2tEaXJlY3RpdmVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUlucHV0TW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormControl, Validators } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/form-field";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/material/input";
|
|
7
|
+
import * as i4 from "@angular/forms";
|
|
8
|
+
import * as i5 from "./currency-input-mask.directive";
|
|
9
|
+
function MoneyComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
+
i0.ɵɵelementStart(0, "span", 4);
|
|
11
|
+
i0.ɵɵtext(1);
|
|
12
|
+
i0.ɵɵelementEnd();
|
|
13
|
+
} if (rf & 2) {
|
|
14
|
+
var ctx_r0 = i0.ɵɵnextContext();
|
|
15
|
+
i0.ɵɵadvance(1);
|
|
16
|
+
i0.ɵɵtextInterpolate1("", ctx_r0.currency, "\u00A0");
|
|
17
|
+
} }
|
|
18
|
+
function MoneyComponent_mat_error_5_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
i0.ɵɵelementStart(0, "mat-error");
|
|
20
|
+
i0.ɵɵtext(1);
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
} if (rf & 2) {
|
|
23
|
+
var ctx_r1 = i0.ɵɵnextContext();
|
|
24
|
+
i0.ɵɵadvance(1);
|
|
25
|
+
i0.ɵɵtextInterpolate(ctx_r1.validate(ctx_r1.control));
|
|
26
|
+
} }
|
|
27
|
+
var _c0 = function (a0) { return { "width": a0 }; };
|
|
28
|
+
var MoneyComponent = /** @class */ (function () {
|
|
29
|
+
function MoneyComponent() {
|
|
30
|
+
this.readonly = false;
|
|
31
|
+
this.hint = "";
|
|
32
|
+
this.display = "";
|
|
33
|
+
this.placeholder = "";
|
|
34
|
+
this.value = "";
|
|
35
|
+
this.width = "100%";
|
|
36
|
+
this.currency = "";
|
|
37
|
+
this.valueChange = new EventEmitter();
|
|
38
|
+
this.leave = new EventEmitter();
|
|
39
|
+
this.enterPress = new EventEmitter();
|
|
40
|
+
//validation input
|
|
41
|
+
this.required = true;
|
|
42
|
+
this.min = 0;
|
|
43
|
+
this.max = 9000000000000000; //Math.max 9000000000000000
|
|
44
|
+
//validation
|
|
45
|
+
this.control = new FormControl(this.value, [Validators.required, Validators.min(this.min), Validators.max(this.max)]);
|
|
46
|
+
}
|
|
47
|
+
MoneyComponent.prototype.ngOnInit = function () {
|
|
48
|
+
if (this.placeholder == "") {
|
|
49
|
+
this.placeholder = "Enter " + this.display;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
MoneyComponent.prototype.ngOnChanges = function () {
|
|
53
|
+
};
|
|
54
|
+
MoneyComponent.prototype.ngAfterViewInit = function () {
|
|
55
|
+
this.initControl(this.control);
|
|
56
|
+
};
|
|
57
|
+
MoneyComponent.prototype.initControl = function (control) {
|
|
58
|
+
if (this.readonly) {
|
|
59
|
+
control.setValidators(null);
|
|
60
|
+
control.updateValueAndValidity();
|
|
61
|
+
}
|
|
62
|
+
if (!this.required && !this.readonly) {
|
|
63
|
+
control.setValidators([Validators.min(this.min), Validators.max(this.max)]);
|
|
64
|
+
this.control.updateValueAndValidity();
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
MoneyComponent.prototype.changed = function (x) {
|
|
68
|
+
this.valueChange.emit(x);
|
|
69
|
+
};
|
|
70
|
+
MoneyComponent.prototype.leaved = function () {
|
|
71
|
+
this.leave.emit();
|
|
72
|
+
};
|
|
73
|
+
MoneyComponent.prototype.enterPressed = function () {
|
|
74
|
+
this.enterPress.emit();
|
|
75
|
+
};
|
|
76
|
+
MoneyComponent.prototype.validate = function (control) {
|
|
77
|
+
if (this.required && control.hasError('required')) {
|
|
78
|
+
return "Required";
|
|
79
|
+
}
|
|
80
|
+
if (parseFloat(this.value) < this.min) {
|
|
81
|
+
return "Minimun value is " + this.min;
|
|
82
|
+
}
|
|
83
|
+
if (parseFloat(this.value) > this.max) {
|
|
84
|
+
return "Maximum value is " + this.max;
|
|
85
|
+
}
|
|
86
|
+
if (control.hasError('min')) {
|
|
87
|
+
return "Minimun value is " + this.min;
|
|
88
|
+
}
|
|
89
|
+
if (control.hasError('max')) {
|
|
90
|
+
return "Maximum value is " + this.max;
|
|
91
|
+
}
|
|
92
|
+
return "";
|
|
93
|
+
};
|
|
94
|
+
MoneyComponent.ɵfac = function MoneyComponent_Factory(t) { return new (t || MoneyComponent)(); };
|
|
95
|
+
MoneyComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MoneyComponent, selectors: [["spa-money"]], inputs: { readonly: "readonly", hint: "hint", display: "display", placeholder: "placeholder", value: "value", width: "width", currency: "currency", required: "required", min: "min", max: "max" }, outputs: { valueChange: "valueChange", leave: "leave", enterPress: "enterPress" }, features: [i0.ɵɵNgOnChangesFeature], decls: 6, vars: 13, consts: [["hideRequiredMarker", "true", "hideRequiredMarker", "true", 2, "margin-right", "5px", 3, "hintLabel", "ngStyle"], ["matInput", "", "appCurrencyInputMask", "", "autocomplete", "off", 2, "text-align", "right", 3, "min", "max", "ngModel", "placeholder", "formControl", "readonly", "ngModelChange", "keyup.enter", "blur"], ["matPrefix", "", 4, "ngIf"], [4, "ngIf"], ["matPrefix", ""]], template: function MoneyComponent_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
+
i0.ɵɵelementStart(0, "mat-form-field", 0);
|
|
97
|
+
i0.ɵɵelementStart(1, "mat-label");
|
|
98
|
+
i0.ɵɵtext(2);
|
|
99
|
+
i0.ɵɵelementEnd();
|
|
100
|
+
i0.ɵɵelementStart(3, "input", 1);
|
|
101
|
+
i0.ɵɵlistener("ngModelChange", function MoneyComponent_Template_input_ngModelChange_3_listener($event) { return ctx.changed($event); })("keyup.enter", function MoneyComponent_Template_input_keyup_enter_3_listener() { return ctx.enterPressed(); })("blur", function MoneyComponent_Template_input_blur_3_listener() { return ctx.leaved(); });
|
|
102
|
+
i0.ɵɵelementEnd();
|
|
103
|
+
i0.ɵɵtemplate(4, MoneyComponent_span_4_Template, 2, 1, "span", 2);
|
|
104
|
+
i0.ɵɵtemplate(5, MoneyComponent_mat_error_5_Template, 2, 1, "mat-error", 3);
|
|
105
|
+
i0.ɵɵelementEnd();
|
|
106
|
+
} if (rf & 2) {
|
|
107
|
+
i0.ɵɵproperty("hintLabel", ctx.hint)("ngStyle", i0.ɵɵpureFunction1(11, _c0, ctx.width));
|
|
108
|
+
i0.ɵɵadvance(2);
|
|
109
|
+
i0.ɵɵtextInterpolate(ctx.display);
|
|
110
|
+
i0.ɵɵadvance(1);
|
|
111
|
+
i0.ɵɵproperty("min", ctx.min)("max", ctx.max)("ngModel", ctx.value)("placeholder", ctx.placeholder)("formControl", ctx.control)("readonly", ctx.readonly);
|
|
112
|
+
i0.ɵɵadvance(1);
|
|
113
|
+
i0.ɵɵproperty("ngIf", ctx.currency != "");
|
|
114
|
+
i0.ɵɵadvance(1);
|
|
115
|
+
i0.ɵɵproperty("ngIf", ctx.control.invalid);
|
|
116
|
+
} }, directives: [i1.MatFormField, i2.NgStyle, i1.MatLabel, i3.MatInput, i4.DefaultValueAccessor, i5.CurrencyInputMaskDirective, i4.NgControlStatus, i4.FormControlDirective, i2.NgIf, i1.MatPrefix, i1.MatError], styles: ["input.example-right-align[_ngcontent-%COMP%]{-moz-appearance:textfield}.example-right-align[_ngcontent-%COMP%]{text-align:right}input.example-right-align[_ngcontent-%COMP%]::-webkit-inner-spin-button, input.example-right-align[_ngcontent-%COMP%]::-webkit-outer-spin-button{display:none}.curr[_ngcontent-%COMP%]{background-color:red}"] });
|
|
117
|
+
return MoneyComponent;
|
|
118
|
+
}());
|
|
119
|
+
export { MoneyComponent };
|
|
120
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(MoneyComponent, [{
|
|
121
|
+
type: Component,
|
|
122
|
+
args: [{
|
|
123
|
+
selector: 'spa-money',
|
|
124
|
+
templateUrl: './money.component.html',
|
|
125
|
+
styleUrls: ['./money.component.css']
|
|
126
|
+
}]
|
|
127
|
+
}], function () { return []; }, { readonly: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], hint: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], display: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], placeholder: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], value: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], width: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], currency: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], valueChange: [{
|
|
142
|
+
type: Output
|
|
143
|
+
}], leave: [{
|
|
144
|
+
type: Output
|
|
145
|
+
}], enterPress: [{
|
|
146
|
+
type: Output
|
|
147
|
+
}], required: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], min: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], max: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}] }); })();
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL21vbmV5L21vbmV5LmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL21vbmV5L21vbmV5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7SUNNdkQsK0JBQXFDO0lBQUEsWUFBa0I7SUFBQSxpQkFBTzs7O0lBQXpCLGVBQWtCO0lBQWxCLG9EQUFrQjs7O0lBQ3ZELGlDQUFtQztJQUFBLFlBQXFCO0lBQUEsaUJBQVk7OztJQUFqQyxlQUFxQjtJQUFyQixxREFBcUI7OztBREwxRDtJQU9FO1FBNEJTLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsVUFBSyxHQUFHLE1BQU0sQ0FBQTtRQUNkLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFYixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJMUMsa0JBQWtCO1FBQ1QsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsUUFBRyxHQUFHLGdCQUFnQixDQUFDLENBQUMsMkJBQTJCO1FBZTVELFlBQVk7UUFDWixZQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFD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QSxnQ0FBQSw0QkFBQSwwQkFBQTtZQUVMLGVBQW9CO1lBQXBCLHlDQUFvQjtZQUNmLGVBQXVCO1lBQXZCLDBDQUF1Qjs7eUJEUnBDO0NBbUdDLEFBaEdELElBZ0dDO1NBM0ZZLGNBQWM7a0RBQWQsY0FBYztjQUwxQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7Z0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2FBQ3JDOztrQkErQkUsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBRUwsTUFBTTs7a0JBQ04sTUFBTTs7a0JBQ04sTUFBTTs7a0JBS04sS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1tb25leScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21vbmV5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tb25leS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmV5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wbGFjZWhvbGRlciA9PSBcIlwiKSB7XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBcIkVudGVyIFwiICsgdGhpcy5kaXNwbGF5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5pbml0Q29udHJvbCh0aGlzLmNvbnRyb2wpXHJcbiAgfVxyXG5cclxuICBpbml0Q29udHJvbChjb250cm9sOiBGb3JtQ29udHJvbCkge1xyXG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKG51bGwpO1xyXG4gICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5yZXF1aXJlZCAmJiAhdGhpcy5yZWFkb25seSkge1xyXG5cclxuICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLm1pbih0aGlzLm1pbiksIFZhbGlkYXRvcnMubWF4KHRoaXMubWF4KV0pO1xyXG4gICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoaW50ID0gXCJcIjtcclxuICBASW5wdXQoKSBkaXNwbGF5ID0gXCJcIjtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiXCI7XHJcbiAgQElucHV0KCkgdmFsdWUgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHdpZHRoID0gXCIxMDAlXCJcclxuICBASW5wdXQoKSBjdXJyZW5jeSA9IFwiXCI7XHJcblxyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGVudGVyUHJlc3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuXHJcbiAgLy92YWxpZGF0aW9uIGlucHV0XHJcbiAgQElucHV0KCkgcmVxdWlyZWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIG1pbiA9IDA7XHJcbiAgQElucHV0KCkgbWF4ID0gOTAwMDAwMDAwMDAwMDAwMDsgLy9NYXRoLm1heCA5MDAwMDAwMDAwMDAwMDAwXHJcblxyXG5cclxuICBjaGFuZ2VkKHgpe1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHgpO1xyXG4gIH1cclxuXHJcbiAgbGVhdmVkKCkge1xyXG4gICAgdGhpcy5sZWF2ZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBlbnRlclByZXNzZWQoKSB7XHJcbiAgICB0aGlzLmVudGVyUHJlc3MuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy92YWxpZGF0aW9uXHJcbiAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0aGlzLnZhbHVlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4odGhpcy5taW4pLCBWYWxpZGF0b3JzLm1heCh0aGlzLm1heCldKTtcclxuXHJcbiAgdmFsaWRhdGUoY29udHJvbDogRm9ybUNvbnRyb2wpOiBzdHJpbmcge1xyXG5cclxuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmIGNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcclxuICAgICAgcmV0dXJuIGBSZXF1aXJlZGA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBhcnNlRmxvYXQodGhpcy52YWx1ZSkgPCB0aGlzLm1pbil7XHJcbiAgICAgIHJldHVybiBgTWluaW11biB2YWx1ZSBpcyAke3RoaXMubWlufWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBhcnNlRmxvYXQodGhpcy52YWx1ZSkgPiB0aGlzLm1heCkge1xyXG4gICAgICByZXR1cm4gYE1heGltdW0gdmFsdWUgaXMgJHt0aGlzLm1heH1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb250cm9sLmhhc0Vycm9yKCdtaW4nKSkge1xyXG4gICAgICByZXR1cm4gYE1pbmltdW4gdmFsdWUgaXMgJHt0aGlzLm1pbn1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb250cm9sLmhhc0Vycm9yKCdtYXgnKSkge1xyXG4gICAgICByZXR1cm4gYE1heGltdW0gdmFsdWUgaXMgJHt0aGlzLm1heH1gO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIlxyXG5cclxuPG1hdC1mb3JtLWZpZWxkIGhpZGVSZXF1aXJlZE1hcmtlcj1cInRydWVcIiBbaGludExhYmVsXT1cImhpbnRcIiAgW25nU3R5bGVdPVwieyd3aWR0aCc6d2lkdGh9XCIgaGlkZVJlcXVpcmVkTWFya2VyPVwidHJ1ZVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA1cHg7XCI+XHJcbiAgPG1hdC1sYWJlbD57e2Rpc3BsYXl9fTwvbWF0LWxhYmVsPlxyXG4gIDxpbnB1dCBtYXRJbnB1dCBhcHBDdXJyZW5jeUlucHV0TWFzayBhdXRvY29tcGxldGU9XCJvZmZcIiBzdHlsZT1cInRleHQtYWxpZ246IHJpZ2h0O1wiXHJcbiAgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiXHJcbiAgW25nTW9kZWxdPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VkKCRldmVudClcIiAoa2V5dXAuZW50ZXIpPVwiZW50ZXJQcmVzc2VkKClcIiAoYmx1cik9XCJsZWF2ZWQoKVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgLz5cclxuICA8c3BhbiAqbmdJZj1cImN1cnJlbmN5IT0nJ1wiIG1hdFByZWZpeD57e2N1cnJlbmN5fX0mbmJzcDs8L3NwYW4+XHJcbiAgPG1hdC1lcnJvciAqbmdJZj1cImNvbnRyb2wuaW52YWxpZFwiPnt7dmFsaWRhdGUoY29udHJvbCl9fTwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuIl19
|