147 lines
6.7 KiB
JavaScript
147 lines
6.7 KiB
JavaScript
define(['jquery', 'underscore', 'backbone', 'text!modules/home/homeViewTemplate.html',
|
|
'modules/base/baseView', 'modules/ricette/ricette', 'modules/editricetta/editricetta', 'modules/photos/photos', 'modules/statistics/statistics',
|
|
'modules/editricetta/editricetta', 'text!modules/home/inputWindow.html',
|
|
'jqx'],
|
|
function($, _, Backbone, homeViewTemplate, BaseView, RicetteView, EditRicettaView, PhotosView, StatisticsView, EditRicetta, inputWindowTemplate) {
|
|
|
|
var HomeView = BaseView.extend({
|
|
ricetteView: null,
|
|
statiView: null,
|
|
editorRicetta: null,
|
|
//initialize template
|
|
template: _.template(homeViewTemplate),
|
|
templateInputWindow: _.template(inputWindowTemplate),
|
|
initialize: function() {
|
|
HomeView.__super__.initialize.call(this);
|
|
//this.header.title = "pippo";
|
|
},
|
|
addRicetta: function() {
|
|
//e.preventDefault();
|
|
var editRicetteView = new EditRicettaView();
|
|
editRicetteView.render();
|
|
$('body').append(editRicetteView.$el);
|
|
editRicetteView.openRicetta();
|
|
},
|
|
modifyRicetta: function() {
|
|
//e.preventDefault();
|
|
if(this.ricetteView == null)
|
|
{
|
|
this.ricetteView = new RicetteView();
|
|
this.ricetteView.render();
|
|
$('body').append(this.ricetteView.$el);
|
|
}
|
|
else
|
|
this.ricetteView.render();
|
|
},
|
|
modifyByIDRicetta: function() {
|
|
var self = this;
|
|
//e.preventDefault();
|
|
if(this.editorRicetta == null)
|
|
{
|
|
this.editorRicetta = new EditRicetta();
|
|
this.editorRicetta.render();
|
|
$('body').append(this.editorRicetta.$el);
|
|
}
|
|
$('#openBtn').off('click');
|
|
$('#openBtn').on('click', function () {
|
|
$('#inputWindow').jqxWindow('close');
|
|
self.editorRicetta.openRicetta($('#ricettaId').val());
|
|
});
|
|
$('#cancelButton').off('click');
|
|
$('#cancelButton').on('click', function () {
|
|
$('#inputWindow').jqxWindow('close');
|
|
});
|
|
$('#ricettaId').val("");
|
|
$('#inputWindow').jqxWindow('open');
|
|
$('#ricettaId').focus();
|
|
|
|
},
|
|
photosView: function(){
|
|
var photosView = new PhotosView();
|
|
photosView.render();
|
|
$('body').append(photosView.$el);
|
|
},
|
|
statisticsView: function(){
|
|
if(this.statiView == null)
|
|
{
|
|
this.statiView = new StatisticsView();
|
|
this.statiView.render();
|
|
$('body').append(this.statiView.$el);
|
|
}
|
|
else
|
|
this.statiView.render();
|
|
},
|
|
clickMenu: function(event) {
|
|
var item = $(event.target);
|
|
//var clickedItem = event.args;
|
|
if(item[0].id === "addRicetta" ||
|
|
item[0].lastChild.id === "addRicetta")
|
|
{
|
|
event.data.scope.addRicetta();
|
|
}
|
|
else if(item[0].id === "modifyRicetta" ||
|
|
item[0].lastChild.id === "modifyRicetta")
|
|
{
|
|
event.data.scope.modifyRicetta();
|
|
}
|
|
else if(item[0].id === "modifyByIDRicetta" ||
|
|
item[0].lastChild.id === "modifyByIDRicetta")
|
|
{
|
|
event.data.scope.modifyByIDRicetta();
|
|
}
|
|
else if(item[0].id === "viewPhotos" ||
|
|
item[0].lastChild.id === "viewPhotos")
|
|
{
|
|
event.data.scope.photosView();
|
|
}
|
|
else if(item[0].id === "viewStatistics" ||
|
|
item[0].lastChild.id === "viewStatistics")
|
|
{
|
|
event.data.scope.statisticsView();
|
|
}
|
|
},
|
|
//render the content into div of view
|
|
render: function() {
|
|
//this.header.title = "pippo";
|
|
HomeView.__super__.render.call(this);
|
|
var self = this;
|
|
if ($('#jqxMenu').length === 0)
|
|
{
|
|
this.$el.append(this.template());
|
|
this.$el.append(this.templateInputWindow());
|
|
|
|
this.$el.find("#jqxMenu").jqxMenu({
|
|
width: '60%',
|
|
height: '30px'
|
|
});
|
|
|
|
this.$el.find('#jqxMenu').on('itemclick', { scope: this }, this.clickMenu);
|
|
|
|
var offset = this.$el.offset();
|
|
this.$el.find('#inputWindow').jqxWindow({ width: 400,
|
|
height: 110, resizable: false,
|
|
cancelButton: $('#cancelButton'),
|
|
okButton: $('#openBtn'),
|
|
autoOpen: false,
|
|
position: { x: offset.left + 50, y: offset.top + 50},
|
|
initContent: function () {
|
|
$('#openBtn').jqxButton({ width: '80px' });
|
|
$('#cancelButton').jqxButton({ width: '80px' });
|
|
}
|
|
});
|
|
|
|
$('#inputWindow').keypress(function(e){
|
|
if ( e.which == 13 ) {
|
|
e.preventDefault();
|
|
$('#openBtn').trigger('click');
|
|
}
|
|
});
|
|
}
|
|
|
|
//$("#homeBtn").addClass("ui-btn-active");
|
|
//return to enable chained calls
|
|
return this;
|
|
}
|
|
});
|
|
return HomeView;
|
|
}); |