/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * 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 DS from 'ember-data'; import Converter from 'yarn-ui/utils/converter'; export default DS.Model.extend({ allocatedMB: DS.attr('number'), allocatedVCores: DS.attr('number'), assignedNodeId: DS.attr('string'), priority: DS.attr('number'), startedTime: DS.attr('number'), finishedTime: DS.attr('number'), logUrl: DS.attr('string'), containerExitStatus: DS.attr('number'), containerState: DS.attr('string'), nodeHttpAddress: DS.attr('string'), startTs: function() { return Converter.dateToTimeStamp(this.get("startedTime")); }.property("startedTime"), finishedTs: function() { var ts = Converter.dateToTimeStamp(this.get("finishedTime")); return ts; }.property("finishedTime"), validatedFinishedTs: function() { if (this.get("finishedTs") < this.get("startTs")) { return ""; } return this.get("finishedTime"); }.property("finishedTime"), elapsedTime: function() { var elapsedMs = this.get("finishedTs") - this.get("startTs"); if (elapsedMs <= 0) { elapsedMs = Date.now() - this.get("startTs"); } return Converter.msToElapsedTime(elapsedMs); }.property(), tooltipLabel: function() { return "
Id:" + this.get("id") + "
ElapsedTime:" + String(this.get("elapsedTime")) + "
"; }.property(), });