PageSourceSearch

https://app.adset.pro/assets/PwaLocaleCrudView-Cir5Xew1.js

js adset.pro collected 2026-09-24 14:28:51 UTC 11,866 bytes, 1 lines download raw bytes

1import{$ as ve,a0 as _e,e as fe,g as we,w as be,x as ge,v as ye,G as he,F as xe,h as ke,a7 as Ae}from"./vendor-primevue-Ccwe8ICX.js";import{d as Ve,_ as $e,r as u,t as Y,c as Z,J as S,b,g as i,i as c,K as r,a as B,x as o,M as d,Q as L,n as J,F as ee,j as Ce}from"./vendor-vue-BKoTHMGq.js";import{h as T,a as Se}from"./index-ChU8jYFA.js";import{b as Te}from"./api-query-BuJwE4A5.js";import{S as Fe}from"./SectionCard-CICaI-qm.js";import{_ as Ie}from"./EmptyStateStandalone.vue_vue_type_script_setup_true_lang-DxWepibH.js";import"./vendor-DweBnwaO.js";import"./vendor-charts-DDDWuFtC.js";import"./vendor-utils-Dz6h6rJQ.js";const F="/pwa-locale",E={async list(m){const{data:e}=await T.get(F,m);return e},async get(m){const{data:e}=await T.get(`${F}/${encodeURIComponent(m)}`);return e.data},async create(m){const{data:e}=await T.post(F,m);return e.data},async update(m,e){const{data:v}=await T.patch(`${F}/${encodeURIComponent(m)}`,e);return v.data},async import(m){const{data:e}=await T.post(`${F}/import`,{items:m});return e.data}},Oe={class:"flex gap-2"},je={class:"flex flex-wrap gap-2 mb-3"},Ue=["onClick"],Ee={class:"text-sm"},ze={class:"text-sm"},Ne={class:"flex flex-col gap-4"},Re={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},De={class:"block text-sm font-medium mb-1"},Be={class:"flex items-center gap-2 mt-6"},Le={class:"text-sm"},Je={class:"block text-sm font-medium mb-1"},Pe={class:"block text-sm font-medium mb-1"},Ke={class:"flex justify-end gap-2"},Ge={class:"flex flex-col gap-4"},Me={class:"text-sm text-surface-600 dark:text-surface-400"},Qe={class:"flex gap-2 items-end flex-wrap"},We={class:"flex-1 min-w-[10rem]"},qe={class:"block text-sm font-medium mb-1"},He={class:"block text-sm font-medium mb-1"},Xe={key:0,class:"flex gap-3 items-center flex-wrap"},Ye={key:1,class:"text-xs text-red-500 w-full list-disc pl-5"},Ze={class:"flex justify-end gap-2"},ct=Ve({__name:"PwaLocaleCrudView",setup(m){const{t:e}=$e(),{showToast:v}=Se(),z=u([]),P=u(0),I=u(!0),V=u(!1),$=u(!1),g=Y({first:0,rows:25}),y=Y({sortField:"code",sortOrder:1}),N=u(""),te={code:{field:"code",op:"contains",serialize:l=>l!=null&&l.trim()?l.trim():void 0}};function K(l){var t,s,n;return((n=(s=(t=l==null?void 0:l.response)==null?void 0:t.data)==null?void 0:s.error)==null?void 0:n.message)??String((l==null?void 0:l.message)??l)}function G(l){return l?Object.keys(l).length:0}async function h(){I.value=!0;try{const{params:l}=Te({pageFirst:g.first,pageRows:g.rows,sortField:y.sortField,sortOrder:y.sortOrder,filters:{code:N.value},spec:te}),{data:t,meta:s}=await E.list({params:l});z.value=t,P.value=s.total}finally{I.value=!1}}function le(l){g.first=l.first,g.rows=l.rows,h()}function ae(l){y.sortField=l.sortField,y.sortOrder=l.sortOrder,h()}const x=u(!1),O=u(!1);function M(){return{code:"",isActive:!0,pwaText:"{}",iosText:"{}"}}const p=u(M()),oe=Z(()=>!!p.value.id),se=Z(()=>oe.value?e("pwa_locale.form.title_edit"):e("pwa_locale.form.title_create"));function Q(){O.value=!1,p.value=M(),x.value=!0}function W(l){O.value=!1,p.value={id:l.id,code:l.code,isActive:l.isActive,pwaText:JSON.stringify(l.pwa??{},null,2),iosText:JSON.stringify(l.ios??{},null,2)},x.value=!0}function q(l,t){let s;try{s=JSON.parse(l||"{}")}catch{throw new Error(e("pwa_locale.form.invalid_json",{field:t}))}if(!s||typeof s!="object"||Array.isArray(s))throw new Error(e("pwa_locale.form.invalid_json",{field:t}));return s}async function ie(){O.value=!0;const l=p.value;if(!l.code.trim())return;let t,s;try{t=q(l.pwaText,"pwa"),s=q(l.iosText,"ios")}catch(n){v({type:"error",title:e("pwa_locale.toast.error_title"),message:n.message});return}V.value=!0;try{l.id?(await E.update(l.id,{code:l.code.trim(),isActive:l.isActive,pwa:t,ios:s}),v({type:"success",title:e("pwa_locale.toast.updated_title"),message:e("pwa_locale.toast.updated_message",{code:l.code})})):(await E.create({code:l.code.trim(),isActive:l.isActive,pwa:t,ios:s}),v({type:"success",title:e("pwa_locale.toast.created_title"),message:e("pwa_locale.toast.created_message",{code:l.code})})),x.value=!1,await h()}catch(n){v({type:"error",title:e("pwa_locale.toast.error_title"),message:K(n)})}finally{V.value=!1}}const C=u(!1),k=u(""),A=u(""),_=u(null);function re(){k.value="",A.value="",_.value=null,C.value=!0}function ne(l){var n;const t=(n=l.files)==null?void 0:n[0];if(!t)return;if(!k.value.trim()){const w=t.name.replace(/\.json$/i,"");w&&(k.value=w)}const s=new FileReader;s.onload=w=>{var f;const j=(f=w.target)==null?void 0:f.result;j&&(A.value=j)},s.readAsText(t)}function ce(){let l;try{l=JSON.parse(A.value)}catch{throw new Error(e("pwa_locale.import.invalid_json"))}if(Array.isArray(l))return H(l);if(!l||typeof l!="object")throw new Error(e("pwa_locale.import.invalid_json"));const t=l;if(Array.isArray(t.items))return H(t.items);const s=typeof t.code=="string"&&t.code.trim()||k.value.trim();if(!s)throw new Error(e("pwa_locale.import.code_required"));return[{code:s,isActive:typeof t.isActive=="boolean"?t.isActive:void 0,pwa:t.pwa??{},ios:t.ios??{}}]}function H(l){return l.map((t,s)=>{const n=t;if(!n.code||!String(n.code).trim())throw new Error(e("pwa_locale.import.missing_code_at",{index:s+1}));return{code:String(n.code).trim(),isActive:n.isActive,pwa:n.pwa??{},ios:n.ios??{}}})}async function de(){let l;try{l=ce()}catch(t){v({type:"error",title:e("pwa_locale.toast.error_title"),message:t.message});return}$.value=!0;try{const t=await E.import(l);_.value=t,v({type:t.errors.length?"warn":"success",title:e("pwa_locale.import.done_title"),message:e("pwa_locale.import.done_message",{created:t.created,updated:t.updated,errors:t.errors.length})}),await h(),t.errors.length||(C.value=!1)}catch(t){v({type:"error",title:e("pwa_locale.toast.error_title"),message:K(t)})}finally{$.value=!1}}return h(),(l,t)=>{const s=we,n=_e,w=fe,j=ve,f=ge,U=ye,pe=be,ue=he,R=xe,X=ke,me=Ae;return b(),S(ee,null,[i(Fe,null,{title:c(()=>[L(d(o(e)("pwa_locale.title")),1)]),description:c(()=>
1[L(d(o(e)("pwa_locale.description")),1)]),action:c(()=>[r("div",Oe,[i(s,{icon:"pi pi-upload",size:"small",severity:"info",label:o(e)("pwa_locale.import.button"),onClick:re},null,8,["label"]),i(s,{icon:"pi pi-plus",size:"small",severity:"success",label:o(e)("pwa_locale.create"),onClick:Q},null,8,["label"])])]),default:c(()=>[r("div",je,[i(j,null,{default:c(()=>[i(n,{class:"pi pi-search"}),i(w,{modelValue:N.value,"onUpdate:modelValue":[t[0]||(t[0]=a=>N.value=a),h],size:"small",placeholder:o(e)("pwa_locale.columns.code")},null,8,["modelValue","placeholder"])]),_:1})]),!I.value&&z.value.length===0?(b(),B(Ie,{key:0,iconClass:"pi pi-language",title:o(e)("pwa_locale.empty.title"),description:o(e)("pwa_locale.empty.description")},{action:c(()=>[i(s,{label:o(e)("pwa_locale.empty.create"),icon:"pi pi-plus",severity:"success",onClick:Q},null,8,["label"])]),_:1},8,["title","description"])):(b(),B(pe,{key:1,value:z.value,stripedRows:"",lazy:!0,loading:I.value,dataKey:"id",paginator:!0,rows:g.rows,first:g.first,totalRecords:P.value,sortField:y.sortField,sortOrder:y.sortOrder,onPage:le,onSort:ae,rowsPerPageOptions:[10,25,50,100],size:"small",tableClass:"base-table",showGridlines:"",rowHover:""},{default:c(()=>[i(f,{field:"code",header:o(e)("pwa_locale.columns.code"),sortable:"",style:{"min-width":"8rem"}},{body:c(({data:a})=>[r("span",{class:"text-primary underline cursor-pointer font-medium",onClick:D=>W(a)},d(a.code),9,Ue)]),_:1},8,["header"]),i(f,{header:o(e)("pwa_locale.columns.pwa_keys"),style:{"min-width":"8rem"}},{body:c(({data:a})=>[r("span",Ee,d(G(a.pwa)),1)]),_:1},8,["header"]),i(f,{header:o(e)("pwa_locale.columns.ios_keys"),style:{"min-width":"8rem"}},{body:c(({data:a})=>[r("span",ze,d(G(a.ios)),1)]),_:1},8,["header"]),i(f,{field:"isActive",header:o(e)("pwa_locale.form.isActive"),style:{"min-width":"6rem"}},{body:c(({data:a})=>[i(U,{value:a.isActive?"Active":"Inactive",severity:a.isActive?"success":"danger"},null,8,["value","severity"])]),_:1},8,["header"]),i(f,{field:"updated",header:o(e)("pwa_locale.columns.updated"),sortable:"",style:{"min-width":"10rem"}},{body:c(({data:a})=>[L(d(new Date(a.updated).toLocaleString()),1)]),_:1},8,["header"]),i(f,{exportable:!1,style:{width:"60px"}},{body:c(({data:a})=>[i(s,{icon:"pi pi-pencil",text:"",rounded:"",size:"small",onClick:D=>W(a)},null,8,["onClick"])]),_:1})]),_:1},8,["value","loading","rows","first","totalRecords","sortField","sortOrder"]))]),_:1}),i(X,{visible:x.value,"onUpdate:visible":t[6]||(t[6]=a=>x.value=a),style:{width:"820px",maxWidth:"95vw"},header:se.value,modal:!0,closable:!V.value,draggable:!1},{footer:c(()=>[r("div",Ke,[i(s,{label:o(e)("pwa_locale.form.cancel"),icon:"pi pi-times",text:"",disabled:V.value,onClick:t[5]||(t[5]=a=>x.value=!1)},null,8,["label","disabled"]),i(s,{label:o(e)("pwa_locale.form.save"),icon:"pi pi-check",loading:V.value,onClick:ie},null,8,["label","loading"])])]),default:c(()=>[r("div",Ne,[r("div",Re,[r("div",null,[r("label",De,d(o(e)("pwa_locale.form.code"))+" *",1),i(w,{modelValue:p.value.code,"onUpdate:modelValue":t[1]||(t[1]=a=>p.value.code=a),placeholder:o(e)("pwa_locale.form.code_placeholder"),invalid:O.value&&!p.value.code.trim(),class:"w-full"},null,8,["modelValue","placeholder","invalid"])]),r("div",Be,[i(ue,{modelValue:p.value.isActive,"onUpdate:modelValue":t[2]||(t[2]=a=>p.value.isActive=a)},null,8,["modelValue"]),r("label",Le,d(o(e)("pwa_locale.form.isActive")),1)])]),r("div",null,[r("label",Je,d(o(e)("pwa_locale.form.pwa")),1),i(R,{modelValue:p.value.pwaText,"onUpdate:modelValue":t[3]||(t[3]=a=>p.value.pwaText=a),rows:12,class:"w-full font-mono text-xs",spellcheck:"false"},null,8,["modelValue"])]),r("div",null,[r("label",Pe,d(o(e)("pwa_locale.form.ios")),1),i(R,{modelValue:p.value.iosText,"onUpdate:modelValue":t[4]||(t[4]=a=>p.value.iosText=a),rows:12,class:"w-full font-mono text-xs",spellcheck:"false"},null,8,["modelValue"])])])]),_:1},8,["visible","header","closable"]),i(X,{visible:C.value,"onUpdate:visible":t[10]||(t[10]=a=>C.value=a),style:{width:"720px",maxWidth:"95vw"},header:o(e)("pwa_locale.import.title"),modal:!0,closable:!$.value,draggable:!1},{footer:c(()=>[r("div",Ze,[i(s,{label:o(e)("pwa_locale.form.cancel"),icon:"pi pi-times",text:"",disabled:$.value,onClick:t[9]||(t[9]=a=>C.value=!1)},null,8,["label","disabled"]),i(s,{label:o(e)("pwa_locale.import.submit"),icon:"pi pi-upload",loading:$.value,disabled:!A.value.trim(),onClick:de},null,8,["label","loading","disabled"])])]),default:c(()=>[r("div",Ge,[r("p",Me,d(o(e)("pwa_locale.import.hint")),1),r("div",Qe,[r("div",We,[r("label",qe,d(o(e)("pwa_locale.import.code_label")),1),i(w,{modelValue:k.value,"onUpdate:modelValue":t[7]||(t[7]=a=>k.value=a),placeholder:o(e)("pwa_locale.import.code_placeholder"),class:"w-full"},null,8,["modelValue","placeholder"])]),i(me,{mode:"basic",accept:"application/json,.json",maxFileSize:5e6,auto:!0,customUpload:!0,chooseLabel:o(e)("pwa_locale.import.choose_file"),chooseIcon:"pi pi-file",onSelect:ne,class:"p-button-sm",severity:"secondary"},null,8,["chooseLabel"])]),r("div",null,[r("label",He,d(o(e)("pwa_locale.import.paste_label")),1),i(R,{modelValue:A.value,"onUpdate:modelValue":t[8]||(t[8]=a=>A.value=a),rows:14,class:"w-full font-mono text-xs",spellcheck:"false",placeholder:o(e)("pwa_locale.import.paste_placeholder")},null,8,["modelValue","placeholder"])]),_.value?(b(),S("div",Xe,[i(U,{value:`${o(e)("pwa_locale.import.created")}: ${_.value.created}`,severity:"success"},null,8,["value"]),i(U,{value:`${o(e)("pwa_locale.import.updated")}: ${_.value.updated}`,severity:"info"},null,8,["value"]),_.value.errors.length?(b(),B(U,{key:0,value:`${o(e)("pwa_locale.import.errors")}: ${_.value.errors.length}`,severity:"danger"},null,8,["value"])):J("",!0),_.value.errors.length?(b(),S("ul",Ye,[(b(!0),S(ee,null,Ce(_.value.errors,(a,D)=>(b(),S("li",{key:D},d(a),1))),128))])):J("",!0)])):J("",!0)])]),_:1},8,["visible","header","closable"])],64)}}});
1export{ct 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.