51 lines
1.5 KiB
JavaScript
51 lines
1.5 KiB
JavaScript
flectra.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;
|
|
|
|
/**
|
|
* @class DomainSelectorDialog
|
|
*/
|
|
return Dialog.extend({
|
|
init: function (parent, model, domain, options) {
|
|
this.model = model;
|
|
this.options = _.extend({
|
|
readonly: true,
|
|
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)
|
|
);
|
|
},
|
|
});
|
|
});
|