Re-select selected communication on fetch
This makes it so the UI updates with any changes we pull down.
This commit is contained in:
parent
a8f2c87e38
commit
70d3aef8b3
3 changed files with 12 additions and 6 deletions
|
|
@ -19,11 +19,6 @@ type historyEntry struct {
|
|||
Action string `json:"action"`
|
||||
Timestamp time.Time `json:"timestamp"`
|
||||
}
|
||||
type reporter struct {
|
||||
HasEmail bool `json:"has_email"`
|
||||
HasPhone bool `json:"has_phone"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
type communication struct {
|
||||
Created time.Time `json:"created"`
|
||||
History []historyEntry `json:"history"`
|
||||
|
|
|
|||
|
|
@ -101,6 +101,15 @@
|
|||
|
||||
const data = await response.json();
|
||||
this.communications = data.communications || data; // Handle different response formats
|
||||
// if we already had something selected, reset it using the new data
|
||||
if (this.selectedCommunication) {
|
||||
const matching = this.communications.filter((report) => {
|
||||
return report.id == this.selectedCommunication.id;
|
||||
});
|
||||
if (matching.length > 0) {
|
||||
this.selectedCommunication = matching[0];
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.error("Error loading communications:", err);
|
||||
throw err;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package types
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
//"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
type Contact struct {
|
||||
|
|
@ -12,10 +13,11 @@ type Contact struct {
|
|||
Phone *string `db:"phone" json:"-"`
|
||||
}
|
||||
|
||||
func (c *Contact) MarshalJSON() ([]byte, error) {
|
||||
func (c Contact) MarshalJSON() ([]byte, error) {
|
||||
to_marshal := make(map[string]interface{}, 0)
|
||||
to_marshal["name"] = c.Name
|
||||
to_marshal["has_email"] = (c.Email != nil && *c.Email != "")
|
||||
to_marshal["has_phone"] = (c.Phone != nil && *c.Phone != "")
|
||||
//log.Debug().Msg("marshaling contact")
|
||||
return json.Marshal(to_marshal)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue