public async virtual Task <bool> PopPageAsync <TCurrentPageModel>(IBasePage <TCurrentPageModel> currentPage, bool animated = true) where TCurrentPageModel : class, IBasePageModel { var navigation = ((Page)currentPage)?.Navigation; var navEventsPage = currentPage as INavigationCanPop; if (navigation == null || (navEventsPage != null && !navEventsPage.NavigationCanPop())) { return(false); } var navEventsPageModel = currentPage.GetPageModel() as INavigationCanPop; if (navEventsPageModel != null && !navEventsPageModel.NavigationCanPop()) { return(false); } await navigation.PopAsync(animated); var navEventsPage2 = currentPage as INavigationPopped; if (navEventsPage2 != null) { navEventsPage2.NavigationPopped(); } return(true); }
/// <summary> /// Initializes a new instance of the <see cref="ListPage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public ListPage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(driver, new Uri(pageSettings.BaseUrl, "Admin/Customer/List")) { this.basePage = basePage; this.pageObjectFactory = pageObjectFactory; CustomerRoles = new KMultiSelectComponent <IListPage>( By.CssSelector("#SelectedCustomerRoleIds"), WrappedDriver, new KMultiSelectConfiguration(), this); CustomersGrid = new KGridComponent <IListPage>( new BaseKendoConfiguration(), By.CssSelector("#customers-grid"), pageObjectFactory, WrappedDriver, this); ExportDropDownComponent = new DropDownComponent( By.CssSelector(".btn-group"), WrappedDriver); }
internal Type GetPageModelType(IBasePage <IBasePageModel> page) { var found = page.GetType().GetTypeInfo().ImplementedInterfaces.FirstOrDefault(t => t.IsConstructedGenericType && t.GetGenericTypeDefinition() == typeof(IBasePage <>)); var viewModelType = found.GenericTypeArguments.First(); return(viewModelType); }
/// <summary> /// Initializes a new instance of the <see cref="EditPage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public EditPage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(driver, new Uri(pageSettings.BaseUrl, "Admin"), new UriTemplate("Order/Edit/{id}")) { this.basePage = basePage; this.pageObjectFactory = pageObjectFactory; InfoTab = new OrderDetailsInfoComponent( By.CssSelector("#tab-info"), WrappedDriver, this); Tabs = new NavsTabComponent <IEditPage>( By.CssSelector(".nav-tabs.nav"), new ILoadableComponent[] { InfoTab }, WrappedDriver, new NavsTabComponentConfiguration(), this); }
/// <summary> /// Initializes a new instance of the <see cref="CatalogTemplatePage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="driver">The driver.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="pageSettings">The page settings.</param> /// <param name="template">The template.</param> public CatalogTemplatePage( IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings, UriTemplate template) : base(driver, pageSettings.BaseUrl, template) { this.basePage = basePage; this.pageObjectFactory = pageObjectFactory; CategoriesComponent = new CatalogBlockComponent( categoryNavigationSelector, WrappedDriver); ManufacturersComponent = new CatalogBlockComponent( manufacturerSelector, WrappedDriver); PopularTagsComponent = new CatalogBlockComponent( popularTagsSelector, WrappedDriver); }
public static void InvokeBeforePlugins(object sender, PluginEventArgs e) { if (sender == null) { throw new ArgumentNullException("sender"); } if (e == null) { throw new ArgumentNullException("e"); } Control ctrl = sender as Control; if (ctrl == null) { throw new ApplicationExceptionFormat("传的sender {0}不是服务器控件", new object[] { sender.ToString() }); } Page absolutePage = ctrl.GetAbsolutePage(); IBasePage page2 = absolutePage as IBasePage; if (page2 == null) { throw new ApplicationExceptionFormat("页面不是继承自BasePage", new object[0]); } IPagePlugin pluginInstance = page2.PluginInstance; if (pluginInstance != null) { CommandHandler commandPluginHandler = GetCommandPluginHandler(ctrl); if (commandPluginHandler != null) { commandPluginHandler.ExecuteBefore(pluginInstance, ctrl, e); } } EventCallHelper.InvokeBefore(absolutePage, ctrl, new object[] { e.entityModel, e.RedirectURL, e.CurrentUserID }); }
public ResponseRewindMiddleware(RequestDelegate next, IBasePage basePage, UserManager <ApplicationUser> UserManager, RedisConnectionFactory Factory) { this.next = next; _basePage = basePage; _userManager = UserManager; _fact = Factory; }
/// <summary> /// Initializes a new instance of the <see cref="ListPage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public ListPage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(driver, pageSettings.AdminBaseUrl, new UriTemplate("Product/List")) { this.basePage = basePage ?? throw new ArgumentNullException(nameof(basePage)); this.pageObjectFactory = pageObjectFactory ?? throw new ArgumentNullException(nameof(pageObjectFactory)); ProductsGrid = new KGridComponent <IListPage>( new BaseKendoConfiguration(), By.CssSelector("#products-grid"), pageObjectFactory, WrappedDriver, this); SearchPanel = new SearchPanelComponent( By.CssSelector(".panel-search"), pageObjectFactory, WrappedDriver); }
/// <summary> /// Initializes a new instance of the <see cref="_CreateOrUpdatePage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <exception cref="ArgumentNullException"> /// basePage /// or /// pageObjectFactory /// </exception> public _CreateOrUpdatePage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(driver) { this.basePage = basePage ?? throw new ArgumentNullException(nameof(basePage)); this.pageObjectFactory = pageObjectFactory ?? throw new ArgumentNullException(nameof(pageObjectFactory)); Tabs = new NavsTabComponent <_CreateOrUpdatePage>( By.CssSelector("#product-form"), new ILoadableComponent[] { }, WrappedDriver, new NavsTabComponentConfiguration { ActiveTabContentElementSelector = By.CssSelector(".tab-content .tab-pane.active"), ActiveTabHeaderElementSelector = By.CssSelector(".nav-tabs li.active"), ActiveTabHeaderNameSelector = By.CssSelector(".nav-tabs li.active"), TabContentElementsSelector = By.CssSelector(".tab-content .tab-pane"), TabHeaderElementsSelector = By.CssSelector(".nav-tabs li"), TabHeaderNamesSelector = By.CssSelector(".nav-tabs li") }, this); }
public virtual Task <bool> RemovePageAsync <TCurrentPageModel, TPageModel>(IBasePage <TCurrentPageModel> currentPage, IBasePage <TPageModel> pageToRemove) where TCurrentPageModel : class, IBasePageModel where TPageModel : class, IBasePageModel { TargetPageModel = currentPage.GetPageModel(); LastAction = XammvvmAction.PageRemoved; var navEventsPage = pageToRemove as INavigationCanRemove; if (navEventsPage != null && !navEventsPage.NavigationCanRemove()) { LastActionSuccess = false; return(Task.FromResult(false)); } var navEventsPageModel = pageToRemove.GetPageModel() as INavigationCanRemove; if (navEventsPageModel != null && !navEventsPageModel.NavigationCanRemove()) { LastActionSuccess = false; return(Task.FromResult(false)); } var navEventsPage2 = pageToRemove as INavigationRemoved; if (navEventsPage2 != null) { navEventsPage2.NavigationRemoved(); } LastActionSuccess = true; return(Task.FromResult(true)); }
public WalletOperationsController(ILogger <WalletOperationsController> logger, UserManager <ApplicationUser> userManager, IBasePage basePage, IWalletService walletService) { _logger = logger; _userManager = userManager; _walletService = walletService; _basePage = basePage; }
public virtual Task <bool> RemovePageAsync <TCurrentPageModel, TPageModel>(IBasePage <TCurrentPageModel> currentPage, IBasePage <TPageModel> pageToRemove) where TCurrentPageModel : class, IBasePageModel where TPageModel : class, IBasePageModel { var navigation = ((Page)currentPage)?.Navigation; var navEventsPage = pageToRemove as INavigationCanRemove; if (navigation == null || (navEventsPage != null && !navEventsPage.NavigationCanRemove())) { return(Task.FromResult(false)); } var navEventsPageModel = pageToRemove.GetPageModel() as INavigationCanRemove; if (navEventsPageModel != null && !navEventsPageModel.NavigationCanRemove()) { return(Task.FromResult(false)); } navigation.RemovePage((Page)pageToRemove); var navEventsPage2 = pageToRemove as INavigationRemoved; if (navEventsPage2 != null) { navEventsPage2.NavigationRemoved(); } return(Task.FromResult(true)); }
public void SetDetail <TPageModel>(IBasePage <TPageModel> page) where TPageModel : class, IBasePageModel { var masterDetailPage = this.GetCurrentPage() as MasterDetailPage; masterDetailPage.Detail = new NavigationPage(page as Page); masterDetailPage.IsPresented = false; }
public virtual void SetPageModel <TPageModel>(IBasePage <TPageModel> page, TPageModel newPageModel) where TPageModel : class, IBasePageModel { ((MockPage <TPageModel>)page).BindingContext = newPageModel; AddToWeakCacheIfNotExists(page, newPageModel); LastAction = XammvvmAction.PageModelChanged; TargetPageModel = newPageModel; LastActionSuccess = true; }
public static IHtmlContent TableSortHeader <TModel, TResult>( this IHtmlHelper <TModel> h, Expression <Func <TModel, TResult> > data, IBasePage p) { var s = h.SortHeaderData(data, p); return(new HtmlContentBuilder(s)); }
/// <summary> /// Executes the action on the page model. /// </summary> /// <returns>The on page model.</returns> /// <param name="page">Page.</param> /// <param name="action">Action.</param> /// <typeparam name="TPageModel">The 1st type parameter.</typeparam> public static IBasePage <TPageModel> ExecuteOnPageModel <TPageModel>(this IBasePage <TPageModel> page, Action <TPageModel> action) where TPageModel : class, IBasePageModel { var model = page.GetPageModel(); action?.Invoke(model); return(page); }
public ParentPage(IBasePage basePage) { BasePage = basePage; ToolDependencyResolver = basePage.GetToolDependencyResolver(); Resolver = basePage.GetResolver(); TestObjectFactory = ToolDependencyResolver.Resolve <ITestObjectFactory>(basePage.GetBrowser()); }
public WidgetPage(IBasePage basePage, IWebDriver driver, PageOptions pageOptions) : base(driver, new Uri(pageOptions.Url), new UriTemplate("{framework}/{version}/{widget}")) { this.basePage = basePage; }
public HomePage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageOptions pageOptions) : base(driver, new Uri(pageOptions.Url)) { this.basePage = basePage; this.pageObjectFactory = pageObjectFactory; }
public TestInitialization(IBasePage basePage, string fixtureName, IFunctionExecuter executer, IReporter reporter) { this.BasePage = basePage; this.Executer = executer; this.Reporter = reporter; BasePage.TestName = TestContext.CurrentContext.Test.Name; BasePage.FixtureName = fixtureName; BasePage.RunningBrowser = ConfigurationManager.AppSettings.Get("RunAllTestsOn"); BasePage.ScreenShotsPath = CreateScreenShotPath(); }
/// <summary> /// Initializes a new instance of the <see cref="HomePage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public HomePage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(driver, pageSettings.AdminBaseUrl) { this.basePage = basePage; this.pageObjectFactory = pageObjectFactory; }
public static void BindViewModel(this IBasePage page, IBaseViewModel viewModel) { page.BindingContext = viewModel; page.SetBinding <IBaseViewModel>(Page.IsBusyProperty, "IsBusy"); page.SetBinding <IBaseViewModel>(Page.TitleProperty, "Title"); page.SetBinding <IBaseViewModel>(Page.IconProperty, "Icon"); page.Appearing += (sender, args) => viewModel.OnAppearing(); page.Disappearing += (sender, args) => viewModel.OnDisappearing(); }
/// <summary> /// Initializes a new instance of the <see cref="WishlistPage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public WishlistPage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(driver, new Uri(pageSettings.BaseUrl, "wishlist")) { this.basePage = basePage; this.pageObjectFactory = pageObjectFactory; }
public static Page GetPageBasedOnConfiguration(IBasePage page) { if (!page.IsNavigationPage) { return(page as Page); } var naviPage = new NavigationPage(page as Page); return(naviPage); }
public virtual Task <bool> SetNewRootAndResetAsync <TPageModel>(IBasePage <TPageModel> newRootPage, bool clearCache = true) where TPageModel : class, IBasePageModel { if (clearCache) { ClearPageCache(); } Application.Current.MainPage = (Page)newRootPage; return(Task.FromResult(true)); }
public override void SetPageModel <TPageModel>(IBasePage <TPageModel> page, TPageModel newPageModel) { base.SetPageModel(page, newPageModel); var rxPage = page as IViewFor <TPageModel>; if (rxPage != null) { rxPage.ViewModel = newPageModel; } }
/// <summary> /// Initializes a new instance of the <see cref="ProductsByCategoryPage"/> class. /// </summary> /// <param name="basePage">basePage</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public ProductsByCategoryPage( IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(basePage, pageObjectFactory, driver, pageSettings, new UriTemplate("{category}")) { }
/// <summary> /// Initializes a new instance of the <see cref="ProductTagsAllPage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public ProductTagsAllPage( IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(basePage, pageObjectFactory, driver, pageSettings, new UriTemplate("producttag/all")) { }
public void SetDetail <TPageModel>(IBasePage <TPageModel> page) where TPageModel : class, IBasePageModel { var masterDetailPage = this.GetCurrentPage() as MasterDetailPage; // If we have set a custom Navbar color in AppShell.cs, we need to preserve it masterDetailPage.Detail = new NavigationPage(page as Page) { BarBackgroundColor = Color.FromHex("#DCDCDC") }; masterDetailPage.IsPresented = false; }
/// <summary> /// Initializes a new instance of the <see cref="BaseProductPage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public BaseProductPage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(driver, pageSettings.BaseUrl, new UriTemplate("{productname}")) { this.basePage = basePage; this.pageObjectFactory = pageObjectFactory; this.pageSettings = pageSettings; }