PageSourceSearch

https://login.commonsku.com/dist/react/5490.901edb62.chunk.js

js commonsku.com collected 2026-10-02 03:13:29 UTC 17,463 bytes, 2 lines download raw bytes

1"use strict";(globalThis.__LOADABLE_LOADED_CHUNKS__=globalThis.__LOADABLE_LOADED_CHUNKS__||[]).push([[5490],{25490(e,t,s){s.d(t,{A:()=>E});var i=s(41594),n=s(98483),l=s(91808),o=s(30596),r=s(39913),a=s(36375),h=s(17624),d=s(22078),c=s(63988);class p extends i.Component{constructor(e){super(e);const t=(0,d.k4)(e.suppliers.filter(e=>e.spotlighted>0)),s=e.suppliers.filter(e=>0==e.spotlighted).sort((e,t)=>t.weight-e.weight);this.state={suppliers:this.getSupplierList(t.concat(s),e.supplier_id),supplier_id:e.supplier_id},this.onToggleSupplier=this.onToggleSupplier.bind(this)}UNSAFE_componentWillReceiveProps(e){e.supplier_id!==this.props.supplier_id&&e.supplier_id!==this.state.supplier_id&&this.onToggleSupplier(e.supplier_id)}getSupplierList(e,t){if(!t)return e;const s=e.map(e=>e.supplier_id).indexOf(t);return s<7?e:[e[s]].concat(e.slice(0,s)).concat(e.slice(s+1))}onToggleSupplier(e){const{onSelectSupplier:t}=this.props;e===this.state.supplier_id?this.setState({supplier_id:""},()=>t("")):this.setState((t,s)=>{const i=this.getSupplierList(t.suppliers,e);return{supplier_id:e,suppliers:i}},()=>t(e))}render(){const{className:e,style:t,onSelectExtraSupplier:s}=this.props,{suppliers:i,supplier_id:n}=this.state,l={width:"100px",height:"100px",float:"left",borderRadius:"50%",background:"white",margin:"1rem",transition:"all .5s",cursor:"pointer",overflow:"hidden"},o={...l,border:"4px solid #76BBD1"},r={...l,border:"7px solid #e95888"};return(0,c.jsxs)("div",{"data-test-name":"CollectionSuppliers.render",className:e,style:t,children:[i.slice(0,7).map(e=>(0,c.jsx)("div",{style:n===e.supplier_id?r:o,children:(0,c.jsx)("img",{style:{top:"50%",transform:"translateY(-50%)",position:"relative",margin:"auto"},src:(0,d.Lo)(e.supplier_img),onClick:t=>this.onToggleSupplier(e.supplier_id),alt:e.supplier_name,title:e.supplier_name})},e.supplier_id)),8===i.length?(0,c.jsx)("div",{style:n===i[7].supplier_id?r:o,children:(0,c.jsx)("img",{style:{top:"50%",transform:"translateY(-50%)",position:"relative",margin:"auto"},src:(0,d.Lo)(i[7].supplier_img),onClick:e=>this.onToggleSupplier(i[7].supplier_id),alt:i[7].supplier_name,title:i[7].supplier_name})}):null,i.length>8?(0,c.jsx)("div",{style:{...o,textAlign:"center",color:"#76BBD1"},onClick:e=>s(),children:(0,c.jsxs)("div",{style:{position:"relative",top:"50%",transform:"translateY(-50%)",lineHeight:1.2},children:[(0,c.jsx)("span",{style:{fontWeight:"bold"},children:i.length-7}),(0,c.jsx)("br",{}),(0,c.jsx)("span",{children:"others"})]})}):null]})}}(0,n.Ng)(e=>({}),(e,t)=>({onSelectExtraSupplier:()=>e((0,r.zH)(t.suppliers))}))(p);var m=s(73882),u=s(84685),g=s(3602);const _=e=>{let{value:t,onChange:s}=e;const i="2.4375rem",n={height:i,lineHeight:i,borderRadius:3,textAlign:"center",position:"absolute",fontSize:"1em",top:"24px",margin:"0px 5px 0px 8px"};return(0,c.jsx)("div",{"data-test-name":"KeywordsInput",style:{position:"relative"},children:(0,c.jsxs)("div",{className:"search-box",style:{display:"inline-block",width:"307px"},children:[(0,c.jsx)(g.SearchIcon,{style:n,color:"rgb(194, 219, 226)"}),(0,c.jsx)(g.LabeledInput,{label:"Product",style:{paddingLeft:i,fontWeight:400,marginBottom:0},type:"text",placeholder:"Search",value:t,onChange:s})]})})};function x(e){let{suppliers:t,onSelectSuppliers:s,onChangeKeyword:n}=e;const l=t.map(e=>({value:e.supplier_id,label:e.supplier_name})),[o,r]=(0,i.useState)(""),[a,h]=(0,i.useState)([]);return(0,c.jsxs)("div",{"data-test-name":"CollectionSearch",style:{display:"flex",gap:8},children:[(0,c.jsx)(_,{value:o,onChange:e=>{r(e.target.value),n(e.target.value)}}),(0,c.jsx)(g.LabeledSelect,{parentStyle:{flexGrow:1},labelStyle:{height:24},label:"Suppliers",placeholder:"All Suppliers",isMulti:!0,isSearchable:!0,options:l,onChange:e=>{h(e),s(e.map(e=>e.value))},value:a})]})}class y extends i.Component{constructor(e){super(e),this.state={selected_themes:e.selected_themes,status_id:e.status_id,supplier_id:e.supplier_id,tenant_id:e.tenant_id,include_expired:e.include_expired},this.onChangeFilter=this.onChangeFilter.bind(this),this.onChangeStatus=this.onChangeStatus.bind(this),this.onAddCollectionTheme=this.onAddCollectionTheme.bind(this),this.onDeleteCollectionTheme=this.onDeleteCollectionTheme.bind(this),this.onChangeSupplier=this.onChangeSupplier.bind(this),this.onChangeTenant=this.onChangeTenant.bind(this),this.onChangeKeyword=this.onChangeKeyword.bind(this)}componentDidMount(){this.onChangeFilter()}UNSAFE_componentWillReceiveProps(e){e.tenant_id!==this.props.tenant_id&&this.setState({tenant_id:e.tenant_id}),e.supplier_id!==this.props.supplier_id&&this.setState({supplier_id:e.supplier_id}),e.selected_supplier_id!==this.props.selected_supplier_id&&this.setState({supplier_id:e.selected_supplier_id})}onChangeFilter(){const e={},t=Object.values(this.state.selected_themes).filter(e=>!!e);t.length&&(e.themes=t),"ALL"!==this.state.status_id&&(e.status_id=this.state.status_id),this.state.supplier_id&&(e.supplier_id=this.state.supplier_id),this.state.supplier_ids&&(e.supplier_ids=this.state.supplier_ids),this.state.tenant_id&&(e.tenant_id=this.state.tenant_id),this.state.keyword&&(e.keyword=this.state.keyword),e.include_expired=this.state.include_expired?1:0,this.props.onChangeFilter(e)}onChangeStatus(e){this.setState({status_id:e},this.onChangeFilter)}onAddCollectionTheme(e){this.setState({selected_themes:Object.assign({},this.state.selected_themes,{[e]:e})},this.onChangeFilter)}onDeleteCollectionTheme(e){this.setState({selected_themes:Object.assign({},this.state.selected_themes,{[e]:void 0})},this.onChangeFilter)}onChangeSupplier(e){this.setState({supplier_ids:e},this.onChangeFilter)}onChangeKeyword(e){this.setState({keyword:e},this.onChangeFilter)}onSelectItem(e){this.setState({selectedItem:e})}onChangeTenant(e){this.setState({tenant_id:e},this.onChangeFilter)}onChangeIncludeExpired(e){this.setState({include_expired:e},this.onChangeFilter)}render(){const{company_id:e,tenant_id:t,suppliers:s,identity:i}=this.props,{supplier_id:n}=this.state,l=[{key:"ALL",value:"All Collections"}].concat(this.props.statuses);return[{key:"",value:"Any Distributor"}].concat(this.props.tenants),(0,c.jsxs)("div",{"data-test-name":"CollectionFilter.render",className:"row small-12 columns collapse",style:{marginTop:"1rem",display:"flex",flexDirection:"column",gap:10},children:["SUPPLIER"===i.company_type?(0,c.jsxs)("div",{className:"row collapse",children:[(0,c.jsx)("div",{className:"small-12 medium-4 columns end",style:{paddingRight:"0.5rem"},children:(0,c.jsx)(m.A,{withMarginBottom:!0,options:l,value:this.state.status_id,change:this.onChangeStatus})}),(0,c.jsx)("div",{className:"small-12 medium-4 columns end",style:{paddingRight:"0.5rem"},children:(0,c.jsxs)("label",{style:{lineHeight:"2rem",marginTop:"0.1rem"},children:[(0,c.jsx)("input",{type:"checkbox",style:{margin:0},checked:this.state.include_expired,onChange:e=>this.onChangeIncludeExpired(e.target.checked)})," Show Expired Collections Too"]})}),null]}):null,e||"TENANT"!==i.company_type?null:(0,c.jsx)("div",{className:"row collapse",children:(0,c.jsx)(x,{suppliers:s,onSelectSuppliers:this.onChangeSupplier,onCh
1angeKeyword:this.onChangeKeyword,onSelectItem:this.onSelectItem})}),(0,c.jsx)("div",{className:"row collapse",children:(0,c.jsx)(h.A,{className:"small-12 columns",themes:this.props.themes,selected_themes:this.state.selected_themes,onAddCollectionTheme:this.onAddCollectionTheme,onDeleteCollectionTheme:this.onDeleteCollectionTheme})})]})}}const C=(0,u.y)((0,n.Ng)((e,t)=>{const s=new URLSearchParams(t.router.location.search);let i={};for(var n of s.entries())i.hasOwnProperty(n[0])?(i[n[0]]=[i[n[0]]],i[n[0]].push(n[1])):i[n[0]]=n[1];const l=(i.themes?Array.isArray(i.themes)?i.themes:[i.themes]:[]).reduce((e,t)=>({...e,[t]:t}),{}),r=e.temp.supplier_id;return{identity:e.identity,themes:(0,o.dI)(e),selected_themes:l,statuses:(0,o.bV)(e,{order_type:"COLLECTION"}),suppliers:Object.values(e.entities.collection_vendors),tenants:(0,o.fE)(e),tenant_id:e.entities.tenants[t.company_id]?t.company_id:"",selected_supplier_id:r,status_id:i.status_id||"ALL",include_expired:i.include_expired||!1,supplier_id:t.company_id||i.supplier_id}},e=>({onAddCollection:()=>Promise.resolve(e((0,r.AD)("Creating Collection..."))).then(()=>e((0,a.Kc)()))}))(y));var S=s(56695),b=s(54011),T=s(22224),v=s(94491),f=s(43236),j=s(89861),w=s(94384),A=s(58199);class k extends i.Component{constructor(e){super(e),this.state={search_terms:{},page:0,finished:!1,loading:!0,collections:[],items:[],elementTop:0},this.onSearchResult=this.onSearchResult.bind(this),this.onSearch=this.onSearch.bind(this),this.handleScroll=this.handleScroll.bind(this),this.onUpdateQuery=this.onUpdateQuery.bind(this),this.debouncedOnSearch=(0,T.debounce)(this.onSearch.bind(this),300)}componentWillUnmount(){this.root&&this.root.removeEventListener("scroll",this.handleScroll)}componentDidMount(){this.root&&this.setState({elementTop:this.root.offsetTop})}onUpdateQuery(e){const{navigate:t}=this.props;t((0,l.AO)(e))}onSearchResult(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];const n=(0,T.isEmpty)(s.keyword)?t.length<24:i.length<24;this.setState({search_terms:s,page:e,finished:n,collections:0===e?t:this.state.collections.concat(t),items:0===e?i:this.state.items.concat(i)}),this.root&&this.root.addEventListener("scroll",this.handleScroll)}onSearch(e,t){const s=0===e?{items:[],collections:[]}:{};this.setState({loading:!0,...s}),this.abortController&&this.abortController.abort(),this.abortController=new AbortController;const{signal:i}=this.abortController,n=Object.assign({"max-results":24,"start-index":24*e},t);(0,d.oD)("GET","collection"+(null!=t&&t.keyword?"/items":""),n,null,{signal:i},null,!1).then(s=>{let{json:i}=s;this.onSearchResult(e,i.collections,t,i.items)}).catch(e=>{"AbortError"!==e.name&&console.error("Fetch error:",e)}).finally(()=>{this.setState({loading:!1})})}handleScroll(e){this.root.scrollHeight-this.root.scrollTop<=this.root.clientHeight+10&&(this.root.removeEventListener("scroll",this.handleScroll),this.state.finished||this.onSearch(this.state.page+1,this.state.search_terms))}onClickProductAction(e){this.props.onCopyAddToProjectPopup(e)}renderCollections(){return(0,T.isEmpty)(this.state.collections)?this.state.loading?void 0:(0,c.jsx)("div",{"data-test-name":"CollectionList.renderCollections",style:{textAlign:"center",padding:"77.5px 0"},children:(0,c.jsx)(g.H2,{style:{fontSize:24,lineHeight:"40px",fontWeight:600,fontFamily:"skufont-regular"},children:"We couldn’t find any collections that match your search."})}):this.state.collections.map((e,t,s)=>this.renderCollection(e,t,s))}renderCollection(e,t,s){const{identity:i}=this.props,n=t===s.length-1,l=i.company_id===e.supplier_id?t=>{window.open(`/collection/${e.form_number}`)}:t=>{window.open(`/collection/${e.order_id}`)},o=(t%2==0&&b.Ay.SmallOnly,"Published"!==e.status_name||Date.parse(e.date_expiry)<Date.now()?{cursor:"pointer",opacity:.5}:{cursor:"pointer"});return[t%2==0?(0,c.jsx)(b.Ay.SmallOnly,{style:{clear:"both"}},`clearsmall-${t}`):null,t%3==0?(0,c.jsx)(b.Ay.MediumOnly,{style:{clear:"both"}},`clearmedium-${t}`):null,t%4==0?(0,c.jsx)(b.Ay.LargeOnly,{style:{clear:"both"}},`clearlarge-${t}`):null,(0,c.jsx)("div",{className:"small-6 medium-4 large-3 columns"+(n?" end":""),style:o,onClick:l,children:(0,c.jsx)(S.A,{collection:e,showSupplierDetails:i.company_id===e.supplier_id})},e.order_id)]}renderItems(){var e;return(0,T.isEmpty)(this.state.items)?this.state.loading?void 0:(0,c.jsxs)("div",{"data-test-name":"CollectionList.renderItems",style:{textAlign:"center",padding:"77.5px 0"},children:[(0,c.jsx)(g.H2,{style:{fontSize:24,lineHeight:"40px",fontWeight:600,fontFamily:"skufont-regular"},children:"We couldn’t find any products in collections that match your search."}),(0,c.jsxs)(g.Text,{style:{fontSize:18,lineHeight:"28px",fontWeight:400,fontFamily:"skufont-regular"},children:["Try a different search, or use ",(0,c.jsx)("a",{href:"/products.php",children:"product search"})," to search for products outside of collections."]})]}):(0,c.jsx)("div",{"data-test-name":"CollectionList.renderItems",style:{display:"flex",gap:10,flexWrap:"wrap",padding:"0 10px"},children:null===(e=this.state.items)||void 0===e?void 0:e.map(e=>this.renderItem(e))})}renderItem(e){return(0,c.jsx)(v.A,{"data-test-name":"CollectionList.renderItem",product:e,loading:!1,loaded:!1,type:"others",title:e.item_name,description:e.division_name,subtitle:e.job_name?e.job_name:`Collection ${e.job_number}`,onClickProduct:e=>{this.setState({selectedItem:e})},onSubTitleClick:()=>window.open(`/collection/${e.order_id}`),onClickProductAction:()=>{this.onClickProductAction(e)}},e.item_id)}
1renderLoading(){return(0,c.jsx)("div",{"data-test-name":"CollectionList.renderLoading",className:"row small-12 columns collapse",style:{textAlign:"center"},children:(0,c.jsx)(g.Loading,{})})}render(){const{company_id:e,style:t,pathname:s,baseQuery:i}=this.props,{loading:n,elementTop:l,selectedItem:o,items:r}=this.state,a={padding:0,height:`calc(100vh - ${l}px)`,overflowY:"auto",...t},h=["themes"];return e?(h.push("include_expired"),h.push("status_id")):h.push("supplier_id"),(0,c.jsxs)("div",{"data-test-name":"CollectionList.render",ref:e=>this.root=e,className:"row small-12 columns",style:a,children:[(0,c.jsx)(C,{company_id:e,onChangeFilter:e=>{const t=Object.keys(e).filter(e=>h.includes(e)).reduce((t,s)=>({...t,[s]:e[s]}),{});null!=i&&i.has("id")&&(t.id=i.get("id")),null!=i&&i.has("division_id")&&(t.division_id=i.get("division_id"));let n="";for(let e in t){""!=n&&(n+="&");let s=t[e];if(Array.isArray(s))for(let t in s)n+="&"+e+"="+encodeURIComponent(s[t]);else n+=e+"="+encodeURIComponent(s)}const l={pathname:s,search:n};this.onUpdateQuery(l),this.debouncedOnSearch(0,e)}},"filter"),(0,c.jsx)("div",{className:"row",children:(0,T.isEmpty)(this.state.search_terms.keyword)?this.renderCollections():this.renderItems()}),n&&this.renderLoading(),(0,T.isEmpty)(o)?null:(0,c.jsx)(f.A,{products:r,productIndex:(0,T.findIndex)(r,o),isSelected:!1,onClose:()=>this.setState({selectedItem:!1}),isEnd:this.state.finished&&(0,T.findIndex)(r,o)===r.length-1,onClickProductAction:()=>this.onClickProductAction(o)})]})}}const E=(0,u.y)((0,n.Ng)((e,t)=>({identity:e.identity,pathname:t.location.pathname,baseQuery:new URLSearchParams(t.location.search)}),(e,t)=>({onCopyAddToProjectPopup:t=>{e((0,j.SM)()),e((0,j.Qg)(t.item_id,{item_id:t.item_id,item_name:t.item_name,total_quantity:1})),e((0,r.sb)(t.order_id,[t])),e((0,w.Am)()),e((0,A.mEK)())}}))(k))},17624(e,t,s){s.d(t,{A:()=>o});var i=s(41594),n=s(63988);class l extends i.Component{constructor(e){super(e),this.state={showExtraThemes:!1},this.onToggleTheme=this.onToggleTheme.bind(this),this.onToggleExtraThemes=this.onToggleExtraThemes.bind(this),this.handleClickElsewhere=this.handleClickElsewhere.bind(this)}componentDidMount(){if(window.addEventListener("click",this.handleClickElsewhere,!1),this.extraThemes){const e=this.extraThemes.getClientRects()[0];this.setState({left:e.right-190,top:e.bottom+5})}}componentWillUnmount(){window.removeEventListener("click",this.handleClickElsewhere,!1)}handleClickElsewhere(e){e.target===this.popup||this.popup.contains(e.target)||this.extraThemes&&(e.target===this.extraThemes||this.extraThemes.contains(e.target))||this.setState({showExtraThemes:!1})}onToggleExtraThemes(e){this.setState(e=>{if(e.showExtraThemes)return{showExtraThemes:!1};if(this.extraThemes){const e=this.extraThemes.getClientRects()[0];return{showExtraThemes:!0,left:e.right-190,top:e.bottom+5}}})}onToggleTheme(e){const{selected_themes:t}=this.props;t[e]?this.props.onDeleteCollectionTheme(t[e]):this.props.onAddCollectionTheme(e),this.setState(e=>({showExtraThemes:!e.showExtraThemes}))}render(){const{className:e,style:t,themes:s,selected_themes:i,disabled:l}=this.props,{showExtraThemes:o,left:r,top:a}=this.state,h={position:"absolute",width:"200px",backgroundColor:"white",border:"1px solid rgba(0, 0, 0, 0.1)",zIndex:1e3,left:r,top:a},d={display:"inline-block",width:"1rem",marginRight:"0.5rem"},c=s.slice(15).reduce((e,t)=>e||i[t.theme_id],!1);return(0,n.jsxs)("div",{"data-test-name":"CollectionThemes.render",className:e,style:t,children:[s.slice(0,15).map(e=>(0,n.jsx)("button",{className:"button",onClick:t=>this.onToggleTheme(e.theme_id),style:{marginRight:"0.5rem",backgroundColor:i[e.theme_id]?"#e95888":"#3c505a"},disabled:l,children:e.theme_name},e.theme_id)),16===s.length?(0,n.jsx)("button",{className:"button",onClick:e=>this.onToggleTheme(s[15].theme_id),style:{marginRight:"0.5rem",backgroundColor:i[s[15].theme_id]?"#e95888":"#3c505a"},disabled:l,children:s[15].theme_name}):null,s.length>16?(0,n.jsxs)("button",{ref:e=>this.extraThemes=e,className:"button",style:{marginRight:"0.5rem",backgroundColor:c?"#e95888":"#3c505a"},disabled:l,onClick:this.onToggleExtraThemes,children:[s.length-15," others"]}):null,(0,n.jsx)("div",{ref:e=>this.popup=e,style:{...h,display:o?"inline-block":"none"},children:(0,n.jsx)("ul",{style:{listStyleType:"none",margin:0},children:s.slice(15).map(e=>(0,n.jsxs)("li",{onClick:t=>this.onToggleTheme(e.theme_id),style:{margin:"0.5rem",cursor:"pointer"},children:[i[e.theme_id]?(0,n.jsx)("i",{className:"fi-check",style:d}):(0,n.jsx)("span",{style:d,children:" "}),e.theme_name]},e.theme_id))})})]})}}const o=l}}]);
2//# sourceMappingURL=5490.901edb62.chunk.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.