[], 'dropdowninput' => [], 'or' => false ], $config ); parent::__construct( $config ); // Properties $this->config = $config; $this->textinput = new TextInputWidget( $config['textinput'] ); $this->dropdowninput = new DropdownInputWidget( $config['dropdowninput'] ); // Initialization $this ->addClasses( [ 'mw-widget-selectWithInputWidget' ] ) ->appendContent( $this->dropdowninput, $this->textinput ); } protected function getJavaScriptClassName() { return 'mw.widgets.SelectWithInputWidget'; } public function getConfig( &$config ) { $config['textinput'] = $this->config['textinput']; $config['dropdowninput'] = $this->config['dropdowninput']; $config['dropdowninput']['dropdown']['$overlay'] = true; $config['or'] = $this->config['or']; return parent::getConfig( $config ); } }