@famalabs/web-form 1.0.0-beta.3 → 1.0.0-beta.6

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.
Files changed (52) hide show
  1. package/dist/core/compiler/common/CompilerProgress.js +1 -1
  2. package/dist/core/compiler/common/SidebarCompiler.js +1 -1
  3. package/dist/core/compiler/containers/PageCompiler.js +1 -1
  4. package/dist/core/compiler/containers/SectionCompiler.js +1 -1
  5. package/dist/core/compiler/question_forms/ItemConditionalCompiler.js +1 -1
  6. package/dist/core/compiler/question_forms/ItemFunctionCompiler.js +1 -1
  7. package/dist/core/compiler/question_forms/QuestionMultipleSelectCompiler.js +1 -1
  8. package/dist/core/compiler/question_forms/QuestionSelectCompiler.js +1 -1
  9. package/dist/core/compiler/question_forms/UploadFormCompiler.js +1 -1
  10. package/dist/core/components/common/DrawerCommon.js +1 -1
  11. package/dist/core/components/forms/QuestionAlertCommon.js +1 -1
  12. package/dist/core/components/forms/QuestionCommon.js +1 -1
  13. package/dist/core/components/forms/QuestionDateCommon.js +1 -1
  14. package/dist/core/components/forms/QuestionListCommon.js +1 -1
  15. package/dist/core/components/forms/QuestionMultipleSelectCommon.js +1 -1
  16. package/dist/core/components/forms/QuestionNumberCommon.js +1 -1
  17. package/dist/core/components/forms/QuestionSelectCommon.js +1 -1
  18. package/dist/core/components/forms/QuestionTableCommon.js +1 -1
  19. package/dist/core/editor/common/HierarchyEditor.js +1 -1
  20. package/dist/core/editor/common/OptionsEditor.js +1 -1
  21. package/dist/core/editor/common/sidebar/SidebarEditor.js +1 -1
  22. package/dist/core/editor/common/sidebar/SidebarPageStructure.js +1 -1
  23. package/dist/core/editor/common/sidebar/SidebarQuestionStructure.js +1 -1
  24. package/dist/core/editor/containers/FolderEditor.js +1 -1
  25. package/dist/core/editor/containers/PageEditor.js +1 -1
  26. package/dist/core/editor/containers/RenderPageEditModal.js +1 -1
  27. package/dist/core/editor/containers/RenderPageHeader.js +1 -1
  28. package/dist/core/editor/containers/RenderSectionEditModal.js +1 -1
  29. package/dist/core/editor/question_editor/QuestionCommonEditor.js +1 -1
  30. package/dist/core/editor/question_editor/QuestionMainComponent.js +1 -1
  31. package/dist/core/editor/question_editor/QuestionPreviewRender.js +1 -1
  32. package/dist/core/editor/question_forms/ItemConditionalEditor.js +1 -1
  33. package/dist/core/editor/question_forms/QuestionCheckEditor.js +1 -1
  34. package/dist/core/editor/question_forms/QuestionDateEditor.js +1 -1
  35. package/dist/core/editor/question_forms/QuestionMultipleSelectEditor.js +1 -1
  36. package/dist/core/editor/question_forms/QuestionSelectEditor.js +1 -1
  37. package/dist/core/editor/question_forms/QuestionTableEditor.js +1 -1
  38. package/dist/core/hooks/common/NavigationHook.js +1 -1
  39. package/dist/core/hooks/compiler/InitCompiler.js +1 -1
  40. package/dist/core/hooks/editor/EditorLocalMutations.js +1 -1
  41. package/dist/core/hooks/editor/EditorOperations.js +1 -1
  42. package/dist/core/hooks/editor/QuestionOperations.js +1 -1
  43. package/dist/core/presenter/FormPresenter.js +1 -1
  44. package/dist/core/presenter/common/QuestionPresenter.js +1 -1
  45. package/dist/core/presenter/containers/PagePresenter.js +1 -1
  46. package/dist/core/types/FormGlobalTypes.d.ts +1 -0
  47. package/dist/core/types/FormGlobalTypes.js +1 -1
  48. package/dist/core/utils/config-map.d.ts +1 -1
  49. package/dist/core/utils/config-map.js +1 -1
  50. package/dist/core/utils/parsers/LegacyConditionParser.js +1 -1
  51. package/dist/index.js +1 -1
  52. package/package.json +16 -13
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import"../../components/common/DrawerCommon.js";import t from"@mui/material/Typography";import"@mui/material/Grid";import{jsxs as o,jsx as i,Fragment as r}from"react/jsx-runtime";import{ModalCommon as a}from"../../components/common/ModalCommon.js";import"../../components/common/Skeletons.js";import m from"react";import{useFormStateContext as l}from"../../providers/common/FormStateProvider.js";import{useEditorStateContext as n}from"../../providers/editor/EditorStateProvider.js";import"isomorphic-dompurify";import s from"@mui/material/Box";import c from"@mui/material/Button";import{Trash as p,CirclePlus as u,GalleryVertical as d,Columns2 as f,Columns3 as h,Columns4 as v,Pencil as b,Network as y,Ruler as C}from"lucide-react";import"@mui/material/SvgIcon";import"@mui/material/Chip";import x from"@mui/material/FormLabel";import"@mui/material/IconButton";import g from"@mui/material/Stack";import"@mui/material/Tooltip";import{getDefaultData as S,Mapper as I}from"../../utils/config-map.js";import{getLocale as T,LocaleMap as w}from"../../utils/locale.js";import{ConditionParser as z}from"../../utils/parsers/ConditionParser.js";import{LegacyConditionParser as j}from"../../utils/parsers/LegacyConditionParser.js";import{RichTextEditor as k}from"@famalabs/web-ui";import"react-hook-form";import O from"@mui/material/FormControl";import"@mui/material/FormControlLabel";import"@mui/material/MenuItem";import"@mui/material/Radio";import"@mui/material/RadioGroup";import"@mui/material/Select";import"@mui/material/Checkbox";import"@mui/material/Switch";import"../../components/forms/QuestionNumberCommon.js";import"@mui/material/Table";import"@mui/material/TableBody";import"@mui/material/TableCell";import"@mui/material/TableContainer";import"@mui/material/TableHead";import"@mui/material/TableRow";import"dayjs";import"@mui/material/Autocomplete";import"@mui/material/FormGroup";import"@mui/material/FormHelperText";import"@mui/material/ListItem";import"@mui/material/TextField";import"../../components/forms/QuestionListCommon.js";import{useTheme as _}from"@mui/material/styles";import"@mui/material/useMediaQuery";import"react-dropzone";import"@mui/material/Alert";import"@mui/material/AlertTitle";import"acorn";import{ItemConditional as Q}from"@famalabs/survey";import A from"@mui/material/Badge";import B from"@mui/material/CardContent";import F from"@mui/material/CardHeader";import M from"@mui/material/Tab";import P from"@mui/material/Tabs";import L from"@mui/material/ToggleButton";import N from"@mui/material/ToggleButtonGroup";import{isEqual as V}from"lodash-es";import{useQuestionState as G}from"../../hooks/editor/QuestionOperations.js";import{OptionTextField as W}from"../common/OptionsEditor.js";import{EditCondition as H}from"../question_forms/ItemConditionalEditor.js";const R=R=>{const E=e(100),{currentSection:q,currentSectionIndex:D,open:J,closeModal:U}=R,{stageMutation:Y,globalConfig:K}=l(),{editorState:X}=n(),Z=G(q),$=_(),ee=K.readonlyMode;let te;E[0]!==q?(te=q instanceof Q?j(q):q.parent()instanceof Q?j(q.parent()):void 0,E[0]=q,E[1]=te):te=E[1];const oe=te;let ie;E[2]!==q?(ie=q instanceof Q?q:q.parent()instanceof Q?q.parent():void 0,E[2]=q,E[3]=ie):ie=E[3];const re=ie,[ae,me]=m.useState(!1),[le,ne]=m.useState();ae||le||!oe||(ne(oe),me(!0));const[se,ce]=m.useState(oe?"edit":null),[pe,ue]=m.useState("edit");let de;E[4]!==q||E[5]!==X||E[6]!==Z.value?(de=async()=>{await X.updateItem(q,void 0,Z.value,"silent")},E[4]=q,E[5]=X,E[6]=Z.value,E[7]=de):de=E[7];const fe=de;let he;E[8]!==q?(he=q.parent().items.indexOf(q),E[8]=q,E[9]=he):he=E[9];const ve=he;let be;E[10]!==q||E[11]!==Y?(be=e=>{const t=Y(t=>t.add(q.parent()?.id,{...S(I.cond.type)},e??-1));if(!t)return;Y(e=>{e.remove(t.id)});const o={...t.toJSON(),expression:{type:"exp",left:null,operator:null,right:null}};ne(o),ce("new")},E[10]=q,E[11]=Y,E[12]=be):be=E[12];const ye=be;let Ce;E[13]!==le||E[14]!==se||E[15]!==q||E[16]!==D||E[17]!==X||E[18]!==re?(Ce=async e=>{e:switch(se){case"new":{if(!le||!e)return;const t=z(e),o=await X.addQuestion(I.cond.type,q.parent()?.id,D+1,void 0,"silent");await X.updateItem(o,void 0,t,"silent"),await X.moveItem(q,0,o.id,"silent"),ce("edit");break e}case"edit":{if(!re||!e)return;const t=z(e);await X.updateItem(re,void 0,t,"silent"),ce("edit");break e}case"remove":if(!re)return;await X.moveItem(q,re.parent().items.indexOf(re),re.parent().id,"silent"),await X.removeItem(re,"silent"),ce("new")}},E[13]=le,E[14]=se,E[15]=q,E[16]=D,E[17]=X,E[18]=re,E[19]=Ce):Ce=E[19];const xe=Ce;let ge;e:{if("edit"===pe){let e;E[20]!==q||E[21]!==Z.value?(e=V(Z.value,q.toJSON()),E[20]=q,E[21]=Z.value,E[22]=e):e=E[22],ge=e;break e}if("cond"===pe){if("remove"===se){ge=!1;break e}if(!le&&oe){ge=!1;break e}if(!le&&!oe){ge=!0;break e}const e=le?.expression,t=e?.left,o=e?.right;let i;E[23]!==e?.operator||E[24]!==le||E[25]!==t?.name||E[26]!==oe||E[27]!==o?.value?(i=!t?.name||!e?.operator||void 0===o?.value||V(le,oe),E[23]=e?.operator,E[24]=le,E[25]=t?.name,E[26]=oe,E[27]=o?.value,E[28]=i):i=E[28],ge=i;break e}ge=!1}const Se=ge;let Ie;E[29]!==U||E[30]!==le||E[31]!==se||E[32]!==X||E[33]!==fe||E[34]!==xe?(Ie=async()=>{await fe(),(le||"remove"===se)&&await xe(le),X.refreshSurveyInstance(),U(),await X.createHistorySnapshot()},E[29]=U,E[30]=le,E[31]=se,E[32]=X,E[33]=fe,E[34]=xe,E[35]=Ie):Ie=E[35];const Te=Ie,we=("item"!==q.type?D:"")+" "+q.text;let ze,je,ke,Oe,_e,Qe,Ae;E[36]!==$.palette.primary.contrastText?(ze={title:{sx:{color:$.palette.primary.contrastText}},subheader:{sx:{color:$.palette.primary.contrastText}}},E[36]=$.palette.primary.contrastText,E[37]=ze):ze=E[37],E[38]!==$.palette.primary.main?(je={backgroundColor:$.palette.primary.main},E[38]=$.palette.primary.main,E[39]=je):je=E[39],E[40]!==je||E[41]!==we||E[42]!==ze?(ke=i(F,{title:we,subheader:null,slotProps:ze,sx:je}),E[40]=je,E[41]=we,E[42]=ze,E[43]=ke):ke=E[43],E[44]===Symbol.for("react.memo_cache_sentinel")?(Oe={width:"100%",borderBottom:1,borderColor:"divider"},E[44]=Oe):Oe=E[44],E[45]===Symbol.for("react.memo_cache_sentinel")?(_e=(e,t)=>ue(t),Qe={justifyContent:"center"},E[45]=_e,E[46]=Qe):(_e=E[45],Qe=E[46]),E[47]===Symbol.for("react.memo_cache_sentinel")?(Ae=i(b,{size:20}),E[47]=Ae):Ae=E[47];const Be="edit"===pe?"MODIFICA":null;let Fe,Me;E[48]!==Be?(Fe=i(M,{icon:Ae,iconPosition:"start",label:Be,value:"edit"}),E[48]=Be,E[49]=Fe):Fe=E[49],E[50]!==le?(Me=le?i(A,{color:"secondary",badgeContent:"",variant:"dot",children:i(y,{size:20})}):i(y,{size:20}),E[50]=le,E[51]=Me):Me=E[51];const Pe="cond"===pe?"LOGICA":null;let Le,Ne;E[52]!==Me||E[53]!==Pe?(Le=i(M,{icon:Me,iconPosition:"start",label:Pe,value:"cond"}),E[52]=Me,E[53]=Pe,E[54]=Le):Le=E[54],E[55]===Symbol.for("react.memo_cache_sentinel")?(Ne=i(C,{size:20}),E[55]=Ne):Ne=E[55];const Ve="layout"===pe?"LAYOUT":null;let Ge,We,He,Re,Ee,qe;E[56]!==Ve?(Ge=i(M,{icon:Ne,iconPosition:"start",label:Ve,value:"layout"}),E[56]=Ve,E[57]=Ge):Ge=E[57],E[58]!==pe||E[59]!==Fe||E[60]!==Le||E[61]!==Ge?(We=i(s,{sx:Oe,children:o(P,{value:pe,onChange:_e,sx:Qe,children:[Fe,Le,Ge]})}),E[58]=pe,E[59]=Fe,E[60]=Le,E[61]=Ge,E[62]=We):We=E[62],E[63]!==pe||E[64]!==Z?(He="edit"===pe&&o(g,{spacing:2,sx:{p:3},children:[i(W,{label:"Titolo",defaultValue:null,text:T(w.items.item.section.pageName),value:Z.getQuestionValue("text"),handleOnChange:e=>Z.updateItem("text",e),fullWidth:!0,size:"small"}),i(W,{label:"name",defaultValue:null,text:"Nome esportazione",hint:"Il nome del campo da visualizzare nelle esportazioni",value:Z.getQuestionValue("name"),handleOnChange:e=>Z.updateItem("name",e),fullWidth:!0,size:"small"}),i(k,{placeholder:"Indicazioni aggiuntive per il completamento del campo",value:Z.getQuestionValue("description"),onChange:e=>Z.updateItem("description",e)})]}),E[63]=pe,E[64]=Z,E[65]=He):He=E[65],E[66]!==ye||E[67]!==le||E[68]!==q||E[69]!==pe||E[70]!==ve||E[71]!==ee?(Re="cond"===pe&&i(s,{sx:{pt:4,pl:2,pr:2,pb:4,justifyContent:"flex-start"},children:le?o(r,{children:[i(H,{question:q,itemCondition:le,setItemCondition:ne,readonlyMode:ee}),le.id!==q.id&&o(c,{sx:{mt:2},fullWidth:!1,variant:"contained",color:"secondary",onClick:()=>{ne(void 0),ce("remove")},disabled:ee,children:[i(p,{size:20}),i(t,{sx:{pl:1},children:"Rimuovi condizione"})]})]}):o(c,{fullWidth:!1,variant:"contained",color:"primary",onClick:()=>ye(ve+1),disabled:ee,children:[i(u,{size:20}),i(t,{sx:{pl:1},children:"Aggiungi condizione"})]})}),E[66]=ye,E[67]=le,E[68]=q,E[69]=pe,E[70]=ve,E[71]=ee,E[72]=Re):Re=E[72],E[73]!==pe||E[74]!==Z?(Ee="layout"===pe&&i(g,{spacing:2,sx:{p:3},children:o(O,{children:[i(x,{children:"Colonne"}),o(N,{exclusive:!0,color:"primary",value:Z.getQuestionValue("layout.columns"),onChange:(e,t)=>{Z.updateItem("layout.columns",Number(t))},"aria-label":"columns layout",children:[i(L,{value:1,title:"1 colonna","aria-label":"1 colonna",children:i(d,{size:20})}),i(L,{value:2,title:"2 colonne","aria-label":"2 colonne",children:i(f,{size:20})}),i(L,{value:3,title:"3 colonne","aria-label":"3 colonne",children:i(h,{size:20})}),i(L,{value:4,title:"4 colonne","aria-label":"4 colonne",children:i(v,{size:20})})]})]})}),E[73]=pe,E[74]=Z,E[75]=Ee):Ee=E[75],E[76]===Symbol.for("react.memo_cache_sentinel")?(qe={justifyContent:"flex-end",p:3},E[76]=qe):qe=E[76];const De=ee?"Chiudi":"Annulla";let Je,Ue,Ye,Ke,Xe,Ze;return E[77]!==U||E[78]!==De?(Je=i(c,{variant:"outlined",color:"secondary",onClick:U,children:De}),E[77]=U,E[78]=De,E[79]=Je):Je=E[79],E[80]!==Te||E[81]!==Se||E[82]!==ee?(Ue=!ee&&i(c,{variant:"contained",color:"primary",disabled:Se,onClick:Te,children:"Salva"}),E[80]=Te,E[81]=Se,E[82]=ee,E[83]=Ue):Ue=E[83],E[84]!==Je||E[85]!==Ue?(Ye=o(g,{direction:"row",spacing:2,sx:qe,children:[Je,Ue]}),E[84]=Je,E[85]=Ue,E[86]=Ye):Ye=E[86],E[87]!==We||E[88]!==He||E[89]!==Re||E[90]!==Ee||E[91]!==Ye?(Ke=o(B,{children:[We,He,Re,Ee,Ye]}),E[87]=We,E[88]=He,E[89]=Re,E[90]=Ee,E[91]=Ye,E[92]=Ke):Ke=E[92],E[93]!==ke||E[94]!==Ke?(Xe=o(r,{children:[ke,Ke]}),E[93]=ke,E[94]=Ke,E[95]=Xe):Xe=E[95],E[96]!==U||E[97]!==J||E[98]!==Xe?(Ze=i(a,{minWidth:460,open:J,onClose:U,children:Xe}),E[96]=U,E[97]=J,E[98]=Xe,E[99]=Ze):Ze=E[99],Ze};export{R as RenderSectionEditModal};
1
+ import{c as e}from"react/compiler-runtime";import"../../components/common/DrawerCommon.js";import t from"@mui/material/Typography";import"@mui/material/Grid";import{jsxs as o,jsx as i,Fragment as r}from"react/jsx-runtime";import{ModalCommon as a}from"../../components/common/ModalCommon.js";import"../../components/common/Skeletons.js";import m from"react";import{useFormStateContext as n}from"../../providers/common/FormStateProvider.js";import{useEditorStateContext as l}from"../../providers/editor/EditorStateProvider.js";import"isomorphic-dompurify";import s from"@mui/material/Box";import c from"@mui/material/Button";import{Trash as p,CirclePlus as u,GalleryVertical as d,Columns2 as f,Columns3 as h,Columns4 as v,Pencil as b,Network as y,Ruler as C}from"lucide-react";import"@mui/material/SvgIcon";import"@mui/material/Chip";import x from"@mui/material/FormLabel";import"@mui/material/IconButton";import g from"@mui/material/Stack";import"@mui/material/Tooltip";import{getDefaultData as S,Mapper as I}from"../../utils/config-map.js";import{getLocale as w,LocaleMap as T}from"../../utils/locale.js";import{ConditionParser as z}from"../../utils/parsers/ConditionParser.js";import{LegacyConditionParser as j}from"../../utils/parsers/LegacyConditionParser.js";import{RichTextEditor as k}from"@famalabs/web-ui";import"react-hook-form";import O from"@mui/material/FormControl";import"@mui/material/FormControlLabel";import"@mui/material/MenuItem";import"@mui/material/Radio";import"@mui/material/RadioGroup";import"@mui/material/Select";import"@mui/material/Checkbox";import"@mui/material/Switch";import"../../components/forms/QuestionNumberCommon.js";import"@mui/material/Table";import"@mui/material/TableBody";import"@mui/material/TableCell";import"@mui/material/TableContainer";import"@mui/material/TableHead";import"@mui/material/TableRow";import"dayjs";import"@mui/material/Autocomplete";import"@mui/material/FormGroup";import"@mui/material/FormHelperText";import"@mui/material/ListItem";import"@mui/material/TextField";import"../../components/forms/QuestionListCommon.js";import{useTheme as _}from"@mui/material/styles";import"@mui/material/useMediaQuery";import"react-dropzone";import"@mui/material/Alert";import"@mui/material/AlertTitle";import"acorn";import{ItemConditional as F}from"@famalabs/survey";import Q from"@mui/material/Badge";import A from"@mui/material/CardContent";import B from"@mui/material/CardHeader";import M from"@mui/material/Tab";import P from"@mui/material/Tabs";import L from"@mui/material/ToggleButton";import N from"@mui/material/ToggleButtonGroup";import{isEqual as V}from"lodash-es";import{useQuestionState as G}from"../../hooks/editor/QuestionOperations.js";import{OptionTextField as W}from"../common/OptionsEditor.js";import{EditSimpleExpression as H}from"../question_forms/ItemConditionalEditor.js";const R=R=>{const E=e(96),{currentSection:q,currentSectionIndex:D,open:J,closeModal:U}=R,{stageMutation:Y,globalConfig:K}=n(),{editorState:X}=l(),Z=G(q),$=_(),ee=K.readonlyMode;let te;E[0]!==q?(te=q instanceof F?j(q):q.parent()instanceof F?j(q.parent()):void 0,E[0]=q,E[1]=te):te=E[1];const oe=te;let ie;E[2]!==q?(ie=q instanceof F?q:q.parent()instanceof F?q.parent():void 0,E[2]=q,E[3]=ie):ie=E[3];const re=ie,[ae,me]=m.useState(!1),[ne,le]=m.useState();ae||ne||!oe||(le(oe),me(!0));const[se,ce]=m.useState(oe?"edit":null),[pe,ue]=m.useState("edit");let de;E[4]!==q||E[5]!==X||E[6]!==Z.value?(de=async()=>{await X.updateItem(q,void 0,Z.value,"silent")},E[4]=q,E[5]=X,E[6]=Z.value,E[7]=de):de=E[7];const fe=de;let he;E[8]!==q||E[9]!==Y?(he=()=>{const e=q.parent().items.indexOf(q)??0,t=Y(t=>t.add(q.parent()?.id,{...S(I.cond.type)},e?e+1:-1));if(!t)return;Y(e=>{e.remove(t.id)});const o={...t.toJSON(),expression:{type:"exp",left:null,operator:null,right:null}};le(o),ce("new")},E[8]=q,E[9]=Y,E[10]=he):he=E[10];const ve=he;let be;E[11]!==ne||E[12]!==se||E[13]!==q||E[14]!==X||E[15]!==re?(be=async()=>{const e=q.parent().items.indexOf(q)??0;e:switch(se){case"new":{if(!ne)return;const t=z(ne),o=await X.addQuestion(I.cond.type,q.parent()?.id,e+1,void 0,"silent");if(!o)return void console.error("Failed to create new condition");await X.updateItem(o,void 0,t,"silent"),await X.moveItem(q,0,o.id,"silent"),ce("edit");break e}case"edit":{if(!re||!ne)return;const e=z(ne);await X.updateItem(re,void 0,e,"silent"),ce("edit");break e}case"remove":if(!re)return;await X.moveItem(q,re.parent().items.indexOf(re),re.parent().id,"silent"),await X.removeItem(re,"silent"),ce("new")}},E[11]=ne,E[12]=se,E[13]=q,E[14]=X,E[15]=re,E[16]=be):be=E[16];const ye=be;let Ce;e:{if("edit"===pe){let e;E[17]!==q||E[18]!==Z.value?(e=V(Z.value,q.toJSON()),E[17]=q,E[18]=Z.value,E[19]=e):e=E[19],Ce=e;break e}if("cond"===pe){if("remove"===se){Ce=!1;break e}if(!ne&&oe){Ce=!1;break e}if(!ne&&!oe){Ce=!0;break e}const e=ne?.expression,t=e?.left,o=e?.right;let i;E[20]!==e?.operator||E[21]!==ne||E[22]!==t?.name||E[23]!==oe||E[24]!==o?.value?(i=!t?.name||!e?.operator||void 0===o?.value||V(ne,oe),E[20]=e?.operator,E[21]=ne,E[22]=t?.name,E[23]=oe,E[24]=o?.value,E[25]=i):i=E[25],Ce=i;break e}Ce=!1}const xe=Ce;let ge;E[26]!==U||E[27]!==ne||E[28]!==se||E[29]!==X||E[30]!==fe||E[31]!==ye?(ge=async()=>{await fe(),(ne||"remove"===se)&&await ye(),X.refreshSurveyInstance(),U(),await X.createHistorySnapshot()},E[26]=U,E[27]=ne,E[28]=se,E[29]=X,E[30]=fe,E[31]=ye,E[32]=ge):ge=E[32];const Se=ge,Ie=("item"!==q.type?D:"")+" "+q.text;let we,Te,ze,je,ke,Oe,_e;E[33]!==$.palette.primary.contrastText?(we={title:{sx:{color:$.palette.primary.contrastText}},subheader:{sx:{color:$.palette.primary.contrastText}}},E[33]=$.palette.primary.contrastText,E[34]=we):we=E[34],E[35]!==$.palette.primary.main?(Te={backgroundColor:$.palette.primary.main},E[35]=$.palette.primary.main,E[36]=Te):Te=E[36],E[37]!==Ie||E[38]!==we||E[39]!==Te?(ze=i(B,{title:Ie,subheader:null,slotProps:we,sx:Te}),E[37]=Ie,E[38]=we,E[39]=Te,E[40]=ze):ze=E[40],E[41]===Symbol.for("react.memo_cache_sentinel")?(je={width:"100%",borderBottom:1,borderColor:"divider"},E[41]=je):je=E[41],E[42]===Symbol.for("react.memo_cache_sentinel")?(ke=(e,t)=>ue(t),Oe={justifyContent:"center"},E[42]=ke,E[43]=Oe):(ke=E[42],Oe=E[43]),E[44]===Symbol.for("react.memo_cache_sentinel")?(_e=i(b,{size:20}),E[44]=_e):_e=E[44];const Fe="edit"===pe?"MODIFICA":null;let Qe,Ae;E[45]!==Fe?(Qe=i(M,{icon:_e,iconPosition:"start",label:Fe,value:"edit"}),E[45]=Fe,E[46]=Qe):Qe=E[46],E[47]!==ne?(Ae=ne?i(Q,{color:"secondary",badgeContent:"",variant:"dot",children:i(y,{size:20})}):i(y,{size:20}),E[47]=ne,E[48]=Ae):Ae=E[48];const Be="cond"===pe?"LOGICA":null;let Me,Pe;E[49]!==Ae||E[50]!==Be?(Me=i(M,{icon:Ae,iconPosition:"start",label:Be,value:"cond"}),E[49]=Ae,E[50]=Be,E[51]=Me):Me=E[51],E[52]===Symbol.for("react.memo_cache_sentinel")?(Pe=i(C,{size:20}),E[52]=Pe):Pe=E[52];const Le="layout"===pe?"LAYOUT":null;let Ne,Ve,Ge,We,He,Re;E[53]!==Le?(Ne=i(M,{icon:Pe,iconPosition:"start",label:Le,value:"layout"}),E[53]=Le,E[54]=Ne):Ne=E[54],E[55]!==pe||E[56]!==Qe||E[57]!==Me||E[58]!==Ne?(Ve=i(s,{sx:je,children:o(P,{value:pe,onChange:ke,sx:Oe,children:[Qe,Me,Ne]})}),E[55]=pe,E[56]=Qe,E[57]=Me,E[58]=Ne,E[59]=Ve):Ve=E[59],E[60]!==pe||E[61]!==Z?(Ge="edit"===pe&&o(g,{spacing:2,sx:{p:3},children:[i(W,{label:"Titolo",defaultValue:null,text:w(T.items.item.section.pageName),value:Z.getQuestionValue("text"),handleOnChange:e=>Z.updateItem("text",e),fullWidth:!0,size:"small"}),i(W,{label:"name",defaultValue:null,text:"Nome esportazione",hint:"Il nome del campo da visualizzare nelle esportazioni",value:Z.getQuestionValue("name"),handleOnChange:e=>Z.updateItem("name",e),fullWidth:!0,size:"small"}),i(k,{placeholder:"Indicazioni aggiuntive per il completamento del campo",value:Z.getQuestionValue("description"),onChange:e=>Z.updateItem("description",e)})]}),E[60]=pe,E[61]=Z,E[62]=Ge):Ge=E[62],E[63]!==ve||E[64]!==ne||E[65]!==q||E[66]!==pe||E[67]!==ee?(We="cond"===pe&&i(s,{sx:{pt:4,pl:2,pr:2,pb:4,justifyContent:"flex-start"},children:ne?o(r,{children:[i(H,{question:q,itemCondition:ne,setItemCondition:le,readonlyMode:ee}),ne.id!==q.id&&o(c,{sx:{mt:2},fullWidth:!1,variant:"contained",color:"secondary",onClick:()=>{le(void 0),ce("remove")},disabled:ee,children:[i(p,{size:20}),i(t,{sx:{pl:1},children:"Rimuovi condizione"})]})]}):o(c,{fullWidth:!1,variant:"contained",color:"primary",onClick:ve,disabled:ee,children:[i(u,{size:20}),i(t,{sx:{pl:1},children:"Aggiungi condizione"})]})}),E[63]=ve,E[64]=ne,E[65]=q,E[66]=pe,E[67]=ee,E[68]=We):We=E[68],E[69]!==pe||E[70]!==Z?(He="layout"===pe&&i(g,{spacing:2,sx:{p:3},children:o(O,{children:[i(x,{children:"Colonne"}),o(N,{exclusive:!0,color:"primary",value:Z.getQuestionValue("layout.columns"),onChange:(e,t)=>{Z.updateItem("layout.columns",Number(t))},"aria-label":"columns layout",children:[i(L,{value:1,title:"1 colonna","aria-label":"1 colonna",children:i(d,{size:20})}),i(L,{value:2,title:"2 colonne","aria-label":"2 colonne",children:i(f,{size:20})}),i(L,{value:3,title:"3 colonne","aria-label":"3 colonne",children:i(h,{size:20})}),i(L,{value:4,title:"4 colonne","aria-label":"4 colonne",children:i(v,{size:20})})]})]})}),E[69]=pe,E[70]=Z,E[71]=He):He=E[71],E[72]===Symbol.for("react.memo_cache_sentinel")?(Re={justifyContent:"flex-end",p:3},E[72]=Re):Re=E[72];const Ee=ee?"Chiudi":"Annulla";let qe,De,Je,Ue,Ye,Ke;return E[73]!==U||E[74]!==Ee?(qe=i(c,{variant:"outlined",color:"secondary",onClick:U,children:Ee}),E[73]=U,E[74]=Ee,E[75]=qe):qe=E[75],E[76]!==Se||E[77]!==xe||E[78]!==ee?(De=!ee&&i(c,{variant:"contained",color:"primary",disabled:xe,onClick:Se,children:"Salva"}),E[76]=Se,E[77]=xe,E[78]=ee,E[79]=De):De=E[79],E[80]!==qe||E[81]!==De?(Je=o(g,{direction:"row",spacing:2,sx:Re,children:[qe,De]}),E[80]=qe,E[81]=De,E[82]=Je):Je=E[82],E[83]!==Ve||E[84]!==Ge||E[85]!==We||E[86]!==He||E[87]!==Je?(Ue=o(A,{children:[Ve,Ge,We,He,Je]}),E[83]=Ve,E[84]=Ge,E[85]=We,E[86]=He,E[87]=Je,E[88]=Ue):Ue=E[88],E[89]!==ze||E[90]!==Ue?(Ye=o(r,{children:[ze,Ue]}),E[89]=ze,E[90]=Ue,E[91]=Ye):Ye=E[91],E[92]!==U||E[93]!==J||E[94]!==Ye?(Ke=i(a,{minWidth:460,open:J,onClose:U,children:Ye}),E[92]=U,E[93]=J,E[94]=Ye,E[95]=Ke):Ke=E[95],Ke};export{R as RenderSectionEditModal};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{useFormStateContext as t}from"../../providers/common/FormStateProvider.js";import{useEditorStateContext as n}from"../../providers/editor/EditorStateProvider.js";import{useGetCurrentQuestionEdit as o,useSetQuestionEdit as i}from"../../providers/editor/QuestionEditProvider.js";import a,{startTransition as r,useEffectEvent as l,useEffect as s}from"react";import{jsx as c,jsxs as u,Fragment as d}from"react/jsx-runtime";import{useQuestionStateContext as m}from"../../providers/editor/QuestionStateProvider.js";import{useTabStateContext as p}from"../../providers/editor/TabStateProvider.js";import{ItemConditional as f,QuestionSelect as h,Question as y}from"@famalabs/survey";import g from"@mui/lab/TabContext";import b from"@mui/lab/TabList";import v from"@mui/lab/TabPanel";import x from"@mui/material/Badge";import I from"@mui/material/Box";import C from"@mui/material/Button";import S from"@mui/material/Checkbox";import w from"@mui/material/Divider";import Q from"@mui/material/FormControlLabel";import k from"@mui/material/Grid";import V from"@mui/material/MenuItem";import _ from"@mui/material/Select";import z from"@mui/material/Stack";import M from"@mui/material/Tab";import q from"@mui/material/Typography";import j from"lodash-es/isEqual";import{Pencil as N,Network as O,Settings as E,Trash2 as P,PlusCircle as T}from"lucide-react";import{getMapType as A,Mapper as D,getDefaultData as B}from"../../utils/config-map.js";import"../../utils/locale.js";import{formatName as L}from"../../utils/format-utils.js";import{ConditionParser as R}from"../../utils/parsers/ConditionParser.js";import{LegacyConditionParser as W}from"../../utils/parsers/LegacyConditionParser.js";import{QuestionGeneralEdit as F}from"../common/CommonEditor.js";import{EditCondition as J,EditExpression as U}from"../question_forms/ItemConditionalEditor.js";function G(t){const l=e(108),{index:s,question:y,contentEdit:C,contentOptions:S,contentLayout:Q,readonlyMode:k}=t,V=void 0!==k&&k,{editorState:_,navigationState:q}=n(),P=m(),T=o(),B=i(),{currentEditTab:J,setCurrentEditTab:U}=p();let G;l[0]!==U?(G=(e,t)=>{r(()=>{U(t)})},l[0]=U,l[1]=G):G=l[1];const oe=G;let ye;l[2]!==P?(ye=P.getQuestionValue("options.min"),l[2]=P,l[3]=ye):ye=l[3];const ge=ye;let be;l[4]!==P?(be=P.getQuestionValue("options.max"),l[4]=P,l[5]=be):be=l[5];const ve=be;let xe;l[6]!==P?(xe=P.getQuestionValue("options.step"),l[6]=P,l[7]=xe):xe=l[7];const Ie=Boolean(ge||ve||xe);let Ce;l[8]!==y?(Ce=A(y),l[8]=y,l[9]=Ce):Ce=l[9];const Se=Ce===D.section.type;let we;l[10]!==y?(we=y instanceof f?y:y.parent()instanceof f?y.parent():null,l[10]=y,l[11]=we):we=l[11];const Qe=we,ke=a.useRef(null);let Ve;l[12]===Symbol.for("react.memo_cache_sentinel")?(Ve=()=>{if(ke.current){const e=ke.current.querySelectorAll("input, textarea");e.length>0&&e.forEach(pe)}},l[12]=Ve):Ve=l[12];const _e=Ve;let ze;l[13]!==T.isNew||l[14]!==y||l[15]!==P?(ze=()=>{const e=A(y),t=P.getQuestionValue("text")||"",n=e===D.cond.type||e===D.section.type||Boolean(t&&t.length>0);if(!n)return!1;if(y instanceof h){const e=P.getQuestionValue("options.select")??[];if(!e||0===e.length)return!1;const t=e.map(me);if(t.includes("")||t.some(de))return!1;const n=e.map(ue);if(n.length!==new Set(n).size)return!1}if(e===D.date.type){const e=P.getQuestionValue("options.min"),t=P.getQuestionValue("options.max");if(e&&t){if(new Date(e)>new Date(t))return!1}}if("list"===y.type){const e=P.getQuestionValue("options.source")||"";return Boolean(e&&e.length>0)}if(e===D.multipleSelect.type||e===D.autocomplete.type){const e=(P.getQuestionValue("items")??[]).filter(ce);if(!e||0===e.length)return!1;const t=e.map(se);if(t.includes("")||t.some(le))return!1;if(t.length!==new Set(t).size)return!1}if(e===D.selectTable.type){const e=(P.getQuestionValue("items")??[]).filter(re);if(!e||0===e.length)return!1;const t=e.map(ae);if(t.includes("")||t.some(ie))return!1;if(t.length!==new Set(t).size)return!1}if(e===D.fn.type){return(P.getQuestionValue("parameters")??[]).length>=2}if(T.isNew&&(e===D.alert.type||e===D.cond.type)){const e=P.getQuestionValue("conditionCache")?.expression,t=e?.right;return null!=t?.value}return e===D.section.type||n},l[13]=T.isNew,l[14]=y,l[15]=P,l[16]=ze):ze=l[16];const Me=ze;let qe;l[17]!==_?(qe=_.getLatestId(),l[17]=_,l[18]=qe):qe=l[18];const je=a.useRef(qe);let Ne;l[19]!==_||l[20]!==y||l[21]!==P?(Ne=async()=>{const e=ne,t=P.getQuestionValue("layout.required"),n=(P.getQuestionValue("items")??[]).filter(te),o=y.items?.filter(ee).map(Y)||[],i=n.filter(X),a=i.filter(e=>!o.find(t=>t.id===e.id)),r=i.map(e=>{const t=o.find(t=>t.id===e.id);return t?{...t,name:e.name,text:e.text}:a.find(t=>t.name===e.name)}).filter(Boolean),l=n?.find(K),s=l?{...l,parameters:r.map(Z)}:{id:(je.current+r.length+1).toString(),type:"fn",fn:"Sum",text:"Numero selezionati",layout:{visibility:0},parameters:r.map($)},c=n?.find(H),u=s&&c?{...c,parameters:[s.id]}:{id:(je.current+r.length+2).toString(),type:"cond",parameters:[s.id],condition:`($${s.id} < 1)`};t?await _.replaceItem(y,{...P.value,items:e([s,W(u),...r])},"full"):!P.getQuestionValue("layout.required")&&u&&await _.replaceItem(y,{...P.value,items:e([s,...r])},"full")},l[19]=_,l[20]=y,l[21]=P,l[22]=Ne):Ne=l[22];const Oe=Ne;let Ee;l[23]!==_||l[24]!==y||l[25]!==P.value?(Ee=async()=>{await _.replaceItem(y,{...P.value},"full")},l[23]=_,l[24]=y,l[25]=P.value,l[26]=Ee):Ee=l[26];const Pe=Ee;let Te;l[27]!==_||l[28]!==Qe||l[29]!==q||l[30]!==y||l[31]!==P?(Te=async()=>{const e=P.getQuestionValue("conditionCache"),t=e?R(e):null,n=P.getQuestionValue("conditionState")??"",o=q.getItem(y.id)?.localIndex??-1;e:switch(n){case"new":{const e=await _.addQuestion(D.cond.type,y.parent().id,o+1,void 0,"silent");await _.updateItem(e,void 0,t,"silent"),await _.moveItem(y,0,e.id,"silent"),P.updateItem("conditionState","edit");break e}case"alert":{const e=await _.addQuestion(D.alert.type,y.parent().id,o+1,void 0,"silent");await _.updateItem(e,void 0,{...t,text:P.getQuestionValue("text"),description:P.getQuestionValue("description")||"",name:P.getQuestionValue("name")||L(P.getQuestionValue("text"))},"silent"),await _.removeItem(y),P.updateItem("conditionState","edit");break e}case"edit":if(!Qe)return;if(j(t,Qe.toJSON())||null===t)return;A(Qe)===D.alert.type?await _.replaceItem(Qe,t,"silent"):await _.updateItem(Qe,void 0,t,"silent"),P.updateItem("conditionState","edit");break e;case"remove":if(!Qe)return;await _.moveItem(y,Qe.parent().items.indexOf(Qe),Qe.parent().id,"silent"),await _.removeItem(Qe,"silent"),P.updateItem("conditionState","new")}},l[27]=_,l[28]=Qe,l[29]=q,l[30]=y,l[31]=P,l[32]=Te):Te=l[32];const Ae=Te;let De;l[33]!==_||l[34]!==P?(De=async e=>{const t=P.getQuestionValue("text"),n=P.getQuestionValue("description"),o=P.getQuestionValue("name"),i=L(t);P.updateItem("name",o||i),await _.updateItem(e,void 0,{...P.value,text:t,description:n||"",name:o||i},"full")},l[33]=_,l[34]=P,l[35]=De):De=l[35];const Be=De;let Le;l[36]!==_||l[37]!==Ae||l[38]!==Me||l[39]!==Oe||l[40]!==y||l[41]!==V||l[42]!==B||l[43]!==Pe||l[44]!==Be?(Le=async()=>{Me()&&!V&&(A(y)===D.multipleSelect.type||A(y)===D.autocomplete.type?await Oe():A(y)===D.selectTable.type&&await Pe(),await Ae(),await Be(y),B({id:"",isNew:!1}),await _.createHistorySnapshot())},l[36]=_,l[37]=Ae,l[38]=Me,l[39]=Oe,l[40]=y,l[41]=V,l[42]=B,l[43]=Pe,l[44]=Be,l[45]=Le):Le=l[45];const Re=Le;let We;l[46]!==T.isNew||l[47]!==_||l[48]!==y||l[49]!==P||l[50]!==B?(We=async()=>{T.isNew&&await _.removeItem(y),B({id:"",isNew:!1}),P.updateItem(null,y.toJSON())},l[46]=T.isNew,l[47]=_,l[48]=y,l[49]=P,l[50]=B,l[51]=We):We=l[51];const Fe=We;let Je,Ue,Ge,He;l[52]===Symbol.for("react.memo_cache_sentinel")?(Je={borderRadius:3,bgcolor:"background.paper",boxShadow:"rgba(25, 25, 25, 0.09) 0px 0px 0px 3px",border:"1px solid rgba(25, 25, 25, 0.15)",minHeight:"20vh"},l[52]=Je):Je=l[52],l[53]===Symbol.for("react.memo_cache_sentinel")?(Ue={width:"100%",borderBottom:1,borderColor:"divider"},l[53]=Ue):Ue=l[53],l[54]===Symbol.for("react.memo_cache_sentinel")?(Ge={justifyContent:"center"},l[54]=Ge):Ge=l[54],l[55]===Symbol.for("react.memo_cache_sentinel")?(He=c(N,{size:20}),l[55]=He):He=l[55];const $e="main"===J?"MODIFICA":null;let Ze,Ke;l[56]!==$e?(Ze=c(M,{"aria-label":"tab-main-panel",icon:He,iconPosition:"start",label:$e,value:"main"}),l[56]=$e,l[57]=Ze):Ze=l[57],l[58]!==Qe?(Ke=Qe?c(x,{color:"secondary",badgeContent:"",variant:"dot",children:c(O,{size:20})}):c(O,{size:20}),l[58]=Qe,l[59]=Ke):Ke=l[59];const Xe="condition"===J?"LOGICA":null;let Ye,et,tt,nt,ot,it,at,rt;l[60]!==Ke||l[61]!==Xe?(Ye=c(M,{"aria-label":"tab-condition-panel",icon:Ke,iconPosition:"start",label:Xe,value:"condition"}),l[60]=Ke,l[61]=Xe,l[62]=Ye):Ye=l[62],l[63]!==J||l[64]!==Ie||l[65]!==Se?(et=!Se&&c(M,{"aria-label":"tab-options-panel",className:"optionsTab",icon:Ie?c(x,{color:"secondary",badgeContent:"",variant:"dot",children:c(E,{size:20})}):c(E,{size:20}),iconPosition:"start",label:"options"===J?"OPZIONI":null,value:"options"}),l[63]=J,l[64]=Ie,l[65]=Se,l[66]=et):et=l[66],l[67]!==oe||l[68]!==Ze||l[69]!==Ye||l[70]!==et?(tt=c(I,{sx:Ue,children:u(b,{onChange:oe,sx:Ge,children:[Ze,Ye,et]})}),l[67]=oe,l[68]=Ze,l[69]=Ye,l[70]=et,l[71]=tt):tt=l[71],l[72]===Symbol.for("react.memo_cache_sentinel")?(nt={p:0},l[72]=nt):nt=l[72],l[73]!==y||l[74]!==V?(ot=c(F,{item:y,readonlyMode:V}),l[73]=y,l[74]=V,l[75]=ot):ot=l[75],l[76]!==C?(it=C&&u(d,{children:[c(w,{textAlign:"left"}),C]}),l[76]=C,l[77]=it):it=l[77],l[78]!==ot||l[79]!==it?(at=c(v,{ref:ke,"aria-label":"tab-main-panel",value:"main",keepMounted:!0,sx:nt,children:u(I,{children:[ot,it]})}),l[78]=ot,l[79]=it,l[80]=at):at=l[80],l[81]===Symbol.for("react.memo_cache_sentinel")?(rt={p:0},l[81]=rt):rt=l[81];const lt=parseInt(s);let st,ct,ut,dt,mt,pt;l[82]!==y||l[83]!==V||l[84]!==lt?(st=c(v,{value:"condition",keepMounted:!0,"aria-label":"tab-condition-panel",sx:rt,children:c(fe,{question:y,questionIndex:lt,readonlyMode:V})}),l[82]=y,l[83]=V,l[84]=lt,l[85]=st):st=l[85],l[86]===Symbol.for("react.memo_cache_sentinel")?(ct={px:3,py:2,backgroundColor:"background.default"},l[86]=ct):ct=l[86],l[87]!==S?(ut=c(v,{ref:ke,keepMounted:!0,"aria-label":"tab-options-panel",value:"options",sx:ct,children:S}),l[87]=S,l[88]=ut):ut=l[88],l[89]===Symbol.for("react.memo_cache_sentinel")?(dt={p:0},l[89]=dt):dt=l[89],l[90]!==Q?(mt=c(v,{"aria-label":"tab-layout-panel",keepMounted:!0,value:"layout",sx:dt,children:Q}),l[90]=Q,l[91]=mt):mt=l[91],l[92]!==J||l[93]!==tt||l[94]!==at||l[95]!==st||l[96]!==ut||l[97]!==mt?(pt=u(g,{value:J,children:[tt,at,st,ut,mt]}),l[92]=J,l[93]=tt,l[94]=at,l[95]=st,l[96]=ut,l[97]=mt,l[98]=pt):pt=l[98];const ft=!Me();let ht,yt;return l[99]!==Fe||l[100]!==Re||l[101]!==y||l[102]!==V||l[103]!==ft?(ht=c(he,{question:y,handleOnSave:Re,handleOnCancel:Fe,isDisabled:ft,blurAllForms:_e,readonlyMode:V}),l[99]=Fe,l[100]=Re,l[101]=y,l[102]=V,l[103]=ft,l[104]=ht):ht=l[104],l[105]!==pt||l[106]!==ht?(yt=u(z,{sx:Je,children:[pt,ht]}),l[105]=pt,l[106]=ht,l[107]=yt):yt=l[107],yt}function H(e){return A(e)===D.cond.type}function $(e){return e.id}function Z(e){return e.id}function K(e){return A(e)===D.fn.type}function X(e){return A(e)===D.check.type}function Y(e){return e.toJSON()}function ee(e){return A(e)===D.check.type}function te(e,t,n){return n.findIndex(t=>t.id===e.id)===t}function ne(e){return e&&0!==e.length?e.map(oe):[]}function oe(e){return A(e)===D.cond.type?R(e):e}function ie(e){return!e}function ae(e){return e.text}function re(e){return"fn"!==e.type&&"cond"!==e.type}function le(e){return!e}function se(e){return e.text}function ce(e){return"fn"!==e.type&&"cond"!==e.type}function ue(e){return e.score}function de(e){return!e}function me(e){return e.text}function pe(e){return e.blur()}const fe=n=>{const o=e(41),{question:i,questionIndex:a,readonlyMode:r}=n,{stageMutation:p}=t(),h=m();let y;o[0]!==i?(y=i instanceof f?W(i):i.parent()instanceof f?W(i.parent()):void 0,o[0]=i,o[1]=y):y=o[1];const g=y;let b;o[2]!==h?(b=h.getQuestionValue("conditionCache"),o[2]=h,o[3]=b):b=o[3];const v=b;let x;o[4]!==h?(x=h.getQuestionValue("conditionState"),o[4]=h,o[5]=x):x=o[5];const S=x;let Q;o[6]!==h||o[7]!==p?(Q=(e,t)=>{const n=p(n=>n.add(e.parent().id,{...B(D.cond.type)},t??-1));if(!n)return;p(e=>e.remove(n.id));const o={...n.toJSON(),expression:{type:"exp",left:null,operator:null,right:null}};h.updateItem("conditionCache",o),h.updateItem("conditionState","new")},o[6]=h,o[7]=p,o[8]=Q):Q=o[8];const k=Q;let z;o[9]!==S||o[10]!==g||o[11]!==i||o[12]!==a||o[13]!==h||o[14]!==p?(z=()=>{if(g){if(A(i)===D.alert.type&&!S){const e=p(e=>e.add(i.parent().id,{...B(D.alert.type),...h.value},a??-1));if(!e)return;p(t=>t.remove(e.id));const t=g?.expression,n={...e.toJSON(),expression:{type:"exp",left:null,operator:null,right:null,...t||{}}};return h.updateItem("conditionCache",n),void h.updateItem("conditionState","alert")}h.updateItem("conditionCache",g),h.updateItem("conditionState","edit")}},o[9]=S,o[10]=g,o[11]=i,o[12]=a,o[13]=h,o[14]=p,o[15]=z):z=o[15];const M=l(z);let j,N;o[16]!==M?(j=()=>{M()},o[16]=M,o[17]=j):j=o[17],o[18]===Symbol.for("react.memo_cache_sentinel")?(N=[],o[18]=N):N=o[18],s(j,N);const O=v?.expression,E=O?.left,L=O?.right;let R;o[19]!==O||o[20]!==v||o[21]!==h?(R=()=>{const e={...v,expression:{...O||{},type:"exp",left:O,operator:"&&",right:{type:"exp",operator:null,left:null,right:null}}};h.updateItem("conditionCache",e)},o[19]=O,o[20]=v,o[21]=h,o[22]=R):R=o[22];const F=R;let G;o[23]!==O||o[24]!==v||o[25]!==h?(G=e=>{const t="left"===e?"right":"left",n=O?.[t]??null,o=n?.left??null,i=o&&o.name?o.name:void 0;h.updateItem("conditionCache",{...v,expression:n,parameters:i?[i]:[]})},o[23]=O,o[24]=v,o[25]=h,o[26]=G):G=o[26];const H=G;if(r&&!v){let e;return o[27]===Symbol.for("react.memo_cache_sentinel")?(e=c(I,{sx:{pt:4,pl:2,pr:2,pb:4,backgroundColor:"background.default",justifyContent:"flex-start"},children:c(q,{children:"Nessuna condizione impostata"})}),o[27]=e):e=o[27],e}let $,Z;return o[28]===Symbol.for("react.memo_cache_sentinel")?($={pt:4,pl:2,pr:2,pb:4,backgroundColor:"background.default",justifyContent:"flex-start"},o[28]=$):$=o[28],o[29]!==k||o[30]!==F||o[31]!==O||o[32]!==v||o[33]!==E||o[34]!==i||o[35]!==a||o[36]!==h||o[37]!==r||o[38]!==H||o[39]!==L?.type?(Z=c(I,{sx:$,children:v?v.id===i.id?c(J,{question:i,itemCondition:v,setItemCondition:e=>h.updateItem("conditionCache",e),readonlyMode:r}):u(d,!O||null!==O?.right&&"v"!==L?.type?{children:[c(U,{question:i,itemCondition:v,setItemCondition:e=>h.updateItem("conditionCache",e),path:"left",readonlyMode:r}),A(i)!==D.alert.type&&u(C,{fullWidth:!1,variant:"contained",color:"secondary",onClick:()=>H("left"),disabled:r,sx:{mt:2,mb:2},children:[c(P,{size:20}),c(q,{sx:{pl:1},children:"Rimuovi condizione"})]}),c(w,{}),u(_,{title:"Seleziona operatore",defaultValue:"",size:"small",value:O?.operator,disabled:r,onChange:async e=>{e.preventDefault();const t={...v,expression:{...O||{},operator:e.target.value}};h.updateItem("conditionCache",t)},sx:{backgroundColor:"background.default",mt:2,mb:1},children:[c(V,{value:"&&",children:"E"},"and"),c(V,{value:"||",children:"Oppure"},"or")]}),c(U,{question:i,itemCondition:v,setItemCondition:e=>h.updateItem("conditionCache",e),path:"right",readonlyMode:r}),u(C,{sx:{mt:2},fullWidth:!1,variant:"contained",color:"secondary",onClick:()=>H("right"),disabled:r,children:[c(P,{size:20}),c(q,{sx:{pl:1},children:"Rimuovi condizione"})]})]}:{children:[c(J,{question:i,itemCondition:v,setItemCondition:e=>h.updateItem("conditionCache",e),readonlyMode:r}),A(i)!==D.alert.type&&u(C,{fullWidth:!1,variant:"contained",color:"secondary",onClick:async()=>{h.updateItem("conditionCache",null),h.updateItem("conditionState","remove")},disabled:r,sx:{mt:2},children:[c(P,{size:20}),c(q,{sx:{pl:1},children:"Rimuovi condizione"})]}),u(I,{sx:{mt:2},children:[c(w,{}),u(C,{fullWidth:!1,variant:"contained",color:"primary",sx:{mt:2},disabled:!E||r,onClick:F,children:[c(T,{size:20}),c(q,{sx:{ml:1},children:"Aggiungi condizione"})]})]})]}):u(C,{fullWidth:!1,variant:"contained",color:"primary",onClick:()=>k(i,a),disabled:r,children:[c(T,{size:20}),c(q,{sx:{ml:1},children:"Aggiungi condizione"})]})}),o[29]=k,o[30]=F,o[31]=O,o[32]=v,o[33]=E,o[34]=i,o[35]=a,o[36]=h,o[37]=r,o[38]=H,o[39]=L?.type,o[40]=Z):Z=o[40],Z},he=t=>{const n=e(40),{question:o,handleOnSave:i,handleOnCancel:a,blurAllForms:r,isDisabled:l,readonlyMode:d}=t,p=m();let f,h,g;n[0]!==r||n[1]!==i||n[2]!==l?(f=()=>{const e=async e=>{"Enter"!==e.key||l||(r(),await i())};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},h=[r,i,l],n[0]=r,n[1]=i,n[2]=l,n[3]=f,n[4]=h):(f=n[3],h=n[4]),s(f,h),n[5]!==o?(g=o instanceof y||D.multipleSelect.type===A(o)||D.autocomplete.type===A(o)||D.fileUpload.type===A(o),n[5]=o,n[6]=g):g=n[6];const b=g;let v;n[7]!==o||n[8]!==p?(v=D.multipleSelect.type!==A(o)&&A(o)!==D.autocomplete.type||!o.items.length?p.getQuestionValue("options.required"):p.getQuestionValue("layout.required"),n[7]=o,n[8]=p,n[9]=v):v=n[9];const x=v;let I;n[10]!==o||n[11]!==p||n[12]!==d?(I=async e=>{d||(D.multipleSelect.type!==A(o)&&A(o)!==D.autocomplete.type||!o.items.length?p.updateItem("options.required",e.target.checked):p.updateItem("layout.required",e.target.checked))},n[10]=o,n[11]=p,n[12]=d,n[13]=I):I=n[13];const w=I;let V,_,M,q,j;n[14]===Symbol.for("react.memo_cache_sentinel")?(V={width:"100%",flexWrap:"nowrap",justifyContent:"space-between",alignItems:"center",p:2},n[14]=V):V=n[14],n[15]!==b||n[16]!==x||n[17]!==w||n[18]!==d?(_=b&&c(Q,{label:"Obbligatorio",control:c(S,{checked:x,onChange:w}),disabled:d}),n[15]=b,n[16]=x,n[17]=w,n[18]=d,n[19]=_):_=n[19],n[20]===Symbol.for("react.memo_cache_sentinel")?(M={justifyContent:"flex-end",width:"100%",alignItems:"center"},n[20]=M):M=n[20],n[21]!==r?(q=()=>r(),n[21]=r,n[22]=q):q=n[22],n[23]!==a?(j=()=>a(),n[23]=a,n[24]=j):j=n[24];const N=d?"Chiudi":"Annulla";let O,E,P,T;return n[25]!==N||n[26]!==q||n[27]!==j?(O=c(C,{variant:"outlined",color:"secondary",onMouseDown:q,onMouseUp:j,children:N}),n[25]=N,n[26]=q,n[27]=j,n[28]=O):O=n[28],n[29]!==r||n[30]!==i||n[31]!==l||n[32]!==d?(E=!d&&c(C,{variant:"contained",color:"primary",className:"save",disabled:l,onMouseDown:()=>r(),onMouseUp:()=>i(),children:"Salva"}),n[29]=r,n[30]=i,n[31]=l,n[32]=d,n[33]=E):E=n[33],n[34]!==O||n[35]!==E?(P=u(z,{direction:"row",spacing:1,sx:M,children:[O,E]}),n[34]=O,n[35]=E,n[36]=P):P=n[36],n[37]!==P||n[38]!==_?(T=u(k,{container:!0,sx:V,children:[_,P]}),n[37]=P,n[38]=_,n[39]=T):T=n[39],T};export{G as CommonQuestionEditor};
1
+ import{c as e}from"react/compiler-runtime";import{useFormStateContext as t}from"../../providers/common/FormStateProvider.js";import{useEditorStateContext as n}from"../../providers/editor/EditorStateProvider.js";import{useGetCurrentQuestionEdit as o,useSetQuestionEdit as i}from"../../providers/editor/QuestionEditProvider.js";import r,{startTransition as a,useEffectEvent as l,useEffect as c}from"react";import{jsx as s,jsxs as d,Fragment as u}from"react/jsx-runtime";import{useQuestionStateContext as m}from"../../providers/editor/QuestionStateProvider.js";import{useTabStateContext as p}from"../../providers/editor/TabStateProvider.js";import{ItemConditional as f,QuestionSelect as h,Question as y}from"@famalabs/survey";import g from"@mui/lab/TabContext";import x from"@mui/lab/TabList";import b from"@mui/lab/TabPanel";import v from"@mui/material/Badge";import S from"@mui/material/Box";import I from"@mui/material/Button";import w from"@mui/material/Checkbox";import C from"@mui/material/Divider";import _ from"@mui/material/FormControlLabel";import k from"@mui/material/Grid";import Q from"@mui/material/MenuItem";import V from"@mui/material/Select";import z from"@mui/material/Stack";import j from"@mui/material/Tab";import M from"@mui/material/Typography";import q from"lodash-es/isEqual";import{Pencil as N,Network as O,Settings as W,Trash2 as E,PlusCircle as P}from"lucide-react";import{getMapType as T,Mapper as A,getDefaultData as D}from"../../utils/config-map.js";import{getLocaleItemTypeId as B}from"../../utils/locale.js";import{formatName as L}from"../../utils/format-utils.js";import{ConditionParser as F}from"../../utils/parsers/ConditionParser.js";import{LegacyConditionParser as H}from"../../utils/parsers/LegacyConditionParser.js";import{QuestionGeneralEdit as J}from"../common/CommonEditor.js";import{EditSimpleExpression as R,EditComplexExpression as $}from"../question_forms/ItemConditionalEditor.js";function G(t){const l=e(140),{index:c,question:y,contentEdit:I,contentOptions:w,contentLayout:_,readonlyMode:k}=t,Q=void 0!==k&&k,{editorState:V,navigationState:E}=n(),P=m(),D=o(),R=i(),{currentEditTab:$,setCurrentEditTab:G}=p();let ie;l[0]!==G?(ie=(e,t)=>{a(()=>{G(t)})},l[0]=G,l[1]=ie):ie=l[1];const ge=ie;let xe;l[2]!==P?(xe=P.getQuestionValue("options.min"),l[2]=P,l[3]=xe):xe=l[3];const be=xe;let ve;l[4]!==P?(ve=P.getQuestionValue("options.max"),l[4]=P,l[5]=ve):ve=l[5];const Se=ve;let Ie;l[6]!==P?(Ie=P.getQuestionValue("options.step"),l[6]=P,l[7]=Ie):Ie=l[7];const we=Boolean(be||Se||Ie);let Ce;l[8]!==y?(Ce=T(y),l[8]=y,l[9]=Ce):Ce=l[9];const _e=Ce===A.section.type;let ke,Qe,Ve,ze;if(l[10]!==y||l[11]!==P){let e,t;Ve=T(y),l[16]!==P?(e=(P.getQuestionValue("text")??"").trim(),l[16]=P,l[17]=e):e=l[17],Qe=e,l[18]!==P?(t=(P.getQuestionValue("name")??"").trim(),l[18]=P,l[19]=t):t=l[19],ke=t,ze=B(Ve),l[10]=y,l[11]=P,l[12]=ke,l[13]=Qe,l[14]=Ve,l[15]=ze}else ke=l[12],Qe=l[13],Ve=l[14],ze=l[15];const je=ze,Me=Qe.length>0?Qe:je;let qe;l[20]!==y?(qe=y instanceof f?y:y.parent()instanceof f?y.parent():null,l[20]=y,l[21]=qe):qe=l[21];const Ne=qe,Oe=r.useRef(null);let We;l[22]===Symbol.for("react.memo_cache_sentinel")?(We=()=>{if(Oe.current){const e=Oe.current.querySelectorAll("input, textarea");e.length>0&&e.forEach(fe)}},l[22]=We):We=l[22];const Ee=We;let Pe;l[23]!==D.isNew||l[24]!==y||l[25]!==P?(Pe=()=>{const e=T(y),t=P.getQuestionValue("text")||"",n=e===A.cond.type||e===A.section.type||Boolean(t&&t.length>0);if(!n)return!1;if(y instanceof h){const e=P.getQuestionValue("options.select")??[];if(!e||0===e.length)return!1;const t=e.map(pe);if(t.includes("")||t.some(me))return!1;const n=e.map(ue);if(n.length!==new Set(n).size)return!1}if(e===A.date.type){const e=P.getQuestionValue("options.min"),t=P.getQuestionValue("options.max");if(e&&t){if(new Date(e)>new Date(t))return!1}}if("list"===y.type){const e=P.getQuestionValue("options.source")||"";return Boolean(e&&e.length>0)}if(e===A.multipleSelect.type||e===A.autocomplete.type){const e=(P.getQuestionValue("items")??[]).filter(de);if(!e||0===e.length)return!1;const t=e.map(se);if(t.includes("")||t.some(ce))return!1;if(t.length!==new Set(t).size)return!1}if(e===A.selectTable.type){const e=(P.getQuestionValue("items")??[]).filter(le);if(!e||0===e.length)return!1;const t=e.map(ae);if(t.includes("")||t.some(re))return!1;if(t.length!==new Set(t).size)return!1}if(e===A.fn.type){return(P.getQuestionValue("parameters")??[]).length>=2}if(D.isNew&&(e===A.alert.type||e===A.cond.type)){const e=P.getQuestionValue("conditionCache")?.expression,t=e?.right;return"exp"===t?.type?null!=t.right:null!=t?.value}return e===A.section.type||n},l[23]=D.isNew,l[24]=y,l[25]=P,l[26]=Pe):Pe=l[26];const Te=Pe;let Ae;l[27]!==V||l[28]!==y||l[29]!==P?(Ae=async()=>{const e=V.getLatestId(),t=oe,n=P.getQuestionValue("layout.required"),o=(P.getQuestionValue("items")??[]).filter(ne),i=y.items?.filter(te).map(ee)||[],r=o.filter(Y).map(e=>{const t=i.find(t=>t.id===e.id);return t?{...t,name:e.name||t.name,text:e.text||t.text}:e}),a=o?.find(X),l=a?{...a,type:"fn",fn:"Sum",text:"Numero selezionati",layout:{visibility:0},parameters:r.map(K)}:{id:(e+r.length+1).toString(),type:"fn",fn:"Sum",text:"Numero selezionati",layout:{visibility:0},parameters:r.map(Z)},c=o?.find(U),s=c?{...c,parameters:[l.id],condition:`($${l.id}<1)`}:{id:(e+r.length+2).toString(),type:"cond",parameters:[l.id],condition:`($${l.id}<1)`};if(n){const e=H(s);if(!e)return;await V.replaceItem(y,{...P.value,items:t([l,e,...r])},"full")}else!P.getQuestionValue("layout.required")&&s&&await V.replaceItem(y,{...P.value,items:t([l,...r])},"full")},l[27]=V,l[28]=y,l[29]=P,l[30]=Ae):Ae=l[30];const De=Ae;let Be;l[31]!==V||l[32]!==y||l[33]!==P.value?(Be=async()=>{await V.replaceItem(y,{...P.value},"full")},l[31]=V,l[32]=y,l[33]=P.value,l[34]=Be):Be=l[34];const Le=Be;let Fe;l[35]!==V||l[36]!==Ne||l[37]!==E||l[38]!==y||l[39]!==P?(Fe=async()=>{const e=P.getQuestionValue("conditionCache"),t=e?F(e):null,n=P.getQuestionValue("conditionState")??"",o=E.getItem(y.id)?.localIndex??-1;e:switch(n){case"new":{const e=await V.addQuestion(A.cond.type,y.parent().id,o+1,void 0,"silent");await V.updateItem(e,void 0,t,"silent"),await V.moveItem(y,0,e.id,"silent"),P.updateItem("conditionState","edit");break e}case"alert":{const e=await V.addQuestion(A.alert.type,y.parent().id,o+1,void 0,"silent");await V.updateItem(e,void 0,{...t,text:P.getQuestionValue("text"),description:P.getQuestionValue("description")||"",name:P.getQuestionValue("name")||L(P.getQuestionValue("text"))},"silent"),await V.removeItem(y),P.updateItem("conditionState","edit");break e}case"edit":if(!Ne)return;if(q(t,Ne.toJSON())||null===t)return;T(Ne)===A.alert.type?await V.replaceItem(Ne,t,"silent"):await V.updateItem(Ne,void 0,t,"silent"),P.updateItem("conditionState","edit");break e;case"remove":if(!Ne)return;await V.moveItem(y,Ne.parent().items.indexOf(Ne),Ne.parent().id,"silent"),await V.removeItem(Ne,"silent"),P.updateItem("conditionState","new")}},l[35]=V,l[36]=Ne,l[37]=E,l[38]=y,l[39]=P,l[40]=Fe):Fe=l[40];const He=Fe;let Je;l[41]!==V||l[42]!==P?(Je=async e=>{const t=P.getQuestionValue("text"),n=P.getQuestionValue("description"),o=P.getQuestionValue("name"),i=L(t);P.updateItem("name",o||i),await V.updateItem(e,void 0,{...P.value,text:t,description:n||"",name:o||i},"full")},l[41]=V,l[42]=P,l[43]=Je):Je=l[43];const Re=Je;let $e;l[44]!==V||l[45]!==He||l[46]!==Te||l[47]!==De||l[48]!==y||l[49]!==Q||l[50]!==R||l[51]!==Le||l[52]!==Re?($e=async()=>{Te()&&!Q&&(T(y)===A.multipleSelect.type||T(y)===A.autocomplete.type?await De():T(y)===A.selectTable.type&&await Le(),await He(),await Re(y),R({id:"",isNew:!1}),await V.createHistorySnapshot())},l[44]=V,l[45]=He,l[46]=Te,l[47]=De,l[48]=y,l[49]=Q,l[50]=R,l[51]=Le,l[52]=Re,l[53]=$e):$e=l[53];const Ge=$e;let Ue;l[54]!==D.isNew||l[55]!==V||l[56]!==y||l[57]!==P||l[58]!==R?(Ue=async()=>{D.isNew&&await V.removeItem(y),R({id:"",isNew:!1}),P.updateItem(null,y.toJSON())},l[54]=D.isNew,l[55]=V,l[56]=y,l[57]=P,l[58]=R,l[59]=Ue):Ue=l[59];const Ze=Ue;let Ke,Xe,Ye,et;l[60]===Symbol.for("react.memo_cache_sentinel")?(Ke={borderRadius:3,bgcolor:"background.paper",boxShadow:"rgba(25, 25, 25, 0.09) 0px 0px 0px 3px",border:"1px solid rgba(25, 25, 25, 0.15)",minHeight:"20vh",overflow:"hidden"},l[60]=Ke):Ke=l[60],l[61]===Symbol.for("react.memo_cache_sentinel")?(Xe={position:"sticky",top:0,zIndex:3,backgroundColor:"background.paper",borderBottom:1,borderColor:"divider"},l[61]=Xe):Xe=l[61],l[62]===Symbol.for("react.memo_cache_sentinel")?(Ye={p:2,alignItems:"center"},l[62]=Ye):Ye=l[62],l[63]===Symbol.for("react.memo_cache_sentinel")?(et={width:34,height:34,display:"flex",alignItems:"center",justifyContent:"center",flex:"0 0 auto"},l[63]=et):et=l[63];const tt=A[Ve];let nt,ot,it;l[64]!==tt.icon?(nt=s(S,{sx:et,children:tt.icon}),l[64]=tt.icon,l[65]=nt):nt=l[65],l[66]===Symbol.for("react.memo_cache_sentinel")?(ot={minWidth:0,flex:1},l[66]=ot):ot=l[66],l[67]===Symbol.for("react.memo_cache_sentinel")?(it={alignItems:"center",minWidth:0,justifyContent:"flex-start"},l[67]=it):it=l[67];const rt=ke?"clamp(240px, 55vw, 820px)":"clamp(280px, 70vw, 980px)";let at,lt,ct,st,dt,ut,mt;l[68]!==rt?(at={minWidth:0,flexGrow:0,flexShrink:1,maxWidth:rt},l[68]=rt,l[69]=at):at=l[69],l[70]!==Me||l[71]!==at?(lt=s(M,{variant:"body1",sx:at,noWrap:!0,children:Me}),l[70]=Me,l[71]=at,l[72]=lt):lt=l[72],l[73]!==ke?(ct=ke?d(u,{children:[s(C,{orientation:"vertical",flexItem:!0,sx:{opacity:.6,mx:.25}}),s(M,{variant:"caption",sx:{flex:"0 0 auto",maxWidth:"18ch"},noWrap:!0,children:`#${ke}`})]}):null,l[73]=ke,l[74]=ct):ct=l[74],l[75]!==lt||l[76]!==ct?(st=s(S,{sx:ot,children:d(z,{direction:"row",spacing:1,sx:it,children:[lt,ct]})}),l[75]=lt,l[76]=ct,l[77]=st):st=l[77],l[78]!==nt||l[79]!==st?(dt=d(z,{direction:"row",spacing:2,sx:Ye,children:[nt,st]}),l[78]=nt,l[79]=st,l[80]=dt):dt=l[80],l[81]===Symbol.for("react.memo_cache_sentinel")?(ut={justifyContent:"center",minHeight:44},l[81]=ut):ut=l[81],l[82]===Symbol.for("react.memo_cache_sentinel")?(mt=s(N,{size:20}),l[82]=mt):mt=l[82];const pt="main"===$?"MODIFICA":null;let ft,ht,yt;l[83]===Symbol.for("react.memo_cache_sentinel")?(ft={minHeight:44},l[83]=ft):ft=l[83],l[84]!==pt?(ht=s(j,{"aria-label":"tab-main-panel",icon:mt,iconPosition:"start",label:pt,value:"main",sx:ft}),l[84]=pt,l[85]=ht):ht=l[85],l[86]!==Ne?(yt=Ne?s(v,{color:"secondary",badgeContent:"",variant:"dot",children:s(O,{size:20})}):s(O,{size:20}),l[86]=Ne,l[87]=yt):yt=l[87];const gt="condition"===$?"LOGICA":null;let xt,bt,vt,St,It,wt,Ct,_t,kt,Qt;l[88]===Symbol.for("react.memo_cache_sentinel")?(xt={minHeight:44},l[88]=xt):xt=l[88],l[89]!==yt||l[90]!==gt?(bt=s(j,{"aria-label":"tab-condition-panel",icon:yt,iconPosition:"start",label:gt,value:"condition",sx:xt}),l[89]=yt,l[90]=gt,l[91]=bt):bt=l[91],l[92]!==$||l[93]!==we||l[94]!==_e?(vt=!_e&&s(j,{"aria-label":"tab-options-panel",className:"optionsTab",icon:we?s(v,{color:"secondary",badgeContent:"",variant:"dot",children:s(W,{size:20})}):s(W,{size:20}),iconPosition:"start",label:"options"===$?"OPZIONI":null,value:"options",sx:{minHeight:44}}),l[92]=$,l[93]=we,l[94]=_e,l[95]=vt):vt=l[95],l[96]!==ge||l[97]!==ht||l[98]!==bt||l[99]!==vt?(St=d(x,{onChange:ge,variant:"fullWidth",sx:ut,children:[ht,bt,vt]}),l[96]=ge,l[97]=ht,l[98]=bt,l[99]=vt,l[100]=St):St=l[100],l[101]!==dt||l[102]!==St?(It=d(S,{sx:Xe,children:[dt,St]}),l[101]=dt,l[102]=St,l[103]=It):It=l[103],l[104]===Symbol.for("react.memo_cache_sentinel")?(wt={p:0},l[104]=wt):wt=l[104],l[105]!==y||l[106]!==Q?(Ct=s(J,{item:y,readonlyMode:Q}),l[105]=y,l[106]=Q,l[107]=Ct):Ct=l[107],l[108]!==I?(_t=I&&d(u,{children:[s(C,{textAlign:"left"}),I]}),l[108]=I,l[109]=_t):_t=l[109],l[110]!==Ct||l[111]!==_t?(kt=s(b,{ref:Oe,"aria-label":"tab-main-panel",value:"main",keepMounted:!0,sx:wt,children:d(S,{children:[Ct,_t]})}),l[110]=Ct,l[111]=_t,l[112]=kt):kt=l[112],l[113]===Symbol.for("react.memo_cache_sentinel")?(Qt={p:0},l[113]=Qt):Qt=l[113];const Vt=parseInt(c);let zt,jt,Mt,qt,Nt,Ot;l[114]!==y||l[115]!==Q||l[116]!==Vt?(zt=s(b,{value:"condition",keepMounted:!0,"aria-label":"tab-condition-panel",sx:Qt,children:s(he,{question:y,questionIndex:Vt,readonlyMode:Q})}),l[114]=y,l[115]=Q,l[116]=Vt,l[117]=zt):zt=l[117],l[118]===Symbol.for("react.memo_cache_sentinel")?(jt={px:3,py:2,backgroundColor:"background.default"},l[118]=jt):jt=l[118],l[119]!==w?(Mt=s(b,{ref:Oe,keepMounted:!0,"aria-label":"tab-options-panel",value:"options",sx:jt,children:w}),l[119]=w,l[120]=Mt):Mt=l[120],l[121]===Symbol.for("react.memo_cache_sentinel")?(qt={p:0},l[121]=qt):qt=l[121],l[122]!==_?(Nt=s(b,{"aria-label":"tab-layout-panel",keepMounted:!0,value:"layout",sx:qt,children:_}),l[122]=_,l[123]=Nt):Nt=l[123],l[124]!==$||l[125]!==It||l[126]!==kt||l[127]!==zt||l[128]!==Mt||l[129]!==Nt?(Ot=d(g,{value:$,children:[It,kt,zt,Mt,Nt]}),l[124]=$,l[125]=It,l[126]=kt,l[127]=zt,l[128]=Mt,l[129]=Nt,l[130]=Ot):Ot=l[130];const Wt=!Te();let Et,Pt;return l[131]!==Ze||l[132]!==Ge||l[133]!==y||l[134]!==Q||l[135]!==Wt?(Et=s(ye,{question:y,handleOnSave:Ge,handleOnCancel:Ze,isDisabled:Wt,blurAllForms:Ee,readonlyMode:Q}),l[131]=Ze,l[132]=Ge,l[133]=y,l[134]=Q,l[135]=Wt,l[136]=Et):Et=l[136],l[137]!==Ot||l[138]!==Et?(Pt=d(z,{sx:Ke,children:[Ot,Et]}),l[137]=Ot,l[138]=Et,l[139]=Pt):Pt=l[139],Pt}function U(e){return T(e)===A.cond.type}function Z(e){return e.id}function K(e){return e.id}function X(e){return T(e)===A.fn.type}function Y(e){return T(e)===A.check.type}function ee(e){return e.toJSON()}function te(e){return T(e)===A.check.type}function ne(e,t,n){return n.findIndex(t=>t.id===e.id)===t}function oe(e){return e&&0!==e.length?e.map(ie):[]}function ie(e){return T(e)===A.cond.type?F(e):e}function re(e){return!e}function ae(e){return e.text}function le(e){return e.type!==A.fn.type&&e.type!==A.cond.type}function ce(e){return!e}function se(e){return e.text}function de(e){return e.type!==A.fn.type&&e.type!==A.cond.type}function ue(e){return e.score}function me(e){return!e}function pe(e){return e.text}function fe(e){return e.blur()}const he=o=>{const i=e(52),{question:r,questionIndex:a,readonlyMode:p}=o,{editorState:h}=n(),{stageMutation:y}=t(),g=m();let x;i[0]!==r?(x=r instanceof f?H(r):r.parent()instanceof f?H(r.parent()):void 0,i[0]=r,i[1]=x):x=i[1];const b=x;let v;i[2]!==r?(v=r instanceof f?r:r.parent()instanceof f?r.parent():void 0,i[2]=r,i[3]=v):v=i[3];const w=v;let _;i[4]!==h||i[5]!==b||i[6]!==r||i[7]!==w||i[8]!==g?(_=async()=>{if(!b&&w){if(H(w))return;console.error("Fixing broken condition:",w.toJSON()),await h.moveItem(r,w.parent().items.indexOf(w),w.parent().id,"silent"),await h.removeItem(w,"full"),g.updateItem("conditionState","new")}},i[4]=h,i[5]=b,i[6]=r,i[7]=w,i[8]=g,i[9]=_):_=i[9];const k=l(_);let z,j,q;i[10]!==k?(z=()=>{k()},i[10]=k,i[11]=z):z=i[11],i[12]===Symbol.for("react.memo_cache_sentinel")?(j=[],i[12]=j):j=i[12],c(z,j),i[13]!==g?(q=g.getQuestionValue("conditionState"),i[13]=g,i[14]=q):q=i[14];const N=q;let O;i[15]!==g?(O=g.getQuestionValue("conditionCache"),i[15]=g,i[16]=O):O=i[16];const W=O;let B;i[17]!==g||i[18]!==y?(B=(e,t)=>{const n=y(n=>n.add(e.parent().id,{...D(A.cond.type)},t??-1));if(!n)return;y(e=>e.remove(n.id));const o={...n.toJSON(),expression:{type:"exp",left:null,operator:null,right:null}};g.updateItem("conditionCache",o),g.updateItem("conditionState","new")},i[17]=g,i[18]=y,i[19]=B):B=i[19];const L=B;let F;i[20]!==N||i[21]!==b||i[22]!==r||i[23]!==a||i[24]!==g||i[25]!==y?(F=()=>{if(b){if(T(r)===A.alert.type&&!N){const e=y(e=>e.add(r.parent().id,{...D(A.alert.type),...g.value},a??-1));if(!e)return;y(t=>t.remove(e.id));const t=b?.expression,n={...e.toJSON(),expression:{type:"exp",left:null,operator:null,right:null,...t||{}}};return g.updateItem("conditionCache",n),void g.updateItem("conditionState","alert")}g.updateItem("conditionCache",b),g.updateItem("conditionState","edit")}},i[20]=N,i[21]=b,i[22]=r,i[23]=a,i[24]=g,i[25]=y,i[26]=F):F=i[26];const J=l(F);let G,U;i[27]!==J?(G=()=>{J()},i[27]=J,i[28]=G):G=i[28],i[29]===Symbol.for("react.memo_cache_sentinel")?(U=[],i[29]=U):U=i[29],c(G,U);const Z=W?.expression,K=Z?.left,X=Z?.right;let Y;i[30]!==Z||i[31]!==W||i[32]!==g?(Y=()=>{const e={...W,expression:{...Z||{},type:"exp",left:Z,operator:"&&",right:{type:"exp",operator:null,left:null,right:null}}};g.updateItem("conditionCache",e)},i[30]=Z,i[31]=W,i[32]=g,i[33]=Y):Y=i[33];const ee=Y;let te;i[34]!==Z||i[35]!==W||i[36]!==g?(te=e=>{const t="left"===e?"right":"left",n=Z?.[t],o=n?.left,i=o?.name?o.name:void 0;g.updateItem("conditionCache",{...W,expression:n,parameters:i?[i]:[]})},i[34]=Z,i[35]=W,i[36]=g,i[37]=te):te=i[37];const ne=te;if(p&&!W){let e;return i[38]===Symbol.for("react.memo_cache_sentinel")?(e=s(S,{sx:{pt:4,pl:2,pr:2,pb:4,backgroundColor:"background.default",justifyContent:"flex-start"},children:s(M,{children:"Nessuna condizione impostata"})}),i[38]=e):e=i[38],e}let oe,ie;return i[39]===Symbol.for("react.memo_cache_sentinel")?(oe={pt:4,pl:2,pr:2,pb:4,backgroundColor:"background.default",justifyContent:"flex-start"},i[39]=oe):oe=i[39],i[40]!==L||i[41]!==ee||i[42]!==Z||i[43]!==W||i[44]!==K||i[45]!==r||i[46]!==a||i[47]!==g||i[48]!==p||i[49]!==ne||i[50]!==X?.type?(ie=s(S,{sx:oe,children:W?W.id===r.id?s(R,{question:r,itemCondition:W,setItemCondition:e=>g.updateItem("conditionCache",e),readonlyMode:p}):d(u,!Z||null!==Z?.right&&"v"!==X?.type?{children:[s($,{question:r,itemCondition:W,setItemCondition:e=>g.updateItem("conditionCache",e),path:"left",readonlyMode:p}),T(r)!==A.alert.type&&d(I,{fullWidth:!1,variant:"contained",color:"secondary",onClick:()=>ne("left"),disabled:p,sx:{mt:2,mb:2},children:[s(E,{size:20}),s(M,{sx:{pl:1},children:"Rimuovi condizione"})]}),s(C,{}),d(V,{title:"Seleziona operatore",defaultValue:"",size:"small",value:Z?.operator,disabled:p,onChange:async e=>{e.preventDefault();const t={...W,expression:{...Z||{},operator:e.target.value}};g.updateItem("conditionCache",t)},sx:{backgroundColor:"background.default",mt:2,mb:1},children:[s(Q,{value:"&&",children:"E"},"and"),s(Q,{value:"||",children:"Oppure"},"or")]}),s($,{question:r,itemCondition:W,setItemCondition:e=>g.updateItem("conditionCache",e),path:"right",readonlyMode:p}),d(I,{sx:{mt:2},fullWidth:!1,variant:"contained",color:"secondary",onClick:()=>ne("right"),disabled:p,children:[s(E,{size:20}),s(M,{sx:{pl:1},children:"Rimuovi condizione"})]})]}:{children:[s(R,{question:r,itemCondition:W,setItemCondition:e=>g.updateItem("conditionCache",e),readonlyMode:p}),T(r)!==A.alert.type&&d(I,{fullWidth:!1,variant:"contained",color:"secondary",onClick:async()=>{g.updateItem("conditionCache",null),g.updateItem("conditionState","remove")},disabled:p,sx:{mt:2},children:[s(E,{size:20}),s(M,{sx:{pl:1},children:"Rimuovi condizione"})]}),d(S,{sx:{mt:2},children:[s(C,{}),d(I,{fullWidth:!1,variant:"contained",color:"primary",sx:{mt:2},disabled:!K||p,onClick:ee,children:[s(P,{size:20}),s(M,{sx:{ml:1},children:"Aggiungi condizione"})]})]})]}):d(I,{fullWidth:!1,variant:"contained",color:"primary",onClick:()=>L(r,a),disabled:p,children:[s(P,{size:20}),s(M,{sx:{ml:1},children:"Aggiungi condizione"})]})}),i[40]=L,i[41]=ee,i[42]=Z,i[43]=W,i[44]=K,i[45]=r,i[46]=a,i[47]=g,i[48]=p,i[49]=ne,i[50]=X?.type,i[51]=ie):ie=i[51],ie},ye=t=>{const n=e(44),{question:o,handleOnSave:i,handleOnCancel:r,blurAllForms:a,isDisabled:l,readonlyMode:u}=t,p=m();let f,h,g;n[0]!==a||n[1]!==i||n[2]!==l?(f=()=>{const e=async e=>{"Enter"!==e.key||l||(a(),await i())};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},h=[a,i,l],n[0]=a,n[1]=i,n[2]=l,n[3]=f,n[4]=h):(f=n[3],h=n[4]),c(f,h),n[5]!==o?(g=o instanceof y||A.multipleSelect.type===T(o)||A.autocomplete.type===T(o)||A.fileUpload.type===T(o),n[5]=o,n[6]=g):g=n[6];const x=g;let b;n[7]!==o||n[8]!==p?(b=A.multipleSelect.type!==T(o)&&T(o)!==A.autocomplete.type||!o.items.length?p.getQuestionValue("options.required"):p.getQuestionValue("layout.required"),n[7]=o,n[8]=p,n[9]=b):b=n[9];const v=b;let S;n[10]!==o||n[11]!==p||n[12]!==u?(S=async e=>{u||(A.multipleSelect.type!==T(o)&&T(o)!==A.autocomplete.type||!o.items.length?p.updateItem("options.required",e.target.checked):p.updateItem("layout.required",e.target.checked))},n[10]=o,n[11]=p,n[12]=u,n[13]=S):S=n[13];const C=S;let Q,V;if(n[14]!==p){const e=p.getQuestionValue("conditionCache"),t=e?.expression,o=e=>{if(!e||"exp"!==e.type)return!1;const t=e=>{if(!e||"object"!=typeof e)return!0;const t=e,n=t.type;if("p"===n)return"string"!=typeof t.name||0===t.name.trim().length;if("v"===n){const e=t.value;return null==e||""===e}return"exp"===n&&o(e)};return!e.operator||(!!t(e.left)||!!t(e.right))};Q=Boolean,V=e&&o(t),n[14]=p,n[15]=Q,n[16]=V}else Q=n[15],V=n[16];const j=Q(V);let M,q,N,O,W;n[17]===Symbol.for("react.memo_cache_sentinel")?(M={width:"100%",flexWrap:"nowrap",justifyContent:"space-between",alignItems:"center",p:2},n[17]=M):M=n[17],n[18]!==x||n[19]!==v||n[20]!==C||n[21]!==u?(q=x&&s(_,{label:"Obbligatorio",control:s(w,{checked:v,onChange:C}),disabled:u}),n[18]=x,n[19]=v,n[20]=C,n[21]=u,n[22]=q):q=n[22],n[23]===Symbol.for("react.memo_cache_sentinel")?(N={justifyContent:"flex-end",width:"100%",alignItems:"center"},n[23]=N):N=n[23],n[24]!==a?(O=()=>a(),n[24]=a,n[25]=O):O=n[25],n[26]!==r?(W=()=>r(),n[26]=r,n[27]=W):W=n[27];const E=u?"Chiudi":"Annulla";let P,D,B,L;return n[28]!==O||n[29]!==W||n[30]!==E?(P=s(I,{variant:"outlined",color:"secondary",onMouseDown:O,onMouseUp:W,children:E}),n[28]=O,n[29]=W,n[30]=E,n[31]=P):P=n[31],n[32]!==a||n[33]!==i||n[34]!==l||n[35]!==j||n[36]!==u?(D=!u&&s(I,{variant:"contained",color:"primary",className:"save",disabled:l||j,onMouseDown:()=>a(),onMouseUp:()=>i(),children:"Salva"}),n[32]=a,n[33]=i,n[34]=l,n[35]=j,n[36]=u,n[37]=D):D=n[37],n[38]!==P||n[39]!==D?(B=d(z,{direction:"row",spacing:1,sx:N,children:[P,D]}),n[38]=P,n[39]=D,n[40]=B):B=n[40],n[41]!==B||n[42]!==q?(L=d(k,{container:!0,sx:M,children:[q,B]}),n[41]=B,n[42]=q,n[43]=L):L=n[43],L};export{G as CommonQuestionEditor};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{useFormStateContext as o}from"../../providers/common/FormStateProvider.js";import"react";import{jsx as i,jsxs as r}from"react/jsx-runtime";import{useIsQuestionEditing as t}from"../../providers/editor/QuestionEditProvider.js";import{QuestionStateProvider as n}from"../../providers/editor/QuestionStateProvider.js";import{TabStateProvider as m}from"../../providers/editor/TabStateProvider.js";import l from"@mui/material/Box";import s from"@mui/material/Divider";import{Mapper as d,getMapType as a}from"../../utils/config-map.js";import"../../utils/locale.js";import"@famalabs/survey";import"acorn";import{RenderQuestionPreview as p}from"./QuestionPreviewRender.js";import{QuestionTypeEdit as c}from"./QuestionTypeEdit.js";import u from"@mui/material/Chip";const f=f=>{const v=e(23),{question:x,globalQuestionIndex:b}=f,{globalConfig:j}=o(),g=t(x?.id);if(!x)return null;let h;v[0]!==x?(h=x.parent()?.items.indexOf(x),v[0]=x,v[1]=h):h=v[1];const y=h;let q,Q;v[2]===Symbol.for("react.memo_cache_sentinel")?(q={borderRadius:"8px",marginTop:0},v[2]=q):q=v[2],v[3]!==b||v[4]!==x?(Q=d.section.type===a(x)&&i(s,{textAlign:"center",children:i(u,{label:`Inizio Sezione ${b}`,color:"default",size:"small"})}),v[3]=b,v[4]=x,v[5]=Q):Q=v[5];const S=`question-provider-${x.id}-${g?"edit":"view"}`;let z,P,I,$;return v[6]!==j||v[7]!==b||v[8]!==g||v[9]!==y||v[10]!==x?(z=g?i(m,{children:i(c,{index:b,question:x,readonlyMode:j.readonlyMode})}):i(p,{globalQuestionIndex:b,questionIndex:y,question:x}),v[6]=j,v[7]=b,v[8]=g,v[9]=y,v[10]=x,v[11]=z):z=v[11],v[12]!==x||v[13]!==S||v[14]!==z?(P=i(n,{question:x,children:z},S),v[12]=x,v[13]=S,v[14]=z,v[15]=P):P=v[15],v[16]!==b||v[17]!==x?(I=d.section.type===a(x)&&i(s,{textAlign:"center",children:i(u,{label:`Fine Sezione ${b}`,color:"default",size:"small"})}),v[16]=b,v[17]=x,v[18]=I):I=v[18],v[19]!==Q||v[20]!==P||v[21]!==I?($=r(l,{component:"div",sx:q,children:[Q,P,I]}),v[19]=Q,v[20]=P,v[21]=I,v[22]=$):$=v[22],$};export{f as QuestionEditorComponent};
1
+ import{c as e}from"react/compiler-runtime";import{useFormStateContext as o}from"../../providers/common/FormStateProvider.js";import"react";import{jsx as i,jsxs as r}from"react/jsx-runtime";import{useIsQuestionEditing as t}from"../../providers/editor/QuestionEditProvider.js";import{QuestionStateProvider as n}from"../../providers/editor/QuestionStateProvider.js";import{TabStateProvider as m}from"../../providers/editor/TabStateProvider.js";import l from"@mui/material/Box";import s from"@mui/material/Chip";import d from"@mui/material/Divider";import{Mapper as a,getMapType as p}from"../../utils/config-map.js";import"../../utils/locale.js";import"@famalabs/survey";import"acorn";import{RenderQuestionPreview as c}from"./QuestionPreviewRender.js";import{QuestionTypeEdit as u}from"./QuestionTypeEdit.js";const f=f=>{const v=e(23),{question:x,globalQuestionIndex:b}=f,{globalConfig:j}=o(),g=t(x?.id);if(!x)return null;let h;v[0]!==x?(h=x.parent()?.items.indexOf(x),v[0]=x,v[1]=h):h=v[1];const y=h;let q,Q;v[2]===Symbol.for("react.memo_cache_sentinel")?(q={borderRadius:"8px",marginTop:0},v[2]=q):q=v[2],v[3]!==b||v[4]!==x?(Q=a.section.type===p(x)&&i(d,{textAlign:"center",children:i(s,{label:`Inizio Sezione ${b}`,color:"default",size:"small"})}),v[3]=b,v[4]=x,v[5]=Q):Q=v[5];const S=`question-provider-${x.id}-${g?"edit":"view"}`;let z,P,I,$;return v[6]!==j||v[7]!==b||v[8]!==g||v[9]!==y||v[10]!==x?(z=g?i(m,{children:i(u,{index:b,question:x,readonlyMode:j.readonlyMode})}):i(c,{globalQuestionIndex:b,questionIndex:y,question:x}),v[6]=j,v[7]=b,v[8]=g,v[9]=y,v[10]=x,v[11]=z):z=v[11],v[12]!==x||v[13]!==S||v[14]!==z?(P=i(n,{question:x,children:z},S),v[12]=x,v[13]=S,v[14]=z,v[15]=P):P=v[15],v[16]!==b||v[17]!==x?(I=a.section.type===p(x)&&i(d,{textAlign:"center",children:i(s,{label:`Fine Sezione ${b}`,color:"default",size:"small"})}),v[16]=b,v[17]=x,v[18]=I):I=v[18],v[19]!==Q||v[20]!==P||v[21]!==I?($=r(l,{component:"div",sx:q,children:[Q,P,I]}),v[19]=Q,v[20]=P,v[21]=I,v[22]=$):$=v[22],$};export{f as QuestionEditorComponent};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{useFormStateContext as t}from"../../providers/common/FormStateProvider.js";import{useEditorStateContext as o}from"../../providers/editor/EditorStateProvider.js";import{useSetQuestionEdit as n}from"../../providers/editor/QuestionEditProvider.js";import i from"react";import{jsxs as r,Fragment as a,jsx as s}from"react/jsx-runtime";import{ItemConditional as c}from"@famalabs/survey";import l from"@mui/material/Box";import m from"@mui/material/Divider";import p from"@mui/material/Grid";import d from"@mui/material/Tooltip";import u from"@mui/material/Typography";import{Columns2 as y,Columns3 as f,Columns4 as v,GalleryVertical as h}from"lucide-react";import{Mapper as g,getMapType as b}from"../../utils/config-map.js";import{getLocaleItemTypeId as x}from"../../utils/locale.js";import"acorn";import{ItemHoverSymbols as S,AddQuestionMenu as w}from"../common/CommonEditor.js";import{RenderMoveModal as E,RenderDuplicateModal as M}from"../common/HierarchyEditor.js";import{RenderSectionEditModal as j}from"../containers/RenderSectionEditModal.js";import{QuestionTypePreview as I}from"./QuestionTypePreview.js";const C=[g.text.type,g.textArea.type,g.number.type,g.range.type,g.rating.type,g.switch.type,g.time.type,g.date.type,g.select.type,g.dropdown.type,g.multipleSelect.type,g.autocomplete.type,g.selectTable.type,g.alert.type,g.fn.type,g.sourceList.type,g.section.type],k=e=>s(l,{sx:{p:"2px",ml:1.5,marginY:"0.8px",color:"background.paper",backgroundColor:"text.primary",borderRadius:"3px",fontSize:"8px",fontWeight:"bold",alignSelf:"center",cursor:"default"},children:e}),T=T=>{const z=e(81),{globalQuestionIndex:N,question:O,questionIndex:_}=T,{globalConfig:q}=t(),{editorState:H}=o(),Q=q.readonlyMode,[P,G]=i.useState(!1),[L,B]=i.useState("none"),R=n();if(!O)return null;const V=O?.layout?.columns||1;let A;e:try{if(O instanceof c){A=O;break e}if(O.parent()instanceof c){let e;z[0]!==O?(e=O.parent(),z[0]=O,z[1]=e):e=z[1],A=e;break e}A=null}catch(D){const e=D;console.warn("Error checking item condition:",e),A=void 0}const Y=A;let D;z[2]!==H||z[3]!==O||z[4]!==_||z[5]!==R?(D=async e=>{if(void 0!==e){let t=_+1,o=O.parent();b(o)===g.cond.type&&(o=o.parent(),t=o.items.indexOf(O.parent())+1);const n=await H.addQuestion(e,o.id,t);if(!n)return;R({id:n.id,isNew:!0})}},z[2]=H,z[3]=O,z[4]=_,z[5]=R,z[6]=D):D=z[6];const $=D;let F;z[7]!==H||z[8]!==O?(F=async e=>{await H.schemaUpdate(O.parent(),e)},z[7]=H,z[8]=O,z[9]=F):F=z[9];const U=F;let W;z[10]!==O||z[11]!==R?(W=e=>{e.target instanceof HTMLButtonElement||e.target instanceof SVGElement||e.target instanceof HTMLParagraphElement||e.target instanceof HTMLSpanElement||b(O)===g.section.type||R({id:O.id,isNew:!1})},z[10]=O,z[11]=R,z[12]=W):W=z[12];const X=W;let J;z[13]!==O||z[14]!==R?(J=()=>{b(O)!==g.section.type&&R({id:O.id,isNew:!1})},z[13]=O,z[14]=R,z[15]=J):J=z[15];const K=J;let Z;e:{let e;try{e=O.parent()}catch(te){const e=te;console.warn("Error determining hover symbols variant:",e),Z="buttons";break e}b(e)===g.section.type&&e.layout?.columns>1?Z="dropdown":Z="buttons"}const ee=Z;let te;z[16]!==O||z[17]!==R?(te=()=>{b(O)===g.section.type?B("sectionEdit"):R({id:O.id,isNew:!1})},z[16]=O,z[17]=R,z[18]=te):te=z[18];const oe=te;let ne;z[19]!==Q?(ne=()=>{Q||B("move")},z[19]=Q,z[20]=ne):ne=z[20];const ie=ne;let re;z[21]!==Q?(re=()=>{Q||B("duplicate")},z[21]=Q,z[22]=re):re=z[22];const ae=re;let se;z[23]!==H||z[24]!==O||z[25]!==Q?(se=async()=>{Q||window.confirm("Vuoi eliminare questo campo?")&&(await H.removeItem(O),await H.createHistorySnapshot())},z[23]=H,z[24]=O,z[25]=Q,z[26]=se):se=z[26];const ce=se;let le;z[27]!==H||z[28]!==O||z[29]!==Q?(le=async()=>{Q||b(O)===g.section.type&&await H.changeQuestionType(O,g.page.type)},z[27]=H,z[28]=O,z[29]=Q,z[30]=le):le=z[30];const me=le;let pe;z[31]!==P?(pe=(e,t,o)=>P?s(d,{title:e,placement:void 0===o?"top":o,arrow:!0,children:t}):t,z[31]=P,z[32]=pe):pe=z[32];const de=pe;let ue,ye,fe,ve,he;var ge;let be,xe,Se,we,Ee;z[33]===Symbol.for("react.memo_cache_sentinel")?(ue=()=>G(!0),ye=()=>G(!1),z[33]=ue,z[34]=ye):(ue=z[33],ye=z[34]),z[35]===Symbol.for("react.memo_cache_sentinel")?(fe={padding:"12px",transition:"all 0.10s",borderRadius:"10px","&:hover":{backgroundColor:"rgba(20, 110, 245, 0.05)",cursor:"pointer"}},z[35]=fe):fe=z[35],z[36]===Symbol.for("react.memo_cache_sentinel")?(ve={justifyContent:"space-between",alignItems:"center",marginY:1,minHeight:40,visibility:"hidden",pointerEvents:"none",".MuiGrid-root:hover > &":{visibility:"visible",pointerEvents:"auto"}},z[36]=ve):ve=z[36],z[37]!==V||z[38]!==L||z[39]!==H||z[40]!==q.pagination||z[41]!==ae||z[42]!==oe||z[43]!==ie||z[44]!==me||z[45]!==ce||z[46]!==ee||z[47]!==P||z[48]!==Y||z[49]!==de||z[50]!==O||z[51]!==_||z[52]!==Q?(he=(P||"none"!==L)&&r(a,{children:[r(p,{container:!0,sx:{alignItems:"center",height:"100%","& svg":{ml:1.5,mr:1.5}},children:[O.type&&de(x(b(O)),g[b(O)].icon),s(m,{orientation:"vertical",flexItem:!0}),Y&&de("Condizione presente",g.cond.icon),O.options?.max&&de("Vincolo su valore massimo presente",k("MAX")),(O.options?.min||0===O.options?.min)&&de("Vincolo su valore minimo presente",k("MIN")),b(O)===g.section.type&&V>1&&de(`Layout a ${V} colonne`,(ge=V,2===ge?s(y,{size:20}):3===ge?s(f,{size:20}):4===ge?s(v,{size:20}):s(h,{size:14}))),O.name&&de("Nome di esportazione",s(u,{variant:"caption",color:"text.secondary",sx:{mx:1},children:`#${O.name}`}))]}),P&&s(S,{readonlyMode:Q,variant:ee,hasCondition:Boolean(Y),handleOnEdit:oe,handleOnMove:Q||"single"===q.pagination?void 0:ie,handleOnDuplicate:Q||"single"===q.pagination?void 0:ae,handleOnRemove:Q?void 0:ce,handleOnPageSection:Q?void 0:me}),"sectionEdit"===L&&s(j,{currentSection:O,currentSectionIndex:_,open:!0,closeModal:()=>B("none")}),!Q&&"move"===L&&s(E,{question:O,editorState:H,selectableItemTypes:C,open:!0,closeModal:()=>B("none")}),!Q&&"duplicate"===L&&s(M,{question:O,editorState:H,selectableItemTypes:C,open:!0,closeModal:()=>B("none")})]}),z[37]=V,z[38]=L,z[39]=H,z[40]=q.pagination,z[41]=ae,z[42]=oe,z[43]=ie,z[44]=me,z[45]=ce,z[46]=ee,z[47]=P,z[48]=Y,z[49]=de,z[50]=O,z[51]=_,z[52]=Q,z[53]=he):he=z[53],z[54]!==he?(be=s(p,{className:"question-hover-symbols",component:"div",container:!0,sx:ve,children:he}),z[54]=he,z[55]=be):be=z[55],z[56]!==O?(xe={p:"0 14px",position:"relative","&::after":b(O)!==g.section.type?{content:'""',position:"absolute",inset:0,zIndex:1,pointerEvents:"auto",backgroundColor:"transparent"}:{}},z[56]=O,z[57]=xe):xe=z[57],z[58]!==N||z[59]!==O?(Se=s(I,{index:N,question:O}),z[58]=N,z[59]=O,z[60]=Se):Se=z[60],z[61]!==K||z[62]!==xe||z[63]!==Se?(we=s(l,{onClick:K,sx:xe,children:Se}),z[61]=K,z[62]=xe,z[63]=Se,z[64]=we):we=z[64],z[65]===Symbol.for("react.memo_cache_sentinel")?(Ee={width:"100%",justifyContent:"space-between",alignItems:"center"},z[65]=Ee):Ee=z[65];const Me=Q?"hidden":"visible";let je,Ie,Ce,ke;return z[66]!==Me?(je={marginY:1,minHeight:36,visibility:"hidden",".MuiGrid-root:hover &":{visibility:Me}},z[66]=Me,z[67]=je):je=z[67],z[68]!==$||z[69]!==U||z[70]!==P||z[71]!==Q?(Ie=P&&!Q&&s(w,{handleAddQuestion:$,handleGenerateSurvey:U}),z[68]=$,z[69]=U,z[70]=P,z[71]=Q,z[72]=Ie):Ie=z[72],z[73]!==je||z[74]!==Ie?(Ce=s(p,{container:!0,sx:Ee,children:s(l,{className:"addQuestionBox",sx:je,children:Ie})}),z[73]=je,z[74]=Ie,z[75]=Ce):Ce=z[75],z[76]!==X||z[77]!==be||z[78]!==we||z[79]!==Ce?(ke=r(p,{onClick:X,onMouseOver:ue,onMouseOut:ye,sx:fe,children:[be,we,Ce]}),z[76]=X,z[77]=be,z[78]=we,z[79]=Ce,z[80]=ke):ke=z[80],ke};export{T as RenderQuestionPreview};
1
+ import{c as e}from"react/compiler-runtime";import{useFormStateContext as t}from"../../providers/common/FormStateProvider.js";import{useEditorStateContext as o}from"../../providers/editor/EditorStateProvider.js";import{useSetQuestionEdit as n}from"../../providers/editor/QuestionEditProvider.js";import i from"react";import{jsxs as r,Fragment as a,jsx as s}from"react/jsx-runtime";import{ItemConditional as c}from"@famalabs/survey";import l from"@mui/material/Box";import m from"@mui/material/Divider";import p from"@mui/material/Grid";import d from"@mui/material/Tooltip";import u from"@mui/material/Typography";import{Columns2 as y,Columns3 as f,Columns4 as v,GalleryVertical as h}from"lucide-react";import{Mapper as g,getMapType as b}from"../../utils/config-map.js";import{getLocaleItemTypeId as x}from"../../utils/locale.js";import"acorn";import{ItemHoverSymbols as S,AddQuestionMenu as w}from"../common/CommonEditor.js";import{RenderMoveModal as E,RenderDuplicateModal as M}from"../common/HierarchyEditor.js";import{RenderSectionEditModal as j}from"../containers/RenderSectionEditModal.js";import{QuestionTypePreview as I}from"./QuestionTypePreview.js";const C=[g.text.type,g.textArea.type,g.number.type,g.range.type,g.rating.type,g.switch.type,g.time.type,g.date.type,g.select.type,g.dropdown.type,g.multipleSelect.type,g.autocomplete.type,g.selectTable.type,g.alert.type,g.fn.type,g.sourceList.type,g.section.type],k=e=>s(l,{sx:{p:"2px",ml:1.5,marginY:"0.8px",color:"background.paper",backgroundColor:"text.primary",borderRadius:"3px",fontSize:"8px",fontWeight:"bold",alignSelf:"center",cursor:"default"},children:e}),T=T=>{const z=e(81),{globalQuestionIndex:N,question:O,questionIndex:_}=T,{globalConfig:q}=t(),{editorState:H}=o(),Q=q.readonlyMode,[P,G]=i.useState(!1),[L,B]=i.useState("none"),R=n();if(!O)return null;const V=O?.layout?.columns||1;let A;e:try{if(O instanceof c){A=O;break e}if(O.parent()instanceof c){let e;z[0]!==O?(e=O.parent(),z[0]=O,z[1]=e):e=z[1],A=e;break e}A=null}catch(D){const e=D;console.warn("Error checking item condition:",e),A=void 0}const Y=A;let D;z[2]!==H||z[3]!==O||z[4]!==_||z[5]!==R?(D=async e=>{if(void 0!==e){let t=_+1,o=O.parent();b(o)===g.cond.type&&(o=o.parent(),t=o.items.indexOf(O.parent())+1);const n=await H.addQuestion(e,o.id,t);if(!n)return;R({id:n.id,isNew:!0})}},z[2]=H,z[3]=O,z[4]=_,z[5]=R,z[6]=D):D=z[6];const $=D;let F;z[7]!==H||z[8]!==O?(F=async e=>{await H.schemaUpdate(O.parent(),e)},z[7]=H,z[8]=O,z[9]=F):F=z[9];const U=F;let W;z[10]!==O||z[11]!==R?(W=e=>{e.target instanceof HTMLButtonElement||e.target instanceof SVGElement||e.target instanceof HTMLParagraphElement||e.target instanceof HTMLSpanElement||b(O)===g.section.type||R({id:O.id,isNew:!1})},z[10]=O,z[11]=R,z[12]=W):W=z[12];const X=W;let J;z[13]!==O||z[14]!==R?(J=()=>{b(O)!==g.section.type&&R({id:O.id,isNew:!1})},z[13]=O,z[14]=R,z[15]=J):J=z[15];const K=J;let Z;e:{let e;try{e=O.parent()}catch(te){const e=te;console.warn("Error determining hover symbols variant:",e),Z="buttons";break e}b(e)===g.section.type&&e.layout?.columns>1?Z="dropdown":Z="buttons"}const ee=Z;let te;z[16]!==O||z[17]!==R?(te=()=>{b(O)===g.section.type?B("sectionEdit"):R({id:O.id,isNew:!1})},z[16]=O,z[17]=R,z[18]=te):te=z[18];const oe=te;let ne;z[19]!==Q?(ne=()=>{Q||B("move")},z[19]=Q,z[20]=ne):ne=z[20];const ie=ne;let re;z[21]!==Q?(re=()=>{Q||B("duplicate")},z[21]=Q,z[22]=re):re=z[22];const ae=re;let se;z[23]!==H||z[24]!==O||z[25]!==Q?(se=async()=>{Q||window.confirm("Vuoi eliminare questo campo?")&&(await H.removeItem(O),await H.createHistorySnapshot())},z[23]=H,z[24]=O,z[25]=Q,z[26]=se):se=z[26];const ce=se;let le;z[27]!==H||z[28]!==O||z[29]!==Q?(le=async()=>{Q||b(O)===g.section.type&&await H.changeQuestionType(O,g.page.type)},z[27]=H,z[28]=O,z[29]=Q,z[30]=le):le=z[30];const me=le;let pe;z[31]!==P?(pe=(e,t,o)=>P?s(d,{title:e,placement:void 0===o?"top":o,arrow:!0,children:t}):t,z[31]=P,z[32]=pe):pe=z[32];const de=pe;let ue,ye,fe,ve,he;var ge;let be,xe,Se,we,Ee;z[33]===Symbol.for("react.memo_cache_sentinel")?(ue=()=>G(!0),ye=()=>G(!1),z[33]=ue,z[34]=ye):(ue=z[33],ye=z[34]),z[35]===Symbol.for("react.memo_cache_sentinel")?(fe={padding:"12px",transition:"all 0.10s",borderRadius:"10px","&:hover":{backgroundColor:"rgba(20, 110, 245, 0.05)",cursor:"pointer"}},z[35]=fe):fe=z[35],z[36]===Symbol.for("react.memo_cache_sentinel")?(ve={justifyContent:"space-between",alignItems:"center",marginY:1,minHeight:40,visibility:"hidden",pointerEvents:"none",".MuiGrid-root:hover > &":{visibility:"visible",pointerEvents:"auto"}},z[36]=ve):ve=z[36],z[37]!==V||z[38]!==L||z[39]!==H||z[40]!==q.pagination||z[41]!==ae||z[42]!==oe||z[43]!==ie||z[44]!==me||z[45]!==ce||z[46]!==ee||z[47]!==P||z[48]!==Y||z[49]!==de||z[50]!==O||z[51]!==_||z[52]!==Q?(he=(P||"none"!==L)&&r(a,{children:[r(p,{container:!0,sx:{alignItems:"center",height:"100%","& svg":{ml:1.5,mr:1.5}},children:[O.type&&de(x(b(O)),g[b(O)].icon),s(m,{orientation:"vertical",flexItem:!0}),Y&&de("Condizione presente",g.cond.icon),O.options?.max&&de("Vincolo su valore massimo presente",k("MAX")),(O.options?.min||0===O.options?.min)&&de("Vincolo su valore minimo presente",k("MIN")),b(O)===g.section.type&&V>1&&de(`Layout a ${V} colonne`,(ge=V,2===ge?s(y,{size:20}):3===ge?s(f,{size:20}):4===ge?s(v,{size:20}):s(h,{size:14}))),O.name&&de("Nome di esportazione",s(u,{variant:"caption",color:"text.secondary",sx:{mx:1},children:`#${O.name}`}))]}),P&&s(S,{readonlyMode:Q,variant:ee,hasCondition:Boolean(Y),handleOnEdit:oe,handleOnMove:Q||"single"===q.pagination?void 0:ie,handleOnDuplicate:Q||"single"===q.pagination?void 0:ae,handleOnRemove:Q?void 0:ce,handleOnPageSection:Q?void 0:me}),"sectionEdit"===L&&s(j,{currentSection:O,currentSectionIndex:_,open:!0,closeModal:()=>B("none")},O.id),!Q&&"move"===L&&s(E,{question:O,editorState:H,selectableItemTypes:C,open:!0,closeModal:()=>B("none")}),!Q&&"duplicate"===L&&s(M,{question:O,editorState:H,selectableItemTypes:C,open:!0,closeModal:()=>B("none")})]}),z[37]=V,z[38]=L,z[39]=H,z[40]=q.pagination,z[41]=ae,z[42]=oe,z[43]=ie,z[44]=me,z[45]=ce,z[46]=ee,z[47]=P,z[48]=Y,z[49]=de,z[50]=O,z[51]=_,z[52]=Q,z[53]=he):he=z[53],z[54]!==he?(be=s(p,{className:"question-hover-symbols",component:"div",container:!0,sx:ve,children:he}),z[54]=he,z[55]=be):be=z[55],z[56]!==O?(xe={p:"0 14px",position:"relative","&::after":b(O)!==g.section.type?{content:'""',position:"absolute",inset:0,zIndex:1,pointerEvents:"auto",backgroundColor:"transparent"}:{}},z[56]=O,z[57]=xe):xe=z[57],z[58]!==N||z[59]!==O?(Se=s(I,{index:N,question:O}),z[58]=N,z[59]=O,z[60]=Se):Se=z[60],z[61]!==K||z[62]!==xe||z[63]!==Se?(we=s(l,{onClick:K,sx:xe,children:Se}),z[61]=K,z[62]=xe,z[63]=Se,z[64]=we):we=z[64],z[65]===Symbol.for("react.memo_cache_sentinel")?(Ee={width:"100%",justifyContent:"space-between",alignItems:"center"},z[65]=Ee):Ee=z[65];const Me=Q?"hidden":"visible";let je,Ie,Ce,ke;return z[66]!==Me?(je={marginY:1,minHeight:36,visibility:"hidden",".MuiGrid-root:hover &":{visibility:Me}},z[66]=Me,z[67]=je):je=z[67],z[68]!==$||z[69]!==U||z[70]!==P||z[71]!==Q?(Ie=P&&!Q&&s(w,{handleAddQuestion:$,handleGenerateSurvey:U}),z[68]=$,z[69]=U,z[70]=P,z[71]=Q,z[72]=Ie):Ie=z[72],z[73]!==je||z[74]!==Ie?(Ce=s(p,{container:!0,sx:Ee,children:s(l,{className:"addQuestionBox",sx:je,children:Ie})}),z[73]=je,z[74]=Ie,z[75]=Ce):Ce=z[75],z[76]!==X||z[77]!==be||z[78]!==we||z[79]!==Ce?(ke=r(p,{onClick:X,onMouseOver:ue,onMouseOut:ye,sx:fe,children:[be,we,Ce]}),z[76]=X,z[77]=be,z[78]=we,z[79]=Ce,z[80]=ke):ke=z[80],ke};export{T as RenderQuestionPreview};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{useFormStateContext as t}from"../../providers/common/FormStateProvider.js";import{useEditorStateContext as n}from"../../providers/editor/EditorStateProvider.js";import r from"react";import{jsx as o,jsxs as i}from"react/jsx-runtime";import{QuestionNumber as l,QuestionDate as a,ItemFunction as s,QuestionSelect as c,QuestionCheck as m}from"@famalabs/survey";import d from"@mui/material/Box";import u from"@mui/material/Button";import p from"@mui/material/FormControl";import f from"@mui/material/Grid";import h from"@mui/material/MenuItem";import x from"@mui/material/Select";import v from"@mui/material/Stack";import y from"@mui/material/Typography";import{Mapper as g,ItemConditionalMap as b,getMapType as S}from"../../utils/config-map.js";import{getLocale as _,LocaleMap as z}from"../../utils/locale.js";import"acorn";import{RenderSelectModal as C}from"../common/HierarchyEditor.js";import{OptionTextField as I}from"../common/OptionsEditor.js";import{CommonQuestionEditor as j}from"../question_editor/QuestionCommonEditor.js";const k=[g.check.type,g.date.type,g.dropdown.type,g.fn.type,g.number.type,g.range.type,g.select.type,g.selectTable.type,g.switch.type,g.text.type,g.textArea.type,g.time.type];function W(j){const W=e(67),{question:q,itemCondition:M,setItemCondition:N,path:w,readonlyMode:E}=j,O=void 0!==E&&E,{formInstance:F}=t(),{navigationState:T}=n(),G=T;let B;W[0]!==F||W[1]!==M.expression||W[2]!==w?(B=M?.expression?.[w]?.left?.name?F.get(M?.expression[w]?.left?.name):null,W[0]=F,W[1]=M.expression,W[2]=w,W[3]=B):B=W[3];const P=B,[A,H]=r.useState(P),[Q,D]=r.useState(!1);let J;W[4]!==F||W[5]!==G?(J=e=>{if(!e)return"Seleziona una campo";let t;try{t=F.get(e)}catch{return"Campo non trovato o rimosso"}return i(d,{sx:{display:"flex",alignItems:"center"},children:[o(d,{sx:{pr:1,display:"flex",alignItems:"center"},children:g[S(t)]?.icon}),G.getItem(e)?.globalIndex," ",t?.text]})},W[4]=F,W[5]=G,W[6]=J):J=W[6];const K=J;let L;W[7]!==M||W[8]!==w||W[9]!==N?(L=async e=>{const t={...M,expression:{...M?.expression,[w]:{...M?.expression[w],left:{type:"id",name:e}}},parameters:[...M.parameters||[],e]};N(t)},W[7]=M,W[8]=w,W[9]=N,W[10]=L):L=W[10];const R=L;let U,X,Y,Z;W[11]===Symbol.for("react.memo_cache_sentinel")?(U={gap:1},W[11]=U):U=W[11],W[12]===Symbol.for("react.memo_cache_sentinel")?(X=o(f,{size:12,children:o(y,{children:"Se il campo"})}),W[12]=X):X=W[12],W[13]===Symbol.for("react.memo_cache_sentinel")?(Y=()=>D(!0),W[13]=Y):Y=W[13],W[14]===Symbol.for("react.memo_cache_sentinel")?(Z={width:"100%"},W[14]=Z):Z=W[14];const $=M?.expression[w]?.left?.name;let ee,te,ne,re;W[15]!==K||W[16]!==$?(ee=K($),W[15]=K,W[16]=$,W[17]=ee):ee=W[17],W[18]!==O||W[19]!==ee?(te=i(f,{container:!0,size:12,sx:U,children:[X,o(f,{size:12,children:o(u,{variant:"outlined",onClick:Y,disabled:O,sx:Z,children:ee})})]}),W[18]=O,W[19]=ee,W[20]=te):te=W[20],W[21]===Symbol.for("react.memo_cache_sentinel")?(ne={flexWrap:"nowrap",columnGap:1},W[21]=ne):ne=W[21],W[22]===Symbol.for("react.memo_cache_sentinel")?(re={justifyContent:"center",alignItems:"center"},W[22]=re):re=W[22];const oe=!M?.expression[w]?.left?.name||O,ie=M?.expression[w]?.operator;let le,ae,se,ce,me,de,ue,pe,fe,he;W[23]!==M||W[24]!==w||W[25]!==N?(le=e=>{const t={...M,expression:{...M?.expression,[w]:{...M?.expression[w],operator:e.target.value}}};N(t)},W[23]=M,W[24]=w,W[25]=N,W[26]=le):le=W[26],W[27]!==A?(ae=Object.values(b.expression.operator).map((e,t)=>{if(""===e)return null;if(A instanceof l||A instanceof a){if(["==","!=",">",">=","<","<="].includes(e.toString()))return o(h,{value:e,children:_(z.operators[e])},t)}else if(A instanceof s){if(["==","!=","<",">"].includes(e.toString()))return o(h,{value:e,children:_(z.operators[e])},t)}else if(["==","!="].includes(e.toString()))return o(h,{value:e,children:_(z.operators[e])},t);return null}),W[27]=A,W[28]=ae):ae=W[28],W[29]!==oe||W[30]!==ie||W[31]!==le||W[32]!==ae?(se=o(x,{disabled:oe,value:ie,onChange:le,children:ae}),W[29]=oe,W[30]=ie,W[31]=le,W[32]=ae,W[33]=se):se=W[33],W[34]!==O||W[35]!==se?(ce=o(f,{container:!0,size:4,sx:re,children:o(p,{size:"small",fullWidth:!0,disabled:O,children:se})}),W[34]=O,W[35]=se,W[36]=ce):ce=W[36],W[37]===Symbol.for("react.memo_cache_sentinel")?(me={justifyContent:"center",alignItems:"center"},W[37]=me):me=W[37],W[38]!==M||W[39]!==A||W[40]!==w||W[41]!==O||W[42]!==N?(de=A instanceof c?o(x,{title:"Seleziona un valore",disabled:!M?.expression[w]?.left?.name||O,value:M?.expression[w]?.right?.value,onChange:e=>{const t={...M,expression:{...M?.expression,[w]:{...M?.expression[w],right:{type:"v",value:e.target.value}}}};N(t)},children:A?.options.select?.map(V)}):A instanceof m?i(x,{title:"Seleziona un valore",disabled:!M?.expression[w]?.left?.name||O,value:M?.expression[w]?.right?.value,onChange:e=>{const t={...M,expression:{...M?.expression,[w]:{...M?.expression[w],right:{type:"v",value:e.target.value}}}};N(t)},children:[o(h,{value:1,children:"Vero"},"true"),o(h,{value:0,children:"Falso"},"false")]}):o(I,{label:"name",type:A instanceof a?"date":A instanceof l?"number":"text",disabled:!M?.expression[w]?.left?.name||O,value:M?.expression[w]?.right?.value,text:"Valore",placeholder:"Seleziona un valore",defaultValue:"",size:"small",fullWidth:!0,handleOnSave:e=>{const t={...M,expression:{...M?.expression,[w]:{...M?.expression[w],right:{type:"v",value:A instanceof l?Number(e):e}}}};N(t)}}),W[38]=M,W[39]=A,W[40]=w,W[41]=O,W[42]=N,W[43]=de):de=W[43],W[44]!==O||W[45]!==de?(ue=o(f,{container:!0,size:8,sx:me,children:o(p,{size:"small",fullWidth:!0,disabled:O,children:de})}),W[44]=O,W[45]=de,W[46]=ue):ue=W[46],W[47]!==ce||W[48]!==ue?(pe=i(f,{container:!0,size:12,sx:ne,children:[ce,ue]}),W[47]=ce,W[48]=ue,W[49]=pe):pe=W[49],W[50]!==te||W[51]!==pe?(fe=i(v,{spacing:1,children:[te,pe]}),W[50]=te,W[51]=pe,W[52]=fe):fe=W[52],W[53]!==q.id?(he=[q.id],W[53]=q.id,W[54]=he):he=W[54];const xe=Q&&!O;let ve,ye,ge,be;return W[55]===Symbol.for("react.memo_cache_sentinel")?(ve=()=>D(!1),W[55]=ve):ve=W[55],W[56]!==F||W[57]!==R?(ye=e=>{const t=e.nextContainer.items[e.nextIndex].id;R(t),H(F.get(t))},W[56]=F,W[57]=R,W[58]=ye):ye=W[58],W[59]!==q||W[60]!==he||W[61]!==xe||W[62]!==ye?(ge=o(C,{question:q,selectableItemTypes:k,disabledItems:he,open:xe,closeModal:ve,select:ye}),W[59]=q,W[60]=he,W[61]=xe,W[62]=ye,W[63]=ge):ge=W[63],W[64]!==fe||W[65]!==ge?(be=i(d,{children:[fe,ge]}),W[64]=fe,W[65]=ge,W[66]=be):be=W[66],be}function V(e,t){return o(h,{value:e.score,children:e.text},t)}function q(j){const W=e(62),{question:V,itemCondition:q,setItemCondition:N,readonlyMode:w}=j,E=void 0!==w&&w,{formInstance:O}=t(),{navigationState:F}=n(),T=q?.expression,G=T?.left,B=T?.right;let P;W[0]!==O||W[1]!==G?.name?(P=()=>{const e=G?.name;if(!e)return null;try{return O.get(e)}catch{return null}},W[0]=O,W[1]=G?.name,W[2]=P):P=W[2];const[A,H]=r.useState(P),[Q,D]=r.useState(!1);let J;W[3]!==O||W[4]!==F?(J=e=>{if(!e)return"Seleziona un campo";let t;try{t=O.get(e)}catch{return"Campo non trovato o rimosso"}const n=F.getItem(e)?.globalIndex;return i(d,{sx:{display:"flex",alignItems:"center"},children:[o(d,{sx:{pr:1,display:"flex",alignItems:"center"},children:g[S(t)]?.icon}),Number(n)>=0?n:""," ",t?.text]})},W[3]=O,W[4]=F,W[5]=J):J=W[5];const K=J;let L,R,U,X;W[6]===Symbol.for("react.memo_cache_sentinel")?(L={gap:1},W[6]=L):L=W[6],W[7]===Symbol.for("react.memo_cache_sentinel")?(R=o(f,{size:12,children:o(y,{children:"Se il campo"})}),W[7]=R):R=W[7],W[8]===Symbol.for("react.memo_cache_sentinel")?(U=()=>D(!0),W[8]=U):U=W[8],W[9]===Symbol.for("react.memo_cache_sentinel")?(X={width:"100%"},W[9]=X):X=W[9];const Y=G?.name;let Z,$,ee,te;W[10]!==K||W[11]!==Y?(Z=K(Y),W[10]=K,W[11]=Y,W[12]=Z):Z=W[12],W[13]!==E||W[14]!==Z?($=i(f,{container:!0,size:12,sx:L,children:[R,o(f,{size:12,children:o(u,{variant:"outlined",onClick:U,disabled:E,sx:X,children:Z})})]}),W[13]=E,W[14]=Z,W[15]=$):$=W[15],W[16]===Symbol.for("react.memo_cache_sentinel")?(ee={flexWrap:"nowrap",columnGap:1},W[16]=ee):ee=W[16],W[17]===Symbol.for("react.memo_cache_sentinel")?(te={justifyContent:"center",alignItems:"center"},W[17]=te):te=W[17];const ne=!G?.name||!A||E,re=T?.operator;let oe,ie,le,ae,se,ce,me,de,ue;W[18]!==q||W[19]!==T||W[20]!==N?(oe=e=>{const t={...q,expression:{...T||{},operator:e.target.value}};N?.(t)},W[18]=q,W[19]=T,W[20]=N,W[21]=oe):oe=W[21],W[22]===Symbol.for("react.memo_cache_sentinel")?(ie={backgroundColor:"background.default"},W[22]=ie):ie=W[22],W[23]!==A?(le=Object.values(b.expression.operator).map((e,t)=>{if(""===e)return null;if(A instanceof l||A instanceof a){if(["==","!=",">",">=","<","<="].includes(e.toString()))return o(h,{value:e,children:_(z.operators[e])},t)}else if(A instanceof s){if(["==","!=","<",">"].includes(e.toString()))return o(h,{value:e,children:_(z.operators[e])},t)}else if(["==","!="].includes(e.toString()))return o(h,{value:e,children:_(z.operators[e])},t);return null}),W[23]=A,W[24]=le):le=W[24],W[25]!==ne||W[26]!==re||W[27]!==oe||W[28]!==le?(ae=o(x,{disabled:ne,value:re,onChange:oe,sx:ie,children:le}),W[25]=ne,W[26]=re,W[27]=oe,W[28]=le,W[29]=ae):ae=W[29],W[30]!==E||W[31]!==ae?(se=o(f,{container:!0,size:4,sx:te,children:o(p,{size:"small",fullWidth:!0,disabled:E,children:ae})}),W[30]=E,W[31]=ae,W[32]=se):se=W[32],W[33]===Symbol.for("react.memo_cache_sentinel")?(ce={justifyContent:"center",alignItems:"center"},W[33]=ce):ce=W[33],W[34]!==q||W[35]!==T||W[36]!==G?.name||W[37]!==E||W[38]!==B?.value||W[39]!==A||W[40]!==N?(me=o(f,{container:!0,size:8,sx:ce,children:o(p,A?{size:"small",fullWidth:!0,disabled:E,children:A instanceof c?o(x,{title:"Seleziona un valore",disabled:!G?.name||E,value:B?.value,onChange:e=>{const t={...q,expression:{...T||{},right:{type:"v",value:e.target.value}}};N?.(t)},sx:{backgroundColor:"background.default"},children:A.options.select?.map(M)}):A instanceof m||S(A)===g.alert.type?i(x,{title:"Seleziona un valore",disabled:!G?.name||E,value:B?.value??1,onChange:e=>{const t={...q,expression:{...T||{},right:{type:"v",value:e.target.value}}};N?.(t)},sx:{backgroundColor:"background.default"},children:[o(h,{value:1,children:"Vero"},"true"),o(h,{value:0,children:"Falso"},"false")]}):o(I,{label:"name",disabled:!G?.name||E,text:"Valore",placeholder:"Seleziona un valore",type:A instanceof a?"date":A instanceof l?"number":"text",defaultValue:B?.value??null,size:"small",fullWidth:!0,minValue:0,handleOnSave:e=>{const t=A instanceof l?!isNaN(Number(e))&&Number(e)>=0?Number(e):0:e,n={...q,expression:{...T??{},right:{type:"v",value:t}}};N?.(n)}})}:{size:"small",fullWidth:!0,disabled:!0,children:o(I,{label:"name",disabled:!0,text:"Valore",placeholder:"Seleziona un valore",type:"text",value:"",defaultValue:"",size:"small",fullWidth:!0})})}),W[34]=q,W[35]=T,W[36]=G?.name,W[37]=E,W[38]=B?.value,W[39]=A,W[40]=N,W[41]=me):me=W[41],W[42]!==se||W[43]!==me?(de=i(f,{container:!0,size:12,sx:ee,children:[se,me]}),W[42]=se,W[43]=me,W[44]=de):de=W[44],W[45]!==V.id?(ue=[V.id],W[45]=V.id,W[46]=ue):ue=W[46];const pe=Q&&!E;let fe,he,xe,ve;return W[47]===Symbol.for("react.memo_cache_sentinel")?(fe=()=>D(!1),W[47]=fe):fe=W[47],W[48]!==O||W[49]!==q||W[50]!==T||W[51]!==N?(he=e=>{const t=S(e.nextContainer.items[e.nextIndex])===g.cond.type?e.nextContainer.items[e.nextIndex].items[0]:e.nextContainer.items[e.nextIndex],n={...q,expression:{...T||{},type:"exp",left:{type:"id",name:t.id}},parameters:[t.id]},r=(()=>{try{return O.get(t.id)}catch(e){const t=e;return console.error("Error getting selected item:",t),null}})();N?.(n),H(r)},W[48]=O,W[49]=q,W[50]=T,W[51]=N,W[52]=he):he=W[52],W[53]!==V||W[54]!==ue||W[55]!==pe||W[56]!==he?(xe=o(C,{question:V,selectableItemTypes:k,disabledItems:ue,open:pe,closeModal:fe,select:he}),W[53]=V,W[54]=ue,W[55]=pe,W[56]=he,W[57]=xe):xe=W[57],W[58]!==$||W[59]!==de||W[60]!==xe?(ve=i(v,{spacing:1,children:[$,de,xe]}),W[58]=$,W[59]=de,W[60]=xe,W[61]=ve):ve=W[61],ve}function M(e,t){return o(h,{value:e.score,children:e.text},t)}function N(t){const n=e(4),{index:r,question:i,readonlyMode:l}=t,a=void 0!==l&&l;let s;return n[0]!==r||n[1]!==i||n[2]!==a?(s=o(j,{index:r,question:i,readonlyMode:a}),n[0]=r,n[1]=i,n[2]=a,n[3]=s):s=n[3],s}export{q as EditCondition,W as EditExpression,N as ItemConditionalEditorForm};
1
+ import{c as e}from"react/compiler-runtime";import{useFormStateContext as t}from"../../providers/common/FormStateProvider.js";import{useEditorStateContext as n}from"../../providers/editor/EditorStateProvider.js";import r from"react";import{jsx as o,jsxs as l}from"react/jsx-runtime";import{QuestionNumber as i,QuestionDate as a,ItemFunction as s,QuestionSelect as c,QuestionCheck as m}from"@famalabs/survey";import d from"@mui/material/Box";import u from"@mui/material/Button";import p from"@mui/material/FormControl";import f from"@mui/material/Grid";import h from"@mui/material/InputLabel";import v from"@mui/material/MenuItem";import y from"@mui/material/Select";import b from"@mui/material/Stack";import g from"@mui/material/Typography";import{Mapper as x,ItemConditionalMap as S,getMapType as _}from"../../utils/config-map.js";import{getLocale as z,LocaleMap as C}from"../../utils/locale.js";import"acorn";import{RenderSelectModal as I}from"../common/HierarchyEditor.js";import{OptionTextField as j}from"../common/OptionsEditor.js";import{CommonQuestionEditor as O}from"../question_editor/QuestionCommonEditor.js";const k=[x.check.type,x.date.type,x.dropdown.type,x.fn.type,x.number.type,x.range.type,x.select.type,x.selectTable.type,x.switch.type,x.text.type,x.textArea.type,x.time.type];function W(O){const W=e(83),{question:M,itemCondition:N,setItemCondition:w,path:E,readonlyMode:V}=O,F=void 0!==V&&V,{formInstance:T}=t(),{navigationState:G}=n(),B=N?.expression,P=B?.[E];let A;W[0]!==P?.left||W[1]!==T?(A=()=>{const e=P?.left;if(e&&"name"in e)try{return T.get(e.name)}catch{return}},W[0]=P?.left,W[1]=T,W[2]=A):A=W[2];const[H,L]=r.useState(A),[Q,D]=r.useState(!1);let J;W[3]!==T||W[4]!==G?(J=e=>{if(!e)return"Seleziona una campo";let t;try{t=T.get(e)}catch{return"Campo non trovato o rimosso"}return l(d,{sx:{display:"flex",alignItems:"center"},children:[o(d,{sx:{pr:1,display:"flex",alignItems:"center"},children:x[_(t)]?.icon}),G.getItem(e)?.globalIndex," ",t?.text]})},W[3]=T,W[4]=G,W[5]=J):J=W[5];const K=J;let R;W[6]!==P||W[7]!==N||W[8]!==B||W[9]!==E||W[10]!==w?(R=e=>{const t=e.target.value;if(!B||!P||null==t)return;const n={...N,expression:{...B,[E]:{...P,right:{type:"v",value:t}}}};w(n)},W[6]=P,W[7]=N,W[8]=B,W[9]=E,W[10]=w,W[11]=R):R=W[11];const U=R,[X,Y]=r.useState(String(P?.right?.value)||"");let Z;W[12]!==P||W[13]!==N||W[14]!==B||W[15]!==H||W[16]!==E||W[17]!==w?(Z=e=>{if(!B||!P||null==e)return;const t=H instanceof i?Number(e):e,n={...N,expression:{...B,[E]:{...P,right:{type:"v",value:t}}}};w(n)},W[12]=P,W[13]=N,W[14]=B,W[15]=H,W[16]=E,W[17]=w,W[18]=Z):Z=W[18];const $=Z;let ee;W[19]!==P||W[20]!==N||W[21]!==B||W[22]!==E||W[23]!==w?(ee=e=>{if(!B||!P)return;const t=e.target.value,n={...N,expression:{...B,[E]:{...P,operator:t}}};w(n)},W[19]=P,W[20]=N,W[21]=B,W[22]=E,W[23]=w,W[24]=ee):ee=W[24];const te=ee;let ne;W[25]!==P||W[26]!==T||W[27]!==N||W[28]!==B||W[29]!==E||W[30]!==w?(ne=async e=>{if(!e||!B||!P)return;Y("");const t=e.nextContainer.items[e.nextIndex].id,n=N?.parameters,r={...N,expression:{...B,[E]:{...P,left:{type:"id",name:t},operator:"",right:{type:"v",value:void 0}}},parameters:[...n||[],t]};w(r);try{const e=T.get(t);L(e)}catch(e){const t=e;console.error("Error getting selected item:",t)}},W[25]=P,W[26]=T,W[27]=N,W[28]=B,W[29]=E,W[30]=w,W[31]=ne):ne=W[31];const re=ne;let oe,le,ie,ae;W[32]===Symbol.for("react.memo_cache_sentinel")?(oe={gap:1},W[32]=oe):oe=W[32],W[33]===Symbol.for("react.memo_cache_sentinel")?(le=o(f,{size:12,children:o(g,{children:"Se il campo"})}),W[33]=le):le=W[33],W[34]===Symbol.for("react.memo_cache_sentinel")?(ie=()=>D(!0),W[34]=ie):ie=W[34],W[35]===Symbol.for("react.memo_cache_sentinel")?(ae={width:"100%"},W[35]=ae):ae=W[35];const se=P?.left?.name;let ce,me,de,ue;W[36]!==K||W[37]!==se?(ce=K(se),W[36]=K,W[37]=se,W[38]=ce):ce=W[38],W[39]!==F||W[40]!==ce?(me=l(f,{container:!0,size:12,sx:oe,children:[le,o(f,{size:12,children:o(u,{variant:"outlined",onClick:ie,disabled:F,sx:ae,children:ce})})]}),W[39]=F,W[40]=ce,W[41]=me):me=W[41],W[42]===Symbol.for("react.memo_cache_sentinel")?(de={flexWrap:"nowrap",columnGap:1},W[42]=de):de=W[42],W[43]===Symbol.for("react.memo_cache_sentinel")?(ue={justifyContent:"center",alignItems:"center"},W[43]=ue):ue=W[43];const pe=!P?.left?.name||F;let fe;W[44]===Symbol.for("react.memo_cache_sentinel")?(fe=o(h,{id:"operator-label",children:"Operatore"}),W[44]=fe):fe=W[44];const he=P?.operator;let ve,ye,be,ge,xe,Se,_e,ze,Ce;W[45]!==H?(ve=Object.values(S.expression.operator).map((e,t)=>{if(""===e)return null;if(H instanceof i||H instanceof a){if(["==","!=",">",">=","<","<="].includes(e.toString()))return o(v,{value:e,children:z(C.operators[e])},t)}else if(H instanceof s){if(["==","!=","<",">"].includes(e.toString()))return o(v,{value:e,children:z(C.operators[e])},t)}else if(["==","!="].includes(e.toString()))return o(v,{value:e,children:z(C.operators[e])},t);return null}),W[45]=H,W[46]=ve):ve=W[46],W[47]!==te||W[48]!==he||W[49]!==ve?(ye=o(y,{labelId:"operator-label",label:"Operatore",value:he,onChange:te,children:ve}),W[47]=te,W[48]=he,W[49]=ve,W[50]=ye):ye=W[50],W[51]!==pe||W[52]!==ye?(be=o(f,{container:!0,size:4,sx:ue,children:l(p,{size:"small",fullWidth:!0,disabled:pe,children:[fe,ye]})}),W[51]=pe,W[52]=ye,W[53]=be):be=W[53],W[54]===Symbol.for("react.memo_cache_sentinel")?(ge={justifyContent:"center",alignItems:"center"},W[54]=ge):ge=W[54],W[55]!==X||W[56]!==P?.left?.name||W[57]!==P?.right?.value||W[58]!==U||W[59]!==$||W[60]!==H||W[61]!==F?(xe=H instanceof c?o(y,{title:"Seleziona un valore",disabled:!P?.left?.name||F,value:P?.right?.value,onChange:U,children:H?.options.select?.map(q)}):H instanceof m?l(y,{title:"Seleziona un valore",disabled:!P?.left?.name||F,value:P?.right?.value,onChange:U,children:[o(v,{value:1,children:"Vero"},"true"),o(v,{value:0,children:"Falso"},"false")]}):o(j,{label:"name",type:H instanceof a?"date":H instanceof i?"number":"text",disabled:!P?.left?.name||F,value:X,text:"Valore",placeholder:"Seleziona un valore",size:"small",fullWidth:!0,handleOnChange:Y,handleOnSave:$}),W[55]=X,W[56]=P?.left?.name,W[57]=P?.right?.value,W[58]=U,W[59]=$,W[60]=H,W[61]=F,W[62]=xe):xe=W[62],W[63]!==F||W[64]!==xe?(Se=o(f,{container:!0,size:8,sx:ge,children:o(p,{size:"small",fullWidth:!0,disabled:F,children:xe})}),W[63]=F,W[64]=xe,W[65]=Se):Se=W[65],W[66]!==be||W[67]!==Se?(_e=l(f,{container:!0,size:12,sx:de,children:[be,Se]}),W[66]=be,W[67]=Se,W[68]=_e):_e=W[68],W[69]!==me||W[70]!==_e?(ze=l(b,{spacing:1,children:[me,_e]}),W[69]=me,W[70]=_e,W[71]=ze):ze=W[71],W[72]!==M.id?(Ce=[M.id],W[72]=M.id,W[73]=Ce):Ce=W[73];const Ie=Q&&!F;let je,Oe,ke;return W[74]===Symbol.for("react.memo_cache_sentinel")?(je=()=>D(!1),W[74]=je):je=W[74],W[75]!==re||W[76]!==M||W[77]!==Ce||W[78]!==Ie?(Oe=o(I,{question:M,selectableItemTypes:k,disabledItems:Ce,open:Ie,closeModal:je,select:re}),W[75]=re,W[76]=M,W[77]=Ce,W[78]=Ie,W[79]=Oe):Oe=W[79],W[80]!==ze||W[81]!==Oe?(ke=l(d,{children:[ze,Oe]}),W[80]=ze,W[81]=Oe,W[82]=ke):ke=W[82],ke}function q(e,t){return o(v,{value:e.score,children:e.text},t)}function M(O){const W=e(72),{question:q,itemCondition:M,setItemCondition:w,readonlyMode:E}=O,V=void 0!==E&&E,{formInstance:F}=t(),{navigationState:T}=n(),G=M?.expression,B=G?.left,P=G?.right;let A;W[0]!==B?.name||W[1]!==F?(A=()=>{const e=B?.name;if(e)try{return F.get(e)}catch{return}},W[0]=B?.name,W[1]=F,W[2]=A):A=W[2];const[H,L]=r.useState(A),[Q,D]=r.useState(!1);let J;W[3]!==F||W[4]!==T?(J=e=>{if(!e)return"Seleziona un campo";let t;try{t=F.get(e)}catch{return"Campo non trovato o rimosso"}const n=T.getItem(e)?.globalIndex;return l(d,{sx:{display:"flex",alignItems:"center"},children:[o(d,{sx:{pr:1,display:"flex",alignItems:"center"},children:x[_(t)]?.icon}),Number(n)>=0?n:""," ",t?.text]})},W[3]=F,W[4]=T,W[5]=J):J=W[5];const K=J;let R;W[6]!==M||W[7]!==G||W[8]!==w?(R=e=>{const t=e.target.value;if(!G||null==t)return;const n={...M,expression:{...G,right:{type:"v",value:t}}};w?.(n)},W[6]=M,W[7]=G,W[8]=w,W[9]=R):R=W[9];const U=R,[X,Y]=r.useState(String(P?.value)||"");let Z;W[10]!==B||W[11]!==M||W[12]!==G||W[13]!==H||W[14]!==w?(Z=e=>{if(!G||!B||null==e)return;const t=H instanceof i?!isNaN(Number(e))&&Number(e)>=0?Number(e):null:e,n={...M,expression:{...G,right:{type:"v",value:t}}};w?.(n)},W[10]=B,W[11]=M,W[12]=G,W[13]=H,W[14]=w,W[15]=Z):Z=W[15];const $=Z;let ee;W[16]!==M||W[17]!==G||W[18]!==w?(ee=e=>{if(!G)return;const t={...M,expression:{...G,operator:e.target.value}};w?.(t)},W[16]=M,W[17]=G,W[18]=w,W[19]=ee):ee=W[19];const te=ee;let ne;W[20]!==F||W[21]!==M||W[22]!==G||W[23]!==w?(ne=e=>{if(!e||!G)return;Y("");const t=_(e.nextContainer.items[e.nextIndex])===x.cond.type?e.nextContainer.items[e.nextIndex].items[0]:e.nextContainer.items[e.nextIndex],n={...M,expression:{...G,type:"exp",left:{type:"id",name:t.id},operator:"",right:{type:"v",value:void 0}},parameters:[t.id]},r=(()=>{try{return F.get(t.id)}catch(e){const t=e;return void console.error("Error getting selected item:",t)}})();w?.(n),L(r)},W[20]=F,W[21]=M,W[22]=G,W[23]=w,W[24]=ne):ne=W[24];const re=ne;let oe,le,ie,ae;W[25]===Symbol.for("react.memo_cache_sentinel")?(oe={gap:1},W[25]=oe):oe=W[25],W[26]===Symbol.for("react.memo_cache_sentinel")?(le=o(f,{size:12,children:o(g,{children:"Se il campo"})}),W[26]=le):le=W[26],W[27]===Symbol.for("react.memo_cache_sentinel")?(ie=()=>D(!0),W[27]=ie):ie=W[27],W[28]===Symbol.for("react.memo_cache_sentinel")?(ae={width:"100%"},W[28]=ae):ae=W[28];const se=B?.name;let ce,me,de,ue;W[29]!==K||W[30]!==se?(ce=K(se),W[29]=K,W[30]=se,W[31]=ce):ce=W[31],W[32]!==V||W[33]!==ce?(me=l(f,{container:!0,size:12,sx:oe,children:[le,o(f,{size:12,children:o(u,{variant:"outlined",onClick:ie,disabled:V,sx:ae,children:ce})})]}),W[32]=V,W[33]=ce,W[34]=me):me=W[34],W[35]===Symbol.for("react.memo_cache_sentinel")?(de={flexWrap:"nowrap",columnGap:1},W[35]=de):de=W[35],W[36]===Symbol.for("react.memo_cache_sentinel")?(ue={justifyContent:"center",alignItems:"center"},W[36]=ue):ue=W[36];const pe=!B?.name||!H||V;let fe;W[37]===Symbol.for("react.memo_cache_sentinel")?(fe=o(h,{id:"operator-label",children:"Operatore"}),W[37]=fe):fe=W[37];const he=G?.operator;let ve,ye,be,ge,xe,Se,_e,ze;W[38]===Symbol.for("react.memo_cache_sentinel")?(ve={backgroundColor:"background.default"},W[38]=ve):ve=W[38],W[39]!==H?(ye=Object.values(S.expression.operator).map((e,t)=>{if(H instanceof i||H instanceof a){if(["==","!=",">",">=","<","<="].includes(e.toString()))return o(v,{value:e,children:z(C.operators[e])},t)}else if(H instanceof s){if(["==","!=","<",">"].includes(e.toString()))return o(v,{value:e,children:z(C.operators[e])},t)}else if(["==","!="].includes(e.toString()))return o(v,{value:e,children:z(C.operators[e])},t);return null}),W[39]=H,W[40]=ye):ye=W[40],W[41]!==te||W[42]!==he||W[43]!==ye?(be=o(y,{labelId:"operator-label",label:"Operatore",value:he,onChange:te,sx:ve,children:ye}),W[41]=te,W[42]=he,W[43]=ye,W[44]=be):be=W[44],W[45]!==pe||W[46]!==be?(ge=o(f,{container:!0,size:4,sx:ue,children:l(p,{size:"small",fullWidth:!0,disabled:pe,children:[fe,be]})}),W[45]=pe,W[46]=be,W[47]=ge):ge=W[47],W[48]===Symbol.for("react.memo_cache_sentinel")?(xe={justifyContent:"center",alignItems:"center"},W[48]=xe):xe=W[48],W[49]!==X||W[50]!==B?.name||W[51]!==P?.value||W[52]!==U||W[53]!==$||W[54]!==V||W[55]!==H?(Se=o(f,{container:!0,size:8,sx:xe,children:o(p,H?{size:"small",fullWidth:!0,disabled:V,children:H instanceof c?o(y,{title:"Seleziona un valore",disabled:!B?.name||V,value:P?.value,onChange:U,sx:{backgroundColor:"background.default"},children:H.options.select?.map(N)}):H instanceof m||_(H)===x.alert.type?l(y,{title:"Seleziona un valore",disabled:!B?.name||V,value:P?.value,onChange:U,sx:{backgroundColor:"background.default"},children:[o(v,{value:1,children:"Vero"},"true"),o(v,{value:0,children:"Falso"},"false")]}):o(j,{label:"name",disabled:!B?.name||V,text:"Valore",placeholder:"Seleziona un valore",type:H instanceof a?"date":H instanceof i?"number":"text",value:X,size:"small",fullWidth:!0,minValue:0,handleOnChange:Y,handleOnSave:$})}:{size:"small",fullWidth:!0,disabled:!0,children:o(j,{label:"name",disabled:!0,text:"Valore",placeholder:"Seleziona un valore",type:"text",value:null,size:"small",fullWidth:!0})})}),W[49]=X,W[50]=B?.name,W[51]=P?.value,W[52]=U,W[53]=$,W[54]=V,W[55]=H,W[56]=Se):Se=W[56],W[57]!==ge||W[58]!==Se?(_e=l(f,{container:!0,size:12,sx:de,children:[ge,Se]}),W[57]=ge,W[58]=Se,W[59]=_e):_e=W[59],W[60]!==q.id?(ze=[q.id],W[60]=q.id,W[61]=ze):ze=W[61];const Ce=Q&&!V;let Ie,je,Oe;return W[62]===Symbol.for("react.memo_cache_sentinel")?(Ie=()=>D(!1),W[62]=Ie):Ie=W[62],W[63]!==re||W[64]!==q||W[65]!==ze||W[66]!==Ce?(je=o(I,{question:q,selectableItemTypes:k,disabledItems:ze,open:Ce,closeModal:Ie,select:re}),W[63]=re,W[64]=q,W[65]=ze,W[66]=Ce,W[67]=je):je=W[67],W[68]!==me||W[69]!==_e||W[70]!==je?(Oe=l(b,{spacing:1,children:[me,_e,je]}),W[68]=me,W[69]=_e,W[70]=je,W[71]=Oe):Oe=W[71],Oe}function N(e,t){return o(v,{value:e.score,children:e.text},t)}function w(t){const n=e(4),{index:r,question:l,readonlyMode:i}=t,a=void 0!==i&&i;let s;return n[0]!==r||n[1]!==l||n[2]!==a?(s=o(O,{index:r,question:l,readonlyMode:a}),n[0]=r,n[1]=l,n[2]=a,n[3]=s):s=n[3],s}export{W as EditComplexExpression,M as EditSimpleExpression,w as ItemConditionalEditorForm};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{useQuestionStateContext as t}from"../../providers/editor/QuestionStateProvider.js";import l from"@mui/material/Grid";import o from"@mui/material/Stack";import{OptionTextField as a}from"../common/OptionsEditor.js";import{CommonQuestionEditor as i}from"../question_editor/QuestionCommonEditor.js";import"../../utils/config-map.js";import{getLocale as n,LocaleMap as r}from"../../utils/locale.js";import"@famalabs/survey";import"acorn";import{jsxs as m,jsx as s}from"react/jsx-runtime";function u(u){const d=e(26),{index:c,question:p,readonlyMode:f}=u,b=void 0!==f&&f,h=t(),x=h.value,g=x.name,v=x.layout?.trueLabel,y=x.layout?.falseLabel;let j;d[0]!==h?(j=e=>{h.updateItem("layout.trueLabel",e)},d[0]=h,d[1]=j):j=d[1];const z=j;let C;d[2]!==h?(C=e=>{h.updateItem("layout.falseLabel",e)},d[2]=h,d[3]=C):C=d[3];const k=C;let I;d[4]!==h?(I=e=>{h.updateItem("name",e)},d[4]=h,d[5]=I):I=d[5];const O=I;let E;d[6]!==y||d[7]!==k||d[8]!==z||d[9]!==b||d[10]!==v?(E=()=>m(o,{sx:{pt:4,pl:2,pr:2,pb:4,backgroundColor:"background.default",gap:2},children:[s(a,{label:"unit",defaultValue:null,text:n(r.items.check.labels.true),value:v??null,handleOnChange:z,fullWidth:!0,disabled:b}),s(a,{label:"unit",defaultValue:null,text:n(r.items.check.labels.false),value:y??null,handleOnChange:k,fullWidth:!0,disabled:b})]}),d[6]=y,d[7]=k,d[8]=z,d[9]=b,d[10]=v,d[11]=E):E=d[11];const L=E;let q,S,W;d[12]===Symbol.for("react.memo_cache_sentinel")?(q={xs:12,md:6},S={justifyContent:"flex-end",alignItems:"flex-end",pt:1},d[12]=q,d[13]=S):(q=d[12],S=d[13]),d[14]!==O||d[15]!==g||d[16]!==b?(W=s(o,{spacing:2,children:s(l,{container:!0,size:q,sx:S,children:s(a,{label:"name",className:"titleEditor",fullWidth:!0,text:"Nome esportazione",hint:"Il nome del campo da visualizzare nelle esportazioni",value:g,size:"small",handleOnChange:O,disabled:b})})}),d[14]=O,d[15]=g,d[16]=b,d[17]=W):W=d[17];const _=W;let M,N;return d[18]!==L?(M=L(),d[18]=L,d[19]=M):M=d[19],d[20]!==c||d[21]!==p||d[22]!==b||d[23]!==_||d[24]!==M?(N=s(i,{index:c,question:p,contentEdit:M,contentOptions:_,readonlyMode:b}),d[20]=c,d[21]=p,d[22]=b,d[23]=_,d[24]=M,d[25]=N):N=d[25],N}export{u as QuestionCheckEditorForm};
1
+ import{c as e}from"react/compiler-runtime";import{useQuestionStateContext as t}from"../../providers/editor/QuestionStateProvider.js";import"../../utils/config-map.js";import{getLocale as l,LocaleMap as o}from"../../utils/locale.js";import"@famalabs/survey";import"acorn";import a from"@mui/material/Grid";import i from"@mui/material/Stack";import{OptionTextField as n}from"../common/OptionsEditor.js";import{CommonQuestionEditor as r}from"../question_editor/QuestionCommonEditor.js";import{jsxs as m,jsx as s}from"react/jsx-runtime";function u(u){const d=e(26),{index:c,question:p,readonlyMode:f}=u,b=void 0!==f&&f,h=t(),x=h.value,g=x.name,v=x.layout?.trueLabel,y=x.layout?.falseLabel;let j;d[0]!==h?(j=e=>{h.updateItem("layout.trueLabel",e)},d[0]=h,d[1]=j):j=d[1];const z=j;let C;d[2]!==h?(C=e=>{h.updateItem("layout.falseLabel",e)},d[2]=h,d[3]=C):C=d[3];const k=C;let I;d[4]!==h?(I=e=>{h.updateItem("name",e)},d[4]=h,d[5]=I):I=d[5];const O=I;let E;d[6]!==y||d[7]!==k||d[8]!==z||d[9]!==b||d[10]!==v?(E=()=>m(i,{sx:{pt:4,pl:2,pr:2,pb:4,backgroundColor:"background.default",gap:2},children:[s(n,{label:"unit",defaultValue:null,text:l(o.items.check.labels.true),value:v??null,handleOnChange:z,fullWidth:!0,disabled:b}),s(n,{label:"unit",defaultValue:null,text:l(o.items.check.labels.false),value:y??null,handleOnChange:k,fullWidth:!0,disabled:b})]}),d[6]=y,d[7]=k,d[8]=z,d[9]=b,d[10]=v,d[11]=E):E=d[11];const L=E;let q,S,W;d[12]===Symbol.for("react.memo_cache_sentinel")?(q={xs:12,md:6},S={justifyContent:"flex-end",alignItems:"flex-end",pt:1},d[12]=q,d[13]=S):(q=d[12],S=d[13]),d[14]!==O||d[15]!==g||d[16]!==b?(W=s(i,{spacing:2,children:s(a,{container:!0,size:q,sx:S,children:s(n,{label:"name",className:"titleEditor",fullWidth:!0,text:"Nome esportazione",hint:"Il nome del campo da visualizzare nelle esportazioni",value:g,size:"small",handleOnChange:O,disabled:b})})}),d[14]=O,d[15]=g,d[16]=b,d[17]=W):W=d[17];const _=W;let M,N;return d[18]!==L?(M=L(),d[18]=L,d[19]=M):M=d[19],d[20]!==c||d[21]!==p||d[22]!==b||d[23]!==_||d[24]!==M?(N=s(r,{index:c,question:p,contentEdit:M,contentOptions:_,readonlyMode:b}),d[20]=c,d[21]=p,d[22]=b,d[23]=_,d[24]=M,d[25]=N):N=d[25],N}export{u as QuestionCheckEditorForm};
@@ -1 +1 @@
1
- import{c as t}from"react/compiler-runtime";import{useQuestionStateContext as e}from"../../providers/editor/QuestionStateProvider.js";import i from"@mui/material/Checkbox";import o from"@mui/material/FormControl";import n from"@mui/material/FormControlLabel";import a from"@mui/material/FormLabel";import l from"@mui/material/Grid";import r from"@mui/material/Stack";import"../../utils/config-map.js";import{getLocale as m,LocaleMap as s}from"../../utils/locale.js";import"@famalabs/survey";import"acorn";import{OptionTextField as d}from"../common/OptionsEditor.js";import{CommonQuestionEditor as u}from"../question_editor/QuestionCommonEditor.js";import p from"dayjs";import c from"dayjs/plugin/customParseFormat";import{jsxs as f,jsx as h}from"react/jsx-runtime";p.extend(c);const x="YYYY-MM-DD",g=[x,"DD/MM/YYYY","DD-MM-YYYY","YYYY/MM/DD"];function y(t,e){if(null==t)return null;if(t instanceof Date){const e=p(t);return e.isValid()?e.format(x):null}if("string"==typeof t){const i=t.trim();if(0===i.length)return null;const o=p(i,g,e,!0);return o.isValid()?o.format(x):null}const i=p(t);return i.isValid()?i.format(x):null}function v(c){const g=t(29),{index:v,question:b,readonlyMode:Y}=c,z=void 0!==Y&&Y,D=e(),I=D.value,M=I.name,V=I.options.min,j=I.options.max;let C;g[0]!==D?(C=t=>{const e=y(t,"it");D.updateItem("options.max",e)},g[0]=D,g[1]=C):C=g[1];const O=C;let S;g[2]!==D?(S=t=>{const e=y(t,"it");if(D.updateItem("options.max",e),!e)return;const i=y(D.getQuestionValue("options.min"),"it");var o;i&&(o=i,p(e,x,!0).isBefore(p(o,x,!0)))&&D.updateItem("options.min",e)},g[2]=D,g[3]=S):S=g[3];const w=S;let F;g[4]!==D?(F=t=>{const e=y(t,"it");D.updateItem("options.min",e)},g[4]=D,g[5]=F):F=g[5];const Q=F;let k;g[6]!==D?(k=t=>{const e=y(t,"it");if(D.updateItem("options.min",e),!e)return;const i=y(D.getQuestionValue("options.max"),"it");var o;i&&(o=i,p(e,x,!0).isAfter(p(o,x,!0)))&&D.updateItem("options.max",e)},g[6]=D,g[7]=k):k=g[7];const q=k;let E;g[8]!==D?(E=t=>{D.updateItem("name",t)},g[8]=D,g[9]=E):E=g[9];const N=E;let W;g[10]!==O||g[11]!==Q||g[12]!==N||g[13]!==w||g[14]!==q||g[15]!==M||g[16]!==j||g[17]!==V||g[18]!==I.layout||g[19]!==D||g[20]!==z?(W=()=>f(r,{spacing:2,children:[h(l,{container:!0,size:{xs:12,md:6},children:h(d,{label:"min",text:m(s.items.date.min),value:"string"==typeof V?V:V?.toString()||null,handleOnChange:Q,handleOnSave:q,showToggle:!0,type:"date",fullWidth:!0,toggleValue:new Date,maxValue:j,size:"small",disabled:z})}),h(l,{container:!0,size:{xs:12,md:6},children:h(d,{label:"max",text:m(s.items.date.max),value:"string"==typeof j?j:j?.toString()||null,handleOnChange:O,handleOnSave:w,showToggle:!0,type:"date",fullWidth:!0,toggleValue:new Date,minValue:V,size:"small",disabled:z})}),h(l,{container:!0,display:"flex",size:{xs:12,md:6},children:f(o,{component:"fieldset",variant:"standard",children:[h(a,{children:"Visibilità"}),h(n,{label:"Nascosto",control:h(i,{checked:0===I.layout?.visibility,disabled:z,onChange:()=>{D.updateItem("layout",0===I.layout?.visibility?{...I.layout,visibility:1}:{...I.layout,visibility:0})}})})]})}),h(l,{container:!0,size:{xs:12,md:6},sx:{justifyContent:"flex-end",alignItems:"flex-end",pt:1},children:h(d,{label:"name",className:"titleEditor",fullWidth:!0,text:"Nome esportazione",hint:"Il nome del campo da visualizzare nelle esportazioni",value:M,size:"small",handleOnChange:N,disabled:z})})]}),g[10]=O,g[11]=Q,g[12]=N,g[13]=w,g[14]=q,g[15]=M,g[16]=j,g[17]=V,g[18]=I.layout,g[19]=D,g[20]=z,g[21]=W):W=g[21];const L=W;let P,T;return g[22]!==L?(P=L(),g[22]=L,g[23]=P):P=g[23],g[24]!==v||g[25]!==b||g[26]!==z||g[27]!==P?(T=h(u,{index:v,question:b,contentOptions:P,readonlyMode:z}),g[24]=v,g[25]=b,g[26]=z,g[27]=P,g[28]=T):T=g[28],T}export{v as QuestionDateEditorForm};
1
+ import{c as t}from"react/compiler-runtime";import{useQuestionStateContext as e}from"../../providers/editor/QuestionStateProvider.js";import i from"@mui/material/Checkbox";import o from"@mui/material/FormControl";import n from"@mui/material/FormControlLabel";import a from"@mui/material/FormLabel";import l from"@mui/material/Grid";import r from"@mui/material/Stack";import m from"dayjs";import s from"dayjs/plugin/customParseFormat";import"../../utils/config-map.js";import{getLocale as d,LocaleMap as u}from"../../utils/locale.js";import"@famalabs/survey";import"acorn";import{OptionTextField as p}from"../common/OptionsEditor.js";import{CommonQuestionEditor as c}from"../question_editor/QuestionCommonEditor.js";import{jsxs as f,jsx as h}from"react/jsx-runtime";m.extend(s);const x="YYYY-MM-DD",g=[x,"DD/MM/YYYY","DD-MM-YYYY","YYYY/MM/DD"];function y(t,e){if(null==t)return null;if(t instanceof Date){const e=m(t);return e.isValid()?e.format(x):null}if("string"==typeof t){const i=t.trim();if(0===i.length)return null;const o=m(i,g,e,!0);return o.isValid()?o.format(x):null}const i=m(t);return i.isValid()?i.format(x):null}function v(s){const g=t(29),{index:v,question:b,readonlyMode:Y}=s,z=void 0!==Y&&Y,D=e(),I=D.value,M=I.name,V=I.options.min,j=I.options.max;let C;g[0]!==D?(C=t=>{const e=y(t,"it");D.updateItem("options.max",e)},g[0]=D,g[1]=C):C=g[1];const O=C;let S;g[2]!==D?(S=t=>{const e=y(t,"it");if(D.updateItem("options.max",e),!e)return;const i=y(D.getQuestionValue("options.min"),"it");var o;i&&(o=i,m(e,x,!0).isBefore(m(o,x,!0)))&&D.updateItem("options.min",e)},g[2]=D,g[3]=S):S=g[3];const w=S;let F;g[4]!==D?(F=t=>{const e=y(t,"it");D.updateItem("options.min",e)},g[4]=D,g[5]=F):F=g[5];const Q=F;let k;g[6]!==D?(k=t=>{const e=y(t,"it");if(D.updateItem("options.min",e),!e)return;const i=y(D.getQuestionValue("options.max"),"it");var o;i&&(o=i,m(e,x,!0).isAfter(m(o,x,!0)))&&D.updateItem("options.max",e)},g[6]=D,g[7]=k):k=g[7];const q=k;let E;g[8]!==D?(E=t=>{D.updateItem("name",t)},g[8]=D,g[9]=E):E=g[9];const N=E;let W;g[10]!==O||g[11]!==Q||g[12]!==N||g[13]!==w||g[14]!==q||g[15]!==M||g[16]!==j||g[17]!==V||g[18]!==I.layout||g[19]!==D||g[20]!==z?(W=()=>f(r,{spacing:2,children:[h(l,{container:!0,size:{xs:12,md:6},children:h(p,{label:"min",text:d(u.items.date.min),value:"string"==typeof V?V:V?.toString()||null,handleOnChange:Q,handleOnSave:q,showToggle:!0,type:"date",fullWidth:!0,toggleValue:new Date,maxValue:j,size:"small",disabled:z})}),h(l,{container:!0,size:{xs:12,md:6},children:h(p,{label:"max",text:d(u.items.date.max),value:"string"==typeof j?j:j?.toString()||null,handleOnChange:O,handleOnSave:w,showToggle:!0,type:"date",fullWidth:!0,toggleValue:new Date,minValue:V,size:"small",disabled:z})}),h(l,{container:!0,display:"flex",size:{xs:12,md:6},children:f(o,{component:"fieldset",variant:"standard",children:[h(a,{children:"Visibilità"}),h(n,{label:"Nascosto",control:h(i,{checked:0===I.layout?.visibility,disabled:z,onChange:()=>{D.updateItem("layout",0===I.layout?.visibility?{...I.layout,visibility:1}:{...I.layout,visibility:0})}})})]})}),h(l,{container:!0,size:{xs:12,md:6},sx:{justifyContent:"flex-end",alignItems:"flex-end",pt:1},children:h(p,{label:"name",className:"titleEditor",fullWidth:!0,text:"Nome esportazione",hint:"Il nome del campo da visualizzare nelle esportazioni",value:M,size:"small",handleOnChange:N,disabled:z})})]}),g[10]=O,g[11]=Q,g[12]=N,g[13]=w,g[14]=q,g[15]=M,g[16]=j,g[17]=V,g[18]=I.layout,g[19]=D,g[20]=z,g[21]=W):W=g[21];const L=W;let P,T;return g[22]!==L?(P=L(),g[22]=L,g[23]=P):P=g[23],g[24]!==v||g[25]!==b||g[26]!==z||g[27]!==P?(T=h(c,{index:v,question:b,contentOptions:P,readonlyMode:z}),g[24]=v,g[25]=b,g[26]=z,g[27]=P,g[28]=T):T=g[28],T}export{v as QuestionDateEditorForm};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{useQuestionStateContext as t}from"../../providers/editor/QuestionStateProvider.js";import i from"@mui/material/Box";import r from"@mui/material/Button";import o from"@mui/material/Checkbox";import n from"@mui/material/FormControl";import m from"@mui/material/FormControlLabel";import a from"@mui/material/Grid";import l from"@mui/material/IconButton";import d from"@mui/material/RadioGroup";import s from"@mui/material/Stack";import u from"@mui/material/TextField";import c from"@mui/material/Typography";import{CircleArrowUp as p,CircleArrowDown as f,Trash2 as h,PlusCircle as x}from"lucide-react";import b from"react";import{calculateLatestId as g}from"../../hooks/editor/QuestionOperations.js";import{getMapType as y,Mapper as I,getDefaultData as v}from"../../utils/config-map.js";import"../../utils/locale.js";import{acornExtractMinMax as z,LegacyConditionParser as C,acornUpdateMinMax as $}from"../../utils/parsers/LegacyConditionParser.js";import{OptionTextField as k}from"../common/OptionsEditor.js";import{CommonQuestionEditor as j}from"../question_editor/QuestionCommonEditor.js";import{jsx as O,jsxs as E}from"react/jsx-runtime";function w(y){const w=e(17),{index:M,question:P,readonlyMode:R}=y,V=void 0!==R&&R,W=t(),_=W.value,D=_?_.items?.sort(L):[],H=D?.length>0?D?.filter(G):[],[J,K]=b.useState(Array(H?.length).fill(null));let U;w[0]!==J?(U=J.filter(A),w[0]=J,w[1]=U):U=w[1];const X=Boolean(U.length);let Y;w[2]!==P?(Y=g(P),w[2]=P,w[3]=Y):Y=w[3];const Z=b.useRef(Y),ee=()=>{const e=D.map(Q).reduce(F,0),t={...{...v(I.check.type),text:`Opzione ${e+1}`,name:`opzione_${e+1}`},id:(Z.current+1).toString()},i=D.findIndex(q);W.updateItem(`items[${i}].parameters`,[...D[i].parameters,t.id]);const r=D.findIndex(T);if(-1!==r){const e=C(D[r]);W.updateItem(`items[${r}].parameters`,[...e.parameters,t.id])}W.addItem("items",t),Z.current=Z.current+1};let te;w[4]!==W?(te=(e,t)=>{W.moveItem("items",e,t)},w[4]=W,w[5]=te):te=w[5];const ie=te,re=_.items?.find(B),{min:oe}=z(re?re.condition:void 0),ne=e=>{if(!re||!e)return;const t=$(re.condition,{min:Number(e)});W.updateItem(`items[${D.indexOf(re)}].condition`,t)},me=_.name;let ae;w[6]!==W?(ae=e=>{W.updateItem("name",e)},w[6]=W,w[7]=ae):ae=w[7];const le=ae,de=()=>E(s,{spacing:2,children:[re&&O(a,{size:12,children:O(k,{label:"min",text:"Numero minimo di opzioni selezionabili",value:oe,handleOnChange:ne,showToggle:!1,type:"number",size:"small",minValue:1,maxValue:H.length,fullWidth:!0,disabled:V})}),O(k,{label:"name",className:"titleEditor",fullWidth:!0,text:"Nome esportazione",hint:"Il nome del campo da visualizzare nelle esportazioni",value:me,size:"small",handleOnChange:le,disabled:V})]}),se=j,ue=O(i,{sx:{py:4,px:2,backgroundColor:"background.default"},children:E(n,{sx:{width:"100%"},children:[O(d,{name:_.id,"aria-label":_.id,style:{margin:"0.25rem"},children:H.map((e,t)=>E(s,{direction:"row",spacing:1,style:{margin:"0.25rem",alignItems:"center"},children:[O(m,{disabled:!0,value:"disabled",control:O(o,{}),label:""},t),O(u,{label:J[t]?J[t]:"Testo",value:e.text,onChange:t=>((e,t)=>{const i=H.findIndex(t=>t.id===e.id),r=H.some((e,r)=>i!==r&&e.text===t),o=[...J];o[i]=r?"Errore: valore duplicato":""===t?"Errore: il campo non può essere vuoto":null,K(o);const n=D.findIndex(t=>t.id===e.id);W.updateItem(`items[${n}].text`,t)})(e,t.target.value),error:Boolean(J[t]),size:"small",disabled:V,sx:{width:"100%"}}),O(l,{"aria-label":`move-up-button-${e.text}`,disabled:0===t||X,color:"inherit",onClick:()=>ie(t,t-1),children:O(p,{size:20})}),O(l,{"aria-label":`move-down-button-${e.text}`,disabled:t===H.length-1||X||V,color:"inherit",onClick:()=>ie(t,t+1),children:O(f,{size:20})}),O(l,{"aria-label":`delete-button-${e.text}`,disabled:H.length<=1||X||V,color:"inherit",onClick:()=>(e=>{if(H?.length<=1)return;K(J.filter((t,i)=>i!==D.indexOf(e)));const t=D.findIndex(S);W.updateItem(`items[${t}].parameters`,[...D[t].parameters.filter(t=>t!==e.id)]);const i=D.findIndex(N);if(-1!==i){const t=C(D[i]);W.updateItem(`items[${i}].parameters`,[...t.parameters.filter(t=>t!==e.id)])}W.removeItem("items",e)})(e),children:O(h,{size:20})})]},t))}),O(i,{sx:{mt:2},children:E(r,{variant:"outlined",color:"inherit",onClick:ee,disabled:V,children:[O(x,{size:20})," ",O(c,{sx:{ml:1},children:"Aggiungi opzione"})]})})]})});let ce,pe;return w[8]!==de?(ce=de(),w[8]=de,w[9]=ce):ce=w[9],w[10]!==se||w[11]!==M||w[12]!==P||w[13]!==V||w[14]!==ue||w[15]!==ce?(pe=O(se,{contentEdit:ue,index:M,question:P,contentOptions:ce,readonlyMode:V}),w[10]=se,w[11]=M,w[12]=P,w[13]=V,w[14]=ue,w[15]=ce,w[16]=pe):pe=w[16],pe}function B(e){return y(e)===I.cond.type}function N(e){return"cond"===e.type}function S(e){return"fn"===e.type}function T(e){return y(e)===I.cond.type}function q(e){return y(e)===I.fn.type}function F(e,t){return t>e?t:e}function Q(e){const t=e.text?.match(/\d+/);return t?parseInt(t[0],10):0}function A(e){return e}function G(e){return"fn"!==e.type&&"cond"!==e.type}function L(e,t){const i={fn:1,cond:2};return(i[e.type]||3)-(i[t.type]||3)}export{w as QuestionMultipleSelectEditorForm};
1
+ import{c as e}from"react/compiler-runtime";import{useQuestionStateContext as t}from"../../providers/editor/QuestionStateProvider.js";import i from"@mui/material/Box";import r from"@mui/material/Button";import o from"@mui/material/Checkbox";import n from"@mui/material/FormControl";import m from"@mui/material/FormControlLabel";import a from"@mui/material/Grid";import l from"@mui/material/IconButton";import d from"@mui/material/RadioGroup";import s from"@mui/material/Stack";import u from"@mui/material/TextField";import c from"@mui/material/Typography";import{CircleArrowUp as p,CircleArrowDown as f,Trash2 as h,PlusCircle as x}from"lucide-react";import g from"react";import{jsx as b,jsxs as I}from"react/jsx-runtime";import{useEditorStateContext as v}from"../../providers/editor/EditorStateProvider.js";import{getMapType as y,Mapper as z,getDefaultData as C}from"../../utils/config-map.js";import"../../utils/locale.js";import{formatName as $}from"../../utils/format-utils.js";import{acornExtractMinMax as j,LegacyConditionParser as k,acornUpdateMinMax as E}from"../../utils/parsers/LegacyConditionParser.js";import{OptionTextField as O}from"../common/OptionsEditor.js";import{CommonQuestionEditor as S}from"../question_editor/QuestionCommonEditor.js";function w(y){const w=e(17),{index:Q,question:V,readonlyMode:W}=y,_=void 0!==W&&W,{editorState:R}=v(),D=t(),H=D.value,J=H?H.items?.sort(M):[],K=J?.length>0?J?.filter(G):[],[U,X]=g.useState(Array(K?.length).fill(null));let Y;w[0]!==U?(Y=U.filter(A),w[0]=U,w[1]=Y):Y=w[1];const Z=Boolean(Y.length);let ee;w[2]!==R?(ee=R.getLatestId(),w[2]=R,w[3]=ee):ee=w[3];const[te,ie]=g.useState(ee),re=()=>{const e=J.map(P).reduce(L,0),t={...{...C(z.check.type),text:`Opzione ${e+1}`,name:`opzione_${e+1}`},id:(te+1).toString()},i=J.findIndex(F),r=J[i];D.updateItem(`items[${i}].parameters`,[...r.parameters,t.id]);const o=J.findIndex(q);if(-1!==o){const e=k(J[o]),i=e?.parameters||[];D.updateItem(`items[${o}].parameters`,[...i,t.id])}D.addItem("items",t),ie(te+1)};let oe;w[4]!==D?(oe=(e,t)=>{D.moveItem("items",e,t)},w[4]=D,w[5]=oe):oe=w[5];const ne=oe,me=H.items?.find(B),{min:ae}=j(me?me.condition:void 0),le=e=>{if(!me||!e)return;const t=E(me.condition,{min:Number(e)});D.updateItem(`items[${J.indexOf(me)}].condition`,t)},de=H.name;let se;w[6]!==D?(se=e=>{D.updateItem("name",e)},w[6]=D,w[7]=se):se=w[7];const ue=se,ce=()=>I(s,{spacing:2,children:[me&&b(a,{size:12,children:b(O,{label:"min",text:"Numero minimo di opzioni selezionabili",value:ae,handleOnChange:le,showToggle:!1,type:"number",size:"small",minValue:1,maxValue:K.length,fullWidth:!0,disabled:_})}),b(O,{label:"name",className:"titleEditor",fullWidth:!0,text:"Nome esportazione",hint:"Il nome del campo da visualizzare nelle esportazioni",value:de,size:"small",handleOnChange:ue,disabled:_})]}),pe=S,fe=b(i,{sx:{py:4,px:2,backgroundColor:"background.default"},children:I(n,{sx:{width:"100%"},children:[b(d,{name:H.id,"aria-label":H.id,style:{margin:"0.25rem"},children:K.map((e,t)=>I(s,{direction:"row",spacing:1,style:{margin:"0.25rem",alignItems:"center"},children:[b(m,{disabled:!0,value:"disabled",control:b(o,{}),label:""},t),b(u,{label:U[t]?U[t]:"Testo",value:e.text,onChange:t=>((e,t)=>{const i=K.findIndex(t=>t.id===e.id),r=K.some((e,r)=>i!==r&&e.text===t),o=[...U];o[i]=r?"Errore: valore duplicato":""===t?"Errore: il campo non può essere vuoto":null,X(o);const n=J.findIndex(t=>t.id===e.id);D.updateItem(`items[${n}].text`,t),D.updateItem(`items[${n}].name`,$(t))})(e,t.target.value),error:Boolean(U[t]),size:"small",disabled:_,sx:{width:"100%"}}),b(l,{"aria-label":`move-up-button-${e.text}`,disabled:0===t||Z,color:"inherit",onClick:()=>ne(t,t-1),children:b(p,{size:20})}),b(l,{"aria-label":`move-down-button-${e.text}`,disabled:t===K.length-1||Z||_,color:"inherit",onClick:()=>ne(t,t+1),children:b(f,{size:20})}),b(l,{"aria-label":`delete-button-${e.text}`,disabled:K.length<=1||Z||_,color:"inherit",onClick:()=>(e=>{if(K?.length<=1)return;X(U.filter((t,i)=>i!==J.indexOf(e)));const t=J.findIndex(T),i=J[t];D.updateItem(`items[${t}].parameters`,[...i.parameters.filter(t=>t!==e.id)]);const r=J.findIndex(N);if(-1!==r){const t=k(J[r]),i=t?.parameters||[];D.updateItem(`items[${r}].parameters`,[...i.filter(t=>t!==e.id)])}D.removeItem("items",e)})(e),children:b(h,{size:20})})]},t))}),b(i,{sx:{mt:2},children:I(r,{variant:"outlined",color:"inherit",onClick:re,disabled:_,children:[b(x,{size:20})," ",b(c,{sx:{ml:1},children:"Aggiungi opzione"})]})})]})});let he,xe;return w[8]!==ce?(he=ce(),w[8]=ce,w[9]=he):he=w[9],w[10]!==pe||w[11]!==Q||w[12]!==V||w[13]!==_||w[14]!==fe||w[15]!==he?(xe=b(pe,{contentEdit:fe,index:Q,question:V,contentOptions:he,readonlyMode:_}),w[10]=pe,w[11]=Q,w[12]=V,w[13]=_,w[14]=fe,w[15]=he,w[16]=xe):xe=w[16],xe}function B(e){return y(e)===z.cond.type}function N(e){return"cond"===e.type}function T(e){return"fn"===e.type}function q(e){return y(e)===z.cond.type}function F(e){return y(e)===z.fn.type}function L(e,t){return t>e?t:e}function P(e){const t=e.text?.match(/\d+/);return t?parseInt(t[0],10):0}function A(e){return e}function G(e){return"fn"!==e.type&&"cond"!==e.type}function M(e,t){const i={fn:1,cond:2};return(i[e.type]||3)-(i[t.type]||3)}export{w as QuestionMultipleSelectEditorForm};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{useQuestionStateContext as t}from"../../providers/editor/QuestionStateProvider.js";import i from"@mui/material/Box";import o from"@mui/material/Button";import l from"@mui/material/Checkbox";import r from"@mui/material/FormControl";import n from"@mui/material/FormControlLabel";import a from"@mui/material/FormLabel";import m from"@mui/material/Grid";import s from"@mui/material/IconButton";import d from"@mui/material/Radio";import c from"@mui/material/RadioGroup";import u from"@mui/material/Stack";import p from"@mui/material/TextField";import h from"@mui/material/Typography";import{CircleArrowUp as f,CircleArrowDown as b,Trash2 as x,PlusCircle as g}from"lucide-react";import v from"react";import{OptionTextField as y}from"../common/OptionsEditor.js";import{CommonQuestionEditor as z}from"../question_editor/QuestionCommonEditor.js";import C from"@mui/material/Tooltip";import I from"@mui/material/Chip";import{jsx as k,jsxs as j}from"react/jsx-runtime";function w(w){const B=e(52),{index:E,question:F,readonlyMode:N}=w,O=void 0!==N&&N,T=t(),q=T.value,_=q.name,A=q.options?.select??[],[G,L]=v.useState(Array(A.length||0).fill(null));let M;B[0]===Symbol.for("react.memo_cache_sentinel")?(M=e=>{const t=e.map($),i=t.filter((e,i)=>t.indexOf(e)!==i),o=e.filter(V),l=e.map(e=>i.includes(e.score)?"Valore duplicato":o.includes(e)?"Il campo non può essere vuoto":null);L(l)},B[0]=M):M=B[0];const Q=M;let R;B[1]!==T||B[2]!==A?(R=function(){const e={text:`Selezione ${A.length+1}`,score:A?.length?A[A.length-1].score+1:0},t=[...A,e];T.updateItem("options.select",t),Q(t)},B[1]=T,B[2]=A,B[3]=R):R=B[3];const D=R;let P;B[4]!==T||B[5]!==A?(P=e=>{if(A.length<=1||!e)return;T.removeItem("options.select",e);const t=A.filter(t=>t!==e);Q(t)},B[4]=T,B[5]=A,B[6]=P):P=B[6];const W=P;let H;B[7]!==T||B[8]!==A?(H=(e,t)=>{t<0||t>=A.length||T.updateItem("options.select",A.map((i,o)=>o===e?A[t]:o===t?A[e]:i))},B[7]=T,B[8]=A,B[9]=H):H=B[9];const J=H;let K;B[10]!==T||B[11]!==A?(K=(e,t)=>{T.updateItem("options.select",A.map((i,o)=>o===e?{text:t,score:i.score}:i))},B[10]=T,B[11]=A,B[12]=K):K=B[12];const U=K;let X;B[13]!==T||B[14]!==A?(X=(e,t)=>{T.updateItem("options.select",A.map((i,o)=>o===e?{text:i.text,score:t}:i))},B[13]=T,B[14]=A,B[15]=X):X=B[15];const Y=X;let Z;B[16]!==G?(Z=G.filter(S),B[16]=G,B[17]=Z):Z=B[17];const ee=Boolean(Z.length);let te;B[18]!==G||B[19]!==Y||B[20]!==A?(te=(e,t)=>{const i=A.some((i,o)=>o!==e&&i.score===t),o=[...G];o[e]=i?"Valore duplicato":null,L(o),Y(e,t)},B[18]=G,B[19]=Y,B[20]=A,B[21]=te):te=B[21];const ie=te;let oe;B[22]!==T?(oe=e=>{T.updateItem("name",e)},B[22]=T,B[23]=oe):oe=B[23];const le=oe;let re;B[24]!==D||B[25]!==G||B[26]!==ie||B[27]!==ee||B[28]!==J||B[29]!==q.id||B[30]!==O||B[31]!==W||B[32]!==A||B[33]!==U?(re=()=>k(i,{sx:{pt:4,pl:2,pr:2,pb:4,backgroundColor:"background.default"},children:j(r,{sx:{width:"100%"},children:[k(c,{name:q.id,"aria-label":q.id,style:{margin:"0.25rem"},children:A.map((e,t)=>j(u,{direction:"row",spacing:1,sx:{mb:"1rem",alignItems:"center"},children:[k(n,{disabled:!0,value:"disabled",control:k(d,{disabled:O}),label:""},t),k(p,{label:""===e.text?"Il campo non può essere vuoto":"Testo",value:e.text,error:""===e.text,onChange:e=>U(t,e.target.value),sx:{width:"100%"},size:"small",disabled:O}),k(p,{label:G[t]?G[t]:"Valore",disabled:O,type:"number",value:e.score,onChange:e=>ie(t,Number(e.target.value)),error:!!G[t],size:"small"}),k(s,{"aria-label":`move-up-button-${e.text}`,disabled:0===t||ee||O,color:"inherit",onClick:()=>J(t,t-1),children:k(f,{size:20})}),k(s,{"aria-label":`move-down-button-${e.text}`,disabled:t===A.length-1||ee||O,color:"inherit",onClick:()=>J(t,t+1),children:k(b,{size:20})}),k(s,{"aria-label":`delete-button-${e.text}`,color:"inherit",disabled:A.length<=1||O,onClick:()=>W(e),children:k(x,{size:20})})]},t))}),k(i,{sx:{mt:2},children:j(o,{variant:"outlined",color:"inherit",onClick:D,disabled:O,children:[k(g,{size:20})," ",k(h,{sx:{ml:1},children:"Aggiungi opzione"})]})})]})}),B[24]=D,B[25]=G,B[26]=ie,B[27]=ee,B[28]=J,B[29]=q.id,B[30]=O,B[31]=W,B[32]=A,B[33]=U,B[34]=re):re=B[34];const ne=re;let ae;B[35]!==le||B[36]!==_||B[37]!==F?.id||B[38]!==q.layout||B[39]!==T||B[40]!==O?(ae=()=>j(u,{children:[k(n,{control:k(l,{checked:q.layout?.score??!1,disabled:O,onChange:e=>{T.updateItem("layout.score",e.target.checked)}}),label:"Valori opzioni visibili"}),k(m,{container:!0,display:"flex",size:{xs:12,md:6},children:j(r,{component:"fieldset",variant:"standard",children:[k(a,{children:"Visibilità"}),k(n,{label:"Nascosto",control:k(l,{checked:0===q.layout?.visibility,disabled:O,onChange:()=>{T.updateItem("layout",0===q.layout?.visibility?{...q.layout,visibility:1}:{...q.layout,visibility:0})}})})]})}),k(m,{container:!0,size:{xs:12,md:6},sx:{justifyContent:"flex-end",alignItems:"flex-end",pt:3},children:k(y,{label:"name",className:"titleEditor",fullWidth:!0,text:"Nome esportazione",hint:"Il nome del campo da visualizzare nelle esportazioni",value:_,size:"small",handleOnChange:le,disabled:O})}),k(m,{container:!0,mt:3,size:{xs:12,md:6},children:k(C,{title:"Identificativo domanda",arrow:!0,children:k(I,{label:`ID: ${F?.id}`,variant:"outlined",size:"small"})})})]}),B[35]=le,B[36]=_,B[37]=F?.id,B[38]=q.layout,B[39]=T,B[40]=O,B[41]=ae):ae=B[41];const me=ae;let se,de,ce;return B[42]!==ne?(se=ne(),B[42]=ne,B[43]=se):se=B[43],B[44]!==me?(de=me(),B[44]=me,B[45]=de):de=B[45],B[46]!==E||B[47]!==F||B[48]!==O||B[49]!==se||B[50]!==de?(ce=k(z,{contentEdit:se,contentOptions:de,index:E,question:F,readonlyMode:O}),B[46]=E,B[47]=F,B[48]=O,B[49]=se,B[50]=de,B[51]=ce):ce=B[51],ce}function S(e){return e}function V(e){return""===e.text}function $(e){return e.score}export{w as QuestionSelectEditorForm};
1
+ import{c as e}from"react/compiler-runtime";import{useQuestionStateContext as t}from"../../providers/editor/QuestionStateProvider.js";import i from"@mui/material/Box";import o from"@mui/material/Button";import l from"@mui/material/Checkbox";import r from"@mui/material/Chip";import n from"@mui/material/FormControl";import a from"@mui/material/FormControlLabel";import m from"@mui/material/FormLabel";import s from"@mui/material/Grid";import d from"@mui/material/IconButton";import c from"@mui/material/Radio";import u from"@mui/material/RadioGroup";import p from"@mui/material/Stack";import h from"@mui/material/TextField";import f from"@mui/material/Tooltip";import b from"@mui/material/Typography";import{CircleArrowUp as x,CircleArrowDown as g,Trash2 as v,PlusCircle as y}from"lucide-react";import z from"react";import{OptionTextField as C}from"../common/OptionsEditor.js";import{CommonQuestionEditor as I}from"../question_editor/QuestionCommonEditor.js";import{jsx as k,jsxs as j}from"react/jsx-runtime";function w(w){const B=e(52),{index:E,question:F,readonlyMode:N}=w,O=void 0!==N&&N,T=t(),q=T.value,_=q.name,A=q.options?.select??[],[G,L]=z.useState(Array(A.length||0).fill(null));let M;B[0]===Symbol.for("react.memo_cache_sentinel")?(M=e=>{const t=e.map($),i=t.filter((e,i)=>t.indexOf(e)!==i),o=e.filter(V),l=e.map(e=>i.includes(e.score)?"Valore duplicato":o.includes(e)?"Il campo non può essere vuoto":null);L(l)},B[0]=M):M=B[0];const Q=M;let R;B[1]!==T||B[2]!==A?(R=function(){const e={text:`Selezione ${A.length+1}`,score:A?.length?A[A.length-1].score+1:0},t=[...A,e];T.updateItem("options.select",t),Q(t)},B[1]=T,B[2]=A,B[3]=R):R=B[3];const D=R;let P;B[4]!==T||B[5]!==A?(P=e=>{if(A.length<=1||!e)return;T.removeItem("options.select",e);const t=A.filter(t=>t!==e);Q(t)},B[4]=T,B[5]=A,B[6]=P):P=B[6];const W=P;let H;B[7]!==T||B[8]!==A?(H=(e,t)=>{t<0||t>=A.length||T.updateItem("options.select",A.map((i,o)=>o===e?A[t]:o===t?A[e]:i))},B[7]=T,B[8]=A,B[9]=H):H=B[9];const J=H;let K;B[10]!==T||B[11]!==A?(K=(e,t)=>{T.updateItem("options.select",A.map((i,o)=>o===e?{text:t,score:i.score}:i))},B[10]=T,B[11]=A,B[12]=K):K=B[12];const U=K;let X;B[13]!==T||B[14]!==A?(X=(e,t)=>{T.updateItem("options.select",A.map((i,o)=>o===e?{text:i.text,score:t}:i))},B[13]=T,B[14]=A,B[15]=X):X=B[15];const Y=X;let Z;B[16]!==G?(Z=G.filter(S),B[16]=G,B[17]=Z):Z=B[17];const ee=Boolean(Z.length);let te;B[18]!==G||B[19]!==Y||B[20]!==A?(te=(e,t)=>{const i=A.some((i,o)=>o!==e&&i.score===t),o=[...G];o[e]=i?"Valore duplicato":null,L(o),Y(e,t)},B[18]=G,B[19]=Y,B[20]=A,B[21]=te):te=B[21];const ie=te;let oe;B[22]!==T?(oe=e=>{T.updateItem("name",e)},B[22]=T,B[23]=oe):oe=B[23];const le=oe;let re;B[24]!==D||B[25]!==G||B[26]!==ie||B[27]!==ee||B[28]!==J||B[29]!==q.id||B[30]!==O||B[31]!==W||B[32]!==A||B[33]!==U?(re=()=>k(i,{sx:{pt:4,pl:2,pr:2,pb:4,backgroundColor:"background.default"},children:j(n,{sx:{width:"100%"},children:[k(u,{name:q.id,"aria-label":q.id,style:{margin:"0.25rem"},children:A.map((e,t)=>j(p,{direction:"row",spacing:1,sx:{mb:"1rem",alignItems:"center"},children:[k(a,{disabled:!0,value:"disabled",control:k(c,{disabled:O}),label:""},t),k(h,{label:""===e.text?"Il campo non può essere vuoto":"Testo",value:e.text,error:""===e.text,onChange:e=>U(t,e.target.value),sx:{width:"100%"},size:"small",disabled:O}),k(h,{label:G[t]?G[t]:"Valore",disabled:O,type:"number",value:e.score,onChange:e=>ie(t,Number(e.target.value)),error:!!G[t],size:"small"}),k(d,{"aria-label":`move-up-button-${e.text}`,disabled:0===t||ee||O,color:"inherit",onClick:()=>J(t,t-1),children:k(x,{size:20})}),k(d,{"aria-label":`move-down-button-${e.text}`,disabled:t===A.length-1||ee||O,color:"inherit",onClick:()=>J(t,t+1),children:k(g,{size:20})}),k(d,{"aria-label":`delete-button-${e.text}`,color:"inherit",disabled:A.length<=1||O,onClick:()=>W(e),children:k(v,{size:20})})]},t))}),k(i,{sx:{mt:2},children:j(o,{variant:"outlined",color:"inherit",onClick:D,disabled:O,children:[k(y,{size:20})," ",k(b,{sx:{ml:1},children:"Aggiungi opzione"})]})})]})}),B[24]=D,B[25]=G,B[26]=ie,B[27]=ee,B[28]=J,B[29]=q.id,B[30]=O,B[31]=W,B[32]=A,B[33]=U,B[34]=re):re=B[34];const ne=re;let ae;B[35]!==le||B[36]!==_||B[37]!==F?.id||B[38]!==q.layout||B[39]!==T||B[40]!==O?(ae=()=>j(p,{children:[k(a,{control:k(l,{checked:q.layout?.score??!1,disabled:O,onChange:e=>{T.updateItem("layout.score",e.target.checked)}}),label:"Valori opzioni visibili"}),k(s,{container:!0,display:"flex",size:{xs:12,md:6},children:j(n,{component:"fieldset",variant:"standard",children:[k(m,{children:"Visibilità"}),k(a,{label:"Nascosto",control:k(l,{checked:0===q.layout?.visibility,disabled:O,onChange:()=>{T.updateItem("layout",0===q.layout?.visibility?{...q.layout,visibility:1}:{...q.layout,visibility:0})}})})]})}),k(s,{container:!0,size:{xs:12,md:6},sx:{justifyContent:"flex-end",alignItems:"flex-end",pt:3},children:k(C,{label:"name",className:"titleEditor",fullWidth:!0,text:"Nome esportazione",hint:"Il nome del campo da visualizzare nelle esportazioni",value:_,size:"small",handleOnChange:le,disabled:O})}),k(s,{container:!0,mt:3,size:{xs:12,md:6},children:k(f,{title:"Identificativo domanda",arrow:!0,children:k(r,{label:`ID: ${F?.id}`,variant:"outlined",size:"small"})})})]}),B[35]=le,B[36]=_,B[37]=F?.id,B[38]=q.layout,B[39]=T,B[40]=O,B[41]=ae):ae=B[41];const me=ae;let se,de,ce;return B[42]!==ne?(se=ne(),B[42]=ne,B[43]=se):se=B[43],B[44]!==me?(de=me(),B[44]=me,B[45]=de):de=B[45],B[46]!==E||B[47]!==F||B[48]!==O||B[49]!==se||B[50]!==de?(ce=k(I,{contentEdit:se,contentOptions:de,index:E,question:F,readonlyMode:O}),B[46]=E,B[47]=F,B[48]=O,B[49]=se,B[50]=de,B[51]=ce):ce=B[51],ce}function S(e){return e}function V(e){return""===e.text}function $(e){return e.score}export{w as QuestionSelectEditorForm};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{useQuestionStateContext as t}from"../../providers/editor/QuestionStateProvider.js";import o from"@mui/material/Grid";import r from"@mui/material/IconButton";import n from"@mui/material/Radio";import l from"@mui/material/Stack";import i from"@mui/material/TextField";import a from"@mui/material/Typography";import{Trash2Icon as s,CirclePlus as c}from"lucide-react";import m from"react";import{calculateLatestId as d}from"../../hooks/editor/QuestionOperations.js";import{getDefaultData as p,Mapper as u}from"../../utils/config-map.js";import"../../utils/locale.js";import{formatName as h}from"../../utils/format-utils.js";import"@famalabs/survey";import"acorn";import{CommonQuestionEditor as g}from"../question_editor/QuestionCommonEditor.js";import{jsx as f,jsxs as x}from"react/jsx-runtime";function b(n){const b=e(80),{index:I,question:_,readonlyMode:C}=n,S=void 0!==C&&C,$=t(),k=$.value.items||[],j=k?$.value.items?.[0]:null,w=j?.options?.select||[],[A,B]=m.useState(Array(w?.length).fill(null));let F;b[0]!==A?(F=A.filter(z),b[0]=A,b[1]=F):F=b[1];const q=Boolean(F.length),[R,T]=m.useState(Array(k?.length).fill(null));let V;b[2]!==R?(V=R.filter(v),b[2]=R,b[3]=V):V=b[3];const W=Boolean(V.length);let G;b[4]!==w.length||b[5]!==$||b[6]!==k?(G=()=>{const e={text:`Selezione ${w.length+1}`,score:w.length};for(let t=0;t<k.length;t++)$.updateItem(`items[${t}].options.select`,[...k[t].options?.select??[],e])},b[4]=w.length,b[5]=$,b[6]=k,b[7]=G):G=b[7];const P=G;let Q;b[8]!==w||b[9]!==$||b[10]!==k.length?(Q=e=>{const t=w.filter((t,o)=>o!==e);for(let e=0;e<k.length;e++)$.updateItem(`items[${e}].options.select`,t)},b[8]=w,b[9]=$,b[10]=k.length,b[11]=Q):Q=b[11];const D=Q;let E;b[12]!==A||b[13]!==w||b[14]!==$||b[15]!==B?(E=(e,t)=>{const o=w.some((o,r)=>t!==r&&o.text===e),r=[...A];r[t]=o?"Valore duplicato":""===e?"Valore non può essere vuoto":null,B(r),$.updateItem(`items[0].options.select[${t}].text`,e)},b[12]=A,b[13]=w,b[14]=$,b[15]=B,b[16]=E):E=b[16];const M=E;let O;b[17]!==_?(O=d(_),b[17]=_,b[18]=O):O=b[18];const H=m.useRef(O);let J;b[19]!==w||b[20]!==_.name||b[21]!==$||b[22]!==k.length?(J=()=>{const e={...{...p(u.select.type)},id:(H.current+1).toString(),text:`Domanda ${k.length+1}`,name:`${_.name}_domanda_${k.length+1}`,index:k?.length||1,options:{required:!0,select:w}};$.addItem("items",e),H.current=H.current+1},b[19]=w,b[20]=_.name,b[21]=$,b[22]=k.length,b[23]=J):J=b[23];const K=J;let L;b[24]!==$||b[25]!==k?(L=e=>{const t=k.filter((t,o)=>o!==e);$.updateItem("items",t)},b[24]=$,b[25]=k,b[26]=L):L=b[26];const N=L;let U;b[27]!==_.name||b[28]!==$||b[29]!==R||b[30]!==k?(U=(e,t)=>{const o=k.some((o,r)=>t!==r&&o.text===e),r=[...R];r[t]=o?"Valore duplicato":""===e?"Valore non può essere vuoto":null,T(r),$.updateItem(`items[${t}].text`,e),$.updateItem(`items[${t}].name`,`${_.name}_${h(e)}`)},b[27]=_.name,b[28]=$,b[29]=R,b[30]=k,b[31]=U):U=b[31];const X=U;let Y;b[32]!==A||b[33]!==S||b[34]!==D||b[35]!==M?(Y=(e,t)=>f(i,{size:"small",value:e.text,onChange:e=>M(e.target.value,t),error:Boolean(A[t]),helperText:A[t],disabled:S,sx:{flex:"1 1 180px",minWidth:160,bgcolor:"background.default"},slotProps:{input:{endAdornment:f(r,{color:"error","aria-label":"drag-handle",size:"small",onClick:()=>D(t),children:f(s,{size:18})})},htmlInput:{"aria-label":"select-text-field"}}}),b[32]=A,b[33]=S,b[34]=D,b[35]=M,b[36]=Y):Y=b[36];const Z=Y;let ee;b[37]!==w||b[38]!==S||b[39]!==N||b[40]!==R||b[41]!==X?(ee=(e,t)=>x(l,{spacing:1.5,sx:{p:2,borderRadius:1,border:"1px solid",borderColor:"divider"},children:[f(i,{size:"small","aria-label":"select-text-field",value:e.text,onChange:e=>X(e.target.value,t),error:Boolean(R[t]),helperText:R[t],disabled:S,sx:{minWidth:200,bgcolor:"background.default"},slotProps:{input:{endAdornment:f(r,{color:"error","aria-label":"drag-handle",size:"small",onClick:()=>N(t),children:f(s,{size:18})})},htmlInput:{"aria-label":"option-text-field"}}}),w.length>0&&f(l,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",children:w.map(y)})]}),b[37]=w,b[38]=S,b[39]=N,b[40]=R,b[41]=X,b[42]=ee):ee=b[42];const te=ee;let oe,re;b[43]===Symbol.for("react.memo_cache_sentinel")?(oe={pt:4,pl:2,pr:2,pb:4,backgroundColor:"background.default"},b[43]=oe):oe=b[43],b[44]===Symbol.for("react.memo_cache_sentinel")?(re=f(o,{children:f(a,{variant:"body1",color:"text.secondary",children:"Opzioni di risposta"})}),b[44]=re):re=b[44];const ne=q||S;let le,ie,ae,se,ce,me;if(b[45]===Symbol.for("react.memo_cache_sentinel")?(le=f(c,{size:18}),b[45]=le):le=b[45],b[46]!==P||b[47]!==ne?(ie=x(o,{container:!0,size:12,alignItems:"center",justifyContent:"space-between",children:[re,f(o,{children:f(r,{title:"Aggiungi opzione","aria-label":"add-select-button",color:"primary",onClick:P,disabled:ne,children:le})})]}),b[46]=P,b[47]=ne,b[48]=ie):ie=b[48],b[49]!==w||b[50]!==Z){let e;b[52]!==Z?(e=(e,t)=>f(m.Fragment,{children:Z(e,t)},t),b[52]=Z,b[53]=e):e=b[53],ae=w.map(e),b[49]=w,b[50]=Z,b[51]=ae}else ae=b[51];b[54]!==ae?(se=f(l,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",alignItems:"flex-start",children:ae}),b[54]=ae,b[55]=se):se=b[55],b[56]!==ie||b[57]!==se?(ce=x(l,{spacing:1.5,children:[ie,se]}),b[56]=ie,b[57]=se,b[58]=ce):ce=b[58],b[59]===Symbol.for("react.memo_cache_sentinel")?(me=f(o,{children:f(a,{variant:"body1",color:"text.secondary",children:"Domande"})}),b[59]=me):me=b[59];const de=W||S;let pe,ue,he,ge,fe;if(b[60]===Symbol.for("react.memo_cache_sentinel")?(pe=f(c,{size:18}),b[60]=pe):pe=b[60],b[61]!==K||b[62]!==de?(ue=x(o,{container:!0,size:12,alignItems:"center",justifyContent:"space-between",children:[me,f(o,{children:f(r,{title:"Aggiungi domanda","aria-label":"add-option-button",color:"primary",onClick:K,disabled:de,children:pe})})]}),b[61]=K,b[62]=de,b[63]=ue):ue=b[63],b[64]!==te||b[65]!==k){let e;b[67]!==te?(e=(e,t)=>f(m.Fragment,{children:te(e,t)},e.id??t),b[67]=te,b[68]=e):e=b[68],he=k.map(e),b[64]=te,b[65]=k,b[66]=he}else he=b[66];b[69]!==ue||b[70]!==he?(ge=x(l,{spacing:2,children:[ue,he]}),b[69]=ue,b[70]=he,b[71]=ge):ge=b[71],b[72]!==ce||b[73]!==ge?(fe=x(l,{sx:oe,spacing:3,children:[ce,ge]}),b[72]=ce,b[73]=ge,b[74]=fe):fe=b[74];const xe=fe;let be;return b[75]!==I||b[76]!==_||b[77]!==S||b[78]!==xe?(be=f(g,{contentEdit:xe,index:I,question:_,readonlyMode:S}),b[75]=I,b[76]=_,b[77]=S,b[78]=xe,b[79]=be):be=b[79],be}function y(e,t){return x(l,{direction:"row",spacing:.5,alignItems:"center",sx:{px:1,py:.5,borderRadius:1,bgcolor:"action.hover"},children:[f(n,{disabled:!0,size:"small",sx:{p:0}}),f(a,{variant:"body2",color:"text.secondary",children:e.text})]},t)}function v(e){return e}function z(e){return e}export{b as QuestionTableEditorForm};
1
+ import{c as e}from"react/compiler-runtime";import{useQuestionStateContext as t}from"../../providers/editor/QuestionStateProvider.js";import o from"@mui/material/Grid";import r from"@mui/material/IconButton";import n from"@mui/material/Radio";import l from"@mui/material/Stack";import i from"@mui/material/TextField";import a from"@mui/material/Typography";import{Trash2Icon as s,CirclePlus as c}from"lucide-react";import m from"react";import{calculateLatestId as d}from"../../hooks/editor/QuestionOperations.js";import{useFormStateContext as p}from"../../providers/common/FormStateProvider.js";import{jsx as u,jsxs as h}from"react/jsx-runtime";import{getDefaultData as g,Mapper as f}from"../../utils/config-map.js";import"../../utils/locale.js";import{formatName as x}from"../../utils/format-utils.js";import"@famalabs/survey";import"acorn";import{CommonQuestionEditor as b}from"../question_editor/QuestionCommonEditor.js";function y(n){const y=e(81),{index:_,question:S,readonlyMode:C}=n,$=void 0!==C&&C,{formInstance:j}=p(),k=t(),w=k.value.items||[],A=w?k.value.items?.[0]:null,F=A?.options?.select||[],[B,q]=m.useState(Array(F?.length).fill(null));let P;y[0]!==B?(P=B.filter(z),y[0]=B,y[1]=P):P=y[1];const T=Boolean(P.length),[V,W]=m.useState(Array(w?.length).fill(null));let G;y[2]!==V?(G=V.filter(I),y[2]=V,y[3]=G):G=y[3];const Q=Boolean(G.length);let R;y[4]!==F.length||y[5]!==k||y[6]!==w?(R=()=>{const e={text:`Selezione ${F.length+1}`,score:F.length};for(let t=0;t<w.length;t++)k.updateItem(`items[${t}].options.select`,[...w[t].options?.select??[],e])},y[4]=F.length,y[5]=k,y[6]=w,y[7]=R):R=y[7];const D=R;let E;y[8]!==F||y[9]!==k||y[10]!==w.length?(E=e=>{const t=F.filter((t,o)=>o!==e);for(let e=0;e<w.length;e++)k.updateItem(`items[${e}].options.select`,t)},y[8]=F,y[9]=k,y[10]=w.length,y[11]=E):E=y[11];const M=E;let O;y[12]!==B||y[13]!==F||y[14]!==k||y[15]!==q?(O=(e,t)=>{const o=F.some((o,r)=>t!==r&&o.text===e),r=[...B];r[t]=o?"Valore duplicato":""===e?"Valore non può essere vuoto":null,q(r),k.updateItem(`items[0].options.select[${t}].text`,e)},y[12]=B,y[13]=F,y[14]=k,y[15]=q,y[16]=O):O=y[16];const H=O;let J;y[17]!==j?(J=d(j),y[17]=j,y[18]=J):J=y[18];const[K,L]=m.useState(J);let N;y[19]!==K||y[20]!==F||y[21]!==S.name||y[22]!==k||y[23]!==w.length?(N=()=>{const e={...{...g(f.select.type)},id:(K+1).toString(),text:`Domanda ${w.length+1}`,name:`${S.name}_domanda_${w.length+1}`,index:w?.length||1,options:{required:!0,select:F}};k.addItem("items",e),L(K+1)},y[19]=K,y[20]=F,y[21]=S.name,y[22]=k,y[23]=w.length,y[24]=N):N=y[24];const U=N;let X;y[25]!==k||y[26]!==w?(X=e=>{const t=w.filter((t,o)=>o!==e);k.updateItem("items",t)},y[25]=k,y[26]=w,y[27]=X):X=y[27];const Y=X;let Z;y[28]!==S.name||y[29]!==k||y[30]!==V||y[31]!==w?(Z=(e,t)=>{const o=w.some((o,r)=>t!==r&&o.text===e),r=[...V];r[t]=o?"Valore duplicato":""===e?"Valore non può essere vuoto":null,W(r),k.updateItem(`items[${t}].text`,e),k.updateItem(`items[${t}].name`,`${S.name}_${x(e)}`)},y[28]=S.name,y[29]=k,y[30]=V,y[31]=w,y[32]=Z):Z=y[32];const ee=Z;let te;y[33]!==B||y[34]!==$||y[35]!==M||y[36]!==H?(te=(e,t)=>u(i,{size:"small",value:e.text,onChange:e=>H(e.target.value,t),error:Boolean(B[t]),helperText:B[t],disabled:$,sx:{flex:"1 1 180px",minWidth:160,bgcolor:"background.default"},slotProps:{input:{endAdornment:u(r,{color:"error","aria-label":"drag-handle",size:"small",onClick:()=>M(t),children:u(s,{size:18})})},htmlInput:{"aria-label":"select-text-field"}}}),y[33]=B,y[34]=$,y[35]=M,y[36]=H,y[37]=te):te=y[37];const oe=te;let re;y[38]!==F||y[39]!==$||y[40]!==Y||y[41]!==V||y[42]!==ee?(re=(e,t)=>h(l,{spacing:1.5,sx:{p:2,borderRadius:1,border:"1px solid",borderColor:"divider"},children:[u(i,{size:"small","aria-label":"select-text-field",value:e.text,onChange:e=>ee(e.target.value,t),error:Boolean(V[t]),helperText:V[t],disabled:$,sx:{minWidth:200,bgcolor:"background.default"},slotProps:{input:{endAdornment:u(r,{color:"error","aria-label":"drag-handle",size:"small",onClick:()=>Y(t),children:u(s,{size:18})})},htmlInput:{"aria-label":"option-text-field"}}}),F.length>0&&u(l,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",children:F.map(v)})]}),y[38]=F,y[39]=$,y[40]=Y,y[41]=V,y[42]=ee,y[43]=re):re=y[43];const ne=re;let le,ie;y[44]===Symbol.for("react.memo_cache_sentinel")?(le={pt:4,pl:2,pr:2,pb:4,backgroundColor:"background.default"},y[44]=le):le=y[44],y[45]===Symbol.for("react.memo_cache_sentinel")?(ie=u(o,{children:u(a,{variant:"body1",color:"text.secondary",children:"Opzioni di risposta"})}),y[45]=ie):ie=y[45];const ae=T||$;let se,ce,me,de,pe,ue;if(y[46]===Symbol.for("react.memo_cache_sentinel")?(se=u(c,{size:18}),y[46]=se):se=y[46],y[47]!==D||y[48]!==ae?(ce=h(o,{container:!0,size:12,alignItems:"center",justifyContent:"space-between",children:[ie,u(o,{children:u(r,{title:"Aggiungi opzione","aria-label":"add-select-button",color:"primary",onClick:D,disabled:ae,children:se})})]}),y[47]=D,y[48]=ae,y[49]=ce):ce=y[49],y[50]!==F||y[51]!==oe){let e;y[53]!==oe?(e=(e,t)=>u(m.Fragment,{children:oe(e,t)},t),y[53]=oe,y[54]=e):e=y[54],me=F.map(e),y[50]=F,y[51]=oe,y[52]=me}else me=y[52];y[55]!==me?(de=u(l,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",alignItems:"flex-start",children:me}),y[55]=me,y[56]=de):de=y[56],y[57]!==ce||y[58]!==de?(pe=h(l,{spacing:1.5,children:[ce,de]}),y[57]=ce,y[58]=de,y[59]=pe):pe=y[59],y[60]===Symbol.for("react.memo_cache_sentinel")?(ue=u(o,{children:u(a,{variant:"body1",color:"text.secondary",children:"Domande"})}),y[60]=ue):ue=y[60];const he=Q||$;let ge,fe,xe,be,ye;if(y[61]===Symbol.for("react.memo_cache_sentinel")?(ge=u(c,{size:18}),y[61]=ge):ge=y[61],y[62]!==U||y[63]!==he?(fe=h(o,{container:!0,size:12,alignItems:"center",justifyContent:"space-between",children:[ue,u(o,{children:u(r,{title:"Aggiungi domanda","aria-label":"add-option-button",color:"primary",onClick:U,disabled:he,children:ge})})]}),y[62]=U,y[63]=he,y[64]=fe):fe=y[64],y[65]!==ne||y[66]!==w){let e;y[68]!==ne?(e=(e,t)=>u(m.Fragment,{children:ne(e,t)},e.id??t),y[68]=ne,y[69]=e):e=y[69],xe=w.map(e),y[65]=ne,y[66]=w,y[67]=xe}else xe=y[67];y[70]!==fe||y[71]!==xe?(be=h(l,{spacing:2,children:[fe,xe]}),y[70]=fe,y[71]=xe,y[72]=be):be=y[72],y[73]!==pe||y[74]!==be?(ye=h(l,{sx:le,spacing:3,children:[pe,be]}),y[73]=pe,y[74]=be,y[75]=ye):ye=y[75];const ve=ye;let Ie;return y[76]!==_||y[77]!==S||y[78]!==$||y[79]!==ve?(Ie=u(b,{contentEdit:ve,index:_,question:S,readonlyMode:$}),y[76]=_,y[77]=S,y[78]=$,y[79]=ve,y[80]=Ie):Ie=y[80],Ie}function v(e,t){return h(l,{direction:"row",spacing:.5,alignItems:"center",sx:{px:1,py:.5,borderRadius:1,bgcolor:"action.hover"},children:[u(n,{disabled:!0,size:"small",sx:{p:0}}),u(a,{variant:"body2",color:"text.secondary",children:e.text})]},t)}function I(e){return e}function z(e){return e}export{y as QuestionTableEditorForm};
@@ -1 +1 @@
1
- import{c as e}from"react/compiler-runtime";import{getMapType as t,Mapper as n}from"../../utils/config-map.js";import"../../utils/locale.js";import"@famalabs/survey";import"acorn";import o,{useEffect as i}from"react";const r=e=>{const o=t(e)===n.alert.type,i=t(e)===n.fn.type&&0===e.layout?.visibility;return o||i},s=e=>{const o=[];let i=0,s=1;const a=(e,l)=>{e.forEach(e=>{if(t(e)===n.page.type||t(e)===n.landing.type){const a=e.items??[],d=t(e.parent())!==n.cond.type||Boolean(e.parent().condition),c=!(t(e.parent())!==n.cond.type||!e.items.length)&&!e.parent().compute(),u=e.items.every(e=>!!("sourceList"===t(e)&&e.text&&e.text.length>0)||e.isValid()),g={id:e.id,folderId:l?.id,globalIndex:r(e)?-1:i++,isValid:u&&d,isDisabled:c,questions:a?.map((e,t)=>{const n=r(e)?-1:s++;return{id:e.id,globalIndex:n,localIndex:t,questions:e.items?.map(e=>({id:e.id,globalIndex:n,localIndex:t}))}})};o.push(g)}else(e.items||void 0===e.layout?.style)&&("cond"===e.type?a(e.items,e.parent()):a(e.items,e))})};return a(e),o},a=e=>{const t=e.root.items;return s(t).every(e=>e.isValid)};function l(t,n){const r=e(33),a=void 0!==n&&n,l=t.root.items,f=s(l),[m,p]=o.useState(0);let y;f.length>0&&m>=f.length&&p(f.length-1),r[0]===Symbol.for("react.memo_cache_sentinel")?(y=new Set,r[0]=y):y=r[0];const[h,v]=o.useState(y);let P;r[1]===Symbol.for("react.memo_cache_sentinel")?(P=new Set,r[1]=P):P=r[1];const[x,b]=o.useState(P),S=f[m],I=f.length,V=f.every(g),_=e=>{if(!e)return;const t=f.find(t=>t.id===e);if(t)return t;const n=f.flatMap(u).find(t=>t?.id===e);if(n)return n;const o=f.flatMap(c).flatMap(d).find(t=>t?.id===e);return o||void 0},q=()=>f,w=e=>{if(e>=0&&e<f.length)return f[e]};let D;r[2]!==h?(D=e=>{h.has(e)||v(t=>{const n=new Set(t);return n.add(e),n})},r[2]=h,r[3]=D):D=r[3];const M=D;let j;r[4]!==h?(j=()=>Array.from(h),r[4]=h,r[5]=j):j=r[5];const A=j;let B;r[6]!==x?(B=()=>Array.from(x),r[6]=x,r[7]=B):B=r[7];const C=B;let F;r[8]!==x?(F=e=>{x.has(e)||b(t=>{const n=new Set(t);return n.add(e),n})},r[8]=x,r[9]=F):F=r[9];const L=F,N=e=>{let t=m;if("valid"===(void 0===e?"all":e))for(;t<f.length-1;){t++;const e=f[t]?.isValid,n=f[t]?.isDisabled;if(e&&!n)return p(t),t}else t<f.length-1&&(t++,p(t));return S&&M(S.id),t},E=e=>{let t=m;if("valid"===(void 0===e?"all":e))for(;t>0;){t--;const e=f[t]?.isValid,n=f[t]?.isDisabled;if(e&&!n)return p(t),t}else t>0&&(t--,p(t));return S&&M(S.id),t},[T,k]=o.useState(void 0);let z;r[10]===Symbol.for("react.memo_cache_sentinel")?(z=e=>{k(e)},r[10]=z):z=r[10];const G=z;if("string"==typeof T&&T.length>0){let e;r[11]!==T?(e=e=>e.id===T,r[11]=T,r[12]=e):e=r[12];const t=f.findIndex(e);S&&t>=0&&t<f.length&&(p(t),M(S.id)),k(void 0)}let H,J,K;return r[13]!==S||r[14]!==a||r[15]!==f||r[16]!==I?(H=()=>{a&&(console.log("Flat Pages: ",f),console.log("Current Navigation Page: ",S),console.log("Page count",I))},J=[S,f,I,a],r[13]=S,r[14]=a,r[15]=f,r[16]=I,r[17]=H,r[18]=J):(H=r[17],J=r[18]),i(H,J),r[19]!==L||r[20]!==S||r[21]!==m||r[22]!==_||r[23]!==A||r[24]!==w||r[25]!==q||r[26]!==C||r[27]!==N||r[28]!==E||r[29]!==G||r[30]!==V||r[31]!==I?(K={isFormValid:V,currentPageIndex:m,getItem:_,getPages:q,pageCount:I,currentPage:S,getPageByIndex:w,getLastVisitedPages:A,getValidatedPages:C,addValidatedPage:L,goNextPage:N,goPrevPage:E,goToPage:G},r[19]=L,r[20]=S,r[21]=m,r[22]=_,r[23]=A,r[24]=w,r[25]=q,r[26]=C,r[27]=N,r[28]=E,r[29]=G,r[30]=V,r[31]=I,r[32]=K):K=r[32],K}function d(e){return e?.questions}function c(e){return e.questions}function u(e){return e.questions}function g(e){return e.isValid}export{a as isFormValid,l as useNavigation};
1
+ import{c as e}from"react/compiler-runtime";import{getMapType as t,Mapper as n}from"../../utils/config-map.js";import"../../utils/locale.js";import"@famalabs/survey";import"acorn";import o,{useEffect as i}from"react";const r=e=>{const o=t(e)===n.alert.type,i=t(e)===n.fn.type&&0===e.layout?.visibility;return o||i},s=e=>{const o=[];let i=0,s=1;const a=(e,l)=>{e.forEach(e=>{if(t(e)===n.page.type||t(e)===n.landing.type){const a=e.items??[],c=t(e.parent())!==n.cond.type||Boolean(e.parent().condition);let d=!1;try{t(e.parent())===n.cond.type&&e.items.length&&(d=!e.parent().compute())}catch(e){console.error("Error computing page condition",e),d=!0}const u=e.items.every(e=>!!("sourceList"===t(e)&&e.text&&e.text.length>0)||e.isValid()),g={id:e.id,folderId:l?.id,globalIndex:r(e)?-1:i++,isValid:u&&c,isDisabled:d,questions:a?.map((e,t)=>{const n=r(e)?-1:s++;return{id:e.id,globalIndex:n,localIndex:t,questions:e.items?.map(e=>({id:e.id,globalIndex:n,localIndex:t}))}})};o.push(g)}else(e.items||void 0===e.layout?.style)&&("cond"===e.type?a(e.items,e.parent()):a(e.items,e))})};return a(e),o},a=e=>{const t=e.root.items;return s(t).every(e=>e.isValid)};function l(t,n){const r=e(33),a=void 0!==n&&n,l=t.root.items,m=s(l),[f,p]=o.useState(0);let y;m.length>0&&f>=m.length&&p(m.length-1),r[0]===Symbol.for("react.memo_cache_sentinel")?(y=new Set,r[0]=y):y=r[0];const[h,v]=o.useState(y);let P;r[1]===Symbol.for("react.memo_cache_sentinel")?(P=new Set,r[1]=P):P=r[1];const[x,b]=o.useState(P),S=m[f],I=m.length,V=m.every(g),_=e=>{if(!e)return;const t=m.find(t=>t.id===e);if(t)return t;const n=m.flatMap(u).find(t=>t?.id===e);if(n)return n;const o=m.flatMap(d).flatMap(c).find(t=>t?.id===e);return o||void 0},q=()=>m,w=e=>{if(e>=0&&e<m.length)return m[e]};let D;r[2]!==h?(D=e=>{h.has(e)||v(t=>{const n=new Set(t);return n.add(e),n})},r[2]=h,r[3]=D):D=r[3];const M=D;let j;r[4]!==h?(j=()=>Array.from(h),r[4]=h,r[5]=j):j=r[5];const A=j;let B;r[6]!==x?(B=()=>Array.from(x),r[6]=x,r[7]=B):B=r[7];const C=B;let E;r[8]!==x?(E=e=>{x.has(e)||b(t=>{const n=new Set(t);return n.add(e),n})},r[8]=x,r[9]=E):E=r[9];const F=E,L=e=>{let t=f;if("valid"===(void 0===e?"all":e))for(;t<m.length-1;){t++;const e=m[t]?.isValid,n=m[t]?.isDisabled;if(e&&!n)return p(t),t}else t<m.length-1&&(t++,p(t));return S&&M(S.id),t},N=e=>{let t=f;if("valid"===(void 0===e?"all":e))for(;t>0;){t--;const e=m[t]?.isValid,n=m[t]?.isDisabled;if(e&&!n)return p(t),t}else t>0&&(t--,p(t));return S&&M(S.id),t},[T,k]=o.useState(void 0);let z;r[10]===Symbol.for("react.memo_cache_sentinel")?(z=e=>{k(e)},r[10]=z):z=r[10];const G=z;if("string"==typeof T&&T.length>0){let e;r[11]!==T?(e=e=>e.id===T,r[11]=T,r[12]=e):e=r[12];const t=m.findIndex(e);S&&t>=0&&t<m.length&&(p(t),M(S.id)),k(void 0)}let H,J,K;return r[13]!==S||r[14]!==a||r[15]!==m||r[16]!==I?(H=()=>{a&&(console.log("Flat Pages: ",m),console.log("Current Navigation Page: ",S),console.log("Page count",I))},J=[S,m,I,a],r[13]=S,r[14]=a,r[15]=m,r[16]=I,r[17]=H,r[18]=J):(H=r[17],J=r[18]),i(H,J),r[19]!==F||r[20]!==S||r[21]!==f||r[22]!==_||r[23]!==A||r[24]!==w||r[25]!==q||r[26]!==C||r[27]!==L||r[28]!==N||r[29]!==G||r[30]!==V||r[31]!==I?(K={isFormValid:V,currentPageIndex:f,getItem:_,getPages:q,pageCount:I,currentPage:S,getPageByIndex:w,getLastVisitedPages:A,getValidatedPages:C,addValidatedPage:F,goNextPage:L,goPrevPage:N,goToPage:G},r[19]=F,r[20]=S,r[21]=f,r[22]=_,r[23]=A,r[24]=w,r[25]=q,r[26]=C,r[27]=L,r[28]=N,r[29]=G,r[30]=V,r[31]=I,r[32]=K):K=r[32],K}function c(e){return e?.questions}function d(e){return e.questions}function u(e){return e.questions}function g(e){return e.isValid}export{a as isFormValid,l as useNavigation};
@@ -1 +1 @@
1
- import{c as t}from"react/compiler-runtime";import{DataSource as e,ItemConditional as r}from"@famalabs/survey";import{isEqual as n,get as o}from"lodash-es";import{useEffectEvent as s,useRef as c,useEffect as i}from"react";import{useFormStateContext as a}from"../../providers/common/FormStateProvider.js";import{getMapType as u,Mapper as l}from"../../utils/config-map.js";import"../../utils/locale.js";import"acorn";function f(r){const u=t(39),{initAnswers:l,loadAnswerMethod:f,loading:O}=r,A=void 0===f?"fieldsObject":f,{formInfo:E,formInstance:q,stageMutation:S,syncInstance:C,globalConfig:I}=a(),P=E?.sources,$=I.apiUrl;let z;u[0]!==I.sourceConfig?.staticSources?(z=I.sourceConfig?.staticSources||[],u[0]=I.sourceConfig?.staticSources,u[1]=z):z=u[1];const F=z,k=I.context;let x;u[2]!==$||u[3]!==k?(x=async(t,e)=>{if(!t)return console.warn("API_URL is not defined"),null;if(!e)return console.warn("Source type is not defined"),null;try{switch(e){case"asset":try{const e=`${$}/organization/assets/download/${t}`,r=await fetch(e,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}});return await r.json()}catch(t){const e=t;return console.error("Error fetching asset source:",e),null}case"data":try{if(!k)return null;const e=function(t,e){if(!e.includes(".data."))return o(t,e);const[r,n]=e.split(".data."),s=o(t,`${r}.data`);return s&&"object"==typeof s?n in s?s[n]:o(s,n):void 0}(k,t);return e||(console.error(`Remote source not found at path: ${t}`),null)}catch(t){const e=t;return console.error("Error fetching data source:",e),null}case"static":{const e=await fetch(t);return await e.json()}default:return null}}catch(t){const e=t;return console.error("Error fetching sources",e),{}}},u[2]=$,u[3]=k,u[4]=x):x=u[4];const L=x;let M;u[5]!==L||u[6]!==q.questions||u[7]!==q.sources||u[8]!==P||u[9]!==S||u[10]!==F?(M=async()=>{if(!P||!q?.questions?.find(v)||q?.sources.size>0||!P)return;const t=P&&!Array.isArray(P)?Object.entries(P).map(g):P,r=Object.values(t||[]).map(async t=>{const r=F.length>0?F.find(e=>e.value===t.id):t,n=r?.type||"static";if(!r)return;const o=await L(r?.path,n);if(!o)return;const s=new e("static"===n?Object.entries(o).map(b):Object.entries(o).map(j));S(e=>e.sources.set(t.id,s))}).filter(Boolean);await Promise.all(r)},u[5]=L,u[6]=q.questions,u[7]=q.sources,u[8]=P,u[9]=S,u[10]=F,u[11]=M):M=u[11];const R=M;let T;u[12]!==q.mode||u[13]!==S?(T=()=>{1===q.mode&&S(h)},u[12]=q.mode,u[13]=S,u[14]=T):T=u[14];const U=T;let B;u[15]!==q.questions?(B=()=>{q.questions.forEach(w)},u[15]=q.questions,u[16]=B):B=u[16];const G=B;let W;u[17]!==q.sources||u[18]!==P||u[19]!==l||u[20]!==A||u[21]!==S?(W=()=>{if(l&&Object.values(l).length>0){if(P&&Object.entries(P).length>0&&!q.sources.size)return void console.warn("Warning: Survey sources are defined but not yet loaded");try{t:switch(A){case"fieldsObject":S(t=>t.setFields(l));break t;case"answersObject":try{const t=Object.values(l).map(y).filter(p);S(e=>e.setAnswers(t))}catch(t){const e=t;console.error("Error setting answers",e)}}}catch(t){const e=t;console.error("Error setting initial answers",e)}}},u[17]=q.sources,u[18]=P,u[19]=l,u[20]=A,u[21]=S,u[22]=W):W=u[22];const _=W;let D;u[23]!==_||u[24]!==R||u[25]!==U||u[26]!==C||u[27]!==G?(D=async()=>{U(),await R(),_(),G(),C()},u[23]=_,u[24]=R,u[25]=U,u[26]=C,u[27]=G,u[28]=D):D=u[28];const H=s(D),J=c(!1);let K;u[29]!==q||u[30]!==l||u[31]!==A||u[32]!==O?(K=()=>{if(!q||2!==q.mode||O)return!1;if(!l)return!0;if("fieldsObject"===A){const t=q.getFields();return"object"==typeof l&&!Array.isArray(l)&&Object.keys(l).some(e=>Object.prototype.hasOwnProperty.call(t,e))}{const t=m,e=q.getAnswers(),r=Object.values(l);return!r.every(d)||e.some(e=>{const{id:o,answer:s,score:c}=e;return r.some(e=>e?.id===o&&n(t(e.answer),t(s))&&n(t(e.score),t(c)))})}},u[29]=q,u[30]=l,u[31]=A,u[32]=O,u[33]=K):K=u[33];const N=s(K);let Q,V;u[34]!==N||u[35]!==H?(Q=()=>{J.current||(H(),J.current=N())},u[34]=N,u[35]=H,u[36]=Q):Q=u[36],u[37]!==q?(V=[q],u[37]=q,u[38]=V):V=u[38],i(Q,V)}function d(t){return t&&"object"==typeof t&&"id"in t&&"answer"in t}function m(t){return null==t?null:t}function p(t){return null!=t}function y(t){return t&&"object"==typeof t&&"id"in t&&"answer"in t&&null!==t.answer&&void 0!==t.answer?t:null}function w(t){const e=t instanceof r,n=u(t)===l.cond.type,o=u(t)===l.alert.type;if(e&&(n||o))try{t.compute()}catch(t){const e=t;console.error("Error computing conditional question:",e)}}function h(t){return t.prepare()}function j(t){const[,e]=t;return[e,e]}function b(t){const[e,r]=t;return[e,r]}function g(t){const[e,r]=t;return{id:e,value:r}}function v(t){return u(t)===l.sourceList.type}export{f as useCompilerInit};
1
+ import{c as t}from"react/compiler-runtime";import{DataSource as e,ItemConditional as r}from"@famalabs/survey";import{isEqual as n,get as o}from"lodash-es";import{useEffectEvent as s,useRef as c,useEffect as i}from"react";import{useFormStateContext as a}from"../../providers/common/FormStateProvider.js";import{getMapType as u,Mapper as l}from"../../utils/config-map.js";import"../../utils/locale.js";import"acorn";function f(r){const u=t(37),{initAnswers:l,loadAnswerMethod:f,loading:O}=r,A=void 0===f?"fieldsObject":f,{formInfo:E,formInstance:q,stageMutation:C,syncInstance:I,globalConfig:S}=a(),P=E?.sources,$=S.apiUrl;let k;u[0]!==S.sourceConfig?.staticSources?(k=S.sourceConfig?.staticSources||[],u[0]=S.sourceConfig?.staticSources,u[1]=k):k=u[1];const x=k,F=S.context;let M;u[2]!==$||u[3]!==F?(M=async(t,e)=>{if(!t)return console.warn("API_URL is not defined"),null;if(!e)return console.warn("Source type is not defined"),null;try{switch(e){case"asset":try{const e=`${$}/organization/assets/download/${t}`,r=await fetch(e,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}});return await r.json()}catch(t){const e=t;return console.error("Error fetching asset source:",e),null}case"data":try{if(!F)return null;const e=function(t,e){if(!e.includes(".data."))return o(t,e);const[r,n]=e.split(".data."),s=o(t,`${r}.data`);return s&&"object"==typeof s?n in s?s[n]:o(s,n):void 0}(F,t);return e||(console.error(`Remote source not found at path: ${t}`),null)}catch(t){const e=t;return console.error("Error fetching data source:",e),null}case"static":{const e=await fetch(t);return await e.json()}default:return null}}catch(t){const e=t;return console.error("Error fetching sources",e),{}}},u[2]=$,u[3]=F,u[4]=M):M=u[4];const z=M;let L;u[5]!==z||u[6]!==q.questions||u[7]!==q.sources||u[8]!==P||u[9]!==C||u[10]!==x?(L=async()=>{if(!P||!q?.questions?.find(v)||q?.sources.size>0||!P)return;const t=P&&!Array.isArray(P)?Object.entries(P).map(g):P,r=Object.values(t||[]).map(async t=>{const r=x.length>0?x.find(e=>e.value===t.id):t,n=r?.type||"static";if(!r)return;const o=await z(r?.path,n);if(!o)return;const s=new e("static"===n?Object.entries(o).map(b):Object.entries(o).map(j));C(e=>e.sources.set(t.id,s))}).filter(Boolean);await Promise.all(r)},u[5]=z,u[6]=q.questions,u[7]=q.sources,u[8]=P,u[9]=C,u[10]=x,u[11]=L):L=u[11];const R=L;let T;u[12]!==q.mode||u[13]!==C?(T=()=>{1===q.mode&&C(h)},u[12]=q.mode,u[13]=C,u[14]=T):T=u[14];const U=T;let B;u[15]!==q.questions?(B=()=>{q.questions.forEach(w)},u[15]=q.questions,u[16]=B):B=u[16];const G=B;let _;u[17]!==l||u[18]!==A||u[19]!==C?(_=()=>{if(l&&0!==Object.values(l).length)try{t:switch(A){case"fieldsObject":C(t=>t.setFields(l));break t;case"answersObject":try{const t=Object.values(l).map(y).filter(p);C(e=>e.setAnswers(t))}catch(t){const e=t;console.error("Error setting answers",e)}}}catch(t){const e=t;console.error("Error setting initial answers",e)}},u[17]=l,u[18]=A,u[19]=C,u[20]=_):_=u[20];const D=_;let H;u[21]!==D||u[22]!==R||u[23]!==U||u[24]!==I||u[25]!==G?(H=async()=>{U(),await R(),D(),G(),I()},u[21]=D,u[22]=R,u[23]=U,u[24]=I,u[25]=G,u[26]=H):H=u[26];const J=s(H),K=c(!1),N=c(0);let Q;u[27]!==q||u[28]!==l||u[29]!==A||u[30]!==O?(Q=()=>{if(!q||2!==q.mode||O)return!1;if(!l)return!0;if("fieldsObject"===A){const t=q.getFields();return!("object"!=typeof l&&null==l||Array.isArray(l))&&Object.keys(l).some(e=>Object.prototype.hasOwnProperty.call(t,e))}{const t=m,e=q.getAnswers(),r=Object.values(l);return!r.every(d)||e.some(e=>{const{id:o,answer:s,score:c}=e;return r.some(e=>e?.id===o&&n(t(e.answer),t(s))&&n(t(e.score),t(c)))})}},u[27]=q,u[28]=l,u[29]=A,u[30]=O,u[31]=Q):Q=u[31];const V=s(Q);let W,X;u[32]!==V||u[33]!==J?(W=()=>{if(!K.current){if(N.current>=10)return console.warn("[InitCompiler] Max load attempts reached, marking answers as loaded"),void(K.current=!0);N.current=N.current+1,J(),K.current=V()}},u[32]=V,u[33]=J,u[34]=W):W=u[34],u[35]!==q?(X=[q],u[35]=q,u[36]=X):X=u[36],i(W,X)}function d(t){return t&&"object"==typeof t&&"id"in t&&"answer"in t}function m(t){return null==t?null:t}function p(t){return null!=t}function y(t){return t&&"object"==typeof t&&"id"in t&&"answer"in t&&null!==t.answer&&void 0!==t.answer?t:null}function w(t){const e=t instanceof r,n=u(t)===l.cond.type,o=u(t)===l.alert.type;if(e&&(n||o))try{t.compute()}catch(t){const e=t;console.error("Error computing conditional question:",e)}}function h(t){return t.prepare()}function j(t){const[,e]=t;return[e,e]}function b(t){const[e,r]=t;return[e,r]}function g(t){const[e,r]=t;return{id:e,value:r}}function v(t){return u(t)===l.sourceList.type}export{f as useCompilerInit};
@@ -1 +1 @@
1
- import{OperationType as e}from"@famalabs/survey";import{getDefaultData as r,Mapper as t,getMapType as o}from"../../utils/config-map.js";import"../../utils/locale.js";import{formatName as n}from"../../utils/format-utils.js";import"acorn";import{Option as a}from"../../types/ResultTypes.js";const d=(o,n)=>{const d={type:e.ADD,data:r(t.folder.type),id:o.root.id,parent:o.root.id,index:-1};if(!o.root)return{local:a.none(),server:d};const i=n(e=>e.add(e.root.id,r(t.folder.type),-1));return{local:a.from(i),server:d}},i=(o,d,i,l=-1,s={})=>{const p=r(t.page.type),c={...p,name:n(p.text),...s},m=i??o.root,f={type:e.ADD,data:c,id:m.id,parent:m.id,index:l??-1},u=d(e=>e.add(m.id,c,l??-1));return{local:a.from(u),server:f}},l=(o,n)=>{const d={type:e.ADD,data:r(t.landing.type),id:o.root.id,parent:o.root.id,index:0};if(!o.root)return{local:a.none(),server:d};const i=n(e=>e.add(e.root.id,r(t.landing.type),0));return{local:a.from(i),server:d}},s=(t,o,n,d,i={})=>{const l={...r(o),...i},s={type:e.ADD,data:l,id:n,parent:n,index:d??-1},p=t(e=>e.add(n,l,d??-1));return{local:a.from(p),server:s}},p=(r,n,d,i)=>{const l=n.toJSON(),{id:s,items:p,...c}=l,m=o(d)===t.section.type,f={...c,text:m?`${n.text}`:`${n.text} (Copia)`,name:m?`${n.name}`:`${n.name}_copia`},u={type:e.ADD,data:f,id:d.id,parent:d.id,index:i??-1},y=r(e=>e.add(d.id,f,i??-1));return{local:a.from(y),server:u}},c=(r,t)=>{const o={type:e.REMOVE,data:null,id:t.id};if(!t)return{local:a.none(),server:o};const n=r(e=>e.remove(t.id));return{local:a.from(n),server:o}},m=(r,t,o)=>{const n={type:e.UPDATE,data:o,id:t.id,parent:t.parent()?.id};if(!o||"object"!=typeof o)return{local:a.none(),server:n};const d=r(e=>e.update(t.id,o));return{local:a.from(d),server:n}},f=(r,t,o)=>{const n={type:e.REPLACE,data:o,id:t.id,parent:t.parent()?.id,index:-1};if(!t||!o)return{local:a.none(),server:n};const d=r(e=>e.replace(t.id,o));return{local:a.from(d),server:n}},u=(r,t,o,n)=>{const d={type:e.MOVE,data:null,id:t.id,parent:n,index:o};if(!t||o<0)return{local:a.none(),server:d};const i=r(e=>e.move(t.id,Number(o),n));return{local:a.from(i),server:d}};export{d as addLocalFolder,l as addLocalLandingPage,i as addLocalPage,s as addLocalQuestion,p as duplicateLocalItem,u as moveLocalItem,c as removeLocalItem,f as replaceLocalItem,m as updateLocalItem};
1
+ import{Option as e}from"../../types/ResultTypes.js";import{OperationType as r}from"@famalabs/survey";import{getDefaultData as t,Mapper as o,getMapType as n}from"../../utils/config-map.js";import"../../utils/locale.js";import{formatName as a}from"../../utils/format-utils.js";import"acorn";const d=(n,a)=>{const d={type:r.ADD,data:t(o.folder.type),id:n.root.id,parent:n.root.id,index:-1};if(!n.root)return{local:e.none(),server:d};const i=a(e=>e.add(e.root.id,t(o.folder.type),-1));return{local:e.from(i),server:d}},i=(n,d,i,l=-1,s={})=>{const p=t(o.page.type),c={...p,name:a(p.text),...s},m=i??n.root,f={type:r.ADD,data:c,id:m.id,parent:m.id,index:l??-1},u=d(e=>e.add(m.id,c,l??-1));return{local:e.from(u),server:f}},l=(n,a)=>{const d={type:r.ADD,data:t(o.landing.type),id:n.root.id,parent:n.root.id,index:0};if(!n.root)return{local:e.none(),server:d};const i=a(e=>e.add(e.root.id,t(o.landing.type),0));return{local:e.from(i),server:d}},s=(o,n,a,d,i={})=>{const l={...t(n),...i},s={type:r.ADD,data:l,id:a,parent:a,index:d??-1},p=o(e=>e.add(a,l,d??-1));return{local:e.from(p),server:s}},p=(t,a,d,i)=>{const l=a.toJSON(),{id:s,items:p,...c}=l,m=n(d)===o.section.type,f={...c,text:m?`${a.text}`:`${a.text} (Copia)`,name:m?`${a.name}`:`${a.name}_copia`},u={type:r.ADD,data:f,id:d.id,parent:d.id,index:i??-1},y=t(e=>e.add(d.id,f,i??-1));return{local:e.from(y),server:u}},c=(t,o)=>{const n={type:r.REMOVE,data:null,id:o.id};if(!o)return{local:e.none(),server:n};const a=t(e=>e.remove(o.id));return{local:e.from(a),server:n}},m=(t,o,n)=>{const a={type:r.UPDATE,data:n,id:o.id,parent:o.parent()?.id};if(!n||"object"!=typeof n)return{local:e.none(),server:a};const d=t(e=>e.update(o.id,n));return{local:e.from(d),server:a}},f=(t,o,n)=>{const a={type:r.REPLACE,data:n,id:o.id,parent:o.parent()?.id,index:-1};if(!o||!n)return{local:e.none(),server:a};const d=t(e=>e.replace(o.id,n));return{local:e.from(d),server:a}},u=(t,o,n,a)=>{const d={type:r.MOVE,data:null,id:o.id,parent:a,index:n};if(!o||n<0)return{local:e.none(),server:d};const i=t(e=>e.move(o.id,Number(n),a));return{local:e.from(i),server:d}};export{d as addLocalFolder,l as addLocalLandingPage,i as addLocalPage,s as addLocalQuestion,p as duplicateLocalItem,u as moveLocalItem,c as removeLocalItem,f as replaceLocalItem,m as updateLocalItem};