[Kimchi-devel] [PATCH V2] Enhancement: PCI Device information enhancement
Yu Xin Huo
huoyuxin at linux.vnet.ibm.com
Tue Oct 28 09:47:09 UTC 2014
On 10/27/2014 3:42 PM, Wen Wang wrote:
> From: Wen Wang <wenwang at 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 at 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);
> + }
> + }
> + });
> }
> });
> });
More information about the Kimchi-devel
mailing list