diff options
| -rw-r--r-- | docs/src/ngdoc.js | 1 | ||||
| -rw-r--r-- | docs/src/templates/js/docs.js | 57 | ||||
| -rw-r--r-- | src/ngRoute/directive/ngView.js | 2 |
3 files changed, 52 insertions, 8 deletions
diff --git a/docs/src/ngdoc.js b/docs/src/ngdoc.js index eb26bbf2..177fbd21 100644 --- a/docs/src/ngdoc.js +++ b/docs/src/ngdoc.js @@ -190,6 +190,7 @@ Doc.prototype = { var example = new Example(self.scenarios); if(animations) { example.enableAnimations(); + example.addDeps('angular-animate.js'); } example.setModule(module); diff --git a/docs/src/templates/js/docs.js b/docs/src/templates/js/docs.js index 710e5f63..f52c2216 100644 --- a/docs/src/templates/js/docs.js +++ b/docs/src/templates/js/docs.js @@ -358,6 +358,22 @@ docsApp.serviceFactory.formPostData = function($document) { }; +docsApp.serviceFactory.prepareDefaultAppModule = function() { + return function(content) { + var deps = []; + angular.forEach(content.deps, function(file) { + if(file.name == 'angular-animate.js') { + deps.push('ngAnimate'); + } + }); + + var moduleName = 'App'; + return { + module : moduleName, + script : "angular.module('" + moduleName + "', ['" + deps.join("','") + "']);\n\n" + }; + }; +}; docsApp.serviceFactory.prepareEditorAssetTags = function(angularUrls) { return function(content, options) { @@ -402,16 +418,16 @@ docsApp.serviceFactory.prepareEditorAssetTags = function(angularUrls) { }; -docsApp.serviceFactory.openPlunkr = function(templateMerge, formPostData, prepareEditorAssetTags) { +docsApp.serviceFactory.openPlunkr = function(templateMerge, formPostData, prepareEditorAssetTags, prepareDefaultAppModule) { return function(content) { var hasRouting = false; angular.forEach(content.deps, function(file) { hasRouting = hasRouting || file.name == 'angular-route.js'; }); var indexHtmlContent = '<!doctype html>\n' + - '<html ng-app="{{module}}">\n' + - ' <head>\n' + - '{{scriptDeps}}'; + '<html ng-app="{{module}}">\n' + + ' <head>\n' + + '{{scriptDeps}}'; if(hasRouting) { indexHtmlContent += '<script type="text/javascript">\n' + @@ -433,9 +449,31 @@ docsApp.serviceFactory.openPlunkr = function(templateMerge, formPostData, prepar scriptDeps: prepareEditorAssetTags(content, { includeLocalFiles : true }), indexContents: content.html[0].content }; - var postData = {}; var allFiles = [].concat(content.js, content.css, content.html, content.json); + + if(!content.module) { + var moduleData = prepareDefaultAppModule(content); + indexProp.module = moduleData.module; + + var found = false; + angular.forEach(content.js, function(file) { + if(file.name == 'script.js') { + file.content = moduleData.script + file.content; + found = true; + } + }); + if(!found) { + indexProp.scriptDeps += '<script type="text/javascript" src="script.js"></script>\n'; + allFiles.push({ + name : 'script.js', + content : moduleData.script + }); + } + }; + + var postData = {}; + angular.forEach(allFiles, function(file, index) { if (file.content && file.name != 'index.html') { postData['files[' + file.name + ']'] = file.content; @@ -452,10 +490,10 @@ docsApp.serviceFactory.openPlunkr = function(templateMerge, formPostData, prepar }; }; -docsApp.serviceFactory.openJsFiddle = function(templateMerge, formPostData, prepareEditorAssetTags) { +docsApp.serviceFactory.openJsFiddle = function(templateMerge, formPostData, prepareEditorAssetTags, prepareDefaultAppModule) { var HTML = '<div ng-app=\"{{module}}\">\n{{html:2}}</div>', CSS = '</style> <!-- Ugly Hack to make remote files preload in jsFiddle --> \n' + - '{{head:0}}<style>\nā.ng-invalid { border: 1px solid red; }ā\n{{css}}', + '{{head:0}}<style>{{css}}', SCRIPT = '{{script}}', SCRIPT_CACHE = '\n\n<!-- {{name}} -->\n<script type="text/ng-template" id="{{name}}">\n{{content:2}}</script>', BASE_HREF_TAG = '<!-- Ugly Hack to make AngularJS routing work inside of jsFiddle -->\n' + @@ -468,6 +506,11 @@ docsApp.serviceFactory.openJsFiddle = function(templateMerge, formPostData, prep css: '', script: '' }; + if(!prop.module) { + var moduleData = prepareDefaultAppModule(content); + prop.script = moduleData.script; + prop.module = moduleData.module; + }; angular.forEach(content.html, function(file, index) { if (index) { diff --git a/src/ngRoute/directive/ngView.js b/src/ngRoute/directive/ngView.js index c4add9ce..2ca41897 100644 --- a/src/ngRoute/directive/ngView.js +++ b/src/ngRoute/directive/ngView.js @@ -99,7 +99,7 @@ ngRouteModule.directive('ngView', ngViewFactory); </file> <file name="script.js"> - angular.module('ngViewExample', ['ngRoute'], function($routeProvider, $locationProvider) { + angular.module('ngViewExample', ['ngRoute', 'ngAnimate'], function($routeProvider, $locationProvider) { $routeProvider.when('/Book/:bookId', { templateUrl: 'book.html', controller: BookCntl, |
