mirror of
https://github.com/lrsjng/h5ai.git
synced 2025-05-24 20:14:37 -04:00
Clean code.
This commit is contained in:
parent
d2031d57d2
commit
16186811a4
3 changed files with 26 additions and 145 deletions
|
@ -1,54 +1,41 @@
|
||||||
modulejs.define('core/server', ['_', '$', 'config', 'core/location'], function (_, $, config, location) {
|
modulejs.define('core/server', ['_', '$', 'core/location'], function (_, $, location) {
|
||||||
|
|
||||||
var hasApi = config.setup.API === true;
|
|
||||||
|
|
||||||
|
|
||||||
function request(data, callback) {
|
function request(data, callback) {
|
||||||
|
|
||||||
if (hasApi) {
|
$.ajax({
|
||||||
$.ajax({
|
url: location.getAbsHref(),
|
||||||
url: location.getAbsHref(),
|
data: data,
|
||||||
data: data,
|
type: 'post',
|
||||||
type: 'post',
|
dataType: 'json'
|
||||||
dataType: 'json'
|
})
|
||||||
})
|
.done(function (json) {
|
||||||
.done(function (json) {
|
|
||||||
|
|
||||||
callback(json);
|
callback(json);
|
||||||
})
|
})
|
||||||
.fail(function () {
|
.fail(function () {
|
||||||
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
callback();
|
callback();
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function formRequest(data) {
|
function formRequest(data) {
|
||||||
|
|
||||||
if (hasApi) {
|
var $form = $('<form method="post" style="display:none;"/>')
|
||||||
var $form = $('<form method="post" style="display:none;"/>')
|
.attr('action', location.getAbsHref());
|
||||||
.attr('action', location.getAbsHref());
|
|
||||||
|
|
||||||
_.each(data, function (val, key) {
|
_.each(data, function (val, key) {
|
||||||
|
|
||||||
$('<input type="hidden"/>')
|
$('<input type="hidden"/>')
|
||||||
.attr('name', key)
|
.attr('name', key)
|
||||||
.attr('value', val)
|
.attr('value', val)
|
||||||
.appendTo($form);
|
.appendTo($form);
|
||||||
});
|
});
|
||||||
|
|
||||||
$form.appendTo('body').submit().remove();
|
$form.appendTo('body').submit().remove();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
api: hasApi,
|
|
||||||
backend: config.setup.BACKEND,
|
|
||||||
name: config.setup.SERVER_NAME,
|
|
||||||
version: config.setup.SERVER_VERSION,
|
|
||||||
request: request,
|
request: request,
|
||||||
formRequest: formRequest
|
formRequest: formRequest
|
||||||
};
|
};
|
||||||
|
|
|
@ -78,7 +78,7 @@ modulejs.define('ext/thumbnails', ['_', 'core/event', 'core/server', 'core/setti
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
|
|
||||||
if (!settings.enabled || !server.api) {
|
if (!settings.enabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var ID = 'core/server';
|
var ID = 'core/server';
|
||||||
var DEPS = ['_', '$', 'config', 'core/location'];
|
var DEPS = ['_', '$', 'core/location'];
|
||||||
var $submitEl;
|
var $submitEl;
|
||||||
|
|
||||||
describe('module \'' + ID + '\'', function () {
|
describe('module \'' + ID + '\'', function () {
|
||||||
|
@ -11,14 +11,6 @@ describe('module \'' + ID + '\'', function () {
|
||||||
|
|
||||||
this.definition = modulejs._private.definitions[ID];
|
this.definition = modulejs._private.definitions[ID];
|
||||||
|
|
||||||
this.xConfig = {
|
|
||||||
setup: {
|
|
||||||
API: true,
|
|
||||||
BACKEND: util.uniqId(),
|
|
||||||
SERVER_NAME: util.uniqId(),
|
|
||||||
SERVER_VERSION: util.uniqId()
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.xAbsHref = util.uniqId();
|
this.xAbsHref = util.uniqId();
|
||||||
this.xLocation = {
|
this.xLocation = {
|
||||||
getAbsHref: sinon.stub().returns(this.xAbsHref)
|
getAbsHref: sinon.stub().returns(this.xAbsHref)
|
||||||
|
@ -45,7 +37,7 @@ describe('module \'' + ID + '\'', function () {
|
||||||
this.xSubmit.reset();
|
this.xSubmit.reset();
|
||||||
$submitEl = undefined;
|
$submitEl = undefined;
|
||||||
|
|
||||||
return this.definition.fn(_, $, this.xConfig, this.xLocation);
|
return this.definition.fn(_, $, this.xLocation);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -90,69 +82,11 @@ describe('module \'' + ID + '\'', function () {
|
||||||
|
|
||||||
describe('application', function () {
|
describe('application', function () {
|
||||||
|
|
||||||
it('returns plain object with 6 properties', function () {
|
it('returns plain object with 2 properties', function () {
|
||||||
|
|
||||||
var instance = this.applyFn();
|
var instance = this.applyFn();
|
||||||
assert.isPlainObject(instance);
|
assert.isPlainObject(instance);
|
||||||
assert.lengthOf(_.keys(instance), 6);
|
assert.lengthOf(_.keys(instance), 2);
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('.backend', function () {
|
|
||||||
|
|
||||||
it('set correct', function () {
|
|
||||||
|
|
||||||
var instance = this.applyFn();
|
|
||||||
assert.strictEqual(instance.backend, this.xConfig.setup.BACKEND);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('.name', function () {
|
|
||||||
|
|
||||||
it('set correct', function () {
|
|
||||||
|
|
||||||
var instance = this.applyFn();
|
|
||||||
assert.strictEqual(instance.name, this.xConfig.setup.SERVER_NAME);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('.version', function () {
|
|
||||||
|
|
||||||
it('set correct', function () {
|
|
||||||
|
|
||||||
var instance = this.applyFn();
|
|
||||||
assert.strictEqual(instance.version, this.xConfig.setup.SERVER_VERSION);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('.api', function () {
|
|
||||||
|
|
||||||
it('set correct (false)', function () {
|
|
||||||
|
|
||||||
this.xConfig.setup.API = false;
|
|
||||||
var instance = this.applyFn();
|
|
||||||
assert.isFalse(instance.api);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('set correct (falsy)', function () {
|
|
||||||
|
|
||||||
this.xConfig.setup.API = null;
|
|
||||||
var instance = this.applyFn();
|
|
||||||
assert.isFalse(instance.api);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('set correct (truthy)', function () {
|
|
||||||
|
|
||||||
this.xConfig.setup.API = 1;
|
|
||||||
var instance = this.applyFn();
|
|
||||||
assert.isFalse(instance.api);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('set correct (true)', function () {
|
|
||||||
|
|
||||||
this.xConfig.setup.API = true;
|
|
||||||
var instance = this.applyFn();
|
|
||||||
assert.isTrue(instance.api);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -164,29 +98,8 @@ describe('module \'' + ID + '\'', function () {
|
||||||
assert.isFunction(instance.request);
|
assert.isFunction(instance.request);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('no result if no API', function () {
|
|
||||||
|
|
||||||
this.xConfig.setup.API = false;
|
|
||||||
|
|
||||||
var instance = this.applyFn();
|
|
||||||
|
|
||||||
var xData = util.uniqObj();
|
|
||||||
var spy = sinon.spy();
|
|
||||||
var res = instance.request(xData, spy);
|
|
||||||
|
|
||||||
assert.isUndefined(res);
|
|
||||||
assert.isFalse(this.xAjax.called);
|
|
||||||
assert.isFalse(this.xAjaxResult.done.called);
|
|
||||||
assert.isFalse(this.xAjaxResult.fail.called);
|
|
||||||
assert.isFalse(this.xAjax.called);
|
|
||||||
assert.isTrue(spy.calledOnce);
|
|
||||||
assert.deepEqual(spy.lastCall.args, []);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('done() works', function () {
|
it('done() works', function () {
|
||||||
|
|
||||||
this.xConfig.setup.API = true;
|
|
||||||
|
|
||||||
var instance = this.applyFn();
|
var instance = this.applyFn();
|
||||||
|
|
||||||
var xData = util.uniqObj();
|
var xData = util.uniqObj();
|
||||||
|
@ -215,8 +128,6 @@ describe('module \'' + ID + '\'', function () {
|
||||||
|
|
||||||
it('fail() works', function () {
|
it('fail() works', function () {
|
||||||
|
|
||||||
this.xConfig.setup.API = true;
|
|
||||||
|
|
||||||
var instance = this.applyFn();
|
var instance = this.applyFn();
|
||||||
|
|
||||||
var xData = util.uniqObj();
|
var xData = util.uniqObj();
|
||||||
|
@ -251,25 +162,8 @@ describe('module \'' + ID + '\'', function () {
|
||||||
assert.isFunction(instance.formRequest);
|
assert.isFunction(instance.formRequest);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does nothing if no API', function () {
|
|
||||||
|
|
||||||
this.xConfig.setup.API = false;
|
|
||||||
|
|
||||||
var instance = this.applyFn();
|
|
||||||
|
|
||||||
var xData = util.uniqObj();
|
|
||||||
var res = instance.formRequest(xData);
|
|
||||||
|
|
||||||
assert.isUndefined(res);
|
|
||||||
|
|
||||||
assert.isFalse(this.xSubmit.called);
|
|
||||||
assert.isUndefined($submitEl);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('works', function () {
|
it('works', function () {
|
||||||
|
|
||||||
this.xConfig.setup.API = true;
|
|
||||||
|
|
||||||
var instance = this.applyFn();
|
var instance = this.applyFn();
|
||||||
|
|
||||||
var xData = {
|
var xData = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue