Bladen Full Sofa Sleeper And Recliner (2024)

Living Room Furniture keyboard_arrow_right Sofas keyboard_arrow_right Ashley Furniture Signature Design Bladen Full Sofa Sleeper And Recliner

Bladen Collection by Ashley Furniture Signature Design

SKU: 12020U4

Be the first to write a review

Back in Stock Soon Contact us for ETA

Everyday Price: $1,484.00

On Sale: $1,188.00

Per Month: $28.00 info

Price with selected options:

Qty:

Items in Cart ( products)

Where Can I See This Product in Store?

more

This product is not on display in our showrooms.

Estimated Delivery Price

Enter your zip code to get a delivery estimate.

Ask a Question

less

Disclaimer

remove add

Description

more

If you love the cool look of leather but long for the warm feel of fabric, you'll find this full sofa sleeper and recliner fit the bill beautifully. Rest assured, the textural, multi-tonal upholstery is rich with character and interest—while plush, pillowy cushions merge comfort and support with a high-style design.

  • Attached Back
Rebates view
Bladen Full Sofa Sleeper And Recliner (40)

Full Sofa Sleeper And Recliner

Bladen Collection

Everyday Price: $1,484.00

On Sale: $1,188.00

Per Month: $28.00 info

Items in Cart ()

arrow_back_ios_new

Bladen Full Sofa Sleeper And Recliner (41)

learn more

policy

\n\n","Qty":1,"AddonDisplayOrder":0,"ShowLearnMoreLink":false,"IsPrimaryAddon":false,"IsPreselected":false}],"GroupName":"Protection Plan","GroupId":"6cceeefe14514a0b8a360f0084e81de6","DisplayOrder":0,"PresentationType":1,"PrimaryAddonButtonLabel1":null,"PrimaryAddonButtonLabel2":null,"CustomLeadInText":"Add"}], // Add-on groups associated with base product currentAddon: {}, // Stores current add-on showLearnMoreDesc: false, // Flag to toggle visibility of Learn More description selectedAddonItems: [], // Stores selected add-ons initialized: false, // Flag to trigger skeleton loaders adding: false, // Flag to indicate whether products are in process of being added to cart addonDataFromUrl: "", // Stores add-on data from URL query string // Computed property to check whether current add-on is selected get currentAddonIsSelected() { return this.selectedAddonItems.find((a) => a.Gpid == this.currentAddon.Gpid); }, // Computed property to get total count of add-ons to add to cart get addToCartItemCount() { return this.selectedAddonItems.length + 1; }, // Computed property to calculate total price including base product price get addToCartPrice() { const baseItemPrice = 1188; let totalPrice = 0; // Calculate total price of selected add-on items this.selectedAddonItems.forEach(item => { for (i = 0; i < item.Qty; i++) { var priceOfAddon = item.Price; totalPrice += priceOfAddon; } }); return this.formatPrice(parseFloat(totalPrice) + parseFloat(baseItemPrice)); }, // Formats price as currency formatPrice(price) { const formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', }); return formatter.format(price); }, // Handles selection of add-on handleSelectOption(addon) { // Check whether selectedAddons has another add-on from this group let existingAddon = this.selectedAddonItems.find((selectedAddonItem) => selectedAddonItem.groupId == addon.groupId && selectedAddonItem.Gpid != addon.Gpid); if (existingAddon) { // Remove existing add-on let existingAddonInput = document.getElementById('check' + existingAddon.Gpid); existingAddonInput.click(); } this.$nextTick(() => { // Select new add-on let selectedAddonInput = document.getElementById('check' + addon.Gpid); selectedAddonInput.click(); }); }, // Handles click event for adding base product and add-ons to cart addToCartClick() { const self = this; self.adding = true; // Ensure quantity of base product is at least 1 if (this.parentQuantity <= 0) { this.parentQuantity = 1; } if (this.gpid) { var addToCartItems = []; self.selectedAddonItems.forEach((sAddon) => addToCartItems.push({ addonGpid: sAddon.Gpid, qty: sAddon.Qty })); var data = '{"addToCartModel": ' + '{"parentGpid": ' + this.gpid + ',' + '"addToCartItems":' + JSON.stringify(addToCartItems) + "," + '"quantity":' + this.parentQuantity + '}' + '}'; // Ajax request to add items to shopping cart $.ajax({ type: "POST", url: Utils.BaseURL + "AjaxItemService.asmx/AddMultipleItemsToShoppingCart", data: data, contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { // Hide spinner self.adding = false; self.itemIsInCart = true; // Update cart product count const addedCount = self.selectedAddonItems.length + 1; const cartItemCount = parseInt($('.js-cart-count').first().text() .replace(/\D/g, ""), 0) + addedCount; if ($('.cart-status-v4').length > 0) { $('.js-cart-count').text(cartItemCount); } else { $('.js-cart-count').text("(" + cartItemCount + ")"); } // Track event for Google Analytics 4 fdEvents.publish("add_to_cart", data.d.Event) // Track event for Facebook Pixel window.fbPixel.done(function () { fbq('track', 'AddToCart', { content_type: 'product', content_ids: [self.gpid.toString()] }, { eventID: data.d.MetaEventId }); }); // Show confirmation modal document.getElementById('added-to-cart-modal-body').innerHTML = data.d.Html; $('#added-to-cart-modal').modal('show'); }, // Error handling for Ajax request error: function (error) { self.adding = false; self.itemIsInCart = false; console.log( `Error when addding the following items to cart: ${JSON.stringify(self.selectedAddonItems)}. Error is: ${error.responseText}` ); document.getElementById('added-to-cart-modal-body').innerHTML = "Looks like we encountered a problem, try re-adding your products to the cart."; $('#added-to-cart-modal').modal('show'); } }); } }, // Calculates total price of add-on based on its quantity priceBasedOnQty(selectedAddonOption) { let totalPrice = 0; // Iterates over quantity and sums up price for (i = 0; i < selectedAddonOption.Qty; i++) { var priceOfAddon = selectedAddonOption.Price; totalPrice += priceOfAddon; } return totalPrice; }, // Updates URL with current add-on data updateUrl() { const url = new URL(window.location.href); url.searchParams.set("addonData", encodeURIComponent(JSON.stringify(this.generateAddonData()))); window.history.replaceState({ path: url.href }, "", url.href); }, // Generates data object representing selected add-ons generateAddonData() { var data = []; this.selectedAddonItems.forEach((selectedAddonItem) => data.push({ addonGpid: selectedAddonItem.Gpid, groupId: selectedAddonItem.groupId })); return data; }, // Retrieves value of query string parameter by key getQueryStringValue(key) { const query = window.location.search.substring(1); const vars = query.split("&"); for (let i = 0; i < vars.length; i++) { const pair = vars[i].split("="); if (pair[0] == key) { return pair[1]; } } } })); /* Add-On Group Component */ Alpine.data('addonGroupComponent', (_addonGroup) => ({ init() { // Check whether there is add-on data from URL if (this.addonDataFromUrl) { // Find add-on data that matches current group ID const addonData = this.addonDataFromUrl.find(group => group.groupId == this.groupId); if (addonData) { // Find add-on within group that matches Gpid from the URL data const addonFromUrl = _addonGroup.AddonOptions.find(addonOption => addonOption.Gpid == addonData.addonGpid); addonFromUrl.groupId = this.groupId; this.handleSelectAddon(addonFromUrl); } } // If selectedOption is not already set and group is of type PrimaryAddon, // check whether primary add-on is preselected if (this.presentationType == 2) { this.primaryAddon = _addonGroup.AddonOptions.find(addonOption => addonOption.IsPrimaryAddon); this.primaryAddon.groupId = this.groupId; // Pre-select primary add-on if (this.primaryAddon && this.primaryAddon.IsPreselected && this.selectedOption.gpid == 0) { this.handleSelectAddon(this.primaryAddon); } } else { var preselectedAddon = _addonGroup.AddonOptions.find(addonOption => addonOption.IsPreselected); if (preselectedAddon && this.selectedOption.gpid == 0) { preselectedAddon.groupId = this.groupId; this.handleSelectAddon(preselectedAddon); } } }, groupId: _addonGroup.GroupId, // Stores unique ID of add-on groupName: _addonGroup.GroupName, // Stores name of add-on group groupNameLeadInText: _addonGroup.CustomLeadInText, // Lead-in text for group name presentationType: _addonGroup.PresentationType, // Stores presentation type (int) of add-on group primaryAddon: {}, // Stores primary add-on, if applicable showSelectModal: false, // Flag to toggle visibility of add-on selection modal // Object to store details of currently selected add-on option selectedOption: { gpid: 0, // ID of selected add-on option sdesc: '', // Short description of selected add-on option imageUrl: '', // Image URL of selected add-on option url: '', // Link to detailed page of selected add-on option webpImageUrl: '', // WebP image URL of selected add-on option price: 0, // Price of selected add-on option priceBeforeDiscountOrSale: 0, // Original price before discount or sale pricingHtml: '', // HTML content for pricing information qty: 0 // Quantity of selected add-on option }, // Generates list of add-on options with unique IDs and group IDs addonOptions() { var result = []; // Iterate over each add-on option and assign unique ID and group ID _addonGroup.AddonOptions.forEach((option) => { const randomId = crypto.randomUUID(); // Generate random unique ID const withId = { ...option, id: randomId, groupId: _addonGroup.GroupId }; return result.push(withId); // Add modified option to result list }); if (this.presentationType == 2 || this.presentationType == 3) { result = result.sort((a, b) => { if (a.Gpid == this.selectedOption.gpid) { return -1; } if (b.Gpid == this.selectedOption.gpid) { return 1; } return 0; }); } return result; }, // Checks position of specific add-on group within filtered list of dropdown groups checkDropDownIndex(last) { // Filter addonGroups to include only those of Dropdown PresentationType // and find index of group with current groupId in filtered list const dropdownGroups = this.addonGroups.filter(addonGroup => addonGroup.PresentationType == 3); const index = dropdownGroups.findIndex(dropdownGroup => dropdownGroup.GroupId == this.groupId); // Check whether group is either first or last item in filtered list if (last) { return index == dropdownGroups.length - 1; } else { return index == 0; } }, // Opens add-ons modal openAddonsModal(addon) { // Set current addon this.currentAddon = addon; // Use Bootstrap's modal method to show modal $('#addonsModal').modal('show'); }, // Determines whether given checkbox should be disabled based on its // Gpid (only one option should be selectable) isDisabled(gpid) { if (this.selectedOption.gpid > 0) { return this.selectedOption.gpid != gpid ? true : false; } else { return false; } }, // Calls function to select or deselect add-on option based on whether checkbox is checked checkCheckboxValue(event, addon, addonGroup) { // Call function for when the checkbox is checked if (event.target.checked) { this.handleSelectAddon(addon); } else { // Call function for when the checkbox is unchecked this.handleNoneOptionSelected(addonGroup); } }, // Handles deselection of add-on option handleNoneOptionSelected(addonGroup) { this.showSelectModal = false; // Hide selection modal var index = this.selectedAddonItems.findIndex(item => item.groupId === addonGroup.GroupId); // Find index of add-on in selected items list // If add-on is currently selected, remove it from selected items if (index !== -1) { this.selectedAddonItems.splice(index, 1); // Remove add-on from selected items // Reset details of selectedOption to default values this.selectedOption.gpid = 0; this.selectedOption.sdesc = ''; this.selectedOption.imageUrl = ''; this.selectedOption.url = ''; this.selectedOption.webpImageUrl = ''; this.selectedOption.price = 0; this.selectedOption.priceBeforeDiscountOrSale = 0; this.selectedOption.pricingHtml = ''; this.selectedOption.qty = 0; // Update URL parameters this.$nextTick(() => { this.updateUrl(); }); } }, // Handles selection of add-on option handleSelectAddon(addon) { // Reset quantity selector and update parent quantity const value = (0 > 0 && !false) ? 0 : 1 $("#quantitySelect").val(value); this.parentQuantity = value; this.showSelectModal = false; // Hide selection modal // Remove existing add-on from same group before adding new one this.selectedAddonItems.forEach((currentAddon) => { if (currentAddon.groupId === addon.groupId) { // Find and remove existing add-on from selected items this.selectedAddonItems .splice(this.selectedAddonItems .findIndex((selectedAddon) => selectedAddon.id === currentAddon.id), 1); } }) // Add selected add-on to list of selected add-on items and set as new primary add-on this.selectedAddonItems.push(addon); this.primaryAddon = addon; // Update details of selectedOption with information of selected add-on this.selectedOption.gpid = addon.Gpid; this.selectedOption.sdesc = addon.AddonItemShortDescriptionOverride ?? addon.SDesc; this.selectedOption.imageUrl = addon.ImageUrl; this.selectedOption.url = addon.Url; this.selectedOption.webpImageUrl = addon.WebpImageUrl; this.selectedOption.price = this.priceBasedOnQty(addon); this.selectedOption.priceBeforeDiscountOrSale = addon.PriceBeforeDiscountOrSale; this.selectedOption.pricingHtml = addon.PricingHtml; this.selectedOption.qty = addon.Qty; // Update URL parameters this.$nextTick(() => { this.updateUrl(); }); }, // Handles click event for dropdown option handleDropdownClick() { // If add-on is currently selected, call handleNoneOptionSelected to remove add-on if (this.selectedOption.gpid != 0) { this.handleNoneOptionSelected(_addonGroup); } }, // Convert plural noun to its singular form by checking for common pluralization rules convertToSingular(groupName) { let word = groupName.trim(); // Primary Rule if (word.endsWith('s') && !word.endsWith('ss')) { // Rule 1: Remove "s" at end of plural word word = word.slice(0, -1); } // Additional Rules if (word.endsWith('ies')) { // Rule 2: Replace "ies" with "y" word = word.slice(0, -3) + 'y'; } else if (word.endsWith('es') && word.length > 3) { // Rule 3: Replace "es" with "is" word = word.slice(0, -2); } else if (word.endsWith('ves')) { // Rule 4: Replace "ves"" with "f" or "fe" word = word.slice(0, -3) + 'f'; } return word; } })); }); $(document).ready(function () { if (0 != 0 && !false && $('#quantitySelect').children().length == 0) { const quantityDropdown = document.getElementById("quantitySelect"); for (let i = 1; i < 6; i++) { let option = document.createElement("option"); let optionText = document.createTextNode(0 * i); option.setAttribute('value', 0 * i); option.appendChild(optionText); quantityDropdown.appendChild(option); } } });

Specifications

Specifications

remove add

Product

Style Elements

Upholstery

Shipping

Item & Dimensions

Rebates

There are currently no rebates.

The Bladen Full Sofa Sleeper And Recliner, made by Ashley Furniture Signature Design, is brought to you by Del Sol Furniture. Del Sol Furniture is a local furniture store, serving the Phoenix, Glendale, Mesa, Tempe, Scottsdale, Avondale, Peoria, Goodyear, Litchfield, Arizona area. Product availability may vary. Contact us for the most current availability on this product.

Collection Details

The Bladen collection is an amazing option if you are looking for Contemporary furniture. Our store serves the Phoenix, Glendale, Mesa, Tempe, Scottsdale, Avondale, Peoria, Goodyear, Litchfield, Arizona area.

See the full collection

Back to Top

Similar search terms: Sofa, Couch, Couches, Backless Sofas, Conversation Sofas, Conversational Sofas, Theater Seating, Theatre Seating, Home Theater Furniture, Angled Sofa, Davenport, Stationary Sofa, Stationary Couch, Home Theater Seating, Upholstered Sofa, Upholstered Furniture, Sofa Couch, Living Room Furniture, Furniture, Seating

Reference #: 12020U4

Bladen Full Sofa Sleeper And Recliner (2024)
Top Articles
How does Dark Souls weapon scaling work?
Every FromSoftware Soulslike Game, Ranked From Easiest to Hardest
Happel Real Estate
'That's Hilarious': Ahsoka's Ezra Bridger Actor Reveals Surprising True-To-Life Detail Behind Sabine Reunion Scene
Best Boxing Gyms Near Me
„Filthy Rich“: Die erschütternde Doku über Jeffrey Epstein
Mapgeo Nantucket
Jsmainnn
Nashville Tranny
Lojë Shah me kompjuterin në internet. Luaj falas
Urology Match Spreadsheet
Rooms for rent in Pompano Beach, Broward County, FL
Ter Reviews Boston
Officially Announcing: Skyward
SAP Secure Login Service for SAP GUI Now Available
Lynchburg Arrest.org
Schmidt & Schulta Funeral Home Obituaries
Adt First Responder Discount
Upper Rank Demons Wiki
Olde Kegg Bar & Grill Portage Menu
24 Hour Pharmacy St Louis Mo
Rub Rating Louisville
Kfc $30 Fill Up Substitute Sides
Dovob222
Gem City Surgeons Miami Valley South
Weather Arlington Radar
Los Garroberros Menu
Maurice hat ein echtes Aggressionsproblem
Hawkview Retreat Pa Cost
Rate My Naughty.com
0Gomovies To To
Shorkie: The Perfect Dog Breed for Families
toledo farm & garden services - craigslist
Super Restore Vs Prayer Potion
Etfh Hatchery
Gofish Dating
Shipstation Commercial Actress
Horoscope Today: Astrological prediction September 9, 2024 for all zodiac signs
Shiny Flower Belinda
Cheap Motorcycles For Sale Under 1000 Craigslist Near Me
Comcast Business Downdetector
Gulfstream Park Entries And Results
P1 Offshore Schedule
Prodigy Login For Students
Watch Stephen Miller Have A Full Meltdown When Asked To Back Up Crime Claim With Facts
Tighe Hamilton Hudson Ma Obituary
Kathy Park Wedding
Hr Central Luxottica Benefits
Craigslist.com Hawaii
Why Did Jen Lewis Leave Wavy 10
The Hardest Quests in Old School RuneScape (Ranked) – FandomSpot
Physician Dressed As A Sorceress Crossword Clue
Latest Posts
Article information

Author: Duane Harber

Last Updated:

Views: 6005

Rating: 4 / 5 (71 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Duane Harber

Birthday: 1999-10-17

Address: Apt. 404 9899 Magnolia Roads, Port Royceville, ID 78186

Phone: +186911129794335

Job: Human Hospitality Planner

Hobby: Listening to music, Orienteering, Knapping, Dance, Mountain biking, Fishing, Pottery

Introduction: My name is Duane Harber, I am a modern, clever, handsome, fair, agreeable, inexpensive, beautiful person who loves writing and wants to share my knowledge and understanding with you.