{"version":3,"file":"CrudTableColumnDefs.mjs","names":["toTitleCase","SYSTEM_ENTITY_PROPERTIES","mapDotNetTypeToAgGridType","fallbackT","key","options","defaultValue","CrudTableColumnDefs","entityAttributes","actionList","t","tr","columnDefs","reduce","defs","element","extendedProperties","udpFieldProperties","maintenanceConfig","hidden","includes","name","childEntity","columnHeader","displayName","columnHeaderName","lookupId","lookup","maintainenceConfig","def","headerName","field","charAt","toLowerCase","slice","cellDataType","type","filter","searchable","sortable","orderable","hide","tooltipField","context","push","cellRenderer","cellRendererParams"],"sources":["../../../src/maintenanceEngine/crudBrowser/CrudTableColumnDefs.js"],"sourcesContent":["import { toTitleCase } from '../../utilities/input/StringUtilities';\nimport { SYSTEM_ENTITY_PROPERTIES } from '../../utilities/entities/entityUtilities';\nimport { mapDotNetTypeToAgGridType } from './crudHelper';\n\n// `t` is optional so non-React callers (and existing call sites) keep working:\n// the fallback resolves each key to its English defaultValue.\nconst fallbackT = (key, options) => options?.defaultValue ?? key;\n\nexport const CrudTableColumnDefs = (entityAttributes, actionList, t) => {\n  // Guard: some callers pass a non-function in this position (historically\n  // ignored), so never invoke it blindly.\n  const tr = typeof t === 'function' ? t : fallbackT;\n  let columnDefs =\n    entityAttributes?.reduce((defs, element) => {\n      //skip is hidden through maintenance config\n      if (\n        element?.extendedProperties?.udpFieldProperties?.maintenanceConfig\n          ?.hidden === true\n      ) {\n        return defs;\n      }\n      //skip system properties (business object key etc.)\n      if (SYSTEM_ENTITY_PROPERTIES.includes(element?.name)) {\n        return defs;\n      }\n\n      if (!element?.extendedProperties?.childEntity) {\n        const columnHeader =\n          element?.extendedProperties?.udpFieldProperties?.displayName ||\n          element?.name;\n\n        const columnHeaderName = toTitleCase(columnHeader);\n        const lookupId =\n          element?.extendedProperties?.lookup ||\n          element?.extendedProperties?.udpFieldProperties?.maintainenceConfig\n            ?.lookup;\n\n        let def = {\n          headerName: columnHeaderName,\n          field: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n          cellDataType: lookupId\n            ? 'text'\n            : mapDotNetTypeToAgGridType(element?.type),\n          filter: element?.extendedProperties?.searchable,\n          sortable: element?.extendedProperties?.orderable,\n          hide: element?.extendedProperties?.udpFieldProperties\n            ?.maintainenceConfig?.hidden,\n          tooltipField:\n            element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n          context: {\n            lookupId: lookupId,\n            ...element\n          }\n        };\n\n        defs.push(def);\n      }\n      return defs;\n    }, []) || [];\n\n  columnDefs.push({\n    headerName: tr('common.actions', { defaultValue: 'Actions' }),\n    field: 'actions',\n    cellRenderer: 'actionsRenderer',\n    cellRendererParams: {\n      actionList: actionList\n    }\n  });\n\n  return columnDefs;\n};\n"],"mappings":";;;;AAMA,MAAMG,aAAaC,KAAKC,YAAYA,SAASC,gBAAgBF;AAE7D,MAAaG,uBAAuBC,kBAAkBC,YAAYC,MAAM;CAGtE,MAAMC,KAAK,OAAOD,MAAM,aAAaA,IAAIP;CACzC,IAAIS,aACFJ,kBAAkBK,QAAQC,MAAMC,YAAY;AAE1C,MACEA,SAASC,oBAAoBC,oBAAoBC,mBAC7CC,WAAW,KAEf,QAAOL;AAGT,MAAIb,yBAAyBmB,SAASL,SAASM,KAAK,CAClD,QAAOP;AAGT,MAAI,CAACC,SAASC,oBAAoBM,aAAa;GAK7C,MAAMG,mBAAmBzB,YAHvBe,SAASC,oBAAoBC,oBAAoBO,eACjDT,SAASM,KAEuC;GAClD,MAAMK,WACJX,SAASC,oBAAoBW,UAC7BZ,SAASC,oBAAoBC,oBAAoBW,oBAC7CD;GAEN,IAAIE,MAAM;IACRC,YAAYL;IACZM,OAAOhB,SAASM,KAAKW,OAAO,EAAE,CAACC,aAAa,GAAGlB,SAASM,KAAKa,MAAM,EAAE;IACrEC,cAAcT,WACV,SACAxB,0BAA0Ba,SAASqB,KAAK;IAC5CC,QAAQtB,SAASC,oBAAoBsB;IACrCC,UAAUxB,SAASC,oBAAoBwB;IACvCC,MAAM1B,SAASC,oBAAoBC,oBAC/BW,oBAAoBT;IACxBuB,cACE3B,SAASM,KAAKW,OAAO,EAAE,CAACC,aAAa,GAAGlB,SAASM,KAAKa,MAAM,EAAE;IAChES,SAAS;KACGjB;KACV,GAAGX;KACL;IACD;AAEDD,QAAK8B,KAAKf,IAAI;;AAEhB,SAAOf;IACN,EAAE,CAAC,IAAI,EAAE;AAEdF,YAAWgC,KAAK;EACdd,YAAYnB,GAAG,kBAAkB,EAAEL,cAAc,WAAW,CAAC;EAC7DyB,OAAO;EACPc,cAAc;EACdC,oBAAoB,EACNrC,YACd;EACD,CAAC;AAEF,QAAOG"}