Completed
Push — develop ( 420693...04c983 )
by Aristeides
13s
created

modules/preset/preset.js   A

Complexity

Total Complexity 10
Complexity/F 1.67

Size

Lines of Code 31
Function Count 6

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 0
nc 3
dl 0
loc 31
rs 10
c 1
b 0
f 0
wmc 10
mnd 2
bc 8
fnc 6
bpm 1.3333
cpm 1.6666
noi 0
1
/* global kirkiSetSettingValue */
2
jQuery( document ).ready( function() {
3
4
	// Loop Controls.
5
	wp.customize.control.each( function( control ) {
6
7
		// Check if we have a preset defined.
8
		if ( control.params && control.params.preset && ! _.isEmpty( control.params.preset ) ) {
9
			wp.customize( control.id, function( value ) {
10
11
				// Listen to value changes.
12
				value.bind( function( to ) {
13
14
					// Loop preset definitions.
15
					_.each( control.params.preset, function( preset, valueToListen ) {
16
17
						// Check if the value set want is the same as the one we're looking for.
18
						if ( valueToListen === to ) {
19
20
							// Loop settings defined inside the preset.
21
							_.each( preset.settings, function( controlValue, controlID ) {
22
23
								// Set the value.
24
								kirkiSetSettingValue.set( controlID, controlValue );
25
							} );
26
						}
27
					} );
28
				} );
29
			} );
30
		}
31
	} );
32
} );
33