From 613b563e8601b6013dc5e2835c749487ca5be941 Mon Sep 17 00:00:00 2001 From: Arman Date: Mon, 11 Jul 2022 17:08:10 +0200 Subject: [PATCH] refactor: data loaded on mount --- .../storage/bucket/[bucket]/settings.svelte | 57 ++++++++++++------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/src/routes/console/[project]/storage/bucket/[bucket]/settings.svelte b/src/routes/console/[project]/storage/bucket/[bucket]/settings.svelte index ad60595a5..ccc0222cb 100644 --- a/src/routes/console/[project]/storage/bucket/[bucket]/settings.svelte +++ b/src/routes/console/[project]/storage/bucket/[bucket]/settings.svelte @@ -16,30 +16,44 @@ import { sdkForProject } from '$lib/stores/sdk'; import { addNotification } from '$lib/stores/notifications'; import Delete from './_deleteBucket.svelte'; + import { onMount } from 'svelte'; + import { page } from '$app/stores'; let showDelete = false; - let showError: false | 'name' | 'size' = false; - let errorMessage = 'Something went wrong'; - let errorType: 'error' | 'warning' | 'success' = 'error'; - let enabled = $bucket.enabled; - let bucketName = ''; - let bucketPermissions = $bucket.permission; - let bucketRead = $bucket.$read; - let bucketWrite = $bucket.$write; - let arePermsDisabled = true; - let encryption = $bucket.encryption; - let antivirus = $bucket.antivirus; - let maxSize: number; - let byteUnit: 'Bytes' | 'KB' | 'MB' | 'GB' = 'Bytes'; - let options = [ - { label: 'Bytes', value: 'Bytes' }, - { label: 'Kilobytes', value: 'KB' }, - { label: 'Megabytes', value: 'MB' }, - { label: 'Gigabytes', value: 'GB' } - ]; + let showError: false | 'name' | 'size' = false, + errorMessage = 'Something went wrong', + errorType: 'error' | 'warning' | 'success' = 'error'; + let enabled: boolean = null, + bucketName: string = null, + bucketPermissions: string = null, + bucketRead: string[] = null, + bucketWrite: string[] = null, + arePermsDisabled = true, + encryption: boolean = null, + antivirus: boolean = null, + maxSize: number; + let byteUnit: 'Bytes' | 'KB' | 'MB' | 'GB' = 'Bytes', + options = [ + { label: 'Bytes', value: 'Bytes' }, + { label: 'Kilobytes', value: 'KB' }, + { label: 'Megabytes', value: 'MB' }, + { label: 'Gigabytes', value: 'GB' } + ]; let extensions = $bucket.allowedFileExtensions; let isExtensionsDisabled = true; + onMount(async () => { + await bucket.load($page.params.bucket); + enabled ??= $bucket.enabled; + bucketName ??= $bucket.name; + bucketName ??= $bucket.name; + bucketPermissions ??= $bucket.permission; + bucketRead ??= $bucket.$read; + bucketWrite ??= $bucket.$write; + encryption ??= $bucket.encryption; + antivirus ??= $bucket.antivirus; + }); + $: if (bucketPermissions || bucketRead || bucketWrite) { if (bucketPermissions !== $bucket.permission) { arePermsDisabled = false; @@ -91,7 +105,6 @@ try { await sdkForProject.storage.updateBucket($bucket.$id, $bucket.name, $bucket.permission); $bucket.name = bucketName; - bucketName = null; showError = false; addNotification({ message: 'Name has been updated', @@ -238,7 +251,7 @@ {#if showError === 'name'} @@ -249,7 +262,7 @@