206 lines
11 KiB
JavaScript
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;
|
|
}); |