Guest User

Untitled

a guest
Jun 18th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.01 KB | None | 0 0
  1. <ion-header>
  2. <ion-navbar>
  3. <ion-buttons right>
  4. <button (click)="addItem()" ion-button >
  5. aggiungi
  6. </button>
  7. </ion-buttons>
  8. <ion-title>Gestione libri</ion-title>
  9. <ion-buttons left>
  10. <button ion-button menuToggle>
  11. <ion-icon name="menu"></ion-icon>
  12. </button>
  13. </ion-buttons>
  14. </ion-navbar>
  15. </ion-header>
  16.  
  17. <ion-content padding>
  18. <ion-grid>
  19. <ion-row>
  20. <ion-col *ngFor="let libro of libri; let i =index;" >
  21. <div>
  22. <ion-card-header><h1>{{libro.title}}</h1></ion-card-header>
  23. <ion-card-header><h3>Autore:{{libro.author}}</h3></ion-card-header>
  24. <ion-card-header><h4>Anno:{{libro.year}}</h4></ion-card-header>
  25. <div id="immagine">
  26. <img src="../assets/{{libro.imageLink}}">
  27. </div>
  28. <button ion-button (click)="modifyItem(libro)" color="">Modify</button>
  29. <button ion-button (click)="remove(i);" color="danger" >Rimuovi</button>
  30. <button ion-button color="{{libro.prenotato ? 'danger' : 'secondary'}}">Status</button>
  31. </div>
  32.  
  33. </ion-col>
  34. </ion-row>
  35. </ion-grid>
  36.  
  37. </ion-content>
  38.  
  39. import { Component } from '@angular/core';
  40. import { IonicPage, NavController, NavParams} from 'ionic-angular';
  41. import { ModicaAggiungi } from '../../pages/interactionpage/interactionpage';
  42. import { libriClient } from '../../models/modello';
  43. import { ProviderServizio } from '../../providers/libriprovider/libriprovider';
  44. import { SplashScreen } from '@ionic-native/splash-screen';
  45. import { HttpClient } from '@angular/common/http';
  46.  
  47.  
  48.  
  49. @IonicPage()
  50. @Component({
  51. selector: 'page-special',
  52. templateUrl: 'special.html',
  53. })
  54. export class SpecialPage {
  55. toggoleShowHide: boolean;
  56. hideMe: boolean;
  57. libri: libriClient[] = [];
  58.  
  59.  
  60. constructor(splashScreen: SplashScreen, private libroProvider: ProviderServizio, public navCtrl: NavController, public navParams: NavParams,public http: HttpClient) {
  61. // this.libroProvider .getdelloggetto().subscribe(libri => {
  62. // this.libri = libri
  63. // console.log(libri)
  64. // });
  65.  
  66. this.toggoleShowHide = true;
  67.  
  68. this.libroProvider.loadData().subscribe(res=>{
  69. this.libri=res;
  70. console.log(this.libri)
  71. })
  72.  
  73. }
  74.  
  75.  
  76. modificaItem(libro: libriClient) {
  77. this.navCtrl.push(ModicaAggiungi, {selector: 'modifica', libro: libro} );
  78. }
  79. itemClicked(){
  80. this.toggoleShowHide = !this.toggoleShowHide;
  81. }
  82. addItem(){
  83. this.navCtrl.push(ModicaAggiungi, {selector: 'Aggiungi'});
  84. }
  85.  
  86. onButtonClick(libro: libriClient){
  87. this.libroProvider.removeItem(libro.id);
  88. }
  89. remove(no){
  90. (this.libri).splice(no,1);
  91. }
  92. }
  93.  
  94. <ion-header>
  95. <ion-navbar>
  96. <ion-title>{{selector}}</ion-title>
  97. </ion-navbar>
  98.  
  99. </ion-header>
  100.  
  101.  
  102. <ion-content padding>
  103.  
  104. <form (ngSubmit)="selector === 'modifica' ? modificaEff() : aggLibro()">
  105. <ion-item>
  106. <ion-label>Titolo</ion-label>
  107. <ion-input type="text" [(ngModel)]="libro.title" name="titolo"></ion-input>
  108. </ion-item>
  109.  
  110.  
  111. <ion-item>
  112. <ion-label>Autore</ion-label>
  113. <ion-input type="text" [(ngModel)]="libro.author" name="autore"></ion-input>
  114. </ion-item>
  115.  
  116.  
  117. <ion-item>
  118. <ion-label>Anno</ion-label>
  119. <ion-input type="number" min="0" max="2018" [(ngModel)]="libro.year" name="data"></ion-input>
  120. </ion-item>
  121.  
  122. <ion-item>
  123. <ion-label>Prenotato</ion-label>
  124. <ion-toggle [(ngModel)]="libro.prenotato" name="siono"></ion-toggle>
  125. </ion-item>
  126.  
  127. <button ion-button type="submit" >Aggiungi / Modifica L'oggetto</button>
  128.  
  129. </form>
  130. </ion-content>
  131.  
  132. import { Component } from '@angular/core';
  133. import { IonicPage, NavController, NavParams } from 'ionic-angular';
  134. import { libriClient } from "../../models/modello";
  135. import { HomePage } from '../home/home';
  136. import { ProviderServizio } from '../../providers/libriprovider/libriprovider';
  137. import { SpecialPage } from '../special/special';
  138. import { Observable } from 'rxjs/Observable';
  139. import { HttpClient } from '@angular/common/http';
  140.  
  141.  
  142.  
  143. @IonicPage()
  144. @Component({
  145. selector: 'page-interactionpage',
  146. templateUrl: 'interactionpage.html',
  147. })
  148. export class ModicaAggiungi {
  149.  
  150. selector: string;
  151. libro: libriClient;
  152.  
  153.  
  154.  
  155. constructor(private libroProvider: ProviderServizio,public http: HttpClient, public navCtrl: NavController, public navParams: NavParams) {
  156. this.selector = this.navParams.get('selector');
  157. this.selector === 'modifica' ? this.modificatore() : this.creatore();
  158. }
  159. loadData(){
  160. let data:Observable<any>;
  161. data = this.http.get("assets/books.json");
  162. data.subscribe(result => {
  163. this.libro = result;
  164. })
  165.  
  166. }
  167.  
  168. creatore(){
  169. this.libro = new libriClient;
  170. this.libro.year = new Date().toISOString();
  171. }
  172.  
  173. modificatore(){
  174. this.libro = this.navParams.get('libro');
  175. }
  176.  
  177.  
  178. modificaEff(){
  179. alert('modificato');
  180. this.navCtrl.push(SpecialPage);
  181. }
  182.  
  183.  
  184. aggLibro(){
  185. alert('aggiunto');
  186. this.libroProvider.addItem(this.libro);
  187. this.navCtrl.push(SpecialPage);
  188. }
  189.  
  190. }
  191.  
  192. import { Injectable } from '@angular/core';
  193. import { libriClient } from '../../models/modello';
  194. import { Observable } from 'rxjs/Observable';
  195. import { of } from 'rxjs/observable/of';
  196. import { Component } from '@angular/core';
  197. import { IonicPage, NavController, NavParams,Platform, ModalController } from 'ionic-angular';
  198. import { ModicaAggiungi } from '../../pages/interactionpage/interactionpage';
  199. import { SplashScreen } from '@ionic-native/splash-screen';
  200. import { HttpClient } from '@angular/common/http';
  201.  
  202.  
  203.  
  204. @Injectable()
  205.  
  206.  
  207. export class ProviderServizio {
  208. libri: libriClient[] = [];
  209. title:string;
  210. author:string;
  211. date: string = new Date().toISOString();
  212. constructor(splashScreen: SplashScreen,public http: HttpClient, private modal: ModalController) {
  213.  
  214. this.loadData();
  215.  
  216.  
  217. }
  218. loadData() : Observable<any>{
  219. return this.http.get("assets/books.json")
  220.  
  221. }
  222.  
  223.  
  224.  
  225.  
  226. chiamata(){
  227.  
  228. }
  229. getdellibro(id: number): Observable<libriClient> {
  230. return of(this.libri.find(libro => libro.id === id));
  231. }
  232.  
  233.  
  234. getdelloggetto(): Observable<libriClient[]> {
  235. return of(this.libri);
  236.  
  237. }
  238.  
  239.  
  240.  
  241.  
  242. addItem(libro: libriClient): void {
  243. this.libri.push(libro);
  244. }
  245.  
  246.  
  247. removeItem(id: number): void{
  248. this.libri.forEach((item, index) => {
  249. if(item.id === id) this.libri.splice(index,1);
  250. });
  251. alert('rimosso');
  252. }
  253. }
Add Comment
Please, Sign In to add comment