7a352ddfbc
* starting UtilService refactor * pre find-replace angular.module('quay') => angular.module('QuayModule') * successfully switched to ng-metadata for backported Angular2 API * working with parent component reference in child * fixing @Output to use EventEmitter * fixed @Output events for custom git trigger * more fixes * refactored QuayPages module for backwards-compatibility * reinitialized test.db * use minified libraries * replaced references for angular-ts-decorators * fixed ng-show
45 lines
1 KiB
TypeScript
45 lines
1 KiB
TypeScript
import { Injectable } from 'ng-metadata/core';
|
|
import { PageService } from './page.service';
|
|
|
|
|
|
@Injectable(PageService.name)
|
|
export class PageServiceImpl implements ng.IServiceProvider {
|
|
|
|
private pages: any = {};
|
|
|
|
constructor() {
|
|
|
|
}
|
|
|
|
public create(pageName: string,
|
|
templateName: string,
|
|
controller?: any,
|
|
flags: any = {},
|
|
profiles: string[] = ['old-layout', 'layout']): void {
|
|
for (var i = 0; i < profiles.length; ++i) {
|
|
this.pages[profiles[i] + ':' + pageName] = {
|
|
'name': pageName,
|
|
'controller': controller,
|
|
'templateName': templateName,
|
|
'flags': flags
|
|
};
|
|
}
|
|
}
|
|
|
|
public get(pageName: string, profiles: any[]): any[] | null {
|
|
for (var i = 0; i < profiles.length; ++i) {
|
|
var current = profiles[i];
|
|
var key = current.id + ':' + pageName;
|
|
var page = this.pages[key];
|
|
if (page) {
|
|
return [current, page];
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public $get(): PageService {
|
|
return this;
|
|
}
|
|
}
|