@scalar/api-client
Version:
the open source API testing client
86 lines (85 loc) • 3.06 kB
JavaScript
import { defineComponent as f, ref as r, watch as N, computed as E, createBlock as y, openBlock as c, unref as h, withCtx as a, createVNode as m, createElementVNode as C, createElementBlock as b, createCommentVNode as x, createTextVNode as T, toDisplayString as F } from "vue";
import { ScalarModal as V } from "@scalar/components";
import k from "../../../../components/CommandPalette/CommandActionForm.vue.js";
import B from "../../../../components/CommandPalette/CommandActionInput.vue.js";
import S from "./EnvironmentColors.vue.js";
const O = { class: "flex items-start gap-2" }, g = {
key: 0,
class: "text-red text-xs"
}, s = "#FFFFFF", w = /* @__PURE__ */ f({
__name: "EnvironmentCreateModal",
props: {
environments: {},
selectedEnvironmentName: {},
state: {},
eventBus: {},
collectionType: {}
},
setup(e) {
const t = r(""), n = r(s);
N(
() => e.state.open,
(l) => {
if (l) {
const o = e.environments[e.selectedEnvironmentName ?? ""];
e.selectedEnvironmentName && o ? (t.value = e.selectedEnvironmentName, n.value = o.color) : (t.value = "", n.value = s);
}
}
);
const d = (l) => {
n.value = l;
}, v = () => {
e.selectedEnvironmentName ? e.eventBus.emit("environment:upsert:environment", {
oldEnvironmentName: e.selectedEnvironmentName,
payload: {
color: n.value
},
environmentName: t.value.trim(),
collectionType: e.collectionType
}) : e.eventBus.emit("environment:upsert:environment", {
environmentName: t.value.trim(),
payload: {
color: n.value
},
collectionType: e.collectionType
}), e.state.hide();
}, i = E(() => e.selectedEnvironmentName ? t.value !== e.selectedEnvironmentName && Object.keys(e.environments).includes(t.value) : Object.keys(e.environments).includes(t.value));
return (l, o) => (c(), y(h(V), {
bodyClass: "border-t-0 rounded-t-lg",
size: "xs",
state: l.state
}, {
default: a(() => [
m(k, {
disabled: !t.value.trim() || i.value,
onSubmit: v
}, {
submit: a(() => [
T(F(l.selectedEnvironmentName ? "Update" : "Add") + " Environment ", 1)
]),
default: a(() => [
C("div", O, [
m(S, {
activeColor: n.value,
class: "peer",
onSelect: d
}, null, 8, ["activeColor"]),
m(B, {
modelValue: t.value,
"onUpdate:modelValue": o[0] || (o[0] = (u) => t.value = u),
class: "-mt-[.5px] !p-0 peer-has-[.color-selector]:hidden",
placeholder: "Environment name"
}, null, 8, ["modelValue"])
]),
i.value ? (c(), b("div", g, " This environment name is already in use. ")) : x("", !0)
]),
_: 1
}, 8, ["disabled"])
]),
_: 1
}, 8, ["state"]));
}
});
export {
w as default
};