master-control 0.2.6 → 0.2.7
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/ng-package.json +7 -0
- package/package.json +12 -25
- package/src/lib/add-document/add-document.component.css +50 -0
- package/src/lib/add-document/add-document.component.html +31 -0
- package/src/lib/add-document/add-document.component.ts +17 -0
- package/src/lib/addition-button/addition-button.component.css +16 -0
- package/src/lib/addition-button/addition-button.component.html +20 -0
- package/src/lib/addition-button/addition-button.component.ts +13 -0
- package/src/lib/age-date/age-date.component.css +126 -0
- package/src/lib/age-date/age-date.component.html +82 -0
- package/src/lib/age-date/age-date.component.ts +104 -0
- package/src/lib/amount-textbox/amount-textbox.component.css +131 -0
- package/src/lib/amount-textbox/amount-textbox.component.html +69 -0
- package/src/lib/amount-textbox/amount-textbox.component.ts +53 -0
- package/src/lib/annuity-rate-logo/annuity-rate-logo.component.css +9 -0
- package/src/lib/annuity-rate-logo/annuity-rate-logo.component.html +6 -0
- package/src/lib/annuity-rate-logo/annuity-rate-logo.component.ts +13 -0
- package/src/lib/autocomplete/autocomplete.component.css +240 -0
- package/src/lib/autocomplete/autocomplete.component.html +61 -0
- package/src/lib/autocomplete/autocomplete.component.ts +85 -0
- package/src/lib/benefit-card/benefit-card.component.css +46 -0
- package/src/lib/benefit-card/benefit-card.component.html +25 -0
- package/src/lib/benefit-card/benefit-card.component.ts +13 -0
- package/src/lib/button/button.component.css +24 -0
- package/src/lib/button/button.component.html +22 -0
- package/src/lib/button/button.component.ts +16 -0
- package/src/lib/card/card.component.css +37 -0
- package/src/lib/card/card.component.html +24 -0
- package/src/lib/card/card.component.ts +13 -0
- package/src/lib/checkbox/checkbox.component.css +65 -0
- package/src/lib/checkbox/checkbox.component.html +23 -0
- package/src/lib/checkbox/checkbox.component.ts +70 -0
- package/src/lib/discount/discount.component.css +45 -0
- package/src/lib/discount/discount.component.html +51 -0
- package/src/lib/discount/discount.component.ts +14 -0
- package/src/lib/discount-v2/discount-v2.component.css +34 -0
- package/src/lib/discount-v2/discount-v2.component.html +20 -0
- package/src/lib/discount-v2/discount-v2.component.ts +14 -0
- package/src/lib/dob/dob.component.css +117 -0
- package/src/lib/dob/dob.component.html +88 -0
- package/src/lib/dob/dob.component.ts +107 -0
- package/src/lib/download-document/download-document.component.css +53 -0
- package/src/lib/download-document/download-document.component.html +38 -0
- package/src/lib/download-document/download-document.component.ts +17 -0
- package/src/lib/email-with-domain/email-with-domain.component.css +130 -0
- package/src/lib/email-with-domain/email-with-domain.component.html +73 -0
- package/src/lib/email-with-domain/email-with-domain.component.ts +51 -0
- package/src/lib/error-snackbar/error-snackbar.component.css +36 -0
- package/src/lib/error-snackbar/error-snackbar.component.html +21 -0
- package/src/lib/error-snackbar/error-snackbar.component.ts +19 -0
- package/src/lib/grey-label/grey-label.component.css +13 -0
- package/src/lib/grey-label/grey-label.component.html +7 -0
- package/src/lib/grey-label/grey-label.component.ts +13 -0
- package/src/lib/header/header.component.css +13 -0
- package/src/lib/header/header.component.html +9 -0
- package/src/lib/header/header.component.ts +14 -0
- package/src/lib/hr-line/hr-line.component.css +13 -0
- package/src/lib/hr-line/hr-line.component.html +7 -0
- package/src/lib/hr-line/hr-line.component.ts +13 -0
- package/src/lib/hyperlink/hyperlink.component.css +18 -0
- package/src/lib/hyperlink/hyperlink.component.html +8 -0
- package/src/lib/hyperlink/hyperlink.component.ts +13 -0
- package/src/lib/icon-button/icon-button.component.css +20 -0
- package/src/lib/icon-button/icon-button.component.html +17 -0
- package/src/lib/icon-button/icon-button.component.ts +13 -0
- package/src/lib/iframe/iframe.component.css +0 -0
- package/src/lib/iframe/iframe.component.html +7 -0
- package/src/lib/iframe/iframe.component.ts +32 -0
- package/src/lib/image/image.component.css +7 -0
- package/src/lib/image/image.component.html +3 -0
- package/src/lib/image/image.component.ts +13 -0
- package/src/lib/image-upload/image-upload.component.css +67 -0
- package/src/lib/image-upload/image-upload.component.html +61 -0
- package/src/lib/image-upload/image-upload.component.ts +17 -0
- package/src/lib/in-built-benefit/in-built-benefit.component.css +58 -0
- package/src/lib/in-built-benefit/in-built-benefit.component.html +30 -0
- package/src/lib/in-built-benefit/in-built-benefit.component.ts +16 -0
- package/src/lib/info/info.component.css +25 -0
- package/src/lib/info/info.component.html +21 -0
- package/src/lib/info/info.component.ts +15 -0
- package/src/lib/info-textbox/info-textbox.component.css +121 -0
- package/src/lib/info-textbox/info-textbox.component.html +83 -0
- package/src/lib/info-textbox/info-textbox.component.ts +52 -0
- package/src/lib/label/label.component.css +13 -0
- package/src/lib/label/label.component.html +7 -0
- package/src/lib/label/label.component.ts +14 -0
- package/src/lib/label-value-card/label-value-card.component.css +34 -0
- package/src/lib/label-value-card/label-value-card.component.html +12 -0
- package/src/lib/label-value-card/label-value-card.component.ts +15 -0
- package/src/lib/loader/loader.component.css +127 -0
- package/src/lib/loader/loader.component.html +37 -0
- package/src/lib/loader/loader.component.spec.ts +23 -0
- package/src/lib/loader/loader.component.ts +13 -0
- package/src/lib/master-control.component.css +0 -0
- package/src/lib/master-control.component.html +216 -0
- package/src/lib/master-control.component.spec.ts +23 -0
- package/src/lib/master-control.component.ts +143 -0
- package/src/lib/master-control.service.spec.ts +16 -0
- package/src/lib/master-control.service.ts +214 -0
- package/src/lib/medial-questions/medial-questions.component.css +52 -0
- package/src/lib/medial-questions/medial-questions.component.html +250 -0
- package/src/lib/medial-questions/medial-questions.component.ts +689 -0
- package/{esm2022 → src}/lib/medial-questions/questions.json +39682 -39682
- package/src/lib/mob-number/mob-number.component.css +141 -0
- package/src/lib/mob-number/mob-number.component.html +82 -0
- package/src/lib/mob-number/mob-number.component.ts +53 -0
- package/src/lib/multiple-select/multiple-select.component.css +331 -0
- package/src/lib/multiple-select/multiple-select.component.html +100 -0
- package/src/lib/multiple-select/multiple-select.component.ts +115 -0
- package/src/lib/neutral-snackbar/neutral-snackbar.component.css +31 -0
- package/src/lib/neutral-snackbar/neutral-snackbar.component.html +21 -0
- package/src/lib/neutral-snackbar/neutral-snackbar.component.ts +19 -0
- package/src/lib/other-benefits/other-benefits.component.css +78 -0
- package/src/lib/other-benefits/other-benefits.component.html +21 -0
- package/src/lib/other-benefits/other-benefits.component.ts +13 -0
- package/src/lib/otp-mob-number/otp-mob-number.component.css +171 -0
- package/src/lib/otp-mob-number/otp-mob-number.component.html +101 -0
- package/src/lib/otp-mob-number/otp-mob-number.component.ts +54 -0
- package/src/lib/otp-textbox/otp-textbox.component.css +168 -0
- package/src/lib/otp-textbox/otp-textbox.component.html +84 -0
- package/src/lib/otp-textbox/otp-textbox.component.ts +57 -0
- package/src/lib/page-nudge/page-nudge.component.css +35 -0
- package/src/lib/page-nudge/page-nudge.component.html +13 -0
- package/src/lib/page-nudge/page-nudge.component.ts +13 -0
- package/src/lib/pay-get-card/pay-get-card.component.css +36 -0
- package/src/lib/pay-get-card/pay-get-card.component.html +20 -0
- package/src/lib/pay-get-card/pay-get-card.component.ts +18 -0
- package/src/lib/radio/radio.component.css +57 -0
- package/src/lib/radio/radio.component.html +37 -0
- package/src/lib/radio/radio.component.ts +55 -0
- package/src/lib/search-multi-select/search-multi-select.component.css +325 -0
- package/src/lib/search-multi-select/search-multi-select.component.html +125 -0
- package/src/lib/search-multi-select/search-multi-select.component.ts +164 -0
- package/src/lib/select/select.component.css +246 -0
- package/src/lib/select/select.component.html +72 -0
- package/src/lib/select/select.component.ts +95 -0
- package/src/lib/select-textbox/select-textbox.component.css +262 -0
- package/src/lib/select-textbox/select-textbox.component.html +77 -0
- package/src/lib/select-textbox/select-textbox.component.ts +72 -0
- package/src/lib/stepper/stepper.component.css +25 -0
- package/src/lib/stepper/stepper.component.html +16 -0
- package/src/lib/stepper/stepper.component.ts +20 -0
- package/src/lib/sub-header/sub-header.component.css +13 -0
- package/src/lib/sub-header/sub-header.component.html +9 -0
- package/src/lib/sub-header/sub-header.component.ts +13 -0
- package/src/lib/subscript-textbox/subscript-textbox.component.css +139 -0
- package/src/lib/subscript-textbox/subscript-textbox.component.html +85 -0
- package/src/lib/subscript-textbox/subscript-textbox.component.ts +53 -0
- package/src/lib/success-snackbar/success-snackbar.component.css +32 -0
- package/src/lib/success-snackbar/success-snackbar.component.html +21 -0
- package/src/lib/success-snackbar/success-snackbar.component.ts +19 -0
- package/src/lib/suffix-textbox/suffix-textbox.component.css +157 -0
- package/src/lib/suffix-textbox/suffix-textbox.component.html +84 -0
- package/src/lib/suffix-textbox/suffix-textbox.component.ts +54 -0
- package/src/lib/tab/tab.component.css +19 -0
- package/src/lib/tab/tab.component.html +17 -0
- package/src/lib/tab/tab.component.ts +27 -0
- package/src/lib/table/table.component.css +121 -0
- package/src/lib/table/table.component.html +41 -0
- package/src/lib/table/table.component.spec.ts +23 -0
- package/src/lib/table/table.component.ts +84 -0
- package/src/lib/tag-mob-number/tag-mob-number.component.css +167 -0
- package/src/lib/tag-mob-number/tag-mob-number.component.html +95 -0
- package/src/lib/tag-mob-number/tag-mob-number.component.ts +55 -0
- package/src/lib/textarea/textarea.component.css +34 -0
- package/src/lib/textarea/textarea.component.html +23 -0
- package/src/lib/textarea/textarea.component.ts +16 -0
- package/src/lib/textbox/textbox.component.css +118 -0
- package/src/lib/textbox/textbox.component.html +80 -0
- package/src/lib/textbox/textbox.component.ts +55 -0
- package/src/lib/textbox-with-image/textbox-with-image.component.css +118 -0
- package/src/lib/textbox-with-image/textbox-with-image.component.html +82 -0
- package/src/lib/textbox-with-image/textbox-with-image.component.ts +47 -0
- package/src/lib/textbox-with-text/textbox-with-text.component.css +124 -0
- package/src/lib/textbox-with-text/textbox-with-text.component.html +84 -0
- package/src/lib/textbox-with-text/textbox-with-text.component.ts +53 -0
- package/src/lib/textbox-with-underscore/textbox-with-underscore.component.css +121 -0
- package/src/lib/textbox-with-underscore/textbox-with-underscore.component.html +79 -0
- package/src/lib/textbox-with-underscore/textbox-with-underscore.component.ts +62 -0
- package/src/lib/toggle/toggle.component.css +101 -0
- package/src/lib/toggle/toggle.component.html +39 -0
- package/src/lib/toggle/toggle.component.ts +16 -0
- package/src/lib/toggle-button/toggle-button.component.css +87 -0
- package/src/lib/toggle-button/toggle-button.component.html +34 -0
- package/src/lib/toggle-button/toggle-button.component.ts +14 -0
- package/src/lib/underscore-mob-number/underscore-mob-number.component.css +147 -0
- package/src/lib/underscore-mob-number/underscore-mob-number.component.html +87 -0
- package/src/lib/underscore-mob-number/underscore-mob-number.component.ts +65 -0
- package/src/lib/upload/upload.component.css +81 -0
- package/src/lib/upload/upload.component.html +62 -0
- package/src/lib/upload/upload.component.ts +20 -0
- package/src/lib/warning-snackbar/warning-snackbar.component.css +29 -0
- package/src/lib/warning-snackbar/warning-snackbar.component.html +21 -0
- package/src/lib/warning-snackbar/warning-snackbar.component.ts +19 -0
- package/{public-api.d.ts → src/public-api.ts} +60 -56
- package/tsconfig.lib.json +15 -0
- package/tsconfig.lib.prod.json +11 -0
- package/tsconfig.spec.json +15 -0
- package/esm2022/lib/add-document/add-document.component.mjs +0 -18
- package/esm2022/lib/addition-button/addition-button.component.mjs +0 -14
- package/esm2022/lib/age-date/age-date.component.mjs +0 -132
- package/esm2022/lib/amount-textbox/amount-textbox.component.mjs +0 -63
- package/esm2022/lib/annuity-rate-logo/annuity-rate-logo.component.mjs +0 -15
- package/esm2022/lib/autocomplete/autocomplete.component.mjs +0 -90
- package/esm2022/lib/benefit-card/benefit-card.component.mjs +0 -14
- package/esm2022/lib/button/button.component.mjs +0 -19
- package/esm2022/lib/card/card.component.mjs +0 -14
- package/esm2022/lib/checkbox/checkbox.component.mjs +0 -79
- package/esm2022/lib/discount/discount.component.mjs +0 -14
- package/esm2022/lib/discount-v2/discount-v2.component.mjs +0 -16
- package/esm2022/lib/dob/dob.component.mjs +0 -118
- package/esm2022/lib/download-document/download-document.component.mjs +0 -18
- package/esm2022/lib/email-with-domain/email-with-domain.component.mjs +0 -60
- package/esm2022/lib/error-snackbar/error-snackbar.component.mjs +0 -21
- package/esm2022/lib/grey-label/grey-label.component.mjs +0 -14
- package/esm2022/lib/header/header.component.mjs +0 -14
- package/esm2022/lib/hr-line/hr-line.component.mjs +0 -14
- package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -14
- package/esm2022/lib/icon-button/icon-button.component.mjs +0 -14
- package/esm2022/lib/iframe/iframe.component.mjs +0 -32
- package/esm2022/lib/image/image.component.mjs +0 -14
- package/esm2022/lib/image-upload/image-upload.component.mjs +0 -18
- package/esm2022/lib/in-built-benefit/in-built-benefit.component.mjs +0 -20
- package/esm2022/lib/info/info.component.mjs +0 -19
- package/esm2022/lib/info-textbox/info-textbox.component.mjs +0 -62
- package/esm2022/lib/label/label.component.mjs +0 -14
- package/esm2022/lib/label-value-card/label-value-card.component.mjs +0 -15
- package/esm2022/lib/loader/loader.component.mjs +0 -14
- package/esm2022/lib/master-control.component.mjs +0 -140
- package/esm2022/lib/master-control.service.mjs +0 -212
- package/esm2022/lib/medial-questions/medial-questions.component.mjs +0 -601
- package/esm2022/lib/mob-number/mob-number.component.mjs +0 -65
- package/esm2022/lib/multiple-select/multiple-select.component.mjs +0 -119
- package/esm2022/lib/neutral-snackbar/neutral-snackbar.component.mjs +0 -21
- package/esm2022/lib/other-benefits/other-benefits.component.mjs +0 -14
- package/esm2022/lib/otp-mob-number/otp-mob-number.component.mjs +0 -63
- package/esm2022/lib/otp-textbox/otp-textbox.component.mjs +0 -68
- package/esm2022/lib/pay-get-card/pay-get-card.component.mjs +0 -29
- package/esm2022/lib/radio/radio.component.mjs +0 -58
- package/esm2022/lib/search-multi-select/search-multi-select.component.mjs +0 -127
- package/esm2022/lib/select/select.component.mjs +0 -99
- package/esm2022/lib/select-textbox/select-textbox.component.mjs +0 -83
- package/esm2022/lib/stepper/stepper.component.mjs +0 -25
- package/esm2022/lib/sub-header/sub-header.component.mjs +0 -14
- package/esm2022/lib/subscript-textbox/subscript-textbox.component.mjs +0 -62
- package/esm2022/lib/success-snackbar/success-snackbar.component.mjs +0 -21
- package/esm2022/lib/suffix-textbox/suffix-textbox.component.mjs +0 -65
- package/esm2022/lib/tab/tab.component.mjs +0 -32
- package/esm2022/lib/table/table.component.mjs +0 -82
- package/esm2022/lib/tag-mob-number/tag-mob-number.component.mjs +0 -66
- package/esm2022/lib/textarea/textarea.component.mjs +0 -20
- package/esm2022/lib/textbox/textbox.component.mjs +0 -67
- package/esm2022/lib/textbox-with-image/textbox-with-image.component.mjs +0 -57
- package/esm2022/lib/textbox-with-text/textbox-with-text.component.mjs +0 -58
- package/esm2022/lib/textbox-with-underscore/textbox-with-underscore.component.mjs +0 -71
- package/esm2022/lib/toggle/toggle.component.mjs +0 -20
- package/esm2022/lib/toggle-button/toggle-button.component.mjs +0 -16
- package/esm2022/lib/underscore-mob-number/underscore-mob-number.component.mjs +0 -74
- package/esm2022/lib/upload/upload.component.mjs +0 -24
- package/esm2022/lib/warning-snackbar/warning-snackbar.component.mjs +0 -21
- package/esm2022/master-control.mjs +0 -5
- package/esm2022/public-api.mjs +0 -60
- package/fesm2022/master-control.mjs +0 -42759
- package/fesm2022/master-control.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/add-document/add-document.component.d.ts +0 -6
- package/lib/addition-button/addition-button.component.d.ts +0 -6
- package/lib/age-date/age-date.component.d.ts +0 -20
- package/lib/amount-textbox/amount-textbox.component.d.ts +0 -17
- package/lib/annuity-rate-logo/annuity-rate-logo.component.d.ts +0 -7
- package/lib/autocomplete/autocomplete.component.d.ts +0 -25
- package/lib/benefit-card/benefit-card.component.d.ts +0 -6
- package/lib/button/button.component.d.ts +0 -9
- package/lib/card/card.component.d.ts +0 -6
- package/lib/checkbox/checkbox.component.d.ts +0 -20
- package/lib/discount/discount.component.d.ts +0 -6
- package/lib/discount-v2/discount-v2.component.d.ts +0 -6
- package/lib/dob/dob.component.d.ts +0 -32
- package/lib/download-document/download-document.component.d.ts +0 -6
- package/lib/email-with-domain/email-with-domain.component.d.ts +0 -19
- package/lib/error-snackbar/error-snackbar.component.d.ts +0 -10
- package/lib/grey-label/grey-label.component.d.ts +0 -6
- package/lib/header/header.component.d.ts +0 -6
- package/lib/hr-line/hr-line.component.d.ts +0 -6
- package/lib/hyperlink/hyperlink.component.d.ts +0 -6
- package/lib/icon-button/icon-button.component.d.ts +0 -6
- package/lib/iframe/iframe.component.d.ts +0 -13
- package/lib/image/image.component.d.ts +0 -6
- package/lib/image-upload/image-upload.component.d.ts +0 -6
- package/lib/in-built-benefit/in-built-benefit.component.d.ts +0 -8
- package/lib/info/info.component.d.ts +0 -9
- package/lib/info-textbox/info-textbox.component.d.ts +0 -16
- package/lib/label/label.component.d.ts +0 -6
- package/lib/label-value-card/label-value-card.component.d.ts +0 -7
- package/lib/loader/loader.component.d.ts +0 -6
- package/lib/master-control.component.d.ts +0 -9
- package/lib/master-control.service.d.ts +0 -11
- package/lib/medial-questions/medial-questions.component.d.ts +0 -62
- package/lib/mob-number/mob-number.component.d.ts +0 -21
- package/lib/multiple-select/multiple-select.component.d.ts +0 -27
- package/lib/neutral-snackbar/neutral-snackbar.component.d.ts +0 -10
- package/lib/other-benefits/other-benefits.component.d.ts +0 -6
- package/lib/otp-mob-number/otp-mob-number.component.d.ts +0 -17
- package/lib/otp-textbox/otp-textbox.component.d.ts +0 -17
- package/lib/pay-get-card/pay-get-card.component.d.ts +0 -11
- package/lib/radio/radio.component.d.ts +0 -18
- package/lib/search-multi-select/search-multi-select.component.d.ts +0 -27
- package/lib/select/select.component.d.ts +0 -22
- package/lib/select-textbox/select-textbox.component.d.ts +0 -17
- package/lib/stepper/stepper.component.d.ts +0 -11
- package/lib/sub-header/sub-header.component.d.ts +0 -6
- package/lib/subscript-textbox/subscript-textbox.component.d.ts +0 -16
- package/lib/success-snackbar/success-snackbar.component.d.ts +0 -10
- package/lib/suffix-textbox/suffix-textbox.component.d.ts +0 -16
- package/lib/tab/tab.component.d.ts +0 -14
- package/lib/table/table.component.d.ts +0 -23
- package/lib/tag-mob-number/tag-mob-number.component.d.ts +0 -17
- package/lib/textarea/textarea.component.d.ts +0 -9
- package/lib/textbox/textbox.component.d.ts +0 -20
- package/lib/textbox-with-image/textbox-with-image.component.d.ts +0 -16
- package/lib/textbox-with-text/textbox-with-text.component.d.ts +0 -16
- package/lib/textbox-with-underscore/textbox-with-underscore.component.d.ts +0 -18
- package/lib/toggle/toggle.component.d.ts +0 -9
- package/lib/toggle-button/toggle-button.component.d.ts +0 -6
- package/lib/underscore-mob-number/underscore-mob-number.component.d.ts +0 -19
- package/lib/upload/upload.component.d.ts +0 -9
- package/lib/warning-snackbar/warning-snackbar.component.d.ts +0 -10
- package/master-control-0.2.6.tgz +0 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
.field-lable{
|
|
2
|
+
font-size: 10px !important;
|
|
3
|
+
font-weight: 700 !important;
|
|
4
|
+
color: #444 !important;
|
|
5
|
+
margin-bottom: 0px !important;
|
|
6
|
+
}
|
|
7
|
+
.right-input-text{
|
|
8
|
+
font-weight: 400;
|
|
9
|
+
font-size: 12px;
|
|
10
|
+
color: #696969;
|
|
11
|
+
}
|
|
12
|
+
.error-message{
|
|
13
|
+
color: red;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.checkbox-tag{
|
|
17
|
+
font-size: 10px;
|
|
18
|
+
font-weight: 700;
|
|
19
|
+
color: #444;
|
|
20
|
+
margin-right: 5px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.checkbox{
|
|
24
|
+
padding: 4px 8px 3px 0px;
|
|
25
|
+
background: #f5f5f5;
|
|
26
|
+
border-radius: 4px;
|
|
27
|
+
margin-right: 8px;
|
|
28
|
+
}
|
|
29
|
+
* {
|
|
30
|
+
font-family: "mulish" !important;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.optional-checkbox.mat-mdc-checkbox label{
|
|
34
|
+
font-size: 10px !important;
|
|
35
|
+
font-weight: 700 !important;
|
|
36
|
+
color: #444 !important;
|
|
37
|
+
padding: 0px !important;
|
|
38
|
+
margin-bottom: 2px;
|
|
39
|
+
}
|
|
40
|
+
.optional-checkbox .mdc-checkbox{
|
|
41
|
+
flex: 0 0 12px !important;
|
|
42
|
+
}
|
|
43
|
+
.optional-checkbox, .mdc-checkbox__background{
|
|
44
|
+
transform: translate(-2px, -1px);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.below-input-text{
|
|
48
|
+
font-weight: 400;
|
|
49
|
+
font-size: 12px;
|
|
50
|
+
color: #444;
|
|
51
|
+
font-family: "Mulish";
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* focus css for mat-form-field */
|
|
55
|
+
::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused
|
|
56
|
+
.mat-mdc-notch-piece {
|
|
57
|
+
border-color: var(--custom-border-color-focus, #ffbb00) !important;
|
|
58
|
+
border-width: var(--custom-border-width-focus, 1.5px) !important;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
::ng-deep .mat-mdc-form-field {
|
|
62
|
+
background-color: var(--custom-bg-color, #ffffff) !important;
|
|
63
|
+
border-radius: var(--custom-border-radius , 7px) !important;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* hover css for mat-form-field */
|
|
67
|
+
|
|
68
|
+
::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(
|
|
69
|
+
.mdc-text-field--focused
|
|
70
|
+
):hover
|
|
71
|
+
.mdc-notched-outline
|
|
72
|
+
.mdc-notched-outline__leading {
|
|
73
|
+
border-color: var(--custom-border-color-hover, #ffbb00) !important;
|
|
74
|
+
border-width: var(--custom-border-width-hover, 1.5px) !important;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(
|
|
78
|
+
.mdc-text-field--focused
|
|
79
|
+
):hover
|
|
80
|
+
.mdc-notched-outline
|
|
81
|
+
.mdc-notched-outline__notch {
|
|
82
|
+
border-color: var(--custom-border-color-hover, #ffbb00) !important;
|
|
83
|
+
border-width: var(--custom-border-width-hover, 1.5px) !important;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(
|
|
87
|
+
.mdc-text-field--focused
|
|
88
|
+
):hover
|
|
89
|
+
.mdc-notched-outline
|
|
90
|
+
.mdc-notched-outline__trailing {
|
|
91
|
+
border-color: var(--custom-border-color-hover, #ffbb00) !important;
|
|
92
|
+
border-width: var(--custom-border-width-hover, 1.5px) !important;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* regular css for mat-form-field */
|
|
96
|
+
::ng-deep .mdc-text-field--outlined .mat-mdc-notch-piece {
|
|
97
|
+
border-color: var(--custom-border-color, #dddddd) !important;
|
|
98
|
+
border-width: var(--custom-border-width, 1.5px) !important;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* field css for mat-form-input-field */
|
|
102
|
+
::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled)
|
|
103
|
+
.mdc-text-field__input {
|
|
104
|
+
caret-color: var(--custom-caret-color, #ffbb00) !important;
|
|
105
|
+
/* font-size: var(--custom-font-size, 16px) !important; */
|
|
106
|
+
font-size: 12px !important;
|
|
107
|
+
font-weight: var(--custom-font-weight, 400) !important;
|
|
108
|
+
font-family: var(--custom-font-family, 'Mulish') !important;
|
|
109
|
+
color: var(--custom-font-color, #444444) !important;
|
|
110
|
+
}
|
|
111
|
+
/* Error state for mat-form-field */
|
|
112
|
+
::ng-deep .mat-form-field-invalid
|
|
113
|
+
.mdc-text-field--outlined .mat-mdc-notch-piece {
|
|
114
|
+
border-color: var(--custom-border-color-error, red) !important;
|
|
115
|
+
border-width: var(--custom-border-width-error, 1.5px) !important;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
::ng-deep .mat-mdc-form-field.mat-form-field-disabled{
|
|
119
|
+
background: var(--custom-bg-color-disabled, #ECECEC) !important;
|
|
120
|
+
}
|
|
121
|
+
::ng-deep .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input {
|
|
122
|
+
color : var(--custom-font-color-disabled, #999999) !important;
|
|
123
|
+
}
|
|
124
|
+
::ng-deep .mdc-label {
|
|
125
|
+
color: var(--custom-font-color, #444) !important;
|
|
126
|
+
font-size: var(--custom-font-size, 16px) !important;
|
|
127
|
+
font-weight: var(--custom-font-weight, 400) !important;
|
|
128
|
+
font-family: var(--custom-font-family, 'Mulish') !important;
|
|
129
|
+
}
|
|
130
|
+
::placeholder {
|
|
131
|
+
color: #8f8f8f !important;
|
|
132
|
+
font-size: 12px !important;
|
|
133
|
+
}
|
|
134
|
+
::ng-deep .mat-mdc-form-field-hint-wrapper{
|
|
135
|
+
padding: 0px !important;
|
|
136
|
+
}
|
|
137
|
+
::ng-deep .mat-mdc-form-field-error-wrapper{
|
|
138
|
+
padding: 0px !important;
|
|
139
|
+
}
|
|
140
|
+
::ng-deep .mat-mdc-form-field-error{
|
|
141
|
+
color: #EE0000 !important;
|
|
142
|
+
font-size: 12px;
|
|
143
|
+
font-weight: 500;
|
|
144
|
+
font-family: "Mulish" !important;
|
|
145
|
+
letter-spacing: 0;
|
|
146
|
+
}
|
|
147
|
+
::ng-deep .mdc-text-field--outlined {
|
|
148
|
+
--mdc-outlined-text-field-container-shape: var(--custom-border-radius , 7px) !important;
|
|
149
|
+
}
|
|
150
|
+
::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece {
|
|
151
|
+
border-color: var(--custom-border-color-error, red) !important;
|
|
152
|
+
border-width: var(--custom-border-width-error, 1.5px) !important;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
::ng-deep .mat-mdc-form-field-subscript-wrapper {
|
|
156
|
+
display: none !important;
|
|
157
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<label class="field-lable" *ngIf="field() && field()?.isVisible && field().isShowLabel"
|
|
2
|
+
>{{ field()?.label
|
|
3
|
+
}}<span style="color: red" *ngIf="field() && field()?.validators?.isRequired"
|
|
4
|
+
>*</span
|
|
5
|
+
>
|
|
6
|
+
<img class="ms-1" [src]="field().configData?.labelIconUrl" [title]="field().configData?.tooltipMessage" />
|
|
7
|
+
</label
|
|
8
|
+
>
|
|
9
|
+
<mat-form-field class="w-100" appearance="outline" [ngStyle]="{
|
|
10
|
+
'--custom-border-color': field()?.controlStyle?.borderColor ,
|
|
11
|
+
'--custom-border-width': field()?.controlStyle?.borderWidth ,
|
|
12
|
+
'--custom-border-radius': field()?.controlStyle?.borderRadius ,
|
|
13
|
+
'--custom-bg-color': field()?.controlStyle?.background ,
|
|
14
|
+
'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,
|
|
15
|
+
'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,
|
|
16
|
+
'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,
|
|
17
|
+
'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,
|
|
18
|
+
'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,
|
|
19
|
+
'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,
|
|
20
|
+
'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,
|
|
21
|
+
'--custom-font-size': field()?.controlStyle?.fontSize ,
|
|
22
|
+
'--custom-font-weight': field()?.controlStyle?.fontWeight ,
|
|
23
|
+
'--custom-font-family': field()?.controlStyle?.fontFamily ,
|
|
24
|
+
'--custom-font-color': field()?.controlStyle?.color ,
|
|
25
|
+
'--custom-caret-color': field()?.controlStyle?.caretColor ,
|
|
26
|
+
'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,
|
|
27
|
+
'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,
|
|
28
|
+
}">
|
|
29
|
+
@if(reactiveFormControlobject()) {
|
|
30
|
+
<input
|
|
31
|
+
matInput
|
|
32
|
+
autocomplete="none"
|
|
33
|
+
[type]="field()?.controlType"
|
|
34
|
+
[name]="field()?.fieldName"
|
|
35
|
+
[id]="field()?.fieldName"
|
|
36
|
+
[placeholder]="field()?.placeHolder"
|
|
37
|
+
[maxLength]="field()?.validators?.maxLength"
|
|
38
|
+
[minLength]="field()?.validators?.minLength"
|
|
39
|
+
[disabled]="field()?.isDisable"
|
|
40
|
+
[required]="field()?.validators?.isRequired"
|
|
41
|
+
[pattern]="field()?.validators?.pattern"
|
|
42
|
+
(input)="onInputChange($event)"
|
|
43
|
+
(blur)="onInputBlur()"
|
|
44
|
+
[value]="inputValue"
|
|
45
|
+
[formControl]="reactiveFormControlobject()"
|
|
46
|
+
/>
|
|
47
|
+
}@else {
|
|
48
|
+
<input
|
|
49
|
+
matInput
|
|
50
|
+
autocomplete="none"
|
|
51
|
+
[type]="field()?.controlType"
|
|
52
|
+
[name]="field()?.fieldName"
|
|
53
|
+
[id]="field()?.fieldName"
|
|
54
|
+
[placeholder]="field()?.placeHolder"
|
|
55
|
+
[maxLength]="field()?.validators?.maxLength"
|
|
56
|
+
[minLength]="field()?.validators?.minLength"
|
|
57
|
+
[disabled]="field()?.isDisable"
|
|
58
|
+
[required]="field()?.validators?.isRequired"
|
|
59
|
+
[pattern]="field()?.validators?.pattern"
|
|
60
|
+
(input)="onInputChange($event)"
|
|
61
|
+
(blur)="onInputBlur()"
|
|
62
|
+
[value]="inputValue"
|
|
63
|
+
/>
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
<mat-error *ngIf="false">
|
|
67
|
+
{{ field()?.validators?.requiredMessage }}
|
|
68
|
+
</mat-error>
|
|
69
|
+
<span matSuffix class="mx-3" *ngIf="false">
|
|
70
|
+
<img src="https://cdn.godigit.com/retail-life/check-circle-ou.svg" alt="" />
|
|
71
|
+
</span>
|
|
72
|
+
<span matSuffix class="mx-3 right-input-text" *ngIf="field().configData?.suffix"> {{field().configData?.suffix}} </span>
|
|
73
|
+
</mat-form-field>
|
|
74
|
+
<div *ngIf="field().configData?.isShowTagAs">
|
|
75
|
+
<span class="checkbox-tag">Tag as:</span>
|
|
76
|
+
<span *ngFor="let option of field()?.options" class="checkbox">
|
|
77
|
+
<mat-checkbox class="optional-checkbox">
|
|
78
|
+
{{ option.label }}
|
|
79
|
+
</mat-checkbox>
|
|
80
|
+
</span>
|
|
81
|
+
</div>
|
|
82
|
+
<div *ngIf="field().configData?.infoMessage">
|
|
83
|
+
<span class="below-input-text">{{field().configData?.infoMessage}}</span>
|
|
84
|
+
</div>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, input } from '@angular/core';
|
|
3
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
4
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
|
+
import { MatInputModule } from '@angular/material/input';
|
|
6
|
+
import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
selector: 'lib-suffix-textbox',
|
|
10
|
+
standalone: true,
|
|
11
|
+
imports: [
|
|
12
|
+
MatFormFieldModule,
|
|
13
|
+
CommonModule,
|
|
14
|
+
MatInputModule,
|
|
15
|
+
MatCheckboxModule,
|
|
16
|
+
ReactiveFormsModule
|
|
17
|
+
],
|
|
18
|
+
templateUrl: './suffix-textbox.component.html',
|
|
19
|
+
styleUrl: './suffix-textbox.component.css',
|
|
20
|
+
providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: NG_VALUE_ACCESSOR,
|
|
23
|
+
useExisting: SuffixTextboxComponent,
|
|
24
|
+
multi: true
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
})
|
|
28
|
+
export class SuffixTextboxComponent {
|
|
29
|
+
field: any = input.required<any>();
|
|
30
|
+
inputValue: any = null;
|
|
31
|
+
reactiveFormControlobject : any = input<any>();
|
|
32
|
+
_onChange: any = (inputValue:any) => {};
|
|
33
|
+
_unTouched: any = () => {};
|
|
34
|
+
|
|
35
|
+
writeValue(obj: any): void{
|
|
36
|
+
this.inputValue=obj;
|
|
37
|
+
};
|
|
38
|
+
registerOnChange(fn: any): void{
|
|
39
|
+
this._onChange = fn;
|
|
40
|
+
};
|
|
41
|
+
registerOnTouched(fn: any): void{
|
|
42
|
+
this._unTouched = fn;
|
|
43
|
+
};
|
|
44
|
+
setDisabledState?(isDisabled: boolean): void{};
|
|
45
|
+
|
|
46
|
+
onInputChange(event: any): void {
|
|
47
|
+
this.inputValue = event.target.value;
|
|
48
|
+
this._onChange(this.inputValue);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
onInputBlur(): void {
|
|
52
|
+
this._unTouched();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
* {
|
|
2
|
+
font-family: "mulish" !important;
|
|
3
|
+
}
|
|
4
|
+
::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{
|
|
5
|
+
font-weight: var(--tab-font-weight, 800) !important;
|
|
6
|
+
}
|
|
7
|
+
::ng-deep .mdc-tab__text-label{
|
|
8
|
+
font-size: var(--tab-font-size, 16px) !important;
|
|
9
|
+
color: var(--tab-font-color, #444) !important;
|
|
10
|
+
}
|
|
11
|
+
::ng-deep .mat-mdc-tab-group .mdc-tab-indicator__content--underline {
|
|
12
|
+
border-color: var(--tab-border-color, #FFBB00) !important;
|
|
13
|
+
border-width: var(--tab-border-width, 3px) !important;
|
|
14
|
+
border-top-left-radius: 6px !important;
|
|
15
|
+
border-top-right-radius: 6px !important;
|
|
16
|
+
}
|
|
17
|
+
::ng-deep .mat-mdc-tab-label-container{
|
|
18
|
+
border-bottom: 1px solid #dadada !important;
|
|
19
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<mat-tab-group *ngIf="field() && field()?.isVisible"
|
|
2
|
+
[ngStyle]="{
|
|
3
|
+
'--tab-border-color': field()?.controlStyle?.borderColor ,
|
|
4
|
+
'--tab-border-width': field()?.controlStyle?.borderWidth,
|
|
5
|
+
'--tab-font-size': field()?.controlStyle?.fontSize,
|
|
6
|
+
'--tab-font-weight': field()?.controlStyle?.fontWeight,
|
|
7
|
+
'--tab-font-color': field()?.controlStyle?.color,
|
|
8
|
+
}"
|
|
9
|
+
[(selectedIndex)]="selectedIndex" (selectedIndexChange)="onTabChange($event)">
|
|
10
|
+
<mat-tab *ngFor="let data of field()?.options; let i = index">
|
|
11
|
+
<ng-template mat-tab-label>
|
|
12
|
+
<img [src]="data.value" alt="" class="mx-2">
|
|
13
|
+
{{ data.label }}
|
|
14
|
+
</ng-template>
|
|
15
|
+
<ng-content select="tab[i]"></ng-content>
|
|
16
|
+
</mat-tab>
|
|
17
|
+
</mat-tab-group>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, input, Output } from '@angular/core';
|
|
3
|
+
import { MatTabChangeEvent, MatTabsModule } from '@angular/material/tabs';
|
|
4
|
+
import { MasterControlService } from '../master-control.service';
|
|
5
|
+
|
|
6
|
+
@Component({
|
|
7
|
+
selector: 'lib-tab',
|
|
8
|
+
standalone: true,
|
|
9
|
+
imports: [MatTabsModule,CommonModule],
|
|
10
|
+
templateUrl: './tab.component.html',
|
|
11
|
+
styleUrl: './tab.component.css'
|
|
12
|
+
})
|
|
13
|
+
export class TabComponent {
|
|
14
|
+
field : any = input.required<any>();
|
|
15
|
+
@Output() selectedIndexChange = new EventEmitter<number>();
|
|
16
|
+
selectedIndex = 0;
|
|
17
|
+
|
|
18
|
+
constructor(public masterService : MasterControlService){}
|
|
19
|
+
|
|
20
|
+
ngOnInit(){
|
|
21
|
+
this.field().selectedIndex = this.selectedIndex;
|
|
22
|
+
}
|
|
23
|
+
onTabChange(event: number) {
|
|
24
|
+
this.selectedIndex = event;
|
|
25
|
+
this.field().selectedIndex = this.selectedIndex;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
.styled-table {
|
|
2
|
+
width: 100%;
|
|
3
|
+
margin: 16px 0;
|
|
4
|
+
font-size: 1em;
|
|
5
|
+
box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
|
|
6
|
+
}
|
|
7
|
+
* {
|
|
8
|
+
font-family: "mulish" !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.styled-table th,
|
|
12
|
+
.styled-table td {
|
|
13
|
+
border: none;
|
|
14
|
+
padding: 8px 12px;
|
|
15
|
+
text-align: left;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.styled-table thead tr {
|
|
19
|
+
background-color: #444444;
|
|
20
|
+
color: #fff;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.styled-table tbody tr:nth-child(even) {
|
|
24
|
+
background-color: #f3f3f3;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.styled-table tbody tr:hover {
|
|
28
|
+
background-color: #e0f7fa;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.custom_input {
|
|
32
|
+
width: 100%;
|
|
33
|
+
border: none;
|
|
34
|
+
background: transparent;
|
|
35
|
+
font-weight: bold;
|
|
36
|
+
color: #fff;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.styled-table th:first-child {
|
|
40
|
+
border-top-left-radius: 8px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.styled-table th:last-child {
|
|
44
|
+
border-top-right-radius: 8px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.popup-backdrop {
|
|
48
|
+
position: fixed;
|
|
49
|
+
top: 0;
|
|
50
|
+
left: 0;
|
|
51
|
+
width: 100vw;
|
|
52
|
+
height: 100vh;
|
|
53
|
+
background: rgba(0, 0, 0, 0.3);
|
|
54
|
+
display: flex;
|
|
55
|
+
align-items: center;
|
|
56
|
+
justify-content: center;
|
|
57
|
+
z-index: 1000;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.action-btn {
|
|
61
|
+
background: none;
|
|
62
|
+
border: none;
|
|
63
|
+
cursor: pointer;
|
|
64
|
+
padding: 0;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.actions-popup-backdrop {
|
|
68
|
+
position: fixed;
|
|
69
|
+
top: 0;
|
|
70
|
+
left: 0;
|
|
71
|
+
right: 0;
|
|
72
|
+
bottom: 0;
|
|
73
|
+
background: transparent;
|
|
74
|
+
z-index: 1000;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.actions-popup-menu {
|
|
78
|
+
position: absolute;
|
|
79
|
+
min-width: 260px;
|
|
80
|
+
background: #fff;
|
|
81
|
+
border-radius: 12px;
|
|
82
|
+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
|
|
83
|
+
padding: 0;
|
|
84
|
+
z-index: 1001;
|
|
85
|
+
color: #333;
|
|
86
|
+
font-family: inherit;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.actions-popup-menu ul {
|
|
90
|
+
list-style: none;
|
|
91
|
+
margin: 0;
|
|
92
|
+
padding: 0 0 8px 0;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.actions-popup-menu li {
|
|
96
|
+
display: flex;
|
|
97
|
+
align-items: center;
|
|
98
|
+
padding: 10px 20px;
|
|
99
|
+
cursor: pointer;
|
|
100
|
+
font-size: 15px;
|
|
101
|
+
border-radius: 6px;
|
|
102
|
+
transition: background 0.2s;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.actions-popup-menu li mat-icon {
|
|
106
|
+
margin-right: 12px;
|
|
107
|
+
font-size: 20px;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.actions-popup-menu li.selected,
|
|
111
|
+
.actions-popup-menu li:hover {
|
|
112
|
+
background: #fff6d1;
|
|
113
|
+
color: #222;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.styled-table-container {
|
|
117
|
+
max-width: 100%;
|
|
118
|
+
overflow-x: auto;
|
|
119
|
+
max-height: 400px;
|
|
120
|
+
overflow-y: auto;
|
|
121
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<div class="styled-table-container">
|
|
2
|
+
<table *ngIf="field()?.tableData?.columnlength && field()?.tableData?.rowlength" class="styled-table">
|
|
3
|
+
<thead>
|
|
4
|
+
<tr>
|
|
5
|
+
<th *ngIf="field()?.tableData?.showCheckBox"></th>
|
|
6
|
+
<th *ngFor="let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex">
|
|
7
|
+
<ng-container *ngIf="!readonly(); else headerText">{{header.columnName}}
|
|
8
|
+
<!-- <input type="text" [(ngModel)]="header.columnName" (ngModelChange)="renameHeader(i, $event)"
|
|
9
|
+
[disabled]="readonly()" class="custom_input" [matTooltip]="header.toolTip" matTooltipPosition="above"> -->
|
|
10
|
+
</ng-container>
|
|
11
|
+
<ng-template #headerText>{{ header?.columnName }}</ng-template>
|
|
12
|
+
</th>
|
|
13
|
+
<th *ngIf="field()?.tableData?.showActions">Action</th>
|
|
14
|
+
</tr>
|
|
15
|
+
</thead>
|
|
16
|
+
<tbody>
|
|
17
|
+
<tr *ngFor="let row of field()?.tableData?.tdData;let rowIndex = index">
|
|
18
|
+
<td *ngIf="field()?.tableData?.showCheckBox"><input type="checkbox"></td>
|
|
19
|
+
<td *ngFor="let cell of row">{{ cell }}</td>
|
|
20
|
+
<td *ngIf="field()?.tableData?.showActions">
|
|
21
|
+
<button class="action-btn" (click)="openActionsPopup($event, rowIndex)" [disabled]="readonly()">
|
|
22
|
+
<mat-icon>more_vert</mat-icon>
|
|
23
|
+
</button>
|
|
24
|
+
</td>
|
|
25
|
+
</tr>
|
|
26
|
+
</tbody>
|
|
27
|
+
</table>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<div *ngIf="showActionsPopup" class="actions-popup-backdrop" (click)="closeActionsPopup()">
|
|
31
|
+
<div class="actions-popup-menu" [ngStyle]="{'top.px': popupPosition.top, 'left.px': popupPosition.left}"
|
|
32
|
+
(click)="$event.stopPropagation()">
|
|
33
|
+
<ul>
|
|
34
|
+
<li *ngFor="let actionData of field().tableData?.userSelectedOptions[selectedRow]" [matTooltip]="actionData?.displayTitle"
|
|
35
|
+
matTooltipPosition="above">
|
|
36
|
+
<mat-icon>{{actionData?.matIconName}}</mat-icon>
|
|
37
|
+
{{actionData?.displayTitle}}
|
|
38
|
+
</li>
|
|
39
|
+
</ul>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { TableComponent } from './table.component';
|
|
4
|
+
|
|
5
|
+
describe('TableComponent', () => {
|
|
6
|
+
let component: TableComponent;
|
|
7
|
+
let fixture: ComponentFixture<TableComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
imports: [TableComponent]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
|
|
15
|
+
fixture = TestBed.createComponent(TableComponent);
|
|
16
|
+
component = fixture.componentInstance;
|
|
17
|
+
fixture.detectChanges();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should create', () => {
|
|
21
|
+
expect(component).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Component, HostListener, input } from '@angular/core';
|
|
2
|
+
import { CommonModule, NgFor, NgIf } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
|
+
import { MasterControlService } from '../master-control.service';
|
|
7
|
+
@Component({
|
|
8
|
+
selector: 'lib-table',
|
|
9
|
+
standalone: true,
|
|
10
|
+
imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule],
|
|
11
|
+
templateUrl: './table.component.html',
|
|
12
|
+
styleUrl: './table.component.css'
|
|
13
|
+
})
|
|
14
|
+
export class TableComponent {
|
|
15
|
+
field: any = input.required<any>();
|
|
16
|
+
readonly = input(false);
|
|
17
|
+
showActionsPopup = false;
|
|
18
|
+
popupPosition = { top: 0, left: 0 };
|
|
19
|
+
selectedRow: any = 0;
|
|
20
|
+
highlightedIndex = -1;
|
|
21
|
+
constructor(public masterControlService : MasterControlService) { }
|
|
22
|
+
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.setColumns();
|
|
25
|
+
}
|
|
26
|
+
trackByIndex(index: any, item: any) {
|
|
27
|
+
return index;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
setColumns() {
|
|
31
|
+
let checkConfigData = this.field().configData;
|
|
32
|
+
if(Object.keys(checkConfigData).length > 0){
|
|
33
|
+
this.masterControlService.configData.table = checkConfigData;
|
|
34
|
+
}
|
|
35
|
+
if (this.masterControlService.configData.table.rowlength > 0 && this.masterControlService.configData.table.columnlength > 0) {
|
|
36
|
+
this.field().tableData = this.masterControlService.configData.table;
|
|
37
|
+
for (let i = 0; i < this.masterControlService.configData.table.columnlength; i++) {
|
|
38
|
+
if(Object.keys(checkConfigData).length <= 0){
|
|
39
|
+
let headerObj = {
|
|
40
|
+
"columnName": `${'Name - ' + i}`,
|
|
41
|
+
"isSortingNeeded": "Y",
|
|
42
|
+
"toolTip": `${'tooltip - ' + i}`
|
|
43
|
+
}
|
|
44
|
+
const exists = this.field().tableData.tableHeaders.some(
|
|
45
|
+
(header: any) => header.columnName === headerObj.columnName
|
|
46
|
+
);
|
|
47
|
+
if (!exists && this.field().tableData.tableHeaders.length < this.masterControlService.configData.table.columnlength) {
|
|
48
|
+
this.field().tableData.tableHeaders.push(headerObj);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
this.field().tableData.tdData = Array(this.masterControlService.configData.table.rowlength).fill(null).map((_, rowIdx) =>
|
|
53
|
+
Array(this.masterControlService.configData.table.columnlength).fill('').map((_, colIdx) => `Dummy Row ${rowIdx + 1}`)
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
this.masterControlService.saveTableFieldState(this.field());
|
|
57
|
+
this.field().configData = this.field().tableData
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
openActionsPopup(event: MouseEvent, rowIndex: number) {
|
|
63
|
+
event.stopPropagation();
|
|
64
|
+
this.selectedRow = rowIndex;
|
|
65
|
+
this.showActionsPopup = true;
|
|
66
|
+
this.highlightedIndex = 1;
|
|
67
|
+
const rect = (event.target as HTMLElement).getBoundingClientRect();
|
|
68
|
+
this.popupPosition = {
|
|
69
|
+
top: rect.bottom + window.scrollY - 30,
|
|
70
|
+
left: rect.left + window.scrollX + 30
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
closeActionsPopup() {
|
|
75
|
+
this.showActionsPopup = false;
|
|
76
|
+
this.selectedRow = 0;
|
|
77
|
+
this.highlightedIndex = -1;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@HostListener('document:keydown.escape', ['$event'])
|
|
81
|
+
onEscKey(event: KeyboardEvent) {
|
|
82
|
+
this.closeActionsPopup();
|
|
83
|
+
}
|
|
84
|
+
}
|