(function () { 'use strict'; const LISTENER_NAME = 'ga4EcommerceEventsListener'; const REGISTRATION_FLAG = '__ga4EcommerceEventsListenerRegistered'; const DEBUG = true; // Maps Wix's analytics event names to the standard GA4 ecommerce event names. const EVENT_MAP = { ViewContent: 'view_item', AddToCart: 'add_to_cart', InitiateCheckout: 'begin_checkout' }; if (window[REGISTRATION_FLAG]) { return; } window[REGISTRATION_FLAG] = true; window.dataLayer = window.dataLayer || []; function log() { if (DEBUG && window.console) { console.log.apply(console, arguments); } } function warn() { if (window.console) { console.warn.apply(console, arguments); } } function toNumber(value) { if (typeof value === 'number') { return Number.isFinite(value) ? value : 0; } const number = Number( String(value || '').replace(/[^0-9.-]/g, '') ); return Number.isFinite(number) ? number : 0; } function createItems(contents) { if (!Array.isArray(contents) || !contents.length) { return []; } return contents.map(function (item, index) { const itemId = item.sku || item.id || item.Id || 'wix-item-' + (index + 1); const itemName = item.name || item.itemName || itemId; const ga4Item = { item_id: String(itemId), item_name: String(itemName), price: toNumber(item.price), quantity: Math.max( 1, toNumber(item.quantity) || 1 ) }; if (item.category) { ga4Item.item_category = String(item.category); } if (item.brand) { ga4Item.item_brand = String(item.brand); } if (item.variant) { ga4Item.item_variant = String(item.variant); } return ga4Item; }); } function sendEcommerceEvent(gaEventName, payload) { payload = payload || {}; const items = createItems(payload.contents); if (!items.length) { warn( '[Wix GA4] ' + gaEventName + ' fired with no items, skipping.', payload ); return; } const currency = String( payload.currency || (payload.contents[0] && payload.contents[0].currency) || '' ).trim().toUpperCase(); const fallbackValue = items.reduce(function (sum, item) { return sum + item.price * item.quantity; }, 0); const value = Number( (toNumber(payload.value || payload.revenue) || fallbackValue).toFixed(2) ); // Clear the previous ecommerce object first so GTM/GA4 don't merge // items from a prior event into this one. window.dataLayer.push({ ecommerce: null }); window.dataLayer.push({ event: gaEventName, ecommerce: { currency: currency || undefined, value: value, items: items } }); log('[Wix GA4] ' + gaEventName + ' sent:', payload); } function registerWixListener() { if ( !window.wixDevelopersAnalytics || typeof window.wixDevelopersAnalytics.register !== 'function' ) { warn('[Wix GA4] Wix analytics API unavailable.'); return; } if (window[REGISTRATION_FLAG + '_listener']) { return; } window[REGISTRATION_FLAG + '_listener'] = true; window.wixDevelopersAnalytics.register( LISTENER_NAME, function (eventName, payload) { const gaEventName = EVENT_MAP[eventName]; if (gaEventName) { log('[Wix GA4] Wix ' + eventName + ' event received:', payload); sendEcommerceEvent(gaEventName, payload); } } ); log('[Wix GA4] Ecommerce events listener registered.'); } if (window.wixDevelopersAnalytics) { registerWixListener(); } else { window.addEventListener( 'wixDevelopersAnalyticsReady', registerWixListener, { once: true } ); } })();
top of page

(061) 439 949 | bmpartsandtools@gmail.com | Unit 3 Crossagalla Industrial Estate, Ballysimon, Limerick, V94E6C0

bg2.jpg

BM Parts & Tools

For affordable high-quality security locks, spare parts and tools contact BM Parts & Tools

*NEW* Diamond Link Friction Hinge

€19.95
Price incl. VAT (23%) €3.73
Size
Stack Height
In stock
Product Details
Rather than using a conventional single cantilevered top link to support the whole sash weight, the unique Diamond Link geometry maximizes the load bearing area with the brace link that forms super strong double thickness laminate for weights of up to 50kg


The Diamond Link unique geometry pulls in the head of the sash to give a positive seal compression.


Smooth reliable opening to 90 degrees. Maximizing the clear opening. To engage Easy Clean mode, simply press the Release Slide, the sash can be manoeuvred into position. It can then be auto reset back to the primary egress mode.

Save this product for later
Share this product with your friends
*NEW* Diamond Link Friction Hinge
bottom of page