
Angular 1.x -> AngularJS Angular 1 -> AngularJS Angular1 -> AngularJS Angular 2+ -> Angular Angular 2.0 -> Angular Angular2 -> Angular I have deliberately not touched any of the symbol names as that would cause big merge collisions with Tobias's work. All the renames are in .md, .json, and inline comments and jsdocs. PR Close #14132
46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
import {PlatformRef, Type} from '@angular/core';
|
|
import * as angular from '@angular/upgrade/src/angular_js';
|
|
import {$ROOT_SCOPE} from '@angular/upgrade/src/aot/constants';
|
|
import {UpgradeModule} from '@angular/upgrade/static';
|
|
|
|
export function bootstrap(
|
|
platform: PlatformRef, Ng2Module: Type<{}>, element: Element, ng1Module: angular.IModule) {
|
|
// We bootstrap the Angular module first; then when it is ready (async)
|
|
// We bootstrap the AngularJS module on the bootstrap element
|
|
return platform.bootstrapModule(Ng2Module).then(ref => {
|
|
const upgrade = ref.injector.get(UpgradeModule) as UpgradeModule;
|
|
upgrade.bootstrap(element, [ng1Module.name]);
|
|
return upgrade;
|
|
});
|
|
}
|
|
|
|
export function digest(adapter: UpgradeModule) {
|
|
const $rootScope = adapter.$injector.get($ROOT_SCOPE) as angular.IRootScopeService;
|
|
$rootScope.$digest();
|
|
}
|
|
|
|
export function html(html: string): Element {
|
|
// Don't return `body` itself, because using it as a `$rootElement` for ng1
|
|
// will attach `$injector` to it and that will affect subsequent tests.
|
|
const body = document.body;
|
|
body.innerHTML = `<div>${html.trim()}</div>`;
|
|
const div = document.body.firstChild as Element;
|
|
|
|
if (div.childNodes.length === 1 && div.firstChild instanceof HTMLElement) {
|
|
return div.firstChild;
|
|
}
|
|
|
|
return div;
|
|
}
|
|
|
|
export function multiTrim(text: string): string {
|
|
return text.replace(/\n/g, '').replace(/\s\s+/g, ' ').trim();
|
|
}
|