Updated package name and version number
This commit is contained in:
parent
6621c99d47
commit
81f78701df
7 changed files with 51 additions and 136 deletions
6
LICENSE
6
LICENSE
|
|
@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
|
||||||
state the exclusion of warranty; and each file should have at least
|
state the exclusion of warranty; and each file should have at least
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
openflexure-ev
|
openflexure-microscope-jsclient
|
||||||
Copyright (C) 2019 OpenFlexure
|
Copyright (C) 2019 OpenFlexure.org
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
|
||||||
If the program does terminal interaction, make it output a short
|
If the program does terminal interaction, make it output a short
|
||||||
notice like this when it starts in an interactive mode:
|
notice like this when it starts in an interactive mode:
|
||||||
|
|
||||||
openflexure-ev Copyright (C) 2019 OpenFlexure
|
openflexure-microscope-jsclient Copyright (C) 2019 OpenFlexure.org
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
This is free software, and you are welcome to redistribute it
|
This is free software, and you are welcome to redistribute it
|
||||||
under certain conditions; type `show c' for details.
|
under certain conditions; type `show c' for details.
|
||||||
|
|
|
||||||
12
README.md
12
README.md
|
|
@ -5,19 +5,11 @@ A user client for the OpenFlexure Microscope, written in Vue.js.
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
A general guide on setting up your microscope, including OpenFlexure eV, can be found [here on our website](https://www.openflexure.org/projects/microscope/).
|
A general guide on setting up your microscope can be found [here on our website](https://www.openflexure.org/projects/microscope/).
|
||||||
|
|
||||||
## Develop
|
## Develop
|
||||||
* Clone the repo, and run `npm install`
|
* Clone the repo, and run `npm install`
|
||||||
* Scripts to build, and package Electron apps, are included in `package.json`
|
* Scripts to build and serve are included in `package.json`
|
||||||
|
|
||||||
## Builds and deployment
|
|
||||||
* Binaries will be built for testing on merge requests, and manual CI triggers
|
|
||||||
* These builds expire after a week, and are intended for testing only.
|
|
||||||
|
|
||||||
* Binaries will be built **and deployed** when a merge into `stable` completes.
|
|
||||||
* These binaries will expire on GitLab after a week, but will be permanantly
|
|
||||||
deployed to http://build.openflexure.org/openflexure-ev
|
|
||||||
|
|
||||||
## Developer notes
|
## Developer notes
|
||||||
|
|
||||||
|
|
|
||||||
148
package-lock.json
generated
148
package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "openflexure-ev",
|
"name": "openflexure-microscope-jsclient",
|
||||||
"version": "2.1.2",
|
"version": "2.1.3",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -2405,12 +2405,6 @@
|
||||||
"camelcase": "^5.0.0"
|
"camelcase": "^5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/cli-overlay": {
|
|
||||||
"version": "4.3.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.3.1.tgz",
|
|
||||||
"integrity": "sha512-UA399aWHhre2VHrQFQSJhFLrFMqOYQ8ly+Ni6T+cpCjOwssjiaqaqrG5YiZBAqDwQvjrtYori4lU66qrY5DVhA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"@vue/cli-plugin-babel": {
|
"@vue/cli-plugin-babel": {
|
||||||
"version": "3.12.1",
|
"version": "3.12.1",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-3.12.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-3.12.1.tgz",
|
||||||
|
|
@ -2424,97 +2418,6 @@
|
||||||
"webpack": "^4.0.0"
|
"webpack": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/cli-plugin-router": {
|
|
||||||
"version": "4.3.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.3.1.tgz",
|
|
||||||
"integrity": "sha512-m0ntr5R6q62oNMODgoyHAVAd/sDtsH15GdBrScZsPNeyHxmzmNBDlsNM38yYGGY064zDRRWif15d1yaTREybrA==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@vue/cli-shared-utils": "^4.3.1"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@vue/cli-shared-utils": {
|
|
||||||
"version": "4.4.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.4.1.tgz",
|
|
||||||
"integrity": "sha512-teevHgI7XUsKVMOncx3M+6iLjO28woGfRwgUG4hR83moVBHQe5x2OCr2i5t/58bwpv269RD5RYXBQCGtIXuxZw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@hapi/joi": "^15.0.1",
|
|
||||||
"chalk": "^2.4.2",
|
|
||||||
"execa": "^1.0.0",
|
|
||||||
"launch-editor": "^2.2.1",
|
|
||||||
"lru-cache": "^5.1.1",
|
|
||||||
"node-ipc": "^9.1.1",
|
|
||||||
"open": "^6.3.0",
|
|
||||||
"ora": "^3.4.0",
|
|
||||||
"read-pkg": "^5.1.1",
|
|
||||||
"request": "^2.88.2",
|
|
||||||
"request-promise-native": "^1.0.8",
|
|
||||||
"semver": "^6.1.0",
|
|
||||||
"strip-ansi": "^6.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ansi-regex": {
|
|
||||||
"version": "5.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
|
|
||||||
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"request": {
|
|
||||||
"version": "2.88.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
|
|
||||||
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"aws-sign2": "~0.7.0",
|
|
||||||
"aws4": "^1.8.0",
|
|
||||||
"caseless": "~0.12.0",
|
|
||||||
"combined-stream": "~1.0.6",
|
|
||||||
"extend": "~3.0.2",
|
|
||||||
"forever-agent": "~0.6.1",
|
|
||||||
"form-data": "~2.3.2",
|
|
||||||
"har-validator": "~5.1.3",
|
|
||||||
"http-signature": "~1.2.0",
|
|
||||||
"is-typedarray": "~1.0.0",
|
|
||||||
"isstream": "~0.1.2",
|
|
||||||
"json-stringify-safe": "~5.0.1",
|
|
||||||
"mime-types": "~2.1.19",
|
|
||||||
"oauth-sign": "~0.9.0",
|
|
||||||
"performance-now": "^2.1.0",
|
|
||||||
"qs": "~6.5.2",
|
|
||||||
"safe-buffer": "^5.1.2",
|
|
||||||
"tough-cookie": "~2.5.0",
|
|
||||||
"tunnel-agent": "^0.6.0",
|
|
||||||
"uuid": "^3.3.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"semver": {
|
|
||||||
"version": "6.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
|
||||||
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"strip-ansi": {
|
|
||||||
"version": "6.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
|
|
||||||
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ansi-regex": "^5.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tough-cookie": {
|
|
||||||
"version": "2.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
|
|
||||||
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"psl": "^1.1.28",
|
|
||||||
"punycode": "^2.1.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@vue/cli-plugin-vuex": {
|
"@vue/cli-plugin-vuex": {
|
||||||
"version": "4.4.1",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.4.1.tgz",
|
||||||
|
|
@ -2581,6 +2484,21 @@
|
||||||
"webpack-merge": "^4.2.2"
|
"webpack-merge": "^4.2.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@vue/cli-overlay": {
|
||||||
|
"version": "4.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.4.1.tgz",
|
||||||
|
"integrity": "sha512-EQqAVy7O/qqGOfSYIGL073FWlr/s6QFA0wA1wY8pHnTS5WPwAiHT+D+xe+fgXKZ3KeL7v7u/le7YFIEVXFVXOg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"@vue/cli-plugin-router": {
|
||||||
|
"version": "4.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.4.1.tgz",
|
||||||
|
"integrity": "sha512-kCSsJG7pjDvCJDjGtcCI5l0UjmqwNigOR41RkeGSjSUvzV4ArSniXjFqrOmtpMp36S5xCtwtt9MFm/K4fCubkQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@vue/cli-shared-utils": "^4.4.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@vue/cli-shared-utils": {
|
"@vue/cli-shared-utils": {
|
||||||
"version": "4.4.1",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.4.1.tgz",
|
||||||
|
|
@ -8719,17 +8637,17 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"less": {
|
"less": {
|
||||||
"version": "3.11.1",
|
"version": "3.11.2",
|
||||||
"resolved": "https://registry.npmjs.org/less/-/less-3.11.1.tgz",
|
"resolved": "https://registry.npmjs.org/less/-/less-3.11.2.tgz",
|
||||||
"integrity": "sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g==",
|
"integrity": "sha512-ed8Lir98Tu6a+LeU7+8ShpRLSUdk//lWf1sh+5w7tNju4wGItztqDHp03Z+a2o1nzU6pObVxw1n4Gu7VzQYusQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"clone": "^2.1.2",
|
"clone": "^2.1.2",
|
||||||
"errno": "^0.1.1",
|
"errno": "^0.1.1",
|
||||||
"graceful-fs": "^4.1.2",
|
"graceful-fs": "^4.1.2",
|
||||||
"image-size": "~0.5.0",
|
"image-size": "~0.5.0",
|
||||||
|
"make-dir": "^2.1.0",
|
||||||
"mime": "^1.4.1",
|
"mime": "^1.4.1",
|
||||||
"mkdirp": "^0.5.0",
|
|
||||||
"promise": "^7.1.1",
|
"promise": "^7.1.1",
|
||||||
"request": "^2.83.0",
|
"request": "^2.83.0",
|
||||||
"source-map": "~0.6.0",
|
"source-map": "~0.6.0",
|
||||||
|
|
@ -8757,9 +8675,9 @@
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"tslib": {
|
"tslib": {
|
||||||
"version": "1.10.0",
|
"version": "1.13.0",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
|
||||||
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
|
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -9982,6 +9900,12 @@
|
||||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
|
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"picomatch": {
|
||||||
|
"version": "2.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
|
||||||
|
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"pify": {
|
"pify": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
|
||||||
|
|
@ -12598,9 +12522,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"uikit": {
|
"uikit": {
|
||||||
"version": "3.4.6",
|
"version": "3.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/uikit/-/uikit-3.4.6.tgz",
|
"resolved": "https://registry.npmjs.org/uikit/-/uikit-3.5.3.tgz",
|
||||||
"integrity": "sha512-Se8DXGJ69NCxm8AQTok6I9aXxvklaBsdkr3REfbUorxeIQA6g96sPvzHCXrubqknoqEhH6npD14xtzxJGCvS8A==",
|
"integrity": "sha512-p3F7ICtq0XNYbTcrbOotjmdOAf8D7F8kbnZOIHomUK0fCVn8BdFPscRWzO/9cerxGw4eY7R7//BZupoyEYg2Fg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"unicode-canonical-property-names-ecmascript": {
|
"unicode-canonical-property-names-ecmascript": {
|
||||||
|
|
@ -13075,9 +12999,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"vue-tour": {
|
"vue-tour": {
|
||||||
"version": "1.3.1",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/vue-tour/-/vue-tour-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/vue-tour/-/vue-tour-1.4.0.tgz",
|
||||||
"integrity": "sha512-Zg3bjdZKdtC8TlJT59cLvI+G9XduSxBivle3/cC4Qb1LjkgfkToq84e3xpKYHHyW++DtDDMvKAvcs5OgNl+Dgg==",
|
"integrity": "sha512-vsuxNLsSSKBOJpDme1ZkcY744LYk+l4TSfQz39xJZ4BE1GrioyTzS4+PT3D1nKhT/3vOZurNM66cZgzgRNZ/wA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"hash-sum": "^2.0.0",
|
"hash-sum": "^2.0.0",
|
||||||
|
|
|
||||||
13
package.json
13
package.json
|
|
@ -1,13 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "openflexure-ev",
|
"name": "openflexure-microscope-jsclient",
|
||||||
"version": "2.1.2",
|
"version": "2.1.3",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "User client for the OpenFlexure Microscope Server",
|
"description": "User client for the OpenFlexure Microscope Server",
|
||||||
"author": "OpenFlexure <contact@openflexure.org> (https://www.openflexure.org)",
|
"author": "OpenFlexure <contact@openflexure.org> (https://www.openflexure.org)",
|
||||||
"homepage": "https://gitlab.com/openflexure/openflexure-microscope-jsclient",
|
"homepage": "https://gitlab.com/openflexure/openflexure-microscope-jsclient",
|
||||||
"productName": "OpenFlexure eV",
|
|
||||||
"publisher": "Bath Open Instrumentation Group",
|
"publisher": "Bath Open Instrumentation Group",
|
||||||
"displayName": "OpenFlexure eV",
|
"displayName": "OpenFlexure Microscope",
|
||||||
"license": "GNU General Public License v3.0 ",
|
"license": "GNU General Public License v3.0 ",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "vue-cli-service build --mode production",
|
"build": "vue-cli-service build --mode production",
|
||||||
|
|
@ -26,15 +25,15 @@
|
||||||
"eslint-config-prettier": "^6.11.0",
|
"eslint-config-prettier": "^6.11.0",
|
||||||
"eslint-plugin-prettier": "^3.1.3",
|
"eslint-plugin-prettier": "^3.1.3",
|
||||||
"eslint-plugin-vue": "^6.2.2",
|
"eslint-plugin-vue": "^6.2.2",
|
||||||
"less": "^3.11.1",
|
"less": "^3.11.2",
|
||||||
"less-loader": "^5.0.0",
|
"less-loader": "^5.0.0",
|
||||||
"mdns-js": "^1.0.3",
|
"mdns-js": "^1.0.3",
|
||||||
"uikit": "^3.4.6",
|
"uikit": "^3.5.3",
|
||||||
"vue": "^2.6.11",
|
"vue": "^2.6.11",
|
||||||
"vue-friendly-iframe": "^0.17.0",
|
"vue-friendly-iframe": "^0.17.0",
|
||||||
"vue-plugin-load-script": "^1.2.0",
|
"vue-plugin-load-script": "^1.2.0",
|
||||||
"vue-template-compiler": "^2.6.11",
|
"vue-template-compiler": "^2.6.11",
|
||||||
"vue-tour": "^1.3.1",
|
"vue-tour": "^1.4.0",
|
||||||
"vuex": "^3.4.0"
|
"vuex": "^3.4.0"
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||||
<title>OpenFlexure eV</title>
|
<title>OpenFlexure Microscope</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<noscript>
|
<noscript>
|
||||||
|
|
|
||||||
|
|
@ -92,9 +92,9 @@ export default {
|
||||||
{
|
{
|
||||||
target: "#tour-header", // We're using document.querySelector() under the hood
|
target: "#tour-header", // We're using document.querySelector() under the hood
|
||||||
header: {
|
header: {
|
||||||
title: "Welcome to OpenFlexure eV"
|
title: "Welcome to the OpenFlexure Microscope"
|
||||||
},
|
},
|
||||||
content: `Click Next to learn how to use OpenFlexure eV`,
|
content: `Click Next to learn how to use your microscope`,
|
||||||
params: {
|
params: {
|
||||||
placement: "bottom"
|
placement: "bottom"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
:component-name="webComponent.name"
|
:component-name="webComponent.name"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<!-- Handle OpenFlexure eV Forms -->
|
<!-- Handle OpenFlexure Forms -->
|
||||||
<div
|
<div
|
||||||
v-for="form in forms"
|
v-for="form in forms"
|
||||||
v-else-if="forms"
|
v-else-if="forms"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue