(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define("DataTable", [], factory);
else if(typeof exports === 'object')
exports["DataTable"] = factory();
else
root["DataTable"] = factory();
})(this, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _datatable = __webpack_require__(8);
var _datatable2 = _interopRequireDefault(_datatable);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _datatable2.default;
module.exports = exports['default'];
/***/ }),
/* 1 */,
/* 2 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function camelCaseToDash(str) {
return str.replace(/([A-Z])/g, function (g) {
return '-' + g[0].toLowerCase();
});
}
function makeDataAttributeString(props) {
var keys = Object.keys(props);
return keys.map(function (key) {
var _key = camelCaseToDash(key);
var val = props[key];
if (val === undefined) return '';
return 'data-' + _key + '="' + val + '" ';
}).join('').trim();
}
function getEditCellHTML() {
return '\n
\n ';
}
function getColumnHTML(column) {
var rowIndex = column.rowIndex,
colIndex = column.colIndex,
isHeader = column.isHeader;
var dataAttr = makeDataAttributeString({
rowIndex: rowIndex,
colIndex: colIndex,
isHeader: isHeader
});
var editCellHTML = isHeader ? '' : getEditCellHTML();
return '\n \n \n ' + (column.format ? column.format(column.content) : column.content) + '\n \n \n ' + editCellHTML + '\n | \n ';
}
function getRowHTML(columns, props) {
var dataAttr = makeDataAttributeString(props);
return '\n \n ' + columns.map(getColumnHTML).join('') + '\n
\n ';
}
function getHeaderHTML(columns) {
var $header = '\n \n ' + getRowHTML(columns, { isHeader: 1, rowIndex: -1 }) + '\n \n ';
// columns.map(col => {
// if (!col.width) return;
// const $cellContent = $header.find(
// `.data-table-col[data-col-index="${col.colIndex}"] .content`
// );
// $cellContent.width(col.width);
// });
return $header;
}
function getBodyHTML(rows) {
return '\n \n ' + rows.map(function (row) {
return getRowHTML(row, { rowIndex: row[0].rowIndex });
}).join('') + '\n \n ';
}
function prepareColumn(col, i) {
if (typeof col === 'string') {
col = {
content: col
};
}
return Object.assign(col, {
colIndex: i
});
}
function prepareColumns(columns) {
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var _columns = columns.map(prepareColumn);
return _columns.map(function (col) {
return Object.assign(col, props);
});
}
function prepareRowHeader(columns) {
return prepareColumns(columns, {
rowIndex: -1,
isHeader: 1,
format: function format(content) {
return '' + content + '';
}
});
}
function prepareRow(row, i) {
return prepareColumns(row, {
rowIndex: i
});
}
function prepareRows(rows) {
return rows.map(prepareRow);
}
function getDefault(a, b) {
return a !== undefined ? a : b;
}
function escapeRegExp(str) {
// https://stackoverflow.com/a/6969486
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
}
function getCSSString(styleMap) {
var style = '';
for (var prop in styleMap) {
if (styleMap.hasOwnProperty(prop)) {
style += prop + ': ' + styleMap[prop] + '; ';
}
}
return style.trim();
}
function getCSSRuleBlock(rule, styleMap) {
return rule + ' { ' + getCSSString(styleMap) + ' }';
}
function namespaceSelector(selector) {
return '.data-table ' + selector;
}
function buildCSSRule(rule, styleMap) {
var cssRulesString = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
// build css rules efficiently,
// append new rule if doesnt exist,
// update existing ones
var rulePatternStr = escapeRegExp(rule) + ' {([^}]*)}';
var rulePattern = new RegExp(rulePatternStr, 'g');
if (cssRulesString && cssRulesString.match(rulePattern)) {
var _loop = function _loop(property) {
var value = styleMap[property];
var propPattern = new RegExp(escapeRegExp(property) + ':([^;]*);');
cssRulesString = cssRulesString.replace(rulePattern, function (match, propertyStr) {
if (propertyStr.match(propPattern)) {
// property exists, replace value with new value
propertyStr = propertyStr.replace(propPattern, function (match, valueStr) {
return property + ': ' + value + ';';
});
}
propertyStr = propertyStr.trim();
var replacer = rule + ' { ' + propertyStr + ' }';
return replacer;
});
};
for (var property in styleMap) {
_loop(property);
}
return cssRulesString;
}
// no match, append new rule block
return '' + cssRulesString + getCSSRuleBlock(rule, styleMap);
}
exports.default = {
getHeaderHTML: getHeaderHTML,
getBodyHTML: getBodyHTML,
getRowHTML: getRowHTML,
getColumnHTML: getColumnHTML,
getEditCellHTML: getEditCellHTML,
prepareRowHeader: prepareRowHeader,
prepareRows: prepareRows,
namespaceSelector: namespaceSelector,
getCSSString: getCSSString,
buildCSSRule: buildCSSRule,
makeDataAttributeString: makeDataAttributeString,
getDefault: getDefault,
escapeRegExp: escapeRegExp
};
module.exports = exports['default'];
/***/ }),
/* 3 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a ').prependTo(this.wrapper);
}
}, {
key: 'getColumn',
value: function getColumn(colIndex) {
colIndex = +colIndex;
return this.data.columns.find(function (col) {
return col.colIndex === colIndex;
});
}
}, {
key: 'getRow',
value: function getRow(rowIndex) {
rowIndex = +rowIndex;
return this.data.rows.find(function (row) {
return row[0].rowIndex === rowIndex;
});
}
}, {
key: 'getCell',
value: function getCell(rowIndex, colIndex) {
rowIndex = +rowIndex;
colIndex = +colIndex;
return this.data.rows.find(function (row) {
return row[0].rowIndex === rowIndex;
})[colIndex];
}
}, {
key: 'getColumnHeaderElement',
value: function getColumnHeaderElement(colIndex) {
colIndex = +colIndex;
if (colIndex < 0) return null;
return this.wrapper.find('.data-table-col[data-is-header][data-col-index="' + colIndex + '"]');
}
}, {
key: 'getColumnMinWidth',
value: function getColumnMinWidth(colIndex) {
colIndex = +colIndex;
return this.minWidthMap && this.minWidthMap[colIndex];
}
}, {
key: 'getCellAttr',
value: function getCellAttr($cell) {
return $cell.data();
}
}, {
key: 'log',
value: function log() {
if (this.options.enableLogs) {
console.log.apply(console, arguments);
}
}
}]);
return DataTable;
}();
exports.default = DataTable;
module.exports = exports['default'];
/***/ })
/******/ ]);
});
//# sourceMappingURL=frappe-datatable.js.map