mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
F #4572: Add DS dropdown in image import
This commit is contained in:
parent
e99352f5d9
commit
c34ad712cb
@ -24,6 +24,7 @@ define(function(require) {
|
||||
var Sunstone = require('sunstone');
|
||||
var Locale = require('utils/locale');
|
||||
var VCenterImages = require('utils/vcenter/images');
|
||||
var ResourceSelect = require('utils/resource-select');
|
||||
|
||||
/*
|
||||
TEMPLATES
|
||||
@ -65,6 +66,7 @@ define(function(require) {
|
||||
FormPanel.prototype.submitWizard = _submitWizard;
|
||||
FormPanel.prototype.onShow = _onShow;
|
||||
FormPanel.prototype.setup = _setup;
|
||||
FormPanel.prototype.reInitForm = _reInitForm;
|
||||
|
||||
return FormPanel;
|
||||
|
||||
@ -79,7 +81,7 @@ define(function(require) {
|
||||
});
|
||||
}
|
||||
|
||||
function _setup(context) {
|
||||
function _reInitForm(context) {
|
||||
var that = this;
|
||||
|
||||
$("form.vcenter_credentials", context)
|
||||
@ -110,7 +112,10 @@ define(function(require) {
|
||||
.on("submit", function(ev) {
|
||||
ev.preventDefault();
|
||||
});
|
||||
}
|
||||
|
||||
function _setup(context) {
|
||||
this.reInitForm(context);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -125,5 +130,24 @@ define(function(require) {
|
||||
}
|
||||
|
||||
function _onShow(context) {
|
||||
var that = this;
|
||||
|
||||
var vcenter_datastore = $("div#vcenter_datastore_wrapper .resource_list_select", context).val();
|
||||
if (!vcenter_datastore) vcenter_datastore = undefined;
|
||||
|
||||
ResourceSelect.insert({
|
||||
context: $('#vcenter_datastore_wrapper', context),
|
||||
resourceName: 'Datastore',
|
||||
initValue: vcenter_datastore,
|
||||
emptyValue: true,
|
||||
nameValues: true,
|
||||
filterKey: 'DS_MAD',
|
||||
filterValue: 'vcenter',
|
||||
selectId: 'vcenter_datastore',
|
||||
required: true,
|
||||
callback: function(element){
|
||||
that.reInitForm(context);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -32,8 +32,8 @@
|
||||
<input type="password" name="vcenter_password" id="vcenter_password" required />
|
||||
</div>
|
||||
<div class="large-2 medium-6 columns">
|
||||
<label for="vcenter_datastore">{{tr "Datastore"}}</label>
|
||||
<input type="text" name="vcenter_datastore" id="vcenter_datastore" required />
|
||||
<label>{{tr "Datastore"}}</label>
|
||||
<div id="vcenter_datastore_wrapper"/>
|
||||
</div>
|
||||
<div class="large-3 medium-6 columns">
|
||||
<label> </label>
|
||||
|
@ -38,6 +38,9 @@ define(function(require) {
|
||||
* @param {string} [opts.filterValue] - RegExp that will be evaluated to filter the resources
|
||||
* @param {Boolean} [opts.nameValues] - Use the object NAME instead of the ID as the option values
|
||||
* @param {string} [opts.selectId] - Optional ID for the html select element
|
||||
* @param {Boolean} [opts.required] - True to make the html select required
|
||||
* @param {function}[opts.callback] - Callback function to call after the select element is
|
||||
* added to the DOM
|
||||
*/
|
||||
var _insert = function(opts) {
|
||||
var Resource = require('opennebula/' + opts.resourceName.toLowerCase());
|
||||
@ -46,14 +49,20 @@ define(function(require) {
|
||||
Resource.list({
|
||||
timeout: true,
|
||||
success: function (request, elemList) {
|
||||
var selectHTML;
|
||||
var elemId = '';
|
||||
|
||||
if (opts.selectId != undefined){
|
||||
selectHTML = '<select id="'+opts.selectId+'" class="resource_list_select">';
|
||||
}else{
|
||||
selectHTML = '<select class="resource_list_select">';
|
||||
elemId = 'id="'+opts.selectId+'"';
|
||||
}
|
||||
|
||||
var required = '';
|
||||
|
||||
if (opts.required == true){
|
||||
required = 'required';
|
||||
}
|
||||
|
||||
var selectHTML = '<select '+elemId+' '+required+' class="resource_list_select">';
|
||||
|
||||
if (opts.emptyValue) {
|
||||
selectHTML += '<option class="empty_value" value="">' +
|
||||
Locale.tr("Please select") + '</option>';
|
||||
@ -105,6 +114,10 @@ define(function(require) {
|
||||
if (opts.triggerChange === true) {
|
||||
$(' .resource_list_select', opts.context).change();
|
||||
}
|
||||
|
||||
if(opts.callback() != undefined){
|
||||
opts.callback($('.resource_list_select', opts.context));
|
||||
}
|
||||
},
|
||||
error: Notifier.onError
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user