1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /*
- * GitPHP Javascript blame
- *
- * Load blame data into blob page asynchronously
- *
- * @author Christopher Han <xiphux@gmail.com>
- * @copyright Copyright (c) 2011 Christopher Han
- * @package GitPHP
- * @subpackage Javascript
- */
- define(["jquery", "modules/geturl", "modules/tooltip.commit", 'modules/resources'],
- function($, url, tooltipCommit, resources) {
- var blobTable = null;
- var blameLink = null;
- var blameCol = null;
- function buildContainer() {
- var col = $(document.createElement('td'));
- col.attr('id', 'blameData');
- col.css('display', 'none');
- var p = $(document.createElement('p'));
- p.text(resources.LoadingBlameData);
- p.appendTo(col);
- var div = $(document.createElement('div'));
- div.css('text-align', 'center');
- var img = $(document.createElement('img'));
- img.attr('src', url + 'images/blame-loader.gif');
- img.attr('alt', resources.Loading);
- img.appendTo(div);
- div.appendTo(col);
- return col;
- }
- function insertBlame(data) {
- blameCol.html(data).addClass('de1');
- tooltipCommit($('a.commitTip'));
- }
- var showBlame = function() {
- if (blameCol) {
- blameCol.show('fast');
- return false;
- }
- blameCol = buildContainer();
- blobTable.find('tr:first').prepend(blameCol);
- blameCol.show('fast');
- $.get(blameLink.attr('href'), { o: 'js' },
- function(data) {
- if (blameCol.css('display') == 'none') {
- blameCol.html(data).addClass('de1');
- insertBlame(data);
- } else {
- blameCol.fadeOut('fast', function() {
- insertBlame(data);
- blameCol.fadeIn('fast');
- });
- }
- });
- };
- var hideBlame = function() {
- if (blameCol) {
- blameCol.hide('fast');
- }
- return false;
- };
- var init = function(blobTableElem, blameLinkElem) {
- blobTable = blobTableElem;
- blameLink = blameLinkElem;
- blameLink.toggle(showBlame, hideBlame);
- };
- return {
- init: init
- }
- }
- );
|