Skip to content

Commit

Permalink
v1.4.10
Browse files Browse the repository at this point in the history
  • Loading branch information
taye committed Jun 11, 2019
1 parent 10fff11 commit 0db0bc5
Show file tree
Hide file tree
Showing 13 changed files with 126 additions and 85 deletions.
9 changes: 8 additions & 1 deletion packages/core/interactablePreventDefault.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
export declare function install(scope: any): void;
declare module '@interactjs/core/Interactable' {
interface Interactable {
preventDefault: typeof preventDefault;
checkAndPreventDefault: (event: Event) => void;
}
}
declare function preventDefault(this: Interact.Interactable, newValue?: 'always' | 'never' | 'auto'): string | import("@interactjs/core/Interactable").Interactable;
export declare function install(scope: Interact.Scope): void;
export declare type Install = typeof install;
declare const _default: {
id: string;
Expand Down
39 changes: 20 additions & 19 deletions packages/core/interactablePreventDefault.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions packages/core/interactablePreventDefault.spec.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {};
23 changes: 23 additions & 0 deletions packages/core/interactablePreventDefault.spec.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/core/interactions.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ declare module '@interactjs/core/scope' {
listeners: {
[type: string]: Interact.Listener;
};
eventMap: Array<{
docEvents: Array<{
type: string;
listener: Interact.Listener;
}>;
Expand Down
16 changes: 8 additions & 8 deletions packages/core/interactions.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/interactjs/dist/api/doclets.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -46,21 +46,28 @@ <h1 class="page-title">packages/core/interactablePreventDefault.ts</h1>
import * as is from '@interactjs/utils/is'
import { getWindow } from '@interactjs/utils/window'

function preventDefault (interactable, newValue) {
declare module '@interactjs/core/Interactable' {
interface Interactable {
preventDefault: typeof preventDefault
checkAndPreventDefault: (event: Event) => void
}
}

function preventDefault (this: Interact.Interactable, newValue?: 'always' | 'never' | 'auto') {
if (/^(always|never|auto)$/.test(newValue)) {
interactable.options.preventDefault = newValue
return interactable
this.options.preventDefault = newValue
return this
}

if (is.bool(newValue)) {
interactable.options.preventDefault = newValue ? 'always' : 'never'
return interactable
this.options.preventDefault = newValue ? 'always' : 'never'
return this
}

return interactable.options.preventDefault
return this.options.preventDefault
}

function checkAndPreventDefault (interactable, scope, event) {
function checkAndPreventDefault (interactable: Interact.Interactable, scope: Interact.Scope, event: Event) {
const setting = interactable.options.preventDefault

if (setting === 'never') { return }
Expand Down Expand Up @@ -98,13 +105,13 @@ <h1 class="page-title">packages/core/interactablePreventDefault.ts</h1>
event.preventDefault()
}

function onInteractionEvent ({ interaction, event }) {
function onInteractionEvent ({ interaction, event }: Interact.SignalArg) {
if (interaction.interactable) {
interaction.interactable.checkAndPreventDefault(event)
interaction.interactable.checkAndPreventDefault(event as Event)
}
}

export function install (scope) {
export function install (scope: Interact.Scope) {
/** @lends Interactable */
const Interactable = scope.Interactable

Expand All @@ -118,9 +125,7 @@ <h1 class="page-title">packages/core/interactablePreventDefault.ts</h1>
* @param {string} [newValue] `'always'`, `'never'` or `'auto'`
* @return {string | Interactable} The current setting or this Interactable
*/
Interactable.prototype.preventDefault = function (newValue) {
return preventDefault(this, newValue)
}
Interactable.prototype.preventDefault = preventDefault

Interactable.prototype.checkAndPreventDefault = function (event) {
return checkAndPreventDefault(this, scope, event)
Expand All @@ -131,16 +136,19 @@ <h1 class="page-title">packages/core/interactablePreventDefault.ts</h1>
}

// prevent native HTML5 drag on interact.js target elements
scope.interactions.eventMap.dragstart = function preventNativeDrag (event) {
for (const interaction of scope.interactions.list) {
if (interaction.element &amp;&amp;
(interaction.element === event.target ||
nodeContains(interaction.element, event.target))) {
interaction.interactable.checkAndPreventDefault(event)
return
scope.interactions.docEvents.push({
type: 'dragstart',
listener (event) {
for (const interaction of scope.interactions.list) {
if (interaction.element &amp;&amp;
(interaction.element === event.target ||
nodeContains(interaction.element, event.target))) {
interaction.interactable.checkAndPreventDefault(event)
return
}
}
}
}
},
})
}

export type Install = typeof install
Expand Down
57 changes: 29 additions & 28 deletions packages/interactjs/dist/interact.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/interactjs/dist/interact.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions packages/interactjs/dist/interact.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/interactjs/dist/interact.min.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/modifiers/base.js

Large diffs are not rendered by default.

0 comments on commit 0db0bc5

Please sign in to comment.