1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * 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.
- */
- var App = require('app');
- App.MainHostServiceConfigsController = App.MainServiceInfoConfigsController.extend({
- name: 'mainHostServiceConfigsController',
- host: null,
- isHostsConfigsPage: true,
- typeTagToHostMap: null,
- configKeyToConfigMap: null,
- /**
- * On load function
- */
- loadStep: function () {
- var content = this.get('content');
- this.set('host', content.host);
- this._super();
- },
- /**
- * Removes categories which are not valid for this host. Ex: Remove JOBTRACKER
- * category on host which does not have it installed.
- */
- renderServiceConfigs: function (serviceConfigs) {
- var newServiceConfigs = jQuery.extend({}, serviceConfigs);
- newServiceConfigs.configCategories = this.filterServiceConfigs(serviceConfigs.configCategories);
- this._super(newServiceConfigs);
- },
- /**
- * filter config categories by host-component of host
- * @param configCategories
- * @return {Array}
- */
- filterServiceConfigs: function (configCategories) {
- var hostComponents = this.get('host.hostComponents');
- var hostHostComponentNames = (hostComponents) ? hostComponents.mapProperty('componentName') : [];
- return configCategories.filter(function (category) {
- var hcNames = category.get('hostComponentNames');
- if (hcNames && hcNames.length > 0) {
- for (var i = 0, l = hcNames.length; i < l; i++) {
- if (hostHostComponentNames.contains(hcNames[i])) {
- return true;
- }
- }
- return false;
- }
- return true;
- });
- },
- /**
- * invoke dialog for switching group of host
- */
- switchHostGroup: function () {
- var self = this;
- App.config.launchSwitchConfigGroupOfHostDialog(this.get('selectedConfigGroup'), this.get('configGroups'), this.get('host.hostName'), function (newGroup) {
- self.set('selectedConfigGroup', newGroup);
- });
- }
- });
|