/// <summary> /// Initializes a new instance of the <see cref="ImageEditorJavaScriptModuleDescriptor" /> class. /// </summary> /// <param name="containerModule">The container module.</param> public ImageEditorJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.media.imageeditor", "/file/bcms-media/scripts/bcms.media.imageeditor") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<ImagesController>(this, "imageEditorDialogUrl", c => c.ImageEditor("{0}")), new JavaScriptModuleLinkTo<ImagesController>(this, "imageEditorInsertDialogUrl", c => c.ImageEditorInsert("{0}")), new JavaScriptModuleLinkTo<ImagesController>(this, "imageEditorCroppingDialogUrl", c => c.ImageCropper("{0}")), new JavaScriptModuleLinkTo<ImagesController>(this, "imageResizeUrl", c => c.ImageResize("{0}", "{1}", "{2}", "{3}")), }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "imageEditorDialogTitle", () => MediaGlobalization.ImageEditor_Dialog_Title), new JavaScriptModuleGlobalization(this, "imageEditorInsertDialogTitle", () => MediaGlobalization.ImageEditor_InsertDialog_Title), new JavaScriptModuleGlobalization(this, "imageEditorInsertDialogAcceptButton", () => MediaGlobalization.ImageEditor_InsertDialog_AcceptButton), new JavaScriptModuleGlobalization(this, "imageEditorUpdateFailureMessageTitle", () => MediaGlobalization.ImageEditor_UpdateFailureMessage_Title), new JavaScriptModuleGlobalization(this, "imageEditorUpdateFailureMessageMessage", () => MediaGlobalization.ImageEditor_UpdateFailureMessage_Message), new JavaScriptModuleGlobalization(this, "imageEditorResizeFailureMessageTitle", () => MediaGlobalization.ImageEditor_ResizeFailureMessage_Title), new JavaScriptModuleGlobalization(this, "imageEditorResizeFailureMessageMessage", () => MediaGlobalization.ImageEditor_ResizeFailureMessage_Message), new JavaScriptModuleGlobalization(this, "imageEditorCroppingDialogTitle", () => MediaGlobalization.ImageEditor_CroppingDialog_Title), new JavaScriptModuleGlobalization(this, "imageEditorCropFailureMessageTitle", () => MediaGlobalization.ImageEditor_CropFailureMessage_Title), new JavaScriptModuleGlobalization(this, "imageEditorCropFailureMessageMessage", () => MediaGlobalization.ImageEditor_CropFailureMessage_Message), }; }
/// <summary> /// Initializes a new instance of the <see cref="WidgetsJavaScriptModuleDescriptor" /> class. /// </summary> /// <param name="containerModule">The container module.</param> public WidgetsJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.pages.widgets", "/file/bcms-pages/scripts/bcms.pages.widgets") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<WidgetsController>(this, "loadSiteSettingsWidgetListUrl", c => c.Widgets(null)), new JavaScriptModuleLinkTo<WidgetsController>(this, "loadCreateHtmlContentWidgetDialogUrl", controller => controller.CreateHtmlContentWidget()), new JavaScriptModuleLinkTo<WidgetsController>(this, "loadEditHtmlContentWidgetDialogUrl", controller => controller.EditHtmlContentWidget("{0}")) , new JavaScriptModuleLinkTo<WidgetsController>(this, "loadCreateServerControlWidgetDialogUrl", controller => controller.CreateServerControlWidget()), new JavaScriptModuleLinkTo<WidgetsController>(this, "loadEditServerControlWidgetDialogUrl", controller => controller.EditServerControlWidget("{0}")), new JavaScriptModuleLinkTo<WidgetsController>(this, "deleteWidgetUrl", controller => controller.DeleteWidget("{0}", "{1}")), new JavaScriptModuleLinkTo<ContentController>(this, "loadPageContentOptionsDialogUrl", controller => controller.PageContentOptions("{0}")) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "createHtmlContentWidgetDialogTitle", () => PagesGlobalization.CreateHtmlContentWidget_Dialog_Title), new JavaScriptModuleGlobalization(this, "editAdvancedContentDialogTitle", () => PagesGlobalization.EditWidget_Dialog_Title), new JavaScriptModuleGlobalization(this, "createWidgetDialogTitle", () => PagesGlobalization.CreateWidget_Dialog_Title), new JavaScriptModuleGlobalization(this, "editWidgetDialogTitle", () => PagesGlobalization.EditWidget_Dialog_Title), new JavaScriptModuleGlobalization(this, "editPageWidgetOptionsTitle", () => PagesGlobalization.PageWidgetOptions_Dialog_Title), new JavaScriptModuleGlobalization(this, "deleteWidgetConfirmMessage", () => PagesGlobalization.DeleteWidget_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteOptionConfirmMessage", () => PagesGlobalization.DeleteOption_Confirmation_Message), }; }
/// <summary> /// Initializes a new instance of the <see cref="WidgetsJavaScriptModuleDescriptor" /> class. /// </summary> /// <param name="containerModule">The container module.</param> public PagesContentJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.pages.content", "/file/bcms-pages/scripts/bcms.pages.content") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<ContentController>(this, "loadWidgetsFromCategoryUrl", controller => controller.WidgetCategory("{1}")), new JavaScriptModuleLinkTo<ContentController>(this, "loadWidgetsUrl", controller => controller.Widgets("{0}")), new JavaScriptModuleLinkTo<ContentController>(this, "loadAddNewHtmlContentDialogUrl", controller => controller.AddPageContent("{0}", "{1}")), new JavaScriptModuleLinkTo<ContentController>(this, "insertContentToPageUrl", controller => controller.InsertContentToPage("{0}", "{1}", "{2}")), new JavaScriptModuleLinkTo<ContentController>(this, "deletePageContentUrl", controller => controller.DeletePageContent("{0}", "{1}", "{2}")), new JavaScriptModuleLinkTo<ContentController>(this, "editPageContentUrl", controller => controller.EditPageContent("{0}")), new JavaScriptModuleLinkTo<ContentController>(this, "sortPageContentUrl", controller => controller.SortPageContent(null)), }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "addNewContentDialogTitle", () => PagesGlobalization.AddNewContent_Dialog_Title), new JavaScriptModuleGlobalization(this, "editContentDialogTitle", () => PagesGlobalization.EditContent_Dialog_Title), new JavaScriptModuleGlobalization(this, "insertingWidgetInfoMessage", () => PagesGlobalization.AddPageContent_InsertingWidget_Information_Message), new JavaScriptModuleGlobalization(this, "insertingWidgetInfoHeader", () => PagesGlobalization.AddPageContent_InsertingWidget_Information_Header), new JavaScriptModuleGlobalization(this, "insertingWidgetErrorMessage", () => PagesGlobalization.AddPageContent_InsertingWidget_Information_Message), new JavaScriptModuleGlobalization(this, "deleteContentConfirmationTitle", () => PagesGlobalization.DeletePageContent_ConfirmationTitle), new JavaScriptModuleGlobalization(this, "deleteContentConfirmationMessage", () => PagesGlobalization.DeletePageContent_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "deleteContentSuccessMessageTitle", () => PagesGlobalization.DeletePageContent_SuccessMessage_Title), new JavaScriptModuleGlobalization(this, "deleteContentSuccessMessageMessage", () => PagesGlobalization.DeletePageContent_SuccessMessage_Message), new JavaScriptModuleGlobalization(this, "deleteContentFailureMessageTitle", () => PagesGlobalization.DeletePageContent_FailureMessage_Title), new JavaScriptModuleGlobalization(this, "deleteContentFailureMessageMessage", () => PagesGlobalization.DeletePageContent_FailureMessage_Message), new JavaScriptModuleGlobalization(this, "sortPageContentFailureMessageTitle", () => PagesGlobalization.SortPageContent_FailureMessage_Title), new JavaScriptModuleGlobalization(this, "sortPageContentFailureMessageMessage", () => PagesGlobalization.SortPageContent_FailureMessage_Message), new JavaScriptModuleGlobalization(this, "errorTitle", () => RootGlobalization.Alert_ErrorTitle), }; }
/// <summary> /// Initializes a new instance of the <see cref="JsIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> /// <param name="name">The module name.</param> /// <param name="fileName">Name of the module file.</param> /// <param name="minFileName">Name of the minified file.</param> /// <param name="isAutoGenerated">if set to <c>true</c> then it indicates that this JS include file is auto generated and is not going to be minimized or loaded from CDN.</param> public JsIncludeDescriptor(ModuleDescriptor module, string name, string fileName = null, string minFileName = null, bool isAutoGenerated = false, bool isExternal = false, JsShimConfigDescriptor shimConfig = null) { Links = new List<IActionProjection>(); Globalization = new List<IActionProjection>(); Module = module; Name = name; IsAutoGenerated = isAutoGenerated; ShimConfiguration = shimConfig; if (isExternal) { if (string.IsNullOrEmpty(fileName) || string.IsNullOrEmpty(minFileName)) { throw new CmsException("Paths for the external JS file and minified JS file can not by empty"); } FileName = System.IO.Path.GetFileName(fileName); Path = fileName; MinPath = minFileName; } else { FileName = fileName ?? name + ".js"; Path = VirtualPath.Combine(module.JsBasePath, fileName ?? name + ".js"); // If minFileName is not given then CMS will try to load it from a bcms.[module-name].min.js file. if (!string.IsNullOrEmpty(minFileName)) { MinPath = VirtualPath.Combine(module.JsBasePath, minFileName); } } }
/// <summary> /// Initializes a new instance of the <see cref="CategoriesJavaScriptModuleDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public CategoriesJavaScriptModuleDescriptor(ModuleDescriptor module) : base(module, "bcms.categories") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<CategoryController>(this, "loadSiteSettingsCategoryTreesListUrl", c => c.CategoryTrees(null)), new JavaScriptModuleLinkTo<CategoryController>(this, "categoryTreeEditDialogUrl", c => c.EditCategoryTree("{0}")), new JavaScriptModuleLinkTo<CategoryController>(this, "saveCategoryTreeUrl", c => c.SaveCategoryTree(null)), new JavaScriptModuleLinkTo<CategoryController>(this, "deleteCategoryTreeUrl", c => c.DeleteCategoryTree("{0}", "{1}")), new JavaScriptModuleLinkTo<CategoryController>(this, "categoriesSuggestionServiceUrl", c => c.SuggestCategories(null)) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "categoryTreeCreatorDialogTitle", () => RootGlobalization.CategoryTree_CreatorDialog_Title), new JavaScriptModuleGlobalization(this, "categoryTreeEditorDialogTitle", () => RootGlobalization.CategoryTree_EditorDialog_Title), new JavaScriptModuleGlobalization(this, "nodeOkButton", () => RootGlobalization.Button_Ok), new JavaScriptModuleGlobalization(this, "placeNodeHere", () => RootGlobalization.CategoryTree_PlaceLinkHere_Message), new JavaScriptModuleGlobalization(this, "categoryTreeIsEmpty", () => RootGlobalization.CategoryTree_TreeIsEmpty_Message), new JavaScriptModuleGlobalization(this, "deleteCategoryNodeConfirmationMessage", () => RootGlobalization.CategoryTree_DeleteNode_Confirmation_Message), new JavaScriptModuleGlobalization(this, "someCategoryNodesAreInEditingState", () => RootGlobalization.CategoryTree_SomeNodesAreInEditingState), new JavaScriptModuleGlobalization(this, "categoryTreeDeleteConfirmMessage", () => RootGlobalization.CategoryTree_Delete_Confirmation_Message), }; }
/// <summary> /// Initializes a new instance of the <see cref="PagesJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public PagesJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.pages") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<PageController>(this, "loadAddNewPageDialogUrl", c => c.AddNewPage("{0}", "{1}")), new JavaScriptModuleLinkTo<PageController>(this, "loadSiteSettingsPageListUrl", c => c.Pages(null)), new JavaScriptModuleLinkTo<PageController>(this, "loadSelectPageUrl", c => c.SelectPage(null)), new JavaScriptModuleLinkTo<PageController>(this, "deletePageConfirmationUrl", c => c.DeletePageConfirmation("{0}")), new JavaScriptModuleLinkTo<PageController>(this, "changePublishStatusUrl", c => c.ChangePublishStatus(null)), new JavaScriptModuleLinkTo<PageController>(this, "clonePageDialogUrl", c => c.ClonePage("{0}")), new JavaScriptModuleLinkTo<PageController>(this, "clonePageWithLanguageDialogUrl", c => c.ClonePageWithLanguage("{0}")), new JavaScriptModuleLinkTo<PageController>(this, "convertStringToSlugUrl", c => c.ConvertStringToSlug("{0}", "{1}", "{2}", "{3}", "{4}", "{5}")) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "addNewPageDialogTitle", () => PagesGlobalization.AddNewPage_Dialog_Title), new JavaScriptModuleGlobalization(this, "addNewMasterPageDialogTitle", () => PagesGlobalization.AddNewMasterPage_PageTitle), new JavaScriptModuleGlobalization(this, "deletePageDialogTitle", () => PagesGlobalization.DeletePage_Dialog_Title), new JavaScriptModuleGlobalization(this, "pageDeletedMessage", () => PagesGlobalization.DeletePage_SuccessMessage_Message), new JavaScriptModuleGlobalization(this, "pageDeletedTitle", () => PagesGlobalization.DeletePage_SuccessMessage_Title), new JavaScriptModuleGlobalization(this, "clonePageDialogTitle", () => PagesGlobalization.ClonePage_Dialog_Title), new JavaScriptModuleGlobalization(this, "clonePageWithLanguageDialogTitle", () => PagesGlobalization.ClonePageWithLanguage_Dialog_Title), new JavaScriptModuleGlobalization(this, "cloneButtonTitle", () => PagesGlobalization.ClonePage_Dialog_CloneButton), new JavaScriptModuleGlobalization(this, "deleteButtonTitle", () => PagesGlobalization.DeletePage_Dialog_DeleteButton), new JavaScriptModuleGlobalization(this, "pageStatusChangeConfirmationMessagePublish", () => PagesGlobalization.EditPageProperties_PageStatusChange_ConfirmationMessage_Publish), new JavaScriptModuleGlobalization(this, "pageStatusChangeConfirmationMessageUnPublish", () => PagesGlobalization.EditPageProperties_PageStatusChange_ConfirmationMessage_UnPublish), new JavaScriptModuleGlobalization(this, "selectPageDialogTitle", () => PagesGlobalization.SelectPage_Dialog_Title), new JavaScriptModuleGlobalization(this, "selectPageSelectButtonTitle", () => PagesGlobalization.SelectPage_Select_ButtonTitle), new JavaScriptModuleGlobalization(this, "pageNotSelectedMessage", () => PagesGlobalization.SelectPage_PageIsNotSelected_Message), new JavaScriptModuleGlobalization(this, "pagesListTitle", () => PagesGlobalization.Pages_List_Title), }; }
/// <summary> /// Initializes a new instance of the <see cref="WidgetsJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public WidgetsJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.pages.widgets") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<WidgetsController>(this, "loadSiteSettingsWidgetListUrl", c => c.Widgets(null)), new JavaScriptModuleLinkTo<WidgetsController>(this, "loadCreateHtmlContentWidgetDialogUrl", controller => controller.CreateHtmlContentWidget()), new JavaScriptModuleLinkTo<WidgetsController>(this, "loadEditHtmlContentWidgetDialogUrl", controller => controller.EditHtmlContentWidget("{0}")) , new JavaScriptModuleLinkTo<WidgetsController>(this, "loadCreateServerControlWidgetDialogUrl", controller => controller.CreateServerControlWidget()), new JavaScriptModuleLinkTo<WidgetsController>(this, "loadEditServerControlWidgetDialogUrl", controller => controller.EditServerControlWidget("{0}")), new JavaScriptModuleLinkTo<WidgetsController>(this, "deleteWidgetUrl", controller => controller.DeleteWidget("{0}", "{1}")), new JavaScriptModuleLinkTo<ContentController>(this, "loadPageContentOptionsDialogUrl", controller => controller.PageContentOptions("{0}")) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "createHtmlContentWidgetDialogTitle", () => PagesGlobalization.CreateHtmlContentWidget_Dialog_Title), new JavaScriptModuleGlobalization(this, "editAdvancedContentDialogTitle", () => PagesGlobalization.EditWidget_Dialog_Title), new JavaScriptModuleGlobalization(this, "createWidgetDialogTitle", () => PagesGlobalization.CreateWidget_Dialog_Title), new JavaScriptModuleGlobalization(this, "editWidgetDialogTitle", () => PagesGlobalization.EditWidget_Dialog_Title), new JavaScriptModuleGlobalization(this, "editPageWidgetOptionsTitle", () => PagesGlobalization.PageWidgetOptions_Dialog_Title), new JavaScriptModuleGlobalization(this, "deleteWidgetConfirmMessage", () => PagesGlobalization.DeleteWidget_Confirmation_Message), new JavaScriptModuleGlobalization(this, "widgetStatusPublished", () => RootGlobalization.ContentStatus_Published), new JavaScriptModuleGlobalization(this, "widgetStatusDraft", () => RootGlobalization.ContentStatus_Draft), new JavaScriptModuleGlobalization(this, "widgetStatusPublishedWithDraft", () => RootGlobalization.ContentStatus_PublishedWithDraft), new JavaScriptModuleGlobalization(this, "previewImageNotFoundMessage", () => PagesGlobalization.EditWidget_PreviewImageNotFound_Message), new JavaScriptModuleGlobalization(this, "deletingMessage", () => RootGlobalization.Message_Deleting), new JavaScriptModuleGlobalization(this, "widgetUsageTitle", () => PagesGlobalization.SiteSettings_Widgets_PagesUsingWidget_Title) }; }
/// <summary> /// Initializes a new instance of the <see cref="BlogJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public BlogJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.blog") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<BlogController>(this, "loadSiteSettingsBlogsUrl", c => c.Index(null)), new JavaScriptModuleLinkTo<BlogController>(this, "loadCreateNewPostDialogUrl", c => c.CreateBlogPost("{0}")), new JavaScriptModuleLinkTo<BlogController>(this, "loadEditPostDialogUrl", c => c.EditBlogPost("{0}")), new JavaScriptModuleLinkTo<AuthorController>(this, "loadAuthorsTemplateUrl", c => c.ListTemplate()), new JavaScriptModuleLinkTo<AuthorController>(this, "loadAuthorsUrl", c => c.AuthorsList(null)), new JavaScriptModuleLinkTo<AuthorController>(this, "deleteAuthorsUrl", c => c.DeleteAuthor(null, null)), new JavaScriptModuleLinkTo<AuthorController>(this, "saveAuthorsUrl", c => c.SaveAuthor(null)), new JavaScriptModuleLinkTo<OptionController>(this, "loadTemplatesUrl", c => c.Templates()), new JavaScriptModuleLinkTo<OptionController>(this, "saveDefaultTemplateUrl", c => c.SaveDefaultTemplate("{0}")), new JavaScriptModuleLinkTo<BlogController>(this, "convertStringToSlugUrl", c => c.ConvertStringToSlug("{0}", "{1}")) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "createNewPostDialogTitle", () => BlogGlobalization.CreateNewPost_Dialog_Title), new JavaScriptModuleGlobalization(this, "editPostDialogTitle", () => BlogGlobalization.EditPost_Dialog_Title), new JavaScriptModuleGlobalization(this, "deleteBlogDialogTitle", () => BlogGlobalization.DeletePost_Dialog_Title), new JavaScriptModuleGlobalization(this, "deleteAuthorDialogTitle", () => BlogGlobalization.DeleteAuthor_Confirmation_Message), new JavaScriptModuleGlobalization(this, "blogPostsTabTitle", () => BlogGlobalization.SiteSettings_Blogs_PostsTab_Title), new JavaScriptModuleGlobalization(this, "authorsTabTitle", () => BlogGlobalization.SiteSettings_Blogs_AuthorsTab_Title), new JavaScriptModuleGlobalization(this, "templatesTabTitle", () => BlogGlobalization.SiteSettings_Blogs_TemplatesTab_Title), new JavaScriptModuleGlobalization(this, "datePickerTooltipTitle", () => BlogGlobalization.Date_Picker_Tooltip_Title) }; }
/// <summary> /// Initializes a new instance of the <see cref="WidgetsJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public TemplatesJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.pages.template") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<TemplatesController>(this, "loadSiteSettingsTemplateListUrl", controller => controller.Templates(null)), new JavaScriptModuleLinkTo<TemplatesController>(this, "loadRegisterTemplateDialogUrl", controller => controller.RegisterTemplate()), new JavaScriptModuleLinkTo<TemplatesController>(this, "loadEditTemplateDialogUrl", controller => controller.EditTemplate("{0}")), new JavaScriptModuleLinkTo<TemplatesController>(this, "deleteTemplateUrl", controller => controller.DeleteTemplate("{0}", "{1}")), new JavaScriptModuleLinkTo<ContentController>(this, "loadTemplateRegionDialogUrl", controller => controller.PageContentOptions("{0}")) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "createTemplateDialogTitle", () => PagesGlobalization.CreatTemplate_Dialog_Title), new JavaScriptModuleGlobalization(this, "editTemplateDialogTitle", () => PagesGlobalization.EditTemplate_Dialog_Title), new JavaScriptModuleGlobalization(this, "editTemplateRegionTitle", () => PagesGlobalization.SiteSettings_TemplatesMenuItem), new JavaScriptModuleGlobalization(this, "deleteTemplateConfirmMessage", () => PagesGlobalization.SiteSettings_Template_DeleteCategoryMessage), new JavaScriptModuleGlobalization(this, "deleteRegionConfirmMessage", () => PagesGlobalization.DeleteRegion_Confirmation_Message), new JavaScriptModuleGlobalization(this, "previewImageNotFoundMessage", () => PagesGlobalization.EditTemplate_PreviewImageNotFound_Message), new JavaScriptModuleGlobalization(this, "deletingMessage", () => RootGlobalization.Message_Deleting), new JavaScriptModuleGlobalization(this, "templatesTabTitle", () => PagesGlobalization.SiteSettings_Templates_Title) }; }
/// <summary> /// Initializes a new instance of the <see cref="JavaScriptModuleDescriptor" /> class. /// </summary> /// <param name="containerModule">The container module.</param> /// <param name="name">The name.</param> /// <param name="path">The path.</param> public JavaScriptModuleDescriptor(ModuleDescriptor containerModule, string name, string path) { ContainerModule = containerModule; Name = name; Path = path; Links = new List<IActionProjection>(); Globalization = new List<IActionProjection>(); }
public ModuleWorkerJob(IPackageService packageService, ModuleDescriptor moduleDescriptor, ModuleAction action) { Id = Guid.NewGuid().ToString("N"); CancellationToken = new CancellationToken(); PackageService = packageService; ModuleDescriptor = moduleDescriptor; Action = action; ProgressLog = new List<ProgressMessage>(); }
public FaqJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.faq") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<FaqController>(this, "loadSiteSettingsFaqUrl", c => c.Index(null)), new JavaScriptModuleLinkTo<FaqController>(this, "loadEditFaqUrl", c=> c.Edit("{0}")), new JavaScriptModuleLinkTo<FaqController>(this, "loadCreateFaqUrl", c=> c.Create()), new JavaScriptModuleLinkTo<FaqController>(this, "deleteFaqUrl", c => c.Delete("{0}", "{1}")) }; }
public DynamicContentJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.dynamicContent", "/file/bcms-root/scripts/bcms.dynamicContent") { Links = new IActionProjection[] { }; Globalization = new IActionProjection[] { }; }
public CategoryJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.faq.category") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<CategoryController>(this, "loadSiteSettingsCategoriesUrl", c => c.Index(null)), new JavaScriptModuleLinkTo<CategoryController>(this, "loadEditCategoryUrl", c=> c.Edit("{0}")), new JavaScriptModuleLinkTo<CategoryController>(this, "loadCreateCategoryUrl", c=> c.Create()), new JavaScriptModuleLinkTo<CategoryController>(this, "deleteCategoryUrl", c => c.Delete("{0}", "{1}")) }; }
public NewsJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.news") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<NewsController>(this, "loadSiteSettingsNewsUrl", c => c.Index(null)), new JavaScriptModuleLinkTo<NewsController>(this, "loadEditNewsUrl", c=> c.EditNews("{0}")), new JavaScriptModuleLinkTo<NewsController>(this, "loadCreateNewsUrl", c=> c.CreateNews()), new JavaScriptModuleLinkTo<NewsController>(this, "deleteNewsUrl", c => c.DeleteNews("{0}", "{1}")) }; }
public FormsJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.forms", "/file/bcms-root/scripts/bcms.forms") { Links = new IActionProjection[] { }; Globalization = new IActionProjection[] { }; }
public ProductJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.product") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<ProductController>(this, "loadSiteSettingsProductsUrl", c => c.Index(null)), new JavaScriptModuleLinkTo<ProductController>(this, "loadEditProductUrl", c=> c.EditProduct("{0}")), new JavaScriptModuleLinkTo<ProductController>(this, "loadCreateProductUrl", c=> c.CreateProduct()), new JavaScriptModuleLinkTo<ProductController>(this, "deleteProductUrl", c => c.DeleteProduct("{0}", "{1}")) }; }
public HtmlEditorJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.htmlEditor", "/file/bcms-root/scripts/bcms.htmlEditor") { Links = new IActionProjection[] { }; Globalization = new IActionProjection[] { }; }
/// <summary> /// Initializes a new instance of the <see cref="ContentJavaScriptModuleDescriptor" /> class. /// </summary> /// <param name="containerModule">The container module.</param> public ContentJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.content", "/file/bcms-root/scripts/bcms.content") { Links = new IActionProjection[] { }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "failedLoadDialogMessage", () => RootGlobalization.Message_FailedToLoadDialog), }; }
/// <summary> /// Initializes a new instance of the <see cref="MediaManagerJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public MediaManagerJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.media") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<MediaManagerController>(this, "loadSiteSettingsMediaManagerUrl", c => c.Index()), new JavaScriptModuleLinkTo<ImagesController>(this, "loadImagesUrl", c => c.GetImagesList(null)), new JavaScriptModuleLinkTo<FilesController>(this, "loadFilesUrl", c => c.GetFilesList(null)), new JavaScriptModuleLinkTo<AudiosController>(this, "loadAudiosUrl", c => c.GetAudiosList(null)), new JavaScriptModuleLinkTo<VideosController>(this, "loadVideosUrl", c => c.GetVideosList(null)), new JavaScriptModuleLinkTo<ImagesController>(this, "insertImageDialogUrl", c => c.ImageInsert()), new JavaScriptModuleLinkTo<FilesController>(this, "insertFileDialogUrl", c => c.FileInsert()), new JavaScriptModuleLinkTo<ImagesController>(this, "deleteImageUrl", c => c.ImageDelete("{0}", "{1}")), new JavaScriptModuleLinkTo<AudiosController>(this, "deleteAudioUrl", c => c.AudioDelete("{0}", "{1}")), new JavaScriptModuleLinkTo<VideosController>(this, "deleteVideoUrl", c => c.VideoDelete("{0}", "{1}")), new JavaScriptModuleLinkTo<FilesController>(this, "deleteFileUrl", c => c.FileDelete("{0}", "{1}")), new JavaScriptModuleLinkTo<ImagesController>(this, "getImageUrl", c => c.GetImage("{0}")), new JavaScriptModuleLinkTo<FilesController>(this, "downloadFileUrl", c => c.Download("{0}")), new JavaScriptModuleLinkTo<FolderController>(this, "saveFolderUrl", c => c.SaveFolder(null)), new JavaScriptModuleLinkTo<FolderController>(this, "deleteFolderUrl", c => c.DeleteFolder("{0}", "{1}")), new JavaScriptModuleLinkTo<MediaManagerController>(this, "renameMediaUrl", c => c.RenameMedia(null)) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "insertImageDialogTitle", () => MediaGlobalization.InsertImage_Dialog_Title), new JavaScriptModuleGlobalization(this, "insertImageFailureMessageTitle", () => MediaGlobalization.InsertImage_FailureMessage_Title), new JavaScriptModuleGlobalization(this, "insertImageFailureMessageMessage", () => MediaGlobalization.InsertImage_FailureMessage_Message), new JavaScriptModuleGlobalization(this, "imageNotSelectedMessageMessage", () => MediaGlobalization.ImageNotSelected_MessageMessage), new JavaScriptModuleGlobalization(this, "insertFileDialogTitle", () => MediaGlobalization.InsertFile_Dialog_Title), new JavaScriptModuleGlobalization(this, "insertFileFailureMessageTitle", () => MediaGlobalization.InsertFile_FailureMessage_Title), new JavaScriptModuleGlobalization(this, "insertFileFailureMessageMessage", () => MediaGlobalization.InsertFile_FailureMessage_Message), new JavaScriptModuleGlobalization(this, "fileNotSelectedMessageMessage", () => MediaGlobalization.FileNotSelected_MessageMessage), new JavaScriptModuleGlobalization(this, "deleteImageConfirmMessage", () => MediaGlobalization.DeleteImage_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteAudioConfirmMessage", () => MediaGlobalization.DeleteAudio_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteVideoConfirmMessage", () => MediaGlobalization.DeleteVideo_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteFileConfirmMessage", () => MediaGlobalization.DeleteFile_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteFolderConfirmMessage", () => MediaGlobalization.DeleteFolder_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "imagesTabTitle", () => MediaGlobalization.ImagesTab_Title), new JavaScriptModuleGlobalization(this, "audiosTabTitle", () => MediaGlobalization.AudiosTab_Title), new JavaScriptModuleGlobalization(this, "videosTabTitle", () => MediaGlobalization.VideosTab_Title), new JavaScriptModuleGlobalization(this, "filesTabTitle", () => MediaGlobalization.FilesTab_Title), new JavaScriptModuleGlobalization(this, "uploadImage", () => MediaGlobalization.ImagesTab_UploadImage), new JavaScriptModuleGlobalization(this, "uploadAudio", () => MediaGlobalization.AudiosTab_UploadAudio), new JavaScriptModuleGlobalization(this, "uploadVideo", () => MediaGlobalization.VideosTab_UploadVideo), new JavaScriptModuleGlobalization(this, "uploadFile", () => MediaGlobalization.FilesTab_UploadFile) }; }
public SiteSettingsJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.siteSettings", "/file/bcms-root/scripts/bcms.siteSettings") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<SiteSettingsController>(this, "loadSiteSettingsUrl", c => c.Container()) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "siteSettingsTitle", () => RootGlobalization.SiteSettings_Title), }; }
public SidemenuJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.sidemenu", "/file/bcms-root/scripts/bcms.sidemenu") { Links = new IActionProjection[] { }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "stickRightMenuTitle", () => RootGlobalization.Sidebar_Footer_Right_DragTitle), new JavaScriptModuleGlobalization(this, "stickLeftMenuTitle", () => RootGlobalization.Sidebar_Footer_Left_DragTitle) }; }
/// <summary> /// Initializes a new instance of the <see cref="AuthenticationScriptModuleDescriptor" /> class. /// </summary> /// <param name="containerModule">The container module.</param> public AuthenticationScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.authentication", "/file/bcms-root/scripts/bcms.authentication") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<AuthenticationController>(this, "logoutUrl", c => c.Logout()) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "confirmLogoutMessage", () => RootGlobalization.Authentication_LogOutConfirmationMessage) }; }
/// <summary> /// Initializes a new instance of the <see cref="PagePropertiesJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public PagePropertiesJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.pages.properties") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<PageController>(this, "loadEditPropertiesDialogUrl", c => c.EditPageProperties("{0}")) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "editPagePropertiesModalTitle", () => PagesGlobalization.EditPageProperties_Title), }; }
/// <summary> /// Initializes a new instance of the <see cref="SeoJavaScriptModuleDescriptor" /> class. /// </summary> /// <param name="containerModule">The container module.</param> public SeoJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.pages.seo", "/file/bcms-pages/scripts/bcms.pages.seo") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<SeoController>(this, "loadEditSeoDialogUrl", controller => controller.EditSeo("{0}")) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "editSeoDialogTitle", () => PagesGlobalization.EditSeo_Dialog_Title) }; }
/// <summary> /// Initializes a new instance of the <see cref="InlineEditorJavaScriptModuleDescriptor" /> class. /// </summary> /// <param name="containerModule">The container module.</param> public InlineEditorJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.inlineEdit", "/file/bcms-root/scripts/bcms.inlineEdit") { Links = new IActionProjection[] { }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "messageDeleting", () => RootGlobalization.Message_Deleting), new JavaScriptModuleGlobalization(this, "messageSaving", () => RootGlobalization.Message_Saving), new JavaScriptModuleGlobalization(this, "confirmDeleteMessage", () => RootGlobalization.Confirm_Delete_DefaultMessage), }; }
void RunIncotexAnalytics(StreamInfoArgs args, Model model) { AnalyticsVideoDescriptor videoDescr = new AnalyticsVideoDescriptor(); ModuleDescriptor moduleDescriptor = new ModuleDescriptor(model.config, model.configDescription, model.schemes); ApproAnalyticsConfigView customview = new ApproAnalyticsConfigView(); bool retres = customview.Init(activityContext.container, args, moduleDescriptor); if (!retres) { Error(new Exception("Module is in unproper state. Please delete and create new one.")); } Apply = customview.Apply; StartConfiguring(customview); controlDisposable = customview; }
/// <summary> /// Initializes a new instance of the <see cref="FileEditorJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public FileEditorJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.media.fileeditor") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<FilesController>(this, "fileEditorDialogUrl", c => c.FileEditor("{0}")), }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "fileEditorDialogTitle", () => MediaGlobalization.FileEditor_Dialog_Title), new JavaScriptModuleGlobalization(this, "fileEditorUpdateFailureMessageTitle", () => MediaGlobalization.FileEditor_UpdateFailureMessage_Title), new JavaScriptModuleGlobalization(this, "fileEditorUpdateFailureMessageMessage", () => MediaGlobalization.FileEditor_UpdateFailureMessage_Message), }; }
/// <summary> /// Initializes a new instance of the <see cref="RedirectsJavaScriptModuleDescriptor" /> class. /// </summary> /// <param name="containerModule">The container module.</param> public RedirectsJavaScriptModuleDescriptor(ModuleDescriptor containerModule) : base(containerModule, "bcms.pages.redirects", "/file/bcms-pages/scripts/bcms.pages.redirects") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<RedirectController>(this, "loadSiteSettingsRedirectListUrl", c => c.Redirects(null)), new JavaScriptModuleLinkTo<RedirectController>(this, "deleteRedirectUrl", c => c.DeleteRedirect(null)), new JavaScriptModuleLinkTo<RedirectController>(this, "saveRedirectUrl", c => c.SaveRedirect(null)) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "deleteRedirectMessage", () => PagesGlobalization.DeleteRedirect_Confirmation_Message) }; }
/// <summary> /// Initializes a new instance of the <see cref="SalesJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public SalesJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.sales") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo<ProductController>(this, "loadSiteSettingsProductsUrl", c => c.ListTemplate()), new JavaScriptModuleLinkTo<ProductController>(this, "loadProductsUrl", c => c.ProductsList(null)), new JavaScriptModuleLinkTo<ProductController>(this, "saveProductUrl", c => c.SaveProduct(null)), new JavaScriptModuleLinkTo<ProductController>(this, "deleteProductUrl", c => c.DeleteProduct(null, null)), new JavaScriptModuleLinkTo<UnitController>(this, "loadSiteSettingsUnitsUrl", c => c.ListTemplate()), new JavaScriptModuleLinkTo<UnitController>(this, "loadUnitsUrl", c => c.UnitsList(null)), new JavaScriptModuleLinkTo<UnitController>(this, "saveUnitUrl", c => c.SaveUnit(null)), new JavaScriptModuleLinkTo<UnitController>(this, "deleteUnitUrl", c => c.DeleteUnit(null, null)), new JavaScriptModuleLinkTo<BuyerController>(this, "loadSiteSettingsBuyersUrl", c => c.ListTemplate()), new JavaScriptModuleLinkTo<BuyerController>(this, "loadBuyersUrl", c => c.BuyersList(null)), new JavaScriptModuleLinkTo<BuyerController>(this, "saveBuyerUrl", c => c.SaveBuyer(null)), new JavaScriptModuleLinkTo<BuyerController>(this, "deleteBuyerUrl", c => c.DeleteBuyer(null, null)), new JavaScriptModuleLinkTo<SupplierController>(this, "loadSiteSettingsSuppliersUrl", c => c.ListTemplate()), new JavaScriptModuleLinkTo<SupplierController>(this, "loadSuppliersUrl", c => c.SuppliersList(null)), new JavaScriptModuleLinkTo<SupplierController>(this, "saveSupplierUrl", c => c.SaveSupplier(null)), new JavaScriptModuleLinkTo<SupplierController>(this, "deleteSupplierUrl", c => c.DeleteSupplier(null, null)), new JavaScriptModuleLinkTo<PurchaseController>(this, "loadSiteSettingsPurchasesUrl", c => c.ListTemplate()), new JavaScriptModuleLinkTo<PurchaseController>(this, "createPurchaseUrl", c => c.CreatePurchase()), new JavaScriptModuleLinkTo<PurchaseController>(this, "editPurchaseUrl", c => c.EditPurchase("{0}")), new JavaScriptModuleLinkTo<PurchaseController>(this, "deletePurchaseUrl", c => c.DeletePurchase(null, null)), new JavaScriptModuleLinkTo<SupplierController>(this, "suggestSupplierUrl", c => c.SuggestSupplier(null)), }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "deleteProductDialogTitle", () => SalesGlobalization.DeleteProduct_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteUnitDialogTitle", () => SalesGlobalization.DeleteUnit_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteBuyerDialogTitle", () => SalesGlobalization.DeleteBuyer_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteSupplierDialogTitle", () => SalesGlobalization.DeleteSupplier_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deletePurchaseDialogTitle", () => SalesGlobalization.DeletePurchase_Confirmation_Message), new JavaScriptModuleGlobalization(this, "buyersTabTitle", () => SalesGlobalization.SiteSettings_Buyers_Title), new JavaScriptModuleGlobalization(this, "suppliersTabTitle", () => SalesGlobalization.SiteSettings_Suppliers_Title), new JavaScriptModuleGlobalization(this, "editPurchaseTitle", () => SalesGlobalization.EditPurchase_Dialog_Title), new JavaScriptModuleGlobalization(this, "createNewPurchaseTitle", () => SalesGlobalization.CreatePurchase_Dialog_Title), }; }
/// <summary> /// Initializes a new instance of the <see cref="WidgetsJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public PagesContentJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.pages.content") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo <ContentController>(this, "loadWidgetsUrl", controller => controller.Widgets("{0}")), new JavaScriptModuleLinkTo <ContentController>(this, "loadAddNewHtmlContentDialogUrl", controller => controller.AddPageHtmlContent("{0}", "{1}", "{2}")), new JavaScriptModuleLinkTo <ContentController>(this, "insertContentToPageUrl", controller => controller.InsertContentToPage("{0}", "{1}", "{2}", "{3}", "{4}")), new JavaScriptModuleLinkTo <ContentController>(this, "deletePageContentUrl", controller => controller.DeletePageContent("{0}", "{1}", "{2}", "{3}")), new JavaScriptModuleLinkTo <ContentController>(this, "editPageContentUrl", controller => controller.EditPageHtmlContent("{0}")), new JavaScriptModuleLinkTo <ContentController>(this, "sortPageContentUrl", controller => controller.SortPageContent(null)), new JavaScriptModuleLinkTo <WidgetsController>(this, "selectWidgetUrl", controller => controller.SelectWidget(null)) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "addNewContentDialogTitle", () => PagesGlobalization.AddNewContent_Dialog_Title), new JavaScriptModuleGlobalization(this, "editContentDialogTitle", () => PagesGlobalization.EditContent_Dialog_Title), new JavaScriptModuleGlobalization(this, "insertingWidgetInfoMessage", () => PagesGlobalization.AddPageContent_InsertingWidget_Information_Message), new JavaScriptModuleGlobalization(this, "insertingWidgetInfoHeader", () => PagesGlobalization.AddPageContent_InsertingWidget_Information_Header), new JavaScriptModuleGlobalization(this, "insertingWidgetErrorMessage", () => PagesGlobalization.AddPageContent_InsertingWidget_Information_Message), new JavaScriptModuleGlobalization(this, "sortingPageContentMessage", () => PagesGlobalization.SortPageContent_Info_Message), new JavaScriptModuleGlobalization(this, "deleteContentConfirmationTitle", () => PagesGlobalization.DeletePageContent_ConfirmationTitle), new JavaScriptModuleGlobalization(this, "deleteContentConfirmationMessage", () => PagesGlobalization.DeletePageContent_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "deleteContentSuccessMessageTitle", () => PagesGlobalization.DeletePageContent_SuccessMessage_Title), new JavaScriptModuleGlobalization(this, "deleteContentSuccessMessageMessage", () => PagesGlobalization.DeletePageContent_SuccessMessage_Message), new JavaScriptModuleGlobalization(this, "deleteContentFailureMessageTitle", () => PagesGlobalization.DeletePageContent_FailureMessage_Title), new JavaScriptModuleGlobalization(this, "deleteContentFailureMessageMessage", () => PagesGlobalization.DeletePageContent_FailureMessage_Message), new JavaScriptModuleGlobalization(this, "sortPageContentFailureMessageTitle", () => PagesGlobalization.SortPageContent_FailureMessage_Title), new JavaScriptModuleGlobalization(this, "sortPageContentFailureMessageMessage", () => PagesGlobalization.SortPageContent_FailureMessage_Message), new JavaScriptModuleGlobalization(this, "datePickerTooltipTitle", () => RootGlobalization.Date_Picker_Tooltip_Title), new JavaScriptModuleGlobalization(this, "errorTitle", () => RootGlobalization.Alert_ErrorTitle), new JavaScriptModuleGlobalization(this, "selectWidgetDialogTitle", () => PagesGlobalization.Widgets_SelectWidget_DialogTitle) }; }
public void TestInternalReferencesOutsideModuleAreNotAllowed() { var content = "import * as Foo from \"./DoesNotExist.dsc\";"; var parser = new Parser(); var sourceFile = parser.ParseSourceFileContent(m_fakeMainFile.ToString(PathTable), content); var referenceResolver = new ModuleReferenceResolver(PathTable); var module = ModuleDefinition.CreateModuleDefinitionWithExplicitReferencesWithEmptyQualifierSpace( ModuleDescriptor.CreateForTesting("Test"), m_fakeMainFile, m_fakeModuleConfigFile, new[] { m_fakeMainFile }, PathTable); Failure[] failures; var result = referenceResolver.TryUpdateAllInternalModuleReferences(sourceFile, module, out failures); XAssert.IsFalse(result); XAssert.AreEqual(1, failures.Length); XAssert.IsTrue(failures[0] is SpecNotUnderAModuleFailure); }
private async Task <Possible <NinjaGraphWithModuleDefinition> > TryComputeBuildGraphAsync() { Possible <NinjaGraphResult> maybeGraph = await ComputeBuildGraphAsync(); var result = maybeGraph.Result; var specFileConfig = SpecFile.ChangeExtension(m_context.PathTable, PathAtom.Create(m_context.StringTable, ".ninja.dsc")); // It needs to be a .dsc for the parsing to work var moduleDescriptor = ModuleDescriptor.CreateWithUniqueId(m_context.StringTable, m_resolverSettings.ModuleName, this); var moduleDefinition = ModuleDefinition.CreateModuleDefinitionWithImplicitReferences( moduleDescriptor, ProjectRoot, m_resolverSettings.File, new List <AbsolutePath>() { specFileConfig }, allowedModuleDependencies: null, // no module policies cyclicalFriendModules: null, // no allowlist of cycles mounts: null); return(new NinjaGraphWithModuleDefinition(result.Graph, moduleDefinition)); }
/// <summary> /// Initializes a new instance of the <see cref="UserJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public UserJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.user") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo <UserController>(this, "loadSiteSettingsUsersUrl", c => c.Index(null)), new JavaScriptModuleLinkTo <UserController>(this, "loadEditUserUrl", c => c.EditUser("{0}")), new JavaScriptModuleLinkTo <UserController>(this, "deleteUserUrl", c => c.DeleteUser("{0}", "{1}")), /*new JavaScriptModuleLinkTo<RoleController>(this, "loadEditRoleUrl", c => c.EditRoleView("{0}")), * new JavaScriptModuleLinkTo<RoleController>(this, "loadSiteSettingsRoleUrl", c => c.RolesListView(null)) */ }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "usersListTabTitle", () => UsersGlobalization.SiteSettings_Users_ListTab_Title), new JavaScriptModuleGlobalization(this, "usersAddNewTitle", () => UsersGlobalization.EditUser_Window_Title), new JavaScriptModuleGlobalization(this, "rolesListTabTitle", () => UsersGlobalization.SiteSettings_Roles_ListTab_Title), new JavaScriptModuleGlobalization(this, "rolesAddNewTitle", () => UsersGlobalization.Role_AddNeww_Dialog_Title), new JavaScriptModuleGlobalization(this, "deleteUserConfirmMessage", () => UsersGlobalization.DeleteUser_Confirmation_Message) }; }
/// <summary> /// Initializes a new instance of the <see cref="BlogJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public BlogJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.blog") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo <BlogController>(this, "loadSiteSettingsBlogsUrl", c => c.Index(null)), new JavaScriptModuleLinkTo <BlogController>(this, "loadCreateNewPostDialogUrl", c => c.CreateBlogPost("{0}")), new JavaScriptModuleLinkTo <BlogController>(this, "loadEditPostDialogUrl", c => c.EditBlogPost("{0}")), new JavaScriptModuleLinkTo <AuthorController>(this, "loadAuthorsTemplateUrl", c => c.ListTemplate()), new JavaScriptModuleLinkTo <AuthorController>(this, "loadAuthorsUrl", c => c.AuthorsList(null)), new JavaScriptModuleLinkTo <AuthorController>(this, "deleteAuthorsUrl", c => c.DeleteAuthor(null, null)), new JavaScriptModuleLinkTo <AuthorController>(this, "saveAuthorsUrl", c => c.SaveAuthor(null)), new JavaScriptModuleLinkTo <OptionController>(this, "loadTemplatesUrl", c => c.Templates()), new JavaScriptModuleLinkTo <OptionController>(this, "saveDefaultTemplateUrl", c => c.SaveDefaultTemplate("{0}", "{1}")), new JavaScriptModuleLinkTo <BlogController>(this, "convertStringToSlugUrl", c => c.ConvertStringToSlug("{0}", "{1}")), new JavaScriptModuleLinkTo <BlogMLController>(this, "uploadBlogPostsImportFileUrl", c => c.UploadImportFile(null, null)), new JavaScriptModuleLinkTo <BlogMLController>(this, "startImportUrl", c => c.StartImport(null)), new JavaScriptModuleLinkTo <BlogMLController>(this, "deleteUploadedFileUrl", c => c.DeleteUploadedFile("{0}")), new JavaScriptModuleLinkTo <BlogMLController>(this, "exportBlogPostsUrl", c => c.Export(null)), }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "createNewPostDialogTitle", () => BlogGlobalization.CreateNewPost_Dialog_Title), new JavaScriptModuleGlobalization(this, "editPostDialogTitle", () => BlogGlobalization.EditPost_Dialog_Title), new JavaScriptModuleGlobalization(this, "deleteBlogDialogTitle", () => BlogGlobalization.DeletePost_Dialog_Title), new JavaScriptModuleGlobalization(this, "deleteAuthorDialogTitle", () => BlogGlobalization.DeleteAuthor_Confirmation_Message), new JavaScriptModuleGlobalization(this, "blogPostsTabTitle", () => BlogGlobalization.SiteSettings_Blogs_PostsTab_Title), new JavaScriptModuleGlobalization(this, "authorsTabTitle", () => BlogGlobalization.SiteSettings_Blogs_AuthorsTab_Title), new JavaScriptModuleGlobalization(this, "templatesTabTitle", () => BlogGlobalization.SiteSettings_Blogs_TemplatesTab_Title), new JavaScriptModuleGlobalization(this, "datePickerTooltipTitle", () => BlogGlobalization.Date_Picker_Tooltip_Title), new JavaScriptModuleGlobalization(this, "importBlogPostsTitle", () => BlogGlobalization.ImportBlogPosts_Dialog_Title), new JavaScriptModuleGlobalization(this, "pleaseSelectAFile", () => BlogGlobalization.ImportBlogPosts_PleaseSelectAFile_message), new JavaScriptModuleGlobalization(this, "uploadButtonTitle", () => BlogGlobalization.ImportBlogPosts_UploadButton_Title), new JavaScriptModuleGlobalization(this, "importButtonTitle", () => BlogGlobalization.ImportBlogPosts_ImportButton_Title), new JavaScriptModuleGlobalization(this, "closeButtonTitle", () => RootGlobalization.Button_Close), new JavaScriptModuleGlobalization(this, "noBlogPostsSelectedToImport", () => BlogGlobalization.ImportBlogPosts_NoBlogPostSelected_Message) }; }
public void TestUpdateInternalModuleReferences(string internalReference) { var content = "import * as Foo from \"" + internalReference + "\";"; // We create a module with a fake main file at the root and one project under SubDir var projectDir = AbsolutePath.Create(PathTable, A("c", "SubDir", "project.dsc")); var parser = new Parser(); var sourceFile = parser.ParseSourceFileContent(projectDir.ToString(PathTable), content); var referenceResolver = new ModuleReferenceResolver(PathTable); var module = ModuleDefinition.CreateModuleDefinitionWithExplicitReferencesWithEmptyQualifierSpace( ModuleDescriptor.CreateForTesting("Test"), m_fakeMainFile, m_fakeModuleConfigFile, new[] { m_fakeMainFile, projectDir }, PathTable); Failure[] failures; var result = referenceResolver.TryUpdateAllInternalModuleReferences(sourceFile, module, out failures); XAssert.IsTrue(result); XAssert.IsTrue(sourceFile.ResolvedModules.ContainsKey(internalReference)); }
public void Impres_ProcedureByOrdinal() { var proj = new Project { MetadataFiles = { new MetadataFile { ModuleName = "foo" } }, Programs = { program } }; var module = new ModuleDescriptor("foo") { ServicesByOrdinal = { { 9, new SystemService { Name = "bar", Signature = new FunctionType() } } } }; program.EnvironmentMetadata.Modules.Add(module.ModuleName, module); var impres = new ImportResolver(proj, program, new FakeDecompilerEventListener()); var ep = impres.ResolveProcedure("foo", 9, platform.Object); Assert.AreEqual("bar", ep.Name); }
public async Task ClosureContainsAllElements(string importOrExport) { var module1 = ModuleDescriptor.CreateForTesting("Module1"); var module2 = ModuleDescriptor.CreateForTesting("Module2"); var module3 = ModuleDescriptor.CreateForTesting("Module3"); var moduleWithContent = CreateEmptyContent() .AddContent(module1, importOrExport + " * from \"Module2\";") .AddContent(module2, importOrExport + " * from \"Module3\";") .AddContent(module3, "return 3;") .AddContent("Module4", "return 4;"); var workspaceProvider = CreateWorkspaceProviderFromContent(false, moduleWithContent); var workspace = await workspaceProvider.CreateWorkspaceFromModuleAsync(module1); var modules = AssertSuccessAndGetAllModules(workspace); // We should have module 1, 2 and 3. Not 4. XAssert.AreEqual(3, modules.Count); var names = modules.Select(module => module.Descriptor); XAssert.AreEqual(3, names.Intersect(new[] { module1, module2, module3 }).Count()); }
public async Task AllSpecsAreAddedToTheModuleWhenCancelOnFirstFailureIsDisabled() { var module1 = ModuleDescriptor.CreateForTesting("Module1"); var moduleWithContent = CreateEmptyContent() .AddContent( module1, "This spec is not DScript;", "This spec is not DScript either;"); var queue = CreateParsingQueueFromContent(new[] { moduleWithContent }); var modules = new[] { GetModuleDefinitionFromContent(module1, moduleWithContent), }; var parsingResult = await queue.ProcessAsync(modules); // There should be two specs and two failures XAssert.AreEqual(2, parsingResult.SpecCount); XAssert.AreEqual(2, parsingResult.Failures.Count); }
internal void UpdateDataForDownloadData(DownloadData downloadData, FrontEndContext context = null) { context = context ?? m_context; Contract.Assert(context != null); var name = downloadData.Settings.ModuleName; var moduleId = ModuleId.Create(context.StringTable, name); var descriptor = new ModuleDescriptor(moduleId, name, name, string.Empty, Kind, Name); var definition = ModuleDefinition.CreateModuleDefinitionWithImplicitReferences( descriptor, downloadData.ModuleRoot, downloadData.ModuleConfigFile, new[] { downloadData.ModuleSpecFile }, allowedModuleDependencies: null, cyclicalFriendModules: null); // A Download package does not have any module dependency restrictions nor whitelists cycles m_descriptors.Add(descriptor); m_descriptorsByName.Add(name, descriptor); m_descriptorsBySpecPath.Add(downloadData.ModuleSpecFile, descriptor); m_definitions.Add(descriptor, definition); }
/// <summary> /// Initializes a new instance of the <see cref="ImageEditorJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public ImageEditorJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.media.imageeditor") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo <ImagesController>(this, "imageEditorDialogUrl", c => c.ImageEditor("{0}")), new JavaScriptModuleLinkTo <ImagesController>(this, "imageEditorInsertDialogUrl", c => c.ImageEditorInsert("{0}")) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "imageEditorDialogTitle", () => MediaGlobalization.ImageEditor_Dialog_Title), new JavaScriptModuleGlobalization(this, "imageEditorInsertDialogTitle", () => MediaGlobalization.ImageEditor_InsertDialog_Title), new JavaScriptModuleGlobalization(this, "imageEditorInsertDialogAcceptButton", () => MediaGlobalization.ImageEditor_InsertDialog_AcceptButton), new JavaScriptModuleGlobalization(this, "imageEditorUpdateFailureMessageTitle", () => MediaGlobalization.ImageEditor_UpdateFailureMessage_Title), new JavaScriptModuleGlobalization(this, "imageEditorUpdateFailureMessageMessage", () => MediaGlobalization.ImageEditor_UpdateFailureMessage_Message), new JavaScriptModuleGlobalization(this, "imageEditorHasChangesMessage", () => MediaGlobalization.ImageEditor_HasChanges_Message), new JavaScriptModuleGlobalization(this, "saveButtonTitle", () => MediaGlobalization.ImageEditor_Save_Title), new JavaScriptModuleGlobalization(this, "saveAsNewVersionButtonTitle", () => MediaGlobalization.ImageEditor_SaveAsNewVersion_Title), new JavaScriptModuleGlobalization(this, "saveWithOverrideButtonTitle", () => MediaGlobalization.ImageEditor_SaveWithOverride_Title), new JavaScriptModuleGlobalization(this, "closeButtonTitle", () => RootGlobalization.Button_Close) }; }
public void Given_UserDefinedMetafile( string moduleName, Dictionary <string, DataType> types, Dictionary <string, FunctionType> signatures, Dictionary <string, DataType> globals, ModuleDescriptor module) { if (types == null) { types = new Dictionary <string, DataType>(); } if (signatures == null) { signatures = new Dictionary <string, FunctionType>(); } if (globals == null) { globals = new Dictionary <string, DataType>(); } var loaderMetadata = new TypeLibrary( false, types, signatures, new Dictionary <string, ProcedureCharacteristics>(), globals); if (module != null) { loaderMetadata.Modules.Add(moduleName, module); } var loader = CreateLoader(); var metafileName = moduleName + ".xml"; CreateLoadMetadataStub(metafileName, mockPlatform.Object, loaderMetadata); }
/// <summary> /// Initializes a new instance of the <see cref="PagesJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public PagesJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.pages") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo <PageController>(this, "loadAddNewPageDialogUrl", c => c.AddNewPage("{0}")), new JavaScriptModuleLinkTo <PageController>(this, "loadSiteSettingsPageListUrl", c => c.Pages(null)), new JavaScriptModuleLinkTo <PageController>(this, "deletePageConfirmationUrl", c => c.DeletePageConfirmation("{0}")), new JavaScriptModuleLinkTo <PageController>(this, "changePublishStatusUrl", c => c.ChangePublishStatus(null)), new JavaScriptModuleLinkTo <PageController>(this, "clonePageDialogUrl", c => c.ClonePage("{0}")), new JavaScriptModuleLinkTo <PageController>(this, "convertStringToSlugUrl", c => c.ConvertStringToSlug("{0}", "{1}", "{2}")) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "addNewPageDialogTitle", () => PagesGlobalization.AddNewPage_Dialog_Title), new JavaScriptModuleGlobalization(this, "deletePageDialogTitle", () => PagesGlobalization.DeletePage_Dialog_Title), new JavaScriptModuleGlobalization(this, "pageDeletedMessage", () => PagesGlobalization.DeletePage_SuccessMessage_Message), new JavaScriptModuleGlobalization(this, "pageDeletedTitle", () => PagesGlobalization.DeletePage_SuccessMessage_Title), new JavaScriptModuleGlobalization(this, "clonePageDialogTitle", () => PagesGlobalization.ClonePage_Dialog_Title), new JavaScriptModuleGlobalization(this, "cloneButtonTitle", () => PagesGlobalization.ClonePage_Dialog_CloneButton), new JavaScriptModuleGlobalization(this, "deleteButtonTitle", () => PagesGlobalization.DeletePage_Dialog_DeleteButton) }; }
/// <summary> /// Initializes a new instance of the <see cref="CategoriesJavaScriptModuleDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public CategoriesJavaScriptModuleDescriptor(ModuleDescriptor module) : base(module, "bcms.categories") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo <CategoryController>(this, "loadSiteSettingsCategoryTreesListUrl", c => c.CategoryTrees(null)), new JavaScriptModuleLinkTo <CategoryController>(this, "categoryTreeEditDialogUrl", c => c.EditCategoryTree("{0}")), new JavaScriptModuleLinkTo <CategoryController>(this, "saveCategoryTreeUrl", c => c.SaveCategoryTree(null)), new JavaScriptModuleLinkTo <CategoryController>(this, "deleteCategoryTreeUrl", c => c.DeleteCategoryTree("{0}", "{1}")), new JavaScriptModuleLinkTo <CategoryController>(this, "categoriesSuggestionServiceUrl", c => c.SuggestCategories(null)) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "categoryTreeCreatorDialogTitle", () => RootGlobalization.CategoryTree_CreatorDialog_Title), new JavaScriptModuleGlobalization(this, "categoryTreeEditorDialogTitle", () => RootGlobalization.CategoryTree_EditorDialog_Title), new JavaScriptModuleGlobalization(this, "nodeOkButton", () => RootGlobalization.Button_Ok), new JavaScriptModuleGlobalization(this, "placeNodeHere", () => RootGlobalization.CategoryTree_PlaceLinkHere_Message), new JavaScriptModuleGlobalization(this, "categoryTreeIsEmpty", () => RootGlobalization.CategoryTree_TreeIsEmpty_Message), new JavaScriptModuleGlobalization(this, "deleteCategoryNodeConfirmationMessage", () => RootGlobalization.CategoryTree_DeleteNode_Confirmation_Message), new JavaScriptModuleGlobalization(this, "someCategoryNodesAreInEditingState", () => RootGlobalization.CategoryTree_SomeNodesAreInEditingState), new JavaScriptModuleGlobalization(this, "categoryTreeDeleteConfirmMessage", () => RootGlobalization.CategoryTree_Delete_Confirmation_Message), }; }
/// <summary> /// Initializes a new instance of the <see cref="SitemapJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public SitemapJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.pages.sitemap") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo <SitemapController>(this, "loadSiteSettingsSitemapUrl", c => c.Index(null)), new JavaScriptModuleLinkTo <SitemapController>(this, "saveSitemapUrl", c => c.SaveSitemap(null)), new JavaScriptModuleLinkTo <SitemapController>(this, "saveSitemapNodeUrl", c => c.SaveSitemapNode(null)), new JavaScriptModuleLinkTo <SitemapController>(this, "deleteSitemapNodeUrl", c => c.DeleteSitemapNode(null)), new JavaScriptModuleLinkTo <SitemapController>(this, "sitemapEditDialogUrl", c => c.EditSitemap()), new JavaScriptModuleLinkTo <SitemapController>(this, "sitemapAddNewPageDialogUrl", c => c.AddNewPage()) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "sitemapEditorDialogTitle", () => NavigationGlobalization.Sitemap_EditorDialog_Title), new JavaScriptModuleGlobalization(this, "sitemapEditorDialogCustomLinkTitle", () => NavigationGlobalization.Sitemap_EditorDialog_CustomLinkTitle), new JavaScriptModuleGlobalization(this, "sitemapAddNewPageDialogTitle", () => NavigationGlobalization.Sitemap_AddNewPageDialog_Title), new JavaScriptModuleGlobalization(this, "sitemapDeleteNodeConfirmationMessage", () => NavigationGlobalization.Sitemap_DeleteNode_Confirmation_Message), new JavaScriptModuleGlobalization(this, "sitemapSomeNodesAreInEditingState", () => NavigationGlobalization.Sitemap_EditDialog_SomeNodesAreInEditingState), new JavaScriptModuleGlobalization(this, "sitemapNodeSaveButton", () => RootGlobalization.Button_Save), new JavaScriptModuleGlobalization(this, "sitemapNodeOkButton", () => RootGlobalization.Button_Ok) }; }
private void ParseModuleAttributes(ModuleDescriptor module, XElement moduleElement) { module.Name = moduleElement.Attribute(XName.Get("name"))?.Value ?? String.Empty; if (module.Name.IsNullOrWhiteSpace()) { throw new SchubertException($@"读取 XML 模块配置文件发生错误, module 元素必须制定 name 属性。"); } module.RootNamespce = moduleElement.Attribute(XName.Get("Namespace"))?.Value ?? null; module.Author = moduleElement.Attribute(XName.Get("author"))?.Value ?? "unknown"; module.Version = moduleElement.Attribute(XName.Get("version"))?.Value ?? "unknown"; module.IncludeUserInterface = Boolean.Parse(moduleElement.Attribute(XName.Get("includeUserInterface"))?.Value ?? "true"); module.Description = this.GetElementDescription(moduleElement); var versionElement = moduleElement.Element(XName.Get("supportVersions")); if (versionElement != null) { module.SupportVersions = versionElement.Elements(XName.Get("versions")).Select(e => e.Value).ToArray(); } module.Dependencies = (moduleElement.Element(XName.Get("dependencies"))?.Value ?? String.Empty) .Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries) ?? Enumerable.Empty <String>(); }
/// <summary> /// Initializes a new instance of the <see cref="WidgetsJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public TemplatesJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.pages.template") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo <TemplatesController>(this, "loadSiteSettingsTemplateListUrl", controller => controller.Templates(null)), new JavaScriptModuleLinkTo <TemplatesController>(this, "loadRegisterTemplateDialogUrl", controller => controller.RegisterTemplate()), new JavaScriptModuleLinkTo <TemplatesController>(this, "loadEditTemplateDialogUrl", controller => controller.EditTemplate("{0}")), new JavaScriptModuleLinkTo <TemplatesController>(this, "deleteTemplateUrl", controller => controller.DeleteTemplate("{0}", "{1}")), new JavaScriptModuleLinkTo <ContentController>(this, "loadTemplateRegionDialogUrl", controller => controller.PageContentOptions("{0}")) }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "createTemplateDialogTitle", () => PagesGlobalization.CreatTemplate_Dialog_Title), new JavaScriptModuleGlobalization(this, "editTemplateDialogTitle", () => PagesGlobalization.EditTemplate_Dialog_Title), new JavaScriptModuleGlobalization(this, "editTemplateRegionTitle", () => PagesGlobalization.SiteSettings_TemplatesMenuItem), new JavaScriptModuleGlobalization(this, "deleteTemplateConfirmMessage", () => PagesGlobalization.SiteSettings_Template_DeleteCategoryMessage), new JavaScriptModuleGlobalization(this, "deleteRegionConfirmMessage", () => PagesGlobalization.DeleteRegion_Confirmation_Message), new JavaScriptModuleGlobalization(this, "previewImageNotFoundMessage", () => PagesGlobalization.EditTemplate_PreviewImageNotFound_Message), new JavaScriptModuleGlobalization(this, "deletingMessage", () => RootGlobalization.Message_Deleting) }; }
private ParsedModule ConfigurationModule() { return(CreateEmptyParsedModule(ModuleDescriptor.CreateForTesting(Names.ConfigModuleName))); }
private ParsedModule Prelude() { return(CreateEmptyParsedModule(ModuleDescriptor.CreateForTesting("Sdk.Prelude"))); }
public void TargetWorkspaceHasFullModulesAndPartialModulesBasedOnAFilter() { // Arrange // Base module. Root spec var baseModule = ModuleDescriptor.CreateForTesting("MyBaseModule"); var baseModuleSourceFile = SourceFile(baseSpec); var baseModuleSourceFile2 = SourceFile(baseSpec2); // MyModule: depends on a spec from the base module var moduleDescriptor = ModuleDescriptor.CreateForTesting("MyModule"); var mySpecPath = myModule; var moduleSourceFile = SourceFile(mySpecPath); var moduleSourceFile2 = SourceFile(myModule2); // MyDerivedModule: depends on MyModule spec var derivedDescriptor = ModuleDescriptor.CreateForTesting("MyDerivedModule"); var myDerivedSourceFile = SourceFile(myDerivedModule); var workspace = CreateWorkspace( CreateEmptyParsedModule(moduleDescriptor, moduleSourceFile, moduleSourceFile2), CreateEmptyParsedModule(baseModule, baseModuleSourceFile, baseModuleSourceFile2), CreateEmptyParsedModule(derivedDescriptor, myDerivedSourceFile)); AddUpStreamDependency(workspace, moduleSourceFile, baseSpec); AddUpStreamDependency(workspace, myDerivedSourceFile, mySpecPath); // Filter takes base module and one spec from the derived one var filter = new EvaluationFilter( m_symbolTable, m_pathTable, valueNamesToResolve: CollectionUtilities.EmptyArray <FullSymbol>(), valueDefinitionRootsToResolve: new List <AbsolutePath>() { AbsolutePath.Create(m_pathTable, mySpecPath) }, modulesToResolver: new List <StringId>() { StringId.Create(StringTable, "MyBaseModule") }); // Act FilterWorkspace(workspace, filter); // Assert var moduleFromFilteredWorksapce = workspace.SpecModules.FirstOrDefault(m => m.Descriptor.Name == "MyModule"); Assert.NotNull(moduleFromFilteredWorksapce); // MyModule in filtered workspace has just one spec Assert.Equal(moduleFromFilteredWorksapce.Specs.Count, 1); Assert.Equal(moduleFromFilteredWorksapce.Specs.First().Value, moduleSourceFile); // Filtered workspace has the base module as well, because there is a dependency between MyModule and BaseModule var baseModuleFromFilteredWorkspace = workspace.SpecModules.FirstOrDefault(m => m.Descriptor.Name == "MyBaseModule"); Assert.NotNull(baseModuleFromFilteredWorkspace); // Both specs from the base module shoudl be presented. Assert.Equal(baseModuleFromFilteredWorkspace.Specs.Count, 2); }
/// <summary> /// Initializes a new instance of the <see cref="MediaManagerJsModuleIncludeDescriptor" /> class. /// </summary> /// <param name="module">The container module.</param> public MediaManagerJsModuleIncludeDescriptor(ModuleDescriptor module) : base(module, "bcms.media") { Links = new IActionProjection[] { new JavaScriptModuleLinkTo <MediaManagerController>(this, "loadSiteSettingsMediaManagerUrl", c => c.Index()), new JavaScriptModuleLinkTo <ImagesController>(this, "loadImagesUrl", c => c.GetImagesList(null)), new JavaScriptModuleLinkTo <FilesController>(this, "loadFilesUrl", c => c.GetFilesList(null)), new JavaScriptModuleLinkTo <AudiosController>(this, "loadAudiosUrl", c => c.GetAudiosList(null)), new JavaScriptModuleLinkTo <VideosController>(this, "loadVideosUrl", c => c.GetVideosList(null)), new JavaScriptModuleLinkTo <ImagesController>(this, "insertImageDialogUrl", c => c.ImageInsert()), new JavaScriptModuleLinkTo <FilesController>(this, "insertFileDialogUrl", c => c.FileInsert()), new JavaScriptModuleLinkTo <ImagesController>(this, "deleteImageUrl", c => c.ImageDelete("{0}", "{1}")), new JavaScriptModuleLinkTo <AudiosController>(this, "deleteAudioUrl", c => c.AudioDelete("{0}", "{1}")), new JavaScriptModuleLinkTo <VideosController>(this, "deleteVideoUrl", c => c.VideoDelete("{0}", "{1}")), new JavaScriptModuleLinkTo <FilesController>(this, "deleteFileUrl", c => c.FileDelete("{0}", "{1}")), new JavaScriptModuleLinkTo <ImagesController>(this, "getImageUrl", c => c.GetImage("{0}")), new JavaScriptModuleLinkTo <FilesController>(this, "downloadFileUrl", c => c.Download("{0}")), new JavaScriptModuleLinkTo <FilesController>(this, "getFileUrl", c => c.Download("{0}")), new JavaScriptModuleLinkTo <FolderController>(this, "saveFolderUrl", c => c.SaveFolder(null)), new JavaScriptModuleLinkTo <FolderController>(this, "deleteFolderUrl", c => c.DeleteFolder("{0}", "{1}")), new JavaScriptModuleLinkTo <MediaManagerController>(this, "renameMediaUrl", c => c.RenameMedia(null)), new JavaScriptModuleLinkTo <MediaManagerController>(this, "archiveMediaUrl", c => c.ArchiveMedia("{0}", "{1}")), new JavaScriptModuleLinkTo <MediaManagerController>(this, "unarchiveMediaUrl", c => c.UnarchiveMedia("{0}", "{1}")), }; Globalization = new IActionProjection[] { new JavaScriptModuleGlobalization(this, "insertImageDialogTitle", () => MediaGlobalization.InsertImage_Dialog_Title), new JavaScriptModuleGlobalization(this, "insertImageFailureMessageTitle", () => MediaGlobalization.InsertImage_FailureMessage_Title), new JavaScriptModuleGlobalization(this, "insertImageFailureMessageMessage", () => MediaGlobalization.InsertImage_FailureMessage_Message), new JavaScriptModuleGlobalization(this, "imageNotSelectedMessageMessage", () => MediaGlobalization.ImageNotSelected_MessageMessage), new JavaScriptModuleGlobalization(this, "insertFileDialogTitle", () => MediaGlobalization.InsertFile_Dialog_Title), new JavaScriptModuleGlobalization(this, "insertFileFailureMessageTitle", () => MediaGlobalization.InsertFile_FailureMessage_Title), new JavaScriptModuleGlobalization(this, "insertFileFailureMessageMessage", () => MediaGlobalization.InsertFile_FailureMessage_Message), new JavaScriptModuleGlobalization(this, "fileNotSelectedMessageMessage", () => MediaGlobalization.FileNotSelected_MessageMessage), new JavaScriptModuleGlobalization(this, "searchedInPathPrefix", () => MediaGlobalization.MediaManager_SearchedInPath_Prefix), new JavaScriptModuleGlobalization(this, "deleteImageConfirmMessage", () => MediaGlobalization.DeleteImage_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteAudioConfirmMessage", () => MediaGlobalization.DeleteAudio_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteVideoConfirmMessage", () => MediaGlobalization.DeleteVideo_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteFileConfirmMessage", () => MediaGlobalization.DeleteFile_Confirmation_Message), new JavaScriptModuleGlobalization(this, "deleteFolderConfirmMessage", () => MediaGlobalization.DeleteFolder_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "archiveMediaConfirmMessage", () => MediaGlobalization.ArchiveMedia_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "unarchiveMediaConfirmMessage", () => MediaGlobalization.UnarchiveMedia_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "archiveImageConfirmMessage", () => MediaGlobalization.ArchiveImage_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "unarchiveImageConfirmMessage", () => MediaGlobalization.UnarchiveImage_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "archiveVideoConfirmMessage", () => MediaGlobalization.ArchiveVideo_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "unarchiveVideoConfirmMessage", () => MediaGlobalization.UnarchiveVideo_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "archiveFileConfirmMessage", () => MediaGlobalization.ArchiveFile_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "unarchiveFileConfirmMessage", () => MediaGlobalization.UnarchiveFile_ConfirmationMessage), new JavaScriptModuleGlobalization(this, "imagesTabTitle", () => MediaGlobalization.ImagesTab_Title), new JavaScriptModuleGlobalization(this, "audiosTabTitle", () => MediaGlobalization.AudiosTab_Title), new JavaScriptModuleGlobalization(this, "videosTabTitle", () => MediaGlobalization.VideosTab_Title), new JavaScriptModuleGlobalization(this, "filesTabTitle", () => MediaGlobalization.FilesTab_Title), new JavaScriptModuleGlobalization(this, "uploadImage", () => MediaGlobalization.ImagesTab_UploadImage), new JavaScriptModuleGlobalization(this, "uploadAudio", () => MediaGlobalization.AudiosTab_UploadAudio), new JavaScriptModuleGlobalization(this, "uploadVideo", () => MediaGlobalization.VideosTab_UploadVideo), new JavaScriptModuleGlobalization(this, "uploadFile", () => MediaGlobalization.FilesTab_UploadFile) }; }
public GraphBasedTestBase(ITestOutputHelper output) : base(output) { TestModule = ModuleDescriptor.CreateForTesting("TestModule"); }
/// <summary> /// A non-validated version of <see cref="GetPathToModuleAndSpec"/>. The module and index /// can actually not be part of this modules with content, in which case an exception /// is thrown. /// </summary> private AbsolutePath GetPathToModuleAndSpecUnsafe(ModuleDescriptor module, int index) { return(RootDir .Combine(PathTable, module.Name) .Combine(PathTable, I($"{m_backingDictionary[module][index].SpecName}"))); }
/// <inheritdoc/> public async ValueTask <Possible <ModuleDefinition> > TryGetModuleDefinitionAsync(ModuleDescriptor moduleDescriptor) { Possible <ModuleDefinition> result = (await TryComputeBuildGraphIfNeededAsync()).Then <ModuleDefinition>( parsedResult => { // There is a single module, so we check against that if (parsedResult.ModuleDefinition.Descriptor != moduleDescriptor) { return(new ModuleNotOwnedByThisResolver(moduleDescriptor)); } return(parsedResult.ModuleDefinition); }); return(result); }
/// <summary> /// From a given <param name="path"/> that points to a module and spec, returns its module. /// </summary> public ModuleDescriptor GetModuleFromPath(AbsolutePath path) { var moduleName = path.GetParent(PathTable).GetName(PathTable).ToString(PathTable.StringTable); return(ModuleDescriptor.CreateForTesting(moduleName)); }
/// <summary> /// Convenience method, mainly for testing. <see cref="AddContent(ModuleDescriptor,string[])"/> /// </summary>. public ModuleRepository AddContent(string moduleName, params string[] content) { return(AddContent(ModuleDescriptor.CreateForTesting(moduleName), content)); }
public async Task <ActionResult> UploadModuleArchive() { ModuleDescriptor result = null; EnsureModulesCatalogInitialized(); if (!MultipartRequestHelper.IsMultipartContentType(Request.ContentType)) { return(BadRequest($"Expected a multipart request, but got {Request.ContentType}")); } string targetFilePath = null; var boundary = MultipartRequestHelper.GetBoundary(MediaTypeHeaderValue.Parse(Request.ContentType), _defaultFormOptions.MultipartBoundaryLengthLimit); var reader = new MultipartReader(boundary, HttpContext.Request.Body); var section = await reader.ReadNextSectionAsync(); if (section != null) { ContentDispositionHeaderValue contentDisposition; var hasContentDispositionHeader = ContentDispositionHeaderValue.TryParse(section.ContentDisposition, out contentDisposition); if (hasContentDispositionHeader) { if (MultipartRequestHelper.HasFileContentDisposition(contentDisposition)) { targetFilePath = Path.Combine(_hostingEnv.MapPath(_uploadsUrl), contentDisposition.FileName.Value); using (var targetStream = System.IO.File.Create(targetFilePath)) { await section.Body.CopyToAsync(targetStream); } } } } using (var packageStream = System.IO.File.Open(targetFilePath, FileMode.Open)) using (var package = new ZipArchive(packageStream, ZipArchiveMode.Read)) { var entry = package.GetEntry("module.manifest"); if (entry != null) { using (var manifestStream = entry.Open()) { var manifest = ManifestReader.Read(manifestStream); var module = new ManifestModuleInfo(manifest); var alreadyExistModule = _moduleCatalog.Modules.OfType <ManifestModuleInfo>().FirstOrDefault(x => x.Equals(module)); if (alreadyExistModule != null) { module = alreadyExistModule; } else { //Force dependency validation for new module _moduleCatalog.CompleteListWithDependencies(new[] { module }).ToList().Clear(); _moduleCatalog.AddModule(module); } module.Ref = targetFilePath; result = AbstractTypeFactory <ModuleDescriptor> .TryCreateInstance().FromModel(module); } } } return(Ok(result)); }
private ParsedModule CreateEmptyParsedModule(ModuleDescriptor moduleDescriptor) { var moduleDefinition = CreateModuleDefinition(moduleDescriptor, Enumerable.Empty <AbsolutePath>()); return(new ParsedModule(moduleDefinition, new Dictionary <AbsolutePath, ISourceFile>(), new ReadOnlyHashSet <(ModuleDescriptor, Location)>())); }
static void WriteModuleLine(ModuleDescriptor module) { Debug.WriteLine("{0} {1}", module.Id, module.Version); }
public string[] GetDependencyErrors(ModuleDescriptor package) { var dependencyErrors = GetDependencyErrors(package, GetModules()); return(dependencyErrors.ToArray()); }