Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1814)

Unified Diff: samples/third_party/todomvc_performance/js_todomvc/components/todomvc-common/base.js

Issue 1576153002: Remove the Dromaeo and TodoMVC samples. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: samples/third_party/todomvc_performance/js_todomvc/components/todomvc-common/base.js
diff --git a/samples/third_party/todomvc_performance/js_todomvc/components/todomvc-common/base.js b/samples/third_party/todomvc_performance/js_todomvc/components/todomvc-common/base.js
deleted file mode 100644
index 099da60dd13e3d26a7f6d743de96400f48f2d500..0000000000000000000000000000000000000000
--- a/samples/third_party/todomvc_performance/js_todomvc/components/todomvc-common/base.js
+++ /dev/null
@@ -1,209 +0,0 @@
-(function () {
- 'use strict';
-
- // Underscore's Template Module
- // Courtesy of underscorejs.org
- var _ = (function (_) {
- _.defaults = function (object) {
- if (!object) {
- return object;
- }
- for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {
- var iterable = arguments[argsIndex];
- if (iterable) {
- for (var key in iterable) {
- if (object[key] == null) {
- object[key] = iterable[key];
- }
- }
- }
- }
- return object;
- }
-
- // By default, Underscore uses ERB-style template delimiters, change the
- // following template settings to use alternative delimiters.
- _.templateSettings = {
- evaluate : /<%([\s\S]+?)%>/g,
- interpolate : /<%=([\s\S]+?)%>/g,
- escape : /<%-([\s\S]+?)%>/g
- };
-
- // When customizing `templateSettings`, if you don't want to define an
- // interpolation, evaluation or escaping regex, we need one that is
- // guaranteed not to match.
- var noMatch = /(.)^/;
-
- // Certain characters need to be escaped so that they can be put into a
- // string literal.
- var escapes = {
- "'": "'",
- '\\': '\\',
- '\r': 'r',
- '\n': 'n',
- '\t': 't',
- '\u2028': 'u2028',
- '\u2029': 'u2029'
- };
-
- var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g;
-
- // JavaScript micro-templating, similar to John Resig's implementation.
- // Underscore templating handles arbitrary delimiters, preserves whitespace,
- // and correctly escapes quotes within interpolated code.
- _.template = function(text, data, settings) {
- var render;
- settings = _.defaults({}, settings, _.templateSettings);
-
- // Combine delimiters into one regular expression via alternation.
- var matcher = new RegExp([
- (settings.escape || noMatch).source,
- (settings.interpolate || noMatch).source,
- (settings.evaluate || noMatch).source
- ].join('|') + '|$', 'g');
-
- // Compile the template source, escaping string literals appropriately.
- var index = 0;
- var source = "__p+='";
- text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
- source += text.slice(index, offset)
- .replace(escaper, function(match) { return '\\' + escapes[match]; });
-
- if (escape) {
- source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
- }
- if (interpolate) {
- source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
- }
- if (evaluate) {
- source += "';\n" + evaluate + "\n__p+='";
- }
- index = offset + match.length;
- return match;
- });
- source += "';\n";
-
- // If a variable is not specified, place data values in local scope.
- if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n';
-
- source = "var __t,__p='',__j=Array.prototype.join," +
- "print=function(){__p+=__j.call(arguments,'');};\n" +
- source + "return __p;\n";
-
- try {
- render = new Function(settings.variable || 'obj', '_', source);
- } catch (e) {
- e.source = source;
- throw e;
- }
-
- if (data) return render(data, _);
- var template = function(data) {
- return render.call(this, data, _);
- };
-
- // Provide the compiled function source as a convenience for precompilation.
- template.source = 'function(' + (settings.variable || 'obj') + '){\n' + source + '}';
-
- return template;
- };
-
- return _;
- })({});
-
- if (location.hostname === 'todomvc.com') {
- window._gaq = [['_setAccount','UA-31081062-1'],['_trackPageview']];(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.src='//www.google-analytics.com/ga.js';s.parentNode.insertBefore(g,s)}(document,'script'));
- }
-
- function redirect() {
- if (location.hostname === 'tastejs.github.io') {
- location.href = location.href.replace('tastejs.github.io/todomvc', 'todomvc.com');
- }
- }
-
- function findRoot() {
- var base;
-
- [/labs/, /\w*-examples/].forEach(function (href) {
- var match = location.href.match(href);
-
- if (!base && match) {
- base = location.href.indexOf(match);
- }
- });
-
- return location.href.substr(0, base);
- }
-
- function getFile(file, callback) {
- if (!location.host) {
- return console.info('Miss the info bar? Run TodoMVC from a server to avoid a cross-origin error.');
- }
-
- var xhr = new XMLHttpRequest();
-
- xhr.open('GET', findRoot() + file, true);
- xhr.send();
-
- xhr.onload = function () {
- if (xhr.status === 200 && callback) {
- callback(xhr.responseText);
- }
- };
- }
-
- function Learn(learnJSON, config) {
- if (!(this instanceof Learn)) {
- return new Learn(learnJSON, config);
- }
-
- var template, framework;
-
- if (typeof learnJSON !== 'object') {
- try {
- learnJSON = JSON.parse(learnJSON);
- } catch (e) {
- return;
- }
- }
-
- if (config) {
- template = config.template;
- framework = config.framework;
- }
-
- if (!template && learnJSON.templates) {
- template = learnJSON.templates.todomvc;
- }
-
- if (!framework && document.querySelector('[data-framework]')) {
- framework = document.querySelector('[data-framework]').getAttribute('data-framework');
- }
-
-
- if (template && learnJSON[framework]) {
- this.frameworkJSON = learnJSON[framework];
- this.template = template;
-
- this.append();
- }
- }
-
- Learn.prototype.append = function () {
- 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'));
- });
-
- document.body.className = (document.body.className + ' learn-bar').trim();
- document.body.insertAdjacentHTML('afterBegin', aside.outerHTML);
- };
-
- redirect();
- getFile('learn.json', Learn);
-})();

Powered by Google App Engine
This is Rietveld 408576698