mirror of https://github.com/portainer/portainer
48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
export function NodeViewModel(data) {
|
|
this.Model = data;
|
|
this.Id = data.ID;
|
|
this.Version = data.Version.Index;
|
|
this.Name = data.Spec.Name;
|
|
this.Role = data.Spec.Role;
|
|
this.CreatedAt = data.CreatedAt;
|
|
this.UpdatedAt = data.UpdatedAt;
|
|
this.Availability = data.Spec.Availability;
|
|
|
|
var labels = data.Spec.Labels;
|
|
if (labels) {
|
|
this.Labels = Object.keys(labels).map(function (key) {
|
|
return { key: key, value: labels[key], originalKey: key, originalValue: labels[key], added: true };
|
|
});
|
|
} else {
|
|
this.Labels = [];
|
|
}
|
|
|
|
var engineLabels = data.Description.Engine.Labels;
|
|
if (engineLabels) {
|
|
this.EngineLabels = Object.keys(engineLabels).map(function (key) {
|
|
return { key: key, value: engineLabels[key] };
|
|
});
|
|
} else {
|
|
this.EngineLabels = [];
|
|
}
|
|
|
|
this.Hostname = data.Description.Hostname;
|
|
this.PlatformArchitecture = data.Description.Platform.Architecture;
|
|
this.PlatformOS = data.Description.Platform.OS;
|
|
this.CPUs = data.Description.Resources.NanoCPUs;
|
|
this.Memory = data.Description.Resources.MemoryBytes;
|
|
this.EngineVersion = data.Description.Engine.EngineVersion;
|
|
this.Plugins = data.Description.Engine.Plugins;
|
|
this.Status = data.Status.State;
|
|
|
|
if (data.Status.Addr) {
|
|
this.Addr = data.Status.Addr;
|
|
}
|
|
|
|
if (data.ManagerStatus) {
|
|
this.Leader = data.ManagerStatus.Leader;
|
|
this.Reachability = data.ManagerStatus.Reachability;
|
|
this.ManagerAddr = data.ManagerStatus.Addr;
|
|
}
|
|
}
|