getConfig(); $options['noDatePicker'] = $config->get( 'ExpiryWidgetNoDatePicker' ); parent::__construct( $options ); $this->noDatePicker = $options['noDatePicker']; $this->required = $options['required'] ?? false; // Properties $this->relativeInput = $relativeInput; $this->relativeInput->addClasses( [ 'mw-widget-ExpiryWidget-relative' ] ); // Initialization $classes = [ 'mw-widget-ExpiryWidget', ]; if ( $options['noDatePicker'] === false ) { $classes[] = 'mw-widget-ExpiryWidget-hasDatePicker'; } $this ->addClasses( $classes ) ->appendContent( $this->relativeInput ); } protected function getJavaScriptClassName() { return 'mw.widgets.ExpiryWidget'; } /** * {@inheritdoc} */ public function getConfig( &$config ) { $config['noDatePicker'] = $this->noDatePicker; $config['required'] = $this->required; $config['relativeInput'] = []; $this->relativeInput->getConfig( $config['relativeInput'] ); return parent::getConfig( $config ); } }