PageSourceSearch

https://mbstu.ac.bd/build/assets/Index-D_TsVKkg.js

js mbstu.ac.bd collected 2026-10-02 08:07:27 UTC 10,227 bytes, 1 lines download raw bytes

1import{d as K,r as d,y as D,h as W,a,i as Q,f as e,b as w,c as n,e as i,x as b,t as r,n as Y,F as V,g as M,j as g,v as C,z as F,s as Z,m as ee,u as h,p as te}from"./app-BBWh8GKX.js";import{F as se}from"./FileManagerModal-CKp6jxyp.js";import{_ as le}from"./TextEditor.vue_vue_type_style_index_0_lang-DtzpZpe1.js";import{_ as oe}from"./Pagination.vue_vue_type_script_setup_true_lang-D-KkE1tj.js";import{u as ae}from"./HeaderArea.vue_vue_type_script_setup_true_lang-B9EaquN5.js";import{u as ne}from"./useFileManager-BgT1x57r.js";import{_ as ie}from"./DefaultLayout.vue_vue_type_script_setup_true_lang-BRy9YMyb.js";import{_ as re}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css            */import"./createLucideIcon-B31oZA5C.js";import"./file-text-DAJmdudx.js";import"./x-Dxbbq7lg.js";import"./search-2JS929GA.js";import"./trash-2-D3Jcd8PB.js";import"./eye-D0SB4cYg.js";import"./download-CYX_7gMt.js";import"./folder-open-B8NQdC_f.js";/* empty css                      */import"./arrow-left-Cqa5FYL8.js";import"./arrow-right-DzXiRAdh.js";import"./index-B9lYRBuz.js";import"./useDefaultImages-Ci2HP7qX.js";const de={class:"shadow-default rounded-sm border border-stroke bg-white px-5 pt-6 pb-2.5 sm:px-7.5 xl:pb-1 dark:border-strokedark dark:bg-boxdark"},ue={class:"mb-6"},ce={class:"mb-4 flex items-center justify-between"},me={class:"mt-1 text-sm text-gray-600 dark:text-gray-400"},pe={key:0,class:"ml-2 text-warning"},ve={class:"flex gap-2"},be={key:0},ge={class:"max-w-full overflow-x-auto"},fe={class:"w-full table-auto"},ke={class:"border-b border-[#eee] px-4 py-5 dark:border-strokedark"},ye={class:"text-black dark:text-white"},xe={class:"border-b border-[#eee] px-4 py-5 dark:border-strokedark"},he={class:"text-black dark:text-white"},_e={class:"border-b border-[#eee] px-4 py-5 dark:border-strokedark"},we={class:"border-b border-[#eee] px-4 py-5 dark:border-strokedark"},Ce={class:"flex items-center space-x-3.5"},Se=["onClick"],Ne=["onClick"],Ae={key:0},Ie={key:1,class:"mt-4"},Te={key:2},De={class:"rounded-sm border border-stroke bg-gray-50 p-4 dark:bg-meta-4"},Ve={class:"mb-4 text-lg font-medium text-black dark:text-white"},Me={class:"space-y-4"},Fe={class:"grid grid-cols-1 gap-4 sm:grid-cols-2"},Oe={class:"grid grid-cols-1 gap-4 sm:grid-cols-2"},Ue={key:0},je={class:"ml-5 list-disc"},$e=["href"],Ee=["onClick"],Pe={key:0,class:"mt-4 rounded-md border border-danger/30 bg-danger/10 px-4 py-2 text-sm text-danger"},Re={class:"mt-6 flex justify-end gap-3"},qe=["disabled"],ze={class:"w-full max-w-md rounded-lg bg-white p-6 shadow-lg dark:bg-boxdark"},Je={class:"mb-6 text-gray-600 dark:text-gray-400"},Be={class:"flex justify-end gap-3"},Xe=["disabled"],Le=K({__name:"Index",props:{noticeItems:{},pagination:{},siteId:{}},setup(O){const f=O,_=d([]),c=d(!1),k=d(""),S=d(""),u=d("list"),s=d(null),y=d(!1),p=d(null),v=d(!1),{adminRoute:N}=ae(),{isModalVisible:U,modalOptions:j,selectFile:$,handleFileSelect:E,closeModal:P}=ne();(()=>{_.value=JSON.parse(JSON.stringify(f.noticeItems||[]))})();const R=D(()=>!1),A=D(()=>{if(u.value==="form"&&s.value){const o=!!s.value.title?.trim(),t=!!s.value.content?.replace(/<[^>]*>/g,"").trim(),l=!!s.value.category?.trim();return o&&t&&l}return!0}),m=(o,t)=>{k.value=o,S.value=t,setTimeout(()=>{k.value=""},5e3)},q=()=>{const o=Date.now();v.value=!1,s.value={id:void 0,title:"",content:"",date:new Date().toISOString().split("T")[0],category:"",priority:"medium",type:"general",department:"Admin Office",validUntil:"",attachments:[],isActive:!0,displayOrder:1,link:`/notices/new-notice-${o}`,slug:""},u.value="form"},z=o=>{s.value=JSON.parse(JSON.stringify(o)),v.value=!1,u.value="form"},J=o=>{p.value=o,y.value=!0},B=async()=>{p.value&&(s.value=p.value,s.value.action="deleted",await T())},I=()=>{y.value=!1,p.value=null},X=async()=>{v.value=!0,!(!s.value||!A.value)&&await T()},L=()=>{s.value=null,v.value=!1,u.value="list"},G=()=>{$(o=>{if(s.value){s.value.attachments||(s.value.attachments=[]);const t=encodeURIComponent(o.path);s.value.attachments.push(`/file-manager/view?path=${t}`),m("Attachment added","success")}})},T=async()=>
1{if(!f.siteId)return m("Site ID is missing.","error");c.value=!0;try{const o=document.querySelector('meta[name="csrf-token"]')?.getAttribute("content"),t=await fetch(N("notices-section"),{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-TOKEN":o||"",Accept:"application/json","X-Requested-With":"XMLHttpRequest"},credentials:"include",body:JSON.stringify({noticeItem:s.value,siteId:f.siteId,_token:o})}),l=await t.json();t.ok&&l.success?(m(l.message,"success"),y.value=!1,setTimeout(()=>{te.get(N("notices-section"),{page:f.pagination?.current_page||1},{preserveState:!1,preserveScroll:!1})},1500)):m(l.message||"An unknown server error occurred.","error")}catch{m("A network error occurred. Please try again.","error")}finally{c.value=!1}},H=o=>{s.value&&(s.value.attachments.splice(o,1),m("Attachment removed","success"))};return(o,t)=>(a(),W(ie,null,{default:Q(()=>[e("div",de,[e("div",ue,[e("div",ce,[e("div",null,[t[6]||(t[6]=e("h4",{class:"text-xl font-semibold text-black dark:text-white"},"Notices Section Management",-1)),e("p",me,[b(" Site ID: "+r(o.siteId||"N/A")+" ",1),R.value?(a(),n("span",pe,"• Unsaved Changes")):i("",!0)])]),e("div",ve,[u.value==="list"?(a(),n("button",{key:0,onClick:q,class:"action-btn bg-primary"},"Add Notice")):i("",!0)])]),k.value?(a(),n("div",{key:0,class:Y([S.value==="success"?"bg-success/10 text-success":"bg-danger/10 text-danger","mb-4 rounded-md border px-4 py-3"])},r(k.value),3)):i("",!0)]),u.value==="list"?(a(),n("div",be,[e("div",ge,[e("table",fe,[t[8]||(t[8]=e("thead",null,[e("tr",{class:"bg-gray-2 text-left dark:bg-meta-4"},[e("th",{class:"px-4 py-4 font-medium text-black dark:text-white"},"Title"),e("th",{class:"px-4 py-4 font-medium text-black dark:text-white"},"Date"),e("th",{class:"px-4 py-4 font-medium text-black dark:text-white"},"Type"),e("th",{class:"px-4 py-4 font-medium text-black dark:text-white"},"Priority"),e("th",{class:"px-4 py-4 font-medium text-black dark:text-white"},"Actions")])],-1)),e("tbody",null,[(a(!0),n(V,null,M(_.value,l=>(a(),n("tr",{key:l.id},[e("td",ke,[e("p",ye,r(l.title),1)]),e("td",xe,[e("p",he,r(l.date),1)]),e("td",_e,r(l.type||"general"),1),e("td",we,[e("div",Ce,[e("button",{onClick:x=>z(l),class:"action-btn bg-primary px-3 py-1 text-sm"},"Edit",8,Se),e("button",{onClick:x=>J(l),class:"action-btn bg-danger px-3 py-1 text-sm"},"Delete",8,Ne)])])]))),128)),_.value.length===0?(a(),n("tr",Ae,[...t[7]||(t[7]=[e("td",{colspan:"4",class:"py-10 text-center text-gray-500"},'No notices found. Click "Add Notice" to begin.',-1)])])):i("",!0)])])])])):i("",!0),u.value==="list"&&o.pagination&&o.pagination.links?(a(),n("div",Ie,[w(oe,{links:o.pagination.links},null,8,["links"])])):i("",!0),u.value==="form"&&s.value?(a(),n("div",Te,[e("div",De,[e("h5",Ve,r(s.value.id?"Edit Notice":"Add Notice"),1),e("div",Me,[e("div",null,[t[9]||(t[9]=e("label",{class:"form-label"},"Title *",-1)),g(e("input",{"onUpdate:modelValue":t[0]||(t[0]=l=>s.value.title=l),type:"text",class:"form-input"},null,512),[[C,s.value.title]])]),e("div",Fe,[e("div",null,[t[10]||(t[10]=e("label",{class:"form-label"},"Date",-1)),g(e("input",{"onUpdate:modelValue":t[1]||(t[1]=l=>s.value.date=l),type:"date",class:"form-input"},null,512),[[C,s.value.date]])]),e("div",null,[t[11]||(t[11]=e("label",{class:"form-label"},"Category *",-1)),g(e("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>s.value.category=l),type:"text",class:"form-input"},null,512),[[C,s.value.category]])])]),e("div",null,[t[12]||(t[12]=e("label",{class:"form-label"},"Content *",-1)),w(le,{modelValue:s.value.content,"onUpdate:modelValue":t[3]||(t[3]=l=>s.value.content=l)},null,8,["modelValue"])]),e("div",Oe,[e("div",null,[t[14]||(t[14]=e("label",{class:"form-label"},"Type",-1)),g(e("select",{"onUpdate:modelValue":t[4]||(t[4]=l=>s.value.type=l),class:"form-input"},[...t[13]||(t[13]=[e("option",{value:"general"},"General",-1),e("option",{value:"admission"},"Admission",-1)])],512),[[F,s.value.type]])]),e("div",null,[t[16]||(t[16]=e("label",{class:"form-label"},"Priority",-1)),g(e("select",{"onUpdate:modelValue":t[5]||(t[5]=l=>s.value.priority=l),class:"form-input"},[...t[15]||(t[15]=[e("option",null,"high",-1),e("option",null,"medium",-1),e("option",null,"low",-1)])],512),[[F,s.value.priority]])])]),e("div",null,[t[17]||(t[17]=e("label",{class:"form-label"},"Attachments",-1)),s.value.attachments&&s.value.attachments.length?(a(),n("div",Ue,[e("ul",je,[(a(!0),n(V,null,M(s.value.attachments,(l,x)=>(a(),n("li",{key:x,class:"flex items-center gap-3"},[e("a",{href:l,target:"_blank",class:"text-primary underline"},r(l),9,$e),e("button",{type:"button",class:"text-sm text-danger",onClick:He=>H(x)},"Remove",8,Ee)]))),128))])])):i("",!0),e("div",{class:"mt-2"},[e("button",{type:"button",onClick:G,class:"inline-flex items-center rounded-md bg-blue-600 px-3 py-2 text-sm font-medium text-white hover:bg-blue-700"}," Select Files ")])])])]),v.value&&!A.value?(a(),n("div",Pe,[...t[18]||(t[18]=[b(" Please fill in all required fields: ",-1),e("strong",null,"Title",-1),b(", ",-1),e("strong",null,"Content",-1),b(", and ",-1),e("strong",null,"Category",-1),b(" are required. ",-1)])])):i("",!0),e("div",Re,[e("button",{onClick:L,class:"action-btn bg-gray-500"},"Cancel"),e("button",{onClick:X,disabled:c.value,class:"action-btn bg-success"},r(c.value?"Saving...":s.value.id?"Update Notice":"Add Notice"),9,qe)])])):i("",!0),y.value?(a(),n("div",{key:3,class:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:Z(I,["self"])},[e("div",ze,[t[19]||(t[19]=e("h3",{class:"mb-4 text-xl font-semibold text-black dark:text-white"},"Confirm Delete",-1)),e("p",Je,' Are you sure you want to delete "'+r(p.value?.title)+'"? This action cannot be undone. ',1),e("div",Be,[e("button",{onClick:I,class:"action-btn bg-gray-500"},"Cancel"),e("button",{onClick:B,disabled:c.value,class:"action-btn bg-danger"},r(c.value?"Deleting...":"Delete"),9,Xe)])])])):i("",!0)]),w(se,ee({"is-visible":h(U)},h(j),{onClose:h(P),onSelect:h(E)}),null,16,["is-visible","onClose","onSelect"])]),_:1}))}}),ft=re(Le,[["__scopeId","data-v-7896826d"]]);export{ft as default};

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.