Calendar Pro - 如何配置使用 src 路径不在 extensible-all-debug 中

Posted

技术标签:

【中文标题】Calendar Pro - 如何配置使用 src 路径不在 extensible-all-debug 中【英文标题】:Calendar Pro - How to config to use src path not in extensible-all-debug 【发布时间】:2013-10-16 16:20:01 【问题描述】:

我使用extensible-1.5.1 并在其中运行应用程序

extensible-1.5.1/examples/calendar/TestApp/test-app.html

我尝试通过在此表单中添加新的textfield 来自定义Event 表单窗口。这是表单默认值

但我找不到要编辑的文件。

我认为在extensible-1.5.1\src\calendar\form\EventWindow.js。但是当我删除 src 文件夹时,项目仍然可以工作并且没有任何改变?

谢谢

编辑 我在extensible-all-debug.js 文件中找到了它。但是那个文件真的很复杂

如何配置以使用 extensible-1.5.1\src\ 中的数据,例如 extjs 示例中的 calendar

【问题讨论】:

【参考方案1】:

你是正确的,你需要使用的类是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;
    
);

这可能无法完全满足您的需求,但希望它能让您走上正轨。

【讨论】:

以上是关于Calendar Pro - 如何配置使用 src 路径不在 extensible-all-debug 中的主要内容,如果未能解决你的问题,请参考以下文章

向Events Calendar Pro(2.1)iCal提要添加附件

如何在产品类别的 echo 中添加 ACF PRO image src="" 和 alt=""

ant design pro 配置路由 显示页面步骤详解

004-ant design pro 新增页面

004-ant design pro安装目录结构项目加载启动

配置 Qt 项目(.pro 文件)以使用 PcapPlusPlus