ngx-edu-sharing-ui 9.0.2 → 9.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/esm2022/lib/actionbar/actionbar.component.mjs +33 -18
  2. package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +73 -62
  3. package/esm2022/lib/directives/check-text-overflow.directive.mjs +8 -2
  4. package/esm2022/lib/directives/icon.directive.mjs +38 -14
  5. package/esm2022/lib/directives/infinite-scroll.directive.mjs +85 -0
  6. package/esm2022/lib/dropdown/dropdown.component.mjs +17 -10
  7. package/esm2022/lib/edu-sharing-ui-configuration.mjs +8 -1
  8. package/esm2022/lib/edu-sharing-ui.module.mjs +5 -1
  9. package/esm2022/lib/list-items/list-base/list-base.component.mjs +6 -6
  10. package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +3 -1
  11. package/esm2022/lib/list-items/list-text/list-text.component.mjs +17 -17
  12. package/esm2022/lib/mds/mds-helper.service.mjs +167 -0
  13. package/esm2022/lib/mds/mds.module.mjs +16 -0
  14. package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +3 -3
  15. package/esm2022/lib/node-entries/entries-model.mjs +2 -1
  16. package/esm2022/lib/node-entries/node-cache.mjs +9 -1
  17. package/esm2022/lib/node-entries/node-data-source.mjs +4 -2
  18. package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +16 -12
  19. package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +37 -22
  20. package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +5 -5
  21. package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +7 -3
  22. package/esm2022/lib/node-entries/node-entries-global.service.mjs +14 -1
  23. package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +3 -3
  24. package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +45 -34
  25. package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +17 -5
  26. package/esm2022/lib/node-entries/node-entries.component.mjs +2 -2
  27. package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +35 -12
  28. package/esm2022/lib/node-entries/option-button/option-button.component.mjs +24 -11
  29. package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +3 -3
  30. package/esm2022/lib/node-url/node-url.component.mjs +7 -3
  31. package/esm2022/lib/pipes/file-size.pipe.mjs +6 -5
  32. package/esm2022/lib/pipes/node-title.pipe.mjs +7 -1
  33. package/esm2022/lib/pipes/option-tooltip.pipe.mjs +3 -3
  34. package/esm2022/lib/pipes/property-slug.pipe.mjs +16 -0
  35. package/esm2022/lib/services/abstract/options-helper.service.mjs +1 -1
  36. package/esm2022/lib/services/app-container.service.mjs +66 -0
  37. package/esm2022/lib/services/node-entries.service.mjs +47 -3
  38. package/esm2022/lib/services/node-helper.service.mjs +38 -12
  39. package/esm2022/lib/services/options-helper-data.service.mjs +5 -5
  40. package/esm2022/lib/services/repo-url.service.mjs +2 -1
  41. package/esm2022/lib/services/ui.service.mjs +22 -1
  42. package/esm2022/lib/spinner/spinner.component.mjs +4 -3
  43. package/esm2022/lib/translations/translation-loader.mjs +48 -14
  44. package/esm2022/lib/translations/translations.module.mjs +15 -4
  45. package/esm2022/lib/translations/translations.service.mjs +25 -7
  46. package/esm2022/lib/types/injection-tokens.mjs +9 -0
  47. package/esm2022/lib/types/option-item.mjs +9 -3
  48. package/esm2022/module.mjs +51 -43
  49. package/fesm2022/ngx-edu-sharing-ui.mjs +4595 -3931
  50. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
  51. package/lib/actionbar/actionbar.component.d.ts +13 -3
  52. package/lib/common/edu-sharing-ui-common.module.d.ts +27 -25
  53. package/lib/directives/icon.directive.d.ts +6 -4
  54. package/lib/directives/infinite-scroll.directive.d.ts +22 -0
  55. package/lib/dropdown/dropdown.component.d.ts +6 -3
  56. package/lib/edu-sharing-ui-configuration.d.ts +5 -0
  57. package/lib/edu-sharing-ui.module.d.ts +7 -6
  58. package/lib/list-items/list-widget.d.ts +1 -1
  59. package/lib/mds/mds-helper.service.d.ts +37 -0
  60. package/lib/mds/mds.module.d.ts +6 -0
  61. package/lib/node-entries/entries-model.d.ts +3 -2
  62. package/lib/node-entries/node-data-source.d.ts +1 -1
  63. package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +2 -2
  64. package/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.d.ts +6 -1
  65. package/lib/node-entries/node-entries-global-options/node-entries-global-options.component.d.ts +1 -0
  66. package/lib/node-entries/node-entries-global.service.d.ts +7 -0
  67. package/lib/node-entries/node-entries-table/node-entries-table.component.d.ts +4 -1
  68. package/lib/node-entries/node-entries-wrapper.component.d.ts +8 -3
  69. package/lib/node-entries/node-rating/node-rating.component.d.ts +3 -3
  70. package/lib/node-entries/option-button/option-button.component.d.ts +8 -3
  71. package/lib/pipes/node-title.pipe.d.ts +2 -1
  72. package/lib/pipes/option-tooltip.pipe.d.ts +1 -1
  73. package/lib/pipes/property-slug.pipe.d.ts +7 -0
  74. package/lib/services/abstract/options-helper.service.d.ts +4 -4
  75. package/lib/services/app-container.service.d.ts +43 -0
  76. package/lib/services/node-entries.service.d.ts +31 -6
  77. package/lib/services/node-helper.service.d.ts +7 -5
  78. package/lib/services/options-helper-data.service.d.ts +6 -6
  79. package/lib/services/ui.service.d.ts +15 -2
  80. package/lib/spinner/spinner.component.d.ts +1 -1
  81. package/lib/translations/translation-loader.d.ts +2 -1
  82. package/lib/translations/translations.service.d.ts +5 -2
  83. package/lib/types/injection-tokens.d.ts +8 -0
  84. package/lib/types/option-item.d.ts +10 -6
  85. package/module.d.ts +50 -42
  86. package/package.json +1 -1
  87. package/esm2022/lib/translations/languages.mjs +0 -5
  88. package/lib/translations/languages.d.ts +0 -4
@@ -0,0 +1,43 @@
1
+ import { NgZone } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Provides methods on the container that hosts the application.
6
+ *
7
+ * Usually, this will be `window`, but in case the application is embedded as a web component, it is
8
+ * a `HTMLElement`.
9
+ */
10
+ export declare class AppContainerService {
11
+ private ngZone;
12
+ private scrollContainer?;
13
+ constructor(ngZone: NgZone);
14
+ init(appElement: HTMLElement): void;
15
+ /**
16
+ * Registers one or more events on the application's scroll container.
17
+ *
18
+ * Note that the callback will be called outside of ng zone, so you must wrap any action that
19
+ * should be reflected by Angular with `ngZone.run()`.
20
+ */
21
+ registerScrollEvents(callback: (event: Event) => void, until: Observable<void>, { events }?: {
22
+ events?: string[];
23
+ }): void;
24
+ /**
25
+ * Return true if there is a scrolling ancestor that encompasses the app other than the document
26
+ * element.
27
+ */
28
+ hasScrollContainer(): boolean;
29
+ /**
30
+ * Returns the nearest scrolling container element that encompasses the app if the app is
31
+ * embedded in another web page.
32
+ *
33
+ * If the app is served natively, returns the document element.
34
+ */
35
+ getScrollContainer(): HTMLElement;
36
+ getScrollContainer<T>({ fallback }: {
37
+ fallback: T;
38
+ }): T;
39
+ private registerScrollContainer;
40
+ private getNearestScrollingAncestor;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppContainerService, never>;
42
+ static ɵprov: i0.ɵɵInjectableDeclaration<AppContainerService>;
43
+ }
@@ -1,13 +1,38 @@
1
1
  import { SelectionModel } from '@angular/cdk/collections';
2
- import { EventEmitter } from '@angular/core';
2
+ import { EventEmitter, WritableSignal } from '@angular/core';
3
3
  import { BehaviorSubject } from 'rxjs';
4
- import { FetchEvent, GridConfig, InteractionType, ListDragGropConfig, ListEventInterface, ListOptions, ListSortConfig, NodeClickEvent, NodeEntriesDataType, NodeEntriesDisplayType } from '../node-entries/entries-model';
4
+ import { ClickSource, FetchEvent, GridConfig, InteractionType, ListDragGropConfig, ListEventInterface, ListOptions, ListSortConfig, NodeClickEvent, NodeEntriesDataType, NodeEntriesDisplayType } from '../node-entries/entries-model';
5
5
  import { NodeDataSource } from '../node-entries/node-data-source';
6
6
  import { NodeEntriesGlobalService, PaginationStrategy } from '../node-entries/node-entries-global.service';
7
7
  import { OptionItem, Scope } from '../types/option-item';
8
8
  import { ListItem } from '../types/list-item';
9
9
  import { UIService } from './ui.service';
10
10
  import * as i0 from "@angular/core";
11
+ /**
12
+ Custom selection model which adds the click source of the selection.
13
+ USED IN EXTENSIONS!
14
+ */
15
+ export declare class CustomSelectionModel<T> extends SelectionModel<T> {
16
+ private _clickSource;
17
+ /**
18
+ * used in extensions
19
+ */
20
+ readonly changedClickSource: import("rxjs").Observable<{
21
+ clickSource: ClickSource;
22
+ source: SelectionModel<T>;
23
+ added: T[];
24
+ removed: T[];
25
+ }>;
26
+ deselect(...values: T[]): void;
27
+ toggle(value: T): void;
28
+ clear(): void;
29
+ select(...values: T[]): void;
30
+ /**
31
+ * used in extensions
32
+ * @param value
33
+ */
34
+ set clickSource(value: ClickSource);
35
+ }
11
36
  export declare class NodeEntriesService<T extends NodeEntriesDataType> {
12
37
  private uiService;
13
38
  private entriesGlobal;
@@ -30,16 +55,15 @@ export declare class NodeEntriesService<T extends NodeEntriesDataType> {
30
55
  get columns(): ListItem[];
31
56
  set columns(value: ListItem[]);
32
57
  configureColumns: boolean;
33
- /** Emits when the columns configuration changes through user interaction. */
34
- columnsChange: EventEmitter<ListItem[]>;
35
58
  displayType: NodeEntriesDisplayType;
36
- selection: SelectionModel<T>;
59
+ selection: CustomSelectionModel<T>;
37
60
  elementInteractionType: InteractionType;
38
61
  options$: BehaviorSubject<ListOptions>;
39
62
  get options(): ListOptions;
40
63
  set options(options: ListOptions);
41
64
  checkbox: boolean;
42
- globalOptions: OptionItem[];
65
+ globalOptionsSubject: BehaviorSubject<OptionItem[]>;
66
+ set globalOptions(globalOptions: OptionItem[]);
43
67
  sortSubject: BehaviorSubject<ListSortConfig>;
44
68
  get sort(): ListSortConfig;
45
69
  set sort(value: ListSortConfig);
@@ -54,6 +78,7 @@ export declare class NodeEntriesService<T extends NodeEntriesDataType> {
54
78
  primaryInstance: boolean;
55
79
  singleClickHint: 'dynamic' | 'static';
56
80
  disableInfiniteScroll: boolean;
81
+ scrollGradientColor: WritableSignal<string>;
57
82
  constructor(uiService: UIService, entriesGlobal: NodeEntriesGlobalService);
58
83
  onClicked({ event, ...data }: NodeClickEvent<T> & {
59
84
  event: MouseEvent;
@@ -1,4 +1,4 @@
1
- import { ApiHelpersService, ConfigService, NetworkService, Node } from 'ngx-edu-sharing-api';
1
+ import { ApiHelpersService, ConfigService, User, NetworkService, Node } from 'ngx-edu-sharing-api';
2
2
  import { TranslateService } from '@ngx-translate/core';
3
3
  import * as Workflow from '../types/workflow';
4
4
  import { RepoUrlService } from './repo-url.service';
@@ -10,7 +10,8 @@ export declare class NodeHelperService {
10
10
  protected networkService: NetworkService;
11
11
  protected configService: ConfigService;
12
12
  protected repoUrlService: RepoUrlService;
13
- constructor(translate: TranslateService, apiHelpersService: ApiHelpersService, networkService: NetworkService, configService: ConfigService, repoUrlService: RepoUrlService);
13
+ private assetsBasePath;
14
+ constructor(translate: TranslateService, apiHelpersService: ApiHelpersService, networkService: NetworkService, configService: ConfigService, repoUrlService: RepoUrlService, assetsBasePath: string);
14
15
  getCollectionScopeInfo(node: Node): {
15
16
  icon: string;
16
17
  scopeName: string;
@@ -41,16 +42,17 @@ export declare class NodeHelperService {
41
42
  * return the License URL (e.g. for CC_BY licenses) for a license string and version
42
43
  * @param licenseProperty
43
44
  * @param licenseVersion
45
+ * @param licenseLocale
44
46
  */
45
- getLicenseUrlByString(licenseProperty: string, licenseVersion: string): any;
47
+ getLicenseUrlByString(licenseProperty: string, licenseVersion: string, licenseLocale: string): import("rxjs").Observable<string>;
46
48
  getWorkflowStatusById(id: string): Workflow.WorkflowDefinition;
47
49
  getWorkflowStatus(node: Node, useFromConfig?: boolean): Workflow.WorkflowDefinitionStatus;
48
50
  getDefaultWorkflowStatus(useFromConfig?: boolean): Workflow.WorkflowDefinitionStatus;
49
51
  getWorkflows(): Workflow.WorkflowDefinition[];
50
- copyDataToNode<T extends Node>(target: T, source: T): void;
52
+ copyDataToNode<T extends Node | User>(target: T, source: T): void;
51
53
  isNodeCollection(node: Node): boolean;
52
54
  getSourceIconPath(src: string): string;
53
55
  getNodeLink(mode: 'routerLink' | 'queryParams', node: Node): string | Params;
54
- static ɵfac: i0.ɵɵFactoryDeclaration<NodeHelperService, never>;
56
+ static ɵfac: i0.ɵɵFactoryDeclaration<NodeHelperService, [null, null, null, null, null, { optional: true; }]>;
55
57
  static ɵprov: i0.ɵɵInjectableDeclaration<NodeHelperService>;
56
58
  }
@@ -1,6 +1,6 @@
1
- import { DropdownComponent } from '../dropdown/dropdown.component';
2
- import { ActionbarComponent } from '../actionbar/actionbar.component';
3
- import { ListEventInterface, NodeEntriesDataType, NodeEntriesDisplayType } from '../node-entries/entries-model';
1
+ import type { DropdownComponent } from '../dropdown/dropdown.component';
2
+ import type { ActionbarComponent } from '../actionbar/actionbar.component';
3
+ import type { ListEventInterface, NodeEntriesDataType, NodeEntriesDisplayType } from '../node-entries/entries-model';
4
4
  import { EventEmitter, NgZone, OnDestroy } from '@angular/core';
5
5
  import { AuthenticationService, NetworkService, Node, UserService } from 'ngx-edu-sharing-api';
6
6
  import { CustomOptions, OptionItem, Scope, Target } from '../types/option-item';
@@ -56,12 +56,12 @@ export declare class OptionsHelperDataService implements OnDestroy {
56
56
  initComponents(actionbar?: ActionbarComponent, list?: ListEventInterface<NodeEntriesDataType>, dropdown?: DropdownComponent): Promise<void>;
57
57
  getData(): OptionData;
58
58
  setData(data: OptionData): void;
59
- refreshComponents(refreshListOptions?: boolean): void;
60
- getAvailableOptions(target: Target, objects?: Node[]): OptionItem[];
59
+ refreshComponents(refreshListOptions?: boolean): Promise<void>;
60
+ getAvailableOptions(target: Target, objects?: Node[]): Promise<OptionItem[]>;
61
61
  private addVirtualObjects;
62
62
  registerGlobalKeyboardShortcuts(): void;
63
63
  private handleKeyboardEvent;
64
- filterOptions(options: OptionItem[], target: Target, objects?: Node[] | any): OptionItem[];
64
+ filterOptions(options: OptionItem[], target: Target, objects?: Node[] | any): Promise<OptionItem[]>;
65
65
  /**
66
66
  * shortcut to simply disable all options on the given compoennts
67
67
  * @param actionbar
@@ -1,12 +1,13 @@
1
1
  import { ComponentFactoryResolver, ComponentRef, Injector, NgZone, Type, ViewContainerRef } from '@angular/core';
2
- import { Observable } from 'rxjs';
2
+ import * as rxjs from 'rxjs';
3
+ import { BehaviorSubject, Observable } from 'rxjs';
3
4
  import { OptionItem } from '../types/option-item';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class UIService {
6
7
  protected componentFactoryResolver: ComponentFactoryResolver;
7
8
  protected injector: Injector;
8
9
  protected ngZone: NgZone;
9
- private isTouchSubject;
10
+ isTouchSubject: rxjs.BehaviorSubject<boolean>;
10
11
  private metaKeyPressedSubject;
11
12
  private shiftKeyPressedSubject;
12
13
  private ctrlKeyPressedSubject;
@@ -15,9 +16,21 @@ export declare class UIService {
15
16
  private onKeyDownOrKeyUp;
16
17
  private updateModifierKeys;
17
18
  observeCtrlOrCmdKeyPressedOutsideZone(): Observable<boolean>;
19
+ /**
20
+ * @Deprecated
21
+ * Prefer to subscribe to the isTouchSubject directly if viable
22
+ *
23
+ * Returns true if the current sessions seems to be running on a mobile device
24
+ */
18
25
  isMobile(): boolean;
19
26
  static evaluateMediaQuery(type: string, value: number): boolean;
20
27
  filterValidOptions(options: OptionItem[]): OptionItem[];
28
+ /**
29
+ * helper that updates the "isEnabled" flag on all options for the given, selected node
30
+ * can be used by dropdown or action menus to update the state for the current element
31
+ * @param options
32
+ */
33
+ updateOptionEnabledState(options: BehaviorSubject<OptionItem[]>, object?: Node | any): Promise<void>;
21
34
  filterToggleOptions(options: OptionItem[], toggle: boolean): OptionItem[];
22
35
  /**
23
36
  * dynamically inject an angular component into a regular html dom element
@@ -3,5 +3,5 @@ export declare class SpinnerComponent {
3
3
  readonly dataTest = "loading-spinner";
4
4
  constructor();
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "es-spinner", never, {}, {}, never, never, false, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "es-spinner", never, {}, {}, never, never, true, never>;
7
7
  }
@@ -8,12 +8,13 @@ type Dictionary = {
8
8
  [key: string]: string | Dictionary;
9
9
  };
10
10
  export declare class TranslationLoader implements TranslateLoader {
11
+ private assetsBasePath;
11
12
  private http;
12
13
  private configService;
13
14
  private configuration;
14
15
  private prefix;
15
16
  private suffix;
16
- static create(http: HttpClient, configService: ConfigService, configuration: EduSharingUiConfiguration): TranslationLoader;
17
+ static create(http: HttpClient, configService: ConfigService, configuration: EduSharingUiConfiguration, assetsBasePath?: string): TranslationLoader;
17
18
  private constructor();
18
19
  private readonly source;
19
20
  /**
@@ -1,3 +1,4 @@
1
+ import { ApplicationRef } from '@angular/core';
1
2
  import { ActivatedRoute } from '@angular/router';
2
3
  import { TranslateService } from '@ngx-translate/core';
3
4
  import { Observable } from 'rxjs';
@@ -9,10 +10,12 @@ export declare class TranslationsService {
9
10
  private route;
10
11
  private storage;
11
12
  private translate;
13
+ private sessionStorage;
14
+ private ref;
12
15
  private appService;
13
16
  private language;
14
17
  private languageLoaded;
15
- constructor(config: ConfigService, route: ActivatedRoute, storage: SessionStorageService, translate: TranslateService, appService: AppService);
18
+ constructor(config: ConfigService, route: ActivatedRoute, storage: SessionStorageService, translate: TranslateService, sessionStorage: SessionStorageService, ref: ApplicationRef, appService: AppService);
16
19
  /**
17
20
  * Determines and configures the language to use and triggers loading of translations with
18
21
  * ngx-translate.
@@ -25,6 +28,6 @@ export declare class TranslationsService {
25
28
  /** Same as `translate.currentLang`. */
26
29
  getLanguage(): string;
27
30
  getISOLanguage(): string;
28
- static ɵfac: i0.ɵɵFactoryDeclaration<TranslationsService, [null, null, null, null, { optional: true; }]>;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<TranslationsService, [null, null, null, null, null, null, { optional: true; }]>;
29
32
  static ɵprov: i0.ɵɵInjectableDeclaration<TranslationsService>;
30
33
  }
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * A custom base path for the assets directory.
4
+ *
5
+ * This is useful when the application cannot be served from the base HREF set in index.html. This
6
+ * is the case when it is embedded as a web component into another website.
7
+ */
8
+ export declare const ASSETS_BASE_PATH: InjectionToken<string>;
@@ -8,8 +8,7 @@
8
8
  import { KeyboardShortcutCondition } from '../types/keyboard-shortcuts';
9
9
  export declare enum NodesRightMode {
10
10
  Local = 0,
11
- Original = 1,
12
- Both = 2
11
+ Effective = 1
13
12
  }
14
13
  export declare class OptionItem {
15
14
  name: string;
@@ -49,6 +48,11 @@ export declare class OptionItem {
49
48
  * @type {boolean}
50
49
  */
51
50
  onlyMobile: boolean;
51
+ /**
52
+ * custom aria-label
53
+ * @type {string}
54
+ */
55
+ ariaLabel: string;
52
56
  /**
53
57
  * If true, only displayed on a desktop device (based on the navigator agent)
54
58
  * @type {boolean}
@@ -79,23 +83,23 @@ export declare class OptionItem {
79
83
  * Is handled by optionsHelper and may not be used otherwise
80
84
  * Please use @customShowCallback instead
81
85
  */
82
- showCallback: (node?: Node | any) => boolean;
86
+ showCallback: (node?: Node | any) => Promise<boolean>;
83
87
  /**
84
88
  * A function called with the node as parm which should return true or false if the option should be shown for this node
85
89
  * Will be called by the optionsHelper
86
90
  */
87
- customShowCallback: (nodes?: Node[] | any[]) => boolean;
91
+ customShowCallback: (nodes?: Node[] | any[]) => Promise<boolean>;
88
92
  /**
89
93
  * A function called with the node as param which should return true or false if the option should be enabled or not
90
94
  * Is handled by optionsHelper and may not be used otherwise
91
95
  * Please use @customEnabledCallback instead
92
96
  */
93
- enabledCallback: (node?: Node | any) => boolean;
97
+ enabledCallback: (node?: Node | any) => Promise<boolean>;
94
98
  /**
95
99
  * A function called with the node as param which should return true or false if the option should be enabled or not
96
100
  * Will be called by the optionsHelper
97
101
  */
98
- customEnabledCallback: (nodes?: Node[] | any[]) => boolean;
102
+ customEnabledCallback: (nodes?: Node[] | any[]) => Promise<boolean>;
99
103
  /**
100
104
  * Optional: A callback that is called when the user clicks on the option when it's currently disabled (greyed out)
101
105
  */
package/module.d.ts CHANGED
@@ -1,72 +1,80 @@
1
- export * from './lib/edu-sharing-ui.module';
2
- export * from './lib/edu-sharing-ui-configuration';
3
- export * from './lib/translations/fallback-translation-handler';
4
- export * from './lib/translations/translation-loader';
1
+ export * from './lib/actionbar/actionbar.component';
5
2
  export * from './lib/common/edu-sharing-ui-common.module';
6
- export * from './lib/translations/translations.module';
7
- export * from './lib/translations/translations.service';
8
- export * from './lib/node-entries/node-data-source';
9
- export * from './lib/node-entries/node-data-source-remote';
10
- export * from './lib/node-entries/items-cap';
11
- export * from './lib/node-entries/combined-data-source';
12
- export * from './lib/node-entries/entries-model';
13
- export * from './lib/node-entries/node-entries-global.service';
14
- export * from './lib/node-entries/node-cache';
15
- export * from './lib/node-entries/node-entries.module';
16
- export * from './lib/node-entries/node-entries-wrapper.component';
17
- export * from './lib/node-entries/list-item-label.pipe';
18
- export * from './lib/directives/icon.directive';
3
+ export * from './lib/mds/mds.module';
19
4
  export * from './lib/directives/border-box-observer.directive';
5
+ export * from './lib/directives/check-text-overflow.directive';
20
6
  export * from './lib/directives/drag-nodes/drag-nodes';
21
- export * from './lib/directives/drag-nodes/nodes-drop-target.directive';
22
7
  export * from './lib/directives/drag-nodes/nodes-drag-source.directive';
23
8
  export * from './lib/directives/drag-nodes/nodes-drag.directive';
24
- export * from './lib/directives/check-text-overflow.directive';
9
+ export * from './lib/directives/drag-nodes/nodes-drop-target.directive';
25
10
  export * from './lib/directives/focus-state.directive';
26
- export * from './lib/sort-dropdown/sort-dropdown.component';
27
- export * from './lib/actionbar/actionbar.component';
28
- export * from './lib/list-items/list-items.module';
29
- export * from './lib/list-items/list-text/list-text.component';
11
+ export * from './lib/directives/icon.directive';
12
+ export * from './lib/directives/infinite-scroll.directive';
13
+ export * from './lib/dropdown/dropdown.component';
14
+ export * from './lib/edu-sharing-ui-configuration';
15
+ export * from './lib/edu-sharing-ui.module';
16
+ export * from './lib/list-items/format-duration.pipe';
30
17
  export * from './lib/list-items/list-base/list-base.component';
31
18
  export * from './lib/list-items/list-counts/list-counts.component';
32
- export * from './lib/list-items/format-duration.pipe';
19
+ export * from './lib/list-items/list-items.module';
20
+ export * from './lib/list-items/list-text/list-text.component';
33
21
  export * from './lib/list-items/node-row/node-row.component';
22
+ export * from './lib/node-entries/combined-data-source';
23
+ export * from './lib/node-entries/custom-templates-data-source';
24
+ export * from './lib/node-entries/entries-model';
25
+ export * from './lib/node-entries/items-cap';
26
+ export * from './lib/node-entries/list-item-label.pipe';
27
+ export * from './lib/node-entries/node-cache';
28
+ export * from './lib/node-entries/node-data-source';
29
+ export * from './lib/node-entries/node-data-source-remote';
30
+ export * from './lib/node-entries/node-entries-global.service';
31
+ export * from './lib/node-entries/node-entries-wrapper.component';
32
+ export * from './lib/node-entries/node-entries.module';
33
+ export * from './lib/node-url/node-url.component';
34
+ export * from './lib/pipes/property-slug.pipe';
35
+ export * from './lib/pipes/file-size.pipe';
34
36
  export * from './lib/pipes/format-date.pipe';
35
- export * from './lib/pipes/vcard-name.pipe';
36
37
  export * from './lib/pipes/node-icon.pipe';
37
- export * from './lib/pipes/node-image.pipe';
38
38
  export * from './lib/pipes/node-image-size.pipe';
39
- export * from './lib/pipes/file-size.pipe';
39
+ export * from './lib/pipes/node-image.pipe';
40
40
  export * from './lib/pipes/node-person-name.pipe';
41
41
  export * from './lib/pipes/node-title.pipe';
42
+ export * from './lib/pipes/vcard-name.pipe';
42
43
  export * from './lib/services/abstract/app.service';
43
- export * from './lib/services/abstract/options-helper.service';
44
44
  export * from './lib/services/abstract/keyboard-shortcuts.service';
45
+ export * from './lib/services/abstract/options-helper.service';
45
46
  export * from './lib/services/abstract/toast.service';
46
- export * from './lib/services/local-events.service';
47
- export * from './lib/services/ui.service';
48
47
  export * from './lib/services/accessibility.service';
48
+ export * from './lib/services/app-container.service';
49
+ export * from './lib/services/local-events.service';
50
+ export * from './lib/services/node-helper.service';
49
51
  export * from './lib/services/nodes-drag-drop.service';
50
52
  export * from './lib/services/options-helper-data.service';
51
- export * from './lib/services/temporary-storage.service';
52
- export * from './lib/services/node-helper.service';
53
53
  export * from './lib/services/repo-url.service';
54
- export * from './lib/types/workflow';
54
+ export * from './lib/services/temporary-storage.service';
55
+ export * from './lib/services/ui.service';
56
+ export * from './lib/sort-dropdown/sort-dropdown.component';
57
+ export * from './lib/spinner/spinner.component';
58
+ export * from './lib/translations/fallback-translation-handler';
59
+ export * from './lib/translations/translation-loader';
60
+ export * from './lib/translations/translations.module';
61
+ export * from './lib/translations/translations.service';
62
+ export * from './lib/types/api-models';
63
+ export * from './lib/types/accessibillity';
55
64
  export * from './lib/types/drag-drop';
56
- export * from './lib/types/option-item';
65
+ export * from './lib/types/injection-tokens';
57
66
  export * from './lib/types/keyboard-shortcuts';
58
67
  export * from './lib/types/list-item';
59
- export * from './lib/types/accessibillity';
60
- export * from './lib/util/color-helper';
68
+ export * from './lib/types/option-item';
69
+ export * from './lib/types/workflow';
70
+ export * from './lib/util/DateHelper';
61
71
  export * from './lib/util/VCard';
72
+ export * from './lib/util/color-helper';
73
+ export * from './lib/util/duration-helper';
62
74
  export * from './lib/util/functions';
63
- export * from './lib/util/DateHelper';
64
75
  export * from './lib/util/helper';
76
+ export * from './lib/util/isNumeric';
65
77
  export * from './lib/util/rest-helper';
66
- export * from './lib/util/duration-helper';
67
78
  export * from './lib/util/ui-animation';
68
79
  export * from './lib/util/ui-constants';
69
- export * from './lib/util/isNumeric';
70
- export * from './lib/spinner/spinner.component';
71
- export * from './lib/node-url/node-url.component';
72
- export * from './lib/dropdown/dropdown.component';
80
+ export * from './lib/mds/mds-helper.service';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-edu-sharing-ui",
3
- "version": "9.0.2",
3
+ "version": "9.1.2",
4
4
  "license": "GNU GPL v2",
5
5
  "description": "Angular components for Edu-Sharing UX parts",
6
6
  "peerDependencies": {
@@ -1,5 +0,0 @@
1
- export const LANGUAGES = {
2
- de: 'de_DE',
3
- en: 'en_US',
4
- };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90cmFuc2xhdGlvbnMvbGFuZ3VhZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBOEI7SUFDaEQsRUFBRSxFQUFFLE9BQU87SUFDWCxFQUFFLEVBQUUsT0FBTztDQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcblxuZXhwb3J0IGNvbnN0IExBTkdVQUdFUzogeyBba2V5OiBzdHJpbmddOiBMb2NhbGUgfSA9IHtcbiAgICBkZTogJ2RlX0RFJyxcbiAgICBlbjogJ2VuX1VTJyxcbn07XG4iXX0=
@@ -1,4 +0,0 @@
1
- import { Locale } from 'ngx-edu-sharing-api';
2
- export declare const LANGUAGES: {
3
- [key: string]: Locale;
4
- };