UNPKG

openstack-uicore-foundation

Version:

ui reactjs components for openstack marketing site

2 lines 6.47 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={5028:(e,t,r)=>{r.d(t,{default:()=>d});var n=r(6031),o=r.n(n),s=r(2462),l=r.n(s),i=r(2015),a=r.n(i);const c=["children","replaceNewLine","className"],d=e=>{let{children:t,replaceNewLine:r=!1,className:n=""}=e,s=l()(e,c);return a().createElement("span",o()({className:n,dangerouslySetInnerHTML:{__html:r?null==t?void 0:t.replace(/\n/g,"<br />"):t}},s))}},6031:e=>{e.exports=require("@babel/runtime/helpers/extends")},2462:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},9825:e=>{e.exports=require("prop-types")},2015:e=>{e.exports=require("react")},5433:e=>{e.exports=require("react-tooltip")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.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 n={};r.r(n),r.d(n,{default:()=>v});var o=r(2015),s=r.n(o),l=r(9825),i=r.n(l);class a extends s().Component{constructor(e){super(e),this.handleSort=this.handleSort.bind(this)}getSortClass(){if(!this.props.sortable)return null;switch(this.props.sortDir){case 1:return"sorting_asc";case-1:return"sorting_desc";default:return this.props.sortable?"sorting":null}}handleSort(e){e.preventDefault(),this.props.hasOwnProperty("onSort")&&this.props.sortable&&this.props.onSort(this.props.columnIndex,this.props.columnKey,this.props.sortDir?-1*this.props.sortDir:1,this.props.sortFunc)}render(){return s().createElement("th",{onClick:this.handleSort,className:this.getSortClass(),width:this.props.width},this.props.children)}}a.propTypes={onSort:i().func,sortDir:i().number,columnIndex:i().number,columnKey:i().any,sortable:i().bool,sortFunc:i().func};const c=a;var d=r(5028);const p=e=>{let{children:t}=e,r="";return t&&(r=s().isValidElement(t)?t:s().createElement(d.default,null,t.toString())),s().createElement("td",e,r)};class h extends s().Component{constructor(e){super(e),this.handleEdit=this.handleEdit.bind(this),this.handleSelect=this.handleSelect.bind(this)}shouldDisplayAction(e){let{id:t}=this.props;return!e.hasOwnProperty("display")||e.display(t)}handleEdit(e,t){"checkbox"!==t.target.type&&(t.stopPropagation(),t.preventDefault(),this.props.actions.edit.onClick(e))}handleSelect(e,t){this.props.actions.edit.onSelected(e,t.target.checked)}render(){let{even:e,actions:t,id:r,children:n,checked:o}=this.props,l=e?"even":"odd";return(null==t?void 0:t.edit)&&this.shouldDisplayAction(t.edit)?s().createElement("tr",{role:"row",className:l+" can-edit",onClick:this.handleEdit.bind(this,r)},s().createElement("td",{key:r+"_select"},s().createElement("input",{type:"checkbox",id:r+"_select",name:r+"_select",checked:o,onChange:this.handleSelect.bind(this,r)})),n):s().createElement("tr",{role:"row",className:l},s().createElement("td",{key:r+"_select"},s().createElement("input",{type:"checkbox",id:r+"_select",name:r+"_select",checked:o,onChange:this.handleSelect.bind(this,r)})),n)}}class u extends s().Component{constructor(e){super(e),this.handleAction=this.handleAction.bind(this),this.shouldDisplayAction=this.shouldDisplayAction.bind(this)}shouldDisplayAction(e){let{id:t}=this.props;return!e.hasOwnProperty("display")||e.display(t)}handleAction(e,t,r){r.stopPropagation(),r.preventDefault(),e(t)}render(){let{actions:e,id:t}=this.props;return s().createElement("td",{className:"actions",key:"actions"},e.hasOwnProperty("delete")&&this.shouldDisplayAction(e.delete)&&s().createElement("a",{href:"","data-tip":"delete",onClick:this.handleAction.bind(this,e.delete.onClick,t)},s().createElement("i",{className:"fa fa-trash-o delete-icon"})),e.hasOwnProperty("custom")&&e.custom.map((e=>this.shouldDisplayAction(e)&&s().createElement("a",{href:"","data-tip":e.tooltip,key:"custom_"+e.name,onClick:this.handleAction.bind(this,e.onClick,t)},e.icon))))}}var m=r(5433);const y={sortFunc:(e,t)=>e<t?-1:e>t?1:0,sortable:!1,sortCol:0,sortDir:1,colWidth:""},b=(e,t,r,n)=>e&&e===r||r===t?n:null;class f extends s().Component{constructor(e){super(e)}render(){var e,t,r;let{options:n,columns:o}=this.props,l=n.hasOwnProperty("className")?n.className:"";return l+=null!==(e=n.actions)&&void 0!==e&&e.edit?" table-hover":"",s().createElement("div",null,s().createElement("table",{className:"table table-striped selectableTable "+l},s().createElement("thead",null,s().createElement("tr",null,s().createElement("th",null,!n.disableSelectAll&&s().createElement("input",{type:"checkbox",id:"select_all",name:"select_all",onChange:null===(t=n.actions)||void 0===t||null===(r=t.edit)||void 0===r?void 0:r.onSelectedAll,checked:n.selectedAll})),o.map(((e,t)=>{let r=void 0!==n.sortCol?n.sortCol:y.sortCol,o=void 0!==n.sortDir?n.sortDir:y.sortDir,l=void 0!==n.sortFunc?n.sortFunc:y.sortFunc,i=void 0!==e.sortable?e.sortable:y.sortable,a=void 0!==e.width?e.width:y.colWidth;return s().createElement(c,{onSort:this.props.onSort,sortDir:b(e.columnKey,t,r,o),sortable:i,sortFunc:l,columnIndex:t,columnKey:e.columnKey,width:a,key:"heading_"+t},e.value)})),n.actions&&s().createElement(c,{key:"actions_heading"},n.actionsHeader||" "))),s().createElement("tbody",null,o.length>0&&this.props.data.map(((e,t)=>Array.isArray(e)&&e.length!==o.length?(console.warn(`Data at row ${t} is ${e.length}. It should be ${o.length}.`),s().createElement("tr",{key:"row_"+t})):s().createElement(h,{checked:e.checked,even:t%2==0,key:"row_"+e.id,id:e.id,actions:n.actions},((e,t,r)=>{var n=t.map(((t,r)=>t.hasOwnProperty("render")?s().createElement(p,{key:e.id+"_field"+r,name:t.columnKey,id:e.id},t.render(e,e[t.columnKey])):s().createElement(p,{key:e.id+"_field"+r,name:t.columnKey,id:e.id},e[t.columnKey])));return r&&n.push(s().createElement(u,{key:"actions_cell",id:e.id,actions:r})),n})(e,o,n.actions)))))),s().createElement(m.Tooltip,{delayShow:10}))}}const v=f;return n})())); //# sourceMappingURL=table-selectable.js.map