|
@@ -1,65 +1,65 @@
|
|
|
-import { Input, OnInit } from '@angular/core';
|
|
|
-import { Component } from '@angular/core';
|
|
|
-import { IonHeader, IonToolbar, IonTitle, IonContent, IonCard, IonCardContent, IonButton, IonCardHeader, IonCardTitle, IonCardSubtitle, ModalController, IonInput, IonItem, IonSegment, IonSegmentButton, IonLabel } from '@ionic/angular/standalone';
|
|
|
+import { Component, OnInit } from '@angular/core';
|
|
|
+import {
|
|
|
+ IonHeader, IonToolbar, IonTitle, IonContent,
|
|
|
+ IonButton, IonInput, IonItem, IonList, IonIcon,
|
|
|
+ IonSegment, IonSegmentButton, IonLabel, IonButtons
|
|
|
+} from '@ionic/angular/standalone';
|
|
|
+import { ModalController } from '@ionic/angular/standalone';
|
|
|
import { CloudUser } from 'src/lib/ncloud';
|
|
|
+import { addIcons } from 'ionicons';
|
|
|
+import {
|
|
|
+ closeOutline, saveOutline, personOutline,
|
|
|
+ idCardOutline, calendarOutline, transgenderOutline,
|
|
|
+ imageOutline
|
|
|
+} from 'ionicons/icons';
|
|
|
|
|
|
@Component({
|
|
|
selector: 'app-modal-user-edit',
|
|
|
templateUrl: './modal-user-edit.component.html',
|
|
|
styleUrls: ['./modal-user-edit.component.scss'],
|
|
|
standalone: true,
|
|
|
- imports: [IonHeader, IonToolbar, IonTitle, IonContent,
|
|
|
- IonCard,IonCardContent,IonButton,IonCardHeader,IonCardTitle,IonCardSubtitle,
|
|
|
- IonInput,IonItem,
|
|
|
- IonSegment,IonSegmentButton,IonLabel
|
|
|
+ imports: [
|
|
|
+ IonHeader, IonToolbar, IonTitle, IonContent,
|
|
|
+ IonButton, IonInput, IonItem, IonList, IonIcon,
|
|
|
+ IonSegment, IonSegmentButton, IonLabel, IonButtons
|
|
|
],
|
|
|
})
|
|
|
-export class ModalUserEditComponent implements OnInit {
|
|
|
+export class ModalUserEditComponent implements OnInit {
|
|
|
+ currentUser: CloudUser | undefined;
|
|
|
+ userData: any = {};
|
|
|
|
|
|
- currentUser:CloudUser|undefined
|
|
|
- userData:any = {}
|
|
|
- userDataChange(key:string,ev:any){
|
|
|
- let value = ev?.detail?.value
|
|
|
- if(value){
|
|
|
- this.userData[key] = value
|
|
|
- }
|
|
|
- }
|
|
|
- constructor(private modalCtrl:ModalController) {
|
|
|
+ constructor(private modalCtrl: ModalController) {
|
|
|
this.currentUser = new CloudUser();
|
|
|
- this.userData = this.currentUser.data;
|
|
|
+ this.userData = { ...this.currentUser.data };
|
|
|
+ addIcons({
|
|
|
+ closeOutline, saveOutline, personOutline,
|
|
|
+ idCardOutline, calendarOutline, transgenderOutline,
|
|
|
+ imageOutline
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
- ngOnInit() {}
|
|
|
-
|
|
|
- async save(){
|
|
|
- Object.keys(this.userData).forEach(key=>{
|
|
|
- if(key=="age"){
|
|
|
- this.userData[key] = Number(this.userData[key])
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- this.currentUser?.set(this.userData)
|
|
|
- await this.currentUser?.save()
|
|
|
- this.modalCtrl.dismiss(this.currentUser,"confirm")
|
|
|
+ userDataChange(key: string, ev: any) {
|
|
|
+ let value = ev?.detail?.value;
|
|
|
+ if (value) {
|
|
|
+ this.userData[key] = value;
|
|
|
+ }
|
|
|
}
|
|
|
- cancel(){
|
|
|
- this.modalCtrl.dismiss(null,"cancel")
|
|
|
|
|
|
- }
|
|
|
-}
|
|
|
+ ngOnInit() { }
|
|
|
|
|
|
-export async function openUserEditModal(modalCtrl:ModalController):Promise<CloudUser|null>{
|
|
|
- const modal = await modalCtrl.create({
|
|
|
- component: ModalUserEditComponent,
|
|
|
- breakpoints:[0.7,1.0],
|
|
|
- initialBreakpoint:0.7
|
|
|
- });
|
|
|
- modal.present();
|
|
|
+ async save() {
|
|
|
+ Object.keys(this.userData).forEach(key => {
|
|
|
+ if (key == "age") {
|
|
|
+ this.userData[key] = Number(this.userData[key]);
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
- const { data, role } = await modal.onWillDismiss();
|
|
|
+ this.currentUser?.set(this.userData);
|
|
|
+ await this.currentUser?.save();
|
|
|
+ this.modalCtrl.dismiss(this.currentUser, "confirm");
|
|
|
+ }
|
|
|
|
|
|
- if (role === 'confirm') {
|
|
|
- return data;
|
|
|
+ cancel() {
|
|
|
+ this.modalCtrl.dismiss(null, "cancel");
|
|
|
}
|
|
|
- return null
|
|
|
}
|