@bigbinary/neeto-team-members-frontend 5.0.63 → 5.0.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-DEOuQRcK.js","sources":["../app/javascript/src/v2/components/TeamMembers/constants.js","../app/javascript/src/v2/components/TeamMembers/utils.jsx"],"sourcesContent":["import {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { getQueryParams } from \"neetocommons/v2/utils\";\nimport { clamp } from \"ramda\";\n\nconst { page, pageSize } = getQueryParams();\n\nexport const DEFAULT_RADIX = 10;\n\nexport const DEFAULT_IS_OPEN_VALUES = {\n menuBar: false,\n manageMember: false,\n alert: false,\n};\n\nexport const DEFAULT_FILTER_VALUES = {\n page: clamp(1, Infinity, parseInt(page)) || DEFAULT_PAGE_INDEX,\n pageSize: clamp(10, 100, parseInt(pageSize)) || DEFAULT_PAGE_SIZE,\n sortBy: undefined,\n orderBy: undefined,\n neetoFilters: [],\n};\n\nexport const DEFAULT_SELECTED_ROWS = {\n active: [],\n emails: [],\n keys: [],\n displayNames: [],\n};\n\nexport const TEAM_MEMBERS_HIDDEN_COLUMNS = \"TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS\";\n","import { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport { DropdownMenuItem } from \"@bigbinary/neeto-atoms/primitives\";\nimport i18next from \"i18next\";\nimport { Users } from \"lucide-react\";\nimport { isNotEmpty, toLabelAndValue } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport { buildUrl, getQueryParams, hyphenize } from \"neetocommons/v2/utils\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { assoc, curry, filter, identical, mergeLeft, not } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { DEFAULT_RADIX } from \"./constants\";\n\nconst renderNameColumn = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData,\n}) => {\n const { displayName: name, profileImageUrl: imageUrl } = tableData;\n\n return (\n <div className=\"flex w-full justify-between gap-3\">\n <div className=\"flex items-center gap-2\">\n <Avatar className=\"size-8\" user={{ name, imageUrl }} />\n <Typography\n className=\"whitespace-normal\"\n data-testid={`ntm-member-name-${hyphenize(name)}`}\n variant=\"body3\"\n >\n {name}\n </Typography>\n </div>\n {renderDropdownButton({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData,\n })}\n </div>\n );\n};\n\nconst renderDropdownButton = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData,\n}) => (\n <MoreDropdown\n isDisabled={not(config.permissions.update)}\n dropdownButtonProps={{\n \"data-testid\": \"ntm-members-table-row-dropdown-button\",\n tooltipProps: {\n content: i18next.t(\n \"neetoTeamMembers.tooltips.noPermissionToEditMembers\"\n ),\n disabled: config.permissions.update,\n position: \"top\",\n },\n }}\n menuTopChildren={\n <>\n <DropdownMenuItem\n className=\"cursor-pointer\"\n data-testid=\"ntm-edit-member-button\"\n onClick={() => handleUpdateRole(tableData)}\n >\n {i18next.t(\"neetoTeamMembers.common.edit\")}\n </DropdownMenuItem>\n {config?.table?.dropdownProps?.(tableData)}\n <DropdownMenuItem\n className=\"cursor-pointer\"\n data-testid=\"ntm-deactivate-member-button\"\n onClick={() => handleUpdateStatus(tableData)}\n >\n {i18next.t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenuItem>\n </>\n }\n />\n);\n\nconst getDefaultAlertTitle = ({ member }) =>\n member?.active\n ? i18next.t(\"neetoTeamMembers.common.remove_\", {\n what: taxonomies.member.singular,\n })\n : i18next.t(\"neetoTeamMembers.common.activate_\", {\n what: taxonomies.member.singular,\n });\n\nconst getDefaultAlertMessage = ({ member }) => (\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.removeMember\"\n values={{ ...SINGULAR, person: member?.displayName }}\n />\n);\n\nconst getDefaultColumns = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n otherColumns,\n isSize,\n}) => [\n {\n accessorKey: \"name\",\n id: \"name\",\n size: 300,\n enablePinning: isNotEmpty(otherColumns) && !isSize(\"mobile\"),\n cell: ({ row }) =>\n renderNameColumn({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData: row.original,\n }),\n enableSorting: true,\n header: i18next.t(\"neetoTeamMembers.common.name\"),\n enableHiding: false,\n },\n {\n accessorKey: \"email\",\n id: \"email\",\n enableSorting: true,\n size: 350,\n header: i18next.t(\"neetoTeamMembers.common.email\", SINGULAR),\n },\n {\n accessorKey: \"role\",\n enableSorting: true,\n size: 200,\n header: i18next.t(\"neetoTeamMembers.common.role\", SINGULAR),\n },\n];\n\nconst removeExcludedRole = curry(\n (excludedRoles, role) => !excludedRoles?.includes(role?.name)\n);\n\nexport const getColumnData = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n isSize,\n}) => {\n const otherColumns = config?.otherColumns ?? [];\n const defaultColumns = getDefaultColumns({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n otherColumns,\n isSize,\n });\n\n const columns = defaultColumns.map(column => {\n const otherColumn = otherColumns.find(col =>\n identical(col.accessorKey || col.id, column.accessorKey || column.id)\n );\n\n return otherColumn || column;\n });\n\n otherColumns.forEach(otherColumn => {\n const key = otherColumn.accessorKey || otherColumn.id;\n const exists = columns.find(col =>\n identical(col.accessorKey || col.id, key)\n );\n if (!exists) columns.push(otherColumn);\n });\n\n return columns;\n};\n\nexport const renderUpdateAlert = (field, props) => {\n const { config, member } = props;\n\n if (config?.alert?.[field]) {\n return config.alert?.[field]({\n active: member?.active,\n id: member?.id,\n name: member?.displayName,\n });\n }\n\n return field === \"title\"\n ? getDefaultAlertTitle(props)\n : getDefaultAlertMessage(props);\n};\n\nexport const handlePageChange = (setFilters, history) => (page, pageSize) => {\n const searchParams = getQueryParams({ toCamelCase: false });\n history.replace(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, searchParams)\n )\n );\n setFilters(mergeLeft({ page, pageSize }));\n};\n\nexport const renderPaginationProps = size => ({\n pageSize: parseInt(size, DEFAULT_RADIX),\n});\n\nexport const defaultNeetoFiltersColumns = () => [\n {\n key: \"email\",\n label: i18next.t(\"neetoTeamMembers.common.email\", SINGULAR),\n model: \"User\",\n node: \"email\",\n showRuleSelector: true,\n type: \"text\",\n },\n {\n key: \"name\",\n label: i18next.t(\"neetoTeamMembers.common.name\"),\n model: \"User\",\n node: \"first_name,last_name\",\n type: \"text\",\n values: \"\",\n },\n {\n key: \"role\",\n label: i18next.t(\"neetoTeamMembers.common.role\", SINGULAR),\n model: \"OrganizationRole\",\n node: \"organization_role.name\",\n type: \"multi_option\",\n values: [],\n },\n];\n\nexport const buildFilterColumns = ({\n options: { emails = [], organizationRoles = [] },\n emailConfig: { setSearchTerm, isLoading },\n}) => {\n const columnValues = {\n email: emails.map(toLabelAndValue),\n role: organizationRoles.map(toLabelAndValue),\n };\n\n return defaultNeetoFiltersColumns().map(column => {\n const values = columnValues[column.key];\n if (column.key === \"role\") return assoc(\"values\", values, column);\n\n const emailConfig = {\n values,\n isLoading,\n onInputChange: setSearchTerm,\n };\n\n return mergeLeft(emailConfig, column);\n });\n};\n\nexport const getFilteredRoles = (roles = [], config = {}) =>\n filter(removeExcludedRole(config?.excludedRoles), roles);\n\nexport const generateNoDataContent = ({ buttonProps }) => {\n const { disabled, onClick } = buttonProps;\n\n const noDataTitle = i18next.t(\"neetoTeamMembers.common.memberEmptyTitle\", {\n what: taxonomies.member.plural,\n });\n\n const noDataDescription = i18next.t(\n \"neetoTeamMembers.common.memberEmptyDescription\",\n { what: taxonomies.member.plural }\n );\n\n const noDataButtonProps = {\n \"data-testid\": \"ntm-add-member-button\",\n disabled,\n label: i18next.t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.member.singular,\n }),\n onClick,\n };\n\n return {\n noDataTitle,\n noDataDescription,\n noDataIcon: Users,\n noDataButtonProps,\n };\n};\n"],"names":["_getQueryParams","getQueryParams","page","pageSize","DEFAULT_RADIX","DEFAULT_IS_OPEN_VALUES","menuBar","manageMember","alert","DEFAULT_FILTER_VALUES","clamp","Infinity","parseInt","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","sortBy","undefined","orderBy","neetoFilters","DEFAULT_SELECTED_ROWS","active","emails","keys","displayNames","renderNameColumn","_ref","config","handleUpdateRole","handleUpdateStatus","tableData","name","displayName","imageUrl","profileImageUrl","_jsxs","className","children","_jsx","Avatar","user","Typography","concat","hyphenize","variant","renderDropdownButton","_ref2","_config$table","_config$table$dropdow","MoreDropdown","isDisabled","not","permissions","update","dropdownButtonProps","tooltipProps","content","i18next","t","disabled","position","menuTopChildren","_Fragment","DropdownMenuItem","onClick","table","dropdownProps","call","getDefaultAlertTitle","_ref3","member","what","taxonomies","singular","getDefaultAlertMessage","_ref4","Trans","i18nKey","values","_objectSpread","SINGULAR","person","getDefaultColumns","_ref5","otherColumns","isSize","accessorKey","id","size","enablePinning","isNotEmpty","cell","_ref6","row","original","enableSorting","header","enableHiding","removeExcludedRole","curry","excludedRoles","role","includes","getColumnData","_ref7","_config$otherColumns","defaultColumns","columns","map","column","otherColumn","find","col","identical","forEach","key","exists","push","renderUpdateAlert","field","props","_config$alert","_config$alert2","handlePageChange","setFilters","history","searchParams","toCamelCase","replace","buildUrl","window","location","pathname","mergeLeft","page_size","defaultNeetoFiltersColumns","label","model","node","showRuleSelector","type","buildFilterColumns","_ref8","_ref8$options","options","_ref8$options$emails","_ref8$options$organiz","organizationRoles","_ref8$emailConfig","emailConfig","setSearchTerm","isLoading","columnValues","email","toLabelAndValue","assoc","onInputChange","getFilteredRoles","roles","arguments","length","filter","generateNoDataContent","_ref9","buttonProps","noDataTitle","plural","noDataDescription","noDataButtonProps","noDataIcon","Users"],"mappings":"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"}