|
13 | 13 |
|
14 | 14 | let dataset = undefined; |
15 | 15 |
|
| 16 | + let datasetSuccessMessage = ''; |
| 17 | +
|
16 | 18 | // for updating the dataset |
17 | 19 | let name = ''; |
18 | 20 | let type = ''; |
19 | 21 | let read_only = false; |
20 | | - let updateDatasetSuccess = false; |
21 | 22 | /** @type {Modal} */ |
22 | 23 | let updateDatasetModal; |
23 | 24 |
|
24 | 25 | // for creating a new resource |
25 | 26 | let source = ''; |
26 | | - let createResourceSuccessMessage = ''; |
27 | 27 | /** @type {Modal} */ |
28 | 28 | let createDatasetResourceModal; |
29 | 29 |
|
|
38 | 38 | * @returns {Promise<*>} |
39 | 39 | */ |
40 | 40 | async function handleDatasetUpdate() { |
41 | | - updateDatasetSuccess = false; |
| 41 | + updateDatasetModal.confirmAndHide(async () => { |
| 42 | + datasetSuccessMessage = ''; |
42 | 43 |
|
43 | | - if (!dataset || !name) { |
44 | | - return; |
45 | | - } |
| 44 | + if (!dataset || !name) { |
| 45 | + return; |
| 46 | + } |
46 | 47 |
|
47 | | - const requestBody = { |
48 | | - name, |
49 | | - type, |
50 | | - read_only |
51 | | - }; |
| 48 | + const requestBody = { |
| 49 | + name, |
| 50 | + type, |
| 51 | + read_only |
| 52 | + }; |
52 | 53 |
|
53 | | - // Should prevent requestBody null or empty values |
54 | | - Object.keys(requestBody).forEach((key) => { |
55 | | - if (requestBody[key] === null || requestBody[key] === '') { |
56 | | - delete requestBody[key]; |
57 | | - } |
58 | | - }); |
| 54 | + // Should prevent requestBody null or empty values |
| 55 | + Object.keys(requestBody).forEach((key) => { |
| 56 | + if (requestBody[key] === null || requestBody[key] === '') { |
| 57 | + delete requestBody[key]; |
| 58 | + } |
| 59 | + }); |
59 | 60 |
|
60 | | - const headers = new Headers(); |
61 | | - headers.set('Content-Type', 'application/json'); |
| 61 | + const headers = new Headers(); |
| 62 | + headers.set('Content-Type', 'application/json'); |
62 | 63 |
|
63 | | - const response = await fetch(`/api/v1/project/${projectId}/dataset/${datasetId}`, { |
64 | | - method: 'PATCH', |
65 | | - credentials: 'include', |
66 | | - headers, |
67 | | - body: JSON.stringify(requestBody) |
68 | | - }); |
| 64 | + const response = await fetch(`/api/v1/project/${projectId}/dataset/${datasetId}`, { |
| 65 | + method: 'PATCH', |
| 66 | + credentials: 'include', |
| 67 | + headers, |
| 68 | + body: JSON.stringify(requestBody) |
| 69 | + }); |
69 | 70 |
|
70 | | - const result = await response.json(); |
71 | | - if (response.ok) { |
72 | | - dataset = result; |
73 | | - updateDatasetSuccess = true; |
74 | | - } else { |
75 | | - updateDatasetModal.displayErrorAlert(result); |
76 | | - } |
| 71 | + const result = await response.json(); |
| 72 | + if (response.ok) { |
| 73 | + dataset = result; |
| 74 | + datasetSuccessMessage = 'Dataset properties successfully updated'; |
| 75 | + } else { |
| 76 | + throw new AlertError(result); |
| 77 | + } |
| 78 | + }); |
77 | 79 | } |
78 | 80 |
|
79 | 81 | function onCreateDatasetResourceModalOpen() { |
|
86 | 88 | */ |
87 | 89 | async function handleCreateDatasetResource() { |
88 | 90 | createDatasetResourceModal.confirmAndHide(async () => { |
89 | | - createResourceSuccessMessage = ''; |
| 91 | + datasetSuccessMessage = ''; |
90 | 92 | createDatasetResourceModal.hideErrorAlert(); |
91 | 93 | if (!source) { |
92 | 94 | return; |
|
108 | 110 | const result = await response.json(); |
109 | 111 | if (response.ok) { |
110 | 112 | dataset.resource_list = [...dataset.resource_list, result]; |
111 | | - createResourceSuccessMessage = 'Resource created'; |
| 113 | + datasetSuccessMessage = 'Resource created'; |
112 | 114 | source = ''; |
113 | 115 | } else { |
114 | 116 | throw new AlertError(result); |
|
168 | 170 | class="btn btn-light" |
169 | 171 | data-bs-toggle="modal" |
170 | 172 | data-bs-target="#updateDatasetModal" |
171 | | - on:click={() => (updateDatasetSuccess = false)} |
| 173 | + on:click={() => (datasetSuccessMessage = '')} |
172 | 174 | > |
173 | 175 | <i class="bi-gear-wide-connected" /> |
174 | 176 | </button> |
|
182 | 184 | <h1>Dataset {dataset.name} #{dataset.id}</h1> |
183 | 185 | </div> |
184 | 186 |
|
185 | | - <StandardDismissableAlert message={createResourceSuccessMessage} /> |
| 187 | + <StandardDismissableAlert message={datasetSuccessMessage} /> |
186 | 188 |
|
187 | 189 | <div class="row mt-2"> |
188 | 190 | <div class="col-4"> |
|
329 | 331 |
|
330 | 332 | <div class="d-flex align-items-center"> |
331 | 333 | <button class="btn btn-primary me-3" type="submit" disabled={!name}>Update</button> |
332 | | - {#if updateDatasetSuccess} |
333 | | - <span class="text-success">Dataset properties updated with success</span> |
334 | | - {/if} |
335 | 334 | </div> |
336 | 335 | </form> |
337 | 336 | </svelte:fragment> |
|
0 commit comments