diff --git a/web/.eslintrc.js b/web/.eslintrc.js
new file mode 100644
index 000000000..c60569dbe
--- /dev/null
+++ b/web/.eslintrc.js
@@ -0,0 +1,45 @@
+module.exports = {
+ 'env': {
+ 'browser': true,
+ 'es6': true,
+ 'amd': true,
+ 'jasmine': true,
+ },
+ 'extends': 'eslint:recommended',
+ 'parserOptions': {
+ 'ecmaFeatures': {
+ 'experimentalObjectRestSpread': true,
+ 'jsx': true
+ },
+ 'sourceType': 'module'
+ },
+ 'plugins': [
+ 'react'
+ ],
+ 'globals': {
+ '_': true,
+ 'module': true,
+ },
+ 'rules': {
+ 'indent': [
+ 'error',
+ 2
+ ],
+ 'linebreak-style': [
+ 'error',
+ 'unix'
+ ],
+ 'quotes': [
+ 'error',
+ 'single'
+ ],
+ 'semi': [
+ 'error',
+ 'always'
+ ],
+ 'comma-dangle': [
+ 'error',
+ 'always-multiline'
+ ]
+ }
+};
\ No newline at end of file
diff --git a/web/karma.conf.js b/web/karma.conf.js
index feeee77f7..ca988a0bc 100644
--- a/web/karma.conf.js
+++ b/web/karma.conf.js
@@ -22,7 +22,7 @@ module.exports = function (config) {
// list of files to exclude
exclude: [
'pgadmin/static/vendor/**/*[Tt]est.js',
- 'pgadmin/static/vendor/**/*[Ss]pec.js'
+ 'pgadmin/static/vendor/**/*[Ss]pec.js',
],
// preprocess matching files before serving them to the browser
@@ -62,6 +62,6 @@ module.exports = function (config) {
// Concurrency level
// how many browser should be started simultaneous
- concurrency: Infinity
+ concurrency: Infinity,
});
};
diff --git a/web/package.json b/web/package.json
index 40070da04..b5d2e0cb2 100644
--- a/web/package.json
+++ b/web/package.json
@@ -5,6 +5,8 @@
"babel-preset-es2015": "~6.24.0",
"babel-preset-react": "~6.23.0",
"enzyme": "~2.8.2",
+ "eslint": "^3.19.0",
+ "eslint-plugin-react": "^6.10.3",
"jasmine-core": "~2.5.2",
"karma": "~1.5.0",
"karma-babel-preprocessor": "^6.0.1",
@@ -34,9 +36,11 @@
"watchify": "~3.9.0"
},
"scripts": {
- "bundle": "yarn run webpack -- --optimize-minimize --config webpack.config.js",
- "test:karma-once": "yarn run karma start -- --single-run",
- "test:karma": "yarn run karma start",
+ "linter": "yarn run eslint pgadmin/static/jsx/**/*.jsx pgadmin/static/js/selection/*.js regression/javascript/**/*.jsx regression/javascript/**/*.js *.js",
+ "webpacker": "yarn run webpack -- --optimize-minimize --config webpack.config.js",
+ "bundle": "yarn run linter && yarn run webpacker",
+ "test:karma-once": "yarn run linter && yarn run karma start -- --single-run",
+ "test:karma": "yarn run linter && yarn run karma start",
"test:feature": "yarn run bundle && python regression/runtests.py --pkg feature_tests",
"test": "yarn run test:karma-once && yarn run bundle && python regression/runtests.py"
}
diff --git a/web/pgadmin/static/js/selection/active_cell_capture.js b/web/pgadmin/static/js/selection/active_cell_capture.js
index 105727368..4f87886c2 100644
--- a/web/pgadmin/static/js/selection/active_cell_capture.js
+++ b/web/pgadmin/static/js/selection/active_cell_capture.js
@@ -1,6 +1,6 @@
define([
'jquery',
- 'sources/selection/range_selection_helper'
+ 'sources/selection/range_selection_helper',
], function ($, RangeSelectionHelper) {
var ActiveCellCapture = function () {
@@ -37,8 +37,8 @@ define([
};
$.extend(this, {
- "init": init,
- "destroy": destroy,
+ 'init': init,
+ 'destroy': destroy,
});
function onDragEndHandler(event, dragData) {
@@ -105,7 +105,7 @@ define([
}
}
- function onActiveCellChangedHandler(event, args) {
+ function onActiveCellChangedHandler(event) {
if (bypassDefaultActiveCellRangeChange) {
bypassDefaultActiveCellRangeChange = false;
event.stopPropagation();
@@ -188,4 +188,4 @@ define([
};
return ActiveCellCapture;
-});
\ No newline at end of file
+});
diff --git a/web/pgadmin/static/js/selection/clipboard.js b/web/pgadmin/static/js/selection/clipboard.js
index 9e20da7ef..9794ae7e6 100644
--- a/web/pgadmin/static/js/selection/clipboard.js
+++ b/web/pgadmin/static/js/selection/clipboard.js
@@ -1,7 +1,7 @@
define(['sources/gettext', 'alertify'], function (gettext, alertify) {
var clipboard = {
copyTextToClipboard: function (text) {
- var textArea = document.createElement("textarea");
+ var textArea = document.createElement('textarea');
//
// *** This styling is an extra step which is likely not required. ***
@@ -55,7 +55,7 @@ define(['sources/gettext', 'alertify'], function (gettext, alertify) {
}
document.body.removeChild(textArea);
- }
+ },
};
return clipboard;
});
\ No newline at end of file
diff --git a/web/pgadmin/static/js/selection/column_selector.js b/web/pgadmin/static/js/selection/column_selector.js
index 53cdad82d..305b438d7 100644
--- a/web/pgadmin/static/js/selection/column_selector.js
+++ b/web/pgadmin/static/js/selection/column_selector.js
@@ -1,7 +1,7 @@
define([
'jquery',
'sources/selection/range_selection_helper',
- 'slickgrid'
+ 'slickgrid',
], function ($, RangeSelectionHelper) {
var ColumnSelector = function () {
var Slick = window.Slick;
@@ -21,7 +21,7 @@ define([
if (isColumnSelectable(columnDefinition)) {
var $columnHeader = $(event.target);
if (hasClickedChildOfColumnHeader(event)) {
- $columnHeader = $(event.target).parents(".slick-header-column");
+ $columnHeader = $(event.target).parents('.slick-header-column');
}
$columnHeader.toggleClass('selected');
@@ -63,7 +63,7 @@ define([
};
var hasClickedChildOfColumnHeader = function (event) {
- return !$(event.target).hasClass("slick-header-column");
+ return !$(event.target).hasClass('slick-header-column');
};
var isColumnSelectable = function (columnDefinition) {
@@ -87,16 +87,16 @@ define([
return _.map(columnDefinitions, function (columnDefinition) {
if (isColumnSelectable(columnDefinition)) {
var name =
- "" +
- " " +
- " " + columnDefinition.display_name + "" +
- " " + columnDefinition.column_type + "" +
- " " +
- "";
+ '' +
+ ' ' +
+ ' ' + columnDefinition.display_name + '' +
+ ' ' + columnDefinition.column_type + '' +
+ ' ' +
+ '';
return _.extend(columnDefinition, {
- name: name
+ name: name,
});
} else {
return columnDefinition;
@@ -105,8 +105,8 @@ define([
};
$.extend(this, {
- "init": init,
- "getColumnDefinitions": getColumnDefinitions
+ 'init': init,
+ 'getColumnDefinitions': getColumnDefinitions,
});
};
return ColumnSelector;
diff --git a/web/pgadmin/static/js/selection/copy_data.js b/web/pgadmin/static/js/selection/copy_data.js
index ad79d3eb1..c22632313 100644
--- a/web/pgadmin/static/js/selection/copy_data.js
+++ b/web/pgadmin/static/js/selection/copy_data.js
@@ -3,8 +3,8 @@ define([
'underscore',
'sources/selection/clipboard',
'sources/selection/range_selection_helper',
- 'sources/selection/range_boundary_navigator'
- ],
+ 'sources/selection/range_boundary_navigator',
+],
function ($, _, clipboard, RangeSelectionHelper, rangeBoundaryNavigator) {
var copyData = function () {
var self = this;
@@ -32,20 +32,8 @@ function ($, _, clipboard, RangeSelectionHelper, rangeBoundaryNavigator) {
var setPasteRowButtonEnablement = function (canEditFlag, isEnabled) {
if (canEditFlag) {
- $("#btn-paste-row").prop('disabled', !isEnabled);
+ $('#btn-paste-row').prop('disabled', !isEnabled);
}
};
-
- var allTheRangesAreFullRows = function (ranges, columnDefinitions) {
- var colRangeBounds = ranges.map(function (range) {
- return [range.fromCell, range.toCell];
- });
-
- if(RangeSelectionHelper.isFirstColumnData(columnDefinitions)) {
- return _.isEqual(_.union.apply(null, colRangeBounds), [0, columnDefinitions.length - 1]);
- }
- return _.isEqual(_.union.apply(null, colRangeBounds), [0, columnDefinitions.length - 1]);
- };
-
- return copyData
-});
\ No newline at end of file
+ return copyData;
+});
diff --git a/web/pgadmin/static/js/selection/grid_selector.js b/web/pgadmin/static/js/selection/grid_selector.js
index 3e4337a9c..01265cb6f 100644
--- a/web/pgadmin/static/js/selection/grid_selector.js
+++ b/web/pgadmin/static/js/selection/grid_selector.js
@@ -1,70 +1,67 @@
define(['jquery',
- 'sources/selection/column_selector',
- 'sources/selection/row_selector',
- 'sources/selection/range_selection_helper',
- 'sources/url_for'
- ],
- function ($, ColumnSelector, RowSelector, RangeSelectionHelper, url_for) {
- var Slick = window.Slick;
+ 'sources/selection/column_selector',
+ 'sources/selection/row_selector',
+ 'sources/selection/range_selection_helper',
+ 'sources/url_for',
+], function ($, ColumnSelector, RowSelector, RangeSelectionHelper, url_for) {
+ var GridSelector = function (columnDefinitions) {
+ var rowSelector = new RowSelector(columnDefinitions);
+ var columnSelector = new ColumnSelector(columnDefinitions);
- var GridSelector = function (columnDefinitions) {
- var rowSelector = new RowSelector(columnDefinitions);
- var columnSelector = new ColumnSelector(columnDefinitions);
+ var init = function (grid) {
+ this.grid = grid;
+ grid.onHeaderClick.subscribe(function (event, eventArguments) {
+ if (eventArguments.column.selectAllOnClick) {
+ toggleSelectAll(grid);
+ }
+ });
- var init = function (grid) {
- this.grid = grid;
- grid.onHeaderClick.subscribe(function (event, eventArguments) {
- if (eventArguments.column.selectAllOnClick) {
- toggleSelectAll(grid);
- }
- });
-
- grid.getSelectionModel().onSelectedRangesChanged
+ grid.getSelectionModel().onSelectedRangesChanged
.subscribe(handleSelectedRangesChanged.bind(null, grid));
- grid.registerPlugin(rowSelector);
- grid.registerPlugin(columnSelector);
- };
+ grid.registerPlugin(rowSelector);
+ grid.registerPlugin(columnSelector);
+ };
- var getColumnDefinitions = function (columnDefinitions) {
- columnDefinitions = columnSelector.getColumnDefinitions(columnDefinitions);
- columnDefinitions = rowSelector.getColumnDefinitions(columnDefinitions);
+ var getColumnDefinitions = function (columnDefinitions) {
+ columnDefinitions = columnSelector.getColumnDefinitions(columnDefinitions);
+ columnDefinitions = rowSelector.getColumnDefinitions(columnDefinitions);
- columnDefinitions[0].selectAllOnClick = true;
- columnDefinitions[0].name = '' +
'
' +
columnDefinitions[0].name +
- '
'
- '';
- return columnDefinitions;
- };
-
- function handleSelectedRangesChanged(grid) {
- if(RangeSelectionHelper.isEntireGridSelected(grid)) {
- $("[data-id='select-all']").addClass("selected");
- } else {
- $("[data-id='select-all']").removeClass("selected");
- }
- }
-
- function toggleSelectAll(grid) {
- if (RangeSelectionHelper.isEntireGridSelected(grid)) {
- selectNone(grid);
- } else {
- RangeSelectionHelper.selectAll(grid);
- }
- }
-
- function selectNone(grid) {
- var selectionModel = grid.getSelectionModel();
- selectionModel.setSelectedRanges([]);
- }
-
- $.extend(this, {
- "init": init,
- "getColumnDefinitions": getColumnDefinitions
- });
+ '
';
+ '';
+ return columnDefinitions;
};
- return GridSelector;
- });
+ function handleSelectedRangesChanged(grid) {
+ if(RangeSelectionHelper.isEntireGridSelected(grid)) {
+ $('[data-id=\'select-all\']').addClass('selected');
+ } else {
+ $('[data-id=\'select-all\']').removeClass('selected');
+ }
+ }
+
+ function toggleSelectAll(grid) {
+ if (RangeSelectionHelper.isEntireGridSelected(grid)) {
+ selectNone(grid);
+ } else {
+ RangeSelectionHelper.selectAll(grid);
+ }
+ }
+
+ function selectNone(grid) {
+ var selectionModel = grid.getSelectionModel();
+ selectionModel.setSelectedRanges([]);
+ }
+
+ $.extend(this, {
+ 'init': init,
+ 'getColumnDefinitions': getColumnDefinitions,
+ });
+ };
+
+ return GridSelector;
+});
diff --git a/web/pgadmin/static/js/selection/range_boundary_navigator.js b/web/pgadmin/static/js/selection/range_boundary_navigator.js
index f88a6533d..803f75afc 100644
--- a/web/pgadmin/static/js/selection/range_boundary_navigator.js
+++ b/web/pgadmin/static/js/selection/range_boundary_navigator.js
@@ -104,13 +104,13 @@ function (RangeSelectionHelper) {
var val = data[rowId][columnDefinitions[colId].pos];
if (val && _.isObject(val)) {
- val = "'" + JSON.stringify(val) + "'";
- } else if (val && typeof val != "number" && typeof val != "boolean") {
- val = "'" + val.toString() + "'";
+ val = '\'' + JSON.stringify(val) + '\'';
+ } else if (val && typeof val != 'number' && typeof val != 'boolean') {
+ val = '\'' + val.toString() + '\'';
} else if (_.isNull(val) || _.isUndefined(val)) {
val = '';
}
return val;
- }
+ },
};
});
\ No newline at end of file
diff --git a/web/pgadmin/static/js/selection/range_selection_helper.js b/web/pgadmin/static/js/selection/range_selection_helper.js
index 936530ffa..25cd63c90 100644
--- a/web/pgadmin/static/js/selection/range_selection_helper.js
+++ b/web/pgadmin/static/js/selection/range_selection_helper.js
@@ -8,19 +8,19 @@ define(['slickgrid'], function () {
var isRangeSelected = function (selectedRanges, range) {
return _.any(selectedRanges, function (selectedRange) {
- return isSameRange(selectedRange, range)
+ return isSameRange(selectedRange, range);
});
};
var isAnyCellOfColumnSelected = function (selectedRanges, column) {
return _.any(selectedRanges, function (selectedRange) {
- return selectedRange.fromCell <= column && selectedRange.toCell >= column
+ return selectedRange.fromCell <= column && selectedRange.toCell >= column;
});
};
var isAnyCellOfRowSelected = function (selectedRanges, row) {
return _.any(selectedRanges, function (selectedRange) {
- return selectedRange.fromRow <= row && selectedRange.toRow >= row
+ return selectedRange.fromRow <= row && selectedRange.toRow >= row;
});
};
@@ -33,8 +33,8 @@ define(['slickgrid'], function () {
var removeRange = function (selectedRanges, range) {
return _.filter(selectedRanges, function (selectedRange) {
- return !(isSameRange(selectedRange, range))
- })
+ return !(isSameRange(selectedRange, range));
+ });
};
var addRange = function (ranges, range) {
@@ -45,11 +45,11 @@ define(['slickgrid'], function () {
var areAllRangesSingleRows = function (ranges, grid) {
return _.every(ranges, function (range) {
return range.fromRow == range.toRow && rangeHasCompleteRows(grid, range);
- })
+ });
};
var areAllRangesSingleColumns = function (ranges, grid) {
- return _.every(ranges, isRangeAColumn.bind(this, grid))
+ return _.every(ranges, isRangeAColumn.bind(this, grid));
};
var rangeForRow = function (grid, rowId) {
@@ -61,7 +61,7 @@ define(['slickgrid'], function () {
};
var rangeForColumn = function (grid, columnIndex) {
- return new Slick.Range(0, columnIndex, grid.getDataLength() - 1, columnIndex)
+ return new Slick.Range(0, columnIndex, grid.getDataLength() - 1, columnIndex);
};
var getRangeOfWholeGrid = function (grid) {
@@ -81,13 +81,13 @@ define(['slickgrid'], function () {
var areAllRangesCompleteColumns = function (grid, ranges) {
return _.every(ranges, function (range) {
return rangeHasCompleteColumns(grid, range);
- })
+ });
};
var areAllRangesCompleteRows = function (grid, ranges) {
return _.every(ranges, function (range) {
return rangeHasCompleteRows(grid, range);
- })
+ });
};
var getIndexesOfCompleteRows = function (grid, ranges) {
@@ -158,5 +158,5 @@ define(['slickgrid'], function () {
isAnyCellOfColumnSelected: isAnyCellOfColumnSelected,
isRangeEntirelyWithinSelectedRanges: isRangeEntirelyWithinSelectedRanges,
isAnyCellOfRowSelected: isAnyCellOfRowSelected,
- }
-});
\ No newline at end of file
+ };
+});
diff --git a/web/pgadmin/static/js/selection/row_selector.js b/web/pgadmin/static/js/selection/row_selector.js
index 33d5a72e6..236ed6291 100644
--- a/web/pgadmin/static/js/selection/row_selector.js
+++ b/web/pgadmin/static/js/selection/row_selector.js
@@ -1,7 +1,7 @@
define([
'jquery',
'sources/selection/range_selection_helper',
- 'slickgrid'
+ 'slickgrid',
], function ($, RangeSelectionHelper) {
var RowSelector = function () {
var Slick = window.Slick;
@@ -19,7 +19,7 @@ define([
if (grid.getColumns()[args.cell].id === 'row-header-column') {
var $rowHeaderSpan = $(event.target);
- if ($rowHeaderSpan.data('cell-type') != "row-header-selector") {
+ if ($rowHeaderSpan.data('cell-type') != 'row-header-selector') {
$rowHeaderSpan = $(event.target).find('[data-cell-type="row-header-selector"]');
}
@@ -82,16 +82,16 @@ define([
formatter: function (rowIndex) {
return ''
+ 'data-cell-type="row-header-selector"/>';
},
- width: 30
+ width: 30,
});
return columnDefinitions;
};
$.extend(this, {
- "init": init,
- "getColumnDefinitions": getColumnDefinitions
+ 'init': init,
+ 'getColumnDefinitions': getColumnDefinitions,
});
};
diff --git a/web/pgadmin/static/js/selection/set_staged_rows.js b/web/pgadmin/static/js/selection/set_staged_rows.js
index 249a6414e..46977e3ae 100644
--- a/web/pgadmin/static/js/selection/set_staged_rows.js
+++ b/web/pgadmin/static/js/selection/set_staged_rows.js
@@ -11,7 +11,7 @@ define(
[
'jquery',
'underscore',
- 'sources/selection/range_selection_helper'
+ 'sources/selection/range_selection_helper',
],
function ($, _, RangeSelectionHelper) {
function disableButton(selector) {
@@ -55,7 +55,7 @@ define(
_.each(_.keys(gridRow), function (columnPos) {
if (_.contains(primaryKeyColumnIndices, Number(columnPos)))
rowToStage[columnPos] = gridRow[columnPos];
- })
+ });
}
return rowToStage;
}
@@ -72,7 +72,7 @@ define(
return stagedRows;
}
- var setStagedRows = function (e, args) {
+ var setStagedRows = function () {
var self = this;
function setStagedRows(rowsToStage) {
@@ -88,7 +88,7 @@ define(
function areAllSelectionsEntireRows() {
return RangeSelectionHelper.areAllRangesCompleteRows(self.grid,
- self.selection.getSelectedRanges())
+ self.selection.getSelectedRanges());
}
var selectedRanges = this.selection.getSelectedRanges();
@@ -98,7 +98,7 @@ define(
}
if (areAllSelectionsEntireRows()) {
- var selectedRows = RangeSelectionHelper.getIndexesOfCompleteRows(this.grid, this.selection.getSelectedRanges())
+ var selectedRows = RangeSelectionHelper.getIndexesOfCompleteRows(this.grid, this.selection.getSelectedRanges());
var stagedRows = getPrimaryKeysForSelectedRows(self, selectedRows);
setStagedRows(stagedRows);
if (_.isEmpty(stagedRows)) {
diff --git a/web/pgadmin/static/js/selection/xcell_selection_model.js b/web/pgadmin/static/js/selection/xcell_selection_model.js
index 32fed09f9..974b74798 100644
--- a/web/pgadmin/static/js/selection/xcell_selection_model.js
+++ b/web/pgadmin/static/js/selection/xcell_selection_model.js
@@ -4,7 +4,7 @@ define([
'sources/selection/range_selection_helper',
'sources/slickgrid/pgslick.cellrangeselector',
- 'slickgrid'
+ 'slickgrid',
], function ($, _, RangeSelectionHelper, PGCellRangeSelector) {
var XCellSelectionModel = function (options) {
@@ -13,25 +13,24 @@ define([
var KEY_ARROW_UP = 38;
var KEY_ARROW_DOWN = 40;
+ var Slick = window.Slick;
var _grid;
- var _canvas;
var _ranges = [];
var _self = this;
var _selector = new PGCellRangeSelector({
- "selectionCss": {
- "border": "2px solid black"
- }
+ 'selectionCss': {
+ 'border': '2px solid black',
+ },
});
var _options;
var _defaults = {
- selectActiveCell: true
+ selectActiveCell: true,
};
function init(grid) {
_options = $.extend(true, {}, _defaults, options);
_grid = grid;
- _canvas = _grid.getCanvasNode();
_grid.onActiveCellChanged.subscribe(handleActiveCellChange);
_grid.onKeyDown.subscribe(handleKeyDown);
grid.registerPlugin(_selector);
@@ -82,7 +81,7 @@ define([
}
}
- function handleBeforeCellRangeSelected(e, args) {
+ function handleBeforeCellRangeSelected(e) {
if (_grid.getEditorLock().isActive()) {
e.stopPropagation();
return false;
@@ -169,18 +168,18 @@ define([
var mobileCell = getMobileCellFromRange(lastSelectedRange, anchorActiveCell);
switch (getKeycode()) {
- case KEY_ARROW_LEFT:
- mobileCell.cell -= 1;
- break;
- case KEY_ARROW_RIGHT:
- mobileCell.cell += 1;
- break;
- case KEY_ARROW_UP:
- mobileCell.row -= 1;
- break;
- case KEY_ARROW_DOWN:
- mobileCell.row += 1;
- break;
+ case KEY_ARROW_LEFT:
+ mobileCell.cell -= 1;
+ break;
+ case KEY_ARROW_RIGHT:
+ mobileCell.cell += 1;
+ break;
+ case KEY_ARROW_UP:
+ mobileCell.row -= 1;
+ break;
+ case KEY_ARROW_DOWN:
+ mobileCell.row += 1;
+ break;
}
var newSelectedRange = getNewRange(anchorActiveCell, mobileCell);
@@ -206,7 +205,7 @@ define([
}
}
- function handleWindowMouseUp(event) {
+ function handleWindowMouseUp() {
var selectedRange = _selector.getCurrentRange();
if (!_.isUndefined(selectedRange)) {
_grid.onDragEnd.notify({range: selectedRange});
@@ -214,14 +213,14 @@ define([
}
$.extend(this, {
- "getSelectedRanges": getSelectedRanges,
- "setSelectedRanges": setSelectedRanges,
- "setSelectedRows": setSelectedRows,
+ 'getSelectedRanges': getSelectedRanges,
+ 'setSelectedRanges': setSelectedRanges,
+ 'setSelectedRows': setSelectedRows,
- "init": init,
- "destroy": destroy,
+ 'init': init,
+ 'destroy': destroy,
- "onSelectedRangesChanged": new Slick.Event()
+ 'onSelectedRangesChanged': new Slick.Event(),
});
};
return XCellSelectionModel;
diff --git a/web/regression/javascript/browser/menu_spec.js b/web/regression/javascript/browser/menu_spec.js
index e13bfe5ee..8def5a0d6 100644
--- a/web/regression/javascript/browser/menu_spec.js
+++ b/web/regression/javascript/browser/menu_spec.js
@@ -15,7 +15,7 @@ define([
var MenuItem = pgAdmin.Browser.MenuItem;
var menuItem;
- describe("when we create a menu item", function () {
+ describe('when we create a menu item', function () {
describe('and it is disabled', function () {
beforeEach(function () {
menuItem = new MenuItem({enable: false, icon: 'fa fa-car'});
diff --git a/web/regression/javascript/check_node_visiblity_spec.js b/web/regression/javascript/check_node_visiblity_spec.js
index 130b1c216..96a8961f3 100644
--- a/web/regression/javascript/check_node_visiblity_spec.js
+++ b/web/regression/javascript/check_node_visiblity_spec.js
@@ -7,24 +7,24 @@
//
//////////////////////////////////////////////////////////////////////////
-define(["sources/check_node_visibility"],
-function (checkNodeVisibility, pgBrowser) {
- describe("checkNodeVisibility", function () {
+define(['sources/check_node_visibility'],
+function (checkNodeVisibility) {
+ describe('checkNodeVisibility', function () {
var browser;
browser = jasmine.createSpyObj('browser', [
- 'node_preference_data', 'get_preference']
+ 'node_preference_data', 'get_preference']
);
- describe("when node is server collection", function () {
- it("returns true", function () {
+ describe('when node is server collection', function () {
+ it('returns true', function () {
expect(checkNodeVisibility(browser, 'coll-server')).toEqual(true);
});
});
- describe("when node is server", function () {
- it("returns true", function () {
+ describe('when node is server', function () {
+ it('returns true', function () {
expect(checkNodeVisibility(browser, 'server')).toEqual(true);
});
});
diff --git a/web/regression/javascript/fake_translations.js b/web/regression/javascript/fake_translations.js
index 9516fd63b..a3d4f5bdb 100644
--- a/web/regression/javascript/fake_translations.js
+++ b/web/regression/javascript/fake_translations.js
@@ -8,5 +8,5 @@
//////////////////////////////////////////////////////////////////////////
define(function () {
- return {}
+ return {};
});
\ No newline at end of file
diff --git a/web/regression/javascript/selection/active_cell_capture_spec.js b/web/regression/javascript/selection/active_cell_capture_spec.js
index a0bd38482..4ed6c12f4 100644
--- a/web/regression/javascript/selection/active_cell_capture_spec.js
+++ b/web/regression/javascript/selection/active_cell_capture_spec.js
@@ -18,6 +18,7 @@ define([
var onColumnsResizedFunction;
var onHeaderMouseEnterFunction;
var onHeaderMouseLeaveFunction;
+ var Slick = window.Slick;
beforeEach(function () {
getSelectedRangesSpy = jasmine.createSpy('getSelectedRangesSpy');
@@ -27,15 +28,15 @@ define([
return {
getSelectedRanges: getSelectedRangesSpy,
setSelectedRanges: setSelectedRangesSpy,
- }
+ };
},
getColumns: function () {
return [
{id: 'row-header-column'},
{id: 'column-1'},
- {id: 'column-2'}
- ]
+ {id: 'column-2'},
+ ];
},
onDragEnd: jasmine.createSpyObj('onDragEnd', ['subscribe']),
@@ -47,7 +48,7 @@ define([
onHeaderMouseEnter: jasmine.createSpyObj('onHeaderMouseEnter', ['subscribe']),
onHeaderMouseLeave: jasmine.createSpyObj('onHeaderMouseLeave', ['subscribe']),
- getDataLength: function () { return 10 },
+ getDataLength: function () { return 10; },
setActiveCell: jasmine.createSpy('setActiveCell'),
getActiveCell: jasmine.createSpy('getActiveCell'),
@@ -108,7 +109,7 @@ define([
describe('when a different column is clicked', function () {
beforeEach(function () {
- onHeaderClickFunction({}, {column: {pos: 4}})
+ onHeaderClickFunction({}, {column: {pos: 4}});
});
it('should set the active cell to the newly clicked columns top cell', function () {
@@ -217,7 +218,7 @@ define([
describe('when the third column is clicked (thereby deselecting it)', function () {
beforeEach(function () {
- onHeaderClickFunction({}, {column: {pos: 21}})
+ onHeaderClickFunction({}, {column: {pos: 21}});
});
it('should set the active cell to the second column', function () {
@@ -227,7 +228,7 @@ define([
describe('when the second column is clicked (thereby deselecting it)', function () {
beforeEach(function () {
- onHeaderClickFunction({}, {column: {pos: 5}})
+ onHeaderClickFunction({}, {column: {pos: 5}});
});
it('should not set the active cell', function () {
@@ -268,7 +269,7 @@ define([
beforeEach(function () {
grid.getActiveCell.and.returnValue({row: 4, cell: 5});
getSelectedRangesSpy.and.returnValue([
- new Slick.Range(4, 5)
+ new Slick.Range(4, 5),
]);
});
@@ -283,7 +284,7 @@ define([
beforeEach(function () {
grid.getActiveCell.and.returnValue({row: 3, cell: 1});
getSelectedRangesSpy.and.returnValue([
- RangeSelectionHelper.rangeForRow(grid, 3)
+ RangeSelectionHelper.rangeForRow(grid, 3),
]);
});
@@ -307,7 +308,7 @@ define([
grid.getActiveCell.and.returnValue({row: 3, cell: 1});
getSelectedRangesSpy.and.returnValue([
RangeSelectionHelper.rangeForRow(grid, 5),
- RangeSelectionHelper.rangeForRow(grid, 3)
+ RangeSelectionHelper.rangeForRow(grid, 3),
]);
});
@@ -330,7 +331,7 @@ define([
describe('and the editable new row', function () {
beforeEach(function () {
- onClickFunction({}, {row: 10, cell: 0})
+ onClickFunction({}, {row: 10, cell: 0});
});
it('does not select the row', function () {
expect(grid.setActiveCell).not.toHaveBeenCalled();
diff --git a/web/regression/javascript/selection/column_selector_spec.js b/web/regression/javascript/selection/column_selector_spec.js
index 74d137a43..611154958 100644
--- a/web/regression/javascript/selection/column_selector_spec.js
+++ b/web/regression/javascript/selection/column_selector_spec.js
@@ -22,10 +22,12 @@ import 'sources/slickgrid/pgslick.cellrangeselector';
describe('ColumnSelector', function () {
var container, data, columns, options;
var SlickGrid = Slick.Grid;
- var KEY_RIGHT = 39;
- var KEY_LEFT = 37;
- var KEY_UP = 38;
- var KEY_DOWN = 40;
+ var KEY = {
+ RIGHT: 39,
+ LEFT: 37,
+ UP: 38,
+ DOWN: 40,
+ };
beforeEach(function () {
container = $('
');
@@ -35,11 +37,11 @@ describe('ColumnSelector', function () {
data = [{
'some-column-name': 'first value',
'second column': 'second value',
- 'third column': 'nonselectable value'
+ 'third column': 'nonselectable value',
}, {
'some-column-name': 'row 1 - first value',
'second column': 'row 1 - second value',
- 'third column': 'row 1 - nonselectable value'
+ 'third column': 'row 1 - nonselectable value',
}];
columns = [
@@ -48,36 +50,36 @@ describe('ColumnSelector', function () {
name: 'row header column name',
selectable: false,
display_name: 'row header column name',
- column_type: 'text'
+ column_type: 'text',
},
{
id: '1',
name: 'some-column-name',
pos: 0,
display_name: 'some-column-name',
- column_type: 'text'
+ column_type: 'text',
},
{
id: '2',
name: 'second column',
pos: 1,
display_name: 'second column',
- column_type: 'json'
+ column_type: 'json',
},
{
id: 'third-column-id',
name: 'third column',
pos: 2,
display_name: 'third column',
- column_type: 'text'
+ column_type: 'text',
},
{
name: 'some-non-selectable-column',
selectable: false,
pos: 3,
display_name: 'some-non-selectable-column',
- column_type: 'numeric'
- }
+ column_type: 'numeric',
+ },
];
});
@@ -170,7 +172,7 @@ describe('ColumnSelector', function () {
describe('and presses shift + right-arrow', function () {
beforeEach(function () {
- pressShiftArrow(KEY_RIGHT);
+ pressShiftArrow(KEY.RIGHT);
});
it('keeps the last column selected', function () {
@@ -202,7 +204,7 @@ describe('ColumnSelector', function () {
describe('and presses shift + right-arrow', function () {
it('first and second columns are selected', function () {
- pressShiftArrow(KEY_RIGHT);
+ pressShiftArrow(KEY.RIGHT);
var selectedRanges = cellSelectionModel.getSelectedRanges();
@@ -266,7 +268,7 @@ describe('ColumnSelector', function () {
var selectedRanges = cellSelectionModel.getSelectedRanges();
expect(selectedRanges.length).toEqual(0);
- })
+ });
});
describe('when the column is not selectable', function () {
diff --git a/web/regression/javascript/selection/copy_data_spec.js b/web/regression/javascript/selection/copy_data_spec.js
index 2d6b6ad28..9e05e845f 100644
--- a/web/regression/javascript/selection/copy_data_spec.js
+++ b/web/regression/javascript/selection/copy_data_spec.js
@@ -19,52 +19,51 @@ import XCellSelectionModel from 'sources/selection/xcell_selection_model';
describe('copyData', function () {
var grid, sqlEditor, gridContainer, buttonPasteRow;
- var Slick, SlickGrid;
+ var SlickGrid;
beforeEach(function () {
- Slick = window.Slick;
SlickGrid = Slick.Grid;
var data = [[1, 'leopord', '12'],
[2, 'lion', '13'],
[3, 'puma', '9']];
var columns = [
- {
- id: 'row-header-column',
- name: 'row header column name',
- selectable: false,
- display_name: 'row header column name',
- column_type: 'text'
- },
- {
- name: 'id',
- pos: 0,
- label: 'id
numeric',
- cell: 'number',
- can_edit: false,
- type: 'numeric'
- }, {
- name: 'brand',
- pos: 1,
- label: 'flavor
character varying',
- cell: 'string',
- can_edit: false,
- type: 'character varying'
- }, {
- name: 'size',
- pos: 2,
- label: 'size
numeric',
- cell: 'number',
- can_edit: false,
- type: 'numeric'
- }
- ]
+ {
+ id: 'row-header-column',
+ name: 'row header column name',
+ selectable: false,
+ display_name: 'row header column name',
+ column_type: 'text',
+ },
+ {
+ name: 'id',
+ pos: 0,
+ label: 'id
numeric',
+ cell: 'number',
+ can_edit: false,
+ type: 'numeric',
+ }, {
+ name: 'brand',
+ pos: 1,
+ label: 'flavor
character varying',
+ cell: 'string',
+ can_edit: false,
+ type: 'character varying',
+ }, {
+ name: 'size',
+ pos: 2,
+ label: 'size
numeric',
+ cell: 'number',
+ can_edit: false,
+ type: 'numeric',
+ },
+ ]
;
gridContainer = $('');
$('body').append(gridContainer);
buttonPasteRow = $('');
$('body').append(buttonPasteRow);
- grid = new Slick.Grid('#grid', data, columns, {});
+ grid = new SlickGrid('#grid', data, columns, {});
grid.setSelectionModel(new XCellSelectionModel());
sqlEditor = {slickgrid: grid};
});
diff --git a/web/regression/javascript/selection/grid_selector_spec.js b/web/regression/javascript/selection/grid_selector_spec.js
index f7b39ee85..ce54cc695 100644
--- a/web/regression/javascript/selection/grid_selector_spec.js
+++ b/web/regression/javascript/selection/grid_selector_spec.js
@@ -8,7 +8,6 @@
//////////////////////////////////////////////////////////////////////////
import $ from 'jquery';
-import _ from 'underscore';
import Slick from 'slickgrid';
import 'slickgrid.grid';
@@ -18,21 +17,20 @@ import XCellSelectionModel from 'sources/selection/xcell_selection_model';
describe('GridSelector', function () {
var container, data, columns, gridSelector, xCellSelectionModel;
- var Slick, SlickGrid;
+ var SlickGrid;
beforeEach(function () {
- Slick = window.Slick;
SlickGrid = Slick.Grid;
container = $('');
container.height(9999);
columns = [{
id: '1',
name: 'some-column-name',
- pos: 0
+ pos: 0,
}, {
id: '2',
name: 'second column',
- pos: 1
+ pos: 1,
}];
gridSelector = new GridSelector();
@@ -42,7 +40,7 @@ describe('GridSelector', function () {
for (var i = 0; i < 10; i++) {
data.push({'some-column-name': 'some-value-' + i, 'second column': 'second value ' + i});
}
- var grid = new Slick.Grid(container, data, columns);
+ var grid = new SlickGrid(container, data, columns);
xCellSelectionModel = new XCellSelectionModel();
grid.setSelectionModel(xCellSelectionModel);
diff --git a/web/regression/javascript/selection/range_boundary_navigator_spec.js b/web/regression/javascript/selection/range_boundary_navigator_spec.js
index b57087f32..1de6d8124 100644
--- a/web/regression/javascript/selection/range_boundary_navigator_spec.js
+++ b/web/regression/javascript/selection/range_boundary_navigator_spec.js
@@ -23,8 +23,8 @@ describe('RangeBoundaryNavigator', function () {
});
});
- describe("when the ranges all overlap partially or touch", function () {
- it("returns one long range", function () {
+ describe('when the ranges all overlap partially or touch', function () {
+ it('returns one long range', function () {
var rangeBounds = [[3, 6], [1, 4], [7, 14]];
var union = rangeBoundaryNavigator.getUnion(rangeBounds);
@@ -32,7 +32,7 @@ describe('RangeBoundaryNavigator', function () {
expect(union).toEqual([[1, 14]]);
});
- it("returns them in order from lowest to highest", function () {
+ it('returns them in order from lowest to highest', function () {
var rangeBounds = [[3, 6], [2, 3], [10, 12]];
var union = rangeBoundaryNavigator.getUnion(rangeBounds);
@@ -40,9 +40,9 @@ describe('RangeBoundaryNavigator', function () {
expect(union).toEqual([[2, 6], [10, 12]]);
});
- describe("when one range completely overlaps another", function() {
+ describe('when one range completely overlaps another', function() {
- it("returns them in order from lowest to highest", function () {
+ it('returns them in order from lowest to highest', function () {
var rangeBounds = [[9, 14], [2, 3], [11, 13]];
var union = rangeBoundaryNavigator.getUnion(rangeBounds);
@@ -51,19 +51,19 @@ describe('RangeBoundaryNavigator', function () {
});
});
- describe("when one range is a subset of another", function () {
- it("returns the larger range", function () {
+ describe('when one range is a subset of another', function () {
+ it('returns the larger range', function () {
var rangeBounds = [[2, 6], [1, 14], [8, 10]];
var union = rangeBoundaryNavigator.getUnion(rangeBounds);
expect(union).toEqual([[1, 14]]);
- })
- })
+ });
+ });
});
- describe("when the ranges do not touch", function () {
- it("returns them in order from lowest to highest", function () {
+ describe('when the ranges do not touch', function () {
+ it('returns them in order from lowest to highest', function () {
var rangeBounds = [[3, 6], [1, 1], [8, 10]];
var union = rangeBoundaryNavigator.getUnion(rangeBounds);
@@ -73,8 +73,8 @@ describe('RangeBoundaryNavigator', function () {
});
});
- describe("#mapDimensionBoundaryUnion", function () {
- it("returns a list of the results of the callback", function () {
+ describe('#mapDimensionBoundaryUnion', function () {
+ it('returns a list of the results of the callback', function () {
var rangeBounds = [[0, 1], [3, 3]];
var callback = function () {
return 'hello';
@@ -83,7 +83,7 @@ describe('RangeBoundaryNavigator', function () {
expect(result).toEqual(['hello', 'hello', 'hello']);
});
- it("calls the callback with each index in the dimension", function () {
+ it('calls the callback with each index in the dimension', function () {
var rangeBounds = [[0, 1], [3, 3]];
var callback = jasmine.createSpy('callbackSpy');
rangeBoundaryNavigator.mapDimensionBoundaryUnion(rangeBounds, callback);
@@ -91,7 +91,7 @@ describe('RangeBoundaryNavigator', function () {
});
});
- describe("#mapOver2DArray", function () {
+ describe('#mapOver2DArray', function () {
var data, rowCollector, processCell;
beforeEach(function () {
data = [[0, 1, 2, 3], [2, 2, 2, 2], [4, 5, 6, 7]];
@@ -103,76 +103,75 @@ describe('RangeBoundaryNavigator', function () {
};
});
- it("calls the callback for each item in the ranges", function () {
+ it('calls the callback for each item in the ranges', function () {
var rowRanges = [[0, 0], [2, 2]];
var colRanges = [[0, 3]];
var selectionResult = rangeBoundaryNavigator.mapOver2DArray(rowRanges, colRanges, processCell, rowCollector);
- expect(selectionResult).toEqual(["[0,1,2,3]", "[4,5,6,7]"]);
+ expect(selectionResult).toEqual(['[0,1,2,3]', '[4,5,6,7]']);
});
- describe("when the ranges are out of order/duplicated", function () {
+ describe('when the ranges are out of order/duplicated', function () {
var rowRanges, colRanges;
beforeEach(function () {
rowRanges = [[2, 2], [2, 2], [0, 0]];
colRanges = [[0, 3]];
});
- it("uses the union of the ranges", function () {
- spyOn(rangeBoundaryNavigator, "getUnion").and.callThrough();
+ it('uses the union of the ranges', function () {
+ spyOn(rangeBoundaryNavigator, 'getUnion').and.callThrough();
var selectionResult = rangeBoundaryNavigator.mapOver2DArray(rowRanges, colRanges, processCell, rowCollector);
expect(rangeBoundaryNavigator.getUnion).toHaveBeenCalledWith(rowRanges);
expect(rangeBoundaryNavigator.getUnion).toHaveBeenCalledWith(colRanges);
- expect(selectionResult).toEqual(["[0,1,2,3]", "[4,5,6,7]"]);
+ expect(selectionResult).toEqual(['[0,1,2,3]', '[4,5,6,7]']);
});
});
});
- describe("#rangesToCsv", function () {
+ describe('#rangesToCsv', function () {
var data, columnDefinitions, ranges;
beforeEach(function () {
- data = [[1, "leopard", "12"],
- [2, "lion", "13"],
- [3, "cougar", "9"],
- [4, "tiger", "10"]];
+ data = [[1, 'leopard', '12'],
+ [2, 'lion', '13'],
+ [3, 'cougar', '9'],
+ [4, 'tiger', '10']];
columnDefinitions = [{name: 'id', pos: 0}, {name: 'animal', pos: 1}, {name: 'size', pos: 2}];
ranges = [new Slick.Range(0, 0, 0, 2), new Slick.Range(3, 0, 3, 2)];
});
- it("returns csv for the provided ranges", function () {
+ it('returns csv for the provided ranges', function () {
var csvResult = rangeBoundaryNavigator.rangesToCsv(data, columnDefinitions, ranges);
- expect(csvResult).toEqual("1,'leopard','12'\n4,'tiger','10'");
+ expect(csvResult).toEqual('1,\'leopard\',\'12\'\n4,\'tiger\',\'10\'');
});
- describe("when no cells are selected", function () {
- it("should return an empty string", function () {
+ describe('when no cells are selected', function () {
+ it('should return an empty string', function () {
var csvResult = rangeBoundaryNavigator.rangesToCsv(data, columnDefinitions, []);
expect(csvResult).toEqual('');
});
});
- describe("when there is an extra column with checkboxes", function () {
-
+ describe('when there is an extra column with checkboxes', function () {
beforeEach(function () {
columnDefinitions = [{name: 'not-a-data-column'}, {name: 'id', pos: 0}, {name: 'animal', pos: 1}, {
name: 'size',
- pos: 2
+ pos: 2,
}];
ranges = [new Slick.Range(0, 0, 0, 3), new Slick.Range(3, 0, 3, 3)];
});
- it("returns csv for the columns with data", function () {
+ it('returns csv for the columns with data', function () {
var csvResult = rangeBoundaryNavigator.rangesToCsv(data, columnDefinitions, ranges);
- expect(csvResult).toEqual("1,'leopard','12'\n4,'tiger','10'");
+ expect(csvResult).toEqual('1,\'leopard\',\'12\'\n4,\'tiger\',\'10\'');
});
- describe("when no cells are selected", function () {
- it("should return an empty string", function () {
+ describe('when no cells are selected', function () {
+ it('should return an empty string', function () {
var csvResult = rangeBoundaryNavigator.rangesToCsv(data, columnDefinitions, []);
expect(csvResult).toEqual('');
@@ -180,4 +179,4 @@ describe('RangeBoundaryNavigator', function () {
});
});
});
-});
\ No newline at end of file
+});
diff --git a/web/regression/javascript/selection/range_selection_helper_spec.js b/web/regression/javascript/selection/range_selection_helper_spec.js
index 63c072597..62200085c 100644
--- a/web/regression/javascript/selection/range_selection_helper_spec.js
+++ b/web/regression/javascript/selection/range_selection_helper_spec.js
@@ -3,21 +3,21 @@ import Slick from 'slickgrid';
import 'slickgrid.grid';
import RangeSelectionHelper from 'sources/selection/range_selection_helper';
-describe("RangeSelectionHelper utility functions", function () {
+describe('RangeSelectionHelper utility functions', function () {
var grid;
beforeEach(function () {
var container, data, columns, options;
- container = $("");
+ container = $('');
container.height(9999);
columns = [{
id: '1',
name: 'some-column-name',
- pos: 0
+ pos: 0,
}, {
id: 'second-column-id',
name: 'second column',
- pos: 1
+ pos: 1,
}];
data = [];
@@ -29,18 +29,18 @@ describe("RangeSelectionHelper utility functions", function () {
grid.invalidate();
});
- describe("#getIndexesOfCompleteRows", function () {
- describe("when selected ranges are not rows", function () {
- it("returns an empty array", function () {
+ describe('#getIndexesOfCompleteRows', function () {
+ describe('when selected ranges are not rows', function () {
+ it('returns an empty array', function () {
var rowlessRanges = [RangeSelectionHelper.rangeForColumn(grid, 1)];
expect(RangeSelectionHelper.getIndexesOfCompleteRows(grid, rowlessRanges))
.toEqual([]);
});
});
- describe("when selected range", function () {
- describe("is a single row", function () {
- it("returns an array with one index", function () {
+ describe('when selected range', function () {
+ describe('is a single row', function () {
+ it('returns an array with one index', function () {
var singleRowRange = [RangeSelectionHelper.rangeForRow(grid, 1)];
expect(RangeSelectionHelper.getIndexesOfCompleteRows(grid, singleRowRange))
@@ -48,8 +48,8 @@ describe("RangeSelectionHelper utility functions", function () {
});
});
- describe("is multiple rows", function () {
- it("returns an array of each row's index", function () {
+ describe('is multiple rows', function () {
+ it('returns an array of each row\'s index', function () {
var multipleRowRange = [
RangeSelectionHelper.rangeForRow(grid, 0),
RangeSelectionHelper.rangeForRow(grid, 3),
@@ -62,10 +62,10 @@ describe("RangeSelectionHelper utility functions", function () {
});
});
- describe("contains a multi row selection", function () {
- it("returns an array of each individual row's index", function () {
+ describe('contains a multi row selection', function () {
+ it('returns an array of each individual row\'s index', function () {
var multipleRowRange = [
- new Slick.Range(3, 0, 5, 1)
+ new Slick.Range(3, 0, 5, 1),
];
var indexesOfCompleteRows = RangeSelectionHelper.getIndexesOfCompleteRows(grid, multipleRowRange);
@@ -73,11 +73,11 @@ describe("RangeSelectionHelper utility functions", function () {
expect(indexesOfCompleteRows).toEqual([3, 4, 5]);
});
- describe("and also contains a selection that is not a row", function () {
- it("returns an array of only the complete rows' indexes", function () {
+ describe('and also contains a selection that is not a row', function () {
+ it('returns an array of only the complete rows\' indexes', function () {
var multipleRowRange = [
new Slick.Range(8, 1, 9, 1),
- new Slick.Range(3, 0, 5, 1)
+ new Slick.Range(3, 0, 5, 1),
];
var indexesOfCompleteRows = RangeSelectionHelper.getIndexesOfCompleteRows(grid, multipleRowRange);
diff --git a/web/regression/javascript/selection/row_selector_spec.js b/web/regression/javascript/selection/row_selector_spec.js
index dbf65e267..db3c0b4f2 100644
--- a/web/regression/javascript/selection/row_selector_spec.js
+++ b/web/regression/javascript/selection/row_selector_spec.js
@@ -8,7 +8,6 @@
//////////////////////////////////////////////////////////////////////////
import $ from 'jquery';
-import _ from 'underscore';
import Slick from 'slickgrid';
import 'slickgrid.grid';
@@ -18,10 +17,12 @@ import ActiveCellCapture from 'sources/selection/active_cell_capture';
import XCellSelectionModel from 'sources/selection/xcell_selection_model';
describe('RowSelector', function () {
- var KEY_RIGHT = 39;
- var KEY_LEFT = 37;
- var KEY_UP = 38;
- var KEY_DOWN = 40;
+ var KEY = {
+ RIGHT: 39,
+ LEFT: 37,
+ UP: 38,
+ DOWN: 40,
+ };
var container, data, columnDefinitions, grid, cellSelectionModel;
var SlickGrid = Slick.Grid;
@@ -34,12 +35,12 @@ describe('RowSelector', function () {
id: '1',
name: 'some-column-name',
selectable: true,
- pos: 0
+ pos: 0,
}, {
id: '2',
name: 'second column',
selectable: true,
- pos: 1
+ pos: 1,
}];
var rowSelector = new RowSelector();
@@ -134,7 +135,7 @@ describe('RowSelector', function () {
describe('and presses shift + down-arrow', function () {
beforeEach(function () {
- pressShiftArrow(KEY_DOWN);
+ pressShiftArrow(KEY.DOWN);
});
it('keeps the last row selected', function () {
@@ -301,7 +302,7 @@ describe('RowSelector', function () {
var selectedRanges = cellSelectionModel.getSelectedRanges();
expect(selectedRanges.length).toEqual(0);
- })
+ });
});
});
diff --git a/web/regression/javascript/selection/set_staged_rows_spec.js b/web/regression/javascript/selection/set_staged_rows_spec.js
index 99c6d3a68..673531446 100644
--- a/web/regression/javascript/selection/set_staged_rows_spec.js
+++ b/web/regression/javascript/selection/set_staged_rows_spec.js
@@ -8,9 +8,9 @@
//////////////////////////////////////////////////////////////
define([
- "jquery",
- "underscore",
- "sources/selection/set_staged_rows",
+ 'jquery',
+ 'underscore',
+ 'sources/selection/set_staged_rows',
], function ($, _, SetStagedRows) {
describe('set_staged_rows', function () {
var sqlEditorObj, gridSpy, deleteButton, copyButton, selectionSpy;
@@ -20,7 +20,7 @@ define([
{0: 'one', 1: 'two', __temp_PK: '123'},
{0: 'three', 1: 'four', __temp_PK: '456'},
{0: 'five', 1: 'six', __temp_PK: '789'},
- {0: 'seven', 1: 'eight', __temp_PK: '432'}
+ {0: 'seven', 1: 'eight', __temp_PK: '432'},
]);
gridSpy.getColumns.and.returnValue([
{
@@ -29,7 +29,7 @@ define([
}, {
pos: 1,
selectable: true,
- }
+ },
]);
selectionSpy = jasmine.createSpyObj('selectionSpy', ['setSelectedRows', 'getSelectedRanges']);
@@ -42,23 +42,23 @@ define([
editor: {
handler: {
data_store: {
- staged_rows: {'456': {}}
+ staged_rows: {'456': {}},
},
- can_edit: false
- }
+ can_edit: false,
+ },
},
keys: null,
selection: selectionSpy,
columns: [
{
name: 'a pk column',
- pos: 0
+ pos: 0,
},
{
name: 'some column',
- pos: 1
- }
- ]
+ pos: 1,
+ },
+ ],
};
$('body').append(deleteButton);
@@ -195,7 +195,7 @@ define([
{0: 'one', 1: 'two', __temp_PK: '123'},
{1: 'four', __temp_PK: '456'},
{1: 'six', __temp_PK: '789'},
- {0: 'seven', 1: 'eight', __temp_PK: '432'}
+ {0: 'seven', 1: 'eight', __temp_PK: '432'},
]);
});
@@ -228,7 +228,7 @@ define([
it('should not clear the staged rows', function () {
expect(sqlEditorObj.editor.handler.data_store.staged_rows).toEqual({
'456': {0: 'three'},
- '789': {0: 'five'}
+ '789': {0: 'five'},
});
});
diff --git a/web/regression/javascript/selection/xcell_selection_model_spec.js b/web/regression/javascript/selection/xcell_selection_model_spec.js
index 8f01035c4..db3f6d600 100644
--- a/web/regression/javascript/selection/xcell_selection_model_spec.js
+++ b/web/regression/javascript/selection/xcell_selection_model_spec.js
@@ -10,6 +10,7 @@
import XCellSelectionModel from 'sources/selection/xcell_selection_model';
import 'slickgrid.grid';
import Slick from 'slickgrid';
+import $ from 'jquery';
describe('XCellSelectionModel', function () {
var KEY_RIGHT = 39;
@@ -31,15 +32,15 @@ describe('XCellSelectionModel', function () {
}, {
id: '1',
name: 'some-column-name',
- pos: 0
+ pos: 0,
}, {
id: 'second-column-id',
name: 'second column',
- pos: 1
+ pos: 1,
}, {
id: 'third-column-id',
name: 'third column',
- pos: 2
+ pos: 2,
},
];
@@ -52,13 +53,13 @@ describe('XCellSelectionModel', function () {
'fourth column': 'fourth value ' + i,
});
}
- container = $("");
+ container = $('');
container.height(9999);
container.width(9999);
grid = new SlickGrid(container, data, columns);
grid.setSelectionModel(new XCellSelectionModel());
- $("body").append(container);
+ $('body').append(container);
});
afterEach(function () {
@@ -397,13 +398,13 @@ describe('XCellSelectionModel', function () {
target: $cell,
isPropagationStopped: jasmine.createSpy('isPropagationStopped').and.returnValue(false),
isImmediatePropagationStopped: jasmine.createSpy('isImmediatePropagationStopped').and.returnValue(false),
- stopImmediatePropagation: jasmine.createSpy('stopImmediatePropagation')
+ stopImmediatePropagation: jasmine.createSpy('stopImmediatePropagation'),
};
dd = {
grid: grid,
startX: cellLeftPosition(initialPosition.cell),
- startY: cellTopPosition($cell, initialPosition.row)
+ startY: cellTopPosition($cell, initialPosition.row),
};
grid.onDragStart.notify(dd, event, grid);
@@ -421,7 +422,7 @@ describe('XCellSelectionModel', function () {
stopImmediatePropagation: jasmine.createSpy('stopImmediatePropagation'),
pageX: cellLeftPosition(finalPosition.cell),
- pageY: cellTopPosition($cell, finalPosition.row)
+ pageY: cellTopPosition($cell, finalPosition.row),
};
grid.onDrag.notify(dd, event, grid);
@@ -448,7 +449,7 @@ describe('XCellSelectionModel', function () {
});
it('do not notify onDragEnd', function () {
- expect(grid.onDragEnd.notify).not.toHaveBeenCalled()
+ expect(grid.onDragEnd.notify).not.toHaveBeenCalled();
});
});
@@ -482,14 +483,14 @@ describe('XCellSelectionModel', function () {
});
function pressKey(keyCode) {
- var pressEvent = new $.Event("keydown");
+ var pressEvent = new $.Event('keydown');
pressEvent.which = keyCode;
$(container.find('.grid-canvas')).trigger(pressEvent);
}
function pressShiftPlusKey(keyCode) {
- var pressEvent = new $.Event("keydown");
+ var pressEvent = new $.Event('keydown');
pressEvent.shiftKey = true;
pressEvent.which = keyCode;
diff --git a/web/regression/javascript/size_prettify_spec.js b/web/regression/javascript/size_prettify_spec.js
index 7d370fcb8..f60c79c0c 100644
--- a/web/regression/javascript/size_prettify_spec.js
+++ b/web/regression/javascript/size_prettify_spec.js
@@ -7,59 +7,59 @@
//
//////////////////////////////////////////////////////////////////////////
-define(["sources/size_prettify"], function (sizePrettify) {
- describe("sizePrettify", function () {
- describe("when size is 0", function () {
- it("returns 0 bytes", function () {
- expect(sizePrettify(0)).toEqual("0 bytes");
+define(['sources/size_prettify'], function (sizePrettify) {
+ describe('sizePrettify', function () {
+ describe('when size is 0', function () {
+ it('returns 0 bytes', function () {
+ expect(sizePrettify(0)).toEqual('0 bytes');
});
});
- describe("when size >= 10kB and size < 10 MB", function () {
- it("returns size in kB", function () {
- expect(sizePrettify(10240)).toEqual("10 kB");
+ describe('when size >= 10kB and size < 10 MB', function () {
+ it('returns size in kB', function () {
+ expect(sizePrettify(10240)).toEqual('10 kB');
});
- it("returns size in kB", function () {
- expect(sizePrettify(99999)).toEqual("98 kB");
+ it('returns size in kB', function () {
+ expect(sizePrettify(99999)).toEqual('98 kB');
});
});
- describe("when size >= 10MB and size < 10 GB", function () {
- it("returns size in MB", function () {
- expect(sizePrettify(10485760)).toEqual("10 MB");
+ describe('when size >= 10MB and size < 10 GB', function () {
+ it('returns size in MB', function () {
+ expect(sizePrettify(10485760)).toEqual('10 MB');
});
- it("returns size in MB", function () {
- expect(sizePrettify(44040192)).toEqual("42 MB");
+ it('returns size in MB', function () {
+ expect(sizePrettify(44040192)).toEqual('42 MB');
});
});
- describe("when size >= 10GB and size < 10 TB", function () {
- it("returns size in GB", function () {
- expect(sizePrettify(10737418240)).toEqual("10 GB");
+ describe('when size >= 10GB and size < 10 TB', function () {
+ it('returns size in GB', function () {
+ expect(sizePrettify(10737418240)).toEqual('10 GB');
});
- it("returns size in GB", function () {
- expect(sizePrettify(10736344498176)).toEqual("9999 GB");
+ it('returns size in GB', function () {
+ expect(sizePrettify(10736344498176)).toEqual('9999 GB');
});
});
- describe("when size >= 10TB and size < 10 PB", function () {
- it("returns size in TB", function () {
- expect(sizePrettify(10995116277760)).toEqual("10 TB");
+ describe('when size >= 10TB and size < 10 PB', function () {
+ it('returns size in TB', function () {
+ expect(sizePrettify(10995116277760)).toEqual('10 TB');
});
- it("returns size in TB", function () {
- expect(sizePrettify(29995116277760)).toEqual("27 TB");
+ it('returns size in TB', function () {
+ expect(sizePrettify(29995116277760)).toEqual('27 TB');
});
});
- describe("when size >= 10 PB", function () {
- it("returns size in PB", function () {
- expect(sizePrettify(11258999068426200)).toEqual("10 PB");
+ describe('when size >= 10 PB', function () {
+ it('returns size in PB', function () {
+ expect(sizePrettify(11258999068426200)).toEqual('10 PB');
});
});
diff --git a/web/regression/javascript/slickgrid/cell_selector_spec.js b/web/regression/javascript/slickgrid/cell_selector_spec.js
index b32fdf804..7ad72e322 100644
--- a/web/regression/javascript/slickgrid/cell_selector_spec.js
+++ b/web/regression/javascript/slickgrid/cell_selector_spec.js
@@ -7,16 +7,17 @@
//
//////////////////////////////////////////////////////////////
-import $ from "jquery";
-import SlickGrid from "slickgrid.grid";
-import XCellSelectionModel from "sources/selection/xcell_selection_model";
-import CellSelector from "sources/slickgrid/cell_selector";
-import RangeSelectionHelper from "sources/selection/range_selection_helper";
+import $ from 'jquery';
+import Slick from 'slickgrid';
+import 'slickgrid.grid';
+import XCellSelectionModel from 'sources/selection/xcell_selection_model';
+import CellSelector from 'sources/slickgrid/cell_selector';
+import RangeSelectionHelper from 'sources/selection/range_selection_helper';
-describe("CellSelector", function () {
+describe('CellSelector', function () {
var container, columns, cellSelector, data, cellSelectionModel, grid;
beforeEach(function () {
- container = $("");
+ container = $('');
container.height(9999);
container.width(9999);
columns = [{
@@ -39,17 +40,17 @@ describe("CellSelector", function () {
grid.registerPlugin(cellSelector);
grid.invalidate();
- $("body").append(container);
+ $('body').append(container);
});
afterEach(function () {
- $("body").find(container).remove();
+ $('body').find(container).remove();
});
- describe("when the user clicks or tabs to a cell", function () {
- it("sets the selected range to that cell", function () {
+ describe('when the user clicks or tabs to a cell', function () {
+ it('sets the selected range to that cell', function () {
var row = 1, column = 0;
- $(container.find(".slick-row .slick-cell.l" + column)[row]).click();
+ $(container.find('.slick-row .slick-cell.l' + column)[row]).click();
var selectedRanges = cellSelectionModel.getSelectedRanges();
expect(selectedRanges.length).toBe(1);
@@ -59,14 +60,14 @@ describe("CellSelector", function () {
expect(selectedRanges[0].toRow).toBe(1);
});
- it("deselects previously selected ranges", function () {
+ it('deselects previously selected ranges', function () {
var row2Range = RangeSelectionHelper.rangeForRow(grid, 2);
var ranges = RangeSelectionHelper.addRange(cellSelectionModel.getSelectedRanges(),
row2Range);
cellSelectionModel.setSelectedRanges(ranges);
var row = 4, column = 1;
- $(container.find(".slick-row .slick-cell.l" + column)[row]).click();
+ $(container.find('.slick-row .slick-cell.l' + column)[row]).click();
expect(RangeSelectionHelper.isRangeSelected(cellSelectionModel.getSelectedRanges(), row2Range))
.toBe(false);
diff --git a/web/regression/javascript/slickgrid/event_handlers/handle_query_output_keyboard_event_spec.js b/web/regression/javascript/slickgrid/event_handlers/handle_query_output_keyboard_event_spec.js
index 884ae4150..eb4411dcd 100644
--- a/web/regression/javascript/slickgrid/event_handlers/handle_query_output_keyboard_event_spec.js
+++ b/web/regression/javascript/slickgrid/event_handlers/handle_query_output_keyboard_event_spec.js
@@ -13,10 +13,10 @@ import RangeSelectionHelper from 'sources/selection/range_selection_helper';
import XCellSelectionModel from 'sources/selection/xcell_selection_model';
import Slick from 'slickgrid';
import 'slickgrid.grid';
-
+import $ from 'jquery';
describe('#handleQueryOutputKeyboardEvent', function () {
- var event, view, grid, slickEvent;
+ var event, grid, slickEvent;
var SlickGrid = Slick.Grid;
var handleQueryOutputKeyboardEvent;
@@ -27,7 +27,7 @@ describe('#handleQueryOutputKeyboardEvent', function () {
metaKey: false,
which: -1,
keyCode: -1,
- preventDefault: jasmine.createSpy('preventDefault')
+ preventDefault: jasmine.createSpy('preventDefault'),
};
var data = [['', '0,0-cell-content', '0,1-cell-content'],
@@ -35,22 +35,20 @@ describe('#handleQueryOutputKeyboardEvent', function () {
['', '2,0-cell-content', '2,1-cell-content']];
var columnDefinitions = [{name: 'checkboxColumn'}, {pos: 1, name: 'firstColumn'}, {
pos: 2,
- name: 'secondColumn'
+ name: 'secondColumn',
}];
grid = new SlickGrid($(''), data, columnDefinitions);
grid.setSelectionModel(new XCellSelectionModel());
slickEvent = {
- grid: grid
+ grid: grid,
};
- view = {};
spyOn(clipboard, 'copyTextToClipboard');
handleQueryOutputKeyboardEvent = HandleQueryOutputKeyboardEvent.bind(window);
- debugger
});
- describe("when a range is selected", function () {
+ describe('when a range is selected', function () {
beforeEach(function () {
grid.getSelectionModel().setSelectedRanges([
RangeSelectionHelper.rangeForRow(grid, 0),
@@ -58,39 +56,39 @@ describe('#handleQueryOutputKeyboardEvent', function () {
]);
});
- describe("pressing Command + C", function () {
+ describe('pressing Command + C', function () {
beforeEach(function () {
event.metaKey = true;
event.keyCode = 67;
});
- it("copies the cell content to the clipboard", function () {
+ it('copies the cell content to the clipboard', function () {
handleQueryOutputKeyboardEvent(event, slickEvent);
- expect(clipboard.copyTextToClipboard).toHaveBeenCalledWith("'0,0-cell-content','0,1-cell-content'\n'2,0-cell-content','2,1-cell-content'");
+ expect(clipboard.copyTextToClipboard).toHaveBeenCalledWith('\'0,0-cell-content\',\'0,1-cell-content\'\n\'2,0-cell-content\',\'2,1-cell-content\'');
});
});
- describe("pressing Ctrl + C", function () {
+ describe('pressing Ctrl + C', function () {
beforeEach(function () {
event.ctrlKey = true;
event.keyCode = 67;
});
- it("copies the cell content to the clipboard", function () {
+ it('copies the cell content to the clipboard', function () {
handleQueryOutputKeyboardEvent(event, slickEvent);
- expect(clipboard.copyTextToClipboard).toHaveBeenCalledWith("'0,0-cell-content','0,1-cell-content'\n'2,0-cell-content','2,1-cell-content'");
+ expect(clipboard.copyTextToClipboard).toHaveBeenCalledWith('\'0,0-cell-content\',\'0,1-cell-content\'\n\'2,0-cell-content\',\'2,1-cell-content\'');
});
});
- describe("pressing Command + A", function () {
+ describe('pressing Command + A', function () {
beforeEach(function () {
event.metaKey = true;
event.keyCode = 65;
});
- it("selects the entire grid to ranges", function () {
+ it('selects the entire grid to ranges', function () {
handleQueryOutputKeyboardEvent(event, slickEvent);
expect(RangeSelectionHelper.isEntireGridSelected(grid)).toBeTruthy();
@@ -98,13 +96,13 @@ describe('#handleQueryOutputKeyboardEvent', function () {
});
});
- describe("pressing Ctrl + A", function () {
+ describe('pressing Ctrl + A', function () {
beforeEach(function () {
event.ctrlKey = true;
event.keyCode = 65;
});
- it("selects the entire grid to ranges", function () {
+ it('selects the entire grid to ranges', function () {
handleQueryOutputKeyboardEvent(event, slickEvent);
expect(RangeSelectionHelper.isEntireGridSelected(grid)).toBeTruthy();
@@ -113,14 +111,14 @@ describe('#handleQueryOutputKeyboardEvent', function () {
});
});
- describe("when no ranges are selected", function () {
- describe("pressing Command + A", function () {
+ describe('when no ranges are selected', function () {
+ describe('pressing Command + A', function () {
beforeEach(function () {
event.metaKey = true;
event.keyCode = 65;
});
- it("selects the entire grid to ranges", function () {
+ it('selects the entire grid to ranges', function () {
handleQueryOutputKeyboardEvent(event, slickEvent);
expect(RangeSelectionHelper.isEntireGridSelected(grid)).toBeTruthy();
@@ -128,13 +126,13 @@ describe('#handleQueryOutputKeyboardEvent', function () {
});
});
- describe("pressing Ctrl + A", function () {
+ describe('pressing Ctrl + A', function () {
beforeEach(function () {
event.ctrlKey = true;
event.keyCode = 65;
});
- it("selects the entire grid to ranges", function () {
+ it('selects the entire grid to ranges', function () {
handleQueryOutputKeyboardEvent(event, slickEvent);
expect(RangeSelectionHelper.isEntireGridSelected(grid)).toBeTruthy();
diff --git a/web/regression/javascript/sqleditor_utils_spec.js b/web/regression/javascript/sqleditor_utils_spec.js
index 4b79dc03b..b1564b377 100644
--- a/web/regression/javascript/sqleditor_utils_spec.js
+++ b/web/regression/javascript/sqleditor_utils_spec.js
@@ -7,18 +7,18 @@
//
//////////////////////////////////////////////////////////////////////////
-define(["sources/sqleditor_utils"],
+define(['sources/sqleditor_utils'],
function (SqlEditorUtils) {
- describe("SqlEditorUtils", function () {
+ describe('SqlEditorUtils', function () {
- describe("Generate a random string of size 10", function () {
- it("returns string of length 10", function () {
+ describe('Generate a random string of size 10', function () {
+ it('returns string of length 10', function () {
expect(SqlEditorUtils.epicRandomString(10).length).toEqual(10);
});
});
- describe("Generate a unique hash for given string", function () {
- it("returns unique hash", function () {
+ describe('Generate a unique hash for given string', function () {
+ it('returns unique hash', function () {
expect(SqlEditorUtils.getHash('select * from test')).toEqual(403379630);
});
});
diff --git a/web/webpack.test.config.js b/web/webpack.test.config.js
index 226020e94..d1c6455a7 100644
--- a/web/webpack.test.config.js
+++ b/web/webpack.test.config.js
@@ -8,7 +8,6 @@ const regressionDir = path.resolve(__dirname, 'regression');
module.exports = {
plugins: [
new webpack.ProvidePlugin({
- $: 'jquery',
jQuery: 'jquery',
_: 'underscore',
'underscore.string': 'underscore.string',
diff --git a/web/yarn.lock b/web/yarn.lock
index bfd9171d0..b04caa5c4 100644
--- a/web/yarn.lock
+++ b/web/yarn.lock
@@ -1199,15 +1199,7 @@ concat-stream@1.5.0:
readable-stream "~2.0.0"
typedarray "~0.0.5"
-concat-stream@^1.5.2:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
- dependencies:
- inherits "^2.0.3"
- readable-stream "^2.2.2"
- typedarray "^0.0.6"
-
-concat-stream@~1.5.0, concat-stream@~1.5.1:
+concat-stream@^1.5.2, concat-stream@~1.5.0, concat-stream@~1.5.1:
version "1.5.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
dependencies:
@@ -2329,7 +2321,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1:
+inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -3577,7 +3569,7 @@ read-pkg@^1.0.0:
normalize-package-data "^2.3.2"
path-type "^1.0.0"
-readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6:
+readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.6:
version "2.2.11"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.11.tgz#0796b31f8d7688007ff0b93a8088d34aa17c0f72"
dependencies:
@@ -4239,7 +4231,7 @@ type-is@~1.6.15:
media-typer "0.3.0"
mime-types "~2.1.15"
-typedarray@^0.0.6, typedarray@~0.0.5:
+typedarray@~0.0.5:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"