").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var dd=a.document.documentElement;function ed(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?(typeof e.getBoundingClientRect!==L&&(d=e.getBoundingClientRect()),c=ed(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||dd;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||dd})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return W(this,function(a,d,e){var f=ed(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Mb(l.pixelPosition,function(a,c){return c?(c=Kb(a,b),Ib.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return W(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var fd=a.jQuery,gd=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=gd),b&&a.jQuery===n&&(a.jQuery=fd),n},typeof b===L&&(a.jQuery=a.$=n),n});
\ No newline at end of file
diff --git a/original-design/js/navigation.js b/original-design/js/navigation.js
new file mode 100644
index 00000000..4e68c197
--- /dev/null
+++ b/original-design/js/navigation.js
@@ -0,0 +1,67 @@
+// Open header search bar
+$(function() {
+ $(".search-icon").click(function() {
+ $(".navbar-main").toggleClass("show");
+ $(".search-container").toggleClass("show");
+ $(".search-icon").toggleClass("show");
+ $('#gsc-i-id1').focus();
+ });
+});
+
+// Close header search bar
+$(function() {
+ $(".close-search").click(function() {
+ $(".navbar-main").toggleClass("show");
+ $(".search-container").toggleClass("show")
+ $(".search-icon").toggleClass("show");
+ });
+});
+
+// Open header drop downs on hover
+jQuery(document).ready(function(){
+ if (jQuery(window).width() > 767) {
+ $('ul.navbar-main li ul.dropdown-menu').addClass('dropdown-hover');
+ $('ul.navbar-main li').hover(function() {
+ $(this).find('.dropdown-hover').stop(true, true).delay(400).fadeIn(100);
+ }, function() {
+ $(this).find('.dropdown-hover').stop(true, true).delay(100).fadeOut(200);
+ });
+ } else {
+ $('ul.navbar-main li ul.dropdown-menu').removeClass('dropdown-hover');
+ }
+});
+jQuery(window).resize(function () {
+ if (jQuery(window).width() > 767) {
+ $('ul.navbar-main li ul.dropdown-menu').addClass('dropdown-hover');
+ $('ul.navbar-main li').hover(function() {
+ $(this).find('.dropdown-hover').stop(true, true).delay(400).fadeIn(100);
+ }, function() {
+ $(this).find('.dropdown-hover').stop(true, true).delay(100).fadeOut(200);
+ });
+ } else {
+ $('ul.navbar-main li ul.dropdown-menu').removeClass('dropdown-hover');
+ }
+});
+
+// Remove Search text in smaller browser windows
+jQuery(document).ready(function(){
+ if (jQuery(window).width() < 1050) {
+ $('#search-label').text('');
+ } else {
+ $('#search-label').text('Search');
+ }
+});
+jQuery(window).resize(function () {
+ if (jQuery(window).width() < 1050) {
+ $('#search-label').text('');
+ } else {
+ $('#search-label').text('Search');
+ }
+});
+
+// Show placeholder text in Google Search
+setTimeout( function() {
+ $(".gsc-input").attr("placeholder", "search openstack");
+}, 1000 );
+
+
diff --git a/original-design/js/webui-popover.js b/original-design/js/webui-popover.js
new file mode 100644
index 00000000..b82ed2dc
--- /dev/null
+++ b/original-design/js/webui-popover.js
@@ -0,0 +1,434 @@
+;(function ( $, window, document, undefined ) {
+
+ // Create the defaults once
+ var pluginName = 'webuiPopover';
+ var pluginClass = 'webui-popover';
+ var pluginType = 'webui.popover';
+ var defaults = {
+ placement:'auto',
+ width:'auto',
+ height:'auto',
+ trigger:'click',
+ style:'',
+ delay:300,
+ cache:true,
+ multi:false,
+ arrow:true,
+ title:'',
+ content:'',
+ closeable:false,
+ padding:true,
+ url:'',
+ type:'html',
+ template:'
'+
+ '
'+
+ '
'+
+ '
x '+
+ '
'+
+ '
'+
+ '
'+
+ '
'
+ };
+
+
+ // The actual plugin constructor
+ function WebuiPopover ( element, options ) {
+ this.$element = $(element);
+ this.options = $.extend( {}, defaults, options );
+ this._defaults = defaults;
+ this._name = pluginName;
+ this.init();
+
+ }
+
+ WebuiPopover.prototype = {
+ //init webui popover
+ init: function () {
+ //init the event handlers
+ if (this.options.trigger==='click'){
+ this.$element.off('click').on('click',$.proxy(this.toggle,this));
+ }else{
+ this.$element.off('mouseenter mouseleave')
+ .on('mouseenter',$.proxy(this.mouseenterHandler,this))
+ .on('mouseleave',$.proxy(this.mouseleaveHandler,this));
+ }
+ this._poped = false;
+ this._inited = true;
+ },
+ /* api methods and actions */
+ destroy:function(){
+ this.hide();
+ this.$element.data('plugin_'+pluginName,null);
+ this.$element.off();
+ if (this.$target){
+ this.$target.remove();
+ }
+ },
+ hide:function(event){
+ if (event){
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ var e = $.Event('hide.' + pluginType);
+ this.$element.trigger(e);
+ if (this.$target){this.$target.removeClass('in').hide();}
+ this.$element.trigger('hidden.'+pluginType);
+ },
+ toggle:function(e){
+ if (e) {
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ this[this.getTarget().hasClass('in') ? 'hide' : 'show']();
+ },
+ hideAll:function(){
+ $('div.webui-popover').not('.webui-popover-fixed').removeClass('in').hide();
+ },
+ /*core method ,show popover */
+ show:function(){
+ var
+ $target = this.getTarget().removeClass().addClass(pluginClass);
+ if (!this.options.multi){
+ this.hideAll();
+ }
+ // use cache by default, if not cache setted , reInit the contents
+ if (!this.options.cache||!this._poped){
+ this.setTitle(this.getTitle());
+ if (!this.options.closeable){
+ $target.find('.close').off('click').remove();
+ }
+ if (!this.isAsync()){
+ this.setContent(this.getContent());
+ }else{
+ this.setContentASync(this.options.content);
+ this.displayContent();
+ return;
+ }
+ $target.show();
+ }
+ this.displayContent();
+ this.bindBodyEvents();
+ },
+ displayContent:function(){
+ var
+ //element postion
+ elementPos = this.getElementPosition(),
+ //target postion
+ $target = this.getTarget().removeClass().addClass(pluginClass),
+ //target content
+ $targetContent = this.getContentElement(),
+ //target Width
+ targetWidth = $target[0].offsetWidth,
+ //target Height
+ targetHeight = $target[0].offsetHeight,
+ //placement
+ placement = 'bottom',
+ e = $.Event('show.' + pluginType);
+ //if (this.hasContent()){
+ this.$element.trigger(e);
+ //}
+ if (this.options.width!=='auto') {$target.width(this.options.width);}
+ if (this.options.height!=='auto'){$targetContent.height(this.options.height);}
+
+ //init the popover and insert into the document body
+ if (!this.options.arrow){
+ $target.find('.arrow').remove();
+ }
+ $target.remove().css({ top: -1000, left: -1000, display: 'block' }).appendTo(document.body);
+ targetWidth = $target[0].offsetWidth;
+ targetHeight = $target[0].offsetHeight;
+ placement = this.getPlacement(elementPos,targetHeight);
+ this.initTargetEvents();
+ var postionInfo = this.getTargetPositin(elementPos,placement,targetWidth,targetHeight);
+ this.$target.css(postionInfo.position).addClass(placement).addClass('in');
+
+ if (this.options.type==='iframe'){
+ var $iframe = $target.find('iframe');
+ $iframe.width($target.width()).height($iframe.parent().height());
+ }
+
+ if (this.options.style){
+ this.$target.addClass(pluginClass+'-'+this.options.style);
+ }
+
+ if (!this.options.padding){
+ $targetContent.css('height',$targetContent.outerHeight());
+ this.$target.addClass('webui-no-padding');
+ }
+ if (!this.options.arrow){
+ this.$target.css({'margin':0});
+ }
+ if (this.options.arrow){
+ var $arrow = this.$target.find('.arrow');
+ $arrow.removeAttr('style');
+ if (postionInfo.arrowOffset){
+ $arrow.css(postionInfo.arrowOffset);
+ }
+ }
+ this._poped = true;
+ this.$element.trigger('shown.'+pluginType);
+
+ },
+
+ isTargetLoaded:function(){
+ return this.getTarget().find('i.glyphicon-refresh').length===0;
+ },
+
+ /*getter setters */
+ getTarget:function(){
+ if (!this.$target){
+ this.$target = $(this.options.template);
+ }
+ return this.$target;
+ },
+ getTitleElement:function(){
+ return this.getTarget().find('.'+pluginClass+'-title');
+ },
+ getContentElement:function(){
+ return this.getTarget().find('.'+pluginClass+'-content');
+ },
+ getTitle:function(){
+ return this.options.title||this.$element.attr('data-title')||this.$element.attr('title');
+ },
+ setTitle:function(title){
+ var $titleEl = this.getTitleElement();
+ if (title){
+ $titleEl.html(title);
+ }else{
+ $titleEl.remove();
+ }
+ },
+ hasContent:function () {
+ return this.getContent();
+ },
+ getContent:function(){
+ if (this.options.url){
+ if (this.options.type==='iframe'){
+ this.content = $('
').attr('src',this.options.url);
+ }
+ }else if (!this.content){
+ var content='';
+ if ($.isFunction(this.options.content)){
+ content = this.options.content.apply(this.$element[0],arguments);
+ }else{
+ content = this.options.content;
+ }
+ this.content = this.$element.attr('data-content')||content;
+ }
+ return this.content;
+ },
+ setContent:function(content){
+ var $target = this.getTarget();
+ this.getContentElement().html(content);
+ this.$target = $target;
+ },
+ isAsync:function(){
+ return this.options.type==='async';
+ },
+ setContentASync:function(content){
+ var that = this;
+ $.ajax({
+ url:this.options.url,
+ type:'GET',
+ cache:this.options.cache,
+ success:function(data){
+ if (content&&$.isFunction(content)){
+ that.content = content.apply(that.$element[0],[data]);
+ }else{
+ that.content = data;
+ }
+ that.setContent(that.content);
+ var $targetContent = that.getContentElement();
+ $targetContent.removeAttr('style');
+ that.displayContent();
+ }
+ });
+ },
+
+ bindBodyEvents:function(){
+ $('body').off('keyup.webui-popover').on('keyup.webui-popover',$.proxy(this.escapeHandler,this));
+ $('body').off('click.webui-popover').on('click.webui-popover',$.proxy(this.bodyClickHandler,this));
+ },
+
+ /* event handlers */
+ mouseenterHandler:function(){
+ var self = this;
+ if (self._timeout){clearTimeout(self._timeout);}
+ if (!self.getTarget().is(':visible')){self.show();}
+ },
+ mouseleaveHandler:function(){
+ var self = this;
+ //key point, set the _timeout then use clearTimeout when mouse leave
+ self._timeout = setTimeout(function(){
+ self.hide();
+ },self.options.delay);
+ },
+ escapeHandler:function(e){
+ if (e.keyCode===27){
+ this.hideAll();
+ }
+ },
+ bodyClickHandler:function(){
+ this.hideAll();
+ },
+
+ targetClickHandler:function(e){
+ e.stopPropagation();
+ },
+
+ //reset and init the target events;
+ initTargetEvents:function(){
+ if (this.options.trigger!=='click'){
+ this.$target.off('mouseenter mouseleave')
+ .on('mouseenter',$.proxy(this.mouseenterHandler,this))
+ .on('mouseleave',$.proxy(this.mouseleaveHandler,this));
+ }
+ this.$target.find('.close').off('click').on('click', $.proxy(this.hide,this));
+ this.$target.off('click.webui-popover').on('click.webui-popover',$.proxy(this.targetClickHandler,this));
+ },
+ /* utils methods */
+ //caculate placement of the popover
+ getPlacement:function(pos,targetHeight){
+ var
+ placement,
+ de = document.documentElement,
+ db = document.body,
+ clientWidth = de.clientWidth,
+ clientHeight = de.clientHeight,
+ scrollTop = Math.max(db.scrollTop,de.scrollTop),
+ scrollLeft = Math.max(db.scrollLeft,de.scrollLeft),
+ pageX = Math.max(0,pos.left - scrollLeft),
+ pageY = Math.max(0,pos.top - scrollTop),
+ arrowSize = 20;
+
+ //if placement equals auto,caculate the placement by element information;
+ if (typeof(this.options.placement)==='function'){
+ placement = this.options.placement.call(this, this.getTarget()[0], this.$element[0]);
+ }else{
+ placement = this.$element.data('placement')||this.options.placement;
+ }
+
+ if (placement==='auto'){
+ if (pageX
targetHeight+arrowSize?'top-right':'bottom-right';
+ }else if (pageXtargetHeight+arrowSize?'top-left':'bottom-left';
+ if (pageY
+
+
+
+
+
+
+
+
+
+
+ Docs - Search View | OpenStack Open Source Cloud Computing Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Marketplace
+
+
+
+
+
+
+
+
+
+
+
+
+ Blog
+
+
+
+
+
+ Docs
+
+
+
+
+
+ Sign In
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Search Results: Object Storage
+
+ About 7,150 results (0.31 seconds)
+
+
+
+
May 10, 2014 This reference is for software developers who develop applications by using the OpenStack™ Object Storage Application Programming ...
+
docs.openstack.org
+
+
+
+
May 10, 2014 This reference is for software developers who develop applications by using the OpenStack™ Object Storage Application Programming ...
+
docs.openstack.org
+
+
+
+
May 10, 2014 This reference is for software developers who develop applications by using the OpenStack™ Object Storage Application Programming ...
+
docs.openstack.org
+
+
+
+
May 10, 2014 This reference is for software developers who develop applications by using the OpenStack™ Object Storage Application Programming ...
+
docs.openstack.org
+
+
+
+
May 10, 2014 This reference is for software developers who develop applications by using the OpenStack™ Object Storage Application Programming ...
+
docs.openstack.org
+
+
+
+
May 10, 2014 This reference is for software developers who develop applications by using the OpenStack™ Object Storage Application Programming ...
+
docs.openstack.org
+
+
+
+
May 10, 2014 This reference is for software developers who develop applications by using the OpenStack™ Object Storage Application Programming ...
+
docs.openstack.org
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file