2018-01-16 11:34:37 +01:00
flectra . define ( "web.DomainSelectorDialog" , function ( require ) {
2018-01-16 06:58:15 +01:00
"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 )
) ;
} ,
} ) ;
} ) ;