enmi12/glossaire/_posts/custom-layout-modes/2011-12-05-big-graph.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>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
---
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
title: BIG Graph
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
layout: default
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
category: custom-layout-modes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
---
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
<section id="copy">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
  <p><a href="../docs/extending-isotope.html">Custom layout mode</a> to replicate the Flash interface of <a href="http://big.dk">big.dk</a>. Similiar to <a href="category-rows.html">Category rows</a>, item elements are grouped by their sorting data into columns.</p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
{% highlight javascript %}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
$container.isotope({
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
  layoutMode: 'bigGraph',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
  bigGraph: {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    columnWidth: 45, // size of item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    rowHeight: 45, // size of item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    maxRows: 11, // max number of items vertically
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    gutterWidth: { // width of gutter, needs to match getSortData names
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
      year: 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
      scale: 60,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
      program: 40,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
      status: 60,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
      title: 0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
  },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
  // options...
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
{% endhighlight %}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
  <p>To use this layout mode, grab the <code>$.Isotope.prototype</code> methods from the script at the bottom of this page's source.</p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
</section>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
<section id="options" class="clearfix">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    <h3>Sort</h3>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
    <ul id="sort-by" class="option-set clearfix" data-option-key="sortBy">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
      <li><a href="#sortBy=year" data-option-value="year" class="selected" data>Chronological</a></li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
      <li><a href="#sortBy=title" data-option-value="title">Alphabetical</a></li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
      <li><a href="#sortBy=program" data-option-value="program">Programmatic</a></li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
      <li><a href="#sortBy=scale" data-option-value="scale">Scale</a></li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
      <li><a href="#sortBy=status"  data-option-value="status">Status</a></li>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
    </ul>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
</section> <!-- #options -->
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
<div id="container" class="big-graph clearfix">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
</div> <!-- #container -->
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
<script src="../{{ site.jquery_js }}"></script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
<script src="../{{ site.isotope_js }}"></script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
<script src="../js/make-big-graph-projects.js"></script> 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
<script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
  // categoryRows custom layout mode
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
  $.extend( $.Isotope.prototype, {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
    _bigGraphReset : function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
      this.bigGraph = {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
        x : 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
        y : 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
        height : 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
        column: 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
        row: 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
        gutter: 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
        currentCategory : null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
      };
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
    },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
    _bigGraphLayout : function( $elems ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
      var instance = this,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
          containerWidth = this.element.width(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
          bigGraphOpts = this.options.bigGraph,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
          sortBy = this.options.sortBy,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
          elemsGroup = {},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
          props = this.bigGraph;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
      // group item elements into categories based on their sorting data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
      $elems.each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
        var category = $.data( this, 'isotope-sort-data' )[ sortBy ];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
        elemsGroup[ category ] = elemsGroup[ category ] || [];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
        elemsGroup[ category ].push( this );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
      });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
      var group, groupName, groupMaxRows, groupLen,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
          gutterWidth = bigGraphOpts.gutterWidth[ sortBy ],
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
          x, y;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
      // for each group...
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
      for ( groupName in elemsGroup ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
        group = elemsGroup[ groupName ];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
        groupLen = group.length;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
        // make groups look nice, by limiting rows, makes for blockier blocks
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
        groupMaxRows = groupLen / Math.ceil( groupLen / bigGraphOpts.maxRows );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
        $.each( group, function( i, elem ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
          x = props.column * bigGraphOpts.columnWidth + props.gutter * gutterWidth;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
          y = (bigGraphOpts.maxRows - props.row - 1) * bigGraphOpts.rowHeight;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
          instance._pushPosition( $(elem), x, y );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
          if ( props.row >= groupMaxRows - 1 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
            // start a new column
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
            props.row = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
            props.column++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
            props.row++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
        });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
        // start a new group
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
        if ( props.row > 0 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
          props.row = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
          props.column++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
        props.gutter++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
      props.gutter--;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
      props.width = props.column * bigGraphOpts.columnWidth + props.gutter * gutterWidth;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
    },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
    _bigGraphGetContainerSize : function () {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
      bigGraphOpts = this.options.bigGraph;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
      this.bigGraph.column++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
      return {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
        width: this.bigGraph.width,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
        height: bigGraphOpts.maxRows * bigGraphOpts.rowHeight
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
      };
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
    },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
    _bigGraphResizeChanged : function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
      return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
  });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
  $(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
    // -------- dynamically create items ---------------- //
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
    var i = 120,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
        projects = [];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
    while (i--) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
      projects.push( makeBigGraphProject() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
    var $container = $('#container');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
    $container.append( $( projects.join('') ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
    // -------- isotope ---------------- //
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
    $container.isotope({
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
      itemSelector: '.project',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
      layoutMode: 'bigGraph',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
      bigGraph: {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
        columnWidth: 45, // size of item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
        rowHeight: 45, // size of item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
        maxRows: 11, // max number of items vertically
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
        gutterWidth: { // width of gutter, needs to match getSortData names
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
          year: 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
          scale: 0,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
          program: 35,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
          status: 80,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
          title: 0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
      },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
      sortBy: 'year',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
      getSortData: {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
        year: function( $elem ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
          return $elem.attr('data-year');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
        scale: function( $elem ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
          return $elem.attr('data-scale');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
        program: function( $elem ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
          return $elem.attr('data-program');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
        status: function( $elem ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
          return $elem.attr('data-status');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
        title: function( $elem ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
          var chara = $elem.find('p').text()[0];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
          return isNaN( parseInt( chara ) ) ? chara : '0';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
    });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
    {% include option-set-buttons.js %}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
  });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
</script>