fb_components.mako 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. ## Licensed to Cloudera, Inc. under one
  2. ## or more contributor license agreements. See the NOTICE file
  3. ## distributed with this work for additional information
  4. ## regarding copyright ownership. Cloudera, Inc. licenses this file
  5. ## to you under the Apache License, Version 2.0 (the
  6. ## "License"); you may not use this file except in compliance
  7. ## with the License. You may obtain a copy of the License at
  8. ##
  9. ## http://www.apache.org/licenses/LICENSE-2.0
  10. ##
  11. ## Unless required by applicable law or agreed to in writing, software
  12. ## distributed under the License is distributed on an "AS IS" BASIS,
  13. ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. ## See the License for the specific language governing permissions and
  15. ## limitations under the License.
  16. <%!
  17. import datetime
  18. from django.template.defaultfilters import urlencode, stringformat, date, filesizeformat, time
  19. from django.utils.translation import ugettext as _
  20. from aws import get_client
  21. %>
  22. <%def name="breadcrumbs(path, breadcrumbs, from_listdir=False, is_embeddable=False)">
  23. % if from_listdir:
  24. <ul class="nav nav-pills hueBreadcrumbBar">
  25. %if path.lower().find('s3a://') == 0:
  26. <li style="padding-top: 10px">
  27. <span class="homeLink" title="${ _('S3 region %s') % get_client()._region }">
  28. <i class="fa fa-fw fa-cubes"></i> ${ get_client()._region }
  29. </span>
  30. </li>
  31. %else:
  32. <li><a class="pointer homeLink" data-bind="click: $root.openHome, attr:{'href': '${url('filebrowser.views.view', path=urlencode(path))}?default_to_home'}"><i class="fa fa-home"></i> ${_('Home')}</a></li>
  33. %endif
  34. <li>
  35. <ul id="editBreadcrumb" class="hueBreadcrumb editable-breadcrumbs" data-bind="foreach: breadcrumbs" style="padding-right:40px; padding-top: 12px" title="${_('Edit path')}">
  36. <li data-bind="visible: label.slice(-1) == '/'"><a data-bind="click: show, attr:{'href': '${url('filebrowser.views.view', path=urlencode(''))}' + url}"><span class="divider" data-bind="text: label"></span></a></li>
  37. <li data-bind="visible: label.slice(-1) != '/'"><a data-bind="text: label, click: show, attr:{'href': '${url('filebrowser.views.view', path=urlencode(''))}' + url}"></a><span class="divider">/</span></li>
  38. </ul>
  39. <input id="hueBreadcrumbText" type="text" style="display:none" data-bind="value: currentPath" autocomplete="off" />
  40. </li>
  41. % if is_trash_enabled:
  42. <li class="pull-right">
  43. <a class="pointer trashLink" data-bind="click: $root.openTrash, attr:{'href': '${url('filebrowser.views.view', path=urlencode(path))}?default_to_trash'}" title="${_('View trash')}">
  44. <i class="fa fa-trash-o"></i> ${_('Trash')}
  45. </a>
  46. </li>
  47. % endif
  48. <li class="pull-right">
  49. <div class="dropdown history">
  50. <a href="javascript:void(0)" class="historyLink dropdown-toggle" title="${_('View History')}" data-toggle="dropdown" id="historyDropdown">
  51. <i class="fa fa-caret-down"></i> ${_('History')}
  52. </a>
  53. </div>
  54. </li>
  55. </ul>
  56. % else:
  57. <ul class="nav nav-pills hueBreadcrumbBar">
  58. %if is_embeddable:
  59. <li><a href="javascript:void(0)" onclick="huePubSub.publish('open.link', '${url('filebrowser.views.view', path=urlencode(path))}?default_to_home')" class="homeLink"><i class="fa fa-home"></i> ${_('Home')}</a></li>
  60. <li>
  61. <ul class="hueBreadcrumb" style="padding-right:40px; padding-top: 12px">
  62. % for breadcrumb_item in breadcrumbs:
  63. <% label, f_url = breadcrumb_item['label'], breadcrumb_item['url'] %>
  64. %if label[-1] == '/':
  65. <li><a href="javascript:void(0)" onclick="huePubSub.publish('open.fb.folder', '${f_url}')"><span class="divider">${label}</span></a></li>
  66. %else:
  67. <li><a href="javascript:void(0)" onclick="huePubSub.publish('open.fb.folder', '${f_url}')">${label}</a><span class="divider">/</span></li>
  68. %endif
  69. % endfor
  70. </ul>
  71. </li>
  72. %else:
  73. <li><a href="${url('filebrowser.views.view', path=urlencode(path))}?default_to_home" class="homeLink"><i class="fa fa-home"></i> ${_('Home')}</a></li>
  74. <li>
  75. <ul class="hueBreadcrumb" style="padding-right:40px; padding-top: 12px">
  76. % for breadcrumb_item in breadcrumbs:
  77. <% label, f_url = breadcrumb_item['label'], breadcrumb_item['url'] %>
  78. %if label[-1] == '/':
  79. <li><a href="${url('filebrowser.views.view', path=f_url)}"><span class="divider">${label}</span></a></li>
  80. %else:
  81. <li><a href="${url('filebrowser.views.view', path=f_url)}">${label}</a><span class="divider">/</span></li>
  82. %endif
  83. % endfor
  84. </ul>
  85. </li>
  86. %endif
  87. </ul>
  88. % endif
  89. </%def>
  90. <%def name="menubar()">
  91. <div class="navbar hue-title-bar nokids">
  92. <div class="navbar-inner">
  93. <div class="container-fluid">
  94. <div class="nav-collapse">
  95. <ul class="nav">
  96. <li class="app-header">
  97. <a href="/${app_name}">
  98. <img src="${ static('filebrowser/art/icon_filebrowser_48.png') }" class="app-icon" alt="${ _('File browser icon') }" />
  99. ${ _('File Browser') }
  100. </a>
  101. </li>
  102. </ul>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. </%def>