blob: fb0936b274bd5aed78ea3087622a4446f2ba4e1e [file] [log] [blame]
// Copyright 2012 Google Inc. All Rights Reserved.
//
// Licensed 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.
{namespace gitiles}
import * as common from 'com/google/gitiles/templates/Common.soy';
import * as objDetail from 'com/google/gitiles/templates/ObjectDetail.soy';
/**
* Detail page for a path within a tree.
*/
{template pathDetail stricthtml="false"}
{@param title: ?} /** human-readable name of this path. */
{@param repositoryName: ?} /** name of this repository. */
{@param? menuEntries: ?} /** menu entries. */
{@param? customVariant: ?} /** variant name for custom styling. */
{@param breadcrumbs: ?} /** breadcrumbs for this page. */
{@param type: ?} /** path type, matching one of the constant names defined in
org.eclipse.jgit.lib.FileMode. */
{@param data: ?} /** path data, matching the params for one of .treeDetail, .blobDetail,
.symlinkDetail, or .gitlinkDetail as appropriate. */
{@inject staticUrls: ?}
{if $type == 'REGULAR_FILE' or $type == 'EXECUTABLE_FILE'}
{call common.header data="all"}
{param css: [$staticUrls.PRETTIFY_CSS_URL] /}
{/call}
{elseif $data.readmeHtml}
{call common.header data="all"}
{param css: [$staticUrls.DOC_CSS_URL, $staticUrls.PRETTIFY_CSS_URL] /}
{/call}
{else}
{call common.header data="all" /}
{/if}
{switch $type}
{case 'TREE'}
{call objDetail.treeDetail data="$data" /}
{case 'SYMLINK'}
{call symlinkDetail data="$data" /}
{case 'REGULAR_FILE'}
{call objDetail.blobDetail data="$data" /}
{case 'EXECUTABLE_FILE'}
{call objDetail.blobDetail data="$data" /}
{case 'GITLINK'}
{call gitlinkDetail data="$data" /}
{default}
<div class="error">
{msg desc="Error message for an unknown object type"}Object has unknown type.{/msg}
</div>
{/switch}
{call common.footer}
{param customVariant: $customVariant /}
{/call}
{/template}
/**
* Detail for a symbolic link.
*/
{template symlinkDetail}
{@param target: ?} /** target of this symlink. */
{@param? targetUrl: ?} /** optional URL for the target, if it is within this repo. */
<div class="symlink-detail">
{msg desc="Lead-in text for the symbolic link target."}Symbolic link to{/msg}
{sp}{if $targetUrl}<a href="{$targetUrl}">{$target}</a>{else}{$target}{/if}
</div>
{/template}
/**
* Detail for a git submodule link.
*/
{template gitlinkDetail}
{@param sha: ?} /** submodule commit SHA. */
{@param remoteUrl: ?} /** URL of the remote repository. */
{@param? httpUrl: ?} /** optional HTTP URL pointing to a web-browser-compatible URL of the remote
repository. */
<div class="gitlink-detail">
{msg desc="Lead-in text for the git link URL"}Submodule link to {$sha} of{/msg}
{if $remoteUrl}
{sp}{if $httpUrl}<a href="{$httpUrl}">{$remoteUrl}</a>{else}{$remoteUrl}{/if}
{else}
{sp}{msg desc="Text describing an unknown submodule URL"}a submodule with an unknown URL{/msg}
{/if}
</div>
{/template}