@@ -22,6 +22,7 @@ const props = defineProps({
2222 buildDates: { type: Function , required: false },
2323 isSessionCategory: { type: Boolean , default: false },
2424})
25+
2526const emit = defineEmits ([
2627 " open" ,
2728 " edit" ,
@@ -33,6 +34,7 @@ const emit = defineEmits([
3334 " delete" ,
3435 " export-scorm" ,
3536 " export-pdf" ,
37+ " update-scorm" ,
3638 " reorder" ,
3739 " toggle-auto-launch" ,
3840])
@@ -73,20 +75,24 @@ const goCat = (action, extraParams = {}) => {
7375 })
7476 window .location .assign (url)
7577}
78+
7679const onCatEdit = () => goCat (" add_lp_category" )
7780const onCatAddUsers = () => goCat (" add_users_to_category" )
81+
7882const onCatToggleVisibility = () => {
7983 const vis = props .category .visibility ?? props .category .visible
8084 const next = typeof vis === " number" ? (vis ? 0 : 1 ) : 1
8185 goCat (" toggle_category_visibility" , { new_status: next })
8286}
87+
8388const onCatTogglePublish = () => {
8489 const pub = props .category .isPublished ?? props .category .published
8590 let next = 1
8691 if (typeof pub === " number" ) next = pub ? 0 : 1
8792 if (typeof pub === " string" ) next = pub === " v" ? 0 : 1
8893 goCat (" toggle_category_publish" , { new_status: next })
8994}
95+
9096const onCatDelete = () => {
9197 // Do not allow deletion if category is not empty
9298 if (localList .value .length > 0 ) {
@@ -103,11 +109,14 @@ const onCatDelete = () => {
103109
104110const isOpen = ref (true )
105111const storageKey = computed (() => ` lpCatOpen:${ props .category ? .iid || props .title }` )
112+
106113onMounted(() => {
107114 const saved = localStorage.getItem(storageKey.value)
108115 if (saved !== null) isOpen.value = saved === "1"
109116})
117+
110118watch(isOpen, (v) => localStorage.setItem(storageKey.value, v ? "1" : "0"))
119+
111120const panelId = computed(() => ` cat- panel- ${props .category ? .iid || props .title }` )
112121const toggleOpen = () => {
113122 if (localList.value.length) isOpen.value = !isOpen.value
@@ -207,6 +216,7 @@ const toggleOpen = () => {
207216 ></i>
208217 </span>
209218 </template>
219+
210220 <template #menu>
211221 <div
212222 class="absolute right-0 top-full mt-2 w-60 bg-white border border-gray-25 rounded-xl shadow-xl p-1 z-50"
@@ -217,26 +227,32 @@ const toggleOpen = () => {
217227 >
218228 {{ t("Edit category") }}
219229 </button>
230+
220231 <button
221232 class="w-full text-left px-3 py-2 rounded hover:bg-gray-15"
222233 @click="onCatAddUsers"
223234 >
224235 {{ t("Subscribe users to category") }}
225236 </button>
237+
226238 <div class="my-1 h-px bg-gray-15"></div>
239+
227240 <button
228241 class="w-full text-left px-3 py-2 rounded hover:bg-gray-15"
229242 @click="onCatToggleVisibility"
230243 >
231244 {{ t("Toggle visibility") }}
232245 </button>
246+
233247 <button
234248 class="w-full text-left px-3 py-2 rounded hover:bg-gray-15"
235249 @click="onCatTogglePublish"
236250 >
237251 {{ t("Publish / Hide") }}
238252 </button>
253+
239254 <div class="my-1 h-px bg-gray-15"></div>
255+
240256 <button
241257 class="w-full text-left px-3 py-2 rounded hover:bg-gray-15 text-danger"
242258 @click="onCatDelete"
@@ -309,17 +325,18 @@ const toggleOpen = () => {
309325 :lp="element"
310326 :ringDash="ringDash"
311327 :ringValue="ringValue"
312- @build="$emit('build', element)"
313- @delete="$emit('delete', element)"
314- @edit="$emit('edit', element)"
315- @open="$emit('open', element)"
316- @report="$emit('report', element)"
317- @settings="$emit('settings', element)"
318- @toggle-auto-launch="$emit('toggle-auto-launch', element)"
319- @toggle-visible="$emit('toggle-visible', element)"
320- @toggle-publish="$emit('toggle-publish', element)"
321- @export-scorm="$emit('export-scorm', element)"
322- @export-pdf="$emit('export-pdf', element)"
328+ @build="emit('build', element)"
329+ @delete="emit('delete', element)"
330+ @edit="emit('edit', element)"
331+ @open="emit('open', element)"
332+ @report="emit('report', element)"
333+ @settings="emit('settings', element)"
334+ @toggle-auto-launch="emit('toggle-auto-launch', element)"
335+ @toggle-visible="emit('toggle-visible', element)"
336+ @toggle-publish="emit('toggle-publish', element)"
337+ @export-scorm="emit('export-scorm', element)"
338+ @export-pdf="emit('export-pdf', element)"
339+ @update-scorm="emit('update-scorm', element)"
323340 />
324341 </template>
325342 </Draggable>
0 commit comments