Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Navigation change #3449

Closed
wants to merge 38 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
241c89f
Move tabs to left nav
KlapTrap Dec 13, 2018
1ecde10
Add page header from side nav
KlapTrap Dec 13, 2018
e8f3f17
Add new page side nav
KlapTrap Dec 13, 2018
428d43b
Remove old side nav open close logic
KlapTrap Dec 14, 2018
b2af12f
Improve sub nav layout
KlapTrap Dec 14, 2018
eb7d9f8
Remove unused mobile nav logic
KlapTrap Dec 14, 2018
92fe6f7
Add icons to cf page
KlapTrap Dec 14, 2018
e861a04
Update icons for all CF side navs
KlapTrap Dec 14, 2018
8b3a250
Tidy up page sub nav
KlapTrap Dec 14, 2018
af76f15
Fix scss import
KlapTrap Dec 17, 2018
9cd3761
Merge branch 'v2-master' into tabs-layout-change
KlapTrap Dec 17, 2018
68a6216
Merge branch 'v2-master' into tabs-layout-change
KlapTrap Dec 31, 2018
ede7a61
Remove manage user button
KlapTrap Dec 31, 2018
e2f41a1
Merge branch 'v2-master' into tabs-layout-change
KlapTrap Feb 19, 2019
84623b4
Fix home left tab
KlapTrap Feb 19, 2019
a744be6
Add WIP breadcrumbs
KlapTrap Feb 19, 2019
e70c53e
Merge branch 'v2-master' into tabs-layout-change
KlapTrap Mar 18, 2019
b910e0f
Post merge fixes
KlapTrap Mar 19, 2019
7535d33
Editor config change
KlapTrap Mar 19, 2019
1f5fcae
Applciation sub nav and sub nav changes
KlapTrap Mar 19, 2019
b73e7eb
Fix compilation issues
nwmac Mar 21, 2019
14983a6
Merge remote-tracking branch 'origin/v2-master' into tabs-layout-change
nwmac Mar 21, 2019
d65dbaa
Merge branch 'fix-unknown-endpoint-types' into tabs-layout-change
nwmac Mar 21, 2019
e161c6e
Fix for endpoint favorite card when endpoint type is not known
nwmac Mar 21, 2019
7fcda8c
Add support for icon mode and a few tidy ups
nwmac Mar 21, 2019
c7bd4df
Various fixes and tweaks
nwmac Mar 22, 2019
607e948
Merge remote-tracking branch 'origin/v2-master' into navigation-change
nwmac Mar 25, 2019
1320c8a
Fix code climate issues
nwmac Mar 25, 2019
fe6d254
Fix lint issue
nwmac Mar 25, 2019
83f636a
PR feedback fixes
nwmac Mar 27, 2019
96e7753
PR Fixes
nwmac Mar 27, 2019
91e61f5
Remove warning on startup
richard-cox Mar 27, 2019
c4b39e6
Changes following review
richard-cox Mar 27, 2019
95edbcc
Temp fix for tables with cells that use `white-space: nowrap;` and ha…
richard-cox Mar 28, 2019
7109d51
Fix delete space on space page
richard-cox Apr 1, 2019
09122ca
Merge remote-tracking branch 'origin/v2-master' into navigation-change
richard-cox Apr 8, 2019
926b7e2
Add delay to side nav slide out
richard-cox Apr 9, 2019
b69cc87
Add side nav icon for new user service tab
richard-cox Apr 9, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update icons for all CF side navs
  • Loading branch information
KlapTrap committed Dec 14, 2018
commit e861a04968ecd5e8f52fd8db7f2b78d81c2cc061
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<app-page-header [breadcrumbs]="breadcrumbs$ | async" [tabs]="tabLinks">
<app-page-header [breadcrumbs]="breadcrumbs$ | async" [tabs]="tabLinks" tabsHeader="Applications">
<h1>{{ (applicationService.application$ | async)?.app?.entity?.name }} </h1>
<div class="page-header-right">
<a class="app-page-header__anchor" mat-icon-button *ngIf="(applicationService.applicationUrl$ | async) != null && (applicationService.application$ | async)?.app.entity.state === 'STARTED'"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import { EntityService } from '../../../../core/entity-service';
import { ConfirmationDialogConfig } from '../../../../shared/components/confirmation-dialog.config';
import { ConfirmationDialogService } from '../../../../shared/components/confirmation-dialog.service';
import { IHeaderBreadcrumb } from '../../../../shared/components/page-header/page-header.types';
import { ISubHeaderTabs } from '../../../../shared/components/page-subheader/page-subheader.types';
import { ENTITY_SERVICE } from '../../../../shared/entity.tokens';
import { AppMetadataTypes, GetAppStatsAction, GetAppSummaryAction } from '../../../../store/actions/app-metadata.actions';
import { ResetPagination } from '../../../../store/actions/pagination.actions';
Expand All @@ -32,6 +31,7 @@ import {
getActionsFromExtensions,
StratosActionType
} from '../../../../core/extension/extension-service';
import { IPageSideNavTab } from '../../../dashboard/page-side-nav/page-side-nav.component';

// Confirmation dialogs
const appStopConfirmation = new ConfirmationDialogConfig(
Expand Down Expand Up @@ -129,15 +129,15 @@ export class ApplicationTabsBaseComponent implements OnInit, OnDestroy {
autoRefreshing$ = this.entityService.updatingSection$.pipe(map(
update => update[this.autoRefreshString] || { busy: false }
));

tabLinks: ISubHeaderTabs[] = [
{ link: 'summary', label: 'Summary' },
{ link: 'instances', label: 'Instances' },
{ link: 'routes', label: 'Routes' },
{ link: 'log-stream', label: 'Log Stream' },
{ link: 'services', label: 'Services' },
{ link: 'variables', label: 'Variables' },
{ link: 'events', label: 'Events' }
header = 'Applications';
tabLinks: IPageSideNavTab[] = [
{ link: 'summary', label: 'Summary', matIcon: 'description' },
{ link: 'instances', label: 'Instances', matIcon: 'library_books' },
{ link: 'routes', label: 'Routes', matIconFont: 'stratos-icons', matIcon: 'network_route' },
{ link: 'log-stream', label: 'Log Stream', matIcon: 'featured_play_list' },
{ link: 'services', label: 'Services', matIconFont: 'stratos-icons', matIcon: 'service' },
{ link: 'variables', label: 'Variables', matIcon: 'lock' },
{ link: 'events', label: 'Events', matIcon: 'watch_later' }
];

private getBreadcrumbs(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import { Component } from '@angular/core';
import { Observable } from 'rxjs';
import { first, map } from 'rxjs/operators';

import { IHeaderBreadcrumb } from '../../../../../../shared/components/page-header/page-header.types';
import { ISubHeaderTabs } from '../../../../../../shared/components/page-subheader/page-subheader.types';
import { entityFactory, metricSchemaKey } from '../../../../../../store/helpers/entity-factory';
import { IPageSideNavTab } from '../../../../../dashboard/page-side-nav/page-side-nav.component';
import { getActiveRouteCfCellProvider } from '../../../../cf.helpers';
import { CloudFoundryEndpointService } from '../../../../services/cloud-foundry-endpoint.service';
import { CloudFoundryCellService } from '../cloud-foundry-cell.service';
import { CfUserService } from '../../../../../../shared/data-services/cf-user.service';


@Component({
selector: 'app-cloud-foundry-cell-base',
Expand All @@ -23,10 +22,11 @@ export class CloudFoundryCellBaseComponent {

static AppsLinks = 'apps';

tabLinks: ISubHeaderTabs[] = [
tabLinks: IPageSideNavTab[] = [
{
link: 'summary',
label: 'Summary'
label: 'Summary',
matIcon: 'description'
},
{
link: 'charts',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
<app-page-header [breadcrumbs]="breadcrumbs$ | async" [tabs]="tabLinks">
<app-page-header [breadcrumbs]="breadcrumbs$ | async" [tabs]="tabLinks" tabsHeader="Organization">
<h1> {{ name$ | async }}</h1>
<div class="page-header-right">
<button mat-icon-button name="edit-org" *appUserPermission="permsOrgEdit;endpointGuid:cfEndpointService.cfGuid"
routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/edit-org"
matTooltip="Edit Organization">
<mat-icon>mode_edit</mat-icon>
</button>
<button mat-icon-button name="add-space" *appUserPermission="permsSpaceCreate;endpointGuid:cfEndpointService.cfGuid;organizationGuid:cfOrgService.orgGuid"
routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/add-space"
matTooltip="Create Space">
<mat-icon>add</mat-icon>
</button>
<button mat-icon-button name="user-management" *ngIf="canUpdateRoles$ | async" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/users/manage"
matTooltip="Manage Users">
<mat-icon>people</mat-icon>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
import { Component } from '@angular/core';
import { Observable } from 'rxjs';
import { filter, first, map } from 'rxjs/operators';

import { environment } from '../../../../../../environments/environment';
import { CurrentUserPermissionsChecker } from '../../../../../core/current-user-permissions.checker';
import { CurrentUserPermissions } from '../../../../../core/current-user-permissions.config';
import { CurrentUserPermissionsService } from '../../../../../core/current-user-permissions.service';
import {
getActionsFromExtensions,
getTabsFromExtensions,
StratosActionMetadata,
StratosActionType,
StratosTabType
} from '../../../../../core/extension/extension-service';
import { IHeaderBreadcrumb } from '../../../../../shared/components/page-header/page-header.types';
import { ISubHeaderTabs } from '../../../../../shared/components/page-subheader/page-subheader.types';
import { CfUserService } from '../../../../../shared/data-services/cf-user.service';
import { entityFactory, EntitySchema, organizationSchemaKey } from '../../../../../store/helpers/entity-factory';
import { IPageSideNavTab } from '../../../../dashboard/page-side-nav/page-side-nav.component';
import { canUpdateOrgSpaceRoles, getActiveRouteCfOrgSpaceProvider } from '../../../cf.helpers';
import { CloudFoundryEndpointService } from '../../../services/cloud-foundry-endpoint.service';
import { CloudFoundryOrganizationService } from '../../../services/cloud-foundry-organization.service';
import {
getTabsFromExtensions,
StratosTabType,
StratosActionMetadata,
getActionsFromExtensions,
StratosActionType
} from '../../../../../core/extension/extension-service';


@Component({
selector: 'app-cloud-foundry-organization-base',
Expand All @@ -34,18 +34,21 @@ import {
})
export class CloudFoundryOrganizationBaseComponent {

tabLinks: ISubHeaderTabs[] = [
tabLinks: IPageSideNavTab[] = [
{
link: 'summary',
label: 'Summary'
label: 'Summary',
matIcon: 'description'
},
{
link: 'spaces',
label: 'Spaces'
label: 'Spaces',
matIcon: 'language'
},
{
link: 'users',
label: 'Users',
matIcon: 'people'
}
];

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
<app-page-sub-nav>
<button mat-button name="add-space" *appUserPermission="permsSpaceCreate;endpointGuid:cfEndpointService.cfGuid;organizationGuid:cfOrgService.orgGuid"
routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/add-space"
matTooltip="Create Space">
<mat-icon>add</mat-icon> Create
</button>
</app-page-sub-nav>

<div class="spaces-list">
<app-list></app-list>
</div>
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ import {
CfSpacesListConfigService,
} from '../../../../../shared/components/list/list-types/cf-spaces/cf-spaces-list-config.service';
import { ListConfig } from '../../../../../shared/components/list/list.component.types';
import { CurrentUserPermissions } from '../../../../../core/current-user-permissions.config';
import { CloudFoundryEndpointService } from '../../../services/cloud-foundry-endpoint.service';
import { CloudFoundryOrganizationService } from '../../../services/cloud-foundry-organization.service';
import { CurrentUserPermissionsService } from '../../../../../core/current-user-permissions.service';

@Component({
selector: 'app-cloud-foundry-organization-spaces',
Expand All @@ -16,4 +20,12 @@ import { ListConfig } from '../../../../../shared/components/list/list.component
}
]
})
export class CloudFoundryOrganizationSpacesComponent { }
export class CloudFoundryOrganizationSpacesComponent {
public permsSpaceCreate = CurrentUserPermissions.SPACE_CREATE;
constructor(
public cfEndpointService: CloudFoundryEndpointService,
public cfOrgService: CloudFoundryOrganizationService
) {

}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<app-page-header [breadcrumbs]="breadcrumbs$ | async" [tabs]="tabLinks">
<app-page-header [breadcrumbs]="breadcrumbs$ | async" [tabs]="tabLinks" tabsHeader="Space">
<h1> {{ name$ | async }}</h1>
<div class="page-header-right">
<button mat-icon-button name="rename" *appUserPermission="permsSpaceEdit;endpointGuid:cfOrgService.cfGuid;organizationGuid:cfOrgService.orgGuid;spaceGuid:cfSpaceService.spaceGuid"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import {
getActionsFromExtensions,
StratosActionType
} from '../../../../../../core/extension/extension-service';
import { IPageSideNavTab } from '../../../../../dashboard/page-side-nav/page-side-nav.component';

@Component({
selector: 'app-cloud-foundry-space-base',
Expand All @@ -38,26 +39,33 @@ import {
})
export class CloudFoundrySpaceBaseComponent implements OnDestroy {

tabLinks = [
tabLinks: IPageSideNavTab[] = [
{
link: 'summary',
label: 'Summary',
matIcon: 'description'
},
{
link: 'apps',
label: 'Applications',
matIcon: 'apps'
},
{
link: 'service-instances',
label: 'Service Instances'
label: 'Services',
matIconFont: 'stratos-icons',
matIcon: 'service'
},
{
link: 'routes',
label: 'Routes',
matIconFont: 'stratos-icons',
matIcon: 'network_route'
},
{
link: 'users',
label: 'Users',
matIcon: 'people'
}
];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@
font-weight: bold;
height: 60px;
opacity: .6;
padding: 0 20px;
padding: 0 25px;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import { Component } from '@angular/core';
import { Store } from '@ngrx/store';
import { Observable, Subscription } from 'rxjs';
import { map, publishReplay, refCount } from 'rxjs/operators';

import { CurrentUserPermissions } from '../../../core/current-user-permissions.config';
import { IHeaderBreadcrumb } from '../../../shared/components/page-header/page-header.types';
import { ISubHeaderTabs } from '../../../shared/components/page-subheader/page-subheader.types';
import { AppState } from '../../../store/app-state';
import { IPageSideNavTab } from '../../dashboard/page-side-nav/page-side-nav.component';
import { ServicesService } from '../services.service';
import { CurrentUserPermissions } from '../../../core/current-user-permissions.config';


@Component({
selector: 'app-service-tabs-base',
Expand All @@ -20,10 +20,11 @@ export class ServiceTabsBaseComponent {
hasVisiblePlans$: Observable<boolean>;
servicesSubscription: Subscription;

tabLinks: ISubHeaderTabs[] = [
tabLinks: IPageSideNavTab[] = [
{
link: 'summary',
label: 'Summary'
label: 'Summary',
matIcon: 'description'
},
{
link: 'instances',
Expand Down