Reser repo owner to organization when error occurs in repo create page, dashboard news feed page, create organization page

This commit is contained in:
Unknwon 2014-07-26 23:53:16 -04:00
parent 5e81383413
commit 9813161411
22 changed files with 350 additions and 269 deletions

View file

@ -265,6 +265,9 @@ img.avatar-30 {
.markdown ul li {
list-style: inside;
}
.markdown ol li {
list-style: decimal inside;
}
.markdown li {
line-height: 1.6;
margin-top: 6px;
@ -346,10 +349,6 @@ img.avatar-30 {
.markdown .btn {
color: #fff;
}
.markdown .anchor-wrap {
/*margin-top: -50px;*/
/*padding-top: 50px;*/
}
.markdown h1 a,
.markdown h2 a,
.markdown h3 a {
@ -660,40 +659,49 @@ The dashboard page style
#dashboard-sidebar-menu > li.last > a {
border-top-right-radius: .3em;
}
#dashboard-my-mirror li,
#dashboard-my-org li,
#dashboard-my-repo li {
border-bottom: 1px solid #EAEAEA;
}
#dashboard-my-mirror li.private,
#dashboard-my-org li.private,
#dashboard-my-repo li.private {
background-color: #fcf8e9;
}
#dashboard-my-mirror li:last-child,
#dashboard-my-org li:last-child,
#dashboard-my-repo li:last-child {
border-bottom: none;
}
#dashboard-my-mirror li a,
#dashboard-my-org li a,
#dashboard-my-repo li a {
padding: 6px 1.2em;
display: block;
}
#dashboard-my-mirror li a .octicon,
#dashboard-my-org li a .octicon,
#dashboard-my-repo li a .octicon {
margin-right: 6px;
color: #888;
}
#dashboard-my-mirror li a:hover .repo-name,
#dashboard-my-org li a:hover .repo-name,
#dashboard-my-repo li a:hover .repo-name {
text-decoration: underline;
}
#dashboard-my-mirror .repo-name,
#dashboard-my-org .repo-name,
#dashboard-my-repo .repo-name {
font-size: 1.1em;
}
#dashboard-my-mirror .repo-star,
#dashboard-my-org .repo-star,
#dashboard-my-repo .repo-star {
color: #888;
}
#dashboard-my-mirror .repo-contrib-header,
#dashboard-my-org .repo-contrib-header,
#dashboard-my-repo .repo-contrib-header {
border-top: 1px solid #d6d6d6;

View file

@ -1,8 +1,11 @@
// @codekit-prepend "lib/jquery-1.11.1.min.js"
// @codekit-prepend "lib/lib.js"
// @codekit-prepend "lib/tabs.js"
var Gogs = {};
(function ($) {
// extend jQuery ajax, set csrf token value
// Extend jQuery ajax, set CSRF token value.
var ajax = $.ajax;
$.extend({
ajax: function (url, options) {
@ -51,15 +54,131 @@
});
}(jQuery));
(function ($) {
// Render markdown.
Gogs.renderMarkdown = function () {
var $md = $('.markdown');
var $pre = $md.find('pre > code').parent();
$pre.addClass('prettyprint linenums');
prettyPrint();
// Set anchor.
var headers = {};
$md.find('h1, h2, h3, h4, h5, h6').each(function () {
var node = $(this);
var val = encodeURIComponent(node.text().toLowerCase().replace(/[^\w\- ]/g, '').replace(/[ ]/g, '-'));
var name = val;
if (headers[val] > 0) {
name = val + '-' + headers[val];
}
if (headers[val] == undefined) {
headers[val] = 1;
} else {
headers[val] += 1;
}
node = node.wrap('<div id="' + name + '" class="anchor-wrap" ></div>');
node.append('<a class="anchor" href="#' + name + '"><span class="octicon octicon-link"></span></a>');
});
};
// Render code view.
Gogs.renderCodeView = function () {
function selectRange($list, $select, $from) {
$list.removeClass('active');
if ($from) {
var a = parseInt($select.attr('rel').substr(1));
var b = parseInt($from.attr('rel').substr(1));
var c;
if (a != b) {
if (a > b) {
c = a;
a = b;
b = c;
}
var classes = [];
for (i = a; i <= b; i++) {
classes.push('.L' + i);
}
$list.filter(classes.join(',')).addClass('active');
$.changeHash('#L' + a + '-' + 'L' + b);
return
}
}
$select.addClass('active');
$.changeHash('#' + $select.attr('rel'));
}
$(document).on('click', '.lines-num span', function (e) {
var $select = $(this);
var $list = $select.parent().siblings('.lines-code').find('ol.linenums > li');
selectRange($list, $list.filter('[rel=' + $select.attr('rel') + ']'), (e.shiftKey ? $list.filter('.active').eq(0) : null));
$.deSelect();
});
$('.code-view .lines-code > pre').each(function () {
var $pre = $(this);
var $lineCode = $pre.parent();
var $lineNums = $lineCode.siblings('.lines-num');
if ($lineNums.length > 0) {
var nums = $pre.find('ol.linenums > li').length;
for (var i = 1; i <= nums; i++) {
$lineNums.append('<span id="L' + i + '" rel="L' + i + '">' + i + '</span>');
}
}
});
$(window).on('hashchange', function (e) {
var m = window.location.hash.match(/^#(L\d+)\-(L\d+)$/);
var $list = $('.code-view ol.linenums > li');
if (m) {
var $first = $list.filter('.' + m[1]);
selectRange($list, $first, $list.filter('.' + m[2]));
$("html, body").scrollTop($first.offset().top - 200);
return;
}
m = window.location.hash.match(/^#(L\d+)$/);
if (m) {
var $first = $list.filter('.' + m[1]);
selectRange($list, $first);
$("html, body").scrollTop($first.offset().top - 200);
}
}).trigger('hashchange');
};
})(jQuery);
function initCore() {
Gogs.renderMarkdown();
Gogs.renderCodeView();
}
function initRepoCreate() {
// Owner switch menu click.
$('#repo-create-owner-list').on('click', 'li', function () {
if (!$(this).hasClass('checked')) {
var uid = $(this).data('uid');
$('#repo-owner-id').val(uid);
$('#repo-owner-avatar').attr("src", $(this).find('img').attr("src"));
$('#repo-owner-name').text($(this).text().trim());
$(this).parent().find('.checked').removeClass('checked');
$(this).addClass('checked');
console.log("set repo owner to uid :", uid, $(this).text().trim());
}
});
}
$(document).ready(function () {
initCore();
if ($('#repo-create-form').length) {
initRepoCreate();
}
Tabs('#dashboard-sidebar-menu');
homepage();
settingsProfile();
settingsSSHKeys();
settingsDelete();
renderMarkdown();
renderCodeView();
// Fix language drop-down menu height.
var l = $('#footer-lang li').length;
@ -114,92 +233,4 @@ function settingsDelete() {
return true;
}
});
}
function renderMarkdown() {
var $md = $('.markdown');
var $pre = $md.find('pre > code').parent();
$pre.addClass('prettyprint linenums');
prettyPrint();
// Set anchor.
var headers = {};
$md.find('h1, h2, h3, h4, h5, h6').each(function () {
var node = $(this);
var val = encodeURIComponent(node.text().toLowerCase().replace(/[^\w\- ]/g, '').replace(/[ ]/g, '-'));
var name = val;
if (headers[val] > 0) {
name = val + '-' + headers[val];
}
if (headers[val] == undefined) {
headers[val] = 1;
} else {
headers[val] += 1;
}
node = node.wrap('<div id="' + name + '" class="anchor-wrap" ></div>');
node.append('<a class="anchor" href="#' + name + '"><span class="octicon octicon-link"></span></a>');
});
}
function renderCodeView() {
function selectRange($list, $select, $from) {
$list.removeClass('active');
if ($from) {
var a = parseInt($select.attr('rel').substr(1));
var b = parseInt($from.attr('rel').substr(1));
var c;
if (a != b) {
if (a > b) {
c = a;
a = b;
b = c;
}
var classes = [];
for (i = a; i <= b; i++) {
classes.push('.L' + i);
}
$list.filter(classes.join(',')).addClass('active');
$.changeHash('#L' + a + '-' + 'L' + b);
return
}
}
$select.addClass('active');
$.changeHash('#' + $select.attr('rel'));
}
$(document).on('click', '.lines-num span', function (e) {
var $select = $(this);
var $list = $select.parent().siblings('.lines-code').find('ol.linenums > li');
selectRange($list, $list.filter('[rel=' + $select.attr('rel') + ']'), (e.shiftKey ? $list.filter('.active').eq(0) : null));
$.deSelect();
});
$('.code-view .lines-code > pre').each(function () {
var $pre = $(this);
var $lineCode = $pre.parent();
var $lineNums = $lineCode.siblings('.lines-num');
if ($lineNums.length > 0) {
var nums = $pre.find('ol.linenums > li').length;
for (var i = 1; i <= nums; i++) {
$lineNums.append('<span id="L' + i + '" rel="L' + i + '">' + i + '</span>');
}
}
});
$(window).on('hashchange', function (e) {
var m = window.location.hash.match(/^#(L\d+)\-(L\d+)$/);
var $list = $('.code-view ol.linenums > li');
if (m) {
var $first = $list.filter('.' + m[1]);
selectRange($list, $first, $list.filter('.' + m[2]));
$("html, body").scrollTop($first.offset().top - 200);
return;
}
m = window.location.hash.match(/^#(L\d+)$/);
if (m) {
var $first = $list.filter('.' + m[1]);
selectRange($list, $first);
$("html, body").scrollTop($first.offset().top - 200);
}
}).trigger('hashchange');
}

File diff suppressed because one or more lines are too long