%PDF- %PDF-
Direktori : /www/varak.net/wiki.varak.net/vendor/oojs/oojs-ui/demos/ |
Current File : //www/varak.net/wiki.varak.net/vendor/oojs/oojs-ui/demos/demos.php |
<?php define( 'OOUI_DEMOS', true ); $autoload = __DIR__ . '/vendor/autoload.php'; if ( !file_exists( $autoload ) ) { echo '<p>Did you forget to run <code>composer install</code>?</p>'; exit(); } require_once $autoload; require_once 'classes/ButtonStyleShowcaseWidget.php'; // @codingStandardsIgnoreStart MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment $themes = [ 'wikimediaui' => 'WikimediaUI', // Do not change this line or you'll break `grunt add-theme` 'apex' => 'Apex', ]; // @codingStandardsIgnoreEnd MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment $theme = ( isset( $_GET['theme'] ) && isset( $themes[ $_GET['theme'] ] ) ) ? $_GET['theme'] : 'wikimediaui'; $themeClass = 'OOUI\\' . $themes[ $theme ] . 'Theme'; OOUI\Theme::setSingleton( new $themeClass() ); $direction = ( isset( $_GET['direction'] ) && $_GET['direction'] === 'rtl' ) ? 'rtl' : 'ltr'; $directionSuffix = $direction === 'rtl' ? '.rtl' : ''; OOUI\Element::setDefaultDir( $direction ); // We will require_once a file by this name later, so this validation is important $pages = [ 'widgets' ]; $page = ( isset( $_GET['page'] ) && in_array( $_GET['page'], $pages ) ) ? $_GET['page'] : 'widgets'; $query = [ 'page' => $page, 'theme' => $theme, 'direction' => $direction, ]; $additionalThemeImagesSuffixes = [ 'wikimediaui' => [ '-icons-movement', '-icons-content', '-icons-alerts', '-icons-interactions', '-icons-moderation', '-icons-editing-core', '-icons-editing-styling', '-icons-editing-list', '-icons-editing-advanced', '-icons-editing-citation', '-icons-media', '-icons-location', '-icons-user', '-icons-layout', '-icons-accessibility', '-icons-wikimedia' ], 'apex' => [ '-icons-movement', '-icons-content', '-icons-alerts', '-icons-interactions', '-icons-moderation', '-icons-editing-core', '-icons-editing-styling', '-icons-editing-list', '-icons-editing-advanced', '-icons-editing-citation', '-icons-media', '-icons-location', '-icons-user', '-icons-layout', '-icons-accessibility', '-icons-wikimedia' ] ]; // Stylesheets to load $urls = []; $urls[] = "oojs-ui-core-$theme$directionSuffix.css"; $urls[] = "oojs-ui-images-$theme$directionSuffix.css"; foreach ( $additionalThemeImagesSuffixes[ $theme ] as $suffix ) { $urls[] = "oojs-ui-$theme$suffix$directionSuffix.css"; } ?> <!DOCTYPE html> <html lang="en" dir="<?php echo $direction; ?>"> <head> <meta charset="UTF-8"> <title>OOUI Widget Demo</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <?php foreach ( $urls as $url ) { echo '<link rel="stylesheet" href="dist/' . htmlspecialchars( $url ) . '">' . "\n"; } ?> <link rel="stylesheet" href="styles/demo<?php echo $directionSuffix; ?>.css"> <link rel="stylesheet" href="classes/ButtonStyleShowcaseWidget.css"> </head> <body class="oo-ui-<?php echo $direction; ?> oo-ui-theme-<?php echo $theme ?>"> <div class="demo"> <div class="demo-menu" role="navigation"> <?php echo new OOUI\ButtonGroupWidget( [ 'infusable' => true, 'items' => array_map( function ( $theme, $themeLabel ) use ( $query ) { return new OOUI\ButtonWidget( [ 'label' => $themeLabel, 'href' => '?' . http_build_query( array_merge( $query, [ 'theme' => $theme ] ) ), 'active' => $query['theme'] === $theme, ] ); }, array_keys( $themes ), array_values( $themes ) ), ] ); echo new OOUI\ButtonGroupWidget( [ 'infusable' => true, 'items' => [ new OOUI\ButtonWidget( [ 'label' => 'LTR', 'href' => '?' . http_build_query( array_merge( $query, [ 'direction' => 'ltr' ] ) ), 'active' => $query['direction'] === 'ltr', ] ), new OOUI\ButtonWidget( [ 'label' => 'RTL', 'href' => '?' . http_build_query( array_merge( $query, [ 'direction' => 'rtl' ] ) ), 'active' => $query['direction'] === 'rtl', ] ), ] ] ); echo new OOUI\ButtonGroupWidget( [ 'infusable' => true, 'id' => 'demo-menu-infuse', 'items' => [ new OOUI\ButtonWidget( [ 'label' => 'JS', 'href' => '.?' . http_build_query( $query ), 'active' => false, ] ), new OOUI\ButtonWidget( [ 'label' => 'PHP', 'href' => '?' . http_build_query( $query ), 'active' => true, ] ), ] ] ); echo new OOUI\ButtonWidget( [ 'label' => 'Docs', 'icon' => 'journal', 'href' => '../php/', 'flags' => [ 'progressive' ], ] ); ?> </div> <?php // $page is validated above require_once "pages/$page.php"; ?> </div> <!-- Demonstrate JavaScript "infusion" of PHP widgets --> <script src="node_modules/jquery/dist/jquery.js"></script> <script src="node_modules/oojs/dist/oojs.jquery.js"></script> <script src="dist/oojs-ui-core.js"></script> <script src="dist/oojs-ui-<?php echo $theme; ?>.js"></script> <script>window.Demo = {};</script> <script src="classes/ButtonStyleShowcaseWidget.js"></script> <script src="infusion.js"></script> </body> </html>