D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
local
/
psa
/
admin
/
cp
/
public
/
javascript
/
app
/
Filename :
rating.js
back
Copy
"use strict";(self.webpackChunkPlesk=self.webpackChunkPlesk||[]).push([["app/rating"],{2996:(e,t,i)=>{i.r(t),i.d(t,{default:()=>o});var s=i(89);class n extends s.Popup{_initConfiguration(e){this.setLocale(s.Locale.getSection("components.rating")),super._initConfiguration({id:"rating-dialog",title:this.lmsg("voteTitle"),closeButtonEnabled:!0,hideOnEscape:!0,content:`<div class="form-box form--vertical"><div class="box-area"><div class="content"><div class="content-area"><div class="nps-survey"><p class="nps-survey__question">${this.lmsg("voteQuestion")}</p><div class="nps-survey__container"><div id="nps-rating" class="nps-survey__scores"></div><div class="nps-survey__legend"><div class="nps-survey__legend-left">${this.lmsg("voteLegendBad")}</div><div class="nps-survey__legend-right">${this.lmsg("voteLegendGood")}</div></div></div></div><hr/><div class="form-row"><div class="field-name">${this.lmsg("voteLikeHint")}</div><div class="field-value"><textarea id="rating-like" class="f-max-size" maxlength="1000"></textarea></div></div><div class="form-row"><div class="field-name">${this.lmsg("voteDislikeHint")}</div><div class="field-value"><textarea id="rating-dislike" class="f-max-size" maxlength="1000"></textarea></div></div></div></div></div></div>`,buttons:[{title:this.lmsg("voteButtonOk"),id:"rating-vote-button-ok",class:"action",handler:this.handleVoteButton.bind(this)},{title:s.Locale.getSection("components.buttons").lmsg("cancel"),id:"rating-vote-button-cancel",handler(e,t){t.hide()}}],...e}),this.dialogCause=this._getConfigParam("dialogCause","manual"),this.supportUrl=this._getConfigParam("supportUrl")}_initComponentElement(){super._initComponentElement(),(0,s.render)(this._componentElement.querySelector("#nps-rating"),[0,1,2,3,4,5,6,7,8,9,10].map((e=>(0,s.createElement)("label",{class:`nps-survey__score nps-survey__score--${e}`,onclick:this.checkPossibleSendVote.bind(this)},[(0,s.createElement)("input",{type:"radio",name:"nps-survey-option",value:e}),(0,s.createElement)("span",{class:"nps-survey__score-label"})]))))}show(){super.show(),this.showTime=Date.now()}hide(){super.hide(),this.voted||((this.checkPossibleSendVote()||this.getFeedbackLike()||this.getFeedbackDislike())&&this.sendVote(),"timeout"===this.dialogCause&&this.sendPostpone())}handleVoteButton(){this.checkPossibleSendVote()&&(this.voted=!0,this.sendVote(),this.hide(),new a({supportUrl:this.supportUrl,feedbackLike:this.getFeedbackLike(),feedbackDislike:this.getFeedbackDislike()}))}checkPossibleSendVote(){const e=this._componentElement.querySelector(".nps-survey"),t=this.getRate();if(t){e.classList.remove("error");const t=e.querySelector(".field-errors");t&&t.parentNode.removeChild(t)}else{e.classList.add("error");e.querySelector(".field-errors")||(0,s.render)(e,`<span class="field-errors"><span class="error-hint">${this.lmsg("voteRequire")}</span></span>`)}return t}getRate(){const e=this._componentElement.querySelector(`#${this.getId()}-form input[name=nps-survey-option]:checked`);return e?e.value:""}getFeedbackLike(){return this._componentElement.querySelector("#rating-like").value.trim()}getFeedbackDislike(){return this._componentElement.querySelector("#rating-dislike").value.trim()}sendVote(){s.api.post((0,s.prepareUrl)("/admin/rating/vote"),{voted:this.voted,dialogCause:this.dialogCause,rate:this.getRate(),feedbackLike:this.getFeedbackLike(),feedbackDislike:this.getFeedbackDislike(),dialogDuration:Math.round((Date.now()-this.showTime)/1e3),dialogAtPage:window.location.pathname})}sendPostpone(){s.api.post((0,s.prepareUrl)("/admin/rating/postpone"))}}class a extends s.Popup{_initConfiguration(e){this.setLocale(s.Locale.getSection("components.rating"));let t=[{title:this.lmsg("thankButtonClose"),class:"action",handler(e,t){t.hide()}}],i=`<p>${this.lmsg("thankHint")}</p>`;if(e.feedbackDislike){i+=`<p>${this.lmsg("thankSupportCenter",{link:`<a id="rating-dialog-support-link" href="${e.supportUrl}" target="_blank">${this.lmsg("supportCenter")}</a>`})}</p>`}else if(e.feedbackLike){const s=this.lmsg("introductionText",{message:e.feedbackLike});i+=`<hr/><p>${this.lmsg("thankSocialChoose")}</p><textarea id="rating-dialog-share-text" class="f-max-size">${s}</textarea><div class="social-links"><a id="rating-dialog-tweet-button" class="twitter-share-button">Tweet</a><a id="rating-dialog-close-button" class="ui-link--muted">${this.lmsg("inviteButtonClose")}</a></div>`,t=[]}super._initConfiguration({id:"thank-dialog",title:this.lmsg("thankTitle"),closeButtonEnabled:!0,hideOnEscape:!0,content:i,buttons:t,...e})}_addEvents(){super._addEvents(),document.getElementById("rating-dialog-support-link")&&document.getElementById("rating-dialog-support-link").addEventListener("click",(()=>{s.api.post((0,s.prepareUrl)("/admin/rating/support-center"))})),document.getElementById("rating-dialog-tweet-button")&&document.getElementById("rating-dialog-tweet-button").addEventListener("click",(()=>{window.open(`${(0,s.prepareUrl)("/admin/rating/social")}?button=twitter&text=${encodeURIComponent(document.getElementById("rating-dialog-share-text").value)}`,"social-share","width=600,height=460"),this.hide()})),document.getElementById("rating-dialog-close-button")&&document.getElementById("rating-dialog-close-button").addEventListener("click",(()=>{this.hide()}))}}const o=e=>new n(e)}}]); //# sourceMappingURL=rating.js.map?8a972a86db96ede08e86