ru-se.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

spacing.js (1649B)


      1 wp.customize.controlConstructor['kirki-spacing'] = wp.customize.Control.extend({
      2 
      3     ready: function () {
      4 
      5         'use strict';
      6 
      7         var control = this,
      8             subControls = control.params.choices.controls,
      9             value = {},
     10             subsArray = [],
     11             i;
     12 
     13         _.each(subControls, function (v, i) {
     14             if (true === v) {
     15                 subsArray.push(i);
     16             }
     17         });
     18 
     19         for (i = 0; i < subsArray.length; i++) {
     20 
     21             value[subsArray[i]] = control.setting._value[subsArray[i]];
     22 
     23             control.updateSpacingValue(subsArray[i], value);
     24 
     25         }
     26 
     27     },
     28 
     29     /**
     30      * Updates the value.
     31      */
     32     updateSpacingValue: function (context, value) {
     33 
     34         var control = this;
     35         
     36 
     37         var onChange = _.debounce(function(input){
     38 
     39             if (control.setting && control.setting.get()) {
     40                 value = _.clone(control.setting.get());
     41             }
     42             value[context] =input.val();
     43 
     44             // Notifications.
     45             kirkiNotifications(control.id, 'kirki-spacing', control.params.kirkiConfig);
     46 
     47             // Save the value
     48             control.saveValue(value);
     49 
     50         },500);
     51 
     52         control.container.on('change keyup paste', '.' + context + ' input', function () {
     53                 onChange(jQuery(this));
     54         });
     55 
     56     },
     57 
     58     /**
     59      * Saves the value.
     60      */
     61     saveValue: function (value) {
     62 
     63         'use strict';
     64 
     65         var control = this,
     66             newValue = {};
     67 
     68         _.each(value, function (newSubValue, i) {
     69             newValue[i] = newSubValue;
     70         });
     71 
     72         control.setting.set(newValue);
     73     }
     74 
     75 });