ngx-edu-sharing-ui 10.0.8 → 10.0.10

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 (33) hide show
  1. package/assets/scss/branding.scss +3 -8
  2. package/assets/scss/material-theme.scss +36 -36
  3. package/assets/scss/variables-scss.scss +2 -1
  4. package/assets/scss/variables.scss +5 -0
  5. package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +20 -4
  6. package/esm2022/lib/directives/icon.directive.mjs +37 -16
  7. package/esm2022/lib/index.mjs +7 -1
  8. package/esm2022/lib/mds-viewer/mds-viewer.component.mjs +156 -0
  9. package/esm2022/lib/mds-viewer/mds-viewer.service.mjs +18 -0
  10. package/esm2022/lib/mds-viewer/replace-element-with-div.mjs +47 -0
  11. package/esm2022/lib/mds-viewer/view-instance.service.mjs +27 -0
  12. package/esm2022/lib/mds-viewer/widget/mds-widget.component.mjs +349 -0
  13. package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +2 -2
  14. package/esm2022/lib/pipes/mds-duration.pipe.mjs +25 -0
  15. package/esm2022/lib/services/node-helper.service.mjs +21 -18
  16. package/esm2022/lib/services/options-helper-data.service.mjs +2 -2
  17. package/esm2022/lib/services/ui.service.mjs +147 -3
  18. package/esm2022/lib/util/rest-helper.mjs +11 -4
  19. package/fesm2022/ngx-edu-sharing-ui.mjs +2971 -2203
  20. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
  21. package/lib/common/edu-sharing-ui-common.module.d.ts +33 -30
  22. package/lib/directives/icon.directive.d.ts +4 -2
  23. package/lib/index.d.ts +6 -0
  24. package/lib/mds-viewer/mds-viewer.component.d.ts +52 -0
  25. package/lib/mds-viewer/mds-viewer.service.d.ts +12 -0
  26. package/lib/mds-viewer/replace-element-with-div.d.ts +8 -0
  27. package/lib/mds-viewer/view-instance.service.d.ts +20 -0
  28. package/lib/mds-viewer/widget/mds-widget.component.d.ts +111 -0
  29. package/lib/pipes/mds-duration.pipe.d.ts +7 -0
  30. package/lib/services/node-helper.service.d.ts +3 -0
  31. package/lib/services/ui.service.d.ts +32 -1
  32. package/lib/util/rest-helper.d.ts +1 -0
  33. package/package.json +1 -1
@@ -1,35 +1,38 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "../actionbar/actionbar.component";
3
- import * as i2 from "../directives/border-box-observer.directive";
4
- import * as i3 from "../directives/check-text-overflow.directive";
5
- import * as i4 from "../dropdown/dropdown.component";
6
- import * as i5 from "../directives/focus-state.directive";
7
- import * as i6 from "../pipes/format-date.pipe";
8
- import * as i7 from "../pipes/file-size.pipe";
9
- import * as i8 from "../directives/icon.directive";
10
- import * as i9 from "../directives/infinite-scroll.directive";
11
- import * as i10 from "../pipes/property-slug.pipe";
12
- import * as i11 from "../pipes/node-icon.pipe";
13
- import * as i12 from "../pipes/node-image.pipe";
14
- import * as i13 from "../pipes/node-image-size.pipe";
15
- import * as i14 from "../pipes/node-license.pipe";
16
- import * as i15 from "../pipes/node-person-name.pipe";
17
- import * as i16 from "../pipes/node-title.pipe";
18
- import * as i17 from "../node-url/node-url.component";
19
- import * as i18 from "../pipes/option-tooltip.pipe";
20
- import * as i19 from "../pipes/replace-chars.pipe";
21
- import * as i20 from "../sort-dropdown/sort-dropdown.component";
22
- import * as i21 from "../pipes/vcard-name.pipe";
23
- import * as i22 from "@angular/common";
24
- import * as i23 from "@angular/material/menu";
25
- import * as i24 from "../spinner/spinner.component";
26
- import * as i25 from "@angular/material/button";
27
- import * as i26 from "@angular/material/tooltip";
28
- import * as i27 from "@angular/material/core";
29
- import * as i28 from "@ngx-translate/core";
30
- import * as i29 from "@angular/router";
2
+ import * as i1 from "../mds-viewer/mds-viewer.component";
3
+ import * as i2 from "../mds-viewer/widget/mds-widget.component";
4
+ import * as i3 from "../actionbar/actionbar.component";
5
+ import * as i4 from "../directives/border-box-observer.directive";
6
+ import * as i5 from "../directives/check-text-overflow.directive";
7
+ import * as i6 from "../dropdown/dropdown.component";
8
+ import * as i7 from "../directives/focus-state.directive";
9
+ import * as i8 from "../pipes/format-date.pipe";
10
+ import * as i9 from "../pipes/file-size.pipe";
11
+ import * as i10 from "../directives/icon.directive";
12
+ import * as i11 from "../pipes/mds-duration.pipe";
13
+ import * as i12 from "../directives/infinite-scroll.directive";
14
+ import * as i13 from "../pipes/property-slug.pipe";
15
+ import * as i14 from "../pipes/node-icon.pipe";
16
+ import * as i15 from "../pipes/node-image.pipe";
17
+ import * as i16 from "../pipes/node-image-size.pipe";
18
+ import * as i17 from "../pipes/node-license.pipe";
19
+ import * as i18 from "../pipes/node-person-name.pipe";
20
+ import * as i19 from "../pipes/node-title.pipe";
21
+ import * as i20 from "../node-url/node-url.component";
22
+ import * as i21 from "../pipes/option-tooltip.pipe";
23
+ import * as i22 from "../pipes/replace-chars.pipe";
24
+ import * as i23 from "../sort-dropdown/sort-dropdown.component";
25
+ import * as i24 from "../pipes/vcard-name.pipe";
26
+ import * as i25 from "@angular/common";
27
+ import * as i26 from "@angular/material/menu";
28
+ import * as i27 from "../spinner/spinner.component";
29
+ import * as i28 from "@angular/material/button";
30
+ import * as i29 from "@angular/material/tooltip";
31
+ import * as i30 from "@angular/material/core";
32
+ import * as i31 from "@ngx-translate/core";
33
+ import * as i32 from "@angular/router";
31
34
  export declare class EduSharingUiCommonModule {
32
35
  static ɵfac: i0.ɵɵFactoryDeclaration<EduSharingUiCommonModule, never>;
33
- static ɵmod: i0.ɵɵNgModuleDeclaration<EduSharingUiCommonModule, [typeof i1.ActionbarComponent, typeof i2.BorderBoxObserverDirective, typeof i3.CheckTextOverflowDirective, typeof i4.DropdownComponent, typeof i5.FocusStateDirective, typeof i6.FormatDatePipe, typeof i7.FormatSizePipe, typeof i8.IconDirective, typeof i9.InfiniteScrollDirective, typeof i10.PropertySlugPipe, typeof i11.NodeIconPipe, typeof i12.NodeImagePipe, typeof i13.NodeImageSizePipe, typeof i14.NodeLicensePipe, typeof i15.NodePersonNamePipe, typeof i16.NodeTitlePipe, typeof i17.NodeUrlComponent, typeof i18.OptionTooltipPipe, typeof i19.ReplaceCharsPipe, typeof i20.SortDropdownComponent, typeof i21.VCardNamePipe], [typeof i22.CommonModule, typeof i23.MatMenuModule, typeof i24.SpinnerComponent, typeof i25.MatButtonModule, typeof i26.MatTooltipModule, typeof i27.MatRippleModule, typeof i28.TranslateModule, typeof i29.RouterModule], [typeof i1.ActionbarComponent, typeof i2.BorderBoxObserverDirective, typeof i3.CheckTextOverflowDirective, typeof i4.DropdownComponent, typeof i5.FocusStateDirective, typeof i6.FormatDatePipe, typeof i7.FormatSizePipe, typeof i8.IconDirective, typeof i9.InfiniteScrollDirective, typeof i10.PropertySlugPipe, typeof i11.NodeIconPipe, typeof i12.NodeImagePipe, typeof i13.NodeImageSizePipe, typeof i15.NodePersonNamePipe, typeof i16.NodeTitlePipe, typeof i17.NodeUrlComponent, typeof i20.SortDropdownComponent, typeof i24.SpinnerComponent, typeof i21.VCardNamePipe]>;
36
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EduSharingUiCommonModule, [typeof i1.MdsViewerComponent, typeof i2.MdsWidgetComponent, typeof i3.ActionbarComponent, typeof i4.BorderBoxObserverDirective, typeof i5.CheckTextOverflowDirective, typeof i6.DropdownComponent, typeof i7.FocusStateDirective, typeof i8.FormatDatePipe, typeof i9.FormatSizePipe, typeof i10.IconDirective, typeof i11.MdsDurationPipe, typeof i12.InfiniteScrollDirective, typeof i13.PropertySlugPipe, typeof i14.NodeIconPipe, typeof i15.NodeImagePipe, typeof i16.NodeImageSizePipe, typeof i17.NodeLicensePipe, typeof i18.NodePersonNamePipe, typeof i19.NodeTitlePipe, typeof i20.NodeUrlComponent, typeof i21.OptionTooltipPipe, typeof i22.ReplaceCharsPipe, typeof i23.SortDropdownComponent, typeof i24.VCardNamePipe], [typeof i25.CommonModule, typeof i26.MatMenuModule, typeof i27.SpinnerComponent, typeof i28.MatButtonModule, typeof i29.MatTooltipModule, typeof i30.MatRippleModule, typeof i31.TranslateModule, typeof i32.RouterModule], [typeof i1.MdsViewerComponent, typeof i2.MdsWidgetComponent, typeof i3.ActionbarComponent, typeof i4.BorderBoxObserverDirective, typeof i5.CheckTextOverflowDirective, typeof i6.DropdownComponent, typeof i7.FocusStateDirective, typeof i8.FormatDatePipe, typeof i9.FormatSizePipe, typeof i11.MdsDurationPipe, typeof i10.IconDirective, typeof i12.InfiniteScrollDirective, typeof i13.PropertySlugPipe, typeof i14.NodeIconPipe, typeof i15.NodeImagePipe, typeof i16.NodeImageSizePipe, typeof i18.NodePersonNamePipe, typeof i19.NodeTitlePipe, typeof i20.NodeUrlComponent, typeof i23.SortDropdownComponent, typeof i27.SpinnerComponent, typeof i24.VCardNamePipe]>;
34
37
  static ɵinj: i0.ɵɵInjectorDeclaration<EduSharingUiCommonModule>;
35
38
  }
@@ -1,3 +1,4 @@
1
+ import { HttpClient } from '@angular/common/http';
1
2
  import { ElementRef, OnDestroy, OnInit, Renderer2 } from '@angular/core';
2
3
  import { TranslateService } from '@ngx-translate/core';
3
4
  import { ConfigService } from 'ngx-edu-sharing-api';
@@ -16,6 +17,7 @@ import * as i0 from "@angular/core";
16
17
  */
17
18
  export declare class IconDirective implements OnInit, OnDestroy {
18
19
  private element;
20
+ private http;
19
21
  private translate;
20
22
  private renderer;
21
23
  private config;
@@ -36,13 +38,13 @@ export declare class IconDirective implements OnInit, OnDestroy {
36
38
  /** If true, an alt text (see above) will be set based on the icon. */
37
39
  set aria(aria: boolean);
38
40
  set esIcon(id: string);
39
- constructor(element: ElementRef<HTMLElement>, translate: TranslateService, renderer: Renderer2, config: ConfigService);
41
+ constructor(element: ElementRef<HTMLElement>, http: HttpClient, translate: TranslateService, renderer: Renderer2, config: ConfigService);
40
42
  ngOnInit(): Promise<void>;
41
43
  ngOnDestroy(): void;
42
44
  private setIcon;
43
45
  private updateAria;
44
46
  private setAltText;
45
47
  private insertAltTextSpan;
46
- static ɵfac: i0.ɵɵFactoryDeclaration<IconDirective, [null, null, null, { optional: true; }]>;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconDirective, [null, null, null, null, { optional: true; }]>;
47
49
  static ɵdir: i0.ɵɵDirectiveDeclaration<IconDirective, "i[esIcon], i.material-icons", never, { "altText": { "alias": "altText"; "required": false; }; "aria": { "alias": "aria"; "required": false; }; "esIcon": { "alias": "esIcon"; "required": false; }; }, {}, never, never, false, never>;
48
50
  }
package/lib/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
+ export * from './mds-viewer/mds-viewer.component';
2
+ export * from './mds-viewer/widget/mds-widget.component';
1
3
  export * from './actionbar/actionbar.component';
2
4
  export * from './common/edu-sharing-ui-common.module';
3
5
  export * from './mds/mds.module';
6
+ export * from './mds-viewer/view-instance.service';
4
7
  export * from './directives/border-box-observer.directive';
5
8
  export * from './directives/check-text-overflow.directive';
6
9
  export * from './directives/drag-nodes/drag-nodes';
@@ -30,10 +33,13 @@ export * from './node-entries/node-data-source-remote';
30
33
  export * from './node-entries/node-entries-global.service';
31
34
  export * from './node-entries/node-entries-wrapper.component';
32
35
  export * from './node-entries/node-entries.module';
36
+ export * from './mds-viewer/mds-viewer.component';
37
+ export * from './mds-viewer/replace-element-with-div';
33
38
  export * from './node-url/node-url.component';
34
39
  export * from './pipes/property-slug.pipe';
35
40
  export * from './pipes/file-size.pipe';
36
41
  export * from './pipes/format-date.pipe';
42
+ export * from './pipes/mds-duration.pipe';
37
43
  export * from './pipes/node-icon.pipe';
38
44
  export * from './pipes/node-image-size.pipe';
39
45
  export * from './pipes/node-image.pipe';
@@ -0,0 +1,52 @@
1
+ import { ComponentFactoryResolver, ElementRef, Injector, OnChanges, QueryList, SimpleChanges, ViewContainerRef } from '@angular/core';
2
+ import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
+ import { MdsDefinition, MdsService, MdsView } from 'ngx-edu-sharing-api';
4
+ import { Values } from '../services/search-helper.service';
5
+ import { MdsViewerService } from './mds-viewer.service';
6
+ import { ViewInstanceService } from './view-instance.service';
7
+ import * as i0 from "@angular/core";
8
+ export declare class MdsViewerComponent implements OnChanges {
9
+ private mdsService;
10
+ private mdsViewerService;
11
+ private factoryResolver;
12
+ private injector;
13
+ private containerRef;
14
+ private sanitizer;
15
+ private viewInstance;
16
+ container: QueryList<ElementRef>;
17
+ mdsEditorInstanceService: any;
18
+ groupId: string;
19
+ setId: string;
20
+ data: Values;
21
+ mds: MdsDefinition;
22
+ templates: {
23
+ view: MdsView;
24
+ html: SafeHtml;
25
+ }[];
26
+ /**
27
+ * show group headings (+ icons) for the individual templates
28
+ */
29
+ showGroupHeadings: boolean;
30
+ /**
31
+ * The heading level from 1 to 6 to use for widget labels, equivalent to `h1` to `h6`.
32
+ *
33
+ * If not set, widget labels are not marked as headings and an invisible colon is added between
34
+ * labels and values, that will be read out by screen readers.
35
+ */
36
+ set headingLevel(value: number | null);
37
+ get headingLevel(): number | null;
38
+ constructor(mdsService: MdsService, mdsViewerService: MdsViewerService, factoryResolver: ComponentFactoryResolver, injector: Injector, containerRef: ViewContainerRef, sanitizer: DomSanitizer, viewInstance: ViewInstanceService);
39
+ getGroup(): import("ngx-edu-sharing-api").MdsGroup;
40
+ getView(id: string): MdsView;
41
+ inflate(): Promise<void>;
42
+ /**
43
+ * close all custom tags inside the html which are not closed
44
+ * e.g. <cm:name>
45
+ * -> <cm:name></cm:name>
46
+ * @param html
47
+ */
48
+ private prepareHTML;
49
+ ngOnChanges(changes: SimpleChanges): Promise<void>;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<MdsViewerComponent, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<MdsViewerComponent, "es-mds-viewer", never, { "mdsEditorInstanceService": { "alias": "mdsEditorInstanceService"; "required": false; }; "groupId": { "alias": "groupId"; "required": false; }; "setId": { "alias": "setId"; "required": false; }; "data": { "alias": "data"; "required": false; }; "showGroupHeadings": { "alias": "showGroupHeadings"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; }, {}, never, never, false, never>;
52
+ }
@@ -0,0 +1,12 @@
1
+ import { ElementRef, QueryList } from '@angular/core';
2
+ import { MdsDefinition } from 'ngx-edu-sharing-api';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { Values } from '../services/search-helper.service';
5
+ import * as i0 from "@angular/core";
6
+ export declare class MdsViewerService {
7
+ container: QueryList<ElementRef>;
8
+ values$: BehaviorSubject<Values>;
9
+ mds$: BehaviorSubject<MdsDefinition>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<MdsViewerService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<MdsViewerService>;
12
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Replaces the given element with a div within the DOM.
3
+ *
4
+ * The purpose is to comply with W3C specifications for element and attribute names.
5
+ *
6
+ * Sets the attribute "data-element" to the old element tag name.
7
+ */
8
+ export declare function replaceElementWithDiv(element: Element, mode?: 'append' | 'replace'): HTMLDivElement;
@@ -0,0 +1,20 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ViewInstanceService {
4
+ readonly isExpanded$: BehaviorSubject<boolean>;
5
+ /**
6
+ * The heading level from 1 to 6 to use for widget labels, equivalent to `h1` to `h6`.
7
+ *
8
+ * If not set, widget labels are not marked as headings and an invisible colon is added between
9
+ * labels and values, that will be read out by screen readers.
10
+ */
11
+ headingLevel: number | null;
12
+ /**
13
+ * how to display tree entries
14
+ * flat (only display the last entry)
15
+ * full (display the full tree path)
16
+ */
17
+ treeDisplay: 'flat' | 'path';
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<ViewInstanceService, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<ViewInstanceService>;
20
+ }
@@ -0,0 +1,111 @@
1
+ import { ElementRef, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { TranslateService } from '@ngx-translate/core';
3
+ import { MatRipple } from '@angular/material/core';
4
+ import { MdsValue, MdsWidget, Suggestion } from 'ngx-edu-sharing-api';
5
+ import { UIService } from '../../services/ui.service';
6
+ import { ViewInstanceService } from '../view-instance.service';
7
+ import * as i0 from "@angular/core";
8
+ export declare enum MdsType {
9
+ Io = "io",
10
+ IoBulk = "io_bulk",
11
+ Map = "map",
12
+ MapRef = "map_ref",
13
+ IoChildObject = "io_childobject",
14
+ Collection = "collection",
15
+ ToolDefinition = "tool_definition",
16
+ ToolInstance = "tool_instance",
17
+ SavedSearch = "saved_search"
18
+ }
19
+ export interface MdsValueList {
20
+ values: Suggestion[];
21
+ }
22
+ export declare enum MdsWidgetType {
23
+ Text = "text",
24
+ Number = "number",
25
+ Email = "email",
26
+ Date = "date",
27
+ Month = "month",
28
+ Color = "color",
29
+ Textarea = "textarea",
30
+ TinyMCE = "tinyMCE",
31
+ VCard = "vcard",
32
+ Checkbox = "checkbox",
33
+ RadioHorizontal = "radioHorizontal",
34
+ RadioVertical = "radioVertical",
35
+ CheckboxHorizontal = "checkboxHorizontal",
36
+ CheckboxVertical = "checkboxVertical",
37
+ MultiValueBadges = "multivalueBadges",
38
+ MultiValueFixedBadges = "multivalueFixedBadges",
39
+ MultiValueSuggestBadges = "multivalueSuggestBadges",
40
+ MultiValueAuthorityBadges = "multivalueAuthorityBadges",
41
+ Singleoption = "singleoption",
42
+ Slider = "slider",
43
+ Range = "range",
44
+ Duration = "duration",
45
+ SingleValueTree = "singlevalueTree",
46
+ SingleValueSuggestBadges = "singlevalueSuggestBadges",
47
+ MultiValueTree = "multivalueTree",
48
+ DefaultValue = "defaultvalue",
49
+ FacetList = "facetList"
50
+ }
51
+ export declare enum ValueType {
52
+ String = 0,
53
+ MultiValue = 1,
54
+ Range = 2
55
+ }
56
+ export declare class MdsWidgetComponent implements OnInit, OnChanges {
57
+ translate: TranslateService;
58
+ private ui;
59
+ private viewInstance;
60
+ readonly ROUTER_PREFIX: string;
61
+ private static readonly inlineEditing;
62
+ readonly valueType = ValueType.String;
63
+ widget: any;
64
+ showCaption: boolean;
65
+ /**
66
+ * allow inline editing
67
+ */
68
+ inlineEditing: 'auto' | 'always';
69
+ definition: MdsWidget;
70
+ view: any;
71
+ editWrapper: ElementRef;
72
+ matRipple: MatRipple;
73
+ basicType: string;
74
+ rawValue: {
75
+ path: MdsValue[];
76
+ id: string;
77
+ }[];
78
+ private mdsEditorInstance;
79
+ get headingLevel(): number;
80
+ value: string[];
81
+ private temporaryValue;
82
+ constructor(translate: TranslateService, ui: UIService, viewInstance: ViewInstanceService);
83
+ ngOnChanges(changes: SimpleChanges): void;
84
+ ngOnInit(): Promise<void>;
85
+ getDefinition(): MdsWidget;
86
+ getBasicType(): "number" | "text" | "date" | "vcard" | "slider" | "range" | "duration" | "array" | "tree" | "unknown";
87
+ supportsInlineEditing(): boolean;
88
+ private getNodeValue;
89
+ getValue(data: string[]): any;
90
+ click(): void;
91
+ isEmpty(): boolean;
92
+ formatDate(): string[];
93
+ formatNumber(): string[];
94
+ formatText(): any[];
95
+ finishEdit(instance: any, store?: boolean): Promise<void>;
96
+ isEditable(): boolean;
97
+ focus(): Promise<void>;
98
+ /**
99
+ * return the path for a given value in a tree
100
+ */
101
+ private getPath;
102
+ /**
103
+ * fetch the raw node value
104
+ * Note: Will not work in a bulk state!
105
+ */
106
+ private getRawValue;
107
+ getSearchParams(key: MdsValue): any;
108
+ startEdit(event: MouseEvent): void;
109
+ static ɵfac: i0.ɵɵFactoryDeclaration<MdsWidgetComponent, never>;
110
+ static ɵcmp: i0.ɵɵComponentDeclaration<MdsWidgetComponent, "es-mds-widget", never, { "widget": { "alias": "widget"; "required": false; }; "showCaption": { "alias": "showCaption"; "required": false; }; "inlineEditing": { "alias": "inlineEditing"; "required": false; }; "definition": { "alias": "definition"; "required": false; }; "view": { "alias": "view"; "required": false; }; }, {}, never, never, false, never>;
111
+ }
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class MdsDurationPipe implements PipeTransform {
4
+ transform(value: string): string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<MdsDurationPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<MdsDurationPipe, "appMdsDuration", false>;
7
+ }
@@ -12,6 +12,9 @@ export declare class NodeHelperService {
12
12
  protected configService: ConfigService;
13
13
  protected repoUrlService: RepoUrlService;
14
14
  private assetsBasePath;
15
+ readonly LICENSE_URLS: {
16
+ [key: string]: string;
17
+ };
15
18
  constructor(translate: TranslateService, apiHelpersService: ApiHelpersService, networkService: NetworkService, configService: ConfigService, repoUrlService: RepoUrlService, assetsBasePath: string);
16
19
  getCollectionScopeInfo(node: Node): {
17
20
  icon: string;
@@ -49,7 +49,38 @@ export declare class UIService {
49
49
  }, { delay, replace }?: {
50
50
  delay?: number;
51
51
  replace?: boolean;
52
- }): ComponentRef<T>;
52
+ }, injector?: Injector): ComponentRef<T>;
53
+ /**
54
+ * dynamically inject an angular component into a regular html dom element
55
+ * @param componentFactoryResolver The resolver service
56
+ * @param viewContainerRef The viewContainerRef service
57
+ * @param componentName The name of the angular component (e.g. SpinnerComponent)
58
+ * @param targetElement The target element of the dom. If the element is null (not found), nothing is done
59
+ * @param bindings Optional bindings (inputs & outputs) to the given component
60
+ * @param delay Optional inflating delay in ms(some components may need some time to "init" the layout)
61
+ * @param replace Whether to replace to previous `innerHTML` of `targetElement`
62
+ * @param injector (to fetch templates for the component)
63
+ */
64
+ static injectAngularComponent<T>(componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, componentName: Type<T>, targetElement: Element, bindings?: {
65
+ [key: string]: any;
66
+ }, { delay, replace }?: {
67
+ delay?: number;
68
+ replace?: boolean;
69
+ }, injector?: Injector): ComponentRef<T>;
70
+ /**
71
+ * smoothly scroll to the given child inside an element (The child will be placed around the first 1/3 of the parent's top)
72
+ * @param child
73
+ * @param element
74
+ * @param smoothness
75
+ */
76
+ scrollSmoothElementToChild(child: Element, element?: Element | 'auto', smoothness?: number): Promise<void>;
77
+ /**
78
+ * Smoothly scrolls to the given y offset inside an element (use offsetTop on the child to
79
+ * determine this position).
80
+ *
81
+ * @param smoothness lower numbers indicate less smoothness, higher more smoothness
82
+ */
83
+ scrollSmoothElement(pos: number, element: Element, smoothness?: number, axis?: string): Promise<void>;
53
84
  static ɵfac: i0.ɵɵFactoryDeclaration<UIService, never>;
54
85
  static ɵprov: i0.ɵɵInjectableDeclaration<UIService>;
55
86
  }
@@ -7,4 +7,5 @@ export declare class RestHelper {
7
7
  static getName(node: Node): string;
8
8
  static getTitle(node: Node): string;
9
9
  static getTitleFromProperties(properties: any): string;
10
+ static hasAccessPermission(node: Node, permission: string): boolean;
10
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-edu-sharing-ui",
3
- "version": "10.0.8",
3
+ "version": "10.0.10",
4
4
  "license": "GNU GPL v2",
5
5
  "description": "Angular components for Edu-Sharing UX parts",
6
6
  "peerDependencies": {