vue-gantt-3
Version:
A gantt component for Vue 3
1,378 lines (1,376 loc) • 2.36 MB
JavaScript
(function(global2, factory) {
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue")) : typeof define === "function" && define.amd ? define(["exports", "vue"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2["vue-gantt-3"] = {}, global2.Vue));
})(this, function(exports2, vue) {
"use strict";
/**
* @vue/shared v3.5.13
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
!!(process.env.NODE_ENV !== "production") ? Object.freeze({}) : {};
!!(process.env.NODE_ENV !== "production") ? Object.freeze([]) : [];
const hasOwnProperty = Object.prototype.hasOwnProperty;
const hasOwn = (val, key) => hasOwnProperty.call(val, key);
const isSymbol = (val) => typeof val === "symbol";
const def = (obj, key, value, writable = false) => {
Object.defineProperty(obj, key, {
configurable: true,
enumerable: false,
writable,
value
});
};
/**
* @vue/reactivity v3.5.13
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
Symbol(
!!(process.env.NODE_ENV !== "production") ? "Object iterate" : ""
);
Symbol(
!!(process.env.NODE_ENV !== "production") ? "Map keys iterate" : ""
);
Symbol(
!!(process.env.NODE_ENV !== "production") ? "Array iterate" : ""
);
new Set(
/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
);
function toRaw(observed) {
const raw = observed && observed["__v_raw"];
return raw ? toRaw(raw) : observed;
}
function markRaw(value) {
if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) {
def(value, "__v_skip", true);
}
return value;
}
/**
* @ag-grid-community/all-modules - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue * @version v30.0.6
* @link https://www.ag-grid.com/
* @license MIT
*/
function makeNull(value) {
if (value == null || value === "") {
return null;
}
return value;
}
function exists(value, allowEmptyString) {
if (allowEmptyString === void 0) {
allowEmptyString = false;
}
return value != null && (value !== "" || allowEmptyString);
}
function missing(value) {
return !exists(value);
}
function missingOrEmpty(value) {
return value == null || value.length === 0;
}
function toStringOrNull(value) {
return value != null && typeof value.toString === "function" ? value.toString() : null;
}
function attrToNumber(value) {
if (value === void 0) {
return;
}
if (value === null || value === "") {
return null;
}
if (typeof value === "number") {
return isNaN(value) ? void 0 : value;
}
var valueParsed = parseInt(value, 10);
return isNaN(valueParsed) ? void 0 : valueParsed;
}
function attrToBoolean(value) {
if (value === void 0) {
return;
}
if (value === null || value === "") {
return false;
}
if (typeof value === "boolean") {
return value;
}
return /true/i.test(value);
}
function attrToString(value) {
if (value == null || value === "") {
return;
}
return value;
}
function referenceCompare(left, right) {
if (left == null && right == null) {
return true;
}
if (left == null && right != null) {
return false;
}
if (left != null && right == null) {
return false;
}
return left === right;
}
function jsonEquals(val1, val2) {
var val1Json = val1 ? JSON.stringify(val1) : null;
var val2Json = val2 ? JSON.stringify(val2) : null;
return val1Json === val2Json;
}
function defaultComparator(valueA, valueB, accentedCompare) {
if (accentedCompare === void 0) {
accentedCompare = false;
}
var valueAMissing = valueA == null;
var valueBMissing = valueB == null;
if (valueA && valueA.toNumber) {
valueA = valueA.toNumber();
}
if (valueB && valueB.toNumber) {
valueB = valueB.toNumber();
}
if (valueAMissing && valueBMissing) {
return 0;
}
if (valueAMissing) {
return -1;
}
if (valueBMissing) {
return 1;
}
function doQuickCompare(a, b) {
return a > b ? 1 : a < b ? -1 : 0;
}
if (typeof valueA !== "string") {
return doQuickCompare(valueA, valueB);
}
if (!accentedCompare) {
return doQuickCompare(valueA, valueB);
}
try {
return valueA.localeCompare(valueB);
} catch (e) {
return doQuickCompare(valueA, valueB);
}
}
function values(object) {
if (object instanceof Set || object instanceof Map) {
var arr_1 = [];
object.forEach(function(value) {
return arr_1.push(value);
});
return arr_1;
}
return Object.values(object);
}
var GenericUtils = /* @__PURE__ */ Object.freeze({
__proto__: null,
makeNull,
exists,
missing,
missingOrEmpty,
toStringOrNull,
attrToNumber,
attrToBoolean,
attrToString,
referenceCompare,
jsonEquals,
defaultComparator,
values
});
var ColumnKeyCreator = (
/** @class */
function() {
function ColumnKeyCreator2() {
this.existingKeys = {};
}
ColumnKeyCreator2.prototype.addExistingKeys = function(keys2) {
for (var i = 0; i < keys2.length; i++) {
this.existingKeys[keys2[i]] = true;
}
};
ColumnKeyCreator2.prototype.getUniqueKey = function(colId, colField) {
colId = toStringOrNull(colId);
var count = 0;
while (true) {
var idToTry = void 0;
if (colId) {
idToTry = colId;
if (count !== 0) {
idToTry += "_" + count;
}
} else if (colField) {
idToTry = colField;
if (count !== 0) {
idToTry += "_" + count;
}
} else {
idToTry = "" + count;
}
if (!this.existingKeys[idToTry]) {
this.existingKeys[idToTry] = true;
return idToTry;
}
count++;
}
};
return ColumnKeyCreator2;
}()
);
function iterateObject(object, callback) {
if (object == null) {
return;
}
if (Array.isArray(object)) {
object.forEach(function(value, index) {
return callback("" + index, value);
});
} else {
Object.keys(object).forEach(function(key) {
return callback(key, object[key]);
});
}
}
function cloneObject(object) {
var copy = {};
var keys2 = Object.keys(object);
for (var i = 0; i < keys2.length; i++) {
var key = keys2[i];
var value = object[key];
copy[key] = value;
}
return copy;
}
function deepCloneObject(object) {
return JSON.parse(JSON.stringify(object));
}
function deepCloneDefinition(object, keysToSkip) {
if (!object) {
return;
}
var obj = object;
var res = {};
Object.keys(obj).forEach(function(key) {
if (keysToSkip && keysToSkip.indexOf(key) >= 0) {
return;
}
var value = obj[key];
var sourceIsSimpleObject = isNonNullObject(value) && value.constructor === Object;
if (sourceIsSimpleObject) {
res[key] = deepCloneDefinition(value);
} else {
res[key] = value;
}
});
return res;
}
function getProperty(object, key) {
return object[key];
}
function setProperty(object, key, value) {
object[key] = value;
}
function copyPropertiesIfPresent(source, target) {
var properties = [];
for (var _i = 2; _i < arguments.length; _i++) {
properties[_i - 2] = arguments[_i];
}
properties.forEach(function(p) {
return copyPropertyIfPresent(source, target, p);
});
}
function copyPropertyIfPresent(source, target, property, transform) {
var value = getProperty(source, property);
if (value !== void 0) {
setProperty(target, property, transform ? transform(value) : value);
}
}
function getAllKeysInObjects(objects) {
var allValues = {};
objects.filter(function(obj) {
return obj != null;
}).forEach(function(obj) {
Object.keys(obj).forEach(function(key) {
return allValues[key] = null;
});
});
return Object.keys(allValues);
}
function getAllValuesInObject(obj) {
if (!obj) {
return [];
}
var anyObject = Object;
if (typeof anyObject.values === "function") {
return anyObject.values(obj);
}
var ret = [];
for (var key in obj) {
if (obj.hasOwnProperty(key) && obj.propertyIsEnumerable(key)) {
ret.push(obj[key]);
}
}
return ret;
}
function mergeDeep(dest, source, copyUndefined, makeCopyOfSimpleObjects) {
if (copyUndefined === void 0) {
copyUndefined = true;
}
if (makeCopyOfSimpleObjects === void 0) {
makeCopyOfSimpleObjects = false;
}
if (!exists(source)) {
return;
}
iterateObject(source, function(key, sourceValue) {
var destValue = dest[key];
if (destValue === sourceValue) {
return;
}
if (makeCopyOfSimpleObjects) {
var objectIsDueToBeCopied = destValue == null && sourceValue != null;
if (objectIsDueToBeCopied) {
var sourceIsSimpleObject = typeof sourceValue === "object" && sourceValue.constructor === Object;
var dontCopy = sourceIsSimpleObject;
if (dontCopy) {
destValue = {};
dest[key] = destValue;
}
}
}
if (isNonNullObject(sourceValue) && isNonNullObject(destValue) && !Array.isArray(destValue)) {
mergeDeep(destValue, sourceValue, copyUndefined, makeCopyOfSimpleObjects);
} else if (copyUndefined || sourceValue !== void 0) {
dest[key] = sourceValue;
}
});
}
function missingOrEmptyObject(value) {
return missing(value) || Object.keys(value).length === 0;
}
function get(source, expression, defaultValue) {
if (source == null) {
return defaultValue;
}
var keys2 = expression.split(".");
var objectToRead = source;
while (keys2.length > 1) {
objectToRead = objectToRead[keys2.shift()];
if (objectToRead == null) {
return defaultValue;
}
}
var value = objectToRead[keys2[0]];
return value != null ? value : defaultValue;
}
function set(target, expression, value) {
if (target == null) {
return;
}
var keys2 = expression.split(".");
var objectToUpdate = target;
keys2.forEach(function(key, i) {
if (!objectToUpdate[key]) {
objectToUpdate[key] = {};
}
if (i < keys2.length - 1) {
objectToUpdate = objectToUpdate[key];
}
});
objectToUpdate[keys2[keys2.length - 1]] = value;
}
function getValueUsingField(data, field, fieldContainsDots) {
if (!field || !data) {
return;
}
if (!fieldContainsDots) {
return data[field];
}
var fields = field.split(".");
var currentObject = data;
for (var i = 0; i < fields.length; i++) {
if (currentObject == null) {
return void 0;
}
currentObject = currentObject[fields[i]];
}
return currentObject;
}
function removeAllReferences(obj, objectName) {
Object.keys(obj).forEach(function(key) {
var value = obj[key];
if (typeof value === "object") {
obj[key] = void 0;
}
});
var proto = Object.getPrototypeOf(obj);
var properties = {};
Object.keys(proto).forEach(function(key) {
var value = proto[key];
if (typeof value === "function") {
var func = function() {
console.warn("AG Grid: " + objectName + " function " + key + "() cannot be called as the grid has been destroyed.\n Please don't call grid API functions on destroyed grids - as a matter of fact you shouldn't\n be keeping the API reference, your application has a memory leak! Remove the API reference\n when the grid is destroyed.");
};
properties[key] = { value: func, writable: true };
}
});
Object.defineProperties(obj, properties);
}
function isNonNullObject(value) {
return typeof value === "object" && value !== null;
}
var ObjectUtils = /* @__PURE__ */ Object.freeze({
__proto__: null,
iterateObject,
cloneObject,
deepCloneObject,
deepCloneDefinition,
getProperty,
setProperty,
copyPropertiesIfPresent,
copyPropertyIfPresent,
getAllKeysInObjects,
getAllValuesInObject,
mergeDeep,
missingOrEmptyObject,
get,
set,
getValueUsingField,
removeAllReferences,
isNonNullObject
});
var doOnceFlags = {};
function doOnce(func, key) {
if (doOnceFlags[key]) {
return;
}
func();
doOnceFlags[key] = true;
}
function getFunctionName(funcConstructor) {
if (funcConstructor.name) {
return funcConstructor.name;
}
var matches = /function\s+([^\(]+)/.exec(funcConstructor.toString());
return matches && matches.length === 2 ? matches[1].trim() : null;
}
function isFunction(val) {
return !!(val && val.constructor && val.call && val.apply);
}
function executeInAWhile(funcs) {
executeAfter(funcs, 400);
}
var executeNextVMTurnFuncs = [];
var executeNextVMTurnPending = false;
function executeNextVMTurn(func) {
executeNextVMTurnFuncs.push(func);
if (executeNextVMTurnPending) {
return;
}
executeNextVMTurnPending = true;
window.setTimeout(function() {
var funcsCopy = executeNextVMTurnFuncs.slice();
executeNextVMTurnFuncs.length = 0;
executeNextVMTurnPending = false;
funcsCopy.forEach(function(func2) {
return func2();
});
}, 0);
}
function executeAfter(funcs, milliseconds) {
if (milliseconds === void 0) {
milliseconds = 0;
}
if (funcs.length > 0) {
window.setTimeout(function() {
return funcs.forEach(function(func) {
return func();
});
}, milliseconds);
}
}
function debounce(func, delay) {
var timeout;
return function() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var context = this;
window.clearTimeout(timeout);
timeout = window.setTimeout(function() {
func.apply(context, args);
}, delay);
};
}
function throttle(func, wait) {
var previousCall = 0;
return function() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var context = this;
var currentCall = (/* @__PURE__ */ new Date()).getTime();
if (currentCall - previousCall < wait) {
return;
}
previousCall = currentCall;
func.apply(context, args);
};
}
function waitUntil(condition, callback, timeout, timeoutMessage) {
if (timeout === void 0) {
timeout = 100;
}
var timeStamp = (/* @__PURE__ */ new Date()).getTime();
var interval = null;
var executed = false;
var internalCallback = function() {
var reachedTimeout = (/* @__PURE__ */ new Date()).getTime() - timeStamp > timeout;
if (condition() || reachedTimeout) {
callback();
executed = true;
if (interval != null) {
window.clearInterval(interval);
interval = null;
}
if (reachedTimeout && timeoutMessage) {
console.warn(timeoutMessage);
}
}
};
internalCallback();
if (!executed) {
interval = window.setInterval(internalCallback, 10);
}
}
function compose() {
var fns = [];
for (var _i = 0; _i < arguments.length; _i++) {
fns[_i] = arguments[_i];
}
return function(arg) {
return fns.reduce(function(composed, f) {
return f(composed);
}, arg);
};
}
function callIfPresent(func) {
if (func) {
func();
}
}
var noop = function() {
return;
};
var FunctionUtils = /* @__PURE__ */ Object.freeze({
__proto__: null,
doOnce,
getFunctionName,
isFunction,
executeInAWhile,
executeNextVMTurn,
executeAfter,
debounce,
throttle,
waitUntil,
compose,
callIfPresent,
noop
});
var ModuleNames;
(function(ModuleNames2) {
ModuleNames2["CommunityCoreModule"] = "@ag-grid-community/core";
ModuleNames2["InfiniteRowModelModule"] = "@ag-grid-community/infinite-row-model";
ModuleNames2["ClientSideRowModelModule"] = "@ag-grid-community/client-side-row-model";
ModuleNames2["CsvExportModule"] = "@ag-grid-community/csv-export";
ModuleNames2["EnterpriseCoreModule"] = "@ag-grid-enterprise/core";
ModuleNames2["RowGroupingModule"] = "@ag-grid-enterprise/row-grouping";
ModuleNames2["ColumnsToolPanelModule"] = "@ag-grid-enterprise/column-tool-panel";
ModuleNames2["FiltersToolPanelModule"] = "@ag-grid-enterprise/filter-tool-panel";
ModuleNames2["MenuModule"] = "@ag-grid-enterprise/menu";
ModuleNames2["SetFilterModule"] = "@ag-grid-enterprise/set-filter";
ModuleNames2["MultiFilterModule"] = "@ag-grid-enterprise/multi-filter";
ModuleNames2["StatusBarModule"] = "@ag-grid-enterprise/status-bar";
ModuleNames2["SideBarModule"] = "@ag-grid-enterprise/side-bar";
ModuleNames2["RangeSelectionModule"] = "@ag-grid-enterprise/range-selection";
ModuleNames2["MasterDetailModule"] = "@ag-grid-enterprise/master-detail";
ModuleNames2["RichSelectModule"] = "@ag-grid-enterprise/rich-select";
ModuleNames2["GridChartsModule"] = "@ag-grid-enterprise/charts";
ModuleNames2["ViewportRowModelModule"] = "@ag-grid-enterprise/viewport-row-model";
ModuleNames2["ServerSideRowModelModule"] = "@ag-grid-enterprise/server-side-row-model";
ModuleNames2["ExcelExportModule"] = "@ag-grid-enterprise/excel-export";
ModuleNames2["ClipboardModule"] = "@ag-grid-enterprise/clipboard";
ModuleNames2["SparklinesModule"] = "@ag-grid-enterprise/sparklines";
ModuleNames2["AngularModule"] = "@ag-grid-community/angular";
ModuleNames2["ReactModule"] = "@ag-grid-community/react";
ModuleNames2["VueModule"] = "@ag-grid-community/vue";
})(ModuleNames || (ModuleNames = {}));
var __read$x = function(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 };
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
var __spreadArray$r = function(to, from) {
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
to[j] = from[i];
return to;
};
var ModuleRegistry = (
/** @class */
function() {
function ModuleRegistry2() {
}
ModuleRegistry2.register = function(module2) {
ModuleRegistry2.__register(module2, true, void 0);
};
ModuleRegistry2.registerModules = function(modules) {
ModuleRegistry2.__registerModules(modules, true, void 0);
};
ModuleRegistry2.__register = function(module2, moduleBased, gridId) {
ModuleRegistry2.runVersionChecks(module2);
if (gridId !== void 0) {
ModuleRegistry2.areGridScopedModules = true;
if (ModuleRegistry2.gridModulesMap[gridId] === void 0) {
ModuleRegistry2.gridModulesMap[gridId] = {};
}
ModuleRegistry2.gridModulesMap[gridId][module2.moduleName] = module2;
} else {
ModuleRegistry2.globalModulesMap[module2.moduleName] = module2;
}
ModuleRegistry2.setModuleBased(moduleBased);
};
ModuleRegistry2.__unRegisterGridModules = function(gridId) {
delete ModuleRegistry2.gridModulesMap[gridId];
};
ModuleRegistry2.__registerModules = function(modules, moduleBased, gridId) {
ModuleRegistry2.setModuleBased(moduleBased);
if (!modules) {
return;
}
modules.forEach(function(module2) {
return ModuleRegistry2.__register(module2, moduleBased, gridId);
});
};
ModuleRegistry2.isValidModuleVersion = function(module2) {
var _a = __read$x(module2.version.split(".") || [], 2), moduleMajor = _a[0], moduleMinor = _a[1];
var _b = __read$x(ModuleRegistry2.currentModuleVersion.split(".") || [], 2), currentModuleMajor = _b[0], currentModuleMinor = _b[1];
return moduleMajor === currentModuleMajor && moduleMinor === currentModuleMinor;
};
ModuleRegistry2.runVersionChecks = function(module2) {
if (!ModuleRegistry2.currentModuleVersion) {
ModuleRegistry2.currentModuleVersion = module2.version;
}
if (!module2.version) {
console.error("AG Grid: You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. '" + module2.moduleName + "' is incompatible. Please update all modules to the same version.");
} else if (!ModuleRegistry2.isValidModuleVersion(module2)) {
console.error("AG Grid: You are using incompatible versions of AG Grid modules. Major and minor versions should always match across modules. '" + module2.moduleName + "' is version " + module2.version + " but the other modules are version " + this.currentModuleVersion + ". Please update all modules to the same version.");
}
if (module2.validate) {
var result = module2.validate();
if (!result.isValid) {
var errorResult = result;
console.error("AG Grid: " + errorResult.message);
}
}
};
ModuleRegistry2.setModuleBased = function(moduleBased) {
if (ModuleRegistry2.moduleBased === void 0) {
ModuleRegistry2.moduleBased = moduleBased;
} else {
if (ModuleRegistry2.moduleBased !== moduleBased) {
doOnce(function() {
console.warn("AG Grid: You are mixing modules (i.e. @ag-grid-community/core) and packages (ag-grid-community) - you can only use one or the other of these mechanisms.");
console.warn("Please see https://www.ag-grid.com/javascript-grid/packages-modules/ for more information.");
}, "ModulePackageCheck");
}
}
};
ModuleRegistry2.__setIsBundled = function() {
ModuleRegistry2.isBundled = true;
};
ModuleRegistry2.__assertRegistered = function(moduleName, reason, gridId) {
var _a;
if (this.__isRegistered(moduleName, gridId)) {
return true;
}
var warningKey = reason + moduleName;
var warningMessage;
if (ModuleRegistry2.isBundled) {
{
warningMessage = "AG Grid: unable to use " + reason + ` as 'ag-grid-enterprise' has not been loaded. Check you are using the Enterprise bundle:
<script src="https://cdn.jsdelivr.net/npm/ag-grid-enterprise@AG_GRID_VERSION/dist/ag-grid-enterprise.min.js"><\/script>
For more info see: https://ag-grid.com/javascript-data-grid/getting-started/#getting-started-with-ag-grid-enterprise`;
}
} else if (ModuleRegistry2.moduleBased || ModuleRegistry2.moduleBased === void 0) {
var modName = (_a = Object.entries(ModuleNames).find(function(_a2) {
var _b = __read$x(_a2, 2);
_b[0];
var v = _b[1];
return v === moduleName;
})) === null || _a === void 0 ? void 0 : _a[0];
warningMessage = "AG Grid: unable to use " + reason + " as the " + modName + " is not registered" + (ModuleRegistry2.areGridScopedModules ? " for gridId: " + gridId : "") + ". Check if you have registered the module:\n \n import { ModuleRegistry } from '@ag-grid-community/core';\n import { " + modName + " } from '" + moduleName + "';\n \n ModuleRegistry.registerModules([ " + modName + " ]);\n\nFor more info see: https://www.ag-grid.com/javascript-grid/modules/";
} else {
warningMessage = "AG Grid: unable to use " + reason + " as package 'ag-grid-enterprise' has not been imported. Check that you have imported the package:\n \n import 'ag-grid-enterprise';\n \nFor more info see: https://www.ag-grid.com/javascript-grid/packages/";
}
doOnce(function() {
console.warn(warningMessage);
}, warningKey);
return false;
};
ModuleRegistry2.__isRegistered = function(moduleName, gridId) {
var _a;
return !!ModuleRegistry2.globalModulesMap[moduleName] || !!((_a = ModuleRegistry2.gridModulesMap[gridId]) === null || _a === void 0 ? void 0 : _a[moduleName]);
};
ModuleRegistry2.__getRegisteredModules = function(gridId) {
return __spreadArray$r(__spreadArray$r([], __read$x(values(ModuleRegistry2.globalModulesMap))), __read$x(values(ModuleRegistry2.gridModulesMap[gridId] || {})));
};
ModuleRegistry2.__getGridRegisteredModules = function(gridId) {
var _a;
return values((_a = ModuleRegistry2.gridModulesMap[gridId]) !== null && _a !== void 0 ? _a : {}) || [];
};
ModuleRegistry2.__isPackageBased = function() {
return !ModuleRegistry2.moduleBased;
};
ModuleRegistry2.globalModulesMap = {};
ModuleRegistry2.gridModulesMap = {};
ModuleRegistry2.areGridScopedModules = false;
return ModuleRegistry2;
}()
);
var __read$w = function(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 };
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
var __spreadArray$q = function(to, from) {
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
to[j] = from[i];
return to;
};
var Context = (
/** @class */
function() {
function Context2(params, logger) {
this.beanWrappers = {};
this.destroyed = false;
if (!params || !params.beanClasses) {
return;
}
this.contextParams = params;
this.logger = logger;
this.logger.log(">> creating ag-Application Context");
this.createBeans();
var beanInstances = this.getBeanInstances();
this.wireBeans(beanInstances);
this.logger.log(">> ag-Application Context ready - component is alive");
}
Context2.prototype.getBeanInstances = function() {
return values(this.beanWrappers).map(function(beanEntry) {
return beanEntry.beanInstance;
});
};
Context2.prototype.createBean = function(bean, afterPreCreateCallback) {
if (!bean) {
throw Error("Can't wire to bean since it is null");
}
this.wireBeans([bean], afterPreCreateCallback);
return bean;
};
Context2.prototype.wireBeans = function(beanInstances, afterPreCreateCallback) {
this.autoWireBeans(beanInstances);
this.methodWireBeans(beanInstances);
this.callLifeCycleMethods(beanInstances, "preConstructMethods");
if (exists(afterPreCreateCallback)) {
beanInstances.forEach(afterPreCreateCallback);
}
this.callLifeCycleMethods(beanInstances, "postConstructMethods");
};
Context2.prototype.createBeans = function() {
var _this = this;
this.contextParams.beanClasses.forEach(this.createBeanWrapper.bind(this));
iterateObject(this.beanWrappers, function(key, beanEntry) {
var constructorParamsMeta;
if (beanEntry.bean.__agBeanMetaData && beanEntry.bean.__agBeanMetaData.autowireMethods && beanEntry.bean.__agBeanMetaData.autowireMethods.agConstructor) {
constructorParamsMeta = beanEntry.bean.__agBeanMetaData.autowireMethods.agConstructor;
}
var constructorParams = _this.getBeansForParameters(constructorParamsMeta, beanEntry.bean.name);
var newInstance = new (beanEntry.bean.bind.apply(beanEntry.bean, __spreadArray$q([null], __read$w(constructorParams))))();
beanEntry.beanInstance = newInstance;
});
var createdBeanNames = Object.keys(this.beanWrappers).join(", ");
this.logger.log("created beans: " + createdBeanNames);
};
Context2.prototype.createBeanWrapper = function(BeanClass) {
var metaData = BeanClass.__agBeanMetaData;
if (!metaData) {
var beanName = void 0;
if (BeanClass.prototype.constructor) {
beanName = getFunctionName(BeanClass.prototype.constructor);
} else {
beanName = "" + BeanClass;
}
console.error("Context item " + beanName + " is not a bean");
return;
}
var beanEntry = {
bean: BeanClass,
beanInstance: null,
beanName: metaData.beanName
};
this.beanWrappers[metaData.beanName] = beanEntry;
};
Context2.prototype.autoWireBeans = function(beanInstances) {
var _this = this;
beanInstances.forEach(function(beanInstance) {
_this.forEachMetaDataInHierarchy(beanInstance, function(metaData, beanName) {
var attributes = metaData.agClassAttributes;
if (!attributes) {
return;
}
attributes.forEach(function(attribute) {
var otherBean = _this.lookupBeanInstance(beanName, attribute.beanName, attribute.optional);
beanInstance[attribute.attributeName] = otherBean;
});
});
});
};
Context2.prototype.methodWireBeans = function(beanInstances) {
var _this = this;
beanInstances.forEach(function(beanInstance) {
_this.forEachMetaDataInHierarchy(beanInstance, function(metaData, beanName) {
iterateObject(metaData.autowireMethods, function(methodName, wireParams) {
if (methodName === "agConstructor") {
return;
}
var initParams = _this.getBeansForParameters(wireParams, beanName);
beanInstance[methodName].apply(beanInstance, initParams);
});
});
});
};
Context2.prototype.forEachMetaDataInHierarchy = function(beanInstance, callback) {
var prototype = Object.getPrototypeOf(beanInstance);
while (prototype != null) {
var constructor = prototype.constructor;
if (constructor.hasOwnProperty("__agBeanMetaData")) {
var metaData = constructor.__agBeanMetaData;
var beanName = this.getBeanName(constructor);
callback(metaData, beanName);
}
prototype = Object.getPrototypeOf(prototype);
}
};
Context2.prototype.getBeanName = function(constructor) {
if (constructor.__agBeanMetaData && constructor.__agBeanMetaData.beanName) {
return constructor.__agBeanMetaData.beanName;
}
var constructorString = constructor.toString();
var beanName = constructorString.substring(9, constructorString.indexOf("("));
return beanName;
};
Context2.prototype.getBeansForParameters = function(parameters, beanName) {
var _this = this;
var beansList = [];
if (parameters) {
iterateObject(parameters, function(paramIndex, otherBeanName) {
var otherBean = _this.lookupBeanInstance(beanName, otherBeanName);
beansList[Number(paramIndex)] = otherBean;
});
}
return beansList;
};
Context2.prototype.lookupBeanInstance = function(wiringBean, beanName, optional) {
if (optional === void 0) {
optional = false;
}
if (this.destroyed) {
this.logger.log("AG Grid: bean reference " + beanName + " is used after the grid is destroyed!");
return null;
}
if (beanName === "context") {
return this;
}
if (this.contextParams.providedBeanInstances && this.contextParams.providedBeanInstances.hasOwnProperty(beanName)) {
return this.contextParams.providedBeanInstances[beanName];
}
var beanEntry = this.beanWrappers[beanName];
if (beanEntry) {
return beanEntry.beanInstance;
}
if (!optional) {
console.error("AG Grid: unable to find bean reference " + beanName + " while initialising " + wiringBean);
}
return null;
};
Context2.prototype.callLifeCycleMethods = function(beanInstances, lifeCycleMethod) {
var _this = this;
beanInstances.forEach(function(beanInstance) {
return _this.callLifeCycleMethodsOnBean(beanInstance, lifeCycleMethod);
});
};
Context2.prototype.callLifeCycleMethodsOnBean = function(beanInstance, lifeCycleMethod, methodToIgnore) {
var allMethods = {};
this.forEachMetaDataInHierarchy(beanInstance, function(metaData) {
var methods = metaData[lifeCycleMethod];
if (methods) {
methods.forEach(function(methodName) {
if (methodName != methodToIgnore) {
allMethods[methodName] = true;
}
});
}
});
var allMethodsList = Object.keys(allMethods);
allMethodsList.forEach(function(methodName) {
return beanInstance[methodName]();
});
};
Context2.prototype.getBean = function(name) {
return this.lookupBeanInstance("getBean", name, true);
};
Context2.prototype.destroy = function() {
if (this.destroyed) {
return;
}
this.logger.log(">> Shutting down ag-Application Context");
var beanInstances = this.getBeanInstances();
this.destroyBeans(beanInstances);
this.contextParams.providedBeanInstances = null;
ModuleRegistry.__unRegisterGridModules(this.contextParams.gridId);
this.destroyed = true;
this.logger.log(">> ag-Application Context shut down - component is dead");
};
Context2.prototype.destroyBean = function(bean) {
if (!bean) {
return;
}
this.destroyBeans([bean]);
};
Context2.prototype.destroyBeans = function(beans) {
var _this = this;
if (!beans) {
return [];
}
beans.forEach(function(bean) {
_this.callLifeCycleMethodsOnBean(bean, "preDestroyMethods", "destroy");
var beanAny = bean;
if (typeof beanAny.destroy === "function") {
beanAny.destroy();
}
});
return [];
};
Context2.prototype.isDestroyed = function() {
return this.destroyed;
};
Context2.prototype.getGridId = function() {
return this.contextParams.gridId;
};
return Context2;
}()
);
function PreConstruct(target, methodName, descriptor) {
var props2 = getOrCreateProps$1(target.constructor);
if (!props2.preConstructMethods) {
props2.preConstructMethods = [];
}
props2.preConstructMethods.push(methodName);
}
function PostConstruct(target, methodName, descriptor) {
var props2 = getOrCreateProps$1(target.constructor);
if (!props2.postConstructMethods) {
props2.postConstructMethods = [];
}
props2.postConstructMethods.push(methodName);
}
function PreDestroy(target, methodName, descriptor) {
var props2 = getOrCreateProps$1(target.constructor);
if (!props2.preDestroyMethods) {
props2.preDestroyMethods = [];
}
props2.preDestroyMethods.push(methodName);
}
function Bean(beanName) {
return function(classConstructor) {
var props2 = getOrCreateProps$1(classConstructor);
props2.beanName = beanName;
};
}
function Autowired(name) {
return function(target, propertyKey, descriptor) {
autowiredFunc(target, name, false, target, propertyKey);
};
}
function Optional(name) {
return function(target, propertyKey, descriptor) {
autowiredFunc(target, name, true, target, propertyKey);
};
}
function autowiredFunc(target, name, optional, classPrototype, methodOrAttributeName, index) {
if (name === null) {
console.error("AG Grid: Autowired name should not be null");
return;
}
var props2 = getOrCreateProps$1(target.constructor);
if (!props2.agClassAttributes) {
props2.agClassAttributes = [];
}
props2.agClassAttributes.push({
attributeName: methodOrAttributeName,
beanName: name,
optional
});
}
function Qualifier(name) {
return function(classPrototype, methodOrAttributeName, index) {
var constructor = typeof classPrototype == "function" ? classPrototype : classPrototype.constructor;
var props2;
if (typeof index === "number") {
var methodName = void 0;
if (methodOrAttributeName) {
props2 = getOrCreateProps$1(constructor);
methodName = methodOrAttributeName;
} else {
props2 = getOrCreateProps$1(constructor);
methodName = "agConstructor";
}
if (!props2.autowireMethods) {
props2.autowireMethods = {};
}
if (!props2.autowireMethods[methodName]) {
props2.autowireMethods[methodName] = {};
}
props2.autowireMethods[methodName][index] = name;
}
};
}
function getOrCreateProps$1(target) {
if (!target.hasOwnProperty("__agBeanMetaData")) {
target.__agBeanMetaData = {};
}
return target.__agBeanMetaData;
}
var __decorate$2E = function(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;
};
var __param$a = function(paramIndex, decorator) {
return function(target, key) {
decorator(target, key, paramIndex);
};
};
var EventService = (
/** @class */
function() {
function EventService2() {
this.allSyncListeners = /* @__PURE__ */ new Map();
this.allAsyncListeners = /* @__PURE__ */ new Map();
this.globalSyncListeners = /* @__PURE__ */ new Set();
this.globalAsyncListeners = /* @__PURE__ */ new Set();
this.asyncFunctionsQueue = [];
this.scheduled = false;
this.firedEvents = {};
}
EventService2.prototype.setBeans = function(loggerFactory, gridOptionsService, frameworkOverrides, globalEventListener) {
if (globalEventListener === void 0) {
globalEventListener = null;
}
this.frameworkOverrides = frameworkOverrides;
this.gridOptionsService = gridOptionsService;
if (globalEventListener) {
var async = gridOptionsService.useAsyncEvents();
this.addGlobalListener(globalEventListener, async);
}
};
EventService2.prototype.getListeners = function(eventType, async, autoCreateListenerCollection) {
var listenerMap = async ? this.allAsyncListeners : this.allSyncListeners;
var listeners = listenerMap.get(eventType);
if (!listeners && autoCreateListenerCollection) {
listeners = /* @__PURE__ */ new Set();
listenerMap.set(eventType, listeners);
}
return listeners;
};
EventService2.prototype.noRegisteredListenersExist = function() {
return this.allSyncListeners.size === 0 && this.allAsyncListeners.size === 0 && this.globalSyncListeners.size === 0 && this.globalAsyncListeners.size === 0;
};
EventService2.prototype.addEventListener = function(eventType, listener, async) {
if (async === void 0) {
async = false;
}
this.getListeners(eventType, async, true).add(listener);
};
EventService2.prototype.removeEventListener = function(eventType, listener, async) {
if (async === void 0) {
async = false;
}
var listeners = this.getListeners(eventType, async, false);
if (!listeners) {
return;
}
listeners.delete(listener);
if (listeners.size === 0) {
var listenerMap = async ? this.allAsyncListeners : this.allSyncListeners;
listenerMap.delete(eventType);
}
};
EventService2.prototype.addGlobalListener = function(listener, async) {
if (async === void 0) {
async = false;
}
(async ? this.globalAsyncListeners : this.globalSyncListeners).add(listener);
};
EventService2.prototype.removeGlobalListener = function(listener, async) {
if (async === void 0) {
async = false;
}
(async ? this.globalAsyncListeners : this.globalSyncListeners).delete(listener);
};
EventService2.prototype.dispatchEvent = function(event) {
var agEvent = event;
if (this.gridOptionsService) {
var _a = this.gridOptionsService, api = _a.api, columnApi = _a.columnApi, context = _a.context;
agEvent.api = api;
agEvent.columnApi = columnApi;
agEvent.context = context;
}
this.dispatchToListeners(agEvent, true);
this.dispatchToListeners(agEvent, false);
this.firedEvents[agEvent.type] = true;
};
EventService2.prototype.dispatchEventOnce = function(event) {
if (!this.firedEvents[event.type]) {
this.dispatchEvent(event);
}
};
EventService2.prototype.dispatchToListeners = function(event, async) {
var _this = this;
var eventType = event.type;
if (async && "event" in event) {
var browserEvent = event.event;
if (browserEvent instanceof Event) {
event.eventPath = browserEvent.composedPath();
}
}
var processEventListeners = function(listeners2) {
return listeners2.forEach(function(listener) {
if (async) {
_this.dispatchAsync(function() {
return listener(event);
});
} else {
listener(event);
}
});
};
var listeners = new Set(this.getListeners(eventType, async, false));
if (listeners) {
processEventListeners(listeners);
}
var globalListeners = new Set(async ? this.globalAsyncListeners : this.globalSyncListeners);
globalListeners.forEach(function(listener) {
if (async) {
_this.dispatchAsync(function() {
return _this.frameworkOverrides.dispatchEvent(eventType, function() {
return listener(eventType, event);
}, true);
});
} else {
_this.frameworkOverrides.dispatchEvent(eventType, function() {
return listener(eventType, event);
}, true);
}
});
};
EventService2.prototype.dispatchAsync = function(func) {
this.asyncFunctionsQueue.push(func);
if (!this.scheduled) {
window.setTimeout(this.flushAsyncQueue.bind(this), 0);
this.scheduled = true;
}
};
EventService2.prototype.flushAsyncQueue = function() {
this.scheduled = false;
var queueCopy = this.asyncFunctionsQueue.slice();
this.asyncFunctionsQueue = [];
queueCopy.forEach(function(func) {
return func();
});
};
__decorate$2E([
__param$a(0, Qualifier("loggerFactory")),
__param$a(1, Qualifier("gridOptionsService")),
__param$a(2, Qualifier("frameworkOverrides")),
__param$a(3, Qualifier("globalEventListener"))
], EventService2.prototype, "setBeans", null);
EventService2 = __decorate$2E([
Bean("eventService")
], EventService2);
return EventService2;
}()
);
var __decorate$2D = function(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;
};
var __read$v = function(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 };
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
var __spreadArray$p = function(to, from) {
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
to[j] = from[i];
return to;
};
var instanceIdSequence$4 = 0;
function getNextColInstanceId() {
return instanceIdSequence$4++;
}
var Column = (
/** @class */
function() {
function Column2(colDef, userProvidedColDef, colId, primary) {
this.instanceId = getNextColInstanceId();
this.autoHeaderHeight = null;
this.moving = false;
this.menuVisible = false;
this.filterActive = false;
this.eventService = new EventService();
this.tooltipEnabled = false;
this.rowGroupActive = false;
this.pivotActive = false;
this.aggregationActive = false;
this.colDef = colDef;
this.userProvidedColDef = userProvidedColDef;
this.colId = colId;
this.primary = primary;
this.setState(colDef);
}
Column2.prototype.getInstanceId = function() {
return this.instanceId;
};
Column2.prototype.setState = function(colDef) {
if (colDef.sort !== void 0) {
if (colDef.sort === "asc" || colDef.sort === "desc") {
this.sort = colDef.sort;
}
} else {
if (colDef.initialSort === "asc" || colDef.initialSort === "desc") {
this.sort = colDef.initialSort;
}
}
var sortIndex = attrToNumber(colDef.sortIndex);
var initialSortIndex = attrToNumber(colDef.initialSortIndex);
if (sortIndex !== void 0) {
if (sortIndex !== null) {
this.sortIndex = sortIndex;
}
} else {
if (initialSortIndex !== null) {
this.sortIndex = initialSortIndex;
}
}
var hide = attrToBoolean(colDef.hide);
var initialHide = attrToBoolean(colDef.initialHide);
if (hide !== void 0) {
this.visible = !hide;
} else {
this.visible = !initialHide;
}
if (colDef.pinned !== void 0) {
this.setPinned(colDef.pinned);
} else {
this.setPinned(colDef.initialPinned);
}
var flex = attrToNumber(colDef.flex);
var initialFlex = attrToNumber(colDef.initialFlex);
if (flex !== void 0) {
this.flex = flex;
} else if (initialFlex !== void 0) {
this.flex = initialFlex;
}
};
Column2.prototype.setColDef = function(colDef, userProvidedColDef) {
this.colDef = colDef;
this.userProvidedColDef = userProvidedColDef;
this.initMinAndMaxWidths();
this.initDotNotation();
this.eventService.dispatchEvent(this.createColumnEvent("colDefChanged", "api"));
};
Column2.prototype.getUserProvidedColDef = function() {
return this.userProvidedColDef;
};
Column2.prototype.setParent = function(parent) {
this.parent = parent;
};
Column2.prototype.getParent = function() {
return this.parent;
};
Column2.prototype.setOriginalParent = function(originalParent) {
this.originalParent = originalParent;
};
Column2.prototype.getOriginalParent = function() {
return this.originalParent;
};
Column2.prototype.initialise = function() {
this.initMinAndMaxWidths();
this.resetActualWidth("gridInitializing");
this.initDotNotation();
this.initTooltip();
this.validate();
};
Column2.prototype.initDotNotation = function() {
var suppressDotNotation = this.gridOptionsService.is("suppressFieldDotNotation");
this.fieldContainsDots = exists(this.colDef.field) && this.colDef.field.indexOf(".") >= 0 && !suppressDotNotation;
this.tooltipFieldContainsDots = exists(this.colDef.tooltipField) && this.colDef.tooltipField.indexOf(".") >= 0 && !suppressDotNotation;
};
Column2.prototype.initMinAndMaxWidths = function() {
var colDef = this.colDef;
this.minWidth = this.columnUtils.calculateColM