85 lines
2.6 KiB
JavaScript
85 lines
2.6 KiB
JavaScript
/* global fusionAllElements, FusionApp, FusionPageBuilderApp */
|
|
var FusionPageBuilder = FusionPageBuilder || {};
|
|
|
|
( function() {
|
|
|
|
jQuery( document ).ready( function() {
|
|
|
|
// Related Component View.
|
|
FusionPageBuilder.fusion_tb_post_card_archives = FusionPageBuilder.fusion_post_cards.extend( {
|
|
|
|
onInit: function() {
|
|
var output, markupIsEmpty, markupIsPlaceholder;
|
|
|
|
this.filterTemplateAtts = this._filterTemplateAtts( this.filterTemplateAtts );
|
|
|
|
output = this.model.attributes.markup && this.model.attributes.markup.output;
|
|
markupIsEmpty = '' === output;
|
|
markupIsPlaceholder = output && output.includes( 'fusion-builder-placeholder' );
|
|
|
|
if ( markupIsEmpty || markupIsPlaceholder ) {
|
|
this.model.attributes.markup.output = this.getComponentPlaceholder();
|
|
}
|
|
},
|
|
|
|
/**
|
|
* Modify template attributes.
|
|
*
|
|
* @since 3.3
|
|
* @param {Object} atts - The attributes.
|
|
* @return {Object}
|
|
*/
|
|
_filterTemplateAtts: function( filterTemplateAtts ) {
|
|
var self = this;
|
|
return function( atts ) {
|
|
atts.params.show_title = 'yes';
|
|
atts = filterTemplateAtts.call( self, atts );
|
|
atts.placeholder = self.getComponentPlaceholder();
|
|
return atts;
|
|
};
|
|
},
|
|
|
|
/**
|
|
* Runs after view DOM is patched.
|
|
*
|
|
* @since 3.3
|
|
* @return {void}
|
|
*/
|
|
afterPatch: function() {
|
|
jQuery( '#fb-preview' )[ 0 ].contentWindow.jQuery( 'body' ).trigger( 'fusion-element-render-fusion_post_cards', this.model.attributes.cid );
|
|
},
|
|
|
|
/**
|
|
* Runs just after render on cancel.
|
|
*
|
|
* @since 3.5
|
|
* @return null
|
|
*/
|
|
beforeGenerateShortcode: function() {
|
|
var elementType = this.model.get( 'element_type' ),
|
|
options = fusionAllElements[ elementType ].params,
|
|
values = jQuery.extend( true, {}, fusionAllElements[ elementType ].defaults, _.fusionCleanParameters( this.model.get( 'params' ) ) );
|
|
|
|
if ( 'object' !== typeof options ) {
|
|
return;
|
|
}
|
|
|
|
// If images needs replaced lets check element to see if we have media being used to add to object.
|
|
if ( 'undefined' !== typeof FusionApp.data.replaceAssets && FusionApp.data.replaceAssets && ( 'undefined' !== typeof FusionApp.data.fusion_element_type || 'fusion_template' === FusionApp.getPost( 'post_type' ) ) ) {
|
|
|
|
this.mapStudioImages( options, values );
|
|
|
|
if ( '' !== values.post_card ) {
|
|
// If its not within object already, add it.
|
|
if ( 'undefined' === typeof FusionPageBuilderApp.mediaMap.post_cards[ values.post_card ] ) {
|
|
FusionPageBuilderApp.mediaMap.post_cards[ values.post_card ] = true;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
} );
|
|
} );
|
|
}( jQuery ) );
|