Commit c735bc5d authored by jdurrant's avatar jdurrant
Browse files

Updates to address new SharedArrayBuffer requirements.

parent 6bef33b7
Changes
=======
1.0.3
-----
* Due to a recent browser update, web servers hosting Webina must now send the
`Cross-Origin-Embedder-Policy: require-corp` and `Cross-Origin-Opener-Policy:
same-origin` headers.
* Updated `README.md` to explain the need for these new headers.
* The webina.zip file now includes a simple Python3 server that provides the
required headers, to facilitate testing on users' local machines.
* Starting with this version, we will no longer generate technical documentation
describing the Webina source code. Documentation describing basic usage,
compilation, etc. can be found in the `README.md` file.
1.0.2
-----
......
# Webina 1.0.2 #
# Webina 1.0.3 #
## Introduction ##
......@@ -257,15 +257,19 @@ these instructions:
2. Uncompress the file: `unzip webina.zip`
3. Change to the new `webina/` directory: `cd webina`
4. Start a local server.
* You can use `Node.js` and `npm`:
* `npm install -g http-server`
* `http-server`
* [With some
coding](https://curiousprog.com/2018/10/08/serving-webassembly-files-with-a-development-web-server/),
you can also use Python 2.7's built-in server:
* `python -m SimpleHTTPServer 8000`
5. Access the server from your web-browser (e.g., `http://localhost:8000/`,
`http://0.0.0.0:8000/`, etc.)
* Webina uses `SharedArrayBuffer` to leverage multiple processors, so your
server must send the [following
headers](https://developer.chrome.com/blog/enabling-shared-array-buffer/):
* `Cross-Origin-Embedder-Policy: require-corp`
* `Cross-Origin-Opener-Policy: same-origin`
* To simplify testing on users' local machines, the Webina download includes
a Python3 web-server script.
* The script is named `simple-server.py.txt` (with a `.txt` extension) for
security purposes, so first rename it to `simple-server.py`
* `mv simple-server.py.txt simple-server.py`
* Then run from the command line:
* `python3 simple-server.py`
5. Access the server from your web-browser.
Running Webina on other operating systems (e.g., Windows) should be similar.
......
This diff is collapsed.
{
"name": "webina",
"version": "1.0.2",
"version": "1.0.3",
"description": "",
"private": true,
"scripts": {
......@@ -20,7 +20,6 @@
"css-loader": "^3.5.1",
"duplicate-package-checker-webpack-plugin": "^3.0.0",
"file-loader": "^4.3.0",
"google-closure-compiler": "^20190929.0.0",
"html-webpack-plugin": "^3.2.0",
"jquery": "^3.4.1",
"mini-css-extract-plugin": "^0.8.2",
......@@ -43,6 +42,7 @@
"bootstrap": "^4.4.1",
"bootstrap-vue": "^2.11.0",
"file-saver": "^2.0.2",
"google-closure-compiler": "^20210601.0.0",
"popper.js": "^1.16.1",
"vue": "^2.6.11"
}
......
......@@ -39,7 +39,7 @@ let methodsFunctions = {
val: this.$store.state["crystalContentsExample"]
});
resolve();
resolve(undefined);
}, 100);
})
......
......@@ -155,7 +155,10 @@ let methodsFunctions = {
// console.log(this["type"], "Adding " + typeStr, pdb.length);
this[typeStr + "PdbOfLoaded"] = pdb;
this["viewer"].removeModel(this[typeStr + "Mol"]);
let prevModel = this[typeStr + "Mol"];
if (prevModel !== undefined) {
this["viewer"].removeModel(prevModel);
}
this["viewer"].resize();
this[typeStr + "Mol"] = this["viewer"].addModel(pdb, "pdb", {"keepH": true});
......@@ -562,68 +565,68 @@ let methodsFunctions = {
let watchFunctions = {
/**
* Watch when the receptorContents computed property.
* @param {string} oldReceptorContents The old value of the property.
* @param {string} newReceptorContents The new value of the property.
* @param {string} oldReceptorContents The old value of the property.
* @returns void
*/
"receptorContents": function (oldReceptorContents: string, newReceptorContents: string): void {
"receptorContents": function (newReceptorContents: string, oldReceptorContents: string): void {
// The purpose of this is to react when new receptorContents
// are added.
let duration: number = (newReceptorContents === "") ? 0 : 500;
let duration: number = (oldReceptorContents === "") ? 0 : 500;
this.modelAdded(duration);
// this.updateBox(); // So when invalid pdb loaded, can recover with valid pdb.
},
/**
* Watch when the ligandContents computed property.
* @param {string} oldLigandContents The old value of the property.
* @param {string} newLigandContents The new value of the property.
* @param {string} oldLigandContents The old value of the property.
* @returns void
*/
"ligandContents": function (oldLigandContents: string, newLigandContents: string): void {
"ligandContents": function (newLigandContents: string, oldLigandContents: string): void {
// The purpose of this is to react when new ligandContents are
// added.
let duration: number = (newLigandContents === "") ? 0 : 500;
let duration: number = (oldLigandContents === "") ? 0 : 500;
this.modelAdded(duration);
},
/**
* Watch when the dockedContents computed property.
* @param {string} oldDockedContents The old value of the property.
* @param {string} newDockedContents The new value of the property.
* @param {string} oldDockedContents The old value of the property.
* @returns void
*/
"dockedContents": function (oldDockedContents: string, newDockedContents: string): void {
"dockedContents": function (newDockedContents: string, oldDockedContents: string): void {
// The purpose of this is to react when new dockedContents are
// added.
let duration: number = (newDockedContents === "") ? 0 : 500;
let duration: number = (oldDockedContents === "") ? 0 : 500;
this.modelAdded(duration);
},
/**
* Watch when the crystalContents computed property.
* @param {string} oldCrystalContents The old value of the property.
* @param {string} newCrystalContents The new value of the property.
* @param {string} oldCrystalContents The old value of the property.
* @returns void
*/
"crystalContents": function (oldCrystalContents: string, newCrystalContents: string): void {
"crystalContents": function (newCrystalContents: string, oldCrystalContents: string): void {
// The purpose of this is to react when new dockedContents are
// added.
let duration: number = (newCrystalContents === "") ? 0 : 500;
let duration: number = (oldCrystalContents === "") ? 0 : 500;
this.modelAdded(duration);
},
/**
* Watch when the vinaParams computed property.
* @param {string} oldVinaParams The old value of the property.
* @param {string} newVinaParams The new value of the property.
* @param {string} oldVinaParams The old value of the property.
* @returns void
*/
vinaParams(oldVinaParams: string, newVinaParams: string): void {
vinaParams(newVinaParams: string, oldVinaParams: string): void {
// For updating the docking box...
if (this["type"] !== "receptor") {
return;
......
......@@ -67,6 +67,7 @@ export function curPath(): string {
}
return url;
}
/**
* Given a filename, replace its extension.
* @param {string} filename The original filename.
......
......@@ -2,4 +2,4 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
export let VERSION = "1.0.2";
export let VERSION = "1.0.3";
......@@ -6,11 +6,10 @@
import * as UI from "./UI/UI";
import * as VueSetup from "./Vue/Setup";
import { VERSION } from "./Version";
declare var ga;
console.log("Webina Web App " + VERSION);
declare var ga;
VueSetup.setup();
UI.setup();
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>webina</title>
<meta name="description" content="Documentation for webina">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base=".">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="index.html" class="title">webina</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="globals.html">Globals</a>
</li>
</ul>
<h1>webina</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Modules</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-module"><a href="modules/_ui_forms_checkbox_.html" class="tsd-kind-icon">&quot;UI/<wbr>Forms/<wbr>Check<wbr>Box&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_forms_fileinput_.html" class="tsd-kind-icon">&quot;UI/<wbr>Forms/<wbr>File<wbr>Input&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_forms_formbutton_.html" class="tsd-kind-icon">&quot;UI/<wbr>Forms/<wbr>Form<wbr>Button&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_forms_formgroup_.html" class="tsd-kind-icon">&quot;UI/<wbr>Forms/<wbr>Form<wbr>Group&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_forms_numericinput_.html" class="tsd-kind-icon">&quot;UI/<wbr>Forms/<wbr>Numeric<wbr>Input&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_forms_triplenumeric_.html" class="tsd-kind-icon">&quot;UI/<wbr>Forms/<wbr>Triple<wbr>Numeric&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_modal_convertfilemodal_.html" class="tsd-kind-icon">&quot;UI/<wbr>Modal/<wbr>Convert<wbr>File<wbr>Modal&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_modal_drawsmilesmodal_.html" class="tsd-kind-icon">&quot;UI/<wbr>Modal/<wbr>Draw<wbr>Smiles<wbr>Modal&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_modal_openmodal_.html" class="tsd-kind-icon">&quot;UI/<wbr>Modal/<wbr>Open<wbr>Modal&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_resultstable_.html" class="tsd-kind-icon">&quot;UI/<wbr>Results<wbr>Table&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_subsection_.html" class="tsd-kind-icon">&quot;UI/<wbr>Sub<wbr>Section&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_tabs_startover_.html" class="tsd-kind-icon">&quot;UI/<wbr>Tabs/<wbr>Start<wbr>Over&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_tabs_vinaexistingoutput_.html" class="tsd-kind-icon">&quot;UI/<wbr>Tabs/<wbr>Vina<wbr>Existing<wbr>Output&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_tabs_vinaoutput_.html" class="tsd-kind-icon">&quot;UI/<wbr>Tabs/<wbr>Vina<wbr>Output&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_tabs_vinaparams_.html" class="tsd-kind-icon">&quot;UI/<wbr>Tabs/<wbr>Vina<wbr>Params&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_tabs_vinarunning_.html" class="tsd-kind-icon">&quot;UI/<wbr>Tabs/<wbr>Vina<wbr>Running&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_threedmol_.html" class="tsd-kind-icon">&quot;UI/<wbr>ThreeDMol&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_ui_.html" class="tsd-kind-icon">&quot;UI/UI&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_ui_vinacommandline_.html" class="tsd-kind-icon">&quot;UI/<wbr>Vina<wbr>Commandline&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_utils_.html" class="tsd-kind-icon">&quot;<wbr>Utils&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_version_.html" class="tsd-kind-icon">&quot;<wbr>Version&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_vue_setup_.html" class="tsd-kind-icon">&quot;<wbr>Vue/<wbr>Setup&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_vue_store_.html" class="tsd-kind-icon">&quot;<wbr>Vue/<wbr>Store&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_webina_src_webina_.html" class="tsd-kind-icon">&quot;<wbr>Webina/src/<wbr>Webina&quot;</a></li>
<li class="tsd-kind-module"><a href="modules/_index_.html" class="tsd-kind-icon">&quot;index&quot;</a></li>
</ul>
</section>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals current ">
<a href="globals.html"><em>Globals</em></a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_forms_checkbox_.html">&quot;UI/<wbr>Forms/<wbr>Check<wbr>Box&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_forms_fileinput_.html">&quot;UI/<wbr>Forms/<wbr>File<wbr>Input&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_forms_formbutton_.html">&quot;UI/<wbr>Forms/<wbr>Form<wbr>Button&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_forms_formgroup_.html">&quot;UI/<wbr>Forms/<wbr>Form<wbr>Group&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_forms_numericinput_.html">&quot;UI/<wbr>Forms/<wbr>Numeric<wbr>Input&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_forms_triplenumeric_.html">&quot;UI/<wbr>Forms/<wbr>Triple<wbr>Numeric&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_modal_convertfilemodal_.html">&quot;UI/<wbr>Modal/<wbr>Convert<wbr>File<wbr>Modal&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_modal_drawsmilesmodal_.html">&quot;UI/<wbr>Modal/<wbr>Draw<wbr>Smiles<wbr>Modal&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_modal_openmodal_.html">&quot;UI/<wbr>Modal/<wbr>Open<wbr>Modal&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_resultstable_.html">&quot;UI/<wbr>Results<wbr>Table&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_subsection_.html">&quot;UI/<wbr>Sub<wbr>Section&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_tabs_startover_.html">&quot;UI/<wbr>Tabs/<wbr>Start<wbr>Over&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_tabs_vinaexistingoutput_.html">&quot;UI/<wbr>Tabs/<wbr>Vina<wbr>Existing<wbr>Output&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_tabs_vinaoutput_.html">&quot;UI/<wbr>Tabs/<wbr>Vina<wbr>Output&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_tabs_vinaparams_.html">&quot;UI/<wbr>Tabs/<wbr>Vina<wbr>Params&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_tabs_vinarunning_.html">&quot;UI/<wbr>Tabs/<wbr>Vina<wbr>Running&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_threedmol_.html">&quot;UI/<wbr>ThreeDMol&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_ui_.html">&quot;UI/UI&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_ui_vinacommandline_.html">&quot;UI/<wbr>Vina<wbr>Commandline&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_utils_.html">&quot;<wbr>Utils&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_version_.html">&quot;<wbr>Version&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_vue_setup_.html">&quot;<wbr>Vue/<wbr>Setup&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_vue_store_.html">&quot;<wbr>Vue/<wbr>Store&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_webina_src_webina_.html">&quot;<wbr>Webina/src/<wbr>Webina&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/_index_.html">&quot;index&quot;</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="assets/js/search.js"><' + '/script>');</script>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>IFileConvertModal | webina</title>
<meta name="description" content="Documentation for webina">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">webina</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="../modules/_vue_store_.html">&quot;Vue/Store&quot;</a>
</li>
<li>
<a href="_vue_store_.ifileconvertmodal.html">IFileConvertModal</a>
</li>
</ul>
<h1>Interface IFileConvertModal</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">IFileConvertModal</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section tsd-is-not-exported">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-not-exported"><a href="_vue_store_.ifileconvertmodal.html#ext" class="tsd-kind-icon">ext</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-not-exported"><a href="_vue_store_.ifileconvertmodal.html#file" class="tsd-kind-icon">file</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-not-exported"><a href="_vue_store_.ifileconvertmodal.html#type" class="tsd-kind-icon">type</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-not-exported">
<a name="ext" class="tsd-anchor"></a>
<h3>ext</h3>
<div class="tsd-signature tsd-kind-icon">ext<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in Vue/Store.ts:42</li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-not-exported">
<a name="file" class="tsd-anchor"></a>
<h3>file</h3>
<div class="tsd-signature tsd-kind-icon">file<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in Vue/Store.ts:44</li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-not-exported">
<a name="type" class="tsd-anchor"></a>
<h3>type</h3>
<div class="tsd-signature tsd-kind-icon">type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in Vue/Store.ts:43</li>
</ul>
</aside>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
<li class=" tsd-kind-module">
<a href="../modules/_ui_forms_checkbox_.html">&quot;UI/<wbr>Forms/<wbr>Check<wbr>Box&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="../modules/_ui_forms_fileinput_.html">&quot;UI/<wbr>Forms/<wbr>File<wbr>Input&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="../modules/_ui_forms_formbutton_.html">&quot;UI/<wbr>Forms/<wbr>Form<wbr>Button&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="../modules/_ui_forms_formgroup_.html">&quot;UI/<wbr>Forms/<wbr>Form<wbr>Group&quot;</a>
</li>
<li class=" tsd-kind-module">
<a href="../modules/_ui_forms_numericinput_.html">&quot;UI/<wbr>Forms/<wbr>Numeric<wbr>Input&quot;</a>
</li>