diff --git a/packages/web/src/widgets/WidgetColumnBar.svelte b/packages/web/src/widgets/WidgetColumnBar.svelte
index 45cafb9ca..c5da25125 100644
--- a/packages/web/src/widgets/WidgetColumnBar.svelte
+++ b/packages/web/src/widgets/WidgetColumnBar.svelte
@@ -1,38 +1,99 @@
diff --git a/packages/web/src/widgets/WidgetColumnBarItem.svelte b/packages/web/src/widgets/WidgetColumnBarItem.svelte
index c48678f9f..276e3ac5e 100644
--- a/packages/web/src/widgets/WidgetColumnBarItem.svelte
+++ b/packages/web/src/widgets/WidgetColumnBarItem.svelte
@@ -17,55 +17,45 @@
export let storageName = null;
export let onClose = null;
+ export let minimalHeight = 100;
+ export let name;
- let size = 0;
+ // let size = 0;
- const dynamicProps = writable({
- splitterVisible: false,
- visibleItemsCount: 0,
- });
+ // const dynamicProps = writable({
+ // splitterVisible: false,
+ // visibleItemsCount: 0,
+ // });
const pushWidgetItemDefinition = getContext('pushWidgetItemDefinition') as any;
const updateWidgetItemDefinition = getContext('updateWidgetItemDefinition') as any;
- const widgetColumnBarHeight = getContext('widgetColumnBarHeight') as any;
- const widgetItemIndex = pushWidgetItemDefinition(
- {
- collapsed,
- height,
- skip,
- positiveCondition,
- },
- dynamicProps
- );
+ // const widgetColumnBarHeight = getContext('widgetColumnBarHeight') as any;
+ const widgetResizeItem = getContext('widgetResizeItem') as any;
+ const widgetColumnBarComputed = getContext('widgetColumnBarComputed') as any;
+ pushWidgetItemDefinition(name, {
+ collapsed,
+ height,
+ skip,
+ positiveCondition,
+ });
- $: updateWidgetItemDefinition(widgetItemIndex, { collapsed: !visible, height, skip, positiveCondition });
+ $: updateWidgetItemDefinition(name, { collapsed: !visible, height, skip, positiveCondition });
- $: setInitialSize(height, $widgetColumnBarHeight);
+ // $: setInitialSize(height, $widgetColumnBarHeight);
- $: if (storageName && $widgetColumnBarHeight > 0) {
- setLocalStorage(storageName, { relativeHeight: size / $widgetColumnBarHeight, visible });
- }
-
- function setInitialSize(initialSize, parentHeight) {
- if (storageName) {
- const storage = getLocalStorage(storageName);
- if (storage) {
- size = parentHeight * storage.relativeHeight;
- return;
- }
- }
- if (_.isString(initialSize) && initialSize.endsWith('px')) size = parseInt(initialSize.slice(0, -2));
- else if (_.isString(initialSize) && initialSize.endsWith('%'))
- size = (parentHeight * parseFloat(initialSize.slice(0, -1))) / 100;
- else size = parentHeight / 3;
- }
+ // $: if (storageName && $widgetColumnBarHeight > 0) {
+ // setLocalStorage(storageName, { relativeHeight: size / $widgetColumnBarHeight, visible });
+ // }
let visible =
storageName && getLocalStorage(storageName) && getLocalStorage(storageName).visible != null
? getLocalStorage(storageName).visible
: !collapsed;
- $: collapsible = $dynamicProps.visibleItemsCount != 1 || !visible;
+ $: computed = $widgetColumnBarComputed[name] || {};
+ $: collapsible = computed.visibleItemsCount != 1 || !visible;
+ $: size = computed.size ?? 100;
+ $: splitterVisible = computed.splitterVisible;
{#if !skip && positiveCondition}
@@ -79,14 +69,18 @@
{#if visible}
- {#if $dynamicProps.splitterVisible}
-
(size += e.detail)} />
+ {#if splitterVisible}
+
widgetResizeItem(name, e.detail)}
+ />
{/if}
{/if}
{/if}