x11 130 Posted December 27, 2020 Share Posted December 27, 2020 Если вызвать функцию Prompt() то потом строка ввода не активна. Было бы очень удобно, если бы она имела фокус ввода, чтобы не приходилось тянуться мышкой и щелкать по ней для активации. Quote Link to post Share on other sites
x11 130 Posted December 27, 2020 Author Share Posted December 27, 2020 Не проверял, но, скорей всего, что в мобильной версии такая же проблема. Quote Link to post Share on other sites
Sherzod 1133 Posted December 27, 2020 Share Posted December 27, 2020 4 minutes ago, x11 said: Если вызвать функцию Prompt() то потом строка ввода не активна. Было бы очень удобно, если бы она имела фокус ввода, чтобы не приходилось тянуться мышкой и щелкать по ней для активации. Можете проверить на стандартном демо примере? \FMSoft\Framework\uniGUI\Demos\Desktop\Prompt Quote Link to post Share on other sites
x11 130 Posted December 27, 2020 Author Share Posted December 27, 2020 на стандартной теме проблемы нет, но если включить тему uni_sencha2, то проблема есть Quote Link to post Share on other sites
Sherzod 1133 Posted December 27, 2020 Share Posted December 27, 2020 1 minute ago, x11 said: но если включить тему uni_sencha2, то проблема есть Да, "до первой активации" Promt'а Quote Link to post Share on other sites
x11 130 Posted December 27, 2020 Author Share Posted December 27, 2020 Попробовал еще несколько тем, обнаружил, что на uni_sencha2_mono, uni_sencha_classic и uni_lavender тоже есть проблема. Quote Link to post Share on other sites
Sherzod 1133 Posted December 27, 2020 Share Posted December 27, 2020 1 hour ago, x11 said: Попробовал еще несколько тем, обнаружил, что на uni_sencha2_mono, uni_sencha_classic и uni_lavender тоже есть проблема. Обходной путь... Для десктопной. MainForm -> Script: Ext.onReady(function() { Ext.Msg.on('show', function() { Ext.defer(function() { var inputEl = Ext.WindowManager.getActive().getEl().select('input').elements[0]; var textareaEl = Ext.WindowManager.getActive().getEl().select('textarea').elements[0]; if (inputEl) { inputEl.focus() } if (textareaEl) { textareaEl.focus() } }, 100); }); }); 1 Quote Link to post Share on other sites
x11 130 Posted January 25 Author Share Posted January 25 В мобильной версии, кстати, тоже не активируется поле ввода сразу. Quote Link to post Share on other sites
Sherzod 1133 Posted January 25 Share Posted January 25 16 minutes ago, x11 said: В мобильной версии, кстати, тоже не активируется поле ввода сразу. Обходное решение. Script: Ext.onReady(function() { Ext.Msg.on('show', function() { var promt = Ext.Msg.getPrompt(); if (promt) { promt.getFocusEl().focus() } }); }); 1 Quote Link to post Share on other sites
x11 130 Posted January 25 Author Share Posted January 25 Спасибо большое. Еще вопросик. А заголовок у Prompt() можно менять? 1 Quote Link to post Share on other sites
Sherzod 1133 Posted January 25 Share Posted January 25 12 minutes ago, x11 said: Еще вопросик. А заголовок у Prompt() можно менять? Я проанализирую. Quote Link to post Share on other sites
Sherzod 1133 Posted January 25 Share Posted January 25 32 minutes ago, x11 said: Еще вопросик. А заголовок у Prompt() можно менять? Одно из возможных решений на мой взгляд, попробуйте: var titles = new Map(); titles.set('x-msgbox-error', 'Ошибка'); titles.set('x-msgbox-warning', 'Предупреждение'); titles.set('x-msgbox-info', 'Информация'); titles.set('x-msgbox-question', 'Подтверждение'); Ext.onReady(function() { Ext.Msg.on('show', function() { Ext.Msg.setTitle(titles.get(Ext.Msg.getIcon())); var promt = Ext.Msg.getPrompt(); if (promt) { promt.getFocusEl().focus() } }); }); 1 Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.