fullcalendar v6的使用记录

2023-11-01

翻了翻百度,教程很多都过时了,方法都废弃了。这次是以V6版本CDN方式使用说明

文档地址

// 配置 
var calendarConfig = {
        // 加载
        loading:function (load){
           //可以控制页面的加载状态
            app._instance.data.fullscreenLoading = load
        },
        // 点击event 也就是点击事件触发的回调
        eventClick: function(info) {
            app._instance.ctx.getEventInfo(info.event.extendedProps)
        },
        // 追加eventClass 可以根据eventInfo追加class Name
        eventClassNames: function(arg) {
            if (arg.event.extendedProps?.course_status == 'confirm') {
                return [ 'confirmed' ]
            } else {
                return [ 'unconfirmed' ]
            }
        },
        // 自定义表格的class
        dayHeaderClassNames:'header-x',
        dayCellClassNames:'cell-x',
        // event 数据源
        eventSources: [
            // 获取标识信息,每一个信息源一个对象
            {
            	// 设置成远程请求获取 (根据文档整理返回的数据类型)
                events: function(fetchInfo, successCallback, failureCallback) {
                    post("{{ route('testcalendar') }}",{
                        start:fetchInfo.start.valueOf() /1000, // 这里获取的时间是毫秒 所以转成秒
                        end:fetchInfo.end.valueOf() / 1000,
                    }).then(res => {
                        // calendarEl.addEventSource( res.data )
                        // calendarEl.refetchEvents()
                        if(res.status == 'success') {
                            successCallback(res.data)
                        }else{
                            failureCallback(res.msg)
                        }
                    })
                },
                className: 'off-x', //追加的class
                display:'block',
                color: 'rgb(221, 243, 245)',
                backgroundColor: 'rgb(255 223 193)',
                textColor: 'rgb(255, 162, 77)'
            },
            {
                events: function(fetchInfo, successCallback, failureCallback) {
                    post("{{ route('testcalendar') }}",{
                        start:fetchInfo.start.valueOf() /1000,
                        end:fetchInfo.end.valueOf() / 1000,
                        type:'lesson'
                    }).then(res => {
                        // calendarEl.addEventSource( res.data )
                        // calendarEl.refetchEvents()
                        if(res.status == 'success') {
                            successCallback(res.data)
                        }else{
                            failureCallback(res.msg)
                        }
                    })
                },
                className: 'lesson-x',
                display:'block',
                color: 'rgb(228, 234, 251)',
                backgroundColor: 'rgb(228, 234, 251)',
                textColor: 'rgb(100, 131, 221)'
            }
        ],
        // 工作时间(其他时间段会变成灰色)
        businessHours: [
            {
                daysOfWeek: [ 0,1, 2, 3, 4, 5, 6],
                startTime: "{{ $teacher->course_start_at }}",
                endTime: "{{ $teacher->course_end_at }}"
            },
        ],
        // 自定义按键 (主要是分配到toolbar)
        customButtons: {
            pre: {
                text: '',
                icon: 'chevron-left',
                click: function() {
                    //app._instance.ctx.toPage(3)

                }
            },
            nex: {
                text: '',
                icon: 'chevron-right',
                click: function() {
                    alert('clicked the custom button!');
                }
            }
        },
        // event重叠回调
        eventOverlap: function(stillEvent, movingEvent) {
            return false; // 不允许重叠
        },
        // event拖拽回调
        eventAllow: function(dropInfo, draggedEvent) {
            console.log(dropInfo)
            console.log(draggedEvent)
        },
        // 顶部状态栏的显示
        headerToolbar: {
            left: 'prev,next', //
            center: 'title',
            right: 'timeGridWeek,timeGridDay,listMonth'
        },
        // event时间显示格式
        eventTimeFormat:{
            hour: 'numeric',
            minute: '2-digit',
            hour12: false,
            omitZeroMinute: false,
            meridiem: false
        },
        // view 时间格式
        slotLabelFormat:{
            hour: 'numeric',
            minute: '2-digit',
            hour12: false,
            omitZeroMinute: false,
            meridiem: false
        },
        nowIndicator: true, // 当前时间
        allDaySlot: false, //显示全天slot
        editable: true,
        selectable: true,
        firstDay: 1, // 每周开始的第一天 0是周日
        initialView: 'timeGridWeek', // 周列表视图
        //点击日历块事件(和下面的select同时触发)
        // dateClick: function(info) {
        //     alert('Clicked on: ' + info.dateStr);
        // },
        // 点/拖拽选择
        select: function(info) {
            console.log(info)
            let selectStart = dayjs(info.start)
            var selectEnd = dayjs(info.end)
            if(selectEnd.diff(selectStart,"minute") > 30 ) {
                app._instance.data.quantum = 60
                selectEnd = selectStart.add(1,"hour")
            }else {
                app._instance.data.quantum = 30
                selectEnd = selectStart.add(0.5,"hour")
            }
            app._instance.data.dateValue =  selectStart.format('YYYY-MM-DD')
            app._instance.data.time_start = selectStart.format('HH:mm')
            app._instance.data.time_end = selectEnd.format('HH:mm')

            app._instance.data.dialogVisible = true
        }
    }
    $(function (){
		// 准备好div 开渲
        calendarEl =  new FullCalendar.Calendar($('#calendar')[0], calendarConfig);
        calendarEl.render();
    })

基础使用就这些了,其他细致的功能自己翻翻文档吧

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fullcalendar v6的使用记录 的相关文章

  • 计算字符串中的唯一单词

    下面我尝试将字符串数组提供给一个函数 该函数将唯一单词添加到单词数组中 并且如果该单词已经在数组中 则增加计数数组中相应元素的计数 var words var counts calculate a b calculate a c funct
  • 使用 .add() 选择多个 jQuery 对象

    是否 add http api jquery com add 方法允许一次选择多个对象而不是一次添加一个 one add two add three add four on click function 以下变量的设置方式相同 因为每个变量
  • 设置 location.hash 时防止默认行为

    当我这样做时 location hash test url 会更新 页面会定位到具有该 id 的元素 有没有办法阻止页面定位到该元素 Solution 您无法阻止这种行为 但您可以通过暂时隐藏目标来愚弄它 例如 像这样 与 jQuery 无
  • 不使用 PHP 提交联系表单

    我还是一名学生 今天我们的讲师告诉我们 无需使用 mailto 函数即可提交联系我们表单的唯一方法是使用 PHP 我发誓去年另一位讲师向我们展示了一种仅使用 javascript 的方法 是否可以使用基本表单和 javascript 提交反
  • 使用 Jquery 附加链接

    我正在尝试根据您所在的页面添加指向我的页面的链接 我使用 Squarespace 来构建这个网站 因此对我来说最简单的方法是使用 Javascript 或 Jquery 我认为我缺少的这个语法有问题 我已经尝试用 来打破引号 但这不起作用
  • 将 FireBug 用于带有框架的网站

    我下载了 Firebug 并尝试使用它来调试使用框架的站点的 JS 我的理解是 当我进入 Firebug 中的 脚本 选项卡时 我会看到 aspx 上的 JS 函数以及包含的任何文件中的 JS 并且我将能够设置断点 然而 我在这个网站上看到
  • Excel 宏与 Javascript

    我希望使用 Javascript 中的宏而不是默认的 VBA 来操作 Excel 电子表格 我可以使用以下 VBA 代码执行 javascript 代码 javascript to execute Dim b As String b fun
  • 如何从 Javascript/Typescript 中的数组对象计算运行总计并使用 HTML 在每个实例上显示输出?

    我正在开发一个 MEAN 堆栈项目 并且有一个如下所示的数组 savings any 300 450 350 500 我还有一个名为 saving bf 的变量 它是从数据库中检索的结转储蓄 其值如下 savings bf 15000 我想
  • 是否可以进行条件解构或有后备?

    我有一个具有许多深层嵌套属性的对象 我希望能够访问 MY KEY 上的属性 如下 但如果该属性不存在 则获取 MY OTHER KEY 我怎样才能做到这一点 const X Y MY KEY Values segments segment
  • 用于传输命名参数和正文的云端点资源属性不起作用

    我正在尝试通过gapi client rpc调用实现对谷歌云端点的调用 如文档中所述 和Google Cloud Endpoints 使用 JS 客户端进行调用 传递参数和 JSON 正文 https stackoverflow com q
  • jQuery 选择器定位具有 id AND class 的元素不起作用

    我有以下事件处理函数 jQuery document on click button submitb function e alert jQuery 包含在 html 文档中 但是 如果我点击 div class submitb Go di
  • IE8 中空 div 层的 z-index 问题

    我在 IE8 中遇到 z index 问题 其他尚未测试 以下 JS 创建一些 html css document write img src border 0 document write div style background col
  • 如何在美人鱼节点描述中添加链接?

    我想 如下图所示 div class mermaid graph TD A hello B an b important b link A gt B div 在下面添加实际链接link指向http google com 我尝试将相关节点修改
  • 在电子生成器反应电子应用程序后,在 Windows 中出现空白屏幕

    在电子生成器反应电子应用程序后 Windows 中出现空白屏幕 这是package json 在电子生成器反应电子应用程序后 Windows 中出现空白屏幕 name SmallBusinessManagement version 0 1
  • 可选回调的 JavaScript 样式

    我有一些函数偶尔 并非总是 会收到回调并运行它 检查回调是否已定义 函数是一种好的风格还是有更好的方法 Example function save callback do stuff if typeof callback undefined
  • 我们如何使用 thymeleaf 绑定对象列表的列表

    我有一个表单 用户可以在其中添加任意数量的内容表对象这也可以包含他想要的列对象 就像在 SQL 中构建表一样 我尝试了下面的代码 但没有任何效果 并且当我尝试绑定两个列表时 表单不再出现 控制器 ModelAttribute page pu
  • JavaScript 中的最短路径

    几周来我一直在寻找一种在 JavaScript 中计算最短路径的方法 我一直在玩书数据结构和算法作者 格罗纳 Groner 名字恰如其分 https github com loiane javascript datastructs algo
  • Facebook API Javascript JSON 响应

    function getUser FB api me function response console log Response is response alert Your name is response first name ale
  • 使用 javascript/jquery 从数据库格式化日期的正确方法

    我正在调用包含日期时间数据类型的数据库 日期看起来像这样 2005 05 23 16 06 00 000 当用户从列表中选择某个项目时 我想在表格中显示它 我调用我的控制器操作并返回所有时间的 Json 并将它们放入表中 问题是日期完全错误
  • 如何调试 Node.js 应用程序?

    如何调试 Node js 服务器应用程序 现在我主要使用警报调试打印语句如下 sys puts sys inspect someVariable 一定有更好的调试方法 我知道谷歌浏览器 http en wikipedia org wiki

随机推荐

  • BugkuCTF-Web 前八题

    web2 打开题目发现全是越来越快的滑稽笑脸 并没有很明显的提示 所以打开F12看源码 用快捷键ctrl F来搜索Flag 在源码中轻松找到Flag 计算器 打开题目发现要求求两个二位数之和且和必然为三位数 但结果输出框只能输出一位数字 这
  • XGBoost参数调优完全指南(附Python代码)

    XGBoost参数调优完全指南 附Python代码 原文地址 Complete Guide to Parameter Tuning in XGBoost with codes in Python 译注 文内提供的代码和运行结果有一定差异 可
  • 什么是HTTP协议和HTTPS协议,以及两者的区别

    HTTP协议 超文本传输协议 Hyper Text Transfer Protocol 是一个简单的请求 响应协议 它通常运行在TCP之上 它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应 请求和响应消息的头以形式给出 而消息
  • STM32 Flash详解

    本文将根据ST官方Flashprogramming manual 文档编号 PM0059 讲解STM32F207内部Flash编程 01 概述 这里的flash是指STM32F207内部集成的Flash Flash存储器有以下特点 最大1M
  • opencv入门Vec3f

    Vec3f表示的是3通道float类型的 Vect 就相当于3通道float类型的图像 这是其中一个具体化 解释可以从源代码中看出来 下面给出一个具体的例子 Vec3f point Vec3f 10 10 3 2 Float 3 compo
  • Fiddler+夜神模拟器对安卓app进行抓包,安卓9,安装Magisk和LSPosed

    效果图 安装教程 1 下载夜神模拟器 国际版 2 下载Fiddler 1 配置fiddler允许监听到https Tools gt Options gt HTTPS 2 配置fiddler允许远程连接 Tools gt Options gt
  • 超级好用的思维导图软件XMind

    超级好用的思维导图软件XMind 今天和大家分享一款我一直使用的思维导图制作软件XMind 关于 思维导图制作的软件和网站是非常非常多的 可以说上网一搜的话一大把 我推荐这款 XMind是我自己搜集整理各种信息以及自己的实际使用后感觉特别喜
  • PyCharm配置anaconda环境

    PyCharm配置anaconda环境 PyCharm是一款很好用很流行的python编辑器 Anaconda是专注于数据分析的Python发行版本 包含了conda Python等190多个科学包及其依赖项 Anaconda通过管理工具包
  • coherence

    coherence Coherence是 Oracle为了建立一种高可靠和高扩展 集群计算的一个关键部件 集群指的是多于一个应用服务器参与到运算里 Coherence的主要用途是共享一个应用的对象 主要是java对象 比如Web应用的一个会
  • MAC电脑出现 .bin/webpack-dev-server permission denied 错误解决方法

    以前同事 新买的mac电脑 拉取项目后 npm i 安装了所有依赖 但是执行npm run dev 报错 MAC电脑出现 bin webpack dev server permission denied 提示权限问题 这样解决 sudo n
  • DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

    目录 1 概述 2 简洁高效且经济的 ChatGPT 训练与推理体验 使用 DeepSpeed Chat 的 RLHF 示例轻松训练你的第一个 类ChatGPT 模型 想尝试不同的模型大小和配置 轻松实现 利用 DeepSpeed Chat
  • 静态代码检查工具 - SourceInsight_Scan 使用指南

    静态代码检查工具 SourceInsight Scan 使用指南 静态代码检查是软件开发过程中非常重要的一环 它可以帮助开发人员发现潜在的代码问题 提高代码质量和可维护性 本文将介绍一款名为SourceInsight Scan的静态代码检查
  • 【100天精通python】Day22:字符串常用操作大全

    目录 专栏导读 一 字符串常用操作 1 拼接字符串 2 计算字符串长度 3 截取字符串 4 分割合并字符串 5 检索字符串 6 字母的大小写转换 7 去除字符串的空格和特殊字符 8 格式化字符串 二 字符串编码转换 2 1 使用encode
  • 管理与维护samba服务器,配置与管理samba服务器

    安装Samba服务器 环境 CentOS 8 boot 64 位 window 10 64 位 samba软件包 检查是否安装了samba软件包 rpm qa grep samba 没有安装软件包 则使用yum命令安装 yum clean
  • 怎样在VMware Workstation中安装Linux系统

    安装步骤 一 创建虚拟机 1 新建虚拟机 典型 下一步 2 稍后安装操作系统 下一步 3 Linux 下一步 4 客户机命名 必须是英文名 自定义浏览存放的位置 下一步 5 设置磁盘大小 拆分多个文件 下一步
  • 公链分层要怎么设计?

    比特币把人类在密码学和计算机工程中的应用融合到了一起 全球矿工 开发者们对比特币有着十分浓厚的兴趣 他们都在比特币提供的结构思考中完成创新和应用 比特币网络的改良的一个最好例子就是以太坊 而EOS等其余公链的出现则在更多的途径上为区块链技术
  • 基于PiggyMetrics微服务搭建的分布式系统

    1环境 2工具安装 3docker运行 1 docker安装完成后桌面出现Docker Quickstart Terminal和Kitematic Alpha两个快捷方式 2 修改VirtualBox中docker虚拟机的内存和处理器核数
  • Linux运维常用工具软件

    1 远程桌面连接 TigerVNC Xshell 2 FTP服务和客户端 FileZilla 将客户端的文件上传到服务器上 客户端可以使用免费的FileZilla Client 支持多线程上传文件 3 硬件检测 CPU Z CPU Z是一款
  • 2022-12-11 leetcode与蓝桥刷题情况

    一 leetcode题目 今天的leetcode是写的周赛题目 昨天状态不好 摸鱼一天 1 数组中最长的方波 题目描述 给你一个整数数组 nums 如果 nums 的子序列满足下述条件 则认为该子序列是一个 方波 子序列的长度至少为 2 并
  • fullcalendar v6的使用记录

    翻了翻百度 教程很多都过时了 方法都废弃了 这次是以V6版本CDN方式使用说明 文档地址 配置 var calendarConfig 加载 loading function load 可以控制页面的加载状态 app instance dat