копировать ссылку

This commit is contained in:
2021-09-09 15:05:17 +03:00
parent b888c14190
commit 7b8c17cd6b
6 changed files with 74 additions and 49 deletions

View File

@@ -2,6 +2,7 @@ function Редактор(события, имяРедактора)
{
this.создать = function()
{
this.первоначальныйЗаголовок = document.title;
this.установитьAce();
this.улавливатьЗавершениеРедактирования();
this.пз = new ПараметрыЗапуска();
@@ -14,7 +15,7 @@ function Редактор(события, имяРедактора)
var z64 = this.пз.параметры["z64"];
if (z64)
{
var код = изZ64(z64);
var код = мир.изZ64(z64);
this.ace.session.setValue(код);
}
};
@@ -22,10 +23,10 @@ function Редактор(события, имяРедактора)
this.исполнитьКод = function()
{
var содержимое = this.ace.session.getValue();
var z64 = вZ64(содержимое);
var z64 = мир.вZ64(содержимое);
var путь = window.location.pathname + "?z64=" + z64;
history.pushState(null, "", путь);
document.title = `M-3.0 ${z64.length}:${z64.slice(z64.length - 5)}`;
document.title = `${this.первоначальныйЗаголовок} ${z64.length}:${z64.slice(z64.length - 5)}`;
// Исполняем явно код лишь первый раз.
var проигрыватель = document.getElementById("проигрыватель");
@@ -52,34 +53,6 @@ function Редактор(события, имяРедактора)
}
};
this.установитьAce = function()
{
var область = document.getElementById(имяРедактора);
this.ace = window.ace.edit(имяРедактора);
this.ace.session.setMode("ace/mode/javascript");
this.ace.session.setUseWrapMode(true);
}
this.улавливатьЗавершениеРедактирования = function()
{
var тут = this;
this.ace.session.on("change", function(дельта) {
const билет = uuid();
тут.билет = билет;
setTimeout(
function()
{
if (билет == тут.билет)
{
события.уведомить("завершили редактирование");
}
},
1000
);
});
};
this.проверитьКорректностьКода = function()
{
try
@@ -93,6 +66,33 @@ function Редактор(события, имяРедактора)
}
};
this.улавливатьЗавершениеРедактирования = function()
{
var тут = this;
this.ace.session.on("change", function(дельта) {
const билет = мир.uuid();
тут.билет = билет;
setTimeout(
function()
{
if (билет == тут.билет)
{
события.уведомить("завершили редактирование");
}
},
300
);
});
};
this.установитьAce = function()
{
var область = document.getElementById(имяРедактора);
this.ace = window.ace.edit(имяРедактора);
this.ace.session.setMode("ace/mode/javascript");
this.ace.session.setUseWrapMode(true);
};
// Конструктор.
this.создать();
}