@@ -5,6 +5,68 @@ const ИМЯ = "Редактор Главреда | Glavred Editor" | |||
// // // // | |||
СохранитьВременноеСодержимоеРедактируемогоФайла = мир => | |||
{ | |||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort(); | |||
var файл = файлы[мир.номерВыбранногоФайла]; | |||
var содержимое = мир.редактор.session.getValue(); | |||
мир.временноеСодержимое[файл] = содержимое; | |||
}; | |||
// // // // | |||
НеОтслеживатьРедактирование = мир => | |||
{ | |||
мир.отслеживатьРедактирование = false; | |||
}; | |||
// // // // | |||
ОтслеживатьРедактирование = мир => | |||
{ | |||
мир.отслеживатьРедактирование = true; | |||
}; | |||
// // // // | |||
НастроитьОтслеживаниеРедактирования = мир => | |||
{ | |||
мир.отслеживатьРедактирование = true; | |||
мир.редактор.session.on("change", function(delta) { | |||
if (мир.отслеживатьРедактирование) | |||
{ | |||
мир.уведомить("редактирование"); | |||
} | |||
}); | |||
}; | |||
// // // // | |||
ОтобразитьСодержимоеВыбранногоФайла = мир => | |||
{ | |||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort(); | |||
var файл = файлы[мир.номерВыбранногоФайла]; | |||
var содержимое = мир.временноеСодержимое[файл]; | |||
if (!содержимое) | |||
{ | |||
содержимое = мир.редактируемыйМодуль.содержимое[файл]; | |||
}; | |||
мир.редактор.session.setValue(содержимое); | |||
}; | |||
// // // // | |||
СоздатьОбластьРедактированияПриОтсутствии = мир => | |||
{ | |||
var id = "редактор"; | |||
@@ -26,6 +88,17 @@ bottom: 0; | |||
мир.редактор = window.ace.edit(id); | |||
мир.редактор.session.setMode("ace/mode/javascript"); | |||
мир.уведомить("создали область редактирования"); | |||
} | |||
}; | |||
// // // // | |||
СоздатьВременноеСодержимое = мир => | |||
{ | |||
мир.временноеСодержимое = {}; | |||
}; | |||
@@ -1,18 +1,15 @@ | |||
пуск модулей главреда | |||
# создать редактор Ace | |||
# задать элементы макета списка файлов | |||
# задать раздел меню со списком файлов | |||
# отслеживать выбор файла | |||
## создать кнопки проверки изменений файла | |||
выбрали файл | |||
создать область редактирования при отсутствии | |||
создать временное содержимое | |||
создали область редактирования | |||
настроить отслеживание редактирования | |||
## ПРОВЕРКА | |||
#проверить отображение изменения файла | |||
# отобразить изменение файла | |||
#проверить очистку изменения файла | |||
# очистить изменение файла | |||
#проверить очистку изменений всех файлов | |||
# очистить изменения всех файлов | |||
# | |||
выбрали файл | |||
создать область редактирования при отсутствии | |||
не отслеживать редактирование | |||
отобразить содержимое выбранного файла | |||
отслеживать редактирование | |||
редактирование | |||
отобразить изменение файла | |||
сохранить временное содержимое редактируемого файла |
@@ -1,76 +1,4 @@ | |||
/* | |||
* ВЫБОР ФАЙЛА | |||
*/ | |||
/* | |||
ЗадатьУказанныйФайл = function(мир) | |||
{ | |||
мир.файл = мир.файлы[мир.номерВыбранногоФайла]; | |||
}; | |||
// // // // | |||
НеОтслеживатьРедактирование = function(мир) | |||
{ | |||
мир.отслеживатьРедактирование = false; | |||
}; | |||
// // // // | |||
ОтслеживатьРедактирование = function(мир) | |||
{ | |||
мир.отслеживатьРедактирование = true; | |||
}; | |||
// // // // | |||
ЗадатьПараметрФайла = function(мир) | |||
{ | |||
var файл = мир.файлы[мир.номерВыбранногоФайла]; | |||
задатьПараметрВСтрокеПоиска("📁", файл); | |||
}; | |||
// // // // | |||
ОтобразитьСодержимоеВыбранногоФайла = function(мир) | |||
{ | |||
var файл = мир.файлы[мир.номерВыбранногоФайла]; | |||
var содержимое = мир.временноеСодержимое[файл]; | |||
if (!содержимое) | |||
{ | |||
содержимое = мир.редактируемыйМодуль.содержимое[файл]; | |||
}; | |||
мир.редактор.session.setValue(содержимое); | |||
}; | |||
*/ | |||
/* | |||
* ПУСК | |||
*/ | |||
/* | |||
const ИМЯ = "Главред | Glavred"; | |||
// // // // | |||
ЗадатьВременноеСодержимое = function(мир) | |||
{ | |||
мир.временноеСодержимое = {}; | |||
}; | |||
// // // // | |||
@@ -91,121 +19,6 @@ const ИМЯ = "Главред | Glavred"; | |||
// // // // | |||
НастроитьОтслеживаниеРедактирования = function(мир) | |||
{ | |||
мир.отслеживатьРедактирование = true; | |||
мир.редактор.session.on("change", function(delta) { | |||
if (мир.отслеживатьРедактирование) | |||
{ | |||
мир.уведомить("редактирование"); | |||
} | |||
}); | |||
}; | |||
// // // // | |||
ВыбратьУказанныйФайл = function(мир) | |||
{ | |||
мир.номерВыбранногоФайла = мир.файлы.indexOf(мир.файл); | |||
мир.уведомить("выбрали файл"); | |||
} | |||
// // // // | |||
ВыбратьПервыйФайл = function(мир) | |||
{ | |||
мир.номерВыбранногоФайла = 0; | |||
мир.уведомить("выбрали файл"); | |||
} | |||
// // // // | |||
ПроверитьНаличиеУказанногоФайла = function(мир) | |||
{ | |||
if ( | |||
мир.файл && | |||
мир.файлы.includes(мир.файл) | |||
) { | |||
мир.уведомить("указанный файл существует"); | |||
} | |||
else | |||
{ | |||
мир.уведомить("указанный файл не существует"); | |||
} | |||
}; | |||
// // // // | |||
НастроитьAce = function(мир) | |||
{ | |||
мир.редактор = window.ace.edit("редактор"); | |||
мир.редактор.session.setMode("ace/mode/javascript"); | |||
}; | |||
// // // // | |||
ВывестиРазобранныеПараметры = function(мир) | |||
{ | |||
console.debug(` | |||
Разобранные параметры редактора: | |||
* 📦: '${мир.указатель}' | |||
* 📁: '${мир.файл}' | |||
`); | |||
}; | |||
*/ | |||
/* | |||
* РЕДАКТИРОВАНИЕ | |||
*/ | |||
/* | |||
СохранитьВременноеСодержимоеРедактируемогоФайла = function(мир) | |||
{ | |||
var файл = мир.файлы[мир.номерВыбранногоФайла]; | |||
var содержимое = мир.редактор.session.getValue(); | |||
мир.временноеСодержимое[файл] = содержимое; | |||
}; | |||
// // // // | |||
ПометитьВыбранныйФайлКакИзменённый = function(мир) | |||
{ | |||
$(`#${мир.макет.константы.файл}-${мир.номерВыбранногоФайла}-изменение`).removeAttr("hidden"); | |||
}; | |||
// // // // | |||
ВывестиРедактирование = function(мир) | |||
{ | |||
console.debug("Редактирование"); | |||
}; | |||
*/ | |||
/* | |||
* СОХРАНЕНИЕ | |||
*/ | |||
/* | |||
УведомитьОНеудачномСохраненииИзменений = function(мир) | |||
{ | |||
UIkit.notification("Не удалось сохранить изменения", {status: "danger"}); | |||
@@ -1,61 +1,3 @@ | |||
# ВЫБОР ФАЙЛА | |||
#выбрали файл | |||
# задать указанный файл | |||
# не отслеживать редактирование | |||
# отобразить выбор файла | |||
# отобразить содержимое выбранного файла | |||
# задать параметр файла | |||
# отслеживать редактирование | |||
# ПУСК | |||
#пуск редактора | |||
# разобрать параметры | |||
# вывести разобранные параметры | |||
# задать ведущий модуль | |||
# загрузить макет | |||
# настроить макет | |||
# установить макет | |||
# очистить макет от заглушек | |||
# задать заголовок и версию | |||
# проверить наличие редактируемого модуля | |||
#редактируемый модуль не существует | |||
# назначить редактируемым модуль редактора | |||
# задать параметр модуля редактором | |||
# продолжить загрузку | |||
#редактируемый модуль существует | |||
# загрузить содержимое редактируемого модуля | |||
#не загрузили содержимое | |||
# уведомить об ошибке загрузки содержимого редактируемого модуля | |||
#загрузили содержимое | |||
# настроить Ace | |||
# настроить отслеживание редактирования | |||
# задать кнопку сохранения | |||
# задать временное содержимое | |||
# задать список файлов | |||
# отслеживать выбор файла | |||
# проверить наличие указанного файла | |||
#указанный файл не существует | |||
# выбрать первый файл | |||
#указанный файл существует | |||
# выбрать указанный файл | |||
# РЕДАКТИРОВАНИЕ | |||
#редактирование | |||
## вывести редактирование | |||
# пометить выбранный файл как изменённый | |||
# сохранить временное содержимое редактируемого файла | |||
# СОХРАНЕНИЕ | |||
#выбрали сохранить | |||
# сохранить изменения | |||
#не сохранили изменения | |||