##// END OF EJS Templates
frontend: wrap our legacy js code inside polymer element
frontend: wrap our legacy js code inside polymer element

File last commit:

r883:ae526446 default
r883:ae526446 default
Show More
root.html
173 lines | 7.2 KiB | text/html | HtmlLexer
project: added all source files and assets
r1 ## -*- coding: utf-8 -*-
<!DOCTYPE html>
templateContext: improve the context object idea
r395 <%
c.template_context['repo_name'] = getattr(c, 'repo_name', '')
project: added all source files and assets
r1
templateContext: improve the context object idea
r395 if hasattr(c, 'rhodecode_db_repo'):
c.template_context['repo_type'] = c.rhodecode_db_repo.repo_type
c.template_context['repo_landing_commit'] = c.rhodecode_db_repo.landing_rev[1]
project: added all source files and assets
r1
templateContext: improve the context object idea
r395 if getattr(c, 'rhodecode_user', None) and c.rhodecode_user.user_id:
c.template_context['rhodecode_user']['username'] = c.rhodecode_user.username
c.template_context['rhodecode_user']['email'] = c.rhodecode_user.email
notifications: support real-time notifications with websockets via channelstream
r526 c.template_context['rhodecode_user']['notification_status'] = c.rhodecode_user.get_instance().user_data.get('notification_status', True)
project: added all source files and assets
r1
templateContext: improve the context object idea
r395 c.template_context['visual']['default_renderer'] = h.get_visual_attr(c, 'default_renderer')
%>
project: added all source files and assets
r1 <html xmlns="http://www.w3.org/1999/xhtml">
<head>
frontend: ensure polyfills are loaded as early as possible
r880 <script src="${h.asset('js/vendors/webcomponentsjs/webcomponents-lite.min.js', ver=c.rhodecode_version_hash)}"></script>
<link rel="import" href="${h.asset('js/rhodecode-components.html', ver=c.rhodecode_version_hash)}">
project: added all source files and assets
r1 <title>${self.title()}</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<%def name="robots()">
<meta name="robots" content="index, nofollow"/>
</%def>
${self.robots()}
dan
assets: convert pylons static files to pyramid static_url, fixes #3504
r454 <link rel="icon" href="${h.asset('images/favicon.ico', ver=c.rhodecode_version_hash)}" sizes="16x16 32x32" type="image/png" />
project: added all source files and assets
r1
## CSS definitions
<%def name="css()">
dan
assets: convert pylons static files to pyramid static_url, fixes #3504
r454 <link rel="stylesheet" type="text/css" href="${h.asset('css/style.css', ver=c.rhodecode_version_hash)}" media="screen"/>
project: added all source files and assets
r1 <!--[if lt IE 9]>
dan
assets: convert pylons static files to pyramid static_url, fixes #3504
r454 <link rel="stylesheet" type="text/css" href="${h.asset('css/ie.css', ver=c.rhodecode_version_hash)}" media="screen"/>
project: added all source files and assets
r1 <![endif]-->
## EXTRA FOR CSS
${self.css_extra()}
</%def>
## CSS EXTRA - optionally inject some extra CSS stuff needed for specific websites
<%def name="css_extra()">
</%def>
${self.css()}
## JAVASCRIPT
<%def name="js()">
polymer: initialize as soon as possible
r690 <script>
// setup Polymer options
window.Polymer = {lazyRegister: true, dom: 'shadow'};
grunt: separate js from web components
r730 // Load webcomponentsjs polyfill if browser does not support native Web Components
polymer: initialize as soon as possible
r690 (function() {
grunt: separate js from web components
r730 'use strict';
var onload = function() {
// For native Imports, manually fire WebComponentsReady so user code
// can use the same code path for native and polyfill'd imports.
if (!window.HTMLImports) {
document.dispatchEvent(
new CustomEvent('WebComponentsReady', {bubbles: true})
);
}
};
var webComponentsSupported = (
'registerElement' in document
polymer: initialize as soon as possible
r690 && 'import' in document.createElement('link')
grunt: separate js from web components
r730 && 'content' in document.createElement('template')
);
if (!webComponentsSupported) {
} else {
onload();
polymer: initialize as soon as possible
r690 }
})();
</script>
dan
assets: convert pylons static files to pyramid static_url, fixes #3504
r454 <script src="${h.asset('js/rhodecode/i18n/%s.js' % c.language, ver=c.rhodecode_version_hash)}"></script>
project: added all source files and assets
r1 <script type="text/javascript">
// register templateContext to pass template variables to JS
templateContext: improve the context object idea
r395 var templateContext = ${h.json.dumps(c.template_context)|n};
project: added all source files and assets
r1
var REPO_NAME = "${getattr(c, 'repo_name', '')}";
%if hasattr(c, 'rhodecode_db_repo'):
var REPO_LANDING_REV = '${c.rhodecode_db_repo.landing_rev[1]}';
var REPO_TYPE = '${c.rhodecode_db_repo.repo_type}';
%else:
var REPO_LANDING_REV = '';
var REPO_TYPE = '';
%endif
var APPLICATION_URL = "${h.url('home').rstrip('/')}";
dan
assets: add javascript static file route generator
r464 var ASSET_URL = "${h.asset('')}";
project: added all source files and assets
r1 var DEFAULT_RENDERER = "${h.get_visual_attr(c, 'default_renderer')}";
var CSRF_TOKEN = "${getattr(c, 'csrf_token', '')}";
% if getattr(c, 'rhodecode_user', None):
var USER = {name:'${c.rhodecode_user.username}'};
% else:
var USER = {name:null};
% endif
var APPENLIGHT = {
enabled: ${'true' if getattr(c, 'appenlight_enabled', False) else 'false'},
key: '${getattr(c, "appenlight_api_public_key", "")}',
appenlight client: do not set empty server urls
r528 % if getattr(c, 'appenlight_server_url', None):
serverUrl: '${getattr(c, "appenlight_server_url", "")}',
% endif
project: added all source files and assets
r1 requestInfo: {
% if getattr(c, 'rhodecode_user', None):
ip: '${c.rhodecode_user.ip_addr}',
username: '${c.rhodecode_user.username}'
% endif
appenlight: add basic tags to every request
r878 },
tags: {
rhodecode_version: '${c.rhodecode_version}',
rhodecode_edition: '${c.rhodecode_edition}'
project: added all source files and assets
r1 }
};
</script>
frontend: reorganize how we handle plugins
r764 <%include file="/base/plugins_base.html"/>
project: added all source files and assets
r1 <!--[if lt IE 9]>
dan
assets: convert pylons static files to pyramid static_url, fixes #3504
r454 <script language="javascript" type="text/javascript" src="${h.asset('js/excanvas.min.js')}"></script>
project: added all source files and assets
r1 <![endif]-->
dan
assets: convert pylons static files to pyramid static_url, fixes #3504
r454 <script language="javascript" type="text/javascript" src="${h.asset('js/rhodecode/routes.js', ver=c.rhodecode_version_hash)}"></script>
notifications: move all notifications into polymer for consistency fix #4201
r822 <script> var alertMessagePayloads = ${h.flash.json_alerts()|n}; </script>
static: bring back ver=XXX for proper flushing caches when version is upgraded....
r537 ## avoide escaping the %N
frontend: wrap our legacy js code inside polymer element
r883 <script language="javascript" type="text/javascript" src="${h.asset('js/rhodecode-components.js', ver=c.rhodecode_version_hash)}"></script>
static: bring back ver=XXX for proper flushing caches when version is upgraded....
r537 <script>CodeMirror.modeURL = "${h.asset('') + 'js/mode/%N/%N.js?ver='+c.rhodecode_version_hash}";</script>
project: added all source files and assets
r1
dan
forms: add deform for integration settings forms
r518
project: added all source files and assets
r1 ## JAVASCRIPT EXTRA - optionally inject some extra JS for specificed templates
${self.js_extra()}
<script type="text/javascript">
$(document).ready(function(){
show_more_event();
timeagoActivate();
})
</script>
</%def>
## JAVASCRIPT EXTRA - optionally inject some extra JS for specificed templates
<%def name="js_extra()"></%def>
${self.js()}
<%def name="head_extra()"></%def>
${self.head_extra()}
## extra stuff
%if c.pre_code:
${c.pre_code|n}
%endif
</head>
<body id="body">
<noscript>
<div class="noscript-error">
${_('Please enable JavaScript to use RhodeCode Enterprise')}
</div>
</noscript>
## IE hacks
<!--[if IE 7]>
<script>$(document.body).addClass('ie7')</script>
<![endif]-->
<!--[if IE 8]>
<script>$(document.body).addClass('ie8')</script>
<![endif]-->
<!--[if IE 9]>
<script>$(document.body).addClass('ie9')</script>
<![endif]-->
${next.body()}
%if c.post_code:
${c.post_code|n}
%endif
frontend: introduce rhodecode-app for more complex cross element wiring
r787 <rhodecode-app></rhodecode-app>
project: added all source files and assets
r1 </body>
</html>