芝麻web文件管理V1.00
编辑当前文件:/www/wwwroot/fashionmodelquicktrack.com/wp-content/plugins/fixed-toc/admin/customizer/controls.js
'use strict'; /** * Script for custom customize control. */ (function($) { $(document).ready(function() { // Toggle fields (function() { // Set data var data = { location_fixed_position: { location_vertical_offset: { type: 'select', val: ['top-left', 'top-right', 'bottom-left', 'bottom-right'], increase: 1 } }, contents_display_in_post: { contents_float_in_post: {type: 'check', val: true, increase: 1}, contents_position_in_post: {type: 'check', val: true, increase: 1}, contents_width_in_post: {type: 'check', val: true, increase: 1}, contents_height_in_post: {type: 'check', val: true, increase: 1}, contents_col_exp_init: {type: 'check', val: true, increase: 1} }, // contents_float_in_post: { // contents_width_in_post: { type: 'multi_check', val: ['left', 'right'], increase: 1/2 } // }, contents_header_font_family: { contents_header_customize_font_family: { type: 'select', val: 'customize', increase: 1 } }, contents_list_font_family: { contents_list_customize_font_family: { type: 'select', val: 'customize', increase: 1 } }, contents_list_nested: { contents_list_strong_1st: {type: 'check', val: true, increase: 1}, contents_list_colexp: {type: 'check', val: true, increase: 1}, contents_list_sub_icon: {type: 'check', val: true, increase: 1 / 2}, contents_list_colexp_init_state: { type: 'check', val: true, increase: 1 / 4 }, contents_list_accordion: {type: 'check', val: true, increase: 0.3334} }, contents_list_colexp: { contents_list_sub_icon: {type: 'check', val: true, increase: 1 / 2}, contents_list_colexp_init_state: { type: 'check', val: true, increase: 1 / 4 }, contents_list_accordion: {type: 'check', val: true, increase: 0.3334} }, contents_list_sub_icon: { contents_list_accordion: {type: 'check', val: true, increase: 0.3334}, contents_list_colexp_init_state: { type: 'check', val: true, increase: 1 / 4 } }, contents_list_accordion: { contents_list_colexp_init_state: { type: 'check', val: false, increase: 1 / 4 } } }; // End data // Detect input value // noinspection DuplicatedCode var detectInput = { isIncrease: function(type, $trigger, val) { var result = false; switch (type) { case 'check' : { result = this.check($trigger, val); break; } case 'multi_check' : { result = this.multiCheck($trigger, val); break; } case 'select' : { result = this.select($trigger, val); break; } } return result; }, check: function($trigger, val) { var checked = false; if ($trigger.is(':checked')) { checked = true; } return val == checked; }, multiCheck: function($trigger, val) { var checked = false; $trigger.each(function() { if ($(this).is(':checked')) { checked = (-1 !== val.indexOf($(this).val())); } }); return checked; }, select: function($trigger, val) { if (Array.isArray(val)) { for (var i = 0, len = val.length; i < len; i++) { if ($trigger.val() == val[i]) { return true; } } return false; } else { // noinspection RedundantIfStatementJS if (val == $trigger.val()) { return true; } else { return false; } } } }; // End detect // Control // noinspection JSUnusedLocalSymbols,DuplicatedCode var control = { fields: {}, toggleFields: function() { this.setFields(); $.each(data, function(k, v) { var $trigger = control.getTrigger(k); control.toggle(v); $trigger.on('change', function() { control.setFields(); control.toggle(v); }); }); }, toggle: function(targets) { // noinspection JSUnusedLocalSymbols $.each(this.fields, function(k, v) { var $target = control.getTarget(k); if (1 <= control.fields[k]) { $target.show(200); } else { $target.hide(200); } }); }, setFields: function() { this.fields = {}; $.each(data, function(triggerName, targets) { var $trigger = control.getTrigger(triggerName); $.each(targets, function(targetName, v) { var visibility = 0; if (undefined !== control.fields[targetName]) { visibility = control.fields[targetName]; } if (detectInput.isIncrease(v.type, $trigger, v.val)) { visibility = visibility + parseFloat(v.increase); } else { visibility = 0; } control.fields[targetName] = visibility; }); }); }, getTrigger: function(triggerName) { return $('#customize-control-fixedtoc-field-' + triggerName). find(':input'); }, getTarget: function(targetName) { return $('#customize-control-fixedtoc-field-' + targetName); } }; // End control control.toggleFields(); })(); // End toggle fields. }); // End ready() })(jQuery);