Редактор HTML внутри панели сетки в extjs

Я хотел бы знать, можем ли мы иметь столбец редактора HTML внутри панели сетки. Мое требование состоит в том, чтобы иметь редактируемый столбец сетки типа «редактор HTML», чтобы разрешить стиль при редактировании содержимого ячейки.


person anesh    schedule 04.08.2014    source источник


Ответы (1)


Вы можете иметь все, что захотите, внутри редактора. Обязательно сохраняйте контроль над тем, что публикуют/создают ваши пользователи, иначе у вас будет нарушение безопасности, если вы загрузите какой-либо HTML в эти ячейки редактора.

Демонстрация: https://fiddle.sencha.com/#fiddle/8ej

Ext.create('Ext.data.Store', {
    storeId:'simpsonsStore',
    fields:['name', 'email', 'phone'],
    data:{'items':[
        {"name":"Lisa", "email":"<b>[email protected]</b>", "phone":"555-111-1224"},
        {"name":"Bart", "email":"<i>[email protected]</i>", "phone":"555--222-1234"},
        {"name":"Homer", "email":"[email protected]", "phone":"555-222-1244"},
        {"name":"Marge", "email":"[email protected]", "phone":"555-222-1254"}
    ]},
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'items'
        }
    }
});

Ext.create('Ext.grid.Panel', {
    title: 'Simpsons',
    store: Ext.data.StoreManager.lookup('simpsonsStore'),
    columns: [
        {header: 'Name',  dataIndex: 'name', editor: 'textfield'},
        {header: 'Email', dataIndex: 'email', flex:1,
            editor: {
                xtype: 'textfield',
                allowBlank: false
            }
        },
        {header: 'Phone', dataIndex: 'phone'}
    ],
    selType: 'cellmodel',
    plugins: [
        Ext.create('Ext.grid.plugin.CellEditing', {
            clicksToEdit: 1
        })
    ],
    height: 200,
    width: 400,
    renderTo: Ext.getBody()
});
person koni    schedule 04.08.2014
comment
Спасибо. Есть ли способ изменить xtype столбца на компонент, отличный от тех, которые присутствуют в меню архитектора. Когда я пытаюсь изменить xtype столбца на «htmleditor» из «текстового поля», я не нахожу параметр «htmleditor» в списке редакторов в конфигурации архитектора. - person anesh; 05.08.2014
comment
Да, Architect предоставит вам только базовые редакторы для каждого базового типа. При желании вы можете создать собственное настраиваемое поле: existsdissolve.com/2012/12/ - person koni; 05.08.2014