Merge pull request #7526 from nextcloud/make-possible-for-apps-to-disable-the-navigation-bar-slide-gesture
Make possible for apps to disable the navigation bar slide gesture
This commit is contained in:
commit
9d43724d45
|
@ -22,6 +22,7 @@
|
||||||
"karma-jasmine-sinon": "^1.0.4",
|
"karma-jasmine-sinon": "^1.0.4",
|
||||||
"karma-junit-reporter": "*",
|
"karma-junit-reporter": "*",
|
||||||
"karma-phantomjs-launcher": "*",
|
"karma-phantomjs-launcher": "*",
|
||||||
|
"karma-viewport": "^0.4.2",
|
||||||
"phantomjs-prebuilt": "*",
|
"phantomjs-prebuilt": "*",
|
||||||
"node-sass": "~4.1.1",
|
"node-sass": "~4.1.1",
|
||||||
"sinon": "*"
|
"sinon": "*"
|
||||||
|
|
|
@ -1612,12 +1612,47 @@ function initCore() {
|
||||||
snapper.close();
|
snapper.close();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var navigationBarSlideGestureEnabled = false;
|
||||||
|
var navigationBarSlideGestureAllowed = true;
|
||||||
|
var navigationBarSlideGestureEnablePending = false;
|
||||||
|
|
||||||
|
OC.allowNavigationBarSlideGesture = function() {
|
||||||
|
navigationBarSlideGestureAllowed = true;
|
||||||
|
|
||||||
|
if (navigationBarSlideGestureEnablePending) {
|
||||||
|
snapper.enable();
|
||||||
|
|
||||||
|
navigationBarSlideGestureEnabled = true;
|
||||||
|
navigationBarSlideGestureEnablePending = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture = function() {
|
||||||
|
navigationBarSlideGestureAllowed = false;
|
||||||
|
|
||||||
|
if (navigationBarSlideGestureEnabled) {
|
||||||
|
var endCurrentDrag = true;
|
||||||
|
snapper.disable(endCurrentDrag);
|
||||||
|
|
||||||
|
navigationBarSlideGestureEnabled = false;
|
||||||
|
navigationBarSlideGestureEnablePending = true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
var toggleSnapperOnSize = function() {
|
var toggleSnapperOnSize = function() {
|
||||||
if($(window).width() > 768) {
|
if($(window).width() > 768) {
|
||||||
snapper.close();
|
snapper.close();
|
||||||
snapper.disable();
|
snapper.disable();
|
||||||
} else {
|
|
||||||
|
navigationBarSlideGestureEnabled = false;
|
||||||
|
navigationBarSlideGestureEnablePending = false;
|
||||||
|
} else if (navigationBarSlideGestureAllowed) {
|
||||||
snapper.enable();
|
snapper.enable();
|
||||||
|
|
||||||
|
navigationBarSlideGestureEnabled = true;
|
||||||
|
navigationBarSlideGestureEnablePending = false;
|
||||||
|
} else {
|
||||||
|
navigationBarSlideGestureEnablePending = true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1112,4 +1112,431 @@ describe('Core base tests', function() {
|
||||||
expect(OC._ajaxConnectionLostHandler.calls.count()).toBe(1);
|
expect(OC._ajaxConnectionLostHandler.calls.count()).toBe(1);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
describe('Snapper', function() {
|
||||||
|
var snapConstructorStub;
|
||||||
|
var snapperStub;
|
||||||
|
var clock;
|
||||||
|
|
||||||
|
beforeEach(function() {
|
||||||
|
snapConstructorStub = sinon.stub(window, 'Snap');
|
||||||
|
|
||||||
|
snapperStub = {};
|
||||||
|
snapperStub.enable = sinon.stub();
|
||||||
|
snapperStub.disable = sinon.stub();
|
||||||
|
snapperStub.close = sinon.stub();
|
||||||
|
|
||||||
|
snapConstructorStub.returns(snapperStub);
|
||||||
|
|
||||||
|
clock = sinon.useFakeTimers();
|
||||||
|
|
||||||
|
// _.now could have been set to Date.now before Sinon replaced it
|
||||||
|
// with a fake version, so _.now must be stubbed to ensure that the
|
||||||
|
// fake Date.now will be called instead of the original one.
|
||||||
|
_.now = sinon.stub(_, 'now').callsFake(function() {
|
||||||
|
return new Date().getTime();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#testArea').append('<div id="app-navigation">The navigation bar</div><div id="app-content">Content</div>');
|
||||||
|
});
|
||||||
|
afterEach(function() {
|
||||||
|
snapConstructorStub.restore();
|
||||||
|
|
||||||
|
clock.restore();
|
||||||
|
|
||||||
|
_.now.restore();
|
||||||
|
|
||||||
|
// Remove the event handler for the resize event added to the window
|
||||||
|
// due to calling window.initCore() when there is an #app-navigation
|
||||||
|
// element.
|
||||||
|
$(window).off('resize');
|
||||||
|
|
||||||
|
viewport.reset();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('is enabled on a narrow screen', function() {
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapConstructorStub.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.called).toBe(false);
|
||||||
|
});
|
||||||
|
it('is disabled when disallowing the gesture on a narrow screen', function() {
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.called).toBe(false);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.alwaysCalledWithExactly(true)).toBe(true);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
});
|
||||||
|
it('is not disabled again when disallowing the gesture twice on a narrow screen', function() {
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.called).toBe(false);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.alwaysCalledWithExactly(true)).toBe(true);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
});
|
||||||
|
it('is enabled when allowing the gesture after disallowing it on a narrow screen', function() {
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.called).toBe(false);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.alwaysCalledWithExactly(true)).toBe(true);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
|
||||||
|
OC.allowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledTwice).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
});
|
||||||
|
it('is not enabled again when allowing the gesture twice after disallowing it on a narrow screen', function() {
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.called).toBe(false);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.alwaysCalledWithExactly(true)).toBe(true);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
|
||||||
|
OC.allowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledTwice).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
|
||||||
|
OC.allowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledTwice).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
});
|
||||||
|
it('is disabled on a wide screen', function() {
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapConstructorStub.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
});
|
||||||
|
it('is not disabled again when disallowing the gesture on a wide screen', function() {
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
});
|
||||||
|
it('is not enabled when allowing the gesture after disallowing it on a wide screen', function() {
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.allowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
});
|
||||||
|
it('is enabled when resizing to a narrow screen', function() {
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
// Setting the viewport width does not automatically trigger a
|
||||||
|
// resize.
|
||||||
|
$(window).resize();
|
||||||
|
|
||||||
|
// The resize handler is debounced to be executed a few milliseconds
|
||||||
|
// after the resize event.
|
||||||
|
clock.tick(1000);
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
});
|
||||||
|
it('is not enabled when resizing to a narrow screen after disallowing the gesture', function() {
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
// Setting the viewport width does not automatically trigger a
|
||||||
|
// resize.
|
||||||
|
$(window).resize();
|
||||||
|
|
||||||
|
// The resize handler is debounced to be executed a few milliseconds
|
||||||
|
// after the resize event.
|
||||||
|
clock.tick(1000);
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
});
|
||||||
|
it('is enabled when resizing to a narrow screen after disallowing the gesture and allowing it', function() {
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.allowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
// Setting the viewport width does not automatically trigger a
|
||||||
|
// resize.
|
||||||
|
$(window).resize();
|
||||||
|
|
||||||
|
// The resize handler is debounced to be executed a few milliseconds
|
||||||
|
// after the resize event.
|
||||||
|
clock.tick(1000);
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
});
|
||||||
|
it('is enabled when allowing the gesture after disallowing it and resizing to a narrow screen', function() {
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
// Setting the viewport width does not automatically trigger a
|
||||||
|
// resize.
|
||||||
|
$(window).resize();
|
||||||
|
|
||||||
|
// The resize handler is debounced to be executed a few milliseconds
|
||||||
|
// after the resize event.
|
||||||
|
clock.tick(1000);
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.allowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
});
|
||||||
|
it('is disabled when disallowing the gesture after disallowing it, resizing to a narrow screen and allowing it', function() {
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
// Setting the viewport width does not automatically trigger a
|
||||||
|
// resize.
|
||||||
|
$(window).resize();
|
||||||
|
|
||||||
|
// The resize handler is debounced to be executed a few milliseconds
|
||||||
|
// after the resize event.
|
||||||
|
clock.tick(1000);
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.allowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledTwice).toBe(true);
|
||||||
|
expect(snapperStub.disable.getCall(1).calledWithExactly(true)).toBe(true);
|
||||||
|
});
|
||||||
|
it('is disabled when resizing to a wide screen', function() {
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.called).toBe(false);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
// Setting the viewport width does not automatically trigger a
|
||||||
|
// resize.
|
||||||
|
$(window).resize();
|
||||||
|
|
||||||
|
// The resize handler is debounced to be executed a few milliseconds
|
||||||
|
// after the resize event.
|
||||||
|
clock.tick(1000);
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
});
|
||||||
|
it('is not disabled again when disallowing the gesture after resizing to a wide screen', function() {
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.called).toBe(false);
|
||||||
|
expect(snapperStub.close.called).toBe(false);
|
||||||
|
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
// Setting the viewport width does not automatically trigger a
|
||||||
|
// resize.
|
||||||
|
$(window).resize();
|
||||||
|
|
||||||
|
// The resize handler is debounced to be executed a few milliseconds
|
||||||
|
// after the resize event.
|
||||||
|
clock.tick(1000);
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
});
|
||||||
|
it('is not enabled when allowing the gesture after disallowing it, resizing to a narrow screen and resizing to a wide screen', function() {
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
window.initCore();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
OC.disallowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
viewport.set(480);
|
||||||
|
|
||||||
|
// Setting the viewport width does not automatically trigger a
|
||||||
|
// resize.
|
||||||
|
$(window).resize();
|
||||||
|
|
||||||
|
// The resize handler is debounced to be executed a few milliseconds
|
||||||
|
// after the resize event.
|
||||||
|
clock.tick(1000);
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledOnce).toBe(true);
|
||||||
|
expect(snapperStub.close.calledOnce).toBe(true);
|
||||||
|
|
||||||
|
viewport.set(1280);
|
||||||
|
|
||||||
|
$(window).resize();
|
||||||
|
|
||||||
|
clock.tick(1000);
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledTwice).toBe(true);
|
||||||
|
expect(snapperStub.close.calledTwice).toBe(true);
|
||||||
|
|
||||||
|
OC.allowNavigationBarSlideGesture();
|
||||||
|
|
||||||
|
expect(snapperStub.enable.called).toBe(false);
|
||||||
|
expect(snapperStub.disable.calledTwice).toBe(true);
|
||||||
|
expect(snapperStub.close.calledTwice).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -6704,9 +6704,13 @@ dav.Client.prototype = {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disables Snap.js events
|
* Disables Snap.js events
|
||||||
|
* @param {Boolean} endCurrentDrag Whether to end the current drag (if any) or not.
|
||||||
*/
|
*/
|
||||||
disable: function() {
|
disable: function(endCurrentDrag) {
|
||||||
utils.dispatchEvent('disable');
|
utils.dispatchEvent('disable');
|
||||||
|
if (endCurrentDrag) {
|
||||||
|
this.action.drag.endDrag();
|
||||||
|
}
|
||||||
this.action.drag.stopListening();
|
this.action.drag.stopListening();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -744,9 +744,13 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disables Snap.js events
|
* Disables Snap.js events
|
||||||
|
* @param {Boolean} endCurrentDrag Whether to end the current drag (if any) or not.
|
||||||
*/
|
*/
|
||||||
disable: function() {
|
disable: function(endCurrentDrag) {
|
||||||
utils.dispatchEvent('disable');
|
utils.dispatchEvent('disable');
|
||||||
|
if (endCurrentDrag) {
|
||||||
|
this.action.drag.endDrag();
|
||||||
|
}
|
||||||
this.action.drag.stopListening();
|
this.action.drag.stopListening();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -237,7 +237,7 @@ module.exports = function(config) {
|
||||||
basePath: '..',
|
basePath: '..',
|
||||||
|
|
||||||
// frameworks to use
|
// frameworks to use
|
||||||
frameworks: ['jasmine', 'jasmine-sinon'],
|
frameworks: ['jasmine', 'jasmine-sinon', 'viewport'],
|
||||||
|
|
||||||
// list of files / patterns to load in the browser
|
// list of files / patterns to load in the browser
|
||||||
files: files,
|
files: files,
|
||||||
|
|
Loading…
Reference in New Issue