Tower: upload laundry_management 19.0.19.0.4 (via marketplace)
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user