Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59a3161220 | ||
|
|
fdd935e3aa | ||
|
|
f57f55e2a9 |
@@ -1,26 +1,14 @@
|
||||
AddHandler application/x-httpd-php .html .htm
|
||||
<IfModule mod_deflate.c>
|
||||
<IfModule mod_setenvif.c>
|
||||
BrowserMatch ^Mozilla/4 gzip-only-text/html
|
||||
BrowserMatch ^Mozilla/4\.0[678] no-gzip
|
||||
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
|
||||
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
|
||||
</IfModule>
|
||||
<IfModule mod_headers.c>
|
||||
Header append Vary User-Agent env=!dont-vary
|
||||
</IfModule>
|
||||
AddOutputFilterByType DEFLATE text/css application/x-javascript text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon
|
||||
</IfModule>
|
||||
|
||||
<ifModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
RewriteRule ^index.html$ index.php [L]
|
||||
RewriteRule ^js/libs/(.*)\.[0-9]+\.js$ /IlLievitarioManut/js/libs/$1.js [L]
|
||||
RewriteRule ^js/(.*)\.[0-9]+\.js$ /IlLievitarioManut/js/$1.js [L]
|
||||
RewriteRule ^css/(.*)\.[0-9]+\.css$ /IlLievitarioManut/css/$1.css [L]
|
||||
RewriteRule ^Resources/img/(.*)\.[0-9]+\.png$ /IlLievitarioManut/Resources/img/$1.png [L]
|
||||
RewriteRule ^Resources/img/(.*)\.[0-9]+\.gif$ /IlLievitarioManut/Resources/img/$1.gif [L]
|
||||
RewriteRule ^Resources/icons/(.*)\.[0-9]+\.png$ /IlLievitarioManut/Resources/icons/$1.png [L]
|
||||
RewriteRule ^index.html$ /NewMobileWebSite/index.php [L]
|
||||
RewriteRule ^js/libs/(.*)\.[0-9]+\.js$ /NewMobileWebSite/js/libs/$1.js [L]
|
||||
RewriteRule ^js/(.*)\.[0-9]+\.js$ /NewMobileWebSite/js/$1.js [L]
|
||||
RewriteRule ^css/(.*)\.[0-9]+\.css$ /NewMobileWebSite/css/$1.css [L]
|
||||
RewriteRule ^Resources/img/(.*)\.[0-9]+\.png$ /NewMobileWebSite/Resources/img/$1.png [L]
|
||||
RewriteRule ^Resources/img/(.*)\.[0-9]+\.gif$ /NewMobileWebSite/Resources/img/$1.gif [L]
|
||||
RewriteRule ^Resources/icons/(.*)\.[0-9]+\.png$ /NewMobileWebSite/Resources/icons/$1.png [L]
|
||||
</ifModule>
|
||||
|
||||
<ifModule mod_headers.c>
|
||||
|
||||
|
After Width: | Height: | Size: 770 B |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 874 B |
|
After Width: | Height: | Size: 436 B |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
@@ -2,4 +2,3 @@ REM node r.js -o app.build_dev.js
|
||||
node r.js -o app.build_prod.js
|
||||
REM call cleancss -o .\css\loadingStyle.min.css .\css\loadingStyle.css
|
||||
call cleancss -o .\css\style.min.css .\css\style.css
|
||||
pause
|
||||
@@ -3,18 +3,68 @@
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.circle
|
||||
{
|
||||
position: relative;
|
||||
top: -6px;
|
||||
left: 15px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 12px;
|
||||
font-size: 10px;
|
||||
color: #fff;
|
||||
line-height: 12px;
|
||||
text-align: center;
|
||||
background: red;
|
||||
z-index: 1;
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
.nav-glyphish-example .ui-btn { padding-top: 35px !important; }
|
||||
.nav-glyphish-example .ui-btn:after { width: 30px!important; height: 30px!important; margin-left: -15px !important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
|
||||
|
||||
.ui-icon-myHome:after {
|
||||
background: url("https://dl.dropboxusercontent.com/s/w5evmv0suijf2jd/house.png") 50% 50% no-repeat; background-size: 22px 22px;
|
||||
margin-top: -15px !important;
|
||||
width: 30px!important; height: 30px!important; margin-left: -15px !important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
|
||||
width: 30px!important; height: 30px!important; margin-left: -15px !important;
|
||||
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
|
||||
}
|
||||
.notification:after {
|
||||
background: url("https://dl.dropboxusercontent.com/s/afsciy4lipub4hf/notification.png") 50% 50% no-repeat; background-size: 22px 22px;
|
||||
margin-top: -15px !important;
|
||||
width: 30px!important; height: 30px!important; margin-left: -15px !important;
|
||||
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
|
||||
}
|
||||
#optionBtn:after {
|
||||
background: url("https://dl.dropboxusercontent.com/s/gnlhujh5a86qdhi/property.png?dl=0") 50% 50% no-repeat; background-size: 22px 22px;
|
||||
margin-top: -15px !important;
|
||||
width: 30px!important; height: 30px!important; margin-left: -15px !important;
|
||||
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
|
||||
}
|
||||
|
||||
#favoriteBtn:after {
|
||||
background: url("https://dl.dropboxusercontent.com/s/ptt4475xkrv0chu/favorite.png") 50% 50% no-repeat; background-size: 22px 22px;
|
||||
margin-top: -15px !important;
|
||||
width: 30px!important; height: 30px!important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
|
||||
}
|
||||
#scattaPhotoBtn:after {
|
||||
background: url("https://dl.dropboxusercontent.com/s/kou4hv3nzau9161/camera.png") 50% 50% no-repeat; background-size: 22px 22px;
|
||||
margin-top: -15px !important;
|
||||
width: 30px!important; height: 30px!important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
|
||||
}
|
||||
#uploadPhotoBtn:after {
|
||||
background: url("https://dl.dropboxusercontent.com/s/k65p3k0frglitu2/photo.png") 50% 50% no-repeat; background-size: 22px 22px;
|
||||
margin-top: -15px !important;
|
||||
width: 30px!important; height: 30px!important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
|
||||
}
|
||||
|
||||
#backBtn:after { background: url("https://dl.dropboxusercontent.com/s/b5feph9hnl1wvep/previous.png") 50% 50% no-repeat; background-size: 22px 22px;
|
||||
margin-top: -15px !important;
|
||||
width: 30px!important; height: 30px!important; margin-left: -15px !important;
|
||||
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
|
||||
}
|
||||
|
||||
#favoriteBtn:after { background: url("https://dl.dropboxusercontent.com/s/ptt4475xkrv0chu/favorite.png") 50% 50% no-repeat; background-size: 22px 22px; }
|
||||
#infoBtn:after { background: url("https://dl.dropboxusercontent.com/s/uoe0goxll3anh3x/info.png") 50% 50% no-repeat; background-size: 22px 22px; }
|
||||
#backBtn:after { background: url("https://dl.dropboxusercontent.com/s/b5feph9hnl1wvep/previous.png") 50% 50% no-repeat; background-size: 16px 16px; }
|
||||
#noteBtn:after { background: url("https://dl.dropboxusercontent.com/s/vtl7zq0b144aiep/blocco.png") 50% 50% no-repeat; background-size: 22px 22px; }
|
||||
#indexBtn:after { background: url("https://dl.dropboxusercontent.com/s/pn37wqdw6z1rd8s/ricette.png") 50% 50% no-repeat; background-size: 22px 22px; }
|
||||
#toolsBtn:after { background: url("https://dl.dropboxusercontent.com/s/8n0npemivbc6kuy/toolbox.png") 50% 50% no-repeat; background-size: 22px 22px; }
|
||||
@@ -27,22 +77,22 @@
|
||||
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;}
|
||||
|
||||
.loginfb {
|
||||
content: url('https://www.dropbox.com/s/vsc19gan0ihjptr/fblogin.png');
|
||||
content: url('https://dl.dropboxusercontent.com/s/vsc19gan0ihjptr/fblogin.png');
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.logoutfb {
|
||||
content: url('https://www.dropbox.com/s/sdbe56vqxeqevph/fblogout.png');
|
||||
content: url('https://dl.dropboxusercontent.com/s/sdbe56vqxeqevph/fblogout.png');
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.logingplus {
|
||||
content: url('https://www.dropbox.com/s/k43w3cfzowlynhk/gpluslogin.png');
|
||||
content: url('https://dl.dropboxusercontent.com/s/k43w3cfzowlynhk/gpluslogin.png');
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.logoutgplus {
|
||||
content: url('https://www.dropbox.com/s/nnprsunm8zg31en/gpluslogout.png');
|
||||
content: url('https://dl.dropboxusercontent.com/s/nnprsunm8zg31en/gpluslogout.png');
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.structure.min.css" >
|
||||
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" >
|
||||
<link rel="stylesheet" href="css/jquery.mobile.icons.min.<?php echo filemtime('css/jquery.mobile.icons.min.css'); ?>.css">
|
||||
<link rel="stylesheet" href="css/IlLievitario.min.<?php echo filemtime('css/IlLievitario.min.css'); ?>.css">
|
||||
<link rel="stylesheet" href="css/style.min.<?php echo filemtime('css/style.min.css'); ?>.css">
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
define(['jquery','underscore', 'backbone', 'router', 'classes/profile'],function
|
||||
($, _, Backbone,Router, Profile) {
|
||||
'use strict';
|
||||
var init=function(){
|
||||
define(['jquery','underscore', 'backbone', 'router', 'classes/profile'],
|
||||
function($, _, Backbone, Router, Profile) {
|
||||
|
||||
var Application={
|
||||
_retThis: function() {
|
||||
return this;
|
||||
},
|
||||
router: null,
|
||||
initialize:function(){
|
||||
//create backbone router
|
||||
var router=new Router();
|
||||
this.router=new Router();
|
||||
Backbone.history.start();
|
||||
Backbone.emulateJSON = true;
|
||||
var origin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '') + (location.pathname?location.pathname:'');
|
||||
@@ -11,7 +16,7 @@ define(['jquery','underscore', 'backbone', 'router', 'classes/profile'],function
|
||||
openGPlus.init('319140243944-qk0lfhgmi8shi4go97r83l69f1k0gdf4.apps.googleusercontent.com', origin, window.localStorage);
|
||||
//console.log("Backbone history start");
|
||||
// Trigger 'route' event on router instance.
|
||||
router.on('route', function(name, args) {
|
||||
this.router.on('route', function(name, args) {
|
||||
//alert(name);
|
||||
});
|
||||
|
||||
@@ -21,9 +26,8 @@ define(['jquery','underscore', 'backbone', 'router', 'classes/profile'],function
|
||||
|
||||
$('body').css('background-color', '');
|
||||
$('#loadingFrm').remove();
|
||||
}
|
||||
};
|
||||
|
||||
return {
|
||||
initialize:init
|
||||
};
|
||||
return Application._retThis();
|
||||
});
|
||||
@@ -27,7 +27,8 @@ define(['jquery', 'backbone'],
|
||||
"gender":null,
|
||||
"tema": 'b',
|
||||
"risRic": '10',
|
||||
"type": null
|
||||
"type": null,
|
||||
"lastNumRicette": null
|
||||
},
|
||||
|
||||
isConnected: function(){
|
||||
@@ -64,12 +65,16 @@ define(['jquery', 'backbone'],
|
||||
self.data.tema = response[0].TemaUI;
|
||||
self.data.risRic = response[0].RisultatiRicerca;
|
||||
self.data.type = response[0].TipoAccesso;
|
||||
self.data.lastNumRicette = response[0].NumRicette;
|
||||
retBool = true;
|
||||
}
|
||||
if(successFn)
|
||||
successFn(retBool);
|
||||
},
|
||||
|
||||
getLastNumRicette: function(){
|
||||
return this.data.lastNumRicette;
|
||||
},
|
||||
getKeySave: function(){
|
||||
return window.localStorage.getItem("KeySave");
|
||||
},
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
/**
|
||||
* Created by Denis on 19/06/2014.
|
||||
*/
|
||||
define(['jquery', 'backbone','libs/fastclick', 'jqm', 'jQueryPlugins'],
|
||||
function($, Backbone, FastClick){
|
||||
|
||||
var Utility = {
|
||||
retMe: function(){
|
||||
return this;
|
||||
},
|
||||
changePage: function(view){
|
||||
//append to dom
|
||||
$('body').append(view.$el);
|
||||
|
||||
$.mobile.pageContainer.pagecontainer ("change", $(view.el), {changeHash:false});
|
||||
|
||||
FastClick.attach(document.body);
|
||||
|
||||
$(":jqmData(role='page'):last").on("pageshow", function (event) {
|
||||
if (view.onShowed !== null)
|
||||
view.onShowed();
|
||||
});
|
||||
|
||||
$('input[type=radio].star').rating({
|
||||
callback: function(value, link){
|
||||
var tip = $('#hover-test');
|
||||
if(value === undefined)
|
||||
{
|
||||
$('#hover-test').html("Nessuna" || 'value: ' );
|
||||
}
|
||||
else
|
||||
$('#hover-test').html(link.title || 'value: ' + value);
|
||||
},
|
||||
focus: function(value, link){
|
||||
var tip = $('#hover-test');
|
||||
tip[0].data = tip[0].data || tip.html();
|
||||
tip.html(link.title || 'value: ' + value);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
return Utility.retMe();
|
||||
});
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
var pathJquery = "http://ajax.googleapis.com/ajax/libs/jquery/" + myManifest.Settings.JQueryVersion + "/jquery.min";
|
||||
var pathJqueryMobile = "http://ajax.googleapis.com/ajax/libs/jquerymobile/"+ myManifest.Settings.JQueryMobileVersion + "/jquery.mobile.min";
|
||||
var pathJqueryMobile = "http://code.jquery.com/mobile/" + myManifest.Settings.JQueryMobileVersion + "/jquery.mobile-" + myManifest.Settings.JQueryMobileVersion + ".min";
|
||||
// "http://ajax.googleapis.com/ajax/libs/jquerymobile/"+ myManifest.Settings.JQueryMobileVersion + "/jquery.mobile.min";
|
||||
|
||||
requirejs.config({
|
||||
baseUrl: 'js',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
define(['jquery', 'underscore', 'backbone','text!controls/header/headerTemplate.html'],
|
||||
function($, _, Backbone, headerTemplate){
|
||||
define(['jquery', 'underscore', 'backbone','text!controls/header/headerTemplate.html', 'classes/profile'],
|
||||
function($, _, Backbone, headerTemplate, Profile){
|
||||
|
||||
var header = Backbone.View.extend({
|
||||
|
||||
@@ -22,6 +22,7 @@ define(['jquery', 'underscore', 'backbone','text!controls/header/headerTemplate.
|
||||
//append the compiled template into view div container
|
||||
this.$el.append(this.template( { "title":this.title } ));
|
||||
|
||||
this.$el.find('#notifyBtn').closest('.ui-btn').hide();
|
||||
//return to enable chained calls
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
<a href="#homeView" class="nav-glyphish-example ui-btn ui-icon-myHome ui-btn-icon-notext">Home</a>
|
||||
<a id="homeBtn" href="#homeView" class="nav-glyphish-example ui-btn ui-icon-myHome ui-btn-icon-notext">Home</a>
|
||||
<h4><%= title %></h4>
|
||||
<a href="#newsView" id="notifyBtn" class="ui-btn ui-icon-withoutCorner ui-btn-icon-notext">News<div class="circle">3</div></a>
|
||||
@@ -1,7 +1,8 @@
|
||||
//1. load app.js,
|
||||
//2. configure jquery mobile to prevent default JQM ajax navigation
|
||||
//3. bootstrapping application
|
||||
define(["app", "jqm", "jqm-config", 'jQueryPlugins'], function( app ){
|
||||
define(["app", "jqm", "jqm-config", 'jQueryPlugins'],
|
||||
function( app ){
|
||||
if(myManifest.Agent.browser.name == "IE Mobile" && myManifest.Agent.browser.version <= 9 ) {
|
||||
window.location.href = "http://old.gruppolapastamadre.it";
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
var myManifest = {
|
||||
Debug: false,
|
||||
Name: "Il Lievitario",
|
||||
Version: "2.2.3",
|
||||
Version: "3.0.0.0",
|
||||
Author: "Denis Ironi",
|
||||
Settings: {
|
||||
//DefaultURL: "http://localhost:8081/Service",
|
||||
DefaultURL: "http://app.gruppolapastamadre.it/Service",
|
||||
DefaultURL: "http://localhost:8081/Service",
|
||||
//DefaultURL: "http://dev.gruppolapastamadre.it/Service",
|
||||
JQueryVersion: "1.11.1",
|
||||
JQueryMobileVersion: "1.4.3",
|
||||
JQueryMobileVersion: "1.4.5",
|
||||
Device: {
|
||||
Width: (window.innerWidth > 0) ? window.innerWidth : screen.width,
|
||||
Height: (window.innerHeight > 0) ? window.innerHeight : screen.height
|
||||
|
||||
@@ -11,7 +11,7 @@ var CategoryItems=Backbone.Collection.extend({
|
||||
model:Category,
|
||||
|
||||
url: function() {
|
||||
return myManifest.Settings.DefaultURL + "/api/categoryitems/" + this.categoryId;
|
||||
return myManifest.Settings.DefaultURL + "/api/ricette/" + this.categoryId;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ define(['app', 'jquery', 'underscore', 'backbone', 'model/categoryItem/categoryI
|
||||
model:Category,
|
||||
|
||||
url: function() {
|
||||
var u = myManifest.Settings.DefaultURL + "/api/categoryitems/search/" + this.numItems +
|
||||
var u = myManifest.Settings.DefaultURL + "/api/ricette/search/" + this.numItems +
|
||||
"/" + this.dataFilter.categoryId +
|
||||
"/" + this.dataFilter.difficolta;
|
||||
if(this.dataFilter.titolo !== null)
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
define(['app', 'jquery', 'underscore', 'backbone', 'model/lastRicette/lastRicetteModel'],
|
||||
function (app, $, _, Backbone, LastRicette){
|
||||
|
||||
var lastRicette=Backbone.Collection.extend({
|
||||
|
||||
profileID: null,
|
||||
initialize: function (options) {
|
||||
this.profileID = options.profileID;
|
||||
},
|
||||
// Book is the model of the collection
|
||||
model:LastRicette,
|
||||
|
||||
url: function() {
|
||||
return myManifest.Settings.DefaultURL + "/api/ricette/lastinserted/" + this.profileID;
|
||||
}
|
||||
});
|
||||
|
||||
return lastRicette;
|
||||
});
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
define(['jquery', 'underscore', 'backbone'],
|
||||
function($, _, Backbone) {
|
||||
|
||||
var LastRicette = Backbone.Model.extend({
|
||||
//default attributes
|
||||
defaults: {
|
||||
ricetta_id: "",
|
||||
titolo: '',
|
||||
autore: '',
|
||||
valutazione: 0,
|
||||
difficolta: 0,
|
||||
categoria_name: ''
|
||||
}
|
||||
});
|
||||
|
||||
return LastRicette;
|
||||
});
|
||||
|
||||
@@ -2,13 +2,11 @@ define(['jquery', 'underscore', 'backbone','text!modules/category/categoryViewTe
|
||||
function($, _, Backbone, categoryViewTemplate, categoryItemTemplate, BaseView) {
|
||||
|
||||
var CategoryView = BaseView.extend({
|
||||
|
||||
collection: null,
|
||||
categoryName: null,
|
||||
//initialize template
|
||||
template: _.template(categoryViewTemplate),
|
||||
itemtemplate: _.template(categoryItemTemplate),
|
||||
|
||||
initialize: function(options) {
|
||||
var self = this;
|
||||
CategoryView.__super__.initialize.call(this);
|
||||
@@ -21,7 +19,6 @@ function($, _, Backbone, categoryViewTemplate, categoryItemTemplate, BaseView){
|
||||
//success: function(){ self.renderItem(); }
|
||||
});
|
||||
},
|
||||
|
||||
renderItem: function() {
|
||||
var $ul = $('#allRicette');
|
||||
|
||||
@@ -34,7 +31,6 @@ function($, _, Backbone, categoryViewTemplate, categoryItemTemplate, BaseView){
|
||||
$.mobile.loading('hide');
|
||||
//$( '[data-alpha="true"]' ).alphascroll();
|
||||
},
|
||||
|
||||
//render the content into div of view
|
||||
render: function() {
|
||||
//this.header.title = "pippo";
|
||||
|
||||
@@ -1,498 +0,0 @@
|
||||
define(['jquery', 'underscore', 'backbone',
|
||||
'text!modules/converter/converterViewTemplate.html',
|
||||
'modules/base/baseView'],
|
||||
function($, _, Backbone, converterViewTemplate, BaseView){
|
||||
|
||||
var ConverterView = BaseView.extend({
|
||||
|
||||
collection: null,
|
||||
//initialize template
|
||||
template:_.template(converterViewTemplate),
|
||||
|
||||
initialize: function (options) {
|
||||
var self = this;
|
||||
ConverterView.__super__.initialize.call(this);
|
||||
//this.header.title = "pippo";
|
||||
},
|
||||
|
||||
events: {
|
||||
"click #calculate": "performCalcBtn",
|
||||
"change #typeLvStart": "typeLvStartChanged"
|
||||
},
|
||||
|
||||
performCalcBtn: function (e) {
|
||||
e.preventDefault();
|
||||
//this.calculateConvert();
|
||||
this.$el.find("#inputForm").submit();
|
||||
},
|
||||
|
||||
typeLvStartChanged: function(e){
|
||||
e.preventDefault();
|
||||
|
||||
if(this.$el.find("#typeLvStart").val() == "ldbf" ||
|
||||
this.$el.find("#typeLvStart").val() == "ldbs"){
|
||||
}
|
||||
else{
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
calculateConvert: function(){
|
||||
var ret ="";
|
||||
if(this.$el.find("#typeLvStart").val() == "ldbf" ||
|
||||
this.$el.find("#typeLvStart").val() == "ldbs"){
|
||||
this.$el.find("#qtaLvlAlt").val(this.impostaPmConsigliata());
|
||||
ret += this.convertiLDB();
|
||||
}
|
||||
else{
|
||||
this.$el.find("#qtaLvlAlt").val(this.impostaPmConsigliata());
|
||||
ret += this.convertiPM();
|
||||
}
|
||||
|
||||
this.$el.find('#result')[0].innerHTML = ret.replace(/<br>/g, "<br><br>");
|
||||
|
||||
this.$el.find('#popupConvertResult').popup("open");
|
||||
},
|
||||
|
||||
convertiPM: function(){
|
||||
|
||||
// dichiaro e inizializzo la variabile che conterrà il risultato dell'elaborazione
|
||||
var risultato = "";
|
||||
|
||||
// imposto come fissa al 50% l'idratazione della PM solida
|
||||
var VidratazionePmSolida = 50;
|
||||
|
||||
// ottengo i valori scelti dall'utente
|
||||
var vTipoPmPartenza = this.$el.find("#typeLvStart").val();
|
||||
var vTipoPmFinale = "";
|
||||
var vIdratazionePmFinale = 0;
|
||||
var vIdratazionePmPartenza = 50; //parseInt(this.$el.find("#qtaLiquidi").val());
|
||||
if(this.$el.find("#typeLvStart").val() == "lic100" )
|
||||
vIdratazionePmPartenza = 100;
|
||||
else if(this.$el.find("#typeLvStart").val() == "lic130" )
|
||||
vIdratazionePmPartenza = 130;
|
||||
|
||||
var vQuantitaPmPartenza = parseInt(this.$el.find("#qtaLvStart").val());
|
||||
var vQuantitaFarinaPartenza = parseInt(this.$el.find("#qtaFarina").val());
|
||||
var vQuantitaAcquaPartenza = parseInt(this.$el.find("#qtaLiquidi").val());
|
||||
var vQuantitaPmFinale = parseInt(this.$el.find("#qtaLvlAlt").val());
|
||||
|
||||
// Imposto di il tipo di PM finale in funzione di quello scelto come partenza
|
||||
// e visualizzo o nascondo di conseguenza la select per l'idratazione
|
||||
switch (this.$el.find("#typeLvDest").val()){
|
||||
case "pm":
|
||||
vTipoPmFinale = "SOLIDA";
|
||||
vIdratazionePmFinale = 50;
|
||||
break;
|
||||
case "lic100":
|
||||
vTipoPmFinale = "LIQUIDA";
|
||||
vIdratazionePmFinale = 100;
|
||||
break;
|
||||
case "lic130":
|
||||
vTipoPmFinale = "LIQUIDA";
|
||||
vIdratazionePmFinale = 130;
|
||||
break;
|
||||
default:
|
||||
vTipoPmFinale = "";
|
||||
}
|
||||
|
||||
// elaborazione per PM finale SOLIDA
|
||||
if (vTipoPmFinale == "SOLIDA") {
|
||||
|
||||
// quanta acqua c'è nella PM liquida di partenza?
|
||||
var qAcquaPmPartenza = (vQuantitaPmPartenza / (100 + vIdratazionePmPartenza)) * vIdratazionePmPartenza;
|
||||
qAcquaPmPartenza = qAcquaPmPartenza.toFixed(0);
|
||||
|
||||
// quanta farina c'è nella PM liquida di partenza?
|
||||
var qFarinaPmPartenza = vQuantitaPmPartenza - qAcquaPmPartenza;
|
||||
|
||||
// quanta acqua c'è nella PM finale?
|
||||
var qAcquaPmFinale = (vQuantitaPmFinale / (100 + VidratazionePmSolida)) * VidratazionePmSolida
|
||||
qAcquaPmFinale = qAcquaPmFinale.toFixed(0);
|
||||
|
||||
// quanta farina c'è nella PM finale?
|
||||
var qFarinaPmFinale = vQuantitaPmFinale - qAcquaPmFinale;
|
||||
|
||||
// come devo modificare l'acqua prevista dalla ricetta originale?
|
||||
// devo aggiungere/togliere la differenza tra l'acqua della PM di partenza e quella finale
|
||||
// quindi calcolo tale differenza...
|
||||
var deltaAcquaPM = qAcquaPmPartenza - qAcquaPmFinale;
|
||||
|
||||
// ...e la aggiungo/tolgo all'acqua dell'impasto della ricetta originale
|
||||
var qAcquaImpastoFinale = vQuantitaAcquaPartenza;
|
||||
|
||||
// se il delta acqua è negativo lo tolgo
|
||||
// altrimenti lo aggiungo
|
||||
if (deltaAcquaPM < 0) {
|
||||
qAcquaImpastoFinale -= deltaAcquaPM;
|
||||
}
|
||||
else {
|
||||
qAcquaImpastoFinale += deltaAcquaPM;
|
||||
}
|
||||
|
||||
// come devo modificare la farina prevista dalla ricetta originale?
|
||||
// devo aggiungere/togliere la differenza tra la farina della PM di partenza e quella finale
|
||||
// quindi calcolo tale differenza...
|
||||
var deltaFarinaPM = qFarinaPmPartenza - qFarinaPmFinale;
|
||||
|
||||
// ...e la aggiungo/tolgo alla farina dell'impasto della ricetta originale
|
||||
var qFarinaImpastoFinale = vQuantitaFarinaPartenza;
|
||||
|
||||
// se il delta farina è negativo lo aggiungo
|
||||
// altrimenti lo tolgo
|
||||
if (deltaFarinaPM < 0) {
|
||||
qFarinaImpastoFinale += deltaFarinaPM;
|
||||
}
|
||||
else {
|
||||
qFarinaImpastoFinale -= deltaFarinaPM;
|
||||
}
|
||||
|
||||
risultato += "PM solida gr " + vQuantitaPmFinale.toString();
|
||||
risultato += "<br>";
|
||||
risultato += "Farina gr " + qFarinaImpastoFinale.toString();
|
||||
risultato += "<br>";
|
||||
risultato += "Acqua gr " + qAcquaImpastoFinale.toString();
|
||||
|
||||
|
||||
}
|
||||
|
||||
// elaborazione per PM finale LIQUIDA
|
||||
if (vTipoPmFinale == "LIQUIDA"){
|
||||
|
||||
// CASO PM LIQUIDA FINALE AL 100%
|
||||
|
||||
// quanta acqua c'è nella PM solida iniziale?
|
||||
var qAcquaPmPartenza = (vQuantitaPmPartenza / (100 + VidratazionePmSolida)) * VidratazionePmSolida
|
||||
qAcquaPmPartenza = qAcquaPmPartenza.toFixed(0);
|
||||
|
||||
// quanta farina c'è nella PM solida iniziale?
|
||||
var qFarinaPmPartenza = vQuantitaPmPartenza - qAcquaPmPartenza;
|
||||
|
||||
// quanta acqua c'è nella PM finale?
|
||||
var qAcquaPmFinale = (vQuantitaPmFinale / (100 + 100)) * 100;
|
||||
qAcquaPmFinale = qAcquaPmFinale.toFixed(0);
|
||||
|
||||
// quanta farina c'è nella PM finale?
|
||||
var qFarinaPmFinale = vQuantitaPmFinale - qAcquaPmFinale;
|
||||
|
||||
// come devo modificare l'acqua prevista dalla ricetta originale?
|
||||
// devo aggiungere/togliere la differenza tra l'acqua della PM di partenza e quella finale
|
||||
// quindi calcolo tale differenza...
|
||||
var deltaAcquaPM = qAcquaPmPartenza - qAcquaPmFinale;
|
||||
|
||||
// ...e la aggiungo/tolgo all'acqua dell'impasto della ricetta originale
|
||||
var qAcquaImpastoFinale = vQuantitaAcquaPartenza;
|
||||
|
||||
// se il delta acqua è negativo lo aggiungo
|
||||
// altrimenti lo tolgo
|
||||
if (deltaAcquaPM < 0){
|
||||
qAcquaImpastoFinale += deltaAcquaPM;
|
||||
}
|
||||
else{
|
||||
qAcquaImpastoFinale -= deltaAcquaPM;
|
||||
}
|
||||
|
||||
// come devo modificare la farina prevista dalla ricetta originale?
|
||||
// devo aggiungere/togliere la differenza tra la farina della PM di partenza e quella finale
|
||||
// quindi calcolo tale differenza...
|
||||
var deltaFarinaPM = qFarinaPmPartenza - qFarinaPmFinale;
|
||||
|
||||
// ...e la aggiungo/tolgo alla farina dell'impasto della ricetta originale
|
||||
var qFarinaImpastoFinale = vQuantitaFarinaPartenza;
|
||||
|
||||
// se il delta farina è negativo lo aggiungo
|
||||
// altrimenti lo tolgo
|
||||
if (deltaFarinaPM < 0){
|
||||
qFarinaImpastoFinale -= deltaFarinaPM;
|
||||
}
|
||||
else{
|
||||
qFarinaImpastoFinale += deltaFarinaPM;
|
||||
}
|
||||
|
||||
if(vIdratazionePmFinale == 100) {
|
||||
risultato += "PM liquida 100% gr " + vQuantitaPmFinale.toString();
|
||||
risultato += "<br>";
|
||||
risultato += "Farina gr " + qFarinaImpastoFinale.toString();
|
||||
risultato += "<br>";
|
||||
risultato += "Acqua gr " + qAcquaImpastoFinale.toString();
|
||||
}
|
||||
else {
|
||||
|
||||
// CASO PM LIQUIDA FINALE AL 130%
|
||||
|
||||
// quanta acqua c'è nella PM solida iniziale?
|
||||
var qAcquaPmPartenza = (vQuantitaPmPartenza / (100 + VidratazionePmSolida)) * VidratazionePmSolida
|
||||
qAcquaPmPartenza = qAcquaPmPartenza.toFixed(0);
|
||||
|
||||
// quanta farina c'è nella PM solida iniziale?
|
||||
var qFarinaPmPartenza = vQuantitaPmPartenza - qAcquaPmPartenza;
|
||||
|
||||
// quanta acqua c'è nella PM finale?
|
||||
var qAcquaPmFinale = (vQuantitaPmFinale / (100 + 130)) * 130;
|
||||
qAcquaPmFinale = qAcquaPmFinale.toFixed(0);
|
||||
|
||||
// quanta farina c'è nella PM finale?
|
||||
var qFarinaPmFinale = vQuantitaPmFinale - qAcquaPmFinale;
|
||||
|
||||
// come devo modificare l'acqua prevista dalla ricetta originale?
|
||||
// devo aggiungere/togliere la differenza tra l'acqua della PM di partenza e quella finale
|
||||
// quindi calcolo tale differenza...
|
||||
var deltaAcquaPM = qAcquaPmPartenza - qAcquaPmFinale;
|
||||
|
||||
// ...e la aggiungo/tolgo all'acqua dell'impasto della ricetta originale
|
||||
var qAcquaImpastoFinale = vQuantitaAcquaPartenza;
|
||||
|
||||
// se il delta acqua è negativo lo aggiungo
|
||||
// altrimenti lo tolgo
|
||||
if (deltaAcquaPM < 0) {
|
||||
qAcquaImpastoFinale += deltaAcquaPM;
|
||||
}
|
||||
else {
|
||||
qAcquaImpastoFinale -= deltaAcquaPM;
|
||||
}
|
||||
|
||||
// come devo modificare la farina prevista dalla ricetta originale?
|
||||
// devo aggiungere/togliere la differenza tra la farina della PM di partenza e quella finale
|
||||
// quindi calcolo tale differenza...
|
||||
var deltaFarinaPM = qFarinaPmPartenza - qFarinaPmFinale;
|
||||
|
||||
// ...e la aggiungo/tolgo alla farina dell'impasto della ricetta originale
|
||||
var qFarinaImpastoFinale = vQuantitaFarinaPartenza;
|
||||
|
||||
// se il delta farina è negativo lo aggiungo
|
||||
// altrimenti lo tolgo
|
||||
if (deltaFarinaPM < 0) {
|
||||
qFarinaImpastoFinale -= deltaFarinaPM;
|
||||
}
|
||||
else {
|
||||
qFarinaImpastoFinale += deltaFarinaPM;
|
||||
}
|
||||
|
||||
risultato += "PM liquida 130% gr " + vQuantitaPmFinale.toString();
|
||||
risultato += "<br>";
|
||||
risultato += "Farina gr " + qFarinaImpastoFinale.toString();
|
||||
risultato += "<br>";
|
||||
risultato += "Acqua gr " + qAcquaImpastoFinale.toString();
|
||||
}
|
||||
}
|
||||
|
||||
return risultato;
|
||||
},
|
||||
|
||||
convertiLDB: function(){
|
||||
// dichiaro e inizializzo la variabile che conterrà il risultato dell'elaborazione
|
||||
var risultato = "";
|
||||
|
||||
// dichiaro e inizializzo la variabile che conterrà la quantità di farina da usare
|
||||
var vQuantitaFarinaDaUsare = 0;
|
||||
|
||||
// dichiaro e inizializzo la variabile che conterrà la quantità di acqua da usare
|
||||
var vQuantitaAcquaDaUsare = 0;
|
||||
|
||||
// dichiaro e inizializzo la variabile per la quantità di farina presente nella PM da usare
|
||||
var qFarinaPmDaUsare = 0;
|
||||
|
||||
// dichiaro e inizializzo la variabile per la quantità di acqua presente nella PM da usare
|
||||
var qAcquaPmDaUsare = 0;
|
||||
|
||||
// ricavo la quantità di LDB della ricetta originale
|
||||
var vQuantitaLdbPartenza = parseInt(this.$el.find("#qtaLvStart").val());
|
||||
|
||||
// ricavo l'idratazione della PM da usare
|
||||
var vIdratazionePmFinale = 50;
|
||||
if(this.$el.find("#typeLvDest").val() == "lic100" )
|
||||
vIdratazionePmFinale = 100;
|
||||
else if(this.$el.find("#typeLvDest").val() == "lic130" )
|
||||
vIdratazionePmFinale = 130;
|
||||
|
||||
// ricavo la quantità di farina della ricetta originale
|
||||
var vQuantitaFarinaPartenza = parseInt(this.$el.find("#qtaFarina").val());
|
||||
|
||||
// ricavo la quantità di acqua della ricetta originale
|
||||
var vQuantitaAcquaPartenza = parseInt(this.$el.find("#qtaLiquidi").val());
|
||||
|
||||
// ricavo la quantità di PM da usare
|
||||
var vQuantitaPmDaUsare = parseInt(this.$el.find("#qtaLvlAlt").val());
|
||||
|
||||
// quanta acqua c'è nella PM da usare?
|
||||
var qAcquaPmDaUsare = (vQuantitaPmDaUsare / (100 + vIdratazionePmFinale)) * vIdratazionePmFinale;
|
||||
qAcquaPmDaUsare = qAcquaPmDaUsare.toFixed(0);
|
||||
|
||||
// ricavo la quantità di farina presente nella PM da usare
|
||||
qFarinaPmDaUsare = vQuantitaPmDaUsare - qAcquaPmDaUsare;
|
||||
|
||||
// diminuisco la farina della ricetta originale di una quantità pari a quella presente nella PM da usare
|
||||
vQuantitaFarinaDaUsare = vQuantitaFarinaPartenza - qFarinaPmDaUsare;
|
||||
|
||||
// diminuisco l'acqua della ricetta originale di una quantità pari a quella presente nella PM da usare
|
||||
vQuantitaAcquaDaUsare = vQuantitaAcquaPartenza - qAcquaPmDaUsare;
|
||||
|
||||
// costruisco la stringa del risultato
|
||||
risultato += "PM gr " + vQuantitaPmDaUsare.toString();
|
||||
risultato += "<br>";
|
||||
risultato += "Farina gr " + vQuantitaFarinaDaUsare.toString();
|
||||
risultato += "<br>";
|
||||
risultato += "Acqua gr " + vQuantitaAcquaDaUsare.toString();
|
||||
|
||||
|
||||
return risultato;
|
||||
},
|
||||
|
||||
impostaPmConsigliata: function(){
|
||||
|
||||
var dummy = "";
|
||||
|
||||
|
||||
// dichiaro e inizializzo la variabile per la quantità consigliata di pasta madre
|
||||
var vQuantitaPmConsigliata = 0;
|
||||
|
||||
if(this.$el.find("#typeLvStart").val() == "pm")
|
||||
{
|
||||
vQuantitaPmConsigliata = ((parseInt(this.$el.find("#qtaLvStart").val()) / 3) * 2);
|
||||
}
|
||||
else if(this.$el.find("#typeLvStart").val() == "lic100" ||
|
||||
this.$el.find("#typeLvStart").val() == "lic130")
|
||||
{
|
||||
vQuantitaPmConsigliata = ((parseInt(this.$el.find("#qtaLvStart").val()) / 2) * 3);
|
||||
}
|
||||
else {
|
||||
// dichiaro e inizializzo la variabile per la quantità di lievito di birra
|
||||
var vQuantitaLdbPartenza = 0;
|
||||
|
||||
// dichiaro e inizializzo la variabile per il tipo di lievito di birra
|
||||
var vTipoLdbPartenza = "";
|
||||
|
||||
// dichiaro e inizializzo la variabile per la quantità consigliata di pasta madre massima ammessa
|
||||
var vQuantitaPmConsigliataMax = 0;
|
||||
|
||||
// imposto il rapporto percentuale di default PM solida/Farina... ma è solo orientativo
|
||||
var rapportoPmSolidaFarina = 25;
|
||||
|
||||
// imposto il rapporto percentuale di default PM liquida 100%/Farina... ma è solo orientativo
|
||||
var rapportoPm100Farina = 16.5;
|
||||
|
||||
// imposto il rapporto percentuale di default PM liquida 100%/Farina... ma è solo orientativo
|
||||
var rapportoPm130Farina = 16.5;
|
||||
|
||||
// ricavo la quantità di farina della ricetta originale
|
||||
var vQuantitaFarinaPartenza = parseInt(this.$el.find('#qtaFarina').val());
|
||||
|
||||
// ricavo l'idratazione della PM da usare
|
||||
var vIdratazionePmFinale = 0;
|
||||
|
||||
switch (this.$el.find("#typeLvDest").val()) {
|
||||
case "pm":
|
||||
vTipoPmFinale = "SOLIDA";
|
||||
vIdratazionePmFinale = 50;
|
||||
break;
|
||||
case "lic100":
|
||||
vTipoPmFinale = "LIQUIDA";
|
||||
vIdratazionePmFinale = 100;
|
||||
break;
|
||||
case "lic130":
|
||||
vTipoPmFinale = "LIQUIDA";
|
||||
vIdratazionePmFinale = 130;
|
||||
break;
|
||||
default:
|
||||
vTipoPmFinale = "";
|
||||
}
|
||||
// altrimenti faccio il rapporto partendo dalla quantità del lievito di birra
|
||||
|
||||
// ricavo la quantità di lievito di birra
|
||||
vQuantitaLdbPartenza = parseInt(this.$el.find('#qtaLvStart').val());
|
||||
|
||||
// ricavo il tipo di lievito di birra
|
||||
vTipoLdbPartenza = this.$el.find("#typeLvStart").val();
|
||||
|
||||
if (!isNaN(vQuantitaLdbPartenza)) {
|
||||
if (vQuantitaLdbPartenza > 0) {
|
||||
if (vTipoLdbPartenza == "ldbs") {
|
||||
// 6 ldb = 240 PM
|
||||
vQuantitaPmConsigliata = (240 / 6) * vQuantitaLdbPartenza;
|
||||
}
|
||||
else {
|
||||
// 15 ldb = 240 PM
|
||||
vQuantitaPmConsigliata = (240 / 15) * vQuantitaLdbPartenza;
|
||||
}
|
||||
|
||||
// SE IL RISULTATO OTTENUTO E' IRRAGIONEVOLE LO CORREGGO
|
||||
switch (this.$el.find('#typeLvDest').val()) {
|
||||
case "pm":
|
||||
vQuantitaPmConsigliataMax = (vQuantitaFarinaPartenza / 100) * rapportoPmSolidaFarina;
|
||||
break;
|
||||
case "lic100":
|
||||
vQuantitaPmConsigliataMax = (vQuantitaFarinaPartenza / 100) * rapportoPm100Farina;
|
||||
break;
|
||||
case "lic130":
|
||||
vQuantitaPmConsigliataMax = (vQuantitaFarinaPartenza / 100) * rapportoPm130Farina;
|
||||
break;
|
||||
default:
|
||||
vQuantitaPmConsigliataMax = 0;
|
||||
}
|
||||
if (vQuantitaPmConsigliata > vQuantitaPmConsigliataMax) {
|
||||
vQuantitaPmConsigliata = vQuantitaPmConsigliataMax;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
vQuantitaPmConsigliata = 0;
|
||||
alert("Impossibile calcolare\nAccertati di aver scritto bene la quantita'\ndi lievito di birra nella ricetta originale.");
|
||||
}
|
||||
}
|
||||
else {
|
||||
vQuantitaPmConsigliata = 0;
|
||||
alert("Impossibile calcolare\nAccertati di aver scritto bene la quantita'\ndi lievito di birra nella ricetta originale.");
|
||||
}
|
||||
}
|
||||
return vQuantitaPmConsigliata;
|
||||
|
||||
},
|
||||
|
||||
//render the content into div of view
|
||||
render: function(){
|
||||
//this.header.title = "pippo";
|
||||
ConverterView.__super__.render.call(this);
|
||||
//this.el is the root element of Backbone.View. By default, it is a div.
|
||||
//$el is cached jQuery object for the view's element.
|
||||
//append the compiled template into view div container
|
||||
var self = this;
|
||||
this.$el.append(this.header.$el);
|
||||
this.$el.append(this.template({ deviceWidth: myManifest.Settings.Device.Width }));
|
||||
this.$el.append(this.footer.$el);
|
||||
|
||||
//this.$el.find("#popupConvertResult").css("max-width", myManifest.Settings.Device.Width + "px" );
|
||||
|
||||
jQuery.validator.addMethod("cRequired", $.validator.methods.required,
|
||||
"Il campo è richiesto, si prega di completarlo");
|
||||
|
||||
jQuery.validator.addMethod("requireIf", function(value, element, params) {
|
||||
if(self.$el.find('#typeLvStart').val() != "ldbf" &&
|
||||
self.$el.find('#typeLvStart').val() != "ldbs")
|
||||
{
|
||||
return value!="";
|
||||
}
|
||||
return true;
|
||||
}, jQuery.validator.format("Il campo è richiesto, si prega di completarlo"));
|
||||
|
||||
jQuery.validator.addClassRules("cRequireIf", {
|
||||
requireIf: true
|
||||
});
|
||||
|
||||
jQuery.validator.addClassRules("cRequired", {
|
||||
cRequired: true
|
||||
});
|
||||
|
||||
this.$el.find("#inputForm").validate({
|
||||
submitHandler: function() {
|
||||
self.calculateConvert();
|
||||
}
|
||||
});
|
||||
this.$el.find("#moreBtn").addClass("ui-btn-active");
|
||||
//$("#homeBtn").addClass("ui-btn-active");
|
||||
//return to enable chained calls
|
||||
return this;
|
||||
}
|
||||
});
|
||||
return ConverterView;
|
||||
});
|
||||
@@ -1,57 +0,0 @@
|
||||
<div data-role="content">
|
||||
<h1>Convertitore</h1>
|
||||
<form id="inputForm">
|
||||
<label for="typeLvStart">Tipo lievito della ricetta originale:</label>
|
||||
<select name="typeLvStart" id="typeLvStart" data-theme="a" class="cRequired">
|
||||
<option value="">Selezionare il tipo di lievito</option>
|
||||
<option value="ldbf">Lievito di Birra Fresco</option>
|
||||
<option value="ldbs">Lievito di Birra Secco</option>
|
||||
<option value="pm">PM Solida</option>
|
||||
<option value="lic100">PM Liquida 100% (Li.Co.Li.)</option>
|
||||
<option value="lic130">PM Liquida 130% (Li.Co.Li.)</option>
|
||||
</select>
|
||||
<br>
|
||||
<label for="qtaLvStart">Lievito nella ricetta originale:</label>
|
||||
<input type="number" data-clear-btn="false" name="qtaLvStart" id="qtaLvStart" value="" placeholder="Specificare quantità in grammi" data-theme="a" class="cRequired">
|
||||
<br>
|
||||
<label for="typeLvDest">Tipo lievito che si vuole utilizzare:</label>
|
||||
<select name="typeLvDest" id="typeLvDest" data-theme="a" class="cRequired">
|
||||
<option value="">Selezionare il tipo di lievito</option>
|
||||
<option value="pm">PM Solida</option>
|
||||
<option value="lic100">PM Liquida 100% (Li.Co.Li.)</option>
|
||||
<option value="lic130">PM Liquida 130% (Li.Co.Li.)</option>
|
||||
</select>
|
||||
<br>
|
||||
<label for="qtaFarina">Farina per l'impasto nella ricetta originale:</label>
|
||||
<input type="number" data-clear-btn="false" name="qtaFarina" id="qtaFarina" value="" placeholder="Specificare quantità in grammi" data-theme="a" class="cRequired">
|
||||
<br>
|
||||
<label for="qtaLiquidi">Liquidi (acqua, latte...) per l'impasto nella ricetta originale:</label>
|
||||
<input type="number" data-clear-btn="false" name="qtaLiquidi" id="qtaLiquidi" value="" placeholder="Specificare quantità in grammi" data-theme="a" class="cRequired">
|
||||
<br>
|
||||
<!-- <label for="qtaLvlAlt">Lievito alternativo rispetto alla ricetta originale che intendi usare:</label>-->
|
||||
<input type="hidden" data-clear-btn="false" name="qtaLvlAlt" id="qtaLvlAlt" value="" placeholder="Specificare quantità in grammi" data-theme="a" disabled="disabled">
|
||||
<br>
|
||||
<button type="submit" id="calculate" class="ui-shadow ui-btn ui-corner-all" data-theme="a">Calcola</button>
|
||||
</form>
|
||||
<div data-role="popup" id="popupConvertResult" data-dismissible="false" style="width: 300px;max-width: <%= deviceWidth%>px">
|
||||
<div data-role="header">
|
||||
<h1>Conversione</h1>
|
||||
</div>
|
||||
<div role="main" class="ui-content">
|
||||
<h3 class="ui-title" id="result" style="text-align: center;"></h3>
|
||||
<p style="text-align: center;font-style: italic;"><br><br>IMPORTANTE<br><br>
|
||||
La quantità consigliata è da ritenersi
|
||||
<br>
|
||||
assolutamente indicativa in quanto la scelta
|
||||
<br>
|
||||
dovrebbe essere fatta sulla base
|
||||
<br>
|
||||
dell'esperienza, del particolare impasto
|
||||
<br>
|
||||
e delle condizioni ambientali di temperatura
|
||||
<br>
|
||||
e umidità</p>
|
||||
<a href="" class="ui-btn ui-corner-all ui-shadow ui-btn-b ui-icon-check" data-rel="back">Ok</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,5 +1,7 @@
|
||||
define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
|
||||
function($, _, Backbone, homeViewTemplate, BaseView, Profile){
|
||||
define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.html',
|
||||
'modules/base/baseView', 'classes/profile', 'classes/utility', 'model/lastRicette/lastRicetteCollection', 'modules/lastricette/lastRicette'],
|
||||
function($, _, Backbone, homeViewTemplate,
|
||||
BaseView, Profile, Utility, LastRicetteCollection, LastRicette ){
|
||||
|
||||
var HomeView = BaseView.extend({
|
||||
|
||||
@@ -12,7 +14,8 @@ define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.h
|
||||
},
|
||||
|
||||
events: {
|
||||
"click #goFbGroup": "goFbGroup"
|
||||
"click #goFbGroup": "goFbGroup",
|
||||
"click #notifyBtn": "onNotifyBtn"
|
||||
},
|
||||
|
||||
goFbGroup: function(){
|
||||
@@ -20,6 +23,14 @@ define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.h
|
||||
window.location.href = "https://www.facebook.com/groups/732844273469518/";
|
||||
},
|
||||
|
||||
onNotifyBtn:function(){
|
||||
var lastricette = new LastRicetteCollection();
|
||||
// will render home view and navigate to homeView
|
||||
var lastRicetteView=new LastRicette({ collection: lastricette});
|
||||
//indexView.render();
|
||||
lastRicetteView.bind('renderCompleted:Categories',Utility.changePage,this);
|
||||
},
|
||||
|
||||
onShowed: function()
|
||||
{
|
||||
if(window.localStorage.getItem("goFbGroup") !== "1")
|
||||
@@ -38,6 +49,13 @@ define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.h
|
||||
this.$el.append(this.footer.$el);
|
||||
this.$el.find("#homeBtn").addClass("ui-btn-active");
|
||||
|
||||
var lastNumRicette = Profile.getLastNumRicette();
|
||||
//if( lastNumRicette > 0)
|
||||
{
|
||||
this.$el.find('#notifyBtn').closest('.ui-btn').show();
|
||||
this.$el.find('#notifyBtn').addClass("notification");
|
||||
this.$el.find('.circle').text(12);
|
||||
}
|
||||
//$("#homeBtn").addClass("ui-btn-active");
|
||||
//return to enable chained calls
|
||||
return this;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</div>
|
||||
<div data-role="popup" id="nuovoGruppo" data-history="false" data-dismissible="false">
|
||||
<div data-role="header"><h1>IMPORTANTE</h1></div>
|
||||
<div role="main" class="ui-content">
|
||||
<div role="main" class="ui-content">
|
||||
<p style="text-align: center;font-style: italic;">
|
||||
<img src="https://dl.dropboxusercontent.com/s/xnbrbbe7eejkfv2/festa.png"><br><br>
|
||||
Le admin <br><br><b>Alessia, Elena e Francesca</b><br><br>hanno RIFONDATO IL GRUPPO!!<br>
|
||||
|
||||
@@ -2,15 +2,12 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
|
||||
function($, _, Backbone, itemViewTemplate, BaseView, Profile) {
|
||||
|
||||
var ItemView = BaseView.extend({
|
||||
|
||||
collRicetta: null,
|
||||
collIngredienti: null,
|
||||
|
||||
fetchedRicetta: false,
|
||||
fetchedIngredienti: false,
|
||||
//initialize template
|
||||
template: _.template(itemViewTemplate),
|
||||
|
||||
initialize: function(options) {
|
||||
var self = this;
|
||||
ItemView.__super__.initialize.call(this);
|
||||
@@ -26,17 +23,87 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
|
||||
self.render();
|
||||
}});
|
||||
},
|
||||
|
||||
events: {
|
||||
"click #favoriteBtn": "favBtn",
|
||||
"click #backBtn": "backBtn"
|
||||
"click #optionBtn": "optionBtn",
|
||||
"click #backBtn": "backBtn",
|
||||
"click #scattaPhotoBtn": "scattaPhotoBtn",
|
||||
"change #cameraFile": "cameraFileChanged",
|
||||
"click #uploadPhotoBtn": "uploadPhotoBtn",
|
||||
"change #galleyFile": "galleyFileChanged"
|
||||
},
|
||||
|
||||
backBtn: function(e) {
|
||||
e.preventDefault();
|
||||
window.history.back();
|
||||
},
|
||||
optionBtn: function(e) {
|
||||
e.preventDefault();
|
||||
var self = this;
|
||||
self.$el.find('#optionPopupDialog').popup("open");
|
||||
},
|
||||
scattaPhotoBtn: function(e) {
|
||||
e.preventDefault();
|
||||
var self = this;
|
||||
|
||||
if (!Profile.isConnected())
|
||||
{
|
||||
self.$el.find('#popupDialog').popup("open");
|
||||
return;
|
||||
}
|
||||
|
||||
$("#cameraFile").click();
|
||||
},
|
||||
uploadPhotoBtn: function(e) {
|
||||
e.preventDefault();
|
||||
var self = this;
|
||||
|
||||
if (!Profile.isConnected())
|
||||
{
|
||||
self.$el.find('#popupDialog').popup("open");
|
||||
return;
|
||||
}
|
||||
|
||||
$("#galleyFile").click();
|
||||
},
|
||||
loadPhoto: function(objInputFile){
|
||||
var self = this;
|
||||
self.$el.find('#optionPopupDialog').popup("close");
|
||||
$.mobile.loading( "show", {
|
||||
text: "Caricamento immagine in corso...",
|
||||
textVisible: true,
|
||||
theme: "a",
|
||||
textonly: false
|
||||
});
|
||||
|
||||
var ric = this.collRicetta.toJSON()[0];
|
||||
|
||||
var data = new FormData();
|
||||
data.append("ricetta_id", ric.ricetta_id);
|
||||
data.append("image", objInputFile[0].files[0]);
|
||||
data.append("keyStore", Profile.getKeySave());
|
||||
|
||||
$.ajax({
|
||||
url: myManifest.Settings.DefaultURL + "/api/photos",
|
||||
cache: false,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
type: 'POST',
|
||||
data: data,
|
||||
success: function(msg) {
|
||||
$.mobile.loading( "hide" );
|
||||
alert("Immagine inviata con successo\n\nSarà cura degl'admin di validare la foto inviata");
|
||||
objInputFile.val("");
|
||||
}
|
||||
});
|
||||
},
|
||||
galleyFileChanged: function(e) {
|
||||
e.preventDefault();
|
||||
this.loadPhoto($("#galleyFile"));
|
||||
},
|
||||
cameraFileChanged: function(e) {
|
||||
e.preventDefault();
|
||||
this.loadPhoto($("#cameraFile"));
|
||||
},
|
||||
favBtn: function(e) {
|
||||
e.preventDefault();
|
||||
var self = this;
|
||||
@@ -92,6 +159,9 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
|
||||
var index = jQuery.inArray(this, self.$arrayContent);
|
||||
self.goToContent(index - 1 );
|
||||
});
|
||||
// self.$arrayContent.on("tap", function(e) {
|
||||
// self.optionBtn(e);
|
||||
// });
|
||||
self.trigger("renderCompleted:Item", self);
|
||||
}
|
||||
);
|
||||
@@ -106,7 +176,6 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
|
||||
return this;
|
||||
}
|
||||
},
|
||||
|
||||
goToContent: function(newIndex)
|
||||
{
|
||||
if(this.$arrayContent.length > newIndex && newIndex >= 0)
|
||||
@@ -115,7 +184,6 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
|
||||
this.switchContent();
|
||||
}
|
||||
},
|
||||
|
||||
switchContent: function() {
|
||||
this.$arrayContent.hide();
|
||||
this.$arrayNavBar.removeClass('ui-btn-active');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div data-role="header" data-position="fixed" data-tap-toggle="false">
|
||||
<a id="favoriteBtn" href="" data-role="button" class="ui-btn-left" data-icon="custom" style="font-size: x-small;">Agg. al Blocco</a>
|
||||
<a id="optionBtn" href="" class="ui-btn ui-icon-withoutCorner ui-btn-icon-notext"></a>
|
||||
<h3 id='titoloRicetta'><%= unescape(ricetta.titolo)%></h3>
|
||||
<a id="backBtn" href="" data-role="button" class="ui-btn-right" data-icon="custom">Indietro</a>
|
||||
<a id="backBtn" href="" class="ui-btn ui-icon-withoutCorner ui-btn-icon-notext">Indietro</a>
|
||||
</div>
|
||||
<div id="contentIngredienti" data-role="content">
|
||||
<h1>Ingredienti</h1>
|
||||
@@ -46,6 +46,18 @@
|
||||
<h1 id="linkFonte" style="padding: 0px;"><a target="_blank" href="<%= ricetta.link_fonte%>">Link Fonte</a></h1>
|
||||
<% }%>
|
||||
</div>
|
||||
<div data-role="popup" id="optionPopupDialog">
|
||||
<div data-role="header">
|
||||
<h1>Opzioni</h1>
|
||||
</div>
|
||||
<div role="main" class="ui-content">
|
||||
<a id="favoriteBtn" href="" class="ui-btn ui-icon-withoutCorner ui-btn-icon-left">Agg. al Blocco</a>
|
||||
<a id="scattaPhotoBtn" href="" class="ui-btn ui-icon-withoutCorner ui-btn-icon-left">Scatta Foto</a>
|
||||
<a id="uploadPhotoBtn" href="" class="ui-btn ui-icon-withoutCorner ui-btn-icon-left">Carica Foto</a>
|
||||
<input id="cameraFile" type="file" accept="image/*" capture style="position:absolute; top:-100px; visibility: hidden;">
|
||||
<input id="galleyFile" type="file" accept="image/*" style="position:absolute; top:-100px; visibility: hidden;">
|
||||
</div>
|
||||
</div>
|
||||
<div data-role="popup" id="popupDialog">
|
||||
<div data-role="header">
|
||||
<h1>Informazione</h1>
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
define(['jquery', 'underscore', 'backbone', 'text!modules/lastRicette/lastRicetteViewTemplate.html',
|
||||
'text!modules/lastRicette/lastRicetteItemTemplate.html', 'modules/base/baseView'],
|
||||
function($, _, Backbone, lastRicetteViewTemplate, lastRicetteItemTemplate, BaseView) {
|
||||
|
||||
var LastRicetteView = BaseView.extend({
|
||||
collection: null,
|
||||
//initialize template
|
||||
template: _.template(lastRicetteViewTemplate),
|
||||
itemtemplate: _.template(lastRicetteItemTemplate),
|
||||
initialize: function(options) {
|
||||
var self = this;
|
||||
LastRicetteView.__super__.initialize.call(this);
|
||||
this.collection = options.collection;
|
||||
this.collection.fetch({
|
||||
success: function(data, textStatus, jqXHR) {
|
||||
self.renderItem();
|
||||
}
|
||||
//success: function(){ self.renderItem(); }
|
||||
});
|
||||
},
|
||||
renderItem: function() {
|
||||
var $ul = $('#allRicette');
|
||||
|
||||
var items = this.itemtemplate({data: this.collection.toJSON()});
|
||||
|
||||
$ul.html(items);
|
||||
$ul.listview("refresh");
|
||||
$ul.trigger("updatelayout");
|
||||
|
||||
$.mobile.loading('hide');
|
||||
//$( '[data-alpha="true"]' ).alphascroll();
|
||||
},
|
||||
//render the content into div of view
|
||||
render: function() {
|
||||
//this.header.title = "pippo";
|
||||
LastRicetteView.__super__.render.call(this);
|
||||
//this.el is the root element of Backbone.View. By default, it is a div.
|
||||
//$el is cached jQuery object for the view's element.
|
||||
//append the compiled template into view div container
|
||||
this.$el.append(this.header.$el);
|
||||
this.$el.append(this.template());
|
||||
this.$el.append(this.footer.$el);
|
||||
//return to enable chained calls
|
||||
//this.$el.find("#indexBtn").addClass("ui-btn-active");
|
||||
return this;
|
||||
}
|
||||
});
|
||||
return LastRicetteView;
|
||||
});
|
||||
@@ -0,0 +1,6 @@
|
||||
<% if(data.length == 0){ %>
|
||||
<h1>Nessuna ricetta trovata</h1>
|
||||
<%} else { for (var i = 0; i < data.length; i++) { %>
|
||||
<% var item = data[i]; %>
|
||||
<li><a href="#ricetta/<%= item.ricetta_id%>" class="ui-btn ui-btn-icon-right ui-icon-carat-r"><div class='ricettaTitolo'><%= unescape(item.titolo) %></div><div class='ricettaAutore'><%= unescape(item.autore) %></div></a></li>
|
||||
<% }} %>
|
||||
@@ -0,0 +1,5 @@
|
||||
<div id="lastRicetteListContent" data-role="content">
|
||||
<h1>Ultime Ricette Inserite</h1>
|
||||
<ul id="allRicette" data-role="listview" data-autodividers="true" data-alpha="true" data-inset="true">
|
||||
</ul>
|
||||
</div>
|
||||
@@ -1,17 +1,17 @@
|
||||
define(['jquery', 'underscore', 'backbone',
|
||||
'modules/home/home','modules/faq/faq','modules/index/index', 'modules/category/category', 'modules/item/item',
|
||||
'modules/about/about', 'modules/search/search', 'modules/search/found', 'modules/more/more', 'modules/note/note',
|
||||
'modules/sync/sync', 'modules/converter/converter', 'modules/donation/donation', 'modules/settings/settings',
|
||||
'modules/sync/sync', 'modules/donation/donation','modules/settings/settings',
|
||||
'model/note/noteCollection', 'model/category/categoryCollection','model/categoryItem/categoryItemCollection',
|
||||
'model/item/itemCollection','model/item/ingredientiCollection','model/categoryItem/foundItemCollection',
|
||||
'libs/fastclick', 'jqm', 'jQueryPlugins'],
|
||||
'classes/utility', 'jqm', 'jQueryPlugins'],
|
||||
function($, _, Backbone,
|
||||
HomeView, FaqView, IndexView, CategoryView, ItemView,
|
||||
AboutView, SearchView, FoundView, MoreView, NoteView,
|
||||
SyncView, ConverterView, DonationView, SettingsView,
|
||||
SyncView, DonationView, SettingsView,
|
||||
NoteCollection, CategoryCollection, CategoryItemCollection,
|
||||
ItemCollection, IngredientiCollection, FoundItemCollection,
|
||||
FastClick) {
|
||||
Utility) {
|
||||
|
||||
'use strict';
|
||||
var Router = Backbone.Router.extend({
|
||||
@@ -34,31 +34,37 @@ define(['jquery', 'underscore', 'backbone',
|
||||
'moreView': 'showMore',
|
||||
'*actions': 'defaultAction' //default action
|
||||
},
|
||||
|
||||
defaultAction: function(actions){
|
||||
this.showHome(actions);
|
||||
},
|
||||
|
||||
showHome:function(actions){
|
||||
// will render home view and navigate to homeView
|
||||
var homeView=new HomeView();
|
||||
homeView.render();
|
||||
this.changePage(homeView);
|
||||
},
|
||||
|
||||
showSettings:function(actions){
|
||||
var settingsView=new SettingsView();
|
||||
settingsView.render();
|
||||
this.changePage(settingsView);
|
||||
},
|
||||
|
||||
showDonation:function(actions){
|
||||
var donationView=new DonationView();
|
||||
donationView.render();
|
||||
this.changePage(donationView);
|
||||
},
|
||||
|
||||
showAbout:function(actions){
|
||||
// will render home view and navigate to homeView
|
||||
var aboutView=new AboutView();
|
||||
aboutView.render();
|
||||
this.changePage(aboutView);
|
||||
},
|
||||
|
||||
showSync:function(actions){
|
||||
var option = {};
|
||||
if(actions)
|
||||
@@ -70,6 +76,7 @@ define(['jquery', 'underscore', 'backbone',
|
||||
syncView.render();
|
||||
this.changePage(syncView);
|
||||
},
|
||||
|
||||
showNote:function(actions){
|
||||
var notes = new NoteCollection();
|
||||
// will render home view and navigate to homeView
|
||||
@@ -77,12 +84,14 @@ define(['jquery', 'underscore', 'backbone',
|
||||
noteView.render();
|
||||
this.changePage(noteView);
|
||||
},
|
||||
|
||||
showFaq:function(actions){
|
||||
// will render home view and navigate to homeView
|
||||
var faqView=new FaqView();
|
||||
faqView.render();
|
||||
this.changePage(faqView);
|
||||
},
|
||||
|
||||
showIndex:function(actions){
|
||||
var categories = new CategoryCollection();
|
||||
// will render home view and navigate to homeView
|
||||
@@ -90,6 +99,7 @@ define(['jquery', 'underscore', 'backbone',
|
||||
//indexView.render();
|
||||
indexView.bind('renderCompleted:Categories',this.changePage,this);
|
||||
},
|
||||
|
||||
showCategory: function(categoryName, categoryId){
|
||||
var categories = new CategoryItemCollection({ categoryId: categoryId });
|
||||
// will render home view and navigate to homeView
|
||||
@@ -106,6 +116,7 @@ define(['jquery', 'underscore', 'backbone',
|
||||
});
|
||||
//categoryView.bind('renderCompleted:Category',this.changePage,this);
|
||||
},
|
||||
|
||||
showItem: function(itemId){
|
||||
var item = new ItemCollection({ ricettaId: itemId });
|
||||
var ingr = new IngredientiCollection({ ricettaId: itemId });
|
||||
@@ -117,16 +128,13 @@ define(['jquery', 'underscore', 'backbone',
|
||||
//indexView.render();
|
||||
itemView.bind('renderCompleted:Item',this.changePage,this);
|
||||
},
|
||||
showConverter: function () {
|
||||
var converterView = new ConverterView();
|
||||
converterView.render();
|
||||
this.changePage(converterView);
|
||||
},
|
||||
|
||||
showMore: function(){
|
||||
var moreView = new MoreView();
|
||||
moreView.render();
|
||||
this.changePage(moreView);
|
||||
},
|
||||
|
||||
showSearch: function(){
|
||||
var categories = new CategoryCollection();
|
||||
// will render home view and navigate to homeView
|
||||
@@ -134,6 +142,7 @@ define(['jquery', 'underscore', 'backbone',
|
||||
//indexView.render();
|
||||
searchView.bind('renderCompleted:Search',this.changePage,this);
|
||||
},
|
||||
|
||||
searchFn: function(nresult, categoria, difficolta, titolo){
|
||||
|
||||
//console.log("Search by Titolo: " + titolo + ", Categoria: " + categoria + ", Difficoltà: " + difficolta);
|
||||
@@ -150,46 +159,16 @@ define(['jquery', 'underscore', 'backbone',
|
||||
html: ""
|
||||
});
|
||||
},
|
||||
|
||||
init:true,
|
||||
|
||||
//1. changePage will insert view into DOM and then call changePage to enhance and transition
|
||||
//2. for the first page, jQuery mobile will present and enhance automatically
|
||||
//3. for the other page, we will call $.mobile.changePage() to enhance page and make transition
|
||||
//4. argument 'view' is passed from event trigger
|
||||
changePage:function (view) {
|
||||
|
||||
//append to dom
|
||||
$('body').append(view.$el);
|
||||
|
||||
$.mobile.pageContainer.pagecontainer("change", $(view.el), {changeHash: false});
|
||||
|
||||
FastClick.attach(document.body);
|
||||
|
||||
$(":jqmData(role='page'):last").on("pageshow", function (event) {
|
||||
if (view.onShowed !== null)
|
||||
view.onShowed();
|
||||
});
|
||||
|
||||
$('input[type=radio].star').rating({
|
||||
callback: function (value, link) {
|
||||
var tip = $('#hover-test');
|
||||
if (value == undefined)
|
||||
{
|
||||
$('#hover-test').html("Nessuna" || 'value: ');
|
||||
}
|
||||
else
|
||||
$('#hover-test').html(link.title || 'value: ' + value);
|
||||
},
|
||||
focus: function (value, link) {
|
||||
var tip = $('#hover-test');
|
||||
tip[0].data = tip[0].data || tip.html();
|
||||
tip.html(link.title || 'value: ' + value);
|
||||
}
|
||||
// ,
|
||||
// blur: function(value, link){
|
||||
// var tip = $('#hover-test');
|
||||
// $('#hover-test').html(tip[0].data || '');
|
||||
// }
|
||||
});
|
||||
Utility.changePage(view);
|
||||
|
||||
if(!this.init){
|
||||
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
browser=Chrome.INTEGRATED
|
||||
external.project.url=
|
||||
server=INTERNAL
|
||||
|
||||
@@ -2,6 +2,18 @@
|
||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||
<group/>
|
||||
<group>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/manifest.js</file>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/config.js</file>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/modules/lastricette/lastRicetteViewTemplate.html</file>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/router.js</file>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/app.js</file>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/classes/profile.js</file>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/jqm-config.js</file>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/modules/lastricette/lastRicette.js</file>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/main.js</file>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/modules/home/home.js</file>
|
||||
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/modules/lastricette/lastRicetteItemTemplate.html</file>
|
||||
</group>
|
||||
</open-files>
|
||||
</project-private>
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
|
||||
<system systemId="http://www.sitemaps.org/schemas/sitemap/0.9" uri="www.sitemaps.org/schemas/sitemap/0.9/index"/>
|
||||
</catalog>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><head><title>www.sitemaps.org - /schemas/sitemap/0.9/</title></head><body><H1>www.sitemaps.org - /schemas/sitemap/0.9/</H1><hr>
|
||||
|
||||
<pre><A HREF="/schemas/sitemap/">[To Parent Directory]</A><br><br> 2/1/2013 8:18 PM 2591 <A HREF="/schemas/sitemap/0.9/siteindex.xsd">siteindex.xsd</A><br> 2/1/2013 8:19 PM 4451 <A HREF="/schemas/sitemap/0.9/sitemap.xsd">sitemap.xsd</A><br></pre><hr></body></html>
|
||||
@@ -1,3 +1,17 @@
|
||||
file.reference.IlLievitario-WebClient_210=.
|
||||
auxiliary.org-netbeans-modules-css-prep.less_2e_compiler_2e_options=
|
||||
auxiliary.org-netbeans-modules-css-prep.less_2e_enabled=false
|
||||
auxiliary.org-netbeans-modules-css-prep.less_2e_mappings=/less:/css
|
||||
auxiliary.org-netbeans-modules-css-prep.sass_2e_compiler_2e_options=
|
||||
auxiliary.org-netbeans-modules-css-prep.sass_2e_enabled=false
|
||||
auxiliary.org-netbeans-modules-css-prep.sass_2e_mappings=/scss:/css
|
||||
auxiliary.org-netbeans-modules-javascript2-requirejs.enabled=true
|
||||
auxiliary.org-netbeans-modules-web-clientproject-api.js_2e_libs_2e_folder=app-build_prod/libs
|
||||
browser.autorefresh.SL[/Browsers/webviewBrowser=true
|
||||
browser.highlightselection.SL[/Browsers/webviewBrowser=true
|
||||
config.folder=
|
||||
file.reference.IlLievitario-WebClient=.
|
||||
files.encoding=UTF-8
|
||||
site.root.folder=${file.reference.IlLievitario-WebClient_210}
|
||||
site.root.folder=${file.reference.IlLievitario-WebClient}
|
||||
start.file=index.php
|
||||
test.folder=
|
||||
web.context.root=/WebClient
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<type>org.netbeans.modules.web.clientproject</type>
|
||||
<configuration>
|
||||
<data xmlns="http://www.netbeans.org/ns/clientside-project/1">
|
||||
<name>WebClient_Manut</name>
|
||||
<name>Il Lievitario</name>
|
||||
</data>
|
||||
</configuration>
|
||||
</project>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @license r.js 2.1.14 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
|
||||
* @license r.js 2.1.15 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
|
||||
* Available via the MIT or new BSD license.
|
||||
* see: http://github.com/jrburke/requirejs for details
|
||||
*/
|
||||
@@ -20,7 +20,7 @@ var requirejs, require, define, xpcUtil;
|
||||
(function (console, args, readFileFunc) {
|
||||
var fileName, env, fs, vm, path, exec, rhinoContext, dir, nodeRequire,
|
||||
nodeDefine, exists, reqMain, loadedOptimizedLib, existsForNode, Cc, Ci,
|
||||
version = '2.1.14',
|
||||
version = '2.1.15',
|
||||
jsSuffixRegExp = /\.js$/,
|
||||
commandOption = '',
|
||||
useLibLoaded = {},
|
||||
@@ -238,7 +238,7 @@ var requirejs, require, define, xpcUtil;
|
||||
}
|
||||
|
||||
/** vim: et:ts=4:sw=4:sts=4
|
||||
* @license RequireJS 2.1.14 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
|
||||
* @license RequireJS 2.1.15 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
|
||||
* Available via the MIT or new BSD license.
|
||||
* see: http://github.com/jrburke/requirejs for details
|
||||
*/
|
||||
@@ -251,7 +251,7 @@ var requirejs, require, define, xpcUtil;
|
||||
(function (global) {
|
||||
var req, s, head, baseElement, dataMain, src,
|
||||
interactiveScript, currentlyAddingScript, mainScript, subPath,
|
||||
version = '2.1.14',
|
||||
version = '2.1.15',
|
||||
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
|
||||
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
|
||||
jsSuffixRegExp = /\.js$/,
|
||||
@@ -22949,7 +22949,7 @@ define('parse', ['./esprimaAdapter', 'lang'], function (esprima, lang) {
|
||||
//Like traverse, but skips if branches that would not be processed
|
||||
//after has application that results in tests of true or false boolean
|
||||
//literal values.
|
||||
var key, child, result, i, params, param,
|
||||
var key, child, result, i, params, param, tempObject,
|
||||
hasHas = options && options.has;
|
||||
|
||||
fnExpScope = fnExpScope || emptyScope;
|
||||
@@ -22979,14 +22979,14 @@ define('parse', ['./esprimaAdapter', 'lang'], function (esprima, lang) {
|
||||
|
||||
//Build up a "scope" object that informs nested recurse calls if
|
||||
//the define call references an identifier that is likely a UMD
|
||||
//wrapped function expresion argument.
|
||||
//wrapped function expression argument.
|
||||
if (object.type === 'ExpressionStatement' && object.expression &&
|
||||
object.expression.type === 'CallExpression' && object.expression.callee &&
|
||||
object.expression.callee.type === 'FunctionExpression') {
|
||||
object = object.expression.callee;
|
||||
tempObject = object.expression.callee;
|
||||
|
||||
if (object.params && object.params.length) {
|
||||
params = object.params;
|
||||
if (tempObject.params && tempObject.params.length) {
|
||||
params = tempObject.params;
|
||||
fnExpScope = mixin({}, fnExpScope, true);
|
||||
for (i = 0; i < params.length; i++) {
|
||||
param = params[i];
|
||||
@@ -23014,12 +23014,12 @@ define('parse', ['./esprimaAdapter', 'lang'], function (esprima, lang) {
|
||||
//wrapping.
|
||||
if (typeof result === 'string') {
|
||||
if (hasProp(fnExpScope, result)) {
|
||||
//Just a plain return, parsing can continue past this
|
||||
//point.
|
||||
return;
|
||||
//result still in scope, keep jumping out indicating the
|
||||
//identifier still in use.
|
||||
return result;
|
||||
}
|
||||
|
||||
return result;
|
||||
return;
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -26539,7 +26539,8 @@ define('build', function (require) {
|
||||
"excludeShallow": true,
|
||||
"insertRequire": true,
|
||||
"stubModules": true,
|
||||
"deps": true
|
||||
"deps": true,
|
||||
"mainConfigFile": true
|
||||
};
|
||||
|
||||
for (i = 0; i < ary.length; i++) {
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**
|
||||
* XML Sitemap PHP Script
|
||||
* For more info, see: http://yoast.com/xml-sitemap-php-script/
|
||||
* Copyright (C), 2011 - 2012 - Joost de Valk, joost@yoast.com
|
||||
*/
|
||||
// inclusione del file contenente la classe
|
||||
require_once "./Service/MySqlClass.php";
|
||||
require_once "./Service/utility.php";
|
||||
|
||||
// Get the keys so we can check quickly
|
||||
|
||||
// Sent the correct header so browsers display properly, with or without XSL.
|
||||
header( 'Content-Type: application/xml' );
|
||||
echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
|
||||
$url = "http://app.gruppolapastamadre.it/";
|
||||
$blog_timezone = 'UTC';
|
||||
$timezone_offset = '+01:00';
|
||||
$W3C_datetime_format_php = 'Y-m-d\Th:i:s'; // See http://www.w3.org/TR/NOTE-datetime
|
||||
|
||||
|
||||
function dinamicSite() {
|
||||
global $url, $blog_timezone, $timezone_offset, $W3C_datetime_format_php;
|
||||
$mysqlconnetion = new MysqlClass;
|
||||
//$mysqlconneti on->connetti();
|
||||
$retObj = $mysqlconnetion->queryToObject("select ID as category_id, NAME as name from categorie order by name");
|
||||
|
||||
foreach ($retObj as $key => $value)
|
||||
{
|
||||
$catStr = "#category/". $value["name"] ."/" . $value["category_id"];
|
||||
$lastModified = $mysqlconnetion->queryToObject("select MAX(Data_creazione) as lastModified from ricette where ID_CATEGORIA = ". $value["category_id"]);
|
||||
|
||||
$date = DateTime::createFromFormat('Y-m-d H:i:s', $lastModified[0]["lastModified"], new DateTimeZone("Europe/Rome"));
|
||||
|
||||
$lastDate = date_format($date, $W3C_datetime_format_php) . $timezone_offset;
|
||||
?>
|
||||
<url>
|
||||
<loc><?php echo $url . $catStr; ?></loc>
|
||||
<lastmod><?php echo $lastDate; ?></lastmod>
|
||||
</url><?php
|
||||
|
||||
$query = "select ID as ricetta_id, titolo from ricette where ID_CATEGORIA = " . $value["category_id"] . " order by titolo, autore";
|
||||
$ricItems = $mysqlconnetion->queryToObject($query);
|
||||
|
||||
foreach ($ricItems as $keyRic => $valueRic)
|
||||
{
|
||||
$itemStr= "#ricetta/" . $valueRic["ricetta_id"];
|
||||
?>
|
||||
<url>
|
||||
<loc><?php echo $url . $itemStr; ?></loc>
|
||||
</url><?php
|
||||
}
|
||||
}
|
||||
|
||||
$mysqlconnetion->disconnetti();
|
||||
}
|
||||
|
||||
?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><?php
|
||||
dinamicSite();
|
||||
?>
|
||||
|
||||
</urlset>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>http://app.gruppolapastamadre.it/</loc>
|
||||
<lastmod>2014-04-09</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>http://app.gruppolapastamadre.it/</loc>
|
||||
<lastmod>2014-04-09</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
</urlset>
|
||||