- /**
- Settings Backbone > View
- @class FQLinePropView
- @constructor
- @return {Object} instantiated FQLinePropView
- **/
- define(['jquery', 'backbone'], function ($, Backbone) {
-
- var FQLinePropView = Backbone.View.extend({
-
- /**
- Constructor
- @method initialize
- **/
- initialize: function () {
- var self = this;
- self.m_selectedLineID = undefined;
- self.m_property = BB.comBroker.getService(BB.SERVICES['PROPERTIES_VIEW']);
- self.m_property.initPanel('#' + self.el.id);
- self._listenOpenCustomerTerminal();
- self._listenInputNameChange();
- self._listenInputReminderChange();
- },
-
- /**
- Listen to open customer terminal
- @method _listenOpenCustomerTerminal
- **/
- _listenOpenCustomerTerminal: function () {
- var self = this;
- $(Elements.OPEN_FASTERQ_CUSTOMER_TERMINAL).on('click', function (e) {
- var data = {
- call_type: 'CUSTOMER_TERMINAL',
- business_id: BB.Pepper.getUserData().businessID,
- line_id: self.m_selectedLineID,
- line_name: self.collection.get(self.m_selectedLineID).get('name')
- };
- data = $.base64.encode(JSON.stringify(data));
- var url = BB.CONSTS.BASE_URL + '?mode=customerTerminal¶m=' + data;
- window.open(url, '_blank');
- });
- },
-
- /**
- Listen to changes in Line item reminder minutes value
- @method _listenInputReminderChange server:updateLine
- @return none
- **/
- _listenInputReminderChange: function () {
- var self = this;
- var onChange = _.debounce(function (e) {
- var text = $(e.target).val();
- if (_.isUndefined(self.m_selectedLineID))
- return;
- var model = self.collection.get(self.m_selectedLineID);
- model.set('reminder', text);
- model.save({}, {
- success: function (model, response) {
- },
- error: function () {
- log('error delete failed');
- }
- });
-
- }, 400);
- $(Elements.FQ_REMINDER_LINE).on("input", onChange);
- },
-
- /**
- Listen to changes in Line item rename value
- @method _listenInputNameChange server:updateLine
- @return none
- **/
- _listenInputNameChange: function () {
- var self = this;
- var onChange = _.debounce(function (e) {
- var text = $(e.target).val();
- if (_.isUndefined(self.m_selectedLineID))
- return;
- var model = self.collection.get(self.m_selectedLineID);
- model.set('name', text);
- model.save({}, {
- success: function (model, response) {
- },
- error: function () {
- log('error delete failed');
- }
- });
-
- }, 400);
- $(Elements.SELECTED_LINE_NAME).on("input", onChange);
- },
-
- /**
- Populate the properties UI on line selected
- @method lineSelected
- @param {Number} i_lineID
- **/
- lineSelected: function (i_lineID) {
- var self = this;
- self.m_selectedLineID = i_lineID;
- self.m_property.viewPanel(Elements.FASTERQ_LINE_PROPERTIES);
- $(Elements.SELECTED_LINE_NAME).val(self.collection.get(self.m_selectedLineID).get('name'));
- $(Elements.FQ_REMINDER_LINE).val(self.collection.get(self.m_selectedLineID).get('reminder'));
- }
- });
-
- return FQLinePropView;
- });
-
-
-