Merge branch 'develop' into feature/login-nextjs

This commit is contained in:
Timofey Boyko 2024-05-02 14:58:26 +03:00
commit c02c69d222
13 changed files with 74 additions and 40 deletions

View File

@ -17,7 +17,7 @@
"MakeRoomPrivateTitle": "将房间设为私密",
"PeopleSelectorInfo": "只有房间管理员或协作空间管理员才能成为房间的所有者",
"PublicRoomBarDescription": "所有人都可以通过链接进入此房间。外部用户拥有“仅查看”权限,可查看所有文件",
"PublicRoomDescription": "邀请用户通过外部链接查看文档,无需注册。您也可以将此房间嵌入任意网络界面。",
"PublicRoomDescription": "通过外部链接,邀请其他用户查看文档而无需注册。您也可以将此类房间嵌入任意的网络界面。",
"PublicRoomSystemFoldersDescription": "不同完成阶段的表单副本存储在“系统”文件夹中。正在填写的表单存储在“处理中”文件夹中,填写完成的表单存储在“完成”文件夹中。",
"PublicRoomSystemFoldersTitle": "系统文件夹",
"ReviewRoomDescription": "请求审阅或评论文档",

View File

@ -33,8 +33,8 @@
"DefaultColumnsOption": "默认(数量取决于屏幕宽度)",
"Descending": "降序",
"DisplayColumns": "显示文件行中的列",
"DocspaceDescription": "嵌入整个协作空间,以支持用户与所有房间、文件和设置交互。",
"EditorDescription": "嵌入编辑器,以支持用户通过对应的间编辑文件。",
"DocspaceDescription": "嵌入整个协作空间,让用户能够与所有房间、文件和设置进行交互。",
"EditorDescription": "嵌入编辑器,让用户能够从对应的房间编辑文件。",
"ElementCalledAfterClicking": "点击后元素会被调用",
"ElementItself": "元素本身",
"EmbedCodeSuccessfullyCopied": "获取要插入的代码",
@ -48,7 +48,7 @@
"FileId": "文件 ID",
"FilePreview": "文件预览",
"FileSelector": "文件选择器",
"FileSelectorDescription": "嵌入文件选择器,以支持用户访问可用文件列表中的任意文件。",
"FileSelectorDescription": "嵌入文件选择器,让用户能够访问允许列表中的文件。",
"FilesSearchDescription": "在打开的文件夹/房间内搜索文件。",
"FileTypeDisplay": "文件类型显示",
"FrameId": "帧 ID",
@ -76,13 +76,13 @@
"MenuDescription": "如果用户不需要进入其他板块,您可以关闭左侧菜单。",
"MobileOnly": "仅移动设备",
"Page": "显示页面(页数)",
"PublicRoomDescription": "嵌入公共房间,支持用户无需注册即可查看其中储存的所有文档。",
"PublicRoomDescription": "嵌入公共房间,让用户无需注册即可查看公共房间中的所有文档。",
"RightPanelCollapsed": "右侧面板已收起",
"RoomOrFolder": "房间或文件夹",
"RoomOrFolderDescription": "可选择要显示的板块、房间或文件夹",
"RoomPreview": "房间预览",
"RoomSelector": "房间选择器",
"RoomSelectorDescription": "嵌入房间选择器,支持用户访问可用房间列表中的任意房间。",
"RoomSelectorDescription": "嵌入房间选择器,让用户能够访问允许列表中的房间。",
"RoomTypeDisplay": "房间类型显示",
"Rotate": "旋转",
"Scale": "缩放",
@ -104,5 +104,5 @@
"SubtitleDescription": "包含当前目录的附加注释或描述的副标题。",
"TabPlugins": "选项卡插件",
"Viewer": "查看器",
"ViewerDescription": "嵌入查看器,以支持用户打开文件,通过对应的房间查看。"
"ViewerDescription": "嵌入查看器,让用户能够从对应的房间打开文件并进行查看。"
}

View File

@ -84,13 +84,13 @@
"DataBackup": "数据备份",
"DataImport": "数据导入",
"DataImportComplete": "数据导入完成",
"DataImportDescription": "将第三方服务数据导入 ONLYOFFICE 协作空间。数据导入支持传输数据,例如所有用户、其个人和共享文档。",
"DataImportDescription": "将第三方数据导入 ONLYOFFICE 协作空间。该功能可以转移数据,例如所有用户、他们的个人文件或与其共享的文件。",
"DataImportProcessing": "数据导入处理",
"Deactivate": "停用",
"DeactivateOrDeletePortal": "停用或删除协作空间。",
"DefaultSettings": "默认设置",
"DefineQuotaPerRoom": "定义每个房间的配额",
"DefineQuotaPerUser": "定义每位用户的配额",
"DefineQuotaPerRoom": "设置每个房间的额度",
"DefineQuotaPerUser": "设置每个用户的额度",
"DeleteDocSpace": "删除协作空间",
"DeleteDocSpaceInfo": "删除空间前,请确保已关闭自动计费。您可在 <1>Stripe 客户门户</1>中查看自动计费状态。",
"DeleteTheme": "删除主题",
@ -202,8 +202,8 @@
"ProjectsDescription": "每个项目会被导入为一个房间,包含项目中所有的文档和用户。项目经理会成为房间的所有者",
"QuotaPerRoom": "每个房间的配额",
"QuotaPerUser": "每位用户的配额",
"Quotas": "配额",
"QuotasDescription": "您可以在此处设置用户和房间的储空间额。<1>帮助中心。</1>",
"Quotas": "配额",
"QuotasDescription": "您可以设置用户和房间的储空间额 <1>帮助中心。</1>",
"Recalculate": "重新计算",
"RecoveryFileNotSelected": "恢复错误。未选择恢复文件",
"RestoreBackup": "数据恢复",
@ -232,8 +232,8 @@
"SessionLifetime": "会话寿命",
"SessionLifetimeMobileDescription": "通过会话生存期,可设置协作空间用户需要再输入凭据才能访问空间的时间(单位为分钟)。",
"SessionLifetimeSettingDescription": "调整会话生命周期,可定义自动注销的时间段。保存后,会对所有用户执行注销。",
"SetDefaultRoomQuota": "为协作空间中的房间设置默认存储空间配额。房间管理员后续可对每个房间单独调整。",
"SetDefaultUserQuota": "为协作空间中的用户设置存储空间配额。用户配额会影响每位用户“我的文档”文件夹的存储空间上限。",
"SetDefaultRoomQuota": "设置此协作空间中,房间的默认储存空间额度。房间管理员后续可对每个房间进行单独调整。",
"SetDefaultUserQuota": "设置此协作空间的用户的储存空间额度。此操作会影响每位用户“我的文档”板块的储存空间限制。",
"SettingPasswordDescription": "配置密码强度设置,强制使用更安全的强密码。",
"SettingPasswordStrengthMobileDescription": "通过“密码强度设置”,确定密码阻止猜测和暴力攻击的有效性。",
"SettingPasswordTittle": "密码强度设置",

View File

@ -24,7 +24,7 @@
"LinkCopySuccess": "链接已复制到剪贴板中",
"LinkHasExpiredAndHasBeenDisabled": "此链接过期,已被禁用",
"LinkValidTime": "该链接仅在{{days_count}}天内有效。",
"NewForm": "PDF表格",
"NewForm": "PDF 表单",
"Other": "其他",
"OwnerChange": "变更所有者",
"Presentations": "演示文稿",
@ -42,7 +42,7 @@
"RoleUserDescription": "用户仅可访问管理员已邀请其加入的房间。其不能创建房间、文件夹或文件。",
"RoleViewer": "可查看",
"RoleViewerDescription": "文件查看",
"SearchByHeadOfGroup": "按群组负责人进行搜索",
"SearchByHeadOfGroup": "按组长进行搜索",
"SearchByOwner": "按所有者搜索",
"Spreadsheets": "电子表格",
"SubNewForm": "空白",

View File

@ -339,7 +339,7 @@ const FilesSelectorWrapper = ({
isThirdParty={isThirdParty}
rootThirdPartyId={rootThirdPartyId}
roomsFolderId={roomsFolderId}
currentFolderId={currentFolderId || 0}
currentFolderId={currentFolderId}
parentId={parentId}
rootFolderType={rootFolderType || FolderType.Rooms}
currentDeviceType={currentDeviceType}
@ -485,7 +485,7 @@ export default inject(
(rootFolderType === FolderType.Archive ||
rootFolderType === FolderType.TRASH
? undefined
: selectedId !== selectionsWithoutEditing[0]?.id
: selectedId === selectionsWithoutEditing[0]?.id
? parentId
: selectedId);

View File

@ -53,6 +53,7 @@ const Accounts = (props) => {
setPeopleBufferSelection,
showStorageInfo,
standalone,
} = props;
const navigate = useNavigate();
@ -233,6 +234,8 @@ const Accounts = (props) => {
</Text>
{typeData}
{!standalone && (
<>
<Text className={"info_field"} noSelect title={t("UserStatus")}>
{t("UserStatus")}
</Text>
@ -245,6 +248,8 @@ const Accounts = (props) => {
>
{statusText}
</Text>
</>
)}
{showStorageInfo && (
<>
<Text
@ -310,6 +315,7 @@ export default inject(
accessRightsStore,
infoPanelStore,
currentQuotaStore,
settingsStore,
}) => {
const { isOwner, isAdmin, id: selfId } = userStore.user;
const { changeType: changeUserType, usersStore } = peopleStore;
@ -323,6 +329,8 @@ export default inject(
} = peopleStore.selectionStore;
const { showStorageInfo } = currentQuotaStore;
const { standalone } = settingsStore;
return {
isOwner,
isAdmin,
@ -335,6 +343,7 @@ export default inject(
setPeopleSelection,
setPeopleBufferSelection,
showStorageInfo,
standalone,
};
},
)(

View File

@ -147,7 +147,7 @@ const Editor = ({
)?.["Editor"] as {
[key: string]: string;
}
)?.["FileLocation"];
)?.["FileLocation"]; // t("FileLocation");
if (editorGoBack === "false" || user?.isVisitor || !user) {
} else if (editorGoBack === "event") {
@ -305,3 +305,4 @@ const Editor = ({
};
export default Editor;

View File

@ -126,6 +126,7 @@ export const StyledBody = styled.div`
max-width: 960px;
width: 100vw;
margin-bottom: 16px;
@media ${mobile} {
margin: 0 auto;

View File

@ -155,7 +155,7 @@ const Login = ({
: window.open(
url,
"login",
"width=800,height=500,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=no",
"width=800,height=500,status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=no,popup=yes",
);
const code: string = await getOAuthToken(tokenGetterWin);

View File

@ -107,6 +107,7 @@ export type UseFilesHelpersProps = {
value: number | string | undefined | TBreadCrumb[],
) => void;
isRoomsOnly: boolean;
isUserOnly?: boolean;
rootThirdPartyId?: string;
getRoomList?: (
startIndex: number,
@ -149,6 +150,7 @@ export type FilesSelectorProps = (
value: number | string | undefined | TBreadCrumb[],
) => void;
isUserOnly?: boolean;
openRoot?: boolean;
isRoomsOnly: boolean;
isThirdParty: boolean;
rootThirdPartyId?: string;

View File

@ -65,6 +65,7 @@ const useFilesHelper = ({
getRootData,
onSetBaseFolderPath,
isRoomsOnly,
isUserOnly,
rootThirdPartyId,
getRoomList,
getIcon,
@ -145,7 +146,7 @@ const useFilesHelper = ({
}
}
const id = selectedItemId || "";
const id = isUserOnly ? "@my" : selectedItemId || "";
filter.folder = id.toString();
@ -153,7 +154,7 @@ const useFilesHelper = ({
folderId: string | number,
isErrorPath = false,
) => {
if (initRef.current && getRootData) {
if (initRef.current && getRootData && folderId !== "@my") {
const folder = await getFolderInfo(folderId, true);
const isArchive = folder.rootFolderType === FolderType.Archive;
@ -251,7 +252,7 @@ const useFilesHelper = ({
// if (item.roomType) breadCrumbs[idx].isRoom = true;
// });
if (!isThirdParty && !isRoomsOnly)
if (!isThirdParty && !isRoomsOnly && !isUserOnly)
breadCrumbs.unshift({ ...DEFAULT_BREAD_CRUMB });
onSetBaseFolderPath?.(isErrorPath ? [] : breadCrumbs);
@ -312,6 +313,7 @@ const useFilesHelper = ({
setIsNextPageLoading,
searchValue,
filterParam,
isUserOnly,
selectedItemId,
getRootData,
setSelectedItemSecurity,

View File

@ -76,6 +76,7 @@ const FilesSelector = ({
onSetBaseFolderPath,
isUserOnly,
isRoomsOnly,
openRoot,
isThirdParty,
rootThirdPartyId,
roomsFolderId,
@ -186,6 +187,7 @@ const FilesSelector = ({
setIsRoot,
searchValue,
isRoomsOnly,
onSetBaseFolderPath,
isInit,
setIsInit,
@ -211,6 +213,7 @@ const FilesSelector = ({
getRootData,
onSetBaseFolderPath,
isRoomsOnly,
isUserOnly,
rootThirdPartyId,
getRoomList,
getIcon,
@ -289,7 +292,7 @@ const FilesSelector = ({
return;
}
if (!currentFolderId) {
if (!currentFolderId && !isUserOnly && !openRoot) {
setSelectedItemType("rooms");
return;
}
@ -311,9 +314,11 @@ const FilesSelector = ({
currentFolderId,
isRoomsOnly,
isThirdParty,
isUserOnly,
parentId,
roomsFolderId,
rootFolderType,
openRoot,
setIsFirstLoad,
]);
@ -439,10 +444,24 @@ const FilesSelector = ({
);
React.useEffect(() => {
if (selectedItemType === "rooms") getRoomList(0);
if (selectedItemType === "rooms") {
getRoomList(0);
return;
}
if (openRoot && !selectedItemId) {
getRootData();
return;
}
if (selectedItemType === "files" && typeof selectedItemId !== "undefined")
getFileList(0);
}, [getFileList, getRoomList, selectedItemType, selectedItemId]);
}, [
getFileList,
getRoomList,
selectedItemType,
selectedItemId,
getRootData,
openRoot,
]);
const headerProps: TSelectorHeader = withHeader
? { withHeader, headerProps: { headerLabel } }

View File

@ -126,7 +126,7 @@
"Duplicate": "创建副本",
"EditButton": "编辑",
"Editing": "编辑",
"Editor": "编辑",
"Editor": "编辑",
"Email": "电子邮件",
"EmptyDescription": "之前邀请至协作空间或单独房间的用户列表将在此处展示。您可随时邀请这些用户进行协作。",
"EmptyEmail": "没有解析邮件",
@ -179,7 +179,7 @@
"Groups": "群组",
"GroupsNotFoundDescription": "没有与您的搜索条件匹配的群组。请调整搜索参数,或清除搜索字段查看完整的群组列表。",
"HasFullAccess": "有完整的房间访问权限",
"HeadOfGroup": "群组负责人",
"HeadOfGroup": "组长",
"HelpCenter": "帮助中心",
"HideArticleMenu": "隐藏菜单",
"Homepage": "主页",