mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-05-09 23:34:42 +00:00
chore(ngdocs): fixed jsFiddle/Plunkr examples to include ngAnimate and use a default App the module is not set
This commit is contained in:
parent
8d6bd51094
commit
419ed040b6
3 changed files with 52 additions and 8 deletions
|
|
@ -190,6 +190,7 @@ Doc.prototype = {
|
||||||
var example = new Example(self.scenarios);
|
var example = new Example(self.scenarios);
|
||||||
if(animations) {
|
if(animations) {
|
||||||
example.enableAnimations();
|
example.enableAnimations();
|
||||||
|
example.addDeps('angular-animate.js');
|
||||||
}
|
}
|
||||||
|
|
||||||
example.setModule(module);
|
example.setModule(module);
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
docsApp.serviceFactory.prepareEditorAssetTags = function(angularUrls) {
|
||||||
return function(content, options) {
|
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) {
|
return function(content) {
|
||||||
var hasRouting = false;
|
var hasRouting = false;
|
||||||
angular.forEach(content.deps, function(file) {
|
angular.forEach(content.deps, function(file) {
|
||||||
hasRouting = hasRouting || file.name == 'angular-route.js';
|
hasRouting = hasRouting || file.name == 'angular-route.js';
|
||||||
});
|
});
|
||||||
var indexHtmlContent = '<!doctype html>\n' +
|
var indexHtmlContent = '<!doctype html>\n' +
|
||||||
'<html ng-app="{{module}}">\n' +
|
'<html ng-app="{{module}}">\n' +
|
||||||
' <head>\n' +
|
' <head>\n' +
|
||||||
'{{scriptDeps}}';
|
'{{scriptDeps}}';
|
||||||
|
|
||||||
if(hasRouting) {
|
if(hasRouting) {
|
||||||
indexHtmlContent += '<script type="text/javascript">\n' +
|
indexHtmlContent += '<script type="text/javascript">\n' +
|
||||||
|
|
@ -433,9 +449,31 @@ docsApp.serviceFactory.openPlunkr = function(templateMerge, formPostData, prepar
|
||||||
scriptDeps: prepareEditorAssetTags(content, { includeLocalFiles : true }),
|
scriptDeps: prepareEditorAssetTags(content, { includeLocalFiles : true }),
|
||||||
indexContents: content.html[0].content
|
indexContents: content.html[0].content
|
||||||
};
|
};
|
||||||
var postData = {};
|
|
||||||
|
|
||||||
var allFiles = [].concat(content.js, content.css, content.html, content.json);
|
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) {
|
angular.forEach(allFiles, function(file, index) {
|
||||||
if (file.content && file.name != 'index.html') {
|
if (file.content && file.name != 'index.html') {
|
||||||
postData['files[' + file.name + ']'] = file.content;
|
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>',
|
var HTML = '<div ng-app=\"{{module}}\">\n{{html:2}}</div>',
|
||||||
CSS = '</style> <!-- Ugly Hack to make remote files preload in jsFiddle --> \n' +
|
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 = '{{script}}',
|
||||||
SCRIPT_CACHE = '\n\n<!-- {{name}} -->\n<script type="text/ng-template" id="{{name}}">\n{{content:2}}</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' +
|
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: '',
|
css: '',
|
||||||
script: ''
|
script: ''
|
||||||
};
|
};
|
||||||
|
if(!prop.module) {
|
||||||
|
var moduleData = prepareDefaultAppModule(content);
|
||||||
|
prop.script = moduleData.script;
|
||||||
|
prop.module = moduleData.module;
|
||||||
|
};
|
||||||
|
|
||||||
angular.forEach(content.html, function(file, index) {
|
angular.forEach(content.html, function(file, index) {
|
||||||
if (index) {
|
if (index) {
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ ngRouteModule.directive('ngView', ngViewFactory);
|
||||||
</file>
|
</file>
|
||||||
|
|
||||||
<file name="script.js">
|
<file name="script.js">
|
||||||
angular.module('ngViewExample', ['ngRoute'], function($routeProvider, $locationProvider) {
|
angular.module('ngViewExample', ['ngRoute', 'ngAnimate'], function($routeProvider, $locationProvider) {
|
||||||
$routeProvider.when('/Book/:bookId', {
|
$routeProvider.when('/Book/:bookId', {
|
||||||
templateUrl: 'book.html',
|
templateUrl: 'book.html',
|
||||||
controller: BookCntl,
|
controller: BookCntl,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue