diff --git a/zero.Web.UI/App/components/modules/module-preview.vue b/zero.Web.UI/App/components/modules/module-preview.vue index d64e1cef..f7afd588 100644 --- a/zero.Web.UI/App/components/modules/module-preview.vue +++ b/zero.Web.UI/App/components/modules/module-preview.vue @@ -1,21 +1,25 @@  @@ -55,6 +59,22 @@ }, + computed: { + alias() + { + return this.value.moduleTypeAlias; + }, + tryRender() + { + return this.module && this.renderer && this.renderer.preview && this.renderer.preview.template; + }, + canEdit() + { + return this.module && this.renderer; + } + }, + + mounted() { this.render(this.value); @@ -66,11 +86,9 @@ render(value) { this.loading = true; - - this.module = _find(this.types, x => x.alias == this.value.moduleTypeAlias); - this.renderer = zero.renderers['module.' + this.value.moduleTypeAlias]; - - this.loading = false; + this.module = _find(this.types, x => x.alias == this.alias); + this.renderer = zero.renderers['module.' + this.alias]; + this.$nextTick(() => this.loading = false); } } } @@ -102,6 +120,11 @@ position: relative; top: -1px; } + + &.is-error + { + color: var(--color-accent-error); + } } .ui-module-item-disabled @@ -165,4 +188,12 @@ margin-left: 10px; } } + + .ui-module-item-error + { + margin: 0; + grid-column: 1; + grid-row: 2; + margin-top: 12px; + } \ No newline at end of file diff --git a/zero.Web.UI/App/components/modules/modules-select.vue b/zero.Web.UI/App/components/modules/modules-select.vue index d20f37e3..56f278cd 100644 --- a/zero.Web.UI/App/components/modules/modules-select.vue +++ b/zero.Web.UI/App/components/modules/modules-select.vue @@ -1,7 +1,7 @@