From 2d91ae87bd7898dd235b09950396d3875c8273ca Mon Sep 17 00:00:00 2001 From: MickaelK Date: Thu, 30 Nov 2023 01:48:21 +1100 Subject: [PATCH] chore (refactoring): error page --- public/assets/lib/ajax.js | 4 ++-- public/assets/pages/adminpage/ctrl_settings.js | 4 +++- public/assets/pages/adminpage/decorator_sidemenu.js | 4 ++-- public/assets/pages/ctrl_filespage.js | 2 -- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/public/assets/lib/ajax.js b/public/assets/lib/ajax.js index 726e3b42..4638b7ba 100644 --- a/public/assets/lib/ajax.js +++ b/public/assets/lib/ajax.js @@ -7,7 +7,6 @@ export default function(opts) { if (!opts.headers) opts.headers = {}; opts.headers["X-Requested-With"] = "XmlHttpRequest"; return ajax({ withCredentials: true, ...opts, responseType: "text" }).pipe( - rxjs.catchError((err) => rxjs.throwError(processError(err.xhr, err))), rxjs.map((res) => { const result = res.xhr.responseText; if (opts.responseType === "json") { @@ -18,7 +17,8 @@ export default function(opts) { res.responseJSON = json; } return res; - }) + }), + rxjs.catchError((err) => rxjs.throwError(processError(err.xhr, err))), ); } diff --git a/public/assets/pages/adminpage/ctrl_settings.js b/public/assets/pages/adminpage/ctrl_settings.js index ea045704..4a18bd60 100644 --- a/public/assets/pages/adminpage/ctrl_settings.js +++ b/public/assets/pages/adminpage/ctrl_settings.js @@ -1,10 +1,11 @@ -import { createElement } from "../../lib/skeleton/index.js"; +import { createElement, createRender } from "../../lib/skeleton/index.js"; import rxjs, { effect, applyMutation } from "../../lib/rx.js"; import { qs, qsa } from "../../lib/dom.js"; import { createForm, mutateForm } from "../../lib/form.js"; import { formTmpl } from "../../components/form.js"; import { generateSkeleton } from "../../components/skeleton.js"; import { get as getConfig } from "../../model/config.js"; +import ctrlError from "../ctrl_error.js"; import { get as getAdminConfig, save as saveConfig, initConfig } from "./model_config.js"; import { renderLeaf, useForm$, formObjToJSON$ } from "./helper_form.js"; @@ -60,6 +61,7 @@ export default AdminHOC(async function(render) { )), reshapeConfigBeforeSave, saveConfig(), + rxjs.catchError(ctrlError(createRender(qs(document.body, "[role=\"main\"]")))), )); }); diff --git a/public/assets/pages/adminpage/decorator_sidemenu.js b/public/assets/pages/adminpage/decorator_sidemenu.js index 418d095c..9061cd41 100644 --- a/public/assets/pages/adminpage/decorator_sidemenu.js +++ b/public/assets/pages/adminpage/decorator_sidemenu.js @@ -1,4 +1,4 @@ -import { createElement } from "../../lib/skeleton/index.js"; +import { createElement, createRender } from "../../lib/skeleton/index.js"; import rxjs, { effect, stateMutation } from "../../lib/rx.js"; import { qs } from "../../lib/dom.js"; @@ -52,7 +52,7 @@ export default function(ctrl) { render($page); // feature: setup the childrens - ctrl(($node) => qs($page, "[data-bind=\"admin\"]").appendChild($node)); + ctrl(createRender(qs($page, "[data-bind=\"admin\"]"))); // feature: display the release version effect(getRelease().pipe( diff --git a/public/assets/pages/ctrl_filespage.js b/public/assets/pages/ctrl_filespage.js index 1bd9777e..ca60f68c 100644 --- a/public/assets/pages/ctrl_filespage.js +++ b/public/assets/pages/ctrl_filespage.js @@ -28,8 +28,6 @@ export default function(render) { effect(getState$().pipe( rxjs.map(({ error }) => error), rxjs.filter((error) => !!error), - rxjs.map(ctrlError), - rxjs.tap((fn) => fn(render)) )); // feature2: render the filesystem