[IMP] web: add new DomainSelectorDialog dialog widget
The DomainSelectorDialog widget allows the use of a DomainSelector widget inside a modal.
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
odoo.define("web.DomainSelectorDialog", function (require) {
|
||||
"use strict";
|
||||
|
||||
var core = require("web.core");
|
||||
var Dialog = require("web.Dialog");
|
||||
var DomainSelector = require("web.DomainSelector");
|
||||
|
||||
var _t = core._t;
|
||||
|
||||
return Dialog.extend({
|
||||
init: function (parent, model, domain, options) {
|
||||
this.model = model;
|
||||
this.options = _.extend({
|
||||
readonly: true,
|
||||
fs_filters: {},
|
||||
debugMode: false,
|
||||
}, options || {});
|
||||
|
||||
var buttons;
|
||||
if (this.options.readonly) {
|
||||
buttons = [
|
||||
{text: _t("Close"), close: true},
|
||||
];
|
||||
} else {
|
||||
buttons = [
|
||||
{text: _t("Save"), classes: "btn-primary", close: true, click: function () {
|
||||
this.trigger_up("domain_selected", {domain: this.domainSelector.getDomain()});
|
||||
}},
|
||||
{text: _t("Discard"), close: true},
|
||||
];
|
||||
}
|
||||
|
||||
this._super(parent, _.extend({}, {
|
||||
title: _t("Domain"),
|
||||
buttons: buttons,
|
||||
}, options || {}));
|
||||
|
||||
this.domainSelector = new DomainSelector(this, model, domain, options);
|
||||
},
|
||||
start: function () {
|
||||
this.$el.css("overflow", "visible").closest(".modal-dialog").css("height", "auto"); // This restores default modal height (bootstrap) and allows field selector to overflow
|
||||
return $.when(
|
||||
this._super.apply(this, arguments),
|
||||
this.domainSelector.appendTo(this.$el)
|
||||
);
|
||||
},
|
||||
});
|
||||
});
|
||||
@@ -156,6 +156,7 @@
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/debug_manager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/data_export.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/date_picker.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/domain_selector_dialog.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/domain_selector.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/loading.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/model_field_selector.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user