monkey-style-guide 2.0.107 → 2.0.111
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/assets/scss/partials/_breakpoints.scss +35 -35
- package/assets/scss/partials/components/_badge.scss +55 -55
- package/assets/scss/partials/components/_date-range-picker.scss +1 -0
- package/assets/scss/partials/components/_expansion.scss +91 -91
- package/assets/scss/partials/components/_modal.scss +282 -282
- package/assets/scss/partials/components/_tab.scss +82 -82
- package/assets/scss/partials/components/_toggle.scss +103 -103
- package/{esm2015/lib/components/badge/badge.component.js → esm2020/lib/components/badge/badge.component.mjs} +4 -4
- package/{esm2015/lib/components/badge/badge.module.js → esm2020/lib/components/badge/badge.module.mjs} +5 -5
- package/{esm2015/lib/components/badge/index.js → esm2020/lib/components/badge/index.mjs} +1 -1
- package/{esm2015/lib/components/button/button-avatar.component.js → esm2020/lib/components/button/button-avatar.component.mjs} +5 -5
- package/{esm2015/lib/components/button/button-dropdown.component.js → esm2020/lib/components/button/button-dropdown.component.mjs} +4 -4
- package/{esm2015/lib/components/button/button.component.js → esm2020/lib/components/button/button.component.mjs} +4 -4
- package/{esm2015/lib/components/button/button.module.js → esm2020/lib/components/button/button.module.mjs} +5 -5
- package/{esm2015/lib/components/button/index.js → esm2020/lib/components/button/index.mjs} +0 -0
- package/{esm2015/lib/components/checkbox/checkbox.component.js → esm2020/lib/components/checkbox/checkbox.component.mjs} +6 -6
- package/{esm2015/lib/components/checkbox/checkbox.module.js → esm2020/lib/components/checkbox/checkbox.module.mjs} +5 -5
- package/{esm2015/lib/components/checkbox/index.js → esm2020/lib/components/checkbox/index.mjs} +0 -0
- package/esm2020/lib/components/date-range-picker/date-range-picker.component.mjs +569 -0
- package/{esm2015/lib/components/date-range-picker/date-range-picker.module.js → esm2020/lib/components/date-range-picker/date-range-picker.module.mjs} +5 -5
- package/{esm2015/lib/components/date-range-picker/index.js → esm2020/lib/components/date-range-picker/index.mjs} +0 -0
- package/{esm2015/lib/components/expansion/expansion.component.js → esm2020/lib/components/expansion/expansion.component.mjs} +71 -71
- package/{esm2015/lib/components/expansion/expansion.module.js → esm2020/lib/components/expansion/expansion.module.mjs} +5 -5
- package/{esm2015/lib/components/expansion/index.js → esm2020/lib/components/expansion/index.mjs} +1 -1
- package/{esm2015/lib/components/file-upload/file-upload.component.js → esm2020/lib/components/file-upload/file-upload.component.mjs} +6 -6
- package/{esm2015/lib/components/file-upload/file-upload.module.js → esm2020/lib/components/file-upload/file-upload.module.mjs} +5 -5
- package/{esm2015/lib/components/file-upload/index.js → esm2020/lib/components/file-upload/index.mjs} +0 -0
- package/esm2020/lib/components/icon/icon-arrow-down.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-arrow-left.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-arrow-right.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-arrow-up.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-bank.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-bell.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-book.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-box.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-calendar.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-camera.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-chat.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-check-circle-out.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-check-circle.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-check-grey.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-check-white.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-check.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-clipboard.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-clock.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-close.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-cnpj.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-codepen.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-company-name.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-contract.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-delete.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-document.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-dollar-sign.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-domain.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-download.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-edit.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-email.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-empty-doc.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-error.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-eye-closed.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-eye-open.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-filter.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-grid.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-help.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-hexagon.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-home.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-image.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-list.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-location-pin.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-login.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-logout.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-menu.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-money-sign.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-more.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-offered.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-password.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-people.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-percent.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-person-document.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-person-sad.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-phone.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-pork.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-refresh.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-repeat.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-search.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-second-warning.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-settings.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-trash.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-upload.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-user.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-wallet.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-warning.component.mjs +15 -0
- package/{esm2015/lib/components/icon/icon.component.js → esm2020/lib/components/icon/icon.component.mjs} +6 -6
- package/{esm2015/lib/components/icon/icon.module.js → esm2020/lib/components/icon/icon.module.mjs} +5 -5
- package/{esm2015/lib/components/icon/index.js → esm2020/lib/components/icon/index.mjs} +0 -0
- package/{esm2015/lib/components/image-crop/image-crop.component.js → esm2020/lib/components/image-crop/image-crop.component.mjs} +12 -5
- package/{esm2015/lib/components/image-crop/image-crop.module.js → esm2020/lib/components/image-crop/image-crop.module.mjs} +5 -5
- package/{esm2015/lib/components/image-crop/index.js → esm2020/lib/components/image-crop/index.mjs} +0 -0
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/{esm2015/lib/components/input/index.js → esm2020/lib/components/input/index.mjs} +0 -0
- package/esm2020/lib/components/input/input-filter.component.mjs +261 -0
- package/esm2020/lib/components/input/input.component.mjs +380 -0
- package/{esm2015/lib/components/input/input.module.js → esm2020/lib/components/input/input.module.mjs} +5 -5
- package/{esm2015/lib/components/input-phone/index.js → esm2020/lib/components/input-phone/index.mjs} +0 -0
- package/esm2020/lib/components/input-phone/input-phone.component.mjs +304 -0
- package/{esm2015/lib/components/input-phone/input-phone.module.js → esm2020/lib/components/input-phone/input-phone.module.mjs} +5 -5
- package/{esm2015/lib/components/modal/index.js → esm2020/lib/components/modal/index.mjs} +0 -0
- package/esm2020/lib/components/modal/modal.component.mjs +236 -0
- package/{esm2015/lib/components/modal/modal.module.js → esm2020/lib/components/modal/modal.module.mjs} +5 -5
- package/{esm2015/lib/components/option/index.js → esm2020/lib/components/option/index.mjs} +0 -0
- package/{esm2015/lib/components/option/option.component.js → esm2020/lib/components/option/option.component.mjs} +4 -4
- package/{esm2015/lib/components/option/option.module.js → esm2020/lib/components/option/option.module.mjs} +5 -5
- package/{esm2015/lib/components/radiobutton/index.js → esm2020/lib/components/radiobutton/index.mjs} +0 -0
- package/{esm2015/lib/components/radiobutton/radiobutton.component.js → esm2020/lib/components/radiobutton/radiobutton.component.mjs} +6 -6
- package/{esm2015/lib/components/radiobutton/radiobutton.module.js → esm2020/lib/components/radiobutton/radiobutton.module.mjs} +5 -5
- package/{esm2015/lib/components/select/index.js → esm2020/lib/components/select/index.mjs} +0 -0
- package/{esm2015/lib/components/select/select-filter.component.js → esm2020/lib/components/select/select-filter.component.mjs} +6 -6
- package/esm2020/lib/components/select/select-multiple.component.mjs +304 -0
- package/esm2020/lib/components/select/select-search.component.mjs +306 -0
- package/{esm2015/lib/components/select/select.component.js → esm2020/lib/components/select/select.component.mjs} +6 -6
- package/{esm2015/lib/components/select/select.module.js → esm2020/lib/components/select/select.module.mjs} +5 -5
- package/{esm2015/lib/components/stepper/index.js → esm2020/lib/components/stepper/index.mjs} +0 -0
- package/{esm2015/lib/components/stepper/stepper.component.js → esm2020/lib/components/stepper/stepper.component.mjs} +4 -4
- package/{esm2015/lib/components/stepper/stepper.module.js → esm2020/lib/components/stepper/stepper.module.mjs} +5 -5
- package/{esm2015/lib/components/tab/index.js → esm2020/lib/components/tab/index.mjs} +1 -1
- package/{esm2015/lib/components/tab/tab.component.js → esm2020/lib/components/tab/tab.component.mjs} +12 -12
- package/{esm2015/lib/components/tab/tab.module.js → esm2020/lib/components/tab/tab.module.mjs} +5 -5
- package/{esm2015/lib/components/table/index.js → esm2020/lib/components/table/index.mjs} +0 -0
- package/{esm2015/lib/components/table/table-column.component.js → esm2020/lib/components/table/table-column.component.mjs} +4 -4
- package/esm2020/lib/components/table/table.component.mjs +203 -0
- package/{esm2015/lib/components/table/table.module.js → esm2020/lib/components/table/table.module.mjs} +5 -5
- package/{esm2015/lib/components/toggle/index.js → esm2020/lib/components/toggle/index.mjs} +1 -1
- package/esm2020/lib/components/toggle/toggle.component.mjs +56 -0
- package/{esm2015/lib/components/toggle/toggle.module.js → esm2020/lib/components/toggle/toggle.module.mjs} +5 -5
- package/{esm2015/lib/components/wizard/index.js → esm2020/lib/components/wizard/index.mjs} +0 -0
- package/{esm2015/lib/components/wizard/wizard.component.js → esm2020/lib/components/wizard/wizard.component.mjs} +4 -4
- package/{esm2015/lib/components/wizard/wizard.module.js → esm2020/lib/components/wizard/wizard.module.mjs} +5 -5
- package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +0 -0
- package/{esm2015/lib/core/interfaces/index.js → esm2020/lib/core/interfaces/index.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkey-modal-settings.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkey-style-settings.js → esm2020/lib/core/interfaces/monkey-style-settings.mjs} +0 -0
- package/{esm2015/lib/core/services/index.js → esm2020/lib/core/services/index.mjs} +0 -0
- package/{esm2015/lib/core/services/modal/index.js → esm2020/lib/core/services/modal/index.mjs} +1 -1
- package/{esm2015/lib/core/services/modal/monkey-style-guide-modal-fixed.service.js → esm2020/lib/core/services/modal/monkey-style-guide-modal-fixed.service.mjs} +4 -4
- package/{esm2015/lib/core/services/modal/monkey-style-guide-modal.service.js → esm2020/lib/core/services/modal/monkey-style-guide-modal.service.mjs} +4 -4
- package/{esm2015/lib/core/services/monkey-style-guide.service.js → esm2020/lib/core/services/monkey-style-guide.service.mjs} +4 -4
- package/{esm2015/lib/core/services/settings/index.js → esm2020/lib/core/services/settings/index.mjs} +0 -0
- package/{esm2015/lib/core/services/settings/monkey-style-guide-settings.service.js → esm2020/lib/core/services/settings/monkey-style-guide-settings.service.mjs} +4 -4
- package/esm2020/lib/core/services/settings/monkey-style-guide-theme-settings.service.mjs +80 -0
- package/{esm2015/lib/core/services/snackbar/index.js → esm2020/lib/core/services/snackbar/index.mjs} +0 -0
- package/{esm2015/lib/core/services/snackbar/mokey-style-guide-snackbar.service.js → esm2020/lib/core/services/snackbar/mokey-style-guide-snackbar.service.mjs} +5 -5
- package/{esm2015/lib/core/utils/index.js → esm2020/lib/core/utils/index.mjs} +0 -0
- package/esm2020/lib/core/utils/utils.mjs +235 -0
- package/{esm2015/lib/monkey-style-guide.module.js → esm2020/lib/monkey-style-guide.module.mjs} +5 -5
- package/{esm2015/monkey-style-guide.js → esm2020/monkey-style-guide.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/{monkey-style-guide.js → monkey-style-guide.mjs} +567 -807
- package/fesm2015/monkey-style-guide.mjs.map +1 -0
- package/fesm2020/monkey-style-guide.mjs +7921 -0
- package/fesm2020/monkey-style-guide.mjs.map +1 -0
- package/lib/components/date-range-picker/date-range-picker.component.d.ts +6 -5
- package/lib/core/utils/utils.d.ts +3 -3
- package/monkey-style-guide-2.0.111.tgz +0 -0
- package/package.json +22 -9
- package/bundles/monkey-style-guide.umd.js +0 -6220
- package/bundles/monkey-style-guide.umd.js.map +0 -1
- package/esm2015/lib/components/date-range-picker/date-range-picker.component.js +0 -553
- package/esm2015/lib/components/icon/icon-arrow-down.component.js +0 -19
- package/esm2015/lib/components/icon/icon-arrow-left.component.js +0 -19
- package/esm2015/lib/components/icon/icon-arrow-right.component.js +0 -19
- package/esm2015/lib/components/icon/icon-arrow-up.component.js +0 -19
- package/esm2015/lib/components/icon/icon-bank.component.js +0 -19
- package/esm2015/lib/components/icon/icon-bell.component.js +0 -19
- package/esm2015/lib/components/icon/icon-book.component.js +0 -19
- package/esm2015/lib/components/icon/icon-box.component.js +0 -19
- package/esm2015/lib/components/icon/icon-calendar.component.js +0 -19
- package/esm2015/lib/components/icon/icon-camera.component.js +0 -19
- package/esm2015/lib/components/icon/icon-chat.component.js +0 -19
- package/esm2015/lib/components/icon/icon-check-circle-out.component.js +0 -19
- package/esm2015/lib/components/icon/icon-check-circle.component.js +0 -19
- package/esm2015/lib/components/icon/icon-check-grey.component.js +0 -19
- package/esm2015/lib/components/icon/icon-check-white.component.js +0 -19
- package/esm2015/lib/components/icon/icon-check.component.js +0 -19
- package/esm2015/lib/components/icon/icon-clipboard.component.js +0 -19
- package/esm2015/lib/components/icon/icon-clock.component.js +0 -19
- package/esm2015/lib/components/icon/icon-close.component.js +0 -19
- package/esm2015/lib/components/icon/icon-cnpj.component.js +0 -19
- package/esm2015/lib/components/icon/icon-codepen.component.js +0 -19
- package/esm2015/lib/components/icon/icon-company-name.component.js +0 -19
- package/esm2015/lib/components/icon/icon-contract.component.js +0 -19
- package/esm2015/lib/components/icon/icon-delete.component.js +0 -19
- package/esm2015/lib/components/icon/icon-document.component.js +0 -19
- package/esm2015/lib/components/icon/icon-dollar-sign.component.js +0 -19
- package/esm2015/lib/components/icon/icon-domain.component.js +0 -19
- package/esm2015/lib/components/icon/icon-download.component.js +0 -19
- package/esm2015/lib/components/icon/icon-edit.component.js +0 -19
- package/esm2015/lib/components/icon/icon-email.component.js +0 -19
- package/esm2015/lib/components/icon/icon-empty-doc.component.js +0 -19
- package/esm2015/lib/components/icon/icon-error.component.js +0 -19
- package/esm2015/lib/components/icon/icon-eye-closed.component.js +0 -19
- package/esm2015/lib/components/icon/icon-eye-open.component.js +0 -19
- package/esm2015/lib/components/icon/icon-filter.component.js +0 -19
- package/esm2015/lib/components/icon/icon-grid.component.js +0 -19
- package/esm2015/lib/components/icon/icon-help.component.js +0 -19
- package/esm2015/lib/components/icon/icon-hexagon.component.js +0 -19
- package/esm2015/lib/components/icon/icon-home.component.js +0 -19
- package/esm2015/lib/components/icon/icon-image.component.js +0 -19
- package/esm2015/lib/components/icon/icon-list.component.js +0 -19
- package/esm2015/lib/components/icon/icon-location-pin.component.js +0 -19
- package/esm2015/lib/components/icon/icon-login.component.js +0 -19
- package/esm2015/lib/components/icon/icon-logout.component.js +0 -19
- package/esm2015/lib/components/icon/icon-menu.component.js +0 -19
- package/esm2015/lib/components/icon/icon-money-sign.component.js +0 -19
- package/esm2015/lib/components/icon/icon-more.component.js +0 -19
- package/esm2015/lib/components/icon/icon-offered.component.js +0 -19
- package/esm2015/lib/components/icon/icon-password.component.js +0 -19
- package/esm2015/lib/components/icon/icon-people.component.js +0 -19
- package/esm2015/lib/components/icon/icon-percent.component.js +0 -19
- package/esm2015/lib/components/icon/icon-person-document.component.js +0 -19
- package/esm2015/lib/components/icon/icon-person-sad.component.js +0 -19
- package/esm2015/lib/components/icon/icon-phone.component.js +0 -19
- package/esm2015/lib/components/icon/icon-pork.component.js +0 -19
- package/esm2015/lib/components/icon/icon-refresh.component.js +0 -19
- package/esm2015/lib/components/icon/icon-repeat.component.js +0 -19
- package/esm2015/lib/components/icon/icon-search.component.js +0 -19
- package/esm2015/lib/components/icon/icon-second-warning.component.js +0 -19
- package/esm2015/lib/components/icon/icon-settings.component.js +0 -19
- package/esm2015/lib/components/icon/icon-trash.component.js +0 -19
- package/esm2015/lib/components/icon/icon-upload.component.js +0 -19
- package/esm2015/lib/components/icon/icon-user.component.js +0 -19
- package/esm2015/lib/components/icon/icon-wallet.component.js +0 -19
- package/esm2015/lib/components/icon/icon-warning.component.js +0 -19
- package/esm2015/lib/components/input/input-filter.component.js +0 -262
- package/esm2015/lib/components/input/input.component.js +0 -384
- package/esm2015/lib/components/input-phone/input-phone.component.js +0 -307
- package/esm2015/lib/components/modal/modal.component.js +0 -241
- package/esm2015/lib/components/select/select-multiple.component.js +0 -308
- package/esm2015/lib/components/select/select-search.component.js +0 -308
- package/esm2015/lib/components/table/table.component.js +0 -204
- package/esm2015/lib/components/toggle/toggle.component.js +0 -56
- package/esm2015/lib/core/interfaces/monkey-modal-settings.js +0 -2
- package/esm2015/lib/core/services/settings/monkey-style-guide-theme-settings.service.js +0 -70
- package/esm2015/lib/core/utils/utils.js +0 -237
- package/fesm2015/monkey-style-guide.js.map +0 -1
- package/monkey-style-guide-2.0.107.tgz +0 -0
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
/**************************
|
|
2
|
-
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
-
* This style guide was developed by Monkey Exchange Team
|
|
4
|
-
* MIT Licence
|
|
5
|
-
**************************/
|
|
6
|
-
import { Component, ViewEncapsulation, Input, forwardRef, HostListener, ContentChildren, Output, EventEmitter, ViewChild, } from '@angular/core';
|
|
7
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
8
|
-
import { MonkeyOptionComponent } from '../option';
|
|
9
|
-
import { MonkeyUtils } from '../../core/utils';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../icon/icon.component";
|
|
12
|
-
import * as i2 from "@angular/common";
|
|
13
|
-
import * as i3 from "@angular/forms";
|
|
14
|
-
export class MonkeySelectSearchComponent {
|
|
15
|
-
constructor(cdRef, renderer) {
|
|
16
|
-
this.cdRef = cdRef;
|
|
17
|
-
this.renderer = renderer;
|
|
18
|
-
this.labelSelect = 'Selecione';
|
|
19
|
-
this.onHandleOptions = new EventEmitter();
|
|
20
|
-
this.onChange = new EventEmitter();
|
|
21
|
-
this.onSearch = new EventEmitter(null);
|
|
22
|
-
this.onModelChange = (value) => { };
|
|
23
|
-
this.onModelTouched = (value) => { };
|
|
24
|
-
this._opened = false;
|
|
25
|
-
this._id = `mecx-select-search-${MonkeyUtils.getRandomString(10)}`;
|
|
26
|
-
this._disabled = false;
|
|
27
|
-
//not to do
|
|
28
|
-
}
|
|
29
|
-
onHandleSearch(search) {
|
|
30
|
-
this.options.forEach((op) => {
|
|
31
|
-
const source = `${op.label}`.toLowerCase();
|
|
32
|
-
const destination = `${search}`.toLowerCase();
|
|
33
|
-
if (source.indexOf(destination) > -1) {
|
|
34
|
-
this.renderer.setStyle(op.elRef.nativeElement, 'display', 'inline');
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
this.renderer.setStyle(op.elRef.nativeElement, 'display', 'inline');
|
|
38
|
-
}
|
|
39
|
-
let display = 'inline';
|
|
40
|
-
if (source.indexOf(destination) === -1) {
|
|
41
|
-
display = 'none';
|
|
42
|
-
}
|
|
43
|
-
this.renderer.setStyle(op.elRef.nativeElement, 'display', display);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
onHandleSelected() {
|
|
47
|
-
const { _opened, _selected } = this;
|
|
48
|
-
this.options.forEach((op) => {
|
|
49
|
-
op.selected = _selected;
|
|
50
|
-
});
|
|
51
|
-
if (_opened) {
|
|
52
|
-
let scrollValue = 0;
|
|
53
|
-
if (_selected) {
|
|
54
|
-
const { _id } = this._selected;
|
|
55
|
-
scrollValue = document.getElementById(_id).offsetTop - 10;
|
|
56
|
-
}
|
|
57
|
-
this.selectOptions.nativeElement.scrollTo(0, scrollValue);
|
|
58
|
-
this.selectOptions.nativeElement.focus();
|
|
59
|
-
this.cdRef.detectChanges();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
validateOptions() {
|
|
63
|
-
const { fieldToCompare } = this;
|
|
64
|
-
if (!this.options)
|
|
65
|
-
return;
|
|
66
|
-
this.options.forEach((op) => {
|
|
67
|
-
var _a;
|
|
68
|
-
op.onSelectOption = this.onSelectOption.bind(this);
|
|
69
|
-
op.type = (op === null || op === void 0 ? void 0 : op.type) || 'select';
|
|
70
|
-
op.selected = null;
|
|
71
|
-
let source = '';
|
|
72
|
-
let destination = '';
|
|
73
|
-
if (fieldToCompare) {
|
|
74
|
-
source = `${op.value[fieldToCompare]}`.toLowerCase();
|
|
75
|
-
destination = `${(_a = this.handledValue) === null || _a === void 0 ? void 0 : _a[fieldToCompare]}`.toLowerCase();
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
source = `${op.value}`.toLowerCase();
|
|
79
|
-
destination = `${this.handledValue}`.toLowerCase();
|
|
80
|
-
}
|
|
81
|
-
if (source === destination) {
|
|
82
|
-
this._selected = op;
|
|
83
|
-
op.selected = op;
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
doSearch(search) {
|
|
88
|
-
this.onSearch.next(search);
|
|
89
|
-
this.onHandleSearch(search);
|
|
90
|
-
this._opened = true;
|
|
91
|
-
this.onHandleSelected();
|
|
92
|
-
}
|
|
93
|
-
init() {
|
|
94
|
-
setTimeout(() => {
|
|
95
|
-
this._selected = null;
|
|
96
|
-
this.validateOptions();
|
|
97
|
-
}, 0);
|
|
98
|
-
}
|
|
99
|
-
registerOnChange(fn) {
|
|
100
|
-
this.onModelChange = fn;
|
|
101
|
-
}
|
|
102
|
-
registerOnTouched(fn) {
|
|
103
|
-
this.onModelTouched = fn;
|
|
104
|
-
}
|
|
105
|
-
setDisabledState(isDisabled) {
|
|
106
|
-
this._disabled = isDisabled;
|
|
107
|
-
}
|
|
108
|
-
set value(value) {
|
|
109
|
-
if (value !== undefined && this.handledValue !== value) {
|
|
110
|
-
this.handledValue = value;
|
|
111
|
-
this.onModelChange(value);
|
|
112
|
-
this.onModelTouched(value);
|
|
113
|
-
}
|
|
114
|
-
this.validateOptions();
|
|
115
|
-
}
|
|
116
|
-
get value() {
|
|
117
|
-
return this.handledValue;
|
|
118
|
-
}
|
|
119
|
-
writeValue(value) {
|
|
120
|
-
this.value = value;
|
|
121
|
-
}
|
|
122
|
-
onChangeValue(event, value) {
|
|
123
|
-
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
124
|
-
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
125
|
-
this.writeValue(value);
|
|
126
|
-
this.onChange.next(value);
|
|
127
|
-
}
|
|
128
|
-
clickout() {
|
|
129
|
-
this._opened = false;
|
|
130
|
-
}
|
|
131
|
-
open() {
|
|
132
|
-
if (!this._opened) {
|
|
133
|
-
setTimeout(() => {
|
|
134
|
-
var _a;
|
|
135
|
-
this._opened = true;
|
|
136
|
-
this.onHandleSelected();
|
|
137
|
-
((_a = this.inputFilter) === null || _a === void 0 ? void 0 : _a.nativeElement).focus();
|
|
138
|
-
}, 50);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
ngAfterViewInit() {
|
|
142
|
-
this.init();
|
|
143
|
-
this.onHandleOptions.subscribe(() => {
|
|
144
|
-
this.init();
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
ngOnChanges() {
|
|
148
|
-
this.init();
|
|
149
|
-
}
|
|
150
|
-
onSelectOption(select) {
|
|
151
|
-
this._selected = select;
|
|
152
|
-
const { value } = select;
|
|
153
|
-
this._opened = false;
|
|
154
|
-
this.onChangeValue(null, value);
|
|
155
|
-
this.onHandleSelected();
|
|
156
|
-
}
|
|
157
|
-
onChangeInput(event) {
|
|
158
|
-
const { value } = event === null || event === void 0 ? void 0 : event.target;
|
|
159
|
-
if (this.timer) {
|
|
160
|
-
clearTimeout(this.timer);
|
|
161
|
-
}
|
|
162
|
-
this.timer = setTimeout(() => {
|
|
163
|
-
this.doSearch(value);
|
|
164
|
-
}, 400);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
MonkeySelectSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeySelectSearchComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
168
|
-
MonkeySelectSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: MonkeySelectSearchComponent, selector: "monkey-select-search", inputs: { label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", infoMessage: "infoMessage", errorMessage: "errorMessage", labelSelect: "labelSelect", fieldToCompare: "fieldToCompare", onHandleOptions: "onHandleOptions", value: "value" }, outputs: { onChange: "onChange", onSearch: "onSearch" }, host: { listeners: { "document:click": "clickout()" } }, providers: [
|
|
169
|
-
{
|
|
170
|
-
provide: NG_VALUE_ACCESSOR,
|
|
171
|
-
useExisting: forwardRef(() => MonkeySelectSearchComponent),
|
|
172
|
-
multi: true,
|
|
173
|
-
},
|
|
174
|
-
], queries: [{ propertyName: "options", predicate: MonkeyOptionComponent }], viewQueries: [{ propertyName: "selectOptions", first: true, predicate: ["selectOptions"], descendants: true, static: true }, { propertyName: "inputFilter", first: true, predicate: ["inputFilter"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
175
|
-
<mecx-form-field [id]="_id" [ngClass]="{ disabled: _disabled }">
|
|
176
|
-
<mecx-form-field-header>
|
|
177
|
-
<label>
|
|
178
|
-
{{ label }}
|
|
179
|
-
</label>
|
|
180
|
-
<helper>
|
|
181
|
-
{{ helperMessage }}
|
|
182
|
-
</helper>
|
|
183
|
-
</mecx-form-field-header>
|
|
184
|
-
<mecx-form-field-body (click)="open()" [class.error]="errorMessage?.trim()">
|
|
185
|
-
<monkey-icon [icon]="icon" [color]="'#aaaaaa'"></monkey-icon>
|
|
186
|
-
<mecx-select class="trigger" [ngClass]="{ open: _opened }">
|
|
187
|
-
<mecx-select__trigger>
|
|
188
|
-
<input
|
|
189
|
-
[placeholder]="labelSelect || placeholder"
|
|
190
|
-
(input)="onChangeInput($event)"
|
|
191
|
-
#inputFilter
|
|
192
|
-
[ngModel]="_selected?.label || ''"
|
|
193
|
-
/>
|
|
194
|
-
<monkey-icon
|
|
195
|
-
[icon]="!_opened ? 'arrow-down-16' : 'arrow-up-16'"
|
|
196
|
-
[color]="'#4B4A53'"
|
|
197
|
-
></monkey-icon>
|
|
198
|
-
</mecx-select__trigger>
|
|
199
|
-
</mecx-select>
|
|
200
|
-
</mecx-form-field-body>
|
|
201
|
-
<mecx-select-inside [ngClass]="{ open: _opened }">
|
|
202
|
-
<mecx-select-options #selectOptions>
|
|
203
|
-
<ng-content> </ng-content>
|
|
204
|
-
</mecx-select-options>
|
|
205
|
-
</mecx-select-inside>
|
|
206
|
-
<mecx-form-field-footer>
|
|
207
|
-
<info>
|
|
208
|
-
{{ infoMessage }}
|
|
209
|
-
</info>
|
|
210
|
-
<error>
|
|
211
|
-
{{ errorMessage }}
|
|
212
|
-
</error>
|
|
213
|
-
</mecx-form-field-footer>
|
|
214
|
-
</mecx-form-field>
|
|
215
|
-
`, isInline: true, components: [{ type: i1.MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "color", "contrast", "disabled"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeySelectSearchComponent, decorators: [{
|
|
217
|
-
type: Component,
|
|
218
|
-
args: [{
|
|
219
|
-
selector: 'monkey-select-search',
|
|
220
|
-
template: `
|
|
221
|
-
<mecx-form-field [id]="_id" [ngClass]="{ disabled: _disabled }">
|
|
222
|
-
<mecx-form-field-header>
|
|
223
|
-
<label>
|
|
224
|
-
{{ label }}
|
|
225
|
-
</label>
|
|
226
|
-
<helper>
|
|
227
|
-
{{ helperMessage }}
|
|
228
|
-
</helper>
|
|
229
|
-
</mecx-form-field-header>
|
|
230
|
-
<mecx-form-field-body (click)="open()" [class.error]="errorMessage?.trim()">
|
|
231
|
-
<monkey-icon [icon]="icon" [color]="'#aaaaaa'"></monkey-icon>
|
|
232
|
-
<mecx-select class="trigger" [ngClass]="{ open: _opened }">
|
|
233
|
-
<mecx-select__trigger>
|
|
234
|
-
<input
|
|
235
|
-
[placeholder]="labelSelect || placeholder"
|
|
236
|
-
(input)="onChangeInput($event)"
|
|
237
|
-
#inputFilter
|
|
238
|
-
[ngModel]="_selected?.label || ''"
|
|
239
|
-
/>
|
|
240
|
-
<monkey-icon
|
|
241
|
-
[icon]="!_opened ? 'arrow-down-16' : 'arrow-up-16'"
|
|
242
|
-
[color]="'#4B4A53'"
|
|
243
|
-
></monkey-icon>
|
|
244
|
-
</mecx-select__trigger>
|
|
245
|
-
</mecx-select>
|
|
246
|
-
</mecx-form-field-body>
|
|
247
|
-
<mecx-select-inside [ngClass]="{ open: _opened }">
|
|
248
|
-
<mecx-select-options #selectOptions>
|
|
249
|
-
<ng-content> </ng-content>
|
|
250
|
-
</mecx-select-options>
|
|
251
|
-
</mecx-select-inside>
|
|
252
|
-
<mecx-form-field-footer>
|
|
253
|
-
<info>
|
|
254
|
-
{{ infoMessage }}
|
|
255
|
-
</info>
|
|
256
|
-
<error>
|
|
257
|
-
{{ errorMessage }}
|
|
258
|
-
</error>
|
|
259
|
-
</mecx-form-field-footer>
|
|
260
|
-
</mecx-form-field>
|
|
261
|
-
`,
|
|
262
|
-
encapsulation: ViewEncapsulation.None,
|
|
263
|
-
providers: [
|
|
264
|
-
{
|
|
265
|
-
provide: NG_VALUE_ACCESSOR,
|
|
266
|
-
useExisting: forwardRef(() => MonkeySelectSearchComponent),
|
|
267
|
-
multi: true,
|
|
268
|
-
},
|
|
269
|
-
],
|
|
270
|
-
}]
|
|
271
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { label: [{
|
|
272
|
-
type: Input
|
|
273
|
-
}], helperMessage: [{
|
|
274
|
-
type: Input
|
|
275
|
-
}], placeholder: [{
|
|
276
|
-
type: Input
|
|
277
|
-
}], icon: [{
|
|
278
|
-
type: Input
|
|
279
|
-
}], infoMessage: [{
|
|
280
|
-
type: Input
|
|
281
|
-
}], errorMessage: [{
|
|
282
|
-
type: Input
|
|
283
|
-
}], labelSelect: [{
|
|
284
|
-
type: Input
|
|
285
|
-
}], fieldToCompare: [{
|
|
286
|
-
type: Input
|
|
287
|
-
}], onHandleOptions: [{
|
|
288
|
-
type: Input
|
|
289
|
-
}], onChange: [{
|
|
290
|
-
type: Output
|
|
291
|
-
}], onSearch: [{
|
|
292
|
-
type: Output
|
|
293
|
-
}], selectOptions: [{
|
|
294
|
-
type: ViewChild,
|
|
295
|
-
args: ['selectOptions', { static: true }]
|
|
296
|
-
}], inputFilter: [{
|
|
297
|
-
type: ViewChild,
|
|
298
|
-
args: ['inputFilter', { static: true }]
|
|
299
|
-
}], options: [{
|
|
300
|
-
type: ContentChildren,
|
|
301
|
-
args: [MonkeyOptionComponent]
|
|
302
|
-
}], value: [{
|
|
303
|
-
type: Input
|
|
304
|
-
}], clickout: [{
|
|
305
|
-
type: HostListener,
|
|
306
|
-
args: ['document:click']
|
|
307
|
-
}] } });
|
|
308
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs0QkFJNEI7QUFDNUIsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBRVosZUFBZSxFQUNmLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxHQU1WLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQXVEL0MsTUFBTSxPQUFPLDJCQUEyQjtJQStCdEMsWUFBb0IsS0FBd0IsRUFBVSxRQUFtQjtRQUFyRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUF4QmhFLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBRTFCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNuQyxhQUFRLEdBQUcsSUFBSSxZQUFZLENBQU0sSUFBSSxDQUFDLENBQUM7UUFTekMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQU1yQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFFBQUcsR0FBVyxzQkFBc0IsV0FBVyxDQUFDLGVBQWUsQ0FB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XHJcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcclxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXHJcbiAqIE1JVCBMaWNlbmNlXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgSW5wdXQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIENvbnRlbnRDaGlsZHJlbixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFZpZXdDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIFJlbmRlcmVyMixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNb25rZXlPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24nO1xyXG5pbXBvcnQgeyBNb25rZXlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtb25rZXktc2VsZWN0LXNlYXJjaCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxtZWN4LWZvcm0tZmllbGQgW2lkXT1cIl9pZFwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IF9kaXNhYmxlZCB9XCI+XHJcbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtaGVhZGVyPlxyXG4gICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgIHt7IGxhYmVsIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8aGVscGVyPlxyXG4gICAgICAgICAge3sgaGVscGVyTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvaGVscGVyPlxyXG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1oZWFkZXI+XHJcbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtYm9keSAoY2xpY2spPVwib3BlbigpXCIgW2NsYXNzLmVycm9yXT1cImVycm9yTWVzc2FnZT8udHJpbSgpXCI+XHJcbiAgICAgICAgPG1vbmtleS1pY29uIFtpY29uXT1cImljb25cIiBbY29sb3JdPVwiJyNhYWFhYWEnXCI+PC9tb25rZXktaWNvbj5cclxuICAgICAgICA8bWVjeC1zZWxlY3QgY2xhc3M9XCJ0cmlnZ2VyXCIgW25nQ2xhc3NdPVwieyBvcGVuOiBfb3BlbmVkIH1cIj5cclxuICAgICAgICAgIDxtZWN4LXNlbGVjdF9fdHJpZ2dlcj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImxhYmVsU2VsZWN0IHx8IHBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAjaW5wdXRGaWx0ZXJcclxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJfc2VsZWN0ZWQ/LmxhYmVsIHx8ICcnXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPG1vbmtleS1pY29uXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiIV9vcGVuZWQgPyAnYXJyb3ctZG93bi0xNicgOiAnYXJyb3ctdXAtMTYnXCJcclxuICAgICAgICAgICAgICBbY29sb3JdPVwiJyM0QjRBNTMnXCJcclxuICAgICAgICAgICAgPjwvbW9ua2V5LWljb24+XHJcbiAgICAgICAgICA8L21lY3gtc2VsZWN0X190cmlnZ2VyPlxyXG4gICAgICAgIDwvbWVjeC1zZWxlY3Q+XHJcbiAgICAgIDwvbWVjeC1mb3JtLWZpZWxkLWJvZHk+XHJcbiAgICAgIDxtZWN4LXNlbGVjdC1pbnNpZGUgW25nQ2xhc3NdPVwieyBvcGVuOiBfb3BlbmVkIH1cIj5cclxuICAgICAgICA8bWVjeC1zZWxlY3Qtb3B0aW9ucyAjc2VsZWN0T3B0aW9ucz5cclxuICAgICAgICAgIDxuZy1jb250ZW50PiA8L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9tZWN4LXNlbGVjdC1vcHRpb25zPlxyXG4gICAgICA8L21lY3gtc2VsZWN0LWluc2lkZT5cclxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1mb290ZXI+XHJcbiAgICAgICAgPGluZm8+XHJcbiAgICAgICAgICB7eyBpbmZvTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvaW5mbz5cclxuICAgICAgICA8ZXJyb3I+XHJcbiAgICAgICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cclxuICAgICAgICA8L2Vycm9yPlxyXG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1mb290ZXI+XHJcbiAgICA8L21lY3gtZm9ybS1maWVsZD5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNb25rZXlTZWxlY3RTZWFyY2hDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleVNlbGVjdFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVscGVyTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWxTZWxlY3QgPSAnU2VsZWNpb25lJztcclxuICBASW5wdXQoKSBmaWVsZFRvQ29tcGFyZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9uSGFuZGxlT3B0aW9ucyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PihudWxsKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0T3B0aW9ucycsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgc2VsZWN0T3B0aW9uczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRGaWx0ZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGlucHV0RmlsdGVyOiBFbGVtZW50UmVmO1xyXG5cclxuICBwcml2YXRlIGhhbmRsZWRWYWx1ZTogYW55O1xyXG4gIHByaXZhdGUgb25Nb2RlbENoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcclxuICBwcml2YXRlIG9uTW9kZWxUb3VjaGVkID0gKHZhbHVlOiBhbnkpID0+IHt9O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oTW9ua2V5T3B0aW9uQ29tcG9uZW50KVxyXG4gIHByaXZhdGUgb3B0aW9ucyE6IFF1ZXJ5TGlzdDxNb25rZXlPcHRpb25Db21wb25lbnQ+O1xyXG4gIHByaXZhdGUgdGltZXI6IGFueTtcclxuXHJcbiAgcHVibGljIF9zZWxlY3RlZDogTW9ua2V5T3B0aW9uQ29tcG9uZW50O1xyXG4gIHB1YmxpYyBfb3BlbmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIF9pZDogc3RyaW5nID0gYG1lY3gtc2VsZWN0LXNlYXJjaC0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygxMCl9YDtcclxuICBwdWJsaWMgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIC8vbm90IHRvIGRvXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uSGFuZGxlU2VhcmNoKHNlYXJjaDogYW55KSB7XHJcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3ApID0+IHtcclxuICAgICAgY29uc3Qgc291cmNlID0gYCR7b3AubGFiZWx9YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICBjb25zdCBkZXN0aW5hdGlvbiA9IGAke3NlYXJjaH1gLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGlmIChzb3VyY2UuaW5kZXhPZihkZXN0aW5hdGlvbikgPiAtMSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3AuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnaW5saW5lJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvcC5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdpbmxpbmUnKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgZGlzcGxheSA9ICdpbmxpbmUnO1xyXG4gICAgICBpZiAoc291cmNlLmluZGV4T2YoZGVzdGluYXRpb24pID09PSAtMSkge1xyXG4gICAgICAgIGRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvcC5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsIGRpc3BsYXkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uSGFuZGxlU2VsZWN0ZWQoKSB7XHJcbiAgICBjb25zdCB7IF9vcGVuZWQsIF9zZWxlY3RlZCB9ID0gdGhpcztcclxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcCkgPT4ge1xyXG4gICAgICBvcC5zZWxlY3RlZCA9IF9zZWxlY3RlZDtcclxuICAgIH0pO1xyXG4gICAgaWYgKF9vcGVuZWQpIHtcclxuICAgICAgbGV0IHNjcm9sbFZhbHVlID0gMDtcclxuICAgICAgaWYgKF9zZWxlY3RlZCkge1xyXG4gICAgICAgIGNvbnN0IHsgX2lkIH0gPSB0aGlzLl9zZWxlY3RlZDtcclxuICAgICAgICBzY3JvbGxWYWx1ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKF9pZCkub2Zmc2V0VG9wIC0gMTA7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RPcHRpb25zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oMCwgc2Nyb2xsVmFsdWUpO1xyXG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbnMubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVPcHRpb25zKCkge1xyXG4gICAgY29uc3QgeyBmaWVsZFRvQ29tcGFyZSB9ID0gdGhpcztcclxuICAgIGlmICghdGhpcy5vcHRpb25zKSByZXR1cm47XHJcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3ApID0+IHtcclxuICAgICAgb3Aub25TZWxlY3RPcHRpb24gPSB0aGlzLm9uU2VsZWN0T3B0aW9uLmJpbmQodGhpcyk7XHJcbiAgICAgIG9wLnR5cGUgPSBvcD8udHlwZSB8fCAnc2VsZWN0JztcclxuICAgICAgb3Auc2VsZWN0ZWQgPSBudWxsO1xyXG4gICAgICBsZXQgc291cmNlID0gJyc7XHJcbiAgICAgIGxldCBkZXN0aW5hdGlvbiA9ICcnO1xyXG4gICAgICBpZiAoZmllbGRUb0NvbXBhcmUpIHtcclxuICAgICAgICBzb3VyY2UgPSBgJHtvcC52YWx1ZVtmaWVsZFRvQ29tcGFyZV19YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgIGRlc3RpbmF0aW9uID0gYCR7dGhpcy5oYW5kbGVkVmFsdWU/LltmaWVsZFRvQ29tcGFyZV19YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNvdXJjZSA9IGAke29wLnZhbHVlfWAudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBkZXN0aW5hdGlvbiA9IGAke3RoaXMuaGFuZGxlZFZhbHVlfWAudG9Mb3dlckNhc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc291cmNlID09PSBkZXN0aW5hdGlvbikge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gb3A7XHJcbiAgICAgICAgb3Auc2VsZWN0ZWQgPSBvcDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRvU2VhcmNoKHNlYXJjaDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9uU2VhcmNoLm5leHQoc2VhcmNoKTtcclxuICAgIHRoaXMub25IYW5kbGVTZWFyY2goc2VhcmNoKTtcclxuICAgIHRoaXMuX29wZW5lZCA9IHRydWU7XHJcbiAgICB0aGlzLm9uSGFuZGxlU2VsZWN0ZWQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdCgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IG51bGw7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVPcHRpb25zKCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmhhbmRsZWRWYWx1ZSAhPT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5oYW5kbGVkVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHZhbHVlKTtcclxuICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbGlkYXRlT3B0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVkVmFsdWU7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlVmFsdWUoZXZlbnQ6IGFueSwgdmFsdWU6IGFueSkge1xyXG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xyXG4gICAgdGhpcy5vbkNoYW5nZS5uZXh0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJylcclxuICBjbGlja291dCgpIHtcclxuICAgIHRoaXMuX29wZW5lZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgb3BlbigpIHtcclxuICAgIGlmICghdGhpcy5fb3BlbmVkKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX29wZW5lZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5vbkhhbmRsZVNlbGVjdGVkKCk7XHJcbiAgICAgICAgKHRoaXMuaW5wdXRGaWx0ZXI/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkuZm9jdXMoKTtcclxuICAgICAgfSwgNTApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgICB0aGlzLm9uSGFuZGxlT3B0aW9ucy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0T3B0aW9uKHNlbGVjdDogTW9ua2V5T3B0aW9uQ29tcG9uZW50KSB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHNlbGVjdDtcclxuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHNlbGVjdDtcclxuICAgIHRoaXMuX29wZW5lZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5vbkNoYW5nZVZhbHVlKG51bGwsIHZhbHVlKTtcclxuICAgIHRoaXMub25IYW5kbGVTZWxlY3RlZCgpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VJbnB1dChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudD8udGFyZ2V0O1xyXG4gICAgaWYgKHRoaXMudGltZXIpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmRvU2VhcmNoKHZhbHVlKTtcclxuICAgIH0sIDQwMCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
/**************************
|
|
2
|
-
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
-
* This style guide was developed by Monkey Exchange Team
|
|
4
|
-
* MIT Licence
|
|
5
|
-
**************************/
|
|
6
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
7
|
-
import { MonkeyUtils } from '../../core';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../checkbox/checkbox.component";
|
|
10
|
-
import * as i2 from "@angular/common";
|
|
11
|
-
export class MonkeyTableComponent {
|
|
12
|
-
constructor(elRef) {
|
|
13
|
-
this.elRef = elRef;
|
|
14
|
-
this.loading = false;
|
|
15
|
-
this.selectable = false;
|
|
16
|
-
this.callbackValidation = null;
|
|
17
|
-
this.callbackValidationAll = null;
|
|
18
|
-
this.selectedList = null;
|
|
19
|
-
this.selection = new EventEmitter();
|
|
20
|
-
this.selected = new EventEmitter();
|
|
21
|
-
this.list = [];
|
|
22
|
-
this._maxWidth = 100;
|
|
23
|
-
//not to do
|
|
24
|
-
}
|
|
25
|
-
emitSelection() {
|
|
26
|
-
this.selection.next(this.list);
|
|
27
|
-
}
|
|
28
|
-
handleDataSource() {
|
|
29
|
-
this.newDataSource = this.dataSource.map((data) => {
|
|
30
|
-
let id = null;
|
|
31
|
-
if (this.functionId) {
|
|
32
|
-
id = this.functionId(data);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
id = MonkeyUtils.getRandomString(20);
|
|
36
|
-
}
|
|
37
|
-
return { id, data };
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
ngOnInit() {
|
|
41
|
-
setTimeout(() => {
|
|
42
|
-
var _a;
|
|
43
|
-
this._maxWidth = 100 / ((_a = this.headers) === null || _a === void 0 ? void 0 : _a.length);
|
|
44
|
-
this.elRef.nativeElement.style.setProperty('--mecx-table-column-width', `${this._maxWidth}%`);
|
|
45
|
-
}, 0);
|
|
46
|
-
this.handleDataSource();
|
|
47
|
-
if (this.selectedList) {
|
|
48
|
-
this.list = this.selectedList;
|
|
49
|
-
this.emitSelection();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
ngOnChanges() {
|
|
53
|
-
this.handleDataSource();
|
|
54
|
-
}
|
|
55
|
-
onHandleSelect(event, row) {
|
|
56
|
-
const { callbackValidation } = this;
|
|
57
|
-
event.preventDefault();
|
|
58
|
-
const continueValidation = () => {
|
|
59
|
-
this.emitSelection();
|
|
60
|
-
this.selected.next({ row, selected: this.onHandleSelected(row) });
|
|
61
|
-
};
|
|
62
|
-
if (this.onHandleSelected(row)) {
|
|
63
|
-
this.list.splice(this.list.indexOf(row), 1);
|
|
64
|
-
continueValidation();
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
if (callbackValidation) {
|
|
68
|
-
callbackValidation(row, () => {
|
|
69
|
-
this.list.push(row);
|
|
70
|
-
continueValidation();
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
continueValidation();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
onHandleSelectAll(event) {
|
|
79
|
-
const { callbackValidationAll } = this;
|
|
80
|
-
event.preventDefault();
|
|
81
|
-
const continueValidation = () => {
|
|
82
|
-
this.emitSelection();
|
|
83
|
-
this.selected.next({ row: this.list });
|
|
84
|
-
};
|
|
85
|
-
if (!this.list.length) {
|
|
86
|
-
if (callbackValidationAll) {
|
|
87
|
-
callbackValidationAll(this.newDataSource, (newData = null) => {
|
|
88
|
-
if (newData) {
|
|
89
|
-
this.list = [...newData];
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
this.list = [...this.newDataSource];
|
|
93
|
-
}
|
|
94
|
-
continueValidation();
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
this.list = [];
|
|
100
|
-
continueValidation();
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
onHandleSelected(row) {
|
|
104
|
-
return !!this.list.find((value) => value.id === row.id);
|
|
105
|
-
}
|
|
106
|
-
onHandleSelectedAll() {
|
|
107
|
-
return this.list.length === this.newDataSource.length;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
MonkeyTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyTableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
111
|
-
MonkeyTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: MonkeyTableComponent, selector: "monkey-table", inputs: { headers: "headers", dataSource: "dataSource", loading: "loading", rowTemplate: "rowTemplate", selectable: "selectable", callbackValidation: "callbackValidation", callbackValidationAll: "callbackValidationAll", selectedList: "selectedList", functionId: "functionId" }, outputs: { selection: "selection", selected: "selected" }, usesOnChanges: true, ngImport: i0, template: `
|
|
112
|
-
<mecx-monkey-table>
|
|
113
|
-
<mecx-monkey-table-header>
|
|
114
|
-
<monkey-checkbox
|
|
115
|
-
[value]="onHandleSelectedAll()"
|
|
116
|
-
(click)="onHandleSelectAll($event)"
|
|
117
|
-
*ngIf="selectable"
|
|
118
|
-
></monkey-checkbox>
|
|
119
|
-
<span *ngFor="let header of headers" [style.width]="_maxWidth + '%'">
|
|
120
|
-
{{ header }}
|
|
121
|
-
</span>
|
|
122
|
-
</mecx-monkey-table-header>
|
|
123
|
-
<mecx-monkey-table-body>
|
|
124
|
-
<mecx-monkey-table-body-row
|
|
125
|
-
[class.selected]="onHandleSelected(row)"
|
|
126
|
-
*ngFor="let row of newDataSource"
|
|
127
|
-
>
|
|
128
|
-
<monkey-checkbox
|
|
129
|
-
[value]="onHandleSelected(row)"
|
|
130
|
-
(click)="onHandleSelect($event, row)"
|
|
131
|
-
*ngIf="selectable"
|
|
132
|
-
></monkey-checkbox>
|
|
133
|
-
<ng-container *ngTemplateOutlet="rowTemplate; context: { row: row.data }"></ng-container>
|
|
134
|
-
</mecx-monkey-table-body-row>
|
|
135
|
-
</mecx-monkey-table-body>
|
|
136
|
-
<mecx-monkey-table-body *ngIf="loading">
|
|
137
|
-
<mecx-monkey-table-body-row *ngFor="let loading of [1, 2, 3]">
|
|
138
|
-
<progress class="monkey-progress monkey-progress__grey-white"></progress>
|
|
139
|
-
</mecx-monkey-table-body-row>
|
|
140
|
-
</mecx-monkey-table-body>
|
|
141
|
-
</mecx-monkey-table>
|
|
142
|
-
`, isInline: true, components: [{ type: i1.MonkeyCheckboxComponent, selector: "monkey-checkbox", inputs: ["label", "type", "helperMessage", "infoMessage", "errorMessage", "description", "value"], outputs: ["onChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyTableComponent, decorators: [{
|
|
144
|
-
type: Component,
|
|
145
|
-
args: [{
|
|
146
|
-
selector: 'monkey-table',
|
|
147
|
-
template: `
|
|
148
|
-
<mecx-monkey-table>
|
|
149
|
-
<mecx-monkey-table-header>
|
|
150
|
-
<monkey-checkbox
|
|
151
|
-
[value]="onHandleSelectedAll()"
|
|
152
|
-
(click)="onHandleSelectAll($event)"
|
|
153
|
-
*ngIf="selectable"
|
|
154
|
-
></monkey-checkbox>
|
|
155
|
-
<span *ngFor="let header of headers" [style.width]="_maxWidth + '%'">
|
|
156
|
-
{{ header }}
|
|
157
|
-
</span>
|
|
158
|
-
</mecx-monkey-table-header>
|
|
159
|
-
<mecx-monkey-table-body>
|
|
160
|
-
<mecx-monkey-table-body-row
|
|
161
|
-
[class.selected]="onHandleSelected(row)"
|
|
162
|
-
*ngFor="let row of newDataSource"
|
|
163
|
-
>
|
|
164
|
-
<monkey-checkbox
|
|
165
|
-
[value]="onHandleSelected(row)"
|
|
166
|
-
(click)="onHandleSelect($event, row)"
|
|
167
|
-
*ngIf="selectable"
|
|
168
|
-
></monkey-checkbox>
|
|
169
|
-
<ng-container *ngTemplateOutlet="rowTemplate; context: { row: row.data }"></ng-container>
|
|
170
|
-
</mecx-monkey-table-body-row>
|
|
171
|
-
</mecx-monkey-table-body>
|
|
172
|
-
<mecx-monkey-table-body *ngIf="loading">
|
|
173
|
-
<mecx-monkey-table-body-row *ngFor="let loading of [1, 2, 3]">
|
|
174
|
-
<progress class="monkey-progress monkey-progress__grey-white"></progress>
|
|
175
|
-
</mecx-monkey-table-body-row>
|
|
176
|
-
</mecx-monkey-table-body>
|
|
177
|
-
</mecx-monkey-table>
|
|
178
|
-
`,
|
|
179
|
-
encapsulation: ViewEncapsulation.None,
|
|
180
|
-
}]
|
|
181
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { headers: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], dataSource: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], loading: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], rowTemplate: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], selectable: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], callbackValidation: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], callbackValidationAll: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], selectedList: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], functionId: [{
|
|
198
|
-
type: Input
|
|
199
|
-
}], selection: [{
|
|
200
|
-
type: Output
|
|
201
|
-
}], selected: [{
|
|
202
|
-
type: Output
|
|
203
|
-
}] } });
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7QUFzQ3pDLE1BQU0sT0FBTyxvQkFBb0I7SUE2Qi9CLFlBQW1CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUF4QjNCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJaEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFMUIsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBRTdCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBSW5CLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXBDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBSXJDLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFbEIsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUdkLFdBQVc7SUFDYixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEQsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ2QsSUFBRyxJQUFJLENBQUMsVUFBVSxFQUFDO2dCQUNqQixFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QjtpQkFBSTtnQkFDSCxFQUFFLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN0QztZQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUU7O1lBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUcsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxNQUFNLENBQUEsQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLDJCQUEyQixFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDaEcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBaUIsRUFBRSxHQUFRO1FBQ3hDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNwQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVDLGtCQUFrQixFQUFFLENBQUM7U0FDdEI7YUFBTTtZQUNMLElBQUksa0JBQWtCLEVBQUU7Z0JBQ3RCLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNwQixrQkFBa0IsRUFBRSxDQUFDO2dCQUN2QixDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLGtCQUFrQixFQUFFLENBQUM7YUFDdEI7U0FDRjtJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFpQjtRQUNqQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDdkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZCLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFO1lBQzlCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDckIsSUFBSSxxQkFBcUIsRUFBRTtnQkFDekIscUJBQXFCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLE9BQU8sR0FBRyxJQUFJLEVBQUUsRUFBRTtvQkFDM0QsSUFBSSxPQUFPLEVBQUU7d0JBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7cUJBQzFCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDckM7b0JBQ0Qsa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNmLGtCQUFrQixFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBUTtRQUN2QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ3hELENBQUM7O2tIQXpIVSxvQkFBb0I7c0dBQXBCLG9CQUFvQiwwWkFsQ3JCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JUOzRGQUdVLG9CQUFvQjtrQkFwQ2hDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7aUdBRVUsT0FBTztzQkFBZixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbW9ua2V5LXRhYmxlJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1lY3gtbW9ua2V5LXRhYmxlPlxyXG4gICAgICA8bWVjeC1tb25rZXktdGFibGUtaGVhZGVyPlxyXG4gICAgICAgIDxtb25rZXktY2hlY2tib3hcclxuICAgICAgICAgIFt2YWx1ZV09XCJvbkhhbmRsZVNlbGVjdGVkQWxsKClcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uSGFuZGxlU2VsZWN0QWxsKCRldmVudClcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzZWxlY3RhYmxlXCJcclxuICAgICAgICA+PC9tb25rZXktY2hlY2tib3g+XHJcbiAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGhlYWRlciBvZiBoZWFkZXJzXCIgW3N0eWxlLndpZHRoXT1cIl9tYXhXaWR0aCArICclJ1wiPlxyXG4gICAgICAgICAge3sgaGVhZGVyIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L21lY3gtbW9ua2V5LXRhYmxlLWhlYWRlcj5cclxuICAgICAgPG1lY3gtbW9ua2V5LXRhYmxlLWJvZHk+XHJcbiAgICAgICAgPG1lY3gtbW9ua2V5LXRhYmxlLWJvZHktcm93XHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwib25IYW5kbGVTZWxlY3RlZChyb3cpXCJcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCByb3cgb2YgbmV3RGF0YVNvdXJjZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1vbmtleS1jaGVja2JveFxyXG4gICAgICAgICAgICBbdmFsdWVdPVwib25IYW5kbGVTZWxlY3RlZChyb3cpXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSGFuZGxlU2VsZWN0KCRldmVudCwgcm93KVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0YWJsZVwiXHJcbiAgICAgICAgICA+PC9tb25rZXktY2hlY2tib3g+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93VGVtcGxhdGU7IGNvbnRleHQ6IHsgcm93OiByb3cuZGF0YSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tZWN4LW1vbmtleS10YWJsZS1ib2R5LXJvdz5cclxuICAgICAgPC9tZWN4LW1vbmtleS10YWJsZS1ib2R5PlxyXG4gICAgICA8bWVjeC1tb25rZXktdGFibGUtYm9keSAqbmdJZj1cImxvYWRpbmdcIj5cclxuICAgICAgICA8bWVjeC1tb25rZXktdGFibGUtYm9keS1yb3cgKm5nRm9yPVwibGV0IGxvYWRpbmcgb2YgWzEsIDIsIDNdXCI+XHJcbiAgICAgICAgICA8cHJvZ3Jlc3MgY2xhc3M9XCJtb25rZXktcHJvZ3Jlc3MgbW9ua2V5LXByb2dyZXNzX19ncmV5LXdoaXRlXCI+PC9wcm9ncmVzcz5cclxuICAgICAgICA8L21lY3gtbW9ua2V5LXRhYmxlLWJvZHktcm93PlxyXG4gICAgICA8L21lY3gtbW9ua2V5LXRhYmxlLWJvZHk+XHJcbiAgICA8L21lY3gtbW9ua2V5LXRhYmxlPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGhlYWRlcnM6IHN0cmluZ1tdO1xyXG5cclxuICBASW5wdXQoKSBkYXRhU291cmNlOiBhbnlbXTtcclxuXHJcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSByb3dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0YWJsZSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBjYWxsYmFja1ZhbGlkYXRpb24gPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBjYWxsYmFja1ZhbGlkYXRpb25BbGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBzZWxlY3RlZExpc3QgPSBudWxsO1xyXG4gIFxyXG4gIEBJbnB1dCgpIGZ1bmN0aW9uSWQ6IEZ1bmN0aW9uO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBuZXdEYXRhU291cmNlOiBhbnlbXTtcclxuXHJcbiAgcHJpdmF0ZSBsaXN0ID0gW107XHJcblxyXG4gIF9tYXhXaWR0aCA9IDEwMDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsUmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICAvL25vdCB0byBkb1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0U2VsZWN0aW9uKCkge1xyXG4gICAgdGhpcy5zZWxlY3Rpb24ubmV4dCh0aGlzLmxpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVEYXRhU291cmNlKCkge1xyXG4gICAgdGhpcy5uZXdEYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlLm1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICBsZXQgaWQgPSBudWxsO1xyXG4gICAgICBpZih0aGlzLmZ1bmN0aW9uSWQpe1xyXG4gICAgICAgIGlkID0gdGhpcy5mdW5jdGlvbklkKGRhdGEpO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBpZCA9IE1vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygyMCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHsgaWQsIGRhdGEgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fbWF4V2lkdGggPSAxMDAgLyB0aGlzLmhlYWRlcnM/Lmxlbmd0aDtcclxuICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLW1lY3gtdGFibGUtY29sdW1uLXdpZHRoJywgYCR7dGhpcy5fbWF4V2lkdGh9JWApO1xyXG4gICAgfSwgMCk7XHJcbiAgICB0aGlzLmhhbmRsZURhdGFTb3VyY2UoKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTGlzdCkge1xyXG4gICAgICB0aGlzLmxpc3QgPSB0aGlzLnNlbGVjdGVkTGlzdDtcclxuICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuaGFuZGxlRGF0YVNvdXJjZSgpO1xyXG4gIH1cclxuXHJcbiAgb25IYW5kbGVTZWxlY3QoZXZlbnQ6IE1vdXNlRXZlbnQsIHJvdzogYW55KSB7XHJcbiAgICBjb25zdCB7IGNhbGxiYWNrVmFsaWRhdGlvbiB9ID0gdGhpcztcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgY29uc3QgY29udGludWVWYWxpZGF0aW9uID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmVtaXRTZWxlY3Rpb24oKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZC5uZXh0KHsgcm93LCBzZWxlY3RlZDogdGhpcy5vbkhhbmRsZVNlbGVjdGVkKHJvdykgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLm9uSGFuZGxlU2VsZWN0ZWQocm93KSkge1xyXG4gICAgICB0aGlzLmxpc3Quc3BsaWNlKHRoaXMubGlzdC5pbmRleE9mKHJvdyksIDEpO1xyXG4gICAgICBjb250aW51ZVZhbGlkYXRpb24oKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChjYWxsYmFja1ZhbGlkYXRpb24pIHtcclxuICAgICAgICBjYWxsYmFja1ZhbGlkYXRpb24ocm93LCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxpc3QucHVzaChyb3cpO1xyXG4gICAgICAgICAgY29udGludWVWYWxpZGF0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29udGludWVWYWxpZGF0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSGFuZGxlU2VsZWN0QWxsKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCB7IGNhbGxiYWNrVmFsaWRhdGlvbkFsbCB9ID0gdGhpcztcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgY29uc3QgY29udGludWVWYWxpZGF0aW9uID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmVtaXRTZWxlY3Rpb24oKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZC5uZXh0KHsgcm93OiB0aGlzLmxpc3QgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICghdGhpcy5saXN0Lmxlbmd0aCkge1xyXG4gICAgICBpZiAoY2FsbGJhY2tWYWxpZGF0aW9uQWxsKSB7XHJcbiAgICAgICAgY2FsbGJhY2tWYWxpZGF0aW9uQWxsKHRoaXMubmV3RGF0YVNvdXJjZSwgKG5ld0RhdGEgPSBudWxsKSA9PiB7XHJcbiAgICAgICAgICBpZiAobmV3RGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3QgPSBbLi4ubmV3RGF0YV07XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3QgPSBbLi4udGhpcy5uZXdEYXRhU291cmNlXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnRpbnVlVmFsaWRhdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxpc3QgPSBbXTtcclxuICAgICAgY29udGludWVWYWxpZGF0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkhhbmRsZVNlbGVjdGVkKHJvdzogYW55KSB7XHJcbiAgICByZXR1cm4gISF0aGlzLmxpc3QuZmluZCgodmFsdWUpID0+IHZhbHVlLmlkID09PSByb3cuaWQpO1xyXG4gIH1cclxuXHJcbiAgb25IYW5kbGVTZWxlY3RlZEFsbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3QubGVuZ3RoID09PSB0aGlzLm5ld0RhdGFTb3VyY2UubGVuZ3RoO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**************************
|
|
2
|
-
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
-
* This style guide was developed by Monkey Exchange Team
|
|
4
|
-
* MIT Licence
|
|
5
|
-
**************************/
|
|
6
|
-
import { Component, ViewEncapsulation, Input, HostListener, Output, EventEmitter, } from '@angular/core';
|
|
7
|
-
import { MonkeyUtils } from '../../core';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common";
|
|
10
|
-
export class MonkeyToggleComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.value = false;
|
|
13
|
-
this.disabled = false;
|
|
14
|
-
this.onChange = new EventEmitter();
|
|
15
|
-
this._id = `mecx-toggle-${MonkeyUtils.getRandomString(10)}`;
|
|
16
|
-
this._open = false;
|
|
17
|
-
}
|
|
18
|
-
onClick(event) {
|
|
19
|
-
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
20
|
-
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
21
|
-
if (!this.disabled) {
|
|
22
|
-
this.value = !this.value;
|
|
23
|
-
this.onChange.next(this.value);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
MonkeyToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
MonkeyToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: MonkeyToggleComponent, selector: "monkey-toggle", inputs: { value: "value", disabled: "disabled" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0, template: `
|
|
29
|
-
<mecx-monkey-toggle [id]="_id" [ngClass]="{ disabled: disabled }">
|
|
30
|
-
<input type="checkbox" [checked]="value" />
|
|
31
|
-
<div [ngClass]="'slider-' + value.toString()"></div>
|
|
32
|
-
</mecx-monkey-toggle>
|
|
33
|
-
`, isInline: true, directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyToggleComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{
|
|
37
|
-
selector: 'monkey-toggle',
|
|
38
|
-
template: `
|
|
39
|
-
<mecx-monkey-toggle [id]="_id" [ngClass]="{ disabled: disabled }">
|
|
40
|
-
<input type="checkbox" [checked]="value" />
|
|
41
|
-
<div [ngClass]="'slider-' + value.toString()"></div>
|
|
42
|
-
</mecx-monkey-toggle>
|
|
43
|
-
`,
|
|
44
|
-
encapsulation: ViewEncapsulation.None,
|
|
45
|
-
}]
|
|
46
|
-
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], disabled: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}], onChange: [{
|
|
51
|
-
type: Output
|
|
52
|
-
}], onClick: [{
|
|
53
|
-
type: HostListener,
|
|
54
|
-
args: ['click', ['$event']]
|
|
55
|
-
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFZekMsTUFBTSxPQUFPLHFCQUFxQjtJQVFoQztRQVBTLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV0QyxRQUFHLEdBQVcsZUFBZSxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDL0QsVUFBSyxHQUFHLEtBQUssQ0FBQztJQUVOLENBQUM7SUFHaEIsT0FBTyxDQUFDLEtBQVU7UUFDaEIsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDOzttSEFsQlUscUJBQXFCO3VHQUFyQixxQkFBcUIsK0xBUnRCOzs7OztHQUtUOzRGQUdVLHFCQUFxQjtrQkFWakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7OztHQUtUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QzswRUFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQVFQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBJbnB1dCxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbW9ua2V5LXRvZ2dsZScsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxtZWN4LW1vbmtleS10b2dnbGUgW2lkXT1cIl9pZFwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkIH1cIj5cclxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cInZhbHVlXCIgLz5cclxuICAgICAgPGRpdiBbbmdDbGFzc109XCInc2xpZGVyLScgKyB2YWx1ZS50b1N0cmluZygpXCI+PC9kaXY+XHJcbiAgICA8L21lY3gtbW9ua2V5LXRvZ2dsZT5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlUb2dnbGVDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHVibGljIF9pZDogc3RyaW5nID0gYG1lY3gtdG9nZ2xlLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDEwKX1gO1xyXG4gIHB1YmxpYyBfb3BlbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBhbnkpIHtcclxuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSAhdGhpcy52YWx1ZTtcclxuICAgICAgdGhpcy5vbkNoYW5nZS5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LW1vZGFsLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlL3NyYy9saWIvY29yZS9pbnRlcmZhY2VzL21vbmtleS1tb2RhbC1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmludGVyZmFjZSBNb25rZXlNb2RhbEFjdGlvbkNvbmZpZyB7XG4gIGNvbmZpcm0/OiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBhY3Rpb25UeXBlPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ25vbmUnO1xuICAgIGFjdGlvbkNvbG9yPzogJ3RoZW1lJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnc3VjY2VzcycgfCAncXVlc3Rpb24nO1xuICAgIGtlZXBPbkFjdGlvbj86IGJvb2xlYW47XG4gICAgYWN0aW9uPzogRnVuY3Rpb247XG4gIH07XG4gIGNhbmNlbD86IHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGFjdGlvblR5cGU/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeScgfCAnbm9uZSc7XG4gICAgYWN0aW9uQ29sb3I/OiAndGhlbWUnIHwgJ2Vycm9yJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdxdWVzdGlvbic7XG4gICAga2VlcE9uQWN0aW9uPzogYm9vbGVhbjtcbiAgICBhY3Rpb24/OiBGdW5jdGlvbjtcbiAgfTtcbiAgZmlyc3RBY3Rpb24/OiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIGljb25Qb3NpdGlvbj86ICdsZWZ0JyB8ICdyaWdodCc7XG4gICAgYWN0aW9uVHlwZT86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5JyB8ICdub25lJztcbiAgICBhY3Rpb25Db2xvcj86ICd0aGVtZScgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnIHwgJ3F1ZXN0aW9uJztcbiAgICBrZWVwT25BY3Rpb24/OiBib29sZWFuO1xuICAgIGFjdGlvbj86IEZ1bmN0aW9uO1xuICB9O1xuICBzZWNvbmRBY3Rpb24/OiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIGljb25Qb3NpdGlvbj86ICdsZWZ0JyB8ICdyaWdodCc7XG4gICAgYWN0aW9uVHlwZT86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5JyB8ICdub25lJztcbiAgICBhY3Rpb25Db2xvcj86ICd0aGVtZScgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnIHwgJ3F1ZXN0aW9uJztcbiAgICBrZWVwT25BY3Rpb24/OiBib29sZWFuO1xuICAgIGFjdGlvbj86IEZ1bmN0aW9uO1xuICB9O1xuICB0aGlyZEFjdGlvbj86IHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgaWNvblBvc2l0aW9uPzogJ2xlZnQnIHwgJ3JpZ2h0JztcbiAgICBhY3Rpb25UeXBlPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ25vbmUnO1xuICAgIGFjdGlvbkNvbG9yPzogJ3RoZW1lJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnc3VjY2VzcycgfCAncXVlc3Rpb24nO1xuICAgIGtlZXBPbkFjdGlvbj86IGJvb2xlYW47XG4gICAgYWN0aW9uPzogRnVuY3Rpb247XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5TW9kYWxDb25maWcge1xuICBjb2xvcj86ICd0aGVtZScgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnIHwgJ3F1ZXN0aW9uJztcbiAgc2l6ZT86ICdzbScgfCAnbWQnIHwgJ2xnJztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGhpZGVDbG9zZT86IGJvb2xlYW47XG4gIGhpZGVBY3Rpb25zPzogYm9vbGVhbjtcbiAgYWN0aW9uPzogTW9ua2V5TW9kYWxBY3Rpb25Db25maWc7XG4gIGRhdGE/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5TW9kYWxSZWZzPFQ+IHtcbiAgaWQ6IHN0cmluZztcbiAgY29tcG9uZW50OiBDb21wb25lbnRSZWY8VD47XG59XG4iXX0=
|