@payloadcms/ui 3.54.0-canary.0 → 3.54.0-internal.84621da
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.
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +3 -1
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +1 -0
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/exports/client/index.js +11 -11
- package/dist/exports/client/index.js.map +3 -3
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +27 -17
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +6 -2
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +16 -6
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +4 -1
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeServerFormState.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/mergeServerFormState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB;IACE;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GACD,OAAO,CAAA;AAEX,KAAK,IAAI,GAAG;IACV,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,aAAa,EAAE,SAAS,CAAA;CACzB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,mDAI9B,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"mergeServerFormState.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/mergeServerFormState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB;IACE;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GACD,OAAO,CAAA;AAEX,KAAK,IAAI,GAAG;IACV,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,aAAa,EAAE,SAAS,CAAA;CACzB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,mDAI9B,IAAI,KAAG,SAqGT,CAAA"}
|
|
@@ -56,27 +56,37 @@ export const mergeServerFormState = ({
|
|
|
56
56
|
newState[path].errorPaths = [];
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
|
-
*
|
|
59
|
+
* Deeply merge the rows array to ensure changes to local state are not lost while the request was pending
|
|
60
60
|
* For example, the server response could come back with a row which has been deleted on the client
|
|
61
61
|
* Loop over the incoming rows, if it exists in client side form state, merge in any new properties from the server
|
|
62
62
|
* Note: read `currentState` and not `newState` here, as the `rows` property have already been merged above
|
|
63
63
|
*/
|
|
64
|
-
if (Array.isArray(incomingField.rows)) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
64
|
+
if (Array.isArray(incomingField.rows) && path in currentState) {
|
|
65
|
+
newState[path].rows = [...(currentState[path]?.rows || [])] // shallow copy to avoid mutating the original array
|
|
66
|
+
;
|
|
67
|
+
incomingField.rows.forEach(row => {
|
|
68
|
+
const indexInCurrentState = currentState[path].rows?.findIndex(existingRow => existingRow.id === row.id);
|
|
69
|
+
if (indexInCurrentState > -1) {
|
|
70
|
+
newState[path].rows[indexInCurrentState] = {
|
|
71
|
+
...currentState[path].rows[indexInCurrentState],
|
|
72
|
+
...row
|
|
73
|
+
};
|
|
74
|
+
} else if (row.addedByServer) {
|
|
75
|
+
/**
|
|
76
|
+
* Note: This is a known limitation of computed array and block rows
|
|
77
|
+
* If a new row was added by the server, we append it to the _end_ of this array
|
|
78
|
+
* This is because the client is the source of truth, and it has arrays ordered in a certain position
|
|
79
|
+
* For example, the user may have re-ordered rows client-side while a long running request is processing
|
|
80
|
+
* This means that we _cannot_ slice a new row into the second position on the server, for example
|
|
81
|
+
* By the time it gets back to the client, its index is stale
|
|
82
|
+
*/
|
|
83
|
+
const newRow = {
|
|
84
|
+
...row
|
|
85
|
+
};
|
|
86
|
+
delete newRow.addedByServer;
|
|
87
|
+
newState[path].rows.push(newRow);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
80
90
|
}
|
|
81
91
|
// If `valid` is `undefined`, mark it as `true`
|
|
82
92
|
if (incomingField.valid !== false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeServerFormState.js","names":["dequal","mergeServerFormState","acceptValues","currentState","incomingState","newState","path","incomingField","Object","entries","addedByServer","shouldAcceptValue","overrideLocalChanges","isModified","sanitizedIncomingField","initialValue","value","rest","errorPaths","Array","isArray","rows","forEach","row","indexInCurrentState","findIndex","existingRow","id","valid","passesCondition"],"sources":["../../../src/forms/Form/mergeServerFormState.ts"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload'\n\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\n\n/**\n * If true, will accept all values from the server, overriding any current values in local state.\n * Can also provide an options object for more granular control.\n */\nexport type AcceptValues =\n | {\n /**\n * When `false`, will accept the values from the server _UNLESS_ the value has been modified locally since the request was made.\n * This is useful for autosave, for example, where hooks may have modified the field's value on the server while you were still making changes.\n * @default undefined\n */\n overrideLocalChanges?: boolean\n }\n | boolean\n\ntype Args = {\n acceptValues?: AcceptValues\n currentState?: FormState\n incomingState: FormState\n}\n\n/**\n * This function receives form state from the server and intelligently merges it into the client state.\n * The server contains extra properties that the client may not have, e.g. custom components and error states.\n * We typically do not want to merge properties that rely on user input, however, such as values, unless explicitly requested.\n * Doing this would cause the client to lose any local changes to those fields.\n *\n * Note: Local state is the source of truth, not the new server state that is getting merged in. This is critical for array row\n * manipulation specifically, where the user may have added, removed, or reordered rows while a request was pending and is now stale.\n *\n * This function applies some defaults, as well as cleans up the server response in preparation for the client.\n * e.g. it will set `valid` and `passesCondition` to true if undefined, and remove `addedByServer` from the response.\n */\nexport const mergeServerFormState = ({\n acceptValues,\n currentState = {},\n incomingState,\n}: Args): FormState => {\n const newState = { ...currentState }\n\n for (const [path, incomingField] of Object.entries(incomingState || {})) {\n if (!(path in currentState) && !incomingField.addedByServer) {\n continue\n }\n\n /**\n * If it's a new field added by the server, always accept the value.\n * Otherwise:\n * a. accept all values when explicitly requested, e.g. on submit\n * b. only accept values for unmodified fields, e.g. on autosave\n */\n const shouldAcceptValue =\n incomingField.addedByServer ||\n acceptValues === true ||\n (typeof acceptValues === 'object' &&\n acceptValues !== null &&\n // Note: Must be explicitly `false`, allow `null` or `undefined` to mean true\n acceptValues.overrideLocalChanges === false &&\n !currentState[path]?.isModified)\n\n let sanitizedIncomingField = incomingField\n\n if (!shouldAcceptValue) {\n /**\n * Note: do not delete properties off `incomingField` as this will mutate the original object\n * Instead, omit them from the destructured object by excluding specific keys\n * This will also ensure we don't set `undefined` into the result unnecessarily\n */\n const { initialValue, value, ...rest } = incomingField\n sanitizedIncomingField = rest\n }\n\n newState[path] = {\n ...currentState[path],\n ...sanitizedIncomingField,\n }\n\n if (\n currentState[path] &&\n 'errorPaths' in currentState[path] &&\n !('errorPaths' in incomingField)\n ) {\n newState[path].errorPaths = []\n }\n\n /**\n *
|
|
1
|
+
{"version":3,"file":"mergeServerFormState.js","names":["dequal","mergeServerFormState","acceptValues","currentState","incomingState","newState","path","incomingField","Object","entries","addedByServer","shouldAcceptValue","overrideLocalChanges","isModified","sanitizedIncomingField","initialValue","value","rest","errorPaths","Array","isArray","rows","forEach","row","indexInCurrentState","findIndex","existingRow","id","newRow","push","valid","passesCondition"],"sources":["../../../src/forms/Form/mergeServerFormState.ts"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload'\n\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\n\n/**\n * If true, will accept all values from the server, overriding any current values in local state.\n * Can also provide an options object for more granular control.\n */\nexport type AcceptValues =\n | {\n /**\n * When `false`, will accept the values from the server _UNLESS_ the value has been modified locally since the request was made.\n * This is useful for autosave, for example, where hooks may have modified the field's value on the server while you were still making changes.\n * @default undefined\n */\n overrideLocalChanges?: boolean\n }\n | boolean\n\ntype Args = {\n acceptValues?: AcceptValues\n currentState?: FormState\n incomingState: FormState\n}\n\n/**\n * This function receives form state from the server and intelligently merges it into the client state.\n * The server contains extra properties that the client may not have, e.g. custom components and error states.\n * We typically do not want to merge properties that rely on user input, however, such as values, unless explicitly requested.\n * Doing this would cause the client to lose any local changes to those fields.\n *\n * Note: Local state is the source of truth, not the new server state that is getting merged in. This is critical for array row\n * manipulation specifically, where the user may have added, removed, or reordered rows while a request was pending and is now stale.\n *\n * This function applies some defaults, as well as cleans up the server response in preparation for the client.\n * e.g. it will set `valid` and `passesCondition` to true if undefined, and remove `addedByServer` from the response.\n */\nexport const mergeServerFormState = ({\n acceptValues,\n currentState = {},\n incomingState,\n}: Args): FormState => {\n const newState = { ...currentState }\n\n for (const [path, incomingField] of Object.entries(incomingState || {})) {\n if (!(path in currentState) && !incomingField.addedByServer) {\n continue\n }\n\n /**\n * If it's a new field added by the server, always accept the value.\n * Otherwise:\n * a. accept all values when explicitly requested, e.g. on submit\n * b. only accept values for unmodified fields, e.g. on autosave\n */\n const shouldAcceptValue =\n incomingField.addedByServer ||\n acceptValues === true ||\n (typeof acceptValues === 'object' &&\n acceptValues !== null &&\n // Note: Must be explicitly `false`, allow `null` or `undefined` to mean true\n acceptValues.overrideLocalChanges === false &&\n !currentState[path]?.isModified)\n\n let sanitizedIncomingField = incomingField\n\n if (!shouldAcceptValue) {\n /**\n * Note: do not delete properties off `incomingField` as this will mutate the original object\n * Instead, omit them from the destructured object by excluding specific keys\n * This will also ensure we don't set `undefined` into the result unnecessarily\n */\n const { initialValue, value, ...rest } = incomingField\n sanitizedIncomingField = rest\n }\n\n newState[path] = {\n ...currentState[path],\n ...sanitizedIncomingField,\n }\n\n if (\n currentState[path] &&\n 'errorPaths' in currentState[path] &&\n !('errorPaths' in incomingField)\n ) {\n newState[path].errorPaths = []\n }\n\n /**\n * Deeply merge the rows array to ensure changes to local state are not lost while the request was pending\n * For example, the server response could come back with a row which has been deleted on the client\n * Loop over the incoming rows, if it exists in client side form state, merge in any new properties from the server\n * Note: read `currentState` and not `newState` here, as the `rows` property have already been merged above\n */\n if (Array.isArray(incomingField.rows) && path in currentState) {\n newState[path].rows = [...(currentState[path]?.rows || [])] // shallow copy to avoid mutating the original array\n\n incomingField.rows.forEach((row) => {\n const indexInCurrentState = currentState[path].rows?.findIndex(\n (existingRow) => existingRow.id === row.id,\n )\n\n if (indexInCurrentState > -1) {\n newState[path].rows[indexInCurrentState] = {\n ...currentState[path].rows[indexInCurrentState],\n ...row,\n }\n } else if (row.addedByServer) {\n /**\n * Note: This is a known limitation of computed array and block rows\n * If a new row was added by the server, we append it to the _end_ of this array\n * This is because the client is the source of truth, and it has arrays ordered in a certain position\n * For example, the user may have re-ordered rows client-side while a long running request is processing\n * This means that we _cannot_ slice a new row into the second position on the server, for example\n * By the time it gets back to the client, its index is stale\n */\n const newRow = { ...row }\n delete newRow.addedByServer\n newState[path].rows.push(newRow)\n }\n })\n }\n\n // If `valid` is `undefined`, mark it as `true`\n if (incomingField.valid !== false) {\n newState[path].valid = true\n }\n\n // If `passesCondition` is `undefined`, mark it as `true`\n if (incomingField.passesCondition !== false) {\n newState[path].passesCondition = true\n }\n\n // Strip away the `addedByServer` property from the client\n // This will prevent it from being passed back to the server\n delete newState[path].addedByServer\n }\n\n // Return the original object reference if the state is unchanged\n // This will avoid unnecessary re-renders and dependency updates\n return dequal(newState, currentState) ? currentState : newState\n}\n"],"mappings":"AAAA;;AAGA,SAASA,MAAM,QAAQ,cAAa,CAAC;AAuBrC;;;;;;;;;;;;AAYA,OAAO,MAAMC,oBAAA,GAAuBA,CAAC;EACnCC,YAAY;EACZC,YAAA,GAAe,CAAC,CAAC;EACjBC;AAAa,CACR;EACL,MAAMC,QAAA,GAAW;IAAE,GAAGF;EAAa;EAEnC,KAAK,MAAM,CAACG,IAAA,EAAMC,aAAA,CAAc,IAAIC,MAAA,CAAOC,OAAO,CAACL,aAAA,IAAiB,CAAC,IAAI;IACvE,IAAI,EAAEE,IAAA,IAAQH,YAAW,KAAM,CAACI,aAAA,CAAcG,aAAa,EAAE;MAC3D;IACF;IAEA;;;;;;IAMA,MAAMC,iBAAA,GACJJ,aAAA,CAAcG,aAAa,IAC3BR,YAAA,KAAiB,QAChB,OAAOA,YAAA,KAAiB,YACvBA,YAAA,KAAiB;IACjB;IACAA,YAAA,CAAaU,oBAAoB,KAAK,SACtC,CAACT,YAAY,CAACG,IAAA,CAAK,EAAEO,UAAA;IAEzB,IAAIC,sBAAA,GAAyBP,aAAA;IAE7B,IAAI,CAACI,iBAAA,EAAmB;MACtB;;;;;MAKA,MAAM;QAAEI,YAAY;QAAEC,KAAK;QAAE,GAAGC;MAAA,CAAM,GAAGV,aAAA;MACzCO,sBAAA,GAAyBG,IAAA;IAC3B;IAEAZ,QAAQ,CAACC,IAAA,CAAK,GAAG;MACf,GAAGH,YAAY,CAACG,IAAA,CAAK;MACrB,GAAGQ;IACL;IAEA,IACEX,YAAY,CAACG,IAAA,CAAK,IAClB,gBAAgBH,YAAY,CAACG,IAAA,CAAK,IAClC,EAAE,gBAAgBC,aAAY,GAC9B;MACAF,QAAQ,CAACC,IAAA,CAAK,CAACY,UAAU,GAAG,EAAE;IAChC;IAEA;;;;;;IAMA,IAAIC,KAAA,CAAMC,OAAO,CAACb,aAAA,CAAcc,IAAI,KAAKf,IAAA,IAAQH,YAAA,EAAc;MAC7DE,QAAQ,CAACC,IAAA,CAAK,CAACe,IAAI,GAAG,C,IAAKlB,YAAY,CAACG,IAAA,CAAK,EAAEe,IAAA,IAAQ,EAAE,EAAE,CAAC;MAAA;MAE5Dd,aAAA,CAAcc,IAAI,CAACC,OAAO,CAAEC,GAAA;QAC1B,MAAMC,mBAAA,GAAsBrB,YAAY,CAACG,IAAA,CAAK,CAACe,IAAI,EAAEI,SAAA,CAClDC,WAAA,IAAgBA,WAAA,CAAYC,EAAE,KAAKJ,GAAA,CAAII,EAAE;QAG5C,IAAIH,mBAAA,GAAsB,CAAC,GAAG;UAC5BnB,QAAQ,CAACC,IAAA,CAAK,CAACe,IAAI,CAACG,mBAAA,CAAoB,GAAG;YACzC,GAAGrB,YAAY,CAACG,IAAA,CAAK,CAACe,IAAI,CAACG,mBAAA,CAAoB;YAC/C,GAAGD;UACL;QACF,OAAO,IAAIA,GAAA,CAAIb,aAAa,EAAE;UAC5B;;;;;;;;UAQA,MAAMkB,MAAA,GAAS;YAAE,GAAGL;UAAI;UACxB,OAAOK,MAAA,CAAOlB,aAAa;UAC3BL,QAAQ,CAACC,IAAA,CAAK,CAACe,IAAI,CAACQ,IAAI,CAACD,MAAA;QAC3B;MACF;IACF;IAEA;IACA,IAAIrB,aAAA,CAAcuB,KAAK,KAAK,OAAO;MACjCzB,QAAQ,CAACC,IAAA,CAAK,CAACwB,KAAK,GAAG;IACzB;IAEA;IACA,IAAIvB,aAAA,CAAcwB,eAAe,KAAK,OAAO;MAC3C1B,QAAQ,CAACC,IAAA,CAAK,CAACyB,eAAe,GAAG;IACnC;IAEA;IACA;IACA,OAAO1B,QAAQ,CAACC,IAAA,CAAK,CAACI,aAAa;EACrC;EAEA;EACA;EACA,OAAOV,MAAA,CAAOK,QAAA,EAAUF,YAAA,IAAgBA,YAAA,GAAeE,QAAA;AACzD","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EAGd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EAGd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EAEX,MAAM,SAAS,CAAA;AAehB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQnD,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,0BAA0B,CAAA;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC;;;OAGG;IACH,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,0BAA0B,CAAA;CAClC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAgB,wBAAwB,KAAG,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EAGd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EAGd,0BAA0B,EAC1B,UAAU,EACV,UAAU,EAEX,MAAM,SAAS,CAAA;AAehB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQnD,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,0BAA0B,CAAA;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC;;;OAGG;IACH,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,0BAA0B,CAAA;CAClC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAgB,wBAAwB,KAAG,OAAO,CAAC,IAAI,CAk1BvF,CAAA"}
|
|
@@ -208,7 +208,10 @@ export const addFieldStatePromise = async args => {
|
|
|
208
208
|
if (previousRow?.lastRenderedPath) {
|
|
209
209
|
newRow.lastRenderedPath = previousRow.lastRenderedPath;
|
|
210
210
|
}
|
|
211
|
-
|
|
211
|
+
// add addedByServer flag
|
|
212
|
+
if (!previousRow) {
|
|
213
|
+
newRow.addedByServer = true;
|
|
214
|
+
}
|
|
212
215
|
const isCollapsed = isRowCollapsed({
|
|
213
216
|
collapsedPrefs: preferences?.fields?.[path]?.collapsed,
|
|
214
217
|
field,
|
|
@@ -216,8 +219,9 @@ export const addFieldStatePromise = async args => {
|
|
|
216
219
|
row
|
|
217
220
|
});
|
|
218
221
|
if (isCollapsed) {
|
|
219
|
-
|
|
222
|
+
newRow.collapsed = true;
|
|
220
223
|
}
|
|
224
|
+
acc.rows.push(newRow);
|
|
221
225
|
return acc;
|
|
222
226
|
}, {
|
|
223
227
|
promises: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","getBlockSelect","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsLocalized","getFieldPaths","tabHasName","resolveFilterOptions","isRowCollapsed","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","field","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","indexPath","mockRSCs","omitParents","operation","parentPath","parentPermissions","parentSchemaPath","passesCondition","path","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","schemaPath","select","selectMode","skipConditionChecks","skipValidation","state","console","warn","fieldPermissions","fieldState","lastRenderedPath","addedByServer","fieldSchema","name","hasPermission","read","access","siblingData","validate","validationResult","jsonError","type","JSON","parse","e","event","previousValue","initialValue","err","payload","logger","error","msg","errorPath","errorPaths","includes","push","valid","errorMessage","arrayValue","Array","isArray","arraySelect","promises","rows","reduce","acc","row","i","toHexString","idKey","value","fields","find","localized","parentIndexPath","parentPassesCondition","permissions","undefined","previousRow","prevRow","newRow","isLoading","isCollapsed","collapsedPrefs","collapsed","length","Promise","all","disableFormData","blocksValue","rowMetadata","blockTypeToMatch","blockType","block","blocks","blockReferences","slug","Error","blockSelect","blockSelectMode","blockField","fieldKey","blockNameKey","blockName","groupSelect","filterOptions","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","selectFilterOptions","options","tabs","tab","tabIndex","isNamedTab","tabSelect","tabIndexPath","tabPath","tabSchemaPath","index","childPermissions","tabPermissions","pathSegments","split","tabPassesCondition","admin","condition","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FieldState,\n FlattenedBlock,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n Row,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n Validate,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { getBlockSelect } from 'payload'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsLocalized,\n getFieldPaths,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js'\nimport { isRowCollapsed } from './isRowCollapsed.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n field: Field\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n indexPath: string\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n path: string\n preferences: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n schemaPath: string\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n indexPath,\n mockRSCs,\n omitParents = false,\n operation,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n // eslint-disable-next-line no-console\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n let fieldPermissions: SanitizedFieldPermissions = true\n\n const fieldState: FieldState = {}\n\n const lastRenderedPath = previousFormState?.[path]?.lastRenderedPath\n\n // Append only if true to avoid sending '$undefined' through the network\n if (lastRenderedPath) {\n fieldState.lastRenderedPath = lastRenderedPath\n }\n\n // If we're rendering all fields, no need to flag this as added by server\n const addedByServer = !renderAllFields && !previousFormState?.[path]\n\n // Append only if true to avoid sending '$undefined' through the network\n if (addedByServer) {\n fieldState.addedByServer = true\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (passesCondition === false) {\n fieldState.passesCondition = false\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (includeSchema) {\n fieldState.fieldSchema = field\n }\n\n if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field)) {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\n\n if (typeof field?.access?.read === 'function') {\n hasPermission = await field.access.read({\n id,\n blockData,\n data: fullData,\n req,\n siblingData: data,\n })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate: Validate = field.validate\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n try {\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n blockData,\n collectionSlug,\n data: fullData,\n event: 'onChange',\n // @AlessioGr added `jsonError` in https://github.com/payloadcms/payload/commit/c7ea62a39473408c3ea912c4fbf73e11be4b538d\n // @ts-expect-error-next-line\n jsonError,\n operation,\n preferences,\n previousValue: previousFormState?.[path]?.initialValue,\n req,\n siblingData: data,\n })\n } catch (err) {\n validationResult = `Error validating field at path: ${path}`\n\n req.payload.logger.error({\n err,\n msg: validationResult,\n })\n }\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths) {\n fieldState.errorPaths = []\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const arraySelect = select?.[field.name]\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, i: number) => {\n const parentPath = path + '.' + i\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n const idKey = parentPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = field.fields.find((field) => fieldIsID(field))\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: schemaPath,\n permissions:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof arraySelect === 'object' ? arraySelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n if (!acc.rows) {\n acc.rows = []\n }\n\n // First, check if `previousFormState` has a matching row\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n const newRow: Row = {\n id: row.id,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n acc.rows.push(newRow)\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n acc.rows[acc.rows.length - 1].collapsed = true\n }\n\n return acc\n },\n {\n promises: [],\n rows: undefined,\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n if (rows) {\n fieldState.rows = rows\n }\n\n // Add values to field state\n if (data[field.name] !== null) {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const blockTypeToMatch: string = row.blockType\n\n const block =\n req.payload.blocks[blockTypeToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (blockType) => typeof blockType !== 'string' && blockType.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const { blockSelect, blockSelectMode } = getBlockSelect({\n block,\n select: select?.[field.name],\n selectMode,\n })\n\n const parentPath = path + '.' + i\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n // Handle block `id` field\n const idKey = parentPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = includeSchema\n ? block.fields.find((blockField) => fieldIsID(blockField))\n : undefined\n }\n\n // Handle `blockType` field\n const fieldKey = parentPath + '.blockType'\n\n state[fieldKey] = {\n initialValue: row.blockType,\n value: row.blockType,\n }\n\n if (addedByServer) {\n state[fieldKey].addedByServer = addedByServer\n }\n\n if (includeSchema) {\n state[fieldKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n }\n\n // Handle `blockName` field\n const blockNameKey = parentPath + '.blockName'\n\n state[blockNameKey] = {}\n\n if (row.blockName) {\n state[blockNameKey].initialValue = row.blockName\n state[blockNameKey].value = row.blockName\n }\n\n if (includeSchema) {\n state[blockNameKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData: row,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: schemaPath + '.' + block.slug,\n permissions:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof blockSelect === 'object' ? blockSelect : undefined,\n selectMode: blockSelectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n // First, check if `previousFormState` has a matching row\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n const newRow: Row = {\n id: row.id,\n blockType: row.blockType,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n acc.rowMetadata.push(newRow)\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n acc.rowMetadata[acc.rowMetadata.length - 1].collapsed = true\n }\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n const groupSelect = select?.[field.name]\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof groupSelect === 'object' ? groupSelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await resolveFilterOptions(field.filterOptions, {\n id,\n blockData,\n data: fullData,\n relationTo: field.relationTo,\n req,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'select': {\n if (typeof field.filterOptions === 'function') {\n fieldState.selectFilterOptions = field.filterOptions({\n data: fullData,\n options: field.options,\n req,\n siblingData: data,\n })\n }\n\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, collapsible, unnamed group etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n }\n\n if (passesCondition === false) {\n state[path].passesCondition = false\n }\n }\n\n await iterateFields({\n id,\n mockRSCs,\n select,\n selectMode,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath,\n permissions: parentPermissions, // TODO: Verify this is correct\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n let tabSelect: SelectType | undefined\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n\n let childPermissions: SanitizedFieldsPermissions = undefined\n\n if (isNamedTab) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[tab.name]\n if (tabPermissions === true) {\n childPermissions = true\n } else {\n childPermissions = tabPermissions?.fields\n }\n }\n\n if (typeof select?.[tab.name] === 'object') {\n tabSelect = select?.[tab.name] as SelectType\n }\n } else {\n childPermissions = parentPermissions\n tabSelect = select\n }\n\n const pathSegments = path ? path.split('.') : []\n\n // If passesCondition is false then this should always result to false\n // If the tab has no admin.condition provided then fallback to passesCondition and let that decide the result\n let tabPassesCondition = passesCondition\n\n if (passesCondition && typeof tab.admin?.condition === 'function') {\n tabPassesCondition = tab.admin.condition(fullData, data, {\n blockData,\n operation,\n path: pathSegments,\n user: req.user,\n })\n }\n\n if (tab?.id) {\n state[tab.id] = {\n passesCondition: tabPassesCondition,\n }\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentPassesCondition: tabPassesCondition,\n parentPath: isNamedTab ? tabPath : parentPath,\n parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,\n permissions: childPermissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: tabSelect,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = fieldState\n state[path].disableFormData = true\n }\n }\n\n if (renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig && !mockRSCs) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!state[path]) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n if (addedByServer) {\n state[path].addedByServer = addedByServer\n }\n\n renderFieldFn({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState: state[path],\n formState: state,\n indexPath,\n lastRenderedPath,\n mockRSCs,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n readOnly,\n renderAllFields,\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","getBlockSelect","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsLocalized","getFieldPaths","tabHasName","resolveFilterOptions","isRowCollapsed","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","field","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","indexPath","mockRSCs","omitParents","operation","parentPath","parentPermissions","parentSchemaPath","passesCondition","path","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","schemaPath","select","selectMode","skipConditionChecks","skipValidation","state","console","warn","fieldPermissions","fieldState","lastRenderedPath","addedByServer","fieldSchema","name","hasPermission","read","access","siblingData","validate","validationResult","jsonError","type","JSON","parse","e","event","previousValue","initialValue","err","payload","logger","error","msg","errorPath","errorPaths","includes","push","valid","errorMessage","arrayValue","Array","isArray","arraySelect","promises","rows","reduce","acc","row","i","toHexString","idKey","value","fields","find","localized","parentIndexPath","parentPassesCondition","permissions","undefined","previousRow","prevRow","newRow","isLoading","isCollapsed","collapsedPrefs","collapsed","Promise","all","length","disableFormData","blocksValue","rowMetadata","blockTypeToMatch","blockType","block","blocks","blockReferences","slug","Error","blockSelect","blockSelectMode","blockField","fieldKey","blockNameKey","blockName","groupSelect","filterOptions","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","selectFilterOptions","options","tabs","tab","tabIndex","isNamedTab","tabSelect","tabIndexPath","tabPath","tabSchemaPath","index","childPermissions","tabPermissions","pathSegments","split","tabPassesCondition","admin","condition","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FieldState,\n FlattenedBlock,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n Row,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n Validate,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { getBlockSelect } from 'payload'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsLocalized,\n getFieldPaths,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js'\nimport { isRowCollapsed } from './isRowCollapsed.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n field: Field\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n indexPath: string\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n path: string\n preferences: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n schemaPath: string\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n indexPath,\n mockRSCs,\n omitParents = false,\n operation,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n // eslint-disable-next-line no-console\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n let fieldPermissions: SanitizedFieldPermissions = true\n\n const fieldState: FieldState = {}\n\n const lastRenderedPath = previousFormState?.[path]?.lastRenderedPath\n\n // Append only if true to avoid sending '$undefined' through the network\n if (lastRenderedPath) {\n fieldState.lastRenderedPath = lastRenderedPath\n }\n\n // If we're rendering all fields, no need to flag this as added by server\n const addedByServer = !renderAllFields && !previousFormState?.[path]\n\n // Append only if true to avoid sending '$undefined' through the network\n if (addedByServer) {\n fieldState.addedByServer = true\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (passesCondition === false) {\n fieldState.passesCondition = false\n }\n\n // Append only if true to avoid sending '$undefined' through the network\n if (includeSchema) {\n fieldState.fieldSchema = field\n }\n\n if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field)) {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\n\n if (typeof field?.access?.read === 'function') {\n hasPermission = await field.access.read({\n id,\n blockData,\n data: fullData,\n req,\n siblingData: data,\n })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate: Validate = field.validate\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n try {\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n blockData,\n collectionSlug,\n data: fullData,\n event: 'onChange',\n // @AlessioGr added `jsonError` in https://github.com/payloadcms/payload/commit/c7ea62a39473408c3ea912c4fbf73e11be4b538d\n // @ts-expect-error-next-line\n jsonError,\n operation,\n preferences,\n previousValue: previousFormState?.[path]?.initialValue,\n req,\n siblingData: data,\n })\n } catch (err) {\n validationResult = `Error validating field at path: ${path}`\n\n req.payload.logger.error({\n err,\n msg: validationResult,\n })\n }\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths) {\n fieldState.errorPaths = []\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const arraySelect = select?.[field.name]\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, i: number) => {\n const parentPath = path + '.' + i\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n const idKey = parentPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = field.fields.find((field) => fieldIsID(field))\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: schemaPath,\n permissions:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof arraySelect === 'object' ? arraySelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n if (!acc.rows) {\n acc.rows = []\n }\n\n // First, check if `previousFormState` has a matching row\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n const newRow: Row = {\n id: row.id,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n // add addedByServer flag\n if (!previousRow) {\n newRow.addedByServer = true\n }\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n newRow.collapsed = true\n }\n\n acc.rows.push(newRow)\n\n return acc\n },\n {\n promises: [],\n rows: undefined,\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n if (rows) {\n fieldState.rows = rows\n }\n\n // Add values to field state\n if (data[field.name] !== null) {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const blockTypeToMatch: string = row.blockType\n\n const block =\n req.payload.blocks[blockTypeToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (blockType) => typeof blockType !== 'string' && blockType.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const { blockSelect, blockSelectMode } = getBlockSelect({\n block,\n select: select?.[field.name],\n selectMode,\n })\n\n const parentPath = path + '.' + i\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n // Handle block `id` field\n const idKey = parentPath + '.id'\n\n state[idKey] = {\n initialValue: row.id,\n value: row.id,\n }\n\n if (includeSchema) {\n state[idKey].fieldSchema = includeSchema\n ? block.fields.find((blockField) => fieldIsID(blockField))\n : undefined\n }\n\n // Handle `blockType` field\n const fieldKey = parentPath + '.blockType'\n\n state[fieldKey] = {\n initialValue: row.blockType,\n value: row.blockType,\n }\n\n if (addedByServer) {\n state[fieldKey].addedByServer = addedByServer\n }\n\n if (includeSchema) {\n state[fieldKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n }\n\n // Handle `blockName` field\n const blockNameKey = parentPath + '.blockName'\n\n state[blockNameKey] = {}\n\n if (row.blockName) {\n state[blockNameKey].initialValue = row.blockName\n state[blockNameKey].value = row.blockName\n }\n\n if (includeSchema) {\n state[blockNameKey].fieldSchema = block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData: row,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: schemaPath + '.' + block.slug,\n permissions:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof blockSelect === 'object' ? blockSelect : undefined,\n selectMode: blockSelectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n // First, check if `previousFormState` has a matching row\n const previousRow: Row = (previousFormState?.[path]?.rows || []).find(\n (prevRow) => prevRow.id === row.id,\n )\n\n const newRow: Row = {\n id: row.id,\n blockType: row.blockType,\n isLoading: false,\n }\n\n if (previousRow?.lastRenderedPath) {\n newRow.lastRenderedPath = previousRow.lastRenderedPath\n }\n\n acc.rowMetadata.push(newRow)\n\n const isCollapsed = isRowCollapsed({\n collapsedPrefs: preferences?.fields?.[path]?.collapsed,\n field,\n previousRow,\n row,\n })\n\n if (isCollapsed) {\n acc.rowMetadata[acc.rowMetadata.length - 1].collapsed = true\n }\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n const groupSelect = select?.[field.name]\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: typeof groupSelect === 'object' ? groupSelect : undefined,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await resolveFilterOptions(field.filterOptions, {\n id,\n blockData,\n data: fullData,\n relationTo: field.relationTo,\n req,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'select': {\n if (typeof field.filterOptions === 'function') {\n fieldState.selectFilterOptions = field.filterOptions({\n data: fullData,\n options: field.options,\n req,\n siblingData: data,\n })\n }\n\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n if (data[field.name] !== undefined) {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n }\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, collapsible, unnamed group etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n }\n\n if (passesCondition === false) {\n state[path].passesCondition = false\n }\n }\n\n await iterateFields({\n id,\n mockRSCs,\n select,\n selectMode,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: fieldIsLocalized(field) || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath,\n permissions: parentPermissions, // TODO: Verify this is correct\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n let tabSelect: SelectType | undefined\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n\n let childPermissions: SanitizedFieldsPermissions = undefined\n\n if (isNamedTab) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[tab.name]\n if (tabPermissions === true) {\n childPermissions = true\n } else {\n childPermissions = tabPermissions?.fields\n }\n }\n\n if (typeof select?.[tab.name] === 'object') {\n tabSelect = select?.[tab.name] as SelectType\n }\n } else {\n childPermissions = parentPermissions\n tabSelect = select\n }\n\n const pathSegments = path ? path.split('.') : []\n\n // If passesCondition is false then this should always result to false\n // If the tab has no admin.condition provided then fallback to passesCondition and let that decide the result\n let tabPassesCondition = passesCondition\n\n if (passesCondition && typeof tab.admin?.condition === 'function') {\n tabPassesCondition = tab.admin.condition(fullData, data, {\n blockData,\n operation,\n path: pathSegments,\n user: req.user,\n })\n }\n\n if (tab?.id) {\n state[tab.id] = {\n passesCondition: tabPassesCondition,\n }\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentPassesCondition: tabPassesCondition,\n parentPath: isNamedTab ? tabPath : parentPath,\n parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,\n permissions: childPermissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n select: tabSelect,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = fieldState\n state[path].disableFormData = true\n }\n }\n\n if (renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig && !mockRSCs) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!state[path]) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n if (addedByServer) {\n state[path].addedByServer = addedByServer\n }\n\n renderFieldFn({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState: state[path],\n formState: state,\n indexPath,\n lastRenderedPath,\n mockRSCs,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n readOnly,\n renderAllFields,\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgF,MAAM,OAAO,CAAA;AAYpG,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAK7E,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgF,MAAM,OAAO,CAAA;AAYpG,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAK7E,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAAmC,CAAA;AA2XtE,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
|
|
@@ -131,9 +131,14 @@ const DocumentInfo = ({
|
|
|
131
131
|
const unlockDocument = useCallback(async (docID, slug_0) => {
|
|
132
132
|
try {
|
|
133
133
|
const isGlobal = slug_0 === globalSlug;
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
134
|
+
const request = await requests.get(`${serverURL}${api}/payload-locked-documents`, {
|
|
135
|
+
credentials: 'include',
|
|
136
|
+
params: isGlobal ? {
|
|
137
|
+
'where[globalSlug][equals]': slug_0
|
|
138
|
+
} : {
|
|
139
|
+
'where[document.relationTo][equals]': slug_0,
|
|
140
|
+
'where[document.value][equals]': docID
|
|
141
|
+
}
|
|
137
142
|
});
|
|
138
143
|
const {
|
|
139
144
|
docs
|
|
@@ -156,10 +161,15 @@ const DocumentInfo = ({
|
|
|
156
161
|
const updateDocumentEditor = useCallback(async (docID_0, slug_1, user) => {
|
|
157
162
|
try {
|
|
158
163
|
const isGlobal_0 = slug_1 === globalSlug;
|
|
159
|
-
const query_0 = isGlobal_0 ? `where[globalSlug][equals]=${slug_1}` : `where[document.value][equals]=${docID_0}&where[document.relationTo][equals]=${slug_1}`;
|
|
160
164
|
// Check if the document is already locked
|
|
161
|
-
const request_0 = await requests.get(`${serverURL}${api}/payload-locked-documents
|
|
162
|
-
credentials: 'include'
|
|
165
|
+
const request_0 = await requests.get(`${serverURL}${api}/payload-locked-documents`, {
|
|
166
|
+
credentials: 'include',
|
|
167
|
+
params: isGlobal_0 ? {
|
|
168
|
+
'where[globalSlug][equals]': slug_1
|
|
169
|
+
} : {
|
|
170
|
+
'where[document.relationTo][equals]': slug_1,
|
|
171
|
+
'where[document.value][equals]': docID_0
|
|
172
|
+
}
|
|
163
173
|
});
|
|
164
174
|
const {
|
|
165
175
|
docs: docs_0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","useControllableState","useAuth","requests","formatDocTitle","useConfig","DocumentTitleProvider","useLocale","useLocaleLoading","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","title","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","setData","uploadStatus","setUploadStatus","documentLockState","hasShownLockedModal","user","updateUploadStatus","status","getPreference","setPreference","code","locale","localeIsLoading","isInitializing","undefined","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","credentials","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","newCount","versions","maxPerDoc","Math","min","max","re1","current","abort","_err","action","docURL","params","depth","addQueryPrefix","savedDocumentData","updateSavedDocumentData","_jsx","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, DocumentPreferences } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { DocumentTitleProvider } from '../DocumentTitle/index.js'\nimport { useLocale, useLocaleLoading } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { type DocumentInfoContext, type DocumentInfoProps } from './types.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => use(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] = useControllableState(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useControllableState(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useControllableState(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n /**\n * @deprecated This state will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead.\n */\n const [title, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useControllableState<boolean | undefined>(\n isLockedFromProps,\n )\n\n const [currentEditor, setCurrentEditor] = useControllableState<ClientUser | null>(\n currentEditorFromProps,\n )\n const [lastUpdateTime, setLastUpdateTime] = useControllableState<number>(lastUpdateTimeFromProps)\n\n const [data, setData] = useControllableState(initialData)\n\n const [uploadStatus, setUploadStatus] = useControllableState<'failed' | 'idle' | 'uploading'>(\n 'idle',\n )\n\n const documentLockState = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const updateUploadStatus = useCallback(\n (status: 'failed' | 'idle' | 'uploading') => {\n setUploadStatus(status)\n },\n [setUploadStatus],\n )\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n const { localeIsLoading } = useLocaleLoading()\n\n const isInitializing = useMemo(\n () => initialState === undefined || initialData === undefined || localeIsLoading,\n [initialData, initialState, localeIsLoading],\n )\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`, {\n credentials: 'include',\n })\n\n const { docs } = await request.json()\n\n if (docs?.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug, setDocumentIsLocked],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`, {\n credentials: 'include',\n })\n\n const { docs } = await request.json()\n\n if (docs?.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n const newCount = versionCount + 1\n if (collectionConfig && collectionConfig.versions) {\n if (collectionConfig.versions.maxPerDoc > 0) {\n setVersionCount(Math.min(newCount, collectionConfig.versions.maxPerDoc))\n } else {\n setVersionCount(newCount)\n }\n } else if (globalConfig && globalConfig.versions) {\n if (globalConfig.versions.max > 0) {\n setVersionCount(Math.min(newCount, globalConfig.versions.max))\n } else {\n setVersionCount(newCount)\n }\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n /**\n * @todo: Remove this in v4\n * Users should use the `DocumentTitleContext` instead.\n */\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, data, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n data,\n docConfig,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData: data,\n setCurrentEditor,\n setData,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n setUploadStatus: updateUploadStatus,\n title,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData: setData,\n uploadStatus,\n versionCount,\n }\n\n return (\n <Context value={value}>\n <DocumentTitleProvider>{children}</DocumentTitleProvider>\n </Context>\n )\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","useControllableState","useAuth","requests","formatDocTitle","useConfig","DocumentTitleProvider","useLocale","useLocaleLoading","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","title","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","setData","uploadStatus","setUploadStatus","documentLockState","hasShownLockedModal","user","updateUploadStatus","status","getPreference","setPreference","code","locale","localeIsLoading","isInitializing","undefined","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","request","get","credentials","params","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","newCount","versions","maxPerDoc","Math","min","max","re1","current","abort","_err","action","docURL","depth","addQueryPrefix","savedDocumentData","updateSavedDocumentData","_jsx","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, DocumentPreferences } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { DocumentTitleProvider } from '../DocumentTitle/index.js'\nimport { useLocale, useLocaleLoading } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { type DocumentInfoContext, type DocumentInfoProps } from './types.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => use(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] = useControllableState(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useControllableState(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useControllableState(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n /**\n * @deprecated This state will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead.\n */\n const [title, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useControllableState<boolean | undefined>(\n isLockedFromProps,\n )\n\n const [currentEditor, setCurrentEditor] = useControllableState<ClientUser | null>(\n currentEditorFromProps,\n )\n const [lastUpdateTime, setLastUpdateTime] = useControllableState<number>(lastUpdateTimeFromProps)\n\n const [data, setData] = useControllableState(initialData)\n\n const [uploadStatus, setUploadStatus] = useControllableState<'failed' | 'idle' | 'uploading'>(\n 'idle',\n )\n\n const documentLockState = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const updateUploadStatus = useCallback(\n (status: 'failed' | 'idle' | 'uploading') => {\n setUploadStatus(status)\n },\n [setUploadStatus],\n )\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n const { localeIsLoading } = useLocaleLoading()\n\n const isInitializing = useMemo(\n () => initialState === undefined || initialData === undefined || localeIsLoading,\n [initialData, initialState, localeIsLoading],\n )\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents`, {\n credentials: 'include',\n params: isGlobal\n ? {\n 'where[globalSlug][equals]': slug,\n }\n : {\n 'where[document.relationTo][equals]': slug,\n 'where[document.value][equals]': docID,\n },\n })\n\n const { docs } = await request.json()\n\n if (docs?.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug, setDocumentIsLocked],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents`, {\n credentials: 'include',\n params: isGlobal\n ? {\n 'where[globalSlug][equals]': slug,\n }\n : {\n 'where[document.relationTo][equals]': slug,\n 'where[document.value][equals]': docID,\n },\n })\n\n const { docs } = await request.json()\n\n if (docs?.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n const newCount = versionCount + 1\n if (collectionConfig && collectionConfig.versions) {\n if (collectionConfig.versions.maxPerDoc > 0) {\n setVersionCount(Math.min(newCount, collectionConfig.versions.maxPerDoc))\n } else {\n setVersionCount(newCount)\n }\n } else if (globalConfig && globalConfig.versions) {\n if (globalConfig.versions.max > 0) {\n setVersionCount(Math.min(newCount, globalConfig.versions.max))\n } else {\n setVersionCount(newCount)\n }\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n /**\n * @todo: Remove this in v4\n * Users should use the `DocumentTitleContext` instead.\n */\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, data, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n data,\n docConfig,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData: data,\n setCurrentEditor,\n setData,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n setUploadStatus: updateUploadStatus,\n title,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData: setData,\n uploadStatus,\n versionCount,\n }\n\n return (\n <Context value={value}>\n <DocumentTitleProvider>{children}</DocumentTitleProvider>\n </Context>\n )\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAGlF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAavC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAGlF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAavC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoRhC,CAAA"}
|
|
@@ -224,7 +224,10 @@ export const Auth = props => {
|
|
|
224
224
|
t6 = $[15];
|
|
225
225
|
}
|
|
226
226
|
useEffect(t5, t6);
|
|
227
|
-
|
|
227
|
+
const showAuthBlock = enableFields;
|
|
228
|
+
const showAPIKeyBlock = useAPIKey && canReadApiKey;
|
|
229
|
+
const showVerifyBlock = verify && isEditing;
|
|
230
|
+
if (!(showAuthBlock || showAPIKeyBlock || showVerifyBlock)) {
|
|
228
231
|
return null;
|
|
229
232
|
}
|
|
230
233
|
let t7;
|