File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 192192 display : none;
193193 }
194194
195+ # todo-list-completed-delete-all-wrapper {
196+ margin : 0.25rem 0.5rem 0.75rem 0.5rem ;
197+ border-top : 1px solid var (--prpl-color-gray-2 );
198+ display : none;
199+
200+ # todo-list-completed-delete-all {
201+ display : flex;
202+ align-items : center;
203+ gap : 0.5rem ;
204+ background-color : transparent;
205+ border : none;
206+ padding : 0 ;
207+ margin : 0.5rem 0 0 0 ;
208+ cursor : pointer;
209+ color : var (--prpl-color-link );
210+ font-size : var (--prpl-font-size-small );
211+
212+ & : hover {
213+
214+ svg path {
215+ fill : var (--prpl-color-accent-red );
216+ }
217+ }
218+
219+ }
220+ }
221+
222+ /* Show the delete all button if there are at least 3 completed tasks */
223+ & : has (.prpl-suggested-task : nth-of-type (3 )) # todo-list-completed-delete-all-wrapper {
224+ display : block;
225+ }
226+
195227 .prpl-suggested-task-points-wrapper {
196228 position : relative;
197229 }
Original file line number Diff line number Diff line change @@ -193,6 +193,20 @@ const prplTodoWidget = {
193193 removeLoader : ( ) => {
194194 document . querySelector ( '#todo-list .prpl-loader' ) ?. remove ( ) ;
195195 } ,
196+
197+ /**
198+ * Delete all completed tasks.
199+ */
200+ deleteAllCompletedTasks : ( ) => {
201+ document
202+ . querySelectorAll ( '#todo-list-completed .prpl-suggested-task' )
203+ . forEach ( ( item ) => {
204+ const postId = parseInt ( item . getAttribute ( 'data-post-id' ) ) ;
205+ prplSuggestedTask . trash ( postId ) ;
206+ } ) ;
207+
208+ // Resize event will be triggered by the trash function.
209+ } ,
196210} ;
197211
198212document
Original file line number Diff line number Diff line change @@ -62,6 +62,14 @@ public function the_todo_list() {
6262 </svg>
6363 </span>
6464 </summary>
65+ <div id="todo-list-completed-delete-all-wrapper">
66+ <button id="todo-list-completed-delete-all" onclick="prplTodoWidget.deleteAllCompletedTasks()">
67+ <span style="display: inline-block; width: 18px; height: 18px;">
68+ <svg role="img" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#9ca3af" d="M32.99 47.88H15.01c-3.46 0-6.38-2.7-6.64-6.15L6.04 11.49l-.72.12c-.82.14-1.59-.41-1.73-1.22-.14-.82.41-1.59 1.22-1.73.79-.14 1.57-.26 2.37-.38h.02c2.21-.33 4.46-.6 6.69-.81v-.72c0-3.56 2.74-6.44 6.25-6.55 2.56-.08 5.15-.08 7.71 0 3.5.11 6.25 2.99 6.25 6.55v.72c2.24.2 4.48.47 6.7.81.79.12 1.59.25 2.38.39.82.14 1.36.92 1.22 1.73-.14.82-.92 1.36-1.73 1.22l-.72-.12-2.33 30.24c-.27 3.45-3.18 6.15-6.64 6.15Zm-17.98-3h17.97c1.9 0 3.51-1.48 3.65-3.38l2.34-30.46c-2.15-.3-4.33-.53-6.48-.7h-.03c-5.62-.43-11.32-.43-16.95 0h-.03c-2.15.17-4.33.4-6.48.7l2.34 30.46c.15 1.9 1.75 3.38 3.65 3.38ZM24 7.01c2.37 0 4.74.07 7.11.22v-.49c0-1.93-1.47-3.49-3.34-3.55-2.5-.08-5.03-.08-7.52 0-1.88.06-3.34 1.62-3.34 3.55v.49c2.36-.15 4.73-.22 7.11-.22Zm5.49 32.26h-.06c-.83-.03-1.47-.73-1.44-1.56l.79-20.65c.03-.83.75-1.45 1.56-1.44.83.03 1.47.73 1.44 1.56l-.79 20.65c-.03.81-.7 1.44-1.5 1.44Zm-10.98 0c-.8 0-1.47-.63-1.5-1.44l-.79-20.65c-.03-.83.61-1.52 1.44-1.56.84 0 1.52.61 1.56 1.44l.79 20.65c.03.83-.61 1.52-1.44 1.56h-.06Z"></path></svg>
69+ </span>
70+ <?php \esc_html_e ( 'Delete all completed tasks ' , 'progress-planner ' ); ?>
71+ </button>
72+ </div>
6573 <ul id="todo-list-completed" class="prpl-todo-list prpl-suggested-tasks-list"></ul>
6674 </details>
6775 <?php
You can’t perform that action at this time.
0 commit comments