diff --git a/src/laminar.cpp b/src/laminar.cpp index 95eb990..37f1dbe 100644 --- a/src/laminar.cpp +++ b/src/laminar.cpp @@ -678,6 +678,11 @@ bool Laminar::tryStartRun(std::shared_ptr run, int queueIndex) { .fetch([&](uint etc){ j.set("etc", time(nullptr) + etc); }); + j.startArray("tags"); + for(const str& t: jobTags[run->name]) { + j.String(t.c_str()); + } + j.EndArray(); j.EndObject(); const char* msg = j.str(); for(LaminarClient* c : clients) { @@ -779,6 +784,11 @@ void Laminar::runFinished(Run * r) { .set("started", r->startedAt) .set("result", to_string(r->result)) .set("reason", r->reason()); + j.startArray("tags"); + for(const str& t: jobTags[r->name]) { + j.String(t.c_str()); + } + j.EndArray(); j.startArray("artifacts"); populateArtifacts(j, r->name, r->build); j.EndArray(); diff --git a/src/resources/index.html b/src/resources/index.html index 756e616..3581c40 100644 --- a/src/resources/index.html +++ b/src/resources/index.html @@ -165,7 +165,7 @@
  • {{t}}
  • - + diff --git a/src/resources/js/app.js b/src/resources/js/app.js index d41d737..5a42183 100644 --- a/src/resources/js/app.js +++ b/src/resources/js/app.js @@ -304,24 +304,6 @@ const Jobs = function() { template: '#jobs', mixins: [WebsocketHandler, Utils, ProgressUpdater], data: function() { return state; }, - computed: { - filteredJobs() { - var ret = this.jobs; - var tag = this.tag; - if (tag) { - ret = ret.filter(function(job) { - return job.tags.indexOf(tag) >= 0; - }); - } - var search = this.search; - if (search) { - ret = ret.filter(function(job) { - return job.name.indexOf(search) > -1; - }); - } - return ret; - } - }, methods: { status: function(msg) { state.jobs = msg.jobs; @@ -347,6 +329,7 @@ const Jobs = function() { }, job_started: function(data) { var updAt = null; + // jobsRunning must be maintained for ProgressUpdater for (var i in state.jobsRunning) { if (state.jobsRunning[i].name === data.name) { updAt = i; @@ -389,7 +372,23 @@ const Jobs = function() { break; } } - } + }, + filteredJobs: function() { + var ret = state.jobs; + var tag = state.tag; + if (tag) { + ret = ret.filter(function(job) { + return job.tags.indexOf(tag) >= 0; + }); + } + var search = this.search; + if (search) { + ret = ret.filter(function(job) { + return job.name.indexOf(search) > -1; + }); + } + return ret; + }, } }; }();
    {{job.name}} #{{job.number}} {{formatDate(job.started)}}