using decorators to write AngularJS in nearly identical syntax to Angular 2

This commit is contained in:
alecmerdler 2017-02-17 02:55:52 -08:00 committed by Joseph Schorr
parent 8e863b8cf5
commit c60ce4a696
19 changed files with 559 additions and 488 deletions

View file

@ -0,0 +1,45 @@
import { Injectable } from 'angular-ts-decorators';
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;
}
}