PageSourceSearch

https://piligr.im/chunk-TVXT4JOD.js

js piligr.im collected 2026-10-04 08:16:58 UTC 8,078 bytes, 1 lines download raw bytes

1import{b as O,c as r,e as H,f as z,j as P,m as J,n as K,o as Q,q as W}from"./chunk-7KGCWCL5.js";import{a as G}from"./chunk-7HRSJ6JZ.js";import{i as D,s as $,u as U,y as j}from"./chunk-YFM4AJ6Y.js";import{Ba as E,Bc as d,Ca as S,Ja as p,Mc as B,Nb as T,Oc as l,Pc as C,Qc as w,Sa as R,Y as F,_c as L,a as y,dc as V,fc as f,hc as h,jc as N,kc as M,lc as A,mc as v,nc as o,oc as a,pa as _,pc as g,uc as k,va as u,xb as s,zc as b}from"./chunk-P5XBQHXU.js";var X=(()=>{class t{constructor(){this.http=u(j),this.reviewsBaseUrl=`${G.apiUrl.replace(/\/+$/,"")}/api/v1/review`}getTravelReviews(e,i,n=0,m=5,I="createdAt,desc"){let x=new $().set("itemId",i).set("page",n.toString()).set("size",m.toString());return I&&(x=x.set("sort",I)),this.http.get(`${this.reviewsBaseUrl}/${encodeURIComponent(e)}/TRAVEL`,{params:x})}createTravelReview(e){let i={merchant:e.merchant,name:e.name,email:e.email,text:e.text,rating:e.rating};return e.title&&(i.title=e.title),e.orderId&&(i.orderId=e.orderId),e.sign&&(i.sign=e.sign),e.code&&(i.code=e.code),e.externalItemId&&(i.externalItemId=e.externalItemId),this.http.post(`/api/review/${encodeURIComponent(e.travelId)}`,i)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=_({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Z=()=>[1,2,3,4,5];function q(t,c){t&1&&(o(0,"div",3)(1,"label",8)(2,"span",4),l(3,"\u0418\u043C\u044F"),a(),g(4,"input",13),a(),o(5,"label",8)(6,"span",4),l(7,"Email"),a(),g(8,"input",14),a()())}function ee(t,c){if(t&1){let e=k();o(0,"button",15),b("click",function(){let n=E(e).$implicit,m=d();return S(m.setRating(n))}),l(1," \u2605 "),a()}if(t&2){let e=c.$implicit,i=d();B("text-[#ef1117]",e<=i.ratingValue)("text-gray-300",e>i.ratingValue),V("aria-label","\u041E\u0446\u0435\u043D\u043A\u0430 "+e)}}function te(t,c){if(t&1&&(o(0,"div",10),l(1),a()),t&2){let e=d();s(),C(e.errorMessage)}}function ie(t,c){if(t&1&&(o(0,"div",11),l(1),a()),t&2){let e=d();s(),C(e.successMessage)}}var ve=(()=>{class t{constructor(){this.fb=u(Q),this.reviewService=u(X),this.merchant="",this.travelId="",this.orderId="",this.sign="",this.code="",this.externalItemId="",this.prefillName="",this.hideContactFields=!1,this.created=new p,this.alreadyReviewed=new p,this.failed=new p,this.form=this.fb.group({name:["",[r.required,r.minLength(2),r.maxLength(128)]],email:["",[r.required,r.email,r.maxLength(128)]],text:["",[r.required,r.minLength(5),r.maxLength(1024)]],rating:[5,[r.required,r.min(1),r.max(5)]]}),this.isSubmitting=!1,this.successMessage="",this.errorMessage=""}ngOnChanges(e){e.prefillName&&this.prefillName&&this.form.controls.name.setValue(this.prefillName),e.hideContactFields&&(this.hideContactFields?(this.form.controls.name.clearValidators(),this.form.controls.email.clearValidators()):(this.form.controls.name.setValidators([r.required,r.minLength(2),r.maxLength(128)]),this.form.controls.email.setValidators([r.required,r.email,r.maxLength(128)])),this.form.controls.name.updateValueAndValidity(),this.form.controls.email.updateValueAndValidity())}get ratingValue(){return Number(this.form.controls.rating.value||0)}setRating(e){this.form.controls.rating.setValue(e),this.form.controls.rating.markAsDirty(),this.form.controls.rating.markAsTouched()}submit(){if(this.successMessage="",this.errorMessage="",!this.merchant||!this.travelId){this.errorMessage="\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u043C\u0435\u0440\u043E\u043F\u0440\u0438\u044F\u0442\u0438\u0435 \u0434\u043B\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u043E\u0442\u0437\u044B\u0432\u0430.";return}if(this.form.invalid){this.form.markAllAsTouched();return}let e=this.form.getRawValue(),i=!!(this.orderId&&this.sign&&this.code);this.isSubmitting=!0,this.reviewService.createTravelReview(y({merchant:this.merchant,travelId:this.travelId,name:(e.name?.trim()||this.prefillName||"").trim(),email:e.email?.trim()||"",text:e.text?.trim()||"",rating:Number(e.rating||0)},i?{orderId:this.orderId,sign:this.sign,code:this.code,externalItemId:this.externalItemId}:{})).pipe(F(()=>{this.isSubmitting=!1})).subscribe({next:()=>{this.successMessage="\u0421\u043F\u0430\u0441\u0438\u0431\u043E! \u041E\u0442\u0437\u044B\u0432 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D.",this.form.reset({name:this.prefillName||"",email:"",text:"",rating:5}),this.created.emit()},error:n=>{let m=n instanceof U?n.status:0;if(m===409){this.alreadyReviewed.emit();return}this.failed.emit(m),this.errorMessage="\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u0437\u044B\u0432. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437."}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=T({type:t,selectors:[["app-travel-review-form"]],inputs:{merchant:"merchant",travelId:"travelId",orderId:"orderId",sign:"sign",code:"code",externalItemId:"externalItemId",prefillName:"prefillName",hideContactFields:"hideContactFields"},outputs:{created:"created",alreadyReviewed:"alreadyReviewed",failed:"failed"},features:[R],decls:21,vars:8,consts:[[1,"my-6"],[1,"mb-4","text-xl","font-semibold","text-gray-900"],[1,"space-y-3",3,"ngSubmit","formGroup"],[1,"grid","grid-cols-1","gap-3","md:grid-cols-2"],[1,"mb-1","block","text-sm","font-medium","text-gray-700"],[1,"flex","items-center","gap-1"],["type","button",1,"h-8","w-8","rounded-md","text-xl","leading-none","transition",3,"text-[#ef1117]","text-gray-300"],[1,"ml-2","text-sm","text-gray-600"],[1,"block"],["rows","4","formControlName","text","placeholder","\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u0435\u0441\u044C \u0432\u043F\u0435\u0447\u0430\u0442\u043B\u0435\u043D\u0438\u044F\u043C\u0438 \u043E \u043C\u0435\u0440\u043E\u043F\u0440\u0438\u044F\u0442\u0438\u0438",1,"w-full","rounded-lg","border","border-gray-300","bg-white","px-3","py-2","text-sm","outline-none","transition","focus:border-[#f4c643]","focus:ring-2","focus:ring-[#fef1be]"],[1,"rounded-lg","bg-red-50","px-3","py-2","text-sm","text-red-700"],[1,"rounded-lg","bg-green-50","px-3","py-2","text-sm","text-green-700"],["type","submit",1,"h-10","rounded-lg","bg-[#ef1117]","px-5","text-sm","font-semibold","text-white","transition","hover:bg-[#d80f14]","disabled:cursor-not-allowed","disabled:opacity-60",3,"disabled"],["type","text","formControlName","name","placeholder","\u0412\u0430\u0448\u0435 \u0438\u043C\u044F",1,"w-full","rounded-lg","border","border-gray-300","bg-white","px-3","py-2","text-sm","outline-none","transition","focus:border-[#f4c643]","focus:ring-2","focus:ring-[#fef1be]"],["type","email","formControlName","email","placeholder","[email protected]",1,"w-full","rounded-lg","border","border-gray-300","bg-white","px-3","py-2","text-sm","outline-none","transition","focus:border-[#f4c643]","focus:ring-2","focus:ring-[#fef1be]"],["type","button",1,"h-8","w-8","rounded-md","text-xl","leading-none","transition",3,"click"]],template:function(i,n){i&1&&(o(0,"section",0)(1,"h2",1),l(2,"\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u0437\u044B\u0432"),a(),o(3,"form",2),b("ngSubmit",function(){return n.submit()}),f(4,q,9,0,"div",3),o(5,"div")(6,"span",4),l(7,"\u0420\u0435\u0439\u0442\u0438\u043D\u0433"),a(),o(8,"div",5),M(9,ee,2,5,"button",6,N),o(11,"span",7),l(12),a()()(),o(13,"label",8)(14,"span",4),l(15,"\u0422\u0435\u043A\u0441\u0442 \u043E\u0442\u0437\u044B\u0432\u0430"),a(),g(16,"textarea",9),a(),f(17,te,2,1,"div",10),f(18,ie,2,1,"div",11),o(19,"button",12),l(20),a()()()),i&2&&(s(3),v("formGroup",n.form),s(),h(n.hideContactFields?-1:4),s(5),A(L(7,Z)),s(3),w("",n.ratingV
1alue,"/5"),s(5),h(n.errorMessage?17:-1),s(),h(n.successMessage?18:-1),s(),v("disabled",n.isSubmitting),s(),w(" ",n.isSubmitting?"\u041E\u0442\u043F\u0440\u0430\u0432\u043A\u0430...":"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u0437\u044B\u0432"," "))},dependencies:[D,W,P,O,H,z,K,J],encapsulation:2})}}return t})();export{X as a,ve as b};

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.