Skip to content

Commit 62285ce

Browse files
committed
add backward compatibility for links type
1 parent 304c2c2 commit 62285ce

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

client/packages/lowcoder/src/comps/comps/tableComp/column/columnTypeComps/columnLinksComp.tsx

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React, { useState, useRef, useEffect, useCallback, useMemo } from "react";
22
import { default as Menu } from "antd/es/menu";
33
import { ColumnTypeCompBuilder } from "comps/comps/tableComp/column/columnTypeCompBuilder";
4-
import { ActionSelectorControlInContext } from "comps/controls/actionSelector/actionSelectorControl";
54
import { BoolCodeControl, StringControl } from "comps/controls/codeControl";
65
import { manualOptionsControl } from "comps/controls/optionsControl";
76
import { MultiCompBuilder } from "comps/generators";
@@ -10,6 +9,9 @@ import { trans } from "i18n";
109
import styled from "styled-components";
1110
import { ColumnLink } from "comps/comps/tableComp/column/columnTypeComps/columnLinkComp";
1211
import { LightActiveTextColor, PrimaryColor } from "constants/style";
12+
import { clickEvent, eventHandlerControl } from "comps/controls/eventHandlerControl";
13+
import { migrateOldData } from "@lowcoder-ee/comps/generators/simpleGenerators";
14+
import { fixOldActionData } from "comps/comps/tableComp/column/simpleColumnTypeComps";
1315

1416
const MenuLinkWrapper = styled.div`
1517
> a {
@@ -37,11 +39,13 @@ const MenuWrapper = styled.div`
3739
}
3840
`;
3941

42+
const LinkEventOptions = [clickEvent] as const;
43+
4044
// Memoized menu item component
4145
const MenuItem = React.memo(({ option, index }: { option: any; index: number }) => {
4246
const handleClick = useCallback(() => {
4347
if (!option.disabled && option.onClick) {
44-
option.onClick();
48+
option.onClick("click");
4549
}
4650
}, [option.disabled, option.onClick]);
4751

@@ -58,10 +62,10 @@ const MenuItem = React.memo(({ option, index }: { option: any; index: number })
5862

5963
MenuItem.displayName = 'MenuItem';
6064

61-
const OptionItem = new MultiCompBuilder(
65+
const OptionItemTmp = new MultiCompBuilder(
6266
{
6367
label: StringControl,
64-
onClick: ActionSelectorControlInContext,
68+
onClick: eventHandlerControl(LinkEventOptions),
6569
hidden: BoolCodeControl,
6670
disabled: BoolCodeControl,
6771
},
@@ -73,17 +77,16 @@ const OptionItem = new MultiCompBuilder(
7377
return (
7478
<>
7579
{children.label.propertyView({ label: trans("label") })}
76-
{children.onClick.propertyView({
77-
label: trans("table.action"),
78-
placement: "table",
79-
})}
8080
{hiddenPropertyView(children)}
8181
{disabledPropertyView(children)}
82+
{children.onClick.propertyView()}
8283
</>
8384
);
8485
})
8586
.build();
8687

88+
const OptionItem = migrateOldData(OptionItemTmp, fixOldActionData);
89+
8790
// Memoized menu component
8891
const LinksMenu = React.memo(({ options }: { options: any[] }) => {
8992
const mountedRef = useRef(true);
@@ -114,7 +117,7 @@ const LinksMenu = React.memo(({ options }: { options: any[] }) => {
114117

115118
LinksMenu.displayName = 'LinksMenu';
116119

117-
export const ColumnLinksComp = (function () {
120+
const ColumnLinksCompTmp = (function () {
118121
const childrenMap = {
119122
options: manualOptionsControl(OptionItem, {
120123
initOptions: [{ label: trans("table.option1") }],
@@ -137,3 +140,5 @@ export const ColumnLinksComp = (function () {
137140
))
138141
.build();
139142
})();
143+
144+
export const ColumnLinksComp = migrateOldData(ColumnLinksCompTmp, fixOldActionData);

0 commit comments

Comments
 (0)