D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
psa
/
admin
/
cp
/
public
/
javascript
/
app
/
Filename :
editlist.js
back
Copy
(self.webpackChunkPlesk=self.webpackChunkPlesk||[]).push([["app/editlist"],{2992:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>l});var i=s(89);window.psaEditLists||(window.psaEditLists=[]);const l=class{constructor({name:t,enabled:e,columns:s=[],data:l=[],additionalData:n=[],canDelete:a=[],selectable:h=!1,selection:d=-1,onSelect:c=null,onNewElement:o=null,onDeleteElement:_=null}){this._id=window.psaEditLists.length,window.psaEditLists[this._id]=this,this.objectName=t,this.name=`${t}EditListObj`,this.enabled=e,this._columns=s,this._data=l,this._additionalData=n,this._canDelete=a,this._canSelect=h,this._selectedId=d,this.onSelect=c,this.onNewElement=o,this.onDeleteElement=_,this._inputClass="evenrowbg add",this._selectedClass="oddrowbg selected",this._overClass="oddrowbg over",this._oddClass="oddrowbg",this._evenClass="evenrowbg",this._locale=i.Locale.getSection("components.editlist")}render(t){let e="";e+='<table width="100%" cellspacing="0" class="list">',e+="<tr>";for(let t=0;t<this._columns.length;t++)e+=`<th width="${this._columns[t].size}%">`,e+=this._columns[t].text,e+="</th>";if(e+="<th></th>",e+="</tr>",this.enabled){let t=!1;e+=`<tr class="${this._inputClass}">`;for(let s=0;s<this._columns.length;s++){switch(e+=`<td id="${this._columns[s].name}Cell_Input">`,this._columns[s].type){case"const":e+=`<input type="hidden" id="${this._columns[s].name}_input" value="${this._columns[s].value[0]}">${this._columns[s].value[1]}`;break;case"text":e+=`<input type="text" id="${this._columns[s].name}_input" style="width: 100%;">`;break;case"select":{const i=[];for(let t=0;t<this._columns[s].value.length;t++){let e=!1;if(this._columns[s].primary)for(let i=0;i<this._data.length;i++)if(this._data[i][s]==this._columns[s].value[t][0]){e=!0;break}e||i.push(this._columns[s].value[t])}i.length||(t=!0),e+=`<select id="${this._columns[s].name}_input" style="width: 100%; max-width:100%;" ${0===i.length?" DISABLED":""} onChange="return psaEditLists[${this._id}].onInputChange(${s});">`;for(let t=0;t<i.length;t++)i[t][2]&&(e+=`<option value="${i[t][0]}">${i[t][1]}</option>`);e+="</select>";break}}e+="</td>"}e+=t?`<td><a><i class="icon"><img src="${s(2994)}" alt=""></i></a></td>`:`<td><a data-id="add-item" onClick="psaEditLists[${this._id}].Add();"><i class="icon"><img src="${s(2993)}" alt=""></i></a></td>`,e+="</tr>"}for(let t=0;t<this._data.length;t++){e+=`<tr class="${this._selectedId==t?this._selectedClass:t%2==0?this._oddClass:this._evenClass}"`,e+=this._canSelect?' style="cursor: pointer;"':"",e+=this._canSelect?` onmouseover="${this.name}.setPointer(this, ${t}, 'over');"`:"",e+=this._canSelect?` onmouseout="${this.name}.setPointer(this, ${t}, 'out');"`:"",e+=this._canSelect?` onClick="${this.name}.setPointer(this, ${t}, 'click');"`:"",e+=">";for(let s=0;s<this._columns.length;s++){if(e+=`<td id="${this._columns[s].name}Cell_${t}">`,this._columns[s].editable)e+=`<input type="text" name="${this._columns[s].name}[]" value="${(0,i.escapeAttribute)(this._data[t][s])}" style="width: 100%;">`;else if("const"===this._columns[s].type)e+=`${this._data[t][s][1]}<input type="hidden" name="${this._columns[s].name}[]" value="${this._data[t][s][0]}">`;else if("select"===this._columns[s].type){let l="";for(let e=0;e<this._columns[s].value.length;e++)if(this._data[t][s]==this._columns[s].value[e][0]){l=this._columns[s].value[e][1];break}e+=`${l}<input type="hidden" name="${this._columns[s].name}[]" value="${(0,i.escapeAttribute)(this._data[t][s])}">`}else e+=(0,i.escapeHtml)(this._data[t][s]),e+=`<input type="hidden" name="${this._columns[s].name}[]" value="${(0,i.escapeAttribute)(this._data[t][s])}">`;e+="</td>"}this.enabled&&this._canDelete[t]?e+=`<td><a data-id="delete-item" onClick="psaEditLists[${this._id}].Del(${t});"><i class="icon"><img src="${s(1667)}" alt=""></i></a></td>`:e+=`<td><a><i class="icon"><img src="${s(2995)}" alt=""></i></a></td>`,e+="</tr>"}if(e+="</table>",document.getElementById(t).innerHTML=e,this._tagId=t,this.enabled)for(let t=0;t<this._columns.length;t++)"select"===this._columns[t].type&&null!=this._columns[t].onChange&&this.onInputChange(t)}onInputChange(t){this._columns[t].onChange(document.getElementById(`${this._columns[t].name}_input`))}refresh(){this.render(this._tagId)}getColumns(){return this._columns}getColumnsCount(){return this._columns.length}setAllData(t,e){this._data=t,this._canDelete=e}getData(t,e){return this._data[t][e]}setData(t,e,s){this._data[t][e]=s}getAllData(){return this._data}getCanDelete(t){return this._canDelete[t]}getAllCanDelete(){return this._canDelete}getSize(){return this._data.length}setAllAdditionalData(t){this._additionalData=t}getAllAdditionalData(){return this._additionalData}setAdditionalData(t,e){this._additionalData[t]=e}getAdditionalData(t){return!(t<0)&&this._additionalData[t]}setPointer(t,e,s){"click"===s?this.setSelection(e):"over"===s&&e!=this._selectedId?t.className=this._overClass:"out"===s&&(t.className=e==this._selectedId?this._selectedClass:e%2==0?this._oddClass:this._evenClass)}setSelection(t){let e;(t<0||t>=this.getSize())&&(t=-1),-1!==this._selectedId&&(e=this.getRow(this._selectedId),e.className=this._selectedId%2==0?this._oddClass:this._evenClass);const s=this._selectedId;this._selectedId=t,-1!==this._selectedId&&(e=this.getRow(this._selectedId),e.className=this._selectedClass,"function"==typeof this.onSelect&&this.onSelect(this,this._selectedId,s))}getSelection(){return this._selectedId}getRow(t){const e=document.getElementById(this._tagId).getElementsByTagName("tr");return t<0||t>e.length?null:e[t+(this.enabled?2:1)]}Add(){let t,e;const s=[],i=[];let l;for(t=0;t<this._columns.length;t++)"const"===this._columns[t].type?s[t]=this._columns[t].value:(s[t]=document.getElementById(`${this._columns[t].name}_input`).value,""==s[t]&&this._columns[t].required?i.push(`${this._columns[t].text}: ${this._locale.lmsg("emptyParameter")}`):null!=this._columns[t].check&&1!=(l=this._columns[t].check(s[t]))&&i.push(`${this._columns[t].text}: ${l}`));if(i.length>0){let t=`${this._locale.lmsg("wrongParameters")}:\n`;return t+=i.map((t=>` ${t}\n`)).join(""),alert(t),!1}for(e=0;e<this._data.length;e++){let i=0;for(t=0;t<this._columns.length;t++)this._columns[t].primary&&(i++,this._data[e][t]!=s[t]&&i--);if(i>0)return alert("Error: dublicate record."),!1}return this._data.push(s),this._canDelete.push(!0),this._additionalData.push(""),"function"==typeof this.onNewElement&&this.onNewElement(this,this._data.length-1),this.refresh(),this._canSelect&&this.setSelection(this._data.length-1),!0}Del(t){let e;const s=[],i=[],l=[];for(e=0;e<this._data.length;e++)e!=t&&(s.push(this._data[e]),i.push(this._canDelete[e]),l.push(this._additionalData[e]));this._data=s,this._canDelete=i,this._additionalData=l,this._canSelect&&(t<this._selectedId?this._selectedId--:t==this._selectedId&&this._selectedId>=this._data.length&&(this._selectedId=this._data.length-1)),"function"==typeof this.onDeleteElement&&this.onDeleteElement(this),this.refresh()}}},2994:t=>{t.exports=Jsw.skinUrl+"/icons/16/plesk/add-disabled.png?1a20f1ce41ba7962179707bb93fb0160"},2993:t=>{t.exports=Jsw.skinUrl+"/icons/16/plesk/add.png?adc28eb740975477578cb3393b40c7f8"},2995:t=>{t.exports=Jsw.skinUrl+"/icons/16/plesk/delete-disabled.png?0401c699042a592ecdb931912edd304d"},1667:t=>{t.exports=Jsw.skinUrl+"/icons/16/plesk/delete.png?27d654be29d57ad05641c2ff392035fa"}}]); //# sourceMappingURL=editlist.js.map?e46ab9cf5a8ac986acb1