PageSourceSearch

https://timregion.ru/kubcms-front/v5/master/s/c-FormPublicRender-CpbsUQ8T.js

js timregion.ru collected 2026-09-25 04:35:12 UTC 15,924 bytes, 1 lines download raw bytes

1import{o as Q,d as ee,m as te,n as le,f as re}from"./c-el-form-item-lGG0C5Mp.js";import{aL as oe,gl as ue,gm as ce,fi as y,aR as I,cx as T,cA as ae,cG as z,cL as pe,a_ as O,bc as C,by as K,cy as x,dW as S,cB as me,gn as fe,c9 as k,aV as n,b2 as _,b3 as g,b1 as B,b6 as M,aW as v,bR as D,bh as U,cE as q,bt as W,c1 as G,cC as de,cD as se,bg as $,ca as j,cr as be,cc as ge,bm as _e,aZ as Y,b4 as he,aX as ve}from"./c-index-C7aDQtMU.js";import{d as Ve}from"./c-vuedraggable.umd-CphuF5Dz.js";import{E as ne}from"./c-index-CWiIv3MT.js";/* empty css                         */import{E as A,a as ie}from"./c-el-checkbox-yCtUXoWo.js";/* empty css                            */import{t as ye}from"./c-toInteger-D4xaUtYr.js";import{_ as Fe}from"./c-index-BZpaQH0o.js";import{l as Z}from"./c-lodash-9MuaAKnG.js";var $e="[object String]";function Ee(e){return typeof e=="string"||!oe(e)&&ue(e)&&ce(e)==$e}function ke(e){return typeof e=="number"&&e==ye(e)}const Ue=({fields:e,basicValue:t={}})=>{const a={},o={};for(const l of e){if(l.type==="checkboxes"||l.type==="files"?a[l.cid]=y(t,l.cid,[]):a[l.cid]=y(t,l.cid,""),o[l.cid]=[],l.required){const s={required:!0,message:"Поле обязательно для заполнения",trigger:"blur"};(l.type==="checkboxes"||l.type==="files")&&(s.type="array"),o[l.cid].push(s)}const i=y(l,"field_options.minlength",null),d=y(l,"field_options.maxlength",null),r=y(l,"field_options.type",null);if(r==="files"){l.required&&o[l.cid].push({type:"array",min:1,message:"Необходимо прикрепить файл",trigger:"blur"});const s=y(l,"field_options.max_files",1);s&&o[l.cid].push({type:"array",max:s,message:`Кол-во файлов превышает допустимое значение ${l.field_options.max_files} шт.`,trigger:"blur"})}r==="email"?o[l.cid].push({type:"email",message:"Email адрес не валиден",trigger:"blur"}):r==="numbers"?o[l.cid].push({type:"string",required:!0,pattern:/^[0-9]+$/,message:"В поле должны быть только цифры",transform(s){return s.trim()}}):r==="www"&&o[l.cid].push({type:"url",message:"Адрес сайта не валиден",trigger:"blur"}),i&&d?o[l.cid].push({min:parseInt(i),max:parseInt(d),message:`Кол-во символов в поле должно быть от ${i} до ${d}`,trigger:"blur"}):i?o[l.cid].push({min:parseInt(i),message:`Кол-во символов в поле должно быть не менее ${i}`,trigger:"blur"}):d&&o[l.cid].push({max:parseInt(d),message:`Кол-во символов в поле должно быть не более ${d}`,trigger:"blur"})}return{rules:o,value:a}},w={disabled:{type:Boolean},field:{type:Object,required:!0,default:()=>{}},isEditMode:{type:Boolean},modelValue:{required:!0,type:Array},formId:{type:Number,required:!0},cid:{type:String,required:!0,default:()=>""}},Ie=I({components:{ElUpload:ae,ElButton:T},props:{...w,modelValue:{required:!0,type:Array}},emits:{"update:modelValue":e=>!0,validate:()=>!0},setup(e,{emit:t}){const{modelValue:a,field:o,disabled:l,formId:i}=z(e),d=pe(),r=O({}),s=O([]),b=C(()=>`/api/item/${i.value}/form/upload`),m=C(()=>a.value||[]),u=C(()=>y(o.value,"field_options.max_files",1)),V=C(()=>m.value.length>=u.value),E=C(()=>l.value||V.value),R=()=>({"X-XSRF-TOKEN":me(),"X-CTKN":d.state}),N=async p=>{s.value.push(p),r.value=R()},P=async()=>{const p=R();try{for(const F of s.value)await fe({headers:p,file:F,filename:"file",action:b.value,method:"POST",onSuccess:f})}catch{}s.value=[]},H=(p,F)=>{t("update:modelValue",F),K(()=>{t("validate")})},c=(p,F)=>{x.error(`Возможна загрузка не более ${u.value} файлов`)},f=(p,F,L)=>{var X;if(p!=null&&p.result){const J=S(a.value);J.push(p.result),x.success("Файл "+(((X=p==null?void 0:p.result)==null?void 0:X.name)||"Без имени")+" успешно загружен!"),t("update:modelValue",J),K(()=>{t("validate")})}};return{cpDisabled:E,cpMaxFiles:u,headers:r,cpValue:m,cpIsLimitExceed:V,cpActionUrl:b,beforeUpload:N,handleRemove:H,handleExceed:c,onFileUploadSuccess:f,onFileUploadError:(p,F,L)=>{p.message.includes("пройти капчу")?(d.show=!0,d.successFunc=P):x.error("При загрузке файла произошла ошибка")}}}}),we={class:"el-upload__tip py-2"},Ce={class:"pt-2 pb-4"},Se={key:0,class:"text-center mb-3"},Me={key:0,style:{"text-align":"center"},class:"el-upload__tip pt-3 pb-2"};function qe(e,t,a,o,l,i){const d=T,r=ae;return n(),_(r,{action:e.cpActionUrl,"on-success":e.onFileUploadSuccess,"on-error":e.onFileUploadError,"on-remove":e.handleRemove,headers:e.headers,"before-upload":e.beforeUpload,disabled:e.disabled,multiple:e.cpMaxFiles>1,"on-exceed":e.handleExceed,class:"form-file-uploader"},{tip:g(()=>[e.cpIsLimitExceed?U("",!0):(n(),v("div",Me," Размер каждого файла не должен превышать 10мб "))]),default:g(()=>[B("div",we,M(e.field.field_options.description),1),B("div",Ce,"Загружено "+M(e.cpValue.length)+" из "+M(e.cpMaxFiles),1),e.cpIsLimitExceed?(n(),v("h3",Se," Загружено максимальное кол-во файлов ")):(n(),_(d,{key:1,disabled:e.cpDisabled,size:"small",type:"primary"},{default:g(()=>[...t[0]||(t[0]=[D("Выбрать файлы",-1)])]),_:1},8,["disabled"]))]),_:1},8,["action","on-success","on-error","on-remove","headers","before-upload","disabled","multiple","on-exceed"])}const Le=k(Ie,[["render",qe]]);function Oe(e){if(!e)return null;const t=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0");return`${t}-${a}-${o}`}const Be=I({components:{ElDatePicker:ne},props:{...w,modelValue:{required:!0,type:String}},emits:{"update:modelValue":e=>!0},setup(e,{emit:t}){function a(o){t("update:modelValue",Oe(o))}return{handleDateUpdate:a}}});function De(e,t,a,o,l,i){const d=ne;return n(),_(d,{modelValue:e.modelValue,disabled:e.disabled,"onUpdate:modelValue":e.handleDateUpdate,type:"date",placeholder:"Выберите дату"},null,8,["modelValue","disabled","onUpdate:modelValue"])}const Re=k(Be,[["render",De],["__scopeId","data-v-4e5f5858"]]),Te=I({components:{ElInput:q},props:{...w,modelValue:{required:!0,type:String}},emits:{"update:modelValue":e=>!0}});function Ae(e,t,a,o,l,i){const d=q;return n(),_(d,{disabled:e.disabled,rows:3,modelValue:e.modelValue,"onUpdate:modelValue":t[0]||(t[0]=r=>e.$emit("update:modelValue",r)),type:"textarea",placeholder:"Введите текст"},null,8,["disabled","modelValue"])}const Ne=k(Te,[["render",Ae]]),Pe=I({components:{ElCheckboxGroup:ie,ElCheckbox:A},props:w,setup(e,{emit:t}){const{modelValue:a,field:o}=z(e),l=C(()=>y(o.value,"field_options.options",[]));return{cpValue:C({get(){return oe(a.value)?a.value:[]},set(d){t("update:modelValue",d)}}),cpFieldOptions:l}}});function He(e,t,a,o,l,i){const d=A,r=ie;return e.cpFieldOptions?(n(),_(r,{key:0,disabled:e.disabled,modelValue:e.cpValue,"onUpdate:modelValue":t[0]||(t[0]=s=>e.cpValue=s)},{default:g(()=>[(n(!0),v(W,null,G(e.cpFieldOptions,(s,b)=>(n(),_(d,{key:b,value:b,class:"label-vertical"},{default:g(()=>[D(M(s.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["disabled","modelValue"])):U("",!0)}const xe=k(Pe,[["render",He],["__scopeId","data-v-dea6b56c"]]),je=I({components:{ElSelect:se,ElOption:de},props:{...w,modelValue:{required:!0,type:[String,Number]}},computed:{cpOptions(){return y(this.field,"field_options.options",[])}},emits:{"update:modelValue":e=>!0},methods:{inputHandle(e){const t=ke(e)?e:null;this.$emit("update:modelValue",t)}}});function ze(e,t,a,o,l,i){const d=de,r=se;return n(),_(r,{disabled:e.disabled,modelValue:e.modelValue,"onUpdate:modelValue":e.inputHandle,clearable:"",placeholder:"Выберите вариант из списка",class:"dropdown-select"},{default:g(()=>[(n(!0),v(W,null,G(e.cpOptions,(s,b)=>(n(),_(d,{key:b,label:s.label,value:b},null,8,["label","value"]))),128))]),_:1},8,["disabled","modelValue","onUpdate:modelValue"])}
1const We=k(je,[["render",ze],["__scopeId","data-v-528448af"]]),Ge=I({components:{ElRadioGroup:ee,ElRadio:Q,ElCheckbox:A,ElInput:q},props:{...w,modelValue:{type:[String,Number],required:!0}},data(){return{otherField:!1}},emits:{"update:modelValue":e=>!0},computed:{cpValueIsString(){return Ee(this.cpValue)},cpFieldOptions(){return y(this.field,"field_options.options",null)},cpOtherOption(){return y(this.field,"field_options.include_other_option",!1)},cpValue:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}}),Xe={class:"radio-field"},Je={key:0,class:"label-vertical other-field"};function Ke(e,t,a,o,l,i){const d=Q,r=ee,s=A,b=q;return n(),v("div",Xe,[$(r,{modelValue:e.cpValue,"onUpdate:modelValue":t[1]||(t[1]=m=>e.cpValue=m),disabled:e.disabled,class:"radio-group-custom"},{default:g(()=>[(n(!0),v(W,null,G(e.cpFieldOptions,(m,u)=>(n(),_(d,{key:u,label:u,onChange:t[0]||(t[0]=V=>e.otherField=!1),class:"label-vertical"},{default:g(()=>[D(M(m.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","disabled"]),e.cpOtherOption?(n(),v("label",Je,[B("div",null,[$(s,{value:!0,disabled:e.disabled,modelValue:e.otherField,"onUpdate:modelValue":t[2]||(t[2]=m=>e.otherField=m),onChange:t[3]||(t[3]=m=>e.cpValue="")},{default:g(()=>[...t[5]||(t[5]=[D("Другое",-1)])]),_:1},8,["disabled","modelValue"])]),e.otherField?(n(),_(b,{key:0,disabled:e.disabled,name:e.cid,modelValue:e.cpValue,"onUpdate:modelValue":t[4]||(t[4]=m=>e.cpValue=m),class:"mt-2",type:"text",placeholder:"Напишите Ваш вариант"},null,8,["disabled","name","modelValue"])):U("",!0)])):U("",!0)])}const Ye=k(Ge,[["render",Ke],["__scopeId","data-v-0277d989"]]),Ze=I({components:{ElInput:q},props:{...w,modelValue:{type:String,required:!0}},emits:{"update:modelValue":e=>!0},computed:{cpFieldType(){var e,t;return((t=(e=this.field)==null?void 0:e.field_options)==null?void 0:t.type)==="numbers"?"number":"text"}}}),Qe={class:"form-text-input w-full"},et={class:"text-muted"};function tt(e,t,a,o,l,i){const d=q;return n(),v("div",Qe,[B("div",et,M(e.field.field_options.description),1),$(d,{disabled:e.disabled,"model-value":e.modelValue,onInput:t[0]||(t[0]=r=>e.$emit("update:modelValue",r))},null,8,["disabled","model-value"])])}const lt=k(Ze,[["render",tt],["__scopeId","data-v-442d9b88"]]),ot=I({components:{CKEditorBase:Fe},props:{...w,modelValue:{required:!0,type:String}},setup(e,{emit:t}){return{updateDescription:l=>{let i=Z.cloneDeep(e.field);i=Z.set(i,"field_options.description",l),t("update:field",i)},editorConfig:{contentsLanguage:"ru",language:"ru",toolbar:[{name:"clipboard",items:["Cut","Copy","Paste","PasteText","PasteFromWord","-","Undo","Redo"]},{name:"links",items:["Link","Unlink"]},{name:"insert",items:["Table"]},"/",{name:"basicstyles",items:["Bold","Italic","Underline"]},{name:"paragraph",items:["NumberedList","BulletedList","-","JustifyLeft","JustifyCenter","JustifyRight","JustifyBlock"]},{name:"styles",items:["Format","FontSize"]},{name:"colors",items:["TextColor","BGColor"]}],filebrowserUploadUrl:"/api/admin/attachments/upload/texteditor",filebrowserImageUploadUrl:"/api/admin/attachments/upload/texteditor",width:"100%",filebrowserUploadWindowWidth:"640",filebrowserUploadWindowHeight:"480",extraPlugins:"uploadimage,image2,removeformat,justify,colorbutton",uploadUrl:"/api/admin/attachments/upload/texteditor",format_tags:"p;h1;h2;h3;pre",ckwebspeech:{culture:"ru-ru",commandvoice:"команда",commands:[{newline:"новая строка"},{newparagraph:"новый параграф"},{undo:"назад"},{redo:"вперед"}]},allowedContent:!0}}}}),at=["innerHTML"];function dt(e,t,a,o,l,i){const d=j("CKEditorBase");return n(),v("div",null,[e.isEditMode?U("",!0):(n(),v("div",{key:0,innerHTML:e.field.field_options.description},null,8,at)),$(d,{class:"w-full",config:e.editorConfig,darkModeAuto:!1,modelValue:e.field.field_options.description,"onUpdate:modelValue":e.updateDescription},null,8,["config","modelValue","onUpdate:modelValue"])])}const st=k(ot,[["render",dt],["__scopeId","data-v-a37941a7"]]),nt={props:{isEditMode:{type:Boolean,required:!1,default:!1},formId:{type:Number,required:!0},selectedIndex:{type:Number,required:!1,default:null},onSubmitHandle:{type:Function,required:!0},modelValue:{type:Object,required:!0},fields:{type:Array,required:!0}},components:{draggable:Ve,FilesField:Le,DateField:Re,ParagraphField:Ne,CheckboxesField:xe,DropdownField:We,RadioField:Ye,TextField:lt,HtmlField:st,ElForm:le,ElFormItem:te,ElButton:T,FontAwesomeIcon:be},emits:{"change-fields":e=>!0,"update:modelValue":e=>!0,"item-selected":e=>!0},setup(e,{emit:t}){const{formId:a,selectedIndex:o,modelValue:l,isEditMode:i,fields:d,onSubmitHandle:r}=z(e),s=O({}),b=O(!1),m=O(),u=(c=null)=>new Promise((f,h)=>{var p,F;c?(p=m.value)==null||p.validateField(c,L=>
1{L?f(!0):h(new Error("Is not valid"))}):(F=m.value)==null||F.validate(L=>{L?f(!0):h(new Error("Is not valid"))})}),V=()=>{const{rules:c,value:f}=Ue({fields:d.value,basicValue:l.value});s.value=c,t("update:modelValue",f)},E=(c,f)=>{const h=S(d.value);h[c]=f,t("change-fields",h)},R=(c,f)=>{const h=S(l.value);h[f]=c,t("update:modelValue",h)},N=c=>{const f=S(d.value);f.splice(c,1),t("change-fields",f)},P=c=>{const f=S(d.value),h=S(d.value[c]);h.cid=Math.random().toString(36).substr(2,9),f.splice(c+1,0,h),t("change-fields",f)},H=async()=>{try{await u()}catch(c){throw re.error("Возникла ошибка валидации, пожалуйста проверьте правильность заполнения полей формы"),c}b.value=!0,i.value?await new Promise(c=>setTimeout(c,2e3)):await r.value(),b.value=!1};return ge(()=>{V()}),_e(d,()=>{V()}),{loading:b,rules:s,validate:u,removeField:N,onSubmit:H,cloneField:P,emit:t,ruleFormRef:m,onUpdateModelValue:R,updateFieldData:E}}},it=["onClick"],rt={key:0,class:"settings-row"};function ut(e,t,a,o,l,i){const d=te,r=j("FontAwesomeIcon"),s=T,b=j("draggable"),m=le;return n(),_(m,{ref:"ruleFormRef",model:a.modelValue,rules:a.isEditMode?{}:o.rules,class:"public-form","validate-on-rule-change":!1,"label-position":"top"},{default:g(()=>[$(b,{"onUpdate:modelValue":t[0]||(t[0]=u=>o.emit("change-fields",u)),"model-value":a.fields,key:"7","item-key":"cid",class:Y([{"drag-area-placeholder":a.isEditMode},"drag-area"]),disabled:!a.isEditMode,forceFallback:!0,sort:a.isEditMode,group:{name:"people",pull:!1,put:!0},"component-data":{tag:"div",type:"transition-group",name:"bounce",style:"height: 100%; min-height: 300px;"}},{item:g(({element:u,index:V})=>[(n(),v("div",{class:Y([{"edit-mode":a.isEditMode,"item-selected":V===a.selectedIndex},"mb-2 form-item"]),onClick:E=>o.emit("item-selected",V),key:u.cid},[$(d,{prop:u.cid,label:u.label},{default:g(()=>[a.modelValue[u.cid]!==void 0?(n(),_(he(u.type+"-field"),{key:0,disabled:o.loading||a.isEditMode,onValidate:E=>o.validate(u.cid),isEditMode:a.isEditMode,formId:a.formId,cid:u.cid,class:"w-full",field:u,modelValue:a.modelValue[u.cid],"onUpdate:field":o.updateFieldData,"onUpdate:modelValue":E=>o.onUpdateModelValue(E,u.cid)},null,40,["disabled","onValidate","isEditMode","formId","cid","field","modelValue","onUpdate:field","onUpdate:modelValue"])):U("",!0)]),_:2},1032,["prop","label"]),a.isEditMode?(n(),v("div",rt,[$(s,{onClick:E=>o.cloneField(V),size:"small"},{default:g(()=>[$(r,{icon:"clone"})]),_:1},8,["onClick"]),$(s,{onClick:E=>o.removeField(V),size:"small",type:"danger"},{default:g(()=>[$(r,{icon:"trash"})]),_:1},8,["onClick"])])):U("",!0)],10,it))]),_:1},8,["model-value","class","disabled","sort"]),ve(e.$slots,"errors",{},void 0,!0),a.isEditMode?U("",!0):(n(),_(s,{key:0,loading:o.loading,size:"large",onClick:o.onSubmit,type:"primary"},{default:g(()=>[...t[1]||(t[1]=[B("i",{class:"fa fa-envelope mr-3"},null,-1),D(" Отправить",-1)])]),_:1},8,["loading","onClick"]))]),_:3},8,["model","rules"])}const yt=k(nt,[["render",ut],["__scopeId","data-v-7a3ec36b"]]);export{yt as F,Ee as i};

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.