void ReleaseDesignerOutlets() { if (CloseButton != null) { CloseButton.Dispose(); CloseButton = null; } if (ErrorView != null) { ErrorView.Dispose(); ErrorView = null; } if (FeedbackPlaceholderTextView != null) { FeedbackPlaceholderTextView.Dispose(); FeedbackPlaceholderTextView = null; } if (FeedbackTextView != null) { FeedbackTextView.Dispose(); FeedbackTextView = null; } if (IndicatorView != null) { IndicatorView.Dispose(); IndicatorView = null; } if (SendButton != null) { SendButton.Dispose(); SendButton = null; } if (TitleLabel != null) { TitleLabel.Dispose(); TitleLabel = null; } if (ErrorTitleLabel != null) { ErrorTitleLabel.Dispose(); ErrorTitleLabel = null; } if (ErrorMessageLabel != null) { ErrorMessageLabel.Dispose(); ErrorMessageLabel = null; } }
public override void ViewDidLoad() { base.ViewDidLoad(); prepareViews(); prepareIndicatorView(); this.Bind(CloseButton.Tapped(), ViewModel.CloseButtonTapped); this.Bind(FeedbackTextView.Text(), ViewModel.FeedbackText); this.Bind(ErrorView.Tapped(), ViewModel.ErrorViewTapped); this.Bind(SendButton.Tapped(), ViewModel.SendButtonTapped); SendButton.TouchUpInside += (sender, args) => { FeedbackTextView.ResignFirstResponder(); }; this.Bind(ViewModel.IsFeedbackEmpty, FeedbackPlaceholderTextView.BindIsVisible()); this.Bind(ViewModel.ErrorViewVisible, ErrorView.BindAnimatedIsVisible()); this.Bind(ViewModel.SendEnabled, SendButton.BindEnabled()); this.Bind(ViewModel.IsLoading.Invert(), SendButton.BindIsVisible()); this.Bind(ViewModel.IsLoading, IndicatorView.BindIsVisible()); this.Bind(ViewModel.IsLoading, UIApplication.SharedApplication.BindNetworkActivityIndicatorVisible()); }
public override void ViewDidLoad() { base.ViewDidLoad(); TitleLabel.Text = Resources.ContactUs; FeedbackPlaceholderTextView.Text = Resources.FeedbackFieldPlaceholder; ErrorTitleLabel.Text = Resources.Oops.ToUpper(); ErrorMessageLabel.Text = Resources.SomethingWentWrongTryAgain; SendButton.SetTitle(Resources.Send, UIControlState.Normal); prepareViews(); prepareIndicatorView(); CloseButton.Rx() .BindAction(ViewModel.Close) .DisposedBy(DisposeBag); FeedbackTextView.Rx().Text() .Subscribe(ViewModel.FeedbackText) .DisposedBy(DisposeBag); ErrorView.Rx() .BindAction(ViewModel.DismissError) .DisposedBy(DisposeBag); SendButton.Rx() .BindAction(ViewModel.Send) .DisposedBy(DisposeBag); SendButton.TouchUpInside += (sender, args) => { FeedbackTextView.ResignFirstResponder(); }; ViewModel.IsFeedbackEmpty .Subscribe(FeedbackPlaceholderTextView.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.Error .Select(NotNull) .Subscribe(ErrorView.Rx().AnimatedIsVisible()) .DisposedBy(DisposeBag); ViewModel.SendEnabled .Subscribe(SendButton.Rx().Enabled()) .DisposedBy(DisposeBag); ViewModel.IsLoading .Invert() .Subscribe(SendButton.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.IsLoading .Invert() .Subscribe(CloseButton.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.IsLoading .Subscribe(IndicatorView.Rx().IsVisible()) .DisposedBy(DisposeBag); ViewModel.IsLoading .Subscribe(UIApplication.SharedApplication.Rx().NetworkActivityIndicatorVisible()) .DisposedBy(DisposeBag); }