define(['jquery', 'underscore', 'backbone', 'text!modules/editmulino/editmulinoViewTemplate.html', 'modules/base/baseView', 'controls/window/window', 'modules/addingr/addingr', 'jqx'], function($, _, Backbone, editmulinoViewTemplate, BaseView, Window, AddIngrDlg) { var FarineEnum = { Tipo00: 1, Tipo0: 2, Tipo1: 4, Integrale: 8, Manitoba: 16, Semola: 32, Speciale: 64 }; var MacinaturaEnum = { Rulli: 1, Pietra: 2 }; var EditMuliniView = BaseView.extend({ dataAdapter: undefined, //initialize template template: _.template(editmulinoViewTemplate), addIngrDlg: null, fullScrDlg: null, initialize: function() { EditMuliniView.__super__.initialize.call(this); //this.header.title = "pippo"; }, mulinoEditing: null, checkValue: function(val, check){ return (val & check) == check; }, openMulino: function(mulino_id) { if (mulino_id) { var self = this; $.ajax({ url: myManifest.Settings.DefaultURL + "/backend/mulino/body/" + mulino_id, dataType: "jsonp", crossDomain: true }).then(function(response) { var mulino = response[0]; self.mulinoEditing = mulino; $('#jqxTabs').jqxTabs('select', 0); $("#mulinoID").val(mulino.mulino_id); $("#nomeMulino").val(unescape(mulino.nome)); $("#email").val(mulino.email); $("#telefono").val(mulino.telefono); $("#linkWebSite").val(mulino.linkWebSite); $('#address').val(unescape(mulino.address)); $('#comune').val(unescape(mulino.comune)); $('#CAP').val(mulino.CAP); $('#provincia').val(mulino.provincia); $('#regione').val(mulino.regione); // show the popup window. $("#popupWindow").jqxWindow('open'); }); } else { $('#jqxTabs').jqxTabs('select', 0); // $("#mulinoID").val(''); // $("#categoria").jqxDropDownList('selectIndex', -1 ); // $("#titolo").val(''); // $("#autore").val(''); // $("#lvlDiff").val(0); // $("#linkFonte").val(''); // $("#linkYouTube").val(''); // $('#procedimento').val(''); $("#popupWindow").jqxWindow('open'); } }, validate: function() { if ($("#categoria").val() > 0 && $("#titolo").val() !== "") return true; return false; }, save:function(callback) { if (this.validate()) { var diffi = $('#lvlDiff').val(); var ingr = $('#listbox').jqxListBox('source'); var sendobj = { "mulinoID": $("#mulinoID").val(), "categoria_id": $("#categoria").val(), "titolo": escape($("#titolo").val()), "ingredienti": [], "preparazione": $("#procedimento").val(), "autore": escape($("#autore").val()), "linkFonte": $("#linkFonte").val(), "linkVideo": $("#linkYouTube").val(), "difficolta": diffi }; $.each(ingr, function(i, val) { var newItem = { "ingrediente_id": val.id_tipo_ingredienti, "quantita": val.quantita, "tipo_quantita_id": val.id_tipo_quantita, "note": escape(unescape(val.note)) }; sendobj.ingredienti.push(newItem); }); $.ajax({ url: myManifest.Settings.DefaultURL + "/backend/mulino/body", //dataType: "json", type: 'POST', data: {bodydata: JSON.stringify(sendobj)} }).then(function(response) { if(callback) callback(response); }); } else alert("Inserire almeno categoria e titolo"); }, //render the content into div of view render: function() { //this.header.title = "pippo"; EditMuliniView.__super__.render.call(this); var self = this; this.$el.append(this.template()); this.$el.find("#popupWindow").jqxWindow({ width: "750px", height: "500px", resizable: true, isModal: true, autoOpen: false, cancelButton: this.$el.find("#Cancel"), modalOpacity: 0.01, initContent: function() { $('#jqxTabs').jqxTabs({ width: '100%', height: "90%", position: 'top', initTabContent: function(tab) { if (tab === 0) { $("#nomeMulino").jqxInput({placeHolder: "Nome:", width: '350px', height: 25}); $("#email").jqxInput({placeHolder: "Email:", width: '350px', height: 25}); $("#telefono").jqxInput({placeHolder: "Telefono:", width: '350px', height: 25}); $("#linkWebSite").jqxInput({placeHolder: "Sito Web:", width: '350px', height: 25}); $('#logoUpload').jqxFileUpload({ width: '50%', fileInputName: 'image', multipleFilesUpload: false, accept: 'image/*', uploadUrl: myManifest.Settings.DefaultURL + '/backend/photo/mulino' }); $('#logoUpload').on('uploadStart', function (event) { $('form[action="' + myManifest.Settings.DefaultURL + '/backend/photo/mulino' + '"]'). append(''); }); } else if (tab === 1) { $("#address").jqxInput({placeHolder: "Indirizzo:", width: '350px', height: 25}); $("#provincia").jqxInput({placeHolder: "Provincia:", width: '350px', height: 25, source: function (query, response) { var dataAdapter = new $.jqx.dataAdapter ( { datatype: "jsonp", datafields: [ { name: 'Provincia' }, { name: 'Regione' } ], url: myManifest.Settings.DefaultURL + "/profile/province/"+query }, { autoBind: true, loadComplete: function (data) { response(data); } } ); } }); $("#comune").jqxInput({placeHolder: "Comune:", width: '350px', height: 25, source: function (query, response) { var dataAdapter = new $.jqx.dataAdapter ( { datatype: "jsonp", datafields: [ { name: 'Comune' }, { name: 'CAP' } ], url: myManifest.Settings.DefaultURL + "/profile/comuni/" + $("#provincia").val() + "/"+query }, { autoBind: true, loadComplete: function (data) { response(data); } } ); } }); $("#CAP").jqxInput({placeHolder: "CAP:", width: '350px', height: 25}); $("#regione").jqxInput({placeHolder: "Regione:", width: '350px', height: 25}); } else if (tab === 3) { $("#farine").jqxDropDownList( { width: "250px", height: "25px", source: new $.jqx.dataAdapter({ datatype: 'array', datafields: [ {name: 'value'}, {name: 'label'} ], localdata: [ {value: '1', label: 'Tipo00'}, {value: '2', label: 'Tipo0'}, {value: '4', label: 'Tipo1'}, {value: '8', label: 'Integrale'}, {value: '16', label: 'Manitoba'}, {value: '32', label: 'Semola'}, {value: '64', label: 'Speciale'} ] }), //selectedIndex: -1, displayMember: "label", valueMember: "value" }); $("#farSpeciali").jqxInput({placeHolder: "Farine Speciali:", width: '350px', height: 25}); $("#macinatura").jqxDropDownList( { width: "250px", height: "25px", source: new $.jqx.dataAdapter({ datatype: 'array', datafields: [ {name: 'value'}, {name: 'label'} ], localdata: [ {value: '1', label: 'Rulli'}, {value: '2', label: 'Pietra'} ] }), //selectedIndex: -1, displayMember: "label", valueMember: "value" }); $("#prezzo").jqxSlider({height: 60, min: 0, max: 10, value: 0, step: 0.10}); var text = $('#spedizione').val(); $('#spedizione').jqxEditor({width: '100%', height: "20%"}); if (text) $('#spedizione').jqxEditor('val', text); } else if (tab === 3) { var text = $('#procedimento').val(); $('#procedimento').jqxEditor({width: '100%', height: "50%"}); if (text) $('#procedimento').jqxEditor('val', text); var text = $('#note').val(); $('#note').jqxEditor({width: '100%', height: "50%"}); if (text) $('#note').jqxEditor('val', text); } } }); $("#Save").jqxButton({width: '48%', height: 40}); $('#Save').on('click', function() { self.save(function(msg){ alert(msg.message); if (msg.result) $("#popupWindow").jqxWindow('close'); }); }); $("#Cancel").jqxButton({width: '48%', height: 40}); } }); return this; } }); return EditMuliniView; });