Могут ли порталы и порталы ExtJS быть расположенными как обычные элементы CSS?

StackOverflow https://stackoverflow.com/questions/5808921

Вопрос

Я хотел бы сделать портал, и его портлеты ExtJS помешались в макету с фиксированной шириной. Прямо сейчас они, кажется, берут 100% ширины, и элементы, кажется, имеют встроенные стили, применяемые для того, чтобы дать максимальную ширину, и трюки, такие как указание стиля «ширины: 50%», поскольку предметы портала ничего не делают.

Как портлеты могут быть размещены и расположены, и есть ли способ применять обычные навыки позиционирования CSS? Сгенерированный HTML, как он появляется в Expect Element, имеет встроенный стиль, указывающий ширину в пикселях, что превзойдет все, что я ставлю в таблице стилей.

Я хотел бы отобразить портал как обычный элемент блока с относительным позиционированием на странице. Это возможно, а если нет, каковы мои следующие лучшие варианты?

Это было полезно?

Решение

Портлетами управляются макетом, которая является тем, что устанавливает размеры, отвечает на изменения Viewport и т. Д. Вам нужно изменить существующий макет или создать свой собственный макет для этого (или построить свой собственный портал, который не основан на существующий пример).

Другие советы

Кажется, у меня есть ответ. Перезаписать определение Viewport для настройки рендеринга в тег Div. Вот мой код:

Ext.override(Ext.container.Viewport, {
initComponent : function() {
    var me = this,
        html = Ext.fly(document.body.parentNode),
        el;
    me.callParent(arguments);
    html.addCls(Ext.baseCSSPrefix + 'viewport');
    me.el = el = 'dashboard';
    el.setHeight = Ext.emptyFn;
    el.setWidth = Ext.emptyFn;
    el.setSize = Ext.emptyFn;
    me.allowDomMove = false;
    Ext.EventManager.onWindowResize(me.fireResize, me);
    me.renderTo = me.el;
    me.height = Ext.Element.getViewportHeight() - 70;
}});

где я - идентификатор элемента рендеринга.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top