如何将自定义按钮添加到 AlloyUI Scheduler 的事件弹出窗口中?

2024-04-25

如何向 AlloyUI 添加自定义按钮Scheduler http://alloyui.com/examples/scheduler/的事件弹出窗口?事件弹出窗口包括Save, Cancel, and Delete按钮,但我想添加另一个(例如Edit)。我已经浏览过SchedulerAPI文档 http://alloyui.com/api/classes/A.SchedulerBase.html,但我找不到有关向事件弹出窗口添加按钮的任何信息。


The SchedulerEventRecorder http://alloyui.com/api/classes/A.SchedulerEventRecorder.html类包含对popover http://alloyui.com/api/classes/A.SchedulerEventRecorder.html#attr_popover其中包含您要添加按钮的表单。但是,我尝试自定义包含按钮的工具栏页脚(在调度程序内的弹出窗口内的工具栏内),但这似乎不可能。因此,我怀疑是否存在用于自定义这些按钮的标准 API 方法,并且我也怀疑开发人员是否打算自定义这些按钮。因此我建议不要自定义按钮。

如果您确定要添加和自定义这些按钮,尽管存在潜在问题,那么我确实找到了一种方法来完成您想要的操作。每次Scheduler弹出窗口,它只显示默认按钮。即使您在创建按钮后向其添加按钮,它也会忽略或删除它们,或者(很可能)被销毁,然后重新创建,并且永远不会显示自定义按钮。因此,必须在弹出窗口显示后添加任何按钮。为此,您可以在SchedulerEventRecorder.showPopover() http://alloyui.com/api/classes/A.SchedulerEventRecorder.html#method_showPopover方法使用Do.after() http://yuilibrary.com/yui/docs/api/classes/Do.html#method_after像这样:

var eventRecorder = new Y.SchedulerEventRecorder();

Y.Do.after(function() {
    // Assuming that the boundingBox of your Scheduler has an id of "bb":
    var toolbarBtnGroup = Y.one('#bb .toolbar .btn-group');
    toolbarBtnGroup.appendChild('<button id="edit" type="button">Edit</button>');
}, eventRecorder, 'showPopover');

这是一个可运行的代码示例:

YUI().use('aui-button', 'aui-scheduler', 'event-custom-base', function (Y) {

    var eventRecorder = new Y.SchedulerEventRecorder();
    var weekView = new Y.SchedulerWeekView();

    new Y.Scheduler({
        boundingBox: '#bb',
        date: new Date(2014, 8, 28),
        eventRecorder: eventRecorder,
        items: [],
        views: [weekView]
    }).render();

    var editButton;

    Y.Do.after(function() {

        var toolbarBtnGroup = Y.one('#bb .toolbar .btn-group');
        toolbarBtnGroup.appendChild('<button id="edit" type="button">Edit</button>');

        editButton = new Y.Button({
            label: 'Edit',
            srcNode: '#edit',
        }).render();

        editButton.on('click', function(event) {
            alert('Edit clicked!');
            eventRecorder.hidePopover();
        });
    }, eventRecorder, 'showPopover');
    
    Y.Do.after(function() {
        
        // Make sure that the editButton is destroyed to avoid a memory leak.
        if (editButton) {
            editButton.destroy();
        }
    }, eventRecorder, 'hidePopover');
});
<link href="http://cdn.alloyui.com/2.5.0/aui-css/css/bootstrap.min.css" rel="stylesheet"/>
<script src="http://cdn.alloyui.com/2.5.0/aui/aui-min.js"></script>
<!-- boundingBox of the scheduler -->
<div id="bb"></div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将自定义按钮添加到 AlloyUI Scheduler 的事件弹出窗口中? 的相关文章

  • 如何使用 Arm 模板获取应用服务中的主体 Id?

    您好 我正在编写 ARM 模板来部署我的应用程序服务 我想在我的手臂模板中创建系统标识 在应用程序服务臂模板部分中 我有以下代码 identity principalId reference variables identity resou
  • 在 Jersey Rest 中使用 @Consume 和 GET 请求

    我正在尝试将 GET 请求中的值绑定到 POJO 这些值是 HTTP GET 请求中的参数 我使用 JSONP 来传递参数 但看起来 JSONP 将 JSON 对象推到请求行上 因此它实际上并不是正在发送的 JSON 对象 而只是 URL
  • JavaFX Span Tableview 通过 MapEntries 合并单元格

    你好 我有以下地图 Map
  • 在 Android Oreo 及更高版本上根据 FCM 通知唤醒我的应用程序

    我的应用程序的一个重要部分是处理即时消息并接收 FCM 通知 应用程序如何在收到高重要性通知后唤醒几秒钟 从服务器进行短暂的提取并返回到之前的状态 我看过很多理论解释 但没有真正的源代码示例来实现这一点 有人可以帮忙吗 Extend Fir
  • 如何让键盘显示返回键?

    我想我已经尝试了所有组合 但我无法让字母键盘显示返回键 它始终是一个 完成 按钮 没有什么用处 在 Nexus 7 4 1 上 情况更糟 并显示一个愚蠢的笑脸按钮和 完成 按钮 这对我的应用程序没有任何意义 只要有返回按钮 就可以有 完成
  • 如何将欢迎页面设置为 struts 操作?

    我有一个基于 struts 的 web 应用程序 我希望默认的 欢迎 页面成为一个操作 我发现的唯一解决方案似乎是使欢迎页面成为包含操作重定向的 JSP 例如 在web xml
  • AsyncTask 真的在概念上存在缺陷还是我只是错过了一些东西?

    我已经研究这个问题几个月了 提出了不同的解决方案 但我对此并不满意 因为它们都是大规模的黑客攻击 我仍然不敢相信一个设计上有缺陷的类进入了框架并且没有人谈论它 所以我想我一定是错过了一些东西 问题在于AsyncTask 根据文档它 允许执行
  • Hadoop setInputPathFilter错误

    我正在使用 Hadoop 0 20 2 无法更改 并且我想向我的输入路径添加一个过滤器 数据如下 path1 test a1 path1 test a2 path1 train a1 path1 train a2 我只想处理所有文件trai
  • 对于来自 Vevo 的视频,Youtube IFrame API onError 触发,错误代码为 150

    让我解释一下我的情况 我想用YouTube IFrame API https developers google com youtube iframe api reference在我的网站上嵌入一些视频 我用id测试了视频wdGZBRAWW
  • 如何启动docker容器(ubuntu镜像)

    如何统计 Docker 容器 我是用它创建的 docker run d P v Users bsr usr local users name test ubuntu 我确实安装了虚拟盒来宾附加功能 并且安装工作正常 但是 我不知道为什么我不
  • 将业务层与数据层分离时对实体进行限制的位置

    我正在尝试为我的大型 ASP NET MVC 应用程序创建业务层和数据层 因为这是我第一次尝试这种规模的项目 所以我正在阅读一些书籍 并努力小心地将事物正确地分开 通常 我的应用程序混合了业务逻辑和数据访问层 并且多个业务实体在单个类中交织
  • Android 在 ScrollView 上 PullTo 刷新

    我知道类似 pullToRefresh 的功能在 iPhone 中可用 而对于 Android 我们必须手动管理它 我得到了一些使用 pullToRefresh 的示例 但它仅适用于 ListView 就我而言 我想实现滚动视图 Googl
  • 哪些浏览器支持console.log()?

    所有浏览器都支持这个吗 我想使用输出错误console log 但想知道是否所有浏览器都支持此功能 console log Error etc 不 并非所有浏览器都支持console log因为它不是标准的一部分 而是 DOM 的扩展 因此
  • 存储对字符串的引用

    我有一个具有 3 个字符串属性的类 我想将它们存储在一个列表中 以便当我更改列表的字符串时 它们也会在类中更新 如果我使用类对象 这很容易做到 但字符串似乎表现不同 它似乎为列表创建了对象的副本 而不是拥有指向该对象的指针 如果是 C 我该

随机推荐