Merge branch 'release/v1.2' into feature/doc-space-info-panel
This commit is contained in:
commit
8192017c9d
@ -8,5 +8,11 @@
|
||||
"ec73989085d4e1b984c1c9dca10524da",
|
||||
"d33ce05dc117d3a05c144460e6ce5f4b",
|
||||
"68b6c4a86f13eb0a609a8fc8d0716b11",
|
||||
"bbb2745af2925157dfd40fabf1464107"
|
||||
"bbb2745af2925157dfd40fabf1464107",
|
||||
"8fb07f574c99a9ad7669d92ac8acf549",
|
||||
"03058fb23232ac065da6be43ed82f239",
|
||||
"5f882705c26d8d59729f0f01c54dc257",
|
||||
"ccbcb4f4fb33846d0b0809afc789538d",
|
||||
"ba62baba8e6a765f6e8106c986fcf247",
|
||||
"5d23e886b5218f25a8f114b163df8db9"
|
||||
]
|
@ -87,7 +87,7 @@
|
||||
"viewed-media": [ ".aac", ".flac", ".m4a", ".mp3", ".oga", ".ogg", ".wav", ".f4v", ".m4v", ".mov", ".mp4", ".ogv", ".webm" ],
|
||||
"index": [ ".pptx", ".xlsx", ".docx" ],
|
||||
"oform": {
|
||||
"url": "https://cmsoforms.onlyoffice.com/api/oforms?populate=*",
|
||||
"url": "https://cmsoforms.onlyoffice.com/api/oforms?populate=*&locale=all",
|
||||
"period": 60,
|
||||
"ext": ".oform"
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import FilesFilter from "./filter";
|
||||
import { FolderType } from "../../constants";
|
||||
import find from "lodash/find";
|
||||
import { getFolderOptions } from "../../utils";
|
||||
import { Encoder } from "../../utils/encoder";
|
||||
|
||||
export function openEdit(fileId, version, doc, view) {
|
||||
const params = []; // doc ? `?doc=${doc}` : "";
|
||||
@ -48,9 +49,32 @@ export function getFolderPath(folderId) {
|
||||
return request(options);
|
||||
}
|
||||
|
||||
const decodeDisplayName = (items) => {
|
||||
return items.map((item) => {
|
||||
if (!item) return item;
|
||||
|
||||
if (item.updatedBy?.displayName) {
|
||||
item.updatedBy.displayName = Encoder.htmlDecode(
|
||||
item.updatedBy.displayName
|
||||
);
|
||||
}
|
||||
if (item.createdBy?.displayName) {
|
||||
item.createdBy.displayName = Encoder.htmlDecode(
|
||||
item.createdBy.displayName
|
||||
);
|
||||
}
|
||||
return item;
|
||||
});
|
||||
};
|
||||
|
||||
export function getFolder(folderId, filter) {
|
||||
const options = getFolderOptions(folderId, filter);
|
||||
return request(options);
|
||||
return request(options).then((res) => {
|
||||
res.files = decodeDisplayName(res.files);
|
||||
res.folders = decodeDisplayName(res.folders);
|
||||
|
||||
return res;
|
||||
});
|
||||
}
|
||||
|
||||
const getFolderClassNameByType = (folderType) => {
|
||||
|
@ -0,0 +1,95 @@
|
||||
import PropTypes from "prop-types";
|
||||
import React from "react";
|
||||
|
||||
import RectangleLoader from "../RectangleLoader";
|
||||
import {
|
||||
StyledAccessRow,
|
||||
StyledInfoRoomBody,
|
||||
StyledPropertiesTable,
|
||||
StyledPropertyRow,
|
||||
StyledSubtitle,
|
||||
StyledThumbnail,
|
||||
StyledIcon,
|
||||
StyledTitle,
|
||||
} from "./StyledInfoPanelBodyLoader";
|
||||
|
||||
const InfoPanelBodyLoader = ({
|
||||
id,
|
||||
className,
|
||||
style,
|
||||
isFolder,
|
||||
hasThumbnail,
|
||||
isVirtualRoom,
|
||||
...rest
|
||||
}) => {
|
||||
const {} = rest;
|
||||
|
||||
const randomNumber = (min, max) => Math.random() * (max - min) + min;
|
||||
|
||||
const customRectangleLoader = (width, height, rounded) => (
|
||||
<RectangleLoader
|
||||
width={"" + width}
|
||||
height={"" + height}
|
||||
borderRadius={"" + rounded}
|
||||
/>
|
||||
);
|
||||
|
||||
// const properties = isFolder
|
||||
// ? [19, 19, 17.6, 17.6, 17.6, 19, 17.6]
|
||||
// : [19, 19, 17.6, 17.6, 17.6, 17.6, 17.6, 19, 17.6, 17.6, 17.6];
|
||||
|
||||
const properties = isFolder
|
||||
? [19, 17.6, 17.6, 17.6, 19, 17.6]
|
||||
: [19, 17.6, 17.6, 17.6, 17.6, 17.6, 19, 17.6, 17.6, 17.6];
|
||||
|
||||
return (
|
||||
<StyledInfoRoomBody id={id} className={className} style={style}>
|
||||
<StyledTitle>
|
||||
{customRectangleLoader(32, 32, 3)}
|
||||
{customRectangleLoader(250, 22, 3)}
|
||||
</StyledTitle>
|
||||
|
||||
{hasThumbnail ? (
|
||||
<StyledThumbnail>
|
||||
{customRectangleLoader(320.2, 200, 6)}
|
||||
</StyledThumbnail>
|
||||
) : (
|
||||
<StyledIcon>{customRectangleLoader(96, 96, 5)}</StyledIcon>
|
||||
)}
|
||||
|
||||
<StyledSubtitle>{customRectangleLoader(200, 20, 3)}</StyledSubtitle>
|
||||
|
||||
<StyledPropertiesTable>
|
||||
{properties.map((property, i) => (
|
||||
<StyledPropertyRow key={i}>
|
||||
{customRectangleLoader("100%", property, 3)}
|
||||
{customRectangleLoader("100%", property, 3)}
|
||||
</StyledPropertyRow>
|
||||
))}
|
||||
</StyledPropertiesTable>
|
||||
|
||||
{/* <StyledSubtitle>Who has access</StyledSubtitle>
|
||||
|
||||
<StyledAccessRow>
|
||||
{customRectangleLoader(32, 32, 16)}
|
||||
<div className="divider"></div>
|
||||
{customRectangleLoader(32, 32, 16)}
|
||||
{customRectangleLoader(32, 32, 16)}
|
||||
</StyledAccessRow> */}
|
||||
</StyledInfoRoomBody>
|
||||
);
|
||||
};
|
||||
|
||||
InfoPanelBodyLoader.propTypes = {
|
||||
id: PropTypes.string,
|
||||
className: PropTypes.string,
|
||||
style: PropTypes.object,
|
||||
};
|
||||
|
||||
InfoPanelBodyLoader.defaultProps = {
|
||||
id: undefined,
|
||||
className: undefined,
|
||||
style: undefined,
|
||||
};
|
||||
|
||||
export default InfoPanelBodyLoader;
|
@ -0,0 +1,117 @@
|
||||
import styled from "styled-components";
|
||||
|
||||
const StyledInfoRoomBody = styled.div`
|
||||
padding-left: 20px;
|
||||
height: auto;
|
||||
`;
|
||||
|
||||
const StyledTitle = styled.div`
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
gap: 8px;
|
||||
`;
|
||||
|
||||
const StyledThumbnail = styled.div`
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
padding: 4px;
|
||||
margin-bottom: 24px;
|
||||
border: solid 1px #eceef1;
|
||||
border-radius: 6px;
|
||||
`;
|
||||
|
||||
const StyledIcon = styled.div`
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 96px;
|
||||
`;
|
||||
|
||||
const StyledSubtitle = styled.div`
|
||||
padding: 24px 0;
|
||||
height: 64px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
`;
|
||||
|
||||
const StyledPropertiesTable = styled.div`
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
margin-bottom: 24px;
|
||||
gap: 8px;
|
||||
`;
|
||||
|
||||
const StyledPropertyRow = styled.div`
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 110px 1fr;
|
||||
grid-column-gap: 24px;
|
||||
|
||||
.property-title {
|
||||
font-size: 13px;
|
||||
color: #333333;
|
||||
}
|
||||
`;
|
||||
|
||||
const StyledAccessRow = styled.div`
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
|
||||
.divider {
|
||||
background: #eceef1;
|
||||
margin: 2px 4px;
|
||||
width: 1px;
|
||||
height: 28px;
|
||||
}
|
||||
`;
|
||||
|
||||
export {
|
||||
StyledInfoRoomBody,
|
||||
StyledSubtitle,
|
||||
StyledTitle,
|
||||
StyledThumbnail,
|
||||
StyledIcon,
|
||||
StyledPropertiesTable,
|
||||
StyledPropertyRow,
|
||||
StyledAccessRow,
|
||||
};
|
||||
|
||||
const StyledItemAccess = styled.div`
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
.divider {
|
||||
background: #eceef1;
|
||||
margin: 2px 4px;
|
||||
width: 1px;
|
||||
height: 28px;
|
||||
}
|
||||
`;
|
||||
|
||||
const StyleditemAccessUser = styled.div`
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
|
||||
a {
|
||||
img {
|
||||
border-radius: 50%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
`;
|
@ -0,0 +1 @@
|
||||
export default from "./InfoPanelBodyLoader";
|
@ -0,0 +1,38 @@
|
||||
import React from "react";
|
||||
import {
|
||||
StyledInfoPanelHeader,
|
||||
StyledInfoPanelToggleWrapper,
|
||||
} from "./StyledInfoPanelHeaderLoader";
|
||||
import RectangleLoader from "../RectangleLoader";
|
||||
|
||||
import {
|
||||
isTablet,
|
||||
isMobile as isMobileUtils,
|
||||
isDesktop,
|
||||
} from "@appserver/components/utils/device";
|
||||
import { isMobile } from "react-device-detect";
|
||||
|
||||
const InfoPanelHeaderLoader = () => {
|
||||
const customRectangleLoader = (width, height, rounded) => (
|
||||
<RectangleLoader
|
||||
width={"" + width}
|
||||
height={"" + height}
|
||||
borderRadius={"" + rounded}
|
||||
/>
|
||||
);
|
||||
|
||||
return (
|
||||
<StyledInfoPanelHeader>
|
||||
<div className="header-text">{customRectangleLoader(200, 28, 3)}</div>
|
||||
<StyledInfoPanelToggleWrapper
|
||||
isRootFolder={true}
|
||||
isInfoPanelVisible={true}
|
||||
>
|
||||
{!(isTablet() || isMobile || isMobileUtils() || !isDesktop()) &&
|
||||
customRectangleLoader(32, 32, "50%")}
|
||||
</StyledInfoPanelToggleWrapper>
|
||||
</StyledInfoPanelHeader>
|
||||
);
|
||||
};
|
||||
|
||||
export default InfoPanelHeaderLoader;
|
@ -0,0 +1,51 @@
|
||||
import styled from "styled-components";
|
||||
import { Base } from "@appserver/components/themes";
|
||||
import { tablet } from "@appserver/components/utils/device";
|
||||
|
||||
const StyledInfoPanelHeader = styled.div`
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: 52px;
|
||||
min-height: 52px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
align-self: center;
|
||||
border-bottom: ${(props) => `1px solid ${props.theme.infoPanel.borderColor}`};
|
||||
.header-text {
|
||||
margin-left: 20px;
|
||||
height: 28px;
|
||||
}
|
||||
`;
|
||||
|
||||
const StyledInfoPanelToggleWrapper = styled.div`
|
||||
display: flex;
|
||||
|
||||
@media ${tablet} {
|
||||
display: none;
|
||||
}
|
||||
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding-right: 20px;
|
||||
|
||||
.info-panel-toggle-bg {
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
background-color: ${(props) =>
|
||||
props.theme.infoPanel.sectionHeaderToggleBgActive};
|
||||
|
||||
path {
|
||||
fill: ${(props) => props.theme.infoPanel.sectionHeaderToggleIconActive};
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
StyledInfoPanelHeader.defaultProps = { theme: Base };
|
||||
StyledInfoPanelToggleWrapper.defaultProps = { theme: Base };
|
||||
|
||||
export { StyledInfoPanelHeader, StyledInfoPanelToggleWrapper };
|
@ -0,0 +1 @@
|
||||
export default from "./InfoPanelHeaderLoader";
|
@ -25,6 +25,8 @@ import DialogAsideLoader from "./DialogAsideLoader";
|
||||
import ListLoader from "./ListLoader";
|
||||
import SharingPanelLoader from "./SharingPanelLoader";
|
||||
import SharingPanelLoaderModal from "./SharingPanelLoader/modal";
|
||||
import InfoPanelBodyLoader from "./InfoPanelBodyLoader";
|
||||
import InfoPanelHeaderLoader from "./InfoPanelHeaderLoader";
|
||||
|
||||
export default {
|
||||
Rectangle,
|
||||
@ -54,4 +56,6 @@ export default {
|
||||
NewTreeFolders,
|
||||
SharingPanelLoader,
|
||||
SharingPanelLoaderModal,
|
||||
InfoPanelBodyLoader,
|
||||
InfoPanelHeaderLoader,
|
||||
};
|
||||
|
@ -1,6 +1,6 @@
|
||||
import styled, { css } from "styled-components";
|
||||
import { isMobile, isMobileOnly } from "react-device-detect";
|
||||
import { tablet, mobile } from "@appserver/components/utils/device";
|
||||
import { tablet, mobile, desktop } from "@appserver/components/utils/device";
|
||||
|
||||
const StyledContainer = styled.div`
|
||||
${(props) =>
|
||||
@ -46,6 +46,10 @@ const StyledContainer = styled.div`
|
||||
padding: ${(props) => (props.isDropBox ? "14px 0 5px" : "14px 0 15px")};
|
||||
`}
|
||||
|
||||
@media ${desktop} {
|
||||
padding: ${(props) => (props.isDropBox ? "10px 0 5px" : "10px 0 11px")};
|
||||
}
|
||||
|
||||
@media ${mobile} {
|
||||
padding: ${(props) =>
|
||||
props.isDropBox ? "10px 0 5px" : "10px 0 11px"} !important;
|
||||
|
@ -1,162 +1,10 @@
|
||||
import IconButton from "@appserver/components/icon-button";
|
||||
import Text from "@appserver/components/text";
|
||||
import { Base } from "@appserver/components/themes";
|
||||
import { tablet } from "@appserver/components/utils/device";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import PropTypes from "prop-types";
|
||||
import React from "react";
|
||||
import styled from "styled-components";
|
||||
import Submenu from "@appserver/components/submenu";
|
||||
|
||||
const StyledInfoPanelHeader = styled.div`
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: ${(props) => (props.isPrivacyFolder ? "85px" : "52px")};
|
||||
min-height: ${(props) => (props.isPrivacyFolder ? "85px" : "52px")};
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
border-bottom: ${(props) =>
|
||||
props.isPrivacyFolder
|
||||
? "none"
|
||||
: `1px solid ${props.theme.infoPanel.borderColor}`};
|
||||
|
||||
.main {
|
||||
height: 52px;
|
||||
min-height: 52px;
|
||||
padding-bottom: 1px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.header-text {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
|
||||
.sticky {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const StyledInfoPanelToggleWrapper = styled.div`
|
||||
display: flex;
|
||||
|
||||
@media ${tablet} {
|
||||
display: none;
|
||||
}
|
||||
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding-right: 20px;
|
||||
|
||||
.info-panel-toggle-bg {
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
background-color: ${(props) =>
|
||||
props.theme.infoPanel.sectionHeaderToggleBgActive};
|
||||
|
||||
path {
|
||||
fill: ${(props) => props.theme.infoPanel.sectionHeaderToggleIconActive};
|
||||
}
|
||||
}
|
||||
`;
|
||||
StyledInfoPanelToggleWrapper.defaultProps = { theme: Base };
|
||||
|
||||
const SubInfoPanelHeader = ({
|
||||
children,
|
||||
setIsVisible,
|
||||
roomState,
|
||||
setRoomState,
|
||||
isPrivacyFolder,
|
||||
}) => {
|
||||
const SubInfoPanelHeader = ({ children }) => {
|
||||
const content = children?.props?.children;
|
||||
|
||||
const closeInfoPanel = () => setIsVisible(false);
|
||||
|
||||
return (
|
||||
<StyledInfoPanelHeader isPrivacyFolder={isPrivacyFolder}>
|
||||
<div className="main">
|
||||
<Text className="header-text" fontSize="21px" fontWeight="700">
|
||||
{content}
|
||||
</Text>
|
||||
<StyledInfoPanelToggleWrapper
|
||||
isRootFolder={true}
|
||||
isInfoPanelVisible={true}
|
||||
>
|
||||
<div className="info-panel-toggle-bg">
|
||||
<IconButton
|
||||
className="info-panel-toggle"
|
||||
iconName="images/panel.react.svg"
|
||||
size="16"
|
||||
isFill={true}
|
||||
onClick={closeInfoPanel}
|
||||
/>
|
||||
</div>
|
||||
</StyledInfoPanelToggleWrapper>
|
||||
</div>
|
||||
|
||||
{isPrivacyFolder && (
|
||||
<div className="submenu">
|
||||
<Submenu
|
||||
style={{ width: "100%" }}
|
||||
data={[
|
||||
{
|
||||
content: null,
|
||||
onClick: () => setRoomState("members"),
|
||||
id: "members",
|
||||
name: "Members",
|
||||
},
|
||||
{
|
||||
content: null,
|
||||
onClick: () => setRoomState("history"),
|
||||
id: "History",
|
||||
name: "History",
|
||||
},
|
||||
{
|
||||
content: null,
|
||||
onClick: () => setRoomState("details"),
|
||||
id: "Details",
|
||||
name: "Details",
|
||||
},
|
||||
]}
|
||||
startSelect={["members", "history", "details"].indexOf(roomState)}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
</StyledInfoPanelHeader>
|
||||
);
|
||||
return <>{content}</>;
|
||||
};
|
||||
|
||||
SubInfoPanelHeader.propTypes = {
|
||||
children: PropTypes.oneOfType([
|
||||
PropTypes.arrayOf(PropTypes.node),
|
||||
PropTypes.node,
|
||||
PropTypes.any,
|
||||
]),
|
||||
toggleIsVisible: PropTypes.func,
|
||||
};
|
||||
|
||||
StyledInfoPanelHeader.defaultProps = { theme: Base };
|
||||
SubInfoPanelHeader.defaultProps = { theme: Base };
|
||||
|
||||
SubInfoPanelHeader.displayName = "SubInfoPanelHeader";
|
||||
|
||||
export default inject(({ auth, treeFoldersStore }) => {
|
||||
const { setIsVisible, roomState, setRoomState } = auth.infoPanelStore;
|
||||
const { isPrivacyFolder } = treeFoldersStore;
|
||||
return { setIsVisible, roomState, setRoomState, isPrivacyFolder };
|
||||
})(observer(SubInfoPanelHeader));
|
||||
export default SubInfoPanelHeader;
|
||||
|
@ -104,11 +104,15 @@ const StyledCrossIcon = styled(CrossIcon)`
|
||||
|
||||
StyledCrossIcon.defaultProps = { theme: Base };
|
||||
|
||||
const InfoPanel = ({ children, isVisible, setIsVisible, viewAs }) => {
|
||||
const InfoPanel = ({ children, isVisible, setIsVisible, viewAs, isFiles }) => {
|
||||
if (!isVisible) return null;
|
||||
|
||||
const closeInfoPanel = () => setIsVisible(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (!isFiles) closeInfoPanel();
|
||||
}, [isFiles]);
|
||||
|
||||
useEffect(() => {
|
||||
const onMouseDown = (e) => {
|
||||
if (e.target.id === "InfoPanelWrapper") closeInfoPanel();
|
||||
@ -157,10 +161,13 @@ StyledInfoPanelWrapper.defaultProps = { theme: Base };
|
||||
StyledInfoPanel.defaultProps = { theme: Base };
|
||||
InfoPanel.defaultProps = { theme: Base };
|
||||
|
||||
export default inject(({ auth }) => {
|
||||
export default inject(({ auth, filesStore }) => {
|
||||
const { isVisible, setIsVisible } = auth.infoPanelStore;
|
||||
const isFiles = true && filesStore;
|
||||
|
||||
return {
|
||||
isVisible,
|
||||
setIsVisible,
|
||||
isFiles,
|
||||
};
|
||||
})(InfoPanel);
|
||||
|
@ -328,10 +328,24 @@ class AuthStore {
|
||||
};
|
||||
|
||||
getOforms = () => {
|
||||
let culture = this.userStore.user.cultureName || this.settingsStore.culture;
|
||||
culture = culture === "en-US" ? "en" : culture;
|
||||
const culture =
|
||||
this.userStore.user.cultureName || this.settingsStore.culture;
|
||||
|
||||
return api.settings.getOforms(`${this.settingsStore.urlOforms}${culture}`);
|
||||
const promise = new Promise(async (resolve, reject) => {
|
||||
let oforms = await api.settings.getOforms(
|
||||
`${this.settingsStore.urlOforms}${culture}`
|
||||
);
|
||||
|
||||
if (!oforms?.data?.data.length) {
|
||||
oforms = await api.settings.getOforms(
|
||||
`${this.settingsStore.urlOforms}en`
|
||||
);
|
||||
}
|
||||
|
||||
resolve(oforms);
|
||||
});
|
||||
|
||||
return promise;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -48,23 +48,29 @@ const ProgressBarMobile = ({
|
||||
|
||||
return (
|
||||
<StyledProgressBarContainer isUploading={open}>
|
||||
<Text
|
||||
className="progress-header"
|
||||
fontSize={`14`}
|
||||
// color="#657077"
|
||||
onClick={onClickHeaderAction}
|
||||
>
|
||||
{label}
|
||||
</Text>
|
||||
<Text className="progress_count" fontSize={`13`} truncate>
|
||||
{status}
|
||||
</Text>
|
||||
<IconButton
|
||||
className="progress_icon"
|
||||
onClick={onCancel}
|
||||
iconName={icon}
|
||||
size={14}
|
||||
/>
|
||||
<div className="progress-container">
|
||||
<Text
|
||||
className="progress-header"
|
||||
fontSize={`14`}
|
||||
// color="#657077"
|
||||
onClick={onClickHeaderAction}
|
||||
truncate
|
||||
>
|
||||
{label}
|
||||
</Text>
|
||||
<div className="progress_info-container">
|
||||
<Text className="progress_count" fontSize={`13`} truncate>
|
||||
{status}
|
||||
</Text>
|
||||
<IconButton
|
||||
className="progress_icon"
|
||||
onClick={onCancel}
|
||||
iconName={icon}
|
||||
size={14}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<StyledMobileProgressBar>
|
||||
<StyledBar uploadPercent={uploadPercent} error={error} />
|
||||
</StyledMobileProgressBar>
|
||||
|
@ -177,6 +177,7 @@ StyledButtonWrapper.defaultProps = { theme: Base };
|
||||
|
||||
const StyledProgressBarContainer = styled.div`
|
||||
display: ${(props) => (props.isUploading ? "flex" : "none")};
|
||||
|
||||
align-items: center;
|
||||
|
||||
flex-wrap: wrap;
|
||||
@ -188,27 +189,47 @@ const StyledProgressBarContainer = styled.div`
|
||||
height: 60px;
|
||||
padding-top: 26px;
|
||||
|
||||
.progress-header {
|
||||
width: 50%;
|
||||
line-height: 16px;
|
||||
color: ${(props) => props.theme.mainButtonMobile.textColor};
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
.progress-container {
|
||||
width: 100%;
|
||||
|
||||
display: flex;
|
||||
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.progress-header {
|
||||
width: 50%;
|
||||
|
||||
line-height: 16px;
|
||||
|
||||
color: ${(props) => props.theme.mainButtonMobile.textColor};
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.progress_count {
|
||||
line-height: 16px;
|
||||
color: ${(props) => props.theme.mainButtonMobile.textColor};
|
||||
width: 42%;
|
||||
text-align: right;
|
||||
margin-right: 12px;
|
||||
}
|
||||
.progress_info-container {
|
||||
width: 50%;
|
||||
|
||||
.progress_icon {
|
||||
svg {
|
||||
path {
|
||||
fill: ${(props) => props.theme.mainButtonMobile.bar.icon};
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.progress_count {
|
||||
width: calc(100% - 26px);
|
||||
|
||||
line-height: 16px;
|
||||
color: ${(props) => props.theme.mainButtonMobile.textColor};
|
||||
|
||||
text-align: right;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.progress_icon {
|
||||
svg {
|
||||
path {
|
||||
fill: ${(props) => props.theme.mainButtonMobile.bar.icon};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import styled, { css } from "styled-components";
|
||||
import Base from "../themes/base";
|
||||
import { mobile, tablet } from "../utils/device";
|
||||
import Scrollbar from "../scrollbar";
|
||||
import { isDesktop, isMobile } from "react-device-detect";
|
||||
import { isMobile } from "react-device-detect";
|
||||
|
||||
const StyledTableContainer = styled.div`
|
||||
-moz-user-select: none;
|
||||
@ -33,6 +33,7 @@ const StyledTableContainer = styled.div`
|
||||
|
||||
.table-container_group-menu,
|
||||
.table-container_header {
|
||||
z-index: 200;
|
||||
padding: 0 20px;
|
||||
|
||||
border-bottom: 1px solid;
|
||||
@ -140,7 +141,7 @@ const StyledInfoPanelToggleWrapper = styled.div`
|
||||
align-items: center;
|
||||
align-self: center;
|
||||
justify-content: center;
|
||||
margin: 0 20px 0 auto;
|
||||
margin: ${isMobile ? "0 16px 0 auto" : "0 20px 0 auto"};
|
||||
height: 100%;
|
||||
width: auto;
|
||||
padding-left: 20px;
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"EditComment": "Редактирай коментар",
|
||||
"Version": "Версия {{version}}"
|
||||
"Version": "Вер.{{version}}"
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"EditComment": "Kommentar bearbeiten",
|
||||
"Version": "Version {{version}}"
|
||||
"Version": "Ver.{{version}}"
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"EditComment": "Modifier le commentaire",
|
||||
"Version": "Version {{version}}"
|
||||
"Version": "Ver.{{version}}"
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"EditComment": "Modifica commento",
|
||||
"Version": "Versione.{{version}}"
|
||||
"Version": "Ver.{{version}}"
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"EditComment": "코멘트 수정",
|
||||
"Version": "버전.{{version}}"
|
||||
"Version": "버전{{version}}"
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"EditComment": "Edytuj komentarz",
|
||||
"Version": "Wersja {{version}}"
|
||||
"Version": "Wer.{{version}}"
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"EditComment": "Upraviť komentár",
|
||||
"Version": "Verzia {{version}}"
|
||||
"Version": "Ver.{{version}}"
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"EditComment": "Chỉnh sửa nhận xét",
|
||||
"Version": "Phiên bản {{version}}"
|
||||
"Version": "Bản {{version}}"
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"EditComment": "编辑批注",
|
||||
"Version": "版本。{{version}}"
|
||||
"Version": "版本{{version}}"
|
||||
}
|
||||
|
@ -39,7 +39,6 @@ const ArticleMainButtonContent = (props) => {
|
||||
isCommonFolder,
|
||||
isRecycleBinFolder,
|
||||
history,
|
||||
hasGalleryFiles,
|
||||
currentFolderId,
|
||||
} = props;
|
||||
const inputFilesElement = React.useRef(null);
|
||||
@ -143,7 +142,7 @@ const ArticleMainButtonContent = (props) => {
|
||||
disabled: isPrivacy,
|
||||
key: "form-file",
|
||||
},
|
||||
hasGalleryFiles && {
|
||||
{
|
||||
className: "main-button_drop-down_sub",
|
||||
label: t("Common:OFORMsGallery"),
|
||||
onClick: onShowGallery,
|
||||
@ -172,7 +171,7 @@ const ArticleMainButtonContent = (props) => {
|
||||
},
|
||||
];
|
||||
|
||||
if ((isMobile || isTabletUtils()) && hasGalleryFiles) {
|
||||
if (isMobile || isTabletUtils()) {
|
||||
formActions.push({
|
||||
className: "main-button_drop-down_sub",
|
||||
icon: "images/form.react.svg",
|
||||
@ -249,7 +248,6 @@ const ArticleMainButtonContent = (props) => {
|
||||
}, [
|
||||
t,
|
||||
isPrivacy,
|
||||
hasGalleryFiles,
|
||||
currentFolderId,
|
||||
onCreate,
|
||||
onShowSelectFileDialog,
|
||||
@ -326,7 +324,6 @@ export default inject(
|
||||
isLoading,
|
||||
fileActionStore,
|
||||
canCreate,
|
||||
hasGalleryFiles,
|
||||
} = filesStore;
|
||||
const {
|
||||
isPrivacyFolder,
|
||||
@ -364,7 +361,6 @@ export default inject(
|
||||
isLoading,
|
||||
isLoaded,
|
||||
firstLoad,
|
||||
hasGalleryFiles,
|
||||
currentFolderId,
|
||||
};
|
||||
}
|
||||
|
@ -116,7 +116,8 @@ const EditingWrapper = styled.div`
|
||||
props.viewAs === "tile" &&
|
||||
!props.isUpdatingRowItem &&
|
||||
css`
|
||||
background: #fff;
|
||||
background: ${(props) =>
|
||||
props.theme.filesEditingWrapper.tile.itemBackground};
|
||||
border: ${(props) =>
|
||||
`1px solid ${props.theme.filesEditingWrapper.tile.itemBorder}`};
|
||||
|
||||
@ -136,7 +137,8 @@ const EditingWrapper = styled.div`
|
||||
props.viewAs === "tile" &&
|
||||
css`
|
||||
margin-left: 0px;
|
||||
background: #fff;
|
||||
background: ${(props) =>
|
||||
props.theme.filesEditingWrapper.tile.itemBackground};
|
||||
border: ${(props) =>
|
||||
`1px solid ${props.theme.filesEditingWrapper.tile.itemBorder}`};
|
||||
|
||||
|
@ -5,20 +5,33 @@ import RowContent from "@appserver/components/row-content";
|
||||
import RowContainer from "@appserver/components/row-container";
|
||||
import Text from "@appserver/components/text";
|
||||
import LinkWithDropdown from "@appserver/components/link-with-dropdown";
|
||||
import styled from "styled-components";
|
||||
import styled, { css } from "styled-components";
|
||||
import { tablet } from "@appserver/components/utils/device";
|
||||
|
||||
const MobileStyles = css`
|
||||
.row-content_tablet-side-info {
|
||||
display: flex;
|
||||
gap: 5px;
|
||||
}
|
||||
.download-dialog-link {
|
||||
text-decoration: underline dashed;
|
||||
}
|
||||
`;
|
||||
|
||||
const StyledDownloadContent = styled.div`
|
||||
.row_content,
|
||||
.row-content_tablet-side-info {
|
||||
overflow: unset;
|
||||
}
|
||||
|
||||
@media (${tablet}) {
|
||||
.row-content_tablet-side-info {
|
||||
display: flex;
|
||||
gap: 5px;
|
||||
}
|
||||
.download-dialog_row-container {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
${isMobile && MobileStyles}
|
||||
|
||||
@media ${tablet} {
|
||||
${MobileStyles}
|
||||
}
|
||||
`;
|
||||
|
||||
@ -157,6 +170,7 @@ const DownloadContent = (props) => {
|
||||
</Text>
|
||||
{checkedTitle || indeterminateTitle ? (
|
||||
<LinkWithDropdown
|
||||
className="download-dialog-link"
|
||||
containerMinWidth="fit-content"
|
||||
data={titleData}
|
||||
directionX="left"
|
||||
@ -215,6 +229,7 @@ const DownloadContent = (props) => {
|
||||
|
||||
{file.checked ? (
|
||||
<LinkWithDropdown
|
||||
className="download-dialog-link"
|
||||
isOpen={isOpen}
|
||||
dropdownType={
|
||||
isMobile ? "alwaysDashed" : "appearDashedAfterHover"
|
||||
|
@ -453,7 +453,7 @@ class DownloadDialogComponent extends React.Component {
|
||||
</Text>
|
||||
<></>
|
||||
<LinkWithDropdown
|
||||
className="link-other-formats"
|
||||
className="link-other-formats download-dialog-link"
|
||||
containerMinWidth="fit-content"
|
||||
data={[]}
|
||||
directionX="left"
|
||||
|
@ -4,7 +4,7 @@ import Section from "@appserver/common/components/Section";
|
||||
import SectionHeaderContent from "./Header";
|
||||
import SectionBodyContent from "./Body";
|
||||
import { InfoPanelBodyContent } from "../Home/InfoPanel";
|
||||
import InfoPanelHeaderContent from "../Home/InfoPanel/GalleryHeader";
|
||||
import InfoPanelHeaderContent from "../Home/InfoPanel/Header";
|
||||
|
||||
const FormGallery = () => {
|
||||
return (
|
||||
@ -19,7 +19,7 @@ const FormGallery = () => {
|
||||
<SectionBodyContent />
|
||||
</Section.SectionBody>
|
||||
<Section.InfoPanelHeader>
|
||||
<InfoPanelHeaderContent />
|
||||
<InfoPanelHeaderContent isGallery />
|
||||
</Section.InfoPanelHeader>
|
||||
<Section.InfoPanelBody>
|
||||
<InfoPanelBodyContent isGallery />
|
||||
|
@ -9,6 +9,9 @@ import { Base } from "@appserver/components/themes";
|
||||
import Details from "./views/Details";
|
||||
import Members from "./views/Members";
|
||||
import History from "./views/History";
|
||||
import EmptyScreen from "./EmptyScreen";
|
||||
import withLoader from "../../../../HOCs/withLoader";
|
||||
import Loaders from "@appserver/common/components/Loaders";
|
||||
|
||||
const InfoPanelBodyContent = ({
|
||||
t,
|
||||
@ -170,7 +173,9 @@ export default inject(
|
||||
)(
|
||||
withRouter(
|
||||
withTranslation(["InfoPanel", "Home", "Common", "Translations"])(
|
||||
observer(InfoPanelBodyContent)
|
||||
withLoader(observer(InfoPanelBodyContent))(
|
||||
<Loaders.InfoPanelBodyLoader isFolder />
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
@ -77,9 +77,9 @@ const SingleItem = (props) => {
|
||||
|
||||
const replaceUnicode = (str) => {
|
||||
const regex = /&#([0-9]{1,4});/gi;
|
||||
return str.replace(regex, (match, numStr) =>
|
||||
String.fromCharCode(+numStr)
|
||||
);
|
||||
return str
|
||||
? str.replace(regex, (match, numStr) => String.fromCharCode(+numStr))
|
||||
: "...";
|
||||
};
|
||||
|
||||
const parseAndFormatDate = (date) => {
|
||||
|
@ -1,8 +0,0 @@
|
||||
import React from "react";
|
||||
import { withTranslation } from "react-i18next";
|
||||
|
||||
const InfoPanelHeaderContent = ({ t }) => {
|
||||
return <>{t("FormTemplateInfo")}</>;
|
||||
};
|
||||
|
||||
export default withTranslation(["FormGallery"])(InfoPanelHeaderContent);
|
@ -1,8 +1,57 @@
|
||||
import {
|
||||
isTablet,
|
||||
isMobile as isMobileUtils,
|
||||
isDesktop,
|
||||
} from "@appserver/components/utils/device";
|
||||
import { isMobile } from "react-device-detect";
|
||||
|
||||
import IconButton from "@appserver/components/icon-button";
|
||||
import Text from "@appserver/components/text";
|
||||
import React from "react";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import {
|
||||
StyledInfoPanelHeader,
|
||||
StyledInfoPanelToggleWrapper,
|
||||
} from "./styles/styles";
|
||||
import Loaders from "@appserver/common/components/Loaders";
|
||||
import withLoader from "../../../../HOCs/withLoader";
|
||||
|
||||
const InfoPanelHeaderContent = ({ t }) => {
|
||||
return <>{t("Common:Info")}</>;
|
||||
const InfoPanelHeaderContent = ({ t, setIsVisible, isGallery }) => {
|
||||
const closeInfoPanel = () => setIsVisible(false);
|
||||
|
||||
return (
|
||||
<StyledInfoPanelHeader>
|
||||
<Text className="header-text" fontSize="21px" fontWeight="700">
|
||||
{isGallery ? t("FormGallery:FormTemplateInfo") : t("Common:Info")}
|
||||
</Text>
|
||||
<StyledInfoPanelToggleWrapper
|
||||
isRootFolder={true}
|
||||
isInfoPanelVisible={true}
|
||||
>
|
||||
{!(isTablet() || isMobile || isMobileUtils() || !isDesktop()) && (
|
||||
<div className="info-panel-toggle-bg">
|
||||
<IconButton
|
||||
className="info-panel-toggle"
|
||||
iconName="images/panel.react.svg"
|
||||
size="16"
|
||||
isFill={true}
|
||||
onClick={closeInfoPanel}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
</StyledInfoPanelToggleWrapper>
|
||||
</StyledInfoPanelHeader>
|
||||
);
|
||||
};
|
||||
|
||||
export default withTranslation(["InfoPanel", "Common"])(InfoPanelHeaderContent);
|
||||
export default inject(({ auth }) => {
|
||||
const { setIsVisible } = auth.infoPanelStore;
|
||||
return { setIsVisible };
|
||||
})(
|
||||
withTranslation(["Common", "FormGallery"])(
|
||||
withLoader(observer(InfoPanelHeaderContent))(
|
||||
<Loaders.InfoPanelHeaderLoader />
|
||||
)
|
||||
)
|
||||
);
|
||||
|
@ -0,0 +1,51 @@
|
||||
import styled from "styled-components";
|
||||
import { Base } from "@appserver/components/themes";
|
||||
import { tablet } from "@appserver/components/utils/device";
|
||||
|
||||
const StyledInfoPanelHeader = styled.div`
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: 52px;
|
||||
min-height: 52px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
align-self: center;
|
||||
border-bottom: ${(props) => `1px solid ${props.theme.infoPanel.borderColor}`};
|
||||
|
||||
.header-text {
|
||||
margin-left: 20px;
|
||||
}
|
||||
`;
|
||||
|
||||
const StyledInfoPanelToggleWrapper = styled.div`
|
||||
display: flex;
|
||||
|
||||
@media ${tablet} {
|
||||
display: none;
|
||||
}
|
||||
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding-right: 20px;
|
||||
|
||||
.info-panel-toggle-bg {
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
background-color: ${(props) =>
|
||||
props.theme.infoPanel.sectionHeaderToggleBgActive};
|
||||
|
||||
path {
|
||||
fill: ${(props) => props.theme.infoPanel.sectionHeaderToggleIconActive};
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
StyledInfoPanelHeader.defaultProps = { theme: Base };
|
||||
StyledInfoPanelToggleWrapper.defaultProps = { theme: Base };
|
||||
|
||||
export { StyledInfoPanelHeader, StyledInfoPanelToggleWrapper };
|
@ -1,4 +1,5 @@
|
||||
import { css } from "styled-components";
|
||||
import { isMobile } from "react-device-detect";
|
||||
|
||||
const marginStyles = css`
|
||||
margin-left: -24px;
|
||||
@ -6,6 +7,14 @@ const marginStyles = css`
|
||||
padding-left: 24px;
|
||||
padding-right: 24px;
|
||||
|
||||
${isMobile &&
|
||||
css`
|
||||
margin-left: -20px;
|
||||
margin-right: -20px;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
`}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
margin-left: -16px;
|
||||
margin-right: -16px;
|
||||
|
@ -66,15 +66,10 @@ const StyledTableRow = styled(TableRow)`
|
||||
.table-container_file-name-cell {
|
||||
margin-left: -24px;
|
||||
padding-left: 24px;
|
||||
z-index: 1;
|
||||
}
|
||||
.table-container_row-context-menu-wrapper {
|
||||
margin-right: -20px;
|
||||
padding-right: 18px;
|
||||
|
||||
position: relative !important;
|
||||
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
`}
|
||||
|
@ -4,40 +4,17 @@ import styled, { css } from "styled-components";
|
||||
import { withRouter } from "react-router";
|
||||
import toastr from "studio/toastr";
|
||||
import Loaders from "@appserver/common/components/Loaders";
|
||||
import Headline from "@appserver/common/components/Headline";
|
||||
import { FilterType, FileAction } from "@appserver/common/constants";
|
||||
import { FileAction } from "@appserver/common/constants";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { isMobile, isMobileOnly } from "react-device-detect";
|
||||
import ContextMenuButton from "@appserver/components/context-menu-button";
|
||||
import { isMobile } from "react-device-detect";
|
||||
import DropDownItem from "@appserver/components/drop-down-item";
|
||||
import IconButton from "@appserver/components/icon-button";
|
||||
import { tablet, desktop, mobile } from "@appserver/components/utils/device";
|
||||
import { tablet } from "@appserver/components/utils/device";
|
||||
import { Consumer } from "@appserver/components/utils/context";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import TableGroupMenu from "@appserver/components/table-container/TableGroupMenu";
|
||||
import Navigation from "@appserver/common/components/Navigation";
|
||||
|
||||
const StyledContainer = styled.div`
|
||||
/* padding: 0 0 15px;
|
||||
|
||||
@media ${tablet} {
|
||||
padding: 0 0 17px;
|
||||
}
|
||||
|
||||
${isMobile &&
|
||||
css`
|
||||
padding: 0 0 17px;
|
||||
`}
|
||||
|
||||
@media ${mobile} {
|
||||
padding: 0 0 13px;
|
||||
}
|
||||
|
||||
${isMobileOnly &&
|
||||
css`
|
||||
padding: 0 0 13px;
|
||||
`} */
|
||||
|
||||
.table-container_group-menu {
|
||||
${(props) =>
|
||||
props.viewAs === "table"
|
||||
@ -60,12 +37,6 @@ const StyledContainer = styled.div`
|
||||
margin: 0 -16px;
|
||||
width: calc(100% + 32px);
|
||||
`}
|
||||
|
||||
${isMobileOnly &&
|
||||
css`
|
||||
margin: 0 -16px;
|
||||
width: calc(100% + 32px);
|
||||
`}
|
||||
}
|
||||
`;
|
||||
|
||||
|
@ -98,7 +98,8 @@ class PureHome extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
if (isPrevSettingsModule) {
|
||||
//TODO:
|
||||
if (isPrevSettingsModule && !gallerySelected) {
|
||||
setIsPrevSettingsModule(false);
|
||||
return;
|
||||
}
|
||||
@ -162,31 +163,27 @@ class PureHome extends React.Component {
|
||||
const folderId = filter.folder;
|
||||
//console.log("filter", filter);
|
||||
|
||||
return fetchFiles(folderId, filter)
|
||||
.then((data) => {
|
||||
const pathParts = data.selectedFolder.pathParts;
|
||||
const newExpandedKeys = createTreeFolders(
|
||||
pathParts,
|
||||
expandedKeys
|
||||
);
|
||||
setExpandedKeys(newExpandedKeys);
|
||||
})
|
||||
.then(() => {
|
||||
if (gallerySelected) {
|
||||
setIsUpdatingRowItem(false);
|
||||
setAction({
|
||||
type: FileAction.Create,
|
||||
extension: "docxf",
|
||||
fromTemplate: true,
|
||||
title: gallerySelected.attributes.name_form,
|
||||
id: -1,
|
||||
});
|
||||
}
|
||||
});
|
||||
return fetchFiles(folderId, filter).then((data) => {
|
||||
const pathParts = data.selectedFolder.pathParts;
|
||||
const newExpandedKeys = createTreeFolders(pathParts, expandedKeys);
|
||||
setExpandedKeys(newExpandedKeys);
|
||||
});
|
||||
}
|
||||
|
||||
return Promise.resolve();
|
||||
})
|
||||
.then(() => {
|
||||
if (gallerySelected) {
|
||||
setIsUpdatingRowItem(false);
|
||||
setAction({
|
||||
type: FileAction.Create,
|
||||
extension: "docxf",
|
||||
fromTemplate: true,
|
||||
title: gallerySelected.attributes.name_form,
|
||||
id: -1,
|
||||
});
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
setIsLoading(false);
|
||||
setFirstLoad(false);
|
||||
|
@ -598,13 +598,15 @@ class FilesActionStore {
|
||||
};
|
||||
|
||||
finalizeVersionAction = (id) => {
|
||||
const { fetchFiles, setIsLoading } = this.filesStore;
|
||||
const { setFile, setIsLoading } = this.filesStore;
|
||||
|
||||
setIsLoading(true);
|
||||
|
||||
return finalizeVersion(id, 0, false)
|
||||
.then(() => {
|
||||
fetchFiles(this.selectedFolderStore.id, this.filesStore.filter);
|
||||
.then((res) => {
|
||||
if (res && res[0]) {
|
||||
setFile(res[0]);
|
||||
}
|
||||
})
|
||||
.finally(() => setIsLoading(false));
|
||||
};
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> silinəcək",
|
||||
"DeleteUserDataConfirmation": "Başqaları üçün əlçatan olan sənədlər silinəcəkdir. Bunun olmaması üçün, məlumatları yenidən tanıdın.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "İstifadəçi müvəffəqiyyətlə silinmişdir"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Sizin seçdiyiniz deaktiv istifadəçilər portaldan silinəcəklər.",
|
||||
"DeleteGroupUsersMessageHeader": "Portaldan istifadəçilərin silinməsi",
|
||||
"DeleteGroupUsersSuccessMessage": "İstifadəçilər müvəffəqiyyətlə silinmişdir.",
|
||||
"DeleteUserDataConfirmation": "Başqaları üçün əlçatan olan sənədlər silinəcəkdir. Bunun olmaması üçün, məlumatları yenidən tanıdın."
|
||||
"DeleteGroupUsersSuccessMessage": "İstifadəçilər müvəffəqiyyətlə silinmişdir."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Üzvlərin əlavə edilməsi",
|
||||
"Birthdate": "Doğum tarixi",
|
||||
"DeleteUserDataConfirmation": "Başqaları üçün əlçatan olan sənədlər silinəcəkdir. Bunun olmaması üçün, məlumatları yenidən tanıdın.",
|
||||
"DeleteSelfProfile": "Profilin silinməsi",
|
||||
"DisableUserButton": "Bloklamaq",
|
||||
"DisabledEmployeeStatus": "Söndürülüb",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> ще бъде изтрит.",
|
||||
"DeleteUserDataConfirmation": "Потребителските документи, споделени с другите, ще бъдат изтрити. За да избегнете това, пренасочете данните.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "Потребителят беше изтрит успешно"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Деактивираните потребители, които избрахте, ще бъдат изтрити.",
|
||||
"DeleteGroupUsersMessageHeader": "Изтрий потребителите от портала",
|
||||
"DeleteGroupUsersSuccessMessage": "Потребителите бяха изтрити успешно.",
|
||||
"DeleteUserDataConfirmation": "Потребителските документи, споделени с другите, ще бъдат изтрити. За да избегнете това, пренасочете данните."
|
||||
"DeleteGroupUsersSuccessMessage": "Потребителите бяха изтрити успешно."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Добави членове",
|
||||
"Birthdate": "Дата на раждане",
|
||||
"DeleteUserDataConfirmation": "Потребителските документи, споделени с другите, ще бъдат изтрити. За да избегнете това, пренасочете данните.",
|
||||
"DeleteSelfProfile": "Изтрий профил",
|
||||
"DisableUserButton": "Деактивирай",
|
||||
"DisabledEmployeeStatus": "Деактивиран",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> bude smazán.",
|
||||
"DeleteUserDataConfirmation": "Dokumenty uživatele sdílené s ostatními budou smazány. Chcete-li tomu zabránit, přiřaďte data znovu.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "Uživatel byl úspěšně odstraněn"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Vámi vybraní zakázaní uživatelé budou smazáni.",
|
||||
"DeleteGroupUsersMessageHeader": "Odstranit uživatele z portálu",
|
||||
"DeleteGroupUsersSuccessMessage": "Uživatelé byli úspěšně odstraněni.",
|
||||
"DeleteUserDataConfirmation": "Dokumenty uživatelů sdílené ostatními budou odstraněny. Chcete-li tomu předejít, přiřaďte data znovu."
|
||||
"DeleteGroupUsersSuccessMessage": "Uživatelé byli úspěšně odstraněni."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Přidat členy",
|
||||
"Birthdate": "Datum narození",
|
||||
"DeleteUserDataConfirmation": "Dokumenty uživatele sdílené s ostatními budou smazány. Chcete-li tomu zabránit, přiřaďte data znovu.",
|
||||
"DeleteSelfProfile": "Smazat profil",
|
||||
"DisableUserButton": "Deaktivovat",
|
||||
"DisabledEmployeeStatus": "Deaktivováno",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> wird gelöscht.",
|
||||
"DeleteUserDataConfirmation": "Freigegebene Dokumente dieses Benutzers werden gelöscht. Um dies zu vermeiden, weisen Sie Daten neu zu.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "Der Benutzer wurde erfolgreich gelöscht"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Die ausgewählten deaktivierten Benutzer werden gelöscht.",
|
||||
"DeleteGroupUsersMessageHeader": "Löschung der Benutzer aus dem Portal",
|
||||
"DeleteGroupUsersSuccessMessage": "Benutzer wurden erfolgreich gelöscht.",
|
||||
"DeleteUserDataConfirmation": "Freigegebene Dokumente dieses Benutzers werden gelöscht. Um dies zu vermeiden, weisen Sie Daten neu zu."
|
||||
"DeleteGroupUsersSuccessMessage": "Benutzer wurden erfolgreich gelöscht."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Mitglieder hinzufügen",
|
||||
"Birthdate": "Geburtsdatum",
|
||||
"DeleteUserDataConfirmation": "Freigegebene Dokumente dieses Benutzers werden gelöscht. Um dies zu vermeiden, weisen Sie Daten neu zu.",
|
||||
"DeleteSelfProfile": "Profil löschen",
|
||||
"DisableUserButton": "Deaktivieren",
|
||||
"DisabledEmployeeStatus": "Deaktiviert",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "Ο χρήστης {{userCaption}} <strong>{{user}}</strong> θα διαγραφεί.",
|
||||
"DeleteUserDataConfirmation": "Τα έγγραφα του χρήστη που έχουν κοινοποιηθεί σε άλλους θα διαγραφούν. Για να μην γίνει αυτό, αναθέστε εκ νέου τα δεδομένα.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "Ο χρήστης έχει διαγραφεί επιτυχώς"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Οι απενεργοποιημένοι χρήστες που επιλέξατε θα διαγραφούν.",
|
||||
"DeleteGroupUsersMessageHeader": "Διαγράψτε τους χρήστες από την πύλη",
|
||||
"DeleteGroupUsersSuccessMessage": "Οι χρήστες έχουν διαγραφεί επιτυχώς.",
|
||||
"DeleteUserDataConfirmation": "Τα έγγραφα του χρήστη που έχουν κοινοποιηθεί σε άλλους θα διαγραφούν. Για να μην γίνει αυτό, αναθέστε εκ νέου τα δεδομένα."
|
||||
"DeleteGroupUsersSuccessMessage": "Οι χρήστες έχουν διαγραφεί επιτυχώς."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Προσθήκη μελών",
|
||||
"Birthdate": "Ημερομηνία γέννησης",
|
||||
"DeleteUserDataConfirmation": "Τα έγγραφα του χρήστη που έχουν κοινοποιηθεί σε άλλους θα διαγραφούν. Για να μην γίνει αυτό, αναθέστε εκ νέου τα δεδομένα.",
|
||||
"DeleteSelfProfile": "Διαγραφή προφίλ",
|
||||
"DisableUserButton": "Απενεργοποίηση",
|
||||
"DisabledEmployeeStatus": "Απενεργοποιημένο",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> will be deleted.",
|
||||
"DeleteUserDataConfirmation": "User documents shared with others will be deleted. To avoid this, reassign data.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "The user has been successfully deleted"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "The disabled users you selected will be deleted.",
|
||||
"DeleteGroupUsersMessageHeader": "Delete the users from portal",
|
||||
"DeleteGroupUsersSuccessMessage": "Users have been successfully deleted.",
|
||||
"DeleteUserDataConfirmation": "User documents shared with others will be deleted. To avoid this, reassign data."
|
||||
"DeleteGroupUsersSuccessMessage": "Users have been successfully deleted."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Add members",
|
||||
"Birthdate": "Date of birth",
|
||||
"DeleteUserDataConfirmation": "User documents shared with others will be deleted. To avoid this, reassign data.",
|
||||
"DeleteSelfProfile": "Delete profile",
|
||||
"DisableUserButton": "Disable",
|
||||
"DisabledEmployeeStatus": "Disabled",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> se eliminará.",
|
||||
"DeleteUserDataConfirmation": "Los documentos del usuario compartidos con otros se eliminarán. Para evitarlo, reasigne los datos.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "El usuario se ha eliminado correctamente"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Se eliminarán los usuarios desactivados que usted ha seleccionado.",
|
||||
"DeleteGroupUsersMessageHeader": "Borrar los usuarios del portal",
|
||||
"DeleteGroupUsersSuccessMessage": "Los usuarios se han eliminado correctamente.",
|
||||
"DeleteUserDataConfirmation": "Los documentos del usuario compartidos con otros se eliminarán. Para evitarlo, reasigne los datos."
|
||||
"DeleteGroupUsersSuccessMessage": "Los usuarios se han eliminado correctamente."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Añadir miembros",
|
||||
"Birthdate": "Fecha de nacimiento",
|
||||
"DeleteUserDataConfirmation": "Los documentos del usuario compartidos con otros se eliminarán. Para evitarlo, reasigne los datos.",
|
||||
"DeleteSelfProfile": "Borrar perfil",
|
||||
"DisableUserButton": "Deshabilitar",
|
||||
"DisabledEmployeeStatus": "Deshabilitado",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong> {{user}} </strong> poistetaan.",
|
||||
"DeleteUserDataConfirmation": "Toisten kanssa jaetut käyttäjäasiakirjat poistetaan. Voit välttää tämän määrittämällä tiedot uudelleen.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "Käyttäjä on poistettu onnistuneesti"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Valitsemasi käytöstä poistetut käyttäjät poistetaan.",
|
||||
"DeleteGroupUsersMessageHeader": "Poista käyttäjät portaalista",
|
||||
"DeleteGroupUsersSuccessMessage": "Käyttäjät on poistettu.",
|
||||
"DeleteUserDataConfirmation": "Toisten kanssa jaetut käyttäjäasiakirjat poistetaan. Voit välttää tämän määrittämällä tiedot uudelleen."
|
||||
"DeleteGroupUsersSuccessMessage": "Käyttäjät on poistettu."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Lisää jäseniä",
|
||||
"Birthdate": "Syntymäaika",
|
||||
"DeleteUserDataConfirmation": "Toisten kanssa jaetut käyttäjäasiakirjat poistetaan. Voit välttää tämän määrittämällä tiedot uudelleen.",
|
||||
"DeleteSelfProfile": "Poista profiili",
|
||||
"DisableUserButton": "Poisteta käytöstä",
|
||||
"DisabledEmployeeStatus": "Poistettu käytöstä",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> sera supprimé.",
|
||||
"DeleteUserDataConfirmation": "Les documents de l'utilisateur partagés avec d'autres seront supprimés. Pour éviter cela, réaffectez les données.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "L'utilisateur a été supprimé avec succès"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Les utilisateurs désactivés sélectionnés seront supprimés",
|
||||
"DeleteGroupUsersMessageHeader": "Supprimer les utilisateurs du portail",
|
||||
"DeleteGroupUsersSuccessMessage": "Les utilisateurs ont été supprimés avec succès.",
|
||||
"DeleteUserDataConfirmation": "Les documents de l'utilisateur partagés avec d'autres seront supprimés. Pour éviter cela, réaffectez les données."
|
||||
"DeleteGroupUsersSuccessMessage": "Les utilisateurs ont été supprimés avec succès."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Ajouter des membres",
|
||||
"Birthdate": "Date de naissance",
|
||||
"DeleteUserDataConfirmation": "Les documents de l'utilisateur partagés avec d'autres seront supprimés. Pour éviter cela, réaffectez les données.",
|
||||
"DeleteSelfProfile": "Supprimer le profil",
|
||||
"DisableUserButton": "Désactiver",
|
||||
"DisabledEmployeeStatus": "Désactivé",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> sarà cancellato.",
|
||||
"DeleteUserDataConfirmation": "I documenti utente condivisi con altri verranno eliminati. Per evitare ciò si consiglia di riassegnare i dati.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "L'utente è stato cancellato con successo"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Gli utenti disabilitati selezionati verranno eliminati.",
|
||||
"DeleteGroupUsersMessageHeader": "Elimina gli utenti dal portale",
|
||||
"DeleteGroupUsersSuccessMessage": "Gli utenti sono stati eliminati con successo.",
|
||||
"DeleteUserDataConfirmation": "I documenti utente condivisi verso altri utenti verranno eliminati. Per evitare ciò, si consiglia di riassegnare i dati."
|
||||
"DeleteGroupUsersSuccessMessage": "Gli utenti sono stati eliminati con successo."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Aggiungi membri",
|
||||
"Birthdate": "Data di nascita",
|
||||
"DeleteUserDataConfirmation": "I documenti utente condivisi con altri verranno eliminati. Per evitare ciò si consiglia di riassegnare i dati.",
|
||||
"DeleteSelfProfile": "Eliminare il profilo",
|
||||
"DisableUserButton": "Disattivare",
|
||||
"DisabledEmployeeStatus": "Disabilitato",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong>は削除されます。",
|
||||
"DeleteUserDataConfirmation": "他の人と共有しているユーザードキュメントは削除されます。これを避けるためには、データの再割り当てを行ってください。",
|
||||
"SuccessfullyDeleteUserInfoMessage": "ユーザーの削除に成功しました。"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "選択した無効化されたユーザーが削除されます。",
|
||||
"DeleteGroupUsersMessageHeader": "ポータルからユーザーを削除します",
|
||||
"DeleteGroupUsersSuccessMessage": "ユーザーが正常に削除されました。",
|
||||
"DeleteUserDataConfirmation": "他の人と共有しているユーザードキュメントは削除されます。これを防ぐには、データの再割り当てを行ってください。"
|
||||
"DeleteGroupUsersSuccessMessage": "ユーザーが正常に削除されました。"
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "メンバーの追加",
|
||||
"Birthdate": "誕生日",
|
||||
"DeleteUserDataConfirmation": "他の人と共有しているユーザードキュメントは削除されます。これを避けるためには、データの再割り当てを行ってください。",
|
||||
"DeleteSelfProfile": "プロファイルの削除",
|
||||
"DisableUserButton": "無効にする",
|
||||
"DisabledEmployeeStatus": "無効化",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong>가 삭제됩니다.",
|
||||
"DeleteUserDataConfirmation": "다른 사용자에게 공유한 사용자 문서가 삭제됩니다. 이를 피하려면, 데이터를 재할당하세요.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "사용자가 성공적으로 삭제되었습니다"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "선택한 비활성 사용자가 삭제됩니다.",
|
||||
"DeleteGroupUsersMessageHeader": "포털에서 사용자 삭제",
|
||||
"DeleteGroupUsersSuccessMessage": "사용자가 성공적으로 삭제되었습니다.",
|
||||
"DeleteUserDataConfirmation": "다른 사용자에게 공유한 사용자 문서가 삭제됩니다. 이를 피하려면, 데이터를 재할당하세요."
|
||||
"DeleteGroupUsersSuccessMessage": "사용자가 성공적으로 삭제되었습니다."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "멤버 추가",
|
||||
"Birthdate": "생년월일",
|
||||
"DeleteUserDataConfirmation": "다른 사용자에게 공유한 사용자 문서가 삭제됩니다. 이를 피하려면, 데이터를 재할당하세요.",
|
||||
"DeleteSelfProfile": "프로필 삭제",
|
||||
"DisableUserButton": "비활성화",
|
||||
"DisabledEmployeeStatus": "비활성화",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> ຈະຖືກລົບ",
|
||||
"DeleteUserDataConfirmation": "ເອກະສານຂອງຜູ້ໃຊ້ທີ່ຖືກແບ່ງປັນກັບຄົນອື່ນຈະຖືກລຶບອອກ. ເພື່ອຫລີກລ້ຽງບັນຫານທີ່ຈະເກີດຂື້ນໃນການປ້ອນຂໍ້ມູນ",
|
||||
"SuccessfullyDeleteUserInfoMessage": "ຜູ້ໃຊ້ຖືກລຶບອອກແລ້ວ"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "ຜູ້ໃຊ້ທີ່ຖືກປິດການໃຊ້ງານທີ່ທ່ານເລືອກຈະຖືກລົບອອກ.",
|
||||
"DeleteGroupUsersMessageHeader": "ລົບຜູ້ໃຊ້ອອກຈາກ Portal",
|
||||
"DeleteGroupUsersSuccessMessage": "ຢູເຊີ້ນີ້ມີແລ້ວ",
|
||||
"DeleteUserDataConfirmation": "ເອກະສານຜູ້ໃຊ້ທີ່ແບ່ງປັນໃຫ້ຜູ້ອື່ນຈະຖືກລຶບອອກ. ເພື່ອຫລີກລ້ຽງສິ່ງນີ້, ໃຫ້ຂໍ້ມູນຄືນໃຫມ່."
|
||||
"DeleteGroupUsersSuccessMessage": "ຢູເຊີ້ນີ້ມີແລ້ວ"
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "ເພີ່ມສະມາຊິກ",
|
||||
"Birthdate": "ວັນເກີດ",
|
||||
"DeleteUserDataConfirmation": "ເອກະສານຂອງຜູ້ໃຊ້ທີ່ຖືກແບ່ງປັນກັບຄົນອື່ນຈະຖືກລຶບອອກ. ເພື່ອຫລີກລ້ຽງບັນຫານທີ່ຈະເກີດຂື້ນໃນການປ້ອນຂໍ້ມູນ",
|
||||
"DeleteSelfProfile": "ລຶບ profile",
|
||||
"DisableUserButton": "ປິດ",
|
||||
"DisabledEmployeeStatus": "ປິດ",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> tiks izdzēsts.",
|
||||
"DeleteUserDataConfirmation": "Lietotāja dokumenti, kas kopīgoti ar citiem, tiks dzēsti. Lai no tā izvairītos, atkārtoti piešķiriet datus.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "Lietotājs ir veiksmīgi izdzēsts"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Jūsu atlasītie invalīdi tiks izdzēsti.",
|
||||
"DeleteGroupUsersMessageHeader": "Izdzēsiet lietotājus no portāla",
|
||||
"DeleteGroupUsersSuccessMessage": "Lietotāji ir veiksmīgi izdzēsti.",
|
||||
"DeleteUserDataConfirmation": "Lietotāja dokumenti, kas kopīgoti ar citiem, tiks dzēsti. Lai no tā izvairītos, atkārtoti piešķiriet datus."
|
||||
"DeleteGroupUsersSuccessMessage": "Lietotāji ir veiksmīgi izdzēsti."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Pievienot dalībniekus",
|
||||
"Birthdate": "Dzimšanas datums",
|
||||
"DeleteUserDataConfirmation": "Lietotāja dokumenti, kas kopīgoti ar citiem, tiks dzēsti. Lai no tā izvairītos, atkārtoti piešķiriet datus.",
|
||||
"DeleteSelfProfile": "Dzēst profilu",
|
||||
"DisableUserButton": "Atspējot",
|
||||
"DisabledEmployeeStatus": "Atspējots",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> zal worden verwijderd.",
|
||||
"DeleteUserDataConfirmation": "Documenten van gebruikers die met anderen gedeeld worden, worden verwijderd. Om dit te vermijden, wijst u gegevens opnieuw toe.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "De gebruiker is met succes verwijderd"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "De uitgeschakelde gebruikers die u geselecteerd hebt worden verwijderd.",
|
||||
"DeleteGroupUsersMessageHeader": "Verwijder de gebruikers van het portaal",
|
||||
"DeleteGroupUsersSuccessMessage": "Gebruikers zijn met succes verwijderd.",
|
||||
"DeleteUserDataConfirmation": "Gebruikersdocumenten die met anderen gedeeld worden, zullen gewist worden. Om dit te voorkomen, kunt u gegevens opnieuw toewijzen."
|
||||
"DeleteGroupUsersSuccessMessage": "Gebruikers zijn met succes verwijderd."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Leden toevoegen",
|
||||
"Birthdate": "Geboortedatum",
|
||||
"DeleteUserDataConfirmation": "Documenten van gebruikers die met anderen gedeeld worden, worden verwijderd. Om dit te vermijden, wijst u gegevens opnieuw toe.",
|
||||
"DeleteSelfProfile": "Verwijder profiel",
|
||||
"DisableUserButton": "Schakel uit",
|
||||
"DisabledEmployeeStatus": "Uitgeschakeld",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "Użytkownik {{userCaption}} <strong>{{user}}</strong> zostanie usunięty.",
|
||||
"DeleteUserDataConfirmation": "Udostępnione przez użytkownika dokumenty zostaną usunięte. Aby tego uniknąć, przypisz dane innemu użytkownikowi.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "Użytkownik został pomyślnie usunięty"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Wybrani przez Ciebie nieaktywni użytkownicy zostaną usunięci.",
|
||||
"DeleteGroupUsersMessageHeader": "Usuń użytkowników z portalu",
|
||||
"DeleteGroupUsersSuccessMessage": "Użytkownicy zostali pomyślnie usunięci.",
|
||||
"DeleteUserDataConfirmation": "Udostępnione przez użytkownika dokumenty zostaną usunięte. Aby tego uniknąć, przypisz dane innemu użytkownikowi."
|
||||
"DeleteGroupUsersSuccessMessage": "Użytkownicy zostali pomyślnie usunięci."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Dodaj członków",
|
||||
"Birthdate": "Data urodzenia",
|
||||
"DeleteUserDataConfirmation": "Udostępnione przez użytkownika dokumenty zostaną usunięte. Aby tego uniknąć, przypisz dane innemu użytkownikowi.",
|
||||
"DeleteSelfProfile": "Usuń profil",
|
||||
"DisableUserButton": "Dezaktywuj",
|
||||
"DisabledEmployeeStatus": "Nieaktywny",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> será deletado.",
|
||||
"DeleteUserDataConfirmation": "Os documentos de usuário compartilhados com outros serão excluídos. Para evitar isto, reatribuir dados.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "O usuário foi excluído com sucesso"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Os usuários deficientes que você selecionou serão excluídos.",
|
||||
"DeleteGroupUsersMessageHeader": "Excluir os usuários do portal",
|
||||
"DeleteGroupUsersSuccessMessage": "Os usuários foram excluídos com sucesso.",
|
||||
"DeleteUserDataConfirmation": "Os documentos dos usuários compartilhados serão excluídos. Para evitar isto, reatribuir dados."
|
||||
"DeleteGroupUsersSuccessMessage": "Os usuários foram excluídos com sucesso."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Adicionar membros",
|
||||
"Birthdate": "Data de Nascimento",
|
||||
"DeleteUserDataConfirmation": "Os documentos de usuário compartilhados com outros serão excluídos. Para evitar isto, reatribuir dados.",
|
||||
"DeleteSelfProfile": "Excluir perfil",
|
||||
"DisableUserButton": "Desabilitar",
|
||||
"DisabledEmployeeStatus": "Desabilitado",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> será eliminado.",
|
||||
"DeleteUserDataConfirmation": "Os documentos dos utilizadores partilhados com outros serão eliminados. Para evitar isto, reatribuir dados.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "O utilizador foi eliminado com êxito"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Os utilizadores desativados selecionados por si serão eliminados.",
|
||||
"DeleteGroupUsersMessageHeader": "Eliminar os utilizadores do portal",
|
||||
"DeleteGroupUsersSuccessMessage": "Os utilizadores foram eliminados com êxito.",
|
||||
"DeleteUserDataConfirmation": "Os documentos dos utilizadores partilhados serão eliminados. Para evitar isto, reatribuir dados."
|
||||
"DeleteGroupUsersSuccessMessage": "Os utilizadores foram eliminados com êxito."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Adicionar membros",
|
||||
"Birthdate": "Data de nascimento",
|
||||
"DeleteUserDataConfirmation": "Os documentos dos utilizadores partilhados com outros serão eliminados. Para evitar isto, reatribuir dados.",
|
||||
"DeleteSelfProfile": "Eliminar perfil",
|
||||
"DisableUserButton": "Desativar",
|
||||
"DisabledEmployeeStatus": "Desativado",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> va fi șters.",
|
||||
"DeleteUserDataConfirmation": "Documentele utilizatorului care au fost partajate cu alții vor fi șterse. Pentru a evita acest risc, reasignați datele.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "Utilizatorul a fost șters cu succes"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Utilizatorii inactivi pe care le-ați selecționat vor fi șterse.",
|
||||
"DeleteGroupUsersMessageHeader": "Ștergerea utilizatorilor din portal",
|
||||
"DeleteGroupUsersSuccessMessage": "Utilizatorii au fost șterse cu succes.",
|
||||
"DeleteUserDataConfirmation": "Documentele utilizatorului care au fost partajate cu alții vor fi șterse. Pentru a evita acest risc, reasignați datele."
|
||||
"DeleteGroupUsersSuccessMessage": "Utilizatorii au fost șterse cu succes."
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"AddMembers": "Adăugați membrii",
|
||||
"Birthdate": "Data de naștere",
|
||||
"DeleteUserDataConfirmation": "Documentele utilizatorului care au fost partajate cu alții vor fi șterse. Pentru a evita acest risc, reasignați datele.",
|
||||
"DeleteSelfProfile": "Ștergere profil",
|
||||
"DisableUserButton": "Dezactivează",
|
||||
"DisabledEmployeeStatus": "Dezactivat",
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"DeleteUserConfirmation": "{{userCaption}} <strong>{{user}}</strong> будет удален.",
|
||||
"DeleteUserDataConfirmation": "Будут удалены личные документы пользователя, доступные для других. Чтобы избежать этого, нужно перед удалением запустить процесс передачи данных.",
|
||||
"SuccessfullyDeleteUserInfoMessage": "Пользователь успешно удален"
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
"DeleteGroupUsersMessage": "Выбранные заблокированные пользователи будут удалены с портала.",
|
||||
"DeleteGroupUsersMessageHeader": "Удаление пользователей с портала",
|
||||
"DeleteGroupUsersSuccessMessage": "Пользователи были успешно удалены",
|
||||
"DeleteUserDataConfirmation": "Будут удалены личные документы пользователя, доступные для других. Чтобы избежать этого, нужно перед удалением запустить процесс передачи данных."
|
||||
"DeleteGroupUsersSuccessMessage": "Пользователи были успешно удалены"
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user