Merge pull request #18366 from strapi/chore/usePermissionsDataManager-ts

chore: convert usePermissionsDataManager to TS and move it to settings
This commit is contained in:
Gustav Hansen 2023-10-10 12:48:49 +02:00 committed by GitHub
commit 9043b6c94e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 35 additions and 21 deletions

View File

@ -1,5 +0,0 @@
import { createContext } from 'react';
const PermissionsDataManagerContext = createContext({});
export default PermissionsDataManagerContext;

View File

@ -1,3 +1,2 @@
export { default as AdminContext } from './Admin';
export { ConfigurationsContext } from './configuration';
export { default as PermissionsDataManagerContext } from './PermisssionsDataManagerContext';

View File

@ -1,6 +1,5 @@
export { useConfigurations } from './useConfigurations';
export { useContentTypes } from './useContentTypes';
export { default as useMenu } from './useMenu';
export { default as usePermissionsDataManager } from './usePermissionsDataManager';
export { default as useSettingsForm } from './useSettingsForm';
export { default as useSettingsMenu } from './useSettingsMenu';

View File

@ -1,7 +0,0 @@
import { useContext } from 'react';
import { PermissionsDataManagerContext } from '../../contexts';
const usePermissionsDataManager = () => useContext(PermissionsDataManagerContext);
export default usePermissionsDataManager;

View File

@ -16,7 +16,7 @@ import upperFirst from 'lodash/upperFirst';
import PropTypes from 'prop-types';
import { useIntl } from 'react-intl';
import { usePermissionsDataManager } from '../../../../../../../hooks';
import { usePermissionsDataManager } from '../../hooks/usePermissionsDataManager';
import ActionRow from './ActionRow';
import createDefaultConditionsForm from './utils/createDefaultConditionsForm';

View File

@ -8,7 +8,7 @@ import PropTypes from 'prop-types';
import { useIntl } from 'react-intl';
import styled from 'styled-components';
import { usePermissionsDataManager } from '../../../../../../../../hooks';
import { usePermissionsDataManager } from '../../../hooks/usePermissionsDataManager';
import ConditionsButton from '../../ConditionsButton';
import ConditionsModal from '../../ConditionsModal';
import HiddenAction from '../../HiddenAction';

View File

@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
import { useIntl } from 'react-intl';
import styled from 'styled-components';
import { usePermissionsDataManager } from '../../../../../../../../../hooks';
import { usePermissionsDataManager } from '../../../../hooks/usePermissionsDataManager';
import HiddenAction from '../../../HiddenAction';
import { cellWidth, rowHeight } from '../../../Permissions/utils/constants';
import RequiredSign from '../../../RequiredSign';

View File

@ -7,7 +7,7 @@ import PropTypes from 'prop-types';
import { useIntl } from 'react-intl';
import styled from 'styled-components';
import { usePermissionsDataManager } from '../../../../../../../../../hooks';
import { usePermissionsDataManager } from '../../../../hooks/usePermissionsDataManager';
import CollapseLabel from '../../../CollapseLabel';
import Curve from '../../../Curve';
import HiddenAction from '../../../HiddenAction';

View File

@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
import { useIntl } from 'react-intl';
import styled from 'styled-components';
import { usePermissionsDataManager } from '../../../../../../../hooks';
import { usePermissionsDataManager } from '../../hooks/usePermissionsDataManager';
import { cellWidth, firstRowWidth } from '../Permissions/utils/constants';
import { findDisplayedActions, getCheckboxesState } from './utils';

View File

@ -2,7 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import { PermissionsDataManagerContext } from '../../../../../../../contexts';
import { PermissionsDataManagerContext } from '../../hooks/usePermissionsDataManager';
const PermissionsDataManagerProvider = ({ children, value }) => {
return (

View File

@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
import { useIntl } from 'react-intl';
import styled from 'styled-components';
import { usePermissionsDataManager } from '../../../../../../../../hooks';
import { usePermissionsDataManager } from '../../../hooks/usePermissionsDataManager';
import ConditionsButton from '../../ConditionsButton';
import ConditionsModal from '../../ConditionsModal';
import { getCheckboxState, removeConditionKeyFromData } from '../../utils';

View File

@ -0,0 +1,28 @@
import * as React from 'react';
// Note: I had to guess most of these types based on the name and usage, but I actually don't
// know if they are correct, because the usage is very generic. Feel free to correct them if
// they create problems.
export interface PermissionsDataManagerContextValue {
availableConditions: unknown[];
modifiedData: object;
onChangeCollectionTypeLeftActionRowCheckbox: (
pathToData: string,
propertyName: string,
nam: string,
value: unknown
) => void;
onChangeConditions: (conditions: object) => void;
onChangeSimpleCheckbox: (target: { name: string; value: unknown }) => void;
onChangeParentCheckbox: (target: { name: string; value: unknown }) => void;
onChangeCollectionTypeGlobalActionCheckbox: (
kind: string,
actionId: string,
value: unknown
) => void;
}
export const PermissionsDataManagerContext =
React.createContext<PermissionsDataManagerContextValue | null>(null);
export const usePermissionsDataManager = () => React.useContext(PermissionsDataManagerContext);