From 997aac4e4051de8006db15bcd810174bf3aa5421 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Wed, 14 Oct 2015 15:47:27 +0200 Subject: [PATCH] improve code quality --- .../sonar-web/src/main/js/api/permissions.js | 76 ++++++++++--------- .../sonar-web/src/main/js/apps/account/app.js | 1 + .../src/main/js/apps/dashboard/app.js | 5 +- .../permission-template.js | 1 + .../js/apps/quality-gates/details-view.js | 1 + .../sonar-web/src/main/js/apps/system/app.js | 4 +- server/sonar-web/src/main/js/helpers/Url.js | 2 +- server/sonar-web/src/main/js/main/nav/app.js | 1 - .../js/main/nav/global/global-nav-search.js | 10 ++- .../src/main/js/main/nav/global/global-nav.js | 4 +- .../src/main/js/main/nav/links-mixin.js | 1 + .../main/js/main/nav/settings/settings-nav.js | 1 - .../sonar-web/src/main/js/main/processes.js | 1 + .../sonar-web/src/main/js/widgets/old/base.js | 2 + .../src/main/js/widgets/old/bubble-chart.js | 4 +- .../src/main/js/widgets/old/treemap.js | 5 +- 16 files changed, 69 insertions(+), 50 deletions(-) diff --git a/server/sonar-web/src/main/js/api/permissions.js b/server/sonar-web/src/main/js/api/permissions.js index 29f4c4147d9..626adfcfb3c 100644 --- a/server/sonar-web/src/main/js/api/permissions.js +++ b/server/sonar-web/src/main/js/api/permissions.js @@ -1,136 +1,138 @@ -function _request (options) { - let $ = jQuery; +import $ from 'jquery'; +import _ from 'underscore'; + +function request (options) { return $.ajax(options); } -function _url (path) { +function buildUrl (path) { return window.baseUrl + path; } -function _typeError (method, message) { +function typeError (method, message) { throw new TypeError(`permissions#${method}: ${message}`); } export function getUsers (data) { - let url = _url('/api/permissions/users'); - return _request({ type: 'GET', url: url, data: data }); + let url = buildUrl('/api/permissions/users'); + return request({ type: 'GET', url: url, data: data }); } export function grantToUser (permission, user, project) { if (typeof permission !== 'string' || !permission.length) { - return _typeError('grantToUser', 'please provide permission'); + return typeError('grantToUser', 'please provide permission'); } if (typeof user !== 'string' || !user.length) { - return _typeError('grantToUser', 'please provide user login'); + return typeError('grantToUser', 'please provide user login'); } - let url = _url('/api/permissions/add_user'); + let url = buildUrl('/api/permissions/add_user'); let data = { permission: permission, login: user }; if (project) { data.projectId = project; } - return _request({ type: 'POST', url: url, data: data }); + return request({ type: 'POST', url: url, data: data }); } export function revokeFromUser (permission, user, project) { if (typeof permission !== 'string' || !permission.length) { - return _typeError('revokeFromUser', 'please provide permission'); + return typeError('revokeFromUser', 'please provide permission'); } if (typeof user !== 'string' || !user.length) { - return _typeError('revokeFromUser', 'please provide user login'); + return typeError('revokeFromUser', 'please provide user login'); } - let url = _url('/api/permissions/remove_user'); + let url = buildUrl('/api/permissions/remove_user'); let data = { permission: permission, login: user }; if (project) { data.projectId = project; } - return _request({ type: 'POST', url: url, data: data }); + return request({ type: 'POST', url: url, data: data }); } export function getGroups (data) { - let url = _url('/api/permissions/groups'); - return _request({ type: 'GET', url: url, data: data }); + let url = buildUrl('/api/permissions/groups'); + return request({ type: 'GET', url: url, data: data }); } export function grantToGroup (permission, group, project) { if (typeof permission !== 'string' || !permission.length) { - return _typeError('grantToGroup', 'please provide permission'); + return typeError('grantToGroup', 'please provide permission'); } if (typeof group !== 'string' || !group.length) { - return _typeError('grantToGroup', 'please provide group name'); + return typeError('grantToGroup', 'please provide group name'); } - let url = _url('/api/permissions/add_group'); + let url = buildUrl('/api/permissions/add_group'); let data = { permission: permission, groupName: group }; if (project) { data.projectId = project; } - return _request({ type: 'POST', url: url, data: data }); + return request({ type: 'POST', url: url, data: data }); } export function revokeFromGroup (permission, group, project) { if (typeof permission !== 'string' || !permission.length) { - return _typeError('revokeFromGroup', 'please provide permission'); + return typeError('revokeFromGroup', 'please provide permission'); } if (typeof group !== 'string' || !group.length) { - return _typeError('revokeFromGroup', 'please provide group name'); + return typeError('revokeFromGroup', 'please provide group name'); } - let url = _url('/api/permissions/remove_group'); + let url = buildUrl('/api/permissions/remove_group'); let data = { permission: permission, groupName: group }; if (project) { data.projectId = project; } - return _request({ type: 'POST', url: url, data: data }); + return request({ type: 'POST', url: url, data: data }); } export function getPermissionTemplates (query) { - let url = _url('/api/permissions/search_templates'); + let url = buildUrl('/api/permissions/search_templates'); let data = { }; if (query) { data.q = query; } - return _request({ type: 'GET', url: url, data: data }); + return request({ type: 'GET', url: url, data: data }); } export function createPermissionTemplate (options) { - let url = _url('/api/permissions/create_template'); - return _request(_.extend({ type: 'POST', url: url }, options)); + let url = buildUrl('/api/permissions/create_template'); + return request(_.extend({ type: 'POST', url: url }, options)); } export function updatePermissionTemplate (options) { - let url = _url('/api/permissions/update_template'); - return _request(_.extend({ type: 'POST', url: url }, options)); + let url = buildUrl('/api/permissions/update_template'); + return request(_.extend({ type: 'POST', url: url }, options)); } export function deletePermissionTemplate (options) { - let url = _url('/api/permissions/delete_template'); - return _request(_.extend({ type: 'POST', url: url }, options)); + let url = buildUrl('/api/permissions/delete_template'); + return request(_.extend({ type: 'POST', url: url }, options)); } export function setDefaultPermissionTemplate (template, qualifier) { if (typeof template !== 'string' || !template.length) { - return _typeError('setDefaultPermissionTemplate', 'please provide permission template ID'); + return typeError('setDefaultPermissionTemplate', 'please provide permission template ID'); } - let url = _url('/api/permissions/set_default_template'); + let url = buildUrl('/api/permissions/set_default_template'); let data = { templateId: template, qualifier }; - return _request({ type: 'POST', url, data }); + return request({ type: 'POST', url, data }); } export function applyTemplateToProject(options) { - let url = _url('/api/permissions/apply_template'); - return _request(_.extend({ type: 'POST', url: url }, options)); + let url = buildUrl('/api/permissions/apply_template'); + return request(_.extend({ type: 'POST', url: url }, options)); } diff --git a/server/sonar-web/src/main/js/apps/account/app.js b/server/sonar-web/src/main/js/apps/account/app.js index f552632c5f8..5ec13d8a18e 100644 --- a/server/sonar-web/src/main/js/apps/account/app.js +++ b/server/sonar-web/src/main/js/apps/account/app.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import Handlebars from 'hbsfy/runtime'; import ChangePasswordView from './change-password-view'; import '../../helpers/handlebars-helpers'; diff --git a/server/sonar-web/src/main/js/apps/dashboard/app.js b/server/sonar-web/src/main/js/apps/dashboard/app.js index aa5e99b4486..4b700eb26c9 100644 --- a/server/sonar-web/src/main/js/apps/dashboard/app.js +++ b/server/sonar-web/src/main/js/apps/dashboard/app.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import _ from 'underscore'; window.Portal = function (options) { this.initialize(options); @@ -138,9 +139,9 @@ window.autoResize = function (everyMs, callback) { $(function () { - var $sidebar = jQuery('#sidebar'); + var $sidebar = $('#sidebar'); if ($sidebar.length > 0) { - var $window = jQuery(window), + var $window = $(window), topOffset = $sidebar.offset().top; $window.on('scroll', function () { var scrollTop = $window.scrollTop(), diff --git a/server/sonar-web/src/main/js/apps/permission-templates/permission-template.js b/server/sonar-web/src/main/js/apps/permission-templates/permission-template.js index ced79afd895..a4814d570c0 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/permission-template.js +++ b/server/sonar-web/src/main/js/apps/permission-templates/permission-template.js @@ -1,4 +1,5 @@ import _ from 'underscore'; +import Backbone from 'backbone'; import React from 'react'; import Defaults from './permission-template-defaults'; import SetDefaults from './permission-template-set-defaults'; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/details-view.js b/server/sonar-web/src/main/js/apps/quality-gates/details-view.js index 5e7f9782b43..d0a093f3d99 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/details-view.js +++ b/server/sonar-web/src/main/js/apps/quality-gates/details-view.js @@ -1,3 +1,4 @@ +import _ from 'underscore'; import Marionette from 'backbone.marionette'; import Conditions from './conditions'; import DetailConditionsView from './gate-conditions-view'; diff --git a/server/sonar-web/src/main/js/apps/system/app.js b/server/sonar-web/src/main/js/apps/system/app.js index 223337df883..391c313d9ec 100644 --- a/server/sonar-web/src/main/js/apps/system/app.js +++ b/server/sonar-web/src/main/js/apps/system/app.js @@ -29,13 +29,13 @@ window.sonarqube.appStarted.then(() => { .addClass('spacer-top text-danger') .text(window.t('system.log_level.warning')); - function placeWarning () { + let placeWarning = function () { if (select.val() === 'INFO') { warning.detach(); } else { warning.insertAfter(select); } - } + }; placeWarning(); diff --git a/server/sonar-web/src/main/js/helpers/Url.js b/server/sonar-web/src/main/js/helpers/Url.js index 7fa21b44f0f..80e24f0fc28 100644 --- a/server/sonar-web/src/main/js/helpers/Url.js +++ b/server/sonar-web/src/main/js/helpers/Url.js @@ -1,6 +1,6 @@ export function getProjectUrl(project) { if (typeof project !== 'string') { - throw new TypeError("Project ID or KEY should be passed"); + throw new TypeError('Project ID or KEY should be passed'); } return `${window.baseUrl}/dashboard?id=${encodeURIComponent(project)}`; } diff --git a/server/sonar-web/src/main/js/main/nav/app.js b/server/sonar-web/src/main/js/main/nav/app.js index a193fef0415..93b54d6a3cd 100644 --- a/server/sonar-web/src/main/js/main/nav/app.js +++ b/server/sonar-web/src/main/js/main/nav/app.js @@ -3,7 +3,6 @@ import GlobalNav from './global/global-nav'; import ComponentNav from './component/component-nav'; import SettingsNav from './settings/settings-nav'; import {getGlobalNavigation, getComponentNavigation, getSettingsNavigation} from '../../api/nav'; -import {getTasksForComponent} from '../../api/ce'; import '../../components/workspace/main'; import '../../helpers/handlebars-helpers'; diff --git a/server/sonar-web/src/main/js/main/nav/global/global-nav-search.js b/server/sonar-web/src/main/js/main/nav/global/global-nav-search.js index 48fadbfe6eb..f717bf37122 100644 --- a/server/sonar-web/src/main/js/main/nav/global/global-nav-search.js +++ b/server/sonar-web/src/main/js/main/nav/global/global-nav-search.js @@ -50,12 +50,18 @@ export default React.createClass({ }, resetSearchView() { - this.searchView && this.searchView.destroy(); + if (this.searchView) { + this.searchView.destroy(); + } }, onClick(e) { e.preventDefault(); - this.state.open ? this.closeSearch() : this.openSearch(); + if (this.state.open) { + this.closeSearch(); + } else { + this.openSearch(); + } }, onClickOutside(e) { diff --git a/server/sonar-web/src/main/js/main/nav/global/global-nav.js b/server/sonar-web/src/main/js/main/nav/global/global-nav.js index 80d38163e8a..96d283ec6af 100644 --- a/server/sonar-web/src/main/js/main/nav/global/global-nav.js +++ b/server/sonar-web/src/main/js/main/nav/global/global-nav.js @@ -25,7 +25,9 @@ export default React.createClass({ }, openHelp(e) { - e && e.preventDefault(); + if (e) { + e.preventDefault(); + } new ShortcutsHelpView().render(); }, diff --git a/server/sonar-web/src/main/js/main/nav/links-mixin.js b/server/sonar-web/src/main/js/main/nav/links-mixin.js index 72f70966d93..d2f07300261 100644 --- a/server/sonar-web/src/main/js/main/nav/links-mixin.js +++ b/server/sonar-web/src/main/js/main/nav/links-mixin.js @@ -1,3 +1,4 @@ +/* eslint no-unused-vars: 0 */ import _ from 'underscore'; import React from 'react'; diff --git a/server/sonar-web/src/main/js/main/nav/settings/settings-nav.js b/server/sonar-web/src/main/js/main/nav/settings/settings-nav.js index 0a5cccb3e88..13fae339cda 100644 --- a/server/sonar-web/src/main/js/main/nav/settings/settings-nav.js +++ b/server/sonar-web/src/main/js/main/nav/settings/settings-nav.js @@ -1,4 +1,3 @@ -import $ from 'jquery'; import React from 'react'; import LinksMixin from '../links-mixin'; diff --git a/server/sonar-web/src/main/js/main/processes.js b/server/sonar-web/src/main/js/main/processes.js index 510fd42a338..1d685ab953d 100644 --- a/server/sonar-web/src/main/js/main/processes.js +++ b/server/sonar-web/src/main/js/main/processes.js @@ -1,4 +1,5 @@ import $ from 'jquery'; +import _ from 'underscore'; import Backbone from 'backbone'; import Marionette from 'backbone.marionette'; diff --git a/server/sonar-web/src/main/js/widgets/old/base.js b/server/sonar-web/src/main/js/widgets/old/base.js index a54faa989c9..31a7dcb55a6 100644 --- a/server/sonar-web/src/main/js/widgets/old/base.js +++ b/server/sonar-web/src/main/js/widgets/old/base.js @@ -1,3 +1,5 @@ +import _ from 'underscore'; + (function () { if (window.SonarWidgets == null) { diff --git a/server/sonar-web/src/main/js/widgets/old/bubble-chart.js b/server/sonar-web/src/main/js/widgets/old/bubble-chart.js index 6452b33e093..c3d0e2eef73 100644 --- a/server/sonar-web/src/main/js/widgets/old/bubble-chart.js +++ b/server/sonar-web/src/main/js/widgets/old/bubble-chart.js @@ -1,4 +1,4 @@ -/*global d3:false, baseUrl:false */ +import $ from 'jquery'; window.SonarWidgets = window.SonarWidgets == null ? {} : window.SonarWidgets; @@ -294,7 +294,7 @@ window.SonarWidgets = window.SonarWidgets == null ? {} : window.SonarWidgets; this.initGrid(); this.update(containerS); - jQuery('[data-toggle="tooltip"]').tooltip({ container: 'body', html: true }); + $('[data-toggle="tooltip"]').tooltip({ container: 'body', html: true }); return this; }; diff --git a/server/sonar-web/src/main/js/widgets/old/treemap.js b/server/sonar-web/src/main/js/widgets/old/treemap.js index a4007265382..d864276845e 100644 --- a/server/sonar-web/src/main/js/widgets/old/treemap.js +++ b/server/sonar-web/src/main/js/widgets/old/treemap.js @@ -1,3 +1,6 @@ +import $ from 'jquery'; +import _ from 'underscore'; + (function () { function Treemap () { @@ -310,7 +313,7 @@ var that = this; var metrics = this.metricsPriority().join(','), RESOURCES_URL = baseUrl + '/api/resources/index'; - return jQuery.get(RESOURCES_URL, { + return $.get(RESOURCES_URL, { resource: d.key, depth: 1, metrics: metrics -- 2.39.5