UNPKG

@revolist/svelte-datagrid

Version:

Svelte DataGrid Spreadsheet component with native cell render support

301 lines (300 loc) 13.2 kB
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 };