diff --git a/server/src/main/resources/static/js/.Rhistory b/server/src/main/resources/static/js/.Rhistory
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/server/src/main/resources/static/js/SlickGrid-master/.gitignore b/server/src/main/resources/static/js/SlickGrid-master/.gitignore
deleted file mode 100755
index d2f89b66646..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-.gitk*
-.idea/*
-.DS_Store
diff --git a/server/src/main/resources/static/js/SlickGrid-master/MIT-LICENSE.txt b/server/src/main/resources/static/js/SlickGrid-master/MIT-LICENSE.txt
deleted file mode 100755
index 60f65425c0d..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/MIT-LICENSE.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright (c) 2010 Michael Leibman, http://github.com/mleibman/slickgrid
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/server/src/main/resources/static/js/SlickGrid-master/README.md b/server/src/main/resources/static/js/SlickGrid-master/README.md
deleted file mode 100755
index 7994a271934..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Welcome to SlickGrid
-
-Find documentation and examples in [the wiki](https://github.com/mleibman/SlickGrid/wiki).
-
-## SlickGrid is an advanced JavaScript grid/spreadsheet component
-
-Some highlights:
-
-* Adaptive virtual scrolling (handle hundreds of thousands of rows with extreme responsiveness)
-* Extremely fast rendering speed
-* Supports jQuery UI Themes
-* Background post-rendering for richer cells
-* Configurable & customizable
-* Full keyboard navigation
-* Column resize/reorder/show/hide
-* Column autosizing & force-fit
-* Pluggable cell formatters & editors
-* Support for editing and creating new rows.
-* Grouping, filtering, custom aggregators, and more!
-* Advanced detached & multi-field editors with undo/redo support.
-* “GlobalEditorLock” to manage concurrent edits in cases where multiple Views on a page can edit the same data.
-* Support for [millions of rows](http://stackoverflow.com/a/2569488/1269037)
diff --git a/server/src/main/resources/static/js/SlickGrid-master/controls/slick.columnpicker.css b/server/src/main/resources/static/js/SlickGrid-master/controls/slick.columnpicker.css
deleted file mode 100755
index bcbb37584c2..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/controls/slick.columnpicker.css
+++ /dev/null
@@ -1,31 +0,0 @@
-.slick-columnpicker {
- border: 1px solid #718BB7;
- background: #f0f0f0;
- padding: 6px;
- -moz-box-shadow: 2px 2px 2px silver;
- -webkit-box-shadow: 2px 2px 2px silver;
- box-shadow: 2px 2px 2px silver;
- min-width: 100px;
- cursor: default;
-}
-
-.slick-columnpicker li {
- list-style: none;
- margin: 0;
- padding: 0;
- background: none;
-}
-
-.slick-columnpicker input {
- margin: 4px;
-}
-
-.slick-columnpicker li a {
- display: block;
- padding: 4px;
- font-weight: bold;
-}
-
-.slick-columnpicker li a:hover {
- background: white;
-}
diff --git a/server/src/main/resources/static/js/SlickGrid-master/controls/slick.columnpicker.js b/server/src/main/resources/static/js/SlickGrid-master/controls/slick.columnpicker.js
deleted file mode 100755
index be0dc066d30..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/controls/slick.columnpicker.js
+++ /dev/null
@@ -1,145 +0,0 @@
-(function ($) {
- function SlickColumnPicker(columns, grid, options) {
- var $menu;
- var columnCheckboxes;
-
- var defaults = {
- fadeSpeed:250
- };
-
- function init() {
- grid.onHeaderContextMenu.subscribe(handleHeaderContextMenu);
- grid.onColumnsReordered.subscribe(updateColumnOrder);
- options = $.extend({}, defaults, options);
-
- $menu = $("").appendTo(document.body);
-
- $menu.bind("mouseleave", function (e) {
- $(this).fadeOut(options.fadeSpeed)
- });
- $menu.bind("click", updateColumn);
-
- }
-
- function handleHeaderContextMenu(e, args) {
- e.preventDefault();
- $menu.empty();
- updateColumnOrder();
- columnCheckboxes = [];
-
- var $li, $input;
- for (var i = 0; i < columns.length; i++) {
- $li = $("
- The container which the grid is being created in needs to be in the DOM and participate in layout
- (can be 'visibility:hidden' but not 'display:none') in order for SlickGrid to be able to make certain
- measurements and initialize event listeners. Normally, this is done when a SlickGrid instance is
- being created. Optionally, you can defer the initialization until the above condition is met and call
- the grid.init() method explicitly. To use explicit initialization, set the explicitInitialization
- option to true.
-
- This example demonstrates creating a SlickGrid inside a detached element and calling init() explicitly
- when the element is added to the DOM.
-
- Fully dynamic and interactive multi-level grouping with filtering and aggregates over 50'000 items
- Each grouping level can have its own aggregates (over child rows, child groups, or all descendant rows).
- Personally, this is just the coolest slickest thing I've ever seen done with DHTML grids!
-
- This page demonstrates various techniques for optimizing DataView performance
- for large client-side datasets. This page displays an interactive grid with
- 500'000 rows with real-time filtering.
- This is achieved by:
-
-
Inlining filter function to cut down on the cost of function calls.
-
Providing hints to indicate whether a filtering operation will result in
- narrowing or expanding scope or whether the scope is unchanged.
-
-
Providing a range of rows for which onRowsChanged even should be fired.
- This example demonstrates using the Slick.Plugins.HeaderButtons plugin to easily add buttons to column
- headers. These buttons can be specified directly in the column definition, and are very easy to configure and use.
-
- With SlickGrid, you can still have rich, complex cells rendered against the actual DOM nodes while still preserving
- the speed and responsiveness.
- This is achieved through async background post-rendering.
- SlickGrid exposes a asyncPostRender property on a column which you can use to set your own function that will
- manipulate the cell DOM node directly.
- The event is fired one by one for all visible rows in the viewport on a timer so it doesn't impact the UI
- responsiveness.
- You should still make sure that post-processing one row doesn't take too long though.
- SlickGrid will figure out what and when needs to be updated for you.
-
-
-
- The example below is a list of 500 rows with a title and 5 integer cells followed by graphical representation of
- these integers.
- The graph is drawn using a CANVAS element in the background.
- The grid is editable, so you can edit the numbers and see the changes reflected (almost) immediately in the graph.
- The graph cell behaves just like an ordinary cell and can be resized/reordered.
- The graphs themselves are created using the excellent jQuery Sparklines library.
-
Overall performance of the grid when displaying large tabular data (17 columns x 10,000 rows)
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/server/src/main/resources/static/js/SlickGrid-master/examples/example13-getItem-sorting.html b/server/src/main/resources/static/js/SlickGrid-master/examples/example13-getItem-sorting.html
deleted file mode 100755
index 121a736b84e..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/examples/example13-getItem-sorting.html
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
- SlickGrid example 13: Indexed Sorting using Functional Data Provider
-
-
-
-
-
-
-
-
Demonstrates:
-
-
Sorting grid items by an index
-
Using the getItem method to provide data
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/server/src/main/resources/static/js/SlickGrid-master/examples/example14-highlighting.html b/server/src/main/resources/static/js/SlickGrid-master/examples/example14-highlighting.html
deleted file mode 100755
index 36cd87ebfed..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/examples/example14-highlighting.html
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
-
- SlickGrid example 14: Highlighting and Flashing cells
-
-
-
-
-
-
-
-
-
-
-
-
-
About
- This example simulates a real-time display of CPU utilization in a web farm.
- Data is updated in real-time, and cells with changed data are highlighted.
- You can also click "Find current server" to scroll the row displaying data for the current
- server into view and flash it.
-
a filtered Model (DataView) as a data source instead of a simple array
-
grid reacting to model events (onRowCountChanged, onRowsChanged)
-
- FAST DataView recalculation and real-time grid updating in response to data changes.
- The grid holds 50'000 rows, yet you are able to sort, filter, scroll, navigate and edit as if it had 50
- rows.
-
- Click to select, Ctrl-click to toggle selection, Shift-click to select a range.
- Drag one or more rows by the handle to reorder.
- Drag one or more rows to the recycle bin to delete.
-
-
-
-
-
-
-
diff --git a/server/src/main/resources/static/js/SlickGrid-master/examples/slick-default-theme.css b/server/src/main/resources/static/js/SlickGrid-master/examples/slick-default-theme.css
deleted file mode 100755
index 6efd255d5ef..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/examples/slick-default-theme.css
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
-IMPORTANT:
-In order to preserve the uniform grid appearance, all cell styles need to have padding, margin and border sizes.
-No built-in (selected, editable, highlight, flashing, invalid, loading, :focus) or user-specified CSS
-classes should alter those!
-*/
-
-.slick-header-columns {
- background: url('../images/header-columns-bg.gif') repeat-x center bottom;
- border-bottom: 1px solid silver;
-}
-
-.slick-header-column {
- background: url('../images/header-columns-bg.gif') repeat-x center bottom;
- border-right: 1px solid silver;
-}
-
-.slick-header-column:hover, .slick-header-column-active {
- background: white url('../images/header-columns-over-bg.gif') repeat-x center bottom;
-}
-
-.slick-headerrow {
- background: #fafafa;
-}
-
-.slick-headerrow-column {
- background: #fafafa;
- border-bottom: 0;
- height: 100%;
-}
-
-.slick-row.ui-state-active {
- background: #F5F7D7;
-}
-
-.slick-row {
- position: absolute;
- background: white;
- border: 0px;
- line-height: 20px;
-}
-
-.slick-row.selected {
- z-index: 10;
- background: #DFE8F6;
-}
-
-.slick-cell {
- padding-left: 4px;
- padding-right: 4px;
-}
-
-.slick-group {
- border-bottom: 2px solid silver;
-}
-
-.slick-group-toggle {
- width: 9px;
- height: 9px;
- margin-right: 5px;
-}
-
-.slick-group-toggle.expanded {
- background: url(../images/collapse.gif) no-repeat center center;
-}
-
-.slick-group-toggle.collapsed {
- background: url(../images/expand.gif) no-repeat center center;
-}
-
-.slick-group-totals {
- color: gray;
- background: white;
-}
-
-.slick-cell.selected {
- background-color: beige;
-}
-
-.slick-cell.active {
- border-color: gray;
- border-style: solid;
-}
-
-.slick-sortable-placeholder {
- background: silver !important;
-}
-
-.slick-row.odd {
- background: #fafafa;
-}
-
-.slick-row.ui-state-active {
- background: #F5F7D7;
-}
-
-.slick-row.loading {
- opacity: 0.5;
- filter: alpha(opacity = 50);
-}
-
-.slick-cell.invalid {
- border-color: red;
- -moz-animation-duration: 0.2s;
- -webkit-animation-duration: 0.2s;
- -moz-animation-name: slickgrid-invalid-hilite;
- -webkit-animation-name: slickgrid-invalid-hilite;
-}
-
-@-moz-keyframes slickgrid-invalid-hilite {
- from { box-shadow: 0 0 6px red; }
- to { box-shadow: none; }
-}
-
-@-webkit-keyframes slickgrid-invalid-hilite {
- from { box-shadow: 0 0 6px red; }
- to { box-shadow: none; }
-}
\ No newline at end of file
diff --git a/server/src/main/resources/static/js/SlickGrid-master/examples/slick.compositeeditor.js b/server/src/main/resources/static/js/SlickGrid-master/examples/slick.compositeeditor.js
deleted file mode 100755
index eb49f2792dd..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/examples/slick.compositeeditor.js
+++ /dev/null
@@ -1,211 +0,0 @@
-;
-(function ($) {
- $.extend(true, window, {
- Slick: {
- CompositeEditor: CompositeEditor
- }
- });
-
-
- /***
- * A composite SlickGrid editor factory.
- * Generates an editor that is composed of multiple editors for given columns.
- * Individual editors are provided given containers instead of the original cell.
- * Validation will be performed on all editors individually and the results will be aggregated into one
- * validation result.
- *
- *
- * The returned editor will have its prototype set to CompositeEditor, so you can use the "instanceof" check.
- *
- * NOTE: This doesn't work for detached editors since they will be created and positioned relative to the
- * active cell and not the provided container.
- *
- * @namespace Slick
- * @class CompositeEditor
- * @constructor
- * @param columns {Array} Column definitions from which editors will be pulled.
- * @param containers {Array} Container HTMLElements in which editors will be placed.
- * @param options {Object} Options hash:
- * validationFailedMsg - A generic failed validation message set on the aggregated validation resuls.
- * hide - A function to be called when the grid asks the editor to hide itself.
- * show - A function to be called when the grid asks the editor to show itself.
- * position - A function to be called when the grid asks the editor to reposition itself.
- * destroy - A function to be called when the editor is destroyed.
- */
- function CompositeEditor(columns, containers, options) {
- var defaultOptions = {
- validationFailedMsg: "Some of the fields have failed validation",
- show: null,
- hide: null,
- position: null,
- destroy: null
- };
-
- var noop = function () {
- };
-
- var firstInvalidEditor;
-
- options = $.extend({}, defaultOptions, options);
-
-
- function getContainerBox(i) {
- var c = containers[i];
- var offset = $(c).offset();
- var w = $(c).width();
- var h = $(c).height();
-
- return {
- top: offset.top,
- left: offset.left,
- bottom: offset.top + h,
- right: offset.left + w,
- width: w,
- height: h,
- visible: true
- };
- }
-
-
- function editor(args) {
- var editors = [];
-
-
- function init() {
- var newArgs = {};
- var idx = columns.length;
- while (idx--) {
- if (columns[idx].editor) {
- newArgs = $.extend({}, args);
- newArgs.container = containers[idx];
- newArgs.column = columns[idx];
- newArgs.position = getContainerBox(idx);
- newArgs.commitChanges = noop;
- newArgs.cancelChanges = noop;
-
- editors[idx] = new (columns[idx].editor)(newArgs);
- }
- }
- }
-
-
- this.destroy = function () {
- var idx = editors.length;
- while (idx--) {
- editors[idx].destroy();
- }
-
- options.destroy && options.destroy();
- };
-
-
- this.focus = function () {
- // if validation has failed, set the focus to the first invalid editor
- (firstInvalidEditor || editors[0]).focus();
- };
-
-
- this.isValueChanged = function () {
- var idx = editors.length;
- while (idx--) {
- if (editors[idx].isValueChanged()) {
- return true;
- }
- }
- return false;
- };
-
-
- this.serializeValue = function () {
- var serializedValue = [];
- var idx = editors.length;
- while (idx--) {
- serializedValue[idx] = editors[idx].serializeValue();
- }
- return serializedValue;
- };
-
-
- this.applyValue = function (item, state) {
- var idx = editors.length;
- while (idx--) {
- editors[idx].applyValue(item, state[idx]);
- }
- };
-
-
- this.loadValue = function (item) {
- var idx = editors.length;
- while (idx--) {
- editors[idx].loadValue(item);
- }
- };
-
-
- this.validate = function () {
- var validationResults;
- var errors = [];
-
- firstInvalidEditor = null;
-
- var idx = editors.length;
- while (idx--) {
- validationResults = editors[idx].validate();
- if (!validationResults.valid) {
- firstInvalidEditor = editors[idx];
- errors.push({
- index: idx,
- editor: editors[idx],
- container: containers[idx],
- msg: validationResults.msg
- });
- }
- }
-
- if (errors.length) {
- return {
- valid: false,
- msg: options.validationFailedMsg,
- errors: errors
- };
- } else {
- return {
- valid: true,
- msg: ""
- };
- }
- };
-
-
- this.hide = function () {
- var idx = editors.length;
- while (idx--) {
- editors[idx].hide && editors[idx].hide();
- }
- options.hide && options.hide();
- };
-
-
- this.show = function () {
- var idx = editors.length;
- while (idx--) {
- editors[idx].show && editors[idx].show();
- }
- options.show && options.show();
- };
-
-
- this.position = function (box) {
- options.position && options.position(box);
- };
-
-
- init();
- }
-
- // so we can do "editor instanceof Slick.CompositeEditor
- editor.prototype = this;
-
- return editor;
- }
-})(jQuery);
\ No newline at end of file
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/actions.gif b/server/src/main/resources/static/js/SlickGrid-master/images/actions.gif
deleted file mode 100755
index 026dd108edb..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/actions.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/ajax-loader-small.gif b/server/src/main/resources/static/js/SlickGrid-master/images/ajax-loader-small.gif
deleted file mode 100755
index 5b33f7e54f4..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/ajax-loader-small.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/arrow_redo.png b/server/src/main/resources/static/js/SlickGrid-master/images/arrow_redo.png
deleted file mode 100755
index 4f7f55d6f2f..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/arrow_redo.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/arrow_right_peppermint.png b/server/src/main/resources/static/js/SlickGrid-master/images/arrow_right_peppermint.png
deleted file mode 100755
index 87225678667..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/arrow_right_peppermint.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/arrow_right_spearmint.png b/server/src/main/resources/static/js/SlickGrid-master/images/arrow_right_spearmint.png
deleted file mode 100755
index 277ddde3848..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/arrow_right_spearmint.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/arrow_undo.png b/server/src/main/resources/static/js/SlickGrid-master/images/arrow_undo.png
deleted file mode 100755
index bc9924ac079..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/arrow_undo.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/bullet_blue.png b/server/src/main/resources/static/js/SlickGrid-master/images/bullet_blue.png
deleted file mode 100755
index 79d978c36a5..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/bullet_blue.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/bullet_star.png b/server/src/main/resources/static/js/SlickGrid-master/images/bullet_star.png
deleted file mode 100755
index 142ea482a52..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/bullet_star.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/bullet_toggle_minus.png b/server/src/main/resources/static/js/SlickGrid-master/images/bullet_toggle_minus.png
deleted file mode 100755
index f5aa0450d43..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/bullet_toggle_minus.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/bullet_toggle_plus.png b/server/src/main/resources/static/js/SlickGrid-master/images/bullet_toggle_plus.png
deleted file mode 100755
index a9650534239..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/bullet_toggle_plus.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/calendar.gif b/server/src/main/resources/static/js/SlickGrid-master/images/calendar.gif
deleted file mode 100755
index 90fd2e17fe2..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/calendar.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/collapse.gif b/server/src/main/resources/static/js/SlickGrid-master/images/collapse.gif
deleted file mode 100755
index 01e691450c4..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/collapse.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/comment_yellow.gif b/server/src/main/resources/static/js/SlickGrid-master/images/comment_yellow.gif
deleted file mode 100755
index df7158a4771..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/comment_yellow.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/down.gif b/server/src/main/resources/static/js/SlickGrid-master/images/down.gif
deleted file mode 100755
index 9bd9447552a..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/down.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/drag-handle.png b/server/src/main/resources/static/js/SlickGrid-master/images/drag-handle.png
deleted file mode 100755
index ad7531cf046..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/drag-handle.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/editor-helper-bg.gif b/server/src/main/resources/static/js/SlickGrid-master/images/editor-helper-bg.gif
deleted file mode 100755
index 2daa973bc52..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/editor-helper-bg.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/expand.gif b/server/src/main/resources/static/js/SlickGrid-master/images/expand.gif
deleted file mode 100755
index 1b24ef1248d..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/expand.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/header-bg.gif b/server/src/main/resources/static/js/SlickGrid-master/images/header-bg.gif
deleted file mode 100755
index fe7dd1c1ebe..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/header-bg.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/header-columns-bg.gif b/server/src/main/resources/static/js/SlickGrid-master/images/header-columns-bg.gif
deleted file mode 100755
index 8d459a304e0..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/header-columns-bg.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/header-columns-over-bg.gif b/server/src/main/resources/static/js/SlickGrid-master/images/header-columns-over-bg.gif
deleted file mode 100755
index f9c07af1347..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/header-columns-over-bg.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/help.png b/server/src/main/resources/static/js/SlickGrid-master/images/help.png
deleted file mode 100755
index 85eca0950fb..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/help.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/info.gif b/server/src/main/resources/static/js/SlickGrid-master/images/info.gif
deleted file mode 100755
index 5769434fb24..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/info.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/listview.gif b/server/src/main/resources/static/js/SlickGrid-master/images/listview.gif
deleted file mode 100755
index 3ec25ca7197..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/listview.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/pencil.gif b/server/src/main/resources/static/js/SlickGrid-master/images/pencil.gif
deleted file mode 100755
index 29f78f433d0..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/pencil.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/row-over-bg.gif b/server/src/main/resources/static/js/SlickGrid-master/images/row-over-bg.gif
deleted file mode 100755
index b288e38739a..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/row-over-bg.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/sort-asc.gif b/server/src/main/resources/static/js/SlickGrid-master/images/sort-asc.gif
deleted file mode 100755
index 67a2a4c669f..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/sort-asc.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/sort-asc.png b/server/src/main/resources/static/js/SlickGrid-master/images/sort-asc.png
deleted file mode 100755
index 8604ff4e07c..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/sort-asc.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/sort-desc.gif b/server/src/main/resources/static/js/SlickGrid-master/images/sort-desc.gif
deleted file mode 100755
index 34db47c3b1e..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/sort-desc.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/sort-desc.png b/server/src/main/resources/static/js/SlickGrid-master/images/sort-desc.png
deleted file mode 100755
index a2a6adf9366..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/sort-desc.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/stripes.png b/server/src/main/resources/static/js/SlickGrid-master/images/stripes.png
deleted file mode 100755
index c3c4b28a80f..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/stripes.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/tag_red.png b/server/src/main/resources/static/js/SlickGrid-master/images/tag_red.png
deleted file mode 100755
index d290fcd791e..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/tag_red.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/tick.png b/server/src/main/resources/static/js/SlickGrid-master/images/tick.png
deleted file mode 100755
index 3899d71dfa7..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/tick.png and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/user_identity.gif b/server/src/main/resources/static/js/SlickGrid-master/images/user_identity.gif
deleted file mode 100755
index 095831ba424..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/user_identity.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/images/user_identity_plus.gif b/server/src/main/resources/static/js/SlickGrid-master/images/user_identity_plus.gif
deleted file mode 100755
index b276a81c786..00000000000
Binary files a/server/src/main/resources/static/js/SlickGrid-master/images/user_identity_plus.gif and /dev/null differ
diff --git a/server/src/main/resources/static/js/SlickGrid-master/lib/firebugx.js b/server/src/main/resources/static/js/SlickGrid-master/lib/firebugx.js
deleted file mode 100755
index a0848e1de90..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/lib/firebugx.js
+++ /dev/null
@@ -1,9 +0,0 @@
-if (typeof console === "undefined" || typeof console.log === "undefined") {
- var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
- "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
-
- window.console = {};
- for (var i = 0; i < names.length; ++i) {
- window.console[names[i]] = function() {}
- }
-}
\ No newline at end of file
diff --git a/server/src/main/resources/static/js/SlickGrid-master/lib/jquery-1.7.min.js b/server/src/main/resources/static/js/SlickGrid-master/lib/jquery-1.7.min.js
deleted file mode 100755
index 3ca5e0f5dee..00000000000
--- a/server/src/main/resources/static/js/SlickGrid-master/lib/jquery-1.7.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v1.7 jquery.com | jquery.org/license */
-(function(a,b){function cA(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cx(a){if(!cm[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cn||(cn=c.createElement("iframe"),cn.frameBorder=cn.width=cn.height=0),b.appendChild(cn);if(!co||!cn.createElement)co=(cn.contentWindow||cn.contentDocument).document,co.write((c.compatMode==="CSS1Compat"?"":"")+""),co.close();d=co.createElement(a),co.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cn)}cm[a]=e}return cm[a]}function cw(a,b){var c={};f.each(cs.concat.apply([],cs.slice(0,b)),function(){c[this]=a});return c}function cv(){ct=b}function cu(){setTimeout(cv,0);return ct=f.now()}function cl(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ck(){try{return new a.XMLHttpRequest}catch(b){}}function ce(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bB(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function br(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bi,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bq(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bp(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bp)}function bp(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bo(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bn(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bm(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(){return!0}function M(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.add(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;B.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return a!=null&&m.test(a)&&!isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,unknownElems:!!a.getElementsByTagName("nav").length,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",enctype:!!c.createElement("form").enctype,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.lastChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-999px",top:"-999px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;f(function(){var a,b,d,e,g,h,i=1,j="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",l="visibility:hidden;border:0;",n="style='"+j+"border:5px solid #000;padding:0;'",p="