diff --git a/404.html b/404.html index 65125c8..66580cf 100644 --- a/404.html +++ b/404.html @@ -3,12 +3,12 @@ -Page Not Found | OML Vision Docs - - - +Page Not Found | OML Vision Docs + + + -
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

\ No newline at end of file diff --git a/assets/js/00b88ed3.a88d3a9e.js b/assets/js/00b88ed3.a88d3a9e.js deleted file mode 100644 index 6f21ae2..0000000 --- a/assets/js/00b88ed3.a88d3a9e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9549],{3324:e=>{e.exports=JSON.parse('{"title":"API Documentation","description":"API documentation for OML Vision.","slug":"/category/api-documentation","permalink":"/docs/category/api-documentation","navigation":{"previous":{"title":"Get Started","permalink":"/docs/intro"},"next":{"title":"Required Directories","permalink":"/docs/api-documentation/required-directories"}}}')}}]); \ No newline at end of file diff --git a/assets/js/05243498.0127e981.js b/assets/js/05243498.0127e981.js new file mode 100644 index 0000000..a323138 --- /dev/null +++ b/assets/js/05243498.0127e981.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2038],{3058:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>r});var s=i(5893),l=i(1151);const o={sidebar_position:1},t="Get Started",a={id:"intro",title:"Get Started",description:"Let's discover OML Vision in less than 5 minutes.",source:"@site/versioned_docs/version-0.1.0/intro.md",sourceDirName:".",slug:"/intro",permalink:"/oml-vision-docs/docs/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/intro.md",tags:[],version:"0.1.0",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"API Documentation",permalink:"/oml-vision-docs/docs/category/api-documentation"}},d={},r=[{value:"Getting Started",id:"getting-started",level:2},{value:"VSCode Terminology (Optional)",id:"vscode-terminology-optional",level:3},{value:"Install OML Vision",id:"install-oml-vision",level:3},{value:"VSCode Marketplace (Automatic Installation)",id:"vscode-marketplace-automatic-installation",level:4},{value:"VSIX File (Manual Installation)",id:"vsix-file-manual-installation",level:4},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Windows",id:"windows",level:4},{value:"macOS",id:"macos",level:4},{value:"Load OML Model Data",id:"load-oml-model-data",level:2},{value:"Start from Scratch",id:"start-from-scratch",level:3},{value:"Use existing OML model",id:"use-existing-oml-model",level:3},{value:"Start OML Vision",id:"start-oml-vision",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"get-started",children:"Get Started"}),"\n",(0,s.jsxs)(n.p,{children:["Let's discover ",(0,s.jsx)(n.strong,{children:"OML Vision in less than 5 minutes"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,s.jsx)(n.h3,{id:"vscode-terminology-optional",children:"VSCode Terminology (Optional)"}),"\n",(0,s.jsx)(n.admonition,{title:"VSCode Terminology",type:"tip",children:(0,s.jsxs)(n.p,{children:["While not required, it is recommended to read the documentation on VSCode terminology as it will be referenced heavily. Read more ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/getstarted/userinterface",children:"here"})]})}),"\n",(0,s.jsx)(n.h3,{id:"install-oml-vision",children:"Install OML Vision"}),"\n",(0,s.jsx)(n.h4,{id:"vscode-marketplace-automatic-installation",children:"VSCode Marketplace (Automatic Installation)"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Go to VSCode Marketplace and install the extension from there."}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"vsix-file-manual-installation",children:"VSIX File (Manual Installation)"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Go to latest release of ",(0,s.jsx)(n.a,{href:"https://github.com/opencaesar/oml-vision/releases/latest",children:"OML Vision"})]}),"\n",(0,s.jsx)(n.li,{children:"Download the VSIX file"}),"\n",(0,s.jsxs)(n.li,{children:["Install the OML Vision extension using the downloaded VSIX file. Helpful guide ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/editor/extension-marketplace#_install-from-a-vsix",children:"here"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"what-youll-need",children:"What you'll need"}),"\n",(0,s.jsx)(n.h4,{id:"windows",children:"Windows"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Install scoop ",(0,s.jsx)(n.a,{href:"https://scoop.sh/#/",children:"https://scoop.sh/#/"})]}),"\n",(0,s.jsxs)(n.li,{children:["Use scoop to install ",(0,s.jsx)(n.code,{children:"git"}),", ",(0,s.jsx)(n.code,{children:"nodejs"}),", ",(0,s.jsx)(n.code,{children:"nvm"}),", ",(0,s.jsx)(n.code,{children:"yarn"}),", ",(0,s.jsx)(n.code,{children:"java17"})," and ",(0,s.jsx)(n.code,{children:"visual studio code"})," if not already installed."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"scoop bucket add main\nscoop bucket add extras\nscoop bucket add java\nscoop install main/git\nscoop install main/nodejs\nscoop install main/nvm\nscoop install main/yarn\nscoop install java/openjdk17\nscoop install extras/vscode\n"})}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsxs)(n.li,{children:["The version of VSCode must be at ",(0,s.jsx)(n.code,{children:"1.78.2"})," or newer."]}),"\n",(0,s.jsx)(n.li,{children:"Install the following VSCode extensions if not already installed"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"code --install-extension vscjava.vscode-java-pack\ncode --install-extension vscjava.vscode-gradle\n"})}),"\n",(0,s.jsx)(n.h4,{id:"macos",children:"macOS"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Install homebrew ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"https://brew.sh"})]}),"\n",(0,s.jsxs)(n.li,{children:["Use scoop to install ",(0,s.jsx)(n.code,{children:"git"}),", ",(0,s.jsx)(n.code,{children:"nodejs"}),", ",(0,s.jsx)(n.code,{children:"nvm"}),", ",(0,s.jsx)(n.code,{children:"yarn"})," and ",(0,s.jsx)(n.code,{children:"visual studio code"})," if not already installed."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"brew install git\nbrew install nodejs\nbrew install nvm\nbrew install yarn\nbrew install openjdk@17\nbrew install --cask visual-studio-code\n"})}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsxs)(n.li,{children:["The version of VSCode must be at ",(0,s.jsx)(n.code,{children:"1.78.2"})," or newer."]}),"\n",(0,s.jsx)(n.li,{children:"Install the following VSCode extensions"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"code --install-extension vscjava.vscode-java-pack\ncode --install-extension vscjava.vscode-gradle\n"})}),"\n",(0,s.jsx)(n.h2,{id:"load-oml-model-data",children:"Load OML Model Data"}),"\n",(0,s.jsx)(n.p,{children:"OML Vision is designed to work with OML (Ontological Modeling Language) models."}),"\n",(0,s.jsx)(n.h3,{id:"start-from-scratch",children:"Start from Scratch"}),"\n",(0,s.jsxs)(n.p,{children:["Tutorials on how to create an OML model from scratch can be found ",(0,s.jsx)(n.a,{href:"https://www.opencaesar.io/oml-tutorials/",children:"here"})]}),"\n",(0,s.jsx)(n.admonition,{title:"No OML Vision viewpoints defined in above tutorial",type:"danger",children:(0,s.jsxs)(n.p,{children:["OML Vision works with viewpoints which will be covered in ",(0,s.jsx)(n.code,{children:"Layouts"})," found ",(0,s.jsx)(n.a,{href:"/docs/category/layouts",children:"here"})]})}),"\n",(0,s.jsx)(n.h3,{id:"use-existing-oml-model",children:"Use existing OML model"}),"\n",(0,s.jsx)(n.p,{children:"If you want to see the capabilities of OML Vision without creating your own OML model you may use one of the following OML models:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/tree/main",children:"Kepler16b"}),": A hypothetical spacecraft that will explore the ",(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Kepler-16b",children:"Kepler16b exoplanet"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/tree/main",children:"Open Source Rover"}),": A descriptive model of the ",(0,s.jsx)(n.a,{href:"https://github.com/nasa-jpl/open-source-rover/tree/master",children:"JPL Open Source Rover"})]}),"\n"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Click the eye icon in the sidebar which will activate the OML Vision extension"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Unopened Workspace",src:i(2465).Z+"",width:"3680",height:"2252"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.code,{children:"Clone OML Model"})," and enter in this URL ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example.git",children:"https://github.com/pogi7/kepler16b-example.git"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/pogi7/kepler16b-example.git\n"})})]}),"\n",(0,s.jsxs)(n.ol,{start:"4",children:["\n",(0,s.jsx)(n.li,{children:"Open the kepler16b-example OML model in VSCode"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"start-oml-vision",children:"Start OML Vision"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Entry Point",src:i(61).Z+"",width:"4064",height:"2334"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Click the eye icon in the sidebar which will activate the OML Vision extension"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Activate Extension",src:i(1037).Z+"",width:"4064",height:"2334"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Data must be loaded into the in-memory RDF triplestore for OML Vision to render views"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.code,{children:"Run clean"})," (This will clear the cache i.e.delete the build folder)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",children:"./gradlew clean\n"})}),(0,s.jsxs)(n.p,{children:["Look in the ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"build.gradle"})," file for a list of commands"]})]}),"\n",(0,s.jsxs)(n.ol,{start:"6",children:["\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.code,{children:"Run owlLoad"})," (This will load data into the in-memory RDF triplestore)"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",children:"./gradlew owlLoad\n"})}),(0,s.jsxs)(n.p,{children:["Look in the ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"build.gradle"})," file for a list of commands"]})]}),"\n",(0,s.jsxs)(n.ol,{start:"7",children:["\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.code,{children:"Objectives"})]}),"\n",(0,s.jsxs)(n.li,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Objectives Table",src:i(5631).Z+"",width:"3680",height:"2252"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1037:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/activateExtension-c9be59e9484bb0f61db2ec5e2bf87994.png"},61:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/entryPoint-b23252efcf22e8652d677aceeac537f3.png"},5631:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/objectivesTable-3b3c6ac9776b3931528b9b9c76ecc096.png"},2465:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/unopenedWorkspace-a77f6d3fbc2224c4c31019e665843db5.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>a,a:()=>t});var s=i(7294);const l={},o=s.createContext(l);function t(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/05243498.4026fa6d.js b/assets/js/05243498.4026fa6d.js deleted file mode 100644 index 15bc433..0000000 --- a/assets/js/05243498.4026fa6d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2038],{3058:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>r});var s=i(5893),l=i(1151);const o={sidebar_position:1},t="Get Started",a={id:"intro",title:"Get Started",description:"Let's discover OML Vision in less than 5 minutes.",source:"@site/versioned_docs/version-0.1.0/intro.md",sourceDirName:".",slug:"/intro",permalink:"/docs/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/intro.md",tags:[],version:"0.1.0",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"API Documentation",permalink:"/docs/category/api-documentation"}},d={},r=[{value:"Getting Started",id:"getting-started",level:2},{value:"VSCode Terminology (Optional)",id:"vscode-terminology-optional",level:3},{value:"Install OML Vision",id:"install-oml-vision",level:3},{value:"VSCode Marketplace (Automatic Installation)",id:"vscode-marketplace-automatic-installation",level:4},{value:"VSIX File (Manual Installation)",id:"vsix-file-manual-installation",level:4},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Windows",id:"windows",level:4},{value:"macOS",id:"macos",level:4},{value:"Load OML Model Data",id:"load-oml-model-data",level:2},{value:"Start from Scratch",id:"start-from-scratch",level:3},{value:"Use existing OML model",id:"use-existing-oml-model",level:3},{value:"Start OML Vision",id:"start-oml-vision",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"get-started",children:"Get Started"}),"\n",(0,s.jsxs)(n.p,{children:["Let's discover ",(0,s.jsx)(n.strong,{children:"OML Vision in less than 5 minutes"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,s.jsx)(n.h3,{id:"vscode-terminology-optional",children:"VSCode Terminology (Optional)"}),"\n",(0,s.jsx)(n.admonition,{title:"VSCode Terminology",type:"tip",children:(0,s.jsxs)(n.p,{children:["While not required, it is recommended to read the documentation on VSCode terminology as it will be referenced heavily. Read more ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/getstarted/userinterface",children:"here"})]})}),"\n",(0,s.jsx)(n.h3,{id:"install-oml-vision",children:"Install OML Vision"}),"\n",(0,s.jsx)(n.h4,{id:"vscode-marketplace-automatic-installation",children:"VSCode Marketplace (Automatic Installation)"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Go to VSCode Marketplace and install the extension from there."}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"vsix-file-manual-installation",children:"VSIX File (Manual Installation)"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Go to latest release of ",(0,s.jsx)(n.a,{href:"https://github.com/opencaesar/oml-vision/releases/latest",children:"OML Vision"})]}),"\n",(0,s.jsx)(n.li,{children:"Download the VSIX file"}),"\n",(0,s.jsxs)(n.li,{children:["Install the OML Vision extension using the downloaded VSIX file. Helpful guide ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/editor/extension-marketplace#_install-from-a-vsix",children:"here"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"what-youll-need",children:"What you'll need"}),"\n",(0,s.jsx)(n.h4,{id:"windows",children:"Windows"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Install scoop ",(0,s.jsx)(n.a,{href:"https://scoop.sh/#/",children:"https://scoop.sh/#/"})]}),"\n",(0,s.jsxs)(n.li,{children:["Use scoop to install ",(0,s.jsx)(n.code,{children:"git"}),", ",(0,s.jsx)(n.code,{children:"nodejs"}),", ",(0,s.jsx)(n.code,{children:"nvm"}),", ",(0,s.jsx)(n.code,{children:"yarn"}),", ",(0,s.jsx)(n.code,{children:"java17"})," and ",(0,s.jsx)(n.code,{children:"visual studio code"})," if not already installed."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"scoop bucket add main\nscoop bucket add extras\nscoop bucket add java\nscoop install main/git\nscoop install main/nodejs\nscoop install main/nvm\nscoop install main/yarn\nscoop install java/openjdk17\nscoop install extras/vscode\n"})}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsxs)(n.li,{children:["The version of VSCode must be at ",(0,s.jsx)(n.code,{children:"1.78.2"})," or newer."]}),"\n",(0,s.jsx)(n.li,{children:"Install the following VSCode extensions if not already installed"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"code --install-extension vscjava.vscode-java-pack\ncode --install-extension vscjava.vscode-gradle\n"})}),"\n",(0,s.jsx)(n.h4,{id:"macos",children:"macOS"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Install homebrew ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"https://brew.sh"})]}),"\n",(0,s.jsxs)(n.li,{children:["Use scoop to install ",(0,s.jsx)(n.code,{children:"git"}),", ",(0,s.jsx)(n.code,{children:"nodejs"}),", ",(0,s.jsx)(n.code,{children:"nvm"}),", ",(0,s.jsx)(n.code,{children:"yarn"})," and ",(0,s.jsx)(n.code,{children:"visual studio code"})," if not already installed."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"brew install git\nbrew install nodejs\nbrew install nvm\nbrew install yarn\nbrew install openjdk@17\nbrew install --cask visual-studio-code\n"})}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsxs)(n.li,{children:["The version of VSCode must be at ",(0,s.jsx)(n.code,{children:"1.78.2"})," or newer."]}),"\n",(0,s.jsx)(n.li,{children:"Install the following VSCode extensions"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"code --install-extension vscjava.vscode-java-pack\ncode --install-extension vscjava.vscode-gradle\n"})}),"\n",(0,s.jsx)(n.h2,{id:"load-oml-model-data",children:"Load OML Model Data"}),"\n",(0,s.jsx)(n.p,{children:"OML Vision is designed to work with OML (Ontological Modeling Language) models."}),"\n",(0,s.jsx)(n.h3,{id:"start-from-scratch",children:"Start from Scratch"}),"\n",(0,s.jsxs)(n.p,{children:["Tutorials on how to create an OML model from scratch can be found ",(0,s.jsx)(n.a,{href:"https://www.opencaesar.io/oml-tutorials/",children:"here"})]}),"\n",(0,s.jsx)(n.admonition,{title:"No OML Vision viewpoints defined in above tutorial",type:"danger",children:(0,s.jsxs)(n.p,{children:["OML Vision works with viewpoints which will be covered in ",(0,s.jsx)(n.code,{children:"Layouts"})," found ",(0,s.jsx)(n.a,{href:"/docs/category/layouts",children:"here"})]})}),"\n",(0,s.jsx)(n.h3,{id:"use-existing-oml-model",children:"Use existing OML model"}),"\n",(0,s.jsx)(n.p,{children:"If you want to see the capabilities of OML Vision without creating your own OML model you may use one of the following OML models:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/tree/main",children:"Kepler16b"}),": A hypothetical spacecraft that will explore the ",(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Kepler-16b",children:"Kepler16b exoplanet"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/tree/main",children:"Open Source Rover"}),": A descriptive model of the ",(0,s.jsx)(n.a,{href:"https://github.com/nasa-jpl/open-source-rover/tree/master",children:"JPL Open Source Rover"})]}),"\n"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Click the eye icon in the sidebar which will activate the OML Vision extension"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Unopened Workspace",src:i(2465).Z+"",width:"3680",height:"2252"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.code,{children:"Clone OML Model"})," and enter in this URL ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example.git",children:"https://github.com/pogi7/kepler16b-example.git"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/pogi7/kepler16b-example.git\n"})})]}),"\n",(0,s.jsxs)(n.ol,{start:"4",children:["\n",(0,s.jsx)(n.li,{children:"Open the kepler16b-example OML model in VSCode"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"start-oml-vision",children:"Start OML Vision"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Entry Point",src:i(61).Z+"",width:"4064",height:"2334"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Click the eye icon in the sidebar which will activate the OML Vision extension"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Activate Extension",src:i(1037).Z+"",width:"4064",height:"2334"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Data must be loaded into the in-memory RDF triplestore for OML Vision to render views"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.code,{children:"Run clean"})," (This will clear the cache i.e.delete the build folder)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",children:"./gradlew clean\n"})}),(0,s.jsxs)(n.p,{children:["Look in the ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"build.gradle"})," file for a list of commands"]})]}),"\n",(0,s.jsxs)(n.ol,{start:"6",children:["\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.code,{children:"Run owlLoad"})," (This will load data into the in-memory RDF triplestore)"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",children:"./gradlew owlLoad\n"})}),(0,s.jsxs)(n.p,{children:["Look in the ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"build.gradle"})," file for a list of commands"]})]}),"\n",(0,s.jsxs)(n.ol,{start:"7",children:["\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.code,{children:"Objectives"})]}),"\n",(0,s.jsxs)(n.li,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Objectives Table",src:i(5631).Z+"",width:"3680",height:"2252"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1037:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/activateExtension-c9be59e9484bb0f61db2ec5e2bf87994.png"},61:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/entryPoint-b23252efcf22e8652d677aceeac537f3.png"},5631:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/objectivesTable-3b3c6ac9776b3931528b9b9c76ecc096.png"},2465:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/unopenedWorkspace-a77f6d3fbc2224c4c31019e665843db5.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>a,a:()=>t});var s=i(7294);const l={},o=s.createContext(l);function t(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0bd551e3.ece6ba72.js b/assets/js/0bd551e3.ece6ba72.js deleted file mode 100644 index a27d4ee..0000000 --- a/assets/js/0bd551e3.ece6ba72.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2131],{2255:s=>{s.exports=JSON.parse('{"permalink":"/changelog/tags/vscode","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/0dae7922.806ee4de.js b/assets/js/0dae7922.806ee4de.js deleted file mode 100644 index e0e02a1..0000000 --- a/assets/js/0dae7922.806ee4de.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6826],{357:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var i=s(5893),t=s(1151);const a={sidebar_position:2},l="Tables",o={id:"api-documentation/layouts/tables",title:"Tables",description:"Tables are created using tanstack table.",source:"@site/docs/api-documentation/layouts/tables.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/tables",permalink:"/docs/next/api-documentation/layouts/tables",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/layouts/tables.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Pages",permalink:"/docs/next/api-documentation/layouts/pages"},next:{title:"Trees",permalink:"/docs/next/api-documentation/layouts/trees"}},r={},d=[{value:"Defining Table",id:"defining-table",level:2},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"diagrams",id:"diagrams",level:3},{value:"all-rows",id:"all-rows",level:4},{value:"columnNames",id:"columnnames",level:3},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"subRowMappings",id:"subrowmappings",level:4}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"tables",children:"Tables"}),"\n",(0,i.jsxs)(n.p,{children:["Tables are created using ",(0,i.jsx)(n.a,{href:"https://tanstack.com/table/v8",children:"tanstack table"}),"."]}),"\n",(0,i.jsx)(n.admonition,{title:"tables.json",type:"info",children:(0,i.jsxs)(n.p,{children:["Create a ",(0,i.jsx)(n.code,{children:"src/vision/layouts/tables.json"})," file (case-sensitive)"]})}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"src/vision/layouts/tables.json"})," file is responsible for:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Defining what OML Vision Tables can render","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Name of the Table"}),"\n",(0,i.jsx)(n.li,{children:"Commands that can be executed from the Table"}),"\n",(0,i.jsx)(n.li,{children:"Name of the columns for the Table"}),"\n",(0,i.jsx)(n.li,{children:"Queries that the Table's content needs"}),"\n",(0,i.jsx)(n.li,{children:"How to map Table queries to columns"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,i.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/tableLayouts.json",children:"here"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "objectives": {\n "name": "Objectives",\n "diagrams": {\n "all-rows": "objectives-diagram"\n },\n "columnNames": {\n "o1_id": "Objective 1 ID",\n "o1_name": "Objective 1 Name",\n "o2_id": "Objective 2 ID",\n "o2_name": "Objective 2 Name"\n },\n "queries": {\n "o1_id": "objectives.sparql",\n "o1_name": "objectives.sparql",\n "o2_id": "objectives.sparql",\n "o2_name": "objectives.sparql"\n },\n "rowMapping": {\n "id": "o1_id",\n "name": "Objectives",\n "labelFormat": "Objective"\n }\n },\n "connections": {\n "name": "Connections",\n "diagrams": {\n "all-rows": "connections-diagram"\n },\n "columnNames": {\n "c1_name": "Connection 1 Name",\n "c2_name": "Connection 2 Name"\n },\n "queries": {\n "c1_name": "connections.sparql",\n "c2_name": "connections.sparql"\n },\n "rowMapping": {\n "id": "c1_name",\n "name": "Connections",\n "labelFormat": "Connection"\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"defining-table",children:"Defining Table"}),"\n",(0,i.jsx)(n.p,{children:"A table must be properly defined in order to be rendered by OML Vision"}),"\n",(0,i.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This string defines the path of the Table."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The name of the ",(0,i.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,i.jsx)(n.code,{children:"pages.json"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Path",src:s(8082).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the table in the ",(0,i.jsx)(n.code,{children:"tableLayouts.json"})," file."]}),"\n",(0,i.jsx)(n.h3,{id:"diagrams",children:"diagrams"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"diagrams: {\n all-rows: string\n }\n"})})}),"\n",(0,i.jsx)(n.p,{children:"The diagrams object defines the commands that the Table is able to execute."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"diagrams"})," correspond to the commands that appear when a user right clicks a row in the Table."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Commands",src:s(6047).Z+"",width:"3444",height:"2022"})})]}),"\n",(0,i.jsx)(n.h4,{id:"all-rows",children:"all-rows"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"all-rows: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string defines that all rows have the commands defined available for them to execute. The name of the string is arbitrary, but a good name for ",(0,i.jsx)(n.code,{children:"all-rows"}),' is "all-rows".']}),"\n",(0,i.jsx)(n.h3,{id:"columnnames",children:"columnNames"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"columnNames: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the columns that will render on the Table."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"columnNames"})," are rendered in the headers of the Table shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Column Names",src:s(3111).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Table."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,i.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,i.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,i.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,i.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,i.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This object defines how the ",(0,i.jsx)(n.code,{children:"queries"})," map to the ",(0,i.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,i.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string the ",(0,i.jsx)(n.code,{children:"id"})," for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,i.jsx)(n.code,{children:"columnNames"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Row Mapping Id",src:s(2673).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Table shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Column Names",src:s(5585).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsxs)(n.admonition,{title:"STRING INTERPOLATION",type:"tip",children:[(0,i.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,i.jsx)(n.code,{children:'"{string}"'})]}),(0,i.jsxs)(n.p,{children:["An example is found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/tableLayouts.json#L25",children:"here"})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table String Interpolation",src:s(1906).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n }[]\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This ",(0,i.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," for the subrows of the Table."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["The ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," have the same data structure as ",(0,i.jsx)(n.code,{children:"rowMapping"})]})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},3111:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableColumnNames-46ed838d0deddf6c0074aa95f649f87e.png"},6047:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableCommands-b2fd2e043d809d20bbe41ecc6283b0bc.png"},8082:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tablePath-96df27598d20e4e89c67dbb7489bf477.png"},2673:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableRowMappingId-4eec3ca1a8fd69a8a4015943bb239399.png"},5585:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableRowMappingLabelFormat-8e0d847533335a460d766dd65e0373a9.png"},1906:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableStringInterpolation-2ee7030fc74a45e2750866858ed1b512.png"},1151:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>l});var i=s(7294);const t={},a=i.createContext(t);function l(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0dae7922.eef36b16.js b/assets/js/0dae7922.eef36b16.js new file mode 100644 index 0000000..d6e9556 --- /dev/null +++ b/assets/js/0dae7922.eef36b16.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6826],{357:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var i=s(5893),t=s(1151);const a={sidebar_position:2},o="Tables",l={id:"api-documentation/layouts/tables",title:"Tables",description:"Tables are created using tanstack table.",source:"@site/docs/api-documentation/layouts/tables.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/tables",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/tables",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/layouts/tables.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Pages",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/pages"},next:{title:"Trees",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/trees"}},r={},d=[{value:"Defining Table",id:"defining-table",level:2},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"diagrams",id:"diagrams",level:3},{value:"all-rows",id:"all-rows",level:4},{value:"columnNames",id:"columnnames",level:3},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"subRowMappings",id:"subrowmappings",level:4}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"tables",children:"Tables"}),"\n",(0,i.jsxs)(n.p,{children:["Tables are created using ",(0,i.jsx)(n.a,{href:"https://tanstack.com/table/v8",children:"tanstack table"}),"."]}),"\n",(0,i.jsx)(n.admonition,{title:"tables.json",type:"info",children:(0,i.jsxs)(n.p,{children:["Create a ",(0,i.jsx)(n.code,{children:"src/vision/layouts/tables.json"})," file (case-sensitive)"]})}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"src/vision/layouts/tables.json"})," file is responsible for:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Defining what OML Vision Tables can render","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Name of the Table"}),"\n",(0,i.jsx)(n.li,{children:"Commands that can be executed from the Table"}),"\n",(0,i.jsx)(n.li,{children:"Name of the columns for the Table"}),"\n",(0,i.jsx)(n.li,{children:"Queries that the Table's content needs"}),"\n",(0,i.jsx)(n.li,{children:"How to map Table queries to columns"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,i.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/tableLayouts.json",children:"here"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "objectives": {\n "name": "Objectives",\n "diagrams": {\n "all-rows": "objectives-diagram"\n },\n "columnNames": {\n "o1_id": "Objective 1 ID",\n "o1_name": "Objective 1 Name",\n "o2_id": "Objective 2 ID",\n "o2_name": "Objective 2 Name"\n },\n "queries": {\n "o1_id": "objectives.sparql",\n "o1_name": "objectives.sparql",\n "o2_id": "objectives.sparql",\n "o2_name": "objectives.sparql"\n },\n "rowMapping": {\n "id": "o1_id",\n "name": "Objectives",\n "labelFormat": "Objective"\n }\n },\n "connections": {\n "name": "Connections",\n "diagrams": {\n "all-rows": "connections-diagram"\n },\n "columnNames": {\n "c1_name": "Connection 1 Name",\n "c2_name": "Connection 2 Name"\n },\n "queries": {\n "c1_name": "connections.sparql",\n "c2_name": "connections.sparql"\n },\n "rowMapping": {\n "id": "c1_name",\n "name": "Connections",\n "labelFormat": "Connection"\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"defining-table",children:"Defining Table"}),"\n",(0,i.jsx)(n.p,{children:"A table must be properly defined in order to be rendered by OML Vision"}),"\n",(0,i.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This string defines the path of the Table."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The name of the ",(0,i.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,i.jsx)(n.code,{children:"pages.json"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Path",src:s(8082).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the table in the ",(0,i.jsx)(n.code,{children:"tableLayouts.json"})," file."]}),"\n",(0,i.jsx)(n.h3,{id:"diagrams",children:"diagrams"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"diagrams: {\n all-rows: string\n }\n"})})}),"\n",(0,i.jsx)(n.p,{children:"The diagrams object defines the commands that the Table is able to execute."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"diagrams"})," correspond to the commands that appear when a user right clicks a row in the Table."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Commands",src:s(6047).Z+"",width:"3444",height:"2022"})})]}),"\n",(0,i.jsx)(n.h4,{id:"all-rows",children:"all-rows"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"all-rows: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string defines that all rows have the commands defined available for them to execute. The name of the string is arbitrary, but a good name for ",(0,i.jsx)(n.code,{children:"all-rows"}),' is "all-rows".']}),"\n",(0,i.jsx)(n.h3,{id:"columnnames",children:"columnNames"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"columnNames: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the columns that will render on the Table."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"columnNames"})," are rendered in the headers of the Table shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Column Names",src:s(3111).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Table."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,i.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,i.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,i.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,i.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,i.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This object defines how the ",(0,i.jsx)(n.code,{children:"queries"})," map to the ",(0,i.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,i.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string the ",(0,i.jsx)(n.code,{children:"id"})," for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,i.jsx)(n.code,{children:"columnNames"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Row Mapping Id",src:s(2673).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Table shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Column Names",src:s(5585).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsxs)(n.admonition,{title:"STRING INTERPOLATION",type:"tip",children:[(0,i.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,i.jsx)(n.code,{children:'"{string}"'})]}),(0,i.jsxs)(n.p,{children:["An example is found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/tableLayouts.json#L25",children:"here"})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table String Interpolation",src:s(1906).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n }[]\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This ",(0,i.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," for the subrows of the Table."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["The ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," have the same data structure as ",(0,i.jsx)(n.code,{children:"rowMapping"})]})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},3111:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableColumnNames-46ed838d0deddf6c0074aa95f649f87e.png"},6047:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableCommands-b2fd2e043d809d20bbe41ecc6283b0bc.png"},8082:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tablePath-96df27598d20e4e89c67dbb7489bf477.png"},2673:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableRowMappingId-4eec3ca1a8fd69a8a4015943bb239399.png"},5585:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableRowMappingLabelFormat-8e0d847533335a460d766dd65e0373a9.png"},1906:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableStringInterpolation-2ee7030fc74a45e2750866858ed1b512.png"},1151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>o});var i=s(7294);const t={},a=i.createContext(t);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.12b28c4e.js b/assets/js/0e384e19.12b28c4e.js new file mode 100644 index 0000000..da2d40a --- /dev/null +++ b/assets/js/0e384e19.12b28c4e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9671],{2445:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>r});var s=i(5893),l=i(1151);const o={sidebar_position:1},t="Get Started",a={id:"intro",title:"Get Started",description:"Let's discover OML Vision in less than 5 minutes.",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/oml-vision-docs/docs/next/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"API Documentation",permalink:"/oml-vision-docs/docs/next/category/api-documentation"}},d={},r=[{value:"Getting Started",id:"getting-started",level:2},{value:"VSCode Terminology (Optional)",id:"vscode-terminology-optional",level:3},{value:"Install OML Vision",id:"install-oml-vision",level:3},{value:"VSCode Marketplace (Automatic Installation)",id:"vscode-marketplace-automatic-installation",level:4},{value:"VSIX File (Manual Installation)",id:"vsix-file-manual-installation",level:4},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Windows",id:"windows",level:4},{value:"macOS",id:"macos",level:4},{value:"Load OML Model Data",id:"load-oml-model-data",level:2},{value:"Start from Scratch",id:"start-from-scratch",level:3},{value:"Use existing OML model",id:"use-existing-oml-model",level:3},{value:"Start OML Vision",id:"start-oml-vision",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"get-started",children:"Get Started"}),"\n",(0,s.jsxs)(n.p,{children:["Let's discover ",(0,s.jsx)(n.strong,{children:"OML Vision in less than 5 minutes"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,s.jsx)(n.h3,{id:"vscode-terminology-optional",children:"VSCode Terminology (Optional)"}),"\n",(0,s.jsx)(n.admonition,{title:"VSCode Terminology",type:"tip",children:(0,s.jsxs)(n.p,{children:["While not required, it is recommended to read the documentation on VSCode terminology as it will be referenced heavily. Read more ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/getstarted/userinterface",children:"here"})]})}),"\n",(0,s.jsx)(n.h3,{id:"install-oml-vision",children:"Install OML Vision"}),"\n",(0,s.jsx)(n.h4,{id:"vscode-marketplace-automatic-installation",children:"VSCode Marketplace (Automatic Installation)"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Go to VSCode Marketplace and install the extension from there."}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"vsix-file-manual-installation",children:"VSIX File (Manual Installation)"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Go to latest release of ",(0,s.jsx)(n.a,{href:"https://github.com/opencaesar/oml-vision/releases/latest",children:"OML Vision"})]}),"\n",(0,s.jsx)(n.li,{children:"Download the VSIX file"}),"\n",(0,s.jsxs)(n.li,{children:["Install the OML Vision extension using the downloaded VSIX file. Helpful guide ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/editor/extension-marketplace#_install-from-a-vsix",children:"here"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"what-youll-need",children:"What you'll need"}),"\n",(0,s.jsx)(n.h4,{id:"windows",children:"Windows"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Install scoop ",(0,s.jsx)(n.a,{href:"https://scoop.sh/#/",children:"https://scoop.sh/#/"})]}),"\n",(0,s.jsxs)(n.li,{children:["Use scoop to install ",(0,s.jsx)(n.code,{children:"git"}),", ",(0,s.jsx)(n.code,{children:"nodejs"}),", ",(0,s.jsx)(n.code,{children:"nvm"}),", ",(0,s.jsx)(n.code,{children:"yarn"}),", ",(0,s.jsx)(n.code,{children:"java17"})," and ",(0,s.jsx)(n.code,{children:"visual studio code"})," if not already installed."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"scoop bucket add main\nscoop bucket add extras\nscoop bucket add java\nscoop install main/git\nscoop install main/nodejs\nscoop install main/nvm\nscoop install main/yarn\nscoop install java/openjdk17\nscoop install extras/vscode\n"})}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsxs)(n.li,{children:["The version of VSCode must be at ",(0,s.jsx)(n.code,{children:"1.78.2"})," or newer."]}),"\n",(0,s.jsx)(n.li,{children:"Install the following VSCode extensions if not already installed"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"code --install-extension vscjava.vscode-java-pack\ncode --install-extension vscjava.vscode-gradle\n"})}),"\n",(0,s.jsx)(n.h4,{id:"macos",children:"macOS"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Install homebrew ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"https://brew.sh"})]}),"\n",(0,s.jsxs)(n.li,{children:["Use scoop to install ",(0,s.jsx)(n.code,{children:"git"}),", ",(0,s.jsx)(n.code,{children:"nodejs"}),", ",(0,s.jsx)(n.code,{children:"nvm"}),", ",(0,s.jsx)(n.code,{children:"yarn"})," and ",(0,s.jsx)(n.code,{children:"visual studio code"})," if not already installed."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"brew install git\nbrew install nodejs\nbrew install nvm\nbrew install yarn\nbrew install openjdk@17\nbrew install --cask visual-studio-code\n"})}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsxs)(n.li,{children:["The version of VSCode must be at ",(0,s.jsx)(n.code,{children:"1.78.2"})," or newer."]}),"\n",(0,s.jsx)(n.li,{children:"Install the following VSCode extensions"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"code --install-extension vscjava.vscode-java-pack\ncode --install-extension vscjava.vscode-gradle\n"})}),"\n",(0,s.jsx)(n.h2,{id:"load-oml-model-data",children:"Load OML Model Data"}),"\n",(0,s.jsx)(n.p,{children:"OML Vision is designed to work with OML (Ontological Modeling Language) models."}),"\n",(0,s.jsx)(n.h3,{id:"start-from-scratch",children:"Start from Scratch"}),"\n",(0,s.jsxs)(n.p,{children:["Tutorials on how to create an OML model from scratch can be found ",(0,s.jsx)(n.a,{href:"https://www.opencaesar.io/oml-tutorials/",children:"here"})]}),"\n",(0,s.jsx)(n.admonition,{title:"No OML Vision viewpoints defined in above tutorial",type:"danger",children:(0,s.jsxs)(n.p,{children:["OML Vision works with viewpoints which will be covered in ",(0,s.jsx)(n.code,{children:"Layouts"})," found ",(0,s.jsx)(n.a,{href:"/docs/category/layouts",children:"here"})]})}),"\n",(0,s.jsx)(n.h3,{id:"use-existing-oml-model",children:"Use existing OML model"}),"\n",(0,s.jsx)(n.p,{children:"If you want to see the capabilities of OML Vision without creating your own OML model you may use one of the following OML models:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/tree/main",children:"Kepler16b"}),": A hypothetical spacecraft that will explore the ",(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Kepler-16b",children:"Kepler16b exoplanet"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/tree/main",children:"Open Source Rover"}),": A descriptive model of the ",(0,s.jsx)(n.a,{href:"https://github.com/nasa-jpl/open-source-rover/tree/master",children:"JPL Open Source Rover"})]}),"\n"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Click the eye icon in the sidebar which will activate the OML Vision extension"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Unopened Workspace",src:i(7434).Z+"",width:"3680",height:"2252"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.code,{children:"Clone OML Model"})," and enter in this URL ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example.git",children:"https://github.com/pogi7/kepler16b-example.git"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/pogi7/kepler16b-example.git\n"})})]}),"\n",(0,s.jsxs)(n.ol,{start:"4",children:["\n",(0,s.jsx)(n.li,{children:"Open the kepler16b-example OML model in VSCode"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"start-oml-vision",children:"Start OML Vision"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Entry Point",src:i(2704).Z+"",width:"4064",height:"2334"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Click the eye icon in the sidebar which will activate the OML Vision extension"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Activate Extension",src:i(3944).Z+"",width:"4064",height:"2334"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Data must be loaded into the in-memory RDF triplestore for OML Vision to render views"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.code,{children:"Run clean"})," (This will clear the cache i.e.delete the build folder)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",children:"./gradlew clean\n"})}),(0,s.jsxs)(n.p,{children:["Look in the ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"build.gradle"})," file for a list of commands"]})]}),"\n",(0,s.jsxs)(n.ol,{start:"6",children:["\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.code,{children:"Run owlLoad"})," (This will load data into the in-memory RDF triplestore)"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",children:"./gradlew owlLoad\n"})}),(0,s.jsxs)(n.p,{children:["Look in the ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"build.gradle"})," file for a list of commands"]})]}),"\n",(0,s.jsxs)(n.ol,{start:"7",children:["\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.code,{children:"Objectives"})]}),"\n",(0,s.jsxs)(n.li,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Objectives Table",src:i(1008).Z+"",width:"3680",height:"2252"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},3944:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/activateExtension-c9be59e9484bb0f61db2ec5e2bf87994.png"},2704:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/entryPoint-b23252efcf22e8652d677aceeac537f3.png"},1008:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/objectivesTable-3b3c6ac9776b3931528b9b9c76ecc096.png"},7434:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/unopenedWorkspace-a77f6d3fbc2224c4c31019e665843db5.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>a,a:()=>t});var s=i(7294);const l={},o=s.createContext(l);function t(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.f8dbbe4e.js b/assets/js/0e384e19.f8dbbe4e.js deleted file mode 100644 index 4a0f213..0000000 --- a/assets/js/0e384e19.f8dbbe4e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9671],{2445:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>a,toc:()=>r});var s=i(5893),l=i(1151);const t={sidebar_position:1},o="Get Started",a={id:"intro",title:"Get Started",description:"Let's discover OML Vision in less than 5 minutes.",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/docs/next/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"API Documentation",permalink:"/docs/next/category/api-documentation"}},d={},r=[{value:"Getting Started",id:"getting-started",level:2},{value:"VSCode Terminology (Optional)",id:"vscode-terminology-optional",level:3},{value:"Install OML Vision",id:"install-oml-vision",level:3},{value:"VSCode Marketplace (Automatic Installation)",id:"vscode-marketplace-automatic-installation",level:4},{value:"VSIX File (Manual Installation)",id:"vsix-file-manual-installation",level:4},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Windows",id:"windows",level:4},{value:"macOS",id:"macos",level:4},{value:"Load OML Model Data",id:"load-oml-model-data",level:2},{value:"Start from Scratch",id:"start-from-scratch",level:3},{value:"Use existing OML model",id:"use-existing-oml-model",level:3},{value:"Start OML Vision",id:"start-oml-vision",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"get-started",children:"Get Started"}),"\n",(0,s.jsxs)(n.p,{children:["Let's discover ",(0,s.jsx)(n.strong,{children:"OML Vision in less than 5 minutes"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,s.jsx)(n.h3,{id:"vscode-terminology-optional",children:"VSCode Terminology (Optional)"}),"\n",(0,s.jsx)(n.admonition,{title:"VSCode Terminology",type:"tip",children:(0,s.jsxs)(n.p,{children:["While not required, it is recommended to read the documentation on VSCode terminology as it will be referenced heavily. Read more ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/getstarted/userinterface",children:"here"})]})}),"\n",(0,s.jsx)(n.h3,{id:"install-oml-vision",children:"Install OML Vision"}),"\n",(0,s.jsx)(n.h4,{id:"vscode-marketplace-automatic-installation",children:"VSCode Marketplace (Automatic Installation)"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Go to VSCode Marketplace and install the extension from there."}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"vsix-file-manual-installation",children:"VSIX File (Manual Installation)"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Go to latest release of ",(0,s.jsx)(n.a,{href:"https://github.com/opencaesar/oml-vision/releases/latest",children:"OML Vision"})]}),"\n",(0,s.jsx)(n.li,{children:"Download the VSIX file"}),"\n",(0,s.jsxs)(n.li,{children:["Install the OML Vision extension using the downloaded VSIX file. Helpful guide ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/editor/extension-marketplace#_install-from-a-vsix",children:"here"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"what-youll-need",children:"What you'll need"}),"\n",(0,s.jsx)(n.h4,{id:"windows",children:"Windows"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Install scoop ",(0,s.jsx)(n.a,{href:"https://scoop.sh/#/",children:"https://scoop.sh/#/"})]}),"\n",(0,s.jsxs)(n.li,{children:["Use scoop to install ",(0,s.jsx)(n.code,{children:"git"}),", ",(0,s.jsx)(n.code,{children:"nodejs"}),", ",(0,s.jsx)(n.code,{children:"nvm"}),", ",(0,s.jsx)(n.code,{children:"yarn"}),", ",(0,s.jsx)(n.code,{children:"java17"})," and ",(0,s.jsx)(n.code,{children:"visual studio code"})," if not already installed."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"scoop bucket add main\nscoop bucket add extras\nscoop bucket add java\nscoop install main/git\nscoop install main/nodejs\nscoop install main/nvm\nscoop install main/yarn\nscoop install java/openjdk17\nscoop install extras/vscode\n"})}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsxs)(n.li,{children:["The version of VSCode must be at ",(0,s.jsx)(n.code,{children:"1.78.2"})," or newer."]}),"\n",(0,s.jsx)(n.li,{children:"Install the following VSCode extensions if not already installed"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"code --install-extension vscjava.vscode-java-pack\ncode --install-extension vscjava.vscode-gradle\n"})}),"\n",(0,s.jsx)(n.h4,{id:"macos",children:"macOS"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Install homebrew ",(0,s.jsx)(n.a,{href:"https://brew.sh",children:"https://brew.sh"})]}),"\n",(0,s.jsxs)(n.li,{children:["Use scoop to install ",(0,s.jsx)(n.code,{children:"git"}),", ",(0,s.jsx)(n.code,{children:"nodejs"}),", ",(0,s.jsx)(n.code,{children:"nvm"}),", ",(0,s.jsx)(n.code,{children:"yarn"})," and ",(0,s.jsx)(n.code,{children:"visual studio code"})," if not already installed."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"brew install git\nbrew install nodejs\nbrew install nvm\nbrew install yarn\nbrew install openjdk@17\nbrew install --cask visual-studio-code\n"})}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsxs)(n.li,{children:["The version of VSCode must be at ",(0,s.jsx)(n.code,{children:"1.78.2"})," or newer."]}),"\n",(0,s.jsx)(n.li,{children:"Install the following VSCode extensions"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"code --install-extension vscjava.vscode-java-pack\ncode --install-extension vscjava.vscode-gradle\n"})}),"\n",(0,s.jsx)(n.h2,{id:"load-oml-model-data",children:"Load OML Model Data"}),"\n",(0,s.jsx)(n.p,{children:"OML Vision is designed to work with OML (Ontological Modeling Language) models."}),"\n",(0,s.jsx)(n.h3,{id:"start-from-scratch",children:"Start from Scratch"}),"\n",(0,s.jsxs)(n.p,{children:["Tutorials on how to create an OML model from scratch can be found ",(0,s.jsx)(n.a,{href:"https://www.opencaesar.io/oml-tutorials/",children:"here"})]}),"\n",(0,s.jsx)(n.admonition,{title:"No OML Vision viewpoints defined in above tutorial",type:"danger",children:(0,s.jsxs)(n.p,{children:["OML Vision works with viewpoints which will be covered in ",(0,s.jsx)(n.code,{children:"Layouts"})," found ",(0,s.jsx)(n.a,{href:"/docs/category/layouts",children:"here"})]})}),"\n",(0,s.jsx)(n.h3,{id:"use-existing-oml-model",children:"Use existing OML model"}),"\n",(0,s.jsx)(n.p,{children:"If you want to see the capabilities of OML Vision without creating your own OML model you may use one of the following OML models:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/tree/main",children:"Kepler16b"}),": A hypothetical spacecraft that will explore the ",(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Kepler-16b",children:"Kepler16b exoplanet"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/tree/main",children:"Open Source Rover"}),": A descriptive model of the ",(0,s.jsx)(n.a,{href:"https://github.com/nasa-jpl/open-source-rover/tree/master",children:"JPL Open Source Rover"})]}),"\n"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Click the eye icon in the sidebar which will activate the OML Vision extension"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Unopened Workspace",src:i(7434).Z+"",width:"3680",height:"2252"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.code,{children:"Clone OML Model"})," and enter in this URL ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example.git",children:"https://github.com/pogi7/kepler16b-example.git"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/pogi7/kepler16b-example.git\n"})})]}),"\n",(0,s.jsxs)(n.ol,{start:"4",children:["\n",(0,s.jsx)(n.li,{children:"Open the kepler16b-example OML model in VSCode"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"start-oml-vision",children:"Start OML Vision"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Entry Point",src:i(2704).Z+"",width:"4064",height:"2334"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Click the eye icon in the sidebar which will activate the OML Vision extension"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Activate Extension",src:i(3944).Z+"",width:"4064",height:"2334"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Data must be loaded into the in-memory RDF triplestore for OML Vision to render views"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.code,{children:"Run clean"})," (This will clear the cache i.e.delete the build folder)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",children:"./gradlew clean\n"})}),(0,s.jsxs)(n.p,{children:["Look in the ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"build.gradle"})," file for a list of commands"]})]}),"\n",(0,s.jsxs)(n.ol,{start:"6",children:["\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.code,{children:"Run owlLoad"})," (This will load data into the in-memory RDF triplestore)"]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Command Line Interface",type:"tip",children:[(0,s.jsx)(n.p,{children:"You can also run this command from the command line using"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",children:"./gradlew owlLoad\n"})}),(0,s.jsxs)(n.p,{children:["Look in the ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"build.gradle"})," file for a list of commands"]})]}),"\n",(0,s.jsxs)(n.ol,{start:"7",children:["\n",(0,s.jsxs)(n.li,{children:["Click ",(0,s.jsx)(n.code,{children:"Objectives"})]}),"\n",(0,s.jsxs)(n.li,{children:["Your screen should look like this\n",(0,s.jsx)(n.img,{alt:"Objectives Table",src:i(1008).Z+"",width:"3680",height:"2252"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},3944:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/activateExtension-c9be59e9484bb0f61db2ec5e2bf87994.png"},2704:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/entryPoint-b23252efcf22e8652d677aceeac537f3.png"},1008:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/objectivesTable-3b3c6ac9776b3931528b9b9c76ecc096.png"},7434:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/unopenedWorkspace-a77f6d3fbc2224c4c31019e665843db5.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>a,a:()=>o});var s=i(7294);const l={},t=s.createContext(l);function o(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/14d131f7.444cc3eb.js b/assets/js/14d131f7.444cc3eb.js new file mode 100644 index 0000000..40fa4f2 --- /dev/null +++ b/assets/js/14d131f7.444cc3eb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9439],{2863:(e,o,i)=>{i.r(o),i.d(o,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var t=i(5893),n=i(1151);const s={sidebar_position:6},r="Troubleshooting",a={id:"api-documentation/troubleshooting",title:"Troubleshooting",description:"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice.",source:"@site/versioned_docs/version-0.1.0/api-documentation/troubleshooting.md",sourceDirName:"api-documentation",slug:"/api-documentation/troubleshooting",permalink:"/oml-vision-docs/docs/api-documentation/troubleshooting",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/troubleshooting.md",tags:[],version:"0.1.0",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Gradle",permalink:"/oml-vision-docs/docs/api-documentation/gradle"}},d={},c=[{value:"Incorrect Java Version",id:"incorrect-java-version",level:2},{value:"Fuseki RDF Triplestore port already in use",id:"fuseki-rdf-triplestore-port-already-in-use",level:2},{value:"Windows",id:"windows",level:3},{value:"macOS",id:"macos",level:3}];function l(e){const o={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,t.jsx)(o.p,{children:"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice."}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://www.opencaesar.io/contributors/",children:"Contact Us"})}),"\n",(0,t.jsx)(o.admonition,{title:"FUESKI LOGS",type:"tip",children:(0,t.jsxs)(o.p,{children:["If using Fuseki for the RDF Triplestore, logs are usually created in the ",(0,t.jsx)(o.code,{children:".fuseki/fuseki.log"})," directory."]})}),"\n",(0,t.jsx)(o.h2,{id:"incorrect-java-version",children:"Incorrect Java Version"}),"\n",(0,t.jsx)(o.p,{children:"Some OML models may specify a specific version of Java. For example, the Kepler16b OML Model only supports Java 17 or higher."}),"\n",(0,t.jsx)(o.p,{children:"To fix this update Java to the correct version."}),"\n",(0,t.jsxs)(o.p,{children:["Helpful guide for updating Java version for Windows and macOS ",(0,t.jsx)(o.a,{href:"https://www.baeldung.com/java-home-on-windows-mac-os-x-linux",children:"here"})]}),"\n",(0,t.jsxs)(o.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,t.jsx)(o.p,{children:"Updating the Java version on macOS within VSCode may look like this."}),(0,t.jsx)(o.p,{children:(0,t.jsx)(o.img,{alt:"Correct Java Version",src:i(9583).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,t.jsx)(o.h2,{id:"fuseki-rdf-triplestore-port-already-in-use",children:"Fuseki RDF Triplestore port already in use"}),"\n",(0,t.jsxs)(o.p,{children:["By default, the Fuseki RDF triplestore uses port ",(0,t.jsx)(o.code,{children:"3030"}),". If this port is already in use, you will need to kill it in order for data to be loaded into the triplestore."]}),"\n",(0,t.jsxs)(o.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,t.jsxs)(o.p,{children:["Killing the ",(0,t.jsx)(o.code,{children:"3030"})," port using macOS within VSCode may look like this."]}),(0,t.jsx)(o.p,{children:(0,t.jsx)(o.img,{alt:"Kill Port in Use",src:i(5296).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,t.jsx)(o.h3,{id:"windows",children:"Windows"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.strong,{children:"Use port 3030"})}),"\n",(0,t.jsxs)(o.p,{children:["Follow this guide to kill a port on a Windows found ",(0,t.jsx)(o.a,{href:"https://sentry.io/answers/kill-process-using-port-in-windows/",children:"here"})]}),"\n",(0,t.jsx)(o.h3,{id:"macos",children:"macOS"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.strong,{children:"Use port 3030"})}),"\n",(0,t.jsxs)(o.p,{children:["Follow this guide to kill a port on a macOS found ",(0,t.jsx)(o.a,{href:"https://stackoverflow.com/questions/3855127/find-and-kill-process-locking-port-3000-on-mac",children:"here"})]})]})}function h(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},9583:(e,o,i)=>{i.d(o,{Z:()=>t});const t=i.p+"assets/images/correctJavaVersion-8bd8430447e83247b5e39ffe41e051c1.png"},5296:(e,o,i)=>{i.d(o,{Z:()=>t});const t=i.p+"assets/images/portAlreadyUsed-2b41650baaf0557e08a1d73ca785bd56.png"},1151:(e,o,i)=>{i.d(o,{Z:()=>a,a:()=>r});var t=i(7294);const n={},s=t.createContext(n);function r(e){const o=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),t.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/14d131f7.a571fb91.js b/assets/js/14d131f7.a571fb91.js deleted file mode 100644 index 1b6274a..0000000 --- a/assets/js/14d131f7.a571fb91.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9439],{2863:(e,o,i)=>{i.r(o),i.d(o,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var t=i(5893),n=i(1151);const s={sidebar_position:6},r="Troubleshooting",a={id:"api-documentation/troubleshooting",title:"Troubleshooting",description:"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice.",source:"@site/versioned_docs/version-0.1.0/api-documentation/troubleshooting.md",sourceDirName:"api-documentation",slug:"/api-documentation/troubleshooting",permalink:"/docs/api-documentation/troubleshooting",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/troubleshooting.md",tags:[],version:"0.1.0",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Gradle",permalink:"/docs/api-documentation/gradle"}},d={},c=[{value:"Incorrect Java Version",id:"incorrect-java-version",level:2},{value:"Fuseki RDF Triplestore port already in use",id:"fuseki-rdf-triplestore-port-already-in-use",level:2},{value:"Windows",id:"windows",level:3},{value:"macOS",id:"macos",level:3}];function l(e){const o={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,t.jsx)(o.p,{children:"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice."}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://www.opencaesar.io/contributors/",children:"Contact Us"})}),"\n",(0,t.jsx)(o.admonition,{title:"FUESKI LOGS",type:"tip",children:(0,t.jsxs)(o.p,{children:["If using Fuseki for the RDF Triplestore, logs are usually created in the ",(0,t.jsx)(o.code,{children:".fuseki/fuseki.log"})," directory."]})}),"\n",(0,t.jsx)(o.h2,{id:"incorrect-java-version",children:"Incorrect Java Version"}),"\n",(0,t.jsx)(o.p,{children:"Some OML models may specify a specific version of Java. For example, the Kepler16b OML Model only supports Java 17 or higher."}),"\n",(0,t.jsx)(o.p,{children:"To fix this update Java to the correct version."}),"\n",(0,t.jsxs)(o.p,{children:["Helpful guide for updating Java version for Windows and macOS ",(0,t.jsx)(o.a,{href:"https://www.baeldung.com/java-home-on-windows-mac-os-x-linux",children:"here"})]}),"\n",(0,t.jsxs)(o.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,t.jsx)(o.p,{children:"Updating the Java version on macOS within VSCode may look like this."}),(0,t.jsx)(o.p,{children:(0,t.jsx)(o.img,{alt:"Correct Java Version",src:i(9583).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,t.jsx)(o.h2,{id:"fuseki-rdf-triplestore-port-already-in-use",children:"Fuseki RDF Triplestore port already in use"}),"\n",(0,t.jsxs)(o.p,{children:["By default, the Fuseki RDF triplestore uses port ",(0,t.jsx)(o.code,{children:"3030"}),". If this port is already in use, you will need to kill it in order for data to be loaded into the triplestore."]}),"\n",(0,t.jsxs)(o.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,t.jsxs)(o.p,{children:["Killing the ",(0,t.jsx)(o.code,{children:"3030"})," port using macOS within VSCode may look like this."]}),(0,t.jsx)(o.p,{children:(0,t.jsx)(o.img,{alt:"Kill Port in Use",src:i(5296).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,t.jsx)(o.h3,{id:"windows",children:"Windows"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.strong,{children:"Use port 3030"})}),"\n",(0,t.jsxs)(o.p,{children:["Follow this guide to kill a port on a Windows found ",(0,t.jsx)(o.a,{href:"https://sentry.io/answers/kill-process-using-port-in-windows/",children:"here"})]}),"\n",(0,t.jsx)(o.h3,{id:"macos",children:"macOS"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.strong,{children:"Use port 3030"})}),"\n",(0,t.jsxs)(o.p,{children:["Follow this guide to kill a port on a macOS found ",(0,t.jsx)(o.a,{href:"https://stackoverflow.com/questions/3855127/find-and-kill-process-locking-port-3000-on-mac",children:"here"})]})]})}function h(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},9583:(e,o,i)=>{i.d(o,{Z:()=>t});const t=i.p+"assets/images/correctJavaVersion-8bd8430447e83247b5e39ffe41e051c1.png"},5296:(e,o,i)=>{i.d(o,{Z:()=>t});const t=i.p+"assets/images/portAlreadyUsed-2b41650baaf0557e08a1d73ca785bd56.png"},1151:(e,o,i)=>{i.d(o,{Z:()=>a,a:()=>r});var t=i(7294);const n={},s=t.createContext(n);function r(e){const o=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),t.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1ac94dd6.7971d66c.js b/assets/js/1ac94dd6.7971d66c.js new file mode 100644 index 0000000..c716973 --- /dev/null +++ b/assets/js/1ac94dd6.7971d66c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9573],{1204:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var s=i(5893),t=i(1151);const o={sidebar_position:5},r="Gradle",l={id:"api-documentation/gradle",title:"Gradle",description:"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model.",source:"@site/versioned_docs/version-0.1.0/api-documentation/gradle.md",sourceDirName:"api-documentation",slug:"/api-documentation/gradle",permalink:"/oml-vision-docs/docs/api-documentation/gradle",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/gradle.md",tags:[],version:"0.1.0",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Sparql",permalink:"/oml-vision-docs/docs/api-documentation/sparql"},next:{title:"Troubleshooting",permalink:"/oml-vision-docs/docs/api-documentation/troubleshooting"}},d={},a=[{value:"Build",id:"build",level:2},{value:"Tasks",id:"tasks",level:2},{value:"Vision Group",id:"vision-group",level:3},{value:"Running Tasks",id:"running-tasks",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"gradle",children:"Gradle"}),"\n",(0,s.jsx)(n.p,{children:"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model."}),"\n",(0,s.jsxs)(n.admonition,{title:"Gradle for Java VSCode Extension",type:"danger",children:[(0,s.jsxs)(n.p,{children:["OML Vision requires the ",(0,s.jsx)(n.a,{href:"https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-gradle",children:"Gradle for Java"})," VSCode extension."]}),(0,s.jsxs)(n.p,{children:["Read more installation instructions ",(0,s.jsx)(n.a,{href:"docs/intro#what-youll-need",children:"here"})]})]}),"\n",(0,s.jsx)(n.h2,{id:"build",children:"Build"}),"\n",(0,s.jsx)(n.admonition,{title:"build.gradle",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"build.gradle"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["In OML Vision, the ",(0,s.jsx)(n.code,{children:"build.gradle"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Defining tasks to run in OML Vision"}),"\n",(0,s.jsxs)(n.li,{children:["Listens on the ",(0,s.jsx)(n.code,{children:"build.gradle"})," file for any changes."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Examples of correctly formatted ",(0,s.jsx)(n.code,{children:"build.gradle"})," files for OML Vision are found here:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"Kepler16b build.gradle"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/build.gradle",children:"Open Source Rover build.gradle"})}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You can read more about ",(0,s.jsx)(n.code,{children:"build.gradle"})," files ",(0,s.jsx)(n.a,{href:"https://docs.gradle.org/current/userguide/build_file_basics.html",children:"here"})]}),"\n",(0,s.jsx)(n.h2,{id:"tasks",children:"Tasks"}),"\n",(0,s.jsx)(n.p,{children:"A task in Gradle refers to some command or program that Gradle executes."}),"\n",(0,s.jsx)(n.p,{children:"Generally OML Vision only requires 5 tasks:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"clean (Removes build folder)"}),"\n",(0,s.jsx)(n.li,{children:"build (Constructs OWL and OML files)"}),"\n",(0,s.jsx)(n.li,{children:"startFuseki (starts RDF triplestore)"}),"\n",(0,s.jsx)(n.li,{children:"owlLoad (Loads OWL data into RDF triplestore)"}),"\n",(0,s.jsx)(n.li,{children:"stopFuseki (stops RDF triplestore)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"vision-group",children:"Vision Group"}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision is asynchronously listening in the ",(0,s.jsx)(n.code,{children:"build.gradle"})," for any changes to the tasks. OML Vision will display any task in the ",(0,s.jsx)(n.code,{children:"vision"})," group in the sidebar."]}),"\n",(0,s.jsx)(n.admonition,{title:"REGISTERING NEW GRADLE TASKS",type:"note",children:(0,s.jsxs)(n.p,{children:["New tasks will register once you deactivate then reactive OML Vision. You can do this by clicking the ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/getstarted/userinterface#_explorer",children:"File Explorer"})," then clicking the OML Vision extension icon."]})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["By default, OML Vision displays the ",(0,s.jsx)(n.code,{children:"clean"})," and ",(0,s.jsx)(n.code,{children:"build"})," tasks. Those tasks do not need to be within the ",(0,s.jsx)(n.code,{children:"vision"})," Gradle group."]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"vision"})," gradle corresponds to the ",(0,s.jsx)(n.code,{children:"Setup Tasks"})," section in OML Vision shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Gradle Tasks",src:i(977).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"running-tasks",children:"Running Tasks"}),"\n",(0,s.jsx)(n.p,{children:"You may run tasks in OML Vision either"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["By clicking the ",(0,s.jsx)(n.code,{children:"Run Task"})," button in the OML Vision extension under the ",(0,s.jsx)(n.code,{children:"Setup Tasks"})," section"]}),"\n",(0,s.jsxs)(n.li,{children:["Running the task using the Gradle wrapper in any terminal.","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["An example of this would be running ",(0,s.jsx)(n.code,{children:"./gradlew clean"})]}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},977:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/gradleTasks-12f2f089dae86095914c9e0b0b8ca1db.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>r});var s=i(7294);const t={},o=s.createContext(t);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1ac94dd6.eee6c40c.js b/assets/js/1ac94dd6.eee6c40c.js deleted file mode 100644 index 5765830..0000000 --- a/assets/js/1ac94dd6.eee6c40c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9573],{1204:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var s=i(5893),t=i(1151);const r={sidebar_position:5},o="Gradle",l={id:"api-documentation/gradle",title:"Gradle",description:"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model.",source:"@site/versioned_docs/version-0.1.0/api-documentation/gradle.md",sourceDirName:"api-documentation",slug:"/api-documentation/gradle",permalink:"/docs/api-documentation/gradle",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/gradle.md",tags:[],version:"0.1.0",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Sparql",permalink:"/docs/api-documentation/sparql"},next:{title:"Troubleshooting",permalink:"/docs/api-documentation/troubleshooting"}},d={},a=[{value:"Build",id:"build",level:2},{value:"Tasks",id:"tasks",level:2},{value:"Vision Group",id:"vision-group",level:3},{value:"Running Tasks",id:"running-tasks",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"gradle",children:"Gradle"}),"\n",(0,s.jsx)(n.p,{children:"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model."}),"\n",(0,s.jsxs)(n.admonition,{title:"Gradle for Java VSCode Extension",type:"danger",children:[(0,s.jsxs)(n.p,{children:["OML Vision requires the ",(0,s.jsx)(n.a,{href:"https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-gradle",children:"Gradle for Java"})," VSCode extension."]}),(0,s.jsxs)(n.p,{children:["Read more installation instructions ",(0,s.jsx)(n.a,{href:"docs/intro#what-youll-need",children:"here"})]})]}),"\n",(0,s.jsx)(n.h2,{id:"build",children:"Build"}),"\n",(0,s.jsx)(n.admonition,{title:"build.gradle",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"build.gradle"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["In OML Vision, the ",(0,s.jsx)(n.code,{children:"build.gradle"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Defining tasks to run in OML Vision"}),"\n",(0,s.jsxs)(n.li,{children:["Listens on the ",(0,s.jsx)(n.code,{children:"build.gradle"})," file for any changes."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Examples of correctly formatted ",(0,s.jsx)(n.code,{children:"build.gradle"})," files for OML Vision are found here:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"Kepler16b build.gradle"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/build.gradle",children:"Open Source Rover build.gradle"})}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You can read more about ",(0,s.jsx)(n.code,{children:"build.gradle"})," files ",(0,s.jsx)(n.a,{href:"https://docs.gradle.org/current/userguide/build_file_basics.html",children:"here"})]}),"\n",(0,s.jsx)(n.h2,{id:"tasks",children:"Tasks"}),"\n",(0,s.jsx)(n.p,{children:"A task in Gradle refers to some command or program that Gradle executes."}),"\n",(0,s.jsx)(n.p,{children:"Generally OML Vision only requires 5 tasks:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"clean (Removes build folder)"}),"\n",(0,s.jsx)(n.li,{children:"build (Constructs OWL and OML files)"}),"\n",(0,s.jsx)(n.li,{children:"startFuseki (starts RDF triplestore)"}),"\n",(0,s.jsx)(n.li,{children:"owlLoad (Loads OWL data into RDF triplestore)"}),"\n",(0,s.jsx)(n.li,{children:"stopFuseki (stops RDF triplestore)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"vision-group",children:"Vision Group"}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision is asynchronously listening in the ",(0,s.jsx)(n.code,{children:"build.gradle"})," for any changes to the tasks. OML Vision will display any task in the ",(0,s.jsx)(n.code,{children:"vision"})," group in the sidebar."]}),"\n",(0,s.jsx)(n.admonition,{title:"REGISTERING NEW GRADLE TASKS",type:"note",children:(0,s.jsxs)(n.p,{children:["New tasks will register once you deactivate then reactive OML Vision. You can do this by clicking the ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/getstarted/userinterface#_explorer",children:"File Explorer"})," then clicking the OML Vision extension icon."]})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["By default, OML Vision displays the ",(0,s.jsx)(n.code,{children:"clean"})," and ",(0,s.jsx)(n.code,{children:"build"})," tasks. Those tasks do not need to be within the ",(0,s.jsx)(n.code,{children:"vision"})," Gradle group."]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"vision"})," gradle corresponds to the ",(0,s.jsx)(n.code,{children:"Setup Tasks"})," section in OML Vision shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Gradle Tasks",src:i(977).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"running-tasks",children:"Running Tasks"}),"\n",(0,s.jsx)(n.p,{children:"You may run tasks in OML Vision either"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["By clicking the ",(0,s.jsx)(n.code,{children:"Run Task"})," button in the OML Vision extension under the ",(0,s.jsx)(n.code,{children:"Setup Tasks"})," section"]}),"\n",(0,s.jsxs)(n.li,{children:["Running the task using the Gradle wrapper in any terminal.","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["An example of this would be running ",(0,s.jsx)(n.code,{children:"./gradlew clean"})]}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},977:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/gradleTasks-12f2f089dae86095914c9e0b0b8ca1db.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>o});var s=i(7294);const t={},r=s.createContext(t);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f0709cf.163530f2.js b/assets/js/1f0709cf.163530f2.js new file mode 100644 index 0000000..d1dee0a --- /dev/null +++ b/assets/js/1f0709cf.163530f2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9639],{8479:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=o(5893),s=o(1151);const i={sidebar_position:4},n="Sparql",a={id:"api-documentation/sparql",title:"Sparql",description:"SPARQL is the main query language that is used to query the RDF triplestore.",source:"@site/docs/api-documentation/sparql.md",sourceDirName:"api-documentation",slug:"/api-documentation/sparql",permalink:"/oml-vision-docs/docs/next/api-documentation/sparql",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/sparql.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Diagrams",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/diagrams"},next:{title:"Gradle",permalink:"/oml-vision-docs/docs/next/api-documentation/gradle"}},c={},l=[{value:"Formatting Query",id:"formatting-query",level:2},{value:"Fuseki Web User Interface",id:"fuseki-web-user-interface",level:3},{value:"SPARQL Notebooks",id:"sparql-notebooks",level:3}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"sparql",children:"Sparql"}),"\n",(0,r.jsx)(t.p,{children:"SPARQL is the main query language that is used to query the RDF triplestore."}),"\n",(0,r.jsxs)(t.p,{children:["Examples of correctly formatted ",(0,r.jsx)(t.code,{children:"sparql"})," directory for OML Vision are found here:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://github.com/pogi7/kepler16b-example/tree/main/src/vision/sparql",children:"Kepler16b sparql directory"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://github.com/UTNAK/open-source-rover/tree/main/src/vision/sparql",children:"Open Source Rover sparql directory"})}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["You can read more about SPARQL ",(0,r.jsx)(t.a,{href:"https://www.ontotext.com/knowledgehub/fundamentals/what-is-sparql/",children:"here"})]}),"\n",(0,r.jsx)(t.h2,{id:"formatting-query",children:"Formatting Query"}),"\n",(0,r.jsx)(t.p,{children:"There are several ways to correctly format a SPARQL query."}),"\n",(0,r.jsxs)(t.p,{children:["Once the SPARQL query is correctly formatted create a file for the query and place it in the ",(0,r.jsx)(t.code,{children:"src/vision/sparql"})," directory."]}),"\n",(0,r.jsx)(t.h3,{id:"fuseki-web-user-interface",children:"Fuseki Web User Interface"}),"\n",(0,r.jsx)(t.p,{children:"Fuseki's RDF triplestore has a convenient way to format queries using their web user interface."}),"\n",(0,r.jsxs)(t.admonition,{title:"FUSEKI",type:"tip",children:[(0,r.jsxs)(t.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,r.jsx)(t.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,r.jsxs)(t.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,r.jsx)(t.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,r.jsx)(t.h3,{id:"sparql-notebooks",children:"SPARQL Notebooks"}),"\n",(0,r.jsxs)(t.p,{children:["If you feel comfortable working with notebooks you can use SPARQL Notebooks to format queries. You can read more about SPARQL notebooks ",(0,r.jsx)(t.a,{href:"https://marketplace.visualstudio.com/items?itemName=Zazuko.sparql-notebook",children:"here"})]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},1151:(e,t,o)=>{o.d(t,{Z:()=>a,a:()=>n});var r=o(7294);const s={},i=r.createContext(s);function n(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f0709cf.fa7794ad.js b/assets/js/1f0709cf.fa7794ad.js deleted file mode 100644 index d3dd517..0000000 --- a/assets/js/1f0709cf.fa7794ad.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9639],{8479:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var o=r(5893),s=r(1151);const i={sidebar_position:4},n="Sparql",a={id:"api-documentation/sparql",title:"Sparql",description:"SPARQL is the main query language that is used to query the RDF triplestore.",source:"@site/docs/api-documentation/sparql.md",sourceDirName:"api-documentation",slug:"/api-documentation/sparql",permalink:"/docs/next/api-documentation/sparql",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/sparql.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Diagrams",permalink:"/docs/next/api-documentation/layouts/diagrams"},next:{title:"Gradle",permalink:"/docs/next/api-documentation/gradle"}},c={},l=[{value:"Formatting Query",id:"formatting-query",level:2},{value:"Fuseki Web User Interface",id:"fuseki-web-user-interface",level:3},{value:"SPARQL Notebooks",id:"sparql-notebooks",level:3}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"sparql",children:"Sparql"}),"\n",(0,o.jsx)(t.p,{children:"SPARQL is the main query language that is used to query the RDF triplestore."}),"\n",(0,o.jsxs)(t.p,{children:["Examples of correctly formatted ",(0,o.jsx)(t.code,{children:"sparql"})," directory for OML Vision are found here:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://github.com/pogi7/kepler16b-example/tree/main/src/vision/sparql",children:"Kepler16b sparql directory"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://github.com/UTNAK/open-source-rover/tree/main/src/vision/sparql",children:"Open Source Rover sparql directory"})}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You can read more about SPARQL ",(0,o.jsx)(t.a,{href:"https://www.ontotext.com/knowledgehub/fundamentals/what-is-sparql/",children:"here"})]}),"\n",(0,o.jsx)(t.h2,{id:"formatting-query",children:"Formatting Query"}),"\n",(0,o.jsx)(t.p,{children:"There are several ways to correctly format a SPARQL query."}),"\n",(0,o.jsxs)(t.p,{children:["Once the SPARQL query is correctly formatted create a file for the query and place it in the ",(0,o.jsx)(t.code,{children:"src/vision/sparql"})," directory."]}),"\n",(0,o.jsx)(t.h3,{id:"fuseki-web-user-interface",children:"Fuseki Web User Interface"}),"\n",(0,o.jsx)(t.p,{children:"Fuseki's RDF triplestore has a convenient way to format queries using their web user interface."}),"\n",(0,o.jsxs)(t.admonition,{title:"FUSEKI",type:"tip",children:[(0,o.jsxs)(t.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,o.jsx)(t.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,o.jsxs)(t.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,o.jsx)(t.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,o.jsx)(t.h3,{id:"sparql-notebooks",children:"SPARQL Notebooks"}),"\n",(0,o.jsxs)(t.p,{children:["If you feel comfortable working with notebooks you can use SPARQL Notebooks to format queries. You can read more about SPARQL notebooks ",(0,o.jsx)(t.a,{href:"https://marketplace.visualstudio.com/items?itemName=Zazuko.sparql-notebook",children:"here"})]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>n});var o=r(7294);const s={},i=o.createContext(s);function n(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/349652a3.ca65e25f.js b/assets/js/349652a3.ca65e25f.js deleted file mode 100644 index 96472dd..0000000 --- a/assets/js/349652a3.ca65e25f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6081],{5888:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var i=s(5893),t=s(1151);const r={sidebar_position:3},a="Trees",o={id:"api-documentation/layouts/trees",title:"Trees",description:"Trees are created using React Arborist.",source:"@site/versioned_docs/version-0.1.0/api-documentation/layouts/trees.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/trees",permalink:"/docs/api-documentation/layouts/trees",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/layouts/trees.md",tags:[],version:"0.1.0",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Tables",permalink:"/docs/api-documentation/layouts/tables"},next:{title:"Diagrams",permalink:"/docs/api-documentation/layouts/diagrams"}},d={},l=[{value:"Defining Tree",id:"defining-tree",level:2},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"diagrams",id:"diagrams",level:3},{value:"all-rows",id:"all-rows",level:4},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"subRowMappings",id:"subrowmappings",level:4}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"trees",children:"Trees"}),"\n",(0,i.jsxs)(n.p,{children:["Trees are created using ",(0,i.jsx)(n.a,{href:"https://github.com/brimdata/react-arborist",children:"React Arborist"}),"."]}),"\n",(0,i.jsx)(n.admonition,{title:"trees.json",type:"info",children:(0,i.jsxs)(n.p,{children:["Create a ",(0,i.jsx)(n.code,{children:"src/vision/layouts/trees.json"})," file (case-sensitive)"]})}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"src/vision/layouts/trees.json"})," file is responsible for:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Defining what OML Vision Trees can render","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Name of the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Commands that can be executed from the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Name of the columns for the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Queries that the Trees's content needs"}),"\n",(0,i.jsx)(n.li,{children:"How to map Tree queries to columns"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,i.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/treeLayouts.json",children:"here"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "requirements": {\n "name": "Requirements Diagram",\n "diagrams": {\n "all-rows": "requirements-diagram"\n },\n "queries": {\n "requirements": "requirements.sparql"\n },\n "rowMapping": {\n "id": "requirements",\n "name": "Requirements",\n "labelFormat": "{r_id}",\n "subRowMappings": [\n {\n "id": "requirements",\n "name": "Components",\n "labelFormat": "C Name: {c_name}"\n }\n ]\n }\n },\n "components": {\n "name": "Components",\n "diagrams": {\n "all-rows": "components-diagram"\n },\n "queries": {\n "components": "components.sparql"\n },\n "rowMapping": {\n "id": "components",\n "name": "Components",\n "labelFormat": "{c1_id} {c1_name}",\n "subRowMappings": [\n {\n "id": "components",\n "name": "Masses",\n "labelFormat": "{c1_mass}"\n }\n ]\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"defining-tree",children:"Defining Tree"}),"\n",(0,i.jsx)(n.p,{children:"A tree must be properly defined in order to be rendered by OML Vision"}),"\n",(0,i.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This string defines the path of the Tree."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The name of the ",(0,i.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,i.jsx)(n.code,{children:"pages.json"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Path",src:s(3264).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the Tree in the ",(0,i.jsx)(n.code,{children:"treeLayouts.json"})," file."]}),"\n",(0,i.jsx)(n.h3,{id:"diagrams",children:"diagrams"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"diagrams: {\n all-rows: string\n }\n"})})}),"\n",(0,i.jsx)(n.p,{children:"The diagrams object defines the commands that the Tree is able to execute."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"diagrams"})," correspond to the commands that appear when a user right clicks a row in the Tree."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Commands",src:s(6883).Z+"",width:"3450",height:"2022"})})]}),"\n",(0,i.jsx)(n.h4,{id:"all-rows",children:"all-rows"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"all-rows: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string defines that all rows have the commands defined available for them to execute. The name of the string is arbitrary, but a good name for ",(0,i.jsx)(n.code,{children:"all-rows"}),' is "all-rows".']}),"\n",(0,i.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Tree."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,i.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,i.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,i.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,i.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,i.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This object defines how the ",(0,i.jsx)(n.code,{children:"queries"})," map to the ",(0,i.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,i.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string the ",(0,i.jsx)(n.code,{children:"id"})," for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,i.jsx)(n.code,{children:"columnNames"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Row Mapping Id",src:s(8301).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Tree shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),(0,i.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,i.jsx)(n.code,{children:'"{string}"'})]}),(0,i.jsxs)(n.p,{children:["An example is found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/treeLayouts.json#L18",children:"here"})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Column Names",src:s(1309).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n }[]\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This ",(0,i.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," for the subrows of the Tree."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["The ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," have the same data structure as ",(0,i.jsx)(n.code,{children:"rowMapping"})]})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},6883:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeCommands-15269913786a9f83221e9b530f2403a7.png"},3264:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treePath-05173d0b4de91cb625828391ecf493fa.png"},8301:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeRowMappingId-20ac0c02b7d37e9a6aae7a0d0d35d99a.png"},1309:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeRowMappingLabelFormat-c1fc92c3cac41f36f82c3c226b1ad8f1.png"},1151:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>a});var i=s(7294);const t={},r=i.createContext(t);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/349652a3.dcfb91a7.js b/assets/js/349652a3.dcfb91a7.js new file mode 100644 index 0000000..b9ac95d --- /dev/null +++ b/assets/js/349652a3.dcfb91a7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6081],{5888:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var i=s(5893),t=s(1151);const r={sidebar_position:3},a="Trees",o={id:"api-documentation/layouts/trees",title:"Trees",description:"Trees are created using React Arborist.",source:"@site/versioned_docs/version-0.1.0/api-documentation/layouts/trees.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/trees",permalink:"/oml-vision-docs/docs/api-documentation/layouts/trees",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/layouts/trees.md",tags:[],version:"0.1.0",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Tables",permalink:"/oml-vision-docs/docs/api-documentation/layouts/tables"},next:{title:"Diagrams",permalink:"/oml-vision-docs/docs/api-documentation/layouts/diagrams"}},d={},l=[{value:"Defining Tree",id:"defining-tree",level:2},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"diagrams",id:"diagrams",level:3},{value:"all-rows",id:"all-rows",level:4},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"subRowMappings",id:"subrowmappings",level:4}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"trees",children:"Trees"}),"\n",(0,i.jsxs)(n.p,{children:["Trees are created using ",(0,i.jsx)(n.a,{href:"https://github.com/brimdata/react-arborist",children:"React Arborist"}),"."]}),"\n",(0,i.jsx)(n.admonition,{title:"trees.json",type:"info",children:(0,i.jsxs)(n.p,{children:["Create a ",(0,i.jsx)(n.code,{children:"src/vision/layouts/trees.json"})," file (case-sensitive)"]})}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"src/vision/layouts/trees.json"})," file is responsible for:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Defining what OML Vision Trees can render","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Name of the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Commands that can be executed from the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Name of the columns for the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Queries that the Trees's content needs"}),"\n",(0,i.jsx)(n.li,{children:"How to map Tree queries to columns"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,i.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/treeLayouts.json",children:"here"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "requirements": {\n "name": "Requirements Diagram",\n "diagrams": {\n "all-rows": "requirements-diagram"\n },\n "queries": {\n "requirements": "requirements.sparql"\n },\n "rowMapping": {\n "id": "requirements",\n "name": "Requirements",\n "labelFormat": "{r_id}",\n "subRowMappings": [\n {\n "id": "requirements",\n "name": "Components",\n "labelFormat": "C Name: {c_name}"\n }\n ]\n }\n },\n "components": {\n "name": "Components",\n "diagrams": {\n "all-rows": "components-diagram"\n },\n "queries": {\n "components": "components.sparql"\n },\n "rowMapping": {\n "id": "components",\n "name": "Components",\n "labelFormat": "{c1_id} {c1_name}",\n "subRowMappings": [\n {\n "id": "components",\n "name": "Masses",\n "labelFormat": "{c1_mass}"\n }\n ]\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"defining-tree",children:"Defining Tree"}),"\n",(0,i.jsx)(n.p,{children:"A tree must be properly defined in order to be rendered by OML Vision"}),"\n",(0,i.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This string defines the path of the Tree."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The name of the ",(0,i.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,i.jsx)(n.code,{children:"pages.json"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Path",src:s(3264).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the Tree in the ",(0,i.jsx)(n.code,{children:"treeLayouts.json"})," file."]}),"\n",(0,i.jsx)(n.h3,{id:"diagrams",children:"diagrams"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"diagrams: {\n all-rows: string\n }\n"})})}),"\n",(0,i.jsx)(n.p,{children:"The diagrams object defines the commands that the Tree is able to execute."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"diagrams"})," correspond to the commands that appear when a user right clicks a row in the Tree."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Commands",src:s(6883).Z+"",width:"3450",height:"2022"})})]}),"\n",(0,i.jsx)(n.h4,{id:"all-rows",children:"all-rows"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"all-rows: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string defines that all rows have the commands defined available for them to execute. The name of the string is arbitrary, but a good name for ",(0,i.jsx)(n.code,{children:"all-rows"}),' is "all-rows".']}),"\n",(0,i.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Tree."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,i.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,i.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,i.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,i.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,i.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This object defines how the ",(0,i.jsx)(n.code,{children:"queries"})," map to the ",(0,i.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,i.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string the ",(0,i.jsx)(n.code,{children:"id"})," for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,i.jsx)(n.code,{children:"columnNames"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Row Mapping Id",src:s(8301).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Tree shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),(0,i.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,i.jsx)(n.code,{children:'"{string}"'})]}),(0,i.jsxs)(n.p,{children:["An example is found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/treeLayouts.json#L18",children:"here"})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Column Names",src:s(1309).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n }[]\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This ",(0,i.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," for the subrows of the Tree."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["The ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," have the same data structure as ",(0,i.jsx)(n.code,{children:"rowMapping"})]})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},6883:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeCommands-15269913786a9f83221e9b530f2403a7.png"},3264:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treePath-05173d0b4de91cb625828391ecf493fa.png"},8301:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeRowMappingId-20ac0c02b7d37e9a6aae7a0d0d35d99a.png"},1309:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeRowMappingLabelFormat-c1fc92c3cac41f36f82c3c226b1ad8f1.png"},1151:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>a});var i=s(7294);const t={},r=i.createContext(t);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/37e6acae.b46a2b68.js b/assets/js/37e6acae.b46a2b68.js deleted file mode 100644 index 6fa4f97..0000000 --- a/assets/js/37e6acae.b46a2b68.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2238],{994:s=>{s.exports=JSON.parse('{"permalink":"/changelog/tags/oml","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/393be207.5168ad81.js b/assets/js/393be207.5168ad81.js deleted file mode 100644 index 87000c7..0000000 --- a/assets/js/393be207.5168ad81.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[7414],{9386:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>r,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>i});var a=n(5893),o=n(1151);const s={title:"Markdown page example"},r="Markdown page example",c={type:"mdx",permalink:"/markdown-page",source:"@site/src/pages/markdown-page.md",title:"Markdown page example",description:"You don't need React to write simple standalone pages.",frontMatter:{title:"Markdown page example"},unlisted:!1},p={},i=[];function d(e){const t={h1:"h1",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h1,{id:"markdown-page-example",children:"Markdown page example"}),"\n",(0,a.jsx)(t.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>r});var a=n(7294);const o={},s=a.createContext(o);function r(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/393be207.d232847b.js b/assets/js/393be207.d232847b.js new file mode 100644 index 0000000..fe1c637 --- /dev/null +++ b/assets/js/393be207.d232847b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[7414],{9386:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>r,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>i});var o=n(5893),a=n(1151);const s={title:"Markdown page example"},r="Markdown page example",c={type:"mdx",permalink:"/oml-vision-docs/markdown-page",source:"@site/src/pages/markdown-page.md",title:"Markdown page example",description:"You don't need React to write simple standalone pages.",frontMatter:{title:"Markdown page example"},unlisted:!1},p={},i=[];function d(e){const t={h1:"h1",p:"p",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"markdown-page-example",children:"Markdown page example"}),"\n",(0,o.jsx)(t.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>r});var o=n(7294);const a={},s=o.createContext(a);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3daee859.271c9868.js b/assets/js/3daee859.271c9868.js new file mode 100644 index 0000000..670afbc --- /dev/null +++ b/assets/js/3daee859.271c9868.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[8180],{3570:(e,o,i)=>{i.r(o),i.d(o,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var t=i(5893),n=i(1151);const s={sidebar_position:6},r="Troubleshooting",a={id:"api-documentation/troubleshooting",title:"Troubleshooting",description:"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice.",source:"@site/docs/api-documentation/troubleshooting.md",sourceDirName:"api-documentation",slug:"/api-documentation/troubleshooting",permalink:"/oml-vision-docs/docs/next/api-documentation/troubleshooting",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/troubleshooting.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Gradle",permalink:"/oml-vision-docs/docs/next/api-documentation/gradle"}},c={},d=[{value:"Incorrect Java Version",id:"incorrect-java-version",level:2},{value:"Fuseki RDF Triplestore port already in use",id:"fuseki-rdf-triplestore-port-already-in-use",level:2},{value:"Windows",id:"windows",level:3},{value:"macOS",id:"macos",level:3}];function l(e){const o={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,t.jsx)(o.p,{children:"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice."}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://www.opencaesar.io/contributors/",children:"Contact Us"})}),"\n",(0,t.jsx)(o.admonition,{title:"FUESKI LOGS",type:"tip",children:(0,t.jsxs)(o.p,{children:["If using Fuseki for the RDF Triplestore, logs are usually created in the ",(0,t.jsx)(o.code,{children:".fuseki/fuseki.log"})," directory."]})}),"\n",(0,t.jsx)(o.h2,{id:"incorrect-java-version",children:"Incorrect Java Version"}),"\n",(0,t.jsx)(o.p,{children:"Some OML models may specify a specific version of Java. For example, the Kepler16b OML Model only supports Java 17 or higher."}),"\n",(0,t.jsx)(o.p,{children:"To fix this update Java to the correct version."}),"\n",(0,t.jsxs)(o.p,{children:["Helpful guide for updating Java version for Windows and macOS ",(0,t.jsx)(o.a,{href:"https://www.baeldung.com/java-home-on-windows-mac-os-x-linux",children:"here"})]}),"\n",(0,t.jsxs)(o.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,t.jsx)(o.p,{children:"Updating the Java version on macOS within VSCode may look like this."}),(0,t.jsx)(o.p,{children:(0,t.jsx)(o.img,{alt:"Correct Java Version",src:i(2999).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,t.jsx)(o.h2,{id:"fuseki-rdf-triplestore-port-already-in-use",children:"Fuseki RDF Triplestore port already in use"}),"\n",(0,t.jsxs)(o.p,{children:["By default, the Fuseki RDF triplestore uses port ",(0,t.jsx)(o.code,{children:"3030"}),". If this port is already in use, you will need to kill it in order for data to be loaded into the triplestore."]}),"\n",(0,t.jsxs)(o.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,t.jsxs)(o.p,{children:["Killing the ",(0,t.jsx)(o.code,{children:"3030"})," port using macOS within VSCode may look like this."]}),(0,t.jsx)(o.p,{children:(0,t.jsx)(o.img,{alt:"Kill Port in Use",src:i(1897).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,t.jsx)(o.h3,{id:"windows",children:"Windows"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.strong,{children:"Use port 3030"})}),"\n",(0,t.jsxs)(o.p,{children:["Follow this guide to kill a port on a Windows found ",(0,t.jsx)(o.a,{href:"https://sentry.io/answers/kill-process-using-port-in-windows/",children:"here"})]}),"\n",(0,t.jsx)(o.h3,{id:"macos",children:"macOS"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.strong,{children:"Use port 3030"})}),"\n",(0,t.jsxs)(o.p,{children:["Follow this guide to kill a port on a macOS found ",(0,t.jsx)(o.a,{href:"https://stackoverflow.com/questions/3855127/find-and-kill-process-locking-port-3000-on-mac",children:"here"})]})]})}function h(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},2999:(e,o,i)=>{i.d(o,{Z:()=>t});const t=i.p+"assets/images/correctJavaVersion-8bd8430447e83247b5e39ffe41e051c1.png"},1897:(e,o,i)=>{i.d(o,{Z:()=>t});const t=i.p+"assets/images/portAlreadyUsed-2b41650baaf0557e08a1d73ca785bd56.png"},1151:(e,o,i)=>{i.d(o,{Z:()=>a,a:()=>r});var t=i(7294);const n={},s=t.createContext(n);function r(e){const o=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),t.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3daee859.fe1e8316.js b/assets/js/3daee859.fe1e8316.js deleted file mode 100644 index 2dc3e0a..0000000 --- a/assets/js/3daee859.fe1e8316.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[8180],{3570:(e,o,i)=>{i.r(o),i.d(o,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var t=i(5893),n=i(1151);const s={sidebar_position:6},r="Troubleshooting",a={id:"api-documentation/troubleshooting",title:"Troubleshooting",description:"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice.",source:"@site/docs/api-documentation/troubleshooting.md",sourceDirName:"api-documentation",slug:"/api-documentation/troubleshooting",permalink:"/docs/next/api-documentation/troubleshooting",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/troubleshooting.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Gradle",permalink:"/docs/next/api-documentation/gradle"}},c={},d=[{value:"Incorrect Java Version",id:"incorrect-java-version",level:2},{value:"Fuseki RDF Triplestore port already in use",id:"fuseki-rdf-triplestore-port-already-in-use",level:2},{value:"Windows",id:"windows",level:3},{value:"macOS",id:"macos",level:3}];function l(e){const o={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,t.jsx)(o.p,{children:"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice."}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://www.opencaesar.io/contributors/",children:"Contact Us"})}),"\n",(0,t.jsx)(o.admonition,{title:"FUESKI LOGS",type:"tip",children:(0,t.jsxs)(o.p,{children:["If using Fuseki for the RDF Triplestore, logs are usually created in the ",(0,t.jsx)(o.code,{children:".fuseki/fuseki.log"})," directory."]})}),"\n",(0,t.jsx)(o.h2,{id:"incorrect-java-version",children:"Incorrect Java Version"}),"\n",(0,t.jsx)(o.p,{children:"Some OML models may specify a specific version of Java. For example, the Kepler16b OML Model only supports Java 17 or higher."}),"\n",(0,t.jsx)(o.p,{children:"To fix this update Java to the correct version."}),"\n",(0,t.jsxs)(o.p,{children:["Helpful guide for updating Java version for Windows and macOS ",(0,t.jsx)(o.a,{href:"https://www.baeldung.com/java-home-on-windows-mac-os-x-linux",children:"here"})]}),"\n",(0,t.jsxs)(o.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,t.jsx)(o.p,{children:"Updating the Java version on macOS within VSCode may look like this."}),(0,t.jsx)(o.p,{children:(0,t.jsx)(o.img,{alt:"Correct Java Version",src:i(2999).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,t.jsx)(o.h2,{id:"fuseki-rdf-triplestore-port-already-in-use",children:"Fuseki RDF Triplestore port already in use"}),"\n",(0,t.jsxs)(o.p,{children:["By default, the Fuseki RDF triplestore uses port ",(0,t.jsx)(o.code,{children:"3030"}),". If this port is already in use, you will need to kill it in order for data to be loaded into the triplestore."]}),"\n",(0,t.jsxs)(o.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,t.jsxs)(o.p,{children:["Killing the ",(0,t.jsx)(o.code,{children:"3030"})," port using macOS within VSCode may look like this."]}),(0,t.jsx)(o.p,{children:(0,t.jsx)(o.img,{alt:"Kill Port in Use",src:i(1897).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,t.jsx)(o.h3,{id:"windows",children:"Windows"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.strong,{children:"Use port 3030"})}),"\n",(0,t.jsxs)(o.p,{children:["Follow this guide to kill a port on a Windows found ",(0,t.jsx)(o.a,{href:"https://sentry.io/answers/kill-process-using-port-in-windows/",children:"here"})]}),"\n",(0,t.jsx)(o.h3,{id:"macos",children:"macOS"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.strong,{children:"Use port 3030"})}),"\n",(0,t.jsxs)(o.p,{children:["Follow this guide to kill a port on a macOS found ",(0,t.jsx)(o.a,{href:"https://stackoverflow.com/questions/3855127/find-and-kill-process-locking-port-3000-on-mac",children:"here"})]})]})}function h(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},2999:(e,o,i)=>{i.d(o,{Z:()=>t});const t=i.p+"assets/images/correctJavaVersion-8bd8430447e83247b5e39ffe41e051c1.png"},1897:(e,o,i)=>{i.d(o,{Z:()=>t});const t=i.p+"assets/images/portAlreadyUsed-2b41650baaf0557e08a1d73ca785bd56.png"},1151:(e,o,i)=>{i.d(o,{Z:()=>a,a:()=>r});var t=i(7294);const n={},s=t.createContext(n);function r(e){const o=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),t.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43c5dbc0.2380a267.js b/assets/js/43c5dbc0.2380a267.js deleted file mode 100644 index d5b838d..0000000 --- a/assets/js/43c5dbc0.2380a267.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6190],{41:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var i=s(5893),t=s(1151);const a={sidebar_position:2},l="Tables",o={id:"api-documentation/layouts/tables",title:"Tables",description:"Tables are created using tanstack table.",source:"@site/versioned_docs/version-0.1.0/api-documentation/layouts/tables.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/tables",permalink:"/docs/api-documentation/layouts/tables",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/layouts/tables.md",tags:[],version:"0.1.0",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Pages",permalink:"/docs/api-documentation/layouts/pages"},next:{title:"Trees",permalink:"/docs/api-documentation/layouts/trees"}},r={},d=[{value:"Defining Table",id:"defining-table",level:2},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"diagrams",id:"diagrams",level:3},{value:"all-rows",id:"all-rows",level:4},{value:"columnNames",id:"columnnames",level:3},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"subRowMappings",id:"subrowmappings",level:4}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"tables",children:"Tables"}),"\n",(0,i.jsxs)(n.p,{children:["Tables are created using ",(0,i.jsx)(n.a,{href:"https://tanstack.com/table/v8",children:"tanstack table"}),"."]}),"\n",(0,i.jsx)(n.admonition,{title:"tables.json",type:"info",children:(0,i.jsxs)(n.p,{children:["Create a ",(0,i.jsx)(n.code,{children:"src/vision/layouts/tables.json"})," file (case-sensitive)"]})}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"src/vision/layouts/tables.json"})," file is responsible for:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Defining what OML Vision Tables can render","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Name of the Table"}),"\n",(0,i.jsx)(n.li,{children:"Commands that can be executed from the Table"}),"\n",(0,i.jsx)(n.li,{children:"Name of the columns for the Table"}),"\n",(0,i.jsx)(n.li,{children:"Queries that the Table's content needs"}),"\n",(0,i.jsx)(n.li,{children:"How to map Table queries to columns"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,i.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/tableLayouts.json",children:"here"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "objectives": {\n "name": "Objectives",\n "diagrams": {\n "all-rows": "objectives-diagram"\n },\n "columnNames": {\n "o1_id": "Objective 1 ID",\n "o1_name": "Objective 1 Name",\n "o2_id": "Objective 2 ID",\n "o2_name": "Objective 2 Name"\n },\n "queries": {\n "o1_id": "objectives.sparql",\n "o1_name": "objectives.sparql",\n "o2_id": "objectives.sparql",\n "o2_name": "objectives.sparql"\n },\n "rowMapping": {\n "id": "o1_id",\n "name": "Objectives",\n "labelFormat": "Objective"\n }\n },\n "connections": {\n "name": "Connections",\n "diagrams": {\n "all-rows": "connections-diagram"\n },\n "columnNames": {\n "c1_name": "Connection 1 Name",\n "c2_name": "Connection 2 Name"\n },\n "queries": {\n "c1_name": "connections.sparql",\n "c2_name": "connections.sparql"\n },\n "rowMapping": {\n "id": "c1_name",\n "name": "Connections",\n "labelFormat": "Connection"\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"defining-table",children:"Defining Table"}),"\n",(0,i.jsx)(n.p,{children:"A table must be properly defined in order to be rendered by OML Vision"}),"\n",(0,i.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This string defines the path of the Table."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The name of the ",(0,i.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,i.jsx)(n.code,{children:"pages.json"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Path",src:s(9690).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the table in the ",(0,i.jsx)(n.code,{children:"tableLayouts.json"})," file."]}),"\n",(0,i.jsx)(n.h3,{id:"diagrams",children:"diagrams"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"diagrams: {\n all-rows: string\n }\n"})})}),"\n",(0,i.jsx)(n.p,{children:"The diagrams object defines the commands that the Table is able to execute."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"diagrams"})," correspond to the commands that appear when a user right clicks a row in the Table."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Commands",src:s(420).Z+"",width:"3444",height:"2022"})})]}),"\n",(0,i.jsx)(n.h4,{id:"all-rows",children:"all-rows"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"all-rows: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string defines that all rows have the commands defined available for them to execute. The name of the string is arbitrary, but a good name for ",(0,i.jsx)(n.code,{children:"all-rows"}),' is "all-rows".']}),"\n",(0,i.jsx)(n.h3,{id:"columnnames",children:"columnNames"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"columnNames: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the columns that will render on the Table."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"columnNames"})," are rendered in the headers of the Table shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Column Names",src:s(8961).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Table."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,i.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,i.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,i.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,i.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,i.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This object defines how the ",(0,i.jsx)(n.code,{children:"queries"})," map to the ",(0,i.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,i.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string the ",(0,i.jsx)(n.code,{children:"id"})," for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,i.jsx)(n.code,{children:"columnNames"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Row Mapping Id",src:s(5169).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Table shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Column Names",src:s(5047).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsxs)(n.admonition,{title:"STRING INTERPOLATION",type:"tip",children:[(0,i.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,i.jsx)(n.code,{children:'"{string}"'})]}),(0,i.jsxs)(n.p,{children:["An example is found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/tableLayouts.json#L25",children:"here"})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table String Interpolation",src:s(4252).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n }[]\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This ",(0,i.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," for the subrows of the Table."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["The ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," have the same data structure as ",(0,i.jsx)(n.code,{children:"rowMapping"})]})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8961:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableColumnNames-46ed838d0deddf6c0074aa95f649f87e.png"},420:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableCommands-b2fd2e043d809d20bbe41ecc6283b0bc.png"},9690:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tablePath-96df27598d20e4e89c67dbb7489bf477.png"},5169:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableRowMappingId-4eec3ca1a8fd69a8a4015943bb239399.png"},5047:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableRowMappingLabelFormat-8e0d847533335a460d766dd65e0373a9.png"},4252:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableStringInterpolation-2ee7030fc74a45e2750866858ed1b512.png"},1151:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>l});var i=s(7294);const t={},a=i.createContext(t);function l(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43c5dbc0.9ba55306.js b/assets/js/43c5dbc0.9ba55306.js new file mode 100644 index 0000000..7b327b6 --- /dev/null +++ b/assets/js/43c5dbc0.9ba55306.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6190],{41:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var i=s(5893),t=s(1151);const a={sidebar_position:2},o="Tables",l={id:"api-documentation/layouts/tables",title:"Tables",description:"Tables are created using tanstack table.",source:"@site/versioned_docs/version-0.1.0/api-documentation/layouts/tables.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/tables",permalink:"/oml-vision-docs/docs/api-documentation/layouts/tables",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/layouts/tables.md",tags:[],version:"0.1.0",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Pages",permalink:"/oml-vision-docs/docs/api-documentation/layouts/pages"},next:{title:"Trees",permalink:"/oml-vision-docs/docs/api-documentation/layouts/trees"}},r={},d=[{value:"Defining Table",id:"defining-table",level:2},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"diagrams",id:"diagrams",level:3},{value:"all-rows",id:"all-rows",level:4},{value:"columnNames",id:"columnnames",level:3},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"subRowMappings",id:"subrowmappings",level:4}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"tables",children:"Tables"}),"\n",(0,i.jsxs)(n.p,{children:["Tables are created using ",(0,i.jsx)(n.a,{href:"https://tanstack.com/table/v8",children:"tanstack table"}),"."]}),"\n",(0,i.jsx)(n.admonition,{title:"tables.json",type:"info",children:(0,i.jsxs)(n.p,{children:["Create a ",(0,i.jsx)(n.code,{children:"src/vision/layouts/tables.json"})," file (case-sensitive)"]})}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"src/vision/layouts/tables.json"})," file is responsible for:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Defining what OML Vision Tables can render","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Name of the Table"}),"\n",(0,i.jsx)(n.li,{children:"Commands that can be executed from the Table"}),"\n",(0,i.jsx)(n.li,{children:"Name of the columns for the Table"}),"\n",(0,i.jsx)(n.li,{children:"Queries that the Table's content needs"}),"\n",(0,i.jsx)(n.li,{children:"How to map Table queries to columns"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,i.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/tableLayouts.json",children:"here"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "objectives": {\n "name": "Objectives",\n "diagrams": {\n "all-rows": "objectives-diagram"\n },\n "columnNames": {\n "o1_id": "Objective 1 ID",\n "o1_name": "Objective 1 Name",\n "o2_id": "Objective 2 ID",\n "o2_name": "Objective 2 Name"\n },\n "queries": {\n "o1_id": "objectives.sparql",\n "o1_name": "objectives.sparql",\n "o2_id": "objectives.sparql",\n "o2_name": "objectives.sparql"\n },\n "rowMapping": {\n "id": "o1_id",\n "name": "Objectives",\n "labelFormat": "Objective"\n }\n },\n "connections": {\n "name": "Connections",\n "diagrams": {\n "all-rows": "connections-diagram"\n },\n "columnNames": {\n "c1_name": "Connection 1 Name",\n "c2_name": "Connection 2 Name"\n },\n "queries": {\n "c1_name": "connections.sparql",\n "c2_name": "connections.sparql"\n },\n "rowMapping": {\n "id": "c1_name",\n "name": "Connections",\n "labelFormat": "Connection"\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"defining-table",children:"Defining Table"}),"\n",(0,i.jsx)(n.p,{children:"A table must be properly defined in order to be rendered by OML Vision"}),"\n",(0,i.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This string defines the path of the Table."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The name of the ",(0,i.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,i.jsx)(n.code,{children:"pages.json"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Path",src:s(9690).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the table in the ",(0,i.jsx)(n.code,{children:"tableLayouts.json"})," file."]}),"\n",(0,i.jsx)(n.h3,{id:"diagrams",children:"diagrams"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"diagrams: {\n all-rows: string\n }\n"})})}),"\n",(0,i.jsx)(n.p,{children:"The diagrams object defines the commands that the Table is able to execute."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"diagrams"})," correspond to the commands that appear when a user right clicks a row in the Table."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Commands",src:s(420).Z+"",width:"3444",height:"2022"})})]}),"\n",(0,i.jsx)(n.h4,{id:"all-rows",children:"all-rows"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"all-rows: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string defines that all rows have the commands defined available for them to execute. The name of the string is arbitrary, but a good name for ",(0,i.jsx)(n.code,{children:"all-rows"}),' is "all-rows".']}),"\n",(0,i.jsx)(n.h3,{id:"columnnames",children:"columnNames"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"columnNames: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the columns that will render on the Table."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"columnNames"})," are rendered in the headers of the Table shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Column Names",src:s(8961).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Table."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,i.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,i.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,i.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,i.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,i.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This object defines how the ",(0,i.jsx)(n.code,{children:"queries"})," map to the ",(0,i.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,i.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string the ",(0,i.jsx)(n.code,{children:"id"})," for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,i.jsx)(n.code,{children:"columnNames"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Row Mapping Id",src:s(5169).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Table shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table Column Names",src:s(5047).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsxs)(n.admonition,{title:"STRING INTERPOLATION",type:"tip",children:[(0,i.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,i.jsx)(n.code,{children:'"{string}"'})]}),(0,i.jsxs)(n.p,{children:["An example is found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/tableLayouts.json#L25",children:"here"})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Table String Interpolation",src:s(4252).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n }[]\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This ",(0,i.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," for the subrows of the Table."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["The ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," have the same data structure as ",(0,i.jsx)(n.code,{children:"rowMapping"})]})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8961:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableColumnNames-46ed838d0deddf6c0074aa95f649f87e.png"},420:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableCommands-b2fd2e043d809d20bbe41ecc6283b0bc.png"},9690:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tablePath-96df27598d20e4e89c67dbb7489bf477.png"},5169:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableRowMappingId-4eec3ca1a8fd69a8a4015943bb239399.png"},5047:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableRowMappingLabelFormat-8e0d847533335a460d766dd65e0373a9.png"},4252:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/tableStringInterpolation-2ee7030fc74a45e2750866858ed1b512.png"},1151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>o});var i=s(7294);const t={},a=i.createContext(t);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43ee3bee.927e8c80.js b/assets/js/43ee3bee.927e8c80.js new file mode 100644 index 0000000..735da92 --- /dev/null +++ b/assets/js/43ee3bee.927e8c80.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[5881],{6591:s=>{s.exports=JSON.parse('[{"label":"oml","permalink":"/oml-vision-docs/changelog/tags/oml","count":1},{"label":"vscode","permalink":"/oml-vision-docs/changelog/tags/vscode","count":1}]')}}]); \ No newline at end of file diff --git a/assets/js/440e78b6.3e043da5.js b/assets/js/440e78b6.3e043da5.js new file mode 100644 index 0000000..76ebf38 --- /dev/null +++ b/assets/js/440e78b6.3e043da5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6856],{6369:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var t=n(5893),o=n(1151);const r={sidebar_position:1},s="Required Directories",c={id:"api-documentation/required-directories",title:"Required Directories",description:"Config",source:"@site/docs/api-documentation/required-directories.md",sourceDirName:"api-documentation",slug:"/api-documentation/required-directories",permalink:"/oml-vision-docs/docs/next/api-documentation/required-directories",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/required-directories.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"API Documentation",permalink:"/oml-vision-docs/docs/next/category/api-documentation"},next:{title:"Config",permalink:"/oml-vision-docs/docs/next/api-documentation/config"}},d={},a=[{value:"Config",id:"config",level:2},{value:"Layouts",id:"layouts",level:2},{value:"Sparql",id:"sparql",level:2}];function l(e){const i={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.h1,{id:"required-directories",children:"Required Directories"}),"\n",(0,t.jsx)(i.h2,{id:"config",children:"Config"}),"\n",(0,t.jsxs)(i.p,{children:["Create a ",(0,t.jsx)(i.code,{children:"src/vision/config"})," directory"]}),"\n",(0,t.jsxs)(i.p,{children:["It contains the configuration for the update and query API endpoint for the in-memory ",(0,t.jsx)(i.a,{href:"https://jena.apache.org/documentation/fuseki2/",children:"Fuseki"})," RDF triplestore."]}),"\n",(0,t.jsxs)(i.p,{children:["Detailed information about the config directory can be found ",(0,t.jsx)(i.a,{href:"/docs/api-documentation/config",children:"here"})]}),"\n",(0,t.jsx)(i.h2,{id:"layouts",children:"Layouts"}),"\n",(0,t.jsxs)(i.p,{children:["Create a ",(0,t.jsx)(i.code,{children:"src/vision/layouts"})," directory"]}),"\n",(0,t.jsx)(i.p,{children:"It contains the specification needed for OML Vision to format the different views (i.e. Table, Tree, Diagram, etc.) that are rendered by the extension."}),"\n",(0,t.jsxs)(i.p,{children:["Detailed information about the layouts directory can be found ",(0,t.jsx)(i.a,{href:"/docs/category/layouts",children:"here"})]}),"\n",(0,t.jsx)(i.h2,{id:"sparql",children:"Sparql"}),"\n",(0,t.jsxs)(i.p,{children:["Create a ",(0,t.jsx)(i.code,{children:"src/vision/sparql"})," directory"]}),"\n",(0,t.jsx)(i.p,{children:"It contains the definitions for the updates and queries that will be sent to the in-memory RDF triplestore."}),"\n",(0,t.jsxs)(i.p,{children:["Detailed information about the config directory can be found ",(0,t.jsx)(i.a,{href:"/docs/api-documentation/sparql",children:"here"})]}),"\n",(0,t.jsxs)(i.admonition,{title:"Required Directories",type:"danger",children:[(0,t.jsx)(i.p,{children:"The following directories are required for OML Vision to work properly."}),(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.code,{children:"src/vision/config"})}),"\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.code,{children:"src/vision/layouts"})}),"\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.code,{children:"src/vision/sparql"})}),"\n"]}),(0,t.jsxs)(i.p,{children:["An error like this will occur without those directories\n",(0,t.jsx)(i.img,{alt:"No Required Directories",src:n(1283).Z+"",width:"3680",height:"2252"})]})]})]})}function u(e={}){const{wrapper:i}={...(0,o.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},1283:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/noRequiredDirectories-44af703fe210860dcec6bf51862fccd5.png"},1151:(e,i,n)=>{n.d(i,{Z:()=>c,a:()=>s});var t=n(7294);const o={},r=t.createContext(o);function s(e){const i=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),t.createElement(r.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/440e78b6.7d47adf8.js b/assets/js/440e78b6.7d47adf8.js deleted file mode 100644 index 055c232..0000000 --- a/assets/js/440e78b6.7d47adf8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6856],{6369:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var t=n(5893),r=n(1151);const o={sidebar_position:1},s="Required Directories",c={id:"api-documentation/required-directories",title:"Required Directories",description:"Config",source:"@site/docs/api-documentation/required-directories.md",sourceDirName:"api-documentation",slug:"/api-documentation/required-directories",permalink:"/docs/next/api-documentation/required-directories",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/required-directories.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"API Documentation",permalink:"/docs/next/category/api-documentation"},next:{title:"Config",permalink:"/docs/next/api-documentation/config"}},d={},a=[{value:"Config",id:"config",level:2},{value:"Layouts",id:"layouts",level:2},{value:"Sparql",id:"sparql",level:2}];function l(e){const i={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.h1,{id:"required-directories",children:"Required Directories"}),"\n",(0,t.jsx)(i.h2,{id:"config",children:"Config"}),"\n",(0,t.jsxs)(i.p,{children:["Create a ",(0,t.jsx)(i.code,{children:"src/vision/config"})," directory"]}),"\n",(0,t.jsxs)(i.p,{children:["It contains the configuration for the update and query API endpoint for the in-memory ",(0,t.jsx)(i.a,{href:"https://jena.apache.org/documentation/fuseki2/",children:"Fuseki"})," RDF triplestore."]}),"\n",(0,t.jsxs)(i.p,{children:["Detailed information about the config directory can be found ",(0,t.jsx)(i.a,{href:"/docs/api-documentation/config",children:"here"})]}),"\n",(0,t.jsx)(i.h2,{id:"layouts",children:"Layouts"}),"\n",(0,t.jsxs)(i.p,{children:["Create a ",(0,t.jsx)(i.code,{children:"src/vision/layouts"})," directory"]}),"\n",(0,t.jsx)(i.p,{children:"It contains the specification needed for OML Vision to format the different views (i.e. Table, Tree, Diagram, etc.) that are rendered by the extension."}),"\n",(0,t.jsxs)(i.p,{children:["Detailed information about the layouts directory can be found ",(0,t.jsx)(i.a,{href:"/docs/category/layouts",children:"here"})]}),"\n",(0,t.jsx)(i.h2,{id:"sparql",children:"Sparql"}),"\n",(0,t.jsxs)(i.p,{children:["Create a ",(0,t.jsx)(i.code,{children:"src/vision/sparql"})," directory"]}),"\n",(0,t.jsx)(i.p,{children:"It contains the definitions for the updates and queries that will be sent to the in-memory RDF triplestore."}),"\n",(0,t.jsxs)(i.p,{children:["Detailed information about the config directory can be found ",(0,t.jsx)(i.a,{href:"/docs/api-documentation/sparql",children:"here"})]}),"\n",(0,t.jsxs)(i.admonition,{title:"Required Directories",type:"danger",children:[(0,t.jsx)(i.p,{children:"The following directories are required for OML Vision to work properly."}),(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.code,{children:"src/vision/config"})}),"\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.code,{children:"src/vision/layouts"})}),"\n",(0,t.jsx)(i.li,{children:(0,t.jsx)(i.code,{children:"src/vision/sparql"})}),"\n"]}),(0,t.jsxs)(i.p,{children:["An error like this will occur without those directories\n",(0,t.jsx)(i.img,{alt:"No Required Directories",src:n(1283).Z+"",width:"3680",height:"2252"})]})]})]})}function u(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},1283:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/noRequiredDirectories-44af703fe210860dcec6bf51862fccd5.png"},1151:(e,i,n)=>{n.d(i,{Z:()=>c,a:()=>s});var t=n(7294);const r={},o=t.createContext(r);function s(e){const i=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4bc61731.83b35a7e.js b/assets/js/4bc61731.83b35a7e.js new file mode 100644 index 0000000..bb7b5b6 --- /dev/null +++ b/assets/js/4bc61731.83b35a7e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2759],{6051:i=>{i.exports=JSON.parse('{"title":"API Documentation","description":"API documentation for OML Vision.","slug":"/category/api-documentation","permalink":"/oml-vision-docs/docs/category/api-documentation","navigation":{"previous":{"title":"Get Started","permalink":"/oml-vision-docs/docs/intro"},"next":{"title":"Required Directories","permalink":"/oml-vision-docs/docs/api-documentation/required-directories"}}}')}}]); \ No newline at end of file diff --git a/assets/js/4c523d18.3a5674a1.js b/assets/js/4c523d18.3a5674a1.js new file mode 100644 index 0000000..894b294 --- /dev/null +++ b/assets/js/4c523d18.3a5674a1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[590],{4642:s=>{s.exports=JSON.parse('{"label":"vscode","permalink":"/oml-vision-docs/changelog/tags/vscode","allTagsPath":"/oml-vision-docs/changelog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/5710d44f.bbb30a26.js b/assets/js/5710d44f.bbb30a26.js new file mode 100644 index 0000000..0878904 --- /dev/null +++ b/assets/js/5710d44f.bbb30a26.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[7678],{7969:s=>{s.exports=JSON.parse('{"title":"Layouts","description":"API documentation for layouts within OML Vision.","slug":"/category/layouts","permalink":"/oml-vision-docs/docs/category/layouts","navigation":{"previous":{"title":"Config","permalink":"/oml-vision-docs/docs/api-documentation/config"},"next":{"title":"Pages","permalink":"/oml-vision-docs/docs/api-documentation/layouts/pages"}}}')}}]); \ No newline at end of file diff --git a/assets/js/5812883c.1ac6d445.js b/assets/js/5812883c.1ac6d445.js deleted file mode 100644 index 31ec6a1..0000000 --- a/assets/js/5812883c.1ac6d445.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[5601],{6665:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var o=r(5893),s=r(1151);const i={sidebar_position:4},n="Sparql",a={id:"api-documentation/sparql",title:"Sparql",description:"SPARQL is the main query language that is used to query the RDF triplestore.",source:"@site/versioned_docs/version-0.1.0/api-documentation/sparql.md",sourceDirName:"api-documentation",slug:"/api-documentation/sparql",permalink:"/docs/api-documentation/sparql",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/sparql.md",tags:[],version:"0.1.0",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Diagrams",permalink:"/docs/api-documentation/layouts/diagrams"},next:{title:"Gradle",permalink:"/docs/api-documentation/gradle"}},c={},l=[{value:"Formatting Query",id:"formatting-query",level:2},{value:"Fuseki Web User Interface",id:"fuseki-web-user-interface",level:3},{value:"SPARQL Notebooks",id:"sparql-notebooks",level:3}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"sparql",children:"Sparql"}),"\n",(0,o.jsx)(t.p,{children:"SPARQL is the main query language that is used to query the RDF triplestore."}),"\n",(0,o.jsxs)(t.p,{children:["Examples of correctly formatted ",(0,o.jsx)(t.code,{children:"sparql"})," directory for OML Vision are found here:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://github.com/pogi7/kepler16b-example/tree/main/src/vision/sparql",children:"Kepler16b sparql directory"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://github.com/UTNAK/open-source-rover/tree/main/src/vision/sparql",children:"Open Source Rover sparql directory"})}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["You can read more about SPARQL ",(0,o.jsx)(t.a,{href:"https://www.ontotext.com/knowledgehub/fundamentals/what-is-sparql/",children:"here"})]}),"\n",(0,o.jsx)(t.h2,{id:"formatting-query",children:"Formatting Query"}),"\n",(0,o.jsx)(t.p,{children:"There are several ways to correctly format a SPARQL query."}),"\n",(0,o.jsxs)(t.p,{children:["Once the SPARQL query is correctly formatted create a file for the query and place it in the ",(0,o.jsx)(t.code,{children:"src/vision/sparql"})," directory."]}),"\n",(0,o.jsx)(t.h3,{id:"fuseki-web-user-interface",children:"Fuseki Web User Interface"}),"\n",(0,o.jsx)(t.p,{children:"Fuseki's RDF triplestore has a convenient way to format queries using their web user interface."}),"\n",(0,o.jsxs)(t.admonition,{title:"FUSEKI",type:"tip",children:[(0,o.jsxs)(t.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,o.jsx)(t.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,o.jsxs)(t.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,o.jsx)(t.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,o.jsx)(t.h3,{id:"sparql-notebooks",children:"SPARQL Notebooks"}),"\n",(0,o.jsxs)(t.p,{children:["If you feel comfortable working with notebooks you can use SPARQL Notebooks to format queries. You can read more about SPARQL notebooks ",(0,o.jsx)(t.a,{href:"https://marketplace.visualstudio.com/items?itemName=Zazuko.sparql-notebook",children:"here"})]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>n});var o=r(7294);const s={},i=o.createContext(s);function n(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5812883c.a5f37f4b.js b/assets/js/5812883c.a5f37f4b.js new file mode 100644 index 0000000..03a594e --- /dev/null +++ b/assets/js/5812883c.a5f37f4b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[5601],{6665:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=o(5893),s=o(1151);const i={sidebar_position:4},n="Sparql",a={id:"api-documentation/sparql",title:"Sparql",description:"SPARQL is the main query language that is used to query the RDF triplestore.",source:"@site/versioned_docs/version-0.1.0/api-documentation/sparql.md",sourceDirName:"api-documentation",slug:"/api-documentation/sparql",permalink:"/oml-vision-docs/docs/api-documentation/sparql",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/sparql.md",tags:[],version:"0.1.0",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Diagrams",permalink:"/oml-vision-docs/docs/api-documentation/layouts/diagrams"},next:{title:"Gradle",permalink:"/oml-vision-docs/docs/api-documentation/gradle"}},c={},l=[{value:"Formatting Query",id:"formatting-query",level:2},{value:"Fuseki Web User Interface",id:"fuseki-web-user-interface",level:3},{value:"SPARQL Notebooks",id:"sparql-notebooks",level:3}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"sparql",children:"Sparql"}),"\n",(0,r.jsx)(t.p,{children:"SPARQL is the main query language that is used to query the RDF triplestore."}),"\n",(0,r.jsxs)(t.p,{children:["Examples of correctly formatted ",(0,r.jsx)(t.code,{children:"sparql"})," directory for OML Vision are found here:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://github.com/pogi7/kepler16b-example/tree/main/src/vision/sparql",children:"Kepler16b sparql directory"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://github.com/UTNAK/open-source-rover/tree/main/src/vision/sparql",children:"Open Source Rover sparql directory"})}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["You can read more about SPARQL ",(0,r.jsx)(t.a,{href:"https://www.ontotext.com/knowledgehub/fundamentals/what-is-sparql/",children:"here"})]}),"\n",(0,r.jsx)(t.h2,{id:"formatting-query",children:"Formatting Query"}),"\n",(0,r.jsx)(t.p,{children:"There are several ways to correctly format a SPARQL query."}),"\n",(0,r.jsxs)(t.p,{children:["Once the SPARQL query is correctly formatted create a file for the query and place it in the ",(0,r.jsx)(t.code,{children:"src/vision/sparql"})," directory."]}),"\n",(0,r.jsx)(t.h3,{id:"fuseki-web-user-interface",children:"Fuseki Web User Interface"}),"\n",(0,r.jsx)(t.p,{children:"Fuseki's RDF triplestore has a convenient way to format queries using their web user interface."}),"\n",(0,r.jsxs)(t.admonition,{title:"FUSEKI",type:"tip",children:[(0,r.jsxs)(t.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,r.jsx)(t.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,r.jsxs)(t.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,r.jsx)(t.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,r.jsx)(t.h3,{id:"sparql-notebooks",children:"SPARQL Notebooks"}),"\n",(0,r.jsxs)(t.p,{children:["If you feel comfortable working with notebooks you can use SPARQL Notebooks to format queries. You can read more about SPARQL notebooks ",(0,r.jsx)(t.a,{href:"https://marketplace.visualstudio.com/items?itemName=Zazuko.sparql-notebook",children:"here"})]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},1151:(e,t,o)=>{o.d(t,{Z:()=>a,a:()=>n});var r=o(7294);const s={},i=r.createContext(s);function n(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/586c2912.d43c9741.js b/assets/js/586c2912.d43c9741.js deleted file mode 100644 index 2b2ff52..0000000 --- a/assets/js/586c2912.d43c9741.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[5336],{433:s=>{s.exports=JSON.parse('[{"label":"oml","permalink":"/changelog/tags/oml","count":1},{"label":"vscode","permalink":"/changelog/tags/vscode","count":1}]')}}]); \ No newline at end of file diff --git a/assets/js/5af17f6a.2bd27409.js b/assets/js/5af17f6a.2bd27409.js new file mode 100644 index 0000000..bd939e1 --- /dev/null +++ b/assets/js/5af17f6a.2bd27409.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2340],{9581:s=>{s.exports=JSON.parse('{"permalink":"/oml-vision-docs/changelog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/5b467d01.61195472.js b/assets/js/5b467d01.61195472.js deleted file mode 100644 index bb32f31..0000000 --- a/assets/js/5b467d01.61195472.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[1782],{581:s=>{s.exports=JSON.parse('{"title":"Layouts","description":"API documentation for layouts within OML Vision.","slug":"/category/layouts","permalink":"/docs/category/layouts","navigation":{"previous":{"title":"Config","permalink":"/docs/api-documentation/config"},"next":{"title":"Pages","permalink":"/docs/api-documentation/layouts/pages"}}}')}}]); \ No newline at end of file diff --git a/assets/js/5c815109.15d9be60.js b/assets/js/5c815109.15d9be60.js new file mode 100644 index 0000000..fa9d63f --- /dev/null +++ b/assets/js/5c815109.15d9be60.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2874],{1326:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var s=i(5893),t=i(1151);const o={sidebar_position:5},r="Gradle",l={id:"api-documentation/gradle",title:"Gradle",description:"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model.",source:"@site/docs/api-documentation/gradle.md",sourceDirName:"api-documentation",slug:"/api-documentation/gradle",permalink:"/oml-vision-docs/docs/next/api-documentation/gradle",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/gradle.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Sparql",permalink:"/oml-vision-docs/docs/next/api-documentation/sparql"},next:{title:"Troubleshooting",permalink:"/oml-vision-docs/docs/next/api-documentation/troubleshooting"}},d={},a=[{value:"Build",id:"build",level:2},{value:"Tasks",id:"tasks",level:2},{value:"Vision Group",id:"vision-group",level:3},{value:"Running Tasks",id:"running-tasks",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"gradle",children:"Gradle"}),"\n",(0,s.jsx)(n.p,{children:"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model."}),"\n",(0,s.jsxs)(n.admonition,{title:"Gradle for Java VSCode Extension",type:"danger",children:[(0,s.jsxs)(n.p,{children:["OML Vision requires the ",(0,s.jsx)(n.a,{href:"https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-gradle",children:"Gradle for Java"})," VSCode extension."]}),(0,s.jsxs)(n.p,{children:["Read more installation instructions ",(0,s.jsx)(n.a,{href:"docs/intro#what-youll-need",children:"here"})]})]}),"\n",(0,s.jsx)(n.h2,{id:"build",children:"Build"}),"\n",(0,s.jsx)(n.admonition,{title:"build.gradle",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"build.gradle"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["In OML Vision, the ",(0,s.jsx)(n.code,{children:"build.gradle"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Defining tasks to run in OML Vision"}),"\n",(0,s.jsxs)(n.li,{children:["Listens on the ",(0,s.jsx)(n.code,{children:"build.gradle"})," file for any changes."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Examples of correctly formatted ",(0,s.jsx)(n.code,{children:"build.gradle"})," files for OML Vision are found here:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"Kepler16b build.gradle"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/build.gradle",children:"Open Source Rover build.gradle"})}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You can read more about ",(0,s.jsx)(n.code,{children:"build.gradle"})," files ",(0,s.jsx)(n.a,{href:"https://docs.gradle.org/current/userguide/build_file_basics.html",children:"here"})]}),"\n",(0,s.jsx)(n.h2,{id:"tasks",children:"Tasks"}),"\n",(0,s.jsx)(n.p,{children:"A task in Gradle refers to some command or program that Gradle executes."}),"\n",(0,s.jsx)(n.p,{children:"Generally OML Vision only requires 5 tasks:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"clean (Removes build folder)"}),"\n",(0,s.jsx)(n.li,{children:"build (Constructs OWL and OML files)"}),"\n",(0,s.jsx)(n.li,{children:"startFuseki (starts RDF triplestore)"}),"\n",(0,s.jsx)(n.li,{children:"owlLoad (Loads OWL data into RDF triplestore)"}),"\n",(0,s.jsx)(n.li,{children:"stopFuseki (stops RDF triplestore)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"vision-group",children:"Vision Group"}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision is asynchronously listening in the ",(0,s.jsx)(n.code,{children:"build.gradle"})," for any changes to the tasks. OML Vision will display any task in the ",(0,s.jsx)(n.code,{children:"vision"})," group in the sidebar."]}),"\n",(0,s.jsx)(n.admonition,{title:"REGISTERING NEW GRADLE TASKS",type:"note",children:(0,s.jsxs)(n.p,{children:["New tasks will register once you deactivate then reactive OML Vision. You can do this by clicking the ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/getstarted/userinterface#_explorer",children:"File Explorer"})," then clicking the OML Vision extension icon."]})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["By default, OML Vision displays the ",(0,s.jsx)(n.code,{children:"clean"})," and ",(0,s.jsx)(n.code,{children:"build"})," tasks. Those tasks do not need to be within the ",(0,s.jsx)(n.code,{children:"vision"})," Gradle group."]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"vision"})," gradle corresponds to the ",(0,s.jsx)(n.code,{children:"Setup Tasks"})," section in OML Vision shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Gradle Tasks",src:i(654).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"running-tasks",children:"Running Tasks"}),"\n",(0,s.jsx)(n.p,{children:"You may run tasks in OML Vision either"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["By clicking the ",(0,s.jsx)(n.code,{children:"Run Task"})," button in the OML Vision extension under the ",(0,s.jsx)(n.code,{children:"Setup Tasks"})," section"]}),"\n",(0,s.jsxs)(n.li,{children:["Running the task using the Gradle wrapper in any terminal.","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["An example of this would be running ",(0,s.jsx)(n.code,{children:"./gradlew clean"})]}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},654:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/gradleTasks-12f2f089dae86095914c9e0b0b8ca1db.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>r});var s=i(7294);const t={},o=s.createContext(t);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5c815109.f105055c.js b/assets/js/5c815109.f105055c.js deleted file mode 100644 index fa75b34..0000000 --- a/assets/js/5c815109.f105055c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2874],{1326:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>a});var s=i(5893),t=i(1151);const r={sidebar_position:5},l="Gradle",o={id:"api-documentation/gradle",title:"Gradle",description:"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model.",source:"@site/docs/api-documentation/gradle.md",sourceDirName:"api-documentation",slug:"/api-documentation/gradle",permalink:"/docs/next/api-documentation/gradle",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/gradle.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Sparql",permalink:"/docs/next/api-documentation/sparql"},next:{title:"Troubleshooting",permalink:"/docs/next/api-documentation/troubleshooting"}},d={},a=[{value:"Build",id:"build",level:2},{value:"Tasks",id:"tasks",level:2},{value:"Vision Group",id:"vision-group",level:3},{value:"Running Tasks",id:"running-tasks",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"gradle",children:"Gradle"}),"\n",(0,s.jsx)(n.p,{children:"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model."}),"\n",(0,s.jsxs)(n.admonition,{title:"Gradle for Java VSCode Extension",type:"danger",children:[(0,s.jsxs)(n.p,{children:["OML Vision requires the ",(0,s.jsx)(n.a,{href:"https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-gradle",children:"Gradle for Java"})," VSCode extension."]}),(0,s.jsxs)(n.p,{children:["Read more installation instructions ",(0,s.jsx)(n.a,{href:"docs/intro#what-youll-need",children:"here"})]})]}),"\n",(0,s.jsx)(n.h2,{id:"build",children:"Build"}),"\n",(0,s.jsx)(n.admonition,{title:"build.gradle",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"build.gradle"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["In OML Vision, the ",(0,s.jsx)(n.code,{children:"build.gradle"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Defining tasks to run in OML Vision"}),"\n",(0,s.jsxs)(n.li,{children:["Listens on the ",(0,s.jsx)(n.code,{children:"build.gradle"})," file for any changes."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Examples of correctly formatted ",(0,s.jsx)(n.code,{children:"build.gradle"})," files for OML Vision are found here:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/build.gradle",children:"Kepler16b build.gradle"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/build.gradle",children:"Open Source Rover build.gradle"})}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You can read more about ",(0,s.jsx)(n.code,{children:"build.gradle"})," files ",(0,s.jsx)(n.a,{href:"https://docs.gradle.org/current/userguide/build_file_basics.html",children:"here"})]}),"\n",(0,s.jsx)(n.h2,{id:"tasks",children:"Tasks"}),"\n",(0,s.jsx)(n.p,{children:"A task in Gradle refers to some command or program that Gradle executes."}),"\n",(0,s.jsx)(n.p,{children:"Generally OML Vision only requires 5 tasks:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"clean (Removes build folder)"}),"\n",(0,s.jsx)(n.li,{children:"build (Constructs OWL and OML files)"}),"\n",(0,s.jsx)(n.li,{children:"startFuseki (starts RDF triplestore)"}),"\n",(0,s.jsx)(n.li,{children:"owlLoad (Loads OWL data into RDF triplestore)"}),"\n",(0,s.jsx)(n.li,{children:"stopFuseki (stops RDF triplestore)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"vision-group",children:"Vision Group"}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision is asynchronously listening in the ",(0,s.jsx)(n.code,{children:"build.gradle"})," for any changes to the tasks. OML Vision will display any task in the ",(0,s.jsx)(n.code,{children:"vision"})," group in the sidebar."]}),"\n",(0,s.jsx)(n.admonition,{title:"REGISTERING NEW GRADLE TASKS",type:"note",children:(0,s.jsxs)(n.p,{children:["New tasks will register once you deactivate then reactive OML Vision. You can do this by clicking the ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/docs/getstarted/userinterface#_explorer",children:"File Explorer"})," then clicking the OML Vision extension icon."]})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["By default, OML Vision displays the ",(0,s.jsx)(n.code,{children:"clean"})," and ",(0,s.jsx)(n.code,{children:"build"})," tasks. Those tasks do not need to be within the ",(0,s.jsx)(n.code,{children:"vision"})," Gradle group."]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"vision"})," gradle corresponds to the ",(0,s.jsx)(n.code,{children:"Setup Tasks"})," section in OML Vision shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Gradle Tasks",src:i(654).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"running-tasks",children:"Running Tasks"}),"\n",(0,s.jsx)(n.p,{children:"You may run tasks in OML Vision either"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["By clicking the ",(0,s.jsx)(n.code,{children:"Run Task"})," button in the OML Vision extension under the ",(0,s.jsx)(n.code,{children:"Setup Tasks"})," section"]}),"\n",(0,s.jsxs)(n.li,{children:["Running the task using the Gradle wrapper in any terminal.","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["An example of this would be running ",(0,s.jsx)(n.code,{children:"./gradlew clean"})]}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},654:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/gradleTasks-12f2f089dae86095914c9e0b0b8ca1db.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>l});var s=i(7294);const t={},r=s.createContext(t);function l(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d3628a5.a1b2c858.js b/assets/js/5d3628a5.a1b2c858.js deleted file mode 100644 index 9e8001e..0000000 --- a/assets/js/5d3628a5.a1b2c858.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6183],{5021:s=>{s.exports=JSON.parse('{"label":"vscode","permalink":"/changelog/tags/vscode","allTagsPath":"/changelog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/618c8e2f.da24dfc2.js b/assets/js/618c8e2f.9e5c5a69.js similarity index 61% rename from assets/js/618c8e2f.da24dfc2.js rename to assets/js/618c8e2f.9e5c5a69.js index d64b803..5d186bd 100644 --- a/assets/js/618c8e2f.da24dfc2.js +++ b/assets/js/618c8e2f.9e5c5a69.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[3701],{1608:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"0.1.0","label":"0.1.0","banner":null,"badge":true,"noIndex":false,"className":"docs-version-0.1.0","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Get Started","href":"/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"API Documentation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Required Directories","href":"/docs/api-documentation/required-directories","docId":"api-documentation/required-directories","unlisted":false},{"type":"link","label":"Config","href":"/docs/api-documentation/config","docId":"api-documentation/config","unlisted":false},{"type":"category","label":"Layouts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Pages","href":"/docs/api-documentation/layouts/pages","docId":"api-documentation/layouts/pages","unlisted":false},{"type":"link","label":"Tables","href":"/docs/api-documentation/layouts/tables","docId":"api-documentation/layouts/tables","unlisted":false},{"type":"link","label":"Trees","href":"/docs/api-documentation/layouts/trees","docId":"api-documentation/layouts/trees","unlisted":false},{"type":"link","label":"Diagrams","href":"/docs/api-documentation/layouts/diagrams","docId":"api-documentation/layouts/diagrams","unlisted":false}],"href":"/docs/category/layouts"},{"type":"link","label":"Sparql","href":"/docs/api-documentation/sparql","docId":"api-documentation/sparql","unlisted":false},{"type":"link","label":"Gradle","href":"/docs/api-documentation/gradle","docId":"api-documentation/gradle","unlisted":false},{"type":"link","label":"Troubleshooting","href":"/docs/api-documentation/troubleshooting","docId":"api-documentation/troubleshooting","unlisted":false}],"href":"/docs/category/api-documentation"}]},"docs":{"api-documentation/config":{"id":"api-documentation/config","title":"Config","description":"The config or configuration directory contains the configuration the following API endpoints for the in-memory Fuseki RDF triplestore:","sidebar":"tutorialSidebar"},"api-documentation/gradle":{"id":"api-documentation/gradle","title":"Gradle","description":"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model.","sidebar":"tutorialSidebar"},"api-documentation/layouts/diagrams":{"id":"api-documentation/layouts/diagrams","title":"Diagrams","description":"Diagrams are created using React Flow.","sidebar":"tutorialSidebar"},"api-documentation/layouts/pages":{"id":"api-documentation/layouts/pages","title":"Pages","description":"Create a src/vision/layouts/pages.json file (case-sensitive)","sidebar":"tutorialSidebar"},"api-documentation/layouts/tables":{"id":"api-documentation/layouts/tables","title":"Tables","description":"Tables are created using tanstack table.","sidebar":"tutorialSidebar"},"api-documentation/layouts/trees":{"id":"api-documentation/layouts/trees","title":"Trees","description":"Trees are created using React Arborist.","sidebar":"tutorialSidebar"},"api-documentation/required-directories":{"id":"api-documentation/required-directories","title":"Required Directories","description":"Config","sidebar":"tutorialSidebar"},"api-documentation/sparql":{"id":"api-documentation/sparql","title":"Sparql","description":"SPARQL is the main query language that is used to query the RDF triplestore.","sidebar":"tutorialSidebar"},"api-documentation/troubleshooting":{"id":"api-documentation/troubleshooting","title":"Troubleshooting","description":"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Get Started","description":"Let\'s discover OML Vision in less than 5 minutes.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[3701],{1608:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"0.1.0","label":"0.1.0","banner":null,"badge":true,"noIndex":false,"className":"docs-version-0.1.0","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Get Started","href":"/oml-vision-docs/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"API Documentation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Required Directories","href":"/oml-vision-docs/docs/api-documentation/required-directories","docId":"api-documentation/required-directories","unlisted":false},{"type":"link","label":"Config","href":"/oml-vision-docs/docs/api-documentation/config","docId":"api-documentation/config","unlisted":false},{"type":"category","label":"Layouts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Pages","href":"/oml-vision-docs/docs/api-documentation/layouts/pages","docId":"api-documentation/layouts/pages","unlisted":false},{"type":"link","label":"Tables","href":"/oml-vision-docs/docs/api-documentation/layouts/tables","docId":"api-documentation/layouts/tables","unlisted":false},{"type":"link","label":"Trees","href":"/oml-vision-docs/docs/api-documentation/layouts/trees","docId":"api-documentation/layouts/trees","unlisted":false},{"type":"link","label":"Diagrams","href":"/oml-vision-docs/docs/api-documentation/layouts/diagrams","docId":"api-documentation/layouts/diagrams","unlisted":false}],"href":"/oml-vision-docs/docs/category/layouts"},{"type":"link","label":"Sparql","href":"/oml-vision-docs/docs/api-documentation/sparql","docId":"api-documentation/sparql","unlisted":false},{"type":"link","label":"Gradle","href":"/oml-vision-docs/docs/api-documentation/gradle","docId":"api-documentation/gradle","unlisted":false},{"type":"link","label":"Troubleshooting","href":"/oml-vision-docs/docs/api-documentation/troubleshooting","docId":"api-documentation/troubleshooting","unlisted":false}],"href":"/oml-vision-docs/docs/category/api-documentation"}]},"docs":{"api-documentation/config":{"id":"api-documentation/config","title":"Config","description":"The config or configuration directory contains the configuration the following API endpoints for the in-memory Fuseki RDF triplestore:","sidebar":"tutorialSidebar"},"api-documentation/gradle":{"id":"api-documentation/gradle","title":"Gradle","description":"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model.","sidebar":"tutorialSidebar"},"api-documentation/layouts/diagrams":{"id":"api-documentation/layouts/diagrams","title":"Diagrams","description":"Diagrams are created using React Flow.","sidebar":"tutorialSidebar"},"api-documentation/layouts/pages":{"id":"api-documentation/layouts/pages","title":"Pages","description":"Create a src/vision/layouts/pages.json file (case-sensitive)","sidebar":"tutorialSidebar"},"api-documentation/layouts/tables":{"id":"api-documentation/layouts/tables","title":"Tables","description":"Tables are created using tanstack table.","sidebar":"tutorialSidebar"},"api-documentation/layouts/trees":{"id":"api-documentation/layouts/trees","title":"Trees","description":"Trees are created using React Arborist.","sidebar":"tutorialSidebar"},"api-documentation/required-directories":{"id":"api-documentation/required-directories","title":"Required Directories","description":"Config","sidebar":"tutorialSidebar"},"api-documentation/sparql":{"id":"api-documentation/sparql","title":"Sparql","description":"SPARQL is the main query language that is used to query the RDF triplestore.","sidebar":"tutorialSidebar"},"api-documentation/troubleshooting":{"id":"api-documentation/troubleshooting","title":"Troubleshooting","description":"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Get Started","description":"Let\'s discover OML Vision in less than 5 minutes.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/663a9a9c.13a5e82f.js b/assets/js/663a9a9c.13a5e82f.js new file mode 100644 index 0000000..9607fa7 --- /dev/null +++ b/assets/js/663a9a9c.13a5e82f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[7236],{6962:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>s,default:()=>u,frontMatter:()=>t,metadata:()=>c,toc:()=>a});var o=n(5893),r=n(1151);const t={sidebar_position:1},s="Required Directories",c={id:"api-documentation/required-directories",title:"Required Directories",description:"Config",source:"@site/versioned_docs/version-0.1.0/api-documentation/required-directories.md",sourceDirName:"api-documentation",slug:"/api-documentation/required-directories",permalink:"/oml-vision-docs/docs/api-documentation/required-directories",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/required-directories.md",tags:[],version:"0.1.0",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"API Documentation",permalink:"/oml-vision-docs/docs/category/api-documentation"},next:{title:"Config",permalink:"/oml-vision-docs/docs/api-documentation/config"}},d={},a=[{value:"Config",id:"config",level:2},{value:"Layouts",id:"layouts",level:2},{value:"Sparql",id:"sparql",level:2}];function l(e){const i={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.h1,{id:"required-directories",children:"Required Directories"}),"\n",(0,o.jsx)(i.h2,{id:"config",children:"Config"}),"\n",(0,o.jsxs)(i.p,{children:["Create a ",(0,o.jsx)(i.code,{children:"src/vision/config"})," directory"]}),"\n",(0,o.jsxs)(i.p,{children:["It contains the configuration for the update and query API endpoint for the in-memory ",(0,o.jsx)(i.a,{href:"https://jena.apache.org/documentation/fuseki2/",children:"Fuseki"})," RDF triplestore."]}),"\n",(0,o.jsxs)(i.p,{children:["Detailed information about the config directory can be found ",(0,o.jsx)(i.a,{href:"/docs/api-documentation/config",children:"here"})]}),"\n",(0,o.jsx)(i.h2,{id:"layouts",children:"Layouts"}),"\n",(0,o.jsxs)(i.p,{children:["Create a ",(0,o.jsx)(i.code,{children:"src/vision/layouts"})," directory"]}),"\n",(0,o.jsx)(i.p,{children:"It contains the specification needed for OML Vision to format the different views (i.e. Table, Tree, Diagram, etc.) that are rendered by the extension."}),"\n",(0,o.jsxs)(i.p,{children:["Detailed information about the layouts directory can be found ",(0,o.jsx)(i.a,{href:"/docs/category/layouts",children:"here"})]}),"\n",(0,o.jsx)(i.h2,{id:"sparql",children:"Sparql"}),"\n",(0,o.jsxs)(i.p,{children:["Create a ",(0,o.jsx)(i.code,{children:"src/vision/sparql"})," directory"]}),"\n",(0,o.jsx)(i.p,{children:"It contains the definitions for the updates and queries that will be sent to the in-memory RDF triplestore."}),"\n",(0,o.jsxs)(i.p,{children:["Detailed information about the config directory can be found ",(0,o.jsx)(i.a,{href:"/docs/api-documentation/sparql",children:"here"})]}),"\n",(0,o.jsxs)(i.admonition,{title:"Required Directories",type:"danger",children:[(0,o.jsx)(i.p,{children:"The following directories are required for OML Vision to work properly."}),(0,o.jsxs)(i.ul,{children:["\n",(0,o.jsx)(i.li,{children:(0,o.jsx)(i.code,{children:"src/vision/config"})}),"\n",(0,o.jsx)(i.li,{children:(0,o.jsx)(i.code,{children:"src/vision/layouts"})}),"\n",(0,o.jsx)(i.li,{children:(0,o.jsx)(i.code,{children:"src/vision/sparql"})}),"\n"]}),(0,o.jsxs)(i.p,{children:["An error like this will occur without those directories\n",(0,o.jsx)(i.img,{alt:"No Required Directories",src:n(1847).Z+"",width:"3680",height:"2252"})]})]})]})}function u(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,o.jsx)(i,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},1847:(e,i,n)=>{n.d(i,{Z:()=>o});const o=n.p+"assets/images/noRequiredDirectories-44af703fe210860dcec6bf51862fccd5.png"},1151:(e,i,n)=>{n.d(i,{Z:()=>c,a:()=>s});var o=n(7294);const r={},t=o.createContext(r);function s(e){const i=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),o.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/663a9a9c.d50dbc2e.js b/assets/js/663a9a9c.d50dbc2e.js deleted file mode 100644 index 8504aee..0000000 --- a/assets/js/663a9a9c.d50dbc2e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[7236],{6962:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var r=n(5893),t=n(1151);const o={sidebar_position:1},s="Required Directories",c={id:"api-documentation/required-directories",title:"Required Directories",description:"Config",source:"@site/versioned_docs/version-0.1.0/api-documentation/required-directories.md",sourceDirName:"api-documentation",slug:"/api-documentation/required-directories",permalink:"/docs/api-documentation/required-directories",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/required-directories.md",tags:[],version:"0.1.0",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"API Documentation",permalink:"/docs/category/api-documentation"},next:{title:"Config",permalink:"/docs/api-documentation/config"}},d={},a=[{value:"Config",id:"config",level:2},{value:"Layouts",id:"layouts",level:2},{value:"Sparql",id:"sparql",level:2}];function l(e){const i={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h1,{id:"required-directories",children:"Required Directories"}),"\n",(0,r.jsx)(i.h2,{id:"config",children:"Config"}),"\n",(0,r.jsxs)(i.p,{children:["Create a ",(0,r.jsx)(i.code,{children:"src/vision/config"})," directory"]}),"\n",(0,r.jsxs)(i.p,{children:["It contains the configuration for the update and query API endpoint for the in-memory ",(0,r.jsx)(i.a,{href:"https://jena.apache.org/documentation/fuseki2/",children:"Fuseki"})," RDF triplestore."]}),"\n",(0,r.jsxs)(i.p,{children:["Detailed information about the config directory can be found ",(0,r.jsx)(i.a,{href:"/docs/api-documentation/config",children:"here"})]}),"\n",(0,r.jsx)(i.h2,{id:"layouts",children:"Layouts"}),"\n",(0,r.jsxs)(i.p,{children:["Create a ",(0,r.jsx)(i.code,{children:"src/vision/layouts"})," directory"]}),"\n",(0,r.jsx)(i.p,{children:"It contains the specification needed for OML Vision to format the different views (i.e. Table, Tree, Diagram, etc.) that are rendered by the extension."}),"\n",(0,r.jsxs)(i.p,{children:["Detailed information about the layouts directory can be found ",(0,r.jsx)(i.a,{href:"/docs/category/layouts",children:"here"})]}),"\n",(0,r.jsx)(i.h2,{id:"sparql",children:"Sparql"}),"\n",(0,r.jsxs)(i.p,{children:["Create a ",(0,r.jsx)(i.code,{children:"src/vision/sparql"})," directory"]}),"\n",(0,r.jsx)(i.p,{children:"It contains the definitions for the updates and queries that will be sent to the in-memory RDF triplestore."}),"\n",(0,r.jsxs)(i.p,{children:["Detailed information about the config directory can be found ",(0,r.jsx)(i.a,{href:"/docs/api-documentation/sparql",children:"here"})]}),"\n",(0,r.jsxs)(i.admonition,{title:"Required Directories",type:"danger",children:[(0,r.jsx)(i.p,{children:"The following directories are required for OML Vision to work properly."}),(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.code,{children:"src/vision/config"})}),"\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.code,{children:"src/vision/layouts"})}),"\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.code,{children:"src/vision/sparql"})}),"\n"]}),(0,r.jsxs)(i.p,{children:["An error like this will occur without those directories\n",(0,r.jsx)(i.img,{alt:"No Required Directories",src:n(1847).Z+"",width:"3680",height:"2252"})]})]})]})}function u(e={}){const{wrapper:i}={...(0,t.a)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},1847:(e,i,n)=>{n.d(i,{Z:()=>r});const r=n.p+"assets/images/noRequiredDirectories-44af703fe210860dcec6bf51862fccd5.png"},1151:(e,i,n)=>{n.d(i,{Z:()=>c,a:()=>s});var r=n(7294);const t={},o=r.createContext(t);function s(e){const i=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6aee9e25.46e4114c.js b/assets/js/6aee9e25.46e4114c.js deleted file mode 100644 index dd0fbad..0000000 --- a/assets/js/6aee9e25.46e4114c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[5851],{476:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>a,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var s=i(5893),t=i(1151);const r={sidebar_position:1},d="Pages",l={id:"api-documentation/layouts/pages",title:"Pages",description:"Create a src/vision/layouts/pages.json file (case-sensitive)",source:"@site/docs/api-documentation/layouts/pages.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/pages",permalink:"/docs/next/api-documentation/layouts/pages",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/layouts/pages.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Layouts",permalink:"/docs/next/category/layouts"},next:{title:"Tables",permalink:"/docs/next/api-documentation/layouts/tables"}},o={},c=[{value:"Home Page",id:"home-page",level:2},{value:"title",id:"title",level:3},{value:"path",id:"path",level:3},{value:"treeIcon",id:"treeicon",level:3},{value:"Child Pages",id:"child-pages",level:2},{value:"title",id:"title-1",level:3},{value:"treeIcon",id:"treeicon-1",level:3},{value:"iconUrl",id:"iconurl",level:3},{value:"children",id:"children",level:3},{value:"title",id:"title-2",level:4},{value:"path",id:"path-1",level:4},{value:"treeIcon",id:"treeicon-2",level:4},{value:"isTree",id:"istree",level:4},{value:"isDiagram",id:"isdiagram",level:4}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"pages",children:"Pages"}),"\n",(0,s.jsx)(n.admonition,{title:"pages.json",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"src/vision/layouts/pages.json"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"src/vision/layouts/pages.json"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Defining what OML Vision can render","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Home Page","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Sidebar","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Child Pages","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Table, Tree, or Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Defining the path to the content that OML Vision renders"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,s.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/pages.json",children:"here"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'[\n { "title": "Home", "path": "/", "treeIcon": "home" },\n {\n "title": "Kepler16b",\n "treeIcon": "server",\n "iconUrl": "https://nasa-jpl.github.io/stellar/icons/satellite.svg",\n "children": [\n { \n "title": "Objectives",\n "treeIcon": "window",\n "path": "objectives" \n },\n {\n "title": "Missions",\n "treeIcon": "graph-scatter",\n "path": "missions",\n "isDiagram": true\n },\n {\n "title": "Components",\n "treeIcon": "list-tree",\n "path": "components",\n "isTree": true\n },\n {\n "title": "Connections",\n "treeIcon": "window",\n "path": "connections"\n },\n {\n "title": "Requirements",\n "treeIcon": "list-tree",\n "path": "requirements",\n "isTree": true\n }\n ]\n }\n]\n'})}),"\n",(0,s.jsx)(n.h2,{id:"home-page",children:"Home Page"}),"\n",(0,s.jsx)(n.p,{children:"The home page acts as an entry point for users to navigate through the pages that OML Vision renders."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Home Page",src:i(1804).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:'This string defines the title of the home page. A good name for the home page is "Home" or "Frontpage"'}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," is rendered in the sidebar for the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Title Home Page",src:i(818).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the page."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["For the ",(0,s.jsx)(n.code,{children:"Home Page"})," the path must be ",(0,s.jsx)(n.code,{children:"/"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is rendered in the sidebar when you hover and hold for 2 seconds over the ",(0,s.jsx)(n.code,{children:"Home Page"})," in the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Path Home Page",src:i(3315).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"treeicon",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Home Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Path Home Page",src:i(1089).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h2,{id:"child-pages",children:"Child Pages"}),"\n",(0,s.jsxs)(n.p,{children:["Child pages are pages that are grouped with other similar pages. The paths to these pages are rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," shown in the red boxes."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"OML Vision supports more than 1 child page."})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Child Page",src:i(6473).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"title-1",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the title of the child page."}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," is rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"}),"."]})}),"\n",(0,s.jsx)(n.h3,{id:"treeicon-1",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h3,{id:"iconurl",children:"iconUrl"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"iconUrl: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the icon that is rendered in the home page."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Supported image file formats are .svg, .png, or .jpg"})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"iconUrl"})," is rendered in the ",(0,s.jsx)(n.code,{children:"Home Page"})," in the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Icon URL Child Page",src:i(5197).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"children",children:"children"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"children: {\n title: string;\n path: string;\n treeIcon: string;\n isTree: boolean;\n isDiagram: boolean;\n }[];\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"children"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"title"}),", ",(0,s.jsx)(n.code,{children:"path"}),", and ",(0,s.jsx)(n.code,{children:"treeIcon"})," of the ",(0,s.jsx)(n.code,{children:"Child Page"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["You can more than one ",(0,s.jsx)(n.code,{children:"Child Page"})," in the ",(0,s.jsx)(n.code,{children:"children"})," array."]})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"By default all child pages are rendered as tables unless specified with the isTree or isDiagram booleans."})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Pages"})," are rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," of the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Children Pages",src:i(8515).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"title-2",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the title of the child page."}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," of the ",(0,s.jsx)(n.code,{children:"Child Page"})," is rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," of the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"path-1",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the path of the ",(0,s.jsx)(n.code,{children:"Child Page"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Remember this string as it will be needed for the layouts of the tables, trees, and diagrams"})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is rendered in the sidebar when you hover and hold for 2 seconds over the ",(0,s.jsx)(n.code,{children:"Child Page"})," in the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"treeicon-2",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"istree",children:"isTree"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"isTree: boolean\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This bool specifies whether or not the ",(0,s.jsx)(n.code,{children:"Child Page"})," will be a tree. Set ",(0,s.jsx)(n.code,{children:"isTree"})," to ",(0,s.jsx)(n.code,{children:"true"})," to turn the ",(0,s.jsx)(n.code,{children:"Child Page"})," into a tree."]}),"\n",(0,s.jsx)(n.h4,{id:"isdiagram",children:"isDiagram"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"isDiagram: boolean\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This bool specifies whether or not the ",(0,s.jsx)(n.code,{children:"Child Page"})," will be a diagram. Set ",(0,s.jsx)(n.code,{children:"isDiagram"})," to ",(0,s.jsx)(n.code,{children:"true"})," to turn the ",(0,s.jsx)(n.code,{children:"Child Page"})," into a diagram."]})]})}function a(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6473:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/childPage-b0eefc3ba8754e79a2d45ae27d1da925.png"},8515:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/childrenPages-6845941fa407816b67303b0d3001d557.png"},1804:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/homePage-0a92501ab6a4e75d2676ca2efafeeac7.png"},5197:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/iconUrlChildPage-758702ff18d55234e20bb6aacdacff6c.png"},3315:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/pathHomePage-b4ddf59e6ce537c4d52af3b1933479e5.png"},818:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/titleHomePage-14c24d51c735db2b9f1969d3db9c996d.png"},1089:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/treeIconHomePage-348f964f69e08422602fb69d22ff0f1f.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>d});var s=i(7294);const t={},r=s.createContext(t);function d(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6aee9e25.70225b8d.js b/assets/js/6aee9e25.70225b8d.js new file mode 100644 index 0000000..efa2a15 --- /dev/null +++ b/assets/js/6aee9e25.70225b8d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[5851],{476:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>a,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var s=i(5893),t=i(1151);const r={sidebar_position:1},d="Pages",o={id:"api-documentation/layouts/pages",title:"Pages",description:"Create a src/vision/layouts/pages.json file (case-sensitive)",source:"@site/docs/api-documentation/layouts/pages.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/pages",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/pages",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/layouts/pages.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Layouts",permalink:"/oml-vision-docs/docs/next/category/layouts"},next:{title:"Tables",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/tables"}},l={},c=[{value:"Home Page",id:"home-page",level:2},{value:"title",id:"title",level:3},{value:"path",id:"path",level:3},{value:"treeIcon",id:"treeicon",level:3},{value:"Child Pages",id:"child-pages",level:2},{value:"title",id:"title-1",level:3},{value:"treeIcon",id:"treeicon-1",level:3},{value:"iconUrl",id:"iconurl",level:3},{value:"children",id:"children",level:3},{value:"title",id:"title-2",level:4},{value:"path",id:"path-1",level:4},{value:"treeIcon",id:"treeicon-2",level:4},{value:"isTree",id:"istree",level:4},{value:"isDiagram",id:"isdiagram",level:4}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"pages",children:"Pages"}),"\n",(0,s.jsx)(n.admonition,{title:"pages.json",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"src/vision/layouts/pages.json"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"src/vision/layouts/pages.json"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Defining what OML Vision can render","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Home Page","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Sidebar","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Child Pages","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Table, Tree, or Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Defining the path to the content that OML Vision renders"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,s.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/pages.json",children:"here"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'[\n { "title": "Home", "path": "/", "treeIcon": "home" },\n {\n "title": "Kepler16b",\n "treeIcon": "server",\n "iconUrl": "https://nasa-jpl.github.io/stellar/icons/satellite.svg",\n "children": [\n { \n "title": "Objectives",\n "treeIcon": "window",\n "path": "objectives" \n },\n {\n "title": "Missions",\n "treeIcon": "graph-scatter",\n "path": "missions",\n "isDiagram": true\n },\n {\n "title": "Components",\n "treeIcon": "list-tree",\n "path": "components",\n "isTree": true\n },\n {\n "title": "Connections",\n "treeIcon": "window",\n "path": "connections"\n },\n {\n "title": "Requirements",\n "treeIcon": "list-tree",\n "path": "requirements",\n "isTree": true\n }\n ]\n }\n]\n'})}),"\n",(0,s.jsx)(n.h2,{id:"home-page",children:"Home Page"}),"\n",(0,s.jsx)(n.p,{children:"The home page acts as an entry point for users to navigate through the pages that OML Vision renders."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Home Page",src:i(1804).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:'This string defines the title of the home page. A good name for the home page is "Home" or "Frontpage"'}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," is rendered in the sidebar for the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Title Home Page",src:i(818).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the page."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["For the ",(0,s.jsx)(n.code,{children:"Home Page"})," the path must be ",(0,s.jsx)(n.code,{children:"/"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is rendered in the sidebar when you hover and hold for 2 seconds over the ",(0,s.jsx)(n.code,{children:"Home Page"})," in the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Path Home Page",src:i(3315).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"treeicon",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Home Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Path Home Page",src:i(1089).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h2,{id:"child-pages",children:"Child Pages"}),"\n",(0,s.jsxs)(n.p,{children:["Child pages are pages that are grouped with other similar pages. The paths to these pages are rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," shown in the red boxes."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"OML Vision supports more than 1 child page."})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Child Page",src:i(6473).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"title-1",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the title of the child page."}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," is rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"}),"."]})}),"\n",(0,s.jsx)(n.h3,{id:"treeicon-1",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h3,{id:"iconurl",children:"iconUrl"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"iconUrl: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the icon that is rendered in the home page."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Supported image file formats are .svg, .png, or .jpg"})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"iconUrl"})," is rendered in the ",(0,s.jsx)(n.code,{children:"Home Page"})," in the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Icon URL Child Page",src:i(5197).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"children",children:"children"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"children: {\n title: string;\n path: string;\n treeIcon: string;\n isTree: boolean;\n isDiagram: boolean;\n }[];\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"children"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"title"}),", ",(0,s.jsx)(n.code,{children:"path"}),", and ",(0,s.jsx)(n.code,{children:"treeIcon"})," of the ",(0,s.jsx)(n.code,{children:"Child Page"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["You can more than one ",(0,s.jsx)(n.code,{children:"Child Page"})," in the ",(0,s.jsx)(n.code,{children:"children"})," array."]})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"By default all child pages are rendered as tables unless specified with the isTree or isDiagram booleans."})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Pages"})," are rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," of the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Children Pages",src:i(8515).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"title-2",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the title of the child page."}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," of the ",(0,s.jsx)(n.code,{children:"Child Page"})," is rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," of the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"path-1",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the path of the ",(0,s.jsx)(n.code,{children:"Child Page"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Remember this string as it will be needed for the layouts of the tables, trees, and diagrams"})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is rendered in the sidebar when you hover and hold for 2 seconds over the ",(0,s.jsx)(n.code,{children:"Child Page"})," in the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"treeicon-2",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"istree",children:"isTree"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"isTree: boolean\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This bool specifies whether or not the ",(0,s.jsx)(n.code,{children:"Child Page"})," will be a tree. Set ",(0,s.jsx)(n.code,{children:"isTree"})," to ",(0,s.jsx)(n.code,{children:"true"})," to turn the ",(0,s.jsx)(n.code,{children:"Child Page"})," into a tree."]}),"\n",(0,s.jsx)(n.h4,{id:"isdiagram",children:"isDiagram"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"isDiagram: boolean\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This bool specifies whether or not the ",(0,s.jsx)(n.code,{children:"Child Page"})," will be a diagram. Set ",(0,s.jsx)(n.code,{children:"isDiagram"})," to ",(0,s.jsx)(n.code,{children:"true"})," to turn the ",(0,s.jsx)(n.code,{children:"Child Page"})," into a diagram."]})]})}function a(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6473:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/childPage-b0eefc3ba8754e79a2d45ae27d1da925.png"},8515:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/childrenPages-6845941fa407816b67303b0d3001d557.png"},1804:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/homePage-0a92501ab6a4e75d2676ca2efafeeac7.png"},5197:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/iconUrlChildPage-758702ff18d55234e20bb6aacdacff6c.png"},3315:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/pathHomePage-b4ddf59e6ce537c4d52af3b1933479e5.png"},818:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/titleHomePage-14c24d51c735db2b9f1969d3db9c996d.png"},1089:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/treeIconHomePage-348f964f69e08422602fb69d22ff0f1f.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>d});var s=i(7294);const t={},r=s.createContext(t);function d(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/796b5593.a56a25dc.js b/assets/js/796b5593.a56a25dc.js new file mode 100644 index 0000000..fda897c --- /dev/null +++ b/assets/js/796b5593.a56a25dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[8528],{1405:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var o=i(5893),t=i(1151);const s={sidebar_position:2},r="Config",c={id:"api-documentation/config",title:"Config",description:"The config or configuration directory contains the configuration the following API endpoints for the in-memory Fuseki RDF triplestore:",source:"@site/docs/api-documentation/config.md",sourceDirName:"api-documentation",slug:"/api-documentation/config",permalink:"/oml-vision-docs/docs/next/api-documentation/config",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/config.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Required Directories",permalink:"/oml-vision-docs/docs/next/api-documentation/required-directories"},next:{title:"Layouts",permalink:"/oml-vision-docs/docs/next/category/layouts"}},d={},l=[{value:"sparqlConfig.json",id:"sparqlconfigjson",level:2},{value:"queryEndpoint",id:"queryendpoint",level:3},{value:"Fuseki",id:"fuseki",level:4},{value:"updateEndpoint",id:"updateendpoint",level:3},{value:"Fuseki",id:"fuseki-1",level:4}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"config",children:"Config"}),"\n",(0,o.jsxs)(n.p,{children:["The config or configuration directory contains the configuration the following API endpoints for the in-memory ",(0,o.jsx)(n.a,{href:"https://jena.apache.org/documentation/fuseki2/",children:"Fuseki"})," RDF triplestore:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"query"}),"\n",(0,o.jsx)(n.li,{children:"update"}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["An example of a config directory correctly formatted for OML Vision can be seen ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/config/sparqlConfig.json",children:"here"})]}),"\n",(0,o.jsx)(n.h2,{id:"sparqlconfigjson",children:"sparqlConfig.json"}),"\n",(0,o.jsx)(n.admonition,{title:"sparqlConfig.json",type:"info",children:(0,o.jsxs)(n.p,{children:["Create a ",(0,o.jsx)(n.code,{children:"src/vision/config/sparqlConfig.json"})," file (case-sensitive)"]})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"src/vision/config/sparqlConfig.json"})," file is responsible for specifying the query and update API endpoints."]}),"\n",(0,o.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,o.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/config/sparqlConfig.json",children:"here"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "queryEndpoint": "http://localhost:3030/tutorial2/sparql",\n "updateEndpoint": "http://localhost:3030/tutorial2/update"\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"queryendpoint",children:"queryEndpoint"}),"\n",(0,o.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:"queryEndpoint: string\n"})})}),"\n",(0,o.jsx)(n.p,{children:"This string defines the API query endpoint of the in-memory RDF triplestore."}),"\n",(0,o.jsx)(n.h4,{id:"fuseki",children:"Fuseki"}),"\n",(0,o.jsxs)(n.p,{children:["This endpoint can usually be found within the ",(0,o.jsx)(n.code,{children:".fuseki.ttl"})," file under the ",(0,o.jsx)(n.code,{children:"sparql"})," service. An example of how to specify this endpoint can be found ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/.fuseki.ttl#L15",children:"here"})]}),"\n",(0,o.jsx)(n.h3,{id:"updateendpoint",children:"updateEndpoint"}),"\n",(0,o.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:"updateEndpoint: string\n"})})}),"\n",(0,o.jsx)(n.p,{children:"This string defines the API update endpoint of the in-memory RDF triplestore."}),"\n",(0,o.jsx)(n.h4,{id:"fuseki-1",children:"Fuseki"}),"\n",(0,o.jsxs)(n.p,{children:["This endpoint can usually be found within the ",(0,o.jsx)(n.code,{children:".fuseki.ttl"})," file under the ",(0,o.jsx)(n.code,{children:"update"})," service. An example of how to specify this endpoint can be found ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/.fuseki.ttl#L14",children:"here"})]})]})}function p(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>r});var o=i(7294);const t={},s=o.createContext(t);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/796b5593.d908076e.js b/assets/js/796b5593.d908076e.js deleted file mode 100644 index ce5dc1f..0000000 --- a/assets/js/796b5593.d908076e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[8528],{1405:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var t=i(5893),o=i(1151);const s={sidebar_position:2},r="Config",c={id:"api-documentation/config",title:"Config",description:"The config or configuration directory contains the configuration the following API endpoints for the in-memory Fuseki RDF triplestore:",source:"@site/docs/api-documentation/config.md",sourceDirName:"api-documentation",slug:"/api-documentation/config",permalink:"/docs/next/api-documentation/config",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/config.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Required Directories",permalink:"/docs/next/api-documentation/required-directories"},next:{title:"Layouts",permalink:"/docs/next/category/layouts"}},d={},a=[{value:"sparqlConfig.json",id:"sparqlconfigjson",level:2},{value:"queryEndpoint",id:"queryendpoint",level:3},{value:"Fuseki",id:"fuseki",level:4},{value:"updateEndpoint",id:"updateendpoint",level:3},{value:"Fuseki",id:"fuseki-1",level:4}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"config",children:"Config"}),"\n",(0,t.jsxs)(n.p,{children:["The config or configuration directory contains the configuration the following API endpoints for the in-memory ",(0,t.jsx)(n.a,{href:"https://jena.apache.org/documentation/fuseki2/",children:"Fuseki"})," RDF triplestore:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"query"}),"\n",(0,t.jsx)(n.li,{children:"update"}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["An example of a config directory correctly formatted for OML Vision can be seen ",(0,t.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/config/sparqlConfig.json",children:"here"})]}),"\n",(0,t.jsx)(n.h2,{id:"sparqlconfigjson",children:"sparqlConfig.json"}),"\n",(0,t.jsx)(n.admonition,{title:"sparqlConfig.json",type:"info",children:(0,t.jsxs)(n.p,{children:["Create a ",(0,t.jsx)(n.code,{children:"src/vision/config/sparqlConfig.json"})," file (case-sensitive)"]})}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"src/vision/config/sparqlConfig.json"})," file is responsible for specifying the query and update API endpoints."]}),"\n",(0,t.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,t.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,t.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/config/sparqlConfig.json",children:"here"})]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'{\n "queryEndpoint": "http://localhost:3030/tutorial2/sparql",\n "updateEndpoint": "http://localhost:3030/tutorial2/update"\n}\n'})}),"\n",(0,t.jsx)(n.h3,{id:"queryendpoint",children:"queryEndpoint"}),"\n",(0,t.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",children:"queryEndpoint: string\n"})})}),"\n",(0,t.jsx)(n.p,{children:"This string defines the API query endpoint of the in-memory RDF triplestore."}),"\n",(0,t.jsx)(n.h4,{id:"fuseki",children:"Fuseki"}),"\n",(0,t.jsxs)(n.p,{children:["This endpoint can usually be found within the ",(0,t.jsx)(n.code,{children:".fuseki.ttl"})," file under the ",(0,t.jsx)(n.code,{children:"sparql"})," service. An example of how to specify this endpoint can be found ",(0,t.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/.fuseki.ttl#L15",children:"here"})]}),"\n",(0,t.jsx)(n.h3,{id:"updateendpoint",children:"updateEndpoint"}),"\n",(0,t.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",children:"updateEndpoint: string\n"})})}),"\n",(0,t.jsx)(n.p,{children:"This string defines the API update endpoint of the in-memory RDF triplestore."}),"\n",(0,t.jsx)(n.h4,{id:"fuseki-1",children:"Fuseki"}),"\n",(0,t.jsxs)(n.p,{children:["This endpoint can usually be found within the ",(0,t.jsx)(n.code,{children:".fuseki.ttl"})," file under the ",(0,t.jsx)(n.code,{children:"update"})," service. An example of how to specify this endpoint can be found ",(0,t.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/.fuseki.ttl#L14",children:"here"})]})]})}function p(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>r});var t=i(7294);const o={},s=t.createContext(o);function r(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/814f3328.5d3065e5.js b/assets/js/814f3328.5d3065e5.js new file mode 100644 index 0000000..b4ead63 --- /dev/null +++ b/assets/js/814f3328.5d3065e5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2535],{5641:s=>{s.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"v0.1.0 Initial Release","permalink":"/oml-vision-docs/changelog/initial-release","unlisted":false}]}')}}]); \ No newline at end of file diff --git a/assets/js/814f3328.a3520e1e.js b/assets/js/814f3328.a3520e1e.js deleted file mode 100644 index 830caf9..0000000 --- a/assets/js/814f3328.a3520e1e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2535],{5641:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"v0.1.0 Initial Release","permalink":"/changelog/initial-release","unlisted":false}]}')}}]); \ No newline at end of file diff --git a/assets/js/8d683186.8aedbe96.js b/assets/js/8d683186.8aedbe96.js deleted file mode 100644 index 1b8b27c..0000000 --- a/assets/js/8d683186.8aedbe96.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[29],{4076:s=>{s.exports=JSON.parse('{"permalink":"/changelog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/8f4a2f09.2a23dda0.js b/assets/js/8f4a2f09.2a23dda0.js new file mode 100644 index 0000000..a081900 --- /dev/null +++ b/assets/js/8f4a2f09.2a23dda0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[1114],{1725:i=>{i.exports=JSON.parse('{"title":"API Documentation","description":"API documentation for OML Vision.","slug":"/category/api-documentation","permalink":"/oml-vision-docs/docs/next/category/api-documentation","navigation":{"previous":{"title":"Get Started","permalink":"/oml-vision-docs/docs/next/intro"},"next":{"title":"Required Directories","permalink":"/oml-vision-docs/docs/next/api-documentation/required-directories"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.c5d9ae19.js b/assets/js/935f2afb.fad96a26.js similarity index 58% rename from assets/js/935f2afb.c5d9ae19.js rename to assets/js/935f2afb.fad96a26.js index d9373ea..abcda4d 100644 --- a/assets/js/935f2afb.c5d9ae19.js +++ b/assets/js/935f2afb.fad96a26.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":"unreleased","badge":true,"noIndex":false,"className":"docs-version-current","isLast":false,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Get Started","href":"/docs/next/intro","docId":"intro","unlisted":false},{"type":"category","label":"API Documentation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Required Directories","href":"/docs/next/api-documentation/required-directories","docId":"api-documentation/required-directories","unlisted":false},{"type":"link","label":"Config","href":"/docs/next/api-documentation/config","docId":"api-documentation/config","unlisted":false},{"type":"category","label":"Layouts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Pages","href":"/docs/next/api-documentation/layouts/pages","docId":"api-documentation/layouts/pages","unlisted":false},{"type":"link","label":"Tables","href":"/docs/next/api-documentation/layouts/tables","docId":"api-documentation/layouts/tables","unlisted":false},{"type":"link","label":"Trees","href":"/docs/next/api-documentation/layouts/trees","docId":"api-documentation/layouts/trees","unlisted":false},{"type":"link","label":"Diagrams","href":"/docs/next/api-documentation/layouts/diagrams","docId":"api-documentation/layouts/diagrams","unlisted":false}],"href":"/docs/next/category/layouts"},{"type":"link","label":"Sparql","href":"/docs/next/api-documentation/sparql","docId":"api-documentation/sparql","unlisted":false},{"type":"link","label":"Gradle","href":"/docs/next/api-documentation/gradle","docId":"api-documentation/gradle","unlisted":false},{"type":"link","label":"Troubleshooting","href":"/docs/next/api-documentation/troubleshooting","docId":"api-documentation/troubleshooting","unlisted":false}],"href":"/docs/next/category/api-documentation"}]},"docs":{"api-documentation/config":{"id":"api-documentation/config","title":"Config","description":"The config or configuration directory contains the configuration the following API endpoints for the in-memory Fuseki RDF triplestore:","sidebar":"tutorialSidebar"},"api-documentation/gradle":{"id":"api-documentation/gradle","title":"Gradle","description":"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model.","sidebar":"tutorialSidebar"},"api-documentation/layouts/diagrams":{"id":"api-documentation/layouts/diagrams","title":"Diagrams","description":"Diagrams are created using React Flow.","sidebar":"tutorialSidebar"},"api-documentation/layouts/pages":{"id":"api-documentation/layouts/pages","title":"Pages","description":"Create a src/vision/layouts/pages.json file (case-sensitive)","sidebar":"tutorialSidebar"},"api-documentation/layouts/tables":{"id":"api-documentation/layouts/tables","title":"Tables","description":"Tables are created using tanstack table.","sidebar":"tutorialSidebar"},"api-documentation/layouts/trees":{"id":"api-documentation/layouts/trees","title":"Trees","description":"Trees are created using React Arborist.","sidebar":"tutorialSidebar"},"api-documentation/required-directories":{"id":"api-documentation/required-directories","title":"Required Directories","description":"Config","sidebar":"tutorialSidebar"},"api-documentation/sparql":{"id":"api-documentation/sparql","title":"Sparql","description":"SPARQL is the main query language that is used to query the RDF triplestore.","sidebar":"tutorialSidebar"},"api-documentation/troubleshooting":{"id":"api-documentation/troubleshooting","title":"Troubleshooting","description":"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Get Started","description":"Let\'s discover OML Vision in less than 5 minutes.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":"unreleased","badge":true,"noIndex":false,"className":"docs-version-current","isLast":false,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Get Started","href":"/oml-vision-docs/docs/next/intro","docId":"intro","unlisted":false},{"type":"category","label":"API Documentation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Required Directories","href":"/oml-vision-docs/docs/next/api-documentation/required-directories","docId":"api-documentation/required-directories","unlisted":false},{"type":"link","label":"Config","href":"/oml-vision-docs/docs/next/api-documentation/config","docId":"api-documentation/config","unlisted":false},{"type":"category","label":"Layouts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Pages","href":"/oml-vision-docs/docs/next/api-documentation/layouts/pages","docId":"api-documentation/layouts/pages","unlisted":false},{"type":"link","label":"Tables","href":"/oml-vision-docs/docs/next/api-documentation/layouts/tables","docId":"api-documentation/layouts/tables","unlisted":false},{"type":"link","label":"Trees","href":"/oml-vision-docs/docs/next/api-documentation/layouts/trees","docId":"api-documentation/layouts/trees","unlisted":false},{"type":"link","label":"Diagrams","href":"/oml-vision-docs/docs/next/api-documentation/layouts/diagrams","docId":"api-documentation/layouts/diagrams","unlisted":false}],"href":"/oml-vision-docs/docs/next/category/layouts"},{"type":"link","label":"Sparql","href":"/oml-vision-docs/docs/next/api-documentation/sparql","docId":"api-documentation/sparql","unlisted":false},{"type":"link","label":"Gradle","href":"/oml-vision-docs/docs/next/api-documentation/gradle","docId":"api-documentation/gradle","unlisted":false},{"type":"link","label":"Troubleshooting","href":"/oml-vision-docs/docs/next/api-documentation/troubleshooting","docId":"api-documentation/troubleshooting","unlisted":false}],"href":"/oml-vision-docs/docs/next/category/api-documentation"}]},"docs":{"api-documentation/config":{"id":"api-documentation/config","title":"Config","description":"The config or configuration directory contains the configuration the following API endpoints for the in-memory Fuseki RDF triplestore:","sidebar":"tutorialSidebar"},"api-documentation/gradle":{"id":"api-documentation/gradle","title":"Gradle","description":"OML models tend to use Gradle to package dependencies and tasks to manipulate and analyze the model.","sidebar":"tutorialSidebar"},"api-documentation/layouts/diagrams":{"id":"api-documentation/layouts/diagrams","title":"Diagrams","description":"Diagrams are created using React Flow.","sidebar":"tutorialSidebar"},"api-documentation/layouts/pages":{"id":"api-documentation/layouts/pages","title":"Pages","description":"Create a src/vision/layouts/pages.json file (case-sensitive)","sidebar":"tutorialSidebar"},"api-documentation/layouts/tables":{"id":"api-documentation/layouts/tables","title":"Tables","description":"Tables are created using tanstack table.","sidebar":"tutorialSidebar"},"api-documentation/layouts/trees":{"id":"api-documentation/layouts/trees","title":"Trees","description":"Trees are created using React Arborist.","sidebar":"tutorialSidebar"},"api-documentation/required-directories":{"id":"api-documentation/required-directories","title":"Required Directories","description":"Config","sidebar":"tutorialSidebar"},"api-documentation/sparql":{"id":"api-documentation/sparql","title":"Sparql","description":"SPARQL is the main query language that is used to query the RDF triplestore.","sidebar":"tutorialSidebar"},"api-documentation/troubleshooting":{"id":"api-documentation/troubleshooting","title":"Troubleshooting","description":"Feel free to contact the OML Vision contributors for troubleshooting information if this guide does not suffice.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Get Started","description":"Let\'s discover OML Vision in less than 5 minutes.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/96fc3b76.43a16c97.js b/assets/js/96fc3b76.43a16c97.js deleted file mode 100644 index 7fefef9..0000000 --- a/assets/js/96fc3b76.43a16c97.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[1844],{4209:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var o=i(5893),t=i(1151);const s={sidebar_position:2},r="Config",c={id:"api-documentation/config",title:"Config",description:"The config or configuration directory contains the configuration the following API endpoints for the in-memory Fuseki RDF triplestore:",source:"@site/versioned_docs/version-0.1.0/api-documentation/config.md",sourceDirName:"api-documentation",slug:"/api-documentation/config",permalink:"/docs/api-documentation/config",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/config.md",tags:[],version:"0.1.0",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Required Directories",permalink:"/docs/api-documentation/required-directories"},next:{title:"Layouts",permalink:"/docs/category/layouts"}},d={},a=[{value:"sparqlConfig.json",id:"sparqlconfigjson",level:2},{value:"queryEndpoint",id:"queryendpoint",level:3},{value:"Fuseki",id:"fuseki",level:4},{value:"updateEndpoint",id:"updateendpoint",level:3},{value:"Fuseki",id:"fuseki-1",level:4}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"config",children:"Config"}),"\n",(0,o.jsxs)(n.p,{children:["The config or configuration directory contains the configuration the following API endpoints for the in-memory ",(0,o.jsx)(n.a,{href:"https://jena.apache.org/documentation/fuseki2/",children:"Fuseki"})," RDF triplestore:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"query"}),"\n",(0,o.jsx)(n.li,{children:"update"}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["An example of a config directory correctly formatted for OML Vision can be seen ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/config/sparqlConfig.json",children:"here"})]}),"\n",(0,o.jsx)(n.h2,{id:"sparqlconfigjson",children:"sparqlConfig.json"}),"\n",(0,o.jsx)(n.admonition,{title:"sparqlConfig.json",type:"info",children:(0,o.jsxs)(n.p,{children:["Create a ",(0,o.jsx)(n.code,{children:"src/vision/config/sparqlConfig.json"})," file (case-sensitive)"]})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"src/vision/config/sparqlConfig.json"})," file is responsible for specifying the query and update API endpoints."]}),"\n",(0,o.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,o.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/config/sparqlConfig.json",children:"here"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "queryEndpoint": "http://localhost:3030/tutorial2/sparql",\n "updateEndpoint": "http://localhost:3030/tutorial2/update"\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"queryendpoint",children:"queryEndpoint"}),"\n",(0,o.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:"queryEndpoint: string\n"})})}),"\n",(0,o.jsx)(n.p,{children:"This string defines the API query endpoint of the in-memory RDF triplestore."}),"\n",(0,o.jsx)(n.h4,{id:"fuseki",children:"Fuseki"}),"\n",(0,o.jsxs)(n.p,{children:["This endpoint can usually be found within the ",(0,o.jsx)(n.code,{children:".fuseki.ttl"})," file under the ",(0,o.jsx)(n.code,{children:"sparql"})," service. An example of how to specify this endpoint can be found ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/.fuseki.ttl#L15",children:"here"})]}),"\n",(0,o.jsx)(n.h3,{id:"updateendpoint",children:"updateEndpoint"}),"\n",(0,o.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:"updateEndpoint: string\n"})})}),"\n",(0,o.jsx)(n.p,{children:"This string defines the API update endpoint of the in-memory RDF triplestore."}),"\n",(0,o.jsx)(n.h4,{id:"fuseki-1",children:"Fuseki"}),"\n",(0,o.jsxs)(n.p,{children:["This endpoint can usually be found within the ",(0,o.jsx)(n.code,{children:".fuseki.ttl"})," file under the ",(0,o.jsx)(n.code,{children:"update"})," service. An example of how to specify this endpoint can be found ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/.fuseki.ttl#L14",children:"here"})]})]})}function p(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>r});var o=i(7294);const t={},s=o.createContext(t);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/96fc3b76.49eb0797.js b/assets/js/96fc3b76.49eb0797.js new file mode 100644 index 0000000..e8746df --- /dev/null +++ b/assets/js/96fc3b76.49eb0797.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[1844],{4209:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var o=i(5893),t=i(1151);const s={sidebar_position:2},r="Config",c={id:"api-documentation/config",title:"Config",description:"The config or configuration directory contains the configuration the following API endpoints for the in-memory Fuseki RDF triplestore:",source:"@site/versioned_docs/version-0.1.0/api-documentation/config.md",sourceDirName:"api-documentation",slug:"/api-documentation/config",permalink:"/oml-vision-docs/docs/api-documentation/config",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/config.md",tags:[],version:"0.1.0",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Required Directories",permalink:"/oml-vision-docs/docs/api-documentation/required-directories"},next:{title:"Layouts",permalink:"/oml-vision-docs/docs/category/layouts"}},d={},l=[{value:"sparqlConfig.json",id:"sparqlconfigjson",level:2},{value:"queryEndpoint",id:"queryendpoint",level:3},{value:"Fuseki",id:"fuseki",level:4},{value:"updateEndpoint",id:"updateendpoint",level:3},{value:"Fuseki",id:"fuseki-1",level:4}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"config",children:"Config"}),"\n",(0,o.jsxs)(n.p,{children:["The config or configuration directory contains the configuration the following API endpoints for the in-memory ",(0,o.jsx)(n.a,{href:"https://jena.apache.org/documentation/fuseki2/",children:"Fuseki"})," RDF triplestore:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"query"}),"\n",(0,o.jsx)(n.li,{children:"update"}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["An example of a config directory correctly formatted for OML Vision can be seen ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/config/sparqlConfig.json",children:"here"})]}),"\n",(0,o.jsx)(n.h2,{id:"sparqlconfigjson",children:"sparqlConfig.json"}),"\n",(0,o.jsx)(n.admonition,{title:"sparqlConfig.json",type:"info",children:(0,o.jsxs)(n.p,{children:["Create a ",(0,o.jsx)(n.code,{children:"src/vision/config/sparqlConfig.json"})," file (case-sensitive)"]})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"src/vision/config/sparqlConfig.json"})," file is responsible for specifying the query and update API endpoints."]}),"\n",(0,o.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,o.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/config/sparqlConfig.json",children:"here"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "queryEndpoint": "http://localhost:3030/tutorial2/sparql",\n "updateEndpoint": "http://localhost:3030/tutorial2/update"\n}\n'})}),"\n",(0,o.jsx)(n.h3,{id:"queryendpoint",children:"queryEndpoint"}),"\n",(0,o.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:"queryEndpoint: string\n"})})}),"\n",(0,o.jsx)(n.p,{children:"This string defines the API query endpoint of the in-memory RDF triplestore."}),"\n",(0,o.jsx)(n.h4,{id:"fuseki",children:"Fuseki"}),"\n",(0,o.jsxs)(n.p,{children:["This endpoint can usually be found within the ",(0,o.jsx)(n.code,{children:".fuseki.ttl"})," file under the ",(0,o.jsx)(n.code,{children:"sparql"})," service. An example of how to specify this endpoint can be found ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/.fuseki.ttl#L15",children:"here"})]}),"\n",(0,o.jsx)(n.h3,{id:"updateendpoint",children:"updateEndpoint"}),"\n",(0,o.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:"updateEndpoint: string\n"})})}),"\n",(0,o.jsx)(n.p,{children:"This string defines the API update endpoint of the in-memory RDF triplestore."}),"\n",(0,o.jsx)(n.h4,{id:"fuseki-1",children:"Fuseki"}),"\n",(0,o.jsxs)(n.p,{children:["This endpoint can usually be found within the ",(0,o.jsx)(n.code,{children:".fuseki.ttl"})," file under the ",(0,o.jsx)(n.code,{children:"update"})," service. An example of how to specify this endpoint can be found ",(0,o.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/.fuseki.ttl#L14",children:"here"})]})]})}function p(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>r});var o=i(7294);const t={},s=o.createContext(t);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/98b4f26e.f3420dc7.js b/assets/js/98b4f26e.f3420dc7.js deleted file mode 100644 index f981115..0000000 --- a/assets/js/98b4f26e.f3420dc7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[5991],{6898:t=>{t.exports=JSON.parse('{"title":"Layouts","description":"API documentation for layouts within OML Vision.","slug":"/category/layouts","permalink":"/docs/next/category/layouts","navigation":{"previous":{"title":"Config","permalink":"/docs/next/api-documentation/config"},"next":{"title":"Pages","permalink":"/docs/next/api-documentation/layouts/pages"}}}')}}]); \ No newline at end of file diff --git a/assets/js/a55d6365.55e52419.js b/assets/js/a55d6365.55e52419.js new file mode 100644 index 0000000..3ceed33 --- /dev/null +++ b/assets/js/a55d6365.55e52419.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9324],{2910:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var n=i(5893),a=i(1151);const s={slug:"initial-release",title:"v0.1.0 Initial Release",authors:["levitt"],tags:["oml","vscode"]},l=void 0,o={permalink:"/oml-vision-docs/changelog/initial-release",editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/changelog/2024-01-09-v0.1.0-initial-release/index.md",source:"@site/changelog/2024-01-09-v0.1.0-initial-release/index.md",title:"v0.1.0 Initial Release",description:"v0.1.0 Initial Release",date:"2024-01-09T00:00:00.000Z",formattedDate:"January 9, 2024",tags:[{label:"oml",permalink:"/oml-vision-docs/changelog/tags/oml"},{label:"vscode",permalink:"/oml-vision-docs/changelog/tags/vscode"}],readingTime:.06,hasTruncateMarker:!1,authors:[{name:"Aaron Levitt",title:"Full Stack Engineer @ NASA JPL",url:"https://www.opencaesar.io/contributors/Aaron%20Levitt.html",imageURL:"https://www.opencaesar.io/assets/img/aaron.jpeg",key:"levitt"}],frontMatter:{slug:"initial-release",title:"v0.1.0 Initial Release",authors:["levitt"],tags:["oml","vscode"]},unlisted:!1},r={authorsImageUrls:[void 0]},c=[{value:"v0.1.0 Initial Release",id:"v010-initial-release",level:2},{value:"Added",id:"added",level:3}];function d(e){const t={h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"v010-initial-release",children:"v0.1.0 Initial Release"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"OML Vision Logo",src:i(3411).Z+"",width:"960",height:"192"})}),"\n",(0,n.jsx)(t.h3,{id:"added",children:"Added"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Initial release"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3411:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/vision480x96-dc2fc7ac2c5286f0d35547b97cb7da40.png"},1151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>l});var n=i(7294);const a={},s=n.createContext(a);function l(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a55d6365.eb1a3a20.js b/assets/js/a55d6365.eb1a3a20.js deleted file mode 100644 index 8a4e14e..0000000 --- a/assets/js/a55d6365.eb1a3a20.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9324],{2910:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var a=i(5893),n=i(1151);const s={slug:"initial-release",title:"v0.1.0 Initial Release",authors:["levitt"],tags:["oml","vscode"]},l=void 0,o={permalink:"/changelog/initial-release",editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/changelog/2024-01-09-v0.1.0-initial-release/index.md",source:"@site/changelog/2024-01-09-v0.1.0-initial-release/index.md",title:"v0.1.0 Initial Release",description:"v0.1.0 Initial Release",date:"2024-01-09T00:00:00.000Z",formattedDate:"January 9, 2024",tags:[{label:"oml",permalink:"/changelog/tags/oml"},{label:"vscode",permalink:"/changelog/tags/vscode"}],readingTime:.06,hasTruncateMarker:!1,authors:[{name:"Aaron Levitt",title:"Full Stack Engineer @ NASA JPL",url:"https://www.opencaesar.io/contributors/Aaron%20Levitt.html",imageURL:"https://www.opencaesar.io/assets/img/aaron.jpeg",key:"levitt"}],frontMatter:{slug:"initial-release",title:"v0.1.0 Initial Release",authors:["levitt"],tags:["oml","vscode"]},unlisted:!1},r={authorsImageUrls:[void 0]},c=[{value:"v0.1.0 Initial Release",id:"v010-initial-release",level:2},{value:"Added",id:"added",level:3}];function d(e){const t={h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"v010-initial-release",children:"v0.1.0 Initial Release"}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"OML Vision Logo",src:i(3411).Z+"",width:"960",height:"192"})}),"\n",(0,a.jsx)(t.h3,{id:"added",children:"Added"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Initial release"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3411:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/vision480x96-dc2fc7ac2c5286f0d35547b97cb7da40.png"},1151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>l});var a=i(7294);const n={},s=a.createContext(n);function l(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a76238d1.564e028a.js b/assets/js/a76238d1.564e028a.js deleted file mode 100644 index 24feeca..0000000 --- a/assets/js/a76238d1.564e028a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[1152],{3476:s=>{s.exports=JSON.parse('{"label":"oml","permalink":"/changelog/tags/oml","allTagsPath":"/changelog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/bf8ae006.149c76b8.js b/assets/js/bf8ae006.149c76b8.js new file mode 100644 index 0000000..f316543 --- /dev/null +++ b/assets/js/bf8ae006.149c76b8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[8344],{6567:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var s=i(5893),r=i(1151);const a={sidebar_position:4},t="Diagrams",o={id:"api-documentation/layouts/diagrams",title:"Diagrams",description:"Diagrams are created using React Flow.",source:"@site/versioned_docs/version-0.1.0/api-documentation/layouts/diagrams.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/diagrams",permalink:"/oml-vision-docs/docs/api-documentation/layouts/diagrams",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/layouts/diagrams.md",tags:[],version:"0.1.0",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Trees",permalink:"/oml-vision-docs/docs/api-documentation/layouts/trees"},next:{title:"Sparql",permalink:"/oml-vision-docs/docs/api-documentation/sparql"}},d={},c=[{value:"Defining Diagram",id:"defining-diagram",level:2},{value:"Terminology",id:"terminology",level:3},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"colorKey",id:"colorkey",level:4},{value:"edgeMatchKey",id:"edgematchkey",level:4},{value:"subRowMappings",id:"subrowmappings",level:4},{value:"edges",id:"edges",level:3},{value:"sourceKey",id:"sourcekey",level:4},{value:"targetKey",id:"targetkey",level:4}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"diagrams",children:"Diagrams"}),"\n",(0,s.jsxs)(n.p,{children:["Diagrams are created using ",(0,s.jsx)(n.a,{href:"https://reactflow.dev/",children:"React Flow"}),"."]}),"\n",(0,s.jsx)(n.admonition,{title:"diagrams.json",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"src/vision/layouts/diagrams.json"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"src/vision/layouts/diagrams.json"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Defining what OML Vision Diagrams can render","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Name of the Diagrams"}),"\n",(0,s.jsx)(n.li,{children:"Name of the nodes for the Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Name of the edges for the Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Queries for the Diagram node content"}),"\n",(0,s.jsx)(n.li,{children:"Queries for the Diagram edge content"}),"\n",(0,s.jsx)(n.li,{children:"How to map Diagrams node queries to edge queries"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,s.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/src/vision/layouts/diagramLayouts.json",children:"here"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "decompositions": {\n "name": "Decomposition",\n "queries": {\n "decompositions": "component.sparql",\n "edge": "component.sparql"\n },\n "rowMapping": {\n "id": "decompositions",\n "name": "System",\n "labelFormat": "{c1_localname}",\n "colorKey": "c1_localname",\n "edgeMatchKey": "c1_localname"\n },\n "edges": [\n {\n "id": "edge",\n "name": "Edge",\n "labelFormat": "hasSubsystem",\n "colorKey": "c2_localname",\n "sourceKey": "c1_localname",\n "targetKey": "c2_localname"\n }\n ]\n },\n "movingscenario": {\n "name": "Scenario",\n "queries": {\n "movingscenario": "scenario_move.sparql",\n "edge": "scenario_move.sparql"\n },\n "rowMapping": {\n "id": "movingscenario",\n "name": "Task",\n "labelFormat": "{f2_id} \\n {f2_cname}",\n "colorKey": "f2_id",\n "edgeMatchKey": "f2_id"\n },\n "edges": [\n {\n "id": "edge",\n "name": "Edge",\n "labelFormat": "invokes",\n "colorKey": "f2_id",\n "sourceKey": "f2_id",\n "targetKey": "f3_id"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"defining-diagram",children:"Defining Diagram"}),"\n",(0,s.jsx)(n.p,{children:"A Diagram must be properly defined in order to be rendered by OML Vision"}),"\n",(0,s.jsx)(n.h3,{id:"terminology",children:"Terminology"}),"\n",(0,s.jsx)(n.p,{children:"OML Vision defines a node and edge as follows:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Node: A graphical element that contains information"}),"\n",(0,s.jsx)(n.li,{children:"Edge: A graphical element that connects information"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Terminology",src:i(8924).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the Diagram."}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,s.jsx)(n.code,{children:"pages.json"}),"."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Path",src:i(2709).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string gives a name to the Diagram in the ",(0,s.jsx)(n.code,{children:"diagramLayouts.json"})," file."]}),"\n",(0,s.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Diagram."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,s.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,s.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,s.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,s.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,s.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,s.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This object defines how the ",(0,s.jsx)(n.code,{children:"queries"})," map to the ",(0,s.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,s.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string the ",(0,s.jsx)(n.code,{children:"id"})," for the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,s.jsx)(n.code,{children:"columnNames"}),"."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Row Mapping Id",src:i(7413).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string gives a name to the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Diagram shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),(0,s.jsxs)(n.p,{children:["An example is found ",(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/src/vision/layouts/diagramLayouts.json#L11",children:"here"})]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Column Names",src:i(7792).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"colorkey",children:"colorKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"colorKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string is the seed for a random color generator for the nodes rendered in the Diagram. Needed to generate legend."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),"\n",(0,s.jsx)(n.h4,{id:"edgematchkey",children:"edgeMatchKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"edgeMatchKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the edge for each node in the Diagram."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),"\n",(0,s.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n colorKey: string\n edgeMatchKey: string\n }[]\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", ",(0,s.jsx)(n.code,{children:"colorKey"}),", and ",(0,s.jsx)(n.code,{children:"edgeMatchKey"})," for the subrows of the Diagram."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", ",(0,s.jsx)(n.code,{children:"colorKey"}),", and ",(0,s.jsx)(n.code,{children:"edgeMatchKey"})," have the same data structure as ",(0,s.jsx)(n.code,{children:"rowMapping"})]})}),"\n",(0,s.jsx)(n.h3,{id:"edges",children:"edges"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"edges: {\n id: string\n name: string\n labelFormat: string\n colorKey: string\n sourceKey: string\n targetKey: string\n }[]\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"edges"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", and ",(0,s.jsx)(n.code,{children:"colorKey"})," for the edges of the Diagram."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", and ",(0,s.jsx)(n.code,{children:"colorKey"})," have the same data structure as ",(0,s.jsx)(n.code,{children:"rowMapping"})]})}),"\n",(0,s.jsx)(n.h4,{id:"sourcekey",children:"sourceKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"sourceKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the source node for the edge in the Diagram."}),"\n",(0,s.jsx)(n.h4,{id:"targetkey",children:"targetKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"targetKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the target node for the edge in the Diagram."})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},2709:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramPath-a32511528971d0cc075408af2c16977f.png"},7413:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramRowMappingId-25edd3d007281287babb45748ab9b2ef.png"},7792:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramRowMappingLabelFormat-7af8527188340d03e466480840453128.png"},8924:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramTerminology-5efcbc91d5039268075d4fbe30067687.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>t});var s=i(7294);const r={},a=s.createContext(r);function t(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bf8ae006.3f64fe10.js b/assets/js/bf8ae006.3f64fe10.js deleted file mode 100644 index 112ccca..0000000 --- a/assets/js/bf8ae006.3f64fe10.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[8344],{6567:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var s=i(5893),r=i(1151);const a={sidebar_position:4},t="Diagrams",o={id:"api-documentation/layouts/diagrams",title:"Diagrams",description:"Diagrams are created using React Flow.",source:"@site/versioned_docs/version-0.1.0/api-documentation/layouts/diagrams.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/diagrams",permalink:"/docs/api-documentation/layouts/diagrams",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/layouts/diagrams.md",tags:[],version:"0.1.0",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Trees",permalink:"/docs/api-documentation/layouts/trees"},next:{title:"Sparql",permalink:"/docs/api-documentation/sparql"}},d={},c=[{value:"Defining Diagram",id:"defining-diagram",level:2},{value:"Terminology",id:"terminology",level:3},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"colorKey",id:"colorkey",level:4},{value:"edgeMatchKey",id:"edgematchkey",level:4},{value:"subRowMappings",id:"subrowmappings",level:4},{value:"edges",id:"edges",level:3},{value:"sourceKey",id:"sourcekey",level:4},{value:"targetKey",id:"targetkey",level:4}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"diagrams",children:"Diagrams"}),"\n",(0,s.jsxs)(n.p,{children:["Diagrams are created using ",(0,s.jsx)(n.a,{href:"https://reactflow.dev/",children:"React Flow"}),"."]}),"\n",(0,s.jsx)(n.admonition,{title:"diagrams.json",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"src/vision/layouts/diagrams.json"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"src/vision/layouts/diagrams.json"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Defining what OML Vision Diagrams can render","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Name of the Diagrams"}),"\n",(0,s.jsx)(n.li,{children:"Name of the nodes for the Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Name of the edges for the Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Queries for the Diagram node content"}),"\n",(0,s.jsx)(n.li,{children:"Queries for the Diagram edge content"}),"\n",(0,s.jsx)(n.li,{children:"How to map Diagrams node queries to edge queries"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,s.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/src/vision/layouts/diagramLayouts.json",children:"here"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "decompositions": {\n "name": "Decomposition",\n "queries": {\n "decompositions": "component.sparql",\n "edge": "component.sparql"\n },\n "rowMapping": {\n "id": "decompositions",\n "name": "System",\n "labelFormat": "{c1_localname}",\n "colorKey": "c1_localname",\n "edgeMatchKey": "c1_localname"\n },\n "edges": [\n {\n "id": "edge",\n "name": "Edge",\n "labelFormat": "hasSubsystem",\n "colorKey": "c2_localname",\n "sourceKey": "c1_localname",\n "targetKey": "c2_localname"\n }\n ]\n },\n "movingscenario": {\n "name": "Scenario",\n "queries": {\n "movingscenario": "scenario_move.sparql",\n "edge": "scenario_move.sparql"\n },\n "rowMapping": {\n "id": "movingscenario",\n "name": "Task",\n "labelFormat": "{f2_id} \\n {f2_cname}",\n "colorKey": "f2_id",\n "edgeMatchKey": "f2_id"\n },\n "edges": [\n {\n "id": "edge",\n "name": "Edge",\n "labelFormat": "invokes",\n "colorKey": "f2_id",\n "sourceKey": "f2_id",\n "targetKey": "f3_id"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"defining-diagram",children:"Defining Diagram"}),"\n",(0,s.jsx)(n.p,{children:"A Diagram must be properly defined in order to be rendered by OML Vision"}),"\n",(0,s.jsx)(n.h3,{id:"terminology",children:"Terminology"}),"\n",(0,s.jsx)(n.p,{children:"OML Vision defines a node and edge as follows:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Node: A graphical element that contains information"}),"\n",(0,s.jsx)(n.li,{children:"Edge: A graphical element that connects information"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Terminology",src:i(8924).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the Diagram."}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,s.jsx)(n.code,{children:"pages.json"}),"."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Path",src:i(2709).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string gives a name to the Diagram in the ",(0,s.jsx)(n.code,{children:"diagramLayouts.json"})," file."]}),"\n",(0,s.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Diagram."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,s.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,s.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,s.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,s.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,s.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,s.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This object defines how the ",(0,s.jsx)(n.code,{children:"queries"})," map to the ",(0,s.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,s.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string the ",(0,s.jsx)(n.code,{children:"id"})," for the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,s.jsx)(n.code,{children:"columnNames"}),"."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Row Mapping Id",src:i(7413).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string gives a name to the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Diagram shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),(0,s.jsxs)(n.p,{children:["An example is found ",(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/src/vision/layouts/diagramLayouts.json#L11",children:"here"})]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Column Names",src:i(7792).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"colorkey",children:"colorKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"colorKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string is the seed for a random color generator for the nodes rendered in the Diagram. Needed to generate legend."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),"\n",(0,s.jsx)(n.h4,{id:"edgematchkey",children:"edgeMatchKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"edgeMatchKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the edge for each node in the Diagram."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),"\n",(0,s.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n colorKey: string\n edgeMatchKey: string\n }[]\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", ",(0,s.jsx)(n.code,{children:"colorKey"}),", and ",(0,s.jsx)(n.code,{children:"edgeMatchKey"})," for the subrows of the Diagram."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", ",(0,s.jsx)(n.code,{children:"colorKey"}),", and ",(0,s.jsx)(n.code,{children:"edgeMatchKey"})," have the same data structure as ",(0,s.jsx)(n.code,{children:"rowMapping"})]})}),"\n",(0,s.jsx)(n.h3,{id:"edges",children:"edges"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"edges: {\n id: string\n name: string\n labelFormat: string\n colorKey: string\n sourceKey: string\n targetKey: string\n }[]\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"edges"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", and ",(0,s.jsx)(n.code,{children:"colorKey"})," for the edges of the Diagram."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", and ",(0,s.jsx)(n.code,{children:"colorKey"})," have the same data structure as ",(0,s.jsx)(n.code,{children:"rowMapping"})]})}),"\n",(0,s.jsx)(n.h4,{id:"sourcekey",children:"sourceKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"sourceKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the source node for the edge in the Diagram."}),"\n",(0,s.jsx)(n.h4,{id:"targetkey",children:"targetKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"targetKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the target node for the edge in the Diagram."})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},2709:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramPath-a32511528971d0cc075408af2c16977f.png"},7413:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramRowMappingId-25edd3d007281287babb45748ab9b2ef.png"},7792:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramRowMappingLabelFormat-7af8527188340d03e466480840453128.png"},8924:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramTerminology-5efcbc91d5039268075d4fbe30067687.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>t});var s=i(7294);const r={},a=s.createContext(r);function t(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c420c970.6d5b6148.js b/assets/js/c420c970.6d5b6148.js deleted file mode 100644 index b3fe80f..0000000 --- a/assets/js/c420c970.6d5b6148.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[8890],{676:e=>{e.exports=JSON.parse('{"title":"API Documentation","description":"API documentation for OML Vision.","slug":"/category/api-documentation","permalink":"/docs/next/category/api-documentation","navigation":{"previous":{"title":"Get Started","permalink":"/docs/next/intro"},"next":{"title":"Required Directories","permalink":"/docs/next/api-documentation/required-directories"}}}')}}]); \ No newline at end of file diff --git a/assets/js/cb4587bf.86ae2572.js b/assets/js/cb4587bf.86ae2572.js new file mode 100644 index 0000000..dd641bd --- /dev/null +++ b/assets/js/cb4587bf.86ae2572.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[8385],{7465:s=>{s.exports=JSON.parse('{"permalink":"/oml-vision-docs/changelog/tags/vscode","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/d2a3434d.7d782837.js b/assets/js/d2a3434d.7d782837.js new file mode 100644 index 0000000..1af7317 --- /dev/null +++ b/assets/js/d2a3434d.7d782837.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[4354],{3417:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>a,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var s=i(5893),t=i(1151);const r={sidebar_position:1},d="Pages",o={id:"api-documentation/layouts/pages",title:"Pages",description:"Create a src/vision/layouts/pages.json file (case-sensitive)",source:"@site/versioned_docs/version-0.1.0/api-documentation/layouts/pages.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/pages",permalink:"/oml-vision-docs/docs/api-documentation/layouts/pages",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/layouts/pages.md",tags:[],version:"0.1.0",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Layouts",permalink:"/oml-vision-docs/docs/category/layouts"},next:{title:"Tables",permalink:"/oml-vision-docs/docs/api-documentation/layouts/tables"}},l={},c=[{value:"Home Page",id:"home-page",level:2},{value:"title",id:"title",level:3},{value:"path",id:"path",level:3},{value:"treeIcon",id:"treeicon",level:3},{value:"Child Pages",id:"child-pages",level:2},{value:"title",id:"title-1",level:3},{value:"treeIcon",id:"treeicon-1",level:3},{value:"iconUrl",id:"iconurl",level:3},{value:"children",id:"children",level:3},{value:"title",id:"title-2",level:4},{value:"path",id:"path-1",level:4},{value:"treeIcon",id:"treeicon-2",level:4},{value:"isTree",id:"istree",level:4},{value:"isDiagram",id:"isdiagram",level:4}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"pages",children:"Pages"}),"\n",(0,s.jsx)(n.admonition,{title:"pages.json",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"src/vision/layouts/pages.json"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"src/vision/layouts/pages.json"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Defining what OML Vision can render","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Home Page","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Sidebar","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Child Pages","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Table, Tree, or Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Defining the path to the content that OML Vision renders"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,s.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/pages.json",children:"here"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'[\n { "title": "Home", "path": "/", "treeIcon": "home" },\n {\n "title": "Kepler16b",\n "treeIcon": "server",\n "iconUrl": "https://nasa-jpl.github.io/stellar/icons/satellite.svg",\n "children": [\n { \n "title": "Objectives",\n "treeIcon": "window",\n "path": "objectives" \n },\n {\n "title": "Missions",\n "treeIcon": "graph-scatter",\n "path": "missions",\n "isDiagram": true\n },\n {\n "title": "Components",\n "treeIcon": "list-tree",\n "path": "components",\n "isTree": true\n },\n {\n "title": "Connections",\n "treeIcon": "window",\n "path": "connections"\n },\n {\n "title": "Requirements",\n "treeIcon": "list-tree",\n "path": "requirements",\n "isTree": true\n }\n ]\n }\n]\n'})}),"\n",(0,s.jsx)(n.h2,{id:"home-page",children:"Home Page"}),"\n",(0,s.jsx)(n.p,{children:"The home page acts as an entry point for users to navigate through the pages that OML Vision renders."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Home Page",src:i(8773).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:'This string defines the title of the home page. A good name for the home page is "Home" or "Frontpage"'}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," is rendered in the sidebar for the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Title Home Page",src:i(1090).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the page."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["For the ",(0,s.jsx)(n.code,{children:"Home Page"})," the path must be ",(0,s.jsx)(n.code,{children:"/"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is rendered in the sidebar when you hover and hold for 2 seconds over the ",(0,s.jsx)(n.code,{children:"Home Page"})," in the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Path Home Page",src:i(6504).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"treeicon",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Home Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Path Home Page",src:i(7209).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h2,{id:"child-pages",children:"Child Pages"}),"\n",(0,s.jsxs)(n.p,{children:["Child pages are pages that are grouped with other similar pages. The paths to these pages are rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," shown in the red boxes."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"OML Vision supports more than 1 child page."})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Child Page",src:i(8796).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"title-1",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the title of the child page."}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," is rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"}),"."]})}),"\n",(0,s.jsx)(n.h3,{id:"treeicon-1",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h3,{id:"iconurl",children:"iconUrl"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"iconUrl: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the icon that is rendered in the home page."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Supported image file formats are .svg, .png, or .jpg"})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"iconUrl"})," is rendered in the ",(0,s.jsx)(n.code,{children:"Home Page"})," in the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Icon URL Child Page",src:i(3634).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"children",children:"children"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"children: {\n title: string;\n path: string;\n treeIcon: string;\n isTree: boolean;\n isDiagram: boolean;\n }[];\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"children"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"title"}),", ",(0,s.jsx)(n.code,{children:"path"}),", and ",(0,s.jsx)(n.code,{children:"treeIcon"})," of the ",(0,s.jsx)(n.code,{children:"Child Page"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["You can more than one ",(0,s.jsx)(n.code,{children:"Child Page"})," in the ",(0,s.jsx)(n.code,{children:"children"})," array."]})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"By default all child pages are rendered as tables unless specified with the isTree or isDiagram booleans."})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Pages"})," are rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," of the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Children Pages",src:i(195).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"title-2",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the title of the child page."}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," of the ",(0,s.jsx)(n.code,{children:"Child Page"})," is rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," of the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"path-1",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the path of the ",(0,s.jsx)(n.code,{children:"Child Page"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Remember this string as it will be needed for the layouts of the tables, trees, and diagrams"})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is rendered in the sidebar when you hover and hold for 2 seconds over the ",(0,s.jsx)(n.code,{children:"Child Page"})," in the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"treeicon-2",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"istree",children:"isTree"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"isTree: boolean\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This bool specifies whether or not the ",(0,s.jsx)(n.code,{children:"Child Page"})," will be a tree. Set ",(0,s.jsx)(n.code,{children:"isTree"})," to ",(0,s.jsx)(n.code,{children:"true"})," to turn the ",(0,s.jsx)(n.code,{children:"Child Page"})," into a tree."]}),"\n",(0,s.jsx)(n.h4,{id:"isdiagram",children:"isDiagram"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"isDiagram: boolean\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This bool specifies whether or not the ",(0,s.jsx)(n.code,{children:"Child Page"})," will be a diagram. Set ",(0,s.jsx)(n.code,{children:"isDiagram"})," to ",(0,s.jsx)(n.code,{children:"true"})," to turn the ",(0,s.jsx)(n.code,{children:"Child Page"})," into a diagram."]})]})}function a(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8796:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/childPage-b0eefc3ba8754e79a2d45ae27d1da925.png"},195:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/childrenPages-6845941fa407816b67303b0d3001d557.png"},8773:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/homePage-0a92501ab6a4e75d2676ca2efafeeac7.png"},3634:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/iconUrlChildPage-758702ff18d55234e20bb6aacdacff6c.png"},6504:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/pathHomePage-b4ddf59e6ce537c4d52af3b1933479e5.png"},1090:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/titleHomePage-14c24d51c735db2b9f1969d3db9c996d.png"},7209:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/treeIconHomePage-348f964f69e08422602fb69d22ff0f1f.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>d});var s=i(7294);const t={},r=s.createContext(t);function d(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d2a3434d.84f4f920.js b/assets/js/d2a3434d.84f4f920.js deleted file mode 100644 index 40d1776..0000000 --- a/assets/js/d2a3434d.84f4f920.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[4354],{3417:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>a,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var s=i(5893),t=i(1151);const r={sidebar_position:1},d="Pages",o={id:"api-documentation/layouts/pages",title:"Pages",description:"Create a src/vision/layouts/pages.json file (case-sensitive)",source:"@site/versioned_docs/version-0.1.0/api-documentation/layouts/pages.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/pages",permalink:"/docs/api-documentation/layouts/pages",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/versioned_docs/version-0.1.0/api-documentation/layouts/pages.md",tags:[],version:"0.1.0",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Layouts",permalink:"/docs/category/layouts"},next:{title:"Tables",permalink:"/docs/api-documentation/layouts/tables"}},l={},c=[{value:"Home Page",id:"home-page",level:2},{value:"title",id:"title",level:3},{value:"path",id:"path",level:3},{value:"treeIcon",id:"treeicon",level:3},{value:"Child Pages",id:"child-pages",level:2},{value:"title",id:"title-1",level:3},{value:"treeIcon",id:"treeicon-1",level:3},{value:"iconUrl",id:"iconurl",level:3},{value:"children",id:"children",level:3},{value:"title",id:"title-2",level:4},{value:"path",id:"path-1",level:4},{value:"treeIcon",id:"treeicon-2",level:4},{value:"isTree",id:"istree",level:4},{value:"isDiagram",id:"isdiagram",level:4}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"pages",children:"Pages"}),"\n",(0,s.jsx)(n.admonition,{title:"pages.json",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"src/vision/layouts/pages.json"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"src/vision/layouts/pages.json"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Defining what OML Vision can render","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Home Page","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Sidebar","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Child Pages","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Titles"}),"\n",(0,s.jsx)(n.li,{children:"Table, Tree, or Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Icons"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Defining the path to the content that OML Vision renders"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,s.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,s.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/pages.json",children:"here"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'[\n { "title": "Home", "path": "/", "treeIcon": "home" },\n {\n "title": "Kepler16b",\n "treeIcon": "server",\n "iconUrl": "https://nasa-jpl.github.io/stellar/icons/satellite.svg",\n "children": [\n { \n "title": "Objectives",\n "treeIcon": "window",\n "path": "objectives" \n },\n {\n "title": "Missions",\n "treeIcon": "graph-scatter",\n "path": "missions",\n "isDiagram": true\n },\n {\n "title": "Components",\n "treeIcon": "list-tree",\n "path": "components",\n "isTree": true\n },\n {\n "title": "Connections",\n "treeIcon": "window",\n "path": "connections"\n },\n {\n "title": "Requirements",\n "treeIcon": "list-tree",\n "path": "requirements",\n "isTree": true\n }\n ]\n }\n]\n'})}),"\n",(0,s.jsx)(n.h2,{id:"home-page",children:"Home Page"}),"\n",(0,s.jsx)(n.p,{children:"The home page acts as an entry point for users to navigate through the pages that OML Vision renders."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Home Page",src:i(8773).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"title",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:'This string defines the title of the home page. A good name for the home page is "Home" or "Frontpage"'}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," is rendered in the sidebar for the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Title Home Page",src:i(1090).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the page."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["For the ",(0,s.jsx)(n.code,{children:"Home Page"})," the path must be ",(0,s.jsx)(n.code,{children:"/"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is rendered in the sidebar when you hover and hold for 2 seconds over the ",(0,s.jsx)(n.code,{children:"Home Page"})," in the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Path Home Page",src:i(6504).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"treeicon",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Home Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Path Home Page",src:i(7209).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h2,{id:"child-pages",children:"Child Pages"}),"\n",(0,s.jsxs)(n.p,{children:["Child pages are pages that are grouped with other similar pages. The paths to these pages are rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," shown in the red boxes."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"OML Vision supports more than 1 child page."})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Child Page",src:i(8796).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"title-1",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the title of the child page."}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," is rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"}),"."]})}),"\n",(0,s.jsx)(n.h3,{id:"treeicon-1",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h3,{id:"iconurl",children:"iconUrl"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"iconUrl: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the icon that is rendered in the home page."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Supported image file formats are .svg, .png, or .jpg"})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"iconUrl"})," is rendered in the ",(0,s.jsx)(n.code,{children:"Home Page"})," in the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Icon URL Child Page",src:i(3634).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"children",children:"children"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"children: {\n title: string;\n path: string;\n treeIcon: string;\n isTree: boolean;\n isDiagram: boolean;\n }[];\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"children"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"title"}),", ",(0,s.jsx)(n.code,{children:"path"}),", and ",(0,s.jsx)(n.code,{children:"treeIcon"})," of the ",(0,s.jsx)(n.code,{children:"Child Page"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["You can more than one ",(0,s.jsx)(n.code,{children:"Child Page"})," in the ",(0,s.jsx)(n.code,{children:"children"})," array."]})}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"By default all child pages are rendered as tables unless specified with the isTree or isDiagram booleans."})}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Pages"})," are rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," of the OML Vision extension shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Children Pages",src:i(195).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"title-2",children:"title"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"title: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the title of the child page."}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"title"})," of the ",(0,s.jsx)(n.code,{children:"Child Page"})," is rendered in the sidebar and in the ",(0,s.jsx)(n.code,{children:"Home Page"})," of the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"path-1",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the path of the ",(0,s.jsx)(n.code,{children:"Child Page"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Remember this string as it will be needed for the layouts of the tables, trees, and diagrams"})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is rendered in the sidebar when you hover and hold for 2 seconds over the ",(0,s.jsx)(n.code,{children:"Child Page"})," in the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"treeicon-2",children:"treeIcon"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"treeIcon: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string defines the icon to be rendered in the sidebar next to the ",(0,s.jsx)(n.code,{children:"Title"})," of the page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["A full list of available icons can be seen ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/api/references/icons-in-labels#icon-listing",children:"here"}),". Use the ",(0,s.jsx)(n.code,{children:"default codicon ID"})," as the value of the ",(0,s.jsx)(n.code,{children:"treeIcon"})]})}),"\n",(0,s.jsx)(n.admonition,{title:"USER INTERFACE",type:"tip",children:(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Child Page"})," icon of the ",(0,s.jsx)(n.code,{children:"treeIcon"})," is rendered in the sidebar for the OML Vision extension."]})}),"\n",(0,s.jsx)(n.h4,{id:"istree",children:"isTree"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"isTree: boolean\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This bool specifies whether or not the ",(0,s.jsx)(n.code,{children:"Child Page"})," will be a tree. Set ",(0,s.jsx)(n.code,{children:"isTree"})," to ",(0,s.jsx)(n.code,{children:"true"})," to turn the ",(0,s.jsx)(n.code,{children:"Child Page"})," into a tree."]}),"\n",(0,s.jsx)(n.h4,{id:"isdiagram",children:"isDiagram"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"isDiagram: boolean\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This bool specifies whether or not the ",(0,s.jsx)(n.code,{children:"Child Page"})," will be a diagram. Set ",(0,s.jsx)(n.code,{children:"isDiagram"})," to ",(0,s.jsx)(n.code,{children:"true"})," to turn the ",(0,s.jsx)(n.code,{children:"Child Page"})," into a diagram."]})]})}function a(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8796:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/childPage-b0eefc3ba8754e79a2d45ae27d1da925.png"},195:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/childrenPages-6845941fa407816b67303b0d3001d557.png"},8773:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/homePage-0a92501ab6a4e75d2676ca2efafeeac7.png"},3634:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/iconUrlChildPage-758702ff18d55234e20bb6aacdacff6c.png"},6504:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/pathHomePage-b4ddf59e6ce537c4d52af3b1933479e5.png"},1090:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/titleHomePage-14c24d51c735db2b9f1969d3db9c996d.png"},7209:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/treeIconHomePage-348f964f69e08422602fb69d22ff0f1f.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>d});var s=i(7294);const t={},r=s.createContext(t);function d(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d43d216c.b4c86202.js b/assets/js/d43d216c.b4c86202.js new file mode 100644 index 0000000..b11a590 --- /dev/null +++ b/assets/js/d43d216c.b4c86202.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6498],{3053:s=>{s.exports=JSON.parse('{"title":"Layouts","description":"API documentation for layouts within OML Vision.","slug":"/category/layouts","permalink":"/oml-vision-docs/docs/next/category/layouts","navigation":{"previous":{"title":"Config","permalink":"/oml-vision-docs/docs/next/api-documentation/config"},"next":{"title":"Pages","permalink":"/oml-vision-docs/docs/next/api-documentation/layouts/pages"}}}')}}]); \ No newline at end of file diff --git a/assets/js/d503be93.a281305e.js b/assets/js/d503be93.a281305e.js deleted file mode 100644 index a6b64ed..0000000 --- a/assets/js/d503be93.a281305e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[9653],{8945:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"initial-release","metadata":{"permalink":"/changelog/initial-release","editUrl":"https://github.com/opencaesar/oml-vision-docs/tree/master/changelog/2024-01-09-v0.1.0-initial-release/index.md","source":"@site/changelog/2024-01-09-v0.1.0-initial-release/index.md","title":"v0.1.0 Initial Release","description":"v0.1.0 Initial Release","date":"2024-01-09T00:00:00.000Z","formattedDate":"January 9, 2024","tags":[{"label":"oml","permalink":"/changelog/tags/oml"},{"label":"vscode","permalink":"/changelog/tags/vscode"}],"readingTime":0.06,"hasTruncateMarker":false,"authors":[{"name":"Aaron Levitt","title":"Full Stack Engineer @ NASA JPL","url":"https://www.opencaesar.io/contributors/Aaron%20Levitt.html","imageURL":"https://www.opencaesar.io/assets/img/aaron.jpeg","key":"levitt"}],"frontMatter":{"slug":"initial-release","title":"v0.1.0 Initial Release","authors":["levitt"],"tags":["oml","vscode"]},"unlisted":false},"content":"## v0.1.0 Initial Release \\n\\n![OML Vision Logo](./vision480x96.png)\\n\\n### Added\\n- Initial release"}]}')}}]); \ No newline at end of file diff --git a/assets/js/d90f1091.412af833.js b/assets/js/d90f1091.412af833.js new file mode 100644 index 0000000..a79cb79 --- /dev/null +++ b/assets/js/d90f1091.412af833.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6873],{4577:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var n=i(5893),a=i(1151);const s={slug:"initial-release",title:"v0.1.0 Initial Release",authors:["levitt"],tags:["oml","vscode"]},l=void 0,o={permalink:"/oml-vision-docs/changelog/initial-release",editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/changelog/2024-01-09-v0.1.0-initial-release/index.md",source:"@site/changelog/2024-01-09-v0.1.0-initial-release/index.md",title:"v0.1.0 Initial Release",description:"v0.1.0 Initial Release",date:"2024-01-09T00:00:00.000Z",formattedDate:"January 9, 2024",tags:[{label:"oml",permalink:"/oml-vision-docs/changelog/tags/oml"},{label:"vscode",permalink:"/oml-vision-docs/changelog/tags/vscode"}],readingTime:.06,hasTruncateMarker:!1,authors:[{name:"Aaron Levitt",title:"Full Stack Engineer @ NASA JPL",url:"https://www.opencaesar.io/contributors/Aaron%20Levitt.html",imageURL:"https://www.opencaesar.io/assets/img/aaron.jpeg",key:"levitt"}],frontMatter:{slug:"initial-release",title:"v0.1.0 Initial Release",authors:["levitt"],tags:["oml","vscode"]},unlisted:!1},r={authorsImageUrls:[void 0]},c=[{value:"v0.1.0 Initial Release",id:"v010-initial-release",level:2},{value:"Added",id:"added",level:3}];function d(e){const t={h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"v010-initial-release",children:"v0.1.0 Initial Release"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"OML Vision Logo",src:i(3411).Z+"",width:"960",height:"192"})}),"\n",(0,n.jsx)(t.h3,{id:"added",children:"Added"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Initial release"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3411:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/vision480x96-dc2fc7ac2c5286f0d35547b97cb7da40.png"},1151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>l});var n=i(7294);const a={},s=n.createContext(a);function l(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d90f1091.e0ca3ee9.js b/assets/js/d90f1091.e0ca3ee9.js deleted file mode 100644 index 3c109fc..0000000 --- a/assets/js/d90f1091.e0ca3ee9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6873],{4577:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var a=i(5893),n=i(1151);const s={slug:"initial-release",title:"v0.1.0 Initial Release",authors:["levitt"],tags:["oml","vscode"]},l=void 0,o={permalink:"/changelog/initial-release",editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/changelog/2024-01-09-v0.1.0-initial-release/index.md",source:"@site/changelog/2024-01-09-v0.1.0-initial-release/index.md",title:"v0.1.0 Initial Release",description:"v0.1.0 Initial Release",date:"2024-01-09T00:00:00.000Z",formattedDate:"January 9, 2024",tags:[{label:"oml",permalink:"/changelog/tags/oml"},{label:"vscode",permalink:"/changelog/tags/vscode"}],readingTime:.06,hasTruncateMarker:!1,authors:[{name:"Aaron Levitt",title:"Full Stack Engineer @ NASA JPL",url:"https://www.opencaesar.io/contributors/Aaron%20Levitt.html",imageURL:"https://www.opencaesar.io/assets/img/aaron.jpeg",key:"levitt"}],frontMatter:{slug:"initial-release",title:"v0.1.0 Initial Release",authors:["levitt"],tags:["oml","vscode"]},unlisted:!1},r={authorsImageUrls:[void 0]},c=[{value:"v0.1.0 Initial Release",id:"v010-initial-release",level:2},{value:"Added",id:"added",level:3}];function d(e){const t={h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"v010-initial-release",children:"v0.1.0 Initial Release"}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"OML Vision Logo",src:i(3411).Z+"",width:"960",height:"192"})}),"\n",(0,a.jsx)(t.h3,{id:"added",children:"Added"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Initial release"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3411:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/vision480x96-dc2fc7ac2c5286f0d35547b97cb7da40.png"},1151:(e,t,i)=>{i.d(t,{Z:()=>o,a:()=>l});var a=i(7294);const n={},s=a.createContext(n);function l(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/eab9167d.90aa1e1b.js b/assets/js/eab9167d.90aa1e1b.js deleted file mode 100644 index 471acc4..0000000 --- a/assets/js/eab9167d.90aa1e1b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[1878],{6316:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var s=i(5893),r=i(1151);const a={sidebar_position:4},t="Diagrams",o={id:"api-documentation/layouts/diagrams",title:"Diagrams",description:"Diagrams are created using React Flow.",source:"@site/docs/api-documentation/layouts/diagrams.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/diagrams",permalink:"/docs/next/api-documentation/layouts/diagrams",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/layouts/diagrams.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Trees",permalink:"/docs/next/api-documentation/layouts/trees"},next:{title:"Sparql",permalink:"/docs/next/api-documentation/sparql"}},d={},c=[{value:"Defining Diagram",id:"defining-diagram",level:2},{value:"Terminology",id:"terminology",level:3},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"colorKey",id:"colorkey",level:4},{value:"edgeMatchKey",id:"edgematchkey",level:4},{value:"subRowMappings",id:"subrowmappings",level:4},{value:"edges",id:"edges",level:3},{value:"sourceKey",id:"sourcekey",level:4},{value:"targetKey",id:"targetkey",level:4}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"diagrams",children:"Diagrams"}),"\n",(0,s.jsxs)(n.p,{children:["Diagrams are created using ",(0,s.jsx)(n.a,{href:"https://reactflow.dev/",children:"React Flow"}),"."]}),"\n",(0,s.jsx)(n.admonition,{title:"diagrams.json",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"src/vision/layouts/diagrams.json"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"src/vision/layouts/diagrams.json"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Defining what OML Vision Diagrams can render","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Name of the Diagrams"}),"\n",(0,s.jsx)(n.li,{children:"Name of the nodes for the Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Name of the edges for the Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Queries for the Diagram node content"}),"\n",(0,s.jsx)(n.li,{children:"Queries for the Diagram edge content"}),"\n",(0,s.jsx)(n.li,{children:"How to map Diagrams node queries to edge queries"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,s.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/src/vision/layouts/diagramLayouts.json",children:"here"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "decompositions": {\n "name": "Decomposition",\n "queries": {\n "decompositions": "component.sparql",\n "edge": "component.sparql"\n },\n "rowMapping": {\n "id": "decompositions",\n "name": "System",\n "labelFormat": "{c1_localname}",\n "colorKey": "c1_localname",\n "edgeMatchKey": "c1_localname"\n },\n "edges": [\n {\n "id": "edge",\n "name": "Edge",\n "labelFormat": "hasSubsystem",\n "colorKey": "c2_localname",\n "sourceKey": "c1_localname",\n "targetKey": "c2_localname"\n }\n ]\n },\n "movingscenario": {\n "name": "Scenario",\n "queries": {\n "movingscenario": "scenario_move.sparql",\n "edge": "scenario_move.sparql"\n },\n "rowMapping": {\n "id": "movingscenario",\n "name": "Task",\n "labelFormat": "{f2_id} \\n {f2_cname}",\n "colorKey": "f2_id",\n "edgeMatchKey": "f2_id"\n },\n "edges": [\n {\n "id": "edge",\n "name": "Edge",\n "labelFormat": "invokes",\n "colorKey": "f2_id",\n "sourceKey": "f2_id",\n "targetKey": "f3_id"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"defining-diagram",children:"Defining Diagram"}),"\n",(0,s.jsx)(n.p,{children:"A Diagram must be properly defined in order to be rendered by OML Vision"}),"\n",(0,s.jsx)(n.h3,{id:"terminology",children:"Terminology"}),"\n",(0,s.jsx)(n.p,{children:"OML Vision defines a node and edge as follows:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Node: A graphical element that contains information"}),"\n",(0,s.jsx)(n.li,{children:"Edge: A graphical element that connects information"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Terminology",src:i(9973).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the Diagram."}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,s.jsx)(n.code,{children:"pages.json"}),"."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Path",src:i(234).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string gives a name to the Diagram in the ",(0,s.jsx)(n.code,{children:"diagramLayouts.json"})," file."]}),"\n",(0,s.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Diagram."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,s.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,s.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,s.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,s.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,s.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,s.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This object defines how the ",(0,s.jsx)(n.code,{children:"queries"})," map to the ",(0,s.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,s.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string the ",(0,s.jsx)(n.code,{children:"id"})," for the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,s.jsx)(n.code,{children:"columnNames"}),"."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Row Mapping Id",src:i(4183).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string gives a name to the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Diagram shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),(0,s.jsxs)(n.p,{children:["An example is found ",(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/src/vision/layouts/diagramLayouts.json#L11",children:"here"})]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Column Names",src:i(6501).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"colorkey",children:"colorKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"colorKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string is the seed for a random color generator for the nodes rendered in the Diagram. Needed to generate legend."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),"\n",(0,s.jsx)(n.h4,{id:"edgematchkey",children:"edgeMatchKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"edgeMatchKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the edge for each node in the Diagram."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),"\n",(0,s.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n colorKey: string\n edgeMatchKey: string\n }[]\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", ",(0,s.jsx)(n.code,{children:"colorKey"}),", and ",(0,s.jsx)(n.code,{children:"edgeMatchKey"})," for the subrows of the Diagram."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", ",(0,s.jsx)(n.code,{children:"colorKey"}),", and ",(0,s.jsx)(n.code,{children:"edgeMatchKey"})," have the same data structure as ",(0,s.jsx)(n.code,{children:"rowMapping"})]})}),"\n",(0,s.jsx)(n.h3,{id:"edges",children:"edges"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"edges: {\n id: string\n name: string\n labelFormat: string\n colorKey: string\n sourceKey: string\n targetKey: string\n }[]\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"edges"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", and ",(0,s.jsx)(n.code,{children:"colorKey"})," for the edges of the Diagram."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", and ",(0,s.jsx)(n.code,{children:"colorKey"})," have the same data structure as ",(0,s.jsx)(n.code,{children:"rowMapping"})]})}),"\n",(0,s.jsx)(n.h4,{id:"sourcekey",children:"sourceKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"sourceKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the source node for the edge in the Diagram."}),"\n",(0,s.jsx)(n.h4,{id:"targetkey",children:"targetKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"targetKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the target node for the edge in the Diagram."})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},234:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramPath-a32511528971d0cc075408af2c16977f.png"},4183:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramRowMappingId-25edd3d007281287babb45748ab9b2ef.png"},6501:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramRowMappingLabelFormat-7af8527188340d03e466480840453128.png"},9973:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramTerminology-5efcbc91d5039268075d4fbe30067687.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>t});var s=i(7294);const r={},a=s.createContext(r);function t(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/eab9167d.e705ae56.js b/assets/js/eab9167d.e705ae56.js new file mode 100644 index 0000000..963c54b --- /dev/null +++ b/assets/js/eab9167d.e705ae56.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[1878],{6316:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var s=i(5893),r=i(1151);const a={sidebar_position:4},t="Diagrams",o={id:"api-documentation/layouts/diagrams",title:"Diagrams",description:"Diagrams are created using React Flow.",source:"@site/docs/api-documentation/layouts/diagrams.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/diagrams",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/diagrams",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/layouts/diagrams.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Trees",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/trees"},next:{title:"Sparql",permalink:"/oml-vision-docs/docs/next/api-documentation/sparql"}},d={},c=[{value:"Defining Diagram",id:"defining-diagram",level:2},{value:"Terminology",id:"terminology",level:3},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"colorKey",id:"colorkey",level:4},{value:"edgeMatchKey",id:"edgematchkey",level:4},{value:"subRowMappings",id:"subrowmappings",level:4},{value:"edges",id:"edges",level:3},{value:"sourceKey",id:"sourcekey",level:4},{value:"targetKey",id:"targetkey",level:4}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"diagrams",children:"Diagrams"}),"\n",(0,s.jsxs)(n.p,{children:["Diagrams are created using ",(0,s.jsx)(n.a,{href:"https://reactflow.dev/",children:"React Flow"}),"."]}),"\n",(0,s.jsx)(n.admonition,{title:"diagrams.json",type:"info",children:(0,s.jsxs)(n.p,{children:["Create a ",(0,s.jsx)(n.code,{children:"src/vision/layouts/diagrams.json"})," file (case-sensitive)"]})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"src/vision/layouts/diagrams.json"})," file is responsible for:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Defining what OML Vision Diagrams can render","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Name of the Diagrams"}),"\n",(0,s.jsx)(n.li,{children:"Name of the nodes for the Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Name of the edges for the Diagram"}),"\n",(0,s.jsx)(n.li,{children:"Queries for the Diagram node content"}),"\n",(0,s.jsx)(n.li,{children:"Queries for the Diagram edge content"}),"\n",(0,s.jsx)(n.li,{children:"How to map Diagrams node queries to edge queries"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,s.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/src/vision/layouts/diagramLayouts.json",children:"here"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "decompositions": {\n "name": "Decomposition",\n "queries": {\n "decompositions": "component.sparql",\n "edge": "component.sparql"\n },\n "rowMapping": {\n "id": "decompositions",\n "name": "System",\n "labelFormat": "{c1_localname}",\n "colorKey": "c1_localname",\n "edgeMatchKey": "c1_localname"\n },\n "edges": [\n {\n "id": "edge",\n "name": "Edge",\n "labelFormat": "hasSubsystem",\n "colorKey": "c2_localname",\n "sourceKey": "c1_localname",\n "targetKey": "c2_localname"\n }\n ]\n },\n "movingscenario": {\n "name": "Scenario",\n "queries": {\n "movingscenario": "scenario_move.sparql",\n "edge": "scenario_move.sparql"\n },\n "rowMapping": {\n "id": "movingscenario",\n "name": "Task",\n "labelFormat": "{f2_id} \\n {f2_cname}",\n "colorKey": "f2_id",\n "edgeMatchKey": "f2_id"\n },\n "edges": [\n {\n "id": "edge",\n "name": "Edge",\n "labelFormat": "invokes",\n "colorKey": "f2_id",\n "sourceKey": "f2_id",\n "targetKey": "f3_id"\n }\n ]\n }\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"defining-diagram",children:"Defining Diagram"}),"\n",(0,s.jsx)(n.p,{children:"A Diagram must be properly defined in order to be rendered by OML Vision"}),"\n",(0,s.jsx)(n.h3,{id:"terminology",children:"Terminology"}),"\n",(0,s.jsx)(n.p,{children:"OML Vision defines a node and edge as follows:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Node: A graphical element that contains information"}),"\n",(0,s.jsx)(n.li,{children:"Edge: A graphical element that connects information"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Terminology",src:i(9973).Z+"",width:"3680",height:"2252"})}),"\n",(0,s.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the path of the Diagram."}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The name of the ",(0,s.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,s.jsx)(n.code,{children:"pages.json"}),"."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Path",src:i(234).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string gives a name to the Diagram in the ",(0,s.jsx)(n.code,{children:"diagramLayouts.json"})," file."]}),"\n",(0,s.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Diagram."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,s.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,s.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,s.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,s.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,s.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,s.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,s.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This object defines how the ",(0,s.jsx)(n.code,{children:"queries"})," map to the ",(0,s.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,s.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string the ",(0,s.jsx)(n.code,{children:"id"})," for the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,s.jsx)(n.code,{children:"columnNames"}),"."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Row Mapping Id",src:i(4183).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string gives a name to the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,s.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,s.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Diagram shown in the red boxes."]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),(0,s.jsxs)(n.p,{children:["An example is found ",(0,s.jsx)(n.a,{href:"https://github.com/UTNAK/open-source-rover/blob/main/src/vision/layouts/diagramLayouts.json#L11",children:"here"})]}),(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Diagram Column Names",src:i(6501).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,s.jsx)(n.h4,{id:"colorkey",children:"colorKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"colorKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string is the seed for a random color generator for the nodes rendered in the Diagram. Needed to generate legend."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),"\n",(0,s.jsx)(n.h4,{id:"edgematchkey",children:"edgeMatchKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"edgeMatchKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the edge for each node in the Diagram."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),"\n",(0,s.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,s.jsx)(n.code,{children:'"{string}"'})]}),"\n",(0,s.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,s.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n colorKey: string\n edgeMatchKey: string\n }[]\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", ",(0,s.jsx)(n.code,{children:"colorKey"}),", and ",(0,s.jsx)(n.code,{children:"edgeMatchKey"})," for the subrows of the Diagram."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", ",(0,s.jsx)(n.code,{children:"colorKey"}),", and ",(0,s.jsx)(n.code,{children:"edgeMatchKey"})," have the same data structure as ",(0,s.jsx)(n.code,{children:"rowMapping"})]})}),"\n",(0,s.jsx)(n.h3,{id:"edges",children:"edges"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"edges: {\n id: string\n name: string\n labelFormat: string\n colorKey: string\n sourceKey: string\n targetKey: string\n }[]\n"})})}),"\n",(0,s.jsxs)(n.p,{children:["This ",(0,s.jsx)(n.code,{children:"edges"})," array of objects defines the ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", and ",(0,s.jsx)(n.code,{children:"colorKey"})," for the edges of the Diagram."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.strong,{children:["The ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"labelFormat"}),", and ",(0,s.jsx)(n.code,{children:"colorKey"})," have the same data structure as ",(0,s.jsx)(n.code,{children:"rowMapping"})]})}),"\n",(0,s.jsx)(n.h4,{id:"sourcekey",children:"sourceKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"sourceKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the source node for the edge in the Diagram."}),"\n",(0,s.jsx)(n.h4,{id:"targetkey",children:"targetKey"}),"\n",(0,s.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"targetKey: string\n"})})}),"\n",(0,s.jsx)(n.p,{children:"This string defines the target node for the edge in the Diagram."})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},234:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramPath-a32511528971d0cc075408af2c16977f.png"},4183:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramRowMappingId-25edd3d007281287babb45748ab9b2ef.png"},6501:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramRowMappingLabelFormat-7af8527188340d03e466480840453128.png"},9973:(e,n,i)=>{i.d(n,{Z:()=>s});const s=i.p+"assets/images/diagramTerminology-5efcbc91d5039268075d4fbe30067687.png"},1151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>t});var s=i(7294);const r={},a=s.createContext(r);function t(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f1759324.d54a67bb.js b/assets/js/f1759324.d54a67bb.js new file mode 100644 index 0000000..d5a034d --- /dev/null +++ b/assets/js/f1759324.d54a67bb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[7767],{9627:s=>{s.exports=JSON.parse('{"label":"oml","permalink":"/oml-vision-docs/changelog/tags/oml","allTagsPath":"/oml-vision-docs/changelog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/f27ddec3.5a95e222.js b/assets/js/f27ddec3.5a95e222.js new file mode 100644 index 0000000..b703ea8 --- /dev/null +++ b/assets/js/f27ddec3.5a95e222.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[6260],{2940:s=>{s.exports=JSON.parse('{"permalink":"/oml-vision-docs/changelog/tags/oml","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/f5755372.625717e2.js b/assets/js/f5755372.625717e2.js new file mode 100644 index 0000000..d92ee73 --- /dev/null +++ b/assets/js/f5755372.625717e2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[5296],{4247:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"initial-release","metadata":{"permalink":"/oml-vision-docs/changelog/initial-release","editUrl":"https://github.com/opencaesar/oml-vision-docs/tree/master/changelog/2024-01-09-v0.1.0-initial-release/index.md","source":"@site/changelog/2024-01-09-v0.1.0-initial-release/index.md","title":"v0.1.0 Initial Release","description":"v0.1.0 Initial Release","date":"2024-01-09T00:00:00.000Z","formattedDate":"January 9, 2024","tags":[{"label":"oml","permalink":"/oml-vision-docs/changelog/tags/oml"},{"label":"vscode","permalink":"/oml-vision-docs/changelog/tags/vscode"}],"readingTime":0.06,"hasTruncateMarker":false,"authors":[{"name":"Aaron Levitt","title":"Full Stack Engineer @ NASA JPL","url":"https://www.opencaesar.io/contributors/Aaron%20Levitt.html","imageURL":"https://www.opencaesar.io/assets/img/aaron.jpeg","key":"levitt"}],"frontMatter":{"slug":"initial-release","title":"v0.1.0 Initial Release","authors":["levitt"],"tags":["oml","vscode"]},"unlisted":false},"content":"## v0.1.0 Initial Release \\n\\n![OML Vision Logo](./vision480x96.png)\\n\\n### Added\\n- Initial release"}]}')}}]); \ No newline at end of file diff --git a/assets/js/f6bfbc2c.0a508d76.js b/assets/js/f6bfbc2c.0a508d76.js new file mode 100644 index 0000000..130cd69 --- /dev/null +++ b/assets/js/f6bfbc2c.0a508d76.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2235],{9461:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var i=s(5893),t=s(1151);const r={sidebar_position:3},a="Trees",o={id:"api-documentation/layouts/trees",title:"Trees",description:"Trees are created using React Arborist.",source:"@site/docs/api-documentation/layouts/trees.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/trees",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/trees",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/layouts/trees.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Tables",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/tables"},next:{title:"Diagrams",permalink:"/oml-vision-docs/docs/next/api-documentation/layouts/diagrams"}},d={},l=[{value:"Defining Tree",id:"defining-tree",level:2},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"diagrams",id:"diagrams",level:3},{value:"all-rows",id:"all-rows",level:4},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"subRowMappings",id:"subrowmappings",level:4}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"trees",children:"Trees"}),"\n",(0,i.jsxs)(n.p,{children:["Trees are created using ",(0,i.jsx)(n.a,{href:"https://github.com/brimdata/react-arborist",children:"React Arborist"}),"."]}),"\n",(0,i.jsx)(n.admonition,{title:"trees.json",type:"info",children:(0,i.jsxs)(n.p,{children:["Create a ",(0,i.jsx)(n.code,{children:"src/vision/layouts/trees.json"})," file (case-sensitive)"]})}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"src/vision/layouts/trees.json"})," file is responsible for:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Defining what OML Vision Trees can render","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Name of the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Commands that can be executed from the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Name of the columns for the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Queries that the Trees's content needs"}),"\n",(0,i.jsx)(n.li,{children:"How to map Tree queries to columns"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,i.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/treeLayouts.json",children:"here"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "requirements": {\n "name": "Requirements Diagram",\n "diagrams": {\n "all-rows": "requirements-diagram"\n },\n "queries": {\n "requirements": "requirements.sparql"\n },\n "rowMapping": {\n "id": "requirements",\n "name": "Requirements",\n "labelFormat": "{r_id}",\n "subRowMappings": [\n {\n "id": "requirements",\n "name": "Components",\n "labelFormat": "C Name: {c_name}"\n }\n ]\n }\n },\n "components": {\n "name": "Components",\n "diagrams": {\n "all-rows": "components-diagram"\n },\n "queries": {\n "components": "components.sparql"\n },\n "rowMapping": {\n "id": "components",\n "name": "Components",\n "labelFormat": "{c1_id} {c1_name}",\n "subRowMappings": [\n {\n "id": "components",\n "name": "Masses",\n "labelFormat": "{c1_mass}"\n }\n ]\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"defining-tree",children:"Defining Tree"}),"\n",(0,i.jsx)(n.p,{children:"A tree must be properly defined in order to be rendered by OML Vision"}),"\n",(0,i.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This string defines the path of the Tree."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The name of the ",(0,i.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,i.jsx)(n.code,{children:"pages.json"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Path",src:s(1549).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the Tree in the ",(0,i.jsx)(n.code,{children:"treeLayouts.json"})," file."]}),"\n",(0,i.jsx)(n.h3,{id:"diagrams",children:"diagrams"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"diagrams: {\n all-rows: string\n }\n"})})}),"\n",(0,i.jsx)(n.p,{children:"The diagrams object defines the commands that the Tree is able to execute."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"diagrams"})," correspond to the commands that appear when a user right clicks a row in the Tree."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Commands",src:s(5842).Z+"",width:"3450",height:"2022"})})]}),"\n",(0,i.jsx)(n.h4,{id:"all-rows",children:"all-rows"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"all-rows: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string defines that all rows have the commands defined available for them to execute. The name of the string is arbitrary, but a good name for ",(0,i.jsx)(n.code,{children:"all-rows"}),' is "all-rows".']}),"\n",(0,i.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Tree."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,i.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,i.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,i.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,i.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,i.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This object defines how the ",(0,i.jsx)(n.code,{children:"queries"})," map to the ",(0,i.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,i.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string the ",(0,i.jsx)(n.code,{children:"id"})," for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,i.jsx)(n.code,{children:"columnNames"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Row Mapping Id",src:s(4439).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Tree shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),(0,i.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,i.jsx)(n.code,{children:'"{string}"'})]}),(0,i.jsxs)(n.p,{children:["An example is found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/treeLayouts.json#L18",children:"here"})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Column Names",src:s(6790).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n }[]\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This ",(0,i.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," for the subrows of the Tree."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["The ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," have the same data structure as ",(0,i.jsx)(n.code,{children:"rowMapping"})]})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},5842:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeCommands-15269913786a9f83221e9b530f2403a7.png"},1549:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treePath-05173d0b4de91cb625828391ecf493fa.png"},4439:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeRowMappingId-20ac0c02b7d37e9a6aae7a0d0d35d99a.png"},6790:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeRowMappingLabelFormat-c1fc92c3cac41f36f82c3c226b1ad8f1.png"},1151:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>a});var i=s(7294);const t={},r=i.createContext(t);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f6bfbc2c.8d5f6919.js b/assets/js/f6bfbc2c.8d5f6919.js deleted file mode 100644 index eb7d622..0000000 --- a/assets/js/f6bfbc2c.8d5f6919.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[2235],{9461:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var i=s(5893),t=s(1151);const r={sidebar_position:3},a="Trees",o={id:"api-documentation/layouts/trees",title:"Trees",description:"Trees are created using React Arborist.",source:"@site/docs/api-documentation/layouts/trees.md",sourceDirName:"api-documentation/layouts",slug:"/api-documentation/layouts/trees",permalink:"/docs/next/api-documentation/layouts/trees",draft:!1,unlisted:!1,editUrl:"https://github.com/opencaesar/oml-vision-docs/tree/master/docs/api-documentation/layouts/trees.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Tables",permalink:"/docs/next/api-documentation/layouts/tables"},next:{title:"Diagrams",permalink:"/docs/next/api-documentation/layouts/diagrams"}},d={},l=[{value:"Defining Tree",id:"defining-tree",level:2},{value:"path",id:"path",level:3},{value:"name",id:"name",level:3},{value:"diagrams",id:"diagrams",level:3},{value:"all-rows",id:"all-rows",level:4},{value:"queries",id:"queries",level:3},{value:"rowMapping",id:"rowmapping",level:3},{value:"id",id:"id",level:4},{value:"name",id:"name-1",level:4},{value:"labelFormat",id:"labelformat",level:4},{value:"subRowMappings",id:"subrowmappings",level:4}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"trees",children:"Trees"}),"\n",(0,i.jsxs)(n.p,{children:["Trees are created using ",(0,i.jsx)(n.a,{href:"https://github.com/brimdata/react-arborist",children:"React Arborist"}),"."]}),"\n",(0,i.jsx)(n.admonition,{title:"trees.json",type:"info",children:(0,i.jsxs)(n.p,{children:["Create a ",(0,i.jsx)(n.code,{children:"src/vision/layouts/trees.json"})," file (case-sensitive)"]})}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"src/vision/layouts/trees.json"})," file is responsible for:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Defining what OML Vision Trees can render","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Name of the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Commands that can be executed from the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Name of the columns for the Trees"}),"\n",(0,i.jsx)(n.li,{children:"Queries that the Trees's content needs"}),"\n",(0,i.jsx)(n.li,{children:"How to map Tree queries to columns"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"It is formatted as a JSON data structure."}),"\n",(0,i.jsxs)(n.p,{children:["An example of what this looks like is seen below with the source code found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/treeLayouts.json",children:"here"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "requirements": {\n "name": "Requirements Diagram",\n "diagrams": {\n "all-rows": "requirements-diagram"\n },\n "queries": {\n "requirements": "requirements.sparql"\n },\n "rowMapping": {\n "id": "requirements",\n "name": "Requirements",\n "labelFormat": "{r_id}",\n "subRowMappings": [\n {\n "id": "requirements",\n "name": "Components",\n "labelFormat": "C Name: {c_name}"\n }\n ]\n }\n },\n "components": {\n "name": "Components",\n "diagrams": {\n "all-rows": "components-diagram"\n },\n "queries": {\n "components": "components.sparql"\n },\n "rowMapping": {\n "id": "components",\n "name": "Components",\n "labelFormat": "{c1_id} {c1_name}",\n "subRowMappings": [\n {\n "id": "components",\n "name": "Masses",\n "labelFormat": "{c1_mass}"\n }\n ]\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"defining-tree",children:"Defining Tree"}),"\n",(0,i.jsx)(n.p,{children:"A tree must be properly defined in order to be rendered by OML Vision"}),"\n",(0,i.jsx)(n.h3,{id:"path",children:"path"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"path: string\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This string defines the path of the Tree."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The name of the ",(0,i.jsx)(n.code,{children:"path"})," is the same path that was defined in the ",(0,i.jsx)(n.code,{children:"pages.json"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Path",src:s(1549).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the Tree in the ",(0,i.jsx)(n.code,{children:"treeLayouts.json"})," file."]}),"\n",(0,i.jsx)(n.h3,{id:"diagrams",children:"diagrams"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"diagrams: {\n all-rows: string\n }\n"})})}),"\n",(0,i.jsx)(n.p,{children:"The diagrams object defines the commands that the Tree is able to execute."}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"diagrams"})," correspond to the commands that appear when a user right clicks a row in the Tree."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Commands",src:s(5842).Z+"",width:"3450",height:"2022"})})]}),"\n",(0,i.jsx)(n.h4,{id:"all-rows",children:"all-rows"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"all-rows: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string defines that all rows have the commands defined available for them to execute. The name of the string is arbitrary, but a good name for ",(0,i.jsx)(n.code,{children:"all-rows"}),' is "all-rows".']}),"\n",(0,i.jsx)(n.h3,{id:"queries",children:"queries"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"queries: {}\n"})})}),"\n",(0,i.jsx)(n.p,{children:"This object contains the queries that will query the RDF Triplestore for the content that will populate in the Tree."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["Look at the sparql docs for more info found ",(0,i.jsx)(n.a,{href:"/docs/api-documentation/sparql",children:"here"})]})}),"\n",(0,i.jsxs)(n.admonition,{title:"FUSEKI",type:"tip",children:[(0,i.jsxs)(n.p,{children:["You can test queries by going to localhost:3030 which is created once data is loaded into the Fuseki DB. You can watch more info about testing queries with Fuseki by going ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"here"})]}),(0,i.jsxs)(n.p,{children:["The AI & DS Channel (2021, February 18). SPARQL Query [Video]. YouTube. ",(0,i.jsx)(n.a,{href:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s",children:"https://www.youtube.com/watch?v=w_pJ3XiBWeM&t=621s"})]})]}),"\n",(0,i.jsx)(n.h3,{id:"rowmapping",children:"rowMapping"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"rowMapping: {}\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This object defines how the ",(0,i.jsx)(n.code,{children:"queries"})," map to the ",(0,i.jsx)(n.code,{children:"columnNames"})]}),"\n",(0,i.jsx)(n.h4,{id:"id",children:"id"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"id: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string the ",(0,i.jsx)(n.code,{children:"id"})," for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"id"})," correspond to one of the ",(0,i.jsx)(n.code,{children:"columnNames"}),"."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Row Mapping Id",src:s(4439).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"name: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string gives a name to the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"labelformat",children:"labelFormat"}),"\n",(0,i.jsx)(n.admonition,{title:"REQUIRED",type:"danger",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"labelFormat: string\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This string contains the label of the row for the ",(0,i.jsx)(n.code,{children:"rowMapping"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{title:"USER INTERFACE",type:"tip",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"labelFormat"})," is rendered in the rows of the Tree shown in the red boxes."]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"STRING INTERPOLATION"})}),(0,i.jsxs)(n.p,{children:["OML Vision supports string interpolation with the queries that were formatted. The format is ",(0,i.jsx)(n.code,{children:'"{string}"'})]}),(0,i.jsxs)(n.p,{children:["An example is found ",(0,i.jsx)(n.a,{href:"https://github.com/pogi7/kepler16b-example/blob/main/src/vision/layouts/treeLayouts.json#L18",children:"here"})]}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Tree Column Names",src:s(6790).Z+"",width:"3680",height:"2252"})})]}),"\n",(0,i.jsx)(n.h4,{id:"subrowmappings",children:"subRowMappings"}),"\n",(0,i.jsx)(n.admonition,{title:"OPTIONAL",type:"note",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"subRowMappings: {\n id: string\n name: string\n labelFormat: string\n }[]\n"})})}),"\n",(0,i.jsxs)(n.p,{children:["This ",(0,i.jsx)(n.code,{children:"subRowMappings"})," array of objects defines the ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," for the subrows of the Tree."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsxs)(n.strong,{children:["The ",(0,i.jsx)(n.code,{children:"id"}),", ",(0,i.jsx)(n.code,{children:"name"}),", and ",(0,i.jsx)(n.code,{children:"labelFormat"})," have the same data structure as ",(0,i.jsx)(n.code,{children:"rowMapping"})]})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},5842:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeCommands-15269913786a9f83221e9b530f2403a7.png"},1549:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treePath-05173d0b4de91cb625828391ecf493fa.png"},4439:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeRowMappingId-20ac0c02b7d37e9a6aae7a0d0d35d99a.png"},6790:(e,n,s)=>{s.d(n,{Z:()=>i});const i=s.p+"assets/images/treeRowMappingLabelFormat-c1fc92c3cac41f36f82c3c226b1ad8f1.png"},1151:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>a});var i=s(7294);const t={},r=i.createContext(t);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.67ed9cbf.js b/assets/js/main.67ed9cbf.js new file mode 100644 index 0000000..778b2b8 --- /dev/null +++ b/assets/js/main.67ed9cbf.js @@ -0,0 +1,2 @@ +/*! For license information please see main.67ed9cbf.js.LICENSE.txt */ +(self.webpackChunkdocusaurus_classic_typescript=self.webpackChunkdocusaurus_classic_typescript||[]).push([[179],{997:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var r=n(8356),o=n.n(r),a=n(6887);const i={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,2864)),"@theme/BlogTagsListPage",2864],"05243498":[()=>n.e(2038).then(n.bind(n,3058)),"@site/versioned_docs/version-0.1.0/intro.md",3058],"0dae7922":[()=>n.e(6826).then(n.bind(n,357)),"@site/docs/api-documentation/layouts/tables.md",357],"0e384e19":[()=>n.e(9671).then(n.bind(n,2445)),"@site/docs/intro.md",2445],"14d131f7":[()=>n.e(9439).then(n.bind(n,2863)),"@site/versioned_docs/version-0.1.0/api-documentation/troubleshooting.md",2863],"14eb3368":[()=>Promise.all([n.e(532),n.e(9817)]).then(n.bind(n,853)),"@theme/DocCategoryGeneratedIndexPage",853],17896441:[()=>Promise.all([n.e(532),n.e(5034),n.e(7918)]).then(n.bind(n,2889)),"@theme/DocItem",2889],"1ac94dd6":[()=>n.e(9573).then(n.bind(n,1204)),"@site/versioned_docs/version-0.1.0/api-documentation/gradle.md",1204],"1df93b7f":[()=>Promise.all([n.e(532),n.e(3237)]).then(n.bind(n,2833)),"@site/src/pages/index.tsx",2833],"1f0709cf":[()=>n.e(9639).then(n.bind(n,8479)),"@site/docs/api-documentation/sparql.md",8479],"1f391b9e":[()=>Promise.all([n.e(532),n.e(5034),n.e(3085)]).then(n.bind(n,6252)),"@theme/MDXPage",6252],"349652a3":[()=>n.e(6081).then(n.bind(n,5888)),"@site/versioned_docs/version-0.1.0/api-documentation/layouts/trees.md",5888],"393be207":[()=>n.e(7414).then(n.bind(n,9386)),"@site/src/pages/markdown-page.md",9386],"3daee859":[()=>n.e(8180).then(n.bind(n,3570)),"@site/docs/api-documentation/troubleshooting.md",3570],"43c5dbc0":[()=>n.e(6190).then(n.bind(n,41)),"@site/versioned_docs/version-0.1.0/api-documentation/layouts/tables.md",41],"43ee3bee":[()=>n.e(5881).then(n.t.bind(n,6591,19)),"~blog/default/oml-vision-docs-changelog-tags-tags-e56.json",6591],"440e78b6":[()=>n.e(6856).then(n.bind(n,6369)),"@site/docs/api-documentation/required-directories.md",6369],"4bc61731":[()=>n.e(2759).then(n.t.bind(n,6051,19)),"~docs/default/category-oml-vision-docsdocs-tutorialsidebar-category-api-documentation-e13.json",6051],"4c523d18":[()=>n.e(590).then(n.t.bind(n,4642,19)),"~blog/default/oml-vision-docs-changelog-tags-vscode-755.json",4642],"5710d44f":[()=>n.e(7678).then(n.t.bind(n,7969,19)),"~docs/default/category-oml-vision-docsdocs-tutorialsidebar-category-layouts-c7b.json",7969],"5812883c":[()=>n.e(5601).then(n.bind(n,6665)),"@site/versioned_docs/version-0.1.0/api-documentation/sparql.md",6665],"5af17f6a":[()=>n.e(2340).then(n.t.bind(n,9581,19)),"~blog/default/oml-vision-docs-changelog-dfd.json",9581],"5c815109":[()=>n.e(2874).then(n.bind(n,1326)),"@site/docs/api-documentation/gradle.md",1326],"5e95c892":[()=>n.e(9661).then(n.bind(n,4942)),"@theme/DocsRoot",4942],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"618c8e2f":[()=>n.e(3701).then(n.t.bind(n,1608,19)),"~docs/default/version-0-1-0-metadata-prop-69a.json",1608],"663a9a9c":[()=>n.e(7236).then(n.bind(n,6962)),"@site/versioned_docs/version-0.1.0/api-documentation/required-directories.md",6962],"6875c492":[()=>Promise.all([n.e(532),n.e(5034),n.e(3419),n.e(8610)]).then(n.bind(n,4883)),"@theme/BlogTagsPostsPage",4883],"6aee9e25":[()=>n.e(5851).then(n.bind(n,476)),"@site/docs/api-documentation/layouts/pages.md",476],"796b5593":[()=>n.e(8528).then(n.bind(n,1405)),"@site/docs/api-documentation/config.md",1405],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"8f4a2f09":[()=>n.e(1114).then(n.t.bind(n,1725,19)),"~docs/default/category-oml-vision-docsdocsnext-tutorialsidebar-category-api-documentation-022.json",1725],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"96fc3b76":[()=>n.e(1844).then(n.bind(n,4209)),"@site/versioned_docs/version-0.1.0/api-documentation/config.md",4209],"9e4087bc":[()=>n.e(3608).then(n.bind(n,8151)),"@theme/BlogArchivePage",8151],a55d6365:[()=>n.e(9324).then(n.bind(n,2910)),"@site/changelog/2024-01-09-v0.1.0-initial-release/index.md?truncated=true",2910],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(5034),n.e(3419),n.e(3089)]).then(n.bind(n,9928)),"@theme/BlogListPage",9928],a7bd4aaa:[()=>n.e(8518).then(n.bind(n,604)),"@theme/DocVersionRoot",604],a94703ab:[()=>Promise.all([n.e(532),n.e(4368)]).then(n.bind(n,163)),"@theme/DocRoot",163],ac42423e:[()=>n.e(128).then(n.t.bind(n,5745,19)),"/workspaces/oml-vision-docs/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],b10c0b0f:[()=>n.e(2522).then(n.t.bind(n,3769,19)),"/workspaces/oml-vision-docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],b1cb16cf:[()=>n.e(9500).then(n.t.bind(n,4469,19)),"/workspaces/oml-vision-docs/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],bf8ae006:[()=>n.e(8344).then(n.bind(n,6567)),"@site/versioned_docs/version-0.1.0/api-documentation/layouts/diagrams.md",6567],cb4587bf:[()=>n.e(8385).then(n.t.bind(n,7465,19)),"~blog/default/oml-vision-docs-changelog-tags-vscode-755-list.json",7465],ccc49370:[()=>Promise.all([n.e(532),n.e(5034),n.e(3419),n.e(6103)]).then(n.bind(n,324)),"@theme/BlogPostPage",324],d2a3434d:[()=>n.e(4354).then(n.bind(n,3417)),"@site/versioned_docs/version-0.1.0/api-documentation/layouts/pages.md",3417],d43d216c:[()=>n.e(6498).then(n.t.bind(n,3053,19)),"~docs/default/category-oml-vision-docsdocsnext-tutorialsidebar-category-layouts-0d4.json",3053],d90f1091:[()=>n.e(6873).then(n.bind(n,4577)),"@site/changelog/2024-01-09-v0.1.0-initial-release/index.md",4577],eab9167d:[()=>n.e(1878).then(n.bind(n,6316)),"@site/docs/api-documentation/layouts/diagrams.md",6316],f1759324:[()=>n.e(7767).then(n.t.bind(n,9627,19)),"~blog/default/oml-vision-docs-changelog-tags-oml-d15.json",9627],f27ddec3:[()=>n.e(6260).then(n.t.bind(n,2940,19)),"~blog/default/oml-vision-docs-changelog-tags-oml-d15-list.json",2940],f5755372:[()=>n.e(5296).then(n.t.bind(n,4247,19)),"~blog/default/oml-vision-docs-changelog-archive-03a.json",4247],f6bfbc2c:[()=>n.e(2235).then(n.bind(n,9461)),"@site/docs/api-documentation/layouts/trees.md",9461]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(5304),c=n(9656);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(868).then(n.bind(n,4336)),modules:["@theme/NotFound"],webpack:()=>[4336],render(e,t){const n=e.default;return(0,l.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],m=(0,u.Z)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;return delete o.__context,(0,l.jsx)(c.z,{value:i,children:(0,l.jsx)(a,{...o,...n})})}})}const p=[{path:"/oml-vision-docs/changelog",component:d("/oml-vision-docs/changelog","622"),exact:!0},{path:"/oml-vision-docs/changelog/archive",component:d("/oml-vision-docs/changelog/archive","d40"),exact:!0},{path:"/oml-vision-docs/changelog/initial-release",component:d("/oml-vision-docs/changelog/initial-release","1e9"),exact:!0},{path:"/oml-vision-docs/changelog/tags",component:d("/oml-vision-docs/changelog/tags","458"),exact:!0},{path:"/oml-vision-docs/changelog/tags/oml",component:d("/oml-vision-docs/changelog/tags/oml","c00"),exact:!0},{path:"/oml-vision-docs/changelog/tags/vscode",component:d("/oml-vision-docs/changelog/tags/vscode","1f0"),exact:!0},{path:"/oml-vision-docs/markdown-page",component:d("/oml-vision-docs/markdown-page","2ba"),exact:!0},{path:"/oml-vision-docs/docs",component:d("/oml-vision-docs/docs","36d"),routes:[{path:"/oml-vision-docs/docs/next",component:d("/oml-vision-docs/docs/next","303"),routes:[{path:"/oml-vision-docs/docs/next",component:d("/oml-vision-docs/docs/next","bed"),routes:[{path:"/oml-vision-docs/docs/next/api-documentation/config",component:d("/oml-vision-docs/docs/next/api-documentation/config","568"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/api-documentation/gradle",component:d("/oml-vision-docs/docs/next/api-documentation/gradle","d4f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/api-documentation/layouts/diagrams",component:d("/oml-vision-docs/docs/next/api-documentation/layouts/diagrams","e6c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/api-documentation/layouts/pages",component:d("/oml-vision-docs/docs/next/api-documentation/layouts/pages","974"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/api-documentation/layouts/tables",component:d("/oml-vision-docs/docs/next/api-documentation/layouts/tables","0d8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/api-documentation/layouts/trees",component:d("/oml-vision-docs/docs/next/api-documentation/layouts/trees","74e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/api-documentation/required-directories",component:d("/oml-vision-docs/docs/next/api-documentation/required-directories","5d8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/api-documentation/sparql",component:d("/oml-vision-docs/docs/next/api-documentation/sparql","da3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/api-documentation/troubleshooting",component:d("/oml-vision-docs/docs/next/api-documentation/troubleshooting","fa6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/category/api-documentation",component:d("/oml-vision-docs/docs/next/category/api-documentation","e88"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/category/layouts",component:d("/oml-vision-docs/docs/next/category/layouts","951"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/next/intro",component:d("/oml-vision-docs/docs/next/intro","9a7"),exact:!0,sidebar:"tutorialSidebar"}]}]},{path:"/oml-vision-docs/docs",component:d("/oml-vision-docs/docs","40b"),routes:[{path:"/oml-vision-docs/docs",component:d("/oml-vision-docs/docs","2e6"),routes:[{path:"/oml-vision-docs/docs/api-documentation/config",component:d("/oml-vision-docs/docs/api-documentation/config","fbc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/api-documentation/gradle",component:d("/oml-vision-docs/docs/api-documentation/gradle","35b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/api-documentation/layouts/diagrams",component:d("/oml-vision-docs/docs/api-documentation/layouts/diagrams","e49"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/api-documentation/layouts/pages",component:d("/oml-vision-docs/docs/api-documentation/layouts/pages","855"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/api-documentation/layouts/tables",component:d("/oml-vision-docs/docs/api-documentation/layouts/tables","acd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/api-documentation/layouts/trees",component:d("/oml-vision-docs/docs/api-documentation/layouts/trees","834"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/api-documentation/required-directories",component:d("/oml-vision-docs/docs/api-documentation/required-directories","75b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/api-documentation/sparql",component:d("/oml-vision-docs/docs/api-documentation/sparql","11d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/api-documentation/troubleshooting",component:d("/oml-vision-docs/docs/api-documentation/troubleshooting","86e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/category/api-documentation",component:d("/oml-vision-docs/docs/category/api-documentation","f9f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/category/layouts",component:d("/oml-vision-docs/docs/category/layouts","0bb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/oml-vision-docs/docs/intro",component:d("/oml-vision-docs/docs/intro","e99"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/oml-vision-docs/",component:d("/oml-vision-docs/","498"),exact:!0},{path:"*",component:d("*")}]},5351:(e,t,n)=>{var r,o;!function(){var a,i,l,s,u,c,d,p,f,m,h,g,y,v,b,w,k,S,x,_,E,O,j,C,P,T,I,A,N,L,R=function(e){var t=new R.Builder;return t.pipeline.add(R.trimmer,R.stopWordFilter,R.stemmer),t.searchPipeline.add(R.stemmer),e.call(t,t),t.build()};R.version="2.3.9",R.utils={},R.utils.warn=(a=this,function(e){a.console&&console.warn&&console.warn(e)}),R.utils.asString=function(e){return null==e?"":e.toString()},R.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var s=R.utils.clone(t)||{};s.position=[i,l],s.index=o.length,o.push(new R.Token(n.slice(i,a),s))}i=a+1}}return o},R.tokenizer.separator=/[\s\-]+/,R.Pipeline=function(){this._stack=[]},R.Pipeline.registeredFunctions=Object.create(null),R.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&R.utils.warn("Overwriting existing registered function: "+t),e.label=t,R.Pipeline.registeredFunctions[e.label]=e},R.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||R.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},R.Pipeline.load=function(e){var t=new R.Pipeline;return e.forEach((function(e){var n=R.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},R.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){R.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},R.Pipeline.prototype.after=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},R.Pipeline.prototype.before=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},R.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},R.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(ae&&(n=o),a!=e);)r=n-t,o=t+Math.floor(r/2),a=this.elements[2*o];return a==e||a>e?2*o:al?u+=2:i==l&&(t+=n[s+1]*r[u+1],s+=2,u+=2);return t},R.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},R.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var a,i=o.str.charAt(0);i in o.node.edges?a=o.node.edges[i]:(a=new R.TokenSet,o.node.edges[i]=a),1==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var l=o.node.edges["*"];else{l=new R.TokenSet;o.node.edges["*"]=l}if(0==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var s=o.node.edges["*"];else{s=new R.TokenSet;o.node.edges["*"]=s}1==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var u,c=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?u=o.node.edges[d]:(u=new R.TokenSet,o.node.edges[d]=u),1==o.str.length&&(u.final=!0),r.push({node:u,editsRemaining:o.editsRemaining-1,str:c+o.str.slice(2)})}}}return n},R.TokenSet.fromString=function(e){for(var t=new R.TokenSet,n=t,r=0,o=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},R.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},R.Index.prototype.search=function(e){return this.query((function(t){new R.QueryParser(e,t).parse()}))},R.Index.prototype.query=function(e){for(var t=new R.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),a=Object.create(null),i=Object.create(null),l=0;l1?1:e},R.Builder.prototype.k1=function(e){this._k1=e},R.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o=this.length)return R.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},R.QueryLexer.prototype.width=function(){return this.pos-this.start},R.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},R.QueryLexer.prototype.backup=function(){this.pos-=1},R.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=R.QueryLexer.EOS&&this.backup()},R.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(R.QueryLexer.TERM)),e.ignore(),e.more())return R.QueryLexer.lexText},R.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.EDIT_DISTANCE),R.QueryLexer.lexText},R.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.BOOST),R.QueryLexer.lexText},R.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(R.QueryLexer.TERM)},R.QueryLexer.termSeparator=R.tokenizer.separator,R.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==R.QueryLexer.EOS)return R.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return R.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if(t.match(R.QueryLexer.termSeparator))return R.QueryLexer.lexTerm}else e.escapeCharacter()}},R.QueryParser=function(e,t){this.lexer=new R.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},R.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=R.QueryParser.parseClause;e;)e=e(this);return this.query},R.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},R.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},R.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},R.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case R.QueryLexer.PRESENCE:return R.QueryParser.parsePresence;case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new R.QueryParseError(n,t.start,t.end)}},R.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=R.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=R.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new R.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new R.QueryParseError(n,t.start,t.end)}switch(r.type){case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new R.QueryParseError(n,r.start,r.end)}}},R.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){r="expecting term, found nothing";throw new R.QueryParseError(r,t.start,t.end)}if(o.type===R.QueryLexer.TERM)return R.QueryParser.parseTerm;r="expecting term, found '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}},R.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new R.QueryParseError(r,n.start,n.end)}else e.nextClause()}},R.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}else e.nextClause()}},R.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(r=function(){return R})?r.call(t,n,t,e):r)||(e.exports=o)}()},8121:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>i});var r=n(7294),o=n(5893);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},9717:(e,t,n)=>{"use strict";var r=n(7294),o=n(745),a=n(3727),i=n(405),l=n(6136);const s=[n(984),n(2251),n(9957),n(6930)];var u=n(997),c=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(1514),h=n(9962),g=n(9524),y=n(107),v=n(5463),b=n(626),w=n(8181),k=n(246),S=n(3905),x=n(3647);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),r=(0,b.l)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:r}=(0,c.TH)();return e+(0,S.applyTrailingSlash)((0,g.Z)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function O(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(v.d,{image:n}),(0,p.jsx)(E,{}),(0,p.jsx)(_,{}),(0,p.jsx)(x.Z,{tag:k.HX,locale:e}),(0,p.jsx)(m.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const j=new Map;function C(e){if(j.has(e.pathname))return{...e,pathname:j.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return j.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return j.set(e.pathname,t),{...e,pathname:t}}var P=n(8121),T=n(694),I=n(1270);function A(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,I.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),A("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function L(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class R extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?A("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=A("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),L(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(c.AW,{location:t,render:()=>e})})}}const D=R,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",B="__docusaurus-base-url-issue-banner-suggestion-container";function z(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var K=n(5304);const Y=new Set,J=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!X()&&!J.has(e)&&!Y.has(e))(e))return!1;Y.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Z).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,K.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?G(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!J.has(e))(e)&&(J.add(e),L(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.B6,{children:(0,p.jsx)(a.VK,{children:(0,p.jsx)(W,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{o.hydrateRoot(e,t,{onRecoverableError:n})}));else{const a=o.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{a.render(t)}))}};L(window.location.pathname).then(l)}},694:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(7294),o=n(6809);const a=JSON.parse('{"@cmfcmf/docusaurus-search-local":{"default":{"titleBoost":5,"contentBoost":1,"tagsBoost":3,"parentCategoriesBoost":2,"indexDocSidebarParentCategories":0,"maxSearchResults":8}},"docusaurus-plugin-content-docs":{"default":{"path":"/oml-vision-docs/docs","versions":[{"name":"current","label":"Next","isLast":false,"path":"/oml-vision-docs/docs/next","mainDocId":"intro","docs":[{"id":"api-documentation/config","path":"/oml-vision-docs/docs/next/api-documentation/config","sidebar":"tutorialSidebar"},{"id":"api-documentation/gradle","path":"/oml-vision-docs/docs/next/api-documentation/gradle","sidebar":"tutorialSidebar"},{"id":"api-documentation/layouts/diagrams","path":"/oml-vision-docs/docs/next/api-documentation/layouts/diagrams","sidebar":"tutorialSidebar"},{"id":"api-documentation/layouts/pages","path":"/oml-vision-docs/docs/next/api-documentation/layouts/pages","sidebar":"tutorialSidebar"},{"id":"api-documentation/layouts/tables","path":"/oml-vision-docs/docs/next/api-documentation/layouts/tables","sidebar":"tutorialSidebar"},{"id":"api-documentation/layouts/trees","path":"/oml-vision-docs/docs/next/api-documentation/layouts/trees","sidebar":"tutorialSidebar"},{"id":"api-documentation/required-directories","path":"/oml-vision-docs/docs/next/api-documentation/required-directories","sidebar":"tutorialSidebar"},{"id":"api-documentation/sparql","path":"/oml-vision-docs/docs/next/api-documentation/sparql","sidebar":"tutorialSidebar"},{"id":"api-documentation/troubleshooting","path":"/oml-vision-docs/docs/next/api-documentation/troubleshooting","sidebar":"tutorialSidebar"},{"id":"intro","path":"/oml-vision-docs/docs/next/intro","sidebar":"tutorialSidebar"},{"id":"/category/api-documentation","path":"/oml-vision-docs/docs/next/category/api-documentation","sidebar":"tutorialSidebar"},{"id":"/category/layouts","path":"/oml-vision-docs/docs/next/category/layouts","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/oml-vision-docs/docs/next/intro","label":"intro"}}}},{"name":"0.1.0","label":"0.1.0","isLast":true,"path":"/oml-vision-docs/docs","mainDocId":"intro","docs":[{"id":"api-documentation/config","path":"/oml-vision-docs/docs/api-documentation/config","sidebar":"tutorialSidebar"},{"id":"api-documentation/gradle","path":"/oml-vision-docs/docs/api-documentation/gradle","sidebar":"tutorialSidebar"},{"id":"api-documentation/layouts/diagrams","path":"/oml-vision-docs/docs/api-documentation/layouts/diagrams","sidebar":"tutorialSidebar"},{"id":"api-documentation/layouts/pages","path":"/oml-vision-docs/docs/api-documentation/layouts/pages","sidebar":"tutorialSidebar"},{"id":"api-documentation/layouts/tables","path":"/oml-vision-docs/docs/api-documentation/layouts/tables","sidebar":"tutorialSidebar"},{"id":"api-documentation/layouts/trees","path":"/oml-vision-docs/docs/api-documentation/layouts/trees","sidebar":"tutorialSidebar"},{"id":"api-documentation/required-directories","path":"/oml-vision-docs/docs/api-documentation/required-directories","sidebar":"tutorialSidebar"},{"id":"api-documentation/sparql","path":"/oml-vision-docs/docs/api-documentation/sparql","sidebar":"tutorialSidebar"},{"id":"api-documentation/troubleshooting","path":"/oml-vision-docs/docs/api-documentation/troubleshooting","sidebar":"tutorialSidebar"},{"id":"intro","path":"/oml-vision-docs/docs/intro","sidebar":"tutorialSidebar"},{"id":"/category/api-documentation","path":"/oml-vision-docs/docs/category/api-documentation","sidebar":"tutorialSidebar"},{"id":"/category/layouts","path":"/oml-vision-docs/docs/category/layouts","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/oml-vision-docs/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.0.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.0.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.0.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.0.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.0.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.0.1"},"@cmfcmf/docusaurus-search-local":{"type":"package","name":"@cmfcmf/docusaurus-search-local","version":"1.1.0"}}}');var u=n(5893);const c={siteConfig:o.default,siteMetadata:s,globalData:a,i18n:i,codeTranslations:l},d=r.createContext(c);function p(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},3256:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),o=n(6136),a=n(1514),i=n(3905),l=n(8067),s=n(5893);function u(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(c,{error:t})]})}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(f,{fallback:()=>(0,s.jsx)(u,{error:t,tryAgain:n}),children:[(0,s.jsx)(a.Z,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.Z,{children:(0,s.jsx)(u,{error:t,tryAgain:n})})]})}const p=e=>(0,s.jsx)(d,{...e});class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},6136:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},1514:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);var r=n(405),o=n(5893);function a(e){return(0,o.jsx)(r.ql,{...e})}},3699:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),o=n(3727),a=n(3905),i=n(9962),l=n(2735),s=n(6136),u=n(5893);const c=r.createContext({collectLink:()=>{}});var d=n(9524);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:y=!0,...v}=e;const{siteConfig:{trailingSlash:b,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,d.C)(),S=(0,r.useContext)(c),x=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>x.current));const _=p||f;const E=(0,l.Z)(_),O=_?.replace("pathname://","");let j=void 0!==O?(C=O,y&&(e=>e.startsWith("/"))(C)?k(C):C):void 0;var C;j&&E&&(j=(0,a.applyTrailingSlash)(j,{trailingSlash:b,baseUrl:w}));const P=(0,r.useRef)(!1),T=n?o.OL:o.rU,I=s.Z.canUseIntersectionObserver,A=(0,r.useRef)(),N=()=>{P.current||null==j||(window.docusaurus.preload(j),P.current=!0)};(0,r.useEffect)((()=>(!I&&E&&null!=j&&window.docusaurus.prefetch(j),()=>{I&&A.current&&A.current.disconnect()})),[A,j,I,E]);const L=j?.startsWith("#")??!1,R=!j||!E||L;return R||g||S.collectLink(j),R?(0,u.jsx)("a",{ref:x,href:j,..._&&!E&&{target:"_blank",rel:"noopener noreferrer"},...v}):(0,u.jsx)(T,{...v,onMouseEnter:N,onTouchStart:N,innerRef:e=>{x.current=e,I&&e&&E&&(A.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(A.current.unobserve(e),A.current.disconnect(),null!=j&&window.docusaurus.prefetch(j))}))})),A.current.observe(e))},to:j,...n&&{isActive:h,activeClassName:m}})}const f=r.forwardRef(p)},7325:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u,I:()=>s});var r=n(7294),o=n(5893);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},6875:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},2735:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>o,b:()=>r})},9524:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),o=n(9962),a=n(2735);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:o=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,a.b)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},9962:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294),o=n(694);function a(){return(0,r.useContext)(o._)}},1610:(e,t,n)=>{"use strict";n.d(t,{OD:()=>a,eZ:()=>i});var r=n(9962),o=n(6875);function a(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=a(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},1048:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294),o=n(8121);function a(){return(0,r.useContext)(o._)}},1270:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const o=n(6136).Z.canUseDOM?r.useLayoutEffect:r.useEffect},5304:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i}))}(e),t}},9656:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>i});var r=n(7294),o=n(5893);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:l,children:t})}},868:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>h,gA:()=>d,WS:()=>p,_r:()=>u,Jo:()=>g,zh:()=>c,yW:()=>m,gB:()=>f});var r=n(6550),o=n(1610);const a=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=a(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}function l(e,t){const n=i(e,t),o=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const s={},u=()=>(0,o.OD)("docusaurus-plugin-content-docs")??s,c=e=>(0,o.eZ)("docusaurus-plugin-content-docs",e,{failfast:!0});function d(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function p(e){void 0===e&&(e={});const t=d(e),{pathname:n}=(0,r.TH)();if(!t)return;return{activePlugin:t,activeVersion:i(t.pluginData,n)}}function f(e){return c(e).versions}function m(e){const t=c(e);return a(t)}function h(e){const t=c(e),{pathname:n}=(0,r.TH)();return l(t,n)}function g(e){const t=c(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=a(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},9957:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(4865),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},2251:(e,t,n)=>{"use strict";n.r(t);var r=n(2573),o=n(6809);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},3899:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(512),o=n(7325),a=n(107),i=n(3699);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var s=n(5893);function u(e){let{as:t,id:n,...u}=e;const{navbar:{hideOnScroll:c}}=(0,a.L)();if("h1"===t||!n)return(0,s.jsx)(t,{...u,id:void 0});const d=(0,o.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,s.jsxs)(t,{...u,className:(0,r.Z)("anchor",c?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,s.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d,children:"\u200b"})]})}},4082:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(5893);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},8067:(e,t,n)=>{"use strict";n.d(t,{Z:()=>si});var r=n(7294),o=n(512),a=n(3256),i=n(5463),l=n(6550),s=n(7325),u=n(3266),c=n(5893);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(3702),y=n(8181);const v={skipToContent:"skipToContent_fXgn"};function b(){return(0,c.jsx)(h,{className:v.skipToContent})}var w=n(107),k=n(5830);function S(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:o,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const x={closeButton:"closeButton_CVFx"};function _(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.Z)("clean-btn close",x.closeButton,e.className),children:(0,c.jsx)(S,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_knG7"};function O(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,o.Z)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const j={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function C(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,c.jsxs)("div",{className:j.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,c.jsx)("div",{className:j.announcementBarPlaceholder}),(0,c.jsx)(O,{className:j.announcementBarContent}),a&&(0,c.jsx)(_,{onClick:n,className:j.announcementBarClose})]})}var P=n(2600),T=n(2957);var I=n(3768),A=n(3086);const N=r.createContext(null);function L(e){let{children:t}=e;const n=function(){const e=(0,P.e)(),t=(0,A.HY)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,I.D9)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,c.jsx)(N.Provider,{value:n,children:t})}function R(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(N);if(!e)throw new I.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,A.HY)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:R(a)})),[o,a,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=D();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,o.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(9200),B=n(1048);function z(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function U(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,B.Z)(),l=(0,s.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,o.Z)($.toggle,t),children:(0,c.jsxs)("button",{className:(0,o.Z)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(z,{className:(0,o.Z)($.toggleIcon,$.lightToggleIcon)}),(0,c.jsx)(U,{className:(0,o.Z)($.toggleIcon,$.darkToggleIcon)})]})})}const H=r.memo(q),Q={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,M.I)();return r?null:(0,c.jsx)(H,{className:t,buttonClassName:"dark"===n?Q.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(6811);function Z(){return(0,c.jsx)(W.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function G(){const e=(0,P.e)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(S,{color:"var(--ifm-color-emphasis-600)"})})}function K(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(Z,{}),(0,c.jsx)(V,{className:"margin-right--md"}),(0,c.jsx)(G,{})]})}var Y=n(3699),J=n(9524),X=n(2735);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(4082);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,J.Z)(r),p=(0,J.Z)(t),f=(0,J.Z)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,X.Z)(o),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[a,m&&(0,c.jsx)(te.Z,{...l&&{width:12,height:12}})]})};return o?(0,c.jsx)(Y.Z,{href:s?f:o,...u,...h}):(0,c.jsx)(Y.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...u,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,c.jsx)(ne,{className:(0,o.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,o.Z)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,c.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(4639),le=n(9003),se=n(9962);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,o.Z)("navbar__link",a),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(wa,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),(0,c.jsxs)("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,c.jsx)(ne,{role:"button",className:(0,o.Z)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,c.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(wa,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,c.jsx)(r,{...n})}var me=n(626);function he(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_nlXk";var ye=n(3935);function ve(e,t){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),a=0;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t=3||2===n&&r>=4||1===n&&r>=10}(e);function n(n,r,o){if(t&&void 0!==o){var a=o[0].__autocomplete_algoliaCredentials,i={"X-Algolia-Application-Id":a.appId,"X-Algolia-API-Key":a.apiKey};e.apply(void 0,[n].concat(Pe(r),[{headers:i}]))}else e.apply(void 0,[n].concat(Pe(r)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("clickedObjectIDsAfterSearch",Re(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("clickedObjectIDs",Re(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("convertedObjectIDsAfterSearch",Re(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("convertedObjectIDs",Re(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&t.reduce((function(e,t){var n=t.items,r=Ie(t,je);return[].concat(Pe(e),Pe(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function Fe(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function Me(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function Be(e){return Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Be(e)}function ze(e){return function(e){if(Array.isArray(e))return Ue(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Ue(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ue(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ue(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&We({onItemsChange:r,items:n,insights:s,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive;function u(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:qe(qe({},i?{clickAnalytics:!0}:{}),e?{userToken:Ke(e)}:{}),insights:s}})}l("addAlgoliaAgent","insights-plugin"),u(),l("onUserTokenChange",u),l("getUserToken",null,(function(e,t){u(t)})),n((function(e){var t=e.item,n=e.state,r=e.event,a=e.source;Me(t)&&o({state:n,event:r,insights:s,item:t,insightsEvents:[qe({eventName:"Item Selected"},xe({item:t,items:a.getItems().filter(Me)}))]})})),r((function(e){var t=e.item,n=e.source,r=e.state,o=e.event;Me(t)&&a({state:r,event:o,insights:s,item:t,insightsEvents:[qe({eventName:"Item Active"},xe({item:t,items:n.getItems().filter(Me)}))]})}))},onStateChange:function(e){var t=e.state;c({state:t})},__autocomplete_pluginOptions:e}}function Ge(){var e,t=arguments.length>1?arguments[1]:void 0;return[].concat(ze(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),["autocomplete-internal"],ze(null!==(e=t.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function Ke(e){return"number"==typeof e?e.toString():e}function Ye(e){return Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ye(e)}function Je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Ye(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ye(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ye(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function et(e,t,n){var r,o=t.initialState;return{getState:function(){return o},dispatch:function(r,a){var i=function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:st(),plugins:o,initialState:yt({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(mt(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Array.isArray(e),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:Se,onResolve:Se};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=ct(ct({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return tt(e)})).then((function(e){return e.map((function(e){return yt(yt({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:yt({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function wt(e){return wt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wt(e)}function kt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function St(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Qt,Vt,Wt,Zt=null,Gt=(Qt=-1,Vt=-1,Wt=void 0,function(e){var t=++Qt;return Promise.resolve(e).then((function(e){return Wt&&t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var on=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function an(e){return an="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},an(e)}var ln=["props","refresh","store"],sn=["inputElement","formElement","panelElement"],un=["inputElement"],cn=["inputElement","maxLength"],dn=["source"],pn=["item","source"];function fn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function mn(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function yn(e){var t=e.props,n=e.refresh,r=e.store,o=gn(e,ln);return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,a=e.panelElement;function i(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,a].some((function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return mn({onTouchStart:i,onMouseDown:i,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},gn(e,sn))},getRootProps:function(e){return mn({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return Yt(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":Yt(t.id,"label")},e)},getFormProps:function(e){e.inputElement;return mn({action:"",noValidate:!0,role:"search",onSubmit:function(a){var i;a.preventDefault(),t.onSubmit(mn({event:a,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(i=e.inputElement)||void 0===i||i.blur()},onReset:function(a){var i;a.preventDefault(),t.onReset(mn({event:a,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(i=e.inputElement)||void 0===i||i.focus()}},gn(e,un))},getLabelProps:function(e){return mn({htmlFor:Yt(t.id,"input"),id:Yt(t.id,"label")},e)},getInputProps:function(e){var a;function i(e){(t.openOnFocus||Boolean(r.getState().query))&&Kt(mn({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var l=e||{},s=(l.inputElement,l.maxLength),u=void 0===s?512:s,c=gn(l,cn),d=Mt(r.getState()),p=function(e){return Boolean(e&&e.match(on))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),f=t.enterKeyHint||(null!=d&&d.itemUrl&&!p?"go":"search");return mn({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?Yt(t.id,"item-".concat(r.getState().activeItemId),null==d?void 0:d.source):void 0,"aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return Yt(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":Yt(t.id,"label"),value:r.getState().completion||r.getState().query,id:Yt(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:f,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:u,type:"search",onChange:function(e){Kt(mn({event:e,props:t,query:e.currentTarget.value.slice(0,u),refresh:n,store:r},o))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,a=rn(e,Xt);if("ArrowUp"===t.key||"ArrowDown"===t.key){var i=function(){var e=Mt(o.getState()),t=n.environment.document.getElementById(Yt(n.id,"item-".concat(o.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},l=function(){var e=Mt(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,i=e.itemInputValue,l=e.itemUrl,s=e.source;s.onActive(tn({event:t,item:n,itemInputValue:i,itemUrl:l,refresh:r,source:s,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?Kt(tn({event:t,props:n,query:o.getState().query,refresh:r,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),l(),setTimeout(i,0)})):(o.dispatch(t.key,{}),l(),i())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var s=Mt(o.getState()),u=s.item,c=s.itemInputValue,d=s.itemUrl,p=s.source;if(t.metaKey||t.ctrlKey)void 0!==d&&(p.onSelect(tn({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:p,state:o.getState()},a)),n.navigator.navigateNewTab({itemUrl:d,item:u,state:o.getState()}));else if(t.shiftKey)void 0!==d&&(p.onSelect(tn({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:p,state:o.getState()},a)),n.navigator.navigateNewWindow({itemUrl:d,item:u,state:o.getState()}));else if(t.altKey);else{if(void 0!==d)return p.onSelect(tn({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:p,state:o.getState()},a)),void n.navigator.navigate({itemUrl:d,item:u,state:o.getState()});Kt(tn({event:t,nextState:{isOpen:!1},props:n,query:c,refresh:r,store:o},a)).then((function(){p.onSelect(tn({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:p,state:o.getState()},a))}))}}}(mn({event:e,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:Se,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(n)}},c)},getPanelProps:function(e){return mn({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.source,o=gn(n,dn);return mn({role:"listbox","aria-labelledby":Yt(t.id,"label"),id:Yt(t.id,"list",r)},o)},getItemProps:function(e){var a=e.item,i=e.source,l=gn(e,pn);return mn({id:Yt(t.id,"item-".concat(a.__autocomplete_id),i),role:"option","aria-selected":r.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",a.__autocomplete_id);var t=Mt(r.getState());if(null!==r.getState().activeItemId&&t){var i=t.item,l=t.itemInputValue,s=t.itemUrl,u=t.source;u.onActive(mn({event:e,item:i,itemInputValue:l,itemUrl:s,refresh:n,source:u,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var l=i.getItemInputValue({item:a,state:r.getState()}),s=i.getItemUrl({item:a,state:r.getState()});(s?Promise.resolve():Kt(mn({event:e,nextState:{isOpen:!1},props:t,query:l,refresh:n,store:r},o))).then((function(){i.onSelect(mn({event:e,item:a,itemInputValue:l,itemUrl:s,refresh:n,source:i,state:r.getState()},o))}))}},l)}}}var vn="1.13.0",bn=[{segment:"autocomplete-core",version:vn}];function wn(e){return wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wn(e)}function kn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Sn(e){for(var t=1;t=n?null===r?null:0:o}function jn(e){return jn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jn(e)}function Cn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pn(e){for(var t=1;t=5&&((o||!e&&5===r)&&(i.push(r,0,o,n),r=6),e&&(i.push(r,e,0,n),r=6)),o=""},s=0;s"===t?(r=1,o=""):o=t+o[0]:a?t===a?a="":o+=t:'"'===t||"'"===t?a=t:">"===t?(l(),r=1):r&&("="===t?(r=5,n=o,o=""):"/"===t&&(r<5||">"===e[s][u+1])?(l(),3===r&&(i=i[0]),r=i,(i=i[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(l(),r=2):o+=t),3===r&&"!--"===o&&(r=4,i=i[0])}return l(),i}(e)),t),arguments,[])).length>1?t:t[0]}var zn=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-SubmitIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","20"),n.setAttribute("height","20"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"),n.appendChild(r),n},Un=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-ClearIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","18"),n.setAttribute("height","18"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"),n.appendChild(r),n},$n=function(e){var t=e.environment.document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("class","aa-LoadingIcon"),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("width","20"),t.setAttribute("height","20"),t.innerHTML='\n \n',t},qn=["ontouchstart","ontouchend","ontouchmove","ontouchcancel"];function Hn(e,t,n){e[t]=null===n?"":"number"!=typeof n?n:n+"px"}function Qn(e){this._listeners[e.type](e)}function Vn(e,t,n){var r,o,a=e[t];if("style"===t)if("string"==typeof n)e.style=n;else if(null===n)e.style="";else for(t in n)a&&n[t]===a[t]||Hn(e.style,t,n[t]);else"o"===t[0]&&"n"===t[1]?(r=t!==(t=t.replace(/Capture$/,"")),((o=t.toLowerCase())in e||qn.includes(o))&&(t=o),t=t.slice(2),e._listeners||(e._listeners={}),e._listeners[t]=n,n?a||e.addEventListener(t,Qn,r):e.removeEventListener(t,Qn,r)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&"size"!==t&&"download"!==t&&"href"!==t&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function Wn(e){return"onChange"===e?"onInput":e}function Zn(e,t){for(var n in t)Vn(e,Wn(n),t[n])}function Gn(e,t){for(var n in t)"o"===n[0]&&"n"===n[1]||Vn(e,Wn(n),t[n])}var Kn=["children"];function Yn(e){return function(e){if(Array.isArray(e))return Jn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Jn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Jn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Jn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function er(e){return function(t,n){var r=n.children,o=void 0===r?[]:r,a=Xn(n,Kn),i=e.document.createElement(t);return Zn(i,a),i.append.apply(i,Yn(o)),i}}function tr(e){return tr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tr(e)}var nr=["autocompleteScopeApi","environment","classNames","getInputProps","getInputPropsCore","isDetached","state"];function rr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function or(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var lr=function(e){var t=e.autocompleteScopeApi,n=e.environment,r=(e.classNames,e.getInputProps),o=e.getInputPropsCore,a=e.isDetached,i=e.state,l=ir(e,nr),s=er(n)("input",l),u=r(or({state:i,props:o({inputElement:s}),inputElement:s},t));return Zn(s,or(or({},u),{},{onKeyDown:function(e){a&&"Tab"===e.key||u.onKeyDown(e)}})),s};function sr(e){return sr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sr(e)}function ur(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cr(e){for(var t=1;t2&&(i.children=arguments.length>3?pr.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===i[a]&&(i[a]=e.defaultProps[a]);return Or(e,i,r,o,null)}function Or(e,t,n,r,o){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++mr:o,__i:-1,__u:0};return null==o&&null!=fr.vnode&&fr.vnode(a),a}function jr(e){return e.children}function Cr(e,t){this.props=e,this.context=t}function Pr(e,t){if(null==t)return e.__?Pr(e.__,e.__i+1):null;for(var n;tt&&hr.sort(vr));Ar.__r=0}function Nr(e,t,n,r,o,a,i,l,s,u,c){var d,p,f,m,h,g=r&&r.__k||wr,y=t.length;for(n.__d=s,Lr(n,t,g),s=n.__d,d=0;d0?Or(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o)?(o.__=e,o.__b=e.__b+1,l=Dr(o,n,i=r+d,c),o.__i=l,a=null,-1!==l&&(c--,(a=n[l])&&(a.__u|=131072)),null==a||null===a.__v?(-1==l&&d--,"function"!=typeof o.type&&(o.__u|=65536)):l!==i&&(l===i+1?d++:l>i?c>s-i?d+=l-i:d--:d=l(null!=s&&0==(131072&s.__u)?1:0))for(;i>=0||l=0){if((s=t[i])&&0==(131072&s.__u)&&o==s.key&&a===s.type)return i;i--}if(l0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(Kr);r.add({value:t[0],isHighlighted:!0}),""!==t[1]&&r.add({value:t[1],isHighlighted:!1})})),r.get()}function Jr(e){return function(e){if(Array.isArray(e))return Xr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Xr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xr(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n",""":'"',"'":"'"},ro=new RegExp(/\w/i),oo=/&(amp|quot|lt|gt|#39);/g,ao=RegExp(oo.source);function io(e,t){var n,r,o,a=e[t],i=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,l=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return ro.test((o=a.value)&&ao.test(o)?o.replace(oo,(function(e){return no[e]})):o)||l!==i?a.isHighlighted:l}function lo(e){return lo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lo(e)}function so(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function uo(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var jo={clearButton:"aa-ClearButton",detachedCancelButton:"aa-DetachedCancelButton",detachedContainer:"aa-DetachedContainer",detachedFormContainer:"aa-DetachedFormContainer",detachedOverlay:"aa-DetachedOverlay",detachedSearchButton:"aa-DetachedSearchButton",detachedSearchButtonIcon:"aa-DetachedSearchButtonIcon",detachedSearchButtonPlaceholder:"aa-DetachedSearchButtonPlaceholder",detachedSearchButtonQuery:"aa-DetachedSearchButtonQuery",form:"aa-Form",input:"aa-Input",inputWrapper:"aa-InputWrapper",inputWrapperPrefix:"aa-InputWrapperPrefix",inputWrapperSuffix:"aa-InputWrapperSuffix",item:"aa-Item",label:"aa-Label",list:"aa-List",loadingIndicator:"aa-LoadingIndicator",panel:"aa-Panel",panelLayout:"aa-PanelLayout aa-Panel--scrollable",root:"aa-Autocomplete",source:"aa-Source",sourceFooter:"aa-SourceFooter",sourceHeader:"aa-SourceHeader",sourceNoResults:"aa-SourceNoResults",submitButton:"aa-SubmitButton"},Co=function(e,t){var n=e.children;(0,e.render)(n,t)},Po={createElement:Er,Fragment:jr,render:Wr};function To(e){var t=e.panelPlacement,n=e.container,r=e.form,o=e.environment,a=n.getBoundingClientRect(),i=(o.pageYOffset||o.document.documentElement.scrollTop||o.document.body.scrollTop||0)+a.top+a.height;switch(t){case"start":return{top:i,left:a.left};case"end":return{top:i,right:o.document.documentElement.clientWidth-(a.left+a.width)};case"full-width":return{top:i,left:0,right:0,width:"unset",maxWidth:"unset"};case"input-wrapper-width":var l=r.getBoundingClientRect();return{top:i,left:l.left,right:o.document.documentElement.clientWidth-(l.left+l.width),width:"unset",maxWidth:"unset"};default:throw new Error("[Autocomplete] The `panelPlacement` value ".concat(JSON.stringify(t)," is not valid."))}}function Io(e){return Io="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Io(e)}function Ao(){return Ao=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Yo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Jo(e){for(var t=1;t0;if(!p.value.core.openOnFocus&&!t.query)return n;var r=Boolean(u.current||p.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:Do,options:e}}))})),h=be(Jo({collections:[],completion:null,context:{},isOpen:!1,query:"",activeItemId:null,status:"idle"},p.value.core.initialState)),g={getEnvironmentProps:p.value.renderer.getEnvironmentProps,getFormProps:p.value.renderer.getFormProps,getInputProps:p.value.renderer.getInputProps,getItemProps:p.value.renderer.getItemProps,getLabelProps:p.value.renderer.getLabelProps,getListProps:p.value.renderer.getListProps,getPanelProps:p.value.renderer.getPanelProps,getRootProps:p.value.renderer.getRootProps},y={setActiveItemId:m.value.setActiveItemId,setQuery:m.value.setQuery,setCollections:m.value.setCollections,setIsOpen:m.value.setIsOpen,setStatus:m.value.setStatus,setContext:m.value.setContext,refresh:m.value.refresh,navigator:m.value.navigator},v=l((function(){return Bn.bind(p.value.renderer.renderer.createElement)})),b=l((function(){return function(e){var t=e.autocomplete,n=e.autocompleteScopeApi,r=e.classNames,o=e.environment,a=e.isDetached,i=e.placeholder,l=void 0===i?"Search":i,s=e.propGetters,u=e.setIsModalOpen,c=e.state,d=e.translations,p=er(o),f=s.getRootProps(cr({state:c,props:t.getRootProps({})},n)),m=p("div",cr({class:r.root},f)),h=p("div",{class:r.detachedContainer,onMouseDown:function(e){e.stopPropagation()}}),g=p("div",{class:r.detachedOverlay,children:[h],onMouseDown:function(){u(!1),t.setIsOpen(!1)}}),y=s.getLabelProps(cr({state:c,props:t.getLabelProps({})},n)),v=p("button",{class:r.submitButton,type:"submit",title:d.submitButtonTitle,children:[zn({environment:o})]}),b=p("label",cr({class:r.label,children:[v]},y)),w=p("button",{class:r.clearButton,type:"reset",title:d.clearButtonTitle,children:[Un({environment:o})]}),k=p("div",{class:r.loadingIndicator,children:[$n({environment:o})]}),S=lr({class:r.input,environment:o,state:c,getInputProps:s.getInputProps,getInputPropsCore:t.getInputProps,autocompleteScopeApi:n,isDetached:a}),x=p("div",{class:r.inputWrapperPrefix,children:[b,k]}),_=p("div",{class:r.inputWrapperSuffix,children:[w]}),E=p("div",{class:r.inputWrapper,children:[S]}),O=s.getFormProps(cr({state:c,props:t.getFormProps({inputElement:S})},n)),j=p("form",cr({class:r.form,children:[x,E,_]},O)),C=s.getPanelProps(cr({state:c,props:t.getPanelProps({})},n)),P=p("div",cr({class:r.panel},C)),T=p("div",{class:r.detachedSearchButtonQuery,textContent:c.query}),I=p("div",{class:r.detachedSearchButtonPlaceholder,hidden:Boolean(c.query),textContent:l});if(a){var A=p("div",{class:r.detachedSearchButtonIcon,children:[zn({environment:o})]}),N=p("button",{type:"button",class:r.detachedSearchButton,onClick:function(){u(!0)},children:[A,I,T]}),L=p("button",{type:"button",class:r.detachedCancelButton,textContent:d.detachedCancelButtonText,onTouchStart:function(e){e.stopPropagation()},onClick:function(){t.setIsOpen(!1),u(!1)}}),R=p("div",{class:r.detachedFormContainer,children:[j,L]});h.appendChild(R),m.appendChild(N)}else m.appendChild(j);return{detachedContainer:h,detachedOverlay:g,detachedSearchButtonQuery:T,detachedSearchButtonPlaceholder:I,inputWrapper:E,input:S,root:m,form:j,label:b,submitButton:v,clearButton:w,loadingIndicator:k,panel:P}}({autocomplete:m.value,autocompleteScopeApi:y,classNames:p.value.renderer.classNames,environment:p.value.core.environment,isDetached:f.value,placeholder:p.value.core.placeholder,propGetters:g,setIsModalOpen:x,state:h.current,translations:p.value.renderer.translations})}));function w(){Zn(b.value.panel,{style:f.value?{}:To({panelPlacement:p.value.renderer.panelPlacement,container:b.value.root,form:b.value.form,environment:p.value.core.environment})})}function k(e){h.current=e;var t={autocomplete:m.value,autocompleteScopeApi:y,classNames:p.value.renderer.classNames,components:p.value.renderer.components,container:p.value.renderer.container,html:v.value,dom:b.value,panelContainer:f.value?b.value.detachedContainer:p.value.renderer.panelContainer,propGetters:g,state:h.current,renderer:p.value.renderer.renderer},n=!it(e)&&!u.current&&p.value.renderer.renderNoResults||p.value.renderer.render;!function(e){var t=e.autocomplete,n=e.autocompleteScopeApi,r=e.dom,o=e.propGetters,a=e.state;Gn(r.root,o.getRootProps(Lo({state:a,props:t.getRootProps({})},n))),Gn(r.input,o.getInputProps(Lo({state:a,props:t.getInputProps({inputElement:r.input}),inputElement:r.input},n))),Zn(r.label,{hidden:"stalled"===a.status}),Zn(r.loadingIndicator,{hidden:"stalled"!==a.status}),Zn(r.clearButton,{hidden:!a.query}),Zn(r.detachedSearchButtonQuery,{textContent:a.query}),Zn(r.detachedSearchButtonPlaceholder,{hidden:Boolean(a.query)})}(t),function(e,t){var n=t.autocomplete,r=t.autocompleteScopeApi,o=t.classNames,a=t.html,i=t.dom,l=t.panelContainer,s=t.propGetters,u=t.state,c=t.components,d=t.renderer;if(u.isOpen){l.contains(i.panel)||"loading"===u.status||l.appendChild(i.panel),i.panel.classList.toggle("aa-Panel--stalled","stalled"===u.status);var p=u.collections.filter((function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0})).map((function(e,t){var i=e.source,l=e.items;return d.createElement("section",{key:t,className:o.source,"data-autocomplete-source-id":i.sourceId},i.templates.header&&d.createElement("div",{className:o.sourceHeader},i.templates.header({components:c,createElement:d.createElement,Fragment:d.Fragment,items:l,source:i,state:u,html:a})),i.templates.noResults&&0===l.length?d.createElement("div",{className:o.sourceNoResults},i.templates.noResults({components:c,createElement:d.createElement,Fragment:d.Fragment,source:i,state:u,html:a})):d.createElement("ul",Ao({className:o.list},s.getListProps(Lo({state:u,props:n.getListProps({source:i})},r))),l.map((function(e){var t=n.getItemProps({item:e,source:i});return d.createElement("li",Ao({key:t.id,className:o.item},s.getItemProps(Lo({state:u,props:t},r))),i.templates.item({components:c,createElement:d.createElement,Fragment:d.Fragment,item:e,state:u,html:a}))}))),i.templates.footer&&d.createElement("div",{className:o.sourceFooter},i.templates.footer({components:c,createElement:d.createElement,Fragment:d.Fragment,items:l,source:i,state:u,html:a})))})),f=d.createElement(d.Fragment,null,d.createElement("div",{className:o.panelLayout},p),d.createElement("div",{className:"aa-GradientBottom"})),m=p.reduce((function(e,t){return e[t.props["data-autocomplete-source-id"]]=t,e}),{});e(Lo(Lo({children:f,state:u,sections:p,elements:m},d),{},{components:c,html:a},r),i.panel)}else l.contains(i.panel)&&l.removeChild(i.panel)}(n,t)}function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o();var t,n,r=p.value.renderer,i=r.components,l=Ko(r,Zo);c.current=Uo(l,p.value.core,{components:(t=i,n=function(e){return!e.value.hasOwnProperty("__autocomplete_componentName")},Object.entries(t).reduce((function(e,t){var r=Vo(t,2),o=r[0],a=r[1];return n({key:o,value:a})?Ho(Ho({},e),{},Qo({},o,a)):e}),{})),initialState:h.current},e),s(),a(),m.value.refresh().then((function(){k(h.current)}))}function x(e){requestAnimationFrame((function(){var t=p.value.core.environment.document.body.contains(b.value.detachedOverlay);e!==t&&(e?(p.value.core.environment.document.body.appendChild(b.value.detachedOverlay),p.value.core.environment.document.body.classList.add("aa-Detached"),b.value.input.focus()):(p.value.core.environment.document.body.removeChild(b.value.detachedOverlay),p.value.core.environment.document.body.classList.remove("aa-Detached")))}))}return r((function(){var e=m.value.getEnvironmentProps({formElement:b.value.form,panelElement:b.value.panel,inputElement:b.value.input});return Zn(p.value.core.environment,e),function(){Zn(p.value.core.environment,Object.keys(e).reduce((function(e,t){return Jo(Jo({},e),{},Xo({},t,void 0))}),{}))}})),r((function(){var e=f.value?p.value.core.environment.document.body:p.value.renderer.panelContainer,t=f.value?b.value.detachedOverlay:b.value.panel;return f.value&&h.current.isOpen&&x(!0),k(h.current),function(){e.contains(t)&&e.removeChild(t)}})),r((function(){var e=p.value.renderer.container;return e.appendChild(b.value.root),function(){e.removeChild(b.value.root)}})),r((function(){var e=ve((function(e){k(e.state)}),0);return d.current=function(t){var n=t.state,r=t.prevState;(f.value&&r.isOpen!==n.isOpen&&x(n.isOpen),f.value||!n.isOpen||r.isOpen||w(),n.query!==r.query)&&p.value.core.environment.document.querySelectorAll(".aa-Panel--scrollable").forEach((function(e){0!==e.scrollTop&&(e.scrollTop=0)}));e({state:n})},function(){d.current=void 0}})),r((function(){var e=ve((function(){var e=f.value;f.value=p.value.core.environment.matchMedia(p.value.renderer.detachedMediaQuery).matches,e!==f.value?S({}):requestAnimationFrame(w)}),20);return p.value.core.environment.addEventListener("resize",e),function(){p.value.core.environment.removeEventListener("resize",e)}})),r((function(){if(!f.value)return function(){};function e(e){b.value.detachedContainer.classList.toggle("aa-DetachedContainer--modal",e)}function t(t){e(t.matches)}var n=p.value.core.environment.matchMedia(getComputedStyle(p.value.core.environment.document.documentElement).getPropertyValue("--aa-detached-modal-media-query"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener("change",t):n.addListener(t),function(){r?n.removeEventListener("change",t):n.removeListener(t)}})),r((function(){return requestAnimationFrame(w),function(){}})),Jo(Jo({},y),{},{update:S,destroy:function(){o()}})}var ta=n(1514);const na=n(5351),ra=na;var oa=n(813),aa=n.n(oa);function ia(){const e=(0,l.TH)(),t=(0,l.k6)(),{siteConfig:{baseUrl:n}}=(0,se.Z)(),[o,a]=(0,r.useState)({terms:[],isDocsOrBlog:!1});return(0,r.useEffect)((()=>{if(!e.state?.cmfcmfhighlight||0===e.state.cmfcmfhighlight.terms.length)return;a(e.state.cmfcmfhighlight);const{cmfcmfhighlight:n,...r}=e.state;t.replace({...e,state:r})}),[e.state?.cmfcmfhighlight,t,e]),(0,r.useEffect)((()=>{if(0===o.terms.length)return;const e=o.isDocsOrBlog?document.getElementsByTagName("article")[0]:document.getElementsByTagName("main")[0];if(!e)return;const t=new(aa())(e),n={ignoreJoiners:!0};return t.mark(o.terms,n),()=>t.unmark(n)}),[o,n]),null}var la=n(1610),sa=n(246);function ua(e){let{document:t}=e;const[n,r]=t.sectionRoute.split("#");let o=n;return r&&(o+="#"+r),o}const ca={documents:[],index:ra((function(){this.ref("id"),this.field("title"),this.field("content")}))};const da=()=>{const e=(0,B.Z)(),[t,n]=(0,r.useState)((()=>!!e&&"dark"===document.documentElement.getAttribute("data-theme")));(0,r.useEffect)((()=>{const e=new MutationObserver((()=>{n("dark"===document.documentElement.getAttribute("data-theme"))}));return e.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>e.disconnect()}),[]);const{siteConfig:{baseUrl:o}}=(0,se.Z)(),{titleBoost:a,contentBoost:i,tagsBoost:u,parentCategoriesBoost:c,indexDocSidebarParentCategories:d,maxSearchResults:p}=(0,la.eZ)("@cmfcmf/docusaurus-search-local"),f=(0,l.k6)(),{tags:m}=(0,sa._q)(),h=(0,r.useRef)(m);(0,r.useEffect)((()=>{h.current=m}),[m]);const g=(0,r.useRef)({}),y=async e=>{const t=g.current[e];switch(t?.state){case"ready":return t;case void 0:{const t=[];g.current[e]={state:"loading",callbacks:t};const n=await async function(e,t){{let r;try{const n=await fetch(`${e}search-index-${t}.json`);if(!n.ok)return ca;r=await n.json()}catch(n){return ca}return{documents:r.documents,index:ra.Index.load(r.index)}}}(o,e);return t.forEach((e=>e(n))),g.current[e]={state:"ready",...n}}case"loading":return new Promise((e=>{t.callbacks.push(e)}))}},v=(0,s.I)({message:"cmfcmf/d-s-l.searchBar.placeholder",description:"Placeholder shown in the searchbar"}),b=(0,r.useRef)(null),w=(0,r.useRef)(null);return(0,r.useEffect)((()=>{if(b.current)return w.current=ea({container:b.current,placeholder:v,renderer:{createElement:r.createElement,Fragment:r.Fragment,render:ye.render},navigator:{navigate(e){let{item:t,itemUrl:n}=e;f.push(n,{cmfcmfhighlight:{terms:t.terms,isDocsOrBlog:"docs"===t.document.type||"blog"===t.document.type}})}},detachedMediaQuery:"",defaultActiveItemId:0,translations:{clearButtonTitle:(0,s.I)({message:"cmfcmf/d-s-l.searchBar.clearButtonTitle",description:"Title of the button to clear the current search input"}),detachedCancelButtonText:(0,s.I)({message:"cmfcmf/d-s-l.searchBar.detachedCancelButtonText",description:"Text of the button to close the detached search window"}),submitButtonTitle:(0,s.I)({message:"cmfcmf/d-s-l.searchBar.submitButtonTitle",description:"Title of the button to submit a new search"})},getSources(e){let{query:t}=e;return[{sourceId:"search-results",templates:{item(e){let{item:t}=e;const n=ua(t);return r.createElement("a",{href:n,className:"aa-ItemLink",onClick:e=>{e.preventDefault(),f.push(n,{cmfcmfhighlight:{terms:t.terms,isDocsOrBlog:"docs"===t.document.type||"blog"===t.document.type}})}},r.createElement("div",{className:"aa-ItemContent"},r.createElement("div",{className:"aa-ItemContentBody"},r.createElement("div",{className:"aa-ItemContentTitle"},t.document.sectionTitle),t.document.pageTitle!==t.document.sectionTitle&&r.createElement("div",{className:"aa-ItemContentDescription"},t.document.pageTitle))),r.createElement("div",{className:"aa-ItemActions"},r.createElement("button",{className:"aa-ItemActionButton aa-DesktopOnly aa-ActiveOnly",type:"button",title:"Select"},r.createElement("svg",{viewBox:"0 0 24 24",width:"20",height:"20",fill:"currentColor"},r.createElement("path",{d:"M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z"})))))},noResults:()=>r.createElement("div",{className:"aa-ItemContent"},r.createElement("div",{className:"aa-ItemContentBody"},(0,s.I)({message:"cmfcmf/d-s-l.searchBar.noResults",description:"message shown if no results are found"})))},getItemUrl(e){let{item:t}=e;return ua(t)},async getItems(){const e=h.current,n=await Promise.all(e.map((e=>y(e)))),r=(e=>na.tokenizer(e).map((e=>e.str)))(t);return n.flatMap((e=>{let{index:t,documents:n}=e;return t.query((e=>{e.term(r,{fields:["title"],boost:a}),e.term(r,{fields:["title"],boost:a,wildcard:ra.Query.wildcard.TRAILING}),e.term(r,{fields:["content"],boost:i}),e.term(r,{fields:["content"],boost:i,wildcard:ra.Query.wildcard.TRAILING}),e.term(r,{fields:["tags"],boost:u}),e.term(r,{fields:["tags"],boost:u,wildcard:ra.Query.wildcard.TRAILING}),d&&(e.term(r,{fields:["sidebarParentCategories"],boost:c}),e.term(r,{fields:["sidebarParentCategories"],boost:c,wildcard:ra.Query.wildcard.TRAILING}))})).slice(0,p).map((e=>({document:n.find((t=>t.id.toString()===e.ref)),score:e.score,terms:r})))})).sort(((e,t)=>t.score-e.score)).slice(0,p)}}]}}),()=>w.current?.destroy()}),[p]),r.createElement(r.Fragment,null,r.createElement(ta.Z,null,r.createElement("body",{"data-theme":t?"dark":"light"})),r.createElement(ia,null),r.createElement("div",{className:"dsla-search-wrapper"},r.createElement("div",{className:"dsla-search-field",ref:b,"data-tags":m.join(",")})))},pa={navbarSearchContainer:"navbarSearchContainer_Bca1"};function fa(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,o.Z)(n,pa.navbarSearchContainer),children:t})}var ma=n(868),ha=n(3734);var ga=n(6409);const ya=e=>e.docs.find((t=>t.id===e.mainDocId));const va={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.Z)(),p=(0,me.l)(),{search:f,hash:m}=(0,l.TH)(),h=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,s.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(fe,{...a,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(he,{className:ge}),g]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(fa,{className:n,children:(0,c.jsx)(da,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,c.jsx)(i,{className:(0,o.Z)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,ma.Iw)(r),i=(0,ha.vY)(t,r),l=a?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>l||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,ma.Iw)(r),i=(0,ha.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,ha.lO)(r)[0],i=t??a.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,c.jsx)(ae,{...o,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:u,hash:d}=(0,l.TH)(),p=(0,ma.Iw)(n),f=(0,ma.gB)(n),{savePreferredVersionName:m}=(0,ga.J)(n),h=f.map((e=>{const t=p.alternateDocVersions[e.name]??ya(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),g=[...o,...h,...a],y=(0,ha.lO)(n)[0],v=t&&g.length>1?(0,s.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):y.label,b=t&&g.length>1?void 0:ya(y).path;return g.length<=1?(0,c.jsx)(ae,{...i,mobile:t,label:v,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(fe,{...i,mobile:t,label:v,to:b,items:g,isActive:r?()=>!1:void 0})}},ba=va;function wa(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=ba[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(o,{...n})}function ka(){const e=(0,P.e)(),t=(0,w.L)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(wa,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Sa(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function xa(){const e=0===(0,w.L)().navbar.items.length,t=D();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Sa,{onClick:()=>t.hide()}),t.content]})}function _a(){const e=(0,P.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(F,{header:(0,c.jsx)(K,{}),primaryMenu:(0,c.jsx)(ka,{}),secondaryMenu:(0,c.jsx)(xa,{})}):null}const Ea={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Oa(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,o.Z)("navbar-sidebar__backdrop",e.className)})}function ja(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.L)(),i=(0,P.e)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,T.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.Z)("navbar","navbar--fixed-top",n&&[Ea.navbarHideable,!d&&Ea.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Oa,{onClick:i.toggle}),(0,c.jsx)(_a,{})]})}var Ca=n(3905);const Pa={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Ta(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ia(e){let{error:t}=e;const n=(0,Ca.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Pa.errorBoundaryError,children:n})}class Aa extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Na="right";function La(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Ra(){const{toggle:e,shown:t}=(0,P.e)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(La,{})})}const Da={colorModeToggle:"colorModeToggle_DEke"};function Fa(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(Aa,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(wa,{...e})},t)))})}function Ma(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Ba(){const e=(0,P.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Na)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,c.jsx)(Ma,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Ra,{}),(0,c.jsx)(Z,{}),(0,c.jsx)(Fa,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Fa,{items:r}),(0,c.jsx)(V,{className:Da.colorModeToggle}),!o&&(0,c.jsx)(fa,{children:(0,c.jsx)(da,{})})]})})}function za(){return(0,c.jsx)(ja,{children:(0,c.jsx)(Ba,{})})}function Ua(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,l=(0,J.Z)(n),s=(0,J.Z)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Y.Z,{className:"footer__link-item",...r?{href:a?s:r}:{to:l},...i,children:[o,r&&!(0,X.Z)(r)&&(0,c.jsx)(te.Z,{})]})}function $a(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Ua,{item:t})},t.href??t.to)}function qa(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)($a,{item:e},t)))})]})}function Ha(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(qa,{column:e},t)))})}function Qa(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Va(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Ua,{item:t})}function Wa(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Va,{item:e}),t.length!==n+1&&(0,c.jsx)(Qa,{})]},n)))})})}function Za(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Ha,{columns:t}):(0,c.jsx)(Wa,{links:t})}var Ga=n(4277);const Ka={footerLogoLink:"footerLogoLink_BH7S"};function Ya(e){let{logo:t}=e;const{withBaseUrl:n}=(0,J.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(Ga.Z,{className:(0,o.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function Ja(e){let{logo:t}=e;return t.href?(0,c.jsx)(Y.Z,{href:t.href,className:Ka.footerLogoLink,target:t.target,children:(0,c.jsx)(Ya,{logo:t})}):(0,c.jsx)(Ya,{logo:t})}function Xa(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ei(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,c.jsx)("footer",{className:(0,o.Z)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function ti(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,c.jsx)(ei,{style:o,links:n&&n.length>0&&(0,c.jsx)(Za,{links:n}),logo:r&&(0,c.jsx)(Ja,{logo:r}),copyright:t&&(0,c.jsx)(Xa,{copyright:t})})}const ni=r.memo(ti),ri=(0,I.Qc)([M.S,k.pl,T.OC,ga.L5,i.VC,function(e){let{children:t}=e;return(0,c.jsx)(A.n2,{children:(0,c.jsx)(P.M,{children:(0,c.jsx)(L,{children:t})})})}]);function oi(e){let{children:t}=e;return(0,c.jsx)(ri,{children:t})}var ai=n(3899);function ii(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(ai.Z,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(Ta,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Ia,{error:t})})]})})})}const li={mainWrapper:"mainWrapper_z2l0"};function si(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.t)(),(0,c.jsxs)(oi,{children:[(0,c.jsx)(i.d,{title:l,description:s}),(0,c.jsx)(b,{}),(0,c.jsx)(C,{}),(0,c.jsx)(za,{}),(0,c.jsx)("div",{id:d,className:(0,o.Z)(g.k.wrapper.main,li.mainWrapper,r),children:(0,c.jsx)(a.Z,{fallback:e=>(0,c.jsx)(ii,{...e}),children:t})}),!n&&(0,c.jsx)(ni,{})]})}},6811:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var r=n(3699),o=n(9524),a=n(9962),i=n(107),l=n(4277),s=n(5893);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Z)(t.src),dark:(0,o.Z)(t.srcDark||t.src)},i=(0,s.jsx)(l.Z,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,a.Z)(),{navbar:{title:n,logo:l}}=(0,i.L)(),{imageClassName:c,titleClassName:d,...p}=e,f=(0,o.Z)(l?.href||"/"),m=n?"":t,h=l?.alt??m;return(0,s.jsxs)(r.Z,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:h,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},3647:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);var r=n(1514),o=n(5893);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.Z,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},4277:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(7294),o=n(512),a=n(1048),i=n(9200);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(5893);function u(e){let{className:t,children:n}=e;const u=(0,a.Z)(),{colorMode:c}=(0,i.I)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.Z)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:a},e)}))})}function c(e){const{sources:t,className:n,alt:r,...o}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},4639:(e,t,n)=>{"use strict";n.d(t,{u:()=>u,z:()=>y});var r=n(7294),o=n(6136),a=n(1270),i=n(8986),l=n(5893);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.Z.canUseDOM)return e?c:d}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return f({collapsibleRef:c,collapsed:n,animation:a}),(0,l.jsx)(t,{ref:c,style:u?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(c.current,n),i?.(n))},className:s,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,a.Z)((()=>{t||i(!0)}),[t]),(0,a.Z)((()=>{o&&u(t)}),[o,t]),o?(0,l.jsx)(h,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,l.jsx)(r,{...n})}},5830:(e,t,n)=>{"use strict";n.d(t,{nT:()=>h,pl:()=>m});var r=n(7294),o=n(1048),a=n(2560),i=n(3768),l=n(107),s=n(5893);const u=(0,a.WA)("docusaurus.announcement.dismiss"),c=(0,a.WA)("docusaurus.announcement.id"),d=()=>"true"===u.get(),p=e=>u.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,o.Z)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},9200:(e,t,n)=>{"use strict";n.d(t,{I:()=>y,S:()=>g});var r=n(7294),o=n(6136),a=n(3768),i=n(2560),l=n(107),s=n(5893);const u=r.createContext(void 0),c="theme",d=(0,i.WA)(c),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>o.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new a.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},6409:(e,t,n)=>{"use strict";n.d(t,{J:()=>b,L5:()=>y,Oh:()=>w});var r=n(7294),o=n(868),a=n(6875),i=n(107),l=n(3734),s=n(3768),u=n(2560),c=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,u.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function h(){const e=(0,o._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=h();return(0,c.jsx)(m.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.cE?(0,c.jsx)(g,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function v(){const e=(0,r.useContext)(m);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function b(e){void 0===e&&(e=a.m);const t=(0,o.zh)(e),[n,i]=v(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,o._r)(),[t]=v();function n(n){const r=e[n],{preferredVersionName:o}=t[n];return r.versions.find((e=>e.name===o))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},4432:(e,t,n)=>{"use strict";n.d(t,{V:()=>u,b:()=>s});var r=n(7294),o=n(3768),a=n(5893);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new o.i6("DocsSidebarProvider");return e}},8801:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>l});var r=n(7294),o=n(3768),a=n(5893);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.i6("DocsVersionProvider");return e}},2600:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>m});var r=n(7294),o=n(3086),a=n(3488),i=n(6550),l=n(3768);function s(e){!function(e){const t=(0,i.k6)(),n=(0,l.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(107),c=n(5893);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,a.i)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=p();return(0,c.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3086:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>u,n2:()=>l});var r=n(7294),o=n(3768),a=n(5893);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.i6("NavbarSecondaryMenuContentProvider");const[,l]=a,s=(0,o.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},8181:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,t:()=>a});var r=n(7294);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},3488:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(7294),o=n(6136);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(){const[e,t]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){t(function(){if(!o.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>i?a.desktop:a.mobile}())}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),e}},3702:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},8986:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},3734:(e,t,n)=>{"use strict";n.d(t,{MN:()=>j,LM:()=>m,_F:()=>v,cE:()=>p,jA:()=>h,xz:()=>f,SN:()=>O,lO:()=>x,vY:()=>E,oz:()=>_,s1:()=>S,f:()=>w});var r=n(7294),o=n(6550),a=n(8790),i=n(868),l=n(6409),s=n(8801),u=n(4432);function c(e){return Array.from(new Set(e))}var d=n(9003);const p=!!i._r;function f(e){const t=(0,s.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function h(){const{pathname:e}=(0,o.TH)(),t=(0,u.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=k({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),y=(e,t)=>e.some((e=>v(e,t)));function v(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||y(e.items,t))}function b(e,t){switch(e.type){case"category":return v(e,t)||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||v(e,t);default:return!0}}function w(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function k(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,d.Mg)(a.href,n)||e(a.items))||"link"===a.type&&(0,d.Mg)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function S(){const e=(0,u.V)(),{pathname:t}=(0,o.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?k({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),o=(0,i.yW)(e);return(0,r.useMemo)((()=>c([t,n,o].filter(Boolean))),[t,n,o])}function _(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function E(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function O(e){let{route:t}=e;const n=(0,o.TH)(),r=(0,s.E)(),i=t.routes,l=i.find((e=>(0,o.LX)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,a.H)(i),sidebarName:u,sidebarItems:c}}function j(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},5463:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>m});var r=n(7294),o=n(512),a=n(1514),i=n(9656);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(9524),u=n(9962);var c=n(5893);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),p=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.Z,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),l=(0,o.Z)(i,t);return(0,c.jsxs)(p.Provider,{value:l,children:[(0,c.jsx)(a.Z,{children:(0,c.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(f,{className:(0,o.Z)(r,a),children:t})}},3768:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>c,Ql:()=>u,i6:()=>s,zX:()=>i});var r=n(7294),o=n(1270),a=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,o.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,o.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},9003:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),o=n(997),a=n(9962);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,a.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.Z,baseUrl:e})),[e])}},2957:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>u,RF:()=>p});var r=n(7294),o=n(6136),a=n(1048),i=(n(1270),n(3768)),l=n(5893);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),o=(0,r.useRef)(d()),a=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,a.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},246:(e,t,n)=>{"use strict";n.d(t,{HX:()=>i,_q:()=>s,os:()=>l});var r=n(868),o=n(9962),a=n(6409);const i="default";function l(e,t){return`docs-${e}-${t}`}function s(){const{i18n:e}=(0,o.Z)(),t=(0,r._r)(),n=(0,r.WS)(),s=(0,a.Oh)();const u=[i,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,o=s[e],a=t[e].versions.find((e=>e.isLast));return l(e,(r??o??a).name)}))];return{locale:e.currentLocale,tags:u}}},2560:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294);const r="localStorage";function o(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function a(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=a(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},626:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(9962),o=n(6550),a=n(3905);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,o.TH)(),u=(0,a.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},3266:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),o=n(6550),a=n(3768);function i(e){const t=(0,o.TH)(),n=(0,a.D9)(t),i=(0,a.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},107:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var r=n(9962);function o(){return(0,r.Z)().siteConfig.themeConfig}},4136:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[o]=e.split(/[#?]/),a="/"===o||o===r?o:(i=o,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(o,a)}},5806:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},3905:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(4136);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(o).default}});var a=n(5806);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return a.getErrorCausalChain}})},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>O,ob:()=>f,PP:()=>C,Ep:()=>p});var r=n(7462);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(8776);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,h(),w.location);c.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(9864),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),g=0;g{"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,o,a,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},813:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=a}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var o=e.contentWindow;if(r=o.document,!o||!r)throw new Error("iframe inaccessible")}catch(a){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,a=null,i=function i(){if(!o){o=!0,clearTimeout(a);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(l){n()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(r){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),l=i.length,s=0;i=Array.prototype.slice.call(i);var u=function(){--l<=0&&a(s)};l||u(),i.forEach((function(t){e.matches(t,o.exclude)?u():o.onIframeReady(t,(function(e){n(t)&&(s++,r(e)),u()}),u)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,a=!1;return r.forEach((function(e,t){e.val===n&&(o=t,a=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==o||a?!1===o||a||(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach((function(e){e.handled||o.getIframeContents(e.val,(function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){for(var a=this,i=this.createIterator(t,e,r),l=[],s=[],u=void 0,c=void 0,d=function(){var e=a.getIteratorNode(i);return c=e.prevNode,u=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return a.checkIframeFilter(u,c,e,l)}),(function(t){a.createInstanceOnIframe(t).forEachNode(e,(function(e){return s.push(e)}),r)})),s.push(u);s.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(l,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=this.getContexts(),i=a.length;i||o(),a.forEach((function(a){var l=function(){r.iterateThroughNodes(e,a,t,n,(function(){--i<=0&&o()}))};r.iframes?r.waitForIframes(a,l):l()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var o=!1;return n.every((function(t){return!r.call(e,t)||(o=!0,!1)})),o}return!1}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var o in t)if(t.hasOwnProperty(o)){var a=t[o],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),l="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a);""!==i&&""!==l&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(l)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(l)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":"\x01"}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":"\x02"}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105","A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010d","C\xc7\u0106\u010c","d\u0111\u010f","D\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119","E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012b","I\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014d","O\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159","R\u0158","s\u0161\u015b\u0219\u015f","S\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163","T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016b","U\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xff","Y\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017a","Z\u017d\u017b\u0179"]:["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010dC\xc7\u0106\u010c","d\u0111\u010fD\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012bI\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014dO\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159R\u0158","s\u0161\u015b\u0219\u015fS\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016bU\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xffY\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017aZ\u017d\u017b\u0179"],r=[];return e.split("").forEach((function(o){n.every((function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf",r=this.opt.accuracy,o="string"==typeof r?r:r.value,a="string"==typeof r?[]:r.limiters,i="";switch(a.forEach((function(e){i+="|"+t.escapeStr(e)})),o){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr(n)))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var o=t.callNoMatchOnInvalidRanges(e,r),a=o.start,i=o.end;o.valid&&(e.start=a,e.length=i-a,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,o=!0,a=n.length,i=t-a,l=parseInt(e.start,10)-i;return(r=(l=l>a?a:l)+parseInt(e.length,10))>a&&(r=a,this.log("End range automatically set to the max value of "+a)),l<0||r-l<0||l>a||r>a?(o=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(l,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return o.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),a=o.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=o.textContent,o.parentNode.replaceChild(i,o),a}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var a=this;e.nodes.every((function(i,l){var s=e.nodes[l+1];if(void 0===s||s.start>t){if(!r(i.node))return!1;var u=t-i.start,c=(n>i.end?i.end:n)-i.start,d=e.value.substr(0,i.start),p=e.value.substr(c+i.start);if(i.node=a.wrapRangeInTextNode(i.node,u,c),e.value=d+p,e.nodes.forEach((function(t,n){n>=l&&(e.nodes[n].start>0&&n!==l&&(e.nodes[n].start-=c),e.nodes[n].end-=c)})),n-=c,o(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var o=void 0;null!==(o=e.exec(t.textContent))&&""!==o[i];)if(n(o[i],t)){var l=o.index;if(0!==i)for(var s=1;s{"use strict";n.r(t)},6930:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),u=a.querySelector(r.barSelector),c=r.speed,d=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function u(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},4779:(e,t,n)=>{var r=n(5826);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return l(a(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,l="",c=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],p=n[1],f=n.index;if(l+=e.slice(i,f),i=f+d.length,p)l+=p[1];else{var m=e[i],h=n[2],g=n[3],y=n[4],v=n[5],b=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=h&&null!=m&&m!==h,S="+"===b||"*"===b,x="?"===b||"*"===b,_=n[2]||c,E=y||v;r.push({name:g||a++,prefix:h||"",delimiter:_,optional:x,repeat:S,partial:k,asterisk:!!w,pattern:E?u(E):w?".*":"[^"+s(_)+"]+?"})}}return i{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),o=n(9642),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),a.add(e)}))}i.silent=!1,e.exports=i},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=a.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=a[o],d=n.tokenStack[c],p="string"==typeof u?u:u.content,f=t(r,c),m=p.indexOf(f);if(m>-1){++o;var h=p.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=p.substring(m+f.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),y&&v.push.apply(v,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},6726:(e,t,n)=>{var r={"./":2885};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=6726},6500:(e,t,n)=>{var r={"./":2885};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in o(t,a),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var p,f=r(s),m=c;o(m);){for(var h in p={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(p[e]=!0)}))}for(var y in d)if(!(y in c))for(var v in f(y))if(v in c){p[y]=!0;break}for(var b in m=p)c[b]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var o,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)o=r(e);else{var p=i(c.map((function(e){var t=u(e);return delete s[e],t})));a?o=a(p,(function(){return r(e)})):r(e)}return l[e]=o}for(var c in n)u(c);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,c,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),o=n(3840);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n