From 65ef22f57c5122dbc982cdf6b29b6b5d06c6f0b5 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 3 Nov 2014 10:09:41 -0500 Subject: [PATCH] update todomvc-common to 0.3.0 --- examples/agilityjs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/ampersand/todomvc-common/base.js | 35 ++++++++++---- examples/angular-dart/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/angularjs-perf/bower.json | 2 +- .../todomvc-common/bower.json | 22 --------- examples/angularjs_require/bower.json | 2 +- examples/ariatemplates/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/atmajs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/backbone/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/backbone_marionette/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- .../backbone_marionette_require/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/backbone_require/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/batman/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/canjs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/canjs_require/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/chaplin-brunch/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- examples/closure/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/cujo/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/derby/bower.json | 2 +- .../public/components/todomvc-common/base.js | 35 ++++++++++---- examples/dijon/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/dojo/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/duel/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- examples/durandal/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/emberjs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/enyo_backbone/bower.json | 4 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/epitome/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/exoskeleton/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/extjs_deftjs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/firebase-angular/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/flight/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/gwt/bower.json | 4 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/jquery/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- examples/kendo/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/knockback/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/knockoutjs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/knockoutjs_require/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/lavaca_require/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/maria/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/meteor/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- examples/mithril/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/montage/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/olives/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/plastronjs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/polymer/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/puremvc/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/ractive/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/rappidjs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/react-backbone/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/react/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/sammyjs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/sapui5/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/serenadejs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/socketstream/bower.json | 2 +- examples/somajs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/somajs_require/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/spine/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/stapes/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/stapes_require/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/thorax/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/thorax_lumbar/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/typescript-angular/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/typescript-backbone/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/vanilladart/bower.json | 4 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- examples/vanillajs/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- examples/vue/bower.json | 4 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- examples/yui/bower.json | 2 +- .../bower_components/todomvc-common/base.js | 35 ++++++++++---- .../todomvc-common/bower.json | 22 --------- tasks/Gruntfile.js | 4 +- .../bower_components/todomvc-common/base.css | 2 - .../bower_components/todomvc-common/base.js | 48 +++++++++++-------- 189 files changed, 1788 insertions(+), 1931 deletions(-) delete mode 100644 examples/agilityjs/bower_components/todomvc-common/bower.json delete mode 100644 examples/angular-dart/bower_components/todomvc-common/bower.json delete mode 100644 examples/angularjs/bower_components/todomvc-common/bower.json delete mode 100644 examples/ariatemplates/bower_components/todomvc-common/bower.json delete mode 100644 examples/atmajs/bower_components/todomvc-common/bower.json delete mode 100644 examples/backbone/bower_components/todomvc-common/bower.json delete mode 100644 examples/backbone_marionette/bower_components/todomvc-common/bower.json delete mode 100644 examples/backbone_marionette_require/bower_components/todomvc-common/bower.json delete mode 100644 examples/backbone_require/bower_components/todomvc-common/bower.json delete mode 100644 examples/batman/bower_components/todomvc-common/bower.json delete mode 100644 examples/canjs/bower_components/todomvc-common/bower.json delete mode 100644 examples/canjs_require/bower_components/todomvc-common/bower.json delete mode 100644 examples/closure/bower_components/todomvc-common/bower.json delete mode 100644 examples/componentjs/bower_components/todomvc-common/bower.json delete mode 100644 examples/cujo/bower_components/todomvc-common/bower.json delete mode 100644 examples/dijon/bower_components/todomvc-common/bower.json delete mode 100644 examples/dojo/bower_components/todomvc-common/bower.json delete mode 100644 examples/durandal/bower_components/todomvc-common/bower.json delete mode 100644 examples/emberjs/bower_components/todomvc-common/bower.json delete mode 100644 examples/enyo_backbone/bower_components/todomvc-common/bower.json delete mode 100644 examples/epitome/bower_components/todomvc-common/bower.json delete mode 100644 examples/exoskeleton/bower_components/todomvc-common/bower.json delete mode 100644 examples/extjs_deftjs/bower_components/todomvc-common/bower.json delete mode 100644 examples/firebase-angular/bower_components/todomvc-common/bower.json delete mode 100644 examples/flight/bower_components/todomvc-common/bower.json delete mode 100644 examples/gwt/bower_components/todomvc-common/bower.json delete mode 100644 examples/kendo/bower_components/todomvc-common/bower.json delete mode 100644 examples/knockback/bower_components/todomvc-common/bower.json delete mode 100644 examples/knockoutjs/bower_components/todomvc-common/bower.json delete mode 100644 examples/knockoutjs_require/bower_components/todomvc-common/bower.json delete mode 100644 examples/lavaca_require/bower_components/todomvc-common/bower.json delete mode 100644 examples/maria/bower_components/todomvc-common/bower.json delete mode 100644 examples/mithril/bower_components/todomvc-common/bower.json delete mode 100644 examples/montage/bower_components/todomvc-common/bower.json delete mode 100644 examples/olives/bower_components/todomvc-common/bower.json delete mode 100644 examples/plastronjs/bower_components/todomvc-common/bower.json delete mode 100644 examples/polymer/bower_components/todomvc-common/bower.json delete mode 100644 examples/puremvc/bower_components/todomvc-common/bower.json delete mode 100644 examples/ractive/bower_components/todomvc-common/bower.json delete mode 100644 examples/rappidjs/bower_components/todomvc-common/bower.json delete mode 100644 examples/react-backbone/bower_components/todomvc-common/bower.json delete mode 100644 examples/react/bower_components/todomvc-common/bower.json delete mode 100644 examples/sammyjs/bower_components/todomvc-common/bower.json delete mode 100644 examples/sapui5/bower_components/todomvc-common/bower.json delete mode 100644 examples/serenadejs/bower_components/todomvc-common/bower.json delete mode 100644 examples/somajs/bower_components/todomvc-common/bower.json delete mode 100644 examples/somajs_require/bower_components/todomvc-common/bower.json delete mode 100644 examples/spine/bower_components/todomvc-common/bower.json delete mode 100644 examples/stapes/bower_components/todomvc-common/bower.json delete mode 100644 examples/stapes_require/bower_components/todomvc-common/bower.json delete mode 100644 examples/thorax/bower_components/todomvc-common/bower.json delete mode 100644 examples/thorax_lumbar/bower_components/todomvc-common/bower.json delete mode 100644 examples/troopjs_require/bower_components/todomvc-common/bower.json delete mode 100644 examples/typescript-angular/bower_components/todomvc-common/bower.json delete mode 100644 examples/typescript-backbone/bower_components/todomvc-common/bower.json delete mode 100644 examples/vue/bower_components/todomvc-common/bower.json delete mode 100644 examples/yui/bower_components/todomvc-common/bower.json diff --git a/examples/agilityjs/bower.json b/examples/agilityjs/bower.json index d41964c444..90d5a57397 100644 --- a/examples/agilityjs/bower.json +++ b/examples/agilityjs/bower.json @@ -2,7 +2,7 @@ "name": "agilityjs", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "agility": "~0.1.3", "jquery": "~1.9.1" } diff --git a/examples/agilityjs/bower_components/todomvc-common/base.js b/examples/agilityjs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/agilityjs/bower_components/todomvc-common/base.js +++ b/examples/agilityjs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/agilityjs/bower_components/todomvc-common/bower.json b/examples/agilityjs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/agilityjs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/ampersand/todomvc-common/base.js b/examples/ampersand/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/ampersand/todomvc-common/base.js +++ b/examples/ampersand/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/angular-dart/bower.json b/examples/angular-dart/bower.json index fe285fc47c..6a7c310152 100644 --- a/examples/angular-dart/bower.json +++ b/examples/angular-dart/bower.json @@ -15,6 +15,6 @@ "tests" ], "dependencies": { - "todomvc-common": "~0.1.9" + "todomvc-common": "~0.3.0" } } diff --git a/examples/angular-dart/bower_components/todomvc-common/base.js b/examples/angular-dart/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/angular-dart/bower_components/todomvc-common/base.js +++ b/examples/angular-dart/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/angular-dart/bower_components/todomvc-common/bower.json b/examples/angular-dart/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/angular-dart/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/angularjs-perf/bower.json b/examples/angularjs-perf/bower.json index e8ac2e2cd5..8a047ff8bf 100644 --- a/examples/angularjs-perf/bower.json +++ b/examples/angularjs-perf/bower.json @@ -3,6 +3,6 @@ "version": "0.0.0", "dependencies": { "angular": "1.2.9", - "todomvc-common": "~0.1.9" + "todomvc-common": "~0.3.0" } } diff --git a/examples/angularjs/bower_components/todomvc-common/bower.json b/examples/angularjs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/angularjs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/angularjs_require/bower.json b/examples/angularjs_require/bower.json index d1d2793972..ba412f8ada 100644 --- a/examples/angularjs_require/bower.json +++ b/examples/angularjs_require/bower.json @@ -3,7 +3,7 @@ "version": "0.0.0", "dependencies": { "angular": "1.2.8", - "todomvc-common": "~0.1.9", + "todomvc-common": "~0.3.0", "requirejs": "~2.1.9" } } diff --git a/examples/ariatemplates/bower.json b/examples/ariatemplates/bower.json index e43423491b..eb0398e051 100644 --- a/examples/ariatemplates/bower.json +++ b/examples/ariatemplates/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-ariatemplates", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/ariatemplates/bower_components/todomvc-common/base.js b/examples/ariatemplates/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/ariatemplates/bower_components/todomvc-common/base.js +++ b/examples/ariatemplates/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/ariatemplates/bower_components/todomvc-common/bower.json b/examples/ariatemplates/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/ariatemplates/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/atmajs/bower.json b/examples/atmajs/bower.json index a028fc65e3..e4676d10d8 100644 --- a/examples/atmajs/bower.json +++ b/examples/atmajs/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-atmajs", "version": "0.1.0", "dependencies": { - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "jquery": "~2.0.2", "maskjs": "~0.10.1", "includejs": "~0.9.10", diff --git a/examples/atmajs/bower_components/todomvc-common/base.js b/examples/atmajs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/atmajs/bower_components/todomvc-common/base.js +++ b/examples/atmajs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/atmajs/bower_components/todomvc-common/bower.json b/examples/atmajs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/atmajs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/backbone/bower.json b/examples/backbone/bower.json index fd99a4f174..b5a67c516b 100644 --- a/examples/backbone/bower.json +++ b/examples/backbone/bower.json @@ -5,7 +5,7 @@ "backbone": "~1.1.1", "underscore": "~1.6.0", "jquery": "~2.0.0", - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "backbone.localStorage": "~1.1.0" } } diff --git a/examples/backbone/bower_components/todomvc-common/base.js b/examples/backbone/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/backbone/bower_components/todomvc-common/base.js +++ b/examples/backbone/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/backbone/bower_components/todomvc-common/bower.json b/examples/backbone/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/backbone/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/backbone_marionette/bower.json b/examples/backbone_marionette/bower.json index 6ba0b03e1e..028a619504 100644 --- a/examples/backbone_marionette/bower.json +++ b/examples/backbone_marionette/bower.json @@ -3,7 +3,7 @@ "version": "0.0.0", "dependencies": { "jquery": "~1.10.2", - "todomvc-common": "~0.1.7", + "todomvc-common": "~0.3.0", "underscore": "~1.4.4", "backbone.localStorage": "~1.1.6", "backbone.marionette": "~2.1.0" diff --git a/examples/backbone_marionette/bower_components/todomvc-common/base.js b/examples/backbone_marionette/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/backbone_marionette/bower_components/todomvc-common/base.js +++ b/examples/backbone_marionette/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/backbone_marionette/bower_components/todomvc-common/bower.json b/examples/backbone_marionette/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/backbone_marionette/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/backbone_marionette_require/bower.json b/examples/backbone_marionette_require/bower.json index 1c880c9aeb..ab486eead2 100644 --- a/examples/backbone_marionette_require/bower.json +++ b/examples/backbone_marionette_require/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-backbone_marionette_require", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "requirejs": "~2.1.6", "underscore": "~1.4.4", "backbone.marionette": "~1.0.3", diff --git a/examples/backbone_marionette_require/bower_components/todomvc-common/base.js b/examples/backbone_marionette_require/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/backbone_marionette_require/bower_components/todomvc-common/base.js +++ b/examples/backbone_marionette_require/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/backbone_marionette_require/bower_components/todomvc-common/bower.json b/examples/backbone_marionette_require/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/backbone_marionette_require/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/backbone_require/bower.json b/examples/backbone_require/bower.json index 19f1c8b6ac..fbe0c2374f 100644 --- a/examples/backbone_require/bower.json +++ b/examples/backbone_require/bower.json @@ -5,7 +5,7 @@ "backbone": "~1.1.0", "underscore": "~1.5.0", "jquery": "~2.0.0", - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "backbone.localStorage": "~1.1.0", "requirejs": "~2.1.5", "requirejs-text": "~2.0.5" diff --git a/examples/backbone_require/bower_components/todomvc-common/base.js b/examples/backbone_require/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/backbone_require/bower_components/todomvc-common/base.js +++ b/examples/backbone_require/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/backbone_require/bower_components/todomvc-common/bower.json b/examples/backbone_require/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/backbone_require/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/batman/bower.json b/examples/batman/bower.json index e44ab6c9ae..3c91b4bdd3 100644 --- a/examples/batman/bower.json +++ b/examples/batman/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-batman", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "batman": "~0.14.1" } } diff --git a/examples/batman/bower_components/todomvc-common/base.js b/examples/batman/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/batman/bower_components/todomvc-common/base.js +++ b/examples/batman/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/batman/bower_components/todomvc-common/bower.json b/examples/batman/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/batman/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/canjs/bower.json b/examples/canjs/bower.json index a4377fc01b..420a2389da 100644 --- a/examples/canjs/bower.json +++ b/examples/canjs/bower.json @@ -5,6 +5,6 @@ "jquery": "~2.0.0", "canjs": "~2.0.0", "canjs-localstorage": "~0.2.0", - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/canjs/bower_components/todomvc-common/base.js b/examples/canjs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/canjs/bower_components/todomvc-common/base.js +++ b/examples/canjs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/canjs/bower_components/todomvc-common/bower.json b/examples/canjs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/canjs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/canjs_require/bower.json b/examples/canjs_require/bower.json index ea8bfd7eaa..abff587203 100644 --- a/examples/canjs_require/bower.json +++ b/examples/canjs_require/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-canjs-require", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "requirejs": "~2.1.6", "canjs": "~2.0.0", "canjs-localstorage": "~0.2.0", diff --git a/examples/canjs_require/bower_components/todomvc-common/base.js b/examples/canjs_require/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/canjs_require/bower_components/todomvc-common/base.js +++ b/examples/canjs_require/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/canjs_require/bower_components/todomvc-common/bower.json b/examples/canjs_require/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/canjs_require/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/chaplin-brunch/bower.json b/examples/chaplin-brunch/bower.json index 7df70bbd48..98452573b4 100644 --- a/examples/chaplin-brunch/bower.json +++ b/examples/chaplin-brunch/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-chaplin-brunch", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.11", + "todomvc-common": "~0.3.0", "chaplin": "~1.0.0", "exoskeleton": "~0.6.3", "backbone.localStorage": "git://github.com/paulmillr/Backbone.localStorage.git#9c225b37bdea4ac21d4b2445fa8962fe74e3175b" diff --git a/examples/chaplin-brunch/bower_components/todomvc-common/base.js b/examples/chaplin-brunch/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/chaplin-brunch/bower_components/todomvc-common/base.js +++ b/examples/chaplin-brunch/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/closure/bower.json b/examples/closure/bower.json index dccae5ebf9..e96ab74882 100644 --- a/examples/closure/bower.json +++ b/examples/closure/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-closure", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.4" + "todomvc-common": "~0.3.0" } } diff --git a/examples/closure/bower_components/todomvc-common/base.js b/examples/closure/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/closure/bower_components/todomvc-common/base.js +++ b/examples/closure/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/closure/bower_components/todomvc-common/bower.json b/examples/closure/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/closure/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/componentjs/bower_components/todomvc-common/base.js b/examples/componentjs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/componentjs/bower_components/todomvc-common/base.js +++ b/examples/componentjs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/componentjs/bower_components/todomvc-common/bower.json b/examples/componentjs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/componentjs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/cujo/bower.json b/examples/cujo/bower.json index 707c3ce6c3..c61dfa63e4 100644 --- a/examples/cujo/bower.json +++ b/examples/cujo/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-cujoJS", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.7", + "todomvc-common": "~0.3.0", "curl": "~0.7.4", "cola": "latest", "poly": "~0.5.1", diff --git a/examples/cujo/bower_components/todomvc-common/base.js b/examples/cujo/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/cujo/bower_components/todomvc-common/base.js +++ b/examples/cujo/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/cujo/bower_components/todomvc-common/bower.json b/examples/cujo/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/cujo/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/derby/bower.json b/examples/derby/bower.json index b6b6548f81..9ddab2d4b2 100644 --- a/examples/derby/bower.json +++ b/examples/derby/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-derby", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.3" + "todomvc-common": "~0.3.0" } } diff --git a/examples/derby/public/components/todomvc-common/base.js b/examples/derby/public/components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/derby/public/components/todomvc-common/base.js +++ b/examples/derby/public/components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/dijon/bower.json b/examples/dijon/bower.json index 0bd0d7f2fd..3b01703dd9 100644 --- a/examples/dijon/bower.json +++ b/examples/dijon/bower.json @@ -4,6 +4,6 @@ "dependencies": { "jquery": "~2.0.0", "handlebars.js": "~1.0.0-rc.3", - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/dijon/bower_components/todomvc-common/base.js b/examples/dijon/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/dijon/bower_components/todomvc-common/base.js +++ b/examples/dijon/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/dijon/bower_components/todomvc-common/bower.json b/examples/dijon/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/dijon/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/dojo/bower.json b/examples/dojo/bower.json index e049881286..0bf13de299 100644 --- a/examples/dojo/bower.json +++ b/examples/dojo/bower.json @@ -2,6 +2,6 @@ "name": "todmvc-dojo", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/dojo/bower_components/todomvc-common/base.js b/examples/dojo/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/dojo/bower_components/todomvc-common/base.js +++ b/examples/dojo/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/dojo/bower_components/todomvc-common/bower.json b/examples/dojo/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/dojo/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/duel/bower.json b/examples/duel/bower.json index 0b502a9c5d..4ee7fc708c 100644 --- a/examples/duel/bower.json +++ b/examples/duel/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-duel", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/duel/src/main/webapp/bower_components/todomvc-common/base.js b/examples/duel/src/main/webapp/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/duel/src/main/webapp/bower_components/todomvc-common/base.js +++ b/examples/duel/src/main/webapp/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/durandal/bower.json b/examples/durandal/bower.json index 7fb6b79fa1..9def7b10e7 100644 --- a/examples/durandal/bower.json +++ b/examples/durandal/bower.json @@ -6,7 +6,7 @@ "sammy": "~0.7.4", "jquery": "~1.9.1", "knockout": "~2.2.1", - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "requirejs": "~2.1.6" } } diff --git a/examples/durandal/bower_components/todomvc-common/base.js b/examples/durandal/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/durandal/bower_components/todomvc-common/base.js +++ b/examples/durandal/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/durandal/bower_components/todomvc-common/bower.json b/examples/durandal/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/durandal/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/emberjs/bower.json b/examples/emberjs/bower.json index cc8c513ee5..59a7974a87 100644 --- a/examples/emberjs/bower.json +++ b/examples/emberjs/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-emberjs", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "jquery": "~2.1.0", "handlebars": "~1.3.0", "ember": "~1.6.0", diff --git a/examples/emberjs/bower_components/todomvc-common/base.js b/examples/emberjs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/emberjs/bower_components/todomvc-common/base.js +++ b/examples/emberjs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/emberjs/bower_components/todomvc-common/bower.json b/examples/emberjs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/emberjs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/enyo_backbone/bower.json b/examples/enyo_backbone/bower.json index f51cb711ed..c87b385c77 100644 --- a/examples/enyo_backbone/bower.json +++ b/examples/enyo_backbone/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-enyo-backbone", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.4" + "todomvc-common": "~0.3.0" } -} \ No newline at end of file +} diff --git a/examples/enyo_backbone/bower_components/todomvc-common/base.js b/examples/enyo_backbone/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/enyo_backbone/bower_components/todomvc-common/base.js +++ b/examples/enyo_backbone/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/enyo_backbone/bower_components/todomvc-common/bower.json b/examples/enyo_backbone/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/enyo_backbone/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/epitome/bower.json b/examples/epitome/bower.json index af4e6aa26f..eba5dd11d3 100644 --- a/examples/epitome/bower.json +++ b/examples/epitome/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-epitome", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "Epitome": "~0.3.1" } } diff --git a/examples/epitome/bower_components/todomvc-common/base.js b/examples/epitome/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/epitome/bower_components/todomvc-common/base.js +++ b/examples/epitome/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/epitome/bower_components/todomvc-common/bower.json b/examples/epitome/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/epitome/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/exoskeleton/bower.json b/examples/exoskeleton/bower.json index 04da32ce18..287d385d01 100644 --- a/examples/exoskeleton/bower.json +++ b/examples/exoskeleton/bower.json @@ -4,7 +4,7 @@ "dependencies": { "exoskeleton": "~0.3.0", "microtemplates": "~0.1.0", - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "backbone.localStorage": "git://github.com/paulmillr/Backbone.localStorage.git#9c225b37bdea4ac21d4b2445fa8962fe74e3175b" } } diff --git a/examples/exoskeleton/bower_components/todomvc-common/base.js b/examples/exoskeleton/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/exoskeleton/bower_components/todomvc-common/base.js +++ b/examples/exoskeleton/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/exoskeleton/bower_components/todomvc-common/bower.json b/examples/exoskeleton/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/exoskeleton/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/extjs_deftjs/bower.json b/examples/extjs_deftjs/bower.json index 05172f0179..2143df040d 100644 --- a/examples/extjs_deftjs/bower.json +++ b/examples/extjs_deftjs/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-extjs_deftjs", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/extjs_deftjs/bower_components/todomvc-common/base.js b/examples/extjs_deftjs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/extjs_deftjs/bower_components/todomvc-common/base.js +++ b/examples/extjs_deftjs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/extjs_deftjs/bower_components/todomvc-common/bower.json b/examples/extjs_deftjs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/extjs_deftjs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/firebase-angular/bower.json b/examples/firebase-angular/bower.json index 4c0ead39c3..8dcd2e6636 100644 --- a/examples/firebase-angular/bower.json +++ b/examples/firebase-angular/bower.json @@ -4,7 +4,7 @@ "dependencies": { "angular": "1.2.8", "angularfire": "~0.5.0", - "todomvc-common": "~0.1.4" + "todomvc-common": "~0.3.0" }, "devDependencies": { "angular-mocks": "1.2.8" diff --git a/examples/firebase-angular/bower_components/todomvc-common/base.js b/examples/firebase-angular/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/firebase-angular/bower_components/todomvc-common/base.js +++ b/examples/firebase-angular/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/firebase-angular/bower_components/todomvc-common/bower.json b/examples/firebase-angular/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/firebase-angular/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/flight/bower.json b/examples/flight/bower.json index 45f50f4013..88c4b0a4d9 100644 --- a/examples/flight/bower.json +++ b/examples/flight/bower.json @@ -6,7 +6,7 @@ "flight": "~1.1.0", "jquery": "1.8.3", "requirejs": "~2.1.5", - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "requirejs-text": "~2.0.10" }, "devDependencies": { diff --git a/examples/flight/bower_components/todomvc-common/base.js b/examples/flight/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/flight/bower_components/todomvc-common/base.js +++ b/examples/flight/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/flight/bower_components/todomvc-common/bower.json b/examples/flight/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/flight/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/gwt/bower.json b/examples/gwt/bower.json index c0a637869f..03eee619be 100644 --- a/examples/gwt/bower.json +++ b/examples/gwt/bower.json @@ -2,6 +2,6 @@ "name": "gwt", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } -} \ No newline at end of file +} diff --git a/examples/gwt/bower_components/todomvc-common/base.js b/examples/gwt/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/gwt/bower_components/todomvc-common/base.js +++ b/examples/gwt/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/gwt/bower_components/todomvc-common/bower.json b/examples/gwt/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/gwt/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/jquery/bower.json b/examples/jquery/bower.json index 1bac8cd0b7..6d9a4fbfbc 100644 --- a/examples/jquery/bower.json +++ b/examples/jquery/bower.json @@ -1,7 +1,7 @@ { "name": "todomvc-jquery", "dependencies": { - "todomvc-common": "~0.1.11", + "todomvc-common": "~0.3.0", "jquery": "~2.1.1", "handlebars": "~2.0.0", "director": "~1.2.2" diff --git a/examples/jquery/bower_components/todomvc-common/base.js b/examples/jquery/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/jquery/bower_components/todomvc-common/base.js +++ b/examples/jquery/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/kendo/bower.json b/examples/kendo/bower.json index 541cd92107..0914d85dc2 100644 --- a/examples/kendo/bower.json +++ b/examples/kendo/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-kendo", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "jquery": "~2.1.0", "kendo-ui": "~2013.3.1119" } diff --git a/examples/kendo/bower_components/todomvc-common/base.js b/examples/kendo/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/kendo/bower_components/todomvc-common/base.js +++ b/examples/kendo/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/kendo/bower_components/todomvc-common/bower.json b/examples/kendo/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/kendo/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/knockback/bower.json b/examples/knockback/bower.json index 947780ffb9..2d54d801ff 100644 --- a/examples/knockback/bower.json +++ b/examples/knockback/bower.json @@ -3,7 +3,7 @@ "version": "0.0.0", "dependencies": { "jquery": "~2.0.0", - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "Backbone.localStorage": "~1.1.3" } } diff --git a/examples/knockback/bower_components/todomvc-common/base.js b/examples/knockback/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/knockback/bower_components/todomvc-common/base.js +++ b/examples/knockback/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/knockback/bower_components/todomvc-common/bower.json b/examples/knockback/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/knockback/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/knockoutjs/bower.json b/examples/knockoutjs/bower.json index 9712885b3e..1a62f1c2ea 100644 --- a/examples/knockoutjs/bower.json +++ b/examples/knockoutjs/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-knockoutjs", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "component-knockout-passy": "~3.1.0", "director": "~1.2.0" } diff --git a/examples/knockoutjs/bower_components/todomvc-common/base.js b/examples/knockoutjs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/knockoutjs/bower_components/todomvc-common/base.js +++ b/examples/knockoutjs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/knockoutjs/bower_components/todomvc-common/bower.json b/examples/knockoutjs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/knockoutjs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/knockoutjs_require/bower.json b/examples/knockoutjs_require/bower.json index c2e4f43a62..0102ac95f6 100644 --- a/examples/knockoutjs_require/bower.json +++ b/examples/knockoutjs_require/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-knockoutjs_require", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "knockout.js": "~3.0.0", "requirejs": "~2.1.6" } diff --git a/examples/knockoutjs_require/bower_components/todomvc-common/base.js b/examples/knockoutjs_require/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/knockoutjs_require/bower_components/todomvc-common/base.js +++ b/examples/knockoutjs_require/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/knockoutjs_require/bower_components/todomvc-common/bower.json b/examples/knockoutjs_require/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/knockoutjs_require/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/lavaca_require/bower.json b/examples/lavaca_require/bower.json index 1febb244d4..798104ff84 100644 --- a/examples/lavaca_require/bower.json +++ b/examples/lavaca_require/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-lavaca_require", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "requirejs": "~2.1.6", "dustjs-linkedin": "~1.1.1", "dustjs-linkedin-helpers": "~1.1.1", diff --git a/examples/lavaca_require/bower_components/todomvc-common/base.js b/examples/lavaca_require/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/lavaca_require/bower_components/todomvc-common/base.js +++ b/examples/lavaca_require/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/lavaca_require/bower_components/todomvc-common/bower.json b/examples/lavaca_require/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/lavaca_require/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/maria/bower.json b/examples/maria/bower.json index 2fcee3e366..a6baa5f4d8 100644 --- a/examples/maria/bower.json +++ b/examples/maria/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-maria", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "director": "~1.2.0", "maria-bower": "~1.0.0", "aristocrat-bower": "~1.0.1" diff --git a/examples/maria/bower_components/todomvc-common/base.js b/examples/maria/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/maria/bower_components/todomvc-common/base.js +++ b/examples/maria/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/maria/bower_components/todomvc-common/bower.json b/examples/maria/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/maria/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/meteor/bower.json b/examples/meteor/bower.json index 637a5e14f7..83a4ac211f 100644 --- a/examples/meteor/bower.json +++ b/examples/meteor/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-meteor", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "director": "~1.2.0" } } diff --git a/examples/meteor/client/bower_components/todomvc-common/base.js b/examples/meteor/client/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/meteor/client/bower_components/todomvc-common/base.js +++ b/examples/meteor/client/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/mithril/bower.json b/examples/mithril/bower.json index 6dd9ddd623..bbebf89e22 100644 --- a/examples/mithril/bower.json +++ b/examples/mithril/bower.json @@ -3,6 +3,6 @@ "version": "0.0.0", "dependencies": { "mithril": "0.1.20", - "todomvc-common": "~0.1.4" + "todomvc-common": "~0.3.0" } } diff --git a/examples/mithril/bower_components/todomvc-common/base.js b/examples/mithril/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/mithril/bower_components/todomvc-common/base.js +++ b/examples/mithril/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/mithril/bower_components/todomvc-common/bower.json b/examples/mithril/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/mithril/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/montage/bower.json b/examples/montage/bower.json index e781640f93..f7e9e35cdb 100644 --- a/examples/montage/bower.json +++ b/examples/montage/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-montage", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/montage/bower_components/todomvc-common/base.js b/examples/montage/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/montage/bower_components/todomvc-common/base.js +++ b/examples/montage/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/montage/bower_components/todomvc-common/bower.json b/examples/montage/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/montage/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/olives/bower.json b/examples/olives/bower.json index 1d61043fda..118524d6d0 100644 --- a/examples/olives/bower.json +++ b/examples/olives/bower.json @@ -5,6 +5,6 @@ "olives": "~1.4.0", "emily": "~1.3.5", "requirejs": "~2.1.5", - "todomvc-common": "~0.1.4" + "todomvc-common": "~0.3.0" } } diff --git a/examples/olives/bower_components/todomvc-common/base.js b/examples/olives/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/olives/bower_components/todomvc-common/base.js +++ b/examples/olives/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/olives/bower_components/todomvc-common/bower.json b/examples/olives/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/olives/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/plastronjs/bower.json b/examples/plastronjs/bower.json index 35a5a5b82e..bc9aa3a66d 100644 --- a/examples/plastronjs/bower.json +++ b/examples/plastronjs/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-plastronjs", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/plastronjs/bower_components/todomvc-common/base.js b/examples/plastronjs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/plastronjs/bower_components/todomvc-common/base.js +++ b/examples/plastronjs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/plastronjs/bower_components/todomvc-common/bower.json b/examples/plastronjs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/plastronjs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/polymer/bower.json b/examples/polymer/bower.json index a7aa7f88e8..dbce648a99 100644 --- a/examples/polymer/bower.json +++ b/examples/polymer/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-polymer", "version": "0.0.1", "dependencies": { - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "core-selector": "Polymer/core-selector", "flatiron-director": "Polymer/flatiron-director", "core-localstorage": "Polymer/core-localstorage" diff --git a/examples/polymer/bower_components/todomvc-common/base.js b/examples/polymer/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/polymer/bower_components/todomvc-common/base.js +++ b/examples/polymer/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/polymer/bower_components/todomvc-common/bower.json b/examples/polymer/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/polymer/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/puremvc/bower.json b/examples/puremvc/bower.json index a3a6c07431..3dab78f946 100644 --- a/examples/puremvc/bower.json +++ b/examples/puremvc/bower.json @@ -4,6 +4,6 @@ "dependencies": { "puremvc": "~1.0.1", "director": "~1.2.0", - "todomvc-common": "~0.1.4" + "todomvc-common": "~0.3.0" } } diff --git a/examples/puremvc/bower_components/todomvc-common/base.js b/examples/puremvc/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/puremvc/bower_components/todomvc-common/base.js +++ b/examples/puremvc/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/puremvc/bower_components/todomvc-common/bower.json b/examples/puremvc/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/puremvc/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/ractive/bower.json b/examples/ractive/bower.json index a1bd220da7..d0f127fdfa 100644 --- a/examples/ractive/bower.json +++ b/examples/ractive/bower.json @@ -1,7 +1,7 @@ { "name": "todomvc-ractive", "dependencies": { - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "ractive": "~0.3.5", "director": "~1.2.0" } diff --git a/examples/ractive/bower_components/todomvc-common/base.js b/examples/ractive/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/ractive/bower_components/todomvc-common/base.js +++ b/examples/ractive/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/ractive/bower_components/todomvc-common/bower.json b/examples/ractive/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/ractive/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/rappidjs/bower.json b/examples/rappidjs/bower.json index 31d7aebcd3..e4634b72e1 100644 --- a/examples/rappidjs/bower.json +++ b/examples/rappidjs/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-rappidjs", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/rappidjs/bower_components/todomvc-common/base.js b/examples/rappidjs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/rappidjs/bower_components/todomvc-common/base.js +++ b/examples/rappidjs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/rappidjs/bower_components/todomvc-common/bower.json b/examples/rappidjs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/rappidjs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/react-backbone/bower.json b/examples/react-backbone/bower.json index f9776d4b83..b8edee8672 100755 --- a/examples/react-backbone/bower.json +++ b/examples/react-backbone/bower.json @@ -6,7 +6,7 @@ "backbone": "~1.1.2", "backbone.localstorage": "~1.1.7", "jquery": "~2.1.0", - "todomvc-common": "~0.1.9", + "todomvc-common": "~0.3.0", "underscore": "~1.6.0" } } diff --git a/examples/react-backbone/bower_components/todomvc-common/base.js b/examples/react-backbone/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/react-backbone/bower_components/todomvc-common/base.js +++ b/examples/react-backbone/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/react-backbone/bower_components/todomvc-common/bower.json b/examples/react-backbone/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/react-backbone/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/react/bower.json b/examples/react/bower.json index 32d1e98606..afbdd3b0fe 100644 --- a/examples/react/bower.json +++ b/examples/react/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-react", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.7", + "todomvc-common": "~0.3.0", "director": "~1.2.0", "react": "~0.11.0" } diff --git a/examples/react/bower_components/todomvc-common/base.js b/examples/react/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/react/bower_components/todomvc-common/base.js +++ b/examples/react/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/react/bower_components/todomvc-common/bower.json b/examples/react/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/react/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/sammyjs/bower.json b/examples/sammyjs/bower.json index e9f49b2208..c2718bd2ea 100644 --- a/examples/sammyjs/bower.json +++ b/examples/sammyjs/bower.json @@ -4,6 +4,6 @@ "dependencies": { "sammy": "~0.7.4", "jquery": "~1.9.1", - "todomvc-common": "~0.1.4" + "todomvc-common": "~0.3.0" } } diff --git a/examples/sammyjs/bower_components/todomvc-common/base.js b/examples/sammyjs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/sammyjs/bower_components/todomvc-common/base.js +++ b/examples/sammyjs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/sammyjs/bower_components/todomvc-common/bower.json b/examples/sammyjs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/sammyjs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/sapui5/bower.json b/examples/sapui5/bower.json index 507994bf9e..1c44b3bf47 100644 --- a/examples/sapui5/bower.json +++ b/examples/sapui5/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-sapui5", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.7" + "todomvc-common": "~0.3.0" } } diff --git a/examples/sapui5/bower_components/todomvc-common/base.js b/examples/sapui5/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/sapui5/bower_components/todomvc-common/base.js +++ b/examples/sapui5/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/sapui5/bower_components/todomvc-common/bower.json b/examples/sapui5/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/sapui5/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/serenadejs/bower.json b/examples/serenadejs/bower.json index 2f2189f544..e698736f5f 100644 --- a/examples/serenadejs/bower.json +++ b/examples/serenadejs/bower.json @@ -3,6 +3,6 @@ "version": "0.0.0", "dependencies": { "director": "~1.2.0", - "todomvc-common": "~0.1.4" + "todomvc-common": "~0.3.0" } } diff --git a/examples/serenadejs/bower_components/todomvc-common/base.js b/examples/serenadejs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/serenadejs/bower_components/todomvc-common/base.js +++ b/examples/serenadejs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/serenadejs/bower_components/todomvc-common/bower.json b/examples/serenadejs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/serenadejs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/socketstream/bower.json b/examples/socketstream/bower.json index e1f2d00857..a798c567fd 100644 --- a/examples/socketstream/bower.json +++ b/examples/socketstream/bower.json @@ -1,7 +1,7 @@ { "name": "todomvc-socketstream", "dependencies": { - "todomvc-common": "~0.1.9", + "todomvc-common": "~0.3.0", "jquery": "~2.1.0", "director": "~1.2.2" } diff --git a/examples/somajs/bower.json b/examples/somajs/bower.json index 004c4383ce..0bc9dc42cf 100644 --- a/examples/somajs/bower.json +++ b/examples/somajs/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-somajs", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "director": "~1.2.0", "soma.js": "~2.1.0", "soma-template": "~0.2.8" diff --git a/examples/somajs/bower_components/todomvc-common/base.js b/examples/somajs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/somajs/bower_components/todomvc-common/base.js +++ b/examples/somajs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/somajs/bower_components/todomvc-common/bower.json b/examples/somajs/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/somajs/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/somajs_require/bower.json b/examples/somajs_require/bower.json index 13afdc5fa8..bcabfa9696 100644 --- a/examples/somajs_require/bower.json +++ b/examples/somajs_require/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-somajs", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "director": "~1.2.0", "requirejs": "~2.1.5", "soma.js": "~2.1.0", diff --git a/examples/somajs_require/bower_components/todomvc-common/base.js b/examples/somajs_require/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/somajs_require/bower_components/todomvc-common/base.js +++ b/examples/somajs_require/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/somajs_require/bower_components/todomvc-common/bower.json b/examples/somajs_require/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/somajs_require/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/spine/bower.json b/examples/spine/bower.json index 9a2156c119..b6bf3a1de6 100644 --- a/examples/spine/bower.json +++ b/examples/spine/bower.json @@ -3,7 +3,7 @@ "version": "0.0.0", "dependencies": { "spine": "~1.0.9", - "todomvc-common": "~0.1.4", + "todomvc-common": "~0.3.0", "handlebars": "~1.0.0-rc.3", "jquery": "~1.8.3" } diff --git a/examples/spine/bower_components/todomvc-common/base.js b/examples/spine/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/spine/bower_components/todomvc-common/base.js +++ b/examples/spine/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/spine/bower_components/todomvc-common/bower.json b/examples/spine/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/spine/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/stapes/bower.json b/examples/stapes/bower.json index 51ab2bebe3..4d327eec8b 100644 --- a/examples/stapes/bower.json +++ b/examples/stapes/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-stapes", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "jquery": "~2.0.0", "handlebars.js": "~1.0.0-rc.3", "stapes": "0.2.1" diff --git a/examples/stapes/bower_components/todomvc-common/base.js b/examples/stapes/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/stapes/bower_components/todomvc-common/base.js +++ b/examples/stapes/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/stapes/bower_components/todomvc-common/bower.json b/examples/stapes/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/stapes/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/stapes_require/bower.json b/examples/stapes_require/bower.json index b289cefe0d..36b7976b4c 100644 --- a/examples/stapes_require/bower.json +++ b/examples/stapes_require/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-stapes_require", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "stapes": "0.2.1", "handlebars.js": "~1.0.0-rc.3", "zepto": "~1.0.0", diff --git a/examples/stapes_require/bower_components/todomvc-common/base.js b/examples/stapes_require/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/stapes_require/bower_components/todomvc-common/base.js +++ b/examples/stapes_require/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/stapes_require/bower_components/todomvc-common/bower.json b/examples/stapes_require/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/stapes_require/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/thorax/bower.json b/examples/thorax/bower.json index 01596dc732..a353650ed3 100644 --- a/examples/thorax/bower.json +++ b/examples/thorax/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-thorax", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "thorax": "~2.0.0" } } diff --git a/examples/thorax/bower_components/todomvc-common/base.js b/examples/thorax/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/thorax/bower_components/todomvc-common/base.js +++ b/examples/thorax/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/thorax/bower_components/todomvc-common/bower.json b/examples/thorax/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/thorax/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/thorax_lumbar/bower.json b/examples/thorax_lumbar/bower.json index c47b14b2ec..2bae22fd79 100644 --- a/examples/thorax_lumbar/bower.json +++ b/examples/thorax_lumbar/bower.json @@ -2,7 +2,7 @@ "name": "thorax_lumbar", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "lumbar-loader": "~1.1.0", "script.js": "latest", "thorax": "~2.0.0" diff --git a/examples/thorax_lumbar/bower_components/todomvc-common/base.js b/examples/thorax_lumbar/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/thorax_lumbar/bower_components/todomvc-common/base.js +++ b/examples/thorax_lumbar/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/thorax_lumbar/bower_components/todomvc-common/bower.json b/examples/thorax_lumbar/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/thorax_lumbar/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/troopjs_require/bower_components/todomvc-common/base.js b/examples/troopjs_require/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/troopjs_require/bower_components/todomvc-common/base.js +++ b/examples/troopjs_require/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/troopjs_require/bower_components/todomvc-common/bower.json b/examples/troopjs_require/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/troopjs_require/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/typescript-angular/bower.json b/examples/typescript-angular/bower.json index fcbe2d1fcd..e07daae4c5 100644 --- a/examples/typescript-angular/bower.json +++ b/examples/typescript-angular/bower.json @@ -3,6 +3,6 @@ "version": "0.0.0", "dependencies": { "angular": "1.2.8", - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/typescript-angular/bower_components/todomvc-common/base.js b/examples/typescript-angular/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/typescript-angular/bower_components/todomvc-common/base.js +++ b/examples/typescript-angular/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/typescript-angular/bower_components/todomvc-common/bower.json b/examples/typescript-angular/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/typescript-angular/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/typescript-backbone/bower.json b/examples/typescript-backbone/bower.json index fff8d29fb4..626fc649df 100644 --- a/examples/typescript-backbone/bower.json +++ b/examples/typescript-backbone/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-typescript-backbone", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6", + "todomvc-common": "~0.3.0", "jquery": "~2.0.0", "lodash": "~1.2.1" } diff --git a/examples/typescript-backbone/bower_components/todomvc-common/base.js b/examples/typescript-backbone/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/typescript-backbone/bower_components/todomvc-common/base.js +++ b/examples/typescript-backbone/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/typescript-backbone/bower_components/todomvc-common/bower.json b/examples/typescript-backbone/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/typescript-backbone/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/vanilladart/bower.json b/examples/vanilladart/bower.json index 1cab3809ac..ba0c971a23 100644 --- a/examples/vanilladart/bower.json +++ b/examples/vanilladart/bower.json @@ -2,6 +2,6 @@ "name": "dart", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } -} \ No newline at end of file +} diff --git a/examples/vanilladart/build/web/bower_components/todomvc-common/base.js b/examples/vanilladart/build/web/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/vanilladart/build/web/bower_components/todomvc-common/base.js +++ b/examples/vanilladart/build/web/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/vanilladart/web/bower_components/todomvc-common/base.js b/examples/vanilladart/web/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/vanilladart/web/bower_components/todomvc-common/base.js +++ b/examples/vanilladart/web/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/vanillajs/bower.json b/examples/vanillajs/bower.json index 6c730a5351..6cf22d2f6d 100644 --- a/examples/vanillajs/bower.json +++ b/examples/vanillajs/bower.json @@ -2,7 +2,7 @@ "name": "todomvc-vanillajs", "version": "0.0.0", "dependencies": { - "todomvc-common": "~0.1.4" + "todomvc-common": "~0.3.0" }, "devDependencies": { "jasmine": "~1.3.1" diff --git a/examples/vanillajs/bower_components/todomvc-common/base.js b/examples/vanillajs/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/vanillajs/bower_components/todomvc-common/base.js +++ b/examples/vanillajs/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/vue/bower.json b/examples/vue/bower.json index 0fa60302b7..aa323672d8 100644 --- a/examples/vue/bower.json +++ b/examples/vue/bower.json @@ -2,6 +2,6 @@ "name": "todomvc-vue", "dependencies": { "vue": "~0.10.0", - "todomvc-common": "~0.1.9" + "todomvc-common": "~0.3.0" } -} \ No newline at end of file +} diff --git a/examples/vue/bower_components/todomvc-common/base.js b/examples/vue/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/vue/bower_components/todomvc-common/base.js +++ b/examples/vue/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/vue/bower_components/todomvc-common/bower.json b/examples/vue/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/vue/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/examples/yui/bower.json b/examples/yui/bower.json index 2d5fddfeb2..554670362c 100644 --- a/examples/yui/bower.json +++ b/examples/yui/bower.json @@ -1,6 +1,6 @@ { "name": "todomvc-yui", "dependencies": { - "todomvc-common": "~0.1.6" + "todomvc-common": "~0.3.0" } } diff --git a/examples/yui/bower_components/todomvc-common/base.js b/examples/yui/bower_components/todomvc-common/base.js index dd2eba3ef2..d3a15127d8 100644 --- a/examples/yui/bower_components/todomvc-common/base.js +++ b/examples/yui/bower_components/todomvc-common/base.js @@ -171,25 +171,42 @@ framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML); diff --git a/examples/yui/bower_components/todomvc-common/bower.json b/examples/yui/bower_components/todomvc-common/bower.json deleted file mode 100644 index f1665c5db0..0000000000 --- a/examples/yui/bower_components/todomvc-common/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "todomvc-common", - "description": "Common TodoMVC utilities used by our apps", - "license": "MIT", - "authors": [ - "TasteJS team" - ], - "main": [ - "base.js", - "base.css" - ], - "keywords": [ - "todomvc", - "tastejs", - "util", - "utilities" - ], - "ignore": [ - "package.json", - "readme.md" - ] -} diff --git a/tasks/Gruntfile.js b/tasks/Gruntfile.js index fa2bcb633e..112013343c 100644 --- a/tasks/Gruntfile.js +++ b/tasks/Gruntfile.js @@ -15,8 +15,8 @@ module.exports = function (grunt) { // I also added Bower up top for in the future, as that might come in handy // to correctly fetch and install the latest todomvc-common, without relying // on this weird Batman system. - var sourceTodoMvcCommon = 'examples/batman/bower_components/todomvc-common'; - var sourceIdentifierRegex = /batman/; + var sourceTodoMvcCommon = 'examples/angularjs/bower_components/todomvc-common'; + var sourceIdentifierRegex = /angularjs/; grunt.file.setBase('../'); diff --git a/template/bower_components/todomvc-common/base.css b/template/bower_components/todomvc-common/base.css index d151ededea..285f531307 100644 --- a/template/bower_components/todomvc-common/base.css +++ b/template/bower_components/todomvc-common/base.css @@ -274,7 +274,6 @@ label[for='toggle-all'] { text-shadow: 0 0 1px #000, 0 0 10px rgba(199, 107, 107, 0.8); -webkit-transform: scale(1.3); - -ms-transform: scale(1.3); transform: scale(1.3); } @@ -399,7 +398,6 @@ label[for='toggle-all'] { width: 65px; height: 41px; -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); transform: rotate(90deg); -webkit-appearance: none; appearance: none; diff --git a/template/bower_components/todomvc-common/base.js b/template/bower_components/todomvc-common/base.js index 099da60dd1..d3a15127d8 100644 --- a/template/bower_components/todomvc-common/base.js +++ b/template/bower_components/todomvc-common/base.js @@ -122,16 +122,7 @@ } function findRoot() { - var base; - - [/labs/, /\w*-examples/].forEach(function (href) { - var match = location.href.match(href); - - if (!base && match) { - base = location.href.indexOf(match); - } - }); - + var base = location.href.indexOf('examples/'); return location.href.substr(0, base); } @@ -177,28 +168,45 @@ } if (!framework && document.querySelector('[data-framework]')) { - framework = document.querySelector('[data-framework]').getAttribute('data-framework'); + framework = document.querySelector('[data-framework]').dataset.framework; } + this.template = template; - if (template && learnJSON[framework]) { + if (learnJSON.backend) { + this.frameworkJSON = learnJSON.backend; + this.append({ + backend: true + }); + } else if (learnJSON[framework]) { this.frameworkJSON = learnJSON[framework]; - this.template = template; - this.append(); } } - Learn.prototype.append = function () { + Learn.prototype.append = function (opts) { var aside = document.createElement('aside'); aside.innerHTML = _.template(this.template, this.frameworkJSON); aside.className = 'learn'; - // Localize demo links - var demoLinks = aside.querySelectorAll('.demo-link'); - Array.prototype.forEach.call(demoLinks, function (demoLink) { - demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); - }); + if (opts && opts.backend) { + // Remove demo link + var sourceLinks = aside.querySelector('.source-links'); + var heading = sourceLinks.firstElementChild; + var sourceLink = sourceLinks.lastElementChild; + // Correct link path + var href = sourceLink.getAttribute('href'); + sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http'))); + sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML; + } else { + // Localize demo links + var demoLinks = aside.querySelectorAll('.demo-link'); + Array.prototype.forEach.call(demoLinks, function (demoLink) { + if (demoLink.getAttribute('href').substr(0, 4) !== 'http') { + demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href')); + } + }); + } document.body.className = (document.body.className + ' learn-bar').trim(); document.body.insertAdjacentHTML('afterBegin', aside.outerHTML);