3 Commits

Author SHA1 Message Date
b6a214ca07 Add yaml format config file
Signed-off-by: Justin Georgi <justin.georgi@gmail.com>
2024-03-29 21:49:05 -07:00
8520cdb93f Add site config to store
Signed-off-by: Justin Georgi <justin.georgi@gmail.com>
2024-03-29 21:49:05 -07:00
0420e6b411 Disable text select on structure chips
Signed-off-by: Justin Georgi <justin.georgi@gmail.com>
2024-03-29 17:29:31 -07:00
6 changed files with 61 additions and 12 deletions

23
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "alvinn",
"version": "0.4.0",
"version": "0.5.0-rc",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "alvinn",
"version": "0.4.0",
"version": "0.5.0-rc",
"hasInstallScript": true,
"license": "UNLICENSED",
"dependencies": {
@@ -17,7 +17,8 @@
"framework7-vue": "^8.3.0",
"skeleton-elements": "^4.0.1",
"swiper": "^11.0.3",
"vue": "^3.3.8"
"vue": "^3.3.8",
"yaml": "^2.4.1"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.4.1",
@@ -9844,6 +9845,17 @@
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true
},
"node_modules/yaml": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
"integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==",
"bin": {
"yaml": "bin.mjs"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -16397,6 +16409,11 @@
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true
},
"yaml": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
"integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg=="
},
"yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",

View File

@@ -30,7 +30,8 @@
"framework7-vue": "^8.3.0",
"skeleton-elements": "^4.0.1",
"swiper": "^11.0.3",
"vue": "^3.3.8"
"vue": "^3.3.8",
"yaml": "^2.4.1"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.4.1",

9
public/conf/conf.yaml Normal file
View File

@@ -0,0 +1,9 @@
site:
demo: true
regions:
- thorax
- abdomen
- limbs
external:
address: "10.188.0.98"
port: 9001

View File

@@ -52,13 +52,15 @@
</style>
<script>
import { ref, onMounted } from 'vue';
import { f7, f7ready } from 'framework7-vue';
import { getDevice } from 'framework7/lite-bundle';
import cordovaApp from '../js/cordova-app.js';
import { ref, onMounted } from 'vue'
import { f7, f7ready } from 'framework7-vue'
import { getDevice } from 'framework7/lite-bundle'
import cordovaApp from '../js/cordova-app.js'
import routes from '../js/routes.js';
import store from '../js/store';
import YAML from 'yaml'
import routes from '../js/routes.js'
import store from '../js/store'
export default {
data () {
@@ -67,10 +69,17 @@
siteAgreement: false,
dateAgreement: null,
showDisclaimer: true,
alvinnVersion: store().getVersion
alvinnVersion: store().getVersion,
siteConf: {}
}
},
created () {
fetch(`${!!window.cordova ? 'https://localhost' : '.'}/conf/conf.yaml`)
.then((mod) => { return mod.text() })
.then((confText) => {
this.siteConf = YAML.parse(confText)
console.log(this.siteConf)
})
var loadSiteSettings = localStorage.getItem('siteSettings')
if (loadSiteSettings) {
var loadedSettings = JSON.parse(loadSiteSettings)

View File

@@ -43,6 +43,12 @@
background: var(--chip-media-gradient) !important;
}
.chip-label {
pointer-events: none;
user-select: none;
-webkit-user-select: none;
}
.chip-results {
display: flex;
flex-wrap: wrap;

View File

@@ -3,9 +3,14 @@ import { reactive, computed } from 'vue';
const state = reactive({
disclaimerAgreement: false,
enabledRegions: ['thorax','abdomen','limbs'],
version: '0.5.0-rc'
version: '0.5.0-rc',
siteConfig: {}
})
const setConfig = (confObj) => {
state.siteConfig = confObj
}
const agree = () => {
state.disclaimerAgreement = true
}
@@ -14,5 +19,7 @@ export default () => ({
isAgreed: computed(() => state.disclaimerAgreement),
getRegions: computed(() => state.enabledRegions),
getVersion: computed(() => state.version),
getConfig: computed(() => state.siteConfig),
setConfig,
agree
})