Vegetable Stuffing
Looking for a delicious and CKD-friendly dish to enjoy this holiday season or any time of year? This Vegetable Stuffing Casserole is the perfect choice, offering a flavorful blend of fresh vegetables, healthy fats, and low-sodium ingredients that are gentle on the kidneys. Whether you're managing chronic kidney disease or simply looking for a healthier alternative, this stuffing is a savory, satisfying option that doesn't compromise on taste.
As a Registered Dietitian Nutritionist (RDN) with extensive experience in guiding individuals through dietary management for chronic kidney disease (CKD), I am committed to sharing recipes that are both nutritious and kidney-friendly. With years of specialized expertise, I focus on developing meal options that cater to CKD patients' unique nutritional needs while promoting better health and enjoyment of food. My knowledge ensures that each recipe, including this Easy Stuffing with Vegetables, is carefully curated to provide both flavor and safety for those managing kidney health.

This Vegetable Stuffing is crafted to align with CKD dietary requirements by using low-sodium vegetable broth, fresh vegetables, and herbs to maximize flavor without relying on excess salt. The inclusion of kidney-friendly ingredients like carrots, celery, and mushrooms ensures that the dish is low in potassium and sodium, making it a safe and satisfying option for those managing chronic kidney disease. By incorporating healthy fats and moderate protein, this recipe supports balanced nutrition while prioritizing kidney health.
If you are looking for other kidney friendly side dishes, we have a cranberry walnut stuffing with apples that you might like and a broccoli crunch salad that makes a great crispy side dish.
[feast_advanced_jump_to]Ingredients For Stuffing Vegetable CasseroleThe ingredients for this Easy Vegetable Stuffing Recipe are carefully selected to bring a balance of flavor, texture, and nutrition, perfect for those following a CKD-friendly diet. From fresh vegetables and aromatic seasonings to low-sodium broth and hearty French bread, each component works together to create a delicious, wholesome dish that's easy to prepare.

See recipe card for quantities.How To Make Vegetarian Stuffing Casserole
Now that you have all your ingredients ready, it's time to bring this Vegetable Dressing to life with a few simple steps. Follow these instructions to create a flavorful, kidney-friendly dish that's perfect for any occasion.


2. Heat 3 tablespoon of olive oil in a large skillet over medium heat. Add the onions, carrot and celery and cook until they have begun to soften, about 5 minutes.

3. Add mushrooms to skillet, and cook until they have begun to brown and loose their liquid. This is about 6-8 minutes.
Spray a 9x13 in pan with pan spray. Place the prepared stuffing in the pan.

4.Add garlic and poultry seasoning and mix to combine.

5. Add balsamic vinegar and scrape up the brown bits on the bottom of the pan. Add 1 cup of broth and simmer for 2-3 minutess

6. Add bread cubes to a large bowl, then pour the vegetable and broth mixture over the top.

7. Mix eggs and remaining cup of broth in a small bowl then pour over the bread and vegetable mixture.

8. Add the chopped parsley and mix very well, letting the bread soak up the broth.

9. Spray a 9x13 in pan with pan spray. Place the prepared stuffing in the pan.

10. Bake in the oven until the stuffing is set and top is crunchy and brown. About 30 minutes.
Hint: Pre-toast the Bread: Make sure the bread cubes are fully dried and crisp before mixing them with the other ingredients to avoid a mushy stuffing.
Substitutions For A Stuffing with VegetablesFor those needing to tailor the Vegetable Stuffing to specific dietary requirements, these substitutions can help maintain kidney health without sacrificing flavor.
Low-Sodium Broth Alternatives: Opt for homemade vegetable broth or water infused with herbs if low-sodium broth is unavailable.Replace Eggs: Use a flaxseed mixture (1 tablespoon ground flaxseed 3 tablespoons water per egg) as an egg substitute for those managing cholesterol intake.No Balsamic Vinegar: Substitute balsamic vinegar with apple cider vinegar or a splash of lemon juice to reduce acidity and match CKD requirements.These tips, variations, and substitutions ensure this stuffing remains versatile, flavorful, and suited to your kidney-friendly lifestyle.

To make this Stuffing with Vegetables even more adaptable to your dietary needs, consider trying these CKD-friendly variations. Each option ensures you can enjoy new flavors while staying within safe nutritional limits.
Whole Grain Twist: Use whole-grain bread for added fiber if tolerated, which can support better digestion and kidney health.Add Fresh Herbs: Substitute dried poultry seasoning with a blend of fresh thyme, rosemary, and sage for a burst of natural flavor without added sodium.Vegetable Variety: Swap out carrots for parsnips or add diced bell peppers for a slightly different taste that remains low in potassium.StorageTo keep your Vegetable Stuffing fresh and maintain its CKD-friendly qualities, follow these storage tips:
Refrigeration: Store any leftover stuffing in an airtight container in the refrigerator for up to 3-4 days. Be sure to let it cool completely before sealing it in the container to prevent moisture buildup.Freezing: For longer storage, freeze the stuffing in individual portions or a single large container. Wrap it tightly in plastic wrap or aluminum foil, then place it in a freezer-safe bag or container. It can be stored for up to 2-3 months. When ready to eat, thaw overnight in the refrigerator and reheat in the oven for the best texture.Reheating: To reheat, cover the stuffing with foil and warm it in the oven at 350°F for about 20-25 minutes, or until heated through. This helps maintain its moisture and ensures the top stays crispy. You can also reheat individual portions in the microwave, but the oven method keeps the texture better.These storage methods will help you enjoy your Vegetable Stuffing safely and conveniently while keeping it fresh and kidney-friendly.
Top TipUse Day-Old Bread: If possible, use slightly stale bread, as it absorbs the broth better and gives the stuffing a great textureFAQs about Vegetarian Christmas StuffingCan I make this Vegetable Stuffing ahead of time?Yes, you can prep the stuffing a day in advance! Prepare the vegetable mixture and toast the bread, then store both separately in the refrigerator. When ready to bake, simply combine the ingredients and proceed with the recipe as instructed.
Can I use a different type of bread for this recipe?Absolutely! While French bread works well for this stuffing, you can substitute with whole-grain bread for added fiber, or gluten-free bread if you need a gluten-free option. Just make sure the bread is firm enough to hold up when mixed with the broth.
Is this recipe suitable for someone with high potassium levels?Yes, this recipe is kidney-friendly, with low-potassium ingredients like celery, carrots, and mushrooms. However, if you're particularly sensitive to potassium, you can adjust the vegetables by limiting higher-potassium items or consulting with a healthcare provider for additional guidance.
Related Side Dish RecipesLooking for other recipes to serve with easy vegetable stuffing? Try these:




These are my favorite dishes to serve with Vegetable Stuffing Recipe:




If you tried this Recipe or any other recipe on my website, please please leave a star rating and let me know how it goes in the comments below. I love hearing from you!
PrintRecipeStuffing Recipe with Vegetables
5 Stars 4 Stars 3 Stars 2 Stars 1 Star
No reviews
This Vegetable Stuffing Recipe is a flavorful, kidney-friendly dish made with fresh vegetables, low-sodium broth, and aromatic herbs. Perfect for those following a CKD-friendly diet, itâs a healthy and delicious side that pairs well with any meal.
Author: Mathea Ford, MBA, RDN, LD Prep Time: 5 minutes Cook Time: 1hr 30 minutes Total Time: 1hr 35 minutes Yield: 12 Category: Entree Method: Bake Cuisine: American Diet: Vegetarian Ingredients Units USM 14 ounce loaf of sliced french bread loaf, cut into ½ in cubes - about 10 cups3 tbsp olive oil1 ½ cups diced white onion1 ½ cup diced carrots1 cup diced celery4 cups white button or cremini mushrooms, stems removed and chopped small4 tbsp minced garlic3 tbsp poultry seasoning1 tbsp balsamic vinegar2 cups low sodium vegetable broth2 large eggs¼ cup chopped fresh parsley Cook Mode Prevent your screen from going dark Instructions Preheat oven to 325'F. Spread cubed bread onto a baking sheet. Bake bread until mostly dried out and crisp, about 30 minutes. Toss it halfway through. Once bread is done toasting, set aside to cool and increase oven temperature to 400'FHeat 3 tablespoon of olive oil in a large skillet over medium heat. Add the onions, carrot and celery and cook until they have begun to soften, about 5 minutes.Add mushrooms to skillet, and cook until they have begun to brown and loose their liquid. This is about 6-8 minutes.Add garlic and poultry seasoning and mix to combine.Add balsamic vinegar and scrape up the brown bits on the bottom of the pan. Add 1 cup of broth and simmer for 2-3 minutes.Add bread cubes to a large bowl, then pour the vegetable and broth mixture over the top.Mix eggs and remaining cup of broth in a small bowl then pour over the bread and vegetable mixture.Add the chopped parsley and mix very well, letting the bread soak up the broth.Spray a 9x13 in pan with pan spray. Place the prepared stuffing in the pan.Bake in the oven until the stuffing is set and top is crunchy and brown. About 30 minutes. (function(){ window.addEventListener( 'message', function( event ){ if ( ( 'https://nutrifox.com' !== event.origin && 'https://nutrifox.test' !== event.origin ) || typeof event.data !== 'string' ) { return; } var payload = JSON.parse( event.data ); switch ( payload.event ) { case 'setHeight': var iframe = document.getElementById( 'nutrifox-label-' payload.recipeId ); iframe.style.height = payload.height 'px'; break; } } );}()); Did you make this recipe?Share a photo and tag us â we can't wait to see what you've made!
window.trCommon={"minRating":6,"ajaxurl":"https:\/\/www.renaldiethq.com\/wp-admin\/admin-... = window.TastyRecipes || {};window.TastyRecipes.smoothScroll = {init() {document.addEventListener( 'click', ( e ) => {let anchor = e.target;if ( anchor.tagName !== 'A' ) {anchor = anchor.closest( 'a.tasty-recipes-scrollto' );}if ( ! anchor || ! anchor.classList.contains( 'tasty-recipes-scrollto' ) ) {return;}const elementHref = anchor.getAttribute( 'href' );if ( ! elementHref ) {return;}e.preventDefault();this.goToSelector( elementHref );});},goToSelector( selector ) {const element = document.querySelector( selector );if ( ! element ) {return;}element.scrollIntoView( { behavior: 'smooth' } );}};document.addEventListener('DOMContentLoaded',() => window.TastyRecipes.smoothScroll.init());(function(){var bothEquals = function( d1, d2, D ) {var ret = 0;if (d1<=D) {ret ;}if (d2<=D) {ret ;}return ret === 2;};var frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1 1,d2=1;if(x!==n1)while(bothEquals(d1,d2,D)){var m=(n1 n2)/(d1 d2);if(x===m){if(d1 d2<=D){d1 =d2;n1 =n2;d2=D 1}else if(d1>d2)d2=D 1;else d1=D 1;break}else if(x<m){n2=n1 n2;d2=d1 d2}else{n1=n1 n2;d1=d1 d2}}if(d1>D){d1=d2;n1=n2}if(!mixed)return[0,n1,d1];var q=Math.floor(n1/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1 P_2;Q=A*Q_1 Q_2;if(B-A<5e-8)break;B=1/(B-A);P_2=P_1;P_1=P;Q_2=Q_1;Q_1=Q}if(Q>D){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed)return[0,sgn*P,Q];var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]};window.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent("{"¼":"1/4","½":"1/2","¾":"3/4","â":"1/3","â":"2/3","â":"1/5","â":"2/5","â":"3/5","â":"4/5","â":"1/6","â":"5/6","â":"1/8","â":"3/8","â":"5/8","â":"7/8"}"));window.tastyRecipesFormatAmount = function(amount, el) {if ( parseFloat( amount ) === parseInt( amount ) ) {return amount;}var roundType = 'frac';if (typeof el.dataset.amountShouldRound !== 'undefined') {if ('false' !== el.dataset.amountShouldRound) {if ( 'number' === el.dataset.amountShouldRound ) {roundType = 'number';} else if ('frac' === el.dataset.amountShouldRound) {roundType = 'frac';} else if ('vulgar' === el.dataset.amountShouldRound) {roundType = 'vulgar';} else {roundType = 'integer';}}}if ('number' === roundType) {amount = Number.parseFloat(amount).toPrecision(2);} else if ('integer' === roundType) {amount = Math.round(amount);} else if ('frac' === roundType || 'vulgar' === roundType) {var denom = 8;if (typeof el.dataset.unit !== 'undefined') {var unit = el.dataset.unit;if (['cups','cup','c'].includes(unit)) {denom = 4;if (0.125 === amount) {denom = 8;}if ("0.1667" === Number.parseFloat( amount ).toPrecision(4)) {denom = 6;}}if (['tablespoons','tablespoon','tbsp'].includes(unit)) {denom = 2;}if (['teaspoons','teaspoon','tsp'].includes(unit)) {denom = 8;}}var amountArray = frac.cont( amount, denom, true );var newAmount = '';if ( amountArray[1] !== 0 ) {newAmount = amountArray[1] '/' amountArray[2];if ('vulgar' === roundType) {Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {if (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {newAmount = vulgar;}});}}if ( newAmount ) {newAmount = ' ' newAmount;}if ( amountArray[0] ) {newAmount = amountArray[0] newAmount;}amount = newAmount;}return amount;};window.tastyRecipesUpdatePrintLink = () => {const printButton = document.querySelector( '.tasty-recipes-print-button' );if ( ! printButton ) {return;}const printURL = new URL( printButton.href );const searchParams = new URLSearchParams( printURL.search );const unitButton = document.querySelector( '.tasty-recipes-convert-button-active' );const scaleButton = document.querySelector( '.tasty-recipes-scale-button-active' );let unit = '';let scale = '';if ( unitButton ) {unit = unitButton.dataset.unitType;searchParams.delete('unit');searchParams.set( 'unit', unit );}if ( scaleButton ) {scale = scaleButton.dataset.amount;searchParams.set( 'scale', scale );}const paramString = searchParams.toString();const newURL = '' === paramString ? printURL.href : printURL.origin printURL.pathname '?' paramString;const printLinks = document.querySelectorAll( '.tasty-recipes-print-link' );printLinks.forEach( ( el ) => {el.href = newURL;});const printButtons = document.querySelectorAll( '.tasty-recipes-print-button' );printButtons.forEach( ( el ) => {el.href = newURL;});};document.addEventListener( 'DOMContentLoaded', () => {if ( ! window.location.href.includes( '/print/' ) ) {return;}const searchParams = new URLSearchParams( window.location.search );const unit = searchParams.get( 'unit' );const scale = searchParams.get( 'scale' );if ( unit && ( 'metric' === unit || 'usc' === unit ) ) {document.querySelector( '.tasty-recipes-convert-button[data-unit-type="' unit '"]' ).click();}if ( scale && Number(scale) > 0 ) {document.querySelector( '.tasty-recipes-scale-button[data-amount="' Number(scale) '"]' ).click();}});}());(function(){var buttonClass = 'tasty-recipes-convert-button',buttonActiveClass = 'tasty-recipes-convert-button-active',buttons = document.querySelectorAll('.tasty-recipes-convert-button');if ( ! buttons ) {return;}buttons.forEach(function(button){button.addEventListener('click', function(event){event.preventDefault();var recipe = event.target.closest('.tasty-recipes');if ( ! recipe ) {return;}var otherButtons = recipe.querySelectorAll('.' buttonClass);otherButtons.forEach(function(bt){bt.classList.remove(buttonActiveClass);});button.classList.add(buttonActiveClass);var unitType = button.dataset.unitType;var dataset = 'nf' unitType.charAt(0).toUpperCase() unitType.slice(1);var convertables = recipe.querySelectorAll('span[data-nf-original]');convertables.forEach(function(convertable){if (typeof convertable.dataset.amountOriginalType === 'undefined'&& 'usc' === convertable.dataset.nfOriginal) {if (-1 !== convertable.innerText.indexOf('/')) {convertable.dataset.amountOriginalType = 'frac';}if (-1 !== convertable.innerText.indexOf('.')) {convertable.dataset.amountOriginalType = 'number';}Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {if (-1 !== convertable.innerText.indexOf(vulgar)) {convertable.dataset.amountOriginalType = 'vulgar';}});}convertable.innerText = convertable.dataset[dataset];if (typeof convertable.dataset.unit !== 'undefined') {convertable.dataset.unit = convertable.dataset[dataset 'Unit'];}if (typeof convertable.dataset.amount !== 'undefined') {convertable.dataset.amount = convertable.dataset[dataset];if ('metric' === unitType) {convertable.dataset.amountShouldRound = parseInt(convertable.dataset.amount) >= 10 ? 'integer' : 'number';} else if (typeof convertable.dataset.amountOriginalType !== 'undefined') {convertable.dataset.amountShouldRound = convertable.dataset.amountOriginalType;} else {convertable.dataset.amountShouldRound = false;}convertable.innerText = window.tastyRecipesFormatAmount(convertable.dataset[dataset], convertable);}if (convertable.classList.contains('nutrifox-unit')) {if ('gram' === convertable.dataset[dataset]) {convertable.innerText = 'grams';}}});document.querySelectorAll('.tasty-recipes-scale-button-active').forEach(function(scaleButton){scaleButton.click();});window.tastyRecipesUpdatePrintLink();});});}());(function(){document.querySelectorAll('[data-tr-ingredient-checkbox]').forEach(function(el) {var input = el.querySelector('.tr-ingredient-checkbox-container input[type="checkbox"]');if ( ! input ) {return;}if (input.checked) {el.dataset.trIngredientCheckbox = 'checked';}el.addEventListener('click', function(event) {if ( 'A' === event.target.nodeName|| 'INPUT' === event.target.nodeName|| 'LABEL' === event.target.nodeName ) {return;}input.click();});input.addEventListener('change', function() {el.dataset.trIngredientCheckbox = input.checked ? 'checked' : '';});});}());window.TastyRecipes = window.TastyRecipes || {};window.TastyRecipes.cookMode = {wakeLockApi: false,wakeLock: false,cookModeSelector: '.tasty-recipes-cook-mode',init() {if ("wakeLock" in navigator && "request" in navigator.wakeLock) {this.wakeLockApi = navigator.wakeLock;}const cookModes = document.querySelectorAll(this.cookModeSelector);if (cookModes.length > 0) {for (const cookMode of cookModes) {if (this.wakeLockApi) {cookMode.querySelector('input[type="checkbox"]').addEventListener("change", event => {this.checkboxChange(event.target);}, false);} else {cookMode.style.display = "none";}}}},checkboxChange(checkbox) {if (checkbox.checked) {this.lock();} else {this.unlock();}},setCheckboxesState(state) {const checkboxes = document.querySelectorAll(this.cookModeSelector ' input[type="checkbox"]');for (const checkbox of checkboxes) {checkbox.checked = state;}},async lock() {try {this.wakeLock = await this.wakeLockApi.request("screen");this.wakeLock.addEventListener("release", () => {this.wakeLock = false;this.setCheckboxesState(false);});this.setCheckboxesState(true);} catch (error) {this.setCheckboxesState(false);}},unlock() {if (this.wakeLock) {this.wakeLock.release();this.wakeLock = false;}this.setCheckboxesState(false);}};(function(callback) {if (document.readyState !== "loading") {callback();} else {document.addEventListener("DOMContentLoaded", callback);}})(() => {window.TastyRecipes.cookMode.init();});window.TastyRecipes = window.TastyRecipes || {};window.TastyRecipes.staticTooltip = {element: null,tooltipElement: null,deleting: false,init( element ) {if ( this.deleting ) {return;}this.element = element;this.buildElements();},destroy() {if ( ! this.tooltipElement || this.deleting ) {return;}this.deleting = true;this.tooltipElement.classList.remove( 'opened' );setTimeout( () => {this.tooltipElement.remove();this.deleting = false;}, 500 );},buildElements() {const tooltipElement = document.createElement( 'div' );tooltipElement.classList.add( 'tasty-recipes-static-tooltip');tooltipElement.setAttribute( 'id', 'tasty-recipes-tooltip' );const currentTooltipElement = document.getElementById( 'tasty-recipes-tooltip' );if ( currentTooltipElement ) {document.body.replaceChild( tooltipElement, currentTooltipElement );} else {document.body.appendChild( tooltipElement );}this.tooltipElement = document.getElementById( 'tasty-recipes-tooltip' );},show() {if ( ! this.tooltipElement ) {return;}const tooltipTop = this.element.getBoundingClientRect().top window.scrollY- 10 // 10px offset.- this.tooltipElement.getBoundingClientRect().height;const tooltipLeft = this.element.getBoundingClientRect().left- ( this.tooltipElement.getBoundingClientRect().width / 2 ) ( this.element.getBoundingClientRect().width / 2 ) - 1;const posLeft = Math.max( 10, tooltipLeft );this.maybeRemoveTail( posLeft !== tooltipLeft );this.tooltipElement.setAttribute( 'style', 'top:' tooltipTop 'px;left:' posLeft 'px;' );this.tooltipElement.classList.add( 'opened' );},maybeRemoveTail( removeTail ) {if ( removeTail ) {this.tooltipElement.classList.add( 'tr-hide-tail' );} else {this.tooltipElement.classList.remove( 'tr-hide-tail' );}},changeMessage( message ) {if ( ! this.tooltipElement ) {return;}this.tooltipElement.innerHTML = message;}};window.TastyRecipes.ajax = {sendPostRequest( url, data, success, failure ) {const xhr = new XMLHttpRequest();xhr.open( 'POST', url, true );xhr.send( this.preparePostData( data ) );xhr.onreadystatechange = () => {if ( 4 !== xhr.readyState ) {return;}if ( xhr.status === 200 ) {success( JSON.parse( xhr.responseText ) );return;}failure( xhr );};xhr.onerror = () => {failure( xhr );};},preparePostData( data ) {const formData = new FormData();for ( const key in data ) {formData.append( key, data[key] );}return formData;},};window.TastyRecipes.ratings = {defaultRating: 0,currentRatingPercentage: 100,savingRating: false,init( minRating ) {this.minRating = minRating;this.formWatchRating();this.closeTooltipWhenClickOutside();this.addBodyClassBasedOnSelectedRating();this.backwardCompFormRatingPosition();},formWatchRating() {const ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]');if ( ratings.length <= 0 ) {return;}for ( const rating of ratings ) {rating.addEventListener( 'click', event => {event.preventDefault();this.defaultRating = event.target.closest( '.checked' ).dataset.rating;this.setCheckedStar( event.target );this.maybeSendRating( this.defaultRating, event.target );this.setRatingInForm( this.defaultRating );} );}},closeTooltipWhenClickOutside() {window.addEventListener( 'click', e => {// Bailout (don't remove the tooltip) when the clicked element is a rating star, or it's the tooltip itself.if ( e.target.closest( '.tasty-recipes-rating' ) || e.target.classList.contains( 'tasty-recipes-static-tooltip' ) ) {return;}window.TastyRecipes.staticTooltip.destroy();} );}, setRatingInForm( rating ) {const ratingInput = document.querySelector( '#respond .tasty-recipes-rating[value="' rating '"]' );if ( ! ratingInput ) {return;}ratingInput.click();},addBodyClassBasedOnSelectedRating() {const ratingInputs = document.querySelectorAll( 'input.tasty-recipes-rating' );if ( ! ratingInputs ) {return;}for ( const ratingInput of ratingInputs ) {ratingInput.addEventListener( 'click', currentEvent => {const selectedRating = currentEvent.target.getAttribute( 'value' );this.handleBodyClassByRating( selectedRating );this.toggleCommentTextareaRequired( selectedRating );} );}},handleBodyClassByRating( rating ) {if ( rating < this.minRating ) {document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );return;}document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );},toggleCommentTextareaRequired( rating ) {const commentTextarea = document.getElementById( 'comment' );if ( ! commentTextarea ) {return;}if ( rating < this.minRating ) {commentTextarea.setAttribute( 'required', '' );return;}commentTextarea.removeAttribute( 'required' );},maybeSendRating( rating, element ) {if ( this.savingRating === rating ) {return;}this.savingRating = rating;window.TastyRecipes.staticTooltip.init( element );const recipeCardElement = element.closest( '.tasty-recipes' );if ( ! recipeCardElement ) {window.TastyRecipes.staticTooltip.destroy();return;}window.TastyRecipes.ajax.sendPostRequest(window.trCommon.ajaxurl,{action: 'tasty_recipes_save_rating',rating,nonce: window.trCommon.ratingNonce,post_id: window.trCommon.postId,recipe_id: recipeCardElement.dataset.trId,},( response ) => {window.TastyRecipes.staticTooltip.changeMessage( response.data.message );window.TastyRecipes.staticTooltip.show();this.updateAverageText( response.data, recipeCardElement );this.maybeFillCommentForm( response.data );// Hide the tooltip after 5 seconds.setTimeout( () => {this.maybeResetTooltip( recipeCardElement, response.data, rating );}, 5000 );},() => {this.resetTooltip( recipeCardElement );});},updateAverageText( data, recipeCardElement ) {if ( ! data.average ) {return;}this.setRatingPercent( data );if ( ! data.count ) {return;}const quickLink = document.querySelector( '.tasty-recipes-rating-link' );if ( quickLink ) {this.setTextInContainer( quickLink, data );this.setPartialStar( quickLink );}const cardStars = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );cardStars.dataset.trDefaultRating = data.average;this.setTextInContainer( recipeCardElement.querySelector( '.tasty-recipes-rating' ), data );},setTextInContainer( container, data ) {if ( ! container ) {return;}if ( data.label ) {const ratingLabelElement = container.querySelector( '.rating-label' );if ( ratingLabelElement ) {ratingLabelElement.innerHTML = data.label;}return;}const averageElement = container.querySelector( '.average' );if ( averageElement ) {averageElement.textContent = data.average;}const countElement = container.querySelector( '.count' );if ( countElement ) {countElement.textContent = data.count;}},setPartialStar( container ) {const highestStar = container.querySelector( '[data-rating="' Math.ceil( this.defaultRating ) '"]' );if ( highestStar ) {highestStar.dataset.trClip = this.currentRatingPercentage;}},setRatingPercent( data ) {this.defaultRating = data.average.toFixed( 1 );const parts = data.average.toFixed( 2 ).toString().split( '.' );this.currentRatingPercentage = parts[1] ? parts[1] : 100;if ( this.currentRatingPercentage === '00' ) {this.currentRatingPercentage = 100;}},setCheckedStar( target ) {const cardRatingContainer = target.closest( '.tasty-recipes-ratings-buttons' );const selectedRatingElement = cardRatingContainer.querySelector( '[data-tr-checked]' );if ( selectedRatingElement ) {delete selectedRatingElement.dataset.trChecked;}const thisStar = target.closest( '.tasty-recipes-rating' );thisStar.dataset.trChecked = 1;thisStar.querySelector( '[data-tr-clip]' ).dataset.trClip = 100;},maybeFillCommentForm( data ) {if ( ! data.comment || ! data.comment.content ) {return;}const commentForm = document.querySelector( '#commentform' );if ( ! commentForm ) {return;}const commentBox = commentForm.querySelector( '[name=comment]' );if ( ! commentBox || commentBox.value ) {return;}// Add comment details for editing.commentBox.innerHTML = data.comment.content;if ( data.comment.name ) {commentForm.querySelector( '[name=author]' ).value = data.comment.name;commentForm.querySelector( '[name=email]' ).value = data.comment.email;}},maybeResetTooltip( recipeCardElement, data, rating ) {if ( this.savingRating === rating ) {this.resetTooltip( recipeCardElement, data );}},resetTooltip( recipeCardElement, data ) {window.TastyRecipes.staticTooltip.destroy();this.savingRating = false;// Reset the default rating.const cardRatingContainer = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );if ( cardRatingContainer ) {this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;cardRatingContainer.dataset.trDefaultRating = this.defaultRating;this.resetSelectedStar( cardRatingContainer, data );}},resetSelectedStar( cardRatingContainer ) {const selectedRatingElement = cardRatingContainer.querySelector( '[data-rating="' Math.ceil( this.defaultRating ) '"]' );if ( selectedRatingElement ) {selectedRatingElement.querySelector( '[data-tr-clip]' ).dataset.trClip = this.currentRatingPercentage;selectedRatingElement.parentNode.dataset.trChecked = 1;}const previousSelectedElement= cardRatingContainer.querySelector( '[data-tr-checked]' );if ( previousSelectedElement ) {const currentSelectedRating = previousSelectedElement.querySelector('[data-rating]');if ( currentSelectedRating !== selectedRatingElement ) {delete previousSelectedElement.dataset.trChecked;}}},backwardCompFormRatingPosition() {const ratingsButtons = document.querySelector( '#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons' );if ( ! ratingsButtons ) {return;}const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);if ( ! ratingsButtonsStyles.display.includes( 'flex' ) ) {ratingsButtons.style.direction = 'rtl';}if ( typeof tastyRecipesRating !== 'undefined' ) {// Select the rating that was previously selected in admin.ratingsButtons.querySelector( '.tasty-recipes-rating[value="' tastyRecipesRating '"]' ).checked = true;}const ratingSpans = ratingsButtons.querySelectorAll( '.tasty-recipes-rating' );for (const ratingSpan of ratingSpans) {ratingSpan.addEventListener( 'click', event => {if ( ratingSpan === event.target ) {return;}ratingSpan.previousElementSibling.click();} );}}};(function(callback) {if (document.readyState !== "loading") {callback();} else {window.addEventListener( 'load', callback );}})(() => {window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );});Recipe Card powered by [image error]The post Vegetable Stuffing appeared first on Renal Diet HQ.