@5minds/node-red-dashboard-2-processcube-dynamic-table 1.1.11 → 1.1.12-feature-97dafa-m0bbptcq

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,15 +12,21 @@ module.exports = function (RED) {
12
12
  const evts = {
13
13
  onAction: true,
14
14
  beforeSend: function (msg) {
15
+ // TODO: mm - hier ist es einen msg
15
16
  if (Array.isArray(msg)) return msg;
16
- data = RED.util.evaluateNodeProperty(
17
+
18
+ // TODO: mm - begin
19
+ // hier ist es NUR noch data
20
+ data = (
17
21
  config.data,
18
22
  config.data_type,
19
23
  node,
20
24
  msg
21
25
  );
22
26
 
27
+ // msg.payload = data; mm ???
23
28
  return data;
29
+ // TODO: - end
24
30
  },
25
31
  onInput: function (msg, send, done) {
26
32
  base.stores.data.save(base, node, msg);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@5minds/node-red-dashboard-2-processcube-dynamic-table",
3
- "version": "1.1.11",
3
+ "version": "1.1.12-feature-97dafa-m0bbptcq",
4
4
  "description": "A ui component for showing dynamic Data with actions in a table",
5
5
  "keywords": [
6
6
  "processcube",
@@ -1,2 +1,2 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("h1[data-v-cae4cb64]{margin-bottom:10px}h2[data-v-cae4cb64]{margin-top:1.5rem;margin-bottom:.75rem}h3[data-v-cae4cb64]{margin-top:1rem}p[data-v-cae4cb64]{margin-bottom:5px}ul li[data-v-cae4cb64]{list-style-type:circle;list-style-position:inside;margin-left:15px}pre[data-v-cae4cb64]{padding:12px;margin:12px;background-color:#eee}code[data-v-cae4cb64]{font-size:.825rem;color:#ae0000}input[data-v-cae4cb64]{padding:12px;margin:12px;background-color:#eee}.task-div[data-v-cae4cb64]{padding:8px;margin:16px;border:solid;border-radius:4px;border-color:#303030}.action-button-container[data-v-cae4cb64]{width:100%;display:flex;justify-content:center}")),document.head.appendChild(e)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
2
- (function(o,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vuex"),require("vue")):typeof define=="function"&&define.amd?define(["exports","vuex","vue"],r):(o=typeof globalThis<"u"?globalThis:o||self,r(o["ui-dynamic-table"]={},o.vuex,o.Vue))})(this,function(o,r,t){"use strict";const h=(e,n)=>{const i=e.__vccOpts||e;for(const[l,s]of n)i[l]=s;return i},m={name:"UIDynamicTable",inject:["$socket"],props:{id:{type:String,required:!0},props:{type:Object,default:()=>({})},state:{type:Object,default:()=>({enabled:!0,visible:!0})}},data(){return{search:"",actions:[],tasks:[],headers:[]}},mounted(){this.$socket.on("widget-load:"+this.id,e=>{this.initialize(e),this.$store.commit("data/bind",{widgetId:this.id,data:e})}),this.$socket.on("msg-input:"+this.id,e=>{this.initialize(e),this.$store.commit("data/bind",{widgetId:this.id,data:e})}),this.$socket.emit("widget-load",this.id)},unmounted(){var e,n;(e=this.$socket)==null||e.off("widget-load"+this.id),(n=this.$socket)==null||n.off("msg-input:"+this.id)},methods:{send(e,n){const i=[];i[n]=e,this.$socket.emit("widget-action",this.id,i)},actionFn(e,n){this.send({payload:n},this.actions.findIndex(i=>i.label===e.label))},initialize(e){this.tasks=e,this.actions=this.props.options,this.headers=this.props.columns.map(n=>({title:n.label,key:n.value})),this.headers.push({title:"Actions",align:"center",key:"actions"})},conditionCheck(e,n){if(e=="")return!0;try{return new Function("row",`return ${e}`)(n)}catch(i){return console.error("Error evaluating condition:",i),!1}}}};function f(e,n,i,l,s,d){const u=t.resolveComponent("v-text-field"),k=t.resolveComponent("v-toolbar"),x=t.resolveComponent("v-btn"),p=t.resolveComponent("v-container"),b=t.resolveComponent("v-alert"),y=t.resolveComponent("v-data-table");return t.openBlock(),t.createBlock(y,{headers:s.headers,items:s.tasks,search:s.search,class:"full-width-table"},{top:t.withCtx(()=>[t.createVNode(k,{flat:"",class:"py-2"},{default:t.withCtx(()=>[t.createVNode(u,{class:"mx-3",modelValue:s.search,"onUpdate:modelValue":n[0]||(n[0]=a=>s.search=a),label:"Search","prepend-inner-icon":"mdi-magnify",variant:"outlined","hide-details":"","single-line":""},null,8,["modelValue"])]),_:1})]),"item.actions":t.withCtx(({item:a})=>[t.createVNode(p,{class:"action-button-container"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.actions,(c,g)=>(t.openBlock(),t.createBlock(p,{style:{padding:"0px",display:"inline",width:"fit-content",margin:"0px"}},{default:t.withCtx(()=>[d.conditionCheck(c.condition,a)?(t.openBlock(),t.createBlock(x,{style:{margin:"0px 2px"},key:g,size:"small",onClick:C=>d.actionFn(c,a)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c.label),1)]),_:2},1032,["onClick"])):t.createCommentVNode("",!0)]),_:2},1024))),256))]),_:2},1024)]),"no-data":t.withCtx(()=>[t.createVNode(b,{text:"No Data",style:{margin:"12px"}})]),_:1},8,["headers","items","search"])}const _=h(m,[["render",f],["__scopeId","data-v-cae4cb64"]]);o.UIDynamicTable=_,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
1
+ (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode("h1[data-v-1a137cb8]{margin-bottom:10px}h2[data-v-1a137cb8]{margin-top:1.5rem;margin-bottom:.75rem}h3[data-v-1a137cb8]{margin-top:1rem}p[data-v-1a137cb8]{margin-bottom:5px}ul li[data-v-1a137cb8]{list-style-type:circle;list-style-position:inside;margin-left:15px}pre[data-v-1a137cb8]{padding:12px;margin:12px;background-color:#eee}code[data-v-1a137cb8]{font-size:.825rem;color:#ae0000}input[data-v-1a137cb8]{padding:12px;margin:12px;background-color:#eee}.task-div[data-v-1a137cb8]{padding:8px;margin:16px;border:solid;border-radius:4px;border-color:#303030}.action-button-container[data-v-1a137cb8]{width:100%;display:flex;justify-content:center}")),document.head.appendChild(a)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
+ (function(o,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("vuex"),require("vue")):typeof define=="function"&&define.amd?define(["exports","vuex","vue"],a):(o=typeof globalThis<"u"?globalThis:o||self,a(o["ui-dynamic-table"]={},o.vuex,o.Vue))})(this,function(o,a,t){"use strict";const p=(e,n)=>{const i=e.__vccOpts||e;for(const[r,s]of n)i[r]=s;return i},m={name:"UIDynamicTable",inject:["$socket"],props:{id:{type:String,required:!0},props:{type:Object,default:()=>({})},state:{type:Object,default:()=>({enabled:!0,visible:!0})}},computed:{...a.mapState("data",["messages"])},data(){return{search:"",actions:[],tasks:[],headers:[]}},mounted(){this.$socket.on("widget-load:"+this.id,e=>{this.initialize(e),this.$store.commit("data/bind",{widgetId:this.id,data:e})}),this.$socket.on("msg-input:"+this.id,e=>{this.initialize(e),this.$store.commit("data/bind",{widgetId:this.id,data:e})}),this.$socket.emit("widget-load",this.id)},unmounted(){var e,n;(e=this.$socket)==null||e.off("widget-load"+this.id),(n=this.$socket)==null||n.off("msg-input:"+this.id)},methods:{send(e,n){const i=[];i[n]=e,this.$socket.emit("widget-action",this.id,i)},actionFn(e,n){const i=this.messages[this.id];i.payload=n,this.send(i,this.actions.findIndex(r=>r.label===e.label))},initialize(e){this.messages[this.id]=e,this.tasks=e,this.actions=this.props.options,this.headers=this.props.columns.map(n=>({title:n.label,key:n.value})),this.headers.push({title:"Actions",align:"center",key:"actions"})},conditionCheck(e,n){if(e=="")return!0;try{return new Function("row",`return ${e}`)(n)}catch(i){return console.error("Error evaluating condition:",i),!1}}}};function f(e,n,i,r,s,d){const u=t.resolveComponent("v-text-field"),b=t.resolveComponent("v-toolbar"),g=t.resolveComponent("v-btn"),h=t.resolveComponent("v-container"),k=t.resolveComponent("v-alert"),x=t.resolveComponent("v-data-table");return t.openBlock(),t.createBlock(x,{headers:s.headers,items:s.tasks,search:s.search,class:"full-width-table"},{top:t.withCtx(()=>[t.createVNode(b,{flat:"",class:"py-2"},{default:t.withCtx(()=>[t.createVNode(u,{class:"mx-3",modelValue:s.search,"onUpdate:modelValue":n[0]||(n[0]=c=>s.search=c),label:"Search","prepend-inner-icon":"mdi-magnify",variant:"outlined","hide-details":"","single-line":""},null,8,["modelValue"])]),_:1})]),"item.actions":t.withCtx(({item:c})=>[t.createVNode(h,{class:"action-button-container"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.actions,(l,y)=>(t.openBlock(),t.createBlock(h,{style:{padding:"0px",display:"inline",width:"fit-content",margin:"0px"}},{default:t.withCtx(()=>[d.conditionCheck(l.condition,c)?(t.openBlock(),t.createBlock(g,{style:{margin:"0px 2px"},key:y,size:"small",onClick:C=>d.actionFn(l,c)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(l.label),1)]),_:2},1032,["onClick"])):t.createCommentVNode("",!0)]),_:2},1024))),256))]),_:2},1024)]),"no-data":t.withCtx(()=>[t.createVNode(k,{text:"No Data",style:{margin:"12px"}})]),_:1},8,["headers","items","search"])}const _=p(m,[["render",f],["__scopeId","data-v-1a137cb8"]]);o.UIDynamicTable=_,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
@@ -53,6 +53,9 @@ export default {
53
53
  default: () => ({ enabled: true, visible: true }),
54
54
  },
55
55
  },
56
+ computed: {
57
+ ...mapState('data', ['messages'])
58
+ },
56
59
  data() {
57
60
  return {
58
61
  search: '',
@@ -70,6 +73,8 @@ export default {
70
73
  });
71
74
  });
72
75
  this.$socket.on('msg-input:' + this.id, (data) => {
76
+
77
+ // TODO: MM - kommt hier data? oder eine Message an?
73
78
  this.initialize(data);
74
79
  this.$store.commit('data/bind', {
75
80
  widgetId: this.id,
@@ -89,12 +94,19 @@ export default {
89
94
  this.$socket.emit('widget-action', this.id, msgArr);
90
95
  },
91
96
  actionFn(action, item) {
97
+ const msg = this.messages[this.id];
98
+ msg.payload = item;
92
99
  this.send(
93
- { payload: item },
100
+ msg,
94
101
  this.actions.findIndex((element) => element.label === action.label)
95
102
  );
96
103
  },
97
104
  initialize(tasks) {
105
+ // TODO: MM - start
106
+ // es sind nur die Tasks, sollte doch aber die Message mit Rows sein, oder?
107
+ // msg.payload ??
108
+ this.messages[this.id] = tasks;
109
+ // TODO: MM - end
98
110
  this.tasks = tasks;
99
111
  this.actions = this.props.options;
100
112