/** * 更新layout信息 * @param json * @param cb */ function httpUpdateLayout(json, cb) { var data = JSON.stringify({ project_name: projectName, action: 'update', data: { layout_id: String(json.id), Name: json.name, Name_eng: json.nameEng, Width: String(json.width), Height: String(json.height), BackgroundPic: String(json.backgroundImage.id === -1 ? 0: json.backgroundImage.id), BackgroundColor: json.backgroundColor, TopMargin: String(json.topMargin), RightMargin: String(json.rightMargin), LeftMargin: String(json.leftMargin), BottomMargin: String(json.bottomMargin) } }); util.ajax('post', requestUrl + '/backend_mgt/v1/layout', data, function (res) { if (Number(res.rescode) !== 200) { cb(res); return; } cb(); }); }
function loadLayoutData(layoutId) { var layout = db.collection('layout').select({id: layoutId})[0]; // layout is cached if (layout) { initProgramView(); } // layout is not cached else { var loadLayoutDeferred = $.Deferred(), data = JSON.stringify({ Action: 'GetControlBoxs', Project: projectName, ProgramID: programId }); loadLayoutDeferred.then(loadWidgetsData).done(initProgramView); util.ajax('post', requestUrl + '/backend_mgt/v1/programs', data, function (res) { var layoutRow = parseLayoutData(res.Layout); layoutRow.id = layoutId; db.collection('layout').load(layoutRow); loadLayoutDeferred.resolve(res.ControlBoxs); }); } }
widgetsNeedAdd.forEach(function (el, idx) { var data = JSON.stringify({ project_name: projectName, action: 'addLCB', data: { Left: String(el.left), Width: String(el.width), Top: String(el.top), Height: String(el.height), layout_id: String(json.id), layout_controlbox_id: String(el.id), Type: String(el.type), Zorder: String(zIndexes[idx]) } }); util.ajax('post', requestUrl + '/backend_mgt/v1/layout', data, function (res) { if (!failed && Number(res.rescode) !== 200) { cb(res); failed = true; return; } successCount++; el.id = el.widget.mId = res.ID; if (successCount === widgetsNeedAdd.length) { cb(); } }); });
exports.init = function() { layoutId = Number(util.getHashParameters().id); if (!isNaN(layoutId)) { var data = JSON.stringify({ project_name: projectName, action: 'getCBLList', data: { layout_id: layoutId } }); util.ajax('post', requestUrl + '/backend_mgt/v1/layout', data, onLayoutDataAvaiable); } else { var defaultLayout = { layout_id: -1, Name: '新建布局', Name_eng: 'new layout', Width: '1920', Height: '1080', BackgroundPic: '', BackgroundColor: '#000000', TopMargin: '0', RightMargin: '0', BottomMargin: '0', LeftMargin: '0', Layout_ControlBoxs: [] }; onLayoutDataAvaiable(defaultLayout); } };
function deleteChannel() { var data = JSON.stringify({ Action: 'Delete', Project: projectName }); util.ajax('post', requestUrl + '/backend_mgt/v1/channels/' + getCurrentChannelId(), data, function (res) { console.log(res); alert(Number(res.rescode) === 200 ? '删除成功' : '删除失败'); }); }
function copyChannel() { var data = JSON.stringify({ Action: 'Copy', Project: projectName, ChannelID: getCurrentChannelId() }); util.ajax('post', requestUrl + '/backend_mgt/v1/channels', data, function (res) { console.log(res); alert(Number(res.rescode) === 200 ? '复制成功' : '复制失败'); }); }
function loadPage(pageNum) { var pager = { page: String(pageNum), total: '0', per_page: nDisplayItems, orderby: 'CreateTime', sortby: 'DESC', keyword: $('#channel-list-search').val() }; var data = JSON.stringify({ action: 'listPage', project_name: projectName, Pager: pager }); util.ajax('post', requestUrl + '/backend_mgt/v1/layout', data, render); }
// 加载页面数据 function loadPage(pageNum) { var pager = { page: String(pageNum), total: '0', per_page: String(nDisplayItems), orderby: 'ID', sortby: '', keyword: keyword }; var data = JSON.stringify({ Action: 'GetPage', Project: projectName, Pager: pager }); util.ajax('post', requestUrl + '/backend_mgt/v1/channels', data, render); }
/** * 批量更新 * @param json * @param cb */ function httpUpdateWidgets(json, cb) { var widgetsNeedUpdate = []; var zIndex = 0; json.widgets.forEach(function (el) { if (el.id !== -1) { widgetsNeedUpdate.push({ Left: el.left, Width: el.width, Top: el.top, Height: el.height, layout_id: String(json.id), layout_controlbox_id: String(el.id), Type: String(el.type), Zorder: String(zIndex) }); } zIndex++; }); var data = JSON.stringify({ project_name: config.projectName, action: 'updateCBLList', data: { layout_id: String(json.id), Name: json.name, Name_eng: json.nameEng, Width: String(json.width), Height: String(json.height), BackgroundPic: String(json.backgroundImage.id), BackgroundColor: json.backgroundColor, TopMargin: json.topMargin, LeftMargin: json.leftMargin, RightMargin: json.rightMargin, BottomMargin: json.bottomMargin, Layout_ControlBoxs: widgetsNeedUpdate } }); util.ajax('post', requestUrl + '/backend_mgt/v1/layout', data, function (res) { if (Number(res.rescode) !== 200) { cb(res); return; } cb(); }); }
widgetRows.forEach(function (row) { row.layout_id = layoutId; db.collection('widget').load(row); var defer = $.Deferred(), data = JSON.stringify({ Action: 'GetMaterials', Project: projectName, ControlBoxID: row.id }); promises.push(defer); util.ajax('post', requestUrl + '/backend_mgt/v1/controlboxes', data, function (res) { var materialRows = res.Materials.map(parseMaterialData); materialRows.forEach(function (row) { db.collection('material').load(row); }); defer.resolve(); }); });
function onDeleteLayout(ev) { if (confirm("确定删除该模板?")) { var data = JSON.stringify({ project_name: projectName, action: 'delete', data: { layout_id: getCurrentLayoutId() } }); util.ajax('post', requestUrl + '/backend_mgt/v1/layout', data, function (res) { if (Number(res.rescode) === 200) { alert('删除成功!'); } else { alert('删除失败,有频道正在使用它!'); } loadPage(1); }); } }
widgetsNeedDelete.forEach(function (el) { var data = JSON.stringify({ project_name: projectName, action: 'deleteLCB', data: { layout_controlbox_id: String(el) } }); util.ajax('post', requestUrl + '/backend_mgt/v1/layout', data, function (res) { if (!failed && Number(res.rescode) !== 200) { cb(res); failed = true; return; } successCount++; if (successCount === widgetsNeedDelete.length) { cb(); } }); });