Skip to content
This repository was archived by the owner on Aug 1, 2024. It is now read-only.

Commit d415650

Browse files
committed
feat: implement config root node name
1 parent 7074673 commit d415650

21 files changed

+50
-38
lines changed

projects/ngx-explorer/src/lib/components/base-view/base-view.directive.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Directive, Inject, OnDestroy } from '@angular/core';
22
import { BehaviorSubject, Subscription } from 'rxjs';
3-
import { INode } from '../../common/types';
4-
import { FILTER_STRING } from '../../injection-tokens/current-view.token';
3+
import { INode } from '../../shared/types';
4+
import { FILTER_STRING } from '../../injection-tokens/tokens';
55
import { ExplorerService } from '../../services/explorer.service';
66
import { HelperService } from '../../services/helper.service';
77

projects/ngx-explorer/src/lib/components/breadcrumbs/breadcrumbs.component.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { Component, OnDestroy, ViewEncapsulation } from '@angular/core';
22
import { Subscription } from 'rxjs';
3-
import { INode } from '../../common/types';
3+
import { INode } from '../../shared/types';
44
import { ExplorerService } from '../../services/explorer.service';
55
import { HelperService } from '../../services/helper.service';
6+
import { ConfigProvider } from '../../services/config.provider';
67

78
interface Breadcrumb {
89
node: INode;
@@ -19,12 +20,12 @@ export class BreadcrumbsComponent implements OnDestroy {
1920
public breadcrumbs: Breadcrumb[] = [];
2021
private sub = new Subscription();
2122

22-
constructor(private explorerService: ExplorerService, private helperService: HelperService) {
23+
constructor(private explorerService: ExplorerService, private helperService: HelperService, private config: ConfigProvider) {
2324
this.sub.add(this.explorerService.breadcrumbs.subscribe(n => this.buildBreadcrumbs(n)));
2425
}
2526

2627
private buildBreadcrumbs(nodes: INode[]) {
27-
this.breadcrumbs = nodes.map(n => ({ name: this.helperService.getName(n.data) || 'Files', node: n }));
28+
this.breadcrumbs = nodes.map(n => ({ name: this.helperService.getName(n.data) || this.config.config.homeNodeName, node: n }));
2829
}
2930

3031
public click(crumb: Breadcrumb) {

projects/ngx-explorer/src/lib/components/explorer/explorer.component.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Component, Inject, OnDestroy, ViewEncapsulation } from '@angular/core';
22
import { BehaviorSubject, Subscription } from 'rxjs';
3-
import { AvialableView } from '../../common/types';
4-
import { CURRENT_VIEW } from '../../injection-tokens/current-view.token';
3+
import { AvialableView } from '../../shared/types';
4+
import { CURRENT_VIEW } from '../../injection-tokens/tokens';
55

66
@Component({
77
selector: 'nxe-explorer',

projects/ngx-explorer/src/lib/components/filter/filter.component.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, ElementRef, Inject, OnDestroy, ViewChild } from '@angular/core';
22
import { BehaviorSubject, Subscription } from 'rxjs';
3-
import { FILTER_STRING } from '../../injection-tokens/current-view.token';
3+
import { FILTER_STRING } from '../../injection-tokens/tokens';
44
import { ExplorerService } from '../../services/explorer.service';
55

66
@Component({

projects/ngx-explorer/src/lib/components/icons/icons.component.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, Inject, ViewEncapsulation } from '@angular/core';
22
import { BehaviorSubject } from 'rxjs';
3-
import { FILTER_STRING } from '../../injection-tokens/current-view.token';
3+
import { FILTER_STRING } from '../../injection-tokens/tokens';
44
import { ExplorerService } from '../../services/explorer.service';
55
import { HelperService } from '../../services/helper.service';
66
import { BaseView } from '../base-view/base-view.directive';

projects/ngx-explorer/src/lib/components/list/list.component.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, Inject, ViewEncapsulation } from '@angular/core';
22
import { BehaviorSubject } from 'rxjs';
3-
import { FILTER_STRING } from '../../injection-tokens/current-view.token';
3+
import { FILTER_STRING } from '../../injection-tokens/tokens';
44
import { ExplorerService } from '../../services/explorer.service';
55
import { HelperService } from '../../services/helper.service';
66
import { BaseView } from '../base-view/base-view.directive';

projects/ngx-explorer/src/lib/components/menu-bar/menu-bar.component.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, ElementRef, OnDestroy, ViewChild, ViewEncapsulation } from '@angular/core';
22
import { Subscription } from 'rxjs';
3-
import { INode } from '../../common/types';
3+
import { INode } from '../../shared/types';
44
import { ExplorerService } from '../../services/explorer.service';
55
import { HelperService } from '../../services/helper.service';
66

projects/ngx-explorer/src/lib/components/tree/tree.component.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { ExplorerService } from '../../services/explorer.service';
33
import { filter } from 'rxjs/operators';
44
import { HelperService } from '../../services/helper.service';
55
import { Subscription } from 'rxjs';
6-
import { INode } from '../../common/types';
6+
import { INode } from '../../shared/types';
77

88
interface TreeNode extends INode {
99
children: TreeNode[];

projects/ngx-explorer/src/lib/components/view-switcher/view-switcher.component.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Component, Inject, ViewEncapsulation } from '@angular/core';
22
import { BehaviorSubject } from 'rxjs';
3-
import { AvialableView } from '../../common/types';
4-
import { CURRENT_VIEW } from '../../injection-tokens/current-view.token';
3+
import { AvialableView } from '../../shared/types';
4+
import { CURRENT_VIEW } from '../../injection-tokens/tokens';
55

66
@Component({
77
selector: 'nxe-view-switcher',

projects/ngx-explorer/src/lib/injection-tokens/config.ts

-10
This file was deleted.

projects/ngx-explorer/src/lib/injection-tokens/current-view.token.ts projects/ngx-explorer/src/lib/injection-tokens/tokens.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { InjectionToken } from '@angular/core';
22
import { BehaviorSubject } from 'rxjs';
3-
import { AvialableView } from '../common/types';
3+
import { AvialableView } from '../shared/types';
44

55
export const CURRENT_VIEW = new InjectionToken<BehaviorSubject<AvialableView>>('CURRENT_VIEW', {
66
providedIn: 'root',

projects/ngx-explorer/src/lib/ngx-explorer.module.ts

+7
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { ViewSwitcherComponent } from './components/view-switcher/view-switcher.
1010
import { TreeComponent } from './components/tree/tree.component';
1111
import { FilterComponent } from './components/filter/filter.component';
1212
import { DragDropDirective } from './directives/drag-drop.directive';
13+
import { Config } from './shared/default-config';
1314

1415
@NgModule({
1516
declarations: [
@@ -37,6 +38,12 @@ import { DragDropDirective } from './directives/drag-drop.directive';
3738
ViewSwitcherComponent,
3839
TreeComponent,
3940
FilterComponent
41+
],
42+
providers: [
43+
{
44+
provide: Config,
45+
useValue: Config
46+
}
4047
]
4148
})
4249
export class NgxExplorerModule { }
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { NgeExplorerConfig } from '../shared/types';
2+
3+
export class ConfigProvider {
4+
constructor(public config: NgeExplorerConfig) {}
5+
}

projects/ngx-explorer/src/lib/services/data.service.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Injectable } from '@angular/core';
2-
import { IDataService } from '../common/types';
2+
import { IDataService } from '../shared/types';
33

44
@Injectable({
55
providedIn: 'root'

projects/ngx-explorer/src/lib/services/explorer.service.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { Injectable } from '@angular/core';
22
import { BehaviorSubject, forkJoin, of } from 'rxjs';
33
import { tap } from 'rxjs/operators';
4-
import { INode, Dictionary, NodeContent } from '../common/types';
4+
import { INode, Dictionary, NodeContent } from '../shared/types';
55
import { Utils } from '../shared/utils';
66
import { DataService } from './data.service';
7-
import { HelperService } from './helper.service';
87

98
@Injectable({
109
providedIn: 'root'
@@ -23,7 +22,7 @@ export class ExplorerService {
2322
public readonly breadcrumbs = this.breadcrumbs$.asObservable();
2423
public readonly tree = this.tree$.asObservable();
2524

26-
constructor(private dataService: DataService, private helper: HelperService) {
25+
constructor(private dataService: DataService) {
2726
this.openNode(this.internalTree.id);
2827
}
2928

projects/ngx-explorer/src/lib/services/helper.service.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Injectable } from '@angular/core';
2-
import { IHelperService } from '../common/types';
2+
import { IHelperService } from '../shared/types';
33

44
@Injectable({
55
providedIn: 'root'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { NgeExplorerConfig } from './types';
2+
3+
export const Config: NgeExplorerConfig = {
4+
homeNodeName: 'Files'
5+
};

projects/ngx-explorer/src/lib/common/types.ts projects/ngx-explorer/src/lib/shared/types.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ export enum AvialableView {
3434
Icon = 'Icon',
3535
}
3636

37-
export interface NgxExplorerConfig {
38-
test?: number;
37+
export interface NgeExplorerConfig {
38+
homeNodeName: string;
3939
}

projects/ngx-explorer/src/lib/shared/utils.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { INode, Dictionary } from '../common/types';
1+
import { INode, Dictionary } from './types';
22

33
export class Utils {
44

projects/ngx-explorer/src/public-api.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
* Public API Surface of ngx-explorer
33
*/
44

5-
export * from './lib/common/types';
5+
export * from './lib/shared/types';
66
export * from './lib/ngx-explorer.module';
77
export * from './lib/services/data.service';
88
export * from './lib/services/explorer.service';
99
export * from './lib/services/helper.service';
10-
export * from './lib/injection-tokens/current-view.token';
11-
export * from './lib/injection-tokens/config';
10+
export * from './lib/services/config.provider';
11+
export * from './lib/injection-tokens/tokens';
1212
export * from './lib/components/icons/icons.component';
1313
export * from './lib/components/explorer/explorer.component';
1414
export * from './lib/components/menu-bar/menu-bar.component';
@@ -21,3 +21,4 @@ export * from './lib/components/tree/tree.component';
2121
export * from './lib/components/list/list.component';
2222
export * from './lib/components/filter/filter.component';
2323
export * from './lib/shared/utils';
24+
export * from './lib/shared/default-config';

src/app/app.module.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { BrowserModule } from '@angular/platform-browser';
22
import { NgModule } from '@angular/core';
33
import { AppComponent } from './app.component';
4-
import { NgxExplorerModule, DataService } from 'ngx-explorer';
4+
import { NgxExplorerModule, DataService, NgeExplorerConfig, ConfigProvider } from 'ngx-explorer';
55
import { ExampleDataService } from './data.service';
66

77
@NgModule({
@@ -14,7 +14,11 @@ import { ExampleDataService } from './data.service';
1414
],
1515
providers: [
1616
{ provide: DataService, useClass: ExampleDataService },
17-
// { provide: NGX_EXPLORER_CONFIG, useValue: { test: 123 } }
17+
{
18+
provide: ConfigProvider, useValue: new ConfigProvider({
19+
homeNodeName: 'Home'
20+
} as NgeExplorerConfig)
21+
}
1822
// { provide: NxeExplorerHelpers, useClass: LittleHelpers }
1923
],
2024
bootstrap: [AppComponent]

0 commit comments

Comments
 (0)