Added update button processing.

This commit is contained in:
AlexeyMatveev686
2022-06-14 15:01:08 +03:00
parent c6c04eb886
commit 92def75732
2 changed files with 27 additions and 18 deletions

View File

@ -55,9 +55,9 @@
<span id="span_offered"></span>
</div>
<div>
<button id="btn_update" class="btn-text-default btn_preview" onclick="onClickItemButton(event.target.parentNode, true)">Update</button>
<button id="btn_remove" class="btn-text-default btn_preview" onclick="onClickItemButton(event.target.parentNode, false)">Remove</button>
<button id="btn_install" class="btn-text-default btn_preview" onclick="onClickItemButton(event.target.parentNode, true)">Install</button>
<button id="btn_update" class="btn-text-default btn_preview" onclick="onClickItemButton(event.target.parentNode, event.target.innerText)">Update</button>
<button id="btn_remove" class="btn-text-default btn_preview" onclick="onClickItemButton(event.target.parentNode, event.target.innerText)">Remove</button>
<button id="btn_install" class="btn-text-default btn_preview" onclick="onClickItemButton(event.target.parentNode, event.target.innerText)">Install</button>
</div>
</div>
</div>

View File

@ -189,7 +189,7 @@ function makeRequest(url) {
function sendMessage(message) {
// this function sends message to editor
parent.postMessage(message, '*');
parent.postMessage(JSON.stringify(message), '*');
};
function detectLanguage() {
@ -336,8 +336,8 @@ function createPluginDiv(guid) {
: ''
)+''+
(installed
? (installed.canRemoved ? '<button class="btn-text-default btn_install" onclick="onClickItemButton(event.target, false)">' + translate["Remove"] + '</button>' : '<div style="height:20px"></div>')
: '<button class="btn-text-default btn_install" onclick="onClickItemButton(event.target, true)">' + translate["Install"] + '</button>'
? (installed.canRemoved ? '<button class="btn-text-default btn_install" onclick="onClickItemButton(event.target, event.target.innerText)">' + translate["Remove"] + '</button>' : '<div style="height:20px"></div>')
: '<button class="btn-text-default btn_install" onclick="onClickItemButton(event.target, event.target.innerText)">' + translate["Install"] + '</button>'
)
+
'</div>';
@ -347,22 +347,31 @@ function createPluginDiv(guid) {
Ps.update();
};
function onClickItemButton(target, bInstall) {
function onClickItemButton(target, type) {
// click on install/remove button
let guid = target.parentNode.parentNode.getAttribute('data-guid');
let message;
// TODO update посылать отдельным собитием или можно как install его отправлять?
if (bInstall) {
message = {
type : 'install',
url : gitUrl + (allPlugins[guid].Url.includes('sdkjs-plugins') ? (allPlugins[guid].Url.replace('plugins/master', 'plugins/blob/master') + 'config.json') : (allPlugins[guid].Url + 'blob/master/config.json'))
};
} else {
message = {
type : 'remove',
guid: guid
};
switch (type) {
case 'Install':
message = {
type : 'install',
url : gitUrl + (allPlugins[guid].Url.includes('sdkjs-plugins') ? (allPlugins[guid].Url.replace('plugins/master', 'plugins/blob/master') + 'config.json') : (allPlugins[guid].Url + 'blob/master/config.json'))
};
break;
case 'Update':
message = {
type : 'update',
url : gitUrl + (allPlugins[guid].Url.includes('sdkjs-plugins') ? (allPlugins[guid].Url.replace('plugins/master', 'plugins/blob/master') + 'config.json') : (allPlugins[guid].Url + 'blob/master/config.json'))
};
break;
case 'Remove':
message = {
type : 'remove',
guid: guid
};
break;
}
// TODO наверно хотелось бы получать сообщения о том успешно ли прошел процесс установки/удаления/лбновления (чтобы уже в этом окне отобразить изменения)
sendMessage(message);
};