mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Licensed to the Apache Software Foundation (ASF) under one
 | |
| // or more contributor license agreements.  See the NOTICE file
 | |
| // distributed with this work for additional information
 | |
| // regarding copyright ownership.  The ASF licenses this file
 | |
| // to you under the Apache License, Version 2.0 (the
 | |
| // "License"); you may not use this file except in compliance
 | |
| // with the License.  You may obtain a copy of the License at
 | |
| //
 | |
| //   http://www.apache.org/licenses/LICENSE-2.0
 | |
| //
 | |
| // Unless required by applicable law or agreed to in writing,
 | |
| // software distributed under the License is distributed on an
 | |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 | |
| // KIND, either express or implied.  See the License for the
 | |
| // specific language governing permissions and limitations
 | |
| // under the License.
 | |
| 
 | |
| (function($, cloudStack) {
 | |
|   $(window).bind('cloudStack.ready', function() {
 | |
|     var $header = $('#header .controls');
 | |
|     var $projectSwitcher = $('<div>').addClass('project-switcher');
 | |
|     var $projectSelect = $('<select>').append(
 | |
|       $('<option>').attr('value', '-1').html(_l('Default view'))
 | |
|     );
 | |
|     var $label = $('<label>').html('Project:');
 | |
| 
 | |
|     // Get project list
 | |
|     cloudStack.projects.dataProvider({
 | |
|       context: cloudStack.context,
 | |
|       response: {
 | |
|         success: function(args) {
 | |
|           var projects = args.data;
 | |
| 
 | |
|           $(projects).map(function(index, project) {
 | |
|             var $option = $('<option>').val(project.id);
 | |
| 
 | |
|             $option.html(project.displaytext ? project.displaytext : project.name);
 | |
|             $option.appendTo($projectSelect);
 | |
|           });
 | |
|         },
 | |
|         error: function() {}
 | |
|       }
 | |
|     });
 | |
| 
 | |
|     $projectSwitcher.append($label, $projectSelect);
 | |
|     $projectSwitcher.insertBefore($header.find('.region-switcher'));
 | |
| 
 | |
|     // Change project event
 | |
|     $projectSelect.change(function() {
 | |
|       var projectID = $projectSelect.val();
 | |
| 
 | |
|       if (projectID != -1) {
 | |
|         cloudStack.context.projects = [{
 | |
|           id: projectID
 | |
|         }];
 | |
| 
 | |
|         cloudStack.uiCustom.projects({ alreadySelected: true });
 | |
|       } else {
 | |
|         cloudStack.context.projects = null;
 | |
|         $('#cloudStack3-container').removeClass('project-view');
 | |
|         $('#navigation li.dashboard').click();
 | |
|       }
 | |
|     });
 | |
|   });
 | |
| }(jQuery, cloudStack));      
 | |
| 
 |