public override void OnViewCreated(View view, Bundle savedInstanceState)
        {
            if (IsInitialized)
            {
                return;
            }

            base.OnViewCreated(view, savedInstanceState);

            TagEdit.Hint = AppSettings.LocalizationManager.GetText(LocalizationKeys.Hashtag);
            TagEdit.SetFilters(new IInputFilter[] { new TextInputFilter(TextInputFilter.TagFilter), new InputFilterLengthFilter(40) });
            TagLabel.Text    = AppSettings.LocalizationManager.GetText(LocalizationKeys.Hashtag);
            Title.Hint       = AppSettings.LocalizationManager.GetText(LocalizationKeys.EnterPostTitle);
            Description.Hint = AppSettings.LocalizationManager.GetText(LocalizationKeys.EnterPostDescription);
            PostButton.Text  = AppSettings.LocalizationManager.GetText(LocalizationKeys.PublishButtonText);
            PageTitle.Text   = AppSettings.LocalizationManager.GetText(LocalizationKeys.PostSettings);

            PageTitle.Typeface   = Style.Semibold;
            Title.Typeface       = Style.Regular;
            Description.Typeface = Style.Regular;
            PostButton.Typeface  = Style.Semibold;
            TagLabel.Typeface    = Style.Regular;

            PostButton.Click  += OnPost;
            PostButton.Enabled = true;

            TopPanel.BringToFront();

            LocalTagsList.SetLayoutManager(new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false));
            LocalTagsAdapter.Click += LocalTagsAdapterClick;
            LocalTagsList.SetAdapter(LocalTagsAdapter);
            LocalTagsList.AddItemDecoration(new ListItemDecoration((int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 15, Resources.DisplayMetrics)));

            var client = App.MainChain == KnownChains.Steem ? App.SteemClient : App.GolosClient;

            _tagPickerFacade = new TagPickerFacade(_localTagsAdapter.LocalTags);
            _tagPickerFacade.SetClient(client);
            _tagPickerFacade.SourceChanged += TagPickerFacadeOnSourceChanged;

            _postSearchTagsAdapter = new PostSearchTagsAdapter(_tagPickerFacade);

            TagsList.SetLayoutManager(new LinearLayoutManager(Activity));
            _postSearchTagsAdapter.Click += OnTagsAdapterClick;
            TagsList.SetAdapter(_postSearchTagsAdapter);

            TagLabel.Click            += TagLabelOnClick;
            TagEdit.TextChanged       += OnTagOnTextChanged;
            TagEdit.KeyboardDownEvent += HideTagsList;
            TagEdit.OkKeyEvent        += HideTagsList;
            ClearEdit.Click           += (sender, args) => TagEdit.Text = string.Empty;

            BackButton.Click += OnBack;
            RootLayout.Click += OnRootLayoutClick;

            Timer = new Timer(OnTimer);
            Model = new PreparePostModel(AppSettings.User.UserInfo, AppSettings.AppInfo.GetModel());
        }
Example #2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            _tagPickerFacade = new TagPickerFacade(_viewSource.LocalTags);
            _tagPickerFacade.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(() => { 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(_tagPickerFacade);
            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();
        }
Example #3
0
 public TagsTableViewSource(TagPickerFacade tagPickerFacade)
 {
     _tagPickerFacade = tagPickerFacade;
 }
Example #4
0
 public PostSearchTagsAdapter(TagPickerFacade facade)
 {
     _tagPickerFacade = facade;
 }
 public TagsAdapter(TagPickerFacade facade)
 {
     _tagPickerFacade = facade;
 }