public static async Task <object> ParseAsync(IParseManager parseManager) { var type = string.Empty; var elementId = string.Empty; var callback = string.Empty; var attributes = new NameValueCollection(); foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, Type)) { type = value; } else if (StringUtils.EqualsIgnoreCase(name, ElementId)) { elementId = value; } else if (StringUtils.EqualsIgnoreCase(name, Callback)) { callback = value; } else { attributes[name] = value; } } return(await ParseAsync(parseManager, type, elementId, callback, attributes)); }
private static async Task <string> ParseAsync(IParseManager parseManager, string file, Dictionary <string, string> parameters) { if (string.IsNullOrEmpty(file)) { return(string.Empty); } var pageInfo = parseManager.PageInfo; var pageParameters = pageInfo.Parameters; pageInfo.Parameters = parameters; var pageIncludeFile = pageInfo.IncludeFile; pageInfo.IncludeFile = file; var pageEditableIndex = pageInfo.EditableIndex; pageInfo.EditableIndex = 0; var content = await parseManager.PathManager.GetIncludeContentAsync(pageInfo.Site, file); var contentBuilder = new StringBuilder(content); await parseManager.ParseTemplateContentAsync(contentBuilder); var parsedContent = contentBuilder.ToString(); pageInfo.Parameters = pageParameters; pageInfo.IncludeFile = pageIncludeFile; pageInfo.EditableIndex = pageEditableIndex; return(parsedContent); }
private static async Task <string> ParseImplAsync(IParseManager parseManager, string loading, string template, bool inline, string onBeforeSend, string onSuccess, string onComplete, string onError) { await parseManager.PageInfo.AddPageHeadCodeIfNotExistsAsync(ParsePage.Const.StlClient); //运行解析以便为页面生成所需JS引用 if (!string.IsNullOrEmpty(template)) { await parseManager.ParseInnerContentAsync(new StringBuilder(template)); } var dynamicInfo = new DynamicInfo(parseManager.SettingsManager) { ElementName = ElementName, SiteId = parseManager.PageInfo.SiteId, ChannelId = parseManager.ContextInfo.ChannelId, ContentId = parseManager.ContextInfo.ContentId, TemplateId = parseManager.PageInfo.Template.Id, ElementId = StringUtils.GetElementId(), LoadingTemplate = loading, SuccessTemplate = template, OnBeforeSend = onBeforeSend, OnSuccess = onSuccess, OnComplete = onComplete, OnError = onError }; var dynamicUrl = parseManager.PathManager.GetDynamicApiUrl(); return(dynamicInfo.GetScript(dynamicUrl, inline)); }
private static async Task <string> ParseAsync(IParseManager parseManager, NameValueCollection attributes) { var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; var innerHtml = string.Empty; if (!string.IsNullOrEmpty(contextInfo.InnerHtml)) { var innerBuilder = new StringBuilder(contextInfo.InnerHtml); await parseManager.ParseInnerContentAsync(innerBuilder); innerHtml = innerBuilder.ToString(); } var parsedContent = string.Empty; if (pageInfo.EditMode == EditMode.Visual) { var elementId = StringUtils.GetElementId(); VisualUtility.AddEditableToAttributes(attributes, elementId, contextInfo.ElementName); parsedContent = GetParsedContent(attributes, innerHtml); VisualUtility.AddEditableToPage(pageInfo, elementId, contextInfo, parsedContent); } else { parsedContent = GetParsedContent(attributes, innerHtml); } return(parsedContent); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.Content); var dataSource = await GetContentsDataSourceAsync(parseManager, listInfo); if (parseManager.ContextInfo.IsStlEntity) { return(ParseEntity(dataSource)); } var parsedContent = await ParseAsync(parseManager, listInfo, dataSource); if (pageInfo.EditMode == EditMode.Visual) { var editable = VisualUtility.GetEditable(pageInfo, contextInfo); var editableAttributes = VisualUtility.GetEditableAttributes(editable); return(@$ "<div {TranslateUtils.ToAttributesString(editableAttributes)}>{parsedContent}</div>"); } return(parsedContent); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.SqlContent); List <KeyValuePair <int, IDictionary <string, object> > > dataSource = null; if (!string.IsNullOrEmpty(listInfo.QueryString)) { dataSource = await parseManager.DatabaseManager.ParserGetSqlDataSourceAsync(listInfo.DatabaseType, listInfo.ConnectionString, listInfo.QueryString); } else if (listInfo.Query != null) { dataSource = await parseManager.DatabaseManager.ParserGetSqlDataSourceAsync(listInfo.DatabaseType, listInfo.ConnectionString, listInfo.Query); } if (dataSource == null) { return(string.Empty); } if (parseManager.ContextInfo.IsStlEntity) { return(ParseEntity(dataSource)); } return(await ParseElementAsync(parseManager, listInfo, dataSource)); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; var listInfo = await ListInfo.GetListInfoAsync(parseManager, ParseType.Content); var dataSource = await GetContentsDataSourceAsync(parseManager, listInfo); if (parseManager.ContextInfo.IsStlEntity) { return(ParseEntity(dataSource)); } var innerHtml = await ParseAsync(parseManager, listInfo, dataSource); var parsedContent = string.Empty; if (pageInfo.EditMode == EditMode.Visual) { var elementId = StringUtils.GetElementId(); var attributes = new NameValueCollection(); VisualUtility.AddEditableToAttributes(attributes, elementId, contextInfo.ElementName); parsedContent = @$ "<div {TranslateUtils.ToAttributesString(attributes)}>{innerHtml}</div>"; VisualUtility.AddEditableToPage(pageInfo, elementId, contextInfo, parsedContent); } else { parsedContent = innerHtml; } return(parsedContent); }
public ImportCommand( IVBE vbe, IFileSystemBrowserFactory dialogFactory, IVbeEvents vbeEvents, IParseManager parseManager, IDeclarationFinderProvider declarationFinderProvider, IProjectsProvider projectsProvider, IModuleNameFromFileExtractor moduleNameFromFileExtractor, IEnumerable <IRequiredBinaryFilesFromFileNameExtractor> binaryFileExtractors, IFileSystem fileSystem, IMessageBox messageBox) : base(vbeEvents) { _vbe = vbe; _dialogFactory = dialogFactory; _parseManager = parseManager; _projectsProvider = projectsProvider; _moduleNameFromFileExtractor = moduleNameFromFileExtractor; _fileSystem = fileSystem; _binaryFileExtractors = BinaryFileExtractors(binaryFileExtractors); MessageBox = messageBox; DeclarationFinderProvider = declarationFinderProvider; AddToCanExecuteEvaluation(SpecialEvaluateCanExecute); ComponentTypesForExtension = ComponentTypeExtensions.ComponentTypesForExtension(_vbe.Kind); AddToCanExecuteEvaluation(SpecialEvaluateCanExecute); AddToOnExecuteEvaluation(SpecialEvaluateCanExecute); }
public RenameRefactoring( IRefactoringPresenterFactory factory, IDeclarationFinderProvider declarationFinderProvider, IProjectsProvider projectsProvider, IRewritingManager rewritingManager, ISelectionProvider selectionProvider, ISelectedDeclarationProvider selectedDeclarationProvider, IParseManager parseManager, IUiDispatcher uiDispatcher) : base(rewritingManager, selectionProvider, factory, uiDispatcher) { _declarationFinderProvider = declarationFinderProvider; _selectedDeclarationProvider = selectedDeclarationProvider; _projectsProvider = projectsProvider; _parseManager = parseManager; _renameActions = new Dictionary <DeclarationType, Action <RenameModel, IRewriteSession> > { { DeclarationType.Member, RenameMember }, { DeclarationType.Parameter, RenameParameter }, { DeclarationType.Event, RenameEvent }, { DeclarationType.Variable, RenameVariable }, { DeclarationType.Module, RenameModule }, { DeclarationType.Project, RenameProject } }; }
public static async Task <object> ParseAsync(IParseManager parseManager) { var tagLevel = 1; var totalNum = 0; var isOrderByCount = false; foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, TagLevel)) { tagLevel = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, TotalNum)) { totalNum = TranslateUtils.ToInt(value); } else if (StringUtils.EqualsIgnoreCase(name, IsOrderByCount)) { isOrderByCount = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, Context)) { parseManager.ContextInfo.ContextType = TranslateUtils.ToEnum(value, parseManager.ContextInfo.ContextType); } } return(await ParseImplAsync(parseManager, tagLevel, totalNum, isOrderByCount)); }
public static async Task <object> ParseAsync(IParseManager parseManager) { var zoomId = string.Empty; var fontSize = 16; var attributes = new NameValueCollection(); foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, ZoomId)) { zoomId = value; } else if (StringUtils.EqualsIgnoreCase(name, FontSize)) { fontSize = TranslateUtils.ToInt(value, 16); } else { TranslateUtils.AddAttributeIfNotExists(attributes, name, value); } } return(await ParseAsync(parseManager, attributes, zoomId, fontSize)); }
private static async Task <string> GetValueFromContentAsync(IParseManager parseManager, string testTypeStr) { var theValue = string.Empty; var contentInfo = await parseManager.GetContentAsync(); if (contentInfo != null) { if (StringUtils.EqualsIgnoreCase(testTypeStr, "IsTop")) { theValue = contentInfo.Get <string>(nameof(Content.Top)); } else if (StringUtils.EqualsIgnoreCase(testTypeStr, "IsRecommend")) { theValue = contentInfo.Get <string>(nameof(Content.Recommend)); } else if (StringUtils.EqualsIgnoreCase(testTypeStr, "IsColor")) { theValue = contentInfo.Get <string>(nameof(Content.Color)); } else if (StringUtils.EqualsIgnoreCase(testTypeStr, "IsHot")) { theValue = contentInfo.Get <string>(nameof(Content.Hot)); } else { theValue = contentInfo.Get <string>(testTypeStr); } } return(theValue); }
private static async Task <string> ParseAsync(IParseManager parseManager, NameValueCollection attributes) { var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; var parsedContent = string.Empty; if (!string.IsNullOrEmpty(contextInfo.InnerHtml)) { var innerBuilder = new StringBuilder(contextInfo.InnerHtml); await parseManager.ParseInnerContentAsync(innerBuilder); parsedContent = innerBuilder.ToString(); } if (pageInfo.EditMode == EditMode.Visual) { var editable = VisualUtility.GetEditable(pageInfo, contextInfo); var editableAttributes = VisualUtility.GetEditableAttributes(editable); foreach (var key in editableAttributes.AllKeys) { attributes[key] = editableAttributes[key]; } attributes["id"] = editable.Id; attributes["contenteditable"] = "true"; } return(@$ "<div {TranslateUtils.ToAttributesString(attributes)}>{parsedContent}</div>"); }
public static async Task <string> GetStlCurrentUrlAsync(IParseManager parseManager, Site site, int channelId, int contentId, Content content, TemplateType templateType, int templateId, bool isLocal) { var currentUrl = string.Empty; if (templateType == TemplateType.IndexPageTemplate) { currentUrl = await parseManager.PathManager.GetWebUrlAsync(site); } else if (templateType == TemplateType.ContentTemplate) { if (content == null) { var nodeInfo = await parseManager.DatabaseManager.ChannelRepository.GetAsync(channelId); currentUrl = await parseManager.PathManager.GetContentUrlAsync(site, nodeInfo, contentId, isLocal); } else { currentUrl = await parseManager.PathManager.GetContentUrlAsync(site, content, isLocal); } } else if (templateType == TemplateType.ChannelTemplate) { currentUrl = await parseManager.PathManager.GetChannelUrlAsync(site, await parseManager.DatabaseManager.ChannelRepository.GetAsync(channelId), isLocal); } else if (templateType == TemplateType.FileTemplate) { currentUrl = await parseManager.PathManager.GetFileUrlAsync(site, templateId, isLocal); } //currentUrl是当前页面的地址,前后台分离的时候,不允许带上protocol //return PageUtils.AddProtocolToUrl(currentUrl); return(currentUrl); }
public PreviewController(IPathManager pathManager, IParseManager parseManager, IDatabaseManager databaseManager, IChannelRepository channelRepository) { _pathManager = pathManager; _parseManager = parseManager; _databaseManager = databaseManager; _channelRepository = channelRepository; }
public static async Task <object> ParseAsync(IParseManager parseManager) { var funcName = string.Empty; var title = string.Empty; var url = string.Empty; var width = string.Empty; var height = string.Empty; var shadeClose = true; var offset = "auto"; foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, FuncName)) { funcName = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Title)) { title = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Url)) { url = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, Width)) { width = value; if (!string.IsNullOrEmpty(width) && char.IsDigit(width[^ 1]))
internal static string Parse(string stlEntity, IParseManager parseManager) { var contextInfo = parseManager.ContextInfo; var parsedContent = string.Empty; if (contextInfo.ItemContainer?.SqlItem == null) { return(string.Empty); } try { var attributeName = stlEntity.Substring(5, stlEntity.Length - 6); if (StringUtils.StartsWithIgnoreCase(attributeName, StlParserUtility.ItemIndex)) { parsedContent = StlParserUtility.ParseItemIndex(contextInfo.ItemContainer.SqlItem.Key, attributeName, contextInfo).ToString(); } else { if (contextInfo.ItemContainer.SqlItem.Value.TryGetValue(attributeName, out var value)) { parsedContent = Convert.ToString(value); } } } catch { // ignored } return(parsedContent); }
internal static async Task <object> ParseAsync(IParseManager parseManager) { var testTypeStr = string.Empty; var testOperate = string.Empty; var testValue = string.Empty; var onBeforeSend = string.Empty; var onSuccess = string.Empty; var onComplete = string.Empty; var onError = string.Empty; foreach (var name in parseManager.ContextInfo.Attributes.AllKeys) { var value = parseManager.ContextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, Type) || StringUtils.EqualsIgnoreCase(name, "testType")) { testTypeStr = value; } else if (StringUtils.EqualsIgnoreCase(name, Op) || StringUtils.EqualsIgnoreCase(name, "operate") || StringUtils.EqualsIgnoreCase(name, "testOperate")) { testOperate = value; } else if (StringUtils.EqualsIgnoreCase(name, Value) || StringUtils.EqualsIgnoreCase(name, "testValue")) { testValue = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); if (string.IsNullOrEmpty(testOperate)) { testOperate = OperateEquals; } } else if (StringUtils.EqualsIgnoreCase(name, Context)) { parseManager.ContextInfo.ContextType = TranslateUtils.ToEnum(value, ParseType.Undefined); } else if (StringUtils.EqualsIgnoreCase(name, OnBeforeSend)) { onBeforeSend = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, OnSuccess)) { onSuccess = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, OnComplete)) { onComplete = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, OnError)) { onError = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } } if (string.IsNullOrEmpty(testOperate)) { testOperate = OperateNotEmpty; } return(await ParseImplAsync(parseManager, testTypeStr, testOperate, testValue, onBeforeSend, onSuccess, onComplete, onError)); }
public static async Task <string> ParseInDynamicPageAsync(IParseManager parseManager, string stlElement, int currentPageIndex, int pageCount, int totalNum, bool isPageRefresh, string ajaxDivId) { string parsedContent; try { var stlElementInfo = StlParserUtility.ParseStlElement(stlElement); if (pageCount <= 1) { return(string.Empty); } var index = stlElement.IndexOf(">", StringComparison.Ordinal) + 1; var length = stlElement.LastIndexOf("<", StringComparison.Ordinal) - index; if (index <= 0 || length <= 0) { stlElement = stlElementInfo.InnerHtml; } else { stlElement = stlElement.Substring(index, length); } parsedContent = await parseManager.ParseStlPageItemsInDynamicPageAsync(stlElement, currentPageIndex, pageCount, totalNum, isPageRefresh, ajaxDivId); } catch (Exception ex) { parsedContent = await parseManager.AddStlErrorLogAsync(ElementName, stlElement, ex); } return(parsedContent); }
private static async Task <string> ParseEntitiesAsync(string type, IParseManager parseManager) { var databaseManager = parseManager.DatabaseManager; var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; var parsedContent = string.Empty; try { var nodeInfo = await databaseManager.ChannelRepository.GetAsync(contextInfo.ChannelId); if (StringUtils.EqualsIgnoreCase(TypePreviousChannel, type) || StringUtils.EqualsIgnoreCase(TypeNextChannel, type)) { var taxis = nodeInfo.Taxis; var isNextChannel = !StringUtils.EqualsIgnoreCase(type, TypePreviousChannel); //var siblingChannelId = databaseManager.ChannelRepository.GetIdByParentIdAndTaxis(node.ParentId, taxis, isNextChannel); var siblingChannelId = await databaseManager.ChannelRepository.GetIdByParentIdAndTaxisAsync(pageInfo.SiteId, nodeInfo.ParentId, taxis, isNextChannel); if (siblingChannelId != 0) { var siblingNodeInfo = await databaseManager.ChannelRepository.GetAsync(siblingChannelId); parsedContent = await parseManager.PathManager.GetChannelUrlAsync(pageInfo.Site, siblingNodeInfo, pageInfo.IsLocal); } } else if (StringUtils.EqualsIgnoreCase(TypePreviousContent, type) || StringUtils.EqualsIgnoreCase(TypeNextContent, type)) { if (contextInfo.ContentId != 0) { var contentInfo = await parseManager.GetContentAsync(); var taxis = contentInfo.Taxis; var isNextContent = !StringUtils.EqualsIgnoreCase(type, TypePreviousContent); var tableName = await databaseManager.ChannelRepository.GetTableNameAsync(pageInfo.Site, contextInfo.ChannelId); var siblingContentId = await databaseManager.ContentRepository.GetContentIdAsync(tableName, contextInfo.ChannelId, taxis, isNextContent); if (siblingContentId != 0) { var siblingContentInfo = await databaseManager.ContentRepository.GetAsync(pageInfo.Site, contextInfo.ChannelId, siblingContentId); parsedContent = await parseManager.PathManager.GetContentUrlAsync(pageInfo.Site, siblingContentInfo, pageInfo.IsLocal); } } } } catch { // ignored } if (string.IsNullOrEmpty(parsedContent)) { parsedContent = PageUtils.UnClickableUrl; } return(parsedContent); }
public MemberAttributeRecoverer(IDeclarationFinderProvider declarationFinderProvider, IParseManager parseManager, IAttributesUpdater attributesUpdater, IMemberAttributeRecoveryFailureNotifier failureNotifier) { _declarationFinderProvider = declarationFinderProvider; _parseManager = parseManager; _attributesUpdater = attributesUpdater; _failureNotifier = failureNotifier; }
private static async Task <bool> TestTypeUpChannelAsync(IParseManager parseManager, string testOperate, string testValue) { var databaseManager = parseManager.DatabaseManager; var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; var isSuccess = false; if (StringUtils.EqualsIgnoreCase(testOperate, OperateNotIn)) { var channelIndexes = ListUtils.GetStringList(testValue); var isIn = false; foreach (var channelIndex in channelIndexes) { //var parentId = databaseManager.ChannelRepository.GetIdByIndexName(pageInfo.SiteId, channelIndex); var parentId = await databaseManager.ChannelRepository.GetChannelIdByIndexNameAsync(pageInfo.SiteId, channelIndex); if (parentId != pageInfo.PageChannelId && await databaseManager.ChannelRepository.IsAncestorOrSelfAsync(pageInfo.SiteId, parentId, pageInfo.PageChannelId)) { isIn = true; break; } } if (!isIn) { isSuccess = true; } } else { if (string.IsNullOrEmpty(testValue)) { if (contextInfo.ChannelId != pageInfo.PageChannelId && await databaseManager.ChannelRepository.IsAncestorOrSelfAsync(pageInfo.SiteId, contextInfo.ChannelId, pageInfo.PageChannelId)) { isSuccess = true; } } else { var channelIndexes = ListUtils.GetStringList(testValue); foreach (var channelIndex in channelIndexes) { //var parentId = databaseManager.ChannelRepository.GetIdByIndexName(pageInfo.SiteId, channelIndex); var parentId = await databaseManager.ChannelRepository.GetChannelIdByIndexNameAsync(pageInfo.SiteId, channelIndex); if (parentId != pageInfo.PageChannelId && await databaseManager.ChannelRepository.IsAncestorOrSelfAsync(pageInfo.SiteId, parentId, pageInfo.PageChannelId)) { isSuccess = true; break; } } } } return(isSuccess); }
protected override IExecutableRewriteSession RewriteSession(IParseManager parseManager, Func <IRewriteSession, bool> rewritingAllowed, out MockRewriterProvider mockProvider, bool rewritersAreDirty = false, ISelectionRecoverer selectionRecoverer = null) { if (selectionRecoverer == null) { selectionRecoverer = new Mock <ISelectionRecoverer>().Object; } mockProvider = new MockRewriterProvider(rewritersAreDirty); return(new CodePaneRewriteSession(parseManager, mockProvider, selectionRecoverer, rewritingAllowed)); }
internal static async Task <object> ParseAsync(IParseManager parseManager) { var contextInfo = parseManager.ContextInfo; // 如果是实体标签则返回空 if (contextInfo.IsStlEntity) { return(string.Empty); } var inline = false; var onBeforeSend = string.Empty; var onSuccess = string.Empty; var onComplete = string.Empty; var onError = string.Empty; foreach (var name in contextInfo.Attributes.AllKeys) { var value = contextInfo.Attributes[name]; if (StringUtils.EqualsIgnoreCase(name, Context)) { contextInfo.ContextType = TranslateUtils.ToEnum(value, ParseType.Undefined); } else if (StringUtils.EqualsIgnoreCase(name, Inline)) { inline = TranslateUtils.ToBool(value); } else if (StringUtils.EqualsIgnoreCase(name, OnBeforeSend)) { onBeforeSend = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, OnSuccess)) { onSuccess = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, OnComplete)) { onComplete = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } else if (StringUtils.EqualsIgnoreCase(name, OnError)) { onError = await parseManager.ReplaceStlEntitiesForAttributeValueAsync(value); } } StlParserUtility.GetLoading(contextInfo.InnerHtml, out var loading, out var template); if (!string.IsNullOrEmpty(loading)) { var innerBuilder = new StringBuilder(loading); await parseManager.ParseInnerContentAsync(innerBuilder); loading = innerBuilder.ToString(); } return(await ParseAsync(parseManager, contextInfo.Site, loading, template, inline, onBeforeSend, onSuccess, onComplete, onError)); }
public ActionsPageContentsController(ISettingsManager settingsManager, IAuthManager authManager, IParseManager parseManager, ISiteRepository siteRepository, IChannelRepository channelRepository, ITemplateRepository templateRepository) { _settingsManager = settingsManager; _authManager = authManager; _parseManager = parseManager; _siteRepository = siteRepository; _channelRepository = channelRepository; _templateRepository = templateRepository; }
public ActionsSearchController(ISettingsManager settingsManager, IAuthManager authManager, IParseManager parseManager, IDatabaseManager databaseManager, ISiteRepository siteRepository, IContentRepository contentRepository) { _settingsManager = settingsManager; _authManager = authManager; _parseManager = parseManager; _databaseManager = databaseManager; _siteRepository = siteRepository; _contentRepository = contentRepository; }
public StlController(IAuthManager authManager, IPathManager pathManager, IParseManager parseManager, IConfigRepository configRepository, IAccessTokenRepository accessTokenRepository, ISiteRepository siteRepository) { _authManager = authManager; _pathManager = pathManager; _parseManager = parseManager; _configRepository = configRepository; _accessTokenRepository = accessTokenRepository; _siteRepository = siteRepository; }
public TemplatesPreviewController(ICacheManager cacheManager, IAuthManager authManager, IParseManager parseManager, ISiteRepository siteRepository, IChannelRepository channelRepository, IContentRepository contentRepository) { _cacheManager = cacheManager; _authManager = authManager; _parseManager = parseManager; _siteRepository = siteRepository; _channelRepository = channelRepository; _contentRepository = contentRepository; }
public ExtractInterfaceRefactoring(IDeclarationFinderProvider declarationFinderProvider, IParseManager parseManager, IMessageBox messageBox, IRefactoringPresenterFactory factory, IRewritingManager rewritingManager, ISelectionService selectionService) { _declarationFinderProvider = declarationFinderProvider; _parseManager = parseManager; _rewritingManager = rewritingManager; _messageBox = messageBox; _selectionService = selectionService; _presenterFactory = ((model) => DisposalActionContainer.Create(factory.Create <IExtractInterfacePresenter, ExtractInterfaceModel>(model), factory.Release)); }
private static async Task <string> ParseImplAsync(IParseManager parseManager, string type, string playUrl, bool isAutoPlay, bool isPreLoad, bool isLoop) { var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; var contentId = contextInfo.ContentId; if (string.IsNullOrEmpty(playUrl)) { if (contentId != 0)//获取内容视频 { var contentInfo = await parseManager.GetContentAsync(); if (contentInfo != null) { playUrl = contentInfo.Get <string>(type); if (string.IsNullOrEmpty(playUrl)) { playUrl = contentInfo.VideoUrl; } if (string.IsNullOrEmpty(playUrl)) { playUrl = contentInfo.FileUrl; } } } } if (string.IsNullOrEmpty(playUrl)) { return(string.Empty); } playUrl = await parseManager.PathManager.ParseSiteUrlAsync(pageInfo.Site, playUrl, pageInfo.IsLocal); // 如果是实体标签,则只返回数字 if (contextInfo.IsStlEntity) { return(playUrl); } await pageInfo.AddPageHeadCodeIfNotExistsAsync(ParsePage.Const.Jquery); await pageInfo.AddPageHeadCodeIfNotExistsAsync(ParsePage.Const.JsAcMediaElement); var url = parseManager.PathManager.GetSiteFilesUrl(Resources.MediaElement.Swf); return($@" <audio class=""mejs__player"" src=""{playUrl}"" {(isAutoPlay ? "autoplay" : string.Empty)} {(isPreLoad ? string.Empty : @"preload=""none""")} {(isLoop ? "loop" : string.Empty)}> <object width=""460"" height=""40"" type=""application/x-shockwave-flash"" data=""{url}""> <param name=""movie"" value=""{url}"" /> <param name=""flashvars"" value=""controls=true&file={playUrl}"" /> </object> </audio> "); }