mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: List views in admin were broken
This commit is contained in:
1851
vendor/assets/javascripts/list-view.js
vendored
1851
vendor/assets/javascripts/list-view.js
vendored
File diff suppressed because it is too large
Load Diff
168
vendor/assets/javascripts/loader.js
vendored
168
vendor/assets/javascripts/loader.js
vendored
@@ -1,69 +1,166 @@
|
||||
var define, requireModule, require, requirejs, hasModule;
|
||||
var define, requireModule, require, requirejs;
|
||||
|
||||
(function() {
|
||||
var registry = {}, seen = {}, state = {};
|
||||
|
||||
var _isArray;
|
||||
if (!Array.isArray) {
|
||||
_isArray = function (x) {
|
||||
return Object.prototype.toString.call(x) === "[object Array]";
|
||||
};
|
||||
} else {
|
||||
_isArray = Array.isArray;
|
||||
}
|
||||
|
||||
var registry = {};
|
||||
var seen = {};
|
||||
var FAILED = false;
|
||||
|
||||
var uuid = 0;
|
||||
|
||||
function tryFinally(tryable, finalizer) {
|
||||
try {
|
||||
return tryable();
|
||||
} finally {
|
||||
finalizer();
|
||||
}
|
||||
}
|
||||
|
||||
function unsupportedModule(length) {
|
||||
throw new Error("an unsupported module was defined, expected `define(name, deps, module)` instead got: `" + length + "` arguments to define`");
|
||||
}
|
||||
|
||||
var defaultDeps = ['require', 'exports', 'module'];
|
||||
|
||||
function Module(name, deps, callback, exports) {
|
||||
this.id = uuid++;
|
||||
this.name = name;
|
||||
this.deps = !deps.length && callback.length ? defaultDeps : deps;
|
||||
this.exports = exports || { };
|
||||
this.callback = callback;
|
||||
this.state = undefined;
|
||||
this._require = undefined;
|
||||
}
|
||||
|
||||
|
||||
Module.prototype.makeRequire = function() {
|
||||
var name = this.name;
|
||||
|
||||
return this._require || (this._require = function(dep) {
|
||||
return require(resolve(dep, name));
|
||||
});
|
||||
}
|
||||
|
||||
define = function(name, deps, callback) {
|
||||
registry[name] = {
|
||||
deps: deps,
|
||||
callback: callback
|
||||
};
|
||||
if (arguments.length < 2) {
|
||||
unsupportedModule(arguments.length);
|
||||
}
|
||||
|
||||
if (!_isArray(deps)) {
|
||||
callback = deps;
|
||||
deps = [];
|
||||
}
|
||||
|
||||
registry[name] = new Module(name, deps, callback);
|
||||
};
|
||||
|
||||
function reify(deps, name, seen) {
|
||||
// we don't support all of AMD
|
||||
// define.amd = {};
|
||||
// we will support petals...
|
||||
define.petal = { };
|
||||
|
||||
function Alias(path) {
|
||||
this.name = path;
|
||||
}
|
||||
|
||||
define.alias = function(path) {
|
||||
return new Alias(path);
|
||||
};
|
||||
|
||||
function reify(mod, name, seen) {
|
||||
var deps = mod.deps;
|
||||
var length = deps.length;
|
||||
var reified = new Array(length);
|
||||
var dep;
|
||||
var exports;
|
||||
// TODO: new Module
|
||||
// TODO: seen refactor
|
||||
var module = { };
|
||||
|
||||
for (var i = 0, l = length; i < l; i++) {
|
||||
dep = deps[i];
|
||||
if (dep === 'exports') {
|
||||
exports = reified[i] = seen;
|
||||
module.exports = reified[i] = seen;
|
||||
} else if (dep === 'require') {
|
||||
reified[i] = mod.makeRequire();
|
||||
} else if (dep === 'module') {
|
||||
mod.exports = seen;
|
||||
module = reified[i] = mod;
|
||||
} else {
|
||||
reified[i] = require(resolve(dep, name));
|
||||
reified[i] = requireFrom(resolve(dep, name), name);
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
deps: reified,
|
||||
exports: exports
|
||||
module: module
|
||||
};
|
||||
}
|
||||
|
||||
hasModule = function(name){
|
||||
return !!registry[name];
|
||||
};
|
||||
function requireFrom(name, origin) {
|
||||
var mod = registry[name];
|
||||
if (!mod) {
|
||||
throw new Error('Could not find module `' + name + '` imported from `' + origin + '`');
|
||||
}
|
||||
return require(name);
|
||||
}
|
||||
|
||||
function missingModule(name) {
|
||||
throw new Error('Could not find module ' + name);
|
||||
}
|
||||
requirejs = require = requireModule = function(name) {
|
||||
if (state[name] !== FAILED &&
|
||||
var mod = registry[name];
|
||||
|
||||
|
||||
if (mod && mod.callback instanceof Alias) {
|
||||
mod = registry[mod.callback.name];
|
||||
}
|
||||
|
||||
if (!mod) { missingModule(name); }
|
||||
|
||||
if (mod.state !== FAILED &&
|
||||
seen.hasOwnProperty(name)) {
|
||||
return seen[name];
|
||||
}
|
||||
|
||||
if (!registry[name]) {
|
||||
throw new Error('Could not find module ' + name);
|
||||
}
|
||||
|
||||
var mod = registry[name];
|
||||
var reified;
|
||||
var module;
|
||||
var loaded = false;
|
||||
|
||||
seen[name] = { }; // placeholder for run-time cycles
|
||||
|
||||
try {
|
||||
reified = reify(mod.deps, name, seen[name]);
|
||||
tryFinally(function() {
|
||||
reified = reify(mod, name, seen[name]);
|
||||
module = mod.callback.apply(this, reified.deps);
|
||||
loaded = true;
|
||||
} finally {
|
||||
}, function() {
|
||||
if (!loaded) {
|
||||
state[name] = FAILED;
|
||||
mod.state = FAILED;
|
||||
}
|
||||
});
|
||||
|
||||
var obj;
|
||||
if (module === undefined && reified.module.exports) {
|
||||
obj = reified.module.exports;
|
||||
} else {
|
||||
obj = seen[name] = module;
|
||||
}
|
||||
|
||||
return reified.exports ? seen[name] : (seen[name] = module);
|
||||
if (obj !== null &&
|
||||
(typeof obj === 'object' || typeof obj === 'function') &&
|
||||
obj['default'] === undefined) {
|
||||
obj['default'] = obj;
|
||||
}
|
||||
|
||||
return (seen[name] = obj);
|
||||
};
|
||||
|
||||
function resolve(child, name) {
|
||||
@@ -71,27 +168,26 @@ var define, requireModule, require, requirejs, hasModule;
|
||||
|
||||
var parts = child.split('/');
|
||||
var nameParts = name.split('/');
|
||||
var parentBase;
|
||||
|
||||
if (nameParts.length === 1) {
|
||||
parentBase = nameParts;
|
||||
} else {
|
||||
parentBase = nameParts.slice(0, -1);
|
||||
}
|
||||
var parentBase = nameParts.slice(0, -1);
|
||||
|
||||
for (var i = 0, l = parts.length; i < l; i++) {
|
||||
var part = parts[i];
|
||||
|
||||
if (part === '..') { parentBase.pop(); }
|
||||
else if (part === '.') { continue; }
|
||||
else { parentBase.push(part); }
|
||||
if (part === '..') {
|
||||
if (parentBase.length === 0) {
|
||||
throw new Error('Cannot access parent module of root');
|
||||
}
|
||||
parentBase.pop();
|
||||
} else if (part === '.') {
|
||||
continue;
|
||||
} else { parentBase.push(part); }
|
||||
}
|
||||
|
||||
return parentBase.join('/');
|
||||
}
|
||||
|
||||
requirejs.entries = requirejs._eak_seen = registry;
|
||||
requirejs.clear = function(){
|
||||
requirejs.clear = function() {
|
||||
requirejs.entries = requirejs._eak_seen = registry = {};
|
||||
seen = state = {};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user