ngx-edu-sharing-ui 0.7.0 → 9.0.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/scss/mixins.scss +4 -1
- package/assets/scss/variables.scss +3 -0
- package/esm2022/lib/actionbar/actionbar.component.mjs +188 -0
- package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +134 -0
- package/esm2022/lib/directives/border-box-observer.directive.mjs +71 -0
- package/esm2022/lib/directives/check-text-overflow.directive.mjs +65 -0
- package/esm2022/lib/directives/drag-nodes/drag-nodes.mjs +14 -0
- package/esm2022/lib/directives/drag-nodes/nodes-drag-source.directive.mjs +79 -0
- package/esm2022/lib/directives/drag-nodes/nodes-drag.directive.mjs +49 -0
- package/esm2022/lib/directives/drag-nodes/nodes-drop-target.directive.mjs +105 -0
- package/esm2022/lib/directives/focus-state.directive.mjs +44 -0
- package/esm2022/lib/directives/icon.directive.mjs +139 -0
- package/esm2022/lib/dropdown/dropdown.component.mjs +70 -0
- package/esm2022/lib/edu-sharing-ui-configuration.mjs +41 -0
- package/esm2022/lib/edu-sharing-ui.module.mjs +78 -0
- package/esm2022/lib/list-items/available-widgets.mjs +27 -0
- package/esm2022/lib/list-items/format-duration.pipe.mjs +20 -0
- package/esm2022/lib/list-items/list-base/list-base.component.mjs +46 -0
- package/esm2022/lib/list-items/list-collection-info/list-collection-info.component.mjs +29 -0
- package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +54 -0
- package/esm2022/lib/list-items/list-items.module.mjs +50 -0
- package/esm2022/lib/list-items/list-node-license/list-node-license.component.mjs +41 -0
- package/esm2022/lib/list-items/list-node-replication-source/list-node-replication-source.component.mjs +47 -0
- package/esm2022/lib/list-items/list-node-workflow/list-node-workflow.component.mjs +24 -0
- package/esm2022/lib/list-items/list-text/list-text.component.mjs +106 -0
- package/esm2022/lib/list-items/list-widget.mjs +49 -0
- package/esm2022/lib/list-items/node-row/node-row.component.mjs +24 -0
- package/esm2022/lib/list-items/node-source.pipe.mjs +49 -0
- package/esm2022/lib/node-entries/combined-data-source.mjs +41 -0
- package/esm2022/lib/node-entries/custom-templates-data-source.mjs +7 -0
- package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +21 -0
- package/esm2022/lib/node-entries/entries-model.mjs +23 -0
- package/esm2022/lib/node-entries/items-cap.mjs +47 -0
- package/esm2022/lib/node-entries/list-item-label.pipe.mjs +34 -0
- package/esm2022/lib/node-entries/node-cache.mjs +65 -0
- package/esm2022/lib/node-entries/node-data-source-remote.mjs +4 -0
- package/esm2022/lib/node-entries/node-data-source.mjs +115 -0
- package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +131 -0
- package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +307 -0
- package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +45 -0
- package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +23 -0
- package/esm2022/lib/node-entries/node-entries-global.service.mjs +58 -0
- package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +42 -0
- package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +290 -0
- package/esm2022/lib/node-entries/node-entries-templates.service.mjs +11 -0
- package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +324 -0
- package/esm2022/lib/node-entries/node-entries.component.mjs +131 -0
- package/esm2022/lib/node-entries/node-entries.module.mjs +161 -0
- package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +102 -0
- package/esm2022/lib/node-entries/node-stats-badges/node-stats-badges.component.mjs +48 -0
- package/esm2022/lib/node-entries/node-type-badge/node-type-badge.component.mjs +36 -0
- package/esm2022/lib/node-entries/option-button/option-button.component.mjs +62 -0
- package/esm2022/lib/node-entries/preview-image/preview-image.component.mjs +53 -0
- package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +41 -0
- package/esm2022/lib/node-url/node-url.component.mjs +128 -0
- package/esm2022/lib/pipes/file-size.pipe.mjs +31 -0
- package/esm2022/lib/pipes/format-date.pipe.mjs +38 -0
- package/esm2022/lib/pipes/node-icon.pipe.mjs +18 -0
- package/esm2022/lib/pipes/node-image-size.pipe.mjs +24 -0
- package/esm2022/lib/pipes/node-image.pipe.mjs +55 -0
- package/esm2022/lib/pipes/node-person-name.pipe.mjs +50 -0
- package/esm2022/lib/pipes/node-title.pipe.mjs +19 -0
- package/esm2022/lib/pipes/option-tooltip.pipe.mjs +33 -0
- package/esm2022/lib/pipes/replace-chars.pipe.mjs +29 -0
- package/esm2022/lib/pipes/vcard-name.pipe.mjs +19 -0
- package/esm2022/lib/services/abstract/app.service.mjs +3 -0
- package/esm2022/lib/services/abstract/keyboard-shortcuts.service.mjs +10 -0
- package/esm2022/lib/services/abstract/options-helper.service.mjs +3 -0
- package/esm2022/lib/services/abstract/toast.service.mjs +3 -0
- package/esm2022/lib/services/accessibility.service.mjs +73 -0
- package/esm2022/lib/services/local-events.service.mjs +36 -0
- package/esm2022/lib/services/node-entries.service.mjs +137 -0
- package/esm2022/lib/services/node-helper.service.mjs +234 -0
- package/esm2022/lib/services/nodes-drag-drop.service.mjs +155 -0
- package/esm2022/lib/services/options-helper-data.service.mjs +134 -0
- package/esm2022/lib/services/repo-url.service.mjs +49 -0
- package/esm2022/lib/services/temporary-storage.service.mjs +48 -0
- package/esm2022/lib/services/ui.service.mjs +162 -0
- package/esm2022/lib/sort-dropdown/sort-dropdown.component.mjs +50 -0
- package/esm2022/lib/spinner/spinner.component.mjs +18 -0
- package/esm2022/lib/translations/fallback-translation-handler.mjs +6 -0
- package/esm2022/lib/translations/languages.mjs +5 -0
- package/esm2022/lib/translations/translation-loader.mjs +149 -0
- package/esm2022/lib/translations/translation-source.mjs +11 -0
- package/esm2022/lib/translations/translations.module.mjs +67 -0
- package/esm2022/lib/translations/translations.service.mjs +171 -0
- package/esm2022/lib/types/accessibillity.mjs +19 -0
- package/esm2022/lib/types/api-models.mjs +2 -0
- package/esm2022/lib/types/drag-drop.mjs +2 -0
- package/esm2022/lib/types/keyboard-shortcuts.mjs +11 -0
- package/esm2022/lib/types/list-item.mjs +41 -0
- package/esm2022/lib/types/option-item.mjs +174 -0
- package/esm2022/lib/types/workflow.mjs +25 -0
- package/esm2022/lib/util/DateHelper.mjs +200 -0
- package/esm2022/lib/util/VCard.mjs +278 -0
- package/esm2022/lib/util/color-helper.mjs +124 -0
- package/esm2022/lib/util/duration-helper.mjs +102 -0
- package/esm2022/lib/util/functions.mjs +13 -0
- package/esm2022/lib/util/helper.mjs +64 -0
- package/esm2022/lib/util/isNumeric.mjs +11 -0
- package/esm2022/lib/util/rest-helper.mjs +33 -0
- package/esm2022/lib/util/ui-animation.mjs +146 -0
- package/esm2022/lib/util/ui-constants.mjs +21 -0
- package/esm2022/module.mjs +76 -0
- package/esm2022/ngx-edu-sharing-ui.mjs +5 -0
- package/fesm2022/ngx-edu-sharing-ui.mjs +6509 -0
- package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/actionbar/actionbar.component.d.ts +74 -0
- package/lib/common/edu-sharing-ui-common.module.d.ts +32 -0
- package/lib/directives/border-box-observer.directive.d.ts +31 -0
- package/lib/directives/check-text-overflow.directive.d.ts +20 -0
- package/lib/directives/drag-nodes/drag-nodes.d.ts +16 -0
- package/lib/directives/drag-nodes/nodes-drag-source.directive.d.ts +37 -0
- package/lib/directives/drag-nodes/nodes-drag.directive.d.ts +17 -0
- package/lib/directives/drag-nodes/nodes-drop-target.directive.d.ts +22 -0
- package/lib/directives/focus-state.directive.d.ts +14 -0
- package/lib/directives/icon.directive.d.ts +46 -0
- package/lib/dropdown/dropdown.component.d.ts +40 -0
- package/lib/edu-sharing-ui-configuration.d.ts +11 -0
- package/lib/edu-sharing-ui.module.d.ts +19 -0
- package/lib/list-items/available-widgets.d.ts +13 -0
- package/lib/list-items/format-duration.pipe.d.ts +10 -0
- package/lib/list-items/list-base/list-base.component.d.ts +18 -0
- package/lib/list-items/list-collection-info/list-collection-info.component.d.ts +14 -0
- package/lib/list-items/list-counts/list-counts.component.d.ts +13 -0
- package/lib/list-items/list-items.module.d.ts +20 -0
- package/lib/list-items/list-node-license/list-node-license.component.d.ts +20 -0
- package/lib/list-items/list-node-replication-source/list-node-replication-source.component.d.ts +22 -0
- package/lib/list-items/list-node-workflow/list-node-workflow.component.d.ts +12 -0
- package/lib/list-items/list-text/list-text.component.d.ts +28 -0
- package/lib/list-items/list-widget.d.ts +32 -0
- package/lib/list-items/node-row/node-row.component.d.ts +12 -0
- package/lib/list-items/node-source.pipe.d.ts +16 -0
- package/lib/node-entries/combined-data-source.d.ts +19 -0
- package/{src/lib/node-entries/custom-templates-data-source.ts → lib/node-entries/custom-templates-data-source.d.ts} +2 -2
- package/lib/node-entries/drag-preview/drag-preview.component.d.ts +11 -0
- package/{src/lib/node-entries/entries-model.ts → lib/node-entries/entries-model.d.ts} +19 -47
- package/lib/node-entries/items-cap.d.ts +17 -0
- package/lib/node-entries/list-item-label.pipe.d.ts +14 -0
- package/lib/node-entries/node-cache.d.ts +17 -0
- package/{src/lib/node-entries/node-data-source-remote.ts → lib/node-entries/node-data-source-remote.d.ts} +2 -12
- package/lib/node-entries/node-data-source.d.ts +42 -0
- package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +45 -0
- package/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.d.ts +92 -0
- package/lib/node-entries/node-entries-card-small/node-entries-card-small.component.d.ts +23 -0
- package/lib/node-entries/node-entries-global-options/node-entries-global-options.component.d.ts +12 -0
- package/lib/node-entries/node-entries-global.service.d.ts +50 -0
- package/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.d.ts +17 -0
- package/lib/node-entries/node-entries-table/node-entries-table.component.d.ts +76 -0
- package/{src/lib/node-entries/node-entries-templates.service.ts → lib/node-entries/node-entries-templates.service.d.ts} +6 -9
- package/lib/node-entries/node-entries-wrapper.component.d.ts +129 -0
- package/lib/node-entries/node-entries.component.d.ts +32 -0
- package/lib/node-entries/node-entries.module.d.ts +43 -0
- package/lib/node-entries/node-rating/node-rating.component.d.ts +26 -0
- package/lib/node-entries/node-stats-badges/node-stats-badges.component.d.ts +17 -0
- package/lib/node-entries/node-type-badge/node-type-badge.component.d.ts +21 -0
- package/lib/node-entries/option-button/option-button.component.d.ts +11 -0
- package/lib/node-entries/preview-image/preview-image.component.d.ts +22 -0
- package/lib/node-entries/sort-select-panel/sort-select-panel.component.d.ts +16 -0
- package/lib/node-url/node-url.component.d.ts +51 -0
- package/lib/pipes/file-size.pipe.d.ts +10 -0
- package/lib/pipes/format-date.pipe.d.ts +21 -0
- package/lib/pipes/node-icon.pipe.d.ts +11 -0
- package/lib/pipes/node-image-size.pipe.d.ts +8 -0
- package/lib/pipes/node-image.pipe.d.ts +28 -0
- package/lib/pipes/node-person-name.pipe.d.ts +10 -0
- package/lib/pipes/node-title.pipe.d.ts +11 -0
- package/lib/pipes/option-tooltip.pipe.d.ts +12 -0
- package/lib/pipes/replace-chars.pipe.d.ts +10 -0
- package/lib/pipes/vcard-name.pipe.d.ts +10 -0
- package/{src/lib/services/abstract/app.service.ts → lib/services/abstract/app.service.d.ts} +1 -1
- package/lib/services/abstract/keyboard-shortcuts.service.d.ts +11 -0
- package/lib/services/abstract/options-helper.service.d.ts +10 -0
- package/{src/lib/services/abstract/toast.service.ts → lib/services/abstract/toast.service.d.ts} +1 -2
- package/lib/services/accessibility.service.d.ts +18 -0
- package/{src/lib/services/local-events.service.ts → lib/services/local-events.service.d.ts} +7 -10
- package/lib/services/node-entries.service.d.ts +69 -0
- package/lib/services/node-helper.service.d.ts +56 -0
- package/lib/services/nodes-drag-drop.service.d.ts +41 -0
- package/lib/services/options-helper-data.service.d.ts +75 -0
- package/lib/services/repo-url.service.d.ts +25 -0
- package/lib/services/temporary-storage.service.d.ts +35 -0
- package/lib/services/ui.service.d.ts +41 -0
- package/lib/sort-dropdown/sort-dropdown.component.d.ts +15 -0
- package/lib/spinner/spinner.component.d.ts +7 -0
- package/lib/translations/fallback-translation-handler.d.ts +4 -0
- package/lib/translations/languages.d.ts +4 -0
- package/lib/translations/translation-loader.d.ts +51 -0
- package/{src/lib/translations/translation-source.ts → lib/translations/translation-source.d.ts} +4 -4
- package/lib/translations/translations.module.d.ts +15 -0
- package/lib/translations/translations.service.d.ts +30 -0
- package/lib/types/accessibillity.d.ts +15 -0
- package/{src/lib/types/drag-drop.ts → lib/types/drag-drop.d.ts} +0 -3
- package/lib/types/keyboard-shortcuts.d.ts +10 -0
- package/lib/types/list-item.d.ts +55 -0
- package/lib/types/option-item.d.ts +236 -0
- package/lib/types/workflow.d.ts +14 -0
- package/lib/util/DateHelper.d.ts +44 -0
- package/lib/util/VCard.d.ts +66 -0
- package/lib/util/color-helper.d.ts +25 -0
- package/lib/util/duration-helper.d.ts +14 -0
- package/lib/util/functions.d.ts +4 -0
- package/lib/util/helper.d.ts +20 -0
- package/lib/util/isNumeric.d.ts +5 -0
- package/lib/util/rest-helper.d.ts +10 -0
- package/lib/util/ui-animation.d.ts +39 -0
- package/lib/util/ui-constants.d.ts +18 -0
- package/{src/module.ts → module.d.ts} +0 -4
- package/package.json +23 -9
- package/.browserslistrc +0 -16
- package/.eslintrc.json +0 -44
- package/karma.conf.js +0 -42
- package/ng-package.json +0 -10
- package/src/lib/actionbar/actionbar.component.html +0 -59
- package/src/lib/actionbar/actionbar.component.scss +0 -123
- package/src/lib/actionbar/actionbar.component.ts +0 -174
- package/src/lib/common/edu-sharing-ui-common.module.ts +0 -80
- package/src/lib/directives/border-box-observer.directive.ts +0 -75
- package/src/lib/directives/check-text-overflow.directive.ts +0 -61
- package/src/lib/directives/drag-nodes/drag-nodes.ts +0 -32
- package/src/lib/directives/drag-nodes/nodes-drag-source.directive.ts +0 -79
- package/src/lib/directives/drag-nodes/nodes-drag.directive.ts +0 -43
- package/src/lib/directives/drag-nodes/nodes-drop-target.directive.ts +0 -116
- package/src/lib/directives/focus-state.directive.ts +0 -34
- package/src/lib/directives/icon.directive.ts +0 -142
- package/src/lib/directives/nodes-drop-target-legacy.directive.ts +0 -155
- package/src/lib/dropdown/dropdown.component.html +0 -32
- package/src/lib/dropdown/dropdown.component.scss +0 -67
- package/src/lib/dropdown/dropdown.component.ts +0 -71
- package/src/lib/edu-sharing-ui-configuration.ts +0 -47
- package/src/lib/edu-sharing-ui.module.ts +0 -49
- package/src/lib/list-items/available-widgets.ts +0 -30
- package/src/lib/list-items/format-duration.pipe.ts +0 -17
- package/src/lib/list-items/list-base/list-base.component.html +0 -52
- package/src/lib/list-items/list-base/list-base.component.ts +0 -44
- package/src/lib/list-items/list-collection-info/list-collection-info.component.html +0 -48
- package/src/lib/list-items/list-collection-info/list-collection-info.component.scss +0 -8
- package/src/lib/list-items/list-collection-info/list-collection-info.component.ts +0 -24
- package/src/lib/list-items/list-counts/list-counts.component.html +0 -1
- package/src/lib/list-items/list-counts/list-counts.component.scss +0 -3
- package/src/lib/list-items/list-counts/list-counts.component.ts +0 -59
- package/src/lib/list-items/list-items.module.ts +0 -33
- package/src/lib/list-items/list-node-license/list-node-license.component.html +0 -8
- package/src/lib/list-items/list-node-license/list-node-license.component.ts +0 -47
- package/src/lib/list-items/list-node-replication-source/list-node-replication-source.component.html +0 -11
- package/src/lib/list-items/list-node-replication-source/list-node-replication-source.component.ts +0 -60
- package/src/lib/list-items/list-node-workflow/list-node-workflow.component.html +0 -3
- package/src/lib/list-items/list-node-workflow/list-node-workflow.component.ts +0 -21
- package/src/lib/list-items/list-text/list-text.component.html +0 -176
- package/src/lib/list-items/list-text/list-text.component.scss +0 -3
- package/src/lib/list-items/list-text/list-text.component.ts +0 -107
- package/src/lib/list-items/list-widget.ts +0 -52
- package/src/lib/list-items/node-row/node-row.component.html +0 -31
- package/src/lib/list-items/node-row/node-row.component.scss +0 -50
- package/src/lib/list-items/node-row/node-row.component.ts +0 -16
- package/src/lib/list-items/node-source.pipe.ts +0 -48
- package/src/lib/node-entries/combined-data-source.ts +0 -51
- package/src/lib/node-entries/drag-preview/drag-preview.component.html +0 -6
- package/src/lib/node-entries/drag-preview/drag-preview.component.scss +0 -35
- package/src/lib/node-entries/drag-preview/drag-preview.component.ts +0 -15
- package/src/lib/node-entries/items-cap.ts +0 -54
- package/src/lib/node-entries/list-item-label.pipe.ts +0 -28
- package/src/lib/node-entries/mixins.scss +0 -23
- package/src/lib/node-entries/node-cache.spec.ts +0 -199
- package/src/lib/node-entries/node-cache.ts +0 -81
- package/src/lib/node-entries/node-data-source.ts +0 -148
- package/src/lib/node-entries/node-entries-card/node-entries-card.component.html +0 -167
- package/src/lib/node-entries/node-entries-card/node-entries-card.component.scss +0 -28
- package/src/lib/node-entries/node-entries-card/node-entries-card.component.ts +0 -132
- package/src/lib/node-entries/node-entries-card/node-entries-card.main.scss +0 -261
- package/src/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.html +0 -205
- package/src/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.scss +0 -181
- package/src/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.ts +0 -361
- package/src/lib/node-entries/node-entries-card-small/node-entries-card-small.component.html +0 -100
- package/src/lib/node-entries/node-entries-card-small/node-entries-card-small.component.scss +0 -46
- package/src/lib/node-entries/node-entries-card-small/node-entries-card-small.component.ts +0 -40
- package/src/lib/node-entries/node-entries-global-options/node-entries-global-options.component.html +0 -23
- package/src/lib/node-entries/node-entries-global-options/node-entries-global-options.component.scss +0 -58
- package/src/lib/node-entries/node-entries-global-options/node-entries-global-options.component.ts +0 -16
- package/src/lib/node-entries/node-entries-global.service.ts +0 -79
- package/src/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.html +0 -25
- package/src/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.scss +0 -32
- package/src/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.ts +0 -31
- package/src/lib/node-entries/node-entries-table/node-entries-table.component.html +0 -270
- package/src/lib/node-entries/node-entries-table/node-entries-table.component.scss +0 -169
- package/src/lib/node-entries/node-entries-table/node-entries-table.component.ts +0 -333
- package/src/lib/node-entries/node-entries-wrapper.component.ts +0 -363
- package/src/lib/node-entries/node-entries.component.html +0 -33
- package/src/lib/node-entries/node-entries.component.scss +0 -13
- package/src/lib/node-entries/node-entries.component.ts +0 -151
- package/src/lib/node-entries/node-entries.module.ts +0 -93
- package/src/lib/node-entries/node-rating/node-rating.component.html +0 -53
- package/src/lib/node-entries/node-rating/node-rating.component.scss +0 -31
- package/src/lib/node-entries/node-rating/node-rating.component.ts +0 -105
- package/src/lib/node-entries/node-stats-badges/node-stats-badges.component.html +0 -39
- package/src/lib/node-entries/node-stats-badges/node-stats-badges.component.scss +0 -44
- package/src/lib/node-entries/node-stats-badges/node-stats-badges.component.ts +0 -43
- package/src/lib/node-entries/node-type-badge/node-type-badge.component.html +0 -31
- package/src/lib/node-entries/node-type-badge/node-type-badge.component.scss +0 -5
- package/src/lib/node-entries/node-type-badge/node-type-badge.component.ts +0 -36
- package/src/lib/node-entries/option-button/option-button.component.ts +0 -42
- package/src/lib/node-entries/preview-image/preview-image.component.html +0 -19
- package/src/lib/node-entries/preview-image/preview-image.component.scss +0 -31
- package/src/lib/node-entries/preview-image/preview-image.component.ts +0 -47
- package/src/lib/node-entries/sort-select-panel/sort-select-panel.component.html +0 -27
- package/src/lib/node-entries/sort-select-panel/sort-select-panel.component.scss +0 -9
- package/src/lib/node-entries/sort-select-panel/sort-select-panel.component.ts +0 -26
- package/src/lib/node-url/node-url.component.html +0 -66
- package/src/lib/node-url/node-url.component.scss +0 -32
- package/src/lib/node-url/node-url.component.ts +0 -136
- package/src/lib/pipes/file-size.pipe.ts +0 -24
- package/src/lib/pipes/format-date.pipe.ts +0 -39
- package/src/lib/pipes/node-icon.pipe.ts +0 -11
- package/src/lib/pipes/node-image-size.pipe.ts +0 -18
- package/src/lib/pipes/node-image.pipe.ts +0 -71
- package/src/lib/pipes/node-person-name.pipe.ts +0 -41
- package/src/lib/pipes/node-title.pipe.ts +0 -12
- package/src/lib/pipes/option-tooltip.pipe.ts +0 -32
- package/src/lib/pipes/replace-chars.pipe.ts +0 -21
- package/src/lib/pipes/vcard-name.pipe.ts +0 -11
- package/src/lib/services/abstract/keyboard-shortcuts.service.ts +0 -10
- package/src/lib/services/abstract/options-helper.service.ts +0 -29
- package/src/lib/services/accessibility.service.ts +0 -101
- package/src/lib/services/node-entries.service.ts +0 -172
- package/src/lib/services/node-helper.service.ts +0 -239
- package/src/lib/services/nodes-drag-drop.service.ts +0 -165
- package/src/lib/services/options-helper-data.service.ts +0 -186
- package/src/lib/services/repo-url.service.ts +0 -46
- package/src/lib/services/temporary-storage.service.ts +0 -58
- package/src/lib/services/ui.service.ts +0 -182
- package/src/lib/sort-dropdown/sort-dropdown.component.html +0 -22
- package/src/lib/sort-dropdown/sort-dropdown.component.scss +0 -47
- package/src/lib/sort-dropdown/sort-dropdown.component.ts +0 -42
- package/src/lib/spinner/spinner.component.html +0 -14
- package/src/lib/spinner/spinner.component.scss +0 -141
- package/src/lib/spinner/spinner.component.ts +0 -12
- package/src/lib/translations/README.md +0 -44
- package/src/lib/translations/fallback-translation-handler.ts +0 -7
- package/src/lib/translations/languages.ts +0 -6
- package/src/lib/translations/translation-loader.spec.ts +0 -352
- package/src/lib/translations/translation-loader.ts +0 -189
- package/src/lib/translations/translations.module.ts +0 -49
- package/src/lib/translations/translations.service.spec.ts +0 -152
- package/src/lib/translations/translations.service.ts +0 -188
- package/src/lib/types/accessibillity.ts +0 -15
- package/src/lib/types/keyboard-shortcuts.ts +0 -29
- package/src/lib/types/list-item.ts +0 -67
- package/src/lib/types/option-item.ts +0 -247
- package/src/lib/types/workflow.ts +0 -35
- package/src/lib/util/DateHelper.spec.ts +0 -112
- package/src/lib/util/DateHelper.ts +0 -197
- package/src/lib/util/VCard.ts +0 -277
- package/src/lib/util/color-helper.ts +0 -125
- package/src/lib/util/duration-helper.spec.ts +0 -35
- package/src/lib/util/duration-helper.ts +0 -98
- package/src/lib/util/functions.ts +0 -15
- package/src/lib/util/helper.ts +0 -60
- package/src/lib/util/isNumeric.ts +0 -13
- package/src/lib/util/rest-helper.ts +0 -28
- package/src/lib/util/ui-animation.ts +0 -154
- package/src/lib/util/ui-constants.ts +0 -20
- package/src/test.ts +0 -28
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
- /package/{src/lib/types/api-models.ts → lib/types/api-models.d.ts} +0 -0
package/assets/scss/mixins.scss
CHANGED
|
@@ -25,8 +25,11 @@
|
|
|
25
25
|
@mixin materialShadowSmall($important: false) {
|
|
26
26
|
box-shadow: 0 0 3px rgba(0, 0, 0, 0.3) if($important, !important, null);
|
|
27
27
|
}
|
|
28
|
+
@mixin materialShadowMedium($important: false, $opacity: 0.6) {
|
|
29
|
+
box-shadow: 0 0 10px rgba(0, 0, 0, $opacity) if($important, !important, null);
|
|
30
|
+
}
|
|
28
31
|
@mixin materialShadowMediumLarge($important: false, $opacity: 0.6) {
|
|
29
|
-
box-shadow: 0 0
|
|
32
|
+
box-shadow: 0 0 20px rgba(0, 0, 0, $opacity) if($important, !important, null);
|
|
30
33
|
}
|
|
31
34
|
@mixin materialScrollbar() {
|
|
32
35
|
&::-webkit-scrollbar-track {
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
--textMediumLight: #888;
|
|
11
11
|
--textMain: #383838;
|
|
12
12
|
--cardWidth: 240px;
|
|
13
|
+
--cardRoundness: 15px;
|
|
13
14
|
--colorStatusPositive: #40bf8e;
|
|
14
15
|
--colorStatusNegative: var(--warning);
|
|
15
16
|
--colorStarActive: #ba7c00;
|
|
@@ -30,4 +31,6 @@
|
|
|
30
31
|
var(--palette-primary-50) 5px
|
|
31
32
|
)
|
|
32
33
|
no-repeat;
|
|
34
|
+
// default roundness of material3 components
|
|
35
|
+
--defaultRoundness: 25px;
|
|
33
36
|
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { trigger } from '@angular/animations';
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import { UIAnimation } from '../util/ui-animation';
|
|
4
|
+
import { UIConstants } from '../util/ui-constants';
|
|
5
|
+
import { Helper } from '../util/helper';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../services/ui.service";
|
|
8
|
+
import * as i2 from "@ngx-translate/core";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i4 from "@angular/material/menu";
|
|
11
|
+
import * as i5 from "@angular/material/button";
|
|
12
|
+
import * as i6 from "@angular/material/tooltip";
|
|
13
|
+
import * as i7 from "../directives/icon.directive";
|
|
14
|
+
import * as i8 from "../dropdown/dropdown.component";
|
|
15
|
+
import * as i9 from "../pipes/option-tooltip.pipe";
|
|
16
|
+
/**
|
|
17
|
+
* The action bar provides several icons, usually at the top right, with actions for a current context
|
|
18
|
+
*/
|
|
19
|
+
export class ActionbarComponent {
|
|
20
|
+
/**
|
|
21
|
+
* Set the options, see @OptionItem
|
|
22
|
+
*/
|
|
23
|
+
set options(options) {
|
|
24
|
+
this.optionsIn = options;
|
|
25
|
+
this.prepareOptions(options);
|
|
26
|
+
}
|
|
27
|
+
constructor(uiService, translate) {
|
|
28
|
+
this.uiService = uiService;
|
|
29
|
+
this.translate = translate;
|
|
30
|
+
/**
|
|
31
|
+
* The amount of options which are not hidden inside an overflow menu
|
|
32
|
+
* (default: depending on mobile (1) or not (2))
|
|
33
|
+
* Also use numberOfAlwaysVisibleOptionsMobile to control the amount of mobile options visible
|
|
34
|
+
*/
|
|
35
|
+
this.numberOfAlwaysVisibleOptions = 2;
|
|
36
|
+
this.numberOfAlwaysVisibleOptionsMobile = 1;
|
|
37
|
+
/**
|
|
38
|
+
* Visual style of the actionbar
|
|
39
|
+
*
|
|
40
|
+
* Values:
|
|
41
|
+
* - 'button': material buttons with icons and text on medium to large screens
|
|
42
|
+
* - 'icon-button': material buttons without text
|
|
43
|
+
* - 'round': circular buttons without text
|
|
44
|
+
* @default 'button'
|
|
45
|
+
*/
|
|
46
|
+
this.appearance = 'button';
|
|
47
|
+
/**
|
|
48
|
+
* dropdownPosition is for position of dropdown (default = left)
|
|
49
|
+
* Values 'left' or 'right'
|
|
50
|
+
*/
|
|
51
|
+
this.dropdownPosition = 'left';
|
|
52
|
+
/**
|
|
53
|
+
* backgroundType for color matching, either bright, dark or primary
|
|
54
|
+
*/
|
|
55
|
+
this.backgroundType = 'bright';
|
|
56
|
+
/**
|
|
57
|
+
* Style, currently default or 'flat' if all always visible icons should get a flat look
|
|
58
|
+
*/
|
|
59
|
+
this.style = 'default';
|
|
60
|
+
/**
|
|
61
|
+
* Highlight one or more of the always-visible buttons as primary action.
|
|
62
|
+
*
|
|
63
|
+
* - `first`, `last`: The first / last of `optionsAlways` by order.
|
|
64
|
+
* - `manual`: Highlight all options that set `isPrimary = true`.
|
|
65
|
+
*/
|
|
66
|
+
this.highlight = 'first';
|
|
67
|
+
/**
|
|
68
|
+
* Should disabled ("greyed out") options be shown or hidden?
|
|
69
|
+
*/
|
|
70
|
+
this.showDisabled = true;
|
|
71
|
+
this.optionsIn = [];
|
|
72
|
+
this.optionsAlways = [];
|
|
73
|
+
this.optionsMenu = [];
|
|
74
|
+
this.optionsToggle = [];
|
|
75
|
+
}
|
|
76
|
+
prepareOptions(options) {
|
|
77
|
+
options = this.uiService.filterValidOptions(Helper.deepCopyArray(options));
|
|
78
|
+
if (options == null) {
|
|
79
|
+
this.optionsAlways = [];
|
|
80
|
+
this.optionsMenu = [];
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
this.optionsToggle = this.uiService.filterToggleOptions(options, true);
|
|
84
|
+
this.optionsAlways = this.getActionOptions(this.uiService.filterToggleOptions(options, false)).slice(0, this.getNumberOptions());
|
|
85
|
+
if (!this.optionsAlways.length) {
|
|
86
|
+
this.optionsAlways = this.uiService
|
|
87
|
+
.filterToggleOptions(options, false)
|
|
88
|
+
.slice(0, this.getNumberOptions());
|
|
89
|
+
}
|
|
90
|
+
this.optionsMenu = this.hideActionOptions(this.uiService.filterToggleOptions(options, false), this.optionsAlways);
|
|
91
|
+
// may causes weird looking
|
|
92
|
+
/*if(this.optionsMenu.length<2) {
|
|
93
|
+
this.optionsAlways = this.optionsAlways.concat(this.optionsMenu);
|
|
94
|
+
this.optionsMenu = [];
|
|
95
|
+
}*/
|
|
96
|
+
}
|
|
97
|
+
getNumberOptions() {
|
|
98
|
+
if (window.innerWidth < UIConstants.MOBILE_WIDTH) {
|
|
99
|
+
return this.numberOfAlwaysVisibleOptionsMobile;
|
|
100
|
+
}
|
|
101
|
+
return this.numberOfAlwaysVisibleOptions;
|
|
102
|
+
}
|
|
103
|
+
click(option) {
|
|
104
|
+
if (!option.isEnabled) {
|
|
105
|
+
if (option.disabledCallback) {
|
|
106
|
+
option.disabledCallback();
|
|
107
|
+
}
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
option.callback();
|
|
111
|
+
}
|
|
112
|
+
getActionOptions(options) {
|
|
113
|
+
const result = [];
|
|
114
|
+
for (const option of options) {
|
|
115
|
+
if (option.showAsAction)
|
|
116
|
+
result.push(option);
|
|
117
|
+
}
|
|
118
|
+
return result;
|
|
119
|
+
}
|
|
120
|
+
hideActionOptions(options, optionsAlways) {
|
|
121
|
+
const result = [];
|
|
122
|
+
for (const option of options) {
|
|
123
|
+
if (optionsAlways.indexOf(option) === -1)
|
|
124
|
+
result.push(option);
|
|
125
|
+
}
|
|
126
|
+
return result;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Invalidate / refreshes all options based on their current callbacks
|
|
130
|
+
*/
|
|
131
|
+
invalidate() {
|
|
132
|
+
this.prepareOptions(this.optionsIn);
|
|
133
|
+
}
|
|
134
|
+
filterDisabled(options) {
|
|
135
|
+
if (options == null)
|
|
136
|
+
return null;
|
|
137
|
+
const filtered = [];
|
|
138
|
+
for (const option of options) {
|
|
139
|
+
if (option.isEnabled || this.showDisabled)
|
|
140
|
+
filtered.push(option);
|
|
141
|
+
}
|
|
142
|
+
return filtered;
|
|
143
|
+
}
|
|
144
|
+
canShowDropdown() {
|
|
145
|
+
if (!this.optionsMenu.length) {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
return this.optionsMenu.filter((o) => o.isEnabled).length > 0;
|
|
149
|
+
}
|
|
150
|
+
shouldHighlight(optionIndex, option) {
|
|
151
|
+
switch (this.highlight) {
|
|
152
|
+
case 'first':
|
|
153
|
+
return optionIndex === 0;
|
|
154
|
+
case 'last':
|
|
155
|
+
return optionIndex === this.optionsAlways.length - 1;
|
|
156
|
+
case 'manual':
|
|
157
|
+
return option.isPrimary;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
ngOnChanges(changes) {
|
|
161
|
+
this.invalidate();
|
|
162
|
+
}
|
|
163
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ActionbarComponent, deps: [{ token: i1.UIService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
164
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ActionbarComponent, selector: "es-actionbar", inputs: { numberOfAlwaysVisibleOptions: "numberOfAlwaysVisibleOptions", numberOfAlwaysVisibleOptionsMobile: "numberOfAlwaysVisibleOptionsMobile", appearance: "appearance", dropdownPosition: "dropdownPosition", backgroundType: "backgroundType", style: "style", highlight: "highlight", showDisabled: "showDisabled", options: "options" }, usesOnChanges: true, ngImport: i0, template: "<es-dropdown\n #dropdownRef\n [options]=\"optionsMenu\"\n [showDisabled]=\"showDisabled\"\n [position]=\"dropdownPosition\"\n></es-dropdown>\n<div\n class=\"actionbar\"\n [class.actionbar-all-flat]=\"style === 'flat'\"\n [class.actionbar-background-dark]=\"backgroundType === 'dark'\"\n [class.actionbar-background-primary]=\"backgroundType === 'primary'\"\n [class.actionbar-round]=\"appearance === 'round'\"\n [class.actionbar-icon-button]=\"appearance === 'icon-button'\"\n>\n <ng-container *ngFor=\"let option of optionsAlways; let i = index\">\n <button\n *ngIf=\"shouldHighlight(i, option)\"\n mat-flat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n <button\n *ngIf=\"!shouldHighlight(i, option)\"\n mat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n </ng-container>\n <button\n mat-button\n color=\"primary\"\n class=\"more\"\n [attr.aria-label]=\"'OPTIONS.SHOW_ALL_OPTIONS' | translate\"\n [matMenuTriggerFor]=\"dropdownRef.menu\"\n *ngIf=\"canShowDropdown()\"\n data-test=\"more-actions-button\"\n >\n <i esIcon=\"more_vert\" [aria]=\"false\"></i>\n </button>\n <div\n *ngIf=\"optionsToggle.length\"\n class=\"actionToggle\"\n [class.actionToggleDivider]=\"optionsAlways.length\"\n >\n <button\n *ngFor=\"let option of optionsToggle\"\n mat-icon-button\n matTooltip=\"{{ option.name | translate }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n [class.disabled]=\"!option.isEnabled\"\n attr.data-test=\"toggle-{{ option.name }}\"\n >\n <i [esIcon]=\"option.icon\" [aria]=\"false\"></i>\n </button>\n </div>\n</div>\n", styles: [".actionbar{display:flex;align-items:center;gap:10px}.actionToggle>button{color:var(--textLight)}button{min-width:unset}.light{color:#fff;background:transparent}.disabled{pointer-events:all}.light a{color:#fff}.actionToggleDivider{padding-left:10px;border-left:1px solid #ddd}.more{color:var(--primary);background-color:transparent}.actionbar-background-dark .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-dark .mat-button:disabled{color:rgba(var(--palette-foreground-text-dark),.75)}.actionbar-background-primary .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-primary .mat-flat-button{background-color:#fff;color:var(--primary)}.actionbar-background-primary .mat-flat-button:disabled{color:var(--textLight)}.actionbar-round button{width:45px;height:45px;justify-content:center}.actionbar-round button{border-radius:50%;box-shadow:0 0 5px #0000004d}.actionbar-round.actionbar-background-primary .mat-button{background-color:#fff;color:var(--primary)}.actionbar-round.actionbar-all-flat button{background:white;color:var(--primary)}.actionbar-round.actionbar-all-flat button:disabled{color:var(--textLight)}.actionbar-round .more,.actionbar-round .actionAlways{background:white;color:var(--primary);display:flex;width:45px;height:45px;line-height:45px;text-align:center;align-items:center}.actionbar-round .more .edu-icons,.actionbar-round .more .material-icons,.actionbar-round .actionAlways .edu-icons,.actionbar-round .actionAlways .material-icons{position:relative;font-size:24px}.actionbar-round .more span,.actionbar-round .actionAlways span{display:none}.actionbar-round .action-always .edu-icons,.actionbar-round .action-always .material-icons{right:4px!important}@media screen and (max-width: calc(var(--mobileWidth) + var(--mobileStage) * 4)){.action-always{padding:0 1rem}.action-always-caption{display:none}.mat-flat-button{padding:5px}}.actionbar-icon-button .action-always{padding:0 1rem}.actionbar-icon-button .action-always-caption{display:none}.actionbar-icon-button .mat-flat-button{padding:5px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i7.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }, { kind: "component", type: i8.DropdownComponent, selector: "es-dropdown", inputs: ["position", "options", "callbackObject", "showDisabled", "menuClass"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.OptionTooltipPipe, name: "optionTooltip" }], animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))] }); }
|
|
165
|
+
}
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ActionbarComponent, decorators: [{
|
|
167
|
+
type: Component,
|
|
168
|
+
args: [{ selector: 'es-actionbar', animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))], template: "<es-dropdown\n #dropdownRef\n [options]=\"optionsMenu\"\n [showDisabled]=\"showDisabled\"\n [position]=\"dropdownPosition\"\n></es-dropdown>\n<div\n class=\"actionbar\"\n [class.actionbar-all-flat]=\"style === 'flat'\"\n [class.actionbar-background-dark]=\"backgroundType === 'dark'\"\n [class.actionbar-background-primary]=\"backgroundType === 'primary'\"\n [class.actionbar-round]=\"appearance === 'round'\"\n [class.actionbar-icon-button]=\"appearance === 'icon-button'\"\n>\n <ng-container *ngFor=\"let option of optionsAlways; let i = index\">\n <button\n *ngIf=\"shouldHighlight(i, option)\"\n mat-flat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n <button\n *ngIf=\"!shouldHighlight(i, option)\"\n mat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n </ng-container>\n <button\n mat-button\n color=\"primary\"\n class=\"more\"\n [attr.aria-label]=\"'OPTIONS.SHOW_ALL_OPTIONS' | translate\"\n [matMenuTriggerFor]=\"dropdownRef.menu\"\n *ngIf=\"canShowDropdown()\"\n data-test=\"more-actions-button\"\n >\n <i esIcon=\"more_vert\" [aria]=\"false\"></i>\n </button>\n <div\n *ngIf=\"optionsToggle.length\"\n class=\"actionToggle\"\n [class.actionToggleDivider]=\"optionsAlways.length\"\n >\n <button\n *ngFor=\"let option of optionsToggle\"\n mat-icon-button\n matTooltip=\"{{ option.name | translate }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n [class.disabled]=\"!option.isEnabled\"\n attr.data-test=\"toggle-{{ option.name }}\"\n >\n <i [esIcon]=\"option.icon\" [aria]=\"false\"></i>\n </button>\n </div>\n</div>\n", styles: [".actionbar{display:flex;align-items:center;gap:10px}.actionToggle>button{color:var(--textLight)}button{min-width:unset}.light{color:#fff;background:transparent}.disabled{pointer-events:all}.light a{color:#fff}.actionToggleDivider{padding-left:10px;border-left:1px solid #ddd}.more{color:var(--primary);background-color:transparent}.actionbar-background-dark .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-dark .mat-button:disabled{color:rgba(var(--palette-foreground-text-dark),.75)}.actionbar-background-primary .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-primary .mat-flat-button{background-color:#fff;color:var(--primary)}.actionbar-background-primary .mat-flat-button:disabled{color:var(--textLight)}.actionbar-round button{width:45px;height:45px;justify-content:center}.actionbar-round button{border-radius:50%;box-shadow:0 0 5px #0000004d}.actionbar-round.actionbar-background-primary .mat-button{background-color:#fff;color:var(--primary)}.actionbar-round.actionbar-all-flat button{background:white;color:var(--primary)}.actionbar-round.actionbar-all-flat button:disabled{color:var(--textLight)}.actionbar-round .more,.actionbar-round .actionAlways{background:white;color:var(--primary);display:flex;width:45px;height:45px;line-height:45px;text-align:center;align-items:center}.actionbar-round .more .edu-icons,.actionbar-round .more .material-icons,.actionbar-round .actionAlways .edu-icons,.actionbar-round .actionAlways .material-icons{position:relative;font-size:24px}.actionbar-round .more span,.actionbar-round .actionAlways span{display:none}.actionbar-round .action-always .edu-icons,.actionbar-round .action-always .material-icons{right:4px!important}@media screen and (max-width: calc(var(--mobileWidth) + var(--mobileStage) * 4)){.action-always{padding:0 1rem}.action-always-caption{display:none}.mat-flat-button{padding:5px}}.actionbar-icon-button .action-always{padding:0 1rem}.actionbar-icon-button .action-always-caption{display:none}.actionbar-icon-button .mat-flat-button{padding:5px}\n"] }]
|
|
169
|
+
}], ctorParameters: function () { return [{ type: i1.UIService }, { type: i2.TranslateService }]; }, propDecorators: { numberOfAlwaysVisibleOptions: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], numberOfAlwaysVisibleOptionsMobile: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], appearance: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], dropdownPosition: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], backgroundType: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], style: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], highlight: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], showDisabled: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], options: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}] } });
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFReEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBMkMzQjs7T0FFRztJQUNILElBQWEsT0FBTyxDQUFDLE9BQXFCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQU9ELFlBQW9CLFNBQW9CLEVBQVUsU0FBMkI7UUFBekQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBdkQ3RTs7OztXQUlHO1FBQ00saUNBQTRCLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLHVDQUFrQyxHQUFHLENBQUMsQ0FBQztRQUNoRDs7Ozs7Ozs7V0FRRztRQUNNLGVBQVUsR0FBdUMsUUFBUSxDQUFDO1FBQ25FOzs7V0FHRztRQUNNLHFCQUFnQixHQUFxQixNQUFNLENBQUM7UUFFckQ7O1dB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QUFFLENBQUM7SUFDdEIsQ0FBQzs4R0ExSlEsa0JBQWtCO2tHQUFsQixrQkFBa0IseVpDbEIvQixraEZBMkVBLDR6R0Q5RGdCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7OzJGQUtyRixrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0ksY0FBYyxjQUdaLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7K0hBV3JGLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDRyxrQ0FBa0M7c0JBQTFDLEtBQUs7Z0JBVUcsVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlPLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFVJQW5pbWF0aW9uIH0gZnJvbSAnLi4vdXRpbC91aS1hbmltYXRpb24nO1xuaW1wb3J0IHsgVUlDb25zdGFudHMgfSBmcm9tICcuLi91dGlsL3VpLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBPcHRpb25JdGVtIH0gZnJvbSAnLi4vdHlwZXMvb3B0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgVUlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdWkuc2VydmljZSc7XG5pbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuLi91dGlsL2hlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtYWN0aW9uYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2FjdGlvbmJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2FjdGlvbmJhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFt0cmlnZ2VyKCdvcGVuT3ZlcmxheScsIFVJQW5pbWF0aW9uLm9wZW5PdmVybGF5KFVJQW5pbWF0aW9uLkFOSU1BVElPTl9USU1FX0ZBU1QpKV0sXG59KVxuLyoqXG4gKiBUaGUgYWN0aW9uIGJhciBwcm92aWRlcyBzZXZlcmFsIGljb25zLCB1c3VhbGx5IGF0IHRoZSB0b3AgcmlnaHQsIHdpdGggYWN0aW9ucyBmb3IgYSBjdXJyZW50IGNvbnRleHRcbiAqL1xuZXhwb3J0IGNsYXNzIEFjdGlvbmJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgICogVGhlIGFtb3VudCBvZiBvcHRpb25zIHdoaWNoIGFyZSBub3QgaGlkZGVuIGluc2lkZSBhbiBvdmVyZmxvdyBtZW51XG4gICAgICogKGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBtb2JpbGUgKDEpIG9yIG5vdCAoMikpXG4gICAgICogQWxzbyB1c2UgbnVtYmVyT2ZBbHdheXNWaXNpYmxlT3B0aW9uc01vYmlsZSB0byBjb250cm9sIHRoZSBhbW91bnQgb2YgbW9iaWxlIG9wdGlvbnMgdmlzaWJsZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnMgPSAyO1xuICAgIEBJbnB1dCgpIG51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnNNb2JpbGUgPSAxO1xuICAgIC8qKlxuICAgICAqIFZpc3VhbCBzdHlsZSBvZiB0aGUgYWN0aW9uYmFyXG4gICAgICpcbiAgICAgKiBWYWx1ZXM6XG4gICAgICogIC0gJ2J1dHRvbic6IG1hdGVyaWFsIGJ1dHRvbnMgd2l0aCBpY29ucyBhbmQgdGV4dCBvbiBtZWRpdW0gdG8gbGFyZ2Ugc2NyZWVuc1xuICAgICAqICAtICdpY29uLWJ1dHRvbic6IG1hdGVyaWFsIGJ1dHRvbnMgd2l0aG91dCB0ZXh0XG4gICAgICogIC0gJ3JvdW5kJzogY2lyY3VsYXIgYnV0dG9ucyB3aXRob3V0IHRleHRcbiAgICAgKiBAZGVmYXVsdCAnYnV0dG9uJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFwcGVhcmFuY2U6ICdyb3VuZCcgfCAnYnV0dG9uJyB8ICdpY29uLWJ1dHRvbicgPSAnYnV0dG9uJztcbiAgICAvKipcbiAgICAgKiBkcm9wZG93blBvc2l0aW9uIGlzIGZvciBwb3NpdGlvbiBvZiBkcm9wZG93biAoZGVmYXVsdCA9IGxlZnQpXG4gICAgICogVmFsdWVzICdsZWZ0JyBvciAncmlnaHQnXG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcGRvd25Qb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcblxuICAgIC8qKlxuICAgICAqIGJhY2tncm91bmRUeXBlIGZvciBjb2xvciBtYXRjaGluZywgZWl0aGVyIGJyaWdodCwgZGFyayBvciBwcmltYXJ5XG4gICAgICovXG4gICAgQElucHV0KCkgYmFja2dyb3VuZFR5cGU6ICdicmlnaHQnIHwgJ2RhcmsnIHwgJ3ByaW1hcnknID0gJ2JyaWdodCc7XG4gICAgLyoqXG4gICAgICogU3R5bGUsIGN1cnJlbnRseSBkZWZhdWx0IG9yICdmbGF0JyBpZiBhbGwgYWx3YXlzIHZpc2libGUgaWNvbnMgc2hvdWxkIGdldCBhIGZsYXQgbG9va1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiAnZGVmYXVsdCcgfCAnZmxhdCcgPSAnZGVmYXVsdCc7XG4gICAgLyoqXG4gICAgICogSGlnaGxpZ2h0IG9uZSBvciBtb3JlIG9mIHRoZSBhbHdheXMtdmlzaWJsZSBidXR0b25zIGFzIHByaW1hcnkgYWN0aW9uLlxuICAgICAqXG4gICAgICogLSBgZmlyc3RgLCBgbGFzdGA6IFRoZSBmaXJzdCAvIGxhc3Qgb2YgYG9wdGlvbnNBbHdheXNgIGJ5IG9yZGVyLlxuICAgICAqIC0gYG1hbnVhbGA6IEhpZ2hsaWdodCBhbGwgb3B0aW9ucyB0aGF0IHNldCBgaXNQcmltYXJ5ID0gdHJ1ZWAuXG4gICAgICovXG4gICAgQElucHV0KCkgaGlnaGxpZ2h0OiAnZmlyc3QnIHwgJ2xhc3QnIHwgJ21hbnVhbCcgPSAnZmlyc3QnO1xuICAgIC8qKlxuICAgICAqIFNob3VsZCBkaXNhYmxlZCAoXCJncmV5ZWQgb3V0XCIpIG9wdGlvbnMgYmUgc2hvd24gb3IgaGlkZGVuP1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dEaXNhYmxlZCA9IHRydWU7XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBvcHRpb25zLCBzZWUgQE9wdGlvbkl0ZW1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgb3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgdGhpcy5vcHRpb25zSW4gPSBvcHRpb25zO1xuICAgICAgICB0aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIG9wdGlvbnNJbjogT3B0aW9uSXRlbVtdID0gW107XG4gICAgb3B0aW9uc0Fsd2F5czogT3B0aW9uSXRlbVtdID0gW107XG4gICAgb3B0aW9uc01lbnU6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuICAgIG9wdGlvbnNUb2dnbGU6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB1aVNlcnZpY2U6IFVJU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICBwcml2YXRlIHByZXBhcmVPcHRpb25zKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSkge1xuICAgICAgICBvcHRpb25zID0gdGhpcy51aVNlcnZpY2UuZmlsdGVyVmFsaWRPcHRpb25zKEhlbHBlci5kZWVwQ29weUFycmF5KG9wdGlvbnMpKTtcbiAgICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zQWx3YXlzID0gW107XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnNNZW51ID0gW107XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcHRpb25zVG9nZ2xlID0gdGhpcy51aVNlcnZpY2UuZmlsdGVyVG9nZ2xlT3B0aW9ucyhvcHRpb25zLCB0cnVlKTtcbiAgICAgICAgdGhpcy5vcHRpb25zQWx3YXlzID0gdGhpcy5nZXRBY3Rpb25PcHRpb25zKFxuICAgICAgICAgICAgdGhpcy51aVNlcnZpY2UuZmlsdGVyVG9nZ2xlT3B0aW9ucyhvcHRpb25zLCBmYWxzZSksXG4gICAgICAgICkuc2xpY2UoMCwgdGhpcy5nZXROdW1iZXJPcHRpb25zKCkpO1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9uc0Fsd2F5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uc0Fsd2F5cyA9IHRoaXMudWlTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmZpbHRlclRvZ2dsZU9wdGlvbnMob3B0aW9ucywgZmFsc2UpXG4gICAgICAgICAgICAgICAgLnNsaWNlKDAsIHRoaXMuZ2V0TnVtYmVyT3B0aW9ucygpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wdGlvbnNNZW51ID0gdGhpcy5oaWRlQWN0aW9uT3B0aW9ucyhcbiAgICAgICAgICAgIHRoaXMudWlTZXJ2aWNlLmZpbHRlclRvZ2dsZU9wdGlvbnMob3B0aW9ucywgZmFsc2UpLFxuICAgICAgICAgICAgdGhpcy5vcHRpb25zQWx3YXlzLFxuICAgICAgICApO1xuICAgICAgICAvLyBtYXkgY2F1c2VzIHdlaXJkIGxvb2tpbmdcbiAgICAgICAgLyppZih0aGlzLm9wdGlvbnNNZW51Lmxlbmd0aDwyKSB7XG4gICAgICB0aGlzLm9wdGlvbnNBbHdheXMgPSB0aGlzLm9wdGlvbnNBbHdheXMuY29uY2F0KHRoaXMub3B0aW9uc01lbnUpO1xuICAgICAgdGhpcy5vcHRpb25zTWVudSA9IFtdO1xuICAgIH0qL1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROdW1iZXJPcHRpb25zKCkge1xuICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCBVSUNvbnN0YW50cy5NT0JJTEVfV0lEVEgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnNNb2JpbGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubnVtYmVyT2ZBbHdheXNWaXNpYmxlT3B0aW9ucztcbiAgICB9XG5cbiAgICBjbGljayhvcHRpb246IE9wdGlvbkl0ZW0pIHtcbiAgICAgICAgaWYgKCFvcHRpb24uaXNFbmFibGVkKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9uLmRpc2FibGVkQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWRDYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIG9wdGlvbi5jYWxsYmFjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWN0aW9uT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBPcHRpb25JdGVtW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbi5zaG93QXNBY3Rpb24pIHJlc3VsdC5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVBY3Rpb25PcHRpb25zKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSwgb3B0aW9uc0Fsd2F5czogT3B0aW9uSXRlbVtdKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogT3B0aW9uSXRlbVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zQWx3YXlzLmluZGV4T2Yob3B0aW9uKSA9PT0gLTEpIHJlc3VsdC5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnZhbGlkYXRlIC8gcmVmcmVzaGVzIGFsbCBvcHRpb25zIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQgY2FsbGJhY2tzXG4gICAgICovXG4gICAgcHVibGljIGludmFsaWRhdGUoKSB7XG4gICAgICAgIHRoaXMucHJlcGFyZU9wdGlvbnModGhpcy5vcHRpb25zSW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyRGlzYWJsZWQob3B0aW9uczogT3B0aW9uSXRlbVtdKSB7XG4gICAgICAgIGlmIChvcHRpb25zID09IG51bGwpIHJldHVybiBudWxsO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9uLmlzRW5hYmxlZCB8fCB0aGlzLnNob3dEaXNhYmxlZCkgZmlsdGVyZWQucHVzaChvcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWx0ZXJlZDtcbiAgICB9XG5cbiAgICBjYW5TaG93RHJvcGRvd24oKSB7XG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zTWVudS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zTWVudS5maWx0ZXIoKG8pID0+IG8uaXNFbmFibGVkKS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIHNob3VsZEhpZ2hsaWdodChvcHRpb25JbmRleDogbnVtYmVyLCBvcHRpb246IE9wdGlvbkl0ZW0pOiBib29sZWFuIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmhpZ2hsaWdodCkge1xuICAgICAgICAgICAgY2FzZSAnZmlyc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25JbmRleCA9PT0gMDtcbiAgICAgICAgICAgIGNhc2UgJ2xhc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25JbmRleCA9PT0gdGhpcy5vcHRpb25zQWx3YXlzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICBjYXNlICdtYW51YWwnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24uaXNQcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgICB9XG59XG4iLCI8ZXMtZHJvcGRvd25cbiAgI2Ryb3Bkb3duUmVmXG4gIFtvcHRpb25zXT1cIm9wdGlvbnNNZW51XCJcbiAgW3Nob3dEaXNhYmxlZF09XCJzaG93RGlzYWJsZWRcIlxuICBbcG9zaXRpb25dPVwiZHJvcGRvd25Qb3NpdGlvblwiXG4+PC9lcy1kcm9wZG93bj5cbjxkaXZcbiAgY2xhc3M9XCJhY3Rpb25iYXJcIlxuICBbY2xhc3MuYWN0aW9uYmFyLWFsbC1mbGF0XT1cInN0eWxlID09PSAnZmxhdCdcIlxuICBbY2xhc3MuYWN0aW9uYmFyLWJhY2tncm91bmQtZGFya109XCJiYWNrZ3JvdW5kVHlwZSA9PT0gJ2RhcmsnXCJcbiAgW2NsYXNzLmFjdGlvbmJhci1iYWNrZ3JvdW5kLXByaW1hcnldPVwiYmFja2dyb3VuZFR5cGUgPT09ICdwcmltYXJ5J1wiXG4gIFtjbGFzcy5hY3Rpb25iYXItcm91bmRdPVwiYXBwZWFyYW5jZSA9PT0gJ3JvdW5kJ1wiXG4gIFtjbGFzcy5hY3Rpb25iYXItaWNvbi1idXR0b25dPVwiYXBwZWFyYW5jZSA9PT0gJ2ljb24tYnV0dG9uJ1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zQWx3YXlzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG91bGRIaWdobGlnaHQoaSwgb3B0aW9uKVwiXG4gICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIW9wdGlvbi5pc0VuYWJsZWRcIlxuICAgICAgW2NsYXNzLmRpc3BsYXktbm9uZV09XCIhb3B0aW9uLmlzRW5hYmxlZCAmJiAhc2hvd0Rpc2FibGVkXCJcbiAgICAgIG1hdFRvb2x0aXA9XCJ7eyBvcHRpb24gfCBvcHRpb25Ub29sdGlwIH19XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uLm5hbWUgfCB0cmFuc2xhdGVcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrKG9wdGlvbilcIlxuICAgID5cbiAgICAgIDxpIFtlc0ljb25dPVwib3B0aW9uLmljb25cIj48L2k+XG4gICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbi1hbHdheXMtY2FwdGlvblwiICpuZ0lmPVwib3B0aW9uLnNob3dOYW1lICYmIGFwcGVhcmFuY2UgPT09ICdidXR0b24nXCI+XG4gICAgICAgIHt7IG9wdGlvbi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICA+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCIhc2hvdWxkSGlnaGxpZ2h0KGksIG9wdGlvbilcIlxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhb3B0aW9uLmlzRW5hYmxlZFwiXG4gICAgICBbY2xhc3MuZGlzcGxheS1ub25lXT1cIiFvcHRpb24uaXNFbmFibGVkICYmICFzaG93RGlzYWJsZWRcIlxuICAgICAgbWF0VG9vbHRpcD1cInt7IG9wdGlvbiB8IG9wdGlvblRvb2x0aXAgfX1cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubmFtZSB8IHRyYW5zbGF0ZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2sob3B0aW9uKVwiXG4gICAgPlxuICAgICAgPGkgW2VzSWNvbl09XCJvcHRpb24uaWNvblwiPjwvaT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uLWFsd2F5cy1jYXB0aW9uXCIgKm5nSWY9XCJvcHRpb24uc2hvd05hbWUgJiYgYXBwZWFyYW5jZSA9PT0gJ2J1dHRvbidcIj5cbiAgICAgICAge3sgb3B0aW9uLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgID5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxidXR0b25cbiAgICBtYXQtYnV0dG9uXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICBjbGFzcz1cIm1vcmVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09QVElPTlMuU0hPV19BTExfT1BUSU9OUycgfCB0cmFuc2xhdGVcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJkcm9wZG93blJlZi5tZW51XCJcbiAgICAqbmdJZj1cImNhblNob3dEcm9wZG93bigpXCJcbiAgICBkYXRhLXRlc3Q9XCJtb3JlLWFjdGlvbnMtYnV0dG9uXCJcbiAgPlxuICAgIDxpIGVzSWNvbj1cIm1vcmVfdmVydFwiIFthcmlhXT1cImZhbHNlXCI+PC9pPlxuICA8L2J1dHRvbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwib3B0aW9uc1RvZ2dsZS5sZW5ndGhcIlxuICAgIGNsYXNzPVwiYWN0aW9uVG9nZ2xlXCJcbiAgICBbY2xhc3MuYWN0aW9uVG9nZ2xlRGl2aWRlcl09XCJvcHRpb25zQWx3YXlzLmxlbmd0aFwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNUb2dnbGVcIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBtYXRUb29sdGlwPVwie3sgb3B0aW9uLm5hbWUgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubmFtZSB8IHRyYW5zbGF0ZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2sob3B0aW9uKVwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIW9wdGlvbi5pc0VuYWJsZWRcIlxuICAgICAgYXR0ci5kYXRhLXRlc3Q9XCJ0b2dnbGUte3sgb3B0aW9uLm5hbWUgfX1cIlxuICAgID5cbiAgICAgIDxpIFtlc0ljb25dPVwib3B0aW9uLmljb25cIiBbYXJpYV09XCJmYWxzZVwiPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { NodeIconPipe } from '../pipes/node-icon.pipe';
|
|
3
|
+
import { VCardNamePipe } from '../pipes/vcard-name.pipe';
|
|
4
|
+
import { NodeImagePipe } from '../pipes/node-image.pipe';
|
|
5
|
+
import { IconDirective } from '../directives/icon.directive';
|
|
6
|
+
import { FormatSizePipe } from '../pipes/file-size.pipe';
|
|
7
|
+
import { CommonModule } from '@angular/common';
|
|
8
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
9
|
+
import { NodeImageSizePipe } from '../pipes/node-image-size.pipe';
|
|
10
|
+
import { NodePersonNamePipe } from '../pipes/node-person-name.pipe';
|
|
11
|
+
import { FormatDatePipe } from '../pipes/format-date.pipe';
|
|
12
|
+
import { SortDropdownComponent } from '../sort-dropdown/sort-dropdown.component';
|
|
13
|
+
import { CheckTextOverflowDirective } from '../directives/check-text-overflow.directive';
|
|
14
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
15
|
+
import { NodeTitlePipe } from '../pipes/node-title.pipe';
|
|
16
|
+
import { SpinnerComponent } from '../spinner/spinner.component';
|
|
17
|
+
import { NodeUrlComponent } from '../node-url/node-url.component';
|
|
18
|
+
import { DropdownComponent } from '../dropdown/dropdown.component';
|
|
19
|
+
import { RouterModule } from '@angular/router';
|
|
20
|
+
import { MatRippleModule } from '@angular/material/core';
|
|
21
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
22
|
+
import { OptionTooltipPipe } from '../pipes/option-tooltip.pipe';
|
|
23
|
+
import { ReplaceCharsPipe } from '../pipes/replace-chars.pipe';
|
|
24
|
+
import { ActionbarComponent } from '../actionbar/actionbar.component';
|
|
25
|
+
import { BorderBoxObserverDirective } from '../directives/border-box-observer.directive';
|
|
26
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
27
|
+
import { FocusStateDirective } from '../directives/focus-state.directive';
|
|
28
|
+
import * as i0 from "@angular/core";
|
|
29
|
+
export class EduSharingUiCommonModule {
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: EduSharingUiCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
31
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: EduSharingUiCommonModule, declarations: [IconDirective,
|
|
32
|
+
CheckTextOverflowDirective,
|
|
33
|
+
NodeIconPipe,
|
|
34
|
+
NodeImagePipe,
|
|
35
|
+
VCardNamePipe,
|
|
36
|
+
FocusStateDirective,
|
|
37
|
+
FormatSizePipe,
|
|
38
|
+
NodeImageSizePipe,
|
|
39
|
+
NodePersonNamePipe,
|
|
40
|
+
NodeTitlePipe,
|
|
41
|
+
FormatDatePipe,
|
|
42
|
+
ReplaceCharsPipe,
|
|
43
|
+
SortDropdownComponent,
|
|
44
|
+
SpinnerComponent,
|
|
45
|
+
NodeUrlComponent,
|
|
46
|
+
DropdownComponent,
|
|
47
|
+
OptionTooltipPipe,
|
|
48
|
+
ActionbarComponent,
|
|
49
|
+
BorderBoxObserverDirective], imports: [CommonModule,
|
|
50
|
+
MatMenuModule,
|
|
51
|
+
MatButtonModule,
|
|
52
|
+
MatTooltipModule,
|
|
53
|
+
MatRippleModule,
|
|
54
|
+
TranslateModule,
|
|
55
|
+
RouterModule], exports: [IconDirective,
|
|
56
|
+
CheckTextOverflowDirective,
|
|
57
|
+
NodeIconPipe,
|
|
58
|
+
NodeImagePipe,
|
|
59
|
+
VCardNamePipe,
|
|
60
|
+
SortDropdownComponent,
|
|
61
|
+
FocusStateDirective,
|
|
62
|
+
FormatSizePipe,
|
|
63
|
+
NodeImageSizePipe,
|
|
64
|
+
NodePersonNamePipe,
|
|
65
|
+
NodeTitlePipe,
|
|
66
|
+
FormatDatePipe,
|
|
67
|
+
SpinnerComponent,
|
|
68
|
+
NodeUrlComponent,
|
|
69
|
+
DropdownComponent,
|
|
70
|
+
ActionbarComponent,
|
|
71
|
+
BorderBoxObserverDirective] }); }
|
|
72
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: EduSharingUiCommonModule, imports: [CommonModule,
|
|
73
|
+
MatMenuModule,
|
|
74
|
+
MatButtonModule,
|
|
75
|
+
MatTooltipModule,
|
|
76
|
+
MatRippleModule,
|
|
77
|
+
TranslateModule,
|
|
78
|
+
RouterModule] }); }
|
|
79
|
+
}
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: EduSharingUiCommonModule, decorators: [{
|
|
81
|
+
type: NgModule,
|
|
82
|
+
args: [{
|
|
83
|
+
declarations: [
|
|
84
|
+
IconDirective,
|
|
85
|
+
CheckTextOverflowDirective,
|
|
86
|
+
NodeIconPipe,
|
|
87
|
+
NodeImagePipe,
|
|
88
|
+
VCardNamePipe,
|
|
89
|
+
FocusStateDirective,
|
|
90
|
+
FormatSizePipe,
|
|
91
|
+
NodeImageSizePipe,
|
|
92
|
+
NodePersonNamePipe,
|
|
93
|
+
NodeTitlePipe,
|
|
94
|
+
FormatDatePipe,
|
|
95
|
+
ReplaceCharsPipe,
|
|
96
|
+
SortDropdownComponent,
|
|
97
|
+
SpinnerComponent,
|
|
98
|
+
NodeUrlComponent,
|
|
99
|
+
DropdownComponent,
|
|
100
|
+
OptionTooltipPipe,
|
|
101
|
+
ActionbarComponent,
|
|
102
|
+
BorderBoxObserverDirective,
|
|
103
|
+
],
|
|
104
|
+
imports: [
|
|
105
|
+
CommonModule,
|
|
106
|
+
MatMenuModule,
|
|
107
|
+
MatButtonModule,
|
|
108
|
+
MatTooltipModule,
|
|
109
|
+
MatRippleModule,
|
|
110
|
+
TranslateModule,
|
|
111
|
+
RouterModule,
|
|
112
|
+
],
|
|
113
|
+
exports: [
|
|
114
|
+
IconDirective,
|
|
115
|
+
CheckTextOverflowDirective,
|
|
116
|
+
NodeIconPipe,
|
|
117
|
+
NodeImagePipe,
|
|
118
|
+
VCardNamePipe,
|
|
119
|
+
SortDropdownComponent,
|
|
120
|
+
FocusStateDirective,
|
|
121
|
+
FormatSizePipe,
|
|
122
|
+
NodeImageSizePipe,
|
|
123
|
+
NodePersonNamePipe,
|
|
124
|
+
NodeTitlePipe,
|
|
125
|
+
FormatDatePipe,
|
|
126
|
+
SpinnerComponent,
|
|
127
|
+
NodeUrlComponent,
|
|
128
|
+
DropdownComponent,
|
|
129
|
+
ActionbarComponent,
|
|
130
|
+
BorderBoxObserverDirective,
|
|
131
|
+
],
|
|
132
|
+
}]
|
|
133
|
+
}] });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWR1LXNoYXJpbmctdWktY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvY29tbW9uL2VkdS1zaGFyaW5nLXVpLWNvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBcUQxRSxNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7K0dBQXhCLHdCQUF3QixpQkFqRDdCLGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLDBCQUEwQixhQUcxQixZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGVBQWU7WUFDZixZQUFZLGFBR1osYUFBYTtZQUNiLDBCQUEwQjtZQUMxQixZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYixxQkFBcUI7WUFDckIsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLDBCQUEwQjsrR0FHckIsd0JBQXdCLFlBNUI3QixZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGVBQWU7WUFDZixZQUFZOzsyRkFzQlAsd0JBQXdCO2tCQW5EcEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsYUFBYTt3QkFDYiwwQkFBMEI7d0JBQzFCLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsYUFBYTt3QkFDYiwwQkFBMEI7d0JBQzFCLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7cUJBQzdCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVJY29uUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtaWNvbi5waXBlJztcbmltcG9ydCB7IFZDYXJkTmFtZVBpcGUgfSBmcm9tICcuLi9waXBlcy92Y2FyZC1uYW1lLnBpcGUnO1xuaW1wb3J0IHsgTm9kZUltYWdlUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtaW1hZ2UucGlwZSc7XG5pbXBvcnQgeyBJY29uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3JtYXRTaXplUGlwZSB9IGZyb20gJy4uL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE5vZGVJbWFnZVNpemVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbm9kZS1pbWFnZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgTm9kZVBlcnNvbk5hbWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbm9kZS1wZXJzb24tbmFtZS5waXBlJztcbmltcG9ydCB7IEZvcm1hdERhdGVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvZm9ybWF0LWRhdGUucGlwZSc7XG5pbXBvcnQgeyBTb3J0RHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9zb3J0LWRyb3Bkb3duL3NvcnQtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrVGV4dE92ZXJmbG93RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jaGVjay10ZXh0LW92ZXJmbG93LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBOb2RlVGl0bGVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbm9kZS10aXRsZS5waXBlJztcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuLi9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5vZGVVcmxDb21wb25lbnQgfSBmcm9tICcuLi9ub2RlLXVybC9ub2RlLXVybC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hdFJpcHBsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgT3B0aW9uVG9vbHRpcFBpcGUgfSBmcm9tICcuLi9waXBlcy9vcHRpb24tdG9vbHRpcC5waXBlJztcbmltcG9ydCB7IFJlcGxhY2VDaGFyc1BpcGUgfSBmcm9tICcuLi9waXBlcy9yZXBsYWNlLWNoYXJzLnBpcGUnO1xuaW1wb3J0IHsgQWN0aW9uYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm9yZGVyQm94T2JzZXJ2ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2JvcmRlci1ib3gtb2JzZXJ2ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBGb2N1c1N0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9mb2N1cy1zdGF0ZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBJY29uRGlyZWN0aXZlLFxuICAgICAgICBDaGVja1RleHRPdmVyZmxvd0RpcmVjdGl2ZSxcbiAgICAgICAgTm9kZUljb25QaXBlLFxuICAgICAgICBOb2RlSW1hZ2VQaXBlLFxuICAgICAgICBWQ2FyZE5hbWVQaXBlLFxuICAgICAgICBGb2N1c1N0YXRlRGlyZWN0aXZlLFxuICAgICAgICBGb3JtYXRTaXplUGlwZSxcbiAgICAgICAgTm9kZUltYWdlU2l6ZVBpcGUsXG4gICAgICAgIE5vZGVQZXJzb25OYW1lUGlwZSxcbiAgICAgICAgTm9kZVRpdGxlUGlwZSxcbiAgICAgICAgRm9ybWF0RGF0ZVBpcGUsXG4gICAgICAgIFJlcGxhY2VDaGFyc1BpcGUsXG4gICAgICAgIFNvcnREcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICAgICAgTm9kZVVybENvbXBvbmVudCxcbiAgICAgICAgRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIE9wdGlvblRvb2x0aXBQaXBlLFxuICAgICAgICBBY3Rpb25iYXJDb21wb25lbnQsXG4gICAgICAgIEJvcmRlckJveE9ic2VydmVyRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgTWF0UmlwcGxlTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgQ2hlY2tUZXh0T3ZlcmZsb3dEaXJlY3RpdmUsXG4gICAgICAgIE5vZGVJY29uUGlwZSxcbiAgICAgICAgTm9kZUltYWdlUGlwZSxcbiAgICAgICAgVkNhcmROYW1lUGlwZSxcbiAgICAgICAgU29ydERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBGb2N1c1N0YXRlRGlyZWN0aXZlLFxuICAgICAgICBGb3JtYXRTaXplUGlwZSxcbiAgICAgICAgTm9kZUltYWdlU2l6ZVBpcGUsXG4gICAgICAgIE5vZGVQZXJzb25OYW1lUGlwZSxcbiAgICAgICAgTm9kZVRpdGxlUGlwZSxcbiAgICAgICAgRm9ybWF0RGF0ZVBpcGUsXG4gICAgICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgICAgIE5vZGVVcmxDb21wb25lbnQsXG4gICAgICAgIERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBBY3Rpb25iYXJDb21wb25lbnQsXG4gICAgICAgIEJvcmRlckJveE9ic2VydmVyRGlyZWN0aXZlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVkdVNoYXJpbmdVaUNvbW1vbk1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import { ReplaySubject, Observable } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Gets the border-box dimensions of an element in an asynchronous manner.
|
|
7
|
+
*
|
|
8
|
+
* This allows subscribing to changes and using values as input to other Angular components without
|
|
9
|
+
* causing changed-after-checked errors.
|
|
10
|
+
*/
|
|
11
|
+
export class BorderBoxObserverDirective {
|
|
12
|
+
static observeElement(elementRef) {
|
|
13
|
+
return new Observable((subscriber) => {
|
|
14
|
+
const borderBoxObserver = new BorderBoxObserverDirective(elementRef);
|
|
15
|
+
borderBoxObserver.ngOnInit();
|
|
16
|
+
borderBoxObserver.borderBoxSubject.subscribe(subscriber);
|
|
17
|
+
return () => borderBoxObserver.ngOnDestroy();
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
constructor(elementRef) {
|
|
21
|
+
this.elementRef = elementRef;
|
|
22
|
+
this.borderBoxEmitter = new EventEmitter();
|
|
23
|
+
this.borderBoxSubject = new ReplaySubject(1);
|
|
24
|
+
this.width$ = this.borderBoxSubject.pipe(map(({ width }) => width));
|
|
25
|
+
this.height$ = this.borderBoxSubject.pipe(map(({ height }) => height));
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
this.registerEventEmitter();
|
|
29
|
+
this.registerObserver();
|
|
30
|
+
// Can cause changed-after-checked errors if done synchronously.
|
|
31
|
+
Promise.resolve().then(() => this.setInitialValue());
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.observer.disconnect();
|
|
35
|
+
}
|
|
36
|
+
registerEventEmitter() {
|
|
37
|
+
this.borderBoxSubject.subscribe((borderBox) => this.borderBoxEmitter.emit(borderBox));
|
|
38
|
+
}
|
|
39
|
+
registerObserver() {
|
|
40
|
+
this.observer = new ResizeObserver((entries) => {
|
|
41
|
+
entries.forEach((entry) => {
|
|
42
|
+
const borderBoxSize = entry.borderBoxSize[0];
|
|
43
|
+
this.borderBoxSubject.next({
|
|
44
|
+
width: borderBoxSize.inlineSize,
|
|
45
|
+
height: borderBoxSize.blockSize,
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
this.observer.observe(this.elementRef.nativeElement);
|
|
50
|
+
}
|
|
51
|
+
setInitialValue() {
|
|
52
|
+
const boundingClientRect = this.elementRef.nativeElement.getBoundingClientRect();
|
|
53
|
+
this.borderBoxSubject.next({
|
|
54
|
+
width: boundingClientRect.width,
|
|
55
|
+
height: boundingClientRect.height,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BorderBoxObserverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
59
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: BorderBoxObserverDirective, selector: "[esBorderBoxObserver]", outputs: { borderBoxEmitter: "esBorderBoxObserver" }, exportAs: ["borderBoxObserver"], ngImport: i0 }); }
|
|
60
|
+
}
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BorderBoxObserverDirective, decorators: [{
|
|
62
|
+
type: Directive,
|
|
63
|
+
args: [{
|
|
64
|
+
selector: '[esBorderBoxObserver]',
|
|
65
|
+
exportAs: 'borderBoxObserver',
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { borderBoxEmitter: [{
|
|
68
|
+
type: Output,
|
|
69
|
+
args: ['esBorderBoxObserver']
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9yZGVyLWJveC1vYnNlcnZlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvYm9yZGVyLWJveC1vYnNlcnZlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT3JDOzs7OztHQUtHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQW1DO1FBQ3JELE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNqQyxNQUFNLGlCQUFpQixHQUFHLElBQUksMEJBQTBCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckUsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0IsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBVUQsWUFBb0IsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFSeEIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUcvRCxxQkFBZ0IsR0FBRyxJQUFJLGFBQWEsQ0FBWSxDQUFDLENBQUMsQ0FBQztRQUVwRSxXQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9ELFlBQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFUixDQUFDO0lBRTNELFFBQVE7UUFDSixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixnRUFBZ0U7UUFDaEUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDM0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN0QixNQUFNLGFBQWEsR0FBdUIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztvQkFDdkIsS0FBSyxFQUFFLGFBQWEsQ0FBQyxVQUFVO29CQUMvQixNQUFNLEVBQUUsYUFBYSxDQUFDLFNBQVM7aUJBQ2xDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxlQUFlO1FBQ25CLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxLQUFLO1lBQy9CLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO1NBQ3BDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdERRLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxtQkFBbUI7aUJBQ2hDO2lHQVdrQyxnQkFBZ0I7c0JBQTlDLE1BQU07dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW50ZXJmYWNlIEJvcmRlckJveCB7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBib3JkZXItYm94IGRpbWVuc2lvbnMgb2YgYW4gZWxlbWVudCBpbiBhbiBhc3luY2hyb25vdXMgbWFubmVyLlxuICpcbiAqIFRoaXMgYWxsb3dzIHN1YnNjcmliaW5nIHRvIGNoYW5nZXMgYW5kIHVzaW5nIHZhbHVlcyBhcyBpbnB1dCB0byBvdGhlciBBbmd1bGFyIGNvbXBvbmVudHMgd2l0aG91dFxuICogY2F1c2luZyBjaGFuZ2VkLWFmdGVyLWNoZWNrZWQgZXJyb3JzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlc0JvcmRlckJveE9ic2VydmVyXScsXG4gICAgZXhwb3J0QXM6ICdib3JkZXJCb3hPYnNlcnZlcicsXG59KVxuZXhwb3J0IGNsYXNzIEJvcmRlckJveE9ic2VydmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBvYnNlcnZlRWxlbWVudChlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik6IE9ic2VydmFibGU8Qm9yZGVyQm94PiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYm9yZGVyQm94T2JzZXJ2ZXIgPSBuZXcgQm9yZGVyQm94T2JzZXJ2ZXJEaXJlY3RpdmUoZWxlbWVudFJlZik7XG4gICAgICAgICAgICBib3JkZXJCb3hPYnNlcnZlci5uZ09uSW5pdCgpO1xuICAgICAgICAgICAgYm9yZGVyQm94T2JzZXJ2ZXIuYm9yZGVyQm94U3ViamVjdC5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4gYm9yZGVyQm94T2JzZXJ2ZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgnZXNCb3JkZXJCb3hPYnNlcnZlcicpIGJvcmRlckJveEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEJvcmRlckJveD4oKTtcblxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYm9yZGVyQm94U3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PEJvcmRlckJveD4oMSk7XG5cbiAgICB3aWR0aCQgPSB0aGlzLmJvcmRlckJveFN1YmplY3QucGlwZShtYXAoKHsgd2lkdGggfSkgPT4gd2lkdGgpKTtcbiAgICBoZWlnaHQkID0gdGhpcy5ib3JkZXJCb3hTdWJqZWN0LnBpcGUobWFwKCh7IGhlaWdodCB9KSA9PiBoZWlnaHQpKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50RW1pdHRlcigpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyT2JzZXJ2ZXIoKTtcbiAgICAgICAgLy8gQ2FuIGNhdXNlIGNoYW5nZWQtYWZ0ZXItY2hlY2tlZCBlcnJvcnMgaWYgZG9uZSBzeW5jaHJvbm91c2x5LlxuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuc2V0SW5pdGlhbFZhbHVlKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyRXZlbnRFbWl0dGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJvcmRlckJveFN1YmplY3Quc3Vic2NyaWJlKChib3JkZXJCb3gpID0+IHRoaXMuYm9yZGVyQm94RW1pdHRlci5lbWl0KGJvcmRlckJveCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJPYnNlcnZlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvcmRlckJveFNpemU6IFJlc2l6ZU9ic2VydmVyU2l6ZSA9IGVudHJ5LmJvcmRlckJveFNpemVbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5ib3JkZXJCb3hTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYm9yZGVyQm94U2l6ZS5pbmxpbmVTaXplLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGJvcmRlckJveFNpemUuYmxvY2tTaXplLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5pdGlhbFZhbHVlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBib3VuZGluZ0NsaWVudFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgdGhpcy5ib3JkZXJCb3hTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgICAgd2lkdGg6IGJvdW5kaW5nQ2xpZW50UmVjdC53aWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogYm91bmRpbmdDbGllbnRSZWN0LmhlaWdodCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Checks whether text of the annotated element or a descendent (give a selector) was cut of, e.g.,
|
|
5
|
+
* with an ellipsis.
|
|
6
|
+
*
|
|
7
|
+
* Call `hasTextOverflow()` for the result.
|
|
8
|
+
*/
|
|
9
|
+
export class CheckTextOverflowDirective {
|
|
10
|
+
constructor(elementRef) {
|
|
11
|
+
this.elementRef = elementRef;
|
|
12
|
+
this.hasTextOverflow = delay(this.hasTextOverflow_);
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
this.textElement = this.getTextElement();
|
|
16
|
+
}
|
|
17
|
+
hasTextOverflow_() {
|
|
18
|
+
const element = this.textElement;
|
|
19
|
+
if (element) {
|
|
20
|
+
return element.offsetWidth < element.scrollWidth;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
getTextElement() {
|
|
27
|
+
if (this.selector) {
|
|
28
|
+
return this.elementRef.nativeElement.querySelector(this.selector);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return this.elementRef.nativeElement;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: CheckTextOverflowDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: CheckTextOverflowDirective, selector: "[esCheckTextOverflow]", inputs: { selector: ["esCheckTextOverflow", "selector"] }, exportAs: ["esCheckTextOverflow"], ngImport: i0 }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: CheckTextOverflowDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: '[esCheckTextOverflow]',
|
|
41
|
+
exportAs: 'esCheckTextOverflow',
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { selector: [{
|
|
44
|
+
type: Input,
|
|
45
|
+
args: ['esCheckTextOverflow']
|
|
46
|
+
}] } });
|
|
47
|
+
/** Delay the result of a function one tick to avoid changed-after-checked errors. */
|
|
48
|
+
function delay(f) {
|
|
49
|
+
let previousValue = null;
|
|
50
|
+
let updating = false;
|
|
51
|
+
return function () {
|
|
52
|
+
if (!updating) {
|
|
53
|
+
const newValue = f.apply(this);
|
|
54
|
+
if (newValue !== previousValue) {
|
|
55
|
+
updating = true;
|
|
56
|
+
Promise.resolve().then(() => {
|
|
57
|
+
previousValue = newValue;
|
|
58
|
+
updating = false;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return previousValue;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdGV4dC1vdmVyZmxvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvY2hlY2stdGV4dC1vdmVyZmxvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBRXJFOzs7OztHQUtHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQU9uQyxZQUE2QixVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUZoRSxvQkFBZSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVvQixDQUFDO0lBRXBFLFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDakMsSUFBSSxPQUFPLEVBQUU7WUFDVCxPQUFPLE9BQU8sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztTQUNwRDthQUFNO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckU7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7U0FDeEM7SUFDTCxDQUFDOzhHQTVCUSwwQkFBMEI7a0dBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUscUJBQXFCO2lCQUNsQztpR0FFaUMsUUFBUTtzQkFBckMsS0FBSzt1QkFBQyxxQkFBcUI7O0FBOEJoQyxxRkFBcUY7QUFDckYsU0FBUyxLQUFLLENBQUksQ0FBVTtJQUN4QixJQUFJLGFBQWEsR0FBUSxJQUFJLENBQUM7SUFDOUIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLE9BQU87UUFDSCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLFFBQVEsS0FBSyxhQUFhLEVBQUU7Z0JBQzVCLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUN4QixhQUFhLEdBQUcsUUFBUSxDQUFDO29CQUN6QixRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0o7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGV4dCBvZiB0aGUgYW5ub3RhdGVkIGVsZW1lbnQgb3IgYSBkZXNjZW5kZW50IChnaXZlIGEgc2VsZWN0b3IpIHdhcyBjdXQgb2YsIGUuZy4sXG4gKiB3aXRoIGFuIGVsbGlwc2lzLlxuICpcbiAqIENhbGwgYGhhc1RleHRPdmVyZmxvdygpYCBmb3IgdGhlIHJlc3VsdC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZXNDaGVja1RleHRPdmVyZmxvd10nLFxuICAgIGV4cG9ydEFzOiAnZXNDaGVja1RleHRPdmVyZmxvdycsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrVGV4dE92ZXJmbG93RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ2VzQ2hlY2tUZXh0T3ZlcmZsb3cnKSBzZWxlY3Rvcj86IHN0cmluZztcblxuICAgIHByaXZhdGUgdGV4dEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgaGFzVGV4dE92ZXJmbG93ID0gZGVsYXkodGhpcy5oYXNUZXh0T3ZlcmZsb3dfKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0RWxlbWVudCA9IHRoaXMuZ2V0VGV4dEVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1RleHRPdmVyZmxvd18oKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLnRleHRFbGVtZW50O1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0V2lkdGggPCBlbGVtZW50LnNjcm9sbFdpZHRoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUZXh0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLnNlbGVjdG9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqIERlbGF5IHRoZSByZXN1bHQgb2YgYSBmdW5jdGlvbiBvbmUgdGljayB0byBhdm9pZCBjaGFuZ2VkLWFmdGVyLWNoZWNrZWQgZXJyb3JzLiAqL1xuZnVuY3Rpb24gZGVsYXk8VD4oZjogKCkgPT4gVCk6ICgpID0+IFQge1xuICAgIGxldCBwcmV2aW91c1ZhbHVlOiBhbnkgPSBudWxsO1xuICAgIGxldCB1cGRhdGluZyA9IGZhbHNlO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghdXBkYXRpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gZi5hcHBseSh0aGlzKTtcbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gcHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHVwZGF0aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlO1xuICAgIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const dragNodesTransferType = 'application/nodes';
|
|
2
|
+
const storageKey = 'app-drag-nodes';
|
|
3
|
+
export function readDraggedNodes() {
|
|
4
|
+
const json = window.localStorage.getItem(storageKey);
|
|
5
|
+
return JSON.parse(json);
|
|
6
|
+
}
|
|
7
|
+
export function saveDraggedNodes(nodes) {
|
|
8
|
+
const json = JSON.stringify(nodes);
|
|
9
|
+
window.localStorage.setItem(storageKey, json);
|
|
10
|
+
}
|
|
11
|
+
export function clearDraggedNodes() {
|
|
12
|
+
window.localStorage.removeItem(storageKey);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1ub2Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvZGlyZWN0aXZlcy9kcmFnLW5vZGVzL2RyYWctbm9kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLG1CQUFtQixDQUFDO0FBRXpELE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDO0FBRXBDLE1BQU0sVUFBVSxnQkFBZ0I7SUFDNUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYTtJQUMxQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQjtJQUM3QixNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgRHJvcEFjdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL2RyYWctZHJvcCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJhZ0RhdGFMZWdhY3kge1xuICAgIGV2ZW50PzogRHJhZ0V2ZW50O1xuICAgIG5vZGVzPzogTm9kZVtdO1xuICAgIGRyb3BBY3Rpb24/OiBEcm9wQWN0aW9uO1xufVxuZXhwb3J0IHR5cGUgRHJvcEFjdGlvbkxlZ2FjeSA9ICdjb3B5JyB8ICdtb3ZlJyB8ICdsaW5rJztcblxuZXhwb3J0IGludGVyZmFjZSBEcm9wRGF0YUxlZ2FjeSBleHRlbmRzIERyYWdEYXRhTGVnYWN5IHtcbiAgICB0YXJnZXQ6IERyYWdOb2RlVGFyZ2V0O1xufVxuXG5leHBvcnQgdHlwZSBEcmFnTm9kZVRhcmdldCA9IE5vZGUgfCAnSE9NRSc7XG5cbmV4cG9ydCBjb25zdCBkcmFnTm9kZXNUcmFuc2ZlclR5cGUgPSAnYXBwbGljYXRpb24vbm9kZXMnO1xuXG5jb25zdCBzdG9yYWdlS2V5ID0gJ2FwcC1kcmFnLW5vZGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWREcmFnZ2VkTm9kZXMoKTogTm9kZVtdIHtcbiAgICBjb25zdCBqc29uID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKGpzb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2F2ZURyYWdnZWROb2Rlcyhub2RlczogTm9kZVtdKTogdm9pZCB7XG4gICAgY29uc3QganNvbiA9IEpTT04uc3RyaW5naWZ5KG5vZGVzKTtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwganNvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckRyYWdnZWROb2RlcygpOiB2b2lkIHtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oc3RvcmFnZUtleSk7XG59XG4iXX0=
|