react-luminus-components 1.3.133 → 1.3.134
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.cjs.js +1 -1
- package/dist/main.es.js +181 -181
- package/package.json +1 -1
package/dist/main.cjs.js
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
Prefix can't start with '-' when allowNegative is true.
|
|
7
7
|
prefix: `+o+`
|
|
8
8
|
allowNegative: `+a+`
|
|
9
|
-
`),a=!1),Object.assign(Object.assign({},t),{allowNegative:a})}function La(t){t=$a(t),t.decimalSeparator,t.allowedDecimalSeparators,t.thousandsGroupStyle;var n=t.suffix,s=t.allowNegative,r=t.allowLeadingZeros,o=t.onKeyDown;o===void 0&&(o=_e);var a=t.onBlur;a===void 0&&(a=_e);var l=t.thousandSeparator,u=t.decimalScale,c=t.fixedDecimalScale,x=t.prefix;x===void 0&&(x="");var d=t.defaultValue,m=t.value,g=t.valueIsNumericString,j=t.onValueChange,f=ss(t,["decimalSeparator","allowedDecimalSeparators","thousandsGroupStyle","suffix","allowNegative","allowLeadingZeros","onKeyDown","onBlur","thousandSeparator","decimalScale","fixedDecimalScale","prefix","defaultValue","value","valueIsNumericString","onValueChange"]),h=at(t),v=h.decimalSeparator,y=h.allowedDecimalSeparators,E=function(L){return Xt(L,t)},p=function(L,$){return Fa(L,$,t)},b=Be(m)?d:m,w=g??Da(b,x,n);Be(m)?Be(d)||(w=w||typeof d=="number"):w=w||typeof m=="number";var _=function(L){return rs(L)?L:(typeof L=="number"&&(L=is(L)),w&&typeof u=="number"?Zt(L,u,!!c):L)},k=cs(_(m),_(d),!!w,E,p,j),C=k[0],D=C.numAsString,S=C.formattedValue,I=k[1],R=function(L){var $=L.target,B=L.key,V=$.selectionStart,z=$.selectionEnd,U=$.value;if(U===void 0&&(U=""),(B==="Backspace"||B==="Delete")&&z<x.length){L.preventDefault();return}if(V!==z){o(L);return}B==="Backspace"&&U[0]==="-"&&V===x.length+1&&s&&Te($,1),u&&c&&(B==="Backspace"&&U[V-1]===v?(Te($,V-1),L.preventDefault()):B==="Delete"&&U[V]===v&&L.preventDefault()),y!=null&&y.includes(B)&&U[V]===v&&Te($,V+1);var q=l===!0?",":l;B==="Backspace"&&U[V-1]===q&&Te($,V-1),B==="Delete"&&U[V]===q&&Te($,V+1),o(L)},F=function(L){var $=D;if($.match(/\d/g)||($=""),r||($=ga($)),c&&u&&($=Zt($,u,c)),$!==D){var B=Xt($,t);I({formattedValue:B,value:$,floatValue:parseFloat($)},{event:L,source:qe.event})}a(L)},H=function(L){return L===v?!0:Qe(L)},K=function(L){var $=L.currentValue,B=L.lastValue,V=L.formattedValue,z=L.currentValueIndex,U=L.formattedValueIndex,q=$[z],M=V[U],N=ls(B,$),P=N.to;return z>=P.start&&z<P.end&&y&&y.includes(q)&&M===v?!0:q===M};return Object.assign(Object.assign({},f),{value:S,valueIsNumericString:!1,isValidInputCharacter:H,isCharacterSame:K,onValueChange:I,format:E,removeFormatting:p,getCaretBoundary:function(L){return Ta(L,t)},onKeyDown:R,onBlur:F})}function Tt(t){var n=La(t);return i.createElement(ka,Object.assign({},n))}const Oa=({InputContainer:t=e.FloatingLabelInput,value:n,onChange:s,debounceMs:r,label:o,withoutLabel:a,placeholder:l,size:u,hidden:c,disabled:x,showClearIcon:d,clearValue:m,className:g,step:j,noSelectOnFocus:f,decimalScale:h,numberPrefix:v,numberSuffix:y,min:E,max:p})=>{const b=i.useCallback(()=>{if(!s)return;const S=m??null;s(S?Number(S):null)},[m,s]),w=i.useRef(null),[_,k]=i.useState((n==null?void 0:n.toString())??""),C=i.useCallback(S=>{const I=S;s&&s(I==null||I===""?null:Number(I))},[s]),D=i.useCallback(S=>{var R,F;let I=parseFloat(((F=(R=S.target)==null?void 0:R.value)==null?void 0:F.replaceAll(" ","").replaceAll(",","."))??0);if(Number.isNaN(I)&&(I=0),!r){C(I.toString());return}k(I.toString()),w.current!==null&&window.clearTimeout(w.current),w.current=window.setTimeout(()=>{C(I.toString())},r)},[r,C]);return i.useEffect(()=>{k(n===null?"":n.toString())},[p,E,n]),i.useEffect(()=>{p!==void 0&&Number(_)>p&&k(p.toString()),E!==void 0&&Number(_)<E&&k(E.toString())},[_,p,E,k]),i.useEffect(()=>{!s||n===null||(p!==void 0&&n>p&&s(p),E!==void 0&&n<E&&s(E))},[n,p,E,s]),e.jsxRuntimeExports.jsxs(t,{withoutLabel:a,label:o??"",hidden:c,className:g,children:[e.jsxRuntimeExports.jsx(Tt,{displayType:"input",thousandSeparator:" ",decimalSeparator:",",decimalScale:h,prefix:v,suffix:y,defaultValue:"",value:r?_:(n==null?void 0:n.toString())??"",placeholder:l??o,onFocus:S=>{!f&&S.target.select()},onChange:D,hidden:c,disabled:x,className:e.classNames("form-control text-end w-100",{[`form-control-${u}`]:u}),step:j,min:E,max:p}),d&&n!==null&&s&&!x&&e.jsxRuntimeExports.jsx("div",{className:"luminus-input-remove-icon inset",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"secondary",size:"sm",onClick:b,children:e.jsxRuntimeExports.jsx(e.MdClear,{})})})]})},en=[["D","day"],["M","month"],["Y","year"],["C","custom"]],Ma="_wrapper_qfqux_1",Ba="_lg_qfqux_7",Aa="_sm_qfqux_11",Pa="_md_qfqux_14",tn={wrapper:Ma,lg:Ba,sm:Aa,md:Pa},tt=t=>{const n=new Date(t),s=e.trimIsoDate(n.toISOString());n.setMonth(n.getMonth()+1),n.setDate(n.getDate()-1);const r=e.trimIsoDate(n.toISOString());return{from:s,to:r}},Ke=t=>{const n=new Date(t),s=e.trimIsoDate(n.toISOString());n.setFullYear(n.getFullYear()+1),n.setDate(n.getDate()-1);const r=e.trimIsoDate(n.toISOString());return{from:s,to:r}},Va=(t,n)=>{if(t===null||n===null)return"C";if(t===n)return"D";const s=new Date(t);return tt(s).to===n?"M":Ke(s).to===n?"Y":(console.log(Ke(s),n),"C")},Ha=(t,n,s)=>{const r=i.useCallback((l,u)=>{if(t==="C"){s(c=>({...c,[l]:u}));return}switch(l){case"from":s(c=>{if(u===null)return c;const x=new Date(u);if(t==="D"){const d=e.trimIsoDate(x.toISOString());return{from:d,to:d}}return t==="M"?tt(x):t==="Y"?Ke(x):c});break;case"to":n("C"),s(c=>({...c,[l]:u}));break}},[t,s,n]),o=i.useCallback(l=>{s(u=>{if(u.from===null||u.to===null)return u;const c=new Date(u.from);c.setHours(c.getHours()-c.getTimezoneOffset()/60);const x=new Date(u.to);if(t==="D"){c.setDate(c.getDate()+l);const d=e.trimIsoDate(c.toISOString());return{from:d,to:d}}return t==="M"?(c.setMonth(c.getMonth()+l),tt(c)):t==="Y"?(c.setFullYear(c.getFullYear()+l),Ke(c)):{from:e.trimIsoDate(c.toISOString()),to:e.trimIsoDate(x.toISOString())}})},[t,s]),a=i.useCallback(l=>{l==="D"?s(u=>({from:u.from,to:u.from})):l==="M"?s(u=>{if(u.from===null)return u;const c=e.getFirstDayOfMonth(u.from);return tt(c)}):l==="Y"&&s(u=>{if(u.from===null)return u;const c=e.getFirstDayOfYear(new Date(u.from).getFullYear());return Ke(c)}),n(l)},[s,n]);return{setFromToProp:r,handleArrowClick:o,handleRangeChange:a}},Wa=({fromtoState:[t,n],className:s,size:r})=>{const{texts:{date:o},ProjectIconComponent:a}=i.useContext(e.LuminusComponentsContext),[l,u]=i.useState("C"),{handleArrowClick:c,handleRangeChange:x,setFromToProp:d}=Ha(l,u,n),m=i.useMemo(()=>l==="C",[l]),g=i.useRef(!0);return i.useEffect(()=>{if(g.current){const j=Va(t.from,t.to);u(j),g.current=!1}},[t.from,t.to]),e.jsxRuntimeExports.jsxs("div",{className:e.classNames("d-inline-flex align-items-center gap-1",tn.wrapper,tn[r??"md"],s),children:[e.jsxRuntimeExports.jsx(e.IconButton,{disabled:m,onClick:()=>{c(-1)},children:e.jsxRuntimeExports.jsx(a,{icon:"chevron-left"})}),e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-1",children:[e.jsxRuntimeExports.jsx($e,{type:"date",value:t.from,onChange:j=>d("from",j===null?null:j.toString()),InputContainer:e.NoInputContainer,size:r}),e.jsxRuntimeExports.jsx(e.Dropdown,{toggle:e.jsxRuntimeExports.jsx(e.DropdownToggle,{text:o[en.find(j=>j[0]===l)[1]].substring(0,1),as:e.FromToDatePickerDropdownToggle}),children:en.map(j=>e.jsxRuntimeExports.jsx(e.DropdownItem,{disabled:j[0]===l,className:e.classNames(j[0]===l?"text-black-50":""),onClick:()=>x(j[0]),role:"button",children:o[j[1]]},j[0]))}),e.jsxRuntimeExports.jsx($e,{type:"date",value:t.to,onChange:j=>d("to",j===null?null:j.toString()),InputContainer:e.NoInputContainer,size:r})]})}),e.jsxRuntimeExports.jsx(e.IconButton,{disabled:m,onClick:()=>{c(1)},children:e.jsxRuntimeExports.jsx(a,{icon:"chevron-right"})})]})},za=({defaultMonth:t,searchKey:n="monthFrom",yearMin:s,yearMax:r})=>{const{localizationContext:o}=i.useContext(e.LuminusComponentsContext),{dateFnsLocale:a}=i.useContext(o),{searchParams:l,setSearch:u}=Ae.useSearchQuery(),c=l.get(n),x=c?e.parseISO(c):t,d=i.useCallback(m=>{u(n,gt(m,{representation:"date"}))},[n,u]);return e.jsxRuntimeExports.jsx(Un,{month:x,onChangeMonth:d,locale:a,yearMin:s,yearMax:r})},Ua=({defaultYear:t,searchKey:n="yearFrom",optionMin:s,optionMax:r,className:o})=>{const[a,l]=Ae.useSearchQueryState(n,gt(t,{representation:"date"})),u=a?e.parseISO(a):t,c=i.useCallback(x=>{l(gt(x,{representation:"date"}))},[l]);return e.jsxRuntimeExports.jsx(Gn,{year:u,onChangeYear:c,optionMin:s,optionMax:r,className:o})},Ga=({data:t,showLegend:n=!1,legendPosition:s="left",onClick:r})=>{const{chartColorPalette:o}=i.useContext(e.LuminusComponentsContext);return e.jsxRuntimeExports.jsx(e._,{data:t,margin:{top:50,right:n&&s==="right"?200:100,bottom:50,left:n&&s==="left"?200:100},innerRadius:.4,padAngle:4,cornerRadius:2,activeOuterRadiusOffset:10,borderWidth:2,borderColor:{from:"color",modifiers:[["darker",.5]]},colors:o,arcLinkLabelsSkipAngle:10,arcLinkLabelsTextColor:{from:"color",modifiers:[["darker",.5]]},arcLinkLabelsThickness:2,arcLinkLabelsColor:{from:"color"},enableArcLabels:!1,legends:n?[{anchor:s,direction:s==="left"||s==="right"?"column":"row",justify:!1,translateX:s==="left"?-200:s==="right"?200:0,translateY:s==="top"?-50:s==="bottom"?50:0,itemsSpacing:4,itemWidth:120,itemHeight:18,itemTextColor:"#1e2832",itemDirection:"left-to-right",itemOpacity:1,symbolSize:18,symbolShape:"circle",padding:10}]:[],onClick:a=>r&&r(a.data)})},Ka=({errors:t,schema:n})=>{const s=r=>{var o,a;return r.toLowerCase()==="others"?"Obecné":((a=(o=n.columns)==null?void 0:o.find(l=>l.field===r))==null?void 0:a.caption)??r};return e.jsxRuntimeExports.jsx("div",{className:"alert alert-danger w-100 m-0 p-2",children:e.jsxRuntimeExports.jsx("table",{children:e.jsxRuntimeExports.jsx("tbody",{children:t.map(r=>e.jsxRuntimeExports.jsxs("tr",{children:[e.jsxRuntimeExports.jsx("td",{className:"fw-bold pe-2",children:e.jsxRuntimeExports.jsxs(e.Typography,{variant:"body",children:[s(r.name),":"]})}),e.jsxRuntimeExports.jsx("td",{className:"",children:e.jsxRuntimeExports.jsx(e.Typography,{variant:"body",children:r.errors})})]},r.name))})})})},us=t=>{const n={};return Object.keys(t).forEach(s=>{if(t[s].value===!0){n[s]=1;return}if(t[s].value===!1){n[s]=0;return}n[s]=t[s].value}),n},nn=(t,n)=>{const s={};return Object.keys(t).forEach(r=>{var l;const o=t[r],a=(l=n.columns)==null?void 0:l.find(u=>u.field===r);if((a==null?void 0:a.type)==="BIT"&&(o===1||o===0)){s[r]={value:o===1,defaultValue:o===1};return}s[r]={value:o,defaultValue:o}}),s},Ya="_table_1klfy_1",qa="_table-header_1klfy_10",Qa="_table-row_1klfy_10",Za="_table-head_1klfy_10",Ja="_filters-row_1klfy_19",Xa="_table-body_1klfy_30",ei="_table-cell_1klfy_30",ti="_action-column_1klfy_43",ni="_sticky-top_1klfy_47",si="_sticky-first_1klfy_54",ri="_sticky-last_1klfy_61",oi="_sticky-bottom_1klfy_68",se={table:Ya,"table-header":"_table-header_1klfy_10",tableHeader:qa,"table-row":"_table-row_1klfy_10",tableRow:Qa,"table-head":"_table-head_1klfy_10",tableHead:Za,"filters-row":"_filters-row_1klfy_19",filtersRow:Ja,"table-body":"_table-body_1klfy_30",tableBody:Xa,"table-cell":"_table-cell_1klfy_30",tableCell:ei,"action-column":"_action-column_1klfy_43",actionColumn:ti,"sticky-top":"_sticky-top_1klfy_47",stickyTop:ni,"sticky-first":"_sticky-first_1klfy_54",stickyFirst:si,"sticky-last":"_sticky-last_1klfy_61",stickyLast:ri,"sticky-bottom":"_sticky-bottom_1klfy_68",stickyBottom:oi},ai="_input_13mhy_1",Oe={input:ai},ds=({type:t,value:n,field:s,isPrimary:r,isReadonly:o,primaryEditable:a=!1,valuesForSelect:l,onChangeHandler:u,hideClearIcon:c,clearValue:x})=>{switch(t){case"NUM":return l&&l.length>0?e.jsxRuntimeExports.jsx(Ye,{withoutLabel:!0,InputContainer:e.NoInputContainer,className:Oe.input,size:"sm",value:(n==null?void 0:n.toString())??"",onChange:d=>u(s,d===null?null:Number(d)),options:l,disabled:o||a?!1:r,showClearIcon:!c,clearValue:x}):e.jsxRuntimeExports.jsx($e,{withoutLabel:!0,InputContainer:e.NoInputContainer,className:Oe.input,size:"sm",type:"number",value:n===null?null:Number(n),onChange:d=>u(s,d===null?null:Number(d)),disabled:o||a?!1:r,showClearIcon:!c,clearValue:x});case"STR":return l&&l.length>0?e.jsxRuntimeExports.jsx(Ye,{withoutLabel:!0,InputContainer:e.NoInputContainer,className:Oe.input,size:"sm",value:(n==null?void 0:n.toString())??"",onChange:d=>u(s,(d==null?void 0:d.toString())??null),options:l,disabled:o||a?!1:r,showClearIcon:!c,clearValue:x}):e.jsxRuntimeExports.jsx($e,{withoutLabel:!0,InputContainer:e.NoInputContainer,className:Oe.input,size:"sm",type:"text",value:(n==null?void 0:n.toString())??"",onChange:d=>u(s,(d==null?void 0:d.toString())??null),disabled:o||a?!1:r,showClearIcon:!c,clearValue:x});case"BIT":return e.jsxRuntimeExports.jsx(Dt,{InputContainer:e.NoInputContainer,className:Oe.input,value:n===!0,onChange:d=>u(s,d),disabled:o||a?!1:r});case"DT":return e.jsxRuntimeExports.jsx($e,{withoutLabel:!0,InputContainer:e.NoInputContainer,className:Oe.input,size:"sm",type:"date",value:n?n.toString().split("T")[0]??"":"",onChange:d=>u(s,(d==null?void 0:d.toString())??null),disabled:o||a?!1:r,showClearIcon:!c,clearValue:x});default:return e.jsxRuntimeExports.jsx("div",{className:"alert alert-warning p-1 m-0",children:e.jsxRuntimeExports.jsxs(e.Typography,{variant:"body",children:["Neznámý typ ",t]})})}},ii=({schema:t,columns:n,initialItem:s,onEdit:r,onDelete:o})=>{const{ProjectIconComponent:a}=i.useContext(e.LuminusComponentsContext),[l,u]=i.useState(s),c=i.useCallback((m,g)=>{console.log("changeValue",m,g),u(j=>({...j,[m]:{...j[m],value:g}}))},[]),x=m=>(m==null?void 0:m.value)!==(m==null?void 0:m.defaultValue),d=i.useCallback(()=>Object.keys(l).some(m=>x(l[m])),[l]);return i.useEffect(()=>{u(s)},[s]),e.jsxRuntimeExports.jsxs("tr",{className:e.classNames("table-row",se.tableRow),children:[e.jsxRuntimeExports.jsx("td",{className:e.classNames("table-cell",se.tableCell,se.stickyFirst),children:d()&&e.jsxRuntimeExports.jsx(e.IconButton,{color:"success",onClick:()=>r(us(l)),children:e.jsxRuntimeExports.jsx(a,{icon:"check"})})}),n.map(m=>{var g,j;return e.jsxRuntimeExports.jsx("td",{className:e.classNames("table-cell",se.tableCell),children:e.jsxRuntimeExports.jsx(ds,{type:m.type,value:(g=l[m.field??""])==null?void 0:g.value,field:m.field,isReadonly:m.readOnly,isPrimary:t.primaryKey===m.field,valuesForSelect:m.valuesForSelect,onChangeHandler:c,hideClearIcon:!x(l[m.field??""]),clearValue:(j=l[m.field??""].defaultValue)==null?void 0:j.toString()})},`${t.id}-${m.field}`)}),e.jsxRuntimeExports.jsx("td",{className:e.classNames("table-cell",se.tableCell,se.stickyLast),children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"danger",onClick:()=>o(l[t.primaryKey??""].value),children:e.jsxRuntimeExports.jsx(a,{icon:"delete"})})})]})},li=({schema:t,columns:n,onCreate:s})=>{const{ProjectIconComponent:r}=i.useContext(e.LuminusComponentsContext),[o,a]=i.useState(null),l=i.useCallback(()=>{var x;const c={};(x=t.columns)==null||x.forEach(d=>{const m=d.type==="BIT"?!1:d.type==="NUM"?0:d.type==="STR"?"":null;c[d.field??""]={value:m,defaultValue:m}}),a(c)},[t]),u=i.useCallback((c,x)=>{a(d=>d&&{...d,[c]:{...d[c],value:x}})},[]);return o?e.jsxRuntimeExports.jsxs("tr",{className:"sticky-bottom shadow",children:[e.jsxRuntimeExports.jsx("td",{className:"sticky-first",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"success",onClick:async()=>{const c=us(o);c&&await s(c)&&a(null)},children:e.jsxRuntimeExports.jsx(r,{icon:"check"})})}),n.map(c=>e.jsxRuntimeExports.jsx("td",{children:e.jsxRuntimeExports.jsx(ds,{type:c.type,value:o[c.field??""].value,field:c.field,isReadonly:c.readOnly,isPrimary:t.primaryKey===c.field,valuesForSelect:c.valuesForSelect,onChangeHandler:u,primaryEditable:!0})},`${t.id}-${c.field}`)),e.jsxRuntimeExports.jsx("td",{className:"sticky-last",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"danger",onClick:()=>a(null),children:e.jsxRuntimeExports.jsx(r,{icon:"cancel"})})})]}):e.jsxRuntimeExports.jsxs("tr",{className:"sticky-bottom shadow",children:[e.jsxRuntimeExports.jsx("td",{className:"sticky-first",children:e.jsxRuntimeExports.jsx(e.IconButton,{onClick:l,children:e.jsxRuntimeExports.jsx(r,{icon:"add"})})}),e.jsxRuntimeExports.jsx("td",{colSpan:n.length+1})]})},ci=({column:t,children:n})=>t.description?e.jsxRuntimeExports.jsx(Ze.SimpleTooltip,{placement:"bottom",text:t.description??"",children:e.jsxRuntimeExports.jsx("div",{children:n})}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:n}),ui=({schema:t,items:n,onEditItem:s,onDeleteItem:r,onCreateItem:o,filters:a,setFilter:l,sortByField:u,sortByType:c,setSortBy:x,selectedMaster:d})=>{const{texts:{dynamicForms:m},ProjectIconComponent:g}=i.useContext(e.LuminusComponentsContext),[j,f]=i.useState([]);return i.useEffect(()=>{var h,v,y;f([...((y=(v=(h=t.columns)==null?void 0:h.filter(E=>!E.hidden))==null?void 0:v.filter(E=>t.masterReference?E.field!==t.masterReferenceColumn:!0))==null?void 0:y.map(E=>{var p;return{label:E.caption??"",description:E.description??null,field:E.field??"",type:E.type,readOnly:E.readOnly,valuesForSelect:((p=E.values)==null?void 0:p.filter(b=>E.valuesFilteredByMaster?b.masterValue===d:!0).map(b=>({id:b.id??"",name:b.name})))??void 0}}))??[]])},[t,d]),e.jsxRuntimeExports.jsxs("table",{id:`dynamic-table-${t.id}`,className:e.classNames("table table-borderless luminus-df-table",se.table),children:[e.jsxRuntimeExports.jsxs("thead",{className:e.classNames("text-nowrap table-header",se.stickyTop,se.tableHeader),children:[e.jsxRuntimeExports.jsxs("tr",{className:e.classNames("table-row",se.tableRow),children:[e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead,se.actionColumn,se.stickyFirst)}),j.map(h=>e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead),onClick:()=>{const v=u===h.field?c:null;if(v==="asc"){x(h.field,"desc");return}if(v==="desc"){x(h.field,null);return}x(h.field,"asc")},children:e.jsxRuntimeExports.jsx(ci,{column:h,children:e.jsxRuntimeExports.jsxs("div",{className:"d-flex justify-content-between align-items-center",children:[h.label,u===h.field&&e.jsxRuntimeExports.jsx(g,{icon:c==="asc"?"chevron-up":"chevron-down"})]})})},`${t.id}-${h.field}`)),e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead,se.actionColumn,se.stickyLast)})]}),e.jsxRuntimeExports.jsxs("tr",{className:e.classNames("table-row filters-row",se.tableRow,se.filtersRow),children:[e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead,se.actionColumn,se.stickyFirst)}),j.map(h=>e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead),children:h.valuesForSelect&&h.valuesForSelect.length>0||h.type==="BIT"?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx(Ye,{InputContainer:e.NoInputContainer,withoutLabel:!0,size:"sm",value:a[h.field]??"",onChange:v=>l(h.field,(v==null?void 0:v.toString())??null),options:h.type==="BIT"?[{id:1,name:m.yes},{id:0,name:m.no}]:h.valuesForSelect??[],isNumber:h.type==="BIT",showClearIcon:!0})}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx($e,{InputContainer:e.NoInputContainer,withoutLabel:!0,size:"sm",type:h.type==="NUM"?"number":h.type==="DT"?"date":"text",value:a[h.field]??"",onChange:v=>l(h.field,(v==null?void 0:v.toString())??null)})})},`${t.id}-${h.field}`)),e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead,se.actionColumn,se.stickyLast)})]})]}),e.jsxRuntimeExports.jsxs("tbody",{className:e.classNames("table-body",se.tableBody),children:[n.filter(h=>h[t.primaryKey??""]).map(h=>e.jsxRuntimeExports.jsx(ii,{schema:t,columns:j,initialItem:h,onEdit:s,onDelete:r},`${t.id}-${h[t.primaryKey??""].value}`)),e.jsxRuntimeExports.jsx(li,{schema:t,columns:j,onCreate:o})]})]})},di=({master:t,onChange:n,options:s,label:r})=>e.jsxRuntimeExports.jsx(Ye,{label:r,value:t,onChange:o=>n(o?o.toString():null),options:s,size:"sm"}),xi="_pagination_gujwe_1",sn={pagination:xi},rn={appDetail:"/settings/:id"},Me={apiSchemaGet:"/dynamicForms/schema",apiDataGet:"/dynamicForms/data",apiItemPost:"/dynamicForms/update",apiItemDelete:"/dynamicForms/delete",apiItemCreate:"/dynamicForms/insert"},mi=({id:t,page:n,setPage:s,filters:r,setFilter:o,sortByField:a,sortByType:l,setSortBy:u,appUrls:{appDetail:c=rn.appDetail}=rn,apiUrls:{apiSchemaGet:x=Me.apiSchemaGet,apiDataGet:d=Me.apiDataGet,apiItemPost:m=Me.apiItemPost,apiItemDelete:g=Me.apiItemDelete,apiItemCreate:j=Me.apiItemCreate}=Me})=>{var te,me,ne,Z,fe,ve;const{texts:{dynamicForms:f},ProjectIconComponent:h}=i.useContext(e.LuminusComponentsContext),v=e.useAxios(),{startLoading:y,stopLoading:E}=i.useContext(e.LoadingContext),[p,b]=i.useState(null),[w,_]=i.useState(null),[k,C]=i.useState(null),[D,S]=i.useState(null),[I,R]=i.useState(!1),{addNotification:F}=e.useNotifications(),[H,K]=i.useState([]),{confirm:L}=e.useConfirm(),$=20,B=$+1,V=D?Math.ceil(D.length/$):1,z=n?n>1:!1,U=n?n<V:!1,q=n?(n-1)*$:0,M=n?n*$:$,[N,P]=i.useState(!1),ee=N?D==null?void 0:D.slice(q,M):D,[re,pe]=i.useState(null);i.useEffect(()=>{b(null),_(null),R(!1),K([]),pe(null)},[t]);const Y=i.useCallback(async()=>{y("dynamicFormSchema"),await v.get(`${x}?id=${t}`).then(({data:A})=>{b(A),E("dynamicFormSchema")}).catch(()=>E("dynamicFormSchema"))},[v,t,y,E,x]),le=i.useCallback(async()=>{var A;if(!(p===null||((A=p.id)==null?void 0:A.toString())!==t)){if(p.masterReference&&!re){_([]);return}y("dynamicFormData"),await v.get(`${d}?id=${t}&showArchive=${I}${p.masterReference?`&master=${re}`:""}`).then(({data:Q})=>{const ae=Q.map(X=>{var ie;return Object.fromEntries(((ie=p.columns)==null?void 0:ie.filter(ce=>ce.field).map(ce=>[ce.field,{value:X[ce.field??""],defaultValue:X[ce.field??""]}]))??[])});_(ae),E("dynamicFormData")}).catch(()=>E("dynamicFormData"))}},[v,t,p,y,E,I,re,d]),ge=i.useCallback(async A=>(y("dynamicFormEdit"),v.post(`${m}?id=${t}`,A).then(()=>(E("dynamicFormEdit"),K([]),!0)).catch(Q=>(E("dynamicFormEdit"),K(e.extractErrorsFromResponse(Q)),!1))),[v,t,y,E,m]),ke=i.useCallback(async A=>(y("dynamicFormDelete"),v.delete(`${g}?id=${t}&pk=${A}`).then(()=>(E("dynamicFormDelete"),K([]),!0)).catch(Q=>(E("dynamicFormDelete"),K(e.extractErrorsFromResponse(Q)),!1))),[v,t,y,E,g]),W=i.useCallback(async A=>(y("dynamicFormCreate"),v.post(`${j}?id=${t}`,A).then(({data:Q})=>(E("dynamicFormCreate"),K([]),Q)).catch(Q=>(E("dynamicFormCreate"),K(e.extractErrorsFromResponse(Q)),null))),[v,t,y,E,j]),oe=i.useCallback(async A=>{p&&await ge(p.masterReference?{...A,[p.masterReferenceColumn??""]:re}:A)&&(F(f.editSuccess,"success"),_(Q=>Q&&Q.map(ae=>{var X;return((X=ae[(p==null?void 0:p.primaryKey)??""])==null?void 0:X.value)===A[(p==null?void 0:p.primaryKey)??""]?nn(A,p):ae})))},[F,ge,p,re,f]),ue=i.useCallback(async A=>{await L(f.deleteConfirm)&&await ke(A)&&(F(f.deleteSuccess,"success"),_(Q=>Q&&Q.filter(ae=>{var X;return((X=ae[(p==null?void 0:p.primaryKey)??""])==null?void 0:X.value)!==A})))},[F,ke,f,L,p]),Le=i.useCallback(async A=>{if(!p)return!1;const Q=await W(p.masterReference?{...A,[p.masterReferenceColumn??""]:re}:A);if(Q!==null){F(f.createSuccess,"success");const ae=nn(A,p);return ae[(p==null?void 0:p.primaryKey)??""]={value:Q,defaultValue:Q},_(X=>[...X??[],ae]),!0}return!1},[F,W,f,p,re]),T=A=>{A>V?s(V):A<1&&s(1),s(A)},O=i.useCallback(()=>{if(!w||!p){C(null);return}const A=w.filter(Q=>Object.entries(r).every(([ae,X])=>{var He,We,ze;if(X===null)return!0;const ie=(He=Q[ae])==null?void 0:He.value;if(ie==null)return!1;const ce=(We=p.columns)==null?void 0:We.find(Xe=>Xe.field===ae),Pe=ce==null?void 0:ce.type,Ve=(ce==null?void 0:ce.values)&&((ze=ce==null?void 0:ce.values)==null?void 0:ze.length)>0;if(!Pe)return!1;switch(Pe){case"STR":return Ve?ie===X:ie.toString().toLowerCase().includes(X.toLowerCase());case"NUM":return Ve?Number(ie)===Number(X):ie.toString().toLowerCase().includes(X.toLowerCase());case"DT":return ie.toString().toLowerCase().includes(X.toLowerCase());case"BIT":return Number(ie)===Number(X);default:return ie.toString().toLowerCase().includes(X.toLowerCase())}}));C(A)},[w,r,p]),G=i.useCallback(()=>{if(!k||!p){S([]);return}if(!a){S(k);return}S([...k].sort((A,Q)=>{var Pe,Ve,He,We,ze,Xe;const ae=((Ve=(Pe=A[a])==null?void 0:Pe.value)==null?void 0:Ve.toString())??"",X=((We=(He=Q[a])==null?void 0:He.value)==null?void 0:We.toString())??"",ie=p.columns.find(ye=>ye.field===a),ce=ie==null?void 0:ie.type;if(!ie||!ce||!ae&&!X)return 0;if(!ae)return 1;if(!X)return-1;if(ie.values&&ie.values.length>0){const ye=((ze=ie.values.find(it=>{var Ue;return((Ue=it.id)==null?void 0:Ue.toString())===ae}))==null?void 0:ze.name)??"",Ce=((Xe=ie.values.find(it=>{var Ue;return((Ue=it.id)==null?void 0:Ue.toString())===X}))==null?void 0:Xe.name)??"";return l==="asc"?ye.localeCompare(Ce):Ce.localeCompare(ye)}if(ce==="NUM"){const ye=Number(ae),Ce=Number(X);return l==="asc"?ye-Ce:Ce-ye}if(ce==="DT"){const ye=e.parseISO(ae==null?void 0:ae.toString()).getTime(),Ce=e.parseISO(X==null?void 0:X.toString()).getTime();return l==="asc"?ye-Ce:Ce-ye}return l==="asc"?ae.toString().localeCompare(X.toString()):X.toString().localeCompare(ae.toString())}))},[k,p,a,l]);return i.useEffect(()=>{Y()},[Y]),i.useEffect(()=>{le()},[le]),i.useEffect(()=>{O()},[O]),i.useEffect(()=>{G()},[G]),i.useEffect(()=>{D&&D.length>B?(P(!0),n||s(1)):(P(!1),D&&s(null))},[D,s,n,B]),i.useEffect(()=>{!N||!n||(n>V&&s(V),n<1&&s(1))},[n,N,V,s]),e.jsxRuntimeExports.jsxs("div",{className:"h-100 w-100 d-flex flex-column",children:[e.jsxRuntimeExports.jsxs("div",{className:"mb-3 d-flex justify-content-between align-items-center",children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"h3",children:(p==null?void 0:p.name)??""}),e.jsxRuntimeExports.jsx(Dt,{label:f.showArchived,value:I===!0,onChange:A=>R(A)})]}),(p==null?void 0:p.description)&&e.jsxRuntimeExports.jsx(e.Typography,{variant:"body2",className:"mb-3",children:p==null?void 0:p.description}),(p==null?void 0:p.masterReference)&&e.jsxRuntimeExports.jsx("div",{className:"mb-3 d-flex",children:e.jsxRuntimeExports.jsx(di,{label:((me=(te=p.columns)==null?void 0:te.find(A=>A.field===p.masterReferenceColumn))==null?void 0:me.caption)??"",options:((Z=(ne=p.columns)==null?void 0:ne.find(A=>A.field===p.masterReferenceColumn))==null?void 0:Z.values)??[],master:re,onChange:A=>pe(A)})}),(p==null?void 0:p.slaves)&&p.slaves.length>0&&e.jsxRuntimeExports.jsx("div",{className:"mb-3 d-flex align-items-center flex-start",children:p.slaves.map(A=>{var Q;return e.jsxRuntimeExports.jsx(e.ContextButton,{as:"link",href:`${xe.generatePath(c,{id:(Q=A.id)==null?void 0:Q.toString()})}?type=dynamic-form`,children:A.name},A.id)})}),p!=null&&p.masterReference&&!re?e.jsxRuntimeExports.jsx(ot,{variant:"warning",children:f.selectMaster(((ve=(fe=p.columns)==null?void 0:fe.find(A=>A.field===p.masterReferenceColumn))==null?void 0:ve.caption)??"").toLowerCase()}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[p&&H.length>0&&e.jsxRuntimeExports.jsx("div",{className:"mb-2",children:e.jsxRuntimeExports.jsx(Ka,{errors:H,schema:p})}),p&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("rounded border overflow-auto",sn.tableContainer),children:e.jsxRuntimeExports.jsx(ui,{schema:p,items:(N?ee:D)??[],onEditItem:oe,onDeleteItem:ue,onCreateItem:Le,filters:r,setFilter:o,sortByField:a,sortByType:l,setSortBy:u,selectedMaster:(re==null?void 0:re.toString())??null})}),N&&n&&e.jsxRuntimeExports.jsxs("div",{className:e.classNames(sn.pagination,"d-flex align-items-center gap-3 p-1 border-bottom border-start border-end rounded"),children:[e.jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-1",children:[e.jsxRuntimeExports.jsx(e.IconButton,{color:"primary",onClick:()=>T(1),disabled:!z,children:e.jsxRuntimeExports.jsx(h,{icon:"chevron-double-left"})}),e.jsxRuntimeExports.jsx(e.IconButton,{color:"primary",onClick:()=>T(n-1),disabled:!z,children:e.jsxRuntimeExports.jsx(h,{icon:"chevron-left"})}),e.jsxRuntimeExports.jsx(e.IconButton,{color:"primary",onClick:()=>T(n+1),disabled:!U,children:e.jsxRuntimeExports.jsx(h,{icon:"chevron-right"})}),e.jsxRuntimeExports.jsx(e.IconButton,{color:"primary",onClick:()=>T(V),disabled:!U,children:e.jsxRuntimeExports.jsx(h,{icon:"chevron-double-right"})})]}),e.jsxRuntimeExports.jsxs(e.Typography,{variant:"body",children:[f.tablePage," ",n," ",f.tablePageFrom," ",V]})]})]})]})]})},on={appDetail:"/settings/:id"},an={apiDynamicFormsGet:"/dynamicForms"},pi=({item:t,children:n})=>t.description?e.jsxRuntimeExports.jsx(Ze.SimpleTooltip,{placement:"left",text:t.description??"",children:e.jsxRuntimeExports.jsx("div",{children:n})}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:n}),fi=({activeId:t,otherForms:n=[],groupsDefs:s=[],searchQuery:r,fullSize:o,appUrls:{appDetail:a=on.appDetail}=on,apiUrls:{apiDynamicFormsGet:l=an.apiDynamicFormsGet}=an})=>{const u=e.useAxios(),{startLoading:c,stopLoading:x}=i.useContext(e.LoadingContext),[d,m]=i.useState(null),g=i.useMemo(()=>[...(d==null?void 0:d.map(h=>({...h,type:"dynamic-form"})))??[],...n].filter(h=>be.stringSearchWithin(h.name,r)||be.stringSearchWithin(h.description,r)).sort((h,v)=>(h.name??"").localeCompare(v.name??""))??[],[d,n,r]),j=i.useMemo(()=>s.map(h=>({id:h.id,name:h.name??"",items:g.filter(v=>v.group===h.id)})).filter(h=>h.items.length>0),[s,g]),f=i.useCallback(async()=>{c("dynamicForms"),await u.get(l).then(({data:h})=>{m(h),x("dynamicForms")}).catch(()=>x("dynamicForms"))},[u,c,x,l]);return i.useEffect(()=>{!d&&f()},[f,d]),g.length>0?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:"w-auto list-group forms-items overflow-x-hidden",children:j.map(h=>e.jsxRuntimeExports.jsx(st,{title:h.name,defaultOpen:!0,children:h.items.map(v=>{var y,E,p,b;return o?e.jsxRuntimeExports.jsxs(xe.Link,{to:`${xe.generatePath(a,{id:(y=v.id)==null?void 0:y.toString()})}?type=${v.type}`,className:`text-nowrap list-group-item list-group-item-action ${(t==null?void 0:t.toString())===((E=v.id)==null?void 0:E.toString())?"active":""}`,children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"body",children:v.name}),v.description&&e.jsxRuntimeExports.jsx(e.Typography,{variant:"body2",className:"text-muted mt-2",children:v.description})]},v.id):e.jsxRuntimeExports.jsx(pi,{item:v,children:e.jsxRuntimeExports.jsx(xe.Link,{to:`${xe.generatePath(a,{id:(p=v.id)==null?void 0:p.toString()})}?type=${v.type}`,className:`text-nowrap list-group-item list-group-item-action ${(t==null?void 0:t.toString())===((b=v.id)==null?void 0:b.toString())?"active":""}`,children:e.jsxRuntimeExports.jsx(e.Typography,{variant:"body2",children:v.name})})},v.id)})},h.id))})}):null},hi=({label:t,to:n,value:s})=>e.jsxRuntimeExports.jsxs(e.RowLabelInput,{label:t,children:[e.jsxRuntimeExports.jsx("input",{disabled:!0,className:"form-control d-none"}),n?e.jsxRuntimeExports.jsx(xe.Link,{to:n,className:"border-bottom luminus-dropdown-picker-link form-control d-flex justify-content-end align-items-center",children:s}):e.jsxRuntimeExports.jsx("div",{className:"luminus-dropdown-picker-link form-control d-flex justify-content-end align-items-center",children:s})]}),ji=()=>{const{localizationContext:t}=i.useContext(e.LuminusComponentsContext),{language:n,setLanguage:s}=i.useContext(t),r=o=>{s(o)};return e.jsxRuntimeExports.jsx(e.DropdownItem,{onClick:o=>{r(n==="cz"?"en":"cz"),o.stopPropagation()},children:n==="cz"?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("strong",{children:"CZ"}),e.jsxRuntimeExports.jsx(e.MdArrowRight,{}),e.jsxRuntimeExports.jsx("span",{children:"EN"})]}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("strong",{children:"EN"}),e.jsxRuntimeExports.jsx(e.MdArrowRight,{}),e.jsxRuntimeExports.jsx("span",{children:"CZ"})]})})},gi=({controlId:t,...n})=>e.jsxRuntimeExports.jsx(e.Form.Group,{controlId:t,...n}),vi=({employeeId:t,alt:n,noPhotoImage:s,cafmApiUrl:r,showLargeInLightBox:o=!1})=>{const{user:a}=i.useContext(e.UserContext),{photoPath:l,photoPathSm:u}=Ae.useEmployeePhotoPath(t);return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t&&e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:o?e.jsxRuntimeExports.jsx(Xn,{baseUrl:r,customToken:a.cafmToken??void 0,photos:[{id:t.toString(),alt:n??"",isDefault:!0,smSrc:u,lgSrc:l}],placeholder:s,ImgComponent:yt}):e.jsxRuntimeExports.jsx(yt,{baseUrl:r,customToken:a.cafmToken??void 0,src:u,alt:n,placeholder:s,className:"rounded w-100"})})})},Ei=({text:t,setText:n,onSearchButtonClick:s,className:r})=>{const o=a=>{n(a)};return e.jsxRuntimeExports.jsxs(et,{className:`${r}`,children:[e.jsxRuntimeExports.jsx(e.Form.Control,{value:t,onChange:a=>n(a.target.value)}),t&&e.jsxRuntimeExports.jsx(e.Button$1,{onClick:()=>o(""),variant:"link",className:"border text-muted",children:e.jsxRuntimeExports.jsx(e.MdClear,{})}),e.jsxRuntimeExports.jsx(e.Button$1,{onClick:()=>s&&s(t),variant:"link",className:"border",children:e.jsxRuntimeExports.jsx(e.MdSearch,{})})]})},Ri=({value:t,numberPrefix:n,numberSuffix:s,decimalScale:r=2,className:o})=>e.jsxRuntimeExports.jsx(Tt,{value:t,displayType:"text",thousandSeparator:" ",decimalScale:r,defaultValue:"",prefix:n,suffix:s,className:o,decimalSeparator:","}),yi=({data:t,keys:n,colors:s,tooltipLabel:r})=>e.jsxRuntimeExports.jsx(e.Re,{data:t.map(o=>({name:o.name,...o.values})),indexBy:"name",keys:n,margin:{top:20,right:50,bottom:30,left:150},layout:"horizontal",colors:s,padding:.2,borderRadius:2,borderWidth:2,borderColor:{from:"color",modifiers:[["darker",.5]]},axisTop:null,axisRight:null,axisBottom:{tickSize:5,tickPadding:5,tickRotation:0},axisLeft:{tickSize:5,tickPadding:5,tickRotation:0},labelSkipWidth:12,labelSkipHeight:12,labelTextColor:{from:"color",modifiers:[["darker",1.6]]},tooltipLabel:r}),bi=({InputContainer:t=e.RowLabelInput,formField:n,label:s,resetsFields:r,type:o,required:a,hidden:l,disabled:u,withoutLabel:c,className:x})=>{const{register:d,formState:m,setValue:g}=Re.useFormContext(),[j,f]=i.useState(void 0),[h,v]=i.useState(!1);i.useEffect(()=>{const E=n.split(".");let p=m.errors;E.forEach(b=>{p!==void 0&&(p=p[b])}),f(p)},[m,n]),i.useEffect(()=>{m.isSubmitted&&v(!0)},[m]);const y=j!==void 0;return e.jsxRuntimeExports.jsxs(t,{isForCheckInput:!0,hidden:l,label:`${s}${a?" *":""}`,isInvalid:y,withoutLabel:c,className:x,children:[e.jsxRuntimeExports.jsx(e.Form.Check,{id:`check-${n}`,type:o??"checkbox",label:`${s}${a?" *":""}`,...d(n,{onChange:()=>{r&&r.forEach(E=>g(E,null,{shouldDirty:!0,shouldValidate:h}))}}),isInvalid:y,hidden:l,disabled:u,className:"w-100"}),j&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:j.message})]})},wi=({InputContainer:t=e.RowLabelInput,label:n,formField:s,options:r,resetsFields:o,required:a,disabled:l,hidden:u,className:c})=>{const{register:x,formState:d,setValue:m,watch:g}=Re.useFormContext(),[j,f]=i.useState(void 0),[h,v]=i.useState(!1),y=i.useMemo(()=>r,[r]);i.useEffect(()=>{const p=s.split(".");let b=d.errors;p.forEach(w=>{b!==void 0&&(b=b[w])}),f(b)},[d,s]),i.useEffect(()=>{d.isSubmitted&&v(!0)},[d]);const E=j!==void 0;return e.jsxRuntimeExports.jsxs(t,{isForRadioInput:!0,hidden:u,withoutLabel:!n,label:`${n}${a?" *":""}`,isInvalid:E,className:c,children:[y.map(p=>e.jsxRuntimeExports.jsx(e.Form.Check,{id:`radio-${p.id}`,label:p.name,type:"radio",value:p.id??"",checked:g(s)===p.id,...x(s,{onChange:()=>{o&&o.forEach(b=>m(b,null,{shouldDirty:!0,shouldValidate:h}))}}),isInvalid:E,hidden:u,disabled:l,className:"w-100"},p.id)),j&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:j.message})]})},Ci=({InputContainer:t=e.RowLabelInput,formField:n,label:s,size:r,defaultSelection:o,resetsFields:a,isNumber:l,required:u,hidden:c,disabled:x,items:d,onSearchQueryChange:m,selectedItemNavigateTo:g,texts:j,dropdownItemsNameWidth:f,isLoading:h,withoutLabel:v,additionalColumns:y,CustomOnChangeComponent:E,icon:p,displayIdAsName:b,onSelect:w,className:_,archiveColumn:k})=>{const{formState:C,setValue:D,watch:S,control:I}=Re.useFormContext(),[R,F]=i.useState(void 0),[H,K]=i.useState(!1),[L,$]=i.useState(!1),B=S(n)??null,V=B===(o==null?void 0:o.id)?o==null?void 0:o.name:S(`${n}-DropdownName`),z=i.useMemo(()=>B==null?null:{id:B??null,name:V??""},[B,V]),U=i.useCallback(()=>{const Y=n.split(".");let le=C.errors;Y.forEach(ge=>{le!==void 0&&(le=le[ge])}),F(le)},[C,n]),q=i.useCallback(Y=>{if((Y==null?void 0:Y.id)===B)return;if(w&&w(Y),a&&a.forEach(ge=>D(ge,null,{shouldDirty:!0,shouldValidate:L})),Y===null){D(n,null,{shouldDirty:!0,shouldValidate:L}),D(`${n}-DropdownName`,null);return}let le=null;l?le=(Y==null?void 0:Y.id)!==null&&(Y==null?void 0:Y.id)!==""?parseInt(Y.id.toString(),10):null:le=Y.id===null||Y.id===void 0||Y.id===""?null:Y.id,D(n,le,{shouldDirty:!0,shouldValidate:L}),D(`${n}-DropdownName`,Y.name??"")},[D,n,L,l,a,B,w]),M=i.useCallback(Y=>{K(!1),q(Y)},[q]),N=i.useCallback(()=>{K(!1)},[]);i.useEffect(()=>{U()},[U]),i.useEffect(()=>{C.isSubmitted&&$(!0)},[C]);const P=i.useRef(null),ee=R!==void 0,re=g!==void 0,pe=re&&z!==null;return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs(t,{label:`${s}${u?" *":""}`,hidden:c,withoutLabel:v,isInvalid:ee,inputContainerClassName:e.classNames({"luminus-dropdown-select-open":H}),className:_,children:[e.jsxRuntimeExports.jsxs(ns,{currentSelection:z,selectedItemNavigateTo:g,children:[b&&(z==null?void 0:z.name)&&e.jsxRuntimeExports.jsx(e.Typography,{variant:"caption",className:"d-flex justify-content-end mt-2 luminus-dropdown-selection-name",children:z.name}),e.jsxRuntimeExports.jsx(Re.Controller,{control:I,name:n,render:()=>e.jsxRuntimeExports.jsx(e.Form.Select,{size:r,onMouseDown:Y=>{Y.currentTarget.focus(),Y.preventDefault()},onClick:()=>{!re&&!x&&K(!0)},ref:P,value:B??"",onChange:()=>{},isInvalid:ee,hidden:c,className:e.classNames("w-100",{"luminus-dropdown-picker-disabled":x,"luminus-dropdown-picker-link":pe}),children:e.jsxRuntimeExports.jsx("option",{value:B,children:b?B:(V==null?void 0:V.length)>0?V:B})})}),E||!x&&re?e.jsxRuntimeExports.jsxs("div",{className:"custom-picker-button",children:[!E&&!x&&re&&e.jsxRuntimeExports.jsx(e.IconButton,{size:"sm",color:"secondary",onClick:Y=>{Y.preventDefault(),Y.stopPropagation(),K(!0)},children:p??e.jsxRuntimeExports.jsx(e.MdOutlineEdit,{})}),E??null]}):null]}),R&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:R.message}),P.current&&e.jsxRuntimeExports.jsx(Je,{show:H,onCancel:N,items:d,currentSelection:z,onSelectionChange:M,onSearchQueryChange:m,texts:j,itemsNameWidth:f,additionalColumns:y,displayIdAsName:b,isLoading:h,disabled:x,inputRef:P,archiveColumn:k})]})})},Ni=({InputContainer:t=e.RowLabelInput,label:n,formField:s,hidden:r,required:o,placeholder:a,disabled:l,showClearIcon:u,resetsFields:c,multiple:x,accept:d,withoutLabel:m,className:g})=>{const{watch:j,setValue:f,register:h,formState:v}=Re.useFormContext(),[y,E]=i.useState(!1),[p,b]=i.useState(void 0),w=i.useCallback(()=>{f(s,"")},[f,s]),_=i.useCallback(()=>{const C=s.split(".");let D=v.errors;C.forEach(S=>{D!==void 0&&(D=D[S])}),b(D)},[v,s]);i.useEffect(_,[_]),i.useEffect(()=>{v.isSubmitted&&E(!0)},[v]);const k=p!==void 0;return e.jsxRuntimeExports.jsxs(t,{label:`${n}${o?"*":""}`,hidden:r,withoutLabel:m,isInvalid:k,className:g,children:[e.jsxRuntimeExports.jsx(e.FormControl,{type:"file",multiple:x,accept:d.join(", "),placeholder:a??n,isInvalid:k,hidden:r,disabled:l,className:"w-100",...h(s,{onChange:()=>{c&&c.forEach(C=>f(C,null,{shouldDirty:!0,shouldValidate:y}))}})}),u&&j(s)&&e.jsxRuntimeExports.jsx("div",{className:"luminus-input-remove-icon",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"secondary",size:"sm",onClick:w,children:e.jsxRuntimeExports.jsx(e.MdClear,{})})}),p&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:p.message})]})},_i=({children:t,onStorno:n,noSpacer:s})=>{const{formState:r}=Re.useFormContext(),[o,a]=i.useState(!1);return i.useEffect(()=>{a(Object.keys(r.dirtyFields).length>0)},[r]),o?e.jsxRuntimeExports.jsx(zn,{onStorno:n,noSpacer:s,children:t}):null},ki=({InputContainer:t=e.RowLabelInput,options:n,formField:s,label:r,size:o,resetsFields:a,isNumber:l,required:u,hidden:c,disabled:x,withoutLabel:d,noSortOptions:m,suffixIdToName:g,onSelect:j,className:f,appendCurrentSelectionWithName:h})=>{const{texts:{customSelect:v}}=i.useContext(e.LuminusComponentsContext),{formState:y,setValue:E,watch:p,control:b}=Re.useFormContext(),[w,_]=i.useState(void 0),[k,C]=i.useState(!1),[D,S]=i.useState(!1),[I,R]=i.useState(""),F=p(s),H=i.useMemo(()=>n.find(M=>M.id===F)??null,[n,F]),K=i.useCallback(()=>{const M=s.split(".");let N=y.errors;M.forEach(P=>{N!==void 0&&(N=N[P])}),_(N)},[y,s]),L=i.useCallback(M=>{if((M==null?void 0:M.id)===F)return;if(j&&j(M),a&&a.forEach(P=>E(P,null,{shouldDirty:!0,shouldValidate:D})),M===null){E(s,null,{shouldDirty:!0,shouldValidate:D});return}let N=null;l?N=(M==null?void 0:M.id)!==null&&(M==null?void 0:M.id)!==""?parseInt(M.id.toString(),10):null:N=M.id===null||M.id===void 0||M.id===""?null:M.id,E(s,N,{shouldDirty:!0,shouldValidate:D})},[E,s,l,a,F,D,j]),$=i.useCallback(M=>{C(!1),L(M)},[L]),B=i.useCallback(M=>{R(M)},[]);i.useEffect(()=>{K()},[K]),i.useEffect(()=>{y.isSubmitted&&S(!0)},[y]);const V=i.useCallback(M=>{var N;return M===null?"":!M.name||M.name.length===0?((N=M.id)==null?void 0:N.toString())??"":g?`${M.name} (${M.id})`:M.name},[g]),z=i.useMemo(()=>{const M=n??[];return h!==void 0&&F&&(M.some(N=>N.id===F)||M.push({id:F,name:h})),M.map(N=>({id:N.id,name:V(N)})).filter(N=>be.stringSearchWithin(N.name,I)).sort((N,P)=>m?0:(N.name??"").localeCompare(P.name??""))},[n,m,I,V,h,F]),U=i.useRef(null),q=w!==void 0;return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs(t,{label:`${r}${u?" *":""}`,hidden:c,withoutLabel:d,isInvalid:q,inputContainerClassName:e.classNames({"luminus-dropdown-select-open":k}),className:f,children:[e.jsxRuntimeExports.jsx(Re.Controller,{control:b,name:s,render:()=>e.jsxRuntimeExports.jsx(e.Form.Select,{size:o,onMouseDown:M=>{M.currentTarget.focus(),M.preventDefault()},onClick:()=>{C(!0)},ref:U,value:F??"",onChange:()=>{},isInvalid:q,hidden:c,disabled:x,className:"w-100",children:e.jsxRuntimeExports.jsx("option",{value:(H==null?void 0:H.id)??"",children:V(H)})})}),w&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:w.message}),U.current&&e.jsxRuntimeExports.jsx(Je,{show:k,onCancel:()=>C(!1),items:z,currentSelection:H??null,onSelectionChange:$,onSearchQueryChange:B,texts:v,disabled:x,inputRef:U,autoHideSearch:!0,allItemsLength:n.length})]})})},Si=({InputContainer:t=e.RowLabelInput,formField:n,label:s,placeholder:r,size:o,resetsFields:a,showClearIcon:l,clearValue:u,required:c,hidden:x,disabled:d,withoutLabel:m,step:g,stepperStep:j=1,className:f,min:h,max:v})=>{const{register:y,formState:E,setValue:p,watch:b}=Re.useFormContext(),[w,_]=i.useState(void 0),[k,C]=i.useState(!1),D=i.useCallback((H,K,L)=>{p(H,be.limitNumber(K,h,v),L)},[v,h,p]),S=i.useCallback(()=>{const H=u??null;D(n,H!==null?Number(H):null,{shouldDirty:!0,shouldValidate:k})},[u,D,n,k]),I=i.useCallback(()=>{const H=n.split(".");let K=E.errors;H.forEach(L=>{K!==void 0&&(K=K[L])}),_(K)},[E,n]);i.useEffect(()=>{I()},[I]),i.useEffect(()=>{E.isSubmitted&&C(!0)},[E]);const R=w!==void 0,F=b(n);return e.jsxRuntimeExports.jsxs(t,{label:`${s}${c?" *":""}`,hidden:x,withoutLabel:m,isInvalid:R,className:f,children:[e.jsxRuntimeExports.jsxs("div",{className:"luminus-input-container position-relative w-100",children:[e.jsxRuntimeExports.jsx(e.Form.Control,{type:"number",placeholder:r??s,size:o,...y(n,{setValueAs:H=>H==null||H===""?null:be.limitNumber(Number(H),h,v),min:h,max:v,onChange:()=>{a&&a.forEach(H=>p(H,null,{shouldDirty:!0,shouldValidate:k}))}}),isInvalid:R,hidden:x,disabled:d,className:"w-100 luminus-numeric-stepper",step:g,min:h,max:v}),e.jsxRuntimeExports.jsx("div",{className:"stepper-icon left",children:!d&&e.jsxRuntimeExports.jsx(e.IconButton,{size:"sm",onClick:H=>{H.preventDefault(),H.stopPropagation(),D(n,((F?Number(F):0)-j).toString(),{shouldDirty:!0,shouldValidate:k})},children:e.jsxRuntimeExports.jsx(e.FaMinus,{})})}),e.jsxRuntimeExports.jsx("div",{className:"stepper-icon right",children:!d&&e.jsxRuntimeExports.jsx(e.IconButton,{size:"sm",onClick:H=>{H.preventDefault(),H.stopPropagation(),D(n,((F?Number(F):0)+j).toString(),{shouldDirty:!0,shouldValidate:k})},children:e.jsxRuntimeExports.jsx(e.FaPlus,{})})})]}),l&&b(n)&&e.jsxRuntimeExports.jsx("div",{className:"luminus-input-remove-icon",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"secondary",size:"sm",onClick:S,children:e.jsxRuntimeExports.jsx(e.MdClear,{})})}),w&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:w.message})]})},Ii=({InputContainer:t=e.RowLabelInput,formField:n,label:s,placeholder:r,resetsFields:o,showClearIcon:a,clearValue:l,required:u,hidden:c,disabled:x,withoutLabel:d,step:m,size:g,CustomOnChangeComponent:j,noSelectOnFocus:f,className:h,decimalScale:v=2,numberPrefix:y,numberSuffix:E,min:p,max:b})=>{const{formState:w,setValue:_,watch:k,control:C}=Re.useFormContext(),[D,S]=i.useState(void 0),[I,R]=i.useState(!1),F=i.useCallback(()=>{const $=l??null;_(n,$!==null?Number($):null,{shouldDirty:!0,shouldValidate:I})},[l,_,n,I]),H=i.useCallback(()=>{const $=n.split(".");let B=w.errors;$.forEach(V=>{B!==void 0&&(B=B[V])}),S(B)},[w,n]);i.useEffect(()=>{H()},[H]),i.useEffect(()=>{w.isSubmitted&&R(!0)},[w]);const K=k(n);i.useEffect(()=>{b!==void 0&&K>b&&_(n,b),p!==void 0&&K<p&&_(n,p)},[n,K,b,p,_]);const L=D!==void 0;return e.jsxRuntimeExports.jsxs(t,{label:`${s}${u?" *":""}`,hidden:c,withoutLabel:d,isInvalid:L,className:h,children:[e.jsxRuntimeExports.jsxs("div",{className:"luminus-input-container position-relative w-100",children:[e.jsxRuntimeExports.jsx(Re.Controller,{control:C,name:n,render:({field:{ref:$,onChange:B,name:V,value:z}})=>e.jsxRuntimeExports.jsx(Tt,{displayType:"input",thousandSeparator:" ",decimalSeparator:",",decimalScale:v,prefix:y,suffix:E,defaultValue:"",name:V,value:z??"",placeholder:r??s,onFocus:U=>{!f&&U.target.select()},onChange:U=>{var M,N;const q=parseFloat(((N=(M=U.target)==null?void 0:M.value)==null?void 0:N.replaceAll(" ","").replaceAll(",","."))??0);o&&o.forEach(P=>_(P,null,{shouldDirty:!0,shouldValidate:I})),B(q==null||Number.isNaN(q)?null:Number(q))},hidden:c,disabled:x,className:e.classNames("form-control text-end w-100",{"is-invalid":L},{[`form-control-${g}`]:g}),step:m,getInputRef:$,min:p,max:b})}),j&&e.jsxRuntimeExports.jsx("div",{className:"custom-picker-button",children:j})]}),a&&k(n)&&e.jsxRuntimeExports.jsx("div",{className:"luminus-input-remove-icon inset",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"secondary",size:"sm",onClick:F,children:e.jsxRuntimeExports.jsx(e.MdClear,{})})}),D&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:D.message})]})},$t=["slice","options","formats","conditions"],ln=t=>{const n=t.current.flexmonster.getReport({withDefaults:!0});if(typeof n=="string")throw alert("report is string"),new Error("report is string");const s={};return $t.forEach(r=>{s[r]=n[r]}),JSON.stringify(s)},Di=t=>{if(t.settings){const n=JSON.parse(t.settings);return $t.forEach(s=>{n[s]===void 0&&(n[s]=null)}),n}return{}},Fi=t=>{const n={};return $t.forEach(s=>{n[s]=(t==null?void 0:t[s])??void 0}),n},xs=({dataSource:t,settings:n,pivotRef:s,localization:r,licenseKey:o,enabled:a=!0})=>{const{texts:{reports:l}}=i.useContext(e.LuminusComponentsContext),[u,c]=i.useState(!1),x=i.useRef(null),d=s??x,m=i.useMemo(()=>({localization:r}),[r]),g=i.useCallback(f=>{delete f[0],delete f[1],delete f[2];const h=[{id:"fm-tab-expand",title:l.expandAll,handler:d.current.flexmonster.expandAllData,icon:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/><path fill="none" d="M0 0h24v24H0V0z"/></svg>'},{id:"fm-tab-collapse",title:l.collapseAll,handler:d.current.flexmonster.collapseAllData,icon:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"/><path d="M0 0h24v24H0z" fill="none"/></svg>'}];return f.unshift({id:"fm-tab-expand",title:l.expand,icon:'<svg height="42" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d=" M16 4 L28 4 L28 16 L24 12 L20 16 L16 12 L20 8z M4 16 L8 20 L12 16 L16 20 L12 24 L16 28 L4 28z "/></svg>',menu:h,rightGroup:!0}),f},[d,l.collapseAll,l.expand,l.expandAll]),j=f=>{const h=f.getTabs();f.getTabs=()=>g(h)};return i.useEffect(()=>{var f;u&&a&&((f=d.current)==null||f.flexmonster.updateData(t),console.log("Updating flexmonster dataSource to: ",t))},[t,a,u,d]),i.useEffect(()=>{var f,h,v;if(u&&a){const{options:y,conditions:E,formats:p,slice:b,...w}=(f=d.current)==null?void 0:f.flexmonster.getReport();if(w===void 0||typeof w=="string")return;const _=Fi(n);_.options={...n==null?void 0:n.options,grid:{...(h=n==null?void 0:n.options)==null?void 0:h.grid,autoSwitchToCompact:!1}};const k={...w,..._};(v=d.current)==null||v.flexmonster.setReport(k),console.log("Refreshing flexmonster settings. New report: ",k)}},[a,u,d,n]),e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx(fs.Pivot,{ref:d,global:m,licenseKey:o,toolbar:!0,height:"100%",beforetoolbarcreated:j,ready:()=>{c(!0)},width:"100%"})})},Ti=(t,n,s,r)=>{const{texts:{reports:o}}=i.useContext(e.LuminusComponentsContext),{prompt:a}=e.usePrompt(),{confirm:l}=e.useConfirm(),u=e.useAxios(),{user:c}=i.useContext(e.UserContext),{startLoading:x,stopLoading:d}=i.useContext(e.LoadingContext),{addNotification:m}=e.useNotifications(),g=i.useCallback(async y=>{x("report-versionSavingAs");try{const E=await u.post("/reports/version",y);m(o.saveSuccessful,"success"),await r(E.data)}finally{d("report-versionSavingAs")}},[m,r,u,o.saveSuccessful,x,d]),j=i.useCallback(async()=>{if(s===null){m("none open","warning");return}if(!await l(o.confirmOverwriteSave))return;const E=ln(n);g({reportSourceName:t,reportVersionId:s,settings:E})},[m,l,n,t,o.confirmOverwriteSave,g,s]),f=i.useCallback(async()=>{const y=await a(o.enterName,{input:"input",required:!0});if(y===null)return;const E=ln(n);g({reportSourceName:t,name:y,settings:E})},[n,a,t,o.enterName,g]),h=i.useCallback(async()=>{x("report-versionSavingAs");try{await u.post("/reports/version",{reportVersionId:s??void 0,reportSourceName:t,isArchived:!0}),m(o.deleteSuccessful,"success")}finally{d("report-versionSavingAs")}},[m,u,t,o.deleteSuccessful,s,x,d]),v=i.useCallback(async()=>{x("report-versionSavingAs");try{await u.post("/reports/version-restrictions",{reportVersionId:s??void 0,userRestricts:[{employeeId:c.personalNumber,addRights:!1}]}),m(o.detachSuccessful,"success")}finally{d("report-versionSavingAs")}},[m,u,o.detachSuccessful,s,x,d,c.personalNumber]);return{saveAs:f,save:j,archive:h,detach:v}},$i=t=>{const n=e.useAxios(),{startLoading:s,stopLoading:r}=i.useContext(e.LoadingContext);return{changeEmployeeRights:i.useCallback(async(a,l)=>{let u=null;s("reportSharing-addPerson");try{u=(await n.post("/reports/version-restrictions",{reportVersionId:t,userRestricts:[{employeeId:a,addRights:l}]})).data}finally{r("reportSharing-addPerson")}return u},[n,t,s,r])}},Li=({isOpen:t,onHide:n,usersData:s,setUsersData:r,reportVersionId:o,EmployeePicker:a})=>{const{ProjectIconComponent:l,texts:{reports:u}}=i.useContext(e.LuminusComponentsContext),{confirm:c}=e.useConfirm(),[x,d]=i.useState(null),{changeEmployeeRights:m}=$i(o),g=i.useCallback(async()=>{if(x===null)return;const f=await m(x,!0);r(o,f)},[x,m,o,r]),j=i.useCallback(async f=>{if(!await c(u.removeSharingWith(f)))return;const v=await m(f,!1);r(o,v)},[m,c,o,u,r]);return e.jsxRuntimeExports.jsxs(e.Modal,{show:t,onHide:n,children:[e.jsxRuntimeExports.jsx(e.Modal.Header,{closeButton:!0,children:e.jsxRuntimeExports.jsx(e.Modal.Title,{children:u.reportSharing})}),e.jsxRuntimeExports.jsxs(e.Modal.Body,{children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"h6",children:u.sharedWith}),e.jsxRuntimeExports.jsxs(Ps,{variant:"flush",children:[s&&s.length===0?e.jsxRuntimeExports.jsx("div",{className:"px-2",children:u.noone.toLowerCase()}):null,s==null?void 0:s.map(f=>e.jsxRuntimeExports.jsxs(Nt,{className:"d-flex justify-content-between align-items-center gap-3 border-bottom px-2 py-1",children:[f.lastName," ",f.firstName," [",f.id,"]",e.jsxRuntimeExports.jsx(e.IconButton,{color:"danger",onClick:()=>j(f.id),children:e.jsxRuntimeExports.jsx(l,{icon:"delete"})})]},f.id))]}),e.jsxRuntimeExports.jsx(e.Typography,{variant:"h6",className:"mt-2 mb-2",children:u.addSharing}),e.jsxRuntimeExports.jsxs("div",{className:"d-flex gap-2 align-items-center",children:[e.jsxRuntimeExports.jsx("div",{className:"flex-grow-1",children:e.jsxRuntimeExports.jsx(a,{defaultSelection:null,label:u.shareWith,onSelect:f=>{d(f===null?null:Number(f.id))}})}),e.jsxRuntimeExports.jsx(e.PrimaryButton,{onClick:g,disabled:x===null,children:u.add})]})]})]})},Oi=(t,n)=>{const[s,r]=i.useState(null);return i.useEffect(()=>{t.then(({default:o})=>{const a=n!==void 0?n(o):o;r(a)})},[n,t]),{mappings:s}},Mi=({reportType:t,title:n,data:s,filterElements:r,getReportRoute:o,localization:a,licenseKey:l,EmployeePicker:u,localizationJsonFile:c,localizationTransformer:x})=>{const{texts:{reports:d}}=i.useContext(e.LuminusComponentsContext),{confirm:m}=e.useConfirm(),g=xe.useNavigate(),{id:j}=xe.useParams(),f=i.useMemo(()=>j===void 0?null:Number(j),[j]),h=i.useCallback(N=>{const P=N===null?"":N.toString();g(xe.generatePath(o(t),{id:P}),{replace:!0})},[o,g,t]),[v,y]=i.useState(!1),E=i.useRef(null),{user:p}=i.useContext(e.UserContext),{data:b,reloadData:w,setData:_}=hs.useGetApiData(`/reports/${t}`),{mappings:k}=Oi(c,x),[C,D]=i.useState({}),S=i.useCallback(N=>{if(b===null)return;const P=N.target.value,ee=P===""?null:Number(P);h(ee)},[b,h]),I=i.useCallback(async N=>{await w(),h(N)},[w,h]),R=i.useMemo(()=>{if(b===null)return null;const N=b.reportVersions.find(P=>P.reportVersionId===f);return N===void 0?null:N},[b,f]);i.useEffect(()=>{var P;if(b===null)return;if(R===null){D({});return}const N=Di(R)??{};D(N),(P=E.current)==null||P.flexmonster.refresh()},[b,R,f]);const{save:F,saveAs:H,archive:K,detach:L}=Ti(t,E,f,I),$=i.useMemo(()=>({data:s??[],mapping:k??void 0}),[s,k]),B=i.useCallback(async()=>{var P;await m(d.confirmRevertChanges)&&((P=E.current)==null||P.flexmonster.setReport({dataSource:$,...C}))},[m,$,d.confirmRevertChanges,C]),V=i.useMemo(()=>(R==null?void 0:R.ownerId)===p.personalNumber,[R==null?void 0:R.ownerId,p.personalNumber]),z=i.useMemo(()=>{var N;return(N=R==null?void 0:R.users)==null?void 0:N.some(P=>P.id===p.personalNumber&&!P.isReportOwner)},[R==null?void 0:R.users,p.personalNumber]),U=i.useCallback((N,P)=>{_(ee=>{const re=ee==null?void 0:ee.reportVersions.findIndex(le=>le.reportVersionId===N);if(re===void 0||ee===null)return ee;const pe={...ee.reportVersions[re],users:P.filter(le=>le.isReportOwner===!1)},Y=[...ee.reportVersions];return Y[re]=pe,{...ee,reportVersions:Y}})},[_]),q=i.useCallback(async()=>{await m(d.confirmDelete(R==null?void 0:R.name))&&(await K(),h(null),await w())},[K,m,w,R==null?void 0:R.name,d,h]),M=i.useCallback(async()=>{await m(d.confirmDetach(R==null?void 0:R.name))&&(await L(),h(null),await w())},[m,L,w,R==null?void 0:R.name,d,h]);return i.useEffect(()=>{var N;f===null&&h(((N=b==null?void 0:b.reportVersions.find(P=>P.isSystem===!0))==null?void 0:N.reportVersionId)??null)},[b==null?void 0:b.reportVersions,f,h]),e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(js.FullScreenContainer,{title:e.jsxRuntimeExports.jsxs("div",{className:"d-flex justify-content-start gap-3",children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"h3",children:n}),r,e.jsxRuntimeExports.jsxs("div",{className:"d-flex gap-1 align-items-center",children:[e.jsxRuntimeExports.jsxs(e.FormSelect,{size:"sm",value:f??void 0,onChange:S,children:[e.jsxRuntimeExports.jsx("optgroup",{label:d.versionSelectSystem,children:b==null?void 0:b.reportVersions.filter(N=>N.isSystem===!0).map(N=>e.jsxRuntimeExports.jsx("option",{value:N.reportVersionId,children:N.name},N.reportVersionId))}),e.jsxRuntimeExports.jsx("optgroup",{label:d.versionSelectYour,children:b==null?void 0:b.reportVersions.filter(N=>N.ownerId===p.personalNumber).map(N=>e.jsxRuntimeExports.jsx("option",{value:N.reportVersionId,children:N.name},N.reportVersionId))}),e.jsxRuntimeExports.jsx("optgroup",{label:d.versionSelectSharedWithYou,children:b==null?void 0:b.reportVersions.filter(N=>N.isSystem===!1&&N.ownerId!==p.personalNumber).map(N=>e.jsxRuntimeExports.jsx("option",{value:N.reportVersionId,children:`${N.name} [${N.ownerId}]`},N.reportVersionId))})]}),e.jsxRuntimeExports.jsx(e.ContextButton,{icon:e.jsxRuntimeExports.jsx(e.MdSave,{}),onClick:F,disabled:f===null||(R==null?void 0:R.isSystem)||!V,children:d.save}),e.jsxRuntimeExports.jsx(e.ContextButton,{icon:e.jsxRuntimeExports.jsx(e.MdSaveAs,{}),onClick:H,className:"flex-shrink-0",children:d.saveAs}),e.jsxRuntimeExports.jsxs(e.Dropdown,{toggle:e.jsxRuntimeExports.jsx(e.DropdownToggle,{as:e.SimpleDropdownToggle}),children:[e.jsxRuntimeExports.jsx(e.DropdownItem,{onClick:B,children:d.revertChanges}),e.jsxRuntimeExports.jsx(e.DropdownItem,{onClick:()=>y(!0),disabled:!V||(R==null?void 0:R.isSystem),children:d.share}),V&&!(R!=null&&R.isSystem)?e.jsxRuntimeExports.jsx(e.DropdownItem,{color:"danger",onClick:q,children:d.delete}):null,z&&!(R!=null&&R.isSystem)?e.jsxRuntimeExports.jsx(e.DropdownItem,{color:"danger",onClick:M,children:d.detach}):null]})]})]}),children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("h-100 w-100",$.data&&$.data.length>0?"":"d-none"),children:e.jsxRuntimeExports.jsx(xs,{dataSource:$,settings:C,pivotRef:E,enabled:$.data&&$.data.length>0,localization:a,licenseKey:l})})}),R!==null?e.jsxRuntimeExports.jsx(Li,{isOpen:v,onHide:()=>y(!1),usersData:R.users??null,setUsersData:U,reportVersionId:R==null?void 0:R.reportVersionId,EmployeePicker:u}):null]})},Bi=({cell:{value:t}})=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t?e.jsxRuntimeExports.jsx(e.AvatarIcon,{name:t,size:21,fontSize:12}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{})}),Ai=({knownTypes:t,typeFilters:n,onChangeTypeFilters:s})=>e.jsxRuntimeExports.jsx("div",{className:"mb-1 d-flex justify-content-center gap-2",children:t.map(r=>e.jsxRuntimeExports.jsx("div",{role:"button",style:{height:"14px",width:"14px",borderRadius:"50%",border:"2px solid transparent",backgroundColor:"transparent"},className:e.classNames(`border-${r}`,n.includes(r)&&`bg-${r}`),onClick:()=>{n.includes(r)?s(n.filter(o=>o!==r)):s([...n,r])}},r))}),Pi=({linksTo:t,onClick:n,children:s})=>t?e.jsxRuntimeExports.jsx(xe.Link,{to:t,className:"text-decoration-none",onClick:n,children:s}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:s}),Vi=({message:t,onDeleteMessage:n,onClickMessage:s,getIcon:r,getLinksTo:o})=>{const{ProjectIconComponent:a,localizationContext:l}=i.useContext(e.LuminusComponentsContext),{dateFnsLocale:u}=i.useContext(l),c=t.dateTime?e.parseISO(t.dateTime):null,x=c?ys(new Date(Date.now()),c):0;return e.jsxRuntimeExports.jsxs("div",{children:[c&&e.jsxRuntimeExports.jsx("div",{className:"d-flex justify-content-end",children:e.jsxRuntimeExports.jsx(Ze.SimpleTooltip,{text:e.format(c,"dd.MM.yyyy HH:mm"),placement:"left",children:e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(e.Typography,{variant:"caption",children:x>2?e.format(c,"dd.MM.yyyy"):ws(c,new Date(Date.now()),{locale:u.code})})})})}),e.jsxRuntimeExports.jsx(Pi,{linksTo:o(t)??void 0,onClick:s,children:e.jsxRuntimeExports.jsx(es,{level:t.type,noIcon:!0,children:e.jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-start gap-2",children:[r(t),e.jsxRuntimeExports.jsxs("div",{className:"d-flex flex-column gap-1 w-100",children:[e.jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-start justify-content-between gap-3",children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"body2",className:"fw-bold",children:t.subject}),e.jsxRuntimeExports.jsx(e.IconButton,{size:"sm",onClick:d=>{d.preventDefault(),d.stopPropagation(),n(t.id)},children:e.jsxRuntimeExports.jsx(a,{icon:"delete"})})]}),e.jsxRuntimeExports.jsx(e.Typography,{variant:"body2",children:t.text})]})]})})})]})},cn=["info","warning","danger"],un=({messages:t,isLoading:n,onDeleteMessage:s,onClickMessage:r,getIcon:o,getLinksTo:a})=>{const{texts:{messageBoard:l}}=i.useContext(e.LuminusComponentsContext),[u,c]=i.useState(cn),x=i.useMemo(()=>t.filter(d=>u.includes(d.type??"")),[u,t]);return e.jsxRuntimeExports.jsxs("div",{className:"h-100 d-flex flex-column overflow-hidden",children:[e.jsxRuntimeExports.jsx(Ai,{knownTypes:cn,typeFilters:u,onChangeTypeFilters:d=>c(d)}),n&&e.jsxRuntimeExports.jsxs("div",{className:"p-3 w-100",children:[e.jsxRuntimeExports.jsx(Ne,{as:Vt.Title,animation:"glow",children:e.jsxRuntimeExports.jsx(Ne,{xs:6})}),e.jsxRuntimeExports.jsxs(Ne,{as:Vt.Text,animation:"glow",children:[e.jsxRuntimeExports.jsx(Ne,{xs:7})," ",e.jsxRuntimeExports.jsx(Ne,{xs:4})," ",e.jsxRuntimeExports.jsx(Ne,{xs:4})," ",e.jsxRuntimeExports.jsx(Ne,{xs:6})," ",e.jsxRuntimeExports.jsx(Ne,{xs:8})]})]}),!n&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[t.length===0&&e.jsxRuntimeExports.jsx(ot,{variant:"info",size:"sm",className:"mt-2",children:l.noMessages}),e.jsxRuntimeExports.jsx("div",{className:"h-100 overflow-y-auto d-flex flex-column gap-2 luminus-thin-scrollbar",children:x.map(d=>e.jsxRuntimeExports.jsx(Vi,{message:d,onDeleteMessage:s,onClickMessage:r,getIcon:o,getLinksTo:a},d.id))})]})]})},ft={apiGet:"/messageBoard",apiDelete:"/messageBoard/"},Hi=({renderAsNotifPanel:t,notifIcon:n,apiUrls:{apiGet:s=ft.apiGet,apiDelete:r=ft.apiDelete}=ft,getIcon:o,getLinksTo:a})=>{const u=e.useAxios(),[c,x]=i.useState([]),[d,m]=i.useState(!1),[g,j]=i.useState(!1),[f,h]=i.useState(!1),v=i.useCallback(async()=>{j(!0),await u.get(s).then(({data:w})=>{x(w),m(!0),j(!1)}).catch(()=>{x([]),j(!1)})},[s,u]),y=i.useCallback(async w=>u.delete(`${r}${w}`).then(()=>!0).catch(()=>!1),[r,u]),E=i.useCallback(w=>{y(w).then(_=>{_&&x(c.filter(k=>k.id!==w))})},[y,c]);i.useEffect(()=>{v();const w=setInterval(()=>v(),60*1e3);return()=>{clearInterval(w)}},[v]);const p=c.filter(w=>w.type==="danger").length,b=d?!1:g;return t?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs("div",{className:"position-relative",children:[e.jsxRuntimeExports.jsx(e.IconButton,{size:"md",onClick:()=>h(!f),children:n}),p>0&&e.jsxRuntimeExports.jsx("div",{className:"badge rounded-pill bg-danger p-1 px-2 text-white",style:{position:"absolute",top:"-6px",right:"-10px",fontSize:"10px"},children:p})]}),e.jsxRuntimeExports.jsx(Ut,{show:f,onHide:()=>h(!1),placement:"end",children:e.jsxRuntimeExports.jsx(Ut.Body,{children:e.jsxRuntimeExports.jsx(un,{messages:c,isLoading:b,onDeleteMessage:E,onClickMessage:()=>h(!1),getIcon:o,getLinksTo:a})})})]}):e.jsxRuntimeExports.jsx(un,{messages:c,isLoading:b,onDeleteMessage:E,getIcon:o,getLinksTo:a})},Wi="_tab-panel_d8l8q_1",zi="_full-height-no-overflow_d8l8q_5",Ui="_disabled_d8l8q_12",ht={"tab-panel":"_tab-panel_d8l8q_1",tabPanel:Wi,"full-height-no-overflow":"_full-height-no-overflow_d8l8q_5",fullHeightNoOverflow:zi,disabled:Ui},Gi=({eventKey:t,activeTab:n,fullHeightNoOverflow:s,disabled:r,className:o,children:a})=>t!==n?null:e.jsxRuntimeExports.jsx("div",{className:e.classNames("luminus-tab-panel",ht.tabPanel,{[ht.fullHeightNoOverflow]:s},{disabled:r},{[ht.disabled]:r},o),children:a}),Ki="_join-line_1q9e8_1",Yi={"join-line":"_join-line_1q9e8_1",joinLine:Ki},qi=({activeTab:t,onSelect:n,children:s,vertical:r,verticalStepper:o})=>e.jsxRuntimeExports.jsx("div",{className:e.classNames("luminus-tabs d-flex mb-2",{"gap-1":!o},{"gap-0":o},{"flex-column":r||o}),children:s.map((a,l)=>{const u=a.type,c=a.props;if(!c)return null;const x=c.eventKey,d=c.children,m=c.className,g=c.onClick;return e.jsxRuntimeExports.jsxs(i.Fragment,{children:[e.jsxRuntimeExports.jsx(u,{...c,className:e.classNames({active:t===x},m),onClick:()=>{n(x),g&&g(x)},vertical:r||o,children:d}),o&&l<s.length-1&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("join-line",Yi.joinLine)})]},c.eventKey)})}),Qi="_tab_1tbi7_1",Zi="_disabled_1tbi7_7",Ji="_vertical_1tbi7_13",jt={tab:Qi,disabled:Zi,vertical:Ji},Xi=({eventKey:t,className:n,onClick:s,disabled:r,vertical:o,children:a})=>e.jsxRuntimeExports.jsx("div",{role:"button",className:e.classNames("luminus-tab text-primary rounded",jt.tab,n,{disabled:r},{[jt.disabled]:r},{vertical:o},{[jt.vertical]:o}),onClick:()=>s&&!r&&s(t),children:typeof a=="string"?e.jsxRuntimeExports.jsx(e.Typography,{variant:o?"body":"h6",className:o?"":"text-primary",children:a}):a});exports.AvatarIcon=e.AvatarIcon;exports.ContextButton=e.ContextButton;exports.Documents=e.Documents;exports.Dropdown=e.Dropdown;exports.DropdownItem=e.DropdownItem;exports.DropdownToggle=e.DropdownToggle;exports.FileExtensionIcon=e.FileExtensionIcon;exports.FloatingLabelInput=e.FloatingLabelInput;exports.HookFormTextAreaInput=e.HookFormTextAreaInput;exports.HookFormTextInput=e.HookFormTextInput;exports.IconButton=e.IconButton;exports.InvalidFeedback=e.InvalidFeedback;exports.NoInputContainer=e.NoInputContainer;exports.PrimaryButton=e.PrimaryButton;exports.ResponsiveContextDropdown=e.ResponsiveContextDropdown;exports.ResponsiveContextDropdownItem=e.ResponsiveContextDropdownItem;exports.RowLabelInput=e.RowLabelInput;exports.SimpleToggle=e.SimpleDropdownToggle;exports.Typography=e.Typography;exports.UserAvatarToggle=e.UserAvatarToggle;exports.Loading=Ee.Loading;exports.SimpleTooltip=Ze.SimpleTooltip;exports.Alert=ot;exports.AlertItem=es;exports.ApiFileDownloadButton=vs;exports.AppSearch=ho;exports.AuthTemplate=Uo;exports.Backdrop=St;exports.Badge=kr;exports.BarChart=yi;exports.Card=qn;exports.CheckInput=Dt;exports.Collapse=st;exports.DisabledRowLabelLink=hi;exports.DropdownDivider=Jr;exports.DropdownPicker=ua;exports.DynamicForm=mi;exports.EmployeeSmallPhoto=vi;exports.ErrorBoundary=Kn;exports.FileUploadButton=qs;exports.FileUploadContextButton=kt;exports.FileUploadDropdownItem=qr;exports.Flexmonster=xs;exports.FloatingActionContainer=ts;exports.FloatingFormSubmit=zn;exports.FromToDatePicker=Wa;exports.HomeDashboard=yr;exports.HookFormCheckInput=bi;exports.HookFormDropdownPicker=Ci;exports.HookFormFileInput=Ni;exports.HookFormFloatingSubmit=_i;exports.HookFormNumericStepperInput=Si;exports.HookFormNumericTextInput=Ii;exports.HookFormRadioInput=wi;exports.HookFormSelectInput=ki;exports.HtmlTooltip=Ys;exports.ImgApi=yt;exports.ImgDirect=It;exports.LanguageSwitch=ji;exports.LoadingBlock=xn;exports.MessageBoard=Hi;exports.MonthPicker=Un;exports.MonthPickerSearchParams=za;exports.NumericFormat=Ri;exports.NumericStepperInput=xa;exports.NumericTextInput=Oa;exports.PhotoLibrary=Xn;exports.PhotoLightbox=Jn;exports.PieChart=Ga;exports.ReportPage=Mi;exports.SearchBox=Ei;exports.SelectInput=Ye;exports.SettingsFormPicker=fi;exports.SimplePicker=Je;exports.Tab=Xi;exports.TabPanel=Gi;exports.Tabs=qi;exports.TextAreaInput=da;exports.TextInput=$e;exports.Timeline=la;exports.TypedFormGroup=gi;exports.UserAvatarValueFormat=Bi;exports.VersionInfo=Jo;exports.WidgetCard=Et;exports.YearPicker=Gn;exports.YearPickerSearchParams=Ua;
|
|
9
|
+
`),a=!1),Object.assign(Object.assign({},t),{allowNegative:a})}function La(t){t=$a(t),t.decimalSeparator,t.allowedDecimalSeparators,t.thousandsGroupStyle;var n=t.suffix,s=t.allowNegative,r=t.allowLeadingZeros,o=t.onKeyDown;o===void 0&&(o=_e);var a=t.onBlur;a===void 0&&(a=_e);var l=t.thousandSeparator,u=t.decimalScale,c=t.fixedDecimalScale,x=t.prefix;x===void 0&&(x="");var d=t.defaultValue,m=t.value,g=t.valueIsNumericString,j=t.onValueChange,f=ss(t,["decimalSeparator","allowedDecimalSeparators","thousandsGroupStyle","suffix","allowNegative","allowLeadingZeros","onKeyDown","onBlur","thousandSeparator","decimalScale","fixedDecimalScale","prefix","defaultValue","value","valueIsNumericString","onValueChange"]),h=at(t),v=h.decimalSeparator,y=h.allowedDecimalSeparators,E=function(L){return Xt(L,t)},p=function(L,$){return Fa(L,$,t)},b=Be(m)?d:m,w=g??Da(b,x,n);Be(m)?Be(d)||(w=w||typeof d=="number"):w=w||typeof m=="number";var _=function(L){return rs(L)?L:(typeof L=="number"&&(L=is(L)),w&&typeof u=="number"?Zt(L,u,!!c):L)},k=cs(_(m),_(d),!!w,E,p,j),C=k[0],D=C.numAsString,S=C.formattedValue,I=k[1],R=function(L){var $=L.target,B=L.key,V=$.selectionStart,z=$.selectionEnd,U=$.value;if(U===void 0&&(U=""),(B==="Backspace"||B==="Delete")&&z<x.length){L.preventDefault();return}if(V!==z){o(L);return}B==="Backspace"&&U[0]==="-"&&V===x.length+1&&s&&Te($,1),u&&c&&(B==="Backspace"&&U[V-1]===v?(Te($,V-1),L.preventDefault()):B==="Delete"&&U[V]===v&&L.preventDefault()),y!=null&&y.includes(B)&&U[V]===v&&Te($,V+1);var q=l===!0?",":l;B==="Backspace"&&U[V-1]===q&&Te($,V-1),B==="Delete"&&U[V]===q&&Te($,V+1),o(L)},F=function(L){var $=D;if($.match(/\d/g)||($=""),r||($=ga($)),c&&u&&($=Zt($,u,c)),$!==D){var B=Xt($,t);I({formattedValue:B,value:$,floatValue:parseFloat($)},{event:L,source:qe.event})}a(L)},H=function(L){return L===v?!0:Qe(L)},K=function(L){var $=L.currentValue,B=L.lastValue,V=L.formattedValue,z=L.currentValueIndex,U=L.formattedValueIndex,q=$[z],M=V[U],N=ls(B,$),P=N.to;return z>=P.start&&z<P.end&&y&&y.includes(q)&&M===v?!0:q===M};return Object.assign(Object.assign({},f),{value:S,valueIsNumericString:!1,isValidInputCharacter:H,isCharacterSame:K,onValueChange:I,format:E,removeFormatting:p,getCaretBoundary:function(L){return Ta(L,t)},onKeyDown:R,onBlur:F})}function Tt(t){var n=La(t);return i.createElement(ka,Object.assign({},n))}const Oa=({InputContainer:t=e.FloatingLabelInput,value:n,onChange:s,debounceMs:r,label:o,withoutLabel:a,placeholder:l,size:u,hidden:c,disabled:x,showClearIcon:d,clearValue:m,className:g,step:j,noSelectOnFocus:f,decimalScale:h,numberPrefix:v,numberSuffix:y,min:E,max:p})=>{const b=i.useCallback(()=>{if(!s)return;const S=m??null;s(S?Number(S):null)},[m,s]),w=i.useRef(null),[_,k]=i.useState((n==null?void 0:n.toString())??""),C=i.useCallback(S=>{const I=S;s&&s(I==null||I===""?null:Number(I))},[s]),D=i.useCallback(S=>{var R,F;let I=parseFloat(((F=(R=S.target)==null?void 0:R.value)==null?void 0:F.replaceAll(" ","").replaceAll(",","."))??0);if(Number.isNaN(I)&&(I=0),!r){C(I.toString());return}k(I.toString()),w.current!==null&&window.clearTimeout(w.current),w.current=window.setTimeout(()=>{C(I.toString())},r)},[r,C]);return i.useEffect(()=>{k(n===null?"":n.toString())},[p,E,n]),i.useEffect(()=>{p!==void 0&&Number(_)>p&&k(p.toString()),E!==void 0&&Number(_)<E&&k(E.toString())},[_,p,E,k]),i.useEffect(()=>{!s||n===null||(p!==void 0&&n>p&&s(p),E!==void 0&&n<E&&s(E))},[n,p,E,s]),e.jsxRuntimeExports.jsxs(t,{withoutLabel:a,label:o??"",hidden:c,className:g,children:[e.jsxRuntimeExports.jsx(Tt,{displayType:"input",thousandSeparator:" ",decimalSeparator:",",decimalScale:h,prefix:v,suffix:y,defaultValue:"",value:r?_:(n==null?void 0:n.toString())??"",placeholder:l??o,onFocus:S=>{!f&&S.target.select()},onChange:D,hidden:c,disabled:x,className:e.classNames("form-control text-end w-100",{[`form-control-${u}`]:u}),step:j,min:E,max:p}),d&&n!==null&&s&&!x&&e.jsxRuntimeExports.jsx("div",{className:"luminus-input-remove-icon inset",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"secondary",size:"sm",onClick:b,children:e.jsxRuntimeExports.jsx(e.MdClear,{})})})]})},en=[["D","day"],["M","month"],["Y","year"],["C","custom"]],Ma="_wrapper_qfqux_1",Ba="_lg_qfqux_7",Aa="_sm_qfqux_11",Pa="_md_qfqux_14",tn={wrapper:Ma,lg:Ba,sm:Aa,md:Pa},tt=t=>{const n=new Date(t),s=e.trimIsoDate(n.toISOString());n.setMonth(n.getMonth()+1),n.setDate(n.getDate()-1);const r=e.trimIsoDate(n.toISOString());return{from:s,to:r}},Ke=t=>{const n=new Date(t),s=e.trimIsoDate(n.toISOString());n.setFullYear(n.getFullYear()+1),n.setDate(n.getDate()-1);const r=e.trimIsoDate(n.toISOString());return{from:s,to:r}},Va=(t,n)=>{if(t===null||n===null)return"C";if(t===n)return"D";const s=new Date(t);return tt(s).to===n?"M":Ke(s).to===n?"Y":(console.log(Ke(s),n),"C")},Ha=(t,n,s)=>{const r=i.useCallback((l,u)=>{if(t==="C"){s(c=>({...c,[l]:u}));return}switch(l){case"from":s(c=>{if(u===null)return c;const x=new Date(u);if(t==="D"){const d=e.trimIsoDate(x.toISOString());return{from:d,to:d}}return t==="M"?tt(x):t==="Y"?Ke(x):c});break;case"to":n("C"),s(c=>({...c,[l]:u}));break}},[t,s,n]),o=i.useCallback(l=>{s(u=>{if(u.from===null||u.to===null)return u;const c=new Date(u.from);c.setHours(c.getHours()-c.getTimezoneOffset()/60);const x=new Date(u.to);if(t==="D"){c.setDate(c.getDate()+l);const d=e.trimIsoDate(c.toISOString());return{from:d,to:d}}return t==="M"?(c.setMonth(c.getMonth()+l),tt(c)):t==="Y"?(c.setFullYear(c.getFullYear()+l),Ke(c)):{from:e.trimIsoDate(c.toISOString()),to:e.trimIsoDate(x.toISOString())}})},[t,s]),a=i.useCallback(l=>{l==="D"?s(u=>({from:u.from,to:u.from})):l==="M"?s(u=>{if(u.from===null)return u;const c=e.getFirstDayOfMonth(u.from);return tt(c)}):l==="Y"&&s(u=>{if(u.from===null)return u;const c=e.getFirstDayOfYear(new Date(u.from).getFullYear());return Ke(c)}),n(l)},[s,n]);return{setFromToProp:r,handleArrowClick:o,handleRangeChange:a}},Wa=({fromtoState:[t,n],className:s,size:r})=>{const{texts:{date:o},ProjectIconComponent:a}=i.useContext(e.LuminusComponentsContext),[l,u]=i.useState("C"),{handleArrowClick:c,handleRangeChange:x,setFromToProp:d}=Ha(l,u,n),m=i.useMemo(()=>l==="C",[l]),g=i.useRef(!0);return i.useEffect(()=>{if(g.current){const j=Va(t.from,t.to);u(j),g.current=!1}},[t.from,t.to]),e.jsxRuntimeExports.jsxs("div",{className:e.classNames("d-inline-flex align-items-center gap-1",tn.wrapper,tn[r??"md"],s),children:[e.jsxRuntimeExports.jsx(e.IconButton,{disabled:m,onClick:()=>{c(-1)},children:e.jsxRuntimeExports.jsx(a,{icon:"chevron-left"})}),e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-1",children:[e.jsxRuntimeExports.jsx($e,{type:"date",value:t.from,onChange:j=>d("from",j===null?null:j.toString()),InputContainer:e.NoInputContainer,size:r}),e.jsxRuntimeExports.jsx(e.Dropdown,{toggle:e.jsxRuntimeExports.jsx(e.DropdownToggle,{text:o[en.find(j=>j[0]===l)[1]].substring(0,1),as:e.FromToDatePickerDropdownToggle}),children:en.map(j=>e.jsxRuntimeExports.jsx(e.DropdownItem,{disabled:j[0]===l,className:e.classNames(j[0]===l?"text-black-50":""),onClick:()=>x(j[0]),role:"button",children:o[j[1]]},j[0]))}),e.jsxRuntimeExports.jsx($e,{type:"date",value:t.to,onChange:j=>d("to",j===null?null:j.toString()),InputContainer:e.NoInputContainer,size:r})]})}),e.jsxRuntimeExports.jsx(e.IconButton,{disabled:m,onClick:()=>{c(1)},children:e.jsxRuntimeExports.jsx(a,{icon:"chevron-right"})})]})},za=({defaultMonth:t,searchKey:n="monthFrom",yearMin:s,yearMax:r})=>{const{localizationContext:o}=i.useContext(e.LuminusComponentsContext),{dateFnsLocale:a}=i.useContext(o),{searchParams:l,setSearch:u}=Ae.useSearchQuery(),c=l.get(n),x=c?e.parseISO(c):t,d=i.useCallback(m=>{u(n,gt(m,{representation:"date"}))},[n,u]);return e.jsxRuntimeExports.jsx(Un,{month:x,onChangeMonth:d,locale:a,yearMin:s,yearMax:r})},Ua=({defaultYear:t,searchKey:n="yearFrom",optionMin:s,optionMax:r,className:o})=>{const[a,l]=Ae.useSearchQueryState(n,gt(t,{representation:"date"})),u=a?e.parseISO(a):t,c=i.useCallback(x=>{l(gt(x,{representation:"date"}))},[l]);return e.jsxRuntimeExports.jsx(Gn,{year:u,onChangeYear:c,optionMin:s,optionMax:r,className:o})},Ga=({data:t,showLegend:n=!1,legendPosition:s="left",onClick:r})=>{const{chartColorPalette:o}=i.useContext(e.LuminusComponentsContext);return e.jsxRuntimeExports.jsx(e._,{data:t,margin:{top:50,right:n&&s==="right"?200:100,bottom:50,left:n&&s==="left"?200:100},innerRadius:.4,padAngle:4,cornerRadius:2,activeOuterRadiusOffset:10,borderWidth:2,borderColor:{from:"color",modifiers:[["darker",.5]]},colors:o,arcLinkLabelsSkipAngle:10,arcLinkLabelsTextColor:{from:"color",modifiers:[["darker",.5]]},arcLinkLabelsThickness:2,arcLinkLabelsColor:{from:"color"},enableArcLabels:!1,legends:n?[{anchor:s,direction:s==="left"||s==="right"?"column":"row",justify:!1,translateX:s==="left"?-200:s==="right"?200:0,translateY:s==="top"?-50:s==="bottom"?50:0,itemsSpacing:4,itemWidth:120,itemHeight:18,itemTextColor:"#1e2832",itemDirection:"left-to-right",itemOpacity:1,symbolSize:18,symbolShape:"circle",padding:10}]:[],onClick:a=>r&&r(a.data)})},Ka=({errors:t,schema:n})=>{const s=r=>{var o,a;return r.toLowerCase()==="others"?"Obecné":((a=(o=n.columns)==null?void 0:o.find(l=>l.field===r))==null?void 0:a.caption)??r};return e.jsxRuntimeExports.jsx("div",{className:"alert alert-danger w-100 m-0 p-2",children:e.jsxRuntimeExports.jsx("table",{children:e.jsxRuntimeExports.jsx("tbody",{children:t.map(r=>e.jsxRuntimeExports.jsxs("tr",{children:[e.jsxRuntimeExports.jsx("td",{className:"fw-bold pe-2",children:e.jsxRuntimeExports.jsxs(e.Typography,{variant:"body",children:[s(r.name),":"]})}),e.jsxRuntimeExports.jsx("td",{className:"",children:e.jsxRuntimeExports.jsx(e.Typography,{variant:"body",children:r.errors})})]},r.name))})})})},us=t=>{const n={};return Object.keys(t).forEach(s=>{if(t[s].value===!0){n[s]=1;return}if(t[s].value===!1){n[s]=0;return}n[s]=t[s].value}),n},nn=(t,n)=>{const s={};return Object.keys(t).forEach(r=>{var l;const o=t[r],a=(l=n.columns)==null?void 0:l.find(u=>u.field===r);if((a==null?void 0:a.type)==="BIT"&&(o===1||o===0)){s[r]={value:o===1,defaultValue:o===1};return}s[r]={value:o,defaultValue:o}}),s},Ya="_table_1klfy_1",qa="_table-header_1klfy_10",Qa="_table-row_1klfy_10",Za="_table-head_1klfy_10",Ja="_filters-row_1klfy_19",Xa="_table-body_1klfy_30",ei="_table-cell_1klfy_30",ti="_action-column_1klfy_43",ni="_sticky-top_1klfy_47",si="_sticky-first_1klfy_54",ri="_sticky-last_1klfy_61",oi="_sticky-bottom_1klfy_68",se={table:Ya,"table-header":"_table-header_1klfy_10",tableHeader:qa,"table-row":"_table-row_1klfy_10",tableRow:Qa,"table-head":"_table-head_1klfy_10",tableHead:Za,"filters-row":"_filters-row_1klfy_19",filtersRow:Ja,"table-body":"_table-body_1klfy_30",tableBody:Xa,"table-cell":"_table-cell_1klfy_30",tableCell:ei,"action-column":"_action-column_1klfy_43",actionColumn:ti,"sticky-top":"_sticky-top_1klfy_47",stickyTop:ni,"sticky-first":"_sticky-first_1klfy_54",stickyFirst:si,"sticky-last":"_sticky-last_1klfy_61",stickyLast:ri,"sticky-bottom":"_sticky-bottom_1klfy_68",stickyBottom:oi},ai="_input_13mhy_1",Oe={input:ai},ds=({type:t,value:n,field:s,isPrimary:r,isReadonly:o,primaryEditable:a=!1,valuesForSelect:l,onChangeHandler:u,hideClearIcon:c,clearValue:x})=>{switch(t){case"NUM":return l&&l.length>0?e.jsxRuntimeExports.jsx(Ye,{withoutLabel:!0,InputContainer:e.NoInputContainer,className:Oe.input,size:"sm",value:(n==null?void 0:n.toString())??"",onChange:d=>u(s,d===null?null:Number(d)),options:l,disabled:o||a?!1:r,showClearIcon:!c,clearValue:x,dropdownWidth:200}):e.jsxRuntimeExports.jsx($e,{withoutLabel:!0,InputContainer:e.NoInputContainer,className:Oe.input,size:"sm",type:"number",value:n===null?null:Number(n),onChange:d=>u(s,d===null?null:Number(d)),disabled:o||a?!1:r,showClearIcon:!c,clearValue:x});case"STR":return l&&l.length>0?e.jsxRuntimeExports.jsx(Ye,{withoutLabel:!0,InputContainer:e.NoInputContainer,className:Oe.input,size:"sm",value:(n==null?void 0:n.toString())??"",onChange:d=>u(s,(d==null?void 0:d.toString())??null),options:l,disabled:o||a?!1:r,showClearIcon:!c,clearValue:x,dropdownWidth:200}):e.jsxRuntimeExports.jsx($e,{withoutLabel:!0,InputContainer:e.NoInputContainer,className:Oe.input,size:"sm",type:"text",value:(n==null?void 0:n.toString())??"",onChange:d=>u(s,(d==null?void 0:d.toString())??null),disabled:o||a?!1:r,showClearIcon:!c,clearValue:x});case"BIT":return e.jsxRuntimeExports.jsx(Dt,{InputContainer:e.NoInputContainer,className:Oe.input,value:n===!0,onChange:d=>u(s,d),disabled:o||a?!1:r});case"DT":return e.jsxRuntimeExports.jsx($e,{withoutLabel:!0,InputContainer:e.NoInputContainer,className:Oe.input,size:"sm",type:"date",value:n?n.toString().split("T")[0]??"":"",onChange:d=>u(s,(d==null?void 0:d.toString())??null),disabled:o||a?!1:r,showClearIcon:!c,clearValue:x});default:return e.jsxRuntimeExports.jsx("div",{className:"alert alert-warning p-1 m-0",children:e.jsxRuntimeExports.jsxs(e.Typography,{variant:"body",children:["Neznámý typ ",t]})})}},ii=({schema:t,columns:n,initialItem:s,onEdit:r,onDelete:o})=>{const{ProjectIconComponent:a}=i.useContext(e.LuminusComponentsContext),[l,u]=i.useState(s),c=i.useCallback((m,g)=>{console.log("changeValue",m,g),u(j=>({...j,[m]:{...j[m],value:g}}))},[]),x=m=>(m==null?void 0:m.value)!==(m==null?void 0:m.defaultValue),d=i.useCallback(()=>Object.keys(l).some(m=>x(l[m])),[l]);return i.useEffect(()=>{u(s)},[s]),e.jsxRuntimeExports.jsxs("tr",{className:e.classNames("table-row",se.tableRow),children:[e.jsxRuntimeExports.jsx("td",{className:e.classNames("table-cell",se.tableCell,se.stickyFirst),children:d()&&e.jsxRuntimeExports.jsx(e.IconButton,{color:"success",onClick:()=>r(us(l)),children:e.jsxRuntimeExports.jsx(a,{icon:"check"})})}),n.map(m=>{var g,j;return e.jsxRuntimeExports.jsx("td",{className:e.classNames("table-cell",se.tableCell),children:e.jsxRuntimeExports.jsx(ds,{type:m.type,value:(g=l[m.field??""])==null?void 0:g.value,field:m.field,isReadonly:m.readOnly,isPrimary:t.primaryKey===m.field,valuesForSelect:m.valuesForSelect,onChangeHandler:c,hideClearIcon:!x(l[m.field??""]),clearValue:(j=l[m.field??""].defaultValue)==null?void 0:j.toString()})},`${t.id}-${m.field}`)}),e.jsxRuntimeExports.jsx("td",{className:e.classNames("table-cell",se.tableCell,se.stickyLast),children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"danger",onClick:()=>o(l[t.primaryKey??""].value),children:e.jsxRuntimeExports.jsx(a,{icon:"delete"})})})]})},li=({schema:t,columns:n,onCreate:s})=>{const{ProjectIconComponent:r}=i.useContext(e.LuminusComponentsContext),[o,a]=i.useState(null),l=i.useCallback(()=>{var x;const c={};(x=t.columns)==null||x.forEach(d=>{const m=d.type==="BIT"?!1:d.type==="NUM"?0:d.type==="STR"?"":null;c[d.field??""]={value:m,defaultValue:m}}),a(c)},[t]),u=i.useCallback((c,x)=>{a(d=>d&&{...d,[c]:{...d[c],value:x}})},[]);return o?e.jsxRuntimeExports.jsxs("tr",{className:"sticky-bottom shadow",children:[e.jsxRuntimeExports.jsx("td",{className:"sticky-first",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"success",onClick:async()=>{const c=us(o);c&&await s(c)&&a(null)},children:e.jsxRuntimeExports.jsx(r,{icon:"check"})})}),n.map(c=>e.jsxRuntimeExports.jsx("td",{children:e.jsxRuntimeExports.jsx(ds,{type:c.type,value:o[c.field??""].value,field:c.field,isReadonly:c.readOnly,isPrimary:t.primaryKey===c.field,valuesForSelect:c.valuesForSelect,onChangeHandler:u,primaryEditable:!0})},`${t.id}-${c.field}`)),e.jsxRuntimeExports.jsx("td",{className:"sticky-last",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"danger",onClick:()=>a(null),children:e.jsxRuntimeExports.jsx(r,{icon:"cancel"})})})]}):e.jsxRuntimeExports.jsxs("tr",{className:"sticky-bottom shadow",children:[e.jsxRuntimeExports.jsx("td",{className:"sticky-first",children:e.jsxRuntimeExports.jsx(e.IconButton,{onClick:l,children:e.jsxRuntimeExports.jsx(r,{icon:"add"})})}),e.jsxRuntimeExports.jsx("td",{colSpan:n.length+1})]})},ci=({column:t,children:n})=>t.description?e.jsxRuntimeExports.jsx(Ze.SimpleTooltip,{placement:"bottom",text:t.description??"",children:e.jsxRuntimeExports.jsx("div",{children:n})}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:n}),ui=({schema:t,items:n,onEditItem:s,onDeleteItem:r,onCreateItem:o,filters:a,setFilter:l,sortByField:u,sortByType:c,setSortBy:x,selectedMaster:d})=>{const{texts:{dynamicForms:m},ProjectIconComponent:g}=i.useContext(e.LuminusComponentsContext),[j,f]=i.useState([]);return i.useEffect(()=>{var h,v,y;f([...((y=(v=(h=t.columns)==null?void 0:h.filter(E=>!E.hidden))==null?void 0:v.filter(E=>t.masterReference?E.field!==t.masterReferenceColumn:!0))==null?void 0:y.map(E=>{var p;return{label:E.caption??"",description:E.description??null,field:E.field??"",type:E.type,readOnly:E.readOnly,valuesForSelect:((p=E.values)==null?void 0:p.filter(b=>E.valuesFilteredByMaster?b.masterValue===d:!0).map(b=>({id:b.id??"",name:b.name})))??void 0}}))??[]])},[t,d]),e.jsxRuntimeExports.jsxs("table",{id:`dynamic-table-${t.id}`,className:e.classNames("table table-borderless luminus-df-table",se.table),children:[e.jsxRuntimeExports.jsxs("thead",{className:e.classNames("text-nowrap table-header",se.stickyTop,se.tableHeader),children:[e.jsxRuntimeExports.jsxs("tr",{className:e.classNames("table-row",se.tableRow),children:[e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead,se.actionColumn,se.stickyFirst)}),j.map(h=>e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead),onClick:()=>{const v=u===h.field?c:null;if(v==="asc"){x(h.field,"desc");return}if(v==="desc"){x(h.field,null);return}x(h.field,"asc")},children:e.jsxRuntimeExports.jsx(ci,{column:h,children:e.jsxRuntimeExports.jsxs("div",{className:"d-flex justify-content-between align-items-center",children:[h.label,u===h.field&&e.jsxRuntimeExports.jsx(g,{icon:c==="asc"?"chevron-up":"chevron-down"})]})})},`${t.id}-${h.field}`)),e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead,se.actionColumn,se.stickyLast)})]}),e.jsxRuntimeExports.jsxs("tr",{className:e.classNames("table-row filters-row",se.tableRow,se.filtersRow),children:[e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead,se.actionColumn,se.stickyFirst)}),j.map(h=>e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead),children:h.valuesForSelect&&h.valuesForSelect.length>0||h.type==="BIT"?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx(Ye,{InputContainer:e.NoInputContainer,withoutLabel:!0,size:"sm",value:a[h.field]??"",onChange:v=>l(h.field,(v==null?void 0:v.toString())??null),options:h.type==="BIT"?[{id:1,name:m.yes},{id:0,name:m.no}]:h.valuesForSelect??[],isNumber:h.type==="BIT",showClearIcon:!0,dropdownWidth:200})}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx($e,{InputContainer:e.NoInputContainer,withoutLabel:!0,size:"sm",type:h.type==="NUM"?"number":h.type==="DT"?"date":"text",value:a[h.field]??"",onChange:v=>l(h.field,(v==null?void 0:v.toString())??null)})})},`${t.id}-${h.field}`)),e.jsxRuntimeExports.jsx("th",{className:e.classNames("table-head",se.tableHead,se.actionColumn,se.stickyLast)})]})]}),e.jsxRuntimeExports.jsxs("tbody",{className:e.classNames("table-body",se.tableBody),children:[n.filter(h=>h[t.primaryKey??""]).map(h=>e.jsxRuntimeExports.jsx(ii,{schema:t,columns:j,initialItem:h,onEdit:s,onDelete:r},`${t.id}-${h[t.primaryKey??""].value}`)),e.jsxRuntimeExports.jsx(li,{schema:t,columns:j,onCreate:o})]})]})},di=({master:t,onChange:n,options:s,label:r})=>e.jsxRuntimeExports.jsx("div",{style:{minWidth:"200px"},children:e.jsxRuntimeExports.jsx(Ye,{label:r,value:t,onChange:o=>n(o?o.toString():null),options:s,size:"sm"})}),xi="_pagination_gujwe_1",sn={pagination:xi},rn={appDetail:"/settings/:id"},Me={apiSchemaGet:"/dynamicForms/schema",apiDataGet:"/dynamicForms/data",apiItemPost:"/dynamicForms/update",apiItemDelete:"/dynamicForms/delete",apiItemCreate:"/dynamicForms/insert"},mi=({id:t,page:n,setPage:s,filters:r,setFilter:o,sortByField:a,sortByType:l,setSortBy:u,appUrls:{appDetail:c=rn.appDetail}=rn,apiUrls:{apiSchemaGet:x=Me.apiSchemaGet,apiDataGet:d=Me.apiDataGet,apiItemPost:m=Me.apiItemPost,apiItemDelete:g=Me.apiItemDelete,apiItemCreate:j=Me.apiItemCreate}=Me})=>{var te,me,ne,Z,fe,ve;const{texts:{dynamicForms:f},ProjectIconComponent:h}=i.useContext(e.LuminusComponentsContext),v=e.useAxios(),{startLoading:y,stopLoading:E}=i.useContext(e.LoadingContext),[p,b]=i.useState(null),[w,_]=i.useState(null),[k,C]=i.useState(null),[D,S]=i.useState(null),[I,R]=i.useState(!1),{addNotification:F}=e.useNotifications(),[H,K]=i.useState([]),{confirm:L}=e.useConfirm(),$=20,B=$+1,V=D?Math.ceil(D.length/$):1,z=n?n>1:!1,U=n?n<V:!1,q=n?(n-1)*$:0,M=n?n*$:$,[N,P]=i.useState(!1),ee=N?D==null?void 0:D.slice(q,M):D,[re,pe]=i.useState(null);i.useEffect(()=>{b(null),_(null),R(!1),K([]),pe(null)},[t]);const Y=i.useCallback(async()=>{y("dynamicFormSchema"),await v.get(`${x}?id=${t}`).then(({data:A})=>{b(A),E("dynamicFormSchema")}).catch(()=>E("dynamicFormSchema"))},[v,t,y,E,x]),le=i.useCallback(async()=>{var A;if(!(p===null||((A=p.id)==null?void 0:A.toString())!==t)){if(p.masterReference&&!re){_([]);return}y("dynamicFormData"),await v.get(`${d}?id=${t}&showArchive=${I}${p.masterReference?`&master=${re}`:""}`).then(({data:Q})=>{const ae=Q.map(X=>{var ie;return Object.fromEntries(((ie=p.columns)==null?void 0:ie.filter(ce=>ce.field).map(ce=>[ce.field,{value:X[ce.field??""],defaultValue:X[ce.field??""]}]))??[])});_(ae),E("dynamicFormData")}).catch(()=>E("dynamicFormData"))}},[v,t,p,y,E,I,re,d]),ge=i.useCallback(async A=>(y("dynamicFormEdit"),v.post(`${m}?id=${t}`,A).then(()=>(E("dynamicFormEdit"),K([]),!0)).catch(Q=>(E("dynamicFormEdit"),K(e.extractErrorsFromResponse(Q)),!1))),[v,t,y,E,m]),ke=i.useCallback(async A=>(y("dynamicFormDelete"),v.delete(`${g}?id=${t}&pk=${A}`).then(()=>(E("dynamicFormDelete"),K([]),!0)).catch(Q=>(E("dynamicFormDelete"),K(e.extractErrorsFromResponse(Q)),!1))),[v,t,y,E,g]),W=i.useCallback(async A=>(y("dynamicFormCreate"),v.post(`${j}?id=${t}`,A).then(({data:Q})=>(E("dynamicFormCreate"),K([]),Q)).catch(Q=>(E("dynamicFormCreate"),K(e.extractErrorsFromResponse(Q)),null))),[v,t,y,E,j]),oe=i.useCallback(async A=>{p&&await ge(p.masterReference?{...A,[p.masterReferenceColumn??""]:re}:A)&&(F(f.editSuccess,"success"),_(Q=>Q&&Q.map(ae=>{var X;return((X=ae[(p==null?void 0:p.primaryKey)??""])==null?void 0:X.value)===A[(p==null?void 0:p.primaryKey)??""]?nn(A,p):ae})))},[F,ge,p,re,f]),ue=i.useCallback(async A=>{await L(f.deleteConfirm)&&await ke(A)&&(F(f.deleteSuccess,"success"),_(Q=>Q&&Q.filter(ae=>{var X;return((X=ae[(p==null?void 0:p.primaryKey)??""])==null?void 0:X.value)!==A})))},[F,ke,f,L,p]),Le=i.useCallback(async A=>{if(!p)return!1;const Q=await W(p.masterReference?{...A,[p.masterReferenceColumn??""]:re}:A);if(Q!==null){F(f.createSuccess,"success");const ae=nn(A,p);return ae[(p==null?void 0:p.primaryKey)??""]={value:Q,defaultValue:Q},_(X=>[...X??[],ae]),!0}return!1},[F,W,f,p,re]),T=A=>{A>V?s(V):A<1&&s(1),s(A)},O=i.useCallback(()=>{if(!w||!p){C(null);return}const A=w.filter(Q=>Object.entries(r).every(([ae,X])=>{var He,We,ze;if(X===null)return!0;const ie=(He=Q[ae])==null?void 0:He.value;if(ie==null)return!1;const ce=(We=p.columns)==null?void 0:We.find(Xe=>Xe.field===ae),Pe=ce==null?void 0:ce.type,Ve=(ce==null?void 0:ce.values)&&((ze=ce==null?void 0:ce.values)==null?void 0:ze.length)>0;if(!Pe)return!1;switch(Pe){case"STR":return Ve?ie===X:ie.toString().toLowerCase().includes(X.toLowerCase());case"NUM":return Ve?Number(ie)===Number(X):ie.toString().toLowerCase().includes(X.toLowerCase());case"DT":return ie.toString().toLowerCase().includes(X.toLowerCase());case"BIT":return Number(ie)===Number(X);default:return ie.toString().toLowerCase().includes(X.toLowerCase())}}));C(A)},[w,r,p]),G=i.useCallback(()=>{if(!k||!p){S([]);return}if(!a){S(k);return}S([...k].sort((A,Q)=>{var Pe,Ve,He,We,ze,Xe;const ae=((Ve=(Pe=A[a])==null?void 0:Pe.value)==null?void 0:Ve.toString())??"",X=((We=(He=Q[a])==null?void 0:He.value)==null?void 0:We.toString())??"",ie=p.columns.find(ye=>ye.field===a),ce=ie==null?void 0:ie.type;if(!ie||!ce||!ae&&!X)return 0;if(!ae)return 1;if(!X)return-1;if(ie.values&&ie.values.length>0){const ye=((ze=ie.values.find(it=>{var Ue;return((Ue=it.id)==null?void 0:Ue.toString())===ae}))==null?void 0:ze.name)??"",Ce=((Xe=ie.values.find(it=>{var Ue;return((Ue=it.id)==null?void 0:Ue.toString())===X}))==null?void 0:Xe.name)??"";return l==="asc"?ye.localeCompare(Ce):Ce.localeCompare(ye)}if(ce==="NUM"){const ye=Number(ae),Ce=Number(X);return l==="asc"?ye-Ce:Ce-ye}if(ce==="DT"){const ye=e.parseISO(ae==null?void 0:ae.toString()).getTime(),Ce=e.parseISO(X==null?void 0:X.toString()).getTime();return l==="asc"?ye-Ce:Ce-ye}return l==="asc"?ae.toString().localeCompare(X.toString()):X.toString().localeCompare(ae.toString())}))},[k,p,a,l]);return i.useEffect(()=>{Y()},[Y]),i.useEffect(()=>{le()},[le]),i.useEffect(()=>{O()},[O]),i.useEffect(()=>{G()},[G]),i.useEffect(()=>{D&&D.length>B?(P(!0),n||s(1)):(P(!1),D&&s(null))},[D,s,n,B]),i.useEffect(()=>{!N||!n||(n>V&&s(V),n<1&&s(1))},[n,N,V,s]),e.jsxRuntimeExports.jsxs("div",{className:"h-100 w-100 d-flex flex-column",children:[e.jsxRuntimeExports.jsxs("div",{className:"mb-3 d-flex justify-content-between align-items-center",children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"h3",children:(p==null?void 0:p.name)??""}),e.jsxRuntimeExports.jsx(Dt,{label:f.showArchived,value:I===!0,onChange:A=>R(A)})]}),(p==null?void 0:p.description)&&e.jsxRuntimeExports.jsx(e.Typography,{variant:"body2",className:"mb-3",children:p==null?void 0:p.description}),(p==null?void 0:p.masterReference)&&e.jsxRuntimeExports.jsx("div",{className:"mb-3 d-flex",children:e.jsxRuntimeExports.jsx(di,{label:((me=(te=p.columns)==null?void 0:te.find(A=>A.field===p.masterReferenceColumn))==null?void 0:me.caption)??"",options:((Z=(ne=p.columns)==null?void 0:ne.find(A=>A.field===p.masterReferenceColumn))==null?void 0:Z.values)??[],master:re,onChange:A=>pe(A)})}),(p==null?void 0:p.slaves)&&p.slaves.length>0&&e.jsxRuntimeExports.jsx("div",{className:"mb-3 d-flex align-items-center flex-start",children:p.slaves.map(A=>{var Q;return e.jsxRuntimeExports.jsx(e.ContextButton,{as:"link",href:`${xe.generatePath(c,{id:(Q=A.id)==null?void 0:Q.toString()})}?type=dynamic-form`,children:A.name},A.id)})}),p!=null&&p.masterReference&&!re?e.jsxRuntimeExports.jsx(ot,{variant:"warning",children:f.selectMaster(((ve=(fe=p.columns)==null?void 0:fe.find(A=>A.field===p.masterReferenceColumn))==null?void 0:ve.caption)??"").toLowerCase()}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[p&&H.length>0&&e.jsxRuntimeExports.jsx("div",{className:"mb-2",children:e.jsxRuntimeExports.jsx(Ka,{errors:H,schema:p})}),p&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("rounded border overflow-auto",sn.tableContainer),children:e.jsxRuntimeExports.jsx(ui,{schema:p,items:(N?ee:D)??[],onEditItem:oe,onDeleteItem:ue,onCreateItem:Le,filters:r,setFilter:o,sortByField:a,sortByType:l,setSortBy:u,selectedMaster:(re==null?void 0:re.toString())??null})}),N&&n&&e.jsxRuntimeExports.jsxs("div",{className:e.classNames(sn.pagination,"d-flex align-items-center gap-3 p-1 border-bottom border-start border-end rounded"),children:[e.jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-1",children:[e.jsxRuntimeExports.jsx(e.IconButton,{color:"primary",onClick:()=>T(1),disabled:!z,children:e.jsxRuntimeExports.jsx(h,{icon:"chevron-double-left"})}),e.jsxRuntimeExports.jsx(e.IconButton,{color:"primary",onClick:()=>T(n-1),disabled:!z,children:e.jsxRuntimeExports.jsx(h,{icon:"chevron-left"})}),e.jsxRuntimeExports.jsx(e.IconButton,{color:"primary",onClick:()=>T(n+1),disabled:!U,children:e.jsxRuntimeExports.jsx(h,{icon:"chevron-right"})}),e.jsxRuntimeExports.jsx(e.IconButton,{color:"primary",onClick:()=>T(V),disabled:!U,children:e.jsxRuntimeExports.jsx(h,{icon:"chevron-double-right"})})]}),e.jsxRuntimeExports.jsxs(e.Typography,{variant:"body",children:[f.tablePage," ",n," ",f.tablePageFrom," ",V]})]})]})]})]})},on={appDetail:"/settings/:id"},an={apiDynamicFormsGet:"/dynamicForms"},pi=({item:t,children:n})=>t.description?e.jsxRuntimeExports.jsx(Ze.SimpleTooltip,{placement:"left",text:t.description??"",children:e.jsxRuntimeExports.jsx("div",{children:n})}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:n}),fi=({activeId:t,otherForms:n=[],groupsDefs:s=[],searchQuery:r,fullSize:o,appUrls:{appDetail:a=on.appDetail}=on,apiUrls:{apiDynamicFormsGet:l=an.apiDynamicFormsGet}=an})=>{const u=e.useAxios(),{startLoading:c,stopLoading:x}=i.useContext(e.LoadingContext),[d,m]=i.useState(null),g=i.useMemo(()=>[...(d==null?void 0:d.map(h=>({...h,type:"dynamic-form"})))??[],...n].filter(h=>be.stringSearchWithin(h.name,r)||be.stringSearchWithin(h.description,r)).sort((h,v)=>(h.name??"").localeCompare(v.name??""))??[],[d,n,r]),j=i.useMemo(()=>s.map(h=>({id:h.id,name:h.name??"",items:g.filter(v=>v.group===h.id)})).filter(h=>h.items.length>0),[s,g]),f=i.useCallback(async()=>{c("dynamicForms"),await u.get(l).then(({data:h})=>{m(h),x("dynamicForms")}).catch(()=>x("dynamicForms"))},[u,c,x,l]);return i.useEffect(()=>{!d&&f()},[f,d]),g.length>0?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:"w-auto list-group forms-items overflow-x-hidden",children:j.map(h=>e.jsxRuntimeExports.jsx(st,{title:h.name,defaultOpen:!0,children:h.items.map(v=>{var y,E,p,b;return o?e.jsxRuntimeExports.jsxs(xe.Link,{to:`${xe.generatePath(a,{id:(y=v.id)==null?void 0:y.toString()})}?type=${v.type}`,className:`text-nowrap list-group-item list-group-item-action ${(t==null?void 0:t.toString())===((E=v.id)==null?void 0:E.toString())?"active":""}`,children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"body",children:v.name}),v.description&&e.jsxRuntimeExports.jsx(e.Typography,{variant:"body2",className:"text-muted mt-2",children:v.description})]},v.id):e.jsxRuntimeExports.jsx(pi,{item:v,children:e.jsxRuntimeExports.jsx(xe.Link,{to:`${xe.generatePath(a,{id:(p=v.id)==null?void 0:p.toString()})}?type=${v.type}`,className:`text-nowrap list-group-item list-group-item-action ${(t==null?void 0:t.toString())===((b=v.id)==null?void 0:b.toString())?"active":""}`,children:e.jsxRuntimeExports.jsx(e.Typography,{variant:"body2",children:v.name})})},v.id)})},h.id))})}):null},hi=({label:t,to:n,value:s})=>e.jsxRuntimeExports.jsxs(e.RowLabelInput,{label:t,children:[e.jsxRuntimeExports.jsx("input",{disabled:!0,className:"form-control d-none"}),n?e.jsxRuntimeExports.jsx(xe.Link,{to:n,className:"border-bottom luminus-dropdown-picker-link form-control d-flex justify-content-end align-items-center",children:s}):e.jsxRuntimeExports.jsx("div",{className:"luminus-dropdown-picker-link form-control d-flex justify-content-end align-items-center",children:s})]}),ji=()=>{const{localizationContext:t}=i.useContext(e.LuminusComponentsContext),{language:n,setLanguage:s}=i.useContext(t),r=o=>{s(o)};return e.jsxRuntimeExports.jsx(e.DropdownItem,{onClick:o=>{r(n==="cz"?"en":"cz"),o.stopPropagation()},children:n==="cz"?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("strong",{children:"CZ"}),e.jsxRuntimeExports.jsx(e.MdArrowRight,{}),e.jsxRuntimeExports.jsx("span",{children:"EN"})]}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("strong",{children:"EN"}),e.jsxRuntimeExports.jsx(e.MdArrowRight,{}),e.jsxRuntimeExports.jsx("span",{children:"CZ"})]})})},gi=({controlId:t,...n})=>e.jsxRuntimeExports.jsx(e.Form.Group,{controlId:t,...n}),vi=({employeeId:t,alt:n,noPhotoImage:s,cafmApiUrl:r,showLargeInLightBox:o=!1})=>{const{user:a}=i.useContext(e.UserContext),{photoPath:l,photoPathSm:u}=Ae.useEmployeePhotoPath(t);return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t&&e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:o?e.jsxRuntimeExports.jsx(Xn,{baseUrl:r,customToken:a.cafmToken??void 0,photos:[{id:t.toString(),alt:n??"",isDefault:!0,smSrc:u,lgSrc:l}],placeholder:s,ImgComponent:yt}):e.jsxRuntimeExports.jsx(yt,{baseUrl:r,customToken:a.cafmToken??void 0,src:u,alt:n,placeholder:s,className:"rounded w-100"})})})},Ei=({text:t,setText:n,onSearchButtonClick:s,className:r})=>{const o=a=>{n(a)};return e.jsxRuntimeExports.jsxs(et,{className:`${r}`,children:[e.jsxRuntimeExports.jsx(e.Form.Control,{value:t,onChange:a=>n(a.target.value)}),t&&e.jsxRuntimeExports.jsx(e.Button$1,{onClick:()=>o(""),variant:"link",className:"border text-muted",children:e.jsxRuntimeExports.jsx(e.MdClear,{})}),e.jsxRuntimeExports.jsx(e.Button$1,{onClick:()=>s&&s(t),variant:"link",className:"border",children:e.jsxRuntimeExports.jsx(e.MdSearch,{})})]})},Ri=({value:t,numberPrefix:n,numberSuffix:s,decimalScale:r=2,className:o})=>e.jsxRuntimeExports.jsx(Tt,{value:t,displayType:"text",thousandSeparator:" ",decimalScale:r,defaultValue:"",prefix:n,suffix:s,className:o,decimalSeparator:","}),yi=({data:t,keys:n,colors:s,tooltipLabel:r})=>e.jsxRuntimeExports.jsx(e.Re,{data:t.map(o=>({name:o.name,...o.values})),indexBy:"name",keys:n,margin:{top:20,right:50,bottom:30,left:150},layout:"horizontal",colors:s,padding:.2,borderRadius:2,borderWidth:2,borderColor:{from:"color",modifiers:[["darker",.5]]},axisTop:null,axisRight:null,axisBottom:{tickSize:5,tickPadding:5,tickRotation:0},axisLeft:{tickSize:5,tickPadding:5,tickRotation:0},labelSkipWidth:12,labelSkipHeight:12,labelTextColor:{from:"color",modifiers:[["darker",1.6]]},tooltipLabel:r}),bi=({InputContainer:t=e.RowLabelInput,formField:n,label:s,resetsFields:r,type:o,required:a,hidden:l,disabled:u,withoutLabel:c,className:x})=>{const{register:d,formState:m,setValue:g}=Re.useFormContext(),[j,f]=i.useState(void 0),[h,v]=i.useState(!1);i.useEffect(()=>{const E=n.split(".");let p=m.errors;E.forEach(b=>{p!==void 0&&(p=p[b])}),f(p)},[m,n]),i.useEffect(()=>{m.isSubmitted&&v(!0)},[m]);const y=j!==void 0;return e.jsxRuntimeExports.jsxs(t,{isForCheckInput:!0,hidden:l,label:`${s}${a?" *":""}`,isInvalid:y,withoutLabel:c,className:x,children:[e.jsxRuntimeExports.jsx(e.Form.Check,{id:`check-${n}`,type:o??"checkbox",label:`${s}${a?" *":""}`,...d(n,{onChange:()=>{r&&r.forEach(E=>g(E,null,{shouldDirty:!0,shouldValidate:h}))}}),isInvalid:y,hidden:l,disabled:u,className:"w-100"}),j&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:j.message})]})},wi=({InputContainer:t=e.RowLabelInput,label:n,formField:s,options:r,resetsFields:o,required:a,disabled:l,hidden:u,className:c})=>{const{register:x,formState:d,setValue:m,watch:g}=Re.useFormContext(),[j,f]=i.useState(void 0),[h,v]=i.useState(!1),y=i.useMemo(()=>r,[r]);i.useEffect(()=>{const p=s.split(".");let b=d.errors;p.forEach(w=>{b!==void 0&&(b=b[w])}),f(b)},[d,s]),i.useEffect(()=>{d.isSubmitted&&v(!0)},[d]);const E=j!==void 0;return e.jsxRuntimeExports.jsxs(t,{isForRadioInput:!0,hidden:u,withoutLabel:!n,label:`${n}${a?" *":""}`,isInvalid:E,className:c,children:[y.map(p=>e.jsxRuntimeExports.jsx(e.Form.Check,{id:`radio-${p.id}`,label:p.name,type:"radio",value:p.id??"",checked:g(s)===p.id,...x(s,{onChange:()=>{o&&o.forEach(b=>m(b,null,{shouldDirty:!0,shouldValidate:h}))}}),isInvalid:E,hidden:u,disabled:l,className:"w-100"},p.id)),j&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:j.message})]})},Ci=({InputContainer:t=e.RowLabelInput,formField:n,label:s,size:r,defaultSelection:o,resetsFields:a,isNumber:l,required:u,hidden:c,disabled:x,items:d,onSearchQueryChange:m,selectedItemNavigateTo:g,texts:j,dropdownItemsNameWidth:f,isLoading:h,withoutLabel:v,additionalColumns:y,CustomOnChangeComponent:E,icon:p,displayIdAsName:b,onSelect:w,className:_,archiveColumn:k})=>{const{formState:C,setValue:D,watch:S,control:I}=Re.useFormContext(),[R,F]=i.useState(void 0),[H,K]=i.useState(!1),[L,$]=i.useState(!1),B=S(n)??null,V=B===(o==null?void 0:o.id)?o==null?void 0:o.name:S(`${n}-DropdownName`),z=i.useMemo(()=>B==null?null:{id:B??null,name:V??""},[B,V]),U=i.useCallback(()=>{const Y=n.split(".");let le=C.errors;Y.forEach(ge=>{le!==void 0&&(le=le[ge])}),F(le)},[C,n]),q=i.useCallback(Y=>{if((Y==null?void 0:Y.id)===B)return;if(w&&w(Y),a&&a.forEach(ge=>D(ge,null,{shouldDirty:!0,shouldValidate:L})),Y===null){D(n,null,{shouldDirty:!0,shouldValidate:L}),D(`${n}-DropdownName`,null);return}let le=null;l?le=(Y==null?void 0:Y.id)!==null&&(Y==null?void 0:Y.id)!==""?parseInt(Y.id.toString(),10):null:le=Y.id===null||Y.id===void 0||Y.id===""?null:Y.id,D(n,le,{shouldDirty:!0,shouldValidate:L}),D(`${n}-DropdownName`,Y.name??"")},[D,n,L,l,a,B,w]),M=i.useCallback(Y=>{K(!1),q(Y)},[q]),N=i.useCallback(()=>{K(!1)},[]);i.useEffect(()=>{U()},[U]),i.useEffect(()=>{C.isSubmitted&&$(!0)},[C]);const P=i.useRef(null),ee=R!==void 0,re=g!==void 0,pe=re&&z!==null;return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs(t,{label:`${s}${u?" *":""}`,hidden:c,withoutLabel:v,isInvalid:ee,inputContainerClassName:e.classNames({"luminus-dropdown-select-open":H}),className:_,children:[e.jsxRuntimeExports.jsxs(ns,{currentSelection:z,selectedItemNavigateTo:g,children:[b&&(z==null?void 0:z.name)&&e.jsxRuntimeExports.jsx(e.Typography,{variant:"caption",className:"d-flex justify-content-end mt-2 luminus-dropdown-selection-name",children:z.name}),e.jsxRuntimeExports.jsx(Re.Controller,{control:I,name:n,render:()=>e.jsxRuntimeExports.jsx(e.Form.Select,{size:r,onMouseDown:Y=>{Y.currentTarget.focus(),Y.preventDefault()},onClick:()=>{!re&&!x&&K(!0)},ref:P,value:B??"",onChange:()=>{},isInvalid:ee,hidden:c,className:e.classNames("w-100",{"luminus-dropdown-picker-disabled":x,"luminus-dropdown-picker-link":pe}),children:e.jsxRuntimeExports.jsx("option",{value:B,children:b?B:(V==null?void 0:V.length)>0?V:B})})}),E||!x&&re?e.jsxRuntimeExports.jsxs("div",{className:"custom-picker-button",children:[!E&&!x&&re&&e.jsxRuntimeExports.jsx(e.IconButton,{size:"sm",color:"secondary",onClick:Y=>{Y.preventDefault(),Y.stopPropagation(),K(!0)},children:p??e.jsxRuntimeExports.jsx(e.MdOutlineEdit,{})}),E??null]}):null]}),R&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:R.message}),P.current&&e.jsxRuntimeExports.jsx(Je,{show:H,onCancel:N,items:d,currentSelection:z,onSelectionChange:M,onSearchQueryChange:m,texts:j,itemsNameWidth:f,additionalColumns:y,displayIdAsName:b,isLoading:h,disabled:x,inputRef:P,archiveColumn:k})]})})},Ni=({InputContainer:t=e.RowLabelInput,label:n,formField:s,hidden:r,required:o,placeholder:a,disabled:l,showClearIcon:u,resetsFields:c,multiple:x,accept:d,withoutLabel:m,className:g})=>{const{watch:j,setValue:f,register:h,formState:v}=Re.useFormContext(),[y,E]=i.useState(!1),[p,b]=i.useState(void 0),w=i.useCallback(()=>{f(s,"")},[f,s]),_=i.useCallback(()=>{const C=s.split(".");let D=v.errors;C.forEach(S=>{D!==void 0&&(D=D[S])}),b(D)},[v,s]);i.useEffect(_,[_]),i.useEffect(()=>{v.isSubmitted&&E(!0)},[v]);const k=p!==void 0;return e.jsxRuntimeExports.jsxs(t,{label:`${n}${o?"*":""}`,hidden:r,withoutLabel:m,isInvalid:k,className:g,children:[e.jsxRuntimeExports.jsx(e.FormControl,{type:"file",multiple:x,accept:d.join(", "),placeholder:a??n,isInvalid:k,hidden:r,disabled:l,className:"w-100",...h(s,{onChange:()=>{c&&c.forEach(C=>f(C,null,{shouldDirty:!0,shouldValidate:y}))}})}),u&&j(s)&&e.jsxRuntimeExports.jsx("div",{className:"luminus-input-remove-icon",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"secondary",size:"sm",onClick:w,children:e.jsxRuntimeExports.jsx(e.MdClear,{})})}),p&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:p.message})]})},_i=({children:t,onStorno:n,noSpacer:s})=>{const{formState:r}=Re.useFormContext(),[o,a]=i.useState(!1);return i.useEffect(()=>{a(Object.keys(r.dirtyFields).length>0)},[r]),o?e.jsxRuntimeExports.jsx(zn,{onStorno:n,noSpacer:s,children:t}):null},ki=({InputContainer:t=e.RowLabelInput,options:n,formField:s,label:r,size:o,resetsFields:a,isNumber:l,required:u,hidden:c,disabled:x,withoutLabel:d,noSortOptions:m,suffixIdToName:g,onSelect:j,className:f,appendCurrentSelectionWithName:h})=>{const{texts:{customSelect:v}}=i.useContext(e.LuminusComponentsContext),{formState:y,setValue:E,watch:p,control:b}=Re.useFormContext(),[w,_]=i.useState(void 0),[k,C]=i.useState(!1),[D,S]=i.useState(!1),[I,R]=i.useState(""),F=p(s),H=i.useMemo(()=>n.find(M=>M.id===F)??null,[n,F]),K=i.useCallback(()=>{const M=s.split(".");let N=y.errors;M.forEach(P=>{N!==void 0&&(N=N[P])}),_(N)},[y,s]),L=i.useCallback(M=>{if((M==null?void 0:M.id)===F)return;if(j&&j(M),a&&a.forEach(P=>E(P,null,{shouldDirty:!0,shouldValidate:D})),M===null){E(s,null,{shouldDirty:!0,shouldValidate:D});return}let N=null;l?N=(M==null?void 0:M.id)!==null&&(M==null?void 0:M.id)!==""?parseInt(M.id.toString(),10):null:N=M.id===null||M.id===void 0||M.id===""?null:M.id,E(s,N,{shouldDirty:!0,shouldValidate:D})},[E,s,l,a,F,D,j]),$=i.useCallback(M=>{C(!1),L(M)},[L]),B=i.useCallback(M=>{R(M)},[]);i.useEffect(()=>{K()},[K]),i.useEffect(()=>{y.isSubmitted&&S(!0)},[y]);const V=i.useCallback(M=>{var N;return M===null?"":!M.name||M.name.length===0?((N=M.id)==null?void 0:N.toString())??"":g?`${M.name} (${M.id})`:M.name},[g]),z=i.useMemo(()=>{const M=n??[];return h!==void 0&&F&&(M.some(N=>N.id===F)||M.push({id:F,name:h})),M.map(N=>({id:N.id,name:V(N)})).filter(N=>be.stringSearchWithin(N.name,I)).sort((N,P)=>m?0:(N.name??"").localeCompare(P.name??""))},[n,m,I,V,h,F]),U=i.useRef(null),q=w!==void 0;return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs(t,{label:`${r}${u?" *":""}`,hidden:c,withoutLabel:d,isInvalid:q,inputContainerClassName:e.classNames({"luminus-dropdown-select-open":k}),className:f,children:[e.jsxRuntimeExports.jsx(Re.Controller,{control:b,name:s,render:()=>e.jsxRuntimeExports.jsx(e.Form.Select,{size:o,onMouseDown:M=>{M.currentTarget.focus(),M.preventDefault()},onClick:()=>{C(!0)},ref:U,value:F??"",onChange:()=>{},isInvalid:q,hidden:c,disabled:x,className:"w-100",children:e.jsxRuntimeExports.jsx("option",{value:(H==null?void 0:H.id)??"",children:V(H)})})}),w&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:w.message}),U.current&&e.jsxRuntimeExports.jsx(Je,{show:k,onCancel:()=>C(!1),items:z,currentSelection:H??null,onSelectionChange:$,onSearchQueryChange:B,texts:v,disabled:x,inputRef:U,autoHideSearch:!0,allItemsLength:n.length})]})})},Si=({InputContainer:t=e.RowLabelInput,formField:n,label:s,placeholder:r,size:o,resetsFields:a,showClearIcon:l,clearValue:u,required:c,hidden:x,disabled:d,withoutLabel:m,step:g,stepperStep:j=1,className:f,min:h,max:v})=>{const{register:y,formState:E,setValue:p,watch:b}=Re.useFormContext(),[w,_]=i.useState(void 0),[k,C]=i.useState(!1),D=i.useCallback((H,K,L)=>{p(H,be.limitNumber(K,h,v),L)},[v,h,p]),S=i.useCallback(()=>{const H=u??null;D(n,H!==null?Number(H):null,{shouldDirty:!0,shouldValidate:k})},[u,D,n,k]),I=i.useCallback(()=>{const H=n.split(".");let K=E.errors;H.forEach(L=>{K!==void 0&&(K=K[L])}),_(K)},[E,n]);i.useEffect(()=>{I()},[I]),i.useEffect(()=>{E.isSubmitted&&C(!0)},[E]);const R=w!==void 0,F=b(n);return e.jsxRuntimeExports.jsxs(t,{label:`${s}${c?" *":""}`,hidden:x,withoutLabel:m,isInvalid:R,className:f,children:[e.jsxRuntimeExports.jsxs("div",{className:"luminus-input-container position-relative w-100",children:[e.jsxRuntimeExports.jsx(e.Form.Control,{type:"number",placeholder:r??s,size:o,...y(n,{setValueAs:H=>H==null||H===""?null:be.limitNumber(Number(H),h,v),min:h,max:v,onChange:()=>{a&&a.forEach(H=>p(H,null,{shouldDirty:!0,shouldValidate:k}))}}),isInvalid:R,hidden:x,disabled:d,className:"w-100 luminus-numeric-stepper",step:g,min:h,max:v}),e.jsxRuntimeExports.jsx("div",{className:"stepper-icon left",children:!d&&e.jsxRuntimeExports.jsx(e.IconButton,{size:"sm",onClick:H=>{H.preventDefault(),H.stopPropagation(),D(n,((F?Number(F):0)-j).toString(),{shouldDirty:!0,shouldValidate:k})},children:e.jsxRuntimeExports.jsx(e.FaMinus,{})})}),e.jsxRuntimeExports.jsx("div",{className:"stepper-icon right",children:!d&&e.jsxRuntimeExports.jsx(e.IconButton,{size:"sm",onClick:H=>{H.preventDefault(),H.stopPropagation(),D(n,((F?Number(F):0)+j).toString(),{shouldDirty:!0,shouldValidate:k})},children:e.jsxRuntimeExports.jsx(e.FaPlus,{})})})]}),l&&b(n)&&e.jsxRuntimeExports.jsx("div",{className:"luminus-input-remove-icon",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"secondary",size:"sm",onClick:S,children:e.jsxRuntimeExports.jsx(e.MdClear,{})})}),w&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:w.message})]})},Ii=({InputContainer:t=e.RowLabelInput,formField:n,label:s,placeholder:r,resetsFields:o,showClearIcon:a,clearValue:l,required:u,hidden:c,disabled:x,withoutLabel:d,step:m,size:g,CustomOnChangeComponent:j,noSelectOnFocus:f,className:h,decimalScale:v=2,numberPrefix:y,numberSuffix:E,min:p,max:b})=>{const{formState:w,setValue:_,watch:k,control:C}=Re.useFormContext(),[D,S]=i.useState(void 0),[I,R]=i.useState(!1),F=i.useCallback(()=>{const $=l??null;_(n,$!==null?Number($):null,{shouldDirty:!0,shouldValidate:I})},[l,_,n,I]),H=i.useCallback(()=>{const $=n.split(".");let B=w.errors;$.forEach(V=>{B!==void 0&&(B=B[V])}),S(B)},[w,n]);i.useEffect(()=>{H()},[H]),i.useEffect(()=>{w.isSubmitted&&R(!0)},[w]);const K=k(n);i.useEffect(()=>{b!==void 0&&K>b&&_(n,b),p!==void 0&&K<p&&_(n,p)},[n,K,b,p,_]);const L=D!==void 0;return e.jsxRuntimeExports.jsxs(t,{label:`${s}${u?" *":""}`,hidden:c,withoutLabel:d,isInvalid:L,className:h,children:[e.jsxRuntimeExports.jsxs("div",{className:"luminus-input-container position-relative w-100",children:[e.jsxRuntimeExports.jsx(Re.Controller,{control:C,name:n,render:({field:{ref:$,onChange:B,name:V,value:z}})=>e.jsxRuntimeExports.jsx(Tt,{displayType:"input",thousandSeparator:" ",decimalSeparator:",",decimalScale:v,prefix:y,suffix:E,defaultValue:"",name:V,value:z??"",placeholder:r??s,onFocus:U=>{!f&&U.target.select()},onChange:U=>{var M,N;const q=parseFloat(((N=(M=U.target)==null?void 0:M.value)==null?void 0:N.replaceAll(" ","").replaceAll(",","."))??0);o&&o.forEach(P=>_(P,null,{shouldDirty:!0,shouldValidate:I})),B(q==null||Number.isNaN(q)?null:Number(q))},hidden:c,disabled:x,className:e.classNames("form-control text-end w-100",{"is-invalid":L},{[`form-control-${g}`]:g}),step:m,getInputRef:$,min:p,max:b})}),j&&e.jsxRuntimeExports.jsx("div",{className:"custom-picker-button",children:j})]}),a&&k(n)&&e.jsxRuntimeExports.jsx("div",{className:"luminus-input-remove-icon inset",children:e.jsxRuntimeExports.jsx(e.IconButton,{color:"secondary",size:"sm",onClick:F,children:e.jsxRuntimeExports.jsx(e.MdClear,{})})}),D&&e.jsxRuntimeExports.jsx(e.InvalidFeedback,{message:D.message})]})},$t=["slice","options","formats","conditions"],ln=t=>{const n=t.current.flexmonster.getReport({withDefaults:!0});if(typeof n=="string")throw alert("report is string"),new Error("report is string");const s={};return $t.forEach(r=>{s[r]=n[r]}),JSON.stringify(s)},Di=t=>{if(t.settings){const n=JSON.parse(t.settings);return $t.forEach(s=>{n[s]===void 0&&(n[s]=null)}),n}return{}},Fi=t=>{const n={};return $t.forEach(s=>{n[s]=(t==null?void 0:t[s])??void 0}),n},xs=({dataSource:t,settings:n,pivotRef:s,localization:r,licenseKey:o,enabled:a=!0})=>{const{texts:{reports:l}}=i.useContext(e.LuminusComponentsContext),[u,c]=i.useState(!1),x=i.useRef(null),d=s??x,m=i.useMemo(()=>({localization:r}),[r]),g=i.useCallback(f=>{delete f[0],delete f[1],delete f[2];const h=[{id:"fm-tab-expand",title:l.expandAll,handler:d.current.flexmonster.expandAllData,icon:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/><path fill="none" d="M0 0h24v24H0V0z"/></svg>'},{id:"fm-tab-collapse",title:l.collapseAll,handler:d.current.flexmonster.collapseAllData,icon:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"/><path d="M0 0h24v24H0z" fill="none"/></svg>'}];return f.unshift({id:"fm-tab-expand",title:l.expand,icon:'<svg height="42" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d=" M16 4 L28 4 L28 16 L24 12 L20 16 L16 12 L20 8z M4 16 L8 20 L12 16 L16 20 L12 24 L16 28 L4 28z "/></svg>',menu:h,rightGroup:!0}),f},[d,l.collapseAll,l.expand,l.expandAll]),j=f=>{const h=f.getTabs();f.getTabs=()=>g(h)};return i.useEffect(()=>{var f;u&&a&&((f=d.current)==null||f.flexmonster.updateData(t),console.log("Updating flexmonster dataSource to: ",t))},[t,a,u,d]),i.useEffect(()=>{var f,h,v;if(u&&a){const{options:y,conditions:E,formats:p,slice:b,...w}=(f=d.current)==null?void 0:f.flexmonster.getReport();if(w===void 0||typeof w=="string")return;const _=Fi(n);_.options={...n==null?void 0:n.options,grid:{...(h=n==null?void 0:n.options)==null?void 0:h.grid,autoSwitchToCompact:!1}};const k={...w,..._};(v=d.current)==null||v.flexmonster.setReport(k),console.log("Refreshing flexmonster settings. New report: ",k)}},[a,u,d,n]),e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx(fs.Pivot,{ref:d,global:m,licenseKey:o,toolbar:!0,height:"100%",beforetoolbarcreated:j,ready:()=>{c(!0)},width:"100%"})})},Ti=(t,n,s,r)=>{const{texts:{reports:o}}=i.useContext(e.LuminusComponentsContext),{prompt:a}=e.usePrompt(),{confirm:l}=e.useConfirm(),u=e.useAxios(),{user:c}=i.useContext(e.UserContext),{startLoading:x,stopLoading:d}=i.useContext(e.LoadingContext),{addNotification:m}=e.useNotifications(),g=i.useCallback(async y=>{x("report-versionSavingAs");try{const E=await u.post("/reports/version",y);m(o.saveSuccessful,"success"),await r(E.data)}finally{d("report-versionSavingAs")}},[m,r,u,o.saveSuccessful,x,d]),j=i.useCallback(async()=>{if(s===null){m("none open","warning");return}if(!await l(o.confirmOverwriteSave))return;const E=ln(n);g({reportSourceName:t,reportVersionId:s,settings:E})},[m,l,n,t,o.confirmOverwriteSave,g,s]),f=i.useCallback(async()=>{const y=await a(o.enterName,{input:"input",required:!0});if(y===null)return;const E=ln(n);g({reportSourceName:t,name:y,settings:E})},[n,a,t,o.enterName,g]),h=i.useCallback(async()=>{x("report-versionSavingAs");try{await u.post("/reports/version",{reportVersionId:s??void 0,reportSourceName:t,isArchived:!0}),m(o.deleteSuccessful,"success")}finally{d("report-versionSavingAs")}},[m,u,t,o.deleteSuccessful,s,x,d]),v=i.useCallback(async()=>{x("report-versionSavingAs");try{await u.post("/reports/version-restrictions",{reportVersionId:s??void 0,userRestricts:[{employeeId:c.personalNumber,addRights:!1}]}),m(o.detachSuccessful,"success")}finally{d("report-versionSavingAs")}},[m,u,o.detachSuccessful,s,x,d,c.personalNumber]);return{saveAs:f,save:j,archive:h,detach:v}},$i=t=>{const n=e.useAxios(),{startLoading:s,stopLoading:r}=i.useContext(e.LoadingContext);return{changeEmployeeRights:i.useCallback(async(a,l)=>{let u=null;s("reportSharing-addPerson");try{u=(await n.post("/reports/version-restrictions",{reportVersionId:t,userRestricts:[{employeeId:a,addRights:l}]})).data}finally{r("reportSharing-addPerson")}return u},[n,t,s,r])}},Li=({isOpen:t,onHide:n,usersData:s,setUsersData:r,reportVersionId:o,EmployeePicker:a})=>{const{ProjectIconComponent:l,texts:{reports:u}}=i.useContext(e.LuminusComponentsContext),{confirm:c}=e.useConfirm(),[x,d]=i.useState(null),{changeEmployeeRights:m}=$i(o),g=i.useCallback(async()=>{if(x===null)return;const f=await m(x,!0);r(o,f)},[x,m,o,r]),j=i.useCallback(async f=>{if(!await c(u.removeSharingWith(f)))return;const v=await m(f,!1);r(o,v)},[m,c,o,u,r]);return e.jsxRuntimeExports.jsxs(e.Modal,{show:t,onHide:n,children:[e.jsxRuntimeExports.jsx(e.Modal.Header,{closeButton:!0,children:e.jsxRuntimeExports.jsx(e.Modal.Title,{children:u.reportSharing})}),e.jsxRuntimeExports.jsxs(e.Modal.Body,{children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"h6",children:u.sharedWith}),e.jsxRuntimeExports.jsxs(Ps,{variant:"flush",children:[s&&s.length===0?e.jsxRuntimeExports.jsx("div",{className:"px-2",children:u.noone.toLowerCase()}):null,s==null?void 0:s.map(f=>e.jsxRuntimeExports.jsxs(Nt,{className:"d-flex justify-content-between align-items-center gap-3 border-bottom px-2 py-1",children:[f.lastName," ",f.firstName," [",f.id,"]",e.jsxRuntimeExports.jsx(e.IconButton,{color:"danger",onClick:()=>j(f.id),children:e.jsxRuntimeExports.jsx(l,{icon:"delete"})})]},f.id))]}),e.jsxRuntimeExports.jsx(e.Typography,{variant:"h6",className:"mt-2 mb-2",children:u.addSharing}),e.jsxRuntimeExports.jsxs("div",{className:"d-flex gap-2 align-items-center",children:[e.jsxRuntimeExports.jsx("div",{className:"flex-grow-1",children:e.jsxRuntimeExports.jsx(a,{defaultSelection:null,label:u.shareWith,onSelect:f=>{d(f===null?null:Number(f.id))}})}),e.jsxRuntimeExports.jsx(e.PrimaryButton,{onClick:g,disabled:x===null,children:u.add})]})]})]})},Oi=(t,n)=>{const[s,r]=i.useState(null);return i.useEffect(()=>{t.then(({default:o})=>{const a=n!==void 0?n(o):o;r(a)})},[n,t]),{mappings:s}},Mi=({reportType:t,title:n,data:s,filterElements:r,getReportRoute:o,localization:a,licenseKey:l,EmployeePicker:u,localizationJsonFile:c,localizationTransformer:x})=>{const{texts:{reports:d}}=i.useContext(e.LuminusComponentsContext),{confirm:m}=e.useConfirm(),g=xe.useNavigate(),{id:j}=xe.useParams(),f=i.useMemo(()=>j===void 0?null:Number(j),[j]),h=i.useCallback(N=>{const P=N===null?"":N.toString();g(xe.generatePath(o(t),{id:P}),{replace:!0})},[o,g,t]),[v,y]=i.useState(!1),E=i.useRef(null),{user:p}=i.useContext(e.UserContext),{data:b,reloadData:w,setData:_}=hs.useGetApiData(`/reports/${t}`),{mappings:k}=Oi(c,x),[C,D]=i.useState({}),S=i.useCallback(N=>{if(b===null)return;const P=N.target.value,ee=P===""?null:Number(P);h(ee)},[b,h]),I=i.useCallback(async N=>{await w(),h(N)},[w,h]),R=i.useMemo(()=>{if(b===null)return null;const N=b.reportVersions.find(P=>P.reportVersionId===f);return N===void 0?null:N},[b,f]);i.useEffect(()=>{var P;if(b===null)return;if(R===null){D({});return}const N=Di(R)??{};D(N),(P=E.current)==null||P.flexmonster.refresh()},[b,R,f]);const{save:F,saveAs:H,archive:K,detach:L}=Ti(t,E,f,I),$=i.useMemo(()=>({data:s??[],mapping:k??void 0}),[s,k]),B=i.useCallback(async()=>{var P;await m(d.confirmRevertChanges)&&((P=E.current)==null||P.flexmonster.setReport({dataSource:$,...C}))},[m,$,d.confirmRevertChanges,C]),V=i.useMemo(()=>(R==null?void 0:R.ownerId)===p.personalNumber,[R==null?void 0:R.ownerId,p.personalNumber]),z=i.useMemo(()=>{var N;return(N=R==null?void 0:R.users)==null?void 0:N.some(P=>P.id===p.personalNumber&&!P.isReportOwner)},[R==null?void 0:R.users,p.personalNumber]),U=i.useCallback((N,P)=>{_(ee=>{const re=ee==null?void 0:ee.reportVersions.findIndex(le=>le.reportVersionId===N);if(re===void 0||ee===null)return ee;const pe={...ee.reportVersions[re],users:P.filter(le=>le.isReportOwner===!1)},Y=[...ee.reportVersions];return Y[re]=pe,{...ee,reportVersions:Y}})},[_]),q=i.useCallback(async()=>{await m(d.confirmDelete(R==null?void 0:R.name))&&(await K(),h(null),await w())},[K,m,w,R==null?void 0:R.name,d,h]),M=i.useCallback(async()=>{await m(d.confirmDetach(R==null?void 0:R.name))&&(await L(),h(null),await w())},[m,L,w,R==null?void 0:R.name,d,h]);return i.useEffect(()=>{var N;f===null&&h(((N=b==null?void 0:b.reportVersions.find(P=>P.isSystem===!0))==null?void 0:N.reportVersionId)??null)},[b==null?void 0:b.reportVersions,f,h]),e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(js.FullScreenContainer,{title:e.jsxRuntimeExports.jsxs("div",{className:"d-flex justify-content-start gap-3",children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"h3",children:n}),r,e.jsxRuntimeExports.jsxs("div",{className:"d-flex gap-1 align-items-center",children:[e.jsxRuntimeExports.jsxs(e.FormSelect,{size:"sm",value:f??void 0,onChange:S,children:[e.jsxRuntimeExports.jsx("optgroup",{label:d.versionSelectSystem,children:b==null?void 0:b.reportVersions.filter(N=>N.isSystem===!0).map(N=>e.jsxRuntimeExports.jsx("option",{value:N.reportVersionId,children:N.name},N.reportVersionId))}),e.jsxRuntimeExports.jsx("optgroup",{label:d.versionSelectYour,children:b==null?void 0:b.reportVersions.filter(N=>N.ownerId===p.personalNumber).map(N=>e.jsxRuntimeExports.jsx("option",{value:N.reportVersionId,children:N.name},N.reportVersionId))}),e.jsxRuntimeExports.jsx("optgroup",{label:d.versionSelectSharedWithYou,children:b==null?void 0:b.reportVersions.filter(N=>N.isSystem===!1&&N.ownerId!==p.personalNumber).map(N=>e.jsxRuntimeExports.jsx("option",{value:N.reportVersionId,children:`${N.name} [${N.ownerId}]`},N.reportVersionId))})]}),e.jsxRuntimeExports.jsx(e.ContextButton,{icon:e.jsxRuntimeExports.jsx(e.MdSave,{}),onClick:F,disabled:f===null||(R==null?void 0:R.isSystem)||!V,children:d.save}),e.jsxRuntimeExports.jsx(e.ContextButton,{icon:e.jsxRuntimeExports.jsx(e.MdSaveAs,{}),onClick:H,className:"flex-shrink-0",children:d.saveAs}),e.jsxRuntimeExports.jsxs(e.Dropdown,{toggle:e.jsxRuntimeExports.jsx(e.DropdownToggle,{as:e.SimpleDropdownToggle}),children:[e.jsxRuntimeExports.jsx(e.DropdownItem,{onClick:B,children:d.revertChanges}),e.jsxRuntimeExports.jsx(e.DropdownItem,{onClick:()=>y(!0),disabled:!V||(R==null?void 0:R.isSystem),children:d.share}),V&&!(R!=null&&R.isSystem)?e.jsxRuntimeExports.jsx(e.DropdownItem,{color:"danger",onClick:q,children:d.delete}):null,z&&!(R!=null&&R.isSystem)?e.jsxRuntimeExports.jsx(e.DropdownItem,{color:"danger",onClick:M,children:d.detach}):null]})]})]}),children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("h-100 w-100",$.data&&$.data.length>0?"":"d-none"),children:e.jsxRuntimeExports.jsx(xs,{dataSource:$,settings:C,pivotRef:E,enabled:$.data&&$.data.length>0,localization:a,licenseKey:l})})}),R!==null?e.jsxRuntimeExports.jsx(Li,{isOpen:v,onHide:()=>y(!1),usersData:R.users??null,setUsersData:U,reportVersionId:R==null?void 0:R.reportVersionId,EmployeePicker:u}):null]})},Bi=({cell:{value:t}})=>e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t?e.jsxRuntimeExports.jsx(e.AvatarIcon,{name:t,size:21,fontSize:12}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{})}),Ai=({knownTypes:t,typeFilters:n,onChangeTypeFilters:s})=>e.jsxRuntimeExports.jsx("div",{className:"mb-1 d-flex justify-content-center gap-2",children:t.map(r=>e.jsxRuntimeExports.jsx("div",{role:"button",style:{height:"14px",width:"14px",borderRadius:"50%",border:"2px solid transparent",backgroundColor:"transparent"},className:e.classNames(`border-${r}`,n.includes(r)&&`bg-${r}`),onClick:()=>{n.includes(r)?s(n.filter(o=>o!==r)):s([...n,r])}},r))}),Pi=({linksTo:t,onClick:n,children:s})=>t?e.jsxRuntimeExports.jsx(xe.Link,{to:t,className:"text-decoration-none",onClick:n,children:s}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:s}),Vi=({message:t,onDeleteMessage:n,onClickMessage:s,getIcon:r,getLinksTo:o})=>{const{ProjectIconComponent:a,localizationContext:l}=i.useContext(e.LuminusComponentsContext),{dateFnsLocale:u}=i.useContext(l),c=t.dateTime?e.parseISO(t.dateTime):null,x=c?ys(new Date(Date.now()),c):0;return e.jsxRuntimeExports.jsxs("div",{children:[c&&e.jsxRuntimeExports.jsx("div",{className:"d-flex justify-content-end",children:e.jsxRuntimeExports.jsx(Ze.SimpleTooltip,{text:e.format(c,"dd.MM.yyyy HH:mm"),placement:"left",children:e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(e.Typography,{variant:"caption",children:x>2?e.format(c,"dd.MM.yyyy"):ws(c,new Date(Date.now()),{locale:u.code})})})})}),e.jsxRuntimeExports.jsx(Pi,{linksTo:o(t)??void 0,onClick:s,children:e.jsxRuntimeExports.jsx(es,{level:t.type,noIcon:!0,children:e.jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-start gap-2",children:[r(t),e.jsxRuntimeExports.jsxs("div",{className:"d-flex flex-column gap-1 w-100",children:[e.jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-start justify-content-between gap-3",children:[e.jsxRuntimeExports.jsx(e.Typography,{variant:"body2",className:"fw-bold",children:t.subject}),e.jsxRuntimeExports.jsx(e.IconButton,{size:"sm",onClick:d=>{d.preventDefault(),d.stopPropagation(),n(t.id)},children:e.jsxRuntimeExports.jsx(a,{icon:"delete"})})]}),e.jsxRuntimeExports.jsx(e.Typography,{variant:"body2",children:t.text})]})]})})})]})},cn=["info","warning","danger"],un=({messages:t,isLoading:n,onDeleteMessage:s,onClickMessage:r,getIcon:o,getLinksTo:a})=>{const{texts:{messageBoard:l}}=i.useContext(e.LuminusComponentsContext),[u,c]=i.useState(cn),x=i.useMemo(()=>t.filter(d=>u.includes(d.type??"")),[u,t]);return e.jsxRuntimeExports.jsxs("div",{className:"h-100 d-flex flex-column overflow-hidden",children:[e.jsxRuntimeExports.jsx(Ai,{knownTypes:cn,typeFilters:u,onChangeTypeFilters:d=>c(d)}),n&&e.jsxRuntimeExports.jsxs("div",{className:"p-3 w-100",children:[e.jsxRuntimeExports.jsx(Ne,{as:Vt.Title,animation:"glow",children:e.jsxRuntimeExports.jsx(Ne,{xs:6})}),e.jsxRuntimeExports.jsxs(Ne,{as:Vt.Text,animation:"glow",children:[e.jsxRuntimeExports.jsx(Ne,{xs:7})," ",e.jsxRuntimeExports.jsx(Ne,{xs:4})," ",e.jsxRuntimeExports.jsx(Ne,{xs:4})," ",e.jsxRuntimeExports.jsx(Ne,{xs:6})," ",e.jsxRuntimeExports.jsx(Ne,{xs:8})]})]}),!n&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[t.length===0&&e.jsxRuntimeExports.jsx(ot,{variant:"info",size:"sm",className:"mt-2",children:l.noMessages}),e.jsxRuntimeExports.jsx("div",{className:"h-100 overflow-y-auto d-flex flex-column gap-2 luminus-thin-scrollbar",children:x.map(d=>e.jsxRuntimeExports.jsx(Vi,{message:d,onDeleteMessage:s,onClickMessage:r,getIcon:o,getLinksTo:a},d.id))})]})]})},ft={apiGet:"/messageBoard",apiDelete:"/messageBoard/"},Hi=({renderAsNotifPanel:t,notifIcon:n,apiUrls:{apiGet:s=ft.apiGet,apiDelete:r=ft.apiDelete}=ft,getIcon:o,getLinksTo:a})=>{const u=e.useAxios(),[c,x]=i.useState([]),[d,m]=i.useState(!1),[g,j]=i.useState(!1),[f,h]=i.useState(!1),v=i.useCallback(async()=>{j(!0),await u.get(s).then(({data:w})=>{x(w),m(!0),j(!1)}).catch(()=>{x([]),j(!1)})},[s,u]),y=i.useCallback(async w=>u.delete(`${r}${w}`).then(()=>!0).catch(()=>!1),[r,u]),E=i.useCallback(w=>{y(w).then(_=>{_&&x(c.filter(k=>k.id!==w))})},[y,c]);i.useEffect(()=>{v();const w=setInterval(()=>v(),60*1e3);return()=>{clearInterval(w)}},[v]);const p=c.filter(w=>w.type==="danger").length,b=d?!1:g;return t?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs("div",{className:"position-relative",children:[e.jsxRuntimeExports.jsx(e.IconButton,{size:"md",onClick:()=>h(!f),children:n}),p>0&&e.jsxRuntimeExports.jsx("div",{className:"badge rounded-pill bg-danger p-1 px-2 text-white",style:{position:"absolute",top:"-6px",right:"-10px",fontSize:"10px"},children:p})]}),e.jsxRuntimeExports.jsx(Ut,{show:f,onHide:()=>h(!1),placement:"end",children:e.jsxRuntimeExports.jsx(Ut.Body,{children:e.jsxRuntimeExports.jsx(un,{messages:c,isLoading:b,onDeleteMessage:E,onClickMessage:()=>h(!1),getIcon:o,getLinksTo:a})})})]}):e.jsxRuntimeExports.jsx(un,{messages:c,isLoading:b,onDeleteMessage:E,getIcon:o,getLinksTo:a})},Wi="_tab-panel_d8l8q_1",zi="_full-height-no-overflow_d8l8q_5",Ui="_disabled_d8l8q_12",ht={"tab-panel":"_tab-panel_d8l8q_1",tabPanel:Wi,"full-height-no-overflow":"_full-height-no-overflow_d8l8q_5",fullHeightNoOverflow:zi,disabled:Ui},Gi=({eventKey:t,activeTab:n,fullHeightNoOverflow:s,disabled:r,className:o,children:a})=>t!==n?null:e.jsxRuntimeExports.jsx("div",{className:e.classNames("luminus-tab-panel",ht.tabPanel,{[ht.fullHeightNoOverflow]:s},{disabled:r},{[ht.disabled]:r},o),children:a}),Ki="_join-line_1q9e8_1",Yi={"join-line":"_join-line_1q9e8_1",joinLine:Ki},qi=({activeTab:t,onSelect:n,children:s,vertical:r,verticalStepper:o})=>e.jsxRuntimeExports.jsx("div",{className:e.classNames("luminus-tabs d-flex mb-2",{"gap-1":!o},{"gap-0":o},{"flex-column":r||o}),children:s.map((a,l)=>{const u=a.type,c=a.props;if(!c)return null;const x=c.eventKey,d=c.children,m=c.className,g=c.onClick;return e.jsxRuntimeExports.jsxs(i.Fragment,{children:[e.jsxRuntimeExports.jsx(u,{...c,className:e.classNames({active:t===x},m),onClick:()=>{n(x),g&&g(x)},vertical:r||o,children:d}),o&&l<s.length-1&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("join-line",Yi.joinLine)})]},c.eventKey)})}),Qi="_tab_1tbi7_1",Zi="_disabled_1tbi7_7",Ji="_vertical_1tbi7_13",jt={tab:Qi,disabled:Zi,vertical:Ji},Xi=({eventKey:t,className:n,onClick:s,disabled:r,vertical:o,children:a})=>e.jsxRuntimeExports.jsx("div",{role:"button",className:e.classNames("luminus-tab text-primary rounded",jt.tab,n,{disabled:r},{[jt.disabled]:r},{vertical:o},{[jt.vertical]:o}),onClick:()=>s&&!r&&s(t),children:typeof a=="string"?e.jsxRuntimeExports.jsx(e.Typography,{variant:o?"body":"h6",className:o?"":"text-primary",children:a}):a});exports.AvatarIcon=e.AvatarIcon;exports.ContextButton=e.ContextButton;exports.Documents=e.Documents;exports.Dropdown=e.Dropdown;exports.DropdownItem=e.DropdownItem;exports.DropdownToggle=e.DropdownToggle;exports.FileExtensionIcon=e.FileExtensionIcon;exports.FloatingLabelInput=e.FloatingLabelInput;exports.HookFormTextAreaInput=e.HookFormTextAreaInput;exports.HookFormTextInput=e.HookFormTextInput;exports.IconButton=e.IconButton;exports.InvalidFeedback=e.InvalidFeedback;exports.NoInputContainer=e.NoInputContainer;exports.PrimaryButton=e.PrimaryButton;exports.ResponsiveContextDropdown=e.ResponsiveContextDropdown;exports.ResponsiveContextDropdownItem=e.ResponsiveContextDropdownItem;exports.RowLabelInput=e.RowLabelInput;exports.SimpleToggle=e.SimpleDropdownToggle;exports.Typography=e.Typography;exports.UserAvatarToggle=e.UserAvatarToggle;exports.Loading=Ee.Loading;exports.SimpleTooltip=Ze.SimpleTooltip;exports.Alert=ot;exports.AlertItem=es;exports.ApiFileDownloadButton=vs;exports.AppSearch=ho;exports.AuthTemplate=Uo;exports.Backdrop=St;exports.Badge=kr;exports.BarChart=yi;exports.Card=qn;exports.CheckInput=Dt;exports.Collapse=st;exports.DisabledRowLabelLink=hi;exports.DropdownDivider=Jr;exports.DropdownPicker=ua;exports.DynamicForm=mi;exports.EmployeeSmallPhoto=vi;exports.ErrorBoundary=Kn;exports.FileUploadButton=qs;exports.FileUploadContextButton=kt;exports.FileUploadDropdownItem=qr;exports.Flexmonster=xs;exports.FloatingActionContainer=ts;exports.FloatingFormSubmit=zn;exports.FromToDatePicker=Wa;exports.HomeDashboard=yr;exports.HookFormCheckInput=bi;exports.HookFormDropdownPicker=Ci;exports.HookFormFileInput=Ni;exports.HookFormFloatingSubmit=_i;exports.HookFormNumericStepperInput=Si;exports.HookFormNumericTextInput=Ii;exports.HookFormRadioInput=wi;exports.HookFormSelectInput=ki;exports.HtmlTooltip=Ys;exports.ImgApi=yt;exports.ImgDirect=It;exports.LanguageSwitch=ji;exports.LoadingBlock=xn;exports.MessageBoard=Hi;exports.MonthPicker=Un;exports.MonthPickerSearchParams=za;exports.NumericFormat=Ri;exports.NumericStepperInput=xa;exports.NumericTextInput=Oa;exports.PhotoLibrary=Xn;exports.PhotoLightbox=Jn;exports.PieChart=Ga;exports.ReportPage=Mi;exports.SearchBox=Ei;exports.SelectInput=Ye;exports.SettingsFormPicker=fi;exports.SimplePicker=Je;exports.Tab=Xi;exports.TabPanel=Gi;exports.Tabs=qi;exports.TextAreaInput=da;exports.TextInput=$e;exports.Timeline=la;exports.TypedFormGroup=gi;exports.UserAvatarValueFormat=Bi;exports.VersionInfo=Jo;exports.WidgetCard=Et;exports.YearPicker=Gn;exports.YearPickerSearchParams=Ua;
|