Снегопат
https://snegopat.ru/forum/

Как отловить событие окончания ввода строки
https://snegopat.ru/forum/viewtopic.php?f=1&t=400
Страница 1 из 1

Автор:  SiriuS [ 11 мар 2013, 04:50 ]
Заголовок сообщения:  Как отловить событие окончания ввода строки

Всем добрый день!

Вопрос: Как отловить событие окончания ввода текста в палитре свойств элемента

Хочу написать маленький скрипт который бы отлавливал окончание ввода имени реквизита и корректировал по моему желанию синоним и комментарий

Заранее спасибо за конструктивный ответ

Автор:  orefkov [ 11 мар 2013, 09:04 ]
Заголовок сообщения:  Re: Как отловить событие окончания ввода строки

Тут лучше не отлавливать ввод текста, а подписаться на событие изменения метаданных.
Тем более в предпоследней версии я сделал нормальное изменение свойств метаданных.
Вот код сейчас накидал и проверил:
Код:
$addin global
global.connectGlobals(SelfScript)

events.connect(metadata, "MetaDataEvent", SelfScript.self)

function MetaDataEvent(e)
{
    if(!e.request)  // Уже не запрос на изменение, а после изменения
    {
        if(mdeChangeProp == e.kind)
        {
            if(e.prop.name(1) == "Имя")
            {
                var name = e.obj.property("Имя")
                //var syn =  e.obj.property("Синоним")
                //Message("Name=" + name)
                //Message("Syn=" + syn + "  " + ЗначениеВСтрокуВнутр(syn))
                // Ну тут надо еще доработать, получать языки конфигурации, чтобы строку для синонима правильно сформировать.
                // Пока тупо делается ru
                e.obj.setProperty("Синоним", ЗначениеИЗСтрокиВнутр('{"#",87024738-fc2a-4436-ada1-df79d395c424,\n{1,"ru","' + makeSynonym(name) + '"}\n}"'))
            }
        }
    }
}

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/