Ajout debounce chargement icone
This commit is contained in:
parent
150011dbe7
commit
c1fe1884e2
|
@ -2,6 +2,7 @@ var React = require('react');
|
||||||
var Util = require('../../util');
|
var Util = require('../../util');
|
||||||
var LazyLoad = require('../mixins/lazy-load');
|
var LazyLoad = require('../mixins/lazy-load');
|
||||||
var debug = Util.Debug('common:app-icon');
|
var debug = Util.Debug('common:app-icon');
|
||||||
|
var _ = require('lodash');
|
||||||
|
|
||||||
var LOADING_ICON = 'img/hourglass.svg';
|
var LOADING_ICON = 'img/hourglass.svg';
|
||||||
var DEFAULT_ICON = 'img/default-icon.svg';
|
var DEFAULT_ICON = 'img/default-icon.svg';
|
||||||
|
@ -10,6 +11,12 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
mixins: [LazyLoad],
|
mixins: [LazyLoad],
|
||||||
|
|
||||||
|
componentWillMount: function() {
|
||||||
|
if(!this._findIconDebounced) {
|
||||||
|
this._findIconDebounced = _.debounce(this._findIcon, 250);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
return { icon: DEFAULT_ICON, iconPath: DEFAULT_ICON, currentTheme: '' };
|
return { icon: DEFAULT_ICON, iconPath: DEFAULT_ICON, currentTheme: '' };
|
||||||
},
|
},
|
||||||
|
@ -33,7 +40,7 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
this.setState({ icon: newIcon, iconPath: LOADING_ICON, currentTheme: newTheme });
|
this.setState({ icon: newIcon, iconPath: LOADING_ICON, currentTheme: newTheme });
|
||||||
|
|
||||||
this._findIcon(newIcon, newTheme);
|
this._findIconDebounced(newIcon, newTheme);
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue