@keycloakify/angular 0.0.1-rc.3 → 0.0.1-rc.4
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/lib/tokens/use-default-css.token.d.ts +2 -0
- package/lib/tokens/use-default-css.token.js +3 -0
- package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.d.ts +3 -1
- package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.js +106 -0
- package/login/components/field-errors/field-errors.component.d.ts +2 -2
- package/login/components/field-errors/{field-errors.component.mjs → field-errors.component.js} +4 -3
- package/login/components/group-label/group-label.component.d.ts +3 -1
- package/login/components/group-label/group-label.component.js +43 -0
- package/login/components/input-field-by-type/{input-field-by-type.component.mjs → input-field-by-type.component.js} +4 -3
- package/login/components/input-tag/input-tag.component.d.ts +4 -2
- package/login/components/input-tag/input-tag.component.js +90 -0
- package/login/components/input-tag-selects/input-tag-selects.component.d.ts +4 -2
- package/login/components/input-tag-selects/input-tag-selects.component.js +117 -0
- package/login/components/logout-other-sessions/logout-other-sessions.component.d.ts +3 -1
- package/login/components/logout-other-sessions/logout-other-sessions.component.js +32 -0
- package/login/components/password-wrapper/password-wrapper.component.d.ts +3 -1
- package/login/components/password-wrapper/password-wrapper.component.js +46 -0
- package/login/components/select-tag/select-tag.component.d.ts +4 -2
- package/login/components/select-tag/select-tag.component.js +82 -0
- package/login/components/textarea-tag/textarea-tag.component.js +49 -0
- package/login/components/user-profile-form-fields/user-profile-form-fields.component.d.ts +4 -2
- package/login/components/user-profile-form-fields/user-profile-form-fields.component.js +59 -0
- package/login/containers/template.component.js +72 -0
- package/login/pages/code/code.component.d.ts +4 -2
- package/login/pages/code/code.component.js +35 -0
- package/login/pages/delete-account-confirm/delete-account-confirm.component.d.ts +4 -2
- package/login/pages/delete-account-confirm/delete-account-confirm.component.js +35 -0
- package/login/pages/delete-credential/delete-credential.component.d.ts +4 -2
- package/login/pages/delete-credential/delete-credential.component.js +40 -0
- package/login/pages/error/error.component.d.ts +4 -2
- package/login/pages/error/error.component.js +35 -0
- package/login/pages/frontchannel-logout/frontchannel-logout.component.d.ts +4 -2
- package/login/pages/frontchannel-logout/frontchannel-logout.component.js +44 -0
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +4 -2
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.js +45 -0
- package/login/pages/info/info.component.d.ts +4 -8
- package/login/pages/info/info.component.js +49 -0
- package/login/pages/login/login.component.d.ts +4 -2
- package/login/pages/login/login.component.js +44 -0
- package/login/pages/login-config-totp/login-config-totp.component.d.ts +4 -2
- package/login/pages/login-config-totp/login-config-totp.component.js +42 -0
- package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.d.ts +4 -2
- package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.js +40 -0
- package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.d.ts +4 -2
- package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.js +40 -0
- package/login/pages/login-idp-link-email/login-idp-link-email.component.d.ts +4 -2
- package/login/pages/login-idp-link-email/login-idp-link-email.component.js +40 -0
- package/login/pages/login-oauth-grant/login-oauth-grant.component.d.ts +4 -2
- package/login/pages/login-oauth-grant/login-oauth-grant.component.js +40 -0
- package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.d.ts +4 -2
- package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.js +40 -0
- package/login/pages/login-otp/login-otp.component.d.ts +4 -2
- package/login/pages/login-otp/login-otp.component.js +41 -0
- package/login/pages/login-page-expired/login-page-expired.component.d.ts +4 -2
- package/login/pages/login-page-expired/login-page-expired.component.js +39 -0
- package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.d.ts +5 -5
- package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.js +84 -0
- package/login/pages/login-password/login-password.component.d.ts +4 -2
- package/login/pages/login-password/login-password.component.js +43 -0
- package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.d.ts +4 -2
- package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.js +43 -0
- package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.d.ts +4 -2
- package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.js +41 -0
- package/login/pages/login-reset-otp/login-reset-otp.component.d.ts +4 -2
- package/login/pages/login-reset-otp/login-reset-otp.component.js +40 -0
- package/login/pages/login-reset-password/login-reset-password.component.d.ts +4 -2
- package/login/pages/login-reset-password/login-reset-password.component.js +41 -0
- package/login/pages/login-update-password/login-update-password.component.d.ts +4 -2
- package/login/pages/login-update-password/login-update-password.component.js +43 -0
- package/login/pages/login-update-profile/login-update-profile.component.d.ts +4 -2
- package/login/pages/login-update-profile/login-update-profile.component.js +42 -0
- package/login/pages/login-username/login-username.component.d.ts +4 -2
- package/login/pages/login-username/login-username.component.js +43 -0
- package/login/pages/login-verify-email/login-verify-email.component.d.ts +4 -2
- package/login/pages/login-verify-email/login-verify-email.component.js +40 -0
- package/login/pages/login-x509-info/login-x509-info.component.d.ts +4 -2
- package/login/pages/login-x509-info/login-x509-info.component.js +40 -0
- package/login/pages/logout-confirm/logout-confirm.component.d.ts +4 -2
- package/login/pages/logout-confirm/logout-confirm.component.js +40 -0
- package/login/pages/register/register.component.d.ts +4 -2
- package/login/pages/register/register.component.js +48 -0
- package/login/pages/saml-post-form/saml-post-form.component.d.ts +4 -2
- package/login/pages/saml-post-form/saml-post-form.component.js +52 -0
- package/login/pages/select-authenticator/select-authenticator.component.d.ts +4 -2
- package/login/pages/select-authenticator/select-authenticator.component.js +41 -0
- package/login/pages/terms/terms.component.d.ts +4 -2
- package/login/pages/terms/terms.component.js +40 -0
- package/login/pages/update-email/update-email.component.d.ts +4 -2
- package/login/pages/update-email/update-email.component.js +43 -0
- package/login/pages/webauthn-authenticate/webauthn-authenticate.component.d.ts +5 -5
- package/login/pages/webauthn-authenticate/webauthn-authenticate.component.js +80 -0
- package/login/pages/webauthn-error/webauthn-error.component.d.ts +4 -2
- package/login/pages/webauthn-error/webauthn-error.component.js +49 -0
- package/login/pages/webauthn-register/webauthn-register.component.d.ts +5 -5
- package/login/pages/webauthn-register/webauthn-register.component.js +76 -0
- package/login/pipes/kc-sanitize.pipe.d.ts +3 -4
- package/login/pipes/kc-sanitize.pipe.js +29 -0
- package/login/pipes/{to-array.pipe.mjs → to-array.pipe.js} +1 -2
- package/login/providers/keycloakify-angular.providers.d.ts +16 -0
- package/login/providers/keycloakify-angular.providers.js +53 -0
- package/login/services/i18n.service.d.ts +6 -0
- package/{lib/services/i18n.service.mjs → login/services/i18n.service.js} +1 -1
- package/login/services/login-resource-injector.service.d.ts +1 -1
- package/login/services/login-resource-injector.service.js +68 -0
- package/login/services/user-profile-form.service.js +1019 -0
- package/{lib/providers/keycloakify-angular.providers.d.ts → login/tokens/classes.token.d.ts} +1 -24
- package/login/tokens/classes.token.js +3 -0
- package/login/tokens/i18n.token.d.ts +2 -0
- package/login/tokens/i18n.token.js +3 -0
- package/login/tokens/kc-context.token.d.ts +3 -0
- package/login/tokens/kc-context.token.js +3 -0
- package/login/tokens/make-user-confirm-password.token.d.ts +2 -0
- package/login/tokens/make-user-confirm-password.token.js +3 -0
- package/package.json +85 -104
- package/src/lib/tokens/use-default-css.token.ts +3 -0
- package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.html +2 -2
- package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +6 -4
- package/src/login/components/field-errors/field-errors.component.ts +5 -4
- package/src/login/components/group-label/group-label.component.html +2 -2
- package/src/login/components/group-label/group-label.component.ts +9 -6
- package/src/login/components/input-field-by-type/input-field-by-type.component.ts +3 -2
- package/src/login/components/input-tag/input-tag.component.html +1 -1
- package/src/login/components/input-tag/input-tag.component.ts +11 -9
- package/src/login/components/input-tag-selects/input-tag-selects.component.html +1 -1
- package/src/login/components/input-tag-selects/input-tag-selects.component.ts +9 -6
- package/src/login/components/logout-other-sessions/logout-other-sessions.component.html +1 -1
- package/src/login/components/logout-other-sessions/logout-other-sessions.component.ts +8 -5
- package/src/login/components/password-wrapper/password-wrapper.component.html +1 -1
- package/src/login/components/password-wrapper/password-wrapper.component.ts +8 -5
- package/src/login/components/select-tag/select-tag.component.html +2 -2
- package/src/login/components/select-tag/select-tag.component.ts +9 -6
- package/src/login/components/textarea-tag/textarea-tag.component.ts +3 -2
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.html +3 -3
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +14 -9
- package/src/login/containers/template.component.html +6 -6
- package/src/login/containers/template.component.ts +9 -7
- package/src/login/pages/code/code.component.html +4 -4
- package/src/login/pages/code/code.component.ts +11 -7
- package/src/login/pages/delete-account-confirm/delete-account-confirm.component.html +8 -8
- package/src/login/pages/delete-account-confirm/delete-account-confirm.component.ts +12 -8
- package/src/login/pages/delete-credential/delete-credential.component.html +4 -4
- package/src/login/pages/delete-credential/delete-credential.component.ts +11 -7
- package/src/login/pages/error/error.component.html +2 -2
- package/src/login/pages/error/error.component.ts +11 -7
- package/src/login/pages/frontchannel-logout/frontchannel-logout.component.html +4 -4
- package/src/login/pages/frontchannel-logout/frontchannel-logout.component.ts +11 -7
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +2 -2
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +11 -7
- package/src/login/pages/info/info.component.html +4 -4
- package/src/login/pages/info/info.component.ts +12 -17
- package/src/login/pages/login/login.component.html +13 -13
- package/src/login/pages/login/login.component.ts +11 -7
- package/src/login/pages/login-config-totp/login-config-totp.component.html +24 -24
- package/src/login/pages/login-config-totp/login-config-totp.component.ts +11 -9
- package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html +3 -3
- package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +11 -7
- package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html +4 -4
- package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +11 -7
- package/src/login/pages/login-idp-link-email/login-idp-link-email.component.html +8 -8
- package/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +11 -7
- package/src/login/pages/login-oauth-grant/login-oauth-grant.component.html +9 -9
- package/src/login/pages/login-oauth-grant/login-oauth-grant.component.ts +11 -8
- package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.html +3 -3
- package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.ts +11 -7
- package/src/login/pages/login-otp/login-otp.component.html +3 -3
- package/src/login/pages/login-otp/login-otp.component.ts +11 -7
- package/src/login/pages/login-page-expired/login-page-expired.component.html +5 -5
- package/src/login/pages/login-page-expired/login-page-expired.component.ts +11 -7
- package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.html +9 -9
- package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +15 -15
- package/src/login/pages/login-password/login-password.component.html +5 -5
- package/src/login/pages/login-password/login-password.component.ts +11 -7
- package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.html +11 -11
- package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +12 -8
- package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.html +3 -3
- package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.ts +12 -8
- package/src/login/pages/login-reset-otp/login-reset-otp.component.html +3 -3
- package/src/login/pages/login-reset-otp/login-reset-otp.component.ts +12 -8
- package/src/login/pages/login-reset-password/login-reset-password.component.html +8 -8
- package/src/login/pages/login-reset-password/login-reset-password.component.ts +12 -8
- package/src/login/pages/login-update-password/login-update-password.component.html +5 -5
- package/src/login/pages/login-update-password/login-update-password.component.ts +12 -8
- package/src/login/pages/login-update-profile/login-update-profile.component.html +3 -3
- package/src/login/pages/login-update-profile/login-update-profile.component.ts +12 -8
- package/src/login/pages/login-username/login-username.component.html +10 -10
- package/src/login/pages/login-username/login-username.component.ts +11 -7
- package/src/login/pages/login-verify-email/login-verify-email.component.html +5 -5
- package/src/login/pages/login-verify-email/login-verify-email.component.ts +12 -8
- package/src/login/pages/login-x509-info/login-x509-info.component.html +6 -6
- package/src/login/pages/login-x509-info/login-x509-info.component.ts +12 -8
- package/src/login/pages/logout-confirm/logout-confirm.component.html +4 -4
- package/src/login/pages/logout-confirm/logout-confirm.component.ts +12 -8
- package/src/login/pages/register/register.component.html +7 -7
- package/src/login/pages/register/register.component.ts +11 -17
- package/src/login/pages/saml-post-form/saml-post-form.component.html +4 -4
- package/src/login/pages/saml-post-form/saml-post-form.component.ts +11 -7
- package/src/login/pages/select-authenticator/select-authenticator.component.html +3 -3
- package/src/login/pages/select-authenticator/select-authenticator.component.ts +12 -9
- package/src/login/pages/terms/terms.component.html +4 -4
- package/src/login/pages/terms/terms.component.ts +12 -8
- package/src/login/pages/update-email/update-email.component.html +3 -3
- package/src/login/pages/update-email/update-email.component.ts +12 -8
- package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.html +8 -8
- package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +15 -15
- package/src/login/pages/webauthn-error/webauthn-error.component.html +3 -3
- package/src/login/pages/webauthn-error/webauthn-error.component.ts +12 -8
- package/src/login/pages/webauthn-register/webauthn-register.component.html +3 -3
- package/src/login/pages/webauthn-register/webauthn-register.component.ts +17 -15
- package/src/login/pipes/kc-sanitize.pipe.ts +9 -11
- package/src/login/pipes/to-array.pipe.ts +0 -1
- package/src/login/providers/keycloakify-angular.providers.ts +68 -0
- package/src/{lib → login}/services/i18n.service.ts +3 -2
- package/src/login/services/login-resource-injector.service.ts +4 -3
- package/src/login/services/user-profile-form.service.ts +5 -7
- package/src/login/tokens/classes.token.ts +6 -0
- package/src/login/tokens/i18n.token.ts +3 -0
- package/src/login/tokens/kc-context.token.ts +4 -0
- package/src/login/tokens/make-user-confirm-password.token.ts +5 -0
- package/src/tsconfig.json +6 -0
- package/lib/i18n.d.ts +0 -4
- package/lib/i18n.mjs +0 -6
- package/lib/models/index.d.ts +0 -1
- package/lib/models/index.mjs +0 -2
- package/lib/providers/keycloakify-angular.providers.mjs +0 -54
- package/lib/public-api.d.ts +0 -10
- package/lib/public-api.mjs +0 -4
- package/lib/services/i18n.service.d.ts +0 -6
- package/lib/services/index.d.ts +0 -2
- package/lib/services/index.mjs +0 -3
- package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +0 -105
- package/login/components/group-label/group-label.component.mjs +0 -41
- package/login/components/hello-world/hello-world.component.d.ts +0 -5
- package/login/components/hello-world/hello-world.component.mjs +0 -11
- package/login/components/index.d.ts +0 -11
- package/login/components/index.mjs +0 -12
- package/login/components/input-tag/input-tag.component.mjs +0 -89
- package/login/components/input-tag-selects/input-tag-selects.component.mjs +0 -115
- package/login/components/logout-other-sessions/logout-other-sessions.component.mjs +0 -30
- package/login/components/password-wrapper/password-wrapper.component.mjs +0 -44
- package/login/components/select-tag/select-tag.component.mjs +0 -80
- package/login/components/textarea-tag/textarea-tag.component.mjs +0 -48
- package/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +0 -55
- package/login/containers/template.component.mjs +0 -70
- package/login/directives/index.d.ts +0 -2
- package/login/directives/index.mjs +0 -3
- package/login/pages/code/code.component.mjs +0 -32
- package/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +0 -32
- package/login/pages/delete-credential/delete-credential.component.mjs +0 -37
- package/login/pages/error/error.component.mjs +0 -32
- package/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +0 -41
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +0 -42
- package/login/pages/info/info.component.mjs +0 -58
- package/login/pages/login/login.component.mjs +0 -41
- package/login/pages/login-config-totp/login-config-totp.component.mjs +0 -40
- package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +0 -37
- package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +0 -37
- package/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +0 -37
- package/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +0 -38
- package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +0 -37
- package/login/pages/login-otp/login-otp.component.mjs +0 -38
- package/login/pages/login-page-expired/login-page-expired.component.mjs +0 -36
- package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +0 -85
- package/login/pages/login-password/login-password.component.mjs +0 -40
- package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +0 -40
- package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +0 -38
- package/login/pages/login-reset-otp/login-reset-otp.component.mjs +0 -37
- package/login/pages/login-reset-password/login-reset-password.component.mjs +0 -38
- package/login/pages/login-update-password/login-update-password.component.mjs +0 -40
- package/login/pages/login-update-profile/login-update-profile.component.mjs +0 -39
- package/login/pages/login-username/login-username.component.mjs +0 -40
- package/login/pages/login-verify-email/login-verify-email.component.mjs +0 -37
- package/login/pages/login-x509-info/login-x509-info.component.mjs +0 -37
- package/login/pages/logout-confirm/logout-confirm.component.mjs +0 -37
- package/login/pages/register/register.component.mjs +0 -55
- package/login/pages/saml-post-form/saml-post-form.component.mjs +0 -49
- package/login/pages/select-authenticator/select-authenticator.component.mjs +0 -39
- package/login/pages/terms/terms.component.mjs +0 -37
- package/login/pages/update-email/update-email.component.mjs +0 -40
- package/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +0 -81
- package/login/pages/webauthn-error/webauthn-error.component.mjs +0 -46
- package/login/pages/webauthn-register/webauthn-register.component.mjs +0 -76
- package/login/pipes/advanced-msg-str.pipe.d.ts +0 -8
- package/login/pipes/advanced-msg-str.pipe.mjs +0 -19
- package/login/pipes/index.d.ts +0 -6
- package/login/pipes/index.mjs +0 -7
- package/login/pipes/kc-sanitize.pipe.mjs +0 -34
- package/login/pipes/msg-str.pipe.d.ts +0 -9
- package/login/pipes/msg-str.pipe.mjs +0 -19
- package/login/services/index.d.ts +0 -2
- package/login/services/index.mjs +0 -3
- package/login/services/login-resource-injector.service.mjs +0 -68
- package/login/services/user-profile-form.service.mjs +0 -1017
- package/src/lib/i18n.ts +0 -9
- package/src/lib/models/index.ts +0 -1
- package/src/lib/providers/keycloakify-angular.providers.ts +0 -92
- package/src/lib/public-api.ts +0 -12
- package/src/lib/services/index.ts +0 -2
- package/src/login/components/hello-world/hello-world.component.css +0 -0
- package/src/login/components/hello-world/hello-world.component.html +0 -1
- package/src/login/components/hello-world/hello-world.component.ts +0 -10
- package/src/login/components/index.ts +0 -11
- package/src/login/directives/index.ts +0 -2
- package/src/login/pipes/advanced-msg-str.pipe.ts +0 -13
- package/src/login/pipes/index.ts +0 -6
- package/src/login/pipes/msg-str.pipe.ts +0 -14
- package/src/login/services/index.ts +0 -2
- /package/lib/models/{script.model.mjs → script.model.js} +0 -0
- /package/lib/services/{resource-injector.service.mjs → resource-injector.service.js} +0 -0
- /package/login/{DefaultPage.mjs → DefaultPage.js} +0 -0
- /package/login/{KcContext.mjs → KcContext.js} +0 -0
- /package/login/classes/{component-reference.class.mjs → component-reference.class.js} +0 -0
- /package/login/directives/{attributes.directive.mjs → attributes.directive.js} +0 -0
- /package/login/directives/{kc-class.directive.mjs → kc-class.directive.js} +0 -0
- /package/login/{i18n.mjs → i18n.js} +0 -0
- /package/login/pipes/{input-type.pipe.mjs → input-type.pipe.js} +0 -0
- /package/login/pipes/{to-number.pipe.mjs → to-number.pipe.js} +0 -0
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
|
|
2
|
-
import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
|
|
3
|
-
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
4
|
-
import { KcClassDirective } from '../../../login/directives/kc-class.directive';
|
|
5
|
-
import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class InputTagSelectsComponent extends ComponentReference {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.attribute = input();
|
|
11
|
-
this.valueOrValues = input();
|
|
12
|
-
this.dispatchFormAction = output();
|
|
13
|
-
this.displayableErrors = input();
|
|
14
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
15
|
-
this.classes = inject(CLASSES);
|
|
16
|
-
this.context = computed(() => {
|
|
17
|
-
const attribute = this.attribute();
|
|
18
|
-
if (attribute) {
|
|
19
|
-
const { inputType } = attribute.annotations;
|
|
20
|
-
switch (inputType) {
|
|
21
|
-
case 'select-radiobuttons':
|
|
22
|
-
return {
|
|
23
|
-
inputType: 'radio',
|
|
24
|
-
classDiv: 'kcInputClassRadio',
|
|
25
|
-
classInput: 'kcInputClassRadioInput',
|
|
26
|
-
classLabel: 'kcInputClassRadioLabel'
|
|
27
|
-
};
|
|
28
|
-
case 'multiselect-checkboxes':
|
|
29
|
-
return {
|
|
30
|
-
inputType: 'checkbox',
|
|
31
|
-
classDiv: 'kcInputClassCheckbox',
|
|
32
|
-
classInput: 'kcInputClassCheckboxInput',
|
|
33
|
-
classLabel: 'kcInputClassCheckboxLabel'
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return null;
|
|
38
|
-
});
|
|
39
|
-
this.options = computed(() => {
|
|
40
|
-
const attribute = this.attribute();
|
|
41
|
-
if (attribute) {
|
|
42
|
-
return (() => {
|
|
43
|
-
walk: {
|
|
44
|
-
const { inputOptionsFromValidation } = attribute.annotations;
|
|
45
|
-
if (inputOptionsFromValidation === undefined) {
|
|
46
|
-
break walk;
|
|
47
|
-
}
|
|
48
|
-
const validator = attribute.validators[inputOptionsFromValidation];
|
|
49
|
-
if (validator === undefined) {
|
|
50
|
-
break walk;
|
|
51
|
-
}
|
|
52
|
-
if (validator.options === undefined) {
|
|
53
|
-
break walk;
|
|
54
|
-
}
|
|
55
|
-
return validator.options;
|
|
56
|
-
}
|
|
57
|
-
return attribute.validators.options?.options ?? [];
|
|
58
|
-
})();
|
|
59
|
-
}
|
|
60
|
-
return [];
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
checked(option) {
|
|
64
|
-
const valueOrValues = this.valueOrValues();
|
|
65
|
-
if (valueOrValues instanceof Array) {
|
|
66
|
-
return valueOrValues.includes(option);
|
|
67
|
-
}
|
|
68
|
-
return valueOrValues === option;
|
|
69
|
-
}
|
|
70
|
-
onChange(event, option) {
|
|
71
|
-
const valueOrValues = this.valueOrValues();
|
|
72
|
-
const isChecked = event.target.checked;
|
|
73
|
-
this.dispatchFormAction.emit({
|
|
74
|
-
action: 'update',
|
|
75
|
-
name: this.attribute()?.name ?? '',
|
|
76
|
-
valueOrValues: (() => {
|
|
77
|
-
if (valueOrValues instanceof Array) {
|
|
78
|
-
const newValues = [...valueOrValues];
|
|
79
|
-
if (isChecked) {
|
|
80
|
-
newValues.push(option);
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
newValues.splice(newValues.indexOf(option), 1);
|
|
84
|
-
}
|
|
85
|
-
return newValues;
|
|
86
|
-
}
|
|
87
|
-
return event.target?.checked ? option : '';
|
|
88
|
-
})()
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
onBlur() {
|
|
92
|
-
this.dispatchFormAction.emit({
|
|
93
|
-
action: 'focus lost',
|
|
94
|
-
name: this.attribute()?.name ?? '',
|
|
95
|
-
fieldIndex: undefined
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagSelectsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: InputTagSelectsComponent, isStandalone: true, selector: "kc-input-tag-selects", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
|
|
100
|
-
{
|
|
101
|
-
provide: ComponentReference,
|
|
102
|
-
useExisting: forwardRef(() => InputTagSelectsComponent)
|
|
103
|
-
}
|
|
104
|
-
], usesInheritance: true, ngImport: i0, template: "@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ option | advancedMsgStr }}\n </label>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
105
|
-
}
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InputTagSelectsComponent, decorators: [{
|
|
107
|
-
type: Component,
|
|
108
|
-
args: [{ standalone: true, imports: [KcClassDirective, AdvancedMsgStrPipe], selector: 'kc-input-tag-selects', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
109
|
-
{
|
|
110
|
-
provide: ComponentReference,
|
|
111
|
-
useExisting: forwardRef(() => InputTagSelectsComponent)
|
|
112
|
-
}
|
|
113
|
-
], template: "@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ option | advancedMsgStr }}\n </label>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"] }]
|
|
114
|
-
}] });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLXNlbGVjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2V5Y2xvYWtpZnktYW5ndWxhci9zcmMvbG9naW4vY29tcG9uZW50cy9pbnB1dC10YWctc2VsZWN0cy9pbnB1dC10YWctc2VsZWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2lucHV0LXRhZy1zZWxlY3RzL2lucHV0LXRhZy1zZWxlY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQXVCNUYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQXBCaEU7O1FBcUJJLGNBQVMsR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMvQixrQkFBYSxHQUFHLEtBQUssRUFBcUIsQ0FBQztRQUMzQyx1QkFBa0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUMxQyxzQkFBaUIsR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDckMsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsT0FBTyxDQUFDLENBQUM7UUFFdEUs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bXB1dGVkLCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ0xBU1NFUywgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQXR0cmlidXRlIH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFkdmFuY2VkTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL2FkdmFuY2VkLW1zZy1zdHIucGlwZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uLCBGb3JtRmllbGRFcnJvciB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBBZHZhbmNlZE1zZ1N0clBpcGVdLFxuICAgIHNlbGVjdG9yOiAna2MtaW5wdXQtdGFnLXNlbGVjdHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnaW5wdXQtdGFnLXNlbGVjdHMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRhZ1NlbGVjdHNDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0VGFnU2VsZWN0c0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlT3JWYWx1ZXMgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgICBkaXNwYXRjaEZvcm1BY3Rpb24gPSBvdXRwdXQ8Rm9ybUFjdGlvbj4oKTtcbiAgICBkaXNwbGF5YWJsZUVycm9ycyA9IGlucHV0PEZvcm1GaWVsZEVycm9yW10+KCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KENMQVNTRVMpO1xuXG4gICAgY29udGV4dDogU2lnbmFsPHtcbiAgICAgICAgaW5wdXRUeXBlOiAncmFkaW8nIHwgJ2NoZWNrYm94JztcbiAgICAgICAgY2xhc3NEaXY6IENsYXNzS2V5O1xuICAgICAgICBjbGFzc0lucHV0OiBDbGFzc0tleTtcbiAgICAgICAgY2xhc3NMYWJlbDogQ2xhc3NLZXk7XG4gICAgfSB8IG51bGw+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSB0aGlzLmF0dHJpYnV0ZSgpO1xuICAgICAgICBpZiAoYXR0cmlidXRlKSB7XG4gICAgICAgICAgICBjb25zdCB7IGlucHV0VHlwZSB9ID0gYXR0cmlidXRlLmFubm90YXRpb25zO1xuICAgICAgICAgICAgc3dpdGNoIChpbnB1dFR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzZWxlY3QtcmFkaW9idXR0b25zJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0VHlwZTogJ3JhZGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzRGl2OiAna2NJbnB1dENsYXNzUmFkaW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NJbnB1dDogJ2tjSW5wdXRDbGFzc1JhZGlvSW5wdXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NMYWJlbDogJ2tjSW5wdXRDbGFzc1JhZGlvTGFiZWwnXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY2FzZSAnbXVsdGlzZWxlY3QtY2hlY2tib3hlcyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc0RpdjogJ2tjSW5wdXRDbGFzc0NoZWNrYm94JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzSW5wdXQ6ICdrY0lucHV0Q2xhc3NDaGVja2JveElucHV0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTGFiZWw6ICdrY0lucHV0Q2xhc3NDaGVja2JveExhYmVsJ1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuXG4gICAgb3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5hdHRyaWJ1dGUoKTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgcmV0dXJuICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgd2Fsazoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGlucHV0T3B0aW9uc0Zyb21WYWxpZGF0aW9uIH0gPSBhdHRyaWJ1dGUuYW5ub3RhdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0T3B0aW9uc0Zyb21WYWxpZGF0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIHdhbGs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0b3IgPSAoYXR0cmlidXRlLnZhbGlkYXRvcnMgYXMgUmVjb3JkPHN0cmluZywgeyBvcHRpb25zPzogc3RyaW5nW10gfT4pW2lucHV0T3B0aW9uc0Zyb21WYWxpZGF0aW9uXTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIHdhbGs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdG9yLm9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgd2FsaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0b3Iub3B0aW9ucztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gYXR0cmlidXRlLnZhbGlkYXRvcnMub3B0aW9ucz8ub3B0aW9ucyA/PyBbXTtcbiAgICAgICAgICAgIH0pKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH0pO1xuXG4gICAgY2hlY2tlZChvcHRpb246IHN0cmluZykge1xuICAgICAgICBjb25zdCB2YWx1ZU9yVmFsdWVzID0gdGhpcy52YWx1ZU9yVmFsdWVzKCk7XG4gICAgICAgIGlmICh2YWx1ZU9yVmFsdWVzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZU9yVmFsdWVzLmluY2x1ZGVzKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlT3JWYWx1ZXMgPT09IG9wdGlvbjtcbiAgICB9XG5cbiAgICBvbkNoYW5nZShldmVudDogRXZlbnQsIG9wdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlT3JWYWx1ZXMgPSB0aGlzLnZhbHVlT3JWYWx1ZXMoKTtcbiAgICAgICAgY29uc3QgaXNDaGVja2VkID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkO1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgdmFsdWVPclZhbHVlczogKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVPclZhbHVlcyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IFsuLi52YWx1ZU9yVmFsdWVzXTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNDaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZXMucHVzaChvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWVzLnNwbGljZShuZXdWYWx1ZXMuaW5kZXhPZihvcHRpb24pLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdWYWx1ZXM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LmNoZWNrZWQgPyBvcHRpb24gOiAnJztcbiAgICAgICAgICAgIH0pKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ2ZvY3VzIGxvc3QnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIGZpZWxkSW5kZXg6IHVuZGVmaW5lZFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCJAbGV0IGlucHV0VHlwZSA9IGNvbnRleHQoKT8uaW5wdXRUeXBlO1xuQGxldCBjbGFzc0lucHV0ID0gY29udGV4dCgpPy5jbGFzc0lucHV0O1xuQGxldCBjbGFzc0xhYmVsID0gY29udGV4dCgpPy5jbGFzc0xhYmVsO1xuQGxldCBjbGFzc0RpdiA9IGNvbnRleHQoKT8uY2xhc3NEaXY7XG5AbGV0IGF0dHIgPSBhdHRyaWJ1dGUoKTtcbkBpZiAoYXR0cikge1xuICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zKCk7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICA8ZGl2IFtrY0NsYXNzXT1cImNsYXNzRGl2XCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJpbnB1dFR5cGVcIlxuICAgICAgICAgICAgICAgIFtpZF09XCJhdHRyLm5hbWUgKyAnLScgKyBvcHRpb25cIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImF0dHIubmFtZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiY2xhc3NJbnB1dFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIiEhZGlzcGxheWFibGVFcnJvcnMoKT8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYXR0ci5yZWFkT25seVwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudCwgb3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIFtmb3JdPVwiYXR0ci5uYW1lICsgJy0nICsgb3B0aW9uXCJcbiAgICAgICAgICAgICAgICBba2NDbGFzc109XCJbY2xhc3NMYWJlbCEsIGF0dHIucmVhZE9ubHkgPyAna2NJbnB1dENsYXNzUmFkaW9DaGVja2JveExhYmVsRGlzYWJsZWQnIDogJGFueSgnJyldXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBvcHRpb24gfCBhZHZhbmNlZE1zZ1N0ciB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxufVxuIl19
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';
|
|
2
|
-
import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
|
|
3
|
-
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
4
|
-
import { KcClassDirective } from '../../../login/directives/kc-class.directive';
|
|
5
|
-
import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class LogoutOtherSessionsComponent extends ComponentReference {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
11
|
-
this.classes = inject(CLASSES);
|
|
12
|
-
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogoutOtherSessionsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: LogoutOtherSessionsComponent, isStandalone: true, selector: "kc-logout-other-sessions", providers: [
|
|
15
|
-
{
|
|
16
|
-
provide: ComponentReference,
|
|
17
|
-
useExisting: forwardRef(() => LogoutOtherSessionsComponent)
|
|
18
|
-
}
|
|
19
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <div class=\"checkbox\">\n <label for=\"logout-sessions\">\n <input\n type=\"checkbox\"\n id=\"logout-sessions\"\n name=\"logout-sessions\"\n value=\"on\"\n defaultChecked=\"true\"\n />\n {{ 'logoutOtherSessions' | msgStr }}\n </label>\n </div>\n </div>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: MsgStrPipe, name: "msgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogoutOtherSessionsComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'kc-logout-other-sessions', standalone: true, imports: [KcClassDirective, MsgStrPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
24
|
-
{
|
|
25
|
-
provide: ComponentReference,
|
|
26
|
-
useExisting: forwardRef(() => LogoutOtherSessionsComponent)
|
|
27
|
-
}
|
|
28
|
-
], template: "<div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <div class=\"checkbox\">\n <label for=\"logout-sessions\">\n <input\n type=\"checkbox\"\n id=\"logout-sessions\"\n name=\"logout-sessions\"\n value=\"on\"\n defaultChecked=\"true\"\n />\n {{ 'logoutOtherSessions' | msgStr }}\n </label>\n </div>\n </div>\n</div>\n", styles: [":host{display:contents}\n"] }]
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LW90aGVyLXNlc3Npb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvbG9nb3V0LW90aGVyLXNlc3Npb25zL2xvZ291dC1vdGhlci1zZXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL2xvZ291dC1vdGhlci1zZXNzaW9ucy9sb2dvdXQtb3RoZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQXNCM0UsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGtCQUFrQjtJQXBCcEU7O1FBcUJhLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO0tBQ3pFOzhHQUhZLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHVFQVAxQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7YUFDOUQ7U0FDSixpREN6QkwsK2pCQW1CQSxtRkRGYyxnQkFBZ0IsMEZBQUUsVUFBVTs7MkZBVTdCLDRCQUE0QjtrQkFwQnhDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBUXhCLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxtQkFDdEIsdUJBQXVCLENBQUMsTUFBTSxhQUVwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQzt5QkFDOUQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENMQVNTRVMsIFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UuY2xhc3MnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1zZ1N0clBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy9tc2ctc3RyLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tjLWxvZ291dC1vdGhlci1zZXNzaW9ucycsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgTXNnU3RyUGlwZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvZ291dC1vdGhlci1zZXNzaW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExvZ291dE90aGVyU2Vzc2lvbnNDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExvZ291dE90aGVyU2Vzc2lvbnNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihDTEFTU0VTKTtcbn1cbiIsIjxkaXZcbiAgICBpZD1cImtjLWZvcm0tb3B0aW9uc1wiXG4gICAgW2tjQ2xhc3NdPVwiJ2tjRm9ybU9wdGlvbnNDbGFzcydcIlxuPlxuICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjRm9ybU9wdGlvbnNXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImxvZ291dC1zZXNzaW9uc1wiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImxvZ291dC1zZXNzaW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJsb2dvdXQtc2Vzc2lvbnNcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIm9uXCJcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENoZWNrZWQ9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHt7ICdsb2dvdXRPdGhlclNlc3Npb25zJyB8IG1zZ1N0ciB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { AsyncPipe } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, forwardRef, inject, input, Renderer2, signal } from '@angular/core';
|
|
3
|
-
import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
|
|
4
|
-
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
5
|
-
import { KcClassDirective } from '../../../login/directives/kc-class.directive';
|
|
6
|
-
import { MsgStrPipe } from '../../../login/pipes/msg-str.pipe';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class PasswordWrapperComponent extends ComponentReference {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.renderer = inject(Renderer2);
|
|
12
|
-
this.passwordInputId = input.required();
|
|
13
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
14
|
-
this.classes = inject(CLASSES);
|
|
15
|
-
this.isPasswordRevealed = signal(false);
|
|
16
|
-
}
|
|
17
|
-
togglePasswordVisibility() {
|
|
18
|
-
this.isPasswordRevealed.update(revealed => !revealed);
|
|
19
|
-
this.setPasswordInputType();
|
|
20
|
-
}
|
|
21
|
-
setPasswordInputType() {
|
|
22
|
-
const input = document.getElementById(this.passwordInputId());
|
|
23
|
-
if (input) {
|
|
24
|
-
this.renderer.setProperty(input, 'type', this.isPasswordRevealed() ? 'text' : 'password');
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PasswordWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.6", type: PasswordWrapperComponent, isStandalone: true, selector: "kc-password-wrapper", inputs: { passwordInputId: { classPropertyName: "passwordInputId", publicName: "passwordInputId", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
|
|
29
|
-
{
|
|
30
|
-
provide: ComponentReference,
|
|
31
|
-
useExisting: forwardRef(() => PasswordWrapperComponent)
|
|
32
|
-
}
|
|
33
|
-
], usesInheritance: true, ngImport: i0, template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content></ng-content>\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"(isPasswordRevealed() ? 'hidePassword' : 'showPassword') | msgStr\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n aria-hidden=\"true\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: MsgStrPipe, name: "msgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: PasswordWrapperComponent, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{ selector: 'kc-password-wrapper', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [KcClassDirective, AsyncPipe, MsgStrPipe], providers: [
|
|
38
|
-
{
|
|
39
|
-
provide: ComponentReference,
|
|
40
|
-
useExisting: forwardRef(() => PasswordWrapperComponent)
|
|
41
|
-
}
|
|
42
|
-
], template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content></ng-content>\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"(isPasswordRevealed() ? 'hidePassword' : 'showPassword') | msgStr\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n aria-hidden=\"true\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"] }]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXIvcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3Bhc3N3b3JkLXdyYXBwZXIvcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFzQjNFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxrQkFBa0I7SUFwQmhFOztRQXFCWSxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLG9CQUFlLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2xDLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLE9BQU8sQ0FBQyxDQUFDO1FBRXRFLHVCQUFrQixHQUE0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FhL0Q7SUFYRyx3QkFBd0I7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQzlELElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlGLENBQUM7SUFDTCxDQUFDOzhHQWxCUSx3QkFBd0I7a0dBQXhCLHdCQUF3QixtT0FQdEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2FBQzFEO1NBQ0osaURDMUJMLGtrQkFlQSxtRkRJYyxnQkFBZ0IsMEZBQWEsVUFBVTs7MkZBU3hDLHdCQUF3QjtrQkFwQnBDLFNBQVM7K0JBQ0kscUJBQXFCLGNBUW5CLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsYUFFdkM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7eUJBQzFEO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIGluamVjdCwgaW5wdXQsIFJlbmRlcmVyMiwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ0xBU1NFUywgVVNFX0RFRkFVTFRfQ1NTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTXNnU3RyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL21zZy1zdHIucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2MtcGFzc3dvcmQtd3JhcHBlcicsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgQXN5bmNQaXBlLCBNc2dTdHJQaXBlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhc3N3b3JkV3JhcHBlckNvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRXcmFwcGVyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgcGFzc3dvcmRJbnB1dElkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihDTEFTU0VTKTtcblxuICAgIGlzUGFzc3dvcmRSZXZlYWxlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgdG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUGFzc3dvcmRSZXZlYWxlZC51cGRhdGUocmV2ZWFsZWQgPT4gIXJldmVhbGVkKTtcbiAgICAgICAgdGhpcy5zZXRQYXNzd29yZElucHV0VHlwZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UGFzc3dvcmRJbnB1dFR5cGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5wYXNzd29yZElucHV0SWQoKSk7XG4gICAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShpbnB1dCwgJ3R5cGUnLCB0aGlzLmlzUGFzc3dvcmRSZXZlYWxlZCgpID8gJ3RleHQnIDogJ3Bhc3N3b3JkJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IFtrY0NsYXNzXT1cIidrY0lucHV0R3JvdXAnXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1QYXNzd29yZFZpc2liaWxpdHlCdXR0b25DbGFzcydcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIihpc1Bhc3N3b3JkUmV2ZWFsZWQoKSA/ICdoaWRlUGFzc3dvcmQnIDogJ3Nob3dQYXNzd29yZCcpIHwgbXNnU3RyXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJwYXNzd29yZElucHV0SWQoKVwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKVwiXG4gICAgPlxuICAgICAgICA8aVxuICAgICAgICAgICAgW2tjQ2xhc3NdPVwiaXNQYXNzd29yZFJldmVhbGVkKCkgPyAna2NGb3JtUGFzc3dvcmRWaXNpYmlsaXR5SWNvbkhpZGUnIDogJ2tjRm9ybVBhc3N3b3JkVmlzaWJpbGl0eUljb25TaG93J1wiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9pPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';
|
|
2
|
-
import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
|
|
3
|
-
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
4
|
-
import { KcClassDirective } from '../../../login/directives/kc-class.directive';
|
|
5
|
-
import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
|
|
6
|
-
import { ToNumberPipe } from '../../../login/pipes/to-number.pipe';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class SelectTagComponent extends ComponentReference {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.attribute = input();
|
|
12
|
-
this.valueOrValues = input();
|
|
13
|
-
this.displayableErrors = input();
|
|
14
|
-
this.dispatchFormAction = output();
|
|
15
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
16
|
-
this.classes = inject(CLASSES);
|
|
17
|
-
this.isMultiple = computed(() => {
|
|
18
|
-
return this.attribute()?.annotations?.inputType === 'multiselect';
|
|
19
|
-
});
|
|
20
|
-
this.options = computed(() => {
|
|
21
|
-
const attribute = this.attribute();
|
|
22
|
-
if (attribute) {
|
|
23
|
-
return (() => {
|
|
24
|
-
walk: {
|
|
25
|
-
const { inputOptionsFromValidation } = attribute.annotations;
|
|
26
|
-
if (inputOptionsFromValidation === undefined) {
|
|
27
|
-
break walk;
|
|
28
|
-
}
|
|
29
|
-
const validator = attribute.validators[inputOptionsFromValidation];
|
|
30
|
-
if (validator === undefined) {
|
|
31
|
-
break walk;
|
|
32
|
-
}
|
|
33
|
-
if (validator.options === undefined) {
|
|
34
|
-
break walk;
|
|
35
|
-
}
|
|
36
|
-
return validator.options;
|
|
37
|
-
}
|
|
38
|
-
return attribute.validators.options?.options ?? [];
|
|
39
|
-
})();
|
|
40
|
-
}
|
|
41
|
-
return [];
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
onChange(event) {
|
|
45
|
-
this.dispatchFormAction.emit({
|
|
46
|
-
action: 'update',
|
|
47
|
-
name: this.attribute()?.name ?? '',
|
|
48
|
-
valueOrValues: (() => {
|
|
49
|
-
if (this.isMultiple()) {
|
|
50
|
-
return Array.from(event.target.selectedOptions).map(option => option.value);
|
|
51
|
-
}
|
|
52
|
-
return event.target.value;
|
|
53
|
-
})()
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
onBlur() {
|
|
57
|
-
this.dispatchFormAction.emit({
|
|
58
|
-
action: 'focus lost',
|
|
59
|
-
name: this.attribute()?.name ?? '',
|
|
60
|
-
fieldIndex: undefined
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: SelectTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: SelectTagComponent, isStandalone: true, selector: "kc-select-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
|
|
65
|
-
{
|
|
66
|
-
provide: ComponentReference,
|
|
67
|
-
useExisting: forwardRef(() => SelectTagComponent)
|
|
68
|
-
}
|
|
69
|
-
], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let multiple = isMultiple();\n@if (attr) {\n <select\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"valueOrValues()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [multiple]=\"multiple\"\n [size]=\"!attr.annotations.inputTypeSize ? undefined : (attr.annotations.inputTypeSize | toNumber)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n >\n @if (!multiple) {\n <option value=\"\"></option>\n }\n @for (option of options(); track option) {\n <option [value]=\"option\">\n @if (!!attr.annotations.inputOptionLabels) {\n {{ attr.annotations.inputOptionLabels[option] ?? option | advancedMsgStr }}\n } @else if (!!attr.annotations.inputOptionLabelsI18nPrefix) {\n {{ attr.annotations.inputOptionLabelsI18nPrefix + '.' + option | advancedMsgStr }}\n } @else {\n {{ option }}\n }\n </option>\n }\n </select>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
70
|
-
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: SelectTagComponent, decorators: [{
|
|
72
|
-
type: Component,
|
|
73
|
-
args: [{ standalone: true, imports: [KcClassDirective, ToNumberPipe, AdvancedMsgStrPipe], selector: 'kc-select-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
74
|
-
{
|
|
75
|
-
provide: ComponentReference,
|
|
76
|
-
useExisting: forwardRef(() => SelectTagComponent)
|
|
77
|
-
}
|
|
78
|
-
], template: "@let attr = attribute();\n@let multiple = isMultiple();\n@if (attr) {\n <select\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"valueOrValues()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [multiple]=\"multiple\"\n [size]=\"!attr.annotations.inputTypeSize ? undefined : (attr.annotations.inputTypeSize | toNumber)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n >\n @if (!multiple) {\n <option value=\"\"></option>\n }\n @for (option of options(); track option) {\n <option [value]=\"option\">\n @if (!!attr.annotations.inputOptionLabels) {\n {{ attr.annotations.inputOptionLabels[option] ?? option | advancedMsgStr }}\n } @else if (!!attr.annotations.inputOptionLabelsI18nPrefix) {\n {{ attr.annotations.inputOptionLabelsI18nPrefix + '.' + option | advancedMsgStr }}\n } @else {\n {{ option }}\n }\n </option>\n }\n </select>\n}\n", styles: [":host{display:contents}\n"] }]
|
|
79
|
-
}] });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3NlbGVjdC10YWcvc2VsZWN0LXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3NlbGVjdC10YWcvc2VsZWN0LXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saURBQWlELENBQUM7O0FBdUIvRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQWtCO0lBcEIxRDs7UUFxQkksY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsS0FBSyxFQUFxQixDQUFDO1FBQzNDLHNCQUFpQixHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxPQUFPLENBQUMsQ0FB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDTEFTU0VTLCBVU0VfREVGQVVMVF9DU1MgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZS5jbGFzcyc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vZGlyZWN0aXZlcy9rYy1jbGFzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQWR2YW5jZWRNc2dTdHJQaXBlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGlwZXMvYWR2YW5jZWQtbXNnLXN0ci5waXBlJztcbmltcG9ydCB7IFRvTnVtYmVyUGlwZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BpcGVzL3RvLW51bWJlci5waXBlJztcbmltcG9ydCB7IEZvcm1BY3Rpb24sIEZvcm1GaWVsZEVycm9yIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvdXNlci1wcm9maWxlLWZvcm0uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmUsIFRvTnVtYmVyUGlwZSwgQWR2YW5jZWRNc2dTdHJQaXBlXSxcbiAgICBzZWxlY3RvcjogJ2tjLXNlbGVjdC10YWcnLFxuICAgIHRlbXBsYXRlVXJsOiAnc2VsZWN0LXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdFRhZ0NvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0VGFnQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBhdHRyaWJ1dGUgPSBpbnB1dDxBdHRyaWJ1dGU+KCk7XG4gICAgdmFsdWVPclZhbHVlcyA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPigpO1xuICAgIGRpc3BsYXlhYmxlRXJyb3JzID0gaW5wdXQ8Rm9ybUZpZWxkRXJyb3JbXT4oKTtcbiAgICBkaXNwYXRjaEZvcm1BY3Rpb24gPSBvdXRwdXQ8Rm9ybUFjdGlvbj4oKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG5cbiAgICBpc011bHRpcGxlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGUoKT8uYW5ub3RhdGlvbnM/LmlucHV0VHlwZSA9PT0gJ211bHRpc2VsZWN0JztcbiAgICB9KTtcblxuICAgIG9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIHJldHVybiAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHdhbGs6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbiB9ID0gYXR0cmlidXRlLmFubm90YXRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhayB3YWxrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yID0gKGF0dHJpYnV0ZS52YWxpZGF0b3JzIGFzIFJlY29yZDxzdHJpbmcsIHsgb3B0aW9ucz86IHN0cmluZ1tdIH0+KVtpbnB1dE9wdGlvbnNGcm9tVmFsaWRhdGlvbl07XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhayB3YWxrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvci5vcHRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIHdhbGs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdG9yLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZS52YWxpZGF0b3JzLm9wdGlvbnM/Lm9wdGlvbnMgPz8gW107XG4gICAgICAgICAgICB9KSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcblxuICAgIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgdmFsdWVPclZhbHVlczogKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc011bHRpcGxlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oKGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCkuc2VsZWN0ZWRPcHRpb25zKS5tYXAob3B0aW9uID0+IG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICAgICAgfSkoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hGb3JtQWN0aW9uLmVtaXQoe1xuICAgICAgICAgICAgYWN0aW9uOiAnZm9jdXMgbG9zdCcsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgZmllbGRJbmRleDogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIkBsZXQgYXR0ciA9IGF0dHJpYnV0ZSgpO1xuQGxldCBtdWx0aXBsZSA9IGlzTXVsdGlwbGUoKTtcbkBpZiAoYXR0cikge1xuICAgIDxzZWxlY3RcbiAgICAgICAgW2lkXT1cImF0dHIubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cImF0dHIubmFtZVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZU9yVmFsdWVzKClcIlxuICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dENsYXNzJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCIhIWRpc3BsYXlhYmxlRXJyb3JzKCk/Lmxlbmd0aFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJhdHRyLnJlYWRPbmx5XCJcbiAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgW3NpemVdPVwiIWF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlU2l6ZSA/IHVuZGVmaW5lZCA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZVNpemUgfCB0b051bWJlcilcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgPlxuICAgICAgICBAaWYgKCFtdWx0aXBsZSkge1xuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPjwvb3B0aW9uPlxuICAgICAgICB9XG4gICAgICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zKCk7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgQGlmICghIWF0dHIuYW5ub3RhdGlvbnMuaW5wdXRPcHRpb25MYWJlbHMpIHtcbiAgICAgICAgICAgICAgICAgICAge3sgYXR0ci5hbm5vdGF0aW9ucy5pbnB1dE9wdGlvbkxhYmVsc1tvcHRpb25dID8/IG9wdGlvbiB8IGFkdmFuY2VkTXNnU3RyIH19XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoISFhdHRyLmFubm90YXRpb25zLmlucHV0T3B0aW9uTGFiZWxzSTE4blByZWZpeCkge1xuICAgICAgICAgICAgICAgICAgICB7eyBhdHRyLmFubm90YXRpb25zLmlucHV0T3B0aW9uTGFiZWxzSTE4blByZWZpeCArICcuJyArIG9wdGlvbiB8IGFkdmFuY2VkTXNnU3RyIH19XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbiB9fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICB9XG4gICAgPC9zZWxlY3Q+XG59XG4iXX0=
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, inject, input, output } from '@angular/core';
|
|
2
|
-
import { CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
|
|
3
|
-
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
4
|
-
import { KcClassDirective } from '../../../login/directives/kc-class.directive';
|
|
5
|
-
import { ToNumberPipe } from '../../../login/pipes/to-number.pipe';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class TextareaTagComponent extends ComponentReference {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.attribute = input();
|
|
11
|
-
this.value = input();
|
|
12
|
-
this.displayableErrors = input();
|
|
13
|
-
this.dispatchFormAction = output();
|
|
14
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
15
|
-
this.classes = inject(CLASSES);
|
|
16
|
-
}
|
|
17
|
-
onChange(event) {
|
|
18
|
-
this.dispatchFormAction.emit({
|
|
19
|
-
action: 'update',
|
|
20
|
-
name: this.attribute()?.name ?? '',
|
|
21
|
-
valueOrValues: event.target.value
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
onBlur() {
|
|
25
|
-
this.dispatchFormAction.emit({
|
|
26
|
-
action: 'focus lost',
|
|
27
|
-
name: this.attribute()?.name ?? '',
|
|
28
|
-
fieldIndex: undefined
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TextareaTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: TextareaTagComponent, isStandalone: true, selector: "kc-textarea-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
|
|
33
|
-
{
|
|
34
|
-
provide: ComponentReference,
|
|
35
|
-
useExisting: forwardRef(() => TextareaTagComponent)
|
|
36
|
-
}
|
|
37
|
-
], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@if (attr) {\n <textarea\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [cols]=\"attr.annotations.inputTypeCols === undefined ? undefined : (attr.annotations.inputTypeCols | toNumber)\"\n [rows]=\"attr.annotations.inputTypeRows === undefined ? undefined : (attr.annotations.inputTypeRows | toNumber)\"\n [maxLength]=\"attr.annotations.inputTypeMaxlength === undefined ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [value]=\"value()\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n ></textarea>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: TextareaTagComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{ standalone: true, imports: [KcClassDirective, ToNumberPipe], selector: 'kc-textarea-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
42
|
-
{
|
|
43
|
-
provide: ComponentReference,
|
|
44
|
-
useExisting: forwardRef(() => TextareaTagComponent)
|
|
45
|
-
}
|
|
46
|
-
], template: "@let attr = attribute();\n@if (attr) {\n <textarea\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [cols]=\"attr.annotations.inputTypeCols === undefined ? undefined : (attr.annotations.inputTypeCols | toNumber)\"\n [rows]=\"attr.annotations.inputTypeRows === undefined ? undefined : (attr.annotations.inputTypeRows | toNumber)\"\n [maxLength]=\"attr.annotations.inputTypeMaxlength === undefined ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [value]=\"value()\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n ></textarea>\n}\n", styles: [":host{display:contents}\n"] }]
|
|
47
|
-
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvdGV4dGFyZWEtdGFnL3RleHRhcmVhLXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3RleHRhcmVhLXRhZy90ZXh0YXJlYS10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saURBQWlELENBQUM7O0FBdUIvRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBcEI1RDs7UUFxQkksY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDOUMsdUJBQWtCLEdBQUcsTUFBTSxFQUFjLENBQUM7UUFDakMsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsT0FBTyxDQUFDLENBQUM7S0FpQnpFO0lBZkcsUUFBUSxDQUFDLEtBQVk7UUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN6QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2xDLGFBQWEsRUFBRyxLQUFLLENBQUMsTUFBOEIsQ0FBQyxLQUFLO1NBQzdELENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN6QixNQUFNLEVBQUUsWUFBWTtZQUNwQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2xDLFVBQVUsRUFBRSxTQUFTO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdEJRLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHloQkFQbEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2FBQ3REO1NBQ0osaURDM0JMLG92QkFnQkEsbUZERWMsZ0JBQWdCLDBGQUFFLFlBQVk7OzJGQVcvQixvQkFBb0I7a0JBcEJoQyxTQUFTO2lDQUNNLElBQUksV0FRUCxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxZQUMvQixpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzt5QkFDdEQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENMQVNTRVMsIFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL2xpYi9rY0Nsc3gnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb051bWJlclBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy90by1udW1iZXIucGlwZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9uLCBGb3JtRmllbGRFcnJvciB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdLFxuICAgIGltcG9ydHM6IFtLY0NsYXNzRGlyZWN0aXZlLCBUb051bWJlclBpcGVdLFxuICAgIHNlbGVjdG9yOiAna2MtdGV4dGFyZWEtdGFnJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3RleHRhcmVhLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRleHRhcmVhVGFnQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYVRhZ0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFJlZmVyZW5jZSB7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIGRpc3BsYXlhYmxlRXJyb3JzID0gaW5wdXQ8Rm9ybUZpZWxkRXJyb3JbXT4oKTtcbiAgICBkaXNwYXRjaEZvcm1BY3Rpb24gPSBvdXRwdXQ8Rm9ybUFjdGlvbj4oKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQ0xBU1NFUyk7XG5cbiAgICBvbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IChldmVudC50YXJnZXQgYXMgSFRNTFRleHRBcmVhRWxlbWVudCkudmFsdWVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ2ZvY3VzIGxvc3QnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIGZpZWxkSW5kZXg6IHVuZGVmaW5lZFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCJAbGV0IGF0dHIgPSBhdHRyaWJ1dGUoKTtcbkBpZiAoYXR0cikge1xuICAgIDx0ZXh0YXJlYVxuICAgICAgICBbaWRdPVwiYXR0ci5uYW1lXCJcbiAgICAgICAgW25hbWVdPVwiYXR0ci5uYW1lXCJcbiAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRDbGFzcydcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiISFkaXNwbGF5YWJsZUVycm9ycygpPy5sZW5ndGhcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiYXR0ci5yZWFkT25seVwiXG4gICAgICAgIFtjb2xzXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlQ29scyA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogKGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlQ29scyB8IHRvTnVtYmVyKVwiXG4gICAgICAgIFtyb3dzXT1cImF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlUm93cyA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogKGF0dHIuYW5ub3RhdGlvbnMuaW5wdXRUeXBlUm93cyB8IHRvTnVtYmVyKVwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiYXR0ci5hbm5vdGF0aW9ucy5pbnB1dFR5cGVNYXhsZW5ndGggPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IChhdHRyLmFubm90YXRpb25zLmlucHV0VHlwZU1heGxlbmd0aCB8IHRvTnVtYmVyKVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgID48L3RleHRhcmVhPlxufVxuIl19
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ContentChild, effect, forwardRef, inject, output } from '@angular/core';
|
|
3
|
-
import { DO_MAKE_USER_CONFIRM_PASSWORD, KC_CONTEXT, CLASSES, USE_DEFAULT_CSS } from '../../../lib/public-api';
|
|
4
|
-
import { ComponentReference } from '../../../login/classes/component-reference.class';
|
|
5
|
-
import { KcClassDirective } from '../../../login/directives/kc-class.directive';
|
|
6
|
-
import { AdvancedMsgStrPipe } from '../../../login/pipes/advanced-msg-str.pipe';
|
|
7
|
-
import { UserProfileFormService } from '../../../login/services/user-profile-form.service';
|
|
8
|
-
import { FieldErrorsComponent } from '../../../login/components/field-errors/field-errors.component';
|
|
9
|
-
import { GroupLabelComponent } from '../../../login/components/group-label/group-label.component';
|
|
10
|
-
import { InputFieldByTypeComponent } from '../../../login/components/input-field-by-type/input-field-by-type.component';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export class UserProfileFormFieldsComponent extends ComponentReference {
|
|
13
|
-
constructor() {
|
|
14
|
-
super();
|
|
15
|
-
this.kcContext = inject(KC_CONTEXT);
|
|
16
|
-
this.userProfileFormService = inject(UserProfileFormService);
|
|
17
|
-
this.doMakeUserConfirmPassword = inject(DO_MAKE_USER_CONFIRM_PASSWORD);
|
|
18
|
-
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
19
|
-
this.classes = inject(CLASSES);
|
|
20
|
-
this.onIsFormSubmittable = output();
|
|
21
|
-
this.formState = this.userProfileFormService.formState;
|
|
22
|
-
effect(() => {
|
|
23
|
-
const isFormSubmittable = this.formState().isFormSubmittable;
|
|
24
|
-
this.onIsFormSubmittable.emit(isFormSubmittable);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
onDispatch(formAction) {
|
|
28
|
-
this.userProfileFormService.dispatchFormAction(formAction);
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UserProfileFormFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: UserProfileFormFieldsComponent, isStandalone: true, selector: "kc-user-profile-form-fields", outputs: { onIsFormSubmittable: "onIsFormSubmittable" }, providers: [
|
|
32
|
-
UserProfileFormService,
|
|
33
|
-
{
|
|
34
|
-
provide: ComponentReference,
|
|
35
|
-
useExisting: forwardRef(() => UserProfileFormFieldsComponent)
|
|
36
|
-
}
|
|
37
|
-
], queries: [{ propertyName: "beforeField", first: true, predicate: ["beforField"], descendants: true }, { propertyName: "afterField", first: true, predicate: ["afterField"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@let formFieldStates = formState().formFieldStates;\n\n@for (fieldState of formFieldStates; track fieldState.attribute) {\n <!-- [groupNameRef]=\"groupNameRef\"\n TODO: verify this logic\n -->\n <kc-group-label [attribute]=\"fieldState.attribute\"> </kc-group-label>\n\n @if (beforeField) {\n <ng-container\n [ngTemplateOutlet]=\"beforeField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [style.display]=\"fieldState.attribute.name === 'password-confirm' && !doMakeUserConfirmPassword ? 'none' : 'block'\"\n >\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [for]=\"fieldState.attribute.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ fieldState.attribute.displayName ?? '' | advancedMsgStr }}\n @if (fieldState.attribute.required) {\n *\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @if (fieldState.attribute.annotations.inputHelperTextBefore) {\n <div\n [kcClass]=\"'kcInputHelperTextBeforeClass'\"\n [id]=\"'form-help-text-before-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ fieldState.attribute.annotations.inputHelperTextBefore | advancedMsgStr }}\n </div>\n }\n\n <kc-input-field-by-type\n [attribute]=\"fieldState.attribute\"\n [valueOrValues]=\"fieldState.valueOrValues\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n (dispatchFormAction)=\"onDispatch($event)\"\n >\n </kc-input-field-by-type>\n\n <kc-field-errors\n [attribute]=\"fieldState.attribute\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n >\n </kc-field-errors>\n @if (fieldState.attribute.annotations.inputHelperTextAfter) {\n <div\n [kcClass]=\"'kcInputHelperTextAfterClass'\"\n [id]=\"'form-help-text-after-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ fieldState.attribute.annotations.inputHelperTextAfter | advancedMsgStr }}\n </div>\n }\n\n @if (afterField) {\n <ng-container\n [ngTemplateOutlet]=\"afterField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n <!-- NOTE: Downloading of html5DataAnnotations scripts is done in the useUserProfileForm hook -->\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "component", type: FieldErrorsComponent, selector: "kc-field-errors", inputs: ["attribute", "displayableErrors", "fieldIndex"] }, { kind: "component", type: InputFieldByTypeComponent, selector: "kc-input-field-by-type", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: GroupLabelComponent, selector: "kc-group-label", inputs: ["attribute", "groupName"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AdvancedMsgStrPipe, name: "advancedMsgStr" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UserProfileFormFieldsComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{ standalone: true, imports: [KcClassDirective, FieldErrorsComponent, InputFieldByTypeComponent, GroupLabelComponent, NgTemplateOutlet, AdvancedMsgStrPipe], selector: 'kc-user-profile-form-fields', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
42
|
-
UserProfileFormService,
|
|
43
|
-
{
|
|
44
|
-
provide: ComponentReference,
|
|
45
|
-
useExisting: forwardRef(() => UserProfileFormFieldsComponent)
|
|
46
|
-
}
|
|
47
|
-
], template: "@let formFieldStates = formState().formFieldStates;\n\n@for (fieldState of formFieldStates; track fieldState.attribute) {\n <!-- [groupNameRef]=\"groupNameRef\"\n TODO: verify this logic\n -->\n <kc-group-label [attribute]=\"fieldState.attribute\"> </kc-group-label>\n\n @if (beforeField) {\n <ng-container\n [ngTemplateOutlet]=\"beforeField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [style.display]=\"fieldState.attribute.name === 'password-confirm' && !doMakeUserConfirmPassword ? 'none' : 'block'\"\n >\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [for]=\"fieldState.attribute.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ fieldState.attribute.displayName ?? '' | advancedMsgStr }}\n @if (fieldState.attribute.required) {\n *\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @if (fieldState.attribute.annotations.inputHelperTextBefore) {\n <div\n [kcClass]=\"'kcInputHelperTextBeforeClass'\"\n [id]=\"'form-help-text-before-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ fieldState.attribute.annotations.inputHelperTextBefore | advancedMsgStr }}\n </div>\n }\n\n <kc-input-field-by-type\n [attribute]=\"fieldState.attribute\"\n [valueOrValues]=\"fieldState.valueOrValues\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n (dispatchFormAction)=\"onDispatch($event)\"\n >\n </kc-input-field-by-type>\n\n <kc-field-errors\n [attribute]=\"fieldState.attribute\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n >\n </kc-field-errors>\n @if (fieldState.attribute.annotations.inputHelperTextAfter) {\n <div\n [kcClass]=\"'kcInputHelperTextAfterClass'\"\n [id]=\"'form-help-text-after-' + fieldState.attribute.name\"\n aria-live=\"polite\"\n >\n {{ fieldState.attribute.annotations.inputHelperTextAfter | advancedMsgStr }}\n </div>\n }\n\n @if (afterField) {\n <ng-container\n [ngTemplateOutlet]=\"afterField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n >\n </ng-container>\n }\n <!-- NOTE: Downloading of html5DataAnnotations scripts is done in the useUserProfileForm hook -->\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
|
|
48
|
-
}], ctorParameters: () => [], propDecorators: { beforeField: [{
|
|
49
|
-
type: ContentChild,
|
|
50
|
-
args: ['beforField']
|
|
51
|
-
}], afterField: [{
|
|
52
|
-
type: ContentChild,
|
|
53
|
-
args: ['afterField']
|
|
54
|
-
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLWZvcm0tZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FraWZ5LWFuZ3VsYXIvc3JjL2xvZ2luL2NvbXBvbmVudHMvdXNlci1wcm9maWxlLWZvcm0tZmllbGRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9ha2lmeS1hbmd1bGFyL3NyYy9sb2dpbi9jb21wb25lbnRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy91c2VyLXByb2ZpbGUtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzFILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBYyxzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzlHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlGQUF5RixDQUFDOztBQXVCcEksTUFBTSxPQUFPLDhCQUErQixTQUFRLGtCQUFrQjtJQWNsRTtRQUNJLEtBQUssRUFBRSxDQUFDO1FBZFosY0FBUyxHQUFHLE1BQU0sQ0FBWSxVQUFVLENBQUMsQ0FBQztRQUMxQywyQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN4RCw4QkFBeUIsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUN6RCxvQkFBZSxHQUFHLE1BQU0sQ0FBVSxlQUFlLENBQUMsQ0FBQztRQUNuRCxZQUFPLEdBQUcsTUFBTSxDQUFvQyxPQUFPLENBQUMsQ0FBQztRQUV0RSx3QkFBbUIsR0FBRyxNQUFNLEVBQVcsQ0FBQztRQUV4QyxjQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQztRQU85QyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDN0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFzQjtRQUM3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0QsQ0FBQzs4R0F4QlEsOEJBQThCO2tHQUE5Qiw4QkFBOEIsbUlBUjVCO1lBQ1Asc0JBQXNCO1lBQ3RCO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7YUFDaEU7U0FDSixtUENoQ0wsNnZHQXFGQSxtRkQvRGMsZ0JBQWdCLCtGQUFFLG9CQUFvQixzSEFBRSx5QkFBeUIsaUtBQUUsbUJBQW1CLCtGQUFFLGdCQUFnQiwrSUFBRSxrQkFBa0I7OzJGQVk3SCw4QkFBOEI7a0JBckIxQyxTQUFTO2lDQUNNLElBQUksV0FRUCxDQUFDLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLFlBQzdILDZCQUE2QixtQkFFdEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCxzQkFBc0I7d0JBQ3RCOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLCtCQUErQixDQUFDO3lCQUNoRTtxQkFDSjt3REFhMkIsV0FBVztzQkFBdEMsWUFBWTt1QkFBQyxZQUFZO2dCQUNFLFVBQVU7c0JBQXJDLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBlZmZlY3QsIGZvcndhcmRSZWYsIGluamVjdCwgb3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9fTUFLRV9VU0VSX0NPTkZJUk1fUEFTU1dPUkQsIEtDX0NPTlRFWFQsIENMQVNTRVMsIFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5pbXBvcnQgeyBLY0NvbnRleHQgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9LY0NvbnRleHQnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY2xhc3Nlcy9jb21wb25lbnQtcmVmZXJlbmNlLmNsYXNzJztcbmltcG9ydCB7IEtjQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9kaXJlY3RpdmVzL2tjLWNsYXNzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBZHZhbmNlZE1zZ1N0clBpcGUgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9waXBlcy9hZHZhbmNlZC1tc2ctc3RyLnBpcGUnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbiwgVXNlclByb2ZpbGVGb3JtU2VydmljZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRFcnJvcnNDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2ZpZWxkLWVycm9ycy9maWVsZC1lcnJvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IEdyb3VwTGFiZWxDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2dyb3VwLWxhYmVsL2dyb3VwLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEZpZWxkQnlUeXBlQ29tcG9uZW50IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vY29tcG9uZW50cy9pbnB1dC1maWVsZC1ieS10eXBlL2lucHV0LWZpZWxkLWJ5LXR5cGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgRmllbGRFcnJvcnNDb21wb25lbnQsIElucHV0RmllbGRCeVR5cGVDb21wb25lbnQsIEdyb3VwTGFiZWxDb21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXQsIEFkdmFuY2VkTXNnU3RyUGlwZV0sXG4gICAgc2VsZWN0b3I6ICdrYy11c2VyLXByb2ZpbGUtZm9ybS1maWVsZHMnLFxuICAgIHRlbXBsYXRlVXJsOiAndXNlci1wcm9maWxlLWZvcm0tZmllbGRzLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVXNlclByb2ZpbGVGb3JtU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ29tcG9uZW50UmVmZXJlbmNlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVXNlclByb2ZpbGVGb3JtRmllbGRzQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVc2VyUHJvZmlsZUZvcm1GaWVsZHNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxLY0NvbnRleHQ+KEtDX0NPTlRFWFQpO1xuICAgIHVzZXJQcm9maWxlRm9ybVNlcnZpY2UgPSBpbmplY3QoVXNlclByb2ZpbGVGb3JtU2VydmljZSk7XG4gICAgZG9NYWtlVXNlckNvbmZpcm1QYXNzd29yZCA9IGluamVjdChET19NQUtFX1VTRVJfQ09ORklSTV9QQVNTV09SRCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KENMQVNTRVMpO1xuXG4gICAgb25Jc0Zvcm1TdWJtaXR0YWJsZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gICAgZm9ybVN0YXRlID0gdGhpcy51c2VyUHJvZmlsZUZvcm1TZXJ2aWNlLmZvcm1TdGF0ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2JlZm9yRmllbGQnKSBiZWZvcmVGaWVsZDogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgQENvbnRlbnRDaGlsZCgnYWZ0ZXJGaWVsZCcpIGFmdGVyRmllbGQ6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc0Zvcm1TdWJtaXR0YWJsZSA9IHRoaXMuZm9ybVN0YXRlKCkuaXNGb3JtU3VibWl0dGFibGU7XG4gICAgICAgICAgICB0aGlzLm9uSXNGb3JtU3VibWl0dGFibGUuZW1pdChpc0Zvcm1TdWJtaXR0YWJsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRGlzcGF0Y2goZm9ybUFjdGlvbjogRm9ybUFjdGlvbikge1xuICAgICAgICB0aGlzLnVzZXJQcm9maWxlRm9ybVNlcnZpY2UuZGlzcGF0Y2hGb3JtQWN0aW9uKGZvcm1BY3Rpb24pO1xuICAgIH1cbn1cbiIsIkBsZXQgZm9ybUZpZWxkU3RhdGVzID0gZm9ybVN0YXRlKCkuZm9ybUZpZWxkU3RhdGVzO1xuXG5AZm9yIChmaWVsZFN0YXRlIG9mIGZvcm1GaWVsZFN0YXRlczsgdHJhY2sgZmllbGRTdGF0ZS5hdHRyaWJ1dGUpIHtcbiAgICA8IS0tIFtncm91cE5hbWVSZWZdPVwiZ3JvdXBOYW1lUmVmXCJcbiAgVE9ETzogdmVyaWZ5IHRoaXMgbG9naWNcbiAgLS0+XG4gICAgPGtjLWdyb3VwLWxhYmVsIFthdHRyaWJ1dGVdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGVcIj4gPC9rYy1ncm91cC1sYWJlbD5cblxuICAgIEBpZiAoYmVmb3JlRmllbGQpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYmVmb3JlRmllbGRcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGU6IGZpZWxkU3RhdGUuYXR0cmlidXRlLFxuICAgICAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IGZpZWxkU3RhdGUudmFsdWVPclZhbHVlcyxcbiAgICAgICAgICAgICAgICBkaXNwbGF5YWJsZUVycm9yczogZmllbGRTdGF0ZS5kaXNwbGF5YWJsZUVycm9yc1xuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgfVxuXG4gICAgPGRpdlxuICAgICAgICBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJmaWVsZFN0YXRlLmF0dHJpYnV0ZS5uYW1lID09PSAncGFzc3dvcmQtY29uZmlybScgJiYgIWRvTWFrZVVzZXJDb25maXJtUGFzc3dvcmQgPyAnbm9uZScgOiAnYmxvY2snXCJcbiAgICA+XG4gICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBbZm9yXT1cImZpZWxkU3RhdGUuYXR0cmlidXRlLm5hbWVcIlxuICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBmaWVsZFN0YXRlLmF0dHJpYnV0ZS5kaXNwbGF5TmFtZSA/PyAnJyB8IGFkdmFuY2VkTXNnU3RyIH19XG4gICAgICAgICAgICAgICAgQGlmIChmaWVsZFN0YXRlLmF0dHJpYnV0ZS5yZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NJbnB1dFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIEBpZiAoZmllbGRTdGF0ZS5hdHRyaWJ1dGUuYW5ub3RhdGlvbnMuaW5wdXRIZWxwZXJUZXh0QmVmb3JlKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dEhlbHBlclRleHRCZWZvcmVDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2Zvcm0taGVscC10ZXh0LWJlZm9yZS0nICsgZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBmaWVsZFN0YXRlLmF0dHJpYnV0ZS5hbm5vdGF0aW9ucy5pbnB1dEhlbHBlclRleHRCZWZvcmUgfCBhZHZhbmNlZE1zZ1N0ciB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8a2MtaW5wdXQtZmllbGQtYnktdHlwZVxuICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZU9yVmFsdWVzXT1cImZpZWxkU3RhdGUudmFsdWVPclZhbHVlc1wiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImZpZWxkU3RhdGUuZGlzcGxheWFibGVFcnJvcnNcIlxuICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwib25EaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwva2MtaW5wdXQtZmllbGQtYnktdHlwZT5cblxuICAgICAgICAgICAgPGtjLWZpZWxkLWVycm9yc1xuICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJmaWVsZFN0YXRlLmRpc3BsYXlhYmxlRXJyb3JzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwva2MtZmllbGQtZXJyb3JzPlxuICAgICAgICAgICAgQGlmIChmaWVsZFN0YXRlLmF0dHJpYnV0ZS5hbm5vdGF0aW9ucy5pbnB1dEhlbHBlclRleHRBZnRlcikge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRIZWxwZXJUZXh0QWZ0ZXJDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2Zvcm0taGVscC10ZXh0LWFmdGVyLScgKyBmaWVsZFN0YXRlLmF0dHJpYnV0ZS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGZpZWxkU3RhdGUuYXR0cmlidXRlLmFubm90YXRpb25zLmlucHV0SGVscGVyVGV4dEFmdGVyIHwgYWR2YW5jZWRNc2dTdHIgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChhZnRlckZpZWxkKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhZnRlckZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZTogZmllbGRTdGF0ZS5hdHRyaWJ1dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9yVmFsdWVzOiBmaWVsZFN0YXRlLnZhbHVlT3JWYWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5YWJsZUVycm9yczogZmllbGRTdGF0ZS5kaXNwbGF5YWJsZUVycm9yc1xuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8IS0tIE5PVEU6IERvd25sb2FkaW5nIG9mIGh0bWw1RGF0YUFubm90YXRpb25zIHNjcmlwdHMgaXMgZG9uZSBpbiB0aGUgdXNlVXNlclByb2ZpbGVGb3JtIGhvb2sgLS0+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufVxuIl19
|