modal-user-edit.component.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { Component, OnInit } from '@angular/core';
  2. import {
  3. IonHeader, IonToolbar, IonTitle, IonContent,
  4. IonButton, IonInput, IonItem, IonList, IonIcon,
  5. IonSegment, IonSegmentButton, IonLabel, IonButtons
  6. } from '@ionic/angular/standalone';
  7. import { ModalController } from '@ionic/angular/standalone';
  8. import { CloudUser } from 'src/lib/ncloud';
  9. import { addIcons } from 'ionicons';
  10. import {
  11. closeOutline, saveOutline, personOutline,
  12. idCardOutline, calendarOutline, transgenderOutline,
  13. imageOutline
  14. } from 'ionicons/icons';
  15. @Component({
  16. selector: 'app-modal-user-edit',
  17. templateUrl: './modal-user-edit.component.html',
  18. styleUrls: ['./modal-user-edit.component.scss'],
  19. standalone: true,
  20. imports: [
  21. IonHeader, IonToolbar, IonTitle, IonContent,
  22. IonButton, IonInput, IonItem, IonList, IonIcon,
  23. IonSegment, IonSegmentButton, IonLabel, IonButtons
  24. ],
  25. })
  26. export class ModalUserEditComponent implements OnInit {
  27. currentUser: CloudUser | undefined;
  28. userData: any = {};
  29. constructor(private modalCtrl: ModalController) {
  30. this.currentUser = new CloudUser();
  31. this.userData = { ...this.currentUser.data };
  32. addIcons({
  33. closeOutline, saveOutline, personOutline,
  34. idCardOutline, calendarOutline, transgenderOutline,
  35. imageOutline
  36. });
  37. }
  38. userDataChange(key: string, ev: any) {
  39. let value = ev?.detail?.value;
  40. if (value) {
  41. this.userData[key] = value;
  42. }
  43. }
  44. ngOnInit() { }
  45. async save() {
  46. Object.keys(this.userData).forEach(key => {
  47. if (key == "age") {
  48. this.userData[key] = Number(this.userData[key]);
  49. }
  50. });
  51. this.currentUser?.set(this.userData);
  52. await this.currentUser?.save();
  53. this.modalCtrl.dismiss(this.currentUser, "confirm");
  54. }
  55. cancel() {
  56. this.modalCtrl.dismiss(null, "cancel");
  57. }
  58. }