Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
private updateUIForCurrentValue_() {
const {max_: max, min_: min, value_: value} = this;
const pctComplete = (value - min) / (max - min);
let translatePx = pctComplete * this.rect_.width;
if (this.adapter_.isRTL()) {
translatePx = this.rect_.width - translatePx;
}
const transformProp = getCorrectPropertyName(window, 'transform');
const transitionendEvtName = getCorrectEventName(window, 'transitionend') as EventType;
if (this.inTransit_) {
const onTransitionEnd = () => {
this.setInTransit_(false);
this.adapter_.deregisterThumbContainerInteractionHandler(transitionendEvtName, onTransitionEnd);
};
this.adapter_.registerThumbContainerInteractionHandler(transitionendEvtName, onTransitionEnd);
}
requestAnimationFrame(() => {
// NOTE(traviskaufman): It would be nice to use calc() here,
// but IE cannot handle calcs in transforms correctly.
// See: https://goo.gl/NC2itk
// Also note that the -50% offset is used to center the slider thumb.
this.adapter_.setThumbContainerStyleProperty(transformProp, `translateX(${translatePx}px) translateX(-50%)`);
this.adapter_.setTrackStyleProperty(transformProp, `scaleX(${pctComplete})`);
MDCSliderFoundation.prototype.updateUIForCurrentValue_ = function () {
var _this = this;
var _a = this, max = _a.max_, min = _a.min_, value = _a.value_;
var pctComplete = (value - min) / (max - min);
var translatePx = pctComplete * this.rect_.width;
if (this.adapter_.isRTL()) {
translatePx = this.rect_.width - translatePx;
}
var transformProp = getCorrectPropertyName(window, 'transform');
var transitionendEvtName = getCorrectEventName(window, 'transitionend');
if (this.inTransit_) {
var onTransitionEnd_1 = function () {
_this.setInTransit_(false);
_this.adapter_.deregisterThumbContainerInteractionHandler(transitionendEvtName, onTransitionEnd_1);
};
this.adapter_.registerThumbContainerInteractionHandler(transitionendEvtName, onTransitionEnd_1);
}
requestAnimationFrame(function () {
// NOTE(traviskaufman): It would be nice to use calc() here,
// but IE cannot handle calcs in transforms correctly.
// See: https://goo.gl/NC2itk
// Also note that the -50% offset is used to center the slider thumb.
_this.adapter_.setThumbContainerStyleProperty(transformProp, "translateX(" + translatePx + "px) translateX(-50%)");
_this.adapter_.setTrackStyleProperty(transformProp, "scaleX(" + pctComplete + ")");
});
};
MDCCheckbox.prototype.initialSyncWithDOM = function () {
var _this = this;
this.handleChange_ = function () { return _this.foundation_.handleChange(); };
this.handleAnimationEnd_ = function () { return _this.foundation_.handleAnimationEnd(); };
this.nativeControl_.addEventListener('change', this.handleChange_);
this.listen(getCorrectEventName(window, 'animationend'), this.handleAnimationEnd_);
this.installPropertyChangeHooks_();
};
MDCCheckbox.prototype.destroy = function () {
initialSyncWithDOM() {
this.handleChange_ = () => this.foundation_.handleChange();
this.handleAnimationEnd_ = () => this.foundation_.handleAnimationEnd();
this.nativeControl_.addEventListener('change', this.handleChange_);
this.listen(getCorrectEventName(window, 'animationend'), this.handleAnimationEnd_);
this.installPropertyChangeHooks_();
}
destroy() {
this.ripple_.destroy();
this.nativeControl_.removeEventListener('change', this.handleChange_);
this.unlisten(getCorrectEventName(window, 'animationend'), this.handleAnimationEnd_);
this.uninstallPropertyChangeHooks_();
super.destroy();
}
MDCCheckbox.prototype.destroy = function () {
this.ripple_.destroy();
this.nativeControl_.removeEventListener('change', this.handleChange_);
this.unlisten(getCorrectEventName(window, 'animationend'), this.handleAnimationEnd_);
this.uninstallPropertyChangeHooks_();
_super.prototype.destroy.call(this);
};
MDCCheckbox.prototype.getDefaultFoundation = function () {