DiscuzX/upload/static/image/admincp/cloud/qqgroup.js

403 lines
12 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var cloudj = jQuery.noConflict();
if (typeof disallowfloat == 'undefined' || disallowfloat === null) {
var disallowfloat = '';
}
var currentNormalEditDisplay = 0;
cloudj(document).ready(function() {
ajaxGetSearchResultThreads();
cloudj('#previewForm').submit(function() {
return previewFormSubmit();
});
});
function previewFormSubmit() {
saveAllThread();
if (!selectedTopicId) {
alert('请推送头条信息');
return false;
}
if (selectedNormalIds.length < 1) {
alert('请至少推送一条信息到列表区域');
return false;
}
var i = 1;
for (var k = 1; k <= 5; k++) {
var input_displayorder = cloudj('#normal_thread_' + k).find('.preview_displayorder');
if (input_displayorder.size()) {
input_displayorder.val(i);
i++;
}
}
return true;
}
function initSelect() {
var initTopicObj = cloudj('#search_result .qqqun_op .qqqun_op_topon');
initTopicObj.addClass('qqqun_op_top');
initTopicObj.removeClass('qqqun_op_topon');
var initNormalObj = cloudj('#search_result .qqqun_op .qqqun_op_liston');
initNormalObj.addClass('qqqun_op_list');
initNormalObj.removeClass('qqqun_op_liston');
selectedTopicId = parseInt(selectedTopicId);
if (selectedTopicId) {
cloudj('#thread_addtop_' + selectedTopicId).addClass('qqqun_op_topon');
cloudj('#thread_addtop_' + selectedTopicId).removeClass('qqqun_op_top');
}
cloudj.each(selectedNormalIds, function(k, v) {
v = parseInt(v);
if (v) {
cloudj('#thread_addlist_' + v).addClass('qqqun_op_liston');
cloudj('#thread_addlist_' + v).removeClass('qqqun_op_list');
}
});
}
function ajaxChangeSearch() {
cloudj('#srchtid').val('');
ajaxGetSearchResultThreads();
}
function ajaxGetSearchResultThreads() {
cloudj('#search_result').html('<tr><td colspan="3">加载中...</td></tr>');
qqgroupajaxpost('search_form', 'search_result', 'search_result', null, null, function() {initSelect(); return false});
return false;
}
function ajaxGetPageResultThreads(page, mpurl) {
cloudj('#search_result').html('<tr><td colspan="3">加载中...</td></tr>');
if (typeof page == 'undefined' || page === null) {
page = 1;
}
if (typeof mpurl == 'undefined' || !mpurl) {
return false;
}
ajaxget(mpurl + '&page=' + page, 'search_result', null, null, null, function() {initSelect();} );
}
function addMiniportalTop(tid) {
tid = parseInt(tid);
if (cloudj.inArray(tid, selectedNormalIds) > -1) {
removeNormalThreadByTid(tid);
}
addMiniportalTopId(tid);
initSelect();
ajaxget(adminscript + '?action=cloud&operation=qqgroup&anchor=block&op=getTopicThread&tid=' + tid, 'topicDiv', null, null, null, function() { clickTopicEditor(); });
}
function addMiniportalTopId(tid) {
selectedTopicId = tid;
}
function showPreviewEditor(topic, hideall) {
if (hideall) {
cloudj('.qqqun_list .qqqun_editor').hide();
cloudj('.qqqun_list .qqqun_xl li').removeClass('current');
cloudj('.qqqun_list').removeClass('qqqun_list_editor');
cloudj('.qqqun_top .qqqun_editor').hide();
cloudj('.qqqun_top').removeClass('qqqun_top_editor');
} else {
if (topic) {
cloudj('.qqqun_list .qqqun_editor').hide();
cloudj('.qqqun_list .qqqun_xl li').removeClass('current');
cloudj('.qqqun_list').removeClass('qqqun_list_editor');
cloudj('.qqqun_top .qqqun_editor').show();
cloudj('.qqqun_top').addClass('qqqun_top_editor');
} else {
cloudj('.qqqun_list .qqqun_editor').show();
cloudj('.qqqun_list').addClass('qqqun_list_editor');
cloudj('.qqqun_list .qqqun_xl li').removeClass('current');
cloudj('.qqqun_top .qqqun_editor').hide();
cloudj('.qqqun_top').removeClass('qqqun_top_editor');
}
}
}
function clickTopicEditor(topicFocus) {
if (typeof topicFocus == 'undefined') {
var topicFocus = 'title';
}
showPreviewEditor(true, false);
if (topicFocus == 'title') {
cloudj('#topic-editor-input-title').addClass('pt_focus');
cloudj('#topic-editor-input-title').focus();
} else if (topicFocus == 'content') {
cloudj('#topic-editor-textarea-content').addClass('pt_focus');
cloudj('#topic-editor-textarea-content').focus();
}
currentNormalEditDisplay = 0;
}
function blurTopic(obj) {
var thisobj = cloudj(obj);
thisobj.removeClass('pt_focus');
}
function clickNormalEditor(obj) {
var thisobj = cloudj(obj);
showPreviewEditor(false, false);
thisobj.addClass('pt_focus');
thisobj.focus();
currentNormalEditDisplay = parseInt(thisobj.parent().attr('displayorder'));
}
function blurNormalTextarea(obj) {
var thisobj = cloudj(obj);
liObj = thisobj.parent();
var displayorder = parseInt(liObj.attr('displayorder'));
if (displayorder == currentNormalEditDisplay) {
liObj.addClass('current');
}
cloudj('.qqqun_list .qqqun_xl textarea').removeClass('pt_focus');
}
function addMiniportalList(tid) {
tid = parseInt(tid);
if (cloudj.inArray(tid, selectedNormalIds) > -1) {
return false;
}
if (selectedNormalIds.length >= 5) {
alert('推送帖子已达到5条请在右侧取消一些再重试。');
return false;
}
if (tid == selectedTopicId) {
selectedTopicId = 0;
ajaxget(adminscript + '?action=cloud&operation=qqgroup&anchor=block&op=getTopicThread&tid=0', 'topicDiv');
}
addMiniportalListId(tid);
initSelect();
var insertPos = 'normal_thread_' + selectedNormalIds.length;
ajaxget(adminscript + '?action=cloud&operation=qqgroup&anchor=block&op=getNormalThread&tid=' + tid, insertPos, null, null, null, function() { clickNormalEditor(cloudj('#' + insertPos).find('textarea')); });
}
function addMiniportalListId(tid) {
selectedNormalIds.push(tid);
}
function editNormalThread() {
var threadLi = cloudj('#normal_thread_' + currentNormalEditDisplay);
clickNormalEditor(threadLi.find('textarea'));
}
function saveAllThread() {
showPreviewEditor(false, true);
currentNormalEditDisplay = 0;
}
function moveNormalThread(up) {
var displayorder = currentNormalEditDisplay;
var threadLi = cloudj('#normal_thread_' + displayorder);
if (!threadLi.attr('id') || !displayorder) {
return false;
}
var newDisplayorder = 0;
if (up) {
newDisplayorder = displayorder - 1;
} else {
newDisplayorder = displayorder + 1;
}
if (newDisplayorder < 1 || newDisplayorder > 5) {
return false;
}
var newLiId = 'normal_thread_' + newDisplayorder;
var newThreadLi = cloudj('#' + newLiId);
if (!newThreadLi.find('textarea').size()) {
return false;
}
var tmpHtml = newThreadLi.html();
newThreadLi.html(threadLi.html());
threadLi.html(tmpHtml);
newThreadLi.addClass('current');
threadLi.removeClass('current');
currentNormalEditDisplay = newDisplayorder;
}
function removeTopicThread(tid) {
tid = parseInt(tid);
selectedTopicId = 0;
initSelect();
ajaxget(adminscript + '?action=cloud&operation=qqgroup&anchor=block&op=getTopicThread', 'topicDiv', null, null, null, function() { showPreviewEditor(false, true)});
}
function removeNormalThread() {
var displayorder = currentNormalEditDisplay;
var removeTid = parseInt(cloudj('#normal_thread_' + displayorder).find('.normal_thread_tid').val());
return removeNormalThreadByDisplayorderAndTid(displayorder, removeTid, true);
}
function removeNormalThreadByTid(tid) {
tid = parseInt(tid);
var threadInput = cloudj('.qqqun_list .qqqun_xl .normal_thread_tid[value="' + tid + '"]');
if (threadInput.size()) {
var displayorder = threadInput.parent().attr('displayorder');
var removeTid = tid;
return removeNormalThreadByDisplayorderAndTid(displayorder, removeTid, false);
}
}
function removeNormalThreadByDisplayorderAndTid(displayorder, removeTid, inNormalEditor) {
displayorder = parseInt(displayorder);
removeTid = parseInt(removeTid);
var threadLi = cloudj('#normal_thread_' + displayorder);
if (!threadLi.attr('id') || !displayorder) {
return false;
}
threadLi.removeClass('current');
var index = cloudj.inArray(removeTid, selectedNormalIds);
if (index != -1) {
selectedNormalIds.splice(index, 1);
}
initSelect();
if (typeof inNormalEditor == 'udefined') {
var inNormalEditor = false;
}
threadLi.slideUp(100, function() { removeNormalThreadRecall(displayorder, inNormalEditor)});
}
function removeNormalThreadRecall(displayorder, inNormalEditor) {
for (var i = displayorder; i <= 5; i++) {
var currentDisplayorder = i;
var nextDisplayorder = i + 1;
var currentLiId = 'normal_thread_' + currentDisplayorder;
var currentThreadLi = cloudj('#' + currentLiId);
var nextLiId = 'normal_thread_' + nextDisplayorder;
var nextThreadLi = cloudj('#' + nextLiId);
if (nextThreadLi.find('textarea').size()) {
currentThreadLi.html(nextThreadLi.html());
currentThreadLi.show();
} else {
currentThreadLi.html('');
currentThreadLi.hide();
break;
}
}
var threadLi = cloudj('#normal_thread_' + displayorder);
var prevDisplayorder = displayorder - 1;
if (threadLi.find('textarea').size()) {
if (inNormalEditor) {
threadLi.addClass('current');
}
currentNormalEditDisplay = displayorder;
} else if (prevDisplayorder) {
var prevThreadLi = cloudj('#normal_thread_' + prevDisplayorder);
if (inNormalEditor) {
prevThreadLi.addClass('current');
}
currentNormalEditDisplay = prevDisplayorder;
} else {
var firstThreadLi = cloudj('#normal_thread_1');
if (inNormalEditor) {
saveAllThread();
}
firstThreadLi.html('<div class="tips">点击左侧 <img src="static/image/admincp/cloud/qun_op_list.png" align="absmiddle" /> 将信息推送到列表</div>');
firstThreadLi.show();
}
}
function ajaxUploadQQGroupImage() {
cloudj('#uploadImageResult').parent().show();
cloudj('#uploadImageResult').text('图片上传中,请稍后...');
qqgroupajaxpost('uploadImage', 'uploadImageResult', 'uploadImageResult', null, null, 'uploadRecall()');
}
function uploadRecall() {
if(cloudj('#uploadImageResult').find('#upload_msg_success').size()) {
cloudj('#uploadImageResult').parent().show();
var debug_rand = Math.random();
var imagePath = cloudj('#uploadImageResult #upload_msg_imgpath').text();
var imageUrl = cloudj('#uploadImageResult #upload_msg_imgurl').text();
cloudj('#topic_image_value').val(imagePath);
cloudj('#topic_editor_thumb').attr('src', imageUrl + '?' + debug_rand);
cloudj('#topic_preview_thumb').attr('src', imageUrl + '?' + debug_rand);
setTimeout(function() {hideWindow('uploadImgWin');}, 2000);
}
}
function qqgroupajaxpost(formid, showid, waitid, showidclass, submitbtn, recall) {
var waitid = typeof waitid == 'undefined' || waitid === null ? showid : (waitid !== '' ? waitid : '');
var showidclass = !showidclass ? '' : showidclass;
var ajaxframeid = 'ajaxframe';
var ajaxframe = $(ajaxframeid);
var formtarget = $(formid).target;
var handleResult = function() {
var s = '';
var evaled = false;
showloading('none');
ajaxResponse = cloudj('#' + ajaxframeid).contents().text();
var regex = /<\!\[CDATA\[(.*)\]\]>/;
var regexed = regex.exec(ajaxResponse);
if (regexed && regexed[1]) {
s = regexed[1];
} else {
s = ajaxResponse;
}
if (!s) {
s = '内部错误,无法显示此内容';
}
if(s != '' && s.indexOf('ajaxerror') != -1) {
evalscript(s);
evaled = true;
}
if(showidclass) {
if(showidclass != 'onerror') {
cloudj(showid).addClass(showidclass);
} else {
showError(s);
ajaxerror = true;
}
}
if(submitbtn) {
cloudj(submitbtn).attr('disabled', false);
}
if(!evaled && (typeof ajaxerror == 'undefined' || !ajaxerror)) {
ajaxinnerhtml($(showid), s);
}
ajaxerror = null;
cloudj('#' + formid).attr('target', formtarget);
if(typeof recall == 'function') {
recall();
} else {
eval(recall);
}
if(!evaled) evalscript(s);
ajaxframe.loading = 0;
cloudj(ajaxframe.parentNode).remove();
};
if(!ajaxframe) {
var div = cloudj('<div>');
div.css('display', 'none');
div.html('<iframe name="' + ajaxframeid + '" id="' + ajaxframeid + '" loading="1">');
cloudj('#append_parent').append(div);
ajaxframe = $(ajaxframeid);
} else if(ajaxframe.loading) {
return false;
}
_attachEvent(ajaxframe, 'load', handleResult);
showloading();
cloudj('#' + formid).attr('target', ajaxframeid);
var action = cloudj('#' + formid).attr('action');
action = hostconvert(action);
cloudj('#' + formid).attr('action', action.replace(/\&inajax\=1/g, '')+'&inajax=1');
$(formid).submit();
if(submitbtn) {
cloudj(submitbtn).attr('disabled', true);
}
doane();
return false;
}