[Notice] Announcing the End of Demo Server [Read me]
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
@**
* Yona, 21st Century Project Hosting SW
*
* Copyright Yona & Yobi Authors & NAVER Corp.
* https://yona.io
**@
@()
@import utils.TemplateHelper._
@import play.mvc.Http.Context
@**<!-- yobi.ui.Dialog -->**@
<div id="yobiDialog" class="modal hide yobiDialog" tabindex="-1" role="dialog" aria-hidden="true">
<div class="btn-dismiss"><button type="button" class="btn-transparent" data-dismiss="modal">×</button></div>
<div class="message">
<div class="center-text">
<p class="msg"></p>
<p class="desc"></p>
</div>
<div class="center-txt buttons">
<button type="button" class="ybtn ybtn-info" data-dismiss="modal">@Messages("button.confirm")</button>
</div>
</div>
</div>
@**<!-- //yobi.ui.Dialog -->**@
@**<!-- yobi.ui.Toast -->**@
<div id="yobiToasts" class="yobiToasts"></div>
<script type="text/x-jquery-tmpl" id="tplYobiToast">
<div class="toast" tabindex="-1">
<div class="btn-dismiss"><button type="button" class="btn-transparent">×</button></div>
<div class="center-text">
<span class="v"></span>
<div class="msg"></div>
</div>
</div>
</script>
@**<!-- //yobi.ui.Toast -->**@
@if(UserApp.currentUser.isAnonymous){
@common.loginDialog()
}
<script type="text/javascript" src="@routes.Application.jsMessages()"></script>
<script type="text/javascript" src="@routes.Assets.at("javascripts/yona-common.js")"></script>
<script type="text/javascript" src="@routes.Assets.at("bootstrap/js/bootstrap-better-typeahead.js")"></script>
<script type="text/javascript" src="@routes.Assets.at("bootstrap/js/bootstrap-switch.js")"></script>
<script type="text/javascript" src="@routes.Assets.at("javascripts/yona-lib.js")"></script>
<script type="text/javascript" src="@routes.Assets.at("javascripts/lib/autosize/autosize.min.js")"></script>
<script type="text/javascript" src="@routes.Assets.at("javascripts/common/yona.KeyControl.js")"></script>
<script type="text/javascript">
$yobi.setScriptPath("@getJSPath");
$(document).ready(function(){
// tooltip
$(document.body).on("mouseenter", "[data-toggle=tooltip]", function(){
$(this).tooltip("show");
});
// jquery.placeholder plugin initiator
$('input[type=text], textarea').placeholder();
// current language set!
if (typeof window.moment == "function" && typeof window.moment.lang == "function") {
moment.lang("@implicitJavaLang.language");
}
// yobi.Dropdown
var sActivation;
$(".btn-group[data-name]").each(function(i, el){
sActivation = $(el).attr("data-activate");
if(typeof sActivation == "undefined" || sActivation != "manual"){
(new yobi.ui.Dropdown({"elContainer":el}));
}
});
// yobi.ShortcutKey
// Set CTRL+ENTER as submit form on INPUT/TEXTAREA
yobi.ShortcutKey.attach("CTRL+ENTER", function(htInfo){
if(htInfo.bFormInput){
$(htInfo.welTarget.parents("form").get(0)).submit();
}
});
@requestHeader.session.get("loginId") match {
case Some(loginId) => { }
case None => { }
}
@requestHeader.session.get("loginId") match {
case Some(v) => { yobi.ShortcutKey.setKeymapLink({
"U": "@routes.UserApp.userInfo(v)"
}); }
case None => { }
}
yobi.ShortcutKey.setKeymapLink({
"A": "@routes.IssueApp.userIssues()"
});
// yobi.Files
yobi.Files.init({
"sListURL" : "@routes.AttachmentApp.getFileList()",
"sUploadURL": "@routes.AttachmentApp.uploadFile()",
"maxFileSize": "@play.Configuration.root().getLong("application.maxFileSize", 2147483454L)" // 2Gb
});
// ajax for issue link detail(ui.IssuePreview)
$(document).on("mouseover", ".issueLink", function(){
var welTarget = $(this);
welTarget.tooltip({
"title": "@Messages("site.massMail.loading")",
"placement": "right"
}).tooltip("show");
$.getJSON(welTarget.attr("href"), function(htData){
if(welTarget.tooltip){
welTarget.tooltip("hide");
}
welTarget.popover({
"title" : htData.title.replace('<', '<'),
"content" : $yobi.xssClean(htData.body),
"html" : true,
"placement": "right",
"trigger" : "hover"
}).popover("show");
});
});
$(document).on("mouseleave", ".issueLink", function(){
var welTarget = $(this);
welTarget.tooltip("destroy");
welTarget.popover("hide");
});
if(navigator.userAgent.match(/MSIE ([0-9])\./)){
$('.unsupported').show();
}
// notify flash messages
@for(key <- Context.current().flash().keySet) {
@if(key != utils.Constants.TITLE &&
key != utils.Constants.DESCRIPTION){
$yobi.notify("@Messages(Context.current().flash().get(key))", 5000);
}
@if(key == utils.Constants.TITLE){
$yobi.alert("@Messages(Context.current().flash().get(key))", null,
"@Messages(Context.current().flash().get(utils.Constants.DESCRIPTION))");
}
}
$('[data-toggle="search-scope"]').on('click', function() {
$('form[name="gnb-search-form"]').attr('action', $(this).data('action'));
$('#gnb-search-scope-title').text($(this).text());
});
yobi.OriginalMessage.hide($("[data-via-email]"));
$('.logo, .title > a, .project-menu-nav > li > a, .show-progress-bar, .project-breadcrumb > span > a, .project-name > a, a[class="title"]').on('click.progressbar', function(){
NProgress.set(0.7);
NProgress.start();
});
// judge whether contents link is internal or external
$('.markdown-wrap').find('a[href]').each(function () {
var $link = $(this);
var linkUrl = $link.attr("href");
if (linkUrl && linkUrl.match("^[^./#]")) {
var location = window.location;
if (linkUrl.indexOf(location.protocol + "//" + location.host) !== 0) {
$(this).attr("target", "_blank");
}
}
});
autosize($('textarea'));
addTaskListButtonListener();
function addTaskListButtonListener() {
$(".add-task-list-button").on('click', function () {
var tasklistTemplate = "\n- [ ] Todo A\n- [ ] Todo B\n- [ ] Todo C";
var $textarea = $(this).closest("form").find("textarea");
var cursorPos = $textarea.prop('selectionStart');
var text = $textarea.val();
if(cursorPos === 0 && text && text.length > 0){
cursorPos = text.length;
}
var textBefore = text.substring(0, cursorPos);
var textAfter = text.substring(cursorPos, text.length);
$textarea.val(textBefore + tasklistTemplate + textAfter);
$textarea.focus();
$textarea.get(0).setSelectionRange(cursorPos + tasklistTemplate.length, cursorPos + tasklistTemplate.length);
});
}
});
</script>