File "revSliderImage.js"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/revslider/admin/includes/shortcode_generator/gutenberg/src/revslider/revSliderImage.js
File size: 2.51 KB
MIME-type: text/plain
Charset: utf-8
/**
* RevSlider Editor Element
*/
/**
* Internal block libraries
*/
const { Component } = wp.element;
/**
* Component RevSlider for usage in block
*/
export class RevSliderImage extends Component {
constructor() {
super( ...arguments );
this.state = {
response : undefined,
alias : this.props.attributes.alias,
slidertitle: this.props.attributes.slidertitle,
};
}
// Load Slider Image before it is mounted
componentWillMount(){
this.loadSliderImage();
}
// Load Slider Image when it is mounted
componentDidMount() {
//this.loadSliderImage();
}
// When new Props are send to the Block it will reload the image when the alias has changed
componentWillReceiveProps(){
if(this.state.alias != this.props.attributes.alias)
this.loadSliderImage();
}
// Loads the Slider Admin Thumb via Ajax Call
loadSliderImage(){
this.setState({response: undefined});
this.setState({alias: this.props.attributes.alias});
var self = this;
if(!this.props.attributes.alias){
if(this.props.attributes.content!==undefined || this.props.attributes.text!==undefined){
let shortcode = this.props.attributes.content!==undefined ? RVS.SC.parseShortCode(this.props.attributes.content) : RVS.SC.parseShortCode(this.props.attributes.text);
if(shortcode.attributes.alias) {
this.props.attributes.alias = shortcode.attributes.alias;
}
}
}
if(this.props.attributes.alias){
RVS.F.ajaxRequest('getSliderImage', { alias : this.props.attributes.alias }, function(response) {
if(response.success) {
if (response!==undefined && response.image!==undefined) {
self.setState({
response
});
}
RVS.F.showWaitAMinute({fadeIn:0,text:RVS_LANG.loadingcontent});
}
});
}
}
// Renders the different states of the image (loading, loaded and no image)
render() {
//Image Loaded
if(this.state.response && this.state.response.image !== ""){
return [
<div className="sliderImage">
<div style={{ backgroundImage : 'url(' + this.state.response.image +')'}}></div>
</div>
]
}
else {
//Image Loading
if(!this.state.response)
return [
<div className="sliderImageLoading"></div>
]
//No Image
else {
return [
<div className="noSliderImage"></div>
]
}
}
}
}