UNPKG

@braze/web-sdk

Version:

Braze SDK for web sites and other JS platforms.

177 lines (176 loc) 3.25 kB
import InAppMessage from "./models/in-app-message.js"; import ControlMessage from "./models/control-message.js"; import FullScreenMessage from "./models/full-screen-message.js"; import HtmlMessage from "./models/html-message.js"; import InAppMessageButton from "./models/in-app-message-button.js"; import ModalMessage from "./models/modal-message.js"; import SlideUpMessage from "./models/slide-up-message.js"; import { logger as E } from "../../shared-lib/index.js"; export function newInAppMessageFromJson(e) { if (!e) return null; if (e.is_control) return ControlMessage.fromJson(e); let o = e.type; null != o && (o = o.toUpperCase()); const s = e.message, n = e.text_align_message, r = e.slide_from, t = e.extras, m = e.trigger_id, l = e.click_action, i = e.uri, f = e.open_target, p = e.message_close, u = e.duration, a = e.icon, d = e.image_url, g = e.image_style, c = e.icon_color, j = e.icon_bg_color, w = e.bg_color, b = e.text_color, h = e.close_btn_color, v = e.header, x = e.text_align_header, I = e.header_text_color, A = e.frame_color, F = []; let M = e.btns; null == M && (M = []); for (let e = 0; e < M.length; e++) F.push(InAppMessageButton.fromJson(M[e])); const k = e.crop_type, y = e.orientation, z = e.animate_in, J = e.animate_out; let S = e.html_id, q = e.css; (null != S && "" !== S && null != q && "" !== q) || ((S = void 0), (q = void 0)); const B = e.message_extras, C = e.language, D = e.image_alt; let G; if (o === ModalMessage.es || o === InAppMessage.Ke.Io) G = new ModalMessage( s, n, t, m, l, i, f, p, u, a, d, g, c, j, w, b, h, z, J, v, x, I, A, F, k, S, q, B, C, D, ); else if (o === FullScreenMessage.es) G = new FullScreenMessage( s, n, t, m, l, i, f, p, u, a, d, g, c, j, w, b, h, z, J, v, x, I, A, F, k, y, S, q, B, C, D, ); else if (o === SlideUpMessage.es) G = new SlideUpMessage( s, n, r, t, m, l, i, f, p, u, a, d, c, j, w, b, h, z, J, S, q, B, C, D, ); else { if ( o !== HtmlMessage.es && o !== InAppMessage.Ke.Je && o !== InAppMessage.Ke.Ao ) return void E.error("Ignoring message with unknown type " + o); { const o = e.message_fields; (G = new HtmlMessage(s, t, m, p, u, z, J, A, S, q, o, B)), (G.trusted = e.trusted || !1); } } return (G.He = o), G; } export function buttonsFromSerializedInAppMessage(e) { const o = []; for (const s of e) o.push( new InAppMessageButton( s.text, s.backgroundColor, s.textColor, s.borderColor, s.clickAction, s.uri, s.id, ), ); return o; }