/// <summary> /// Adding internal link /// </summary> /// <param name="__target"></param> /// <param name="__parent"></param> /// <returns></returns> public metaLink AddLink(IMetaContentNested __target, string __description = "", int __priority = 100) { metaLink link = new metaLink(); link.target = __target; link.parent = parent; link.priority = __priority; link.description = __description; if (__target is metaPage) { metaPage targetPage = __target as metaPage; link.title = targetPage.header.name; if (link.description.isNullOrEmptyString()) { link.description = targetPage.header.description; } //link.description = targetPage. } link.name = link.target.name.imbTitleCamelOperation(true); link.type = appendLinkType.link; links.Add(link); return(link); }
public void Add(object input) { if (input is metaDocumentSet) { metaDocumentSet input_metaDocumentSet = (metaDocumentSet)input; documentSets.Add(input_metaDocumentSet, this); return; } if (input is metaDocument) { metaDocument input_metaDocument = (metaDocument)input; documents.Add(input_metaDocument, this); return; } if (input is metaPage) { metaPage input_metaPage = (metaPage)input; pages.Add(input_metaPage, this); return; } }
/// <summary> /// Appends its data points into new or existing property collection /// </summary> /// <param name="data">Property collection to add data into</param> /// <returns>Updated or newly created property collection</returns> public virtual PropertyCollection AppendDataFields(PropertyCollection data = null) { if (data == null) { data = new PropertyCollection(); } //systemStatusData sdata = imbSystemInfo.getSystemStatusData(); metaDocument asDocument = document as metaDocument; metaPage asPage = page as metaPage; IMetaContentNested asMetacontent = this as IMetaContentNested; if (asMetacontent != null) { data[templateFieldBasic.document_relpath] = asMetacontent.getPathToParent(document); data[templateFieldBasic.page_relpath] = asMetacontent.getPathToParent(page); // data[templateFieldBasic.root_relpath] = asMetacontent.getPathToParent(root); } //data[templateFieldBasic.sys_time] = DateTime.Now.ToShortTimeString(); //ata[templateFieldBasic.sys_threads] = sdata.threads; //data[templateFieldBasic.sys_mem] = this.getPathToParent(asDocument); //data[templateFieldBasic.sys_log] = asDocument.header.name; //data[templateFieldBasic.sys_runtime] = sdata.timeRunning; if (asPage != null) { data[templateFieldBasic.page_name] = asPage.name; data[templateFieldBasic.page_title] = asPage.pageTitle; data[templateFieldBasic.page_desc] = asPage.pageDescription; data[templateFieldBasic.page_id] = asPage.id; data[templateFieldBasic.page_number] = asPage.id; // parent.Count(); data[templateFieldBasic.page_type] = asPage.GetType().Name; if (asPage.parent != null) { data[templateFieldBasic.page_count] = asPage.parent.Count(); } else { data[templateFieldBasic.page_count] = 0; } } if (asDocument != null) { if (asDocument.parent != null) { data[templateFieldBasic.document_count] = asDocument.parent.Count(); } else { data[templateFieldBasic.document_count] = 0; } data[templateFieldBasic.document_desc] = asDocument.documentDescription; data[templateFieldBasic.document_name] = asDocument.name; data[templateFieldBasic.document_number] = asDocument.id; // parent.Count(); data[templateFieldBasic.document_path] = asDocument.path; data[templateFieldBasic.document_title] = asDocument.documentTitle; data[templateFieldBasic.document_type] = asDocument.GetType().Name; data[templateFieldBasic.document_id] = asDocument.id; } data[templateFieldMetaBlock.block_name] = name; data[templateFieldMetaBlock.block_id] = id; data[templateFieldMetaBlock.block_priority] = priority; data[templateFieldMetaBlock.block_type] = GetType().Name; return(data); }
public void createNewFile(IRenderExecutionContext context, IMetaContentNested oldScope) { ITextRender render = sourceRender.outputRender; string ext = format.getDefaultExtension(); string filename = (oldScope.name + filenameSufix).getFilename(ext); string filepath = context.directoryScope.FullName.add(filename, "\\"); // String folderPath = context.data.getProperString(oldScope.path, templateFieldBasic.path_folder, templateFieldBasic.document_path, templateFieldBasic.documentset_path); PropertyCollection content_blocks = render.getContentBlocks(true, format); IMetaContentNested sc = (IMetaContentNested)oldScope; string codeOutput = template; try { IConverterRender cr = (IConverterRender)render; reportLinkCollectionSet menu = new reportLinkCollectionSet(); reportLinkToolbar toolbar = new reportLinkToolbar(); // sc.GetLinkCollection((deliveryInstance)context, format, sourceRender.levelsOfNewDirectory, false); // <---------- MENU ---------------------------- if (oldScope is metaPage) { metaPage oldScope_metaPage = (metaPage)oldScope; menu.Add("Document set", oldScope_metaPage.menu_documentSetMenu.CompileLinkCollection(context as deliveryInstance, format, levelsOfNewDirectory)); menu.Add("Document", oldScope_metaPage.menu_documentmenu.CompileLinkCollection(context as deliveryInstance, format, levelsOfNewDirectory)); menu.Add("Page", oldScope_metaPage.menu_pagemenu.CompileLinkCollection(context as deliveryInstance, format, levelsOfNewDirectory)); menu.Add("Root", oldScope_metaPage.menu_rootmenu.CompileLinkCollection(context as deliveryInstance, format, levelsOfNewDirectory)); toolbar = oldScope_metaPage.toolbar_pagetools; } string menuRender = menu.RenderSetAsDropDowns(cr.converter); content_blocks.add(templateFieldSubcontent.html_mainnav, menuRender, false); // <---------------- TOOL BAR if (toolbar != null) { if (toolbar.Any()) { string toolbarRender = toolbar.CompileLinkCollection(context as deliveryInstance, format, levelsOfNewDirectory).RenderAsToolbar(cr.converter); content_blocks.add(templateFieldSubcontent.html_toolbar, toolbarRender, false); } } // <---------------- LINKS // codeOutput = codeOutput.CompileLinksInTemplate(context as deliveryInstance, format, levelsOfNewDirectory); } catch (Exception ex) { throw new aceReportException("Auto-menu creation : " + ex.Message + " Automenu creation for " + oldScope.path); } if (context is deliveryInstance) { deliveryInstance contextDeliveryInstance = (deliveryInstance)context; contextDeliveryInstance.unit.blockBuilder.BuildDynamicNavigationTemplates(contextDeliveryInstance, content_blocks); } codeOutput = codeOutput.applyToContent(false, content_blocks);// openBase.openFileToString(tempfile.FullName, true, false); codeOutput = codeOutput.applyToContent(false, context.data); codeOutput = codeOutput.CompileLinksInTemplate(context as deliveryInstance, format, levelsOfNewDirectory); codeOutput = codeOutput.Replace("..//", "../"); codeOutput = codeOutput.Replace(" href=\"/", " href=\""); //var savedfile = codeOutput.saveStringToFile(filepath, imbSCI.Cores.enums.getWritableFileMode.overwrite, Encoding.UTF8); context.saveFileOutput(codeOutput, filepath, getFolderPathForLinkRegistry(context), description); //IDocScriptExecutionContext docContext = context as IDocScriptExecutionContext; //docContext.linkRegistry[context.directoryScope.FullName].AddLink(filename, "", filepath); }