ACK
On 10/28/2014 05:47 PM, Yu Xin Huo wrote:
On 10/27/2014 3:42 PM, Wen Wang wrote:
> From: Wen Wang <wenwang(a)linux.vnet.ibm.com>
>
> V1 -> V2:
> 1) Changed the API name to "getPCIDeviceCompanion".
> 2) Changed for a more specific way of detecting the related devices.
> 3) Added the "Affected devices" to the tip with aligned format.
> 4) tip will when the pointer hang over any section of the affected line.
>
> This patch provide the way that shows more specific PCI device
> information by hanging the mouse on top of device name.
>
> Signed-off-by: Wen Wang <wenwang(a)linux.vnet.ibm.com>
> ---
> ui/js/src/kimchi.api.js | 14 ++++++++++++++
> ui/js/src/kimchi.guest_edit_main.js | 25 +++++++++++++++++++++++++
> 2 files changed, 39 insertions(+), 0 deletions(-)
>
> diff --git a/ui/js/src/kimchi.api.js b/ui/js/src/kimchi.api.js
> index 8a6e416..ebf826b 100644
> --- a/ui/js/src/kimchi.api.js
> +++ b/ui/js/src/kimchi.api.js
> @@ -1129,6 +1129,20 @@ var kimchi = {
> });
> },
>
> + getPCIDeviceCompanions : function(pcidev, suc, err) {
> + kimchi.requestJSON({
> + url : kimchi.url +
> 'host/devices?_passthrough_affected_by=' + pcidev,
> + type : 'GET',
> + contentType : 'application/json',
> + dataType : 'json',
> + resend : true,
> + success : suc,
> + error : err ? err : function(data) {
> + kimchi.message.error(data.responseJSON.reason);
> + }
> + });
> + },
> +
> getISCSITargets : function(server, port, suc, err) {
> server = encodeURIComponent(server);
> port = port ? '&_server_port='+encodeURIComponent(port) :
'';
> diff --git a/ui/js/src/kimchi.guest_edit_main.js
> b/ui/js/src/kimchi.guest_edit_main.js
> index 030e112..2a9c1ab 100644
> --- a/ui/js/src/kimchi.guest_edit_main.js
> +++ b/ui/js/src/kimchi.guest_edit_main.js
> @@ -407,6 +407,31 @@ kimchi.guest_edit_main = function() {
> });
> }
> });
> + kimchi.getPCIDeviceCompanions(hostPCIs[i].name, function(infoData) {
> + var pciTitle = "";
> + if(infoData.length>0) {
The 'if' can be removed as 'for' circle already checked
'p<infoData.lengt' and 'q<infoData.length'.
> + for(var p=0; p<infoData.length; p++) {
> + if(infoData[p].device_type ===
> "net") {
> + pciTitle += "Affected
> devices:\n";
Translation?
> + pciTitle += infoData[p].name + "\n";
> + pciTitle += " " +
> "interface: " + infoData[p].interface;
Translation?
> + pciTitle += ", address: " + infoData[p].address;
> + pciTitle += ", link_type: "
> + infoData[p].link_type + "\n";
> + } else
> if(infoData[p].device_type === "storage") {
> + pciTitle += "Affected
> devices:\n";
> + pciTitle += infoData[p].name
> + "\n";
> + pciTitle += " " + "block:
> " + infoData[p].block;
> + pciTitle += ", drive_type: "
> + infoData[p].drive_type;
> + pciTitle += ", model: " +
> infoData[p].model + "\n";
> + }
> + }
All labels need to be translated, remove hardcoding in javascript.
> + for(var q=0; q<infoData.length; q++) {
> + pciTitle === "" ||
$(".name",
> "#" + infoData[q].parent).attr("title", pciTitle);
> + pciTitle === "" ||
$(".product",
> "#" + infoData[q].parent).attr("title", pciTitle);
> + pciTitle === "" ||
$(".vendor",
> "#" + infoData[q].parent).attr("title", pciTitle);
> + }
> + }
> + });
> }
> });
> });