diff options
Diffstat (limited to 'app/views/projects/blob/_viewer.html.haml')
-rw-r--r-- | app/views/projects/blob/_viewer.html.haml | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/app/views/projects/blob/_viewer.html.haml b/app/views/projects/blob/_viewer.html.haml index 19f1d1251ae..e0cfe39d1ec 100644 --- a/app/views/projects/blob/_viewer.html.haml +++ b/app/views/projects/blob/_viewer.html.haml @@ -1,5 +1,14 @@ -- if error = viewer.render_error(override_max_size: params[:override_max_size]) - = render 'projects/blob/render_error', viewer: viewer, error: error -- else - - viewer.prepare! - = render viewer.partial_path, viewer: viewer +- hidden = local_assigns.fetch(:hidden, false) +- render_error = viewer.render_error(override_max_size: params[:override_max_size]) +- load_asynchronously = local_assigns.fetch(:load_asynchronously, viewer.server_side?) && render_error.nil? + +- url = url_for(params.merge(viewer: viewer.type, format: :json)) if load_asynchronously +.blob-viewer{ data: { type: viewer.type, url: url }, class: ('hidden' if hidden) } + - if load_asynchronously + .text-center.prepend-top-default.append-bottom-default + = icon('spinner spin 2x', 'aria-hidden' => 'true', 'aria-label' => 'Loading content') + - elsif render_error + = render 'projects/blob/render_error', viewer: viewer, error: render_error + - else + - viewer.prepare! + = render viewer.partial_path, viewer: viewer |