ngx-edu-sharing-ui 0.7.0 → 9.0.0
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 +22 -8
- 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
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, from, of as observableOf } from 'rxjs';
|
|
3
|
+
import { first, map, switchMap, tap } from 'rxjs/operators';
|
|
4
|
+
import { LANGUAGES } from './languages';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "ngx-edu-sharing-api";
|
|
7
|
+
import * as i2 from "@angular/router";
|
|
8
|
+
import * as i3 from "@ngx-translate/core";
|
|
9
|
+
import * as i4 from "../services/abstract/app.service";
|
|
10
|
+
// 'none' means that only labels should be shown (for dev)
|
|
11
|
+
const DEFAULT_SUPPORTED_LANGUAGES = ['de', 'de-informal', 'en', 'none'];
|
|
12
|
+
export class TranslationsService {
|
|
13
|
+
constructor(config, route, storage, translate, appService) {
|
|
14
|
+
this.config = config;
|
|
15
|
+
this.route = route;
|
|
16
|
+
this.storage = storage;
|
|
17
|
+
this.translate = translate;
|
|
18
|
+
this.appService = appService;
|
|
19
|
+
this.languageLoaded = new BehaviorSubject(false);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Determines and configures the language to use and triggers loading of translations with
|
|
23
|
+
* ngx-translate.
|
|
24
|
+
*
|
|
25
|
+
* Call this once in the app component.
|
|
26
|
+
*/
|
|
27
|
+
initialize() {
|
|
28
|
+
const supportedLanguages$ = from(this.config.get('supportedLanguages', DEFAULT_SUPPORTED_LANGUAGES));
|
|
29
|
+
if (this.appService?.isRunningApp()) {
|
|
30
|
+
return supportedLanguages$.pipe(switchMap((supportedLanguages) => this.initializeCordova(supportedLanguages)), map(() => void 0));
|
|
31
|
+
}
|
|
32
|
+
supportedLanguages$
|
|
33
|
+
.pipe(tap((supportedLanguages) => {
|
|
34
|
+
if (!supportedLanguages.includes('none')) {
|
|
35
|
+
supportedLanguages.push('none');
|
|
36
|
+
}
|
|
37
|
+
}), tap((supportedLanguages) => this.translate.addLangs(supportedLanguages)),
|
|
38
|
+
// Select queryParams.locale if set meaningfully
|
|
39
|
+
switchMap((supportedLanguages) => this.route.queryParams.pipe(first(), map((params) => {
|
|
40
|
+
let selectedLanguage = null;
|
|
41
|
+
if (supportedLanguages.indexOf(params.locale) !== -1) {
|
|
42
|
+
selectedLanguage = params.locale;
|
|
43
|
+
}
|
|
44
|
+
else if (params.locale) {
|
|
45
|
+
console.warn(`Url requested language ${params.locale}, ` +
|
|
46
|
+
'but it was not found or is not configured in the allowed languages: ' +
|
|
47
|
+
supportedLanguages);
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
supportedLanguages,
|
|
51
|
+
selectedLanguage,
|
|
52
|
+
};
|
|
53
|
+
}))),
|
|
54
|
+
// Select storage.get('language') if set meaningfully
|
|
55
|
+
switchMap(({ supportedLanguages, selectedLanguage }) => {
|
|
56
|
+
if (selectedLanguage) {
|
|
57
|
+
return observableOf({
|
|
58
|
+
supportedLanguages,
|
|
59
|
+
selectedLanguage,
|
|
60
|
+
useStored: false,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return this.storage.get('language').pipe(map((storageLanguage) => {
|
|
65
|
+
let useStored = false;
|
|
66
|
+
if (supportedLanguages.indexOf(storageLanguage) !== -1) {
|
|
67
|
+
selectedLanguage = storageLanguage;
|
|
68
|
+
useStored = true;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
supportedLanguages,
|
|
72
|
+
selectedLanguage,
|
|
73
|
+
useStored,
|
|
74
|
+
};
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
}),
|
|
78
|
+
// Use browser language if available, otherwise fall back to the first supported
|
|
79
|
+
// language.
|
|
80
|
+
map(({ supportedLanguages, selectedLanguage, useStored }) => {
|
|
81
|
+
if (selectedLanguage) {
|
|
82
|
+
return {
|
|
83
|
+
supportedLanguages,
|
|
84
|
+
selectedLanguage,
|
|
85
|
+
useStored,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
else if (
|
|
89
|
+
// Select browser language if set meaningfully
|
|
90
|
+
supportedLanguages.indexOf(this.translate.getBrowserLang()) !== -1) {
|
|
91
|
+
return {
|
|
92
|
+
supportedLanguages,
|
|
93
|
+
selectedLanguage: this.translate.getBrowserLang(),
|
|
94
|
+
useStored,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
// Select first supported language
|
|
99
|
+
return {
|
|
100
|
+
supportedLanguages,
|
|
101
|
+
selectedLanguage: supportedLanguages[0],
|
|
102
|
+
useStored,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}),
|
|
106
|
+
// Set fallback language
|
|
107
|
+
tap(({ supportedLanguages, selectedLanguage, useStored }) => {
|
|
108
|
+
if (!useStored) {
|
|
109
|
+
this.storage.set('language', selectedLanguage);
|
|
110
|
+
}
|
|
111
|
+
if (selectedLanguage === 'none') {
|
|
112
|
+
this.translate.setDefaultLang('none');
|
|
113
|
+
}
|
|
114
|
+
else if (selectedLanguage === 'de-informal') {
|
|
115
|
+
this.translate.setDefaultLang('de');
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
this.translate.setDefaultLang(supportedLanguages[0]);
|
|
119
|
+
}
|
|
120
|
+
}),
|
|
121
|
+
// Configure `ngx-translate` to use the determined language and trigger loading of
|
|
122
|
+
// translations.
|
|
123
|
+
switchMap(({ selectedLanguage }) => {
|
|
124
|
+
// console.log('language used: ' + selectedLanguage);
|
|
125
|
+
this.language = selectedLanguage;
|
|
126
|
+
return this.translate.use(selectedLanguage).pipe(map(() => void 0));
|
|
127
|
+
}))
|
|
128
|
+
.subscribe(() => {
|
|
129
|
+
// Notify anyone waiting for translations to be loaded.
|
|
130
|
+
this.languageLoaded.next(true);
|
|
131
|
+
});
|
|
132
|
+
return this.waitForInit();
|
|
133
|
+
}
|
|
134
|
+
async initializeCordova(supportedLanguages = DEFAULT_SUPPORTED_LANGUAGES) {
|
|
135
|
+
this.translate.addLangs(supportedLanguages);
|
|
136
|
+
let language = supportedLanguages[0];
|
|
137
|
+
this.translate.setDefaultLang(language);
|
|
138
|
+
this.translate.use(language);
|
|
139
|
+
this.language = language;
|
|
140
|
+
const data = await this.appService.getLanguage();
|
|
141
|
+
if (supportedLanguages.indexOf(data) != -1) {
|
|
142
|
+
language = data;
|
|
143
|
+
}
|
|
144
|
+
this.language = language;
|
|
145
|
+
this.translate.use(language).subscribe(() => {
|
|
146
|
+
this.languageLoaded.next(true);
|
|
147
|
+
});
|
|
148
|
+
// this.translate.getTranslation(language).subscribe(() => {
|
|
149
|
+
// });
|
|
150
|
+
return this.waitForInit();
|
|
151
|
+
}
|
|
152
|
+
waitForInit() {
|
|
153
|
+
return this.languageLoaded.pipe(first((languageLoaded) => languageLoaded), map(() => void 0));
|
|
154
|
+
}
|
|
155
|
+
/** Same as `translate.currentLang`. */
|
|
156
|
+
getLanguage() {
|
|
157
|
+
return this.language;
|
|
158
|
+
}
|
|
159
|
+
getISOLanguage() {
|
|
160
|
+
return LANGUAGES[this.language];
|
|
161
|
+
}
|
|
162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, deps: [{ token: i1.ConfigService }, { token: i2.ActivatedRoute }, { token: i1.SessionStorageService }, { token: i3.TranslateService }, { token: i4.AppService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
163
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, providedIn: 'root' }); }
|
|
164
|
+
}
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, decorators: [{
|
|
166
|
+
type: Injectable,
|
|
167
|
+
args: [{ providedIn: 'root' }]
|
|
168
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.ActivatedRoute }, { type: i1.SessionStorageService }, { type: i3.TranslateService }, { type: i4.AppService, decorators: [{
|
|
169
|
+
type: Optional
|
|
170
|
+
}] }]; } });
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBYyxFQUFFLElBQUksWUFBWSxFQUFNLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFJeEMsMERBQTBEO0FBQzFELE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUd4RSxNQUFNLE9BQU8sbUJBQW1CO0lBSTVCLFlBQ1ksTUFBcUIsRUFDckIsS0FBcUIsRUFDckIsT0FBOEIsRUFDOUIsU0FBMkIsRUFDZixVQUFzQjtRQUpsQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVB0QyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBUWpELENBQUM7SUFFSjs7Ozs7T0FLRztJQUNILFVBQVU7UUFDTixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsMkJBQTJCLENBQUMsQ0FD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LENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUMzQixLQUFLLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDcEIsQ0FBQztJQUNOLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDOzhHQTdLUSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUROLE1BQU07OzJGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFVekIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb20sIE9ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTEFOR1VBR0VTIH0gZnJvbSAnLi9sYW5ndWFnZXMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QvYXBwLnNlcnZpY2UnO1xuXG4vLyAnbm9uZScgbWVhbnMgdGhhdCBvbmx5IGxhYmVscyBzaG91bGQgYmUgc2hvd24gKGZvciBkZXYpXG5jb25zdCBERUZBVUxUX1NVUFBPUlRFRF9MQU5HVUFHRVMgPSBbJ2RlJywgJ2RlLWluZm9ybWFsJywgJ2VuJywgJ25vbmUnXTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbnNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGxhbmd1YWdlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBsYW5ndWFnZUxvYWRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBzdG9yYWdlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBhbmQgY29uZmlndXJlcyB0aGUgbGFuZ3VhZ2UgdG8gdXNlIGFuZCB0cmlnZ2VycyBsb2FkaW5nIG9mIHRyYW5zbGF0aW9ucyB3aXRoXG4gICAgICogbmd4LXRyYW5zbGF0ZS5cbiAgICAgKlxuICAgICAqIENhbGwgdGhpcyBvbmNlIGluIHRoZSBhcHAgY29tcG9uZW50LlxuICAgICAqL1xuICAgIGluaXRpYWxpemUoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHN1cHBvcnRlZExhbmd1YWdlcyQgPSBmcm9tKFxuICAgICAgICAgICAgdGhpcy5jb25maWcuZ2V0KCdzdXBwb3J0ZWRMYW5ndWFnZXMnLCBERUZBVUxUX1NVUFBPUlRFRF9MQU5HVUFHRVMpLFxuICAgICAgICApO1xuICAgICAgICBpZiAodGhpcy5hcHBTZXJ2aWNlPy5pc1J1bm5pbmdBcHAoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN1cHBvcnRlZExhbmd1YWdlcyQucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHN1cHBvcnRlZExhbmd1YWdlczogc3RyaW5nW10pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvcmRvdmEoc3VwcG9ydGVkTGFuZ3VhZ2VzKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKHN1cHBvcnRlZExhbmd1YWdlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN1cHBvcnRlZExhbmd1YWdlcy5pbmNsdWRlcygnbm9uZScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMucHVzaCgnbm9uZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFwKChzdXBwb3J0ZWRMYW5ndWFnZXM6IHN0cmluZ1tdKSA9PiB0aGlzLnRyYW5zbGF0ZS5hZGRMYW5ncyhzdXBwb3J0ZWRMYW5ndWFnZXMpKSxcbiAgICAgICAgICAgICAgICAvLyBTZWxlY3QgcXVlcnlQYXJhbXMubG9jYWxlIGlmIHNldCBtZWFuaW5nZnVsbHlcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHN1cHBvcnRlZExhbmd1YWdlczogc3RyaW5nW10pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZExhbmd1YWdlOiBzdHJpbmcgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdXBwb3J0ZWRMYW5ndWFnZXMuaW5kZXhPZihwYXJhbXMubG9jYWxlKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSA9IHBhcmFtcy5sb2NhbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJhbXMubG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBVcmwgcmVxdWVzdGVkIGxhbmd1YWdlICR7cGFyYW1zLmxvY2FsZX0sIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidXQgaXQgd2FzIG5vdCBmb3VuZCBvciBpcyBub3QgY29uZmlndXJlZCBpbiB0aGUgYWxsb3dlZCBsYW5ndWFnZXM6ICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBzdG9yYWdlLmdldCgnbGFuZ3VhZ2UnKSBpZiBzZXQgbWVhbmluZ2Z1bGx5XG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCh7IHN1cHBvcnRlZExhbmd1YWdlcywgc2VsZWN0ZWRMYW5ndWFnZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTdG9yZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmdldCgnbGFuZ3VhZ2UnKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoc3RvcmFnZUxhbmd1YWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1c2VTdG9yZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKHN0b3JhZ2VMYW5ndWFnZSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlID0gc3RvcmFnZUxhbmd1YWdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvLyBVc2UgYnJvd3NlciBsYW5ndWFnZSBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBmYWxsIGJhY2sgdG8gdGhlIGZpcnN0IHN1cHBvcnRlZFxuICAgICAgICAgICAgICAgIC8vIGxhbmd1YWdlLlxuICAgICAgICAgICAgICAgIG1hcCgoeyBzdXBwb3J0ZWRMYW5ndWFnZXMsIHNlbGVjdGVkTGFuZ3VhZ2UsIHVzZVN0b3JlZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZWxlY3QgYnJvd3NlciBsYW5ndWFnZSBpZiBzZXQgbWVhbmluZ2Z1bGx5XG4gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMuaW5kZXhPZih0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpKSAhPT0gLTFcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlOiB0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZWxlY3QgZmlyc3Qgc3VwcG9ydGVkIGxhbmd1YWdlXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlOiBzdXBwb3J0ZWRMYW5ndWFnZXNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC8vIFNldCBmYWxsYmFjayBsYW5ndWFnZVxuICAgICAgICAgICAgICAgIHRhcCgoeyBzdXBwb3J0ZWRMYW5ndWFnZXMsIHNlbGVjdGVkTGFuZ3VhZ2UsIHVzZVN0b3JlZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdXNlU3RvcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0KCdsYW5ndWFnZScsIHNlbGVjdGVkTGFuZ3VhZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhbmd1YWdlID09PSAnbm9uZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdub25lJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRMYW5ndWFnZSA9PT0gJ2RlLWluZm9ybWFsJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2RlJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyhzdXBwb3J0ZWRMYW5ndWFnZXNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLy8gQ29uZmlndXJlIGBuZ3gtdHJhbnNsYXRlYCB0byB1c2UgdGhlIGRldGVybWluZWQgbGFuZ3VhZ2UgYW5kIHRyaWdnZXIgbG9hZGluZyBvZlxuICAgICAgICAgICAgICAgIC8vIHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgc2VsZWN0ZWRMYW5ndWFnZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdsYW5ndWFnZSB1c2VkOiAnICsgc2VsZWN0ZWRMYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBzZWxlY3RlZExhbmd1YWdlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUudXNlKHNlbGVjdGVkTGFuZ3VhZ2UpLnBpcGUobWFwKCgpID0+IHZvaWQgMCkpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gTm90aWZ5IGFueW9uZSB3YWl0aW5nIGZvciB0cmFuc2xhdGlvbnMgdG8gYmUgbG9hZGVkLlxuICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VMb2FkZWQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy53YWl0Rm9ySW5pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgaW5pdGlhbGl6ZUNvcmRvdmEoc3VwcG9ydGVkTGFuZ3VhZ2VzID0gREVGQVVMVF9TVVBQT1JURURfTEFOR1VBR0VTKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmFkZExhbmdzKHN1cHBvcnRlZExhbmd1YWdlcyk7XG4gICAgICAgIGxldCBsYW5ndWFnZSA9IHN1cHBvcnRlZExhbmd1YWdlc1swXTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcobGFuZ3VhZ2UpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFwcFNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKTtcbiAgICAgICAgaWYgKHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKGRhdGEpICE9IC0xKSB7XG4gICAgICAgICAgICBsYW5ndWFnZSA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlTG9hZGVkLm5leHQodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZS5nZXRUcmFuc2xhdGlvbihsYW5ndWFnZSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gfSk7XG4gICAgICAgIHJldHVybiB0aGlzLndhaXRGb3JJbml0KCk7XG4gICAgfVxuXG4gICAgd2FpdEZvckluaXQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlTG9hZGVkLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgobGFuZ3VhZ2VMb2FkZWQpID0+IGxhbmd1YWdlTG9hZGVkKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBTYW1lIGFzIGB0cmFuc2xhdGUuY3VycmVudExhbmdgLiAqL1xuICAgIGdldExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlO1xuICAgIH1cblxuICAgIGdldElTT0xhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBMQU5HVUFHRVNbdGhpcy5sYW5ndWFnZV07XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class AccessibilitySettings {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.toastMode = 'all';
|
|
4
|
+
this.toastDuration = ToastDuration.Seconds_5;
|
|
5
|
+
this.contrastMode = false;
|
|
6
|
+
this.indicatorIcons = true;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export var ToastDuration;
|
|
10
|
+
(function (ToastDuration) {
|
|
11
|
+
ToastDuration[ToastDuration["Seconds_3"] = 3] = "Seconds_3";
|
|
12
|
+
ToastDuration[ToastDuration["Seconds_5"] = 5] = "Seconds_5";
|
|
13
|
+
ToastDuration[ToastDuration["Seconds_8"] = 8] = "Seconds_8";
|
|
14
|
+
ToastDuration[ToastDuration["Seconds_15"] = 15] = "Seconds_15";
|
|
15
|
+
ToastDuration[ToastDuration["Seconds_30"] = 30] = "Seconds_30";
|
|
16
|
+
ToastDuration[ToastDuration["Seconds_60"] = 60] = "Seconds_60";
|
|
17
|
+
ToastDuration[ToastDuration["Infinite"] = null] = "Infinite";
|
|
18
|
+
})(ToastDuration || (ToastDuration = {}));
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzaWJpbGxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3R5cGVzL2FjY2Vzc2liaWxsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxxQkFBcUI7SUFBbEM7UUFDSSxjQUFTLEdBQXdCLEtBQUssQ0FBQztRQUN2QyxrQkFBYSxHQUFrQixhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3ZELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Q0FBQTtBQUNELE1BQU0sQ0FBTixJQUFZLGFBUVg7QUFSRCxXQUFZLGFBQWE7SUFDckIsMkRBQWEsQ0FBQTtJQUNiLDJEQUFhLENBQUE7SUFDYiwyREFBYSxDQUFBO0lBQ2IsOERBQWUsQ0FBQTtJQUNmLDhEQUFlLENBQUE7SUFDZiw4REFBZSxDQUFBO0lBQ2YsMENBQVcsSUFBSSxjQUFBLENBQUE7QUFDbkIsQ0FBQyxFQVJXLGFBQWEsS0FBYixhQUFhLFFBUXhCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFjY2Vzc2liaWxpdHlTZXR0aW5ncyB7XG4gICAgdG9hc3RNb2RlOiAnaW1wb3J0YW50JyB8ICdhbGwnID0gJ2FsbCc7XG4gICAgdG9hc3REdXJhdGlvbjogVG9hc3REdXJhdGlvbiA9IFRvYXN0RHVyYXRpb24uU2Vjb25kc181O1xuICAgIGNvbnRyYXN0TW9kZSA9IGZhbHNlO1xuICAgIGluZGljYXRvckljb25zID0gdHJ1ZTtcbn1cbmV4cG9ydCBlbnVtIFRvYXN0RHVyYXRpb24ge1xuICAgIFNlY29uZHNfMyA9IDMsXG4gICAgU2Vjb25kc181ID0gNSxcbiAgICBTZWNvbmRzXzggPSA4LFxuICAgIFNlY29uZHNfMTUgPSAxNSxcbiAgICBTZWNvbmRzXzMwID0gMzAsXG4gICAgU2Vjb25kc182MCA9IDYwLFxuICAgIEluZmluaXRlID0gbnVsbCxcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvdHlwZXMvYXBpLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuZXhwb3J0IGludGVyZmFjZSBWaXJ0dWFsTm9kZSBleHRlbmRzIE5vZGUge1xuICAgIHZpcnR1YWw6IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90eXBlcy9kcmFnLWRyb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcblxuZXhwb3J0IHR5cGUgRHJvcEFjdGlvbiA9ICdtb3ZlJyB8ICdjb3B5JyB8ICdsaW5rJztcblxuZXhwb3J0IGludGVyZmFjZSBEcmFnRGF0YTxUID0gdW5rbm93bj4ge1xuICAgIGRyYWdnZWROb2RlczogTm9kZVtdO1xuICAgIGFjdGlvbjogRHJvcEFjdGlvbjtcbiAgICB0YXJnZXQ6IFQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIERyb3BUYXJnZXRTdGF0ZSB7XG4gICAgYWN0aW9uOiBEcm9wQWN0aW9uO1xuICAgIGNhbkRyb3A6IENhbkRyb3A7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuRHJvcCB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIHRhcmdldCBpcyBhIHZhbGlkIGRyb3AgdGFyZ2V0IGZvciB0aGUgZHJhZ2dlZCBub2RlcyBhbmQgdGhlIGdpdmVuIGFjdGlvbi4gKi9cbiAgICBhY2NlcHQ6IGJvb2xlYW47XG4gICAgLyoqIFdoZW4gZGVuaWVkLCB3aGV0aGVyIHRvIGV4cGxpY2l0bHkgbWFyayB0aGUgdGFyZ2V0IHdoZW4gaG92ZXJlZC4gKi9cbiAgICBkZW55RXhwbGljaXQ/OiBib29sZWFuO1xuICAgIC8qKiBBIG1lc3NhZ2UgdG8gc2hvdyB3aGVuIHRyaWVkIHRvIGRyb3Agb24gYSBkZW5pZWQgdGFyZ2V0LiAqL1xuICAgIGRlbnlSZWFzb24/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function matchesShortcutCondition(event, condition) {
|
|
2
|
+
return (event.code === condition.keyCode &&
|
|
3
|
+
matchesModifiers(event, condition.modifiers) &&
|
|
4
|
+
!condition.ignoreWhen?.(event));
|
|
5
|
+
}
|
|
6
|
+
function matchesModifiers(event, modifiers = []) {
|
|
7
|
+
return (modifiers.includes('Alt') === event.altKey &&
|
|
8
|
+
modifiers.includes('Shift') === event.shiftKey &&
|
|
9
|
+
modifiers.includes('Ctrl/Cmd') === (event.ctrlKey || event.metaKey));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtc2hvcnRjdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90eXBlcy9rZXlib2FyZC1zaG9ydGN1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxVQUFVLHdCQUF3QixDQUNwQyxLQUFvQixFQUNwQixTQUFvQztJQUVwQyxPQUFPLENBQ0gsS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsT0FBTztRQUNoQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUM1QyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDakMsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEtBQW9CLEVBQUUsWUFBd0IsRUFBRTtJQUN0RSxPQUFPLENBQ0gsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsTUFBTTtRQUMxQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssQ0FBQyxRQUFRO1FBQzlDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDdEUsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBNb2RpZmllciA9ICdDdHJsL0NtZCcgfCAnU2hpZnQnIHwgJ0FsdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Ym9hcmRTaG9ydGN1dENvbmRpdGlvbiB7XG4gICAgbW9kaWZpZXJzPzogTW9kaWZpZXJbXTtcbiAgICBrZXlDb2RlOiBzdHJpbmc7XG4gICAgaWdub3JlV2hlbj86IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Ym9hcmRTaG9ydGN1dCBleHRlbmRzIEtleWJvYXJkU2hvcnRjdXRDb25kaXRpb24ge1xuICAgIGNhbGxiYWNrOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hlc1Nob3J0Y3V0Q29uZGl0aW9uKFxuICAgIGV2ZW50OiBLZXlib2FyZEV2ZW50LFxuICAgIGNvbmRpdGlvbjogS2V5Ym9hcmRTaG9ydGN1dENvbmRpdGlvbixcbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIGV2ZW50LmNvZGUgPT09IGNvbmRpdGlvbi5rZXlDb2RlICYmXG4gICAgICAgIG1hdGNoZXNNb2RpZmllcnMoZXZlbnQsIGNvbmRpdGlvbi5tb2RpZmllcnMpICYmXG4gICAgICAgICFjb25kaXRpb24uaWdub3JlV2hlbj8uKGV2ZW50KVxuICAgICk7XG59XG5cbmZ1bmN0aW9uIG1hdGNoZXNNb2RpZmllcnMoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIG1vZGlmaWVyczogTW9kaWZpZXJbXSA9IFtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgbW9kaWZpZXJzLmluY2x1ZGVzKCdBbHQnKSA9PT0gZXZlbnQuYWx0S2V5ICYmXG4gICAgICAgIG1vZGlmaWVycy5pbmNsdWRlcygnU2hpZnQnKSA9PT0gZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgbW9kaWZpZXJzLmluY2x1ZGVzKCdDdHJsL0NtZCcpID09PSAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KVxuICAgICk7XG59XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A list item info, which is basically a column
|
|
3
|
+
* Example:
|
|
4
|
+
this.columns.push(new ListItem(RestConstants.CM_NAME));
|
|
5
|
+
this.columns.push(new ListItem(RestConstants.CM_ARCHIVED_DATE));
|
|
6
|
+
*/
|
|
7
|
+
export class ListItem {
|
|
8
|
+
constructor(type, name, config = {
|
|
9
|
+
showLabel: false,
|
|
10
|
+
}) {
|
|
11
|
+
this.type = type;
|
|
12
|
+
this.name = name;
|
|
13
|
+
this.config = config;
|
|
14
|
+
/**
|
|
15
|
+
* Should this item be shown by default
|
|
16
|
+
* @type {boolean}
|
|
17
|
+
*/
|
|
18
|
+
this.visible = true;
|
|
19
|
+
}
|
|
20
|
+
static getCollectionDefaults() {
|
|
21
|
+
let columns = [];
|
|
22
|
+
columns.push(new ListItem('COLLECTION', 'title'));
|
|
23
|
+
columns.push(new ListItem('COLLECTION', 'info'));
|
|
24
|
+
columns.push(new ListItem('COLLECTION', 'scope'));
|
|
25
|
+
return columns;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class ListItemSort extends ListItem {
|
|
29
|
+
constructor(type, name, mode = null, config = {
|
|
30
|
+
showLabel: false,
|
|
31
|
+
}) {
|
|
32
|
+
super(type, name, config);
|
|
33
|
+
this.type = type;
|
|
34
|
+
this.name = name;
|
|
35
|
+
this.mode = mode;
|
|
36
|
+
this.config = config;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class SortEvent extends ListItemSort {
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90eXBlcy9saXN0LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sUUFBUTtJQWdCakIsWUFDVyxJQUFrQixFQUNsQixJQUFZLEVBQ1osU0FBUztRQUNaLFNBQVMsRUFBRSxLQUFLO0tBQ25CO1FBSk0sU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osV0FBTSxHQUFOLE1BQU0sQ0FFWjtRQXBCTDs7O1dBR0c7UUFDSSxZQUFPLEdBQUcsSUFBSSxDQUFDO0lBaUJuQixDQUFDO0lBRUosTUFBTSxDQUFDLHFCQUFxQjtRQUN4QixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNsRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDbEQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztDQUNKO0FBQ0QsTUFBTSxPQUFPLFlBQWEsU0FBUSxRQUFRO0lBQ3RDLFlBQ1csSUFBa0IsRUFDbEIsSUFBWSxFQUNaLE9BQTBDLElBQUksRUFDOUMsU0FBUztRQUNaLFNBQVMsRUFBRSxLQUFLO0tBQ25CO1FBRUQsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFQbkIsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBMEM7UUFDOUMsV0FBTSxHQUFOLE1BQU0sQ0FFWjtJQUdMLENBQUM7Q0FDSjtBQUNELE1BQU0sT0FBTyxTQUFVLFNBQVEsWUFBWTtDQUUxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvcnQsIFNvcnREaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgTGlzdEl0ZW1UeXBlID0gJ05PREUnIHwgJ05PREVfUFJPUE9TQUwnIHwgJ0NPTExFQ1RJT04nIHwgJ09SRycgfCAnR1JPVVAnIHwgJ1VTRVInO1xuXG4vKipcbiAqIEEgbGlzdCBpdGVtIGluZm8sIHdoaWNoIGlzIGJhc2ljYWxseSBhIGNvbHVtblxuICogRXhhbXBsZTpcbiB0aGlzLmNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oUmVzdENvbnN0YW50cy5DTV9OQU1FKSk7XG4gdGhpcy5jb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKFJlc3RDb25zdGFudHMuQ01fQVJDSElWRURfREFURSkpO1xuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW0ge1xuICAgIC8qKlxuICAgICAqIFNob3VsZCB0aGlzIGl0ZW0gYmUgc2hvd24gYnkgZGVmYXVsdFxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHB1YmxpYyB2aXNpYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIExhYmVsIHRvIGRpc3BsYXksIGlmIHNldCwgc2hvdWxkIGJlIHByZWZlcnJlZCBpbnN0ZWFkIG9mIGF1dG9tYXRpYyBpMThuXG4gICAgICovXG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBjdXN0b20gZm9ybWF0IHN0cmluZyBmb3IgZGF0ZSBmaWVsZHMsIG1heSBiZSBudWxsXG4gICAgICovXG4gICAgcHVibGljIGZvcm1hdDogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdHlwZTogTGlzdEl0ZW1UeXBlLFxuICAgICAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgY29uZmlnID0ge1xuICAgICAgICAgICAgc2hvd0xhYmVsOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICApIHt9XG5cbiAgICBzdGF0aWMgZ2V0Q29sbGVjdGlvbkRlZmF1bHRzKCkge1xuICAgICAgICBsZXQgY29sdW1ucyA9IFtdO1xuICAgICAgICBjb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKCdDT0xMRUNUSU9OJywgJ3RpdGxlJykpO1xuICAgICAgICBjb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKCdDT0xMRUNUSU9OJywgJ2luZm8nKSk7XG4gICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ0NPTExFQ1RJT04nLCAnc2NvcGUnKSk7XG4gICAgICAgIHJldHVybiBjb2x1bW5zO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBMaXN0SXRlbVNvcnQgZXh0ZW5kcyBMaXN0SXRlbSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyB0eXBlOiBMaXN0SXRlbVR5cGUsXG4gICAgICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBtb2RlOiAnYXNjZW5kaW5nJyB8ICdkZXNjZW5kaW5nJyB8IG51bGwgPSBudWxsLFxuICAgICAgICBwdWJsaWMgY29uZmlnID0ge1xuICAgICAgICAgICAgc2hvd0xhYmVsOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIodHlwZSwgbmFtZSwgY29uZmlnKTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgU29ydEV2ZW50IGV4dGVuZHMgTGlzdEl0ZW1Tb3J0IHtcbiAgICBhc2NlbmRpbmc6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVUkgZWxlbWVudCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBjaG9vc2Ugc29ydGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb3J0UGFuZWwge1xuICAgIGFjdGl2ZTogc3RyaW5nO1xuICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbiAgICByZWFkb25seSBzb3J0Q2hhbmdlOiBPYnNlcnZhYmxlPFNvcnQ+O1xufVxuIl19
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
export var NodesRightMode;
|
|
2
|
+
(function (NodesRightMode) {
|
|
3
|
+
NodesRightMode[NodesRightMode["Local"] = 0] = "Local";
|
|
4
|
+
NodesRightMode[NodesRightMode["Original"] = 1] = "Original";
|
|
5
|
+
NodesRightMode[NodesRightMode["Both"] = 2] = "Both";
|
|
6
|
+
})(NodesRightMode || (NodesRightMode = {}));
|
|
7
|
+
export class OptionItem {
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param name the option name, which is used for the translation
|
|
11
|
+
* @param icon A material icon name
|
|
12
|
+
* @param callback A function callback when this option is chosen. Will get the current node
|
|
13
|
+
* passed as an argument. If available, the relevant nodes are passed as second argument,
|
|
14
|
+
* i.e., the selection, if any, or the current node as single-item array otherwise.
|
|
15
|
+
*/
|
|
16
|
+
constructor(name, icon,
|
|
17
|
+
// TODO: Maybe switch to only providing the second parameter.
|
|
18
|
+
callback) {
|
|
19
|
+
this.name = name;
|
|
20
|
+
this.icon = icon;
|
|
21
|
+
this.callback = callback;
|
|
22
|
+
/**
|
|
23
|
+
* If true, this option will be shown all the time in the node table
|
|
24
|
+
* @type {boolean}
|
|
25
|
+
*/
|
|
26
|
+
this.showAlways = false;
|
|
27
|
+
/**
|
|
28
|
+
* If true, this option will be shown as an action (if room). If none of the items has showAsAction set, the first items will always be shown as action
|
|
29
|
+
* @type {boolean}
|
|
30
|
+
*/
|
|
31
|
+
this.showAsAction = false;
|
|
32
|
+
/**
|
|
33
|
+
* If true, this option will be shown as a toggle on the right side (provide iconToggle as a toggle icon)
|
|
34
|
+
* @type {boolean}
|
|
35
|
+
*/
|
|
36
|
+
this.isToggle = false;
|
|
37
|
+
/**
|
|
38
|
+
* If true, shows a line at the top.
|
|
39
|
+
*
|
|
40
|
+
* This feature is usually handled now by associating an entry to a `group`
|
|
41
|
+
* now. However `isSeparate` is kept as fallback for now.
|
|
42
|
+
*/
|
|
43
|
+
this.isSeparate = false;
|
|
44
|
+
/**
|
|
45
|
+
* The item will be indicated with an accent color in the menu.
|
|
46
|
+
*
|
|
47
|
+
* Used by the dropdown variant of the main menu to indicate the currently
|
|
48
|
+
* active scope.
|
|
49
|
+
*/
|
|
50
|
+
this.isSelected = false;
|
|
51
|
+
/**
|
|
52
|
+
* If true, only displayed on a mobile device (based on the navigator agent)
|
|
53
|
+
* @type {boolean}
|
|
54
|
+
*/
|
|
55
|
+
this.onlyMobile = false;
|
|
56
|
+
/**
|
|
57
|
+
* If true, only displayed on a desktop device (based on the navigator agent)
|
|
58
|
+
* @type {boolean}
|
|
59
|
+
*/
|
|
60
|
+
this.onlyDesktop = false;
|
|
61
|
+
/**
|
|
62
|
+
* Set to false if the action should be shown, but should not be clickable
|
|
63
|
+
* @type {boolean}
|
|
64
|
+
*/
|
|
65
|
+
this.isEnabled = true;
|
|
66
|
+
/**
|
|
67
|
+
* Show the given name (if false, only icon will show)
|
|
68
|
+
*/
|
|
69
|
+
this.showName = true;
|
|
70
|
+
/**
|
|
71
|
+
* Or concat of supported element types for the action
|
|
72
|
+
*/
|
|
73
|
+
this.elementType = [ElementType.Node];
|
|
74
|
+
this.permissionsMode = HideMode.Disable;
|
|
75
|
+
this.permissionsRightMode = NodesRightMode.Local;
|
|
76
|
+
this.toolpermissionsMode = HideMode.Disable;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
export class CustomOptions {
|
|
80
|
+
constructor() {
|
|
81
|
+
/**
|
|
82
|
+
* If true, all existing or available options for the object stay
|
|
83
|
+
* If false, no options will be set, only the options in "addOptions" are used
|
|
84
|
+
*/
|
|
85
|
+
this.useDefaultOptions = true;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
export var HideMode;
|
|
89
|
+
(function (HideMode) {
|
|
90
|
+
HideMode[HideMode["Disable"] = 0] = "Disable";
|
|
91
|
+
HideMode[HideMode["Hide"] = 1] = "Hide";
|
|
92
|
+
})(HideMode || (HideMode = {}));
|
|
93
|
+
export var Scope;
|
|
94
|
+
(function (Scope) {
|
|
95
|
+
Scope["Render"] = "Render";
|
|
96
|
+
Scope["Search"] = "Search";
|
|
97
|
+
Scope["SearchCollections"] = "SearchCollections";
|
|
98
|
+
Scope["SavedSearches"] = "SavedSearches";
|
|
99
|
+
Scope["CollectionsReferences"] = "CollectionsReferences";
|
|
100
|
+
Scope["CollectionsProposals"] = "CollectionsProposals";
|
|
101
|
+
Scope["CollectionsCollection"] = "CollectionsCollection";
|
|
102
|
+
Scope["WorkspaceList"] = "WorkspaceList";
|
|
103
|
+
Scope["WorkspaceTree"] = "WorkspaceTree";
|
|
104
|
+
Scope["Sharing"] = "Sharing";
|
|
105
|
+
Scope["Oer"] = "Oer";
|
|
106
|
+
Scope["UserManagement"] = "UserManagement";
|
|
107
|
+
Scope["Stream"] = "Stream";
|
|
108
|
+
Scope["CreateMenu"] = "CreateMenu";
|
|
109
|
+
Scope["MediacenterNodesList"] = "MediacenterNodesList";
|
|
110
|
+
Scope["Admin"] = "Admin";
|
|
111
|
+
})(Scope || (Scope = {}));
|
|
112
|
+
export var ElementType;
|
|
113
|
+
(function (ElementType) {
|
|
114
|
+
ElementType[ElementType["Node"] = 0] = "Node";
|
|
115
|
+
ElementType[ElementType["NodeChild"] = 1] = "NodeChild";
|
|
116
|
+
ElementType[ElementType["MapRef"] = 2] = "MapRef";
|
|
117
|
+
ElementType[ElementType["NodePublishedCopy"] = 3] = "NodePublishedCopy";
|
|
118
|
+
ElementType[ElementType["NodeBlockedImport"] = 4] = "NodeBlockedImport";
|
|
119
|
+
ElementType[ElementType["NodeProposal"] = 5] = "NodeProposal";
|
|
120
|
+
ElementType[ElementType["Person"] = 6] = "Person";
|
|
121
|
+
ElementType[ElementType["Group"] = 7] = "Group";
|
|
122
|
+
ElementType[ElementType["SavedSearch"] = 8] = "SavedSearch";
|
|
123
|
+
ElementType[ElementType["Unknown"] = 9] = "Unknown";
|
|
124
|
+
})(ElementType || (ElementType = {}));
|
|
125
|
+
export class OptionGroup {
|
|
126
|
+
/**
|
|
127
|
+
* @param id The group identifier. Used to seperate elements based on the group
|
|
128
|
+
* @param priority Group with 0 has highest priority, higher values mean lower priority
|
|
129
|
+
*/
|
|
130
|
+
constructor(id, priority) {
|
|
131
|
+
this.id = id;
|
|
132
|
+
this.priority = priority;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export class DefaultGroups {
|
|
136
|
+
static { this.Primary = new OptionGroup('Primary', 10); }
|
|
137
|
+
static { this.Create = new OptionGroup('Create', 15); }
|
|
138
|
+
static { this.View = new OptionGroup('View', 20); }
|
|
139
|
+
static { this.CreateConnector = new OptionGroup('CreateConnector', 25); }
|
|
140
|
+
static { this.CreateLtiTools = new OptionGroup('CreateLtiTools', 28); }
|
|
141
|
+
static { this.Reuse = new OptionGroup('Reuse', 30); }
|
|
142
|
+
static { this.Edit = new OptionGroup('Edit', 40); }
|
|
143
|
+
static { this.FileOperations = new OptionGroup('FileOperations', 50); }
|
|
144
|
+
static { this.Delete = new OptionGroup('Delete', 60); }
|
|
145
|
+
static { this.Toggles = new OptionGroup('Toggles', 70); }
|
|
146
|
+
}
|
|
147
|
+
export var Constrain;
|
|
148
|
+
(function (Constrain) {
|
|
149
|
+
Constrain[Constrain["CollectionReference"] = 0] = "CollectionReference";
|
|
150
|
+
Constrain[Constrain["NoCollectionReference"] = 1] = "NoCollectionReference";
|
|
151
|
+
Constrain[Constrain["Directory"] = 2] = "Directory";
|
|
152
|
+
Constrain[Constrain["Collections"] = 3] = "Collections";
|
|
153
|
+
Constrain[Constrain["Files"] = 4] = "Files";
|
|
154
|
+
Constrain[Constrain["FilesAndDirectories"] = 5] = "FilesAndDirectories";
|
|
155
|
+
Constrain[Constrain["Admin"] = 6] = "Admin";
|
|
156
|
+
Constrain[Constrain["AdminOrDebug"] = 7] = "AdminOrDebug";
|
|
157
|
+
Constrain[Constrain["NoBulk"] = 8] = "NoBulk";
|
|
158
|
+
Constrain[Constrain["NoSelection"] = 9] = "NoSelection";
|
|
159
|
+
Constrain[Constrain["ClipboardContent"] = 10] = "ClipboardContent";
|
|
160
|
+
Constrain[Constrain["AddObjects"] = 11] = "AddObjects";
|
|
161
|
+
Constrain[Constrain["HomeRepository"] = 12] = "HomeRepository";
|
|
162
|
+
Constrain[Constrain["User"] = 13] = "User";
|
|
163
|
+
Constrain[Constrain["NoScope"] = 14] = "NoScope";
|
|
164
|
+
Constrain[Constrain["ReurlMode"] = 15] = "ReurlMode";
|
|
165
|
+
Constrain[Constrain["LTIMode"] = 16] = "LTIMode";
|
|
166
|
+
})(Constrain || (Constrain = {}));
|
|
167
|
+
export var Target;
|
|
168
|
+
(function (Target) {
|
|
169
|
+
Target[Target["List"] = 0] = "List";
|
|
170
|
+
Target[Target["ListDropdown"] = 1] = "ListDropdown";
|
|
171
|
+
Target[Target["Actionbar"] = 2] = "Actionbar";
|
|
172
|
+
Target[Target["CreateMenu"] = 3] = "CreateMenu";
|
|
173
|
+
})(Target || (Target = {}));
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3R5cGVzL29wdGlvbi1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDdEIscURBQUssQ0FBQTtJQUNMLDJEQUFRLENBQUE7SUFDUixtREFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBQ0QsTUFBTSxPQUFPLFVBQVU7SUFzSG5COzs7Ozs7O09BT0c7SUFDSCxZQUNXLElBQVksRUFDWixJQUFZO0lBQ25CLDZEQUE2RDtJQUN0RCxRQUFpRTtRQUhqRSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBUTtRQUVaLGFBQVEsR0FBUixRQUFRLENBQXlEO1FBakk1RTs7O1dBR0c7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCOzs7V0FHRztRQUNJLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCOzs7V0FHRztRQUNJLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEI7Ozs7O1dBS0c7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCOzs7OztXQUtHO1FBQ0ksZUFBVSxHQUFHLEtBQUssQ0FBQztRQUMxQjs7O1dBR0c7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCOzs7V0FHRztRQUNJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBWTNCOzs7V0FHRztRQUNJLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFtQ3hCOztXQUVHO1FBQ0ksYUFBUSxHQUFHLElBQUksQ0FBQztRQWF2Qjs7V0FFRztRQUNJLGdCQUFXLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHakMsb0JBQWUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQ25DLHlC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VyxDQUFBO0lBQ1gsa0VBQWdCLENBQUE7SUFDaEIsc0RBQVUsQ0FBQTtJQUNWLDhEQUFjLENBQUE7SUFDZCwwQ0FBSSxDQUFBO0lBQ0osZ0RBQU8sQ0FBQTtJQUNQLG9EQUFTLENBQUE7SUFDVCxnREFBTyxDQUFBO0FBQ1gsQ0FBQyxFQWxCVyxTQUFTLEtBQVQsU0FBUyxRQWtCcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxNQUtYO0FBTEQsV0FBWSxNQUFNO0lBQ2QsbUNBQUksQ0FBQTtJQUNKLG1EQUFZLENBQUE7SUFDWiw2Q0FBUyxDQUFBO0lBQ1QsK0NBQVUsQ0FBQTtBQUNkLENBQUMsRUFMVyxNQUFNLEtBQU4sTUFBTSxRQUtqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBvcHRpb24gZnJvbSB0aGUgYWN0aW9uYmFyK2Ryb3Bkb3duIG1lbnVcbiAqIEV4YW1wbGU6XG4gdGhpcy5vcHRpb25zLnB1c2gobmV3IE9wdGlvbkl0ZW0oXCJSRVNUT1JFX1NJTkdMRVwiLFwidW5kb1wiLCAobm9kZSkgPT4gdGhpcy5yZXN0b3JlU2luZ2xlKG5vZGUpKSk7XG4gdGhpcy5vcHRpb25zLnB1c2gobmV3IE9wdGlvbkl0ZW0oXCJERUxFVEVfU0lOR0xFXCIsXCJhcmNoaXZlRGVsZXRlXCIsIChub2RlKSA9PiB0aGlzLmRlbGV0ZVNpbmdsZShub2RlKSkpO1xuXG4gKi9cbmltcG9ydCB7IEtleWJvYXJkU2hvcnRjdXRDb25kaXRpb24gfSBmcm9tICcuLi90eXBlcy9rZXlib2FyZC1zaG9ydGN1dHMnO1xuXG5leHBvcnQgZW51bSBOb2Rlc1JpZ2h0TW9kZSB7XG4gICAgTG9jYWwsXG4gICAgT3JpZ2luYWwsXG4gICAgQm90aCxcbn1cbmV4cG9ydCBjbGFzcyBPcHRpb25JdGVtIHtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGlzIG9wdGlvbiB3aWxsIGJlIHNob3duIGFsbCB0aGUgdGltZSBpbiB0aGUgbm9kZSB0YWJsZVxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93QWx3YXlzID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhpcyBvcHRpb24gd2lsbCBiZSBzaG93biBhcyBhbiBhY3Rpb24gKGlmIHJvb20pLiBJZiBub25lIG9mIHRoZSBpdGVtcyBoYXMgc2hvd0FzQWN0aW9uIHNldCwgdGhlIGZpcnN0IGl0ZW1zIHdpbGwgYWx3YXlzIGJlIHNob3duIGFzIGFjdGlvblxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93QXNBY3Rpb24gPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGlzIG9wdGlvbiB3aWxsIGJlIHNob3duIGFzIGEgdG9nZ2xlIG9uIHRoZSByaWdodCBzaWRlIChwcm92aWRlIGljb25Ub2dnbGUgYXMgYSB0b2dnbGUgaWNvbilcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNUb2dnbGUgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCBzaG93cyBhIGxpbmUgYXQgdGhlIHRvcC5cbiAgICAgKlxuICAgICAqIFRoaXMgZmVhdHVyZSBpcyB1c3VhbGx5IGhhbmRsZWQgbm93IGJ5IGFzc29jaWF0aW5nIGFuIGVudHJ5IHRvIGEgYGdyb3VwYFxuICAgICAqIG5vdy4gSG93ZXZlciBgaXNTZXBhcmF0ZWAgaXMga2VwdCBhcyBmYWxsYmFjayBmb3Igbm93LlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1NlcGFyYXRlID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVGhlIGl0ZW0gd2lsbCBiZSBpbmRpY2F0ZWQgd2l0aCBhbiBhY2NlbnQgY29sb3IgaW4gdGhlIG1lbnUuXG4gICAgICpcbiAgICAgKiBVc2VkIGJ5IHRoZSBkcm9wZG93biB2YXJpYW50IG9mIHRoZSBtYWluIG1lbnUgdG8gaW5kaWNhdGUgdGhlIGN1cnJlbnRseVxuICAgICAqIGFjdGl2ZSBzY29wZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTZWxlY3RlZCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIElmIHRydWUsIG9ubHkgZGlzcGxheWVkIG9uIGEgbW9iaWxlIGRldmljZSAoYmFzZWQgb24gdGhlIG5hdmlnYXRvciBhZ2VudClcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBwdWJsaWMgb25seU1vYmlsZSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIElmIHRydWUsIG9ubHkgZGlzcGxheWVkIG9uIGEgZGVza3RvcCBkZXZpY2UgKGJhc2VkIG9uIHRoZSBuYXZpZ2F0b3IgYWdlbnQpXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgcHVibGljIG9ubHlEZXNrdG9wID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogWW91IGNhbiBzZXQgYSBtZWRpYS1xdWVyeSBzaW1pbGFyIHRvIENTUywgc2VlIHRoZSBNRURJQV9RVUVSWSBjb25zdGFudHMgaW4gdWktY29uc3RhbnRzXG4gICAgICogVXNlIGluIGNvbWJpbmF0aW9uIHdpdGggbWVkaWFRdWVyeVZhbHVlXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgcHVibGljIG1lZGlhUXVlcnlUeXBlOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIGZvciB0aGUgZGVmaW5lZCBtZWRpYSBxdWVyeVxuICAgICAqL1xuICAgIHB1YmxpYyBtZWRpYVF1ZXJ5VmFsdWU6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFNldCB0byBmYWxzZSBpZiB0aGUgYWN0aW9uIHNob3VsZCBiZSBzaG93biwgYnV0IHNob3VsZCBub3QgYmUgY2xpY2thYmxlXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgcHVibGljIGlzRW5hYmxlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBvcHRpb24gc2hvdWxkIGJlIG1hbnVhbGx5IG1hcmtlZCBhcyBwcmltYXJ5IGFjdGlvbiB3aGVuIGFsd2F5cyB2aXNpYmxlIG9uIGFuXG4gICAgICogYGFjdGlvbmJhcmAuXG4gICAgICovXG4gICAgcHVibGljIGlzUHJpbWFyeTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gY2FsbGVkIHdpdGggdGhlIG5vZGUgYXMgcGFyYW0gd2hpY2ggc2hvdWxkIHJldHVybiB0cnVlIG9yIGZhbHNlIGlmIHRoZSBvcHRpb24gc2hvdWxkIGJlIHNob3duIGZvciB0aGlzIG5vZGVcbiAgICAgKiBJcyBoYW5kbGVkIGJ5IG9wdGlvbnNIZWxwZXIgYW5kIG1heSBub3QgYmUgdXNlZCBvdGhlcndpc2VcbiAgICAgKiBQbGVhc2UgdXNlIEBjdXN0b21TaG93Q2FsbGJhY2sgaW5zdGVhZFxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93Q2FsbGJhY2s6IChub2RlPzogTm9kZSB8IGFueSkgPT4gYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIGNhbGxlZCB3aXRoIHRoZSBub2RlIGFzIHBhcm0gd2hpY2ggc2hvdWxkIHJldHVybiB0cnVlIG9yIGZhbHNlIGlmIHRoZSBvcHRpb24gc2hvdWxkIGJlIHNob3duIGZvciB0aGlzIG5vZGVcbiAgICAgKiBXaWxsIGJlIGNhbGxlZCBieSB0aGUgb3B0aW9uc0hlbHBlclxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21TaG93Q2FsbGJhY2s6IChub2Rlcz86IE5vZGVbXSB8IGFueVtdKSA9PiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gY2FsbGVkIHdpdGggdGhlIG5vZGUgYXMgcGFyYW0gd2hpY2ggc2hvdWxkIHJldHVybiB0cnVlIG9yIGZhbHNlIGlmIHRoZSBvcHRpb24gc2hvdWxkIGJlIGVuYWJsZWQgb3Igbm90XG4gICAgICogSXMgaGFuZGxlZCBieSBvcHRpb25zSGVscGVyIGFuZCBtYXkgbm90IGJlIHVzZWQgb3RoZXJ3aXNlXG4gICAgICogUGxlYXNlIHVzZSBAY3VzdG9tRW5hYmxlZENhbGxiYWNrIGluc3RlYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlZENhbGxiYWNrOiAobm9kZT86IE5vZGUgfCBhbnkpID0+IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQSBmdW5jdGlvbiBjYWxsZWQgd2l0aCB0aGUgbm9kZSBhcyBwYXJhbSB3aGljaCBzaG91bGQgcmV0dXJuIHRydWUgb3IgZmFsc2UgaWYgdGhlIG9wdGlvbiBzaG91bGQgYmUgZW5hYmxlZCBvciBub3RcbiAgICAgKiBXaWxsIGJlIGNhbGxlZCBieSB0aGUgb3B0aW9uc0hlbHBlclxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21FbmFibGVkQ2FsbGJhY2s6IChub2Rlcz86IE5vZGVbXSB8IGFueVtdKSA9PiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogICBPcHRpb25hbDogQSBjYWxsYmFjayB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgb3B0aW9uIHdoZW4gaXQncyBjdXJyZW50bHkgZGlzYWJsZWQgKGdyZXllZCBvdXQpXG4gICAgICovXG4gICAgcHVibGljIGRpc2FibGVkQ2FsbGJhY2s6IChub2RlPzogTm9kZSB8IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiAgIFNob3cgdGhlIGdpdmVuIG5hbWUgKGlmIGZhbHNlLCBvbmx5IGljb24gd2lsbCBzaG93KVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93TmFtZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBlbGVtZW50IHdpdGggMCBoYXMgaGlnaGVzdCBwcmlvcml0eSBpbiBpdCdzIGdyb3VwLCBoaWdoZXIgdmFsdWVzIG1lYW4gbG93ZXIgcHJpb3JpdHlcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJpb3JpdHk6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiB0aGUgZ3JvdXAgdGhpcyBvcHRpb24gYmVsb25ncyB0b1xuICAgICAqL1xuICAgIHB1YmxpYyBncm91cDogT3B0aW9uR3JvdXA7XG5cbiAgICBwdWJsaWMga2V5Ym9hcmRTaG9ydGN1dDogS2V5Ym9hcmRTaG9ydGN1dENvbmRpdGlvbjtcblxuICAgIC8qKlxuICAgICAqIE9yIGNvbmNhdCBvZiBzdXBwb3J0ZWQgZWxlbWVudCB0eXBlcyBmb3IgdGhlIGFjdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBlbGVtZW50VHlwZSA9IFtFbGVtZW50VHlwZS5Ob2RlXTtcbiAgICBwdWJsaWMgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICAgIHB1YmxpYyBjb25zdHJhaW5zOiBDb25zdHJhaW5bXTtcbiAgICBwdWJsaWMgcGVybWlzc2lvbnNNb2RlID0gSGlkZU1vZGUuRGlzYWJsZTtcbiAgICBwdWJsaWMgcGVybWlzc2lvbnNSaWdodE1vZGUgPSBOb2Rlc1JpZ2h0TW9kZS5Mb2NhbDtcbiAgICBwdWJsaWMgdG9vbHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgICBwdWJsaWMgdG9vbHBlcm1pc3Npb25zTW9kZSA9IEhpZGVNb2RlLkRpc2FibGU7XG4gICAgcHVibGljIHNjb3BlczogU2NvcGVbXTtcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgdGhlIG9wdGlvbiBuYW1lLCB3aGljaCBpcyB1c2VkIGZvciB0aGUgdHJhbnNsYXRpb25cbiAgICAgKiBAcGFyYW0gaWNvbiBBIG1hdGVyaWFsIGljb24gbmFtZVxuICAgICAqIEBwYXJhbSBjYWxsYmFjayBBIGZ1bmN0aW9uIGNhbGxiYWNrIHdoZW4gdGhpcyBvcHRpb24gaXMgY2hvc2VuLiBXaWxsIGdldCB0aGUgY3VycmVudCBub2RlXG4gICAgICogcGFzc2VkIGFzIGFuIGFyZ3VtZW50LiBJZiBhdmFpbGFibGUsIHRoZSByZWxldmFudCBub2RlcyBhcmUgcGFzc2VkIGFzIHNlY29uZCBhcmd1bWVudCxcbiAgICAgKiBpLmUuLCB0aGUgc2VsZWN0aW9uLCBpZiBhbnksIG9yIHRoZSBjdXJyZW50IG5vZGUgYXMgc2luZ2xlLWl0ZW0gYXJyYXkgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgaWNvbjogc3RyaW5nLFxuICAgICAgICAvLyBUT0RPOiBNYXliZSBzd2l0Y2ggdG8gb25seSBwcm92aWRpbmcgdGhlIHNlY29uZCBwYXJhbWV0ZXIuXG4gICAgICAgIHB1YmxpYyBjYWxsYmFjazogKG9iamVjdD86IE5vZGUgfCBhbnksIG9iamVjdHM/OiAoTm9kZSB8IGFueSlbXSkgPT4gdm9pZCxcbiAgICApIHt9XG59XG5leHBvcnQgY2xhc3MgQ3VzdG9tT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgYWxsIGV4aXN0aW5nIG9yIGF2YWlsYWJsZSBvcHRpb25zIGZvciB0aGUgb2JqZWN0IHN0YXlcbiAgICAgKiBJZiBmYWxzZSwgbm8gb3B0aW9ucyB3aWxsIGJlIHNldCwgb25seSB0aGUgb3B0aW9ucyBpbiBcImFkZE9wdGlvbnNcIiBhcmUgdXNlZFxuICAgICAqL1xuICAgIHB1YmxpYyB1c2VEZWZhdWx0T3B0aW9ucz8gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIExpc3Qgb2YgaWRzIG9mIG9wdGlvbnMgdG8gZXhwbGljaXRseSBzdXBwb3J0XG4gICAgICovXG4gICAgcHVibGljIHN1cHBvcnRlZE9wdGlvbnM/OiBzdHJpbmdbXTtcbiAgICAvKipcbiAgICAgKiBMaXN0IG9mIGlkcyBvZiBvcHRpb25zIHRvIGV4cGxpY2l0bHkgcmVtb3ZlXG4gICAgICogT25seSBzdXBwb3J0ZWQgaWYgc3VwcG9ydGVkT3B0aW9ucyBpcyBlbXB0eVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVPcHRpb25zPzogc3RyaW5nW107XG4gICAgLyoqXG4gICAgICogT3B0aW9ucyB0byBhZGQvaW5zZXJ0IGludG8gdGhlIG1lbnVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkT3B0aW9ucz86IE9wdGlvbkl0ZW1bXTtcbn1cbmV4cG9ydCBlbnVtIEhpZGVNb2RlIHtcbiAgICBEaXNhYmxlLFxuICAgIEhpZGUsXG59XG5leHBvcnQgZW51bSBTY29wZSB7XG4gICAgUmVuZGVyID0gJ1JlbmRlcicsXG4gICAgU2VhcmNoID0gJ1NlYXJjaCcsXG4gICAgU2VhcmNoQ29sbGVjdGlvbnMgPSAnU2VhcmNoQ29sbGVjdGlvbnMnLFxuICAgIFNhdmVkU2VhcmNoZXMgPSAnU2F2ZWRTZWFyY2hlcycsXG4gICAgQ29sbGVjdGlvbnNSZWZlcmVuY2VzID0gJ0NvbGxlY3Rpb25zUmVmZXJlbmNlcycsXG4gICAgQ29sbGVjdGlvbnNQcm9wb3NhbHMgPSAnQ29sbGVjdGlvbnNQcm9wb3NhbHMnLFxuICAgIENvbGxlY3Rpb25zQ29sbGVjdGlvbiA9ICdDb2xsZWN0aW9uc0NvbGxlY3Rpb24nLFxuICAgIFdvcmtzcGFjZUxpc3QgPSAnV29ya3NwYWNlTGlzdCcsXG4gICAgV29ya3NwYWNlVHJlZSA9ICdXb3Jrc3BhY2VUcmVlJyxcbiAgICBTaGFyaW5nID0gJ1NoYXJpbmcnLFxuICAgIE9lciA9ICdPZXInLFxuICAgIFVzZXJNYW5hZ2VtZW50ID0gJ1VzZXJNYW5hZ2VtZW50JyxcbiAgICBTdHJlYW0gPSAnU3RyZWFtJyxcbiAgICBDcmVhdGVNZW51ID0gJ0NyZWF0ZU1lbnUnLFxuXG4gICAgTWVkaWFjZW50ZXJOb2Rlc0xpc3QgPSAnTWVkaWFjZW50ZXJOb2Rlc0xpc3QnLFxuICAgIEFkbWluID0gJ0FkbWluJywgLy8gQWRtaW4gVG9vbHMgLyBEZWJ1Z2dpbmdcbn1cbmV4cG9ydCBlbnVtIEVsZW1lbnRUeXBlIHtcbiAgICBOb2RlLFxuICAgIE5vZGVDaGlsZCwgLy8gQ2hpbGQgb2JqZWN0XG4gICAgTWFwUmVmLCAvLyBNYXAgcmVmIChsaW5rIHRvIGFub3RoZXIgbWFwKVxuICAgIE5vZGVQdWJsaXNoZWRDb3B5LFxuICAgIE5vZGVCbG9ja2VkSW1wb3J0LCAvLyBub2RlIHdpdGggcHJvcGVydHkgY2NtOmltcG9ydGJsb2NrZWQgPT0gdHJ1ZVxuICAgIE5vZGVQcm9wb3NhbCwgLy8gbm9kZSBwcm9wb3NhbCBmb3IgYSBjb2xsZWN0aW9uXG4gICAgUGVyc29uLFxuICAgIEdyb3VwLFxuICAgIFNhdmVkU2VhcmNoLFxuICAgIFVua25vd24sXG59XG5leHBvcnQgY2xhc3MgT3B0aW9uR3JvdXAge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBpZCBUaGUgZ3JvdXAgaWRlbnRpZmllci4gVXNlZCB0byBzZXBlcmF0ZSBlbGVtZW50cyBiYXNlZCBvbiB0aGUgZ3JvdXBcbiAgICAgKiBAcGFyYW0gcHJpb3JpdHkgR3JvdXAgd2l0aCAwIGhhcyBoaWdoZXN0IHByaW9yaXR5LCBoaWdoZXIgdmFsdWVzIG1lYW4gbG93ZXIgcHJpb3JpdHlcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaWQ6IHN0cmluZywgcHVibGljIHByaW9yaXR5OiBudW1iZXIpIHt9XG59XG5leHBvcnQgY2xhc3MgRGVmYXVsdEdyb3VwcyB7XG4gICAgc3RhdGljIFByaW1hcnkgPSBuZXcgT3B0aW9uR3JvdXAoJ1ByaW1hcnknLCAxMCk7XG4gICAgc3RhdGljIENyZWF0ZSA9IG5ldyBPcHRpb25Hcm91cCgnQ3JlYXRlJywgMTUpO1xuICAgIHN0YXRpYyBWaWV3ID0gbmV3IE9wdGlvbkdyb3VwKCdWaWV3JywgMjApO1xuICAgIHN0YXRpYyBDcmVhdGVDb25uZWN0b3IgPSBuZXcgT3B0aW9uR3JvdXAoJ0NyZWF0ZUNvbm5lY3RvcicsIDI1KTtcbiAgICBzdGF0aWMgQ3JlYXRlTHRpVG9vbHMgPSBuZXcgT3B0aW9uR3JvdXAoJ0NyZWF0ZUx0aVRvb2xzJywgMjgpO1xuICAgIHN0YXRpYyBSZXVzZSA9IG5ldyBPcHRpb25Hcm91cCgnUmV1c2UnLCAzMCk7XG4gICAgc3RhdGljIEVkaXQgPSBuZXcgT3B0aW9uR3JvdXAoJ0VkaXQnLCA0MCk7XG4gICAgc3RhdGljIEZpbGVPcGVyYXRpb25zID0gbmV3IE9wdGlvbkdyb3VwKCdGaWxlT3BlcmF0aW9ucycsIDUwKTtcbiAgICBzdGF0aWMgRGVsZXRlID0gbmV3IE9wdGlvbkdyb3VwKCdEZWxldGUnLCA2MCk7XG4gICAgc3RhdGljIFRvZ2dsZXMgPSBuZXcgT3B0aW9uR3JvdXAoJ1RvZ2dsZXMnLCA3MCk7XG59XG5leHBvcnQgZW51bSBDb25zdHJhaW4ge1xuICAgIENvbGxlY3Rpb25SZWZlcmVuY2UsIC8vIG9wdGlvbiBpcyBvbmx5IHZpc2libGUgZm9yIGNvbGxlY3Rpb24gcmVmZXJlbmNlc1xuICAgIE5vQ29sbGVjdGlvblJlZmVyZW5jZSwgLy8gb3B0aW9uIGlzIG9ubHkgdmlzaWJsZSBmb3Igbm9uLWNvbGxlY3Rpb24gcmVmZXJlbmNlc1xuICAgIERpcmVjdG9yeSwgLy8gb25seSB2aXNpYmxlIGZvciBkaXJlY3RvcmllcyAoY2NtOm1hcClcbiAgICBDb2xsZWN0aW9ucywgLy8gb25seSB2aXNpYmxlIGZvciBjb2xsZWN0aW9uc1xuICAgIEZpbGVzLCAvLyBvbmx5IHZpc2libGUgZm9yIGZpbGVzIChjY206aW8pXG4gICAgRmlsZXNBbmREaXJlY3RvcmllcywgLy8gb25seSB2aXNpYmxlIGZvciBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgKGNjbTppbyAvIGNjbTptYXApIC0gbm8gY29sbGVjdGlvbnMhXG4gICAgQWRtaW4sIC8vIG9ubHkgdmlzaWJsZSBpZiB1c2VyIGlzIGFkbWluIG9yIGVzRGVidWcgaXMgZW5hYmxlZCBvbiB3aW5kb3cgY29tcG9uZW50XG4gICAgQWRtaW5PckRlYnVnLCAvLyBvbmx5IHZpc2libGUgaWYgdXNlciBpcyBhZG1pbiBvciBlc0RlYnVnIGlzIGVuYWJsZWQgb24gd2luZG93IGNvbXBvbmVudFxuICAgIE5vQnVsaywgLy8gTm8gc3VwcG9ydCBmb3IgYnVsayAobXVsdGlwbGUgb2JqZWN0cylcbiAgICBOb1NlbGVjdGlvbiwgLy8gT25seSB2aXNpYmxlIHdoZW4gY3VycmVudGx5IG5vIGVsZW1lbnQgaXMgc2VsZWN0ZWRcbiAgICBDbGlwYm9hcmRDb250ZW50LCAvLyBPbmx5IHZpc2libGUgd2hlbiB0aGUgY2xpcGJvYXJkIGhhcyBjb250ZW50XG4gICAgQWRkT2JqZWN0cywgLy8gT25seSB2aXNpYmxlIHdoZW4gaXQgaXMgcG9zc2libGUgdG8gYWRkIG9iamVjdHMgaW50byB0aGUgY3VycmVudCBsaXN0XG4gICAgSG9tZVJlcG9zaXRvcnksIC8vIE9ubHkgdmlzaWJsZSB3aGVuIHRoZSBub2RlcyBhcmUgZnJvbSB0aGUgbG9jYWwgKGhvbWUpIHJlcG9zaXRvcnlcbiAgICBVc2VyLCAvLyBPbmx5IHZpc2libGUgd2hlbiBhIHVzZXIgaXMgcHJlc2VudCBhbmQgbG9nZ2VkIGluXG4gICAgTm9TY29wZSwgLy8gT25seSB2aXNpYmxlIHdoZW4gbm8gY3VycmVudCBzY29wZSAoaS5lIFwic2FmZVwiIHNjb3BlKSBpcyBzZXRcbiAgICBSZXVybE1vZGUsIC8vIE9ubHkgdmlzaWJsZSB3aGVuIGEgcmV1cmwgaXMgcHJlc2VudCAoY2FsbGVkIHRvIHBpY2sgb2JqZWN0IGZyb20gbG1zKVxuICAgIExUSU1vZGUsIC8vIE9ubHkgdmlzaWJsZSB3aGVuIGEgbHRpIHNlc3Npb24gaXMgcHJlc2VudCAoY2FsbGVkIHRvIHBpY2sgb2JqZWN0IGZyb20gbHRpIHBsYXRmb3JtKVxufVxuXG5leHBvcnQgZW51bSBUYXJnZXQge1xuICAgIExpc3QsIC8vIFRhcmdldCBpcyB0aGUgTGlzdFRhYmxlQ29tcG9uZW50XG4gICAgTGlzdERyb3Bkb3duLFxuICAgIEFjdGlvbmJhcixcbiAgICBDcmVhdGVNZW51LFxufVxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const WORKFLOW_STATUS_UNCHECKED = {
|
|
2
|
+
id: '100_unchecked',
|
|
3
|
+
color: '#539DD5',
|
|
4
|
+
hasReceiver: true,
|
|
5
|
+
next: null,
|
|
6
|
+
};
|
|
7
|
+
export const WORKFLOW_STATUS_TO_CHECK = {
|
|
8
|
+
id: '200_tocheck',
|
|
9
|
+
color: '#3CB0B0',
|
|
10
|
+
hasReceiver: true,
|
|
11
|
+
next: null,
|
|
12
|
+
};
|
|
13
|
+
export const WORKFLOW_STATUS_HASFLAWS = {
|
|
14
|
+
id: '300_hasflaws',
|
|
15
|
+
color: '#D58553',
|
|
16
|
+
hasReceiver: true,
|
|
17
|
+
next: null,
|
|
18
|
+
};
|
|
19
|
+
export const WORKFLOW_STATUS_CHECKED = {
|
|
20
|
+
id: '400_checked',
|
|
21
|
+
color: '#42A053',
|
|
22
|
+
hasReceiver: false,
|
|
23
|
+
next: null,
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3R5cGVzL3dvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUF1QjtJQUN6RCxFQUFFLEVBQUUsZUFBZTtJQUNuQixLQUFLLEVBQUUsU0FBUztJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixJQUFJLEVBQUUsSUFBSTtDQUNiLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBdUI7SUFDeEQsRUFBRSxFQUFFLGFBQWE7SUFDakIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsV0FBVyxFQUFFLElBQUk7SUFDakIsSUFBSSxFQUFFLElBQUk7Q0FDYixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQXVCO0lBQ3hELEVBQUUsRUFBRSxjQUFjO0lBQ2xCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLElBQUksRUFBRSxJQUFJO0NBQ2IsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUF1QjtJQUN2RCxFQUFFLEVBQUUsYUFBYTtJQUNqQixLQUFLLEVBQUUsU0FBUztJQUNoQixXQUFXLEVBQUUsS0FBSztJQUNsQixJQUFJLEVBQUUsSUFBSTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93RGVmaW5pdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb2xvcjogc3RyaW5nO1xuICAgIGhhc1JlY2VpdmVyOiBib29sZWFuO1xuICAgIG5leHQ6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY29uc3QgV09SS0ZMT1dfU1RBVFVTX1VOQ0hFQ0tFRDogV29ya2Zsb3dEZWZpbml0aW9uID0ge1xuICAgIGlkOiAnMTAwX3VuY2hlY2tlZCcsXG4gICAgY29sb3I6ICcjNTM5REQ1JyxcbiAgICBoYXNSZWNlaXZlcjogdHJ1ZSxcbiAgICBuZXh0OiBudWxsLFxufTtcbmV4cG9ydCBjb25zdCBXT1JLRkxPV19TVEFUVVNfVE9fQ0hFQ0s6IFdvcmtmbG93RGVmaW5pdGlvbiA9IHtcbiAgICBpZDogJzIwMF90b2NoZWNrJyxcbiAgICBjb2xvcjogJyMzQ0IwQjAnLFxuICAgIGhhc1JlY2VpdmVyOiB0cnVlLFxuICAgIG5leHQ6IG51bGwsXG59O1xuZXhwb3J0IGNvbnN0IFdPUktGTE9XX1NUQVRVU19IQVNGTEFXUzogV29ya2Zsb3dEZWZpbml0aW9uID0ge1xuICAgIGlkOiAnMzAwX2hhc2ZsYXdzJyxcbiAgICBjb2xvcjogJyNENTg1NTMnLFxuICAgIGhhc1JlY2VpdmVyOiB0cnVlLFxuICAgIG5leHQ6IG51bGwsXG59O1xuZXhwb3J0IGNvbnN0IFdPUktGTE9XX1NUQVRVU19DSEVDS0VEOiBXb3JrZmxvd0RlZmluaXRpb24gPSB7XG4gICAgaWQ6ICc0MDBfY2hlY2tlZCcsXG4gICAgY29sb3I6ICcjNDJBMDUzJyxcbiAgICBoYXNSZWNlaXZlcjogZmFsc2UsXG4gICAgbmV4dDogbnVsbCxcbn07XG5leHBvcnQgdHlwZSBXb3JrZmxvd0RlZmluaXRpb25TdGF0dXMgPSB7XG4gICAgY3VycmVudDogV29ya2Zsb3dEZWZpbml0aW9uO1xuICAgIGluaXRpYWw6IFdvcmtmbG93RGVmaW5pdGlvbjtcbn07XG4iXX0=
|