Skip to content

Commit

Permalink
Hide and show native ecommerce nav items using js
Browse files Browse the repository at this point in the history
  • Loading branch information
sazedul-haque committed Oct 5, 2024
1 parent 1c56901 commit 46bb386
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 5 deletions.
14 changes: 14 additions & 0 deletions assets/react/admin-dashboard/segments/options.js
Original file line number Diff line number Diff line change
Expand Up @@ -655,6 +655,8 @@ document.addEventListener('DOMContentLoaded', function () {
* @since 2.0.7
*/
function showHideOption(element, conditionFn) {
if (!element) return;

if (conditionFn()) {
element.classList.remove("tutor-d-none");
} else {
Expand Down Expand Up @@ -700,6 +702,10 @@ document.addEventListener('DOMContentLoaded', function () {

const cart_page_field = document.querySelector("#field_tutor_cart_page_id");
const checkout_page_field = document.querySelector("#field_tutor_checkout_page_id");

// Select native ecommerce nav items
const payment_nav_item = document.querySelector("[data-tab=ecommerce_payment]")?.parentElement;
const checkout_nav_item = document.querySelector("[data-tab=ecommerce_checkout]")?.parentElement;

showHideOption(woocommerce_block, () => monetized_by === 'wc');
showHideOption(currency_block, () => monetized_by === 'tutor');
Expand All @@ -710,6 +716,10 @@ document.addEventListener('DOMContentLoaded', function () {
showHideOption(fees_block, () => revenue_sharing_engines.includes(monetized_by) && revenue_sharing_checkbox?.checked);
showHideOption(withdraw_block, () => revenue_sharing_engines.includes(monetized_by) && revenue_sharing_checkbox?.checked);

// Hide and show native ecommerce nav items
showHideOption(payment_nav_item, () => monetized_by === 'tutor');
showHideOption(checkout_nav_item, () => monetized_by === 'tutor');

// Handle monetization fields on change.
monetization_field.onchange = (e) => {
const value = e.target.value;
Expand All @@ -721,6 +731,10 @@ document.addEventListener('DOMContentLoaded', function () {
showHideOption(revenue_sharing_block, () => revenue_sharing_engines.includes(value));
showHideOption(fees_block, () => revenue_sharing_engines.includes(value) && revenue_sharing_checkbox?.checked);
showHideOption(withdraw_block, () => revenue_sharing_engines.includes(value) && revenue_sharing_checkbox?.checked);

// Hide and show native ecommerce nav items
showHideOption(payment_nav_item, () => value === 'tutor');
showHideOption(checkout_nav_item, () => value === 'tutor');
}
}

Expand Down
5 changes: 0 additions & 5 deletions views/options/settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,6 @@
<?php
foreach ( $section['submenu'] as $key => $menu_item ) :
$active_class = $active_tab === $key ? ' is-active' : '';
// If not monetized by native, then ecommerce submenu will be hidden.
if ( Ecommerce::MONETIZE_BY !== $monetize_by && 'ecommerce' === explode( '_', $key )[0] ) {
continue;
}

?>
<li class="tutor-nav-item">
<a class="tutor-nav-link<?php echo esc_attr( $active_class ); ?>" data-page="<?php echo esc_attr( $get_page ); ?>" data-tab="<?php echo esc_attr( $key ); ?>">
Expand Down

0 comments on commit 46bb386

Please sign in to comment.