fix: structure of ourline creation
This commit is contained in:
@@ -0,0 +1 @@
|
||||
<template></template>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -44,44 +44,44 @@ import {
|
||||
k as S,
|
||||
w as se,
|
||||
x as i,
|
||||
A as $,
|
||||
B as f,
|
||||
C as t,
|
||||
I as u,
|
||||
G as d,
|
||||
H as e,
|
||||
ak as H,
|
||||
al as le,
|
||||
F as $,
|
||||
G as f,
|
||||
H as t,
|
||||
L as u,
|
||||
J as d,
|
||||
K as e,
|
||||
aj as H,
|
||||
ak as le,
|
||||
y as h,
|
||||
Q as w,
|
||||
R as A,
|
||||
F as O,
|
||||
J as V,
|
||||
I as O,
|
||||
M as V,
|
||||
D as I,
|
||||
r as B,
|
||||
U as L,
|
||||
a7 as D,
|
||||
b as Z,
|
||||
ae as ne,
|
||||
am as P,
|
||||
al as P,
|
||||
T as ae,
|
||||
ac as he,
|
||||
a5 as ie,
|
||||
an as be,
|
||||
ao as ye,
|
||||
N as de,
|
||||
ap as ve,
|
||||
aq as fe,
|
||||
ar as ge,
|
||||
as as re,
|
||||
at as ke,
|
||||
au as xe,
|
||||
am as be,
|
||||
an as ye,
|
||||
P as de,
|
||||
ao as ve,
|
||||
ap as fe,
|
||||
aq as ge,
|
||||
ar as re,
|
||||
as as ke,
|
||||
at as xe,
|
||||
j as R,
|
||||
X as $e,
|
||||
a6 as Ve,
|
||||
a8 as Ce,
|
||||
a9 as Se,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import {
|
||||
a as M,
|
||||
f as E,
|
||||
@@ -89,15 +89,15 @@ import {
|
||||
g as Me,
|
||||
t as we,
|
||||
B as Le,
|
||||
} from "./index-Vx7mSx23.js";
|
||||
import { _ as De } from "./CourseCard--twQpeIf.js";
|
||||
import { C as J, a as G } from "./clock-blcPmEdF.js";
|
||||
import { P as ue } from "./plus-pxSjkL_w.js";
|
||||
import { _ as je } from "./Link-Z_9V94MR.js";
|
||||
import { _ as Ae } from "./Discussions-C9dFHLpJ.js";
|
||||
import { B as Ue } from "./book-open-check-j9IEQjWh.js";
|
||||
import "./UserAvatar-yrWInUTi.js";
|
||||
import "./star-ypmGZNF0.js";
|
||||
} from "./index-6k1S_EjG.js";
|
||||
import { _ as De } from "./CourseCard-RMpjQ-rq.js";
|
||||
import { C as J, a as G } from "./clock-q4vfplv-.js";
|
||||
import { P as ue } from "./plus-0JOmes86.js";
|
||||
import { _ as je } from "./Link-rwTAUhIL.js";
|
||||
import { _ as Ae } from "./Discussions-3EqlwpPS.js";
|
||||
import { B as Ue } from "./book-open-check-_W-8v7wc.js";
|
||||
import "./UserAvatar-A3tEMZXD.js";
|
||||
import "./star--IkSKstT.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
@@ -258,8 +258,8 @@ import "./star-ypmGZNF0.js";
|
||||
Ze = { key: 0 },
|
||||
Je = { class: "mb-1.5 text-sm text-gray-600" },
|
||||
Ge = { class: "grid grid-cols-2 gap-2" },
|
||||
Qe = ["onClick"],
|
||||
Xe = {
|
||||
Ke = ["onClick"],
|
||||
Qe = {
|
||||
__name: "EvaluationModal",
|
||||
props: z(
|
||||
{
|
||||
@@ -480,7 +480,7 @@ import "./star-ypmGZNF0.js";
|
||||
)
|
||||
),
|
||||
11,
|
||||
Qe
|
||||
Ke
|
||||
),
|
||||
])
|
||||
)
|
||||
@@ -500,12 +500,12 @@ import "./star-ypmGZNF0.js";
|
||||
);
|
||||
},
|
||||
},
|
||||
Ke = { class: "mb-10" },
|
||||
Xe = { class: "mb-10" },
|
||||
We = { class: "text-lg font-semibold mb-4" },
|
||||
et = { key: 1 },
|
||||
tt = { class: "grid grid-cols-2 gap-4" },
|
||||
st = { class: "border rounded-md p-3" },
|
||||
at = { class: "font-medium mb-3" },
|
||||
at = { class: "font-semibold mb-3" },
|
||||
ot = { class: "flex items-center mb-2" },
|
||||
lt = { class: "ml-2" },
|
||||
nt = { class: "flex items-center mb-2" },
|
||||
@@ -546,7 +546,7 @@ import "./star-ypmGZNF0.js";
|
||||
w,
|
||||
null,
|
||||
[
|
||||
t("div", Ke, [
|
||||
t("div", Xe, [
|
||||
m.isStudent
|
||||
? (i(),
|
||||
$(
|
||||
@@ -692,7 +692,7 @@ import "./star-ypmGZNF0.js";
|
||||
)),
|
||||
]),
|
||||
d(
|
||||
Xe,
|
||||
Qe,
|
||||
{
|
||||
batch: m.batch,
|
||||
endDate: m.endDate,
|
||||
@@ -1469,7 +1469,7 @@ import "./star-ypmGZNF0.js";
|
||||
Zt = { key: 0 },
|
||||
Jt = { key: 0 },
|
||||
Gt = { class: "flex gap-2" },
|
||||
Qt = {
|
||||
Kt = {
|
||||
__name: "BatchStudents",
|
||||
props: { batch: { type: String, default: null } },
|
||||
setup(m) {
|
||||
@@ -1817,8 +1817,8 @@ import "./star-ypmGZNF0.js";
|
||||
};
|
||||
},
|
||||
},
|
||||
Xt = { key: 0 },
|
||||
Kt = { class: "mb-8" },
|
||||
Qt = { key: 0 },
|
||||
Xt = { class: "mb-8" },
|
||||
Wt = { class: "flex items-center justify-between mb-2" },
|
||||
es = { class: "flex items-center" },
|
||||
ts = { class: "ml-2" },
|
||||
@@ -1853,7 +1853,7 @@ import "./star-ypmGZNF0.js";
|
||||
var l;
|
||||
return (l = e(o).data) != null && l.length
|
||||
? (i(),
|
||||
h("div", Xt, [
|
||||
h("div", Qt, [
|
||||
(i(!0),
|
||||
h(
|
||||
w,
|
||||
@@ -1863,7 +1863,7 @@ import "./star-ypmGZNF0.js";
|
||||
(s) => (
|
||||
i(),
|
||||
h("div", null, [
|
||||
t("div", Kt, [
|
||||
t("div", Xt, [
|
||||
t("div", Wt, [
|
||||
t("div", es, [
|
||||
d(
|
||||
@@ -2101,7 +2101,7 @@ import "./star-ypmGZNF0.js";
|
||||
Ns = { class: "px-5 py-3" },
|
||||
Ps = { key: 0, class: "mb-4 leading-6" },
|
||||
Ys = { key: 1, class: "mb-4 leading-6" },
|
||||
Xs = {
|
||||
Qs = {
|
||||
__name: "Batch",
|
||||
props: { batchName: { type: String, required: !0 } },
|
||||
setup(m) {
|
||||
@@ -2187,7 +2187,7 @@ import "./star-ypmGZNF0.js";
|
||||
p.value = !0;
|
||||
};
|
||||
return (a, r) => {
|
||||
var N, Q, X, K;
|
||||
var N, K, Q, X;
|
||||
const U = $e("router-link");
|
||||
return ((N = e(o).data) != null && N.is_moderator) || _.value
|
||||
? (i(),
|
||||
@@ -2200,7 +2200,7 @@ import "./star-ypmGZNF0.js";
|
||||
8,
|
||||
["items"]
|
||||
),
|
||||
(Q = e(o).data) != null && Q.is_moderator
|
||||
(K = e(o).data) != null && K.is_moderator
|
||||
? (i(),
|
||||
$(
|
||||
e(D),
|
||||
@@ -2471,7 +2471,7 @@ import "./star-ypmGZNF0.js";
|
||||
? (i(),
|
||||
h("div", Vs, [
|
||||
d(
|
||||
Qt,
|
||||
Kt,
|
||||
{
|
||||
batch: e(
|
||||
l
|
||||
@@ -2644,7 +2644,7 @@ import "./star-ypmGZNF0.js";
|
||||
]))
|
||||
: V("", !0),
|
||||
]))
|
||||
: (X = e(o).data) != null && X.name
|
||||
: (Q = e(o).data) != null && Q.name
|
||||
? V("", !0)
|
||||
: (i(),
|
||||
h("div", Us, [
|
||||
@@ -2687,13 +2687,13 @@ import "./star-ypmGZNF0.js";
|
||||
name: "Batches",
|
||||
params: {
|
||||
batchName:
|
||||
(K =
|
||||
(X =
|
||||
e(
|
||||
l
|
||||
).data) ==
|
||||
null
|
||||
? void 0
|
||||
: K.name,
|
||||
: X.name,
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -2752,5 +2752,5 @@ import "./star-ypmGZNF0.js";
|
||||
};
|
||||
},
|
||||
};
|
||||
export { Xs as default };
|
||||
//# sourceMappingURL=Batch-58vnulBX.js.map
|
||||
export { Qs as default };
|
||||
//# sourceMappingURL=Batch-VUgAxRGV.js.map
|
||||
1
lms/public/frontend/assets/Batch-VUgAxRGV.js.map
Normal file
1
lms/public/frontend/assets/Batch-VUgAxRGV.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -3,34 +3,34 @@ import {
|
||||
j as C,
|
||||
x as n,
|
||||
y as h,
|
||||
A as b,
|
||||
B as u,
|
||||
F as b,
|
||||
G as u,
|
||||
U as N,
|
||||
I as s,
|
||||
H as t,
|
||||
a8 as Y,
|
||||
J as d,
|
||||
C as e,
|
||||
G as r,
|
||||
L as s,
|
||||
K as t,
|
||||
a8 as B,
|
||||
M as d,
|
||||
H as e,
|
||||
J as r,
|
||||
a7 as w,
|
||||
X as D,
|
||||
L as H,
|
||||
C as H,
|
||||
k as $,
|
||||
Q as S,
|
||||
R as O,
|
||||
a6 as R,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { b as V, B as j, f as M } from "./index-Vx7mSx23.js";
|
||||
import { C as L, a as T } from "./clock-blcPmEdF.js";
|
||||
import { _ as E } from "./CourseCard--twQpeIf.js";
|
||||
import "./UserAvatar-yrWInUTi.js";
|
||||
import "./star-ypmGZNF0.js";
|
||||
const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
I = { key: 2, class: "text-lg font-semibold mb-3" },
|
||||
q = { class: "flex items-center mb-3" },
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { b as V, B as j, f as M } from "./index-6k1S_EjG.js";
|
||||
import { C as L, a as T } from "./clock-q4vfplv-.js";
|
||||
import { _ as E } from "./CourseCard-RMpjQ-rq.js";
|
||||
import "./UserAvatar-A3tEMZXD.js";
|
||||
import "./star--IkSKstT.js";
|
||||
const F = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
q = { key: 2, class: "text-lg font-semibold mb-3" },
|
||||
z = { class: "flex items-center mb-3" },
|
||||
F = { class: "flex items-center" },
|
||||
G = {
|
||||
A = { class: "flex items-center mb-3" },
|
||||
G = { class: "flex items-center" },
|
||||
I = {
|
||||
__name: "BatchOverlay",
|
||||
props: { batch: { type: Object, default: null } },
|
||||
setup(c) {
|
||||
@@ -54,11 +54,11 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
const _ = D("router-link");
|
||||
return c.batch.data
|
||||
? (n(),
|
||||
h("div", A, [
|
||||
h("div", F, [
|
||||
c.batch.data.seat_count && i.value > 0
|
||||
? (n(),
|
||||
b(
|
||||
t(Y),
|
||||
t(B),
|
||||
{
|
||||
key: 0,
|
||||
theme: "green",
|
||||
@@ -79,7 +79,7 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
: c.batch.data.seat_count && i.value <= 0
|
||||
? (n(),
|
||||
b(
|
||||
t(Y),
|
||||
t(B),
|
||||
{
|
||||
key: 1,
|
||||
theme: "red",
|
||||
@@ -97,7 +97,7 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
? (n(),
|
||||
h(
|
||||
"div",
|
||||
I,
|
||||
q,
|
||||
s(
|
||||
t(V)(
|
||||
c.batch.data.amount,
|
||||
@@ -107,7 +107,7 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
1
|
||||
))
|
||||
: d("", !0),
|
||||
e("div", q, [
|
||||
e("div", z, [
|
||||
r(t(j), {
|
||||
class: "h-4 w-4 stroke-1.5 mr-2 text-gray-700",
|
||||
}),
|
||||
@@ -120,7 +120,7 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
1
|
||||
),
|
||||
]),
|
||||
e("div", z, [
|
||||
e("div", A, [
|
||||
r(t(L), {
|
||||
class: "h-4 w-4 stroke-1.5 mr-2 text-gray-700",
|
||||
}),
|
||||
@@ -141,7 +141,7 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
1
|
||||
),
|
||||
]),
|
||||
e("div", F, [
|
||||
e("div", G, [
|
||||
r(t(T), {
|
||||
class: "h-4 w-4 stroke-1.5 mr-2 text-gray-700",
|
||||
}),
|
||||
@@ -285,10 +285,10 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
},
|
||||
},
|
||||
J = { key: 0, class: "h-screen text-base" },
|
||||
Q = { class: "sticky top-0 z-10 border-b bg-white px-3 py-2.5 sm:px-5" },
|
||||
U = { class: "m-5 pb-10" },
|
||||
X = { class: "text-3xl font-semibold" },
|
||||
K = { class: "my-3" },
|
||||
K = { class: "sticky top-0 z-10 border-b bg-white px-3 py-2.5 sm:px-5" },
|
||||
Q = { class: "m-5 pb-10" },
|
||||
U = { class: "text-3xl font-semibold" },
|
||||
X = { class: "my-3" },
|
||||
P = { class: "flex items-center justify-between w-1/2" },
|
||||
W = { class: "flex items-center" },
|
||||
Z = { key: 0 },
|
||||
@@ -359,18 +359,18 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
);
|
||||
});
|
||||
return (l, m) => {
|
||||
var g, B;
|
||||
var g, Y;
|
||||
const o = D("router-link");
|
||||
return t(a).data
|
||||
? (n(),
|
||||
h("div", J, [
|
||||
e("header", Q, [
|
||||
e("header", K, [
|
||||
r(t(R), { items: _.value }, null, 8, ["items"]),
|
||||
]),
|
||||
e("div", U, [
|
||||
e("div", Q, [
|
||||
e("div", null, [
|
||||
e("div", X, s(t(a).data.title), 1),
|
||||
e("div", K, s(t(a).data.description), 1),
|
||||
e("div", U, s(t(a).data.title), 1),
|
||||
e("div", X, s(t(a).data.description), 1),
|
||||
e("div", P, [
|
||||
e("div", W, [
|
||||
r(t(j), {
|
||||
@@ -380,12 +380,12 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
"span",
|
||||
null,
|
||||
s(
|
||||
(B =
|
||||
(Y =
|
||||
(g = t(a).data) == null
|
||||
? void 0
|
||||
: g.courses) == null
|
||||
? void 0
|
||||
: B.length
|
||||
: Y.length
|
||||
) +
|
||||
" " +
|
||||
s(l.__("Courses")),
|
||||
@@ -449,7 +449,7 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
),
|
||||
]),
|
||||
e("div", null, [
|
||||
r(G, { batch: t(a) }, null, 8, [
|
||||
r(I, { batch: t(a) }, null, 8, [
|
||||
"batch",
|
||||
]),
|
||||
]),
|
||||
@@ -540,4 +540,4 @@ const A = { key: 0, class: "shadow rounded-md p-5", style: { width: "300px" } },
|
||||
},
|
||||
};
|
||||
export { ft as default };
|
||||
//# sourceMappingURL=BatchDetail-Y5ojGFjm.js.map
|
||||
//# sourceMappingURL=BatchDetail-gQdB1fdL.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -2,30 +2,30 @@ import {
|
||||
d as C,
|
||||
x as n,
|
||||
y as u,
|
||||
A as g,
|
||||
B as h,
|
||||
F as g,
|
||||
G as h,
|
||||
U as f,
|
||||
I as t,
|
||||
H as o,
|
||||
L as t,
|
||||
K as o,
|
||||
a8 as x,
|
||||
J as y,
|
||||
C as a,
|
||||
G as i,
|
||||
k as N,
|
||||
r as Y,
|
||||
M as y,
|
||||
H as a,
|
||||
J as i,
|
||||
k as Y,
|
||||
r as j,
|
||||
j as m,
|
||||
a6 as j,
|
||||
a7 as D,
|
||||
F as $,
|
||||
N as V,
|
||||
Q as M,
|
||||
R as z,
|
||||
a9 as A,
|
||||
X as L,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { B as O, f as B } from "./index-Vx7mSx23.js";
|
||||
import { C as P, a as S } from "./clock-blcPmEdF.js";
|
||||
import { P as U } from "./plus-pxSjkL_w.js";
|
||||
a6 as D,
|
||||
a7 as M,
|
||||
I as $,
|
||||
P as N,
|
||||
Q as V,
|
||||
R as L,
|
||||
a9 as P,
|
||||
X as z,
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { B as O, f as B } from "./index-6k1S_EjG.js";
|
||||
import { C as S, a as U } from "./clock-q4vfplv-.js";
|
||||
import { P as A } from "./plus-0JOmes86.js";
|
||||
const E = {
|
||||
class: "flex flex-col border border-gray-200 rounded-md p-4 h-full",
|
||||
style: { "min-height": "150px" },
|
||||
@@ -37,7 +37,7 @@ const E = {
|
||||
G = { class: "flex items-center mb-3" },
|
||||
H = { class: "flex items-center mb-3" },
|
||||
J = { class: "flex items-center" },
|
||||
Q = {
|
||||
K = {
|
||||
__name: "BatchCard",
|
||||
props: { batch: { type: Object, default: null } },
|
||||
setup(s) {
|
||||
@@ -103,7 +103,7 @@ const E = {
|
||||
),
|
||||
]),
|
||||
a("div", H, [
|
||||
i(o(P), {
|
||||
i(o(S), {
|
||||
class: "h-4 w-4 stroke-1.5 mr-2 text-gray-700",
|
||||
}),
|
||||
a(
|
||||
@@ -124,7 +124,7 @@ const E = {
|
||||
),
|
||||
]),
|
||||
a("div", J, [
|
||||
i(o(S), {
|
||||
i(o(U), {
|
||||
class: "h-4 w-4 stroke-1.5 mr-2 text-gray-700",
|
||||
}),
|
||||
a(
|
||||
@@ -141,11 +141,11 @@ const E = {
|
||||
);
|
||||
},
|
||||
},
|
||||
X = { class: "h-screen text-base" },
|
||||
q = {
|
||||
Q = { class: "h-screen text-base" },
|
||||
X = {
|
||||
class: "sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5",
|
||||
},
|
||||
K = { class: "flex" },
|
||||
q = { class: "flex" },
|
||||
W = { class: "pb-5" },
|
||||
Z = {
|
||||
key: 0,
|
||||
@@ -161,7 +161,7 @@ const E = {
|
||||
setup(s) {
|
||||
var p, k;
|
||||
const d = C("$user"),
|
||||
c = N({
|
||||
c = Y({
|
||||
url: "lms.lms.utils.get_batches",
|
||||
cache: [
|
||||
"batches",
|
||||
@@ -171,7 +171,7 @@ const E = {
|
||||
],
|
||||
auto: !0,
|
||||
}),
|
||||
v = Y(0),
|
||||
v = j(0),
|
||||
_ = [
|
||||
{
|
||||
label: "Upcoming",
|
||||
@@ -242,13 +242,13 @@ const E = {
|
||||
}),
|
||||
}),
|
||||
(e, l) => {
|
||||
const w = L("router-link");
|
||||
const w = z("router-link");
|
||||
return (
|
||||
n(),
|
||||
u("div", X, [
|
||||
a("header", q, [
|
||||
u("div", Q, [
|
||||
a("header", X, [
|
||||
i(
|
||||
o(j),
|
||||
o(D),
|
||||
{
|
||||
class: "h-7",
|
||||
items: [
|
||||
@@ -262,13 +262,13 @@ const E = {
|
||||
8,
|
||||
["items"]
|
||||
),
|
||||
a("div", K, [
|
||||
a("div", q, [
|
||||
i(
|
||||
o(D),
|
||||
o(M),
|
||||
{ variant: "solid" },
|
||||
{
|
||||
prefix: h(() => [
|
||||
i(o(U), { class: "h-4 w-4" }),
|
||||
i(o(A), { class: "h-4 w-4" }),
|
||||
]),
|
||||
default: h(() => [
|
||||
f(
|
||||
@@ -283,7 +283,7 @@ const E = {
|
||||
]),
|
||||
a("div", W, [
|
||||
i(
|
||||
o(A),
|
||||
o(P),
|
||||
{
|
||||
modelValue: v.value,
|
||||
"onUpdate:modelValue":
|
||||
@@ -309,7 +309,7 @@ const E = {
|
||||
[
|
||||
r.icon
|
||||
? (n(),
|
||||
g(V(r.icon), {
|
||||
g(N(r.icon), {
|
||||
key: 0,
|
||||
class: "h-5",
|
||||
}))
|
||||
@@ -364,9 +364,9 @@ const E = {
|
||||
u("div", Z, [
|
||||
(n(!0),
|
||||
u(
|
||||
M,
|
||||
V,
|
||||
null,
|
||||
z(
|
||||
L(
|
||||
r.batches.value,
|
||||
(b) => (
|
||||
n(),
|
||||
@@ -386,7 +386,7 @@ const E = {
|
||||
h(
|
||||
() => [
|
||||
i(
|
||||
Q,
|
||||
K,
|
||||
{
|
||||
batch: b,
|
||||
},
|
||||
@@ -441,4 +441,4 @@ const E = {
|
||||
},
|
||||
};
|
||||
export { ce as default };
|
||||
//# sourceMappingURL=Batches-P9EN0hZ-.js.map
|
||||
//# sourceMappingURL=Batches-irCWn_Pc.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,24 +1,24 @@
|
||||
import {
|
||||
x as c,
|
||||
y as _,
|
||||
C as s,
|
||||
H as s,
|
||||
U as x,
|
||||
I as o,
|
||||
G as d,
|
||||
B as L,
|
||||
H as n,
|
||||
L as o,
|
||||
J as d,
|
||||
G as L,
|
||||
K as n,
|
||||
a7 as P,
|
||||
d as T,
|
||||
s as j,
|
||||
k as f,
|
||||
a as z,
|
||||
F as I,
|
||||
J as b,
|
||||
am as u,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { _ as S } from "./Link-Z_9V94MR.js";
|
||||
import { c as V } from "./index-Vx7mSx23.js";
|
||||
import "./plus-pxSjkL_w.js";
|
||||
I,
|
||||
M as b,
|
||||
al as u,
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { _ as S } from "./Link-rwTAUhIL.js";
|
||||
import { c as V } from "./index-6k1S_EjG.js";
|
||||
import "./plus-0JOmes86.js";
|
||||
const E = { class: "text-base border rounded-md w-1/3 mx-auto my-32" },
|
||||
G = { class: "border-b px-5 py-3 font-medium" },
|
||||
R = s(
|
||||
@@ -72,11 +72,11 @@ const E = { class: "text-base border rounded-md w-1/3 mx-auto my-32" },
|
||||
);
|
||||
},
|
||||
},
|
||||
q = { class: "text-base h-screen" },
|
||||
F = { key: 0, class: "mt-10 w-1/2 mx-auto" },
|
||||
K = { class: "text-base h-screen" },
|
||||
q = { key: 0, class: "mt-10 w-1/2 mx-auto" },
|
||||
J = { class: "text-3xl font-bold" },
|
||||
K = { class: "text-gray-600 mt-1" },
|
||||
O = { class: "border rounded-md p-5 mt-5" },
|
||||
O = { class: "text-gray-600 mt-1" },
|
||||
F = { class: "border rounded-md p-5 mt-5" },
|
||||
W = { class: "text-xl font-semibold" },
|
||||
Y = { class: "text-gray-600 mt-1" },
|
||||
Q = { class: "mt-5" },
|
||||
@@ -162,7 +162,7 @@ const E = { class: "text-base border rounded-md w-1/3 mx-auto my-32" },
|
||||
(t.gstin = e.gstin || ""),
|
||||
(t.pan = e.pan || "");
|
||||
},
|
||||
B = f({
|
||||
M = f({
|
||||
url: "lms.lms.utils.get_payment_options",
|
||||
makeParams(e) {
|
||||
return {
|
||||
@@ -174,8 +174,8 @@ const E = { class: "text-base border rounded-md w-1/3 mx-auto my-32" },
|
||||
};
|
||||
},
|
||||
}),
|
||||
M = () => {
|
||||
B.submit(
|
||||
B = () => {
|
||||
M.submit(
|
||||
{},
|
||||
{
|
||||
validate(e) {
|
||||
@@ -304,14 +304,14 @@ const E = { class: "text-base border rounded-md w-1/3 mx-auto my-32" },
|
||||
var y, h, g;
|
||||
return (
|
||||
c(),
|
||||
_("div", q, [
|
||||
_("div", K, [
|
||||
(y = n(p).data) != null && y.access && n(i).data
|
||||
? (c(),
|
||||
_("div", F, [
|
||||
_("div", q, [
|
||||
s("div", J, o(e.__("Billing Details")), 1),
|
||||
s(
|
||||
"div",
|
||||
K,
|
||||
O,
|
||||
o(
|
||||
e.__(
|
||||
"Enter the billing information to complete the payment."
|
||||
@@ -319,7 +319,7 @@ const E = { class: "text-base border rounded-md w-1/3 mx-auto my-32" },
|
||||
),
|
||||
1
|
||||
),
|
||||
s("div", O, [
|
||||
s("div", F, [
|
||||
s("div", W, o(e.__("Summary")), 1),
|
||||
s(
|
||||
"div",
|
||||
@@ -718,7 +718,7 @@ const E = { class: "text-base border rounded-md w-1/3 mx-auto my-32" },
|
||||
class: "mt-8",
|
||||
onClick:
|
||||
a[11] ||
|
||||
(a[11] = (l) => M()),
|
||||
(a[11] = (l) => B()),
|
||||
},
|
||||
{
|
||||
default: L(() => [
|
||||
@@ -778,4 +778,4 @@ const E = { class: "text-base border rounded-md w-1/3 mx-auto my-32" },
|
||||
},
|
||||
};
|
||||
export { Ne as default };
|
||||
//# sourceMappingURL=Billing-bj16mAfD.js.map
|
||||
//# sourceMappingURL=Billing-tJdywChZ.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,25 +1,25 @@
|
||||
import { _ as b } from "./UserAvatar-yrWInUTi.js";
|
||||
import { s as w, B, U as _ } from "./index-Vx7mSx23.js";
|
||||
import { _ as b } from "./UserAvatar-A3tEMZXD.js";
|
||||
import { s as w, B as _, U as B } from "./index-6k1S_EjG.js";
|
||||
import {
|
||||
x as t,
|
||||
y as o,
|
||||
C as r,
|
||||
H as r,
|
||||
Q as h,
|
||||
R as f,
|
||||
A as g,
|
||||
B as n,
|
||||
F as g,
|
||||
G as n,
|
||||
U as v,
|
||||
I as s,
|
||||
H as c,
|
||||
L as s,
|
||||
K as c,
|
||||
a8 as x,
|
||||
J as a,
|
||||
F as y,
|
||||
M as a,
|
||||
I as y,
|
||||
V as k,
|
||||
G as l,
|
||||
J as l,
|
||||
T as d,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { S as C } from "./star-ypmGZNF0.js";
|
||||
const S = {
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { S } from "./star--IkSKstT.js";
|
||||
const C = {
|
||||
key: 0,
|
||||
class: "flex flex-col h-full rounded-md shadow-md text-base overflow-auto",
|
||||
style: { "min-height": "320px" },
|
||||
@@ -30,13 +30,13 @@ const S = {
|
||||
N = { class: "flex items-center justify-between mb-2" },
|
||||
R = { key: 0 },
|
||||
j = { key: 1 },
|
||||
A = { key: 2 },
|
||||
I = { key: 3 },
|
||||
T = { class: "text-xl font-semibold" },
|
||||
E = { class: "short-introduction" },
|
||||
F = { key: 0, class: "w-full bg-gray-200 rounded-full h-1 mb-2" },
|
||||
L = { key: 1, class: "text-sm mb-4" },
|
||||
M = { class: "flex items-center justify-between mt-auto" },
|
||||
I = { key: 2 },
|
||||
L = { key: 3 },
|
||||
M = { class: "text-xl font-semibold" },
|
||||
T = { class: "short-introduction" },
|
||||
A = { key: 0, class: "w-full bg-gray-200 rounded-full h-1 mb-2" },
|
||||
E = { key: 1, class: "text-sm mb-4" },
|
||||
F = { class: "flex items-center justify-between mt-auto" },
|
||||
O = { class: "flex avatar-group overlap" },
|
||||
$ = { key: 0 },
|
||||
D = { key: 1 },
|
||||
@@ -50,7 +50,7 @@ const S = {
|
||||
return (u, J) =>
|
||||
e.course.title
|
||||
? (t(),
|
||||
o("div", S, [
|
||||
o("div", C, [
|
||||
r(
|
||||
"div",
|
||||
{
|
||||
@@ -115,7 +115,7 @@ const S = {
|
||||
},
|
||||
{
|
||||
default: n(() => [
|
||||
l(c(B), {
|
||||
l(c(_), {
|
||||
class: "h-4 w-4 stroke-1.5 text-gray-700",
|
||||
}),
|
||||
r(
|
||||
@@ -148,7 +148,7 @@ const S = {
|
||||
},
|
||||
{
|
||||
default: n(() => [
|
||||
l(c(_), {
|
||||
l(c(B), {
|
||||
class: "h-4 w-4 stroke-1.5 text-gray-700",
|
||||
}),
|
||||
r(
|
||||
@@ -170,7 +170,7 @@ const S = {
|
||||
: a("", !0),
|
||||
e.course.avg_rating
|
||||
? (t(),
|
||||
o("div", A, [
|
||||
o("div", I, [
|
||||
l(
|
||||
c(d),
|
||||
{
|
||||
@@ -181,7 +181,7 @@ const S = {
|
||||
},
|
||||
{
|
||||
default: n(() => [
|
||||
l(c(C), {
|
||||
l(c(S), {
|
||||
class: "h-4 w-4 stroke-1.5 text-gray-700",
|
||||
}),
|
||||
r(
|
||||
@@ -203,7 +203,7 @@ const S = {
|
||||
: a("", !0),
|
||||
e.course.status != "Approved"
|
||||
? (t(),
|
||||
o("div", I, [
|
||||
o("div", L, [
|
||||
l(
|
||||
c(x),
|
||||
{
|
||||
@@ -233,11 +233,11 @@ const S = {
|
||||
]))
|
||||
: a("", !0),
|
||||
]),
|
||||
r("div", T, s(e.course.title), 1),
|
||||
r("div", E, s(e.course.short_introduction), 1),
|
||||
r("div", M, s(e.course.title), 1),
|
||||
r("div", T, s(e.course.short_introduction), 1),
|
||||
c(m) && e.course.membership
|
||||
? (t(),
|
||||
o("div", F, [
|
||||
o("div", A, [
|
||||
r(
|
||||
"div",
|
||||
{
|
||||
@@ -260,7 +260,7 @@ const S = {
|
||||
? (t(),
|
||||
o(
|
||||
"div",
|
||||
L,
|
||||
E,
|
||||
s(
|
||||
Math.ceil(
|
||||
e.course.membership.progress
|
||||
@@ -269,7 +269,7 @@ const S = {
|
||||
1
|
||||
))
|
||||
: a("", !0),
|
||||
r("div", M, [
|
||||
r("div", F, [
|
||||
r("div", O, [
|
||||
r(
|
||||
"div",
|
||||
@@ -363,4 +363,4 @@ const S = {
|
||||
},
|
||||
};
|
||||
export { W as _ };
|
||||
//# sourceMappingURL=CourseCard--twQpeIf.js.map
|
||||
//# sourceMappingURL=CourseCard-RMpjQ-rq.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,62 +1,63 @@
|
||||
var A = Object.defineProperty;
|
||||
var P = Object.defineProperty;
|
||||
var L = Object.getOwnPropertySymbols;
|
||||
var P = Object.prototype.hasOwnProperty,
|
||||
var A = Object.prototype.hasOwnProperty,
|
||||
F = Object.prototype.propertyIsEnumerable;
|
||||
var z = (a, i, e) =>
|
||||
i in a
|
||||
? A(a, i, {
|
||||
var z = (a, n, e) =>
|
||||
n in a
|
||||
? P(a, n, {
|
||||
enumerable: !0,
|
||||
configurable: !0,
|
||||
writable: !0,
|
||||
value: e,
|
||||
})
|
||||
: (a[i] = e),
|
||||
B = (a, i) => {
|
||||
for (var e in i || (i = {})) P.call(i, e) && z(a, e, i[e]);
|
||||
if (L) for (var e of L(i)) F.call(i, e) && z(a, e, i[e]);
|
||||
: (a[n] = e),
|
||||
T = (a, n) => {
|
||||
for (var e in n || (n = {})) A.call(n, e) && z(a, e, n[e]);
|
||||
if (L) for (var e of L(n)) F.call(n, e) && z(a, e, n[e]);
|
||||
return a;
|
||||
};
|
||||
import {
|
||||
L as W,
|
||||
C as W,
|
||||
d as j,
|
||||
j as E,
|
||||
x as l,
|
||||
y as u,
|
||||
J as v,
|
||||
C as s,
|
||||
I as r,
|
||||
A as y,
|
||||
B as w,
|
||||
G as m,
|
||||
H as t,
|
||||
x as o,
|
||||
y as d,
|
||||
M as v,
|
||||
H as s,
|
||||
L as r,
|
||||
F as b,
|
||||
G as w,
|
||||
J as m,
|
||||
K as t,
|
||||
a7 as k,
|
||||
k as $,
|
||||
X as G,
|
||||
r as q,
|
||||
Q as x,
|
||||
R,
|
||||
F as M,
|
||||
I as M,
|
||||
aa as I,
|
||||
ab as C,
|
||||
a as J,
|
||||
ac as Q,
|
||||
D as X,
|
||||
ac as K,
|
||||
D as Q,
|
||||
U as V,
|
||||
b as T,
|
||||
a6 as K,
|
||||
T as U,
|
||||
b as U,
|
||||
a6 as X,
|
||||
T as B,
|
||||
a8 as Y,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { B as Z, U as D, c as S } from "./index-Vx7mSx23.js";
|
||||
import { S as N } from "./star-ypmGZNF0.js";
|
||||
import { _ as ee } from "./CourseOutline-M5G5Rx7O.js";
|
||||
import { _ as O } from "./UserAvatar-yrWInUTi.js";
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { B as Z, U as D, c as S } from "./index-6k1S_EjG.js";
|
||||
import { S as N } from "./star--IkSKstT.js";
|
||||
import { _ as ee } from "./CourseOutline-AirCiy-C.js";
|
||||
import { _ as O } from "./UserAvatar-A3tEMZXD.js";
|
||||
import "./file-text-w2g11TfY.js";
|
||||
const te = { class: "shadow rounded-md min-w-80" },
|
||||
se = ["src"],
|
||||
ae = { class: "p-5" },
|
||||
re = { key: 0, class: "text-2xl font-semibold mb-3" },
|
||||
le = { class: "mt-8 mb-4 font-medium" },
|
||||
oe = { class: "flex items-center mb-3" },
|
||||
oe = { class: "mt-8 mb-4 font-medium" },
|
||||
le = { class: "flex items-center mb-3" },
|
||||
ne = { class: "ml-2" },
|
||||
ie = { class: "flex items-center mb-3" },
|
||||
ue = { class: "ml-2" },
|
||||
@@ -66,16 +67,16 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
__name: "CourseCardOverlay",
|
||||
props: { course: { type: Object, default: null } },
|
||||
setup(a) {
|
||||
const i = W(),
|
||||
const n = W(),
|
||||
e = j("$user"),
|
||||
_ = a,
|
||||
o = E(() =>
|
||||
l = E(() =>
|
||||
_.course.data.video_link
|
||||
? "https://www.youtube.com/embed/" +
|
||||
_.course.data.video_link
|
||||
: null
|
||||
);
|
||||
function f() {
|
||||
function p() {
|
||||
if (!e.data)
|
||||
S({
|
||||
title: "Please Login",
|
||||
@@ -86,18 +87,18 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
window.location.href = `/login?redirect-to=${window.location.pathname}`;
|
||||
}, 3e3);
|
||||
else {
|
||||
const n = $({
|
||||
const i = $({
|
||||
url: "lms.lms.doctype.lms_enrollment.lms_enrollment.create_membership",
|
||||
});
|
||||
console.log(_.course),
|
||||
n.submit({ course: _.course.data.name }).then(() => {
|
||||
i.submit({ course: _.course.data.name }).then(() => {
|
||||
S({
|
||||
title: "Enrolled Successfully",
|
||||
icon: "check",
|
||||
iconClasses: "text-green-600 bg-green-100",
|
||||
}),
|
||||
setTimeout(() => {
|
||||
i.push({
|
||||
n.push({
|
||||
name: "Lesson",
|
||||
params: {
|
||||
courseName: _.course.data.name,
|
||||
@@ -109,19 +110,20 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
});
|
||||
}
|
||||
}
|
||||
return (n, h) => {
|
||||
var d, c;
|
||||
const g = G("router-link");
|
||||
const g = () => {};
|
||||
return (i, f) => {
|
||||
var c, y;
|
||||
const u = G("router-link");
|
||||
return (
|
||||
l(),
|
||||
u("div", te, [
|
||||
o(),
|
||||
d("div", te, [
|
||||
a.course.data.video_link
|
||||
? (l(),
|
||||
u(
|
||||
? (o(),
|
||||
d(
|
||||
"iframe",
|
||||
{
|
||||
key: 0,
|
||||
src: o.value,
|
||||
src: l.value,
|
||||
class: "rounded-t-md min-h-56 min-w-80",
|
||||
},
|
||||
null,
|
||||
@@ -131,12 +133,12 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
: v("", !0),
|
||||
s("div", ae, [
|
||||
a.course.data.price
|
||||
? (l(), u("div", re, r(a.course.data.price), 1))
|
||||
? (o(), d("div", re, r(a.course.data.price), 1))
|
||||
: v("", !0),
|
||||
a.course.data.membership
|
||||
? (l(),
|
||||
y(
|
||||
g,
|
||||
? (o(),
|
||||
b(
|
||||
u,
|
||||
{
|
||||
key: 1,
|
||||
to: {
|
||||
@@ -173,7 +175,7 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
"span",
|
||||
null,
|
||||
r(
|
||||
n.__(
|
||||
i.__(
|
||||
"Continue Learning"
|
||||
)
|
||||
),
|
||||
@@ -190,9 +192,9 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
["to"]
|
||||
))
|
||||
: a.course.data.paid_course
|
||||
? (l(),
|
||||
y(
|
||||
g,
|
||||
? (o(),
|
||||
b(
|
||||
u,
|
||||
{
|
||||
key: 2,
|
||||
to: {
|
||||
@@ -218,7 +220,7 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
"span",
|
||||
null,
|
||||
r(
|
||||
n.__(
|
||||
i.__(
|
||||
"Buy this course"
|
||||
)
|
||||
),
|
||||
@@ -234,13 +236,13 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
8,
|
||||
["to"]
|
||||
))
|
||||
: (l(),
|
||||
y(
|
||||
: (o(),
|
||||
b(
|
||||
t(k),
|
||||
{
|
||||
key: 3,
|
||||
onClick:
|
||||
h[0] || (h[0] = (b) => f()),
|
||||
f[0] || (f[0] = (h) => p()),
|
||||
variant: "solid",
|
||||
class: "w-full",
|
||||
size: "md",
|
||||
@@ -250,39 +252,60 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
s(
|
||||
"span",
|
||||
null,
|
||||
r(n.__("Start Learning")),
|
||||
r(i.__("Start Learning")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
}
|
||||
)),
|
||||
(c = (d = t(e)) == null ? void 0 : d.data) !=
|
||||
null && c.is_moderator
|
||||
? (l(),
|
||||
y(
|
||||
t(k),
|
||||
((y = (c = t(e)) == null ? void 0 : c.data) !=
|
||||
null &&
|
||||
y.is_moderator) ||
|
||||
g()
|
||||
? (o(),
|
||||
b(
|
||||
u,
|
||||
{
|
||||
key: 4,
|
||||
variant: "subtle",
|
||||
class: "w-full",
|
||||
size: "md",
|
||||
to: {
|
||||
name: "CreateCourse",
|
||||
params: {
|
||||
courseName:
|
||||
a.course.data.name,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
default: w(() => [
|
||||
s(
|
||||
"span",
|
||||
null,
|
||||
r(n.__("Edit")),
|
||||
1
|
||||
m(
|
||||
t(k),
|
||||
{
|
||||
variant: "subtle",
|
||||
class: "w-full mt-2",
|
||||
size: "md",
|
||||
},
|
||||
{
|
||||
default: w(() => [
|
||||
s(
|
||||
"span",
|
||||
null,
|
||||
r(i.__("Edit")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
}
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
}
|
||||
},
|
||||
8,
|
||||
["to"]
|
||||
))
|
||||
: v("", !0),
|
||||
s("div", le, r(n.__("This course has:")), 1),
|
||||
s("div", oe, [
|
||||
s("div", oe, r(i.__("This course has:")), 1),
|
||||
s("div", le, [
|
||||
m(t(Z), {
|
||||
class: "h-5 w-5 stroke-1.5 text-gray-600",
|
||||
}),
|
||||
@@ -291,7 +314,7 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
ne,
|
||||
r(a.course.data.lesson_count) +
|
||||
" " +
|
||||
r(n.__("Lessons")),
|
||||
r(i.__("Lessons")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
@@ -306,7 +329,7 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
a.course.data.enrollment_count_formatted
|
||||
) +
|
||||
" " +
|
||||
r(n.__("Enrolled Students")),
|
||||
r(i.__("Enrolled Students")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
@@ -319,7 +342,7 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
ce,
|
||||
r(a.course.data.avg_rating) +
|
||||
" " +
|
||||
r(n.__("Rating")),
|
||||
r(i.__("Rating")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
@@ -337,33 +360,33 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
modelValue: { type: Number, default: 0 },
|
||||
},
|
||||
emits: ["update:modelValue"],
|
||||
setup(a, { emit: i }) {
|
||||
setup(a, { emit: n }) {
|
||||
const e = a,
|
||||
_ = i;
|
||||
let o = q(e.modelValue),
|
||||
f = (h) => {
|
||||
_("update:modelValue", h);
|
||||
_ = n;
|
||||
let l = q(e.modelValue),
|
||||
p = (i) => {
|
||||
_("update:modelValue", i);
|
||||
};
|
||||
function n(h) {
|
||||
f(h), (o.value = h);
|
||||
function g(i) {
|
||||
p(i), (l.value = i);
|
||||
}
|
||||
return (h, g) => (
|
||||
l(),
|
||||
u("div", _e, [
|
||||
(l(),
|
||||
u(
|
||||
return (i, f) => (
|
||||
o(),
|
||||
d("div", _e, [
|
||||
(o(),
|
||||
d(
|
||||
x,
|
||||
null,
|
||||
R(5, (d) =>
|
||||
R(5, (u) =>
|
||||
s("div", null, [
|
||||
m(
|
||||
t(N),
|
||||
{
|
||||
class: M([
|
||||
d <= t(o) ? "fill-orange-500" : "",
|
||||
u <= t(l) ? "fill-orange-500" : "",
|
||||
"h-6 w-6 fill-gray-400 text-gray-50 mr-1 cursor-pointer",
|
||||
]),
|
||||
onClick: (c) => n(d),
|
||||
onClick: (c) => g(u),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
@@ -399,64 +422,64 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
"update:hasReviewed",
|
||||
],
|
||||
setup(a) {
|
||||
const i = C(a, "modelValue"),
|
||||
const n = C(a, "modelValue"),
|
||||
e = C(a, "reloadReviews"),
|
||||
_ = C(a, "hasReviewed");
|
||||
let o = J({ review: "", rating: 0 });
|
||||
const f = a,
|
||||
n = $({
|
||||
let l = J({ review: "", rating: 0 });
|
||||
const p = a,
|
||||
g = $({
|
||||
url: "frappe.client.insert",
|
||||
makeParams(g) {
|
||||
makeParams(f) {
|
||||
return {
|
||||
doc: B(
|
||||
doc: T(
|
||||
{
|
||||
doctype: "LMS Course Review",
|
||||
course: f.courseName,
|
||||
course: p.courseName,
|
||||
},
|
||||
g
|
||||
f
|
||||
),
|
||||
};
|
||||
},
|
||||
});
|
||||
function h(g) {
|
||||
(o.rating = o.rating / 5),
|
||||
n.submit(o, {
|
||||
function i(f) {
|
||||
(l.rating = l.rating / 5),
|
||||
g.submit(l, {
|
||||
validate() {
|
||||
if (!o.rating) return "Please enter a rating.";
|
||||
if (!l.rating) return "Please enter a rating.";
|
||||
},
|
||||
onSuccess() {
|
||||
e.value.reload(), _.value.reload();
|
||||
},
|
||||
onError(d) {
|
||||
onError(u) {
|
||||
var c;
|
||||
S({
|
||||
text:
|
||||
((c = d.messages) == null
|
||||
((c = u.messages) == null
|
||||
? void 0
|
||||
: c[0]) || d,
|
||||
: c[0]) || u,
|
||||
icon: "x",
|
||||
iconClasses: "text-red-600 bg-red-300",
|
||||
});
|
||||
},
|
||||
}),
|
||||
g();
|
||||
f();
|
||||
}
|
||||
return (g, d) => (
|
||||
l(),
|
||||
y(
|
||||
t(X),
|
||||
return (f, u) => (
|
||||
o(),
|
||||
b(
|
||||
t(Q),
|
||||
{
|
||||
modelValue: i.value,
|
||||
modelValue: n.value,
|
||||
"onUpdate:modelValue":
|
||||
d[2] || (d[2] = (c) => (i.value = c)),
|
||||
u[2] || (u[2] = (c) => (n.value = c)),
|
||||
options: {
|
||||
title: g.__("Write a Review"),
|
||||
title: f.__("Write a Review"),
|
||||
size: "xl",
|
||||
actions: [
|
||||
{
|
||||
label: "Submit",
|
||||
variant: "solid",
|
||||
onClick: (c) => h(c),
|
||||
onClick: (c) => i(c),
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -465,15 +488,15 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
"body-content": w(() => [
|
||||
s("div", ge, [
|
||||
s("div", null, [
|
||||
s("div", fe, r(g.__("Rating")), 1),
|
||||
s("div", fe, r(f.__("Rating")), 1),
|
||||
m(
|
||||
ve,
|
||||
{
|
||||
modelValue: t(o).rating,
|
||||
modelValue: t(l).rating,
|
||||
"onUpdate:modelValue":
|
||||
d[0] ||
|
||||
(d[0] = (c) =>
|
||||
(t(o).rating = c)),
|
||||
u[0] ||
|
||||
(u[0] = (c) =>
|
||||
(t(l).rating = c)),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
@@ -481,18 +504,18 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
),
|
||||
]),
|
||||
s("div", null, [
|
||||
s("div", he, r(g.__("Review")), 1),
|
||||
s("div", he, r(f.__("Review")), 1),
|
||||
m(
|
||||
t(Q),
|
||||
t(K),
|
||||
{
|
||||
type: "text",
|
||||
size: "md",
|
||||
rows: "5",
|
||||
modelValue: t(o).review,
|
||||
modelValue: t(l).review,
|
||||
"onUpdate:modelValue":
|
||||
d[1] ||
|
||||
(d[1] = (c) =>
|
||||
(t(o).review = c)),
|
||||
u[1] ||
|
||||
(u[1] = (c) =>
|
||||
(t(l).review = c)),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
@@ -525,54 +548,54 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
membership: { type: Object, required: !1 },
|
||||
},
|
||||
setup(a) {
|
||||
var h, g, d;
|
||||
const i = j("$user"),
|
||||
var i, f, u;
|
||||
const n = j("$user"),
|
||||
e = a,
|
||||
_ = $({
|
||||
url: "frappe.client.get_count",
|
||||
cache: [
|
||||
"eligible_to_review",
|
||||
e.courseName,
|
||||
(h = e.membership) == null ? void 0 : h.member,
|
||||
(i = e.membership) == null ? void 0 : i.member,
|
||||
],
|
||||
params: {
|
||||
doctype: "LMS Course Review",
|
||||
filters: {
|
||||
course: e.courseName,
|
||||
owner:
|
||||
(g = e.membership) == null ? void 0 : g.member,
|
||||
(f = e.membership) == null ? void 0 : f.member,
|
||||
},
|
||||
},
|
||||
auto: !!((d = i.data) != null && d.name),
|
||||
auto: !!((u = n.data) != null && u.name),
|
||||
}),
|
||||
o = $({
|
||||
l = $({
|
||||
url: "lms.lms.utils.get_reviews",
|
||||
cache: ["course_reviews", e.courseName],
|
||||
params: { course: e.courseName },
|
||||
auto: !0,
|
||||
}),
|
||||
f = q(!1);
|
||||
function n() {
|
||||
f.value = !0;
|
||||
p = q(!1);
|
||||
function g() {
|
||||
p.value = !0;
|
||||
}
|
||||
return (c, b) => (
|
||||
l(),
|
||||
u(
|
||||
return (c, y) => (
|
||||
o(),
|
||||
d(
|
||||
x,
|
||||
null,
|
||||
[
|
||||
t(o).data
|
||||
? (l(),
|
||||
u("div", we, [
|
||||
t(l).data
|
||||
? (o(),
|
||||
d("div", we, [
|
||||
a.membership && !t(_).data
|
||||
? (l(),
|
||||
y(
|
||||
? (o(),
|
||||
b(
|
||||
t(k),
|
||||
{
|
||||
key: 0,
|
||||
onClick:
|
||||
b[0] ||
|
||||
(b[0] = (p) => n()),
|
||||
y[0] ||
|
||||
(y[0] = (h) => g()),
|
||||
class: "float-right",
|
||||
},
|
||||
{
|
||||
@@ -600,27 +623,27 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
" " +
|
||||
r(c.__("ratings and ")) +
|
||||
" " +
|
||||
r(t(o).data.length) +
|
||||
r(t(l).data.length) +
|
||||
" " +
|
||||
r(c.__("reviews")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
s("div", be, [
|
||||
(l(!0),
|
||||
u(
|
||||
(o(!0),
|
||||
d(
|
||||
x,
|
||||
null,
|
||||
R(
|
||||
t(o).data,
|
||||
(p, Je) => (
|
||||
l(),
|
||||
u("div", null, [
|
||||
t(l).data,
|
||||
(h, Je) => (
|
||||
o(),
|
||||
d("div", null, [
|
||||
s("div", xe, [
|
||||
m(
|
||||
O,
|
||||
{
|
||||
user: p.owner_details,
|
||||
user: h.owner_details,
|
||||
size: "2xl",
|
||||
},
|
||||
null,
|
||||
@@ -632,7 +655,7 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
"span",
|
||||
$e,
|
||||
r(
|
||||
p
|
||||
h
|
||||
.owner_details
|
||||
.full_name
|
||||
),
|
||||
@@ -642,13 +665,13 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
"span",
|
||||
null,
|
||||
r(
|
||||
p.creation
|
||||
h.creation
|
||||
),
|
||||
1
|
||||
),
|
||||
s("div", Re, [
|
||||
(l(),
|
||||
u(
|
||||
(o(),
|
||||
d(
|
||||
x,
|
||||
null,
|
||||
R(
|
||||
@@ -666,7 +689,7 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
"h-5 w-5 text-gray-100 bg-gray-200 rounded-sm mr-2",
|
||||
H <=
|
||||
Math.ceil(
|
||||
p.rating
|
||||
h.rating
|
||||
)
|
||||
? "fill-orange-500"
|
||||
: "fill-gray-600",
|
||||
@@ -685,12 +708,12 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
]),
|
||||
]),
|
||||
]),
|
||||
p.review
|
||||
? (l(),
|
||||
u(
|
||||
h.review
|
||||
? (o(),
|
||||
d(
|
||||
"div",
|
||||
Ne,
|
||||
r(p.review),
|
||||
r(h.review),
|
||||
1
|
||||
))
|
||||
: v("", !0),
|
||||
@@ -705,19 +728,19 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
m(
|
||||
pe,
|
||||
{
|
||||
modelValue: f.value,
|
||||
modelValue: p.value,
|
||||
"onUpdate:modelValue":
|
||||
b[1] || (b[1] = (p) => (f.value = p)),
|
||||
reloadReviews: t(o),
|
||||
y[1] || (y[1] = (h) => (p.value = h)),
|
||||
reloadReviews: t(l),
|
||||
"onUpdate:reloadReviews":
|
||||
b[2] ||
|
||||
(b[2] = (p) =>
|
||||
T(o) ? (o.value = p) : null),
|
||||
y[2] ||
|
||||
(y[2] = (h) =>
|
||||
U(l) ? (l.value = h) : null),
|
||||
hasReviewed: t(_),
|
||||
"onUpdate:hasReviewed":
|
||||
b[3] ||
|
||||
(b[3] = (p) =>
|
||||
T(_) ? (_.value = p) : null),
|
||||
y[3] ||
|
||||
(y[3] = (h) =>
|
||||
U(_) ? (_.value = h) : null),
|
||||
courseName: a.courseName,
|
||||
},
|
||||
null,
|
||||
@@ -742,64 +765,64 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
Me = { class: "m-5" },
|
||||
Le = { class: "flex justify-between w-full" },
|
||||
ze = { class: "w-2/3" },
|
||||
Be = { class: "text-3xl font-semibold" },
|
||||
Te = { class: "my-3 leading-6" },
|
||||
Ue = { class: "flex items-center" },
|
||||
Te = { class: "text-3xl font-semibold" },
|
||||
Ue = { class: "my-3 leading-6" },
|
||||
Be = { class: "flex items-center" },
|
||||
je = { class: "ml-1" },
|
||||
Ee = { key: 1, class: "mx-3" },
|
||||
qe = { class: "ml-1" },
|
||||
De = { key: 3, class: "mx-3" },
|
||||
Oe = { class: "flex items-center" },
|
||||
He = { key: 0 },
|
||||
Ae = { key: 1 },
|
||||
Pe = { key: 2 },
|
||||
Pe = { key: 1 },
|
||||
Ae = { key: 2 },
|
||||
Fe = { class: "flex mt-3 mb-4 w-fit" },
|
||||
We = ["innerHTML"],
|
||||
Ge = { class: "mt-10" },
|
||||
Ie = { class: "" },
|
||||
tt = {
|
||||
st = {
|
||||
__name: "CourseDetail",
|
||||
props: { courseName: { type: String, required: !0 } },
|
||||
setup(a) {
|
||||
const i = a,
|
||||
const n = a,
|
||||
e = $({
|
||||
url: "lms.lms.utils.get_course_details",
|
||||
cache: ["course", i.courseName],
|
||||
params: { course: i.courseName },
|
||||
cache: ["course", n.courseName],
|
||||
params: { course: n.courseName },
|
||||
auto: !0,
|
||||
}),
|
||||
_ = E(() => {
|
||||
var f, n;
|
||||
let o = [
|
||||
var p, g;
|
||||
let l = [
|
||||
{ label: "All Courses", route: { name: "Courses" } },
|
||||
];
|
||||
return (
|
||||
o.push({
|
||||
l.push({
|
||||
label:
|
||||
(f = e == null ? void 0 : e.data) == null
|
||||
(p = e == null ? void 0 : e.data) == null
|
||||
? void 0
|
||||
: f.title,
|
||||
: p.title,
|
||||
route: {
|
||||
name: "CourseDetail",
|
||||
params: {
|
||||
course:
|
||||
(n = e == null ? void 0 : e.data) ==
|
||||
(g = e == null ? void 0 : e.data) ==
|
||||
null
|
||||
? void 0
|
||||
: n.name,
|
||||
: g.name,
|
||||
},
|
||||
},
|
||||
}),
|
||||
o
|
||||
l
|
||||
);
|
||||
});
|
||||
return (o, f) =>
|
||||
return (l, p) =>
|
||||
t(e).data
|
||||
? (l(),
|
||||
u("div", Ve, [
|
||||
? (o(),
|
||||
d("div", Ve, [
|
||||
s("header", Se, [
|
||||
m(
|
||||
t(K),
|
||||
t(X),
|
||||
{ class: "h-7", items: _.value },
|
||||
null,
|
||||
8,
|
||||
@@ -809,21 +832,21 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
s("div", Me, [
|
||||
s("div", Le, [
|
||||
s("div", ze, [
|
||||
s("div", Be, r(t(e).data.title), 1),
|
||||
s("div", Te, r(t(e).data.title), 1),
|
||||
s(
|
||||
"div",
|
||||
Te,
|
||||
Ue,
|
||||
r(t(e).data.short_introduction),
|
||||
1
|
||||
),
|
||||
s("div", Ue, [
|
||||
s("div", Be, [
|
||||
t(e).data.avg_rating
|
||||
? (l(),
|
||||
y(
|
||||
t(U),
|
||||
? (o(),
|
||||
b(
|
||||
t(B),
|
||||
{
|
||||
key: 0,
|
||||
text: o.__(
|
||||
text: l.__(
|
||||
"Average Rating"
|
||||
),
|
||||
class: "flex items-center",
|
||||
@@ -851,15 +874,15 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
))
|
||||
: v("", !0),
|
||||
t(e).data.avg_rating
|
||||
? (l(), u("span", Ee, "·"))
|
||||
? (o(), d("span", Ee, "·"))
|
||||
: v("", !0),
|
||||
t(e).data.enrollment_count
|
||||
? (l(),
|
||||
y(
|
||||
t(U),
|
||||
? (o(),
|
||||
b(
|
||||
t(B),
|
||||
{
|
||||
key: 2,
|
||||
text: o.__(
|
||||
text: l.__(
|
||||
"Enrolled Students"
|
||||
),
|
||||
class: "flex items-center",
|
||||
@@ -887,7 +910,7 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
))
|
||||
: v("", !0),
|
||||
t(e).data.enrollment_count
|
||||
? (l(), u("span", De, "·"))
|
||||
? (o(), d("span", De, "·"))
|
||||
: v("", !0),
|
||||
s("div", Oe, [
|
||||
s(
|
||||
@@ -905,19 +928,19 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
]),
|
||||
},
|
||||
[
|
||||
(l(!0),
|
||||
u(
|
||||
(o(!0),
|
||||
d(
|
||||
x,
|
||||
null,
|
||||
R(
|
||||
t(e).data
|
||||
.instructors,
|
||||
(n) => (
|
||||
l(),
|
||||
y(
|
||||
(g) => (
|
||||
o(),
|
||||
b(
|
||||
O,
|
||||
{
|
||||
user: n,
|
||||
user: g,
|
||||
},
|
||||
null,
|
||||
8,
|
||||
@@ -932,8 +955,8 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
),
|
||||
t(e).data.instructors.length ==
|
||||
1
|
||||
? (l(),
|
||||
u(
|
||||
? (o(),
|
||||
d(
|
||||
"span",
|
||||
He,
|
||||
r(
|
||||
@@ -946,10 +969,10 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
: v("", !0),
|
||||
t(e).data.instructors.length ==
|
||||
2
|
||||
? (l(),
|
||||
u(
|
||||
? (o(),
|
||||
d(
|
||||
"span",
|
||||
Ae,
|
||||
Pe,
|
||||
r(
|
||||
t(e).data
|
||||
.instructors[0]
|
||||
@@ -965,10 +988,10 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
))
|
||||
: v("", !0),
|
||||
t(e).data.instructors.length > 2
|
||||
? (l(),
|
||||
u(
|
||||
? (o(),
|
||||
d(
|
||||
"span",
|
||||
Pe,
|
||||
Ae,
|
||||
r(
|
||||
t(e).data
|
||||
.instructors[0]
|
||||
@@ -988,15 +1011,15 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
]),
|
||||
]),
|
||||
s("div", Fe, [
|
||||
(l(!0),
|
||||
u(
|
||||
(o(!0),
|
||||
d(
|
||||
x,
|
||||
null,
|
||||
R(
|
||||
t(e).data.tags,
|
||||
(n) => (
|
||||
l(),
|
||||
y(
|
||||
(g) => (
|
||||
o(),
|
||||
b(
|
||||
t(Y),
|
||||
{
|
||||
theme: "gray",
|
||||
@@ -1008,7 +1031,7 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
() => [
|
||||
V(
|
||||
r(
|
||||
n
|
||||
g
|
||||
),
|
||||
1
|
||||
),
|
||||
@@ -1048,8 +1071,8 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
),
|
||||
]),
|
||||
t(e).data.avg_rating
|
||||
? (l(),
|
||||
y(
|
||||
? (o(),
|
||||
b(
|
||||
Ce,
|
||||
{
|
||||
key: 0,
|
||||
@@ -1083,5 +1106,5 @@ const te = { class: "shadow rounded-md min-w-80" },
|
||||
: v("", !0);
|
||||
},
|
||||
};
|
||||
export { tt as default };
|
||||
//# sourceMappingURL=CourseDetail-MceVHLH3.js.map
|
||||
export { st as default };
|
||||
//# sourceMappingURL=CourseDetail-01NBXo60.js.map
|
||||
1
lms/public/frontend/assets/CourseDetail-01NBXo60.js.map
Normal file
1
lms/public/frontend/assets/CourseDetail-01NBXo60.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,32 +1,33 @@
|
||||
import {
|
||||
af as N,
|
||||
r as b,
|
||||
k as B,
|
||||
x as e,
|
||||
af as M,
|
||||
r as B,
|
||||
k as H,
|
||||
x as t,
|
||||
y as n,
|
||||
C as r,
|
||||
I as l,
|
||||
J as p,
|
||||
Q as k,
|
||||
R as f,
|
||||
A as i,
|
||||
B as u,
|
||||
G as m,
|
||||
H as t,
|
||||
F as x,
|
||||
ah as M,
|
||||
U as H,
|
||||
ai as I,
|
||||
aj as V,
|
||||
X as j,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { a as d } from "./index-Vx7mSx23.js";
|
||||
K as e,
|
||||
H as r,
|
||||
L as l,
|
||||
M as k,
|
||||
Q as x,
|
||||
R as g,
|
||||
F as u,
|
||||
G as i,
|
||||
J as d,
|
||||
I as v,
|
||||
ag as I,
|
||||
U as O,
|
||||
ah as R,
|
||||
ai as V,
|
||||
X as F,
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { a as h } from "./index-6k1S_EjG.js";
|
||||
import { F as L } from "./file-text-w2g11TfY.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const O = d("ChevronRightIcon", [
|
||||
*/ const q = h("ChevronRightIcon", [
|
||||
["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }],
|
||||
]);
|
||||
/**
|
||||
@@ -34,25 +35,7 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const R = d("FileTextIcon", [
|
||||
[
|
||||
"path",
|
||||
{
|
||||
d: "M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",
|
||||
key: "1nnpy2",
|
||||
},
|
||||
],
|
||||
["polyline", { points: "14 2 14 8 20 8", key: "1ew0cm" }],
|
||||
["line", { x1: "16", x2: "8", y1: "13", y2: "13", key: "14keom" }],
|
||||
["line", { x1: "16", x2: "8", y1: "17", y2: "17", key: "17nazh" }],
|
||||
["line", { x1: "10", x2: "8", y1: "9", y2: "9", key: "1a5vjj" }],
|
||||
]);
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const z = d("HelpCircleIcon", [
|
||||
*/ const j = h("HelpCircleIcon", [
|
||||
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
||||
["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
|
||||
["path", { d: "M12 17h.01", key: "p32p05" }],
|
||||
@@ -62,7 +45,7 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const F = d("MonitorPlayIcon", [
|
||||
*/ const z = h("MonitorPlayIcon", [
|
||||
["path", { d: "m10 7 5 3-5 3Z", key: "29ljg6" }],
|
||||
[
|
||||
"rect",
|
||||
@@ -78,14 +61,14 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
["path", { d: "M12 17v4", key: "1riwvh" }],
|
||||
["path", { d: "M8 21h8", key: "1ev6f3" }],
|
||||
]),
|
||||
L = { class: "text-base" },
|
||||
q = { key: 0, class: "flex justify-between mb-4" },
|
||||
T = { class: "text-2xl font-semibold" },
|
||||
P = { class: "text-base text-left font-medium" },
|
||||
Q = { class: "ml-auto text-sm" },
|
||||
S = { class: "outline-lesson py-2 pl-8" },
|
||||
A = { class: "flex items-center text-sm" },
|
||||
J = {
|
||||
P = { class: "text-base" },
|
||||
Q = { key: 0, class: "flex justify-between mb-4" },
|
||||
S = { class: "text-2xl font-semibold" },
|
||||
T = { class: "text-base text-left font-medium" },
|
||||
D = { class: "ml-auto text-sm" },
|
||||
E = { class: "outline-lesson py-2 pl-8" },
|
||||
G = { class: "flex items-center text-sm" },
|
||||
Z = {
|
||||
__name: "CourseOutline",
|
||||
props: {
|
||||
courseName: { type: String, required: !0 },
|
||||
@@ -93,77 +76,81 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
showHeader: { type: Boolean, default: !1 },
|
||||
},
|
||||
setup(c) {
|
||||
const _ = N();
|
||||
b(!0);
|
||||
const y = c,
|
||||
v = B({
|
||||
const w = M();
|
||||
B(!0);
|
||||
const p = c,
|
||||
m = H({
|
||||
url: "lms.lms.utils.get_course_outline",
|
||||
cache: ["course_outline", y.courseName],
|
||||
params: { course: y.courseName },
|
||||
cache: ["course_outline", p.courseName],
|
||||
params: { course: p.courseName },
|
||||
auto: !0,
|
||||
}),
|
||||
w = (a) => a == _.params.chapterNumber || a == 1;
|
||||
return (a, D) => {
|
||||
const g = j("router-link");
|
||||
C = (a) => a == w.params.chapterNumber || a == 1;
|
||||
return (a, J) => {
|
||||
var y, f;
|
||||
const N = F("router-link");
|
||||
return (
|
||||
e(),
|
||||
n("div", L, [
|
||||
c.showHeader
|
||||
? (e(),
|
||||
n("div", q, [
|
||||
r("div", T, l(a.__("Course Content")), 1),
|
||||
t(),
|
||||
n("div", P, [
|
||||
c.showHeader && (y = e(m).data) != null && y.length
|
||||
? (t(),
|
||||
n("div", Q, [
|
||||
r("div", S, l(a.__("Course Content")), 1),
|
||||
]))
|
||||
: p("", !0),
|
||||
: k("", !0),
|
||||
r(
|
||||
"div",
|
||||
{
|
||||
class: x({
|
||||
class: v({
|
||||
"shadow rounded-md pt-2 px-2":
|
||||
c.showOutline,
|
||||
c.showOutline &&
|
||||
((f = e(m).data) == null
|
||||
? void 0
|
||||
: f.length),
|
||||
}),
|
||||
},
|
||||
[
|
||||
(e(!0),
|
||||
(t(!0),
|
||||
n(
|
||||
k,
|
||||
x,
|
||||
null,
|
||||
f(
|
||||
t(v).data,
|
||||
(o, C) => (
|
||||
e(),
|
||||
i(
|
||||
t(V),
|
||||
g(
|
||||
e(m).data,
|
||||
(o, b) => (
|
||||
t(),
|
||||
u(
|
||||
e(V),
|
||||
{
|
||||
key: o.name,
|
||||
defaultOpen: w(o.idx),
|
||||
defaultOpen: C(o.idx),
|
||||
},
|
||||
{
|
||||
default: u(
|
||||
({ open: h }) => [
|
||||
m(
|
||||
t(M),
|
||||
default: i(
|
||||
({ open: _ }) => [
|
||||
d(
|
||||
e(I),
|
||||
{
|
||||
ref_for: !0,
|
||||
ref: "",
|
||||
class: "flex w-full px-2 py-4",
|
||||
},
|
||||
{
|
||||
default: u(
|
||||
default: i(
|
||||
() => [
|
||||
m(
|
||||
t(
|
||||
O
|
||||
d(
|
||||
e(
|
||||
q
|
||||
),
|
||||
{
|
||||
class: x(
|
||||
class: v(
|
||||
[
|
||||
{
|
||||
"rotate-90 transform duration-200":
|
||||
h,
|
||||
_,
|
||||
"duration-200":
|
||||
!h,
|
||||
!_,
|
||||
open:
|
||||
C ==
|
||||
b ==
|
||||
1,
|
||||
},
|
||||
"h-4 w-4 text-gray-900 stroke-1 mr-2",
|
||||
@@ -178,7 +165,7 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
),
|
||||
r(
|
||||
"div",
|
||||
P,
|
||||
T,
|
||||
l(
|
||||
o.title
|
||||
),
|
||||
@@ -186,7 +173,7 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
),
|
||||
r(
|
||||
"div",
|
||||
Q,
|
||||
D,
|
||||
l(
|
||||
o
|
||||
.lessons
|
||||
@@ -213,26 +200,26 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
},
|
||||
1536
|
||||
),
|
||||
m(
|
||||
t(I),
|
||||
d(
|
||||
e(R),
|
||||
{
|
||||
class: "pb-2",
|
||||
},
|
||||
{
|
||||
default: u(
|
||||
default: i(
|
||||
() => [
|
||||
(e(
|
||||
(t(
|
||||
!0
|
||||
),
|
||||
n(
|
||||
k,
|
||||
x,
|
||||
null,
|
||||
f(
|
||||
g(
|
||||
o.lessons,
|
||||
(
|
||||
s
|
||||
) => (
|
||||
e(),
|
||||
t(),
|
||||
n(
|
||||
"div",
|
||||
{
|
||||
@@ -241,10 +228,10 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
[
|
||||
r(
|
||||
"div",
|
||||
S,
|
||||
E,
|
||||
[
|
||||
m(
|
||||
g,
|
||||
d(
|
||||
N,
|
||||
{
|
||||
to: {
|
||||
name: "Lesson",
|
||||
@@ -264,18 +251,18 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
},
|
||||
{
|
||||
default:
|
||||
u(
|
||||
i(
|
||||
() => [
|
||||
r(
|
||||
"div",
|
||||
A,
|
||||
G,
|
||||
[
|
||||
s.icon ===
|
||||
"icon-youtube"
|
||||
? (e(),
|
||||
i(
|
||||
t(
|
||||
F
|
||||
? (t(),
|
||||
u(
|
||||
e(
|
||||
z
|
||||
),
|
||||
{
|
||||
key: 0,
|
||||
@@ -284,10 +271,10 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
))
|
||||
: s.icon ===
|
||||
"icon-quiz"
|
||||
? (e(),
|
||||
i(
|
||||
t(
|
||||
z
|
||||
? (t(),
|
||||
u(
|
||||
e(
|
||||
j
|
||||
),
|
||||
{
|
||||
key: 1,
|
||||
@@ -296,21 +283,21 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
))
|
||||
: s.icon ===
|
||||
"icon-list"
|
||||
? (e(),
|
||||
i(
|
||||
t(
|
||||
R
|
||||
? (t(),
|
||||
u(
|
||||
e(
|
||||
L
|
||||
),
|
||||
{
|
||||
key: 2,
|
||||
class: "h-4 w-4 text-gray-900 stroke-1 mr-2",
|
||||
}
|
||||
))
|
||||
: p(
|
||||
: k(
|
||||
"",
|
||||
!0
|
||||
),
|
||||
H(
|
||||
O(
|
||||
" " +
|
||||
l(
|
||||
s.title
|
||||
@@ -361,5 +348,5 @@ import { a as d } from "./index-Vx7mSx23.js";
|
||||
};
|
||||
},
|
||||
};
|
||||
export { O as C, J as _ };
|
||||
//# sourceMappingURL=CourseOutline-M5G5Rx7O.js.map
|
||||
export { q as C, Z as _ };
|
||||
//# sourceMappingURL=CourseOutline-AirCiy-C.js.map
|
||||
1
lms/public/frontend/assets/CourseOutline-AirCiy-C.js.map
Normal file
1
lms/public/frontend/assets/CourseOutline-AirCiy-C.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,56 +1,56 @@
|
||||
import {
|
||||
d as k,
|
||||
a5 as w,
|
||||
r as L,
|
||||
d as N,
|
||||
a5 as k,
|
||||
r as w,
|
||||
j as r,
|
||||
y as c,
|
||||
H as n,
|
||||
C as d,
|
||||
G as _,
|
||||
A as p,
|
||||
B as u,
|
||||
J as f,
|
||||
y as u,
|
||||
K as n,
|
||||
H as d,
|
||||
J as m,
|
||||
G as c,
|
||||
F as p,
|
||||
M as f,
|
||||
X as L,
|
||||
x as l,
|
||||
a6 as V,
|
||||
U as g,
|
||||
I as h,
|
||||
L as h,
|
||||
a7 as $,
|
||||
F as B,
|
||||
N as j,
|
||||
I as j,
|
||||
P as B,
|
||||
a8 as U,
|
||||
Q as D,
|
||||
R,
|
||||
a9 as z,
|
||||
X as A,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { _ as E } from "./CourseCard--twQpeIf.js";
|
||||
import { P as F } from "./plus-pxSjkL_w.js";
|
||||
import "./UserAvatar-yrWInUTi.js";
|
||||
import "./index-Vx7mSx23.js";
|
||||
import "./star-ypmGZNF0.js";
|
||||
const I = { class: "h-screen" },
|
||||
P = { key: 0 },
|
||||
S = {
|
||||
R as P,
|
||||
a9 as R,
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { _ as z } from "./CourseCard-RMpjQ-rq.js";
|
||||
import { P as E } from "./plus-0JOmes86.js";
|
||||
import "./UserAvatar-A3tEMZXD.js";
|
||||
import "./index-6k1S_EjG.js";
|
||||
import "./star--IkSKstT.js";
|
||||
const F = { class: "h-screen" },
|
||||
I = { key: 0 },
|
||||
M = {
|
||||
class: "sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5",
|
||||
},
|
||||
G = { class: "flex" },
|
||||
H = { class: "" },
|
||||
J = { key: 0, class: "p-5 text-base text-gray-700" },
|
||||
M = {
|
||||
S = { class: "flex" },
|
||||
A = { class: "" },
|
||||
G = { key: 0, class: "p-5 text-base text-gray-700" },
|
||||
H = {
|
||||
key: 0,
|
||||
class: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-5 my-5 mx-5",
|
||||
},
|
||||
Q = {
|
||||
J = {
|
||||
key: 1,
|
||||
class: "grid flex-1 place-items-center text-xl font-medium text-gray-500",
|
||||
},
|
||||
T = { class: "flex flex-col items-center justify-center mt-4" },
|
||||
ee = {
|
||||
K = { class: "flex flex-col items-center justify-center mt-4" },
|
||||
Z = {
|
||||
__name: "Courses",
|
||||
setup(X) {
|
||||
setup(Q) {
|
||||
var b, y, x;
|
||||
const i = k("$user"),
|
||||
a = w({
|
||||
const i = N("$user"),
|
||||
a = k({
|
||||
type: "list",
|
||||
doctype: "LMS Course",
|
||||
cache: [
|
||||
@@ -62,8 +62,8 @@ const I = { class: "h-screen" },
|
||||
url: "lms.lms.utils.get_courses",
|
||||
auto: !0,
|
||||
}),
|
||||
v = L(0),
|
||||
m = [
|
||||
v = w(0),
|
||||
_ = [
|
||||
{
|
||||
label: "Live",
|
||||
courses: r(() => {
|
||||
@@ -98,7 +98,7 @@ const I = { class: "h-screen" },
|
||||
];
|
||||
return (
|
||||
i.data &&
|
||||
(m.push({
|
||||
(_.push({
|
||||
label: "Enrolled",
|
||||
courses: r(() => {
|
||||
var e;
|
||||
@@ -118,7 +118,7 @@ const I = { class: "h-screen" },
|
||||
((x = (y = a.data) == null ? void 0 : y.created) !=
|
||||
null &&
|
||||
x.length)) &&
|
||||
m.push({
|
||||
_.push({
|
||||
label: "Created",
|
||||
courses: r(() => {
|
||||
var e;
|
||||
@@ -137,7 +137,7 @@ const I = { class: "h-screen" },
|
||||
}),
|
||||
}),
|
||||
i.data.is_moderator &&
|
||||
m.push({
|
||||
_.push({
|
||||
label: "Under Review",
|
||||
courses: r(() => {
|
||||
var e;
|
||||
@@ -156,16 +156,15 @@ const I = { class: "h-screen" },
|
||||
}),
|
||||
})),
|
||||
(e, s) => {
|
||||
var C;
|
||||
const N = A("router-link");
|
||||
const C = L("router-link");
|
||||
return (
|
||||
l(),
|
||||
c("div", I, [
|
||||
u("div", F, [
|
||||
n(a).data
|
||||
? (l(),
|
||||
c("div", P, [
|
||||
d("header", S, [
|
||||
_(
|
||||
u("div", I, [
|
||||
d("header", M, [
|
||||
m(
|
||||
n(V),
|
||||
{
|
||||
class: "h-7",
|
||||
@@ -184,61 +183,88 @@ const I = { class: "h-screen" },
|
||||
8,
|
||||
["items"]
|
||||
),
|
||||
d("div", G, [
|
||||
(C = n(i).data) != null &&
|
||||
C.is_moderator
|
||||
? (l(),
|
||||
p(
|
||||
n($),
|
||||
{
|
||||
key: 0,
|
||||
variant:
|
||||
"solid",
|
||||
d("div", S, [
|
||||
m(
|
||||
C,
|
||||
{
|
||||
to: {
|
||||
name: "CreateCourse",
|
||||
params: {
|
||||
courseName:
|
||||
"new",
|
||||
},
|
||||
{
|
||||
prefix: u(
|
||||
() => [
|
||||
_(
|
||||
},
|
||||
},
|
||||
{
|
||||
default: c(() => {
|
||||
var t;
|
||||
return [
|
||||
(t =
|
||||
n(
|
||||
i
|
||||
).data) !=
|
||||
null &&
|
||||
t.is_moderator
|
||||
? (l(),
|
||||
p(
|
||||
n(
|
||||
F
|
||||
$
|
||||
),
|
||||
{
|
||||
class: "h-4 w-4",
|
||||
}
|
||||
),
|
||||
]
|
||||
),
|
||||
default: u(
|
||||
() => [
|
||||
g(
|
||||
" " +
|
||||
h(
|
||||
e.__(
|
||||
"New Course"
|
||||
)
|
||||
key: 0,
|
||||
variant:
|
||||
"solid",
|
||||
},
|
||||
{
|
||||
prefix: c(
|
||||
() => [
|
||||
m(
|
||||
n(
|
||||
E
|
||||
),
|
||||
{
|
||||
class: "h-4 w-4",
|
||||
}
|
||||
),
|
||||
]
|
||||
),
|
||||
1
|
||||
),
|
||||
]
|
||||
),
|
||||
_: 1,
|
||||
}
|
||||
))
|
||||
: f("", !0),
|
||||
default:
|
||||
c(
|
||||
() => [
|
||||
g(
|
||||
" " +
|
||||
h(
|
||||
e.__(
|
||||
"New Course"
|
||||
)
|
||||
),
|
||||
1
|
||||
),
|
||||
]
|
||||
),
|
||||
_: 1,
|
||||
}
|
||||
))
|
||||
: f("", !0),
|
||||
];
|
||||
}),
|
||||
_: 1,
|
||||
}
|
||||
),
|
||||
]),
|
||||
]),
|
||||
d("div", H, [
|
||||
d("div", A, [
|
||||
n(a).data.length == 0 &&
|
||||
n(a).list.loading
|
||||
? (l(),
|
||||
c(
|
||||
u(
|
||||
"div",
|
||||
J,
|
||||
G,
|
||||
" Loading Courses... "
|
||||
))
|
||||
: (l(),
|
||||
p(
|
||||
n(z),
|
||||
n(R),
|
||||
{
|
||||
key: 1,
|
||||
modelValue: v.value,
|
||||
@@ -247,12 +273,12 @@ const I = { class: "h-screen" },
|
||||
(s[0] = (t) =>
|
||||
(v.value =
|
||||
t)),
|
||||
tabs: m,
|
||||
tabs: _,
|
||||
tablistClass:
|
||||
"overflow-x-visible",
|
||||
},
|
||||
{
|
||||
tab: u(
|
||||
tab: c(
|
||||
({
|
||||
tab: t,
|
||||
selected: o,
|
||||
@@ -264,7 +290,7 @@ const I = { class: "h-screen" },
|
||||
d(
|
||||
"button",
|
||||
{
|
||||
class: B(
|
||||
class: j(
|
||||
[
|
||||
"group -mb-px flex items-center gap-2 overflow-hidden border-b border-transparent py-2.5 text-base text-gray-600 duration-300 ease-in-out hover:border-gray-400 hover:text-gray-900",
|
||||
{
|
||||
@@ -278,7 +304,7 @@ const I = { class: "h-screen" },
|
||||
t.icon
|
||||
? (l(),
|
||||
p(
|
||||
j(
|
||||
B(
|
||||
t.icon
|
||||
),
|
||||
{
|
||||
@@ -300,7 +326,7 @@ const I = { class: "h-screen" },
|
||||
" ",
|
||||
1
|
||||
),
|
||||
_(
|
||||
m(
|
||||
n(
|
||||
U
|
||||
),
|
||||
@@ -309,7 +335,7 @@ const I = { class: "h-screen" },
|
||||
},
|
||||
{
|
||||
default:
|
||||
u(
|
||||
c(
|
||||
() => [
|
||||
g(
|
||||
h(
|
||||
@@ -330,7 +356,7 @@ const I = { class: "h-screen" },
|
||||
),
|
||||
]
|
||||
),
|
||||
default: u(
|
||||
default: c(
|
||||
({
|
||||
tab: t,
|
||||
}) => [
|
||||
@@ -339,17 +365,17 @@ const I = { class: "h-screen" },
|
||||
.value
|
||||
.length
|
||||
? (l(),
|
||||
c(
|
||||
u(
|
||||
"div",
|
||||
M,
|
||||
H,
|
||||
[
|
||||
(l(
|
||||
!0
|
||||
),
|
||||
c(
|
||||
u(
|
||||
D,
|
||||
null,
|
||||
R(
|
||||
P(
|
||||
t
|
||||
.courses
|
||||
.value,
|
||||
@@ -358,7 +384,7 @@ const I = { class: "h-screen" },
|
||||
) => (
|
||||
l(),
|
||||
p(
|
||||
N,
|
||||
C,
|
||||
{
|
||||
to:
|
||||
o.membership &&
|
||||
@@ -398,10 +424,10 @@ const I = { class: "h-screen" },
|
||||
},
|
||||
{
|
||||
default:
|
||||
u(
|
||||
c(
|
||||
() => [
|
||||
_(
|
||||
E,
|
||||
m(
|
||||
z,
|
||||
{
|
||||
course: o,
|
||||
},
|
||||
@@ -427,13 +453,13 @@ const I = { class: "h-screen" },
|
||||
]
|
||||
))
|
||||
: (l(),
|
||||
c(
|
||||
u(
|
||||
"div",
|
||||
Q,
|
||||
J,
|
||||
[
|
||||
d(
|
||||
"div",
|
||||
T,
|
||||
K,
|
||||
[
|
||||
d(
|
||||
"div",
|
||||
@@ -469,5 +495,5 @@ const I = { class: "h-screen" },
|
||||
);
|
||||
},
|
||||
};
|
||||
export { ee as default };
|
||||
//# sourceMappingURL=Courses-twOd7MxD.js.map
|
||||
export { Z as default };
|
||||
//# sourceMappingURL=Courses-lYNeP5iT.js.map
|
||||
1
lms/public/frontend/assets/Courses-lYNeP5iT.js.map
Normal file
1
lms/public/frontend/assets/Courses-lYNeP5iT.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
798
lms/public/frontend/assets/CreateCourse-0E2-P7Ge.js
Normal file
798
lms/public/frontend/assets/CreateCourse-0E2-P7Ge.js
Normal file
@@ -0,0 +1,798 @@
|
||||
var O = Object.defineProperty;
|
||||
var E = Object.getOwnPropertySymbols;
|
||||
var Q = Object.prototype.hasOwnProperty,
|
||||
q = Object.prototype.propertyIsEnumerable;
|
||||
var L = (c, d, i) =>
|
||||
d in c
|
||||
? O(c, d, {
|
||||
enumerable: !0,
|
||||
configurable: !0,
|
||||
writable: !0,
|
||||
value: i,
|
||||
})
|
||||
: (c[d] = i),
|
||||
w = (c, d) => {
|
||||
for (var i in d || (d = {})) Q.call(d, i) && L(c, i, d[i]);
|
||||
if (E) for (var i of E(d)) q.call(d, i) && L(c, i, d[i]);
|
||||
return c;
|
||||
};
|
||||
import {
|
||||
d as W,
|
||||
r as U,
|
||||
j as P,
|
||||
ad as Y,
|
||||
k as M,
|
||||
s as Z,
|
||||
y as f,
|
||||
H as o,
|
||||
J as n,
|
||||
K as a,
|
||||
F as R,
|
||||
G as g,
|
||||
M as N,
|
||||
L as u,
|
||||
Q as ee,
|
||||
R as le,
|
||||
aB as se,
|
||||
X as oe,
|
||||
x as _,
|
||||
a6 as te,
|
||||
a7 as x,
|
||||
aC as p,
|
||||
at as ae,
|
||||
U as T,
|
||||
aA as re,
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { e as ie, c as ne, d as ue } from "./index-6k1S_EjG.js";
|
||||
import { _ as de, X as B } from "./Link-rwTAUhIL.js";
|
||||
import { F as ce } from "./file-text-w2g11TfY.js";
|
||||
import "./plus-0JOmes86.js";
|
||||
const me = { class: "h-screen text-base" },
|
||||
_e = { class: "grid grid-cols-[70%,30%] h-full" },
|
||||
pe = {
|
||||
class: "sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5",
|
||||
},
|
||||
ve = { class: "flex items-center" },
|
||||
be = { class: "mt-5 mb-10" },
|
||||
fe = { class: "container mb-5" },
|
||||
ge = { class: "text-lg font-semibold mb-4" },
|
||||
ye = { class: "mb-4" },
|
||||
he = { class: "mb-1.5 text-sm text-gray-700" },
|
||||
Ce = { class: "mb-4" },
|
||||
Ve = { key: 1, class: "mb-4" },
|
||||
ke = { class: "text-xs text-gray-600 mb-1" },
|
||||
xe = { class: "flex items-center" },
|
||||
we = { class: "border rounded-md p-2 mr-2" },
|
||||
Ue = { class: "flex flex-col" },
|
||||
Ne = { class: "text-sm text-gray-500 mt-1" },
|
||||
Te = { class: "mb-1.5 text-sm text-gray-700" },
|
||||
$e = { class: "flex items-center" },
|
||||
Se = { class: "flex items-center bg-gray-100 p-2 rounded-md mr-2" },
|
||||
Fe = { class: "container border-t" },
|
||||
je = { class: "text-lg font-semibold mt-5 mb-4" },
|
||||
De = { class: "flex items-center justify-between mb-5" },
|
||||
Ee = { class: "container border-t" },
|
||||
Le = { class: "text-lg font-semibold mt-5 mb-4" },
|
||||
Pe = { class: "mb-4" },
|
||||
Me = { class: "bg-gray-50 px-5 pt-5" },
|
||||
Re = { key: 0 },
|
||||
Be = { class: "text-xl font-semibold" },
|
||||
ze = { key: 0 },
|
||||
Ie = { key: 1, class: "border bg-white rounded-md p-5 text-center mt-4" },
|
||||
Oe = {
|
||||
__name: "CreateCourse",
|
||||
props: { courseName: { type: String } },
|
||||
setup(c) {
|
||||
const d = W("$user"),
|
||||
i = U(""),
|
||||
v = U(""),
|
||||
m = U(null),
|
||||
y = c,
|
||||
z = P(() => {
|
||||
var e;
|
||||
let l = [{ label: "Courses", route: { name: "Courses" } }];
|
||||
return (
|
||||
r.doc &&
|
||||
l.push({
|
||||
label: (e = r.doc) == null ? void 0 : e.title,
|
||||
route: {
|
||||
name: "CourseDetail",
|
||||
params: { courseName: y.courseName },
|
||||
},
|
||||
}),
|
||||
l.push({
|
||||
label:
|
||||
y.courseName == "new"
|
||||
? "New Course"
|
||||
: "Edit Course",
|
||||
route: {
|
||||
name: "CreateCourse",
|
||||
params: { courseName: y.courseName },
|
||||
},
|
||||
}),
|
||||
l
|
||||
);
|
||||
}),
|
||||
r = Y({
|
||||
doctype: "LMS Course",
|
||||
name: y.courseName,
|
||||
auto: !1,
|
||||
onSuccess(l) {
|
||||
I.reload({ image: l.image }), (i.value = l.tags);
|
||||
},
|
||||
}),
|
||||
I = M({
|
||||
url: "lms.lms.api.get_file_info",
|
||||
makeParams(l) {
|
||||
return { file_url: l.image };
|
||||
},
|
||||
auto: !1,
|
||||
onSuccess(l) {
|
||||
m.value = l;
|
||||
},
|
||||
});
|
||||
Z(() => {
|
||||
var l, e;
|
||||
(!((l = d.data) != null && l.is_moderator) ||
|
||||
!((e = d.data) != null && e.is_instructor)) &&
|
||||
(window.location.href = "/login"),
|
||||
y.courseName !== "new" && r.reload();
|
||||
});
|
||||
const t = P(() => {
|
||||
var l, e, b, h, s, C, V, k, F, j, D;
|
||||
return {
|
||||
title: ((l = r.doc) == null ? void 0 : l.title) || "",
|
||||
short_introduction:
|
||||
((e = r.doc) == null
|
||||
? void 0
|
||||
: e.short_introduction) || "",
|
||||
description:
|
||||
((b = r.doc) == null ? void 0 : b.description) ||
|
||||
"",
|
||||
video_link:
|
||||
((h = r.doc) == null ? void 0 : h.video_link) || "",
|
||||
course_image:
|
||||
((s = r.doc) == null ? void 0 : s.image) || null,
|
||||
tags: i.value,
|
||||
published: !!((C = r.doc) != null && C.published),
|
||||
upcoming: !!((V = r.doc) != null && V.upcoming),
|
||||
disable_self_learning: !!(
|
||||
(k = r.doc) != null && k.disable_self_learning
|
||||
),
|
||||
course_image: m.value,
|
||||
paid_course: !!((F = r.doc) != null && F.paid_course),
|
||||
course_price:
|
||||
((j = r.doc) == null ? void 0 : j.course_price) ||
|
||||
"",
|
||||
currency:
|
||||
((D = r.doc) == null ? void 0 : D.currency) || "",
|
||||
};
|
||||
}),
|
||||
K = M({
|
||||
url: "frappe.client.insert",
|
||||
makeParams(l) {
|
||||
return {
|
||||
doc: w(
|
||||
{
|
||||
doctype: "LMS Course",
|
||||
image: m.value.file_url,
|
||||
},
|
||||
l
|
||||
),
|
||||
};
|
||||
},
|
||||
}),
|
||||
A = () => {
|
||||
var l;
|
||||
r.doc
|
||||
? r.setValue.submit(
|
||||
w(
|
||||
{
|
||||
image:
|
||||
((l = m.value) == null
|
||||
? void 0
|
||||
: l.file_url) || null,
|
||||
},
|
||||
t.value
|
||||
),
|
||||
{
|
||||
validate() {
|
||||
return $();
|
||||
},
|
||||
onError(e) {
|
||||
S(e);
|
||||
},
|
||||
}
|
||||
)
|
||||
: K.submit(t.value, {
|
||||
validate() {
|
||||
return $();
|
||||
},
|
||||
onError(e) {
|
||||
S(e);
|
||||
},
|
||||
});
|
||||
},
|
||||
$ = () => {
|
||||
const l = [
|
||||
"title",
|
||||
"short_introduction",
|
||||
"description",
|
||||
"video_link",
|
||||
"course_image",
|
||||
];
|
||||
for (const e of l)
|
||||
if (!t.value[e])
|
||||
return `${ie(e.split("_").join(" "))} is mandatory`;
|
||||
if (
|
||||
t.value.paid_course &&
|
||||
(!t.value.course_price || !t.value.currency)
|
||||
)
|
||||
return "Course price and currency are mandatory for paid courses";
|
||||
},
|
||||
X = (l) => {
|
||||
let e = l.name.split(".").pop().toLowerCase();
|
||||
if (!["jpg", "jpeg", "png"].includes(e))
|
||||
return "Only image file is allowed.";
|
||||
},
|
||||
G = () => {
|
||||
v.value &&
|
||||
((i.value = i.value
|
||||
? `${i.value}, ${v.value}`
|
||||
: v.value),
|
||||
(v.value = ""));
|
||||
},
|
||||
H = (l) => {
|
||||
var e;
|
||||
(i.value =
|
||||
(e = i.value) == null
|
||||
? void 0
|
||||
: e
|
||||
.split(", ")
|
||||
.filter((b) => b !== l)
|
||||
.join(", ")),
|
||||
(v.value = "");
|
||||
},
|
||||
S = (l) => {
|
||||
var e;
|
||||
ne({
|
||||
title: "Error",
|
||||
text: ((e = l.messages) == null ? void 0 : e[0]) || l,
|
||||
icon: "x",
|
||||
iconClasses: "bg-red-600 text-white rounded-md p-px",
|
||||
position: "top-center",
|
||||
timeout: 10,
|
||||
});
|
||||
},
|
||||
J = () => {
|
||||
(m.value = null), (t.value.course_image = null);
|
||||
};
|
||||
return (l, e) => {
|
||||
var h;
|
||||
const b = oe("router-link");
|
||||
return (
|
||||
_(),
|
||||
f("div", me, [
|
||||
o("div", _e, [
|
||||
o("div", null, [
|
||||
o("header", pe, [
|
||||
n(
|
||||
a(te),
|
||||
{ class: "h-7", items: z.value },
|
||||
null,
|
||||
8,
|
||||
["items"]
|
||||
),
|
||||
o("div", ve, [
|
||||
a(r).doc
|
||||
? (_(),
|
||||
R(
|
||||
b,
|
||||
{
|
||||
key: 0,
|
||||
to: {
|
||||
name: "CourseDetail",
|
||||
params: {
|
||||
courseName:
|
||||
a(r).doc
|
||||
.name,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
default: g(() => [
|
||||
n(a(x), null, {
|
||||
default: g(
|
||||
() => [
|
||||
o(
|
||||
"span",
|
||||
null,
|
||||
u(
|
||||
l.__(
|
||||
"View Course"
|
||||
)
|
||||
),
|
||||
1
|
||||
),
|
||||
]
|
||||
),
|
||||
_: 1,
|
||||
}),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
["to"]
|
||||
))
|
||||
: N("", !0),
|
||||
n(
|
||||
a(x),
|
||||
{
|
||||
variant: "solid",
|
||||
onClick:
|
||||
e[0] || (e[0] = (s) => A()),
|
||||
class: "ml-2",
|
||||
},
|
||||
{
|
||||
default: g(() => [
|
||||
o(
|
||||
"span",
|
||||
null,
|
||||
u(l.__("Save")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
}
|
||||
),
|
||||
]),
|
||||
]),
|
||||
o("div", be, [
|
||||
o("div", fe, [
|
||||
o(
|
||||
"div",
|
||||
ge,
|
||||
u(l.__("Course Details")),
|
||||
1
|
||||
),
|
||||
n(
|
||||
a(p),
|
||||
{
|
||||
modelValue: t.value.title,
|
||||
"onUpdate:modelValue":
|
||||
e[1] ||
|
||||
(e[1] = (s) =>
|
||||
(t.value.title = s)),
|
||||
label: l.__("Title"),
|
||||
class: "mb-4",
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue", "label"]
|
||||
),
|
||||
n(
|
||||
a(p),
|
||||
{
|
||||
modelValue:
|
||||
t.value.short_introduction,
|
||||
"onUpdate:modelValue":
|
||||
e[2] ||
|
||||
(e[2] = (s) =>
|
||||
(t.value.short_introduction =
|
||||
s)),
|
||||
label: l.__(
|
||||
"Short Introduction"
|
||||
),
|
||||
class: "mb-4",
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue", "label"]
|
||||
),
|
||||
o("div", ye, [
|
||||
o(
|
||||
"div",
|
||||
he,
|
||||
u(l.__("Course Description")),
|
||||
1
|
||||
),
|
||||
n(
|
||||
a(ae),
|
||||
{
|
||||
content:
|
||||
t.value.description,
|
||||
onChange:
|
||||
e[3] ||
|
||||
(e[3] = (s) =>
|
||||
(t.value.description =
|
||||
s)),
|
||||
editable: !0,
|
||||
fixedMenu: !0,
|
||||
editorClass:
|
||||
"prose-sm max-w-none border-b border-x bg-gray-100 rounded-b-md py-1 px-2 min-h-[7rem]",
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["content"]
|
||||
),
|
||||
]),
|
||||
m.value
|
||||
? (_(),
|
||||
f("div", Ve, [
|
||||
o(
|
||||
"div",
|
||||
ke,
|
||||
u(l.__("Course Image")),
|
||||
1
|
||||
),
|
||||
o("div", xe, [
|
||||
o("div", we, [
|
||||
n(a(ce), {
|
||||
class: "h-5 w-5 stroke-1.5 text-gray-700",
|
||||
}),
|
||||
]),
|
||||
o("div", Ue, [
|
||||
o(
|
||||
"span",
|
||||
null,
|
||||
u(
|
||||
m.value
|
||||
.file_name
|
||||
),
|
||||
1
|
||||
),
|
||||
o(
|
||||
"span",
|
||||
Ne,
|
||||
u(
|
||||
a(ue)(
|
||||
m.value
|
||||
.file_size
|
||||
)
|
||||
),
|
||||
1
|
||||
),
|
||||
]),
|
||||
n(a(B), {
|
||||
onClick:
|
||||
e[5] ||
|
||||
(e[5] = (s) =>
|
||||
J()),
|
||||
class: "bg-gray-200 rounded-md cursor-pointer stroke-1.5 w-5 h-5 p-1 ml-4",
|
||||
}),
|
||||
]),
|
||||
]))
|
||||
: (_(),
|
||||
R(
|
||||
a(re),
|
||||
{
|
||||
key: 0,
|
||||
fileTypes: ["image/*"],
|
||||
validateFile: X,
|
||||
onSuccess:
|
||||
e[4] ||
|
||||
(e[4] = (s) => {
|
||||
m.value = s;
|
||||
}),
|
||||
},
|
||||
{
|
||||
default: g(
|
||||
({
|
||||
file: s,
|
||||
progress: C,
|
||||
uploading: V,
|
||||
openFileSelector:
|
||||
k,
|
||||
}) => [
|
||||
o("div", Ce, [
|
||||
n(
|
||||
a(x),
|
||||
{
|
||||
onClick:
|
||||
k,
|
||||
loading:
|
||||
V,
|
||||
},
|
||||
{
|
||||
default:
|
||||
g(
|
||||
() => [
|
||||
T(
|
||||
u(
|
||||
V
|
||||
? `Uploading ${C}%`
|
||||
: "Upload an image"
|
||||
),
|
||||
1
|
||||
),
|
||||
]
|
||||
),
|
||||
_: 2,
|
||||
},
|
||||
1032,
|
||||
[
|
||||
"onClick",
|
||||
"loading",
|
||||
]
|
||||
),
|
||||
]),
|
||||
]
|
||||
),
|
||||
_: 1,
|
||||
}
|
||||
)),
|
||||
n(
|
||||
a(p),
|
||||
{
|
||||
modelValue: t.value.video_link,
|
||||
"onUpdate:modelValue":
|
||||
e[6] ||
|
||||
(e[6] = (s) =>
|
||||
(t.value.video_link =
|
||||
s)),
|
||||
label: l.__("Preview Video"),
|
||||
class: "mb-4",
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue", "label"]
|
||||
),
|
||||
o("div", null, [
|
||||
o("div", Te, u(l.__("Tags")), 1),
|
||||
o("div", $e, [
|
||||
i.value
|
||||
? (_(!0),
|
||||
f(
|
||||
ee,
|
||||
{ key: 0 },
|
||||
le(
|
||||
(h = i.value) ==
|
||||
null
|
||||
? void 0
|
||||
: h.split(
|
||||
", "
|
||||
),
|
||||
(s) => (
|
||||
_(),
|
||||
f(
|
||||
"div",
|
||||
Se,
|
||||
[
|
||||
T(
|
||||
u(
|
||||
s
|
||||
) +
|
||||
" ",
|
||||
1
|
||||
),
|
||||
n(
|
||||
a(
|
||||
B
|
||||
),
|
||||
{
|
||||
class: "stroke-1.5 w-3 h-3 ml-2 cursor-pointer",
|
||||
onClick:
|
||||
(
|
||||
C
|
||||
) =>
|
||||
H(
|
||||
s
|
||||
),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
[
|
||||
"onClick",
|
||||
]
|
||||
),
|
||||
]
|
||||
)
|
||||
)
|
||||
),
|
||||
256
|
||||
))
|
||||
: N("", !0),
|
||||
n(
|
||||
a(p),
|
||||
{
|
||||
modelValue: v.value,
|
||||
"onUpdate:modelValue":
|
||||
e[7] ||
|
||||
(e[7] = (s) =>
|
||||
(v.value = s)),
|
||||
onKeyup:
|
||||
e[8] ||
|
||||
(e[8] = se(
|
||||
(s) => G(),
|
||||
["enter"]
|
||||
)),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue"]
|
||||
),
|
||||
]),
|
||||
]),
|
||||
]),
|
||||
o("div", Fe, [
|
||||
o(
|
||||
"div",
|
||||
je,
|
||||
u(l.__("Course Settings")),
|
||||
1
|
||||
),
|
||||
o("div", De, [
|
||||
n(
|
||||
a(p),
|
||||
{
|
||||
type: "checkbox",
|
||||
modelValue:
|
||||
t.value.published,
|
||||
"onUpdate:modelValue":
|
||||
e[9] ||
|
||||
(e[9] = (s) =>
|
||||
(t.value.published =
|
||||
s)),
|
||||
label: l.__("Published"),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue", "label"]
|
||||
),
|
||||
n(
|
||||
a(p),
|
||||
{
|
||||
type: "checkbox",
|
||||
modelValue:
|
||||
t.value.upcoming,
|
||||
"onUpdate:modelValue":
|
||||
e[10] ||
|
||||
(e[10] = (s) =>
|
||||
(t.value.upcoming =
|
||||
s)),
|
||||
label: l.__("Upcoming"),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue", "label"]
|
||||
),
|
||||
n(
|
||||
a(p),
|
||||
{
|
||||
type: "checkbox",
|
||||
modelValue:
|
||||
t.value
|
||||
.disable_self_learning,
|
||||
"onUpdate:modelValue":
|
||||
e[11] ||
|
||||
(e[11] = (s) =>
|
||||
(t.value.disable_self_learning =
|
||||
s)),
|
||||
label: l.__(
|
||||
"Disable Self Enrollment"
|
||||
),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue", "label"]
|
||||
),
|
||||
]),
|
||||
]),
|
||||
o("div", Ee, [
|
||||
o(
|
||||
"div",
|
||||
Le,
|
||||
u(l.__("Course Pricing")),
|
||||
1
|
||||
),
|
||||
o("div", Pe, [
|
||||
n(
|
||||
a(p),
|
||||
{
|
||||
type: "checkbox",
|
||||
modelValue:
|
||||
t.value.paid_course,
|
||||
"onUpdate:modelValue":
|
||||
e[12] ||
|
||||
(e[12] = (s) =>
|
||||
(t.value.paid_course =
|
||||
s)),
|
||||
label: l.__("Paid Course"),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue", "label"]
|
||||
),
|
||||
]),
|
||||
n(
|
||||
a(p),
|
||||
{
|
||||
modelValue:
|
||||
t.value.course_price,
|
||||
"onUpdate:modelValue":
|
||||
e[13] ||
|
||||
(e[13] = (s) =>
|
||||
(t.value.course_price =
|
||||
s)),
|
||||
label: l.__("Course Price"),
|
||||
class: "mb-4",
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue", "label"]
|
||||
),
|
||||
n(
|
||||
de,
|
||||
{
|
||||
doctype: "Currency",
|
||||
modelValue: t.value.currency,
|
||||
"onUpdate:modelValue":
|
||||
e[14] ||
|
||||
(e[14] = (s) =>
|
||||
(t.value.currency = s)),
|
||||
filters: { enabled: 1 },
|
||||
label: l.__("Currency"),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue", "label"]
|
||||
),
|
||||
]),
|
||||
]),
|
||||
]),
|
||||
o("div", Me, [
|
||||
a(r).doc
|
||||
? (_(),
|
||||
f("div", Re, [
|
||||
o("div", Be, u(t.value.title), 1),
|
||||
a(r).doc.chapters.length
|
||||
? (_(),
|
||||
f(
|
||||
"div",
|
||||
ze,
|
||||
u(a(r).chapters),
|
||||
1
|
||||
))
|
||||
: (_(),
|
||||
f("div", Ie, [
|
||||
o(
|
||||
"div",
|
||||
null,
|
||||
u(
|
||||
l.__(
|
||||
"There are no chapters in this course. Create and manage chapters from here."
|
||||
)
|
||||
),
|
||||
1
|
||||
),
|
||||
n(
|
||||
a(x),
|
||||
{ class: "mt-4" },
|
||||
{
|
||||
default: g(
|
||||
() => [
|
||||
T(
|
||||
u(
|
||||
l.__(
|
||||
"Add Chapter"
|
||||
)
|
||||
),
|
||||
1
|
||||
),
|
||||
]
|
||||
),
|
||||
_: 1,
|
||||
}
|
||||
),
|
||||
])),
|
||||
]))
|
||||
: N("", !0),
|
||||
]),
|
||||
]),
|
||||
])
|
||||
);
|
||||
};
|
||||
},
|
||||
};
|
||||
export { Oe as default };
|
||||
//# sourceMappingURL=CreateCourse-0E2-P7Ge.js.map
|
||||
1
lms/public/frontend/assets/CreateCourse-0E2-P7Ge.js.map
Normal file
1
lms/public/frontend/assets/CreateCourse-0E2-P7Ge.js.map
Normal file
File diff suppressed because one or more lines are too long
8
lms/public/frontend/assets/CreateOutline-3tnu6Qkz.js
Normal file
8
lms/public/frontend/assets/CreateOutline-3tnu6Qkz.js
Normal file
@@ -0,0 +1,8 @@
|
||||
import { v as e } from "./frappe-ui-LT4YqXtx.js";
|
||||
const r = {};
|
||||
function t(n, c) {
|
||||
return null;
|
||||
}
|
||||
const o = e(r, [["render", t]]);
|
||||
export { o as default };
|
||||
//# sourceMappingURL=CreateOutline-3tnu6Qkz.js.map
|
||||
1
lms/public/frontend/assets/CreateOutline-3tnu6Qkz.js.map
Normal file
1
lms/public/frontend/assets/CreateOutline-3tnu6Qkz.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CreateOutline-3tnu6Qkz.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
||||
@@ -1,33 +1,33 @@
|
||||
import {
|
||||
aa as B,
|
||||
ab as N,
|
||||
aa as N,
|
||||
ab as B,
|
||||
r as $,
|
||||
d as S,
|
||||
s as j,
|
||||
k,
|
||||
x as i,
|
||||
y,
|
||||
G as n,
|
||||
B as x,
|
||||
H as t,
|
||||
J as n,
|
||||
G as x,
|
||||
K as t,
|
||||
a7 as T,
|
||||
C as s,
|
||||
I as d,
|
||||
J as R,
|
||||
H as s,
|
||||
L as d,
|
||||
M as R,
|
||||
Q as M,
|
||||
R as E,
|
||||
A as V,
|
||||
K as A,
|
||||
F as V,
|
||||
N as F,
|
||||
U as D,
|
||||
au as P,
|
||||
F as I,
|
||||
a as F,
|
||||
am as G,
|
||||
at as P,
|
||||
I,
|
||||
a as A,
|
||||
al as G,
|
||||
D as J,
|
||||
b as K,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { _ as U } from "./UserAvatar-yrWInUTi.js";
|
||||
import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { _ as L } from "./UserAvatar-A3tEMZXD.js";
|
||||
import { a as q, t as U, c as O } from "./index-6k1S_EjG.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
@@ -71,7 +71,7 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
re = s("span", null, null, -1),
|
||||
z = {
|
||||
__name: "DiscussionReplies",
|
||||
props: B(
|
||||
props: N(
|
||||
{
|
||||
topic: { type: Object, required: !0 },
|
||||
singleThread: { type: Boolean, default: !1 },
|
||||
@@ -80,7 +80,7 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
),
|
||||
emits: ["update:showTopics"],
|
||||
setup(l) {
|
||||
const g = N(l, "showTopics"),
|
||||
const g = B(l, "showTopics"),
|
||||
m = $(""),
|
||||
c = S("$socket"),
|
||||
_ = S("$user"),
|
||||
@@ -216,7 +216,7 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
null,
|
||||
E(
|
||||
t(o).data,
|
||||
(a, L) => (
|
||||
(a, H) => (
|
||||
i(),
|
||||
y("div", null, [
|
||||
s(
|
||||
@@ -226,7 +226,7 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
"py-3",
|
||||
{
|
||||
"border-b":
|
||||
L + 1 !=
|
||||
H + 1 !=
|
||||
t(o).data.length,
|
||||
},
|
||||
]),
|
||||
@@ -235,7 +235,7 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
s("div", te, [
|
||||
s("div", se, [
|
||||
n(
|
||||
U,
|
||||
L,
|
||||
{
|
||||
user: a.user,
|
||||
class: "mr-2",
|
||||
@@ -253,7 +253,7 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
s(
|
||||
"span",
|
||||
oe,
|
||||
d(t(H)(a.creation)),
|
||||
d(t(U)(a.creation)),
|
||||
1
|
||||
),
|
||||
]),
|
||||
@@ -261,7 +261,7 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
!a.editable
|
||||
? (i(),
|
||||
V(
|
||||
t(A),
|
||||
t(F),
|
||||
{
|
||||
key: 0,
|
||||
options: [
|
||||
@@ -432,7 +432,7 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
de = { class: "mb-1.5 text-sm text-gray-600" },
|
||||
ce = {
|
||||
__name: "DiscussionModal",
|
||||
props: B(
|
||||
props: N(
|
||||
{
|
||||
title: { type: String, required: !0 },
|
||||
doctype: { type: String, required: !0 },
|
||||
@@ -442,9 +442,9 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
),
|
||||
emits: ["update:reloadTopics"],
|
||||
setup(l) {
|
||||
const g = N(l, "reloadTopics"),
|
||||
const g = B(l, "reloadTopics"),
|
||||
m = l,
|
||||
c = F({ title: "", reply: "" }),
|
||||
c = A({ title: "", reply: "" }),
|
||||
_ = k({
|
||||
url: "frappe.client.insert",
|
||||
makeParams(f) {
|
||||
@@ -686,7 +686,7 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
},
|
||||
[
|
||||
n(
|
||||
U,
|
||||
L,
|
||||
{
|
||||
user: u.user,
|
||||
size: "2xl",
|
||||
@@ -729,7 +729,7 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
he,
|
||||
d(
|
||||
t(
|
||||
H
|
||||
U
|
||||
)(
|
||||
u.creation
|
||||
)
|
||||
@@ -835,4 +835,4 @@ import { a as q, t as H, c as O } from "./index-Vx7mSx23.js";
|
||||
},
|
||||
};
|
||||
export { Q as C, we as _ };
|
||||
//# sourceMappingURL=Discussions-C9dFHLpJ.js.map
|
||||
//# sourceMappingURL=Discussions-3EqlwpPS.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,21 +1,21 @@
|
||||
import {
|
||||
v as f,
|
||||
ay as g,
|
||||
aF as g,
|
||||
T as _,
|
||||
X as c,
|
||||
x as o,
|
||||
A as l,
|
||||
B as r,
|
||||
M as p,
|
||||
az as C,
|
||||
aA as k,
|
||||
C as a,
|
||||
F as l,
|
||||
G as r,
|
||||
O as p,
|
||||
aG as C,
|
||||
aH as k,
|
||||
H as a,
|
||||
y as d,
|
||||
Q as u,
|
||||
R as m,
|
||||
V as h,
|
||||
F as b,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
I as b,
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
const v = {
|
||||
name: "FontColor",
|
||||
props: ["editor"],
|
||||
@@ -65,8 +65,8 @@ const v = {
|
||||
},
|
||||
y = { class: "p-2" },
|
||||
B = a("div", { class: "text-sm text-gray-700" }, "Text Color", -1),
|
||||
P = { class: "mt-1 grid grid-cols-8 gap-1" },
|
||||
F = ["aria-label", "onClick"],
|
||||
F = { class: "mt-1 grid grid-cols-8 gap-1" },
|
||||
P = ["aria-label", "onClick"],
|
||||
D = a(
|
||||
"div",
|
||||
{ class: "mt-2 text-sm text-gray-700" },
|
||||
@@ -74,8 +74,8 @@ const v = {
|
||||
-1
|
||||
),
|
||||
w = { class: "mt-1 grid grid-cols-8 gap-1" },
|
||||
A = ["aria-label", "onClick"];
|
||||
function T(t, z, R, E, $, n) {
|
||||
T = ["aria-label", "onClick"];
|
||||
function G(t, H, R, z, A, n) {
|
||||
const i = c("Tooltip"),
|
||||
x = c("Popover");
|
||||
return (
|
||||
@@ -94,7 +94,7 @@ function T(t, z, R, E, $, n) {
|
||||
"body-main": r(() => [
|
||||
a("div", y, [
|
||||
B,
|
||||
a("div", P, [
|
||||
a("div", F, [
|
||||
(o(!0),
|
||||
d(
|
||||
u,
|
||||
@@ -128,7 +128,7 @@ function T(t, z, R, E, $, n) {
|
||||
},
|
||||
" A ",
|
||||
12,
|
||||
F
|
||||
P
|
||||
),
|
||||
]),
|
||||
_: 2,
|
||||
@@ -182,7 +182,7 @@ function T(t, z, R, E, $, n) {
|
||||
},
|
||||
" A ",
|
||||
14,
|
||||
A
|
||||
T
|
||||
),
|
||||
]),
|
||||
_: 2,
|
||||
@@ -202,6 +202,6 @@ function T(t, z, R, E, $, n) {
|
||||
)
|
||||
);
|
||||
}
|
||||
const G = f(v, [["render", T]]);
|
||||
export { G as default };
|
||||
//# sourceMappingURL=FontColor-buIvkL_m.js.map
|
||||
const O = f(v, [["render", G]]);
|
||||
export { O as default };
|
||||
//# sourceMappingURL=FontColor-VDDMEf4D.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -2,14 +2,14 @@ import {
|
||||
v as d,
|
||||
D as g,
|
||||
y as m,
|
||||
G as s,
|
||||
B as t,
|
||||
C as r,
|
||||
I as p,
|
||||
J as s,
|
||||
G as t,
|
||||
H as r,
|
||||
L as p,
|
||||
X as u,
|
||||
x as f,
|
||||
U as l,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
const D = {
|
||||
name: "Home",
|
||||
data() {
|
||||
@@ -19,7 +19,7 @@ const D = {
|
||||
components: { Dialog: g },
|
||||
},
|
||||
_ = { class: "max-w-3xl py-12 mx-auto" };
|
||||
function C(e, o, k, w, n, B) {
|
||||
function k(e, o, w, C, n, V) {
|
||||
const a = u("Button"),
|
||||
c = u("Dialog");
|
||||
return (
|
||||
@@ -61,6 +61,6 @@ function C(e, o, k, w, n, B) {
|
||||
])
|
||||
);
|
||||
}
|
||||
const $ = d(D, [["render", C]]);
|
||||
export { $ as default };
|
||||
//# sourceMappingURL=Home-iNWB3jqR.js.map
|
||||
const v = d(D, [["render", k]]);
|
||||
export { v as default };
|
||||
//# sourceMappingURL=Home-gvvenAgK.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"Home-iNWB3jqR.js","sources":["../../../../frontend/src/pages/Home.vue"],"sourcesContent":["<template>\n <div class=\"max-w-3xl py-12 mx-auto\">\n <Button\n icon-left=\"code\"\n @click=\"$resources.ping.fetch\"\n :loading=\"$resources.ping.loading\"\n >\n Click to send 'ping' request\n </Button>\n <div>\n {{ $resources.ping.data }}\n </div>\n <pre>{{ $resources.ping }}</pre>\n\n <Button @click=\"showDialog = true\">Open Dialog</Button>\n <Dialog title=\"Title\" v-model=\"showDialog\"> Dialog content </Dialog>\n </div>\n</template>\n\n<script>\nimport { Dialog } from 'frappe-ui'\n\nexport default {\n name: 'Home',\n data() {\n return {\n showDialog: false,\n }\n },\n resources: {\n ping: {\n url: 'ping',\n },\n },\n components: {\n Dialog,\n },\n}\n</script>\n"],"names":["_sfc_main","Dialog","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_Button","_ctx","_withCtx","_createTextVNode","_createElementVNode","_toDisplayString","$data","_component_Dialog","_cache","$event"],"mappings":"2GAsBA,MAAKA,EAAU,CACb,KAAM,OACN,MAAO,CACL,MAAO,CACL,WAAY,EACd,CACD,EACD,UAAW,CACT,KAAM,CACJ,IAAK,MACN,CACF,EACD,WAAY,CACV,OAAAC,CACD,CACH,EApCOC,EAAA,CAAA,MAAM,yBAAyB,4DAApC,OAAAC,EAAA,EAAAC,EAeM,MAfNF,EAeM,CAdJG,EAMSC,EAAA,CALP,YAAU,OACT,QAAOC,EAAA,WAAW,KAAK,MACvB,QAASA,EAAA,WAAW,KAAK,UALhC,QAAAC,EAMK,IAED,CARJC,EAMK,gCAED,IARJ,EAAA,4BASIC,EAEM,MADD,KAAAC,EAAAJ,EAAA,WAAW,KAAK,IAAI,EAAA,CAAA,EAEzBG,EAAgC,MAAA,KAAAC,EAAxBJ,EAAU,WAAC,IAAI,EAAA,CAAA,EAEvBF,EAAuDC,EAAA,CAA9C,uBAAOM,EAAU,WAAA,MAd9B,QAAAJ,EAcuC,IAAW,CAdlDC,EAcuC,aAAW,IAdlD,EAAA,IAeIJ,EAAoEQ,EAAA,CAA5D,MAAM,QAflB,WAemCD,EAAU,WAf7C,sBAAAE,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAemCH,EAAU,WAAAG,KAf7C,QAAAP,EAe+C,IAAgB,CAf/DC,EAe+C,kBAAgB,IAf/D,EAAA"}
|
||||
{"version":3,"file":"Home-gvvenAgK.js","sources":["../../../../frontend/src/pages/Home.vue"],"sourcesContent":["<template>\n <div class=\"max-w-3xl py-12 mx-auto\">\n <Button\n icon-left=\"code\"\n @click=\"$resources.ping.fetch\"\n :loading=\"$resources.ping.loading\"\n >\n Click to send 'ping' request\n </Button>\n <div>\n {{ $resources.ping.data }}\n </div>\n <pre>{{ $resources.ping }}</pre>\n\n <Button @click=\"showDialog = true\">Open Dialog</Button>\n <Dialog title=\"Title\" v-model=\"showDialog\"> Dialog content </Dialog>\n </div>\n</template>\n\n<script>\nimport { Dialog } from 'frappe-ui'\n\nexport default {\n name: 'Home',\n data() {\n return {\n showDialog: false,\n }\n },\n resources: {\n ping: {\n url: 'ping',\n },\n },\n components: {\n Dialog,\n },\n}\n</script>\n"],"names":["_sfc_main","Dialog","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_Button","_ctx","_withCtx","_createTextVNode","_createElementVNode","_toDisplayString","$data","_component_Dialog","_cache","$event"],"mappings":"2GAsBA,MAAKA,EAAU,CACb,KAAM,OACN,MAAO,CACL,MAAO,CACL,WAAY,EACd,CACD,EACD,UAAW,CACT,KAAM,CACJ,IAAK,MACN,CACF,EACD,WAAY,CACV,OAAAC,CACD,CACH,EApCOC,EAAA,CAAA,MAAM,yBAAyB,4DAApC,OAAAC,EAAA,EAAAC,EAeM,MAfNF,EAeM,CAdJG,EAMSC,EAAA,CALP,YAAU,OACT,QAAOC,EAAA,WAAW,KAAK,MACvB,QAASA,EAAA,WAAW,KAAK,UALhC,QAAAC,EAMK,IAED,CARJC,EAMK,gCAED,IARJ,EAAA,4BASIC,EAEM,MADD,KAAAC,EAAAJ,EAAA,WAAW,KAAK,IAAI,EAAA,CAAA,EAEzBG,EAAgC,MAAA,KAAAC,EAAxBJ,EAAU,WAAC,IAAI,EAAA,CAAA,EAEvBF,EAAuDC,EAAA,CAA9C,uBAAOM,EAAU,WAAA,MAd9B,QAAAJ,EAcuC,IAAW,CAdlDC,EAcuC,aAAW,IAdlD,EAAA,IAeIJ,EAAoEQ,EAAA,CAA5D,MAAM,QAflB,WAemCD,EAAU,WAf7C,sBAAAE,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAemCH,EAAU,WAAAG,KAf7C,QAAAP,EAe+C,IAAgB,CAf/DC,EAe+C,kBAAgB,IAf/D,EAAA"}
|
||||
@@ -1,30 +1,30 @@
|
||||
import {
|
||||
v as I,
|
||||
a7 as f,
|
||||
v as f,
|
||||
a7 as I,
|
||||
D,
|
||||
aK as h,
|
||||
aQ as h,
|
||||
X as d,
|
||||
x as m,
|
||||
y as c,
|
||||
M as _,
|
||||
az as y,
|
||||
aA as C,
|
||||
G as n,
|
||||
B as s,
|
||||
C as i,
|
||||
I as v,
|
||||
J as w,
|
||||
O as _,
|
||||
aG as y,
|
||||
aH as v,
|
||||
J as n,
|
||||
G as s,
|
||||
H as i,
|
||||
L as C,
|
||||
M as w,
|
||||
U as u,
|
||||
Q as x,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
const B = {
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
const b = {
|
||||
name: "InsertImage",
|
||||
props: ["editor"],
|
||||
expose: ["openDialog"],
|
||||
data() {
|
||||
return { addImageDialog: { url: "", file: null, show: !1 } };
|
||||
},
|
||||
components: { Button: f, Dialog: D },
|
||||
components: { Button: I, Dialog: D },
|
||||
methods: {
|
||||
openDialog() {
|
||||
this.addImageDialog.show = !0;
|
||||
@@ -46,12 +46,12 @@ const B = {
|
||||
},
|
||||
},
|
||||
},
|
||||
b = {
|
||||
k = {
|
||||
class: "relative cursor-pointer rounded-lg bg-gray-100 py-1 focus-within:bg-gray-200 hover:bg-gray-200",
|
||||
},
|
||||
k = { class: "absolute inset-0 select-none px-2 py-1 text-base" },
|
||||
B = { class: "absolute inset-0 select-none px-2 py-1 text-base" },
|
||||
S = ["src"];
|
||||
function V(t, e, r, A, a, o) {
|
||||
function V(t, e, r, N, a, o) {
|
||||
const g = d("Button"),
|
||||
p = d("Dialog");
|
||||
return (
|
||||
@@ -60,7 +60,7 @@ function V(t, e, r, A, a, o) {
|
||||
x,
|
||||
null,
|
||||
[
|
||||
_(t.$slots, "default", y(C({ onClick: o.openDialog }))),
|
||||
_(t.$slots, "default", y(v({ onClick: o.openDialog }))),
|
||||
n(
|
||||
p,
|
||||
{
|
||||
@@ -72,7 +72,7 @@ function V(t, e, r, A, a, o) {
|
||||
},
|
||||
{
|
||||
"body-content": s(() => [
|
||||
i("label", b, [
|
||||
i("label", k, [
|
||||
i(
|
||||
"input",
|
||||
{
|
||||
@@ -90,8 +90,8 @@ function V(t, e, r, A, a, o) {
|
||||
),
|
||||
i(
|
||||
"span",
|
||||
k,
|
||||
v(
|
||||
B,
|
||||
C(
|
||||
a.addImageDialog.file
|
||||
? "Select another image"
|
||||
: "Select an image"
|
||||
@@ -147,6 +147,6 @@ function V(t, e, r, A, a, o) {
|
||||
)
|
||||
);
|
||||
}
|
||||
const z = I(B, [["render", V]]);
|
||||
export { z as default };
|
||||
//# sourceMappingURL=InsertImage-MQQczXkr.js.map
|
||||
const L = f(b, [["render", V]]);
|
||||
export { L as default };
|
||||
//# sourceMappingURL=InsertImage-XkfiXG_Q.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"InsertImage-MQQczXkr.js","sources":["../../../../frappe-ui/src/components/TextEditor/InsertImage.vue"],"sourcesContent":["<template>\n <slot v-bind=\"{ onClick: openDialog }\"></slot>\n <Dialog\n :options=\"{ title: 'Add Image' }\"\n v-model=\"addImageDialog.show\"\n @after-leave=\"reset\"\n >\n <template #body-content>\n <label\n class=\"relative cursor-pointer rounded-lg bg-gray-100 py-1 focus-within:bg-gray-200 hover:bg-gray-200\"\n >\n <input\n type=\"file\"\n class=\"w-full opacity-0\"\n @change=\"onImageSelect\"\n accept=\"image/*\"\n />\n <span class=\"absolute inset-0 select-none px-2 py-1 text-base\">\n {{ addImageDialog.file ? 'Select another image' : 'Select an image' }}\n </span>\n </label>\n <img\n v-if=\"addImageDialog.url\"\n :src=\"addImageDialog.url\"\n class=\"mt-2 w-full rounded-lg\"\n />\n </template>\n <template #actions>\n <Button variant=\"solid\" @click=\"addImage(addImageDialog.url)\">\n Insert Image\n </Button>\n <Button @click=\"reset\"> Cancel </Button>\n </template>\n </Dialog>\n</template>\n<script>\nimport fileToBase64 from '../../utils/file-to-base64'\nimport Dialog from '../Dialog.vue'\nimport Button from '../Button.vue'\n\nexport default {\n name: 'InsertImage',\n props: ['editor'],\n expose: ['openDialog'],\n data() {\n return {\n addImageDialog: { url: '', file: null, show: false },\n }\n },\n components: { Button, Dialog },\n methods: {\n openDialog() {\n this.addImageDialog.show = true\n },\n onImageSelect(e) {\n let file = e.target.files[0]\n if (!file) {\n return\n }\n this.addImageDialog.file = file\n fileToBase64(file).then((base64) => {\n this.addImageDialog.url = base64\n })\n },\n addImage(src) {\n this.editor.chain().focus().setImage({ src }).run()\n this.reset()\n },\n reset() {\n this.addImageDialog = this.$options.data().addImageDialog\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Button","Dialog","e","file","fileToBase64","base64","src","_hoisted_1","_hoisted_2","_hoisted_3","_openBlock","_createElementBlock","_Fragment","_renderSlot","_ctx","_normalizeProps","_guardReactiveProps","$options","_createVNode","_component_Dialog","$data","_cache","$event","_createElementVNode","args","_toDisplayString","_createCommentVNode","_component_Button","_withCtx","_createTextVNode"],"mappings":"2JAwCA,MAAKA,EAAU,CACb,KAAM,cACN,MAAO,CAAC,QAAQ,EAChB,OAAQ,CAAC,YAAY,EACrB,MAAO,CACL,MAAO,CACL,eAAgB,CAAE,IAAK,GAAI,KAAM,KAAM,KAAM,EAAO,CACtD,CACD,EACD,WAAY,CAAA,OAAEC,EAAQ,OAAAC,CAAQ,EAC9B,QAAS,CACP,YAAa,CACX,KAAK,eAAe,KAAO,EAC5B,EACD,cAAcC,EAAG,CACf,IAAIC,EAAOD,EAAE,OAAO,MAAM,CAAC,EACtBC,IAGL,KAAK,eAAe,KAAOA,EAC3BC,EAAaD,CAAI,EAAE,KAAME,GAAW,CAClC,KAAK,eAAe,IAAMA,EAC3B,EACF,EACD,SAASC,EAAK,CACZ,KAAK,OAAO,MAAK,EAAG,MAAK,EAAG,SAAS,CAAE,IAAAA,EAAK,EAAE,IAAI,EAClD,KAAK,MAAM,CACZ,EACD,OAAQ,CACN,KAAK,eAAiB,KAAK,SAAS,KAAM,EAAC,cAC5C,CACF,CACH,EA/DQC,EAAA,CAAA,MAAM,gGAAgG,EAQhGC,EAAA,CAAA,MAAM,kDAAkD,EAjBtEC,EAAA,CAAA,KAAA,4DAAA,OAAAC,EAAA,EAAAC,EAAAC,EAAA,KAAA,CACEC,EAA8CC,EAAA,OAAA,UADhDC,EAAAC,EAAA,CAAA,QAC2BC,EAAU,UAAA,CAAA,CAAA,CAAA,EACnCC,EA+BSC,EAAA,CA9BN,QAAS,CAAsB,MAAA,WAAA,EAHpC,WAIaC,EAAA,eAAe,KAJ5B,sBAIaC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,eAAe,KAAIE,GAC3B,aAAaL,EAAK,QAER,iBACT,IAYQ,CAZRM,EAYQ,QAZRhB,EAYQ,CATNgB,EAKE,QAAA,CAJA,KAAK,OACL,MAAM,mBACL,6BAAQN,EAAa,eAAAA,EAAA,cAAA,GAAAO,CAAA,GACtB,OAAO,oBAETD,EAEO,OAFPf,EACKiB,EAAAL,EAAA,eAAe,KAAI,uBAAA,iBAAA,EAAA,CAAA,IAIlBA,EAAA,eAAe,SADvBT,EAIE,MAAA,CAzBR,IAAA,EAuBS,IAAKS,EAAc,eAAC,IACrB,MAAM,wBAxBd,EAAA,KAAA,EAAAX,CAAA,GAAAiB,EAAA,GAAA,EAAA,IA2Be,UACT,IAES,CAFTR,EAESS,EAAA,CAFD,QAAQ,QAAS,QAAON,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAL,EAAA,SAASG,EAAA,eAAe,GAAG,KA5BjE,QAAAQ,EA4BoE,IAE9D,CA9BNC,EA4BoE,gBAE9D,IA9BN,EAAA,IA+BMX,EAAwCS,EAAA,CAA/B,QAAOV,EAAK,KAAA,EAAA,CA/B3B,QAAAW,EA+B6B,IAAQ,CA/BrCC,EA+B6B,UAAQ,IA/BrC,EAAA,oBAAA,EAAA"}
|
||||
{"version":3,"file":"InsertImage-XkfiXG_Q.js","sources":["../../../../frappe-ui/src/components/TextEditor/InsertImage.vue"],"sourcesContent":["<template>\n <slot v-bind=\"{ onClick: openDialog }\"></slot>\n <Dialog\n :options=\"{ title: 'Add Image' }\"\n v-model=\"addImageDialog.show\"\n @after-leave=\"reset\"\n >\n <template #body-content>\n <label\n class=\"relative cursor-pointer rounded-lg bg-gray-100 py-1 focus-within:bg-gray-200 hover:bg-gray-200\"\n >\n <input\n type=\"file\"\n class=\"w-full opacity-0\"\n @change=\"onImageSelect\"\n accept=\"image/*\"\n />\n <span class=\"absolute inset-0 select-none px-2 py-1 text-base\">\n {{ addImageDialog.file ? 'Select another image' : 'Select an image' }}\n </span>\n </label>\n <img\n v-if=\"addImageDialog.url\"\n :src=\"addImageDialog.url\"\n class=\"mt-2 w-full rounded-lg\"\n />\n </template>\n <template #actions>\n <Button variant=\"solid\" @click=\"addImage(addImageDialog.url)\">\n Insert Image\n </Button>\n <Button @click=\"reset\"> Cancel </Button>\n </template>\n </Dialog>\n</template>\n<script>\nimport fileToBase64 from '../../utils/file-to-base64'\nimport Dialog from '../Dialog.vue'\nimport Button from '../Button.vue'\n\nexport default {\n name: 'InsertImage',\n props: ['editor'],\n expose: ['openDialog'],\n data() {\n return {\n addImageDialog: { url: '', file: null, show: false },\n }\n },\n components: { Button, Dialog },\n methods: {\n openDialog() {\n this.addImageDialog.show = true\n },\n onImageSelect(e) {\n let file = e.target.files[0]\n if (!file) {\n return\n }\n this.addImageDialog.file = file\n fileToBase64(file).then((base64) => {\n this.addImageDialog.url = base64\n })\n },\n addImage(src) {\n this.editor.chain().focus().setImage({ src }).run()\n this.reset()\n },\n reset() {\n this.addImageDialog = this.$options.data().addImageDialog\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Button","Dialog","e","file","fileToBase64","base64","src","_hoisted_1","_hoisted_2","_hoisted_3","_openBlock","_createElementBlock","_Fragment","_renderSlot","_ctx","_normalizeProps","_guardReactiveProps","$options","_createVNode","_component_Dialog","$data","_cache","$event","_createElementVNode","args","_toDisplayString","_createCommentVNode","_component_Button","_withCtx","_createTextVNode"],"mappings":"2JAwCA,MAAKA,EAAU,CACb,KAAM,cACN,MAAO,CAAC,QAAQ,EAChB,OAAQ,CAAC,YAAY,EACrB,MAAO,CACL,MAAO,CACL,eAAgB,CAAE,IAAK,GAAI,KAAM,KAAM,KAAM,EAAO,CACtD,CACD,EACD,WAAY,CAAA,OAAEC,EAAQ,OAAAC,CAAQ,EAC9B,QAAS,CACP,YAAa,CACX,KAAK,eAAe,KAAO,EAC5B,EACD,cAAcC,EAAG,CACf,IAAIC,EAAOD,EAAE,OAAO,MAAM,CAAC,EACtBC,IAGL,KAAK,eAAe,KAAOA,EAC3BC,EAAaD,CAAI,EAAE,KAAME,GAAW,CAClC,KAAK,eAAe,IAAMA,EAC3B,EACF,EACD,SAASC,EAAK,CACZ,KAAK,OAAO,MAAK,EAAG,MAAK,EAAG,SAAS,CAAE,IAAAA,EAAK,EAAE,IAAI,EAClD,KAAK,MAAM,CACZ,EACD,OAAQ,CACN,KAAK,eAAiB,KAAK,SAAS,KAAM,EAAC,cAC5C,CACF,CACH,EA/DQC,EAAA,CAAA,MAAM,gGAAgG,EAQhGC,EAAA,CAAA,MAAM,kDAAkD,EAjBtEC,EAAA,CAAA,KAAA,4DAAA,OAAAC,EAAA,EAAAC,EAAAC,EAAA,KAAA,CACEC,EAA8CC,EAAA,OAAA,UADhDC,EAAAC,EAAA,CAAA,QAC2BC,EAAU,UAAA,CAAA,CAAA,CAAA,EACnCC,EA+BSC,EAAA,CA9BN,QAAS,CAAsB,MAAA,WAAA,EAHpC,WAIaC,EAAA,eAAe,KAJ5B,sBAIaC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,eAAe,KAAIE,GAC3B,aAAaL,EAAK,QAER,iBACT,IAYQ,CAZRM,EAYQ,QAZRhB,EAYQ,CATNgB,EAKE,QAAA,CAJA,KAAK,OACL,MAAM,mBACL,6BAAQN,EAAa,eAAAA,EAAA,cAAA,GAAAO,CAAA,GACtB,OAAO,oBAETD,EAEO,OAFPf,EACKiB,EAAAL,EAAA,eAAe,KAAI,uBAAA,iBAAA,EAAA,CAAA,IAIlBA,EAAA,eAAe,SADvBT,EAIE,MAAA,CAzBR,IAAA,EAuBS,IAAKS,EAAc,eAAC,IACrB,MAAM,wBAxBd,EAAA,KAAA,EAAAX,CAAA,GAAAiB,EAAA,GAAA,EAAA,IA2Be,UACT,IAES,CAFTR,EAESS,EAAA,CAFD,QAAQ,QAAS,QAAON,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAL,EAAA,SAASG,EAAA,eAAe,GAAG,KA5BjE,QAAAQ,EA4BoE,IAE9D,CA9BNC,EA4BoE,gBAE9D,IA9BN,EAAA,IA+BMX,EAAwCS,EAAA,CAA/B,QAAOV,EAAK,KAAA,EAAA,CA/B3B,QAAAW,EA+B6B,IAAQ,CA/BrCC,EA+B6B,UAAQ,IA/BrC,EAAA,oBAAA,EAAA"}
|
||||
@@ -1,20 +1,20 @@
|
||||
import {
|
||||
v as d,
|
||||
a7 as g,
|
||||
am as L,
|
||||
al as L,
|
||||
D as m,
|
||||
X as i,
|
||||
x as p,
|
||||
y as f,
|
||||
M as D,
|
||||
az as c,
|
||||
aA as h,
|
||||
G as a,
|
||||
B as l,
|
||||
aJ as v,
|
||||
O as D,
|
||||
aG as c,
|
||||
aH as h,
|
||||
J as a,
|
||||
G as l,
|
||||
aB as v,
|
||||
U as x,
|
||||
Q as _,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
const w = {
|
||||
name: "InsertLink",
|
||||
props: ["editor"],
|
||||
@@ -118,4 +118,4 @@ function V(t, e, B, C, n, s) {
|
||||
}
|
||||
const R = d(w, [["render", V]]);
|
||||
export { R as default };
|
||||
//# sourceMappingURL=InsertLink-9nQ40Mze.js.map
|
||||
//# sourceMappingURL=InsertLink-b9-oqqq0.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"InsertLink-9nQ40Mze.js","sources":["../../../../frappe-ui/src/components/TextEditor/InsertLink.vue"],"sourcesContent":["<template>\n <slot v-bind=\"{ onClick: openDialog }\"></slot>\n <Dialog\n :options=\"{ title: 'Set Link' }\"\n v-model=\"setLinkDialog.show\"\n @after-leave=\"reset\"\n >\n <template #body-content>\n <FormControl\n type=\"text\"\n label=\"URL\"\n v-model=\"setLinkDialog.url\"\n @keydown.enter=\"(e) => setLink(e.target.value)\"\n />\n </template>\n <template #actions>\n <Button variant=\"solid\" @click=\"setLink(setLinkDialog.url)\">\n Save\n </Button>\n </template>\n </Dialog>\n</template>\n<script>\nimport Dialog from '../Dialog.vue'\nimport Button from '../Button.vue'\nimport Input from '../Input.vue'\n\nexport default {\n name: 'InsertLink',\n props: ['editor'],\n components: { Button, Input, Dialog },\n data() {\n return {\n setLinkDialog: { url: '', show: false },\n }\n },\n methods: {\n openDialog() {\n let existingURL = this.editor.getAttributes('link').href\n if (existingURL) {\n this.setLinkDialog.url = existingURL\n }\n this.setLinkDialog.show = true\n },\n setLink(url) {\n // empty\n if (url === '') {\n this.editor.chain().focus().extendMarkRange('link').unsetLink().run()\n } else {\n // update link\n this.editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: url })\n .run()\n }\n\n this.setLinkDialog.show = false\n this.setLinkDialog.url = ''\n },\n reset() {\n this.setLinkDialog = this.$options.data().setLinkDialog\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Button","Input","Dialog","existingURL","url","_openBlock","_createElementBlock","_Fragment","_renderSlot","_ctx","_normalizeProps","_guardReactiveProps","$options","_createVNode","_component_Dialog","$data","_cache","$event","_component_FormControl","_withKeys","e","_component_Button","_withCtx","_createTextVNode"],"mappings":"mJA2BA,MAAKA,EAAU,CACb,KAAM,aACN,MAAO,CAAC,QAAQ,EAChB,WAAY,CAAEC,OAAAA,EAAQ,MAAAC,EAAO,OAAAC,CAAQ,EACrC,MAAO,CACL,MAAO,CACL,cAAe,CAAE,IAAK,GAAI,KAAM,EAAO,CACzC,CACD,EACD,QAAS,CACP,YAAa,CACX,IAAIC,EAAc,KAAK,OAAO,cAAc,MAAM,EAAE,KAChDA,IACF,KAAK,cAAc,IAAMA,GAE3B,KAAK,cAAc,KAAO,EAC3B,EACD,QAAQC,EAAK,CAEPA,IAAQ,GACV,KAAK,OAAO,MAAK,EAAG,MAAK,EAAG,gBAAgB,MAAM,EAAE,UAAW,EAAC,IAAI,EAGpE,KAAK,OACF,MAAM,EACN,MAAM,EACN,gBAAgB,MAAM,EACtB,QAAQ,CAAE,KAAMA,EAAK,EACrB,IAAI,EAGT,KAAK,cAAc,KAAO,GAC1B,KAAK,cAAc,IAAM,EAC1B,EACD,OAAQ,CACN,KAAK,cAAgB,KAAK,SAAS,KAAM,EAAC,aAC3C,CACF,CACH,+EAjEA,OAAAC,EAAA,EAAAC,EAAAC,EAAA,KAAA,CACEC,EAA8CC,EAAA,OAAA,UADhDC,EAAAC,EAAA,CAAA,QAC2BC,EAAU,UAAA,CAAA,CAAA,CAAA,EACnCC,EAkBSC,EAAA,CAjBN,QAAS,CAAqB,MAAA,UAAA,EAHnC,WAIaC,EAAA,cAAc,KAJ3B,sBAIaC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,cAAc,KAAIE,GAC1B,aAAaL,EAAK,QAER,iBACT,IAKE,CALFC,EAKEK,EAAA,CAJA,KAAK,OACL,MAAM,MAVd,WAWiBH,EAAA,cAAc,IAX/B,sBAWiBC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,cAAc,IAAGE,GACzB,UAAOD,EAAA,CAAA,IAAAA,EAAA,CAAA,EAZhBG,EAYyBC,GAAMR,EAAA,QAAQQ,EAAE,OAAO,KAAK,EAAA,CAAA,OAAA,CAAA,6BAGtC,UACT,IAES,CAFTP,EAESQ,EAAA,CAFD,QAAQ,QAAS,QAAOL,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAL,EAAA,QAAQG,EAAA,cAAc,GAAG,KAhB/D,QAAAO,EAgBkE,IAE5D,CAlBNC,EAgBkE,QAE5D,IAlBN,EAAA,MAAA,EAAA"}
|
||||
{"version":3,"file":"InsertLink-b9-oqqq0.js","sources":["../../../../frappe-ui/src/components/TextEditor/InsertLink.vue"],"sourcesContent":["<template>\n <slot v-bind=\"{ onClick: openDialog }\"></slot>\n <Dialog\n :options=\"{ title: 'Set Link' }\"\n v-model=\"setLinkDialog.show\"\n @after-leave=\"reset\"\n >\n <template #body-content>\n <FormControl\n type=\"text\"\n label=\"URL\"\n v-model=\"setLinkDialog.url\"\n @keydown.enter=\"(e) => setLink(e.target.value)\"\n />\n </template>\n <template #actions>\n <Button variant=\"solid\" @click=\"setLink(setLinkDialog.url)\">\n Save\n </Button>\n </template>\n </Dialog>\n</template>\n<script>\nimport Dialog from '../Dialog.vue'\nimport Button from '../Button.vue'\nimport Input from '../Input.vue'\n\nexport default {\n name: 'InsertLink',\n props: ['editor'],\n components: { Button, Input, Dialog },\n data() {\n return {\n setLinkDialog: { url: '', show: false },\n }\n },\n methods: {\n openDialog() {\n let existingURL = this.editor.getAttributes('link').href\n if (existingURL) {\n this.setLinkDialog.url = existingURL\n }\n this.setLinkDialog.show = true\n },\n setLink(url) {\n // empty\n if (url === '') {\n this.editor.chain().focus().extendMarkRange('link').unsetLink().run()\n } else {\n // update link\n this.editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: url })\n .run()\n }\n\n this.setLinkDialog.show = false\n this.setLinkDialog.url = ''\n },\n reset() {\n this.setLinkDialog = this.$options.data().setLinkDialog\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Button","Input","Dialog","existingURL","url","_openBlock","_createElementBlock","_Fragment","_renderSlot","_ctx","_normalizeProps","_guardReactiveProps","$options","_createVNode","_component_Dialog","$data","_cache","$event","_component_FormControl","_withKeys","e","_component_Button","_withCtx","_createTextVNode"],"mappings":"mJA2BA,MAAKA,EAAU,CACb,KAAM,aACN,MAAO,CAAC,QAAQ,EAChB,WAAY,CAAEC,OAAAA,EAAQ,MAAAC,EAAO,OAAAC,CAAQ,EACrC,MAAO,CACL,MAAO,CACL,cAAe,CAAE,IAAK,GAAI,KAAM,EAAO,CACzC,CACD,EACD,QAAS,CACP,YAAa,CACX,IAAIC,EAAc,KAAK,OAAO,cAAc,MAAM,EAAE,KAChDA,IACF,KAAK,cAAc,IAAMA,GAE3B,KAAK,cAAc,KAAO,EAC3B,EACD,QAAQC,EAAK,CAEPA,IAAQ,GACV,KAAK,OAAO,MAAK,EAAG,MAAK,EAAG,gBAAgB,MAAM,EAAE,UAAW,EAAC,IAAI,EAGpE,KAAK,OACF,MAAM,EACN,MAAM,EACN,gBAAgB,MAAM,EACtB,QAAQ,CAAE,KAAMA,EAAK,EACrB,IAAI,EAGT,KAAK,cAAc,KAAO,GAC1B,KAAK,cAAc,IAAM,EAC1B,EACD,OAAQ,CACN,KAAK,cAAgB,KAAK,SAAS,KAAM,EAAC,aAC3C,CACF,CACH,+EAjEA,OAAAC,EAAA,EAAAC,EAAAC,EAAA,KAAA,CACEC,EAA8CC,EAAA,OAAA,UADhDC,EAAAC,EAAA,CAAA,QAC2BC,EAAU,UAAA,CAAA,CAAA,CAAA,EACnCC,EAkBSC,EAAA,CAjBN,QAAS,CAAqB,MAAA,UAAA,EAHnC,WAIaC,EAAA,cAAc,KAJ3B,sBAIaC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,cAAc,KAAIE,GAC1B,aAAaL,EAAK,QAER,iBACT,IAKE,CALFC,EAKEK,EAAA,CAJA,KAAK,OACL,MAAM,MAVd,WAWiBH,EAAA,cAAc,IAX/B,sBAWiBC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,cAAc,IAAGE,GACzB,UAAOD,EAAA,CAAA,IAAAA,EAAA,CAAA,EAZhBG,EAYyBC,GAAMR,EAAA,QAAQQ,EAAE,OAAO,KAAK,EAAA,CAAA,OAAA,CAAA,6BAGtC,UACT,IAES,CAFTP,EAESQ,EAAA,CAFD,QAAQ,QAAS,QAAOL,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAL,EAAA,QAAQG,EAAA,cAAc,GAAG,KAhB/D,QAAAO,EAgBkE,IAE5D,CAlBNC,EAgBkE,QAE5D,IAlBN,EAAA,MAAA,EAAA"}
|
||||
@@ -1,31 +1,31 @@
|
||||
import {
|
||||
v as _,
|
||||
a7 as C,
|
||||
D as v,
|
||||
aL as k,
|
||||
a7 as v,
|
||||
D as C,
|
||||
aA as k,
|
||||
X as r,
|
||||
x as u,
|
||||
y as c,
|
||||
M as h,
|
||||
az as x,
|
||||
aA as B,
|
||||
G as a,
|
||||
B as l,
|
||||
C as y,
|
||||
O as h,
|
||||
aG as x,
|
||||
aH as y,
|
||||
J as a,
|
||||
G as l,
|
||||
H as B,
|
||||
U as n,
|
||||
I as U,
|
||||
A as w,
|
||||
J as p,
|
||||
Q as A,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
const I = {
|
||||
L as U,
|
||||
F as w,
|
||||
M as p,
|
||||
Q as F,
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
const A = {
|
||||
name: "InsertImage",
|
||||
props: ["editor"],
|
||||
expose: ["openDialog"],
|
||||
data() {
|
||||
return { addVideoDialog: { url: "", file: null, show: !1 } };
|
||||
},
|
||||
components: { Button: C, Dialog: v, FileUploader: k },
|
||||
components: { Button: v, Dialog: C, FileUploader: k },
|
||||
methods: {
|
||||
openDialog() {
|
||||
this.addVideoDialog.show = !0;
|
||||
@@ -47,19 +47,19 @@ const I = {
|
||||
},
|
||||
},
|
||||
},
|
||||
F = { class: "flex items-center space-x-2" },
|
||||
I = { class: "flex items-center space-x-2" },
|
||||
N = ["src"];
|
||||
function S(i, o, L, z, e, t) {
|
||||
function S(i, o, L, G, e, t) {
|
||||
const s = r("Button"),
|
||||
V = r("FileUploader"),
|
||||
g = r("Dialog");
|
||||
return (
|
||||
u(),
|
||||
c(
|
||||
A,
|
||||
F,
|
||||
null,
|
||||
[
|
||||
h(i.$slots, "default", x(B({ onClick: t.openDialog }))),
|
||||
h(i.$slots, "default", x(y({ onClick: t.openDialog }))),
|
||||
a(
|
||||
g,
|
||||
{
|
||||
@@ -89,7 +89,7 @@ function S(i, o, L, z, e, t) {
|
||||
uploading: m,
|
||||
openFileSelector: D,
|
||||
}) => [
|
||||
y("div", F, [
|
||||
B("div", I, [
|
||||
a(
|
||||
s,
|
||||
{ onClick: D },
|
||||
@@ -196,6 +196,6 @@ function S(i, o, L, z, e, t) {
|
||||
)
|
||||
);
|
||||
}
|
||||
const R = _(I, [["render", S]]);
|
||||
export { R as default };
|
||||
//# sourceMappingURL=InsertVideo-nOXySFw5.js.map
|
||||
const P = _(A, [["render", S]]);
|
||||
export { P as default };
|
||||
//# sourceMappingURL=InsertVideo-rrce2h6I.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"InsertVideo-nOXySFw5.js","sources":["../../../../frappe-ui/src/components/TextEditor/InsertVideo.vue"],"sourcesContent":["<template>\n <slot v-bind=\"{ onClick: openDialog }\"></slot>\n <Dialog\n :options=\"{ title: 'Add Video' }\"\n v-model=\"addVideoDialog.show\"\n @after-leave=\"reset\"\n >\n <template #body-content>\n <FileUploader\n file-types=\"video/*\"\n @success=\"(file) => (addVideoDialog.url = file.file_url)\"\n >\n <template v-slot=\"{ file, progress, uploading, openFileSelector }\">\n <div class=\"flex items-center space-x-2\">\n <Button @click=\"openFileSelector\">\n {{\n uploading\n ? `Uploading ${progress}%`\n : addVideoDialog.url\n ? 'Change Video'\n : 'Upload Video'\n }}\n </Button>\n <Button\n v-if=\"addVideoDialog.url\"\n @click=\"\n () => {\n addVideoDialog.url = null\n addVideoDialog.file = null\n }\n \"\n >\n Remove\n </Button>\n </div>\n </template>\n </FileUploader>\n <video\n v-if=\"addVideoDialog.url\"\n :src=\"addVideoDialog.url\"\n class=\"mt-2 w-full rounded-lg\"\n type=\"video/mp4\"\n controls\n />\n </template>\n <template #actions>\n <Button variant=\"solid\" @click=\"addVideo(addVideoDialog.url)\">\n Insert Video\n </Button>\n <Button @click=\"reset\">Cancel</Button>\n </template>\n </Dialog>\n</template>\n<script>\nimport Button from '../Button.vue'\nimport Dialog from '../Dialog.vue'\nimport FileUploader from '../FileUploader.vue'\n\nexport default {\n name: 'InsertImage',\n props: ['editor'],\n expose: ['openDialog'],\n data() {\n return {\n addVideoDialog: { url: '', file: null, show: false },\n }\n },\n components: { Button, Dialog, FileUploader },\n methods: {\n openDialog() {\n this.addVideoDialog.show = true\n },\n onVideoSelect(e) {\n let file = e.target.files[0]\n if (!file) {\n return\n }\n this.addVideoDialog.file = file\n },\n\n addVideo(src) {\n this.editor\n .chain()\n .focus()\n .insertContent(`<video src=\"${src}\"></video>`)\n .run()\n this.reset()\n },\n reset() {\n this.addVideoDialog = this.$options.data().addVideoDialog\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Button","Dialog","FileUploader","e","file","src","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_Fragment","_renderSlot","_ctx","_normalizeProps","_guardReactiveProps","$options","_createVNode","_component_Dialog","$data","_cache","$event","_component_FileUploader","_withCtx","progress","uploading","openFileSelector","_createElementVNode","_component_Button","_createTextVNode","_toDisplayString","_createBlock","_createCommentVNode"],"mappings":"uKA0DA,MAAKA,EAAU,CACb,KAAM,cACN,MAAO,CAAC,QAAQ,EAChB,OAAQ,CAAC,YAAY,EACrB,MAAO,CACL,MAAO,CACL,eAAgB,CAAE,IAAK,GAAI,KAAM,KAAM,KAAM,EAAO,CACtD,CACD,EACD,WAAY,CAAEC,OAAAA,EAAQ,OAAAC,EAAQ,aAAAC,CAAc,EAC5C,QAAS,CACP,YAAa,CACX,KAAK,eAAe,KAAO,EAC5B,EACD,cAAcC,EAAG,CACf,IAAIC,EAAOD,EAAE,OAAO,MAAM,CAAC,EACtBC,IAGL,KAAK,eAAe,KAAOA,EAC5B,EAED,SAASC,EAAK,CACZ,KAAK,OACF,MAAM,EACN,MAAM,EACN,cAAc,eAAeA,CAAG,YAAY,EAC5C,IAAI,EACP,KAAK,MAAM,CACZ,EACD,OAAQ,CACN,KAAK,eAAiB,KAAK,SAAS,KAAM,EAAC,cAC5C,CACF,CACH,EA/EeC,EAAA,CAAA,MAAM,6BAA6B,EAblDC,EAAA,CAAA,KAAA,gFAAA,OAAAC,EAAA,EAAAC,EAAAC,EAAA,KAAA,CACEC,EAA8CC,EAAA,OAAA,UADhDC,EAAAC,EAAA,CAAA,QAC2BC,EAAU,UAAA,CAAA,CAAA,CAAA,EACnCC,EAiDSC,EAAA,CAhDN,QAAS,CAAsB,MAAA,WAAA,EAHpC,WAIaC,EAAA,eAAe,KAJ5B,sBAIaC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,eAAe,KAAIE,GAC3B,aAAaL,EAAK,QAER,iBACT,IA4Be,CA5BfC,EA4BeK,EAAA,CA3Bb,aAAW,UACV,UAAOF,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAGf,GAAUc,EAAA,eAAe,IAAMd,EAAK,YAVvD,QAaUkB,EAAA,CAqBM,CAtBY,KAAAlB,EAAM,SAAAmB,EAAU,UAAAC,EAAW,iBAAAC,KAAgB,CAC7DC,EAqBM,MArBNpB,EAqBM,CApBJU,EAQSW,EAAA,CARA,QAAOF,CAAgB,EAAA,CAd5C,QAAAH,EAec,IAME,CArBhBM,EAAAC,EAgBgBL,eAA2CD,CAAQ,IAAwBL,EAAA,eAAe,wCAhB1G,EAAA,qBAwBoBA,EAAA,eAAe,SADvBY,EAUSH,EAAA,CAjCrB,IAAA,EAyBe,aAAkDT,EAAA,eAAe,IAAG,KAA0BA,EAAA,eAAe,KAAI,QAzBhI,QAAAI,EA+Ba,IAED,CAjCZM,EA+Ba,UAED,IAjCZ,EAAA,sBAAAG,EAAA,GAAA,EAAA,MAAA,EAAA,IAsCcb,EAAA,eAAe,SADvBT,EAME,QAAA,CA3CR,IAAA,EAuCS,IAAKS,EAAc,eAAC,IACrB,MAAM,yBACN,KAAK,YACL,SAAA,EA1CR,EAAA,KAAA,EAAAX,CAAA,GAAAwB,EAAA,GAAA,EAAA,IA6Ce,UACT,IAES,CAFTf,EAESW,EAAA,CAFD,QAAQ,QAAS,QAAOR,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAL,EAAA,SAASG,EAAA,eAAe,GAAG,KA9CjE,QAAAI,EA8CoE,IAE9D,CAhDNM,EA8CoE,gBAE9D,IAhDN,EAAA,IAiDMZ,EAAsCW,EAAA,CAA7B,QAAOZ,EAAK,KAAA,EAAA,CAjD3B,QAAAO,EAiD6B,IAAM,CAjDnCM,EAiD6B,QAAM,IAjDnC,EAAA,oBAAA,EAAA"}
|
||||
{"version":3,"file":"InsertVideo-rrce2h6I.js","sources":["../../../../frappe-ui/src/components/TextEditor/InsertVideo.vue"],"sourcesContent":["<template>\n <slot v-bind=\"{ onClick: openDialog }\"></slot>\n <Dialog\n :options=\"{ title: 'Add Video' }\"\n v-model=\"addVideoDialog.show\"\n @after-leave=\"reset\"\n >\n <template #body-content>\n <FileUploader\n file-types=\"video/*\"\n @success=\"(file) => (addVideoDialog.url = file.file_url)\"\n >\n <template v-slot=\"{ file, progress, uploading, openFileSelector }\">\n <div class=\"flex items-center space-x-2\">\n <Button @click=\"openFileSelector\">\n {{\n uploading\n ? `Uploading ${progress}%`\n : addVideoDialog.url\n ? 'Change Video'\n : 'Upload Video'\n }}\n </Button>\n <Button\n v-if=\"addVideoDialog.url\"\n @click=\"\n () => {\n addVideoDialog.url = null\n addVideoDialog.file = null\n }\n \"\n >\n Remove\n </Button>\n </div>\n </template>\n </FileUploader>\n <video\n v-if=\"addVideoDialog.url\"\n :src=\"addVideoDialog.url\"\n class=\"mt-2 w-full rounded-lg\"\n type=\"video/mp4\"\n controls\n />\n </template>\n <template #actions>\n <Button variant=\"solid\" @click=\"addVideo(addVideoDialog.url)\">\n Insert Video\n </Button>\n <Button @click=\"reset\">Cancel</Button>\n </template>\n </Dialog>\n</template>\n<script>\nimport Button from '../Button.vue'\nimport Dialog from '../Dialog.vue'\nimport FileUploader from '../FileUploader.vue'\n\nexport default {\n name: 'InsertImage',\n props: ['editor'],\n expose: ['openDialog'],\n data() {\n return {\n addVideoDialog: { url: '', file: null, show: false },\n }\n },\n components: { Button, Dialog, FileUploader },\n methods: {\n openDialog() {\n this.addVideoDialog.show = true\n },\n onVideoSelect(e) {\n let file = e.target.files[0]\n if (!file) {\n return\n }\n this.addVideoDialog.file = file\n },\n\n addVideo(src) {\n this.editor\n .chain()\n .focus()\n .insertContent(`<video src=\"${src}\"></video>`)\n .run()\n this.reset()\n },\n reset() {\n this.addVideoDialog = this.$options.data().addVideoDialog\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Button","Dialog","FileUploader","e","file","src","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_Fragment","_renderSlot","_ctx","_normalizeProps","_guardReactiveProps","$options","_createVNode","_component_Dialog","$data","_cache","$event","_component_FileUploader","_withCtx","progress","uploading","openFileSelector","_createElementVNode","_component_Button","_createTextVNode","_toDisplayString","_createBlock","_createCommentVNode"],"mappings":"uKA0DA,MAAKA,EAAU,CACb,KAAM,cACN,MAAO,CAAC,QAAQ,EAChB,OAAQ,CAAC,YAAY,EACrB,MAAO,CACL,MAAO,CACL,eAAgB,CAAE,IAAK,GAAI,KAAM,KAAM,KAAM,EAAO,CACtD,CACD,EACD,WAAY,CAAEC,OAAAA,EAAQ,OAAAC,EAAQ,aAAAC,CAAc,EAC5C,QAAS,CACP,YAAa,CACX,KAAK,eAAe,KAAO,EAC5B,EACD,cAAcC,EAAG,CACf,IAAIC,EAAOD,EAAE,OAAO,MAAM,CAAC,EACtBC,IAGL,KAAK,eAAe,KAAOA,EAC5B,EAED,SAASC,EAAK,CACZ,KAAK,OACF,MAAM,EACN,MAAM,EACN,cAAc,eAAeA,CAAG,YAAY,EAC5C,IAAI,EACP,KAAK,MAAM,CACZ,EACD,OAAQ,CACN,KAAK,eAAiB,KAAK,SAAS,KAAM,EAAC,cAC5C,CACF,CACH,EA/EeC,EAAA,CAAA,MAAM,6BAA6B,EAblDC,EAAA,CAAA,KAAA,gFAAA,OAAAC,EAAA,EAAAC,EAAAC,EAAA,KAAA,CACEC,EAA8CC,EAAA,OAAA,UADhDC,EAAAC,EAAA,CAAA,QAC2BC,EAAU,UAAA,CAAA,CAAA,CAAA,EACnCC,EAiDSC,EAAA,CAhDN,QAAS,CAAsB,MAAA,WAAA,EAHpC,WAIaC,EAAA,eAAe,KAJ5B,sBAIaC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,eAAe,KAAIE,GAC3B,aAAaL,EAAK,QAER,iBACT,IA4Be,CA5BfC,EA4BeK,EAAA,CA3Bb,aAAW,UACV,UAAOF,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAGf,GAAUc,EAAA,eAAe,IAAMd,EAAK,YAVvD,QAaUkB,EAAA,CAqBM,CAtBY,KAAAlB,EAAM,SAAAmB,EAAU,UAAAC,EAAW,iBAAAC,KAAgB,CAC7DC,EAqBM,MArBNpB,EAqBM,CApBJU,EAQSW,EAAA,CARA,QAAOF,CAAgB,EAAA,CAd5C,QAAAH,EAec,IAME,CArBhBM,EAAAC,EAgBgBL,eAA2CD,CAAQ,IAAwBL,EAAA,eAAe,wCAhB1G,EAAA,qBAwBoBA,EAAA,eAAe,SADvBY,EAUSH,EAAA,CAjCrB,IAAA,EAyBe,aAAkDT,EAAA,eAAe,IAAG,KAA0BA,EAAA,eAAe,KAAI,QAzBhI,QAAAI,EA+Ba,IAED,CAjCZM,EA+Ba,UAED,IAjCZ,EAAA,sBAAAG,EAAA,GAAA,EAAA,MAAA,EAAA,IAsCcb,EAAA,eAAe,SADvBT,EAME,QAAA,CA3CR,IAAA,EAuCS,IAAKS,EAAc,eAAC,IACrB,MAAM,yBACN,KAAK,YACL,SAAA,EA1CR,EAAA,KAAA,EAAAX,CAAA,GAAAwB,EAAA,GAAA,EAAA,IA6Ce,UACT,IAES,CAFTf,EAESW,EAAA,CAFD,QAAQ,QAAS,QAAOR,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAL,EAAA,SAASG,EAAA,eAAe,GAAG,KA9CjE,QAAAI,EA8CoE,IAE9D,CAhDNM,EA8CoE,gBAE9D,IAhDN,EAAA,IAiDMZ,EAAsCW,EAAA,CAA7B,QAAOZ,EAAK,KAAA,EAAA,CAjD3B,QAAAO,EAiD6B,IAAM,CAjDnCM,EAiD6B,QAAM,IAjDnC,EAAA,oBAAA,EAAA"}
|
||||
@@ -1,95 +0,0 @@
|
||||
import {
|
||||
d as n,
|
||||
k as _,
|
||||
y as m,
|
||||
C as s,
|
||||
G as o,
|
||||
H as e,
|
||||
A as p,
|
||||
B as r,
|
||||
J as u,
|
||||
x as c,
|
||||
a6 as d,
|
||||
U as b,
|
||||
I as f,
|
||||
a7 as h,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { P as x } from "./plus-pxSjkL_w.js";
|
||||
import "./index-Vx7mSx23.js";
|
||||
const j = { class: "text-base h-screen" },
|
||||
y = {
|
||||
class: "sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5",
|
||||
},
|
||||
k = { class: "flex" },
|
||||
w = s("div", null, null, -1),
|
||||
V = {
|
||||
__name: "JobDetail",
|
||||
props: { job: { type: String, required: !0 } },
|
||||
setup(i) {
|
||||
const l = n("$user");
|
||||
return (
|
||||
_({
|
||||
url: "lms.lms.api.get_job_details",
|
||||
params: { job: i.job },
|
||||
cache: ["job"],
|
||||
auto: !0,
|
||||
}),
|
||||
(t, J) => {
|
||||
var a;
|
||||
return (
|
||||
c(),
|
||||
m("div", j, [
|
||||
s("header", y, [
|
||||
o(
|
||||
e(d),
|
||||
{
|
||||
class: "h-7",
|
||||
items: [
|
||||
{
|
||||
label: t.__("Jobs"),
|
||||
route: { name: "Jobs" },
|
||||
},
|
||||
],
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["items"]
|
||||
),
|
||||
s("div", k, [
|
||||
(a = e(l).data) != null && a.name
|
||||
? (c(),
|
||||
p(
|
||||
e(h),
|
||||
{ key: 0, variant: "solid" },
|
||||
{
|
||||
prefix: r(() => [
|
||||
o(e(x), {
|
||||
class: "h-4 w-4",
|
||||
}),
|
||||
]),
|
||||
default: r(() => [
|
||||
b(
|
||||
" " +
|
||||
f(
|
||||
t.__(
|
||||
"New Job"
|
||||
)
|
||||
),
|
||||
1
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
}
|
||||
))
|
||||
: u("", !0),
|
||||
]),
|
||||
]),
|
||||
w,
|
||||
])
|
||||
);
|
||||
}
|
||||
);
|
||||
},
|
||||
};
|
||||
export { V as default };
|
||||
//# sourceMappingURL=JobDetail-NAXvVry4.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"JobDetail-NAXvVry4.js","sources":["../../../../frontend/src/pages/JobDetail.vue"],"sourcesContent":["<template>\n\t<div class=\"text-base h-screen\">\n\t\t<header\n\t\t\tclass=\"sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5\"\n\t\t>\n\t\t\t<Breadcrumbs\n\t\t\t\tclass=\"h-7\"\n\t\t\t\t:items=\"[{ label: __('Jobs'), route: { name: 'Jobs' } }]\"\n\t\t\t/>\n\t\t\t<div class=\"flex\">\n\t\t\t\t<Button v-if=\"user.data?.name\" variant=\"solid\">\n\t\t\t\t\t<template #prefix>\n\t\t\t\t\t\t<Plus class=\"h-4 w-4\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ __('New Job') }}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</header>\n\t\t<div>\n\t\t\t\n\t\t</div>\n\t</div>\n</template>\n<script setup>\nimport { createDocumentResource, Button, Breadcrumbs, createResource } from 'frappe-ui';\nimport { inject } from 'vue';\nimport { Plus } from 'lucide-vue-next';\n\nconst user = inject('$user')\n\nconst props = defineProps({\n\tjob: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n})\nconst job = createResource({\n\turl: \"lms.lms.api.get_job_details\",\n\tparams: {\n\t\tjob: props.job,\n\t},\n\tcache: [\"job\"],\n\tauto: true,\n})\n</script>\n"],"names":["user","inject","createResource","__props"],"mappings":"qcA4BA,MAAMA,EAAOC,EAAO,OAAO,EAQf,OAAAC,EAAe,CAC1B,IAAK,8BACL,OAAQ,CACP,IATYC,EASD,GACX,EACD,MAAO,CAAC,KAAK,EACb,KAAM,EACP,CAAC"}
|
||||
557
lms/public/frontend/assets/JobDetail-c-bT6KGV.js
Normal file
557
lms/public/frontend/assets/JobDetail-c-bT6KGV.js
Normal file
@@ -0,0 +1,557 @@
|
||||
import {
|
||||
aa as T,
|
||||
r as L,
|
||||
ab as U,
|
||||
d as w,
|
||||
k as M,
|
||||
x as u,
|
||||
F as D,
|
||||
G as c,
|
||||
H as s,
|
||||
L as n,
|
||||
y as m,
|
||||
J as i,
|
||||
K as e,
|
||||
a7 as x,
|
||||
U as b,
|
||||
aA as H,
|
||||
D as P,
|
||||
s as Y,
|
||||
M as C,
|
||||
a6 as B,
|
||||
a8 as F,
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { a as J, d as N, c as z } from "./index-6k1S_EjG.js";
|
||||
import { F as q } from "./file-text-w2g11TfY.js";
|
||||
import { M as E } from "./map-pin-yIki2ElO.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const I = J("FlagIcon", [
|
||||
[
|
||||
"path",
|
||||
{
|
||||
d: "M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",
|
||||
key: "i9b6wo",
|
||||
},
|
||||
],
|
||||
["line", { x1: "4", x2: "4", y1: "22", y2: "15", key: "1cm3nv" }],
|
||||
]);
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const R = J("SendHorizontalIcon", [
|
||||
["path", { d: "m3 3 3 9-3 9 19-9Z", key: "1aobqy" }],
|
||||
["path", { d: "M6 12h16", key: "s4cdu5" }],
|
||||
]),
|
||||
G = { class: "flex flex-col gap-4" },
|
||||
K = { key: 0 },
|
||||
O = { class: "" },
|
||||
Z = { key: 1, class: "flex items-center" },
|
||||
Q = { class: "border rounded-md p-2 mr-2" },
|
||||
W = { class: "flex flex-col" },
|
||||
X = { class: "text-sm text-gray-500 mt-1" },
|
||||
ee = {
|
||||
__name: "JobApplicationModal",
|
||||
props: T(
|
||||
{ job: { type: String, required: !0 } },
|
||||
{ modelValue: {}, modelModifiers: {} }
|
||||
),
|
||||
emits: ["update:modelValue"],
|
||||
setup(f) {
|
||||
const r = L(null),
|
||||
h = U(f, "modelValue"),
|
||||
_ = w("$user"),
|
||||
y = f,
|
||||
t = (p) => {
|
||||
if (p.name.split(".").pop().toLowerCase() != "pdf")
|
||||
return "Only PDF file is allowed";
|
||||
},
|
||||
v = M({
|
||||
url: "frappe.client.insert",
|
||||
makeParams(p) {
|
||||
var o, a;
|
||||
return {
|
||||
doc: {
|
||||
doctype: "LMS Job Application",
|
||||
user: (o = _.data) == null ? void 0 : o.name,
|
||||
resume:
|
||||
(a = r.value) == null
|
||||
? void 0
|
||||
: a.file_name,
|
||||
job: y.job,
|
||||
},
|
||||
};
|
||||
},
|
||||
}),
|
||||
j = (p) => {
|
||||
v.submit(
|
||||
{},
|
||||
{
|
||||
validate() {
|
||||
if (!r.value)
|
||||
return "Please upload your resume";
|
||||
},
|
||||
onSuccess() {
|
||||
z({
|
||||
title: "Success",
|
||||
text: "Your application has been submitted",
|
||||
icon: "check",
|
||||
iconClasses:
|
||||
"bg-green-600 text-white rounded-md p-px",
|
||||
});
|
||||
},
|
||||
onError(o) {
|
||||
var a;
|
||||
z({
|
||||
title: "Error",
|
||||
text:
|
||||
((a = o.messages) == null
|
||||
? void 0
|
||||
: a[0]) || o,
|
||||
icon: "x",
|
||||
iconClasses:
|
||||
"bg-red-600 text-white rounded-md p-px",
|
||||
position: "top-center",
|
||||
timeout: 10,
|
||||
});
|
||||
},
|
||||
}
|
||||
);
|
||||
};
|
||||
return (p, o) => (
|
||||
u(),
|
||||
D(
|
||||
e(P),
|
||||
{
|
||||
modelValue: h.value,
|
||||
"onUpdate:modelValue":
|
||||
o[1] || (o[1] = (a) => (h.value = a)),
|
||||
class: "text-base",
|
||||
options: {
|
||||
title: p.__("Apply for this job"),
|
||||
size: "lg",
|
||||
actions: [
|
||||
{
|
||||
label: "Submit",
|
||||
variant: "solid",
|
||||
onClick: (a) => {
|
||||
j();
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"body-content": c(() => [
|
||||
s("div", G, [
|
||||
s(
|
||||
"p",
|
||||
null,
|
||||
n(
|
||||
p.__(
|
||||
"Submit your resume to proceed with your application for this position. Upon submission, it will be shared with the job poster."
|
||||
)
|
||||
),
|
||||
1
|
||||
),
|
||||
r.value
|
||||
? (u(),
|
||||
m("div", Z, [
|
||||
s("div", Q, [
|
||||
i(e(q), {
|
||||
class: "h-5 w-5 stroke-1.5 text-gray-700",
|
||||
}),
|
||||
]),
|
||||
s("div", W, [
|
||||
s(
|
||||
"span",
|
||||
null,
|
||||
n(r.value.file_name),
|
||||
1
|
||||
),
|
||||
s(
|
||||
"span",
|
||||
X,
|
||||
n(e(N)(r.value.file_size)),
|
||||
1
|
||||
),
|
||||
]),
|
||||
]))
|
||||
: (u(),
|
||||
m("div", K, [
|
||||
i(
|
||||
e(H),
|
||||
{
|
||||
fileTypes: [".pdf"],
|
||||
validateFile: t,
|
||||
onSuccess:
|
||||
o[0] ||
|
||||
(o[0] = (a) => {
|
||||
r.value = a;
|
||||
}),
|
||||
},
|
||||
{
|
||||
default: c(
|
||||
({
|
||||
file: a,
|
||||
progress: l,
|
||||
uploading: d,
|
||||
openFileSelector: g,
|
||||
}) => [
|
||||
s("div", O, [
|
||||
i(
|
||||
e(x),
|
||||
{
|
||||
onClick:
|
||||
g,
|
||||
loading:
|
||||
d,
|
||||
},
|
||||
{
|
||||
default:
|
||||
c(
|
||||
() => [
|
||||
b(
|
||||
n(
|
||||
d
|
||||
? `Uploading ${l}%`
|
||||
: "Upload your resume"
|
||||
),
|
||||
1
|
||||
),
|
||||
]
|
||||
),
|
||||
_: 2,
|
||||
},
|
||||
1032,
|
||||
[
|
||||
"onClick",
|
||||
"loading",
|
||||
]
|
||||
),
|
||||
]),
|
||||
]
|
||||
),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
["fileTypes"]
|
||||
),
|
||||
])),
|
||||
]),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
["modelValue", "options"]
|
||||
)
|
||||
);
|
||||
},
|
||||
},
|
||||
se = { class: "text-base h-screen" },
|
||||
te = {
|
||||
class: "sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5",
|
||||
},
|
||||
oe = { key: 0, class: "flex" },
|
||||
ae = { key: 1 },
|
||||
le = { key: 0 },
|
||||
ie = { class: "p-5 sm:p-5" },
|
||||
ne = { class: "flex mb-4" },
|
||||
re = ["src"],
|
||||
de = { class: "text-2xl font-semibold mb-2" },
|
||||
ce = { class: "font-medium" },
|
||||
pe = { class: "font-medium" },
|
||||
ue = { class: "flex items-center mt-2" },
|
||||
me = ["innerHTML"],
|
||||
ye = {
|
||||
__name: "JobDetail",
|
||||
props: { job: { type: String, required: !0 } },
|
||||
setup(f) {
|
||||
var o, a;
|
||||
const r = w("$user"),
|
||||
h = w("$dayjs"),
|
||||
_ = L(!1),
|
||||
y = f,
|
||||
t = M({
|
||||
url: "lms.lms.api.get_job_details",
|
||||
params: { job: y.job },
|
||||
cache: ["job", y.job],
|
||||
auto: !0,
|
||||
}),
|
||||
v = M({
|
||||
url: "frappe.client.get_list",
|
||||
params: {
|
||||
doctype: "LMS Job Application",
|
||||
filters: {
|
||||
job: (o = t.data) == null ? void 0 : o.name,
|
||||
user: (a = r.data) == null ? void 0 : a.name,
|
||||
},
|
||||
},
|
||||
});
|
||||
Y(() => {
|
||||
var l;
|
||||
(l = r.data) != null && l.name && v.submit();
|
||||
});
|
||||
const j = () => {
|
||||
_.value = !0;
|
||||
},
|
||||
p = (l) => {
|
||||
window.location.href = `/login?redirect-to=/job-openings/${l}`;
|
||||
};
|
||||
return (l, d) => {
|
||||
var g, $, V, S;
|
||||
return (
|
||||
u(),
|
||||
m("div", se, [
|
||||
s("header", te, [
|
||||
i(
|
||||
e(B),
|
||||
{
|
||||
class: "h-7",
|
||||
items: [
|
||||
{
|
||||
label: l.__("Jobs"),
|
||||
route: { name: "Jobs" },
|
||||
},
|
||||
{
|
||||
label:
|
||||
(g = e(t).data) == null
|
||||
? void 0
|
||||
: g.job_title,
|
||||
route: {
|
||||
name: "JobDetail",
|
||||
params: {
|
||||
job:
|
||||
($ = e(t).data) == null
|
||||
? void 0
|
||||
: $.name,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["items"]
|
||||
),
|
||||
(V = e(r).data) != null && V.name
|
||||
? (u(),
|
||||
m("div", oe, [
|
||||
i(
|
||||
e(x),
|
||||
{ class: "mr-2" },
|
||||
{
|
||||
prefix: c(() => [
|
||||
i(e(I), {
|
||||
class: "h-4 w-4",
|
||||
}),
|
||||
]),
|
||||
default: c(() => [
|
||||
b(
|
||||
" " + n(l.__("Report")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
}
|
||||
),
|
||||
(S = e(v).data) != null && S.length
|
||||
? C("", !0)
|
||||
: (u(),
|
||||
D(
|
||||
e(x),
|
||||
{
|
||||
key: 0,
|
||||
variant: "solid",
|
||||
onClick:
|
||||
d[0] ||
|
||||
(d[0] = (k) => j()),
|
||||
},
|
||||
{
|
||||
prefix: c(() => [
|
||||
i(e(R), {
|
||||
class: "h-4 w-4",
|
||||
}),
|
||||
]),
|
||||
default: c(() => [
|
||||
b(
|
||||
" " +
|
||||
n(
|
||||
l.__(
|
||||
"Apply"
|
||||
)
|
||||
),
|
||||
1
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
}
|
||||
)),
|
||||
]))
|
||||
: (u(),
|
||||
m("div", ae, [
|
||||
i(
|
||||
e(x),
|
||||
{
|
||||
onClick:
|
||||
d[1] ||
|
||||
(d[1] = (k) => {
|
||||
var A;
|
||||
return p(
|
||||
(A = e(t).data) ==
|
||||
null
|
||||
? void 0
|
||||
: A.name
|
||||
);
|
||||
}),
|
||||
},
|
||||
{
|
||||
default: c(() => [
|
||||
s(
|
||||
"span",
|
||||
null,
|
||||
n(
|
||||
l.__(
|
||||
"Login to apply"
|
||||
)
|
||||
),
|
||||
1
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
}
|
||||
),
|
||||
])),
|
||||
]),
|
||||
e(t).data
|
||||
? (u(),
|
||||
m("div", le, [
|
||||
s("div", ie, [
|
||||
s("div", ne, [
|
||||
s(
|
||||
"img",
|
||||
{
|
||||
src: e(t).data.company_logo,
|
||||
class: "w-16 h-16 rounded-lg object-contain mr-4",
|
||||
},
|
||||
null,
|
||||
8,
|
||||
re
|
||||
),
|
||||
s("div", null, [
|
||||
s(
|
||||
"div",
|
||||
de,
|
||||
n(e(t).data.job_title),
|
||||
1
|
||||
),
|
||||
s("div", null, [
|
||||
b(
|
||||
n(l.__("posted by")) +
|
||||
" ",
|
||||
1
|
||||
),
|
||||
s(
|
||||
"span",
|
||||
ce,
|
||||
n(
|
||||
e(t).data
|
||||
.company_name
|
||||
),
|
||||
1
|
||||
),
|
||||
b(
|
||||
" " +
|
||||
n(l.__("on")) +
|
||||
" ",
|
||||
1
|
||||
),
|
||||
s(
|
||||
"span",
|
||||
pe,
|
||||
n(
|
||||
e(h)(
|
||||
e(t).data
|
||||
.creation
|
||||
).format(
|
||||
"DD MMM YYYY"
|
||||
)
|
||||
),
|
||||
1
|
||||
),
|
||||
]),
|
||||
s("div", ue, [
|
||||
i(
|
||||
e(F),
|
||||
{
|
||||
label: e(t).data
|
||||
.type,
|
||||
theme: "green",
|
||||
size: "lg",
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["label"]
|
||||
),
|
||||
i(
|
||||
e(F),
|
||||
{
|
||||
label: e(t).data
|
||||
.location,
|
||||
theme: "gray",
|
||||
size: "lg",
|
||||
class: "ml-4",
|
||||
},
|
||||
{
|
||||
prefix: c(() => [
|
||||
i(e(E), {
|
||||
class: "h-4 w-4 stroke-1.5",
|
||||
}),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
["label"]
|
||||
),
|
||||
]),
|
||||
]),
|
||||
]),
|
||||
s(
|
||||
"p",
|
||||
{
|
||||
innerHTML:
|
||||
e(t).data.description,
|
||||
class: "ProseMirror prose prose-table:table-fixed prose-td:p-2 prose-th:p-2 prose-td:border prose-th:border prose-td:border-gray-300 prose-th:border-gray-300 prose-td:relative prose-th:relative prose-th:bg-gray-100 prose-sm max-w-none !whitespace-normal mt-6",
|
||||
},
|
||||
null,
|
||||
8,
|
||||
me
|
||||
),
|
||||
]),
|
||||
i(
|
||||
ee,
|
||||
{
|
||||
modelValue: _.value,
|
||||
"onUpdate:modelValue":
|
||||
d[2] ||
|
||||
(d[2] = (k) => (_.value = k)),
|
||||
job: e(t).data.name,
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue", "job"]
|
||||
),
|
||||
]))
|
||||
: C("", !0),
|
||||
])
|
||||
);
|
||||
};
|
||||
},
|
||||
};
|
||||
export { ye as default };
|
||||
//# sourceMappingURL=JobDetail-c-bT6KGV.js.map
|
||||
1
lms/public/frontend/assets/JobDetail-c-bT6KGV.js.map
Normal file
1
lms/public/frontend/assets/JobDetail-c-bT6KGV.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"Jobs-PZPyKz-0.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/map-pin.js","../../../../frontend/src/components/JobCard.vue","../../../../frontend/src/pages/Jobs.vue"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst MapPin = createLucideIcon(\"MapPinIcon\", [\n [\"path\", { d: \"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z\", key: \"2oe9fu\" }],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }]\n]);\n\nexport { MapPin as default };\n//# sourceMappingURL=map-pin.js.map\n","<template>\n\t<div class=\"flex shadow rounded-md p-4 h-full\">\n\t\t<img\n\t\t\t:src=\"job.company_logo\"\n\t\t\tclass=\"w-12 h-12 rounded-lg object-contain mr-4\"\n\t\t/>\n\t\t<div>\n\t\t\t<div class=\"text-xl font-semibold mb-2\">\n\t\t\t\t{{ job.job_title }}\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t{{ __(\"posted by\") }}\n\t\t\t\t<span class=\"font-medium\">\n\t\t\t\t\t{{ job.company_name }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"flex items-center my-4\">\n\t\t\t\t<Badge :label=\"job.type\" theme=\"green\" size=\"lg\" class=\"mr-4\"/>\n\t\t\t\t<Badge :label=\"job.location\" theme=\"gray\" size=\"lg\">\n\t\t\t\t\t<template #prefix>\n\t\t\t\t\t\t<MapPin class=\"h-4 w-4 stroke-1.5\" />\n\t\t\t\t\t</template>\n\t\t\t\t</Badge>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t{{ __(\"posted on\") }}\n\t\t\t\t<span class=\"font-medium\">\n\t\t\t\t\t{{ dayjs(job.creation).format('DD MMM YYYY') }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<!-- <div class=\"flex flex-col shadow rounded-md p-4 h-full\">\n\t\t<div class=\"flex justify-between\">\n\t\t\t<div>\n\t\t\t\t<div class=\"text-xl font-semibold mb-2\">\n\t\t\t\t\t{{ job.job_title }}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t{{ __(\"posted by\") }}\n\t\t\t\t\t<span class=\"font-medium\">\n\t\t\t\t\t\t{{ job.company_name }}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<img\n\t\t\t\t:src=\"job.company_logo\"\n\t\t\t\tclass=\"w-12 h-12 rounded-lg object-contain\"\n\t\t\t/>\n\t\t</div>\n\t\t<div class=\"flex justify-between mt-8\">\n\t\t\t<div class=\"flex items-center\">\n\t\t\t\t<Badge :label=\"job.type\" theme=\"green\" size=\"lg\" class=\"mr-4\"/>\n\t\t\t\t<Badge :label=\"job.location\" theme=\"gray\" size=\"lg\">\n\t\t\t\t\t<template #prefix>\n\t\t\t\t\t\t<MapPin class=\"h-4 w-4 stroke-1.5\" />\n\t\t\t\t\t</template>\n\t\t\t\t</Badge>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<span class=\"font-medium\">\n\t\t\t\t\t{{ dayjs(job.creation).format('DD MMM YYYY') }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t</div> -->\n</template>\n<script setup>\nimport { MapPin } from 'lucide-vue-next'\nimport { Badge } from 'frappe-ui'\nimport { inject } from 'vue'\n\nconst dayjs = inject('$dayjs')\nconst props = defineProps({\n\tjob: {\n\t\ttype: Object,\n\t\tdefault: null,\n\t},\n})\n</script>\n","<template>\n\t<div class=\"h-screen text-base\">\n\t\t<header\n\t\t\tclass=\"sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5\"\n\t\t>\n\t\t\t<Breadcrumbs\n\t\t\t\tclass=\"h-7\"\n\t\t\t\t:items=\"[{ label: __('Jobs'), route: { name: 'Jobs' } }]\"\n\t\t\t/>\n\t\t\t<div class=\"flex\">\n\t\t\t\t<Button v-if=\"user.data?.name\" variant=\"solid\">\n\t\t\t\t\t<template #prefix>\n\t\t\t\t\t\t<Plus class=\"h-4 w-4\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ __('New Job') }}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</header>\n\t\t<div v-if=\"jobs.data\">\n\t\t\t<div class=\"grid grid-cols-2 gap-5 p-5\">\n\t\t\t\t<div v-if=\"jobs.data.length\" v-for=\"job in jobs.data\">\n\t\t\t\t\t<router-link\n\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\tname: 'JobDetail',\n\t\t\t\t\t\t\tparams: { job: job.name },\n\t\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<JobCard :job=\"job\" />\n\t\t\t\t\t</router-link>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script setup>\nimport { Button, Breadcrumbs, createResource } from 'frappe-ui'\nimport { Plus } from 'lucide-vue-next'\nimport { inject } from 'vue'\nimport JobCard from '@/components/JobCard.vue'\n\nconst user = inject('$user')\n\nconst jobs = createResource({\n\turl: 'lms.lms.api.get_job_opportunities',\n\tcache: ['jobs'],\n\tauto: true,\n})\n</script>\n"],"names":["MapPin","createLucideIcon","dayjs","inject","user","jobs","createResource"],"mappings":"qPAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASA,MAAMA,EAASC,EAAiB,aAAc,CAC5C,CAAC,OAAQ,CAAE,EAAG,iDAAkD,IAAK,QAAQ,CAAE,EAC/E,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,SAAU,CAC1D,CAAC,wPC4DD,MAAMC,EAAQC,EAAO,QAAQ,wyBChC7B,MAAMC,EAAOD,EAAO,OAAO,EAErBE,EAAOC,EAAe,CAC3B,IAAK,oCACL,MAAO,CAAC,MAAM,EACd,KAAM,EACP,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -1,54 +1,40 @@
|
||||
import {
|
||||
d as p,
|
||||
x as n,
|
||||
d as f,
|
||||
x as a,
|
||||
y as c,
|
||||
C as e,
|
||||
I as l,
|
||||
U as _,
|
||||
G as a,
|
||||
H as s,
|
||||
H as e,
|
||||
L as n,
|
||||
U as u,
|
||||
J as l,
|
||||
K as s,
|
||||
a8 as h,
|
||||
B as r,
|
||||
G as r,
|
||||
k as y,
|
||||
A as j,
|
||||
J as m,
|
||||
F as p,
|
||||
M as _,
|
||||
Q as g,
|
||||
R as x,
|
||||
a6 as k,
|
||||
a7 as v,
|
||||
R as v,
|
||||
a6 as x,
|
||||
a7 as k,
|
||||
X as $,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { a as w } from "./index-Vx7mSx23.js";
|
||||
import { P as J } from "./plus-pxSjkL_w.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const M = w("MapPinIcon", [
|
||||
[
|
||||
"path",
|
||||
{
|
||||
d: "M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z",
|
||||
key: "2oe9fu",
|
||||
},
|
||||
],
|
||||
["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }],
|
||||
]),
|
||||
B = { class: "flex shadow rounded-md p-4 h-full" },
|
||||
C = ["src"],
|
||||
N = { class: "text-xl font-semibold mb-2" },
|
||||
D = { class: "font-medium" },
|
||||
P = { class: "flex items-center my-4" },
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { M as w } from "./map-pin-yIki2ElO.js";
|
||||
import { P as J } from "./plus-0JOmes86.js";
|
||||
import "./index-6k1S_EjG.js";
|
||||
const M = { class: "flex shadow rounded-md p-4 h-full" },
|
||||
N = ["src"],
|
||||
B = { class: "text-xl font-semibold mb-2" },
|
||||
C = { class: "font-medium" },
|
||||
D = { class: "flex items-center my-4" },
|
||||
V = { class: "font-medium" },
|
||||
Y = {
|
||||
__name: "JobCard",
|
||||
props: { job: { type: Object, default: null } },
|
||||
setup(t) {
|
||||
const i = p("$dayjs");
|
||||
const i = f("$dayjs");
|
||||
return (o, d) => (
|
||||
n(),
|
||||
c("div", B, [
|
||||
a(),
|
||||
c("div", M, [
|
||||
e(
|
||||
"img",
|
||||
{
|
||||
@@ -57,16 +43,16 @@ import { P as J } from "./plus-pxSjkL_w.js";
|
||||
},
|
||||
null,
|
||||
8,
|
||||
C
|
||||
N
|
||||
),
|
||||
e("div", null, [
|
||||
e("div", N, l(t.job.job_title), 1),
|
||||
e("div", B, n(t.job.job_title), 1),
|
||||
e("div", null, [
|
||||
_(l(o.__("posted by")) + " ", 1),
|
||||
e("span", D, l(t.job.company_name), 1),
|
||||
u(n(o.__("posted by")) + " ", 1),
|
||||
e("span", C, n(t.job.company_name), 1),
|
||||
]),
|
||||
e("div", P, [
|
||||
a(
|
||||
e("div", D, [
|
||||
l(
|
||||
s(h),
|
||||
{
|
||||
label: t.job.type,
|
||||
@@ -78,7 +64,7 @@ import { P as J } from "./plus-pxSjkL_w.js";
|
||||
8,
|
||||
["label"]
|
||||
),
|
||||
a(
|
||||
l(
|
||||
s(h),
|
||||
{
|
||||
label: t.job.location,
|
||||
@@ -87,7 +73,7 @@ import { P as J } from "./plus-pxSjkL_w.js";
|
||||
},
|
||||
{
|
||||
prefix: r(() => [
|
||||
a(s(M), {
|
||||
l(s(w), {
|
||||
class: "h-4 w-4 stroke-1.5",
|
||||
}),
|
||||
]),
|
||||
@@ -98,11 +84,11 @@ import { P as J } from "./plus-pxSjkL_w.js";
|
||||
),
|
||||
]),
|
||||
e("div", null, [
|
||||
_(l(o.__("posted on")) + " ", 1),
|
||||
u(n(o.__("posted on")) + " ", 1),
|
||||
e(
|
||||
"span",
|
||||
V,
|
||||
l(s(i)(t.job.creation).format("DD MMM YYYY")),
|
||||
n(s(i)(t.job.creation).format("DD MMM YYYY")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
@@ -112,30 +98,30 @@ import { P as J } from "./plus-pxSjkL_w.js";
|
||||
},
|
||||
},
|
||||
z = { class: "h-screen text-base" },
|
||||
I = {
|
||||
P = {
|
||||
class: "sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5",
|
||||
},
|
||||
L = { class: "flex" },
|
||||
R = { key: 0 },
|
||||
q = { class: "grid grid-cols-2 gap-5 p-5" },
|
||||
H = {
|
||||
F = { class: "flex" },
|
||||
L = { key: 0 },
|
||||
R = { class: "grid grid-cols-2 gap-5 p-5" },
|
||||
Q = {
|
||||
__name: "Jobs",
|
||||
setup(t) {
|
||||
const i = p("$user"),
|
||||
const i = f("$user"),
|
||||
o = y({
|
||||
url: "lms.lms.api.get_job_opportunities",
|
||||
cache: ["jobs"],
|
||||
auto: !0,
|
||||
});
|
||||
return (d, A) => {
|
||||
var u;
|
||||
const f = $("router-link");
|
||||
return (d, E) => {
|
||||
var b;
|
||||
const j = $("router-link");
|
||||
return (
|
||||
n(),
|
||||
a(),
|
||||
c("div", z, [
|
||||
e("header", I, [
|
||||
a(
|
||||
s(k),
|
||||
e("header", P, [
|
||||
l(
|
||||
s(x),
|
||||
{
|
||||
class: "h-7",
|
||||
items: [
|
||||
@@ -149,63 +135,65 @@ import { P as J } from "./plus-pxSjkL_w.js";
|
||||
8,
|
||||
["items"]
|
||||
),
|
||||
e("div", L, [
|
||||
(u = s(i).data) != null && u.name
|
||||
? (n(),
|
||||
j(
|
||||
s(v),
|
||||
e("div", F, [
|
||||
(b = s(i).data) != null && b.name
|
||||
? (a(),
|
||||
p(
|
||||
s(k),
|
||||
{ key: 0, variant: "solid" },
|
||||
{
|
||||
prefix: r(() => [
|
||||
a(s(J), {
|
||||
l(s(J), {
|
||||
class: "h-4 w-4",
|
||||
}),
|
||||
]),
|
||||
default: r(() => [
|
||||
_(
|
||||
u(
|
||||
" " +
|
||||
l(d.__("New Job")),
|
||||
n(d.__("New Job")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
}
|
||||
))
|
||||
: m("", !0),
|
||||
: _("", !0),
|
||||
]),
|
||||
]),
|
||||
s(o).data
|
||||
? (n(),
|
||||
c("div", R, [
|
||||
e("div", q, [
|
||||
? (a(),
|
||||
c("div", L, [
|
||||
e("div", R, [
|
||||
s(o).data.length
|
||||
? (n(!0),
|
||||
? (a(!0),
|
||||
c(
|
||||
g,
|
||||
{ key: 0 },
|
||||
x(
|
||||
v(
|
||||
s(o).data,
|
||||
(b) => (
|
||||
n(),
|
||||
(m) => (
|
||||
a(),
|
||||
c("div", null, [
|
||||
a(
|
||||
f,
|
||||
(a(),
|
||||
p(
|
||||
j,
|
||||
{
|
||||
to: {
|
||||
name: "JobDetail",
|
||||
params: {
|
||||
job: b.name,
|
||||
job: m.name,
|
||||
},
|
||||
},
|
||||
key: m.name,
|
||||
},
|
||||
{
|
||||
default:
|
||||
r(
|
||||
() => [
|
||||
a(
|
||||
l(
|
||||
Y,
|
||||
{
|
||||
job: b,
|
||||
job: m,
|
||||
},
|
||||
null,
|
||||
8,
|
||||
@@ -219,20 +207,20 @@ import { P as J } from "./plus-pxSjkL_w.js";
|
||||
},
|
||||
1032,
|
||||
["to"]
|
||||
),
|
||||
)),
|
||||
])
|
||||
)
|
||||
),
|
||||
256
|
||||
))
|
||||
: m("", !0),
|
||||
: _("", !0),
|
||||
]),
|
||||
]))
|
||||
: m("", !0),
|
||||
: _("", !0),
|
||||
])
|
||||
);
|
||||
};
|
||||
},
|
||||
};
|
||||
export { H as default };
|
||||
//# sourceMappingURL=Jobs-PZPyKz-0.js.map
|
||||
export { Q as default };
|
||||
//# sourceMappingURL=Jobs-SThJmQa_.js.map
|
||||
1
lms/public/frontend/assets/Jobs-SThJmQa_.js.map
Normal file
1
lms/public/frontend/assets/Jobs-SThJmQa_.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Jobs-SThJmQa_.js","sources":["../../../../frontend/src/components/JobCard.vue","../../../../frontend/src/pages/Jobs.vue"],"sourcesContent":["<template>\n\t<div class=\"flex shadow rounded-md p-4 h-full\">\n\t\t<img\n\t\t\t:src=\"job.company_logo\"\n\t\t\tclass=\"w-12 h-12 rounded-lg object-contain mr-4\"\n\t\t/>\n\t\t<div>\n\t\t\t<div class=\"text-xl font-semibold mb-2\">\n\t\t\t\t{{ job.job_title }}\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t{{ __('posted by') }}\n\t\t\t\t<span class=\"font-medium\">\n\t\t\t\t\t{{ job.company_name }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"flex items-center my-4\">\n\t\t\t\t<Badge :label=\"job.type\" theme=\"green\" size=\"lg\" class=\"mr-4\" />\n\t\t\t\t<Badge :label=\"job.location\" theme=\"gray\" size=\"lg\">\n\t\t\t\t\t<template #prefix>\n\t\t\t\t\t\t<MapPin class=\"h-4 w-4 stroke-1.5\" />\n\t\t\t\t\t</template>\n\t\t\t\t</Badge>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t{{ __('posted on') }}\n\t\t\t\t<span class=\"font-medium\">\n\t\t\t\t\t{{ dayjs(job.creation).format('DD MMM YYYY') }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<!-- <div class=\"flex flex-col shadow rounded-md p-4 h-full\">\n\t\t<div class=\"flex justify-between\">\n\t\t\t<div>\n\t\t\t\t<div class=\"text-xl font-semibold mb-2\">\n\t\t\t\t\t{{ job.job_title }}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t{{ __(\"posted by\") }}\n\t\t\t\t\t<span class=\"font-medium\">\n\t\t\t\t\t\t{{ job.company_name }}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<img\n\t\t\t\t:src=\"job.company_logo\"\n\t\t\t\tclass=\"w-12 h-12 rounded-lg object-contain\"\n\t\t\t/>\n\t\t</div>\n\t\t<div class=\"flex justify-between mt-8\">\n\t\t\t<div class=\"flex items-center\">\n\t\t\t\t<Badge :label=\"job.type\" theme=\"green\" size=\"lg\" class=\"mr-4\"/>\n\t\t\t\t<Badge :label=\"job.location\" theme=\"gray\" size=\"lg\">\n\t\t\t\t\t<template #prefix>\n\t\t\t\t\t\t<MapPin class=\"h-4 w-4 stroke-1.5\" />\n\t\t\t\t\t</template>\n\t\t\t\t</Badge>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<span class=\"font-medium\">\n\t\t\t\t\t{{ dayjs(job.creation).format('DD MMM YYYY') }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t</div> -->\n</template>\n<script setup>\nimport { MapPin } from 'lucide-vue-next'\nimport { Badge } from 'frappe-ui'\nimport { inject } from 'vue'\n\nconst dayjs = inject('$dayjs')\nconst props = defineProps({\n\tjob: {\n\t\ttype: Object,\n\t\tdefault: null,\n\t},\n})\n</script>\n","<template>\n\t<div class=\"h-screen text-base\">\n\t\t<header\n\t\t\tclass=\"sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5\"\n\t\t>\n\t\t\t<Breadcrumbs\n\t\t\t\tclass=\"h-7\"\n\t\t\t\t:items=\"[{ label: __('Jobs'), route: { name: 'Jobs' } }]\"\n\t\t\t/>\n\t\t\t<div class=\"flex\">\n\t\t\t\t<Button v-if=\"user.data?.name\" variant=\"solid\">\n\t\t\t\t\t<template #prefix>\n\t\t\t\t\t\t<Plus class=\"h-4 w-4\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ __('New Job') }}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</header>\n\t\t<div v-if=\"jobs.data\">\n\t\t\t<div class=\"grid grid-cols-2 gap-5 p-5\">\n\t\t\t\t<div v-if=\"jobs.data.length\" v-for=\"job in jobs.data\">\n\t\t\t\t\t<router-link\n\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\tname: 'JobDetail',\n\t\t\t\t\t\t\tparams: { job: job.name },\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:key=\"job.name\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<JobCard :job=\"job\" />\n\t\t\t\t\t</router-link>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script setup>\nimport { Button, Breadcrumbs, createResource } from 'frappe-ui'\nimport { Plus } from 'lucide-vue-next'\nimport { inject } from 'vue'\nimport JobCard from '@/components/JobCard.vue'\n\nconst user = inject('$user')\n\nconst jobs = createResource({\n\turl: 'lms.lms.api.get_job_opportunities',\n\tcache: ['jobs'],\n\tauto: true,\n})\n</script>\n"],"names":["dayjs","inject","user","jobs","createResource"],"mappings":"+gBAwEA,MAAMA,EAAQC,EAAO,QAAQ,wyBC/B7B,MAAMC,EAAOD,EAAO,OAAO,EAErBE,EAAOC,EAAe,CAC3B,IAAK,oCACL,MAAO,CAAC,MAAM,EACd,KAAM,EACP,CAAC"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,40 +1,40 @@
|
||||
import {
|
||||
r as O,
|
||||
aw as X,
|
||||
ax as Q,
|
||||
r as B,
|
||||
aD as J,
|
||||
aE as X,
|
||||
j as x,
|
||||
w as U,
|
||||
n as Z,
|
||||
n as Q,
|
||||
x as n,
|
||||
A as F,
|
||||
B as c,
|
||||
G as w,
|
||||
H as a,
|
||||
ay as K,
|
||||
M as g,
|
||||
az as C,
|
||||
aA as V,
|
||||
C as v,
|
||||
F as T,
|
||||
F as A,
|
||||
G as c,
|
||||
J as w,
|
||||
K as a,
|
||||
aF as Z,
|
||||
O as g,
|
||||
aG as C,
|
||||
aH as V,
|
||||
H as v,
|
||||
I,
|
||||
y as p,
|
||||
I as N,
|
||||
aB as M,
|
||||
aC as W,
|
||||
aD as Y,
|
||||
L as N,
|
||||
aI as F,
|
||||
aJ as W,
|
||||
aK as Y,
|
||||
Q as R,
|
||||
R as E,
|
||||
J as q,
|
||||
aE as ee,
|
||||
M as q,
|
||||
aL as ee,
|
||||
U as te,
|
||||
aF as G,
|
||||
aG as ae,
|
||||
aH as H,
|
||||
aM as G,
|
||||
aN as ae,
|
||||
aO as H,
|
||||
k as se,
|
||||
aI as le,
|
||||
aP as le,
|
||||
a7 as re,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { a as oe, C as ue } from "./index-Vx7mSx23.js";
|
||||
import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
import { a as oe, C as ue } from "./index-6k1S_EjG.js";
|
||||
import { P as ne } from "./plus-0JOmes86.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
@@ -72,23 +72,23 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
filterable: { type: Boolean, default: !0 },
|
||||
},
|
||||
emits: ["update:modelValue", "update:query", "change"],
|
||||
setup(j, { expose: A, emit: f }) {
|
||||
setup(j, { expose: D, emit: f }) {
|
||||
const r = j,
|
||||
u = f,
|
||||
i = O(""),
|
||||
h = O(!1),
|
||||
S = O(null),
|
||||
k = X(),
|
||||
z = Q(),
|
||||
P = x(() => "value" in k),
|
||||
i = B(""),
|
||||
h = B(!1),
|
||||
S = B(null),
|
||||
k = J(),
|
||||
z = X(),
|
||||
L = x(() => "value" in k),
|
||||
_ = x({
|
||||
get() {
|
||||
return P.value ? k.value : r.modelValue;
|
||||
return L.value ? k.value : r.modelValue;
|
||||
},
|
||||
set(t) {
|
||||
(i.value = ""),
|
||||
t && (h.value = !1),
|
||||
u(P.value ? "change" : "update:modelValue", t);
|
||||
u(L.value ? "change" : "update:modelValue", t);
|
||||
},
|
||||
});
|
||||
function e() {
|
||||
@@ -136,12 +136,12 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
}),
|
||||
U(h, (t) => {
|
||||
t &&
|
||||
Z(() => {
|
||||
Q(() => {
|
||||
S.value.el.focus();
|
||||
});
|
||||
});
|
||||
const $ = x(() => (r.disabled ? "text-gray-600" : "text-gray-800")),
|
||||
J = x(() => {
|
||||
K = x(() => {
|
||||
let t = {
|
||||
sm: "text-base rounded h-7",
|
||||
md: "text-base rounded h-8",
|
||||
@@ -169,10 +169,10 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
return [t, s, o, $.value, "transition-colors w-full"];
|
||||
});
|
||||
return (
|
||||
A({ query: i }),
|
||||
D({ query: i }),
|
||||
(t, s) => (
|
||||
n(),
|
||||
F(
|
||||
A(
|
||||
a(ae),
|
||||
{
|
||||
modelValue: _.value,
|
||||
@@ -183,7 +183,7 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
{
|
||||
default: c(({ open: l }) => [
|
||||
w(
|
||||
a(K),
|
||||
a(Z),
|
||||
{
|
||||
class: "w-full",
|
||||
show: h.value,
|
||||
@@ -193,14 +193,14 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
},
|
||||
{
|
||||
target: c(
|
||||
({ open: o, togglePopover: B }) => [
|
||||
({ open: o, togglePopover: P }) => [
|
||||
g(
|
||||
t.$slots,
|
||||
"target",
|
||||
C(
|
||||
V({
|
||||
open: o,
|
||||
togglePopover: B,
|
||||
togglePopover: P,
|
||||
})
|
||||
),
|
||||
() => [
|
||||
@@ -208,13 +208,13 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
v(
|
||||
"button",
|
||||
{
|
||||
class: T([
|
||||
class: I([
|
||||
"flex w-full items-center justify-between focus:outline-none",
|
||||
J.value,
|
||||
K.value,
|
||||
]),
|
||||
onClick:
|
||||
() =>
|
||||
B(),
|
||||
P(),
|
||||
},
|
||||
[
|
||||
v(
|
||||
@@ -262,9 +262,9 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
]
|
||||
),
|
||||
body: c(({ isOpen: o }) => {
|
||||
var B;
|
||||
var P;
|
||||
return [
|
||||
M(
|
||||
F(
|
||||
v(
|
||||
"div",
|
||||
null,
|
||||
@@ -346,7 +346,7 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
(
|
||||
b
|
||||
) =>
|
||||
M(
|
||||
F(
|
||||
(n(),
|
||||
p(
|
||||
"div",
|
||||
@@ -379,35 +379,35 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
E(
|
||||
b.items,
|
||||
(
|
||||
L
|
||||
O
|
||||
) => (
|
||||
n(),
|
||||
F(
|
||||
A(
|
||||
a(
|
||||
ee
|
||||
),
|
||||
{
|
||||
as: "template",
|
||||
key: L.value,
|
||||
value: L,
|
||||
key: O.value,
|
||||
value: O,
|
||||
},
|
||||
{
|
||||
default:
|
||||
c(
|
||||
({
|
||||
active: D,
|
||||
active: T,
|
||||
selected:
|
||||
I,
|
||||
M,
|
||||
}) => [
|
||||
v(
|
||||
"li",
|
||||
{
|
||||
class: T(
|
||||
class: I(
|
||||
[
|
||||
"flex items-center rounded px-2.5 py-1.5 text-base",
|
||||
{
|
||||
"bg-gray-100":
|
||||
D,
|
||||
T,
|
||||
},
|
||||
]
|
||||
),
|
||||
@@ -419,10 +419,10 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
C(
|
||||
V(
|
||||
{
|
||||
active: D,
|
||||
active: T,
|
||||
selected:
|
||||
I,
|
||||
option: L,
|
||||
M,
|
||||
option: O,
|
||||
}
|
||||
)
|
||||
)
|
||||
@@ -433,17 +433,17 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
C(
|
||||
V(
|
||||
{
|
||||
active: D,
|
||||
active: T,
|
||||
selected:
|
||||
I,
|
||||
option: L,
|
||||
M,
|
||||
option: O,
|
||||
}
|
||||
)
|
||||
),
|
||||
() => [
|
||||
te(
|
||||
N(
|
||||
L.label
|
||||
O.label
|
||||
),
|
||||
1
|
||||
),
|
||||
@@ -512,11 +512,11 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
V(
|
||||
{
|
||||
value:
|
||||
(B =
|
||||
(P =
|
||||
S.value) ==
|
||||
null
|
||||
? void 0
|
||||
: B
|
||||
: P
|
||||
.el
|
||||
._value,
|
||||
close: e,
|
||||
@@ -559,10 +559,10 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
modelValue: { type: String, default: "" },
|
||||
},
|
||||
emits: ["update:modelValue", "change"],
|
||||
setup(j, { emit: A }) {
|
||||
setup(j, { emit: D }) {
|
||||
const f = j,
|
||||
r = A,
|
||||
u = X(),
|
||||
r = D,
|
||||
u = J(),
|
||||
i = x(() => "value" in u),
|
||||
h = x({
|
||||
get: () => (i.value ? u.value : f.modelValue),
|
||||
@@ -575,21 +575,21 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
)
|
||||
),
|
||||
}),
|
||||
S = O(null),
|
||||
k = O("");
|
||||
S = B(null),
|
||||
k = B("");
|
||||
H(
|
||||
() => {
|
||||
var e;
|
||||
return (e = S.value) == null ? void 0 : e.query;
|
||||
},
|
||||
(e) => {
|
||||
(e = e || ""), k.value !== e && ((k.value = e), P(e));
|
||||
(e = e || ""), k.value !== e && ((k.value = e), L(e));
|
||||
},
|
||||
{ debounce: 300, immediate: !0 }
|
||||
),
|
||||
H(
|
||||
() => f.doctype,
|
||||
() => P(""),
|
||||
() => L(""),
|
||||
{ debounce: 300, immediate: !0 }
|
||||
);
|
||||
const z = se({
|
||||
@@ -604,7 +604,7 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
transform: (e) =>
|
||||
e.map((m) => ({ label: m.value, value: m.value })),
|
||||
});
|
||||
function P(e) {
|
||||
function L(e) {
|
||||
z.update({
|
||||
params: { txt: e, doctype: f.doctype, filters: f.filters },
|
||||
}),
|
||||
@@ -621,7 +621,7 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
? (n(),
|
||||
p(
|
||||
"label",
|
||||
{ key: 0, class: T(["block", _.value]) },
|
||||
{ key: 0, class: I(["block", _.value]) },
|
||||
N(a(u).label),
|
||||
3
|
||||
))
|
||||
@@ -731,5 +731,5 @@ import { P as ne } from "./plus-pxSjkL_w.js";
|
||||
);
|
||||
},
|
||||
};
|
||||
export { Ve as _ };
|
||||
//# sourceMappingURL=Link-Z_9V94MR.js.map
|
||||
export { ie as X, Ve as _ };
|
||||
//# sourceMappingURL=Link-rwTAUhIL.js.map
|
||||
File diff suppressed because one or more lines are too long
8
lms/public/frontend/assets/Profile-CyaIIe8W.js
Normal file
8
lms/public/frontend/assets/Profile-CyaIIe8W.js
Normal file
@@ -0,0 +1,8 @@
|
||||
import { v as r } from "./frappe-ui-LT4YqXtx.js";
|
||||
const e = {};
|
||||
function c(n, t) {
|
||||
return null;
|
||||
}
|
||||
const _ = r(e, [["render", c]]);
|
||||
export { _ as default };
|
||||
//# sourceMappingURL=Profile-CyaIIe8W.js.map
|
||||
1
lms/public/frontend/assets/Profile-CyaIIe8W.js.map
Normal file
1
lms/public/frontend/assets/Profile-CyaIIe8W.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Profile-CyaIIe8W.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
||||
11156
lms/public/frontend/assets/Statistics-4cZ7lNfr.js
Normal file
11156
lms/public/frontend/assets/Statistics-4cZ7lNfr.js
Normal file
File diff suppressed because it is too large
Load Diff
1
lms/public/frontend/assets/Statistics-4cZ7lNfr.js.map
Normal file
1
lms/public/frontend/assets/Statistics-4cZ7lNfr.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -1,274 +0,0 @@
|
||||
import {
|
||||
d as x,
|
||||
j as v,
|
||||
k as c,
|
||||
y as b,
|
||||
C as e,
|
||||
G as o,
|
||||
H as t,
|
||||
I as s,
|
||||
x as k,
|
||||
a6 as f,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
import { a as r, B as C } from "./index-Vx7mSx23.js";
|
||||
import { B as L } from "./book-open-check-j9IEQjWh.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const S = r("FileCheck2Icon", [
|
||||
[
|
||||
"path",
|
||||
{
|
||||
d: "M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4",
|
||||
key: "702lig",
|
||||
},
|
||||
],
|
||||
["polyline", { points: "14 2 14 8 20 8", key: "1ew0cm" }],
|
||||
["path", { d: "m3 15 2 2 4-4", key: "1lhrkk" }],
|
||||
]);
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const w = r("FileCheckIcon", [
|
||||
[
|
||||
"path",
|
||||
{
|
||||
d: "M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",
|
||||
key: "1nnpy2",
|
||||
},
|
||||
],
|
||||
["polyline", { points: "14 2 14 8 20 8", key: "1ew0cm" }],
|
||||
["path", { d: "m9 15 2 2 4-4", key: "1grp1n" }],
|
||||
]);
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const B = r("LogInIcon", [
|
||||
[
|
||||
"path",
|
||||
{ d: "M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4", key: "u53s6r" },
|
||||
],
|
||||
["polyline", { points: "10 17 15 12 10 7", key: "1ail0h" }],
|
||||
["line", { x1: "15", x2: "3", y1: "12", y2: "12", key: "v6grx8" }],
|
||||
]),
|
||||
I = { class: "h-screen text-base" },
|
||||
M = {
|
||||
class: "sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5",
|
||||
},
|
||||
j = { class: "p-5" },
|
||||
E = { class: "grid grid-cols-5 gap-5" },
|
||||
F = { class: "flex items-center border py-2 px-3 rounded-md" },
|
||||
V = { class: "p-2 rounded-md bg-gray-100 mr-3" },
|
||||
H = { class: "text-xl font-semibold mb-1" },
|
||||
z = { class: "text-gray-700" },
|
||||
N = { class: "flex items-center border py-2 px-3 rounded-md" },
|
||||
O = { class: "p-2 rounded-md bg-gray-100 mr-3" },
|
||||
P = { class: "text-xl font-semibold mb-1" },
|
||||
U = { class: "text-gray-700" },
|
||||
D = { class: "flex items-center border py-2 px-3 rounded-md" },
|
||||
G = { class: "p-2 rounded-md bg-gray-100 mr-3" },
|
||||
R = { class: "text-xl font-semibold mb-1" },
|
||||
T = { class: "text-gray-700" },
|
||||
$ = { class: "flex items-center border py-2 px-3 rounded-md" },
|
||||
q = { class: "p-2 rounded-md bg-gray-100 mr-3" },
|
||||
A = { class: "text-xl font-semibold mb-1" },
|
||||
J = { class: "text-gray-700" },
|
||||
K = { class: "flex items-center border py-2 px-3 rounded-md" },
|
||||
Q = { class: "p-2 rounded-md bg-gray-100 mr-3" },
|
||||
W = { class: "text-xl font-semibold mb-1" },
|
||||
X = { class: "text-gray-700" },
|
||||
oe = {
|
||||
__name: "Statistics",
|
||||
setup(Y) {
|
||||
x("dayjs");
|
||||
const _ = v(() => [
|
||||
{ label: "Statistics", route: { name: "Statistics" } },
|
||||
]),
|
||||
u = c({
|
||||
url: "frappe.client.get_count",
|
||||
params: { doctype: "LMS Enrollment" },
|
||||
auto: !0,
|
||||
cache: ["enrollment_count"],
|
||||
}),
|
||||
m = c({
|
||||
url: "frappe.client.get_count",
|
||||
params: {
|
||||
doctype: "LMS Course",
|
||||
filters: { published: 1, upcoming: 0 },
|
||||
},
|
||||
auto: !0,
|
||||
cache: ["course_count"],
|
||||
}),
|
||||
h = c({
|
||||
url: "frappe.client.get_count",
|
||||
params: { doctype: "User", filters: { enabled: 1 } },
|
||||
auto: !0,
|
||||
cache: ["user_count"],
|
||||
}),
|
||||
y = c({
|
||||
url: "frappe.client.get_count",
|
||||
params: {
|
||||
doctype: "LMS Enrollment",
|
||||
filters: { progress: ["like", "%100%"] },
|
||||
},
|
||||
auto: !0,
|
||||
cache: ["courses_completed"],
|
||||
}),
|
||||
g = c({
|
||||
url: "frappe.client.get_count",
|
||||
params: { doctype: "LMS Course Progress" },
|
||||
auto: !0,
|
||||
cache: ["lessons_completed"],
|
||||
});
|
||||
return (a, Z) => {
|
||||
var d, n, l, i, p;
|
||||
return (
|
||||
k(),
|
||||
b("div", I, [
|
||||
e("header", M, [
|
||||
o(t(f), { class: "h-7", items: _.value }, null, 8, [
|
||||
"items",
|
||||
]),
|
||||
]),
|
||||
e("div", j, [
|
||||
e("div", E, [
|
||||
e("div", F, [
|
||||
e("div", V, [
|
||||
o(t(C), {
|
||||
class: "w-18 h-18 stroke-1.5 text-gray-700",
|
||||
}),
|
||||
]),
|
||||
e("div", null, [
|
||||
e(
|
||||
"div",
|
||||
H,
|
||||
s(
|
||||
(d = t(m).data) == null
|
||||
? void 0
|
||||
: d.toLocaleString()
|
||||
),
|
||||
1
|
||||
),
|
||||
e(
|
||||
"div",
|
||||
z,
|
||||
s(a.__("Published Courses")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
]),
|
||||
e("div", N, [
|
||||
e("div", O, [
|
||||
o(t(B), {
|
||||
class: "w-18 h-18 stroke-1.5 text-gray-700",
|
||||
}),
|
||||
]),
|
||||
e("div", null, [
|
||||
e(
|
||||
"div",
|
||||
P,
|
||||
s(
|
||||
(n = t(h).data) == null
|
||||
? void 0
|
||||
: n.toLocaleString()
|
||||
),
|
||||
1
|
||||
),
|
||||
e(
|
||||
"div",
|
||||
U,
|
||||
s(a.__("Total Signups")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
]),
|
||||
e("div", D, [
|
||||
e("div", G, [
|
||||
o(t(L), {
|
||||
class: "w-18 h-18 stroke-1.5 text-gray-700",
|
||||
}),
|
||||
]),
|
||||
e("div", null, [
|
||||
e(
|
||||
"div",
|
||||
R,
|
||||
s(
|
||||
(l = t(u).data) == null
|
||||
? void 0
|
||||
: l.toLocaleString()
|
||||
),
|
||||
1
|
||||
),
|
||||
e(
|
||||
"div",
|
||||
T,
|
||||
s(a.__("Enrolled Users")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
]),
|
||||
e("div", $, [
|
||||
e("div", q, [
|
||||
o(t(w), {
|
||||
class: "w-18 h-18 stroke-1.5 text-gray-700",
|
||||
}),
|
||||
]),
|
||||
e("div", null, [
|
||||
e(
|
||||
"div",
|
||||
A,
|
||||
s(
|
||||
(i = t(y).data) == null
|
||||
? void 0
|
||||
: i.toLocaleString()
|
||||
),
|
||||
1
|
||||
),
|
||||
e(
|
||||
"div",
|
||||
J,
|
||||
s(a.__("Courses Completed")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
]),
|
||||
e("div", K, [
|
||||
e("div", Q, [
|
||||
o(t(S), {
|
||||
class: "w-18 h-18 stroke-1.5 text-gray-700",
|
||||
}),
|
||||
]),
|
||||
e("div", null, [
|
||||
e(
|
||||
"div",
|
||||
W,
|
||||
s(
|
||||
(p = t(g).data) == null
|
||||
? void 0
|
||||
: p.toLocaleString()
|
||||
),
|
||||
1
|
||||
),
|
||||
e(
|
||||
"div",
|
||||
X,
|
||||
s(a.__("Lessons Completed")),
|
||||
1
|
||||
),
|
||||
]),
|
||||
]),
|
||||
]),
|
||||
]),
|
||||
])
|
||||
);
|
||||
};
|
||||
},
|
||||
};
|
||||
export { oe as default };
|
||||
//# sourceMappingURL=Statistics-BSeqj912.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,11 +1,11 @@
|
||||
import {
|
||||
x as r,
|
||||
A as s,
|
||||
av as t,
|
||||
H as l,
|
||||
as as u,
|
||||
J as n,
|
||||
} from "./frappe-ui-20hnMCM8.js";
|
||||
F as s,
|
||||
au as t,
|
||||
K as u,
|
||||
ar as l,
|
||||
M as n,
|
||||
} from "./frappe-ui-LT4YqXtx.js";
|
||||
const i = {
|
||||
__name: "UserAvatar",
|
||||
props: { user: { type: Object, default: null }, size: { type: String } },
|
||||
@@ -14,7 +14,7 @@ const i = {
|
||||
e.user
|
||||
? (r(),
|
||||
s(
|
||||
l(u),
|
||||
u(l),
|
||||
t(
|
||||
{
|
||||
key: 0,
|
||||
@@ -33,4 +33,4 @@ const i = {
|
||||
},
|
||||
};
|
||||
export { i as _ };
|
||||
//# sourceMappingURL=UserAvatar-yrWInUTi.js.map
|
||||
//# sourceMappingURL=UserAvatar-A3tEMZXD.js.map
|
||||
1
lms/public/frontend/assets/UserAvatar-A3tEMZXD.js.map
Normal file
1
lms/public/frontend/assets/UserAvatar-A3tEMZXD.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"UserAvatar-A3tEMZXD.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"UserAvatar-yrWInUTi.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { a as c } from "./index-Vx7mSx23.js";
|
||||
import { a as c } from "./index-6k1S_EjG.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
@@ -19,4 +19,4 @@ import { a as c } from "./index-Vx7mSx23.js";
|
||||
],
|
||||
]);
|
||||
export { o as B };
|
||||
//# sourceMappingURL=book-open-check-j9IEQjWh.js.map
|
||||
//# sourceMappingURL=book-open-check-_W-8v7wc.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"book-open-check-j9IEQjWh.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/book-open-check.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst BookOpenCheck = createLucideIcon(\"BookOpenCheckIcon\", [\n [\"path\", { d: \"M8 3H2v15h7c1.7 0 3 1.3 3 3V7c0-2.2-1.8-4-4-4Z\", key: \"1i8u0n\" }],\n [\"path\", { d: \"m16 12 2 2 4-4\", key: \"mdajum\" }],\n [\"path\", { d: \"M22 6V3h-6c-2.2 0-4 1.8-4 4v14c0-1.7 1.3-3 3-3h7v-2.3\", key: \"jb5l51\" }]\n]);\n\nexport { BookOpenCheck as default };\n//# sourceMappingURL=book-open-check.js.map\n"],"names":["BookOpenCheck","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAgBC,EAAiB,oBAAqB,CAC1D,CAAC,OAAQ,CAAE,EAAG,iDAAkD,IAAK,QAAQ,CAAE,EAC/E,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAQ,CAAE,EAC/C,CAAC,OAAQ,CAAE,EAAG,wDAAyD,IAAK,QAAQ,CAAE,CACxF,CAAC","x_google_ignoreList":[0]}
|
||||
{"version":3,"file":"book-open-check-_W-8v7wc.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/book-open-check.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst BookOpenCheck = createLucideIcon(\"BookOpenCheckIcon\", [\n [\"path\", { d: \"M8 3H2v15h7c1.7 0 3 1.3 3 3V7c0-2.2-1.8-4-4-4Z\", key: \"1i8u0n\" }],\n [\"path\", { d: \"m16 12 2 2 4-4\", key: \"mdajum\" }],\n [\"path\", { d: \"M22 6V3h-6c-2.2 0-4 1.8-4 4v14c0-1.7 1.3-3 3-3h7v-2.3\", key: \"jb5l51\" }]\n]);\n\nexport { BookOpenCheck as default };\n//# sourceMappingURL=book-open-check.js.map\n"],"names":["BookOpenCheck","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAgBC,EAAiB,oBAAqB,CAC1D,CAAC,OAAQ,CAAE,EAAG,iDAAkD,IAAK,QAAQ,CAAE,EAC/E,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAQ,CAAE,EAC/C,CAAC,OAAQ,CAAE,EAAG,wDAAyD,IAAK,QAAQ,CAAE,CACxF,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { a as e } from "./index-Vx7mSx23.js";
|
||||
import { a as e } from "./index-6k1S_EjG.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
@@ -31,4 +31,4 @@ import { a as e } from "./index-Vx7mSx23.js";
|
||||
["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }],
|
||||
]);
|
||||
export { c as C, a };
|
||||
//# sourceMappingURL=clock-blcPmEdF.js.map
|
||||
//# sourceMappingURL=clock-q4vfplv-.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"clock-blcPmEdF.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/calendar.js","../../../../node_modules/lucide-vue-next/dist/esm/icons/clock.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Calendar = createLucideIcon(\"CalendarIcon\", [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"4\", rx: \"2\", ry: \"2\", key: \"eu3xkr\" }],\n [\"line\", { x1: \"16\", x2: \"16\", y1: \"2\", y2: \"6\", key: \"m3sa8f\" }],\n [\"line\", { x1: \"8\", x2: \"8\", y1: \"2\", y2: \"6\", key: \"18kwsl\" }],\n [\"line\", { x1: \"3\", x2: \"21\", y1: \"10\", y2: \"10\", key: \"xt86sb\" }]\n]);\n\nexport { Calendar as default };\n//# sourceMappingURL=calendar.js.map\n","/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Clock = createLucideIcon(\"ClockIcon\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polyline\", { points: \"12 6 12 12 16 14\", key: \"68esgv\" }]\n]);\n\nexport { Clock as default };\n//# sourceMappingURL=clock.js.map\n"],"names":["Calendar","createLucideIcon","Clock"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,eAAgB,CAChD,CAAC,OAAQ,CAAE,MAAO,KAAM,OAAQ,KAAM,EAAG,IAAK,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,SAAU,EACvF,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAChE,CAAC,OAAQ,CAAE,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC9D,CAAC,OAAQ,CAAE,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,CACnE,CAAC,ECdD;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACC,EAAQD,EAAiB,YAAa,CAC1C,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,WAAY,CAAE,OAAQ,mBAAoB,IAAK,QAAQ,CAAE,CAC5D,CAAC","x_google_ignoreList":[0,1]}
|
||||
{"version":3,"file":"clock-q4vfplv-.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/calendar.js","../../../../node_modules/lucide-vue-next/dist/esm/icons/clock.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Calendar = createLucideIcon(\"CalendarIcon\", [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"4\", rx: \"2\", ry: \"2\", key: \"eu3xkr\" }],\n [\"line\", { x1: \"16\", x2: \"16\", y1: \"2\", y2: \"6\", key: \"m3sa8f\" }],\n [\"line\", { x1: \"8\", x2: \"8\", y1: \"2\", y2: \"6\", key: \"18kwsl\" }],\n [\"line\", { x1: \"3\", x2: \"21\", y1: \"10\", y2: \"10\", key: \"xt86sb\" }]\n]);\n\nexport { Calendar as default };\n//# sourceMappingURL=calendar.js.map\n","/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Clock = createLucideIcon(\"ClockIcon\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polyline\", { points: \"12 6 12 12 16 14\", key: \"68esgv\" }]\n]);\n\nexport { Clock as default };\n//# sourceMappingURL=clock.js.map\n"],"names":["Calendar","createLucideIcon","Clock"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,eAAgB,CAChD,CAAC,OAAQ,CAAE,MAAO,KAAM,OAAQ,KAAM,EAAG,IAAK,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,SAAU,EACvF,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAChE,CAAC,OAAQ,CAAE,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC9D,CAAC,OAAQ,CAAE,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,CACnE,CAAC,ECdD;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACC,EAAQD,EAAiB,YAAa,CAC1C,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,WAAY,CAAE,OAAQ,mBAAoB,IAAK,QAAQ,CAAE,CAC5D,CAAC","x_google_ignoreList":[0,1]}
|
||||
21
lms/public/frontend/assets/file-text-w2g11TfY.js
Normal file
21
lms/public/frontend/assets/file-text-w2g11TfY.js
Normal file
@@ -0,0 +1,21 @@
|
||||
import { a as e } from "./index-6k1S_EjG.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const n = e("FileTextIcon", [
|
||||
[
|
||||
"path",
|
||||
{
|
||||
d: "M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",
|
||||
key: "1nnpy2",
|
||||
},
|
||||
],
|
||||
["polyline", { points: "14 2 14 8 20 8", key: "1ew0cm" }],
|
||||
["line", { x1: "16", x2: "8", y1: "13", y2: "13", key: "14keom" }],
|
||||
["line", { x1: "16", x2: "8", y1: "17", y2: "17", key: "17nazh" }],
|
||||
["line", { x1: "10", x2: "8", y1: "9", y2: "9", key: "1a5vjj" }],
|
||||
]);
|
||||
export { n as F };
|
||||
//# sourceMappingURL=file-text-w2g11TfY.js.map
|
||||
1
lms/public/frontend/assets/file-text-w2g11TfY.js.map
Normal file
1
lms/public/frontend/assets/file-text-w2g11TfY.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"file-text-w2g11TfY.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/file-text.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileText = createLucideIcon(\"FileTextIcon\", [\n [\n \"path\",\n { d: \"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\", key: \"1nnpy2\" }\n ],\n [\"polyline\", { points: \"14 2 14 8 20 8\", key: \"1ew0cm\" }],\n [\"line\", { x1: \"16\", x2: \"8\", y1: \"13\", y2: \"13\", key: \"14keom\" }],\n [\"line\", { x1: \"16\", x2: \"8\", y1: \"17\", y2: \"17\", key: \"17nazh\" }],\n [\"line\", { x1: \"10\", x2: \"8\", y1: \"9\", y2: \"9\", key: \"1a5vjj\" }]\n]);\n\nexport { FileText as default };\n//# sourceMappingURL=file-text.js.map\n"],"names":["FileText","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,eAAgB,CAChD,CACE,OACA,CAAE,EAAG,wEAAyE,IAAK,QAAU,CAC9F,EACD,CAAC,WAAY,CAAE,OAAQ,iBAAkB,IAAK,QAAQ,CAAE,EACxD,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,EACjE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,EACjE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,CACjE,CAAC","x_google_ignoreList":[0]}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
1
lms/public/frontend/assets/frappe-ui-LT4YqXtx.js.map
Normal file
1
lms/public/frontend/assets/frappe-ui-LT4YqXtx.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
1
lms/public/frontend/assets/index-6k1S_EjG.js.map
Normal file
1
lms/public/frontend/assets/index-6k1S_EjG.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
15
lms/public/frontend/assets/map-pin-yIki2ElO.js
Normal file
15
lms/public/frontend/assets/map-pin-yIki2ElO.js
Normal file
@@ -0,0 +1,15 @@
|
||||
import { a as c } from "./index-6k1S_EjG.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/ const e = c("MapPinIcon", [
|
||||
[
|
||||
"path",
|
||||
{ d: "M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z", key: "2oe9fu" },
|
||||
],
|
||||
["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }],
|
||||
]);
|
||||
export { e as M };
|
||||
//# sourceMappingURL=map-pin-yIki2ElO.js.map
|
||||
1
lms/public/frontend/assets/map-pin-yIki2ElO.js.map
Normal file
1
lms/public/frontend/assets/map-pin-yIki2ElO.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"map-pin-yIki2ElO.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/map-pin.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst MapPin = createLucideIcon(\"MapPinIcon\", [\n [\"path\", { d: \"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z\", key: \"2oe9fu\" }],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }]\n]);\n\nexport { MapPin as default };\n//# sourceMappingURL=map-pin.js.map\n"],"names":["MapPin","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAASC,EAAiB,aAAc,CAC5C,CAAC,OAAQ,CAAE,EAAG,iDAAkD,IAAK,QAAQ,CAAE,EAC/E,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,SAAU,CAC1D,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { a } from "./index-Vx7mSx23.js";
|
||||
import { a } from "./index-6k1S_EjG.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
@@ -9,4 +9,4 @@ import { a } from "./index-Vx7mSx23.js";
|
||||
["path", { d: "M12 5v14", key: "s699le" }],
|
||||
]);
|
||||
export { s as P };
|
||||
//# sourceMappingURL=plus-pxSjkL_w.js.map
|
||||
//# sourceMappingURL=plus-0JOmes86.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"plus-pxSjkL_w.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/plus.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Plus = createLucideIcon(\"PlusIcon\", [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n]);\n\nexport { Plus as default };\n//# sourceMappingURL=plus.js.map\n"],"names":["Plus","createLucideIcon"],"mappings":"mCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAOC,EAAiB,WAAY,CACxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,EACzC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC","x_google_ignoreList":[0]}
|
||||
{"version":3,"file":"plus-0JOmes86.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/plus.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Plus = createLucideIcon(\"PlusIcon\", [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n]);\n\nexport { Plus as default };\n//# sourceMappingURL=plus.js.map\n"],"names":["Plus","createLucideIcon"],"mappings":"mCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAOC,EAAiB,WAAY,CACxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,EACzC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { a as o } from "./index-Vx7mSx23.js";
|
||||
import { a as o } from "./index-6k1S_EjG.js";
|
||||
/**
|
||||
* @license lucide-vue-next v0.309.0 - ISC
|
||||
*
|
||||
@@ -14,4 +14,4 @@ import { a as o } from "./index-Vx7mSx23.js";
|
||||
],
|
||||
]);
|
||||
export { a as S };
|
||||
//# sourceMappingURL=star-ypmGZNF0.js.map
|
||||
//# sourceMappingURL=star--IkSKstT.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"star-ypmGZNF0.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/star.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Star = createLucideIcon(\"StarIcon\", [\n [\n \"polygon\",\n {\n points: \"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\",\n key: \"8f66p6\"\n }\n ]\n]);\n\nexport { Star as default };\n//# sourceMappingURL=star.js.map\n"],"names":["Star","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAOC,EAAiB,WAAY,CACxC,CACE,UACA,CACE,OAAQ,iGACR,IAAK,QACN,CACF,CACH,CAAC","x_google_ignoreList":[0]}
|
||||
{"version":3,"file":"star--IkSKstT.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/star.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Star = createLucideIcon(\"StarIcon\", [\n [\n \"polygon\",\n {\n points: \"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\",\n key: \"8f66p6\"\n }\n ]\n]);\n\nexport { Star as default };\n//# sourceMappingURL=star.js.map\n"],"names":["Star","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAOC,EAAiB,WAAY,CACxC,CACE,UACA,CACE,OAAQ,iGACR,IAAK,QACN,CACF,CACH,CAAC","x_google_ignoreList":[0]}
|
||||
@@ -5,10 +5,10 @@
|
||||
<link rel="icon" href="/favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Frappe UI App</title>
|
||||
<script type="module" crossorigin src="/assets/index-Vx7mSx23.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/frappe-ui-20hnMCM8.js">
|
||||
<script type="module" crossorigin src="/assets/index-6k1S_EjG.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/frappe-ui-LT4YqXtx.js">
|
||||
<link rel="stylesheet" crossorigin href="/assets/frappe-ui-dYBF8eAq.css">
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-VOpIbXPv.css">
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-KTmXOKI7.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
Reference in New Issue
Block a user