| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- (function($){
- FLBuilder.registerModuleHelper('callout', {
- rules: {
- title: {
- required: true
- }
- },
- init: function()
- {
- var form = $( '.fl-builder-settings' ),
- imageType = form.find( 'select[name=image_type]' ),
- ctaType = form.find( 'select[name=cta_type]' ),
- titleSize = form.find( 'select[name=title_size]' ),
- align = form.find( 'select[name=align]' );
- // Init validation events.
- this._imageTypeChanged();
- this._ctaTypeChanged();
- this._titleSizeChanged();
- // Validation events.
- imageType.on( 'change', this._imageTypeChanged );
- ctaType.on( 'change', this._ctaTypeChanged );
- titleSize.on( 'change', this._titleSizeChanged );
- // Preview events.
- align.on( 'change', this._previewAlign );
- },
- _imageTypeChanged: function()
- {
- var form = $( '.fl-builder-settings' ),
- imageType = form.find( 'select[name=image_type]' ).val(),
- photo = form.find( 'input[name=photo]' ),
- icon = form.find( 'input[name=icon]' );
- photo.rules( 'remove' );
- icon.rules( 'remove' );
- if (imageType == 'photo') {
- photo.rules( 'add', { required: true } );
- } else if (imageType == 'icon') {
- icon.rules( 'add', { required: true } );
- }
- },
- _ctaTypeChanged: function()
- {
- var form = $( '.fl-builder-settings' ),
- ctaType = form.find( 'select[name=cta_type]' ).val(),
- ctaText = form.find( 'input[name=cta_text]' );
- ctaText.rules( 'remove' );
- if (ctaType != 'none') {
- ctaText.rules('add', {
- required: true
- });
- }
- },
- _titleSizeChanged: function()
- {
- var form = $( '.fl-builder-settings' ),
- titleSize = form.find( 'select[name=title_size]' ).val(),
- customSize = form.find( 'input[name=title_custom_size]' );
- customSize.rules( 'remove' );
- if (titleSize == 'custom') {
- customSize.rules('add', {
- number: true,
- required: true
- });
- }
- },
- _previewAlign: function()
- {
- var form = $( '.fl-builder-settings' ),
- align = form.find( 'select[name=align]' ).val(),
- wrap = FLBuilder.preview.elements.node.find( '.fl-callout' );
- wrap.removeClass( 'fl-callout-left' );
- wrap.removeClass( 'fl-callout-center' );
- wrap.removeClass( 'fl-callout-right' );
- wrap.addClass( 'fl-callout-' + align );
- }
- });
- })(jQuery);
|