Skip to content

Commit

Permalink
Añadida más lógica con Angular para la parte de reservas, #2, y modif…
Browse files Browse the repository at this point in the history
…icada sección de ocio para mejora de su visualización en móvil, #6
  • Loading branch information
juanAFernandez committed May 29, 2016
1 parent 0dbb22f commit 69959cb
Show file tree
Hide file tree
Showing 7 changed files with 307 additions and 52 deletions.
89 changes: 75 additions & 14 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,9 @@ app.controller('loginController', function($scope){
app.controller('controladorReservas', function($scope){

// VARIABLES PARA LA VISTA DE LAS RESERVAS //
var reservasRealizadas = [];



var today = new Date();
var dd = today.getDate();
Expand Down Expand Up @@ -130,10 +133,11 @@ app.controller('controladorReservas', function($scope){
$scope.numHabitacionesLibres = 0;

var reservas = [];
console.log('Inicialización de la Base de Datos en memoria');
reservas.push({fecha:'28-05-2016', habitaciones:['101']})
reservas.push({fecha:'29-05-2016', habitaciones:['104','203','301']})
console.log(reservas);
console.log(JSON.stringify(reservas))
console.log(reservas); //En objetos
console.log(JSON.stringify(reservas)); //En json

$scope.fechaActual=fecha;

Expand Down Expand Up @@ -164,7 +168,51 @@ app.controller('controladorReservas', function($scope){
};



//Añade una habitación a la reserva
$scope.addHabitacion = function(numHab, precioHab){
console.log('Call addHabitacion') ;
reservasRealizadas.push({fecha:fecha, habitacion:numHab, precio:precioHab})
console.log(reservasRealizadas);
$scope.reservasRealizadas=reservasRealizadas;

//Calculamos el precio total:
var precioAcum=0;
for(var i=0; i<reservasRealizadas.length; i++){
precioAcum+=reservasRealizadas[i].precio;
}
$scope.precioTotal=precioAcum;
//$scope.$apply();

/*Cuando añadimos una habitación a la reserva hay que mararla roja en el canvas
para eso modificamos el vecotr de habitaciones (usado para ver el color del dibujo)*/
console.log('add habitacion !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
console.log(habitaciones);

//Hay que realizar la reserva, revistando el objetos reservas
//si existen reservas para esa fecha se añaden a esta
var coincideFecha=false;
for(var i=0; i<reservas.length; i++){
if(reservas[i].fecha==fecha){
console.log('Coincide fecha');
coincideFecha=true;
reservas[i].habitaciones.push(numHab);
console.log(reservas[i].habitaciones);
}
};
//si no existen reservas para esa fecha, se introduce sin más
if(!coincideFecha){
reservas.push({fecha:fecha, habitaciones:[numHab]})
}
console.log('Reservas tras la addHabitacion)');
console.log(reservas);

//Se guarda en la base de datos:
localStorage.setItem('reservas', JSON.stringify(reservas));

console.log(habitaciones);
//Para que repinte el canvas
actualiza2();
}


// ### CAMBIO DE PLANTA ### //
Expand Down Expand Up @@ -302,9 +350,22 @@ app.controller('controladorReservas', function($scope){
init();
}

//Función que solo puede ser llamada desde el controlador
function openHab(){
alert('openHab');
//Función que es llamada por los manejadores de eventos de las figuras del canvas.
function openHab(numHab){
//alert(numHab);

//Segun la habitación que sea vamos a pasarle algunos datos al modal para que se concrete un poco.
$scope.numHab=numHab;
$scope.precioHab=35;

//Aplicamos los cambios al scope.
$scope.$apply();

//Referenciamos al modal que está definido en la vista en reservas.html
var modal = UIkit.modal("#Modal101");
//Lo lanzamos
modal.show();

};

//Creamos la variable del canvas
Expand All @@ -329,14 +390,14 @@ app.controller('controladorReservas', function($scope){
lineTo(50, 50);

habA.addEventListener("click", function(event) {
habA.graphics.beginFill("Red");
habA.graphics.moveTo(50, 50).
lineTo(200, 50).
lineTo(200, 200).
lineTo(50, 200).
lineTo(50, 50);
stage.update(event);
openHab();
//Si la habitación está reservada:
if(habitaciones[0]==1){
//Lanzamos un mensaje de que no se puede seleccionar.
$.UIkit.notify("Habitación selecionada no disponible.", {status:'warning'});
}else{
//realizamos el procedimiento normal.
openHab(planta+'01');
}
})

var txtHabA = new createjs.Text();
Expand Down
Binary file added images/room1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/room2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 21 additions & 11 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,18 @@
<!-- Loading UI-KIT CSS Framework -->
<link type="text/css" rel="stylesheet" href="css/uikit.gradient.min.css" />
<link type="text/css" rel="stylesheet" href="css/components/datepicker.gradient.min.css" />

<link type="text/css" rel="stylesheet" href="css/components/form-select.gradient.min.css" />
<!-- CSS del tema de uikit tm (útil para algunas cosas como el nav oscuro y el footer)-->
<link type="text/css" rel="stylesheet" href="css/docs.css">
<link type="text/css" rel="stylesheet" href="css/slider.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /





<!-- Añadido formato, daba error en la consola -->
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<!--Añadimos la librería AngularJS -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<!--Librería de enrutamiento -->
Expand All @@ -25,33 +27,41 @@

<script src="js/utils.js"></script>
<!-- Para slider de fotos -->
<script src="js/slider.js"></script>
<!-- Necesario para notificaciones flotantes -->
<link type="text/css" rel="stylesheet" href="css/components/notify.gradient.css" />
<script type="text/javascript" src="js/components/notify.js"></script>
<!-- <script src="js/slider.js"></script>-->
<!-- Necesario para notificaciones flotantes -->
<link type="text/css" rel="stylesheet" href="css/components/notify.gradient.css" />
<script type="text/javascript" src="js/components/notify.js"></script>




<!--Query-->
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<!--Modulos de JavaScript necesarios para que uikit funcione-->
<script src="js/uikit.min.js"></script>
<<<<<<< HEAD


<script src="js/components/datepicker.js"></script>
<script src="js/components/form-select.js"></script>
=======
>>>>>>> 4384930f7e698a55809a44b610819935568a753d
<!--Componentes -->

<script src="js/components/datepicker.js"></script>
<script src="js/components/form-select.js"></script>

<link type="text/css" rel="stylesheet" href="css/components/notify.gradient.css" />
<script type="text/javascript" src="js/components/notify.js"></script>

<!--Lib de twitter -->
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
</script>
<script src="https://code.createjs.com/easeljs-0.8.2.min.js"></script>



</head>


<!--Llamamos a la función aprovisionar() definida en js/utils.js para que carge los datos en el Local Storage del navegador -->
<body onload="aprovisionar()">

<div ui-view></div>
</body>

Expand Down
84 changes: 60 additions & 24 deletions ocio.html
Original file line number Diff line number Diff line change
@@ -1,27 +1,63 @@
<div class="uk-overflow-container" style="background-color: white;">
<h1 class="uk-text-center">OCIO</h1>
<h2 class=" uk-margin-top uk-margin-left">Oferta de Ocio</h2>


<p class="uk-margin-left">Granada ofrece una amplia variedad de actividades de ocio para todas la edades, desde el <strong>Hotel Las Nieves</strong> hemos querido recopilar las más interesantes
para nuestros clientes.<p>

<div class="uk-container uk-container-center uk-margin-large-left uk-margin-large-bottom uk-margin-large-top">

<div class="uk-grid">
<div class="uk-width-small-1-3">
<h4><a href="http://alhambra-entradas.es/comprar-entradas-para-la-alhambra/"
style="text-decoration: none; "><i class="uk-icon-fort-awesome uk-icon-medium uk-margin-right"></i>Visita a la Alhambra</a>
</h4>
</div>
<div class="uk-width-small-1-3">
<h4><a href="http://www.parqueciencias.com/parqueciencias/menus/tarifas.html"
style="text-decoration: none; "><i class="uk-icon-flask uk-icon-medium uk-margin-right"></i>Parque de las Ciencias</a>
</h4>
</div>
<div class="uk-width-small-1-3">
<h4><a href="http://www.conciertosengranada.es/"
style="text-decoration: none; "><i class="uk-icon-music uk-icon-medium uk-margin-right"></i>Conciertos Próximos</a>
</h4>
</div>
</div>
<div class="uk-grid">
<div class="uk-width-small-1-3">
<h4><a href="http://www.granadacf.es/entradas/entradas-primer-equipo"
style="text-decoration: none; "><i class="uk-icon-soccer-ball-o uk-icon-medium uk-margin-right"></i>Partidos Granda C. F.</a>
</h4>
</div>
<div class="uk-width-small-1-3">
<h4><a href="http://sierranevada.es/es/invierno/forfait/"
style="text-decoration: none; "><i class="uk-icon-tree uk-icon-medium uk-margin-right"></i>Sierra Nevada</a>
</h4>
</div>
<div class="uk-width-small-1-3">
<h4><a href="http://banosdeelvira.es/"
style="text-decoration: none; "><i class="uk-icon-bank uk-icon-medium uk-margin-right"></i>Baños Árabes</a>
</h4>
</div>
</div>
<div class="uk-grid">
<div class="uk-width-small-1-3">
<h4><a href="https://kinepolis.es/cines/kinepolis-granada"
style="text-decoration: none; "><i class="uk-icon-film uk-icon-medium uk-margin-right"></i>Cine</a>
</h4>
</div>
<div class="uk-width-small-1-3">
<h4><a href="http://www.granadafestival.org/"
style="text-decoration: none; "><i class="uk-icon-music uk-icon-medium uk-margin-right"></i>Festival de música y danza</a>
</h4>
</div>
<div class="uk-width-small-1-3">
<h4><a href="http://granadainfo.com/dogranada/walksp1.htm"
style="text-decoration: none; "><i class="uk-icon-bus uk-icon-medium uk-margin-right"></i>Paseo Albaicin</a>
</h4>
</div>
</div>
</div>

<table class="uk-table uk-table-hover uk-table-condensed background-color: white;">
<thead>
<tr>
<td class="uk-width-1-10 uk-text-center"><a href="http://alhambra-entradas.es/comprar-entradas-para-la-alhambra/" class="uk-icon-button uk-icon-fort-awesome"></a>Visita la Alhambra</td>
<td class="uk-width-1-10 uk-text-center"><a href="http://www.parqueciencias.com/parqueciencias/menus/tarifas.html" class="uk-icon-button uk-icon-flask"></a>Parque de las Ciencias</td>
<td class="uk-width-1-10 uk-text-center"><a href="http://www.conciertosengranada.es/" class="uk-icon-button uk-icon-music"></a>Conciertos Próximos</td>
</tr>
</thead>
<thead>
<tr>
<td class="uk-width-1-10 uk-text-center"><a href="http://www.granadacf.es/entradas/entradas-primer-equipo" class="uk-icon-button uk-icon-soccer-ball-o"></a>Partidos Granada C.F.</td>
<td class="uk-width-1-10 uk-text-center"><a href="http://sierranevada.es/es/invierno/forfait/" class="uk-icon-button uk-icon-tree"></a>Sierra Nevada</td>
<td class="uk-width-1-10 uk-text-center"><a href="http://banosdeelvira.es/" class="uk-icon-button uk-icon-bank"></a>Baños Árabes</td>
</tr>
</thead>
<thead>
<tr>
<td class="uk-width-1-10 uk-text-center"><a href="https://kinepolis.es/cines/kinepolis-granada" class="uk-icon-button uk-icon-film"></a>Cine</td>
<td class="uk-width-1-10 uk-text-center"><a href="http://www.granadafestival.org/" class="uk-icon-button uk-icon-music"></a>Festival de música y danza</td>
<td class="uk-width-1-10 uk-text-center"><a href="http://granadainfo.com/dogranada/walksp1.htm" class="uk-icon-button uk-icon-bus"></a>Paseo Albaicin</td>
</tr>
</thead>
</table>
</div>
1 change: 0 additions & 1 deletion publicTemplate.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@


<div class="tm-background">
<!-- Barra de navegación -->
<nav class="tm-navbar uk-navbar uk-navbar-attached">
Expand Down
Loading

0 comments on commit 69959cb

Please sign in to comment.