| Server IP : 193.146.211.90 / Your IP : 10.85.6.55 Web Server : Apache System : Linux wordpress-gti-69dcdb54f7-n4wdq 6.11.8-arch1-2 #1 SMP PREEMPT_DYNAMIC Fri, 15 Nov 2024 15:35:07 +0000 x86_64 User : 1001 ( 1001) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /bitnami/wordpress/wp-content/plugins/presto-player/src/admin/settings/components/ |
Upload File : |
/**
* WordPress dependencies
*/
import { useSelect } from "@wordpress/data";
import { __ } from "@wordpress/i18n";
import { store as coreStore } from "@wordpress/core-data";
import { Button } from "@wordpress/components";
export default function SaveButton({
onSave,
children,
busy,
loading,
...rest
}) {
const { isDirty, isSaving } = useSelect((select) => {
const {
__experimentalGetDirtyEntityRecords,
isSavingEntityRecord,
} = select(coreStore);
const dirtyEntityRecords = (
__experimentalGetDirtyEntityRecords() || []
).filter((r) => r.name !== "webhook");
return {
isDirty: dirtyEntityRecords.length > 0,
isSaving: dirtyEntityRecords.some((record) =>
isSavingEntityRecord(record.kind, record.name, record.key)
),
};
}, []);
const disabled = !isDirty || isSaving;
if (loading) {
return (
<ScSkeleton
style={{
width: "120px",
height: "35px",
display: "inline-block",
}}
></ScSkeleton>
);
}
return (
<Button
isPrimary
aria-disabled={disabled}
disabled={disabled || isSaving || busy}
isBusy={isSaving || busy}
onClick={disabled ? undefined : onSave}
{...rest}
>
{children}
</Button>
);
}