копировать ссылку
This commit is contained in:
@@ -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.создать();
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
function Пульт(события, имяОшибки, имяПуска)
|
||||
function Пульт(события, имяОшибки, имяПерезапуска, имяОтдельно, имяСсылки)
|
||||
{
|
||||
this.создать = function()
|
||||
{
|
||||
var ошибка = document.getElementById(имяОшибки);
|
||||
|
||||
/*
|
||||
var версия = document.getElementById(имяПуска);
|
||||
пуск.addEventListener("click", function(событие) {
|
||||
console.debug("НАДО запустить");
|
||||
});
|
||||
*/
|
||||
|
||||
мир.назначитьКнопкамСобытия(
|
||||
события,
|
||||
[
|
||||
[имяПерезапуска, "перезапустить"],
|
||||
[имяОтдельно, "запустить отдельно"],
|
||||
[имяСсылки, "скопировать ссылку"],
|
||||
]
|
||||
);
|
||||
события.подписать(this);
|
||||
};
|
||||
|
||||
@@ -24,6 +24,17 @@ console.debug("НАДО запустить");
|
||||
{
|
||||
this.показатьОшибку(true);
|
||||
}
|
||||
else if (событие == "скопировать ссылку")
|
||||
{
|
||||
navigator.clipboard.writeText(window.location)
|
||||
.then(() => {
|
||||
UIkit.notification("Скопировали ссылку", { status: "success", timeout: 1000 });
|
||||
})
|
||||
.catch(err => {
|
||||
UIkit.notification("Не удалось скопировать ссылку :(", { status: "danger", timeout: 5000 });
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ function Муром()
|
||||
{
|
||||
this.события = new События();
|
||||
this.редактор = new Редактор(this.события, "редактор");
|
||||
this.пульт = new Пульт(this.события, "ошибка", "пуск");
|
||||
this.пульт = new Пульт(this.события, "ошибка", "перезапустить", "отдельно", "ссылка");
|
||||
};
|
||||
|
||||
// Конструктор.
|
||||
|
||||
Reference in New Issue
Block a user