diff options
| author | Vojta Jina | 2011-05-24 00:49:33 +0200 | 
|---|---|---|
| committer | Igor Minar | 2011-06-06 22:52:01 -0700 | 
| commit | 2da07127e45312ce22d894aa771b8797e9a301a1 (patch) | |
| tree | cc588b8fbdb5792c908b2b216bc9b9ab12c84663 /docs/src/templates/doc_widgets.js | |
| parent | d05e83992023c0aa8c663ac187529abf45dfe533 (diff) | |
| download | angular.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.js | 82 | 
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(); +  });  })(); | 
