PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.9.3
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.9.3
4.9.3 4.9.2 4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 3.4.2 3.5.0 All 201 releases
betterdocs / assets / static / vendor / js / customizer-dimension-control.js

customizer-dimension-control.js in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 4.9.3, at assets/static/vendor/js/customizer-dimension-control.js

93 lines 5.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 ( function( $ ) {
2 'use strict';
3 $(document).ready(function () {
4 $(".customize-control-betterdocs-multi-dimension").each(function() {
5 let dimension_control = $(this).find('.betterdocs-dimension-control');
6 let dinput1 = $(this).find('.betterdocs-dimension-input-1');
7 let dinput2 = $(this).find('.betterdocs-dimension-input-2');
8 let dinput3 = $(this).find('.betterdocs-dimension-input-3');
9 let dinput4 = $(this).find('.betterdocs-dimension-input-4');
10 let dimension_result = {
11 input1: dinput1.val(),
12 input2: dinput2.val(),
13 input3: dinput3.val(),
14 input4: dinput4.val()
15 };
16
17 dimension_control.val(JSON.stringify(dimension_result)).change();
18
19 // Disconnected button
20 $( '.betterdocs-dimension-disconnected' ).on( 'click', function() {
21
22 // Set up variables
23 var elements = $(this).data( 'element-connect' );
24
25 // Add connected class
26 $(this).parent().parent( '.betterdocs-dimension-fields' ).find( 'input' ).addClass( 'connected' ).removeClass( 'disconnected' ).attr( 'data-element-connect', elements );
27
28 // Add class
29 $(this).parent( '.betterdocs-dimension-link' ).addClass( 'connected' );
30
31 });
32
33 // Connected button
34 $( '.betterdocs-dimension-connected' ).on( 'click', function() {
35 // Remove connected class
36 $(this).parent().parent( '.betterdocs-dimension-fields' ).find( 'input' ).removeClass( 'connected' ).addClass( 'disconnected' ).attr( 'data-element-connect', '' );
37
38 // Remove class
39 $(this).parent( '.betterdocs-dimension-link' ).removeClass( 'connected' );
40
41 } );
42
43 // Values connected inputs
44 $(document).on( 'input', ".betterdocs-dimension-input.connected", function() {
45
46 var dataElement = $(this).attr( 'data-element-connect' );
47 var currentFieldValue = $(this).val();
48 let dimension_control = $(this).parents('.customize-control-betterdocs-multi-dimension').find('.betterdocs-dimension-control');
49 let dimension_result = JSON.parse(dimension_control.val());
50
51 $(this).parent().parent('.betterdocs-dimension-fields').find('.connected[ data-element-connect="' + dataElement + '" ]').each(function(key, value) {
52 $(this).val(currentFieldValue).change();
53 let eachDataInput = $(this).attr('data-input');
54 dimension_result[eachDataInput] = ( $(this).val() === undefined || $(this).val() === '' ) ? '0' : $(this).val();
55 dimension_control.val(JSON.stringify(dimension_result)).change();
56 });
57 });
58
59 $(document).on( 'input', ".betterdocs-dimension-input.disconnected", function() {
60 let dimension_control = $(this).parents('.customize-control-betterdocs-multi-dimension').find('.betterdocs-dimension-control');
61
62 let dimension_result = JSON.parse(dimension_control.val());
63 let dataInput = $(this).attr('data-input');
64 dimension_result[dataInput] = ( $(this).val() === undefined || $(this).val() === '' ) ? '0' : $(this).val();
65 dimension_control.val(JSON.stringify(dimension_result)).change();
66 });
67
68 });
69
70 // Get the default values for Multidimensional Controllers
71 var multiDimensional_controller_list = $(".customize-control-betterdocs-multi-dimension");
72
73 var default_values = {};
74
75 for( var controller of multiDimensional_controller_list ) {
76 default_values[$(controller).attr('id')] = $(controller).children('input').val();
77 }
78
79 // MultiDimension Reset Controller
80 $('.betterdocs-customizer-reset.betterdocs-multi-dimension').on('click', function(e){
81 var current_default_values = default_values[$(this).parent().parent().attr('id')];
82 var input1 = JSON.parse( default_values[$(this).parent().parent().attr('id')] )['input1'];
83 var input2 = JSON.parse( default_values[$(this).parent().parent().attr('id')] )['input2'];
84 var input3 = JSON.parse( default_values[$(this).parent().parent().attr('id')] )['input3'];
85 var input4 = JSON.parse( default_values[$(this).parent().parent().attr('id')] )['input4'];
86 $(this).parent().next().next().val(current_default_values).change();
87 $(this).parent().next().next().next().find('.betterdocs-dimension-input-1').val(input1);
88 $(this).parent().next().next().next().find('.betterdocs-dimension-input-2').val(input2);
89 $(this).parent().next().next().next().find('.betterdocs-dimension-input-3').val(input3);
90 $(this).parent().next().next().next().find('.betterdocs-dimension-input-4').val(input4);
91 });
92 });
93 })(jQuery);