Commit 4caa78e9 authored by WuFeiyang's avatar WuFeiyang

broadcast + label

parent 8dd644d4
......@@ -2,7 +2,9 @@
<b-container class="bv-example-row">
<b-row style="margin-top:10px">
<b-col>
<span style="float:left;" class="smallFont">path: {{ config.data.url }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname != ''">{{ config.data.displayname }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname == ''">{{ config.data.url }}</span>
<b-form-input v-show="isShowPath" v-model="config.data.displayname"></b-form-input>
</b-col>
<b-col>
<b-button @click="showPathConfig" variant="primary" style="float:right">
......@@ -58,6 +60,17 @@
</b-col>
</b-row>
<b-row>
<b-col>
<b-input-group size="lg" prepend="BroadcastValue" v-show="isShowPath">
<b-form-input v-model="autoUpdateValue"></b-form-input>
<b-input-group-append>
<b-button @click="broadcast" text="Button" variant="primary">Broadcast</b-button>
</b-input-group-append>
</b-input-group>
</b-col>
</b-row>
<br />
<b-row>
<b-col>
......@@ -96,6 +109,7 @@ export default class AutoBroadcast extends Widget {
strMapObjChange = new StrMapObjChange();
WidgetComponentName: string = "AutoBroadcast";
StatusValue: string = "";
preStatusValue: string = "";
pathId: string = "";
userInputData = new Map<string, string>();
pathwithVar: string = "";
......@@ -103,11 +117,13 @@ export default class AutoBroadcast extends Widget {
isShowPath: boolean = false;
isShowParams: boolean = false;
autoUpdateName: string = "";
autoUpdateValue: string ="";
config: WidgetConfig = {
WidgetComponentName: "AutoBroadcast",
data: {
url: "",
displayname:"",
userInputData: ""
}
};
......@@ -233,6 +249,23 @@ export default class AutoBroadcast extends Widget {
});
}
broadcast()
{
if(this.autoUpdateName != "" && this.autoUpdateValue != "")
{
var autoUpdateData= new Map<string, string>();
autoUpdateData.set(this.autoUpdateName,this.autoUpdateValue);
var autoUpdate:UpdatePayload = {
action: "AutoBroadcast",
variables: autoUpdateData,
target:['self']
}
PubSub.publish('VarBroadcast',autoUpdate);
this.preStatusValue = this.autoUpdateValue;
}
}
//called when widgetParams action clicked
async viewLoad(Args: UpdatePayload) {
// this.config.data.userInputData = Args.variables;
......@@ -244,7 +277,7 @@ export default class AutoBroadcast extends Widget {
);
await this.getData(this.pathwithVar);
if(this.autoUpdateName != "")
if(this.autoUpdateName != "" && this.preStatusValue != this.StatusValue)
{
var autoUpdateData= new Map<string, string>();
autoUpdateData.set(this.autoUpdateName,this.StatusValue);
......@@ -254,6 +287,7 @@ export default class AutoBroadcast extends Widget {
target:['self']
}
PubSub.publish('VarBroadcast',autoUpdate);
this.preStatusValue = this.StatusValue;
}
}
}
......
......@@ -33,6 +33,8 @@ export default class WidgetParams extends Vue{
this.userInputData.clear();
path.forEach(element => {
this.userInputData.set(element, '');
console.log("afterpathextract");
console.log(this.userInputData);
});
this.$forceUpdate();
}
......@@ -46,6 +48,8 @@ export default class WidgetParams extends Vue{
getVariableValues(): Map<string, string> {
for(var key of this.userInputData.keys()) {
console.log("getVariableValues");
console.log(this.userInputData);
this.userInputData.set(key, this.tempUserInputData[key]);
}
return this.userInputData;
......@@ -56,6 +60,8 @@ export default class WidgetParams extends Vue{
variables: this.getVariableValues(),
target:['self']
}
console.log("update");
console.log(Args.variables);
this.$emit('updataVariables', Args)
}
}
......
......@@ -2,7 +2,9 @@
<b-container class="bv-example-row">
<b-row style="margin-top:10px">
<b-col>
<span style="float:left;" class="smallFont">Path: {{ config.data.get.url }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname != ''">{{ config.data.displayname }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname == ''">{{ config.data.get.url }}</span>
<b-form-input v-show="isShowPath" v-model="config.data.displayname"></b-form-input>
</b-col>
<b-col>
<b-button @click="showPathConfig" variant="primary" style="float:right">
......@@ -127,6 +129,7 @@ export default class Config extends Widget {
config: WidgetConfig = {
WidgetComponentName: "Status",
data: {
displayname:"",
get: { url: "", userInputData: "" },
set: { url: "", userInputData: "" }
}
......@@ -293,37 +296,42 @@ export default class Config extends Widget {
}
parentUpdate(payload: UpdatePayload): void {
var shouldUpdate:boolean = false;
this.userGetInputData = this.strMapObjChange.strMapToObj(
(this.$refs.WidgetGetParams as WidgetParams).getVariableValues());
var temp = this.userGetInputData;
temp = JSON.parse(JSON.stringify(temp));
temp = this.strMapObjChange.objToStrMap(temp);
this.userGetInputData = temp;
this.userGetInputData.forEach((value , key) =>{
payload.variables.forEach((valueofpayload,keyofpayload)=>{
if(key == keyofpayload)
if(key == keyofpayload && ((this.userGetInputData.get(key) as string) != (payload.variables.get(keyofpayload) as string)))
{
this.userGetInputData.set(key,payload.variables.get(keyofpayload) as string);
shouldUpdate = true;
}
});
});
(this.$refs.WidgetGetParams as WidgetParams).setVariableInput(this.userGetInputData);
this.userSetInputData = this.strMapObjChange.strMapToObj(
(this.$refs.WidgetSetParams as WidgetParams).getVariableValues());
temp = this.userSetInputData;
temp = JSON.parse(JSON.stringify(temp));
temp = this.strMapObjChange.objToStrMap(temp);
this.userSetInputData = temp;
this.userSetInputData.forEach((value , key) =>{
payload.variables.forEach((valueofpayload,keyofpayload)=>{
if(key == keyofpayload)
if(key == keyofpayload && ((this.userSetInputData.get(key) as string) != (payload.variables.get(keyofpayload) as string)))
{
this.userSetInputData.set(key,payload.variables.get(keyofpayload) as string);
}
});
});
if(shouldUpdate)
{
(this.$refs.WidgetGetParams as WidgetParams).setVariableInput(this.userGetInputData);
(this.$refs.WidgetSetParams as WidgetParams).setVariableInput(this.userSetInputData);
this.updateUI();
}
}
refresh() {
......
......@@ -2,7 +2,9 @@
<b-container class="bv-example-row">
<b-row style="margin-top:10px">
<b-col>
<span style="float:left;" class="smallFont">path: {{ config.data.url }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname != ''">{{ config.data.displayname }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname == ''">{{ config.data.url }}</span>
<b-form-input v-show="isShowPath" v-model="config.data.displayname"></b-form-input>
</b-col>
<b-col>
<b-button @click="showPathConfig" variant="primary" style="float:right">
......@@ -13,16 +15,6 @@
<br />
<!-- <b-row>
<b-col>
<div
style="width:100%;overflow:auto;border-style: solid; border-width: 1px;"
>
<p style="float:left;margin:0px" class="largeFont">{{ StatusValue }}</p>
</div>
</b-col>
</b-row> -->
<br />
<b-row>
......@@ -95,6 +87,7 @@ export default class Method extends Widget {
WidgetComponentName: "Method",
data: {
url: "",
displayname:"",
userInputData: ""
}
};
......@@ -186,24 +179,27 @@ export default class Method extends Widget {
}
parentUpdate(payload: UpdatePayload): void {
var shouldUpdate:boolean = false
this.userInputData = this.strMapObjChange.strMapToObj(
(this.$refs.WidgetParams as WidgetParams).getVariableValues());
var temp = this.userInputData;
temp = JSON.parse(JSON.stringify(temp));
temp = this.strMapObjChange.objToStrMap(temp);
this.userInputData = temp;
console.log(this.userInputData);
console.log(payload.variables);
this.userInputData.forEach((value , key) =>{
payload.variables.forEach((valueofpayload,keyofpayload)=>{
if(key == keyofpayload)
if(key == keyofpayload && ((this.userInputData.get(key) as string) != (payload.variables.get(keyofpayload) as string)))
{
this.userInputData.set(key,payload.variables.get(keyofpayload) as string);
shouldUpdate = true;
}
});
});
if(shouldUpdate)
{
(this.$refs.WidgetParams as WidgetParams).setVariableInput(this.userInputData);
// this.updateUI();
this.updateUI();
}
}
refresh() {
......
......@@ -2,7 +2,9 @@
<b-container class="bv-example-row">
<b-row style="margin-top:10px">
<b-col>
<span style="float:left;" class="smallFont">path: {{ config.data.url }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname != ''">{{ config.data.displayname }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname == ''">{{ config.data.url }}</span>
<b-form-input v-show="isShowPath" v-model="config.data.displayname"></b-form-input>
</b-col>
<b-col>
<b-button @click="showPathConfig" variant="primary" style="float:right">
......@@ -97,10 +99,12 @@ export default class State extends Widget {
WidgetComponentName: "State",
data: {
url: "",
displayname:"",
userInputData: ""
}
};
created() {
// this.config.data.userInputData = this.userInputData;
this.config.data.userInputData = this.strMapObjChange.strMapToObj(
......@@ -195,24 +199,27 @@ export default class State extends Widget {
}
parentUpdate(payload: UpdatePayload): void {
var shouldUpdate:boolean = false;
this.userInputData = this.strMapObjChange.strMapToObj(
(this.$refs.WidgetParams as WidgetParams).getVariableValues());
var temp = this.userInputData;
temp = JSON.parse(JSON.stringify(temp));
temp = this.strMapObjChange.objToStrMap(temp);
this.userInputData = temp;
console.log(this.userInputData);
console.log(payload.variables);
this.userInputData.forEach((value , key) =>{
payload.variables.forEach((valueofpayload,keyofpayload)=>{
if(key == keyofpayload)
if(key == keyofpayload && ((this.userInputData.get(key) as string) != (payload.variables.get(keyofpayload) as string)))
{
this.userInputData.set(key,payload.variables.get(keyofpayload) as string);
shouldUpdate = true;
}
});
});
if(shouldUpdate)
{
(this.$refs.WidgetParams as WidgetParams).setVariableInput(this.userInputData);
// this.updateUI();
this.updateUI();
}
}
refresh() {
......
......@@ -2,7 +2,9 @@
<b-container class="bv-example-row">
<b-row style="margin-top:10px">
<b-col>
<span style="float:left;" class="smallFont">path: {{ config.data.url }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname != ''">{{ config.data.displayname }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname == ''">{{ config.data.url }}</span>
<b-form-input v-show="isShowPath" v-model="config.data.displayname"></b-form-input>
</b-col>
<b-col>
<b-button @click="showPathConfig" variant="primary" style="float:right">
......@@ -92,10 +94,12 @@ export default class Status extends Widget {
isShowPath: boolean = false;
isShowParams: boolean = false;
config: WidgetConfig = {
WidgetComponentName: "Status",
data: {
url: "",
displayname:"",
userInputData: ""
}
};
......@@ -193,24 +197,27 @@ export default class Status extends Widget {
}
parentUpdate(payload: UpdatePayload): void {
var shouldUpdate:boolean = false
this.userInputData = this.strMapObjChange.strMapToObj(
(this.$refs.WidgetParams as WidgetParams).getVariableValues());
var temp = this.userInputData;
temp = JSON.parse(JSON.stringify(temp));
temp = this.strMapObjChange.objToStrMap(temp);
this.userInputData = temp;
console.log(this.userInputData);
console.log(payload.variables);
this.userInputData.forEach((value , key) =>{
payload.variables.forEach((valueofpayload,keyofpayload)=>{
if(key == keyofpayload)
if(key == keyofpayload && ((this.userInputData.get(key) as string) != (payload.variables.get(keyofpayload) as string)))
{
this.userInputData.set(key,payload.variables.get(keyofpayload) as string);
shouldUpdate = true;
}
});
});
if(shouldUpdate)
{
(this.$refs.WidgetParams as WidgetParams).setVariableInput(this.userInputData);
// this.updateUI();
this.updateUI();
}
}
refresh() {
......
......@@ -2,7 +2,9 @@
<b-container class="bv-example-row">
<b-row style="margin-top:10px">
<b-col>
<span style="float:left;" class="smallFont">path: {{ config.data.url }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname != ''">{{ config.data.displayname }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname == ''">{{ config.data.url }}</span>
<b-form-input v-show="isShowPath" v-model="config.data.displayname"></b-form-input>
</b-col>
<b-col>
<b-button @click="showPathConfig" variant="primary" style="float:right">
......@@ -96,6 +98,7 @@ export default class Thing extends Widget {
WidgetComponentName: "Thing",
data: {
url: "",
displayname:"",
userInputData: ""
}
};
......
......@@ -2,7 +2,9 @@
<b-container class="bv-example-row">
<b-row style="margin-top:10px">
<b-col>
<span style="float:left;" class="smallFont">path: {{ config.data.url }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname != ''">{{ config.data.displayname }}</span>
<span style="float:left;" v-show = "!isShowPath" class="smallFont" v-if = "config.data.displayname == ''">{{ config.data.url }}</span>
<b-form-input v-show="isShowPath" v-model="config.data.displayname"></b-form-input>
</b-col>
<b-col>
<b-button @click="showPathConfig" variant="primary" style="float:right">
......@@ -79,6 +81,7 @@ export default class VarBroadcast extends Widget {
WidgetComponentName: "VarBroadcast",
data: {
url: "",
displayname:"",
userInputData: ""
}
};
......@@ -199,8 +202,9 @@ export default class VarBroadcast extends Widget {
//called when widgetParams action clicked
viewLoad(Args: UpdatePayload) {
// this.config.data.userInputData = Args.variables;
console.log("viewLoad");
console.log(Args.variables);
PubSub.publish('VarBroadcast',Args);
console.log(Args);
}
}
</script>
......
......@@ -76,7 +76,34 @@ export default class waveView extends Widget {
(this.$refs.setBasicParams as setBasicParams).setConfig(widgetConfig);
}
parentUpdate(payload: UpdatePayload): void {
this.userInputData = this.strMapObjChange.strMapToObj(
((this.$refs.setBasicParams as setBasicParams).getVariableValues())
);
var temp = this.userInputData;
var flag = 0;
temp = this.strMapObjChange.objToStrMap(temp);
this.userInputData = temp;
console.log(this.userInputData);
console.log(payload.variables);
this.userInputData.forEach((value, key) => {
console.log("进来了");
console.log(key);
payload.variables.forEach((valueofpayload, keyofpayload) => {
console.log(key);
console.log(keyofpayload);
if(key == keyofpayload){
if(value != keyofpayload){
flag = 1;
this.userInputData.set(key,payload.variables.get(keyofpayload) as string);
}
}
})
});
if(flag == 1){
(this.$refs.setBasicParams as setBasicParams).setVariableInput(this.userInputData);
this.updateUI();
this.refresh();
}
}
showPathIdConfig(){
(this.$refs.setBasicParams as setBasicParams).showPathIdConfig();
......
......@@ -76,6 +76,14 @@ export default class setBasicParams extends Vue {
};
this.viewLoad(Args);
}
getVariableValues(): Map<string, string>{
return (this.$refs.WidgetParams as WidgetParams).getVariableValues();
}
setVariableInput(parentUserInputData: Map<string, string>) {
(this.$refs.WidgetParams as WidgetParams).setVariableInput(parentUserInputData);
}
pathPoke(){
this.$emit("pathPoke");
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment