From f6d65e533c62f6deb21342d4901ece24497b433e Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Thu, 4 Jun 2015 07:31:04 +0200 Subject: Update to MediaWiki 1.25.1 --- vendor/oojs/oojs-ui/php/layouts/FieldLayout.php | 140 +++++++++++++++++++++ vendor/oojs/oojs-ui/php/layouts/FieldsetLayout.php | 32 +++++ vendor/oojs/oojs-ui/php/layouts/FormLayout.php | 47 +++++++ vendor/oojs/oojs-ui/php/layouts/PanelLayout.php | 61 +++++++++ 4 files changed, 280 insertions(+) create mode 100644 vendor/oojs/oojs-ui/php/layouts/FieldLayout.php create mode 100644 vendor/oojs/oojs-ui/php/layouts/FieldsetLayout.php create mode 100644 vendor/oojs/oojs-ui/php/layouts/FormLayout.php create mode 100644 vendor/oojs/oojs-ui/php/layouts/PanelLayout.php (limited to 'vendor/oojs/oojs-ui/php/layouts') diff --git a/vendor/oojs/oojs-ui/php/layouts/FieldLayout.php b/vendor/oojs/oojs-ui/php/layouts/FieldLayout.php new file mode 100644 index 00000000..ef0d4c6c --- /dev/null +++ b/vendor/oojs/oojs-ui/php/layouts/FieldLayout.php @@ -0,0 +1,140 @@ + 'left' ), $config ); + + // Parent constructor + parent::__construct( $config ); + + // Properties + $this->fieldWidget = $fieldWidget; + $this->field = new Tag( 'div' ); + $this->body = new Tag( $hasInputWidget ? 'label' : 'div' ); + if ( isset( $config['help'] ) ) { + $this->help = new ButtonWidget( array( + 'classes' => array( 'oo-ui-fieldLayout-help' ), + 'framed' => false, + 'icon' => 'info', + 'title' => $config['help'], + ) ); + } else { + $this->help = ''; + } + + // Mixins + $this->mixin( new LabelElement( $this, $config ) ); + + // Initialization + $this + ->addClasses( array( 'oo-ui-fieldLayout' ) ) + ->appendContent( $this->help, $this->body ); + $this->body->addClasses( array( 'oo-ui-fieldLayout-body' ) ); + $this->field + ->addClasses( array( 'oo-ui-fieldLayout-field' ) ) + ->toggleClasses( array( 'oo-ui-fieldLayout-disable' ), $this->fieldWidget->isDisabled() ) + ->appendContent( $this->fieldWidget ); + + $this->setAlignment( $config['align'] ); + } + + /** + * Get the field. + * + * @return Widget Field widget + */ + public function getField() { + return $this->fieldWidget; + } + + /** + * Set the field alignment mode. + * + * @param string $value Alignment mode, either 'left', 'right', 'top' or 'inline' + * @chainable + */ + protected function setAlignment( $value ) { + if ( $value !== $this->align ) { + // Default to 'left' + if ( !in_array( $value, array( 'left', 'right', 'top', 'inline' ) ) ) { + $value = 'left'; + } + // Reorder elements + $this->body->clearContent(); + if ( $value === 'inline' ) { + $this->body->appendContent( $this->field, $this->label ); + } else { + $this->body->appendContent( $this->label, $this->field ); + } + // Set classes. The following classes can be used here: + // * oo-ui-fieldLayout-align-left + // * oo-ui-fieldLayout-align-right + // * oo-ui-fieldLayout-align-top + // * oo-ui-fieldLayout-align-inline + if ( $this->align ) { + $this->removeClasses( array( 'oo-ui-fieldLayout-align-' . $this->align ) ); + } + $this->addClasses( array( 'oo-ui-fieldLayout-align-' . $value ) ); + $this->align = $value; + } + + return $this; + } + + public function getConfig( &$config ) { + $config['fieldWidget'] = $this->fieldWidget; + $config['align'] = $this->align; + if ( $this->help !== '' ) { + $config['help'] = $this->help->getTitle(); + } + return parent::getConfig( $config ); + } +} diff --git a/vendor/oojs/oojs-ui/php/layouts/FieldsetLayout.php b/vendor/oojs/oojs-ui/php/layouts/FieldsetLayout.php new file mode 100644 index 00000000..f9faa353 --- /dev/null +++ b/vendor/oojs/oojs-ui/php/layouts/FieldsetLayout.php @@ -0,0 +1,32 @@ +mixin( new IconElement( $this, $config ) ); + $this->mixin( new LabelElement( $this, $config ) ); + $this->mixin( new GroupElement( $this, $config ) ); + + // Initialization + $this + ->addClasses( array( 'oo-ui-fieldsetLayout' ) ) + ->prependContent( $this->icon, $this->label, $this->group ); + if ( isset( $config['items'] ) ) { + $this->addItems( $config['items'] ); + } + } +} diff --git a/vendor/oojs/oojs-ui/php/layouts/FormLayout.php b/vendor/oojs/oojs-ui/php/layouts/FormLayout.php new file mode 100644 index 00000000..ebeb89de --- /dev/null +++ b/vendor/oojs/oojs-ui/php/layouts/FormLayout.php @@ -0,0 +1,47 @@ +mixin( new GroupElement( $this, array_merge( $config, array( 'group' => $this ) ) ) ); + + // Initialization + $attributeWhitelist = array( 'method', 'action', 'enctype' ); + $this + ->addClasses( array( 'oo-ui-formLayout' ) ) + ->setAttributes( array_intersect_key( $config, array_flip( $attributeWhitelist ) ) ); + if ( isset( $config['items'] ) ) { + $this->addItems( $config['items'] ); + } + } + + public function getConfig( &$config ) { + foreach ( array( 'method', 'action', 'enctype' ) as $attr ) { + $value = $this->getAttribute( $attr ); + if ( $value !== null ) { + $config[$attr] = $value; + } + } + return parent::getConfig( $config ); + } +} diff --git a/vendor/oojs/oojs-ui/php/layouts/PanelLayout.php b/vendor/oojs/oojs-ui/php/layouts/PanelLayout.php new file mode 100644 index 00000000..64931374 --- /dev/null +++ b/vendor/oojs/oojs-ui/php/layouts/PanelLayout.php @@ -0,0 +1,61 @@ + false, + 'padded' => false, + 'expanded' => true, + 'framed' => false, + ), $config ); + + // Parent constructor + parent::__construct( $config ); + + // Initialization + $this->addClasses( array( 'oo-ui-panelLayout' ) ); + if ( $config['scrollable'] ) { + $this->addClasses( array( 'oo-ui-panelLayout-scrollable' ) ); + } + if ( $config['padded'] ) { + $this->addClasses( array( 'oo-ui-panelLayout-padded' ) ); + } + if ( $config['expanded'] ) { + $this->addClasses( array( 'oo-ui-panelLayout-expanded' ) ); + } + if ( $config['framed'] ) { + $this->addClasses( array( 'oo-ui-panelLayout-framed' ) ); + } + } + public function getConfig( &$config ) { + if ( $this->hasClass( 'oo-ui-panelLayout-scrollable' ) ) { + $config['scrollable'] = true; + } + if ( $this->hasClass( 'oo-ui-panelLayout-padded' ) ) { + $config['padded'] = true; + } + if ( !$this->hasClass( 'oo-ui-panelLayout-expanded' ) ) { + $config['expanded'] = false; + } + if ( $this->hasClass( 'oo-ui-panelLayout-framed' ) ) { + $config['framed'] = true; + } + $config['content'] = $this->content; + return parent::getConfig( $config ); + } +} -- cgit v1.2.3-54-g00ecf