@nexusui/components
Version:
These are custom components specially-developed for NexusUI applications. They will make your life easier by giving you out-of-the-box implementations for various high-level UI elements that you can drop directly into your application.
3 lines (2 loc) • 1.49 kB
JavaScript
"use client";
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("./PartDialog.component.js"),a=require("./hooks/useGetOptionsBySort.js"),o=require("./hooks/usePartForm.js"),s=require("./hooks/useThumbnail.js"),i=require("../locales/index.js"),n=require("./locale.json.js");const m=m=>{const{formData:l,thumbnailSrc:u,cropDimensions:c,materials:d,customers:p,materialForms:h,onCancel:j,onSave:b,...g}=m,x=i.useTranslate(n.default),D=r.useMemo((()=>({id:l?.id||"",name:l?.name||"",description:l?.description||"",externalName:l?.externalName||"",material:l?.material||"",customer:l?.customer||"",designMaterial:l?.designMaterial||"",customerReference:l?.customerReference||"",materialForm:l?.materialForm||0})),[l]),S=a.useGetOptionsBySort([...d]),f=a.useGetOptionsBySort([...p]),q=a.useGetOptionsBySort([...h]),F=s.useThumbnail(u),{control:O,errors:P,isDirty:y,isValid:M,handleOnSubmit:v}=o.usePartForm(D,b,F),B={control:O,errors:P,disableSave:!(M&&(y||F.isThumbnailChanged)),materials:S,customers:f,materialForms:q,thumbnailProps:F,cropDimensions:c,...g},C={onCancel:j,handleOnSubmit:v};return e.jsx(t.PartDialogComponent,{t:x,...B,...C})};exports.PartDialog=r=>{if(!r.open)return null;return e.jsx(m,{isLoading:!1,formData:{id:"",name:"",description:"",externalName:"",material:"",customer:"",designMaterial:"",customerReference:"",materialForm:0},cropDimensions:{width:160,height:210,border:20},...r})};