コード例 #1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            _presenter.SourceChanged += SourceChanged;

            NavigationController.NavigationBar.SetBackgroundImage(new UIImage(), UIBarMetrics.Default);
            NavigationController.NavigationBar.ShadowImage = new UIImage();

            tagsCollectionView.RegisterClassForCell(typeof(LocalTagCollectionViewCell), nameof(LocalTagCollectionViewCell));
            tagsCollectionView.RegisterNibForCell(UINib.FromName(nameof(LocalTagCollectionViewCell), NSBundle.MainBundle), nameof(LocalTagCollectionViewCell));
            tagsCollectionView.SetCollectionViewLayout(new UICollectionViewFlowLayout()
            {
                ScrollDirection = UICollectionViewScrollDirection.Horizontal,
                SectionInset    = new UIEdgeInsets(0, 15, 0, 15),
            }, false);

            tagsCollectionView.Source          = _viewSource;
            tagsCollectionView.Delegate        = _flowDelegate;
            tagsCollectionView.BackgroundColor = UIColor.White;

            _tagField = new SearchTextField("Hashtag");
            _tagField.ReturnButtonTapped += () => { AddLocalTag(_tagField.Text); };
            View.AddSubview(_tagField);

            _tagField.ClearButtonTapped += () => { OnTimer(null); };
            _tagField.AutoPinEdgeToSuperviewEdge(ALEdge.Top, 10f);
            _tagField.AutoPinEdgeToSuperviewEdge(ALEdge.Left, 15f);
            _tagField.AutoPinEdgeToSuperviewEdge(ALEdge.Right, 15f);
            tagsCollectionView.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, _tagField, 20f);
            _tagField.AutoSetDimension(ALDimension.Height, 40f);

            var tap = new UITapGestureRecognizer(() =>
            {
                _tagField.ResignFirstResponder();
            });

            View.AddGestureRecognizer(tap);

            _tableSource = new TagsTableViewSource(_presenter, tagsTableView);
            _tableSource.ScrolledToBottom += async() =>
            {
                _tagField.Loader.StartAnimating();
                var exception = await _presenter.TryLoadNext(_tagField.Text, false);

                _tagField.Loader.StopAnimating();
                ShowAlert(exception);
            };

            tagsTableView.Source        = _tableSource;
            tagsTableView.LayoutMargins = UIEdgeInsets.Zero;
            tagsTableView.RegisterClassForCellReuse(typeof(TagTableViewCell), nameof(TagTableViewCell));
            tagsTableView.RegisterNibForCellReuse(UINib.FromName(nameof(TagTableViewCell), NSBundle.MainBundle), nameof(TagTableViewCell));
            tagsTableView.RowHeight   = 70f;
            _tagField.EditingChanged += EditingDidChange;

            SetBackButton();
            SetCollectionHeight();
            SearchTextChanged();
        }
コード例 #2
0
 public void PerformGoogleSearchAndClickOnTheFirstResult()
 {
     SearchTextField.SendKeys("selenium");
     WhiteField.Click();
     GoogleSearchButton.Click();
     FirstResultAfterSearch.Click();
 }
コード例 #3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            TitleLabel.Text             = Resources.CountryOfResidence;
            SearchTextField.Placeholder = Resources.Search;

            CountriesTableView.SeparatorStyle = UITableViewCellSeparatorStyle.None;
            CountriesTableView.RegisterNibForCellReuse(CountryViewCell.Nib, CountryViewCell.Identifier);
            CountriesTableView.RowHeight = rowHeight;

            var source = new CustomTableViewSource <SectionModel <string, SelectableCountryViewModel>, string, SelectableCountryViewModel>(
                CountryViewCell.CellConfiguration(CountryViewCell.Identifier));

            CountriesTableView.Source = source;

            source.Rx().ModelSelected()
            .Subscribe(ViewModel.SelectCountry.Inputs)
            .DisposedBy(DisposeBag);

            ViewModel.Countries
            .Subscribe(CountriesTableView.Rx().ReloadItems(source))
            .DisposedBy(DisposeBag);

            CloseButton.Rx().Tap()
            .Subscribe(ViewModel.CloseWithDefaultResult)
            .DisposedBy(DisposeBag);

            SearchTextField.Rx().Text()
            .Subscribe(ViewModel.FilterText)
            .DisposedBy(DisposeBag);

            SearchTextField.BecomeFirstResponder();
        }
コード例 #4
0
        void ReleaseDesignerOutlets()
        {
            if (SuggestionsTableViewConstraint != null)
            {
                SuggestionsTableViewConstraint.Dispose();
                SuggestionsTableViewConstraint = null;
            }

            if (TitleLabel != null)
            {
                TitleLabel.Dispose();
                TitleLabel = null;
            }

            if (CloseButton != null)
            {
                CloseButton.Dispose();
                CloseButton = null;
            }

            if (SearchTextField != null)
            {
                SearchTextField.Dispose();
                SearchTextField = null;
            }

            if (SuggestionsTableView != null)
            {
                SuggestionsTableView.Dispose();
                SuggestionsTableView = null;
            }
        }
コード例 #5
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var source = new WorkspaceTableViewSource(SuggestionsTableView);

            SuggestionsTableView.Source = source;

            var bindingSet = this.CreateBindingSet <SelectWorkspaceViewController, SelectWorkspaceViewModel>();

            bindingSet.Bind(TitleLabel).To(vm => vm.Title);

            bindingSet.Bind(source).To(vm => vm.Suggestions);
            bindingSet.Bind(SearchTextField).To(vm => vm.Text);
            bindingSet.Bind(CloseButton).To(vm => vm.CloseCommand);
            bindingSet.Bind(source)
            .For(v => v.SelectionChangedCommand)
            .To(vm => vm.SelectWorkspaceCommand);

            bindingSet.Bind(SuggestionsTableViewConstraint)
            .For(v => v.Constant)
            .To(vm => vm.AllowQuerying)
            .WithConversion(new BoolToConstantValueConverter <nfloat>(72, 24));

            bindingSet.Apply();

            if (ViewModel.AllowQuerying)
            {
                SearchTextField.BecomeFirstResponder();
            }
        }
コード例 #6
0
 private void OnEnterPanel(AttachToPanelEvent evt)
 {
     SearchTextField.visualInput.RegisterCallback <FocusEvent>(OnSearchTextFieldFocus);
     SearchTextField.visualInput.RegisterCallback <FocusOutEvent>(OnSearchTextFieldFocusOut);
     SearchTextField.RegisterCallback <ChangeEvent <string> >(OnSearchTextFieldChange);
     SearchTextField.visualInput.RegisterCallback <KeyDownEvent>(OnKeyDownShortcut);
 }
コード例 #7
0
 private void OnLeavePanel(DetachFromPanelEvent evt)
 {
     SearchTextField.visualInput.UnregisterCallback <FocusEvent>(OnSearchTextFieldFocus);
     SearchTextField.visualInput.UnregisterCallback <FocusOutEvent>(OnSearchTextFieldFocusOut);
     SearchTextField.UnregisterCallback <ChangeEvent <string> >(OnSearchTextFieldChange);
     SearchTextField.visualInput.UnregisterCallback <KeyDownEvent>(OnKeyDownShortcut);
 }
コード例 #8
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var source = new ClientTableViewSource(SuggestionsTableView);

            SuggestionsTableView.Source = source;

            var bindingSet = this.CreateBindingSet <SelectClientViewController, SelectClientViewModel>();

            bindingSet.Bind(source).To(vm => vm.Suggestions);
            bindingSet.Bind(SearchTextField).To(vm => vm.Text);
            bindingSet.Bind(CloseButton).To(vm => vm.CloseCommand);
            bindingSet.Bind(source)
            .For(v => v.SelectionChangedCommand)
            .To(vm => vm.SelectClientCommand);

            bindingSet.Bind(source)
            .For(v => v.CreateClientCommand)
            .To(vm => vm.CreateClientCommand);

            bindingSet.Bind(source)
            .For(v => v.SuggestCreation)
            .To(vm => vm.SuggestCreation);

            bindingSet.Bind(source)
            .For(v => v.Text)
            .To(vm => vm.Text);

            bindingSet.Apply();

            SearchTextField.BecomeFirstResponder();
        }
コード例 #9
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            TitleLabel.Text             = Resources.Clients;
            SearchTextField.Placeholder = Resources.AddFilterClients;

            SuggestionsTableView.RegisterNibForCellReuse(ClientViewCell.Nib, ClientViewCell.Identifier);
            SuggestionsTableView.RegisterNibForCellReuse(CreateClientViewCell.Nib, CreateClientViewCell.Identifier);
            SuggestionsTableView.SeparatorStyle = UITableViewCellSeparatorStyle.None;
            SuggestionsTableView.Source         = tableViewSource;

            ViewModel.Clients
            .Subscribe(replaceClients)
            .DisposedBy(DisposeBag);

            CloseButton.Rx()
            .BindAction(ViewModel.Close)
            .DisposedBy(DisposeBag);

            SearchTextField.Rx().Text()
            .Subscribe(ViewModel.FilterText)
            .DisposedBy(DisposeBag);

            tableViewSource.ClientSelected
            .Subscribe(ViewModel.SelectClient.Inputs)
            .DisposedBy(DisposeBag);

            SearchTextField.BecomeFirstResponder();
        }
コード例 #10
0
        public PackageSearchToolbar()
        {
            root = Resources.GetTemplate("PackageSearchToolbar.uxml");
            Add(root);
            root.StretchToParentSize();

            SearchTextField.value                 = searchText;
            SearchTextField.maxLength             = 54;
            SearchCancelButton.clickable.clicked += SearchCancelButtonClick;

            RegisterCallback <AttachToPanelEvent>(OnEnterPanel);
            RegisterCallback <DetachFromPanelEvent>(OnLeavePanel);

            searchText = PackageSearchFilter.Instance.SearchText;

            if (string.IsNullOrEmpty(searchText))
            {
                showingPlaceHolder    = true;
                SearchTextField.value = kPlaceHolder;
                SearchTextField.AddToClassList("placeholder");
            }
            else
            {
                showingPlaceHolder    = false;
                SearchTextField.value = searchText;
                SearchTextField.RemoveFromClassList("placeholder");
            }
        }
コード例 #11
0
        void ReleaseDesignerOutlets()
        {
            if (BottomConstraint != null)
            {
                BottomConstraint.Dispose();
                BottomConstraint = null;
            }

            if (CloseButton != null)
            {
                CloseButton.Dispose();
                CloseButton = null;
            }

            if (CountriesTableView != null)
            {
                CountriesTableView.Dispose();
                CountriesTableView = null;
            }

            if (SearchTextField != null)
            {
                SearchTextField.Dispose();
                SearchTextField = null;
            }

            if (TitleLabel != null)
            {
                TitleLabel.Dispose();
                TitleLabel = null;
            }
        }
コード例 #12
0
 void hideSearch()
 {
     SearchTextField.ResignFirstResponder();
     CanvelView.Hidden      = true;
     OptionsView.Hidden     = false;
     SearchTableView.Hidden = true;
     SearchTextField.Text   = "";
 }
コード例 #13
0
 private void OnSearchTextFieldFocusOut(FocusOutEvent evt)
 {
     if (string.IsNullOrEmpty(searchText))
     {
         showingPlaceHolder = true;
         SearchTextField.AddToClassList("placeholder");
         SearchTextField.value = kPlaceHolder;
     }
 }
コード例 #14
0
 private void OnSearchTextFieldFocus(FocusEvent evt)
 {
     if (showingPlaceHolder)
     {
         SearchTextField.value = string.Empty;
         SearchTextField.RemoveFromClassList("placeholder");
         showingPlaceHolder = false;
     }
 }
コード例 #15
0
        private void SearchCancelButtonClick()
        {
            if (!string.IsNullOrEmpty(SearchTextField.value))
            {
                SearchTextField.value = string.Empty;
            }

            showingPlaceHolder = true;
            SearchTextField.AddToClassList("placeholder");
            SearchTextField.value = kPlaceHolder;
        }
コード例 #16
0
        void ReleaseDesignerOutlets()
        {
            if (CancelButton != null)
            {
                CancelButton.Dispose();
                CancelButton = null;
            }

            if (CanvelView != null)
            {
                CanvelView.Dispose();
                CanvelView = null;
            }

            if (CarButton != null)
            {
                CarButton.Dispose();
                CarButton = null;
            }

            if (CategoriasCollectionView != null)
            {
                CategoriasCollectionView.Dispose();
                CategoriasCollectionView = null;
            }

            if (OptionsView != null)
            {
                OptionsView.Dispose();
                OptionsView = null;
            }

            if (SearchTableView != null)
            {
                SearchTableView.Dispose();
                SearchTableView = null;
            }

            if (SearchTextField != null)
            {
                SearchTextField.Dispose();
                SearchTextField = null;
            }

            if (UserButton != null)
            {
                UserButton.Dispose();
                UserButton = null;
            }
        }
コード例 #17
0
        void ReleaseDesignerOutlets()
        {
            if (HelpButton != null)
            {
                HelpButton.Dispose();
                HelpButton = null;
            }

            if (MedicineListTableView != null)
            {
                MedicineListTableView.Dispose();
                MedicineListTableView = null;
            }

            if (NoDataContainerView != null)
            {
                NoDataContainerView.Dispose();
                NoDataContainerView = null;
            }

            if (RenewPrescriptionButton != null)
            {
                RenewPrescriptionButton.Dispose();
                RenewPrescriptionButton = null;
            }

            if (SearchTableView != null)
            {
                SearchTableView.Dispose();
                SearchTableView = null;
            }

            if (SearchTableViewBottomConstraint != null)
            {
                SearchTableViewBottomConstraint.Dispose();
                SearchTableViewBottomConstraint = null;
            }

            if (SearchTextField != null)
            {
                SearchTextField.Dispose();
                SearchTextField = null;
            }

            if (SearchView != null)
            {
                SearchView.Dispose();
                SearchView = null;
            }
        }
コード例 #18
0
        public void SearchProfile(string SearchCriteria, string ProfileName)
        {
            if (SearchCriteria != null)
            {
                if (!SearchCriteriaList.SelectedOption.Text.Equals(SearchCriteria))
                {
                    SearchCriteriaList.SelectByText(SearchCriteria);
                }
            }

            SearchTextField.Set(ProfileName);
            javaScriptExecutor.ExecuteScript("arguments[0].click();", SearchLink);
            PageUtility.WaitForPageRefresh(webDriver);
        }
コード例 #19
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            TitleLabel.Text             = Resources.Clients;
            SearchTextField.Placeholder = Resources.AddFilterClients;

            SuggestionsTableView.RegisterNibForCellReuse(ClientViewCell.Nib, ClientViewCell.Identifier);
            SuggestionsTableView.RegisterNibForCellReuse(CreateClientViewCell.Nib, CreateClientViewCell.Identifier);
            SuggestionsTableView.SeparatorStyle = UITableViewCellSeparatorStyle.None;

            var tableViewSource = new ClientTableViewSource(SuggestionsTableView);

            SuggestionsTableView.Source = tableViewSource;

            var clientsReplay = ViewModel.Clients.Replay();

            clientsReplay
            .Subscribe(SuggestionsTableView.Rx().ReloadItems(tableViewSource))
            .DisposedBy(DisposeBag);

            if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad)
            {
                clientsReplay
                .Select((clients) =>
                {
                    return(new CoreGraphics.CGSize(0, (clients.ToList().Count() * ClientTableViewSource.RowHeight) + headerHeight));
                })
                .Subscribe(this.Rx().PreferredContentSize())
                .DisposedBy(DisposeBag);
            }

            clientsReplay.Connect();

            CloseButton.Rx().Tap()
            .Subscribe(ViewModel.CloseWithDefaultResult)
            .DisposedBy(DisposeBag);

            SearchTextField.Rx().Text()
            .Subscribe(ViewModel.FilterText)
            .DisposedBy(DisposeBag);

            tableViewSource.Rx().ModelSelected()
            .Subscribe(ViewModel.SelectClient.Inputs)
            .DisposedBy(DisposeBag);

            BottomConstraint.Active |= UIDevice.CurrentDevice.UserInterfaceIdiom != UIUserInterfaceIdiom.Pad;
        }
コード例 #20
0
        private void HandleButtons()
        {
            UserButton.TouchUpInside += (sender, e) => {
                UIStoryboard          storyboard = UIStoryboard.FromName("Main", null);
                AccountViewController vcInstance = (AccountViewController)storyboard.InstantiateViewController("AccountViewController");
                this.NavigationController.PushViewController(vcInstance, true);
            };

            CancelButton.TouchUpInside += (sender, e) => {
                hideSearch();
            };

            SearchTextField.WeakDelegate = this;

            SearchTextField.AddTarget(ValueChanged, UIControlEvent.EditingChanged);
        }
コード例 #21
0
 public void SetSearchText(string text)
 {
     searchText = text;
     if (string.IsNullOrEmpty(searchText))
     {
         showingPlaceHolder    = true;
         SearchTextField.value = kPlaceHolder;
         SearchTextField.AddToClassList("placeholder");
     }
     else
     {
         showingPlaceHolder    = false;
         SearchTextField.value = searchText;
         SearchTextField.RemoveFromClassList("placeholder");
     }
 }
コード例 #22
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Obtenemos los productos del servicio de busqueda
            var resultSearch = AppRuntime.MarketData.SearchProducts();

            if (resultSearch.ServiceResponseStatus.IsSuccess)
            {
                listSearch = resultSearch.SearchResult.ToList();
            }

            btnClearSearch.TouchUpInside -= ClickButtonDeleteSearch;
            btnClearSearch.TouchUpInside += ClickButtonDeleteSearch;

            SearchTextField.AddTarget(OpenSearchView, UIControlEvent.TouchDown);
        }
コード例 #23
0
        public void SearchProfile(string SearchCriteria, string ProfileName)
        {
            if (SearchCriteria != null)
            {
                if (!SearchCriteriaList.SelectedOption.Text.Equals(SearchCriteria))
                {
                    SearchCriteriaList.SelectByText(SearchCriteria);
                }
            }

            SearchTextField.Set(ProfileName);
            ////SearchLink.Click();
            javaScriptExecutor.ExecuteScript("arguments[0].click();", SearchLink);
            // Thread.Sleep(5000);
            //webDriver.WaitForPageLoad(TimeSpan.FromSeconds(20));
            PageUtility.WaitForPageRefresh(webDriver);
        }
コード例 #24
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            CloseButton.SetTemplateColor(ColorAssets.Text2);
            SearchView.InsertSeparator();

            TitleLabel.Text             = Resources.Clients;
            SearchTextField.Placeholder = Resources.AddFilterClients;

            SuggestionsTableView.RegisterNibForCellReuse(ClientViewCell.Nib, ClientViewCell.Identifier);
            SuggestionsTableView.RegisterNibForCellReuse(CreateClientViewCell.Nib, CreateClientViewCell.Identifier);
            SuggestionsTableView.SeparatorStyle = UITableViewCellSeparatorStyle.None;

            var tableViewSource = new ClientTableViewSource(SuggestionsTableView);

            SuggestionsTableView.Source = tableViewSource;

            tableViewSource.Rx().DragStarted()
            .Subscribe(_ => SearchTextField.ResignFirstResponder())
            .DisposedBy(DisposeBag);

            var clientsReplay = ViewModel.Clients.Replay();

            clientsReplay
            .Subscribe(SuggestionsTableView.Rx().ReloadItems(tableViewSource))
            .DisposedBy(DisposeBag);

            clientsReplay.Connect();

            CloseButton.Rx().Tap()
            .Subscribe(() => ViewModel.CloseWithDefaultResult())
            .DisposedBy(DisposeBag);

            SearchTextField.Rx().Text()
            .Subscribe(ViewModel.FilterText)
            .DisposedBy(DisposeBag);

            tableViewSource.Rx().ModelSelected()
            .Subscribe(ViewModel.SelectClient.Inputs)
            .DisposedBy(DisposeBag);

            BottomConstraint.Active |= TraitCollection.HorizontalSizeClass == UIUserInterfaceSizeClass.Compact;
        }
コード例 #25
0
        void ReleaseDesignerOutlets()
        {
            if (CloseButton != null)
            {
                CloseButton.Dispose();
                CloseButton = null;
            }

            if (SearchTextField != null)
            {
                SearchTextField.Dispose();
                SearchTextField = null;
            }

            if (SuggestionsTableView != null)
            {
                SuggestionsTableView.Dispose();
                SuggestionsTableView = null;
            }
        }
コード例 #26
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            NSUserDefaults.StandardUserDefaults.SetString("", "OrderStatus");
            NSUserDefaults.StandardUserDefaults.SetString("", "OrderPeriod");
            NSUserDefaults.StandardUserDefaults.SetString("", "InitDate");
            NSUserDefaults.StandardUserDefaults.SetString("", "EndDate");


            LoadOrders(TypeFilter);

            RefreshControl = new UIRefreshControl();
            RefreshControl.ValueChanged += RefreshControl_ValueChanged;
            OrdersCollectionView.AddSubview(RefreshControl);

            SearchTextField.AddTarget(ValueChanged, UIControlEvent.EditingChanged);

            this.NavigationItem.RightBarButtonItem = new UIBarButtonItem(title: "Mostrar", style: UIBarButtonItemStyle.Plain, target: this, action: new Selector("ShowSheetAlert:"));
            BorderNoOrdersView.Layer.BorderColor   = UIColor.DarkGray.CGColor;
            BorderNoOrdersView.Layer.BorderWidth   = 2;
            BorderNoOrdersView.Layer.CornerRadius  = 8;
        }
コード例 #27
0
 public override void ViewWillAppear(bool animated)
 {
     base.ViewWillAppear(animated);
     SearchTextField.BecomeFirstResponder();
 }
コード例 #28
0
 public new void SetEnabled(bool enable)
 {
     base.SetEnabled(enable);
     SearchTextField.SetEnabled(enable);
     SearchCancelButton.SetEnabled(enable);
 }
コード例 #29
0
 public static bool Has(this SearchTextField @this, SearchTextField value) => (@this & value) == value;
コード例 #30
0
 public Search EnterTextInSearchField(string inputText)
 {
     SearchTextField.SendKeys(inputText);
     return(this);
 }