aboutsummaryrefslogtreecommitdiffstats
path: root/docs/app/src/tutorials.js
diff options
context:
space:
mode:
Diffstat (limited to 'docs/app/src/tutorials.js')
-rw-r--r--docs/app/src/tutorials.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/docs/app/src/tutorials.js b/docs/app/src/tutorials.js
new file mode 100644
index 00000000..a978daed
--- /dev/null
+++ b/docs/app/src/tutorials.js
@@ -0,0 +1,58 @@
+angular.module('tutorials', [])
+
+.directive('docTutorialNav', function(templateMerge) {
+ var pages = [
+ '',
+ 'step_00', 'step_01', 'step_02', 'step_03', 'step_04',
+ 'step_05', 'step_06', 'step_07', 'step_08', 'step_09',
+ 'step_10', 'step_11', 'step_12', 'the_end'
+ ];
+ return {
+ compile: function(element, attrs) {
+ var seq = 1 * attrs.docTutorialNav,
+ props = {
+ seq: seq,
+ prev: pages[seq],
+ next: pages[2 + seq],
+ diffLo: seq ? (seq - 1): '0~1',
+ diffHi: seq
+ };
+
+ element.addClass('btn-group');
+ element.addClass('tutorial-nav');
+ element.append(templateMerge(
+ '<a href="tutorial/{{prev}}"><li class="btn btn-primary"><i class="icon-step-backward"></i> Previous</li></a>\n' +
+ '<a href="http://angular.github.com/angular-phonecat/step-{{seq}}/app"><li class="btn btn-primary"><i class="icon-play"></i> Live Demo</li></a>\n' +
+ '<a href="https://github.com/angular/angular-phonecat/compare/step-{{diffLo}}...step-{{diffHi}}"><li class="btn btn-primary"><i class="icon-search"></i> Code Diff</li></a>\n' +
+ '<a href="tutorial/{{next}}"><li class="btn btn-primary">Next <i class="icon-step-forward"></i></li></a>', props));
+ }
+ };
+})
+
+
+.directive('docTutorialReset', function() {
+ function tab(name, command, id, step) {
+ return '' +
+ ' <div class=\'tab-pane well\' title="' + name + '" value="' + id + '">\n' +
+ ' <ol>\n' +
+ ' <li><p>Reset the workspace to step ' + step + '.</p>' +
+ ' <pre>' + command + '</pre></li>\n' +
+ ' <li><p>Refresh your browser or check the app out on <a href="http://angular.github.com/angular-phonecat/step-' + step + '/app">Angular\'s server</a>.</p></li>\n' +
+ ' </ol>\n' +
+ ' </div>\n';
+ }
+
+ return {
+ compile: function(element, attrs) {
+ var step = attrs.docTutorialReset;
+ element.html(
+ '<div ng-hide="show">' +
+ '<p><a href="" ng-click="show=true;$event.stopPropagation()">Workspace Reset Instructions ➤</a></p>' +
+ '</div>\n' +
+ '<div class="tabbable" ng-show="show" ng-model="$cookies.platformPreference">\n' +
+ tab('Git on Mac/Linux', 'git checkout -f step-' + step, 'gitUnix', step) +
+ tab('Git on Windows', 'git checkout -f step-' + step, 'gitWin', step) +
+ '</div>\n');
+ }
+ };
+}); \ No newline at end of file