⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.74
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
local
/
psa
/
admin
/
cp
/
public
/
javascript
/
app
/
Edit File: rating.js.map
{"version":3,"file":"javascript/app/rating.js?939a480cdfdf342295d3","mappings":"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","sources":["webpack:///./app/rating.js"],"sourcesContent":["// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale, Popup, render, createElement, prepareUrl, api } from 'jsw';\n\nclass VoteDialog extends Popup {\n _initConfiguration(config) {\n this.setLocale(Locale.getSection('components.rating'));\n\n super._initConfiguration({\n id: 'rating-dialog',\n title: this.lmsg('voteTitle'),\n closeButtonEnabled: true,\n hideOnEscape: true,\n content: (\n '<div class=\"form-box form--vertical\">' +\n '<div class=\"box-area\">' +\n '<div class=\"content\">' +\n '<div class=\"content-area\">' +\n '<div class=\"nps-survey\">' +\n `<p class=\"nps-survey__question\">${this.lmsg('voteQuestion')}</p>` +\n '<div class=\"nps-survey__container\">' +\n '<div id=\"nps-rating\" class=\"nps-survey__scores\"></div>' +\n '<div class=\"nps-survey__legend\">' +\n `<div class=\"nps-survey__legend-left\">${this.lmsg('voteLegendBad')}</div>` +\n `<div class=\"nps-survey__legend-right\">${this.lmsg('voteLegendGood')}</div>` +\n '</div>' +\n '</div>' +\n '</div>' +\n '<hr/>' +\n '<div class=\"form-row\">' +\n `<div class=\"field-name\">${this.lmsg('voteLikeHint')}</div>` +\n '<div class=\"field-value\"><textarea id=\"rating-like\" class=\"f-max-size\" maxlength=\"1000\"></textarea></div>' +\n '</div>' +\n '<div class=\"form-row\">' +\n `<div class=\"field-name\">${this.lmsg('voteDislikeHint')}</div>` +\n '<div class=\"field-value\"><textarea id=\"rating-dislike\" class=\"f-max-size\" maxlength=\"1000\"></textarea></div>' +\n '</div>' +\n '</div>' +\n '</div>' +\n '</div>' +\n '</div>'\n ),\n buttons: [{\n title: this.lmsg('voteButtonOk'),\n id: 'rating-vote-button-ok',\n class: 'action',\n handler: this.handleVoteButton.bind(this),\n }, {\n title: Locale.getSection('components.buttons').lmsg('cancel'),\n id: 'rating-vote-button-cancel',\n handler(event, popup) {\n popup.hide();\n },\n }],\n ...config,\n });\n\n this.dialogCause = this._getConfigParam('dialogCause', 'manual');\n this.supportUrl = this._getConfigParam('supportUrl');\n }\n\n _initComponentElement() {\n super._initComponentElement();\n\n render(this._componentElement.querySelector('#nps-rating'), [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(i => (\n createElement('label', {\n class: `nps-survey__score nps-survey__score--${i}`,\n onclick: this.checkPossibleSendVote.bind(this),\n }, [\n createElement('input', { type: 'radio', name: 'nps-survey-option', value: i }),\n createElement('span', { class: 'nps-survey__score-label' }),\n ])\n )));\n }\n\n show() {\n super.show();\n this.showTime = Date.now();\n }\n\n hide() {\n super.hide();\n\n if (this.voted) {\n return;\n }\n\n if (this.checkPossibleSendVote() || this.getFeedbackLike() || this.getFeedbackDislike()) {\n this.sendVote();\n }\n\n if (this.dialogCause === 'timeout') {\n this.sendPostpone();\n }\n }\n\n handleVoteButton() {\n if (!this.checkPossibleSendVote()) {\n return;\n }\n\n this.voted = true;\n this.sendVote();\n this.hide();\n\n new ThankDialog({\n supportUrl: this.supportUrl,\n feedbackLike: this.getFeedbackLike(),\n feedbackDislike: this.getFeedbackDislike(),\n });\n }\n\n checkPossibleSendVote() {\n const survey = this._componentElement.querySelector('.nps-survey');\n const rate = this.getRate();\n\n if (rate) {\n survey.classList.remove('error');\n const errorField = survey.querySelector('.field-errors');\n if (errorField) {\n errorField.parentNode.removeChild(errorField);\n }\n } else {\n survey.classList.add('error');\n const errorField = survey.querySelector('.field-errors');\n if (!errorField) {\n render(survey, (\n '<span class=\"field-errors\">' +\n `<span class=\"error-hint\">${this.lmsg('voteRequire')}</span>` +\n '</span>'\n ));\n }\n }\n\n return rate;\n }\n\n getRate() {\n const checked = this._componentElement.querySelector(`#${this.getId()}-form input[name=nps-survey-option]:checked`);\n return checked ? checked.value : '';\n }\n\n getFeedbackLike() {\n return this._componentElement.querySelector('#rating-like').value.trim();\n }\n\n getFeedbackDislike() {\n return this._componentElement.querySelector('#rating-dislike').value.trim();\n }\n\n sendVote() {\n api.post(prepareUrl('/admin/rating/vote'), {\n voted: this.voted,\n dialogCause: this.dialogCause,\n rate: this.getRate(),\n feedbackLike: this.getFeedbackLike(),\n feedbackDislike: this.getFeedbackDislike(),\n dialogDuration: Math.round((Date.now() - this.showTime) / 1000),\n dialogAtPage: window.location.pathname,\n });\n }\n\n sendPostpone() {\n api.post(prepareUrl('/admin/rating/postpone'));\n }\n}\n\nclass ThankDialog extends Popup {\n _initConfiguration(config) {\n this.setLocale(Locale.getSection('components.rating'));\n\n let buttons = [{\n title: this.lmsg('thankButtonClose'),\n class: 'action',\n handler(event, popup) {\n popup.hide();\n },\n }];\n\n let content = `<p>${this.lmsg('thankHint')}</p>`;\n if (config.feedbackDislike) {\n const message = this.lmsg('thankSupportCenter', {\n link: `<a id=\"rating-dialog-support-link\" href=\"${config.supportUrl}\" target=\"_blank\">${this.lmsg('supportCenter')}</a>`,\n });\n content += `<p>${message}</p>`;\n } else if (config.feedbackLike) {\n const introduction = this.lmsg('introductionText', { message: config.feedbackLike });\n content += '<hr/>' +\n `<p>${this.lmsg('thankSocialChoose')}</p>` +\n `<textarea id=\"rating-dialog-share-text\" class=\"f-max-size\">${introduction}</textarea>` +\n '<div class=\"social-links\">' +\n '<a id=\"rating-dialog-tweet-button\" class=\"twitter-share-button\">Tweet</a>' +\n `<a id=\"rating-dialog-close-button\" class=\"ui-link--muted\">${this.lmsg('inviteButtonClose')}</a>` +\n '</div>';\n buttons = [];\n }\n\n super._initConfiguration({\n id: 'thank-dialog',\n title: this.lmsg('thankTitle'),\n closeButtonEnabled: true,\n hideOnEscape: true,\n content,\n buttons,\n ...config,\n });\n }\n\n _addEvents() {\n super._addEvents();\n\n if (document.getElementById('rating-dialog-support-link')) {\n document.getElementById('rating-dialog-support-link').addEventListener('click', () => {\n api.post(prepareUrl('/admin/rating/support-center'));\n });\n }\n if (document.getElementById('rating-dialog-tweet-button')) {\n document.getElementById('rating-dialog-tweet-button').addEventListener('click', () => {\n window.open(\n `${prepareUrl('/admin/rating/social')}?button=twitter&text=${encodeURIComponent(document.getElementById('rating-dialog-share-text').value)}`,\n 'social-share',\n 'width=600,height=460',\n );\n this.hide();\n });\n }\n if (document.getElementById('rating-dialog-close-button')) {\n document.getElementById('rating-dialog-close-button').addEventListener('click', () => {\n this.hide();\n });\n }\n }\n}\n\nexport default props => new VoteDialog(props);\n"],"names":["VoteDialog","Popup","_initConfiguration","config","this","setLocale","Locale","getSection","super","id","title","lmsg","closeButtonEnabled","hideOnEscape","content","buttons","class","handler","handleVoteButton","bind","event","popup","hide","dialogCause","_getConfigParam","supportUrl","_initComponentElement","render","_componentElement","querySelector","map","i","createElement","onclick","checkPossibleSendVote","type","name","value","show","showTime","Date","now","voted","getFeedbackLike","getFeedbackDislike","sendVote","sendPostpone","ThankDialog","feedbackLike","feedbackDislike","survey","rate","getRate","classList","remove","errorField","parentNode","removeChild","add","checked","getId","trim","api","post","prepareUrl","dialogDuration","Math","round","dialogAtPage","window","location","pathname","link","introduction","message","_addEvents","document","getElementById","addEventListener","open","encodeURIComponent","props"],"sourceRoot":""}
Simpan