Skip to content

Commit

Permalink
🛠 Refactor: Remove RNIModalView.modalUUID
Browse files Browse the repository at this point in the history
Related:
* TODO:2023-03-17-12-42-02 - Remove `RNIModalView.modalUUID`.

Summary: Remove `RNIModalView.modalUUID`, and replace usage w/ `modalNativeID`.
  • Loading branch information
dominicstop committed Mar 26, 2023
1 parent cd35f15 commit 7ca0e3f
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 19 deletions.
19 changes: 10 additions & 9 deletions ios/src_library/React Native/RNIModalView/RNIModalView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@ class RNIModalView: UIView, RNIModalFocusNotifying, RNIModalIdentity,
}
};

/// TODO:2023-03-17-12-42-02 - Remove RNIModalView.modalUUID
let modalUUID = UUID().uuidString;

// MARK: - Properties - RNIModalFocusNotifying
// -------------------------------------------

Expand Down Expand Up @@ -357,8 +354,9 @@ class RNIModalView: UIView, RNIModalFocusNotifying, RNIModalIdentity,
private func initControllers(){
#if DEBUG
print(
"RNIModalView init - initControllers for modal: "
+ "\(self.modalID ?? self.modalUUID as NSString)");
"RNIModalView init - initControllers"
+ " - modalNativeID: '\(self.modalNativeID!)'"
);
#endif

self.modalVC = {
Expand All @@ -382,7 +380,10 @@ class RNIModalView: UIView, RNIModalFocusNotifying, RNIModalIdentity,
/// * Refactor so that we don't have to constantly cleanup...
private func deinitControllers(){
#if DEBUG
print("RNIModalView init - deinitControllers for modal: \(self.modalID ?? self.modalUUID as NSString)");
print(
"RNIModalView init - deinitControllers"
+ " - modalNativeID: '\(self.modalNativeID!)'"
);
#endif

self.modalVC?.reactView = nil;
Expand Down Expand Up @@ -458,7 +459,7 @@ class RNIModalView: UIView, RNIModalFocusNotifying, RNIModalIdentity,
/// helper function to create a `NativeEvent` object
func createModalNativeEventDict() -> Dictionary<AnyHashable, Any> {
var dict: Dictionary<AnyHashable, Any> = [
"modalUUID": self.modalUUID,
"modalNativeID": self.modalNativeID!,

"modalLevel": self.modalLevel,
"modalLevelPrev": self.modalLevelPrev,
Expand Down Expand Up @@ -736,11 +737,11 @@ extension RNIModalView: UIAdaptivePresentationControllerDelegate {
/// TODO:2023-03-24-14-25-52 - Remove `RNIModalViewFocusDelegate`-related logic
extension RNIModalView: RNIModalViewFocusDelegate {

func onModalChangeFocus(modalLevel: Int, modalUUID: String, isInFocus: Bool) {
func onModalChangeFocus(modalLevel: Int, modalNativeID: String, isInFocus: Bool) {
guard
/// defer if the receiver of the event is the same as the sender
/// i.e defer if this instance of `RNIModalView` was the one who broadcasted the event
self.modalUUID != modalUUID,
self.modalNativeID != modalNativeID,
/// defer if the modal is not currently presented or if the modalLevel is -1
self.synthesizedIsModalPresented && self.modalLevel > 0 else { return };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ import Foundation
/**
- Parameters:
- modalLevel: the `RNIModalView` sender's current modalLevel
- modalUUID : the `RNIModalView` sender's modalUUID
- isInFocus : Whether or not the modal is going in or out of focus
- modalID : the `RNIModalView` sender's modalID
- isInFocus : Whether or not the modal is going in or out of focus
*/
func onModalChangeFocus(modalLevel: Int, modalUUID: String, isInFocus: Bool);
func onModalChangeFocus(modalLevel: Int, modalNativeID: String, isInFocus: Bool);

};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,33 +71,33 @@ extension RNIModalViewManager: RNIModalViewPresentDelegate {

func onPresentModalView(modalView: RNIModalView) {
let modalLevel = modalView.modalLevel;
let modalUUID = modalView.modalUUID;
let modalNativeID = modalView.modalNativeID!;

self.currentModalLevel = modalLevel;
self.presentedModalRefs.setObject(modalView, forKey: modalUUID as NSString);
self.presentedModalRefs.setObject(modalView, forKey: modalNativeID as NSString);

// notify delegates that a new modal is in focus
self.delegatesFocus.invoke {
$0.onModalChangeFocus(
modalLevel: modalLevel,
modalUUID : modalUUID,
modalNativeID: modalNativeID,
isInFocus : true
);
};
};

func onDismissModalView(modalView: RNIModalView) {
let modalLevel = modalView.modalLevelPrev;
let modalUUID = modalView.modalUUID;
let modalID = modalView.modalNativeID!

self.currentModalLevel = modalLevel;
self.presentedModalRefs.removeObject(forKey: modalUUID as NSString);
self.presentedModalRefs.removeObject(forKey: modalID as NSString);

// notify delegates that a new modal is lost focus
self.delegatesFocus.invoke {
$0.onModalChangeFocus(
modalLevel: modalLevel,
modalUUID : modalUUID,
modalNativeID: modalID,
isInFocus : false
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ extension RNIModalViewModule {
completion();

let manager = RNIModalViewManager.sharedInstance;
manager?.presentedModalRefs.removeObject(forKey: modalRef.modalUUID as NSString);
manager?.presentedModalRefs.removeObject(forKey: modalRef.modalNativeID! as NSString);
};

} else {
Expand Down

0 comments on commit 7ca0e3f

Please sign in to comment.