@nyaruka/temba-components 0.111.3 → 0.111.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -772,8 +772,8 @@ export class TembaMenu extends ResizeElement {
772
772
  private loadItems(item: MenuItem, event: MouseEvent = null) {
773
773
  if (item && item.endpoint) {
774
774
  item.loading = true;
775
- this.httpComplete = fetchResults(item.endpoint).then(
776
- (items: MenuItem[]) => {
775
+ this.httpComplete = fetchResults(item.endpoint)
776
+ .then((items: MenuItem[]) => {
777
777
  items.forEach((newItem) => {
778
778
  if (!newItem.items) {
779
779
  const prevItem = (item.items || []).find(
@@ -811,8 +811,10 @@ export class TembaMenu extends ResizeElement {
811
811
 
812
812
  this.requestUpdate('root');
813
813
  this.scrollSelectedIntoView();
814
- }
815
- );
814
+ })
815
+ .catch((error) => {
816
+ this.fireCustomEvent(CustomEventType.Error, { error });
817
+ });
816
818
  }
817
819
  }
818
820
 
@@ -123,6 +123,11 @@ export const getUrl = (
123
123
 
124
124
  fetch(url, options)
125
125
  .then((response) => {
126
+ if (response.status < 200 || response.status >= 300) {
127
+ reject(response);
128
+ return;
129
+ }
130
+
126
131
  response.text().then((body: string) => {
127
132
  let json = {};
128
133
  try {
@@ -177,7 +182,9 @@ export const fetchResultsPage = (
177
182
  next: response.json.next
178
183
  });
179
184
  })
180
- .catch((error) => reject(error));
185
+ .catch((error) => {
186
+ return reject(error);
187
+ });
181
188
  });
182
189
  };
183
190
 
@@ -326,7 +333,6 @@ export const postFormData = (
326
333
  }
327
334
  })
328
335
  .catch((err) => {
329
- console.error(err);
330
336
  reject(err);
331
337
  });
332
338
  });