Files
pole-book/server/node_modules/.strapi/vite/deps/EditConfigurationPage-5E6X27JT.js

231 lines
6.8 KiB
JavaScript

import {
ConfigurationForm,
TEMP_FIELD_NAME
} from "./chunk-TUQVYWWY.js";
import "./chunk-CD3FLTLL.js";
import {
useTypedSelector
} from "./chunk-VE2D6HMA.js";
import "./chunk-NAZM6EA4.js";
import {
setIn,
useDoc,
useDocLayout,
useGetInitialDataQuery,
useUpdateContentTypeConfigurationMutation
} from "./chunk-UATNJIHQ.js";
import "./chunk-P4VL3IHZ.js";
import "./chunk-HIZVCZYI.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-SYWYLB7I.js";
import "./chunk-S3HPKOXW.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import {
useTracking
} from "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-IGCTEXRF.js";
import "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import "./chunk-VYSYYPOB.js";
import {
Page,
useAPIErrorHandler
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/content-manager/dist/admin/pages/EditConfigurationPage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var EditConfigurationPage = () => {
const { trackUsage } = useTracking();
const { formatMessage } = useIntl();
const { toggleNotification } = useNotification();
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
const { isLoading: isLoadingSchema, schema, model } = useDoc();
const { isLoading: isLoadingLayout, error, list, edit } = useDocLayout();
const { fieldSizes, error: errorFieldSizes, isLoading: isLoadingFieldSizes, isFetching: isFetchingFieldSizes } = useGetInitialDataQuery(void 0, {
selectFromResult: (res) => {
var _a;
const fieldSizes2 = Object.entries(((_a = res.data) == null ? void 0 : _a.fieldSizes) ?? {}).reduce((acc, [attributeName, { default: size }]) => {
acc[attributeName] = size;
return acc;
}, {});
return {
isFetching: res.isFetching,
isLoading: res.isLoading,
error: res.error,
fieldSizes: fieldSizes2
};
}
});
React.useEffect(() => {
if (errorFieldSizes) {
toggleNotification({
type: "danger",
message: formatAPIError(errorFieldSizes)
});
}
}, [
errorFieldSizes,
formatAPIError,
toggleNotification
]);
const isLoading = isLoadingSchema || isLoadingLayout || isLoadingFieldSizes || isFetchingFieldSizes;
const [updateConfiguration] = useUpdateContentTypeConfigurationMutation();
const handleSubmit = async (data) => {
try {
trackUsage("willSaveContentTypeLayout");
const meta = Object.entries(list.metadatas).reduce((acc, [name, { mainField: _mainField, ...listMeta }]) => {
const existingEditMeta = edit.metadatas[name];
const { __temp_key__, size: _size, name: _name, ...editedMetadata } = data.layout.flatMap((row) => row.children).find((field) => field.name === name) ?? {};
acc[name] = {
edit: {
...existingEditMeta,
...editedMetadata
},
list: listMeta
};
return acc;
}, {});
const res = await updateConfiguration({
layouts: {
edit: data.layout.map((row) => row.children.reduce((acc, { name, size }) => {
if (name !== TEMP_FIELD_NAME) {
return [
...acc,
{
name,
size
}
];
}
return acc;
}, [])),
list: list.layout.map((field) => field.name)
},
settings: setIn(data.settings, "displayName", void 0),
metadatas: meta,
uid: model
});
if ("data" in res) {
trackUsage("didEditEditSettings");
toggleNotification({
type: "success",
message: formatMessage({
id: "notification.success.saved",
defaultMessage: "Saved"
})
});
} else {
toggleNotification({
type: "danger",
message: formatAPIError(res.error)
});
}
} catch {
toggleNotification({
type: "danger",
message: formatMessage({
id: "notification.error",
defaultMessage: "An error occurred"
})
});
}
};
if (isLoading) {
return (0, import_jsx_runtime.jsx)(Page.Loading, {});
}
if (errorFieldSizes || error || !schema) {
return (0, import_jsx_runtime.jsx)(Page.Error, {});
}
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: `Configure ${edit.settings.displayName} Edit View`
}),
(0, import_jsx_runtime.jsx)(ConfigurationForm, {
onSubmit: handleSubmit,
attributes: schema.attributes,
fieldSizes,
layout: edit
})
]
});
};
var ProtectedEditConfigurationPage = () => {
const permissions = useTypedSelector((state) => {
var _a;
return (_a = state.admin_app.permissions.contentManager) == null ? void 0 : _a.collectionTypesConfigurations;
});
return (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions,
children: (0, import_jsx_runtime.jsx)(EditConfigurationPage, {})
});
};
export {
EditConfigurationPage,
ProtectedEditConfigurationPage
};
//# sourceMappingURL=EditConfigurationPage-5E6X27JT.js.map