DEV: implements actionDecriptionWidget (#15367)
This will allow to have more complex behaviors in post-small-actions, while keeping most of the behavior consistent.
This commit is contained in:
parent
d5e380e5c1
commit
40d1bbab5d
|
@ -128,20 +128,24 @@ export default createWidget("post-small-action", {
|
|||
})
|
||||
);
|
||||
|
||||
const description = actionDescriptionHtml(
|
||||
attrs.actionCode,
|
||||
new Date(attrs.created_at),
|
||||
attrs.actionCodeWho,
|
||||
attrs.actionCodePath
|
||||
);
|
||||
contents.push(new RawHtml({ html: `<p>${description}</p>` }));
|
||||
|
||||
if (attrs.cooked) {
|
||||
contents.push(
|
||||
new RawHtml({
|
||||
html: `<div class='custom-message'>${attrs.cooked}</div>`,
|
||||
})
|
||||
if (attrs.actionDescriptionWidget) {
|
||||
contents.push(this.attach(attrs.actionDescriptionWidget, attrs));
|
||||
} else {
|
||||
const description = actionDescriptionHtml(
|
||||
attrs.actionCode,
|
||||
new Date(attrs.created_at),
|
||||
attrs.actionCodeWho,
|
||||
attrs.actionCodePath
|
||||
);
|
||||
contents.push(new RawHtml({ html: `<p>${description}</p>` }));
|
||||
|
||||
if (attrs.cooked) {
|
||||
contents.push(
|
||||
new RawHtml({
|
||||
html: `<div class='custom-message'>${attrs.cooked}</div>`,
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return [
|
||||
|
|
|
@ -34,6 +34,19 @@ discourseModule(
|
|||
},
|
||||
});
|
||||
|
||||
componentTest("uses custom widget if actionDescriptionWidget", {
|
||||
template: hbs`{{mount-widget widget="post-small-action" args=args}}`,
|
||||
beforeEach() {
|
||||
this.set("args", { id: 123, actionDescriptionWidget: "button" });
|
||||
},
|
||||
async test(assert) {
|
||||
assert.ok(
|
||||
exists(".small-action .widget-button"),
|
||||
"it adds the custom widget"
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
componentTest("does not show edit button if canRecover even if canEdit", {
|
||||
template: hbs`{{mount-widget widget="post-small-action" args=args}}`,
|
||||
beforeEach() {
|
||||
|
|
Loading…
Reference in New Issue