diff --git a/docs/Changelog.rst b/docs/Changelog.rst index c936547..d0c25ba 100644 --- a/docs/Changelog.rst +++ b/docs/Changelog.rst @@ -1,6 +1,7 @@ 2.5.0 (unreleased) ------------------ +- #137 Support default values for multi-choices type - #135 Fix non-UID keyed folder items can not be pre-selected by the server - #134 Fix APIError for non-UID listings - #133 Multiselect with duplicates support for interim fields diff --git a/src/senaite/app/listing/browser/static/bundles/senaite.app.listing.js b/src/senaite/app/listing/browser/static/bundles/senaite.app.listing.js index 9aeb601..a345b45 100644 --- a/src/senaite/app/listing/browser/static/bundles/senaite.app.listing.js +++ b/src/senaite/app/listing/browser/static/bundles/senaite.app.listing.js @@ -1,2 +1,2 @@ /*! For license information please see senaite.app.listing.js.LICENSE.txt */ -(()=>{"use strict";var e={471:e=>{e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(o=n;0!=o--;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var s=i[o];if(!e(t[s],r[s]))return!1}return!0}return t!=t&&r!=r}},426:(e,t,r)=>{var n=r(363),o=Symbol.for("react.element"),i=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),s=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,r){var n,c={},l=null,u=null;for(n in void 0!==r&&(l=""+r),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,n)&&!a.hasOwnProperty(n)&&(c[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===c[n]&&(c[n]=t[n]);return{$$typeof:o,type:e,key:l,ref:u,props:c,_owner:s.current}}},246:(e,t,r)=>{e.exports=r(426)},363:e=>{e.exports=React},311:e=>{e.exports=jQuery}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={};r.r(e),r.d(e,{FILE:()=>Wo,HTML:()=>Xo,TEXT:()=>Yo,URL:()=>Ko});var t=r(363),n=r.n(t);const o=ReactDOM;var i=r.n(o);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return r="btn btn-sm mr-1 mb-1",t=this.css_mapping[e],n=o.css_class,r+(t?" ".concat(t):null!=n?" ".concat(n):" btn-outline-secondary")}},{key:"on_ajax_save_button_click",value:function(e){if(e.preventDefault(),this.props.on_ajax_save_button_click)return this.props.on_ajax_save_button_click()}},{key:"on_transition_button_click",value:function(e){var t,r,n;if(e.preventDefault(),t=(r=e.currentTarget).getAttribute("id"),n=r.getAttribute("url"),this.props.on_transition_button_click)return this.props.on_transition_button_click(t,n)}},{key:"build_buttons",value:function(){var e,t,r,o,i,s,a,c,l,u,d,h,_,m,y;for(r=[],this.props.show_select_column&&this.props.transitions.length>0&&r.push(n().createElement("button",{key:"clear",className:"btn btn-outline-secondary btn-sm mb-1 mr-1",title:_t("Clear selection"),onClick:this.on_transition_button_click,id:"clear_selection"},n().createElement("i",{className:"fas fa-circle-notch"}))),this.props.show_ajax_save&&r.push(n().createElement("button",{key:"ajax-save",className:"btn btn-primary btn-sm mb-1 mr-1",onClick:this.on_ajax_save_button_click,title:this.props.ajax_save_button_title,id:"ajax_save_selection"},this.props.ajax_save_button_title," ",n().createElement("i",{className:"fas fa-save"}))),c=0,u=(d=this.props.transitions).length;c=0||v.call(h,l)>=0)&&(e["data-toggle"]="confirmation",e["data-title"]="".concat(_,"?"),s=this.props.review_state.confirm_messages||{},(i=_t(s[l]))&&(e["data-content"]="".concat(i))),r.push(n().createElement(f,{key:m.id,id:t,title:_,help:a,url:y,className:o,badge:this.props.selected_uids.length,onClick:this.on_transition_button_click,disabled:this.props.lock_buttons,attrs:e}));return r}},{key:"render",value:function(){return 0===this.props.selected_uids.length?null:n().createElement("div",{className:"".concat(this.props.className)},this.build_buttons())}}],r&&m(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function O(e){return O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},O(e)}function k(e,t){for(var r=0;r=this.props.total?n().createElement("div",{id:this.props.id,className:this.props.className},!this.props.show_export&&n().createElement("div",{className:"text-right"},this.props.count," / ",this.props.total),this.props.show_export&&n().createElement("div",{className:"input-group input-group-sm float-right"},n().createElement("div",{className:"input-group-prepend"},n().createElement("span",{className:"input-group-text"},this.props.count," / ",this.props.total)),n().createElement("span",{className:"input-group-append"},n().createElement("button",{className:"btn btn-outline-secondary",ref:this.export_button,disabled:0===this.props.count,onClick:this.on_export_click},n().createElement("span",null,this.props.export_button_title||"Export"))))):n().createElement("div",{id:this.props.id,className:this.props.className},n().createElement("div",{className:"input-group input-group-sm float-right"},n().createElement("div",{className:"input-group-prepend"},n().createElement("span",{className:"input-group-text"},this.props.count," / ",this.props.total)),n().createElement("input",{type:"text",size:"3",defaultValue:this.state.pagesize,onChange:this.on_pagesize_change,onKeyPress:this.on_pagesize_change,ref:this.pagesize_input,disabled:this.props.count>=this.props.total,className:"form-control"}),n().createElement("span",{className:"input-group-append"},n().createElement("button",{className:"btn btn-outline-secondary",disabled:this.props.count>=this.props.total,ref:this.show_more_button,onClick:this.on_show_more_click},n().createElement("span",null,this.props.show_more_button_title||"Show more")),this.props.show_export&&n().createElement("button",{className:"btn btn-outline-secondary",ref:this.export_button,disabled:0===this.props.count,onClick:this.on_export_click},n().createElement("span",null,this.props.export_button_title||"Export")))))}}])&&Y(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function Q(e){return Q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Q(e)}function ee(e,t){for(var r=0;r=0&&(n="ascending"===n?"descending":"ascending"),this.props.on_header_column_click(r,n)}},{key:"is_required_column",value:function(e){var t,r;return 0!==(t=this.props.folderitems||[]).length&&(r=t[0].required||[],ke.call(r,e)>=0)}},{key:"is_sortable",value:function(e,t){return!1!==e.sortable&&(!!e.index||ke.call(this.props.sortable_columns,t)>=0)}},{key:"build_cells",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m;for(t=[],this.props.item,this.props.show_select_column&&(p=this.props.show_select_all_checkbox,t.push(n().createElement("th",{className:"select-column",key:"select_all"},p&&n().createElement(fe,{name:"select_all",value:"all",checked:this.props.all_items_selected,onChange:this.props.on_select_checkbox_checked})))),this.props.allow_row_reorder&&t.push(n().createElement("th",{className:"dnd-column",key:"dnd"})),i=0,l=(u=this.props.visible_columns).length;i]?)([-,+]?\\d*)([e,E][-,+]?\\d*|[.,,]?[0-9]+?[e,E][-,+]?\\d*|[.,,]?\\d*)(.*)"),(e=e.replace(t,"$1$2$3")).replace(",",".")}},{key:"get_field_size_for",value:function(e){var t;return(t=e.toString().length)]?)(.*)/,"$2"),!Number.isNaN(Number(t))}},{key:"render",value:function(){return n().createElement("span",{className:this.props.field_css||"form-group"},this.props.before&&n().createElement("span",{className:this.props.before_css||"before_field",dangerouslySetInnerHTML:{__html:this.props.before}}),n().createElement("input",et({type:"text",size:this.state.size,uid:this.props.uid,name:this.props.name,value:this.state.value,column_key:this.props.column_key,title:this.props.help||this.props.title,disabled:this.props.disabled,required:this.props.required,className:this.props.className,placeholder:this.props.placeholder,onBlur:this.props.onBlur||this.on_blur,onChange:this.props.onChange||this.on_change,tabIndex:this.props.tabIndex},this.props.attrs)),this.props.after&&n().createElement("span",{className:this.props.after_css||"after_field",dangerouslySetInnerHTML:{__html:this.props.after}}))}}])&&tt(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function st(e){return st="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},st(e)}function at(){return at=Object.assign?Object.assign.bind():function(e){for(var t=1;t,=,\.,\/]*$/,""))&&!this.validate(r)&&(i=i.replace(r,"")),t.value=i,this.setState({value:i,size:this.get_field_size_for(i)}),this.props.update_editable_field)return this.props.update_editable_field(o,n,i,this.props.item)}},{key:"get_field_size_for",value:function(e){var t;return(t=e.toString().length),<,=]*)(.*)$/,"$2")).replace(/[\.,\/]*$/,""))||(2!==(n=r.split("/")).length?Number.isNaN(Number(r)):(o=Number(n[0]),Number.isNaN(o)||0===o||(t=Number(n[1]),Number.isNaN(t)||0===t))))}},{key:"render",value:function(){return n().createElement("span",{className:this.props.field_css||"form-group"},this.props.before&&n().createElement("span",{className:this.props.before_css||"before_field",dangerouslySetInnerHTML:{__html:this.props.before}}),n().createElement("input",Ct({type:"text",size:this.state.size,uid:this.props.uid,name:this.props.name,value:this.state.value,column_key:this.props.column_key,title:this.props.help||this.props.title,disabled:this.props.disabled,required:this.props.required,className:this.props.className,placeholder:this.props.placeholder,onBlur:this.props.onBlur||this.on_blur,onChange:this.props.onChange||this.on_change,tabIndex:this.props.tabIndex},this.props.attrs)),this.props.after&&n().createElement("span",{className:this.props.after_css||"after_field",dangerouslySetInnerHTML:{__html:this.props.after}}))}}])&&At(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function qt(e){return qt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qt(e)}function Ht(){return Ht=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?r[0]:"",t.state.time_value=r.length>1?r[1]:""),t.dt_date=n().createRef(),t.dt_time=n().createRef(),t.dt_hidden=n().createRef(),t.on_change=t.on_change.bind(Ft(t)),t}return t=a,(r=[{key:"componentDidUpdate",value:function(e){if(this.props.defaultValue!==e.defaultValue)return this.setState({value:this.props.defaultValue})}},{key:"on_change",value:function(e){var t,r,n,o,i,s;if(t=this.dt_date.current.value,r=this.dt_time.current.value,t&&!r&&(r="00:00"),s=t&&r?"".concat(t," ").concat(r):"",this.setState({value:s,date_value:t,time_value:r}),i=(n=this.dt_hidden.current).getAttribute("uid"),o=n.getAttribute("column_key")||n.name,this.props.update_editable_field)return this.props.update_editable_field(i,o,s,this.props.item)}},{key:"render",value:function(){return n().createElement("span",{className:this.props.field_css||"form-group"},this.props.before&&n().createElement("span",{className:this.props.before_css||"before_field",dangerouslySetInnerHTML:{__html:this.props.before}}),n().createElement("div",{className:"input-group flex-nowrap d-inline-flex w-auto datetimewidget"},n().createElement("input",Ht({type:"date",ref:this.dt_date,name:"".concat(this.props.name,"-date"),title:this.props.help||this.props.title,className:this.props.className,disabled:this.props.disabled,required:this.props.required,onChange:this.props.onChange||this.on_change,tabIndex:this.props.tabIndex,value:this.state.date_value,min:this.props.min_date,max:this.props.max_date},this.props.attrs)),n().createElement("input",Ht({type:"time",ref:this.dt_time,name:"".concat(this.props.name,"-time"),className:this.props.className,title:this.props.title,disabled:this.props.disabled,required:this.props.required,onChange:this.props.onChange||this.on_change,tabIndex:this.props.tabIndex,value:this.state.time_value,min:this.props.min_time,max:this.props.max_time},this.props.attrs))),n().createElement("input",{type:"hidden",ref:this.dt_hidden,uid:this.props.uid,name:this.props.name,column_key:this.props.column_key,value:this.state.value}),this.props.after&&n().createElement("span",{className:this.props.after_css||"after_field",dangerouslySetInnerHTML:{__html:this.props.after}}))}}])&&Ut(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function Kt(e){return Kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Kt(e)}function Yt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,s,a=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Xt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Xt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:{};if(r=this.get_column_key(),o=this.get_item())return r in(e=o.before)?(t=o.before_components||{},n().createElement("span",{key:r+"_before",className:"before-item"},t[r],n().createElement("span",Gt({dangerouslySetInnerHTML:{__html:e[r]}},i)))):null}},{key:"render_after_content",value:function(){var e,t,r,o,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(r=this.get_column_key(),o=this.get_item())return r in(e=o.after)?(t=o.after_components||{},n().createElement("span",{key:r+"_after",className:"after-item"},t[r],n().createElement("span",Gt({dangerouslySetInnerHTML:{__html:e[r]}},i)))):null}},{key:"is_edit_allowed",value:function(){var e,t;return e=this.get_column_key(),t=this.get_item(),!!this.props.allow_edit&&er.call(t.allow_edit,e)>=0}},{key:"is_disabled",value:function(){var e,t;return!0===(t=this.get_item().disabled)||!1===t?t:null!=t&&(e=this.get_column_key(),er.call(t,e)>=0)}},{key:"is_required",value:function(){var e,t,r,n;return e=this.get_column_key(),r=this.get_item().required||[],t=er.call(r,e)>=0,n=this.props.selected,t&&n}},{key:"get_name",value:function(){var e,t;return t=this.get_uid(),e=this.get_column_key(),"".concat(e,".").concat(t)}},{key:"get_uid",value:function(){return this.get_item().uid}},{key:"is_selected",value:function(){var e;return e=this.get_item().uid,er.call(this.props.selected_uids,e)>=0}},{key:"get_value",value:function(){var e,t,r;return e=this.get_column_key(),r=this.get_item()[e],(t=this.get_interimfields()).hasOwnProperty(e)&&(r=t[e].value||""),null===r&&(r=""),r}},{key:"get_size",value:function(){var e,t,r,n,o,i,s;return s={string:30},n=this.get_item(),t=this.get_column_key(),this.is_interimfield()&&(r=n[t])&&r.hasOwnProperty("size")?r.size:t in(o=n.size||{})?o[t]:"size"in(e=this.props.column||{})?e.size:(i=this.get_type())in s?s[i]:5}},{key:"get_interimfields",value:function(){var e,t;return e=this.get_item().interimfields||[],t={},e.map((function(e,r){return t[e.keyword]=e})),t}},{key:"is_interimfield",value:function(){var e;return e=this.get_column_key(),this.get_interimfields().hasOwnProperty(e)}},{key:"get_choices",value:function(){return this.get_item().choices||{}}},{key:"is_result_column",value:function(){return"Result"===this.get_column_key()}},{key:"get_formatted_value",value:function(){var e,t,r;return e=this.get_column_key(),t=(r=this.get_item()).replace[e]||this.get_value(),this.is_result_column()&&(t=r.formatted_result||t),t}},{key:"get_type",value:function(){var e,t,r,n,o,i,s;return t=this.get_column_key(),i=this.get_item(),n=this.is_edit_allowed(),s=this.is_result_column(),n?s&&i.calculation?"calculated":s&&i.result_type?i.result_type:"type"in(e=this.props.column||{})?e.type:"boolean"==typeof this.get_value()?"boolean":t in this.get_choices()?(r="select",s?i.result_type||r:this.is_interimfield()&&(o=i[t=this.get_column_key()])&&o.result_type||r):this.is_interimfield()?(r="interim",(o=i[t=this.get_column_key()])&&o.result_type||r):"numeric":"readonly"}},{key:"create_readonly_field",value:function(){var e,t,r,o,i,s=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==s&&(s={}),s.column_key||this.get_column_key(),s.item||this.get_item(),r=s.name||this.get_name(),i=s.value||this.get_value(),t=s.formatted_value||this.get_formatted_value(),o=s.uid||this.get_uid(),e=s.css_class||"readonly",n().createElement(gt,Gt({key:r,uid:o,name:r,value:i,formatted_value:t,className:e},s))}},{key:"create_calculated_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==h&&(h={}),t=h.column_key||this.get_column_key(),s=h.item||this.get_item(),a=h.name||this.get_name(),d=h.value||this.get_value(),o=h.formatted_value||this.get_formatted_value(),p=h.uid||this.get_uid(),f=h.title||this.props.column.title||t,e=h.column||this.get_column(),null==s.help&&(s.help={}),i=h.help||s.help[t]||e.help,l=h.selected||this.is_selected(),c=h.required||this.is_required(),u=h.size||this.get_size(),r=h.css_class||"form-control form-control-sm calculated",c&&(r+=" required"),n().createElement(ft,Gt({key:a,uid:p,item:s,name:a,value:d,column_key:t,title:f,help:i,formatted_value:o,placeholder:f,selected:l,required:c,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,size:u},h))}},{key:"create_hidden_field",value:function(){var e,t,r,o,i=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==i&&(i={}),e=i.column_key||this.get_column_key(),i.item||this.get_item(),t=i.name||this.get_name(),o=i.value||this.get_value(),r=i.uid||this.get_uid(),i.title||this.props.column.title,n().createElement(Re,Gt({key:t+"_hidden",uid:r,name:t,value:o,column_key:e},i))}},{key:"create_numeric_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==m&&(m={}),t=m.column_key||this.get_column_key(),c=m.item||this.get_item(),l=m.name||this.get_name(),_=m.value||this.get_value(),s=m.formatted_value||this.get_formatted_value(),h=m.uid||this.get_uid(),d=m.title||this.props.column.title||t,e=m.column||this.get_column(),null==c.help&&(c.help={}),a=m.help||c.help[t]||e.help,i=l+this.ZPUBLISHER_CONVERTER.numeric,f=m.selected||this.is_selected(),o=m.disabled||this.is_disabled(),u=m.required||this.is_required(),p=m.size||this.get_size(),r=m.css_class||"form-control form-control-sm",u&&(r+=" required"),n().createElement(it,Gt({key:l,uid:h,item:c,name:i,defaultValue:_,column_key:t,title:d,help:a,formatted_value:s,placeholder:d,selected:f,disabled:o,required:u,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:p},m))}},{key:"create_string_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==m&&(m={}),t=m.column_key||this.get_column_key(),c=m.item||this.get_item(),l=m.name||this.get_name(),_=m.value||this.get_value(),s=m.formatted_value||this.get_formatted_value(),h=m.uid||this.get_uid(),d=m.title||this.props.column.title||t,e=m.column||this.get_column(),null==c.help&&(c.help={}),a=m.help||c.help[t]||e.help,i=l+this.ZPUBLISHER_CONVERTER.string,f=m.selected||this.is_selected(),o=m.disabled||this.is_disabled(),u=m.required||this.is_required(),p=m.size||this.get_size(),r=m.css_class||"form-control form-control-sm",u&&(r+=" required"),n().createElement(It,Gt({key:l,uid:h,item:c,name:i,defaultValue:_,column_key:t,title:d,help:a,formatted_value:s,placeholder:d,selected:f,disabled:o,required:u,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:p},m))}},{key:"create_fraction_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==m&&(m={}),t=m.column_key||this.get_column_key(),c=m.item||this.get_item(),l=m.name||this.get_name(),_=m.value||this.get_value(),s=m.formatted_value||this.get_formatted_value(),h=m.uid||this.get_uid(),d=m.title||this.props.column.title||t,e=m.column||this.get_column(),null==c.help&&(c.help={}),a=m.help||c.help[t]||e.help,i=l+this.ZPUBLISHER_CONVERTER.fraction,f=m.selected||this.is_selected(),o=m.disabled||this.is_disabled(),u=m.required||this.is_required(),p=m.size||this.get_size(),r=m.css_class||"form-control form-control-sm",u&&(r+=" required"),n().createElement(zt,Gt({key:l,uid:h,item:c,name:i,defaultValue:_,column_key:t,title:d,help:a,formatted_value:s,placeholder:d,selected:f,disabled:o,required:u,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:p},m))}},{key:"create_datetime_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m,y,g,b,v,w,O=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;if(null==O&&(O={}),t=O.column_key||this.get_column_key(),c=O.item||this.get_item(),_=O.name||this.get_name(),w=O.value||this.get_value(),s=O.formatted_value||this.get_formatted_value(),v=O.uid||this.get_uid(),b=O.title||this.props.column.title||t,e=O.column||this.get_column(),null==c.help&&(c.help={}),a=O.help||c.help[t]||e.help,i=_+this.ZPUBLISHER_CONVERTER.string,y=O.selected||this.is_selected(),o=O.disabled||this.is_disabled(),m=O.required||this.is_required(),g=O.size||this.get_size(),r=O.css_class||"form-control form-control-sm",m&&(r+=" required"),p=e.min||null,l=e.max||null,p){var k=Yt(p.split(" "),2);d=k[0],h=k[1]}if(l){var S=Yt(l.split(" "),2);u=S[0],f=S[1]}return n().createElement(Wt,Gt({key:_,uid:v,item:c,name:i,defaultValue:w,column_key:t,title:b,help:a,formatted_value:s,placeholder:b,selected:y,disabled:o,required:m,className:r,results_type:"date",update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:g,min_date:d,max_date:u,min_time:h,max_time:f},O))}},{key:"create_select_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==m&&(m={}),t=m.column_key||this.get_column_key(),a=m.item||this.get_item(),c=m.name||this.get_name(),_=m.value||this.get_value(),m.formatted_value||this.get_formatted_value(),h=m.uid||this.get_uid(),d=m.title||this.props.column.title||t,l=m.options||a.choices[t]||[],e=m.column||this.get_column(),null==a.help&&(a.help={}),s=m.help||a.help[t]||e.help,i=c+this.ZPUBLISHER_CONVERTER.select,f=m.selected||this.is_selected(),o=m.disabled||this.is_disabled(),u=m.required||this.is_required(),p=m.size||this.get_size(),r=m.css_class||"form-control form-control-sm",u&&(r+=" required"),n().createElement(Et,Gt({key:c,uid:h,item:a,name:i,defaultValue:_,column_key:t,title:d,help:s,disabled:o,selected:f,required:u,options:l,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:p},m))}},{key:"create_multichoice_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==m&&(m={}),t=m.column_key||this.get_column_key(),a=m.item||this.get_item(),c=m.name||this.get_name(),(_=m.value||this.get_value()).length>0&&(_=JSON.parse(_)),(l=m.options||a.choices[t]||[]).forEach((function(e){var t;return t=!1,Array.isArray(_)&&(t=_.indexOf(e.ResultValue)>-1),e.selected=t})),m.formatted_value||this.get_formatted_value(),h=m.uid||this.get_uid(),d=m.title||this.props.column.title||t,e=m.column||this.get_column(),null==a.help&&(a.help={}),s=m.help||a.help[t]||e.help,i=c+this.ZPUBLISHER_CONVERTER.multichoice,f=m.selected||this.is_selected(),o=m.disabled||this.is_disabled(),u=m.required||this.is_required(),p=m.size||this.get_size(),r=m.css_class||"form-control form-control-sm",u&&(r+=" required"),n().createElement(Le,Gt({key:c,uid:h,item:a,name:i,column_key:t,title:d,help:s,disabled:o,selected:f,required:u,options:l,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:p},m))}},{key:"create_multiselect_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m,y=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==y&&(y={}),t=y.column_key||this.get_column_key(),c=y.item||this.get_item(),l=y.name||this.get_name(),m=y.value||this.get_value(),y.formatted_value||this.get_formatted_value(),_=y.uid||this.get_uid(),h=y.title||this.props.column.title||t,u=c.choices[t]||[],i="multiselect_duplicates"===this.get_type(),e=y.column||this.get_column(),null==c.help&&(c.help={}),a=y.help||c.help[t]||e.help,s=l+this.ZPUBLISHER_CONVERTER.multiselect,p=y.selected||this.is_selected(),o=y.disabled||this.is_disabled(),f=y.required||this.is_required(),d=y.size||this.get_size(),r=y.css_class||"form-control form-control-sm",f&&(r+=" required"),n().createElement($e,Gt({key:l,uid:_,item:c,name:s,defaultValue:m,value:m,column_key:t,title:h,help:a,disabled:o,selected:p,required:f,options:u,duplicates:i,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:d},y))}},{key:"create_multivalue_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==_&&(_={}),t=_.column_key||this.get_column_key(),a=_.item||this.get_item(),c=_.name||this.get_name(),h=_.value||this.get_value(),_.formatted_value||this.get_formatted_value(),d=_.uid||this.get_uid(),p=_.title||this.props.column.title||t,e=_.column||this.get_column(),null==a.help&&(a.help={}),s=_.help||a.help[t]||e.help,i=c+this.ZPUBLISHER_CONVERTER.multivalue,u=_.selected||this.is_selected(),o=_.disabled||this.is_disabled(),l=_.required||this.is_required(),f=_.size||this.get_size(),r=_.css_class||"form-control form-control-sm",l&&(r+=" required"),n().createElement(Ze,Gt({key:c,uid:d,item:a,name:i,defaultValue:h,value:h,column_key:t,title:p,help:s,disabled:o,selected:u,required:l,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:f},_))}},{key:"create_checkbox_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==h&&(h={}),t=h.column_key||this.get_column_key(),a=h.item||this.get_item(),c=h.name||this.get_name(),d=h.value||this.get_value(),h.formatted_value||this.get_formatted_value(),p=h.uid||this.get_uid(),f=h.title||this.props.column.title||t,a.choices[t],e=h.column||this.get_column(),null==a.help&&(a.help={}),s=h.help||a.help[t]||e.help,i=c+this.ZPUBLISHER_CONVERTER.boolean,h.selected||this.is_selected(),o=h.disabled||this.is_disabled(),l=h.required||this.is_required(),u=h.size||this.get_size(),r=h.css_class||"checkbox",l&&(r+=" required"),n().createElement(fe,Gt({key:c,uid:p,item:a,name:i,value:"on",column_key:t,title:f,help:s,defaultChecked:d,disabled:o,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:u},h))}},{key:"render_content",value:function(){var e,t;return this.get_column_key(),this.get_item()?(this.get_uid(),e=[],e="readonly"===(t=this.get_type())?e.concat(this.create_readonly_field()):"calculated"===t?e.concat(this.create_calculated_field()):"select"===t||"choices"===t?e.concat(this.create_select_field()):"multichoice"===t?e.concat(this.create_multichoice_field()):"multiselect"===t||"multiselect_duplicates"===t?e.concat(this.create_multiselect_field()):"multivalue"===t?e.concat(this.create_multivalue_field()):"boolean"===t?e.concat(this.create_checkbox_field()):"numeric"===t?e.concat(this.create_numeric_field()):"string"===t?e.concat(this.create_string_field()):"datetime"===t?e.concat(this.create_datetime_field()):"fraction"===t?e.concat(this.create_fraction_field()):e.concat(this.create_numeric_field())):null}},{key:"render",value:function(){return n().createElement("td",{className:this.props.className,colSpan:this.props.colspan,rowSpan:this.props.rowspan},n().createElement("div",{className:"form-group"},this.render_before_content(),this.render_content(),this.render_after_content()))}}],r&&Jt(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function rr(e){return rr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rr(e)}function nr(){return nr=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0}},{key:"get_column_title",value:function(){var e;return e=this.props.columns[this.props.column_key].title||"Remarks","function"==typeof _&&(e=_(e)),e}},{key:"get_style",value:function(){var e;return e=this.props.uid,{display:cr.call(this.props.expanded_remarks,e)>=0||this.props.value.length>0?"block":"none"}}},{key:"render_remarks_field",value:function(){var e,t,r;return r=this.props.uid,e=this.props.column_key,t="".concat(e,".").concat(r,":records"),this.can_edit()?n().createElement("textarea",nr({className:"remarksfield form-control",uid:r,column_key:e,style:{width:"100%"},rows:this.props.rows||2,name:t,onBlur:this.props.onBlur||this.on_blur,onChange:this.props.onChange||this.on_change,value:this.state.value,tabIndex:this.props.tabIndex},this.props.attrs)):n().createElement("span",{className:"remarksfield",dangerouslySetInnerHTML:{__html:this.state.value}})}},{key:"render",value:function(){return this.props.uid?n().createElement("div",{style:this.get_style(),className:this.props.field_css||"remarks text-muted"},this.props.before&&n().createElement("span",{className:this.props.before_css||"before_field",dangerouslySetInnerHTML:{__html:this.props.before}}),n().createElement("div",{className:"text-info"},n().createElement("i",{className:"fas fa-hand-point-right"})," ",this.get_column_title(),":"),this.render_remarks_field(),this.props.after&&n().createElement("span",{className:this.props.after_css||"after_field",dangerouslySetInnerHTML:{__html:this.props.after}})):null}}])&&or(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function ur(e){return ur="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ur(e)}function fr(){return fr=Object.assign?Object.assign.bind():function(e){for(var t=1;t0}},{key:"get_uid",value:function(){var e;return(e=this.get_item())?e.uid:null}},{key:"get_resultfield_title",value:function(){return this.props.columns.Result.title||window._t("Result")}},{key:"get_column_key",value:function(){return this.props.item.item_key||this.props.item.column_key}},{key:"is_header_slot",value:function(){var e,t;return!!(e=this.get_item())&&!e.uid&&!!(null!=e&&null!=(t=e.replace)?t.Pos:void 0)}},{key:"is_assigned_slot",value:function(){var e;return!!(e=this.get_item())&&!!e.uid}},{key:"is_unassigned_slot",value:function(){return!this.is_assigned_slot()}},{key:"is_loading",value:function(e){return(this.props.loading_uids||[]).indexOf(e)>-1}},{key:"get_css",value:function(){var e,t,r;return t=this.get_item(),e=["transposed",this.props.className],this.is_result_column()&&e.push("result"),t?(e.push(t.state_class),r=t.uid,mr.call(this.props.selected_uids,r)>=0&&e.push("info")):e.push("empty"),e.join(" ")}},{key:"get_remarks_columns",value:function(){var e,t,r;for(t in e=[],r=this.props.columns)"remarks"===r[t].type&&e.push(t);return e}},{key:"render_select_checkbox",value:function(){var e,t,r,o,i,s,a=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;if(null==a&&(a={}),s=this.get_uid(),(t=this.get_item())&&s)return o="".concat(this.props.select_checkbox_name,":list"),e=this.is_disabled(),i=this.is_selected(),r=this.is_loading(s),[n().createElement("div",{key:"select",className:"checkbox d-flex d-flex-row align-items-center flex-nowrap"},!r&&n().createElement(fe,fr({name:o,value:s,disabled:e,checked:i,onChange:this.props.on_select_checkbox_checked},a)),r&&n().createElement("span",{className:"spinner-border spinner-border-sm mr-2",role:"status","aria-hidden":"true"}),n().createElement("div",{className:"badge badge-secondary"},t.Pos),n().createElement("div",{className:"ml-2 small text-secondary"},t.Service))]}},{key:"render_interims",value:function(){var e,t,r,n,o,i,s,a,c,l,u,f,p,d=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;if(null==d&&(d={}),e=[],f=this.get_uid(),i=this.get_item()){for(r=t=0,a=(o=i.interimfields||[]).length;t".concat(l,""),after:"".concat(p,"")},this.is_edit_allowed()?(d.className="form-control form-control-sm interim",e="select"===(u=n.result_type)||"choices"===u?e.concat(this.create_select_field({props:d})):"multichoice"===u?e.concat(this.create_multichoice_field({props:d})):"multiselect"===u||"multiselect_duplicates"===u?e.concat(this.create_multiselect_field({props:d})):"multivalue"===u?e.concat(this.create_multivalue_field({props:d})):"boolean"===u?e.concat(this.create_checkbox_field({props:d})):"numeric"===u?e.concat(this.create_numeric_field({props:d})):"string"===u?e.concat(this.create_string_field({props:d})):"datetime"===u?e.concat(this.create_datetime_field({props:d})):"fraction"===u?e.concat(this.create_fraction_field({props:d})):e.concat(this.create_numeric_field({props:d}))):(d.className="readonly interim",e=e.concat(this.create_readonly_field({props:d}))));return e}}},{key:"render_remarks_toggle",value:function(){var e,t;if(e=[],t=this.get_uid(),this.get_item())return this.get_remarks_columns().length>0&&(e=e.concat(n().createElement("a",{key:t+"_remarks",href:"#",className:"transposed_remarks",uid:t,onClick:this.props.on_remarks_expand_click},n().createElement("i",{className:"remarksicon fas fa-comment"})))),e}},{key:"render_remarks",value:function(){var e,t,r,o,i,s,a,c;if(r=[],t=this.get_column_key(),c=this.get_uid(),i=this.get_item()){for(e=o=0,s=(a=this.get_remarks_columns()).length;o=0}},{key:"show_select",value:function(){var e;return"boolean"==typeof(e=this.get_item()).show_select?e.show_select:this.props.show_select_column}},{key:"is_transposed",value:function(e){return"transposed"===this.get_column(e).type}},{key:"get_transposed_items",value:function(){var e;return((e=this.get_item()).transposed_keys||[]).map((function(t){return e[t]}))}},{key:"has_transposed_items",value:function(){return this.get_transposed_items().length>0}},{key:"is_transposed_item",value:function(){return this.get_item().hasOwnProperty("transposed_keys")}},{key:"is_loading",value:function(e){return(this.props.loading_uids||[]).indexOf(e)>-1}},{key:"get_errors_for",value:function(e){return(this.props.errors||{})[e]||[]}},{key:"create_multi_select_cell",value:function(e){var t,r,o,i=this;return null==e&&(e=[]),e.length>0?(o=e.join(","),r=this.get_item().node_level||0,t=e.every((function(e){return i.props.selected_uids.includes(e)})),n().createElement("td",{key:o,className:"level-".concat(r)},n().createElement(fe,{value:o,tabIndex:"-1",checked:t,onChange:this.props.on_multi_select_checkbox_checked}))):this.create_placeholder_cell()}},{key:"create_select_cell",value:function(){var e,t,r,o,i,s,a;return(a=this.get_uid())?(e="".concat(this.props.select_checkbox_name,":list"),r=this.get_item(),s=this.props.remarks,o=r.node_level||0,i=this.is_loading(a),t=this.get_errors_for(a),n().createElement("td",{key:a,className:"level-".concat(o)},!i&&n().createElement(fe,{name:e,value:a,disabled:this.props.disabled,checked:this.props.selected,tabIndex:"-1",onChange:this.props.on_select_checkbox_checked}),i&&n().createElement("span",{className:"spinner-border spinner-border-sm",role:"status","aria-hidden":"true"}),t.length>0&&n().createElement("span",{className:"text-warning fas fa-exclamation-triangle",title:t.join("\n")}),s&&n().createElement("a",{uid:a,href:"#",className:"remarks",onClick:this.on_remarks_expand_click},n().createElement("span",{className:"remarksicon fas fa-comment-alt"})))):this.create_placeholder_cell()}},{key:"create_placeholder_cell",value:function(){return n().createElement("td",{className:"placeholder"})}},{key:"create_regular_cell",value:function(e,t){var r,o,i,s,a,c;return s=this.get_item(),o=this.get_column(e),r=this.get_colspan(e,s),a=this.get_rowspan(e,s),c=this.get_tab_index(e,s),i="contentcell ".concat(e),n().createElement(tr,br({},this.props,{key:t,item:s,column_key:e,column_index:t,column:o,colspan:r,rowspan:a,className:i,tabIndex:c}))}},{key:"create_transposed_cell",value:function(e,t){var r,o,i,s,a,c;return s=this.get_item(),o=this.get_column(e),r=this.get_colspan(e,s),a=this.get_rowspan(e,s),c=this.get_tab_index(e,s),i="contentcell ".concat(e),n().createElement(yr,br({},this.props,{key:t,item:s,column_key:e,column_index:t,column:o,colspan:r,rowspan:a,on_remarks_expand_click:this.on_remarks_expand_click,className:i,tabIndex:c}))}},{key:"create_dnd_cell",value:function(){var e,t;return e=this.get_item(),this.get_uid(),t=e.node_level||0,n().createElement("td",{ref:this.props.dragref,key:"dnd",className:"level-".concat(t," dnd")},n().createElement("i",{className:"fas fa-sort"}))}},{key:"build_cells",value:function(){var e,t,r,n,o,i,s;for(e=[],this.show_select()&&!this.is_transposed_item()?e.push(this.create_select_cell()):this.show_select()&&this.is_transposed_item()&&(s=this.get_transposed_items().map((function(e){return e.uid})),e.push(this.create_multi_select_cell(s))),this.props.allow_row_reorder&&e.push(this.create_dnd_cell()),t=n=0,o=(i=this.props.visible_columns).length;nr(e))),s=(0,t.useCallback)((()=>{const t=r(e);xr(o,t)||(i(t),n&&n())}),[o,e,n]);return Pr(s),[o,s]}(e,r,n);return Pr((function(){const t=e.getHandlerId();if(null!=t)return e.subscribeToStateChange(i,{handlerIds:[t]})}),[e,i]),o}(r,e||(()=>({})),(()=>n.reconnect()))}function Rr(e,r){const n=[...r||[]];return null==r&&"function"!=typeof e&&n.push(e),(0,t.useMemo)((()=>"function"==typeof e?e():e),n)}function Dr(e){return(0,t.useMemo)((()=>e.hooks.dragSource()),[e])}function Ir(e){return(0,t.useMemo)((()=>e.hooks.dragPreview()),[e])}function Nr(e,t,r,n){let o=r?r.call(n,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;const i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!1;const a=Object.prototype.hasOwnProperty.bind(t);for(let s=0;s{const o=e[n];if(n.endsWith("Ref"))r[n]=e[n];else{const e=function(e){return(r=null,n=null)=>{if(!(0,t.isValidElement)(r)){const t=r;return e(t,n),t}const o=r;return function(e){if("string"==typeof e.type)return;const t=e.type.displayName||e.type.name||"the component";throw new Error(`Only native element nodes can now be passed to React DnD connectors.You can either wrap ${t} into a
, or turn it into a drag source or a drop target itself.`)}(o),function(e,r){const n=e.ref;return jr("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),n?(0,t.cloneElement)(e,{ref:e=>{Mr(n,e),Mr(r,e)}}):(0,t.cloneElement)(e,{ref:r})}(o,n?t=>e(t,n):e)}}(o);r[n]=()=>e}})),r}function Mr(e,t){"function"==typeof e?e(t):e.current=t}class Lr{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){const e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){const e=this.dragSource,t=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return t&&this.disconnectDragSource(),this.handlerId?e?(t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)),t):(this.lastConnectedDragSource=e,t):t}reconnectDragPreview(e=!1){const t=this.dragPreview,r=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();r&&this.disconnectDragPreview(),this.handlerId&&(t?r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=t,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,t,this.dragPreviewOptions)):this.lastConnectedDragPreview=t)}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!Nr(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!Nr(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=Ar({dragSource:(e,t)=>{this.clearDragSource(),this.dragSourceOptions=t||null,Cr(e)?this.dragSourceRef=e:this.dragSourceNode=e,this.reconnectDragSource()},dragPreview:(e,t)=>{this.clearDragPreview(),this.dragPreviewOptions=t||null,Cr(e)?this.dragPreviewRef=e:this.dragPreviewNode=e,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}}const Br=(0,t.createContext)({dragDropManager:void 0});function zr(){const{dragDropManager:e}=(0,t.useContext)(Br);return jr(null!=e,"Expected drag drop context"),e}let qr=!1,Hr=!1;class Ur{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){jr(!qr,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return qr=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{qr=!1}}isDragging(){if(!this.sourceId)return!1;jr(!Hr,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Hr=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{Hr=!1}}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,t){return this.internalMonitor.isOverTarget(e,t)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}}class Vr{beginDrag(){const e=this.spec,t=this.monitor;let r=null;return r="object"==typeof e.item?e.item:"function"==typeof e.item?e.item(t):{},null!=r?r:null}canDrag(){const e=this.spec,t=this.monitor;return"boolean"==typeof e.canDrag?e.canDrag:"function"!=typeof e.canDrag||e.canDrag(t)}isDragging(e,t){const r=this.spec,n=this.monitor,{isDragging:o}=r;return o?o(n):t===e.getSourceId()}endDrag(){const e=this.spec,t=this.monitor,r=this.connector,{end:n}=e;n&&n(t.getItem(),t),r.reconnect()}constructor(e,t,r){this.spec=e,this.monitor=t,this.connector=r}}function Fr(e,r){const n=Rr(e,r);jr(!n.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const o=function(){const e=zr();return(0,t.useMemo)((()=>new Ur(e)),[e])}(),i=function(e,r){const n=zr(),o=(0,t.useMemo)((()=>new Lr(n.getBackend())),[n]);return Pr((()=>(o.dragSourceOptions=e||null,o.reconnect(),()=>o.disconnectDragSource())),[o,e]),Pr((()=>(o.dragPreviewOptions=r||null,o.reconnect(),()=>o.disconnectDragPreview())),[o,r]),o}(n.options,n.previewOptions);return function(e,r,n){const o=zr(),i=function(e,r,n){const o=(0,t.useMemo)((()=>new Vr(e,r,n)),[r,n]);return(0,t.useEffect)((()=>{o.spec=e}),[e]),o}(e,r,n),s=function(e){return(0,t.useMemo)((()=>{const t=e.type;return jr(null!=t,"spec.type must be defined"),t}),[e])}(e);Pr((function(){if(null!=s){const[e,t]=function(e,t,r){const n=r.getRegistry(),o=n.addSource(e,t);return[o,()=>n.removeSource(o)]}(s,i,o);return r.receiveHandlerId(e),n.receiveHandlerId(e),t}}),[o,r,n,i,s])}(n,o,i),[Tr(n.collect,o,i),Dr(i),Ir(i)]}function $r(e){return(0,t.useMemo)((()=>e.hooks.dropTarget()),[e])}class Wr{get connectTarget(){return this.dropTarget}reconnect(){const e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();const t=this.dropTarget;this.handlerId&&(t?e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=t,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,t,this.dropTargetOptions)):this.lastConnectedDropTarget=t)}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!Nr(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=Ar({dropTarget:(e,t)=>{this.clearDropTarget(),this.dropTargetOptions=t,Cr(e)?this.dropTargetRef=e:this.dropTargetNode=e,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}}let Kr=!1;class Yr{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}canDrop(){if(!this.targetId)return!1;jr(!Kr,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return Kr=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{Kr=!1}}isOver(e){return!!this.targetId&&this.internalMonitor.isOverTarget(this.targetId,e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}}class Xr{canDrop(){const e=this.spec,t=this.monitor;return!e.canDrop||e.canDrop(t.getItem(),t)}hover(){const e=this.spec,t=this.monitor;e.hover&&e.hover(t.getItem(),t)}drop(){const e=this.spec,t=this.monitor;if(e.drop)return e.drop(t.getItem(),t)}constructor(e,t){this.spec=e,this.monitor=t}}function Gr(e,r){const n=Rr(e,r),o=function(){const e=zr();return(0,t.useMemo)((()=>new Yr(e)),[e])}(),i=function(e){const r=zr(),n=(0,t.useMemo)((()=>new Wr(r.getBackend())),[r]);return Pr((()=>(n.dropTargetOptions=e||null,n.reconnect(),()=>n.disconnectDropTarget())),[e]),n}(n.options);return function(e,r,n){const o=zr(),i=function(e,r){const n=(0,t.useMemo)((()=>new Xr(e,r)),[r]);return(0,t.useEffect)((()=>{n.spec=e}),[e]),n}(e,r),s=function(e){const{accept:r}=e;return(0,t.useMemo)((()=>(jr(null!=e.accept,"accept must be defined"),Array.isArray(r)?r:[r])),[r])}(e);Pr((function(){const[e,t]=function(e,t,r){const n=r.getRegistry(),o=n.addTarget(e,t);return[o,()=>n.removeTarget(o)]}(s,i,o);return r.receiveHandlerId(e),n.receiveHandlerId(e),t}),[o,r,i,n,s.map((e=>e.toString())).join("|")])}(n,o,i),[Tr(n.collect,o,i),$r(i)]}function Jr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,s,a=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Zr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Zr(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Zr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0}},{key:"is_expanded",value:function(e){var t,r;return t=this.props.expanded_rows||[],r=e.uid,bn.call(t,r)>=0}},{key:"get_children",value:function(e){var t;return t=e.uid,(this.props.children||{})[t]||[]}},{key:"is_category_expanded",value:function(e){return bn.call(this.props.expanded_categories,e)>=0}},{key:"is_category_selected",value:function(e){return bn.call(this.props.selected_categories,e)>=0}},{key:"is_item_disabled",value:function(e){return e.disabled||!1}},{key:"is_child_item",value:function(e){if(e.parent)return!0}},{key:"get_item_category",value:function(e){return e.category||null}},{key:"get_item_children",value:function(e){return e.children||[]}},{key:"has_item_children",value:function(e){return this.get_item_children(e).length>0}},{key:"get_remarks_columns",value:function(e){var t,r,n;for(r in t=[],n=this.props.columns)if("remarks"===n[r].type){if(void 0===e[r])continue;t.push(r)}return t}},{key:"get_item_uid",value:function(e){return e.uid}},{key:"get_item_css",value:function(e){var t;return t=["contentrow"],e.state_class&&(t=t.concat(e.state_class.split(" "))),this.is_selected(e)&&t.push("table-info"),this.is_child_item(e)?t.push("child"):t.push("parent"),this.has_item_children(e)&&(this.is_expanded(e)?t.push("expanded"):t.push("collapsed")),t.join(" ")}},{key:"render_categorized_rows",value:function(){var e,t,r,o,i,s,a;if(s=[],this.props.show_categories)for(r=0,o=(i=this.props.categories).length;r0&&void 0!==arguments[0]?arguments[0]:{}).props;for(b=[],null==E&&(E={}),e=E.category||null,h=p=0,m=(f=E.folderitems||this.props.folderitems).length;p0,selected:v,disabled:c,className:a,onClick:l&&this.on_row_expand_click||void 0,row_index:h}))),i=_=0,y=g.length;_0&&(t=this.build_rows({props:{category:e,folderitems:r}}),b=b.concat(t))}return b}},{key:"render",value:function(){return this.render_categorized_rows()}}],r&&_n(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function wn(e){return wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wn(e)}function On(e,t){for(var r=0;r=0;n--)if(t.canDragSource(e[n])){r=e[n];break}return r}(t,s);if(null==c)return void e.dispatch(Wn);let l=null;if(o){if(!i)throw new Error("getSourceClientOffset must be defined");!function(e){jr("function"==typeof e,"When clientOffset is provided, getSourceClientOffset must be a function.")}(i),l=i(c)}e.dispatch($n(o,l));const u=a.getSource(c).beginDrag(s,c);if(null==u)return;!function(e){jr(Bn(e),"Item must be an object.")}(u),a.pinSource(c);const f=a.getSourceType(c);return{type:qn,payload:{itemType:f,item:u,sourceId:c,clientOffset:o||null,sourceClientOffset:l||null,isSourcePublic:!!n}}}}function Yn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Xn(e){for(var t=1;t{const s=function(e,t,r,n){const o=r.getTarget(e);let i=o?o.drop(n,e):void 0;return function(e){jr(void 0===e||Bn(e),"Drop result must either be an object or undefined.")}(i),void 0===i&&(i=0===t?{}:n.getDropResult()),i}(o,i,n,r),a={type:Vn,payload:{dropResult:Xn({},t,s)}};e.dispatch(a)}))}}function Jn(e){return function(){const t=e.getMonitor(),r=e.getRegistry();!function(e){jr(e.isDragging(),"Cannot call endDrag while not dragging.")}(t);const n=t.getSourceId();return null!=n&&(r.getSource(n,!0).endDrag(t,n),r.unpinSource()),{type:Fn}}}function Zn(e,t){return null===t?null===e:Array.isArray(e)?e.some((e=>e===t)):e===t}function Qn(e){return function(t,{clientOffset:r}={}){!function(e){jr(Array.isArray(e),"Expected targetIds to be an array.")}(t);const n=t.slice(0),o=e.getMonitor(),i=e.getRegistry();return function(e,t,r){for(let n=e.length-1;n>=0;n--){const o=e[n];Zn(t.getTargetType(o),r)||e.splice(n,1)}}(n,i,o.getItemType()),function(e,t,r){jr(t.isDragging(),"Cannot call hover while not dragging."),jr(!t.didDrop(),"Cannot call hover after drop.");for(let t=0;t{const i=r[o];var s;return n[o]=(s=i,(...r)=>{const n=s.apply(e,r);void 0!==n&&t(n)}),n}),{})}dispatch(e){this.store.dispatch(e)}constructor(e,t){this.isSetUp=!1,this.handleRefCountChange=()=>{const e=this.store.getState().refCount>0;this.backend&&(e&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!e&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=t,e.subscribe(this.handleRefCountChange)}}function ro(e,t){return{x:e.x-t.x,y:e.y-t.y}}const no=[],oo=[];no.__IS_NONE__=!0,oo.__IS_ALL__=!0;class io{subscribeToStateChange(e,t={}){const{handlerIds:r}=t;jr("function"==typeof e,"listener must be a function."),jr(void 0===r||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");let n=this.store.getState().stateId;return this.store.subscribe((()=>{const t=this.store.getState(),o=t.stateId;try{const i=o===n||o===n+1&&!function(e,t){return e!==no&&(e===oo||void 0===t||(r=e,t.filter((e=>r.indexOf(e)>-1))).length>0);var r}(t.dirtyHandlerIds,r);i||e()}finally{n=o}}))}subscribeToOffsetChange(e){jr("function"==typeof e,"listener must be a function.");let t=this.store.getState().dragOffset;return this.store.subscribe((()=>{const r=this.store.getState().dragOffset;r!==t&&(t=r,e())}))}canDragSource(e){if(!e)return!1;const t=this.registry.getSource(e);return jr(t,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()&&t.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;const t=this.registry.getTarget(e);return jr(t,`Expected to find a valid target. targetId=${e}`),!(!this.isDragging()||this.didDrop())&&(Zn(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e))}isDragging(){return Boolean(this.getItemType())}isDraggingSource(e){if(!e)return!1;const t=this.registry.getSource(e,!0);return jr(t,`Expected to find a valid source. sourceId=${e}`),!(!this.isDragging()||!this.isSourcePublic())&&(this.registry.getSourceType(e)===this.getItemType()&&t.isDragging(this,e))}isOverTarget(e,t={shallow:!1}){if(!e)return!1;const{shallow:r}=t;if(!this.isDragging())return!1;const n=this.registry.getTargetType(e),o=this.getItemType();if(o&&!Zn(n,o))return!1;const i=this.getTargetIds();if(!i.length)return!1;const s=i.indexOf(e);return r?s===i.length-1:s>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return Boolean(this.store.getState().dragOperation.isSourcePublic)}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return function(e){const{clientOffset:t,initialClientOffset:r,initialSourceClientOffset:n}=e;return t&&r&&n?ro((i=n,{x:(o=t).x+i.x,y:o.y+i.y}),r):null;var o,i}(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return function(e){const{clientOffset:t,initialClientOffset:r}=e;return t&&r?ro(t,r):null}(this.store.getState().dragOffset)}constructor(e,t){this.store=e,this.registry=t}}const so="undefined"!=typeof global?global:self,ao=so.MutationObserver||so.WebKitMutationObserver;function co(e){return function(){const t=setTimeout(n,0),r=setInterval(n,50);function n(){clearTimeout(t),clearInterval(r),e()}}}const lo="function"==typeof ao?function(e){let t=1;const r=new ao(e),n=document.createTextNode("");return r.observe(n,{characterData:!0}),function(){t=-t,n.data=t}}:co;class uo{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,t){this.onError=e,this.release=t,this.task=null}}const fo=new class{enqueueTask(e){const{queue:t,requestFlush:r}=this;t.length||(r(),this.flushing=!0),t[t.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:e}=this;for(;this.indexthis.capacity){for(let t=0,r=e.length-this.index;t{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=lo(this.flush),this.requestErrorThrow=co((()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()}))}},po=new class{create(e){const t=this.freeTasks,r=t.length?t.pop():new uo(this.onError,(e=>t[t.length]=e));return r.task=e,r}constructor(e){this.onError=e,this.freeTasks=[]}}(fo.registerPendingError),ho="dnd-core/ADD_SOURCE",_o="dnd-core/ADD_TARGET",mo="dnd-core/REMOVE_SOURCE",yo="dnd-core/REMOVE_TARGET";function go(e,t){t&&Array.isArray(e)?e.forEach((e=>go(e,!1))):jr("string"==typeof e||"symbol"==typeof e,t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var bo;!function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"}(bo||(bo={}));let vo=0;function wo(e){switch(e[0]){case"S":return bo.SOURCE;case"T":return bo.TARGET;default:throw new Error(`Cannot parse handler ID: ${e}`)}}function Oo(e,t){const r=e.entries();let n=!1;do{const{done:e,value:[,o]}=r.next();if(o===t)return!0;n=!!e}while(!n);return!1}class ko{addSource(e,t){go(e),function(e){jr("function"==typeof e.canDrag,"Expected canDrag to be a function."),jr("function"==typeof e.beginDrag,"Expected beginDrag to be a function."),jr("function"==typeof e.endDrag,"Expected endDrag to be a function.")}(t);const r=this.addHandler(bo.SOURCE,e,t);return this.store.dispatch(function(e){return{type:ho,payload:{sourceId:e}}}(r)),r}addTarget(e,t){go(e,!0),function(e){jr("function"==typeof e.canDrop,"Expected canDrop to be a function."),jr("function"==typeof e.hover,"Expected hover to be a function."),jr("function"==typeof e.drop,"Expected beginDrag to be a function.")}(t);const r=this.addHandler(bo.TARGET,e,t);return this.store.dispatch(function(e){return{type:_o,payload:{targetId:e}}}(r)),r}containsHandler(e){return Oo(this.dragSources,e)||Oo(this.dropTargets,e)}getSource(e,t=!1){return jr(this.isSourceId(e),"Expected a valid source ID."),t&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return jr(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}getSourceType(e){return jr(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}getTargetType(e){return jr(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}isSourceId(e){return wo(e)===bo.SOURCE}isTargetId(e){return wo(e)===bo.TARGET}removeSource(e){var t;jr(this.getSource(e),"Expected an existing source."),this.store.dispatch(function(e){return{type:mo,payload:{sourceId:e}}}(e)),t=()=>{this.dragSources.delete(e),this.types.delete(e)},fo.enqueueTask(po.create(t))}removeTarget(e){jr(this.getTarget(e),"Expected an existing target."),this.store.dispatch(function(e){return{type:yo,payload:{targetId:e}}}(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){const t=this.getSource(e);jr(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}unpinSource(){jr(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,t,r){const n=function(e){const t=(vo++).toString();switch(e){case bo.SOURCE:return`S${t}`;case bo.TARGET:return`T${t}`;default:throw new Error(`Unknown Handler Role: ${e}`)}}(e);return this.types.set(n,t),e===bo.SOURCE?this.dragSources.set(n,r):e===bo.TARGET&&this.dropTargets.set(n,r),n}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}}const So=(e,t)=>e===t;function Eo(e=no,t){switch(t.type){case Un:break;case ho:case _o:case yo:case mo:return no;default:return oo}const{targetIds:r=[],prevTargetIds:n=[]}=t.payload,o=function(e,t){const r=new Map,n=e=>{r.set(e,r.has(e)?r.get(e)+1:1)};e.forEach(n),t.forEach(n);const o=[];return r.forEach(((e,t)=>{1===e&&o.push(t)})),o}(r,n);if(!(o.length>0)&&function(e,t,r=So){if(e.length!==t.length)return!1;for(let n=0;ne!==o)))});case Vn:return Ro({},e,{dropResult:r.dropResult,didDrop:!0,targetIds:[]});case Fn:return Ro({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}var n,o}function No(e=0,t){switch(t.type){case ho:case _o:return e+1;case mo:case yo:return e-1;default:return e}}function Co(e=0){return e+1}function Ao(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Mo(e){for(var t=1;te&&e[t]?e[t]:n||null),r))})}),dragOffset:Po(e.dragOffset,t),refCount:No(e.refCount,t),dragOperation:Io(e.dragOperation,t),stateId:Co(e.stateId)};var r,n}function Bo(e,t=void 0,r={},n=!1){const o=function(e){const t="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__;return Ln(Lo,e&&t&&t({name:"dnd-core",instanceId:"dnd-core"}))}(n),i=new io(o,new ko(o)),s=new to(o,i),a=e(s,t,r);return s.receiveBackend(a),s}let zo=0;const qo=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var Ho=(0,t.memo)((function(e){var{children:r}=e,n=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["children"]);const[o,i]=function(e){if("manager"in e)return[{dragDropManager:e.manager},!1];return[function(e,t=Uo(),r,n){const o=t;return o[qo]||(o[qo]={dragDropManager:Bo(e,t,r,n)}),o[qo]}(e.backend,e.context,e.options,e.debugMode),!e.context]}(n);return(0,t.useEffect)((()=>{if(i){const e=Uo();return++zo,()=>{0==--zo&&(e[qo]=null)}}}),[]),(0,In.jsx)(Br.Provider,{value:o,children:r})}));function Uo(){return"undefined"!=typeof global?global:window}function Vo(e){let t=null;return()=>(null==t&&(t=e()),t)}class Fo{enter(e){const t=this.entered.length;return this.entered=function(e,t){const r=new Set,n=e=>r.add(e);e.forEach(n),t.forEach(n);const o=[];return r.forEach((e=>o.push(e))),o}(this.entered.filter((t=>this.isNodeInDocument(t)&&(!t.contains||t.contains(e)))),[e]),0===t&&this.entered.length>0}leave(e){const t=this.entered.length;var r,n;return this.entered=(r=this.entered.filter(this.isNodeInDocument),n=e,r.filter((e=>e!==n))),t>0&&0===this.entered.length}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}}class $o{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach((e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get:()=>null})}))}loadDataTransfer(e){if(e){const t={};Object.keys(this.config.exposeProperties).forEach((r=>{const n=this.config.exposeProperties[r];null!=n&&(t[r]={value:n(e,this.config.matchesTypes),configurable:!0,enumerable:!0})})),Object.defineProperties(this.item,t)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,t){return t===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}}const Wo="__NATIVE_FILE__",Ko="__NATIVE_URL__",Yo="__NATIVE_TEXT__",Xo="__NATIVE_HTML__";function Go(e,t,r){const n=t.reduce(((t,r)=>t||e.getData(r)),"");return null!=n?n:r}const Jo={[Wo]:{exposeProperties:{files:e=>Array.prototype.slice.call(e.files),items:e=>e.items,dataTransfer:e=>e},matchesTypes:["Files"]},[Xo]:{exposeProperties:{html:(e,t)=>Go(e,t,""),dataTransfer:e=>e},matchesTypes:["Html","text/html"]},[Ko]:{exposeProperties:{urls:(e,t)=>Go(e,t,"").split("\n"),dataTransfer:e=>e},matchesTypes:["Url","text/uri-list"]},[Yo]:{exposeProperties:{text:(e,t)=>Go(e,t,""),dataTransfer:e=>e},matchesTypes:["Text","text/plain"]}};function Zo(e){if(!e)return null;const t=Array.prototype.slice.call(e.types||[]);return Object.keys(Jo).filter((e=>{const r=Jo[e];return!!(null==r?void 0:r.matchesTypes)&&r.matchesTypes.some((e=>t.indexOf(e)>-1))}))[0]||null}const Qo=Vo((()=>/firefox/i.test(navigator.userAgent))),ei=Vo((()=>Boolean(window.safari)));class ti{interpolate(e){const{xs:t,ys:r,c1s:n,c2s:o,c3s:i}=this;let s=t.length-1;if(e===t[s])return r[s];let a,c=0,l=i.length-1;for(;c<=l;){a=Math.floor(.5*(c+l));const n=t[a];if(ne))return r[a];l=a-1}}s=Math.max(0,l);const u=e-t[s],f=u*u;return r[s]+n[s]*u+o[s]*f+i[s]*u*f}constructor(e,t){const{length:r}=e,n=[];for(let e=0;ee[t]{this.sourcePreviewNodes.delete(e),this.sourcePreviewNodeOptions.delete(e)}}connectDragSource(e,t,r){this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,r);const n=t=>this.handleDragStart(t,e),o=e=>this.handleSelectStart(e);return t.setAttribute("draggable","true"),t.addEventListener("dragstart",n),t.addEventListener("selectstart",o),()=>{this.sourceNodes.delete(e),this.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",n),t.removeEventListener("selectstart",o),t.setAttribute("draggable","false")}}connectDropTarget(e,t){const r=t=>this.handleDragEnter(t,e),n=t=>this.handleDragOver(t,e),o=t=>this.handleDrop(t,e);return t.addEventListener("dragenter",r),t.addEventListener("dragover",n),t.addEventListener("drop",o),()=>{t.removeEventListener("dragenter",r),t.removeEventListener("dragover",n),t.removeEventListener("drop",o)}}addEventListeners(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return ai({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const e=this.monitor.getSourceId();return ai({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}isDraggingNativeItem(){const t=this.monitor.getItemType();return Object.keys(e).some((r=>e[r]===t))}beginDragNativeItem(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=function(e,t){const r=Jo[e];if(!r)throw new Error(`native type ${e} has no configuration`);const n=new $o(r);return n.loadDataTransfer(t),n}(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(e){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout((()=>{var e;return null===(e=this.rootElement)||void 0===e?void 0:e.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}),1e3)}clearCurrentDragSourceNode(){var e;return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.rootElement&&(null===(e=this.window)||void 0===e||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null,!0)}handleDragStart(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}handleDragEnter(e,t){this.dragEnterTargetIds.unshift(t)}handleDragOver(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}handleDrop(e,t){this.dropTargetIds.unshift(t)}constructor(e,t,r){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=e=>{const t=this.sourceNodes.get(e);return t&&ni(t)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=e=>Boolean(e&&this.document&&this.document.body&&this.document.body.contains(e)),this.endDragIfSourceWasRemovedFromDOM=()=>{const e=this.currentDragSourceNode;null==e||this.isNodeInDocument(e)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=e=>{null===this.hoverRafId&&"undefined"!=typeof requestAnimationFrame&&(this.hoverRafId=requestAnimationFrame((()=>{this.monitor.isDragging()&&this.actions.hover(e||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null})))},this.cancelHover=()=>{null!==this.hoverRafId&&"undefined"!=typeof cancelAnimationFrame&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=e=>{if(e.defaultPrevented)return;const{dragStartSourceIds:t}=this;this.dragStartSourceIds=null;const r=oi(e);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(t||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:r});const{dataTransfer:n}=e,o=Zo(n);if(this.monitor.isDragging()){if(n&&"function"==typeof n.setDragImage){const e=this.monitor.getSourceId(),t=this.sourceNodes.get(e),o=this.sourcePreviewNodes.get(e)||t;if(o){const{anchorX:e,anchorY:i,offsetX:s,offsetY:a}=this.getCurrentSourcePreviewNodeOptions(),c=function(e,t,r,n,o){const i="IMG"===(s=t).nodeName&&(Qo()||!(null===(a=document.documentElement)||void 0===a?void 0:a.contains(s)));var s,a;const c=ni(i?e:t),l={x:r.x-c.x,y:r.y-c.y},{offsetWidth:u,offsetHeight:f}=e,{anchorX:p,anchorY:d}=n,{dragPreviewWidth:h,dragPreviewHeight:_}=function(e,t,r,n){let o=e?t.width:r,i=e?t.height:n;return ei()&&e&&(i/=window.devicePixelRatio,o/=window.devicePixelRatio),{dragPreviewWidth:o,dragPreviewHeight:i}}(i,t,u,f),{offsetX:m,offsetY:y}=o,g=0===y||y;return{x:0===m||m?m:new ti([0,.5,1],[l.x,l.x/u*h,l.x+h-u]).interpolate(p),y:g?y:(()=>{let e=new ti([0,.5,1],[l.y,l.y/f*_,l.y+_-f]).interpolate(d);return ei()&&i&&(e+=(window.devicePixelRatio-1)*_),e})()}}(t,o,r,{anchorX:e,anchorY:i},{offsetX:s,offsetY:a});n.setDragImage(o,c.x,c.y)}}try{null==n||n.setData("application/json",{})}catch(e){}this.setCurrentDragSourceNode(e.target);const{captureDraggingState:t}=this.getCurrentSourcePreviewNodeOptions();t?this.actions.publishDragSource():setTimeout((()=>this.actions.publishDragSource()),0)}else if(o)this.beginDragNativeItem(o);else{if(n&&!n.types&&(e.target&&!e.target.hasAttribute||!e.target.hasAttribute("draggable")))return;e.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=e=>{var t;if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()&&(null===(t=this.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer)),!this.enterLeaveCounter.enter(e.target)||this.monitor.isDragging())return;const{dataTransfer:r}=e,n=Zo(r);n&&this.beginDragNativeItem(n,r)},this.handleTopDragEnter=e=>{const{dragEnterTargetIds:t}=this;this.dragEnterTargetIds=[],this.monitor.isDragging()&&(this.altKeyPressed=e.altKey,t.length>0&&this.actions.hover(t,{clientOffset:oi(e)}),t.some((e=>this.monitor.canDropOnTarget(e)))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=this.getCurrentDropEffect())))},this.handleTopDragOverCapture=e=>{var t;this.dragOverTargetIds=[],this.isDraggingNativeItem()&&(null===(t=this.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer))},this.handleTopDragOver=e=>{const{dragOverTargetIds:t}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer&&(e.dataTransfer.dropEffect="none"));this.altKeyPressed=e.altKey,this.lastClientOffset=oi(e),this.scheduleHover(t),(t||[]).some((e=>this.monitor.canDropOnTarget(e)))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=e=>{this.isDraggingNativeItem()&&e.preventDefault(),this.enterLeaveCounter.leave(e.target)&&(this.isDraggingNativeItem()&&setTimeout((()=>this.endDragNativeItem()),0),this.cancelHover())},this.handleTopDropCapture=e=>{var t;this.dropTargetIds=[],this.isDraggingNativeItem()?(e.preventDefault(),null===(t=this.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer)):Zo(e.dataTransfer)&&e.preventDefault(),this.enterLeaveCounter.reset()},this.handleTopDrop=e=>{const{dropTargetIds:t}=this;this.dropTargetIds=[],this.actions.hover(t,{clientOffset:oi(e)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=e=>{const t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))},this.options=new ii(t,r),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new Fo(this.isNodeInDocument)}}const li=function(e,t,r){return new ci(e,t,r)};function ui(e){var t,r,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t(0,t.useContext)(pi),hi=e=>t.createElement(pi.Provider,{...e}),_i=function(){let e=new Map;return{on(t,r){return e.has(t)?e.get(t).add(r):e.set(t,new Set([r])),this},off(t,r){return e.has(t)&&e.get(t).delete(r),this},emit(t,r){return e.has(t)&&e.get(t).forEach((e=>{e(r)})),this}}}(),mi=()=>(0,t.useRef)(new Map).current,yi=()=>{},gi=["resize","contextmenu","click","scroll","blur"],bi={show({event:e,id:t,props:r,position:n}){e.preventDefault&&e.preventDefault(),_i.emit(0).emit(t,{event:e.nativeEvent||e,props:r,position:n})},hideAll(){_i.emit(0)}};function vi(e){return"function"==typeof e}function wi(e){return"string"==typeof e}function Oi(e,r){return t.Children.map(t.Children.toArray(e).filter(Boolean),(e=>(0,t.cloneElement)(e,r)))}function ki(e,t){return vi(e)?e(t):e}function Si(e,t){return{...e,...vi(t)?t(e):t}}var Ei=({id:e,theme:r,style:n,className:i,children:s,animation:a="fade",preventDefaultOnKeydown:c=!0,disableBoundariesCheck:l=!1,onVisibilityChange:u,...f})=>{let[p,d]=(0,t.useReducer)(Si,{x:0,y:0,visible:!1,triggerEvent:{},propsFromTrigger:null,willLeave:!1}),h=(0,t.useRef)(null),_=mi(),[m]=(0,t.useState)((()=>function(){let e,t,r,n,o=new Map,i=!1;function s(){n[e].node.focus()}function a(){return-1!==e||(c(),!1)}function c(){e+1=0&&n[e].isSubmenu){let a=Array.from(n[e].submenuRefTracker.values()),{node:c,setSubmenuPosition:l}=n[e];return o.set(c,{isRoot:r,focusedIndex:e,parentNode:t||c,items:n}),l(),c.classList.add("contexify_submenu-isOpen"),t=c,a.length>0?(e=0,n=a):i=!0,r=!1,s(),!0}return!1},closeSubmenu:l,matchKeys:function(e){!function t(r){for(let n of r)n.isSubmenu&&n.submenuRefTracker&&t(Array.from(n.submenuRefTracker.values())),n.keyMatcher&&n.keyMatcher(e)}(n)}}}())),y=(0,t.useRef)(),g=(0,t.useRef)();function b(e,t){if(h.current&&!l){let{innerWidth:r,innerHeight:n}=window,{offsetWidth:o,offsetHeight:i}=h.current;e+o>r&&(e-=e+o-r),t+i>n&&(t-=t+i-n)}return{x:e,y:t}}function v({event:e,props:t,position:r}){e.stopPropagation();let n=r||function(e){let t={x:e.clientX,y:e.clientY},r=e.changedTouches;return r&&(t.x=r[0].clientX,t.y=r[0].clientY),(!t.x||t.x<0)&&(t.x=0),(!t.y||t.y<0)&&(t.y=0),t}(e),{x:i,y:s}=b(n.x,n.y);(0,o.flushSync)((()=>{d({visible:!0,willLeave:!1,x:i,y:s,triggerEvent:e,propsFromTrigger:t})})),clearTimeout(g.current),!y.current&&vi(u)&&(u(!0),y.current=!0)}function w(e){null!=e&&(2===e.button||e.ctrlKey)&&"contextmenu"!==e.type||(a&&(wi(a)||"exit"in a&&a.exit)?d((e=>({willLeave:e.visible}))):d((e=>({visible:!e.visible&&e.visible}))),g.current=setTimeout((()=>{vi(u)&&u(!1),y.current=!1})))}(0,t.useEffect)((()=>(_i.on(e,v).on(0,w),()=>{_i.off(e,v).off(0,w)})),[e,a,l]),(0,t.useEffect)((()=>{p.visible?m.init(_):_.clear()}),[p.visible,m,_]),(0,t.useEffect)((()=>{p.visible&&d(b(p.x,p.y))}),[p.visible]),(0,t.useEffect)((()=>{function e(e){c&&e.preventDefault()}function t(t){switch(t.key){case"Enter":case" ":m.openSubmenu()||w();break;case"Escape":w();break;case"ArrowUp":e(t),m.moveUp();break;case"ArrowDown":e(t),m.moveDown();break;case"ArrowRight":e(t),m.openSubmenu();break;case"ArrowLeft":e(t),m.closeSubmenu();break;default:m.matchKeys(t)}}if(p.visible){window.addEventListener("keydown",t);for(let e of gi)window.addEventListener(e,w)}return()=>{window.removeEventListener("keydown",t);for(let e of gi)window.removeEventListener(e,w)}}),[p.visible,m,c]);let{visible:O,triggerEvent:k,propsFromTrigger:S,x:E,y:j,willLeave:x}=p,P=fi("contexify",i,{[`contexify_theme-${r}`]:r},wi(a)?fi({[`contexify_willEnter-${a}`]:O&&!x,[`contexify_willLeave-${a} contexify_willLeave-'disabled'`]:O&&x}):a&&"enter"in a&&"exit"in a?fi({[`contexify_willEnter-${a.enter}`]:a.enter&&O&&!x,[`contexify_willLeave-${a.exit} contexify_willLeave-'disabled'`]:a.exit&&O&&x}):null);return t.createElement(hi,{value:_},O&&t.createElement("div",{...f,className:P,onAnimationEnd:function(){p.willLeave&&p.visible&&(0,o.flushSync)((()=>d({visible:!1,willLeave:!1})))},style:{...n,left:E,top:j,opacity:1},ref:h,role:"menu"},Oi(s,{propsFromTrigger:S,triggerEvent:k})))},ji=({id:e,children:r,className:n,style:o,triggerEvent:i,data:s,propsFromTrigger:a,keyMatcher:c,onClick:l=yi,disabled:u=!1,hidden:f=!1,closeOnClick:p=!0,handlerEvent:d="onClick",...h})=>{let _=(0,t.useRef)(),m=di(),y={id:e,data:s,triggerEvent:i,props:a},g=ki(u,y);function b(){let e=_.current;e.focus(),e.addEventListener("animationend",(()=>setTimeout(bi.hideAll)),{once:!0}),e.classList.add("contexify_item-feedback"),l(y)}return ki(f,y)?null:t.createElement("div",{...h,[d]:function(e){y.event=e,e.stopPropagation(),g||(p?b():l(y))},className:fi("contexify_item",n,{"contexify_item-disabled":g}),style:o,onKeyDown:function(e){("Enter"===e.key||" "===e.key)&&(e.stopPropagation(),y.event=e,b())},ref:function(e){e&&!g&&(_.current=e,m.set(e,{node:e,isSubmenu:!1,keyMatcher:!g&&vi(c)&&(e=>{c(e)&&(e.stopPropagation(),e.preventDefault(),y.event=e,b())})}))},tabIndex:-1,role:"menuitem","aria-disabled":g},t.createElement("div",{className:"contexify_itemContent"},r))},xi=({triggerEvent:e,data:r,propsFromTrigger:n,hidden:o=!1})=>ki(o,{data:r,triggerEvent:e,props:n})?null:t.createElement("div",{className:"contexify_separator"}),Pi=()=>t.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t.createElement("polyline",{points:"9 18 15 12 9 6"})),Ti=({className:e,...r})=>t.createElement("div",{className:fi("contexify_rightSlot",e),...r}),Ri=({arrow:e,children:r,disabled:n=!1,hidden:o=!1,label:i,className:s,triggerEvent:a,propsFromTrigger:c,style:l,...u})=>{let f=di(),p=mi(),d=(0,t.useRef)(null),h={triggerEvent:a,props:c},_=ki(n,h);function m(){let e=d.current;if(e){let t="contexify_submenu-bottom",r="contexify_submenu-right";e.classList.remove(t,r);let n=e.getBoundingClientRect();n.right>window.innerWidth&&e.classList.add(r),n.bottom>window.innerHeight&&e.classList.add(t)}}if(ki(o,h))return null;let y=fi("contexify_item",s,{"contexify_item-disabled":_});return t.createElement(hi,{value:p},t.createElement("div",{...u,className:y,ref:function(e){e&&!_&&f.set(e,{node:e,isSubmenu:!0,submenuRefTracker:p,setSubmenuPosition:m})},tabIndex:-1,role:"menuitem","aria-haspopup":!0,"aria-disabled":_,onMouseEnter:m,onTouchStart:m},t.createElement("div",{className:"contexify_itemContent",onClick:e=>e.stopPropagation()},i,t.createElement(Ti,null,e||t.createElement(Pi,null))),t.createElement("div",{className:"contexify contexify_submenu",ref:d,style:l},Oi(r,{propsFromTrigger:c,triggerEvent:a}))))},Di=r(311);function Ii(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Ni(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ni(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){a=!0,i=e},f:function(){try{s||null==r.return||r.return()}finally{if(a)throw i}}}}function Ni(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&React.createElement("span",{className:"badge badge-secondary mr-1"},i),t)]).push(React.createElement(xi,{key:"separator_below_title"}));var s,a=r.menu.transitions||[],c=Ii(a);try{for(c.s();!(s=c.n()).done;){var l=s.value;e.push(React.createElement(ji,{key:l.id,closeOnClick:!1,data:l,onClick:o},window._t(l.title)))}}catch(e){c.e(e)}finally{c.f()}a.length>0&&e.push(React.createElement(xi,{key:"separator_below_transitions"}));var u,f=r.menu.actions||[],p=Ii(f);try{for(p.s();!(u=p.n()).done;){var d=u.value;e.push(React.createElement(ji,{key:d.id,data:d,onClick:o},window._t(d.title)))}}catch(e){p.e(e)}finally{p.f()}f.length>0&&e.push(React.createElement(xi,{key:"separator_below_actions"}));var h,_=[],m=Ii(r.menu.configurations||[]);try{for(m.s();!(h=m.n()).done;){var y=h.value;_.push(React.createElement(ji,{key:y.id,data:y,onClick:o},window._t(y.title)))}}catch(e){m.e(e)}finally{m.f()}return _.length>0&&e.push(React.createElement(Ri,{key:"configuration_submenu",label:window._t("Configuration")},_)),e}())};var Mi=r(311);function Li(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:"senaite")?window._p(e):window._t(e)}},{key:"dismissMessage",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.setState({messages:[]}):((e=[].concat(this.state.messages)).splice(t,1),this.setState({messages:e})),!0}},{key:"addMessage",value:function(e,t,r){var n,o,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"info";return"object"===Bi(e)&&(e=(o=Object.assign(e)).title,t=o.text,r=o.traceback,i=o.level),(n=[].concat(this.state.messages)).push({title:e,text:t,traceback:r,level:i}),this.setState({messages:n}),!0}},{key:"getRequestOptions",value:function(){return{review_state:this.state.review_state,filter:this.state.filter,sort_on:this.state.sort_on,sort_order:this.state.sort_order,pagesize:this.state.pagesize,limit_from:this.state.limit_from,selected_uids:this.state.selected_uids}}},{key:"componentDidMount",value:function(){return window.addEventListener("popstate",this.on_popstate,!1),this.fetch_folderitems()}},{key:"componentWillUnmount",value:function(){return window.removeEventListener("popstate",this.on_popstate,!1)}},{key:"componentDidUpdate",value:function(e,t,r){}},{key:"toggleUIDLoading",value:function(e,t){var r,n;return!!e&&(r=(n=this.state.loading_uids).indexOf(e),null==t&&(t=-1===r),r>-1?t||n.splice(r,1):t&&n.push(e),this.setState({loading_uids:n}))}},{key:"setErrors",value:function(e,t){var r,n,o;return(null!=e||null!=t)&&(null==t&&(t=""),null==e?(o=_t("Oops, an error occured! 🙈"),this.addMessage(o,t,null,"danger")):(n=(r=this.state.errors)[e]||[],t.length>0&&n.indexOf(t)<0&&(n=n.concat(t)),r[e]=n,this.setState({errors:r})))}},{key:"flushErrors",value:function(e){var t;return t=this.state.errors,null==e?(t={},this.dismissMessage()):t[e]=[],this.setState({errors:t})}},{key:"toggleCategory",value:function(e){var t,r;return(r=(t=this.state.expanded_categories).indexOf(e))>-1?t.splice(r,1):t.push(e),this.setState({expanded_categories:t}),t.length>0}},{key:"selectCategory",value:function(e){var t;return(t=new Set(this.state.selected_categories)).has(e)?t.delete(e):t.add(e),this.setState({selected_categories:Array.from(t)}),t.has(e)}},{key:"toggleRemarks",value:function(e){var t,r;return!!e&&((r=(t=this.state.expanded_remarks).indexOf(e))>-1?t.splice(r,1):t.push(e),this.setState({expanded_remarks:t}),t.length>0)}},{key:"toggleRow",value:function(e){var t,r,n;return!!e&&((r=(t=this.state.expanded_rows).indexOf(e))>-1?t.splice(r,1):t.push(e),n=this,e in this.state.children?this.setState({expanded_rows:t}):this.fetch_children({parent_uid:e}).then((function(r){var o,i,s,a,c;for(i=n.state.children,a=r.children||[],i[e]=a,s=0,c=a.length;s0)}},{key:"toggleColumn",value:function(e){var t,r,n,o;if("reset"===e)return this.setState({columns:this.get_default_columns()}),this.set_local_column_config([]),!0;for(e in void 0===(o=(n=this.state.columns)[e].toggle)&&(o=!0),n[e].toggle=!o,r=[],n)t=n[e],r.push({key:e,toggle:t.toggle});return this.set_local_column_config(r),this.setState({columns:n}),o}},{key:"handleRowMenuAction",value:function(e,t,r){var n;return n=this.get_uids_from([r]),this.state.selected_uids.length>0&&(n=[].concat(this.state.selected_uids)),this.doAction(e,t,n)}},{key:"showRowMenu",value:function(e,t){var r,n,o,i,s=this;return e.preventDefault(),i={id:this.row_context_menu_id},n={show(e){bi.show({...i,...e})},hideAll(){bi.hideAll()}},[],o=this.state.selected_uids.length>0?this.state.selected_uids:this.get_uids_from([t]),r=this.get_folderitems().filter((function(e){var t;return t=e.uid,$i.call(o,t)>=0})),this.fetch_transitions(o,!1).then((function(o){var i,a,c;return c=[],s.state.show_ajax_save&&c.unshift({id:"save",title:"Save"}),c=c.concat(o.transitions),i=[],s.state.fetch_transitions_on_select?i.push({id:"toggle_auto_fetch_transitions",title:"Disable auto fetch transitions"}):i.push({id:"toggle_auto_fetch_transitions",title:"Enable auto fetch transitions"}),i.push({id:"reset_columns",title:"Reset columns"}),a={row_context_menu:{folderitems:r,transitions:c,actions:[{id:"all",title:"Select all"},{id:"clear_selection",title:"Deselect all"},{id:"fetch_transitions",title:"Fetch Transitions"},{id:"reload",title:"Reload"}],configurations:i}},s.state.fetch_transitions_on_select||(a.transitions=[]),s.setState(a,(function(){return n.show({event:e,props:{item:t}})}))}))}},{key:"moveRow",value:function(e,t){var r,n,o;return n=this.state.folderitems[e],o=(r=[].concat(this.state.folderitems)).splice(t,1,n),r.splice(e,1,o[0]),this.setState({folderitems:r})}},{key:"setColumnsOrder",value:function(e){var t,r,n,o,i,s,a,c;for(a={},r=[],(i=Object.keys(this.state.columns)).sort((function(t,r){return e.indexOf(t)-e.indexOf(r)})),n=0,s=i.length;n0?n.map((function(e,t){return e.key})):(e=this.get_allowed_column_keys()).concat(t.filter((function(t){return-1===e.indexOf(t)}))),r}},{key:"get_columns_visibility",value:function(){var e,t,r,n,o,i,s;if(s={},n=this.get_local_column_config(),this.state.show_column_toggles&&n.length>0)for(e=0,r=n.length;e0&&void 0!==arguments[0]?arguments[0]:"default";return e=this.get_review_state_by_id(t).listing_config||{},this.set_state(Object.assign({review_state:t,pagesize:this.pagesize,limit_from:0},e)),!0}},{key:"filterBySearchterm",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.set_state({filter:e,pagesize:this.pagesize,limit_from:0}),!0}},{key:"sortBy",value:function(e,t){return this.set_state({sort_on:e,sort_order:t,pagesize:this.get_item_count(),limit_from:0}),!0}},{key:"showMore",value:function(e){var t,r;return t=this.state.folderitems,r=this,this.setState({pagesize:parseInt(e),limit_from:this.state.folderitems.length,loading:!0},(function(){return r.api.fetch_folderitems(r.getRequestOptions()).then((function(e){var n;if(r.toggle_loader(!1),e.folderitems.length>0)return n=t.concat(e.folderitems),r.setState({folderitems:n})}))})),!0}},{key:"export",value:function(){var e,t,r,n,o,i,s,a,c,l;return r=this.get_columns_order(),n=this.get_columns_visibility(),r=function(){var t,o,i;for(i=[],t=0,o=r.length;t=0){for(p=[],a=0,l=(u=this.get_folderitems()).length;a=0&&p.push(c.uid);return this.ajax_do_transition_for(p,n)}return i=document.getElementById(this.state.form_id),document.querySelectorAll("input[name='workflow_action_id']",i).forEach((function(e){return e.remove()})),document.querySelectorAll("input[name='form_id']",i).forEach((function(e){return e.remove()})),r.forEach((function(e){return document.querySelector("input[value='".concat(e,"']")).checked=!0})),o=this.create_input_element("hidden",e,"workflow_action_id",n),i.appendChild(o),s=this.create_input_element("hidden","form_id","form_id",this.state.form_id),i.appendChild(s),t&&(i.action=t),i.submit()}this.loadModal(t,r)}},{key:"ajax_do_transition_for",value:function(e,t){var r,n,o=this;return this.setState({lock_buttons:!0}),n=e.length,r="",this.saveAjaxQueue().then((function(i){var s;return s=Promise.resolve(),e.forEach((function(e,i){return o.flushErrors(e),s=s.then((function(){return o.toggleUIDLoading(e,!0),o.api.do_action_for({uids:[e],transition:t}).then((function(s){var a,c,l,u,f;return(u=s.errors[e])&&o.setErrors(e,u),r=o.api.combine_urls(r,s.redirects[e]),c=s.folderitems||[],o.update_existing_folderitems_with(c),o.toggleUIDLoading(e,!1),a=i+1,f=t.charAt(0).toUpperCase()+t.slice(1),l="".concat(window._t(f),": ").concat(a,"/").concat(n),o.set_progress(a,n,l)}))}))})),s.then((function(){return o.reset_progress(),r?window.location.href=r:(o.state.fetch_transitions_on_select&&o.fetch_transitions(),o.setState({lock_buttons:!1}),o.api.fetch_listing_config().then((function(r){return o.trigger_event("listing:after_transition_event",{uids:e,transition:t,config:r,folderitems:o.state.folderitems})})))}))}))}},{key:"trigger_event",value:function(e,t,r){var n;return null==r&&(r=document.body),n=new CustomEvent(e,{detail:t,bubbles:!0}),r.dispatchEvent(n)}},{key:"parse_json",value:function(e,t){try{return JSON.parse(e)}catch(e){return t}}},{key:"create_input_element",value:function(e,t,r,n){var o;return(o=document.createElement("input")).setAttribute("type",e),o.setAttribute("id",t),o.setAttribute("name",r),o.setAttribute("value",n),o}},{key:"get_folderitems",value:function(e){var t,r,n,o,i,s,a,c;for(n=[],null==e&&(e=this.state.folderitems),r=0,i=e.length;r0)for(a=0,l=(p=this.state.categories).length;ad?h.slice(d,i+1):h.slice(i,d),u=function(e){var t;return t=e.uid,$i.call(f,t)>=0},this.selectItems(null,u,r)}},{key:"saveAjaxQueue",value:function(){return 0===Object.keys(this.state.ajax_save_queue).length?new Promise((function(e,t){return e()})):this.ajax_save()}},{key:"saveEditableField",value:function(e,t,r,n){var o,i,s,a;return!($i.call(n.allow_edit,t)<0||((i=this.state.columns[t]||{}).ajax&&(a=this,null==(o=this.state.ajax_save_queue)[e]&&(o[e]={}),o[e][t]=r,this.setState({show_ajax_save:!0,ajax_save_queue:o,refetch:i.refetch||!1},(function(){if(i.autosave)return a.ajax_save()}))),(s=i.on_change)&&this.ajax_on_change(s,{uid:e,name:t,value:r,item:n}),0))}},{key:"updateEditableField",value:function(e,t,r,n){var o;return this.saveEditableField(e,t,r,n),o=this,this.is_uid_selected(e)||(o=this,this.selectUID(e,!0).then((function(){if(o.state.fetch_transitions_on_select)return o.fetch_transitions()}))),!0}},{key:"is_uid_selected",value:function(e){return $i.call(this.state.selected_uids,e)>=0}},{key:"all_items_selected",value:function(){var e,t,r,n,o;for(e=0,r=(n=this.get_folderitems()).length;e2&&void 0!==arguments[2]?arguments[2]:null;return e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)*100,Number.isNaN(e)&&(e=null),this.setState({progress:e,progress_label:t})}},{key:"reset_progress",value:function(){return this.setState({progress:null,progress_label:null})}},{key:"toggle_loader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.setState({loading:e}),e}},{key:"set_state",value:function(e){var t,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t=this,this.setState(e,(function(){if(r)return t.fetch_folderitems()})),!0}},{key:"fetch_transitions",value:function(e){var t,r,n,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(null==e&&(e=this.state.selected_uids),0!==e.length)return o&&this.toggle_loader(!0),(r=this.getRequestOptions()).selected_uids=e,this.update_location_hash(r),n=this.api.fetch_transitions(r),t=this,n.then((function(e){return t.setState(e,(function(){if(o)return t.toggle_loader(!1)}))})),n;this.setState({transitions:[]})}},{key:"fetch_folderitems",value:function(){var e,t,r,n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.toggle_loader(!0),t=this.getRequestOptions(),this.update_location_hash(t),r=this.api.fetch_folderitems(t),e=this,r.then((function(t){var r,o,i,s,a,c,l,u,f,p,d,h,_;for(o=e.group_by_uid(e.state.folderitems),f=e.group_by_uid(t.folderitems),u=t.categories||[],h=t.selected_uids||[],d=new Set(e.state.selected_uids),s=0,c=(p=e.state.selected_uids).length;s0&&void 0!==arguments[0]?arguments[0]:{},o=n.parent_uid,i=n.child_uids;return this.toggle_loader(!0),i||(i=[],o in(e=this.group_by_uid())&&(i=e[o].children||[])),r=this.api.fetch_children({parent_uid:o,child_uids:i}),t=this,r.then((function(e){return t.toggle_loader(!1)})),r}},{key:"render_toolbar_top",value:function(){return!!this.state.show_more||!!this.state.show_search||this.state.review_states.length>1}},{key:"ajax_save",value:function(){var e,t,r,n,o,i,s,a,c=this;for(s=[],t=0,n=(i=this.get_folderitems()).length;t-1})),this.selectItems(r,null,t.checked).then((function(){if(n.state.fetch_transitions_on_select)return n.fetch_transitions()}))}},{key:"on_category_click",value:function(e){var t;return t=e.currentTarget.getAttribute("category"),this.toggleCategory(t)}},{key:"on_category_select",value:function(e){var t,r,n,o,i;return n=this,r=e.currentTarget,t=r.getAttribute("category"),o=function(e){return e.category===t},i=this.selectCategory(t),this.selectItems(null,o,i).then((function(){if(n.state.fetch_transitions_on_select)return n.fetch_transitions()}))}},{key:"on_api_error",value:function(e){var t,r,n=this;return this.toggle_loader(!1),r=_t("Oops, an error occurred! 🙈"),e instanceof Error?(t=e.message,this.addMessage(r,t,null,"danger")):e.text?e.text().then((function(o){return t=_t("The server responded with the status ".concat(e.status,": ").concat(e.statusText)),n.addMessage(r,t,null,"danger")})):(t=_t("An unkown error occurred: "+e),this.addMessage(r,t,null,"danger")),e}},{key:"on_reload",value:function(e){return this.fetch_folderitems()}},{key:"on_popstate",value:function(e){var t,r,n,o,i,s,a,c;for(t in o=this.api.parse_hash(location.hash)){var l=(a=o[t].split("="),c=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,s,a=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}(a,c)||function(e,t){if(e){if("string"==typeof e)return Li(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Li(e,t):void 0}}(a,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());r=l[0],s=l[1],r.startsWith(this.form_id)&&(n=r.replace("".concat(this.form_id,"_"),""))in this.state&&("pagesize"===n&&(s=parseInt(s)),s!==this.state[n]&&(this.state[n]=s,i=!0))}if(i)return this.fetch_folderitems()}},{key:"on_row_order_change",value:function(){var e;return e=new CustomEvent("listing:row_order_change",{detail:{folderitems:this.state.folderitems},bubbles:!0,cancelable:!0,composed:!1}),this.root_el.dispatchEvent(e)}},{key:"render",value:function(){var e,t,r,o,i,s;return e=this.get_columns(),r=this.get_columns_order(),t=this.get_columns_count(),s=this.get_visible_columns(),o=this.get_item_count(),i=this.render_toolbar_top(),n().createElement(Ho,{backend:li},n().createElement("div",{className:"listing-container"},n().createElement(W,{className:"modal fade",id:"modal_".concat(this.form_id)}),n().createElement(H,{on_dismiss_message:this.dismissMessage,id:"messages",className:"messages",messages:this.state.messages}),this.state.loading&&n().createElement("div",{id:"table-overlay"}),!i&&this.state.loading&&n().createElement(A,{loading:this.state.loading}),i&&n().createElement("div",{className:"row top-toolbar"},n().createElement("div",{className:"col-sm-8"},n().createElement(x,{className:"filterbar nav nav-pills",on_filter_button_clicked:this.filterByState,review_state:this.state.review_state,review_states:this.state.review_states})),n().createElement("div",{className:"col-sm-1 text-right"},n().createElement(A,{loading:this.state.loading})),n().createElement("div",{className:"col-sm-3 text-right"},n().createElement(oe,{show_search:this.state.show_search,on_search:this.filterBySearchterm,filter:this.state.filter,placeholder:_t("Search")}))),this.state.progress&&n().createElement("div",{className:"progress my-2"},n().createElement("div",{className:"progress-bar progress-bar-striped progress-bar-animated",style:{width:"".concat(this.state.progress,"%")}},this.state.progress_label||this.state.progress+"%")),n().createElement("div",{className:"row"},n().createElement("div",{className:"col-sm-12 table-responsive"},this.state.show_column_toggles&&n().createElement("a",{href:"#",onClick:this.on_column_config_click,className:"pull-right"},n().createElement("i",{className:"fas fa-ellipsis-h"})),this.state.show_column_config&&n().createElement(Dn,{title:_t("Configure Table Columns"),description:_t("Click to toggle the visibility or drag&drop to change the order"),columns:e,columns_order:r,on_column_toggle_click:this.toggleColumn,on_columns_order_change:this.setColumnsOrder}),n().createElement(Ai,{id:this.row_context_menu_id,menu:this.state.row_context_menu,on_menu_item_click:this.handleRowMenuAction}),n().createElement(En,{className:"contentstable table table-hover small",allow_edit:this.state.allow_edit,on_header_column_click:this.sortBy,on_select_checkbox_checked:this.on_select_checkbox_checked,on_multi_select_checkbox_checked:this.on_multi_select_checkbox_checked,on_context_menu:this.on_column_config_click,sort_on:this.state.sort_on,sort_order:this.state.sort_order,catalog_indexes:this.state.catalog_indexes,catalog_columns:this.state.catalog_columns,sortable_columns:this.state.sortable_columns,columns:e,columns_count:t,review_state:this.state.review_state,visible_columns:s,review_states:this.state.review_states,folderitems:this.state.folderitems,children:this.state.children,selected_uids:this.state.selected_uids,loading_uids:this.state.loading_uids,errors:this.state.errors,select_checkbox_name:this.state.select_checkbox_name,show_select_column:this.state.show_select_column,show_select_all_checkbox:this.state.show_select_all_checkbox,all_items_selected:this.all_items_selected(),categories:this.state.categories,expanded_categories:this.state.expanded_categories,selected_categories:this.state.selected_categories,expanded_rows:this.state.expanded_rows,expanded_remarks:this.state.expanded_remarks,show_categories:this.state.show_categories,on_category_click:this.on_category_click,on_category_select:this.on_category_select,on_row_expand_click:this.toggleRow,on_remarks_expand_click:this.toggleRemarks,on_row_context_menu:this.showRowMenu,filter:this.state.filter,update_editable_field:this.updateEditableField,save_editable_field:this.saveEditableField,move_row:this.moveRow,allow_row_reorder:this.state.allow_row_reorder,on_row_order_change:this.on_row_order_change}))),this.state.show_table_footer&&n().createElement("div",{className:"row"},n().createElement("div",{className:"col-sm-8"},n().createElement(w,{className:"buttonbar nav nav-pills",show_ajax_save:this.state.show_ajax_save,ajax_save_button_title:_t("Save"),on_transition_button_click:this.doAction,on_ajax_save_button_click:this.saveAjaxQueue,selected_uids:this.state.selected_uids,show_select_column:this.state.show_select_column,transitions:this.state.transitions,review_state:this.get_review_state_by_id(this.state.review_state),lock_buttons:this.state.lock_buttons})),n().createElement("div",{className:"col-sm-1 text-right"},n().createElement(A,{loading:this.state.loading})),n().createElement("div",{className:"col-sm-3 text-right"},n().createElement(Z,{id:"pagination",className:"pagination-controls",total:this.state.total,show_more_button_title:_t("Show more"),onShowMore:this.showMore,show_more:this.state.show_more,count:o,pagesize:this.state.pagesize,export_button_title:_t("Export"),show_export:this.state.show_export,onExport:this.export})))))}}],r&&zi(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component)})()})(); \ No newline at end of file +(()=>{"use strict";var e={471:e=>{e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(o=n;0!=o--;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var s=i[o];if(!e(t[s],r[s]))return!1}return!0}return t!=t&&r!=r}},426:(e,t,r)=>{var n=r(363),o=Symbol.for("react.element"),i=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),s=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,r){var n,c={},l=null,u=null;for(n in void 0!==r&&(l=""+r),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,n)&&!a.hasOwnProperty(n)&&(c[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===c[n]&&(c[n]=t[n]);return{$$typeof:o,type:e,key:l,ref:u,props:c,_owner:s.current}}},246:(e,t,r)=>{e.exports=r(426)},363:e=>{e.exports=React},311:e=>{e.exports=jQuery}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={};r.r(e),r.d(e,{FILE:()=>Ko,HTML:()=>Go,TEXT:()=>Xo,URL:()=>Yo});var t=r(363),n=r.n(t);const o=ReactDOM;var i=r.n(o);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return r="btn btn-sm mr-1 mb-1",t=this.css_mapping[e],n=o.css_class,r+(t?" ".concat(t):null!=n?" ".concat(n):" btn-outline-secondary")}},{key:"on_ajax_save_button_click",value:function(e){if(e.preventDefault(),this.props.on_ajax_save_button_click)return this.props.on_ajax_save_button_click()}},{key:"on_transition_button_click",value:function(e){var t,r,n;if(e.preventDefault(),t=(r=e.currentTarget).getAttribute("id"),n=r.getAttribute("url"),this.props.on_transition_button_click)return this.props.on_transition_button_click(t,n)}},{key:"build_buttons",value:function(){var e,t,r,o,i,s,a,c,l,u,d,h,_,m,y;for(r=[],this.props.show_select_column&&this.props.transitions.length>0&&r.push(n().createElement("button",{key:"clear",className:"btn btn-outline-secondary btn-sm mb-1 mr-1",title:_t("Clear selection"),onClick:this.on_transition_button_click,id:"clear_selection"},n().createElement("i",{className:"fas fa-circle-notch"}))),this.props.show_ajax_save&&r.push(n().createElement("button",{key:"ajax-save",className:"btn btn-primary btn-sm mb-1 mr-1",onClick:this.on_ajax_save_button_click,title:this.props.ajax_save_button_title,id:"ajax_save_selection"},this.props.ajax_save_button_title," ",n().createElement("i",{className:"fas fa-save"}))),c=0,u=(d=this.props.transitions).length;c=0||v.call(h,l)>=0)&&(e["data-toggle"]="confirmation",e["data-title"]="".concat(_,"?"),s=this.props.review_state.confirm_messages||{},(i=_t(s[l]))&&(e["data-content"]="".concat(i))),r.push(n().createElement(f,{key:m.id,id:t,title:_,help:a,url:y,className:o,badge:this.props.selected_uids.length,onClick:this.on_transition_button_click,disabled:this.props.lock_buttons,attrs:e}));return r}},{key:"render",value:function(){return 0===this.props.selected_uids.length?null:n().createElement("div",{className:"".concat(this.props.className)},this.build_buttons())}}],r&&m(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function O(e){return O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},O(e)}function k(e,t){for(var r=0;r=this.props.total?n().createElement("div",{id:this.props.id,className:this.props.className},!this.props.show_export&&n().createElement("div",{className:"text-right"},this.props.count," / ",this.props.total),this.props.show_export&&n().createElement("div",{className:"input-group input-group-sm float-right"},n().createElement("div",{className:"input-group-prepend"},n().createElement("span",{className:"input-group-text"},this.props.count," / ",this.props.total)),n().createElement("span",{className:"input-group-append"},n().createElement("button",{className:"btn btn-outline-secondary",ref:this.export_button,disabled:0===this.props.count,onClick:this.on_export_click},n().createElement("span",null,this.props.export_button_title||"Export"))))):n().createElement("div",{id:this.props.id,className:this.props.className},n().createElement("div",{className:"input-group input-group-sm float-right"},n().createElement("div",{className:"input-group-prepend"},n().createElement("span",{className:"input-group-text"},this.props.count," / ",this.props.total)),n().createElement("input",{type:"text",size:"3",defaultValue:this.state.pagesize,onChange:this.on_pagesize_change,onKeyPress:this.on_pagesize_change,ref:this.pagesize_input,disabled:this.props.count>=this.props.total,className:"form-control"}),n().createElement("span",{className:"input-group-append"},n().createElement("button",{className:"btn btn-outline-secondary",disabled:this.props.count>=this.props.total,ref:this.show_more_button,onClick:this.on_show_more_click},n().createElement("span",null,this.props.show_more_button_title||"Show more")),this.props.show_export&&n().createElement("button",{className:"btn btn-outline-secondary",ref:this.export_button,disabled:0===this.props.count,onClick:this.on_export_click},n().createElement("span",null,this.props.export_button_title||"Export")))))}}])&&Y(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function Q(e){return Q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Q(e)}function ee(e,t){for(var r=0;r=0&&(n="ascending"===n?"descending":"ascending"),this.props.on_header_column_click(r,n)}},{key:"is_required_column",value:function(e){var t,r;return 0!==(t=this.props.folderitems||[]).length&&(r=t[0].required||[],ke.call(r,e)>=0)}},{key:"is_sortable",value:function(e,t){return!1!==e.sortable&&(!!e.index||ke.call(this.props.sortable_columns,t)>=0)}},{key:"build_cells",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m;for(t=[],this.props.item,this.props.show_select_column&&(p=this.props.show_select_all_checkbox,t.push(n().createElement("th",{className:"select-column",key:"select_all"},p&&n().createElement(fe,{name:"select_all",value:"all",checked:this.props.all_items_selected,onChange:this.props.on_select_checkbox_checked})))),this.props.allow_row_reorder&&t.push(n().createElement("th",{className:"dnd-column",key:"dnd"})),i=0,l=(u=this.props.visible_columns).length;i=0,e.push(n().createElement("li",{key:l},n().createElement("input",Ie({type:"checkbox",defaultChecked:a,uid:this.props.uid,name:this.props.name,value:l,onChange:this.props.onChange||this.on_change,column_key:this.props.column_key,title:this.props.help||this.props.title,tabIndex:this.props.tabIndex},this.props.attrs))," ",c));return e}},{key:"render",value:function(){return n().createElement("div",{className:this.props.field_css||"multichoice"},this.props.before&&n().createElement("span",{className:this.props.before_css||"before_field",dangerouslySetInnerHTML:{__html:this.props.before}}),n().createElement("ul",{className:"list-unstyled"},this.build_checkboxes()),this.props.after&&n().createElement("span",{className:this.props.after_css||"after_field",dangerouslySetInnerHTML:{__html:this.props.after}}))}}])&&Ne(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function ze(e){return ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ze(e)}function qe(){return qe=Object.assign?Object.assign.bind():function(e){for(var t=1;t]?)([-,+]?\\d*)([e,E][-,+]?\\d*|[.,,]?[0-9]+?[e,E][-,+]?\\d*|[.,,]?\\d*)(.*)"),(e=e.replace(t,"$1$2$3")).replace(",",".")}},{key:"get_field_size_for",value:function(e){var t;return(t=e.toString().length)]?)(.*)/,"$2"),!Number.isNaN(Number(t))}},{key:"render",value:function(){return n().createElement("span",{className:this.props.field_css||"form-group"},this.props.before&&n().createElement("span",{className:this.props.before_css||"before_field",dangerouslySetInnerHTML:{__html:this.props.before}}),n().createElement("input",tt({type:"text",size:this.state.size,uid:this.props.uid,name:this.props.name,value:this.state.value,column_key:this.props.column_key,title:this.props.help||this.props.title,disabled:this.props.disabled,required:this.props.required,className:this.props.className,placeholder:this.props.placeholder,onBlur:this.props.onBlur||this.on_blur,onChange:this.props.onChange||this.on_change,tabIndex:this.props.tabIndex},this.props.attrs)),this.props.after&&n().createElement("span",{className:this.props.after_css||"after_field",dangerouslySetInnerHTML:{__html:this.props.after}}))}}])&&rt(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function at(e){return at="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},at(e)}function ct(){return ct=Object.assign?Object.assign.bind():function(e){for(var t=1;t,=,\.,\/]*$/,""))&&!this.validate(r)&&(i=i.replace(r,"")),t.value=i,this.setState({value:i,size:this.get_field_size_for(i)}),this.props.update_editable_field)return this.props.update_editable_field(o,n,i,this.props.item)}},{key:"get_field_size_for",value:function(e){var t;return(t=e.toString().length),<,=]*)(.*)$/,"$2")).replace(/[\.,\/]*$/,""))||(2!==(n=r.split("/")).length?Number.isNaN(Number(r)):(o=Number(n[0]),Number.isNaN(o)||0===o||(t=Number(n[1]),Number.isNaN(t)||0===t))))}},{key:"render",value:function(){return n().createElement("span",{className:this.props.field_css||"form-group"},this.props.before&&n().createElement("span",{className:this.props.before_css||"before_field",dangerouslySetInnerHTML:{__html:this.props.before}}),n().createElement("input",At({type:"text",size:this.state.size,uid:this.props.uid,name:this.props.name,value:this.state.value,column_key:this.props.column_key,title:this.props.help||this.props.title,disabled:this.props.disabled,required:this.props.required,className:this.props.className,placeholder:this.props.placeholder,onBlur:this.props.onBlur||this.on_blur,onChange:this.props.onChange||this.on_change,tabIndex:this.props.tabIndex},this.props.attrs)),this.props.after&&n().createElement("span",{className:this.props.after_css||"after_field",dangerouslySetInnerHTML:{__html:this.props.after}}))}}])&&Mt(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function Ht(e){return Ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ht(e)}function Ut(){return Ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?r[0]:"",t.state.time_value=r.length>1?r[1]:""),t.dt_date=n().createRef(),t.dt_time=n().createRef(),t.dt_hidden=n().createRef(),t.on_change=t.on_change.bind($t(t)),t}return t=a,(r=[{key:"componentDidUpdate",value:function(e){if(this.props.defaultValue!==e.defaultValue)return this.setState({value:this.props.defaultValue})}},{key:"on_change",value:function(e){var t,r,n,o,i,s;if(t=this.dt_date.current.value,r=this.dt_time.current.value,t&&!r&&(r="00:00"),s=t&&r?"".concat(t," ").concat(r):"",this.setState({value:s,date_value:t,time_value:r}),i=(n=this.dt_hidden.current).getAttribute("uid"),o=n.getAttribute("column_key")||n.name,this.props.update_editable_field)return this.props.update_editable_field(i,o,s,this.props.item)}},{key:"render",value:function(){return n().createElement("span",{className:this.props.field_css||"form-group"},this.props.before&&n().createElement("span",{className:this.props.before_css||"before_field",dangerouslySetInnerHTML:{__html:this.props.before}}),n().createElement("div",{className:"input-group flex-nowrap d-inline-flex w-auto datetimewidget"},n().createElement("input",Ut({type:"date",ref:this.dt_date,name:"".concat(this.props.name,"-date"),title:this.props.help||this.props.title,className:this.props.className,disabled:this.props.disabled,required:this.props.required,onChange:this.props.onChange||this.on_change,tabIndex:this.props.tabIndex,value:this.state.date_value,min:this.props.min_date,max:this.props.max_date},this.props.attrs)),n().createElement("input",Ut({type:"time",ref:this.dt_time,name:"".concat(this.props.name,"-time"),className:this.props.className,title:this.props.title,disabled:this.props.disabled,required:this.props.required,onChange:this.props.onChange||this.on_change,tabIndex:this.props.tabIndex,value:this.state.time_value,min:this.props.min_time,max:this.props.max_time},this.props.attrs))),n().createElement("input",{type:"hidden",ref:this.dt_hidden,uid:this.props.uid,name:this.props.name,column_key:this.props.column_key,value:this.state.value}),this.props.after&&n().createElement("span",{className:this.props.after_css||"after_field",dangerouslySetInnerHTML:{__html:this.props.after}}))}}])&&Vt(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function Yt(e){return Yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yt(e)}function Xt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,s,a=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Gt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Gt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:{};if(r=this.get_column_key(),o=this.get_item())return r in(e=o.before)?(t=o.before_components||{},n().createElement("span",{key:r+"_before",className:"before-item"},t[r],n().createElement("span",Jt({dangerouslySetInnerHTML:{__html:e[r]}},i)))):null}},{key:"render_after_content",value:function(){var e,t,r,o,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(r=this.get_column_key(),o=this.get_item())return r in(e=o.after)?(t=o.after_components||{},n().createElement("span",{key:r+"_after",className:"after-item"},t[r],n().createElement("span",Jt({dangerouslySetInnerHTML:{__html:e[r]}},i)))):null}},{key:"is_edit_allowed",value:function(){var e,t;return e=this.get_column_key(),t=this.get_item(),!!this.props.allow_edit&&tr.call(t.allow_edit,e)>=0}},{key:"is_disabled",value:function(){var e,t;return!0===(t=this.get_item().disabled)||!1===t?t:null!=t&&(e=this.get_column_key(),tr.call(t,e)>=0)}},{key:"is_required",value:function(){var e,t,r,n;return e=this.get_column_key(),r=this.get_item().required||[],t=tr.call(r,e)>=0,n=this.props.selected,t&&n}},{key:"get_name",value:function(){var e,t;return t=this.get_uid(),e=this.get_column_key(),"".concat(e,".").concat(t)}},{key:"get_uid",value:function(){return this.get_item().uid}},{key:"is_selected",value:function(){var e;return e=this.get_item().uid,tr.call(this.props.selected_uids,e)>=0}},{key:"get_value",value:function(){var e,t,r;return e=this.get_column_key(),r=this.get_item()[e],(t=this.get_interimfields()).hasOwnProperty(e)&&(r=t[e].value||""),null===r&&(r=""),r}},{key:"get_size",value:function(){var e,t,r,n,o,i,s;return s={string:30},n=this.get_item(),t=this.get_column_key(),this.is_interimfield()&&(r=n[t])&&r.hasOwnProperty("size")?r.size:t in(o=n.size||{})?o[t]:"size"in(e=this.props.column||{})?e.size:(i=this.get_type())in s?s[i]:5}},{key:"get_interimfields",value:function(){var e,t;return e=this.get_item().interimfields||[],t={},e.map((function(e,r){return t[e.keyword]=e})),t}},{key:"is_interimfield",value:function(){var e;return e=this.get_column_key(),this.get_interimfields().hasOwnProperty(e)}},{key:"get_choices",value:function(){return this.get_item().choices||{}}},{key:"is_result_column",value:function(){return"Result"===this.get_column_key()}},{key:"get_formatted_value",value:function(){var e,t,r;return e=this.get_column_key(),t=(r=this.get_item()).replace[e]||this.get_value(),this.is_result_column()&&(t=r.formatted_result||t),t}},{key:"get_type",value:function(){var e,t,r,n,o,i,s;return t=this.get_column_key(),i=this.get_item(),n=this.is_edit_allowed(),s=this.is_result_column(),n?s&&i.calculation?"calculated":s&&i.result_type?i.result_type:"type"in(e=this.props.column||{})?e.type:"boolean"==typeof this.get_value()?"boolean":t in this.get_choices()?(r="select",s?i.result_type||r:this.is_interimfield()&&(o=i[t=this.get_column_key()])&&o.result_type||r):this.is_interimfield()?(r="interim",(o=i[t=this.get_column_key()])&&o.result_type||r):"numeric":"readonly"}},{key:"create_readonly_field",value:function(){var e,t,r,o,i,s=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==s&&(s={}),s.column_key||this.get_column_key(),s.item||this.get_item(),r=s.name||this.get_name(),i=s.value||this.get_value(),t=s.formatted_value||this.get_formatted_value(),o=s.uid||this.get_uid(),e=s.css_class||"readonly",n().createElement(bt,Jt({key:r,uid:o,name:r,value:i,formatted_value:t,className:e},s))}},{key:"create_calculated_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==h&&(h={}),t=h.column_key||this.get_column_key(),s=h.item||this.get_item(),a=h.name||this.get_name(),d=h.value||this.get_value(),o=h.formatted_value||this.get_formatted_value(),p=h.uid||this.get_uid(),f=h.title||this.props.column.title||t,e=h.column||this.get_column(),null==s.help&&(s.help={}),i=h.help||s.help[t]||e.help,l=h.selected||this.is_selected(),c=h.required||this.is_required(),u=h.size||this.get_size(),r=h.css_class||"form-control form-control-sm calculated",c&&(r+=" required"),n().createElement(pt,Jt({key:a,uid:p,item:s,name:a,value:d,column_key:t,title:f,help:i,formatted_value:o,placeholder:f,selected:l,required:c,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,size:u},h))}},{key:"create_hidden_field",value:function(){var e,t,r,o,i=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==i&&(i={}),e=i.column_key||this.get_column_key(),i.item||this.get_item(),t=i.name||this.get_name(),o=i.value||this.get_value(),r=i.uid||this.get_uid(),i.title||this.props.column.title,n().createElement(Re,Jt({key:t+"_hidden",uid:r,name:t,value:o,column_key:e},i))}},{key:"create_numeric_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==m&&(m={}),t=m.column_key||this.get_column_key(),c=m.item||this.get_item(),l=m.name||this.get_name(),_=m.value||this.get_value(),s=m.formatted_value||this.get_formatted_value(),h=m.uid||this.get_uid(),d=m.title||this.props.column.title||t,e=m.column||this.get_column(),null==c.help&&(c.help={}),a=m.help||c.help[t]||e.help,i=l+this.ZPUBLISHER_CONVERTER.numeric,f=m.selected||this.is_selected(),o=m.disabled||this.is_disabled(),u=m.required||this.is_required(),p=m.size||this.get_size(),r=m.css_class||"form-control form-control-sm",u&&(r+=" required"),n().createElement(st,Jt({key:l,uid:h,item:c,name:i,defaultValue:_,column_key:t,title:d,help:a,formatted_value:s,placeholder:d,selected:f,disabled:o,required:u,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:p},m))}},{key:"create_string_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==m&&(m={}),t=m.column_key||this.get_column_key(),c=m.item||this.get_item(),l=m.name||this.get_name(),_=m.value||this.get_value(),s=m.formatted_value||this.get_formatted_value(),h=m.uid||this.get_uid(),d=m.title||this.props.column.title||t,e=m.column||this.get_column(),null==c.help&&(c.help={}),a=m.help||c.help[t]||e.help,i=l+this.ZPUBLISHER_CONVERTER.string,f=m.selected||this.is_selected(),o=m.disabled||this.is_disabled(),u=m.required||this.is_required(),p=m.size||this.get_size(),r=m.css_class||"form-control form-control-sm",u&&(r+=" required"),n().createElement(Nt,Jt({key:l,uid:h,item:c,name:i,defaultValue:_,column_key:t,title:d,help:a,formatted_value:s,placeholder:d,selected:f,disabled:o,required:u,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:p},m))}},{key:"create_fraction_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==m&&(m={}),t=m.column_key||this.get_column_key(),c=m.item||this.get_item(),l=m.name||this.get_name(),_=m.value||this.get_value(),s=m.formatted_value||this.get_formatted_value(),h=m.uid||this.get_uid(),d=m.title||this.props.column.title||t,e=m.column||this.get_column(),null==c.help&&(c.help={}),a=m.help||c.help[t]||e.help,i=l+this.ZPUBLISHER_CONVERTER.fraction,f=m.selected||this.is_selected(),o=m.disabled||this.is_disabled(),u=m.required||this.is_required(),p=m.size||this.get_size(),r=m.css_class||"form-control form-control-sm",u&&(r+=" required"),n().createElement(qt,Jt({key:l,uid:h,item:c,name:i,defaultValue:_,column_key:t,title:d,help:a,formatted_value:s,placeholder:d,selected:f,disabled:o,required:u,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:p},m))}},{key:"create_datetime_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m,y,g,b,v,w,O=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;if(null==O&&(O={}),t=O.column_key||this.get_column_key(),c=O.item||this.get_item(),_=O.name||this.get_name(),w=O.value||this.get_value(),s=O.formatted_value||this.get_formatted_value(),v=O.uid||this.get_uid(),b=O.title||this.props.column.title||t,e=O.column||this.get_column(),null==c.help&&(c.help={}),a=O.help||c.help[t]||e.help,i=_+this.ZPUBLISHER_CONVERTER.string,y=O.selected||this.is_selected(),o=O.disabled||this.is_disabled(),m=O.required||this.is_required(),g=O.size||this.get_size(),r=O.css_class||"form-control form-control-sm",m&&(r+=" required"),p=e.min||null,l=e.max||null,p){var k=Xt(p.split(" "),2);d=k[0],h=k[1]}if(l){var S=Xt(l.split(" "),2);u=S[0],f=S[1]}return n().createElement(Kt,Jt({key:_,uid:v,item:c,name:i,defaultValue:w,column_key:t,title:b,help:a,formatted_value:s,placeholder:b,selected:y,disabled:o,required:m,className:r,results_type:"date",update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:g,min_date:d,max_date:u,min_time:h,max_time:f},O))}},{key:"create_select_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==m&&(m={}),t=m.column_key||this.get_column_key(),a=m.item||this.get_item(),c=m.name||this.get_name(),_=m.value||this.get_value(),m.formatted_value||this.get_formatted_value(),h=m.uid||this.get_uid(),d=m.title||this.props.column.title||t,l=m.options||a.choices[t]||[],e=m.column||this.get_column(),null==a.help&&(a.help={}),s=m.help||a.help[t]||e.help,i=c+this.ZPUBLISHER_CONVERTER.select,f=m.selected||this.is_selected(),o=m.disabled||this.is_disabled(),u=m.required||this.is_required(),p=m.size||this.get_size(),r=m.css_class||"form-control form-control-sm",u&&(r+=" required"),n().createElement(jt,Jt({key:c,uid:h,item:a,name:i,defaultValue:_,column_key:t,title:d,help:s,disabled:o,selected:f,required:u,options:l,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:p},m))}},{key:"create_multichoice_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==m&&(m={}),t=m.column_key||this.get_column_key(),a=m.item||this.get_item(),c=m.name||this.get_name(),_=m.value||this.get_value(),m.formatted_value||this.get_formatted_value(),h=m.uid||this.get_uid(),d=m.title||this.props.column.title||t,l=m.options||a.choices[t]||[],e=m.column||this.get_column(),null==a.help&&(a.help={}),s=m.help||a.help[t]||e.help,i=c+this.ZPUBLISHER_CONVERTER.multichoice,f=m.selected||this.is_selected(),o=m.disabled||this.is_disabled(),u=m.required||this.is_required(),p=m.size||this.get_size(),r=m.css_class||"form-control form-control-sm",u&&(r+=" required"),n().createElement(Be,Jt({key:c,uid:h,item:a,name:i,defaultValue:_,column_key:t,title:d,help:s,disabled:o,selected:f,required:u,options:l,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:p},m))}},{key:"create_multiselect_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_,m,y=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==y&&(y={}),t=y.column_key||this.get_column_key(),c=y.item||this.get_item(),l=y.name||this.get_name(),m=y.value||this.get_value(),y.formatted_value||this.get_formatted_value(),_=y.uid||this.get_uid(),h=y.title||this.props.column.title||t,u=c.choices[t]||[],i="multiselect_duplicates"===this.get_type(),e=y.column||this.get_column(),null==c.help&&(c.help={}),a=y.help||c.help[t]||e.help,s=l+this.ZPUBLISHER_CONVERTER.multiselect,p=y.selected||this.is_selected(),o=y.disabled||this.is_disabled(),f=y.required||this.is_required(),d=y.size||this.get_size(),r=y.css_class||"form-control form-control-sm",f&&(r+=" required"),n().createElement(We,Jt({key:l,uid:_,item:c,name:s,defaultValue:m,value:m,column_key:t,title:h,help:a,disabled:o,selected:p,required:f,options:u,duplicates:i,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:d},y))}},{key:"create_multivalue_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h,_=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==_&&(_={}),t=_.column_key||this.get_column_key(),a=_.item||this.get_item(),c=_.name||this.get_name(),h=_.value||this.get_value(),_.formatted_value||this.get_formatted_value(),d=_.uid||this.get_uid(),p=_.title||this.props.column.title||t,e=_.column||this.get_column(),null==a.help&&(a.help={}),s=_.help||a.help[t]||e.help,i=c+this.ZPUBLISHER_CONVERTER.multivalue,u=_.selected||this.is_selected(),o=_.disabled||this.is_disabled(),l=_.required||this.is_required(),f=_.size||this.get_size(),r=_.css_class||"form-control form-control-sm",l&&(r+=" required"),n().createElement(Qe,Jt({key:c,uid:d,item:a,name:i,defaultValue:h,value:h,column_key:t,title:p,help:s,disabled:o,selected:u,required:l,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:f},_))}},{key:"create_checkbox_field",value:function(){var e,t,r,o,i,s,a,c,l,u,f,p,d,h=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;return null==h&&(h={}),t=h.column_key||this.get_column_key(),a=h.item||this.get_item(),c=h.name||this.get_name(),d=h.value||this.get_value(),h.formatted_value||this.get_formatted_value(),p=h.uid||this.get_uid(),f=h.title||this.props.column.title||t,a.choices[t],e=h.column||this.get_column(),null==a.help&&(a.help={}),s=h.help||a.help[t]||e.help,i=c+this.ZPUBLISHER_CONVERTER.boolean,h.selected||this.is_selected(),o=h.disabled||this.is_disabled(),l=h.required||this.is_required(),u=h.size||this.get_size(),r=h.css_class||"checkbox",l&&(r+=" required"),n().createElement(fe,Jt({key:c,uid:p,item:a,name:i,value:"on",column_key:t,title:f,help:s,defaultChecked:d,disabled:o,className:r,update_editable_field:this.props.update_editable_field,save_editable_field:this.props.save_editable_field,tabIndex:this.props.tabIndex,size:u},h))}},{key:"render_content",value:function(){var e,t;return this.get_column_key(),this.get_item()?(this.get_uid(),e=[],e="readonly"===(t=this.get_type())?e.concat(this.create_readonly_field()):"calculated"===t?e.concat(this.create_calculated_field()):"select"===t||"choices"===t?e.concat(this.create_select_field()):"multichoice"===t?e.concat(this.create_multichoice_field()):"multiselect"===t||"multiselect_duplicates"===t?e.concat(this.create_multiselect_field()):"multivalue"===t?e.concat(this.create_multivalue_field()):"boolean"===t?e.concat(this.create_checkbox_field()):"numeric"===t?e.concat(this.create_numeric_field()):"string"===t?e.concat(this.create_string_field()):"datetime"===t?e.concat(this.create_datetime_field()):"fraction"===t?e.concat(this.create_fraction_field()):e.concat(this.create_numeric_field())):null}},{key:"render",value:function(){return n().createElement("td",{className:this.props.className,colSpan:this.props.colspan,rowSpan:this.props.rowspan},n().createElement("div",{className:"form-group"},this.render_before_content(),this.render_content(),this.render_after_content()))}}],r&&Zt(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function nr(e){return nr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nr(e)}function or(){return or=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0}},{key:"get_column_title",value:function(){var e;return e=this.props.columns[this.props.column_key].title||"Remarks","function"==typeof _&&(e=_(e)),e}},{key:"get_style",value:function(){var e;return e=this.props.uid,{display:lr.call(this.props.expanded_remarks,e)>=0||this.props.value.length>0?"block":"none"}}},{key:"render_remarks_field",value:function(){var e,t,r;return r=this.props.uid,e=this.props.column_key,t="".concat(e,".").concat(r,":records"),this.can_edit()?n().createElement("textarea",or({className:"remarksfield form-control",uid:r,column_key:e,style:{width:"100%"},rows:this.props.rows||2,name:t,onBlur:this.props.onBlur||this.on_blur,onChange:this.props.onChange||this.on_change,value:this.state.value,tabIndex:this.props.tabIndex},this.props.attrs)):n().createElement("span",{className:"remarksfield",dangerouslySetInnerHTML:{__html:this.state.value}})}},{key:"render",value:function(){return this.props.uid?n().createElement("div",{style:this.get_style(),className:this.props.field_css||"remarks text-muted"},this.props.before&&n().createElement("span",{className:this.props.before_css||"before_field",dangerouslySetInnerHTML:{__html:this.props.before}}),n().createElement("div",{className:"text-info"},n().createElement("i",{className:"fas fa-hand-point-right"})," ",this.get_column_title(),":"),this.render_remarks_field(),this.props.after&&n().createElement("span",{className:this.props.after_css||"after_field",dangerouslySetInnerHTML:{__html:this.props.after}})):null}}])&&ir(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function fr(e){return fr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fr(e)}function pr(){return pr=Object.assign?Object.assign.bind():function(e){for(var t=1;t0}},{key:"get_uid",value:function(){var e;return(e=this.get_item())?e.uid:null}},{key:"get_resultfield_title",value:function(){return this.props.columns.Result.title||window._t("Result")}},{key:"get_column_key",value:function(){return this.props.item.item_key||this.props.item.column_key}},{key:"is_header_slot",value:function(){var e,t;return!!(e=this.get_item())&&!e.uid&&!!(null!=e&&null!=(t=e.replace)?t.Pos:void 0)}},{key:"is_assigned_slot",value:function(){var e;return!!(e=this.get_item())&&!!e.uid}},{key:"is_unassigned_slot",value:function(){return!this.is_assigned_slot()}},{key:"is_loading",value:function(e){return(this.props.loading_uids||[]).indexOf(e)>-1}},{key:"get_css",value:function(){var e,t,r;return t=this.get_item(),e=["transposed",this.props.className],this.is_result_column()&&e.push("result"),t?(e.push(t.state_class),r=t.uid,yr.call(this.props.selected_uids,r)>=0&&e.push("info")):e.push("empty"),e.join(" ")}},{key:"get_remarks_columns",value:function(){var e,t,r;for(t in e=[],r=this.props.columns)"remarks"===r[t].type&&e.push(t);return e}},{key:"render_select_checkbox",value:function(){var e,t,r,o,i,s,a=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;if(null==a&&(a={}),s=this.get_uid(),(t=this.get_item())&&s)return o="".concat(this.props.select_checkbox_name,":list"),e=this.is_disabled(),i=this.is_selected(),r=this.is_loading(s),[n().createElement("div",{key:"select",className:"checkbox d-flex d-flex-row align-items-center flex-nowrap"},!r&&n().createElement(fe,pr({name:o,value:s,disabled:e,checked:i,onChange:this.props.on_select_checkbox_checked},a)),r&&n().createElement("span",{className:"spinner-border spinner-border-sm mr-2",role:"status","aria-hidden":"true"}),n().createElement("div",{className:"badge badge-secondary"},t.Pos),n().createElement("div",{className:"ml-2 small text-secondary"},t.Service))]}},{key:"render_interims",value:function(){var e,t,r,n,o,i,s,a,c,l,u,f,p,d=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).props;if(null==d&&(d={}),e=[],f=this.get_uid(),i=this.get_item()){for(r=t=0,a=(o=i.interimfields||[]).length;t".concat(l,""),after:"".concat(p,"")},this.is_edit_allowed()?(d.className="form-control form-control-sm interim",e="select"===(u=n.result_type)||"choices"===u?e.concat(this.create_select_field({props:d})):"multichoice"===u?e.concat(this.create_multichoice_field({props:d})):"multiselect"===u||"multiselect_duplicates"===u?e.concat(this.create_multiselect_field({props:d})):"multivalue"===u?e.concat(this.create_multivalue_field({props:d})):"boolean"===u?e.concat(this.create_checkbox_field({props:d})):"numeric"===u?e.concat(this.create_numeric_field({props:d})):"string"===u?e.concat(this.create_string_field({props:d})):"datetime"===u?e.concat(this.create_datetime_field({props:d})):"fraction"===u?e.concat(this.create_fraction_field({props:d})):e.concat(this.create_numeric_field({props:d}))):(d.className="readonly interim",e=e.concat(this.create_readonly_field({props:d}))));return e}}},{key:"render_remarks_toggle",value:function(){var e,t;if(e=[],t=this.get_uid(),this.get_item())return this.get_remarks_columns().length>0&&(e=e.concat(n().createElement("a",{key:t+"_remarks",href:"#",className:"transposed_remarks",uid:t,onClick:this.props.on_remarks_expand_click},n().createElement("i",{className:"remarksicon fas fa-comment"})))),e}},{key:"render_remarks",value:function(){var e,t,r,o,i,s,a,c;if(r=[],t=this.get_column_key(),c=this.get_uid(),i=this.get_item()){for(e=o=0,s=(a=this.get_remarks_columns()).length;o=0}},{key:"show_select",value:function(){var e;return"boolean"==typeof(e=this.get_item()).show_select?e.show_select:this.props.show_select_column}},{key:"is_transposed",value:function(e){return"transposed"===this.get_column(e).type}},{key:"get_transposed_items",value:function(){var e;return((e=this.get_item()).transposed_keys||[]).map((function(t){return e[t]}))}},{key:"has_transposed_items",value:function(){return this.get_transposed_items().length>0}},{key:"is_transposed_item",value:function(){return this.get_item().hasOwnProperty("transposed_keys")}},{key:"is_loading",value:function(e){return(this.props.loading_uids||[]).indexOf(e)>-1}},{key:"get_errors_for",value:function(e){return(this.props.errors||{})[e]||[]}},{key:"create_multi_select_cell",value:function(e){var t,r,o,i=this;return null==e&&(e=[]),e.length>0?(o=e.join(","),r=this.get_item().node_level||0,t=e.every((function(e){return i.props.selected_uids.includes(e)})),n().createElement("td",{key:o,className:"level-".concat(r)},n().createElement(fe,{value:o,tabIndex:"-1",checked:t,onChange:this.props.on_multi_select_checkbox_checked}))):this.create_placeholder_cell()}},{key:"create_select_cell",value:function(){var e,t,r,o,i,s,a;return(a=this.get_uid())?(e="".concat(this.props.select_checkbox_name,":list"),r=this.get_item(),s=this.props.remarks,o=r.node_level||0,i=this.is_loading(a),t=this.get_errors_for(a),n().createElement("td",{key:a,className:"level-".concat(o)},!i&&n().createElement(fe,{name:e,value:a,disabled:this.props.disabled,checked:this.props.selected,tabIndex:"-1",onChange:this.props.on_select_checkbox_checked}),i&&n().createElement("span",{className:"spinner-border spinner-border-sm",role:"status","aria-hidden":"true"}),t.length>0&&n().createElement("span",{className:"text-warning fas fa-exclamation-triangle",title:t.join("\n")}),s&&n().createElement("a",{uid:a,href:"#",className:"remarks",onClick:this.on_remarks_expand_click},n().createElement("span",{className:"remarksicon fas fa-comment-alt"})))):this.create_placeholder_cell()}},{key:"create_placeholder_cell",value:function(){return n().createElement("td",{className:"placeholder"})}},{key:"create_regular_cell",value:function(e,t){var r,o,i,s,a,c;return s=this.get_item(),o=this.get_column(e),r=this.get_colspan(e,s),a=this.get_rowspan(e,s),c=this.get_tab_index(e,s),i="contentcell ".concat(e),n().createElement(rr,vr({},this.props,{key:t,item:s,column_key:e,column_index:t,column:o,colspan:r,rowspan:a,className:i,tabIndex:c}))}},{key:"create_transposed_cell",value:function(e,t){var r,o,i,s,a,c;return s=this.get_item(),o=this.get_column(e),r=this.get_colspan(e,s),a=this.get_rowspan(e,s),c=this.get_tab_index(e,s),i="contentcell ".concat(e),n().createElement(gr,vr({},this.props,{key:t,item:s,column_key:e,column_index:t,column:o,colspan:r,rowspan:a,on_remarks_expand_click:this.on_remarks_expand_click,className:i,tabIndex:c}))}},{key:"create_dnd_cell",value:function(){var e,t;return e=this.get_item(),this.get_uid(),t=e.node_level||0,n().createElement("td",{ref:this.props.dragref,key:"dnd",className:"level-".concat(t," dnd")},n().createElement("i",{className:"fas fa-sort"}))}},{key:"build_cells",value:function(){var e,t,r,n,o,i,s;for(e=[],this.show_select()&&!this.is_transposed_item()?e.push(this.create_select_cell()):this.show_select()&&this.is_transposed_item()&&(s=this.get_transposed_items().map((function(e){return e.uid})),e.push(this.create_multi_select_cell(s))),this.props.allow_row_reorder&&e.push(this.create_dnd_cell()),t=n=0,o=(i=this.props.visible_columns).length;nr(e))),s=(0,t.useCallback)((()=>{const t=r(e);Pr(o,t)||(i(t),n&&n())}),[o,e,n]);return Tr(s),[o,s]}(e,r,n);return Tr((function(){const t=e.getHandlerId();if(null!=t)return e.subscribeToStateChange(i,{handlerIds:[t]})}),[e,i]),o}(r,e||(()=>({})),(()=>n.reconnect()))}function Dr(e,r){const n=[...r||[]];return null==r&&"function"!=typeof e&&n.push(e),(0,t.useMemo)((()=>"function"==typeof e?e():e),n)}function Ir(e){return(0,t.useMemo)((()=>e.hooks.dragSource()),[e])}function Nr(e){return(0,t.useMemo)((()=>e.hooks.dragPreview()),[e])}function Cr(e,t,r,n){let o=r?r.call(n,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;const i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!1;const a=Object.prototype.hasOwnProperty.bind(t);for(let s=0;s{const o=e[n];if(n.endsWith("Ref"))r[n]=e[n];else{const e=function(e){return(r=null,n=null)=>{if(!(0,t.isValidElement)(r)){const t=r;return e(t,n),t}const o=r;return function(e){if("string"==typeof e.type)return;const t=e.type.displayName||e.type.name||"the component";throw new Error(`Only native element nodes can now be passed to React DnD connectors.You can either wrap ${t} into a
, or turn it into a drag source or a drop target itself.`)}(o),function(e,r){const n=e.ref;return xr("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),n?(0,t.cloneElement)(e,{ref:e=>{Lr(n,e),Lr(r,e)}}):(0,t.cloneElement)(e,{ref:r})}(o,n?t=>e(t,n):e)}}(o);r[n]=()=>e}})),r}function Lr(e,t){"function"==typeof e?e(t):e.current=t}class Br{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){const e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){const e=this.dragSource,t=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return t&&this.disconnectDragSource(),this.handlerId?e?(t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)),t):(this.lastConnectedDragSource=e,t):t}reconnectDragPreview(e=!1){const t=this.dragPreview,r=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();r&&this.disconnectDragPreview(),this.handlerId&&(t?r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=t,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,t,this.dragPreviewOptions)):this.lastConnectedDragPreview=t)}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!Cr(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!Cr(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=Mr({dragSource:(e,t)=>{this.clearDragSource(),this.dragSourceOptions=t||null,Ar(e)?this.dragSourceRef=e:this.dragSourceNode=e,this.reconnectDragSource()},dragPreview:(e,t)=>{this.clearDragPreview(),this.dragPreviewOptions=t||null,Ar(e)?this.dragPreviewRef=e:this.dragPreviewNode=e,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}}const zr=(0,t.createContext)({dragDropManager:void 0});function qr(){const{dragDropManager:e}=(0,t.useContext)(zr);return xr(null!=e,"Expected drag drop context"),e}let Hr=!1,Ur=!1;class Vr{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){xr(!Hr,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Hr=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{Hr=!1}}isDragging(){if(!this.sourceId)return!1;xr(!Ur,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Ur=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{Ur=!1}}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,t){return this.internalMonitor.isOverTarget(e,t)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}}class Fr{beginDrag(){const e=this.spec,t=this.monitor;let r=null;return r="object"==typeof e.item?e.item:"function"==typeof e.item?e.item(t):{},null!=r?r:null}canDrag(){const e=this.spec,t=this.monitor;return"boolean"==typeof e.canDrag?e.canDrag:"function"!=typeof e.canDrag||e.canDrag(t)}isDragging(e,t){const r=this.spec,n=this.monitor,{isDragging:o}=r;return o?o(n):t===e.getSourceId()}endDrag(){const e=this.spec,t=this.monitor,r=this.connector,{end:n}=e;n&&n(t.getItem(),t),r.reconnect()}constructor(e,t,r){this.spec=e,this.monitor=t,this.connector=r}}function $r(e,r){const n=Dr(e,r);xr(!n.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const o=function(){const e=qr();return(0,t.useMemo)((()=>new Vr(e)),[e])}(),i=function(e,r){const n=qr(),o=(0,t.useMemo)((()=>new Br(n.getBackend())),[n]);return Tr((()=>(o.dragSourceOptions=e||null,o.reconnect(),()=>o.disconnectDragSource())),[o,e]),Tr((()=>(o.dragPreviewOptions=r||null,o.reconnect(),()=>o.disconnectDragPreview())),[o,r]),o}(n.options,n.previewOptions);return function(e,r,n){const o=qr(),i=function(e,r,n){const o=(0,t.useMemo)((()=>new Fr(e,r,n)),[r,n]);return(0,t.useEffect)((()=>{o.spec=e}),[e]),o}(e,r,n),s=function(e){return(0,t.useMemo)((()=>{const t=e.type;return xr(null!=t,"spec.type must be defined"),t}),[e])}(e);Tr((function(){if(null!=s){const[e,t]=function(e,t,r){const n=r.getRegistry(),o=n.addSource(e,t);return[o,()=>n.removeSource(o)]}(s,i,o);return r.receiveHandlerId(e),n.receiveHandlerId(e),t}}),[o,r,n,i,s])}(n,o,i),[Rr(n.collect,o,i),Ir(i),Nr(i)]}function Wr(e){return(0,t.useMemo)((()=>e.hooks.dropTarget()),[e])}class Kr{get connectTarget(){return this.dropTarget}reconnect(){const e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();const t=this.dropTarget;this.handlerId&&(t?e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=t,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,t,this.dropTargetOptions)):this.lastConnectedDropTarget=t)}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!Cr(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=Mr({dropTarget:(e,t)=>{this.clearDropTarget(),this.dropTargetOptions=t,Ar(e)?this.dropTargetRef=e:this.dropTargetNode=e,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}}let Yr=!1;class Xr{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}canDrop(){if(!this.targetId)return!1;xr(!Yr,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return Yr=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{Yr=!1}}isOver(e){return!!this.targetId&&this.internalMonitor.isOverTarget(this.targetId,e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}}class Gr{canDrop(){const e=this.spec,t=this.monitor;return!e.canDrop||e.canDrop(t.getItem(),t)}hover(){const e=this.spec,t=this.monitor;e.hover&&e.hover(t.getItem(),t)}drop(){const e=this.spec,t=this.monitor;if(e.drop)return e.drop(t.getItem(),t)}constructor(e,t){this.spec=e,this.monitor=t}}function Jr(e,r){const n=Dr(e,r),o=function(){const e=qr();return(0,t.useMemo)((()=>new Xr(e)),[e])}(),i=function(e){const r=qr(),n=(0,t.useMemo)((()=>new Kr(r.getBackend())),[r]);return Tr((()=>(n.dropTargetOptions=e||null,n.reconnect(),()=>n.disconnectDropTarget())),[e]),n}(n.options);return function(e,r,n){const o=qr(),i=function(e,r){const n=(0,t.useMemo)((()=>new Gr(e,r)),[r]);return(0,t.useEffect)((()=>{n.spec=e}),[e]),n}(e,r),s=function(e){const{accept:r}=e;return(0,t.useMemo)((()=>(xr(null!=e.accept,"accept must be defined"),Array.isArray(r)?r:[r])),[r])}(e);Tr((function(){const[e,t]=function(e,t,r){const n=r.getRegistry(),o=n.addTarget(e,t);return[o,()=>n.removeTarget(o)]}(s,i,o);return r.receiveHandlerId(e),n.receiveHandlerId(e),t}),[o,r,i,n,s.map((e=>e.toString())).join("|")])}(n,o,i),[Rr(n.collect,o,i),Wr(i)]}function Zr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,s,a=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Qr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Qr(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0}},{key:"is_expanded",value:function(e){var t,r;return t=this.props.expanded_rows||[],r=e.uid,vn.call(t,r)>=0}},{key:"get_children",value:function(e){var t;return t=e.uid,(this.props.children||{})[t]||[]}},{key:"is_category_expanded",value:function(e){return vn.call(this.props.expanded_categories,e)>=0}},{key:"is_category_selected",value:function(e){return vn.call(this.props.selected_categories,e)>=0}},{key:"is_item_disabled",value:function(e){return e.disabled||!1}},{key:"is_child_item",value:function(e){if(e.parent)return!0}},{key:"get_item_category",value:function(e){return e.category||null}},{key:"get_item_children",value:function(e){return e.children||[]}},{key:"has_item_children",value:function(e){return this.get_item_children(e).length>0}},{key:"get_remarks_columns",value:function(e){var t,r,n;for(r in t=[],n=this.props.columns)if("remarks"===n[r].type){if(void 0===e[r])continue;t.push(r)}return t}},{key:"get_item_uid",value:function(e){return e.uid}},{key:"get_item_css",value:function(e){var t;return t=["contentrow"],e.state_class&&(t=t.concat(e.state_class.split(" "))),this.is_selected(e)&&t.push("table-info"),this.is_child_item(e)?t.push("child"):t.push("parent"),this.has_item_children(e)&&(this.is_expanded(e)?t.push("expanded"):t.push("collapsed")),t.join(" ")}},{key:"render_categorized_rows",value:function(){var e,t,r,o,i,s,a;if(s=[],this.props.show_categories)for(r=0,o=(i=this.props.categories).length;r0&&void 0!==arguments[0]?arguments[0]:{}).props;for(b=[],null==E&&(E={}),e=E.category||null,h=p=0,m=(f=E.folderitems||this.props.folderitems).length;p0,selected:v,disabled:c,className:a,onClick:l&&this.on_row_expand_click||void 0,row_index:h}))),i=_=0,y=g.length;_0&&(t=this.build_rows({props:{category:e,folderitems:r}}),b=b.concat(t))}return b}},{key:"render",value:function(){return this.render_categorized_rows()}}],r&&mn(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component);function On(e){return On="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},On(e)}function kn(e,t){for(var r=0;r=0;n--)if(t.canDragSource(e[n])){r=e[n];break}return r}(t,s);if(null==c)return void e.dispatch(Kn);let l=null;if(o){if(!i)throw new Error("getSourceClientOffset must be defined");!function(e){xr("function"==typeof e,"When clientOffset is provided, getSourceClientOffset must be a function.")}(i),l=i(c)}e.dispatch(Wn(o,l));const u=a.getSource(c).beginDrag(s,c);if(null==u)return;!function(e){xr(zn(e),"Item must be an object.")}(u),a.pinSource(c);const f=a.getSourceType(c);return{type:Hn,payload:{itemType:f,item:u,sourceId:c,clientOffset:o||null,sourceClientOffset:l||null,isSourcePublic:!!n}}}}function Xn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Gn(e){for(var t=1;t{const s=function(e,t,r,n){const o=r.getTarget(e);let i=o?o.drop(n,e):void 0;return function(e){xr(void 0===e||zn(e),"Drop result must either be an object or undefined.")}(i),void 0===i&&(i=0===t?{}:n.getDropResult()),i}(o,i,n,r),a={type:Fn,payload:{dropResult:Gn({},t,s)}};e.dispatch(a)}))}}function Zn(e){return function(){const t=e.getMonitor(),r=e.getRegistry();!function(e){xr(e.isDragging(),"Cannot call endDrag while not dragging.")}(t);const n=t.getSourceId();return null!=n&&(r.getSource(n,!0).endDrag(t,n),r.unpinSource()),{type:$n}}}function Qn(e,t){return null===t?null===e:Array.isArray(e)?e.some((e=>e===t)):e===t}function eo(e){return function(t,{clientOffset:r}={}){!function(e){xr(Array.isArray(e),"Expected targetIds to be an array.")}(t);const n=t.slice(0),o=e.getMonitor(),i=e.getRegistry();return function(e,t,r){for(let n=e.length-1;n>=0;n--){const o=e[n];Qn(t.getTargetType(o),r)||e.splice(n,1)}}(n,i,o.getItemType()),function(e,t,r){xr(t.isDragging(),"Cannot call hover while not dragging."),xr(!t.didDrop(),"Cannot call hover after drop.");for(let t=0;t{const i=r[o];var s;return n[o]=(s=i,(...r)=>{const n=s.apply(e,r);void 0!==n&&t(n)}),n}),{})}dispatch(e){this.store.dispatch(e)}constructor(e,t){this.isSetUp=!1,this.handleRefCountChange=()=>{const e=this.store.getState().refCount>0;this.backend&&(e&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!e&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=t,e.subscribe(this.handleRefCountChange)}}function no(e,t){return{x:e.x-t.x,y:e.y-t.y}}const oo=[],io=[];oo.__IS_NONE__=!0,io.__IS_ALL__=!0;class so{subscribeToStateChange(e,t={}){const{handlerIds:r}=t;xr("function"==typeof e,"listener must be a function."),xr(void 0===r||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");let n=this.store.getState().stateId;return this.store.subscribe((()=>{const t=this.store.getState(),o=t.stateId;try{const i=o===n||o===n+1&&!function(e,t){return e!==oo&&(e===io||void 0===t||(r=e,t.filter((e=>r.indexOf(e)>-1))).length>0);var r}(t.dirtyHandlerIds,r);i||e()}finally{n=o}}))}subscribeToOffsetChange(e){xr("function"==typeof e,"listener must be a function.");let t=this.store.getState().dragOffset;return this.store.subscribe((()=>{const r=this.store.getState().dragOffset;r!==t&&(t=r,e())}))}canDragSource(e){if(!e)return!1;const t=this.registry.getSource(e);return xr(t,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()&&t.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;const t=this.registry.getTarget(e);return xr(t,`Expected to find a valid target. targetId=${e}`),!(!this.isDragging()||this.didDrop())&&(Qn(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e))}isDragging(){return Boolean(this.getItemType())}isDraggingSource(e){if(!e)return!1;const t=this.registry.getSource(e,!0);return xr(t,`Expected to find a valid source. sourceId=${e}`),!(!this.isDragging()||!this.isSourcePublic())&&(this.registry.getSourceType(e)===this.getItemType()&&t.isDragging(this,e))}isOverTarget(e,t={shallow:!1}){if(!e)return!1;const{shallow:r}=t;if(!this.isDragging())return!1;const n=this.registry.getTargetType(e),o=this.getItemType();if(o&&!Qn(n,o))return!1;const i=this.getTargetIds();if(!i.length)return!1;const s=i.indexOf(e);return r?s===i.length-1:s>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return Boolean(this.store.getState().dragOperation.isSourcePublic)}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return function(e){const{clientOffset:t,initialClientOffset:r,initialSourceClientOffset:n}=e;return t&&r&&n?no((i=n,{x:(o=t).x+i.x,y:o.y+i.y}),r):null;var o,i}(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return function(e){const{clientOffset:t,initialClientOffset:r}=e;return t&&r?no(t,r):null}(this.store.getState().dragOffset)}constructor(e,t){this.store=e,this.registry=t}}const ao="undefined"!=typeof global?global:self,co=ao.MutationObserver||ao.WebKitMutationObserver;function lo(e){return function(){const t=setTimeout(n,0),r=setInterval(n,50);function n(){clearTimeout(t),clearInterval(r),e()}}}const uo="function"==typeof co?function(e){let t=1;const r=new co(e),n=document.createTextNode("");return r.observe(n,{characterData:!0}),function(){t=-t,n.data=t}}:lo;class fo{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,t){this.onError=e,this.release=t,this.task=null}}const po=new class{enqueueTask(e){const{queue:t,requestFlush:r}=this;t.length||(r(),this.flushing=!0),t[t.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:e}=this;for(;this.indexthis.capacity){for(let t=0,r=e.length-this.index;t{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=uo(this.flush),this.requestErrorThrow=lo((()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()}))}},ho=new class{create(e){const t=this.freeTasks,r=t.length?t.pop():new fo(this.onError,(e=>t[t.length]=e));return r.task=e,r}constructor(e){this.onError=e,this.freeTasks=[]}}(po.registerPendingError),_o="dnd-core/ADD_SOURCE",mo="dnd-core/ADD_TARGET",yo="dnd-core/REMOVE_SOURCE",go="dnd-core/REMOVE_TARGET";function bo(e,t){t&&Array.isArray(e)?e.forEach((e=>bo(e,!1))):xr("string"==typeof e||"symbol"==typeof e,t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var vo;!function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"}(vo||(vo={}));let wo=0;function Oo(e){switch(e[0]){case"S":return vo.SOURCE;case"T":return vo.TARGET;default:throw new Error(`Cannot parse handler ID: ${e}`)}}function ko(e,t){const r=e.entries();let n=!1;do{const{done:e,value:[,o]}=r.next();if(o===t)return!0;n=!!e}while(!n);return!1}class So{addSource(e,t){bo(e),function(e){xr("function"==typeof e.canDrag,"Expected canDrag to be a function."),xr("function"==typeof e.beginDrag,"Expected beginDrag to be a function."),xr("function"==typeof e.endDrag,"Expected endDrag to be a function.")}(t);const r=this.addHandler(vo.SOURCE,e,t);return this.store.dispatch(function(e){return{type:_o,payload:{sourceId:e}}}(r)),r}addTarget(e,t){bo(e,!0),function(e){xr("function"==typeof e.canDrop,"Expected canDrop to be a function."),xr("function"==typeof e.hover,"Expected hover to be a function."),xr("function"==typeof e.drop,"Expected beginDrag to be a function.")}(t);const r=this.addHandler(vo.TARGET,e,t);return this.store.dispatch(function(e){return{type:mo,payload:{targetId:e}}}(r)),r}containsHandler(e){return ko(this.dragSources,e)||ko(this.dropTargets,e)}getSource(e,t=!1){return xr(this.isSourceId(e),"Expected a valid source ID."),t&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return xr(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}getSourceType(e){return xr(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}getTargetType(e){return xr(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}isSourceId(e){return Oo(e)===vo.SOURCE}isTargetId(e){return Oo(e)===vo.TARGET}removeSource(e){var t;xr(this.getSource(e),"Expected an existing source."),this.store.dispatch(function(e){return{type:yo,payload:{sourceId:e}}}(e)),t=()=>{this.dragSources.delete(e),this.types.delete(e)},po.enqueueTask(ho.create(t))}removeTarget(e){xr(this.getTarget(e),"Expected an existing target."),this.store.dispatch(function(e){return{type:go,payload:{targetId:e}}}(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){const t=this.getSource(e);xr(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}unpinSource(){xr(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,t,r){const n=function(e){const t=(wo++).toString();switch(e){case vo.SOURCE:return`S${t}`;case vo.TARGET:return`T${t}`;default:throw new Error(`Unknown Handler Role: ${e}`)}}(e);return this.types.set(n,t),e===vo.SOURCE?this.dragSources.set(n,r):e===vo.TARGET&&this.dropTargets.set(n,r),n}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}}const Eo=(e,t)=>e===t;function jo(e=oo,t){switch(t.type){case Vn:break;case _o:case mo:case go:case yo:return oo;default:return io}const{targetIds:r=[],prevTargetIds:n=[]}=t.payload,o=function(e,t){const r=new Map,n=e=>{r.set(e,r.has(e)?r.get(e)+1:1)};e.forEach(n),t.forEach(n);const o=[];return r.forEach(((e,t)=>{1===e&&o.push(t)})),o}(r,n);if(!(o.length>0)&&function(e,t,r=Eo){if(e.length!==t.length)return!1;for(let n=0;ne!==o)))});case Fn:return Do({},e,{dropResult:r.dropResult,didDrop:!0,targetIds:[]});case $n:return Do({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}var n,o}function Co(e=0,t){switch(t.type){case _o:case mo:return e+1;case yo:case go:return e-1;default:return e}}function Ao(e=0){return e+1}function Mo(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Lo(e){for(var t=1;te&&e[t]?e[t]:n||null),r))})}),dragOffset:To(e.dragOffset,t),refCount:Co(e.refCount,t),dragOperation:No(e.dragOperation,t),stateId:Ao(e.stateId)};var r,n}function zo(e,t=void 0,r={},n=!1){const o=function(e){const t="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__;return Bn(Bo,e&&t&&t({name:"dnd-core",instanceId:"dnd-core"}))}(n),i=new so(o,new So(o)),s=new ro(o,i),a=e(s,t,r);return s.receiveBackend(a),s}let qo=0;const Ho=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var Uo=(0,t.memo)((function(e){var{children:r}=e,n=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["children"]);const[o,i]=function(e){if("manager"in e)return[{dragDropManager:e.manager},!1];return[function(e,t=Vo(),r,n){const o=t;return o[Ho]||(o[Ho]={dragDropManager:zo(e,t,r,n)}),o[Ho]}(e.backend,e.context,e.options,e.debugMode),!e.context]}(n);return(0,t.useEffect)((()=>{if(i){const e=Vo();return++qo,()=>{0==--qo&&(e[Ho]=null)}}}),[]),(0,Nn.jsx)(zr.Provider,{value:o,children:r})}));function Vo(){return"undefined"!=typeof global?global:window}function Fo(e){let t=null;return()=>(null==t&&(t=e()),t)}class $o{enter(e){const t=this.entered.length;return this.entered=function(e,t){const r=new Set,n=e=>r.add(e);e.forEach(n),t.forEach(n);const o=[];return r.forEach((e=>o.push(e))),o}(this.entered.filter((t=>this.isNodeInDocument(t)&&(!t.contains||t.contains(e)))),[e]),0===t&&this.entered.length>0}leave(e){const t=this.entered.length;var r,n;return this.entered=(r=this.entered.filter(this.isNodeInDocument),n=e,r.filter((e=>e!==n))),t>0&&0===this.entered.length}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}}class Wo{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach((e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get:()=>null})}))}loadDataTransfer(e){if(e){const t={};Object.keys(this.config.exposeProperties).forEach((r=>{const n=this.config.exposeProperties[r];null!=n&&(t[r]={value:n(e,this.config.matchesTypes),configurable:!0,enumerable:!0})})),Object.defineProperties(this.item,t)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,t){return t===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}}const Ko="__NATIVE_FILE__",Yo="__NATIVE_URL__",Xo="__NATIVE_TEXT__",Go="__NATIVE_HTML__";function Jo(e,t,r){const n=t.reduce(((t,r)=>t||e.getData(r)),"");return null!=n?n:r}const Zo={[Ko]:{exposeProperties:{files:e=>Array.prototype.slice.call(e.files),items:e=>e.items,dataTransfer:e=>e},matchesTypes:["Files"]},[Go]:{exposeProperties:{html:(e,t)=>Jo(e,t,""),dataTransfer:e=>e},matchesTypes:["Html","text/html"]},[Yo]:{exposeProperties:{urls:(e,t)=>Jo(e,t,"").split("\n"),dataTransfer:e=>e},matchesTypes:["Url","text/uri-list"]},[Xo]:{exposeProperties:{text:(e,t)=>Jo(e,t,""),dataTransfer:e=>e},matchesTypes:["Text","text/plain"]}};function Qo(e){if(!e)return null;const t=Array.prototype.slice.call(e.types||[]);return Object.keys(Zo).filter((e=>{const r=Zo[e];return!!(null==r?void 0:r.matchesTypes)&&r.matchesTypes.some((e=>t.indexOf(e)>-1))}))[0]||null}const ei=Fo((()=>/firefox/i.test(navigator.userAgent))),ti=Fo((()=>Boolean(window.safari)));class ri{interpolate(e){const{xs:t,ys:r,c1s:n,c2s:o,c3s:i}=this;let s=t.length-1;if(e===t[s])return r[s];let a,c=0,l=i.length-1;for(;c<=l;){a=Math.floor(.5*(c+l));const n=t[a];if(ne))return r[a];l=a-1}}s=Math.max(0,l);const u=e-t[s],f=u*u;return r[s]+n[s]*u+o[s]*f+i[s]*u*f}constructor(e,t){const{length:r}=e,n=[];for(let e=0;ee[t]{this.sourcePreviewNodes.delete(e),this.sourcePreviewNodeOptions.delete(e)}}connectDragSource(e,t,r){this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,r);const n=t=>this.handleDragStart(t,e),o=e=>this.handleSelectStart(e);return t.setAttribute("draggable","true"),t.addEventListener("dragstart",n),t.addEventListener("selectstart",o),()=>{this.sourceNodes.delete(e),this.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",n),t.removeEventListener("selectstart",o),t.setAttribute("draggable","false")}}connectDropTarget(e,t){const r=t=>this.handleDragEnter(t,e),n=t=>this.handleDragOver(t,e),o=t=>this.handleDrop(t,e);return t.addEventListener("dragenter",r),t.addEventListener("dragover",n),t.addEventListener("drop",o),()=>{t.removeEventListener("dragenter",r),t.removeEventListener("dragover",n),t.removeEventListener("drop",o)}}addEventListeners(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return ci({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const e=this.monitor.getSourceId();return ci({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}isDraggingNativeItem(){const t=this.monitor.getItemType();return Object.keys(e).some((r=>e[r]===t))}beginDragNativeItem(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=function(e,t){const r=Zo[e];if(!r)throw new Error(`native type ${e} has no configuration`);const n=new Wo(r);return n.loadDataTransfer(t),n}(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(e){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout((()=>{var e;return null===(e=this.rootElement)||void 0===e?void 0:e.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}),1e3)}clearCurrentDragSourceNode(){var e;return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.rootElement&&(null===(e=this.window)||void 0===e||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null,!0)}handleDragStart(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}handleDragEnter(e,t){this.dragEnterTargetIds.unshift(t)}handleDragOver(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}handleDrop(e,t){this.dropTargetIds.unshift(t)}constructor(e,t,r){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=e=>{const t=this.sourceNodes.get(e);return t&&oi(t)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=e=>Boolean(e&&this.document&&this.document.body&&this.document.body.contains(e)),this.endDragIfSourceWasRemovedFromDOM=()=>{const e=this.currentDragSourceNode;null==e||this.isNodeInDocument(e)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=e=>{null===this.hoverRafId&&"undefined"!=typeof requestAnimationFrame&&(this.hoverRafId=requestAnimationFrame((()=>{this.monitor.isDragging()&&this.actions.hover(e||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null})))},this.cancelHover=()=>{null!==this.hoverRafId&&"undefined"!=typeof cancelAnimationFrame&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=e=>{if(e.defaultPrevented)return;const{dragStartSourceIds:t}=this;this.dragStartSourceIds=null;const r=ii(e);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(t||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:r});const{dataTransfer:n}=e,o=Qo(n);if(this.monitor.isDragging()){if(n&&"function"==typeof n.setDragImage){const e=this.monitor.getSourceId(),t=this.sourceNodes.get(e),o=this.sourcePreviewNodes.get(e)||t;if(o){const{anchorX:e,anchorY:i,offsetX:s,offsetY:a}=this.getCurrentSourcePreviewNodeOptions(),c=function(e,t,r,n,o){const i="IMG"===(s=t).nodeName&&(ei()||!(null===(a=document.documentElement)||void 0===a?void 0:a.contains(s)));var s,a;const c=oi(i?e:t),l={x:r.x-c.x,y:r.y-c.y},{offsetWidth:u,offsetHeight:f}=e,{anchorX:p,anchorY:d}=n,{dragPreviewWidth:h,dragPreviewHeight:_}=function(e,t,r,n){let o=e?t.width:r,i=e?t.height:n;return ti()&&e&&(i/=window.devicePixelRatio,o/=window.devicePixelRatio),{dragPreviewWidth:o,dragPreviewHeight:i}}(i,t,u,f),{offsetX:m,offsetY:y}=o,g=0===y||y;return{x:0===m||m?m:new ri([0,.5,1],[l.x,l.x/u*h,l.x+h-u]).interpolate(p),y:g?y:(()=>{let e=new ri([0,.5,1],[l.y,l.y/f*_,l.y+_-f]).interpolate(d);return ti()&&i&&(e+=(window.devicePixelRatio-1)*_),e})()}}(t,o,r,{anchorX:e,anchorY:i},{offsetX:s,offsetY:a});n.setDragImage(o,c.x,c.y)}}try{null==n||n.setData("application/json",{})}catch(e){}this.setCurrentDragSourceNode(e.target);const{captureDraggingState:t}=this.getCurrentSourcePreviewNodeOptions();t?this.actions.publishDragSource():setTimeout((()=>this.actions.publishDragSource()),0)}else if(o)this.beginDragNativeItem(o);else{if(n&&!n.types&&(e.target&&!e.target.hasAttribute||!e.target.hasAttribute("draggable")))return;e.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=e=>{var t;if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()&&(null===(t=this.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer)),!this.enterLeaveCounter.enter(e.target)||this.monitor.isDragging())return;const{dataTransfer:r}=e,n=Qo(r);n&&this.beginDragNativeItem(n,r)},this.handleTopDragEnter=e=>{const{dragEnterTargetIds:t}=this;this.dragEnterTargetIds=[],this.monitor.isDragging()&&(this.altKeyPressed=e.altKey,t.length>0&&this.actions.hover(t,{clientOffset:ii(e)}),t.some((e=>this.monitor.canDropOnTarget(e)))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=this.getCurrentDropEffect())))},this.handleTopDragOverCapture=e=>{var t;this.dragOverTargetIds=[],this.isDraggingNativeItem()&&(null===(t=this.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer))},this.handleTopDragOver=e=>{const{dragOverTargetIds:t}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer&&(e.dataTransfer.dropEffect="none"));this.altKeyPressed=e.altKey,this.lastClientOffset=ii(e),this.scheduleHover(t),(t||[]).some((e=>this.monitor.canDropOnTarget(e)))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=e=>{this.isDraggingNativeItem()&&e.preventDefault(),this.enterLeaveCounter.leave(e.target)&&(this.isDraggingNativeItem()&&setTimeout((()=>this.endDragNativeItem()),0),this.cancelHover())},this.handleTopDropCapture=e=>{var t;this.dropTargetIds=[],this.isDraggingNativeItem()?(e.preventDefault(),null===(t=this.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer)):Qo(e.dataTransfer)&&e.preventDefault(),this.enterLeaveCounter.reset()},this.handleTopDrop=e=>{const{dropTargetIds:t}=this;this.dropTargetIds=[],this.actions.hover(t,{clientOffset:ii(e)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=e=>{const t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))},this.options=new si(t,r),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new $o(this.isNodeInDocument)}}const ui=function(e,t,r){return new li(e,t,r)};function fi(e){var t,r,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t(0,t.useContext)(di),_i=e=>t.createElement(di.Provider,{...e}),mi=function(){let e=new Map;return{on(t,r){return e.has(t)?e.get(t).add(r):e.set(t,new Set([r])),this},off(t,r){return e.has(t)&&e.get(t).delete(r),this},emit(t,r){return e.has(t)&&e.get(t).forEach((e=>{e(r)})),this}}}(),yi=()=>(0,t.useRef)(new Map).current,gi=()=>{},bi=["resize","contextmenu","click","scroll","blur"],vi={show({event:e,id:t,props:r,position:n}){e.preventDefault&&e.preventDefault(),mi.emit(0).emit(t,{event:e.nativeEvent||e,props:r,position:n})},hideAll(){mi.emit(0)}};function wi(e){return"function"==typeof e}function Oi(e){return"string"==typeof e}function ki(e,r){return t.Children.map(t.Children.toArray(e).filter(Boolean),(e=>(0,t.cloneElement)(e,r)))}function Si(e,t){return wi(e)?e(t):e}function Ei(e,t){return{...e,...wi(t)?t(e):t}}var ji=({id:e,theme:r,style:n,className:i,children:s,animation:a="fade",preventDefaultOnKeydown:c=!0,disableBoundariesCheck:l=!1,onVisibilityChange:u,...f})=>{let[p,d]=(0,t.useReducer)(Ei,{x:0,y:0,visible:!1,triggerEvent:{},propsFromTrigger:null,willLeave:!1}),h=(0,t.useRef)(null),_=yi(),[m]=(0,t.useState)((()=>function(){let e,t,r,n,o=new Map,i=!1;function s(){n[e].node.focus()}function a(){return-1!==e||(c(),!1)}function c(){e+1=0&&n[e].isSubmenu){let a=Array.from(n[e].submenuRefTracker.values()),{node:c,setSubmenuPosition:l}=n[e];return o.set(c,{isRoot:r,focusedIndex:e,parentNode:t||c,items:n}),l(),c.classList.add("contexify_submenu-isOpen"),t=c,a.length>0?(e=0,n=a):i=!0,r=!1,s(),!0}return!1},closeSubmenu:l,matchKeys:function(e){!function t(r){for(let n of r)n.isSubmenu&&n.submenuRefTracker&&t(Array.from(n.submenuRefTracker.values())),n.keyMatcher&&n.keyMatcher(e)}(n)}}}())),y=(0,t.useRef)(),g=(0,t.useRef)();function b(e,t){if(h.current&&!l){let{innerWidth:r,innerHeight:n}=window,{offsetWidth:o,offsetHeight:i}=h.current;e+o>r&&(e-=e+o-r),t+i>n&&(t-=t+i-n)}return{x:e,y:t}}function v({event:e,props:t,position:r}){e.stopPropagation();let n=r||function(e){let t={x:e.clientX,y:e.clientY},r=e.changedTouches;return r&&(t.x=r[0].clientX,t.y=r[0].clientY),(!t.x||t.x<0)&&(t.x=0),(!t.y||t.y<0)&&(t.y=0),t}(e),{x:i,y:s}=b(n.x,n.y);(0,o.flushSync)((()=>{d({visible:!0,willLeave:!1,x:i,y:s,triggerEvent:e,propsFromTrigger:t})})),clearTimeout(g.current),!y.current&&wi(u)&&(u(!0),y.current=!0)}function w(e){null!=e&&(2===e.button||e.ctrlKey)&&"contextmenu"!==e.type||(a&&(Oi(a)||"exit"in a&&a.exit)?d((e=>({willLeave:e.visible}))):d((e=>({visible:!e.visible&&e.visible}))),g.current=setTimeout((()=>{wi(u)&&u(!1),y.current=!1})))}(0,t.useEffect)((()=>(mi.on(e,v).on(0,w),()=>{mi.off(e,v).off(0,w)})),[e,a,l]),(0,t.useEffect)((()=>{p.visible?m.init(_):_.clear()}),[p.visible,m,_]),(0,t.useEffect)((()=>{p.visible&&d(b(p.x,p.y))}),[p.visible]),(0,t.useEffect)((()=>{function e(e){c&&e.preventDefault()}function t(t){switch(t.key){case"Enter":case" ":m.openSubmenu()||w();break;case"Escape":w();break;case"ArrowUp":e(t),m.moveUp();break;case"ArrowDown":e(t),m.moveDown();break;case"ArrowRight":e(t),m.openSubmenu();break;case"ArrowLeft":e(t),m.closeSubmenu();break;default:m.matchKeys(t)}}if(p.visible){window.addEventListener("keydown",t);for(let e of bi)window.addEventListener(e,w)}return()=>{window.removeEventListener("keydown",t);for(let e of bi)window.removeEventListener(e,w)}}),[p.visible,m,c]);let{visible:O,triggerEvent:k,propsFromTrigger:S,x:E,y:j,willLeave:x}=p,P=pi("contexify",i,{[`contexify_theme-${r}`]:r},Oi(a)?pi({[`contexify_willEnter-${a}`]:O&&!x,[`contexify_willLeave-${a} contexify_willLeave-'disabled'`]:O&&x}):a&&"enter"in a&&"exit"in a?pi({[`contexify_willEnter-${a.enter}`]:a.enter&&O&&!x,[`contexify_willLeave-${a.exit} contexify_willLeave-'disabled'`]:a.exit&&O&&x}):null);return t.createElement(_i,{value:_},O&&t.createElement("div",{...f,className:P,onAnimationEnd:function(){p.willLeave&&p.visible&&(0,o.flushSync)((()=>d({visible:!1,willLeave:!1})))},style:{...n,left:E,top:j,opacity:1},ref:h,role:"menu"},ki(s,{propsFromTrigger:S,triggerEvent:k})))},xi=({id:e,children:r,className:n,style:o,triggerEvent:i,data:s,propsFromTrigger:a,keyMatcher:c,onClick:l=gi,disabled:u=!1,hidden:f=!1,closeOnClick:p=!0,handlerEvent:d="onClick",...h})=>{let _=(0,t.useRef)(),m=hi(),y={id:e,data:s,triggerEvent:i,props:a},g=Si(u,y);function b(){let e=_.current;e.focus(),e.addEventListener("animationend",(()=>setTimeout(vi.hideAll)),{once:!0}),e.classList.add("contexify_item-feedback"),l(y)}return Si(f,y)?null:t.createElement("div",{...h,[d]:function(e){y.event=e,e.stopPropagation(),g||(p?b():l(y))},className:pi("contexify_item",n,{"contexify_item-disabled":g}),style:o,onKeyDown:function(e){("Enter"===e.key||" "===e.key)&&(e.stopPropagation(),y.event=e,b())},ref:function(e){e&&!g&&(_.current=e,m.set(e,{node:e,isSubmenu:!1,keyMatcher:!g&&wi(c)&&(e=>{c(e)&&(e.stopPropagation(),e.preventDefault(),y.event=e,b())})}))},tabIndex:-1,role:"menuitem","aria-disabled":g},t.createElement("div",{className:"contexify_itemContent"},r))},Pi=({triggerEvent:e,data:r,propsFromTrigger:n,hidden:o=!1})=>Si(o,{data:r,triggerEvent:e,props:n})?null:t.createElement("div",{className:"contexify_separator"}),Ti=()=>t.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t.createElement("polyline",{points:"9 18 15 12 9 6"})),Ri=({className:e,...r})=>t.createElement("div",{className:pi("contexify_rightSlot",e),...r}),Di=({arrow:e,children:r,disabled:n=!1,hidden:o=!1,label:i,className:s,triggerEvent:a,propsFromTrigger:c,style:l,...u})=>{let f=hi(),p=yi(),d=(0,t.useRef)(null),h={triggerEvent:a,props:c},_=Si(n,h);function m(){let e=d.current;if(e){let t="contexify_submenu-bottom",r="contexify_submenu-right";e.classList.remove(t,r);let n=e.getBoundingClientRect();n.right>window.innerWidth&&e.classList.add(r),n.bottom>window.innerHeight&&e.classList.add(t)}}if(Si(o,h))return null;let y=pi("contexify_item",s,{"contexify_item-disabled":_});return t.createElement(_i,{value:p},t.createElement("div",{...u,className:y,ref:function(e){e&&!_&&f.set(e,{node:e,isSubmenu:!0,submenuRefTracker:p,setSubmenuPosition:m})},tabIndex:-1,role:"menuitem","aria-haspopup":!0,"aria-disabled":_,onMouseEnter:m,onTouchStart:m},t.createElement("div",{className:"contexify_itemContent",onClick:e=>e.stopPropagation()},i,t.createElement(Ri,null,e||t.createElement(Ti,null))),t.createElement("div",{className:"contexify contexify_submenu",ref:d,style:l},ki(r,{propsFromTrigger:c,triggerEvent:a}))))},Ii=r(311);function Ni(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Ci(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ci(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){a=!0,i=e},f:function(){try{s||null==r.return||r.return()}finally{if(a)throw i}}}}function Ci(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&React.createElement("span",{className:"badge badge-secondary mr-1"},i),t)]).push(React.createElement(Pi,{key:"separator_below_title"}));var s,a=r.menu.transitions||[],c=Ni(a);try{for(c.s();!(s=c.n()).done;){var l=s.value;e.push(React.createElement(xi,{key:l.id,closeOnClick:!1,data:l,onClick:o},window._t(l.title)))}}catch(e){c.e(e)}finally{c.f()}a.length>0&&e.push(React.createElement(Pi,{key:"separator_below_transitions"}));var u,f=r.menu.actions||[],p=Ni(f);try{for(p.s();!(u=p.n()).done;){var d=u.value;e.push(React.createElement(xi,{key:d.id,data:d,onClick:o},window._t(d.title)))}}catch(e){p.e(e)}finally{p.f()}f.length>0&&e.push(React.createElement(Pi,{key:"separator_below_actions"}));var h,_=[],m=Ni(r.menu.configurations||[]);try{for(m.s();!(h=m.n()).done;){var y=h.value;_.push(React.createElement(xi,{key:y.id,data:y,onClick:o},window._t(y.title)))}}catch(e){m.e(e)}finally{m.f()}return _.length>0&&e.push(React.createElement(Di,{key:"configuration_submenu",label:window._t("Configuration")},_)),e}())};var Li=r(311);function Bi(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:"senaite")?window._p(e):window._t(e)}},{key:"dismissMessage",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.setState({messages:[]}):((e=[].concat(this.state.messages)).splice(t,1),this.setState({messages:e})),!0}},{key:"addMessage",value:function(e,t,r){var n,o,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"info";return"object"===zi(e)&&(e=(o=Object.assign(e)).title,t=o.text,r=o.traceback,i=o.level),(n=[].concat(this.state.messages)).push({title:e,text:t,traceback:r,level:i}),this.setState({messages:n}),!0}},{key:"getRequestOptions",value:function(){return{review_state:this.state.review_state,filter:this.state.filter,sort_on:this.state.sort_on,sort_order:this.state.sort_order,pagesize:this.state.pagesize,limit_from:this.state.limit_from,selected_uids:this.state.selected_uids}}},{key:"componentDidMount",value:function(){return window.addEventListener("popstate",this.on_popstate,!1),this.fetch_folderitems()}},{key:"componentWillUnmount",value:function(){return window.removeEventListener("popstate",this.on_popstate,!1)}},{key:"componentDidUpdate",value:function(e,t,r){}},{key:"toggleUIDLoading",value:function(e,t){var r,n;return!!e&&(r=(n=this.state.loading_uids).indexOf(e),null==t&&(t=-1===r),r>-1?t||n.splice(r,1):t&&n.push(e),this.setState({loading_uids:n}))}},{key:"setErrors",value:function(e,t){var r,n,o;return(null!=e||null!=t)&&(null==t&&(t=""),null==e?(o=_t("Oops, an error occured! 🙈"),this.addMessage(o,t,null,"danger")):(n=(r=this.state.errors)[e]||[],t.length>0&&n.indexOf(t)<0&&(n=n.concat(t)),r[e]=n,this.setState({errors:r})))}},{key:"flushErrors",value:function(e){var t;return t=this.state.errors,null==e?(t={},this.dismissMessage()):t[e]=[],this.setState({errors:t})}},{key:"toggleCategory",value:function(e){var t,r;return(r=(t=this.state.expanded_categories).indexOf(e))>-1?t.splice(r,1):t.push(e),this.setState({expanded_categories:t}),t.length>0}},{key:"selectCategory",value:function(e){var t;return(t=new Set(this.state.selected_categories)).has(e)?t.delete(e):t.add(e),this.setState({selected_categories:Array.from(t)}),t.has(e)}},{key:"toggleRemarks",value:function(e){var t,r;return!!e&&((r=(t=this.state.expanded_remarks).indexOf(e))>-1?t.splice(r,1):t.push(e),this.setState({expanded_remarks:t}),t.length>0)}},{key:"toggleRow",value:function(e){var t,r,n;return!!e&&((r=(t=this.state.expanded_rows).indexOf(e))>-1?t.splice(r,1):t.push(e),n=this,e in this.state.children?this.setState({expanded_rows:t}):this.fetch_children({parent_uid:e}).then((function(r){var o,i,s,a,c;for(i=n.state.children,a=r.children||[],i[e]=a,s=0,c=a.length;s0)}},{key:"toggleColumn",value:function(e){var t,r,n,o;if("reset"===e)return this.setState({columns:this.get_default_columns()}),this.set_local_column_config([]),!0;for(e in void 0===(o=(n=this.state.columns)[e].toggle)&&(o=!0),n[e].toggle=!o,r=[],n)t=n[e],r.push({key:e,toggle:t.toggle});return this.set_local_column_config(r),this.setState({columns:n}),o}},{key:"handleRowMenuAction",value:function(e,t,r){var n;return n=this.get_uids_from([r]),this.state.selected_uids.length>0&&(n=[].concat(this.state.selected_uids)),this.doAction(e,t,n)}},{key:"showRowMenu",value:function(e,t){var r,n,o,i,s=this;return e.preventDefault(),i={id:this.row_context_menu_id},n={show(e){vi.show({...i,...e})},hideAll(){vi.hideAll()}},[],o=this.state.selected_uids.length>0?this.state.selected_uids:this.get_uids_from([t]),r=this.get_folderitems().filter((function(e){var t;return t=e.uid,Wi.call(o,t)>=0})),this.fetch_transitions(o,!1).then((function(o){var i,a,c;return c=[],s.state.show_ajax_save&&c.unshift({id:"save",title:"Save"}),c=c.concat(o.transitions),i=[],s.state.fetch_transitions_on_select?i.push({id:"toggle_auto_fetch_transitions",title:"Disable auto fetch transitions"}):i.push({id:"toggle_auto_fetch_transitions",title:"Enable auto fetch transitions"}),i.push({id:"reset_columns",title:"Reset columns"}),a={row_context_menu:{folderitems:r,transitions:c,actions:[{id:"all",title:"Select all"},{id:"clear_selection",title:"Deselect all"},{id:"fetch_transitions",title:"Fetch Transitions"},{id:"reload",title:"Reload"}],configurations:i}},s.state.fetch_transitions_on_select||(a.transitions=[]),s.setState(a,(function(){return n.show({event:e,props:{item:t}})}))}))}},{key:"moveRow",value:function(e,t){var r,n,o;return n=this.state.folderitems[e],o=(r=[].concat(this.state.folderitems)).splice(t,1,n),r.splice(e,1,o[0]),this.setState({folderitems:r})}},{key:"setColumnsOrder",value:function(e){var t,r,n,o,i,s,a,c;for(a={},r=[],(i=Object.keys(this.state.columns)).sort((function(t,r){return e.indexOf(t)-e.indexOf(r)})),n=0,s=i.length;n0?n.map((function(e,t){return e.key})):(e=this.get_allowed_column_keys()).concat(t.filter((function(t){return-1===e.indexOf(t)}))),r}},{key:"get_columns_visibility",value:function(){var e,t,r,n,o,i,s;if(s={},n=this.get_local_column_config(),this.state.show_column_toggles&&n.length>0)for(e=0,r=n.length;e0&&void 0!==arguments[0]?arguments[0]:"default";return e=this.get_review_state_by_id(t).listing_config||{},this.set_state(Object.assign({review_state:t,pagesize:this.pagesize,limit_from:0},e)),!0}},{key:"filterBySearchterm",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.set_state({filter:e,pagesize:this.pagesize,limit_from:0}),!0}},{key:"sortBy",value:function(e,t){return this.set_state({sort_on:e,sort_order:t,pagesize:this.get_item_count(),limit_from:0}),!0}},{key:"showMore",value:function(e){var t,r;return t=this.state.folderitems,r=this,this.setState({pagesize:parseInt(e),limit_from:this.state.folderitems.length,loading:!0},(function(){return r.api.fetch_folderitems(r.getRequestOptions()).then((function(e){var n;if(r.toggle_loader(!1),e.folderitems.length>0)return n=t.concat(e.folderitems),r.setState({folderitems:n})}))})),!0}},{key:"export",value:function(){var e,t,r,n,o,i,s,a,c,l;return r=this.get_columns_order(),n=this.get_columns_visibility(),r=function(){var t,o,i;for(i=[],t=0,o=r.length;t=0){for(p=[],a=0,l=(u=this.get_folderitems()).length;a=0&&p.push(c.uid);return this.ajax_do_transition_for(p,n)}return i=document.getElementById(this.state.form_id),document.querySelectorAll("input[name='workflow_action_id']",i).forEach((function(e){return e.remove()})),document.querySelectorAll("input[name='form_id']",i).forEach((function(e){return e.remove()})),r.forEach((function(e){return document.querySelector("input[value='".concat(e,"']")).checked=!0})),o=this.create_input_element("hidden",e,"workflow_action_id",n),i.appendChild(o),s=this.create_input_element("hidden","form_id","form_id",this.state.form_id),i.appendChild(s),t&&(i.action=t),i.submit()}this.loadModal(t,r)}},{key:"ajax_do_transition_for",value:function(e,t){var r,n,o=this;return this.setState({lock_buttons:!0}),n=e.length,r="",this.saveAjaxQueue().then((function(i){var s;return s=Promise.resolve(),e.forEach((function(e,i){return o.flushErrors(e),s=s.then((function(){return o.toggleUIDLoading(e,!0),o.api.do_action_for({uids:[e],transition:t}).then((function(s){var a,c,l,u,f;return(u=s.errors[e])&&o.setErrors(e,u),r=o.api.combine_urls(r,s.redirects[e]),c=s.folderitems||[],o.update_existing_folderitems_with(c),o.toggleUIDLoading(e,!1),a=i+1,f=t.charAt(0).toUpperCase()+t.slice(1),l="".concat(window._t(f),": ").concat(a,"/").concat(n),o.set_progress(a,n,l)}))}))})),s.then((function(){return o.reset_progress(),r?window.location.href=r:(o.state.fetch_transitions_on_select&&o.fetch_transitions(),o.setState({lock_buttons:!1}),o.api.fetch_listing_config().then((function(r){return o.trigger_event("listing:after_transition_event",{uids:e,transition:t,config:r,folderitems:o.state.folderitems})})))}))}))}},{key:"trigger_event",value:function(e,t,r){var n;return null==r&&(r=document.body),n=new CustomEvent(e,{detail:t,bubbles:!0}),r.dispatchEvent(n)}},{key:"parse_json",value:function(e,t){try{return JSON.parse(e)}catch(e){return t}}},{key:"create_input_element",value:function(e,t,r,n){var o;return(o=document.createElement("input")).setAttribute("type",e),o.setAttribute("id",t),o.setAttribute("name",r),o.setAttribute("value",n),o}},{key:"get_folderitems",value:function(e){var t,r,n,o,i,s,a,c;for(n=[],null==e&&(e=this.state.folderitems),r=0,i=e.length;r0)for(a=0,l=(p=this.state.categories).length;ad?h.slice(d,i+1):h.slice(i,d),u=function(e){var t;return t=e.uid,Wi.call(f,t)>=0},this.selectItems(null,u,r)}},{key:"saveAjaxQueue",value:function(){return 0===Object.keys(this.state.ajax_save_queue).length?new Promise((function(e,t){return e()})):this.ajax_save()}},{key:"saveEditableField",value:function(e,t,r,n){var o,i,s,a;return!(Wi.call(n.allow_edit,t)<0||((i=this.state.columns[t]||{}).ajax&&(a=this,null==(o=this.state.ajax_save_queue)[e]&&(o[e]={}),o[e][t]=r,this.setState({show_ajax_save:!0,ajax_save_queue:o,refetch:i.refetch||!1},(function(){if(i.autosave)return a.ajax_save()}))),(s=i.on_change)&&this.ajax_on_change(s,{uid:e,name:t,value:r,item:n}),0))}},{key:"updateEditableField",value:function(e,t,r,n){var o;return this.saveEditableField(e,t,r,n),o=this,this.is_uid_selected(e)||(o=this,this.selectUID(e,!0).then((function(){if(o.state.fetch_transitions_on_select)return o.fetch_transitions()}))),!0}},{key:"is_uid_selected",value:function(e){return Wi.call(this.state.selected_uids,e)>=0}},{key:"all_items_selected",value:function(){var e,t,r,n,o;for(e=0,r=(n=this.get_folderitems()).length;e2&&void 0!==arguments[2]?arguments[2]:null;return e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)*100,Number.isNaN(e)&&(e=null),this.setState({progress:e,progress_label:t})}},{key:"reset_progress",value:function(){return this.setState({progress:null,progress_label:null})}},{key:"toggle_loader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.setState({loading:e}),e}},{key:"set_state",value:function(e){var t,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t=this,this.setState(e,(function(){if(r)return t.fetch_folderitems()})),!0}},{key:"fetch_transitions",value:function(e){var t,r,n,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(null==e&&(e=this.state.selected_uids),0!==e.length)return o&&this.toggle_loader(!0),(r=this.getRequestOptions()).selected_uids=e,this.update_location_hash(r),n=this.api.fetch_transitions(r),t=this,n.then((function(e){return t.setState(e,(function(){if(o)return t.toggle_loader(!1)}))})),n;this.setState({transitions:[]})}},{key:"fetch_folderitems",value:function(){var e,t,r,n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.toggle_loader(!0),t=this.getRequestOptions(),this.update_location_hash(t),r=this.api.fetch_folderitems(t),e=this,r.then((function(t){var r,o,i,s,a,c,l,u,f,p,d,h,_;for(o=e.group_by_uid(e.state.folderitems),f=e.group_by_uid(t.folderitems),u=t.categories||[],h=t.selected_uids||[],d=new Set(e.state.selected_uids),s=0,c=(p=e.state.selected_uids).length;s0&&void 0!==arguments[0]?arguments[0]:{},o=n.parent_uid,i=n.child_uids;return this.toggle_loader(!0),i||(i=[],o in(e=this.group_by_uid())&&(i=e[o].children||[])),r=this.api.fetch_children({parent_uid:o,child_uids:i}),t=this,r.then((function(e){return t.toggle_loader(!1)})),r}},{key:"render_toolbar_top",value:function(){return!!this.state.show_more||!!this.state.show_search||this.state.review_states.length>1}},{key:"ajax_save",value:function(){var e,t,r,n,o,i,s,a,c=this;for(s=[],t=0,n=(i=this.get_folderitems()).length;t-1})),this.selectItems(r,null,t.checked).then((function(){if(n.state.fetch_transitions_on_select)return n.fetch_transitions()}))}},{key:"on_category_click",value:function(e){var t;return t=e.currentTarget.getAttribute("category"),this.toggleCategory(t)}},{key:"on_category_select",value:function(e){var t,r,n,o,i;return n=this,r=e.currentTarget,t=r.getAttribute("category"),o=function(e){return e.category===t},i=this.selectCategory(t),this.selectItems(null,o,i).then((function(){if(n.state.fetch_transitions_on_select)return n.fetch_transitions()}))}},{key:"on_api_error",value:function(e){var t,r,n=this;return this.toggle_loader(!1),r=_t("Oops, an error occurred! 🙈"),e instanceof Error?(t=e.message,this.addMessage(r,t,null,"danger")):e.text?e.text().then((function(o){return t=_t("The server responded with the status ".concat(e.status,": ").concat(e.statusText)),n.addMessage(r,t,null,"danger")})):(t=_t("An unkown error occurred: "+e),this.addMessage(r,t,null,"danger")),e}},{key:"on_reload",value:function(e){return this.fetch_folderitems()}},{key:"on_popstate",value:function(e){var t,r,n,o,i,s,a,c;for(t in o=this.api.parse_hash(location.hash)){var l=(a=o[t].split("="),c=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,s,a=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}(a,c)||function(e,t){if(e){if("string"==typeof e)return Bi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Bi(e,t):void 0}}(a,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());r=l[0],s=l[1],r.startsWith(this.form_id)&&(n=r.replace("".concat(this.form_id,"_"),""))in this.state&&("pagesize"===n&&(s=parseInt(s)),s!==this.state[n]&&(this.state[n]=s,i=!0))}if(i)return this.fetch_folderitems()}},{key:"on_row_order_change",value:function(){var e;return e=new CustomEvent("listing:row_order_change",{detail:{folderitems:this.state.folderitems},bubbles:!0,cancelable:!0,composed:!1}),this.root_el.dispatchEvent(e)}},{key:"render",value:function(){var e,t,r,o,i,s;return e=this.get_columns(),r=this.get_columns_order(),t=this.get_columns_count(),s=this.get_visible_columns(),o=this.get_item_count(),i=this.render_toolbar_top(),n().createElement(Uo,{backend:ui},n().createElement("div",{className:"listing-container"},n().createElement(W,{className:"modal fade",id:"modal_".concat(this.form_id)}),n().createElement(H,{on_dismiss_message:this.dismissMessage,id:"messages",className:"messages",messages:this.state.messages}),this.state.loading&&n().createElement("div",{id:"table-overlay"}),!i&&this.state.loading&&n().createElement(A,{loading:this.state.loading}),i&&n().createElement("div",{className:"row top-toolbar"},n().createElement("div",{className:"col-sm-8"},n().createElement(x,{className:"filterbar nav nav-pills",on_filter_button_clicked:this.filterByState,review_state:this.state.review_state,review_states:this.state.review_states})),n().createElement("div",{className:"col-sm-1 text-right"},n().createElement(A,{loading:this.state.loading})),n().createElement("div",{className:"col-sm-3 text-right"},n().createElement(oe,{show_search:this.state.show_search,on_search:this.filterBySearchterm,filter:this.state.filter,placeholder:_t("Search")}))),this.state.progress&&n().createElement("div",{className:"progress my-2"},n().createElement("div",{className:"progress-bar progress-bar-striped progress-bar-animated",style:{width:"".concat(this.state.progress,"%")}},this.state.progress_label||this.state.progress+"%")),n().createElement("div",{className:"row"},n().createElement("div",{className:"col-sm-12 table-responsive"},this.state.show_column_toggles&&n().createElement("a",{href:"#",onClick:this.on_column_config_click,className:"pull-right"},n().createElement("i",{className:"fas fa-ellipsis-h"})),this.state.show_column_config&&n().createElement(In,{title:_t("Configure Table Columns"),description:_t("Click to toggle the visibility or drag&drop to change the order"),columns:e,columns_order:r,on_column_toggle_click:this.toggleColumn,on_columns_order_change:this.setColumnsOrder}),n().createElement(Mi,{id:this.row_context_menu_id,menu:this.state.row_context_menu,on_menu_item_click:this.handleRowMenuAction}),n().createElement(jn,{className:"contentstable table table-hover small",allow_edit:this.state.allow_edit,on_header_column_click:this.sortBy,on_select_checkbox_checked:this.on_select_checkbox_checked,on_multi_select_checkbox_checked:this.on_multi_select_checkbox_checked,on_context_menu:this.on_column_config_click,sort_on:this.state.sort_on,sort_order:this.state.sort_order,catalog_indexes:this.state.catalog_indexes,catalog_columns:this.state.catalog_columns,sortable_columns:this.state.sortable_columns,columns:e,columns_count:t,review_state:this.state.review_state,visible_columns:s,review_states:this.state.review_states,folderitems:this.state.folderitems,children:this.state.children,selected_uids:this.state.selected_uids,loading_uids:this.state.loading_uids,errors:this.state.errors,select_checkbox_name:this.state.select_checkbox_name,show_select_column:this.state.show_select_column,show_select_all_checkbox:this.state.show_select_all_checkbox,all_items_selected:this.all_items_selected(),categories:this.state.categories,expanded_categories:this.state.expanded_categories,selected_categories:this.state.selected_categories,expanded_rows:this.state.expanded_rows,expanded_remarks:this.state.expanded_remarks,show_categories:this.state.show_categories,on_category_click:this.on_category_click,on_category_select:this.on_category_select,on_row_expand_click:this.toggleRow,on_remarks_expand_click:this.toggleRemarks,on_row_context_menu:this.showRowMenu,filter:this.state.filter,update_editable_field:this.updateEditableField,save_editable_field:this.saveEditableField,move_row:this.moveRow,allow_row_reorder:this.state.allow_row_reorder,on_row_order_change:this.on_row_order_change}))),this.state.show_table_footer&&n().createElement("div",{className:"row"},n().createElement("div",{className:"col-sm-8"},n().createElement(w,{className:"buttonbar nav nav-pills",show_ajax_save:this.state.show_ajax_save,ajax_save_button_title:_t("Save"),on_transition_button_click:this.doAction,on_ajax_save_button_click:this.saveAjaxQueue,selected_uids:this.state.selected_uids,show_select_column:this.state.show_select_column,transitions:this.state.transitions,review_state:this.get_review_state_by_id(this.state.review_state),lock_buttons:this.state.lock_buttons})),n().createElement("div",{className:"col-sm-1 text-right"},n().createElement(A,{loading:this.state.loading})),n().createElement("div",{className:"col-sm-3 text-right"},n().createElement(Z,{id:"pagination",className:"pagination-controls",total:this.state.total,show_more_button_title:_t("Show more"),onShowMore:this.showMore,show_more:this.state.show_more,count:o,pagesize:this.state.pagesize,export_button_title:_t("Export"),show_export:this.state.show_export,onExport:this.export})))))}}],r&&qi(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(n().Component)})()})(); \ No newline at end of file diff --git a/webpack/app/components/MultiChoice.coffee b/webpack/app/components/MultiChoice.coffee index 453ef98..b5c3b67 100644 --- a/webpack/app/components/MultiChoice.coffee +++ b/webpack/app/components/MultiChoice.coffee @@ -6,13 +6,17 @@ class MultiChoice extends React.Component ###* * Multi-Choice Field for the Listing Table * - * A multi select field is identified by the column type "multichoice" in the listing - * view, e.g. `self.columns = {"Result": {"type": "multichoice"}, ... }` + * A multi choice field is identified by the column type "multichoice" in the + * listing view, e.g. `self.columns = {"Result": {"type": "multichoice"}, ... }` * ### constructor: (props) -> super(props) + # remember the initial value + @state = + value: props.defaultValue + # bind event handler to the current context @on_change = @on_change.bind @ @@ -30,8 +34,10 @@ class MultiChoice extends React.Component uid = el.getAttribute("uid") # Extract the column_key attribute name = el.getAttribute("column_key") or el.name - # Prepare a list of UIDs + # Store the new values value = (input.value for input in checked) + @setState + value: value console.debug "MultiChoice::on_change: value=#{value}" @@ -39,19 +45,45 @@ class MultiChoice extends React.Component if @props.update_editable_field @props.update_editable_field uid, name, value, @props.item + ### + * Converts the value to an array + ### + to_array: (value) -> + if not value + return [] + if Array.isArray(value) + return value + parsed = JSON.parse value + if not Array.isArray(parsed) + # This might happen when a default value is set, e.g. 0 + return [parsed] + return parsed + + ###* - * Select options builder + * Checkboxes list builder. Generates a list of checkboxes made of the + * options passed-in. The values are the ids of the options to be selected + * @param values {array} list of selected ResultValues * @param options {array} list of option objects, e.g.: * {"ResultText": ..., "ResultValue": ...} ### - build_options: -> - options = [] + build_checkboxes: -> + checkboxes = [] + + # Convert the result to an array + values = @to_array @state.value + + # filter out empties + values = values.filter (value) -> value isnt "" + + # ensure safe comparison (strings) + values = values.map (value) -> value.toString() for option in @props.options value = option.ResultValue title = option.ResultText - selected = option.selected or no - options.push( + selected = value.toString() in values + checkboxes.push(
  • {title}
  • ) - return options + return checkboxes render: ->
    {@props.before and }
      - {@build_options()} + {@build_checkboxes()}
    {@props.after and }
    diff --git a/webpack/app/components/TableCell.coffee b/webpack/app/components/TableCell.coffee index 7f044b7..010e8f0 100644 --- a/webpack/app/components/TableCell.coffee +++ b/webpack/app/components/TableCell.coffee @@ -690,23 +690,11 @@ class TableCell extends React.Component column_key = props.column_key or @get_column_key() item = props.item or @get_item() name = props.name or @get_name() - value = props.value or @get_value() - # convert value to array - if value.length > 0 - value = JSON.parse value - - options = props.options or item.choices[column_key] or [] - # mark selected options - options.forEach (option) -> - selected = no - if Array.isArray value - selected = value.indexOf(option.ResultValue) > -1 - option.selected = selected - formatted_value = props.formatted_value or @get_formatted_value() uid = props.uid or @get_uid() title = props.title or @props.column.title or column_key + options = props.options or item.choices[column_key] or [] column = props.column or @get_column() item.help ?= {} @@ -728,6 +716,7 @@ class TableCell extends React.Component uid={uid} item={item} name={fieldname} + defaultValue={value} column_key={column_key} title={title} help={help}