UNPKG

2.8 kBPlain TextView Raw
1//
2// NumericPinCodeInputViewManager.swift
3// Pods
4//
5// Created by evahsu on 2019/10/17.
6//
7
8import Foundation
9@objc(NumericPinCodeInputViewManager)
10class NumericPinCodeInputViewManager: RCTViewManager {
11 override func view() -> UIView! {
12 let view = NumericPinCodeInputView();
13 view.bridge = self.bridge
14 return view;
15 }
16
17 override static func requiresMainQueueSetup() -> Bool {
18 return true
19 }
20
21 @objc public func submit(_ reactTag: NSNumber, requestId: NSNumber) {
22 DispatchQueue.main.async {
23 let view = self.bridge.uiManager.view(forReactTag: reactTag)
24 guard let inputView = view as? NumericPinCodeInputView else {
25 return
26 }
27 inputView.submit(requestId: Int(requestId))
28 }
29 }
30
31 @objc public func submitForMultiple(_ reactTag: NSNumber, requestId: NSNumber) {
32 DispatchQueue.main.async {
33 let view = self.bridge.uiManager.view(forReactTag: reactTag)
34 guard let inputView = view as? NumericPinCodeInputView else {
35 return
36 }
37 inputView.submitForMultiple(requestId: Int(requestId))
38 }
39 }
40
41 @objc public func submitPlain(_ reactTag: NSNumber, requestId: NSNumber) {
42 DispatchQueue.main.async {
43 let view = self.bridge.uiManager.view(forReactTag: reactTag)
44 guard let inputView = view as? NumericPinCodeInputView else {
45 return
46 }
47 inputView.submitPlain(requestId: Int(requestId))
48 }
49 }
50
51 @objc public func getStrengthLevel(_ reactTag: NSNumber, requestId: NSNumber, checkLength: NSNumber) {
52 DispatchQueue.main.async {
53 let view = self.bridge.uiManager.view(forReactTag: reactTag)
54 guard let inputView = view as? NumericPinCodeInputView else {
55 return
56 }
57 inputView.getStrengthLevel(requestId: Int(requestId), checkLength: Int(checkLength))
58 }
59 }
60
61 @objc public func isSamePin(_ reactTag: NSNumber, requestId: NSNumber, pinSecret1: NSDictionary, pinSecret2: NSDictionary) {
62 DispatchQueue.main.async {
63 let view = self.bridge.uiManager.view(forReactTag: reactTag)
64 guard let inputView = view as? NumericPinCodeInputView else {
65 return
66 }
67 inputView.isSamePin(requestId: Int(requestId), pinSecret1: pinSecret1, pinSecret2: pinSecret2)
68 }
69 }
70
71 @objc public func clear(_ reactTag: NSNumber) {
72 DispatchQueue.main.async {
73 let view = self.bridge.uiManager.view(forReactTag: reactTag)
74 guard let inputView = view as? NumericPinCodeInputView else {
75 return
76 }
77 inputView.clear()
78
79 }
80 }
81}