diff --git a/src/components/model/ModelAssociations.svelte b/src/components/model/ModelAssociations.svelte index a0d8f1bad8..5444bb1ba9 100644 --- a/src/components/model/ModelAssociations.svelte +++ b/src/components/model/ModelAssociations.svelte @@ -11,6 +11,7 @@ import type { Model } from '../../types/model'; import type { RadioButtonId } from '../../types/radio-buttons'; import { permissionHandler } from '../../utilities/permissionHandler'; + import Loading from '../Loading.svelte'; import DefinitionEditor from '../ui/Association/DefinitionEditor.svelte'; import CssGrid from '../ui/CssGrid.svelte'; import CssGridGutter from '../ui/CssGridGutter.svelte'; @@ -22,6 +23,7 @@ export let hasCreatePermission: boolean = false; export let hasEditSpecPermission: boolean = false; export let hasModelChanged: boolean = false; + export let loading: boolean = false; export let metadataList: Pick[] = []; export let model: Model | null = null; export let selectedAssociation: Association = 'constraint'; @@ -36,7 +38,7 @@ let metadataMap: Record = {}; let numOfPrivateMetadata: number = 0; - let selectedAssociationId: Association = 'constraint'; + let selectedAssociationId: Association = 'condition'; let selectedAssociationTitle = 'Constraint'; let selectedDefinition: string | null; let selectedViewId: RadioButtonId = 'model'; @@ -181,6 +183,7 @@ {:else}
- {#if model !== null && selectedSpecificationsList.length > 0} + {#if loading} +
+ +
+ {:else if model !== null && selectedSpecificationsList.length > 0}
{#if numOfPrivateMetadata > 0} {numOfPrivateMetadata} @@ -232,7 +239,7 @@ {/if} {/each} {:else} -
+
No {selectedAssociationTitle.toLowerCase()}s associated with this model yet.
{/if} @@ -307,7 +314,7 @@ padding-bottom: 1rem; } - .empty-associations { + .message { padding: 0 1rem; } diff --git a/src/components/model/ModelForm.svelte b/src/components/model/ModelForm.svelte index 9218b68be8..9b155ea83b 100644 --- a/src/components/model/ModelForm.svelte +++ b/src/components/model/ModelForm.svelte @@ -27,8 +27,8 @@ export let modelId: number | undefined; export let createdAt: string | undefined; export let user: User | null; - export let users: UserId[] = []; - export let views: ViewSlim[] = []; + export let users: UserId[] | null = null; + export let views: ViewSlim[] | null = null; const dispatch = createEventDispatcher<{ createPlan: number; @@ -182,8 +182,10 @@ - + {#if !views} + + {:else} + + {#each views as viewOption} + + {/each} + {/if} {#if createdAt} diff --git a/src/components/model/ModelSpecification.svelte b/src/components/model/ModelSpecification.svelte index f9690ccf3f..7b5c55815a 100644 --- a/src/components/model/ModelSpecification.svelte +++ b/src/components/model/ModelSpecification.svelte @@ -13,6 +13,7 @@ export let hasCreatePermission: boolean = false; export let hasEditSpecPermission: boolean = false; + export let loading: boolean = false; export let metadataList: Pick[] = []; export let metadataType: Association = 'constraint'; export let selectedSpecifications: AssociationSpecificationMap = {}; @@ -73,7 +74,7 @@ suppressAutoSize: true, suppressSizeToFit: true, valueGetter: (params: ValueGetterParams) => { - return params?.data?.versions[0].revision; + return params?.data?.versions[0]?.revision; }, width: 80, }, @@ -87,7 +88,6 @@ resizable: true, sortable: false, width: 220, - wrapText: true, }, ]; const permissionError = `You do not have permission to add this ${metadataType}.`; @@ -214,10 +214,11 @@