public LinkStreamListContext(StatusControlContext statusContext) { StatusContext = statusContext ?? new StatusControlContext(); SortListCommand = new Command <string>(x => StatusContext.RunNonBlockingTask(() => SortList(x))); ToggleListSortDirectionCommand = new Command(() => StatusContext.RunNonBlockingTask(async() => { SortDescending = !SortDescending; await SortList(_lastSortColumn); })); OpenUrlCommand = new Command <string>(x => StatusContext.RunNonBlockingTask(() => OpenUrl(x))); CopyUrlCommand = new Command <string>(x => StatusContext.RunNonBlockingTask(async() => { await ThreadSwitcher.ResumeForegroundAsync(); Clipboard.SetText(x); StatusContext.ToastSuccess($"To Clipboard {x}"); })); ListSelectedLinksNotOnPinboardCommand = new Command(x => StatusContext.RunBlockingTask(async() => await ListSelectedLinksNotOnPinboard(StatusContext.ProgressTracker()))); StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData); DataNotifications.DataNotificationChannel().MessageReceived += OnDataNotificationReceived; }
public TagListContext(StatusControlContext context) { StatusContext = context ?? new StatusControlContext(); RefreshDataCommand = new Command(() => StatusContext.RunBlockingTask(LoadData)); TagDetailRenameCommand = new Command(() => StatusContext.RunBlockingTask(async() => { await RenameTag(); await LoadData(); })); TagDetailRemoveCommand = new Command(() => StatusContext.RunBlockingTask(async() => { await RemoveTag(); await LoadData(); })); TagsToClipboardCommand = new Command(() => StatusContext.RunBlockingTask(TagsToClipboard)); ShowDetailsCommand = new Command <TagListListItem>(x => StatusContext.RunBlockingTask(async() => await ShowDetails(x))); EditContentCommand = new Command <object>(x => StatusContext.RunBlockingTask(async() => await EditContent(x))); StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData); }
public LinkStreamEditorContext(StatusControlContext statusContext, LinkStream linkContent, bool extractDataOnLoad = false) { StatusContext = statusContext ?? new StatusControlContext(); SaveUpdateDatabaseCommand = new Command(() => StatusContext.RunBlockingTask(() => SaveToDbWithValidation(StatusContext?.ProgressTracker()))); SaveUpdateDatabaseAndCloseCommand = new Command(() => StatusContext.RunBlockingTask(() => SaveToDbWithValidationAndClose(StatusContext?.ProgressTracker()))); ExtractDataCommand = new Command(() => StatusContext.RunBlockingTask(() => ExtractDataFromLink(StatusContext?.ProgressTracker()))); OpenUrlInBrowserCommand = new Command(() => { try { var ps = new ProcessStartInfo(LinkUrl) { UseShellExecute = true, Verb = "open" }; Process.Start(ps); } catch (Exception e) { StatusContext.ToastWarning($"Trouble opening link - {e.Message}"); } }); StatusContext.RunFireAndForgetTaskWithUiToastErrorReturn(async() => await LoadData(linkContent, extractDataOnLoad)); }
public MenuLinkEditorContext(StatusControlContext statusContext) { StatusContext = statusContext ?? new StatusControlContext(); AddItemCommand = new Command(() => StatusContext.RunBlockingTask(AddItem)); DeleteItemCommand = new Command(() => StatusContext.RunBlockingTask(DeleteItems)); MoveItemUpCommand = new Command <MenuLinkListItem>(x => StatusContext.RunNonBlockingTask(() => MoveItemUp(x))); MoveItemDownCommand = new Command <MenuLinkListItem>(x => StatusContext.RunNonBlockingTask(() => MoveItemDown(x))); SaveCommand = new Command(x => StatusContext.RunNonBlockingTask(Save)); InsertIndexTagIndexCommand = new Command <MenuLinkListItem>(x => StatusContext.RunNonBlockingTask(() => InsertIntoLinkTag(x, "{{index; text Main;}}"))); InsertTagSearchCommand = new Command <MenuLinkListItem>(x => StatusContext.RunNonBlockingTask(() => InsertIntoLinkTag(x, "{{tagspage; text Tags;}}"))); InsertPhotoGalleryCommand = new Command <MenuLinkListItem>(x => StatusContext.RunNonBlockingTask(() => InsertIntoLinkTag(x, "{{photogallerypage; text Photos;}}"))); InsertSearchPageCommand = new Command <MenuLinkListItem>(x => StatusContext.RunNonBlockingTask(() => InsertIntoLinkTag(x, "{{searchpage; text Search;}}"))); InsertLinkListCommand = new Command <MenuLinkListItem>(x => StatusContext.RunNonBlockingTask(() => InsertIntoLinkTag(x, "{{linklistpage; text Links;}}"))); HelpMarkdown = MenuLinksHelpMarkdown.HelpBlock; StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData); }
public PhotoListContext(StatusControlContext statusContext, PhotoListLoadMode photoListLoadMode) { StatusContext = statusContext ?? new StatusControlContext(); SortListCommand = new Command <string>(x => StatusContext.RunNonBlockingTask(() => SortList(x))); ToggleListSortDirectionCommand = new Command(() => StatusContext.RunNonBlockingTask(async() => { SortDescending = !SortDescending; await SortList(_lastSortColumn); })); ToggleLoadRecentLoadAllCommand = new Command(x => { if (LoadMode == PhotoListLoadMode.All) { LoadMode = PhotoListLoadMode.Recent; StatusContext.RunBlockingTask(LoadData); } else if (LoadMode == PhotoListLoadMode.Recent) { LoadMode = PhotoListLoadMode.All; StatusContext.RunBlockingTask(LoadData); } }); LoadMode = photoListLoadMode; DataNotifications.DataNotificationChannel().MessageReceived += OnDataNotificationReceived; }
public TagExclusionEditorContext(StatusControlContext statusContext) { StatusContext = statusContext ?? new StatusControlContext(); HelpMarkdown = TagExclusionHelpMarkdown.HelpBlock; AddNewItemCommand = new Command(async() => await AddNewItem()); SaveItemCommand = new Command <TagExclusionEditorListItem>(x => StatusContext.RunBlockingTask(SaveItem, x)); DeleteItemCommand = new Command <TagExclusionEditorListItem>(x => StatusContext.RunBlockingTask(DeleteItem, x)); StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData); }
public PhotoListContext(StatusControlContext statusContext, PhotoListLoadMode photoListLoadMode) { StatusContext = statusContext ?? new StatusControlContext(); DataNotificationsProcessor = new DataNotificationsWorkQueue { Processor = DataNotificationReceived }; ViewImageCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(ViewImage); EditContentCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(EditContent); ApertureSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x => await RunReport(async() => await ApertureSearch(x), $"Aperture - {x.Aperture}")); LensSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x => await RunReport(async() => await LensSearch(x), $"Lens - {x.Lens}")); CameraMakeSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x => await RunReport(async() => await CamerMakeSearch(x), $"Camera Make - {x.CameraMake}")); CameraModelSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x => await RunReport(async() => await CameraModelSearch(x), $"Camera Model - {x.CameraModel}")); FocalLengthSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x => await RunReport(async() => await FocalLengthSearch(x), $"Focal Length - {x.FocalLength}")); IsoSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x => await RunReport(async() => await IsoSearch(x), $"Iso - {x.Iso}")); ShutterSpeedSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x => await RunReport(async() => await ShutterSpeedSearch(x), $"Shutter Speed - {x.ShutterSpeed}")); PhotoTakenOnSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x => await RunReport(async() => await PhotoTakenOnSearch(x), $"Photo Created On - {x.PhotoCreatedOn.Date:D}")); SortListCommand = StatusContext.RunNonBlockingTaskCommand <string>(SortList); ToggleListSortDirectionCommand = StatusContext.RunNonBlockingTaskCommand(async() => { SortDescending = !SortDescending; await SortList(_lastSortColumn); }); ToggleLoadRecentLoadAllCommand = new Command(() => { if (LoadMode == PhotoListLoadMode.All) { LoadMode = PhotoListLoadMode.Recent; StatusContext.RunBlockingTask(LoadData); } else if (LoadMode == PhotoListLoadMode.Recent) { LoadMode = PhotoListLoadMode.All; StatusContext.RunBlockingTask(LoadData); } }); LoadMode = photoListLoadMode; }
public NoteContentEditorContext(StatusControlContext statusContext, NoteContent noteContent) { StatusContext = statusContext ?? new StatusControlContext(); SaveAndCreateLocalCommand = new Command(() => StatusContext.RunBlockingTask(SaveAndCreateLocal)); SaveUpdateDatabaseCommand = new Command(() => StatusContext.RunBlockingTask(SaveToDbWithValidation)); ViewOnSiteCommand = new Command(() => StatusContext.RunBlockingTask(ViewOnSite)); ExtractNewLinksCommand = new Command(() => StatusContext.RunBlockingTask(() => LinkExtraction.ExtractNewAndShowLinkStreamEditors(BodyContent.BodyContent, StatusContext.ProgressTracker()))); StatusContext.RunFireAndForgetTaskWithUiToastErrorReturn(async() => await LoadData(noteContent)); }
public LinkStreamListWithActionsContext(StatusControlContext statusContext) { StatusContext = statusContext ?? new StatusControlContext(); EditSelectedContentCommand = new Command(() => StatusContext.RunBlockingTask(EditSelectedContent)); MdLinkCodesToClipboardForSelectedCommand = new Command(() => StatusContext.RunBlockingTask(MdLinkCodesToClipboardForSelected)); NewContentCommand = new Command(() => StatusContext.RunNonBlockingTask(NewContent)); RefreshDataCommand = new Command(() => StatusContext.RunBlockingTask(ListContext.LoadData)); DeleteSelectedCommand = new Command(() => StatusContext.RunBlockingTask(Delete)); ViewHistoryCommand = new Command(() => StatusContext.RunNonBlockingTask(ViewHistory)); StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData); }
public PostContentEditorContext(StatusControlContext statusContext, PostContent postContent) { StatusContext = statusContext ?? new StatusControlContext(); HelpContext = new HelpDisplayContext(CommonFields.TitleSlugFolderSummary + BracketCodeHelpMarkdown.HelpBlock); SaveAndCreateLocalCommand = new Command(() => StatusContext.RunBlockingTask(SaveAndCreateLocal)); SaveUpdateDatabaseCommand = new Command(() => StatusContext.RunBlockingTask(SaveToDbWithValidation)); ViewOnSiteCommand = new Command(() => StatusContext.RunBlockingTask(ViewOnSite)); ExtractNewLinksCommand = new Command(() => StatusContext.RunBlockingTask(() => LinkExtraction.ExtractNewAndShowLinkStreamEditors( $"{BodyContent.BodyContent} {UpdateNotes.UpdateNotes}", StatusContext.ProgressTracker()))); StatusContext.RunFireAndForgetTaskWithUiToastErrorReturn(async() => await LoadData(postContent)); }
public NoteListWithActionsContext(StatusControlContext statusContext) { StatusContext = statusContext ?? new StatusControlContext(); GenerateSelectedHtmlCommand = new Command(() => StatusContext.RunBlockingTask(GenerateSelectedHtml)); EditSelectedContentCommand = new Command(() => StatusContext.RunBlockingTask(EditSelectedContent)); NoteCodesToClipboardForSelectedCommand = new Command(() => StatusContext.RunBlockingTask(NoteCodesToClipboardForSelected)); OpenUrlForSelectedCommand = new Command(() => StatusContext.RunNonBlockingTask(OpenUrlForSelected)); NewContentCommand = new Command(() => StatusContext.RunNonBlockingTask(NewContent)); RefreshDataCommand = new Command(() => StatusContext.RunBlockingTask(ListContext.LoadData)); DeleteSelectedCommand = new Command(() => StatusContext.RunBlockingTask(Delete)); ExtractNewLinksInSelectedCommand = new Command(() => StatusContext.RunBlockingTask(ExtractNewLinksInSelected)); ViewHistoryCommand = new Command(() => StatusContext.RunNonBlockingTask(ViewHistory)); StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData); }