Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 419ed04

Browse files
matskomhevery
authored andcommitted
chore(ngdocs): fixed jsFiddle/Plunkr examples to include ngAnimate and use a default App the module is not set
1 parent 8d6bd51 commit 419ed04

File tree

3 files changed

+52
-8
lines changed

3 files changed

+52
-8
lines changed

docs/src/ngdoc.js

+1
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ Doc.prototype = {
190190
var example = new Example(self.scenarios);
191191
if(animations) {
192192
example.enableAnimations();
193+
example.addDeps('angular-animate.js');
193194
}
194195

195196
example.setModule(module);

docs/src/templates/js/docs.js

+50-7
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,22 @@ docsApp.serviceFactory.formPostData = function($document) {
358358
};
359359

360360

361+
docsApp.serviceFactory.prepareDefaultAppModule = function() {
362+
return function(content) {
363+
var deps = [];
364+
angular.forEach(content.deps, function(file) {
365+
if(file.name == 'angular-animate.js') {
366+
deps.push('ngAnimate');
367+
}
368+
});
369+
370+
var moduleName = 'App';
371+
return {
372+
module : moduleName,
373+
script : "angular.module('" + moduleName + "', ['" + deps.join("','") + "']);\n\n"
374+
};
375+
};
376+
};
361377

362378
docsApp.serviceFactory.prepareEditorAssetTags = function(angularUrls) {
363379
return function(content, options) {
@@ -402,16 +418,16 @@ docsApp.serviceFactory.prepareEditorAssetTags = function(angularUrls) {
402418
};
403419

404420

405-
docsApp.serviceFactory.openPlunkr = function(templateMerge, formPostData, prepareEditorAssetTags) {
421+
docsApp.serviceFactory.openPlunkr = function(templateMerge, formPostData, prepareEditorAssetTags, prepareDefaultAppModule) {
406422
return function(content) {
407423
var hasRouting = false;
408424
angular.forEach(content.deps, function(file) {
409425
hasRouting = hasRouting || file.name == 'angular-route.js';
410426
});
411427
var indexHtmlContent = '<!doctype html>\n' +
412-
'<html ng-app="{{module}}">\n' +
413-
' <head>\n' +
414-
'{{scriptDeps}}';
428+
'<html ng-app="{{module}}">\n' +
429+
' <head>\n' +
430+
'{{scriptDeps}}';
415431

416432
if(hasRouting) {
417433
indexHtmlContent += '<script type="text/javascript">\n' +
@@ -433,9 +449,31 @@ docsApp.serviceFactory.openPlunkr = function(templateMerge, formPostData, prepar
433449
scriptDeps: prepareEditorAssetTags(content, { includeLocalFiles : true }),
434450
indexContents: content.html[0].content
435451
};
436-
var postData = {};
437452

438453
var allFiles = [].concat(content.js, content.css, content.html, content.json);
454+
455+
if(!content.module) {
456+
var moduleData = prepareDefaultAppModule(content);
457+
indexProp.module = moduleData.module;
458+
459+
var found = false;
460+
angular.forEach(content.js, function(file) {
461+
if(file.name == 'script.js') {
462+
file.content = moduleData.script + file.content;
463+
found = true;
464+
}
465+
});
466+
if(!found) {
467+
indexProp.scriptDeps += '<script type="text/javascript" src="script.js"></script>\n';
468+
allFiles.push({
469+
name : 'script.js',
470+
content : moduleData.script
471+
});
472+
}
473+
};
474+
475+
var postData = {};
476+
439477
angular.forEach(allFiles, function(file, index) {
440478
if (file.content && file.name != 'index.html') {
441479
postData['files[' + file.name + ']'] = file.content;
@@ -452,10 +490,10 @@ docsApp.serviceFactory.openPlunkr = function(templateMerge, formPostData, prepar
452490
};
453491
};
454492

455-
docsApp.serviceFactory.openJsFiddle = function(templateMerge, formPostData, prepareEditorAssetTags) {
493+
docsApp.serviceFactory.openJsFiddle = function(templateMerge, formPostData, prepareEditorAssetTags, prepareDefaultAppModule) {
456494
var HTML = '<div ng-app=\"{{module}}\">\n{{html:2}}</div>',
457495
CSS = '</style> <!-- Ugly Hack to make remote files preload in jsFiddle --> \n' +
458-
'{{head:0}}<style>\n​.ng-invalid { border: 1px solid red; }​\n{{css}}',
496+
'{{head:0}}<style>{{css}}',
459497
SCRIPT = '{{script}}',
460498
SCRIPT_CACHE = '\n\n<!-- {{name}} -->\n<script type="text/ng-template" id="{{name}}">\n{{content:2}}</script>',
461499
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
468506
css: '',
469507
script: ''
470508
};
509+
if(!prop.module) {
510+
var moduleData = prepareDefaultAppModule(content);
511+
prop.script = moduleData.script;
512+
prop.module = moduleData.module;
513+
};
471514

472515
angular.forEach(content.html, function(file, index) {
473516
if (index) {

src/ngRoute/directive/ngView.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ ngRouteModule.directive('ngView', ngViewFactory);
9999
</file>
100100
101101
<file name="script.js">
102-
angular.module('ngViewExample', ['ngRoute'], function($routeProvider, $locationProvider) {
102+
angular.module('ngViewExample', ['ngRoute', 'ngAnimate'], function($routeProvider, $locationProvider) {
103103
$routeProvider.when('/Book/:bookId', {
104104
templateUrl: 'book.html',
105105
controller: BookCntl,

0 commit comments

Comments
 (0)