Я начинаю с Sencha Touch и имею небольшую проблему с плавающей панелью.Идея состоит в том, чтобы создать небольшую панель входа в систему, чтобы предоставить доступ к главной панели приложения.Окно просмотра - это панель с макетом карты и двумя панелями в ней, loginPanel и mainPanel.
Мой первый подход - создать плавающую FormPanel для формы входа и вставить ее в окно просмотра, но проблема заключается в том, чточто эта панель простирается на весь видовой экран, а не центрируется, как указано в свойствах.Единственный способ получить его - это следующее:
var App = new Ext.Application({
name: 'tool'
,useLoadMask: true
,launch: function(){
tool.views.loginPanel = new Ext.Panel({
listeners: {
afterrender: function(){
//setTimeout('loginForm.show();', 2000);
tool.views.loginForm.show();
}
}
});
tool.views.loginForm = new Ext.form.FormPanel({
floating: true
,width: 350
,height: 300
,centered: true
,modal: true
,hideOnMaskTap: false
,dockedItems:[{
xtype: 'toolbar'
,title: 'Identificación'
,ui: 'light'
}],
items: [{
xtype: 'fieldset'
,id: 'loginFormSet'
,title: ''
,items: [
{
xtype: 'emailfield',
placeHolder: 'Usuario',
name: 'Usuario',
id: 'Username',
required: true,
}, {
xtype: 'passwordfield',
placeHolder: 'Password',
name: 'Password',
required: true
}, {
xtype: 'checkboxfield',
id: 'RememberMe',
name: 'RememberMe',
label: '¿Guardar ID?',
labelWidth: '40%'
},{
xtype: 'button',
text: 'Acceder',
ui: 'confirm',
style: 'margin:2%;',
handler: function(){
mainPanel.setActiveItem(1);
loginForm.destroy();
}
}]
}]
});
tool.views.viewport = new Ext.Panel({
fullscreen: true
,cls: 'mi_clase1'
,layout: 'card'
,cardAnimation: 'slide'
,items: [tool.views.loginPanel]
}) // Fin del PAnel viewPort
} // Find de funcion ,launch
}) // Fin de la application
Как вы можете видеть, loginForm должен быть вставлен в Panel, а эта Panel - в окне просмотра с макетом карты.Если я вставлю formPanel в область просмотра, он не будет работать.Почему это?Я что-то не так делаю? Или, может быть, это единственный способ получить плавающую панель в макете карты?
Еще один вопрос: setTimeout ('loginForm.show ();', 2000);
Не работает и ничего не отображает.Есть идеи?
Большое спасибо