mirror of
https://github.com/OCA/web.git
synced 2025-02-22 13:21:25 +02:00
Support dynamic default time from another field
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
/* Copyright 2024 Camptocamp
|
||||
* License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) */
|
||||
|
||||
import {DatePicker, DateTimePicker} from "@web/core/datepicker/datepicker";
|
||||
import {DateTimePicker} from "@web/core/datepicker/datepicker";
|
||||
import {patch} from "@web/core/utils/patch";
|
||||
|
||||
patch(DateTimePicker.prototype, "DateTimePickerDefaultTime", {
|
||||
@@ -23,7 +23,7 @@ patch(DateTimePicker.prototype, "DateTimePickerDefaultTime", {
|
||||
},
|
||||
});
|
||||
|
||||
DateTimePicker.props = _.extend({}, DatePicker.props, {
|
||||
DateTimePicker.props = _.extend({}, DateTimePicker.props, {
|
||||
defaultTime: {
|
||||
type: Object,
|
||||
shape: {
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/** @odoo-module **/
|
||||
/* Copyright 2024 Camptocamp
|
||||
* License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) */
|
||||
|
||||
import {DateTimeField} from "@web/views/fields/datetime/datetime_field";
|
||||
import {patch} from "@web/core/utils/patch";
|
||||
|
||||
patch(DateTimeField.prototype, "DateTimeFieldDefaultTime", {
|
||||
get defaultTime() {
|
||||
if (typeof this.props.defaultTime === "string") {
|
||||
return this.props.record.data[this.props.defaultTime];
|
||||
}
|
||||
return this.props.defaultTime;
|
||||
},
|
||||
});
|
||||
|
||||
DateTimeField.props = _.extend({}, DateTimeField.props, {
|
||||
defaultTime: {
|
||||
type: [
|
||||
String,
|
||||
{
|
||||
type: Object,
|
||||
shape: {
|
||||
hour: Number,
|
||||
minute: Number,
|
||||
second: Number,
|
||||
},
|
||||
optional: true,
|
||||
},
|
||||
],
|
||||
optional: true,
|
||||
},
|
||||
});
|
||||
|
||||
const super_extractProps = DateTimeField.extractProps;
|
||||
|
||||
DateTimeField.extractProps = ({attrs}) => {
|
||||
return {
|
||||
...super_extractProps({attrs}),
|
||||
defaultTime: attrs.options.defaultTime,
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<templates xml:space="preserve">
|
||||
<t t-inherit="web.DateTimeField" t-inherit-mode="extension" owl="1">
|
||||
<xpath expr="//DateTimePicker" position="attributes">
|
||||
<attribute name="defaultTime">defaultTime</attribute>
|
||||
</xpath>
|
||||
</t>
|
||||
</templates>
|
||||
Reference in New Issue
Block a user