/** * 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); Zifer

Zifer

Hurry up!

New Arrivals

25%
OFF

Best Seller Store

Discover

the Future

Now

Who We Are ?

Zifer – Your One-Stop Store

At Zifer, we provide top-quality products from Tech to everyday household items for both personal and business needs. With years of experience in the industry, our mission is to make your life easier with reliable gadgets, excellent service, and competitive prices.

Free Shipping

Speed Of Light!

Quick Payment

100% Secure Payment

24/7 Support

Ready Support

Frequently Asked Questions

What types of tech products do you sell?

We mainly sell computer accessories, mobile gadgets, smart devices, cables & chargers, and gaming peripherals. We also regularly update our store with new tech products.

Yes, all our products are 100% original and brand new, sourced directly from trusted suppliers.

Yes, if you receive a defective or wrong product, you can request a return or replacement within 3 days of delivery.

Yes, selected products include brand or seller warranty. Warranty details are clearly mentioned on each product page.

Get In Touch

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