@naniteninja/dashboard-components-lib 1.0.0 → 1.0.2
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/fesm2022/naniteninja-dashboard-components-lib.mjs +181 -191
- package/fesm2022/naniteninja-dashboard-components-lib.mjs.map +1 -1
- package/index.d.ts +1669 -3
- package/package.json +2 -4
- package/src/assets/auto-delegation-modal/cross.svg +17 -17
- package/src/assets/auto-delegation-modal/menu.svg +3 -3
- package/src/assets/auto-delegation-modal/timer-center-dot.svg +25 -25
- package/src/assets/auto-delegation-modal/user-profile.svg +9 -9
- package/src/assets/circle-progress/circle-progress-1.svg +159 -159
- package/src/assets/circle-progress/circle-progress-2.svg +155 -155
- package/src/assets/circle-progress/circle-progress-3.svg +25 -25
- package/src/assets/circle-progress/circle-progress.svg +159 -159
- package/src/assets/client-match-overview/background-eclipse.svg +13 -13
- package/src/assets/grid/icons/filter-button.svg +47 -47
- package/src/assets/grid/images/chips-background-shadow.svg +34 -34
- package/src/assets/icons/back-v2.svg +14 -14
- package/src/assets/icons/checkbox/checkbox-off.svg +72 -72
- package/src/assets/icons/checkbox/checkbox-on.svg +113 -113
- package/src/assets/icons/checkmark-button.svg +72 -72
- package/src/assets/icons/checkmark.svg +7 -7
- package/src/assets/icons/close-icon.svg +3 -3
- package/src/assets/icons/compose-matcher/notes.svg +4 -4
- package/src/assets/icons/compose-matcher/profile.svg +4 -4
- package/src/assets/icons/compose-matcher/suggest.svg +3 -3
- package/src/assets/icons/compose-matcher/visual.svg +3 -3
- package/src/assets/icons/default-profile.svg +23 -23
- package/src/assets/icons/defualt.svg +5 -5
- package/src/assets/icons/first-page.svg +7 -7
- package/src/assets/icons/incrementer/minus.svg +3 -3
- package/src/assets/icons/incrementer/plus.svg +3 -3
- package/src/assets/icons/info.svg +5 -5
- package/src/assets/icons/last-page.svg +7 -7
- package/src/assets/icons/minus.svg +3 -3
- package/src/assets/icons/next-page.svg +6 -6
- package/src/assets/icons/plus.svg +3 -3
- package/src/assets/icons/popup-defualt.svg +34 -34
- package/src/assets/icons/prev-page.svg +6 -6
- package/src/assets/icons/send-icon.svg +4 -4
- package/src/assets/icons/shake.svg +74 -74
- package/src/assets/icons/thumbs-up.svg +28 -28
- package/src/assets/nsfw/blazeface.bundle.js +1 -1
- package/src/assets/nsfw/model/model.json +4085 -4085
- package/src/assets/nsfw/nsfwjs.bundle.js +1 -1
- package/src/assets/nsfw/tf.bundle.js +1 -1
- package/src/assets/scheduler/accept.svg +3 -3
- package/src/assets/scheduler/accept_active.svg +3 -3
- package/src/assets/scheduler/arrow.svg +13 -13
- package/src/assets/scheduler/cancel.svg +3 -3
- package/src/assets/scheduler/cancel_active.svg +3 -3
- package/src/assets/scheduler/heart.svg +18 -18
- package/src/lib/shared-styles/common/animations.scss +48 -48
- package/src/lib/shared-styles/common/base-input-field.scss +132 -132
- package/src/lib/shared-styles/common/buttons.scss +152 -152
- package/src/lib/shared-styles/common/cards.scss +163 -163
- package/src/lib/shared-styles/common/client-dash.scss +5 -5
- package/src/lib/shared-styles/common/date-picker.scss +179 -179
- package/src/lib/shared-styles/common/draggable-scroll-and-marquee.scss +34 -34
- package/src/lib/shared-styles/common/feedback.scss +157 -157
- package/src/lib/shared-styles/common/fonts.scss +3 -3
- package/src/lib/shared-styles/common/information-card.scss +56 -56
- package/src/lib/shared-styles/common/input.scss +110 -110
- package/src/lib/shared-styles/common/lib-styles-utils.scss +157 -157
- package/src/lib/shared-styles/common/lists.scss +91 -91
- package/src/lib/shared-styles/common/login.scss +32 -32
- package/src/lib/shared-styles/common/maps.scss +10 -10
- package/src/lib/shared-styles/common/matcher-dash.scss +49 -49
- package/src/lib/shared-styles/common/modal_styles.scss +32 -32
- package/src/lib/shared-styles/common/notifications-list.scss +9 -9
- package/src/lib/shared-styles/common/overrides.scss +6 -6
- package/src/lib/shared-styles/common/pulse.scss +26 -26
- package/src/lib/shared-styles/common/swiper.scss +5 -5
- package/src/lib/shared-styles/common/tab-menu.scss +74 -74
- package/src/lib/shared-styles/common/theme.scss +55 -55
- package/src/lib/shared-styles/common/typography.scss +121 -121
- package/src/lib/shared-styles/common/user-menu.scss +129 -129
- package/src/lib/shared-styles/fonts/calistoga.font.scss +6 -6
- package/src/lib/shared-styles/fonts/gilroy.font.scss +160 -160
- package/src/lib/shared-styles/styles.scss +25 -25
- package/esm2022/lib/components/auto-delegation/animations.mjs +0 -20
- package/esm2022/lib/components/auto-delegation/auto-delegation-modal.component.mjs +0 -106
- package/esm2022/lib/components/auto-delegation/enums/auto-delegation.event-type.enum.mjs +0 -6
- package/esm2022/lib/components/auto-delegation/enums/auto-delegation.event-value.enum.mjs +0 -7
- package/esm2022/lib/components/auto-delegation/interface/auto-delegation-data.interface.mjs +0 -2
- package/esm2022/lib/components/auto-delegation/interface/auto-delegation.event.interface.mjs +0 -2
- package/esm2022/lib/components/auto-delegation/interface/auto-delegation.modal-data.interface.mjs +0 -2
- package/esm2022/lib/components/auto-delegation/interface/preferences.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/agenda/agenda-day-card/agenda-day-card.component.mjs +0 -37
- package/esm2022/lib/components/calendar/agenda/agenda.component.mjs +0 -98
- package/esm2022/lib/components/calendar/agenda/agenda.module.mjs +0 -24
- package/esm2022/lib/components/calendar/agenda/interfaces/agenda.day.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/agenda/interfaces/agenda.event.inetrface.mjs +0 -2
- package/esm2022/lib/components/calendar/components/edit-recurring-event/edit-recurring-event.component.mjs +0 -40
- package/esm2022/lib/components/calendar/components/event-form/event-form.component.mjs +0 -275
- package/esm2022/lib/components/calendar/components/event-form/event-form.module.mjs +0 -89
- package/esm2022/lib/components/calendar/components/event-info/event-info.component.mjs +0 -40
- package/esm2022/lib/components/calendar/enums/calendar.account.enum.mjs +0 -6
- package/esm2022/lib/components/calendar/enums/calendar.account.icons.enum.mjs +0 -6
- package/esm2022/lib/components/calendar/enums/event-type.enum.mjs +0 -10
- package/esm2022/lib/components/calendar/enums/recurring.edit.options.enum.mjs +0 -7
- package/esm2022/lib/components/calendar/enums/recurring.type.enum.mjs +0 -8
- package/esm2022/lib/components/calendar/interfaces/calendar.account.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/interfaces/calendar.account.theme.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/interfaces/event.form.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/interfaces/event.form.output.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/interfaces/event.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/interfaces/event.time.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/interfaces/recurring.event.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/interfaces/recurring.exception.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/interfaces/recurring.pattern.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/lookups/recurring.options.lookup.mjs +0 -30
- package/esm2022/lib/components/calendar/scheduler/enums/schedule-date-status.enum.mjs +0 -7
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.action.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.day.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.suggestion.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.slots.interface.mjs +0 -2
- package/esm2022/lib/components/calendar/scheduler/mock-schedule.mjs +0 -80
- package/esm2022/lib/components/calendar/scheduler/scheduler.component.mjs +0 -144
- package/esm2022/lib/components/calendar/services/calendar-utils.service.mjs +0 -211
- package/esm2022/lib/components/chat/chat.component.mjs +0 -307
- package/esm2022/lib/components/chat/chat.component.module.mjs +0 -85
- package/esm2022/lib/components/chat/chat.service.mjs +0 -63
- package/esm2022/lib/components/chat/enums/sender-types.enum.mjs +0 -6
- package/esm2022/lib/components/chat/gif-selector/gif-selector.component.mjs +0 -77
- package/esm2022/lib/components/chat/gif-selector/gif-selector.service.mjs +0 -41
- package/esm2022/lib/components/chat/gif-selector/tenor-media-format.interface.mjs +0 -2
- package/esm2022/lib/components/chat/gif-selector/tenor-object.interface.mjs +0 -2
- package/esm2022/lib/components/chat/gif-selector/tenor-result.interface.mjs +0 -2
- package/esm2022/lib/components/chat/interfaces/date-messages.interface.mjs +0 -2
- package/esm2022/lib/components/chat/interfaces/message-attachment.interface.mjs +0 -2
- package/esm2022/lib/components/chat/interfaces/message.interface.mjs +0 -2
- package/esm2022/lib/components/chat/interfaces/send-options-message.interface.mjs +0 -2
- package/esm2022/lib/components/chat/interfaces/type-send-message.enum.mjs +0 -7
- package/esm2022/lib/components/chat-suggestion/chat-suggestion.component.mjs +0 -21
- package/esm2022/lib/components/chat-suggestion/interfaces/chat-suggestion.interface.mjs +0 -2
- package/esm2022/lib/components/circle-progress/circle-progress.component.mjs +0 -143
- package/esm2022/lib/components/circle-progress/circle-progress.module.mjs +0 -18
- package/esm2022/lib/components/circle-progress/enums/circle-variable.enum.mjs +0 -6
- package/esm2022/lib/components/circle-progress/interfaces/circle-progress-config.interface.mjs +0 -2
- package/esm2022/lib/components/client-home/client-home.component.mjs +0 -123
- package/esm2022/lib/components/client-home/enums/client-home-component.enum.mjs +0 -9
- package/esm2022/lib/components/client-home/interfaces/chat-meta.interface.mjs +0 -2
- package/esm2022/lib/components/client-home/interfaces/home-dashboard-inputs.interface.mjs +0 -2
- package/esm2022/lib/components/client-home/interfaces/inner-partial-circle-progress-colors.interface.mjs +0 -2
- package/esm2022/lib/components/client-home/interfaces/partial-circle-progress-colors.interface.mjs +0 -2
- package/esm2022/lib/components/client-home/lookup/client-home.config.mjs +0 -30
- package/esm2022/lib/components/client-home/lookup/inner-progress-default-colors.config.mjs +0 -6
- package/esm2022/lib/components/client-home/lookup/inner-progress-pink-colors.config.mjs +0 -6
- package/esm2022/lib/components/client-home/lookup/inner-progress-purple-colors.config.mjs +0 -6
- package/esm2022/lib/components/client-home/lookup/inner-progress-teal-colors.config.mjs +0 -6
- package/esm2022/lib/components/client-home/lookup/inner-progress-white-colors.config.mjs +0 -10
- package/esm2022/lib/components/client-home/lookup/progress-default-colors.config.mjs +0 -10
- package/esm2022/lib/components/client-home/lookup/progress-white-colors.config.mjs +0 -10
- package/esm2022/lib/components/client-home/pipes/chat-meta.pipe.mjs +0 -60
- package/esm2022/lib/components/client-home/pipes/get-color-by-matcher.pipe.mjs +0 -33
- package/esm2022/lib/components/client-match-overview/client-match-overview.component.mjs +0 -300
- package/esm2022/lib/components/client-match-overview/enums/conversation-flag.enum.mjs +0 -6
- package/esm2022/lib/components/client-match-overview/enums/counter-flag-base.enum.mjs +0 -6
- package/esm2022/lib/components/client-match-overview/enums/inner-circle-state.enum.mjs +0 -8
- package/esm2022/lib/components/client-match-overview/interfaces/client-match-overview.interface.mjs +0 -2
- package/esm2022/lib/components/client-match-overview/interfaces/conversation-flag.interface.mjs +0 -2
- package/esm2022/lib/components/client-match-overview/interfaces/dashboard-match-request.interface.mjs +0 -2
- package/esm2022/lib/components/client-match-overview/interfaces/progress-decision.interface.mjs +0 -2
- package/esm2022/lib/components/client-match-overview/interfaces/progress-facts.interface.mjs +0 -2
- package/esm2022/lib/components/client-match-overview/lookups/computer-inner-state.lookup.mjs +0 -81
- package/esm2022/lib/components/client-match-overview/lookups/limit-dates-indicator.lookup.mjs +0 -8
- package/esm2022/lib/components/client-match-overview/progress-ticker/progress-gap.config.mjs +0 -4
- package/esm2022/lib/components/client-match-overview/progress-ticker/progress-ticker.config.mjs +0 -3
- package/esm2022/lib/components/client-match-overview/progress-ticker/progress-ticker.service.mjs +0 -43
- package/esm2022/lib/components/dashboard-swipeable-tabs/dashboard-swipeable-tabs.component.mjs +0 -113
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/dashboard-main-swiper-options.mjs +0 -11
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/dashboard-thumbs-swiper-options.mjs +0 -27
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/main-swiper-default-options.mjs +0 -19
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/thumbs-swiper-default-options.mjs +0 -21
- package/esm2022/lib/components/lib-client-dashboard/client-dashboard.component.mjs +0 -170
- package/esm2022/lib/components/lib-client-dashboard/enums/alert-status-fields.enum.mjs +0 -11
- package/esm2022/lib/components/lib-client-dashboard/enums/client-dashboard-component.enum.mjs +0 -7
- package/esm2022/lib/components/lib-client-dashboard/interfaces/client-dashboard-inputs.interface.mjs +0 -2
- package/esm2022/lib/components/lib-client-dashboard/lookups/client-dashboard.config.mjs +0 -15
- package/esm2022/lib/components/lib-compose-matcher-dash/compose-matcher-dash.component.mjs +0 -146
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/chart-data.interface.mjs +0 -2
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/chat-identifier.interface.mjs +0 -2
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/matcher-dashboard-inputs.interface.mjs +0 -2
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/matcher-profile.interface.mjs +0 -2
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/prospect-data.interface.mjs +0 -2
- package/esm2022/lib/components/lib-compose-matcher-dash/pipes/get-profile-with-progress.pipe.mjs +0 -21
- package/esm2022/lib/components/matcher-statuses/enums/matcher-statuses.enum.mjs +0 -15
- package/esm2022/lib/components/matcher-statuses/interfaces/status.interface.mjs +0 -2
- package/esm2022/lib/components/matcher-statuses/lookups/matcher-statuses.lookup.mjs +0 -54
- package/esm2022/lib/components/matcher-statuses/matcher-statuses.component.mjs +0 -58
- package/esm2022/lib/components/matcher-statuses/pipes/is-status-included.pipe.mjs +0 -19
- package/esm2022/lib/components/profile-card/profile-card.component.mjs +0 -35
- package/esm2022/lib/components/profile-card/profile-card.module.mjs +0 -19
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-circle.interface.mjs +0 -2
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-f.interface.mjs +0 -2
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-lg.interface.mjs +0 -2
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-rg.interface.mjs +0 -2
- package/esm2022/lib/components/spider-chart/interfaces/config.interface.mjs +0 -2
- package/esm2022/lib/components/spider-chart/interfaces/dataset.interface.mjs +0 -2
- package/esm2022/lib/components/spider-chart/interfaces/polygon-color.interface.mjs +0 -2
- package/esm2022/lib/components/spider-chart/interfaces/spider-chart-attribute.interface.mjs +0 -2
- package/esm2022/lib/components/spider-chart/lookup/default-spider-config.lookup.mjs +0 -18
- package/esm2022/lib/components/spider-chart/lookup/default-spider-config.mjs +0 -67
- package/esm2022/lib/components/spider-chart/lookup/demo-polygon-colors.lookup.mjs +0 -11
- package/esm2022/lib/components/spider-chart/lookup/svg-config.lookup.mjs +0 -277
- package/esm2022/lib/components/spider-chart/spider-chart.component.mjs +0 -235
- package/esm2022/lib/enums/direction.enum.mjs +0 -6
- package/esm2022/lib/enums/form-field-type.mjs +0 -30
- package/esm2022/lib/enums/local-storage-keys.enum.mjs +0 -5
- package/esm2022/lib/enums/status-types.mjs +0 -8
- package/esm2022/lib/model/select-option-template.mjs +0 -2
- package/esm2022/lib/operations/operations.mjs +0 -19
- package/esm2022/lib/pipes/array-sort/array.sort.pipe.mjs +0 -49
- package/esm2022/lib/pipes/count-non-empty-fields/count-non-empty-fields.pipe.mjs +0 -17
- package/esm2022/lib/pipes/date-localization/date-localization.pipe.mjs +0 -31
- package/esm2022/lib/pipes/fallback-translate/fallback-translate.pipe.mjs +0 -28
- package/esm2022/lib/pipes/get-display-value/get-display-value.pipe.mjs +0 -59
- package/esm2022/lib/pipes/get-multi-select-display-text/get-multi-select-display-text.pipe.mjs +0 -22
- package/esm2022/lib/pipes/initials/initials.pipe.mjs +0 -25
- package/esm2022/lib/pipes/round/round.pipe.mjs +0 -17
- package/esm2022/lib/pipes/update-llm-preference/update-llm-preference.pipe.mjs +0 -25
- package/esm2022/lib/services/abstract-cache.service.mjs +0 -10
- package/esm2022/lib/shared/shared/alert-popup/alert-popup.component.mjs +0 -38
- package/esm2022/lib/shared/shared/message-modal/message-modal.component.mjs +0 -95
- package/esm2022/lib/shared/shared/status-icon/status-icon.component.mjs +0 -14
- package/esm2022/lib/shared/shared.module.mjs +0 -23
- package/esm2022/naniteninja-dashboard-components-lib.mjs +0 -5
- package/esm2022/public-api.mjs +0 -122
- package/lib/components/auto-delegation/animations.d.ts +0 -1
- package/lib/components/auto-delegation/auto-delegation-modal.component.d.ts +0 -29
- package/lib/components/auto-delegation/enums/auto-delegation.event-type.enum.d.ts +0 -4
- package/lib/components/auto-delegation/enums/auto-delegation.event-value.enum.d.ts +0 -5
- package/lib/components/auto-delegation/interface/auto-delegation-data.interface.d.ts +0 -31
- package/lib/components/auto-delegation/interface/auto-delegation.event.interface.d.ts +0 -6
- package/lib/components/auto-delegation/interface/auto-delegation.modal-data.interface.d.ts +0 -8
- package/lib/components/auto-delegation/interface/preferences.interface.d.ts +0 -17
- package/lib/components/calendar/agenda/agenda-day-card/agenda-day-card.component.d.ts +0 -12
- package/lib/components/calendar/agenda/agenda.component.d.ts +0 -22
- package/lib/components/calendar/agenda/agenda.module.d.ts +0 -12
- package/lib/components/calendar/agenda/interfaces/agenda.day.interface.d.ts +0 -7
- package/lib/components/calendar/agenda/interfaces/agenda.event.inetrface.d.ts +0 -9
- package/lib/components/calendar/components/edit-recurring-event/edit-recurring-event.component.d.ts +0 -19
- package/lib/components/calendar/components/event-form/event-form.component.d.ts +0 -67
- package/lib/components/calendar/components/event-form/event-form.module.d.ts +0 -20
- package/lib/components/calendar/components/event-info/event-info.component.d.ts +0 -24
- package/lib/components/calendar/enums/calendar.account.enum.d.ts +0 -4
- package/lib/components/calendar/enums/calendar.account.icons.enum.d.ts +0 -4
- package/lib/components/calendar/enums/event-type.enum.d.ts +0 -8
- package/lib/components/calendar/enums/recurring.edit.options.enum.d.ts +0 -5
- package/lib/components/calendar/enums/recurring.type.enum.d.ts +0 -6
- package/lib/components/calendar/interfaces/calendar.account.interface.d.ts +0 -14
- package/lib/components/calendar/interfaces/calendar.account.theme.interface.d.ts +0 -5
- package/lib/components/calendar/interfaces/event.form.interface.d.ts +0 -22
- package/lib/components/calendar/interfaces/event.form.output.interface.d.ts +0 -10
- package/lib/components/calendar/interfaces/event.interface.d.ts +0 -33
- package/lib/components/calendar/interfaces/event.time.interface.d.ts +0 -4
- package/lib/components/calendar/interfaces/recurring.event.interface.d.ts +0 -16
- package/lib/components/calendar/interfaces/recurring.exception.interface.d.ts +0 -14
- package/lib/components/calendar/interfaces/recurring.pattern.interface.d.ts +0 -16
- package/lib/components/calendar/lookups/recurring.options.lookup.d.ts +0 -2
- package/lib/components/calendar/scheduler/enums/schedule-date-status.enum.d.ts +0 -5
- package/lib/components/calendar/scheduler/interfaces/scheduler.action.interface.d.ts +0 -10
- package/lib/components/calendar/scheduler/interfaces/scheduler.event.day.interface.d.ts +0 -5
- package/lib/components/calendar/scheduler/interfaces/scheduler.event.interface.d.ts +0 -26
- package/lib/components/calendar/scheduler/interfaces/scheduler.event.suggestion.interface.d.ts +0 -13
- package/lib/components/calendar/scheduler/interfaces/scheduler.slots.interface.d.ts +0 -6
- package/lib/components/calendar/scheduler/mock-schedule.d.ts +0 -9
- package/lib/components/calendar/scheduler/scheduler.component.d.ts +0 -36
- package/lib/components/calendar/services/calendar-utils.service.d.ts +0 -39
- package/lib/components/chat/chat.component.d.ts +0 -70
- package/lib/components/chat/chat.component.module.d.ts +0 -22
- package/lib/components/chat/chat.service.d.ts +0 -15
- package/lib/components/chat/enums/sender-types.enum.d.ts +0 -4
- package/lib/components/chat/gif-selector/gif-selector.component.d.ts +0 -25
- package/lib/components/chat/gif-selector/gif-selector.service.d.ts +0 -15
- package/lib/components/chat/gif-selector/tenor-media-format.interface.d.ts +0 -7
- package/lib/components/chat/gif-selector/tenor-object.interface.d.ts +0 -5
- package/lib/components/chat/gif-selector/tenor-result.interface.d.ts +0 -16
- package/lib/components/chat/interfaces/date-messages.interface.d.ts +0 -6
- package/lib/components/chat/interfaces/message-attachment.interface.d.ts +0 -6
- package/lib/components/chat/interfaces/message.interface.d.ts +0 -11
- package/lib/components/chat/interfaces/send-options-message.interface.d.ts +0 -5
- package/lib/components/chat/interfaces/type-send-message.enum.d.ts +0 -5
- package/lib/components/chat-suggestion/chat-suggestion.component.d.ts +0 -9
- package/lib/components/chat-suggestion/interfaces/chat-suggestion.interface.d.ts +0 -4
- package/lib/components/circle-progress/circle-progress.component.d.ts +0 -31
- package/lib/components/circle-progress/circle-progress.module.d.ts +0 -8
- package/lib/components/circle-progress/enums/circle-variable.enum.d.ts +0 -4
- package/lib/components/circle-progress/interfaces/circle-progress-config.interface.d.ts +0 -29
- package/lib/components/client-home/client-home.component.d.ts +0 -44
- package/lib/components/client-home/enums/client-home-component.enum.d.ts +0 -7
- package/lib/components/client-home/interfaces/chat-meta.interface.d.ts +0 -7
- package/lib/components/client-home/interfaces/home-dashboard-inputs.interface.d.ts +0 -45
- package/lib/components/client-home/interfaces/inner-partial-circle-progress-colors.interface.d.ts +0 -5
- package/lib/components/client-home/interfaces/partial-circle-progress-colors.interface.d.ts +0 -9
- package/lib/components/client-home/lookup/client-home.config.d.ts +0 -2
- package/lib/components/client-home/lookup/inner-progress-default-colors.config.d.ts +0 -2
- package/lib/components/client-home/lookup/inner-progress-pink-colors.config.d.ts +0 -2
- package/lib/components/client-home/lookup/inner-progress-purple-colors.config.d.ts +0 -2
- package/lib/components/client-home/lookup/inner-progress-teal-colors.config.d.ts +0 -2
- package/lib/components/client-home/lookup/inner-progress-white-colors.config.d.ts +0 -2
- package/lib/components/client-home/lookup/progress-default-colors.config.d.ts +0 -2
- package/lib/components/client-home/lookup/progress-white-colors.config.d.ts +0 -2
- package/lib/components/client-home/pipes/chat-meta.pipe.d.ts +0 -10
- package/lib/components/client-home/pipes/get-color-by-matcher.pipe.d.ts +0 -10
- package/lib/components/client-match-overview/client-match-overview.component.d.ts +0 -55
- package/lib/components/client-match-overview/enums/conversation-flag.enum.d.ts +0 -4
- package/lib/components/client-match-overview/enums/counter-flag-base.enum.d.ts +0 -4
- package/lib/components/client-match-overview/enums/inner-circle-state.enum.d.ts +0 -6
- package/lib/components/client-match-overview/interfaces/client-match-overview.interface.d.ts +0 -19
- package/lib/components/client-match-overview/interfaces/conversation-flag.interface.d.ts +0 -8
- package/lib/components/client-match-overview/interfaces/dashboard-match-request.interface.d.ts +0 -7
- package/lib/components/client-match-overview/interfaces/progress-decision.interface.d.ts +0 -10
- package/lib/components/client-match-overview/interfaces/progress-facts.interface.d.ts +0 -11
- package/lib/components/client-match-overview/lookups/computer-inner-state.lookup.d.ts +0 -7
- package/lib/components/client-match-overview/lookups/limit-dates-indicator.lookup.d.ts +0 -5
- package/lib/components/client-match-overview/progress-ticker/progress-gap.config.d.ts +0 -2
- package/lib/components/client-match-overview/progress-ticker/progress-ticker.config.d.ts +0 -2
- package/lib/components/client-match-overview/progress-ticker/progress-ticker.service.d.ts +0 -11
- package/lib/components/dashboard-swipeable-tabs/dashboard-swipeable-tabs.component.d.ts +0 -29
- package/lib/components/dashboard-swipeable-tabs/lookups/dashboard-main-swiper-options.d.ts +0 -2
- package/lib/components/dashboard-swipeable-tabs/lookups/dashboard-thumbs-swiper-options.d.ts +0 -2
- package/lib/components/dashboard-swipeable-tabs/lookups/main-swiper-default-options.d.ts +0 -2
- package/lib/components/dashboard-swipeable-tabs/lookups/thumbs-swiper-default-options.d.ts +0 -2
- package/lib/components/lib-client-dashboard/client-dashboard.component.d.ts +0 -73
- package/lib/components/lib-client-dashboard/enums/alert-status-fields.enum.d.ts +0 -9
- package/lib/components/lib-client-dashboard/enums/client-dashboard-component.enum.d.ts +0 -5
- package/lib/components/lib-client-dashboard/interfaces/client-dashboard-inputs.interface.d.ts +0 -29
- package/lib/components/lib-client-dashboard/lookups/client-dashboard.config.d.ts +0 -2
- package/lib/components/lib-compose-matcher-dash/compose-matcher-dash.component.d.ts +0 -48
- package/lib/components/lib-compose-matcher-dash/interfaces/chart-data.interface.d.ts +0 -5
- package/lib/components/lib-compose-matcher-dash/interfaces/chat-identifier.interface.d.ts +0 -5
- package/lib/components/lib-compose-matcher-dash/interfaces/matcher-dashboard-inputs.interface.d.ts +0 -26
- package/lib/components/lib-compose-matcher-dash/interfaces/matcher-profile.interface.d.ts +0 -8
- package/lib/components/lib-compose-matcher-dash/interfaces/prospect-data.interface.d.ts +0 -24
- package/lib/components/lib-compose-matcher-dash/pipes/get-profile-with-progress.pipe.d.ts +0 -9
- package/lib/components/matcher-statuses/enums/matcher-statuses.enum.d.ts +0 -13
- package/lib/components/matcher-statuses/interfaces/status.interface.d.ts +0 -6
- package/lib/components/matcher-statuses/lookups/matcher-statuses.lookup.d.ts +0 -2
- package/lib/components/matcher-statuses/matcher-statuses.component.d.ts +0 -23
- package/lib/components/matcher-statuses/pipes/is-status-included.pipe.d.ts +0 -8
- package/lib/components/profile-card/profile-card.component.d.ts +0 -11
- package/lib/components/profile-card/profile-card.module.d.ts +0 -9
- package/lib/components/spider-chart/interfaces/chart-data-circle.interface.d.ts +0 -10
- package/lib/components/spider-chart/interfaces/chart-data-defs-f.interface.d.ts +0 -11
- package/lib/components/spider-chart/interfaces/chart-data-defs-lg.interface.d.ts +0 -11
- package/lib/components/spider-chart/interfaces/chart-data-defs-rg.interface.d.ts +0 -10
- package/lib/components/spider-chart/interfaces/config.interface.d.ts +0 -19
- package/lib/components/spider-chart/interfaces/dataset.interface.d.ts +0 -7
- package/lib/components/spider-chart/interfaces/polygon-color.interface.d.ts +0 -4
- package/lib/components/spider-chart/interfaces/spider-chart-attribute.interface.d.ts +0 -6
- package/lib/components/spider-chart/lookup/default-spider-config.d.ts +0 -2
- package/lib/components/spider-chart/lookup/default-spider-config.lookup.d.ts +0 -2
- package/lib/components/spider-chart/lookup/demo-polygon-colors.lookup.d.ts +0 -2
- package/lib/components/spider-chart/lookup/svg-config.lookup.d.ts +0 -8
- package/lib/components/spider-chart/spider-chart.component.d.ts +0 -52
- package/lib/enums/direction.enum.d.ts +0 -4
- package/lib/enums/form-field-type.d.ts +0 -28
- package/lib/enums/local-storage-keys.enum.d.ts +0 -3
- package/lib/enums/status-types.d.ts +0 -6
- package/lib/model/select-option-template.d.ts +0 -5
- package/lib/operations/operations.d.ts +0 -19
- package/lib/pipes/array-sort/array.sort.pipe.d.ts +0 -7
- package/lib/pipes/count-non-empty-fields/count-non-empty-fields.pipe.d.ts +0 -7
- package/lib/pipes/date-localization/date-localization.pipe.d.ts +0 -8
- package/lib/pipes/fallback-translate/fallback-translate.pipe.d.ts +0 -11
- package/lib/pipes/get-display-value/get-display-value.pipe.d.ts +0 -13
- package/lib/pipes/get-multi-select-display-text/get-multi-select-display-text.pipe.d.ts +0 -8
- package/lib/pipes/initials/initials.pipe.d.ts +0 -7
- package/lib/pipes/round/round.pipe.d.ts +0 -7
- package/lib/pipes/update-llm-preference/update-llm-preference.pipe.d.ts +0 -8
- package/lib/services/abstract-cache.service.d.ts +0 -9
- package/lib/shared/shared/alert-popup/alert-popup.component.d.ts +0 -14
- package/lib/shared/shared/message-modal/message-modal.component.d.ts +0 -29
- package/lib/shared/shared/status-icon/status-icon.component.d.ts +0 -7
- package/lib/shared/shared.module.d.ts +0 -13
- package/naniteninja-dashboard-components-lib-1.0.0.tgz +0 -0
- package/public-api.d.ts +0 -121
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FormControl, Validators } from '@angular/forms';
|
|
3
|
-
import { BaseComponent, DateRangeValidator, TimeRangeValidator } from '@naniteninja/ionic-lib';
|
|
4
|
-
import { addMinutes, differenceInMinutes, startOfDay } from 'date-fns';
|
|
5
|
-
import { takeUntil } from 'rxjs';
|
|
6
|
-
import { EventTypes } from '../../enums/event-type.enum';
|
|
7
|
-
import { recurringOptions } from '../../lookups/recurring.options.lookup';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/forms";
|
|
10
|
-
import * as i2 from "../../services/calendar-utils.service";
|
|
11
|
-
import * as i3 from "../../../../pipes/fallback-translate/fallback-translate.pipe";
|
|
12
|
-
import * as i4 from "@angular/common";
|
|
13
|
-
import * as i5 from "@ionic/angular";
|
|
14
|
-
import * as i6 from "@naniteninja/ionic-lib";
|
|
15
|
-
import * as i7 from "../event-info/event-info.component";
|
|
16
|
-
import * as i8 from "../edit-recurring-event/edit-recurring-event.component";
|
|
17
|
-
export class LibEventFormComponent extends BaseComponent {
|
|
18
|
-
get event() {
|
|
19
|
-
return this._event;
|
|
20
|
-
}
|
|
21
|
-
set event(e) {
|
|
22
|
-
this.onEventChange(e);
|
|
23
|
-
}
|
|
24
|
-
get draggedEvent() {
|
|
25
|
-
return this._draggedEvent;
|
|
26
|
-
}
|
|
27
|
-
set draggedEvent(e) {
|
|
28
|
-
this.onDragEvent(e);
|
|
29
|
-
}
|
|
30
|
-
constructor(cdr, fb, calendarUtilService, fallbackTranslatePipe) {
|
|
31
|
-
super();
|
|
32
|
-
this.cdr = cdr;
|
|
33
|
-
this.fb = fb;
|
|
34
|
-
this.calendarUtilService = calendarUtilService;
|
|
35
|
-
this.fallbackTranslatePipe = fallbackTranslatePipe;
|
|
36
|
-
this.updateRecurringEvent = new EventEmitter();
|
|
37
|
-
this.updateDraggedEvent = new EventEmitter();
|
|
38
|
-
this.delete = new EventEmitter();
|
|
39
|
-
this.closeForm = new EventEmitter();
|
|
40
|
-
this.submitForm = new EventEmitter();
|
|
41
|
-
this.editOptionsCtrl = new FormControl();
|
|
42
|
-
}
|
|
43
|
-
onDeleteConfirm() {
|
|
44
|
-
this.showConfirm = false;
|
|
45
|
-
this.delete.emit({ selectedRecurringOption: this.editOptionsCtrl.value });
|
|
46
|
-
}
|
|
47
|
-
onSubmitModal() {
|
|
48
|
-
if (this.deleteConfirmed) {
|
|
49
|
-
this.onDeleteConfirm();
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (this.draggedEvent) {
|
|
53
|
-
this.updateDraggedEvent.emit({
|
|
54
|
-
selectedRecurringOption: this.editOptionsCtrl.value,
|
|
55
|
-
});
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
this.editMode ? this.updateEvent() : this.saveEvent();
|
|
59
|
-
}
|
|
60
|
-
onModalSecondaryButtonClick() {
|
|
61
|
-
this.openRecurringOptions = this.editOptionsCtrl?.value ? false : this.event.recurring || !!this.event.recurringEventId;
|
|
62
|
-
this.showConfirm = !this.openRecurringOptions;
|
|
63
|
-
if (this.openRecurringOptions) {
|
|
64
|
-
this.cancelButtonTitle = this.fallbackTranslatePipe.transform('BUTTONS.CANCEL', 'Cancel');
|
|
65
|
-
this.submitButtonTitle = this.fallbackTranslatePipe.transform('BUTTONS.DELETE', 'Delete');
|
|
66
|
-
this.deleteConfirmed = true;
|
|
67
|
-
this.secondaryButtonTitle = null;
|
|
68
|
-
}
|
|
69
|
-
this.cdr.detectChanges();
|
|
70
|
-
}
|
|
71
|
-
saveEvent() {
|
|
72
|
-
if (this.allowSubmission()) {
|
|
73
|
-
const updatedEvent = this.calendarUtilService.buildUpdatedEvent(this.event, this.form.getRawValue());
|
|
74
|
-
if ((updatedEvent.recurring && this.event.recurring) || this.event?.recurringEventId) {
|
|
75
|
-
updatedEvent.recurringStartDate = this.event.recurringStartDate;
|
|
76
|
-
updatedEvent.recurringEndDate = this.event.recurringEndDate;
|
|
77
|
-
this.updatedEvent = updatedEvent;
|
|
78
|
-
this.recurringTypeChanged =
|
|
79
|
-
this.updatedEvent.recurringPattern?.type !== this.event.recurringPattern?.type || (this.updatedEvent.recurringPattern && !this.event.recurringPattern);
|
|
80
|
-
this.openRecurringOptions = true;
|
|
81
|
-
this.modalTitle = this.fallbackTranslatePipe.transform('CALENDAR.EDIT_RECURRING_EVENT', 'Edit recurring event');
|
|
82
|
-
this.secondaryButtonTitle = null;
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
this.submitFormEvent(updatedEvent, this.form.getRawValue());
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
onLocationChange(event) {
|
|
90
|
-
this.form.controls.location.setValue({ coordinates: event.coordinates, address: event.address });
|
|
91
|
-
this.form.controls.address.setValue(event.address);
|
|
92
|
-
this.form.controls.address.setErrors(event.address && event.coordinates ? null : { invalidField: true });
|
|
93
|
-
}
|
|
94
|
-
resetModal() {
|
|
95
|
-
this.recurringTypeChanged = false;
|
|
96
|
-
this.editOptionsCtrl.setValue(null);
|
|
97
|
-
this.openRecurringOptions = false;
|
|
98
|
-
this.openModal = false;
|
|
99
|
-
this.closeForm.emit();
|
|
100
|
-
}
|
|
101
|
-
initializeEventForm() {
|
|
102
|
-
this.modalTitle = this.editMode ? this.event.title : this.fallbackTranslatePipe.transform('CALENDAR.NEW_EVENT', 'New event');
|
|
103
|
-
this.secondaryButtonTitle = this.editMode ? this.fallbackTranslatePipe.transform('BUTTONS.DELETE', 'Delete') : null;
|
|
104
|
-
this.cancelButtonTitle = this.editMode ? null : this.fallbackTranslatePipe.transform('BUTTONS.CANCEL', 'Cancel');
|
|
105
|
-
this.submitButtonTitle = this.editMode ? this.fallbackTranslatePipe.transform('BUTTONS.EDIT', 'Edit') : this.fallbackTranslatePipe.transform('BUTTONS.SAVE', 'Save');
|
|
106
|
-
if (!this.editMode) {
|
|
107
|
-
this.buildForm();
|
|
108
|
-
}
|
|
109
|
-
this.openModal = true;
|
|
110
|
-
}
|
|
111
|
-
buildForm() {
|
|
112
|
-
this.recurringOptions = recurringOptions.map((option) => {
|
|
113
|
-
return { ...option, title: this.fallbackTranslatePipe.transform(option.title, option.name) };
|
|
114
|
-
});
|
|
115
|
-
this.recurringException =
|
|
116
|
-
this.calendarUtilService.getExceptionEvent(this.event, this.event.recurringPattern?.exceptions) || this.calendarUtilService.getUpdatedRecurringException(this.event);
|
|
117
|
-
const startDate = new Date(this.recurringException?.startDate || this.event.recurringStartDate || this.event.startDate);
|
|
118
|
-
this.eventStart = startOfDay(startDate);
|
|
119
|
-
this.calendarUtilService.setEventTime(this.event);
|
|
120
|
-
const eventTimes = this.calendarUtilService.getEventTimes(this.event, this.recurringException, true);
|
|
121
|
-
const eventNote = this.recurringException?.note || this.event.note ? this.calendarUtilService.removeHtmlTags(this.recurringException?.note || this.event.note) : '';
|
|
122
|
-
this.form = this.fb.nonNullable.group({
|
|
123
|
-
_id: [this.event._id, []],
|
|
124
|
-
accountId: [this.event.accountId, []],
|
|
125
|
-
type: [this.event.type || EventTypes.USER, []],
|
|
126
|
-
email: [this.event.email, []],
|
|
127
|
-
title: [this.recurringException?.title || this.event.title, this.calendarUtilService.isProviderEvent(this.event) ? [] : [Validators.required]],
|
|
128
|
-
allDay: new FormControl(this.recurringException?.allDay || this.event.allDay || false, []),
|
|
129
|
-
startDate: new FormControl(startDate, [Validators.required]),
|
|
130
|
-
startTime: new FormControl(eventTimes.startTime, [Validators.required]),
|
|
131
|
-
endDate: new FormControl(new Date(!this.event._id ? startDate : this.event.recurringEndDate || this.event.endDate), [Validators.required]),
|
|
132
|
-
endTime: new FormControl(eventTimes.endTime, [Validators.required]),
|
|
133
|
-
note: [eventNote, []],
|
|
134
|
-
location: [this.recurringException?.location || this.event.location, []],
|
|
135
|
-
address: [this.recurringException?.location?.address || this.event.location?.address, this.event?.type ? [] : [Validators.required]],
|
|
136
|
-
recurringPattern: this.fb.nonNullable.group({
|
|
137
|
-
type: [!this.event._id ? recurringOptions[0].type : this.event.recurringPattern?.type, []],
|
|
138
|
-
}),
|
|
139
|
-
}, {
|
|
140
|
-
validators: [DateRangeValidator('startDate', 'endDate'), TimeRangeValidator('startTime', 'endTime')],
|
|
141
|
-
});
|
|
142
|
-
this.eventTime = differenceInMinutes(eventTimes.endTime, eventTimes.startTime);
|
|
143
|
-
this.handleAllDayEvents(this.event.allDay);
|
|
144
|
-
this.watchFormFields();
|
|
145
|
-
this.initialFormValue = this.form.getRawValue();
|
|
146
|
-
}
|
|
147
|
-
watchFormFields() {
|
|
148
|
-
this.form.controls.allDay.valueChanges.pipe(takeUntil(this.componentDestroyed$)).subscribe((value) => this.handleAllDayEvents(value, true));
|
|
149
|
-
this.form.controls.address.valueChanges.pipe(takeUntil(this.componentDestroyed$)).subscribe((value) => {
|
|
150
|
-
if (value && !this.form.value.location) {
|
|
151
|
-
this.form.controls.address.setErrors({ invalidField: true });
|
|
152
|
-
}
|
|
153
|
-
if (!value) {
|
|
154
|
-
this.form.controls.location.setValue(null);
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
// ------- watch start date recurring -------------
|
|
158
|
-
this.form.controls.startDate.valueChanges.pipe(takeUntil(this.componentDestroyed$)).subscribe((value) => {
|
|
159
|
-
if (value && !this.form.controls.allDay.value) {
|
|
160
|
-
this.form.controls.endDate.setValue(new Date(value));
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
this.form.controls.startTime.valueChanges.pipe(takeUntil(this.componentDestroyed$)).subscribe((value) => {
|
|
164
|
-
if (value) {
|
|
165
|
-
this.form.controls.endTime.setValue(addMinutes(value['slotValue'] || new Date(value), this.eventTime));
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
handleAllDayEvents(allDay, onChange) {
|
|
170
|
-
['endDate', 'endTime', 'startTime'].forEach((controlName) => {
|
|
171
|
-
this.form.controls[controlName].setValidators(allDay ? [] : [Validators.required]);
|
|
172
|
-
this.form.controls[controlName].updateValueAndValidity();
|
|
173
|
-
});
|
|
174
|
-
if (onChange) {
|
|
175
|
-
if (allDay) {
|
|
176
|
-
const startDate = this.form.controls.startDate.value;
|
|
177
|
-
this.form.controls.endDate.setValue(startDate ? startOfDay(new Date(startDate)) : null);
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
const startTime = this.form.controls.startTime.value;
|
|
181
|
-
const time = startTime && startTime['slotValue'] ? startOfDay(new Date(startTime['slotValue'])) : null;
|
|
182
|
-
this.form.controls.startTime.setValue(time);
|
|
183
|
-
this.form.controls.endTime.setValue(time);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
updateEvent() {
|
|
188
|
-
if (this.editOptionsCtrl.value || this.form) {
|
|
189
|
-
this.saveEvent();
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
this.buildForm();
|
|
193
|
-
this.modalTitle = this.fallbackTranslatePipe.transform('CALENDAR.UPDATE_EVENT', 'Update Event');
|
|
194
|
-
this.submitButtonTitle = this.fallbackTranslatePipe.transform('BUTTONS.SAVE', 'Save');
|
|
195
|
-
this.cancelButtonTitle = this.fallbackTranslatePipe.transform('BUTTONS.CANCEL', 'Cancel');
|
|
196
|
-
this.secondaryButtonTitle = null;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
allowSubmission() {
|
|
200
|
-
if (this.form.invalid) {
|
|
201
|
-
this.form.markAllAsTouched();
|
|
202
|
-
return false;
|
|
203
|
-
}
|
|
204
|
-
if (this.form.value.address && !this.form.value.location) {
|
|
205
|
-
this.form.controls['address'].setErrors({ invalidField: true });
|
|
206
|
-
return false;
|
|
207
|
-
}
|
|
208
|
-
if (this.openRecurringOptions) {
|
|
209
|
-
this.updateRecurringEvent.emit({
|
|
210
|
-
event: this.updatedEvent,
|
|
211
|
-
selectedRecurringOption: this.editOptionsCtrl.value,
|
|
212
|
-
recurringTypeChanged: this.recurringTypeChanged,
|
|
213
|
-
});
|
|
214
|
-
return false;
|
|
215
|
-
}
|
|
216
|
-
return true;
|
|
217
|
-
}
|
|
218
|
-
submitFormEvent(event, formValue) {
|
|
219
|
-
this.submitForm.emit({
|
|
220
|
-
event,
|
|
221
|
-
initialFormValue: this.initialFormValue,
|
|
222
|
-
formValue,
|
|
223
|
-
selectedRecurringOption: this.editOptionsCtrl.value,
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
onEventChange(event) {
|
|
227
|
-
this.editMode = !!event?._id;
|
|
228
|
-
this._event = event;
|
|
229
|
-
this.editOptionsCtrl.setValue(null);
|
|
230
|
-
if (!event) {
|
|
231
|
-
this.openModal = false;
|
|
232
|
-
this.form = null;
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
this.initializeEventForm();
|
|
236
|
-
}
|
|
237
|
-
this.cdr.detectChanges;
|
|
238
|
-
}
|
|
239
|
-
onDragEvent(event) {
|
|
240
|
-
this.editMode = !!event?._id;
|
|
241
|
-
this.openModal = !this._draggedEvent && event?.recurring;
|
|
242
|
-
this.openRecurringOptions = this.openModal;
|
|
243
|
-
this.modalTitle = this.openModal ? this.fallbackTranslatePipe.transform('CALENDAR.EDIT_RECURRING_EVENT', 'Edit recurring event') : null;
|
|
244
|
-
this.cancelButtonTitle = this.openModal ? this.fallbackTranslatePipe.transform('BUTTONS.CANCEL', 'Cancel') : null;
|
|
245
|
-
this.submitButtonTitle = this.openModal ? this.fallbackTranslatePipe.transform('BUTTONS.EDIT', 'Edit') : null;
|
|
246
|
-
this.secondaryButtonTitle = null;
|
|
247
|
-
this._draggedEvent = event;
|
|
248
|
-
if (this._draggedEvent && !this.openModal) {
|
|
249
|
-
this.submitFormEvent(this._draggedEvent, this.draggedEvent);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }, { token: i2.CalendarUtilsService }, { token: i3.FallbackTranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
253
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibEventFormComponent, selector: "lib-event-form", inputs: { calendars: "calendars", event: "event", draggedEvent: "draggedEvent" }, outputs: { updateRecurringEvent: "updateRecurringEvent", updateDraggedEvent: "updateDraggedEvent", delete: "delete", closeForm: "closeForm", submitForm: "submitForm" }, usesInheritance: true, ngImport: i0, template: "<lib-bottom-modal\r\n [title]=\"modalTitle\"\r\n [(isOpen)]=\"openModal\"\r\n [(showConfirm)]=\"showConfirm\"\r\n [confirmButton]=\"'CONFIRM.YES' | fallbackTranslate: 'Yes'\"\r\n [confirmCancelButton]=\"'CONFIRM.No' | fallbackTranslate: 'No'\"\r\n [confirmationTitle]=\"'CONFIRM.ARE_YOU_SURE' | fallbackTranslate: 'Confirm Deletion'\"\r\n [confirmationMsg]=\"'CONFIRM.ARE_YOU_SURE_MESSAGE' | fallbackTranslate: 'Sure you want to delete?'\"\r\n [showCloseBtn]=\"!cancelButtonTitle && editMode\"\r\n [customClass]=\"'calendar-event-modal'\"\r\n [loading]=\"loading$ | async\"\r\n [validModal]=\"(!form || form.valid) && (loading$ | async) !== true\"\r\n [submitButtonTitle]=\"submitButtonTitle\"\r\n [secondaryButtonTitle]=\"secondaryButtonTitle\"\r\n [cancelButtonTitle]=\"cancelButtonTitle\"\r\n (secondaryButtonClick)=\"onModalSecondaryButtonClick()\"\r\n (closeModal)=\"resetModal()\"\r\n (submitModal)=\"onSubmitModal()\"\r\n (confirmEvent)=\"onDeleteConfirm()\"\r\n>\r\n <div class=\"event-modal\">\r\n <lib-event-info [event]=\"event\" [calendars]=\"calendars\" *ngIf=\"!form && editMode && !openRecurringOptions\"></lib-event-info>\r\n <lib-edit-recurring-event [editOptionsCtrl]=\"editOptionsCtrl\" [excludeCurrentInstance]=\"recurringTypeChanged\" *ngIf=\"openRecurringOptions\"></lib-edit-recurring-event>\r\n <ng-content></ng-content>\r\n <form [formGroup]=\"form\" *ngIf=\"form && !openRecurringOptions\" autocomplete=\"off\" appFocusInvalidInput (ngSubmit)=\"saveEvent()\" (keyup.enter)=\"saveEvent()\" id=\"event-form\">\r\n <div class=\"form-body\">\r\n <div class=\"form-row center-content\">\r\n <div class=\"event-title-field\">\r\n <lib-input-field\r\n maxLength=\"2000\"\r\n formControlName=\"title\"\r\n type=\"text\"\r\n [readonly]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.TITLE_FIELD' | fallbackTranslate: 'Title'\"\r\n [trimWhiteSpace]=\"false\"\r\n ></lib-input-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['title'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n <div class=\"form-row event-dates\">\r\n <div class=\"input-field-container input-field-container-group\">\r\n <div class=\"event-date-container\" [ngClass]=\"{ 'input-field-container-full-row': !form.controls['allDay'].value }\">\r\n <lib-input-date-field\r\n class=\"event-date\"\r\n formControlName=\"startDate\"\r\n [readonly]=\"loading$ | async\"\r\n [hieActions]=\"true\"\r\n [showIcon]=\"true\"\r\n [label]=\"'CALENDAR.START_DATE' | fallbackTranslate: 'Start Date'\"\r\n ></lib-input-date-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startDate'] }\"></lib-error-message>\r\n </div>\r\n @if (form.controls['allDay'].value) {\r\n <lib-input-date-field\r\n class=\"event-date event-end-date\"\r\n formControlName=\"endDate\"\r\n [disabled]=\"loading$ | async\"\r\n [hieActions]=\"true\"\r\n [showIcon]=\"true\"\r\n [label]=\"'CALENDAR.END_DATE' | fallbackTranslate: 'End Date'\"\r\n ></lib-input-date-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endDate'] }\"></lib-error-message>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (!form.controls['allDay'].value) {\r\n <div class=\"form-row\">\r\n <div class=\"input-field-container input-field-container-group time-fields-group\">\r\n <div class=\"time-field\">\r\n <lib-input-time-field\r\n formControlName=\"startTime\"\r\n [showIcon]=\"true\"\r\n [startDate]=\"eventStart\"\r\n [interval]=\"15\"\r\n [disabled]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.STARTS' | fallbackTranslate: 'Starts'\"\r\n ></lib-input-time-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startTime'] }\"></lib-error-message>\r\n </div>\r\n <div class=\"time-field\">\r\n <lib-input-time-field\r\n class=\"end-time\"\r\n formControlName=\"endTime\"\r\n [interval]=\"15\"\r\n [showIcon]=\"true\"\r\n [displaySlotTime]=\"true\"\r\n [fromTime]=\"\r\n form.controls.startTime.value && form.controls.startTime.value['slotValue'] ? form.controls.startTime.value['slotValue'] : form.controls.startTime.value\r\n \"\r\n [startDate]=\"eventStart\"\r\n [disabled]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.ENDS' | fallbackTranslate: 'Ends'\"\r\n ></lib-input-time-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endTime'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"form-row recurring\">\r\n <div class=\"recurring-select\" formGroupName=\"recurringPattern\">\r\n <lib-input-field-select\r\n formControlName=\"type\"\r\n [optionLabel]=\"(recurringOptions[0].title | fallbackTranslate: 'noTrnslations') === 'noTrnslations' ? 'name' : 'title'\"\r\n [optionValue]=\"'type'\"\r\n [options]=\"recurringOptions\"\r\n [disabled]=\"loading$ | async\"\r\n >\r\n </lib-input-field-select>\r\n </div>\r\n <div class=\"allDay-container\">\r\n <ion-item class=\"no-shadow allDay\">\r\n <label>\r\n <lib-dashed-checkbox formControlName=\"allDay\" [disabled]=\"loading$ | async\"></lib-dashed-checkbox>\r\n <span>{{ 'CALENDAR.ALL_DAY' | fallbackTranslate: 'All day' }}</span>\r\n </label>\r\n </ion-item>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-row address\">\r\n <div class=\"input-field-container\">\r\n <lib-input-field\r\n maxLength=\"2000\"\r\n [trimWhiteSpace]=\"false\"\r\n formControlName=\"address\"\r\n [enableGoogleAddress]=\"true\"\r\n [address]=\"form.controls['address'].value\"\r\n (locationChange)=\"onLocationChange($event)\"\r\n [readonly]=\"loading$ | async\"\r\n [label]=\"'FIELDS.ADD_LOCATION' | fallbackTranslate: 'Location'\"\r\n >\r\n </lib-input-field>\r\n <lib-error-message class=\"input-error\" [config]=\"{ control: form.controls['address'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-row\">\r\n <div class=\"event-note-field\">\r\n <lib-input-field\r\n formControlName=\"note\"\r\n [textarea]=\"true\"\r\n [label]=\"'FIELDS.ADD_DESCRIPTION' | fallbackTranslate: 'Description'\"\r\n maxLength=\"2000\"\r\n [readonly]=\"loading$ | async\"\r\n ></lib-input-field>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n</lib-bottom-modal>\r\n", styles: [".event-modal{--input-width: 100%;--input-height: 48px;--border-radius: 100px;--input-icon-color: #fe3c72;--input-font-color: #fff;--dropdown-background: linear-gradient(191.18deg, #27242c 61.33%, #0c0b0e 101.43%);--input-font-family: \"Gilroy-Regular\", serif;--label-color: grey;--input-field-box-shadow: inset 17px 22px 20px 2.5px rgba(17, 16, 20, .7), inset -2px -2px 8px rgba(203, 199, 209, .5);--input-number-filed-font: var(--font-family);--textarea-height: 100px !important;position:relative;display:block;width:100%;padding:0 20px 10px;max-height:72vh;overflow:auto}.event-modal .form-row{display:flex;flex-direction:row;margin-bottom:10px}.event-modal .form-row.form-footer{align-items:flex-end;justify-content:flex-end;margin-bottom:-15px}.event-modal .form-row.form-footer lib-primary-btn{width:100px}.event-modal .form-row.form-row-error{margin:-10px 0 0;padding:0;height:20px}.event-modal .form-row.recurring{margin:12px 0;display:flex}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:50%}.event-modal .form-row.recurring .recurring-select lib-input-field-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end;margin-top:-10px}.event-modal form{padding:5px 5px 0}.event-modal form .form-body{max-width:100%;position:relative;display:block}.event-modal ion-item ion-label{font-family:Gilroy-Regular,serif!important}.event-modal ion-item ion-label:not(.allDay){display:flex!important;flex-direction:row;align-items:center;justify-content:center}.event-modal ion-item.allDay{margin-top:-10px;width:fit-content;--min-height: 50px}.event-modal ion-item.allDay label{display:flex;gap:10px;align-items:center;font-family:Gilroy-Regular,serif;cursor:pointer}.event-modal ion-item.allDay lib-dashed-checkbox{--size: 24px;--color: var(--cyrano-pink-shade-1)}.event-modal .event-title-field,.event-modal .event-note-field{position:relative;display:block;width:100%;padding-top:10px}.event-modal .event-title-field lib-input-field,.event-modal .event-note-field lib-input-field{position:relative;width:100%;min-width:100%}.event-modal .input-field-container{padding-top:2px;width:100%}.event-modal .input-field-container.input-field-container-group{display:flex;gap:5px}.event-modal .input-field-container.input-field-container-group div{width:50%}.event-modal .input-field-container.input-field-container-group div.input-field-container-full-row{width:100%}.event-modal .input-field-container .time-fields{display:flex;gap:10px}.event-modal .input-field-container lib-input-field{width:100%}.event-modal .field-error{position:relative;display:block;width:100%}@media screen and (max-width: 500px){.event-modal .event-date-container{margin-bottom:15px}.event-modal .input-field-container-group{display:flex;flex-direction:column}.event-modal .input-field-container-group div{width:100%!important}.event-modal .input-field-container-group.time-fields-group{flex-direction:row}.event-modal .form-row.recurring{display:block}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end}.event-modal .form-row.recurring .allDay-container ion-item.allDay{padding-left:0;margin-top:10px}.event-modal .form-row.address{margin-top:-20px}.event-modal .form-row.event-dates{margin-bottom:0}}@media screen and (max-width: 350px){.event-modal .input-placeholder.input-placeholder-date .time-placeholder{margin-left:0}}.event-modal .event-input-field-error{margin-top:-20px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i6.DashedCheckboxComponent, selector: "lib-dashed-checkbox", inputs: ["checked", "disabled"], outputs: ["toggle"] }, { kind: "component", type: i6.InputDateFieldComponent, selector: "lib-input-date-field", inputs: ["label", "defaultDate", "maxDate", "minDate", "showTime", "hieActions", "readonly", "defaultDayHighlight", "showIcon", "timeOnly", "view", "disabled", "dateFormat", "placeholder", "appendTo", "stepMinute", "mask", "styleClass", "timeFormat"], outputs: ["focusEvent"] }, { kind: "component", type: i6.InputFieldComponent, selector: "lib-input-field,[lib-input-field]", inputs: ["name", "autocomplete", "label", "placeholder", "type", "readonly", "focus", "enableGoogleAddress", "locationAutocompleteConfig", "defaultLocation", "mask", "prefix", "suffix", "maxLength", "value", "address", "textarea", "resize", "counter", "patterns", "trimWhiteSpace", "disabled"], outputs: ["mapError", "locationChange", "keyDown", "onBlur"] }, { kind: "component", type: i6.InputFieldSelectComponent, selector: "lib-input-field-select", inputs: ["multiple", "label", "placeholder", "optionLabel", "optionValue", "options", "optionsTemplates", "filterBy", "enableFilter", "readonly", "disabled", "showClear", "editable", "withTemplate", "enableTranslation"], outputs: ["valueChange"] }, { kind: "component", type: i6.InputTimeFieldComponent, selector: "lib-input-time-field", inputs: ["startDate", "interval", "displaySlotTime", "fromTime", "format", "label", "readonly", "showIcon", "disabled"], outputs: ["focusEvent"] }, { kind: "component", type: i6.BottomModalComponent, selector: "lib-bottom-modal", inputs: ["breakpoints", "initialBreakpoint", "isOpen", "canDismiss", "showArrow", "showBackBtn", "showConfirm", "showCloseBtn", "loading", "showHeaderSeparator", "title", "confirmationTitle", "confirmationMsg", "confirmButton", "confirmCancelButton", "description", "secondaryButtonTitle", "submitButtonTitle", "cancelButtonTitle", "validModal", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "breakpointChange", "closeModal", "submitModal", "secondaryButtonClick", "backClick", "showConfirmChange", "confirmEvent"] }, { kind: "component", type: i6.LibErrorMessageComponent, selector: "lib-error-message", inputs: ["config"] }, { kind: "component", type: i7.LibEventInfoComponent, selector: "lib-event-info", inputs: ["event", "calendars"] }, { kind: "component", type: i8.LibEditRecurringEventComponent, selector: "lib-edit-recurring-event", inputs: ["excludeCurrentInstance", "editOptionsCtrl"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.FallbackTranslatePipe, name: "fallbackTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
254
|
-
}
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventFormComponent, decorators: [{
|
|
256
|
-
type: Component,
|
|
257
|
-
args: [{ selector: 'lib-event-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<lib-bottom-modal\r\n [title]=\"modalTitle\"\r\n [(isOpen)]=\"openModal\"\r\n [(showConfirm)]=\"showConfirm\"\r\n [confirmButton]=\"'CONFIRM.YES' | fallbackTranslate: 'Yes'\"\r\n [confirmCancelButton]=\"'CONFIRM.No' | fallbackTranslate: 'No'\"\r\n [confirmationTitle]=\"'CONFIRM.ARE_YOU_SURE' | fallbackTranslate: 'Confirm Deletion'\"\r\n [confirmationMsg]=\"'CONFIRM.ARE_YOU_SURE_MESSAGE' | fallbackTranslate: 'Sure you want to delete?'\"\r\n [showCloseBtn]=\"!cancelButtonTitle && editMode\"\r\n [customClass]=\"'calendar-event-modal'\"\r\n [loading]=\"loading$ | async\"\r\n [validModal]=\"(!form || form.valid) && (loading$ | async) !== true\"\r\n [submitButtonTitle]=\"submitButtonTitle\"\r\n [secondaryButtonTitle]=\"secondaryButtonTitle\"\r\n [cancelButtonTitle]=\"cancelButtonTitle\"\r\n (secondaryButtonClick)=\"onModalSecondaryButtonClick()\"\r\n (closeModal)=\"resetModal()\"\r\n (submitModal)=\"onSubmitModal()\"\r\n (confirmEvent)=\"onDeleteConfirm()\"\r\n>\r\n <div class=\"event-modal\">\r\n <lib-event-info [event]=\"event\" [calendars]=\"calendars\" *ngIf=\"!form && editMode && !openRecurringOptions\"></lib-event-info>\r\n <lib-edit-recurring-event [editOptionsCtrl]=\"editOptionsCtrl\" [excludeCurrentInstance]=\"recurringTypeChanged\" *ngIf=\"openRecurringOptions\"></lib-edit-recurring-event>\r\n <ng-content></ng-content>\r\n <form [formGroup]=\"form\" *ngIf=\"form && !openRecurringOptions\" autocomplete=\"off\" appFocusInvalidInput (ngSubmit)=\"saveEvent()\" (keyup.enter)=\"saveEvent()\" id=\"event-form\">\r\n <div class=\"form-body\">\r\n <div class=\"form-row center-content\">\r\n <div class=\"event-title-field\">\r\n <lib-input-field\r\n maxLength=\"2000\"\r\n formControlName=\"title\"\r\n type=\"text\"\r\n [readonly]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.TITLE_FIELD' | fallbackTranslate: 'Title'\"\r\n [trimWhiteSpace]=\"false\"\r\n ></lib-input-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['title'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n <div class=\"form-row event-dates\">\r\n <div class=\"input-field-container input-field-container-group\">\r\n <div class=\"event-date-container\" [ngClass]=\"{ 'input-field-container-full-row': !form.controls['allDay'].value }\">\r\n <lib-input-date-field\r\n class=\"event-date\"\r\n formControlName=\"startDate\"\r\n [readonly]=\"loading$ | async\"\r\n [hieActions]=\"true\"\r\n [showIcon]=\"true\"\r\n [label]=\"'CALENDAR.START_DATE' | fallbackTranslate: 'Start Date'\"\r\n ></lib-input-date-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startDate'] }\"></lib-error-message>\r\n </div>\r\n @if (form.controls['allDay'].value) {\r\n <lib-input-date-field\r\n class=\"event-date event-end-date\"\r\n formControlName=\"endDate\"\r\n [disabled]=\"loading$ | async\"\r\n [hieActions]=\"true\"\r\n [showIcon]=\"true\"\r\n [label]=\"'CALENDAR.END_DATE' | fallbackTranslate: 'End Date'\"\r\n ></lib-input-date-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endDate'] }\"></lib-error-message>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (!form.controls['allDay'].value) {\r\n <div class=\"form-row\">\r\n <div class=\"input-field-container input-field-container-group time-fields-group\">\r\n <div class=\"time-field\">\r\n <lib-input-time-field\r\n formControlName=\"startTime\"\r\n [showIcon]=\"true\"\r\n [startDate]=\"eventStart\"\r\n [interval]=\"15\"\r\n [disabled]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.STARTS' | fallbackTranslate: 'Starts'\"\r\n ></lib-input-time-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startTime'] }\"></lib-error-message>\r\n </div>\r\n <div class=\"time-field\">\r\n <lib-input-time-field\r\n class=\"end-time\"\r\n formControlName=\"endTime\"\r\n [interval]=\"15\"\r\n [showIcon]=\"true\"\r\n [displaySlotTime]=\"true\"\r\n [fromTime]=\"\r\n form.controls.startTime.value && form.controls.startTime.value['slotValue'] ? form.controls.startTime.value['slotValue'] : form.controls.startTime.value\r\n \"\r\n [startDate]=\"eventStart\"\r\n [disabled]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.ENDS' | fallbackTranslate: 'Ends'\"\r\n ></lib-input-time-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endTime'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"form-row recurring\">\r\n <div class=\"recurring-select\" formGroupName=\"recurringPattern\">\r\n <lib-input-field-select\r\n formControlName=\"type\"\r\n [optionLabel]=\"(recurringOptions[0].title | fallbackTranslate: 'noTrnslations') === 'noTrnslations' ? 'name' : 'title'\"\r\n [optionValue]=\"'type'\"\r\n [options]=\"recurringOptions\"\r\n [disabled]=\"loading$ | async\"\r\n >\r\n </lib-input-field-select>\r\n </div>\r\n <div class=\"allDay-container\">\r\n <ion-item class=\"no-shadow allDay\">\r\n <label>\r\n <lib-dashed-checkbox formControlName=\"allDay\" [disabled]=\"loading$ | async\"></lib-dashed-checkbox>\r\n <span>{{ 'CALENDAR.ALL_DAY' | fallbackTranslate: 'All day' }}</span>\r\n </label>\r\n </ion-item>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-row address\">\r\n <div class=\"input-field-container\">\r\n <lib-input-field\r\n maxLength=\"2000\"\r\n [trimWhiteSpace]=\"false\"\r\n formControlName=\"address\"\r\n [enableGoogleAddress]=\"true\"\r\n [address]=\"form.controls['address'].value\"\r\n (locationChange)=\"onLocationChange($event)\"\r\n [readonly]=\"loading$ | async\"\r\n [label]=\"'FIELDS.ADD_LOCATION' | fallbackTranslate: 'Location'\"\r\n >\r\n </lib-input-field>\r\n <lib-error-message class=\"input-error\" [config]=\"{ control: form.controls['address'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-row\">\r\n <div class=\"event-note-field\">\r\n <lib-input-field\r\n formControlName=\"note\"\r\n [textarea]=\"true\"\r\n [label]=\"'FIELDS.ADD_DESCRIPTION' | fallbackTranslate: 'Description'\"\r\n maxLength=\"2000\"\r\n [readonly]=\"loading$ | async\"\r\n ></lib-input-field>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n</lib-bottom-modal>\r\n", styles: [".event-modal{--input-width: 100%;--input-height: 48px;--border-radius: 100px;--input-icon-color: #fe3c72;--input-font-color: #fff;--dropdown-background: linear-gradient(191.18deg, #27242c 61.33%, #0c0b0e 101.43%);--input-font-family: \"Gilroy-Regular\", serif;--label-color: grey;--input-field-box-shadow: inset 17px 22px 20px 2.5px rgba(17, 16, 20, .7), inset -2px -2px 8px rgba(203, 199, 209, .5);--input-number-filed-font: var(--font-family);--textarea-height: 100px !important;position:relative;display:block;width:100%;padding:0 20px 10px;max-height:72vh;overflow:auto}.event-modal .form-row{display:flex;flex-direction:row;margin-bottom:10px}.event-modal .form-row.form-footer{align-items:flex-end;justify-content:flex-end;margin-bottom:-15px}.event-modal .form-row.form-footer lib-primary-btn{width:100px}.event-modal .form-row.form-row-error{margin:-10px 0 0;padding:0;height:20px}.event-modal .form-row.recurring{margin:12px 0;display:flex}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:50%}.event-modal .form-row.recurring .recurring-select lib-input-field-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end;margin-top:-10px}.event-modal form{padding:5px 5px 0}.event-modal form .form-body{max-width:100%;position:relative;display:block}.event-modal ion-item ion-label{font-family:Gilroy-Regular,serif!important}.event-modal ion-item ion-label:not(.allDay){display:flex!important;flex-direction:row;align-items:center;justify-content:center}.event-modal ion-item.allDay{margin-top:-10px;width:fit-content;--min-height: 50px}.event-modal ion-item.allDay label{display:flex;gap:10px;align-items:center;font-family:Gilroy-Regular,serif;cursor:pointer}.event-modal ion-item.allDay lib-dashed-checkbox{--size: 24px;--color: var(--cyrano-pink-shade-1)}.event-modal .event-title-field,.event-modal .event-note-field{position:relative;display:block;width:100%;padding-top:10px}.event-modal .event-title-field lib-input-field,.event-modal .event-note-field lib-input-field{position:relative;width:100%;min-width:100%}.event-modal .input-field-container{padding-top:2px;width:100%}.event-modal .input-field-container.input-field-container-group{display:flex;gap:5px}.event-modal .input-field-container.input-field-container-group div{width:50%}.event-modal .input-field-container.input-field-container-group div.input-field-container-full-row{width:100%}.event-modal .input-field-container .time-fields{display:flex;gap:10px}.event-modal .input-field-container lib-input-field{width:100%}.event-modal .field-error{position:relative;display:block;width:100%}@media screen and (max-width: 500px){.event-modal .event-date-container{margin-bottom:15px}.event-modal .input-field-container-group{display:flex;flex-direction:column}.event-modal .input-field-container-group div{width:100%!important}.event-modal .input-field-container-group.time-fields-group{flex-direction:row}.event-modal .form-row.recurring{display:block}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end}.event-modal .form-row.recurring .allDay-container ion-item.allDay{padding-left:0;margin-top:10px}.event-modal .form-row.address{margin-top:-20px}.event-modal .form-row.event-dates{margin-bottom:0}}@media screen and (max-width: 350px){.event-modal .input-placeholder.input-placeholder-date .time-placeholder{margin-left:0}}.event-modal .event-input-field-error{margin-top:-20px}\n"] }]
|
|
258
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }, { type: i2.CalendarUtilsService }, { type: i3.FallbackTranslatePipe }], propDecorators: { calendars: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}], event: [{
|
|
261
|
-
type: Input
|
|
262
|
-
}], draggedEvent: [{
|
|
263
|
-
type: Input
|
|
264
|
-
}], updateRecurringEvent: [{
|
|
265
|
-
type: Output
|
|
266
|
-
}], updateDraggedEvent: [{
|
|
267
|
-
type: Output
|
|
268
|
-
}], delete: [{
|
|
269
|
-
type: Output
|
|
270
|
-
}], closeForm: [{
|
|
271
|
-
type: Output
|
|
272
|
-
}], submitForm: [{
|
|
273
|
-
type: Output
|
|
274
|
-
}] } });
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NvbXBvbmVudHMvZXZlbnQtZm9ybS9ldmVudC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY29tcG9uZW50cy9ldmVudC1mb3JtL2V2ZW50LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFlLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFpQixrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlHLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBUXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7O0FBUzFFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBRXRELElBQWEsS0FBSztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLENBQVM7UUFDakIsSUFBSSxD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QztRQUMzQixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQzsrR0FqUlUscUJBQXFCO21HQUFyQixxQkFBcUIsd1VDdkJsQywyb1BBeUpBOzs0RkRsSWEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3VMQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBTU8sWUFBWTtzQkFBeEIsS0FBSztnQkFPSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBEYXRlUmFuZ2VWYWxpZGF0b3IsIExvY2F0aW9uTW9kZWwsIFRpbWVSYW5nZVZhbGlkYXRvciB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBhZGRNaW51dGVzLCBkaWZmZXJlbmNlSW5NaW51dGVzLCBzdGFydE9mRGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmFsbGJhY2tUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvZmFsbGJhY2stdHJhbnNsYXRlL2ZhbGxiYWNrLXRyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgRXZlbnRUeXBlcyB9IGZyb20gJy4uLy4uL2VudW1zL2V2ZW50LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEVkaXRSZWN1cnJpbmdFdmVudE9wdGlvbnMgfSBmcm9tICcuLi8uLi9lbnVtcy9yZWN1cnJpbmcuZWRpdC5vcHRpb25zLmVudW0nO1xyXG5pbXBvcnQgeyBJQ2FsZW5kYXJBY2NvdW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jYWxlbmRhci5hY2NvdW50LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IElFdmVudEZvcm0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V2ZW50LmZvcm0uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSUV2ZW50Rm9ybU91dHB1dCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZXZlbnQuZm9ybS5vdXRwdXQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ldmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJUmVjdXJyaW5nRXZlbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlY3VycmluZy5ldmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJUmVjdXJyaW5nRXZlbnRFeGNlcHRpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlY3VycmluZy5leGNlcHRpb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgcmVjdXJyaW5nT3B0aW9ucyB9IGZyb20gJy4uLy4uL2xvb2t1cHMvcmVjdXJyaW5nLm9wdGlvbnMubG9va3VwJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYWxlbmRhci11dGlscy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWV2ZW50LWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ldmVudC1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZXZlbnQtZm9ybS5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJFdmVudEZvcm1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjYWxlbmRhcnM6IElDYWxlbmRhckFjY291bnRbXTtcclxuICBASW5wdXQoKSBnZXQgZXZlbnQoKTogSUV2ZW50IHtcclxuICAgIHJldHVybiB0aGlzLl9ldmVudDtcclxuICB9XHJcbiAgc2V0IGV2ZW50KGU6IElFdmVudCkge1xyXG4gICAgdGhpcy5vbkV2ZW50Q2hhbmdlKGUpO1xyXG4gIH1cclxuICBASW5wdXQoKSBnZXQgZHJhZ2dlZEV2ZW50KCk6IElFdmVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZHJhZ2dlZEV2ZW50O1xyXG4gIH1cclxuICBzZXQgZHJhZ2dlZEV2ZW50KGU6IElFdmVudCkge1xyXG4gICAgdGhpcy5vbkRyYWdFdmVudChlKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSB1cGRhdGVSZWN1cnJpbmdFdmVudDogRXZlbnRFbWl0dGVyPElFdmVudEZvcm1PdXRwdXQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnRGb3JtT3V0cHV0PigpO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVEcmFnZ2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjxJRXZlbnRGb3JtT3V0cHV0PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50Rm9ybU91dHB1dD4oKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlOiBFdmVudEVtaXR0ZXI8SUV2ZW50Rm9ybU91dHB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudEZvcm1PdXRwdXQ+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRm9ybTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBzdWJtaXRGb3JtOiBFdmVudEVtaXR0ZXI8SUV2ZW50Rm9ybU91dHB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudEZvcm1PdXRwdXQ+KCk7XHJcblxyXG4gIHB1YmxpYyBlZGl0TW9kZTogYm9vbGVhbjtcclxuICBwdWJsaWMgZWRpdE9wdGlvbnNDdHJsOiBGb3JtQ29udHJvbDxFZGl0UmVjdXJyaW5nRXZlbnRPcHRpb25zPiA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIHB1YmxpYyBtb2RhbFRpdGxlOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlY3VycmluZ1R5cGVDaGFuZ2VkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBjYW5jZWxCdXR0b25UaXRsZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdWJtaXRCdXR0b25UaXRsZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzZWNvbmRhcnlCdXR0b25UaXRsZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBvcGVuTW9kYWw6IGJvb2xlYW47XHJcbiAgcHVibGljIHNob3dDb25maXJtOiBib29sZWFuO1xyXG4gIHB1YmxpYyBvcGVuUmVjdXJyaW5nT3B0aW9uczogYm9vbGVhbjtcclxuICBwdWJsaWMgcmVjdXJyaW5nT3B0aW9uczogSVJlY3VycmluZ0V2ZW50W107XHJcbiAgcHVibGljIGV2ZW50U3RhcnQ6IERhdGU7XHJcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDxJRXZlbnRGb3JtPjtcclxuICBwdWJsaWMgcmVjdXJyaW5nRXhjZXB0aW9uOiBJUmVjdXJyaW5nRXZlbnRFeGNlcHRpb247XHJcbiAgcHJpdmF0ZSBpbml0aWFsRm9ybVZhbHVlOiBJRXZlbnQ7XHJcbiAgcHJpdmF0ZSBldmVudFRpbWU6IG51bWJlcjtcclxuICBwcml2YXRlIF9ldmVudDogSUV2ZW50O1xyXG4gIHByaXZhdGUgX2RyYWdnZWRFdmVudDogSUV2ZW50O1xyXG4gIHByaXZhdGUgZGVsZXRlQ29uZmlybWVkOiBib29sZWFuO1xyXG4gIHByaXZhdGUgdXBkYXRlZEV2ZW50OiBJRXZlbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgY2FsZW5kYXJVdGlsU2VydmljZTogQ2FsZW5kYXJVdGlsc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZhbGxiYWNrVHJhbnNsYXRlUGlwZTogRmFsbGJhY2tUcmFuc2xhdGVQaXBlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRlbGV0ZUNvbmZpcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dDb25maXJtID0gZmFsc2U7XHJcbiAgICB0aGlzLmRlbGV0ZS5lbWl0KHsgc2VsZWN0ZWRSZWN1cnJpbmdPcHRpb246IHRoaXMuZWRpdE9wdGlvbnNDdHJsLnZhbHVlIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU3VibWl0TW9kYWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kZWxldGVDb25maXJtZWQpIHtcclxuICAgICAgdGhpcy5vbkRlbGV0ZUNvbmZpcm0oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZHJhZ2dlZEV2ZW50KSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRHJhZ2dlZEV2ZW50LmVtaXQoe1xyXG4gICAgICAgIHNlbGVjdGVkUmVjdXJyaW5nT3B0aW9uOiB0aGlzLmVkaXRPcHRpb25zQ3RybC52YWx1ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZWRpdE1vZGUgPyB0aGlzLnVwZGF0ZUV2ZW50KCkgOiB0aGlzLnNhdmVFdmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTW9kYWxTZWNvbmRhcnlCdXR0b25DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMgPSB0aGlzLmVkaXRPcHRpb25zQ3RybD8udmFsdWUgPyBmYWxzZSA6IHRoaXMuZXZlbnQucmVjdXJyaW5nIHx8ICEhdGhpcy5ldmVudC5yZWN1cnJpbmdFdmVudElkO1xyXG4gICAgdGhpcy5zaG93Q29uZmlybSA9ICF0aGlzLm9wZW5SZWN1cnJpbmdPcHRpb25zO1xyXG4gICAgaWYgKHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMpIHtcclxuICAgICAgdGhpcy5jYW5jZWxCdXR0b25UaXRsZSA9IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQlVUVE9OUy5DQU5DRUwnLCAnQ2FuY2VsJyk7XHJcbiAgICAgIHRoaXMuc3VibWl0QnV0dG9uVGl0bGUgPSB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuREVMRVRFJywgJ0RlbGV0ZScpO1xyXG4gICAgICB0aGlzLmRlbGV0ZUNvbmZpcm1lZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uVGl0bGUgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVFdmVudCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFsbG93U3VibWlzc2lvbigpKSB7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZWRFdmVudDogSUV2ZW50ID0gdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLmJ1aWxkVXBkYXRlZEV2ZW50KHRoaXMuZXZlbnQsIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcclxuICAgICAgaWYgKCh1cGRhdGVkRXZlbnQucmVjdXJyaW5nICYmIHRoaXMuZXZlbnQucmVjdXJyaW5nKSB8fCB0aGlzLmV2ZW50Py5yZWN1cnJpbmdFdmVudElkKSB7XHJcbiAgICAgICAgdXBkYXRlZEV2ZW50LnJlY3VycmluZ1N0YXJ0RGF0ZSA9IHRoaXMuZXZlbnQucmVjdXJyaW5nU3RhcnREYXRlO1xyXG4gICAgICAgIHVwZGF0ZWRFdmVudC5yZWN1cnJpbmdFbmREYXRlID0gdGhpcy5ldmVudC5yZWN1cnJpbmdFbmREYXRlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlZEV2ZW50ID0gdXBkYXRlZEV2ZW50O1xyXG4gICAgICAgIHRoaXMucmVjdXJyaW5nVHlwZUNoYW5nZWQgPVxyXG4gICAgICAgICAgdGhpcy51cGRhdGVkRXZlbnQucmVjdXJyaW5nUGF0dGVybj8udHlwZSAhPT0gdGhpcy5ldmVudC5yZWN1cnJpbmdQYXR0ZXJuPy50eXBlIHx8ICh0aGlzLnVwZGF0ZWRFdmVudC5yZWN1cnJpbmdQYXR0ZXJuICYmICF0aGlzLmV2ZW50LnJlY3VycmluZ1BhdHRlcm4pO1xyXG4gICAgICAgIHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQ0FMRU5EQVIuRURJVF9SRUNVUlJJTkdfRVZFTlQnLCAnRWRpdCByZWN1cnJpbmcgZXZlbnQnKTtcclxuICAgICAgICB0aGlzLnNlY29uZGFyeUJ1dHRvblRpdGxlID0gbnVsbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnN1Ym1pdEZvcm1FdmVudCh1cGRhdGVkRXZlbnQsIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTG9jYXRpb25DaGFuZ2UoZXZlbnQ6IExvY2F0aW9uTW9kZWwpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybS5jb250cm9scy5sb2NhdGlvbi5zZXRWYWx1ZSh7IGNvb3JkaW5hdGVzOiBldmVudC5jb29yZGluYXRlcywgYWRkcmVzczogZXZlbnQuYWRkcmVzcyB9KTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9scy5hZGRyZXNzLnNldFZhbHVlKGV2ZW50LmFkZHJlc3MpO1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFkZHJlc3Muc2V0RXJyb3JzKGV2ZW50LmFkZHJlc3MgJiYgZXZlbnQuY29vcmRpbmF0ZXMgPyBudWxsIDogeyBpbnZhbGlkRmllbGQ6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzZXRNb2RhbCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVjdXJyaW5nVHlwZUNoYW5nZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZWRpdE9wdGlvbnNDdHJsLnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5vcGVuUmVjdXJyaW5nT3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5vcGVuTW9kYWwgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VGb3JtLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUV2ZW50Rm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMuZWRpdE1vZGUgPyB0aGlzLmV2ZW50LnRpdGxlIDogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5ORVdfRVZFTlQnLCAnTmV3IGV2ZW50Jyk7XHJcbiAgICB0aGlzLnNlY29uZGFyeUJ1dHRvblRpdGxlID0gdGhpcy5lZGl0TW9kZSA/IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQlVUVE9OUy5ERUxFVEUnLCAnRGVsZXRlJykgOiBudWxsO1xyXG4gICAgdGhpcy5jYW5jZWxCdXR0b25UaXRsZSA9IHRoaXMuZWRpdE1vZGUgPyBudWxsIDogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdCVVRUT05TLkNBTkNFTCcsICdDYW5jZWwnKTtcclxuICAgIHRoaXMuc3VibWl0QnV0dG9uVGl0bGUgPSB0aGlzLmVkaXRNb2RlID8gdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdCVVRUT05TLkVESVQnLCAnRWRpdCcpIDogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdCVVRUT05TLlNBVkUnLCAnU2F2ZScpO1xyXG4gICAgaWYgKCF0aGlzLmVkaXRNb2RlKSB7XHJcbiAgICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wZW5Nb2RhbCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkRm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVjdXJyaW5nT3B0aW9ucyA9IHJlY3VycmluZ09wdGlvbnMubWFwKChvcHRpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHsgLi4ub3B0aW9uLCB0aXRsZTogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKG9wdGlvbi50aXRsZSwgb3B0aW9uLm5hbWUpIH07XHJcbiAgICB9KTtcclxuICAgIHRoaXMucmVjdXJyaW5nRXhjZXB0aW9uID1cclxuICAgICAgdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLmdldEV4Y2VwdGlvbkV2ZW50KHRoaXMuZXZlbnQsIHRoaXMuZXZlbnQucmVjdXJyaW5nUGF0dGVybj8uZXhjZXB0aW9ucykgfHwgdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLmdldFVwZGF0ZWRSZWN1cnJpbmdFeGNlcHRpb24odGhpcy5ldmVudCk7XHJcbiAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSh0aGlzLnJlY3VycmluZ0V4Y2VwdGlvbj8uc3RhcnREYXRlIHx8IHRoaXMuZXZlbnQucmVjdXJyaW5nU3RhcnREYXRlIHx8IHRoaXMuZXZlbnQuc3RhcnREYXRlKTtcclxuICAgIHRoaXMuZXZlbnRTdGFydCA9IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKTtcclxuICAgIHRoaXMuY2FsZW5kYXJVdGlsU2VydmljZS5zZXRFdmVudFRpbWUodGhpcy5ldmVudCk7XHJcbiAgICBjb25zdCBldmVudFRpbWVzID0gdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLmdldEV2ZW50VGltZXModGhpcy5ldmVudCwgdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24sIHRydWUpO1xyXG4gICAgY29uc3QgZXZlbnROb3RlID0gdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/Lm5vdGUgfHwgdGhpcy5ldmVudC5ub3RlID8gdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLnJlbW92ZUh0bWxUYWdzKHRoaXMucmVjdXJyaW5nRXhjZXB0aW9uPy5ub3RlIHx8IHRoaXMuZXZlbnQubm90ZSkgOiAnJztcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIubm9uTnVsbGFibGUuZ3JvdXAoXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6IFt0aGlzLmV2ZW50Ll9pZCwgW11dLFxyXG4gICAgICAgIGFjY291bnRJZDogW3RoaXMuZXZlbnQuYWNjb3VudElkLCBbXV0sXHJcbiAgICAgICAgdHlwZTogW3RoaXMuZXZlbnQudHlwZSB8fCBFdmVudFR5cGVzLlVTRVIsIFtdXSxcclxuICAgICAgICBlbWFpbDogW3RoaXMuZXZlbnQuZW1haWwsIFtdXSxcclxuICAgICAgICB0aXRsZTogW3RoaXMucmVjdXJyaW5nRXhjZXB0aW9uPy50aXRsZSB8fCB0aGlzLmV2ZW50LnRpdGxlLCB0aGlzLmNhbGVuZGFyVXRpbFNlcnZpY2UuaXNQcm92aWRlckV2ZW50KHRoaXMuZXZlbnQpID8gW10gOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICAgIGFsbERheTogbmV3IEZvcm1Db250cm9sPGJvb2xlYW4+KHRoaXMucmVjdXJyaW5nRXhjZXB0aW9uPy5hbGxEYXkgfHwgdGhpcy5ldmVudC5hbGxEYXkgfHwgZmFsc2UsIFtdKSxcclxuICAgICAgICBzdGFydERhdGU6IG5ldyBGb3JtQ29udHJvbDxEYXRlPihzdGFydERhdGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgICAgc3RhcnRUaW1lOiBuZXcgRm9ybUNvbnRyb2w8RGF0ZT4oZXZlbnRUaW1lcy5zdGFydFRpbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgICAgZW5kRGF0ZTogbmV3IEZvcm1Db250cm9sPERhdGU+KG5ldyBEYXRlKCF0aGlzLmV2ZW50Ll9pZCA/IHN0YXJ0RGF0ZSA6IHRoaXMuZXZlbnQucmVjdXJyaW5nRW5kRGF0ZSB8fCB0aGlzLmV2ZW50LmVuZERhdGUpLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gICAgICAgIGVuZFRpbWU6IG5ldyBGb3JtQ29udHJvbDxEYXRlPihldmVudFRpbWVzLmVuZFRpbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgICAgbm90ZTogW2V2ZW50Tm90ZSwgW11dLFxyXG4gICAgICAgIGxvY2F0aW9uOiBbdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/LmxvY2F0aW9uIHx8IHRoaXMuZXZlbnQubG9jYXRpb24sIFtdXSxcclxuICAgICAgICBhZGRyZXNzOiBbdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/LmxvY2F0aW9uPy5hZGRyZXNzIHx8IHRoaXMuZXZlbnQubG9jYXRpb24/LmFkZHJlc3MsIHRoaXMuZXZlbnQ/LnR5cGUgPyBbXSA6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgICAgcmVjdXJyaW5nUGF0dGVybjogdGhpcy5mYi5ub25OdWxsYWJsZS5ncm91cCh7XHJcbiAgICAgICAgICB0eXBlOiBbIXRoaXMuZXZlbnQuX2lkID8gcmVjdXJyaW5nT3B0aW9uc1swXS50eXBlIDogdGhpcy5ldmVudC5yZWN1cnJpbmdQYXR0ZXJuPy50eXBlLCBbXV0sXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWxpZGF0b3JzOiBbRGF0ZVJhbmdlVmFsaWRhdG9yKCdzdGFydERhdGUnLCAnZW5kRGF0ZScpLCBUaW1lUmFuZ2VWYWxpZGF0b3IoJ3N0YXJ0VGltZScsICdlbmRUaW1lJyldLFxyXG4gICAgICB9LFxyXG4gICAgKTtcclxuICAgIHRoaXMuZXZlbnRUaW1lID0gZGlmZmVyZW5jZUluTWludXRlcyhldmVudFRpbWVzLmVuZFRpbWUsIGV2ZW50VGltZXMuc3RhcnRUaW1lKTtcclxuICAgIHRoaXMuaGFuZGxlQWxsRGF5RXZlbnRzKHRoaXMuZXZlbnQuYWxsRGF5KTtcclxuICAgIHRoaXMud2F0Y2hGb3JtRmllbGRzKCk7XHJcbiAgICB0aGlzLmluaXRpYWxGb3JtVmFsdWUgPSB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgd2F0Y2hGb3JtRmllbGRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFsbERheS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5oYW5kbGVBbGxEYXlFdmVudHModmFsdWUsIHRydWUpKTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9scy5hZGRyZXNzLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgIGlmICh2YWx1ZSAmJiAhdGhpcy5mb3JtLnZhbHVlLmxvY2F0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFkZHJlc3Muc2V0RXJyb3JzKHsgaW52YWxpZEZpZWxkOiB0cnVlIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMubG9jYXRpb24uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIC0tLS0tLS0gd2F0Y2ggc3RhcnQgZGF0ZSByZWN1cnJpbmcgLS0tLS0tLS0tLS0tLVxyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnN0YXJ0RGF0ZS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICBpZiAodmFsdWUgJiYgIXRoaXMuZm9ybS5jb250cm9scy5hbGxEYXkudmFsdWUpIHtcclxuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuZW5kRGF0ZS5zZXRWYWx1ZShuZXcgRGF0ZSh2YWx1ZSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9scy5zdGFydFRpbWUudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmVuZFRpbWUuc2V0VmFsdWUoYWRkTWludXRlcyh2YWx1ZVsnc2xvdFZhbHVlJ10gfHwgbmV3IERhdGUodmFsdWUpLCB0aGlzLmV2ZW50VGltZSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlQWxsRGF5RXZlbnRzKGFsbERheTogYm9vbGVhbiwgb25DaGFuZ2U/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBbJ2VuZERhdGUnLCAnZW5kVGltZScsICdzdGFydFRpbWUnXS5mb3JFYWNoKChjb250cm9sTmFtZSkgPT4ge1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbY29udHJvbE5hbWVdLnNldFZhbGlkYXRvcnMoYWxsRGF5ID8gW10gOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbY29udHJvbE5hbWVdLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIH0pO1xyXG4gICAgaWYgKG9uQ2hhbmdlKSB7XHJcbiAgICAgIGlmIChhbGxEYXkpIHtcclxuICAgICAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLmZvcm0uY29udHJvbHMuc3RhcnREYXRlLnZhbHVlO1xyXG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5lbmREYXRlLnNldFZhbHVlKHN0YXJ0RGF0ZSA/IHN0YXJ0T2ZEYXkobmV3IERhdGUoc3RhcnREYXRlKSkgOiBudWxsKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBzdGFydFRpbWUgPSB0aGlzLmZvcm0uY29udHJvbHMuc3RhcnRUaW1lLnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBzdGFydFRpbWUgJiYgc3RhcnRUaW1lWydzbG90VmFsdWUnXSA/IHN0YXJ0T2ZEYXkobmV3IERhdGUoc3RhcnRUaW1lWydzbG90VmFsdWUnXSkpIDogbnVsbDtcclxuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuc3RhcnRUaW1lLnNldFZhbHVlKHRpbWUpO1xyXG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5lbmRUaW1lLnNldFZhbHVlKHRpbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZWRpdE9wdGlvbnNDdHJsLnZhbHVlIHx8IHRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLnNhdmVFdmVudCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgICAgdGhpcy5tb2RhbFRpdGxlID0gdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5VUERBVEVfRVZFTlQnLCAnVXBkYXRlIEV2ZW50Jyk7XHJcbiAgICAgIHRoaXMuc3VibWl0QnV0dG9uVGl0bGUgPSB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuU0FWRScsICdTYXZlJyk7XHJcbiAgICAgIHRoaXMuY2FuY2VsQnV0dG9uVGl0bGUgPSB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuQ0FOQ0VMJywgJ0NhbmNlbCcpO1xyXG4gICAgICB0aGlzLnNlY29uZGFyeUJ1dHRvblRpdGxlID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWxsb3dTdWJtaXNzaW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZvcm0udmFsdWUuYWRkcmVzcyAmJiAhdGhpcy5mb3JtLnZhbHVlLmxvY2F0aW9uKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sc1snYWRkcmVzcyddLnNldEVycm9ycyh7IGludmFsaWRGaWVsZDogdHJ1ZSB9KTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMpIHtcclxuICAgICAgdGhpcy51cGRhdGVSZWN1cnJpbmdFdmVudC5lbWl0KHtcclxuICAgICAgICBldmVudDogdGhpcy51cGRhdGVkRXZlbnQsXHJcbiAgICAgICAgc2VsZWN0ZWRSZWN1cnJpbmdPcHRpb246IHRoaXMuZWRpdE9wdGlvbnNDdHJsLnZhbHVlLFxyXG4gICAgICAgIHJlY3VycmluZ1R5cGVDaGFuZ2VkOiB0aGlzLnJlY3VycmluZ1R5cGVDaGFuZ2VkLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1Ym1pdEZvcm1FdmVudChldmVudDogSUV2ZW50LCBmb3JtVmFsdWU6IElFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJtaXRGb3JtLmVtaXQoe1xyXG4gICAgICBldmVudCxcclxuICAgICAgaW5pdGlhbEZvcm1WYWx1ZTogdGhpcy5pbml0aWFsRm9ybVZhbHVlLFxyXG4gICAgICBmb3JtVmFsdWUsXHJcbiAgICAgIHNlbGVjdGVkUmVjdXJyaW5nT3B0aW9uOiB0aGlzLmVkaXRPcHRpb25zQ3RybC52YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkV2ZW50Q2hhbmdlKGV2ZW50OiBJRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdE1vZGUgPSAhIWV2ZW50Py5faWQ7XHJcbiAgICB0aGlzLl9ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5lZGl0T3B0aW9uc0N0cmwuc2V0VmFsdWUobnVsbCk7XHJcbiAgICBpZiAoIWV2ZW50KSB7XHJcbiAgICAgIHRoaXMub3Blbk1vZGFsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZm9ybSA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVFdmVudEZvcm0oKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRHJhZ0V2ZW50KGV2ZW50OiBJRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdE1vZGUgPSAhIWV2ZW50Py5faWQ7XHJcbiAgICB0aGlzLm9wZW5Nb2RhbCA9ICF0aGlzLl9kcmFnZ2VkRXZlbnQgJiYgZXZlbnQ/LnJlY3VycmluZztcclxuICAgIHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMgPSB0aGlzLm9wZW5Nb2RhbDtcclxuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMub3Blbk1vZGFsID8gdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5FRElUX1JFQ1VSUklOR19FVkVOVCcsICdFZGl0IHJlY3VycmluZyBldmVudCcpIDogbnVsbDtcclxuICAgIHRoaXMuY2FuY2VsQnV0dG9uVGl0bGUgPSB0aGlzLm9wZW5Nb2RhbCA/IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQlVUVE9OUy5DQU5DRUwnLCAnQ2FuY2VsJykgOiBudWxsO1xyXG4gICAgdGhpcy5zdWJtaXRCdXR0b25UaXRsZSA9IHRoaXMub3Blbk1vZGFsID8gdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdCVVRUT05TLkVESVQnLCAnRWRpdCcpIDogbnVsbDtcclxuICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uVGl0bGUgPSBudWxsO1xyXG4gICAgdGhpcy5fZHJhZ2dlZEV2ZW50ID0gZXZlbnQ7XHJcbiAgICBpZiAodGhpcy5fZHJhZ2dlZEV2ZW50ICYmICF0aGlzLm9wZW5Nb2RhbCkge1xyXG4gICAgICB0aGlzLnN1Ym1pdEZvcm1FdmVudCh0aGlzLl9kcmFnZ2VkRXZlbnQsIHRoaXMuZHJhZ2dlZEV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGxpYi1ib3R0b20tbW9kYWxcclxuICBbdGl0bGVdPVwibW9kYWxUaXRsZVwiXHJcbiAgWyhpc09wZW4pXT1cIm9wZW5Nb2RhbFwiXHJcbiAgWyhzaG93Q29uZmlybSldPVwic2hvd0NvbmZpcm1cIlxyXG4gIFtjb25maXJtQnV0dG9uXT1cIidDT05GSVJNLllFUycgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ1llcydcIlxyXG4gIFtjb25maXJtQ2FuY2VsQnV0dG9uXT1cIidDT05GSVJNLk5vJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnTm8nXCJcclxuICBbY29uZmlybWF0aW9uVGl0bGVdPVwiJ0NPTkZJUk0uQVJFX1lPVV9TVVJFJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnQ29uZmlybSBEZWxldGlvbidcIlxyXG4gIFtjb25maXJtYXRpb25Nc2ddPVwiJ0NPTkZJUk0uQVJFX1lPVV9TVVJFX01FU1NBR0UnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdTdXJlIHlvdSB3YW50IHRvIGRlbGV0ZT8nXCJcclxuICBbc2hvd0Nsb3NlQnRuXT1cIiFjYW5jZWxCdXR0b25UaXRsZSAmJiBlZGl0TW9kZVwiXHJcbiAgW2N1c3RvbUNsYXNzXT1cIidjYWxlbmRhci1ldmVudC1tb2RhbCdcIlxyXG4gIFtsb2FkaW5nXT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gIFt2YWxpZE1vZGFsXT1cIighZm9ybSB8fCBmb3JtLnZhbGlkKSAmJiAobG9hZGluZyQgfCBhc3luYykgIT09IHRydWVcIlxyXG4gIFtzdWJtaXRCdXR0b25UaXRsZV09XCJzdWJtaXRCdXR0b25UaXRsZVwiXHJcbiAgW3NlY29uZGFyeUJ1dHRvblRpdGxlXT1cInNlY29uZGFyeUJ1dHRvblRpdGxlXCJcclxuICBbY2FuY2VsQnV0dG9uVGl0bGVdPVwiY2FuY2VsQnV0dG9uVGl0bGVcIlxyXG4gIChzZWNvbmRhcnlCdXR0b25DbGljayk9XCJvbk1vZGFsU2Vjb25kYXJ5QnV0dG9uQ2xpY2soKVwiXHJcbiAgKGNsb3NlTW9kYWwpPVwicmVzZXRNb2RhbCgpXCJcclxuICAoc3VibWl0TW9kYWwpPVwib25TdWJtaXRNb2RhbCgpXCJcclxuICAoY29uZmlybUV2ZW50KT1cIm9uRGVsZXRlQ29uZmlybSgpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJldmVudC1tb2RhbFwiPlxyXG4gICAgPGxpYi1ldmVudC1pbmZvIFtldmVudF09XCJldmVudFwiIFtjYWxlbmRhcnNdPVwiY2FsZW5kYXJzXCIgKm5nSWY9XCIhZm9ybSAmJiBlZGl0TW9kZSAmJiAhb3BlblJlY3VycmluZ09wdGlvbnNcIj48L2xpYi1ldmVudC1pbmZvPlxyXG4gICAgPGxpYi1lZGl0LXJlY3VycmluZy1ldmVudCBbZWRpdE9wdGlvbnNDdHJsXT1cImVkaXRPcHRpb25zQ3RybFwiIFtleGNsdWRlQ3VycmVudEluc3RhbmNlXT1cInJlY3VycmluZ1R5cGVDaGFuZ2VkXCIgKm5nSWY9XCJvcGVuUmVjdXJyaW5nT3B0aW9uc1wiPjwvbGliLWVkaXQtcmVjdXJyaW5nLWV2ZW50PlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCJmb3JtICYmICFvcGVuUmVjdXJyaW5nT3B0aW9uc1wiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGFwcEZvY3VzSW52YWxpZElucHV0IChuZ1N1Ym1pdCk9XCJzYXZlRXZlbnQoKVwiIChrZXl1cC5lbnRlcik9XCJzYXZlRXZlbnQoKVwiIGlkPVwiZXZlbnQtZm9ybVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93IGNlbnRlci1jb250ZW50XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtdGl0bGUtZmllbGRcIj5cclxuICAgICAgICAgICAgPGxpYi1pbnB1dC1maWVsZFxyXG4gICAgICAgICAgICAgIG1heExlbmd0aD1cIjIwMDBcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcclxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInQ0FMRU5EQVIuVElUTEVfRklFTEQnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdUaXRsZSdcIlxyXG4gICAgICAgICAgICAgIFt0cmltV2hpdGVTcGFjZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2xpYi1pbnB1dC1maWVsZD5cclxuICAgICAgICAgICAgPGxpYi1lcnJvci1tZXNzYWdlIGNsYXNzPVwiaW5wdXQtZXJyb3IgZXZlbnQtaW5wdXQtZmllbGQtZXJyb3JcIiBbY29uZmlnXT1cInsgY29udHJvbDogZm9ybS5jb250cm9sc1sndGl0bGUnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyBldmVudC1kYXRlc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWZpZWxkLWNvbnRhaW5lciBpbnB1dC1maWVsZC1jb250YWluZXItZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LWRhdGUtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyAnaW5wdXQtZmllbGQtY29udGFpbmVyLWZ1bGwtcm93JzogIWZvcm0uY29udHJvbHNbJ2FsbERheSddLnZhbHVlIH1cIj5cclxuICAgICAgICAgICAgICA8bGliLWlucHV0LWRhdGUtZmllbGRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnQtZGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgW2hpZUFjdGlvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NBTEVOREFSLlNUQVJUX0RBVEUnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdTdGFydCBEYXRlJ1wiXHJcbiAgICAgICAgICAgICAgPjwvbGliLWlucHV0LWRhdGUtZmllbGQ+XHJcbiAgICAgICAgICAgICAgPGxpYi1lcnJvci1tZXNzYWdlIGNsYXNzPVwiaW5wdXQtZXJyb3IgZXZlbnQtaW5wdXQtZmllbGQtZXJyb3JcIiBbY29uZmlnXT1cInsgY29udHJvbDogZm9ybS5jb250cm9sc1snc3RhcnREYXRlJ10gfVwiPjwvbGliLWVycm9yLW1lc3NhZ2U+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBAaWYgKGZvcm0uY29udHJvbHNbJ2FsbERheSddLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgPGxpYi1pbnB1dC1kYXRlLWZpZWxkXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV2ZW50LWRhdGUgZXZlbnQtZW5kLWRhdGVcIlxyXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW5kRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICBbaGllQWN0aW9uc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ0FMRU5EQVIuRU5EX0RBVEUnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdFbmQgRGF0ZSdcIlxyXG4gICAgICAgICAgICAgID48L2xpYi1pbnB1dC1kYXRlLWZpZWxkPlxyXG4gICAgICAgICAgICAgIDxsaWItZXJyb3ItbWVzc2FnZSBjbGFzcz1cImlucHV0LWVycm9yIGV2ZW50LWlucHV0LWZpZWxkLWVycm9yXCIgW2NvbmZpZ109XCJ7IGNvbnRyb2w6IGZvcm0uY29udHJvbHNbJ2VuZERhdGUnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIEBpZiAoIWZvcm0uY29udHJvbHNbJ2FsbERheSddLnZhbHVlKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWZpZWxkLWNvbnRhaW5lciBpbnB1dC1maWVsZC1jb250YWluZXItZ3JvdXAgdGltZS1maWVsZHMtZ3JvdXBcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1pbnB1dC10aW1lLWZpZWxkXHJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0VGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW3N0YXJ0RGF0ZV09XCJldmVudFN0YXJ0XCJcclxuICAgICAgICAgICAgICAgICAgW2ludGVydmFsXT1cIjE1XCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NBTEVOREFSLlNUQVJUUycgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ1N0YXJ0cydcIlxyXG4gICAgICAgICAgICAgICAgPjwvbGliLWlucHV0LXRpbWUtZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8bGliLWVycm9yLW1lc3NhZ2UgY2xhc3M9XCJpbnB1dC1lcnJvciBldmVudC1pbnB1dC1maWVsZC1lcnJvclwiIFtjb25maWddPVwieyBjb250cm9sOiBmb3JtLmNvbnRyb2xzWydzdGFydFRpbWUnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1pbnB1dC10aW1lLWZpZWxkXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZW5kLXRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbmRUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgW2ludGVydmFsXT1cIjE1XCJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZGlzcGxheVNsb3RUaW1lXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZnJvbVRpbWVdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybS5jb250cm9scy5zdGFydFRpbWUudmFsdWUgJiYgZm9ybS5jb250cm9scy5zdGFydFRpbWUudmFsdWVbJ3Nsb3RWYWx1ZSddID8gZm9ybS5jb250cm9scy5zdGFydFRpbWUudmFsdWVbJ3Nsb3RWYWx1ZSddIDogZm9ybS5jb250cm9scy5zdGFydFRpbWUudmFsdWVcclxuICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgW3N0YXJ0RGF0ZV09XCJldmVudFN0YXJ0XCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NBTEVOREFSLkVORFMnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdFbmRzJ1wiXHJcbiAgICAgICAgICAgICAgICA+PC9saWItaW5wdXQtdGltZS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDxsaWItZXJyb3ItbWVzc2FnZSBjbGFzcz1cImlucHV0LWVycm9yIGV2ZW50LWlucHV0LWZpZWxkLWVycm9yXCIgW2NvbmZpZ109XCJ7IGNvbnRyb2w6IGZvcm0uY29udHJvbHNbJ2VuZFRpbWUnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyByZWN1cnJpbmdcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWN1cnJpbmctc2VsZWN0XCIgZm9ybUdyb3VwTmFtZT1cInJlY3VycmluZ1BhdHRlcm5cIj5cclxuICAgICAgICAgICAgPGxpYi1pbnB1dC1maWVsZC1zZWxlY3RcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCJcclxuICAgICAgICAgICAgICBbb3B0aW9uTGFiZWxdPVwiKHJlY3VycmluZ09wdGlvbnNbMF0udGl0bGUgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ25vVHJuc2xhdGlvbnMnKSA9PT0gJ25vVHJuc2xhdGlvbnMnID8gJ25hbWUnIDogJ3RpdGxlJ1wiXHJcbiAgICAgICAgICAgICAgW29wdGlvblZhbHVlXT1cIid0eXBlJ1wiXHJcbiAgICAgICAgICAgICAgW29wdGlvbnNdPVwicmVjdXJyaW5nT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvbGliLWlucHV0LWZpZWxkLXNlbGVjdD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFsbERheS1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGlvbi1pdGVtIGNsYXNzPVwibm8tc2hhZG93IGFsbERheVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgIDxsaWItZGFzaGVkLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImFsbERheVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nJCB8IGFzeW5jXCI+PC9saWItZGFzaGVkLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgJ0NBTEVOREFSLkFMTF9EQVknIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdBbGwgZGF5JyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyBhZGRyZXNzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZmllbGQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxsaWItaW5wdXQtZmllbGRcclxuICAgICAgICAgICAgICBtYXhMZW5ndGg9XCIyMDAwXCJcclxuICAgICAgICAgICAgICBbdHJpbVdoaXRlU3BhY2VdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFkZHJlc3NcIlxyXG4gICAgICAgICAgICAgIFtlbmFibGVHb29nbGVBZGRyZXNzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFthZGRyZXNzXT1cImZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgKGxvY2F0aW9uQ2hhbmdlKT1cIm9uTG9jYXRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInRklFTERTLkFERF9MT0NBVElPTicgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ0xvY2F0aW9uJ1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9saWItaW5wdXQtZmllbGQ+XHJcbiAgICAgICAgICAgIDxsaWItZXJyb3ItbWVzc2FnZSBjbGFzcz1cImlucHV0LWVycm9yXCIgW2NvbmZpZ109XCJ7IGNvbnRyb2w6IGZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1ub3RlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgIDxsaWItaW5wdXQtZmllbGRcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJub3RlXCJcclxuICAgICAgICAgICAgICBbdGV4dGFyZWFdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidGSUVMRFMuQUREX0RFU0NSSVBUSU9OJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnRGVzY3JpcHRpb24nXCJcclxuICAgICAgICAgICAgICBtYXhMZW5ndGg9XCIyMDAwXCJcclxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwibG9hZGluZyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgID48L2xpYi1pbnB1dC1maWVsZD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L2Rpdj5cclxuPC9saWItYm90dG9tLW1vZGFsPlxyXG4iXX0=
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { IonicModule } from '@ionic/angular';
|
|
4
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
|
-
import { BaseComponent, DashedCheckboxModule, DirectiveModule, FormFieldModule, InputDateFieldModule, InputFieldModule, InputFieldSelectModule, InputTimeFieldModule, LibErrorMessageComponent, LibMapModule, LibModalModule, } from '@naniteninja/ionic-lib';
|
|
7
|
-
import { FallbackTranslatePipe } from '../../../../pipes/fallback-translate/fallback-translate.pipe';
|
|
8
|
-
import { CalendarUtilsService } from '../../services/calendar-utils.service';
|
|
9
|
-
import { LibEditRecurringEventComponent } from '../edit-recurring-event/edit-recurring-event.component';
|
|
10
|
-
import { LibEventInfoComponent } from '../event-info/event-info.component';
|
|
11
|
-
import { LibEventFormComponent } from './event-form.component';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
export class LibEventFormModule {
|
|
14
|
-
static forRoot(config) {
|
|
15
|
-
const libMapModule = LibMapModule.forRoot({
|
|
16
|
-
googleMapsKey: config.googleMapsKey,
|
|
17
|
-
googleMapsURL: config.googleMapsURL,
|
|
18
|
-
});
|
|
19
|
-
return {
|
|
20
|
-
ngModule: LibEventFormModule,
|
|
21
|
-
providers: [...(libMapModule.providers || [])],
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
25
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: LibEventFormModule, declarations: [LibEventFormComponent], imports: [CommonModule,
|
|
26
|
-
IonicModule,
|
|
27
|
-
TranslateModule,
|
|
28
|
-
FormsModule,
|
|
29
|
-
ReactiveFormsModule,
|
|
30
|
-
DashedCheckboxModule,
|
|
31
|
-
DirectiveModule,
|
|
32
|
-
FormFieldModule,
|
|
33
|
-
InputDateFieldModule,
|
|
34
|
-
InputFieldModule,
|
|
35
|
-
InputFieldSelectModule,
|
|
36
|
-
InputTimeFieldModule,
|
|
37
|
-
LibModalModule,
|
|
38
|
-
LibErrorMessageComponent,
|
|
39
|
-
FallbackTranslatePipe,
|
|
40
|
-
LibEventInfoComponent,
|
|
41
|
-
LibEditRecurringEventComponent,
|
|
42
|
-
BaseComponent], exports: [LibEventFormComponent] }); }
|
|
43
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventFormModule, providers: [CalendarUtilsService], imports: [CommonModule,
|
|
44
|
-
IonicModule,
|
|
45
|
-
TranslateModule,
|
|
46
|
-
FormsModule,
|
|
47
|
-
ReactiveFormsModule,
|
|
48
|
-
DashedCheckboxModule,
|
|
49
|
-
DirectiveModule,
|
|
50
|
-
FormFieldModule,
|
|
51
|
-
InputDateFieldModule,
|
|
52
|
-
InputFieldModule,
|
|
53
|
-
InputFieldSelectModule,
|
|
54
|
-
InputTimeFieldModule,
|
|
55
|
-
LibModalModule,
|
|
56
|
-
LibErrorMessageComponent,
|
|
57
|
-
LibEventInfoComponent,
|
|
58
|
-
LibEditRecurringEventComponent,
|
|
59
|
-
BaseComponent] }); }
|
|
60
|
-
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventFormModule, decorators: [{
|
|
62
|
-
type: NgModule,
|
|
63
|
-
args: [{
|
|
64
|
-
declarations: [LibEventFormComponent],
|
|
65
|
-
exports: [LibEventFormComponent],
|
|
66
|
-
imports: [
|
|
67
|
-
CommonModule,
|
|
68
|
-
IonicModule,
|
|
69
|
-
TranslateModule,
|
|
70
|
-
FormsModule,
|
|
71
|
-
ReactiveFormsModule,
|
|
72
|
-
DashedCheckboxModule,
|
|
73
|
-
DirectiveModule,
|
|
74
|
-
FormFieldModule,
|
|
75
|
-
InputDateFieldModule,
|
|
76
|
-
InputFieldModule,
|
|
77
|
-
InputFieldSelectModule,
|
|
78
|
-
InputTimeFieldModule,
|
|
79
|
-
LibModalModule,
|
|
80
|
-
LibErrorMessageComponent,
|
|
81
|
-
FallbackTranslatePipe,
|
|
82
|
-
LibEventInfoComponent,
|
|
83
|
-
LibEditRecurringEventComponent,
|
|
84
|
-
BaseComponent,
|
|
85
|
-
],
|
|
86
|
-
providers: [CalendarUtilsService],
|
|
87
|
-
}]
|
|
88
|
-
}] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NvbXBvbmVudHMvZXZlbnQtZm9ybS9ldmVudC1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUNMLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLFlBQVksRUFDWixjQUFjLEdBQ2YsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUEyQi9ELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUF3RDtRQUNyRSxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtZQUNuQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWE7U0FDcEMsQ0FBQyxDQUFDO1FBQ0gsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7U0FDL0MsQ0FBQztJQUNKLENBQUM7K0dBVlUsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBeEJkLHFCQUFxQixhQUdsQyxZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsOEJBQThCO1lBQzlCLGFBQWEsYUFuQkwscUJBQXFCO2dIQXVCcEIsa0JBQWtCLGFBRmxCLENBQUMsb0JBQW9CLENBQUMsWUFuQi9CLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixlQUFlO1lBQ2Ysb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixzQkFBc0I7WUFDdEIsb0JBQW9CO1lBQ3BCLGNBQWM7WUFDZCx3QkFBd0I7WUFFeEIscUJBQXFCO1lBQ3JCLDhCQUE4QjtZQUM5QixhQUFhOzs0RkFJSixrQkFBa0I7a0JBekI5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDaEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsOEJBQThCO3dCQUM5QixhQUFhO3FCQUNkO29CQUNELFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBCYXNlQ29tcG9uZW50LFxyXG4gIERhc2hlZENoZWNrYm94TW9kdWxlLFxyXG4gIERpcmVjdGl2ZU1vZHVsZSxcclxuICBGb3JtRmllbGRNb2R1bGUsXHJcbiAgSW5wdXREYXRlRmllbGRNb2R1bGUsXHJcbiAgSW5wdXRGaWVsZE1vZHVsZSxcclxuICBJbnB1dEZpZWxkU2VsZWN0TW9kdWxlLFxyXG4gIElucHV0VGltZUZpZWxkTW9kdWxlLFxyXG4gIExpYkVycm9yTWVzc2FnZUNvbXBvbmVudCxcclxuICBMaWJNYXBNb2R1bGUsXHJcbiAgTGliTW9kYWxNb2R1bGUsXHJcbn0gZnJvbSAnQG5hbml0ZW5pbmphL2lvbmljLWxpYic7XHJcbmltcG9ydCB7IEZhbGxiYWNrVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2ZhbGxiYWNrLXRyYW5zbGF0ZS9mYWxsYmFjay10cmFuc2xhdGUucGlwZSc7XHJcbmltcG9ydCB7IENhbGVuZGFyVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXItdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IExpYkVkaXRSZWN1cnJpbmdFdmVudENvbXBvbmVudCB9IGZyb20gJy4uL2VkaXQtcmVjdXJyaW5nLWV2ZW50L2VkaXQtcmVjdXJyaW5nLWV2ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpYkV2ZW50SW5mb0NvbXBvbmVudCB9IGZyb20gJy4uL2V2ZW50LWluZm8vZXZlbnQtaW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaWJFdmVudEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2V2ZW50LWZvcm0uY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbTGliRXZlbnRGb3JtQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbTGliRXZlbnRGb3JtQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJb25pY01vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIERhc2hlZENoZWNrYm94TW9kdWxlLFxyXG4gICAgRGlyZWN0aXZlTW9kdWxlLFxyXG4gICAgRm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgSW5wdXREYXRlRmllbGRNb2R1bGUsXHJcbiAgICBJbnB1dEZpZWxkTW9kdWxlLFxyXG4gICAgSW5wdXRGaWVsZFNlbGVjdE1vZHVsZSxcclxuICAgIElucHV0VGltZUZpZWxkTW9kdWxlLFxyXG4gICAgTGliTW9kYWxNb2R1bGUsXHJcbiAgICBMaWJFcnJvck1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBGYWxsYmFja1RyYW5zbGF0ZVBpcGUsXHJcbiAgICBMaWJFdmVudEluZm9Db21wb25lbnQsXHJcbiAgICBMaWJFZGl0UmVjdXJyaW5nRXZlbnRDb21wb25lbnQsXHJcbiAgICBCYXNlQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbQ2FsZW5kYXJVdGlsc1NlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliRXZlbnRGb3JtTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IHsgZ29vZ2xlTWFwc0tleTogc3RyaW5nOyBnb29nbGVNYXBzVVJMOiBzdHJpbmcgfSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TGliRXZlbnRGb3JtTW9kdWxlPiB7XHJcbiAgICBjb25zdCBsaWJNYXBNb2R1bGUgPSBMaWJNYXBNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgIGdvb2dsZU1hcHNLZXk6IGNvbmZpZy5nb29nbGVNYXBzS2V5LFxyXG4gICAgICBnb29nbGVNYXBzVVJMOiBjb25maWcuZ29vZ2xlTWFwc1VSTCxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IExpYkV2ZW50Rm9ybU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbLi4uKGxpYk1hcE1vZHVsZS5wcm92aWRlcnMgfHwgW10pXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { FallbackTranslatePipe } from '../../../../pipes/fallback-translate/fallback-translate.pipe';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../../pipes/fallback-translate/fallback-translate.pipe";
|
|
8
|
-
import * as i2 from "../../services/calendar-utils.service";
|
|
9
|
-
import * as i3 from "@angular/common";
|
|
10
|
-
import * as i4 from "@angular/material/icon";
|
|
11
|
-
import * as i5 from "@ngx-translate/core";
|
|
12
|
-
export class LibEventInfoComponent {
|
|
13
|
-
constructor(fallbackTranslatePipe, calendarUtilService) {
|
|
14
|
-
this.fallbackTranslatePipe = fallbackTranslatePipe;
|
|
15
|
-
this.calendarUtilService = calendarUtilService;
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
this.initEventInfo();
|
|
19
|
-
}
|
|
20
|
-
initEventInfo() {
|
|
21
|
-
this.calendarUtilService.setEventTime(this.event);
|
|
22
|
-
this.recurringException = this.calendarUtilService.getExceptionEvent(this.event, this.event.recurringPattern?.exceptions);
|
|
23
|
-
this.updatedRecurringException = this.calendarUtilService.getUpdatedRecurringException(this.event);
|
|
24
|
-
this.address = this.recurringException?.location?.address || this.updatedRecurringException?.location?.address || this.event.location?.address;
|
|
25
|
-
this.calendarAccount = this.calendars?.find((value) => value._id && this.event.accountId && value._id === this.event.accountId);
|
|
26
|
-
this.title = this.recurringException?.title || this.event.title || this.fallbackTranslatePipe.transform('CALENDAR.NO_TITLE', '(No title)');
|
|
27
|
-
this.note = this.recurringException?.note || this.updatedRecurringException?.note || this.event.note;
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventInfoComponent, deps: [{ token: i1.FallbackTranslatePipe }, { token: i2.CalendarUtilsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibEventInfoComponent, isStandalone: true, selector: "lib-event-info", inputs: { event: "event", calendars: "calendars" }, ngImport: i0, template: "<div class=\"event-info-body\">\r\n <div class=\"data-item\" *ngIf=\"event.allDay\">\r\n <span><mat-icon class=\"all-day\">done_all</mat-icon> {{ 'CALENDAR.ALL_DAY' | translate }}</span>\r\n </div>\r\n <div class=\"data-item\">\r\n <span> <mat-icon>event</mat-icon> {{ 'CALENDAR.STARTS' | translate }}</span>\r\n <span class=\"event-time\">\r\n {{ recurringException?.startDate || event.recurringStartDate || event.startDate | date: 'yyyy-MM-dd' }}\r\n <span *ngIf=\"!event.allDay\"> - {{ event.startTime | date: 'h:mm a' }}</span>\r\n </span>\r\n </div>\r\n <div class=\"data-item\">\r\n <span><mat-icon>event_available</mat-icon> {{ 'CALENDAR.ENDS' | translate }}</span>\r\n <span class=\"event-time\">\r\n {{ recurringException?.endDate || event.recurringEndDate || event.endDate | date: 'yyyy-MM-dd' }}\r\n <span *ngIf=\"!event.allDay\"> - {{ event.endTime | date: 'h:mm a' }}</span>\r\n </span>\r\n </div>\r\n\r\n <div class=\"data-item\">\r\n @if (event.recurringPattern?.type) {\r\n <span><mat-icon>event_repeat</mat-icon> {{ 'CALENDAR.RECURRING' | translate }}</span>\r\n <span class=\"recurring-type\">{{ 'CALENDAR.' + event.recurringPattern.type | translate }}</span>\r\n } @else if (address) {\r\n <span><mat-icon>location_on</mat-icon> {{ 'LOCATION.TITLE' | translate }}</span>\r\n <span [innerHTML]=\"address\"></span>\r\n } @else if (calendarAccount) {\r\n <span><mat-icon>email</mat-icon> {{ 'CALENDAR.ACCOUNT' | translate }}</span>\r\n <span [style.color]=\"calendarAccount.theme?.backgroundColor || ''\">{{ calendarAccount.email }}</span>\r\n } @else if (note) {\r\n <span><mat-icon>event_note</mat-icon> {{ 'FIELDS.NOTE' | translate }}</span>\r\n <span class=\"event-note\" [innerHTML]=\"note\"></span>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".text-style,.event-info-body .data-item{font-family:Gilroy-Regular,serif;font-style:normal;font-weight:500;font-size:16px}.event-info-body{padding:0 15px 20px;max-height:calc(var(--viewport-height) * 60);position:relative;display:block;overflow:auto}.event-info-body .data-item{margin-top:20px;display:flex}.event-info-body .data-item.centred{flex-direction:column;align-items:center;margin-bottom:10px}.event-info-body .data-item span{font-size:14px}.event-info-body .data-item span:first-child{min-width:85px}.event-info-body .data-item span:first-child .mat-icon{position:relative;top:-4px}.event-info-body .data-item span.event-time{display:flex;gap:5px}.event-info-body .data-item span .mat-icon{margin:0 5px 0 0}.event-info-body .data-item span:nth-child(1){display:flex;font-weight:500}.event-info-body .data-item span:nth-child(2){margin-left:20px;opacity:.7}.event-info-body .data-item span.recurring-type{background:var(--cyrano-pink-shade-2);color:#fff;padding:5px 10px;border-radius:30px;height:25px;margin-top:-5px}.event-info-body .data-item .mat-icon.all-day{color:var(--cyrano-pink-shade-1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventInfoComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{ selector: 'lib-event-info', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, MatIconModule, FallbackTranslatePipe, TranslateModule], template: "<div class=\"event-info-body\">\r\n <div class=\"data-item\" *ngIf=\"event.allDay\">\r\n <span><mat-icon class=\"all-day\">done_all</mat-icon> {{ 'CALENDAR.ALL_DAY' | translate }}</span>\r\n </div>\r\n <div class=\"data-item\">\r\n <span> <mat-icon>event</mat-icon> {{ 'CALENDAR.STARTS' | translate }}</span>\r\n <span class=\"event-time\">\r\n {{ recurringException?.startDate || event.recurringStartDate || event.startDate | date: 'yyyy-MM-dd' }}\r\n <span *ngIf=\"!event.allDay\"> - {{ event.startTime | date: 'h:mm a' }}</span>\r\n </span>\r\n </div>\r\n <div class=\"data-item\">\r\n <span><mat-icon>event_available</mat-icon> {{ 'CALENDAR.ENDS' | translate }}</span>\r\n <span class=\"event-time\">\r\n {{ recurringException?.endDate || event.recurringEndDate || event.endDate | date: 'yyyy-MM-dd' }}\r\n <span *ngIf=\"!event.allDay\"> - {{ event.endTime | date: 'h:mm a' }}</span>\r\n </span>\r\n </div>\r\n\r\n <div class=\"data-item\">\r\n @if (event.recurringPattern?.type) {\r\n <span><mat-icon>event_repeat</mat-icon> {{ 'CALENDAR.RECURRING' | translate }}</span>\r\n <span class=\"recurring-type\">{{ 'CALENDAR.' + event.recurringPattern.type | translate }}</span>\r\n } @else if (address) {\r\n <span><mat-icon>location_on</mat-icon> {{ 'LOCATION.TITLE' | translate }}</span>\r\n <span [innerHTML]=\"address\"></span>\r\n } @else if (calendarAccount) {\r\n <span><mat-icon>email</mat-icon> {{ 'CALENDAR.ACCOUNT' | translate }}</span>\r\n <span [style.color]=\"calendarAccount.theme?.backgroundColor || ''\">{{ calendarAccount.email }}</span>\r\n } @else if (note) {\r\n <span><mat-icon>event_note</mat-icon> {{ 'FIELDS.NOTE' | translate }}</span>\r\n <span class=\"event-note\" [innerHTML]=\"note\"></span>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".text-style,.event-info-body .data-item{font-family:Gilroy-Regular,serif;font-style:normal;font-weight:500;font-size:16px}.event-info-body{padding:0 15px 20px;max-height:calc(var(--viewport-height) * 60);position:relative;display:block;overflow:auto}.event-info-body .data-item{margin-top:20px;display:flex}.event-info-body .data-item.centred{flex-direction:column;align-items:center;margin-bottom:10px}.event-info-body .data-item span{font-size:14px}.event-info-body .data-item span:first-child{min-width:85px}.event-info-body .data-item span:first-child .mat-icon{position:relative;top:-4px}.event-info-body .data-item span.event-time{display:flex;gap:5px}.event-info-body .data-item span .mat-icon{margin:0 5px 0 0}.event-info-body .data-item span:nth-child(1){display:flex;font-weight:500}.event-info-body .data-item span:nth-child(2){margin-left:20px;opacity:.7}.event-info-body .data-item span.recurring-type{background:var(--cyrano-pink-shade-2);color:#fff;padding:5px 10px;border-radius:30px;height:25px;margin-top:-5px}.event-info-body .data-item .mat-icon.all-day{color:var(--cyrano-pink-shade-1)}\n"] }]
|
|
35
|
-
}], ctorParameters: () => [{ type: i1.FallbackTranslatePipe }, { type: i2.CalendarUtilsService }], propDecorators: { event: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], calendars: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NvbXBvbmVudHMvZXZlbnQtaW5mby9ldmVudC1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY29tcG9uZW50cy9ldmVudC1pbmZvL2V2ZW50LWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFFckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFjdEQsTUFBTSxPQUFPLHFCQUFxQjtJQVdoQyxZQUNVLHFCQUE0QyxFQUM1QyxtQkFBeUM7UUFEekMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO0lBQ2hELENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFILElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFLFFBQVEsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO1FBQy9JLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hJLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzNJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3ZHLENBQUM7K0dBNUJVLHFCQUFxQjttR0FBckIscUJBQXFCLDhIQ25CbEMsaTBEQW1DQSw4b0NEbEJZLFlBQVkscUxBQUUsYUFBYSxtTEFBeUIsZUFBZTs7NEZBRWxFLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGVBQWUsQ0FBQzs2SEFHckUsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZhbGxiYWNrVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2ZhbGxiYWNrLXRyYW5zbGF0ZS9mYWxsYmFjay10cmFuc2xhdGUucGlwZSc7XHJcblxyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBJQ2FsZW5kYXJBY2NvdW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jYWxlbmRhci5hY2NvdW50LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZXZlbnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSVJlY3VycmluZ0V2ZW50RXhjZXB0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZWN1cnJpbmcuZXhjZXB0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IENhbGVuZGFyVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXItdXRpbHMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1ldmVudC1pbmZvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXZlbnQtaW5mby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXZlbnQtaW5mby5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgRmFsbGJhY2tUcmFuc2xhdGVQaXBlLCBUcmFuc2xhdGVNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliRXZlbnRJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBldmVudDogSUV2ZW50O1xyXG4gIEBJbnB1dCgpIGNhbGVuZGFyczogSUNhbGVuZGFyQWNjb3VudFtdO1xyXG5cclxuICBwdWJsaWMgY2FsZW5kYXJBY2NvdW50OiBJQ2FsZW5kYXJBY2NvdW50O1xyXG4gIHB1YmxpYyByZWN1cnJpbmdFeGNlcHRpb246IElSZWN1cnJpbmdFdmVudEV4Y2VwdGlvbjtcclxuICBwdWJsaWMgdXBkYXRlZFJlY3VycmluZ0V4Y2VwdGlvbjogSVJlY3VycmluZ0V2ZW50RXhjZXB0aW9uO1xyXG4gIHB1YmxpYyBhZGRyZXNzOiBzdHJpbmc7XHJcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XHJcbiAgcHVibGljIG5vdGU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZhbGxiYWNrVHJhbnNsYXRlUGlwZTogRmFsbGJhY2tUcmFuc2xhdGVQaXBlLFxyXG4gICAgcHJpdmF0ZSBjYWxlbmRhclV0aWxTZXJ2aWNlOiBDYWxlbmRhclV0aWxzU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0RXZlbnRJbmZvKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRFdmVudEluZm8oKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGVuZGFyVXRpbFNlcnZpY2Uuc2V0RXZlbnRUaW1lKHRoaXMuZXZlbnQpO1xyXG4gICAgdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24gPSB0aGlzLmNhbGVuZGFyVXRpbFNlcnZpY2UuZ2V0RXhjZXB0aW9uRXZlbnQodGhpcy5ldmVudCwgdGhpcy5ldmVudC5yZWN1cnJpbmdQYXR0ZXJuPy5leGNlcHRpb25zKTtcclxuICAgIHRoaXMudXBkYXRlZFJlY3VycmluZ0V4Y2VwdGlvbiA9IHRoaXMuY2FsZW5kYXJVdGlsU2VydmljZS5nZXRVcGRhdGVkUmVjdXJyaW5nRXhjZXB0aW9uKHRoaXMuZXZlbnQpO1xyXG4gICAgdGhpcy5hZGRyZXNzID0gdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/LmxvY2F0aW9uPy5hZGRyZXNzIHx8IHRoaXMudXBkYXRlZFJlY3VycmluZ0V4Y2VwdGlvbj8ubG9jYXRpb24/LmFkZHJlc3MgfHwgdGhpcy5ldmVudC5sb2NhdGlvbj8uYWRkcmVzcztcclxuICAgIHRoaXMuY2FsZW5kYXJBY2NvdW50ID0gdGhpcy5jYWxlbmRhcnM/LmZpbmQoKHZhbHVlKSA9PiB2YWx1ZS5faWQgJiYgdGhpcy5ldmVudC5hY2NvdW50SWQgJiYgdmFsdWUuX2lkID09PSB0aGlzLmV2ZW50LmFjY291bnRJZCk7XHJcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/LnRpdGxlIHx8IHRoaXMuZXZlbnQudGl0bGUgfHwgdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5OT19USVRMRScsICcoTm8gdGl0bGUpJyk7XHJcbiAgICB0aGlzLm5vdGUgPSB0aGlzLnJlY3VycmluZ0V4Y2VwdGlvbj8ubm90ZSB8fCB0aGlzLnVwZGF0ZWRSZWN1cnJpbmdFeGNlcHRpb24/Lm5vdGUgfHwgdGhpcy5ldmVudC5ub3RlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZXZlbnQtaW5mby1ib2R5XCI+XHJcbiAgPGRpdiBjbGFzcz1cImRhdGEtaXRlbVwiICpuZ0lmPVwiZXZlbnQuYWxsRGF5XCI+XHJcbiAgICA8c3Bhbj48bWF0LWljb24gY2xhc3M9XCJhbGwtZGF5XCI+ZG9uZV9hbGw8L21hdC1pY29uPiB7eyAnQ0FMRU5EQVIuQUxMX0RBWScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImRhdGEtaXRlbVwiPlxyXG4gICAgPHNwYW4+IDxtYXQtaWNvbj5ldmVudDwvbWF0LWljb24+IHt7ICdDQUxFTkRBUi5TVEFSVFMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJldmVudC10aW1lXCI+XHJcbiAgICAgIHt7IHJlY3VycmluZ0V4Y2VwdGlvbj8uc3RhcnREYXRlIHx8IGV2ZW50LnJlY3VycmluZ1N0YXJ0RGF0ZSB8fCBldmVudC5zdGFydERhdGUgfCBkYXRlOiAneXl5eS1NTS1kZCcgfX1cclxuICAgICAgPHNwYW4gKm5nSWY9XCIhZXZlbnQuYWxsRGF5XCI+IC0ge3sgZXZlbnQuc3RhcnRUaW1lIHwgZGF0ZTogJ2g6bW0gYScgfX08L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImRhdGEtaXRlbVwiPlxyXG4gICAgPHNwYW4+PG1hdC1pY29uPmV2ZW50X2F2YWlsYWJsZTwvbWF0LWljb24+IHt7ICdDQUxFTkRBUi5FTkRTJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwiZXZlbnQtdGltZVwiPlxyXG4gICAgICB7eyByZWN1cnJpbmdFeGNlcHRpb24/LmVuZERhdGUgfHwgZXZlbnQucmVjdXJyaW5nRW5kRGF0ZSB8fCBldmVudC5lbmREYXRlIHwgZGF0ZTogJ3l5eXktTU0tZGQnIH19XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiIWV2ZW50LmFsbERheVwiPiAtIHt7IGV2ZW50LmVuZFRpbWUgfCBkYXRlOiAnaDptbSBhJyB9fTwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRhdGEtaXRlbVwiPlxyXG4gICAgQGlmIChldmVudC5yZWN1cnJpbmdQYXR0ZXJuPy50eXBlKSB7XHJcbiAgICAgIDxzcGFuPjxtYXQtaWNvbj5ldmVudF9yZXBlYXQ8L21hdC1pY29uPiB7eyAnQ0FMRU5EQVIuUkVDVVJSSU5HJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJyZWN1cnJpbmctdHlwZVwiPnt7ICdDQUxFTkRBUi4nICsgZXZlbnQucmVjdXJyaW5nUGF0dGVybi50eXBlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgfSBAZWxzZSBpZiAoYWRkcmVzcykge1xyXG4gICAgICA8c3Bhbj48bWF0LWljb24+bG9jYXRpb25fb248L21hdC1pY29uPiB7eyAnTE9DQVRJT04uVElUTEUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImFkZHJlc3NcIj48L3NwYW4+XHJcbiAgICB9IEBlbHNlIGlmIChjYWxlbmRhckFjY291bnQpIHtcclxuICAgICAgPHNwYW4+PG1hdC1pY29uPmVtYWlsPC9tYXQtaWNvbj4ge3sgJ0NBTEVOREFSLkFDQ09VTlQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiY2FsZW5kYXJBY2NvdW50LnRoZW1lPy5iYWNrZ3JvdW5kQ29sb3IgfHwgJydcIj57eyBjYWxlbmRhckFjY291bnQuZW1haWwgfX08L3NwYW4+XHJcbiAgICB9IEBlbHNlIGlmIChub3RlKSB7XHJcbiAgICAgIDxzcGFuPjxtYXQtaWNvbj5ldmVudF9ub3RlPC9tYXQtaWNvbj4ge3sgJ0ZJRUxEUy5OT1RFJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJldmVudC1ub3RlXCIgW2lubmVySFRNTF09XCJub3RlXCI+PC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|