PageSourceSearch

https://intranet.kirche-annaberg-buchholz.de/dist/js/PlanningList_C1CjXo54.min.js

js kirche-annaberg-buchholz.de collected 2026-10-08 04:28:25 UTC 10,547 bytes, 266 lines download raw bytes

1(function() {
2	try {
3		var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
4		e.SENTRY_RELEASE = { id: "live_2026-10-07-1527" };
5		var t = new e.Error().stack;
6		t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "e468fbf1-c659-4de2-b474-215bd1d3b3fa", e._sentryDebugIdIdentifier = "sentry-dbid-e468fbf1-c659-4de2-b474-215bd1d3b3fa");
7	} catch (e) {}
8})();
9import { Kr as e, Qc as t, Ua as n, Wo as r, kn as i, uo as a } from "./topMessageHandler_BGjUyIM4.min.js";
10import { F as o, L as s, N as c, Ot as l, R as u, T as d, X as ee, Y as f, _ as p, c as m, d as h, f as g, g as _, i as v, jt as y, l as b, lt as x, nt as S, q as te, tt as C, u as ne, y as w } from "./runtime-core.esm-bundler_gPtQx1Jq.min.js";
11import { r as re } from "./vuex.esm-bundler_BVkMIwxs.min.js";
12import { t as T } from "./ListPager_DuMjVvaZ.min.js";
13import { t as E } from "./searchAbstract_BLeoB65V.min.js";
14import { t as D } from "./AppContent_CP9HWXwh.min.js";
15//#region src/views/time-tracker/planning/PlanningList.vue?vue&type=script&setup=true&lang.ts
16var O = { class: "calendar-view-data clearfix" }, k = { class: "calendar-table-view-data" }, A = { class: "sticky-wrapper" }, ie = { class: /*@__PURE__*/ l(["calendar-list calendar-table-view calendar-table-view-week"]) }, ae = { class: "calendar-bar-days" }, oe = {
17	key: 0,
18	class: "calendar-list-col contrast-primary"
19}, se = { class: "calendar-list-date" }, ce = { class: "calendar-list-row calendar-list-entry-row ng-scope" }, le = { class: "sticky-colum calendar-list-col" }, j = {
20	key: 0,
21	class: "text-center lined-if-last-child"
22}, M = {
23	key: 0,
24	class: "planning-navigation"
25}, N = { class: "planning-navigation-next" }, P = {
26	key: 0,
27	class: "planning-navigation"
28}, F = { class: "planning-navigation-next" }, I = /* @__PURE__ */ w({
29	__name: "PlanningList",
30	props: {
31		year: { default: 0 },
32		week: { default: 0 }
33	},
34	setup(w, { expose: I }) {
35		let L = t(), R = w, z = re(), B = z.state.viewSize, V = m(() => "employee-time-tracker-planning-list"), H = m(() => B.sm || B.xs), U = C([
36			e(),
37			{
38				label: "Zeiterfassung",
39				href: { name: "time-tracker" }
40			},
41			{ label: "Zeitplanung" },
42			{ label: "Anwesenheitsliste" }
43		]), W = S(!1), G = S([]), K = S([]), q = S(""), J = S({}), ue = C({
44			"-1": "Nicht geplant",
45			0: "Abwesend"
46		}), de = m(() => {
47			let e = "/employee/time-tracker/planning/fetch-list";
48			return R.year && R.week && (e += `/year/${R.year}/week/${R.week}`), e;
49		}), fe = m(() => {
50			let e = [];
51			for (let t of G.value) e.push({
52				label: t.name,
53				value: t.employee_id
54			});
55			return e;
56		}), Y = m(() => {
57			let e = {
58				saturday: null,
59				sunday: null
60			};
61			for (let t of K.value) switch (new Date(t.date).getDay()) {
62				case a.Saturday:
63					e.saturday = t.date;
64					break;
65				case a.Sunday:
66					e.sunday = t.date;
67					break;
68				default: break;
69			}
70			return e;
71		}), X = m(() => {
72			let e = {
73				saturday: [],
74				sunday: []
75			};
76			for (let t of G.value) {
77				let n = Object.values(t.plannings).filter((e) => Y.value.saturday === e.date || Y.value.sunday === e.date), r = n.find((e) => Y.value.saturday === e.date), i = n.find((e) => Y.value.sunday === e.date);
78				r && r.duration === 0 && r.state === 0 && e.saturday.push(t.employee_id), i && i.duration === 0 && i.state === 0 && e.sunday.push(t.employee_id);
79			}
80			return {
81				saturday: e.saturday.length === G.value.length,
82				sunday: e.sunday.length === G.value.length
83			};
84		}), Z = (e) => H.value && (Y.value.saturday === e && X.value.saturday || Y.value.sunday === e && X.value.sunday), Q = () => {
85			z.dispatch("getPage", { url: de.value }).then(({ data: { data: e } }) => {
86				W.value = e.is_allowed_planning, G.value = e.entries, K.value = e.week, q.value = e.label, J.value = e.links;
87			}).catch(() => {});
88		}, pe = (e) => {
89			if (e.state !== 1) return ue[e.state];
90			let t = e.planning_time_periods.length;
91			if (t > 0) {
92				let n = "";
93				for (let r of e.planning_time_periods) n += `Anwesend von ${r.start.substr(0, 5)} bis ${r.end.substr(0, 5)}`, t > 1 && (n += "<br>");
94				return n;
95			}
96		};
97		Q(), te(R, () => {
98			Q();
99		}, { deep: !0 });
100		let $ = E({
101			emitter: L.emitter,
102			searchStorageScope: V
103		});
104		return I(Object.assign({}, L, $.expose)), (e, t) => {
105			let a = s("router-link"), m = s("person-box-abstract"), S = u("tooltip");
106			return c(), ne(D, {
107				class: "module-time-tracker planning",
108				headline: "Zeiterfassung: Anwesenheitsliste",
109				breadcrumb: U
110			}, {
111				default: f(() => [
112					p(i, { class: "disclaimer" }, {
113						default: f(() => [
114							t[5] || (t[5] = b("strong", null, "Hinweis", -1)),
115							t[6] || (t[6] = _()),
116							b("div", null, [t[4] || (t[4] = _("Mitarbeiter können hier ihre geplanten Arbeitszeiten eintragen, sodass besser ersichtlich wird, wann z.B. Teilzeitkräfte anwesend sind.\
116n                ", -1)), W.value ? (c(), g(v, { key: 0 }, [
117								t[2] || (t[2] = _("Unter ", -1)),
118								p(a, { to: { name: "time-tracker-planning-view" } }, {
119									default: f(() => [...t[1] || (t[1] = [_("Zeitplanung -> Zeiten planen", -1)])]),
120									_: 1
121								}),
122								t[3] || (t[3] = _(" können die kommenden Wochenstunden geplant werden.\n                ", -1))
123							], 64)) : h("", !0)])
124						]),
125						_: 1
126					}),
127					t[31] || (t[31] = _()),
128					p(n, {
129						modelValue: x($).model.employee_id,
130						"onUpdate:modelValue": t[0] || (t[0] = (e) => x($).model.employee_id = e),
131						options: fe.value,
132						"aria-label": "Auswahl Mitarbeiter",
133						multiple: ""
134					}, {
135						all: f(() => [...t[7] || (t[7] = [_("Alle Mitarbeiter", -1)])]),
136						multiple: f(({ count: e }) => [_(y(e) + " Mitarbeiter", 1)]),
137						one: f(() => [...t[8] || (t[8] = [_("Ein Mitarbeiter", -1)])]),
138						placeholder: f(() => [...t[9] || (t[9] = [_("Mitarbeiter wählen", -1)])]),
139						_: 1
140					}, 8, ["modelValue", "options"]),
141					t[32] || (t[32] = _()),
142					p(T, d(x($).properties, {
143						class: "spacer-15",
144						entries: G.value,
145						ref: "list"
146					}), {
147						default: f(({ listEntries: e, loading: n }) => [
148							p(i, { class: "no-padding" }, {
149								title: f(() => [
150									t[21] || (t[21] = b("i", {
151										class: "material-icons",
152										"aria-hidden": "true",
153										role: "img"
154									}, "person", -1)),
155									t[22] || (t[22] = _()),
156									t[23] || (t[23] = b("span", null, "Zeitplanung", -1)),
157									t[24] || (t[24] = _()),
158									J.value.previous && J.value.next ? (c(), g("div", M, [
159										p(a, {
160											to: {
161												name: "time-tracker-planning-list",
162												params: {
163													year: J.value.previous.year,
164													week: J.value.previous.week
165												}
166											},
167											class: "planning-navigation-previous",
168											"aria-label": "Eine Woche vor"
169										}, {
170											default: f(() => [...t[17] || (t[17] = [_("◀", -1)])]),
171											_: 1
172										}, 8, ["to"]),
173										t[19] || (t[19] = _()),
174										b("div", N, [p(a, {
175											to: {
176												name: "time-tracker-planning-list",
177												params: {
178													year: J.value.next.year,
179													week: J.value.next.week
180												}
181											},
182											"aria-label": "Eine Woche weiter"
183										}, {
184											default: f(() => [...t[18] || (t[18] = [_("▶", -1)])]),
185											_: 1
186										}, 8, ["to"])]),
187										t[20] || (t[20] = _()),
188										b("strong", null, y(q.value), 1)
189									])) : h("", !0)
190								]),
191								default: f(() => [b("div", O, [b("div", k, [b("div", A, [b("table", ie, [
192									b("thead", null, [b("tr", ae, [
193										t[13] || (t[13] = b("td", { class: "sticky-colum employee-header contrast-primary-light" }, null, -1)),
194										t[14] || (t[14] = _()),
195										(c(!0), g(v, null, o(K.value, (e) => (c(), g(v, null, [Z(e.date) ? h("", !0) : (c(), g("th", oe, [b("div", se, y(x(r)("d.", e.date)) + " " + y(H.value ? e.name.slice(0, 2) : e.name), 1)]))], 64))), 256))
196									])]),
197									t[16] || (t[16] = _()),
198									b("tbody", null, [(c(!0), g(v, null, o(e, (e) => (c(), g("tr", ce, [
199										b("td", le, [p(m, {
200											type: "employee",
201											"show-name": !H.value,
202											id: e.employee_id
203										}, {
204											name: f(({ username: t }) => [p(a, { to: {
205												name: "employee-view",
206												params: { id: e.employee_id }
207											} }, {
208												default: f(() => [b("strong", null, y(t), 1)]),
209												_: 2
210											}, 1032, ["to"])]),
211											_: 2
212										}, 1032, ["show-name", "id"])]),
213										t[15] || (t[15] = _()),
214										(c(!0), g(v, null, o(K.value, (t) => (c(), g(v, null, [Z(t.date) ? h("", !0) : ee((c(), g("td", {
215											key: 0,
216											class: l(["calendar-table-view-column calendar-list-col", {
217												"planned-absence": e.plannings[t.date].state === 0,
218												"not-planned": e.plannings[t.date].state === -1
219											}])
220										}, [e.plannings[t.date].planning_time_periods ? (c(!0), g(v, { key: 0 }, o(e.plannings[t.date].planning_time_periods, (n) => (c(), g(v, null, [e.plannings[t.date].state === 1 ? (c(), g("div", j, y(n.start.substr(0, 5)) + "-" + y(n.end.substr(0, 5)), 1)) : h("", !0)], 64))), 256)) : h("", !0)], 2)), [[S, pe(e.plannings[t.date])]])], 64))), 256))
221									]))), 256))])
222								])])])]), t[25] || (t[25] = _())]),
223								_: 2
224							}, 1024),
225							t[30] || (t[30] = _()),
226							x(B).xs && J.value.previous && J.value.next ? (c(), g("div", P, [
227								p(a, {
228									to: {
229										name: "time-tracker-planning-list",
230										params: {
231											year: J.value.previous.year,
232											week: J.value.previous.week
233										}
234									},
235									class: "planning-navigation-previous"
236								}, {
237									default: f(() => [...t[26] || (t[26] = [_("◀", -1)])]),
238									_: 1
239								}, 8, ["to"]),
240								t[28] || (t[28] = _()),
241								b("div", F, [p(a, { to: {
242									name: "time-tracker-planning-list",
243									params: {
244										year: J.value.next.year,
245										week: J.value.next.week
246									}
247								} }, {
248									default: f(() => [...t[27] || (t[27] = [_("▶", -1)])]),
249									_: 1
250								}, 8, ["to"])]),
251								t[29] || (t[29] = _()),
252								b("strong", null, y(q.value), 1)
253							])) : h("", !0)
254						]),
255						_: 1
256					}, 16, ["entries"])
257				]),
258				_: 1
259			}, 8, ["breadcrumb"]);
260		};
261	}
262});
263//#endregion
264export { I as default };
265
266//# sourceMappingURL=PlanningList_C1CjXo54.min.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.