'use strict'; (function( $ ) { window.bt_bb_dialog_param = { attach_image: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); var content = ''; content += '' + obj.param.heading + ''; content += '
'; if ( Number.isInteger( parseInt( obj.attr_value ) ) ) { content += '
'; setTimeout( window.bt_bb_sortable_background, 100, obj.attr_value ); } content += '
'; content += '
'; content += ''; content += '
'; content += '
'; if ( ! Number.isInteger( parseInt( obj.attr_value ) ) ) { content += ''; } else { content += ''; } content += '
'; div.innerHTML = content; return div; }, attach_images: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); var content = ''; content += '' + obj.param.heading + ''; content += '
'; var img_arr = obj.attr_value.split( ',' ); if ( img_arr[0] != '' ) { for ( var j = 0; j < img_arr.length; j++ ) { if ( Number.isInteger( parseInt( img_arr[ j ] ) ) ) { content += '
'; setTimeout( window.bt_bb_sortable_background, 100, img_arr[ j ] ); } } } content += '
'; content += '
'; content += ''; content += '
'; div.innerHTML = content; return div; }, textfield: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); var html = ''; if ( obj.attr_value == '' ) { if ( obj.param.value !== undefined ) { html = obj.param.value; html = bt_bb_special_char_decode( html ); } } else { html = bt_bb_special_char_decode( obj.attr_value ); } var placeholder = ''; if ( obj.param.placeholder !== undefined ) { placeholder = obj.param.placeholder; placeholder = ' ' + 'placeholder="' + placeholder + '"'; } div.innerHTML = '' + obj.param.heading + ''; return div; }, datetime_local: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); var html = ''; if ( obj.attr_value == '' ) { if ( obj.param.value !== undefined ) { html = obj.param.value; html = bt_bb_special_char_decode( html ); } } else { html = bt_bb_special_char_decode( obj.attr_value ); } div.innerHTML = '' + obj.param.heading + ''; return div; }, textarea: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); div.innerHTML = '' + obj.param.heading + ''; return div; }, textarea_object: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); try { div.innerHTML = '' + obj.param.heading + ''; } catch( e ) { div.innerHTML = '' + obj.param.heading + ''; } return div; }, dropdown: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); if ( obj.param.responsive_override ) { $( div ).addClass( 'bt_bb_dialog_item_responsive_override' ); } var content = ''; content += '' + obj.param.heading + ''; var get_select = function( attr_value, responsive_override ) { var html = ''; return html; } if ( obj.attr_value.includes( '%$%' ) ) { var attr_arr = obj.attr_value.split( '%$%' ); } else { var attr_arr = obj.attr_value.split( ',;,' ); } if ( attr_arr.length != 5 && attr_arr.length != 6 ) { attr_arr = [ attr_arr[0], '', '', '', '', '' ]; } else if ( attr_arr.length == 5 ) { attr_arr = [ attr_arr[0], attr_arr[1], attr_arr[1], attr_arr[2], attr_arr[3], attr_arr[4] ]; } content += get_select( attr_arr[0] ); content += '
'; if ( obj.param.responsive_override ) { content += '
'; content += get_select( attr_arr[1], true ); content += '
'; content += '
'; content += get_select( attr_arr[2], true ); content += '
'; content += '
'; content += get_select( attr_arr[3], true ); content += '
'; content += '
'; content += get_select( attr_arr[4], true ); content += '
'; content += '
'; content += get_select( attr_arr[5], true ); content += '
'; } content += '
'; div.innerHTML = content; return div; }, iconpicker: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); var content = ''; content += '' + obj.param.heading + ''; content += window.bt_bb_iconpicker( obj.param.value, obj.attr_value ); div.innerHTML = content; return div; }, colorpicker: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item bt_bb_colorpicker' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); var content = ''; content += '' + obj.param.heading + ''; content += ''; div.innerHTML = content; return div; }, link: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); var html = ''; if ( obj.attr_value == '' ) { if ( obj.param.value !== undefined ) { html = obj.param.value; html = bt_bb_special_char_decode( html ); } } else { html = bt_bb_special_char_decode( obj.attr_value ); } div.innerHTML = '' + obj.param.heading + ''; div.innerHTML += ''; div.innerHTML += ''; return div; }, checkbox: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); var content = ''; content += '' + obj.param.heading + ''; var options = obj.param.value; var keys = Object.keys( options ); var checked = ''; if ( obj.attr_value == options[ keys[0] ] ) { checked = ' ' + 'checked'; } content += ''; div.innerHTML = content; return div; }, checkbox_group: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); var content = ''; content += '' + obj.param.heading + ''; var options = obj.param.value; var keys = Object.keys( options ); var attr_array = obj.attr_value.split( ' ' ); var el_obj = window.bt_bb_get_obj_by_id( window.bt_bb_state_current, window.bt_bb_from ); var el_attr_obj = {}; if ( el_obj.attr !== undefined ) { el_attr_obj = window.attr_to_obj( el_obj.attr ); } var lg_checked = false; for ( var n = 0; n < keys.length; n++ ) { var checked = ''; if ( $.inArray( options[ keys[ n ] ], attr_array ) != -1 ) { checked = ' ' + 'checked'; if ( options[ keys[ n ] ] == 'hidden_lg' ) { lg_checked = true; } } if ( lg_checked && options[ keys[ n ] ] == 'hidden_xl' && ! el_attr_obj.bb_version ) { checked = ' ' + 'checked'; } content += ''; } div.innerHTML = content; return div; }, radio: function( obj ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ] ] ); var content = ''; content += '' + obj.param.heading + ''; var options = obj.param.value; var keys = Object.keys( options ); var attr_array = obj.attr_value.split( ' ' ); var el_obj = window.bt_bb_get_obj_by_id( window.bt_bb_state_current, window.bt_bb_from ); var el_attr_obj = {}; if ( el_obj.attr !== undefined ) { el_attr_obj = window.attr_to_obj( el_obj.attr ); } for ( var n = 0; n < keys.length; n++ ) { var checked = ''; if ( $.inArray( options[ keys[ n ] ], attr_array ) != -1 ) { checked = ' ' + 'checked'; } content += ''; } div.innerHTML = content; return div; }, ai_prompt: function( obj ) { const fragment = document.createDocumentFragment(); var _content = false; if ( typeof obj.group_class !== 'undefined' ) { var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' + obj.group_class ], [ 'data-param_name', obj.param.param_name ], [ 'data-type', obj.param.type ], [ 'data-system_prompt', obj.param.system_prompt ], [ 'data-target', JSON.stringify( obj.param.target ) ], ] ); } else { // _content (text) context _content = true; var div = bt_bb_create_dom_element( 'div', [ [ 'class', 'bt_bb_dialog_item' ], [ 'data-type', 'ai_prompt' ], [ 'data-target', '_content' ], ] ); } var keywords = ''; var tone = ''; var language = ''; var len = false; if ( obj.attr_value != '' && typeof obj.attr_value !== 'undefined' ) { var ai_obj = JSON.parse( window.bt_bb_b64DecodeUnicode( obj.attr_value ) ); keywords = ai_obj.keywords ? ai_obj.keywords : ''; tone = ai_obj.tone ? ai_obj.tone : ''; if ( localStorage.getItem( 'bt_bb_ai_tone' ) ) { tone = localStorage.getItem( 'bt_bb_ai_tone' ); } language = ai_obj.language ? ai_obj.language : ''; if ( localStorage.getItem( 'bt_bb_ai_language' ) ) { language = localStorage.getItem( 'bt_bb_ai_language' ); } if ( ! _content ) { len = JSON.parse( ai_obj.length ); } else { len = ai_obj.length.length; } } var ai_open = false; if ( localStorage.getItem( 'bt_bb_ai_open' ) && localStorage.getItem( 'bt_bb_ai_open' ) === 'true' ) { ai_open = true; } // Open/close var open_close = document.createElement( 'div' ); var ai_open_class = ''; if ( ai_open ) { div.classList.add( 'bt_bb_ai_open' ); ai_open_class = ' bt_bb_ai_open'; } open_close.innerHTML = '
' + window.bt_bb_text.ai_content_generator + ' ?
'; // Keywords div.innerHTML += '
' + window.bt_bb_text.keywords + '
'; // Length var length_html = '
' + window.bt_bb_text.desired_length + '' + window.bt_bb_text.leave_empty + '
'; var i = 0; if ( ! _content ) { for ( const[ key, item ] of Object.entries( obj.param.target ) ) { var item_len = ''; if ( Array.isArray( len ) ) { item_len = len[ i ]; } length_html += '
' + item.title + '
'; i++; } } else { length_html += '
'; } length_html += '
'; div.innerHTML += length_html; // Tone var tone_html = '
' + window.bt_bb_text.tone + ''; div.innerHTML += tone_html; // Language div.innerHTML += '
' + window.bt_bb_text.language + '
'; // Buttons var buttons_html = '
'; buttons_html += '0/0'; buttons_html += ''; buttons_html += ''; buttons_html += ''; buttons_html += '
'; div.innerHTML += buttons_html; // Error var error_html = '
'; error_html += window.bt_bb_text.ai_error; error_html += '
'; div.innerHTML += error_html; fragment.appendChild( open_close.firstChild ); fragment.appendChild( div ); return fragment; } } //window.bt_bb_dialog_param.attach_images = window.bt_bb_dialog_param.attach_image; window.bt_bb_dialog_param.dropdown_color = window.bt_bb_dialog_param.dropdown; window.bt_bb_get_dialog_param = function( obj ) { var div = window.bt_bb_dialog_param[ obj.param.type.replaceAll( '-', '_' ) ]( obj ); if ( obj.param.description !== undefined ) { var desc = bt_bb_create_dom_element( 'i', [] ); desc.innerHTML = obj.param.description; div.appendChild( desc ); } return div; } }( jQuery ));