@datarailsshared/datarailsshared 1.4.564 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles/_storybook-styles.scss +37 -0
- package/assets/styles/_styles.scss +9 -2
- package/assets/styles/colors.scss +88 -74
- package/assets/styles/dataRailsFont.scss +1 -1
- package/assets/styles/dialog.scss +22 -0
- package/assets/styles/icons.scss +1 -1
- package/assets/styles/mixins.scss +106 -6
- package/assets/styles/vars.scss +6 -4
- package/datarailsshared-datarailsshared-1.5.1.tgz +0 -0
- package/esm2022/datarailsshared-datarailsshared.mjs +5 -0
- package/esm2022/lib/date-tags/any-tag.component.mjs +42 -0
- package/esm2022/lib/date-tags/date-tag.component.mjs +126 -0
- package/esm2022/lib/date-tags/date-tag.module.mjs +53 -0
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +95 -0
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +222 -0
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.service.mjs +87 -0
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +98 -0
- package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +126 -0
- package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +102 -0
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +96 -0
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +92 -0
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +19 -0
- package/esm2022/lib/directives/dr-shine-animation/dr-shine-animation.directive.mjs +63 -0
- package/esm2022/lib/directives/let/let.directive.mjs +35 -0
- package/esm2022/lib/directives/ng-track-by-property/ng-track-by-property.directive.mjs +23 -0
- package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +61 -0
- package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +154 -0
- package/esm2022/lib/dr-accordion/accordion-item.component.mjs +143 -0
- package/esm2022/lib/dr-accordion/accordion.component.mjs +55 -0
- package/esm2022/lib/dr-accordion/accordion.module.mjs +35 -0
- package/esm2022/lib/dr-alert/dr-alert.component.mjs +64 -0
- package/esm2022/lib/dr-alert/dr-alert.module.mjs +20 -0
- package/{esm2015/lib/dr-alert/enums/dr-alert-theme.enum.js → esm2022/lib/dr-alert/enums/dr-alert-theme.enum.mjs} +1 -2
- package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +142 -0
- package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +21 -0
- package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +20 -0
- package/esm2022/lib/dr-avatar/services/dr-avatar.service.mjs +17 -0
- package/esm2022/lib/dr-avatar/types.mjs +2 -0
- package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +53 -0
- package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +21 -0
- package/esm2022/lib/dr-chat/chat.component.mjs +202 -0
- package/esm2022/lib/dr-chat/chat.module.mjs +81 -0
- package/esm2022/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.mjs +31 -0
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +273 -0
- package/esm2022/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.mjs +380 -0
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +185 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +47 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +26 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +78 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +30 -0
- package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +187 -0
- package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +14 -0
- package/esm2022/lib/dr-chip/dr-chip.component.mjs +58 -0
- package/esm2022/lib/dr-code-editor/components/code-editor-hint-wrapper.component.mjs +19 -0
- package/esm2022/lib/dr-code-editor/components/dr-codemirror.component.mjs +204 -0
- package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +326 -0
- package/esm2022/lib/dr-code-editor/dr-code-editor.module.mjs +29 -0
- package/esm2022/lib/dr-code-editor/models/code-editor-hint.mjs +6 -0
- package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +106 -0
- package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +20 -0
- package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +339 -0
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +238 -0
- package/esm2022/lib/dr-dialog/dialog.module.mjs +27 -0
- package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +27 -0
- package/esm2022/lib/dr-dialog/services/dialog.service.mjs +77 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.mjs +29 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +16 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +248 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +142 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +41 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +62 -0
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +203 -0
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +21 -0
- package/esm2022/lib/dr-error/dr-error.component.mjs +90 -0
- package/esm2022/lib/dr-error/dr-error.module.mjs +22 -0
- package/esm2022/lib/dr-inputs/button/button.component.mjs +101 -0
- package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +110 -0
- package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +55 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +400 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.mjs +157 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +269 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +326 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +16 -0
- package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +224 -0
- package/esm2022/lib/dr-inputs/date-pickers/services/week-selection-strategy.mjs +34 -0
- package/esm2022/lib/dr-inputs/date-pickers/week-selector/week-selector.component.mjs +91 -0
- package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +336 -0
- package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +128 -0
- package/esm2022/lib/dr-inputs/dr-link/dr-link.component.mjs +43 -0
- package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +37 -0
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +391 -0
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +138 -0
- package/esm2022/lib/dr-inputs/dr-slider/dr-slider.component.mjs +53 -0
- package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +108 -0
- package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +108 -0
- package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +88 -0
- package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +185 -0
- package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +19 -0
- package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +25 -0
- package/esm2022/lib/dr-layout/dr-layout.component.mjs +21 -0
- package/esm2022/lib/dr-layout/dr-layout.module.mjs +22 -0
- package/esm2022/lib/dr-popover/dr-popover-ref.mjs +23 -0
- package/esm2022/lib/dr-popover/dr-popover.component.mjs +155 -0
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +137 -0
- package/esm2022/lib/dr-popover/dr-popover.module.mjs +20 -0
- package/esm2022/lib/dr-popover/dr-popover.service.mjs +117 -0
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +104 -0
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +100 -0
- package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +87 -0
- package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +27 -0
- package/esm2022/lib/dr-scenario/services/scenario.service.mjs +195 -0
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +27 -0
- package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +66 -0
- package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +22 -0
- package/esm2022/lib/dr-tabs/dr-tab.component.mjs +47 -0
- package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +252 -0
- package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +25 -0
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +235 -0
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +23 -0
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +161 -0
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +24 -0
- package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +71 -0
- package/esm2022/lib/dr-toastr/default-toastr/default-toastr.component.mjs +73 -0
- package/esm2022/lib/dr-toastr/dr-toastr.module.mjs +31 -0
- package/esm2022/lib/dr-toastr/dr-toastr.service.mjs +44 -0
- package/esm2022/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.mjs +31 -0
- package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +82 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +86 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +194 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +24 -0
- package/esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs +14 -0
- package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +407 -0
- package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +97 -0
- package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +31 -0
- package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +108 -0
- package/esm2022/lib/dr-treeview/helpers/treeview-helper.mjs +82 -0
- package/esm2022/lib/dr-treeview/models/treeview-config.mjs +25 -0
- package/{esm2015/lib/dr-treeview/models/treeview-header-template-context.js → esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs} +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +47 -0
- package/{esm2015/lib/dr-treeview/models/treeview-item-template-context.js → esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs} +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-item.mjs +155 -0
- package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +21 -0
- package/esm2022/lib/drawer/drawer-animation.mjs +18 -0
- package/esm2022/lib/drawer/drawer-config.mjs +35 -0
- package/esm2022/lib/drawer/drawer-container.component.mjs +179 -0
- package/esm2022/lib/drawer/drawer-position-strategy.mjs +14 -0
- package/esm2022/lib/drawer/drawer-ref.mjs +106 -0
- package/esm2022/lib/drawer/drawer.module.mjs +19 -0
- package/esm2022/lib/drawer/drawer.service.mjs +140 -0
- package/esm2022/lib/drawer/public-api.mjs +6 -0
- package/esm2022/lib/image-cropper/dr-image-cropper-canvas.service.mjs +78 -0
- package/esm2022/lib/image-cropper/dr-image-cropper.component.mjs +133 -0
- package/esm2022/lib/image-cropper/dr-image-cropper.types.mjs +6 -0
- package/esm2022/lib/list-tags/list-tag.component.mjs +82 -0
- package/esm2022/lib/list-tags/list-tag.module.mjs +22 -0
- package/esm2022/lib/models/chat.mjs +36 -0
- package/{esm2015/lib/models/constants.js → esm2022/lib/models/constants.mjs} +17 -22
- package/{esm2015/lib/models/datePicker.js → esm2022/lib/models/datePicker.mjs} +2 -2
- package/esm2022/lib/models/datePickerRange.mjs +2 -0
- package/esm2022/lib/models/dropdown.mjs +2 -0
- package/{esm2015/lib/models/feedback.js → esm2022/lib/models/feedback.mjs} +1 -2
- package/esm2022/lib/models/popover.mjs +27 -0
- package/{esm2015/lib/models/serverTags.js → esm2022/lib/models/serverTags.mjs} +1 -1
- package/esm2022/lib/models/spinnerOptions.mjs +2 -0
- package/esm2022/lib/models/toastr.mjs +14 -0
- package/esm2022/lib/pipes/filter/filter.pipe.mjs +48 -0
- package/esm2022/lib/pipes/img/img.pipe.mjs +19 -0
- package/esm2022/lib/stepper/stepper.component.mjs +270 -0
- package/esm2022/lib/stepper/stepper.module.mjs +20 -0
- package/esm2022/lib/utils/data-analytics.service.mjs +21 -0
- package/esm2022/lib/utils/decorators.mjs +12 -0
- package/esm2022/lib/utils/dr-shared-utils.mjs +85 -0
- package/esm2022/public-api.mjs +156 -0
- package/esm2022/src/lib/drawer/drDrawer.mjs +5 -0
- package/esm2022/src/lib/drawer/drawer-animation.mjs +18 -0
- package/esm2022/src/lib/drawer/drawer-config.mjs +35 -0
- package/esm2022/src/lib/drawer/drawer-container.component.mjs +179 -0
- package/esm2022/src/lib/drawer/drawer-position-strategy.mjs +14 -0
- package/esm2022/src/lib/drawer/drawer-ref.mjs +106 -0
- package/esm2022/src/lib/drawer/drawer.module.mjs +19 -0
- package/esm2022/src/lib/drawer/drawer.service.mjs +140 -0
- package/esm2022/src/lib/drawer/public-api.mjs +6 -0
- package/fesm2022/datarailsshared-datarailsshared.mjs +13716 -0
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -0
- package/fesm2022/drDrawer.mjs +496 -0
- package/fesm2022/drDrawer.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/date-tags/any-tag.component.d.ts +20 -0
- package/lib/date-tags/date-tag.component.d.ts +4 -16
- package/lib/date-tags/date-tag.module.d.ts +19 -2
- package/lib/date-tags/day-tag/day-tag.component.d.ts +4 -1
- package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +4 -1
- package/lib/date-tags/forecast-tag/forecast-tag.service.d.ts +11 -8
- package/lib/date-tags/month-tag/month-tag.component.d.ts +4 -1
- package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +4 -1
- package/lib/date-tags/week-tag/week-tag.component.d.ts +4 -1
- package/lib/date-tags/year-tag/year-tag.component.d.ts +4 -1
- package/lib/directives/click-outside/click-outside.directive.d.ts +23 -0
- package/lib/directives/click-outside/click-outside.module.d.ts +8 -0
- package/lib/directives/dr-shine-animation/dr-shine-animation.directive.d.ts +18 -0
- package/lib/directives/let/let.directive.d.ts +19 -0
- package/lib/directives/ng-track-by-property/ng-track-by-property.directive.d.ts +8 -0
- package/lib/dr-accordion/accordion-item-body.component.d.ts +3 -0
- package/lib/dr-accordion/accordion-item-header.component.d.ts +14 -1
- package/lib/dr-accordion/accordion-item.component.d.ts +4 -1
- package/lib/dr-accordion/accordion.component.d.ts +5 -0
- package/lib/dr-accordion/accordion.module.d.ts +9 -0
- package/lib/dr-alert/dr-alert.component.d.ts +3 -0
- package/lib/dr-alert/dr-alert.module.d.ts +6 -0
- package/lib/dr-avatar/dr-avatar.component.d.ts +15 -13
- package/lib/dr-avatar/dr-avatar.module.d.ts +8 -0
- package/lib/dr-avatar/dr-avatar.pipe.d.ts +5 -1
- package/lib/dr-avatar/services/dr-avatar.service.d.ts +1 -1
- package/lib/dr-avatar/types.d.ts +8 -0
- package/lib/dr-badge-status/dr-badge-status.component.d.ts +5 -4
- package/lib/dr-badge-status/dr-badge-status.module.d.ts +7 -0
- package/lib/dr-chat/chat.component.d.ts +6 -7
- package/lib/dr-chat/chat.module.d.ts +20 -0
- package/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.d.ts +8 -0
- package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +11 -1
- package/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.d.ts +81 -0
- package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +4 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +3 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +3 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +3 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +3 -0
- package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +15 -2
- package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +3 -0
- package/lib/dr-chip/dr-chip.component.d.ts +10 -0
- package/lib/dr-code-editor/components/code-editor-hint-wrapper.component.d.ts +7 -0
- package/lib/dr-code-editor/components/dr-codemirror.component.d.ts +47 -0
- package/lib/dr-code-editor/dr-code-editor.component.d.ts +45 -0
- package/lib/dr-code-editor/dr-code-editor.module.d.ts +17 -0
- package/lib/dr-code-editor/models/code-editor-hint.d.ts +14 -0
- package/lib/dr-details-list/dr-details-list.component.d.ts +3 -0
- package/lib/dr-details-list/dr-details-list.module.d.ts +6 -0
- package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +6 -5
- package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +6 -5
- package/lib/dr-dialog/dialog.module.d.ts +12 -0
- package/lib/dr-dialog/interfaces/dialog-data.d.ts +13 -9
- package/lib/dr-dialog/services/dialog.service.d.ts +10 -3
- package/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.d.ts +8 -0
- package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +3 -0
- package/lib/dr-dropdown/dr-dropdown.component.d.ts +28 -21
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +21 -14
- package/lib/dr-dropdown/dr-dropdown.module.d.ts +11 -0
- package/lib/dr-dropdown/dr-dropdown.service.d.ts +26 -8
- package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +3 -0
- package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +8 -0
- package/lib/dr-error/dr-error.component.d.ts +12 -8
- package/lib/dr-error/dr-error.module.d.ts +8 -0
- package/lib/dr-inputs/button/button.component.d.ts +6 -8
- package/lib/dr-inputs/checkbox/checkbox.component.d.ts +10 -2
- package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +3 -0
- package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +29 -9
- package/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.d.ts +40 -0
- package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +18 -11
- package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +11 -10
- package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +4 -2
- package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +22 -5
- package/lib/dr-inputs/date-pickers/services/week-selection-strategy.d.ts +12 -0
- package/lib/dr-inputs/date-pickers/week-selector/week-selector.component.d.ts +23 -0
- package/lib/dr-inputs/dr-input/dr-input.component.d.ts +35 -20
- package/lib/dr-inputs/dr-inputs.module.d.ts +30 -0
- package/lib/dr-inputs/dr-link/dr-link.component.d.ts +16 -0
- package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +4 -0
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +20 -3
- package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +4 -0
- package/lib/dr-inputs/dr-slider/dr-slider.component.d.ts +18 -0
- package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +3 -0
- package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +6 -1
- package/lib/dr-inputs/radio-button/radio-button.component.d.ts +3 -0
- package/lib/dr-inputs/radio-button/radio-group.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout-body.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout-header.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout.module.d.ts +8 -0
- package/lib/dr-popover/dr-popover-ref.d.ts +1 -0
- package/lib/dr-popover/dr-popover.component.d.ts +8 -4
- package/lib/dr-popover/dr-popover.directive.d.ts +9 -5
- package/lib/dr-popover/dr-popover.module.d.ts +7 -0
- package/lib/dr-popover/dr-popover.service.d.ts +5 -1
- package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +3 -4
- package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +3 -0
- package/lib/dr-scenario/dr-scenario.module.d.ts +11 -0
- package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
- package/lib/dr-scenario/services/scenario.service.d.ts +3 -0
- package/lib/dr-spinner/dr-spinner.component.d.ts +3 -0
- package/lib/dr-spinner/dr-spinner.directive.d.ts +4 -2
- package/lib/dr-spinner/dr-spinner.module.d.ts +7 -0
- package/lib/dr-tabs/dr-tab.component.d.ts +5 -0
- package/lib/dr-tabs/dr-tabs.component.d.ts +21 -4
- package/lib/dr-tabs/dr-tabs.module.d.ts +11 -0
- package/lib/dr-tags/dr-tag.component.d.ts +3 -0
- package/lib/dr-tags/dr-tag.module.d.ts +9 -0
- package/lib/dr-tags-constructor/dr-tags-constructor.component.d.ts +33 -0
- package/lib/dr-tags-constructor/dr-tags-constructor.module.d.ts +10 -0
- package/lib/dr-tags-constructor/tags-constructor.service.d.ts +12 -0
- package/lib/dr-toastr/default-toastr/default-toastr.component.d.ts +15 -0
- package/lib/dr-toastr/dr-toastr.module.d.ts +9 -0
- package/lib/dr-toastr/dr-toastr.service.d.ts +14 -0
- package/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.d.ts +9 -0
- package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +3 -1
- package/lib/dr-tooltip/dr-tooltip.component.d.ts +4 -1
- package/lib/dr-tooltip/dr-tooltip.directive.d.ts +7 -0
- package/lib/dr-tooltip/dr-tooltip.module.d.ts +9 -0
- package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +18 -2
- package/lib/dr-treeview/components/treeview/treeview.component.d.ts +3 -0
- package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +3 -0
- package/lib/dr-treeview/dr-tree-view.module.d.ts +9 -0
- package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +9 -0
- package/lib/dr-treeview/models/treeview-config.d.ts +3 -0
- package/lib/dr-treeview/models/treeview-i18n.d.ts +5 -0
- package/lib/dr-treeview/models/treeview-item.d.ts +2 -1
- package/lib/dr-treeview/pipes/treeview.pipe.d.ts +3 -0
- package/lib/drawer/drawer-animation.d.ts +5 -0
- package/lib/drawer/drawer-config.d.ts +68 -0
- package/lib/drawer/drawer-container.component.d.ts +45 -0
- package/lib/drawer/drawer-position-strategy.d.ts +10 -0
- package/lib/drawer/drawer-ref.d.ts +55 -0
- package/lib/drawer/drawer.module.d.ts +7 -0
- package/lib/drawer/drawer.service.d.ts +62 -0
- package/lib/drawer/public-api.d.ts +5 -0
- package/lib/image-cropper/dr-image-cropper-canvas.service.d.ts +20 -0
- package/lib/image-cropper/dr-image-cropper.component.d.ts +28 -0
- package/lib/image-cropper/dr-image-cropper.types.d.ts +9 -0
- package/lib/list-tags/list-tag.component.d.ts +3 -0
- package/lib/list-tags/list-tag.module.d.ts +8 -0
- package/lib/models/chat.d.ts +3 -3
- package/lib/models/datePicker.d.ts +10 -3
- package/lib/models/datePickerRange.d.ts +4 -0
- package/lib/models/dropdown.d.ts +15 -21
- package/lib/models/popover.d.ts +7 -4
- package/lib/models/serverTags.d.ts +4 -4
- package/lib/models/spinnerOptions.d.ts +2 -10
- package/lib/models/toastr.d.ts +18 -0
- package/lib/pipes/filter/filter.pipe.d.ts +7 -0
- package/lib/pipes/img/img.pipe.d.ts +7 -0
- package/lib/stepper/interfaces/stepper.d.ts +1 -1
- package/lib/stepper/stepper.component.d.ts +13 -8
- package/lib/stepper/stepper.module.d.ts +7 -0
- package/lib/utils/data-analytics.service.d.ts +8 -0
- package/lib/utils/decorators.d.ts +1 -0
- package/lib/utils/dr-shared-utils.d.ts +9 -0
- package/package.json +41 -15
- package/public-api.d.ts +59 -5
- package/src/lib/drawer/drawer-animation.d.ts +5 -0
- package/src/lib/drawer/drawer-config.d.ts +68 -0
- package/src/lib/drawer/drawer-container.component.d.ts +45 -0
- package/src/lib/drawer/drawer-position-strategy.d.ts +10 -0
- package/src/lib/drawer/drawer-ref.d.ts +55 -0
- package/src/lib/drawer/drawer.module.d.ts +7 -0
- package/src/lib/drawer/drawer.service.d.ts +62 -0
- package/src/lib/drawer/index.d.ts +5 -0
- package/src/lib/drawer/public-api.d.ts +5 -0
- package/styles.css +749 -0
- package/_datarailsshared.styles.css +0 -4
- package/assets/styles/img/dr-icon-info.svg +0 -4
- package/bundles/datarailsshared-datarailsshared.umd.js +0 -8372
- package/bundles/datarailsshared-datarailsshared.umd.js.map +0 -1
- package/datarailsshared-datarailsshared-1.4.564.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +0 -34
- package/datarailsshared-datarailsshared.metadata.json +0 -1
- package/esm2015/datarailsshared-datarailsshared.js +0 -35
- package/esm2015/lib/date-tags/date-tag.component.js +0 -74
- package/esm2015/lib/date-tags/date-tag.module.js +0 -36
- package/esm2015/lib/date-tags/day-tag/day-tag.component.js +0 -77
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +0 -164
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.service.js +0 -83
- package/esm2015/lib/date-tags/month-tag/month-tag.component.js +0 -80
- package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +0 -114
- package/esm2015/lib/date-tags/week-tag/week-tag.component.js +0 -84
- package/esm2015/lib/date-tags/year-tag/year-tag.component.js +0 -78
- package/esm2015/lib/dr-accordion/accordion-item-body.component.js +0 -55
- package/esm2015/lib/dr-accordion/accordion-item-header.component.js +0 -77
- package/esm2015/lib/dr-accordion/accordion-item.component.js +0 -123
- package/esm2015/lib/dr-accordion/accordion.component.js +0 -43
- package/esm2015/lib/dr-accordion/accordion.module.js +0 -23
- package/esm2015/lib/dr-alert/dr-alert.component.js +0 -35
- package/esm2015/lib/dr-alert/dr-alert.module.js +0 -18
- package/esm2015/lib/dr-avatar/dr-avatar.component.js +0 -54
- package/esm2015/lib/dr-avatar/dr-avatar.module.js +0 -26
- package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +0 -16
- package/esm2015/lib/dr-avatar/services/dr-avatar.service.js +0 -17
- package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +0 -25
- package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +0 -20
- package/esm2015/lib/dr-chat/chat.component.js +0 -119
- package/esm2015/lib/dr-chat/chat.module.js +0 -41
- package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +0 -155
- package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +0 -71
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js +0 -49
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +0 -23
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +0 -47
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +0 -18
- package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +0 -87
- package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +0 -15
- package/esm2015/lib/dr-details-list/dr-details-list.component.js +0 -65
- package/esm2015/lib/dr-details-list/dr-details-list.module.js +0 -16
- package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +0 -84
- package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +0 -92
- package/esm2015/lib/dr-dialog/dialog.module.js +0 -34
- package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +0 -25
- package/esm2015/lib/dr-dialog/services/dialog.service.js +0 -78
- package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +0 -12
- package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +0 -104
- package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +0 -114
- package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +0 -104
- package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +0 -34
- package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +0 -24
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +0 -120
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +0 -19
- package/esm2015/lib/dr-error/dr-error.component.js +0 -56
- package/esm2015/lib/dr-error/dr-error.module.js +0 -22
- package/esm2015/lib/dr-inputs/button/button.component.js +0 -39
- package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +0 -66
- package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +0 -47
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +0 -234
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +0 -182
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +0 -183
- package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +0 -12
- package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +0 -194
- package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +0 -194
- package/esm2015/lib/dr-inputs/dr-inputs.module.js +0 -68
- package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +0 -29
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +0 -123
- package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +0 -74
- package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +0 -68
- package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +0 -67
- package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +0 -73
- package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +0 -157
- package/esm2015/lib/dr-layout/dr-layout-body.component.js +0 -13
- package/esm2015/lib/dr-layout/dr-layout-header.component.js +0 -17
- package/esm2015/lib/dr-layout/dr-layout.component.js +0 -14
- package/esm2015/lib/dr-layout/dr-layout.module.js +0 -20
- package/esm2015/lib/dr-popover/dr-popover-ref.js +0 -20
- package/esm2015/lib/dr-popover/dr-popover.component.js +0 -106
- package/esm2015/lib/dr-popover/dr-popover.directive.js +0 -84
- package/esm2015/lib/dr-popover/dr-popover.module.js +0 -23
- package/esm2015/lib/dr-popover/dr-popover.service.js +0 -106
- package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +0 -104
- package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +0 -75
- package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +0 -79
- package/esm2015/lib/dr-scenario/dr-scenario.module.js +0 -28
- package/esm2015/lib/dr-scenario/services/scenario.service.js +0 -196
- package/esm2015/lib/dr-spinner/dr-spinner.component.js +0 -18
- package/esm2015/lib/dr-spinner/dr-spinner.directive.js +0 -58
- package/esm2015/lib/dr-spinner/dr-spinner.module.js +0 -18
- package/esm2015/lib/dr-tabs/dr-tab.component.js +0 -26
- package/esm2015/lib/dr-tabs/dr-tabs.component.js +0 -35
- package/esm2015/lib/dr-tabs/dr-tabs.module.js +0 -32
- package/esm2015/lib/dr-tags/dr-tag.component.js +0 -183
- package/esm2015/lib/dr-tags/dr-tag.module.js +0 -24
- package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +0 -19
- package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +0 -18
- package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +0 -20
- package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +0 -34
- package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +0 -41
- package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +0 -151
- package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +0 -38
- package/esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js +0 -2
- package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +0 -210
- package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +0 -58
- package/esm2015/lib/dr-treeview/dr-tree-view.module.js +0 -38
- package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +0 -97
- package/esm2015/lib/dr-treeview/helpers/treeview-helper.js +0 -82
- package/esm2015/lib/dr-treeview/models/treeview-config.js +0 -22
- package/esm2015/lib/dr-treeview/models/treeview-i18n.js +0 -42
- package/esm2015/lib/dr-treeview/models/treeview-item.js +0 -155
- package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +0 -17
- package/esm2015/lib/list-tags/list-tag.component.js +0 -37
- package/esm2015/lib/list-tags/list-tag.module.js +0 -23
- package/esm2015/lib/models/chat.js +0 -38
- package/esm2015/lib/models/dropdown.js +0 -2
- package/esm2015/lib/models/popover.js +0 -27
- package/esm2015/lib/models/spinnerOptions.js +0 -13
- package/esm2015/lib/stepper/stepper.component.js +0 -55
- package/esm2015/lib/stepper/stepper.module.js +0 -17
- package/esm2015/lib/utils/dr-shared-utils.js +0 -47
- package/esm2015/public-api.js +0 -100
- package/fesm2015/datarailsshared-datarailsshared.js +0 -7194
- package/fesm2015/datarailsshared-datarailsshared.js.map +0 -1
- package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -12
- package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +0 -5
- package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +0 -6
- package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +0 -4
- /package/{esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js → esm2022/lib/dr-inputs/dr-toggle-button/toggle-button-mode.mjs} +0 -0
- /package/{esm2015/lib/dr-scenario/interfaces/scenario.js → esm2022/lib/dr-scenario/interfaces/scenario.mjs} +0 -0
- /package/{esm2015/lib/dr-tags/dr-tag.types.js → esm2022/lib/dr-tags/dr-tag.types.mjs} +0 -0
- /package/{esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs} +0 -0
- /package/{esm2015/lib/dr-tooltip/enums/tooltip-theme.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-theme.enum.mjs} +0 -0
- /package/{esm2015/lib/models/badgeStatus.js → esm2022/lib/models/badgeStatus.mjs} +0 -0
- /package/{esm2015/lib/models/validationError.js → esm2022/lib/models/validationError.mjs} +0 -0
- /package/{esm2015/lib/stepper/interfaces/stepper.js → esm2022/lib/stepper/interfaces/stepper.mjs} +0 -0
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver, forwardRef, Injector, Input, ViewChild, } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as CodeMirror from 'codemirror';
|
|
4
|
+
import { CodeEditorHintWrapperComponent } from './components/code-editor-hint-wrapper.component';
|
|
5
|
+
import { DrCodemirrorComponent } from './components/dr-codemirror.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/forms";
|
|
9
|
+
import * as i3 from "../dr-error/dr-error.component";
|
|
10
|
+
import * as i4 from "./components/dr-codemirror.component";
|
|
11
|
+
const _c0 = ["codeEditor"];
|
|
12
|
+
function DrCodeEditorComponent_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
13
|
+
i0.ɵɵelementStart(0, "span", 4);
|
|
14
|
+
i0.ɵɵtext(1);
|
|
15
|
+
i0.ɵɵelementEnd();
|
|
16
|
+
} if (rf & 2) {
|
|
17
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
18
|
+
i0.ɵɵadvance(1);
|
|
19
|
+
i0.ɵɵtextInterpolate(ctx_r1.placeholder);
|
|
20
|
+
} }
|
|
21
|
+
const noop = () => { };
|
|
22
|
+
export class DrCodeEditorComponent {
|
|
23
|
+
constructor(cdr, cfr, injector) {
|
|
24
|
+
this.cdr = cdr;
|
|
25
|
+
this.cfr = cfr;
|
|
26
|
+
this.injector = injector;
|
|
27
|
+
this.innerValue = '';
|
|
28
|
+
this.onTouchedCallback = noop;
|
|
29
|
+
this.onChangeCallback = noop;
|
|
30
|
+
this.parenthesesMarkers = [];
|
|
31
|
+
this.parenthesisColors = [
|
|
32
|
+
'#2F3E48',
|
|
33
|
+
'#1f68cc',
|
|
34
|
+
'#9480CD',
|
|
35
|
+
'#4D9944',
|
|
36
|
+
'#B03E84',
|
|
37
|
+
'#B64900',
|
|
38
|
+
'#267392',
|
|
39
|
+
'#326AC7',
|
|
40
|
+
];
|
|
41
|
+
this.parenthesesMap = {
|
|
42
|
+
'}': '{',
|
|
43
|
+
']': '[',
|
|
44
|
+
')': '(',
|
|
45
|
+
'{': '}',
|
|
46
|
+
'[': ']',
|
|
47
|
+
'(': ')',
|
|
48
|
+
};
|
|
49
|
+
this._hints = [];
|
|
50
|
+
this.hintRefsStack = [];
|
|
51
|
+
this.codeMirrorOptions = {
|
|
52
|
+
lineWrapping: true,
|
|
53
|
+
matchBrackets: true,
|
|
54
|
+
autoRefresh: true,
|
|
55
|
+
lineNumbers: false,
|
|
56
|
+
mode: 'javascript',
|
|
57
|
+
extraKeys: { 'Ctrl-Space': 'autocomplete' },
|
|
58
|
+
autoCloseBrackets: true,
|
|
59
|
+
hintOptions: {
|
|
60
|
+
container: window.document.body,
|
|
61
|
+
completeSingle: false,
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
this.highlightHints = false;
|
|
65
|
+
this.placeholder = 'Start typing your formula here. We support (+,-,*,/).\nFor Example: [Feb-22] - [Jan-22]';
|
|
66
|
+
}
|
|
67
|
+
set hints(values) {
|
|
68
|
+
if (values?.length) {
|
|
69
|
+
this._hints = values;
|
|
70
|
+
this.registerHints(values);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
get value() {
|
|
74
|
+
return this.innerValue;
|
|
75
|
+
}
|
|
76
|
+
set value(v) {
|
|
77
|
+
if (v !== this.innerValue) {
|
|
78
|
+
this.innerValue = v;
|
|
79
|
+
this.onChangeCallback(v);
|
|
80
|
+
this.highlightCustomFunctionsInEditor();
|
|
81
|
+
this.colorizeParentheses();
|
|
82
|
+
if (this.highlightHints) {
|
|
83
|
+
this.updateHighlightHints();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
writeValue(value) {
|
|
88
|
+
if (value !== this.innerValue) {
|
|
89
|
+
this.innerValue = value;
|
|
90
|
+
this.cdr.markForCheck();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
registerOnChange(fn) {
|
|
94
|
+
this.onChangeCallback = fn;
|
|
95
|
+
}
|
|
96
|
+
registerOnTouched(fn) {
|
|
97
|
+
this.onTouchedCallback = fn;
|
|
98
|
+
}
|
|
99
|
+
focusChanged(bool) {
|
|
100
|
+
this.isFocused = bool;
|
|
101
|
+
}
|
|
102
|
+
afterCodeMirrorLoaded() {
|
|
103
|
+
this.doc = this.codeEditor.codeMirror.getDoc();
|
|
104
|
+
this.codeEditor.codeMirror.on('keyup', (cm, event) => {
|
|
105
|
+
if (!this._hints.length)
|
|
106
|
+
return;
|
|
107
|
+
if ((!event.ctrlKey && event.keyCode >= 65 && event.keyCode <= 90) ||
|
|
108
|
+
(event.keyCode >= 97 && event.keyCode <= 122) ||
|
|
109
|
+
(event.keyCode >= 46 && event.keyCode <= 57) ||
|
|
110
|
+
event.keyCode === 32) {
|
|
111
|
+
// @ts-ignore
|
|
112
|
+
CodeMirror.commands.autocomplete(this.codeEditor.codeMirror);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
this.codeEditor.codeMirror.on('focus', (cm, event) => {
|
|
116
|
+
if (!this._hints.length)
|
|
117
|
+
return;
|
|
118
|
+
setTimeout(() => {
|
|
119
|
+
if (this.isFocused) {
|
|
120
|
+
// @ts-ignore
|
|
121
|
+
CodeMirror.commands.autocomplete(this.codeEditor.codeMirror);
|
|
122
|
+
}
|
|
123
|
+
}, 200);
|
|
124
|
+
});
|
|
125
|
+
setTimeout(() => {
|
|
126
|
+
if (this.highlightHints) {
|
|
127
|
+
this.updateHighlightHints();
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
isClosedParenthesis(parenthesis) {
|
|
132
|
+
return ['}', ')', ']'].some((value) => value === parenthesis);
|
|
133
|
+
}
|
|
134
|
+
colorizeParentheses() {
|
|
135
|
+
const string = this.doc.getValue();
|
|
136
|
+
const stack = [];
|
|
137
|
+
const result = [];
|
|
138
|
+
let line = 0;
|
|
139
|
+
let ch = 0;
|
|
140
|
+
this.parenthesesMarkers.forEach((marker) => marker.clear());
|
|
141
|
+
this.parenthesesMarkers = [];
|
|
142
|
+
for (let index = 0; index < string.length; index++) {
|
|
143
|
+
const char = string.charAt(index);
|
|
144
|
+
if (char === '\n') {
|
|
145
|
+
line++;
|
|
146
|
+
ch = 0;
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
if (this.parenthesesMap[char]) {
|
|
150
|
+
const peek = stack ? stack[stack.length - 1] : null;
|
|
151
|
+
if (!this.isClosedParenthesis(char)) {
|
|
152
|
+
let colorIndex = peek?.colorIndex + 1 || 0;
|
|
153
|
+
colorIndex = colorIndex > this.parenthesisColors.length - 1 ? 0 : colorIndex;
|
|
154
|
+
stack.push({ value: char, color: this.parenthesisColors[colorIndex], colorIndex });
|
|
155
|
+
result[index] = { value: char, color: this.parenthesisColors[colorIndex], colorIndex };
|
|
156
|
+
}
|
|
157
|
+
if (stack?.length && peek?.value === this.parenthesesMap[char]) {
|
|
158
|
+
result[index] = { value: char, color: peek.color, colorIndex: peek.colorIndex };
|
|
159
|
+
stack.pop();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (result[index]) {
|
|
163
|
+
this.parenthesesMarkers.push(this.doc.markText({
|
|
164
|
+
line,
|
|
165
|
+
ch,
|
|
166
|
+
}, {
|
|
167
|
+
line,
|
|
168
|
+
ch: ch + 1,
|
|
169
|
+
}, {
|
|
170
|
+
css: `color: ${result[index].color}`,
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
ch++;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
highlightCustomFunctionsInEditor() {
|
|
177
|
+
const markers = this.markers || [];
|
|
178
|
+
const existMarkers = this.existMarkers || [];
|
|
179
|
+
existMarkers.forEach((m) => m.clear());
|
|
180
|
+
this.doc.eachLine((line) => {
|
|
181
|
+
markers.forEach((marker) => {
|
|
182
|
+
const searchStr = marker.name + '\\(';
|
|
183
|
+
const matches = line.text.matchAll(new RegExp(searchStr, 'g'));
|
|
184
|
+
for (const match of matches) {
|
|
185
|
+
existMarkers.push(this.doc.markText({
|
|
186
|
+
line: line.lineNo(),
|
|
187
|
+
ch: match.index,
|
|
188
|
+
}, {
|
|
189
|
+
line: line.lineNo(),
|
|
190
|
+
ch: match.index + marker.name.length,
|
|
191
|
+
}, {
|
|
192
|
+
className: 'marker',
|
|
193
|
+
title: marker.title,
|
|
194
|
+
}));
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
pasteText(text, goCharLeft) {
|
|
200
|
+
this.doc.replaceSelection(text);
|
|
201
|
+
this.doc.cm.focus();
|
|
202
|
+
if (goCharLeft) {
|
|
203
|
+
this.doc.cm.execCommand('goCharLeft');
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
registerHints(dictionary = []) {
|
|
207
|
+
const hintRegexp = /[\w$]|[ &'"#%$@]/;
|
|
208
|
+
CodeMirror.registerHelper('hint', 'dictionaryHint', (editor) => {
|
|
209
|
+
const cursor = editor.getCursor();
|
|
210
|
+
const currentLine = editor.getLine(cursor.line);
|
|
211
|
+
let start = cursor.ch;
|
|
212
|
+
let end = cursor.ch;
|
|
213
|
+
while (end < currentLine.length && hintRegexp.test(currentLine.charAt(end)))
|
|
214
|
+
++end;
|
|
215
|
+
while (start && hintRegexp.test(currentLine.charAt(start - 1)))
|
|
216
|
+
--start;
|
|
217
|
+
const currentWord = (start !== end && currentLine.slice(start, end)) || '';
|
|
218
|
+
const filteredDictionary = (!currentWord
|
|
219
|
+
? dictionary
|
|
220
|
+
: dictionary.filter((item) => item.value.toLowerCase().includes(currentWord.toLowerCase()))).sort() || [];
|
|
221
|
+
const hintsList = filteredDictionary.map((item) => {
|
|
222
|
+
const displayText = item.value;
|
|
223
|
+
let text = item.value;
|
|
224
|
+
if (currentLine[start - 1] !== '[') {
|
|
225
|
+
text = '[' + text;
|
|
226
|
+
}
|
|
227
|
+
if (currentLine[end] !== ']') {
|
|
228
|
+
text += ']';
|
|
229
|
+
}
|
|
230
|
+
return {
|
|
231
|
+
text,
|
|
232
|
+
displayText,
|
|
233
|
+
render: (element, data, current) => {
|
|
234
|
+
const startIndex = current.displayText.toLowerCase().indexOf(currentWord.toLowerCase());
|
|
235
|
+
const stringToReplace = current.displayText.slice(startIndex, startIndex + currentWord.length);
|
|
236
|
+
const hintHTML = `${item.icon} ` + current.displayText.replace(stringToReplace, `<b>${stringToReplace}</b>`);
|
|
237
|
+
const componentFactory = this.cfr.resolveComponentFactory(CodeEditorHintWrapperComponent);
|
|
238
|
+
const componentRef = componentFactory.create(this.injector);
|
|
239
|
+
componentRef.instance.content = hintHTML;
|
|
240
|
+
componentRef.instance.tooltip = item.hint;
|
|
241
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
242
|
+
element.appendChild(componentRef.location.nativeElement);
|
|
243
|
+
this.hintRefsStack.push(componentRef);
|
|
244
|
+
},
|
|
245
|
+
};
|
|
246
|
+
});
|
|
247
|
+
return {
|
|
248
|
+
list: hintsList,
|
|
249
|
+
from: CodeMirror.Pos(cursor.line, start),
|
|
250
|
+
to: CodeMirror.Pos(cursor.line, end),
|
|
251
|
+
};
|
|
252
|
+
});
|
|
253
|
+
// @ts-ignore
|
|
254
|
+
CodeMirror.commands.autocomplete = (cm) => {
|
|
255
|
+
this.destroyHints();
|
|
256
|
+
// @ts-ignore
|
|
257
|
+
CodeMirror.showHint(cm, CodeMirror.hint.dictionaryHint);
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
destroyHints() {
|
|
261
|
+
this.hintRefsStack.forEach((ref) => ref.destroy());
|
|
262
|
+
this.hintRefsStack = [];
|
|
263
|
+
}
|
|
264
|
+
updateHighlightHints() {
|
|
265
|
+
const hints = this._hints || [];
|
|
266
|
+
const highlightedHints = this.highlightedHints || [];
|
|
267
|
+
highlightedHints.forEach((m) => m.clear());
|
|
268
|
+
this.doc.eachLine((line) => {
|
|
269
|
+
const matches = line.text.matchAll(/(?:\[).+?(?=\])/gm);
|
|
270
|
+
for (const match of matches) {
|
|
271
|
+
const hint = hints.find((h) => h.value === match[0].replace('[', ''));
|
|
272
|
+
if (hint) {
|
|
273
|
+
highlightedHints.push(this.doc.markText({
|
|
274
|
+
line: line.lineNo(),
|
|
275
|
+
ch: match.index + 1,
|
|
276
|
+
}, {
|
|
277
|
+
line: line.lineNo(),
|
|
278
|
+
ch: match.index + 1 + hint.value.length,
|
|
279
|
+
}, {
|
|
280
|
+
className: 'hint-variable',
|
|
281
|
+
title: hint.value,
|
|
282
|
+
}));
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
this.cdr.markForCheck();
|
|
287
|
+
}
|
|
288
|
+
/** @nocollapse */ static { this.ɵfac = function DrCodeEditorComponent_Factory(t) { return new (t || DrCodeEditorComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(i0.Injector)); }; }
|
|
289
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrCodeEditorComponent, selectors: [["dr-code-editor"]], viewQuery: function DrCodeEditorComponent_Query(rf, ctx) { if (rf & 1) {
|
|
290
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
291
|
+
} if (rf & 2) {
|
|
292
|
+
let _t;
|
|
293
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.codeEditor = _t.first);
|
|
294
|
+
} }, inputs: { markers: "markers", highlightHints: "highlightHints", hints: "hints", control: "control", placeholder: "placeholder" }, features: [i0.ɵɵProvidersFeature([{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => DrCodeEditorComponent)), multi: true }])], decls: 4, vars: 8, consts: [[3, "ngModel", "options", "ngModelChange", "focusChange", "codeMirrorLoaded"], ["codeEditor", ""], ["class", "codemirror-placeholder", 4, "ngIf"], ["label", "Formula error", 3, "control"], [1, "codemirror-placeholder"]], template: function DrCodeEditorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
295
|
+
i0.ɵɵelementStart(0, "dr-codemirror", 0, 1);
|
|
296
|
+
i0.ɵɵlistener("ngModelChange", function DrCodeEditorComponent_Template_dr_codemirror_ngModelChange_0_listener($event) { return ctx.value = $event; })("focusChange", function DrCodeEditorComponent_Template_dr_codemirror_focusChange_0_listener($event) { return ctx.focusChanged($event); })("codeMirrorLoaded", function DrCodeEditorComponent_Template_dr_codemirror_codeMirrorLoaded_0_listener() { return ctx.afterCodeMirrorLoaded(); });
|
|
297
|
+
i0.ɵɵelementEnd();
|
|
298
|
+
i0.ɵɵtemplate(2, DrCodeEditorComponent_span_2_Template, 2, 1, "span", 2);
|
|
299
|
+
i0.ɵɵelement(3, "dr-error", 3);
|
|
300
|
+
} if (rf & 2) {
|
|
301
|
+
i0.ɵɵclassProp("mark-hints", ctx.highlightHints)("mirror-error", ctx.control.status === "INVALID" && !ctx.control.pristine);
|
|
302
|
+
i0.ɵɵproperty("ngModel", ctx.value)("options", ctx.codeMirrorOptions);
|
|
303
|
+
i0.ɵɵadvance(2);
|
|
304
|
+
i0.ɵɵproperty("ngIf", !ctx.isFocused && !ctx.innerValue);
|
|
305
|
+
i0.ɵɵadvance(1);
|
|
306
|
+
i0.ɵɵproperty("control", ctx.control);
|
|
307
|
+
} }, dependencies: [i1.NgIf, i2.NgControlStatus, i2.NgModel, i3.DrErrorComponent, i4.DrCodemirrorComponent], styles: ["dr-codemirror[_ngcontent-%COMP%] .CodeMirror{height:10rem;border:1px solid #9ea1aa;border-radius:6px}dr-codemirror[_ngcontent-%COMP%] .CodeMirror-focused{border-color:#4646ce!important}dr-codemirror[_ngcontent-%COMP%] .CodeMirror-line{font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .CodeMirror-scroll{padding:0}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .marker{color:#fff;background:#20a452}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .marker:first-child, dr-codemirror[_ngcontent-%COMP%] .CodeMirror .cm-variable:not(.marker)+.marker{padding-left:2px;margin-left:2px}dr-codemirror[_ngcontent-%COMP%] .CodeMirror .marker+.cm-variable:not(.marker){margin-left:2px}dr-codemirror[_ngcontent-%COMP%] .CodeMirror-matchingbracket{color:#0f0!important}[_nghost-%COMP%] {position:relative}[_nghost-%COMP%] .mirror-error .CodeMirror{border:1px solid #bf1d30}[_nghost-%COMP%] .mark-hints .hint-variable{color:#4646ce}dr-error[_ngcontent-%COMP%]{position:absolute;bottom:5px;left:7px;background:#fff;margin:0}dr-error[_ngcontent-%COMP%]:not(:last-child){display:none}.codemirror-placeholder[_ngcontent-%COMP%]{color:#6d6e6f;position:absolute;top:10px;left:10px;font-size:12px;pointer-events:none;white-space:pre} .CodeMirror-hints{background:#fff;border:1px solid #e5e6ea;box-shadow:0 4px 8px 1px #00000040;border-radius:6px;z-index:100;padding:8px 0} .CodeMirror-hints .CodeMirror-hint{font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400;padding:0 12px;display:flex;align-items:center;height:32px;background:#fff;color:#333} .CodeMirror-hints .CodeMirror-hint, .CodeMirror-hints .CodeMirror-hint-active{background:#fff;color:#333} .CodeMirror-hints:not(:hover) .CodeMirror-hint-active, .CodeMirror-hints .CodeMirror-hint:hover{background:#eaeaff;cursor:pointer}"], changeDetection: 0 }); }
|
|
308
|
+
}
|
|
309
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrCodeEditorComponent, [{
|
|
310
|
+
type: Component,
|
|
311
|
+
args: [{ selector: 'dr-code-editor', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => DrCodeEditorComponent)), multi: true }], template: "<dr-codemirror\n #codeEditor\n [(ngModel)]=\"value\"\n [options]=\"codeMirrorOptions\"\n [class.mark-hints]=\"highlightHints\"\n [class.mirror-error]=\"control.status === 'INVALID' && !control.pristine\"\n (focusChange)=\"focusChanged($event)\"\n (codeMirrorLoaded)=\"afterCodeMirrorLoaded()\"></dr-codemirror>\n<span *ngIf=\"!isFocused && !innerValue\" class=\"codemirror-placeholder\">{{ placeholder }}</span>\n<dr-error [control]=\"control\" label=\"Formula error\"></dr-error>\n", styles: ["dr-codemirror ::ng-deep .CodeMirror{height:10rem;border:1px solid #9ea1aa;border-radius:6px}dr-codemirror ::ng-deep .CodeMirror-focused{border-color:#4646ce!important}dr-codemirror ::ng-deep .CodeMirror-line{font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400}dr-codemirror ::ng-deep .CodeMirror .CodeMirror-scroll{padding:0}dr-codemirror ::ng-deep .CodeMirror .marker{color:#fff;background:#20a452}dr-codemirror ::ng-deep .CodeMirror .marker:first-child,dr-codemirror ::ng-deep .CodeMirror .cm-variable:not(.marker)+.marker{padding-left:2px;margin-left:2px}dr-codemirror ::ng-deep .CodeMirror .marker+.cm-variable:not(.marker){margin-left:2px}dr-codemirror ::ng-deep .CodeMirror-matchingbracket{color:#0f0!important}:host::ng-deep{position:relative}:host::ng-deep .mirror-error .CodeMirror{border:1px solid #bf1d30}:host::ng-deep .mark-hints .hint-variable{color:#4646ce}dr-error{position:absolute;bottom:5px;left:7px;background:#fff;margin:0}dr-error:not(:last-child){display:none}.codemirror-placeholder{color:#6d6e6f;position:absolute;top:10px;left:10px;font-size:12px;pointer-events:none;white-space:pre}::ng-deep .CodeMirror-hints{background:#fff;border:1px solid #e5e6ea;box-shadow:0 4px 8px 1px #00000040;border-radius:6px;z-index:100;padding:8px 0}::ng-deep .CodeMirror-hints .CodeMirror-hint{font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400;padding:0 12px;display:flex;align-items:center;height:32px;background:#fff;color:#333}::ng-deep .CodeMirror-hints .CodeMirror-hint,::ng-deep .CodeMirror-hints .CodeMirror-hint-active{background:#fff;color:#333}::ng-deep .CodeMirror-hints:not(:hover) .CodeMirror-hint-active,::ng-deep .CodeMirror-hints .CodeMirror-hint:hover{background:#eaeaff;cursor:pointer}\n"] }]
|
|
312
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; }, { markers: [{
|
|
313
|
+
type: Input
|
|
314
|
+
}], highlightHints: [{
|
|
315
|
+
type: Input
|
|
316
|
+
}], hints: [{
|
|
317
|
+
type: Input
|
|
318
|
+
}], control: [{
|
|
319
|
+
type: Input
|
|
320
|
+
}], placeholder: [{
|
|
321
|
+
type: Input
|
|
322
|
+
}], codeEditor: [{
|
|
323
|
+
type: ViewChild,
|
|
324
|
+
args: ['codeEditor']
|
|
325
|
+
}] }); })();
|
|
326
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBRXpDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRWpHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztJQ1A3RSwrQkFBdUU7SUFBQSxZQUFpQjtJQUFBLGlCQUFPOzs7SUFBeEIsZUFBaUI7SUFBakIsd0NBQWlCOztBRFF4RixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7QUFTdEIsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUNZLEdBQXNCLEVBQ3RCLEdBQTZCLEVBQzdCLFFBQWtCO1FBRmxCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQTBCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFHdkIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNwQixzQkFBaUIsR0FBZSxJQUFJLENBQUM7UUFDckMs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eSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBDb2RlTWlycm9yIGZyb20gJ2NvZGVtaXJyb3InO1xuaW1wb3J0IHsgSGludCwgSGludHMgfSBmcm9tICdjb2RlbWlycm9yJztcbmltcG9ydCB7IENvZGVFZGl0b3JIaW50V3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2RlLWVkaXRvci1oaW50LXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElDb2RlRWRpdG9ySGludCwgSUNvZGVFZGl0b3JNYXJrZXIgfSBmcm9tICcuL21vZGVscy9jb2RlLWVkaXRvci1oaW50JztcbmltcG9ydCB7IERyQ29kZW1pcnJvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kci1jb2RlbWlycm9yLmNvbXBvbmVudCc7XG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY29kZS1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItY29kZS1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEckNvZGVFZGl0b3JDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRHJDb2RlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge31cblxuICAgIHB1YmxpYyBpbm5lclZhbHVlOiBhbnkgPSAnJztcbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xuICAgIHByaXZhdGUgZXhpc3RNYXJrZXJzOiBhbnlbXTtcbiAgICBwcml2YXRlIGhpZ2hsaWdodGVkSGludHM6IGFueVtdO1xuICAgIHByaXZhdGUgcGFyZW50aGVzZXNNYXJrZXJzID0gW107XG4gICAgcHJpdmF0ZSBwYXJlbnRoZXNpc0NvbG9yczogc3RyaW5nW10gPSBbXG4gICAgICAgICcjMkYzRTQ4JyxcbiAgICAgICAgJyMxZjY4Y2MnLFxuICAgICAgICAnIzk0ODBDRCcsXG4gICAgICAgICcjNEQ5OTQ0JyxcbiAgICAgICAgJyNCMDNFODQnLFxuICAgICAgICAnI0I2NDkwMCcsXG4gICAgICAgICcjMjY3MzkyJyxcbiAgICAgICAgJyMzMjZBQzcnLFxuICAgIF07XG4gICAgcHJpdmF0ZSBwYXJlbnRoZXNlc01hcCA9IHtcbiAgICAgICAgJ30nOiAneycsXG4gICAgICAgICddJzogJ1snLFxuICAgICAgICAnKSc6ICcoJyxcbiAgICAgICAgJ3snOiAnfScsXG4gICAgICAgICdbJzogJ10nLFxuICAgICAgICAnKCc6ICcpJyxcbiAgICB9O1xuICAgIHByaXZhdGUgZG9jOiBhbnk7XG4gICAgcHJpdmF0ZSBfaGludHM6IElDb2RlRWRpdG9ySGludFtdID0gW107XG5cbiAgICBwcml2YXRlIGhpbnRSZWZzU3RhY2sgPSBbXTtcblxuICAgIHB1YmxpYyBjb2RlTWlycm9yT3B0aW9uczogYW55ID0ge1xuICAgICAgICBsaW5lV3JhcHBpbmc6IHRydWUsXG4gICAgICAgIG1hdGNoQnJhY2tldHM6IHRydWUsXG4gICAgICAgIGF1dG9SZWZyZXNoOiB0cnVlLFxuICAgICAgICBsaW5lTnVtYmVyczogZmFsc2UsXG4gICAgICAgIG1vZGU6ICdqYXZhc2NyaXB0JyxcbiAgICAgICAgZXh0cmFLZXlzOiB7ICdDdHJsLVNwYWNlJzogJ2F1dG9jb21wbGV0ZScgfSxcbiAgICAgICAgYXV0b0Nsb3NlQnJhY2tldHM6IHRydWUsXG4gICAgICAgIGhpbnRPcHRpb25zOiB7XG4gICAgICAgICAgICBjb250YWluZXI6IHdpbmRvdy5kb2N1bWVudC5ib2R5LFxuICAgICAgICAgICAgY29tcGxldGVTaW5nbGU6IGZhbHNlLFxuICAgICAgICB9LFxuICAgIH07XG4gICAgcHVibGljIGlzRm9jdXNlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgbWFya2VyczogSUNvZGVFZGl0b3JNYXJrZXJbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGlnaGxpZ2h0SGludHMgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHNldCBoaW50cyh2YWx1ZXM6IElDb2RlRWRpdG9ySGludFtdKSB7XG4gICAgICAgIGlmICh2YWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5faGludHMgPSB2YWx1ZXM7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVySGludHModmFsdWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sIHwgYW55O1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU3RhcnQgdHlwaW5nIHlvdXIgZm9ybXVsYSBoZXJlLiBXZSBzdXBwb3J0ICgrLC0sKiwvKS5cXG5Gb3IgRXhhbXBsZTogW0ZlYi0yMl0gLSBbSmFuLTIyXSc7XG4gICAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicpIHByaXZhdGUgY29kZUVkaXRvcjogRHJDb2RlbWlycm9yQ29tcG9uZW50O1xuXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmFsdWUodjogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHY7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodik7XG4gICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEN1c3RvbUZ1bmN0aW9uc0luRWRpdG9yKCk7XG4gICAgICAgICAgICB0aGlzLmNvbG9yaXplUGFyZW50aGVzZXMoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmhpZ2hsaWdodEhpbnRzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVIaWdobGlnaHRIaW50cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5uZXJWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIGZvY3VzQ2hhbmdlZChib29sKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNGb2N1c2VkID0gYm9vbDtcbiAgICB9XG4gICAgcHVibGljIGFmdGVyQ29kZU1pcnJvckxvYWRlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kb2MgPSB0aGlzLmNvZGVFZGl0b3IuY29kZU1pcnJvci5nZXREb2MoKTtcblxuICAgICAgICB0aGlzLmNvZGVFZGl0b3IuY29kZU1pcnJvci5vbigna2V5dXAnLCAoY20sIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2hpbnRzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKCFldmVudC5jdHJsS2V5ICYmIGV2ZW50LmtleUNvZGUgPj0gNjUgJiYgZXZlbnQua2V5Q29kZSA8PSA5MCkgfHxcbiAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA+PSA5NyAmJiBldmVudC5rZXlDb2RlIDw9IDEyMikgfHxcbiAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA+PSA0NiAmJiBldmVudC5rZXlDb2RlIDw9IDU3KSB8fFxuICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDMyXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUodGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3Iub24oJ2ZvY3VzJywgKGNtLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9oaW50cy5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNGb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUodGhpcy5jb2RlRWRpdG9yLmNvZGVNaXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0SGludHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUhpZ2hsaWdodEhpbnRzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDbG9zZWRQYXJlbnRoZXNpcyhwYXJlbnRoZXNpczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBbJ30nLCAnKScsICddJ10uc29tZSgodmFsdWU6IHN0cmluZykgPT4gdmFsdWUgPT09IHBhcmVudGhlc2lzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbG9yaXplUGFyZW50aGVzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZG9jLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gW107XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBsZXQgbGluZSA9IDA7XG4gICAgICAgIGxldCBjaCA9IDA7XG4gICAgICAgIHRoaXMucGFyZW50aGVzZXNNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4gbWFya2VyLmNsZWFyKCkpO1xuICAgICAgICB0aGlzLnBhcmVudGhlc2VzTWFya2VycyA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBzdHJpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCBjaGFyID0gc3RyaW5nLmNoYXJBdChpbmRleCk7XG4gICAgICAgICAgICBpZiAoY2hhciA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICBsaW5lKys7XG4gICAgICAgICAgICAgICAgY2ggPSAwO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50aGVzZXNNYXBbY2hhcl0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwZWVrID0gc3RhY2sgPyBzdGFja1tzdGFjay5sZW5ndGggLSAxXSA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNDbG9zZWRQYXJlbnRoZXNpcyhjaGFyKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3JJbmRleCA9IHBlZWs/LmNvbG9ySW5kZXggKyAxIHx8IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9ySW5kZXggPSBjb2xvckluZGV4ID4gdGhpcy5wYXJlbnRoZXNpc0NvbG9ycy5sZW5ndGggLSAxID8gMCA6IGNvbG9ySW5kZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3RhY2sucHVzaCh7IHZhbHVlOiBjaGFyLCBjb2xvcjogdGhpcy5wYXJlbnRoZXNpc0NvbG9yc1tjb2xvckluZGV4XSwgY29sb3JJbmRleCB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2luZGV4XSA9IHsgdmFsdWU6IGNoYXIsIGNvbG9yOiB0aGlzLnBhcmVudGhlc2lzQ29sb3JzW2NvbG9ySW5kZXhdLCBjb2xvckluZGV4IH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChzdGFjaz8ubGVuZ3RoICYmIHBlZWs/LnZhbHVlID09PSB0aGlzLnBhcmVudGhlc2VzTWFwW2NoYXJdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtpbmRleF0gPSB7IHZhbHVlOiBjaGFyLCBjb2xvcjogcGVlay5jb2xvciwgY29sb3JJbmRleDogcGVlay5jb2xvckluZGV4IH07XG4gICAgICAgICAgICAgICAgICAgIHN0YWNrLnBvcCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlc3VsdFtpbmRleF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudGhlc2VzTWFya2Vycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvYy5tYXJrVGV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoOiBjaCArIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzczogYGNvbG9yOiAke3Jlc3VsdFtpbmRleF0uY29sb3J9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoKys7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZ2hsaWdodEN1c3RvbUZ1bmN0aW9uc0luRWRpdG9yKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtYXJrZXJzID0gdGhpcy5tYXJrZXJzIHx8IFtdO1xuICAgICAgICBjb25zdCBleGlzdE1hcmtlcnMgPSB0aGlzLmV4aXN0TWFya2VycyB8fCBbXTtcblxuICAgICAgICBleGlzdE1hcmtlcnMuZm9yRWFjaCgobSkgPT4gbS5jbGVhcigpKTtcbiAgICAgICAgdGhpcy5kb2MuZWFjaExpbmUoKGxpbmUpID0+IHtcbiAgICAgICAgICAgIG1hcmtlcnMuZm9yRWFjaCgobWFya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VhcmNoU3RyID0gbWFya2VyLm5hbWUgKyAnXFxcXCgnO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSBsaW5lLnRleHQubWF0Y2hBbGwobmV3IFJlZ0V4cChzZWFyY2hTdHIsICdnJykpO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgbWF0Y2hlcykge1xuICAgICAgICAgICAgICAgICAgICBleGlzdE1hcmtlcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jLm1hcmtUZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiBsaW5lLmxpbmVObygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaDogbWF0Y2guaW5kZXggKyBtYXJrZXIubmFtZS5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ21hcmtlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBtYXJrZXIudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXN0ZVRleHQodGV4dDogc3RyaW5nLCBnb0NoYXJMZWZ0PzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRvYy5yZXBsYWNlU2VsZWN0aW9uKHRleHQpO1xuICAgICAgICB0aGlzLmRvYy5jbS5mb2N1cygpO1xuICAgICAgICBpZiAoZ29DaGFyTGVmdCkge1xuICAgICAgICAgICAgdGhpcy5kb2MuY20uZXhlY0NvbW1hbmQoJ2dvQ2hhckxlZnQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJIaW50cyhkaWN0aW9uYXJ5OiBJQ29kZUVkaXRvckhpbnRbXSA9IFtdKSB7XG4gICAgICAgIGNvbnN0IGhpbnRSZWdleHAgPSAvW1xcdyRdfFsgJidcIiMlJEBdLztcbiAgICAgICAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcignaGludCcsICdkaWN0aW9uYXJ5SGludCcsIChlZGl0b3IpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvciA9IGVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaW5lID0gZWRpdG9yLmdldExpbmUoY3Vyc29yLmxpbmUpO1xuXG4gICAgICAgICAgICBsZXQgc3RhcnQgPSBjdXJzb3IuY2g7XG4gICAgICAgICAgICBsZXQgZW5kID0gY3Vyc29yLmNoO1xuICAgICAgICAgICAgd2hpbGUgKGVuZCA8IGN1cnJlbnRMaW5lLmxlbmd0aCAmJiBoaW50UmVnZXhwLnRlc3QoY3VycmVudExpbmUuY2hhckF0KGVuZCkpKSArK2VuZDtcbiAgICAgICAgICAgIHdoaWxlIChzdGFydCAmJiBoaW50UmVnZXhwLnRlc3QoY3VycmVudExpbmUuY2hhckF0KHN0YXJ0IC0gMSkpKSAtLXN0YXJ0O1xuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50V29yZCA9IChzdGFydCAhPT0gZW5kICYmIGN1cnJlbnRMaW5lLnNsaWNlKHN0YXJ0LCBlbmQpKSB8fCAnJztcblxuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWREaWN0aW9uYXJ5ID1cbiAgICAgICAgICAgICAgICAoIWN1cnJlbnRXb3JkXG4gICAgICAgICAgICAgICAgICAgID8gZGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICA6IGRpY3Rpb25hcnkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY3VycmVudFdvcmQudG9Mb3dlckNhc2UoKSkpXG4gICAgICAgICAgICAgICAgKS5zb3J0KCkgfHwgW107XG5cbiAgICAgICAgICAgIGNvbnN0IGhpbnRzTGlzdDogSGludFtdID0gZmlsdGVyZWREaWN0aW9uYXJ5Lm1hcCgoaXRlbTogSUNvZGVFZGl0b3JIaW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzcGxheVRleHQgPSBpdGVtLnZhbHVlO1xuICAgICAgICAgICAgICAgIGxldCB0ZXh0ID0gaXRlbS52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50TGluZVtzdGFydCAtIDFdICE9PSAnWycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCA9ICdbJyArIHRleHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50TGluZVtlbmRdICE9PSAnXScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCArPSAnXSc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVRleHQsXG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcjogKGVsZW1lbnQ6IEhUTUxMSUVsZW1lbnQsIGRhdGE6IEhpbnRzLCBjdXJyZW50OiBIaW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gY3VycmVudC5kaXNwbGF5VGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoY3VycmVudFdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJpbmdUb1JlcGxhY2UgPSBjdXJyZW50LmRpc3BsYXlUZXh0LnNsaWNlKHN0YXJ0SW5kZXgsIHN0YXJ0SW5kZXggKyBjdXJyZW50V29yZC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaGludEhUTUwgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2l0ZW0uaWNvbn0gYCArIGN1cnJlbnQuZGlzcGxheVRleHQucmVwbGFjZShzdHJpbmdUb1JlcGxhY2UsIGA8Yj4ke3N0cmluZ1RvUmVwbGFjZX08L2I+YCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNmci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShDb2RlRWRpdG9ySGludFdyYXBwZXJDb21wb25lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29udGVudCA9IGhpbnRIVE1MO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnRvb2x0aXAgPSBpdGVtLmhpbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGludFJlZnNTdGFjay5wdXNoKGNvbXBvbmVudFJlZik7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxpc3Q6IGhpbnRzTGlzdCxcbiAgICAgICAgICAgICAgICBmcm9tOiBDb2RlTWlycm9yLlBvcyhjdXJzb3IubGluZSwgc3RhcnQpLFxuICAgICAgICAgICAgICAgIHRvOiBDb2RlTWlycm9yLlBvcyhjdXJzb3IubGluZSwgZW5kKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUgPSAoY20pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveUhpbnRzKCk7XG5cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIENvZGVNaXJyb3Iuc2hvd0hpbnQoY20sIENvZGVNaXJyb3IuaGludC5kaWN0aW9uYXJ5SGludCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95SGludHMoKSB7XG4gICAgICAgIHRoaXMuaGludFJlZnNTdGFjay5mb3JFYWNoKChyZWYpID0+IHJlZi5kZXN0cm95KCkpO1xuICAgICAgICB0aGlzLmhpbnRSZWZzU3RhY2sgPSBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUhpZ2hsaWdodEhpbnRzKCkge1xuICAgICAgICBjb25zdCBoaW50cyA9IHRoaXMuX2hpbnRzIHx8IFtdO1xuICAgICAgICBjb25zdCBoaWdobGlnaHRlZEhpbnRzID0gdGhpcy5oaWdobGlnaHRlZEhpbnRzIHx8IFtdO1xuXG4gICAgICAgIGhpZ2hsaWdodGVkSGludHMuZm9yRWFjaCgobSkgPT4gbS5jbGVhcigpKTtcblxuICAgICAgICB0aGlzLmRvYy5lYWNoTGluZSgobGluZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGxpbmUudGV4dC5tYXRjaEFsbCgvKD86XFxbKS4rPyg/PVxcXSkvZ20pO1xuICAgICAgICAgICAgZm9yIChjb25zdCBtYXRjaCBvZiBtYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGludCA9IGhpbnRzLmZpbmQoKGgpID0+IGgudmFsdWUgPT09IG1hdGNoWzBdLnJlcGxhY2UoJ1snLCAnJykpO1xuICAgICAgICAgICAgICAgIGlmIChoaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkSGludHMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jLm1hcmtUZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4ICsgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogbGluZS5saW5lTm8oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2g6IG1hdGNoLmluZGV4ICsgMSArIGhpbnQudmFsdWUubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdoaW50LXZhcmlhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGhpbnQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8ZHItY29kZW1pcnJvclxuICAgICNjb2RlRWRpdG9yXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW29wdGlvbnNdPVwiY29kZU1pcnJvck9wdGlvbnNcIlxuICAgIFtjbGFzcy5tYXJrLWhpbnRzXT1cImhpZ2hsaWdodEhpbnRzXCJcbiAgICBbY2xhc3MubWlycm9yLWVycm9yXT1cImNvbnRyb2wuc3RhdHVzID09PSAnSU5WQUxJRCcgJiYgIWNvbnRyb2wucHJpc3RpbmVcIlxuICAgIChmb2N1c0NoYW5nZSk9XCJmb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgKGNvZGVNaXJyb3JMb2FkZWQpPVwiYWZ0ZXJDb2RlTWlycm9yTG9hZGVkKClcIj48L2RyLWNvZGVtaXJyb3I+XG48c3BhbiAqbmdJZj1cIiFpc0ZvY3VzZWQgJiYgIWlubmVyVmFsdWVcIiBjbGFzcz1cImNvZGVtaXJyb3ItcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbjxkci1lcnJvciBbY29udHJvbF09XCJjb250cm9sXCIgbGFiZWw9XCJGb3JtdWxhIGVycm9yXCI+PC9kci1lcnJvcj5cbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import 'codemirror/mode/javascript/javascript';
|
|
2
|
+
import 'codemirror/addon/edit/matchbrackets';
|
|
3
|
+
import 'codemirror/addon/hint/show-hint';
|
|
4
|
+
import '@codemirror/autocomplete';
|
|
5
|
+
import { NgModule } from '@angular/core';
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { DrCodeEditorComponent } from './dr-code-editor.component';
|
|
8
|
+
import { CodeEditorHintWrapperComponent } from './components/code-editor-hint-wrapper.component';
|
|
9
|
+
import { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';
|
|
10
|
+
import { DrErrorModule } from '../dr-error/dr-error.module';
|
|
11
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
12
|
+
import { DrCodemirrorComponent } from './components/dr-codemirror.component';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
export class DrCodeEditorModule {
|
|
15
|
+
/** @nocollapse */ static { this.ɵfac = function DrCodeEditorModule_Factory(t) { return new (t || DrCodeEditorModule)(); }; }
|
|
16
|
+
/** @nocollapse */ static { this.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DrCodeEditorModule }); }
|
|
17
|
+
/** @nocollapse */ static { this.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, ReactiveFormsModule, DrTooltipModule, DrErrorModule] }); }
|
|
18
|
+
}
|
|
19
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrCodeEditorModule, [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
imports: [CommonModule, FormsModule, ReactiveFormsModule, DrTooltipModule, DrErrorModule],
|
|
23
|
+
exports: [DrCodemirrorComponent, DrCodeEditorComponent, CodeEditorHintWrapperComponent],
|
|
24
|
+
providers: [],
|
|
25
|
+
declarations: [DrCodemirrorComponent, DrCodeEditorComponent, CodeEditorHintWrapperComponent],
|
|
26
|
+
}]
|
|
27
|
+
}], null, null); })();
|
|
28
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrCodeEditorModule, { declarations: [DrCodemirrorComponent, DrCodeEditorComponent, CodeEditorHintWrapperComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule, DrTooltipModule, DrErrorModule], exports: [DrCodemirrorComponent, DrCodeEditorComponent, CodeEditorHintWrapperComponent] }); })();
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY29kZS1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBUTdFLE1BQU0sT0FBTyxrQkFBa0I7c0dBQWxCLGtCQUFrQjtrR0FBbEIsa0JBQWtCO3NHQUxqQixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxhQUFhOzt1RkFLL0Usa0JBQWtCO2NBTjlCLFFBQVE7ZUFBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUM7Z0JBQ3pGLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixDQUFDO2dCQUN2RixTQUFTLEVBQUUsRUFBRTtnQkFDYixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSw4QkFBOEIsQ0FBQzthQUMvRjs7d0ZBQ1ksa0JBQWtCLG1CQUZaLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixhQUhqRixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxhQUFhLGFBQzlFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnY29kZW1pcnJvci9tb2RlL2phdmFzY3JpcHQvamF2YXNjcmlwdCc7XG5pbXBvcnQgJ2NvZGVtaXJyb3IvYWRkb24vZWRpdC9tYXRjaGJyYWNrZXRzJztcbmltcG9ydCAnY29kZW1pcnJvci9hZGRvbi9oaW50L3Nob3ctaGludCc7XG5pbXBvcnQgJ0Bjb2RlbWlycm9yL2F1dG9jb21wbGV0ZSc7XG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJDb2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jb2RlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kZUVkaXRvckhpbnRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvZGUtZWRpdG9yLWhpbnQtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vZHItdG9vbHRpcC9kci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBEckVycm9yTW9kdWxlIH0gZnJvbSAnLi4vZHItZXJyb3IvZHItZXJyb3IubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJDb2RlbWlycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RyLWNvZGVtaXJyb3IuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRHJUb29sdGlwTW9kdWxlLCBEckVycm9yTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRHJDb2RlbWlycm9yQ29tcG9uZW50LCBEckNvZGVFZGl0b3JDb21wb25lbnQsIENvZGVFZGl0b3JIaW50V3JhcHBlckNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtEckNvZGVtaXJyb3JDb21wb25lbnQsIERyQ29kZUVkaXRvckNvbXBvbmVudCwgQ29kZUVkaXRvckhpbnRXcmFwcGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRHJDb2RlRWRpdG9yTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var ICodeEditorHintIcon;
|
|
2
|
+
(function (ICodeEditorHintIcon) {
|
|
3
|
+
ICodeEditorHintIcon["VALUE"] = "#";
|
|
4
|
+
ICodeEditorHintIcon["CALCULATED_VALUE"] = "=";
|
|
5
|
+
})(ICodeEditorHintIcon || (ICodeEditorHintIcon = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3ItaGludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNvZGUtZWRpdG9yL21vZGVscy9jb2RlLWVkaXRvci1oaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDM0Isa0NBQVcsQ0FBQTtJQUNYLDZDQUFzQixDQUFBO0FBQzFCLENBQUMsRUFIVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBRzlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ29kZUVkaXRvckhpbnQge1xuICAgIGljb246IElDb2RlRWRpdG9ySGludEljb247XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIGhpbnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIElDb2RlRWRpdG9ySGludEljb24ge1xuICAgIFZBTFVFID0gJyMnLFxuICAgIENBTENVTEFURURfVkFMVUUgPSAnPScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvZGVFZGl0b3JNYXJrZXIge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
function DrDetailsListComponent_li_5_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelementStart(0, "li");
|
|
9
|
+
i0.ɵɵtext(1);
|
|
10
|
+
i0.ɵɵelementEnd();
|
|
11
|
+
} if (rf & 2) {
|
|
12
|
+
const item_r1 = ctx.$implicit;
|
|
13
|
+
i0.ɵɵadvance(1);
|
|
14
|
+
i0.ɵɵtextInterpolate(item_r1);
|
|
15
|
+
} }
|
|
16
|
+
const _c0 = function (a0) { return { value: a0 }; };
|
|
17
|
+
export class DrDetailsListComponent {
|
|
18
|
+
set items(val) {
|
|
19
|
+
if (!val) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (Array.isArray(val)) {
|
|
23
|
+
this.list = val;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
val.pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
27
|
+
this.list = res;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
get state() {
|
|
32
|
+
if (this.collapse) {
|
|
33
|
+
return 'collapsed';
|
|
34
|
+
}
|
|
35
|
+
return 'expanded';
|
|
36
|
+
}
|
|
37
|
+
constructor() {
|
|
38
|
+
this.destroy$ = new Subject();
|
|
39
|
+
this.list = [];
|
|
40
|
+
this.title = 'Show details';
|
|
41
|
+
this.collapse = true;
|
|
42
|
+
}
|
|
43
|
+
ngOnDestroy() {
|
|
44
|
+
this.destroy$.next();
|
|
45
|
+
this.destroy$.complete();
|
|
46
|
+
}
|
|
47
|
+
/** @nocollapse */ static { this.ɵfac = function DrDetailsListComponent_Factory(t) { return new (t || DrDetailsListComponent)(); }; }
|
|
48
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDetailsListComponent, selectors: [["dr-details-list"]], inputs: { title: "title", items: "items", collapse: "collapse" }, decls: 6, vars: 9, consts: [[1, "details"], [1, "details__header", 3, "click"], [1, "details__list"], [4, "ngFor", "ngForOf"]], template: function DrDetailsListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
50
|
+
i0.ɵɵlistener("click", function DrDetailsListComponent_Template_div_click_1_listener() { return ctx.collapse = !ctx.collapse; });
|
|
51
|
+
i0.ɵɵelement(2, "i");
|
|
52
|
+
i0.ɵɵtext(3);
|
|
53
|
+
i0.ɵɵelementEnd();
|
|
54
|
+
i0.ɵɵelementStart(4, "ul", 2);
|
|
55
|
+
i0.ɵɵtemplate(5, DrDetailsListComponent_li_5_Template, 2, 1, "li", 3);
|
|
56
|
+
i0.ɵɵelementEnd()();
|
|
57
|
+
} if (rf & 2) {
|
|
58
|
+
i0.ɵɵadvance(2);
|
|
59
|
+
i0.ɵɵclassProp("dr-icon-arrow-right", ctx.collapse)("dr-icon-arrow-down", !ctx.collapse);
|
|
60
|
+
i0.ɵɵadvance(1);
|
|
61
|
+
i0.ɵɵtextInterpolate1(" ", ctx.title, " ");
|
|
62
|
+
i0.ɵɵadvance(1);
|
|
63
|
+
i0.ɵɵproperty("@expansionIndicatorList", i0.ɵɵpureFunction1(7, _c0, ctx.state));
|
|
64
|
+
i0.ɵɵadvance(1);
|
|
65
|
+
i0.ɵɵproperty("ngForOf", ctx.list);
|
|
66
|
+
} }, dependencies: [i1.NgForOf], styles: ["[_nghost-%COMP%]{font-family:Poppins,sans-serif;font-size:14px;line-height:22px;color:#6d6e6f;font-weight:400}[_nghost-%COMP%] .details[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .details__header[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer}[_nghost-%COMP%] .details__header[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:4px}[_nghost-%COMP%] .details__list[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-left:28px;margin:8px 0}[_nghost-%COMP%] .details__list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style-type:disc}"], data: { animation: [
|
|
67
|
+
trigger('expansionIndicatorList', [
|
|
68
|
+
state('collapsed', style({
|
|
69
|
+
overflow: 'hidden',
|
|
70
|
+
visibility: 'hidden',
|
|
71
|
+
height: 0,
|
|
72
|
+
})),
|
|
73
|
+
state('expanded', style({
|
|
74
|
+
overflow: 'hidden',
|
|
75
|
+
visibility: 'visible',
|
|
76
|
+
})),
|
|
77
|
+
transition('collapsed => expanded', animate('100ms ease-in')),
|
|
78
|
+
transition('expanded => collapsed', animate('100ms ease-out')),
|
|
79
|
+
]),
|
|
80
|
+
] } }); }
|
|
81
|
+
}
|
|
82
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDetailsListComponent, [{
|
|
83
|
+
type: Component,
|
|
84
|
+
args: [{ selector: 'dr-details-list', animations: [
|
|
85
|
+
trigger('expansionIndicatorList', [
|
|
86
|
+
state('collapsed', style({
|
|
87
|
+
overflow: 'hidden',
|
|
88
|
+
visibility: 'hidden',
|
|
89
|
+
height: 0,
|
|
90
|
+
})),
|
|
91
|
+
state('expanded', style({
|
|
92
|
+
overflow: 'hidden',
|
|
93
|
+
visibility: 'visible',
|
|
94
|
+
})),
|
|
95
|
+
transition('collapsed => expanded', animate('100ms ease-in')),
|
|
96
|
+
transition('expanded => collapsed', animate('100ms ease-out')),
|
|
97
|
+
]),
|
|
98
|
+
], template: "<div class=\"details\">\n <div class=\"details__header\" (click)=\"collapse = !collapse\">\n <i [class.dr-icon-arrow-right]=\"collapse\" [class.dr-icon-arrow-down]=\"!collapse\"> </i>\n {{ title }}\n </div>\n <ul class=\"details__list\" [@expansionIndicatorList]=\"{ value: state }\">\n <li *ngFor=\"let item of list\">{{ item }}</li>\n </ul>\n</div>\n", styles: [":host{font-family:Poppins,sans-serif;font-size:14px;line-height:22px;color:#6d6e6f;font-weight:400}:host .details{display:flex;flex-direction:column}:host .details__header{display:flex;align-items:center;cursor:pointer}:host .details__header i{margin-right:4px}:host .details__list{display:flex;flex-direction:column;padding-left:28px;margin:8px 0}:host .details__list li{list-style-type:disc}\n"] }]
|
|
99
|
+
}], function () { return []; }, { title: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], items: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], collapse: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}] }); })();
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGV0YWlscy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0lDR25DLDBCQUE4QjtJQUFBLFlBQVU7SUFBQSxpQkFBSzs7O0lBQWYsZUFBVTtJQUFWLDZCQUFVOzs7QUR5QmhELE1BQU0sT0FBTyxzQkFBc0I7SUFLL0IsSUFBYSxLQUFLLENBQUMsR0FBb0M7UUFDbkQsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNOLE9BQU87U0FDVjtRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUNuQjthQUFNO1lBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBYSxFQUFFLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBR0QsSUFBSSxLQUFLO1FBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsT0FBTyxXQUFXLENBQUM7U0FDdEI7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7UUExQlEsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQUVsQixVQUFLLEdBQUcsY0FBYyxDQUFDO1FBY3ZCLGFBQVEsR0FBRyxJQUFJLENBQUM7SUFTVixDQUFDO0lBRWhCLFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzswR0FoQ1Esc0JBQXNCO21HQUF0QixzQkFBc0I7WUMvQm5DLDhCQUFxQixhQUFBO1lBQ1ksZ0lBQThCO1lBQ3ZELG9CQUFzRjtZQUN0RixZQUNKO1lBQUEsaUJBQU07WUFDTiw2QkFBdUU7WUFDbkUscUVBQTZDO1lBQ2pELGlCQUFLLEVBQUE7O1lBTEUsZUFBc0M7WUFBdEMsbURBQXNDLHFDQUFBO1lBQ3pDLGVBQ0o7WUFESSwwQ0FDSjtZQUMwQixlQUE0QztZQUE1QywrRUFBNEM7WUFDN0MsZUFBTztZQUFQLGtDQUFPO3dxQkRHcEI7Z0JBQ1IsT0FBTyxDQUFDLHdCQUF3QixFQUFFO29CQUM5QixLQUFLLENBQ0QsV0FBVyxFQUNYLEtBQUssQ0FBQzt3QkFDRixRQUFRLEVBQUUsUUFBUTt3QkFDbEIsVUFBVSxFQUFFLFFBQVE7d0JBQ3BCLE1BQU0sRUFBRSxDQUFDO3FCQUNaLENBQUMsQ0FDTDtvQkFDRCxLQUFLLENBQ0QsVUFBVSxFQUNWLEtBQUssQ0FBQzt3QkFDRixRQUFRLEVBQUUsUUFBUTt3QkFDbEIsVUFBVSxFQUFFLFNBQVM7cUJBQ3hCLENBQUMsQ0FDTDtvQkFDRCxVQUFVLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUM3RCxVQUFVLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ2pFLENBQUM7YUFDTDs7dUZBRVEsc0JBQXNCO2NBMUJsQyxTQUFTOzJCQUNJLGlCQUFpQixjQUdmO29CQUNSLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRTt3QkFDOUIsS0FBSyxDQUNELFdBQVcsRUFDWCxLQUFLLENBQUM7NEJBQ0YsUUFBUSxFQUFFLFFBQVE7NEJBQ2xCLFVBQVUsRUFBRSxRQUFROzRCQUNwQixNQUFNLEVBQUUsQ0FBQzt5QkFDWixDQUFDLENBQ0w7d0JBQ0QsS0FBSyxDQUNELFVBQVUsRUFDVixLQUFLLENBQUM7NEJBQ0YsUUFBUSxFQUFFLFFBQVE7NEJBQ2xCLFVBQVUsRUFBRSxTQUFTO3lCQUN4QixDQUFDLENBQ0w7d0JBQ0QsVUFBVSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDN0QsVUFBVSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUNqRSxDQUFDO2lCQUNMO3NDQU1RLEtBQUs7a0JBQWIsS0FBSztZQUNPLEtBQUs7a0JBQWpCLEtBQUs7WUFhRyxRQUFRO2tCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1kZXRhaWxzLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1kZXRhaWxzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZXhwYW5zaW9uSW5kaWNhdG9yTGlzdCcsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdjb2xsYXBzZWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdleHBhbmRlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPT4gZXhwYW5kZWQnLCBhbmltYXRlKCcxMDBtcyBlYXNlLWluJykpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgYW5pbWF0ZSgnMTAwbXMgZWFzZS1vdXQnKSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyRGV0YWlsc0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBsaXN0OiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgQElucHV0KCkgdGl0bGUgPSAnU2hvdyBkZXRhaWxzJztcbiAgICBASW5wdXQoKSBzZXQgaXRlbXModmFsOiBzdHJpbmdbXSB8IE9ic2VydmFibGU8c3RyaW5nW10+KSB7XG4gICAgICAgIGlmICghdmFsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3QgPSB2YWw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWwucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdCA9IHJlcztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIGNvbGxhcHNlID0gdHJ1ZTtcblxuICAgIGdldCBzdGF0ZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5jb2xsYXBzZSkge1xuICAgICAgICAgICAgcmV0dXJuICdjb2xsYXBzZWQnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnZXhwYW5kZWQnO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XG4gICAgPGRpdiBjbGFzcz1cImRldGFpbHNfX2hlYWRlclwiIChjbGljayk9XCJjb2xsYXBzZSA9ICFjb2xsYXBzZVwiPlxuICAgICAgICA8aSBbY2xhc3MuZHItaWNvbi1hcnJvdy1yaWdodF09XCJjb2xsYXBzZVwiIFtjbGFzcy5kci1pY29uLWFycm93LWRvd25dPVwiIWNvbGxhcHNlXCI+IDwvaT5cbiAgICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8dWwgY2xhc3M9XCJkZXRhaWxzX19saXN0XCIgW0BleHBhbnNpb25JbmRpY2F0b3JMaXN0XT1cInsgdmFsdWU6IHN0YXRlIH1cIj5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3RcIj57eyBpdGVtIH19PC9saT5cbiAgICA8L3VsPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { DrDetailsListComponent } from './dr-details-list.component';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DrDetailsListModule {
|
|
6
|
+
/** @nocollapse */ static { this.ɵfac = function DrDetailsListModule_Factory(t) { return new (t || DrDetailsListModule)(); }; }
|
|
7
|
+
/** @nocollapse */ static { this.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DrDetailsListModule }); }
|
|
8
|
+
/** @nocollapse */ static { this.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDetailsListModule, [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [CommonModule],
|
|
14
|
+
exports: [DrDetailsListComponent],
|
|
15
|
+
providers: [],
|
|
16
|
+
declarations: [DrDetailsListComponent],
|
|
17
|
+
}]
|
|
18
|
+
}], null, null); })();
|
|
19
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrDetailsListModule, { declarations: [DrDetailsListComponent], imports: [CommonModule], exports: [DrDetailsListComponent] }); })();
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGV0YWlscy1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVEvQyxNQUFNLE9BQU8sbUJBQW1CO3VHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQjtzR0FMbEIsWUFBWTs7dUZBS2IsbUJBQW1CO2NBTi9CLFFBQVE7ZUFBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNqQyxTQUFTLEVBQUUsRUFBRTtnQkFDYixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUN6Qzs7d0ZBQ1ksbUJBQW1CLG1CQUZiLHNCQUFzQixhQUgzQixZQUFZLGFBQ1osc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyRGV0YWlsc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRHJEZXRhaWxzTGlzdENvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtEckRldGFpbHNMaXN0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRHJEZXRhaWxzTGlzdE1vZHVsZSB7fVxuIl19
|