UNPKG

nyx_server

Version:

Node内容发布

104 lines (85 loc) 2.54 kB
(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));