@revolist/svelte-datagrid
Version:
Svelte DataGrid Spreadsheet component with native cell render support
301 lines (300 loc) • 13.2 kB
JavaScript
import { defineCustomElements } from "@revolist/revogrid/loader";
export * from "@revolist/revogrid/loader";
import "svelte/internal/disclose-version";
import "svelte/internal/flags/legacy";
import * as $ from "svelte/internal/client";
import { createEventDispatcher, onMount } from "svelte";
var root = $.template(`<revo-grid><!></revo-grid>`, 2);
function RevoGrid($$anchor, $$props) {
$.push($$props, false);
let __ref = $.mutable_state();
let __mounted = $.mutable_state(false);
const dispatch = createEventDispatcher();
let rowHeaders = $.prop($$props, "rowHeaders", 8, void 0);
let frameSize = $.prop($$props, "frameSize", 8, void 0);
let rowSize = $.prop($$props, "rowSize", 8, void 0);
let colSize = $.prop($$props, "colSize", 8, void 0);
let range = $.prop($$props, "range", 8, void 0);
let readonly = $.prop($$props, "readonly", 8, void 0);
let resize = $.prop($$props, "resize", 8, void 0);
let canFocus = $.prop($$props, "canFocus", 8, void 0);
let useClipboard = $.prop($$props, "useClipboard", 8, void 0);
let columns = $.prop($$props, "columns", 8, void 0);
let source = $.prop($$props, "source", 8, void 0);
let pinnedTopSource = $.prop($$props, "pinnedTopSource", 8, void 0);
let pinnedBottomSource = $.prop($$props, "pinnedBottomSource", 8, void 0);
let rowDefinitions = $.prop($$props, "rowDefinitions", 8, void 0);
let editors = $.prop($$props, "editors", 8, void 0);
let applyOnClose = $.prop($$props, "applyOnClose", 8, void 0);
let plugins = $.prop($$props, "plugins", 8, void 0);
let columnTypes = $.prop($$props, "columnTypes", 8, void 0);
let theme = $.prop($$props, "theme", 8, void 0);
let rowClass = $.prop($$props, "rowClass", 8, void 0);
let autoSizeColumn = $.prop($$props, "autoSizeColumn", 8, void 0);
let filter = $.prop($$props, "filter", 8, void 0);
let sorting = $.prop($$props, "sorting", 8, void 0);
let focusTemplate = $.prop($$props, "focusTemplate", 8, void 0);
let canMoveColumns = $.prop($$props, "canMoveColumns", 8, void 0);
let trimmedRows = $.prop($$props, "trimmedRows", 8, void 0);
let exporting = $.prop($$props, "exporting", 8, void 0);
let grouping = $.prop($$props, "grouping", 8, void 0);
let stretch = $.prop($$props, "stretch", 8, void 0);
let additionalData = $.prop($$props, "additionalData", 8, void 0);
let disableVirtualX = $.prop($$props, "disableVirtualX", 8, void 0);
let disableVirtualY = $.prop($$props, "disableVirtualY", 8, void 0);
let hideAttribution = $.prop($$props, "hideAttribution", 8, void 0);
let jobsBeforeRender = $.prop($$props, "jobsBeforeRender", 8, void 0);
let registerVNode = $.prop($$props, "registerVNode", 8, void 0);
let accessible = $.prop($$props, "accessible", 8, void 0);
let canDrag = $.prop($$props, "canDrag", 8, void 0);
const refresh = (...args) => $.get(__ref).refresh(...args);
const setDataAt = (...args) => $.get(__ref).setDataAt(...args);
const scrollToRow = (...args) => $.get(__ref).scrollToRow(...args);
const scrollToColumnIndex = (...args) => $.get(__ref).scrollToColumnIndex(...args);
const scrollToColumnProp = (...args) => $.get(__ref).scrollToColumnProp(...args);
const updateColumns = (...args) => $.get(__ref).updateColumns(...args);
const addTrimmed = (...args) => $.get(__ref).addTrimmed(...args);
const scrollToCoordinate = (...args) => $.get(__ref).scrollToCoordinate(...args);
const setCellEdit = (...args) => $.get(__ref).setCellEdit(...args);
const setCellsFocus = (...args) => $.get(__ref).setCellsFocus(...args);
const getSource = (...args) => $.get(__ref).getSource(...args);
const getVisibleSource = (...args) => $.get(__ref).getVisibleSource(...args);
const getSourceStore = (...args) => $.get(__ref).getSourceStore(...args);
const getColumnStore = (...args) => $.get(__ref).getColumnStore(...args);
const updateColumnSorting = (...args) => $.get(__ref).updateColumnSorting(...args);
const clearSorting = (...args) => $.get(__ref).clearSorting(...args);
const getColumns = (...args) => $.get(__ref).getColumns(...args);
const clearFocus = (...args) => $.get(__ref).clearFocus(...args);
const getPlugins = (...args) => $.get(__ref).getPlugins(...args);
const getFocused = (...args) => $.get(__ref).getFocused(...args);
const getContentSize = (...args) => $.get(__ref).getContentSize(...args);
const getSelectedRange = (...args) => $.get(__ref).getSelectedRange(...args);
const refreshExtraElements = (...args) => $.get(__ref).refreshExtraElements(...args);
const getWebComponent = () => $.get(__ref);
onMount(() => {
$.set(__mounted, true);
});
const setProp = (prop, value) => {
if ($.get(__ref)) $.mutate(__ref, $.get(__ref)[prop] = value);
};
const onEvent = (e) => {
e.stopPropagation();
dispatch(e.type, e.detail);
};
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(columns())),
() => {
if ($.get(__mounted)) setProp("columns", columns());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(source())),
() => {
if ($.get(__mounted)) setProp("source", source());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(pinnedTopSource())),
() => {
if ($.get(__mounted)) setProp("pinnedTopSource", pinnedTopSource());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(pinnedBottomSource())),
() => {
if ($.get(__mounted)) setProp("pinnedBottomSource", pinnedBottomSource());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(rowDefinitions())),
() => {
if ($.get(__mounted)) setProp("rowDefinitions", rowDefinitions());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(editors())),
() => {
if ($.get(__mounted)) setProp("editors", editors());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(plugins())),
() => {
if ($.get(__mounted)) setProp("plugins", plugins());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(columnTypes())),
() => {
if ($.get(__mounted)) setProp("columnTypes", columnTypes());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(sorting())),
() => {
if ($.get(__mounted)) setProp("sorting", sorting());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(focusTemplate())),
() => {
if ($.get(__mounted)) setProp("focusTemplate", focusTemplate());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(trimmedRows())),
() => {
if ($.get(__mounted)) setProp("trimmedRows", trimmedRows());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(grouping())),
() => {
if ($.get(__mounted)) setProp("grouping", grouping());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(additionalData())),
() => {
if ($.get(__mounted)) setProp("additionalData", additionalData());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(jobsBeforeRender())),
() => {
if ($.get(__mounted)) setProp("jobsBeforeRender", jobsBeforeRender());
}
);
$.legacy_pre_effect(
() => ($.get(__mounted), $.deep_read_state(registerVNode())),
() => {
if ($.get(__mounted)) setProp("registerVNode", registerVNode());
}
);
$.legacy_pre_effect_reset();
$.init();
var revo_grid = root();
var node = $.child(revo_grid);
$.slot(node, $$props, "default", {}, null);
$.reset(revo_grid);
$.bind_this(revo_grid, ($$value) => $.set(__ref, $$value), () => $.get(__ref));
$.template_effect(() => {
$.set_custom_element_data(revo_grid, "row-headers", rowHeaders());
$.set_custom_element_data(revo_grid, "frame-size", frameSize());
$.set_custom_element_data(revo_grid, "row-size", rowSize());
$.set_custom_element_data(revo_grid, "col-size", colSize());
$.set_custom_element_data(revo_grid, "range", range());
$.set_custom_element_data(revo_grid, "readonly", readonly());
$.set_custom_element_data(revo_grid, "resize", resize());
$.set_custom_element_data(revo_grid, "can-focus", canFocus());
$.set_custom_element_data(revo_grid, "use-clipboard", useClipboard());
$.set_custom_element_data(revo_grid, "apply-on-close", applyOnClose());
$.set_custom_element_data(revo_grid, "theme", theme());
$.set_custom_element_data(revo_grid, "row-class", rowClass());
$.set_custom_element_data(revo_grid, "auto-size-column", autoSizeColumn());
$.set_custom_element_data(revo_grid, "filter", filter());
$.set_custom_element_data(revo_grid, "can-move-columns", canMoveColumns());
$.set_custom_element_data(revo_grid, "exporting", exporting());
$.set_custom_element_data(revo_grid, "stretch", stretch());
$.set_custom_element_data(revo_grid, "disable-virtual-x", disableVirtualX());
$.set_custom_element_data(revo_grid, "disable-virtual-y", disableVirtualY());
$.set_custom_element_data(revo_grid, "hide-attribution", hideAttribution());
$.set_custom_element_data(revo_grid, "accessible", accessible());
$.set_custom_element_data(revo_grid, "can-drag", canDrag());
});
$.event("contentsizechanged", revo_grid, onEvent);
$.event("beforeedit", revo_grid, onEvent);
$.event("beforerangeedit", revo_grid, onEvent);
$.event("afteredit", revo_grid, onEvent);
$.event("beforeautofill", revo_grid, onEvent);
$.event("beforerange", revo_grid, onEvent);
$.event("afterfocus", revo_grid, onEvent);
$.event("roworderchanged", revo_grid, onEvent);
$.event("beforesorting", revo_grid, onEvent);
$.event("beforesourcesortingapply", revo_grid, onEvent);
$.event("beforesortingapply", revo_grid, onEvent);
$.event("rowdragstart", revo_grid, onEvent);
$.event("headerclick", revo_grid, onEvent);
$.event("beforecellfocus", revo_grid, onEvent);
$.event("beforefocuslost", revo_grid, onEvent);
$.event("beforesourceset", revo_grid, onEvent);
$.event("beforeanysource", revo_grid, onEvent);
$.event("aftersourceset", revo_grid, onEvent);
$.event("afteranysource", revo_grid, onEvent);
$.event("beforecolumnsset", revo_grid, onEvent);
$.event("beforecolumnapplied", revo_grid, onEvent);
$.event("aftercolumnsset", revo_grid, onEvent);
$.event("beforefilterapply", revo_grid, onEvent);
$.event("beforefiltertrimmed", revo_grid, onEvent);
$.event("beforetrimmed", revo_grid, onEvent);
$.event("aftertrimmed", revo_grid, onEvent);
$.event("viewportscroll", revo_grid, onEvent);
$.event("beforeexport", revo_grid, onEvent);
$.event("beforeeditstart", revo_grid, onEvent);
$.event("aftercolumnresize", revo_grid, onEvent);
$.event("beforerowdefinition", revo_grid, onEvent);
$.event("filterconfigchanged", revo_grid, onEvent);
$.event("sortingconfigchanged", revo_grid, onEvent);
$.event("rowheaderschanged", revo_grid, onEvent);
$.event("beforegridrender", revo_grid, onEvent);
$.event("aftergridrender", revo_grid, onEvent);
$.event("aftergridinit", revo_grid, onEvent);
$.event("additionaldatachanged", revo_grid, onEvent);
$.event("afterthemechanged", revo_grid, onEvent);
$.event("created", revo_grid, onEvent);
$.append($$anchor, revo_grid);
$.bind_prop($$props, "refresh", refresh);
$.bind_prop($$props, "setDataAt", setDataAt);
$.bind_prop($$props, "scrollToRow", scrollToRow);
$.bind_prop($$props, "scrollToColumnIndex", scrollToColumnIndex);
$.bind_prop($$props, "scrollToColumnProp", scrollToColumnProp);
$.bind_prop($$props, "updateColumns", updateColumns);
$.bind_prop($$props, "addTrimmed", addTrimmed);
$.bind_prop($$props, "scrollToCoordinate", scrollToCoordinate);
$.bind_prop($$props, "setCellEdit", setCellEdit);
$.bind_prop($$props, "setCellsFocus", setCellsFocus);
$.bind_prop($$props, "getSource", getSource);
$.bind_prop($$props, "getVisibleSource", getVisibleSource);
$.bind_prop($$props, "getSourceStore", getSourceStore);
$.bind_prop($$props, "getColumnStore", getColumnStore);
$.bind_prop($$props, "updateColumnSorting", updateColumnSorting);
$.bind_prop($$props, "clearSorting", clearSorting);
$.bind_prop($$props, "getColumns", getColumns);
$.bind_prop($$props, "clearFocus", clearFocus);
$.bind_prop($$props, "getPlugins", getPlugins);
$.bind_prop($$props, "getFocused", getFocused);
$.bind_prop($$props, "getContentSize", getContentSize);
$.bind_prop($$props, "getSelectedRange", getSelectedRange);
$.bind_prop($$props, "refreshExtraElements", refreshExtraElements);
$.bind_prop($$props, "getWebComponent", getWebComponent);
return $.pop({
refresh,
setDataAt,
scrollToRow,
scrollToColumnIndex,
scrollToColumnProp,
updateColumns,
addTrimmed,
scrollToCoordinate,
setCellEdit,
setCellsFocus,
getSource,
getVisibleSource,
getSourceStore,
getColumnStore,
updateColumnSorting,
clearSorting,
getColumns,
clearFocus,
getPlugins,
getFocused,
getContentSize,
getSelectedRange,
refreshExtraElements,
getWebComponent
});
}
defineCustomElements();
export {
RevoGrid
};