Merge branch 'release/v2.0.0' into feature/plugin-sdk
This commit is contained in:
commit
a700424cce
15
.vscode/tasks.json
vendored
15
.vscode/tasks.json
vendored
@ -62,6 +62,21 @@
|
||||
"close": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Backend | rebuild SAAS + dnsmasq",
|
||||
"command": "cd ${workspaceFolder}/../ ; ${command:python.interpreterPath} buildtools/build.backend.docker.py -s -d -f",
|
||||
"type": "shell",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"presentation": {
|
||||
"reveal": "always",
|
||||
"panel": "new",
|
||||
"focus": true,
|
||||
"close": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Backend | build EE + dnsmasq",
|
||||
"command": "cd ${workspaceFolder}/../ ; ${command:python.interpreterPath} buildtools/build.backend.docker.py -d",
|
||||
|
@ -66,6 +66,11 @@
|
||||
"task": "Backend | build SAAS + dnsmasq",
|
||||
"tooltip": "🛠️ Start the \"backend docker build SAAS + dnsmasq\" task"
|
||||
},
|
||||
{
|
||||
"label": "Docker : ReBuild-SAAS + dnsmasq",
|
||||
"task": "Backend | rebuild SAAS + dnsmasq",
|
||||
"tooltip": "🛠️ Start the \"backend docker rebuild SAAS + dnsmasq\" task"
|
||||
},
|
||||
{
|
||||
"label": "Docker : Build-EE + dnsmasq",
|
||||
"task": "Backend | build EE + dnsmasq",
|
||||
|
@ -128,8 +128,10 @@ export type FilesSelectorProps = {
|
||||
isThirdParty: boolean;
|
||||
rootThirdPartyId?: string;
|
||||
isRoomsOnly: boolean;
|
||||
isRoomBackup: boolean;
|
||||
isEditorDialog: boolean;
|
||||
setMoveToPublicRoomVisible: (visible: boolean, operationData: object) => void;
|
||||
setBackupToPublicRoomVisible: (visible: boolean, data: object) => void;
|
||||
|
||||
onClose?: () => void;
|
||||
|
||||
|
@ -35,6 +35,7 @@ export const StyledCategoryFilterWrapper = styled.div`
|
||||
`;
|
||||
|
||||
const CategoryFilter = ({
|
||||
oformsFilter,
|
||||
noLocales,
|
||||
fetchCategoryTypes,
|
||||
fetchCategoriesOfCategoryType,
|
||||
@ -79,7 +80,7 @@ const CategoryFilter = ({
|
||||
setIsLoading(false);
|
||||
});
|
||||
})();
|
||||
}, []);
|
||||
}, [oformsFilter.locale]);
|
||||
|
||||
if (!isLoading && menuItems.length === 0) return null;
|
||||
|
||||
@ -94,6 +95,7 @@ const CategoryFilter = ({
|
||||
);
|
||||
};
|
||||
export default inject(({ oformsStore }) => ({
|
||||
oformsFilter: oformsStore.oformsFilter,
|
||||
noLocales:
|
||||
oformsStore.oformLocales !== null && oformsStore.oformLocales?.length === 0,
|
||||
fetchCategoryTypes: oformsStore.fetchCategoryTypes,
|
||||
|
@ -5,7 +5,7 @@ import Avatar from "@docspace/components/avatar";
|
||||
import ComboBox from "@docspace/components/combobox";
|
||||
import DefaultUserPhotoUrl from "PUBLIC_DIR/images/default_user_photo_size_82-82.png";
|
||||
import toastr from "@docspace/components/toast/toastr";
|
||||
import { isMobileOnly } from "react-device-detect";
|
||||
import { isMobileOnly, isMobile } from "react-device-detect";
|
||||
import { decode } from "he";
|
||||
import { filterUserRoleOptions } from "SRC_DIR/helpers/utils";
|
||||
import { getUserRole } from "@docspace/common/utils";
|
||||
@ -260,7 +260,7 @@ const User = ({
|
||||
options={userRoleOptions}
|
||||
onSelect={onOptionClick}
|
||||
scaled={false}
|
||||
withBackdrop={isMobileOnly}
|
||||
withBackdrop={isMobile}
|
||||
size="content"
|
||||
modernView
|
||||
title={t("Common:Role")}
|
||||
|
@ -87,9 +87,7 @@ const StyledLinkRow = styled.div`
|
||||
justify-content: space-between;
|
||||
gap: 12px;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
background: ${(props) => props.theme.backgroundColor};
|
||||
z-index: 1;
|
||||
|
||||
.external-row-link {
|
||||
white-space: nowrap;
|
||||
|
@ -1,6 +1,5 @@
|
||||
import React from "react";
|
||||
import styled, { css } from "styled-components";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import Text from "@docspace/components/text";
|
||||
import Slider from "@docspace/components/slider";
|
||||
import PlusIcon from "PUBLIC_DIR/images/payment.plus.react.svg";
|
||||
@ -167,7 +166,6 @@ const StyledBody = styled.div`
|
||||
|
||||
const SelectUsersCountContainer = ({
|
||||
managersCount,
|
||||
theme,
|
||||
isDisabled,
|
||||
isLoading,
|
||||
minAvailableManagersValue,
|
||||
@ -254,7 +252,6 @@ const SelectUsersCountContainer = ({
|
||||
return (
|
||||
<StyledBody
|
||||
className="select-users-count-container"
|
||||
theme={theme}
|
||||
isDisabled={isDisabled || isUpdatingTariff}
|
||||
>
|
||||
<Text noSelect fontWeight={600} className="payment-users_text">
|
||||
@ -318,7 +315,7 @@ const SelectUsersCountContainer = ({
|
||||
|
||||
export default inject(({ auth, payments }) => {
|
||||
const { paymentQuotasStore } = auth;
|
||||
const { theme } = auth.settingsStore;
|
||||
|
||||
const {
|
||||
isLoading,
|
||||
minAvailableManagersValue,
|
||||
@ -336,7 +333,6 @@ export default inject(({ auth, payments }) => {
|
||||
|
||||
return {
|
||||
isAlreadyPaid,
|
||||
theme,
|
||||
isLoading,
|
||||
minAvailableManagersValue,
|
||||
managersCount,
|
||||
|
@ -241,7 +241,7 @@ class OformsStore {
|
||||
|
||||
const categories = await getCategoriesOfCategoryType(
|
||||
url,
|
||||
this.defaultOformLocale
|
||||
this.oformsFilter.locale
|
||||
);
|
||||
return categories;
|
||||
};
|
||||
|
@ -225,6 +225,14 @@ class TableHeader extends React.Component {
|
||||
window.addEventListener("mouseup", this.onMouseUp);
|
||||
};
|
||||
|
||||
checkingForUnfixedSize = (item, defaultColumnSize) => {
|
||||
return (
|
||||
item !== `${settingsSize}px` &&
|
||||
item !== `${defaultColumnSize}px` &&
|
||||
item !== "0px"
|
||||
);
|
||||
};
|
||||
|
||||
onResize = () => {
|
||||
const {
|
||||
containerRef,
|
||||
@ -253,6 +261,7 @@ class TableHeader extends React.Component {
|
||||
const storageSize =
|
||||
!resetColumnsSize && localStorage.getItem(columnStorageName);
|
||||
|
||||
//TODO: If defaultSize(75px) is less than defaultMinColumnSize(110px) the calculations work correctly
|
||||
const defaultSize =
|
||||
this.props.columns.find((col) => col.defaultSize)?.defaultSize || 0;
|
||||
|
||||
@ -300,13 +309,33 @@ class TableHeader extends React.Component {
|
||||
let hideColumns = false;
|
||||
|
||||
if (infoPanelVisible) {
|
||||
let contentColumnsCount = 0;
|
||||
let contentColumnsCountInfoPanel = 0;
|
||||
|
||||
const storageInfoPanelSize = localStorage.getItem(
|
||||
columnInfoPanelStorageName
|
||||
);
|
||||
|
||||
const tableInfoPanelContainer = storageInfoPanelSize
|
||||
? storageInfoPanelSize.split(" ")
|
||||
: tableContainer;
|
||||
if (storageInfoPanelSize) {
|
||||
contentColumnsCountInfoPanel = storageInfoPanelSize
|
||||
.split(" ")
|
||||
.filter((item) =>
|
||||
this.checkingForUnfixedSize(item, defaultSize)
|
||||
).length;
|
||||
|
||||
contentColumnsCount = tableContainer.filter((item) =>
|
||||
this.checkingForUnfixedSize(item, defaultSize)
|
||||
).length;
|
||||
}
|
||||
|
||||
let incorrectNumberColumns =
|
||||
contentColumnsCountInfoPanel < contentColumnsCount &&
|
||||
!this.state.hideColumns;
|
||||
|
||||
const tableInfoPanelContainer =
|
||||
storageInfoPanelSize && !incorrectNumberColumns
|
||||
? storageInfoPanelSize.split(" ")
|
||||
: tableContainer;
|
||||
|
||||
let containerMinWidth = containerWidth - defaultSize - settingsSize;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user