enmi12/glossaire/_posts/demos/2010-12-30-sorting.html
author ymh <ymh.work@gmail.com>
Mon, 08 Sep 2025 19:44:41 +0200
changeset 23 417f20492bf7
parent 0 d970ebf37754
permissions -rwxr-xr-x
Update Docker configuration and plugin versions - Upgrade MariaDB from 10.6 to 11 with auto-upgrade support - Add WordPress debug environment variable to FPM container - Update PHP-FPM Dockerfile base image - Update Include Mastodon Feed plugin with bug fixes and improvements - Update Portfolio plugin (v2.58) with latest translations and demo data enhancements - Remove old README.md from Mastodon Feed plugin 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>

---
title: Sorting
layout: default
category: demos
---
  
  <section id="copy">
    <p>Sort item elements based on any data you can extract from them.</p>
    <p>See <a href="../docs/sorting.html">docs on sorting</a>.</p>
  </section>
  
  <section id="options" class="clearfix">
    
    {% include sort-buttons.html %}

  </section> <!-- #options -->
  
  <div id="container" class="clearfix">
    {% for elem_number in site.best_of_order %}
      {% assign element = site.elements[elem_number] %}
      {% include element-partial.html %}
    {% endfor %}
  </div> <!-- #container -->
  
  <script src="../{{ site.jquery_js }}"></script>
  <script src="../{{ site.isotope_js }}"></script>
  <script>
    $(function(){
      
      var $container = $('#container');
      
      $container.isotope({
        itemSelector : '.element',
        getSortData : {
          symbol : function( $elem ) {
            return $elem.attr('data-symbol');
          },
          category : function( $elem ) {
            return $elem.attr('data-category');
          },
          number : function( $elem ) {
            return parseInt( $elem.find('.number').text(), 10 );
          },
          weight : function( $elem ) {
            return parseFloat( $elem.find('.weight').text().replace( /[\(\)]/g, '') );
          },
          name : function ( $elem ) {
            return $elem.find('.name').text();
          }
        }
      });
      
      {% include option-set-buttons.js %}
      
    });
  </script>