This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/static/js/services/page/page.service.impl.ts
2019-11-12 11:09:47 -05:00

41 lines
1.1 KiB
TypeScript

import { Injectable } from 'ng-metadata/core';
import { PageService, QuayPage, QuayPageProfile } from './page.service';
@Injectable(PageService.name)
export class PageServiceImpl implements ng.IServiceProvider {
private pages: {[pageName: string]: QuayPage} = {};
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: QuayPageProfile[]): [QuayPageProfile, QuayPage] | null {
for (let 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;
}
}