mirror of
https://github.com/discourse/discourse.git
synced 2025-02-08 04:18:23 +00:00
DEV: supports actionClick for small actions (#15331)
This commit is contained in:
parent
cb976ac562
commit
022dba4727
@ -79,8 +79,23 @@ export default createWidget("post-small-action", {
|
|||||||
},
|
},
|
||||||
|
|
||||||
buildClasses(attrs) {
|
buildClasses(attrs) {
|
||||||
|
const classes = [];
|
||||||
|
|
||||||
|
if (attrs.actionClick) {
|
||||||
|
classes.push("clickable");
|
||||||
|
}
|
||||||
|
|
||||||
if (attrs.deleted) {
|
if (attrs.deleted) {
|
||||||
return "deleted";
|
classes.push("deleted");
|
||||||
|
}
|
||||||
|
|
||||||
|
return classes;
|
||||||
|
},
|
||||||
|
|
||||||
|
click(event) {
|
||||||
|
if (this.attrs.actionClick) {
|
||||||
|
event.preventDefault();
|
||||||
|
this.attrs.actionClick();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ import componentTest, {
|
|||||||
} from "discourse/tests/helpers/component-test";
|
} from "discourse/tests/helpers/component-test";
|
||||||
import { discourseModule, exists } from "discourse/tests/helpers/qunit-helpers";
|
import { discourseModule, exists } from "discourse/tests/helpers/qunit-helpers";
|
||||||
import hbs from "htmlbars-inline-precompile";
|
import hbs from "htmlbars-inline-precompile";
|
||||||
|
import { click } from "@ember/test-helpers";
|
||||||
|
|
||||||
discourseModule(
|
discourseModule(
|
||||||
"Integration | Component | Widget | post-small-action",
|
"Integration | Component | Widget | post-small-action",
|
||||||
@ -34,6 +35,24 @@ discourseModule(
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
componentTest("is clickable if actionClick", {
|
||||||
|
template: hbs`{{mount-widget widget="post-small-action" args=args}}`,
|
||||||
|
beforeEach() {
|
||||||
|
this.set("args", {
|
||||||
|
id: 123,
|
||||||
|
actionClick: () => {
|
||||||
|
document.querySelector(".small-action").style.background = "red";
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
async test(assert) {
|
||||||
|
const clickable = document.querySelector(".small-action.clickable");
|
||||||
|
await click(clickable);
|
||||||
|
|
||||||
|
assert.equal(clickable.style.background, "red", "it calls the action");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
componentTest("does not show edit button if canRecover even if canEdit", {
|
componentTest("does not show edit button if canRecover even if canEdit", {
|
||||||
template: hbs`{{mount-widget widget="post-small-action" args=args}}`,
|
template: hbs`{{mount-widget widget="post-small-action" args=args}}`,
|
||||||
beforeEach() {
|
beforeEach() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user