Something went wrong on our end
Select Git revision
trimspaces.js
-
Volker Schukai authoredVolker Schukai authored
datatable.mjs 44.74 KiB
/**
* Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
* Node module: @schukai/monster
*
* This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
* The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
*
* For those who do not wish to adhere to the AGPLv3, a commercial license is available.
* Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
* For more information about purchasing a commercial license, please contact schukai GmbH.
*
* SPDX-License-Identifier: AGPL-3.0
*/
import {Datasource} from "./datasource.mjs";
import {
assembleMethodSymbol,
CustomElement,
registerCustomElement,
getSlottedElements,
} from "../../dom/customelement.mjs";
import {
findTargetElementFromEvent,
fireCustomEvent,
} from "../../dom/events.mjs";
import {clone} from "../../util/clone.mjs";
import {
isString,
isFunction,
isInstance,
isObject,
isArray,
} from "../../types/is.mjs";
import {
validateArray,
validateInteger,
validateObject,
} from "../../types/validate.mjs";
import {Observer} from "../../types/observer.mjs";
import {
ATTRIBUTE_DATATABLE_HEAD,
ATTRIBUTE_DATATABLE_GRID_TEMPLATE,
ATTRIBUTE_DATASOURCE_SELECTOR,
ATTRIBUTE_DATATABLE_ALIGN,
ATTRIBUTE_DATATABLE_SORTABLE,
ATTRIBUTE_DATATABLE_MODE,
ATTRIBUTE_DATATABLE_INDEX,
ATTRIBUTE_DATATABLE_MODE_HIDDEN,
ATTRIBUTE_DATATABLE_FEATURES,
ATTRIBUTE_DATATABLE_MODE_VISIBLE,
ATTRIBUTE_DATATABLE_RESPONSIVE_BREAKPOINT,
ATTRIBUTE_DATATABLE_MODE_FIXED,
} from "./constants.mjs";
import {instanceSymbol} from "../../constants.mjs";
import {
Header,
createOrderStatement,
DIRECTION_ASC,
DIRECTION_DESC,
DIRECTION_NONE,
} from "./datatable/header.mjs";
import {DatatableStyleSheet} from "./stylesheet/datatable.mjs";
import {
handleDataSourceChanges,
datasourceLinkedElementSymbol,
} from "./util.mjs";
import "./columnbar.mjs";
import "./filter-button.mjs";
import {
findElementWithSelectorUpwards,