Skip to content

Commit

Permalink
LPD-19184 Fix redirect to folder on model builder
Browse files Browse the repository at this point in the history
  • Loading branch information
rebsilva authored and brianchandotcom committed Mar 18, 2024
1 parent 2eff587 commit 9dce1f0
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 56 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ page import="com.liferay.portal.kernel.language.LanguageUtil" %><%@
page import="com.liferay.portal.kernel.model.LayoutConstants" %><%@
page import="com.liferay.portal.kernel.model.ModelHintsConstants" %><%@
page import="com.liferay.portal.kernel.portlet.url.builder.PortletURLBuilder" %><%@
page import="com.liferay.portal.kernel.url.URLBuilder" %><%@
page import="com.liferay.portal.kernel.util.Constants" %><%@
page import="com.liferay.portal.kernel.util.HashMapBuilder" %><%@
page import="com.liferay.portal.kernel.util.HtmlUtil" %><%@
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,20 +245,14 @@ export default function EditObjectFolder({
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [selectedObjectFolder.objectFolderItems?.length]);

Liferay.on('beforeNavigate', () => {
updatePreviousURLParam({
paramType: 'objectFolderName',
paramURL: viewObjectDefinitionsURL,
paramValue: objectFolderName,
});
});

window.addEventListener('popstate', () => {
updatePreviousURLParam({
paramType: 'objectFolderName',
paramURL: viewObjectDefinitionsURL,
paramValue: objectFolderName,
});
Liferay.on('beforeNavigate', (event) => {
if (event.path.includes('objectFolderName')) {
updatePreviousURLParam({
paramType: 'objectFolderName',
paramURL: viewObjectDefinitionsURL,
paramValue: objectFolderName,
});
}
});

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import {
getObjectDefinitionNodeNextPosition,
getObjectDefinitionNodePosition,
getObjectFolderDiagramCenterPosition,
updateURLParam,
} from '../utils';
import {
convertAllObjectFieldsToUnselected,
Expand Down Expand Up @@ -756,8 +755,6 @@ export function ObjectFolderReducer(state: TState, action: TAction): TState {
case TYPES.SET_OBJECT_FOLDER_NAME: {
const {objectFolderName} = action.payload;

updateURLParam('objectFolderName', objectFolderName);

return {
...state,
objectFolderName,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ function hasPositionedNode(objectFolderItems: ObjectFolderItem[]) {
);
}

interface handleUnplacedObjectDefinitionNode {
interface HandleUnplacedObjectDefinitionNode {
index: number;
objectFolderExternalReferenceCode: string;
outdatedObjectFolderItems: ObjectFolderItem[];
Expand All @@ -198,7 +198,7 @@ function handleUnplacedObjectDefinitionNode({
outdatedObjectFolderItems,
positionColumn,
updatedObjectFolderItems,
}: handleUnplacedObjectDefinitionNode) {
}: HandleUnplacedObjectDefinitionNode) {
const hasNewPositionedNode = hasPositionedNode(updatedObjectFolderItems);

if (objectFolderExternalReferenceCode === 'default') {
Expand All @@ -221,7 +221,7 @@ function handleUnplacedObjectDefinitionNode({
return getObjectFolderDiagramCenterPosition();
}

interface getObjectDefinitionNodePosition {
interface GetObjectDefinitionNodePosition {
index: number;
objectDefinition: ObjectDefinitionNodeData;
objectFolderExternalReferenceCode: string;
Expand All @@ -237,7 +237,7 @@ export function getObjectDefinitionNodePosition({
outdatedObjectFolderItems,
positionColumn,
updatedObjectFolderItems,
}: getObjectDefinitionNodePosition) {
}: GetObjectDefinitionNodePosition) {
const objectFolderItem = outdatedObjectFolderItems.find(
(objectFolderItem) =>
objectFolderItem.objectDefinitionExternalReferenceCode ===
Expand Down Expand Up @@ -369,7 +369,7 @@ export function getUnsupportedObjectRelationshipErrorMessage(
}
}

interface updatePreviousURLParam {
interface UpdatePreviousURLParam {
paramType: string;
paramURL: string;
paramValue: string;
Expand All @@ -379,23 +379,10 @@ export function updatePreviousURLParam({
paramType,
paramURL,
paramValue,
}: updatePreviousURLParam) {
}: UpdatePreviousURLParam) {
const newPreviousURL = new URL(paramURL);

newPreviousURL.searchParams.set(paramType, paramValue);

window.history.pushState(null, '', newPreviousURL.toString());

window.location.href = newPreviousURL.toString();
}

export function updateURLParam(paramType: string, paramValue: string) {
const currentURL = window.location.href;

const newURL = currentURL.replace(
new RegExp('(' + paramType + '=)([^&]*)'),
paramType + '=' + paramValue
);

window.history.pushState({path: newURL}, '', newURL);
}
Original file line number Diff line number Diff line change
Expand Up @@ -358,20 +358,16 @@ export default function ViewObjectDefinitions({
'objectFolderName'
);

if (objectFolderNameSearchParam === null) {
setDefaultToSearchParams(allObjectFolders, currentURL);
const newSelectedObjectFolder = allObjectFolders.items.find(
(objectFolder) =>
objectFolder.name === objectFolderNameSearchParam
);

if (newSelectedObjectFolder) {
setSelectedObjectFolder(newSelectedObjectFolder);
}
else {
const newSelectedObjectFolder = allObjectFolders.items.find(
(folder) => folder.name === objectFolderNameSearchParam
);

if (newSelectedObjectFolder) {
setSelectedObjectFolder(newSelectedObjectFolder);
}
else {
setDefaultToSearchParams(allObjectFolders, currentURL);
}
setDefaultToSearchParams(allObjectFolders, currentURL);
}

setLoading(false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export declare function getEdgeParams(
targetY: number;
};
export declare function getObjectFolderName(): string;
interface getObjectDefinitionNodePosition {
interface GetObjectDefinitionNodePosition {
index: number;
objectDefinition: ObjectDefinitionNodeData;
objectFolderExternalReferenceCode: string;
Expand All @@ -59,7 +59,7 @@ export declare function getObjectDefinitionNodePosition({
outdatedObjectFolderItems,
positionColumn,
updatedObjectFolderItems,
}: getObjectDefinitionNodePosition): {
}: GetObjectDefinitionNodePosition): {
x: number;
y: number;
};
Expand Down Expand Up @@ -87,7 +87,7 @@ export declare function getUnsupportedObjectRelationshipErrorMessage(
learnMessage: string;
}
| undefined;
interface updatePreviousURLParam {
interface UpdatePreviousURLParam {
paramType: string;
paramURL: string;
paramValue: string;
Expand All @@ -96,9 +96,5 @@ export declare function updatePreviousURLParam({
paramType,
paramURL,
paramValue,
}: updatePreviousURLParam): void;
export declare function updateURLParam(
paramType: string,
paramValue: string
): void;
}: UpdatePreviousURLParam): void;
export {};

0 comments on commit 9dce1f0

Please sign in to comment.