Fix display issues on service links

also fixed rerender issue for form-network component when transisioning
to a new service from a service via the links
This commit is contained in:
Westly Wright 2017-09-06 10:34:58 -07:00
parent 41a9f322af
commit 8e886ddc16
No known key found for this signature in database
GPG Key ID: 4FAB3D8673DC54A3
5 changed files with 45 additions and 38 deletions

View File

@ -1,22 +1,8 @@
{{~#link-to 'service' link.service.stackId link.service.id~}}
{{~#if (eq link.service.name link.name)~}}
{{t (if (eq link.service.stackId stackId) 'serviceLink.noAlias.sameStack' 'serviceLink.noAlias.differentStack')
stack=link.service.displayStack
service=link.service.displayName
alias=link.name
}}
{{~else~}}
{{~#if link.name~}}
{{t (if (eq link.service.stackId stackId) 'serviceLink.withAlias.sameStack' 'serviceLink.withAlias.differentStack')
stack=link.service.displayStack
service=link.service.displayName
alias=link.name
}}
{{~else~}}
{{t (if (eq link.service.stackId stackId) 'serviceLink.noAlias.sameStack' 'serviceLink.noAlias.differentStack')
stack=link.service.displayStack
service=link.service.displayName
}}
{{~/if~}}
{{~/if~}}
{{/link-to}}
{{#if link.service}}
{{#link-to 'service' link.service.accountId link.service.id}}{{link.name}}{{/link-to}}
{{else}}
{{link.name}}
{{/if}}
{{#if link.alias}}
{{t 'generic.as'}} {{link.alias}}
{{/if}}

View File

@ -165,7 +165,7 @@ export default Ember.Component.extend(ManageLabels, ContainerChoices,{
this.removeLabel(C.LABEL.HOSTNAME_OVERRIDE);
}
if ( val !== 'custom' ) {
if ( val !== 'custom' && this.get('instance.hostname')) {
this.set('instance.hostname', null);
}

View File

@ -3,9 +3,10 @@ import Ember from 'ember';
export default Ember.Controller.extend({
application: Ember.inject.controller(),
projects: Ember.inject.service(),
allServices: Ember.inject.service(),
service: Ember.computed.alias('model.service'),
rules: Ember.computed.alias('service.lbConfig.portRules'),
service: Ember.computed.oneWay('model.service'),
rules: Ember.computed.oneWay('service.lbConfig.portRules'),
sortBy: 'priority',
fixedLaunchConfig: null,
@ -99,4 +100,24 @@ export default Ember.Controller.extend({
this.transitionToRoute(transitionTo, service.get('id'));
}
},
serviceLinksNamed: Ember.computed('service.serviceLinks.[]', function() {
let as = this.get('allServices');
( this.get('service.serviceLinks') || []).forEach((link) => {
if (link) {
let matching = as.matching(link.name, this.get('model.stack'));
if (matching) {
link.setProperties({
service: matching
})
}
}
return link;
});
return this.get('service.serviceLinks');
})
});

View File

@ -146,13 +146,13 @@
expandAll=al.expandAll
expand=(action expandFn)
}}
{{service-log model=model.service}}
{{service-log model=service}}
{{/accordion-list-item}}
{{container/form-scheduling
initialHostId=activeLaunchConfig.requestedHostId
initialLabels=activeLaunchConfig.labels
isGlobal=model.service.isGlobalScale
isGlobal=service.isGlobalScale
allHosts=model.hosts
editing=false
expandAll=al.expandAll
@ -171,8 +171,8 @@
expand=(action expandFn)
}}
<ul class="list-unstyled list-inline with-room">
{{#each service.serviceLinks as |link|}}
<li>{{consumed-service-link link=link stackId=service.stackId}}</li>
{{#each serviceLinksNamed as |link|}}
<li>{{consumed-service-link link=link stackId=service.stackId service=service}}</li>
{{else}}
<li class="text-muted text-center">{{t 'servicePage.linksTab.noData'}}</li>
{{/each}}
@ -182,7 +182,7 @@
{{#if model.service.canUpgrade}}
{{container/form-upgrade
service=model.service
service=service
editing=false
errors=upgradeErrors
isUpgrade=isUpgrade
@ -310,7 +310,7 @@
{{#if service.canChangeNetworking}}
{{container/form-networking
editing=false
instance=model.service
instance=service
initialLabels=activeLaunchConfig.labels
expandAll=al.expandAll
expandFn=expandFn
@ -339,7 +339,7 @@
{{#if service.isBalancer}}
{{form-stickiness
initialLabels=activeLaunchConfig.labels
service=model.service
service=service
editing=false
expandAll=al.expandAll
expandFn=expandFn

View File

@ -60,16 +60,16 @@ export default Ember.Service.extend({
return this.get('_allServices').findBy('id',id);
},
matching(serviceOrCombined, defaultStack) {
if ( defaultStack && typeof defaultStack === 'object' ) {
defaultStack = Ember.get(defaultStack,'name');
matching(serviceOrCombinedName, defaultStackObj) {
if ( defaultStackObj && typeof defaultStackObj === 'object' ) {
defaultStackObj = Ember.get(defaultStackObj,'name');
}
let combined;
if ( defaultStack && !serviceOrCombined.includes('/') ) {
combined = defaultStack + '/' + serviceOrCombined;
if ( defaultStackObj && !serviceOrCombinedName.includes('/') ) {
combined = defaultStackObj + '/' + serviceOrCombinedName;
} else {
combined = serviceOrCombined;
combined = serviceOrCombinedName;
}
let match = this.get('list').findBy('combined', combined);