aboutsummaryrefslogtreecommitdiffstats
path: root/docs/src/templates/doc_widgets.js
diff options
context:
space:
mode:
authorVojta Jina2011-05-24 00:49:33 +0200
committerIgor Minar2011-06-06 22:52:01 -0700
commit2da07127e45312ce22d894aa771b8797e9a301a1 (patch)
treecc588b8fbdb5792c908b2b216bc9b9ab12c84663 /docs/src/templates/doc_widgets.js
parentd05e83992023c0aa8c663ac187529abf45dfe533 (diff)
downloadangular.js-2da07127e45312ce22d894aa771b8797e9a301a1.tar.bz2
Add doc:tutorial-instructions widget
Diffstat (limited to 'docs/src/templates/doc_widgets.js')
-rw-r--r--docs/src/templates/doc_widgets.js82
1 files changed, 82 insertions, 0 deletions
diff --git a/docs/src/templates/doc_widgets.js b/docs/src/templates/doc_widgets.js
index 6275012c..a3527c52 100644
--- a/docs/src/templates/doc_widgets.js
+++ b/docs/src/templates/doc_widgets.js
@@ -85,4 +85,86 @@
return {html: lines.join('\n'), hilite: lineNo.join(',') };
};
+ var HTML_TPL =
+ '<a ng:init="showInstructions = {show}" ng:show="!showInstructions" ng:click="showInstructions = true" href>Show Instructions</a>' +
+ '<div ng:controller="TutorialInstructionsCtrl" ng:show="showInstructions">' +
+ '<div class="tabs-nav">' +
+ '<ul>' +
+ '</ul>' +
+ '</div>' +
+ '<div class="tabs-content"><div class="tabs-content-inner">' +
+
+ '</div></div>' +
+ '</div>';
+
+ var HTML_NAV = '<li ng:class="currentCls(\'{id}\')"><a ng:click="select(\'{id}\')" href>{title}</a></li>';
+ var HTML_CONTENT = '<div ng:show="selected==\'{id}\'">{content}</div>';
+
+ var DEFAULT_NAV =
+ '<li ng:class="currentCls(\'git-mac\')"><a ng:click="select(\'git-mac\')" href>Git on Mac/Linux</a></li>' +
+ '<li ng:class="currentCls(\'git-win\')"><a ng:click="select(\'git-win\')" href>Git on Windows</a></li>' +
+ '<li ng:class="currentCls(\'ss-mac\')"><a ng:click="select(\'ss-mac\')" href>Snapshots on Mac/Linux</a></li>' +
+ '<li ng:class="currentCls(\'ss-win\')"><a ng:click="select(\'ss-win\')" href>Snapshots on Windows</a></li>';
+
+ var DEFAULT_CONTENT =
+ '<div ng:show="selected==\'git-mac\'">' +
+ '<ol>' +
+ '<li><p>Reset the workspace to step {step}.</p>' +
+ '<pre><code> git checkout -f step-{step}</code></pre></li>' +
+ '<li><p>Refresh your browser or check the app out on <a href="http://angular.github.com/angular-phonecat/step-{step}/app">anglar\'s server</a>.</p></li>' +
+ '</ol>' +
+ '</div>' +
+
+ '<div ng:show="selected==\'git-win\'">' +
+ '<ol>' +
+ '<li><p>Reset the workspace to step {step}.</p>' +
+ '<pre><code> git checkout -f step-{step}</code></pre></li>' +
+ '<li><p>Refresh your browser or check the app out on <a href="http://angular.github.com/angular-phonecat/step-{step}/app">anglar\'s server</a>.</p></li>' +
+ '</ol>' +
+ '</div>' +
+
+ '<div ng:show="selected==\'ss-mac\'">' +
+ '<ol>' +
+ '<li><p>Reset the workspace to step {step}.</p>' +
+ '<pre><code> ./goto_step.sh {step}</code></pre></li>' +
+ '<li><p>Refresh your browser or check the app out on <a href="http://angular.github.com/angular-phonecat/step-{step}/app">anglar\'s server</a>.</p></li>' +
+ '</ol>' +
+ '</div>' +
+
+ '<div ng:show="selected==\'ss-win\'">' +
+ '<ol>' +
+ '<li><p>Reset the workspace to step {step}.</p>' +
+ '<pre><code> ./goto_step.bat {step}</code></pre></li>' +
+ '<li><p>Refresh your browser or check the app out on <a href="http://angular.github.com/angular-phonecat/step-{step}/app">anglar\'s server</a>.</p></li>' +
+ '</ol>' +
+ '</div>';
+
+ angular.widget('doc:tutorial-instructions', function(element) {
+ element.hide();
+ this.descend(true);
+
+ var tabs = angular.element(HTML_TPL.replace('{show}', element.attr('show') || 'false')),
+ nav = tabs.find('.tabs-nav ul'),
+ content = tabs.find('.tabs-content-inner'),
+ children = element.children();
+
+ if (children.length) {
+ // load custom content
+ angular.forEach(element.children(), function(elm) {
+ var elm = angular.element(elm),
+ id = elm.attr('id');
+
+ nav.append(HTML_NAV.replace('{title}', elm.attr('title')).replace(/\{id\}/g, id));
+ content.append(HTML_CONTENT.replace('{id}', id).replace('{content}', elm.html()));
+ });
+ } else {
+ // default
+ nav.append(DEFAULT_NAV);
+ content.append(DEFAULT_CONTENT.replace(/\{step\}/g, element.attr('step')));
+ }
+
+ element.html('');
+ element.append(tabs);
+ element.show();
+ });
})();