diff --git a/src/sunstone/public/app/tabs/images-tab/dialogs/clone.js b/src/sunstone/public/app/tabs/images-tab/dialogs/clone.js index 12888cb49d..0a292f4e4f 100644 --- a/src/sunstone/public/app/tabs/images-tab/dialogs/clone.js +++ b/src/sunstone/public/app/tabs/images-tab/dialogs/clone.js @@ -115,7 +115,7 @@ define(function(require) { function _onShow(dialog) { var sel_elems = Sunstone.getDataTable(IMAGES_TAB_ID).elements({names: true}); - this.setNames(sel_elems); + this.setNames( {elements: sel_elems} ); //show different text depending on how many elements are selected if (sel_elems.length > 1) { diff --git a/src/sunstone/public/app/tabs/oneflow-services-tab/dialogs/scale.js b/src/sunstone/public/app/tabs/oneflow-services-tab/dialogs/scale.js index b3edd5e5a2..50c1b33189 100644 --- a/src/sunstone/public/app/tabs/oneflow-services-tab/dialogs/scale.js +++ b/src/sunstone/public/app/tabs/oneflow-services-tab/dialogs/scale.js @@ -64,7 +64,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); } function _setup(context) { diff --git a/src/sunstone/public/app/tabs/oneflow-templates-tab/dialogs/clone.js b/src/sunstone/public/app/tabs/oneflow-templates-tab/dialogs/clone.js index 342eacd1dc..40e9fb5f8a 100644 --- a/src/sunstone/public/app/tabs/oneflow-templates-tab/dialogs/clone.js +++ b/src/sunstone/public/app/tabs/oneflow-templates-tab/dialogs/clone.js @@ -95,7 +95,7 @@ define(function(require) { function _onShow(context) { var sel_elems = Sunstone.getDataTable(ONEFLOW_TEMPLATES_TAB_ID).elements({names: true}); - this.setNames(sel_elems); + this.setNames( {elements: sel_elems} ); //show different text depending on how many elements are selected if (sel_elems.length > 1) { diff --git a/src/sunstone/public/app/tabs/secgroups-tab/dialogs/clone.js b/src/sunstone/public/app/tabs/secgroups-tab/dialogs/clone.js index c7758d3e94..674db95384 100644 --- a/src/sunstone/public/app/tabs/secgroups-tab/dialogs/clone.js +++ b/src/sunstone/public/app/tabs/secgroups-tab/dialogs/clone.js @@ -95,7 +95,7 @@ define(function(require) { function _onShow(context) { var sel_elems = Sunstone.getDataTable(TAB_ID).elements({names: true}); - this.setNames(sel_elems); + this.setNames( {elements: sel_elems} ); //show different text depending on how many elements are selected if (sel_elems.length > 1) { diff --git a/src/sunstone/public/app/tabs/templates-tab/dialogs/clone.js b/src/sunstone/public/app/tabs/templates-tab/dialogs/clone.js index 186c67a4de..a76e63837f 100644 --- a/src/sunstone/public/app/tabs/templates-tab/dialogs/clone.js +++ b/src/sunstone/public/app/tabs/templates-tab/dialogs/clone.js @@ -116,7 +116,7 @@ define(function(require) { function _onShow(context) { var sel_elems = Sunstone.getDataTable(this.tabId).elements({names: true}); - this.setNames(sel_elems); + this.setNames( {elements: sel_elems} ); //show different text depending on how many elements are selected if (sel_elems.length > 1) { diff --git a/src/sunstone/public/app/tabs/users-tab/dialogs/auth-driver.js b/src/sunstone/public/app/tabs/users-tab/dialogs/auth-driver.js index 6352e28424..1355aed277 100644 --- a/src/sunstone/public/app/tabs/users-tab/dialogs/auth-driver.js +++ b/src/sunstone/public/app/tabs/users-tab/dialogs/auth-driver.js @@ -95,7 +95,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); return false; } diff --git a/src/sunstone/public/app/tabs/users-tab/dialogs/groups.js b/src/sunstone/public/app/tabs/users-tab/dialogs/groups.js index 2a03df1c27..801cf3034f 100644 --- a/src/sunstone/public/app/tabs/users-tab/dialogs/groups.js +++ b/src/sunstone/public/app/tabs/users-tab/dialogs/groups.js @@ -122,7 +122,7 @@ define(function(require) { } function _onShow(dialog) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); this.groupsTable.refreshResourceTableSelect(); diff --git a/src/sunstone/public/app/tabs/users-tab/dialogs/password.js b/src/sunstone/public/app/tabs/users-tab/dialogs/password.js index aef764aca4..974a50cea5 100644 --- a/src/sunstone/public/app/tabs/users-tab/dialogs/password.js +++ b/src/sunstone/public/app/tabs/users-tab/dialogs/password.js @@ -110,7 +110,7 @@ define(function(require) { var tabId = Sunstone.getTab(); if (tabId == USERS_TAB_ID){ - this.setNames( Sunstone.getDataTable(USERS_TAB_ID).elements({names: true}) ); + this.setNames( {tabId: USERS_TAB_ID} ); } return false; diff --git a/src/sunstone/public/app/tabs/vms-tab/dialogs/attach-disk.js b/src/sunstone/public/app/tabs/vms-tab/dialogs/attach-disk.js index 412e0b2a06..062b28d981 100644 --- a/src/sunstone/public/app/tabs/vms-tab/dialogs/attach-disk.js +++ b/src/sunstone/public/app/tabs/vms-tab/dialogs/attach-disk.js @@ -90,7 +90,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); this.diskTab.onShow(context); diff --git a/src/sunstone/public/app/tabs/vms-tab/dialogs/attach-nic.js b/src/sunstone/public/app/tabs/vms-tab/dialogs/attach-nic.js index 0633088ec3..9c75d342fa 100644 --- a/src/sunstone/public/app/tabs/vms-tab/dialogs/attach-nic.js +++ b/src/sunstone/public/app/tabs/vms-tab/dialogs/attach-nic.js @@ -90,7 +90,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); this.nicTab.onShow(context); diff --git a/src/sunstone/public/app/tabs/vms-tab/dialogs/deploy.js b/src/sunstone/public/app/tabs/vms-tab/dialogs/deploy.js index 1f8fc38597..75096aebd6 100644 --- a/src/sunstone/public/app/tabs/vms-tab/dialogs/deploy.js +++ b/src/sunstone/public/app/tabs/vms-tab/dialogs/deploy.js @@ -107,7 +107,7 @@ define(function(require) { } function _onShow(dialog) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); this.datastoresTable.resetResourceTableSelect(); this.hostsTable.resetResourceTableSelect(); diff --git a/src/sunstone/public/app/tabs/vms-tab/dialogs/disk-saveas.js b/src/sunstone/public/app/tabs/vms-tab/dialogs/disk-saveas.js index 6f09c183c2..490211ef3b 100644 --- a/src/sunstone/public/app/tabs/vms-tab/dialogs/disk-saveas.js +++ b/src/sunstone/public/app/tabs/vms-tab/dialogs/disk-saveas.js @@ -92,7 +92,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); $("#disk_id", context).val(this.diskId); $("#snapshot_id", context).val(this.snapshotId); $("#image_name", context).focus(); diff --git a/src/sunstone/public/app/tabs/vms-tab/dialogs/disk-snapshot.js b/src/sunstone/public/app/tabs/vms-tab/dialogs/disk-snapshot.js index 94634a97a5..f7dd9c3f46 100644 --- a/src/sunstone/public/app/tabs/vms-tab/dialogs/disk-snapshot.js +++ b/src/sunstone/public/app/tabs/vms-tab/dialogs/disk-snapshot.js @@ -84,7 +84,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); $("#disk_id", context).val(this.diskId); $("#snapshot_name", context).focus(); return false; diff --git a/src/sunstone/public/app/tabs/vms-tab/dialogs/resize.js b/src/sunstone/public/app/tabs/vms-tab/dialogs/resize.js index 329d5acb86..95f3660b27 100644 --- a/src/sunstone/public/app/tabs/vms-tab/dialogs/resize.js +++ b/src/sunstone/public/app/tabs/vms-tab/dialogs/resize.js @@ -94,7 +94,7 @@ define(function(require) { function _onShow(context) { var that = this; - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); CapacityInputs.fill(context, that.element); diff --git a/src/sunstone/public/app/tabs/vms-tab/dialogs/saveas-template.js b/src/sunstone/public/app/tabs/vms-tab/dialogs/saveas-template.js index 20c68e2d61..2b54982b56 100644 --- a/src/sunstone/public/app/tabs/vms-tab/dialogs/saveas-template.js +++ b/src/sunstone/public/app/tabs/vms-tab/dialogs/saveas-template.js @@ -99,7 +99,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); $("#template_name", context).focus(); return false; } diff --git a/src/sunstone/public/app/tabs/vms-tab/dialogs/snapshot.js b/src/sunstone/public/app/tabs/vms-tab/dialogs/snapshot.js index baaae8222b..532037a2f8 100644 --- a/src/sunstone/public/app/tabs/vms-tab/dialogs/snapshot.js +++ b/src/sunstone/public/app/tabs/vms-tab/dialogs/snapshot.js @@ -83,7 +83,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); $("#snapshot_name", context).focus(); return false; } diff --git a/src/sunstone/public/app/tabs/vnets-tab/dialogs/add-ar.js b/src/sunstone/public/app/tabs/vnets-tab/dialogs/add-ar.js index 1b532d9afc..70f3505936 100644 --- a/src/sunstone/public/app/tabs/vnets-tab/dialogs/add-ar.js +++ b/src/sunstone/public/app/tabs/vnets-tab/dialogs/add-ar.js @@ -92,7 +92,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); this.arTab.onShow(); } diff --git a/src/sunstone/public/app/tabs/vnets-tab/dialogs/reserve.js b/src/sunstone/public/app/tabs/vnets-tab/dialogs/reserve.js index cd734496f5..e907bc0d4f 100644 --- a/src/sunstone/public/app/tabs/vnets-tab/dialogs/reserve.js +++ b/src/sunstone/public/app/tabs/vnets-tab/dialogs/reserve.js @@ -133,7 +133,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); this.vnetsTable.refreshResourceTableSelect(); this.arsTable.refreshResourceTableSelect(); diff --git a/src/sunstone/public/app/tabs/vnets-tab/dialogs/update-ar.js b/src/sunstone/public/app/tabs/vnets-tab/dialogs/update-ar.js index 7a71b8530a..6249df1f35 100644 --- a/src/sunstone/public/app/tabs/vnets-tab/dialogs/update-ar.js +++ b/src/sunstone/public/app/tabs/vnets-tab/dialogs/update-ar.js @@ -92,7 +92,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); this.arTab.onShow(); } diff --git a/src/sunstone/public/app/tabs/vrouters-tab/dialogs/attach-nic.js b/src/sunstone/public/app/tabs/vrouters-tab/dialogs/attach-nic.js index e68c407639..d18b27592d 100644 --- a/src/sunstone/public/app/tabs/vrouters-tab/dialogs/attach-nic.js +++ b/src/sunstone/public/app/tabs/vrouters-tab/dialogs/attach-nic.js @@ -94,7 +94,7 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(TAB_ID).elements({names: true}) ); + this.setNames( {tabId: TAB_ID} ); return false; } diff --git a/src/sunstone/public/app/utils/dialogs/clusters.js b/src/sunstone/public/app/utils/dialogs/clusters.js index f34b26f8e6..3c8af4c31d 100644 --- a/src/sunstone/public/app/utils/dialogs/clusters.js +++ b/src/sunstone/public/app/utils/dialogs/clusters.js @@ -140,9 +140,9 @@ define(function(require) { function _onShow(dialog) { if(this.resource == "datastore"){ - this.setNames( Sunstone.getDataTable(DATASTORES_TAB_ID).elements({names: true}) ); + this.setNames( {tabId: DATASTORES_TAB_ID} ); }else{ - this.setNames( Sunstone.getDataTable(VNETS_TAB_ID).elements({names: true}) ); + this.setNames( {tabId: VNETS_TAB_ID} ); } this.clustersTable.refreshResourceTableSelect(); diff --git a/src/sunstone/public/app/utils/dialogs/confirm-with-select.js b/src/sunstone/public/app/utils/dialogs/confirm-with-select.js index 655cd0d363..8656daf0b1 100644 --- a/src/sunstone/public/app/utils/dialogs/confirm-with-select.js +++ b/src/sunstone/public/app/utils/dialogs/confirm-with-select.js @@ -127,7 +127,7 @@ define(function(require) { } var action = Sunstone.getAction(this.actionId); - this.setNames( action.elements({names: true}) ); + this.setNames( {elements: action.elements({names: true})} ); if (this.button.custom_select) { $('div#confirm_select', dialog).html(this.button.custom_select); diff --git a/src/sunstone/public/app/utils/dialogs/confirm.js b/src/sunstone/public/app/utils/dialogs/confirm.js index f8a57b6514..4eb2aadd38 100644 --- a/src/sunstone/public/app/utils/dialogs/confirm.js +++ b/src/sunstone/public/app/utils/dialogs/confirm.js @@ -80,7 +80,7 @@ define(function(require) { } var action = Sunstone.getAction(actionId); - this.setNames( action.elements({names: true}) ); + this.setNames( {elements: action.elements({names: true})} ); return false; } diff --git a/src/sunstone/public/app/utils/dialogs/dialog.js b/src/sunstone/public/app/utils/dialogs/dialog.js index 22e0632dd5..f564b1dada 100644 --- a/src/sunstone/public/app/utils/dialogs/dialog.js +++ b/src/sunstone/public/app/utils/dialogs/dialog.js @@ -16,6 +16,7 @@ define(function(require) { var TemplateUtils = require('utils/template-utils'); + var Sunstone = require('sunstone'); function BaseDialog() { return this; @@ -72,9 +73,27 @@ define(function(require) { return false; } - function _setNames(elements){ + /** + * Sets the ID & names of the selected objects + * + * @param {Object} opts + * - tabId: Optional. If given, the object names will be taken from + * the selected elements of this tab's dataTable + * - elements: Optional. Array of objects: [{id, name}] + */ + function _setNames(opts){ var html = ""; + var elements = undefined; + + if (opts.elements != undefined) { + elements = opts.elements; + } else if ( opts.tabId != undefined && + Sunstone.getDataTable(opts.tabId) != undefined){ + + elements = Sunstone.getDataTable(opts.tabId).elements({names: true}) + } + if (elements) { html = '
'; diff --git a/src/sunstone/public/app/utils/dialogs/generic-confirm.js b/src/sunstone/public/app/utils/dialogs/generic-confirm.js index 2326f10a76..1efea60629 100644 --- a/src/sunstone/public/app/utils/dialogs/generic-confirm.js +++ b/src/sunstone/public/app/utils/dialogs/generic-confirm.js @@ -138,7 +138,7 @@ define(function(require) { } if (this.params.headerTabId != undefined){ - this.setNames( Sunstone.getDataTable(this.params.headerTabId).elements({names: true}) ); + this.setNames( {tabId: this.params.headerTabId} ); } return false; diff --git a/src/sunstone/public/app/utils/dialogs/overcommit.js b/src/sunstone/public/app/utils/dialogs/overcommit.js index 453c5d1940..6f670405d8 100644 --- a/src/sunstone/public/app/utils/dialogs/overcommit.js +++ b/src/sunstone/public/app/utils/dialogs/overcommit.js @@ -88,13 +88,8 @@ define(function(require) { } function _onShow(context) { - this.setNames( Sunstone.getDataTable(this.tabId).elements({names: true}) ); + this.setNames( {tabId: this.tabId} ); -/* - $("#element_id", context).text(this.element.ID); - $("#element_name", context).text(this.element.NAME); - $("#resource_name", context).text(this.resourceName); -*/ WizardFields.fill(context, this.element.TEMPLATE); return false;