File "analytics-report-categories.js"
Full Path: /home/amervokv/ecomlive.net/wp-content/plugins/woocommerce/assets/client/admin/chunks/analytics-report-categories.js
File size: 13.62 KB
MIME-type: text/plain
Charset: utf-8
"use strict";(globalThis.webpackChunk_wcAdmin_webpackJsonp=globalThis.webpackChunk_wcAdmin_webpackJsonp||[]).push([[185],{88330:(e,t,r)=>{r.d(t,{Z:()=>m});var o=r(69307),s=r(92819),a=r(55609),c=r(22629),i=r(86020),n=r(10431),l=r(81514);class m extends o.Component{getCategoryAncestorIds(e,t){const r=[];let o=e.parent;for(;o;)r.unshift(o),o=t.get(o).parent;return r}getCategoryAncestors(e,t){const r=this.getCategoryAncestorIds(e,t);if(r.length)return 1===r.length?t.get((0,s.first)(r)).name+" › ":2===r.length?t.get((0,s.first)(r)).name+" › "+t.get((0,s.last)(r)).name+" › ":t.get((0,s.first)(r)).name+" … "+t.get((0,s.last)(r)).name+" › "}render(){const{categories:e,category:t,query:r}=this.props,o=(0,n.getPersistedQuery)(r);return t?(0,l.jsxs)("div",{className:"woocommerce-table__breadcrumbs",children:[(0,c.decodeEntities)(this.getCategoryAncestors(t,e)),(0,l.jsx)(i.Link,{href:(0,n.getNewPath)(o,"/analytics/categories",{filter:"single_category",categories:t.id}),type:"wc-admin",children:(0,c.decodeEntities)(t.name)})]}):(0,l.jsx)(a.Spinner,{})}}},21082:(e,t,r)=>{r.r(t),r.d(t,{default:()=>F});var o=r(69307),s=r(69596),a=r.n(s),c=r(65736),i=r(92694),n=r(9818),l=r(75606),m=r(45719);const{addCesSurveyForAnalytics:d}=(0,n.dispatch)(l.STORE_KEY),u=(0,i.applyFilters)("woocommerce_admin_categories_report_charts",[{key:"items_sold",label:(0,c.__)("Items sold","woocommerce"),order:"desc",orderby:"items_sold",type:"number"},{key:"net_revenue",label:(0,c.__)("Net sales","woocommerce"),order:"desc",orderby:"net_revenue",type:"currency"},{key:"orders_count",label:(0,c.__)("Orders","woocommerce"),order:"desc",orderby:"orders_count",type:"number"}]),g=(0,i.applyFilters)("woocommerce_admin_category_report_advanced_filters",{filters:{},title:(0,c._x)("Categories match <select/> filters","A sentence describing filters for Categories. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ","woocommerce")}),p=[{label:(0,c.__)("All categories","woocommerce"),value:"all"},{label:(0,c.__)("Single category","woocommerce"),value:"select_category",chartMode:"item-comparison",subFilters:[{component:"Search",value:"single_category",chartMode:"item-comparison",path:["select_category"],settings:{type:"categories",param:"categories",getLabels:m.YC,labels:{placeholder:(0,c.__)("Type to search for a category","woocommerce"),button:(0,c.__)("Single Category","woocommerce")}}}]},{label:(0,c.__)("Comparison","woocommerce"),value:"compare-categories",chartMode:"item-comparison",settings:{type:"categories",param:"categories",getLabels:m.YC,labels:{helpText:(0,c.__)("Check at least two categories below to compare","woocommerce"),placeholder:(0,c.__)("Search for categories to compare","woocommerce"),title:(0,c.__)("Compare Categories","woocommerce"),update:(0,c.__)("Compare","woocommerce")},onClick:d}}];Object.keys(g.filters).length&&p.push({label:(0,c.__)("Advanced filters","woocommerce"),value:"advanced"});const _=(0,i.applyFilters)("woocommerce_admin_categories_report_filters",[{label:(0,c.__)("Show","woocommerce"),staticParams:["chartType","paged","per_page"],param:"filter",showFilters:()=>!0,filters:p}]);var y=r(94333),h=r(92819),b=r(10431),w=r(86020),f=r(81595),C=r(67221),v=r(17844),S=r(88330),k=r(66777),x=r(81514);class q extends o.Component{constructor(e){super(e),this.getRowsContent=this.getRowsContent.bind(this),this.getSummary=this.getSummary.bind(this)}getHeadersContent(){return[{label:(0,c.__)("Category","woocommerce"),key:"category",required:!0,isSortable:!0,isLeftAligned:!0},{label:(0,c.__)("Items sold","woocommerce"),key:"items_sold",required:!0,defaultSort:!0,isSortable:!0,isNumeric:!0},{label:(0,c.__)("Net sales","woocommerce"),key:"net_revenue",isSortable:!0,isNumeric:!0},{label:(0,c.__)("Products","woocommerce"),key:"products_count",isSortable:!0,isNumeric:!0},{label:(0,c.__)("Orders","woocommerce"),key:"orders_count",isSortable:!0,isNumeric:!0}]}getRowsContent(e){const{render:t,formatDecimal:r,getCurrencyConfig:o}=this.context,{categories:s,query:a}=this.props;if(!s)return[];const c=o();return(0,h.map)(e,(e=>{const{category_id:o,items_sold:i,net_revenue:n,products_count:l,orders_count:m}=e,d=s.get(o),u=(0,b.getPersistedQuery)(a);return[{display:(0,x.jsx)(S.Z,{query:a,category:d,categories:s}),value:d&&d.name},{display:(0,f.formatValue)(c,"number",i),value:i},{display:t(n),value:r(n)},{display:d&&(0,x.jsx)(w.Link,{href:(0,b.getNewPath)(u,"/analytics/categories",{filter:"single_category",categories:d.id}),type:"wc-admin",children:(0,f.formatValue)(c,"number",l)}),value:l},{display:(0,f.formatValue)(c,"number",m),value:m}]}))}getSummary(e,t=0){const{items_sold:r=0,net_revenue:o=0,orders_count:s=0}=e,{formatAmount:a,getCurrencyConfig:i}=this.context,n=i();return[{label:(0,c._n)("Category","Categories",t,"woocommerce"),value:(0,f.formatValue)(n,"number",t)},{label:(0,c._n)("Item sold","Items sold",r,"woocommerce"),value:(0,f.formatValue)(n,"number",r)},{label:(0,c.__)("Net sales","woocommerce"),value:a(o)},{label:(0,c._n)("Order","Orders",s,"woocommerce"),value:(0,f.formatValue)(n,"number",s)}]}render(){const{advancedFilters:e,filters:t,isRequesting:r,query:o}=this.props,s={helpText:(0,c.__)("Check at least two categories below to compare","woocommerce"),placeholder:(0,c.__)("Search by category name","woocommerce")};return(0,x.jsx)(k.Z,{compareBy:"categories",endpoint:"categories",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["items_sold","net_revenue","orders_count"],isRequesting:r,itemIdField:"category_id",query:o,searchBy:"categories",labels:s,tableQuery:{orderby:o.orderby||"items_sold",order:o.order||"desc",extended_info:!0},title:(0,c.__)("Categories","woocommerce"),columnPrefsKey:"categories_report_columns",filters:t,advancedFilters:e})}}q.contextType=v.CurrencyContext;const A=(0,y.compose)((0,n.withSelect)(((e,t)=>{const{isRequesting:r,query:o}=t;if(r||o.search&&(!o.categories||!o.categories.length))return{};const{getItems:s,getItemsError:a,isResolving:c}=e(C.ITEMS_STORE_NAME),i={per_page:-1};return{categories:s("categories",i),isError:Boolean(a("categories",i)),isRequesting:c("getItems",["categories",i])}})))(q);var N=r(67327),E=r(62671),R=r(17853),j=r(37515),P=r(56739);class I extends o.Component{getChartMeta(){const{query:e}=this.props,t="compare-categories"===e.filter&&e.categories&&e.categories.split(",").length>1,r="single_category"===e.filter&&!!e.categories,o=t||r?"item-comparison":"time-comparison";return{isSingleCategoryView:r,itemsLabel:r?(0,c.__)("%d products","woocommerce"):(0,c.__)("%d categories","woocommerce"),mode:o}}render(){const{isRequesting:e,query:t,path:r}=this.props,{mode:s,itemsLabel:a,isSingleCategoryView:c}=this.getChartMeta(),i={...t};return"item-comparison"===s&&(i.segmentby=c?"product":"category"),(0,x.jsxs)(o.Fragment,{children:[(0,x.jsx)(P.Z,{query:t,path:r,filters:_,advancedFilters:g,report:"categories"}),(0,x.jsx)(R.Z,{charts:u,endpoint:"products",limitProperties:c?["products","categories"]:["categories"],query:i,selectedChart:(0,N.Z)(t.chart,u),filters:_,advancedFilters:g,report:"categories"}),(0,x.jsx)(E.Z,{charts:u,filters:_,advancedFilters:g,mode:s,endpoint:"products",limitProperties:c?["products","categories"]:["categories"],path:r,query:i,isRequesting:e,itemsLabel:a,selectedChart:(0,N.Z)(t.chart,u)}),c?(0,x.jsx)(j.Z,{isRequesting:e,query:i,baseSearchQuery:{filter:"single_category"},hideCompare:c,filters:_,advancedFilters:g}):(0,x.jsx)(A,{isRequesting:e,query:t,filters:_,advancedFilters:g})]})}}I.propTypes={query:a().object.isRequired,path:a().string.isRequired};const F=I},37515:(e,t,r)=>{r.d(t,{Z:()=>S});var o=r(65736),s=r(69307),a=r(94333),c=r(22629),i=r(9818),n=r(92819),l=r(10431),m=r(86020),d=r(81595),u=r(74617),g=r(67221),p=r(17844),_=r(88330),y=r(50955),h=r(66777),b=r(91978),w=r(81514);const f=(0,b.O3)("manageStock","no"),C=(0,b.O3)("stockStatuses",{});class v extends s.Component{constructor(){super(),this.getHeadersContent=this.getHeadersContent.bind(this),this.getRowsContent=this.getRowsContent.bind(this),this.getSummary=this.getSummary.bind(this)}getHeadersContent(){return[{label:(0,o.__)("Product title","woocommerce"),key:"product_name",required:!0,isLeftAligned:!0,isSortable:!0},{label:(0,o.__)("SKU","woocommerce"),key:"sku",hiddenByDefault:!0,isSortable:!0},{label:(0,o.__)("Items sold","woocommerce"),key:"items_sold",required:!0,defaultSort:!0,isSortable:!0,isNumeric:!0},{label:(0,o.__)("Net sales","woocommerce"),screenReaderLabel:(0,o.__)("Net sales","woocommerce"),key:"net_revenue",required:!0,isSortable:!0,isNumeric:!0},{label:(0,o.__)("Orders","woocommerce"),key:"orders_count",isSortable:!0,isNumeric:!0},{label:(0,o.__)("Category","woocommerce"),key:"product_cat"},{label:(0,o.__)("Variations","woocommerce"),key:"variations",isSortable:!0},"yes"===f?{label:(0,o.__)("Status","woocommerce"),key:"stock_status"}:null,"yes"===f?{label:(0,o.__)("Stock","woocommerce"),key:"stock",isNumeric:!0}:null].filter(Boolean)}getRowsContent(e=[]){const{query:t}=this.props,r=(0,l.getPersistedQuery)(t),{render:s,formatDecimal:a,getCurrencyConfig:i}=this.context,g=i();return(0,n.map)(e,(e=>{const{product_id:i,items_sold:n,net_revenue:p,orders_count:h}=e,b=e.extended_info||{},{category_ids:v,low_stock_amount:S,manage_stock:k,sku:x,stock_status:q,stock_quantity:A,variations:N=[]}=b,E=(0,c.decodeEntities)(b.name),R=(0,l.getNewPath)(r,"/analytics/orders",{filter:"advanced",product_includes:i}),j=(0,l.getNewPath)(r,"/analytics/products",{filter:"single_product",products:i}),{categories:P}=this.props,I=v&&P&&v.map((e=>P.get(e))).filter(Boolean)||[],F=(0,y.d)(q,A,S)?(0,w.jsx)(m.Link,{href:(0,u.getAdminLink)("post.php?action=edit&post="+i),type:"wp-admin",children:(0,o._x)("Low","Indication of a low quantity","woocommerce")}):C[q];return[{display:(0,w.jsx)(m.Link,{href:j,type:"wc-admin",children:E}),value:E},{display:x,value:x},{display:(0,d.formatValue)(g,"number",n),value:n},{display:s(p),value:a(p)},{display:(0,w.jsx)(m.Link,{href:R,type:"wc-admin",children:h}),value:h},{display:(0,w.jsxs)("div",{className:"woocommerce-table__product-categories",children:[I[0]&&(0,w.jsx)(_.Z,{category:I[0],categories:P}),I.length>1&&(0,w.jsx)(m.Tag,{label:(0,o.sprintf)((0,o._x)("+%d more","categories","woocommerce"),I.length-1),popoverContents:I.map((e=>(0,w.jsx)(_.Z,{category:e,categories:P,query:t},e.id)))})]}),value:I.map((e=>e.name)).join(", ")},{display:(0,d.formatValue)(g,"number",N.length),value:N.length},"yes"===f?{display:k?F:(0,o.__)("N/A","woocommerce"),value:k?C[q]:null}:null,"yes"===f?{display:k?(0,d.formatValue)(g,"number",A):(0,o.__)("N/A","woocommerce"),value:A}:null].filter(Boolean)}))}getSummary(e){const{products_count:t=0,items_sold:r=0,net_revenue:s=0,orders_count:a=0}=e,{formatAmount:c,getCurrencyConfig:i}=this.context,n=i();return[{label:(0,o._n)("Product","Products",t,"woocommerce"),value:(0,d.formatValue)(n,"number",t)},{label:(0,o._n)("Item sold","Items sold",r,"woocommerce"),value:(0,d.formatValue)(n,"number",r)},{label:(0,o.__)("Net sales","woocommerce"),value:c(s)},{label:(0,o._n)("Order","Orders",a,"woocommerce"),value:(0,d.formatValue)(n,"number",a)}]}render(){const{advancedFilters:e,baseSearchQuery:t,filters:r,hideCompare:s,isRequesting:a,query:c}=this.props,i={helpText:(0,o.__)("Check at least two products below to compare","woocommerce"),placeholder:(0,o.__)("Search by product name or SKU","woocommerce")};return(0,w.jsx)(h.Z,{compareBy:s?void 0:"products",endpoint:"products",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["products_count","items_sold","net_revenue","orders_count"],itemIdField:"product_id",isRequesting:a,labels:i,query:c,searchBy:"products",baseSearchQuery:t,tableQuery:{orderby:c.orderby||"items_sold",order:c.order||"desc",extended_info:!0,segmentby:c.segmentby},title:(0,o.__)("Products","woocommerce"),columnPrefsKey:"products_report_columns",filters:r,advancedFilters:e})}}v.contextType=p.CurrencyContext;const S=(0,a.compose)((0,i.withSelect)(((e,t)=>{const{query:r,isRequesting:o}=t,{getItems:s,getItemsError:a,isResolving:c}=e(g.ITEMS_STORE_NAME);if(o||r.search&&(!r.products||!r.products.length))return{};const i={per_page:-1};return{categories:s("categories",i),isError:Boolean(a("categories",i)),isRequesting:c("getItems",["categories",i])}})))(v)},50955:(e,t,r)=>{function o(e,t,r){return!!t&&e&&t<=r==="instock"}r.d(t,{d:()=>o})},22575:(e,t,r)=>{r.d(t,{I:()=>s});var o=r(65736);function s(e){return[e.country,e.state,e.name||(0,o.__)("TAX","woocommerce"),e.priority].map((e=>e.toString().toUpperCase().trim())).filter(Boolean).join("-")}},45719:(e,t,r)=>{r.d(t,{FI:()=>h,V1:()=>b,YC:()=>g,hQ:()=>p,jk:()=>_,oC:()=>y,qc:()=>u,uC:()=>w});var o=r(65736),s=r(96483),a=r(86989),c=r.n(a),i=r(92819),n=r(10431),l=r(67221),m=r(22575),d=r(91978);function u(e,t=i.identity){return function(r="",o){const a="function"==typeof e?e(o):e,i=(0,n.getIdsFromQuery)(r);if(i.length<1)return Promise.resolve([]);const l={include:i.join(","),per_page:i.length};return c()({path:(0,s.addQueryArgs)(a,l)}).then((e=>e.map(t)))}}u(l.NAMESPACE+"/products/attributes",(e=>({key:e.id,label:e.name})));const g=u(l.NAMESPACE+"/products/categories",(e=>({key:e.id,label:e.name}))),p=u(l.NAMESPACE+"/coupons",(e=>({key:e.id,label:e.code}))),_=u(l.NAMESPACE+"/customers",(e=>({key:e.id,label:e.name}))),y=u(l.NAMESPACE+"/products",(e=>({key:e.id,label:e.name}))),h=u(l.NAMESPACE+"/taxes",(e=>({key:e.id,label:(0,m.I)(e)})));function b({attributes:e,name:t}){const r=(0,d.O3)("variationTitleAttributesSeparator"," - ");if(t&&t.indexOf(r)>-1)return t;const s=(e||[]).map((({name:e,option:t})=>(t||(e=e.charAt(0).toUpperCase()+e.slice(1),t=(0,o.sprintf)((0,o.__)("Any %s","woocommerce"),e)),t))).join(", ");return s?t+r+s:t}const w=u((({products:e})=>e?l.NAMESPACE+`/products/${e}/variations`:l.NAMESPACE+"/variations"),(e=>({key:e.id,label:b(e)})))}}]);