Compare commits
3 Commits
2c3c8fbff2
...
46d0f8c060
Author | SHA1 | Date | |
---|---|---|---|
|
46d0f8c060 | ||
|
b46c33d15c | ||
|
d3bc921000 |
@ -198,9 +198,9 @@ export class MapComponent implements OnInit, OnDestroy,AfterViewInit {
|
|||||||
}
|
}
|
||||||
this.stateSetCount += 1;
|
this.stateSetCount += 1;
|
||||||
});
|
});
|
||||||
// setTimeout(() => {
|
setTimeout(() => {
|
||||||
// this.map.instance.updateSize();
|
this.map.instance.updateSize();
|
||||||
// }, 500);
|
}, 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
handleSearchCollapse(event) {
|
handleSearchCollapse(event) {
|
||||||
|
@ -3,6 +3,7 @@ import {RouterModule} from '@angular/router';
|
|||||||
|
|
||||||
import {AuthCallbackComponent} from './components/auth-callback/auth-callback.component';
|
import {AuthCallbackComponent} from './components/auth-callback/auth-callback.component';
|
||||||
import {AuthCallbackGuard} from './components/auth-callback/auth-callback.guard';
|
import {AuthCallbackGuard} from './components/auth-callback/auth-callback.guard';
|
||||||
|
import {NavBarGuard} from './services/nav-bar-guard.service';
|
||||||
import {FullScreenGuard} from './services/full-screen-guard.service';
|
import {FullScreenGuard} from './services/full-screen-guard.service';
|
||||||
import {SessionClearedComponent} from './components/session-cleared/session-cleared.component';
|
import {SessionClearedComponent} from './components/session-cleared/session-cleared.component';
|
||||||
import {NotFoundComponent} from './components/not-found/not-found.component';
|
import {NotFoundComponent} from './components/not-found/not-found.component';
|
||||||
@ -21,16 +22,8 @@ const routes = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '**', component: NotFoundComponent,
|
path: '**', component: NotFoundComponent,
|
||||||
data: {
|
canActivate: [NavBarGuard]
|
||||||
title: '404 - Not found',
|
}
|
||||||
meta: [{name: 'description', content: '404 - Error'}],
|
|
||||||
links: [],
|
|
||||||
// links: [
|
|
||||||
// { rel: 'canonical', href: 'http://blogs.example.com/bootstrap/something' },
|
|
||||||
// { rel: 'alternate', hreflang: 'es', href: 'http://es.example.com/bootstrap-demo' }
|
|
||||||
//]
|
|
||||||
},
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
@ -29,6 +29,7 @@ import { NotImplementedComponent } from './components/not-implemented/not-implem
|
|||||||
import { SidePanelComponent } from './components/side-panel/side-panel.component';
|
import { SidePanelComponent } from './components/side-panel/side-panel.component';
|
||||||
import { TimespanComponent } from './components/timespan/timespan.component';
|
import { TimespanComponent } from './components/timespan/timespan.component';
|
||||||
import { TagInputComponent } from './components/tag-input/tag-input.component';
|
import { TagInputComponent } from './components/tag-input/tag-input.component';
|
||||||
|
import {MenuBackgroundComponent} from './components/menu-background/menu-background.component';
|
||||||
import {IEventMessage } from './models/event.message';
|
import {IEventMessage } from './models/event.message';
|
||||||
import { IItem, Item } from './models/item';
|
import { IItem, Item } from './models/item';
|
||||||
import {IItemType} from './models/item.type';
|
import {IItemType} from './models/item.type';
|
||||||
@ -65,7 +66,8 @@ export {
|
|||||||
commonActions,
|
commonActions,
|
||||||
commonReducers,
|
commonReducers,
|
||||||
IAuthconfigFactory,
|
IAuthconfigFactory,
|
||||||
AuthConfigFactory
|
AuthConfigFactory,
|
||||||
|
MenuBackgroundComponent
|
||||||
};
|
};
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
@ -90,7 +92,8 @@ export {
|
|||||||
ResumableFileUploadComponent,
|
ResumableFileUploadComponent,
|
||||||
TimespanComponent,
|
TimespanComponent,
|
||||||
TagInputComponent,
|
TagInputComponent,
|
||||||
SessionClearedComponent
|
SessionClearedComponent,
|
||||||
|
MenuBackgroundComponent
|
||||||
],
|
],
|
||||||
exports: [
|
exports: [
|
||||||
NgbModule,
|
NgbModule,
|
||||||
@ -106,7 +109,8 @@ export {
|
|||||||
ResumableFileUploadComponent,
|
ResumableFileUploadComponent,
|
||||||
TimespanComponent,
|
TimespanComponent,
|
||||||
TagInputComponent,
|
TagInputComponent,
|
||||||
SessionClearedComponent
|
SessionClearedComponent,
|
||||||
|
MenuBackgroundComponent
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
export class AppCommonModule {
|
export class AppCommonModule {
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
<div class="body">
|
<div class="body">
|
||||||
<router-outlet></router-outlet>
|
<router-outlet></router-outlet>
|
||||||
</div>
|
</div>
|
||||||
|
<fm-menu-background [visible]="menuVisible|async"></fm-menu-background>
|
||||||
<fm-side-panel [visible]="menuVisible|async" [left]="true" class="menu" (click)="handleStopBubble($event)">
|
<fm-side-panel [visible]="menuVisible|async" [left]="true" class="menu" (click)="handleStopBubble($event)">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="body">
|
<div class="body">
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
<div class="menu-background" [ngClass]="{'show':visible}">
|
||||||
|
|
||||||
|
</div>
|
@ -0,0 +1,17 @@
|
|||||||
|
.menu-background {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
top:0;
|
||||||
|
left:0;
|
||||||
|
right:0;
|
||||||
|
bottom:0;
|
||||||
|
opacity: 0;
|
||||||
|
background-color: #000000;
|
||||||
|
transition: opacity 0s ease-out 1s;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-background.show {
|
||||||
|
pointer-events: all;
|
||||||
|
opacity: 0.3;
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
import { Component, OnInit,Input } from '@angular/core';
|
||||||
|
import { Store, Action } from '@ngrx/store';
|
||||||
|
import * as appReducers from '../../reducers/app-common.reducer';
|
||||||
|
import * as commonActions from '../../actions/app-common.actions';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'fm-menu-background',
|
||||||
|
templateUrl: './menu-background.component.html',
|
||||||
|
styleUrls: ['./menu-background.component.scss'],
|
||||||
|
})
|
||||||
|
export class MenuBackgroundComponent implements OnInit {
|
||||||
|
@Input() visible:boolean = false;
|
||||||
|
constructor(private store: Store<appReducers.State>) { }
|
||||||
|
|
||||||
|
ngOnInit() { }
|
||||||
|
|
||||||
|
handleOnClick(event:MouseEvent) {
|
||||||
|
if(this.visible) {
|
||||||
|
this.store.dispatch(new commonActions.SetMenuVisible(false));
|
||||||
|
event.stopPropagation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -26,7 +26,7 @@ export const initialState: State = {
|
|||||||
user:null,
|
user:null,
|
||||||
fullScreen: true,
|
fullScreen: true,
|
||||||
routeLoading: false,
|
routeLoading: false,
|
||||||
menuVisible: true
|
menuVisible: false
|
||||||
}
|
}
|
||||||
|
|
||||||
export function reducer(state = initialState, action: appCommonActions.Actions ): State {
|
export function reducer(state = initialState, action: appCommonActions.Actions ): State {
|
||||||
|
@ -33,6 +33,12 @@ export class ItemTypeService {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hasEditor(item: IItem) {
|
||||||
|
let itemType: string = item.itemType;
|
||||||
|
if (this.itemTypes[itemType]) return this.itemTypes[itemType].editor !== undefined;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
isLayer(item: IItem) {
|
isLayer(item: IItem) {
|
||||||
let itemType: string = item.itemType;
|
let itemType: string = item.itemType;
|
||||||
return itemType == "vnd.farmmaps.itemtype.geotiff.processed" || itemType == "vnd.farmmaps.itemtype.layer" || itemType == "vnd.farmmaps.itemtype.shape.processed";
|
return itemType == "vnd.farmmaps.itemtype.geotiff.processed" || itemType == "vnd.farmmaps.itemtype.layer" || itemType == "vnd.farmmaps.itemtype.shape.processed";
|
||||||
|
@ -6,6 +6,7 @@ import { MapComponent } from '@farmmaps/common-map';
|
|||||||
import { LogoComponent } from './logo/logo.component';
|
import { LogoComponent } from './logo/logo.component';
|
||||||
import { MenuComponent } from './menu/menu.component';
|
import { MenuComponent } from './menu/menu.component';
|
||||||
import {NotImplementedComponent} from '@farmmaps/common';
|
import {NotImplementedComponent} from '@farmmaps/common';
|
||||||
|
import { NavBarGuard } from 'projects/common/src/public-api';
|
||||||
|
|
||||||
export function urlMatcher(url: UrlSegment[]) {
|
export function urlMatcher(url: UrlSegment[]) {
|
||||||
return {consumed:url};
|
return {consumed:url};
|
||||||
@ -29,10 +30,12 @@ const routes = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path:'editor/:type/item/:itemcode',
|
path:'editor/:type/item/:itemcode',
|
||||||
|
canActivate:[NavBarGuard],
|
||||||
component: NotImplementedComponent
|
component: NotImplementedComponent
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path:'viewer/:type/item/:itemcode',
|
path:'viewer/:type/item/:itemcode',
|
||||||
|
canActivate:[NavBarGuard],
|
||||||
component: NotImplementedComponent
|
component: NotImplementedComponent
|
||||||
},
|
},
|
||||||
{ path: 'map', canActivateChild: [AuthGuard],canActivate:[FullScreenGuard], children: [
|
{ path: 'map', canActivateChild: [AuthGuard],canActivate:[FullScreenGuard], children: [
|
||||||
|
Loading…
Reference in New Issue
Block a user