forked from profectus/Profectus
Add mouse/touch events to more onClicks
This commit is contained in:
parent
fe25ea71b6
commit
1bfa66e1c9
4 changed files with 10 additions and 10 deletions
|
@ -73,7 +73,7 @@ export type ResetButton<T extends ResetButtonOptions> = Replace<
|
|||
display: GetComputableTypeWithDefault<T["display"], Ref<JSX.Element>>;
|
||||
canClick: GetComputableTypeWithDefault<T["canClick"], Ref<boolean>>;
|
||||
minimumGain: GetComputableTypeWithDefault<T["minimumGain"], 1>;
|
||||
onClick: VoidFunction;
|
||||
onClick: (event?: MouseEvent | TouchEvent) => void;
|
||||
}
|
||||
>;
|
||||
|
||||
|
@ -153,7 +153,7 @@ export function createResetButton<T extends ClickableOptions & ResetButtonOption
|
|||
}
|
||||
|
||||
const onClick = resetButton.onClick;
|
||||
resetButton.onClick = function () {
|
||||
resetButton.onClick = function (event?: MouseEvent | TouchEvent) {
|
||||
if (unref(resetButton.canClick) === false) {
|
||||
return;
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ export function createResetButton<T extends ClickableOptions & ResetButtonOption
|
|||
if (resetButton.resetTime) {
|
||||
resetButton.resetTime.value = resetButton.resetTime[DefaultValue];
|
||||
}
|
||||
onClick?.();
|
||||
onClick?.(event);
|
||||
};
|
||||
|
||||
return resetButton;
|
||||
|
|
|
@ -277,9 +277,9 @@ export function createGrid<T extends GridOptions>(
|
|||
|
||||
if (grid.onClick) {
|
||||
const onClick = grid.onClick.bind(grid);
|
||||
grid.onClick = function (id, state) {
|
||||
grid.onClick = function (id, state, e) {
|
||||
if (unref((grid as GenericGrid).cells[id].canClick)) {
|
||||
onClick(id, state);
|
||||
onClick(id, state, e);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ export interface BaseRepeatable {
|
|||
/** Whether or not this repeatable can be clicked. */
|
||||
canClick: ProcessedComputable<boolean>;
|
||||
/** A function that gets called when this repeatable is clicked. */
|
||||
onClick: VoidFunction;
|
||||
onClick: (event?: MouseEvent | TouchEvent) => void;
|
||||
/** A symbol that helps identify features of the same type. */
|
||||
type: typeof RepeatableType;
|
||||
/** The Vue component used to render this feature. */
|
||||
|
@ -172,7 +172,7 @@ export function createRepeatable<T extends RepeatableOptions>(
|
|||
});
|
||||
repeatable.canClick = computed(() => requirementsMet(repeatable.requirements));
|
||||
const onClick = repeatable.onClick;
|
||||
repeatable.onClick = function (this: GenericRepeatable) {
|
||||
repeatable.onClick = function (this: GenericRepeatable, event?: MouseEvent | TouchEvent) {
|
||||
const genericRepeatable = repeatable as GenericRepeatable;
|
||||
if (!unref(genericRepeatable.canClick)) {
|
||||
return;
|
||||
|
@ -184,7 +184,7 @@ export function createRepeatable<T extends RepeatableOptions>(
|
|||
: 1
|
||||
);
|
||||
genericRepeatable.amount.value = Decimal.add(genericRepeatable.amount.value, 1);
|
||||
onClick?.();
|
||||
onClick?.(event);
|
||||
};
|
||||
processComputable(repeatable as T, "display");
|
||||
const display = repeatable.display;
|
||||
|
|
|
@ -87,9 +87,9 @@ export function createTreeNode<T extends TreeNodeOptions>(
|
|||
|
||||
if (treeNode.onClick) {
|
||||
const onClick = treeNode.onClick.bind(treeNode);
|
||||
treeNode.onClick = function () {
|
||||
treeNode.onClick = function (e) {
|
||||
if (unref(treeNode.canClick) !== false) {
|
||||
onClick();
|
||||
onClick(e);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue