Widget:ExternalDialog
De Encyclopédie-de-L'AFN_1830-1962
<script>
/* === External OOUI Dialog Widget === */
if (typeof window.myExternalWM === 'undefined') {
window.myExternalWM = new OO.ui.WindowManager(); $( 'body' ).append( window.myExternalWM.$element );
}
function ExternalIframeDialog( config ) {
ExternalIframeDialog.super.call( this, config );
} OO.inheritClass( ExternalIframeDialog, OO.ui.Dialog );
ExternalIframeDialog.static.name = 'externalIframeDialog';
ExternalIframeDialog.prototype.initialize = function () {
ExternalIframeDialog.super.prototype.initialize.call( this );
this.iframe = $( '<iframe>' )
.attr( 'frameborder', '0' )
.attr( 'allowfullscreen', )
.css( { width: '100%', height: '100%', border: 'none' } );
this.$body.append( this.iframe );
};
ExternalIframeDialog.prototype.getBodyHeight = function () {
return this.config.height || 700;
};
// Fonction globale à appeler depuis la page window.openExtDialog = function ( url, title = 'Page externe', w = 1100, h = 750 ) {
var dialog = new ExternalIframeDialog( { size: 'large' } );
dialog.setTitle( title );
dialog.iframe.attr( 'src', url );
window.myExternalWM.addWindows( [ dialog ] );
window.myExternalWM.openWindow( dialog, { width: w, height: h } );
// Rendre la fenêtre déplaçable
setTimeout( function() {
dialog.$element.draggable({
handle: '.oo-ui-window-head',
containment: 'window'
});
}, 400 );
}; </script>
<style> .oo-ui-window-frame {
background: rgba(255, 255, 255, 0.97) !important; border-radius: 8px;
} .oo-ui-windowManager-overlay {
background: rgba(0, 0, 0, 0.7) !important;
} </style>