PageSourceSearch

https://www.backsplash.com/wp-content/plugins/woocommerce-tm-extra…/assets/js/cp-measurement.js?ver=7.6

js backsplash.com collected 2026-09-25 23:41:42 UTC 4,622 bytes, 106 lines download raw bytes

1( function( window, document, $ ) {
2	'use strict';
3
4	var TMEPOJS;
5	var tcAPI;
6	var TMEPOMEASUREMENTJS;
7
8	function alterElementQty( elementQty, dataObject ) {
9		if ( TMEPOMEASUREMENTJS.wc_measurement_divide !== '1' && TMEPOMEASUREMENTJS.wc_measurement_qty_multiplier === '1' && dataObject.currentCart.find( '#_measurement_needed' ).length > 0 ) {
10			elementQty = dataObject.currentCart.find( '#_measurement_needed' ).val();
11		}
12
13		return elementQty;
14	}
15
16	// document ready
17	$( function() {
18		TMEPOJS = window.TMEPOJS || null;
19		TMEPOMEASUREMENTJS = window.TMEPOMEASUREMENTJS || null;
20		tcAPI = $.tcAPI ? $.tcAPI() : null;
21
22		if ( ! TMEPOJS || ! tcAPI || ! TMEPOMEASUREMENTJS ) {
23			return;
24		}
25
26		$.epoAPI.addFilter( 'tcAlterElementQty', alterElementQty, 10, 2 );
27
28		$( window ).on( 'tm-epo-init-end', function( event, eventData ) {
29			if ( event && eventData && eventData.variationForm ) {
30				eventData.variationForm.trigger( 'wc-measurement-price-calculator-update' );
31			}
32		} );
33
34		$( window ).on( 'epoEventHandlers', function( event, dataObject ) {
35			var get_price_excluding_tax = dataObject.get_price_excluding_tax;
36			var get_price_including_tax = dataObject.get_price_including_tax;
37			var cartContainer = dataObject.cartContainer;
38			var currentCart = dataObject.currentCart;
39			var totalsHolder = dataObject.totalsHolder;
40			var totalsHolderContainer = dataObject.totalsHolderContainer;
41
42			if ( event && dataObject && dataObject.epo ) {
43				// measurement price calculator compatibility
44				cartContainer
45					.find( '.total_price' )
46					.off( 'wc-measurement-price-calculator-total-price-change.cpf' )
47					.on( 'wc-measurement-price-calculator-total-price-change.cpf', function( e, d, v ) {
48						var force = totalsHolder.attr( 'data-taxable' ) && totalsHolder.attr( 'data-prices-include-tax' ) !== '1' && totalsHolder.attr( 'data-tax-display-mode' ) === 'incl';
49						var force2 = totalsHolder.attr( 'data-taxable' ) && totalsHolder.attr( 'data-prices-include-tax' ) === '1' && totalsHolder.attr( 'data-tax-display-mode' ) !== 'incl';
50
51						if ( force && ! force2 ) {
52							v = get_price_excluding_tax( v, totalsHolder, null, force );
53						} else if ( ! force && force2 ) {
54							v = get_price_including_tax( v, totalsHolder, null, force2 );
55						}
56						if ( TMEPOMEASUREMENTJS.wc_measurement_divide === '1' && totalsHolder.data( 'tm_for_cart' ).find( '#_measurement_needed' ).length > 0 ) {
57							v = v / totalsHolder.data( 'tm_for_cart' ).find( '#_measurement_needed' ).val();
58						}
59						totalsHolderContainer.find( '.cpf-product-price' ).val( v );
60						totalsHolder.data( 'price', v );
61						totalsHolder.data( 'regular-price', v );
62						currentCart.trigger( {
63							type: 'tm-epo-update'
64						} );
65					} );
66
67				cartContainer
68					.find( '.product_price' )
69					.off( 'wc-measurement-price-calculator-product-price-change.cpf dwc-measurement-price-calculator-update.cpf' )
70					.on( 'wc-measurement-price-calculator-product-price-change.cpf dwc-measurement-price-calculator-update.cpf', function( e, d, v ) {
71						var force = totalsHolder.attr( 'data-taxable' ) && totalsHolder.attr( 'data-prices-include-tax' ) !== '1' && totalsHolder.attr( 'data-tax-display-mode' ) === 'incl';
72						var force2 = totalsHolder.attr( 'data-taxable' ) && totalsHolder.attr( 'data-prices-include-tax' ) === '1' && totalsHolder.attr( 'data-tax-display-mode' ) !== 'incl';
73
74						if ( force && ! force2 ) {
75							v = get_price_excluding_tax( v, totalsHolder, null, force );
76						} else if ( ! force && force2 ) {
77							v = get_price_including_tax( v, totalsHolder, null, force2 );
78						} else {
79							v = parseFloat( v );
80						}
81						if ( TMEPOMEASUREMENTJS.wc_measurement_divide === '1' && totalsHolder.data( 'tm_for_cart' ).find( '#_measurement_needed' ).length > 0 ) {
82							v = v / totalsHolder.data( 'tm_for_cart' ).find( '#_measurement_needed' ).val();
83						}
84						totalsHolderContainer.find( '.cpf-product-price' ).val( v );
85						totalsHolder.data( 'price', v );
86						totalsHolder.data( 'regular-price', v );
87						currentCart.trigger( {
88							type: 'tm-epo-update'
89						} );
90					} );
91
92				cartContainer.on( 'found_variation', function() {
93					$( 'form.cart' )
94						.trigger( 'wc-measurement-price-calculator-update' )
95						.trigger( 'wc-measurement-price-calculator-product-price-change' );
96				} );
97
98				if ( $( '.product_price, .total_price' ).length > 0 ) {
99					$( 'form.cart' )
100						.trigger( 'wc-measurement-price-calculator-update' )
101						.trigger( 'wc-measurement-price-calculator-product-price-change' );
102				}
103			}
104		} );
105	} );
106}( window, document, window.jQuery ) );

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.