├── .gitattributes
├── .gitignore
├── README.md
├── aspnet-skeleton-navigation.sln
├── aspnet-skeleton-navigation.v12.suo
├── aspnet-skeleton-navigation
├── .editorconfig
├── .gitattributes
├── .gitignore
├── .jshintrc
├── .npmignore
├── CONTRIBUTING.md
├── LICENSE
├── Properties
│ └── AssemblyInfo.cs
├── README.md
├── Web.Debug.config
├── Web.Release.config
├── Web.config
├── aspnet-skeleton-navigation.csproj
├── aspnet-skeleton-navigation.csproj.user
├── aurelia.protractor.js
├── bin
│ ├── aspnet-skeleton-navigation.dll
│ ├── aspnet-skeleton-navigation.dll.config
│ └── aspnet-skeleton-navigation.pdb
├── build
│ ├── args.js
│ ├── babel-options.js
│ ├── paths.js
│ └── tasks
│ │ ├── build.js
│ │ ├── clean.js
│ │ ├── dev.js
│ │ ├── doc.js
│ │ ├── e2e.js
│ │ ├── lint.js
│ │ ├── prepare-release.js
│ │ ├── serve.js
│ │ ├── test.js
│ │ └── watch.js
├── config.js
├── dist
│ ├── app.html
│ ├── app.js
│ ├── child-router.html
│ ├── child-router.js
│ ├── nav-bar.html
│ ├── nav-bar.js
│ ├── welcome.html
│ └── welcome.js
├── doc
│ ├── CHANGELOG.md
│ └── api.json
├── favicon.ico
├── gulpfile.js
├── index.html
├── jsconfig.json
├── karma.conf.js
├── obj
│ └── Debug
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
│ │ ├── aspnet-skeleton-navigation.csproj.FileListAbsolute.txt
│ │ ├── aspnet-skeleton-navigation.csprojResolveAssemblyReference.cache
│ │ ├── aspnet-skeleton-navigation.dll
│ │ └── aspnet-skeleton-navigation.pdb
├── package.json
├── protractor.conf.js
├── src
│ ├── app.html
│ ├── app.js
│ ├── blur-image.js
│ ├── child-router.html
│ ├── child-router.js
│ ├── main.js
│ ├── nav-bar.html
│ ├── nav-bar.js
│ ├── users.html
│ ├── users.js
│ ├── welcome.html
│ └── welcome.js
├── styles
│ └── styles.css
└── test
│ ├── e2e
│ ├── dist
│ │ ├── demo.spec.js
│ │ ├── skeleton.po.js
│ │ └── welcome.po.js
│ └── src
│ │ ├── demo.spec.js
│ │ ├── skeleton.po.js
│ │ └── welcome.po.js
│ └── unit
│ ├── app.spec.js
│ ├── child-router.spec.js
│ └── flickr.spec.js
└── build
├── MSBuild.Gulp.props
├── MSBuild.Gulp.targets
├── MSBuild.Jspm.props
├── MSBuild.Jspm.targets
├── MSBuild.Node.props
├── MSBuild.Node.targets
├── MSBuild.Npm.props
└── MSBuild.Npm.targets
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows image file caches
2 | Thumbs.db
3 | ehthumbs.db
4 |
5 | # Folder config file
6 | Desktop.ini
7 |
8 | # Recycle Bin used on file shares
9 | $RECYCLE.BIN/
10 |
11 | # Windows Installer files
12 | *.cab
13 | *.msi
14 | *.msm
15 | *.msp
16 |
17 | # Windows shortcuts
18 | *.lnk
19 |
20 | # =========================
21 | # Operating System Files
22 | # =========================
23 |
24 | # OSX
25 | # =========================
26 |
27 | .DS_Store
28 | .AppleDouble
29 | .LSOverride
30 |
31 | # Thumbnails
32 | ._*
33 |
34 | # Files that might appear on external disk
35 | .Spotlight-V100
36 | .Trashes
37 |
38 | # Directories potentially created on remote AFP share
39 | .AppleDB
40 | .AppleDesktop
41 | Network Trash Folder
42 | Temporary Items
43 | .apdisk
44 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # aspnet-skeleton-navigation
2 |
3 | This skeleton is an example of how to utilize [Aurelia](http://www.aurelia.io/) with Visual Studio 2013 and Typescript.
4 | It sets up a standard navigation-style app using the Typescript compiler. Gulp is used to copy all html, ts, js, and map files to the dist\ directory. Karma/Jasmine testing is also configured.
5 | Integration of npm and jspm with the Visual Studio is provided but is disabled by default due to resource usage.
6 |
7 | > To keep up to date on [Aurelia](http://www.aurelia.io/), please visit and subscribe to [the official blog](http://blog.durandal.io/). If you have questions, we invite you to join us on [our Gitter Channel](https://gitter.im/Aurelia/Discuss).
8 |
9 | ## Installing Dependencies
10 | 1. Install the [Task Runner Explorer](https://visualstudiogallery.msdn.microsoft.com/8e1b4368-4afb-467a-bc13-9650572db708) Visual Studio Extension.
11 |
12 | 2. Install the [Typescript 1.3](https://visualstudiogallery.msdn.microsoft.com/955e0262-0858-40c9-ab5a-1acc680e9bfd) Visual Studio Extension.
13 |
14 | 3. Make sure that Git is installed and the path to the Git executable is in the $PATH system variable. Either [Git for Windows](http://git-scm.com/download/win) or [GitHub for Windows](https://windows.github.com/) should work for this.
15 |
16 | 4. Ensure that [NodeJS](http://nodejs.org/) is installed. This provides the platform on which the build tooling runs.
17 |
18 | 5. Ensure that [Gulp](http://gulpjs.com/) is installed. If you need to install it, use the following command:
19 |
20 | ```shell
21 | npm install -g gulp
22 | ```
23 | 4. Ensure that [jspm](http://jspm.io/) is installed. If you need to install it, use the following command:
24 |
25 | ```shell
26 | npm install -g jspm
27 | ```
28 |
29 | ## Running The App
30 |
31 | To run the app, follow these steps.
32 |
33 | 1. Open the project in Visual Studio.
34 |
35 | 2. Set Visual Studio to launch using Google Chrome. See below for instructions on running the app using Internet Explorer.
36 |
37 | 3. Press F5 to run the project.
38 |
39 | > Note: The build process will run `npm install` and `jspm install`. For this reason, the first build will take quite a while.
40 |
41 | > Note: Visual Studio sometimes launches the browser before Gulp has finished deploying changes. If you get a black screen, try hitting refresh.
42 |
43 | > Note: At present there is a bug in the HTMLImports polyfill which only occurs on IE. We have submitted a pull request to the team with the fix. In the mean time, if you want to test on IE, you can work around the issue by explicitly adding a script tag before you load system.js. The script tag should look something like this (be sure to confirm the version number):
44 |
45 | ```html
46 |
47 | ```
48 |
49 | ## Running The Tests
50 |
51 | To run the unit tests, first ensure that you have followed the steps above in order to install all dependencies and successfully build the library. Once you have done that, proceed with these additional steps:
52 |
53 | 1. Ensure that the [Karma](http://karma-runner.github.io/) CLI is installed. If you need to install it, use the following command:
54 |
55 | ```shell
56 | npm install -g karma-cli
57 | ```
58 | 2. You can now run the tests with this command:
59 |
60 | ```shell
61 | karma start
62 | ```
63 |
64 | ## Contributing
65 |
66 | We'd love for you to contribute to our source code and to make this project even better than it is today! If this interests you, please begin by reading [our contributing guidelines](https://github.com/DurandalProject/about/blob/master/CONTRIBUTING.md). The contributing document will provide you with all the information you need to get started. Once you have read that, you will need to also [sign our CLA](http://goo.gl/forms/dI8QDDSyKR) before we can accepts a Pull Request from you. More information on the process is including in the [contributor's guide](https://github.com/DurandalProject/about/blob/master/CONTRIBUTING.md).
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2013
4 | VisualStudioVersion = 12.0.31101.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aspnet-skeleton-navigation", "aspnet-skeleton-navigation\aspnet-skeleton-navigation.csproj", "{70E8038A-405B-4C23-91CD-5FFF25381564}"
7 | EndProject
8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{3B5B8030-599D-490C-A5B0-001E2E7421F7}"
9 | ProjectSection(SolutionItems) = preProject
10 | build\MSBuild.Gulp.props = build\MSBuild.Gulp.props
11 | build\MSBuild.Gulp.targets = build\MSBuild.Gulp.targets
12 | build\MSBuild.Jspm.props = build\MSBuild.Jspm.props
13 | build\MSBuild.Jspm.targets = build\MSBuild.Jspm.targets
14 | build\MSBuild.Node.props = build\MSBuild.Node.props
15 | build\MSBuild.Node.targets = build\MSBuild.Node.targets
16 | build\MSBuild.Npm.props = build\MSBuild.Npm.props
17 | build\MSBuild.Npm.targets = build\MSBuild.Npm.targets
18 | EndProjectSection
19 | EndProject
20 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7716C03C-C092-4A52-8DC0-CAE92D5EFB7A}"
21 | ProjectSection(SolutionItems) = preProject
22 | README.md = README.md
23 | EndProjectSection
24 | EndProject
25 | Global
26 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
27 | Debug|Any CPU = Debug|Any CPU
28 | Release|Any CPU = Release|Any CPU
29 | EndGlobalSection
30 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
31 | {70E8038A-405B-4C23-91CD-5FFF25381564}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
32 | {70E8038A-405B-4C23-91CD-5FFF25381564}.Debug|Any CPU.Build.0 = Debug|Any CPU
33 | {70E8038A-405B-4C23-91CD-5FFF25381564}.Release|Any CPU.ActiveCfg = Release|Any CPU
34 | {70E8038A-405B-4C23-91CD-5FFF25381564}.Release|Any CPU.Build.0 = Release|Any CPU
35 | EndGlobalSection
36 | GlobalSection(SolutionProperties) = preSolution
37 | HideSolutionNode = FALSE
38 | EndGlobalSection
39 | EndGlobal
40 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation.v12.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation.v12.suo
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome: http://EditorConfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # Unix-style newlines with a newline ending every file
7 | [*]
8 | end_of_line = lf
9 | insert_final_newline = true
10 |
11 | # 2 space indentation
12 | [**.*]
13 | indent_style = space
14 | indent_size = 2
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 | *.sln merge=union
7 | *.csproj merge=union
8 | *.vbproj merge=union
9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 |
12 | # Standard to msysgit
13 | *.doc diff=astextplain
14 | *.DOC diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot diff=astextplain
18 | *.DOT diff=astextplain
19 | *.pdf diff=astextplain
20 | *.PDF diff=astextplain
21 | *.rtf diff=astextplain
22 | *.RTF diff=astextplain
23 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | jspm_packages
3 | bower_components
4 | .idea
5 | .DS_STORE
6 | /dist
7 | build/reports
8 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "esnext": true
3 | }
4 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/.npmignore:
--------------------------------------------------------------------------------
1 | jspm_packages
2 | bower_components
3 | .idea
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | We'd love for you to contribute and to make this project even better than it is today! If this interests you, please begin by reading [our contributing guidelines](https://github.com/DurandalProject/about/blob/master/CONTRIBUTING.md). The contributing document will provide you with all the information you need to get started. Once you have read that, you will need to also [sign our CLA](http://goo.gl/forms/dI8QDDSyKR) before we can accept a Pull Request from you. More information on the process is included in the [contributor's guide](https://github.com/DurandalProject/about/blob/master/CONTRIBUTING.md).
4 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Durandal Inc.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("aspnet_skeleton_navigation")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("aspnet_skeleton_navigation")]
13 | [assembly: AssemblyCopyright("Copyright © 2014")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("1f72ddeb-2479-4fbd-8b3a-bee5257464ac")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Revision and Build Numbers
33 | // by using the '*' as shown below:
34 | [assembly: AssemblyVersion("1.0.0.0")]
35 | [assembly: AssemblyFileVersion("1.0.0.0")]
36 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/README.md:
--------------------------------------------------------------------------------
1 | # aurelia-skeleton-navigation
2 |
3 | [](https://zenhub.io)
4 | [](https://gitter.im/aurelia/discuss?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5 |
6 | This skeleton is part of the [Aurelia](http://www.aurelia.io/) platform. It sets up a standard navigation-style app using gulp to build your ES6 code with the Babel compiler. Karma/Protractor/Jasmine testing is also configured.
7 |
8 | > To keep up to date on [Aurelia](http://www.aurelia.io/), please visit and subscribe to [the official blog](http://blog.durandal.io/). If you have questions, we invite you to [join us on Gitter](https://gitter.im/aurelia/discuss). If you would like to have deeper insight into our development process, please install the [ZenHub](https://zenhub.io) Chrome Extension and visit any of our repository's boards. You can get an overview of all Aurelia work by visiting [the framework board](https://github.com/aurelia/framework#boards).
9 |
10 | ## Running The App
11 |
12 | To run the app, follow these steps.
13 |
14 | 1. Ensure that [NodeJS](http://nodejs.org/) is installed. This provides the platform on which the build tooling runs.
15 | 2. From the project folder, execute the following command:
16 |
17 | ```shell
18 | npm install
19 | ```
20 | 3. Ensure that [Gulp](http://gulpjs.com/) is installed. If you need to install it, use the following command:
21 |
22 | ```shell
23 | npm install -g gulp
24 | ```
25 | 4. Ensure that [jspm](http://jspm.io/) is installed. If you need to install it, use the following command:
26 |
27 | ```shell
28 | npm install -g jspm
29 | ```
30 | > **Note:** jspm queries GitHub to install semver packages, but GitHub has a rate limit on anonymous API requests. It is advised that you configure jspm with your GitHub credentials in order to avoid problems. You can do this by executing `jspm registry config github` and following the prompts.
31 | 5. Install the client-side dependencies with jspm:
32 |
33 | ```shell
34 | jspm install -y
35 | ```
36 | >**Note:** Windows users, if you experience an error of "unknown command unzip" you can solve this problem by doing `npm install -g unzip` and then re-running `jspm install`.
37 | 6. To run the app, execute the following command:
38 |
39 | ```shell
40 | gulp watch
41 | ```
42 | 7. Browse to [http://localhost:9000](http://localhost:9000) to see the app. You can make changes in the code found under `src` and the browser should auto-refresh itself as you save files.
43 |
44 | > Note: At present there is a bug in the HTMLImports polyfill which only occurs on IE. We have submitted a pull request to the team with the fix. In the mean time, if you want to test on IE, you can work around the issue by explicitly adding a script tag before you load system.js. The script tag should look something like this (be sure to confirm the version number):
45 |
46 | ```html
47 |
48 | ```
49 |
50 | ## Running The Unit Tests
51 |
52 | To run the unit tests, first ensure that you have followed the steps above in order to install all dependencies and successfully build the library. Once you have done that, proceed with these additional steps:
53 |
54 | 1. Ensure that the [Karma](http://karma-runner.github.io/) CLI is installed. If you need to install it, use the following command:
55 |
56 | ```shell
57 | npm install -g karma-cli
58 | ```
59 | 2. Install Aurelia libs for test visibility:
60 |
61 | ```shell
62 | jspm install aurelia-framework
63 | jspm install aurelia-http-client
64 | jspm install aurelia-router
65 | ```
66 | 3. You can now run the tests with this command:
67 |
68 | ```shell
69 | karma start
70 | ```
71 |
72 | ## Running The E2E Tests
73 | Integration tests are performed with [Protractor](http://angular.github.io/protractor/#/).
74 |
75 | 1. Place your E2E-Tests into the folder ```test/e2e/src```
76 | 2. Install the necessary webdriver
77 |
78 | ```shell
79 | gulp webdriver_update
80 | ```
81 |
82 | 3. Configure the path to the webdriver by opening the file ```protractor.conf.js``` and adjusting the ```seleniumServerJar``` property. Typically its only needed to adjust the version number.
83 |
84 | 4. Make sure your app runs and is accessible
85 |
86 | ```shell
87 | gulp watch
88 | ```
89 |
90 | 5. In another console run the E2E-Tests
91 |
92 | ```shell
93 | gulp e2e
94 | ```
95 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/Web.Debug.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
17 |
18 |
29 |
30 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/Web.Release.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
17 |
18 |
19 |
30 |
31 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/Web.config:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/aspnet-skeleton-navigation.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | Debug
10 | AnyCPU
11 |
12 |
13 | 2.0
14 | {70E8038A-405B-4C23-91CD-5FFF25381564}
15 | {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
16 | Library
17 | Properties
18 | aspnet_skeleton_navigation
19 | aspnet-skeleton-navigation
20 | v4.5.1
21 | true
22 |
23 |
24 |
25 |
26 | 28c90d11
27 | 1.1
28 |
29 |
30 | true
31 | full
32 | false
33 | bin\
34 | DEBUG;TRACE
35 | prompt
36 | 4
37 |
38 |
39 | pdbonly
40 | true
41 | bin\
42 | TRACE
43 | prompt
44 | 4
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 | Web.config
78 |
79 |
80 | Web.config
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 | 10.0
134 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
135 |
136 |
137 |
138 | amd
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 | True
148 | True
149 | 1470
150 | /
151 | http://localhost:1470/
152 | False
153 | False
154 |
155 |
156 | False
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
176 |
177 |
178 |
179 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/aspnet-skeleton-navigation.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | URL
13 | True
14 | False
15 | False
16 | False
17 |
18 |
19 | http://localhost:1470/
20 |
21 |
22 |
23 |
24 | True
25 | True
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/aurelia.protractor.js:
--------------------------------------------------------------------------------
1 | /* Aurelia Protractor Plugin */
2 | function addValueBindLocator() {
3 | by.addLocator('valueBind', function (bindingModel, opt_parentElement) {
4 | var using = opt_parentElement || document;
5 | var matches = using.querySelectorAll('*[value\\.bind="' + bindingModel +'"]');
6 | var result;
7 |
8 | if (matches.length === 0) {
9 | result = null;
10 | } else if (matches.length === 1) {
11 | result = matches[0];
12 | } else {
13 | result = matches;
14 | }
15 |
16 | return result;
17 | });
18 | }
19 |
20 | function loadAndWaitForAureliaPage(pageUrl) {
21 | browser.get(pageUrl);
22 | return browser.executeAsyncScript(
23 | 'var cb = arguments[arguments.length - 1];' +
24 | 'document.addEventListener("aurelia-composed", function (e) {' +
25 | ' cb("Aurelia App composed")' +
26 | '}, false);'
27 | ).then(function(result){
28 | console.log(result);
29 | return result;
30 | });
31 | }
32 |
33 | function waitForHttpDone() {
34 | return browser.executeAsyncScript(
35 | 'var cb = arguments[arguments.length - 1];' +
36 | 'document.addEventListener("aurelia-http-client-requests-drained", function (e) {' +
37 | ' cb(true)' +
38 | '}, false);'
39 | ).then(function(result){
40 | return result;
41 | });
42 | }
43 |
44 | /* Plugin hooks */
45 | exports.setup = function(config) {
46 | // Ignore the default Angular synchronization helpers
47 | browser.ignoreSynchronization = true;
48 |
49 | // add the aurelia specific valueBind locator
50 | addValueBindLocator();
51 |
52 | // attach a new way to browser.get a page and wait for Aurelia to complete loading
53 | browser.loadAndWaitForAureliaPage = loadAndWaitForAureliaPage;
54 |
55 | // wait for all http requests to finish
56 | browser.waitForHttpDone = waitForHttpDone;
57 | };
58 |
59 | exports.teardown = function(config) {};
60 | exports.postResults = function(config) {};
61 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/bin/aspnet-skeleton-navigation.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation/bin/aspnet-skeleton-navigation.dll
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/bin/aspnet-skeleton-navigation.dll.config:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/bin/aspnet-skeleton-navigation.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation/bin/aspnet-skeleton-navigation.pdb
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/args.js:
--------------------------------------------------------------------------------
1 | var yargs = require('yargs');
2 |
3 | var argv = yargs.argv,
4 | validBumpTypes = "major|minor|patch|prerelease".split("|"),
5 | bump = (argv.bump || 'patch').toLowerCase();
6 |
7 | if(validBumpTypes.indexOf(bump) === -1) {
8 | throw new Error('Unrecognized bump "' + bump + '".');
9 | }
10 |
11 | module.exports = {
12 | bump: bump
13 | };
14 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/babel-options.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | modules: 'system',
3 | moduleIds: false,
4 | comments: false,
5 | compact: false,
6 | stage:2,
7 | optional: [
8 | "es7.decorators",
9 | "es7.classProperties"
10 | ]
11 | };
12 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/paths.js:
--------------------------------------------------------------------------------
1 | var path = require('path');
2 |
3 | var appRoot = 'src/';
4 | var outputRoot = 'dist/';
5 |
6 | module.exports = {
7 | root: appRoot,
8 | source: appRoot + '**/*.js',
9 | html: appRoot + '**/*.html',
10 | style: 'styles/**/*.css',
11 | output: outputRoot,
12 | doc:'./doc',
13 | e2eSpecsSrc: 'test/e2e/src/*.js',
14 | e2eSpecsDist: 'test/e2e/dist/'
15 | };
16 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/tasks/build.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var runSequence = require('run-sequence');
3 | var changed = require('gulp-changed');
4 | var plumber = require('gulp-plumber');
5 | var to5 = require('gulp-babel');
6 | var sourcemaps = require('gulp-sourcemaps');
7 | var paths = require('../paths');
8 | var compilerOptions = require('../babel-options');
9 | var assign = Object.assign || require('object.assign');
10 |
11 | // transpiles changed es6 files to SystemJS format
12 | // the plumber() call prevents 'pipe breaking' caused
13 | // by errors from other gulp plugins
14 | // https://www.npmjs.com/package/gulp-plumber
15 | gulp.task('build-system', function () {
16 | return gulp.src(paths.source)
17 | .pipe(plumber())
18 | .pipe(changed(paths.output, {extension: '.js'}))
19 | .pipe(sourcemaps.init({loadMaps: true}))
20 | .pipe(to5(assign({}, compilerOptions, {modules:'system'})))
21 | .pipe(sourcemaps.write({includeContent: true}))
22 | .pipe(gulp.dest(paths.output));
23 | });
24 |
25 | // copies changed html files to the output directory
26 | gulp.task('build-html', function () {
27 | return gulp.src(paths.html)
28 | .pipe(changed(paths.output, {extension: '.html'}))
29 | .pipe(gulp.dest(paths.output));
30 | });
31 |
32 | // this task calls the clean task (located
33 | // in ./clean.js), then runs the build-system
34 | // and build-html tasks in parallel
35 | // https://www.npmjs.com/package/gulp-run-sequence
36 | gulp.task('build', function(callback) {
37 | return runSequence(
38 | 'clean',
39 | ['build-system', 'build-html'],
40 | callback
41 | );
42 | });
43 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/tasks/clean.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var paths = require('../paths');
3 | var del = require('del');
4 | var vinylPaths = require('vinyl-paths');
5 |
6 | // deletes all files in the output path
7 | gulp.task('clean', function() {
8 | return gulp.src([paths.output])
9 | .pipe(vinylPaths(del));
10 | });
11 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/tasks/dev.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var tools = require('aurelia-tools');
3 |
4 | // source code for the tasks called in this file
5 | // is located at: https://github.com/aurelia/tools/blob/master/src/dev.js
6 |
7 | // updates dependencies in this folder
8 | // from folders in the parent directory
9 | gulp.task('update-own-deps', function(){
10 | tools.updateOwnDependenciesFromLocalRepositories();
11 | });
12 |
13 | // quickly pulls in all of the aurelia
14 | // github repos, placing them up one directory
15 | // from where the command is executed,
16 | // then runs `npm install`
17 | // and `gulp build` for each repo
18 | gulp.task('build-dev-env', function () {
19 | tools.buildDevEnv();
20 | });
21 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/tasks/doc.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var tools = require('aurelia-tools');
3 | var paths = require('../paths');
4 | var yuidoc = require('gulp-yuidoc');
5 |
6 | // uses yui to generate documentation to doc/api.json
7 | gulp.task('doc-generate', function(){
8 | return gulp.src(paths.source)
9 | .pipe(yuidoc.parser(null, 'api.json'))
10 | .pipe(gulp.dest(paths.doc));
11 | });
12 |
13 | // takes output of doc-generate task
14 | // and cleans it up for use with aurelia
15 | // documentation app
16 | gulp.task('doc', ['doc-generate'], function(){
17 | tools.transformAPIModel(paths.doc);
18 | });
19 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/tasks/e2e.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var paths = require('../paths');
3 | var to5 = require('gulp-babel');
4 | var plumber = require('gulp-plumber');
5 | var gulp = require('gulp');
6 | var webdriver_update = require('gulp-protractor').webdriver_update;
7 | var protractor = require("gulp-protractor").protractor;
8 |
9 | // for full documentation of gulp-protractor,
10 | // please check https://github.com/mllrsohn/gulp-protractor
11 | gulp.task('webdriver_update', webdriver_update);
12 |
13 | // transpiles files in
14 | // /test/e2e/src/ from es6 to es5
15 | // then copies them to test/e2e/dist/
16 | gulp.task('build-e2e', function () {
17 | return gulp.src(paths.e2eSpecsSrc)
18 | .pipe(plumber())
19 | .pipe(to5())
20 | .pipe(gulp.dest(paths.e2eSpecsDist));
21 | });
22 |
23 | // runs build-e2e task
24 | // then runs end to end tasks
25 | // using Protractor: http://angular.github.io/protractor/
26 | gulp.task('e2e', ['webdriver_update', 'build-e2e'], function(cb) {
27 | return gulp.src(paths.e2eSpecsDist + "/*.js")
28 | .pipe(protractor({
29 | configFile: "protractor.conf.js",
30 | args: ['--baseUrl', 'http://127.0.0.1:9000']
31 | }))
32 | .on('error', function(e) { throw e; });
33 | });
34 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/tasks/lint.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var paths = require('../paths');
3 | var jshint = require('gulp-jshint');
4 | var stylish = require('jshint-stylish');
5 |
6 | // runs jshint on all .js files
7 | gulp.task('lint', function() {
8 | return gulp.src(paths.source)
9 | .pipe(jshint())
10 | .pipe(jshint.reporter(stylish));
11 | });
12 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/tasks/prepare-release.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var runSequence = require('run-sequence');
3 | var paths = require('../paths');
4 | var changelog = require('conventional-changelog');
5 | var fs = require('fs');
6 | var bump = require('gulp-bump');
7 | var args = require('../args');
8 |
9 | // utilizes the bump plugin to bump the
10 | // semver for the repo
11 | gulp.task('bump-version', function(){
12 | return gulp.src(['./package.json'])
13 | .pipe(bump({type:args.bump })) //major|minor|patch|prerelease
14 | .pipe(gulp.dest('./'));
15 | });
16 |
17 | // generates the CHANGELOG.md file based on commit
18 | // from git commit messages
19 | gulp.task('changelog', function(callback) {
20 | var pkg = JSON.parse(fs.readFileSync('./package.json', 'utf-8'));
21 |
22 | return changelog({
23 | repository: pkg.repository.url,
24 | version: pkg.version,
25 | file: paths.doc + '/CHANGELOG.md'
26 | }, function(err, log) {
27 | fs.writeFileSync(paths.doc + '/CHANGELOG.md', log);
28 | });
29 | });
30 |
31 | // calls the listed sequence of tasks in order
32 | gulp.task('prepare-release', function(callback){
33 | return runSequence(
34 | 'build',
35 | 'lint',
36 | 'bump-version',
37 | 'doc',
38 | 'changelog',
39 | callback
40 | );
41 | });
42 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/tasks/serve.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var browserSync = require('browser-sync');
3 |
4 | // this task utilizes the browsersync plugin
5 | // to create a dev server instance
6 | // at http://localhost:9000
7 | gulp.task('serve', ['build'], function(done) {
8 | browserSync({
9 | open: false,
10 | port: 9000,
11 | server: {
12 | baseDir: ['.'],
13 | middleware: function (req, res, next) {
14 | res.setHeader('Access-Control-Allow-Origin', '*');
15 | next();
16 | }
17 | }
18 | }, done);
19 | });
20 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/tasks/test.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var karma = require('karma').server;
3 |
4 | /**
5 | * Run test once and exit
6 | */
7 | gulp.task('test', function (done) {
8 | karma.start({
9 | configFile: __dirname + '/../../karma.conf.js',
10 | singleRun: true
11 | }, function(e) {
12 | done();
13 | });
14 | });
15 |
16 | /**
17 | * Watch for file changes and re-run tests on each change
18 | */
19 | gulp.task('tdd', function (done) {
20 | karma.start({
21 | configFile: __dirname + '/../../karma.conf.js'
22 | }, function(e) {
23 | done();
24 | });
25 | });
26 |
27 | /**
28 | * Run test once with code coverage and exit
29 | */
30 | gulp.task('cover', function (done) {
31 | karma.start({
32 | configFile: __dirname + '/../../karma.conf.js',
33 | singleRun: true,
34 | reporters: ['coverage'],
35 | preprocessors: {
36 | 'test/**/*.js': ['babel'],
37 | 'src/**/*.js': ['babel', 'coverage']
38 | },
39 | coverageReporter: {
40 | type: 'html',
41 | dir: 'build/reports/coverage'
42 | }
43 | }, function (e) {
44 | done();
45 | });
46 | });
47 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/build/tasks/watch.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var paths = require('../paths');
3 | var browserSync = require('browser-sync');
4 |
5 | // outputs changes to files to the console
6 | function reportChange(event){
7 | console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
8 | }
9 |
10 | // this task wil watch for changes
11 | // to js, html, and css files and call the
12 | // reportChange method. Also, by depending on the
13 | // serve task, it will instantiate a browserSync session
14 | gulp.task('watch', ['serve'], function() {
15 | gulp.watch(paths.source, ['build-system', browserSync.reload]).on('change', reportChange);
16 | gulp.watch(paths.html, ['build-html', browserSync.reload]).on('change', reportChange);
17 | gulp.watch(paths.style, browserSync.reload).on('change', reportChange);
18 | });
19 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/config.js:
--------------------------------------------------------------------------------
1 | System.config({
2 | defaultJSExtensions: true,
3 | transpiler: "babel",
4 | babelOptions: {
5 | "optional": [
6 | "es7.decorators",
7 | "es7.classProperties",
8 | "runtime"
9 | ]
10 | },
11 | paths: {
12 | "*": "dist/*",
13 | "github:*": "jspm_packages/github/*",
14 | "npm:*": "jspm_packages/npm/*"
15 | },
16 |
17 | map: {
18 | "aurelia-animator-css": "github:aurelia/animator-css@0.14.1",
19 | "aurelia-binding": "github:aurelia/binding@0.8.5",
20 | "aurelia-bootstrapper": "github:aurelia/bootstrapper@0.15.0",
21 | "aurelia-dependency-injection": "github:aurelia/dependency-injection@0.9.1",
22 | "aurelia-event-aggregator": "github:aurelia/event-aggregator@0.6.2",
23 | "aurelia-fetch-client": "github:aurelia/fetch-client@0.1.1",
24 | "aurelia-framework": "github:aurelia/framework@0.14.0",
25 | "aurelia-history": "github:aurelia/history@0.6.1",
26 | "aurelia-history-browser": "github:aurelia/history-browser@0.6.2",
27 | "aurelia-loader": "github:aurelia/loader@0.8.3",
28 | "aurelia-loader-default": "github:aurelia/loader-default@0.9.3",
29 | "aurelia-logging": "github:aurelia/logging@0.6.2",
30 | "aurelia-metadata": "github:aurelia/metadata@0.7.2",
31 | "aurelia-path": "github:aurelia/path@0.8.1",
32 | "aurelia-route-recognizer": "github:aurelia/route-recognizer@0.6.1",
33 | "aurelia-router": "github:aurelia/router@0.10.4",
34 | "aurelia-task-queue": "github:aurelia/task-queue@0.6.1",
35 | "aurelia-templating": "github:aurelia/templating@0.13.16",
36 | "aurelia-templating-binding": "github:aurelia/templating-binding@0.13.2",
37 | "aurelia-templating-resources": "github:aurelia/templating-resources@0.13.4",
38 | "aurelia-templating-router": "github:aurelia/templating-router@0.14.1",
39 | "aurelia/fetch-client": "github:aurelia/fetch-client@0.1.1",
40 | "babel": "npm:babel-core@5.8.21",
41 | "babel-runtime": "npm:babel-runtime@5.8.20",
42 | "bootstrap": "github:twbs/bootstrap@3.3.5",
43 | "core-js": "npm:core-js@0.9.18",
44 | "css": "github:systemjs/plugin-css@0.1.13",
45 | "fetch": "github:github/fetch@0.9.0",
46 | "font-awesome": "npm:font-awesome@4.4.0",
47 | "github:aurelia/animator-css@0.14.1": {
48 | "aurelia-metadata": "github:aurelia/metadata@0.7.2",
49 | "aurelia-templating": "github:aurelia/templating@0.13.16"
50 | },
51 | "github:aurelia/binding@0.8.5": {
52 | "aurelia-dependency-injection": "github:aurelia/dependency-injection@0.9.1",
53 | "aurelia-metadata": "github:aurelia/metadata@0.7.2",
54 | "aurelia-task-queue": "github:aurelia/task-queue@0.6.1",
55 | "core-js": "npm:core-js@0.9.18"
56 | },
57 | "github:aurelia/bootstrapper@0.15.0": {
58 | "aurelia-event-aggregator": "github:aurelia/event-aggregator@0.6.2",
59 | "aurelia-framework": "github:aurelia/framework@0.14.0",
60 | "aurelia-history": "github:aurelia/history@0.6.1",
61 | "aurelia-history-browser": "github:aurelia/history-browser@0.6.2",
62 | "aurelia-loader-default": "github:aurelia/loader-default@0.9.3",
63 | "aurelia-logging-console": "github:aurelia/logging-console@0.6.1",
64 | "aurelia-router": "github:aurelia/router@0.10.4",
65 | "aurelia-templating": "github:aurelia/templating@0.13.16",
66 | "aurelia-templating-binding": "github:aurelia/templating-binding@0.13.2",
67 | "aurelia-templating-resources": "github:aurelia/templating-resources@0.13.4",
68 | "aurelia-templating-router": "github:aurelia/templating-router@0.14.1",
69 | "core-js": "npm:core-js@0.9.18"
70 | },
71 | "github:aurelia/dependency-injection@0.9.1": {
72 | "aurelia-logging": "github:aurelia/logging@0.6.2",
73 | "aurelia-metadata": "github:aurelia/metadata@0.7.2",
74 | "core-js": "npm:core-js@0.9.18"
75 | },
76 | "github:aurelia/event-aggregator@0.6.2": {
77 | "aurelia-logging": "github:aurelia/logging@0.6.2"
78 | },
79 | "github:aurelia/fetch-client@0.1.1": {
80 | "core-js": "npm:core-js@0.9.18"
81 | },
82 | "github:aurelia/framework@0.14.0": {
83 | "aurelia-binding": "github:aurelia/binding@0.8.5",
84 | "aurelia-dependency-injection": "github:aurelia/dependency-injection@0.9.1",
85 | "aurelia-loader": "github:aurelia/loader@0.8.3",
86 | "aurelia-logging": "github:aurelia/logging@0.6.2",
87 | "aurelia-metadata": "github:aurelia/metadata@0.7.2",
88 | "aurelia-path": "github:aurelia/path@0.8.1",
89 | "aurelia-task-queue": "github:aurelia/task-queue@0.6.1",
90 | "aurelia-templating": "github:aurelia/templating@0.13.16",
91 | "core-js": "npm:core-js@0.9.18"
92 | },
93 | "github:aurelia/history-browser@0.6.2": {
94 | "aurelia-history": "github:aurelia/history@0.6.1",
95 | "core-js": "npm:core-js@0.9.18"
96 | },
97 | "github:aurelia/loader-default@0.9.3": {
98 | "aurelia-loader": "github:aurelia/loader@0.8.3",
99 | "aurelia-metadata": "github:aurelia/metadata@0.7.2"
100 | },
101 | "github:aurelia/loader@0.8.3": {
102 | "aurelia-html-template-element": "github:aurelia/html-template-element@0.2.0",
103 | "aurelia-metadata": "github:aurelia/metadata@0.7.2",
104 | "aurelia-path": "github:aurelia/path@0.8.1",
105 | "core-js": "npm:core-js@0.9.18",
106 | "webcomponentsjs": "github:webcomponents/webcomponentsjs@0.6.3"
107 | },
108 | "github:aurelia/metadata@0.7.2": {
109 | "core-js": "npm:core-js@0.9.18"
110 | },
111 | "github:aurelia/route-recognizer@0.6.1": {
112 | "core-js": "npm:core-js@0.9.18"
113 | },
114 | "github:aurelia/router@0.10.4": {
115 | "aurelia-dependency-injection": "github:aurelia/dependency-injection@0.9.1",
116 | "aurelia-event-aggregator": "github:aurelia/event-aggregator@0.6.2",
117 | "aurelia-history": "github:aurelia/history@0.6.1",
118 | "aurelia-logging": "github:aurelia/logging@0.6.2",
119 | "aurelia-path": "github:aurelia/path@0.8.1",
120 | "aurelia-route-recognizer": "github:aurelia/route-recognizer@0.6.1",
121 | "core-js": "npm:core-js@0.9.18"
122 | },
123 | "github:aurelia/templating-binding@0.13.2": {
124 | "aurelia-binding": "github:aurelia/binding@0.8.5",
125 | "aurelia-logging": "github:aurelia/logging@0.6.2",
126 | "aurelia-templating": "github:aurelia/templating@0.13.16"
127 | },
128 | "github:aurelia/templating-resources@0.13.4": {
129 | "aurelia-binding": "github:aurelia/binding@0.8.5",
130 | "aurelia-dependency-injection": "github:aurelia/dependency-injection@0.9.1",
131 | "aurelia-logging": "github:aurelia/logging@0.6.2",
132 | "aurelia-task-queue": "github:aurelia/task-queue@0.6.1",
133 | "aurelia-templating": "github:aurelia/templating@0.13.16",
134 | "core-js": "npm:core-js@0.9.18"
135 | },
136 | "github:aurelia/templating-router@0.14.1": {
137 | "aurelia-dependency-injection": "github:aurelia/dependency-injection@0.9.1",
138 | "aurelia-metadata": "github:aurelia/metadata@0.7.2",
139 | "aurelia-path": "github:aurelia/path@0.8.1",
140 | "aurelia-router": "github:aurelia/router@0.10.4",
141 | "aurelia-templating": "github:aurelia/templating@0.13.16"
142 | },
143 | "github:aurelia/templating@0.13.16": {
144 | "aurelia-binding": "github:aurelia/binding@0.8.5",
145 | "aurelia-dependency-injection": "github:aurelia/dependency-injection@0.9.1",
146 | "aurelia-html-template-element": "github:aurelia/html-template-element@0.2.0",
147 | "aurelia-loader": "github:aurelia/loader@0.8.3",
148 | "aurelia-logging": "github:aurelia/logging@0.6.2",
149 | "aurelia-metadata": "github:aurelia/metadata@0.7.2",
150 | "aurelia-path": "github:aurelia/path@0.8.1",
151 | "aurelia-task-queue": "github:aurelia/task-queue@0.6.1",
152 | "core-js": "npm:core-js@0.9.18"
153 | },
154 | "github:jspm/nodelibs-process@0.1.1": {
155 | "process": "npm:process@0.10.1"
156 | },
157 | "github:twbs/bootstrap@3.3.5": {
158 | "jquery": "github:components/jquery@2.1.4"
159 | },
160 | "npm:babel-runtime@5.8.20": {
161 | "process": "github:jspm/nodelibs-process@0.1.1"
162 | },
163 | "npm:core-js@0.9.18": {
164 | "fs": "github:jspm/nodelibs-fs@0.1.2",
165 | "process": "github:jspm/nodelibs-process@0.1.1",
166 | "systemjs-json": "github:systemjs/plugin-json@0.1.0"
167 | },
168 | "npm:font-awesome@4.4.0": {
169 | "css": "github:systemjs/plugin-css@0.1.13"
170 | }
171 | }
172 | });
173 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/dist/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/dist/app.js:
--------------------------------------------------------------------------------
1 | System.register(['bootstrap', 'bootstrap/css/bootstrap.css!'], function (_export) {
2 | 'use strict';
3 |
4 | var App;
5 |
6 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
7 |
8 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
9 |
10 | return {
11 | setters: [function (_bootstrap) {}, function (_bootstrapCssBootstrapCss) {}],
12 | execute: function () {
13 | App = (function () {
14 | function App() {
15 | _classCallCheck(this, App);
16 | }
17 |
18 | _createClass(App, [{
19 | key: 'configureRouter',
20 | value: function configureRouter(config, router) {
21 | config.title = 'Aurelia';
22 | config.map([{ route: ['', 'welcome'], name: 'welcome', moduleId: 'welcome', nav: true, title: 'Welcome' }, { route: 'users', name: 'users', moduleId: 'users', nav: true, title: 'Github Users' }, { route: 'child-router', name: 'child-router', moduleId: 'child-router', nav: true, title: 'Child Router' }]);
23 |
24 | this.router = router;
25 | }
26 | }]);
27 |
28 | return App;
29 | })();
30 |
31 | _export('App', App);
32 | }
33 | };
34 | });
35 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFHYSxHQUFHOzs7Ozs7Ozs7QUFBSCxTQUFHO2lCQUFILEdBQUc7Z0NBQUgsR0FBRzs7O3FCQUFILEdBQUc7O2lCQUNDLHlCQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUM7QUFDN0Isa0JBQU0sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO0FBQ3pCLGtCQUFNLENBQUMsR0FBRyxDQUFDLENBQ1QsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUMsU0FBUyxDQUFDLEVBQUcsSUFBSSxFQUFFLFNBQVMsRUFBTyxRQUFRLEVBQUUsU0FBUyxFQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLFNBQVMsRUFBRSxFQUN0RyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQVUsSUFBSSxFQUFFLE9BQU8sRUFBUyxRQUFRLEVBQUUsT0FBTyxFQUFTLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLGNBQWMsRUFBRSxFQUMzRyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUcsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLGNBQWMsRUFBRSxDQUM1RyxDQUFDLENBQUM7O0FBRUgsZ0JBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1dBQ3RCOzs7ZUFWVSxHQUFHIiwiZmlsZSI6ImFwcC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnYm9vdHN0cmFwJztcbmltcG9ydCAnYm9vdHN0cmFwL2Nzcy9ib290c3RyYXAuY3NzISc7XG5cbmV4cG9ydCBjbGFzcyBBcHAge1xuICBjb25maWd1cmVSb3V0ZXIoY29uZmlnLCByb3V0ZXIpe1xuICAgIGNvbmZpZy50aXRsZSA9ICdBdXJlbGlhJztcbiAgICBjb25maWcubWFwKFtcbiAgICAgIHsgcm91dGU6IFsnJywnd2VsY29tZSddLCAgbmFtZTogJ3dlbGNvbWUnLCAgICAgIG1vZHVsZUlkOiAnd2VsY29tZScsICAgICAgbmF2OiB0cnVlLCB0aXRsZTonV2VsY29tZScgfSxcbiAgICAgIHsgcm91dGU6ICd1c2VycycsICAgICAgICAgbmFtZTogJ3VzZXJzJywgICAgICAgIG1vZHVsZUlkOiAndXNlcnMnLCAgICAgICAgbmF2OiB0cnVlLCB0aXRsZTonR2l0aHViIFVzZXJzJyB9LFxuICAgICAgeyByb3V0ZTogJ2NoaWxkLXJvdXRlcicsICBuYW1lOiAnY2hpbGQtcm91dGVyJywgbW9kdWxlSWQ6ICdjaGlsZC1yb3V0ZXInLCBuYXY6IHRydWUsIHRpdGxlOidDaGlsZCBSb3V0ZXInIH1cbiAgICBdKTtcblxuICAgIHRoaXMucm91dGVyID0gcm91dGVyO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/dist/child-router.html:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/dist/child-router.js:
--------------------------------------------------------------------------------
1 | System.register([], function (_export) {
2 | 'use strict';
3 |
4 | var ChildRouter;
5 |
6 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
7 |
8 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
9 |
10 | return {
11 | setters: [],
12 | execute: function () {
13 | ChildRouter = (function () {
14 | function ChildRouter() {
15 | _classCallCheck(this, ChildRouter);
16 |
17 | this.heading = 'Child Router';
18 | }
19 |
20 | _createClass(ChildRouter, [{
21 | key: 'configureRouter',
22 | value: function configureRouter(config, router) {
23 | config.map([{ route: ['', 'welcome'], name: 'welcome', moduleId: 'welcome', nav: true, title: 'Welcome' }, { route: 'users', name: 'users', moduleId: 'users', nav: true, title: 'Github Users' }, { route: 'child-router', name: 'child-router', moduleId: 'child-router', nav: true, title: 'Child Router' }]);
24 |
25 | this.router = router;
26 | }
27 | }]);
28 |
29 | return ChildRouter;
30 | })();
31 |
32 | _export('ChildRouter', ChildRouter);
33 | }
34 | };
35 | });
36 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNoaWxkLXJvdXRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFBYSxXQUFXOzs7Ozs7Ozs7QUFBWCxpQkFBVztpQkFBWCxXQUFXO2dDQUFYLFdBQVc7O2VBQ3RCLE9BQU8sR0FBRyxjQUFjOzs7cUJBRGIsV0FBVzs7aUJBR1AseUJBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQztBQUM3QixrQkFBTSxDQUFDLEdBQUcsQ0FBQyxDQUNULEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFDLFNBQVMsQ0FBQyxFQUFHLElBQUksRUFBRSxTQUFTLEVBQVEsUUFBUSxFQUFFLFNBQVMsRUFBUSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxTQUFTLEVBQUUsRUFDeEcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFVLElBQUksRUFBRSxPQUFPLEVBQVUsUUFBUSxFQUFFLE9BQU8sRUFBVSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxjQUFjLEVBQUUsRUFDN0csRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFHLElBQUksRUFBRSxjQUFjLEVBQUcsUUFBUSxFQUFFLGNBQWMsRUFBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxjQUFjLEVBQUUsQ0FDOUcsQ0FBQyxDQUFDOztBQUVILGdCQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztXQUN0Qjs7O2VBWFUsV0FBVyIsImZpbGUiOiJjaGlsZC1yb3V0ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQ2hpbGRSb3V0ZXJ7XG4gIGhlYWRpbmcgPSAnQ2hpbGQgUm91dGVyJztcblxuICBjb25maWd1cmVSb3V0ZXIoY29uZmlnLCByb3V0ZXIpe1xuICAgIGNvbmZpZy5tYXAoW1xuICAgICAgeyByb3V0ZTogWycnLCd3ZWxjb21lJ10sICBuYW1lOiAnd2VsY29tZScsICAgICAgIG1vZHVsZUlkOiAnd2VsY29tZScsICAgICAgIG5hdjogdHJ1ZSwgdGl0bGU6J1dlbGNvbWUnIH0sXG4gICAgICB7IHJvdXRlOiAndXNlcnMnLCAgICAgICAgIG5hbWU6ICd1c2VycycsICAgICAgICAgbW9kdWxlSWQ6ICd1c2VycycsICAgICAgICAgbmF2OiB0cnVlLCB0aXRsZTonR2l0aHViIFVzZXJzJyB9LFxuICAgICAgeyByb3V0ZTogJ2NoaWxkLXJvdXRlcicsICBuYW1lOiAnY2hpbGQtcm91dGVyJywgIG1vZHVsZUlkOiAnY2hpbGQtcm91dGVyJywgIG5hdjogdHJ1ZSwgdGl0bGU6J0NoaWxkIFJvdXRlcicgfVxuICAgIF0pO1xuXG4gICAgdGhpcy5yb3V0ZXIgPSByb3V0ZXI7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/dist/nav-bar.html:
--------------------------------------------------------------------------------
1 |
2 |
30 |
31 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/dist/nav-bar.js:
--------------------------------------------------------------------------------
1 | System.register(['aurelia-framework'], function (_export) {
2 | 'use strict';
3 |
4 | var bindable, NavBar;
5 |
6 | var _createDecoratedClass = (function () { function defineProperties(target, descriptors, initializers) { for (var i = 0; i < descriptors.length; i++) { var descriptor = descriptors[i]; var decorators = descriptor.decorators; var key = descriptor.key; delete descriptor.key; delete descriptor.decorators; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor || descriptor.initializer) descriptor.writable = true; if (decorators) { for (var f = 0; f < decorators.length; f++) { var decorator = decorators[f]; if (typeof decorator === 'function') { descriptor = decorator(target, key, descriptor) || descriptor; } else { throw new TypeError('The decorator for method ' + descriptor.key + ' is of the invalid type ' + typeof decorator); } } if (descriptor.initializer !== undefined) { initializers[key] = descriptor; continue; } } Object.defineProperty(target, key, descriptor); } } return function (Constructor, protoProps, staticProps, protoInitializers, staticInitializers) { if (protoProps) defineProperties(Constructor.prototype, protoProps, protoInitializers); if (staticProps) defineProperties(Constructor, staticProps, staticInitializers); return Constructor; }; })();
7 |
8 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
9 |
10 | function _defineDecoratedPropertyDescriptor(target, key, descriptors) { var _descriptor = descriptors[key]; if (!_descriptor) return; var descriptor = {}; for (var _key in _descriptor) descriptor[_key] = _descriptor[_key]; descriptor.value = descriptor.initializer ? descriptor.initializer.call(target) : undefined; Object.defineProperty(target, key, descriptor); }
11 |
12 | return {
13 | setters: [function (_aureliaFramework) {
14 | bindable = _aureliaFramework.bindable;
15 | }],
16 | execute: function () {
17 | NavBar = (function () {
18 | var _instanceInitializers = {};
19 |
20 | function NavBar() {
21 | _classCallCheck(this, NavBar);
22 |
23 | _defineDecoratedPropertyDescriptor(this, 'router', _instanceInitializers);
24 | }
25 |
26 | _createDecoratedClass(NavBar, [{
27 | key: 'router',
28 | decorators: [bindable],
29 | initializer: function initializer() {
30 | return null;
31 | },
32 | enumerable: true
33 | }], null, _instanceInitializers);
34 |
35 | return NavBar;
36 | })();
37 |
38 | _export('NavBar', NavBar);
39 | }
40 | };
41 | });
42 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdi1iYXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O2dCQUVhLE1BQU07Ozs7Ozs7Ozs7bUNBRlgsUUFBUTs7O0FBRUgsWUFBTTs7O2lCQUFOLE1BQU07Z0NBQU4sTUFBTTs7Ozs7OEJBQU4sTUFBTTs7dUJBQ2hCLFFBQVE7O21CQUFVLElBQUk7Ozs7O2VBRFosTUFBTSIsImZpbGUiOiJuYXYtYmFyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtiaW5kYWJsZX0gZnJvbSAnYXVyZWxpYS1mcmFtZXdvcmsnO1xuXG5leHBvcnQgY2xhc3MgTmF2QmFyIHtcbiAgQGJpbmRhYmxlIHJvdXRlciA9IG51bGw7XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/dist/welcome.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | ${heading}
4 |
5 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/dist/welcome.js:
--------------------------------------------------------------------------------
1 | System.register(['aurelia-framework'], function (_export) {
2 | 'use strict';
3 |
4 | var computedFrom, Welcome, UpperValueConverter;
5 |
6 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
7 |
8 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
9 |
10 | return {
11 | setters: [function (_aureliaFramework) {
12 | computedFrom = _aureliaFramework.computedFrom;
13 | }],
14 | execute: function () {
15 | Welcome = (function () {
16 | function Welcome() {
17 | _classCallCheck(this, Welcome);
18 |
19 | this.heading = 'Welcome to the Aurelia Navigation App!';
20 | this.firstName = 'John';
21 | this.lastName = 'Doe';
22 | this.previousValue = this.fullName;
23 | }
24 |
25 | _createClass(Welcome, [{
26 | key: 'submit',
27 | value: function submit() {
28 | this.previousValue = this.fullName;
29 | alert('Welcome, ' + this.fullName + '!');
30 | }
31 | }, {
32 | key: 'canDeactivate',
33 | value: function canDeactivate() {
34 | if (this.fullName !== this.previousValue) {
35 | return confirm('Are you sure you want to leave?');
36 | }
37 | }
38 | }, {
39 | key: 'fullName',
40 | get: function get() {
41 | return this.firstName + ' ' + this.lastName;
42 | }
43 | }]);
44 |
45 | return Welcome;
46 | })();
47 |
48 | _export('Welcome', Welcome);
49 |
50 | UpperValueConverter = (function () {
51 | function UpperValueConverter() {
52 | _classCallCheck(this, UpperValueConverter);
53 | }
54 |
55 | _createClass(UpperValueConverter, [{
56 | key: 'toView',
57 | value: function toView(value) {
58 | return value && value.toUpperCase();
59 | }
60 | }]);
61 |
62 | return UpperValueConverter;
63 | })();
64 |
65 | _export('UpperValueConverter', UpperValueConverter);
66 | }
67 | };
68 | });
69 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlbGNvbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O29CQUVhLE9BQU8sRUEwQlAsbUJBQW1COzs7Ozs7Ozt1Q0E1QnhCLFlBQVk7OztBQUVQLGFBQU87aUJBQVAsT0FBTztnQ0FBUCxPQUFPOztlQUNsQixPQUFPLEdBQUcsd0NBQXdDO2VBQ2xELFNBQVMsR0FBRyxNQUFNO2VBQ2xCLFFBQVEsR0FBRyxLQUFLO2VBQ2hCLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUTs7O3FCQUpsQixPQUFPOztpQkFjWixrQkFBRTtBQUNOLGdCQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDbkMsaUJBQUssZUFBYSxJQUFJLENBQUMsUUFBUSxPQUFJLENBQUM7V0FDckM7OztpQkFFWSx5QkFBRztBQUNkLGdCQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtBQUN4QyxxQkFBTyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FBQzthQUNuRDtXQUNGOzs7ZUFiVyxlQUFFO0FBQ1osbUJBQVUsSUFBSSxDQUFDLFNBQVMsU0FBSSxJQUFJLENBQUMsUUFBUSxDQUFHO1dBQzdDOzs7ZUFaVSxPQUFPOzs7OztBQTBCUCx5QkFBbUI7aUJBQW5CLG1CQUFtQjtnQ0FBbkIsbUJBQW1COzs7cUJBQW5CLG1CQUFtQjs7aUJBQ3hCLGdCQUFDLEtBQUssRUFBQztBQUNYLG1CQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7V0FDckM7OztlQUhVLG1CQUFtQiIsImZpbGUiOiJ3ZWxjb21lLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZEZyb219IGZyb20gJ2F1cmVsaWEtZnJhbWV3b3JrJztcblxuZXhwb3J0IGNsYXNzIFdlbGNvbWV7XG4gIGhlYWRpbmcgPSAnV2VsY29tZSB0byB0aGUgQXVyZWxpYSBOYXZpZ2F0aW9uIEFwcCEnO1xuICBmaXJzdE5hbWUgPSAnSm9obic7XG4gIGxhc3ROYW1lID0gJ0RvZSc7XG4gIHByZXZpb3VzVmFsdWUgPSB0aGlzLmZ1bGxOYW1lO1xuXG4gIC8vR2V0dGVycyBjYW4ndCBiZSBvYnNlcnZlZCB3aXRoIE9iamVjdC5vYnNlcnZlLCBzbyB0aGV5IG11c3QgYmUgZGlydHkgY2hlY2tlZC5cbiAgLy9Ib3dldmVyLCBpZiB5b3UgdGVsbCBBdXJlbGlhIHRoZSBkZXBlbmRlbmNpZXMsIGl0IG5vIGxvbmdlciBuZWVkcyB0byBkaXJ0eSBjaGVjayB0aGUgcHJvcGVydHkuXG4gIC8vVG8gb3B0aW1pemUgYnkgZGVjbGFyaW5nIHRoZSBwcm9wZXJ0aWVzIHRoYXQgdGhpcyBnZXR0ZXIgaXMgY29tcHV0ZWQgZnJvbSwgdW5jb21tZW50IHRoZSBsaW5lIGJlbG93LlxuICAvL0Bjb21wdXRlZEZyb20oJ2ZpcnN0TmFtZScsICdsYXN0TmFtZScpXG4gIGdldCBmdWxsTmFtZSgpe1xuICAgIHJldHVybiBgJHt0aGlzLmZpcnN0TmFtZX0gJHt0aGlzLmxhc3ROYW1lfWA7XG4gIH1cblxuICBzdWJtaXQoKXtcbiAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSB0aGlzLmZ1bGxOYW1lO1xuICAgIGFsZXJ0KGBXZWxjb21lLCAke3RoaXMuZnVsbE5hbWV9IWApO1xuICB9XG5cbiAgY2FuRGVhY3RpdmF0ZSgpIHtcbiAgICBpZiAodGhpcy5mdWxsTmFtZSAhPT0gdGhpcy5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICByZXR1cm4gY29uZmlybSgnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGxlYXZlPycpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXBwZXJWYWx1ZUNvbnZlcnRlciB7XG4gIHRvVmlldyh2YWx1ZSl7XG4gICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlLnRvVXBwZXJDYXNlKCk7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/doc/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ### 0.16.2 (2015-08-05)
2 |
3 |
4 | #### Bug Fixes
5 |
6 | * **package:** remove old framework version ([a2bec337](http://github.com/aurelia/skeleton-navigation/commit/a2bec3373bee7a65f642ba358e178e5cc7270805))
7 |
8 |
9 | ### 0.16.1 (2015-08-05)
10 |
11 |
12 | #### Bug Fixes
13 |
14 | * **config:** correct start path by removing the js extension ([d2149e4e](http://github.com/aurelia/skeleton-navigation/commit/d2149e4e0acf8f3ce3013b6c4ca5f97a88138948))
15 |
16 |
17 | ## 0.16.0 (2015-08-05)
18 |
19 |
20 | #### Bug Fixes
21 |
22 | * **all:** update source to work with jspm beta ([53f5cf1a](http://github.com/aurelia/skeleton-navigation/commit/53f5cf1ad0d07d8a1f1087e17a93ecb8718fca62))
23 | * **css:** fix print styles ([dfcf28a8](http://github.com/aurelia/skeleton-navigation/commit/dfcf28a84e07a7ee62635513d836cfa8b3523a87))
24 | * **index:** update font awesome reference ([686b337c](http://github.com/aurelia/skeleton-navigation/commit/686b337c188855bc4fc255872f09528beed20a10))
25 | * **styles:** correct some class names ([eeed0111](http://github.com/aurelia/skeleton-navigation/commit/eeed01119b85ea000528eaff89c93d55ca5102e4))
26 | * **users:** move the fetch polyfil load to users so the main.js isn't required ([53a3e2be](http://github.com/aurelia/skeleton-navigation/commit/53a3e2be259a68dad77d1e7976abd5efaaf82869))
27 |
28 |
29 | #### Features
30 |
31 | * **all:** switch over to github users in place of flickr ([6fd31066](http://github.com/aurelia/skeleton-navigation/commit/6fd310664a4056f6984915b35ba245c0cf3c0b82))
32 |
33 |
34 | ### 0.15.1 (2015-07-02)
35 |
36 |
37 | ## 0.15.0 (2015-07-02)
38 |
39 |
40 | #### Bug Fixes
41 |
42 | * **build:** include source in source maps. resolve #111 ([e6accba4](http://github.com/aurelia/skeleton-navigation/commit/e6accba4a533100f56a7040ff4010390bd9f0bad))
43 | * **package:** reduce debug requests using core-js override ([cede89f6](http://github.com/aurelia/skeleton-navigation/commit/cede89f6768017b238aac0e73e9bf41d9a502220))
44 | * **tests:** Fix unit tests ([8abc7741](http://github.com/aurelia/skeleton-navigation/commit/8abc7741c7b64ad0b54d7ef1f14d93bb5c0599cf))
45 |
46 |
47 | #### Features
48 |
49 | * **routes:** name all routes ([a3cb19ce](http://github.com/aurelia/skeleton-navigation/commit/a3cb19ce63f9a53c58c36244f9cca20ead54fb32))
50 |
51 |
52 | ## 0.14.0 (2015-06-09)
53 |
54 |
55 | #### Bug Fixes
56 |
57 | * **all:** update route config to match changes in router ([5f272a41](http://github.com/aurelia/skeleton-navigation/commit/5f272a41e8df271f4b2437472bbc0673cd2ef62d))
58 | * **config:**
59 | * add mappings that reflect the EA deps for pre-release testing ([d7cebc67](http://github.com/aurelia/skeleton-navigation/commit/d7cebc67c0b8af43570993d4ab127d97641962c1))
60 | * revert path config after tool change ([a1c4524b](http://github.com/aurelia/skeleton-navigation/commit/a1c4524b9f84178b70787da4d8642ed8573a0491))
61 | * **karma:**
62 | * Fixed tests to adhere to new flickr route ([caf4838c](http://github.com/aurelia/skeleton-navigation/commit/caf4838cb44885826e6eaf7455332581f8ad8cb1))
63 | * properly set jspm paths for karma ([75584889](http://github.com/aurelia/skeleton-navigation/commit/7558488953b860336a6b4ab3a1c8a2fb7501c122))
64 | * **package:** update deps to latest versions ([4fa8356c](http://github.com/aurelia/skeleton-navigation/commit/4fa8356c689d3be8086ab6063dda7af3cfbdca3f))
65 | * **styles:** change the image animation ([009f4e28](http://github.com/aurelia/skeleton-navigation/commit/009f4e2875cb1c8aea50269577ab28906b6d58bf))
66 | * **tests:** Fix unit tests for new release ([89b75782](http://github.com/aurelia/skeleton-navigation/commit/89b75782eb1a28771475c49b29be157e4eda8e63))
67 | * **welcome:** rename the welcome method to submit ([5e4894f3](http://github.com/aurelia/skeleton-navigation/commit/5e4894f354306f1da0e525a214a6edb3563aecba))
68 |
69 |
70 | #### Features
71 |
72 | * **anim:** adds staggering animations ([5324e133](http://github.com/aurelia/skeleton-navigation/commit/5324e133e8ccfc64655d8362b8830ce32a56470d))
73 | * **flickr:** move canDeactivate prompt into Welcome ([834b83a8](http://github.com/aurelia/skeleton-navigation/commit/834b83a85f2e36d978482b0ce8c61f45f68841bc))
74 |
75 |
76 | ## 0.13.0 (2015-05-01)
77 |
78 |
79 | #### Bug Fixes
80 |
81 | * **all:** update to latest router usage ([1bb373f7](http://github.com/aurelia/skeleton-navigation/commit/1bb373f73e224f084ac8b3bc330aeffb5d9bf5f0))
82 | * **anim:** Remove welcome class animation ([a68fc9d4](http://github.com/aurelia/skeleton-navigation/commit/a68fc9d41f866aacccb1cc1b567b18af58141d1b))
83 | * **build:** use relative path for source maps. resolve #66 ([aaf3cc9a](http://github.com/aurelia/skeleton-navigation/commit/aaf3cc9a67f86275a94666ab328f2ca74a7f7c52))
84 | * **flickr:** remove inline styles ([612e0ea6](http://github.com/aurelia/skeleton-navigation/commit/612e0ea67e4bf13685644ff5055f5e36ffc7ad07))
85 | * **index:** add the viewport meta tag to ensure proper rendering and touch zooming ([0ecf0b9e](http://github.com/aurelia/skeleton-navigation/commit/0ecf0b9ea97245492bd9224dfb8cc9b940f254d1))
86 | * **navbar:** automatically collapse the navigation menu on click ([28f3c6fa](http://github.com/aurelia/skeleton-navigation/commit/28f3c6faf1fa3d1533f6470b273bacea7ed76eb7))
87 | * **package:** update dependencies ([dfe57813](http://github.com/aurelia/skeleton-navigation/commit/dfe57813459d012c05affa6c09acb568854c07e3))
88 |
89 |
90 | #### Features
91 |
92 | * **anim:** Add animation example ([675d15a1](http://github.com/aurelia/skeleton-navigation/commit/675d15a153c399f524070e7cb468caae3230febe))
93 |
94 |
95 | ## 0.12.0 (2015-04-09)
96 |
97 |
98 | #### Bug Fixes
99 |
100 | * **readme:** More info about E2E workflow ([f9b360ee](http://github.com/aurelia/skeleton-navigation/commit/f9b360ee3211b896b5b9970520bcd37dc79c2918))
101 | * **test:** workaround for issue with jspm karma plugin ([7bf90b7e](http://github.com/aurelia/skeleton-navigation/commit/7bf90b7ef78b4375760e94c394a8f2ec0870e43e))
102 | * **tests:** Update routes in unit tests ([fb2c02b6](http://github.com/aurelia/skeleton-navigation/commit/fb2c02b6e3dd5ba219b307bedd5be9b999c21116))
103 |
104 |
105 | #### Features
106 |
107 | * **all:** new decorators and behavior model implemented ([e5445795](http://github.com/aurelia/skeleton-navigation/commit/e54457951a17b3f29d47555a299f9aaa06e59349))
108 |
109 |
110 | ## 0.11.0 (2015-03-25)
111 |
112 |
113 | #### Bug Fixes
114 |
115 | * **all:** update to latest framework versions ([86378200](http://github.com/aurelia/skeleton-navigation/commit/8637820009f7bf4f4b2a08b2abaf2fae9bb2811d))
116 |
117 |
118 | ### 0.10.2 (2015-02-28)
119 |
120 |
121 | #### Bug Fixes
122 |
123 | * **package:** update dependencies ([3a8cfc33](http://github.com/aurelia/skeleton-navigation/commit/3a8cfc33cb41e29d4199a94b43198cf62a3a1ceb))
124 |
125 |
126 | ### 0.10.1 (2015-02-28)
127 |
128 |
129 | #### Bug Fixes
130 |
131 | * **child-router:** correct class name ([93f9bfc9](http://github.com/aurelia/skeleton-navigation/commit/93f9bfc9076a7e950d667d50c9ac75e9efb3e1f5))
132 | * **e2e:**
133 | * remove iit in dist ([dd644b1f](http://github.com/aurelia/skeleton-navigation/commit/dd644b1f926fca5c0a59cf1a662fb246456aa9ae))
134 | * remove iit ([340fc90d](http://github.com/aurelia/skeleton-navigation/commit/340fc90d3a558e6a5f1aed83f7d2c1080447bc33))
135 | * **package:** update dependencies ([42b6ebbd](http://github.com/aurelia/skeleton-navigation/commit/42b6ebbd571f61d82ef7334b518dba4259559f2a))
136 |
137 |
138 | #### Features
139 |
140 | * **e2e:** add protractor plugin, add waitMethods ([d24c5a0d](http://github.com/aurelia/skeleton-navigation/commit/d24c5a0d606c6da1c30cf54a56ca5d3e086749cb))
141 |
142 |
143 | ## 0.10.0 (2015-02-12)
144 |
145 |
146 | #### Bug Fixes
147 |
148 | * **index:** properly load bootstrap ([c1735fdb](http://github.com/aurelia/skeleton-navigation/commit/c1735fdbd064e69567b90358dfcc5eff0fdeab37))
149 |
150 |
151 | ### 0.9.5 (2015-02-06)
152 |
153 |
154 | #### Bug Fixes
155 |
156 | * **build:**
157 | * include root attribute on path for source maps ([e3fc2d5a](http://github.com/aurelia/skeleton-navigation/commit/e3fc2d5a26f354c2afbd2c1e1e45b96fe5d92657), closes [#26](http://github.com/aurelia/skeleton-navigation/issues/26))
158 | * add source maps; remove sourceFileName from compiler options ([1733c4ad](http://github.com/aurelia/skeleton-navigation/commit/1733c4ad032747ecb868b420a5d6f23e9dab12ae))
159 | * **package:** update dependencies ([025154f3](http://github.com/aurelia/skeleton-navigation/commit/025154f3c9fc9d99b6ca00bfd94d9ffc8249df5c))
160 | * **test:** removing single it execution ([31866dc3](http://github.com/aurelia/skeleton-navigation/commit/31866dc3038fe2c1b51531620a13b88c8e3ff766))
161 |
162 |
163 | #### Features
164 |
165 | * **e2e:** add protractor locator and e2e PO test ([2509836e](http://github.com/aurelia/skeleton-navigation/commit/2509836e8406745e55c8d3d897f8a2b7f1bb1c56))
166 |
167 |
168 | ### 0.9.4 (2015-02-03)
169 |
170 |
171 | #### Bug Fixes
172 |
173 | * **index:** per systemjs recommendation, remove error binding ([e30cefac](http://github.com/aurelia/skeleton-navigation/commit/e30cefac419f88911a4c18085ffd59d05047e254))
174 | * **package:** add missing depdency ([c3718827](http://github.com/aurelia/skeleton-navigation/commit/c37188278816f1c540e8b038a8dfed60dfeb0d9c))
175 |
176 |
177 | #### Features
178 |
179 | * **gulpfile:** adds protractor configuration and gulpfile tasks for E2E-Testing ([821f4868](http://github.com/aurelia/skeleton-navigation/commit/821f4868a5d4b4ba62cc12cece943cd55ed3142f))
180 | * **tools:** Added build-dev-env task to skeleton-navigation ([4c145095](http://github.com/aurelia/skeleton-navigation/commit/4c1450956cf1e8804ddd660beeba77546e14287f))
181 |
182 |
183 | ### 0.9.3 (2015-01-25)
184 |
185 |
186 | #### Bug Fixes
187 |
188 | * **package:** update dependencies ([0f221d2d](http://github.com/aurelia/skeleton-navigation/commit/0f221d2d8cb79ba40b745c92d0fa64d27bfd0dbf))
189 |
190 |
191 | ### 0.9.2 (2015-01-25)
192 |
193 |
194 | #### Bug Fixes
195 |
196 | * **gulpfile:** bug in browser sync for style content ([342a2612](http://github.com/aurelia/skeleton-navigation/commit/342a26121cf5988d73847ed02d022d13e325d5f2))
197 |
198 |
199 | ### 0.9.1 (2015-01-24)
200 |
201 |
202 | #### Bug Fixes
203 |
204 | * **package:**
205 | * update dependencies ([d05fb6c9](http://github.com/aurelia/skeleton-navigation/commit/d05fb6c9a4148e85165e8b8594b3de9e344e85d6))
206 | * update dependencies ([da130f4f](http://github.com/aurelia/skeleton-navigation/commit/da130f4f2919c8330f455e1b9f175d693aacf43c))
207 | * update dependencies ([ab85bc86](http://github.com/aurelia/skeleton-navigation/commit/ab85bc865cb1607f13cb7d5b3a55f37903e61785))
208 |
209 |
210 | #### Features
211 |
212 | * **package:** update dependencies ([86b1dd90](http://github.com/aurelia/skeleton-navigation/commit/86b1dd908206abfdca2a8f89cc246f54e761bdbd))
213 | * **welcome:** add sample local value converter ([9a2c2aa6](http://github.com/aurelia/skeleton-navigation/commit/9a2c2aa6f7fa9f5a5666aa0c19163bf49cbcc5fc))
214 |
215 |
216 | ## 0.9.0 (2015-01-22)
217 |
218 |
219 | #### Bug Fixes
220 |
221 | * **all:**
222 | * update dependencies and links to latest ([8863e7b7](http://github.com/aurelia/skeleton-navigation/commit/8863e7b7d07e87430b0f495cd25923e401698bc9))
223 | * update to latest version of metadata and view import ([2467e6c8](http://github.com/aurelia/skeleton-navigation/commit/2467e6c8361fc848b45ab6d92b180edf4d4bcdb5))
224 | * **build:** improve watch functionality ([8496a78d](http://github.com/aurelia/skeleton-navigation/commit/8496a78def478bd2c53217c9e70db1d272a935ea))
225 | * **package:** update dependencies ([2957e94d](http://github.com/aurelia/skeleton-navigation/commit/2957e94d84988207c2553395e8e0a1c943a65a16))
226 |
227 |
228 | #### Features
229 |
230 | * **all:** update to new fluent metadata ([18382913](http://github.com/aurelia/skeleton-navigation/commit/183829132bce3f754377bf2d720a288b71ef4b64))
231 | * **index:** add splash screen ([88e3e6f9](http://github.com/aurelia/skeleton-navigation/commit/88e3e6f956575c18fb37e72cd51e7bfac33f6941))
232 |
233 |
234 | ## 0.8.0 (2015-01-12)
235 |
236 |
237 | #### Bug Fixes
238 |
239 | * **package:** update Aurelia dependencies ([44083541](http://github.com/aurelia/skeleton-navigation/commit/440835418d78b5d99278ec4f2fbc04beb79ff98f))
240 |
241 |
242 | #### Features
243 |
244 | * **build:** update watch task to include style files ([ddf6c789](http://github.com/aurelia/skeleton-navigation/commit/ddf6c789c84ac267bdf4865f19a3339d7ee66253))
245 |
246 |
247 | ### 0.7.2 (2015-01-07)
248 |
249 |
250 | #### Bug Fixes
251 |
252 | * **welcome:** typo in the last name label ([05e72aaa](http://github.com/aurelia/skeleton-navigation/commit/05e72aaaee2a8c58943f7b9e85eb59307a85f35d))
253 |
254 |
255 | ### 0.7.1 (2015-01-07)
256 |
257 | * updates to the readme to help clarify issues around authentication and usage on windows
258 |
259 | ## 0.7.0 (2015-01-07)
260 |
261 |
262 | #### Bug Fixes
263 |
264 | * **package:** update dependencies to latest ([c11ffa0d](http://github.com/aurelia/skeleton-navigation/commit/c11ffa0d980c6058dbff6d0a16fadd27040f7214))
265 |
266 |
267 | ## 0.6.0 (2015-01-06)
268 |
269 |
270 | #### Features
271 |
272 | * **build:** update compiler and switch to register module format ([921d6ab8](http://github.com/aurelia/skeleton-navigation/commit/921d6ab8a523fce6a410f7333650eef9dc5e8abc))
273 |
274 |
275 | ## 0.5.0 (2014-12-22)
276 |
277 |
278 | #### Bug Fixes
279 |
280 | * **config:** update the jspm config ([9ceaa0c2](http://github.com/aurelia/skeleton-navigation/commit/9ceaa0c2af5374461d183993036984cf048261d8))
281 | * **package:** update dependencies to latest versions ([b5cff606](http://github.com/aurelia/skeleton-navigation/commit/b5cff606059dff0ad47e78cc6ba4325d646015a5))
282 |
283 |
284 | #### Features
285 |
286 | * **build:** add browser sync ([fe2d2fa7](http://github.com/aurelia/skeleton-navigation/commit/fe2d2fa7c10a4748cab6c86e326465e6a8327ef4))
287 |
288 |
289 | ### 0.4.2 (2014-12-18)
290 |
291 |
292 | #### Bug Fixes
293 |
294 | * **package:** update bootstrapper to latest version ([e1d00037](http://github.com/aurelia/skeleton-navigation/commit/e1d000377c782b1bfc9c8fce0d247afb0b8702d1))
295 |
296 |
297 | ### 0.4.1 (2014-12-18)
298 |
299 |
300 | #### Bug Fixes
301 |
302 | * **package:** update dependencies to latest versions ([275a693d](http://github.com/aurelia/skeleton-navigation/commit/275a693dcbbeec189847f97881b40d25e3b693d4))
303 |
304 |
305 | ## 0.4.0 (2014-12-17)
306 |
307 |
308 | #### Bug Fixes
309 |
310 | * **package:** update dependencies to latest versions ([77986163](http://github.com/aurelia/skeleton-navigation/commit/779861632b7e48152ce7bed9d0316e90fda2482d))
311 | * **package:** update dependencies to latest versions ([4f1661dc](http://github.com/aurelia/skeleton-navigation/commit/4f1661dceafe93c8c117133bd07b9edb243b913e))
312 |
313 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/doc/api.json:
--------------------------------------------------------------------------------
1 | {"classes":[],"methods":[],"properties":[],"events":[]}
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation/favicon.ico
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/gulpfile.js:
--------------------------------------------------------------------------------
1 | ///
2 | // all gulp tasks are located in the ./build/tasks directory
3 | // gulp configuration is in files in ./build directory
4 | require('require-dir')('build/tasks');
5 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Aurelia
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Aurelia Navigation Skeleton
12 |
13 |
14 |
15 |
16 |
17 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions":{
3 | "target": "ES6",
4 | "module": "system"
5 | }
6 | }
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/karma.conf.js:
--------------------------------------------------------------------------------
1 | // Karma configuration
2 | // Generated on Fri Dec 05 2014 16:49:29 GMT-0500 (EST)
3 |
4 | module.exports = function(config) {
5 | config.set({
6 |
7 | // base path that will be used to resolve all patterns (eg. files, exclude)
8 | basePath: '',
9 |
10 |
11 | // frameworks to use
12 | // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
13 | frameworks: ['jspm', 'jasmine'],
14 |
15 | jspm: {
16 | // Edit this to your needs
17 | loadFiles: ['src/**/*.js', 'test/unit/**/*.js'],
18 | paths: {
19 | '*': '*.js'
20 | }
21 | },
22 |
23 |
24 | // list of files / patterns to load in the browser
25 | files: [],
26 |
27 |
28 | // list of files to exclude
29 | exclude: [
30 | ],
31 |
32 |
33 | // preprocess matching files before serving them to the browser
34 | // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
35 | preprocessors: {
36 | 'test/**/*.js': ['babel'],
37 | 'src/**/*.js': ['babel']
38 | },
39 | 'babelPreprocessor': {
40 | options: {
41 | sourceMap: 'inline',
42 | modules: 'system',
43 | moduleIds: false,
44 | optional: [
45 | "es7.decorators",
46 | "es7.classProperties"
47 | ]
48 | }
49 | },
50 |
51 | // test results reporter to use
52 | // possible values: 'dots', 'progress'
53 | // available reporters: https://npmjs.org/browse/keyword/karma-reporter
54 | reporters: ['progress'],
55 |
56 |
57 | // web server port
58 | port: 9876,
59 |
60 |
61 | // enable / disable colors in the output (reporters and logs)
62 | colors: true,
63 |
64 |
65 | // level of logging
66 | // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
67 | logLevel: config.LOG_INFO,
68 |
69 |
70 | // enable / disable watching file and executing tests whenever any file changes
71 | autoWatch: true,
72 |
73 |
74 | // start these browsers
75 | // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
76 | browsers: ['Chrome'],
77 |
78 |
79 | // Continuous Integration mode
80 | // if true, Karma captures browsers, runs the tests and exits
81 | singleRun: false
82 | });
83 | };
84 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/obj/Debug/aspnet-skeleton-navigation.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Ashley\github\ashleygrant\aspnet-skeleton-navigation\aspnet-skeleton-navigation\bin\aspnet-skeleton-navigation.dll.config
2 | C:\Users\Ashley\github\ashleygrant\aspnet-skeleton-navigation\aspnet-skeleton-navigation\bin\aspnet-skeleton-navigation.dll
3 | C:\Users\Ashley\github\ashleygrant\aspnet-skeleton-navigation\aspnet-skeleton-navigation\bin\aspnet-skeleton-navigation.pdb
4 | C:\Users\Ashley\github\ashleygrant\aspnet-skeleton-navigation\aspnet-skeleton-navigation\obj\Debug\aspnet-skeleton-navigation.csprojResolveAssemblyReference.cache
5 | C:\Users\Ashley\github\ashleygrant\aspnet-skeleton-navigation\aspnet-skeleton-navigation\obj\Debug\aspnet-skeleton-navigation.dll
6 | C:\Users\Ashley\github\ashleygrant\aspnet-skeleton-navigation\aspnet-skeleton-navigation\obj\Debug\aspnet-skeleton-navigation.pdb
7 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/obj/Debug/aspnet-skeleton-navigation.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation/obj/Debug/aspnet-skeleton-navigation.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/obj/Debug/aspnet-skeleton-navigation.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation/obj/Debug/aspnet-skeleton-navigation.dll
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/obj/Debug/aspnet-skeleton-navigation.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AshleyGrant/aspnet-skeleton-navigation/9f1c8a6bbc939ed7e42be3f38883ba1a017ee45c/aspnet-skeleton-navigation/obj/Debug/aspnet-skeleton-navigation.pdb
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aurelia-skeleton-navigation",
3 | "version": "0.16.2",
4 | "description": "A starter kit for building a standard navigation-style app with Aurelia.",
5 | "keywords": [
6 | "aurelia",
7 | "navigation",
8 | "skeleton"
9 | ],
10 | "homepage": "http://aurelia.io",
11 | "bugs": {
12 | "url": "https://github.com/aurelia/skeleton-navigation/issues"
13 | },
14 | "license": "MIT",
15 | "author": "Rob Eisenberg (http://robeisenberg.com/)",
16 | "main": "dist/commonjs/index.js",
17 | "repository": {
18 | "type": "git",
19 | "url": "http://github.com/aurelia/skeleton-navigation"
20 | },
21 | "devDependencies": {
22 | "aurelia-tools": "^0.1.3",
23 | "browser-sync": "^1.8.1",
24 | "conventional-changelog": "0.0.11",
25 | "del": "^1.1.0",
26 | "gulp": "^3.8.10",
27 | "gulp-babel": "^5.1.0",
28 | "gulp-bump": "^0.3.1",
29 | "gulp-changed": "^1.1.0",
30 | "gulp-jshint": "^1.9.0",
31 | "gulp-plumber": "^0.6.6",
32 | "gulp-protractor": "^0.0.12",
33 | "gulp-sourcemaps": "^1.3.0",
34 | "gulp-yuidoc": "^0.1.2",
35 | "jasmine-core": "^2.1.3",
36 | "jshint-stylish": "^1.0.0",
37 | "karma": "^0.12.28",
38 | "karma-babel-preprocessor": "^5.2.1",
39 | "karma-chrome-launcher": "^0.1.7",
40 | "karma-coverage": "^0.3.1",
41 | "karma-jasmine": "^0.3.5",
42 | "karma-jspm": "^1.1.5",
43 | "object.assign": "^1.0.3",
44 | "require-dir": "^0.1.0",
45 | "run-sequence": "^1.0.2",
46 | "vinyl-paths": "^1.0.0",
47 | "yargs": "^2.1.1"
48 | },
49 | "jspm": {
50 | "dependencies": {
51 | "aurelia-animator-css": "github:aurelia/animator-css@^0.14.1",
52 | "aurelia-binding": "github:aurelia/binding@^0.8.3",
53 | "aurelia-bootstrapper": "github:aurelia/bootstrapper@^0.15.0",
54 | "aurelia-dependency-injection": "github:aurelia/dependency-injection@^0.9.1",
55 | "aurelia-event-aggregator": "github:aurelia/event-aggregator@^0.6.2",
56 | "aurelia-fetch-client": "github:aurelia/fetch-client@^0.1.1",
57 | "aurelia-framework": "github:aurelia/framework@^0.14.0",
58 | "aurelia-history": "github:aurelia/history@^0.6.1",
59 | "aurelia-history-browser": "github:aurelia/history-browser@^0.6.2",
60 | "aurelia-loader": "github:aurelia/loader@^0.8.3",
61 | "aurelia-loader-default": "github:aurelia/loader-default@^0.9.1",
62 | "aurelia-logging": "github:aurelia/logging@^0.6.2",
63 | "aurelia-metadata": "github:aurelia/metadata@^0.7.1",
64 | "aurelia-path": "github:aurelia/path@^0.8.1",
65 | "aurelia-route-recognizer": "github:aurelia/route-recognizer@^0.6.1",
66 | "aurelia-router": "github:aurelia/router@^0.10.3",
67 | "aurelia-task-queue": "github:aurelia/task-queue@^0.6.1",
68 | "aurelia-templating": "github:aurelia/templating@^0.13.12",
69 | "aurelia-templating-binding": "github:aurelia/templating-binding@^0.13.2",
70 | "aurelia-templating-resources": "github:aurelia/templating-resources@^0.13.2",
71 | "aurelia-templating-router": "github:aurelia/templating-router@^0.14.1",
72 | "bootstrap": "github:twbs/bootstrap@^3.3.4",
73 | "core-js": "npm:core-js@^0.9.4",
74 | "css": "github:systemjs/plugin-css@^0.1.11",
75 | "fetch": "github:github/fetch@^0.9.0",
76 | "font-awesome": "npm:font-awesome@^4.3.0"
77 | },
78 | "devDependencies": {
79 | "babel": "npm:babel-core@^5.1.13",
80 | "babel-runtime": "npm:babel-runtime@^5.1.13",
81 | "core-js": "npm:core-js@^0.9.4"
82 | },
83 | "overrides": {
84 | "npm:core-js@0.9.18": {
85 | "main": "client/shim.min"
86 | }
87 | }
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/protractor.conf.js:
--------------------------------------------------------------------------------
1 | // An example configuration file.
2 | exports.config = {
3 | directConnect: true,
4 |
5 | // Capabilities to be passed to the webdriver instance.
6 | capabilities: {
7 | 'browserName': 'chrome'
8 | },
9 |
10 | //seleniumAddress: 'http://0.0.0.0:4444',
11 | // add proper version number
12 | seleniumServerJar: './node_modules/gulp-protractor/node_modules/protractor/selenium/selenium-server-standalone-2.44.0.jar',
13 | specs: ['specs/e2e/dist/*.js'],
14 |
15 | plugins: [{
16 | path: 'aurelia.protractor.js'
17 | }],
18 |
19 |
20 | // Options to be passed to Jasmine-node.
21 | jasmineNodeOpts: {
22 | showColors: true,
23 | defaultTimeoutInterval: 30000
24 | }
25 | };
26 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/app.js:
--------------------------------------------------------------------------------
1 | import 'bootstrap';
2 | import 'bootstrap/css/bootstrap.css!';
3 |
4 | export class App {
5 | configureRouter(config, router){
6 | config.title = 'Aurelia';
7 | config.map([
8 | { route: ['','welcome'], name: 'welcome', moduleId: 'welcome', nav: true, title:'Welcome' },
9 | { route: 'users', name: 'users', moduleId: 'users', nav: true, title:'Github Users' },
10 | { route: 'child-router', name: 'child-router', moduleId: 'child-router', nav: true, title:'Child Router' }
11 | ]);
12 |
13 | this.router = router;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/blur-image.js:
--------------------------------------------------------------------------------
1 | import {inject} from 'aurelia-framework';
2 |
3 | @inject(Element)
4 | export class BlurImageCustomAttribute {
5 | constructor(element){
6 | this.element = element;
7 | }
8 |
9 | valueChanged(newImage){
10 | if(newImage.complete){
11 | drawBlur(this.element, newImage);
12 | } else{
13 | newImage.onload = () => drawBlur(this.element, newImage);
14 | }
15 | }
16 | }
17 |
18 | /*
19 | This Snippet is using a modified Stack Blur js lib for blurring the header images.
20 | */
21 |
22 | /*
23 |
24 | StackBlur - a fast almost Gaussian Blur For Canvas
25 |
26 | Version: 0.5
27 | Author: Mario Klingemann
28 | Contact: mario@quasimondo.com
29 | Website: http://www.quasimondo.com/StackBlurForCanvas
30 | Twitter: @quasimondo
31 |
32 | In case you find this class useful - especially in commercial projects -
33 | I am not totally unhappy for a small donation to my PayPal account
34 | mario@quasimondo.de
35 |
36 | Or support me on flattr:
37 | https://flattr.com/thing/72791/StackBlur-a-fast-almost-Gaussian-Blur-Effect-for-CanvasJavascript
38 |
39 | Copyright (c) 2010 Mario Klingemann
40 |
41 | Permission is hereby granted, free of charge, to any person
42 | obtaining a copy of this software and associated documentation
43 | files (the "Software"), to deal in the Software without
44 | restriction, including without limitation the rights to use,
45 | copy, modify, merge, publish, distribute, sublicense, and/or sell
46 | copies of the Software, and to permit persons to whom the
47 | Software is furnished to do so, subject to the following
48 | conditions:
49 |
50 | The above copyright notice and this permission notice shall be
51 | included in all copies or substantial portions of the Software.
52 |
53 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
54 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
55 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
56 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
57 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
58 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
59 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
60 | OTHER DEALINGS IN THE SOFTWARE.
61 | */
62 |
63 | var mul_table = [
64 | 512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,
65 | 454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,
66 | 482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,
67 | 437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,
68 | 497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,
69 | 320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,
70 | 446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,
71 | 329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,
72 | 505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,
73 | 399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,
74 | 324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,
75 | 268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,
76 | 451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,
77 | 385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,
78 | 332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,
79 | 289,287,285,282,280,278,275,273,271,269,267,265,263,261,259];
80 |
81 |
82 | var shg_table = [
83 | 9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17,
84 | 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19,
85 | 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20,
86 | 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21,
87 | 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
88 | 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22,
89 | 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
90 | 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,
91 | 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
92 | 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
93 | 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
94 | 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
95 | 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
96 | 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
97 | 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
98 | 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 ];
99 |
100 | var BLUR_RADIUS = 40;
101 |
102 | function stackBlurCanvasRGBA( canvas, top_x, top_y, width, height, radius )
103 | {
104 | if ( isNaN(radius) || radius < 1 ) return;
105 | radius |= 0;
106 |
107 | var context = canvas.getContext("2d");
108 | var imageData;
109 |
110 | try {
111 | imageData = context.getImageData( top_x, top_y, width, height );
112 | } catch(e) {
113 | throw new Error("unable to access image data: " + e);
114 | }
115 |
116 | var pixels = imageData.data;
117 |
118 | var x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum,
119 | r_out_sum, g_out_sum, b_out_sum, a_out_sum,
120 | r_in_sum, g_in_sum, b_in_sum, a_in_sum,
121 | pr, pg, pb, pa, rbs;
122 |
123 | var div = radius + radius + 1;
124 | var w4 = width << 2;
125 | var widthMinus1 = width - 1;
126 | var heightMinus1 = height - 1;
127 | var radiusPlus1 = radius + 1;
128 | var sumFactor = radiusPlus1 * ( radiusPlus1 + 1 ) / 2;
129 |
130 | var stackStart = new BlurStack();
131 | var stack = stackStart;
132 | for ( i = 1; i < div; i++ )
133 | {
134 | stack = stack.next = new BlurStack();
135 | if ( i == radiusPlus1 ) var stackEnd = stack;
136 | }
137 | stack.next = stackStart;
138 | var stackIn = null;
139 | var stackOut = null;
140 |
141 | yw = yi = 0;
142 |
143 | var mul_sum = mul_table[radius];
144 | var shg_sum = shg_table[radius];
145 |
146 | for ( y = 0; y < height; y++ )
147 | {
148 | r_in_sum = g_in_sum = b_in_sum = a_in_sum = r_sum = g_sum = b_sum = a_sum = 0;
149 |
150 | r_out_sum = radiusPlus1 * ( pr = pixels[yi] );
151 | g_out_sum = radiusPlus1 * ( pg = pixels[yi+1] );
152 | b_out_sum = radiusPlus1 * ( pb = pixels[yi+2] );
153 | a_out_sum = radiusPlus1 * ( pa = pixels[yi+3] );
154 |
155 | r_sum += sumFactor * pr;
156 | g_sum += sumFactor * pg;
157 | b_sum += sumFactor * pb;
158 | a_sum += sumFactor * pa;
159 |
160 | stack = stackStart;
161 |
162 | for( i = 0; i < radiusPlus1; i++ )
163 | {
164 | stack.r = pr;
165 | stack.g = pg;
166 | stack.b = pb;
167 | stack.a = pa;
168 | stack = stack.next;
169 | }
170 |
171 | for( i = 1; i < radiusPlus1; i++ )
172 | {
173 | p = yi + (( widthMinus1 < i ? widthMinus1 : i ) << 2 );
174 | r_sum += ( stack.r = ( pr = pixels[p])) * ( rbs = radiusPlus1 - i );
175 | g_sum += ( stack.g = ( pg = pixels[p+1])) * rbs;
176 | b_sum += ( stack.b = ( pb = pixels[p+2])) * rbs;
177 | a_sum += ( stack.a = ( pa = pixels[p+3])) * rbs;
178 |
179 | r_in_sum += pr;
180 | g_in_sum += pg;
181 | b_in_sum += pb;
182 | a_in_sum += pa;
183 |
184 | stack = stack.next;
185 | }
186 |
187 |
188 | stackIn = stackStart;
189 | stackOut = stackEnd;
190 | for ( x = 0; x < width; x++ )
191 | {
192 | pixels[yi+3] = pa = (a_sum * mul_sum) >> shg_sum;
193 | if ( pa != 0 )
194 | {
195 | pa = 255 / pa;
196 | pixels[yi] = ((r_sum * mul_sum) >> shg_sum) * pa;
197 | pixels[yi+1] = ((g_sum * mul_sum) >> shg_sum) * pa;
198 | pixels[yi+2] = ((b_sum * mul_sum) >> shg_sum) * pa;
199 | } else {
200 | pixels[yi] = pixels[yi+1] = pixels[yi+2] = 0;
201 | }
202 |
203 | r_sum -= r_out_sum;
204 | g_sum -= g_out_sum;
205 | b_sum -= b_out_sum;
206 | a_sum -= a_out_sum;
207 |
208 | r_out_sum -= stackIn.r;
209 | g_out_sum -= stackIn.g;
210 | b_out_sum -= stackIn.b;
211 | a_out_sum -= stackIn.a;
212 |
213 | p = ( yw + ( ( p = x + radius + 1 ) < widthMinus1 ? p : widthMinus1 ) ) << 2;
214 |
215 | r_in_sum += ( stackIn.r = pixels[p]);
216 | g_in_sum += ( stackIn.g = pixels[p+1]);
217 | b_in_sum += ( stackIn.b = pixels[p+2]);
218 | a_in_sum += ( stackIn.a = pixels[p+3]);
219 |
220 | r_sum += r_in_sum;
221 | g_sum += g_in_sum;
222 | b_sum += b_in_sum;
223 | a_sum += a_in_sum;
224 |
225 | stackIn = stackIn.next;
226 |
227 | r_out_sum += ( pr = stackOut.r );
228 | g_out_sum += ( pg = stackOut.g );
229 | b_out_sum += ( pb = stackOut.b );
230 | a_out_sum += ( pa = stackOut.a );
231 |
232 | r_in_sum -= pr;
233 | g_in_sum -= pg;
234 | b_in_sum -= pb;
235 | a_in_sum -= pa;
236 |
237 | stackOut = stackOut.next;
238 |
239 | yi += 4;
240 | }
241 | yw += width;
242 | }
243 |
244 |
245 | for ( x = 0; x < width; x++ )
246 | {
247 | g_in_sum = b_in_sum = a_in_sum = r_in_sum = g_sum = b_sum = a_sum = r_sum = 0;
248 |
249 | yi = x << 2;
250 | r_out_sum = radiusPlus1 * ( pr = pixels[yi]);
251 | g_out_sum = radiusPlus1 * ( pg = pixels[yi+1]);
252 | b_out_sum = radiusPlus1 * ( pb = pixels[yi+2]);
253 | a_out_sum = radiusPlus1 * ( pa = pixels[yi+3]);
254 |
255 | r_sum += sumFactor * pr;
256 | g_sum += sumFactor * pg;
257 | b_sum += sumFactor * pb;
258 | a_sum += sumFactor * pa;
259 |
260 | stack = stackStart;
261 |
262 | for( i = 0; i < radiusPlus1; i++ )
263 | {
264 | stack.r = pr;
265 | stack.g = pg;
266 | stack.b = pb;
267 | stack.a = pa;
268 | stack = stack.next;
269 | }
270 |
271 | yp = width;
272 |
273 | for( i = 1; i <= radius; i++ )
274 | {
275 | yi = ( yp + x ) << 2;
276 |
277 | r_sum += ( stack.r = ( pr = pixels[yi])) * ( rbs = radiusPlus1 - i );
278 | g_sum += ( stack.g = ( pg = pixels[yi+1])) * rbs;
279 | b_sum += ( stack.b = ( pb = pixels[yi+2])) * rbs;
280 | a_sum += ( stack.a = ( pa = pixels[yi+3])) * rbs;
281 |
282 | r_in_sum += pr;
283 | g_in_sum += pg;
284 | b_in_sum += pb;
285 | a_in_sum += pa;
286 |
287 | stack = stack.next;
288 |
289 | if( i < heightMinus1 )
290 | {
291 | yp += width;
292 | }
293 | }
294 |
295 | yi = x;
296 | stackIn = stackStart;
297 | stackOut = stackEnd;
298 | for ( y = 0; y < height; y++ )
299 | {
300 | p = yi << 2;
301 | pixels[p+3] = pa = (a_sum * mul_sum) >> shg_sum;
302 | if ( pa > 0 )
303 | {
304 | pa = 255 / pa;
305 | pixels[p] = ((r_sum * mul_sum) >> shg_sum ) * pa;
306 | pixels[p+1] = ((g_sum * mul_sum) >> shg_sum ) * pa;
307 | pixels[p+2] = ((b_sum * mul_sum) >> shg_sum ) * pa;
308 | } else {
309 | pixels[p] = pixels[p+1] = pixels[p+2] = 0;
310 | }
311 |
312 | r_sum -= r_out_sum;
313 | g_sum -= g_out_sum;
314 | b_sum -= b_out_sum;
315 | a_sum -= a_out_sum;
316 |
317 | r_out_sum -= stackIn.r;
318 | g_out_sum -= stackIn.g;
319 | b_out_sum -= stackIn.b;
320 | a_out_sum -= stackIn.a;
321 |
322 | p = ( x + (( ( p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1 ) * width )) << 2;
323 |
324 | r_sum += ( r_in_sum += ( stackIn.r = pixels[p]));
325 | g_sum += ( g_in_sum += ( stackIn.g = pixels[p+1]));
326 | b_sum += ( b_in_sum += ( stackIn.b = pixels[p+2]));
327 | a_sum += ( a_in_sum += ( stackIn.a = pixels[p+3]));
328 |
329 | stackIn = stackIn.next;
330 |
331 | r_out_sum += ( pr = stackOut.r );
332 | g_out_sum += ( pg = stackOut.g );
333 | b_out_sum += ( pb = stackOut.b );
334 | a_out_sum += ( pa = stackOut.a );
335 |
336 | r_in_sum -= pr;
337 | g_in_sum -= pg;
338 | b_in_sum -= pb;
339 | a_in_sum -= pa;
340 |
341 | stackOut = stackOut.next;
342 |
343 | yi += width;
344 | }
345 | }
346 |
347 | context.putImageData( imageData, top_x, top_y );
348 |
349 | }
350 |
351 | function BlurStack()
352 | {
353 | this.r = 0;
354 | this.g = 0;
355 | this.b = 0;
356 | this.a = 0;
357 | this.next = null;
358 | }
359 |
360 | function drawBlur(canvas, image) {
361 | var w = canvas.width;
362 | var h = canvas.height;
363 | var canvasContext = canvas.getContext('2d');
364 | canvasContext.drawImage(image, 0, 0, w, h);
365 | stackBlurCanvasRGBA(canvas, 0, 0, w, h, BLUR_RADIUS);
366 | };
367 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/child-router.html:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/child-router.js:
--------------------------------------------------------------------------------
1 | export class ChildRouter{
2 | heading = 'Child Router';
3 |
4 | configureRouter(config, router){
5 | config.map([
6 | { route: ['','welcome'], name: 'welcome', moduleId: 'welcome', nav: true, title:'Welcome' },
7 | { route: 'users', name: 'users', moduleId: 'users', nav: true, title:'Github Users' },
8 | { route: 'child-router', name: 'child-router', moduleId: 'child-router', nav: true, title:'Child Router' }
9 | ]);
10 |
11 | this.router = router;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/main.js:
--------------------------------------------------------------------------------
1 | export function configure(aurelia) {
2 | aurelia.use
3 | .standardConfiguration()
4 | .developmentLogging()
5 | .plugin('aurelia-animator-css');
6 |
7 | aurelia.start().then(a => a.setRoot());
8 | }
9 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/nav-bar.html:
--------------------------------------------------------------------------------
1 |
2 |
30 |
31 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/nav-bar.js:
--------------------------------------------------------------------------------
1 | import {bindable} from 'aurelia-framework';
2 |
3 | export class NavBar {
4 | @bindable router = null;
5 | }
6 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/users.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ${heading}
6 |
7 |
8 |
9 |
10 |
11 |
![]()
12 |
13 |
14 |
${user.login}
15 |
Contact
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/users.js:
--------------------------------------------------------------------------------
1 | import {inject} from 'aurelia-framework';
2 | import {HttpClient} from 'aurelia-fetch-client';
3 | import 'fetch';
4 |
5 | @inject(HttpClient)
6 | export class Users{
7 | heading = 'Github Users';
8 | users = [];
9 |
10 | constructor(http){
11 | http.configure(config => {
12 | config
13 | .useStandardConfiguration()
14 | .withBaseUrl('https://api.github.com/');
15 | });
16 |
17 | this.http = http;
18 | }
19 |
20 | activate(){
21 | return this.http.fetch('users')
22 | .then(response => response.json())
23 | .then(users => this.users = users);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/welcome.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | ${heading}
4 |
5 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/src/welcome.js:
--------------------------------------------------------------------------------
1 | import {computedFrom} from 'aurelia-framework';
2 |
3 | export class Welcome{
4 | heading = 'Welcome to the Aurelia Navigation App!';
5 | firstName = 'John';
6 | lastName = 'Doe';
7 | previousValue = this.fullName;
8 |
9 | //Getters can't be observed with Object.observe, so they must be dirty checked.
10 | //However, if you tell Aurelia the dependencies, it no longer needs to dirty check the property.
11 | //To optimize by declaring the properties that this getter is computed from, uncomment the line below.
12 | //@computedFrom('firstName', 'lastName')
13 | get fullName(){
14 | return `${this.firstName} ${this.lastName}`;
15 | }
16 |
17 | submit(){
18 | this.previousValue = this.fullName;
19 | alert(`Welcome, ${this.fullName}!`);
20 | }
21 |
22 | canDeactivate() {
23 | if (this.fullName !== this.previousValue) {
24 | return confirm('Are you sure you want to leave?');
25 | }
26 | }
27 | }
28 |
29 | export class UpperValueConverter {
30 | toView(value){
31 | return value && value.toUpperCase();
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/styles/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | }
4 |
5 | .splash {
6 | text-align: center;
7 | margin: 10% 0 0 0;
8 | box-sizing: border-box;
9 | }
10 |
11 | .splash .message {
12 | font-size: 72px;
13 | line-height: 72px;
14 | text-shadow: rgba(0, 0, 0, 0.5) 0 0 15px;
15 | text-transform: uppercase;
16 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
17 | }
18 |
19 | .splash .fa-spinner {
20 | text-align: center;
21 | display: inline-block;
22 | font-size: 72px;
23 | margin-top: 50px;
24 | }
25 |
26 | .page-host {
27 | position: absolute;
28 | left: 0;
29 | right: 0;
30 | top: 50px;
31 | bottom: 0;
32 | overflow-x: hidden;
33 | overflow-y: auto;
34 | }
35 |
36 | @media print
37 | {
38 | .page-host {
39 | position: absolute;
40 | left: 10px;
41 | right: 0;
42 | top: 50px;
43 | bottom: 0;
44 | overflow-y: inherit;
45 | overflow-x: inherit;
46 | }
47 | }
48 |
49 | section {
50 | margin: 0 20px;
51 | }
52 |
53 | .navbar-nav li.loader {
54 | margin: 12px 24px 0 6px;
55 | }
56 |
57 | .pictureDetail {
58 | max-width: 425px;
59 | }
60 |
61 | /* animate page transitions */
62 | section.au-enter-active {
63 | -webkit-animation: fadeInRight 1s;
64 | animation: fadeInRight 1s;
65 | }
66 |
67 | div.au-stagger {
68 | /* 50ms will be applied between each successive enter operation */
69 | -webkit-animation-delay:50ms;
70 | animation-delay:50ms;
71 | }
72 |
73 | .card-container.au-enter {
74 | opacity: 0!important;
75 | }
76 |
77 | .card-container.au-enter-active {
78 | -webkit-animation: fadeIn 2s;
79 | animation: fadeIn 2s;
80 | }
81 |
82 | .card {
83 | overflow: hidden;
84 | position: relative;
85 | border: 1px solid #CCC;
86 | border-radius: 8px;
87 | text-align: center;
88 | padding: 0;
89 | background-color: #337ab7;
90 | color: rgb(136, 172, 217);
91 | margin-bottom: 32px;
92 | box-shadow: 0 0 5px rgba(0,0,0,.5);
93 | }
94 |
95 | .card .content {
96 | margin-top: 10px;
97 | }
98 |
99 | .card .content .name {
100 | color: white;
101 | text-shadow: 0 0 6px rgba(0,0,0,.5);
102 | font-size: 18px;
103 | }
104 |
105 | .card .header-bg {
106 | /* This stretches the canvas across the entire hero unit */
107 | position: absolute;
108 | top: 0;
109 | left: 0;
110 | width: 100%;
111 | height: 70px;
112 | border-bottom: 1px #FFF solid;
113 | border-radius: 6px 6px 0 0;
114 | }
115 |
116 | .card .avatar {
117 | position: relative;
118 | margin-top: 15px;
119 | z-index: 100;
120 | }
121 |
122 | .card .avatar img {
123 | width: 100px;
124 | height: 100px;
125 | -webkit-border-radius: 50%;
126 | -moz-border-radius: 50%;
127 | border-radius: 50%;
128 | border: 2px #FFF solid;
129 | }
130 |
131 |
132 | /* animation definitions */
133 | @-webkit-keyframes fadeInRight {
134 | 0% {
135 | opacity: 0;
136 | -webkit-transform: translate3d(100%, 0, 0);
137 | transform: translate3d(100%, 0, 0)
138 | }
139 | 100% {
140 | opacity: 1;
141 | -webkit-transform: none;
142 | transform: none
143 | }
144 | }
145 |
146 | @keyframes fadeInRight {
147 | 0% {
148 | opacity: 0;
149 | -webkit-transform: translate3d(100%, 0, 0);
150 | -ms-transform: translate3d(100%, 0, 0);
151 | transform: translate3d(100%, 0, 0)
152 | }
153 | 100% {
154 | opacity: 1;
155 | -webkit-transform: none;
156 | -ms-transform: none;
157 | transform: none
158 | }
159 | }
160 |
161 |
162 | @-webkit-keyframes fadeIn {
163 | 0% {
164 | opacity: 0;
165 | }
166 | 100% {
167 | opacity: 1;
168 | }
169 | }
170 |
171 | @keyframes fadeIn {
172 | 0% {
173 | opacity: 0;
174 | }
175 | 100% {
176 | opacity: 1;
177 | }
178 | }
179 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/test/e2e/dist/demo.spec.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var _welcomePoJs = require('./welcome.po.js');
4 |
5 | var _skeletonPoJs = require('./skeleton.po.js');
6 |
7 | describe('aurelia skeleton app', function () {
8 | var po_welcome, po_skeleton;
9 |
10 | beforeEach(function () {
11 | po_skeleton = new _skeletonPoJs.PageObject_Skeleton();
12 | po_welcome = new _welcomePoJs.PageObject_Welcome();
13 |
14 | browser.loadAndWaitForAureliaPage('http://localhost:9000');
15 | });
16 |
17 | it('should load the page and display the initial page title', function () {
18 | expect(po_skeleton.getCurrentPageTitle()).toBe('Welcome | Aurelia');
19 | });
20 |
21 | it('should display greeting', function () {
22 | expect(po_welcome.getGreeting()).toBe('Welcome to the Aurelia Navigation App!');
23 | });
24 |
25 | it('should automatically write down the fullname', function () {
26 | po_welcome.setFirstname('Rob');
27 | po_welcome.setLastname('Eisenberg');
28 |
29 | // For now there is a timing issue with the binding.
30 | // Until resolved we will use a short sleep to overcome the issue.
31 | browser.sleep(200);
32 | expect(po_welcome.getFullname()).toBe('ROB EISENBERG');
33 | });
34 |
35 | it('should show alert message when clicking submit button', function () {
36 | expect(po_welcome.openAlertDialog()).toBe(true);
37 | });
38 |
39 | it('should navigate to flickr page', function () {
40 | po_skeleton.navigateTo('#/flickr');
41 | expect(po_skeleton.getCurrentPageTitle()).toBe('Flickr | Aurelia');
42 | });
43 | });
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/test/e2e/dist/skeleton.po.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | Object.defineProperty(exports, '__esModule', {
4 | value: true
5 | });
6 |
7 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
8 |
9 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
10 |
11 | var PageObject_Skeleton = (function () {
12 | function PageObject_Skeleton() {
13 | _classCallCheck(this, PageObject_Skeleton);
14 | }
15 |
16 | _createClass(PageObject_Skeleton, [{
17 | key: 'getCurrentPageTitle',
18 | value: function getCurrentPageTitle() {
19 | return browser.getTitle();
20 | }
21 | }, {
22 | key: 'navigateTo',
23 | value: function navigateTo(href) {
24 | element(by.css('a[href="' + href + '"]')).click();
25 | return browser.waitForHttpDone();
26 | }
27 | }]);
28 |
29 | return PageObject_Skeleton;
30 | })();
31 |
32 | exports.PageObject_Skeleton = PageObject_Skeleton;
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/test/e2e/dist/welcome.po.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | Object.defineProperty(exports, '__esModule', {
4 | value: true
5 | });
6 |
7 | var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
8 |
9 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
10 |
11 | var PageObject_Welcome = (function () {
12 | function PageObject_Welcome() {
13 | _classCallCheck(this, PageObject_Welcome);
14 | }
15 |
16 | _createClass(PageObject_Welcome, [{
17 | key: 'getGreeting',
18 | value: function getGreeting() {
19 | return element(by.tagName('h2')).getText();
20 | }
21 | }, {
22 | key: 'setFirstname',
23 | value: function setFirstname(value) {
24 | return element(by.valueBind('firstName')).clear().sendKeys(value);
25 | }
26 | }, {
27 | key: 'setLastname',
28 | value: function setLastname(value) {
29 | return element(by.valueBind('lastName')).clear().sendKeys(value);
30 | }
31 | }, {
32 | key: 'getFullname',
33 | value: function getFullname() {
34 | return element(by.css('.help-block')).getText();
35 | }
36 | }, {
37 | key: 'pressSubmitButton',
38 | value: function pressSubmitButton() {
39 | return element(by.css('button[type="submit"]')).click();
40 | }
41 | }, {
42 | key: 'openAlertDialog',
43 | value: function openAlertDialog() {
44 | var _this = this;
45 |
46 | return browser.wait(function () {
47 | _this.pressSubmitButton();
48 |
49 | return browser.switchTo().alert().then(
50 | // use alert.accept instead of alert.dismiss which results in a browser crash
51 | function (alert) {
52 | alert.accept();return true;
53 | }, function () {
54 | return false;
55 | });
56 | });
57 | }
58 | }]);
59 |
60 | return PageObject_Welcome;
61 | })();
62 |
63 | exports.PageObject_Welcome = PageObject_Welcome;
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/test/e2e/src/demo.spec.js:
--------------------------------------------------------------------------------
1 | import {PageObject_Welcome} from './welcome.po.js';
2 | import {PageObject_Skeleton} from './skeleton.po.js';
3 |
4 | describe('aurelia skeleton app', function() {
5 | var po_welcome,
6 | po_skeleton;
7 |
8 | beforeEach( () => {
9 | po_skeleton = new PageObject_Skeleton();
10 | po_welcome = new PageObject_Welcome();
11 |
12 | browser.loadAndWaitForAureliaPage("http://localhost:9000");
13 | });
14 |
15 | it('should load the page and display the initial page title', () => {
16 | expect(po_skeleton.getCurrentPageTitle()).toBe('Welcome | Aurelia');
17 | });
18 |
19 | it('should display greeting', () => {
20 | expect(po_welcome.getGreeting()).toBe('Welcome to the Aurelia Navigation App!');
21 | });
22 |
23 | it('should automatically write down the fullname', () => {
24 | po_welcome.setFirstname('Rob');
25 | po_welcome.setLastname('Eisenberg');
26 |
27 | // For now there is a timing issue with the binding.
28 | // Until resolved we will use a short sleep to overcome the issue.
29 | browser.sleep(200);
30 | expect(po_welcome.getFullname()).toBe('ROB EISENBERG');
31 | });
32 |
33 | it('should show alert message when clicking submit button', () => {
34 | expect(po_welcome.openAlertDialog()).toBe(true);
35 | });
36 |
37 | it('should navigate to flickr page', () => {
38 | po_skeleton.navigateTo('#/flickr');
39 | expect(po_skeleton.getCurrentPageTitle()).toBe('Flickr | Aurelia');
40 | });
41 | });
42 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/test/e2e/src/skeleton.po.js:
--------------------------------------------------------------------------------
1 | export class PageObject_Skeleton {
2 |
3 | constructor() {
4 |
5 | }
6 |
7 | getCurrentPageTitle() {
8 | return browser.getTitle();
9 | }
10 |
11 | navigateTo(href) {
12 | element(by.css('a[href="' + href + '"]')).click();
13 | return browser.waitForHttpDone();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/test/e2e/src/welcome.po.js:
--------------------------------------------------------------------------------
1 | export class PageObject_Welcome {
2 |
3 | constructor() {
4 |
5 | }
6 |
7 | getGreeting() {
8 | return element(by.tagName('h2')).getText();
9 | }
10 |
11 | setFirstname(value) {
12 | return element(by.valueBind('firstName')).clear().sendKeys(value);
13 | }
14 |
15 | setLastname(value) {
16 | return element(by.valueBind('lastName')).clear().sendKeys(value);
17 | }
18 |
19 | getFullname() {
20 | return element(by.css('.help-block')).getText();
21 | }
22 |
23 | pressSubmitButton() {
24 | return element(by.css('button[type="submit"]')).click();
25 | }
26 |
27 | openAlertDialog() {
28 | return browser.wait(() => {
29 | this.pressSubmitButton();
30 |
31 | return browser.switchTo().alert().then(
32 | // use alert.accept instead of alert.dismiss which results in a browser crash
33 | function(alert) { alert.accept(); return true; },
34 | function() { return false; }
35 | );
36 | });
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/test/unit/app.spec.js:
--------------------------------------------------------------------------------
1 | import {App} from '../../src/app';
2 |
3 | class RouterStub {
4 | configure(handler) {
5 | handler(this);
6 | }
7 | map(routes) {
8 | this.routes = routes;
9 | }
10 | }
11 |
12 | describe('the App module', () => {
13 | var sut
14 | , mockedRouter;
15 |
16 | beforeEach(() => {
17 | mockedRouter = new RouterStub();
18 | sut = new App(mockedRouter);
19 | sut.configureRouter(mockedRouter, mockedRouter);
20 | });
21 |
22 | it('contains a router property', () => {
23 | expect(sut.router).toBeDefined();
24 | });
25 |
26 | it('configures the router title', () => {
27 | expect(sut.router.title).toEqual('Aurelia');
28 | });
29 |
30 | it('should have a welcome route', () => {
31 | expect(sut.router.routes).toContain({ route: ['','welcome'], name: 'welcome', moduleId: './welcome', nav: true, title:'Welcome' });
32 | });
33 |
34 | it('should have a flickr route', () => {
35 | expect(sut.router.routes).toContain({ route: 'flickr', name: 'flickr', moduleId: './flickr', nav: true, title:'Flickr' });
36 | });
37 |
38 | it('should have a child router route', () => {
39 | expect(sut.router.routes).toContain({ route: 'child-router', name: 'child-router', moduleId: './child-router', nav: true, title:'Child Router' });
40 | });
41 | });
42 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/test/unit/child-router.spec.js:
--------------------------------------------------------------------------------
1 | import {ChildRouter} from '../../src/child-router';
2 |
3 | class RouterStub {
4 | configure(handler) {
5 | handler(this);
6 | }
7 | map(routes) {
8 | this.routes = routes;
9 | }
10 | }
11 |
12 | describe('the Child Router module', () => {
13 | var sut
14 | , mockedRouter;
15 |
16 | beforeEach(() => {
17 | mockedRouter = new RouterStub();
18 | sut = new ChildRouter(mockedRouter);
19 | sut.configureRouter(mockedRouter, mockedRouter);
20 | });
21 |
22 | it('contains a router property', () => {
23 | expect(sut.router).toBeDefined();
24 | });
25 |
26 | it('configures the heading', () => {
27 | expect(sut.heading).toEqual('Child Router');
28 | });
29 |
30 | it('should have a welcome route', () => {
31 | expect(sut.router.routes).toContain({ route: ['','welcome'], name: 'welcome', moduleId: './welcome', nav: true, title:'Welcome' });
32 | });
33 |
34 | it('should have a flickr route', () => {
35 | expect(sut.router.routes).toContain({ route: 'flickr', name: 'flickr', moduleId: './flickr', nav: true, title:'Flickr' });
36 | });
37 |
38 | it('should have a child router route', () => {
39 | expect(sut.router.routes).toContain({ route: 'child-router', name: 'child-router', moduleId: './child-router', nav: true, title:'Child Router' });
40 | });
41 | });
42 |
--------------------------------------------------------------------------------
/aspnet-skeleton-navigation/test/unit/flickr.spec.js:
--------------------------------------------------------------------------------
1 | import {Flickr} from '../../src/flickr';
2 |
3 | class HttpStub {
4 | jsonp(url) {
5 | var response = this.itemStub;
6 | this.url = url;
7 | return new Promise((resolve) => {
8 | resolve({ content: { items: response } });
9 | })
10 | }
11 | }
12 |
13 | describe('the Flickr module', () => {
14 |
15 | it('sets jsonp response to images', (done) => {
16 | var http = new HttpStub(),
17 | sut = new Flickr(http),
18 | itemStubs = [1],
19 | itemFake = [2];
20 |
21 | http.itemStub = itemStubs;
22 | sut.activate().then(() => {
23 | expect(sut.images).toBe(itemStubs);
24 | expect(sut.images).not.toBe(itemFake);
25 | done();
26 | });
27 | });
28 | });
29 |
--------------------------------------------------------------------------------
/build/MSBuild.Gulp.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildProjectDirectory)\gulpfile.js
5 | $(MSBuildProjectDirectory)
6 | vs-build-$(Configuration)
7 |
8 |
9 | $(MSBuildProjectDirectory)\gulpfile.coffee
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/build/MSBuild.Gulp.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Gulp module not found. Please install Gulp in the node module path '$(NodeModulePath)'.
6 | Error running gulp task '$(GulpTask)'. See Warnings for details.
7 | $(NodeModulePath)\gulp.cmd
8 | $([System.IO.Path]::GetTempFileName())
9 | 0
10 |
11 |
12 |
13 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | $(EnsureNodeInPathCmd) "$(GulpExecutable)" $(GulpTask) > "$(GulpOut)"
25 |
26 |
27 |
28 |
29 |
30 |
34 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/build/MSBuild.Jspm.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildProjectDirectory)\config.js
5 | install
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/build/MSBuild.Jspm.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Jspm module not found. Please install Jspm in the node module path '$(NodeModulePath)'.
6 | $(NodeModulePath)\jspm.cmd
7 | 0
8 |
9 |
10 |
11 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | $(EnsureNodeInPathCmd) "$(JspmExecutable)" $(JspmCommand)
23 |
24 |
25 |
26 |
27 |
28 |
32 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/build/MSBuild.Node.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(NODEJS)
5 | $(HOMEDRIVE)$(HOMEPATH)\AppData\Roaming\npm
6 |
7 |
8 | $(GlobalNodePath)
9 | $(GlobalNodeModulePath)
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/build/MSBuild.Node.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Global NodeJS installation not found. Please set the 'NODEJS' environment variable for a global installation or set the 'LocalNodePath' property in your project file for a local installation.
6 | Invalid global node path.
7 | Invalid local node path.
8 |
9 |
10 |
11 |
12 |
13 |
14 | $(LocalNodePath)
15 | SETLOCAL & SET PATH=$(NodePath);%PATH% &
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 | $([System.IO.Path]::GetDirectoryName('$(NodeExecutable)'))
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | Global node modules not found. Please set the 'LocalNodeModulePath' property in your project file.
38 | Invalid global node module path.
39 | Invalid local node module path.
40 | ""$(NodePath)\npm.cmd" config get prefix"
41 |
42 |
43 |
44 |
45 |
46 | $(LocalNodeModulePath)
47 |
48 |
49 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/build/MSBuild.Npm.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildProjectDirectory)\package.json
5 | install
6 |
7 |
8 | install --msvs-version=2013
9 |
10 |
11 |
--------------------------------------------------------------------------------
/build/MSBuild.Npm.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | "$(NodePath)\npm" $(NpmCommand)
6 |
7 |
8 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------