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$ /WebClient_Manut/js/libs/$1.js [L]
|
||||
RewriteRule ^js/(.*)\.[0-9]+\.js$ /WebClient_Manut/js/$1.js [L]
|
||||
RewriteRule ^css/(.*)\.[0-9]+\.css$ /WebClient_Manut/css/$1.css [L]
|
||||
RewriteRule ^Resources/img/(.*)\.[0-9]+\.png$ /WebClient_Manut/Resources/img/$1.png [L]
|
||||
RewriteRule ^Resources/img/(.*)\.[0-9]+\.gif$ /WebClient_Manut/Resources/img/$1.gif [L]
|
||||
RewriteRule ^Resources/icons/(.*)\.[0-9]+\.png$ /WebClient_Manut/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 |
@@ -1,6 +1,4 @@
|
||||
call uglifyjs .\js\libs\hello.min.js .\js\libs\ua-parser.min.js -o .\js\common.min.js
|
||||
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 --s0 --skip-rebase -o .\css\style.min.css .\css\style.css
|
||||
pause
|
||||
call cleancss -o .\css\style.min.css .\css\style.css
|
||||
|
Before Width: | Height: | Size: 2.8 KiB |
@@ -3,6 +3,23 @@
|
||||
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; }
|
||||
|
||||
@@ -12,10 +29,42 @@
|
||||
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 +76,22 @@
|
||||
#saveBtn:after { background: url("https://dl.dropboxusercontent.com/s/dsqkblkv9zgqyab/save.png") 50% 50% no-repeat; background-size: 22px 22px;
|
||||
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;}
|
||||
|
||||
.loginfb:before {
|
||||
.loginfb {
|
||||
content: url('https://dl.dropboxusercontent.com/s/vsc19gan0ihjptr/fblogin.png');
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.logoutfb:before {
|
||||
.logoutfb {
|
||||
content: url('https://dl.dropboxusercontent.com/s/sdbe56vqxeqevph/fblogout.png');
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.logingplus:before {
|
||||
.logingplus {
|
||||
content: url('https://dl.dropboxusercontent.com/s/k43w3cfzowlynhk/gpluslogin.png');
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.logoutgplus:before {
|
||||
.logoutgplus {
|
||||
content: url('https://dl.dropboxusercontent.com/s/nnprsunm8zg31en/gpluslogout.png');
|
||||
width: 200px;
|
||||
}
|
||||
@@ -118,15 +167,6 @@ div.ricettaAutore{
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
|
||||
.selectable {
|
||||
-webkit-user-select: auto;
|
||||
-moz-user-select: auto;
|
||||
-ms-user-select: auto;
|
||||
-o-user-select: auto;
|
||||
user-select: auto;
|
||||
-webkit-touch-callout: auto;
|
||||
}
|
||||
|
||||
textarea {
|
||||
-webkit-user-select: auto !important;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -1,9 +1,9 @@
|
||||
/* jQuery.Rating Plugin CSS - http://www.fyneworks.com/jquery/star-rating/ */
|
||||
div.rating-cancel,div.star-rating{float:left;width:16px;height:16px;text-indent:-999em;cursor:pointer;display:block;background:transparent;overflow:hidden}
|
||||
div.rating-cancel,div.rating-cancel a{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgCAYAAAAbifjMAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAABAZJREFUSEuVlGtIHFcUx++6YaPGB2ow3WqiCa2apmo0tkrQSExqrCVak7gVs6SPL6FQUGPB9RH8YkFBKPigii8oguL7rbvia0VQ/BBajCFQKCQxJsXo2mzdjbs7p/87O6luNt0kf/hx7sz9nzN3Zu497FXNz8/76fX65OXl5ZtLS0u3gWZxcfHG7Oxs5MzMzAHJ9nqNjY0dhEkHswHszs3NCYgConl6evox5n6SrM6ampqKBvcBuWJycrJpYGDAW0rbk06n6wcCDNzkChP4WkqzC4kZWq2W3paJiQkDOComd3V1KUZHR/V4f+JgTCMjIw7we+Pj4zxR9Ei+PLHA4ODgkaGhodXh4WHirKyskMViEdnd3SWTyUQ7OztkNBoJH1T0cJBTVV5e7sZ6e3uV/f399/BhiLO6ukr7ZbPZxGK8CP+IL319fX3VWL2coZInBgs9PT3EwYoIRQn3HOju7hbn93FLfAWujo6OvM7OTnoXUOBDKV2UrL29fQEIgN6AGThvqNbW1pS2trZNQG9A29TU5C+l/SdZQUGBR0NDg7q5ufkOilleTWxpadnC3FB9fX1Udna2XMqzi/8O4FlaWhpSUVGRVVVVVVtXV3e3sbFxE0XXampqdJWVlfnwxGk0mgBEp0Mlw00F8C8rKwtHTEFUFRcXq0EOxuklJSWxIKiwsPAQ5t2kvD3hl8vwu+T8VfhTsJqjiCeKiopCkRAIfAB/iHPyflFurp/w7ffJQt6PN623NLet+UUa6w95N17kfhNJyc5Ld5CQlnZQyPxKR1m5BuHq9V3hmlqwXVULGJttmTmPbRmq/+8HQmpWtC39yn364hq5wpZ2pUk4m+HcD2wXL/cLn2UKlPoluQIek3DhsmM/EM5dzKDkz+ltsSWlGYSkVHs/oI+yFZb483pr/AUS+eQ8WWOSyXpago9jwdlUsiZesns4cSn2fvD84/gj/0QnrppOnyOOubqWzDi6O+gDRkTD9jZtPHtGT54+JaPqO9FjJ6mKGHNjxohYpTHi03vGkwnEefHzL/ZGIMlqtYpNZRtFnmdcFz2cvyMSqrsYtvSa8oznVmjMguF4LHG2IxMRz9BWUJQDhmAQGiN6RN/xmL1+sHH4VN5G4Cl6F/46fNKxH6z7hC2se4UJT7zCyBXwmNd9P3DeUA/ZsZRHspDNNVkIueKR7Jj2AQt27gfBjHlo3d5T/86Ud/5k71sesCB6yUPwB1Nu/caUQ4MsMAp+x34A8RPm6e7uHpKg8MpSyb1qf2W+d/XMf3OS+a3Vy3x1KjeP/HB2IA6+AODcD4DCh/n4eyu8w+VyeQquVUANcnCdjhgLgsAh8NojzYvwpXl4M+8Ad+bOt+oJEAoCgQ9QgH3JjP0LiOu08eQI5iQAAAAASUVORK5CYII=') no-repeat 0 -16px}
|
||||
div.star-rating,div.star-rating a{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAwCAYAAAAYX/pXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAaFSURBVEhLjZZrTFNnGMd7O6cXbrYsgoRvxo9GxC1Zsg98IEaMMSFmzTRsMidpshCMSJlfltR7QTMTXUDocFxkqdsQBCog4CjScqflUsUlBnVLVC4G2UUQ7Hv2f05beqgY9yaPPefw/v/v+zzv8/6iDEOem5ubVFJScqy2tnYEsWi326crKiounj17dmdDQ8MOm82WcuDAgQ8wV0khCIIsFDKTyaS7cuXKtcHBwdednZ3M6XSy0dFR4c6dO29cLteC1+ud6+vrm7l06ZLDarUWw/xcdnb2J7SwaJCfn7/t7t27syRyOBxsbGxMIJOhoSFhYmJiNfDND0OGhfx1dXUzKSkpaaJBWVnZnoGBgeXx8XGBxDS5sbHRLxVTuN1u5vF4BCwmLnLo0KES0aC6unofXFloIhndvHlzjQF9a2trE8iAdkfvR44cqRQNSktLd8FgSSqg1aTvra2trKWlRfw2PDwsdHV1sbS0tP2iQWFh4Ra4PqUaSEXSoHrQqvSMXfiLioquJycna0UDi8Wiq6ysvI1Kr66Kyq/ZgTQ6OjomzWbzZhKLBjhG7gIGTsBPWxsZGRGam5vFQlHOocKi0AyLzKMnDhqNxtVeoKHMy8sz37hxgyFXoaenh+GYWHd3N0N9GITiN6S5WFVVdYb6JiReNcDEglCOoUAaVEw6EXb58mWGZuvPyclJlopFA2yHRy9US8XSIOPe3l4hNTX1Sywmdt8ag6ysrGRs/xFtlQJHKkSeCO5JP8SqSLFokJ6evhVdNXvixAlG26V2bmpqYlRIyp3M0O6F64kpZHSeiYmJBdjJ/fr6+hU6czoJ2kl7ezvD7WQo3N71xBSBf1DI7du3J2VkZKAkRvupU6em0BtLqPocbqAtMzMzPlIYChryQq02qUmjOebi+RE3zy/2c9x0u1p9sSYqauc4x+1w6HQpx6Kj38GDTZt0t9Tqa//I5a//UKnYM6WSvcHG/lQq38wqFAvLMtncS7l8pk6jcVRHRRX3cdy5o3p9mAdWnW7bjEIxuyKXC7/DgMTPYfIv3sUMgwFj/wuFgmEhv5fjZj5OTAzwoJXn9/wtly/7MYnENNnHcX6pmILESzCdhjnNNev1AR44eX4fXFloIkMg7zUG9G1KpRJew4B2R+8nY2MDPGhWq3dhB0tSAa0mfX+I1ChIuAiTZ/h7RkJCgAfFMTFbnisUT0PbXy9eQURiekYa/hqtNsyDcplMhzRuv5SsuixJKTKeKBST52NjwzyAAfeTVnvhgUrlf4r8qFCT2C4Vip7pl4RIky3I5fNtGs3BXyS9QEN5Oi7OPMpxlKeAs2cePE/j16HRsL8UCvEb0lzsUqvPWNA3IbFoYITBLY2mILRSKFYQKCYdKavXahmarf8bg+FtHlhkMt7B89VSsTSoePMw+ighYX0e5MEV5/4IOVKeAnpCXF1q0qjRvJsHuzdu3Jqv18+WRUezeygetTMVEUVlc8idjtcaF/d+HuTq9fcnOG6F7gA1C+3mMU4Ft5Md37Dhf/AgPj7pU4PBeNhgsF/V6aZQ8aVunp+r0mptX8TEvIcHueBBGXhgBw/s4MGv4MGP4EEReNAAHtjAA1OYB6IqNEwm8MAGHnjBAyd44AIP7oEH3eDBAHjgAw+GwYPvwYNi8OBn8CA7wAPRwHocPOgFD3zgQRt4APFzN3gwihN7gF0G45kbPBgAD7zgQQN48GFimmjQWgEeeMGDSfDgfmCy7xaus0RMQeKlCfCgFzzAPPNhfYlo4LSDB15cnuBEBqPx5rUG9G2qEzyAAe2O3k8eja0UDZpt4IEHPJAIXgziZkreH3aABwiG58Ux8MAFHqQl7BcNir8FD1zgAXKXiqTxCvWgVekZafhrzgd4IBqUW8CDWvBgOLzqsi+cUmQ8cYIH5tjNophGuQk8+A48aAMPesCDcfCgBTxAoeiZfkmINNnCMHhwFTwwru0F5emj4EEjeNABHvSBBw3gQS94YAMPPOBBP3jgBg9qwQP0TVAXGCIPfgAPgjmGYsUnHp3gc4AHJeCBDTzIMSQHZeFhsYAH5eCBRCwNKt78EHiQGuBBQCUZeVngQRN44MENRKAnhJWIE2ksDfAgoIgYu9PBg6/Ag9PggQM8QDtPtoIH+J1D7nS81oK4wuD0t8cqDz4HD5rAA5w5NQvt5vFv4MF18ODrDXuD09858P8D8CADPPgMPDgDHtSAB7XggRU8yIyJD86LGDLZfy7jet43Ah+lAAAAAElFTkSuQmCC') no-repeat 0 0px}
|
||||
div.rating-cancel a,div.star-rating a{display:block;width:16px;height:100%;background-position:0 0px;border:0}
|
||||
div.star-rating-on a{background-position:0 -16px!important}
|
||||
div.rating-cancel,div.star-rating{float:left;width:24px;height:24px;text-indent:-999em;cursor:pointer;display:block;background:transparent;overflow:hidden}
|
||||
div.rating-cancel,div.rating-cancel a{background:url(delete.png) no-repeat 0 -24px}
|
||||
div.star-rating,div.star-rating a{background:url(star.png) no-repeat 0 0px}
|
||||
div.rating-cancel a,div.star-rating a{display:block;width:24px;height:100%;background-position:0 0px;border:0}
|
||||
div.star-rating-on a{background-position:0 -24px!important}
|
||||
div.star-rating-hover a{background-position:0 -48px}
|
||||
/* Read Only CSS */
|
||||
div.star-rating-readonly a{cursor:default !important}
|
||||
|
||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.8 KiB |
@@ -1,5 +1,3 @@
|
||||
@import url("jquery.mobile.icons.min.css");
|
||||
@import url("IlLievitario.min.css");
|
||||
@import url("loadingStyle.css");
|
||||
@import url("base.style.css");
|
||||
@import url("mobile.style.css") screen;
|
||||
|
||||
@@ -1,35 +1,54 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Il Lievitario</title>
|
||||
<meta name="google" value="notranslate" />
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="Pragma" content="no-cache">
|
||||
<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://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.css" >
|
||||
<link rel="stylesheet" href="css/style.min.<?php echo filemtime('css/style.min.css'); ?>.css">
|
||||
<link rel="shortcut icon" sizes="196x196" href="https://dl.dropboxusercontent.com/s/l26w7lk0zwnpehf/Icon_Android196.png">
|
||||
<link rel="apple-touch-icon" href="https://dl.dropboxusercontent.com/s/9cc174ato4hckl5/Icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="https://dl.dropboxusercontent.com/s/onehseqh6cusbo0/Icon~ipad.png" />
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="https://dl.dropboxusercontent.com/s/tcxl91zd502mapa/Icon%402x.png" />
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="https://dl.dropboxusercontent.com/s/pj3fk1lgc4cefwx/Icon~ipad%402x.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui"/>
|
||||
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
|
||||
<script type='text/javascript' src="js/common.min.<?php echo filemtime('js/common.min.js'); ?>.js"></script>
|
||||
<script type='text/javascript'>
|
||||
<?php echo file_get_contents("js/manifest.js"); ?>
|
||||
</script>
|
||||
<script data-main="js/config.<?php echo filemtime('js/config.js'); ?>" src="js/libs/require.<?php echo filemtime('js/libs/require.js'); ?>.js"></script>
|
||||
</head>
|
||||
<body style="background-color: #1d1d1d;">
|
||||
<head>
|
||||
<title>Il Lievitario</title>
|
||||
<meta name="google" value="notranslate" />
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="Pragma" content="no-cache">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9">
|
||||
<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://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">
|
||||
<link rel="shortcut icon" sizes="196x196" href="https://dl.dropboxusercontent.com/s/l26w7lk0zwnpehf/Icon_Android196.png">
|
||||
<link rel="apple-touch-icon" href="https://dl.dropboxusercontent.com/s/9cc174ato4hckl5/Icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="https://dl.dropboxusercontent.com/s/onehseqh6cusbo0/Icon~ipad.png" />
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="https://dl.dropboxusercontent.com/s/tcxl91zd502mapa/Icon%402x.png" />
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="https://dl.dropboxusercontent.com/s/pj3fk1lgc4cefwx/Icon~ipad%402x.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui"/>
|
||||
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
|
||||
<script type='text/javascript' src="js/libs/ua-parser.min.<?php echo filemtime('js/libs/ua-parser.min.js'); ?>.js"></script>
|
||||
<script type='text/javascript' src="js/openfb.<?php echo filemtime('js/openfb.js'); ?>.js"></script>
|
||||
<script type='text/javascript' src="js/opengplus.<?php echo filemtime('js/opengplus.js'); ?>.js"></script>
|
||||
<script type='text/javascript'>
|
||||
if (openFB && window.location &&
|
||||
window.location.href.indexOf("access_token") != -1 &&
|
||||
window.localStorage.getItem("tryLogin") == "fb") {
|
||||
openFB.oauthCallback(window.location.href);
|
||||
window.location.href = "#syncView/tokenFound";
|
||||
}
|
||||
else if (openGPlus && window.location &&
|
||||
window.location.href.indexOf("access_token") != -1 &&
|
||||
window.localStorage.getItem("tryLogin") == "gplus") {
|
||||
openGPlus.oauthCallback(window.location.href);
|
||||
window.location.href = "#syncView/tokenFound";
|
||||
}
|
||||
<?php echo file_get_contents("js/manifest.js"); ?>
|
||||
</script>
|
||||
<!--<script type='text/javascript' src="js/manifest.<?php echo filemtime('js/manifest.js'); ?>.js"></script>-->
|
||||
<script data-main="js/config" src="js/libs/require.<?php echo filemtime('js/libs/require.js'); ?>.js"></script>
|
||||
</head>
|
||||
<body style="background-color: #1d1d1d;">
|
||||
<?php include_once("analyticstracking.php") ?>
|
||||
<div id="loadingFrm" style="text-align: center;">
|
||||
<div class="loadingSfondo">
|
||||
<div class="loadingText">
|
||||
<div style="color: #ffffff;"><b>Caricamento...</b></div>
|
||||
<div id="loadingFrm" style="text-align: center;">
|
||||
<img src="https://dl.dropboxusercontent.com/s/6qrdp9mbi1rb92k/sfondo.png" class="loadingSfondo">
|
||||
<div class="loadingText">
|
||||
<div style="color: #ffffff;"><b>Caricamento...</b></div>
|
||||
<img src="https://dl.dropboxusercontent.com/s/mw90t9oay2v9jev/loading.gif">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,78 +1,33 @@
|
||||
define(['jquery', 'underscore', 'backbone', 'router', 'classes/profile', 'classes/cache'], function
|
||||
($, _, Backbone, Router, Profile, Cache) {
|
||||
'use strict';
|
||||
var init = function () {
|
||||
//create backbone router
|
||||
var router = new Router();
|
||||
Backbone.history.start();
|
||||
Backbone.emulateJSON = true;
|
||||
define(['jquery','underscore', 'backbone', 'router', 'classes/profile'],
|
||||
function($, _, Backbone, Router, Profile) {
|
||||
|
||||
var Application={
|
||||
_retThis: function() {
|
||||
return this;
|
||||
},
|
||||
router: null,
|
||||
initialize:function(){
|
||||
//create backbone 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:'');
|
||||
openFB.init('1466942266882168', origin, window.localStorage);
|
||||
openGPlus.init('319140243944-qk0lfhgmi8shi4go97r83l69f1k0gdf4.apps.googleusercontent.com', origin, window.localStorage);
|
||||
//console.log("Backbone history start");
|
||||
// Trigger 'route' event on router instance.
|
||||
this.router.on('route', function(name, args) {
|
||||
//alert(name);
|
||||
});
|
||||
|
||||
hello.init({
|
||||
facebook: '1466942266882168',
|
||||
google: '319140243944-qk0lfhgmi8shi4go97r83l69f1k0gdf4.apps.googleusercontent.com'
|
||||
}, {display: 'page', scope: 'email'});
|
||||
|
||||
//console.log("Backbone history start");
|
||||
// Trigger 'route' event on router instance.
|
||||
router.on('route', function (name, args) {
|
||||
//alert(name);
|
||||
});
|
||||
|
||||
Cache.checkCacheFromServer();
|
||||
|
||||
if (Profile.isConnected()) {
|
||||
Profile.loadProfile();
|
||||
}
|
||||
|
||||
hello.on('auth.login', function (auth) {
|
||||
if (!Profile.isConnected())
|
||||
{
|
||||
hello(auth.network).api("me").then(function (json) {
|
||||
var id = "";
|
||||
var displayName = "";
|
||||
var email = "";
|
||||
var gender = "";
|
||||
|
||||
if (auth.network === "google")
|
||||
{
|
||||
id = json.id;
|
||||
displayName = json.displayName;
|
||||
email = json.email;
|
||||
gender = json.gender;
|
||||
}
|
||||
else if (auth.network === "facebook")
|
||||
{
|
||||
id = json.id;
|
||||
displayName = json.name;
|
||||
email = json.email;
|
||||
gender = json.gender;
|
||||
}
|
||||
Profile.internalLoadProfile(id, function(retVal){
|
||||
if(retVal === false)
|
||||
{
|
||||
Profile.createProfile(
|
||||
id,
|
||||
auth.network,
|
||||
displayName,
|
||||
email,
|
||||
gender,
|
||||
function () {
|
||||
window.location.href = "#syncView/tokenFound";
|
||||
}
|
||||
);
|
||||
}
|
||||
else
|
||||
window.location.href = "#syncView/tokenFound";
|
||||
});
|
||||
});
|
||||
if( Profile.isConnected()) {
|
||||
Profile.loadProfile();
|
||||
}
|
||||
});
|
||||
|
||||
$('body').css('background-color', '');
|
||||
$('#loadingFrm').remove();
|
||||
};
|
||||
|
||||
return {
|
||||
initialize: init
|
||||
};
|
||||
$('body').css('background-color', '');
|
||||
$('#loadingFrm').remove();
|
||||
}
|
||||
};
|
||||
|
||||
return Application._retThis();
|
||||
});
|
||||
@@ -1,66 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
define(['jquery', 'backbone'],
|
||||
function ($, Backbone) {
|
||||
|
||||
var Cache = {
|
||||
convertToDate: function (mysql_string)
|
||||
{
|
||||
if (typeof mysql_string === 'string')
|
||||
{
|
||||
var t = mysql_string.split(/[- :]/);
|
||||
|
||||
//when t[3], t[4] and t[5] are missing they defaults to zero
|
||||
return new Date(t[0], t[1] - 1, t[2], t[3] || 0, t[4] || 0, t[5] || 0);
|
||||
}
|
||||
|
||||
return null;
|
||||
},
|
||||
prefix: "cacheItem",
|
||||
get: function (name) {
|
||||
var item = window.localStorage.getItem(this.prefix + name);
|
||||
if(item === null)
|
||||
return null;
|
||||
item = JSON.parse(item);
|
||||
return item.storeValue;
|
||||
},
|
||||
set: function (name, value) {
|
||||
window.localStorage.setItem(this.prefix + name, JSON.stringify({setTime: new Date(), storeValue: value}));
|
||||
},
|
||||
isExpired: function (name, timeDiff) {
|
||||
var item = window.localStorage.getItem(this.prefix + name);
|
||||
if(item === null)
|
||||
return true;
|
||||
|
||||
item = JSON.parse(item);
|
||||
var time = item.setTime;
|
||||
if(timeDiff.getTime() > Date.parse(time))
|
||||
return true;
|
||||
return false;
|
||||
},
|
||||
checkCacheFromServer: function ()
|
||||
{
|
||||
var self = this;
|
||||
$.ajax({
|
||||
url: myManifest.Settings.DefaultURL + "/api/profile/statusCache",
|
||||
//dataType: "json",
|
||||
type: 'GET',
|
||||
success: function (msg) {
|
||||
$(msg).each(function (index, element) {
|
||||
var elemName = "Category" + element.ID_CATEGORIA;
|
||||
if (self.isExpired(elemName, self.convertToDate(element.LastDateModified)))
|
||||
{
|
||||
self.set(elemName, null);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
return Cache;
|
||||
});
|
||||
@@ -1,54 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
define(['jquery', 'underscore', 'backbone', 'classes/cache'],
|
||||
function ($, _, Backbone, Cache) {
|
||||
|
||||
var CachedCollection = Backbone.Collection.extend({
|
||||
cacheName: null,
|
||||
fetch: function (options) {
|
||||
options = _.defaults(options || {}, {parse: true});
|
||||
var deferred = new $.Deferred(),
|
||||
self = this;
|
||||
|
||||
var cachedItem = Cache.get(this.cacheName);
|
||||
|
||||
if (cachedItem !== null)
|
||||
{
|
||||
window.setTimeout(function () {
|
||||
self[options.reset ? 'reset' : 'set'](false, options);
|
||||
deferred.resolve(cachedItem);
|
||||
self.push(cachedItem);
|
||||
self.trigger('sync', self, false, options);
|
||||
if (_.isFunction(options.success)) {
|
||||
options.success(self, false, options);
|
||||
}
|
||||
return deferred;
|
||||
}, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delegate to the actual fetch method and store the attributes in the cache
|
||||
var jqXHR = Backbone.Collection.prototype.fetch.apply(this, arguments);
|
||||
// resolve the returned promise when the AJAX call completes
|
||||
jqXHR.done(_.bind(deferred.resolve, this, this))
|
||||
// Set the new data in the cache
|
||||
.done(_.bind(
|
||||
function (a, b, c) {
|
||||
Cache.set(self.cacheName, a);
|
||||
}
|
||||
, null, this, options))
|
||||
// Reject the promise on fail
|
||||
.fail(_.bind(deferred.reject, this, this));
|
||||
|
||||
deferred.abort = jqXHR.abort;
|
||||
// return a promise which provides the same methods as a jqXHR object
|
||||
return deferred;
|
||||
}
|
||||
}
|
||||
});
|
||||
return CachedCollection;
|
||||
});
|
||||
@@ -11,6 +11,11 @@ define(['jquery', 'backbone'],
|
||||
if (this.data.type == null)
|
||||
this.loadProfile();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.data.risRic = window.localStorage.getItem("risRic");
|
||||
this.data.tema = window.localStorage.getItem("tema");
|
||||
}
|
||||
return this;
|
||||
},
|
||||
|
||||
@@ -22,7 +27,8 @@ define(['jquery', 'backbone'],
|
||||
"gender":null,
|
||||
"tema": 'b',
|
||||
"risRic": '10',
|
||||
"type": null
|
||||
"type": null,
|
||||
"lastNumRicette": null
|
||||
},
|
||||
|
||||
isConnected: function(){
|
||||
@@ -59,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");
|
||||
},
|
||||
@@ -73,12 +83,12 @@ define(['jquery', 'backbone'],
|
||||
},
|
||||
|
||||
isGPlusConnected: function(){
|
||||
if(this.data.type === "google")
|
||||
if(this.data.type == "gplus")
|
||||
return true;
|
||||
return false;
|
||||
},
|
||||
isFbConnected: function(){
|
||||
if(this.data.type === "facebook")
|
||||
if(this.data.type == "fb")
|
||||
return true;
|
||||
return false;
|
||||
},
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
var pathJquery = "http://ajax.googleapis.com/ajax/libs/jquery/" + myManifest.Settings.JQueryVersion + "/jquery.min";
|
||||
var pathJqueryMobile = "http://code.jquery.com/mobile/"+ myManifest.Settings.JQueryMobileVersion + "/jquery.mobile-"+ myManifest.Settings.JQueryMobileVersion + ".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>
|
||||
<h4><%= title %></h4>
|
||||
<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,20 +1,20 @@
|
||||
var myManifest = {
|
||||
Debug: false,
|
||||
Name: "Il Lievitario",
|
||||
Version: "2.5.0",
|
||||
Version: "3.0.0.0",
|
||||
Author: "Denis Ironi",
|
||||
Settings: {
|
||||
//DefaultURL: "http://localhost:8081/Service_Manut",
|
||||
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",
|
||||
Device:{
|
||||
JQueryMobileVersion: "1.4.5",
|
||||
Device: {
|
||||
Width: (window.innerWidth > 0) ? window.innerWidth : screen.width,
|
||||
Height: (window.innerHeight > 0) ? window.innerHeight : screen.height
|
||||
}
|
||||
},
|
||||
Agent: (new UAParser()).getResult(),
|
||||
getUrlArg: function(){
|
||||
Agent: (new UAParser()).getResult(),
|
||||
getUrlArg: function() {
|
||||
return (this.Debug ? this.Version + "." + (Math.random() * 1000) : this.Version);
|
||||
}
|
||||
};
|
||||
@@ -1,16 +1,17 @@
|
||||
define(['app', 'jquery', 'underscore', 'backbone', 'model/category/categoryModel', 'classes/cachedCollection'],
|
||||
function (app, $, _, Backbone, Category, CachedCollection) {
|
||||
define(['app', 'jquery', 'underscore', 'backbone', 'model/category/categoryModel'],
|
||||
function (app, $, _, Backbone, Category){
|
||||
|
||||
var Categories = CachedCollection.extend({
|
||||
cacheName: "Category0",
|
||||
// Book is the model of the collection
|
||||
model: Category,
|
||||
url: function () {
|
||||
return myManifest.Settings.DefaultURL + "/api/categories";
|
||||
}
|
||||
});
|
||||
var Categories=Backbone.Collection.extend({
|
||||
|
||||
return Categories;
|
||||
});
|
||||
// Book is the model of the collection
|
||||
model:Category,
|
||||
|
||||
url: function() {
|
||||
return myManifest.Settings.DefaultURL + "/api/categories";
|
||||
}
|
||||
});
|
||||
|
||||
return Categories;
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
define(['app', 'jquery', 'underscore', 'backbone', 'model/categoryItem/categoryItemModel', 'classes/cachedCollection'],
|
||||
function (app, $, _, Backbone, Category, CachedCollection){
|
||||
define(['app', 'jquery', 'underscore', 'backbone', 'model/categoryItem/categoryItemModel'],
|
||||
function (app, $, _, Backbone, Category){
|
||||
|
||||
var CategoryItems=CachedCollection.extend({
|
||||
var CategoryItems=Backbone.Collection.extend({
|
||||
|
||||
categoryId: null,
|
||||
initialize: function (options) {
|
||||
this.categoryId = options.categoryId;
|
||||
this.cacheName = "Category" + this.categoryId;
|
||||
},
|
||||
// Book is the model of the collection
|
||||
model:Category,
|
||||
|
||||
url: function() {
|
||||
return myManifest.Settings.DefaultURL + "/api/categoryitems/" + this.categoryId;
|
||||
return myManifest.Settings.DefaultURL + "/api/ricette/" + this.categoryId;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
define(['jquery', 'underscore', 'backbone'],
|
||||
function ($, _, Backbone){
|
||||
function($, _, Backbone) {
|
||||
|
||||
var CategoryItem = Backbone.Model.extend({
|
||||
//default attributes
|
||||
@@ -13,6 +13,6 @@ function ($, _, Backbone){
|
||||
}
|
||||
});
|
||||
|
||||
return CategoryItem;
|
||||
});
|
||||
return CategoryItem;
|
||||
});
|
||||
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
define(['jquery', 'underscore', 'backbone','text!modules/about/aboutViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
|
||||
function($, _, Backbone, aboutViewTemplate, BaseView, Profile){
|
||||
define(['jquery', 'underscore', 'backbone','text!modules/about/aboutViewTemplate.html', 'modules/base/baseView'],
|
||||
function($, _, Backbone, aboutViewTemplate, BaseView){
|
||||
|
||||
var AboutView = BaseView.extend({
|
||||
|
||||
@@ -18,7 +18,7 @@ function($, _, Backbone, aboutViewTemplate, BaseView, Profile){
|
||||
//$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( { app: myManifest, profile: Profile }));
|
||||
this.$el.append(this.template( { app: myManifest }));
|
||||
this.$el.append(this.footer.$el);
|
||||
this.$el.find("#infoBtn").addClass("ui-btn-active");
|
||||
//$("#homeBtn").addClass("ui-btn-active");
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<b>Sviluppatore:</b> <%= app.Author %><br><br>
|
||||
<br><b>Dettagli Sviluppo: </b><br>S.O.:<%= app.Agent.os.name %><br>Versione: <%= app.Agent.os.version %><br><br>
|
||||
<b>Librerie Usate: </b><br>JQuery:<%= app.Settings.JQueryVersion %><br>JQueryMobile: <%= app.Settings.JQueryMobileVersion %><br>
|
||||
<div class="selectable"><b>Key Sync: </b><%= profile.getKeySave() %><br></div>
|
||||
<br><br>
|
||||
<b>Ringraziamenti a</b>
|
||||
<br><br>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
define(['jquery', 'underscore', 'backbone', 'text!modules/category/categoryViewTemplate.html', 'text!modules/category/categoryItemTemplate.html', 'modules/base/baseView'],
|
||||
function ($, _, Backbone, categoryViewTemplate, categoryItemTemplate, BaseView) {
|
||||
function($, _, Backbone, categoryViewTemplate, categoryItemTemplate, BaseView) {
|
||||
|
||||
var CategoryView = BaseView.extend({
|
||||
collection: null,
|
||||
@@ -7,19 +7,19 @@ define(['jquery', 'underscore', 'backbone', 'text!modules/category/categoryViewT
|
||||
//initialize template
|
||||
template: _.template(categoryViewTemplate),
|
||||
itemtemplate: _.template(categoryItemTemplate),
|
||||
initialize: function (options) {
|
||||
initialize: function(options) {
|
||||
var self = this;
|
||||
CategoryView.__super__.initialize.call(this);
|
||||
this.collection = options.collection;
|
||||
this.categoryName = options.categoryName;
|
||||
this.collection.fetch({
|
||||
success: function (data, textStatus, jqXHR) {
|
||||
success: function(data, textStatus, jqXHR) {
|
||||
self.renderItem();
|
||||
}
|
||||
//success: function(){ self.renderItem(); }
|
||||
});
|
||||
},
|
||||
renderItem: function () {
|
||||
renderItem: function() {
|
||||
var $ul = $('#allRicette');
|
||||
|
||||
var items = this.itemtemplate({data: this.collection.toJSON()});
|
||||
@@ -28,23 +28,11 @@ define(['jquery', 'underscore', 'backbone', 'text!modules/category/categoryViewT
|
||||
$ul.listview("refresh");
|
||||
$ul.trigger("updatelayout");
|
||||
|
||||
$ul.find('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);
|
||||
}
|
||||
});
|
||||
|
||||
$.mobile.loading('hide');
|
||||
//$( '[data-alpha="true"]' ).alphascroll();
|
||||
},
|
||||
//render the content into div of view
|
||||
render: function () {
|
||||
render: function() {
|
||||
//this.header.title = "pippo";
|
||||
CategoryView.__super__.render.call(this);
|
||||
//this.el is the root element of Backbone.View. By default, it is a div.
|
||||
|
||||
@@ -2,17 +2,5 @@
|
||||
<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>
|
||||
<div id="valutazione" style="clear:both;">
|
||||
<form id="difficoltaFrm" data-role="none">
|
||||
<input name="difficolta" <% if(item.difficolta==="1"){%>checked="checked"<%}%> type="radio" data-role="none" value="1" disabled="disabled" title="Molto Semplice" class="star"/>
|
||||
<input name="difficolta" <% if(item.difficolta==="2"){%>checked="checked"<%}%> type="radio" data-role="none" value="2" disabled="disabled" title="Semplice" class="star"/>
|
||||
<input name="difficolta" <% if(item.difficolta==="3"){%>checked="checked"<%}%> type="radio" data-role="none" value="3" disabled="disabled" title="Normale" class="star"/>
|
||||
<input name="difficolta" <% if(item.difficolta==="4"){%>checked="checked"<%}%> type="radio" data-role="none" value="4" disabled="disabled" title="Difficile" class="star"/>
|
||||
<input name="difficolta" <% if(item.difficolta==="5"){%>checked="checked"<%}%> type="radio" data-role="none" value="5" disabled="disabled" title="Molto Difficile" class="star"/>
|
||||
</form>
|
||||
</div>
|
||||
</a></li>
|
||||
<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>
|
||||
<% }} %>
|
||||
@@ -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>
|
||||
@@ -18,7 +18,7 @@
|
||||
<div data-role="collapsible"><h4>Quando posso iniziare ad usare la PM autodrodotta? Quando posso mettere in frigorifero?</h4><p> La tua Pm sarà pronta all'utilizzo quando raddoppierà costantemente in 4 ore, ovvero avrà raggiunto un equilibrio accettabile tra lieviti e lactobacilli. Da questo momento potrai conservarla in frigorifero e rinfrescarla meno frequentemente. </p></div></li>
|
||||
<li data-role="collapsible" data-iconpos="left" data-inset="false"><h2>PM. Il Mantenimento (Rinfresco, fermentazione, collasso...) </h2> <div data-role="collapsible"><h4>Cos'è il rinfresco (o rigenero)?</h4><p>La Pasta Madre è un organismo vivo e per questo necessita di nutrimento:<br>
|
||||
aggiungendo acqua e farina alla tua pm, le dai ""da mangiare"". I lieviti nutrendosi fanno partire la fermentazione e gonfiano la pm creando bolle d'aria.</p></div>
|
||||
<div data-role="collapsible"><h4>L'esubero di pasta madre</h4><p>"Esubero... chi era costui???"<br>
|
||||
<div data-role="collapsible"><h4>L'esubero di pasta madre</h4><p>"Esubero... chi era costui???"<br>
|
||||
E' in assoluto la domanda più ricorrente qua dentro, la FAQ delle FAQ insomma, fiumi di discussioni in merito: chi lo definisce in un modo, chi in un altro, chi ne ha il frigo pieno, chi non lo conosce, chi lo butta, chi panifica solo con quello... ma in sintesi: <b>cosa sarebbe l'esubero?</b><br><br>
|
||||
Secondo il dizionario l'esubero è un'eccedenza, un avanzo, ma nel nostro ambito specifico, che è quello della panificazione con lievito madre, direi che possiamo trovarci in accordo nel definirlo <b>pasta madre di avanzo</b> (ebbene sì anche l'esubero è pasta madre!) <b>che non abbia subito un rinfresco recente.</b><br><br>
|
||||
La pasta madre come ben sappiamo è <u>un impasto di acqua e farina colonizzato da particolari microrganismi (lieviti e lactobacilli) che le fanno avere potere fermentante, essi sono un qualcosa di vivo e per continuare a fare il proprio lavoro devono essere nutriti con quantitativi prestabiliti di acqua e farina. Una volta nutrita attraverso il rinfresco, la nostra pasta madre aumenta di volume raggiungendo un apice di crescita, dopo il quale (ed è fisiologico), raggiunge il collasso e tende ad inacidirsi.<br><br>
|
||||
@@ -91,8 +91,8 @@ Detto questo vorrei fare alcune considerazioni: <br><br>
|
||||
<b>Biga:</b> è un preimpasto ottenuto miscelando acqua, farina e lievito in proporzioni tali che risulti piuttosto asciutto; alle volte può essere inteso anche come pasta madre (solida) rinfrescata, ad esempio nel libro di Annalisa De Luca<br><br>
|
||||
<b>Buratto:</b> è un setaccio e per estensione un tipo di farina di frumento setacciata appunto nel Buratto<br><br>
|
||||
<b>Burro a Pomata:</b> burro morbido, consistenza di una pomata/dentifricio/cremoso<br><br>
|
||||
<b>Campana (lievitazione a):</b> far lievitare l'impasto sul piano di lavoro con ciotola rovesciata sopra a mo' di copertura<br><br>
|
||||
<b>Esubero:</b> lievito madre non rinfescato e che avanza dopo la scorta standard e il rinfresco (vedere anche PM. Il Mantenimento (Rinfresco, fermentazione, collasso...) -> L'esubero di pasta madre)<br><br>
|
||||
<b>Campana (lievitazione a):</b> far lievitare l'impasto sul piano di lavoro con ciotola rovesciata sopra a mo' di copertura<br><br>
|
||||
<b>Esubero:</b> lievito madre non rinfescato e che avanza dopo la scorta standard e il rinfresco (vedere anche PM. Il Mantenimento (Rinfresco, fermentazione, collasso...) -> L'esubero di pasta madre)<br><br>
|
||||
<b>Olio EVO:</b> Extra Vergine Oil (olio extravergine di Oliva)<br><br>
|
||||
<b>Cottura a fessura:</b> cottura con un oggetto - cucchiaio, mestolo piatto- che impedisca allo sportello del forno di chiudersi perfettamente (serve a far uscire l'umidità)<br><br>
|
||||
<b>Forno STATICO/VENTILATO:</b> il forno con la ventola spenta/accesa<br><br>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
<div data-role="content">
|
||||
<div style="text-align: center;">
|
||||
<div style="text-align: center;">
|
||||
<% if(profile.data.name){ %>
|
||||
<h2 id="benvenuto">Bentornat<% if(profile.data.gender=="male"){%>o<%}else{%>a<%}%>
|
||||
<br><%=profile.data.name %></h2>
|
||||
<% } %>
|
||||
<img id="sfondo" src="https://dl.dropboxusercontent.com/s/6qrdp9mbi1rb92k/sfondo.png">
|
||||
<img id="sfondo" src="https://dl.dropboxusercontent.com/s/6qrdp9mbi1rb92k/sfondo.png">
|
||||
</div>
|
||||
</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>
|
||||
<br>"<b>Gruppo La Pasta Madre</b>"<br>
|
||||
<br>vuoi chiedere di diventare membro?
|
||||
<br>Se sei già membro premi si e poi torna indietro con il browser
|
||||
</p>
|
||||
<p style="text-align: center;">
|
||||
<a id="goFbGroup" href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back">Si</a>
|
||||
|
||||
@@ -1,21 +1,18 @@
|
||||
define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
|
||||
function($, _, Backbone, itemViewTemplate, BaseView, Profile){
|
||||
define(['jquery', 'underscore', 'backbone', 'text!modules/item/itemViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
|
||||
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);
|
||||
this.collRicetta = options.collRicetta;
|
||||
this.collIngredienti = options.collIngredienti;
|
||||
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);
|
||||
this.collRicetta = options.collRicetta;
|
||||
this.collIngredienti = options.collIngredienti;
|
||||
|
||||
this.collRicetta.fetch({success: function() {
|
||||
self.fetchedRicetta = true;
|
||||
@@ -26,88 +23,160 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
|
||||
self.render();
|
||||
}});
|
||||
},
|
||||
|
||||
events: {
|
||||
"click #favoriteBtn": "favBtn",
|
||||
"click #backBtn": "backBtn"
|
||||
},
|
||||
|
||||
backBtn:function(e){
|
||||
e.preventDefault();
|
||||
window.history.back();
|
||||
},
|
||||
|
||||
favBtn:function(e){
|
||||
e.preventDefault();
|
||||
var self = this;
|
||||
var ric = this.collRicetta.toJSON()[0];
|
||||
|
||||
if(!Profile.isConnected())
|
||||
{
|
||||
self.$el.find('#popupDialog').popup("open");
|
||||
return;
|
||||
}
|
||||
|
||||
Profile.addRicettaBloccoNote(ric.ricetta_id,
|
||||
function(msg) {
|
||||
var favBtn = self.$el.find('#favoriteBtn');
|
||||
favBtn.addClass('ui-disabled');
|
||||
}
|
||||
);
|
||||
},
|
||||
//render the content into div of view
|
||||
render: function(){
|
||||
if(this.fetchedIngredienti && this.fetchedRicetta )
|
||||
{
|
||||
ItemView.__super__.render.call(this);
|
||||
events: {
|
||||
"click #favoriteBtn": "favBtn",
|
||||
"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;
|
||||
|
||||
var ric = self.collRicetta.toJSON()[0];
|
||||
if (!Profile.isConnected())
|
||||
{
|
||||
self.$el.find('#popupDialog').popup("open");
|
||||
return;
|
||||
}
|
||||
|
||||
Profile.existRicettaBloccoNote(ric.ricetta_id,
|
||||
function(exist) {
|
||||
self.$el.append(self.template({
|
||||
ricetta: self.collRicetta.toJSON()[0],
|
||||
ingredienti: self.collIngredienti.toJSON()
|
||||
}));
|
||||
$("#cameraFile").click();
|
||||
},
|
||||
uploadPhotoBtn: function(e) {
|
||||
e.preventDefault();
|
||||
var self = this;
|
||||
|
||||
self.$arrayContent = self.$el.find('div[data-role="content"]');
|
||||
self.$arrayNavBar = self.$el.find('div[data-role="navbar"] a');
|
||||
if (!Profile.isConnected())
|
||||
{
|
||||
self.$el.find('#popupDialog').popup("open");
|
||||
return;
|
||||
}
|
||||
|
||||
var favBtn = self.$el.find('#favoriteBtn');
|
||||
if(exist > 0)
|
||||
favBtn.addClass('ui-disabled');
|
||||
$("#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];
|
||||
|
||||
self.$arrayNavBar.on("click", function(e){
|
||||
e.preventDefault();
|
||||
var index = jQuery.inArray( this , self.$arrayNavBar);
|
||||
self.goToContent(index);
|
||||
});
|
||||
var data = new FormData();
|
||||
data.append("ricetta_id", ric.ricetta_id);
|
||||
data.append("image", objInputFile[0].files[0]);
|
||||
data.append("keyStore", Profile.getKeySave());
|
||||
|
||||
self.$arrayContent.on("swipeleft", function(e) {
|
||||
var index = jQuery.inArray(this, self.$arrayContent);
|
||||
self.goToContent(index + 1 );
|
||||
});
|
||||
self.$arrayContent.on("swiperight", function(e) {
|
||||
var index = jQuery.inArray(this, self.$arrayContent);
|
||||
self.goToContent(index - 1 );
|
||||
});
|
||||
self.trigger("renderCompleted:Item",self);
|
||||
$.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;
|
||||
var ric = this.collRicetta.toJSON()[0];
|
||||
|
||||
if (!Profile.isConnected())
|
||||
{
|
||||
self.$el.find('#popupDialog').popup("open");
|
||||
return;
|
||||
}
|
||||
|
||||
Profile.addRicettaBloccoNote(ric.ricetta_id,
|
||||
function(msg) {
|
||||
var favBtn = self.$el.find('#favoriteBtn');
|
||||
favBtn.addClass('ui-disabled');
|
||||
}
|
||||
);
|
||||
},
|
||||
//render the content into div of view
|
||||
render: function() {
|
||||
if (this.fetchedIngredienti && this.fetchedRicetta)
|
||||
{
|
||||
ItemView.__super__.render.call(this);
|
||||
var self = this;
|
||||
|
||||
var ric = self.collRicetta.toJSON()[0];
|
||||
|
||||
Profile.existRicettaBloccoNote(ric.ricetta_id,
|
||||
function(exist) {
|
||||
self.$el.append(self.template({
|
||||
ricetta: self.collRicetta.toJSON()[0],
|
||||
ingredienti: self.collIngredienti.toJSON()
|
||||
}));
|
||||
|
||||
self.$arrayContent = self.$el.find('div[data-role="content"]');
|
||||
self.$arrayNavBar = self.$el.find('div[data-role="navbar"] a');
|
||||
|
||||
var favBtn = self.$el.find('#favoriteBtn');
|
||||
if (exist > 0)
|
||||
favBtn.addClass('ui-disabled');
|
||||
|
||||
self.$arrayNavBar.on("click", function(e) {
|
||||
e.preventDefault();
|
||||
var index = jQuery.inArray(this, self.$arrayNavBar);
|
||||
self.goToContent(index);
|
||||
});
|
||||
|
||||
self.$arrayContent.on("swipeleft", function(e) {
|
||||
var index = jQuery.inArray(this, self.$arrayContent);
|
||||
self.goToContent(index + 1 );
|
||||
});
|
||||
self.$arrayContent.on("swiperight", function(e) {
|
||||
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);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
//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 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
|
||||
|
||||
//return to enable chained calls
|
||||
return this;
|
||||
}
|
||||
},
|
||||
|
||||
goToContent:function(newIndex)
|
||||
//return to enable chained calls
|
||||
return this;
|
||||
}
|
||||
},
|
||||
goToContent: function(newIndex)
|
||||
{
|
||||
if(this.$arrayContent.length > newIndex && newIndex >= 0)
|
||||
{
|
||||
@@ -115,15 +184,14 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
|
||||
this.switchContent();
|
||||
}
|
||||
},
|
||||
|
||||
switchContent: function(){
|
||||
this.$arrayContent.hide();
|
||||
this.$arrayNavBar.removeClass('ui-btn-active');
|
||||
this.$arrayNavBar.removeClass('ui-state-persist');
|
||||
$(this.$arrayContent[this.indexContent]).show();
|
||||
$(this.$arrayNavBar[this.indexContent]).addClass('ui-btn-active');
|
||||
$(this.$arrayNavBar[this.indexContent]).addClass('ui-state-persist');
|
||||
}
|
||||
});
|
||||
return ItemView;
|
||||
});
|
||||
switchContent: function() {
|
||||
this.$arrayContent.hide();
|
||||
this.$arrayNavBar.removeClass('ui-btn-active');
|
||||
this.$arrayNavBar.removeClass('ui-state-persist');
|
||||
$(this.$arrayContent[this.indexContent]).show();
|
||||
$(this.$arrayNavBar[this.indexContent]).addClass('ui-btn-active');
|
||||
$(this.$arrayNavBar[this.indexContent]).addClass('ui-state-persist');
|
||||
}
|
||||
});
|
||||
return ItemView;
|
||||
});
|
||||
@@ -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>
|
||||
@@ -15,7 +15,7 @@
|
||||
liStyle="list-style-type: none;";
|
||||
qty = "";
|
||||
nome_ingr = "";
|
||||
} %> <li style="<%= liStyle %>"><b><%= nome_ingr %></b><%= qty %> <%= ingrediente.unita %> <%= unescape(ingrediente.note) %></li><br> <% }); %>
|
||||
} %> <li style="<%= liStyle %>"><b><%= nome_ingr %></b><%= qty %> <%= ingrediente.unita %> <%= ingrediente.note %></li><br> <% }); %>
|
||||
</p></center>
|
||||
</div>
|
||||
<div id="contentProcedimento" data-role="content" style="display: none;">
|
||||
@@ -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>
|
||||
@@ -33,14 +33,23 @@ define(['jquery', 'underscore', 'backbone','text!modules/search/searchViewTempla
|
||||
render: function () {
|
||||
//this.header.title = "pippo";
|
||||
SearchView.__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({data:this.collection.toJSON()}));
|
||||
this.$el.append(this.footer.$el);
|
||||
|
||||
this.$el.find('#nResult').val(Profile.data.risRic);
|
||||
// this.$el.find('#search').on("click", function(e){
|
||||
// e.preventDefault();
|
||||
//
|
||||
// });
|
||||
this.trigger("renderCompleted:Search", this);
|
||||
|
||||
this.$el.find("#searchBtn").addClass("ui-btn-active");
|
||||
//$("#homeBtn").addClass("ui-btn-active");
|
||||
//return to enable chained calls
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,135 +1,164 @@
|
||||
define(['jquery', 'underscore', 'backbone', 'text!modules/sync/syncViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
|
||||
function ($, _, Backbone, syncViewTemplate, BaseView, Profile) {
|
||||
define(['jquery', 'underscore', 'backbone','text!modules/sync/syncViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
|
||||
function($, _, Backbone, syncViewTemplate, BaseView, Profile){
|
||||
|
||||
var SyncView = BaseView.extend({
|
||||
//initialize template
|
||||
template: _.template(syncViewTemplate),
|
||||
initialize: function (options) {
|
||||
SyncView.__super__.initialize.call(this);
|
||||
if (options &&
|
||||
options.tokenFound == 1)
|
||||
var SyncView = BaseView.extend({
|
||||
|
||||
//initialize template
|
||||
template:_.template(syncViewTemplate),
|
||||
|
||||
initialize: function (options) {
|
||||
SyncView.__super__.initialize.call(this);
|
||||
if(options &&
|
||||
options.tokenFound == 1)
|
||||
{
|
||||
if(window.localStorage.getItem("tryLogin")=="fb")
|
||||
{
|
||||
this.updateLoginBtn();
|
||||
this.fbAfterLogin();
|
||||
}
|
||||
window.localStorage.setItem("tryLogin", null);
|
||||
},
|
||||
events: {
|
||||
"click #backBtn": "backBtn",
|
||||
"click #fblogin": "fbLogin",
|
||||
"click #gpluslogin": "gplusLogin",
|
||||
"click #resetBtn": "resetBtn"
|
||||
},
|
||||
resetBtn: function (e) {
|
||||
e.preventDefault();
|
||||
Profile.setKeySave(null);
|
||||
window.localStorage.setItem("hello", null);
|
||||
Backbone.history.loadUrl();
|
||||
},
|
||||
backBtn: function (e) {
|
||||
e.preventDefault();
|
||||
window.history.back();
|
||||
},
|
||||
fbLogin: function (e) {
|
||||
var self = this;
|
||||
e.preventDefault();
|
||||
|
||||
hello('facebook').login();
|
||||
},
|
||||
fbAfterLogin: function ()
|
||||
{
|
||||
/*
|
||||
var self = this;
|
||||
openFB.api({
|
||||
path: '/me',
|
||||
success: function (data) {
|
||||
Profile.internalLoadProfile(data.id, function(retVal){
|
||||
if(retVal == false)
|
||||
Profile.createProfile(
|
||||
data.id,
|
||||
"fb",
|
||||
data.name,
|
||||
data.email,
|
||||
data.gender,
|
||||
function(){
|
||||
//Backbone.history.loadUrl();
|
||||
});
|
||||
self.updateLoginBtn();
|
||||
});
|
||||
}});
|
||||
*/
|
||||
},
|
||||
gplusLogin: function (e) {
|
||||
var self = this;
|
||||
e.preventDefault();
|
||||
|
||||
hello('google').login();
|
||||
},
|
||||
gPlusAfterLogin: function ()
|
||||
{
|
||||
/*
|
||||
var self = this;
|
||||
openGPlus.api({
|
||||
path: 'people/me',
|
||||
success: function (data) {
|
||||
Profile.internalLoadProfile(data.id, function(retVal){
|
||||
if(retVal == false)
|
||||
Profile.createProfile(
|
||||
data.id,
|
||||
"gplus",
|
||||
data.displayName,
|
||||
data.emails[0].value,
|
||||
data.gender,
|
||||
function(){
|
||||
//Backbone.history.loadUrl();
|
||||
}
|
||||
);
|
||||
self.updateLoginBtn();
|
||||
});
|
||||
}});
|
||||
*/
|
||||
},
|
||||
updateLoginBtn: function ()
|
||||
{
|
||||
if (Profile.isConnected()) {
|
||||
if (Profile.isFbConnected()) {
|
||||
this.$el.find("#fblogin").show();
|
||||
this.$el.find("#gpluslogin").hide();
|
||||
this.$el.find("#fblogin").removeClass("loginfb");
|
||||
this.$el.find("#fblogin").addClass("logoutfb");
|
||||
}
|
||||
|
||||
if (Profile.isGPlusConnected()) {
|
||||
this.$el.find("#gpluslogin").show();
|
||||
this.$el.find("#fblogin").hide();
|
||||
this.$el.find("#gpluslogin").removeClass("logingplus");
|
||||
this.$el.find("#gpluslogin").addClass("logoutgplus");
|
||||
}
|
||||
}
|
||||
else
|
||||
else if(window.localStorage.getItem("tryLogin")=="gplus")
|
||||
{
|
||||
this.$el.find("#fblogin").removeClass("logoutfb");
|
||||
this.$el.find("#fblogin").addClass("loginfb");
|
||||
this.$el.find("#gpluslogin").removeClass("logoutgplus");
|
||||
this.$el.find("#gpluslogin").addClass("logingplus");
|
||||
this.gPlusAfterLogin();
|
||||
}
|
||||
},
|
||||
//render the content into div of view
|
||||
render: function () {
|
||||
var self = this;
|
||||
//this.header.title = "pippo";
|
||||
SyncView.__super__.render.call(this);
|
||||
|
||||
this.header.$el.append("<a id=\"backBtn\" href=\"\" data-role=\"button\" class=\"ui-btn-right\" data-icon=\"custom\">Indietro</a>");
|
||||
|
||||
this.$el.append(this.header.$el);
|
||||
this.$el.append(this.template({app: myManifest}));
|
||||
this.$el.append(this.footer.$el);
|
||||
this.$el.find("#moreBtn").addClass("ui-btn-active");
|
||||
|
||||
this.updateLoginBtn();
|
||||
|
||||
return this;
|
||||
}
|
||||
});
|
||||
return SyncView;
|
||||
});
|
||||
window.localStorage.setItem("tryLogin", null);
|
||||
},
|
||||
|
||||
events: {
|
||||
"click #backBtn": "backBtn",
|
||||
"click #fblogin": "fbLogin",
|
||||
"click #gpluslogin": "gplusLogin",
|
||||
"click #resetBtn": "resetBtn"
|
||||
},
|
||||
|
||||
resetBtn:function(e){
|
||||
e.preventDefault();
|
||||
Profile.setKeySave(null);
|
||||
Backbone.history.loadUrl();
|
||||
},
|
||||
|
||||
backBtn:function(e){
|
||||
e.preventDefault();
|
||||
window.history.back();
|
||||
},
|
||||
|
||||
fbLogin: function(e){
|
||||
var self = this;
|
||||
e.preventDefault();
|
||||
|
||||
if(!Profile.isConnected()) {
|
||||
window.localStorage.setItem("tryLogin", "fb");
|
||||
openFB.login('email');
|
||||
}
|
||||
else if(Profile.isConnected() && Profile.isFbConnected())
|
||||
openFB.revokePermissions(function(){
|
||||
Profile.setKeySave(null);
|
||||
self.updateLoginBtn();
|
||||
});
|
||||
},
|
||||
|
||||
fbAfterLogin: function()
|
||||
{
|
||||
var self = this;
|
||||
openFB.api({
|
||||
path: '/me',
|
||||
success: function (data) {
|
||||
Profile.internalLoadProfile(data.id, function(retVal){
|
||||
if(retVal == false)
|
||||
Profile.createProfile(
|
||||
data.id,
|
||||
"fb",
|
||||
data.name,
|
||||
data.email,
|
||||
data.gender,
|
||||
function(){
|
||||
//Backbone.history.loadUrl();
|
||||
});
|
||||
self.updateLoginBtn();
|
||||
});
|
||||
}});
|
||||
},
|
||||
|
||||
gplusLogin: function(e){
|
||||
var self = this;
|
||||
e.preventDefault();
|
||||
|
||||
if(!Profile.isConnected()) {
|
||||
window.localStorage.setItem("tryLogin", "gplus");
|
||||
openGPlus.login('email');
|
||||
}
|
||||
else if(Profile.isConnected() && Profile.isGPlusConnected())
|
||||
openGPlus.revokePermissions(function(){
|
||||
Profile.setKeySave(null);
|
||||
self.updateLoginBtn();
|
||||
});
|
||||
},
|
||||
|
||||
gPlusAfterLogin: function()
|
||||
{
|
||||
var self = this;
|
||||
openGPlus.api({
|
||||
path: 'people/me',
|
||||
success: function (data) {
|
||||
Profile.internalLoadProfile(data.id, function(retVal){
|
||||
if(retVal == false)
|
||||
Profile.createProfile(
|
||||
data.id,
|
||||
"gplus",
|
||||
data.displayName,
|
||||
data.emails[0].value,
|
||||
data.gender,
|
||||
function(){
|
||||
//Backbone.history.loadUrl();
|
||||
}
|
||||
);
|
||||
self.updateLoginBtn();
|
||||
});
|
||||
}});
|
||||
},
|
||||
|
||||
updateLoginBtn: function()
|
||||
{
|
||||
if(Profile.isConnected()) {
|
||||
if (Profile.isFbConnected()) {
|
||||
this.$el.find("#fblogin").show();
|
||||
this.$el.find("#gpluslogin").hide();
|
||||
this.$el.find("#loginFbImg").removeClass("loginfb");
|
||||
this.$el.find("#loginFbImg").addClass("logoutfb");
|
||||
}
|
||||
|
||||
if (Profile.isGPlusConnected()) {
|
||||
this.$el.find("#gpluslogin").show();
|
||||
this.$el.find("#fblogin").hide();
|
||||
this.$el.find("#loginGPlusImg").removeClass("logingplus");
|
||||
this.$el.find("#loginGPlusImg").addClass("logoutgplus");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.$el.find("#loginFbImg").removeClass("logoutfb");
|
||||
this.$el.find("#loginFbImg").addClass("loginfb");
|
||||
this.$el.find("#loginGPlusImg").removeClass("logoutgplus");
|
||||
this.$el.find("#loginGPlusImg").addClass("logingplus");
|
||||
}
|
||||
},
|
||||
|
||||
//render the content into div of view
|
||||
render: function(){
|
||||
var self = this;
|
||||
//this.header.title = "pippo";
|
||||
SyncView.__super__.render.call(this);
|
||||
|
||||
this.header.$el.append("<a id=\"backBtn\" href=\"\" data-role=\"button\" class=\"ui-btn-right\" data-icon=\"custom\">Indietro</a>");
|
||||
|
||||
this.$el.append(this.header.$el);
|
||||
this.$el.append(this.template( { app: myManifest }));
|
||||
this.$el.append(this.footer.$el);
|
||||
this.$el.find("#moreBtn").addClass("ui-btn-active");
|
||||
|
||||
this.updateLoginBtn();
|
||||
|
||||
return this;
|
||||
}
|
||||
});
|
||||
return SyncView;
|
||||
});
|
||||
@@ -3,8 +3,8 @@
|
||||
<div style="text-align: center;">
|
||||
Qui puoi collegarti con l'account che preferisci<br>per avere la sincronizzazione dei tuoi dati su qualsiasi dispositivo che userai<br>
|
||||
Scegli il tipo di account e premi il tasto qui sotto per effettuare il login<br><br>
|
||||
<a id="fblogin" href="" class="loginfb"></a><br>
|
||||
<a id="gpluslogin" href="" class="logingplus"></a>
|
||||
<a id="fblogin" href=""><img id="loginFbImg" class="loginfb"/><br></a>
|
||||
<a id="gpluslogin" href=""><img id="loginGPlusImg" class="logingplus"/></a>
|
||||
<div data-role="popup" id="popupLogin" data-overlay-theme="a" data-theme="a" data-corners="false" data-tolerance="15,15">
|
||||
<a href="#" data-rel="back" class="ui-btn ui-btn-b ui-corner-all ui-shadow ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-right">Close</a>
|
||||
<iframe id="urlLogin" src="" width="497" height="298" seamless=""></iframe>
|
||||
|
||||
@@ -155,19 +155,6 @@ var openFB = (function () {
|
||||
function logout() {
|
||||
tokenStore['fbtoken'] = undefined;
|
||||
}
|
||||
|
||||
function createHttpReq(callbackFn){
|
||||
var request;
|
||||
if (window.XDomainRequest) {
|
||||
request = new window.XDomainRequest();
|
||||
request.onload = callbackFn;
|
||||
}
|
||||
else {
|
||||
request = new XMLHttpRequest();
|
||||
request.onreadystatechange = callbackFn;
|
||||
}
|
||||
return request;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lets you make any Facebook Graph API request.
|
||||
@@ -182,13 +169,14 @@ var openFB = (function () {
|
||||
|
||||
var method = obj.method || 'GET',
|
||||
params = obj.params || {},
|
||||
xhr = new XMLHttpRequest(),
|
||||
url;
|
||||
|
||||
params['access_token'] = tokenStore['fbtoken'];
|
||||
|
||||
url = 'https://graph.facebook.com' + obj.path + '?' + toQueryString(params);
|
||||
|
||||
var xhr = createHttpReq( function() {
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4) {
|
||||
if (xhr.status === 200) {
|
||||
if (obj.success) obj.success(JSON.parse(xhr.responseText));
|
||||
@@ -197,7 +185,7 @@ var openFB = (function () {
|
||||
if (obj.error) obj.error(error);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
xhr.open(method, url, true);
|
||||
xhr.send();
|
||||
|
||||
@@ -156,19 +156,6 @@ var openGPlus = (function () {
|
||||
function logout() {
|
||||
tokenStore['gplustoken'] = undefined;
|
||||
}
|
||||
|
||||
function createHttpReq(callbackFn){
|
||||
var request;
|
||||
if (window.XDomainRequest) {
|
||||
request = new window.XDomainRequest();
|
||||
request.onload = callbackFn;
|
||||
}
|
||||
else {
|
||||
request = new XMLHttpRequest();
|
||||
request.onreadystatechange = callbackFn;
|
||||
}
|
||||
return request;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lets you make any Facebook Graph API request.
|
||||
@@ -184,14 +171,14 @@ var openGPlus = (function () {
|
||||
var method = obj.method || 'GET',
|
||||
baseUrl = obj.baseUrl || 'https://www.googleapis.com/plus/v1/',
|
||||
params = obj.params || {},
|
||||
xhr = new XMLHttpRequest(),
|
||||
url;
|
||||
|
||||
params['access_token'] = tokenStore['gplustoken'];
|
||||
|
||||
url = baseUrl + obj.path + '?' + toQueryString(params);
|
||||
|
||||
//xhr.onreadystatechange =
|
||||
var xhr = createHttpReq(function () {
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === 4) {
|
||||
if (xhr.status === 200) {
|
||||
if (obj.success) obj.success(JSON.parse(xhr.responseText));
|
||||
@@ -200,7 +187,7 @@ var openGPlus = (function () {
|
||||
if (obj.error) obj.error(error);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
xhr.open(method, url, true);
|
||||
xhr.send();
|
||||
|
||||
@@ -1,205 +1,182 @@
|
||||
define(['jquery', 'underscore', 'backbone',
|
||||
'modules/home/home', 'modules/faq/faq', 'modules/index/index', 'modules/category/category', 'modules/item/item',
|
||||
'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',
|
||||
'model/note/noteCollection', 'model/category/categoryCollection', 'model/categoryItem/categoryItemCollection',
|
||||
'model/item/itemCollection', 'model/item/ingredientiCollection', 'model/categoryItem/foundItemCollection',
|
||||
'libs/fastclick', 'classes/cache', 'jqm', 'jQueryPlugins'],
|
||||
function ($, _, Backbone,
|
||||
HomeView, FaqView, IndexView, CategoryView, ItemView,
|
||||
AboutView, SearchView, FoundView, MoreView, NoteView,
|
||||
SyncView, ConverterView, DonationView, SettingsView,
|
||||
NoteCollection, CategoryCollection, CategoryItemCollection,
|
||||
ItemCollection, IngredientiCollection, FoundItemCollection,
|
||||
FastClick, Cache) {
|
||||
'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',
|
||||
'classes/utility', 'jqm', 'jQueryPlugins'],
|
||||
function($, _, Backbone,
|
||||
HomeView, FaqView, IndexView, CategoryView, ItemView,
|
||||
AboutView, SearchView, FoundView, MoreView, NoteView,
|
||||
SyncView, DonationView, SettingsView,
|
||||
NoteCollection, CategoryCollection, CategoryItemCollection,
|
||||
ItemCollection, IngredientiCollection, FoundItemCollection,
|
||||
Utility) {
|
||||
|
||||
'use strict';
|
||||
var Router = Backbone.Router.extend({
|
||||
//define routes and mapping route to the function
|
||||
routes: {
|
||||
'': 'showHome', //home view
|
||||
'homeView': 'showHome', //home view as well
|
||||
'faqView': 'showFaq', //home view as well
|
||||
'indexView': 'showIndex', //home view as well
|
||||
'category/:categoryName/:categoryId' : 'showCategory',
|
||||
'ricetta/:itemId' : 'showItem',
|
||||
'aboutView' : 'showAbout',
|
||||
'syncView(/)*founded' : 'showSync',
|
||||
'noteView': 'showNote',
|
||||
'searchView': 'showSearch',
|
||||
'settingsView': 'showSettings',
|
||||
'donationView': 'showDonation',
|
||||
'search/:nresult/:categoria/:difficolta/*titolo': 'searchFn',
|
||||
'converterView': 'showConverter',
|
||||
'moreView': 'showMore',
|
||||
'*actions': 'defaultAction' //default action
|
||||
},
|
||||
|
||||
defaultAction: function(actions){
|
||||
this.showHome(actions);
|
||||
},
|
||||
|
||||
'use strict';
|
||||
var Router = Backbone.Router.extend({
|
||||
//define routes and mapping route to the function
|
||||
routes: {
|
||||
'': 'showHome', //home view
|
||||
'homeView': 'showHome', //home view as well
|
||||
'faqView': 'showFaq', //home view as well
|
||||
'indexView': 'showIndex', //home view as well
|
||||
'category/:categoryName/:categoryId': 'showCategory',
|
||||
'ricetta/:itemId': 'showItem',
|
||||
'aboutView': 'showAbout',
|
||||
'syncView(/)*founded': 'showSync',
|
||||
'noteView': 'showNote',
|
||||
'searchView': 'showSearch',
|
||||
'settingsView': 'showSettings',
|
||||
'donationView': 'showDonation',
|
||||
'search/:nresult/:categoria/:difficolta/*titolo': 'searchFn',
|
||||
'converterView': 'showConverter',
|
||||
'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)
|
||||
{
|
||||
option = {tokenFound: 1};
|
||||
}
|
||||
// will render home view and navigate to homeView
|
||||
var syncView = new SyncView(option);
|
||||
syncView.render();
|
||||
this.changePage(syncView);
|
||||
},
|
||||
showNote: function (actions) {
|
||||
var notes = new NoteCollection();
|
||||
// will render home view and navigate to homeView
|
||||
var noteView = new NoteView({collection: notes});
|
||||
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) {
|
||||
Cache.checkCacheFromServer();
|
||||
|
||||
var categories = new CategoryCollection();
|
||||
// will render home view and navigate to homeView
|
||||
var indexView = new IndexView({collection: categories});
|
||||
//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
|
||||
var categoryView = new CategoryView({categoryName: categoryName, collection: categories});
|
||||
showHome:function(actions){
|
||||
// will render home view and navigate to homeView
|
||||
var homeView=new HomeView();
|
||||
homeView.render();
|
||||
this.changePage(homeView);
|
||||
},
|
||||
|
||||
categoryView.render();
|
||||
this.changePage(categoryView);
|
||||
showSettings:function(actions){
|
||||
var settingsView=new SettingsView();
|
||||
settingsView.render();
|
||||
this.changePage(settingsView);
|
||||
},
|
||||
|
||||
$.mobile.loading('show', {
|
||||
text: 'Caricamento categoria ' + categoryName + '...',
|
||||
textVisible: true,
|
||||
//theme: 'z',
|
||||
html: ""
|
||||
});
|
||||
//categoryView.bind('renderCompleted:Category',this.changePage,this);
|
||||
},
|
||||
showItem: function (itemId) {
|
||||
var item = new ItemCollection({ricettaId: itemId});
|
||||
var ingr = new IngredientiCollection({ricettaId: itemId});
|
||||
// will render home view and navigate to homeView
|
||||
var itemView = new ItemView({
|
||||
collRicetta: item,
|
||||
collIngredienti: ingr
|
||||
});
|
||||
//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
|
||||
var searchView = new SearchView({collection: categories});
|
||||
//indexView.render();
|
||||
searchView.bind('renderCompleted:Search', this.changePage, this);
|
||||
},
|
||||
searchFn: function (nresult, categoria, difficolta, titolo) {
|
||||
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);
|
||||
},
|
||||
|
||||
//console.log("Search by Titolo: " + titolo + ", Categoria: " + categoria + ", Difficoltà: " + difficolta);
|
||||
var foundedItems = new FoundItemCollection({categoryId: categoria, difficolta: difficolta, titolo: titolo, nResult: nresult});
|
||||
var foundView = new FoundView({collection: foundedItems});
|
||||
showSync:function(actions){
|
||||
var option = {};
|
||||
if(actions)
|
||||
{
|
||||
option = { tokenFound: 1 };
|
||||
}
|
||||
// will render home view and navigate to homeView
|
||||
var syncView=new SyncView(option);
|
||||
syncView.render();
|
||||
this.changePage(syncView);
|
||||
},
|
||||
|
||||
foundView.render();
|
||||
this.changePage(foundView);
|
||||
|
||||
$.mobile.loading('show', {
|
||||
text: 'Caricamento ricerca ricette...',
|
||||
textVisible: true,
|
||||
//theme: 'z',
|
||||
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 || '');
|
||||
// }
|
||||
});
|
||||
|
||||
if (!this.init) {
|
||||
|
||||
} else {
|
||||
this.init = false;
|
||||
}
|
||||
}
|
||||
showNote:function(actions){
|
||||
var notes = new NoteCollection();
|
||||
// will render home view and navigate to homeView
|
||||
var noteView=new NoteView({collection: notes});
|
||||
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
|
||||
var indexView=new IndexView({ collection: categories});
|
||||
//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
|
||||
var categoryView=new CategoryView({ categoryName: categoryName, collection: categories});
|
||||
|
||||
categoryView.render();
|
||||
this.changePage(categoryView);
|
||||
|
||||
$.mobile.loading( 'show', {
|
||||
text: 'Caricamento categoria ' + categoryName + '...',
|
||||
textVisible: true,
|
||||
//theme: 'z',
|
||||
html: ""
|
||||
});
|
||||
//categoryView.bind('renderCompleted:Category',this.changePage,this);
|
||||
},
|
||||
|
||||
showItem: function(itemId){
|
||||
var item = new ItemCollection({ ricettaId: itemId });
|
||||
var ingr = new IngredientiCollection({ ricettaId: itemId });
|
||||
// will render home view and navigate to homeView
|
||||
var itemView=new ItemView({
|
||||
collRicetta: item,
|
||||
collIngredienti: ingr
|
||||
});
|
||||
//indexView.render();
|
||||
itemView.bind('renderCompleted:Item',this.changePage,this);
|
||||
},
|
||||
|
||||
return Router;
|
||||
});
|
||||
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
|
||||
var searchView=new SearchView({ collection: categories});
|
||||
//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);
|
||||
var foundedItems = new FoundItemCollection({ categoryId: categoria, difficolta: difficolta, titolo: titolo, nResult:nresult });
|
||||
var foundView = new FoundView({ collection: foundedItems });
|
||||
|
||||
foundView.render();
|
||||
this.changePage(foundView);
|
||||
|
||||
$.mobile.loading( 'show', {
|
||||
text: 'Caricamento ricerca ricette...',
|
||||
textVisible: true,
|
||||
//theme: 'z',
|
||||
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) {
|
||||
|
||||
Utility.changePage(view);
|
||||
|
||||
if(!this.init){
|
||||
|
||||
}else{
|
||||
this.init = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return Router;
|
||||
});
|
||||
@@ -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,23 +22979,23 @@ 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;
|
||||
fnExpScope = mixin({}, fnExpScope, true);
|
||||
for (i = 0; i < params.length; i++) {
|
||||
param = params[i];
|
||||
if (param.type === 'Identifier') {
|
||||
fnExpScope[param.name] = true;
|
||||
}
|
||||
if (tempObject.params && tempObject.params.length) {
|
||||
params = tempObject.params;
|
||||
fnExpScope = mixin({}, fnExpScope, true);
|
||||
for (i = 0; i < params.length; i++) {
|
||||
param = params[i];
|
||||
if (param.type === 'Identifier') {
|
||||
fnExpScope[param.name] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (key in object) {
|
||||
if (object.hasOwnProperty(key)) {
|
||||
@@ -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++) {
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Il Lievitario</title>
|
||||
<meta name="google" value="notranslate" />
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="Pragma" content="no-cache">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9">
|
||||
<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://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.css" >
|
||||
<link rel="stylesheet" href="css/style.min.<?php echo filemtime('css/style.min.css'); ?>.css">
|
||||
<link rel="shortcut icon" sizes="196x196" href="https://dl.dropboxusercontent.com/s/l26w7lk0zwnpehf/Icon_Android196.png">
|
||||
<link rel="apple-touch-icon" href="https://dl.dropboxusercontent.com/s/9cc174ato4hckl5/Icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="https://dl.dropboxusercontent.com/s/onehseqh6cusbo0/Icon~ipad.png" />
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="https://dl.dropboxusercontent.com/s/tcxl91zd502mapa/Icon%402x.png" />
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="https://dl.dropboxusercontent.com/s/pj3fk1lgc4cefwx/Icon~ipad%402x.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui"/>
|
||||
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
|
||||
</head>
|
||||
<body style="background-color: #1d1d1d;">
|
||||
<div id="loadingFrm" style="text-align: center;">
|
||||
<div class="loadingSfondo">
|
||||
<div class="loadingText">
|
||||
<div style="color: #ffffff;"><b>Caricamento...</b></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||