Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Moved isDefaultPrevented and isPropagationStopped from inferno-compat…
… to inferno core synthetic events only. This resolves video.js conflict Github #1442 Also updated jest config to v24
  • Loading branch information
Havunen committed Feb 6, 2019
1 parent 064d6bd commit e6666bd
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 31 deletions.
4 changes: 3 additions & 1 deletion jest.config.js
Expand Up @@ -30,6 +30,8 @@ module.exports = {
"^.+\\.jsx?$": "<rootDir>/jest.babel.transform.js",
"^.+\\.tsx?$": "<rootDir>/jest.ts.transform.js"
},
setupTestFrameworkScriptFile: require.resolve("./JEST-DEBUG.js"),
setupFilesAfterEnv: [
require.resolve("./JEST-DEBUG.js")
],
reporters: [["jest-silent-reporter", { "useDots": true }]]
};
20 changes: 10 additions & 10 deletions package.json
Expand Up @@ -83,10 +83,10 @@
"@babel/preset-env": "7.3.1",
"@babel/preset-typescript": "^7.1.0",
"@types/history": "^4.7.2",
"@types/jest": "^23.3.13",
"@types/node": "^10.12.18",
"@types/jest": "^24.0.0",
"@types/node": "^10.12.21",
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "^23.6.0",
"babel-jest": "^24.1.0",
"babel-plugin-inferno": "6.0.4",
"cli-table": "^0.3.1",
"colors": "^1.3.3",
Expand All @@ -97,18 +97,18 @@
"filesize": "^4.0.0",
"gzip-size": "^5.0.0",
"history": "^4.7.2",
"jest": "^23.6.0",
"jest": "^24.1.0",
"jest-silent-reporter": "^0.1.1",
"jsdom": "13.2.0",
"lerna": "3.10.7",
"lint-staged": "^8.1.0",
"lerna": "3.10.8",
"lint-staged": "^8.1.3",
"madge": "^3.4.3",
"minimist": "^1.2.0",
"mobx": "4.8.0",
"npm-run-all": "^4.1.5",
"perf-monitor": "^0.4.1",
"pre-commit": "^1.2.2",
"prettier": "^1.16.1",
"prettier": "^1.16.4",
"rimraf": "^2.6.3",
"rollup": "^1.1.2",
"rollup-plugin-alias": "^1.5.1",
Expand All @@ -118,10 +118,10 @@
"rollup-plugin-node-resolve": "^4.0.0",
"rollup-plugin-replace": "^2.1.0",
"rollup-plugin-typescript2": "0.19.2",
"rollup-plugin-uglify": "^6.0.1",
"rollup-plugin-uglify": "^6.0.2",
"sinon": "^7.2.3",
"tslint": "^5.12.1",
"tslint-config-prettier": "^1.17.0",
"typescript": "3.2.4"
"tslint-config-prettier": "^1.18.0",
"typescript": "3.3.1"
}
}
10 changes: 0 additions & 10 deletions packages/inferno-compat/src/index.ts
Expand Up @@ -210,16 +210,6 @@ if (typeof Event !== 'undefined') {
// tslint:disable-next-line:no-empty
eventProtoType.persist = function() {};
}
if (!eventProtoType.isDefaultPrevented) {
eventProtoType.isDefaultPrevented = function() {
return this.defaultPrevented;
};
}
if (!eventProtoType.isPropagationStopped) {
eventProtoType.isPropagationStopped = function() {
return this.cancelBubble;
};
}
}

function iterableToArray(iterable) {
Expand Down
14 changes: 12 additions & 2 deletions packages/inferno/src/DOM/events/delegation.ts
Expand Up @@ -90,18 +90,28 @@ function stopPropagation() {
}
}

function isDefaultPrevented() {
return this.defaultPrevented;
}

function isPropagationStopped() {
return this.cancelBubble;
}

function attachEventToDocument(name: string) {
const docEvent = function(event: Event) {
const docEvent = function(event: SemiSyntheticEvent<any>) {
const isClick = name === 'onClick' || name === 'onDblClick';

if (isClick && (event as MouseEvent).button !== 0) {
if (isClick && (event as any).button !== 0) {
// Firefox incorrectly triggers click event for mid/right mouse buttons.
// This bug has been active for 12 years.
// https://bugzilla.mozilla.org/show_bug.cgi?id=184051
event.stopPropagation();
return;
}

event.isDefaultPrevented = isDefaultPrevented;
event.isPropagationStopped = isPropagationStopped;
event.stopPropagation = stopPropagation;
// Event data needs to be object to save reference to currentTarget getter
const eventData: IEventData = {
Expand Down
18 changes: 10 additions & 8 deletions packages/inferno/src/core/types.ts
Expand Up @@ -52,6 +52,8 @@ export interface SemiSyntheticEvent<T> extends Event {
* A reference to the element on which the event listener is registered.
*/
currentTarget: EventTarget & T;
isDefaultPrevented: () => boolean;
isPropagationStopped: () => boolean;
}

export type ClipboardEvent<T> = SemiSyntheticEvent<T> & NativeClipboardEvent;
Expand Down Expand Up @@ -129,13 +131,6 @@ export interface ForwardRef {
render: Function;
}

export interface Props<P, T = Element> extends Refs<P> {
children?: InfernoNode;
ref?: Ref<T> | Refs<P> | null;
key?: Key;
className?: string;
}

export interface Refs<P> {
onComponentDidMount?: (domNode: Element, nextProps: P) => void;

Expand All @@ -150,9 +145,16 @@ export interface Refs<P> {
onComponentWillUnmount?(domNode: Element): void;
}

export interface Props<P, T = Element> extends Refs<P> {
children?: InfernoNode;
ref?: Ref<T> | Refs<P> | null;
key?: Key;
className?: string;
}

export type SFC<P = {}> = StatelessComponent<P>;

export interface StatelessComponent<P = Refs<P>> {
export interface StatelessComponent<P> {
(props: P & Refs<P> & { children?: InfernoNode }, context?: any): any;

defaultProps?: Partial<P>;
Expand Down

0 comments on commit e6666bd

Please sign in to comment.