Make folder controls update sticky JS on change

Also removes a call the `render` method which
duplicates one already made by the
`selectActionButtons` method on load.
This commit is contained in:
Tom Byers
2018-12-13 14:25:22 +00:00
parent 9823ff831f
commit 030701ab1b
2 changed files with 12 additions and 4 deletions

View File

@@ -12,7 +12,6 @@
this._appliedClass = null;
this._$shim = null;
this._stopped = false;
this.scrolledFrom = this._sticky.getScrolledFrom($el);
};
StickyElement.prototype.stickyClass = function () {
return (this._sticky._initialPositionsSet) ? this._fixedClass : this._initialFixedClass;
@@ -106,9 +105,15 @@
};
Sticky.prototype.setElementDimensions = function (el, callback) {
var self = this;
var $el = el.$fixedEl;
var onHeightSet = function () {
el.scrolledTo = self.getScrollingTo(el);
el.updateShim(el);
// if element is shim'ed, pass changes in dimension on to the shim
if (el._$shim) {
el.updateShim();
$el = el._$shim;
}
el.scrolledFrom = self.getScrolledFrom($el);
if (callback !== undefined) {
callback();
}

View File

@@ -36,8 +36,6 @@
this.$form.on('click', 'button.button-secondary', (event) => this.actionButtonClicked(event));
this.$form.on('change', 'input[type=checkbox]', () => this.templateFolderCheckboxChanged());
this.render();
};
this.addCancelButton = function(state) {
@@ -96,6 +94,11 @@
this.states.forEach(
state => (state.key === this.currentState ? this.$stickyBottom.append(state.$el) : state.$el.detach())
);
// make sticky JS recalculate its cache of the element's position
if ('stickAtBottomWhenScrolling' in GOVUK) {
GOVUK.stickAtBottomWhenScrolling.recalculate();
}
};
this.nothingSelectedButtons = `