UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime

2 lines (1 loc) 9.74 kB
this.primereact=this.primereact||{},this.primereact.orderlist=function(e,t,r,n,l,i,a){"use strict";function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=o(t);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},c.apply(this,arguments)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function d(e){if(Array.isArray(e))return s(e)}function f(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function p(e,t){if(e){if("string"==typeof e)return s(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)?s(e,t):void 0}}function m(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(e){return d(e)||f(e)||p(e)||m()}function g(e){if(Array.isArray(e))return e}function h(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,l,i=[],a=!0,o=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){o=!0,l=e}finally{try{a||null==r.return||r.return()}finally{if(o)throw l}}return i}}function y(){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 b(e,t){return g(e)||h(e,t)||p(e,t)||y()}var E=u.memo((function(e){return u.createElement("div",{className:"p-orderlist-controls"},u.createElement(i.Button,{type:"button",icon:"pi pi-angle-up",onClick:function(t){if(e.selection){for(var r=v(e.value),n=0;n<e.selection.length;n++){var i=l.ObjectUtils.findIndexInList(e.selection[n],r,e.dataKey);if(0===i)break;var a=r[i-1];r[i-1]=r[i],r[i]=a}e.onReorder&&e.onReorder({originalEvent:t,value:r,direction:"up"})}}}),u.createElement(i.Button,{type:"button",icon:"pi pi-angle-double-up",onClick:function(t){if(e.selection){for(var r=v(e.value),n=0;n<e.selection.length;n++){var i=l.ObjectUtils.findIndexInList(e.selection[n],r,e.dataKey);if(0===i)break;var a=r.splice(i,1)[0];r.unshift(a)}e.onReorder&&e.onReorder({originalEvent:t,value:r,direction:"top"})}}}),u.createElement(i.Button,{type:"button",icon:"pi pi-angle-down",onClick:function(t){if(e.selection){for(var r=v(e.value),n=e.selection.length-1;n>=0;n--){var i=l.ObjectUtils.findIndexInList(e.selection[n],r,e.dataKey);if(i===r.length-1)break;var a=r[i+1];r[i+1]=r[i],r[i]=a}e.onReorder&&e.onReorder({originalEvent:t,value:r,direction:"down"})}}}),u.createElement(i.Button,{type:"button",icon:"pi pi-angle-double-down",onClick:function(t){if(e.selection){for(var r=v(e.value),n=e.selection.length-1;n>=0;n--){var i=l.ObjectUtils.findIndexInList(e.selection[n],r,e.dataKey);if(i===r.length-1)break;var a=r.splice(i,1)[0];r.push(a)}e.onReorder&&e.onReorder({originalEvent:t,value:r,direction:"bottom"})}}}))}));E.displayName="OrderListControls";var I=u.memo((function(e){var t,r=u.useRef(null),n=u.useRef(null),i=u.useRef(null),o=u.useRef(null),c={filter:function(t){return e.onFilterInputChange(t)},reset:function(){return e.resetFilter()}},s=function(t){return-1!==l.ObjectUtils.findIndexInList(t,e.selection,e.dataKey)},d=function(e,t){n.current!==t&&n.current+1!==t&&(i.current=t,l.DomHandler.addClass(e.target,"p-orderlist-droppoint-highlight"),e.preventDefault())},f=function(e){i.current=null,l.DomHandler.removeClass(e.target,"p-orderlist-droppoint-highlight")},p=function(t){var r=n.current>i.current?i.current:0===i.current?0:i.current-1,a=v(e.value);l.ObjectUtils.reorderArray(a,n.current,r),i.current=null,l.DomHandler.removeClass(t.target,"p-orderlist-droppoint-highlight"),e.onChange&&e.onChange({originalEvent:t,value:a})},m=function(e){r.current=!1},g=function(e){if(r.current){var t=o.current.getBoundingClientRect().top+l.DomHandler.getWindowScrollTop(),n=t+o.current.clientHeight-e.pageY,i=e.pageY-t;n<25&&n>0?o.current.scrollTop+=15:i<25&&i>0&&(o.current.scrollTop-=15)}},h=function(e){13===e.which&&e.preventDefault()},y=function(e,t){return u.createElement("li",{key:t,className:"p-orderlist-droppoint",onDragOver:function(t){return d(t,e+1)},onDragLeave:f,onDrop:p})},b=e.header?u.createElement("div",{className:"p-orderlist-header"},e.header):null,E=function(){if(e.filter){var t=u.createElement("div",{className:"p-orderlist-filter"},u.createElement("input",{type:"text",value:e.filterValue,onChange:e.onFilter,onKeyDown:h,placeholder:e.placeholder,className:"p-orderlist-filter-input p-inputtext p-component"}),u.createElement("span",{className:"p-orderlist-filter-icon pi pi-search"}));if(e.filterTemplate)t=l.ObjectUtils.getJSXElement(e.filterTemplate,{className:"p-orderlist-filter",inputProps:{inputClassName:"p-orderlist-filter-input p-inputtext p-component",onChange:e.onFilter,onKeyDown:h},filterOptions:c,iconClassName:"p-orderlist-filter-icon pi pi-search",element:t,props:e});return u.createElement("div",{className:"p-orderlist-filter-container"},t)}return null}(),I=(t=e.value?e.value.map((function(t,i){var o=e.itemTemplate?e.itemTemplate(t):t,c=l.classNames("p-orderlist-item",{"p-highlight":s(t)},e.className),d=JSON.stringify(t);if(e.dragdrop){var f=[y(i,d+"_droppoint"),u.createElement("li",{key:d,className:c,onClick:function(r){return e.onItemClick({originalEvent:r,value:t,index:i})},onKeyDown:function(r){return e.onItemKeyDown({originalEvent:r,value:t,index:i})},role:"option","aria-selected":s(t),draggable:"true",onDragStart:function(t){return l=t,a=i,r.current=!0,n.current=a,void(e.dragdropScope&&l.dataTransfer.setData("text","orderlist"));var l,a},onDragEnd:m,tabIndex:e.tabIndex},o,u.createElement(a.Ripple,null))];return i===e.value.length-1&&f.push(y(t,i)),f}return u.createElement("li",{key:d,className:c,role:"option","aria-selected":s(t),onClick:function(r){return e.onItemClick({originalEvent:r,value:t,index:i})},onKeyDown:function(r){return e.onItemKeyDown({originalEvent:r,value:t,index:i})},tabIndex:e.tabIndex},o)})):null,u.createElement("ul",{ref:o,className:"p-orderlist-list",style:e.listStyle,onDragOver:g,role:"listbox","aria-multiselectable":!0},t));return u.createElement("div",{className:"p-orderlist-list-container"},b,E,I)}));I.displayName="OrderListSubList";var O=u.memo(u.forwardRef((function(e,t){var i=b(u.useState([]),2),a=i[0],o=i[1],s=b(u.useState(""),2),d=s[0],f=s[1],p=l.ObjectUtils.isNotEmpty(d),m=u.useRef(null),g=u.useRef(null),h=function(t){var r,n=t.originalEvent.metaKey||t.originalEvent.ctrlKey,i=l.ObjectUtils.findIndexInList(t.value,a,e.dataKey);r=-1!==i?n?a.filter((function(e,t){return t!==i})):[t.value]:n?[].concat(v(a),[t.value]):[t.value],o(r)},y=function e(t){var r=t.nextElementSibling;return r?l.DomHandler.hasClass(r,"p-orderlist-item")?r:e(r):null},C=function e(t){var r=t.previousElementSibling;return r?l.DomHandler.hasClass(r,"p-orderlist-item")?r:e(r):null},D=function(){var e=l.DomHandler.findSingle(m.current,".p-orderlist-list"),t=l.DomHandler.find(e,".p-orderlist-item.p-highlight");if(t&&t.length)switch(g.current){case"up":l.DomHandler.scrollInView(e,t[0]);break;case"top":e.scrollTop=0;break;case"down":l.DomHandler.scrollInView(e,t[t.length-1]);break;case"bottom":setTimeout((function(){return e.scrollTop=e.scrollHeight}),100)}};u.useImperativeHandle(t,(function(){return{props:e,getElement:function(){return m.current}}})),r.useUpdateEffect((function(){g.current&&(D(),g.current=null)}));var w=l.ObjectUtils.findDiffKeys(e,O.defaultProps),N=l.classNames("p-orderlist p-component",e.className),x=function(){if(p){var t=d.trim().toLocaleLowerCase(e.filterLocale),r=e.filterBy?e.filterBy.split(","):[];return n.FilterService.filter(e.value,r,t,e.filterMatchMode,e.filterLocale)}return e.value}();return u.createElement("div",c({ref:m,id:e.id,className:N,style:e.style},w),u.createElement(E,{value:x,selection:a,onReorder:function(t){e.onChange&&e.onChange({event:t.originalEvent,value:t.value}),g.current=t.direction},dataKey:e.dataKey}),u.createElement(I,{value:x,selection:a,onItemClick:h,onItemKeyDown:function(e){var t=e.originalEvent,r=t.currentTarget;switch(t.which){case 40:var n=y(r);n&&n.focus(),t.preventDefault();break;case 38:var l=C(r);l&&l.focus(),t.preventDefault();break;case 13:h(e),t.preventDefault()}},onFilterInputChange:function(t){var r=t.target.value;f(r),e.onFilter&&e.onFilter({originalEvent:t,filter:r})},itemTemplate:e.itemTemplate,filter:e.filter,onFilter:function(t){var r=t.target.value;f(r),e.onFilter&&e.onFilter({originalEvent:t,value:r})},resetFilter:function(){f(""),e.onFilter&&e.onFilter({filter:""})},filterTemplate:e.filterTemplate,header:e.header,listStyle:e.listStyle,dataKey:e.dataKey,dragdrop:e.dragdrop,onChange:e.onChange,tabIndex:e.tabIndex}))})));return O.displayName="OrderList",O.defaultProps={__TYPE:"OrderList",id:null,value:null,header:null,style:null,className:null,listStyle:null,dragdrop:!1,tabIndex:0,dataKey:null,onChange:null,itemTemplate:null,filter:!1,filterBy:null,filterMatchMode:"contains",filterLocale:void 0,filterPlaceholder:null,filterTemplate:null,onFilter:null},e.OrderList=O,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.hooks,primereact.api,primereact.utils,primereact.button,primereact.ripple);