Metadata: Add `link_to_more` as well-known namespace (#2543)

Closes #2382.
Refs https://github.com/openhab/openhab-android/issues/3140.

Adds Android app's link_to_more metadata to the well-known namespaces,
therefore also adds an editing page for it.

---------

Also-by: mueller-ma <mueller-ma@users.noreply.github.com>
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
pull/2548/head
Florian Hotze 2024-04-21 14:56:42 +02:00 committed by GitHub
parent 9e48ad8693
commit e5d930b057
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 38 additions and 4 deletions

View File

@ -12,5 +12,6 @@ export default [
{ name: 'voiceSystem', label: 'Voice System' },
{ name: 'alexa', label: 'Amazon Alexa' },
{ name: 'homekit', label: 'Apple HomeKit' },
{ name: 'ga', label: 'Google Assistant' }
{ name: 'ga', label: 'Google Assistant' },
{ name: 'link_to_more', label: 'Android App: Device Controls' }
]

View File

@ -0,0 +1,30 @@
<template>
<div>
<f7-list>
<f7-list-input
label="Android App: Device Controls"
name="value"
ref="value"
type="text"
:value="metadata.value"
@input="updateValue" />
<f7-block-footer class="param-description" slot="after-list">
<small>
Enter a valid URL, e.g. <code>https://www.openhab.org</code>, <code>/locations</code> or <code>/basicui/app?w=0004&sitemap=mysitemap</code>, to open when you long-press a tile in Android Device Control.
<f7-link external color="blue" target="_blank" :href="$store.state.websiteUrl + '/docs/apps/android.html#device-controls'">Read the docs.</f7-link>
</small>
</f7-block-footer>
</f7-list>
</div>
</template>
<script>
export default {
props: ['itemName', 'metadata', 'namespace'],
methods: {
updateValue (ev) {
this.metadata.value = ev.target.value
}
}
}
</script>

View File

@ -72,10 +72,11 @@ import ItemMetadataWidget from '@/components/item/metadata/item-metadata-widget.
import ItemMetadataWidgetOrder from '@/components/item/metadata/item-metadata-widgetorder.vue'
import ItemMetadataAutoUpdate from '@/components/item/metadata/item-metadata-autoupdate.vue'
import ItemMetadataExpire from '@/components/item/metadata/item-metadata-expire.vue'
import ItemMetadataVoiceSystem from '@/components/item/metadata/item-metadata-voicesystem.vue'
import ItemMetadataAlexa from '@/components/item/metadata/item-metadata-alexa.vue'
import ItemMetadataHomeKit from '@/components/item/metadata/item-metadata-homekit.vue'
import ItemMetadataGa from '@/components/item/metadata/item-metadata-ga.vue'
import ItemMetadataVoiceSystem from '@/components/item/metadata/item-metadata-voicesystem.vue'
import ItemMetadataLinktomore from '@/components/item/metadata/item-metadata-linktomore.vue'
import DirtyMixin from '../../dirty-mixin'
export default {
@ -125,14 +126,16 @@ export default {
return ItemMetadataAutoUpdate
case 'expire':
return ItemMetadataExpire
case 'voiceSystem':
return ItemMetadataVoiceSystem
case 'alexa':
return ItemMetadataAlexa
case 'homekit':
return ItemMetadataHomeKit
case 'voiceSystem':
return ItemMetadataVoiceSystem
case 'ga':
return ItemMetadataGa
case 'link_to_more':
return ItemMetadataLinktomore
default:
return null
}