Writing HTML Plugins

You can use plugins to customize interfaces by adding HTML and additional scripts.

HTML files that you copy to %appdata%App/GEODI/GUI/Custom/ES/Component or the folders under GUI/Custom/ES/Component, which is located next to the application, will be included in ES and DA interfaces. You can reach any event and class using this method. You can set under which conditions your extension will work by placing a jSettings file next to it. If there are no files with .jsettings extension, then HTML will be included in the content without any conditions.

(warning)The extension installation can be limited to desired conditions by defining macros in the ConditionMacro field of jSettings. In the case of GEODI jSettings conditionMacro object is GeodiWorkspaceHelper methods can be used.

(warning)Desired projects' names that supposed to run the extension can be set in ActionTargets field in jSettings file. Including all projects can be done by setting the field to *(asterisk) and project names in the field can be separated using ','(comma).

(warning) The component folder for the map interface is GUI/Custom/Map/Component and jSettings conditionMacro object is GeodiWorkspace.

(warning) The component folders for the viewer interfaces are GUI/Custom/Viewer/Default/Script and UI/Custom/Viewer/Default/RightPanel. In the case of viewer interfaces, jSettings conditionMacro object is GeodiWorkspace.

(warning) Server tags that are explained in the HTML Report page can be used. Macro data in HTML is equal to null and can not be used.


MyComponent.html
<script>
	alert("Component loaded")
</script>

MyComponent.html
<dcc:panel visible='c["geodi"].GetSessionWSName()=="MyProject"'>
<script>
	alert("Component loaded")
</script>
</dcc:panel>