diff --git a/ui/css/token-input-facebook.css b/ui/css/token-input-facebook.css index 08fb4eae39d..bb29276ed8b 100644 --- a/ui/css/token-input-facebook.css +++ b/ui/css/token-input-facebook.css @@ -19,7 +19,7 @@ ul.token-input-list-facebook { font-size: 12px; font-family: Verdana; min-height: 1px; - z-index: 1010; + z-index: 2147483647; margin: 0; padding: 0; background-color: #F6F6F6; @@ -91,7 +91,7 @@ div.token-input-dropdown-facebook { cursor: default; font-size: 11px; font-family: Verdana; - z-index: 1010; + z-index: 2147483647; } div.token-input-dropdown-facebook p { diff --git a/ui/lib/jquery.tokeninput.js b/ui/lib/jquery.tokeninput.js index 182ed058fb5..e4b341c3a1d 100644 --- a/ui/lib/jquery.tokeninput.js +++ b/ui/lib/jquery.tokeninput.js @@ -686,7 +686,7 @@ $.TokenList = function (input, url_or_data, settings) { position: "absolute", top: $(token_list).offset().top + $(token_list).outerHeight(), left: $(token_list).offset().left, - zindex: 1010 + zindex: 2147483647 }) .show(); } diff --git a/ui/scripts/configuration.js b/ui/scripts/configuration.js index 895f8e86d43..a977f2e0b2e 100644 --- a/ui/scripts/configuration.js +++ b/ui/scripts/configuration.js @@ -305,11 +305,75 @@ }, storageTags: { label: 'label.storage.tags', - docID: 'helpComputeOfferingStorageType' + docID: 'helpComputeOfferingStorageType', + isTokenInput: true, + dataProvider: function(args) { + $.ajax({ + url: createURL("listStorageTags"), + dataType: "json", + success: function(json) { + var item = json.liststoragetagsresponse.storagetag; + var tags = []; + + if (item != null) + { + tags = $.map(item, function(tag) { + return { + id: tag.name, + name: tag.name + }; + }); + } + + args.response.success({ + data: tags, + hintText: "Type in part of a storage tag", + noResultsText: "No storage tags found" + }); + }, + error: function(XMLHttpResponse) { + var errorMsg = parseXMLHttpResponse(XMLHttpResponse); + + args.response.error(errorMsg); + } + }); + } }, hostTags: { label: 'label.host.tags', - docID: 'helpComputeOfferingHostTags' + docID: 'helpComputeOfferingHostTags', + isTokenInput: true, + dataProvider: function(args) { + $.ajax({ + url: createURL("listHostTags"), + dataType: "json", + success: function(json) { + var item = json.listhosttagsresponse.hosttag; + var tags = []; + + if (item != null) + { + tags = $.map(item, function(tag) { + return { + id: tag.name, + name: tag.name + }; + }); + } + + args.response.success({ + data: tags, + hintText: "Type in part of a host tag", + noResultsText: "No host tags found" + }); + }, + error: function(XMLHttpResponse) { + var errorMsg = parseXMLHttpResponse(XMLHttpResponse); + + args.response.error(errorMsg); + } + }); + } }, cpuCap: { label: 'label.CPU.cap', @@ -1754,7 +1818,39 @@ }, tags: { label: 'label.storage.tags', - docID: 'helpDiskOfferingStorageTags' + docID: 'helpDiskOfferingStorageTags', + isTokenInput: true, + dataProvider: function(args) { + $.ajax({ + url: createURL("listStorageTags"), + dataType: "json", + success: function(json) { + var item = json.liststoragetagsresponse.storagetag; + var tags = []; + + if (item != null) + { + tags = $.map(item, function(tag) { + return { + id: tag.name, + name: tag.name + }; + }); + } + + args.response.success({ + data: tags, + hintText: "Type in part of a storage tag", + noResultsText: "No storage tags found" + }); + }, + error: function(XMLHttpResponse) { + var errorMsg = parseXMLHttpResponse(XMLHttpResponse); + + args.response.error(errorMsg); + } + }); + } }, isPublic: { label: 'label.public',