|
|
- <?php
-
- use OOUI\WikimediaUITheme;
-
- OOUI\Theme::setSingleton( new WikimediaUITheme() );
- OOUI\Element::setDefaultDir( 'ltr' );
-
- // Create form elements
- $catInput = new OOUI\TextInputWidget( [
- 'infusable' => true,
- 'name' => 'cat',
- 'placeholder' => 'Category name'
- ] );
-
- if ( isset($cat) && strlen($cat) ) {
- $catInput->setValue( $cat );
- }
-
- $submit = new OOUI\ButtonInputWidget( [
- 'infusable' => true,
- 'label' => 'Submit',
- 'type' => 'submit'
- ] );
-
- $fieldset = new OOUI\FieldsetLayout( [
- 'infusable' => true,
- 'label' => 'Find readability of first ~50 pages in Wikipedia category:',
- 'classes' => [ "container" ]
- ] );
-
- $fieldset->addItems( [
- new OOUI\FieldLayout( $catInput, [
- 'infusable' => true,
- 'align' => 'left'
- ] ),
- new OOUI\FieldLayout( $submit )
- ] );
-
- $form = new OOUI\FormLayout( [
- 'infusable' => true,
- 'items' => [ $fieldset ],
- 'action' => '/category',
- 'method' => 'get',
- 'id' => 'category-form'
- ] );
-
- ?>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8"/>
- <title>Readability of Wikipedia Pages by Category</title>
- <link href="/oojs-ui-dist/oojs-ui-wikimediaui.css" rel="stylesheet" type="text/css">
- <link href="/oojs-ui-dist/oojs-ui-images-wikimediaui.css" rel="stylesheet" type="text/css">
- <script src="/jquery-dist/jquery.min.js"></script>
- <script src="/oojs-dist/oojs.min.js"></script>
- <script src="/oojs-ui-dist/oojs-ui.min.js"></script>
- <script src="/oojs-ui-dist/oojs-ui-wikimediaui.min.js"></script>
- <script>
- $( document ).ready(function() {
- var myForm = OO.ui.infuse( 'category-form' );
-
- // Ask for JSON specifically:
- myForm.addItems( [
- new OO.ui.HiddenInputWidget( {
- name: 'type',
- value: 'json',
- } )
- ] );
-
- myForm.on( 'submit', function () {
-
- $.get( '/category', myForm.$element.serialize() ).done( function( result ) {
- var table = $( '<table id=pagelist><thead><tr><th>Page Name</th> <th>Dale-Chall Readability Score</th></tr></thead></table>' );
- if ( $( '#pagelist' ).length ) {
- $( '#pagelist' ).replaceWith( table );
- } else {
- $( 'body' ).append( table );
- }
- $( result.pageList ).each( function ( index, values ) {
- var title = values[ 0 ];
- var readability = values[ 2 ];
- var row = $( '<tr>' )
- .append( $( '<td>' ).text( title ) )
- .append( $( '<td>' ).text( readability ) );
- table.append( row );
- });
- });
-
- } );
- });
- </script>
-
- <style>
- body {
- max-width: 38em;
- margin-left: auto;
- margin-right: auto;
- }
- </style>
- </head>
-
- <body>
-
- <?php echo $form; ?>
-
- <?php
-
- $td = function ( $content ) {
- return '<td>' . htmlspecialchars( $content ) . '</td>';
- };
-
- // If we've got a $pageList, go ahead and render it as a table. This is
- // only going to happen in the situation where a client doesn't have JS
- // enabled.
-
- if ( isset( $pageList ) ) {
- echo '<table>';
- echo '<tr> <th>Page Name</th> <th>Dale-Chall Readability Score</th> </tr>';
-
- foreach ( $pageList as $page ) {
- echo '<tr>', $td( $page[0] ), $td( $page[2] ), '</tr>';
- }
-
- echo '</table>';
- }
-
- ?>
-
- </body>
- </html>
|