ru-se.com

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

customizer-page-settings-panel.js (1665B)


      1 (function (root, CP_Customizer, $) {
      2     CP_Customizer.addModule(function (CP_Customizer) {
      3 
      4         var panel = CP_Customizer.panels.pageContentPanel;
      5 
      6 
      7         $('body').on('click', '[data-name="page_content_panel"] span.section-icon.setting.page-settings', function () {
      8             CP_Customizer.openRightSidebar('cp-current-page-settings');
      9         });
     10 
     11         function getRegisteredControls() {
     12             var controls_ids = $('[data-name="page_content_panel"] .page-settings').attr('data-settings');
     13             var controls = [];
     14             controls_ids.split(',').forEach(function (id) {
     15                 var _c = wp.customize.control(id);
     16                 if (_c) {
     17                     controls.push(_c);
     18                 }
     19             });
     20 
     21             return controls;
     22         }
     23 
     24 
     25         panel.registerArea('general_page_settings', {
     26 
     27             $controlsHolder: null,
     28 
     29             refreshControls: function () {
     30                 var controls = getRegisteredControls(),
     31                     self = this;
     32 
     33                 _.each(controls, function (c) {
     34                     self.$controlsHolder.append(c.container);
     35                 });
     36             },
     37 
     38             init: function ($container) {
     39 
     40                 this.$controlsHolder = $("<ul/>");
     41                 $container.append($('<li/>').append(this.$controlsHolder));
     42                 var self = this;
     43 
     44                 self.refreshControls();
     45 
     46                 wp.customize.bind('pane-contents-reflowed', function () {
     47                     self.refreshControls();
     48                 })
     49             }
     50         });
     51     });
     52 })(window, CP_Customizer, jQuery);