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
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import { EventEmitter
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { Node } from 'ngx-edu-sharing-api';
|
|
3
|
-
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
5
5
|
* An application-wide event broker.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
providedIn: 'root',
|
|
9
|
-
})
|
|
10
|
-
export class LocalEventsService {
|
|
7
|
+
export declare class LocalEventsService {
|
|
11
8
|
/**
|
|
12
9
|
* The metadata of one or more nodes have been updated.
|
|
13
10
|
*
|
|
@@ -15,7 +12,7 @@ export class LocalEventsService {
|
|
|
15
12
|
*
|
|
16
13
|
* The emitter should not be triggered with an empty array or null.
|
|
17
14
|
*/
|
|
18
|
-
readonly nodesChanged
|
|
15
|
+
readonly nodesChanged: EventEmitter<Node[]>;
|
|
19
16
|
/**
|
|
20
17
|
* One or more nodes have been moved to the recycle bin.
|
|
21
18
|
*
|
|
@@ -23,7 +20,7 @@ export class LocalEventsService {
|
|
|
23
20
|
*
|
|
24
21
|
* The emitter should not be triggered with an empty array or null.
|
|
25
22
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
readonly nodesDeleted: EventEmitter<Node[]>;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocalEventsService, never>;
|
|
25
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<LocalEventsService>;
|
|
29
26
|
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
|
+
import { EventEmitter } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { FetchEvent, GridConfig, InteractionType, ListDragGropConfig, ListEventInterface, ListOptions, ListSortConfig, NodeClickEvent, NodeEntriesDataType, NodeEntriesDisplayType } from '../node-entries/entries-model';
|
|
5
|
+
import { NodeDataSource } from '../node-entries/node-data-source';
|
|
6
|
+
import { NodeEntriesGlobalService, PaginationStrategy } from '../node-entries/node-entries-global.service';
|
|
7
|
+
import { OptionItem, Scope } from '../types/option-item';
|
|
8
|
+
import { ListItem } from '../types/list-item';
|
|
9
|
+
import { UIService } from './ui.service';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export declare class NodeEntriesService<T extends NodeEntriesDataType> {
|
|
12
|
+
private uiService;
|
|
13
|
+
private entriesGlobal;
|
|
14
|
+
list: ListEventInterface<T>;
|
|
15
|
+
readonly dataSource$: BehaviorSubject<NodeDataSource<T>>;
|
|
16
|
+
/**
|
|
17
|
+
* scope the current list is in, e.g. workspace
|
|
18
|
+
* This is used for additional config injection based on the scope
|
|
19
|
+
*/
|
|
20
|
+
scope: Scope;
|
|
21
|
+
get dataSource(): NodeDataSource<T>;
|
|
22
|
+
set dataSource(value: NodeDataSource<T>);
|
|
23
|
+
get paginationStrategy(): PaginationStrategy;
|
|
24
|
+
/**
|
|
25
|
+
* Subject that reflects the current columns configuration.
|
|
26
|
+
*
|
|
27
|
+
* Updated when loading configuration and through user interaction.
|
|
28
|
+
*/
|
|
29
|
+
columnsSubject: BehaviorSubject<ListItem[]>;
|
|
30
|
+
get columns(): ListItem[];
|
|
31
|
+
set columns(value: ListItem[]);
|
|
32
|
+
configureColumns: boolean;
|
|
33
|
+
/** Emits when the columns configuration changes through user interaction. */
|
|
34
|
+
columnsChange: EventEmitter<ListItem[]>;
|
|
35
|
+
displayType: NodeEntriesDisplayType;
|
|
36
|
+
selection: SelectionModel<T>;
|
|
37
|
+
elementInteractionType: InteractionType;
|
|
38
|
+
options$: BehaviorSubject<ListOptions>;
|
|
39
|
+
get options(): ListOptions;
|
|
40
|
+
set options(options: ListOptions);
|
|
41
|
+
checkbox: boolean;
|
|
42
|
+
globalOptions: OptionItem[];
|
|
43
|
+
sortSubject: BehaviorSubject<ListSortConfig>;
|
|
44
|
+
get sort(): ListSortConfig;
|
|
45
|
+
set sort(value: ListSortConfig);
|
|
46
|
+
sortChange: EventEmitter<ListSortConfig>;
|
|
47
|
+
dragDrop: ListDragGropConfig<T>;
|
|
48
|
+
clickItem: EventEmitter<NodeClickEvent<T>>;
|
|
49
|
+
dblClickItem: EventEmitter<NodeClickEvent<T>>;
|
|
50
|
+
fetchData: EventEmitter<FetchEvent>;
|
|
51
|
+
readonly gridConfig$: BehaviorSubject<GridConfig>;
|
|
52
|
+
get gridConfig(): GridConfig;
|
|
53
|
+
set gridConfig(value: GridConfig);
|
|
54
|
+
primaryInstance: boolean;
|
|
55
|
+
singleClickHint: 'dynamic' | 'static';
|
|
56
|
+
disableInfiniteScroll: boolean;
|
|
57
|
+
constructor(uiService: UIService, entriesGlobal: NodeEntriesGlobalService);
|
|
58
|
+
onClicked({ event, ...data }: NodeClickEvent<T> & {
|
|
59
|
+
event: MouseEvent;
|
|
60
|
+
}): void;
|
|
61
|
+
onCheckboxChanged(node: T, checked: boolean): void;
|
|
62
|
+
toggleSelectAll(): void;
|
|
63
|
+
loadMore(source: 'button' | 'scroll'): boolean;
|
|
64
|
+
private selectAll;
|
|
65
|
+
private isAllSelected;
|
|
66
|
+
private expandSelectionTo;
|
|
67
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NodeEntriesService<any>, never>;
|
|
68
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NodeEntriesService<any>>;
|
|
69
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ApiHelpersService, ConfigService, NetworkService, Node } from 'ngx-edu-sharing-api';
|
|
2
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
+
import * as Workflow from '../types/workflow';
|
|
4
|
+
import { RepoUrlService } from './repo-url.service';
|
|
5
|
+
import { Params } from '@angular/router';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class NodeHelperService {
|
|
8
|
+
protected translate: TranslateService;
|
|
9
|
+
protected apiHelpersService: ApiHelpersService;
|
|
10
|
+
protected networkService: NetworkService;
|
|
11
|
+
protected configService: ConfigService;
|
|
12
|
+
protected repoUrlService: RepoUrlService;
|
|
13
|
+
constructor(translate: TranslateService, apiHelpersService: ApiHelpersService, networkService: NetworkService, configService: ConfigService, repoUrlService: RepoUrlService);
|
|
14
|
+
getCollectionScopeInfo(node: Node): {
|
|
15
|
+
icon: string;
|
|
16
|
+
scopeName: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Return the license icon of a node
|
|
20
|
+
*/
|
|
21
|
+
getLicenseIcon(node: Node): Promise<string>;
|
|
22
|
+
/**
|
|
23
|
+
* Get a license icon by using the property value string
|
|
24
|
+
*/
|
|
25
|
+
getLicenseIconByString(string: String, useNoneAsFallback?: boolean): string;
|
|
26
|
+
/**
|
|
27
|
+
* Return a translated name of a license name for a node
|
|
28
|
+
* @param node
|
|
29
|
+
* @param translate
|
|
30
|
+
* @returns {string|any|string|any|string|any|string|any|string|any|string}
|
|
31
|
+
*/
|
|
32
|
+
getLicenseName(node: Node): any;
|
|
33
|
+
/**
|
|
34
|
+
* Return a translated name for a license string
|
|
35
|
+
* @param string
|
|
36
|
+
* @param translate
|
|
37
|
+
* @returns {any}
|
|
38
|
+
*/
|
|
39
|
+
getLicenseNameByString(name: string): any;
|
|
40
|
+
/**
|
|
41
|
+
* return the License URL (e.g. for CC_BY licenses) for a license string and version
|
|
42
|
+
* @param licenseProperty
|
|
43
|
+
* @param licenseVersion
|
|
44
|
+
*/
|
|
45
|
+
getLicenseUrlByString(licenseProperty: string, licenseVersion: string): any;
|
|
46
|
+
getWorkflowStatusById(id: string): Workflow.WorkflowDefinition;
|
|
47
|
+
getWorkflowStatus(node: Node, useFromConfig?: boolean): Workflow.WorkflowDefinitionStatus;
|
|
48
|
+
getDefaultWorkflowStatus(useFromConfig?: boolean): Workflow.WorkflowDefinitionStatus;
|
|
49
|
+
getWorkflows(): Workflow.WorkflowDefinition[];
|
|
50
|
+
copyDataToNode<T extends Node>(target: T, source: T): void;
|
|
51
|
+
isNodeCollection(node: Node): boolean;
|
|
52
|
+
getSourceIconPath(src: string): string;
|
|
53
|
+
getNodeLink(mode: 'routerLink' | 'queryParams', node: Node): string | Params;
|
|
54
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NodeHelperService, never>;
|
|
55
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NodeHelperService>;
|
|
56
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NgZone } from '@angular/core';
|
|
2
|
+
import { CanDrop } from '../types/drag-drop';
|
|
3
|
+
import { NodesDropTargetDirective } from '../directives/drag-nodes/nodes-drop-target.directive';
|
|
4
|
+
import { Node } from 'ngx-edu-sharing-api';
|
|
5
|
+
import { Toast } from './abstract/toast.service';
|
|
6
|
+
import { UIService } from './ui.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class NodesDragDropService {
|
|
9
|
+
private ngZone;
|
|
10
|
+
private toast;
|
|
11
|
+
private uiService;
|
|
12
|
+
/** The node(s) currently being dragged. */
|
|
13
|
+
private draggedNodesSubject;
|
|
14
|
+
/** The drop target that something is currently dragged above. */
|
|
15
|
+
private dropTargetSubject;
|
|
16
|
+
/** Whether the current drop target allows dropping the dragged node(s). */
|
|
17
|
+
private canDropSubject;
|
|
18
|
+
/** A target being hovered with the cursor. Does not mean anything is dragged yet. */
|
|
19
|
+
private hoveredTargetSubject;
|
|
20
|
+
/** Current drop action based on pressed modifier keys. */
|
|
21
|
+
private dropActionSubject;
|
|
22
|
+
/** The current cursor style. */
|
|
23
|
+
private curserSubject;
|
|
24
|
+
set draggedNodes(nodes: Node[]);
|
|
25
|
+
get canDrop(): CanDrop;
|
|
26
|
+
constructor(ngZone: NgZone, toast: Toast, uiService: UIService);
|
|
27
|
+
/** Call when the cursor enters a possible drop target. Runs outside ngZone. */
|
|
28
|
+
onMouseEnter(target: NodesDropTargetDirective): void;
|
|
29
|
+
/** Call when the cursor leaves a possible drop target. Runs outside ngZone. */
|
|
30
|
+
onMouseLeave(target: NodesDropTargetDirective): void;
|
|
31
|
+
onDropped(nodes: Node[]): void;
|
|
32
|
+
private registerDropTarget;
|
|
33
|
+
private registerCanDrop;
|
|
34
|
+
private registerCursor;
|
|
35
|
+
private registerActiveDropTargetStyle;
|
|
36
|
+
private registerDropActionSubject;
|
|
37
|
+
private getDropAction;
|
|
38
|
+
private getCursor;
|
|
39
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NodesDragDropService, never>;
|
|
40
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NodesDragDropService>;
|
|
41
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { DropdownComponent } from '../dropdown/dropdown.component';
|
|
2
|
+
import { ActionbarComponent } from '../actionbar/actionbar.component';
|
|
3
|
+
import { ListEventInterface, NodeEntriesDataType, NodeEntriesDisplayType } from '../node-entries/entries-model';
|
|
4
|
+
import { EventEmitter, NgZone, OnDestroy } from '@angular/core';
|
|
5
|
+
import { AuthenticationService, NetworkService, Node, UserService } from 'ngx-edu-sharing-api';
|
|
6
|
+
import { CustomOptions, OptionItem, Scope, Target } from '../types/option-item';
|
|
7
|
+
import { OptionsHelperService } from './abstract/options-helper.service';
|
|
8
|
+
import { KeyboardShortcutsService } from './abstract/keyboard-shortcuts.service';
|
|
9
|
+
import { ActivatedRoute } from '@angular/router';
|
|
10
|
+
import { LocalEventsService } from './local-events.service';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
type DeleteEvent = {
|
|
13
|
+
objects: Node[] | any;
|
|
14
|
+
count: number;
|
|
15
|
+
error: boolean;
|
|
16
|
+
};
|
|
17
|
+
export interface OptionsHelperComponents {
|
|
18
|
+
actionbar: ActionbarComponent;
|
|
19
|
+
dropdown: DropdownComponent;
|
|
20
|
+
list: ListEventInterface<NodeEntriesDataType>;
|
|
21
|
+
}
|
|
22
|
+
export interface OptionData {
|
|
23
|
+
scope: Scope;
|
|
24
|
+
activeObjects?: Node[] | any[];
|
|
25
|
+
selectedObjects?: Node[] | any[];
|
|
26
|
+
allObjects?: Node[] | any[];
|
|
27
|
+
parent?: Node | any;
|
|
28
|
+
customOptions?: CustomOptions;
|
|
29
|
+
/**
|
|
30
|
+
* custom interceptor to modify the default options array
|
|
31
|
+
*/
|
|
32
|
+
postPrepareOptions?: (options: OptionItem[], objects: Node[]) => void;
|
|
33
|
+
}
|
|
34
|
+
export declare class OptionsHelperDataService implements OnDestroy {
|
|
35
|
+
private ngZone;
|
|
36
|
+
private route;
|
|
37
|
+
private localEvents;
|
|
38
|
+
private authenticationService;
|
|
39
|
+
private userService;
|
|
40
|
+
private networkService;
|
|
41
|
+
private keyboardShortcutsService;
|
|
42
|
+
private optionsHelperService;
|
|
43
|
+
private components;
|
|
44
|
+
private data;
|
|
45
|
+
private keyboardShortcutsSubscription;
|
|
46
|
+
private globalOptions;
|
|
47
|
+
private destroyed;
|
|
48
|
+
readonly virtualNodesAdded: EventEmitter<Node[]>;
|
|
49
|
+
readonly nodesChanged: EventEmitter<void | Node[]>;
|
|
50
|
+
readonly nodesDeleted: EventEmitter<DeleteEvent>;
|
|
51
|
+
readonly displayTypeChanged: EventEmitter<NodeEntriesDisplayType>;
|
|
52
|
+
constructor(ngZone: NgZone, route: ActivatedRoute, localEvents: LocalEventsService, authenticationService: AuthenticationService, userService: UserService, networkService: NetworkService, keyboardShortcutsService: KeyboardShortcutsService, optionsHelperService: OptionsHelperService);
|
|
53
|
+
/** Performs subscriptions that don't have to be refreshed. */
|
|
54
|
+
private registerStaticSubscriptions;
|
|
55
|
+
ngOnDestroy(): void;
|
|
56
|
+
initComponents(actionbar?: ActionbarComponent, list?: ListEventInterface<NodeEntriesDataType>, dropdown?: DropdownComponent): Promise<void>;
|
|
57
|
+
getData(): OptionData;
|
|
58
|
+
setData(data: OptionData): void;
|
|
59
|
+
refreshComponents(refreshListOptions?: boolean): void;
|
|
60
|
+
getAvailableOptions(target: Target, objects?: Node[]): OptionItem[];
|
|
61
|
+
private addVirtualObjects;
|
|
62
|
+
registerGlobalKeyboardShortcuts(): void;
|
|
63
|
+
private handleKeyboardEvent;
|
|
64
|
+
filterOptions(options: OptionItem[], target: Target, objects?: Node[] | any): OptionItem[];
|
|
65
|
+
/**
|
|
66
|
+
* shortcut to simply disable all options on the given compoennts
|
|
67
|
+
* @param actionbar
|
|
68
|
+
* @param list
|
|
69
|
+
*/
|
|
70
|
+
clearComponents(actionbar: ActionbarComponent, list?: ListEventInterface<Node>): void;
|
|
71
|
+
pasteNode(nodes?: Node[]): void;
|
|
72
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OptionsHelperDataService, [null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
73
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OptionsHelperDataService>;
|
|
74
|
+
}
|
|
75
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Node } from 'ngx-edu-sharing-api';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Replaces absolute backend URLs with proxied URLs when in dev environment.
|
|
5
|
+
*
|
|
6
|
+
* This is needed for content that requires authentication, so the browser provides the required
|
|
7
|
+
* session cookie with the request, or when accessing the dev server from another device.
|
|
8
|
+
*/
|
|
9
|
+
export declare class RepoUrlService {
|
|
10
|
+
private networkService;
|
|
11
|
+
private configuration;
|
|
12
|
+
private constructor();
|
|
13
|
+
/**
|
|
14
|
+
* Replaces the given URL if the given node belongs to the home repository.
|
|
15
|
+
*/
|
|
16
|
+
getRepoUrl(url: string, node: Node): Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Replaces the given URL.
|
|
19
|
+
*
|
|
20
|
+
* The caller needs to make sure that the given URL belongs to the home repository.
|
|
21
|
+
*/
|
|
22
|
+
withCurrentOrigin(url: string): string;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RepoUrlService, never>;
|
|
24
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RepoUrlService>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Node } from 'ngx-edu-sharing-api';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Service to store any data temporary (lost after reloading page).
|
|
5
|
+
*
|
|
6
|
+
* Note that all components share the same data source. So uses prefixes for your name if
|
|
7
|
+
* applicable!
|
|
8
|
+
*/
|
|
9
|
+
export declare class TemporaryStorageService {
|
|
10
|
+
static APPLY_TO_LMS_PARAMETER_NODE: string;
|
|
11
|
+
static NODE_RENDER_PARAMETER_LIST: string;
|
|
12
|
+
static NODE_RENDER_PARAMETER_DATA_SOURCE: string;
|
|
13
|
+
static COLLECTION_ADD_NODES: string;
|
|
14
|
+
static WORKSPACE_LAST_LOCATION: string;
|
|
15
|
+
static OPTION_HIDE_MAINNAV: 'option_hide_mainnav';
|
|
16
|
+
static OPTION_DISABLE_SCROLL_LAYOUT: 'option_disable_scroll_layout';
|
|
17
|
+
static CUSTOM_NODE_LIST_COMPONENT: string;
|
|
18
|
+
static CUSTOM_NODE_ENTRIES_COMPONENT: string;
|
|
19
|
+
private data;
|
|
20
|
+
constructor();
|
|
21
|
+
get(name: string, defaultValue?: any): any;
|
|
22
|
+
set(name: string, value: any): void;
|
|
23
|
+
/**
|
|
24
|
+
* Same as get, but will remove the value after fetching it.
|
|
25
|
+
*/
|
|
26
|
+
pop(name: string, defaultValue?: any): any;
|
|
27
|
+
remove(name: string): void;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TemporaryStorageService, never>;
|
|
29
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TemporaryStorageService>;
|
|
30
|
+
}
|
|
31
|
+
export interface ClipboardObject {
|
|
32
|
+
nodes: Node[];
|
|
33
|
+
sourceNode: Node;
|
|
34
|
+
copy: boolean;
|
|
35
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ComponentFactoryResolver, ComponentRef, Injector, NgZone, Type, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { OptionItem } from '../types/option-item';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class UIService {
|
|
6
|
+
protected componentFactoryResolver: ComponentFactoryResolver;
|
|
7
|
+
protected injector: Injector;
|
|
8
|
+
protected ngZone: NgZone;
|
|
9
|
+
private isTouchSubject;
|
|
10
|
+
private metaKeyPressedSubject;
|
|
11
|
+
private shiftKeyPressedSubject;
|
|
12
|
+
private ctrlKeyPressedSubject;
|
|
13
|
+
get shiftKeyPressed(): boolean;
|
|
14
|
+
constructor(componentFactoryResolver: ComponentFactoryResolver, injector: Injector, ngZone: NgZone);
|
|
15
|
+
private onKeyDownOrKeyUp;
|
|
16
|
+
private updateModifierKeys;
|
|
17
|
+
observeCtrlOrCmdKeyPressedOutsideZone(): Observable<boolean>;
|
|
18
|
+
isMobile(): boolean;
|
|
19
|
+
static evaluateMediaQuery(type: string, value: number): boolean;
|
|
20
|
+
filterValidOptions(options: OptionItem[]): OptionItem[];
|
|
21
|
+
filterToggleOptions(options: OptionItem[], toggle: boolean): OptionItem[];
|
|
22
|
+
/**
|
|
23
|
+
* dynamically inject an angular component into a regular html dom element
|
|
24
|
+
* @param componentFactoryResolver The resolver service
|
|
25
|
+
* @param viewContainerRef The viewContainerRef service
|
|
26
|
+
* @param componentName The name of the angular component (e.g. SpinnerComponent)
|
|
27
|
+
* @param targetElement The target element of the dom. If the element is null (not found), nothing is done
|
|
28
|
+
* @param bindings Optional bindings (inputs & outputs) to the given component
|
|
29
|
+
* @param delay Optional inflating delay in ms(some components may need some time to "init" the layout)
|
|
30
|
+
* @param replace Whether to replace to previous `innerHTML` of `targetElement`
|
|
31
|
+
* @param injector (to fetch templates for the component)
|
|
32
|
+
*/
|
|
33
|
+
injectAngularComponent<T>(viewContainerRef: ViewContainerRef, componentName: Type<T>, targetElement: Element, bindings?: {
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
}, { delay, replace }?: {
|
|
36
|
+
delay?: number;
|
|
37
|
+
replace?: boolean;
|
|
38
|
+
}): ComponentRef<T>;
|
|
39
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UIService, never>;
|
|
40
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UIService>;
|
|
41
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { MatMenu } from '@angular/material/menu';
|
|
3
|
+
import { ListItem, SortEvent } from '../types/list-item';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SortDropdownComponent {
|
|
6
|
+
menu: MatMenu;
|
|
7
|
+
columns: ListItem[];
|
|
8
|
+
sortBy: string;
|
|
9
|
+
sortAscending: boolean;
|
|
10
|
+
onSort: EventEmitter<SortEvent>;
|
|
11
|
+
constructor();
|
|
12
|
+
setSort(item: ListItem | any): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SortDropdownComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SortDropdownComponent, "es-sort-dropdown", never, { "columns": { "alias": "columns"; "required": false; }; "sortBy": { "alias": "sortBy"; "required": false; }; "sortAscending": { "alias": "sortAscending"; "required": false; }; }, { "onSort": "onSort"; }, never, never, false, never>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class SpinnerComponent {
|
|
3
|
+
readonly dataTest = "loading-spinner";
|
|
4
|
+
constructor();
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "es-spinner", never, {}, {}, never, never, false, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { TranslateLoader } from '@ngx-translate/core';
|
|
3
|
+
import { ConfigService } from 'ngx-edu-sharing-api';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { EduSharingUiConfiguration } from '../edu-sharing-ui-configuration';
|
|
6
|
+
export declare const TRANSLATION_LIST: string[];
|
|
7
|
+
type Dictionary = {
|
|
8
|
+
[key: string]: string | Dictionary;
|
|
9
|
+
};
|
|
10
|
+
export declare class TranslationLoader implements TranslateLoader {
|
|
11
|
+
private http;
|
|
12
|
+
private configService;
|
|
13
|
+
private configuration;
|
|
14
|
+
private prefix;
|
|
15
|
+
private suffix;
|
|
16
|
+
static create(http: HttpClient, configService: ConfigService, configuration: EduSharingUiConfiguration): TranslationLoader;
|
|
17
|
+
private constructor();
|
|
18
|
+
private readonly source;
|
|
19
|
+
/**
|
|
20
|
+
* Gets the translations from the server
|
|
21
|
+
*/
|
|
22
|
+
getTranslation(lang: string): Observable<Dictionary>;
|
|
23
|
+
private getOriginalTranslations;
|
|
24
|
+
private getSource;
|
|
25
|
+
/**
|
|
26
|
+
* Returns an array of Observables that will each fetch a translations json
|
|
27
|
+
* file.
|
|
28
|
+
*/
|
|
29
|
+
private fetchTranslations;
|
|
30
|
+
/**
|
|
31
|
+
* Takes an array as returned by `fetchTranslations` and converts it to an
|
|
32
|
+
* Observable that yields a single Dictionary object.
|
|
33
|
+
*/
|
|
34
|
+
private mergeTranslations;
|
|
35
|
+
/**
|
|
36
|
+
* Applies `overrides` to `translations` and returns `translations`.
|
|
37
|
+
*
|
|
38
|
+
* Example:
|
|
39
|
+
* translations = { foo: { bar: 'bar' } }
|
|
40
|
+
* overrides = { 'foo.bar': 'baz' }
|
|
41
|
+
* results in
|
|
42
|
+
* translations = { foo: {bar: 'baz' } }
|
|
43
|
+
*
|
|
44
|
+
* @param translations Nested translations object.
|
|
45
|
+
* @param overrides Flat object with dots (.) in keys interpreted as
|
|
46
|
+
* separators.
|
|
47
|
+
*/
|
|
48
|
+
private applyOverrides;
|
|
49
|
+
private replaceGenderCharacter;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
package/{src/lib/translations/translation-source.ts → lib/translations/translation-source.d.ts}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** The preferred source for language files. */
|
|
2
|
-
export enum TranslationSource {
|
|
2
|
+
export declare enum TranslationSource {
|
|
3
3
|
/** In dev mode, local files are used and in production, repository files are used (default). */
|
|
4
|
-
Auto,
|
|
4
|
+
Auto = 0,
|
|
5
5
|
/** Local files (assets/i18n) are used. */
|
|
6
|
-
Local,
|
|
6
|
+
Local = 1,
|
|
7
7
|
/** Repository files are used. */
|
|
8
|
-
Repository
|
|
8
|
+
Repository = 2
|
|
9
9
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@ngx-translate/core";
|
|
4
|
+
/**
|
|
5
|
+
* Import this module once in the app module to provide the `TranslateService`.
|
|
6
|
+
*
|
|
7
|
+
* Export `TranslateModule` in the shared module to provide directives and pipes.
|
|
8
|
+
*/
|
|
9
|
+
export declare class TranslationsModule {
|
|
10
|
+
static forRoot(): ModuleWithProviders<TranslationsModule>;
|
|
11
|
+
constructor(parentModule?: TranslationsModule);
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TranslationsModule, [{ optional: true; skipSelf: true; }]>;
|
|
13
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TranslationsModule, never, [typeof i1.TranslateModule], never>;
|
|
14
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TranslationsModule>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ActivatedRoute } from '@angular/router';
|
|
2
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { ConfigService, SessionStorageService } from 'ngx-edu-sharing-api';
|
|
5
|
+
import { AppService } from '../services/abstract/app.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class TranslationsService {
|
|
8
|
+
private config;
|
|
9
|
+
private route;
|
|
10
|
+
private storage;
|
|
11
|
+
private translate;
|
|
12
|
+
private appService;
|
|
13
|
+
private language;
|
|
14
|
+
private languageLoaded;
|
|
15
|
+
constructor(config: ConfigService, route: ActivatedRoute, storage: SessionStorageService, translate: TranslateService, appService: AppService);
|
|
16
|
+
/**
|
|
17
|
+
* Determines and configures the language to use and triggers loading of translations with
|
|
18
|
+
* ngx-translate.
|
|
19
|
+
*
|
|
20
|
+
* Call this once in the app component.
|
|
21
|
+
*/
|
|
22
|
+
initialize(): Observable<void>;
|
|
23
|
+
private initializeCordova;
|
|
24
|
+
waitForInit(): Observable<void>;
|
|
25
|
+
/** Same as `translate.currentLang`. */
|
|
26
|
+
getLanguage(): string;
|
|
27
|
+
getISOLanguage(): string;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TranslationsService, [null, null, null, null, { optional: true; }]>;
|
|
29
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TranslationsService>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class AccessibilitySettings {
|
|
2
|
+
toastMode: 'important' | 'all';
|
|
3
|
+
toastDuration: ToastDuration;
|
|
4
|
+
contrastMode: boolean;
|
|
5
|
+
indicatorIcons: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare enum ToastDuration {
|
|
8
|
+
Seconds_3 = 3,
|
|
9
|
+
Seconds_5 = 5,
|
|
10
|
+
Seconds_8 = 8,
|
|
11
|
+
Seconds_15 = 15,
|
|
12
|
+
Seconds_30 = 30,
|
|
13
|
+
Seconds_60 = 60,
|
|
14
|
+
Infinite
|
|
15
|
+
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Node } from 'ngx-edu-sharing-api';
|
|
2
|
-
|
|
3
2
|
export type DropAction = 'move' | 'copy' | 'link';
|
|
4
|
-
|
|
5
3
|
export interface DragData<T = unknown> {
|
|
6
4
|
draggedNodes: Node[];
|
|
7
5
|
action: DropAction;
|
|
@@ -11,7 +9,6 @@ export interface DropTargetState {
|
|
|
11
9
|
action: DropAction;
|
|
12
10
|
canDrop: CanDrop;
|
|
13
11
|
}
|
|
14
|
-
|
|
15
12
|
export interface CanDrop {
|
|
16
13
|
/** Whether the target is a valid drop target for the dragged nodes and the given action. */
|
|
17
14
|
accept: boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type Modifier = 'Ctrl/Cmd' | 'Shift' | 'Alt';
|
|
2
|
+
export interface KeyboardShortcutCondition {
|
|
3
|
+
modifiers?: Modifier[];
|
|
4
|
+
keyCode: string;
|
|
5
|
+
ignoreWhen?: (event: KeyboardEvent) => boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface KeyboardShortcut extends KeyboardShortcutCondition {
|
|
8
|
+
callback: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function matchesShortcutCondition(event: KeyboardEvent, condition: KeyboardShortcutCondition): boolean;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Sort, SortDirection } from '@angular/material/sort';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
export type ListItemType = 'NODE' | 'NODE_PROPOSAL' | 'COLLECTION' | 'ORG' | 'GROUP' | 'USER';
|
|
4
|
+
/**
|
|
5
|
+
* A list item info, which is basically a column
|
|
6
|
+
* Example:
|
|
7
|
+
this.columns.push(new ListItem(RestConstants.CM_NAME));
|
|
8
|
+
this.columns.push(new ListItem(RestConstants.CM_ARCHIVED_DATE));
|
|
9
|
+
*/
|
|
10
|
+
export declare class ListItem {
|
|
11
|
+
type: ListItemType;
|
|
12
|
+
name: string;
|
|
13
|
+
config: {
|
|
14
|
+
showLabel: boolean;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Should this item be shown by default
|
|
18
|
+
* @type {boolean}
|
|
19
|
+
*/
|
|
20
|
+
visible: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Label to display, if set, should be preferred instead of automatic i18n
|
|
23
|
+
*/
|
|
24
|
+
label: string;
|
|
25
|
+
/**
|
|
26
|
+
* custom format string for date fields, may be null
|
|
27
|
+
*/
|
|
28
|
+
format: string;
|
|
29
|
+
constructor(type: ListItemType, name: string, config?: {
|
|
30
|
+
showLabel: boolean;
|
|
31
|
+
});
|
|
32
|
+
static getCollectionDefaults(): ListItem[];
|
|
33
|
+
}
|
|
34
|
+
export declare class ListItemSort extends ListItem {
|
|
35
|
+
type: ListItemType;
|
|
36
|
+
name: string;
|
|
37
|
+
mode: 'ascending' | 'descending' | null;
|
|
38
|
+
config: {
|
|
39
|
+
showLabel: boolean;
|
|
40
|
+
};
|
|
41
|
+
constructor(type: ListItemType, name: string, mode?: 'ascending' | 'descending' | null, config?: {
|
|
42
|
+
showLabel: boolean;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
export declare class SortEvent extends ListItemSort {
|
|
46
|
+
ascending: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* UI element that allows the user to choose sorting.
|
|
50
|
+
*/
|
|
51
|
+
export interface SortPanel {
|
|
52
|
+
active: string;
|
|
53
|
+
direction: SortDirection;
|
|
54
|
+
readonly sortChange: Observable<Sort>;
|
|
55
|
+
}
|