protected override void Init(Bundle savedInstanceState) { ViewModel = ViewModelLocator.AnimeDetails; ViewModel.RegisterOneTimeOnPropertyChangedAction(nameof(ViewModel.AnimeMode), SetupForAnimeMode); ViewModel.PropertyChanged += ViewModelOnPropertyChanged; ViewModel.Init(_navArgs); }
public static DroppyMenuPopup BuildForAnimeDetailsPage(Context context,View parent,AnimeDetailsPageViewModel viewModel) { AnimeListPageFlyoutBuilder.ParamRelativeLayout = new ViewGroup.LayoutParams(300, 75); var droppyBuilder = new DroppyMenuPopup.Builder(context, parent); AnimeListPageFlyoutBuilder.InjectAnimation(droppyBuilder); Action<int> listener = i => { switch (i) { case 0: viewModel.NavigateForumBoardCommand.Execute(null); break; case 1: break; case 2: AnimeUpdateDialogBuilder.BuildTagDialog(viewModel); break; case 3: viewModel.CopyToClipboardCommand.Execute(null); break; case 4: viewModel.OpenInMalCommand.Execute(null); break; case 5: viewModel.RemoveAnimeCommand.Execute(null); break; } }; droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Forum board", listener, 0))); droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Promotional videos", listener, 1))); droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Tags", listener, 2))); droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Copy link", listener, 3))); droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Open in browser", listener, 4))); droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Remove from my list", listener, 5))); return droppyBuilder.Build(); }
private AnimeDetailsPageGeneralTabFragment() { ViewModel = ViewModelLocator.AnimeDetails; }
private AnimeDetailsPageReviewsTabFragment() { ViewModel = ViewModelLocator.AnimeDetails; }
public static void BuildTagDialog(AnimeDetailsPageViewModel viewModel) { _tagsDialogBindings = new List<Binding>(); _tagsDialogContext = viewModel; var dialogBuilder = DialogPlus.NewDialog(MainActivity.CurrentContext); dialogBuilder.SetContentHolder(new ViewHolder(Resource.Layout.AnimeTagsDialog)); dialogBuilder.SetContentBackgroundResource(Resource.Color.BrushFlyoutBackground); dialogBuilder.SetOnDismissListener(new DialogDismissedListener(CleanupTagsDialog)); dialogBuilder.SetGravity((int) GravityFlags.Top); dialogBuilder.SetOnDismissListener( new DialogDismissedListener(() => ViewModelLocator.NavMgr.ResetOneTimeOverride())); ViewModelLocator.NavMgr.RegisterOneTimeMainOverride(new RelayCommand(CleanupTagsDialog)); _tagsDialog = dialogBuilder.Create(); var view = _tagsDialog.HolderView; view.FindViewById<ListView>(Resource.Id.AnimeTagsDialogList).Adapter = viewModel.MyTags.GetAdapter(GetTagItem); var editBox = view.FindViewById<EditText>(Resource.Id.AnimeTagsDialogEditBox); _tagsDialogBindings.Add(new Binding<string, string>( viewModel, () => viewModel.NewTagInput, editBox, () => editBox.Text,BindingMode.TwoWay)); view.FindViewById<ImageButton>(Resource.Id.AnimeTagsDialogAddTagButton).SetCommand("Click",viewModel.AddTagCommand); _tagsDialog.Show(); }