Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .jshintrc
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,13 @@
"debug" : false,
"devel" : true,
"es5" : true,
"strict" : false,
"strict" : true,
"globalstrict" : false,
"asi" : false,
"laxbreak" : false,
"bitwise" : true,
"boss" : false,
"unused" : true,
"curly" : true,
"eqeqeq" : true,
"eqnull" : false,
Expand Down
64 changes: 64 additions & 0 deletions jstests/tests/home/mock_jsapi.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
define(['jquery'], function ($) {
"use strict";

return {
Application: {
create: function() {
},
delete: function() {
},
retrieve: function(id) {
var data = {
"12345": {
image: {
name: "app1",
ui_name: "Application 1",
icon_128: "",
description: "description",
policy: {
allow_home: true,
volume_source: "",
volume_target: "",
volume_mode: ""
},
configurables: [
"resolution"
]
}
},
"67890": {
image: {
name: "app2",
ui_name: "Application 2",
icon_128: "",
description: "description",
policy: {
allow_home: true,
volume_source: "",
volume_target: "",
volume_mode: ""
},
configurables: []
}
}
};

return $.when(data[id]);

},
items: function() {
return $.when(["12345", "67890"]);
}
},
Container: {
create: function() {
},
delete: function() {
},
retrieve: function() {
},
items: function() {
}
}
};
});
45 changes: 0 additions & 45 deletions jstests/tests/home/mock_remoteappapi.js

This file was deleted.

8 changes: 3 additions & 5 deletions jstests/tests/home/test_models.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
define([
"home/models",
"../../../../../jstests/tests/home/mock_remoteappapi"
], function (models, mock_api) {
"home/models"
], function (models) {
"use strict";

QUnit.module("home.models");
QUnit.test("instantiation", function (assert) {
var api = new mock_api.MockApi();
var model = new models.ApplicationListModel(api);
var model = new models.ApplicationListModel();
assert.equal(model.app_data.length, 0);
model.update().done(function() {
assert.equal(model.app_data.length, 2);
Expand Down
6 changes: 2 additions & 4 deletions jstests/tests/home/test_views.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
define([
"home/models",
"home/views",
"../../../../../jstests/tests/home/mock_remoteappapi",
"jquery"
], function (models, views, mock_api, $) {
], function (models, views, $) {
"use strict";
QUnit.module("home.views");
QUnit.test("rendering", function (assert) {
var api = new mock_api.MockApi();
var model = new models.ApplicationListModel(api);
var model = new models.ApplicationListModel();
var view = new views.ApplicationListView(model);
model.update()
.done(function() { view.render(); } )
Expand Down
9 changes: 0 additions & 9 deletions jstests/tests/test_remoteappapi.js

This file was deleted.

2 changes: 1 addition & 1 deletion jstests/testsuite.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
jquery: '../components/jquery/jquery.min',
bootstrap: '../components/bootstrap/js/bootstrap.min',
moment: "../components/moment/moment",
"jsapi/v1/resources": "../../../jstests/tests/home/mock_jsapi"
},
shim: {
bootstrap: {
Expand All @@ -19,7 +20,6 @@
"tests/home/test_configurables.js",
"tests/home/test_models.js",
"tests/home/test_views.js",
"tests/test_remoteappapi.js",
"tests/test_utils.js",
"tests/test_analytics.js"
], function() {
Expand Down
5 changes: 2 additions & 3 deletions remoteappmanager/static/js/admin/accounting/controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ define([
"jsapi/v1/resources"
], function ($, bootstrap, dialogs, resources) {
"use strict";
var base_url = window.apidata.base_url;

$('#create-new-policy-dialog').on('show.bs.modal', function () {
var dialog = $(this);
Expand Down Expand Up @@ -75,7 +74,7 @@ define([

resources.Accounting.create(rep)
.done(function() { window.location.reload(); })
.fail(dialogs.error);
.fail(dialogs.webapi_error_dialog);
};

var cancel_callback = function () {
Expand Down Expand Up @@ -112,7 +111,7 @@ define([
function() {
resources.Accounting.delete(id)
.done(function() { window.location.reload(); })
.fail(dialogs.error);
.fail(dialogs.webapi_error_dialog);
}
);
});
Expand Down
5 changes: 2 additions & 3 deletions remoteappmanager/static/js/admin/applications/controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ require([
"jsapi/v1/resources"
], function ($, bootstrap, dialogs, resources) {
"use strict";
var base_url = window.apidata.base_url;

$('#create-new-dialog').on('show.bs.modal', function () {
var dialog = $(this);
Expand All @@ -20,7 +19,7 @@ require([
dialog.modal('hide');
resources.Application.create({ image_name: image_name })
.done(function() { window.location.reload(); })
.fail(dialogs.ajax_error_dialog);
.fail(dialogs.webapi_error_dialog);
};

var cancel_callback = function () {
Expand Down Expand Up @@ -58,7 +57,7 @@ require([
function() {
resources.Application.delete(id)
.done(function() { window.location.reload(); })
.fail(dialogs.ajax_error_dialog);
.fail(dialogs.webapi_error_dialog);
}
);
});
Expand Down
3 changes: 1 addition & 2 deletions remoteappmanager/static/js/admin/containers/controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ require([
"jsapi/v1/resources"
], function ($, bootstrap, dialogs, resources) {
"use strict";
var base_url = window.apidata.base_url;

$('#action-dialog').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
Expand All @@ -19,7 +18,7 @@ require([
function () {
resources.Container.delete(url_id)
.done(function () { window.location.reload(); })
.fail(dialogs.ajax_error_dialog);
.fail(dialogs.webapi_error_dialog);
}
);
});
Expand Down
3 changes: 2 additions & 1 deletion remoteappmanager/static/js/admin/home/controller.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/*globals: require, console*/
require([
"jquery"
], function($) {
], function() {
"use strict";

});
2 changes: 1 addition & 1 deletion remoteappmanager/static/js/admin/tabular/controller.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
define([
"jquery",
"datatables.net"
], function ($, dt) {
], function ($, dt) { // jshint ignore:line
"use strict";

$("#datatable").DataTable();
Expand Down
5 changes: 2 additions & 3 deletions remoteappmanager/static/js/admin/users/controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ define([
"jsapi/v1/resources"
], function ($, bootstrap, dialogs, resources) {
"use strict";
var base_url = window.apidata.base_url;

$('#create-new-dialog').on('show.bs.modal', function () {
var dialog = $(this);
Expand All @@ -20,7 +19,7 @@ define([
dialog.modal('hide');
resources.User.create({ name: user_name })
.done(function() { window.location.reload(); })
.fail(dialogs.ajax_error_dialog);
.fail(dialogs.webapi_error_dialog);
};

var cancel_callback = function () {
Expand Down Expand Up @@ -58,7 +57,7 @@ define([
function() {
resources.User.delete(id)
.done(function() { window.location.reload(); })
.fail(dialogs.ajax_error_dialog);
.fail(dialogs.webapi_error_dialog);
}
);
});
Expand Down
6 changes: 5 additions & 1 deletion remoteappmanager/static/js/analytics.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
define(function (require) {
define([
"require"
], function (require) {
"use strict";

function init() {
var module;

Expand Down
35 changes: 12 additions & 23 deletions remoteappmanager/static/js/dialogs.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,19 @@ define([
], function ($) {
"use strict";

var ajax_error_msg = function (jqXHR) {
// Return a JSON error message if there is one,
// otherwise the basic HTTP status text.
if (jqXHR.responseJSON && jqXHR.responseJSON.message) {
return jqXHR.responseJSON.message;
} else {
return jqXHR.statusText;
var webapi_error_dialog = function (error) {
// Shows the error dialog with a webapi error.
// The webapi error is an object with the following props:
// - status : HTTP error status
// - message: user-readable message from the server via the
// response payload. may be undefined.

var msg = error.message;
if (!msg) {
msg = "Unknown error";
}
};

var log_ajax_error = function (jqXHR, status, error) {
// log ajax failures with informative messages
var msg = "API request failed (" + jqXHR.status + "): ";
console.log(jqXHR);
msg += ajax_error_msg(jqXHR);
console.log(msg);
return msg;
};

var ajax_error_dialog = function (jqXHR, status, error) {
console.log("ajax dialog", arguments);
var msg = log_ajax_error(jqXHR, status, error);
var dialog = $("#error-dialog");
dialog.find(".ajax-error").text(msg);
dialog.find(".error-msg").text(error.code + " - "+msg);
dialog.modal();
};

Expand All @@ -52,7 +41,7 @@ define([
};

return {
ajax_error_dialog : ajax_error_dialog,
webapi_error_dialog : webapi_error_dialog,
config_dialog : config_dialog
};

Expand Down
Loading