fix: 用Html+script替代失效的datawidget,页面加载时fetch context更新按钮
This commit is contained in:
parent
ba454f84cc
commit
78e9d6a903
@ -47,6 +47,14 @@
|
|||||||
"bgcolor": "#e8f0fe"
|
"bgcolor": "#e8f0fe"
|
||||||
},
|
},
|
||||||
"subwidgets": [
|
"subwidgets": [
|
||||||
|
{
|
||||||
|
"widgettype": "Html",
|
||||||
|
"options": {
|
||||||
|
"html": "<script>setTimeout(function(){fetch('/pipeline-sdlc/api/cockpit_context.dspy').then(function(r){return r.json()}).then(function(d){var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl&&pl.text_w)pl.text_w.set_text(d.project_name?'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a'+d.project_name:'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a--');if(il&&il.text_w)il.text_w.set_text('\\ud83d\\udd04 \\u5f53\\u524d\\u8fed\\u4ee3\\uff1a'+(d.iteration_name||'--'));})},300);</script>",
|
||||||
|
"height": "0",
|
||||||
|
"width": "0"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"widgettype": "Button",
|
"widgettype": "Button",
|
||||||
"id": "project_label",
|
"id": "project_label",
|
||||||
@ -82,26 +90,9 @@
|
|||||||
"script": "var ctx=bricks.getWidgetById('context_data',bricks.app);var d=ctx?ctx.getValue():{};var iid=d.iteration_id||'';var pid=d.project_id||'';if(!iid){var iter_url='/pipeline-sdlc/api/cockpit_iteration_picker.dspy';if(pid)iter_url+='?project_id='+encodeURIComponent(pid);var pw=new bricks.PopupWindow({title:'选择迭代',cwidth:32,cheight:16,auto_open:true});var form=new bricks.Form({name:'iteration_picker',cols:1,fields:[{name:'iteration_id',uitype:'code',label:'迭代',placeholder:'请选择迭代',cwidth:26,dataurl:iter_url,valueField:'value',textField:'text'}]});var vb=new bricks.VBox({padding:'12px',gap:'12px'});vb.add_widget(new bricks.Text({text:'没有当前迭代,请选择一个迭代:',cfontsize:0.95,color:'#64748b'}));vb.add_widget(form);pw.content_w.add_widget(vb);setTimeout(function(){var sel=pw.content_w.dom_element.querySelector('select');if(sel)sel.addEventListener('change',function(){var v=sel.value;if(!v)return;fetch('/pipeline-sdlc/api/cockpit_context_update.dspy',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'iteration_id='+encodeURIComponent(v)+'&project_id='+encodeURIComponent(pid)}).then(function(r){return r.json()}).then(function(r){if(r.success){pw.destroy();var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl)pl.text_w.set_text(r.project_name?'📁 当前项目:'+r.project_name:'📁 当前项目:--');if(il)il.text_w.set_text('🔄 当前迭代:'+(r.iteration_name||'--'));var cd=bricks.getWidgetById('context_data',bricks.app);if(cd)cd.setValue(r);}});});},500);return;}var box=new bricks.VBox();box.add_widget(new bricks.Text({text:'迭代名称:'+(d.iteration_name||'--'),cfontsize:1.1,fontWeight:'bold',marginBottom:'8px'}));box.add_widget(new bricks.Text({text:'迭代ID:'+iid,cfontsize:0.85,color:'#64748b',marginBottom:'4px'}));box.add_widget(new bricks.Text({text:'所属项目:'+(d.project_name||pid),cfontsize:0.85,color:'#64748b'}));var pw=new bricks.PopupWindow({title:'迭代详情',cwidth:36,cheight:14,auto_open:true});pw.content_w.add_widget(box);"
|
"script": "var ctx=bricks.getWidgetById('context_data',bricks.app);var d=ctx?ctx.getValue():{};var iid=d.iteration_id||'';var pid=d.project_id||'';if(!iid){var iter_url='/pipeline-sdlc/api/cockpit_iteration_picker.dspy';if(pid)iter_url+='?project_id='+encodeURIComponent(pid);var pw=new bricks.PopupWindow({title:'选择迭代',cwidth:32,cheight:16,auto_open:true});var form=new bricks.Form({name:'iteration_picker',cols:1,fields:[{name:'iteration_id',uitype:'code',label:'迭代',placeholder:'请选择迭代',cwidth:26,dataurl:iter_url,valueField:'value',textField:'text'}]});var vb=new bricks.VBox({padding:'12px',gap:'12px'});vb.add_widget(new bricks.Text({text:'没有当前迭代,请选择一个迭代:',cfontsize:0.95,color:'#64748b'}));vb.add_widget(form);pw.content_w.add_widget(vb);setTimeout(function(){var sel=pw.content_w.dom_element.querySelector('select');if(sel)sel.addEventListener('change',function(){var v=sel.value;if(!v)return;fetch('/pipeline-sdlc/api/cockpit_context_update.dspy',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'iteration_id='+encodeURIComponent(v)+'&project_id='+encodeURIComponent(pid)}).then(function(r){return r.json()}).then(function(r){if(r.success){pw.destroy();var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl)pl.text_w.set_text(r.project_name?'📁 当前项目:'+r.project_name:'📁 当前项目:--');if(il)il.text_w.set_text('🔄 当前迭代:'+(r.iteration_name||'--'));var cd=bricks.getWidgetById('context_data',bricks.app);if(cd)cd.setValue(r);}});});},500);return;}var box=new bricks.VBox();box.add_widget(new bricks.Text({text:'迭代名称:'+(d.iteration_name||'--'),cfontsize:1.1,fontWeight:'bold',marginBottom:'8px'}));box.add_widget(new bricks.Text({text:'迭代ID:'+iid,cfontsize:0.85,color:'#64748b',marginBottom:'4px'}));box.add_widget(new bricks.Text({text:'所属项目:'+(d.project_name||pid),cfontsize:0.85,color:'#64748b'}));var pw=new bricks.PopupWindow({title:'迭代详情',cwidth:36,cheight:14,auto_open:true});pw.content_w.add_widget(box);"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"widgettype": "datawidget",
|
|
||||||
"id": "context_data",
|
|
||||||
"options": {
|
|
||||||
"dataurl": "/pipeline-sdlc/api/cockpit_context.dspy",
|
|
||||||
"method": "GET",
|
|
||||||
"datascript": "(function(d){var d=d||{};var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl){pl.text_w.set_text(d.project_name?'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a'+d.project_name:'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a--');}if(il){il.text_w.set_text('\\ud83d\\udd04 \\u5f53\\u524d\\u8fed\\u4ee3\\uff1a'+(d.iteration_name||'--'));}return d;})"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"binds": [
|
"binds": []
|
||||||
{
|
|
||||||
"wid": "self",
|
|
||||||
"event": "render",
|
|
||||||
"actiontype": "script",
|
|
||||||
"target": "self",
|
|
||||||
"script": "fetch('/pipeline-sdlc/api/cockpit_context.dspy').then(function(r){return r.json()}).then(function(d){var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl)pl.text_w.set_text(d.project_name?'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a'+d.project_name:'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a--');if(il)il.text_w.set_text('\\ud83d\\udd04 \\u5f53\\u524d\\u8fed\\u4ee3\\uff1a'+(d.iteration_name||'--'));})"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"widgettype": "VBox",
|
"widgettype": "VBox",
|
||||||
|
|||||||
@ -66,6 +66,14 @@
|
|||||||
"bgcolor": "#e8f0fe"
|
"bgcolor": "#e8f0fe"
|
||||||
},
|
},
|
||||||
"subwidgets": [
|
"subwidgets": [
|
||||||
|
{
|
||||||
|
"widgettype": "Html",
|
||||||
|
"options": {
|
||||||
|
"html": "<script>setTimeout(function(){fetch('/pipeline-sdlc/api/cockpit_context.dspy').then(function(r){return r.json()}).then(function(d){var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl&&pl.text_w)pl.text_w.set_text(d.project_name?'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a'+d.project_name:'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a--');if(il&&il.text_w)il.text_w.set_text('\\ud83d\\udd04 \\u5f53\\u524d\\u8fed\\u4ee3\\uff1a'+(d.iteration_name||'--'));})},300);</script>",
|
||||||
|
"height": "0",
|
||||||
|
"width": "0"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"widgettype": "Button",
|
"widgettype": "Button",
|
||||||
"id": "project_label",
|
"id": "project_label",
|
||||||
@ -101,26 +109,9 @@
|
|||||||
"script": "var ctx=bricks.getWidgetById('context_data',bricks.app);var d=ctx?ctx.getValue():{};var iid=d.iteration_id||'';var pid=d.project_id||'';if(!iid){var iter_url='/pipeline-sdlc/api/cockpit_iteration_picker.dspy';if(pid)iter_url+='?project_id='+encodeURIComponent(pid);var pw=new bricks.PopupWindow({title:'选择迭代',cwidth:32,cheight:16,auto_open:true});var form=new bricks.Form({name:'iteration_picker',cols:1,fields:[{name:'iteration_id',uitype:'code',label:'迭代',placeholder:'请选择迭代',cwidth:26,dataurl:iter_url,valueField:'value',textField:'text'}]});var vb=new bricks.VBox({padding:'12px',gap:'12px'});vb.add_widget(new bricks.Text({text:'没有当前迭代,请选择一个迭代:',cfontsize:0.95,color:'#64748b'}));vb.add_widget(form);pw.content_w.add_widget(vb);setTimeout(function(){var sel=pw.content_w.dom_element.querySelector('select');if(sel)sel.addEventListener('change',function(){var v=sel.value;if(!v)return;fetch('/pipeline-sdlc/api/cockpit_context_update.dspy',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'iteration_id='+encodeURIComponent(v)+'&project_id='+encodeURIComponent(pid)}).then(function(r){return r.json()}).then(function(r){if(r.success){pw.destroy();var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl)pl.text_w.set_text(r.project_name?'📁 当前项目:'+r.project_name:'📁 当前项目:--');if(il)il.text_w.set_text('🔄 当前迭代:'+(r.iteration_name||'--'));var cd=bricks.getWidgetById('context_data',bricks.app);if(cd)cd.setValue(r);}});});},500);return;}var box=new bricks.VBox();box.add_widget(new bricks.Text({text:'迭代名称:'+(d.iteration_name||'--'),cfontsize:1.1,fontWeight:'bold',marginBottom:'8px'}));box.add_widget(new bricks.Text({text:'迭代ID:'+iid,cfontsize:0.85,color:'#64748b',marginBottom:'4px'}));box.add_widget(new bricks.Text({text:'所属项目:'+(d.project_name||pid),cfontsize:0.85,color:'#64748b'}));var pw=new bricks.PopupWindow({title:'迭代详情',cwidth:36,cheight:14,auto_open:true});pw.content_w.add_widget(box);"
|
"script": "var ctx=bricks.getWidgetById('context_data',bricks.app);var d=ctx?ctx.getValue():{};var iid=d.iteration_id||'';var pid=d.project_id||'';if(!iid){var iter_url='/pipeline-sdlc/api/cockpit_iteration_picker.dspy';if(pid)iter_url+='?project_id='+encodeURIComponent(pid);var pw=new bricks.PopupWindow({title:'选择迭代',cwidth:32,cheight:16,auto_open:true});var form=new bricks.Form({name:'iteration_picker',cols:1,fields:[{name:'iteration_id',uitype:'code',label:'迭代',placeholder:'请选择迭代',cwidth:26,dataurl:iter_url,valueField:'value',textField:'text'}]});var vb=new bricks.VBox({padding:'12px',gap:'12px'});vb.add_widget(new bricks.Text({text:'没有当前迭代,请选择一个迭代:',cfontsize:0.95,color:'#64748b'}));vb.add_widget(form);pw.content_w.add_widget(vb);setTimeout(function(){var sel=pw.content_w.dom_element.querySelector('select');if(sel)sel.addEventListener('change',function(){var v=sel.value;if(!v)return;fetch('/pipeline-sdlc/api/cockpit_context_update.dspy',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'iteration_id='+encodeURIComponent(v)+'&project_id='+encodeURIComponent(pid)}).then(function(r){return r.json()}).then(function(r){if(r.success){pw.destroy();var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl)pl.text_w.set_text(r.project_name?'📁 当前项目:'+r.project_name:'📁 当前项目:--');if(il)il.text_w.set_text('🔄 当前迭代:'+(r.iteration_name||'--'));var cd=bricks.getWidgetById('context_data',bricks.app);if(cd)cd.setValue(r);}});});},500);return;}var box=new bricks.VBox();box.add_widget(new bricks.Text({text:'迭代名称:'+(d.iteration_name||'--'),cfontsize:1.1,fontWeight:'bold',marginBottom:'8px'}));box.add_widget(new bricks.Text({text:'迭代ID:'+iid,cfontsize:0.85,color:'#64748b',marginBottom:'4px'}));box.add_widget(new bricks.Text({text:'所属项目:'+(d.project_name||pid),cfontsize:0.85,color:'#64748b'}));var pw=new bricks.PopupWindow({title:'迭代详情',cwidth:36,cheight:14,auto_open:true});pw.content_w.add_widget(box);"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"widgettype": "datawidget",
|
|
||||||
"id": "context_data",
|
|
||||||
"options": {
|
|
||||||
"dataurl": "/pipeline-sdlc/api/cockpit_context.dspy",
|
|
||||||
"method": "GET",
|
|
||||||
"datascript": "(function(d){var d=d||{};var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);var pn=d.project_name||'';if(pl){pl.text_w.set_text(pn?'📁 当前项目:'+pn:'📁 当前项目:--');}if(il){il.text_w.set_text(d.iteration_name?(d.iteration_name.length>15?d.iteration_name.slice(0,15)+'...':d.iteration_name):'🔄 当前迭代:--');il.text_w.set_text('🔄 当前迭代:'+(d.iteration_name||'--'));}return d;})"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"binds": [
|
"binds": []
|
||||||
{
|
|
||||||
"wid": "self",
|
|
||||||
"event": "render",
|
|
||||||
"actiontype": "script",
|
|
||||||
"target": "self",
|
|
||||||
"script": "fetch('/pipeline-sdlc/api/cockpit_context.dspy').then(function(r){return r.json()}).then(function(d){var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl)pl.text_w.set_text(d.project_name?'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a'+d.project_name:'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a--');if(il)il.text_w.set_text('\\ud83d\\udd04 \\u5f53\\u524d\\u8fed\\u4ee3\\uff1a'+(d.iteration_name||'--'));})"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"widgettype": "VBox",
|
"widgettype": "VBox",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user