diff --git a/lib/frappe-datatable.js b/lib/frappe-datatable.js index e2237ba..aa8143e 100644 --- a/lib/frappe-datatable.js +++ b/lib/frappe-datatable.js @@ -70,7 +70,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 5); +/******/ return __webpack_require__(__webpack_require__.s = 4); /******/ }) /************************************************************************/ /******/ ([ @@ -434,8 +434,7 @@ function isNumeric(val) { } /***/ }), -/* 2 */, -/* 3 */ +/* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -455,7 +454,7 @@ exports.getEditCellHTML = getEditCellHTML; var _utils = __webpack_require__(1); -var _keyboard = __webpack_require__(8); +var _keyboard = __webpack_require__(7); var _keyboard2 = _interopRequireDefault(_keyboard); @@ -1189,7 +1188,7 @@ function cellSelector(colIndex, rowIndex) { } /***/ }), -/* 4 */ +/* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1209,7 +1208,7 @@ var _dom2 = _interopRequireDefault(_dom); var _utils = __webpack_require__(1); -var _cellmanager = __webpack_require__(3); +var _cellmanager = __webpack_require__(2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -1327,10 +1326,23 @@ var RowManager = function () { var $row = this.getRow$(rowIndex); if (!$row) return; + if (!toggle && this.bodyScrollable.classList.contains('row-highlight-all')) { + $row.classList.add('row-unhighlight'); + return; + } + + if (toggle && $row.classList.contains('row-unhighlight')) { + $row.classList.remove('row-unhighlight'); + } + + this._highlightedRows = this._highlightedRows || {}; + if (toggle) { $row.classList.add('row-highlight'); + this._highlightedRows[rowIndex] = $row; } else { $row.classList.remove('row-highlight'); + delete this._highlightedRows[rowIndex]; } } }, { @@ -1342,6 +1354,11 @@ var RowManager = function () { this.bodyScrollable.classList.add('row-highlight-all'); } else { this.bodyScrollable.classList.remove('row-highlight-all'); + for (var rowIndex in this._highlightedRows) { + var $row = this._highlightedRows[rowIndex]; + $row.classList.remove('row-highlight'); + } + this._highlightedRows = {}; } } }, { @@ -1382,7 +1399,7 @@ function getRowHTML(columns, props) { } /***/ }), -/* 5 */ +/* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1392,11 +1409,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _datatable = __webpack_require__(6); +var _datatable = __webpack_require__(5); var _datatable2 = _interopRequireDefault(_datatable); -var _package = __webpack_require__(16); +var _package = __webpack_require__(15); var _package2 = _interopRequireDefault(_package); @@ -1408,7 +1425,7 @@ exports.default = _datatable2.default; module.exports = exports['default']; /***/ }), -/* 6 */ +/* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1426,27 +1443,27 @@ var _dom = __webpack_require__(0); var _dom2 = _interopRequireDefault(_dom); -var _datamanager = __webpack_require__(7); +var _datamanager = __webpack_require__(6); var _datamanager2 = _interopRequireDefault(_datamanager); -var _cellmanager = __webpack_require__(3); +var _cellmanager = __webpack_require__(2); var _cellmanager2 = _interopRequireDefault(_cellmanager); -var _columnmanager = __webpack_require__(9); +var _columnmanager = __webpack_require__(8); var _columnmanager2 = _interopRequireDefault(_columnmanager); -var _rowmanager = __webpack_require__(4); +var _rowmanager = __webpack_require__(3); var _rowmanager2 = _interopRequireDefault(_rowmanager); -var _style = __webpack_require__(10); +var _style = __webpack_require__(9); var _style2 = _interopRequireDefault(_style); -__webpack_require__(11); +__webpack_require__(10); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -1692,7 +1709,7 @@ function getBodyHTML(rows) { } /***/ }), -/* 7 */ +/* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2011,7 +2028,7 @@ function prepareCell(col, i) { module.exports = exports['default']; /***/ }), -/* 8 */ +/* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2089,7 +2106,7 @@ exports.default = { module.exports = exports['default']; /***/ }), -/* 9 */ +/* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2105,7 +2122,7 @@ var _dom = __webpack_require__(0); var _dom2 = _interopRequireDefault(_dom); -var _rowmanager = __webpack_require__(4); +var _rowmanager = __webpack_require__(3); var _utils = __webpack_require__(1); @@ -2456,7 +2473,7 @@ exports.default = ColumnManager; module.exports = exports['default']; /***/ }), -/* 10 */ +/* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2497,7 +2514,7 @@ var Style = function () { var _index = this.styleSheet.cssRules.length; if (index !== -1) { - this.styleSheet.removeRule(index); + this.styleSheet.deleteRule(index); _index = index; } @@ -2513,13 +2530,13 @@ exports.default = Style; module.exports = exports['default']; /***/ }), -/* 11 */ +/* 10 */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a