Next round of refactoring done
This commit is contained in:
parent
f3deae0842
commit
8c0c6a167c
@ -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",
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user