PluginProbe
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler / 1.7.0
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler v1.7.0
1.7.0 1.6.6 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.4 1.5.5 1.5.3 1.5.2 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 1.3.28 1.3.27 1.3.26 1.3.25 1.3.23 1.3.22 1.3.21 1.3.20 All 50 releases
fluent-cart / assets / ProductRatingBlockEditor.js

ProductRatingBlockEditor.js in FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler 1.7.0, at assets/ProductRatingBlockEditor.js

3 lines 3.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import{j as e}from"./chunks/jsx-runtime.js?ver=1.7.0";import{b as i}from"./chunks/BlockEditorTranslator.js?ver=1.7.0";import{E as b}from"./chunks/EditorPanel.js?ver=1.7.0";import{E}from"./chunks/EditorPanelRow.js?ver=1.7.0";import{R as P,u as H,a as M}from"./chunks/reviewBlockShared.js?ver=1.7.0";import{o as S}from"./chunks/Icons.js?ver=1.7.0";import"./chunks/SelectProductModal.js?ver=1.7.0";import"./chunks/index6.js?ver=1.7.0";import"./chunks/ProductListItem.js?ver=1.7.0";import"./chunks/index5.js?ver=1.7.0";import"./chunks/add-query-args.js?ver=1.7.0";import"./chunks/SingleProductContext.js?ver=1.7.0";const{InspectorControls:I}=wp.blockEditor,{__experimentalNumberControl:_}=wp.components,q=({attributes:r,setAttributes:o,selectedProduct:p,setSelectedProduct:d,insideParent:s})=>e.jsx(I,{children:e.jsx("div",{className:"fct-inspector-control-wrap fct-inspector-control-wrap--product-card fct-inspector-control-wrap--product-rating",children:e.jsx("div",{className:"fct-inspector-control-group",children:e.jsxs("div",{className:"fct-inspector-control-body",children:[!s&&e.jsx(P,{attributes:r,setAttributes:o,selectedProduct:p,setSelectedProduct:d}),e.jsx(b,{title:i("Visibility"),children:e.jsxs(E,{className:"flex-col",children:[e.jsx(_,{label:i("Minimum Reviews"),help:i("Hide the rating until the product has at least this many reviews. 0 always shows it, including five empty stars on a product with none."),value:r.minReviewCount,min:0,step:1,onChange:t=>{const n=parseInt(t,10);o({minReviewCount:isNaN(n)||n<0?0:n})}}),e.jsx(_,{label:i("Minimum Average Rating"),help:i("Hide the rating unless the product averages at least this many stars. 0 shows every rating. Half stars are allowed."),value:r.minAverageRating,min:0,max:5,step:.5,onChange:t=>{const n=parseFloat(t);if(isNaN(n)||n<0){o({minAverageRating:0});return}o({minAverageRating:Math.min(5,n)})}})]})})]})})})}),{useBlockProps:B}=wp.blockEditor,{registerBlockType:F}=wp.blocks,l=window.fluent_cart_product_rating_data;F(l.slug+"/"+l.name,{apiVersion:3,title:l.title,description:l.description,icon:{src:S},category:"fluent-cart",attributes:{query_type:{type:"string",default:"default"},product_id:{type:["string","number"],default:""},minReviewCount:{type:"number",default:0},minAverageRating:{type:"number",default:0}},edit:({attributes:r,setAttributes:o,clientId:p})=>{var v,w,y,x;const d=B({className:"fct-product-rating-block-editor"}),s=H(p),{selectedProduct:t,setSelectedProduct:n}=M(r,s,!1);wp.element.useEffect(()=>{s&&r.query_type!=="default"&&o({query_type:"default"})},[s,r.query_type]);const u=((w=(v=t==null?void 0:t.detail)==null?void 0:v.other_info)==null?void 0:w.average_rating)||0,f=((x=(y=t==null?void 0:t.detail)==null?void 0:y.other_info)==null?void 0:x.review_count)||0,N=c=>{const R=[];for(let a=1;a<=5;a++){const j=a<=Math.floor(c),k=!j&&a===Math.floor(c)+1&&c-Math.floor(c)>=.5;let m="fct-star fct-star-empty";j?m="fct-star fct-star-filled":k&&(m="fct-star fct-star-half"),R.push(e.jsx("span",{className:m,children:"�
2 "},a))}return R},h=parseInt(r.minReviewCount,10)||0,g=parseFloat(r.minAverageRating)||0,C=h>0&&f<h||g>0&&u<g;return e.jsxs("div",{...d,children:[e.jsx(q,{attributes:r,setAttributes:o,selectedProduct:t,setSelectedProduct:n,insideParent:s}),C?e.jsx("span",{className:"fct-product-rating-block-editor-hidden",children:i("Hidden — this product is below the thresholds set here")}):e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"fct-product-card-stars",children:N(u)}),e.jsxs("span",{className:"fct-product-card-review-count",children:["(",f,")"]})]})]})},save:function(){return null},supports:{html:!1,align:["left","center","right"],typography:{fontSize:!0,lineHeight:!0,__experimentalDefaultControls:{fontSize:!0}},color:{text:!0},spacing:{margin:!0,padding:!0}}});
3