1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
| <!DOCTYPE html>
<html ng-app="monApp">
<head>
<meta charset="utf8" >
<title>UN CRUD dans une BDD MongoLab avec AngularJs</title>
<!-- CHARGEMENT DES LIBRAIRIES -->
<!-- APPEL LIB ANGULAR -->
<script type="text/javascript" src="angular-1.3.13/angular.min.js"></script>
<script src="angular-route.min.js"></script>
<script src="librairies/angular-locale_fr-fr.js"></script>
<!-- CSS DE L'APPLICATION -->
<link href="app10.css" media="screen" rel="stylesheet" type="text/css" />
<!-- FIN DE CHARGEMENT DES LIBRAIRIES -->
<script>
<!-- Déclaration des modules utilisés par l'application MVC Angular, ngRoute est obligatoire pour router les vues : Les modules sont spécifiés entre Crochets, on en trouve des centaines sur internet, ils extendent les capacités d'Angular, ce sont des librairies -->
var monApp = angular.module('monApp',['ngRoute'])
<!-- Configuration des vues et de leurs controleurs affiliés, avec ng-route . Note : Les vues peuvent partager le même controleur-->
.config(function ($routeProvider, $locationProvider){
$routeProvider
.when('/accueil', {
templateUrl: 'defaut.html',
controller: 'accueilCtrl'
})
.when('/liste', {
templateUrl: 'liste.html',
controller: 'listeCtrl'
})
.when('/enregistrer', {
templateUrl: 'enregistrer.html',
controller: 'enregistrerCtrl'
})
.otherwise({redirectTo: '/accueil'});
})
<!-- LE CONTROLEUR DE L'ACCUEIL -->
.controller("accueilCtrl", function($scope) {
$scope.bonjour = "Mr Durand";
<!-- FIN DU CONTROLEUR -->
})
<!-- LE CONTROLEUR DE LA LISTE -->
.controller("listeCtrl", function($scope,$http) {
$http.get('https://api.mongolab.com/api/1/databases/superjojo/collections/Test?apiKey=GP50LkzEgoxBnZDP9N-jCkpO5yln2gIS')
.success(function(data) {
console.log(data)
$scope.liste = data;
});
$scope.supprimer = function(t){
alert(t);
$http.delete('https://api.mongolab.com/api/1/databases/superjojo/collections/Test?apiKey=GP50LkzEgoxBnZDP9N-jCkpO5yln2gIS',
{"nom":t})
}
<!-- FIN DU CONTROLEUR -->
})
<!-- LE CONTROLEUR DE L ENREGISTREMENT -->
.controller("enregistrerCtrl", function($scope,$http) {
<!-- Initialisation des champs Input -->
$scope.nom = "";
$scope.age = "";
<!-- Envoi des valeurs entrées par l'utilisateur dans notre database mongolab -->
$scope.enregistrer = function(){
$http.post('https://api.mongolab.com/api/1/databases/superjojo/collections/Test?apiKey=GP50LkzEgoxBnZDP9N-jCkpO5yln2gIS', {"nom":$scope.nom,"age":$scope.age}, {
headers: {
'Content-Type': 'application/json; charset=UTF-8'
}
})
.success(function() {
console.log('Data saved successfully')
});
};
<!-- FIN DU CONTROLEUR -->
})
</script>
</head>
<!-- La page HTML générale -->
<body ng-controller="accueilCtrl" >
<h1>UN CRUD dans une BDD MongoLab avec AngularJs</h1>
<!-- Le menu, qui appelle,grâce à HREF, les différentes vues HTML situées plus bas, puis les affiche dans la balise ng-view -->
<div class="container ">
<div class="menu designDiv">
<a href="#/accueil" class="">Accueil</a>
<a href="#/liste" class="">Liste </a>
<a href="#/enregistrer" class="">Enregistrer</a>
</div>
<!-- Cette balise NG-View va afficher les différentes vues -->
<div id="main" class="designDiv">
<div ng-view></div>
</div>
</div>
</body>
<!-- Voici maintenant la liste des vues qui s'affichent dans la balise ng-view(voir plus haut), qui doivent généralement être dans un fichier séparé, normalement dans un réperoire "views", pour être à la norme BOWER -->
<!-- VUE HTML : DEFAUT-->
<script type="text/ng-template" id="defaut.html">
Bonjour {{bonjour}} je suis la vue de l'accueil.
</div>
</script>
<!-- VUE HTML : LISTE -->
<script type="text/ng-template" id="liste.html">
Bonjour, je suis la vue qui présente une liste(collection) présente dans la base de donnée MongoLab.
<div ng-repeat="element in liste">Nom: {{element.nom}} Age:{{element.age}} <button ng-click="supprimer(element._id.$oid)">supprimer</button></div>
</script>
<!-- VUE HTML : ENREGISTRER -->
<script type="text/ng-template" id="enregistrer.html">
Bonjour, je suis la vue qui permet d'enregistrer un élèment dans la liste(collection) dans la base de donnée Mongolab.
<br><br><br>
<label>Nom</label>
<br>
<input ng-model="nom" ></input>{{nom}}
<br>
<label>Age</label>
<br>
<input type="number" ng-model="age"></input>{{age}}
<br>
{{data}}
<button ng-click="enregistrer(data)">Enregistrer</button>
</script> |
Partager