Разборка с сохранением
This commit is contained in:
116
murom_1.2.0.html
116
murom_1.2.0.html
File diff suppressed because one or more lines are too long
@@ -36,6 +36,11 @@ function TextEncoderLite(){}function TextDecoderLite(){}(function(){"use strict"
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
murom.start = function()
|
||||||
|
{
|
||||||
|
console.log("Override 'murom.start()' in any of the modules to be notified when all modules are loaded");
|
||||||
|
};
|
||||||
|
|
||||||
murom.loadModules = function()
|
murom.loadModules = function()
|
||||||
{
|
{
|
||||||
// Skip `0` module because it's us.
|
// Skip `0` module because it's us.
|
||||||
@@ -61,6 +66,8 @@ murom.loadModules = function()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
murom.start();
|
||||||
};
|
};
|
||||||
|
|
||||||
murom.loadIndexedDBModules = function(completionHandler)
|
murom.loadIndexedDBModules = function(completionHandler)
|
||||||
@@ -72,6 +79,11 @@ murom.loadIndexedDBModules = function(completionHandler)
|
|||||||
if (modules)
|
if (modules)
|
||||||
{
|
{
|
||||||
murom.modules = modules;
|
murom.modules = modules;
|
||||||
|
console.log("Modules have been loaded from IndexedDB");
|
||||||
|
}
|
||||||
|
if (error)
|
||||||
|
{
|
||||||
|
console.log("ERROR Getting modules from IndexedDB: '" + error + "'");
|
||||||
}
|
}
|
||||||
// Continue.
|
// Continue.
|
||||||
completionHandler();
|
completionHandler();
|
||||||
@@ -82,3 +94,4 @@ murom.installLocalForage();
|
|||||||
murom.installUnicodeBase64();
|
murom.installUnicodeBase64();
|
||||||
// IndexedDB modules override HTML ones.
|
// IndexedDB modules override HTML ones.
|
||||||
murom.loadIndexedDBModules(murom.loadModules);
|
murom.loadIndexedDBModules(murom.loadModules);
|
||||||
|
|
||||||
|
|||||||
6
модули/муром.пуск_1.0.0.js
Normal file
6
модули/муром.пуск_1.0.0.js
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
муром.пуск = new Уведомитель();
|
||||||
|
муром.старт = муром.пуск;
|
||||||
|
murom.start = function()
|
||||||
|
{
|
||||||
|
муром.пуск.уведомить();
|
||||||
|
};
|
||||||
50
модули/муром.сохранение_1.0.0.js
Normal file
50
модули/муром.сохранение_1.0.0.js
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
муром.модулевед.сохранить = new Уведомитель();
|
||||||
|
муром.модулевед.сохранили = new Уведомитель();
|
||||||
|
|
||||||
|
муром.модулевед.создатьИнтерфейсСохранения = function()
|
||||||
|
{
|
||||||
|
сохранение = document.createElement("button");
|
||||||
|
муром.модулевед.htmlМодули.appendChild(сохранение);
|
||||||
|
сохранение.innerHTML = "Сохранить всё";
|
||||||
|
сохранение.onclick = function()
|
||||||
|
{
|
||||||
|
муром.модулевед.сохранить.уведомить();
|
||||||
|
};
|
||||||
|
муром.модулевед.htmlСохранение = сохранение;
|
||||||
|
};
|
||||||
|
|
||||||
|
муром.модулевед.сохранитьВыбранныйМодуль = function()
|
||||||
|
{
|
||||||
|
var номер = муром.модулевед.номерМодуля(муром.модулевед.выбранныйМодуль);
|
||||||
|
if (!номер)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var модуль = муром.модули[номер];
|
||||||
|
var код = муром.редактор.session.getValue();
|
||||||
|
модуль[1] = base64Encode(код);
|
||||||
|
};
|
||||||
|
|
||||||
|
муром.модулевед.сохранитьВБазе = function(отклик)
|
||||||
|
{
|
||||||
|
муром.модулевед.htmlСохранение.disabled = true;
|
||||||
|
localforage.setItem("modules", муром.модули, function(ошибка, значение){
|
||||||
|
муром.модулевед.htmlСохранение.disabled = false;
|
||||||
|
if (ошибка)
|
||||||
|
{
|
||||||
|
console.log("ОШИБКА Не удалось сохранить модули: '" + ошибка + "'");
|
||||||
|
}
|
||||||
|
else if (отклик)
|
||||||
|
{
|
||||||
|
отклик();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
муром.модулевед.сохранитьВсё = function()
|
||||||
|
{
|
||||||
|
муром.модулевед.сохранитьВыбранныйМодуль();
|
||||||
|
муром.модулевед.сохранитьВБазе(function(){
|
||||||
|
муром.модулевед.сохранили.уведомить();
|
||||||
|
});
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user