@devgateway/dvz-ui-react
Version:
A modular, embeddable React component library for data visualization and UI, built with TypeScript. Provides reusable components for charts, maps, dashboards, and more, with built-in support for internationalization and Redux integration.
55 lines (54 loc) • 1.78 kB
JavaScript
import * as R from "immutable";
import { sendShowCase as I, subscribe as T } from "./embeddable-api.js";
const r = "SEND_SHOW_CASE", _ = "SEND_SHOW_CASE_DONE", n = "SEND_SHOW_CASE_FAILURE", a = "SHOW_CASE_RESET", o = "NEWS_LETTER_SUBSCRIBE", u = "NEWS_LETTER_SUBSCRIBE_DONE", S = "NEWS_LETTER_SUBSCRIBE_FAILURE", c = "NEWS_LETTER_SET_EMAIL", l = "POST_LOADED", O = (e) => (t, s) => {
t({ type: l });
}, C = R.Map({}), L = (e) => (t, s) => {
t({ type: c, eMail: e });
}, A = (e) => (t, s) => {
t({ type: o }), T(e).then((E) => {
E.status === 500 ? t({ type: S }) : t({ type: u });
}).catch((E) => {
t({ type: S });
});
}, W = (e) => (t, s) => {
t({ type: r }), I(e).then((E) => {
E.status === 500 ? t({ type: n }) : t({ type: _ });
}).catch((E) => {
t({ type: n });
});
}, m = (e) => (t, s) => {
t({ type: a });
}, w = (e = C, t) => {
switch (t.type) {
case r:
return e.setIn(["showCase", "loading"], !0).setIn(["showCase", "status"], null);
case _:
return e.setIn(["showCase", "status"], "OK");
case n:
return e.setIn(["showCase", "status"], "ERROR");
case a:
return e.setIn(["showCase", "status"], null);
case o:
return e.setIn(["newsletter", "loading"], !0).setIn(["newsletter", "status"], null);
case u:
return e.setIn(["newsletter", "status"], "OK").setIn(["newsletter", "email"], "");
case S:
return e.setIn(["newsletter", "status"], "ERROR");
case c: {
const { eMail: s } = t;
return e.setIn(["newsletter", "email"], s);
}
case l:
return e.setIn(["random"], Math.random());
default:
return e;
}
};
export {
w as default,
A as newsletterSubscription,
O as postLoaded,
m as reset,
W as sendShowCaseForm,
L as setEmail
};