Next round of refactoring done

This commit is contained in:
Colin Dawson 2026-01-30 21:05:50 +00:00
parent f3deae0842
commit 8c0c6a167c
2 changed files with 55 additions and 27 deletions

View File

@ -26,6 +26,7 @@
"ExceptionJson": "Exception JSON",
"ExceptionLogs": "Exception Logs",
"FailedToDisableAuthenticator": "Failed to disable authenticator:",
"FieldType": "Field Type",
"Forms": "Forms",
"FormTemplateManager": "Form Template Manager",
"Glossaries": "Glossaries",

View File

@ -1,36 +1,63 @@
import React from "react";
import { useTranslation } from "react-i18next";
import Column from "../../../../components/common/columns";
import Table, { PublishedTableProps } from "../../../../components/common/Table";
import Table, {
PublishedTableProps,
} from "../../../../components/common/Table";
import authentication from "../../../frame/services/authenticationService";
import { CustomField } from "../services/customFieldsService";
class CustomFieldsTable extends React.Component<PublishedTableProps<CustomField>> {
columns : Column<CustomField>[] = [
{ key: "name", label: "Name", order: "asc" },
{ key: "fieldType", label: "Field Type", order: "asc", searchable: false }
];
const CustomFieldsTable: React.FC<PublishedTableProps<CustomField>> = (
props,
) => {
const { t } = useTranslation();
raiseSort = (sortColumn : Column<CustomField>) => {
this.setState({sortColumn});
if (this.props.onSort !== undefined)
this.props.onSort(sortColumn);
}
const columns: Column<CustomField>[] = [
{ key: "name", label: t("Name"), order: "asc" },
{
key: "fieldType",
label: t("FieldType"),
order: "asc",
searchable: false,
},
];
handleAuditParams = (item: any) => {
return {
entityName : "e_suite.Database.Core.Tables.CustomFields.CustomField",
primaryKey : "{\"Id\":"+item.id+"}"
}
}
const raiseSort = (sortColumn: Column<CustomField>) => {
if (props.onSort !== undefined) props.onSort(sortColumn);
};
render() {
const { data, sortColumn, onChangePage, onSearch, onDelete } = this.props;
const editPath = authentication.hasAccess("EditField") ? "edit/{0}" : undefined;
const doDelete = authentication.hasAccess("DeleteField") ? onDelete : undefined;
const showAudit = authentication.hasAccess("ViewAuditLog") ? this.handleAuditParams : undefined;
const handleAuditParams = (item: any) => {
return {
entityName: "e_suite.Database.Core.Tables.CustomFields.CustomField",
primaryKey: '{"Id":' + item.id + "}",
};
};
return <Table data={data} keyName="id" columns={this.columns} sortColumn={sortColumn} editPath={editPath} onSort={this.raiseSort} onChangePage={onChangePage} onSearch={onSearch} onDelete={doDelete} onAuditParams={showAudit}/>;
}
}
export default CustomFieldsTable;
const { data, sortColumn, onChangePage, onSearch, onDelete } = props;
const editPath = authentication.hasAccess("EditField")
? "edit/{0}"
: undefined;
const doDelete = authentication.hasAccess("DeleteField")
? onDelete
: undefined;
const showAudit = authentication.hasAccess("ViewAuditLog")
? handleAuditParams
: undefined;
return (
<Table
data={data}
keyName="id"
columns={columns}
sortColumn={sortColumn}
editPath={editPath}
onSort={raiseSort}
onChangePage={onChangePage}
onSearch={onSearch}
onDelete={doDelete}
onAuditParams={showAudit}
/>
);
};
export default CustomFieldsTable;