2015-02-05 21:33:57 -05:00
|
|
|
import {int, isBlank} from 'angular2/src/facade/lang';
|
2015-02-27 17:50:06 -05:00
|
|
|
import {DOM} from 'angular2/src/dom/dom_adapter';
|
2015-02-05 21:33:57 -05:00
|
|
|
import {MapWrapper} from 'angular2/src/facade/collection';
|
|
|
|
|
|
|
|
import {Parser, Lexer, ChangeDetector, ChangeDetection}
|
|
|
|
from 'angular2/change_detection';
|
2015-02-16 08:55:00 -05:00
|
|
|
import {ExceptionHandler} from 'angular2/src/core/exception_handler';
|
2015-02-13 20:30:56 -05:00
|
|
|
import {
|
2015-03-10 15:30:50 -04:00
|
|
|
bootstrap, Component, Viewport, Template, ViewContainer, Compiler, onChange, NgElement, Decorator
|
2015-02-13 20:30:56 -05:00
|
|
|
} from 'angular2/angular2';
|
2015-03-11 14:57:21 -04:00
|
|
|
import {reflector} from 'angular2/src/reflection/reflection';
|
2015-02-05 21:33:57 -05:00
|
|
|
import {CompilerCache} from 'angular2/src/core/compiler/compiler';
|
|
|
|
import {DirectiveMetadataReader} from 'angular2/src/core/compiler/directive_metadata_reader';
|
2015-03-10 15:30:50 -04:00
|
|
|
import {ShadowDomStrategy, NativeShadowDomStrategy, EmulatedUnscopedShadowDomStrategy} from 'angular2/src/core/compiler/shadow_dom_strategy';
|
|
|
|
import {Content} from 'angular2/src/core/compiler/shadow_dom_emulation/content_tag';
|
|
|
|
import {DestinationLightDom} from 'angular2/src/core/compiler/shadow_dom_emulation/light_dom';
|
2015-02-05 21:33:57 -05:00
|
|
|
import {TemplateLoader} from 'angular2/src/core/compiler/template_loader';
|
2015-02-12 08:44:59 -05:00
|
|
|
import {TemplateResolver} from 'angular2/src/core/compiler/template_resolver';
|
2015-02-05 21:33:57 -05:00
|
|
|
import {LifeCycle} from 'angular2/src/core/life_cycle/life_cycle';
|
2015-02-05 23:47:30 -05:00
|
|
|
import {XHR} from 'angular2/src/core/compiler/xhr/xhr';
|
|
|
|
import {XHRImpl} from 'angular2/src/core/compiler/xhr/xhr_impl';
|
2015-02-24 10:05:45 -05:00
|
|
|
import {UrlResolver} from 'angular2/src/core/compiler/url_resolver';
|
|
|
|
import {StyleUrlResolver} from 'angular2/src/core/compiler/style_url_resolver';
|
|
|
|
import {ComponentUrlMapper} from 'angular2/src/core/compiler/component_url_mapper';
|
|
|
|
import {StyleInliner} from 'angular2/src/core/compiler/style_inliner';
|
2015-03-02 09:02:48 -05:00
|
|
|
import {CssProcessor} from 'angular2/src/core/compiler/css_processor';
|
2015-02-05 21:33:57 -05:00
|
|
|
|
2015-02-04 16:27:31 -05:00
|
|
|
import {If, Foreach} from 'angular2/directives';
|
2015-02-05 21:33:57 -05:00
|
|
|
import {App, setupReflectorForApp} from './app';
|
|
|
|
import {ScrollAreaComponent, setupReflectorForScrollArea} from './scroll_area';
|
|
|
|
import {ScrollItemComponent, setupReflectorForScrollItem} from './scroll_item';
|
|
|
|
import {CompanyNameComponent, OpportunityNameComponent, OfferingNameComponent,
|
|
|
|
AccountCellComponent, StageButtonsComponent, FormattedCellComponent,
|
|
|
|
setupReflectorForCells}
|
|
|
|
from './cells';
|
|
|
|
|
|
|
|
export function main() {
|
|
|
|
setupReflector();
|
|
|
|
bootstrap(App);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function setupReflector() {
|
|
|
|
setupReflectorForAngular();
|
|
|
|
setupReflectorForApp();
|
|
|
|
setupReflectorForScrollArea();
|
|
|
|
setupReflectorForScrollItem();
|
|
|
|
setupReflectorForCells();
|
|
|
|
|
|
|
|
// TODO: the transpiler is not able to compiles templates used as keys
|
|
|
|
var evt = `$event`;
|
|
|
|
|
|
|
|
reflector.registerGetters({
|
|
|
|
'scrollAreas': (o) => o.scrollAreas,
|
|
|
|
'length': (o) => o.length,
|
2015-02-12 17:56:41 -05:00
|
|
|
'iterableChanges': (o) => o.iterableChanges,
|
2015-02-05 21:33:57 -05:00
|
|
|
'scrollArea': (o) => o.scrollArea,
|
|
|
|
'item': (o) => o.item,
|
|
|
|
'visibleItems': (o) => o.visibleItems,
|
|
|
|
'condition': (o) => o.condition,
|
|
|
|
'width': (o) => o.width,
|
|
|
|
'value': (o) => o.value,
|
|
|
|
'href': (o) => o.href,
|
|
|
|
'company': (o) => o.company,
|
|
|
|
'formattedValue': (o) => o.formattedValue,
|
|
|
|
'name': (o) => o.name,
|
|
|
|
'style': (o) => o.style,
|
|
|
|
'offering': (o) => o.offering,
|
|
|
|
'account': (o) => o.account,
|
|
|
|
'accountId': (o) => o.accountId,
|
|
|
|
'companyNameWidth': (o) => o.companyNameWidth,
|
|
|
|
'opportunityNameWidth': (o) => o.opportunityNameWidth,
|
|
|
|
'offeringNameWidth': (o) => o.offeringNameWidth,
|
|
|
|
'accountCellWidth': (o) => o.accountCellWidth,
|
|
|
|
'basePointsWidth': (o) => o.basePointsWidth,
|
|
|
|
'scrollDivStyle': (o) => o.scrollDivStyle,
|
|
|
|
'paddingStyle': (o) => o.paddingStyle,
|
|
|
|
'innerStyle': (o) => o.innerStyle,
|
|
|
|
'opportunity': (o) => o.opportunity,
|
|
|
|
'itemStyle': (o) => o.itemStyle,
|
|
|
|
'dueDateWidth': (o) => o.dueDateWidth,
|
|
|
|
'basePoints': (o) => o.basePoints,
|
|
|
|
'kickerPoints': (o) => o.kickerPoints,
|
|
|
|
'kickerPointsWidth': (o) => o.kickerPointsWidth,
|
|
|
|
'bundles': (o) => o.bundles,
|
|
|
|
'stageButtonsWidth': (o) => o.stageButtonsWidth,
|
|
|
|
'bundlesWidth': (o) => o.bundlesWidth,
|
|
|
|
'disabled': (o) => o.disabled,
|
|
|
|
'isDisabled': (o) => o.isDisabled,
|
|
|
|
'dueDate': (o) => o.dueDate,
|
|
|
|
'endDate': (o) => o.endDate,
|
|
|
|
'aatStatus': (o) => o.aatStatus,
|
|
|
|
'stage': (o) => o.stage,
|
|
|
|
'stages': (o) => o.stages,
|
|
|
|
'aatStatusWidth': (o) => o.aatStatusWidth,
|
|
|
|
'endDateWidth': (o) => o.endDateWidth,
|
|
|
|
evt: (o) => null
|
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerSetters({
|
|
|
|
'scrollAreas': (o, v) => o.scrollAreas = v,
|
|
|
|
'length': (o, v) => o.length = v,
|
|
|
|
'condition': (o, v) => o.condition = v,
|
|
|
|
'scrollArea': (o, v) => o.scrollArea = v,
|
|
|
|
'item': (o, v) => o.item = v,
|
|
|
|
'visibleItems': (o, v) => o.visibleItems = v,
|
2015-02-12 17:56:41 -05:00
|
|
|
'iterableChanges': (o, v) => o.iterableChanges = v,
|
2015-02-05 21:33:57 -05:00
|
|
|
'width': (o, v) => o.width = v,
|
|
|
|
'value': (o, v) => o.value = v,
|
|
|
|
'company': (o, v) => o.company = v,
|
|
|
|
'name': (o, v) => o.name = v,
|
|
|
|
'offering': (o, v) => o.offering = v,
|
|
|
|
'account': (o, v) => o.account = v,
|
|
|
|
'accountId': (o, v) => o.accountId = v,
|
|
|
|
'formattedValue': (o, v) => o.formattedValue = v,
|
|
|
|
'stage': (o, v) => o.stage = v,
|
|
|
|
'stages': (o, v) => o.stages = v,
|
|
|
|
'disabled': (o, v) => o.disabled = v,
|
|
|
|
'isDisabled': (o, v) => o.isDisabled = v,
|
|
|
|
'href': (o, v) => o.href = v,
|
|
|
|
'companyNameWidth': (o, v) => o.companyNameWidth = v,
|
|
|
|
'opportunityNameWidth': (o, v) => o.opportunityNameWidth = v,
|
|
|
|
'offeringNameWidth': (o, v) => o.offeringNameWidth = v,
|
|
|
|
'accountCellWidth': (o, v) => o.accountCellWidth = v,
|
|
|
|
'basePointsWidth': (o, v) => o.basePointsWidth = v,
|
|
|
|
'scrollDivStyle': (o, v) => o.scrollDivStyle = v,
|
|
|
|
'paddingStyle': (o, v) => o.paddingStyle = v,
|
|
|
|
'innerStyle': (o, v) => o.innerStyle = v,
|
|
|
|
'opportunity': (o, v) => o.opportunity = v,
|
|
|
|
'itemStyle': (o, v) => o.itemStyle = v,
|
|
|
|
'basePoints': (o, v) => o.basePoints = v,
|
|
|
|
'kickerPoints': (o, v) => o.kickerPoints = v,
|
|
|
|
'kickerPointsWidth': (o, v) => o.kickerPointsWidth = v,
|
|
|
|
'stageButtonsWidth': (o, v) => o.stageButtonsWidth = v,
|
|
|
|
'dueDate': (o, v) => o.dueDate = v,
|
|
|
|
'dueDateWidth': (o, v) => o.dueDateWidth = v,
|
|
|
|
'endDate': (o, v) => o.endDate = v,
|
|
|
|
'endDateWidth': (o, v) => o.endDate = v,
|
|
|
|
'aatStatus': (o, v) => o.aatStatus = v,
|
|
|
|
'aatStatusWidth': (o, v) => o.aatStatusWidth = v,
|
|
|
|
'bundles': (o, v) => o.bundles = v,
|
|
|
|
'bundlesWidth': (o, v) => o.bundlesWidth = v,
|
|
|
|
evt: (o, v) => null,
|
|
|
|
'style': (o, m) => {
|
|
|
|
//if (isBlank(m)) return;
|
|
|
|
// HACK
|
|
|
|
MapWrapper.forEach(m, function(v, k) {
|
|
|
|
o.style.setProperty(k, v);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerMethods({
|
|
|
|
'onScroll': (o, args) => {
|
|
|
|
// HACK
|
|
|
|
o.onScroll(args[0]);
|
|
|
|
},
|
|
|
|
'setStage': (o, args) => o.setStage(args[0])
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
export function setupReflectorForAngular() {
|
2015-02-04 16:27:31 -05:00
|
|
|
reflector.registerType(If, {
|
|
|
|
'factory': (vp) => new If(vp),
|
2015-02-12 05:54:22 -05:00
|
|
|
'parameters': [[ViewContainer]],
|
|
|
|
'annotations' : [new Viewport({
|
2015-02-04 16:27:31 -05:00
|
|
|
selector: '[if]',
|
2015-02-05 21:33:57 -05:00
|
|
|
bind: {
|
2015-02-17 15:55:18 -05:00
|
|
|
'condition': 'if'
|
2015-02-05 21:33:57 -05:00
|
|
|
}
|
|
|
|
})]
|
|
|
|
});
|
|
|
|
|
2015-02-04 16:27:31 -05:00
|
|
|
reflector.registerType(Foreach, {
|
|
|
|
'factory': (vp) => new Foreach(vp),
|
2015-02-12 05:54:22 -05:00
|
|
|
'parameters': [[ViewContainer]],
|
|
|
|
'annotations' : [new Viewport({
|
2015-02-04 16:27:31 -05:00
|
|
|
selector: '[foreach]',
|
2015-02-05 21:33:57 -05:00
|
|
|
bind: {
|
2015-02-19 20:47:25 -05:00
|
|
|
'iterableChanges': 'in | iterableDiff'
|
2015-02-05 21:33:57 -05:00
|
|
|
}
|
|
|
|
})]
|
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerType(Compiler, {
|
2015-02-12 08:44:59 -05:00
|
|
|
"factory": (changeDetection, templateLoader, reader, parser, compilerCache, shadowDomStrategy,
|
2015-03-02 09:02:48 -05:00
|
|
|
tplResolver, cmpUrlMapper, urlResolver, cssProcessor) =>
|
2015-02-12 08:44:59 -05:00
|
|
|
new Compiler(changeDetection, templateLoader, reader, parser, compilerCache, shadowDomStrategy,
|
2015-03-02 09:02:48 -05:00
|
|
|
tplResolver, cmpUrlMapper, urlResolver, cssProcessor),
|
2015-02-05 23:47:30 -05:00
|
|
|
"parameters": [[ChangeDetection], [TemplateLoader], [DirectiveMetadataReader], [Parser],
|
2015-02-24 10:05:45 -05:00
|
|
|
[CompilerCache], [ShadowDomStrategy], [TemplateResolver], [ComponentUrlMapper],
|
2015-03-02 09:02:48 -05:00
|
|
|
[UrlResolver], [CssProcessor]],
|
2015-02-05 23:47:30 -05:00
|
|
|
"annotations": []
|
2015-02-05 21:33:57 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerType(CompilerCache, {
|
|
|
|
'factory': () => new CompilerCache(),
|
|
|
|
'parameters': [],
|
|
|
|
'annotations': []
|
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerType(Parser, {
|
|
|
|
'factory': (lexer) => new Parser(lexer),
|
|
|
|
'parameters': [[Lexer]],
|
|
|
|
'annotations': []
|
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerType(TemplateLoader, {
|
2015-02-24 10:05:45 -05:00
|
|
|
"factory": (xhr, urlResolver) => new TemplateLoader(xhr, urlResolver),
|
|
|
|
"parameters": [[XHR], [UrlResolver]],
|
2015-02-05 23:47:30 -05:00
|
|
|
"annotations": []
|
|
|
|
});
|
|
|
|
|
2015-02-12 08:44:59 -05:00
|
|
|
reflector.registerType(TemplateResolver, {
|
|
|
|
"factory": () => new TemplateResolver(),
|
|
|
|
"parameters": [],
|
|
|
|
"annotations": []
|
|
|
|
});
|
|
|
|
|
2015-02-05 23:47:30 -05:00
|
|
|
reflector.registerType(XHR, {
|
|
|
|
"factory": () => new XHRImpl(),
|
|
|
|
"parameters": [],
|
|
|
|
"annotations": []
|
2015-02-05 21:33:57 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerType(DirectiveMetadataReader, {
|
|
|
|
'factory': () => new DirectiveMetadataReader(),
|
|
|
|
'parameters': [],
|
|
|
|
'annotations': []
|
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerType(Lexer, {
|
|
|
|
'factory': () => new Lexer(),
|
|
|
|
'parameters': [],
|
|
|
|
'annotations': []
|
|
|
|
});
|
|
|
|
|
2015-02-16 08:55:00 -05:00
|
|
|
reflector.registerType(ExceptionHandler, {
|
|
|
|
"factory": () => new ExceptionHandler(),
|
|
|
|
"parameters": [],
|
|
|
|
"annotations": []
|
|
|
|
});
|
|
|
|
|
2015-02-05 21:33:57 -05:00
|
|
|
reflector.registerType(LifeCycle, {
|
2015-02-16 08:55:00 -05:00
|
|
|
"factory": (exHandler, cd) => new LifeCycle(exHandler, cd),
|
2015-02-25 10:30:30 -05:00
|
|
|
"parameters": [[ExceptionHandler], [ChangeDetector]],
|
2015-02-05 21:33:57 -05:00
|
|
|
"annotations": []
|
|
|
|
});
|
2015-02-05 23:47:30 -05:00
|
|
|
|
|
|
|
reflector.registerType(ShadowDomStrategy, {
|
2015-02-24 10:05:45 -05:00
|
|
|
"factory": (strategy) => strategy,
|
|
|
|
"parameters": [[NativeShadowDomStrategy]],
|
|
|
|
"annotations": []
|
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerType(NativeShadowDomStrategy, {
|
|
|
|
"factory": (styleUrlResolver) => new NativeShadowDomStrategy(styleUrlResolver),
|
|
|
|
"parameters": [[StyleUrlResolver]],
|
|
|
|
"annotations": []
|
|
|
|
});
|
|
|
|
|
2015-03-10 15:30:50 -04:00
|
|
|
reflector.registerType(EmulatedUnscopedShadowDomStrategy, {
|
|
|
|
"factory": (styleUrlResolver) => new EmulatedUnscopedShadowDomStrategy(styleUrlResolver, null),
|
|
|
|
"parameters": [[StyleUrlResolver]],
|
|
|
|
"annotations": []
|
|
|
|
});
|
|
|
|
|
2015-02-24 10:05:45 -05:00
|
|
|
reflector.registerType(StyleUrlResolver, {
|
|
|
|
"factory": (urlResolver) => new StyleUrlResolver(urlResolver),
|
|
|
|
"parameters": [[UrlResolver]],
|
|
|
|
"annotations": []
|
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerType(UrlResolver, {
|
|
|
|
"factory": () => new UrlResolver(),
|
|
|
|
"parameters": [],
|
|
|
|
"annotations": []
|
|
|
|
});
|
|
|
|
|
|
|
|
reflector.registerType(ComponentUrlMapper, {
|
|
|
|
"factory": () => new ComponentUrlMapper(),
|
2015-02-05 23:47:30 -05:00
|
|
|
"parameters": [],
|
|
|
|
"annotations": []
|
|
|
|
});
|
|
|
|
|
2015-03-10 15:30:50 -04:00
|
|
|
reflector.registerType(Content, {
|
|
|
|
"factory": (lightDom, el) => new Content(lightDom, el),
|
|
|
|
"parameters": [[DestinationLightDom], [NgElement]],
|
|
|
|
"annotations" : [new Decorator({selector: '[content]'})]
|
|
|
|
});
|
|
|
|
|
2015-02-24 10:05:45 -05:00
|
|
|
reflector.registerType(StyleInliner, {
|
2015-02-26 11:08:37 -05:00
|
|
|
"factory": (xhr, styleUrlResolver, urlResolver) =>
|
|
|
|
new StyleInliner(xhr, styleUrlResolver, urlResolver),
|
|
|
|
"parameters": [[XHR], [StyleUrlResolver], [UrlResolver]],
|
2015-02-24 10:05:45 -05:00
|
|
|
"annotations": []
|
|
|
|
});
|
2015-03-02 09:02:48 -05:00
|
|
|
|
|
|
|
reflector.registerType(CssProcessor, {
|
2015-03-03 05:32:19 -05:00
|
|
|
"factory": () => new CssProcessor(null),
|
2015-03-02 09:02:48 -05:00
|
|
|
"parameters": [],
|
|
|
|
"annotations": []
|
|
|
|
});
|
2015-02-05 21:33:57 -05:00
|
|
|
}
|