Skip to content
Snippets Groups Projects
Commit 7dc306d6 authored by Hugo Santos's avatar Hugo Santos
Browse files

[FIX] web: ImageUrlField edit state.src


Update of right state key for rerender the image on record change from OWL

Included tests from commit 94db69453616131f6913b65a58b76df712ede35d by @FrancoisGe

Fixes #134454

closes odoo/odoo#134477

Signed-off-by: default avatarFrancois Georis (fge) <fge@odoo.com>
parent 4a4d6017
No related branches found
No related tags found
No related merge requests found
......@@ -16,7 +16,7 @@ export class ImageUrlField extends Component {
onWillUpdateProps((nextProps) => {
if (this.props.value !== nextProps.value) {
this.state.value = nextProps.value;
this.state.src = nextProps.value;
}
});
}
......
/** @odoo-module **/
import { KanbanController } from "@web/views/kanban/kanban_controller";
import { click, getFixture, patchWithCleanup } from "@web/../tests/helpers/utils";
import {
click,
editInput,
getFixture,
nextTick,
patchWithCleanup,
} from "@web/../tests/helpers/utils";
import { makeView, setupViewRegistries } from "@web/../tests/views/helpers";
let serverData;
......@@ -238,4 +244,39 @@ QUnit.module("Fields", (hooks) => {
"the widget should not contain an image"
);
});
QUnit.test("onchange update image fields", async function (assert) {
const srcTest = "/my/test/src";
serverData.models.partner.onchanges = {
display_name(record) {
record.foo = srcTest;
},
};
await makeView({
serverData,
type: "form",
resModel: "partner",
arch: `
<form>
<field name="display_name"/>
<field name="foo" widget="image_url" options="{'size': [90, 90]}"/>
</form>`,
resId: 1,
});
assert.strictEqual(
target.querySelector('div[name="foo"] > img').dataset.src,
FR_FLAG_URL,
"the image should have the correct src"
);
await editInput(target, '[name="display_name"] input', "test");
await nextTick();
assert.strictEqual(
target.querySelector('div[name="foo"] > img').dataset.src,
srcTest,
"the image should have the onchange src"
);
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment