forgejo/public/js/app.js

157 lines
4.1 KiB
JavaScript
Raw Normal View History

2014-03-06 15:55:32 +01:00
var Gogits = {
"PageIsSignup": false
};
2014-03-06 15:55:32 +01:00
(function ($) {
2014-03-10 09:54:52 +01:00
Gogits.showTab = function (selector, index) {
if (!index) {
index = 0;
}
$(selector).tab("show");
$(selector).find("li:eq(" + index + ") a").tab("show");
2014-03-06 15:55:32 +01:00
};
Gogits.validateForm = function (selector, options) {
var $form = $(selector);
options = options || {};
options.showErrors = function (map, list) {
var $error = $form.find('.form-error').addClass('hidden');
$('.has-error').removeClass("has-error");
$error.text(list[0].message).show().removeClass("hidden");
$(list[0].element).parents(".form-group").addClass("has-error");
};
$form.validate(options);
};
2014-03-10 09:54:52 +01:00
// ----- init elements
Gogits.initModals = function () {
var modals = $("[data-toggle=modal]");
if (modals.length < 1) {
return;
}
$.each(modals, function (i, item) {
2014-03-10 14:12:49 +01:00
var hide = $(item).data('modal');
$(item).modal(hide ? hide : "hide");
2014-03-10 09:54:52 +01:00
});
};
Gogits.initTooltips = function () {
$("body").tooltip({
selector: "[data-toggle=tooltip]"
//container: "body"
});
};
2014-03-17 11:13:07 +01:00
Gogits.initPopovers = function () {
var hideAllPopovers = function() {
$('[data-toggle=popover]').each(function() {
$(this).popover('hide');
});
};
$(document).on('click', function(e) {
var $e = $(e.target);
if($e.data('toggle') == 'popover'||$e.parents("[data-toggle=popover], .popover").length > 0){
return;
}
hideAllPopovers();
});
$("body").popover({
selector: "[data-toggle=popover]"
});
};
2014-03-10 14:12:49 +01:00
Gogits.initTabs = function () {
2014-03-13 07:08:49 +01:00
var $tabs = $('[data-init=tabs]');
$tabs.find("li:eq(0) a").tab("show");
2014-03-17 08:17:44 +01:00
};
// render markdown
Gogits.renderMarkdown = function () {
var $pre = $('.markdown').find('pre > code').parent();
$pre.addClass("prettyprint");
prettyPrint();
2014-03-10 14:12:49 +01:00
}
2014-03-17 08:17:44 +01:00
2014-03-10 14:12:49 +01:00
})(jQuery);
// ajax utils
(function ($) {
Gogits.ajaxDelete = function (url, data, success) {
data = data || {};
data._method = "DELETE";
$.ajax({
url: url,
data: data,
method: "POST",
dataType: "json",
success: function (json) {
if (success) {
success(json);
}
}
})
}
2014-03-03 15:40:22 +01:00
})(jQuery);
2014-03-06 15:55:32 +01:00
function initCore() {
2014-03-10 09:54:52 +01:00
Gogits.initTooltips();
2014-03-17 11:13:07 +01:00
Gogits.initPopovers();
2014-03-13 07:08:49 +01:00
Gogits.initTabs();
2014-03-10 09:54:52 +01:00
Gogits.initModals();
2014-03-17 08:17:44 +01:00
Gogits.renderMarkdown();
2014-03-06 15:55:32 +01:00
}
function initRegister() {
$.getScript("/js/jquery.validate.min.js", function () {
Gogits.validateForm("#gogs-login-card", {
rules: {
"username": {
required: true,
maxlength: 30
},
"email": {
required: true,
email: true
},
"passwd": {
required: true,
minlength: 6,
maxlength: 30
},
"re-passwd": {
required: true,
equalTo: "input[name=passwd]"
}
}
});
});
2014-03-10 14:12:49 +01:00
}
2014-03-17 08:17:44 +01:00
function initUserSetting() {
$('#gogs-ssh-keys .delete').confirmation({
singleton: true,
2014-03-17 08:17:44 +01:00
onConfirm: function (e, $this) {
Gogits.ajaxDelete("", {"id": $this.data("del")}, function (json) {
if (json.ok) {
window.location.reload();
2014-03-17 08:17:44 +01:00
} else {
alert(json.err);
}
});
}
2014-03-10 14:12:49 +01:00
});
2014-03-16 16:25:01 +01:00
}
2014-03-17 08:17:44 +01:00
(function ($) {
$(function () {
initCore();
var body = $("#gogs-body");
if (body.data("page") == "user-signup") {
initRegister();
}
if (body.data("page") == "user") {
initUserSetting();
}
2014-03-16 16:25:01 +01:00
});
})(jQuery);