Files
uik/пример|sample.js

211 lines
6.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const ИМЯ = "UIK";
// // // //
ВыбратьПервыйПунктМенюДокументации = мир =>
{
мир.номерВыбранногоПунктаДокументации = 0;
мир.уведомить("выбрали пункт меню документации");
};
// // // //
ОтобразитьСодержимоеВыбранногоПунктаМенюДокументации = мир =>
{
$(`#${мир.макет.константы.содержимое}`).html(`<h1>Выбрали пункт меню #${мир.номерВыбранногоПунктаДокументации}</h1>`);
};
// // // //
ОтобразитьВыборПунктаМенюДокументации = мир =>
{
const id = мир.макет.константы.документация;
// Очищаем прошлый выбор.
for (var номер in мир.пунктыДокументации)
{
$(`#${id}-${номер}`).removeClass("uk-active");
}
// Задаём новый выбор.
$(`#${id}-${мир.номерВыбранногоПунктаДокументации}`).addClass("uk-active");
};
// // // //
ОтслеживатьВыборПунктаМенюДокументации = мир =>
{
for (var номер in мир.пунктыДокументации)
{
const номерПункта = номер;
const id = `${мир.макет.константы.документация}-${номер}-ссылка`;
$(`#${id}`).click(function() {
мир.номерВыбранногоПунктаДокументации = номерПункта;
мир.уведомить("выбрали пункт меню документации");
});
}
};
// // // //
СоздатьРазделМенюДокументации = мир =>
{
мир.макет.константы.документация = "документация";
var содержимое = "";
for (var номер in мир.пунктыДокументации)
{
var название = мир.пунктыДокументации[номер];
var id = `${мир.макет.константы.документация}-${номер}`;
var пункт = мир.макет.элементы.пунктМеню
.replace("%название%", название)
.replace(/%id%/g, id)
;
содержимое += пункт;
}
var раздел = мир.макет.элементы.разделМеню
.replace("%название%", мир.макет.константы.документация)
.replace("%содержимое%", содержимое)
;
$(`#${мир.макет.константы.меню}`).append(раздел);
};
// // // //
ЗадатьПунктыРазделаМенюДокументации = мир =>
{
мир.пунктыДокументации = [
"Описание",
"Ещё что-то",
];
};
// // // //
ЗадатьЗаголовок = мир =>
{
$(`#${мир.макет.константы.заголовокЛево}`).html(`
<span class="uk-navbar-item uk-logo">UIK</span>
`);
};
// // // //
ЗадатьЭлементыМакета = мир =>
{
мир.макет.элементы = {
"разделМеню": `
<ul class="uk-nav uk-nav-default tm-nav">
<li class="uk-nav-header">%название%</li>
%содержимое%
</ul>
`,
"пунктМеню": `
<li id="%id%"><a id="%id%-ссылка">%название%</a></li>
`,
};
}
// // // //
ОчиститьМакетUIKОтЗаглушек = мир =>
{
$(`#${мир.макет.константы.заголовокЛево}`).text("");
$(`#${мир.макет.константы.заголовокПраво}`).text("");
$(`#${мир.макет.константы.меню}`).text("");
$(`#${мир.макет.константы.содержимое}`).text("");
};
// // // //
УстановитьМакетUIK = мир =>
{
document.body.innerHTML = мир.макет.структура;
var вид = document.createElement("style");
document.head.appendChild(вид);
вид.innerHTML = мир.макет.вид;
};
// // // //
НастроитьМакетUIK = мир =>
{
var название = "пример";
var html = мир.макет.структура;
var css = мир.макет.вид;
// Вырезаем тело из макета.
var начало = html.indexOf("<!-- МАКЕТ_НАЧАЛО -->");
var конец = html.indexOf("<!-- МАКЕТ_КОНЕЦ -->");
html = html.substring(начало, конец);
мир.макет.константы = {
"заголовокЛево": `${название}-заголовокЛево`,
"заголовокПраво": `${название}-заголовокПраво`,
"меню": `${название}-меню`,
"содержимое": `${название}-содержимое`,
};
// Заменяем константы в макете.
for (var константа in мир.макет.константы)
{
var старое = "${" + константа + "}";
var новое = мир.макет.константы[константа];
html = html.replace(старое, новое);
css = css.replace(старое, новое);
}
мир.макет.структура = html;
мир.макет.вид = css;
};
// // // //
ЗагрузитьМакетUIK = мир =>
{
var м = мир.модули.модульПоИмени(ИМЯ);
мир.макет = {
"структура": м.содержимое["/макет|template.html"],
"вид": м.содержимое["/макет|template.css"],
};
};
// // // //
ВывестиПриветствиеОтUIK = мир =>
{
console.debug("Привет от UIK");
};