Skip to content

Commit 09c4235

Browse files
authored
Merge pull request #2462 from alkoleft/feat/fix-md-view
2461 / Переработан механизм загрузки markdown viewer
2 parents 3e20961 + e87e2e7 commit 09c4235

File tree

1 file changed

+70
-32
lines changed
  • VanessaAutomation/Forms/ВыборИзвестногоШага/Ext/Form

1 file changed

+70
-32
lines changed

VanessaAutomation/Forms/ВыборИзвестногоШага/Ext/Form/Module.bsl

Lines changed: 70 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
&НаКлиенте
55
Перем Ванесса;
66

7+
&НаКлиенте
8+
Перем ЗагруженMarkdownViewer;
9+
710
#КонецОбласти
811

912
#Область ОбработкаСобытийФормы
@@ -34,11 +37,6 @@
3437

3538
СистемнаяИнформация = Новый СистемнаяИнформация;
3639
ИспользоватьMarkdownViewer = ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.14.0");
37-
Если ИспользоватьMarkdownViewer Тогда
38-
Обработка = РеквизитФормыВЗначение("Объект");
39-
ДвоичныеДанные = Обработка.ПолучитьМакет("MarkdownViewer");
40-
MarkdownViewer = ПолучитьНавигационнуюСсылкуИнформационнойБазы() + "/" + ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
41-
КонецЕсли;
4240

4341
УстановитьВидимостьОписанийШагов(ЭтаФорма);
4442

@@ -49,6 +47,8 @@
4947

5048
Ванесса = ВладелецФормы;
5149

50+
УстановитьАдресMarkdownViewer();
51+
5252
Если ЯзыкГенератораGherkin = "ru" Тогда
5353
Элементы.ПоказатьПеревод.Видимость = Ложь;
5454
Иначе
@@ -58,9 +58,9 @@
5858
Иначе
5959
Если Ванесса.КешДанныеПеревода.Язык = ЯзыкГенератораGherkin Тогда
6060
КешТаблицыПеревода = Ванесса.КешДанныеПеревода.ТаблицаПеревода;
61-
КонецЕсли;
62-
КонецЕсли;
63-
КонецЕсли;
61+
КонецЕсли;
62+
КонецЕсли;
63+
КонецЕсли;
6464

6565
ДвДанныеvbFeatureReader = ПолучитьДДFeatureReader();
6666
ДопПараметры = Новый Структура;
@@ -73,7 +73,8 @@
7373

7474
Если ЗначениеЗаполнено(ДопПараметры.ПараметрСнипет) Тогда
7575
АктивизироватьСтрокуПоСнипету(ДопПараметры.ПараметрСнипет);
76-
КонецЕсли;
76+
КонецЕсли;
77+
7778
КонецПроцедуры
7879

7980
&НаКлиенте
@@ -144,6 +145,8 @@
144145
&НаКлиенте
145146
Процедура MarkdownViewerДокументСформирован(Элемент)
146147

148+
ЗагруженMarkdownViewer = Истина;
149+
147150
Попытка
148151
ОтобразитьДанныеТекущегоШага();
149152
Исключение
@@ -211,17 +214,6 @@
211214

212215
КонецПроцедуры
213216

214-
&НаКлиенте
215-
Процедура ОтобразитьДанныеТекущегоШага()
216-
217-
Если Элементы.ДеревоШагов.ТекущиеДанные <> Неопределено Тогда
218-
ОтобразитьMarkdown(Элементы.ДеревоШагов.ТекущиеДанные.ОписаниеШага);
219-
Иначе
220-
ОтобразитьMarkdown("");
221-
КонецЕсли;
222-
223-
КонецПроцедуры
224-
225217
&НаКлиенте
226218
Процедура ДеревоШаговПриАктивизацииСтроки(Элемент)
227219

@@ -321,10 +313,11 @@
321313

322314
Результат = "";
323315
Счетчик = 0;
316+
324317
Для каждого Строка Из Строки Цикл
325318
Счетчик = Счетчик + 1;
326319
РазделительТекущий = ?(Счетчик = 1, "", Разделитель);
327-
Результат = Результат + РазделительТекущий + Строка;
320+
Результат = Результат + РазделительТекущий + Строка;
328321
КонецЦикла;
329322

330323
Возврат Результат;
@@ -440,17 +433,6 @@
440433

441434
КонецФункции
442435

443-
&НаКлиенте
444-
Процедура ОтобразитьMarkdown(Текст)
445-
446-
Если ИспользоватьMarkdownViewer Тогда
447-
ЭлементHTML = Элементы.MarkdownViewer.Документ["defaultView"];
448-
Текст = ЭкранироватьСпецсимволыДляОтображенияMarkdown(Текст);
449-
ЭлементHTML.renderMarkdown(Текст);
450-
КонецЕсли;
451-
452-
КонецПроцедуры
453-
454436
#КонецОбласти
455437

456438
#Область Диалог
@@ -1131,4 +1113,60 @@
11311113

11321114
#КонецОбласти
11331115

1116+
#Область MarkdownViewer
1117+
1118+
&НаКлиенте
1119+
Процедура ОтобразитьДанныеТекущегоШага()
1120+
1121+
Если Элементы.ДеревоШагов.ТекущиеДанные <> Неопределено Тогда
1122+
ОтобразитьMarkdown(Элементы.ДеревоШагов.ТекущиеДанные.ОписаниеШага);
1123+
Иначе
1124+
ОтобразитьMarkdown("");
1125+
КонецЕсли;
1126+
1127+
КонецПроцедуры
1128+
1129+
&НаКлиенте
1130+
Процедура ОтобразитьMarkdown(Текст)
1131+
1132+
Если ИспользоватьMarkdownViewer И ЗагруженMarkdownViewer Тогда
1133+
ЭлементHTML = Элементы.MarkdownViewer.Документ["defaultView"];
1134+
Текст = ЭкранироватьСпецсимволыДляОтображенияMarkdown(Текст);
1135+
ЭлементHTML.renderMarkdown(Текст);
1136+
КонецЕсли;
1137+
1138+
КонецПроцедуры
1139+
1140+
&НаКлиенте
1141+
Процедура УстановитьАдресMarkdownViewer()
1142+
1143+
ЗагруженMarkdownViewer = Ложь;
1144+
1145+
Если НЕ ИспользоватьMarkdownViewer Тогда
1146+
Возврат;
1147+
КонецЕсли;
1148+
1149+
ИмяФайла = "MarkdownViewer";
1150+
Версия = "v1.1.0";
1151+
1152+
ПолноеИмяФайла = СтрШаблон("%1%4%2_%3.html", КаталогВременныхФайлов(), ИмяФайла, Версия, ПолучитьРазделительПути());
1153+
1154+
Если НЕ Ванесса.ФайлСуществуетКомандаСистемы(ПолноеИмяФайла) Тогда
1155+
ДанныеМакетаMarkdownViewer().Записать(ПолноеИмяФайла);
1156+
КонецЕсли;
1157+
1158+
MarkdownViewer = ПолноеИмяФайла;
1159+
1160+
КонецПроцедуры
1161+
1162+
&НаСервере
1163+
Функция ДанныеМакетаMarkdownViewer()
1164+
1165+
Обработка = РеквизитФормыВЗначение("Объект");
1166+
Возврат Обработка.ПолучитьМакет("MarkdownViewer");
1167+
1168+
КонецФункции
1169+
1170+
#КонецОбласти
1171+
11341172
#КонецОбласти

0 commit comments

Comments
 (0)