PageSourceSearch

https://ottisk.com/wp-content/themes/wp-ottisk/assets/FAQEditor-B97TDwnz-task13751-urg13746v3.js

js ottisk.com collected 2026-10-08 21:59:15 UTC 7,467 bytes, 1 lines download raw bytes

1var te=Object.defineProperty,ae=Object.defineProperties;var se=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var re=Object.prototype.hasOwnProperty,oe=Object.prototype.propertyIsEnumerable;var J=(t,a,s)=>a in t?te(t,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[a]=s,p=(t,a)=>{for(var s in a||(a={}))re.call(a,s)&&J(t,s,a[s]);if(N)for(var s of N(a))oe.call(a,s)&&J(t,s,a[s]);return t},m=(t,a)=>ae(t,se(a));var E=(t,a,s)=>new Promise((c,n)=>{var d=h=>{try{S(s.next(h))}catch(x){n(x)}},b=h=>{try{S(s.throw(h))}catch(x){n(x)}},S=h=>h.done?c(h.value):Promise.resolve(h.value).then(d,b);S((s=s.apply(t,a)).next())});import{j as o,am as k,a as e,aC as $,aQ as le,bh as w,bL as de,bN as q,bO as B,bP as R,aW as W,aX as z,aZ as G,bm as v,bQ as I,bg as M,ah as ce,bR as V,ai as y,a_ as H,aV as U,r as g,v as ue,bS as he,bs as Q,b6 as pe,bT as me,ag as j,bU as be,F as fe,bV as ge,bi as Se,bj as xe,bW as ye,bX as ke,bY as we,a$ as Ae,bZ as ve,aG as L,b7 as Ce,a0 as T}from"./main-qYKO7pVA-task13751-urg13746v3.js";import{T as Fe}from"./index.esm-BpUptsSl-task13751-urg13746v3.js";import{O as Ee}from"./FloatingForm-CyaJ8rzE-task13751-urg13746v3.js";import{M as P}from"./MonacoEditor-CydblLYX-task13751-urg13746v3.js";const Qe=({id:t,Q:a,A:s,onUpdate:c,onDelete:n})=>o(k,{padding:"15px",paddingRight:"60px",position:"relative",borderRadius:"10px",boxShadow:"0 2px 4px 0 rgba(0, 0, 0, 0.15)",marginBottom:"10px",children:[o(k,{className:"FAQPreview",children:[e($,{as:"h4",fontSize:"lg",mt:0,children:e("span",{dangerouslySetInnerHTML:{__html:a}})}),e("div",{dangerouslySetInnerHTML:{__html:s}})]}),o(k,{display:"flex",flexDirection:"column",position:"absolute",bottom:"5px",right:"5px",gap:"10px",children:[e(w,{"aria-label":"Edit",icon:e(le,{}),onClick:()=>c({id:t,Q:a,A:s}),title:"Редактировать",size:"xs"}),e(w,{"aria-label":"Delete",icon:e(de,{}),onClick:()=>n(t),title:"Удалить",size:"xs"})]})]}),je=({id:t,items:a,onUpdate:s,onDelete:c,isExpanded:n})=>n?e(k,{p:4,children:a.map(d=>e(Qe,m(p({},d),{onUpdate:b=>{s(b,t)},onDelete:b=>c(b,t)}),d.id))}):null,Te=q({section:B().trim().required("Необходимо заполнить наименование секции")}),Be=({initial:t,onClose:a,isOpen:s,onChange:c})=>{const n=R({initialValues:t,onSubmit:d=>{c(d),a()},validationSchema:Te});return o(U,{isOpen:s,onClose:a,isCentered:!0,size:"lg",children:[e(W,{}),o(z,{children:[e(G,{}),e(H,{p:6,children:e("form",{onSubmit:n.handleSubmit,children:o(v,{children:[o(I,{isInvalid:!!n.errors.section,children:[e(M,{children:"Наименование секции"}),e(ce,{id:"section",type:"text",name:"section",onChange:n.handleChange,onBlur:n.handleBlur,value:n.values.section}),e(V,{children:n.errors.section})]}),e(y,{variant:"primary",type:"submit",isLoading:n.isSubmitting,isDisabled:n.isValid&&!n.isSubmitting&&!n.dirty,children:"Сохранить"})]})})})]})]})},Ie=q({Q:B().trim().required("Необходимо заполнить вопрос"),A:B().trim().required("Необходимо заполнить ответ")}),Me=({initial:t,onClose:a,isOpen:s,onChange:c})=>{const n=R({initialValues:t,onSubmit:d=>{c(d),a()},validationSchema:Ie});return o(U,{isOpen:s,onClose:a,isCentered:!0,size:"xl",children:[e(W,{}),o(z,{children:[e(G,{}),e(H,{p:6,children:e("form",{onSubmit:n.handleSubmit,children:o(v,{children:[o(I,{isInvalid:!!n.errors.Q,children:[e(M,{children:"Вопрос"}),e(P,{id:"Q",name:"Q",onChange:d=>{n.setFieldValue("Q",d)},width:"100%",height:"150px",language:"html",options:{minimap:{enabled:!1},lineNumbers:"off",wordWrap:"on"},value:n.values.Q}),e(V,{children:n.errors.Q})]}),o(I,{isInvalid:!!n.errors.A,children:[e(M,{children:"Ответ"}),e(P,{id:"A",name:"A",onChange:d=>{n.setFieldValue("A",d)},width:"100%",height:"350px",language:"html",options:{minimap:{enabled:!1},lineNumbers:"off",wordWrap:"on"},value:n.values.A}),e(V,{children:n.errors.A})]}),e(y,{variant:"primary",type:"submit",isLoading:n.isSubmitting,isDisabled:n.isValid&&!n.isSubmitting&&!n.dirty,children:"Сохранить"})]})})})]})]})};function Ve(){const[t,a]=g.useState([]),[s,c]=g.useState(""),[n,d]=g.useState(!1),[b,S]=g.useState(!1),{showSuccess:h,showError:x}
1=ue(),[C,O]=g.useState(null),[F,D]=g.useState(null);g.useEffect(()=>{E(this,null,function*(){try{const r=yield(yield fetch(`${L.domain}wp-json/ottisk/v1/getFaq`)).json();a(r),c(JSON.stringify(r,null,2))}catch(l){x(`Fetch error: ${l.message}`)}})},[]);const X=()=>E(this,null,function*(){try{const i=yield Ce.post(`${L.domain}wp-json/ottisk/v1/setFaq`,{key:"mysupersecretkey",items:t},{headers:{Accept:"application/json","Content-Type":"application/json"}});return h("Успешно сохранено"),i}catch(i){x("Что-то пошло не так. Данные не были сохранены")}}),f=i=>{c(JSON.stringify(i,null,2)),a(i)},Z=(i=null)=>{try{const l=i!=null?i:s,r=JSON.parse(l);d(!1);for(const u of r)for(const A of u.items)A.id||(A.id=T(8));f(r),i&&c(l)}catch(l){d(!0)}},Y=i=>{const l=t.filter(r=>r.id!==i);f(l)},K=()=>{const i=[...t,{id:T(6),section:"Новый раздел",items:[]}];f(i)},_=i=>{const l=t.map(r=>r.id===i.id?m(p({},r),{section:i.section}):r);f(l)},ee=i=>{const l=t.map(r=>r.id===i.sectionId?m(p({},r),{items:r.items.map(u=>u.id===i.id?m(p({},u),{Q:i.Q,A:i.A}):u)}):r);f(l)},ie=i=>{const l=t.map(r=>r.id===i?m(p({},r),{items:[...r.items,{id:T(6),Q:"",A:""}]}):r);f(l)},ne=(i,l)=>{const r=t.map(u=>u.id===l?m(p({},u),{items:u.items.filter(A=>A.id!==i)}):u);f(r)};return o(j,{children:[C&&e(Be,{initial:C,onChange:_,isOpen:!!C,onClose:()=>O(null)}),F&&e(Me,{initial:F,onChange:ee,isOpen:!!F,onClose:()=>D(null)}),o(v,{position:"sticky",top:20,alignSelf:"flex-start",p:5,spacing:4,w:"250px",children:[o(y,{"aria-label":"Add new section",onClick:K,variant:"ottisk",w:"full",children:[e(Q,{as:he,mr:2})," Добавить раздел"]}),o(y,{onClick:()=>{S(!0)},variant:"ottisk",type:"button",w:"full",children:[e(Q,{as:Fe,mr:2})," Импорт/экспорт"]}),o(y,{onClick:()=>{X()},type:"button",variant:"primary",w:"full",children:[e(Q,{as:pe,mr:2})," Сохранить"]})]}),o(v,{spacing:8,margin:"0 auto",paddingX:30,paddingTop:10,maxW:"900px",w:"full",children:[b&&o(Ee,{header:"Экспорт / импорт конфигурации",closeRequest:()=>S(!1),children:[e(me,{placeholder:"Редактор FAQ",value:s,onChange:i=>c(i.target.value),maxRows:20}),n&&e(k,{backgroundColor:"red.200",padding:"10px 20px",children:"Проверьте исходный JSON"}),e(j,{justifyContent:"center",children:e(y,{onClick:()=>Z(),children:"Проверить и обновить"})})]}),e(ve,{allowToggle:!0,w:"full",children:t==null?void 0:t.map(i=>e(be,{w:"full",children:({isExpanded:l})=>o(fe,{children:[o($,{as:"h2",display:"flex",gap:2,w:"full",children:[e(k,{flexGrow:"1",textAlign:"left",children:i.section}),o(j,{flexGrow:0,flexShrink:0,gap:2,children:[e(w,{"aria-label":"Add",icon:e(ge,{}),onClick:()=>ie(i.id),title:"Добавить"}),e(w,{"aria-label":"Edit",icon:e(Se,{}),onClick:()=>O({id:i.id,section:i.section}),title:"Редактировать"}),e(w,{"aria-label":"Delete",icon:e(xe,{}),onClick:()=>Y(i.id),title:"Удалить"}),e(ye,{children:e(ke,{})})]})]}),e(we,{pb:4,children:Ae(je,m(p({},i),{key:i.id,onUpdate:(r,u)=>D(m(p({},r),{sectionId:u})),onDelete:ne,isExpanded:l}))})]})},i.id))})]})]})}const Pe=Ve;export{Ve as FAQEditor,Pe as FAQEditorWrapper,Pe 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.