2026-02-05 17:08:59 +03:00

94 lines
2.3 KiB
JavaScript

var FusionPageBuilder = FusionPageBuilder || {};
( function() {
jQuery( document ).ready( function() {
// Chart Dataset child View.
FusionPageBuilder.fusion_chart_dataset = FusionPageBuilder.ChildElementView.extend( {
/**
* Runs during render() call.
*
* @since 2.0
* @return {void}
*/
onRender: function() {
if ( 'undefined' !== typeof this.model.attributes.selectors ) {
this.model.attributes.selectors[ 'class' ] += ' ' + this.className;
this.setElementAttributes( this.$el, this.model.attributes.selectors );
}
},
/**
* Runs after view DOM is patched.
*
* @since 2.0
* @return {void}
*/
afterPatch: function() {
if ( 'undefined' !== typeof this.model.attributes.selectors ) {
this.model.attributes.selectors[ 'class' ] += ' ' + this.className;
this.setElementAttributes( this.$el, this.model.attributes.selectors );
}
// Using non debounced version for smoothness.
this.refreshJs();
},
/**
* Modify template attributes.
*
* @since 2.0
* @param {Object} atts - The attributes.
* @return {Object}
*/
filterTemplateAtts: function( atts ) {
var attributes = {},
element = window.fusionAllElements[ this.model.get( 'element_type' ) ];
atts.values = jQuery.extend( true, {}, element.defaults, _.fusionCleanParameters( atts.params ) );
attributes.chartDatasetShortcode = this.buildDatasetAttr( atts.values );
return attributes;
},
/**
* Builds attributes.
*
* @since 2.0
* @param {Object} values - The values object.
* @return {Object}
*/
buildDatasetAttr: function( values ) {
var chartDatasetShortcode = {
class: 'fusion-chart-dataset'
};
if ( values.title ) {
chartDatasetShortcode[ 'data-label' ] = values.title;
} else {
chartDatasetShortcode[ 'data-label' ] = ' ';
}
if ( '' !== values.values ) {
chartDatasetShortcode[ 'data-values' ] = values.values;
}
if ( '' !== values.background_color ) {
chartDatasetShortcode[ 'data-background_color' ] = jQuery.AWB_Color( values.background_color ).toRgbaString();
}
if ( '' !== values.border_color ) {
chartDatasetShortcode[ 'data-border_color' ] = jQuery.AWB_Color( values.border_color ).toRgbaString();
}
return chartDatasetShortcode;
}
} );
} );
}( jQuery ) );