Update
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['02_2005_202026_0',['02 05 2026',['../md_DIARY.html#autotoc_md10',1,'02.05.2026'],['../md_PROGRESS.html#autotoc_md15',1,'02.05.2026']]],
|
||||
['04_202026_1',['04 2026',['../md_README_8old.html#autotoc_md74',1,'Особенности архитектуры, решений и тактик (добавлено 22.04.2026)'],['../md_PROGRESS.html#autotoc_md19',1,'10.04.2026'],['../md_PROGRESS.html#autotoc_md18',1,'13.04.2026'],['../md_PROGRESS.html#autotoc_md17',1,'15.04.2026'],['../md_DIARY.html#autotoc_md1',1,'22.04.2026'],['../md_PROGRESS.html#autotoc_md16',1,'22.04.2026'],['../md_DIARY.html#autotoc_md2',1,'23.04.2026'],['../index.html#autotoc_md53',1,'26.04.2026'],['../index.html#autotoc_md54',1,'28.04.2026']]],
|
||||
['05_202026_2',['05 2026',['../md_DIARY.html#autotoc_md10',1,'02.05.2026'],['../md_PROGRESS.html#autotoc_md15',1,'02.05.2026'],['../md_PROGRESS.html#autotoc_md14',1,'11.05.2026']]]
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
var searchData=
|
||||
[
|
||||
['1 месяц_0',['1 месяц',['../index.html#autotoc_md41',1,'Этап 7. Релиз — 1 месяц'],['../md_README_8old.html#autotoc_md70',1,'Этап 7. Релиз MVP — 1 месяц']]],
|
||||
['1–2 месяца_1',['Этап 4. Шифрование (RSA + XOR) — 1–2 месяца',['../md_README_8old.html#autotoc_md67',1,'']]],
|
||||
['1_20pro_20и_20прочих_20ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_2',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['10_2004_202026_3',['10.04.2026',['../md_PROGRESS.html#autotoc_md19',1,'']]],
|
||||
['11_2005_202026_4',['11.05.2026',['../md_PROGRESS.html#autotoc_md14',1,'']]],
|
||||
['13_2004_202026_5',['13.04.2026',['../md_PROGRESS.html#autotoc_md18',1,'']]],
|
||||
['15_2004_202026_6',['15.04.2026',['../md_PROGRESS.html#autotoc_md17',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['readme_20md_0',['README.md',['../md_README_8old.html',1,'']]],
|
||||
['rsa_20xor_20—_201–2 месяца_1',['Этап 4. Шифрование (RSA + XOR) — 1–2 месяца',['../md_README_8old.html#autotoc_md67',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['sfml_20—_203–4 месяца_0',['sfml — 3–4 месяца',['../md_README_8old.html#autotoc_md66',1,'Этап 3. Десктоп‑клиент (C++/SFML) — 3–4 месяца'],['../index.html#autotoc_md38',1,'Этап 4. Десктоп‑клиент (C++/SFML) — 3–4 месяца']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['todo_20md_0',['TODO.md',['../md_TODO.html',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['xogame_0',['xogame',['../md_README_8old.html#autotoc_md79',1,'Начата разработка общих модулей, конкретно - XOGame.'],['../index.html#autotoc_md51',1,'XOGame']]],
|
||||
['xor_20—_201–2 месяца_1',['Этап 4. Шифрование (RSA + XOR) — 1–2 месяца',['../md_README_8old.html#autotoc_md67',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['yagni_0',['yagni',['../index.html#autotoc_md49',1,'Основная стратегия KISS+YAGNI'],['../md_README_8old.html#autotoc_md78',1,'Основная стратегия KISS+YAGNI']]],
|
||||
['yandexgpt_205_201_20pro_20и_20прочих_20ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_1',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,9 @@
|
||||
var searchData=
|
||||
[
|
||||
['адаптация_0',['Гибкость и адаптация',['../md_README_8old.html#autotoc_md72',1,'']]],
|
||||
['алисаai_20и_20вставлен_20как_20есть_1',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['анализ_20формата_20diary_20md_2',['Анализ формата DIARY.md',['../md_DIARY.html#autotoc_md4',1,'']]],
|
||||
['архитектуры_20решений_20и_20тактик_20добавлено_2022_2004_202026_3',['Особенности архитектуры, решений и тактик (добавлено 22.04.2026)',['../md_README_8old.html#autotoc_md74',1,'']]],
|
||||
['аспект_4',['аспект',['../index.html#autotoc_md46',1,'ИИ аспект'],['../md_README_8old.html#autotoc_md75',1,'ИИ аспект'],['../index.html#autotoc_md48',1,'Образовательный аспект'],['../md_README_8old.html#autotoc_md77',1,'Образовательный аспект']]],
|
||||
['ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_5',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['бд_20—_202–3 месяца_0',['бд — 2–3 месяца',['../md_README_8old.html#autotoc_md65',1,'Этап 2. Сервер на PHP (API + БД) — 2–3 месяца'],['../index.html#autotoc_md37',1,'Этап 3. Сервер на PHP (API + БД) — 2–3 месяца']]],
|
||||
['блок_20исключительно_20для_20yandexgpt_205_201_20pro_20и_20прочих_20ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_1',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,7 @@
|
||||
var searchData=
|
||||
[
|
||||
['войти_20в_20it_0',['войти в it',['../index.html#autotoc_md21',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT'],['../md_README_8old.html#autotoc_md58',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT']]],
|
||||
['вставлен_20как_20есть_1',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['в_20процессе_2',['Задачи в процессе',['../md_TODO.html#autotoc_md86',1,'']]],
|
||||
['в_20it_3',['в it',['../index.html#autotoc_md21',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT'],['../md_README_8old.html#autotoc_md58',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['гибкость_20и_20адаптация_0',['Гибкость и адаптация',['../md_README_8old.html#autotoc_md72',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
var searchData=
|
||||
[
|
||||
['десктоп‑клиент_20c_20sfml_20—_203–4 месяца_0',['десктоп‑клиент c sfml — 3–4 месяца',['../md_README_8old.html#autotoc_md66',1,'Этап 3. Десктоп‑клиент (C++/SFML) — 3–4 месяца'],['../index.html#autotoc_md38',1,'Этап 4. Десктоп‑клиент (C++/SFML) — 3–4 месяца']]],
|
||||
['дисклеймер_1',['Дисклеймер',['../index.html#autotoc_md42',1,'']]],
|
||||
['для_20кого_20этот_20проект_2',['Для кого этот проект',['../index.html#autotoc_md23',1,'']]],
|
||||
['для_20yandexgpt_205_201_20pro_20и_20прочих_20ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_3',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['добавлено_2022_2004_202026_4',['Особенности архитектуры, решений и тактик (добавлено 22.04.2026)',['../md_README_8old.html#autotoc_md74',1,'']]],
|
||||
['дорожная_20карта_5',['Реалистичный план этапов (дорожная карта)',['../md_README_8old.html#autotoc_md63',1,'']]],
|
||||
['до_20публикации_20проекта_6',['До публикации проекта',['../md_PROGRESS.html#autotoc_md20',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['есть_0',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['железяков_3a_0',['Расчёт железяков:',['../index.html#autotoc_md55',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['задачи_20в_20процессе_0',['Задачи в процессе',['../md_TODO.html#autotoc_md86',1,'']]],
|
||||
['заключение_1',['Заключение',['../md_DIARY.html#autotoc_md9',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,19 @@
|
||||
var searchData=
|
||||
[
|
||||
['ии_20аспект_0',['ии аспект',['../md_README_8old.html#autotoc_md75',1,'ИИ аспект'],['../index.html#autotoc_md46',1,'ИИ аспект']]],
|
||||
['ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_1',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['ии_20или_20войти_20в_20it_2',['ии или войти в it',['../index.html#autotoc_md21',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT'],['../md_README_8old.html#autotoc_md58',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT']]],
|
||||
['или_20войти_20в_20it_3',['или войти в it',['../index.html#autotoc_md21',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT'],['../md_README_8old.html#autotoc_md58',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT']]],
|
||||
['имитация_20не_20работает_4',['Почему имитация не работает',['../md_DIARY.html#autotoc_md8',1,'']]],
|
||||
['инструменты_5',['Инструменты',['../index.html#autotoc_md31',1,'']]],
|
||||
['интеграция_20и_20тестирование_20—_202–3 месяца_6',['интеграция и тестирование — 2–3 месяца',['../md_README_8old.html#autotoc_md69',1,'Этап 6. Интеграция и тестирование — 2–3 месяца'],['../index.html#autotoc_md40',1,'Этап 6. Интеграция и тестирование — 2–3 месяца']]],
|
||||
['информация_7',['Информация',['../md_TODO.html#autotoc_md84',1,'']]],
|
||||
['инфраструктура_8',['Инфраструктура',['../index.html#autotoc_md28',1,'']]],
|
||||
['инфраструктура_20—_202–4_20недели_9',['Этап 1. Инфраструктура — 2–4 недели',['../index.html#autotoc_md35',1,'']]],
|
||||
['исключительно_20для_20yandexgpt_205_201_20pro_20и_20прочих_20ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_10',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['и_20адаптация_11',['Гибкость и адаптация',['../md_README_8old.html#autotoc_md72',1,'']]],
|
||||
['и_20прочих_20ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_12',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['и_20спецификации_13',['Стандарты и спецификации',['../index.html#autotoc_md30',1,'']]],
|
||||
['и_20тактик_20добавлено_2022_2004_202026_14',['Особенности архитектуры, решений и тактик (добавлено 22.04.2026)',['../md_README_8old.html#autotoc_md74',1,'']]],
|
||||
['и_20тестирование_20—_202–3 месяца_15',['и тестирование — 2–3 месяца',['../index.html#autotoc_md40',1,'Этап 6. Интеграция и тестирование — 2–3 месяца'],['../md_README_8old.html#autotoc_md69',1,'Этап 6. Интеграция и тестирование — 2–3 месяца']]]
|
||||
];
|
||||
@@ -0,0 +1,11 @@
|
||||
var searchData=
|
||||
[
|
||||
['как_20есть_0',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['карта_1',['Реалистичный план этапов (дорожная карта)',['../md_README_8old.html#autotoc_md63',1,'']]],
|
||||
['клиент_2',['Клиент',['../index.html#autotoc_md27',1,'']]],
|
||||
['ключевые_20особенности_20оригинального_20формата_3',['Ключевые особенности оригинального формата',['../md_DIARY.html#autotoc_md5',1,'']]],
|
||||
['кого_20этот_20проект_4',['Для кого этот проект',['../index.html#autotoc_md23',1,'']]],
|
||||
['конкретно_20xogame_5',['Начата разработка общих модулей, конкретно - XOGame.',['../md_README_8old.html#autotoc_md79',1,'']]],
|
||||
['контакты_6',['контакты',['../index.html#autotoc_md44',1,'Контакты'],['../md_README_8old.html#autotoc_md81',1,'Контакты']]],
|
||||
['крестики‑нолики_20с_20ии_20или_20войти_20в_20it_7',['крестики‑нолики с ии или войти в it',['../index.html#autotoc_md21',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT'],['../md_README_8old.html#autotoc_md58',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT']]]
|
||||
];
|
||||
@@ -0,0 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['лирическое_20отступление_0',['Лирическое отступление',['../index.html#autotoc_md45',1,'']]],
|
||||
['лицензия_1',['лицензия',['../index.html#autotoc_md43',1,'Лицензия'],['../md_README_8old.html#autotoc_md80',1,'Лицензия']]],
|
||||
['логика_20нейросеть_20—_203–4 месяца_2',['логика нейросеть — 3–4 месяца',['../md_README_8old.html#autotoc_md64',1,'Этап 1. Ядро на C (логика + нейросеть) — 3–4 месяца'],['../index.html#autotoc_md36',1,'Этап 2. Ядро на C (логика + нейросеть) — 3–4 месяца']]]
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
var searchData=
|
||||
[
|
||||
['2–3 месяца_0',['2–3 месяца',['../md_README_8old.html#autotoc_md65',1,'Этап 2. Сервер на PHP (API + БД) — 2–3 месяца'],['../index.html#autotoc_md37',1,'Этап 3. Сервер на PHP (API + БД) — 2–3 месяца'],['../md_README_8old.html#autotoc_md69',1,'Этап 6. Интеграция и тестирование — 2–3 месяца'],['../index.html#autotoc_md40',1,'Этап 6. Интеграция и тестирование — 2–3 месяца']]],
|
||||
['2–4_20недели_1',['Этап 1. Инфраструктура — 2–4 недели',['../index.html#autotoc_md35',1,'']]],
|
||||
['2026_2',['2026',['../md_README_8old.html#autotoc_md74',1,'Особенности архитектуры, решений и тактик (добавлено 22.04.2026)'],['../md_DIARY.html#autotoc_md10',1,'02.05.2026'],['../md_PROGRESS.html#autotoc_md15',1,'02.05.2026'],['../md_PROGRESS.html#autotoc_md19',1,'10.04.2026'],['../md_PROGRESS.html#autotoc_md14',1,'11.05.2026'],['../md_PROGRESS.html#autotoc_md18',1,'13.04.2026'],['../md_PROGRESS.html#autotoc_md17',1,'15.04.2026'],['../md_PROGRESS.html#autotoc_md16',1,'22.04.2026'],['../md_DIARY.html#autotoc_md1',1,'22.04.2026'],['../md_DIARY.html#autotoc_md2',1,'23.04.2026'],['../index.html#autotoc_md53',1,'26.04.2026'],['../index.html#autotoc_md54',1,'28.04.2026']]],
|
||||
['22_2004_202026_3',['22 04 2026',['../md_README_8old.html#autotoc_md74',1,'Особенности архитектуры, решений и тактик (добавлено 22.04.2026)'],['../md_DIARY.html#autotoc_md1',1,'22.04.2026'],['../md_PROGRESS.html#autotoc_md16',1,'22.04.2026']]],
|
||||
['23_2004_202026_4',['23.04.2026',['../md_DIARY.html#autotoc_md2',1,'']]],
|
||||
['26_2004_202026_5',['26.04.2026',['../index.html#autotoc_md53',1,'']]],
|
||||
['28_2004_202026_6',['28.04.2026',['../index.html#autotoc_md54',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['модулей_0',['Начата разработка общих модулей.',['../index.html#autotoc_md50',1,'']]],
|
||||
['модулей_20конкретно_20xogame_1',['Начата разработка общих модулей, конкретно - XOGame.',['../md_README_8old.html#autotoc_md79',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
var searchData=
|
||||
[
|
||||
['начата_20разработка_20общих_20модулей_0',['Начата разработка общих модулей.',['../index.html#autotoc_md50',1,'']]],
|
||||
['начата_20разработка_20общих_20модулей_20конкретно_20xogame_1',['Начата разработка общих модулей, конкретно - XOGame.',['../md_README_8old.html#autotoc_md79',1,'']]],
|
||||
['на_20c_20логика_20нейросеть_20—_203–4 месяца_2',['на c логика нейросеть — 3–4 месяца',['../md_README_8old.html#autotoc_md64',1,'Этап 1. Ядро на C (логика + нейросеть) — 3–4 месяца'],['../index.html#autotoc_md36',1,'Этап 2. Ядро на C (логика + нейросеть) — 3–4 месяца']]],
|
||||
['на_20php_20api_20бд_20—_202–3 месяца_3',['на php api бд — 2–3 месяца',['../md_README_8old.html#autotoc_md65',1,'Этап 2. Сервер на PHP (API + БД) — 2–3 месяца'],['../index.html#autotoc_md37',1,'Этап 3. Сервер на PHP (API + БД) — 2–3 месяца']]],
|
||||
['недели_4',['Этап 1. Инфраструктура — 2–4 недели',['../index.html#autotoc_md35',1,'']]],
|
||||
['нейросеть_20—_203–4 месяца_5',['нейросеть — 3–4 месяца',['../md_README_8old.html#autotoc_md64',1,'Этап 1. Ядро на C (логика + нейросеть) — 3–4 месяца'],['../index.html#autotoc_md36',1,'Этап 2. Ядро на C (логика + нейросеть) — 3–4 месяца']]],
|
||||
['не_20работает_6',['Почему имитация не работает',['../md_DIARY.html#autotoc_md8',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,16 @@
|
||||
var searchData=
|
||||
[
|
||||
['обозначения_0',['обозначения',['../md_TODO.html#autotoc_md85',1,'Условные обозначения'],['../md_PROGRESS.html#autotoc_md13',1,'Условные обозначения']]],
|
||||
['оборудование_1',['Оборудование',['../index.html#autotoc_md29',1,'']]],
|
||||
['образовательный_20аспект_2',['образовательный аспект',['../md_README_8old.html#autotoc_md77',1,'Образовательный аспект'],['../index.html#autotoc_md48',1,'Образовательный аспект']]],
|
||||
['общих_20модулей_3',['Начата разработка общих модулей.',['../index.html#autotoc_md50',1,'']]],
|
||||
['общих_20модулей_20конкретно_20xogame_4',['Начата разработка общих модулей, конкретно - XOGame.',['../md_README_8old.html#autotoc_md79',1,'']]],
|
||||
['оригинального_20подхода_5',['Ценность оригинального подхода',['../md_DIARY.html#autotoc_md6',1,'']]],
|
||||
['оригинального_20формата_6',['Ключевые особенности оригинального формата',['../md_DIARY.html#autotoc_md5',1,'']]],
|
||||
['оригинал_20_3a_7',['Промпт(оригинал):',['../index.html#autotoc_md56',1,'']]],
|
||||
['основная_20стратегия_20kiss_20yagni_8',['основная стратегия kiss yagni',['../index.html#autotoc_md49',1,'Основная стратегия KISS+YAGNI'],['../md_README_8old.html#autotoc_md78',1,'Основная стратегия KISS+YAGNI']]],
|
||||
['основной_20посыл_9',['основной посыл',['../md_README_8old.html#autotoc_md76',1,'Основной посыл'],['../index.html#autotoc_md47',1,'Основной посыл']]],
|
||||
['особенности_20архитектуры_20решений_20и_20тактик_20добавлено_2022_2004_202026_10',['Особенности архитектуры, решений и тактик (добавлено 22.04.2026)',['../md_README_8old.html#autotoc_md74',1,'']]],
|
||||
['особенности_20оригинального_20формата_11',['Ключевые особенности оригинального формата',['../md_DIARY.html#autotoc_md5',1,'']]],
|
||||
['отступление_12',['Лирическое отступление',['../index.html#autotoc_md45',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,18 @@
|
||||
var searchData=
|
||||
[
|
||||
['парадигмы_0',['Парадигмы',['../index.html#autotoc_md24',1,'']]],
|
||||
['план_20реализации_1',['План реализации',['../index.html#autotoc_md34',1,'']]],
|
||||
['план_20этапов_20дорожная_20карта_2',['Реалистичный план этапов (дорожная карта)',['../md_README_8old.html#autotoc_md63',1,'']]],
|
||||
['подхода_3',['Ценность оригинального подхода',['../md_DIARY.html#autotoc_md6',1,'']]],
|
||||
['полезные_20ссылки_4',['Полезные ссылки',['../md_USEFULL__LINKS.html',1,'']]],
|
||||
['посыл_5',['посыл',['../md_README_8old.html#autotoc_md76',1,'Основной посыл'],['../index.html#autotoc_md47',1,'Основной посыл']]],
|
||||
['почему_20имитация_20не_20работает_6',['Почему имитация не работает',['../md_DIARY.html#autotoc_md8',1,'']]],
|
||||
['по_20сохранению_20формата_7',['Рекомендации по сохранению формата',['../md_DIARY.html#autotoc_md7',1,'']]],
|
||||
['прогресс_8',['прогресс',['../index.html#autotoc_md32',1,'Прогресс'],['../md_README_8old.html#autotoc_md62',1,'Прогресс']]],
|
||||
['проекта_9',['проекта',['../md_PROGRESS.html#autotoc_md20',1,'До публикации проекта'],['../index.html#autotoc_md22',1,'Цель проекта'],['../md_README_8old.html#autotoc_md59',1,'Цель проекта']]],
|
||||
['проект_10',['Для кого этот проект',['../index.html#autotoc_md23',1,'']]],
|
||||
['промпт_20оригинал_20_3a_11',['Промпт(оригинал):',['../index.html#autotoc_md56',1,'']]],
|
||||
['процессе_12',['Задачи в процессе',['../md_TODO.html#autotoc_md86',1,'']]],
|
||||
['прочих_20ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_13',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['публикации_20проекта_14',['До публикации проекта',['../md_PROGRESS.html#autotoc_md20',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,13 @@
|
||||
var searchData=
|
||||
[
|
||||
['работает_0',['Почему имитация не работает',['../md_DIARY.html#autotoc_md8',1,'']]],
|
||||
['разработка_20общих_20модулей_1',['Начата разработка общих модулей.',['../index.html#autotoc_md50',1,'']]],
|
||||
['разработка_20общих_20модулей_20конкретно_20xogame_2',['Начата разработка общих модулей, конкретно - XOGame.',['../md_README_8old.html#autotoc_md79',1,'']]],
|
||||
['расчёт_20железяков_3a_3',['Расчёт железяков:',['../index.html#autotoc_md55',1,'']]],
|
||||
['реализации_4',['План реализации',['../index.html#autotoc_md34',1,'']]],
|
||||
['реалистичный_20план_20этапов_20дорожная_20карта_5',['Реалистичный план этапов (дорожная карта)',['../md_README_8old.html#autotoc_md63',1,'']]],
|
||||
['рекомендации_20по_20сохранению_20формата_6',['Рекомендации по сохранению формата',['../md_DIARY.html#autotoc_md7',1,'']]],
|
||||
['релиз_20—_201 месяц_7',['Этап 7. Релиз — 1 месяц',['../index.html#autotoc_md41',1,'']]],
|
||||
['релиз_20mvp_20—_201 месяц_8',['Этап 7. Релиз MVP — 1 месяц',['../md_README_8old.html#autotoc_md70',1,'']]],
|
||||
['решений_20и_20тактик_20добавлено_2022_2004_202026_9',['Особенности архитектуры, решений и тактик (добавлено 22.04.2026)',['../md_README_8old.html#autotoc_md74',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,14 @@
|
||||
var searchData=
|
||||
[
|
||||
['сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_0',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['сервер_1',['Сервер',['../index.html#autotoc_md26',1,'']]],
|
||||
['сервер_20на_20php_20api_20бд_20—_202–3 месяца_2',['сервер на php api бд — 2–3 месяца',['../md_README_8old.html#autotoc_md65',1,'Этап 2. Сервер на PHP (API + БД) — 2–3 месяца'],['../index.html#autotoc_md37',1,'Этап 3. Сервер на PHP (API + БД) — 2–3 месяца']]],
|
||||
['сохранению_20формата_3',['Рекомендации по сохранению формата',['../md_DIARY.html#autotoc_md7',1,'']]],
|
||||
['спецификации_4',['Стандарты и спецификации',['../index.html#autotoc_md30',1,'']]],
|
||||
['ссылки_5',['Полезные ссылки',['../md_USEFULL__LINKS.html',1,'']]],
|
||||
['стандарты_20и_20спецификации_6',['Стандарты и спецификации',['../index.html#autotoc_md30',1,'']]],
|
||||
['статус_7',['статус',['../index.html#autotoc_md33',1,'Статус'],['../md_README_8old.html#autotoc_md61',1,'Текущий статус']]],
|
||||
['стратегия_20kiss_20yagni_8',['стратегия kiss yagni',['../index.html#autotoc_md49',1,'Основная стратегия KISS+YAGNI'],['../md_README_8old.html#autotoc_md78',1,'Основная стратегия KISS+YAGNI']]],
|
||||
['суть_20челленджа_9',['Суть челленджа',['../md_README_8old.html#autotoc_md60',1,'']]],
|
||||
['с_20ии_20или_20войти_20в_20it_10',['с ии или войти в it',['../index.html#autotoc_md21',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT'],['../md_README_8old.html#autotoc_md58',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT']]]
|
||||
];
|
||||
@@ -0,0 +1,7 @@
|
||||
var searchData=
|
||||
[
|
||||
['тактик_20добавлено_2022_2004_202026_0',['Особенности архитектуры, решений и тактик (добавлено 22.04.2026)',['../md_README_8old.html#autotoc_md74',1,'']]],
|
||||
['текущий_20статус_1',['Текущий статус',['../md_README_8old.html#autotoc_md61',1,'']]],
|
||||
['тестирование_20—_202–3 месяца_2',['тестирование — 2–3 месяца',['../index.html#autotoc_md40',1,'Этап 6. Интеграция и тестирование — 2–3 месяца'],['../md_README_8old.html#autotoc_md69',1,'Этап 6. Интеграция и тестирование — 2–3 месяца']]],
|
||||
['технологии_3',['технологии',['../index.html#autotoc_md25',1,'Технологии'],['../md_README_8old.html#autotoc_md73',1,'Технологии']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['условные_20обозначения_0',['условные обозначения',['../md_PROGRESS.html#autotoc_md13',1,'Условные обозначения'],['../md_TODO.html#autotoc_md85',1,'Условные обозначения']]]
|
||||
];
|
||||
@@ -0,0 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['формата_0',['формата',['../md_DIARY.html#autotoc_md5',1,'Ключевые особенности оригинального формата'],['../md_DIARY.html#autotoc_md7',1,'Рекомендации по сохранению формата']]],
|
||||
['формата_20diary_20md_1',['Анализ формата DIARY.md',['../md_DIARY.html#autotoc_md4',1,'']]],
|
||||
['формат_2',['Формат',['../md_PROGRESS.html#autotoc_md12',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['цель_20проекта_0',['цель проекта',['../index.html#autotoc_md22',1,'Цель проекта'],['../md_README_8old.html#autotoc_md59',1,'Цель проекта']]],
|
||||
['ценность_20оригинального_20подхода_1',['Ценность оригинального подхода',['../md_DIARY.html#autotoc_md6',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['челленджа_0',['Суть челленджа',['../md_README_8old.html#autotoc_md60',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['шифрование_20rsa_20xor_20—_201–2 месяца_0',['Этап 4. Шифрование (RSA + XOR) — 1–2 месяца',['../md_README_8old.html#autotoc_md67',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,18 @@
|
||||
var searchData=
|
||||
[
|
||||
['этап 1_20инфраструктура_20—_202–4_20недели_0',['Этап 1. Инфраструктура — 2–4 недели',['../index.html#autotoc_md35',1,'']]],
|
||||
['этап 1_20ядро_20на_20c_20логика_20нейросеть_20—_203–4 месяца_1',['Этап 1. Ядро на C (логика + нейросеть) — 3–4 месяца',['../md_README_8old.html#autotoc_md64',1,'']]],
|
||||
['этап 2_20сервер_20на_20php_20api_20бд_20—_202–3 месяца_2',['Этап 2. Сервер на PHP (API + БД) — 2–3 месяца',['../md_README_8old.html#autotoc_md65',1,'']]],
|
||||
['этап 2_20ядро_20на_20c_20логика_20нейросеть_20—_203–4 месяца_3',['Этап 2. Ядро на C (логика + нейросеть) — 3–4 месяца',['../index.html#autotoc_md36',1,'']]],
|
||||
['этап 3_20десктоп‑клиент_20c_20sfml_20—_203–4 месяца_4',['Этап 3. Десктоп‑клиент (C++/SFML) — 3–4 месяца',['../md_README_8old.html#autotoc_md66',1,'']]],
|
||||
['этап 3_20сервер_20на_20php_20api_20бд_20—_202–3 месяца_5',['Этап 3. Сервер на PHP (API + БД) — 2–3 месяца',['../index.html#autotoc_md37',1,'']]],
|
||||
['этап 4_20десктоп‑клиент_20c_20sfml_20—_203–4 месяца_6',['Этап 4. Десктоп‑клиент (C++/SFML) — 3–4 месяца',['../index.html#autotoc_md38',1,'']]],
|
||||
['этап 4_20шифрование_20rsa_20xor_20—_201–2 месяца_7',['Этап 4. Шифрование (RSA + XOR) — 1–2 месяца',['../md_README_8old.html#autotoc_md67',1,'']]],
|
||||
['этап 5_20android‑клиент_20kotlin_20ndk_20—_204–6 месяцев_8',['этап 5 android‑клиент kotlin ndk — 4–6 месяцев',['../index.html#autotoc_md39',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев'],['../md_README_8old.html#autotoc_md68',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев']]],
|
||||
['этап 6_20интеграция_20и_20тестирование_20—_202–3 месяца_9',['этап 6 интеграция и тестирование — 2–3 месяца',['../md_README_8old.html#autotoc_md69',1,'Этап 6. Интеграция и тестирование — 2–3 месяца'],['../index.html#autotoc_md40',1,'Этап 6. Интеграция и тестирование — 2–3 месяца']]],
|
||||
['этап 7_20релиз_20—_201 месяц_10',['Этап 7. Релиз — 1 месяц',['../index.html#autotoc_md41',1,'']]],
|
||||
['этап 7_20релиз_20mvp_20—_201 месяц_11',['Этап 7. Релиз MVP — 1 месяц',['../md_README_8old.html#autotoc_md70',1,'']]],
|
||||
['этапов_20дорожная_20карта_12',['Реалистичный план этапов (дорожная карта)',['../md_README_8old.html#autotoc_md63',1,'']]],
|
||||
['этот_20блок_20исключительно_20для_20yandexgpt_205_201_20pro_20и_20прочих_20ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_13',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['этот_20проект_14',['Для кого этот проект',['../index.html#autotoc_md23',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['ядро_20на_20c_20логика_20нейросеть_20—_203–4 месяца_0',['ядро на c логика нейросеть — 3–4 месяца',['../md_README_8old.html#autotoc_md64',1,'Этап 1. Ядро на C (логика + нейросеть) — 3–4 месяца'],['../index.html#autotoc_md36',1,'Этап 2. Ядро на C (логика + нейросеть) — 3–4 месяца']]]
|
||||
];
|
||||
@@ -0,0 +1,9 @@
|
||||
var searchData=
|
||||
[
|
||||
['—_201 месяц_0',['— 1 месяц',['../index.html#autotoc_md41',1,'Этап 7. Релиз — 1 месяц'],['../md_README_8old.html#autotoc_md70',1,'Этап 7. Релиз MVP — 1 месяц']]],
|
||||
['—_201–2 месяца_1',['Этап 4. Шифрование (RSA + XOR) — 1–2 месяца',['../md_README_8old.html#autotoc_md67',1,'']]],
|
||||
['—_202–3 месяца_2',['— 2–3 месяца',['../md_README_8old.html#autotoc_md65',1,'Этап 2. Сервер на PHP (API + БД) — 2–3 месяца'],['../index.html#autotoc_md37',1,'Этап 3. Сервер на PHP (API + БД) — 2–3 месяца'],['../index.html#autotoc_md40',1,'Этап 6. Интеграция и тестирование — 2–3 месяца'],['../md_README_8old.html#autotoc_md69',1,'Этап 6. Интеграция и тестирование — 2–3 месяца']]],
|
||||
['—_202–4_20недели_3',['Этап 1. Инфраструктура — 2–4 недели',['../index.html#autotoc_md35',1,'']]],
|
||||
['—_203–4 месяца_4',['— 3–4 месяца',['../md_README_8old.html#autotoc_md64',1,'Этап 1. Ядро на C (логика + нейросеть) — 3–4 месяца'],['../index.html#autotoc_md36',1,'Этап 2. Ядро на C (логика + нейросеть) — 3–4 месяца'],['../md_README_8old.html#autotoc_md66',1,'Этап 3. Десктоп‑клиент (C++/SFML) — 3–4 месяца'],['../index.html#autotoc_md38',1,'Этап 4. Десктоп‑клиент (C++/SFML) — 3–4 месяца']]],
|
||||
['—_204–6 месяцев_5',['— 4–6 месяцев',['../index.html#autotoc_md39',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев'],['../md_README_8old.html#autotoc_md68',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['3–4 месяца_0',['3–4 месяца',['../md_README_8old.html#autotoc_md64',1,'Этап 1. Ядро на C (логика + нейросеть) — 3–4 месяца'],['../index.html#autotoc_md36',1,'Этап 2. Ядро на C (логика + нейросеть) — 3–4 месяца'],['../md_README_8old.html#autotoc_md66',1,'Этап 3. Десктоп‑клиент (C++/SFML) — 3–4 месяца'],['../index.html#autotoc_md38',1,'Этап 4. Десктоп‑клиент (C++/SFML) — 3–4 месяца']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['4–6 месяцев_0',['4–6 месяцев',['../index.html#autotoc_md39',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев'],['../md_README_8old.html#autotoc_md68',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['5_201_20pro_20и_20прочих_20ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_0',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['_3a_0',['Промпт(оригинал):',['../index.html#autotoc_md56',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['android‑клиент_20kotlin_20ndk_20—_204–6 месяцев_0',['android‑клиент kotlin ndk — 4–6 месяцев',['../index.html#autotoc_md39',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев'],['../md_README_8old.html#autotoc_md68',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев']]],
|
||||
['api_20бд_20—_202–3 месяца_1',['api бд — 2–3 месяца',['../md_README_8old.html#autotoc_md65',1,'Этап 2. Сервер на PHP (API + БД) — 2–3 месяца'],['../index.html#autotoc_md37',1,'Этап 3. Сервер на PHP (API + БД) — 2–3 месяца']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['c_20логика_20нейросеть_20—_203–4 месяца_0',['c логика нейросеть — 3–4 месяца',['../md_README_8old.html#autotoc_md64',1,'Этап 1. Ядро на C (логика + нейросеть) — 3–4 месяца'],['../index.html#autotoc_md36',1,'Этап 2. Ядро на C (логика + нейросеть) — 3–4 месяца']]],
|
||||
['c_20sfml_20—_203–4 месяца_1',['c sfml — 3–4 месяца',['../md_README_8old.html#autotoc_md66',1,'Этап 3. Десктоп‑клиент (C++/SFML) — 3–4 месяца'],['../index.html#autotoc_md38',1,'Этап 4. Десктоп‑клиент (C++/SFML) — 3–4 месяца']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['diary_20md_0',['diary md',['../md_DIARY.html#autotoc_md4',1,'Анализ формата DIARY.md'],['../md_DIARY.html',1,'DIARY.md']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['fxalloc_0',['FXAlloc',['../index.html#autotoc_md52',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['it_0',['it',['../index.html#autotoc_md21',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT'],['../md_README_8old.html#autotoc_md58',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['kiss_20yagni_0',['kiss yagni',['../index.html#autotoc_md49',1,'Основная стратегия KISS+YAGNI'],['../md_README_8old.html#autotoc_md78',1,'Основная стратегия KISS+YAGNI']]],
|
||||
['kotlin_20ndk_20—_204–6 месяцев_1',['kotlin ndk — 4–6 месяцев',['../index.html#autotoc_md39',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев'],['../md_README_8old.html#autotoc_md68',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев']]]
|
||||
];
|
||||
@@ -0,0 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['md_0',['md',['../md_DIARY.html#autotoc_md4',1,'Анализ формата DIARY.md'],['../md_DIARY.html',1,'DIARY.md'],['../md_PROGRESS.html',1,'PROGRESS.md'],['../md_README_8old.html',1,'README.md'],['../md_TODO.html',1,'TODO.md']]],
|
||||
['mvp_20—_201 месяц_1',['Этап 7. Релиз MVP — 1 месяц',['../md_README_8old.html#autotoc_md70',1,'']]],
|
||||
['my_20project_2',['My Project',['../index.html',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['ndk_20—_204–6 месяцев_0',['ndk — 4–6 месяцев',['../index.html#autotoc_md39',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев'],['../md_README_8old.html#autotoc_md68',1,'Этап 5. Android‑клиент (Kotlin + NDK) — 4–6 месяцев']]],
|
||||
['neurox_3a_20крестики‑нолики_20с_20ии_20или_20войти_20в_20it_1',['neurox: крестики‑нолики с ии или войти в it',['../index.html#autotoc_md21',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT'],['../md_README_8old.html#autotoc_md58',1,'NeurOX: Крестики‑нолики с ИИ или войти в IT']]]
|
||||
];
|
||||
@@ -0,0 +1,7 @@
|
||||
var searchData=
|
||||
[
|
||||
['php_20api_20бд_20—_202–3 месяца_0',['php api бд — 2–3 месяца',['../md_README_8old.html#autotoc_md65',1,'Этап 2. Сервер на PHP (API + БД) — 2–3 месяца'],['../index.html#autotoc_md37',1,'Этап 3. Сервер на PHP (API + БД) — 2–3 месяца']]],
|
||||
['pro_20и_20прочих_20ии_20ассистентов_20сгенерирован_20yandexgpt_205_201_20pro_20алисаai_20и_20вставлен_20как_20есть_1',['Этот блок исключительно для YandexGPT 5.1 Pro и прочих ИИ-ассистентов, сгенерирован YandexGPT 5.1 Pro(АлисаAI) и вставлен "как есть"',['../md_DIARY.html#autotoc_md3',1,'']]],
|
||||
['progress_20md_2',['PROGRESS.md',['../md_PROGRESS.html',1,'']]],
|
||||
['project_3',['My Project',['../index.html',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
viewBox="0 0 11 11"
|
||||
height="11"
|
||||
width="11"
|
||||
id="svg2"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs6" />
|
||||
<path
|
||||
id="path12"
|
||||
d="M 5.5 0.5 A 5 5 0 0 0 0.5 5.5 A 5 5 0 0 0 5.5 10.5 A 5 5 0 0 0 10.5 5.5 A 5 5 0 0 0 5.5 0.5 z M 3.5820312 3 A 0.58291923 0.58291923 0 0 1 4 3.1757812 L 5.5 4.6757812 L 7 3.1757812 A 0.58291923 0.58291923 0 0 1 7.4003906 3 A 0.58291923 0.58291923 0 0 1 7.8242188 4 L 6.3242188 5.5 L 7.8242188 7 A 0.58291923 0.58291923 0 1 1 7 7.8242188 L 5.5 6.3242188 L 4 7.8242188 A 0.58291923 0.58291923 0 1 1 3.1757812 7 L 4.6757812 5.5 L 3.1757812 4 A 0.58291923 0.58291923 0 0 1 3.5820312 3 z "
|
||||
style="stroke-width:1.09870648;fill:#bababa;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 947 B |
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
viewBox="0 0 20 19"
|
||||
height="19"
|
||||
width="20"
|
||||
id="svg2"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs6" />
|
||||
<circle
|
||||
r="3.5"
|
||||
cy="8.5"
|
||||
cx="5.5"
|
||||
id="path4611"
|
||||
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
id="path4630"
|
||||
d="m 8.1085854,11.109059 2.7823556,2.782356"
|
||||
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 804 B |
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
viewBox="0 0 20 19"
|
||||
height="19"
|
||||
width="20"
|
||||
id="svg2"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs6" />
|
||||
<circle
|
||||
r="3.5"
|
||||
cy="8.5"
|
||||
cx="5.5"
|
||||
id="path4611"
|
||||
style="fill:#000000;fill-opacity:0;stroke:#C5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
id="path4630"
|
||||
d="m 8.1085854,11.109059 2.7823556,2.782356"
|
||||
style="fill:none;stroke:#C5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 804 B |
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="20"
|
||||
height="19"
|
||||
viewBox="0 0 20 19"
|
||||
>
|
||||
<defs
|
||||
id="defs6" />
|
||||
<circle
|
||||
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="path4611"
|
||||
cx="5.5"
|
||||
cy="8.5"
|
||||
r="3.5" />
|
||||
<path
|
||||
style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 11,7 13.5,10 16,7 Z"
|
||||
id="path4609"
|
||||
/>
|
||||
<path
|
||||
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 8.1085854,11.109059 2.7823556,2.782356"
|
||||
id="path4630"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1019 B |
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="20"
|
||||
height="19"
|
||||
viewBox="0 0 20 19"
|
||||
>
|
||||
<defs
|
||||
id="defs6" />
|
||||
<circle
|
||||
style="fill:#000000;fill-opacity:0;stroke:#c5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="path4611"
|
||||
cx="5.5"
|
||||
cy="8.5"
|
||||
r="3.5" />
|
||||
<path
|
||||
style="fill:#c5C5C5;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 11,7 13.5,10 16,7 Z"
|
||||
id="path4609"
|
||||
/>
|
||||
<path
|
||||
style="fill:none;stroke:#c5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 8.1085854,11.109059 2.7823556,2.782356"
|
||||
id="path4630"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1019 B |
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['diary_20md_0',['DIARY.md',['../md_DIARY.html',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['md_0',['md',['../md_DIARY.html',1,'DIARY.md'],['../md_PROGRESS.html',1,'PROGRESS.md'],['../md_README_8old.html',1,'README.md'],['../md_TODO.html',1,'TODO.md']]],
|
||||
['my_20project_1',['My Project',['../index.html',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['progress_20md_0',['PROGRESS.md',['../md_PROGRESS.html',1,'']]],
|
||||
['project_1',['My Project',['../index.html',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['readme_20md_0',['README.md',['../md_README_8old.html',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['todo_20md_0',['TODO.md',['../md_TODO.html',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['полезные_20ссылки_0',['Полезные ссылки',['../md_USEFULL__LINKS.html',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['ссылки_0',['Полезные ссылки',['../md_USEFULL__LINKS.html',1,'']]]
|
||||
];
|
||||
@@ -0,0 +1,291 @@
|
||||
/*---------------- Search Box positioning */
|
||||
|
||||
#main-menu > li:last-child {
|
||||
/* This <li> object is the parent of the search bar */
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 36px;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
/*---------------- Search box styling */
|
||||
|
||||
.SRPage * {
|
||||
font-weight: normal;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
dark-mode-toggle {
|
||||
margin-left: 5px;
|
||||
display: flex;
|
||||
float: right;
|
||||
}
|
||||
|
||||
#MSearchBox {
|
||||
display: inline-block;
|
||||
white-space : nowrap;
|
||||
background: var(--search-background-color);
|
||||
border-radius: 0.65em;
|
||||
box-shadow: var(--search-box-shadow);
|
||||
z-index: 102;
|
||||
}
|
||||
|
||||
#MSearchBox .left {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
height: 1.4em;
|
||||
}
|
||||
|
||||
#MSearchSelect {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 20px;
|
||||
height: 19px;
|
||||
background-image: var(--search-magnification-select-image);
|
||||
margin: 0 0 0 0.3em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#MSearchSelectExt {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 10px;
|
||||
height: 19px;
|
||||
background-image: var(--search-magnification-image);
|
||||
margin: 0 0 0 0.5em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
#MSearchField {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 7.5em;
|
||||
height: 19px;
|
||||
margin: 0 0.15em;
|
||||
padding: 0;
|
||||
line-height: 1em;
|
||||
border:none;
|
||||
color: var(--search-foreground-color);
|
||||
outline: none;
|
||||
font-family: var(--font-family-search);
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
background: none;
|
||||
}
|
||||
|
||||
@media(hover: none) {
|
||||
/* to avoid zooming on iOS */
|
||||
#MSearchField {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
#MSearchBox .right {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 1.4em;
|
||||
height: 1.4em;
|
||||
}
|
||||
|
||||
#MSearchClose {
|
||||
display: none;
|
||||
font-size: inherit;
|
||||
background : none;
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
outline: none;
|
||||
|
||||
}
|
||||
|
||||
#MSearchCloseImg {
|
||||
padding: 0.3em;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.MSearchBoxActive #MSearchField {
|
||||
color: var(--search-active-color);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*---------------- Search filter selection */
|
||||
|
||||
#MSearchSelectWindow {
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 0; top: 0;
|
||||
border: 1px solid var(--search-filter-border-color);
|
||||
background-color: var(--search-filter-background-color);
|
||||
z-index: 10001;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-top-left-radius: 4px;
|
||||
-webkit-border-top-right-radius: 4px;
|
||||
-webkit-border-bottom-left-radius: 4px;
|
||||
-webkit-border-bottom-right-radius: 4px;
|
||||
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.SelectItem {
|
||||
font: 8pt var(--font-family-search);
|
||||
padding-left: 2px;
|
||||
padding-right: 12px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
span.SelectionMark {
|
||||
margin-right: 4px;
|
||||
font-family: var(--font-family-monospace);
|
||||
outline-style: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.SelectItem {
|
||||
display: block;
|
||||
outline-style: none;
|
||||
color: var(--search-filter-foreground-color);
|
||||
text-decoration: none;
|
||||
padding-left: 6px;
|
||||
padding-right: 12px;
|
||||
}
|
||||
|
||||
a.SelectItem:focus,
|
||||
a.SelectItem:active {
|
||||
color: var(--search-filter-foreground-color);
|
||||
outline-style: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.SelectItem:hover {
|
||||
color: var(--search-filter-highlight-text-color);
|
||||
background-color: var(--search-filter-highlight-bg-color);
|
||||
outline-style: none;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*---------------- Search results window */
|
||||
|
||||
iframe#MSearchResults {
|
||||
/*width: 60ex;*/
|
||||
height: 15em;
|
||||
}
|
||||
|
||||
#MSearchResultsWindow {
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 0; top: 0;
|
||||
border: 1px solid var(--search-results-border-color);
|
||||
background-color: var(--search-results-background-color);
|
||||
z-index:10000;
|
||||
width: 300px;
|
||||
height: 400px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* ----------------------------------- */
|
||||
|
||||
|
||||
#SRIndex {
|
||||
clear:both;
|
||||
}
|
||||
|
||||
.SREntry {
|
||||
font-size: 10pt;
|
||||
padding-left: 1ex;
|
||||
}
|
||||
|
||||
.SRPage .SREntry {
|
||||
font-size: 8pt;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
div.SRPage {
|
||||
margin: 5px 2px;
|
||||
background-color: var(--search-results-background-color);
|
||||
}
|
||||
|
||||
.SRChildren {
|
||||
padding-left: 3ex; padding-bottom: .5em
|
||||
}
|
||||
|
||||
.SRPage .SRChildren {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.SRSymbol {
|
||||
font-weight: bold;
|
||||
color: var(--search-results-foreground-color);
|
||||
font-family: var(--font-family-search);
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
a.SRScope {
|
||||
display: block;
|
||||
color: var(--search-results-foreground-color);
|
||||
font-family: var(--font-family-search);
|
||||
font-size: 8pt;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
a.SRSymbol:focus, a.SRSymbol:active,
|
||||
a.SRScope:focus, a.SRScope:active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
span.SRScope {
|
||||
padding-left: 4px;
|
||||
font-family: var(--font-family-search);
|
||||
}
|
||||
|
||||
.SRPage .SRStatus {
|
||||
padding: 2px 5px;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-family: var(--font-family-search);
|
||||
}
|
||||
|
||||
.SRResult {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.searchresults {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/*---------------- External search page results */
|
||||
|
||||
.pages b {
|
||||
color: white;
|
||||
padding: 5px 5px 3px 5px;
|
||||
background-image: var(--nav-gradient-active-image-parent);
|
||||
background-repeat: repeat-x;
|
||||
text-shadow: 0 1px 1px #000000;
|
||||
}
|
||||
|
||||
.pages {
|
||||
line-height: 17px;
|
||||
margin-left: 4px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.hl {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#searchresults {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.searchpages {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,840 @@
|
||||
/*
|
||||
@licstart The following is the entire license notice for the JavaScript code in this file.
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (C) 1997-2020 by Dimitri van Heesch
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
||||
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
||||
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
||||
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or
|
||||
substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
|
||||
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
@licend The above is the entire license notice for the JavaScript code in this file
|
||||
*/
|
||||
function convertToId(search)
|
||||
{
|
||||
var result = '';
|
||||
for (i=0;i<search.length;i++)
|
||||
{
|
||||
var c = search.charAt(i);
|
||||
var cn = c.charCodeAt(0);
|
||||
if (c.match(/[a-z0-9\u0080-\uFFFF]/))
|
||||
{
|
||||
result+=c;
|
||||
}
|
||||
else if (cn<16)
|
||||
{
|
||||
result+="_0"+cn.toString(16);
|
||||
}
|
||||
else
|
||||
{
|
||||
result+="_"+cn.toString(16);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function getXPos(item)
|
||||
{
|
||||
var x = 0;
|
||||
if (item.offsetWidth)
|
||||
{
|
||||
while (item && item!=document.body)
|
||||
{
|
||||
x += item.offsetLeft;
|
||||
item = item.offsetParent;
|
||||
}
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
function getYPos(item)
|
||||
{
|
||||
var y = 0;
|
||||
if (item.offsetWidth)
|
||||
{
|
||||
while (item && item!=document.body)
|
||||
{
|
||||
y += item.offsetTop;
|
||||
item = item.offsetParent;
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
|
||||
var searchResults = new SearchResults("searchResults");
|
||||
|
||||
/* A class handling everything associated with the search panel.
|
||||
|
||||
Parameters:
|
||||
name - The name of the global variable that will be
|
||||
storing this instance. Is needed to be able to set timeouts.
|
||||
resultPath - path to use for external files
|
||||
*/
|
||||
function SearchBox(name, resultsPath, extension)
|
||||
{
|
||||
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
|
||||
if (!extension || extension == "") { extension = ".html"; }
|
||||
|
||||
// ---------- Instance variables
|
||||
this.name = name;
|
||||
this.resultsPath = resultsPath;
|
||||
this.keyTimeout = 0;
|
||||
this.keyTimeoutLength = 500;
|
||||
this.closeSelectionTimeout = 300;
|
||||
this.lastSearchValue = "";
|
||||
this.lastResultsPage = "";
|
||||
this.hideTimeout = 0;
|
||||
this.searchIndex = 0;
|
||||
this.searchActive = false;
|
||||
this.extension = extension;
|
||||
|
||||
// ----------- DOM Elements
|
||||
|
||||
this.DOMSearchField = function()
|
||||
{ return document.getElementById("MSearchField"); }
|
||||
|
||||
this.DOMSearchSelect = function()
|
||||
{ return document.getElementById("MSearchSelect"); }
|
||||
|
||||
this.DOMSearchSelectWindow = function()
|
||||
{ return document.getElementById("MSearchSelectWindow"); }
|
||||
|
||||
this.DOMPopupSearchResults = function()
|
||||
{ return document.getElementById("MSearchResults"); }
|
||||
|
||||
this.DOMPopupSearchResultsWindow = function()
|
||||
{ return document.getElementById("MSearchResultsWindow"); }
|
||||
|
||||
this.DOMSearchClose = function()
|
||||
{ return document.getElementById("MSearchClose"); }
|
||||
|
||||
this.DOMSearchBox = function()
|
||||
{ return document.getElementById("MSearchBox"); }
|
||||
|
||||
// ------------ Event Handlers
|
||||
|
||||
// Called when focus is added or removed from the search field.
|
||||
this.OnSearchFieldFocus = function(isActive)
|
||||
{
|
||||
this.Activate(isActive);
|
||||
}
|
||||
|
||||
this.OnSearchSelectShow = function()
|
||||
{
|
||||
var searchSelectWindow = this.DOMSearchSelectWindow();
|
||||
var searchField = this.DOMSearchSelect();
|
||||
|
||||
var left = getXPos(searchField);
|
||||
var top = getYPos(searchField);
|
||||
top += searchField.offsetHeight;
|
||||
|
||||
// show search selection popup
|
||||
searchSelectWindow.style.display='block';
|
||||
searchSelectWindow.style.left = left + 'px';
|
||||
searchSelectWindow.style.top = top + 'px';
|
||||
|
||||
// stop selection hide timer
|
||||
if (this.hideTimeout)
|
||||
{
|
||||
clearTimeout(this.hideTimeout);
|
||||
this.hideTimeout=0;
|
||||
}
|
||||
return false; // to avoid "image drag" default event
|
||||
}
|
||||
|
||||
this.OnSearchSelectHide = function()
|
||||
{
|
||||
this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this),
|
||||
this.closeSelectionTimeout);
|
||||
}
|
||||
|
||||
// Called when the content of the search field is changed.
|
||||
this.OnSearchFieldChange = function(evt)
|
||||
{
|
||||
if (this.keyTimeout) // kill running timer
|
||||
{
|
||||
clearTimeout(this.keyTimeout);
|
||||
this.keyTimeout = 0;
|
||||
}
|
||||
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==40 || e.keyCode==13)
|
||||
{
|
||||
if (e.shiftKey==1)
|
||||
{
|
||||
this.OnSearchSelectShow();
|
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++)
|
||||
{
|
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem')
|
||||
{
|
||||
child.focus();
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
var elem = searchResults.NavNext(0);
|
||||
if (elem) elem.focus();
|
||||
}
|
||||
}
|
||||
else if (e.keyCode==27) // Escape out of the search field
|
||||
{
|
||||
e.stopPropagation();
|
||||
this.DOMSearchField().blur();
|
||||
this.DOMPopupSearchResultsWindow().style.display = 'none';
|
||||
this.DOMSearchClose().style.display = 'none';
|
||||
this.lastSearchValue = '';
|
||||
this.Activate(false);
|
||||
return;
|
||||
}
|
||||
|
||||
// strip whitespaces
|
||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
|
||||
|
||||
if (searchValue != this.lastSearchValue) // search value has changed
|
||||
{
|
||||
if (searchValue != "") // non-empty search
|
||||
{
|
||||
// set timer for search update
|
||||
this.keyTimeout = setTimeout(this.Search.bind(this),
|
||||
this.keyTimeoutLength);
|
||||
}
|
||||
else // empty search field
|
||||
{
|
||||
this.DOMPopupSearchResultsWindow().style.display = 'none';
|
||||
this.DOMSearchClose().style.display = 'none';
|
||||
this.lastSearchValue = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.SelectItemCount = function(id)
|
||||
{
|
||||
var count=0;
|
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++)
|
||||
{
|
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem')
|
||||
{
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
this.SelectItemSet = function(id)
|
||||
{
|
||||
var i,j=0;
|
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++)
|
||||
{
|
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem')
|
||||
{
|
||||
var node = child.firstChild;
|
||||
if (j==id)
|
||||
{
|
||||
node.innerHTML='•';
|
||||
}
|
||||
else
|
||||
{
|
||||
node.innerHTML=' ';
|
||||
}
|
||||
j++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Called when an search filter selection is made.
|
||||
// set item with index id as the active item
|
||||
this.OnSelectItem = function(id)
|
||||
{
|
||||
this.searchIndex = id;
|
||||
this.SelectItemSet(id);
|
||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
|
||||
if (searchValue!="" && this.searchActive) // something was found -> do a search
|
||||
{
|
||||
this.Search();
|
||||
}
|
||||
}
|
||||
|
||||
this.OnSearchSelectKey = function(evt)
|
||||
{
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
|
||||
{
|
||||
this.searchIndex++;
|
||||
this.OnSelectItem(this.searchIndex);
|
||||
}
|
||||
else if (e.keyCode==38 && this.searchIndex>0) // Up
|
||||
{
|
||||
this.searchIndex--;
|
||||
this.OnSelectItem(this.searchIndex);
|
||||
}
|
||||
else if (e.keyCode==13 || e.keyCode==27)
|
||||
{
|
||||
e.stopPropagation();
|
||||
this.OnSelectItem(this.searchIndex);
|
||||
this.CloseSelectionWindow();
|
||||
this.DOMSearchField().focus();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// --------- Actions
|
||||
|
||||
// Closes the results window.
|
||||
this.CloseResultsWindow = function()
|
||||
{
|
||||
this.DOMPopupSearchResultsWindow().style.display = 'none';
|
||||
this.DOMSearchClose().style.display = 'none';
|
||||
this.Activate(false);
|
||||
}
|
||||
|
||||
this.CloseSelectionWindow = function()
|
||||
{
|
||||
this.DOMSearchSelectWindow().style.display = 'none';
|
||||
}
|
||||
|
||||
// Performs a search.
|
||||
this.Search = function()
|
||||
{
|
||||
this.keyTimeout = 0;
|
||||
|
||||
// strip leading whitespace
|
||||
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
|
||||
|
||||
var code = searchValue.toLowerCase().charCodeAt(0);
|
||||
var idxChar = searchValue.substr(0, 1).toLowerCase();
|
||||
if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
|
||||
{
|
||||
idxChar = searchValue.substr(0, 2);
|
||||
}
|
||||
|
||||
var jsFile;
|
||||
|
||||
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
|
||||
if (idx!=-1)
|
||||
{
|
||||
var hexCode=idx.toString(16);
|
||||
jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js';
|
||||
}
|
||||
|
||||
var loadJS = function(url, impl, loc){
|
||||
var scriptTag = document.createElement('script');
|
||||
scriptTag.src = url;
|
||||
scriptTag.onload = impl;
|
||||
scriptTag.onreadystatechange = impl;
|
||||
loc.appendChild(scriptTag);
|
||||
}
|
||||
|
||||
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
|
||||
var domSearchBox = this.DOMSearchBox();
|
||||
var domPopupSearchResults = this.DOMPopupSearchResults();
|
||||
var domSearchClose = this.DOMSearchClose();
|
||||
var resultsPath = this.resultsPath;
|
||||
|
||||
var handleResults = function() {
|
||||
document.getElementById("Loading").style.display="none";
|
||||
if (typeof searchData !== 'undefined') {
|
||||
createResults(resultsPath);
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
}
|
||||
|
||||
if (idx!=-1) {
|
||||
searchResults.Search(searchValue);
|
||||
} else { // no file with search results => force empty search results
|
||||
searchResults.Search('====');
|
||||
}
|
||||
|
||||
if (domPopupSearchResultsWindow.style.display!='block')
|
||||
{
|
||||
domSearchClose.style.display = 'inline-block';
|
||||
var left = getXPos(domSearchBox) + 150;
|
||||
var top = getYPos(domSearchBox) + 20;
|
||||
domPopupSearchResultsWindow.style.display = 'block';
|
||||
left -= domPopupSearchResults.offsetWidth;
|
||||
var maxWidth = document.body.clientWidth;
|
||||
var maxHeight = document.body.clientHeight;
|
||||
var width = 300;
|
||||
if (left<10) left=10;
|
||||
if (width+left+8>maxWidth) width=maxWidth-left-8;
|
||||
var height = 400;
|
||||
if (height+top+8>maxHeight) height=maxHeight-top-8;
|
||||
domPopupSearchResultsWindow.style.top = top + 'px';
|
||||
domPopupSearchResultsWindow.style.left = left + 'px';
|
||||
domPopupSearchResultsWindow.style.width = width + 'px';
|
||||
domPopupSearchResultsWindow.style.height = height + 'px';
|
||||
}
|
||||
}
|
||||
|
||||
if (jsFile) {
|
||||
loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow());
|
||||
} else {
|
||||
handleResults();
|
||||
}
|
||||
|
||||
this.lastSearchValue = searchValue;
|
||||
}
|
||||
|
||||
// -------- Activation Functions
|
||||
|
||||
// Activates or deactivates the search panel, resetting things to
|
||||
// their default values if necessary.
|
||||
this.Activate = function(isActive)
|
||||
{
|
||||
if (isActive || // open it
|
||||
this.DOMPopupSearchResultsWindow().style.display == 'block'
|
||||
)
|
||||
{
|
||||
this.DOMSearchBox().className = 'MSearchBoxActive';
|
||||
this.searchActive = true;
|
||||
}
|
||||
else if (!isActive) // directly remove the panel
|
||||
{
|
||||
this.DOMSearchBox().className = 'MSearchBoxInactive';
|
||||
this.searchActive = false;
|
||||
this.lastSearchValue = ''
|
||||
this.lastResultsPage = '';
|
||||
this.DOMSearchField().value = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
// The class that handles everything on the search results page.
|
||||
function SearchResults(name)
|
||||
{
|
||||
// The number of matches from the last run of <Search()>.
|
||||
this.lastMatchCount = 0;
|
||||
this.lastKey = 0;
|
||||
this.repeatOn = false;
|
||||
|
||||
// Toggles the visibility of the passed element ID.
|
||||
this.FindChildElement = function(id)
|
||||
{
|
||||
var parentElement = document.getElementById(id);
|
||||
var element = parentElement.firstChild;
|
||||
|
||||
while (element && element!=parentElement)
|
||||
{
|
||||
if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
|
||||
{
|
||||
return element;
|
||||
}
|
||||
|
||||
if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
|
||||
{
|
||||
element = element.firstChild;
|
||||
}
|
||||
else if (element.nextSibling)
|
||||
{
|
||||
element = element.nextSibling;
|
||||
}
|
||||
else
|
||||
{
|
||||
do
|
||||
{
|
||||
element = element.parentNode;
|
||||
}
|
||||
while (element && element!=parentElement && !element.nextSibling);
|
||||
|
||||
if (element && element!=parentElement)
|
||||
{
|
||||
element = element.nextSibling;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.Toggle = function(id)
|
||||
{
|
||||
var element = this.FindChildElement(id);
|
||||
if (element)
|
||||
{
|
||||
if (element.style.display == 'block')
|
||||
{
|
||||
element.style.display = 'none';
|
||||
}
|
||||
else
|
||||
{
|
||||
element.style.display = 'block';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Searches for the passed string. If there is no parameter,
|
||||
// it takes it from the URL query.
|
||||
//
|
||||
// Always returns true, since other documents may try to call it
|
||||
// and that may or may not be possible.
|
||||
this.Search = function(search)
|
||||
{
|
||||
if (!search) // get search word from URL
|
||||
{
|
||||
search = window.location.search;
|
||||
search = search.substring(1); // Remove the leading '?'
|
||||
search = unescape(search);
|
||||
}
|
||||
|
||||
search = search.replace(/^ +/, ""); // strip leading spaces
|
||||
search = search.replace(/ +$/, ""); // strip trailing spaces
|
||||
search = search.toLowerCase();
|
||||
search = convertToId(search);
|
||||
|
||||
var resultRows = document.getElementsByTagName("div");
|
||||
var matches = 0;
|
||||
|
||||
var i = 0;
|
||||
while (i < resultRows.length)
|
||||
{
|
||||
var row = resultRows.item(i);
|
||||
if (row.className == "SRResult")
|
||||
{
|
||||
var rowMatchName = row.id.toLowerCase();
|
||||
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
|
||||
|
||||
if (search.length<=rowMatchName.length &&
|
||||
rowMatchName.substr(0, search.length)==search)
|
||||
{
|
||||
row.style.display = 'block';
|
||||
matches++;
|
||||
}
|
||||
else
|
||||
{
|
||||
row.style.display = 'none';
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
document.getElementById("Searching").style.display='none';
|
||||
if (matches == 0) // no results
|
||||
{
|
||||
document.getElementById("NoMatches").style.display='block';
|
||||
}
|
||||
else // at least one result
|
||||
{
|
||||
document.getElementById("NoMatches").style.display='none';
|
||||
}
|
||||
this.lastMatchCount = matches;
|
||||
return true;
|
||||
}
|
||||
|
||||
// return the first item with index index or higher that is visible
|
||||
this.NavNext = function(index)
|
||||
{
|
||||
var focusItem;
|
||||
while (1)
|
||||
{
|
||||
var focusName = 'Item'+index;
|
||||
focusItem = document.getElementById(focusName);
|
||||
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if (!focusItem) // last element
|
||||
{
|
||||
break;
|
||||
}
|
||||
focusItem=null;
|
||||
index++;
|
||||
}
|
||||
return focusItem;
|
||||
}
|
||||
|
||||
this.NavPrev = function(index)
|
||||
{
|
||||
var focusItem;
|
||||
while (1)
|
||||
{
|
||||
var focusName = 'Item'+index;
|
||||
focusItem = document.getElementById(focusName);
|
||||
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if (!focusItem) // last element
|
||||
{
|
||||
break;
|
||||
}
|
||||
focusItem=null;
|
||||
index--;
|
||||
}
|
||||
return focusItem;
|
||||
}
|
||||
|
||||
this.ProcessKeys = function(e)
|
||||
{
|
||||
if (e.type == "keydown")
|
||||
{
|
||||
this.repeatOn = false;
|
||||
this.lastKey = e.keyCode;
|
||||
}
|
||||
else if (e.type == "keypress")
|
||||
{
|
||||
if (!this.repeatOn)
|
||||
{
|
||||
if (this.lastKey) this.repeatOn = true;
|
||||
return false; // ignore first keypress after keydown
|
||||
}
|
||||
}
|
||||
else if (e.type == "keyup")
|
||||
{
|
||||
this.lastKey = 0;
|
||||
this.repeatOn = false;
|
||||
}
|
||||
return this.lastKey!=0;
|
||||
}
|
||||
|
||||
this.Nav = function(evt,itemIndex)
|
||||
{
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==13) return true;
|
||||
if (!this.ProcessKeys(e)) return false;
|
||||
|
||||
if (this.lastKey==38) // Up
|
||||
{
|
||||
var newIndex = itemIndex-1;
|
||||
var focusItem = this.NavPrev(newIndex);
|
||||
if (focusItem)
|
||||
{
|
||||
var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
|
||||
if (child && child.style.display == 'block') // children visible
|
||||
{
|
||||
var n=0;
|
||||
var tmpElem;
|
||||
while (1) // search for last child
|
||||
{
|
||||
tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
|
||||
if (tmpElem)
|
||||
{
|
||||
focusItem = tmpElem;
|
||||
}
|
||||
else // found it!
|
||||
{
|
||||
break;
|
||||
}
|
||||
n++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (focusItem)
|
||||
{
|
||||
focusItem.focus();
|
||||
}
|
||||
else // return focus to search field
|
||||
{
|
||||
document.getElementById("MSearchField").focus();
|
||||
}
|
||||
}
|
||||
else if (this.lastKey==40) // Down
|
||||
{
|
||||
var newIndex = itemIndex+1;
|
||||
var focusItem;
|
||||
var item = document.getElementById('Item'+itemIndex);
|
||||
var elem = this.FindChildElement(item.parentNode.parentNode.id);
|
||||
if (elem && elem.style.display == 'block') // children visible
|
||||
{
|
||||
focusItem = document.getElementById('Item'+itemIndex+'_c0');
|
||||
}
|
||||
if (!focusItem) focusItem = this.NavNext(newIndex);
|
||||
if (focusItem) focusItem.focus();
|
||||
}
|
||||
else if (this.lastKey==39) // Right
|
||||
{
|
||||
var item = document.getElementById('Item'+itemIndex);
|
||||
var elem = this.FindChildElement(item.parentNode.parentNode.id);
|
||||
if (elem) elem.style.display = 'block';
|
||||
}
|
||||
else if (this.lastKey==37) // Left
|
||||
{
|
||||
var item = document.getElementById('Item'+itemIndex);
|
||||
var elem = this.FindChildElement(item.parentNode.parentNode.id);
|
||||
if (elem) elem.style.display = 'none';
|
||||
}
|
||||
else if (this.lastKey==27) // Escape
|
||||
{
|
||||
e.stopPropagation();
|
||||
searchBox.CloseResultsWindow();
|
||||
document.getElementById("MSearchField").focus();
|
||||
}
|
||||
else if (this.lastKey==13) // Enter
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
this.NavChild = function(evt,itemIndex,childIndex)
|
||||
{
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==13) return true;
|
||||
if (!this.ProcessKeys(e)) return false;
|
||||
|
||||
if (this.lastKey==38) // Up
|
||||
{
|
||||
if (childIndex>0)
|
||||
{
|
||||
var newIndex = childIndex-1;
|
||||
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
|
||||
}
|
||||
else // already at first child, jump to parent
|
||||
{
|
||||
document.getElementById('Item'+itemIndex).focus();
|
||||
}
|
||||
}
|
||||
else if (this.lastKey==40) // Down
|
||||
{
|
||||
var newIndex = childIndex+1;
|
||||
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
|
||||
if (!elem) // last child, jump to parent next parent
|
||||
{
|
||||
elem = this.NavNext(itemIndex+1);
|
||||
}
|
||||
if (elem)
|
||||
{
|
||||
elem.focus();
|
||||
}
|
||||
}
|
||||
else if (this.lastKey==27) // Escape
|
||||
{
|
||||
e.stopPropagation();
|
||||
searchBox.CloseResultsWindow();
|
||||
document.getElementById("MSearchField").focus();
|
||||
}
|
||||
else if (this.lastKey==13) // Enter
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function setKeyActions(elem,action)
|
||||
{
|
||||
elem.setAttribute('onkeydown',action);
|
||||
elem.setAttribute('onkeypress',action);
|
||||
elem.setAttribute('onkeyup',action);
|
||||
}
|
||||
|
||||
function setClassAttr(elem,attr)
|
||||
{
|
||||
elem.setAttribute('class',attr);
|
||||
elem.setAttribute('className',attr);
|
||||
}
|
||||
|
||||
function createResults(resultsPath)
|
||||
{
|
||||
var results = document.getElementById("SRResults");
|
||||
results.innerHTML = '';
|
||||
for (var e=0; e<searchData.length; e++)
|
||||
{
|
||||
var id = searchData[e][0];
|
||||
var srResult = document.createElement('div');
|
||||
srResult.setAttribute('id','SR_'+id);
|
||||
setClassAttr(srResult,'SRResult');
|
||||
var srEntry = document.createElement('div');
|
||||
setClassAttr(srEntry,'SREntry');
|
||||
var srLink = document.createElement('a');
|
||||
srLink.setAttribute('id','Item'+e);
|
||||
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
|
||||
setClassAttr(srLink,'SRSymbol');
|
||||
srLink.innerHTML = searchData[e][1][0];
|
||||
srEntry.appendChild(srLink);
|
||||
if (searchData[e][1].length==2) // single result
|
||||
{
|
||||
srLink.setAttribute('href',resultsPath+searchData[e][1][1][0]);
|
||||
srLink.setAttribute('onclick','searchBox.CloseResultsWindow()');
|
||||
if (searchData[e][1][1][1])
|
||||
{
|
||||
srLink.setAttribute('target','_parent');
|
||||
}
|
||||
else
|
||||
{
|
||||
srLink.setAttribute('target','_blank');
|
||||
}
|
||||
var srScope = document.createElement('span');
|
||||
setClassAttr(srScope,'SRScope');
|
||||
srScope.innerHTML = searchData[e][1][1][2];
|
||||
srEntry.appendChild(srScope);
|
||||
}
|
||||
else // multiple results
|
||||
{
|
||||
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
|
||||
var srChildren = document.createElement('div');
|
||||
setClassAttr(srChildren,'SRChildren');
|
||||
for (var c=0; c<searchData[e][1].length-1; c++)
|
||||
{
|
||||
var srChild = document.createElement('a');
|
||||
srChild.setAttribute('id','Item'+e+'_c'+c);
|
||||
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
|
||||
setClassAttr(srChild,'SRScope');
|
||||
srChild.setAttribute('href',resultsPath+searchData[e][1][c+1][0]);
|
||||
srChild.setAttribute('onclick','searchBox.CloseResultsWindow()');
|
||||
if (searchData[e][1][c+1][1])
|
||||
{
|
||||
srChild.setAttribute('target','_parent');
|
||||
}
|
||||
else
|
||||
{
|
||||
srChild.setAttribute('target','_blank');
|
||||
}
|
||||
srChild.innerHTML = searchData[e][1][c+1][2];
|
||||
srChildren.appendChild(srChild);
|
||||
}
|
||||
srEntry.appendChild(srChildren);
|
||||
}
|
||||
srResult.appendChild(srEntry);
|
||||
results.appendChild(srResult);
|
||||
}
|
||||
}
|
||||
|
||||
function init_search()
|
||||
{
|
||||
var results = document.getElementById("MSearchSelectWindow");
|
||||
results.tabIndex=0;
|
||||
for (var key in indexSectionLabels)
|
||||
{
|
||||
var link = document.createElement('a');
|
||||
link.setAttribute('class','SelectItem');
|
||||
link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
|
||||
link.href='javascript:void(0)';
|
||||
link.innerHTML='<span class="SelectionMark"> </span>'+indexSectionLabels[key];
|
||||
results.appendChild(link);
|
||||
}
|
||||
searchBox.OnSelectItem(0);
|
||||
|
||||
var input = document.getElementById("MSearchSelect");
|
||||
var searchSelectWindow = document.getElementById("MSearchSelectWindow");
|
||||
input.tabIndex=0;
|
||||
input.addEventListener("keydown", function(event) {
|
||||
if (event.keyCode==13 || event.keyCode==40) {
|
||||
event.preventDefault();
|
||||
if (searchSelectWindow.style.display == 'block') {
|
||||
searchBox.CloseSelectionWindow();
|
||||
} else {
|
||||
searchBox.OnSearchSelectShow();
|
||||
searchBox.DOMSearchSelectWindow().focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
/* @license-end */
|
||||
@@ -0,0 +1,18 @@
|
||||
var indexSectionsWithContent =
|
||||
{
|
||||
0: "012345:acdfikmnprstxyабвгдежзиклмнопрстуфцчшэя—",
|
||||
1: "dmprtпс"
|
||||
};
|
||||
|
||||
var indexSectionNames =
|
||||
{
|
||||
0: "all",
|
||||
1: "pages"
|
||||
};
|
||||
|
||||
var indexSectionLabels =
|
||||
{
|
||||
0: "All",
|
||||
1: "Pages"
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user