@@ -154,6 +154,7 @@ export default {
list: [],
showMapEditor: false,
form: {},
+ datasource:{}
}
},
computed: {
diff --git a/packages/bigscreen/designer/components/datasourcePicker.vue b/packages/bigscreen/designer/components/datasourcePicker.vue
index 766feafc..d41f9b45 100644
--- a/packages/bigscreen/designer/components/datasourcePicker.vue
+++ b/packages/bigscreen/designer/components/datasourcePicker.vue
@@ -1,22 +1,22 @@
-
+
-
+
+ @confirm="changeData(JSON.parse(content))" @open="content=contentstr">
-
-
+
-
-
+
+
@@ -45,22 +45,28 @@ export default {
return {
dataTypes: Object.entries(DvCompData.types).map(e => ({id: e[0], label: e[1]})),
content: "",
- sourceData: []
+ loading: false
}
},
computed: {
contentstr: v => JSON.stringify(v.options.staticData),
- dataLang: v => v.options.dataType == 'htmlData' ? 'html' : 'json'
+ dataLang: v => v.options.dataType == 'htmlData' ? 'html' : 'json',
+ source: {
+ set(v) {
+ console.log(v)
+ this.$emit("input", v)
+ },
+ get() {
+ return this.options
+ }
+ }
},
methods: {
- updateOptions() {
- this.$emit("input", this.options)
- },
- changeData() {
- new DvCompData(this.options.dataType, this.options, this.instance).getData().then(data => {
- this.options[this.options.dataType] = data
- this.updateOptions()
- })
+ changeData(sdata) {
+ this.source.dataType == 'staticData' ? this.source.staticData = sdata :
+ new DvCompData(this.source.dataType, this.source, this.instance).getData().then(data => {
+ this.source[this.source.dataType] = data
+ })
}
},
}