mirror of
https://gitee.com/ulthon/ulthon_information.git
synced 2026-07-09 18:52:47 +08:00
refactor(phone-image): thumbnail alignment toggles and saveImages uses staging
This commit is contained in:
@@ -76,7 +76,7 @@ var PhoneImageEngine = (function () {
|
|||||||
// 内容流事件委托(只绑定一次)
|
// 内容流事件委托(只绑定一次)
|
||||||
$(document).off('click', '.break-inserter-btn');
|
$(document).off('click', '.break-inserter-btn');
|
||||||
$(document).off('click', '.remove-break-btn');
|
$(document).off('click', '.remove-break-btn');
|
||||||
$(document).off('click', '.page-alignment-toggle');
|
$(document).off('click', '.thumb-alignment-toggle');
|
||||||
|
|
||||||
$(document).on('click', '.break-inserter-btn', function () {
|
$(document).on('click', '.break-inserter-btn', function () {
|
||||||
var afterIndex = parseInt($(this).parent().data('after-index'), 10);
|
var afterIndex = parseInt($(this).parent().data('after-index'), 10);
|
||||||
@@ -88,7 +88,7 @@ var PhoneImageEngine = (function () {
|
|||||||
removePageBreak(index);
|
removePageBreak(index);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on('click', '.page-alignment-toggle', function () {
|
$(document).on('click', '.thumb-alignment-toggle', function () {
|
||||||
var pageNum = parseInt($(this).data('page-num'), 10);
|
var pageNum = parseInt($(this).data('page-num'), 10);
|
||||||
var currentAlign = (config.pageAlignments && config.pageAlignments[pageNum]) || 'top';
|
var currentAlign = (config.pageAlignments && config.pageAlignments[pageNum]) || 'top';
|
||||||
var newAlign = currentAlign === 'top' ? 'center' : 'top';
|
var newAlign = currentAlign === 'top' ? 'center' : 'top';
|
||||||
@@ -713,6 +713,17 @@ var PhoneImageEngine = (function () {
|
|||||||
var $pageNum = $('<span class="preview-thumb-page-num">' + (i + 1) + '/' + dataUrls.length + '</span>');
|
var $pageNum = $('<span class="preview-thumb-page-num">' + (i + 1) + '/' + dataUrls.length + '</span>');
|
||||||
$item.append($pageNum);
|
$item.append($pageNum);
|
||||||
|
|
||||||
|
// 对齐按钮(仅内容页)
|
||||||
|
if (pages[i] && pages[i].type === 'content') {
|
||||||
|
var pageNum = pages[i].pageNum || (i);
|
||||||
|
var currentAlign = (config.pageAlignments && config.pageAlignments[pageNum]) || 'top';
|
||||||
|
var isActiveCenter = currentAlign === 'center';
|
||||||
|
var $toggle = $('<button class="thumb-alignment-toggle' + (isActiveCenter ? ' active-center' : '') + '" data-page-index="' + i + '" data-page-num="' + pageNum + '">' +
|
||||||
|
(isActiveCenter ? '\u2195' : '\u2191') +
|
||||||
|
'</button>');
|
||||||
|
$item.append($toggle);
|
||||||
|
}
|
||||||
|
|
||||||
$preview.append($item);
|
$preview.append($item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -778,13 +789,6 @@ var PhoneImageEngine = (function () {
|
|||||||
return deferred.promise();
|
return deferred.promise();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 为每页渲染逐页对齐切换指示器
|
|
||||||
*/
|
|
||||||
function renderAlignmentToggles() {
|
|
||||||
// No-op: alignment toggles are now rendered as part of displayThumbnails
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 渲染内容流到 #content-flow 容器
|
* 渲染内容流到 #content-flow 容器
|
||||||
* @param {Array} blocks - parseHtmlToBlocks 返回的块数组
|
* @param {Array} blocks - parseHtmlToBlocks 返回的块数组
|
||||||
@@ -906,7 +910,8 @@ var PhoneImageEngine = (function () {
|
|||||||
function saveImages(postId, saveConfig, onProgress) {
|
function saveImages(postId, saveConfig, onProgress) {
|
||||||
var deferred = $.Deferred();
|
var deferred = $.Deferred();
|
||||||
|
|
||||||
generateImages(onProgress).then(function (canvases) {
|
capturePagesFromStaging().then(function (canvases) {
|
||||||
|
if (onProgress) onProgress(canvases.length, canvases.length, null);
|
||||||
var pagesData = [];
|
var pagesData = [];
|
||||||
for (var i = 0; i < canvases.length; i++) {
|
for (var i = 0; i < canvases.length; i++) {
|
||||||
pagesData.push(canvases[i].toDataURL('image/jpeg', 0.92));
|
pagesData.push(canvases[i].toDataURL('image/jpeg', 0.92));
|
||||||
@@ -1071,7 +1076,6 @@ var PhoneImageEngine = (function () {
|
|||||||
renderContentFlow: renderContentFlow,
|
renderContentFlow: renderContentFlow,
|
||||||
insertPageBreak: insertPageBreak,
|
insertPageBreak: insertPageBreak,
|
||||||
removePageBreak: removePageBreak,
|
removePageBreak: removePageBreak,
|
||||||
renderAlignmentToggles: renderAlignmentToggles,
|
|
||||||
exportLongImage: exportLongImage
|
exportLongImage: exportLongImage
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|||||||
Reference in New Issue
Block a user