DEV: do not append/prepend if callback returns nothing (#9778)

This commit is contained in:
Joffrey JAFFEUX 2020-05-14 14:38:03 +02:00 committed by GitHub
parent 3ed6a0e904
commit 42e5a5bb39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 10 deletions

View File

@ -32,10 +32,16 @@ function onChange(pluginApiIdentifiers, mutationFunction) {
export function applyContentPluginApiCallbacks(content, component) {
makeArray(component.pluginApiIdentifiers).forEach(key => {
(_prependContentCallbacks[key] || []).forEach(c => {
content = makeArray(c(component, content)).concat(content);
const prependedContent = c(component, content);
if (prependedContent) {
content = makeArray(prependedContent).concat(content);
}
});
(_appendContentCallbacks[key] || []).forEach(c => {
content = content.concat(makeArray(c(component, content)));
const appendedContent = c(component, content);
if (appendedContent) {
content = content.concat(makeArray(appendedContent));
}
});
});

View File

@ -36,14 +36,18 @@ componentTest("modifySelectKit(identifier).appendContent", {
name: "Alpaca"
};
});
api.modifySelectKit("combo-box").appendContent(() => {});
});
},
async test(assert) {
await this.comboBox.expand();
const row = this.comboBox.rowByIndex(3);
assert.ok(row.exists());
assert.equal(row.value(), "alpaca");
assert.equal(this.comboBox.rows().length, 4);
const appendedRow = this.comboBox.rowByIndex(3);
assert.ok(appendedRow.exists());
assert.equal(appendedRow.value(), "alpaca");
await this.comboBox.collapse();
@ -67,16 +71,18 @@ componentTest("modifySelectKit(identifier).prependContent", {
name: "Alpaca"
};
});
api.modifySelectKit("combo-box").prependContent(() => {});
});
},
afterEach() {},
async test(assert) {
await this.comboBox.expand();
const row = this.comboBox.rowByIndex(0);
assert.ok(row.exists());
assert.equal(row.value(), "alpaca");
assert.equal(this.comboBox.rows().length, 4);
const prependedRow = this.comboBox.rowByIndex(0);
assert.ok(prependedRow.exists());
assert.equal(prependedRow.value(), "alpaca");
await this.comboBox.collapse();