ui/app/models/port.js

43 lines
957 B
JavaScript

import Resource from 'ember-api-store/models/resource';
var Port = Resource.extend({
_publicIp: null,
_publicIpState: null,
displayPublicIp: function() {
var bind = this.get('bindAddress');
if ( bind )
{
return bind;
}
else if ( !this.get('publicPort') )
{
return null;
}
var ip = this.get('_publicIp');
if ( ip )
{
return ip;
}
else if ( this.get('_publicIpState') === 2 )
{
return '(Unknown IP)';
}
else if ( !this.get('_publicIpState') )
{
this.set('_publicIpState', 1);
this.get('store').find('ipaddress', this.get('publicIpAddressId')).then((ip) => {
this.set('_publicIp', ip.get('address'));
}).finally(() => {
this.set('_publicIpState', 2);
});
return 'Loading...';
}
return null;
}.property('_publicIpState','_publicIp','publicIpAddressId','bindAddress','publicPort'),
});
export default Port;