Files
owl/web/static/src/ts/widgets/widget.ts
T

25 lines
643 B
TypeScript
Raw Normal View History

2019-02-05 14:16:51 +01:00
import { Component } from "../core/component";
2019-02-04 21:09:17 +01:00
import { Env } from "../env";
2019-02-05 14:16:51 +01:00
export class Widget<Props, State> extends Component<Env, Props, State> {}
2019-02-05 08:56:33 +01:00
// TODO: move this to PureComponent in core
export class PureWidget<Props, State> extends Widget<Props, State> {
shouldUpdate(nextProps: Props): boolean {
for (let k in nextProps) {
if (nextProps[k] !== this.props[k]) {
return true;
}
}
return false;
}
async updateState(nextState: Partial<State>) {
for (let k in nextState) {
if (nextState[k] !== this.state[k]) {
return;
}
}
return super.updateState(nextState);
}
}