Spaces:
Runtime error
Runtime error
| import "../chunks/DKem_M_z.js"; | |
| import "../chunks/DwLkIEu4.js"; | |
| import { p as push, i as getContext, c as child, k as get, z as sibling, r as reset, t as template_effect, u as untrack, d as set_text, y as event, a as append, g as comment, h as first_child, w as set, aR as next, v as user_derived, m as deep_read_state, x as derived_safe_equal, b as pop, e as store_get, s as setup_stores, q as mutable_source, f as from_html, o as onMount, A as tick, j as onDestroy, l as legacy_pre_effect, n as legacy_pre_effect_reset, C as deferred_template_effect, $ as $document, aV as mutate, aW as text, b1 as invalidate_inner_signals } from "../chunks/B-Kw_l3V.js"; | |
| import { i as if_block } from "../chunks/DWHK2A9K.js"; | |
| import { i as init } from "../chunks/CUpGYt-B.js"; | |
| import { R as REXPRO_NAME, m as models, u as user, c as config, f as functions, s as settings } from "../chunks/BJ3rUC-5.js"; | |
| import { b as getFunctionList, l as loadFunctionByUrl, c as createNewFunction, g as getFunctions, d as deleteFunctionById, t as toggleFunctionById, e as toggleGlobalById, a as getFunctionById, f as exportFunctions } from "../chunks/Bw_Wh1To.js"; | |
| import { e as each } from "../chunks/qTQza25_.js"; | |
| import { h as head } from "../chunks/BmxCyGHt.js"; | |
| import { r as remove_input_defaults, s as set_attribute } from "../chunks/B9yCN616.js"; | |
| import { c as bind_files, b as bind_value } from "../chunks/CgeA63xA.js"; | |
| import { b as bind_this } from "../chunks/BSYzg88z.js"; | |
| import { t as toast } from "../chunks/B4Bn1xMI.js"; | |
| import { f as fileSaver } from "../chunks/CVH2w_UO.js"; | |
| import { g as goto } from "../chunks/BLfIdBii.js"; | |
| import { T as Tooltip } from "../chunks/CHPxBs0H.js"; | |
| import { C as ConfirmDialog } from "../chunks/Bt_XG8Gm.js"; | |
| import { g as getModels } from "../chunks/CwXWgxvI.js"; | |
| import { s as slot } from "../chunks/zXynQJya.js"; | |
| import { p as prop } from "../chunks/COqmMDwI.js"; | |
| import { D as Dropdown } from "../chunks/8Pg1zo_Z.js"; | |
| import { G as GarbageBin } from "../chunks/eobci2cJ.js"; | |
| import { S as Share } from "../chunks/BOF8D99c.js"; | |
| import { D as DocumentDuplicate } from "../chunks/DjWyMeMm.js"; | |
| import { D as Download } from "../chunks/D04FCXQM.js"; | |
| import { S as Switch_1 } from "../chunks/l6D7S60E.js"; | |
| import { G as GlobeAlt } from "../chunks/Si-pTnNT.js"; | |
| import { E as EllipsisHorizontal } from "../chunks/viyHXpU2.js"; | |
| import { V as ValvesModal, H as Heart } from "../chunks/BEWbf6Xv.js"; | |
| import { I as ImportModal, M as ManifestModal } from "../chunks/Cr8AdAnY.js"; | |
| import { S as Search } from "../chunks/C6CynPzh.js"; | |
| import { P as Plus } from "../chunks/CKKkwCWl.js"; | |
| import { C as ChevronRight } from "../chunks/BaIXj_tA.js"; | |
| import { X as XMark } from "../chunks/DAqPThR3.js"; | |
| import { P as Pencil } from "../chunks/Bga8-tII.js"; | |
| import { L as Link } from "../chunks/-zozyKl_.js"; | |
| import { V as ViewSelector } from "../chunks/DU19ZWkD.js"; | |
| import { T as TagSelector } from "../chunks/HJCr9QAW.js"; | |
| import { l as capitalizeFirstLetter } from "../chunks/X0cYWxFO.js"; | |
| import { S as Spinner } from "../chunks/gJqE84vs.js"; | |
| var root$2 = from_html(`<div class="flex gap-2 justify-between items-center px-3 py-1.5 text-sm font-medium cursor-pointerrounded-md"><div class="flex gap-2 items-center"><!> <div class="flex items-center"> </div></div> <div><!></div></div> <hr class="border-gray-50 dark:border-gray-850/30 my-1"/>`, 1); | |
| var root_1$1 = from_html(`<div slot="content"><div class="min-w-[180px] rounded-xl p-1 border border-gray-100 dark:border-gray-800 z-50 bg-white dark:bg-gray-850 dark:text-white shadow-sm"><!> <button class="select-none flex gap-2 items-center px-3 py-1.5 text-sm font-medium cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md w-full"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4"><path stroke-linecap="round" stroke-linejoin="round" d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L6.832 19.82a4.5 4.5 0 01-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 011.13-1.897L16.863 4.487zm0 0L19.5 7.125"></path></svg> <div class="flex items-center"> </div></button> <button class="select-none flex gap-2 items-center px-3 py-1.5 text-sm font-medium cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md w-full"><!> <div class="flex items-center"> </div></button> <button class="select-none flex gap-2 items-center px-3 py-1.5 text-sm font-medium cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md w-full"><!> <div class="flex items-center"> </div></button> <button class="select-none flex gap-2 items-center px-3 py-1.5 text-sm font-medium cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md w-full"><!> <div class="flex items-center"> </div></button> <hr class="border-gray-50 dark:border-gray-850/30 my-1"/> <button class="select-none flex gap-2 items-center px-3 py-1.5 text-sm font-medium cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md w-full"><!> <div class="flex items-center"> </div></button></div></div>`); | |
| function FunctionMenu($$anchor, $$props) { | |
| push($$props, false); | |
| const $i18n = () => store_get(i18n, "$i18n", $$stores); | |
| const [$$stores, $$cleanup] = setup_stores(); | |
| const i18n = getContext("i18n"); | |
| let func = prop($$props, "func", 12); | |
| let editHandler = prop($$props, "editHandler", 8); | |
| let shareHandler = prop($$props, "shareHandler", 8); | |
| let cloneHandler = prop($$props, "cloneHandler", 8); | |
| let exportHandler = prop($$props, "exportHandler", 8); | |
| let deleteHandler = prop($$props, "deleteHandler", 8); | |
| let toggleGlobalHandler = prop($$props, "toggleGlobalHandler", 8); | |
| let onClose = prop($$props, "onClose", 8); | |
| let show = mutable_source(false); | |
| init(); | |
| Dropdown($$anchor, { | |
| onOpenChange: (state) => { | |
| if (state === false) { | |
| onClose()(); | |
| } | |
| }, | |
| get show() { | |
| return get(show); | |
| }, | |
| set show($$value) { | |
| set(show, $$value); | |
| }, | |
| children: ($$anchor2, $$slotProps) => { | |
| { | |
| let $0 = derived_safe_equal(() => ($i18n(), untrack(() => $i18n().t("More")))); | |
| Tooltip($$anchor2, { | |
| get content() { | |
| return get($0); | |
| }, | |
| children: ($$anchor3, $$slotProps2) => { | |
| var fragment_2 = comment(); | |
| var node = first_child(fragment_2); | |
| slot(node, $$props, "default", {}, null); | |
| append($$anchor3, fragment_2); | |
| }, | |
| $$slots: { default: true } | |
| }); | |
| } | |
| }, | |
| $$slots: { | |
| default: true, | |
| content: ($$anchor2, $$slotProps) => { | |
| var div = root_1$1(); | |
| var div_1 = child(div); | |
| var node_1 = child(div_1); | |
| { | |
| var consequent = ($$anchor3) => { | |
| var fragment_3 = root$2(); | |
| var div_2 = first_child(fragment_3); | |
| var div_3 = child(div_2); | |
| var node_2 = child(div_3); | |
| GlobeAlt(node_2, {}); | |
| var div_4 = sibling(node_2, 2); | |
| var text2 = child(div_4, true); | |
| reset(div_4); | |
| reset(div_3); | |
| var div_5 = sibling(div_3, 2); | |
| var node_3 = child(div_5); | |
| Switch_1(node_3, { | |
| get state() { | |
| return func().is_global; | |
| }, | |
| set state($$value) { | |
| func(func().is_global = $$value, true); | |
| }, | |
| $$events: { | |
| change(...$$args) { | |
| var _a; | |
| (_a = toggleGlobalHandler()) == null ? void 0 : _a.apply(this, $$args); | |
| } | |
| }, | |
| $$legacy: true | |
| }); | |
| reset(div_5); | |
| reset(div_2); | |
| next(2); | |
| template_effect(($0) => set_text(text2, $0), [() => ($i18n(), untrack(() => $i18n().t("Global")))]); | |
| append($$anchor3, fragment_3); | |
| }; | |
| var d = user_derived(() => (deep_read_state(func()), untrack(() => ["filter", "action"].includes(func().type)))); | |
| if_block(node_1, ($$render) => { | |
| if (get(d)) $$render(consequent); | |
| }); | |
| } | |
| var button = sibling(node_1, 2); | |
| var div_6 = sibling(child(button), 2); | |
| var text_1 = child(div_6, true); | |
| reset(div_6); | |
| reset(button); | |
| var button_1 = sibling(button, 2); | |
| var node_4 = child(button_1); | |
| Share(node_4, {}); | |
| var div_7 = sibling(node_4, 2); | |
| var text_2 = child(div_7, true); | |
| reset(div_7); | |
| reset(button_1); | |
| var button_2 = sibling(button_1, 2); | |
| var node_5 = child(button_2); | |
| DocumentDuplicate(node_5, {}); | |
| var div_8 = sibling(node_5, 2); | |
| var text_3 = child(div_8, true); | |
| reset(div_8); | |
| reset(button_2); | |
| var button_3 = sibling(button_2, 2); | |
| var node_6 = child(button_3); | |
| Download(node_6, {}); | |
| var div_9 = sibling(node_6, 2); | |
| var text_4 = child(div_9, true); | |
| reset(div_9); | |
| reset(button_3); | |
| var button_4 = sibling(button_3, 4); | |
| var node_7 = child(button_4); | |
| GarbageBin(node_7, { strokeWidth: "2" }); | |
| var div_10 = sibling(node_7, 2); | |
| var text_5 = child(div_10, true); | |
| reset(div_10); | |
| reset(button_4); | |
| reset(div_1); | |
| reset(div); | |
| template_effect( | |
| ($0, $1, $2, $3, $4) => { | |
| set_text(text_1, $0); | |
| set_text(text_2, $1); | |
| set_text(text_3, $2); | |
| set_text(text_4, $3); | |
| set_text(text_5, $4); | |
| }, | |
| [ | |
| () => ($i18n(), untrack(() => $i18n().t("Edit"))), | |
| () => ($i18n(), untrack(() => $i18n().t("Share"))), | |
| () => ($i18n(), untrack(() => $i18n().t("Clone"))), | |
| () => ($i18n(), untrack(() => $i18n().t("Export"))), | |
| () => ($i18n(), untrack(() => $i18n().t("Delete"))) | |
| ] | |
| ); | |
| event("click", button, () => { | |
| editHandler()(); | |
| }); | |
| event("click", button_1, () => { | |
| shareHandler()(); | |
| }); | |
| event("click", button_2, () => { | |
| cloneHandler()(); | |
| }); | |
| event("click", button_3, () => { | |
| exportHandler()(); | |
| }); | |
| event("click", button_4, () => { | |
| deleteHandler()(); | |
| }); | |
| append($$anchor2, div); | |
| } | |
| }, | |
| $$legacy: true | |
| }); | |
| pop(); | |
| $$cleanup(); | |
| } | |
| var root$1 = from_html(`<div slot="content"><div class="min-w-[190px] rounded-2xl px-1 py-1 border border-gray-100 dark:border-gray-800 z-50 bg-white dark:bg-gray-850 dark:text-white shadow-lg"><button class="flex gap-2 items-center px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-xl w-full"><div class=" self-center mr-2"><!></div> <div class=" self-center truncate"> </div></button> <button class="flex gap-2 items-center px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-xl w-full"><div class=" self-center mr-2"><!></div> <div class=" self-center truncate"> </div></button></div></div>`); | |
| function AddFunctionMenu($$anchor, $$props) { | |
| push($$props, false); | |
| const $i18n = () => store_get(i18n, "$i18n", $$stores); | |
| const [$$stores, $$cleanup] = setup_stores(); | |
| const i18n = getContext("i18n"); | |
| let createHandler = prop($$props, "createHandler", 8); | |
| let importFromLinkHandler = prop($$props, "importFromLinkHandler", 8); | |
| let onClose = prop($$props, "onClose", 8, () => { | |
| }); | |
| let show = mutable_source(false); | |
| init(); | |
| Dropdown($$anchor, { | |
| sideOffset: 6, | |
| onOpenChange: (state) => { | |
| if (state === false) { | |
| onClose()(); | |
| } | |
| }, | |
| get show() { | |
| return get(show); | |
| }, | |
| set show($$value) { | |
| set(show, $$value); | |
| }, | |
| children: ($$anchor2, $$slotProps) => { | |
| { | |
| let $0 = derived_safe_equal(() => ($i18n(), untrack(() => $i18n().t("Create")))); | |
| Tooltip($$anchor2, { | |
| get content() { | |
| return get($0); | |
| }, | |
| children: ($$anchor3, $$slotProps2) => { | |
| var fragment_2 = comment(); | |
| var node = first_child(fragment_2); | |
| slot(node, $$props, "default", {}, null); | |
| append($$anchor3, fragment_2); | |
| }, | |
| $$slots: { default: true } | |
| }); | |
| } | |
| }, | |
| $$slots: { | |
| default: true, | |
| content: ($$anchor2, $$slotProps) => { | |
| var div = root$1(); | |
| var div_1 = child(div); | |
| var button = child(div_1); | |
| var div_2 = child(button); | |
| var node_1 = child(div_2); | |
| Pencil(node_1, {}); | |
| reset(div_2); | |
| var div_3 = sibling(div_2, 2); | |
| var text2 = child(div_3, true); | |
| reset(div_3); | |
| reset(button); | |
| var button_1 = sibling(button, 2); | |
| var div_4 = child(button_1); | |
| var node_2 = child(div_4); | |
| Link(node_2, {}); | |
| reset(div_4); | |
| var div_5 = sibling(div_4, 2); | |
| var text_1 = child(div_5, true); | |
| reset(div_5); | |
| reset(button_1); | |
| reset(div_1); | |
| reset(div); | |
| template_effect( | |
| ($0, $1) => { | |
| set_text(text2, $0); | |
| set_text(text_1, $1); | |
| }, | |
| [ | |
| () => ($i18n(), untrack(() => $i18n().t("New Function"))), | |
| () => ($i18n(), untrack(() => $i18n().t("Import From Link"))) | |
| ] | |
| ); | |
| event("click", button, async () => { | |
| createHandler()(); | |
| set(show, false); | |
| }); | |
| event("click", button_1, async () => { | |
| importFromLinkHandler()(); | |
| set(show, false); | |
| }); | |
| append($$anchor2, div); | |
| } | |
| }, | |
| $$legacy: true | |
| }); | |
| pop(); | |
| $$cleanup(); | |
| } | |
| var root = from_html(`<button class="flex text-xs items-center space-x-1 px-3 py-1.5 rounded-xl bg-gray-50 hover:bg-gray-100 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-200 transition"><div class=" self-center font-medium line-clamp-1"> </div></button>`); | |
| var root_1 = from_html(`<button class="flex text-xs items-center space-x-1 px-3 py-1.5 rounded-xl bg-gray-50 hover:bg-gray-100 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-200 transition"><div class=" self-center font-medium line-clamp-1"> </div></button> <!>`, 1); | |
| var root_2 = from_html(`<div class="cursor-pointer px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-medium text-sm flex items-center"><!> <div class=" hidden md:block md:ml-1 text-xs"> </div></div>`); | |
| var root_3 = from_html(`<div class="self-center pl-1.5 translate-y-[0.5px] rounded-l-xl bg-transparent"><button class="p-0.5 rounded-full hover:bg-gray-100 dark:hover:bg-gray-900 transition"><!></button></div>`); | |
| var root_4 = from_html(`<div class=" text-gray-500 text-xs font-medium shrink-0"> </div>`); | |
| var root_5 = from_html(`<div class=" flex items-center gap-1.5"><div class=" text-xs font-semibold px-1 rounded-sm uppercase line-clamp-1 bg-gray-500/20 text-gray-700 dark:text-gray-200"> </div> <div class="line-clamp-1 text-sm"> </div> <!></div>`); | |
| var root_6 = from_html(`<button class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl" type="button"><!></button>`); | |
| var root_7 = from_html(`<button class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl" type="button"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4"><path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"></path><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path></svg></button>`); | |
| var root_8 = from_html(`<button class="self-center w-fit text-sm p-1.5 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl" type="button"><!></button>`); | |
| var root_9 = from_html(`<!> <!> <!>`, 1); | |
| var root_10 = from_html(`<div class=" flex space-x-4 cursor-pointer w-full px-2 py-2 dark:hover:bg-white/5 hover:bg-black/5 rounded-xl"><a class=" flex flex-1 space-x-3.5 cursor-pointer w-full"><div class="flex items-center text-left"><div class=" flex-1 self-center pl-1"><!> <div class="flex gap-1.5 px-1"><div class="text-xs text-gray-500 shrink-0"><!></div> <div class=" text-xs overflow-hidden text-ellipsis line-clamp-1"> </div></div></div></div></a> <div class="flex flex-row gap-0.5 self-center"><!> <div class=" self-center mx-1"><!></div></div></div>`); | |
| var root_11 = from_html(`<div class="px-3 my-2 gap-1 lg:gap-2 grid lg:grid-cols-2"></div>`); | |
| var root_12 = from_html(`<div class=" w-full h-full flex flex-col justify-center items-center my-16 mb-24"><div class="max-w-md text-center flex flex-col items-center"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-8 text-gray-300 dark:text-gray-600 mb-3"><path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"></path></svg> <div class=" text-lg font-medium mb-1"> </div> <div class=" text-gray-500 text-center text-xs"> </div></div></div>`); | |
| var root_13 = from_html(`<div class=" my-16"><div class=" text-xl font-medium mb-1 line-clamp-1"> </div> <a class=" flex cursor-pointer items-center justify-between hover:bg-gray-50 dark:hover:bg-gray-850 w-full mb-2 px-3.5 py-1.5 rounded-xl transition" href="https://rexpro-ai.rexpro.com/functions" target="_blank"><div class=" self-center"><div class=" font-semibold line-clamp-1"> </div> <div class=" text-sm line-clamp-1"> </div></div> <div><div><!></div></div></a></div>`); | |
| var root_14 = from_html(`<div class=" text-sm text-gray-500 truncate"> <span class=" font-semibold"> </span>.</div>`); | |
| var root_15 = from_html(`<div class="text-sm text-gray-500"><div class=" bg-yellow-500/20 text-yellow-700 dark:text-yellow-200 rounded-lg px-4 py-3"><div> </div> <ul class=" mt-1 list-disc pl-4 text-xs"><li> </li> <li> </li></ul></div> <div class="my-3"> </div></div>`); | |
| var root_16 = from_html(`<div class="px-4.5 w-full"><div class="flex flex-col gap-1 px-1 mt-2.5 mb-2"><div class="flex justify-between items-center mb-1 w-full"><input id="documents-import-input" type="file" accept=".json" hidden=""/> <div class="flex justify-between items-center w-full"><div class="flex items-center md:self-center text-xl font-medium px-0.5 gap-2 shrink-0"><div> </div> <div class="text-lg font-medium text-gray-500 dark:text-gray-500"> </div></div> <div class="flex w-full justify-end gap-1.5"><!> <!></div></div></div></div> <div class="py-2 bg-white dark:bg-gray-900 rounded-3xl border border-gray-100/30 dark:border-gray-850/30"><div class="px-3.5 flex flex-1 items-center w-full space-x-2 py-0.5 pb-2"><div class="flex flex-1"><div class=" self-center ml-1 mr-3"><!></div> <input class=" w-full text-sm pr-4 py-1 rounded-r-xl outline-hidden bg-transparent"/> <!></div></div> <div class="px-3 flex w-full bg-transparent overflow-x-auto scrollbar-none"><div class="flex gap-0.5 w-fit text-center text-sm rounded-full bg-transparent px-0.5 whitespace-nowrap"><!> <!></div></div> <!></div> <!></div> <!> <!> <!> <!>`, 1); | |
| var root_17 = from_html(`<div class="w-full h-full flex justify-center items-center"><!></div>`); | |
| var root_18 = from_html(`<!> <!>`, 1); | |
| function Functions($$anchor, $$props) { | |
| push($$props, false); | |
| const $user = () => store_get(user, "$user", $$stores); | |
| const $i18n = () => store_get(i18n, "$i18n", $$stores); | |
| const $config = () => store_get(config, "$config", $$stores); | |
| const $settings = () => store_get(settings, "$settings", $$stores); | |
| const $REXPRO_NAME = () => store_get(REXPRO_NAME, "$REXPRO_NAME", $$stores); | |
| const [$$stores, $$cleanup] = setup_stores(); | |
| const { saveAs } = fileSaver; | |
| const i18n = getContext("i18n"); | |
| let shiftKey = mutable_source(false); | |
| let functionsImportInputElement = mutable_source(); | |
| let importFiles = mutable_source(); | |
| let tagsContainerElement = mutable_source(); | |
| let viewOption = mutable_source(""); | |
| let query = mutable_source(""); | |
| let searchDebounceTimer = mutable_source(); | |
| let selectedType = mutable_source(""); | |
| let showImportModal = mutable_source(false); | |
| let showConfirm = mutable_source(false); | |
| let showManifestModal = mutable_source(false); | |
| let showValvesModal = mutable_source(false); | |
| let selectedFunction = mutable_source(null); | |
| let showDeleteConfirm = mutable_source(false); | |
| let loaded = mutable_source(false); | |
| let functions$1 = mutable_source(null); | |
| let filteredItems = mutable_source([]); | |
| const setFilteredItems = () => { | |
| set(filteredItems, (get(functions$1) ?? []).filter((f) => { | |
| var _a, _b, _c, _d, _e; | |
| return (get(selectedType) !== "" ? f.type === get(selectedType) : true) && (get(query) === "" || f.name.toLowerCase().includes(get(query).toLowerCase()) || f.id.toLowerCase().includes(get(query).toLowerCase()) || (((_a = f.user) == null ? void 0 : _a.name) || "").toLowerCase().includes(get(query).toLowerCase()) || (((_b = f.user) == null ? void 0 : _b.email) || "").toLowerCase().includes(get(query).toLowerCase()) || (((_c = f.user) == null ? void 0 : _c.username) || "").toLowerCase().includes(get(query).toLowerCase())) && (get(viewOption) === "" || get(viewOption) === "created" && f.user_id === ((_d = $user()) == null ? void 0 : _d.id) || get(viewOption) === "shared" && f.user_id !== ((_e = $user()) == null ? void 0 : _e.id)); | |
| }).sort((a, b) => a.type.localeCompare(b.type) || a.name.localeCompare(b.name))); | |
| }; | |
| const shareHandler = async (func) => { | |
| const item = await getFunctionById(localStorage.token, func.id).catch((error) => { | |
| toast.error(`${error}`); | |
| return null; | |
| }); | |
| toast.success($i18n().t("Redirecting you to rexpro-ai Community")); | |
| const url = "https://rexpro-ai.rexpro.com"; | |
| const tab = await window.open(`${url}/functions/create`, "_blank"); | |
| const messageHandler = (event2) => { | |
| if (event2.origin !== url) return; | |
| if (event2.data === "loaded") { | |
| tab.postMessage(JSON.stringify(item), "*"); | |
| window.removeEventListener("message", messageHandler); | |
| } | |
| }; | |
| window.addEventListener("message", messageHandler, false); | |
| /* @__PURE__ */ console.log(item); | |
| }; | |
| const cloneHandler = async (func) => { | |
| const _function = await getFunctionById(localStorage.token, func.id).catch((error) => { | |
| toast.error(`${error}`); | |
| return null; | |
| }); | |
| if (_function) { | |
| sessionStorage.function = JSON.stringify({ | |
| ..._function, | |
| id: `${_function.id}_clone`, | |
| name: `${_function.name} (${$i18n().t("Clone")})` | |
| }); | |
| goto("/admin/functions/create"); | |
| } | |
| }; | |
| const exportHandler = async (func) => { | |
| const _function = await getFunctionById(localStorage.token, func.id).catch((error) => { | |
| toast.error(`${error}`); | |
| return null; | |
| }); | |
| if (_function) { | |
| let blob = new Blob([JSON.stringify([_function])], { type: "application/json" }); | |
| saveAs(blob, `function-${_function.id}-export-${Date.now()}.json`); | |
| } | |
| }; | |
| const deleteHandler = async (func) => { | |
| var _a, _b, _c; | |
| const res = await deleteFunctionById(localStorage.token, func.id).catch((error) => { | |
| toast.error(`${error}`); | |
| return null; | |
| }); | |
| if (res) { | |
| toast.success($i18n().t("Function deleted successfully")); | |
| set(functions$1, get(functions$1).filter((f) => f.id !== func.id)); | |
| functions.set(await getFunctions(localStorage.token)); | |
| models.set(await getModels(localStorage.token, ((_b = (_a = $config()) == null ? void 0 : _a.features) == null ? void 0 : _b.enable_direct_connections) && (((_c = $settings()) == null ? void 0 : _c.directConnections) ?? null), false, true)); | |
| } | |
| }; | |
| const toggleGlobalHandler = async (func) => { | |
| var _a, _b, _c; | |
| const res = await toggleGlobalById(localStorage.token, func.id).catch((error) => { | |
| toast.error(`${error}`); | |
| }); | |
| if (res) { | |
| if (func.is_global) { | |
| func.type === "filter" ? toast.success($i18n().t("Filter is now globally enabled")) : toast.success($i18n().t("Function is now globally enabled")); | |
| } else { | |
| func.type === "filter" ? toast.success($i18n().t("Filter is now globally disabled")) : toast.success($i18n().t("Function is now globally disabled")); | |
| } | |
| functions.set(await getFunctions(localStorage.token)); | |
| models.set(await getModels(localStorage.token, ((_b = (_a = $config()) == null ? void 0 : _a.features) == null ? void 0 : _b.enable_direct_connections) && (((_c = $settings()) == null ? void 0 : _c.directConnections) ?? null), false, true)); | |
| } | |
| }; | |
| onMount(async () => { | |
| set(viewOption, (localStorage == null ? void 0 : localStorage.workspaceViewOption) || ""); | |
| set(functions$1, await getFunctionList(localStorage.token).catch((error) => { | |
| toast.error(`${error}`); | |
| return []; | |
| })); | |
| await tick(); | |
| set(loaded, true); | |
| const onKeyDown = (event2) => { | |
| if (event2.key === "Shift") { | |
| set(shiftKey, true); | |
| } | |
| }; | |
| const onKeyUp = (event2) => { | |
| if (event2.key === "Shift") { | |
| set(shiftKey, false); | |
| } | |
| }; | |
| const onBlur = () => { | |
| set(shiftKey, false); | |
| }; | |
| window.addEventListener("keydown", onKeyDown); | |
| window.addEventListener("keyup", onKeyUp); | |
| window.addEventListener("blur", onBlur); | |
| return () => { | |
| window.removeEventListener("keydown", onKeyDown); | |
| window.removeEventListener("keyup", onKeyUp); | |
| window.removeEventListener("blur", onBlur); | |
| }; | |
| }); | |
| onDestroy(() => { | |
| clearTimeout(get(searchDebounceTimer)); | |
| }); | |
| legacy_pre_effect(() => (get(query), get(searchDebounceTimer)), () => { | |
| if (get(query) !== void 0) { | |
| clearTimeout(get(searchDebounceTimer)); | |
| set(searchDebounceTimer, setTimeout( | |
| () => { | |
| setFilteredItems(); | |
| }, | |
| 300 | |
| )); | |
| } | |
| }); | |
| legacy_pre_effect(() => (get(functions$1), get(selectedType), get(viewOption)), () => { | |
| if (get(functions$1) && get(selectedType) !== void 0 && get(viewOption) !== void 0) { | |
| setFilteredItems(); | |
| } | |
| }); | |
| legacy_pre_effect_reset(); | |
| init(); | |
| var fragment = root_18(); | |
| head("1hdw0md", ($$anchor2) => { | |
| deferred_template_effect( | |
| ($0) => { | |
| $document.title = ` | |
| ${$0 ?? ""} • ${$REXPRO_NAME() ?? ""} | |
| `; | |
| }, | |
| [() => ($i18n(), untrack(() => $i18n().t("Functions")))] | |
| ); | |
| }); | |
| var node = first_child(fragment); | |
| ImportModal(node, { | |
| loadUrlHandler: async (url) => { | |
| return await loadFunctionByUrl(localStorage.token, url); | |
| }, | |
| onImport: (func) => { | |
| sessionStorage.function = JSON.stringify({ ...func }); | |
| goto("/admin/functions/create"); | |
| }, | |
| get show() { | |
| return get(showImportModal); | |
| }, | |
| set show($$value) { | |
| set(showImportModal, $$value); | |
| }, | |
| $$legacy: true | |
| }); | |
| var node_1 = sibling(node, 2); | |
| { | |
| var consequent_8 = ($$anchor2) => { | |
| var fragment_1 = root_16(); | |
| var div = first_child(fragment_1); | |
| var div_1 = child(div); | |
| var div_2 = child(div_1); | |
| var input = child(div_2); | |
| bind_this(input, ($$value) => set(functionsImportInputElement, $$value), () => get(functionsImportInputElement)); | |
| var div_3 = sibling(input, 2); | |
| var div_4 = child(div_3); | |
| var div_5 = child(div_4); | |
| var text$1 = child(div_5, true); | |
| reset(div_5); | |
| var div_6 = sibling(div_5, 2); | |
| var text_1 = child(div_6, true); | |
| reset(div_6); | |
| reset(div_4); | |
| var div_7 = sibling(div_4, 2); | |
| var node_2 = child(div_7); | |
| { | |
| var consequent_1 = ($$anchor3) => { | |
| var fragment_2 = root_1(); | |
| var button = first_child(fragment_2); | |
| var div_8 = child(button); | |
| var text_2 = child(div_8, true); | |
| reset(div_8); | |
| reset(button); | |
| var node_3 = sibling(button, 2); | |
| { | |
| var consequent = ($$anchor4) => { | |
| var button_1 = root(); | |
| var div_9 = child(button_1); | |
| var text_3 = child(div_9, true); | |
| reset(div_9); | |
| reset(button_1); | |
| template_effect(($0) => set_text(text_3, $0), [() => ($i18n(), untrack(() => $i18n().t("Export")))]); | |
| event("click", button_1, async () => { | |
| const _functions = await exportFunctions(localStorage.token).catch((error) => { | |
| toast.error(`${error}`); | |
| return null; | |
| }); | |
| if (_functions) { | |
| let blob = new Blob([JSON.stringify(_functions)], { type: "application/json" }); | |
| saveAs(blob, `functions-export-${Date.now()}.json`); | |
| } | |
| }); | |
| append($$anchor4, button_1); | |
| }; | |
| if_block(node_3, ($$render) => { | |
| if (get(functions$1), untrack(() => get(functions$1).length)) $$render(consequent); | |
| }); | |
| } | |
| template_effect(($0) => set_text(text_2, $0), [() => ($i18n(), untrack(() => $i18n().t("Import")))]); | |
| event("click", button, () => { | |
| get(functionsImportInputElement).click(); | |
| }); | |
| append($$anchor3, fragment_2); | |
| }; | |
| if_block(node_2, ($$render) => { | |
| if ($user(), untrack(() => { | |
| var _a; | |
| return ((_a = $user()) == null ? void 0 : _a.role) === "admin"; | |
| })) $$render(consequent_1); | |
| }); | |
| } | |
| var node_4 = sibling(node_2, 2); | |
| AddFunctionMenu(node_4, { | |
| createHandler: () => { | |
| goto("/admin/functions/create"); | |
| }, | |
| importFromLinkHandler: () => { | |
| set(showImportModal, true); | |
| }, | |
| children: ($$anchor3, $$slotProps) => { | |
| var div_10 = root_2(); | |
| var node_5 = child(div_10); | |
| Plus(node_5, { className: "size-3", strokeWidth: "2.5" }); | |
| var div_11 = sibling(node_5, 2); | |
| var text_4 = child(div_11, true); | |
| reset(div_11); | |
| reset(div_10); | |
| template_effect(($0) => set_text(text_4, $0), [() => ($i18n(), untrack(() => $i18n().t("New Function")))]); | |
| append($$anchor3, div_10); | |
| }, | |
| $$slots: { default: true } | |
| }); | |
| reset(div_7); | |
| reset(div_3); | |
| reset(div_2); | |
| reset(div_1); | |
| var div_12 = sibling(div_1, 2); | |
| var div_13 = child(div_12); | |
| var div_14 = child(div_13); | |
| var div_15 = child(div_14); | |
| var node_6 = child(div_15); | |
| Search(node_6, { className: "size-3.5" }); | |
| reset(div_15); | |
| var input_1 = sibling(div_15, 2); | |
| remove_input_defaults(input_1); | |
| var node_7 = sibling(input_1, 2); | |
| { | |
| var consequent_2 = ($$anchor3) => { | |
| var div_16 = root_3(); | |
| var button_2 = child(div_16); | |
| var node_8 = child(button_2); | |
| XMark(node_8, { className: "size-3", strokeWidth: "2" }); | |
| reset(button_2); | |
| reset(div_16); | |
| event("click", button_2, () => { | |
| set(query, ""); | |
| }); | |
| append($$anchor3, div_16); | |
| }; | |
| if_block(node_7, ($$render) => { | |
| if (get(query)) $$render(consequent_2); | |
| }); | |
| } | |
| reset(div_14); | |
| reset(div_13); | |
| var div_17 = sibling(div_13, 2); | |
| var div_18 = child(div_17); | |
| var node_9 = child(div_18); | |
| ViewSelector(node_9, { | |
| onChange: async (value) => { | |
| localStorage.workspaceViewOption = value; | |
| await tick(); | |
| }, | |
| get value() { | |
| return get(viewOption); | |
| }, | |
| set value($$value) { | |
| set(viewOption, $$value); | |
| }, | |
| $$legacy: true | |
| }); | |
| var node_10 = sibling(node_9, 2); | |
| { | |
| let $0 = derived_safe_equal(() => ($i18n(), untrack(() => [ | |
| { value: "pipe", label: $i18n().t("Pipe") }, | |
| { value: "filter", label: $i18n().t("Filter") }, | |
| { value: "action", label: $i18n().t("Action") } | |
| ]))); | |
| TagSelector(node_10, { | |
| get items() { | |
| return get($0); | |
| }, | |
| get value() { | |
| return get(selectedType); | |
| }, | |
| set value($$value) { | |
| set(selectedType, $$value); | |
| }, | |
| $$legacy: true | |
| }); | |
| } | |
| reset(div_18); | |
| bind_this(div_18, ($$value) => set(tagsContainerElement, $$value), () => get(tagsContainerElement)); | |
| reset(div_17); | |
| var node_11 = sibling(div_17, 2); | |
| { | |
| var consequent_6 = ($$anchor3) => { | |
| var div_19 = root_11(); | |
| each(div_19, 5, () => get(filteredItems), (func) => func.id, ($$anchor4, func, $$index) => { | |
| var div_20 = root_10(); | |
| var a_1 = child(div_20); | |
| var div_21 = child(a_1); | |
| var div_22 = child(div_21); | |
| var node_12 = child(div_22); | |
| Tooltip(node_12, { | |
| get content() { | |
| return get(func), untrack(() => get(func).id); | |
| }, | |
| placement: "top-start", | |
| children: ($$anchor5, $$slotProps) => { | |
| var div_23 = root_5(); | |
| var div_24 = child(div_23); | |
| var text_5 = child(div_24, true); | |
| reset(div_24); | |
| var div_25 = sibling(div_24, 2); | |
| var text_6 = child(div_25, true); | |
| reset(div_25); | |
| var node_13 = sibling(div_25, 2); | |
| { | |
| var consequent_3 = ($$anchor6) => { | |
| var div_26 = root_4(); | |
| var text_7 = child(div_26); | |
| reset(div_26); | |
| template_effect(() => set_text(text_7, `v${(get(func), untrack(() => { | |
| var _a, _b, _c; | |
| return ((_c = (_b = (_a = get(func)) == null ? void 0 : _a.meta) == null ? void 0 : _b.manifest) == null ? void 0 : _c.version) ?? ""; | |
| })) ?? ""}`)); | |
| append($$anchor6, div_26); | |
| }; | |
| if_block(node_13, ($$render) => { | |
| if (get(func), untrack(() => { | |
| var _a, _b, _c; | |
| return (_c = (_b = (_a = get(func)) == null ? void 0 : _a.meta) == null ? void 0 : _b.manifest) == null ? void 0 : _c.version; | |
| })) $$render(consequent_3); | |
| }); | |
| } | |
| reset(div_23); | |
| template_effect(() => { | |
| set_text(text_5, (get(func), untrack(() => get(func).type))); | |
| set_text(text_6, (get(func), untrack(() => get(func).name))); | |
| }); | |
| append($$anchor5, div_23); | |
| }, | |
| $$slots: { default: true } | |
| }); | |
| var div_27 = sibling(node_12, 2); | |
| var div_28 = child(div_27); | |
| var node_14 = child(div_28); | |
| { | |
| let $0 = derived_safe_equal(() => (get(func), $i18n(), untrack(() => { | |
| var _a, _b; | |
| return ((_b = (_a = get(func)) == null ? void 0 : _a.user) == null ? void 0 : _b.email) ?? $i18n().t("Deleted User"); | |
| }))); | |
| Tooltip(node_14, { | |
| get content() { | |
| return get($0); | |
| }, | |
| className: "flex shrink-0", | |
| placement: "top-start", | |
| children: ($$anchor5, $$slotProps) => { | |
| next(); | |
| var text_8 = text(); | |
| template_effect(($02) => set_text(text_8, $02), [ | |
| () => ($i18n(), deep_read_state(capitalizeFirstLetter), get(func), untrack(() => { | |
| var _a, _b, _c, _d; | |
| return $i18n().t("By {{name}}", { | |
| name: capitalizeFirstLetter(((_b = (_a = get(func)) == null ? void 0 : _a.user) == null ? void 0 : _b.name) ?? ((_d = (_c = get(func)) == null ? void 0 : _c.user) == null ? void 0 : _d.email) ?? $i18n().t("Deleted User")) | |
| }); | |
| })) | |
| ]); | |
| append($$anchor5, text_8); | |
| }, | |
| $$slots: { default: true } | |
| }); | |
| } | |
| reset(div_28); | |
| var div_29 = sibling(div_28, 2); | |
| var text_9 = child(div_29, true); | |
| reset(div_29); | |
| reset(div_27); | |
| reset(div_22); | |
| reset(div_21); | |
| reset(a_1); | |
| var div_30 = sibling(a_1, 2); | |
| var node_15 = child(div_30); | |
| { | |
| var consequent_4 = ($$anchor5) => { | |
| { | |
| let $0 = derived_safe_equal(() => ($i18n(), untrack(() => $i18n().t("Delete")))); | |
| Tooltip($$anchor5, { | |
| get content() { | |
| return get($0); | |
| }, | |
| children: ($$anchor6, $$slotProps) => { | |
| var button_3 = root_6(); | |
| var node_16 = child(button_3); | |
| GarbageBin(node_16, {}); | |
| reset(button_3); | |
| event("click", button_3, () => { | |
| deleteHandler(get(func)); | |
| }); | |
| append($$anchor6, button_3); | |
| }, | |
| $$slots: { default: true } | |
| }); | |
| } | |
| }; | |
| var alternate = ($$anchor5) => { | |
| var fragment_5 = root_9(); | |
| var node_17 = first_child(fragment_5); | |
| { | |
| var consequent_5 = ($$anchor6) => { | |
| { | |
| let $0 = derived_safe_equal(() => ($i18n(), untrack(() => $i18n().t("Support")))); | |
| Tooltip($$anchor6, { | |
| get content() { | |
| return get($0); | |
| }, | |
| children: ($$anchor7, $$slotProps) => { | |
| var button_4 = root_6(); | |
| var node_18 = child(button_4); | |
| Heart(node_18, {}); | |
| reset(button_4); | |
| event("click", button_4, () => { | |
| set(selectedFunction, get(func)); | |
| set(showManifestModal, true); | |
| }); | |
| append($$anchor7, button_4); | |
| }, | |
| $$slots: { default: true } | |
| }); | |
| } | |
| }; | |
| if_block(node_17, ($$render) => { | |
| if (get(func), untrack(() => { | |
| var _a, _b, _c; | |
| return ((_c = (_b = (_a = get(func)) == null ? void 0 : _a.meta) == null ? void 0 : _b.manifest) == null ? void 0 : _c.funding_url) ?? false; | |
| })) $$render(consequent_5); | |
| }); | |
| } | |
| var node_19 = sibling(node_17, 2); | |
| { | |
| let $0 = derived_safe_equal(() => ($i18n(), untrack(() => $i18n().t("Valves")))); | |
| Tooltip(node_19, { | |
| get content() { | |
| return get($0); | |
| }, | |
| children: ($$anchor6, $$slotProps) => { | |
| var button_5 = root_7(); | |
| event("click", button_5, () => { | |
| set(selectedFunction, get(func)); | |
| set(showValvesModal, true); | |
| }); | |
| append($$anchor6, button_5); | |
| }, | |
| $$slots: { default: true } | |
| }); | |
| } | |
| var node_20 = sibling(node_19, 2); | |
| FunctionMenu(node_20, { | |
| get func() { | |
| return get(func); | |
| }, | |
| editHandler: () => { | |
| goto(`/admin/functions/edit?id=${encodeURIComponent(get(func).id)}`); | |
| }, | |
| shareHandler: () => { | |
| shareHandler(get(func)); | |
| }, | |
| cloneHandler: () => { | |
| cloneHandler(get(func)); | |
| }, | |
| exportHandler: () => { | |
| exportHandler(get(func)); | |
| }, | |
| deleteHandler: async () => { | |
| set(selectedFunction, get(func)); | |
| set(showDeleteConfirm, true); | |
| }, | |
| toggleGlobalHandler: () => { | |
| if (["filter", "action"].includes(get(func).type)) { | |
| toggleGlobalHandler(get(func)); | |
| } | |
| }, | |
| onClose: () => { | |
| }, | |
| children: ($$anchor6, $$slotProps) => { | |
| var button_6 = root_8(); | |
| var node_21 = child(button_6); | |
| EllipsisHorizontal(node_21, { className: "size-5" }); | |
| reset(button_6); | |
| append($$anchor6, button_6); | |
| }, | |
| $$slots: { default: true } | |
| }); | |
| append($$anchor5, fragment_5); | |
| }; | |
| if_block(node_15, ($$render) => { | |
| if (get(shiftKey)) $$render(consequent_4); | |
| else $$render(alternate, -1); | |
| }); | |
| } | |
| var div_31 = sibling(node_15, 2); | |
| var node_22 = child(div_31); | |
| { | |
| let $0 = derived_safe_equal(() => (get(func), $i18n(), untrack(() => get(func).is_active ? $i18n().t("Enabled") : $i18n().t("Disabled")))); | |
| Tooltip(node_22, { | |
| get content() { | |
| return get($0); | |
| }, | |
| children: ($$anchor5, $$slotProps) => { | |
| Switch_1($$anchor5, { | |
| get state() { | |
| return get(func).is_active; | |
| }, | |
| set state($$value) { | |
| get(func).is_active = $$value, invalidate_inner_signals(() => get(filteredItems)); | |
| }, | |
| $$events: { | |
| change: async (e) => { | |
| var _a, _b, _c; | |
| toggleFunctionById(localStorage.token, get(func).id); | |
| models.set(await getModels(localStorage.token, ((_b = (_a = $config()) == null ? void 0 : _a.features) == null ? void 0 : _b.enable_direct_connections) && (((_c = $settings()) == null ? void 0 : _c.directConnections) ?? null), false, true)); | |
| } | |
| }, | |
| $$legacy: true | |
| }); | |
| }, | |
| $$slots: { default: true } | |
| }); | |
| } | |
| reset(div_31); | |
| reset(div_30); | |
| reset(div_20); | |
| template_effect( | |
| ($0) => { | |
| set_attribute(a_1, "href", $0); | |
| set_text(text_9, (get(func), untrack(() => get(func).meta.description))); | |
| }, | |
| [ | |
| () => (get(func), untrack(() => `/admin/functions/edit?id=${encodeURIComponent(get(func).id)}`)) | |
| ] | |
| ); | |
| append($$anchor4, div_20); | |
| }); | |
| reset(div_19); | |
| append($$anchor3, div_19); | |
| }; | |
| var alternate_1 = ($$anchor3) => { | |
| var div_32 = root_12(); | |
| var div_33 = child(div_32); | |
| var div_34 = sibling(child(div_33), 2); | |
| var text_10 = child(div_34, true); | |
| reset(div_34); | |
| var div_35 = sibling(div_34, 2); | |
| var text_11 = child(div_35, true); | |
| reset(div_35); | |
| reset(div_33); | |
| reset(div_32); | |
| template_effect( | |
| ($0, $1) => { | |
| set_text(text_10, $0); | |
| set_text(text_11, $1); | |
| }, | |
| [ | |
| () => ($i18n(), untrack(() => $i18n().t("No functions found"))), | |
| () => ($i18n(), untrack(() => $i18n().t("Try adjusting your search or filter to find what you are looking for."))) | |
| ] | |
| ); | |
| append($$anchor3, div_32); | |
| }; | |
| if_block(node_11, ($$render) => { | |
| if (get(filteredItems), untrack(() => (get(filteredItems) ?? []).length !== 0)) $$render(consequent_6); | |
| else $$render(alternate_1, -1); | |
| }); | |
| } | |
| reset(div_12); | |
| var node_23 = sibling(div_12, 2); | |
| { | |
| var consequent_7 = ($$anchor3) => { | |
| var div_36 = root_13(); | |
| var div_37 = child(div_36); | |
| var text_12 = child(div_37, true); | |
| reset(div_37); | |
| var a_2 = sibling(div_37, 2); | |
| var div_38 = child(a_2); | |
| var div_39 = child(div_38); | |
| var text_13 = child(div_39, true); | |
| reset(div_39); | |
| var div_40 = sibling(div_39, 2); | |
| var text_14 = child(div_40, true); | |
| reset(div_40); | |
| reset(div_38); | |
| var div_41 = sibling(div_38, 2); | |
| var div_42 = child(div_41); | |
| var node_24 = child(div_42); | |
| ChevronRight(node_24, {}); | |
| reset(div_42); | |
| reset(div_41); | |
| reset(a_2); | |
| reset(div_36); | |
| template_effect( | |
| ($0, $1, $2) => { | |
| set_text(text_12, $0); | |
| set_text(text_13, $1); | |
| set_text(text_14, $2); | |
| }, | |
| [ | |
| () => ($i18n(), untrack(() => $i18n().t("Made by rexpro-ai Community"))), | |
| () => ($i18n(), untrack(() => $i18n().t("Discover a function"))), | |
| () => ($i18n(), untrack(() => $i18n().t("Discover, download, and explore custom functions"))) | |
| ] | |
| ); | |
| append($$anchor3, div_36); | |
| }; | |
| if_block(node_23, ($$render) => { | |
| if ($config(), untrack(() => { | |
| var _a; | |
| return (_a = $config()) == null ? void 0 : _a.features.enable_community_sharing; | |
| })) $$render(consequent_7); | |
| }); | |
| } | |
| reset(div); | |
| var node_25 = sibling(div, 2); | |
| { | |
| let $0 = derived_safe_equal(() => ($i18n(), untrack(() => $i18n().t("Delete function?")))); | |
| ConfirmDialog(node_25, { | |
| get title() { | |
| return get($0); | |
| }, | |
| get show() { | |
| return get(showDeleteConfirm); | |
| }, | |
| set show($$value) { | |
| set(showDeleteConfirm, $$value); | |
| }, | |
| $$events: { | |
| confirm: () => { | |
| deleteHandler(get(selectedFunction)); | |
| } | |
| }, | |
| children: ($$anchor3, $$slotProps) => { | |
| var div_43 = root_14(); | |
| var text_15 = child(div_43); | |
| var span = sibling(text_15); | |
| var text_16 = child(span, true); | |
| reset(span); | |
| next(); | |
| reset(div_43); | |
| template_effect( | |
| ($02) => { | |
| set_text(text_15, `${$02 ?? ""} `); | |
| set_text(text_16, (get(selectedFunction), untrack(() => get(selectedFunction).name))); | |
| }, | |
| [ | |
| () => ($i18n(), untrack(() => $i18n().t("This will delete"))) | |
| ] | |
| ); | |
| append($$anchor3, div_43); | |
| }, | |
| $$slots: { default: true }, | |
| $$legacy: true | |
| }); | |
| } | |
| var node_26 = sibling(node_25, 2); | |
| { | |
| let $0 = derived_safe_equal(() => (get(selectedFunction), untrack(() => { | |
| var _a, _b; | |
| return ((_b = (_a = get(selectedFunction)) == null ? void 0 : _a.meta) == null ? void 0 : _b.manifest) ?? {}; | |
| }))); | |
| ManifestModal(node_26, { | |
| get manifest() { | |
| return get($0); | |
| }, | |
| get show() { | |
| return get(showManifestModal); | |
| }, | |
| set show($$value) { | |
| set(showManifestModal, $$value); | |
| }, | |
| $$legacy: true | |
| }); | |
| } | |
| var node_27 = sibling(node_26, 2); | |
| { | |
| let $0 = derived_safe_equal(() => (get(selectedFunction), untrack(() => { | |
| var _a; | |
| return ((_a = get(selectedFunction)) == null ? void 0 : _a.id) ?? null; | |
| }))); | |
| ValvesModal(node_27, { | |
| type: "function", | |
| get id() { | |
| return get($0); | |
| }, | |
| get show() { | |
| return get(showValvesModal); | |
| }, | |
| set show($$value) { | |
| set(showValvesModal, $$value); | |
| }, | |
| $$events: { | |
| save: async () => { | |
| var _a, _b, _c; | |
| await tick(); | |
| models.set(await getModels(localStorage.token, ((_b = (_a = $config()) == null ? void 0 : _a.features) == null ? void 0 : _b.enable_direct_connections) && (((_c = $settings()) == null ? void 0 : _c.directConnections) ?? null), false, true)); | |
| } | |
| }, | |
| $$legacy: true | |
| }); | |
| } | |
| var node_28 = sibling(node_27, 2); | |
| ConfirmDialog(node_28, { | |
| get show() { | |
| return get(showConfirm); | |
| }, | |
| set show($$value) { | |
| set(showConfirm, $$value); | |
| }, | |
| $$events: { | |
| confirm: () => { | |
| const reader = new FileReader(); | |
| reader.onload = async (event2) => { | |
| var _a, _b, _c; | |
| const _functions = JSON.parse(event2.target.result); | |
| /* @__PURE__ */ console.log(_functions); | |
| for (let func of _functions) { | |
| if ("function" in func) { | |
| func = func.function; | |
| } | |
| await createNewFunction(localStorage.token, func).catch((error) => { | |
| toast.error(`${error}`); | |
| return null; | |
| }); | |
| } | |
| toast.success($i18n().t("Functions imported successfully")); | |
| set(functions$1, await getFunctionList(localStorage.token)); | |
| _functions.set(await getFunctions(localStorage.token)); | |
| models.set(await getModels(localStorage.token, ((_b = (_a = $config()) == null ? void 0 : _a.features) == null ? void 0 : _b.enable_direct_connections) && (((_c = $settings()) == null ? void 0 : _c.directConnections) ?? null), false, true)); | |
| set(importFiles, null); | |
| mutate(functionsImportInputElement, get(functionsImportInputElement).value = ""); | |
| }; | |
| reader.readAsText(get(importFiles)[0]); | |
| } | |
| }, | |
| children: ($$anchor3, $$slotProps) => { | |
| var div_44 = root_15(); | |
| var div_45 = child(div_44); | |
| var div_46 = child(div_45); | |
| var text_17 = child(div_46, true); | |
| reset(div_46); | |
| var ul = sibling(div_46, 2); | |
| var li = child(ul); | |
| var text_18 = child(li, true); | |
| reset(li); | |
| var li_1 = sibling(li, 2); | |
| var text_19 = child(li_1, true); | |
| reset(li_1); | |
| reset(ul); | |
| reset(div_45); | |
| var div_47 = sibling(div_45, 2); | |
| var text_20 = child(div_47, true); | |
| reset(div_47); | |
| reset(div_44); | |
| template_effect( | |
| ($0, $1, $2, $3) => { | |
| set_text(text_17, $0); | |
| set_text(text_18, $1); | |
| set_text(text_19, $2); | |
| set_text(text_20, $3); | |
| }, | |
| [ | |
| () => ($i18n(), untrack(() => $i18n().t("Please carefully review the following warnings:"))), | |
| () => ($i18n(), untrack(() => $i18n().t("Functions allow arbitrary code execution."))), | |
| () => ($i18n(), untrack(() => $i18n().t("Do not install functions from sources you do not fully trust."))), | |
| () => ($i18n(), untrack(() => $i18n().t("I acknowledge that I have read and I understand the implications of my action. I am aware of the risks associated with executing arbitrary code and I have verified the trustworthiness of the source."))) | |
| ] | |
| ); | |
| append($$anchor3, div_44); | |
| }, | |
| $$slots: { default: true }, | |
| $$legacy: true | |
| }); | |
| template_effect( | |
| ($0, $1) => { | |
| set_text(text$1, $0); | |
| set_text(text_1, (get(filteredItems), untrack(() => get(filteredItems).length))); | |
| set_attribute(input_1, "placeholder", $1); | |
| }, | |
| [ | |
| () => ($i18n(), untrack(() => $i18n().t("Functions"))), | |
| () => ($i18n(), untrack(() => $i18n().t("Search Functions"))) | |
| ] | |
| ); | |
| bind_files(input, () => get(importFiles), ($$value) => set(importFiles, $$value)); | |
| event("change", input, () => { | |
| /* @__PURE__ */ console.log(get(importFiles)); | |
| set(showConfirm, true); | |
| }); | |
| bind_value(input_1, () => get(query), ($$value) => set(query, $$value)); | |
| event("wheel", div_17, (e) => { | |
| if (e.deltaY !== 0) { | |
| e.preventDefault(); | |
| e.currentTarget.scrollLeft += e.deltaY; | |
| } | |
| }); | |
| append($$anchor2, fragment_1); | |
| }; | |
| var alternate_2 = ($$anchor2) => { | |
| var div_48 = root_17(); | |
| var node_29 = child(div_48); | |
| Spinner(node_29, { className: "size-5" }); | |
| reset(div_48); | |
| append($$anchor2, div_48); | |
| }; | |
| if_block(node_1, ($$render) => { | |
| if (get(loaded)) $$render(consequent_8); | |
| else $$render(alternate_2, -1); | |
| }); | |
| } | |
| append($$anchor, fragment); | |
| pop(); | |
| $$cleanup(); | |
| } | |
| function _page($$anchor, $$props) { | |
| push($$props, false); | |
| const $functions = () => store_get(functions, "$functions", $$stores); | |
| const [$$stores, $$cleanup] = setup_stores(); | |
| onMount(async () => { | |
| await Promise.all([ | |
| (async () => { | |
| functions.set(await getFunctions(localStorage.token)); | |
| })() | |
| ]); | |
| }); | |
| init(); | |
| var fragment = comment(); | |
| var node = first_child(fragment); | |
| { | |
| var consequent = ($$anchor2) => { | |
| Functions($$anchor2, {}); | |
| }; | |
| if_block(node, ($$render) => { | |
| if ($functions() !== null) $$render(consequent); | |
| }); | |
| } | |
| append($$anchor, fragment); | |
| pop(); | |
| $$cleanup(); | |
| } | |
| export { | |
| _page as component | |
| }; | |