Skip to content
This repository has been archived by the owner on Dec 4, 2017. It is now read-only.

Angular in .NET Core #2850

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions public/docs/_examples/cb-angular-in-dotnet-core/ts/_layout.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<!-- #docregion -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - AngularInDotnetCore</title>
<environment names="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment names="Staging,Production">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
@Html.ApplicationInsightsJavaScript(TelemetryConfiguration)

<!-- 1. Load libraries -->
<!-- Polyfill for older browsers -->
<script src="~/node_modules/core-js/client/shim.min.js"></script>
<script src="~/node_modules/zone.js/dist/zone.js"></script>
<script src="~/node_modules/reflect-metadata/Reflect.js"></script>
<script src="~/node_modules/systemjs/dist/system.src.js"></script>
<!-- 2. Configure SystemJS -->
<script src="~/app/systemjs.config.js"></script>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
</head>
<body>

<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a asp-area="" asp-controller="Home" asp-action="Index" class="navbar-brand">AngularInDotnetCore</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a asp-area="" asp-controller="Home" asp-action="Index">Home</a></li>
<li><a asp-area="" asp-controller="Home" asp-action="About">About</a></li>
<li><a asp-area="" asp-controller="Home" asp-action="Contact">Contact</a></li>
</ul>
</div>
</div>
</div>
<div class="container body-content">
<!-- 3. Bootstrap Angular app-->
<my-app>Loading…</my-app>
@RenderBody()
<hr />
<footer>
<p>&copy; 2016 - AngularInDotnetCore</p>
</footer>
</div>

<environment names="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
</environment>
<environment names="Staging,Production">
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery">
</script>
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/bootstrap.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal">
</script>
<script src="~/js/site.min.js" asp-append-version="true"></script>
</environment>

@RenderSection("scripts", required: false)
</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { CanDeactivateGuard } from './can-deactivate-guard.service';
import { AuthGuard } from './auth-guard.service';
import { PreloadSelectedModules } from './selective-preload-strategy';

// #docregion absolute
const appRoutes: Routes = [
{
path: 'admin',
loadChildren: 'app/admin/admin.module#AdminModule',
canLoad: [AuthGuard]
},
{
path: '',
redirectTo: '/heroes',
pathMatch: 'full'
},
{
path: 'crisis-center',
loadChildren: 'app/crisis-center/crisis-center.module#CrisisCenterModule',
data: {
preload: true
}
}
];
// #enddocregion absolute

// #docregion relative
const appRoutes: Routes = [
{
path: 'admin',
loadChildren: './admin/admin.module#AdminModule',
canLoad: [AuthGuard]
},
{
path: '',
redirectTo: '/heroes',
pathMatch: 'full'
},
{
path: 'crisis-center',
loadChildren: './crisis-center/crisis-center.module#CrisisCenterModule',
data: {
preload: true
}
}
];
// #enddocregion relative

@NgModule({
imports: [
RouterModule.forRoot(
appRoutes,
{ preloadingStrategy: PreloadSelectedModules }
)
],
exports: [
RouterModule
],
providers: [
CanDeactivateGuard,
PreloadSelectedModules
]
})
export class AppRoutingModule {}


/*
Copyright 2016 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 http://angular.io/license
*/
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// #docregion
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: '<h1>Hello Angular!</h1>'
})
export class AppComponent { }
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// #docregion
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
imports: [ BrowserModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// #docregion
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
const platform = platformBrowserDynamic();
platform.bootstrapModule(AppModule);
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// #docregion
/**
* System configuration for Angular samples
* Adjust as necessary for your application needs.
*/
(function (global) {
System.config({
paths: {
// paths serve as alias
'npm:': '/node_modules/'
},
// map tells the System loader where to look for things
map: {
app: '',
// angular bundles
'@angular/core': 'npm:@angular/core/bundles/core.umd.js',
'@angular/common': 'npm:@angular/common/bundles/common.umd.js',
'@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
'@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
'@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
'@angular/http': 'npm:@angular/http/bundles/http.umd.js',
'@angular/router': 'npm:@angular/router/bundles/router.umd.js',
'@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',
'@angular/upgrade': 'npm:@angular/upgrade/bundles/upgrade.umd.js',
// other libraries
'rxjs': 'npm:rxjs',
'angular-in-memory-web-api': 'npm:angular-in-memory-web-api/bundles/in-memory-web-api.umd.js'
},
// packages tells the System loader how to load when no filename and/or no extension
packages: {
app: {
main: './app/main.js',
defaultExtension: 'js'
},
rxjs: {
defaultExtension: 'js'
}
}
});
})(this);
8 changes: 8 additions & 0 deletions public/docs/_examples/cb-angular-in-dotnet-core/ts/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<!-- #docregion -->
<script src="~/app/systemjs.config.js"></script>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
<div style="min-height:300px">
<my-app>Loading…</my-app>
</div>
12 changes: 12 additions & 0 deletions public/docs/_examples/cb-angular-in-dotnet-core/ts/lib.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!-- #docregion -->
<!-- 1. Load libraries -->
<!-- Polyfill for older browsers -->
<script src="~/node_modules/core-js/client/shim.min.js"></script>
<script src="~/node_modules/zone.js/dist/zone.js"></script>
<script src="~/node_modules/reflect-metadata/Reflect.js"></script>
<script src="~/node_modules/systemjs/dist/system.src.js"></script>
<!-- 2. Configure SystemJS -->
<script src="~/app/systemjs.config.js"></script>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
2 changes: 2 additions & 0 deletions public/docs/_examples/cb-angular-in-dotnet-core/ts/nav.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<!-- #docregion -->
<li><a asp-area="" asp-controller="App" asp-action="Index">Angular App</a></li>
35 changes: 35 additions & 0 deletions public/docs/_examples/cb-angular-in-dotnet-core/ts/package1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"name": "angular-quickstart",
"version": "1.0.0",
"scripts": {
"tsc": "tsc",
"tsc:w": "tsc -w"
},
"licenses": [
{
"type": "MIT",
"url": "https://github.com/angular/angular.io/blob/master/LICENSE"
}
],
"dependencies": {
"@angular/common": "~2.2.0",
"@angular/compiler": "~2.2.0",
"@angular/core": "~2.2.0",
"@angular/forms": "~2.2.0",
"@angular/http": "~2.2.0",
"@angular/platform-browser": "~2.2.0",
"@angular/platform-browser-dynamic": "~2.2.0",
"@angular/router": "~3.2.0",
"@angular/upgrade": "~2.2.0",
"angular-in-memory-web-api": "~0.1.15",
"core-js": "^2.4.1",
"reflect-metadata": "^0.1.8",
"rxjs": "5.0.0-beta.12",
"systemjs": "0.19.39",
"zone.js": "^0.6.25"
},
"devDependencies": {
"@types/core-js": "^0.9.34",
"typescript": "^2.0.3"
}
}
49 changes: 49 additions & 0 deletions public/docs/_examples/cb-angular-in-dotnet-core/ts/startup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// #docregion redirect
app.UseStaticFiles(new StaticFileOptions
{
RequestPath = new PathString("/app"),
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "app"))
});
app.UseStaticFiles(new StaticFileOptions
{
RequestPath = new PathString("/node_modules"),
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "node_modules"))
});
// #enddocregion redirect

// #docregion redirect-using
using Microsoft.Extensions.FileProviders;
using System.IO;

// #enddocregion redirect-using

// #docregion lowercaseurls
services.Configure<RouteOptions>(options => options.LowercaseUrls = true);
// #enddocregion lowercaseurls

// #docregion lowercaseurls-using
using Microsoft.AspNetCore.Routing
// #enddocregion lowercaseurls-using

// #docregion route-default
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
// #enddocregion route-default

// #docregion route-new
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "angular",
template: "app/{*routes}",
defaults: new { controller = "App", action = "Index" }
);
});
// #enddocregion route-new
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<!-- #docregion -->
<link href="~/css/styles.css" rel="stylesheet" />
19 changes: 19 additions & 0 deletions public/docs/_examples/cb-angular-in-dotnet-core/ts/tsconfig1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"compileOnSave": true,
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules/*"
],
"typeRoots": [
"node_modules/@types/"
]
}
7 changes: 7 additions & 0 deletions public/docs/dart/latest/cookbook/_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,5 +68,12 @@
"title": "Visual Studio 2015 QuickStart",
"intro": "Use Visual Studio 2015 with the QuickStart files",
"hide": true
},

"angular-in-dotnet-core": {
"title": "Angular in .NET Core",
"intro": "Angular app in .NET Core MVC architecture",
"hide": true
}

}
6 changes: 6 additions & 0 deletions public/docs/js/latest/cookbook/_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@
"visual-studio-2015": {
"title": "Visual Studio 2015 QuickStart",
"intro": "Use Visual Studio 2015 with the QuickStart files"
},

"angular-in-dotnet-core": {
"title": "Angular in .NET Core",
"intro": "Angular app in .NET Core MVC architecture",
"hide": true
}

}
5 changes: 5 additions & 0 deletions public/docs/ts/latest/cookbook/_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,5 +64,10 @@
"visual-studio-2015": {
"title": "Visual Studio 2015 QuickStart",
"intro": "Use Visual Studio 2015 with the QuickStart files"
},

"angular-in-dotnet-core": {
"title": "Angular in .NET Core",
"intro": "Angular app in .NET Core MVC architecture"
}
}
Loading