From cbf212844da38647825e90c5ba9e68a28546ad3f Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Wed, 9 Nov 2011 19:25:11 -0800 Subject: [PATCH] Allow custom data to be passed to detail view actions, via dataProvider --- ui/scripts-test/system.js | 6 +++++- ui/scripts/ui/widgets/detailView.js | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ui/scripts-test/system.js b/ui/scripts-test/system.js index b1cce5ddce1..55109430396 100644 --- a/ui/scripts-test/system.js +++ b/ui/scripts-test/system.js @@ -46,7 +46,11 @@ } ], dataProvider: function(args) { - args.response.success({ data: testData.data.networks[0] }); + args.response.success({ _custom: { + physicalNetwork: { + ip: '192.168.1.1' + } + }, data: testData.data.networks[0] }); } }, ipAddresses: { diff --git a/ui/scripts/ui/widgets/detailView.js b/ui/scripts/ui/widgets/detailView.js index 7a5320f8855..164758407d7 100644 --- a/ui/scripts/ui/widgets/detailView.js +++ b/ui/scripts/ui/widgets/detailView.js @@ -65,6 +65,7 @@ var messageArgs = { name: $detailView.find('tr.name td.value').html() }; var id = args.id; var context = $detailView.data('view-args').context; + var _custom = $detailView.data('_custom'); var externalLinkAction = action.action.externalLink; if (externalLinkAction) { @@ -99,6 +100,7 @@ action.action({ data: data, + _custom: _custom, ref: options.ref, context: $detailView.data('view-args').context, $form: $form, @@ -214,6 +216,7 @@ args.actions[args.actionName].action({ data: data, + _custom: $detailView.data('_custom'), context: $detailView.data('view-args').context, response: { data: data, @@ -617,6 +620,9 @@ context: args.context, response: { success: function(args) { + if (args._custom) { + $detailView.data('_custom', args._custom); + } var tabData = $tabContent.data('detail-view-tab-data'); var data = args.data; var isFirstPanel = $tabContent.index($detailView.find('div.detail-group.ui-tabs-panel')) == 0;