setHeaders(); $this->checkPermissions(); $request = $this->getRequest(); $output = $this->getOutput(); $output->addJsConfigVars( 'collabPadPageName', $subPage ); $output->addModuleStyles( 'ext.visualEditor.collabTarget.init.styles' ); $output->addModules( 'ext.visualEditor.collabTarget.init' ); $output->enableOOUI(); $documentNameField = new OOUI\ActionFieldLayout( new OOUI\TextInputWidget( [ 'classes' => [ 've-init-mw-collabTarget-nameInput' ], 'placeholder' => $this->msg( 'visualeditor-rebase-client-document-name' )->text(), 'autofocus' => true, 'infusable' => true ] ), new OOUI\ButtonWidget( [ 'classes' => [ 've-init-mw-collabTarget-nameButton' ], 'label' => $this->msg( 'visualeditor-rebase-client-document-create-edit' )->text(), // Only enable once JS has loaded 'disabled' => true, 'infusable' => true ] ), [ 'align' => 'top', 'classes' => [ 've-init-mw-collabTarget-nameField' ], 'infusable' => true ] ); $progressBar = new OOUI\ProgressBarWidget( [ 'classes' => [ 've-init-mw-collabTarget-loading' ], 'infusable' => true ] ); if ( $subPage ) { $title = Title::newFromText( $subPage ); $output->setPageTitle( $this->msg( 'collabpad-doctitle', $title->getPrefixedText() ) ); $documentNameField->addClasses( [ 'oo-ui-element-hidden' ] ); } else { // Scripts only, styles already added above $output->addModules( 'ext.visualEditor.collabTarget' ); $progressBar->addClasses( [ 'oo-ui-element-hidden' ] ); } $output->addHTML( $progressBar . $documentNameField ); } }