diff options
Diffstat (limited to 'web/src/actions/build.js')
-rw-r--r-- | web/src/actions/build.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/web/src/actions/build.js b/web/src/actions/build.js index 69a8e3a23..c61aa8189 100644 --- a/web/src/actions/build.js +++ b/web/src/actions/build.js @@ -56,6 +56,33 @@ export const requestBuildOutput = () => ({ }) // job-output processing functions +export function renderTree(tenant, build, path, obj, textRenderer, defaultRenderer) { + const node = {} + let name = obj.name + + if ('children' in obj && obj.children) { + node.nodes = obj.children.map( + n => renderTree(tenant, build, path+obj.name+'/', n, + textRenderer, defaultRenderer)) + } + if (obj.mimetype === 'application/directory') { + name = obj.name + '/' + } else { + node.icon = 'fa fa-file-o' + } + + let log_url = build.log_url + if (log_url.endsWith('/')) { + log_url = log_url.slice(0, -1) + } + if (obj.mimetype === 'text/plain') { + node.text = textRenderer(tenant, build, path, name, log_url, obj) + } else { + node.text = defaultRenderer(log_url, path, name, obj) + } + return node +} + export function didTaskFail(task) { if (task.failed) { return true |