mirror of
https://gitee.com/coder-xiaomo/flashsale
synced 2025-09-13 15:31:38 +08:00
添加Metronic(作为LFS)
This commit is contained in:
329
frontend/static/assets/admin/pages/scripts/inbox.js
Normal file
329
frontend/static/assets/admin/pages/scripts/inbox.js
Normal file
@@ -0,0 +1,329 @@
|
||||
var Inbox = function () {
|
||||
|
||||
var content = $('.inbox-content');
|
||||
var loading = $('.inbox-loading');
|
||||
var listListing = '';
|
||||
|
||||
var loadInbox = function (el, name) {
|
||||
var url = 'inbox_inbox.html';
|
||||
var title = $('.inbox-nav > li.' + name + ' a').attr('data-title');
|
||||
listListing = name;
|
||||
|
||||
loading.show();
|
||||
content.html('');
|
||||
toggleButton(el);
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
cache: false,
|
||||
url: url,
|
||||
dataType: "html",
|
||||
success: function(res)
|
||||
{
|
||||
toggleButton(el);
|
||||
|
||||
$('.inbox-nav > li.active').removeClass('active');
|
||||
$('.inbox-nav > li.' + name).addClass('active');
|
||||
$('.inbox-header > h1').text(title);
|
||||
|
||||
loading.hide();
|
||||
content.html(res);
|
||||
Layout.fixContentHeight();
|
||||
Metronic.initUniform();
|
||||
},
|
||||
error: function(xhr, ajaxOptions, thrownError)
|
||||
{
|
||||
toggleButton(el);
|
||||
},
|
||||
async: false
|
||||
});
|
||||
|
||||
// handle group checkbox:
|
||||
jQuery('body').on('change', '.mail-group-checkbox', function () {
|
||||
var set = jQuery('.mail-checkbox');
|
||||
var checked = jQuery(this).is(":checked");
|
||||
jQuery(set).each(function () {
|
||||
$(this).attr("checked", checked);
|
||||
});
|
||||
jQuery.uniform.update(set);
|
||||
});
|
||||
}
|
||||
|
||||
var loadMessage = function (el, name, resetMenu) {
|
||||
var url = 'inbox_view.html';
|
||||
|
||||
loading.show();
|
||||
content.html('');
|
||||
toggleButton(el);
|
||||
|
||||
var message_id = el.parent('tr').attr("data-messageid");
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
cache: false,
|
||||
url: url,
|
||||
dataType: "html",
|
||||
data: {'message_id': message_id},
|
||||
success: function(res)
|
||||
{
|
||||
toggleButton(el);
|
||||
|
||||
if (resetMenu) {
|
||||
$('.inbox-nav > li.active').removeClass('active');
|
||||
}
|
||||
$('.inbox-header > h1').text('View Message');
|
||||
|
||||
loading.hide();
|
||||
content.html(res);
|
||||
Layout.fixContentHeight();
|
||||
Metronic.initUniform();
|
||||
},
|
||||
error: function(xhr, ajaxOptions, thrownError)
|
||||
{
|
||||
toggleButton(el);
|
||||
},
|
||||
async: false
|
||||
});
|
||||
}
|
||||
|
||||
var initWysihtml5 = function () {
|
||||
$('.inbox-wysihtml5').wysihtml5({
|
||||
"stylesheets": ["../../assets/global/plugins/bootstrap-wysihtml5/wysiwyg-color.css"]
|
||||
});
|
||||
}
|
||||
|
||||
var initFileupload = function () {
|
||||
|
||||
$('#fileupload').fileupload({
|
||||
// Uncomment the following to send cross-domain cookies:
|
||||
//xhrFields: {withCredentials: true},
|
||||
url: '../../assets/global/jquery-file-upload/server/php/',
|
||||
autoUpload: true
|
||||
});
|
||||
|
||||
// Upload server status check for browsers with CORS support:
|
||||
if ($.support.cors) {
|
||||
$.ajax({
|
||||
url: '../../assets/global/plugins/jquery-file-upload/server/php/',
|
||||
type: 'HEAD'
|
||||
}).fail(function () {
|
||||
$('<span class="alert alert-error"/>')
|
||||
.text('Upload server currently unavailable - ' +
|
||||
new Date())
|
||||
.appendTo('#fileupload');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var loadCompose = function (el) {
|
||||
var url = 'inbox_compose.html';
|
||||
|
||||
loading.show();
|
||||
content.html('');
|
||||
toggleButton(el);
|
||||
|
||||
// load the form via ajax
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
cache: false,
|
||||
url: url,
|
||||
dataType: "html",
|
||||
success: function(res)
|
||||
{
|
||||
toggleButton(el);
|
||||
|
||||
$('.inbox-nav > li.active').removeClass('active');
|
||||
$('.inbox-header > h1').text('Compose');
|
||||
|
||||
loading.hide();
|
||||
content.html(res);
|
||||
|
||||
initFileupload();
|
||||
initWysihtml5();
|
||||
|
||||
$('.inbox-wysihtml5').focus();
|
||||
Layout.fixContentHeight();
|
||||
Metronic.initUniform();
|
||||
},
|
||||
error: function(xhr, ajaxOptions, thrownError)
|
||||
{
|
||||
toggleButton(el);
|
||||
},
|
||||
async: false
|
||||
});
|
||||
}
|
||||
|
||||
var loadReply = function (el) {
|
||||
var url = 'inbox_reply.html';
|
||||
|
||||
loading.show();
|
||||
content.html('');
|
||||
toggleButton(el);
|
||||
|
||||
// load the form via ajax
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
cache: false,
|
||||
url: url,
|
||||
dataType: "html",
|
||||
success: function(res)
|
||||
{
|
||||
toggleButton(el);
|
||||
|
||||
$('.inbox-nav > li.active').removeClass('active');
|
||||
$('.inbox-header > h1').text('Reply');
|
||||
|
||||
loading.hide();
|
||||
content.html(res);
|
||||
$('[name="message"]').val($('#reply_email_content_body').html());
|
||||
|
||||
handleCCInput(); // init "CC" input field
|
||||
|
||||
initFileupload();
|
||||
initWysihtml5();
|
||||
Layout.fixContentHeight();
|
||||
Metronic.initUniform();
|
||||
},
|
||||
error: function(xhr, ajaxOptions, thrownError)
|
||||
{
|
||||
toggleButton(el);
|
||||
},
|
||||
async: false
|
||||
});
|
||||
}
|
||||
|
||||
var loadSearchResults = function (el) {
|
||||
var url = 'inbox_search_result.html';
|
||||
|
||||
loading.show();
|
||||
content.html('');
|
||||
toggleButton(el);
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
cache: false,
|
||||
url: url,
|
||||
dataType: "html",
|
||||
success: function(res)
|
||||
{
|
||||
toggleButton(el);
|
||||
|
||||
$('.inbox-nav > li.active').removeClass('active');
|
||||
$('.inbox-header > h1').text('Search');
|
||||
|
||||
loading.hide();
|
||||
content.html(res);
|
||||
Layout.fixContentHeight();
|
||||
Metronic.initUniform();
|
||||
},
|
||||
error: function(xhr, ajaxOptions, thrownError)
|
||||
{
|
||||
toggleButton(el);
|
||||
},
|
||||
async: false
|
||||
});
|
||||
}
|
||||
|
||||
var handleCCInput = function () {
|
||||
var the = $('.inbox-compose .mail-to .inbox-cc');
|
||||
var input = $('.inbox-compose .input-cc');
|
||||
the.hide();
|
||||
input.show();
|
||||
$('.close', input).click(function () {
|
||||
input.hide();
|
||||
the.show();
|
||||
});
|
||||
}
|
||||
|
||||
var handleBCCInput = function () {
|
||||
|
||||
var the = $('.inbox-compose .mail-to .inbox-bcc');
|
||||
var input = $('.inbox-compose .input-bcc');
|
||||
the.hide();
|
||||
input.show();
|
||||
$('.close', input).click(function () {
|
||||
input.hide();
|
||||
the.show();
|
||||
});
|
||||
}
|
||||
|
||||
var toggleButton = function(el) {
|
||||
if (typeof el == 'undefined') {
|
||||
return;
|
||||
}
|
||||
if (el.attr("disabled")) {
|
||||
el.attr("disabled", false);
|
||||
} else {
|
||||
el.attr("disabled", true);
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
//main function to initiate the module
|
||||
init: function () {
|
||||
|
||||
// handle compose btn click
|
||||
$('.inbox').on('click', '.compose-btn a', function () {
|
||||
loadCompose($(this));
|
||||
});
|
||||
|
||||
// handle discard btn
|
||||
$('.inbox').on('click', '.inbox-discard-btn', function(e) {
|
||||
e.preventDefault();
|
||||
loadInbox($(this), listListing);
|
||||
});
|
||||
|
||||
// handle reply and forward button click
|
||||
$('.inbox').on('click', '.reply-btn', function () {
|
||||
loadReply($(this));
|
||||
});
|
||||
|
||||
// handle view message
|
||||
$('.inbox-content').on('click', '.view-message', function () {
|
||||
loadMessage($(this));
|
||||
});
|
||||
|
||||
// handle inbox listing
|
||||
$('.inbox-nav > li.inbox > a').click(function () {
|
||||
loadInbox($(this), 'inbox');
|
||||
});
|
||||
|
||||
// handle sent listing
|
||||
$('.inbox-nav > li.sent > a').click(function () {
|
||||
loadInbox($(this), 'sent');
|
||||
});
|
||||
|
||||
// handle draft listing
|
||||
$('.inbox-nav > li.draft > a').click(function () {
|
||||
loadInbox($(this), 'draft');
|
||||
});
|
||||
|
||||
// handle trash listing
|
||||
$('.inbox-nav > li.trash > a').click(function () {
|
||||
loadInbox($(this), 'trash');
|
||||
});
|
||||
|
||||
//handle compose/reply cc input toggle
|
||||
$('.inbox-content').on('click', '.mail-to .inbox-cc', function () {
|
||||
handleCCInput();
|
||||
});
|
||||
|
||||
//handle compose/reply bcc input toggle
|
||||
$('.inbox-content').on('click', '.mail-to .inbox-bcc', function () {
|
||||
handleBCCInput();
|
||||
});
|
||||
|
||||
//handle loading content based on URL parameter
|
||||
if (Metronic.getURLParameter("a") === "view") {
|
||||
loadMessage();
|
||||
} else if (Metronic.getURLParameter("a") === "compose") {
|
||||
loadCompose();
|
||||
} else {
|
||||
$('.inbox-nav > li.inbox > a').click();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}();
|
Reference in New Issue
Block a user