From 738354e9acab5d71c69c59d0f6ceee067c2887c7 Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Tue, 8 Feb 2022 21:33:32 +0700 Subject: [PATCH] Closes #968 (#969) Signed-off-by: Andrey Sobolev --- packages/ui/src/components/Component.svelte | 32 ++-- .../ui/src/components/PanelInstance.svelte | 16 +- .../src/components/EditDoc.svelte | 179 ++++++++++-------- 3 files changed, 129 insertions(+), 98 deletions(-) diff --git a/packages/ui/src/components/Component.svelte b/packages/ui/src/components/Component.svelte index 595a296cfc..76e0244d92 100644 --- a/packages/ui/src/components/Component.svelte +++ b/packages/ui/src/components/Component.svelte @@ -25,20 +25,22 @@ export let is: AnyComponent export let props = {} - $: component = getResource(is) + $: component = (is != null) ? getResource(is) : Promise.reject(new Error('is not defined')) -{#await component} - -{:then Ctor} - - - - - -{:catch err} -
-    
-  
- -{/await} +{#if is} + {#await component} + + {:then Ctor} + + + + + + {:catch err} +
+      
+    
+ + {/await} +{/if} diff --git a/packages/ui/src/components/PanelInstance.svelte b/packages/ui/src/components/PanelInstance.svelte index b38c4d321e..9c22c93be8 100644 --- a/packages/ui/src/components/PanelInstance.svelte +++ b/packages/ui/src/components/PanelInstance.svelte @@ -16,7 +16,7 @@ -{#if object !== undefined} - {#await getTitle(object) then title} - { - dispatch('close') - }} - > -
- {#await getHeaderEditor(object._class) then is} - {#if is} - - {:else} - - {/if} - {/await} -
-
- {#if mainEditor} - { - ignoreKeys = ev.detail.ignoreKeys - updateKeys() - }} - on:click={(ev) => { - fullSize = true - rightSection = ev.detail.presenter - }} - /> +{#if object !== undefined && title !== undefined} + { + dispatch('close') + }} + > +
+ {#if !headerLoading} + {#if headerEditor !== undefined} + + {:else} + {/if} -
- {#if mixins.length > 0} -
+ {/if} +
+
+ {#if mainEditor} + { + ignoreKeys = ev.detail.ignoreKeys + updateKeys() + }} + on:click={(ev) => { + fullSize = true + rightSection = ev.detail.presenter + }} + /> + {/if} +
+ {#if mixins.length > 0} +
+
{ + selectedClass = objectClass._id + }} + > +
+ {#each mixins as mixin}
{ - selectedClass = objectClass._id - selectedMixin = undefined + selectedClass = mixin._id }} > -
- {#each mixins as mixin} -
{ - selectedClass = mixin._id - selectedMixin = mixin - }} - > -
- {/each} -
- {/if} - {#each collectionKeys as collection} + {/each} +
+ {/if} + {#if collectionKeys.length !== collectionEditors.length} + + {:else} + {#each collectionKeys as collection, i}
- {#await getCollectionEditor(collection) then is} - - {/await} +
{/each} -
- {/await} + {/if} + {/if}