Это Sencha Touch и стандарт написания MVC кода для Сенчи.
Есть app.js:
Ext.application({
name: "XXX",
models: ["App/modelAppList", ...],
stores: ["App/storeAppList", ...],
views: ["App/viewAppList", ...],
controllers: ["App/controllerAppList", ...],
launch: function () {
var viewAppList = { xtype: "viewapplist", id: "formX" };
...
Ext.Viewport.add([viewAppList, ...]);
}
});
Есть viewAppList:
Ext.define("XXX.view.App/viewAppList", {
extend: "Ext.Panel",
alias: "widget.viewapplist",
config: {
layout: { type: "fit" },
items: [
//Верхнее меню
{
xtype: "toolbar",
title: "...",
docked: "top",
items: [
{
xtype: "datepickerfield",
name: "Date1",
width: 155, value: new Date(), dateFormat: "d.m.Y"
},
{ xtype: "spacer" },
{
//Выход
xtype: "button", ui: "action", itemId: "buttonExit"
}
]
},
{
xtype: "list",
loadingText: "...", emptyText: "...",
store: "App/storeAppList",
itemId: "listAppList",
onItemDisclosure: true,
grouped: true,
itemTpl: "{AppName}"
}
],
listeners: [
{
delegate: "#buttonExit",
event: "tap",
fn: "onButtonExitTap"
},
{
delegate: "#listAppList",
event: "select",
fn: "onListAppListSelect"
}
]
},
onButtonExitTap: function () {
this.fireEvent("buttonExitCommand", this);
},
onListAppListSelect: function (list, record, target, index, evt, options) {
this.fireEvent("listAppListCommand", this, record);
}
});
Есть model и store
//...
Я честно говоря недавно с Сенча Точ разбираюсь и не понял, зачем ещё рисовать форму?
Уже всё нарисовано, просто обращайся и используй.
Например в самом верху:
var viewAppList = { xtype: "viewapplist", id: "formX" };
По "id" я юзаю viewAppList так:
var form = Ext.getCmp("formX");
form.setValues({
Date1: new Date(),
...
});
Но не работает ...