Файл: templates/default/js/users.js
Строк: 120
<?php
var icms = icms || {};
icms.users = (function ($) {
//=====================================================================//
this.onDocumentReady = function () {
$('#user_status_widget .input:text').on('keydown', function(event){
if (event.keyCode == 13) {
icms.users.saveStatus();
}
});
}
//=====================================================================//
this.enableStatusInput = function (clear) {
$('#user_status_widget').removeClass('loading');
if (typeof(clear) == 'undefined') { clear = true; }
$('#user_status_widget .input:text').removeAttr('disabled');
if (clear){
$('#user_status_widget .input:text').val('').blur();
}
}
this.disableStatusInput = function () {
$('#user_status_widget').addClass('loading');
$('#user_status_widget .input:text').attr('disabled', 'disabled');
}
//=====================================================================//
this.saveStatus = function (){
var input = $('#user_status_widget .input:text');
var content = input.val();
if (!content) { return false; }
this.disableStatusInput();
var url = input.data('url');
var user_id = input.data('user-id');
$.post(url, {user_id: user_id, content: content}, function(result){
if (result == null || typeof(result) == 'undefined' || result.error){
icms.users.error(result.message);
return;
}
icms.users.updateStatus(result);
icms.users.enableStatusInput();
}, 'json');
}
this.updateStatus = function (result){
var block = $('#user_profile_title');
$('.name', block).removeClass('name_with_status').addClass('name_with_status');
$('.status .text', block).html(result.content);
$('.status .reply a', block).html(LANG_REPLY).attr('href', '?wid='+result.wall_entry_id+'&reply=1');
$('.status', block).hide().fadeIn(800);
}
this.deleteStatus = function (link){
var url = $(link).data('url');
if (!confirm(LANG_USERS_DELETE_STATUS_CONFIRM)){ return false; }
$.post(url, {}, function(result){
if (result == null || typeof(result) == 'undefined' || result.error){
icms.users.error(result.message);
return;
}
var block = $('#user_profile_title');
$('.name', block).removeClass('name_with_status');
$('.status .text', block).html('');
$('.status', block).hide();
}, 'json');
return false;
}
//=====================================================================//
this.karmaUp = function(){
this.karmaVote('up');
return false;
}
this.karmaDown = function(){
this.karmaVote('down');
return false;
}
this.karmaVote = function(direction){
var block = $('#user_profile_rates');
var url = block.data('url');
var is_comment = block.data('is-comment');
var comment = '';
if (is_comment){
comment = prompt(LANG_USERS_KARMA_COMMENT);
if (!comment) { return false; }
}
var value = $('.karma .value', block).html();
$('.karma .value', block).addClass('loading-icon').html('');
$('.karma .thumb', block).hide();
$.post(url, {direction: direction, comment: comment}, function(result){
if (result == null || typeof(result) == 'undefined' || result.error){
icms.users.error(result.message);
$('.karma .thumb', block).show();
$('.karma .value', block).removeClass('loading-icon').html(value);
return;
}
$('.karma .value', block).
removeClass('loading-icon').
removeClass('zero').
removeClass('positive').
removeClass('negative').
addClass(result.css_class).
html(result.value);
$('.karma .thumb', block).remove();
}, 'json');
}
//=====================================================================//
this.error = function(message){
if (message) { alert(message); }
this.enableStatusInput(false);
}
//=====================================================================//
return this;
}).call(icms.users || {},jQuery);
?>