Meeting edition fixes

This commit is contained in:
Christophe Deschamps 2022-10-11 17:10:55 +02:00
parent 384c5ccf65
commit 6c1beb6f06
6 changed files with 16 additions and 9 deletions

View file

@ -64,7 +64,7 @@ class ConferenceSchedulingViewModel {
private var chatRooomDelegate : ChatRoomDelegate? = nil
private var conferenceSchedulerDelegate : ConferenceSchedulerDelegateStub? = nil
var existingConfInfo:ConferenceInfo? = nil
var existingConfInfo:MutableLiveData<ConferenceInfo?> = MutableLiveData()
init () {
@ -165,7 +165,7 @@ class ConferenceSchedulingViewModel {
}.first
continueEnabled.value = false
selectedAddresses.value = []
existingConfInfo = nil
existingConfInfo.value = nil
description.value = ""
}
@ -198,7 +198,7 @@ class ConferenceSchedulingViewModel {
conferenceScheduler = try? Core.get().createConferenceScheduler()
conferenceScheduler?.addDelegate(delegate: conferenceSchedulerDelegate!)
guard let conferenceInfo = existingConfInfo != nil ? existingConfInfo : try Factory.Instance.createConferenceInfo() else {
guard let conferenceInfo = existingConfInfo.value != nil ? existingConfInfo.value??.clone() : try Factory.Instance.createConferenceInfo() else {
Log.e("[Conference Creation/Update] Failed, unable to get conf info.")
return
}
@ -213,7 +213,7 @@ class ConferenceSchedulingViewModel {
}
conferenceScheduler?.account = localAccount
conferenceScheduler?.info = conferenceInfo // Will trigger the conference creation automatically
existingConfInfo = conferenceInfo
existingConfInfo.value = conferenceInfo
} catch {
Log.e("[Conference Creation] Failed \(error)")

View file

@ -174,7 +174,11 @@ import SVProgressHUD
// Create / Schedule
contentView.addSubview(createButton)
ConferenceSchedulingViewModel.shared.scheduleForLater.readCurrentAndObserve { _ in
self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased()
self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit.uppercased() : VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased()
self.createButton.addSidePadding()
}
ConferenceSchedulingViewModel.shared.existingConfInfo.readCurrentAndObserve { _ in
self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit.uppercased() : VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased()
self.createButton.addSidePadding()
}
@ -211,7 +215,7 @@ import SVProgressHUD
}
}
ConferenceSchedulingViewModel.shared.scheduleForLater.readCurrentAndObserve { (later) in
self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased()
self.createButton.title = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit.uppercased() : VoipTexts.conference_schedule_start.uppercased() : VoipTexts.conference_group_call_create.uppercased()
viaChatLabel.isHidden = later != true || ConferenceSchedulingViewModel.shared.sendInviteViaChat.value != true
self.createButton.addSidePadding()
}

View file

@ -198,12 +198,14 @@ import IQKeyboardManager
// Schedule for later observer
ConferenceSchedulingViewModel.shared.scheduleForLater.readCurrentAndObserve { (forLater) in
scheduleForm.isHidden = forLater != true
super.titleLabel.text = forLater == true ? VoipTexts.conference_schedule_title : VoipTexts.conference_group_call_title
super.titleLabel.text = forLater == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit : VoipTexts.conference_schedule_title : VoipTexts.conference_group_call_title
mandatoryLabel.removeConstraints().done()
mandatoryLabel.alignUnder(view: forLater == true ? scheduleForm : scheduleForLater,withMargin: 2*self.form_margin).centerX().matchParentSideBorders().done()
}
ConferenceSchedulingViewModel.shared.existingConfInfo.readCurrentAndObserve { (confInfo) in
super.titleLabel.text = ConferenceSchedulingViewModel.shared.scheduleForLater.value == true ? ConferenceSchedulingViewModel.shared.existingConfInfo.value != nil ? VoipTexts.conference_schedule_edit : VoipTexts.conference_schedule_title : VoipTexts.conference_group_call_title
}
}

View file

@ -196,7 +196,7 @@ class ScheduledConferencesCell: UITableViewCell {
confData.conferenceInfo.participants.forEach {
ConferenceSchedulingViewModel.shared.selectedAddresses.value?.append($0)
}
ConferenceSchedulingViewModel.shared.existingConfInfo = confData.conferenceInfo
ConferenceSchedulingViewModel.shared.existingConfInfo.value = confData.conferenceInfo
// TOODO TimeZone (as Android 14.6.2022) ConferenceSchedulingViewModel.shared.scheduledTimeZone.value = self.conferenceData?.timezone
let view : ConferenceSchedulingView = self.VIEW(ConferenceSchedulingView.compositeViewDescription())
PhoneMainView.instance().changeCurrentView(view.compositeViewDescription())

View file

@ -124,6 +124,7 @@ import UIKit
@objc static let conference_schedule_send_invite_chat_summary = NSLocalizedString("Invite will be sent out from my &appName; account",comment:"").replacingOccurrences(of: "&appName;", with: appName)
@objc static let conference_schedule_send_invite_email = NSLocalizedString("Send invite via email",comment:"")
@objc static let conference_schedule_start = NSLocalizedString("Schedule meeting",comment:"")
@objc static let conference_schedule_edit = NSLocalizedString("Edit meeting",comment:"")
@objc static let conference_schedule_subject_hint = NSLocalizedString("Meeting subject",comment:"")
@objc static let conference_schedule_subject_title = NSLocalizedString("Subject",comment:"")
@objc static let conference_schedule_summary = NSLocalizedString("Meeting info",comment:"")