当前位置: 首页 > news >正文

「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中(三)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。

DHTMLX Gantt是一个高度可定制的工具,可以与项目管理应用程序所需的其他功能相补充。在本文中您将学习如何使用自定义上下文菜单来补充基于DHTMLX的JavaScript甘特图,来提高用户在任务管理中的效率。考虑到DHTMLX产品的良好互兼容性,DHTMLX Suite的Menu小部件是实现本教程目标的甘特图组件的完美补充。

DHTMLX Gantt最新正式版下载

在上文中(点击这里回顾>>)我们为大家介绍了如何完成创建/更新/删除和复制/粘贴操作,本文继续介绍如何完成更改Tree的等级、更改任务类型等操作,更多内容请持续关注我们哟~

更改Tree的等级

「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中

本节有助于组织项目中的层次结构,您可以通过以下方式向项目添加层次结构:

  • 选择任务并缩进,使其成为子任务,上述任务变为项目任务:
case "indent":
const prevId = gantt.getPrevSibling(task.id);
if (prevId) {
const newParent = gantt.getTask(prevId);
gantt.moveTask(task.id, gantt.getChildren(newParent.id).length, newParent.id);
newParent.type = gantt.config.types.project;
newParent.$open = true;
gantt.updateTask(task.id);
gantt.updateTask(newParent.id);
return task.id;
}
break;
  • 反之亦然——扩展一个任务,使它不再是前一个父任务的子任务:
case "outdent":
const oldParent = task.parent;
if (gantt.isTaskExists(oldParent) && oldParent != gantt.config.root_id) {
var index = gantt.getTaskIndex(oldParent) + 1;gantt.moveTask(task.id, index, gantt.getParent(task.parent));
if (!gantt.hasChild(oldParent)) {
gantt.getTask(oldParent).type = gantt.config.types.task;
}
gantt.updateTask(task.id);
gantt.updateTask(oldParent);
return task.id;
}
break;
更改任务类型

「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中

在上下文菜单的这一部分中,您可以为所选任务指定任务类型。

  • 常规任务

在这里设置“任务”类型,与前面一样,它可能是一个持续时间为零的里程碑,您应该设置任务持续时间并更新end_date参数,然后更新任务。

case "type_task":
task.type = "task";
task.duration = task.duration || 1;
task.end_date = gantt.calculateEndDate(task);
gantt.updateTask(task.id);
break;
  • 项目任务

您可以为任务设置“项目”类型并更新它。

case "type_project":
task.type = "project";
gantt.updateTask(task.id);
break;
  • 里程碑任务

您可以为任务设置“milestone”类型并更新它。

case "type_milestone":
task.type = "milestone";
gantt.updateTask(task.id);
break;
更改可见性

「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中

此上下文菜单项侧重于管理任务和相关元素的可见性,并包括以下选项:

  • Rollup(汇总)

我们从任务的rollup参数开始,项目栏上显示了卷起的元素,并提供了项目进度的快速概述。首先更改rollup参数,以便任务显示在项目栏上,更新任务及其父任务来呈现更改。

case "rollup":
task.rollup = !task.rollup;
gantt.updateTask(task.id);
gantt.updateTask(task.parent);
break;
  • 隐藏任务栏

对于此选项,您需要更改任务的hide_bar参数,来在时间轴中隐藏任务,更新任务来呈现更改。

case "hide_bar":
task.hide_bar = !task.hide_bar;
gantt.updateTask(task.id);
break;
  • 隐藏任务行

向hiddenTasks对象添加任务来隐藏整个任务行,然后更新任务来呈现更改,任务将不会显示在网格和时间轴中。

case "hide_row":
hiddenTasks[task.id] = true;
gantt.updateTask(task.id);
break;
  • 显示所有隐藏任务

清空hiddenTasks对象来显示所有先前隐藏的任务,然后执行render命令来呈现更改。

case "show_hidden":
hiddenTasks = {};
gantt.render();
break;

篇幅有限未完待续,更多内容敬请期待.......

相关文章:

「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中(三)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。 DHTMLX Gantt是一个高度可定制的工具,可以与项目管理应用程序所需的其他功能相补充。在本文中您将学习如何使用自定义上…...

微服务保护

1、什么是微服务保护 微服务保护是指在微服务架构中采取的一系列措施,以确保各个服务的稳定性、可靠性和安全性。微服务是一种将应用程序作为一套小服务开发的方法,每个服务运行在其独立的进程中,并通常围绕特定的业务能力进行构建。微服务保…...

Python语言的优势所在

Python语言具有多个显著的优势,这些优势使得它在软件开发、数据分析、机器学习、Web开发等众多领域广受欢迎。以下是Python语言的一些主要优势: 简单易学:Python的语法清晰简洁,接近自然语言,易于理解和编写。对于初学…...

npm install时报错 reason: certificate has expired

在VS code中导入新项目,执行npm install时报错: npm warn old lockfile Could not fetch metadata for antv/g3.4.10 FetchError: request to https://registry.npm.taobao.org/antv%2fg failed, reason: certificate has expirednpm warn old lockfile …...

价格战再起:OpenAI 发布更便宜、更智能的 GPT-4o Mini 模型|TodayAI

OpenAI 今日推出了一款名为 GPT-4o Mini 的新模型,这款模型较轻便且成本更低,旨在为开发者提供一个经济实惠的选择。与完整版模型相比,GPT-4o mini 在成本效益方面表现卓越,价格仅为每百万输入 tokens 15 美分和每百万输出 tokens…...

从0开始对时间序列模型ACF和PACF的理解(以股价预测为例子)

目录 ACF模型选择问题ACF处理问题 PACF(偏自相关系数)模型选择 ACF 先了解一下概念,我不喜欢用公式套话讲。 ACF(自相关函数):就是看看当前的股票价格和之前的股票价格之间有没有关系。比如说,…...

MybatisPlus(MP)基础知识全解析

MyBatis-Plus(简称MP)是一个基于Java的持久层框架,它在MyBatis的基础上提供了许多实用的功能增强,使得开发者可以更加便捷地进行数据库操作。本文将介绍MyBatis-Plus的基础知识,包括其特性、核心组件以及如何使用它进行…...

前端组件化实践:Vue自定义加载Loading组件的设计与实现

摘要 随着前端技术的飞速发展,组件化开发已成为提高开发效率、降低维护成本的重要方法。本文介绍了前端Vue自定义加载Loading组件的设计思路与实现过程,该组件通过设置gif动画实现加载效果,可广泛应用于页面请求加载场景。通过该组件的实践&…...

LLaMA 背景

什么是LLaMA? 模型介绍:LLaMA是Meta开发的语言模型,旨在推动开放科学和人工智能的实践。 参数范围:这些模型的参数数量从7B到65B不等,覆盖了不同规模的需求。 训练数据:LLaMA模型是在数万亿个公开数据集的…...

硅谷裸机云多IP服务器怎么样?

硅谷裸机云多IP服务器是一种在硅谷地区提供的、具有多个IP地址的裸机云服务器。这种服务器结合了裸机服务器的高性能和云服务器的灵活性,同时提供了多个IP地址,为用户的各种需求提供了支持。以下是关于硅谷裸机云多IP服务器的一些详细信息,ra…...

Python+Django+MySQL的新闻发布管理系统【附源码,运行简单】

PythonDjangoMySQL的新闻发布管理系统【附源码,运行简单】 总览 1、《新闻发布管理系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 登录2.2 程序主页面2.3 新闻新增界面2.4 文章编辑界面2.5 新闻详情页2.7 其他功能贴图 3、下载 总览 自己做的项目&…...

实战项目:仿muduo库实现并发服务器

目录 项目初始与项目演示HTTP服务器基础认识Reactor模式基础认识单Reactor单线程模式认识单Reactor多线程模式认识多Reactor多线程模式认识 目标定位总体大模块划分server模块的管理思想Buffer子模块Socket子模块Channel子模块Connection子模块Acceptor子模块TimerQueue子模块P…...

提高Java程序效率:ImmutableList、Stream API 和 JSON序列化实战指南

常用列表构建方法: 1.ImmutableList.of() : 静态方法、不可变的列表 可以接受任意数量的参数,并将它们作为元素添加到新创建的列表中,但是一旦创建,集合的内容就不能被改变。在多线程环境中非常有用,因为…...

[CP_AUTOSAR]_分层软件架构_接口之通信模块交互介绍

目录 1、协议数据单元(PDU)传输2、通信模块的案例2.1、SDU、 PCI & PDU2.2、通信模块构成2.3、从数据传输的角度看Communication2.4、Communication中的接口 在前面 《关于接口的一些说明》 以及  《Memory软件模块接口说明》 中,简要介绍了CP_AUTOSAR分层…...

C语言 ——— 浮点数类型 在 内存中 的 存储模式

目录 浮点数存储规则 单\双精度浮点数 存储 S、M、E 的布局 有效数字M 和 指数位E 的特殊规定 浮点数在内存中是否存储的S、M、E 浮点数存储规则 根据国际标准IEEE754(电气和电子工程协会)规定:任意一个 浮点数F的二进制 都可以表示成…...

socket 收发TCP/UDP

一、c 个人测试记录,有问题还请指出,谢谢 参考:C开发基础之网络编程WinSock库使用详解TCP/UDP Socket开发_c udp使用什么库-CSDN博客 代码中Logger测试见文章: c中spdlog的使用/python中logger的使用-CSDN博客 1、main.cpp 收…...

Nest.js 实战 (三):使用 Swagger 优雅地生成 API 文档

什么是 Swagger ? Swagger 是一组围绕 OpenAPI 规范构建的开源工具,可以帮助您设计、构建、记录和使用 REST API。主要的 Swagger 工具 包括: Swagger Editor:基于浏览器的编辑器,您可以在其中编写 OpenAPI 定义Swagger UI&…...

spark shell

1.进行shell命令行 spark-shell 2.创建RDD 2.1 读取文件创建RDD 2.1.1读取linux文件系统的文件创建RDD --需要保证每一个worker中都有该文件 val data1 sc.textFile("file:/opt/file/word.txt") 2.1.2读取hdfs文件系统上的文件创建RDD val data2sc.textFile("…...

集群架构-web服务器(接入负载均衡+数据库+会话保持redis)--15454核心配置详解

紧接着前面的集群架构深化—中小型公司(拓展到大型公司业务)–下面图简单回顾一下之前做的及故障核心知识总结(等后期完全整理后,上传资源希望能帮大家) web集群架构-接入负载均衡部署web02服务器等 web集群-搭建web0…...

# Redis 入门到精通(七)-- redis 删除策略

Redis 入门到精通(七)-- redis 删除策略 一、redis 删除策略–过期数据的概念 1、Redis 中的数据特征 Redis 是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态。 XX :具有时效性…...

10:00面试,10:08就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到6月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…...

html+canvas 实现签名功能-手机触摸

手机上的效果图 需要注意&#xff0c;手机触摸和鼠标不是一个事件&#xff0c;不能通用&#xff0c;上一篇是关于使用鼠标的样例 相关代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewpo…...

前端组件化探索与实践:Vue自定义暂无数据组件的开发与应用

摘要 随着前端开发技术的不断进步&#xff0c;组件化开发已成为提升开发效率、降低维护成本的关键手段。本文旨在通过介绍一款Vue自定义暂无数据组件的开发与实践&#xff0c;深入探讨前端组件化开发的重要性、优势及其在实际项目中的应用。 一、引言 在前端开发中&#xff0…...

《汇编语言 基于x86处理器》- 读书笔记 - Visual Studio 2019 配置 MASM环境

安装 Visual Studio 2019 配置 MASM环境 下载 Visual Studio Installer安装 Visual Studio 20191. 双击运行2. 自定义安装内容3. 修改 MSVC 工具集版本4. 设置主题&#xff08;可选&#xff09;5. 安装代码高亮插件 AsmDude&#xff08;可选&#xff09;6. 通义灵码&#xff08…...

Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析

Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析 简介 本文档适用于合宙Air780E、Air780EP、Air780EQ、Air201 关联文档和使用工具&#xff1a; 从Ramdump里分析内存泄漏问题 无法抓底层log的情况下如何导出死机dump Luatools下载调试工具 EPAT抓取底层日志 F…...

吴松洋院长 艺后整形集团专家组特约成员 全方位责任塑美

...

前端经验:使用sheetjs导出CSV文本为excel

应用场景 很多web表格组件没有提供直接的导出excel功能&#xff0c;但提供了导出CSV的功能。 如果能想办法拿到CSV的内容&#xff0c;就可以利用sheetjs生成excel并导出。 实施步骤 1.拿到CSV的内容字符 每种表格组件都有各自的CSV生成方法&#xff0c;不管用什么方法&…...

【nnUNetv2进阶】十五、nnUNetv2 魔改网络-小试牛刀-引入ECA

nnunet使用及改进教程。 【nnUNetv2实践】一、nnUNetv2安装 【nnUNetv2实践】二、nnUNetv2快速入门-训练验证推理集成一条龙教程 【nnUNetv2进阶】三、nnUNetv2 自定义网络-发paper必会-CSDN博客 其他网络改进参考: 【nnUNetv2进阶】四、nnUNetv2 魔改网络-小试牛刀-加入…...

centos(或openEuler系统)安装kafka集群

安装192.168.9.60、192.168.9.61、192.168.9.62这3台kafka集群&#xff08;kraft模式&#xff0c;不用zookeeper&#xff09; 不带密码的 1.每台机器安装kafka&#xff1a; cd /home/kafka wget https://downloads.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz 不通就换这…...

HarmonyOS根据官网写案列~ArkTs从简单地页面开始

Entry Component struct Index {State message: string 快速入门;build() {Column() {Text(this.message).fontSize(24).fontWeight(700).width(100%).textAlign(TextAlign.Start).padding({ left: 16 }).fontFamily(HarmonyHeiTi-Bold).lineHeight(33)Scroll() {Column() {Ba…...

app开发方式/宁波seo网络推广推荐

希望自己能够通过对本课程的学习&#xff0c;对C语言能有进一步的了解&#xff0c;能够学会自主运用&#xff0c;学习到经验技术和知识&#xff0c;也希望老师能够在学习新知识时多讲解多运用&#xff0c;反复练习&#xff0c;以增加学生对新知识的熟练度和理解度。转载于:http…...

湖北商城网站建设/百度竞价网站

https://zhidao.baidu.com/question/173351764.html 转载于:https://www.cnblogs.com/DixinFan/p/9219084.html...

网站制作论文致谢/推广代理登录页面

实体造型 计算机造型&#xff1a;如何在计算机中建立模型表示不同图形对象。 图形对象的描述包括图形信息和非图形信息。 &#xff08;1&#xff09;图形信息又分为几何信息和拓扑信息。几何信息包括形体位置和大小&#xff0c;拓扑信息包括形体点、边、面的数量及相互之间的连…...

b2b网站做网络推广有用吗/百度推广管理系统

算数运算符   加-   减*   乘/    除//    整除%   取余**   指数  算数优先级&#xff1a; 指数>乘除>加减 ps&#xff1a;python里面区分优先级只有小括号 () 没有 [] 和 {} &#xff0c; 比较运算符 <><>! ps&#xff1a;python可以优化…...

做外贸在那些网站找客户/福州短视频seo

一种特殊的索引&#xff0c;它会把某个数据表的某个数据列出现过的所有单词生成一份清单。 alter table tablename add fulltext(column1,column2) 只能在MyISAM数据表中创建 少于3个字符的单词不会被包含在全文索引里&#xff0c;可以通过修改my.cnf修改选项 ft_min_word_le…...

vs做asp网站流程/搜索引擎哪个最好用

本文为芬兰坦佩雷大学&#xff08;作者&#xff1a;Murat Pojon&#xff09;的硕士论文&#xff0c;共39页。 本文研究了机器学习算法在预测学生是否成功方面的应用。本文的重点是比较机器学习方法和特征工程技术在多大程度上提高了预测性能&#xff0c;采用了三种不同的机器学…...