Fix detail page headers (#790)

This commit is contained in:
Vincent Fiduccia 2016-07-20 13:31:42 -07:00 committed by GitHub
parent cd08839049
commit 37eaefbf33
11 changed files with 52 additions and 113 deletions

View File

@ -89,7 +89,10 @@ export default Ember.Route.extend(Subscribe, {
activate() {
this._super();
this.connectSubscribe();
if ( !this.controllerFor('application').get('isPopup') )
{
this.connectSubscribe();
}
},
deactivate() {

View File

@ -15,7 +15,7 @@
{{/if}}
<span>
{{t step sub=subStep count=subCount}}
{{t step}}{{#if (and subCount (eq currentStep index))}} {{t 'waitOrchestration.count' sub=subStep count=subCount}}{{/if}}
</span>
</li>
{{/each}}

View File

@ -8,18 +8,9 @@
<section>
<div class="container-multi-stat">
<div class="container-flex bordered">
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.type'}}</label> {{model.spec.type}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.cluster'}}</label> {{model.spec.clusterIP}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.balancer'}}</label> {{default-str model.spec.loadBalancerIP default="None"}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.session'}}</label> {{model.spec.sessionAffinity}}</div>
<div class="col-flex">
<label>{{t 'k8sTab.multistat.header.external'}}</label>
{{#each model.spec.externalIPs as |ip index|}}
{{if (eq index 0) '' ','}}{{ip}}
{{else}}
{{t 'generic.none'}}
{{/each}}
</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.created'}}</label> {{date-from-now model.metadata.creationTimestamp}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.generation'}}</label> {{model.displayGeneration}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.replicas'}}</label> {{model.displayReplicas}}</div>
<div class="col-flex">
<label>{{t 'k8sTab.multistat.header.selectors'}}</label>
{{#each model.selectorsAsArray as |sel|}}
@ -32,22 +23,19 @@
</div>
</section>
<section>
<ul class="nav nav-tabs nav-tabs-well shadowed" role="tablist">
<li role="tab" class="tab" data-section="pods" {{action "selectTab" "pods" target="view"}}><a href="#">{{t 'k8sTab.navTabs.pods'}}</a></li>
<li role="tab" class="tab" data-section="labels" {{action "selectTab" "labels" target="view"}}><a href="#">{{t 'k8sTab.navTabs.labels'}}</a></li>
<li role="tab" class="tab" data-section="ports" {{action "selectTab" "ports" target="view"}}><a href="#">{{t 'k8sTab.navTabs.ports'}}</a></li>
{{#select-tab initialTab='replicasets' as |component|}}
<ul class="nav nav-tabs nav-tabs-well shadowed" role="tablist" style="display: inline-block;">
<li role="tab" class="tab" data-section="replicasets" {{action "selectTab" "replicasets" target=component}}><a href="#">{{t 'k8sTab.navTabs.replicasets'}}</a></li>
<li role="tab" class="tab" data-section="labels" {{action "selectTab" "labels" target=component}}><a href="#">{{t 'k8sTab.navTabs.labels'}}</a></li>
</ul>
<div class="horizontal-form well" role="tabpanel">
<div class="section container-fluid" data-section="pods">
<div class="section container-fluid" data-section="replicasets">
{{k8s/pod-section model=model.selectedPods}}
</div>
<div class="section container-fluid" data-section="labels">
{{labels-section model=model labelSource=model.metadata.labels showKind=false sortBy="key"}}
</div>
<div class="section container-fluid" data-section="ports">
{{k8s/service-ports model=model.spec.ports}}
</div>
</div>
</section>
{{/select-tab}}

View File

@ -1,8 +0,0 @@
import Ember from 'ember';
import SelectTab from 'ui/mixins/select-tab';
export default Ember.View.extend(SelectTab, {
didInsertElement() {
this.send('selectTab', 'pods');
},
});

View File

@ -8,7 +8,10 @@
<section>
<div class="container-multi-stat">
<div class="container-flex bordered">
<div class="col-flex"><label>{{t 'k8sTab.namespace.pods.pod.type.header'}}</label> {{model.spec.type}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.phase'}}</label> {{model.status.phase}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.startTime'}}</label> {{date-from-now model.status.startTime}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.host'}}</label> {{model.status.hostIP}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.pod'}}</label> {{model.status.podIP}}</div>
</div>
</div>
</section>
@ -16,11 +19,15 @@
{{#select-tab initialTab='containers' as |component|}}
<ul class="nav nav-tabs nav-tabs-well" role="tablist">
<li role="tab" class="tab" data-section="containers" {{action "selectTab" "containers" target="component"}}><a href="#">{{t 'k8sTab.namespace.pods.pod.navTabs.containers'}}</a></li>
<li role="tab" class="tab" data-section="labels" {{action "selectTab" "labels" target=component}}><a href="#">{{t 'k8sTab.navTabs.labels'}}</a></li>
</ul>
<div class="horizontal-form well nav-well" role="tabpanel">
<div class="section container-fluid" data-section="containers">
{{k8s/container-section model=model.displayContainers}}
</div>
<div class="section container-fluid" data-section="labels">
{{labels-section model=model labelSource=model.metadata.labels showKind=false sortBy="key"}}
</div>
</div>
{{/select-tab}}

View File

@ -8,18 +8,8 @@
<section>
<div class="container-multi-stat">
<div class="container-flex bordered">
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.type'}}</label> {{model.spec.type}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.cluster'}}</label> {{model.spec.clusterIP}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.balancer'}}</label> {{default-str model.spec.loadBalancerIP default="None"}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.session'}}</label> {{model.spec.sessionAffinity}}</div>
<div class="col-flex">
<label>{{t 'k8sTab.multistat.header.external'}}</label>
{{#each model.spec.externalIPs as |ip index|}}
{{if (eq index 0) '' ','}}{{ip}}
{{else}}
{{t 'generic.none'}}
{{/each}}
</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.created'}}</label> {{date-from-now model.metadata.creationTimestamp}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.replicas'}}</label> {{model.displayReplicas}}</div>
<div class="col-flex">
<label>{{t 'k8sTab.multistat.header.selectors'}}</label>
{{#each model.selectorsAsArray as |sel|}}
@ -36,7 +26,6 @@
<ul class="nav nav-tabs nav-tabs-well shadowed" role="tablist" style="display: inline-block;">
<li role="tab" class="tab" data-section="pods" {{action "selectTab" "pods" target=component}}><a href="#">{{t 'k8sTab.navTabs.pods'}}</a></li>
<li role="tab" class="tab" data-section="labels" {{action "selectTab" "labels" target=component}}><a href="#">{{t 'k8sTab.navTabs.labels'}}</a></li>
<li role="tab" class="tab" data-section="ports" {{action "selectTab" "ports" target=component}}><a href="#">{{t 'k8sTab.navTabs.ports'}}</a></li>
</ul>
<div class="horizontal-form well" role="tabpanel">
@ -46,9 +35,6 @@
<div class="section container-fluid" data-section="labels">
{{labels-section model=model labelSource=model.metadata.labels showKind=false sortBy="key"}}
</div>
<div class="section container-fluid" data-section="ports">
{{k8s/service-ports model=model.spec.ports}}
</div>
</div>
{{/select-tab}}

View File

@ -4,6 +4,6 @@ export default Ember.Route.extend({
k8s: Ember.inject.service(),
model(params) {
return this.get('k8s').getRC(params.name);
return this.get('k8s').getReplicaSet(params.name);
}
});

View File

@ -1,5 +1,5 @@
<section class="header">
<h1>{{#link-to "k8s-tab.namespace.rcs"}}{{t 'k8sTab.namespace.rcs.rc.header'}}{{/link-to}} {{model.displayName}}</h1>
<h1>{{#link-to "k8s-tab.namespace.replicasets"}}{{t 'k8sTab.namespace.replicasets.replicaset.header'}}{{/link-to}} {{model.displayName}}</h1>
<div class="pull-right">
{{action-menu model=model}}
</div>
@ -8,18 +8,8 @@
<section>
<div class="container-multi-stat">
<div class="container-flex bordered">
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.type'}}</label> {{model.spec.type}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.cluster'}}</label> {{model.spec.clusterIP}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.balancer'}}</label> {{default-str model.spec.loadBalancerIP default="None"}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.session'}}</label> {{model.spec.sessionAffinity}}</div>
<div class="col-flex">
<label>{{t 'k8sTab.multistat.header.external'}}</label>
{{#each model.spec.externalIPs as |ip index|}}
{{if (eq index 0) '' ','}}{{ip}}
{{else}}
{{t 'generic.none'}}
{{/each}}
</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.created'}}</label> {{date-from-now model.metadata.creationTimestamp}}</div>
<div class="col-flex"><label>{{t 'k8sTab.multistat.header.replicas'}}</label> {{model.displayReplicas}}</div>
<div class="col-flex">
<label>{{t 'k8sTab.multistat.header.selectors'}}</label>
{{#each model.selectorsAsArray as |sel|}}
@ -32,11 +22,10 @@
</div>
</section>
<section>
<ul class="nav nav-tabs nav-tabs-well shadowed" role="tablist">
<li role="tab" class="tab" data-section="pods" {{action "selectTab" "pods" target="view"}}><a href="#">{{t 'k8sTab.navTabs.pods'}}</a></li>
<li role="tab" class="tab" data-section="labels" {{action "selectTab" "labels" target="view"}}><a href="#">{{t 'k8sTab.navTabs.labels'}}</a></li>
<li role="tab" class="tab" data-section="ports" {{action "selectTab" "ports" target="view"}}><a href="#">{{t 'k8sTab.navTabs.ports'}}</a></li>
{{#select-tab initialTab='pods' as |component|}}
<ul class="nav nav-tabs nav-tabs-well shadowed" role="tablist" style="display: inline-block;">
<li role="tab" class="tab" data-section="pods" {{action "selectTab" "pods" target=component}}><a href="#">{{t 'k8sTab.navTabs.pods'}}</a></li>
<li role="tab" class="tab" data-section="labels" {{action "selectTab" "labels" target=component}}><a href="#">{{t 'k8sTab.navTabs.labels'}}</a></li>
</ul>
<div class="horizontal-form well" role="tabpanel">
@ -46,8 +35,5 @@
<div class="section container-fluid" data-section="labels">
{{labels-section model=model labelSource=model.metadata.labels showKind=false sortBy="key"}}
</div>
<div class="section container-fluid" data-section="ports">
{{k8s/service-ports model=model.spec.ports}}
</div>
</div>
</section>
{{/select-tab}}

View File

@ -1,8 +0,0 @@
import Ember from 'ember';
import SelectTab from 'ui/mixins/select-tab';
export default Ember.View.extend(SelectTab, {
didInsertElement() {
this.send('selectTab', 'pods');
},
});

View File

@ -547,29 +547,7 @@ export default Ember.Service.extend({
},
allNamespaces() {
var store = this.get('store');
var type = `${C.K8S.TYPE_PREFIX}namespace`;
var name = 'kube-system';
return this._allCollection('namespace','namespaces').then((namespaces) => {
// kube-system is special and doesn't feel like it needs to come back in a list...
if ( !store.getById(type,name) )
{
store._add(type, store.createRecord({
apiVersion: 'v1',
type: type,
id: name,
metadata: {
name: name,
},
kind: 'Namespace',
spec: {},
}));
}
return namespaces;
});
return this._allCollection('namespace','namespaces');
},
getNamespaces() { return this._getCollection('namespace','namespaces'); },

View File

@ -741,15 +741,23 @@ k8sTab:
multistat:
header:
type: 'Type:'
pod: 'Pod IP:'
host: 'Host IP:'
cluster: 'Cluster IP:'
balancer: 'Balancer IP:'
session: 'Session Affinity:'
external: 'External IPs:'
selectors: 'Selectors'
selectors: 'Selectors:'
replicas: 'Replicas:'
generation: 'Generation:'
phase: 'Phase:'
startTime: 'Started:'
created: 'Created:'
navTabs:
pods: Pods
labels: Labels
pods: Pods
ports: Ports
replicasets: Replica Sets
namespace:
pods:
index:
@ -776,12 +784,8 @@ k8sTab:
index:
header: Replica Sets
linkTo: Add Replica Set
replicaSet:
replicaset:
header: 'Replica Set:'
navTabs:
pods: Pods
labels: Labels
ports: Ports
rcs:
index:
header: Replication Controllers
@ -2801,11 +2805,14 @@ volumeRow:
activeMounts:
readOnly: "(read-only)"
waitOrchestration:
count: '({sub} of {count})'
waitKubernetes:
addHost: 'Add at least one host'
activateHost: 'Waiting for a host to be active'
createStack: 'Creating Kubernetes system stack'
startServices: 'Starting services ({sub} of {count})'
startServices: 'Starting services'
waitApi: 'Waiting for Kubernetes API'
createNamespace: 'Creating Namespace'
@ -2813,14 +2820,14 @@ waitMesos:
addHost: 'Add at least three hosts'
activateHost: 'Waiting for hosts to be active'
createStack: 'Creating Mesos system stack'
startServices: 'Starting services ({sub} of {count})'
startServices: 'Starting services'
waitApi: 'Waiting for leading Mesos Master'
waitSwarm:
addHost: 'Add at least one host'
activateHost: 'Waiting for a host to be active'
createStack: 'Creating Swarm system stack'
startServices: 'Starting services ({sub} of {count})'
startServices: 'Starting services'
##############################
# Mixins