refactor(typesetting): Wave2 - 表格字号移位+画布header+对齐下拉+移除历史UI

- T3: 表格字号从设置弹框移到渲染预览header工具栏
- T4: 画布预览区添加header bar和重置对齐按钮
- T5: 对齐按钮改为select下拉,change仅CSS操作不重渲染
- T6: 移除历史记录UI(按钮/菜单/处理函数/URL变量)
- CSS: alignment-toggle样式替换为alignment-select样式
This commit is contained in:
augushong
2026-05-17 00:30:25 +08:00
parent aa067ad202
commit ee9e2acca2
3 changed files with 138 additions and 198 deletions

View File

@@ -569,42 +569,26 @@
margin-top: 6px;
}
.thumb-alignment-toggle {
.thumb-alignment-select {
position: absolute;
top: 8px;
right: 8px;
bottom: 4px;
right: 4px;
height: 22px;
font-size: 11px;
border: 1px solid #d9d9d9;
border-radius: 3px;
padding: 0 2px;
background: #fff;
cursor: pointer;
z-index: 10;
opacity: 0;
width: 24px;
height: 24px;
border-radius: 4px;
background: rgba(0, 0, 0, 0.06);
display: flex;
align-items: center;
justify-content: center;
font-size: calc(14px * var(--pi-font-scale, 1));
color: #666;
user-select: none;
border: none;
padding: 0;
cursor: pointer;
transition: opacity 0.2s;
}
.preview-thumb-item:hover .thumb-alignment-toggle {
.preview-thumb-item:hover .thumb-alignment-select {
opacity: 1;
}
.thumb-alignment-toggle:hover {
background: rgba(0, 0, 0, 0.1);
}
.thumb-alignment-toggle.active-center {
opacity: 1;
background: rgba(24, 144, 255, 0.15);
color: #1890ff;
}
/* ============================================
Content Flow Code Blocks (中间栏代码块样式)
仅用于编辑区中间栏, 不影响渲染页面

View File

@@ -1260,18 +1260,16 @@ var PhoneImageEngine = (function () {
var $pageNum = $('<span class="preview-thumb-page-num">' + (pageIndex + 1) + '</span>');
$item.append($pageNum);
// 对齐按钮(仅内容页)
// 对齐下拉(仅内容页)
if (pageData && pageData.type === 'content') {
var pageNum = pageData.pageNum || (pageIndex);
var currentAlign = (config.pageAlignments && config.pageAlignments[pageNum]) || 'top';
var isActiveCenter = currentAlign === 'center';
var isActiveBottom = currentAlign === 'bottom';
var activeClass = isActiveCenter ? ' active-center' : (isActiveBottom ? ' active-bottom' : '');
var symbol = isActiveCenter ? '\u2195' : (isActiveBottom ? '\u2193' : '\u2191');
var $toggle = $('<button class="thumb-alignment-toggle' + activeClass + '" data-page-index="' + pageIndex + '" data-page-num="' + pageNum + '">' +
symbol +
'</button>');
$item.append($toggle);
var $select = $('<select class="thumb-alignment-select" data-page-index="' + pageIndex + '" data-page-num="' + pageNum + '">' +
'<option value="top"' + (currentAlign === 'top' ? ' selected' : '') + '>置顶</option>' +
'<option value="center"' + (currentAlign === 'center' ? ' selected' : '') + '>居中</option>' +
'<option value="bottom"' + (currentAlign === 'bottom' ? ' selected' : '') + '>底部</option>' +
'</select>');
$item.append($select);
}
$preview.append($item);
@@ -1629,24 +1627,24 @@ var PhoneImageEngine = (function () {
return div.innerHTML;
}
// ===== 对齐按钮事件委托 =====
$(document).on('click', '.thumb-alignment-toggle', function () {
var $btn = $(this);
var pageNum = parseInt($btn.attr('data-page-num'), 10);
var currentAlign = (config.pageAlignments && config.pageAlignments[pageNum]) || 'top';
// ===== 对齐下拉事件委托 =====
$(document).on('change', '.thumb-alignment-select', function () {
var $select = $(this);
var pageNum = parseInt($select.attr('data-page-num'), 10);
var align = $select.val();
// 三态循环: top -> center -> bottom -> top
var nextAlign;
if (currentAlign === 'top') {
nextAlign = 'center';
} else if (currentAlign === 'center') {
nextAlign = 'bottom';
setPageAlignment(pageNum, align);
// 仅CSS变更不触发完整重渲染
var $thumbItem = $select.closest('.preview-thumb-item');
var $thumbImg = $thumbItem.find('.preview-thumb-img');
if (align === 'center') {
$thumbImg.css({ 'align-self': 'center' });
} else if (align === 'bottom') {
$thumbImg.css({ 'align-self': 'flex-end' });
} else {
nextAlign = 'top';
$thumbImg.css({ 'align-self': 'flex-start' });
}
setPageAlignment(pageNum, nextAlign);
render();
});
// ===== 公开API =====