UNPKG

tui-grid

Version:

TOAST UI Grid : Powerful data grid control supported by TOAST UI

1,357 lines (1,259 loc) 1.27 MB
/*! * TOAST UI Grid * @version 4.21.22 | Wed Jan 10 2024 * @author NHN Cloud. FE Development Lab * @license MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("tui-date-picker"), require("tui-pagination"), require("xlsx")); else if(typeof define === 'function' && define.amd) define(["tui-date-picker", "tui-pagination", "xlsx"], factory); else if(typeof exports === 'object') exports["Grid"] = factory(require("tui-date-picker"), require("tui-pagination"), require("xlsx")); else root["tui"] = root["tui"] || {}, root["tui"]["Grid"] = factory(root["tui"]["DatePicker"], root["tui"]["Pagination"], root["XLSX"]); })(window, function(__WEBPACK_EXTERNAL_MODULE__44__, __WEBPACK_EXTERNAL_MODULE__122__, __WEBPACK_EXTERNAL_MODULE__129__) { 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, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // 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 = "/dist"; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 63); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getLongestText = exports.pixelToNumber = exports.isBetween = exports.silentSplice = exports.convertDataToText = exports.convertTextToData = exports.endsWith = exports.startsWith = exports.uniqByProp = exports.uniq = exports.pick = exports.omit = exports.pruneObject = exports.debounce = exports.convertToNumber = exports.fromArray = exports.isEmpty = exports.isNil = exports.isString = exports.isNumber = exports.isBoolean = exports.isNull = exports.isUndefined = exports.isBlank = exports.last = exports.range = exports.clamp = exports.setDefaultProp = exports.encodeHTMLEntity = exports.hasOwnProp = exports.forEachObject = exports.isObject = exports.isFunction = exports.createMapFromArray = exports.removeArrayItem = exports.assign = exports.deepCopy = exports.deepCopyArray = exports.deepMergedCopy = exports.mapProp = exports.findOffsetIndex = exports.findPrevIndex = exports.findIndexes = exports.findPropIndex = exports.findIndex = exports.someProp = exports.some = exports.findProp = exports.find = exports.includes = exports.pipe = exports.sum = exports.arrayEqual = exports.shallowEqual = void 0; var tslib_1 = __webpack_require__(1); var CUSTOM_LF_SUBCHAR = '___tui_grid_lf___'; var CUSTOM_CR_SUBCHAR = '___tui_grid_cr___'; var LF = '\n'; var CR = '\r'; var CUSTOM_LF_REGEXP = new RegExp(CUSTOM_LF_SUBCHAR, 'g'); var CUSTOM_CR_REGEXP = new RegExp(CUSTOM_CR_SUBCHAR, 'g'); function shallowEqual(o1, o2) { for (var key in o1) { if (o1[key] !== o2[key]) { return false; } } for (var key in o2) { if (!(key in o1)) { return false; } } return true; } exports.shallowEqual = shallowEqual; function arrayEqual(a1, a2) { if (a1.length !== a2.length) { return false; } for (var i = 0, len = a1.length; i < len; i += 1) { if (a1[i] !== a2[i]) { return false; } } return true; } exports.arrayEqual = arrayEqual; function sum(nums) { return nums.reduce(function (acc, num) { return acc + num; }, 0); } exports.sum = sum; function pipe(initVal) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } return args.reduce(function (acc, fn) { return fn(acc); }, initVal); } exports.pipe = pipe; function includes(arr, searchItem, searchIndex) { if (typeof searchIndex === 'number' && arr[searchIndex] !== searchItem) { return false; } for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) { var item = arr_1[_i]; if (item === searchItem) { return true; } } return false; } exports.includes = includes; // eslint-disable-next-line consistent-return function find(predicate, arr) { for (var _i = 0, arr_2 = arr; _i < arr_2.length; _i++) { var item = arr_2[_i]; if (predicate(item)) { return item; } } } exports.find = find; function findProp(propName, value, arr) { return find(function (item) { return item[propName] === value; }, arr); } exports.findProp = findProp; function some(predicate, arr) { return !!find(predicate, arr); } exports.some = some; function someProp(propName, value, arr) { return !!findProp(propName, value, arr); } exports.someProp = someProp; function findIndex(predicate, arr) { for (var i = 0, len = arr.length; i < len; i += 1) { if (predicate(arr[i])) { return i; } } return -1; } exports.findIndex = findIndex; function findPropIndex(propName, value, arr) { return findIndex(function (item) { return item[propName] === value; }, arr); } exports.findPropIndex = findPropIndex; function findIndexes(predicate, arr) { return arr.reduce(function (acc, v, idx) { return (predicate(v) ? tslib_1.__spreadArrays(acc, [idx]) : acc); }, []); } exports.findIndexes = findIndexes; function findPrevIndex(arr, predicate) { var index = findIndex(predicate, arr); var positiveIndex = index <= 0 ? 0 : index - 1; return index >= 0 ? positiveIndex : arr.length - 1; } exports.findPrevIndex = findPrevIndex; function findOffsetIndex(offsets, targetOffset) { return findPrevIndex(offsets, function (offset) { return offset > targetOffset; }); } exports.findOffsetIndex = findOffsetIndex; function mapProp(propName, arr) { return arr.map(function (item) { return item[propName]; }); } exports.mapProp = mapProp; function deepMergedCopy(targetObj, obj) { var resultObj = tslib_1.__assign({}, targetObj); Object.keys(obj).forEach(function (prop) { if (isObject(resultObj[prop])) { if (Array.isArray(obj[prop])) { resultObj[prop] = deepCopyArray(obj[prop]); } else if (resultObj.hasOwnProperty(prop)) { resultObj[prop] = deepMergedCopy(resultObj[prop], obj[prop]); } else { resultObj[prop] = deepCopy(obj[prop]); } } else { resultObj[prop] = obj[prop]; } }); return resultObj; } exports.deepMergedCopy = deepMergedCopy; function deepCopyArray(items) { return items.map(function (item) { if (isObject(item)) { return Array.isArray(item) ? deepCopyArray(item) : deepCopy(item); } return item; }); } exports.deepCopyArray = deepCopyArray; function deepCopy(obj) { var resultObj = {}; var keys = Object.keys(obj); if (!keys.length) { return obj; } keys.forEach(function (prop) { if (isObject(obj[prop])) { resultObj[prop] = Array.isArray(obj[prop]) ? deepCopyArray(obj[prop]) : deepCopy(obj[prop]); } else { resultObj[prop] = obj[prop]; } }); return resultObj; } exports.deepCopy = deepCopy; function assign(targetObj, obj) { Object.keys(obj).forEach(function (prop) { if (targetObj.hasOwnProperty(prop) && typeof targetObj[prop] === 'object') { if (Array.isArray(obj[prop])) { targetObj[prop] = obj[prop]; } else { assign(targetObj[prop], obj[prop]); } } else { targetObj[prop] = obj[prop]; } }); } exports.assign = assign; function removeArrayItem(targetItem, arr) { var targetIdx = findIndex(function (item) { return item === targetItem; }, arr); if (targetIdx !== -1) { arr.splice(targetIdx, 1); } return arr; } exports.removeArrayItem = removeArrayItem; function createMapFromArray(arr, propName) { var resultMap = {}; arr.forEach(function (item) { var key = String(item[propName]); resultMap[key] = item; }); return resultMap; } exports.createMapFromArray = createMapFromArray; function isFunction(obj) { return typeof obj === 'function'; } exports.isFunction = isFunction; function isObject(obj) { return typeof obj === 'object' && obj !== null; } exports.isObject = isObject; function forEachObject(fn, obj) { for (var key in obj) { if (obj.hasOwnProperty(key)) { fn(obj[key], key, obj); } } } exports.forEachObject = forEachObject; function hasOwnProp(obj, key) { return obj.hasOwnProperty(key); } exports.hasOwnProp = hasOwnProp; function encodeHTMLEntity(html) { var entities = { '"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt', "'": '#39', }; return html.replace(/[<>&"']/g, function (match) { return "&" + entities[match] + ";"; }); } exports.encodeHTMLEntity = encodeHTMLEntity; function setDefaultProp(obj, key, defValue) { if (isUndefined(obj[key]) || isNull(obj[key])) { obj[key] = defValue; } } exports.setDefaultProp = setDefaultProp; /** * Returns a number whose value is limited to the given range. * @param value - A number to force within given min-max range * @param min - The lower boundary of the output range * @param max - The upper boundary of the output range * @returns A number in the range [min, max] * @example * // limit the output of this computation to between 0 and 255 * value = clamp(value, 0, 255); */ function clamp(value, min, max) { var _a; if (min > max) { _a = [min, max], max = _a[0], min = _a[1]; } return Math.max(min, Math.min(value, max)); } exports.clamp = clamp; function range(end) { var arr = []; for (var i = 0; i < end; i += 1) { arr.push(i); } return arr; } exports.range = range; function last(arr) { return arr[arr.length - 1]; } exports.last = last; function isBlank(value) { if (typeof value === 'string') { return !value.length; } return typeof value === 'undefined' || value === null; } exports.isBlank = isBlank; function isUndefined(value) { return typeof value === 'undefined'; } exports.isUndefined = isUndefined; function isNull(value) { return value === null; } exports.isNull = isNull; function isBoolean(value) { return typeof value === 'boolean'; } exports.isBoolean = isBoolean; function isNumber(value) { return typeof value === 'number'; } exports.isNumber = isNumber; function isString(value) { return typeof value === 'string'; } exports.isString = isString; function isNil(value) { return isUndefined(value) || isNull(value); } exports.isNil = isNil; /** * check the emptiness(included null) of object or array. if obj parameter is null or undefind, return true * @param obj - target object or array * @returns the emptiness of obj */ function isEmpty(obj) { return (isNull(obj) || isUndefined(obj) || (!isUndefined(obj.length) && obj.length === 0) || Object.keys(obj).length === 0); } exports.isEmpty = isEmpty; function fromArray(value) { return Array.prototype.slice.call(value); } exports.fromArray = fromArray; function convertToNumber(value) { if (typeof value === 'number' || isNaN(value) || isBlank(value)) { return value; } return Number(value); } exports.convertToNumber = convertToNumber; function debounce(fn, wait, immediate) { if (immediate === void 0) { immediate = false; } var timeout = null; return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var later = function () { timeout = -1; if (!immediate) { fn.apply(void 0, args); } }; var callNow = immediate && !timeout; if (timeout) { clearTimeout(timeout); } timeout = window.setTimeout(later, wait); if (callNow) { fn.apply(void 0, args); } }; } exports.debounce = debounce; function pruneObject(obj) { var pruned = {}; forEachObject(function (value, key) { if (!isUndefined(value) && !isNull(value)) { pruned[key] = value; } }, obj); return pruned; } exports.pruneObject = pruneObject; function omit(obj) { var propNames = []; for (var _i = 1; _i < arguments.length; _i++) { propNames[_i - 1] = arguments[_i]; } var resultMap = {}; Object.keys(obj).forEach(function (key) { if (!includes(propNames, key)) { resultMap[key] = obj[key]; } }); return resultMap; } exports.omit = omit; function pick(obj) { var propNames = []; for (var _i = 1; _i < arguments.length; _i++) { propNames[_i - 1] = arguments[_i]; } var resultMap = {}; Object.keys(obj).forEach(function (key) { if (includes(propNames, key)) { resultMap[key] = obj[key]; } }); return resultMap; } exports.pick = pick; function uniq(arr) { return arr.filter(function (name, index) { return arr.indexOf(name) === index; }); } exports.uniq = uniq; function uniqByProp(propName, arr) { return arr.filter(function (obj, index) { return findPropIndex(propName, obj[propName], arr) === index; }); } exports.uniqByProp = uniqByProp; function startsWith(str, targetStr) { return targetStr.slice(0, str.length) === str; } exports.startsWith = startsWith; function endsWith(str, targetStr) { var index = targetStr.lastIndexOf(str); return index !== -1 && index + str.length === targetStr.length; } exports.endsWith = endsWith; function removeDoubleQuotes(text) { if (text.match(CUSTOM_LF_REGEXP)) { return text.substring(1, text.length - 1).replace(/""/g, '"'); } return text; } function replaceNewlineToSubchar(text) { return text.replace(/"([^"]|"")*"/g, function (value) { return value.replace(LF, CUSTOM_LF_SUBCHAR).replace(CR, CUSTOM_CR_SUBCHAR); }); } function convertTextToData(text) { // Each newline cell data is wrapping double quotes in the text and // newline characters should be replaced with substitution characters temporarily // before spliting the text by newline characters. text = replaceNewlineToSubchar(text); return text .split(/\r?\n/) .map(function (row) { return row .split('\t') .map(function (column) { return removeDoubleQuotes(column).replace(CUSTOM_LF_REGEXP, LF).replace(CUSTOM_CR_REGEXP, CR); }); }); } exports.convertTextToData = convertTextToData; function convertDataToText(data, delimiter) { return data.map(function (row) { return "\"" + row.join("\"" + delimiter + "\"") + "\""; }).join('\n'); } exports.convertDataToText = convertDataToText; function silentSplice(arr, start, deleteCount) { var _a; var items = []; for (var _i = 3; _i < arguments.length; _i++) { items[_i - 3] = arguments[_i]; } return (_a = Array.prototype.splice).call.apply(_a, tslib_1.__spreadArrays([arr, start, deleteCount], items)); } exports.silentSplice = silentSplice; function isBetween(value, start, end) { return start <= value && value <= end; } exports.isBetween = isBetween; function pixelToNumber(pixelString) { var regExp = new RegExp(/[0-9]+px/); return regExp.test(pixelString) ? parseInt(pixelString.replace('px', ''), 10) : 0; } exports.pixelToNumber = pixelToNumber; function getLongestText(texts) { return texts.reduce(function (acc, text) { return (text.length > acc.length ? text : acc); }, ''); } exports.getLongestText = getLongestText; /***/ }), /* 1 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__extends", function() { return __extends; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__assign", function() { return __assign; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__rest", function() { return __rest; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__decorate", function() { return __decorate; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__param", function() { return __param; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spread", function() { return __spread; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spreadArrays", function() { return __spreadArrays; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__await", function() { return __await; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncGenerator", function() { return __asyncGenerator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncDelegator", function() { return __asyncDelegator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncValues", function() { return __asyncValues; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldGet", function() { return __classPrivateFieldGet; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldSet", function() { return __classPrivateFieldSet; }); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function() { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; } return __assign.apply(this, arguments); } function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; } function __param(paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } } function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function __generator(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } } function __exportStar(m, exports) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } function __values(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); } function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; } function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; } function __spreadArrays() { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; function __await(v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } function __asyncGenerator(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var g = generator.apply(thisArg, _arguments || []), i, q = []; return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } } function __asyncDelegator(o) { var i, p; return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } } function __asyncValues(o) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var m = o[Symbol.asyncIterator], i; return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } } function __makeTemplateObject(cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; function __importStar(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result.default = mod; return result; } function __importDefault(mod) { return (mod && mod.__esModule) ? mod : { default: mod }; } function __classPrivateFieldGet(receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); } function __classPrivateFieldSet(receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; } /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isElementScrollable = exports.getComputedFontStyle = exports.getTextWidth = exports.setClipboardSelection = exports.isSupportWindowClipboardData = exports.convertTableToData = exports.getCoordinateWithOffset = exports.setCursorStyle = exports.appendStyleElement = exports.getCellAddress = exports.isParentExistWithClassNames = exports.findParentByClassName = exports.findParentByTagName = exports.hasClass = exports.isDatePickerElement = exports.cls = exports.dataAttr = void 0; var common_1 = __webpack_require__(0); var CLS_PREFIX = 'tui-grid-'; exports.dataAttr = { ROW_KEY: 'data-row-key', COLUMN_NAME: 'data-column-name', COLUMN_INDEX: 'data-column-index', GRID_ID: 'data-grid-id', }; function cls() { var names = []; for (var _i = 0; _i < arguments.length; _i++) { names[_i] = arguments[_i]; } var result = []; for (var _a = 0, names_1 = names; _a < names_1.length; _a++) { var name = names_1[_a]; var className = void 0; if (Array.isArray(name)) { className = name[0] ? name[1] : null; } else { className = name; } if (className) { result.push("" + CLS_PREFIX + className); } } return result.join(' '); } exports.cls = cls; function isSvgElement(el) { var _a; return ((_a = el.namespaceURI) === null || _a === void 0 ? void 0 : _a.indexOf('svg')) !== -1; } function isDatePickerElement(el) { var currentEl = el; if (isSvgElement(el)) { return false; } while (currentEl && currentEl.className.split(' ').indexOf('tui-datepicker') === -1) { currentEl = currentEl.parentElement; } return !!currentEl; } exports.isDatePickerElement = isDatePickerElement; function hasClass(el, className) { return !isSvgElement(el) && el.className.split(' ').indexOf(cls(className)) !== -1; } exports.hasClass = hasClass; function findParentByTagName(el, tagName) { var currentEl = el; while (currentEl && currentEl.tagName.toLowerCase() !== tagName) { currentEl = currentEl.parentElement; } return currentEl; } exports.findParentByTagName = findParentByTagName; function findParentByClassName(el, className) { var currentEl = el; while (currentEl && !hasClass(currentEl, className)) { currentEl = currentEl.parentElement; } return currentEl; } exports.findParentByClassName = findParentByClassName; function isParentExistWithClassNames(el, classNames) { return classNames.some(function (className) { return !common_1.isNull(findParentByClassName(el, className)); }); } exports.isParentExistWithClassNames = isParentExistWithClassNames; function getCellAddress(el) { var cellElement = findParentByTagName(el, 'td'); if (!cellElement) { return null; } var rowKey = cellElement.getAttribute(exports.dataAttr.ROW_KEY); var columnName = cellElement.getAttribute(exports.dataAttr.COLUMN_NAME); if (common_1.isNull(rowKey)) { return null; } return { rowKey: Number(rowKey), columnName: columnName, }; } exports.getCellAddress = getCellAddress; /** * create style element and append it into the head element. * @param {String} id - element id * @param {String} cssString - css string */ function appendStyleElement(id, cssString) { var style = document.createElement('style'); style.type = 'text/css'; style.id = id; style.appendChild(document.createTextNode(cssString)); document.getElementsByTagName('head')[0].appendChild(style); } exports.appendStyleElement = appendStyleElement; function setCursorStyle(type) { document.body.style.cursor = type; } exports.setCursorStyle = setCursorStyle; function getCoordinateWithOffset(pageX, pageY) { var pageXWithOffset = pageX - window.pageXOffset; var pageYWithOffset = pageY - window.pageYOffset; return [pageXWithOffset, pageYWithOffset]; } exports.getCoordinateWithOffset = getCoordinateWithOffset; function setDataInSpanRange(value, data, colspanRange, rowspanRange) { var startColspan = colspanRange[0], endColspan = colspanRange[1]; var startRowspan = rowspanRange[0], endRowspan = rowspanRange[1]; for (var rowIdx = startRowspan; rowIdx < endRowspan; rowIdx += 1) { for (var columnIdx = startColspan; columnIdx < endColspan; columnIdx += 1) { data[rowIdx][columnIdx] = startRowspan === rowIdx && startColspan === columnIdx ? value : ' '; } } } function convertTableToData(rows) { var data = []; var colspanRange, rowspanRange; for (var index = 0; index < rows.length; index += 1) { data[index] = []; } common_1.fromArray(rows).forEach(function (tr, rowIndex) { var columnIndex = 0; common_1.fromArray(tr.cells).forEach(function (td) { var text = td.textContent || td.innerText; while (data[rowIndex][columnIndex]) { columnIndex += 1; } colspanRange = [columnIndex, columnIndex + (td.colSpan || 1)]; rowspanRange = [rowIndex, rowIndex + (td.rowSpan || 1)]; setDataInSpanRange(text, data, colspanRange, rowspanRange); columnIndex = colspanRange[1]; }); }); return data; } exports.convertTableToData = convertTableToData; function isSupportWindowClipboardData() { return !!window.clipboardData; } exports.isSupportWindowClipboardData = isSupportWindowClipboardData; function setClipboardSelection(node) { if (node) { var range = document.createRange(); var selection = window.getSelection(); selection.removeAllRanges(); range.selectNodeContents(node); selection.addRange(range); } } exports.setClipboardSelection = setClipboardSelection; function getTextWidth(text, bodyArea) { if (!bodyArea) { return 0; } var tdForMeasure = document.createElement('td'); tdForMeasure.className = cls('cell', 'cell-has-input'); tdForMeasure.style.position = 'absolute'; var cellForMeasure = document.createElement('div'); cellForMeasure.textContent = text; cellForMeasure.className = cls('cell-content'); tdForMeasure.appendChild(cellForMeasure); bodyArea.appendChild(tdForMeasure); var width = cellForMeasure.clientWidth; bodyArea.removeChild(tdForMeasure); return Math.ceil(width); } exports.getTextWidth = getTextWidth; function getComputedFontStyle(selector) { var firstCellNode = document.querySelector("." + cls(selector)); var walker = document.createTreeWalker(firstCellNode, 4); var node = firstCellNode; while (walker.nextNode()) { node = walker.currentNode; if (node.nodeType === 3) { node = node.parentElement; break; } } var compStyle = getComputedStyle(node); var fontSize = compStyle.getPropertyValue('font-size'); var fontWeight = compStyle.getPropertyValue('font-weight'); var fontFamily = compStyle.getPropertyValue('font-family'); return fontWeight + " " + fontSize + " " + fontFamily; } exports.getComputedFontStyle = getComputedFontStyle; exports.isElementScrollable = function (element) { var offsetHeight = element.offsetHeight, offsetWidth = element.offsetWidth, scrollHeight = element.scrollHeight, scrollWidth = element.scrollWidth, scrollTop = element.scrollTop, scrollLeft = element.scrollLeft; return { canScrollUp: scrollTop > 0, canScrollDown: scrollTop + offsetHeight < scrollHeight, canScrollLeft: scrollLeft > 0, canScrollRight: scrollLeft + offsetWidth < scrollWidth, }; }; /***/ }), /* 3 */ /***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return h; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createElement", function() { return h; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cloneElement", function() { return cloneElement; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createRef", function() { return createRef; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Component", function() { return Component; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rerender", function() { return rerender; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "options", function() { return options; }); var VNode = function VNode() {}; var options = {}; var stack = []; var EMPTY_CHILDREN = []; function h(nodeName, attributes) { var children = EMPTY_CHILDREN, lastSimple, child, simple, i; for (i = arguments.length; i-- > 2;) { stack.push(arguments[i]); } if (attributes && attributes.children != null) { if (!stack.length) stack.push(attributes.children); delete attributes.children; } while (stack.length) { if ((child = stack.pop()) && child.pop !== undefined) { for (i = child.length; i--;) { stack.push(child[i]); } } else { if (typeof child === 'boolean') child = null; if (simple = typeof nodeName !== 'function') { if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false; } if (simple && lastSimple) { children[children.length - 1] += child; } else if (children === EMPTY_CHILDREN) { children = [child]; } else { children.push(child); } lastSimple = simple; } } var p = new VNode(); p.nodeName = nodeName; p.children = children; p.attributes = attributes == null ? undefined : attributes; p.key = attributes == null ? undefined : attributes.key; if (options.vnode !== undefined) options.vnode(p); return p; } function extend(obj, props) { for (var i in props) { obj[i] = props[i]; }return obj; } function applyRef(ref, value) { if (ref != null) { if (typeof ref == 'function') ref(value);else ref.current = value; } } var defer = typeof Promise == 'function' ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout; function cloneElement(vnode, props) { return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children); } var IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i; var items = []; function enqueueRender(component) { if (!component._dirty && (component._dirty = true) && items.push(component) == 1) { (options.debounceRendering || defer)(rerender); } } function rerender() { var p; while (p = items.pop()) { if (p._dirty) renderComponent(p); } } function isSameNodeType(node, vnode, hydrating) { if (typeof vnode === 'string' || typeof vnode === 'number') { return node.splitText !== undefined; } if (typeof vnode.nodeName === 'string') { return !node._componentConstructor && isNamedNode(node, vnode.nodeName); } return hydrating || node._componentConstructor === vnode.nodeName; } function isNamedNode(node, nodeName) { return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase(); } function getNodeProps(vnode) { var props = extend({}, vnode.attributes); props.children = vnode.children; var defaultProps = vnode.nodeName.defaultProps; if (defaultProps !== undefined) { for (var i in defaultProps) { if (props[i] === undefined) { props[i] = defaultProps[i]; } } } return props; } function createNode(nodeName, isSvg) { var node = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName); node.normalizedNodeName = nodeName; return node; } function removeNode(node) { var parentNode = node.parentNode; if (parentNode) parentNode.removeChild(node); } function setAccessor(node, name, old, value, isSvg) { if (name === 'className') name = 'class'; if (name === 'key') {} else if (name === 'ref') { applyRef(old, null); applyRef(value, node); } else if (name === 'class' && !isSvg) { node.className = value || ''; } else if (name === 'style') { if (!value || typeof value === 'string' || typeof old === 'string') { node.style.cssText = value || ''; } if (value && typeof value === 'object') { if (typeof old !== 'string') { for (var i in old) { if (!(i in value)) node.style[i] = ''; } } for (var i in value) { node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false ? value[i] + 'px' : value[i]; } } } else if (name === 'dangerouslySetInnerHTML') { if (value) node.innerHTML = value.__html || ''; } else if (name[0] == 'o' && name[1] == 'n') { var useCapture = name !== (name = name.replace(/Capture$/, '')); name = name.toLowerCase().substring(2); if (value) { if (!old) node.addEventListener(name, eventProxy, useCapture); } else { node.removeEventListener(name, eventProxy, useCapture); } (node._listeners || (node._listeners = {}))[name] = value; } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) { try { node[name] = value == null ? '' : value; } catch (e) {} if ((value == null || value === false) && name != 'spellcheck') node.removeAttribute(name); } else { var ns = isSvg && name !== (name = name.replace(/^xlink:?/, '')); if (value == null || value === false) { if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name); } else if (typeof value !== 'function') { if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value); } } } function eventProxy(e) { return this._listeners[e.type](options.event && options.event(e) || e); } var mounts = []; var diffLevel = 0; var isSvgMode = false; var hydrating = false; function flushMounts() { var c; while (c = mounts.shift()) { if (options.afterMount) options.afterMount(c); if (c.componentDidMount) c.componentDidMount(); } } function diff(dom, vnode, context, mountAll, parent, componentRoot) { if (!diffLevel++) { isSvgMode = parent != null && parent.ownerSVGElement !== undefined; hydrating = dom != null && !('__preactattr_' in dom); } var ret = idiff(dom, vnode, context, mountAll, componentRoot); if (parent && ret.parentNode !== parent) parent.appendChild(ret); if (! --diffLevel) { hydrating = false; if (!componentRoot) flushMounts(); } return ret; } function idiff(dom, vnode, context, mountAll, componentRoot) { var out = dom, prevSvgMode = isSvgMode; if (vnode == null || typeof vnode === 'boolean') vnode = ''; if (typeof vnode === 'string' || typeof vnode === 'number') { if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) { if (dom.nodeValue != vnode) { dom.nodeValue = vnode; } } else { out = document.createTextNode(vnode); if (dom) { if (dom.parentNode) dom.parentNode.replaceChild(out, dom); recollectNodeTree(dom, true); } } out['__preactattr_'] = true; return out; } var vnodeName = vnode.nodeName; if (typeof vnodeName === 'function') { return buildComponentFromVNode(dom, vnode, context, mountAll); } isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode; vnodeName = String(vnodeName); if (!dom || !isNamedNode(dom, vnodeName)) { out = createNode(vnodeName, isSvgMode); if (dom) { while (dom.firstChild) { out.appendChild(dom.firstChild); } if (dom.parentNode) dom.parentNode.replaceChild(out, dom); recollectNodeTree(dom, true); } } var fc = out.firstChild, props = out['__preactattr_'], vchildren = vnode.children; if (props == null) { props = out['__preactattr_'] = {}; for (var a = out.attributes, i = a.length; i--;) { props[a[i].name] = a[i].value; } } if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) { if (fc.nodeValue != vchildren[0]) { fc.nodeValue = vchildren[0]; } } else if (vchildren && vchildren.length || fc != null) { innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null); } diffAttributes(out, vnode.attributes, props); isSvgMode = prevSvgMode; return out; } function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) { var originalChildren = dom.childNodes, children = [], keyed = {}, keyedLen = 0, min = 0, len = originalChildren.length, childrenLen = 0, vlen = vchildren ? vchildren.length : 0, j, c, f, vchild, child; if (len !== 0) { for (var i = 0; i < len; i++) { var _child = originalChildren[i], props = _child['__preactattr_'], key = vlen && props ? _child._component ? _child._component.__key : props.key : null; if (key != null) { keyedLen++; keyed[key] = _child; } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) { children[childrenLen++] = _child; } } } if (vlen !== 0) { for (var i = 0; i < vlen; i++) { vchild = vchildren[i]; child = null; var key = vchild.key; if (key != null) { if (keyedLen && keyed[key] !== undefined) { child = keyed[key]; keyed[key] = undefined; keyedLen--; } } else if (min < childrenLen) { for (j = min; j < childrenLen; j++) { if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydratin