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