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

147 lines
7.8 KiB
JavaScript

define(['jquery', 'underscore', 'backbone', 'text!modules/addingr/addingrViewTemplate.html', 'modules/base/baseView',
'jqxbuttons', 'jqxdata', 'jqxdropdownlist',
'jqxinput', 'jqxrating', 'jqxnumberinput'],
function($, _, Backbone, addingrViewTemplate, BaseView) {
var AddIngrView = BaseView.extend({
dataAdapter: undefined,
//initialize template
template: _.template(addingrViewTemplate),
initialize: function() {
AddIngrView.__super__.initialize.call(this);
//this.header.title = "pippo";
},
openDlg: function()
{
$("#ingrediente").jqxDropDownList('selectedIndex', -1);
$("#unitMis").jqxDropDownList('selectedIndex', -1);
$("#qty").jqxNumberInput('val', '');
$("#nota").val('');
$("#addIngrWindow").jqxWindow('open');
},
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,
//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: 230,
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: 200,
height: 25,
source: dataAdapter,
selectedIndex: -1,
displayMember: "name",
valueMember: "tipo_ingredienti_id"
});
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,
selectedIndex: -1,
displayMember: "name",
valueMember: "tipo_quantita_id"
});
$("#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: ''});
$("#nota").jqxInput({placeHolder: "Nota:", width: '250px', height: 45});
$("#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(newItem);
$('#addIngrWindow').jqxWindow('close');
}
else
alert("Inserire correttamente i dati");
});
}
});
return this;
}
});
return AddIngrView;
});