js/Views/Master/Main/Job/Collection/ViewJobCollectionItem.js
import BaseViewCollectionItem from 'js/Views/Master/Main/BaseViewCollectionItem';
import RODAN_EVENTS from 'js/Shared/RODAN_EVENTS';
import Radio from 'backbone.radio';
/**
* View for Job item in Job Collection.
*/
export default class ViewJobCollectionItem extends BaseViewCollectionItem
{
///////////////////////////////////////////////////////////////////////////////////////
// PUBLIC METHODS
///////////////////////////////////////////////////////////////////////////////////////
/**
* Initializes the instance.
*
* @param {object} options Marionette.View options object; 'options.workflow' (Workflow) must also be provided for the associated Workflow
*/
initialize(options)
{
this._workflow = options.workflow;
}
///////////////////////////////////////////////////////////////////////////////////////
// PRIVATE METHODS
///////////////////////////////////////////////////////////////////////////////////////
/**
* Handle add button.
*/
_handleClickButtonAdd()
{
Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__WORKFLOWBUILDER_ADD_WORKFLOWJOB, {job: this.model, workflow: this._workflow});
}
}
ViewJobCollectionItem.prototype.template = '#template-main_job_collection_item';
ViewJobCollectionItem.prototype.tagName = 'tr';
ViewJobCollectionItem.prototype.ui = {
buttonAdd: '#button-main_job_button_add'
};
ViewJobCollectionItem.prototype.events = {
'click @ui.buttonAdd': '_handleClickButtonAdd',
'dblclick': '_handleClickButtonAdd'
};