
META-INF.resources.js.components.ModelBuilder.EditObjectFolderHeader.EditObjectFolderHeader.tsx Maven / Gradle / Ivy
The newest version!
/**
* SPDX-FileCopyrightText: (c) 2023 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
import ClayButton, {ClayButtonWithIcon} from '@clayui/button';
import ClayIcon from '@clayui/icon';
import {ClayTooltipProvider} from '@clayui/tooltip';
import {stringUtils} from '@liferay/object-js-components-web';
import classNames from 'classnames';
import React from 'react';
import {useObjectFolderContext} from '../ModelBuilderContext/objectFolderContext';
import {TYPES} from '../ModelBuilderContext/typesEnum';
import './EditObjectFolderHeader.scss';
interface EditObjectFolderHeaderProps {
hasDraftObjectDefinitions: boolean;
selectedObjectFolder: ObjectFolder;
}
export default function EditObjectFolderHeader({
hasDraftObjectDefinitions,
selectedObjectFolder,
}: EditObjectFolderHeaderProps) {
const [{showChangesSaved, showSidebars}, dispatch] =
useObjectFolderContext();
return (
{stringUtils.getLocalizableLabel({
fallbackLabel: selectedObjectFolder.name,
labels: selectedObjectFolder.label,
})}
{Liferay.Language.get('erc')}:
{selectedObjectFolder.externalReferenceCode}
{selectedObjectFolder.externalReferenceCode !== 'default' &&
selectedObjectFolder.actions?.update && (
dispatch({
payload: {
updatedModelBuilderModals: {
editObjectFolder: true,
},
},
type: TYPES.UPDATE_VISIBILITY_MODEL_BUILDER_MODALS,
})
}
symbol="pencil"
/>
)}
{showChangesSaved && (
{Liferay.Language.get('changes-saved')}
)}
dispatch({
payload: {updatedShowSidebars: !showSidebars},
type: TYPES.SET_SHOW_SIDEBARS,
})
}
size="sm"
symbol={showSidebars ? 'view' : 'hidden'}
title={Liferay.Language.get('toggle-sidebars')}
/>
{
dispatch({
payload: {
updatedModelBuilderModals: {
publishObjectDefinitions: true,
},
},
type: TYPES.UPDATE_VISIBILITY_MODEL_BUILDER_MODALS,
});
}}
size="sm"
>
{Liferay.Language.get('publish')}
);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy