/** * Select3 Greek translation. * * @author Uriy Efremochkin */ (function ($) { "use strict"; $.fn.select3.locales['el'] = { formatNoMatches: function () { return "Δεν βρέθηκαν αποτελέσματα"; }, formatInputTooShort: function (input, min) { var n = min - input.length; return "Παρακαλούμε εισάγετε " + n + " περισσότερο" + (n > 1 ? "υς" : "") + " χαρακτήρ" + (n > 1 ? "ες" : "α"); }, formatInputTooLong: function (input, max) { var n = input.length - max; return "Παρακαλούμε διαγράψτε " + n + " χαρακτήρ" + (n > 1 ? "ες" : "α"); }, formatSelectionTooBig: function (limit) { return "Μπορείτε να επιλέξετε μόνο " + limit + " αντικείμεν" + (limit > 1 ? "α" : "ο"); }, formatLoadMore: function (pageNumber) { return "Φόρτωση περισσότερων…"; }, formatSearching: function () { return "Αναζήτηση…"; } }; $.extend($.fn.select3.defaults, $.fn.select3.locales['el']); })(jQuery);/* global FusionPageBuilderViewManager, fusionAllElements, FusionEvents, FusionApp */ var FusionPageBuilder = FusionPageBuilder || {}; ( function() { FusionPageBuilder.Navigator = Backbone.Model.extend( { defaults: { // see _getNavItemObject() function for this object format. navigatorItems: null, // An object with the views that are collapsed. collapsedItems: {}, // If is either a page/column/element... etc. library navigator. This will not display some buttons. navigatorType: '' }, verifiedNestedRowsForCollapse: {}, initialize: function() { this.update = _.debounce( this.update.bind( this ), 20 ); // Used for nested columns added. this.listenTo( FusionEvents, 'fusion-columns-added', this.update ); this.listenTo( FusionEvents, 'fusion-content-changed', this.update ); this.listenTo( FusionEvents, 'fusion-element-removed', this.update ); this.listenTo( FusionEvents, 'fusion-column-resized', this.update ); this.listenTo( FusionEvents, 'fusion-cancel-nested-row-changes', this.restoreNestedRowCollapsible ); }, /** * Update all the attributes. This will also trigger render if necessary. */ update: function() { var navigatorItems = this.getNavigatorItems(); this.setNavigatorType(); this.setNewNestedRowsToCollapsible( navigatorItems ); // this will render if it's changed. this.set( 'navigatorItems', navigatorItems ); }, getNavigatorItems: function() { var elementViews = FusionPageBuilderViewManager.getViews(), index, navItems = [], elType, isContainerView, isCheckoutForm, isNextPageView, isFormStep; this._updateModelsToViewsMap( elementViews ); for ( index in elementViews ) { if ( 'object' !== typeof elementViews[ index ] ) { continue; // eslint-disable-line no-continue } elType = elementViews[ index ].model.get( 'element_type' ); isContainerView = ( 'fusion_builder_container' === elType ); isNextPageView = ( 'fusion_builder_next_page' === elType ); isCheckoutForm = ( 'fusion_woo_checkout_form' === elType ); isFormStep = ( 'fusion_builder_form_step' === elType ); // Construct all the containers, with their children in order. // Only the children are in order, and not the containers themselves. if ( isContainerView || ( isNextPageView && ! elementViews[ index ].$el.hasClass( 'fusion-builder-next-page-last' ) ) || isCheckoutForm || isFormStep ) { navItems.push( this._getNavItemObject( elementViews[ index ] ) ); } } navItems = this._orderByDisplayedContainers( navItems ); return navItems; }, setNavigatorType: function() { this.set( 'navigatorType', FusionApp.data.fusion_element_type ); }, setNewNestedRowsToCollapsible( navigatorItems ) { var i, j, k, l, item, collapsedItems = this.get( 'collapsedItems' ); if ( ! Array.isArray( navigatorItems ) ) { return; } for ( i = 0; i < navigatorItems.length; i++ ) { // containers for ( j = 0; j < navigatorItems[ i ].children.length; j++ ) { // rows for ( k = 0; k < navigatorItems[ i ].children[ j ].children.length; k++ ) { // columns for ( l = 0; l < navigatorItems[ i ].children[ j ].children[ k ].children.length; l++ ) { // elements or nested rows. item = navigatorItems[ i ].children[ j ].children[ k ].children[ l ]; // eslint-disable-next-line max-depth if ( 'fusion_builder_row_inner' === item.type && 'undefined' === typeof this.verifiedNestedRowsForCollapse[ item.view.cid ] ) { this.verifiedNestedRowsForCollapse[ item.view.cid ] = true; collapsedItems[ item.view.cid ] = true; } } } } } this.set( 'collapsedItems', collapsedItems ); }, /** * When a nested row is canceled from editing, the view cid changes, * so that the collapsible refreshes to default state of collapsed. * */ restoreNestedRowCollapsible( data ) { var oldStatus, collapsedItems = this.get( 'collapsedItems' ); if ( 'object' !== typeof data.oldView || ! data.oldView.cid || 'object' !== typeof data.newView || ! data.newView.cid ) { return; } oldStatus = collapsedItems[ data.oldView.cid ] ? collapsedItems[ data.oldView.cid ] : false; if ( ! oldStatus ) { this.verifiedNestedRowsForCollapse[ data.newView.cid ] = true; } else { this.verifiedNestedRowsForCollapse[ data.newView.cid ] = true; collapsedItems[ data.newView.cid ] = true; } this.set( 'collapsedItems', collapsedItems ); }, _updateModelsToViewsMap: function( elementViews ) { var index; this.modelsToViewsMap = []; this.viewsCidToViewsMap = []; for ( index in elementViews ) { if ( 'object' !== typeof elementViews[ index ] ) { continue; // eslint-disable-line no-continue } this.modelsToViewsMap[ elementViews[ index ].model.cid ] = elementViews[ index ]; this.viewsCidToViewsMap[ elementViews[ index ].cid ] = elementViews[ index ]; } }, _getNavItemObject: function( view ) { return { view: view, model: view.model, name: this._getElementDisplayName( view ), type: view.model.get( 'element_type' ), // An array with items of the same type as this. children: this._getNavigationChildrenItems( view ) }; }, _getNavigationChildrenItems: function( view ) { var model, children = [], childView, i; if ( ! view.model || ! view.model.children || ! view.model.children.length ) { return children; } for ( i = 0; i < view.model.children.length; i++ ) { model = view.model.children.models[ i ]; if ( 'object' === typeof this.modelsToViewsMap[ model.cid ] && 'multi_element_child' !== model.get( 'multi' ) ) { childView = this.modelsToViewsMap[ model.cid ]; children.push( this._getNavItemObject( childView ) ); } } return children; }, _orderByDisplayedContainers: function( navItems ) { var previewIframe = jQuery( '#fb-preview' ), containers, orderedItems = [], j, index; if ( ! previewIframe.length ) { return navItems; } containers = previewIframe[ 0 ].contentWindow.jQuery( '#fusion_builder_container > .fusion-builder-container, #fusion_builder_container > .fusion-builder-next-page, #fusion_builder_container > .fusion-checkout-form, #fusion_builder_container > .fusion-builder-form-step' ); for ( index = 0; index < containers.length; index++ ) { for ( j = 0; j < navItems.length; j++ ) { if ( navItems[ j ].view.$el.is( containers.eq( index ) ) ) { orderedItems.push( navItems[ j ] ); } } } return orderedItems; }, _getElementDisplayName: function( view ) { var elType = view.model.get( 'element_type' ), params; params = view.model.get( 'params' ); if ( params && params.admin_label ) { return _.unescape( params.admin_label ); } // Return the element name. if ( fusionAllElements[ elType ] && fusionAllElements[ elType ].name ) { return fusionAllElements[ elType ].name; } return elType; } } ); }( jQuery ) ); function fusionInitStickyColumns(){"object"==typeof fusion&&"function"==typeof fusion.getHeight&&jQuery(".awb-sticky[data-sticky-offset]").each(function(){jQuery(this)[0].style.setProperty("--awb-sticky-offset",fusion.getHeight(jQuery(this).attr("data-sticky-offset"))+fusion.getAdminbarHeight()+"px")})}jQuery(document).ready(function(){jQuery(".fusion-image-hovers .hover-type-liftup.fusion-column-inner-bg").on({mouseenter:function(){var e=jQuery(this).closest(".fusion_builder_column");jQuery(this).css("z-index","4"),jQuery(this).siblings(".fusion-column-wrapper").css("z-index","5"),"none"!==e.css("filter")&&"auto"===e.css("z-index")&&(e.css("z-index","1"),e.attr("data-filter-zindex","true"))},mouseleave:function(){var e=jQuery(this).closest(".fusion_builder_column");jQuery(this).css("z-index",""),jQuery(this).siblings(".fusion-column-wrapper").css("z-index",""),"true"===e.data("filter-zindex")&&(e.css("z-index",""),e.removeAttr("data-filter-zindex"))}})}),jQuery(window).on("load fusion-sticky-change fusion-resize-horizontal",fusionInitStickyColumns); Wood Base Vase – Zifer

Zifer

Sale!

Wood Base Vase

Original price was: 44.99$.Current price is: 34.99$.

  • ✨ Stylish Dual-Material Design: Warm natural wood meets sleek colored glass for a high-end, organic aesthetic.

  • 💧 Waterproof & Durable: Perfect for fresh flowers, stems, pampas grass, or decorative branches.

  • 🏡 Versatile Home Décor: Adds character to modern homes, cozy spaces, event tables, or wedding arrangements.

  • 🌿 Designed for Real or Faux Florals: Ideal size and shape for creating full, balanced bouquets.

  • 🎁 A Thoughtful Gift Choice: Beautiful for housewarmings, birthdays, Mother’s Day, weddings, or holiday gifting.

SKU: 3333 Category:

Rustic Glass & Wood Flower Vase – Modern Elegance for Any Space

Bring natural warmth and timeless style into your home with this beautifully crafted glass and wood vase. Featuring a unique blend of transparent tinted glass and a rich wooden top, this vase instantly elevates any arrangement—whether you’re displaying fresh blooms, dried botanicals, or premium faux stems.

The waterproof glass base allows you to fill it with water for real flowers, while the wooden collar adds texture and a modern rustic charm that complements contemporary, farmhouse, Scandinavian, and minimalist interiors alike. Display it as a centerpiece on your dining table, entryway console, office desk, or living room shelf to create an effortless touch of elegance.

Reviews

There are no reviews yet.

Be the first to review “Wood Base Vase”

Your email address will not be published. Required fields are marked *

0
    0
    Your Cart
    Your cart is emptyReturn to Shop
    Scroll to Top