翻譯|產(chǎn)品更新|編輯:吉煒煒|2024-12-18 10:27:45.963|閱讀 106 次
概述:日程安排控件dhtmlxScheduler v7.2全新發(fā)布,新版本增強(qiáng)并增加了編輯、修改等多個(gè)操作體驗(yàn),歡迎下載最新版試用~
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DHTMLX Scheduler是一個(gè)全面的 UI 組件,用于處理面向業(yè)務(wù)的 Web 應(yīng)用程序中復(fù)雜的調(diào)度和任務(wù)管理需求。
DHTMLX Scheduler 7.2現(xiàn)已全新發(fā)布!此更新將增強(qiáng)JS 調(diào)度庫(kù)的編碼體驗(yàn),并確保使用它構(gòu)建的日歷具有更高的可用性。在之前版本的堅(jiān)實(shí)基礎(chǔ)之上,v7.2 增加了針對(duì)重復(fù)事件的新編輯選項(xiàng)、修改了協(xié)作編輯,并增強(qiáng)了對(duì)日和周視圖中事件顯示的控制,歡迎下載體驗(yàn)!
以下是新版本的主要更新內(nèi)容:重復(fù)事件的新編輯選項(xiàng)
在 7.1 版中,我們引入了對(duì)定期事件的 RRULE 格式的支持,這與廣為接受的 RFC-5545 標(biāo)準(zhǔn)保持一致。DHTMLX Scheduler 7.2 進(jìn)一步擴(kuò)展了此功能,讓您可以無(wú)縫修改定期系列的各部分。
此功能默認(rèn)可用,無(wú)需額外配置。因此,最終用戶可以輕松同時(shí)編輯一組重復(fù)事件。只需指定一個(gè)特定事件,即可從中應(yīng)用重復(fù)系列中的更改。在用戶界面中,可以通過(guò)兩種方式完成:
 
 
 
此方法不需要對(duì)應(yīng)用程序的服務(wù)器端代碼進(jìn)行任何更改。
修改后的協(xié)同編輯實(shí)時(shí)更新模塊
在 v7.2 中,Scheduler 的協(xié)作功能達(dá)到了新的水平。我們的開發(fā)人員修改了實(shí)時(shí)更新模塊,提供跨多個(gè)用戶的實(shí)時(shí)同步和協(xié)作編輯。
新的實(shí)施方案為實(shí)時(shí)數(shù)據(jù)更新帶來(lái)了現(xiàn)代、高效的支持,確保一個(gè)最終用戶所做的更改立即被所有其他用戶看到。
用于實(shí)時(shí)更新的客戶端處理程序現(xiàn)已嵌入到 Scheduler 組件中。要啟用它,您只需在應(yīng)用中包含以下代碼:
	
const AUTH_TOKEN = "token";
scheduler.init('scheduler_here', new Date(2025, 3, 20), "week");
scheduler.load("/events");
const dp = scheduler.createDataProcessor({
    url: "/events",
    mode: "REST-JSON",
    headers: {
        "Remote-Token": AUTH_TOKEN
    }
});
const { RemoteEvents, remoteUpdates } = scheduler.ext.liveUpdates;
const remoteEvents = new RemoteEvents("/api/v1", AUTH_TOKEN);
remoteEvents.on(remoteUpdates);
	
實(shí)時(shí)協(xié)作功能需要兼容的后端實(shí)現(xiàn)。該實(shí)現(xiàn)使用統(tǒng)一的通信協(xié)議,可實(shí)現(xiàn)所有支持此功能的 DHTMLX 組件(如Scheduler、Gantt等)的實(shí)時(shí)更新。
改進(jìn)隔夜事件的顯示
這種方法不需要對(duì)應(yīng)用的服務(wù)器端代碼進(jìn)行任何更改。從現(xiàn)在開始,all_timed插件的某些功能將默認(rèn)啟用,使夜間事件的顯示更加清晰易懂。
在一天開始并在第二天結(jié)束的事件(持續(xù)時(shí)間少于 24 小時(shí))現(xiàn)在顯示在“日”和“周”視圖的主列中,而不是顯示在頂部的多日部分中。
 
 
可以通過(guò)將all_timed配置設(shè)置為false來(lái) 禁用新行為。
此外,我們還添加了新的 API 選項(xiàng),讓您可以更好地控制在多日部分和主列中顯示的事件。因此,您可以指定事件放置的標(biāo)準(zhǔn),確保您的 JavaScript 調(diào)度日歷以最適合您需求的方式顯示事件。
const { isMainAreaEvent } = scheduler.ext.allTimed;
scheduler.ext.allTimed.isMainAreaEvent = function(event) {
    if(event.multidaySection){
        return false;
    }else{
        return isMainAreaEvent(event);
    }
};
有了這個(gè)新功能,您可以獲得額外的靈活性,在各種場(chǎng)景中顯示預(yù)定的夜間事件,從而增強(qiáng)應(yīng)用程序的可用性。
其他改進(jìn)
非變異日期函數(shù)
scheduler.date .{unit}_start函數(shù)已更新,不再改變輸入日期。此更改可確保日期計(jì)算是純函數(shù),從而防止意外的副作用并使您的代碼更加可預(yù)測(cè)和可靠。
迷你日歷的新 API 事件
迷你日歷(日期選擇器)擴(kuò)展還有新的 API 事件,可以更好地控制用戶與此元素的交互。
const dateToStr = (date) => date ? scheduler.templates.format_date(date) : null;
var calendar = scheduler.renderCalendar({
    container: "cal_here",
    navigation: true,
    events: {
        onBeforeMonthChange: function(oldDate, newDate) {
            scheduler.message(`Before change from ${dateToStr(oldDate)} to ${dateToStr(newDate)}`);
            return true;
        },
        onMonthChange: function(oldDate, newDate) {
            scheduler.message(`Changed from ${dateToStr(oldDate)} to ${dateToStr(newDate)}`);
        },
        onDateClick: function(date, e) {
            scheduler.setCurrentView(date);
            scheduler.message(`Selected date ${dateToStr(date)}`);
        },
        onDateMouseOver: function(date, e){
            scheduler.message(`Mouse over ${dateToStr(date)}`)
        }
    }
});
這一新穎的功能允許您在與日期選擇器交互時(shí)實(shí)現(xiàn)特定的行為。
以上便是v7.2版本更新的主要內(nèi)容。如您有產(chǎn)品試用下載、價(jià)格咨詢、優(yōu)惠獲取,或其他任何問(wèn)題,請(qǐng)聯(lián)系。
	
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都網(wǎng)