Files
wordpress-theme-aksrt/assets/js/runtime/input-expand.js
T
2026-08-25 20:15:55 +08:00

110 lines
3.7 KiB
JavaScript

//内容追加到编辑框
function grin(_this, val, fun) {
var textarea = _this.parents('form').find('textarea.grin');
var t_val = textarea.val();
textarea
.val(t_val + val)
.focus()
.click();
jQuery.isFunction(fun) && fun(_this, val);
}
//编辑框添加表情
_win.bd.on('click', '.dropdown-smilie .smilie-icon', function () {
var _this = jQuery(this);
var smilie = _this.attr('data-smilie');
smilie = '[g=' + smilie + ']';
return grin(_this, smilie);
});
//编辑框添加代码
_win.bd.on('click', '.dropdown-code [type="submit"]', function () {
var _this = jQuery(this);
var val = _this.parents('.dropdown-code').find('textarea').val();
if (val.length < 2) return void notyf(aksrt__('enter_code'), 'warning');
val = '[code]\n' + val + '\n[/code]\n';
return grin(_this, val);
});
//编辑框添加图片
_win.bd.on('click', '.dropdown-image [type="submit"]', function () {
var _this = jQuery(this);
var val = _this.parents('.dropdown-image').find('textarea').val();
if (val.length < 6) return void notyf(aksrt__('enter_valid_image_url'), 'warning');
val = '[img=' + val + ']\n';
return grin(_this, val);
});
//上传图片
_win.bd.on('miniuploaded', '.input-expand-upload', function (a, data) {
var img = '[img=' + data.img_url + ']\n';
return grin(jQuery(this), img);
});
//按钮展开
_win.bd.on('click', '.btn-input-expand', function () {
return jQuery(this).parent().toggleClass('open').trigger('toggleClass'), !1;
});
//编辑框添加链接
_win.bd.on('click', '.dropdown-link [type="submit"]', function () {
var _this = jQuery(this);
var val = _this.closest('.dropdown-link').find('textarea').val();
if (val.length < 6) return void notyf(aksrt__('enter_valid_link_url'), 'warning');
//判断URL合法性
if (!aksrt_is_url(val)) {
return void notyf(aksrt__('enter_valid_link_url'), 'warning');
}
var target = '';
if (_this.closest('.dropdown-link').find('input[name="target"]').is(':checked')) {
target = 'target=_blank';
}
var text = _this.closest('.dropdown-link').find('.link-text').val() || val;
var link_val = '[link=' + val + ' ' + target + ']' + text + '[/link]';
return grin(_this, link_val);
});
//保存我的快捷回复后,自动更新
_win.bd.on('aksrt_ajax.success', '.user-quick-often-save-btn', function (e, data) {
if (data.item) {
jQuery('.quick-reply-myitem-box').html(data.item);
}
});
//快捷回复;选择内容,弹出操作按钮
_win.bd.on('click', '.quick-reply-item', function () {
var _this = jQuery(this);
var quick_reply_action = 'quick-reply-action';
var quick_active = 'quick-active';
_this.siblings().removeClass(quick_active);
_this
.parent()
.find('.' + quick_reply_action)
.remove();
_this
.data('quick-reply', _this.text())
.addClass('quick-active')
.append('<div class="' + quick_reply_action + '"><div class="modal-buts but-average"><button type="button" class="but quick-reply-btn-insert" href="javascript:;">' + aksrt__('insert') + '</button><button type="button" class="but c-blue padding-lg quick-reply-btn-send">' + aksrt__('send') + '</button></div></div>');
});
//快捷回复:插入内容或发送
_win.bd.on('click', '.quick-reply-action button', function () {
var _this = jQuery(this);
var form = _this.closest('form'); //唯一的表单
var quick_reply = _this.parents('.quick-reply-item').data('quick-reply');
var textarea = form.find('textarea.grin');
textarea.val(quick_reply);
if (_this.hasClass('quick-reply-btn-send')) {
form.find('.input-expand-submit').click();
} else {
textarea.focus();
}
});