import i18n from 'i18n'; import React from 'react'; import models from 'models'; import {backboneMixin} from 'component_mixins'; import NodeListScreen from 'views/cluster_page_tabs/nodes_tab_screens/node_list_screen'; var EquipmentPage, PluginLinks; EquipmentPage = React.createClass({ mixins: [backboneMixin('nodes')], statics: { title: i18n('equipment_page.title'), navbarActiveElement: 'equipment', breadcrumbsPath: [['home', '#'], 'equipment'], fetchData() { var nodes = new models.Nodes(); var clusters = new models.Clusters(); var plugins = new models.Plugins(); var nodeNetworkGroups = new models.NodeNetworkGroups(); var {releases, fuelSettings} = app; return $.when( nodes.fetch(), clusters.fetch(), nodeNetworkGroups.fetch(), releases.fetch({cache: true}), fuelSettings.fetch({cache: true}), plugins.fetch() ).then(() => { clusters.each( (cluster) => cluster.set({ release: releases.get(cluster.get('release_id'))
import models from 'models'; import dispatcher from 'dispatcher'; import {backboneMixin, pollingMixin} from 'component_mixins'; import CreateClusterWizard from 'views/wizard'; import {Link} from 'views/controls'; var ClustersPage, ClusterList, Cluster; ClustersPage = React.createClass({ statics: { title: i18n('clusters_page.title'), navbarActiveElement: 'clusters', breadcrumbsPath: [['home', '/'], 'environments'], fetchData() { var clusters = new models.Clusters(); var nodes = new models.Nodes(); var tasks = new models.Tasks(); return Promise.all([clusters.fetch(), nodes.fetch(), tasks.fetch()]) .then(() => { clusters.each((cluster) => { cluster.set('nodes', new models.Nodes(nodes.filter({cluster: cluster.id}))); cluster.set('tasks', new models.Tasks(tasks.filter({cluster: cluster.id}))); }); return ({clusters}); }); } }, render() { return ( <div className='clusters-page'>
* 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. **/ import $ from 'jquery'; import _ from 'underscore'; import React from 'react'; import models from 'models'; import NodeListScreen from 'views/cluster_page_tabs/nodes_tab_screens/node_list_screen'; var AddNodesScreen = React.createClass({ statics: { fetchData(options) { var nodes = new models.Nodes(); nodes.fetch = function(options) { return this.constructor.__super__.fetch.call(this, _.extend({data: {cluster_id: ''}}, options)); }; return $.when(nodes.fetch(), options.cluster.get('roles').fetch(), options.cluster.get('settings').fetch({cache: true})).then(() => ({nodes: nodes})); } }, render() { return <NodeListScreen {... _.omit(this.props, 'screenOptions')} ref='screen' mode='add' roles={this.props.cluster.get('roles')} nodeNetworkGroups={this.props.cluster.get('nodeNetworkGroups')} sorters={_.without(models.Nodes.prototype.sorters, 'cluster', 'roles', 'group_id')}