Skip to content

Commit

Permalink
Ишуиз #13 и прочие улучшения
Browse files Browse the repository at this point in the history
  • Loading branch information
SeiOkami committed Mar 21, 2023
1 parent 2bab246 commit f9bd449
Show file tree
Hide file tree
Showing 4 changed files with 245 additions and 63 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,8 @@
КонецЕсли;

Если ПодчиненнаяКоманда.ВыполняемоеДействие = Неопределено Тогда
ВыполняемоеДействие = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействие();
РГП_ГлобальныйПоискКлиентСервер.УстановитьПутьПерехода(
ВыполняемоеДействие, ПараметрыВыполнения, ПодчиненнаяКоманда.Ключ);
ВыполняемоеДействие = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействиеПереходаНаКоманду(
ПараметрыВыполнения, ПодчиненнаяКоманда.Ключ);
Иначе
ВыполняемоеДействие = ПодчиненнаяКоманда.ВыполняемоеДействие;
КонецЕсли;
Expand Down Expand Up @@ -383,40 +382,73 @@
Процедура ОбработатьДанныеРезультатаГлобальногоПоиска(ВыполняемоеДействие, СтандартнаяОбработка = Истина) Экспорт

СтандартнаяОбработка = Ложь;

ОписаниеОповещения = ОписаниеОповещения(ВыполняемоеДействие.ОписаниеОповещения);
Если ТипЗнч(ОписаниеОповещения) = Тип("ОписаниеОповещения") Тогда
ВыполнитьОбработкуОповещения(ОписаниеОповещения, ВыполняемоеДействие);
КонецЕсли;

Если ВыполняемоеДействие.ОткрываемоеЗначение <> Неопределено Тогда
Если ТипЗнч(ВыполняемоеДействие) = Тип("Структура") Тогда

ОписаниеОповещения = ОписаниеОповещения(ВыполняемоеДействие.ОписаниеОповещения);
Если ТипЗнч(ОписаниеОповещения) = Тип("ОписаниеОповещения") Тогда
ВыполнитьОбработкуОповещения(ОписаниеОповещения, ВыполняемоеДействие);
КонецЕсли;

ПоказатьЗначение = Истина;
Если ТипЗнч(ВыполняемоеДействие.ОткрываемоеЗначение) = Тип("Строка") Тогда

НавигационнаяСсылка = ВыполняемоеДействие.ОткрываемоеЗначение; //Строка

Попытка //@skip-check empty-except-statement
ПерейтиПоНавигационнойСсылке(НавигационнаяСсылка);
ПоказатьЗначение = Ложь;
Исключение
//Значит это не навигационная ссылка
КонецПопытки;

Если ВыполняемоеДействие.ОткрываемоеЗначение <> Неопределено Тогда
ПоказатьОткрываемоеЗначение(ВыполняемоеДействие.ОткрываемоеЗначение);
КонецЕсли;

Если ПоказатьЗначение Тогда
ПоказатьЗначение(Неопределено, ВыполняемоеДействие.ОткрываемоеЗначение);
Если ЗначениеЗаполнено(ВыполняемоеДействие.ПутьПерехода) Тогда
ГлобальныйПоиск.НачатьПоиск(ВыполняемоеДействие.ПутьПерехода);
КонецЕсли;

КонецЕсли;
Если ВыполняемоеДействие.ОткрываемаяФорма <> Неопределено Тогда

ОткрываемаяФорма = ВыполняемоеДействие.ОткрываемаяФорма; //см. РГП_ГлобальныйПоискКлиентСервер.ОписаниеОткрываемойФормы

//@skip-check invocation-parameter-type-intersect
ОткрытьФорму(ОткрываемаяФорма.ИмяФормы, ОткрываемаяФорма.Параметры,
ОткрываемаяФорма.Владелец, ОткрываемаяФорма.Уникальность,
ОткрываемаяФорма.Окно, ОткрываемаяФорма.НавигационнаяСсылка,
ОткрываемаяФорма.ОписаниеОповещенияОЗакрытии, ОткрываемаяФорма.РежимОткрытияОкна);

КонецЕсли;

Если ЗначениеЗаполнено(ВыполняемоеДействие.ПутьПерехода) Тогда
ГлобальныйПоиск.НачатьПоиск(ВыполняемоеДействие.ПутьПерехода);
Иначе

ПоказатьОткрываемоеЗначение(ВыполняемоеДействие);

КонецЕсли;

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

// Показать открываемое значение.
//
// Параметры:
// ОткрываемоеЗначение - Строка - Навигационная ссылка
// - Произвольный - Открываемое значение
Процедура ПоказатьОткрываемоеЗначение(ОткрываемоеЗначение) Экспорт

Если ЭтоНавигационнаяСсылка(ОткрываемоеЗначение) Тогда
ПерейтиПоНавигационнойСсылке(ОткрываемоеЗначение);
Иначе
ПоказатьЗначение(Неопределено, ОткрываемоеЗначение);
КонецЕсли;

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

// Это навигационная ссылка.
//
// Параметры:
// Значение - Строка
// - Произвольный
//
// Возвращаемое значение:
// Булево - Это навигационная ссылка
Функция ЭтоНавигационнаяСсылка(Значение) Экспорт

Возврат ТипЗнч(Значение) = Тип("Строка")
И (СтрНачинаетсяС(Значение, "e1cib/")
ИЛИ СтрНачинаетсяС(Значение, "http"));

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

// Параметры расширенного глобального поиска
// Именять содержимое можно только в переропределяемом событии "ПослеЗаполненияПараметровРасширенногоГлобальногоПоиска"
//
Expand Down Expand Up @@ -461,6 +493,7 @@
// Ключ - Строка - Короткий ключ команды. Нужен для идентификации команды в контексте родителя
// Родитель - Неопределено
// - см. НоваяКомандаРасширенногоПоиска
// ПорядокРодителя - Неопределено, Число - Порядок команды в родителе
//
// Возвращаемое значение:
// Структура - Новая команда расширенного поиска:
Expand Down Expand Up @@ -489,7 +522,7 @@
// * ДополнительныеПараметры - Структура из КлючИЗначение - Параметры, копируемые в ДополнительныеПараметры выполняемого метода команды:
// ** Ключ - Строка
// ** Значение - Произвольный
Функция НоваяКомандаРасширенногоПоиска(ПараметрыВыполнения, Ключ, Родитель = Неопределено) Экспорт
Функция НоваяКомандаРасширенногоПоиска(ПараметрыВыполнения, Ключ, Родитель = Неопределено, Знач ПорядокРодителя = Неопределено) Экспорт

КорневаяКоманда = (Родитель = Неопределено);

Expand Down Expand Up @@ -540,7 +573,9 @@
Команда.ВозможныПараметры = Родитель.ВозможныПараметры;
Команда.Разделитель = Родитель.Разделитель;
Команда.ПолныйКлюч = СтрШаблон("%1%2%3", Родитель.ПолныйКлюч, Ключ, Команда.Разделитель);
Родитель.ПорядокКоманд.Добавить(Команда);

ПорядокРодителя = ?(ПорядокРодителя = Неопределено, Родитель.ПорядокКоманд.Количество(), ПорядокРодителя);
Родитель.ПорядокКоманд.Вставить(ПорядокРодителя, Команда);
КоллекцияКоманды = Родитель.Команды;

Команда.СтандартныеКомандыШапки.Добавить(СтандартныеКоманды.Назад);
Expand Down Expand Up @@ -673,9 +708,7 @@
ВременныеПараметры.СтрокаПоиска = "";
КонецЕсли;

ВыполняемоеДействие = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействие();

РГП_ГлобальныйПоискКлиентСервер.УстановитьПутьПерехода(ВыполняемоеДействие, ВременныеПараметры);
ВыполняемоеДействие = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействиеПереходаНаКоманду(ВременныеПараметры);

ЭлементРезультата = РГП_ГлобальныйПоискКлиентСервер.ЭлементРезультатаГлобальногоПоиска(
ВыполняемоеДействие, "Назад", БиблиотекаКартинок.Назад);
Expand Down Expand Up @@ -848,9 +881,8 @@
КомандаПоиска = НоваяКомандаРасширенногоПоиска(ПараметрыПоиска, "github", ИнформационнаяКоманда);
КомандаПоиска.Представление = "Открыть репозиторий";
КомандаПоиска.Картинка = БиблиотекаКартинок.РГП_GitHub;
ВыполняемоеДействие = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействие();
ВыполняемоеДействие.ОткрываемоеЗначение = "https://github.com/SeiOkami/AdvancedGlobalSearchOneS";
КомандаПоиска.ВыполняемоеДействие = ВыполняемоеДействие;
КомандаПоиска.ВыполняемоеДействие = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействиеОткрытияЗначения(
"https://github.com/SeiOkami/AdvancedGlobalSearchOneS");

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

Expand Down Expand Up @@ -993,17 +1025,14 @@
// ПредставлениеРезультата - Строка
Процедура ГлобальныйПоискПоОткрытымФормам_ДобавитьРезультат(ОбщиеПараметры, Форма, ПредставлениеРезультата)

ДействиеОткрытие = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействие();
ДействиеОткрытие.ОписаниеОповещения = ОбщиеПараметры.ОповещениеОткрытие;
ДействиеОткрытие = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействиеОписанияОповещения(ОбщиеПараметры.ОповещениеОткрытие);
ДействиеОткрытие.ДополнительныеПараметры.Вставить("Форма", Форма);

ДействиеЗакрытие = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействие();
ДействиеЗакрытие.ОписаниеОповещения = ОбщиеПараметры.ОповещениеЗакрытие;
ДействиеЗакрытие = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействиеОписанияОповещения(ОбщиеПараметры.ОповещениеЗакрытие);
ДействиеЗакрытие.ДополнительныеПараметры.Вставить("Форма", Форма);
РГП_ГлобальныйПоискКлиентСервер.УстановитьПутьПерехода(ДействиеЗакрытие, ОбщиеПараметры.ПараметрыВыполнения); //Обновляем

ДействиеЭлементы = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействие();
РГП_ГлобальныйПоискКлиентСервер.УстановитьПутьПерехода(ДействиеЭлементы,
ДействиеЭлементы = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействиеПереходаНаКоманду(
ОбщиеПараметры.ПараметрыВыполнения, "Э", Форма.УникальныйИдентификатор);

ЭлементРезультата = РГП_ГлобальныйПоискКлиентСервер.ЭлементРезультатаГлобальногоПоиска(
Expand Down Expand Up @@ -1145,13 +1174,11 @@
Представление = ?(ПустаяСтрока(ЭлементФормы.Заголовок), ЭлементФормы.Имя, ЭлементФормы.Заголовок);
Представление = СтрШаблон("%1: %2", ТипЗнч(ЭлементФормы), Представление);

ДействиеАктивация = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействие();
ДействиеАктивация.ОписаниеОповещения = ОбщиеПараметры.ОписаниеАктивация;
ДействиеАктивация = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействиеОписанияОповещения(ОбщиеПараметры.ОписаниеАктивация);
ДействиеАктивация.ДополнительныеПараметры.Вставить("Форма", ОбщиеПараметры.Форма);
ДействиеАктивация.ДополнительныеПараметры.Вставить("Элемент", ЭлементФормы);

ДействиеВыделение = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействие();
ДействиеВыделение.ОписаниеОповещения = ОбщиеПараметры.ОписаниеВыделения;
ДействиеВыделение = РГП_ГлобальныйПоискКлиентСервер.ВыполняемоеДействиеОписанияОповещения(ОбщиеПараметры.ОписаниеВыделения);
ДействиеВыделение.ДополнительныеПараметры.Вставить("Форма", ОбщиеПараметры.Форма);
ДействиеВыделение.ДополнительныеПараметры.Вставить("Элемент", ЭлементФормы);

Expand Down
Loading

0 comments on commit f9bd449

Please sign in to comment.