участник форума У меня одна проблема при использовании свойства loadMask в extjs 4.0.2a.На самом деле у меня есть одна сетка, которая при нажатии открывает окно с подробной информацией.
Поскольку мое окно подробностей занимает больше времени, чтобы появиться на экране, поэтому я просто решил использовать свойство loadMask Extjs.Но не знаю, почему сообщение о загрузке не отображается, когда я дважды щелкаю по строке сетки, и через некоторое время на экране появляется окно подробностей.
при двойном щелчке сетки Я выполняю приведенный ниже код
projectEditTask: function(grid,cell,row,col,e) {
var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Loading.."});
myMask.show();
var win = this.getProjectGanttwindow();
win.on('show', myMask.hide, myMask);
}
, но не знаю, загрузка не отображается, и после некоторого ожидания мое окно отображается правильно.
Я просто хочу, когда я дважды щелкаю по сетке.после того, как окно полностью загрузится. Сообщение о загрузке должно исчезнуть, и должно быть просмотрено подробное окно.
когда я внес изменения, как вы сказали, отображается сообщение о загрузке, но мое окно еще не открыто.ниже приведен код окна, которое я пытаюсь открыть
мой проект Ganttwindow -
Ext.define('gantt.view.projectmgt.projectGanttwindow' ,{
extend: 'Ext.window.Window',
alias : 'widget.projectganttwindow',
requires: ['gantt.view.projectmgt.projectGanttpanel'],
editform:1,
id: 'projectganttwindow',
title: 'Project Management',
width: '100%',
height: '100%',
closeAction: 'destroy',
isWindow: true,
flex:1,
isModal: true,
constrain: true,
maximizable: true,
stateful: false,
projectId: null, // this will be set before showing window
listeners: {
hide: function() {
alert('hide');
//var store = Ext.data.StoreManager.lookup('taskStore').destroyStore();
//Ext.destroy(store);
//store.destroyStore();
console.log('Done destroying');
}
},
initComponent: function() {
var me = this;
me.layoutConfig = {
align: 'stretch'
};
me.items = [{
xtype: 'projectganttpanel',
allowBlank: false
}];
me.callParent(arguments);
me.on({
scope: me,
beforeshow: me.onBeforeShow
});
},
onBeforeShow: function() {
var projectId = this.projectId;
console.log('BEFOR SHOW ::'+projectId);
if(projectId != null) {
var store = Ext.data.StoreManager.lookup('taskStore');
store.load({
params: {'id': projectId}
});
}
}
});