[ACA-1039] improved breadcrumbs for admins (#840)

This commit is contained in:
Denys Vuika 2018-11-29 11:48:15 +00:00 committed by GitHub
parent 462cc09146
commit 2e72dc1c6c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 2 deletions

View File

@ -41,7 +41,8 @@ import { ContentApiService } from '../../services/content-api.service';
import { AppExtensionService } from '../../extensions/extension.service';
import { SetCurrentFolderAction } from '../../store/actions';
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
import { debounceTime } from 'rxjs/operators';
import { debounceTime, takeUntil } from 'rxjs/operators';
import { isAdmin } from '../../store/selectors/app.selectors';
@Component({
templateUrl: './files.component.html'
@ -49,6 +50,7 @@ import { debounceTime } from 'rxjs/operators';
export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
isValidPath = true;
isSmallScreen = false;
isAdmin = false;
private nodePath: PathElement[];
@ -118,6 +120,13 @@ export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
})
]);
this.store
.select(isAdmin)
.pipe(takeUntil(this.onDestroy$))
.subscribe(value => {
this.isAdmin = value;
});
this.columns = this.extensions.documentListPresets.files || [];
}
@ -238,7 +247,9 @@ export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
if (elements.length > 1) {
if (elements[1].name === 'User Homes') {
elements.splice(0, 2);
if (!this.isAdmin) {
elements.splice(0, 2);
}
} else if (elements[1].name === 'Sites') {
await this.normalizeSitePath(node);
}

View File

@ -27,59 +27,77 @@ import { createSelector } from '@ngrx/store';
import { AppStore } from '../states/app.state';
export const selectApp = (state: AppStore) => state.app;
export const selectHeaderColor = createSelector(
selectApp,
state => state.headerColor
);
export const selectAppName = createSelector(
selectApp,
state => state.appName
);
export const selectLogoPath = createSelector(
selectApp,
state => state.logoPath
);
export const appSelection = createSelector(
selectApp,
state => state.selection
);
export const appLanguagePicker = createSelector(
selectApp,
state => state.languagePicker
);
export const selectUser = createSelector(
selectApp,
state => state.user
);
export const sharedUrl = createSelector(
selectApp,
state => state.sharedUrl
);
export const appNavigation = createSelector(
selectApp,
state => state.navigation
);
export const currentFolder = createSelector(
selectApp,
state => state.navigation.currentFolder
);
export const infoDrawerOpened = createSelector(
selectApp,
state => state.infoDrawerOpened
);
export const documentDisplayMode = createSelector(
selectApp,
state => state.documentDisplayMode
);
export const repositoryStatus = createSelector(
selectApp,
state => state.repository
);
export const isQuickShareEnabled = createSelector(
repositoryStatus,
status => status.isQuickShareEnabled
);
export const isAdmin = createSelector(
selectApp,
state => state.user.isAdmin
);
export const ruleContext = createSelector(
appSelection,
appNavigation,