ngx-edu-sharing-ui 10.0.24 → 10.0.26
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/branding.scss +4 -2
- package/assets/scss/material-theme.scss +9 -3
- package/assets/scss/mixins.scss +2 -2
- package/assets/scss/variables-scss.scss +2 -1
- package/assets/scss/variables.scss +7 -1
- package/fesm2022/ngx-edu-sharing-ui.mjs +1966 -1813
- package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
- package/lib/directives/icon.directive.d.ts +3 -1
- package/lib/edu-sharing-ui-configuration.d.ts +7 -0
- package/lib/edu-sharing-ui.module.d.ts +2 -2
- package/lib/index.d.ts +3 -0
- package/lib/mds/mds-helper.service.d.ts +14 -2
- package/lib/mds-viewer/mds-editor-instance-service.abstract.d.ts +1 -1
- package/lib/mds-viewer/mds-viewer.component.d.ts +2 -1
- package/lib/mds-viewer/mds-viewer.service.d.ts +14 -1
- package/lib/mds-viewer/widget/mds-widget.component.d.ts +14 -12
- package/lib/node-entries/entries-model.d.ts +10 -1
- package/lib/node-entries/node-entries-global.service.d.ts +3 -0
- package/lib/node-entries/node-entries-table/node-entries-table.component.d.ts +2 -0
- package/lib/node-entries/node-entries-templates.service.d.ts +4 -0
- package/lib/node-entries/node-entries-wrapper.component.d.ts +15 -3
- package/lib/node-entries/node-entries.module.d.ts +1 -1
- package/lib/node-entries/node-type-badge/node-type-badge.component.d.ts +10 -3
- package/lib/pipes/node-image.pipe.d.ts +1 -1
- package/lib/services/node-entries.service.d.ts +5 -1
- package/lib/services/node-helper.service.d.ts +6 -4
- package/lib/services/options-helper-data.service.d.ts +1 -1
- package/lib/services/render-helper.service.d.ts +2 -1
- package/lib/translations/translation-loader.d.ts +3 -3
- package/lib/types/injection-tokens.d.ts +9 -16
- package/lib/types/option-item.d.ts +5 -4
- package/lib/util/ui-constants.d.ts +1 -0
- package/package.json +1 -1
|
@@ -22,6 +22,7 @@ export declare class IconDirective implements OnInit, OnDestroy {
|
|
|
22
22
|
private renderer;
|
|
23
23
|
private config;
|
|
24
24
|
private originalId$;
|
|
25
|
+
private iconContext$;
|
|
25
26
|
private _id;
|
|
26
27
|
private _aria;
|
|
27
28
|
private altTextSpan;
|
|
@@ -38,6 +39,7 @@ export declare class IconDirective implements OnInit, OnDestroy {
|
|
|
38
39
|
/** If true, an alt text (see above) will be set based on the icon. */
|
|
39
40
|
set aria(aria: boolean);
|
|
40
41
|
set esIcon(id: string);
|
|
42
|
+
set esIconContext(context: string);
|
|
41
43
|
constructor(element: ElementRef<HTMLElement>, http: HttpClient, translate: TranslateService, renderer: Renderer2, config: ConfigService);
|
|
42
44
|
ngOnInit(): Promise<void>;
|
|
43
45
|
ngOnDestroy(): void;
|
|
@@ -46,5 +48,5 @@ export declare class IconDirective implements OnInit, OnDestroy {
|
|
|
46
48
|
private setAltText;
|
|
47
49
|
private insertAltTextSpan;
|
|
48
50
|
static ɵfac: i0.ɵɵFactoryDeclaration<IconDirective, [null, null, null, null, { optional: true; }]>;
|
|
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>;
|
|
51
|
+
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; }; "esIconContext": { "alias": "esIconContext"; "required": false; }; }, {}, never, never, false, never>;
|
|
50
52
|
}
|
|
@@ -8,6 +8,13 @@ export declare class EduSharingUiConfiguration {
|
|
|
8
8
|
* web page.
|
|
9
9
|
*/
|
|
10
10
|
isEmbedded: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* A custom base path for the assets directory.
|
|
13
|
+
*
|
|
14
|
+
* This is useful when the application cannot be served from the base HREF set in index.html. This
|
|
15
|
+
* is the case when it is embedded as a web component into another website.
|
|
16
|
+
*/
|
|
17
|
+
assetsBasePath?: string;
|
|
11
18
|
static create(params?: EduSharingUiConfigurationParams): EduSharingUiConfiguration;
|
|
12
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<EduSharingUiConfiguration, never>;
|
|
13
20
|
static ɵprov: i0.ɵɵInjectableDeclaration<EduSharingUiConfiguration>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
1
|
+
import { ModuleWithProviders, Provider } from '@angular/core';
|
|
2
2
|
import { EduSharingUiConfigurationParams } from './edu-sharing-ui-configuration';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
@@ -13,7 +13,7 @@ import * as i9 from "./pipes/format-date.pipe";
|
|
|
13
13
|
import * as i10 from "./node-entries/list-item-label.pipe";
|
|
14
14
|
import * as i11 from "./sort-dropdown/sort-dropdown.component";
|
|
15
15
|
export declare class EduSharingUiModule {
|
|
16
|
-
static forRoot(config: EduSharingUiConfigurationParams): ModuleWithProviders<EduSharingUiModule>;
|
|
16
|
+
static forRoot(config: EduSharingUiConfigurationParams, providers?: Provider[]): ModuleWithProviders<EduSharingUiModule>;
|
|
17
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<EduSharingUiModule, never>;
|
|
18
18
|
static ɵmod: i0.ɵɵNgModuleDeclaration<EduSharingUiModule, never, [typeof i1.CommonModule, typeof i2.TranslateModule, typeof i3.EduSharingUiCommonModule, typeof i4.ListItemsModule, typeof i5.NodeEntriesModule], [typeof i1.CommonModule, typeof i6.MdsModule, typeof i7.MatTooltipModule, typeof i2.TranslateModule, typeof i3.EduSharingUiCommonModule, typeof i4.ListItemsModule, typeof i5.NodeEntriesModule, typeof i8.NodeImageSizePipe, typeof i9.FormatDatePipe, typeof i4.ListItemsModule, typeof i10.ListItemLabelPipe, typeof i11.SortDropdownComponent]>;
|
|
19
19
|
static ɵinj: i0.ɵɵInjectorDeclaration<EduSharingUiModule>;
|
package/lib/index.d.ts
CHANGED
|
@@ -29,6 +29,9 @@ export * from './node-entries/entries-model';
|
|
|
29
29
|
export * from './node-entries/items-cap';
|
|
30
30
|
export * from './node-entries/list-item-label.pipe';
|
|
31
31
|
export * from './node-entries/node-cache';
|
|
32
|
+
export * from './node-entries/node-rating/node-rating.component';
|
|
33
|
+
export * from './node-entries/node-type-badge/node-type-badge.component';
|
|
34
|
+
export * from './node-entries/node-stats-badges/node-stats-badges.component';
|
|
32
35
|
export * from './node-entries/node-data-source';
|
|
33
36
|
export * from './node-entries/node-data-source-remote';
|
|
34
37
|
export * from './node-entries/node-entries-global.service';
|
|
@@ -2,10 +2,21 @@ import { TranslateService } from '@ngx-translate/core';
|
|
|
2
2
|
import { AuthenticationService, MdsDefinition, MdsSort, MdsWidget } from 'ngx-edu-sharing-api';
|
|
3
3
|
import { ListItem } from '../types/list-item';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
type ColumnTypeInternal<T extends string> = {
|
|
6
|
+
[k in T]?: ListItem[];
|
|
7
|
+
};
|
|
8
|
+
export type ColumnType = ColumnTypeInternal<'Default' | 'Table'>;
|
|
5
9
|
export declare class MdsHelperService {
|
|
6
10
|
private authentication;
|
|
11
|
+
private translate;
|
|
7
12
|
static getSortInfo(mdsSet: MdsDefinition, name: string): MdsSort;
|
|
8
|
-
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* get columns as an object structure
|
|
16
|
+
* There are always Columns in the result.Default but there can also be further types
|
|
17
|
+
* See @ColumnType
|
|
18
|
+
*/
|
|
19
|
+
getColumns(mdsSet: MdsDefinition, name: string): ColumnType;
|
|
9
20
|
/**
|
|
10
21
|
* Finds the appropriate widget with the id, but will not check any widget conditions
|
|
11
22
|
* @param cid
|
|
@@ -13,7 +24,7 @@ export declare class MdsHelperService {
|
|
|
13
24
|
* @param widgets
|
|
14
25
|
*/
|
|
15
26
|
static getWidget(cid: string, template: string | undefined | null, widgets: MdsWidget[]): MdsWidget;
|
|
16
|
-
constructor(authentication: AuthenticationService);
|
|
27
|
+
constructor(authentication: AuthenticationService, translate: TranslateService);
|
|
17
28
|
/**
|
|
18
29
|
* Same as getWidget, but will also check the widget conditions
|
|
19
30
|
* @param connector
|
|
@@ -35,3 +46,4 @@ export declare class MdsHelperService {
|
|
|
35
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<MdsHelperService, never>;
|
|
36
47
|
static ɵprov: i0.ɵɵInjectableDeclaration<MdsHelperService>;
|
|
37
48
|
}
|
|
49
|
+
export {};
|
|
@@ -10,5 +10,5 @@ export declare abstract class MdsEditorInstanceServiceAbstract {
|
|
|
10
10
|
/** Nodes with updated and complete metadata. */
|
|
11
11
|
nodes$: BehaviorSubject<Node[]>;
|
|
12
12
|
abstract saveWidgetValue(widget: any): Promise<void>;
|
|
13
|
-
abstract fetchDisplayValues(widget: any): Promise<void>;
|
|
13
|
+
abstract fetchDisplayValues(widget: any, additionalKeys?: string[]): Promise<void>;
|
|
14
14
|
}
|
|
@@ -47,6 +47,7 @@ export declare class MdsViewerComponent implements OnChanges {
|
|
|
47
47
|
*/
|
|
48
48
|
private prepareHTML;
|
|
49
49
|
ngOnChanges(changes: SimpleChanges): Promise<void>;
|
|
50
|
+
private hideEmpty;
|
|
50
51
|
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
|
+
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; }; "mds": { "alias": "mds"; "required": false; }; "showGroupHeadings": { "alias": "showGroupHeadings"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; }, {}, never, never, false, never>;
|
|
52
53
|
}
|
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
import { ElementRef, QueryList } from '@angular/core';
|
|
2
|
-
import { MdsDefinition } from 'ngx-edu-sharing-api';
|
|
2
|
+
import { MdsDefinition, MdsWidget } from 'ngx-edu-sharing-api';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
import { Values } from '../services/search-helper.service';
|
|
5
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class MdsViewerService {
|
|
8
|
+
private translate;
|
|
7
9
|
container: QueryList<ElementRef>;
|
|
8
10
|
values$: BehaviorSubject<Values>;
|
|
9
11
|
mds$: BehaviorSubject<MdsDefinition>;
|
|
12
|
+
constructor(translate: TranslateService);
|
|
13
|
+
getFormattedValue(value: string[], definition: MdsWidget, basicType: string): string[];
|
|
14
|
+
private formatVCard;
|
|
15
|
+
private formatDate;
|
|
16
|
+
private formatText;
|
|
17
|
+
private formatNumber;
|
|
18
|
+
/**
|
|
19
|
+
* returns the basic type for a widget definition
|
|
20
|
+
* @param flat (flatten trees?)
|
|
21
|
+
*/
|
|
22
|
+
static getBasicType(definition: MdsWidget, flat?: boolean): string;
|
|
10
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<MdsViewerService, never>;
|
|
11
24
|
static ɵprov: i0.ɵɵInjectableDeclaration<MdsViewerService>;
|
|
12
25
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ElementRef, Injector, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
1
|
+
import { ElementRef, Injector, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { TranslateService } from '@ngx-translate/core';
|
|
3
3
|
import { MatRipple } from '@angular/material/core';
|
|
4
4
|
import { MdsValue, MdsWidget, Suggestion } from 'ngx-edu-sharing-api';
|
|
5
5
|
import { UIService } from '../../services/ui.service';
|
|
6
6
|
import { ViewInstanceService } from '../view-instance.service';
|
|
7
|
-
import { BehaviorSubject } from 'rxjs';
|
|
7
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
8
8
|
import { MdsViewerService } from '../mds-viewer.service';
|
|
9
9
|
import { NodeHelperService } from '../../services/node-helper.service';
|
|
10
10
|
import { MdsEditorInstanceServiceAbstract } from '../mds-editor-instance-service.abstract';
|
|
@@ -23,10 +23,11 @@ export declare enum MdsType {
|
|
|
23
23
|
export interface MdsValueList {
|
|
24
24
|
values: Suggestion[];
|
|
25
25
|
}
|
|
26
|
-
export
|
|
26
|
+
export declare abstract class MdsViewerWidget {
|
|
27
27
|
definition: MdsWidget;
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
focusTrigger: Subject<void>;
|
|
29
|
+
abstract getInitalValuesAsync(): Promise<InitialValues>;
|
|
30
|
+
abstract getInitialDisplayValues(): BehaviorSubject<MdsValueList>;
|
|
30
31
|
}
|
|
31
32
|
export declare enum MdsWidgetType {
|
|
32
33
|
Text = "text",
|
|
@@ -55,7 +56,8 @@ export declare enum MdsWidgetType {
|
|
|
55
56
|
SingleValueSuggestBadges = "singlevalueSuggestBadges",
|
|
56
57
|
MultiValueTree = "multivalueTree",
|
|
57
58
|
DefaultValue = "defaultvalue",
|
|
58
|
-
FacetList = "facetList"
|
|
59
|
+
FacetList = "facetList",
|
|
60
|
+
Toggle = "toggle"
|
|
59
61
|
}
|
|
60
62
|
export interface InitialValues {
|
|
61
63
|
/** Values that are initially present in all nodes. */
|
|
@@ -72,7 +74,7 @@ export declare enum ValueType {
|
|
|
72
74
|
MultiValue = 1,
|
|
73
75
|
Range = 2
|
|
74
76
|
}
|
|
75
|
-
export declare class MdsWidgetComponent implements OnInit, OnChanges {
|
|
77
|
+
export declare class MdsWidgetComponent implements OnInit, OnDestroy, OnChanges {
|
|
76
78
|
private mdsEditorInstance;
|
|
77
79
|
translate: TranslateService;
|
|
78
80
|
private ui;
|
|
@@ -81,6 +83,8 @@ export declare class MdsWidgetComponent implements OnInit, OnChanges {
|
|
|
81
83
|
private injector;
|
|
82
84
|
private nodeHelper;
|
|
83
85
|
readonly ROUTER_PREFIX: string;
|
|
86
|
+
readonly focusTrigger: Subject<void>;
|
|
87
|
+
readonly destroyed$: Subject<void>;
|
|
84
88
|
private static readonly inlineEditing;
|
|
85
89
|
readonly valueType = ValueType.String;
|
|
86
90
|
widget: MdsViewerWidget;
|
|
@@ -107,18 +111,16 @@ export declare class MdsWidgetComponent implements OnInit, OnChanges {
|
|
|
107
111
|
value: import("@angular/core").WritableSignal<string[]>;
|
|
108
112
|
private temporaryValue;
|
|
109
113
|
constructor(mdsEditorInstance: MdsEditorInstanceServiceAbstract, translate: TranslateService, ui: UIService, viewInstance: ViewInstanceService, mdsViewerService: MdsViewerService, injector: Injector, nodeHelper: NodeHelperService);
|
|
114
|
+
ngOnDestroy(): void;
|
|
110
115
|
ngOnChanges(changes: SimpleChanges): Promise<void>;
|
|
111
116
|
ngOnInit(): Promise<void>;
|
|
112
117
|
getDefinition(): MdsWidget;
|
|
113
|
-
getBasicType(): "text" | "license" | "number" | "date" | "vcard" | "array" | "tree" | "slider" | "duration" | "range" | "unknown";
|
|
114
118
|
supportsInlineEditing(): boolean;
|
|
115
119
|
private getNodeValues;
|
|
116
120
|
private getNodeValue;
|
|
117
121
|
getValue(data: string[]): any[];
|
|
118
122
|
click(): void;
|
|
119
|
-
|
|
120
|
-
formatNumber(): string[];
|
|
121
|
-
formatText(): string[];
|
|
123
|
+
formatValue(): string[];
|
|
122
124
|
finishEdit(instance: any, store?: boolean): Promise<void>;
|
|
123
125
|
isEditable(): boolean;
|
|
124
126
|
focus(): Promise<void>;
|
|
@@ -132,7 +134,7 @@ export declare class MdsWidgetComponent implements OnInit, OnChanges {
|
|
|
132
134
|
*/
|
|
133
135
|
private getRawValue;
|
|
134
136
|
getSearchParams(key: MdsValue): any;
|
|
135
|
-
startEdit(event
|
|
137
|
+
startEdit(event?: MouseEvent): void;
|
|
136
138
|
static ɵfac: i0.ɵɵFactoryDeclaration<MdsWidgetComponent, [{ optional: true; }, null, null, null, null, null, null]>;
|
|
137
139
|
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>;
|
|
138
140
|
}
|
|
@@ -3,7 +3,7 @@ import { SelectionModel } from '@angular/cdk/collections';
|
|
|
3
3
|
import { CustomOptions, OptionItem, Target } from '../types/option-item';
|
|
4
4
|
import { ListItem, ListItemSort } from '../types/list-item';
|
|
5
5
|
import { CanDrop, DragData, DropAction } from '../types/drag-drop';
|
|
6
|
-
import {
|
|
6
|
+
import { GenericAuthority, Node } from 'ngx-edu-sharing-api';
|
|
7
7
|
import { ActionbarComponent } from '../actionbar/actionbar.component';
|
|
8
8
|
import { Observable } from 'rxjs';
|
|
9
9
|
export type NodeRoot = 'MY_FILES' | 'COLLECTION_HOME' | 'SHARED_FILES' | 'MY_SHARED_FILES' | 'TO_ME_SHARED_FILES' | 'WORKFLOW_RECEIVE' | 'RECYCLE' | 'ALL_FILES';
|
|
@@ -75,6 +75,15 @@ export type GridConfig = {
|
|
|
75
75
|
*/
|
|
76
76
|
layout?: GridLayout;
|
|
77
77
|
};
|
|
78
|
+
export type TableConfig = {
|
|
79
|
+
dataColumnWidth?: number;
|
|
80
|
+
/**
|
|
81
|
+
* how the columns should be shown (in table mode)
|
|
82
|
+
* limit: limits the max amount based on the avgColumnWidth
|
|
83
|
+
* scroll: horizontal scrolling
|
|
84
|
+
*/
|
|
85
|
+
dataColumnLayout: 'scroll' | 'limit';
|
|
86
|
+
};
|
|
78
87
|
export interface ListEventInterface<T extends NodeEntriesDataType> {
|
|
79
88
|
updateNodes(nodes: void | T[]): void;
|
|
80
89
|
onDisplayTypeChange(): Observable<NodeEntriesDisplayType>;
|
|
@@ -49,6 +49,9 @@ export declare class NodeEntriesGlobalService {
|
|
|
49
49
|
* Registers a custom (node) attribute you want to render via the given template.
|
|
50
50
|
*
|
|
51
51
|
* You may also override existing attributes if you want to provide a custom view.
|
|
52
|
+
* each template gets two bindings:
|
|
53
|
+
* node: the current node
|
|
54
|
+
* entriesService: the injected service which provides state & config infos of the current view *
|
|
52
55
|
*/
|
|
53
56
|
registerCustomFieldRendering(customFieldInfo: CustomFieldInfo): void;
|
|
54
57
|
static ɵfac: i0.ɵɵFactoryDeclaration<NodeEntriesGlobalService, never>;
|
|
@@ -38,6 +38,7 @@ export declare class NodeEntriesTableComponent<T extends NodeEntriesDataType> im
|
|
|
38
38
|
columnChooserTrigger: CdkOverlayOrigin;
|
|
39
39
|
dropdown: DropdownComponent;
|
|
40
40
|
menuTrigger: MatMenuTrigger;
|
|
41
|
+
isScroll: boolean;
|
|
41
42
|
dropdownLeft: number;
|
|
42
43
|
dropdownTop: number;
|
|
43
44
|
loading: Observable<boolean>;
|
|
@@ -52,6 +53,7 @@ export declare class NodeEntriesTableComponent<T extends NodeEntriesDataType> im
|
|
|
52
53
|
readonly visibleDataColumns$: rxjs.Observable<ListItem[]>;
|
|
53
54
|
readonly visibleColumnNames$: rxjs.Observable<string[]>;
|
|
54
55
|
private destroyed;
|
|
56
|
+
containerWidth$: rxjs.BehaviorSubject<number>;
|
|
55
57
|
constructor(entriesService: NodeEntriesService<T>, entriesGlobalService: NodeEntriesGlobalService, applicationRef: ApplicationRef, toast: Toast, translations: TranslationsService, nodeHelperService: NodeHelperService, changeDetectorRef: ChangeDetectorRef, ui: UIService, ngZone: NgZone, elementRef: ElementRef<HTMLElement>);
|
|
56
58
|
ngAfterViewInit(): void;
|
|
57
59
|
ngOnChanges(changes: SimpleChanges): void;
|
|
@@ -22,6 +22,10 @@ export declare class NodeEntriesTemplatesService {
|
|
|
22
22
|
* custom container for showing an overlay across each element
|
|
23
23
|
*/
|
|
24
24
|
overlay: TemplateRef<any>;
|
|
25
|
+
/**
|
|
26
|
+
* custom container for showing an own card layout
|
|
27
|
+
*/
|
|
28
|
+
customCard: TemplateRef<any>;
|
|
25
29
|
constructor();
|
|
26
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<NodeEntriesTemplatesService, never>;
|
|
27
31
|
static ɵprov: i0.ɵɵInjectableDeclaration<NodeEntriesTemplatesService>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, SimpleChange, TemplateRef, Type, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { NodeEntriesTemplatesService } from './node-entries-templates.service';
|
|
3
3
|
import { NodeEntriesComponent } from './node-entries.component';
|
|
4
|
-
import { FetchEvent, GridConfig, InteractionType, ListDragGropConfig, ListEventInterface, ListOptions, ListOptionsConfig, ListSortConfig, NodeClickEvent, NodeEntriesDataType, NodeEntriesDisplayType } from './entries-model';
|
|
4
|
+
import { FetchEvent, GridConfig, InteractionType, ListDragGropConfig, ListEventInterface, ListOptions, ListOptionsConfig, ListSortConfig, NodeClickEvent, NodeEntriesDataType, NodeEntriesDisplayType, TableConfig } from './entries-model';
|
|
5
5
|
import { NodeDataSource } from './node-data-source';
|
|
6
6
|
import { CustomSelectionModel, NodeEntriesService } from '../services/node-entries.service';
|
|
7
7
|
import { OptionItem, Scope } from '../types/option-item';
|
|
@@ -11,6 +11,7 @@ import { TemporaryStorageService } from '../services/temporary-storage.service';
|
|
|
11
11
|
import { Node, NodeService } from 'ngx-edu-sharing-api';
|
|
12
12
|
import { OptionsHelperDataService } from '../services/options-helper-data.service';
|
|
13
13
|
import { UIService } from '../services/ui.service';
|
|
14
|
+
import { ColumnType } from '../mds/mds-helper.service';
|
|
14
15
|
import * as i0 from "@angular/core";
|
|
15
16
|
export declare class NodeEntriesWrapperComponent<T extends NodeEntriesDataType> implements AfterViewInit, OnInit, OnChanges, OnDestroy, ListEventInterface<T> {
|
|
16
17
|
private viewContainerRef;
|
|
@@ -40,10 +41,14 @@ export declare class NodeEntriesWrapperComponent<T extends NodeEntriesDataType>
|
|
|
40
41
|
* custom area for an overlay "above" each card (i.e. to show disabled infos), only for NodeEntriesDisplayType.SmallGrid & odeEntriesDisplayType.Grid
|
|
41
42
|
*/
|
|
42
43
|
overlayRef: TemplateRef<any>;
|
|
44
|
+
/**
|
|
45
|
+
* custom card template for each card only for NodeEntriesDisplayType.Grid
|
|
46
|
+
*/
|
|
47
|
+
customCard: TemplateRef<any>;
|
|
43
48
|
nodeEntriesComponentRef: NodeEntriesComponent<T>;
|
|
44
49
|
dataSource: NodeDataSource<T>;
|
|
45
50
|
scope: Scope;
|
|
46
|
-
columns:
|
|
51
|
+
columns: ColumnType;
|
|
47
52
|
configureColumns: boolean;
|
|
48
53
|
checkbox: boolean;
|
|
49
54
|
/**
|
|
@@ -58,6 +63,7 @@ export declare class NodeEntriesWrapperComponent<T extends NodeEntriesDataType>
|
|
|
58
63
|
sort: ListSortConfig;
|
|
59
64
|
dragDrop: ListDragGropConfig<T>;
|
|
60
65
|
gridConfig: GridConfig;
|
|
66
|
+
tableConfig: TableConfig;
|
|
61
67
|
/**
|
|
62
68
|
* This color defines the base color of gradients visually limiting a grid in scroll direction.
|
|
63
69
|
* Defaults to white.
|
|
@@ -94,6 +100,10 @@ export declare class NodeEntriesWrapperComponent<T extends NodeEntriesDataType>
|
|
|
94
100
|
* Do not load more data on scroll.
|
|
95
101
|
*/
|
|
96
102
|
disableInfiniteScroll: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* show the icon column (table view only)
|
|
105
|
+
*/
|
|
106
|
+
showIconColumn: boolean;
|
|
97
107
|
fetchData: EventEmitter<FetchEvent>;
|
|
98
108
|
clickItem: EventEmitter<NodeClickEvent<T>>;
|
|
99
109
|
dblClickItem: EventEmitter<NodeClickEvent<T>>;
|
|
@@ -102,7 +112,9 @@ export declare class NodeEntriesWrapperComponent<T extends NodeEntriesDataType>
|
|
|
102
112
|
displayTypeChanged: EventEmitter<NodeEntriesDisplayType>;
|
|
103
113
|
customNodeListComponent: Type<NodeEntriesComponent<T>>;
|
|
104
114
|
private componentRef;
|
|
115
|
+
lastLoadingCompleted: number;
|
|
105
116
|
private options;
|
|
117
|
+
private dataSourceDestroy$;
|
|
106
118
|
private destroyed;
|
|
107
119
|
constructor(viewContainerRef: ViewContainerRef, temporaryStorageService: TemporaryStorageService, ngZone: NgZone, entriesService: NodeEntriesService<T>, nodeService: NodeService, optionsHelper: OptionsHelperDataService, nodeHelperService: NodeHelperService, uiService: UIService, templatesService: NodeEntriesTemplatesService, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef);
|
|
108
120
|
ngOnInit(): void;
|
|
@@ -137,5 +149,5 @@ export declare class NodeEntriesWrapperComponent<T extends NodeEntriesDataType>
|
|
|
137
149
|
resetPagination(): void;
|
|
138
150
|
deleteNodes(objects: T[]): void;
|
|
139
151
|
static ɵfac: i0.ɵɵFactoryDeclaration<NodeEntriesWrapperComponent<any>, never>;
|
|
140
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NodeEntriesWrapperComponent<any>, "es-node-entries-wrapper", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "scope": { "alias": "scope"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "configureColumns": { "alias": "configureColumns"; "required": false; }; "checkbox": { "alias": "checkbox"; "required": false; }; "globalOptions": { "alias": "globalOptions"; "required": false; }; "displayType": { "alias": "displayType"; "required": false; }; "elementInteractionType": { "alias": "elementInteractionType"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "dragDrop": { "alias": "dragDrop"; "required": false; }; "gridConfig": { "alias": "gridConfig"; "required": false; }; "scrollGradientColor": { "alias": "scrollGradientColor"; "required": false; }; "initConfig": { "alias": "initConfig"; "required": false; }; "primaryInstance": { "alias": "primaryInstance"; "required": false; }; "singleClickHint": { "alias": "singleClickHint"; "required": false; }; "disableInfiniteScroll": { "alias": "disableInfiniteScroll"; "required": false; }; }, { "columnsChange": "columnsChange"; "displayTypeChange": "displayTypeChange"; "fetchData": "fetchData"; "clickItem": "clickItem"; "dblClickItem": "dblClickItem"; "sortChange": "sortChange"; "virtualNodesAdded": "virtualNodesAdded"; "displayTypeChanged": "displayTypeChanged"; }, ["titleRef", "emptyRef", "actionAreaRef", "overlayRef"], never, false, never>;
|
|
152
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NodeEntriesWrapperComponent<any>, "es-node-entries-wrapper", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "scope": { "alias": "scope"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "configureColumns": { "alias": "configureColumns"; "required": false; }; "checkbox": { "alias": "checkbox"; "required": false; }; "globalOptions": { "alias": "globalOptions"; "required": false; }; "displayType": { "alias": "displayType"; "required": false; }; "elementInteractionType": { "alias": "elementInteractionType"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "dragDrop": { "alias": "dragDrop"; "required": false; }; "gridConfig": { "alias": "gridConfig"; "required": false; }; "tableConfig": { "alias": "tableConfig"; "required": false; }; "scrollGradientColor": { "alias": "scrollGradientColor"; "required": false; }; "initConfig": { "alias": "initConfig"; "required": false; }; "primaryInstance": { "alias": "primaryInstance"; "required": false; }; "singleClickHint": { "alias": "singleClickHint"; "required": false; }; "disableInfiniteScroll": { "alias": "disableInfiniteScroll"; "required": false; }; "showIconColumn": { "alias": "showIconColumn"; "required": false; }; }, { "columnsChange": "columnsChange"; "displayTypeChange": "displayTypeChange"; "fetchData": "fetchData"; "clickItem": "clickItem"; "dblClickItem": "dblClickItem"; "sortChange": "sortChange"; "virtualNodesAdded": "virtualNodesAdded"; "displayTypeChanged": "displayTypeChanged"; }, ["titleRef", "emptyRef", "actionAreaRef", "overlayRef", "customCard"], never, false, never>;
|
|
141
153
|
}
|
|
@@ -38,6 +38,6 @@ import * as i36 from "@angular/material/tooltip";
|
|
|
38
38
|
import * as i37 from "@ngx-translate/core";
|
|
39
39
|
export declare class NodeEntriesModule {
|
|
40
40
|
static ɵfac: i0.ɵɵFactoryDeclaration<NodeEntriesModule, never>;
|
|
41
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NodeEntriesModule, [typeof i1.ColumnChooserComponent, typeof i2.DragPreviewComponent, typeof i3.ListItemLabelPipe, typeof i4.NodeEntriesCardComponent, typeof i5.NodeEntriesCardGridComponent, typeof i6.NodeEntriesCardSmallComponent, typeof i7.NodeEntriesTableComponent, typeof i8.NodeRatingComponent, typeof i9.PreviewImageComponent, typeof i10.NodeEntriesComponent, typeof i11.NodeEntriesWrapperComponent, typeof i8.NodeRatingComponent, typeof i12.NodeTypeBadgeComponent, typeof i13.OptionButtonComponent, typeof i9.PreviewImageComponent, typeof i14.SortSelectPanelComponent, typeof i15.NodesDragDirective, typeof i16.NodesDragSourceDirective, typeof i17.NodesDropTargetDirective, typeof i18.NodeEntriesGlobalOptionsComponent, typeof i19.NodeStatsBadgesComponent], [typeof i20.CommonModule, typeof i21.FormsModule, typeof i22.A11yModule, typeof i23.OverlayModule, typeof i24.DragDropModule, typeof i25.EduSharingUiCommonModule, typeof i26.ListItemsModule, typeof i27.MatCheckboxModule, typeof i28.MatButtonModule, typeof i29.MatBadgeModule, typeof i30.MatMenuModule, typeof i31.MatTableModule, typeof i27.MatCheckboxModule, typeof i32.MatPaginatorModule, typeof i33.MatRippleModule, typeof i34.MatSlideToggleModule, typeof i35.MatSortModule, typeof i36.MatTooltipModule, typeof i37.TranslateModule], [typeof i11.NodeEntriesWrapperComponent, typeof i15.NodesDragDirective, typeof i16.NodesDragSourceDirective, typeof i17.NodesDropTargetDirective, typeof
|
|
41
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NodeEntriesModule, [typeof i1.ColumnChooserComponent, typeof i2.DragPreviewComponent, typeof i3.ListItemLabelPipe, typeof i4.NodeEntriesCardComponent, typeof i5.NodeEntriesCardGridComponent, typeof i6.NodeEntriesCardSmallComponent, typeof i7.NodeEntriesTableComponent, typeof i8.NodeRatingComponent, typeof i9.PreviewImageComponent, typeof i10.NodeEntriesComponent, typeof i11.NodeEntriesWrapperComponent, typeof i8.NodeRatingComponent, typeof i12.NodeTypeBadgeComponent, typeof i13.OptionButtonComponent, typeof i9.PreviewImageComponent, typeof i14.SortSelectPanelComponent, typeof i15.NodesDragDirective, typeof i16.NodesDragSourceDirective, typeof i17.NodesDropTargetDirective, typeof i18.NodeEntriesGlobalOptionsComponent, typeof i19.NodeStatsBadgesComponent], [typeof i20.CommonModule, typeof i21.FormsModule, typeof i22.A11yModule, typeof i23.OverlayModule, typeof i24.DragDropModule, typeof i25.EduSharingUiCommonModule, typeof i26.ListItemsModule, typeof i27.MatCheckboxModule, typeof i28.MatButtonModule, typeof i29.MatBadgeModule, typeof i30.MatMenuModule, typeof i31.MatTableModule, typeof i27.MatCheckboxModule, typeof i32.MatPaginatorModule, typeof i33.MatRippleModule, typeof i34.MatSlideToggleModule, typeof i35.MatSortModule, typeof i36.MatTooltipModule, typeof i37.TranslateModule], [typeof i3.ListItemLabelPipe, typeof i11.NodeEntriesWrapperComponent, typeof i8.NodeRatingComponent, typeof i15.NodesDragDirective, typeof i16.NodesDragSourceDirective, typeof i17.NodesDropTargetDirective, typeof i19.NodeStatsBadgesComponent, typeof i12.NodeTypeBadgeComponent]>;
|
|
42
42
|
static ɵinj: i0.ɵɵInjectorDeclaration<NodeEntriesModule>;
|
|
43
43
|
}
|
|
@@ -2,6 +2,7 @@ import { OnChanges } from '@angular/core';
|
|
|
2
2
|
import { Node } from 'ngx-edu-sharing-api';
|
|
3
3
|
import { NodeEntriesGlobalService } from '../node-entries-global.service';
|
|
4
4
|
import { NodeHelperService } from '../../services/node-helper.service';
|
|
5
|
+
import { NodeEntriesService } from '../../services/node-entries.service';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
/**
|
|
7
8
|
* A small circular badge that depicts the node's type.
|
|
@@ -11,11 +12,17 @@ import * as i0 from "@angular/core";
|
|
|
11
12
|
export declare class NodeTypeBadgeComponent implements OnChanges {
|
|
12
13
|
nodeHelper: NodeHelperService;
|
|
13
14
|
private nodeEntriesGlobalService;
|
|
15
|
+
nodeEntriesService: NodeEntriesService<Node>;
|
|
14
16
|
node: Node;
|
|
17
|
+
/**
|
|
18
|
+
* when true, collection icons will resolve based on their type (editorial, private...)
|
|
19
|
+
* When false, the generic svg image is used
|
|
20
|
+
*/
|
|
21
|
+
collectionIcons: boolean;
|
|
15
22
|
isCollection: boolean;
|
|
16
|
-
constructor(nodeHelper: NodeHelperService, nodeEntriesGlobalService: NodeEntriesGlobalService);
|
|
23
|
+
constructor(nodeHelper: NodeHelperService, nodeEntriesGlobalService: NodeEntriesGlobalService, nodeEntriesService: NodeEntriesService<Node>);
|
|
17
24
|
ngOnChanges(): void;
|
|
18
25
|
getCustomTemplate(): import("@angular/core").TemplateRef<unknown>;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NodeTypeBadgeComponent,
|
|
20
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NodeTypeBadgeComponent, "es-node-type-badge", never, { "node": { "alias": "node"; "required": false; }; }, {}, never, never, false, never>;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NodeTypeBadgeComponent, [null, null, { optional: true; }]>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NodeTypeBadgeComponent, "es-node-type-badge", never, { "node": { "alias": "node"; "required": false; }; "collectionIcons": { "alias": "collectionIcons"; "required": false; }; }, {}, never, never, false, never>;
|
|
21
28
|
}
|
|
@@ -18,7 +18,7 @@ export declare class NodeImagePipe implements PipeTransform {
|
|
|
18
18
|
private repoUrlService;
|
|
19
19
|
private networkApi;
|
|
20
20
|
constructor(nodeHelper: NodeHelperService, sanitizer: DomSanitizer, repoUrlService: RepoUrlService, networkApi: NetworkService);
|
|
21
|
-
transform(node: Node, preferences
|
|
21
|
+
transform(node: Node, preferences?: NodeImagePreferences): Observable<SafeResourceUrl>;
|
|
22
22
|
private getPreviewUrl;
|
|
23
23
|
private isEduSharingNode;
|
|
24
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<NodeImagePipe, never>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
2
|
import { EventEmitter, WritableSignal } from '@angular/core';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
|
-
import { ClickSource, 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, TableConfig } 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';
|
|
@@ -79,11 +79,15 @@ export declare class NodeEntriesService<T extends NodeEntriesDataType> {
|
|
|
79
79
|
dblClickItem: EventEmitter<NodeClickEvent<T>>;
|
|
80
80
|
fetchData: EventEmitter<FetchEvent>;
|
|
81
81
|
readonly gridConfig$: BehaviorSubject<GridConfig>;
|
|
82
|
+
readonly tableConfig$: BehaviorSubject<TableConfig>;
|
|
82
83
|
get gridConfig(): GridConfig;
|
|
83
84
|
set gridConfig(value: GridConfig);
|
|
85
|
+
get tableConfig(): TableConfig;
|
|
86
|
+
set tableConfig(value: TableConfig);
|
|
84
87
|
primaryInstance: boolean;
|
|
85
88
|
singleClickHint: 'dynamic' | 'static';
|
|
86
89
|
disableInfiniteScroll: boolean;
|
|
90
|
+
showIconColumn: BehaviorSubject<boolean>;
|
|
87
91
|
scrollGradientColor: WritableSignal<string>;
|
|
88
92
|
constructor(uiService: UIService, toast: Toast, entriesGlobal: NodeEntriesGlobalService);
|
|
89
93
|
onClicked({ event, ...data }: NodeClickEvent<T> & {
|
|
@@ -4,18 +4,19 @@ import * as Workflow from '../types/workflow';
|
|
|
4
4
|
import { RepoUrlService } from './repo-url.service';
|
|
5
5
|
import { Params } from '@angular/router';
|
|
6
6
|
import { NodesRightMode } from '../types/option-item';
|
|
7
|
+
import { EduSharingUiConfiguration } from '../edu-sharing-ui-configuration';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export declare class NodeHelperService {
|
|
9
10
|
protected translate: TranslateService;
|
|
10
11
|
protected apiHelpersService: ApiHelpersService;
|
|
11
12
|
protected networkService: NetworkService;
|
|
12
13
|
protected configService: ConfigService;
|
|
14
|
+
protected configuration: EduSharingUiConfiguration;
|
|
13
15
|
protected repoUrlService: RepoUrlService;
|
|
14
|
-
private assetsBasePath;
|
|
15
16
|
readonly LICENSE_URLS: {
|
|
16
17
|
[key: string]: string;
|
|
17
18
|
};
|
|
18
|
-
constructor(translate: TranslateService, apiHelpersService: ApiHelpersService, networkService: NetworkService, configService: ConfigService,
|
|
19
|
+
constructor(translate: TranslateService, apiHelpersService: ApiHelpersService, networkService: NetworkService, configService: ConfigService, configuration: EduSharingUiConfiguration, repoUrlService: RepoUrlService);
|
|
19
20
|
getCollectionScopeInfo(node: Node): {
|
|
20
21
|
icon: string;
|
|
21
22
|
scopeName: string;
|
|
@@ -53,10 +54,11 @@ export declare class NodeHelperService {
|
|
|
53
54
|
getWorkflowStatus(node: Node, useFromConfig?: boolean): Workflow.WorkflowDefinitionStatus;
|
|
54
55
|
getDefaultWorkflowStatus(useFromConfig?: boolean): Workflow.WorkflowDefinitionStatus;
|
|
55
56
|
getWorkflows(): Workflow.WorkflowDefinition[];
|
|
57
|
+
getFilenameWithoutExtension(filename: string): string;
|
|
56
58
|
copyDataToNode<T extends Node | User>(target: T, source: T): void;
|
|
57
59
|
isNodeCollection(node: Node): boolean;
|
|
58
60
|
getSourceIconPath(src: string): string;
|
|
59
|
-
getNodeLink(mode: 'routerLink' | 'queryParams', node: Node): string | Params;
|
|
61
|
+
getNodeLink(mode: 'routerLink' | 'queryParams', node: Node, short?: boolean): string | Params;
|
|
60
62
|
/**
|
|
61
63
|
* Returns true if this node is a copy of another node, just used as a publish target.
|
|
62
64
|
*/
|
|
@@ -73,6 +75,6 @@ export declare class NodeHelperService {
|
|
|
73
75
|
* Effective: check only rights of the original node this refers to (collection ref). If it is not a collection ref, fallback to local
|
|
74
76
|
*/
|
|
75
77
|
getNodesRight(nodes: Node[], right: string, mode?: NodesRightMode): boolean;
|
|
76
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NodeHelperService, [
|
|
78
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NodeHelperService, [{ optional: true; }, null, null, null, null, null]>;
|
|
77
79
|
static ɵprov: i0.ɵɵInjectableDeclaration<NodeHelperService>;
|
|
78
80
|
}
|
|
@@ -63,7 +63,7 @@ export declare class OptionsHelperDataService implements OnDestroy {
|
|
|
63
63
|
private addVirtualObjects;
|
|
64
64
|
registerGlobalKeyboardShortcuts(): void;
|
|
65
65
|
private handleKeyboardEvent;
|
|
66
|
-
filterOptions(options: OptionItem[], target: Target, objects?: Node[] | any): Promise<OptionItem[]>;
|
|
66
|
+
filterOptions(options: OptionItem[], target: Target, objects?: Node[] | any): OptionItem[] | Promise<OptionItem[]>;
|
|
67
67
|
/**
|
|
68
68
|
* shortcut to simply disable all options on the given compoennts
|
|
69
69
|
* @param actionbar
|
|
@@ -17,8 +17,9 @@ export declare class RenderHelperService {
|
|
|
17
17
|
private userService;
|
|
18
18
|
private optionsHelperDataService;
|
|
19
19
|
constructor(injector: Injector, aboutService: AboutService, nodeApiUnwrapped: NodeServiceUnwrapped, configuration: EduSharingUiConfiguration, userService: UserService, optionsHelperDataService: OptionsHelperDataService);
|
|
20
|
-
getRenderData(nodeId: string, version?: string): Promise<CombinedRenderData>;
|
|
20
|
+
getRenderData(nodeId: string, version?: string, repository?: string): Promise<CombinedRenderData>;
|
|
21
21
|
getRenderDataForLms(encodedNode: string, signature: string, jwt: string, renderUrl: string, encodedUser: string): Promise<CombinedRenderData>;
|
|
22
|
+
prepareRootUrl(): Promise<void>;
|
|
22
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<RenderHelperService, [null, null, null, null, null, { optional: true; }]>;
|
|
23
24
|
static ɵprov: i0.ɵɵInjectableDeclaration<RenderHelperService>;
|
|
24
25
|
}
|
|
@@ -3,19 +3,19 @@ import { TranslateLoader } from '@ngx-translate/core';
|
|
|
3
3
|
import { ConfigService } from 'ngx-edu-sharing-api';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { EduSharingUiConfiguration } from '../edu-sharing-ui-configuration';
|
|
6
|
+
import { I18nConfig } from '../types/injection-tokens';
|
|
6
7
|
export declare const TRANSLATION_LIST: string[];
|
|
7
8
|
type Dictionary = {
|
|
8
9
|
[key: string]: string | Dictionary;
|
|
9
10
|
};
|
|
10
11
|
export declare class TranslationLoader implements TranslateLoader {
|
|
11
|
-
private assetsBasePath;
|
|
12
|
-
private additionalI18nProvider;
|
|
13
12
|
private http;
|
|
14
13
|
private configService;
|
|
15
14
|
private configuration;
|
|
15
|
+
private i18nConfig;
|
|
16
16
|
private prefix;
|
|
17
17
|
private suffix;
|
|
18
|
-
static create(http: HttpClient, configService: ConfigService, configuration: EduSharingUiConfiguration,
|
|
18
|
+
static create(http: HttpClient, configService: ConfigService, configuration: EduSharingUiConfiguration, i18nConfig: I18nConfig): TranslationLoader;
|
|
19
19
|
private constructor();
|
|
20
20
|
private readonly source;
|
|
21
21
|
/**
|
|
@@ -1,28 +1,21 @@
|
|
|
1
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>;
|
|
9
2
|
export declare class I18nConfig {
|
|
10
3
|
/**
|
|
11
4
|
* shall the user profile be read
|
|
12
5
|
* If not set, defaults to true
|
|
13
6
|
*/
|
|
14
7
|
obeyUserProfile?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* custom additional uris to fetch language files from
|
|
10
|
+
*
|
|
11
|
+
* Might be used if additional angular modules require language data
|
|
12
|
+
*
|
|
13
|
+
* Example
|
|
14
|
+
* {provide: I18N_CONFIG, useValue: { ... }},
|
|
15
|
+
*/
|
|
16
|
+
additionalI18nProvider?: (lang: string) => string[];
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* additional configuration options
|
|
18
20
|
*/
|
|
19
21
|
export declare const I18N_CONFIG: InjectionToken<I18nConfig>;
|
|
20
|
-
/**
|
|
21
|
-
* custom additional uris to fetch language files from
|
|
22
|
-
*
|
|
23
|
-
* Might be used if additional angular modules require language data
|
|
24
|
-
*
|
|
25
|
-
* Example
|
|
26
|
-
*{provide: ADDITIONAL_I18N_PROVIDER, useValue: (lang: string) => { return ['/edu-sharing/assets/i18n/myI18n/' + lang + '.json']}},
|
|
27
|
-
*/
|
|
28
|
-
export declare const ADDITIONAL_I18N_PROVIDER: InjectionToken<(lang: string) => string[]>;
|
|
@@ -240,10 +240,11 @@ export declare enum Constrain {
|
|
|
240
240
|
ClipboardContent = 10,// Only visible when the clipboard has content
|
|
241
241
|
AddObjects = 11,// Only visible when it is possible to add objects into the current list
|
|
242
242
|
HomeRepository = 12,// Only visible when the nodes are from the local (home) repository
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
243
|
+
GuestOrNotLoggedIn = 13,// Only visible when a user is NOT present (guest or not logged in)
|
|
244
|
+
User = 14,// Only visible when a user is present and logged in
|
|
245
|
+
NoScope = 15,// Only visible when no current scope (i.e "safe" scope) is set
|
|
246
|
+
ReurlMode = 16,// Only visible when a reurl is present (called to pick object from lms)
|
|
247
|
+
LTIMode = 17
|
|
247
248
|
}
|
|
248
249
|
export declare enum Target {
|
|
249
250
|
List = 0,// Target is the ListTableComponent
|