4 lines
1.7 KiB
JavaScript
4 lines
1.7 KiB
JavaScript
;(function($,_,undefined){"use strict";ips.controller.register('cms.admin.fields.form',{currentValue:null,initialize:function(){const fieldDefaultValue=document.querySelector('#elTextarea_field_default_value')
|
|
if(fieldDefaultValue){fieldDefaultValue.addEventListener('input',_.throttle(()=>this.checkChange(),50));this.currentValue=fieldDefaultValue.value||'';document.querySelectorAll('#field_default_update_existing').ipsHide();}
|
|
this.on('change','input[data-control="color"]',this.changeBadgeColor);this.on('change','input[type="checkbox"][name*="color"]',this.changeBadgeColor);this.elem.querySelector('form').addEventListener('ips:calculateToggles',e=>{const form=e.target;if(!(form instanceof HTMLFormElement)){return;}
|
|
const showMapActive=!!form.querySelector('select[name="field_type"] option[value="Address"]')?.selected;const mapEl=form.querySelectorAll('#field_show_map_listing,#field_show_map_display');if(mapEl&&!showMapActive){mapEl.forEach(el=>e.detail.togglesOff.add(el));}})},checkChange(){if(document.querySelector('#elTextarea_field_default_value').value!==this.currentValue){document.querySelector('#field_default_update_existing').ipsShow();}else{document.querySelector('#field_default_update_existing').ipsHide();}},changeBadgeColor(e){const colorPicker=e.target?.closest?.('.ipsFieldRow[id]').getAttribute('id');const badge=`#elField_field_display_${colorPicker?.includes('listing') ? 'listing' : 'display'}_json_badge_badge_label`;const color=(!colorPicker||document.querySelector(`#${colorPicker}_none`)?.checked)?'':document.querySelector(`input[name="${colorPicker}"]`)?.value;document.querySelectorAll(`${badge} span`).forEach(span=>span.style[colorPicker?.includes('bgcolor')?'background':'color']=color);}});}(jQuery,_));; |