nyx_server
Version:
Node内容发布
104 lines (85 loc) • 2.54 kB
JavaScript
(function ($, lib, conf) {
'use strict';
var win = window;
var doc = document;
var bannerBlank = {
init: function () {
if (this.getBannerCount() < 1) {
this.initLayout();
this.initEvent();
}
},
getBannerCount: function () {
var comments = lib.getComments('banner:begin');
var data;
var count = 0;
for (var i = 0, iLen = comments.length; i < iLen; i++) {
data = lib.analyze(comments[i].data.trim());
if (data.data.type === 0) {
count++;
}
}
return count;
},
initLayout: function () {
var layout = $('<div class="t-banner-blank-block" data-topicSystem="true">添加通栏</div>');
this.layout = layout;
$(doc.body).prepend(layout);
},
initEvent: function () {
this.layout.on('click', $.proxy(this.createBanner, this));
},
createBanner: function () {
var params = topic_global_params.page;
var messageData = {
handler: 'createCallback',
scope: 'topic.bannerBlank',
sender: 'window.parent',
data: {
pageDigest: params.digest,
pageId: params.id,
bodyList: '-1'
}
};
this.dialog = new topic.module.Dialog({
title: '新建通栏',
url: conf.bannerCreateUrl + '?postMessage__=' + encodeURIComponent(JSON.stringify(messageData)),
width: 800,
height: 600
});
},
createCallback: function (data, option) {
data = JSON.parse(decodeURIComponent(data));
option = JSON.parse(decodeURIComponent(option));
var param = {
'id': data.data.id,
renderType: 'edit',
pageId: topic_global_params.page.id
};
$.ajax({
url: conf.bannerRefreshUrl,
data: param,
dataType: 'jsonp',
context: this,
success: function (msg) {
if (msg.code === 1) {
this.insertHtml(msg.data.content);
this.dialog.closeIt();
this.trigger('create');
} else {
alert(msg.msg);
}
}
});
},
insertHtml: function (content) {
$(doc.body).prepend(content);
this.destory();
},
destory: function () {
this.layout.remove();
}
};
topic.Events.mixTo(bannerBlank);
lib.ns('topic').bannerBlank = bannerBlank;
}(topicJquery, topic.utils, topic.conf));