Newer
Older
body = $('<div class="body">');
body.load('ajax.php/note/' + note.data('id'), function() {
try { T.redactor('destroy'); } catch (e) {}
T.replaceWith(body);
note.find('.action.save-note').hide();
note.find('.action.cancel-edit').hide();
note.find('.action.edit-note').show();
$('#new-note-box').show();
});
return false;
});
$(document).on('click.note', '.quicknote .action.save-note', function() {
var note = $(this).closest('.quicknote'),
T = note.find('textarea');
$.post('ajax.php/note/' + note.data('id'),
{ note: T.redactor('get') },
function(html) {
var body = $('<div class="body">').html(html);
try { T.redactor('destroy'); } catch (e) {}
T.replaceWith(body);
note.find('.action.save-note').hide();
note.find('.action.cancel-edit').hide();
note.find('.action.edit-note').show();
$('#new-note-box').show();
},
'html'
);
return false;
});
$(document).on('click.note', '.quicknote .delete', function() {
var that = $(this),
id = $(this).closest('.quicknote').data('id');
$.ajax('ajax.php/note/' + id, {
type: 'delete',
success: function() {
that.closest('.quicknote').animate(
{height: 0, opacity: 0}, 'slow', function() {
$(this).remove();
});
}
});
return false;
});
$(document).on('click', '#new-note', function() {
var note = $(this).closest('.quicknote'),
T = $('<textarea>'),
button = $('<input type="button">').val(__('Create'));
button.click(function() {
$.post('ajax.php/' + note.data('url'),
{ note: T.redactor('get'), no_options: note.hasClass('no-options') },
function(response) {
$(T).redactor('destroy').replaceWith(note);
$(response).show('highlight').insertBefore(note.parent());
$('.submit', note.parent()).remove();
},
'html'
);
});
T.addClass('no-bar small');
note.replaceWith(T);
$('<p>').addClass('submit').css('text-align', 'center')
.append(button).appendTo(T.parent());
$.redact(T);
$(T).redactor('focus');
return false;
});
if ($.oststrings && $.oststrings[s])
return $.oststrings[s];
// Thanks, http://stackoverflow.com/a/487049
function addSearchParam(key, value) {
key = encodeURI(key); value = encodeURI(value);
var kvp = document.location.search.substr(1).split('&');
var i=kvp.length; var x;
while (i--) {
x = kvp[i].split('=');
if (x[0]==key) {
x[1] = value;
kvp[i] = x.join('=');
break;
}
}
if(i<0) {kvp[kvp.length] = [key,value].join('=');}
//this will reload the page, it's likely better to store this until finished
return kvp.join('&');
// Periodically adjust relative times
window.relativeAdjust = setInterval(function() {
// Thanks, http://stackoverflow.com/a/7641822/1025836
var prettyDate = function(time) {
var date = new Date((time || "").replace(/-/g, "/").replace(/[TZ]/g, " ")),
diff = (((new Date()).getTime() - date.getTime()) / 1000),
day_diff = Math.floor(diff / 86400);
if (isNaN(day_diff) || day_diff < 0 || day_diff >= 31) return;
return day_diff == 0 && (
diff < 60 && __("just now")
|| diff < 120 && __("about a minute ago")
|| diff < 3600 && __("%d minutes ago").replace('%d', Math.floor(diff/60))
|| diff < 7200 && __("about an hour ago")
|| diff < 86400 && __("%d hours ago").replace('%d', Math.floor(diff/3600))
)
|| day_diff == 1 && __("yesterday")
|| day_diff < 7 && __("%d days ago").replace('%d', day_diff);
// Longer dates don't need to change dynamically
};
$('time.relative[datetime]').each(function() {
var rel = prettyDate($(this).attr('datetime'));
if (rel) $(this).text(rel);
});
}, 20000);