Merge pull request #4299 from appsmithorg/feature/4135-table-url-column-pretty-link

Feature/4135 table url column pretty link
This commit is contained in:
Somangshu Goswami 2021-06-11 12:50:04 +05:30 committed by GitHub
commit 7615e54f1e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 32 additions and 2 deletions

View File

@ -85,7 +85,7 @@ function AutoToolTipComponent(props: Props) {
updateToolTip(false); updateToolTip(false);
} }
}, [ref]); }, [ref]);
if (props.columnType === ColumnTypes.URL) { if (props.columnType === ColumnTypes.URL && props.title) {
return <LinkWrapper {...props} />; return <LinkWrapper {...props} />;
} }
return ( return (

View File

@ -94,6 +94,7 @@ export interface CellLayoutProperties {
buttonStyle?: string; buttonStyle?: string;
buttonLabelColor?: string; buttonLabelColor?: string;
buttonLabel?: string; buttonLabel?: string;
displayText?: string;
} }
export interface TableColumnMetaProps { export interface TableColumnMetaProps {
@ -144,6 +145,7 @@ export interface ColumnProperties {
inputFormat?: string; inputFormat?: string;
dropdownOptions?: string; dropdownOptions?: string;
onOptionChange?: string; onOptionChange?: string;
displayText?: string;
} }
export const ConditionFunctions: { export const ConditionFunctions: {

View File

@ -411,6 +411,9 @@ export const CellWrapper = styled.div<{
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
text-align: ${(props) =>
props?.cellProperties?.horizontalAlignment &&
TEXT_ALIGN[props?.cellProperties?.horizontalAlignment]};
} }
.hidden-icon { .hidden-icon {
display: none; display: none;

View File

@ -112,7 +112,9 @@ export const renderCell = (
tableWidth={tableWidth} tableWidth={tableWidth}
title={value.toString()} title={value.toString()}
> >
{value.toString()} {value && columnType === ColumnTypes.URL && cellProperties.displayText
? cellProperties.displayText
: value.toString()}
</AutoToolTipComponent> </AutoToolTipComponent>
); );
} }

View File

@ -203,6 +203,24 @@ export default [
isBindProperty: false, isBindProperty: false,
isTriggerProperty: false, isTriggerProperty: false,
}, },
{
propertyName: "displayText",
label: "Display Text",
controlType: "COMPUTE_VALUE",
customJSControl: "COMPUTE_VALUE",
updateHook: updateDerivedColumnsHook,
hidden: (props: TableWidgetProps, propertyPath: string) => {
const baseProperty = getBasePropertyPath(propertyPath);
const columnType = get(
props,
`${baseProperty}.columnType`,
"",
);
return columnType !== "url";
},
isBindProperty: false,
isTriggerProperty: false,
},
{ {
propertyName: "computedValue", propertyName: "computedValue",
label: "Computed Value", label: "Computed Value",

View File

@ -120,6 +120,11 @@ class TableWidget extends BaseWidget<TableWidgetProps, WidgetState> {
textSize: this.getPropertyValue(columnProperties.textSize, rowIndex), textSize: this.getPropertyValue(columnProperties.textSize, rowIndex),
textColor: this.getPropertyValue(columnProperties.textColor, rowIndex), textColor: this.getPropertyValue(columnProperties.textColor, rowIndex),
fontStyle: this.getPropertyValue(columnProperties.fontStyle, rowIndex), //Fix this fontStyle: this.getPropertyValue(columnProperties.fontStyle, rowIndex), //Fix this
displayText: this.getPropertyValue(
columnProperties.displayText,
rowIndex,
true,
),
}; };
return cellProperties; return cellProperties;
}; };