Tower: upload laundry_management 19.0.19.0.4 (via marketplace)

This commit is contained in:
2026-05-01 15:00:26 +00:00
parent b6be57e58f
commit 2b78518c30

View File

@@ -0,0 +1,51 @@
/** @odoo-module */
import { Component, useState } from "@odoo/owl";
import { Dialog } from "@web/core/dialog/dialog";
import { _t } from "@web/core/l10n/translation";
export class LaundryOrderAttributePopup extends Component {
static components = { Dialog };
static template = "laundry_management.LaundryOrderAttributePopup";
static props = {
attributes: { type: Array },
preselectedIds: { type: Array, optional: true },
title: { type: String, optional: true },
getPayload: { type: Function },
close: { type: Function },
};
static defaultProps = {
preselectedIds: [],
title: _t("Select Attributes"),
};
setup() {
const initial = new Set(this.props.preselectedIds);
this.state = useState({
selected: initial,
});
}
toggle(attrId) {
if (this.state.selected.has(attrId)) {
this.state.selected.delete(attrId);
} else {
this.state.selected.add(attrId);
}
}
isSelected(attrId) {
return this.state.selected.has(attrId);
}
confirm() {
const ids = [...this.state.selected];
const chosen = this.props.attributes.filter((a) => ids.includes(a.id));
this.props.getPayload(chosen);
this.props.close();
}
skip() {
this.props.getPayload([]);
this.props.close();
}
}