Jump to content

Добавить кнопку в unimMemo


x11

Recommended Posts

Нужна идея реализации, как повесить кнопку над компонентой TunimMemo, там, где красный квадратик. Можно, конечно, вышке или ниже, но хочется  сэкономить драгоценное место, т.к. на форме довольно много разных элементов, форма сложная, а экраны на смартфонах маленькие.

Текст может быть большой, поэтому редактирование и/или просмотр полного текста нужно открывать в отдельной форме.

Спасибо.

Screenshot_1.jpg

Link to comment
Share on other sites

1 hour ago, x11 said:

Нужна идея реализации, как повесить кнопку над компонентой TunimMemo, там, где красный квадратик.

UnimMemo1.ClientEvents.ExtEvents ->

function painted(sender, eOpts)
{
    var me=sender;
    me.bottomEditEl = Ext.dom.Helper.insertBefore(me.inputElement, {
        tag: 'span', 
        class: 'x-fa fa-edit', 
        style: 'position: absolute; font-size: 1.4em; padding: 5px; bottom: 0; right: 0;'
    }); 
    
    me.bottomEditEl.addEventListener('click', function(){
        ajaxRequest(me, 'bedtclick', []);
    });
}

 

  • Like 1
Link to comment
Share on other sites

Спасибо, то что надо.

 

Маленький шрих.

Если получится, будет вообще класс.

Обратите внимание ,что кнопка у memo более яркая, отличается от остальных, а они более тусклые.

Можно ли и кнопку у memo сделать такой же тусклой, чтобы она не выделялась?

 

Screenshot_5.jpg

Link to comment
Share on other sites

А как вместо "gray" указать цвет кнопок из темы?

Т.е. можно ли там указать имя переменной, которая связана с цветом выбранной темы?

Screenshot_4.jpg

Link to comment
Share on other sites

5 hours ago, x11 said:

А как вместо "gray" указать цвет кнопок из темы?

Есть одно решение, попробуйте.

Но на форме, должна быть одна компонента с "иконкой"...

function painted(sender, eOpts)
{
    var me=sender;
    me.bottomEditEl = Ext.dom.Helper.insertBefore(me.inputElement, {
        tag: 'span', 
        class: 'x-fa fa-edit', 
        style: 'position: absolute; font-size: 1.4em; padding: 5px; bottom: 0; right: 0;'
    }); 
    
    me.bottomEditEl.addEventListener('click', function(){
        ajaxRequest(me, 'bedtclick', []);
    });
    
    Ext.onReady(function() {
        if (sender.bottomEditEl && Ext.select('.x-trigger .x-icon-el').elements[0]) {
            sender.bottomEditEl.style.color = Ext.get(Ext.select('.x-trigger .x-icon-el').elements[0].id).getStyle('color');
        }
    });
}

 

Link to comment
Share on other sites

11 hours ago, Sherzod said:

Но на форме, должна быть одна компонента с "иконкой"...

Этого не понял, какая именно компонента?

Должна ли быть эта компоненты видимой или её можно сделать невидимой?

Link to comment
Share on other sites

Ну я подумал, что предварительно нужно на форму кинуть какую-нибудь компоненту с иконкой, например, отдельную кнопку и из этой кнопки  будет взята иконка для кнопки memo.

Link to comment
Share on other sites

2 minutes ago, x11 said:

Ну я подумал, что предварительно нужно на форму кинуть какую-нибудь компоненту с иконкой, например, отдельную кнопку и из этой кнопки  будет взята иконка для кнопки memo.

Нет.

Link to comment
Share on other sites

function painted(sender, eOpts)
{
    var me=sender;
    me.bottomEditEl = Ext.dom.Helper.insertBefore(me.inputElement, {
        tag: 'span', 
        class: 'x-fa fa-edit', 
        style: 'position: absolute; font-size: 1.4em; padding: 5px; bottom: 0; right: 0;'
    }); 
    
    me.bottomEditEl.addEventListener('click', function(){
        ajaxRequest(me, 'bedtclick', []);
    });
    
    Ext.onReady(function() {
        if (sender.bottomEditEl && Ext.select('.x-trigger .x-icon-el').elements[0]) {
            sender.bottomEditEl.style.color = Ext.get(Ext.select('.x-trigger .x-icon-el').elements[0].id).getStyle('color');
        }
    });
}
function beforeInit(sender, config)
{
    config.triggers = [
        {
            iconCls: 'x-fa fa-edit', 
            style: 'position: absolute; font-size: 1.4em; padding: 5px; bottom: 0; right: 0;', 
            handler: function() {
                console.log('edit'); //ajaxRequest
            }
        }
    ];
}

 

  • Like 1
Link to comment
Share on other sites

Спасибо. Работает

function beforeInit(sender, config)
{
    config.triggers = [
        {
            iconCls: 'x-fa fa-edit', 
            style: 'position: absolute; font-size: 1.4em; padding: 5px; bottom: 0; right: 0;', 
            handler: function() {
                ajaxRequest(this, 'btnEditMemoAdClick', []);
            }
        }
    ];
}

 

  • Like 1
Link to comment
Share on other sites

Было бы неплохо, если бы и в Memo разработчики добавили триггеры (кнопки), как в других компонентах.

Screenshot_86.jpg

Link to comment
Share on other sites

1 hour ago, x11 said:

@Sherzod а как добавить несколько кнопок, как на картинке выше?

function beforeInit(sender, config)
{
    config.triggers = [
        {
            iconCls: 'x-fa fa-clone', 
            style: 'position: absolute; font-size: 1.4em; padding: 5px; bottom: 0; right: 45px;', 
            handler: function() {
                ajaxRequest(this, 'btnCloneMemoAdClick', []);
            }
        },
        {
            iconCls: 'x-fa fa-edit', 
            style: 'position: absolute; font-size: 1.4em; padding: 5px; bottom: 0; right: 20px;', 
            handler: function() {
                ajaxRequest(this, 'btnEditMemoAdClick', []);
            }
        }, 
        {
            iconCls: 'x-fa fa-share-alt', 
            style: 'position: absolute; font-size: 1.4em; padding: 5px; bottom: 0; right: 0;', 
            handler: function() {
                ajaxRequest(this, 'btnShareMemoAdClick', []);
            }
        }
    ];
}

 

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

А так, как показано выше пробовали и не получилось?

Кстати, есть еще вариант. Кинуть uniMemo внутрь uniPanel, а уже у компоненты uniPanel использовать новый функционал кнопок в заголовке

Screenshot_5.jpg

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...