Files
klz-cables.com/.pnpm-store/v10/files/41/525f5a1b29eb5d8bcc9ecf037ecca1c6f8b154c60063e5822583f8ba8dfc6d1b5ebf82bfe5ed3b11f4dc3a4baf0212e317a45817871532836b1c4e4e95d622
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
4.8 KiB
Plaintext

{"version":3,"file":"filterFieldsWithPermissions.js","names":["fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","shouldSkipField","field","type","admin","disableListColumn","filterFieldsWithPermissions","fieldPermissions","fields","reduce","acc","formattedField","tabs","map","tab","name","push","Array","isArray","fieldPermission","read"],"sources":["../../../../src/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.tsx"],"sourcesContent":["import type {\n ClientField,\n Field,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID } from 'payload/shared'\n\nconst shouldSkipField = (field: ClientField | Field): boolean =>\n (field.type !== 'ui' && fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n field?.admin?.disableListColumn === true\n\nexport const filterFieldsWithPermissions = <T extends ClientField | Field = ClientField>({\n fieldPermissions,\n fields,\n}: {\n fieldPermissions?: SanitizedFieldPermissions | SanitizedFieldsPermissions\n fields: (ClientField | Field)[]\n}): T[] => {\n return (fields ?? []).reduce((acc, field) => {\n if (shouldSkipField(field)) {\n return acc\n }\n\n // handle tabs\n if (field.type === 'tabs' && 'tabs' in field) {\n const formattedField = {\n ...field,\n tabs: field.tabs.map((tab) => ({\n ...tab,\n fields: filterFieldsWithPermissions<T>({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : 'name' in tab && tab.name\n ? fieldPermissions[tab.name]?.fields || fieldPermissions[tab.name]\n : fieldPermissions,\n fields: tab.fields,\n }),\n })),\n } as ClientField | Field\n acc.push(formattedField)\n return acc\n }\n\n // handle fields with subfields (row, group, collapsible, etc.)\n if ('fields' in field && Array.isArray(field.fields)) {\n const formattedField = {\n ...field,\n fields: filterFieldsWithPermissions<T>({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : 'name' in field && field.name\n ? fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name]\n : fieldPermissions,\n fields: field.fields,\n }),\n } as ClientField | Field\n acc.push(formattedField)\n return acc\n }\n\n if (fieldPermissions === true) {\n acc.push(field)\n return acc\n }\n\n if (fieldAffectsData(field)) {\n const fieldPermission = fieldPermissions?.[field.name]\n // Always allow ID fields, or if explicitly granted (true or { read: true })\n // undefined means field is not in permissions object = denied\n if (fieldIsID(field) || fieldPermission === true || fieldPermission?.read === true) {\n acc.push(field)\n }\n return acc\n }\n\n // leaf\n acc.push(field)\n return acc\n }, [])\n}\n"],"mappings":"AAOA,SAASA,gBAAgB,EAAEC,uBAAuB,EAAEC,SAAS,QAAQ;AAErE,MAAMC,eAAA,GAAmBC,KAAA,IACvBA,KAAC,CAAMC,IAAI,KAAK,QAAQJ,uBAAA,CAAwBG,KAAA,KAAU,CAACF,SAAA,CAAUE,KAAA,KACrEA,KAAA,EAAOE,KAAA,EAAOC,iBAAA,KAAsB;AAEtC,OAAO,MAAMC,2BAAA,GAA8BA,CAA8C;EACvFC,gBAAgB;EAChBC;AAAM,CAIP;EACC,OAAO,CAACA,MAAA,IAAU,EAAE,EAAEC,MAAM,CAAC,CAACC,GAAA,EAAKR,KAAA;IACjC,IAAID,eAAA,CAAgBC,KAAA,GAAQ;MAC1B,OAAOQ,GAAA;IACT;IAEA;IACA,IAAIR,KAAA,CAAMC,IAAI,KAAK,UAAU,UAAUD,KAAA,EAAO;MAC5C,MAAMS,cAAA,GAAiB;QACrB,GAAGT,KAAK;QACRU,IAAA,EAAMV,KAAA,CAAMU,IAAI,CAACC,GAAG,CAAEC,GAAA,KAAS;UAC7B,GAAGA,GAAG;UACNN,MAAA,EAAQF,2BAAA,CAA+B;YACrCC,gBAAA,EACE,OAAOA,gBAAA,KAAqB,YACxBA,gBAAA,GACA,UAAUO,GAAA,IAAOA,GAAA,CAAIC,IAAI,GACvBR,gBAAgB,CAACO,GAAA,CAAIC,IAAI,CAAC,EAAEP,MAAA,IAAUD,gBAAgB,CAACO,GAAA,CAAIC,IAAI,CAAC,GAChER,gBAAA;YACRC,MAAA,EAAQM,GAAA,CAAIN;UACd;QACF;MACF;MACAE,GAAA,CAAIM,IAAI,CAACL,cAAA;MACT,OAAOD,GAAA;IACT;IAEA;IACA,IAAI,YAAYR,KAAA,IAASe,KAAA,CAAMC,OAAO,CAAChB,KAAA,CAAMM,MAAM,GAAG;MACpD,MAAMG,cAAA,GAAiB;QACrB,GAAGT,KAAK;QACRM,MAAA,EAAQF,2BAAA,CAA+B;UACrCC,gBAAA,EACE,OAAOA,gBAAA,KAAqB,YACxBA,gBAAA,GACA,UAAUL,KAAA,IAASA,KAAA,CAAMa,IAAI,GAC3BR,gBAAA,GAAmBL,KAAA,CAAMa,IAAI,CAAC,EAAEP,MAAA,IAAUD,gBAAA,GAAmBL,KAAA,CAAMa,IAAI,CAAC,GACxER,gBAAA;UACRC,MAAA,EAAQN,KAAA,CAAMM;QAChB;MACF;MACAE,GAAA,CAAIM,IAAI,CAACL,cAAA;MACT,OAAOD,GAAA;IACT;IAEA,IAAIH,gBAAA,KAAqB,MAAM;MAC7BG,GAAA,CAAIM,IAAI,CAACd,KAAA;MACT,OAAOQ,GAAA;IACT;IAEA,IAAIZ,gBAAA,CAAiBI,KAAA,GAAQ;MAC3B,MAAMiB,eAAA,GAAkBZ,gBAAA,GAAmBL,KAAA,CAAMa,IAAI,CAAC;MACtD;MACA;MACA,IAAIf,SAAA,CAAUE,KAAA,KAAUiB,eAAA,KAAoB,QAAQA,eAAA,EAAiBC,IAAA,KAAS,MAAM;QAClFV,GAAA,CAAIM,IAAI,CAACd,KAAA;MACX;MACA,OAAOQ,GAAA;IACT;IAEA;IACAA,GAAA,CAAIM,IAAI,CAACd,KAAA;IACT,OAAOQ,GAAA;EACT,GAAG,EAAE;AACP","ignoreList":[]}