修改dhtmlxGantt以处理多个项目-Laravel5
Modify dhtmlxGantt to work with multiple projects - Laravel5
我已经在Laravel5项目中集成了dhtmlxGantt,一切都按预期进行。但我想修改它以存储多个项目的图表。为此,我想添加一个名为"project_id"的额外字段,并通过过滤器加载数据。
我尝试用以下代码修改控制器:
$connector->render_links(
GanttLink::where('user_id', '=', 1)->get(),
"id",
"source,target,type"
);
$connector->render_table(
GanttTask::where('user_id', '=', 1)->get(),
"id",
"start_date,duration,text,progress,parent"
);
这个解决方案使我能够以我想要的方式从数据库加载图表。但它不会将更改保存回数据库。我浏览了dhtmlxGantt文档,但没有得到任何解决方案。
我在研究中发现了这些联系,可能会有所帮助。
链接1:保存前更改值
链接2:基于参数的过滤结果
请帮助我修改我的项目,以允许在不同的图表上工作(加载和编辑)。
最后我找到了一个解决方案。首先,您需要将project_id
列添加到数据库表中,然后将该列添加到连接器配置:
$connector->render_table(new GanttTask(), "id", "start_date,duration,text,progress,parent,project_id");
然后,您必须对客户端代码进行一些修改。使用类似的东西
var project_id = "<?php echo $project['id']; ?>";
以便将变量带入<script>..</script>
然后通过添加以下两个客户端处理程序来修改代码:
gantt.attachEvent("onBeforeTaskDisplay", function (id, task) {
if (task.project_id == project_id) {
return true;
}
return false;
});
和
gantt.attachEvent("onBeforeTaskAdd", function (id, task) {
task.project_id = project_id;
});
第一个处理程序在显示图表之前按照您想要的方式过滤结果,第二个处理程序则在添加任务之前附加project_id
属性。现在您有了一个dhtmlxGatt,它可以显示多个项目。
相关文章:
- 正在将数据主题添加到所有项目
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- Dojo:访问dijit.form.Select中单击的项目
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 我需要为我的朋友在这个项目上提供帮助
- 如何从 HTML 查询中删除项目
- 在Meteor项目中安装并包含npm模块后出错
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 将单击事件添加到附加的项目中
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 在javascript中搜索项目列表的性能
- 如何将本地依赖项添加到npm项目中
- angularjs移除焦点上的活动类并添加到下一个项目
- 为什么react/redux前端项目在package.json中包含生产依赖项
- 将webpack和babel与父项目目录中的文件一起使用
- 修改dhtmlxGantt以处理多个项目-Laravel5