diff --git a/lib/ReGrid.js b/lib/ReGrid.js index 222e496..17a3422 100644 --- a/lib/ReGrid.js +++ b/lib/ReGrid.js @@ -208,10 +208,17 @@ var ReGrid = function () { // defer remaining rows this.data.rows.slice(this.start, this.end)); + var self = this; + this.clusterize = new Clusterize({ rows: initialData, scrollElem: this.bodyScrollable.get(0), - contentElem: this.bodyScrollable.find('tbody').get(0) + contentElem: this.bodyScrollable.find('tbody').get(0), + callbacks: { + clusterChanged: function clusterChanged() { + self.highlightCheckedRows(); + } + } }); this.log('dataAppended', this.pageLength); this.appendRemainingData(); @@ -666,6 +673,9 @@ var ReGrid = function () { if (!this.options.addCheckbox) return; var self = this; + // map of checked rows + this.checkMap = []; + this.wrapper.on('click', '.data-table-col[data-col-index="0"] [type="checkbox"]', function () { var $checkbox = $(this); var $cell = $checkbox.closest('.data-table-col'); @@ -677,19 +687,57 @@ var ReGrid = function () { var checked = $checkbox.is(':checked'); if (isHeader) { - self.highlightAll(checked); + self.checkAll(checked); } else { - self.highlightRow(rowIndex, checked); + self.checkRow(rowIndex, checked); } }); } }, { - key: 'highlightAll', - value: function highlightAll() { - var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + key: 'getCheckedRows', + value: function getCheckedRows() { + return this.checkMap.map(function (c, rowIndex) { + if (c) { + return rowIndex; + } + return null; + }).filter(function (c) { + return c !== null || c !== undefined; + }); + } + }, { + key: 'highlightCheckedRows', + value: function highlightCheckedRows() { + var _this4 = this; + this.getCheckedRows().map(function (rowIndex) { + return _this4.checkRow(rowIndex, true); + }); + } + }, { + key: 'checkRow', + value: function checkRow(rowIndex, toggle) { + var value = toggle ? 1 : 0; + + // update internal map + this.checkMap[rowIndex] = value; + // set checkbox value explicitly + this.bodyScrollable.find('.data-table-col[data-row-index="' + rowIndex + '"][data-col-index="0"] [type="checkbox"]').prop('checked', toggle); + // highlight row + this.highlightRow(rowIndex, toggle); + } + }, { + key: 'checkAll', + value: function checkAll(toggle) { + var value = toggle ? 1 : 0; + + this.checkMap.map(function (c) { + return value; + }); + // set checkbox value this.bodyScrollable.find('.data-table-col[data-col-index="0"] [type="checkbox"]').prop('checked', toggle); - this.bodyScrollable.find('.data-table-row').toggleClass('row-highlight', toggle); + // highlight all + this.highlightAll(toggle); } }, { key: 'highlightRow', @@ -704,6 +752,13 @@ var ReGrid = function () { $row.removeClass('row-highlight'); } } + }, { + key: 'highlightAll', + value: function highlightAll() { + var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + + this.bodyScrollable.find('.data-table-row').toggleClass('row-highlight', toggle); + } }, { key: 'setColumnWidth', value: function setColumnWidth(colIndex, width) { @@ -740,7 +795,7 @@ var ReGrid = function () { }, { key: 'setColumnWidths', value: function setColumnWidths() { - var _this4 = this; + var _this5 = this; var availableWidth = this.wrapper.width(); var headerWidth = this.header.width(); @@ -753,15 +808,15 @@ var ReGrid = function () { var deltaWidth = (availableWidth - headerWidth) / this.data.columns.length; this.data.columns.map(function (col) { - var width = _this4.getColumnHeaderElement(col.colIndex).width(); + var width = _this5.getColumnHeaderElement(col.colIndex).width(); var finalWidth = width + deltaWidth - 16; - if (_this4.options.addSerialNoColumn && col.colIndex === 0) { + if (_this5.options.addSerialNoColumn && col.colIndex === 0) { return; } - _this4.setColumnHeaderWidth(col.colIndex, finalWidth); - _this4.setColumnWidth(col.colIndex, finalWidth); + _this5.setColumnHeaderWidth(col.colIndex, finalWidth); + _this5.setColumnWidth(col.colIndex, finalWidth); }); this.setBodyWidth(); } diff --git a/lib/ReGrid.js.map b/lib/ReGrid.js.map index 90ea5fa..4a30047 100644 --- a/lib/ReGrid.js.map +++ b/lib/ReGrid.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap c950a1b0645962e191b0","webpack:///./src/index.js","webpack:///./src/regrid.js","webpack:///./src/utils.js","webpack:///./src/style.scss?3ec1","webpack:///./src/style.scss","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/style-loader/lib/urls.js"],"names":["DEFAULT_OPTIONS","events","data","columns","rows","editing","addSerialNoColumn","enableClusterize","enableLogs","addCheckbox","ReGrid","wrapper","options","$","length","Error","Object","assign","refresh","html","header","find","bodyScrollable","footer","prepareData","render","makeDom","makeStyle","bindEvents","renderHeader","renderBody","setDimensions","renderBodyWithClusterize","renderBodyHTML","start","pageLength","end","initialData","getDataForClusterize","slice","clusterize","Clusterize","scrollElem","get","contentElem","log","appendRemainingData","dataAppended","promises","push","appendNextPagePromise","reduce","prev","cur","then","Promise","resolve","setTimeout","append","map","row","rowIndex","colIndex","value","cell","getCell","content","refreshCell","selector","$cell","$newCell","replaceWith","_data","serialNoColumn","resizable","unshift","i","val","concat","addCheckboxColumn","sortable","editable","_columns","_rows","bindFocusCell","bindEditCell","bindResizeColumn","bindSortColumn","bindCheckbox","self","css","width","margin","minWidthMap","each","col","parseInt","attr","height","getCellAttr","setColumnWidth","setDefaultCellHeight","setBodyWidth","setStyle","display","$focusedCell","on","removeClass","addClass","$editingCell","activateEditing","document","body","e","which","stopImmediatePropagation","submitEditing","target","is","hide","getColumn","_rowIndex","_colIndex","$editCell","empty","getEditingObject","currentCellEditing","initValue","show","parent","$input","getValue","setValue","done","updateCell","isDragging","$currCell","startWidth","startX","pageX","finalWidth","getColumnMinWidth","setColumnHeaderWidth","closest","sortAction","text","sortWith","onSort","sortRows","refreshRows","sort","a","b","_aIndex","_bIndex","_a","_b","$checkbox","isHeader","checked","highlightAll","highlightRow","toggle","prop","toggleClass","$row","availableWidth","headerWidth","deltaWidth","getColumnHeaderElement","rule","styleMap","styles","$style","prependTo","console","apply","arguments","camelCaseToDash","str","replace","g","toLowerCase","makeDataAttributeString","props","keys","key","_key","undefined","join","trim","getEditCellHTML","getColumnHTML","column","dataAttr","editCellHTML","format","getRowHTML","getHeaderHTML","$header","getBodyHTML","prepareColumn","prepareColumns","prepareRowHeader","prepareRow","prepareRows","getDefault","escapeRegExp","getCSSString","style","hasOwnProperty","getCSSRuleBlock","namespaceSelector","buildCSSRule","cssRulesString","rulePatternStr","rulePattern","RegExp","match","property","propPattern","propertyStr","valueStr","replacer"],"mappings":"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AA2B,0BAA0B,sBAAsB,EAAE;;AAElrL;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;AC3EA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA,mBAAmB,2BAA2B;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,mBAAmB;AACnC;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;;AAEA,QAAQ,uBAAuB;AAC/B;AACA;AACA,GAAG;AACH;;AAEA,iBAAiB,uBAAuB;AACxC;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd,kDAAkD,sBAAsB;AACxE;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD;;AAEA,6BAA6B,mBAAmB;;AAEhD;;AAEA;;AAEA;AACA;;;;;;;;AC/VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,WAAW,EAAE;AACrD,wCAAwC,WAAW,EAAE;;AAErD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,sCAAsC;AACtC,GAAG;AACH;AACA,8DAA8D;AAC9D;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA","file":"regrid.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"ReGrid\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReGrid\"] = factory();\n\telse\n\t\troot[\"ReGrid\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap c950a1b0645962e191b0","import ReGrid from './regrid.js';\nexport default ReGrid;\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/* globals $, Clusterize */\nimport {\n getHeaderHTML,\n getBodyHTML,\n getRowHTML,\n getColumnHTML,\n prepareRowHeader,\n buildCSSRule,\n prepareRows,\n getDefault\n} from './utils.js';\n\nimport './style.scss';\n\nconst DEFAULT_OPTIONS = {\n events: null,\n data: {\n columns: [],\n rows: []\n },\n editing: null,\n addSerialNoColumn: true,\n enableClusterize: true,\n enableLogs: false,\n addCheckbox: true\n};\n\nexport default class ReGrid {\n constructor(wrapper, options) {\n\n this.wrapper = $(wrapper);\n if (this.wrapper.length === 0) {\n throw new Error('Invalid argument given for `wrapper`');\n }\n\n this.options = Object.assign({}, DEFAULT_OPTIONS, options);\n this.events = this.options.events;\n\n if (this.options.data) {\n this.refresh(this.options.data);\n }\n }\n\n makeDom() {\n this.wrapper.html(`\n