修改功能
This commit is contained in:
+28
-7
@@ -14,6 +14,15 @@
|
||||
})(typeof globalThis !== 'undefined' ? globalThis : window, function (root) {
|
||||
'use strict';
|
||||
|
||||
function confirmAction(message) {
|
||||
if (root.ProfileUI && typeof root.ProfileUI.confirmAction === 'function') {
|
||||
return root.ProfileUI.confirmAction(message);
|
||||
}
|
||||
return Promise.resolve(!root['confirm'] || root['confirm'](message));
|
||||
}
|
||||
|
||||
var MediaDisplay = root.MediaDisplay || (typeof require === 'function' ? require('./media-display.js') : null);
|
||||
|
||||
var documentRef = root.document;
|
||||
var PAGE_SIZE = 20;
|
||||
var currentFeedPage = 1;
|
||||
@@ -339,7 +348,6 @@
|
||||
'publisherNickName',
|
||||
'publisherStatus',
|
||||
'feedType',
|
||||
'mediaOssIds',
|
||||
'likedByMe',
|
||||
'likeCount',
|
||||
'commentCount',
|
||||
@@ -351,6 +359,8 @@
|
||||
'createTime',
|
||||
'updateTime'
|
||||
]);
|
||||
var mediaFiles = MediaDisplay ? MediaDisplay.normalizeFileList(item && item.mediaFiles) : [];
|
||||
if (mediaFiles.length) feed.mediaFiles = mediaFiles;
|
||||
if (toId(item.genealogyId)) feed.genealogyId = toId(item.genealogyId);
|
||||
if (toId(item.publisherUserId)) feed.publisherUserId = toId(item.publisherUserId);
|
||||
return feed;
|
||||
@@ -438,7 +448,7 @@
|
||||
|
||||
function renderFeedRow(feed, genealogyId) {
|
||||
var canDelete = viewerContext.userId && viewerContext.userId === feed.publisherUserId;
|
||||
var mediaCount = feed.mediaOssIds ? String(feed.mediaOssIds).split(',').filter(Boolean).length : 0;
|
||||
var mediaCount = Array.isArray(feed.mediaFiles) ? feed.mediaFiles.length : 0;
|
||||
var title = feed.publisherNickName || feed.genealogyName || '家族动态';
|
||||
var meta = [];
|
||||
var actions = '';
|
||||
@@ -458,11 +468,12 @@
|
||||
actions += '<a class="pill" href="' + escapeHtml(buildFeedUrl('edit', genealogyId, feed.feedId)) + '">编辑</a>';
|
||||
}
|
||||
if (canDelete) {
|
||||
actions += '<button class="pill" type="button" data-feed-delete="' + escapeHtml(feed.feedId) + '">删除</button>';
|
||||
actions += '<button class="pill is-danger" type="button" data-feed-delete="' + escapeHtml(feed.feedId) + '">删除</button>';
|
||||
}
|
||||
|
||||
return '<article class="module-row feed-row" data-feed-id="' + escapeHtml(feed.feedId) + '">' +
|
||||
'<div><h3>' + escapeHtml(title) + '</h3><p>' + escapeHtml(feed.feedContent) + '</p>' +
|
||||
(MediaDisplay ? MediaDisplay.renderGallery(feed.mediaFiles, { label: '动态附件', className: 'feed-media-gallery' }) : '') +
|
||||
'<p class="module-meta">' + escapeHtml(meta.join(' · ')) + '</p></div>' +
|
||||
'<div class="row-actions">' + actions + '</div></article>';
|
||||
}
|
||||
@@ -520,7 +531,7 @@
|
||||
if (!comment.userDeleted) {
|
||||
actions += '<button class="pill" type="button" data-feed-comment-reply="' + escapeHtml(comment.commentId) + '" data-feed-id="' + escapeHtml(feedId) + '">回复</button>';
|
||||
if (canDelete) {
|
||||
actions += '<button class="pill" type="button" data-feed-comment-delete="' + escapeHtml(comment.commentId) + '" data-feed-id="' + escapeHtml(feedId) + '">删除评论</button>';
|
||||
actions += '<button class="pill is-danger" type="button" data-feed-comment-delete="' + escapeHtml(comment.commentId) + '" data-feed-id="' + escapeHtml(feedId) + '">删除评论</button>';
|
||||
}
|
||||
}
|
||||
if (hasReplies(comment)) {
|
||||
@@ -671,11 +682,12 @@
|
||||
actions += '<a class="pill" href="' + escapeHtml(buildFeedUrl('edit', genealogyId, feed.feedId)) + '">编辑</a>';
|
||||
}
|
||||
if (canDelete) {
|
||||
actions += '<button class="pill" type="button" data-feed-delete="' + escapeHtml(feed.feedId) + '">删除</button>';
|
||||
actions += '<button class="pill is-danger" type="button" data-feed-delete="' + escapeHtml(feed.feedId) + '">删除</button>';
|
||||
}
|
||||
container.setAttribute('data-feed-id', feed.feedId);
|
||||
container.innerHTML = '<h2>' + escapeHtml(feed.publisherNickName || feed.genealogyName || '家族动态') + '</h2>' +
|
||||
'<p>' + escapeHtml(feed.feedContent) + '</p>' +
|
||||
(MediaDisplay ? MediaDisplay.renderGallery(feed.mediaFiles, { label: '动态附件', className: 'feed-media-gallery' }) : '') +
|
||||
'<p class="module-meta">' +
|
||||
escapeHtml([
|
||||
feed.createTime || '',
|
||||
@@ -744,6 +756,15 @@
|
||||
var api = getApi();
|
||||
var genealogyId;
|
||||
var feedId = getCurrentFeedId();
|
||||
var isEditing = Boolean(feedId);
|
||||
var editorTitle = isEditing ? '编辑动态' : '发布动态';
|
||||
|
||||
if (root.document) root.document.title = editorTitle + ' - 个人中心 - 代代相传';
|
||||
if (query('[data-feed-editor-kicker]')) query('[data-feed-editor-kicker]').textContent = editorTitle;
|
||||
if (query('[data-feed-editor-title]')) query('[data-feed-editor-title]').textContent = editorTitle;
|
||||
queryAll('[data-feed-editor-action]').forEach(function (button) {
|
||||
button.textContent = isEditing ? '保存修改' : '发布动态';
|
||||
});
|
||||
|
||||
if (redirectUnauthorized(api)) return;
|
||||
genealogyId = requireGenealogyId();
|
||||
@@ -905,7 +926,7 @@
|
||||
if (redirectUnauthorized(api)) return;
|
||||
genealogyId = requireGenealogyId();
|
||||
if (!genealogyId || !feedId) return;
|
||||
if (root.confirm && !root.confirm('确认删除这条动态吗?')) return;
|
||||
if (!await confirmAction('确认删除这条动态吗?')) return;
|
||||
return withActionLock('delete:' + feedId, async function () {
|
||||
try {
|
||||
await api.deleteFeed(genealogyId, feedId);
|
||||
@@ -1044,7 +1065,7 @@
|
||||
if (redirectUnauthorized(api)) return;
|
||||
genealogyId = requireGenealogyId();
|
||||
if (!genealogyId || !feedId || !commentId) return;
|
||||
if (root.confirm && !root.confirm('确认删除这条评论吗?')) return;
|
||||
if (!await confirmAction('确认删除这条评论吗?')) return;
|
||||
return withActionLock('delete-comment:' + commentId, async function () {
|
||||
try {
|
||||
await api.deleteFeedComment(genealogyId, feedId, commentId);
|
||||
|
||||
Reference in New Issue
Block a user