UNPKG

comindware-gantt-elastic

Version:

Gantt chart. Elastic javascript gantt chart. Vue and standalone gantt. Project manager responsive gantt

65 lines (61 loc) 1.48 kB
/** * @fileoverview Task mixin * @license MIT * @author Rafal Pospiech <neuronet.io@gmail.com> * @package GanttElastic */ export default { computed: { /** * Get view box * * @returns {string} */ getViewBox() { const task = this.task; return `0 0 ${task.width} ${task.height}`; }, /** * Get group transform * * @returns {string} */ getGroupTransform() { return `translate(${this.task.x} ${this.task.y})`; }, /** * Should we display expander? * * @returns {boolean} */ displayExpander() { const expander = this.root.state.options.chart.expander; return expander.display || (expander.displayIfTaskListHidden && !this.root.state.options.taskList.display); } }, methods: { /** * Emit event * * @param {string} eventName * @param {Event} event */ emitEvent(eventName, event) { if (!this.root.state.options.scroll.scrolling) { this.root.$emit(`chart-${this.task.type}-${eventName}`, { event, data: this.task }); } }, /** * Handler for click event * * @param {Event} event */ onBarClick(event) { const callBacks = this.root.state.options.callBacks; if (callBacks && callBacks.onTaskClick) { callBacks.onTaskClick({ event, taskData: { id: this.task.id, title: this.task.title } }); } this.emitEvent('click', event); } } };