Files
IlLievitario-Gestore/js/modules/addingr/addingr.js
T

206 lines
11 KiB
JavaScript

define(['jquery', 'underscore', 'backbone', 'text!modules/addingr/addingrViewTemplate.html', 'modules/base/baseView',
'jqx'],
function ($, _, Backbone, addingrViewTemplate, BaseView) {
var AddIngrView = BaseView.extend({
dataAdapter: undefined,
//initialize template
template: _.template(addingrViewTemplate),
modifyItem: null,
ingrIndex: null,
initialize: function () {
AddIngrView.__super__.initialize.call(this);
//this.header.title = "pippo";
},
openDlg: function (ingrIndex, item)
{
this.ingrIndex = typeof ingrIndex !== 'undefined' ? ingrIndex : null;
this.modifyItem = typeof item !== 'undefined' ? item : {
"id_tipo_ingredienti": -1,
"nome_ingrediente": '',
"quantita": '',
"id_tipo_quantita": -1,
"unita": null,
"note": ''
};
$("#addIngrWindow").jqxWindow('open');
this._updateUI(this.modifyItem);
},
validate: function () {
if ($("#ingrediente").val() === "22" && $("#nota").val() !== "")
return true;
if ($("#ingrediente").val() > 0 &&
$("#ingrediente").val() !== "22" &&
$("#qty").val() > 0 &&
$("#unitMis").val() > 0)
return true;
return false;
},
addBtnFn: undefined,
_updateUI: function (item) {
var itemIngr = $("#ingrediente").jqxDropDownList('getItemByValue', parseInt(item.id_tipo_ingredienti));
if (itemIngr !== undefined) {
$("#ingrediente").jqxDropDownList({selectedIndex: itemIngr.index});
}else{
$("#ingrediente").jqxDropDownList({selectedIndex: -1});
}
var itemUnMis = $("#unitMis").jqxDropDownList('getItemByValue', parseInt(item.id_tipo_quantita));
if (itemUnMis !== undefined) {
$("#unitMis").jqxDropDownList({selectedIndex: itemUnMis.index});
} else {
$("#unitMis").jqxDropDownList({selectedIndex: -1});
}
$("#qty").jqxNumberInput('val', this.modifyItem.quantita);
$("#nota").val(this.modifyItem.note);
},
//render the content into div of view
render: function () {
//this.header.title = "pippo";
AddIngrView.__super__.render.call(this);
var self = this;
this.$el.append(this.template());
this.$el.find("#addIngrWindow").jqxWindow({
width: 350,
height: 280,
resizable: false,
isModal: true,
autoOpen: false,
cancelButton: this.$el.find("#cancelIngrBtn"),
modalOpacity: 0.01,
initContent: function () {
var source =
{
datatype: "jsonp",
datafields: [
{name: 'tipo_ingredienti_id'},
{name: 'name'}
],
url: myManifest.Settings.DefaultURL + "/backend/typeingredients",
data: {
}
};
var dataAdapter = new $.jqx.dataAdapter(source);
$("#ingrediente").jqxDropDownList(
{
width: 175,
height: 25,
source: dataAdapter,
displayMember: "name",
valueMember: "tipo_ingredienti_id"
});
$("#isNote").jqxCheckBox(
{
width: 75,
height: 25
});
$("#isNote").on('change', function (event) {
var checked = event.args.checked;
if(checked)
{
var item = $("#ingrediente").jqxDropDownList('getItemByValue', 22);
$("#ingrediente").jqxDropDownList({selectedIndex: item.index});
}
else
$("#ingrediente").jqxDropDownList({selectedIndex: -1});
});
$("#isHeading").jqxCheckBox(
{
width: 75,
height: 25
});
$("#ingrediente").on('bindingComplete', function (event) {
var item = $("#ingrediente").jqxDropDownList('getItemByValue', parseInt(self.modifyItem.id_tipo_ingredienti));
if(item)
$("#ingrediente").jqxDropDownList({selectedIndex: item.index});
});
var sourceunitMis =
{
datatype: "jsonp",
datafields: [
{name: 'tipo_quantita_id'},
{name: 'name'}
],
url: myManifest.Settings.DefaultURL + "/backend/typeqtys",
data: {
}
};
var dataAdapterunitMis = new $.jqx.dataAdapter(sourceunitMis);
$("#unitMis").jqxDropDownList(
{
width: 200,
height: 25,
source: dataAdapterunitMis,
displayMember: "name",
valueMember: "tipo_quantita_id",
disabled: true
});
$("#unitMis").on('bindingComplete', function (event) {
var item = $("#unitMis").jqxDropDownList('getItemByValue', parseInt(self.modifyItem.id_tipo_quantita));
if(item)
$("#unitMis").jqxDropDownList({selectedIndex: item.index});
});
$("#ingrediente").on('select', {scope: self}, function (event) {
if (event.args) {
var item = event.args.item;
if (item) {
if (item.value === "22")
{
$("#qty").jqxNumberInput({disabled: true});
$("#unitMis").jqxDropDownList({disabled: true});
}
else
{
$("#qty").jqxNumberInput({disabled: false});
$("#unitMis").jqxDropDownList({disabled: false});
}
}
}
});
$("#qty").jqxNumberInput({width: '250px', height: 25, decimal: 0.0, min: 0, decimalDigits: 0, digits: 4, groupSeparator: '', disabled: true});
$("#nota").jqxInput({placeHolder: "Nota:", width: '250px', height: 45});
$("#add").jqxButton({width: 25});
$("#addIngrBtn").jqxButton({width: '48%', height: 40});
$("#cancelIngrBtn").jqxButton({width: '48%', height: 40});
$("#addIngrBtn").on('click', function () {
if (self.validate())
{
var newItem = {
"id_tipo_ingredienti": $("#ingrediente").jqxDropDownList('getSelectedItem').value,
"nome_ingrediente": $("#ingrediente").jqxDropDownList('getSelectedItem').label,
"quantita": $("#qty").jqxNumberInput('val'),
"id_tipo_quantita": null,
"unita": null,
"note": $("#nota").val()
};
if ($("#unitMis").jqxDropDownList('getSelectedItem') !== null)
newItem.unita = $("#unitMis").jqxDropDownList('getSelectedItem').label;
if ($("#unitMis").jqxDropDownList('getSelectedItem') !== null)
newItem.id_tipo_quantita = $("#unitMis").jqxDropDownList('getSelectedItem').value;
if (self.addBtnFn)
self.addBtnFn(self.ingrIndex, newItem);
$('#addIngrWindow').jqxWindow('close');
}
else
alert("Inserire correttamente i dati");
});
self._updateUI(self.modifyItem);
}
});
return this;
}
});
return AddIngrView;
});