@revolist/svelte-datagrid
Version:
Svelte DataGrid Spreadsheet component with native cell render support
446 lines (445 loc) • 25.6 kB
JavaScript
(function(global, factory) {
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@revolist/revogrid/loader"), require("svelte/internal/disclose-version"), require("svelte/internal/flags/legacy"), require("svelte/internal/client"), require("svelte")) : typeof define === "function" && define.amd ? define([
"exports",
"@revolist/revogrid/loader",
"svelte/internal/disclose-version",
"svelte/internal/flags/legacy",
"svelte/internal/client",
"svelte"
], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.SvelteDatagrid = {}, global._revolist_revogrid_loader, global.svelte_internal_disclose_version, global.svelte_internal_flags_legacy, global.svelte_internal_client, global.svelte));
})(this, function(exports, _revolist_revogrid_loader, svelte_internal_disclose_version, svelte_internal_flags_legacy, svelte_internal_client, svelte) {
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
//#region \0rolldown/runtime.js
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
key = keys[i];
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: ((k) => from[k]).bind(null, key),
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
value: mod,
enumerable: true
}) : target, mod));
//#endregion
svelte_internal_client = __toESM(svelte_internal_client, 1);
//#region lib/components/RevoGrid.ts
var root = svelte_internal_client.from_html(`<revo-grid><!></revo-grid>`, 2);
function RevoGrid($$anchor, $$props) {
svelte_internal_client.push($$props, false);
let __ref = svelte_internal_client.mutable_source();
let __mounted = svelte_internal_client.mutable_source(false);
const dispatch = (0, svelte.createEventDispatcher)();
let rowHeaders = svelte_internal_client.prop($$props, "rowHeaders", 8, void 0);
let frameSize = svelte_internal_client.prop($$props, "frameSize", 8, void 0);
let rowSize = svelte_internal_client.prop($$props, "rowSize", 8, void 0);
let colSize = svelte_internal_client.prop($$props, "colSize", 8, void 0);
let range = svelte_internal_client.prop($$props, "range", 8, void 0);
let readonly = svelte_internal_client.prop($$props, "readonly", 8, void 0);
let resize = svelte_internal_client.prop($$props, "resize", 8, void 0);
let noHorizontalScrollTransfer = svelte_internal_client.prop($$props, "noHorizontalScrollTransfer", 8, void 0);
let canFocus = svelte_internal_client.prop($$props, "canFocus", 8, void 0);
let useClipboard = svelte_internal_client.prop($$props, "useClipboard", 8, void 0);
let columns = svelte_internal_client.prop($$props, "columns", 8, void 0);
let source = svelte_internal_client.prop($$props, "source", 8, void 0);
let pinnedTopSource = svelte_internal_client.prop($$props, "pinnedTopSource", 8, void 0);
let pinnedBottomSource = svelte_internal_client.prop($$props, "pinnedBottomSource", 8, void 0);
let rowDefinitions = svelte_internal_client.prop($$props, "rowDefinitions", 8, void 0);
let editors = svelte_internal_client.prop($$props, "editors", 8, void 0);
let applyOnClose = svelte_internal_client.prop($$props, "applyOnClose", 8, void 0);
let plugins = svelte_internal_client.prop($$props, "plugins", 8, void 0);
let columnTypes = svelte_internal_client.prop($$props, "columnTypes", 8, void 0);
let theme = svelte_internal_client.prop($$props, "theme", 8, void 0);
let rowClass = svelte_internal_client.prop($$props, "rowClass", 8, void 0);
let autoSizeColumn = svelte_internal_client.prop($$props, "autoSizeColumn", 8, void 0);
let filter = svelte_internal_client.prop($$props, "filter", 8, void 0);
let sorting = svelte_internal_client.prop($$props, "sorting", 8, void 0);
let focusTemplate = svelte_internal_client.prop($$props, "focusTemplate", 8, void 0);
let canMoveColumns = svelte_internal_client.prop($$props, "canMoveColumns", 8, void 0);
let trimmedRows = svelte_internal_client.prop($$props, "trimmedRows", 8, void 0);
let exporting = svelte_internal_client.prop($$props, "exporting", 8, void 0);
let grouping = svelte_internal_client.prop($$props, "grouping", 8, void 0);
let stretch = svelte_internal_client.prop($$props, "stretch", 8, void 0);
let additionalData = svelte_internal_client.prop($$props, "additionalData", 8, void 0);
let disableVirtualX = svelte_internal_client.prop($$props, "disableVirtualX", 8, void 0);
let virtualX = svelte_internal_client.prop($$props, "virtualX", 8, void 0);
let disableVirtualY = svelte_internal_client.prop($$props, "disableVirtualY", 8, void 0);
let hideAttribution = svelte_internal_client.prop($$props, "hideAttribution", 8, void 0);
let jobsBeforeRender = svelte_internal_client.prop($$props, "jobsBeforeRender", 8, void 0);
let registerVNode = svelte_internal_client.prop($$props, "registerVNode", 8, void 0);
let accessible = svelte_internal_client.prop($$props, "accessible", 8, void 0);
let rtl = svelte_internal_client.prop($$props, "rtl", 8, void 0);
let canDrag = svelte_internal_client.prop($$props, "canDrag", 8, void 0);
const refresh = (...args) => svelte_internal_client.get(__ref).refresh(...args);
const setDataAt = (...args) => svelte_internal_client.get(__ref).setDataAt(...args);
const scrollToRow = (...args) => svelte_internal_client.get(__ref).scrollToRow(...args);
const scrollToColumnIndex = (...args) => svelte_internal_client.get(__ref).scrollToColumnIndex(...args);
const scrollToColumnProp = (...args) => svelte_internal_client.get(__ref).scrollToColumnProp(...args);
const updateColumns = (...args) => svelte_internal_client.get(__ref).updateColumns(...args);
const addTrimmed = (...args) => svelte_internal_client.get(__ref).addTrimmed(...args);
const scrollToCoordinate = (...args) => svelte_internal_client.get(__ref).scrollToCoordinate(...args);
const setCellEdit = (...args) => svelte_internal_client.get(__ref).setCellEdit(...args);
const setCellsFocus = (...args) => svelte_internal_client.get(__ref).setCellsFocus(...args);
const getSource = (...args) => svelte_internal_client.get(__ref).getSource(...args);
const getVisibleSource = (...args) => svelte_internal_client.get(__ref).getVisibleSource(...args);
const getSourceStore = (...args) => svelte_internal_client.get(__ref).getSourceStore(...args);
const getColumnStore = (...args) => svelte_internal_client.get(__ref).getColumnStore(...args);
const updateColumnSorting = (...args) => svelte_internal_client.get(__ref).updateColumnSorting(...args);
const clearSorting = (...args) => svelte_internal_client.get(__ref).clearSorting(...args);
const getColumns = (...args) => svelte_internal_client.get(__ref).getColumns(...args);
const clearFocus = (...args) => svelte_internal_client.get(__ref).clearFocus(...args);
const getPlugins = (...args) => svelte_internal_client.get(__ref).getPlugins(...args);
const getFocused = (...args) => svelte_internal_client.get(__ref).getFocused(...args);
const getContentSize = (...args) => svelte_internal_client.get(__ref).getContentSize(...args);
const getSelectedRange = (...args) => svelte_internal_client.get(__ref).getSelectedRange(...args);
const refreshExtraElements = (...args) => svelte_internal_client.get(__ref).refreshExtraElements(...args);
const getProviders = (...args) => svelte_internal_client.get(__ref).getProviders(...args);
const getWebComponent = () => svelte_internal_client.get(__ref);
(0, svelte.onMount)(() => {
svelte_internal_client.set(__mounted, true);
});
const setProp = (prop, value) => {
if (svelte_internal_client.get(__ref)) svelte_internal_client.mutate(__ref, svelte_internal_client.get(__ref)[prop] = value);
};
const onEvent = (e) => {
e.stopPropagation();
dispatch(e.type, e.detail);
};
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(columns())), () => {
if (svelte_internal_client.get(__mounted)) setProp("columns", columns());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(source())), () => {
if (svelte_internal_client.get(__mounted)) setProp("source", source());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(pinnedTopSource())), () => {
if (svelte_internal_client.get(__mounted)) setProp("pinnedTopSource", pinnedTopSource());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(pinnedBottomSource())), () => {
if (svelte_internal_client.get(__mounted)) setProp("pinnedBottomSource", pinnedBottomSource());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(rowDefinitions())), () => {
if (svelte_internal_client.get(__mounted)) setProp("rowDefinitions", rowDefinitions());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(editors())), () => {
if (svelte_internal_client.get(__mounted)) setProp("editors", editors());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(plugins())), () => {
if (svelte_internal_client.get(__mounted)) setProp("plugins", plugins());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(columnTypes())), () => {
if (svelte_internal_client.get(__mounted)) setProp("columnTypes", columnTypes());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(sorting())), () => {
if (svelte_internal_client.get(__mounted)) setProp("sorting", sorting());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(focusTemplate())), () => {
if (svelte_internal_client.get(__mounted)) setProp("focusTemplate", focusTemplate());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(trimmedRows())), () => {
if (svelte_internal_client.get(__mounted)) setProp("trimmedRows", trimmedRows());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(grouping())), () => {
if (svelte_internal_client.get(__mounted)) setProp("grouping", grouping());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(additionalData())), () => {
if (svelte_internal_client.get(__mounted)) setProp("additionalData", additionalData());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(virtualX())), () => {
if (svelte_internal_client.get(__mounted)) setProp("virtualX", virtualX());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(jobsBeforeRender())), () => {
if (svelte_internal_client.get(__mounted)) setProp("jobsBeforeRender", jobsBeforeRender());
});
svelte_internal_client.legacy_pre_effect(() => (svelte_internal_client.get(__mounted), svelte_internal_client.deep_read_state(registerVNode())), () => {
if (svelte_internal_client.get(__mounted)) setProp("registerVNode", registerVNode());
});
svelte_internal_client.legacy_pre_effect_reset();
var $$exports = {
refresh,
setDataAt,
scrollToRow,
scrollToColumnIndex,
scrollToColumnProp,
updateColumns,
addTrimmed,
scrollToCoordinate,
setCellEdit,
setCellsFocus,
getSource,
getVisibleSource,
getSourceStore,
getColumnStore,
updateColumnSorting,
clearSorting,
getColumns,
clearFocus,
getPlugins,
getFocused,
getContentSize,
getSelectedRange,
refreshExtraElements,
getProviders,
getWebComponent
};
svelte_internal_client.init();
var revo_grid = root();
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "row-headers", rowHeaders()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "frame-size", frameSize()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "row-size", rowSize()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "col-size", colSize()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "range", range()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "readonly", readonly()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "resize", resize()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "no-horizontal-scroll-transfer", noHorizontalScrollTransfer()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "can-focus", canFocus()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "use-clipboard", useClipboard()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "apply-on-close", applyOnClose()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "theme", theme()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "row-class", rowClass()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "auto-size-column", autoSizeColumn()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "filter", filter()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "can-move-columns", canMoveColumns()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "exporting", exporting()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "stretch", stretch()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "disable-virtual-x", disableVirtualX()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "disable-virtual-y", disableVirtualY()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "hide-attribution", hideAttribution()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "accessible", accessible()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "rtl", rtl()));
svelte_internal_client.template_effect(() => svelte_internal_client.set_custom_element_data(revo_grid, "can-drag", canDrag()));
var node = svelte_internal_client.child(revo_grid);
svelte_internal_client.slot(node, $$props, "default", {}, null);
svelte_internal_client.reset(revo_grid);
svelte_internal_client.bind_this(revo_grid, ($$value) => svelte_internal_client.set(__ref, $$value), () => svelte_internal_client.get(__ref));
svelte_internal_client.event("contentsizechanged", revo_grid, onEvent);
svelte_internal_client.event("beforeedit", revo_grid, onEvent);
svelte_internal_client.event("beforerangeedit", revo_grid, onEvent);
svelte_internal_client.event("afteredit", revo_grid, onEvent);
svelte_internal_client.event("beforeautofill", revo_grid, onEvent);
svelte_internal_client.event("beforerange", revo_grid, onEvent);
svelte_internal_client.event("afterfocus", revo_grid, onEvent);
svelte_internal_client.event("roworderchanged", revo_grid, onEvent);
svelte_internal_client.event("beforesorting", revo_grid, onEvent);
svelte_internal_client.event("beforesourcesortingapply", revo_grid, onEvent);
svelte_internal_client.event("beforesortingapply", revo_grid, onEvent);
svelte_internal_client.event("aftersortingapply", revo_grid, onEvent);
svelte_internal_client.event("rowdragstart", revo_grid, onEvent);
svelte_internal_client.event("headerclick", revo_grid, onEvent);
svelte_internal_client.event("beforecellfocus", revo_grid, onEvent);
svelte_internal_client.event("beforefocuslost", revo_grid, onEvent);
svelte_internal_client.event("beforesourceset", revo_grid, onEvent);
svelte_internal_client.event("beforeanysource", revo_grid, onEvent);
svelte_internal_client.event("aftersourceset", revo_grid, onEvent);
svelte_internal_client.event("afteranysource", revo_grid, onEvent);
svelte_internal_client.event("beforecolumnsgather", revo_grid, onEvent);
svelte_internal_client.event("beforecolumnsset", revo_grid, onEvent);
svelte_internal_client.event("beforecolumnapplied", revo_grid, onEvent);
svelte_internal_client.event("aftercolumnsset", revo_grid, onEvent);
svelte_internal_client.event("beforefilterapply", revo_grid, onEvent);
svelte_internal_client.event("beforefiltertrimmed", revo_grid, onEvent);
svelte_internal_client.event("beforetrimmed", revo_grid, onEvent);
svelte_internal_client.event("aftertrimmed", revo_grid, onEvent);
svelte_internal_client.event("viewportscroll", revo_grid, onEvent);
svelte_internal_client.event("beforeexport", revo_grid, onEvent);
svelte_internal_client.event("beforeeditstart", revo_grid, onEvent);
svelte_internal_client.event("aftercolumnresize", revo_grid, onEvent);
svelte_internal_client.event("beforerowdefinition", revo_grid, onEvent);
svelte_internal_client.event("filterconfigchanged", revo_grid, onEvent);
svelte_internal_client.event("sortingconfigchanged", revo_grid, onEvent);
svelte_internal_client.event("rowheaderschanged", revo_grid, onEvent);
svelte_internal_client.event("beforegridrender", revo_grid, onEvent);
svelte_internal_client.event("aftergridrender", revo_grid, onEvent);
svelte_internal_client.event("aftergridinit", revo_grid, onEvent);
svelte_internal_client.event("additionaldatachanged", revo_grid, onEvent);
svelte_internal_client.event("afterthemechanged", revo_grid, onEvent);
svelte_internal_client.event("created", revo_grid, onEvent);
svelte_internal_client.append($$anchor, revo_grid);
svelte_internal_client.bind_prop($$props, "refresh", refresh);
svelte_internal_client.bind_prop($$props, "setDataAt", setDataAt);
svelte_internal_client.bind_prop($$props, "scrollToRow", scrollToRow);
svelte_internal_client.bind_prop($$props, "scrollToColumnIndex", scrollToColumnIndex);
svelte_internal_client.bind_prop($$props, "scrollToColumnProp", scrollToColumnProp);
svelte_internal_client.bind_prop($$props, "updateColumns", updateColumns);
svelte_internal_client.bind_prop($$props, "addTrimmed", addTrimmed);
svelte_internal_client.bind_prop($$props, "scrollToCoordinate", scrollToCoordinate);
svelte_internal_client.bind_prop($$props, "setCellEdit", setCellEdit);
svelte_internal_client.bind_prop($$props, "setCellsFocus", setCellsFocus);
svelte_internal_client.bind_prop($$props, "getSource", getSource);
svelte_internal_client.bind_prop($$props, "getVisibleSource", getVisibleSource);
svelte_internal_client.bind_prop($$props, "getSourceStore", getSourceStore);
svelte_internal_client.bind_prop($$props, "getColumnStore", getColumnStore);
svelte_internal_client.bind_prop($$props, "updateColumnSorting", updateColumnSorting);
svelte_internal_client.bind_prop($$props, "clearSorting", clearSorting);
svelte_internal_client.bind_prop($$props, "getColumns", getColumns);
svelte_internal_client.bind_prop($$props, "clearFocus", clearFocus);
svelte_internal_client.bind_prop($$props, "getPlugins", getPlugins);
svelte_internal_client.bind_prop($$props, "getFocused", getFocused);
svelte_internal_client.bind_prop($$props, "getContentSize", getContentSize);
svelte_internal_client.bind_prop($$props, "getSelectedRange", getSelectedRange);
svelte_internal_client.bind_prop($$props, "refreshExtraElements", refreshExtraElements);
svelte_internal_client.bind_prop($$props, "getProviders", getProviders);
svelte_internal_client.bind_prop($$props, "getWebComponent", getWebComponent);
return svelte_internal_client.pop($$exports);
}
//#endregion
//#region lib/revogrid.ts
(0, _revolist_revogrid_loader.defineCustomElements)();
//#endregion
//#region lib/reactive-props.svelte.ts
function createReactiveProps(initialProps) {
const props = svelte_internal_client.proxy({ ...initialProps });
return {
props,
update(nextProps) {
for (const key of Object.keys(props)) if (!(key in nextProps)) delete props[key];
Object.assign(props, nextProps);
}
};
}
//#endregion
//#region lib/renderer.ts
function getCurrentContext() {
try {
return (0, svelte.getAllContexts)();
} catch {
return;
}
}
function SvelteTemplateConstructor(el, SvelteComponent, initialProps, lastEl = null, context = getCurrentContext()) {
if (!el) {
lastEl?.destroy();
return null;
}
if (el._svelteTemplate?.component === SvelteComponent) {
el._svelteTemplate.update(initialProps);
return el._svelteTemplate;
}
el._svelteTemplate?.destroy();
const reactiveProps = createReactiveProps(initialProps);
const instance = (0, svelte.mount)(SvelteComponent, {
target: el,
props: reactiveProps.props,
context
});
const rendered = {
component: SvelteComponent,
instance,
props: reactiveProps,
update(newProps) {
reactiveProps.update(newProps);
(0, svelte.flushSync)();
},
destroy() {
(0, svelte.unmount)(instance);
el._svelteTemplate = void 0;
}
};
el._svelteTemplate = rendered;
(0, svelte.flushSync)();
return rendered;
}
/**
* Render a Svelte component in a RevoGrid column cell template.
*/
var Template = (SvelteComponent, customProps) => {
const context = getCurrentContext();
return (h, p, addition) => {
const props = {
...customProps ?? {},
...p,
addition
};
const key = `${p.prop}-${p.rowIndex || 0}`;
let lastEl = null;
return h("span", {
key,
ref: (el) => {
lastEl = SvelteTemplateConstructor(el, SvelteComponent, props, lastEl, context);
}
});
};
};
//#endregion
//#region lib/editor.adapter.ts
var SvelteEditorAdapter = class {
EditorComponent;
column;
save;
close;
element = null;
editCell;
renderedComponent = null;
constructor(EditorComponent, column, save, close) {
this.EditorComponent = EditorComponent;
this.column = column;
this.save = save;
this.close = close;
}
beforeUpdate() {
this.renderedComponent?.instance.beforeUpdate?.();
}
beforeDisconnect() {
this.renderedComponent?.instance.beforeDisconnect?.();
}
beforeAutoSave(value) {
return this.renderedComponent?.instance.beforeAutoSave?.(value) ?? false;
}
componentDidRender() {
this.renderedComponent?.instance.componentDidRender?.();
}
disconnectedCallback() {
this.renderedComponent?.destroy();
this.renderedComponent = null;
}
getValue() {
return this.renderedComponent?.instance.getValue?.();
}
render(h) {
return h("span", {
key: `${this.column.prop}-${this.editCell?.rowIndex || 0}`,
ref: (el) => {
const editorData = {
...this.editCell,
column: this.column,
save: this.save,
close: this.close
};
this.renderedComponent = SvelteTemplateConstructor(el, this.EditorComponent, editorData, this.renderedComponent);
}
});
}
};
//#endregion
//#region lib/editor.ts
/**
* Create an editor constructor from a Svelte component.
*/
var Editor = (EditorComponent) => {
return function(column, save, close) {
return new SvelteEditorAdapter(EditorComponent, column, save, close);
};
};
//#endregion
exports.Editor = Editor;
exports.RevoGrid = RevoGrid;
exports.SvelteEditorAdapter = SvelteEditorAdapter;
exports.SvelteTemplateConstructor = SvelteTemplateConstructor;
exports.Template = Template;
Object.keys(_revolist_revogrid_loader).forEach(function(k) {
if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
enumerable: true,
get: function() {
return _revolist_revogrid_loader[k];
}
});
});
});