Skip to content
This repository has been archived by the owner on Nov 21, 2024. It is now read-only.

Commit

Permalink
fix(errors): Add guards to frames and fix work with mock items on grid
Browse files Browse the repository at this point in the history
  • Loading branch information
EndyKaufman committed Oct 20, 2017
1 parent c59df90 commit 658171c
Show file tree
Hide file tree
Showing 36 changed files with 246 additions and 188 deletions.
3 changes: 2 additions & 1 deletion apps/demo/src/app/pages/account-page/account-page.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ export const children = [
{
path: 'profile',
loadChildren: './profile-frame/profile-frame.module#DemoProfileFrameModule',
data: DemoProfileFrameRoutes[0].data
data: DemoProfileFrameRoutes[0].data,
canActivate: [AuthGuardService]
}
];
export const DemoAccountPageRoutes: Routes = [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { Routes } from '@angular/router';
import { translate } from '@rucken/core';
import { ProfileFrameComponent } from '@rucken/web';
import { AuthGuardService } from '@rucken/web';

export const DemoProfileFrameRoutes: Routes = [
{
Expand All @@ -10,6 +11,7 @@ export const DemoProfileFrameRoutes: Routes = [
name: 'profile',
title: translate('Profile'),
visible: true
}
},
canActivate: [AuthGuardService]
}
];
6 changes: 4 additions & 2 deletions apps/demo/src/app/pages/admin-page/admin-page.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ export const children = [
{
path: 'users',
loadChildren: './users-frame/users-frame.module#DemoUsersFrameModule',
data: DemoUsersFrameRoutes[0].data
data: DemoUsersFrameRoutes[0].data,
canActivate: [AuthGuardService]
},
{
path: 'groups',
loadChildren: './groups-frame/groups-frame.module#DemoGroupsFrameModule',
data: DemoGroupsFrameRoutes[0].data
data: DemoGroupsFrameRoutes[0].data,
canActivate: [AuthGuardService]
}
];
export const DemoAdminPageRoutes: Routes = [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { Routes } from '@angular/router';
import { translate } from '@rucken/core';
import { GroupsFrameComponent } from '@rucken/web';
import { AuthGuardService } from '@rucken/web';

export const DemoGroupsFrameRoutes: Routes = [
{
Expand All @@ -10,6 +11,7 @@ export const DemoGroupsFrameRoutes: Routes = [
name: 'groups',
title: translate('Groups'),
visible: true
}
},
canActivate: [AuthGuardService]
}
];
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { Routes } from '@angular/router';
import { translate } from '@rucken/core';
import { UsersFrameComponent } from '@rucken/web';
import { AuthGuardService } from '@rucken/web';

export const DemoUsersFrameRoutes: Routes = [
{
Expand All @@ -10,6 +11,7 @@ export const DemoUsersFrameRoutes: Routes = [
name: 'users',
title: translate('Users'),
visible: true
}
},
canActivate: [AuthGuardService]
}
];
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ export const children = [
{
path: 'controls',
loadChildren: './controls-frame/controls-frame.module#DemoControlsFrameModule',
data: DemoControlsFrameRoutes[0].data
data: DemoControlsFrameRoutes[0].data,
canActivate: [AuthGuardService]
}
];
export const DemoComponentsPageRoutes: Routes = [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { Routes } from '@angular/router';
import { translate } from '@rucken/core';
import { ControlsFrameComponent } from '@rucken/web';
import { AuthGuardService } from '@rucken/web';

export const DemoControlsFrameRoutes: Routes = [
{
Expand All @@ -10,6 +11,7 @@ export const DemoControlsFrameRoutes: Routes = [
name: 'controls',
title: translate('Controls'),
visible: true
}
},
canActivate: [AuthGuardService]
}
];
6 changes: 3 additions & 3 deletions libs/core/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,14 @@ import { inValues } from './shared/utils/utils';
export { inValues } from './shared/utils/utils';
import { BaseResourceModel } from './shared/base/models/base-resource.model';
export { BaseResourceModel } from './shared/base/models/base-resource.model';
import { BaseRemoteRepositoryService } from './shared/base/services/base-remote-repository.service';
export { BaseRemoteRepositoryService } from './shared/base/services/base-remote-repository.service';
import { BaseLocalRepositoryService } from './shared/base/services/base-local-repository.service';
export { BaseLocalRepositoryService } from './shared/base/services/base-local-repository.service';
import { BaseRemoteRepositoryService } from './shared/base/services/base-remote-repository.service';
export { BaseRemoteRepositoryService } from './shared/base/services/base-remote-repository.service';
import { BaseRepositoryService } from './shared/base/services/base-repository.service';
export { BaseRepositoryService } from './shared/base/services/base-repository.service';
export const RuckenCoreModules: any[] = [];
export const RuckenCoreComponents: any[] = [];
export const RuckenCoreShareds: any[] = [RuckenCoreRuI18n, EndpointStatusEnum, EndpointHelper, HttpHelper, RepositoryHelper, FontawesomeItemsMock, ThemeItemsMock, ContentType, Fontawesome, GroupPermission, Group, MetaModel, Permission, Theme, UserGroup, User, translate, isJson, inValues, BaseResourceModel];
export const RuckenCoreServices: any[] = [AccountService, AppService, ContentTypesService, FontawesomeService, GroupPermissionsService, GroupsService, PermissionsService, ThemesService, UserGroupsService, UsersService, BaseRemoteRepositoryService, BaseLocalRepositoryService, BaseRepositoryService];
export const RuckenCoreServices: any[] = [AccountService, AppService, ContentTypesService, FontawesomeService, GroupPermissionsService, GroupsService, PermissionsService, ThemesService, UserGroupsService, UsersService, BaseLocalRepositoryService, BaseRemoteRepositoryService, BaseRepositoryService];
export const RuckenCorePipes: any[] = [];
28 changes: 28 additions & 0 deletions libs/core/src/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion libs/core/src/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@
"lodash": "*",
"moment": "*"
}
}
}
10 changes: 8 additions & 2 deletions libs/web/src/base/base-app/base-app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import 'moment/locale/ru';

import { Component, ComponentFactoryResolver, EventEmitter, ViewContainerRef, ViewEncapsulation } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import { AppService } from '@rucken/core';
import { RuckenCoreRuI18n } from '@rucken/core';
import { translate } from '@rucken/core';
import { RuckenCoreRuI18n } from '@rucken/core';
import { AppService } from '@rucken/core';
import * as _ from 'lodash';
import * as moment from 'moment/moment';

Expand Down Expand Up @@ -34,6 +34,7 @@ export class BaseAppComponent extends BaseComponent {
currentLang: string = null;
defaultLang = 'en';
autoLoadLang = true;
errorModalOpened = false;

constructor(
public viewContainerRef: ViewContainerRef,
Expand Down Expand Up @@ -74,6 +75,9 @@ export class BaseAppComponent extends BaseComponent {
this.translateService.use(lang);
}
showErrorModal(message: string, title?: string, size?: string): EventEmitter<any> {
if (this.errorModalOpened) {
return new EventEmitter();
}
if (size === undefined) {
size = 'md';
}
Expand All @@ -87,6 +91,8 @@ export class BaseAppComponent extends BaseComponent {
alert.size = size;
alert.buttonText = this.translateService.instant('Close');
alert.modal.show();
this.errorModalOpened = true;
alert.onClose.subscribe(() => this.errorModalOpened = false);
return alert.onClose;
}
showInfoModal(message: string, title?: string, size?: string): EventEmitter<any> {
Expand Down
14 changes: 10 additions & 4 deletions libs/web/src/base/base-app/base-app.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,34 @@ import { AccountPageRoutes } from './../../pages/account-page/account-page.route
import { AdminPageRoutes } from './../../pages/admin-page/admin-page.routes';
import { HomePageRoutes } from './../../pages/home-page/home-page.routes';
import { ThemesPageRoutes } from './../../pages/themes-page/themes-page.routes';
import { HomeGuardService } from '../../guards/home-guard.service';
import { AuthGuardService } from '../../guards/auth-guard.service';

export const BaseRoutes: Routes = [
{ path: '', redirectTo: '/home', pathMatch: 'full' },
{
path: 'home',
loadChildren: './../../pages/home-page/home-page.module#HomePageModule',
data: HomePageRoutes[0].data
data: HomePageRoutes[0].data,
canActivate: [HomeGuardService]
},
{
path: 'themes',
loadChildren: './../../pages/themes-page/themes-page.module#ThemesPageModule',
data: ThemesPageRoutes[0].data
data: ThemesPageRoutes[0].data,
canActivate: [AuthGuardService]
},
{
path: 'admin',
loadChildren: './../../pages/admin-page/admin-page.module#AdminPageModule',
data: AdminPageRoutes[0].data
data: AdminPageRoutes[0].data,
canActivate: [AuthGuardService]
},
{
path: 'account',
loadChildren: './../../pages/account-page/account-page.module#AccountPageModule',
data: AccountPageRoutes[0].data
data: AccountPageRoutes[0].data,
canActivate: [AuthGuardService]
},
{
path: '**',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export class BaseComponent implements OnInit, OnDestroy {
@Input()
text = '';
@Input()
tooltipEnable: boolean;
tooltipEnable?= false;
@Input()
tooltipText = '';
@Input()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export class BaseResourceInputComponent extends BaseComponent {
@Output()
modelAsStringChange: EventEmitter<string> = new EventEmitter<string>();
@Input()
loadAll = false;
loadAll?= false;

items: any[];
cachedResourcesService: any;
Expand Down Expand Up @@ -70,12 +70,12 @@ export class BaseResourceInputComponent extends BaseComponent {
}
afterCreate() {
this.translateService.onLangChange.subscribe(() => this.init());
}
init() {
super.init();
if (this.lookupTooltip === undefined) {
this.lookupTooltip = this.translateService.instant('Select');
}
}
init() {
super.init();
if (this.select && this.loadAll) {
this.search();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@ export class BaseResourceSelectInputComponent extends BaseComponent {
@Input()
hardValue: any = null;
@Input()
select: boolean;
select?: boolean;
@Input()
width: string = null;
@Input()
loadAll = true;
loadAll?= false;

items: any[];
cachedResourcesService: any;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,26 @@ import { BaseComponent } from './../../base/base-component/base-component.compon
export class BaseResourcesGridComponent extends BaseComponent {

@Input()
loadAll?: boolean;
loadAll?= true;
@Output()
onSelectItems: EventEmitter<any[] | any> = new EventEmitter();
@Input()
onEnterEnabled?= false;
onEnterEnabled?= true;
@Output()
onEnter: EventEmitter<any[] | any> = new EventEmitter();
@Input()
readonly: boolean;
readonly?: boolean;
@Input()
hardReadonly = false;
hardReadonly?= true;

modelMeta: any;
items: any[];
mockedItems?: any[];
searchText = '';
selectedItems: any[];
cachedResourcesService: any;
maxSelectCount = 1;
modalIsOpened: boolean;
modalIsOpened?: boolean;

@HostListener('document:keypress', ['$event'])
handleKeyboardEvent(event: KeyboardEvent) {
Expand Down Expand Up @@ -56,17 +57,6 @@ export class BaseResourcesGridComponent extends BaseComponent {
}
return {};
}
set mockedItems(items) {
if (this.cachedResourcesService) {
this.cachedResourcesService.mockedItems = items;
}
}
get mockedItems() {
if (this.cachedResourcesService) {
return this.cachedResourcesService.mockedItems;
}
return [];
}
get statusListMessage() {
if (!this.cachedResourcesService) {
return '';
Expand Down Expand Up @@ -102,8 +92,6 @@ export class BaseResourcesGridComponent extends BaseComponent {
});
}
super.init();
this.loadAll = this.loadAll === undefined ? true : this.loadAll;

if (this.loadAll) {
this.search();
}
Expand Down Expand Up @@ -138,6 +126,9 @@ export class BaseResourcesGridComponent extends BaseComponent {
const filter: any = {};
if (this.cachedResourcesService) {
this.cachedResourcesService.ignoreCache = ignoreCache;
if (this.mockedItems) {
this.cachedResourcesService.mockedItems = this.mockedItems;
}
this.cachedResourcesService.loadAll(this.searchText, filter);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export class FooterButtonsComponent extends BaseComponent {
@Input()
okTitle = translate('OK');
@Input()
readonly: boolean;
readonly?: boolean;
@Output()
onClose: EventEmitter<boolean | any> = new EventEmitter();
@Output()
Expand Down
1 change: 1 addition & 0 deletions libs/web/src/controls/text-input/text-input.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ export class TextInputComponent extends BaseComponent {
isNativeDateInput?: boolean;
@Input()
startingDay: number;

private _dateValue: any;

constructor(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export class GroupPermissionsGridComponent extends BaseResourcesGridComponent {
@Input()
group: any | Group;
@Input()
readonly: boolean;
readonly?: boolean;
@Input()
hardReadonly = false;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export class UserGroupsGridComponent extends BaseResourcesGridComponent {
@Output()
onSelectItems: EventEmitter<any | UserGroup[] | UserGroup>;
@Input()
readonly: boolean;
readonly?: boolean;
@Input()
hardReadonly = false;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
</div>
<div class="row">
<div class="col-md-12">
<footer-buttons (onClose)="cancel()" (onOk)="save()" [readonly]="readonly" [okTitle]="text" [okInProcess]="okInProcess"></footer-buttons>
<footer-buttons (onClose)="cancel()" (onOk)="ok()" [readonly]="readonly" [okTitle]="text" [okInProcess]="okInProcess"></footer-buttons>
</div>
</div>
</form>
Loading

0 comments on commit 658171c

Please # to comment.