diff --git a/build/index.asset.php b/build/index.asset.php index f434b48..0067fe2 100644 --- a/build/index.asset.php +++ b/build/index.asset.php @@ -1 +1 @@ - array('wp-core-data', 'wp-data', 'wp-dom-ready', 'wp-editor', 'wp-hooks'), 'version' => '0b5dcdea2863edd9e538'); + array('wp-core-data', 'wp-data', 'wp-dom-ready', 'wp-editor', 'wp-hooks'), 'version' => 'ffc86fc3d064c91ef82e'); diff --git a/build/index.js b/build/index.js index 0b63dab..dda962d 100644 --- a/build/index.js +++ b/build/index.js @@ -1 +1 @@ -(()=>{"use strict";var e={n:t=>{var s=t&&t.__esModule?()=>t.default:()=>t;return e.d(s,{a:s}),s},d:(t,s)=>{for(var r in s)e.o(s,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:s[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.domReady;var s=e.n(t);const r=window.wp.hooks,a=window.wp.data,o=window.wp.editor,i=window.wp.coreData,d="workflow_status",n="mediapress_review";async function p(e){if("rejected"===e.meta.mediapress_reviews_status)return void await c("requires-changes");const t=(0,a.select)(o.store).getCurrentPostId(),s=await(0,a.select)(i.store).getEntityRecords("root","comment",{post:t,type:n,per_page:-1,parent:0});s&&0!==s.length&&s.every(e=>"approved"===e.mediapress_reviews_status)&&c("approved")}async function c(e){const t=await(0,a.resolveSelect)(i.store).getEntityRecords("taxonomy",d,{per_page:100,slug:e});if(console.log(t),!t||0===t.length)return;const s=t[0];(0,a.dispatch)(o.store).editPost({[d]:[s.id]})}s()(()=>{(0,r.addAction)("mediaPressReviews.reviewAdded","mediaPress/starterPlugin/updateWorkflowStatusAfterReview",p)}),(0,r.addFilter)("mediaPress.checklist.item","mediaPress/starterPlugin/checkApprovedReview",e=>{if("has_approved_review"!==e.name)return e;const t=(0,a.select)(o.store).getCurrentPostId(),s=(0,a.select)(i.store).getEntityRecords("root","comment",{post:t,type:n,per_page:-1,parent:0});return s?0===s.filter(e=>"approved"===e.mediapress_reviews_status).length?{...e,status:"BLOCKING",message:"Must have at least one approved review"}:{...e,status:"COMPLETED",message:"Has at least one approved review"}:{...e,status:"BLOCKING",message:"Checking for approved reviews…"}});const l=["has_seo_headline","seo_headline_length","has_seo_description","seo_description_length"];(0,r.addFilter)("mediaPress.checklist.item","mediaPress/starterPlugin/addSeoTitleAction",e=>l.includes(e.name)?"COMPLETED"===e.status?e:{...e,action:()=>(0,a.dispatch)("mediapress/fields").openFieldGroup("seo")}:e)})(); \ No newline at end of file +(()=>{"use strict";var e={n:t=>{var s=t&&t.__esModule?()=>t.default:()=>t;return e.d(s,{a:s}),s},d:(t,s)=>{for(var r in s)e.o(s,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:s[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.domReady;var s=e.n(t);const r=window.wp.hooks,o=window.wp.data,a=window.wp.editor,i=window.wp.coreData,d="workflow_status",n="mediapress_review";async function p(e){if("rejected"===e.meta.mediapress_reviews_status)return void await c("requires-changes");const t=(0,o.select)(a.store).getCurrentPostId(),s=await(0,o.resolveSelect)(i.store).getEntityRecords("root","comment",{post:t,type:n,per_page:-1,parent:0,orderby:"date",order:"desc"});s&&0!==s.length&&s.every(e=>"approved"===e.mediapress_reviews_status)&&c("approved")}async function c(e){const t=await(0,o.resolveSelect)(i.store).getEntityRecords("taxonomy",d,{per_page:100,slug:e});if(console.log(t),!t||0===t.length)return;const s=t[0];(0,o.dispatch)(a.store).editPost({[d]:[s.id]})}s()(()=>{(0,r.addAction)("mediaPressReviews.reviewAdded","mediaPress/starterPlugin/updateWorkflowStatusAfterReview",p)}),(0,r.addFilter)("mediaPress.checklist.item","mediaPress/starterPlugin/checkApprovedReview",e=>{if("has_approved_review"!==e.name)return e;const t=(0,o.select)(a.store).getCurrentPostId(),s=(0,o.select)(i.store).getEntityRecords("root","comment",{post:t,type:n,per_page:-1,parent:0,orderby:"date",order:"desc"});return s?0===s.filter(e=>"approved"===e.mediapress_reviews_status).length?{...e,status:"BLOCKING",message:"Must have at least one approved review"}:{...e,status:"COMPLETED",message:"Has at least one approved review"}:{...e,status:"BLOCKING",message:"Checking for approved reviews…"}});const l=["has_seo_headline","seo_headline_length","has_seo_description","seo_description_length"];(0,r.addFilter)("mediaPress.checklist.item","mediaPress/starterPlugin/addSeoTitleAction",e=>l.includes(e.name)?"COMPLETED"===e.status?e:{...e,action:()=>(0,o.dispatch)("mediapress/fields").openFieldGroup("seo")}:e)})(); \ No newline at end of file diff --git a/src/review-workflow.js b/src/review-workflow.js index d4e5829..ebbac38 100644 --- a/src/review-workflow.js +++ b/src/review-workflow.js @@ -24,10 +24,12 @@ addFilter('mediaPress.checklist.item', 'mediaPress/starterPlugin/checkApprovedRe const postId = select(editorStore).getCurrentPostId(); const reviews = select(coreStore).getEntityRecords('root', 'comment', { - post: postId, - type: COMMENT_TYPE, - per_page: -1, - parent: 0, + post: postId, + type: COMMENT_TYPE, + per_page: -1, + parent: 0, + orderby: 'date', + order: 'desc', }); // If reviews haven't loaded yet, show as blocking until resolved. @@ -76,11 +78,13 @@ async function updateWorkflowStatusAfterReview(review) { // Get all top-level reviews for this post. const postId = select(editorStore).getCurrentPostId(); - const reviews = await select(coreStore).getEntityRecords('root', 'comment', { + const reviews = await resolveSelect(coreStore).getEntityRecords('root', 'comment', { post: postId, type: COMMENT_TYPE, per_page: -1, parent: 0, + orderby: 'date', + order: 'desc', }); if (!reviews || reviews.length === 0) {