Skip to content

Commit aa28326

Browse files
committed
don't use default value for array prop as svelte handles them in inconsistent way
Signed-off-by: Josh Hootman <hootmanj@objectcomputing.com>
1 parent 2b7a85e commit aa28326

File tree

5 files changed

+68
-14
lines changed

5 files changed

+68
-14
lines changed

Diff for: app/src/main/java/app/DemoController.java

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package app;
2+
3+
import app.exception.Libre311BaseException;
4+
import io.micronaut.http.HttpStatus;
5+
import io.micronaut.http.annotation.Controller;
6+
import io.micronaut.http.annotation.Get;
7+
import io.micronaut.http.exceptions.HttpStatusException;
8+
import io.micronaut.security.annotation.Secured;
9+
import io.micronaut.security.rules.SecurityRule;
10+
11+
@Secured(SecurityRule.IS_ANONYMOUS)
12+
@Controller("/api/demo")
13+
public class DemoController {
14+
15+
static class NotFoundException extends Libre311BaseException {
16+
public NotFoundException(String message) {
17+
super(message, HttpStatus.I_AM_A_TEAPOT, null);
18+
}
19+
}
20+
21+
@Get
22+
public String sayHello(){
23+
System.out.println("MADE IT");
24+
throw new NotFoundException("Hello Not Found");
25+
}
26+
27+
@Get("/alt")
28+
public String statusException(){
29+
throw new HttpStatusException(HttpStatus.BAD_REQUEST, "Not a good request");
30+
}
31+
}

Diff for: app/src/test/java/app/DemoControllerTest.java

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package app;
2+
3+
import static org.junit.jupiter.api.Assertions.*;
4+
5+
import io.micronaut.http.HttpRequest;
6+
import io.micronaut.http.client.HttpClient;
7+
import io.micronaut.http.client.annotation.Client;
8+
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
9+
import jakarta.inject.Inject;
10+
import org.junit.jupiter.api.Test;
11+
12+
@MicronautTest
13+
class DemoControllerTest {
14+
15+
@Inject
16+
@Client("/api")
17+
HttpClient client;
18+
19+
20+
@Test
21+
void breakpoint(){
22+
var res = client.toBlocking().exchange(HttpRequest.GET("/demo"), String.class);
23+
}
24+
25+
}

Diff for: frontend/src/lib/components/SelectedValues.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script lang="ts">
22
import type { SelectedValue } from '$lib/services/Libre311/Libre311';
33
4-
export let selectedValues: SelectedValue[] = [];
4+
export let selectedValues: SelectedValue[];
55
</script>
66

77
{#each selectedValues as selectedValue}

Diff for: frontend/src/lib/components/ServiceRequestDetails.svelte

+5-4
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,11 @@
5858
<p class="text-sm">{serviceRequest.address}</p>
5959
</div>
6060

61-
<div class="mb-1">
62-
<SelectedValues selectedValues={serviceRequest.selected_values} />
63-
</div>
64-
61+
{#if serviceRequest.selected_values}
62+
<div class="mb-1">
63+
<SelectedValues selectedValues={serviceRequest.selected_values} />
64+
</div>
65+
{/if}
6566
{#if serviceRequest.description}
6667
<div class="mb-1">
6768
<strong class="text-base">{messages['serviceRequest']['description']}</strong>

Diff for: frontend/src/lib/components/ServiceRequestUpdate.svelte

+6-9
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,7 @@
103103
}
104104
105105
async function updateServiceRequest() {
106-
if (agencyNameInput.value !== null || agencyNameInput.value !== undefined) {
107-
let agency: string = new String(agencyNameInput.value).toString();
108-
if (agency) agencyNameInput = optionalCoalesceNameValidator(createInput(agency));
109-
}
106+
agencyNameInput = optionalCoalesceNameValidator(agencyEmailInput);
110107
agencyEmailInput = emailValidator(agencyEmailInput);
111108
serviceNoticeInput = optionalCoalesceStringValidator(serviceNoticeInput);
112109
statusNotesInput = optionalCoalesceStringValidator(statusNotesInput);
@@ -118,8 +115,6 @@
118115
statusNotesInput.type
119116
]);
120117
if (resultSet.has('invalid')) {
121-
// Refresh Inputs
122-
agencyNameInput.value = '';
123118
return;
124119
}
125120
@@ -175,9 +170,11 @@
175170
<p class="text-sm">{serviceRequest.address}</p>
176171
</div>
177172

178-
<div class="mb-1">
179-
<SelectedValues selectedValues={serviceRequest.selected_values} />
180-
</div>
173+
{#if serviceRequest.selected_values}
174+
<div class="mb-1">
175+
<SelectedValues selectedValues={serviceRequest.selected_values} />
176+
</div>
177+
{/if}
181178

182179
{#if serviceRequest.description}
183180
<div class="mb-1">

0 commit comments

Comments
 (0)