Example #1
0
        /// <summary>
        /// Compiles the link for elemenet
        /// </summary>
        /// <param name="element">The element.</param>
        /// <param name="context">The context.</param>
        /// <param name="format">The format.</param>
        /// <param name="levels">The levels.</param>
        /// <returns></returns>
        public static string CompileLinkForElemenet(this IMetaContentNested element, deliveryInstance context, reportOutputFormatName format, List <reportElementLevel> levels)
        {
            string path    = "";
            var    elLevel = element.getElementLevel();

            switch (elLevel)
            {
            case reportElementLevel.servicepage:
            case reportElementLevel.page:
                path = element.GetOutputPath(context, format, levels, false);
                break;

            case reportElementLevel.document:
                metaDocument doc = element as metaDocument;
                path = doc.index.GetOutputPath(context, format, levels, false);
                break;

            case reportElementLevel.documentSet:
                metaDocumentSet docs = element as metaDocumentSet;
                path = docs.index.GetOutputPath(context, format, levels, false);
                break;
            }

            path = path.getWebPathBackslashFormat().applyToContent(false, context.data);
            return(path);
        }
        public metaDocScriptBlock AddIndex(metaDocument indexSource, metaDocScriptBlock output = null)
        {
            if (output == null)
            {
                output = new metaDocScriptBlock();
            }

            output.instructions.open("menu", "Document", "");

            foreach (metaPage indexPage in indexSource.pages)
            {
                string filepath = "" + indexPage.name + ".html"; //.t(templateFieldBasic.path_ext);
                output.instructions.open("page", indexPage.pageTitle, indexPage.pageDescription);

                output.instructions.c_link(indexPage.pageTitle, filepath, indexPage.name, indexPage.pageDescription, appendLinkType.link);

                output.instructions.close();
            }

            output.instructions.close();

            if (!blocks.Contains(output))
            {
                blocks.Add(output);
            }

            output.parent = this;

            return(output);
        }
Example #3
0
        /// <summary>
        /// Gets the link collection
        /// </summary>
        /// <param name="scoped">The scoped.</param>
        /// <param name="context">The context.</param>
        /// <param name="format">The format.</param>
        /// <param name="levels">The levels.</param>
        /// <param name="makeAppApsolut">if set to <c>true</c> [make application apsolut].</param>
        /// <returns></returns>
        public static reportLinkCollectionSet GetLinkCollection(this IMetaContentNested scoped, deliveryInstance context, reportOutputFormatName format, List <reportElementLevel> levels, bool makeAppApsolut = true)
        {
            reportLinkCollectionSet menu  = new reportLinkCollectionSet();
            reportElementLevel      level = scoped.getElementLevel();

            IMetaContentNested linkFrom = scoped;

            switch (level)
            {
            case reportElementLevel.document:

            //metaDocument document = (metaDocument)linkFrom;
            //menu.Add(document.documentTitle, document.GetLinkCollection(context, format));
            //break;
            case reportElementLevel.page:
                linkFrom = scoped.document;

                if (linkFrom != null)
                {
                    metaDocument document2 = (metaDocument)linkFrom;
                    menu.Add(document2.documentTitle, document2.GetLinkCollection(context, format, levels, makeAppApsolut));
                }
                else
                {
                    if (scoped.parent != null)
                    {
                        return(GetLinkCollection(scoped.parent, context, format, levels, makeAppApsolut));
                    }
                }

                break;

            case reportElementLevel.documentSet:

                metaDocumentSet documentSet = (metaDocumentSet)linkFrom;

                menu.AddInGroup(documentSet.documentSetTitle, documentSet.GetServicePageLinkCollection(context, format, levels, makeAppApsolut));

                menu.AddInGroup(documentSet.documentSetTitle, documentSet.GetDocumentSetsLinkCollection(context, format, levels, makeAppApsolut));
                menu.currentItem.GetMainGroup().name = "Report sections";

                foreach (metaDocument docum in linkFrom)
                {
                    menu.Add(docum.documentTitle, docum.GetLinkCollection(context, format, levels, makeAppApsolut));
                }
                break;
            }

            return(menu);
        }
Example #4
0
        /// <summary>
        /// Gets the link collection.
        /// </summary>
        /// <param name="scoped">The scoped.</param>
        /// <param name="context">The context.</param>
        /// <param name="format">The format.</param>
        /// <returns></returns>
        public static reportLinkCollection GetLinkCollection(this metaDocument scoped, deliveryInstance context, reportOutputFormatName format, List <reportElementLevel> levels, bool makeAppApsolut = true)
        {
            reportLinkCollection menu = new reportLinkCollection();

            menu.title       = scoped.documentTitle.or(scoped.name);
            menu.description = scoped.description;
            //String parent = context.GetDirectoryPath(scoped, levels);
            foreach (metaPage pg in scoped.pages)
            {
                string path = GetOutputPath(pg, context, format, levels, makeAppApsolut);
                menu.AddLink(pg.pageTitle.or(pg.name), pg.pageDescription, path.getWebPathBackslashFormat().Trim('/'));
            }
            return(menu);
        }
        /// <summary>
        /// Adds the index skip this.
        /// </summary>
        /// <param name="indexSource">The index source.</param>
        /// <param name="skipThis">The skip this.</param>
        /// <param name="output">The output.</param>
        /// <returns></returns>
        public metaDocScriptBlock AddIndexSkipThis(metaDocument indexSource, metaPage skipThis, string customTitle = "", metaDocScriptBlock output = null)
        {
            if (output == null)
            {
                output = new metaDocScriptBlock();
            }

            if (imbSciStringExtensions.isNullOrEmpty(customTitle))
            {
                customTitle = "Pages";
            }

            output.instructions.open("menu", customTitle, "");

            foreach (metaPage indexPage in indexSource.pages)
            {
                if (indexPage != null)
                {
                    if (indexPage != skipThis)
                    {
                        string filepath = "" + indexPage.name + ".html"; //.t(templateFieldBasic.path_ext);

                        output.instructions.open("page", indexPage.pageTitle, indexPage.pageDescription);

                        output.instructions.c_link(indexPage.pageTitle, filepath, indexPage.name, indexPage.pageDescription, appendLinkType.link);

                        output.instructions.close();
                    }
                }
            }

            output.instructions.close();

            if (!blocks.Contains(output))
            {
                blocks.Add(output);
            }

            output.parent = this;

            return(output);
        }
        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;
            }
        }
Example #7
0
        /// <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);
        }