我使用extensible-1.5.1
并在
extensible-1.5.1/examples/calendar/TestApp/test-app.html
我尝试通过在此表单中添加新的Event
来自定义textfield
表单窗口。这是表格默认
但我找不到要编辑的文件。
我认为在extensible-1.5.1\src\calendar\form\EventWindow.js
。但是当我删除src
文件夹然后项目仍在工作而没有任何变化?
如何做到这一点,谢谢
修改
我在extensible-all-debug.js
文件中找到了。但那个文件真的很复杂
如何在extjs示例中配置使用extensible-1.5.1\src\
中的数据,例如calendar
答案 0 :(得分:5)
你说的是,你需要使用的课程是Extensible.calendar.form.EventWindow
。但是,您应该扩展该类并创建自己的版本,而不是编辑该文件。您可以将该文件用作指南,并覆盖getFormItemConfigs
函数以根据需要修改表单:
Ext.define("MyApp.view.EventWindow", {
extend: "Extensible.calendar.form.EventWindow",
modal: true,
enableEditDetails: false,
initComponent: function()
{
this.callParent();
},
getFormItemConfigs: function() {
var items = [/*your form items here */];
return items;
},
//... other stuff here maybe...
});
然后,您可以覆盖Extensible.calendar.view.AbstractCalendar
以使用您刚刚创建的课程:
Ext.define("MyApp.view.AbstractCalendarOverride", {
override: 'Extensible.calendar.view.AbstractCalendar',
getEventEditor : function()
{
this.editWin = this.ownerCalendarPanel.editWin;
if(!this.editWin)
{
//Change this line:
this.ownerCalendarPanel.editWin = Ext.create('MyApp.view.EventWindow', {
id: 'ext-cal-editwin',
calendarStore: this.calendarStore,
modal: this.editModal,
enableEditDetails: this.enableEditDetails,
listeners: {
'eventadd': {
fn: function(win, rec, animTarget) {
//win.hide(animTarget);
win.currentView.onEventAdd(null, rec);
},
scope: this
},
'eventupdate': {
fn: function(win, rec, animTarget) {
//win.hide(animTarget);
win.currentView.onEventUpdate(null, rec);
},
scope: this
},
'eventdelete': {
fn: function(win, rec, animTarget) {
//win.hide(animTarget);
win.currentView.onEventDelete(null, rec);
},
scope: this
},
'editdetails': {
fn: function(win, rec, animTarget, view) {
// explicitly do not animate the hide when switching to detail
// view as it looks weird visually
win.animateTarget = null;
win.hide();
win.currentView.fireEvent('editdetails', win.currentView, rec);
},
scope: this
},
'eventcancel': {
fn: function(win, rec, animTarget){
this.dismissEventEditor(null, animTarget);
win.currentView.onEventCancel();
},
scope: this
}
}
});
}
// allows the window to reference the current scope in its callbacks
this.editWin.currentView = this;
return this.editWin;
}
});
这可能无法满足您的需求,但希望它能让您走上正确的轨道。