• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • Examples
  • File List

system/controls/formcontroltags.php

00001 <?php
00002 
00003 namespace Habari;
00004 
00008 class FormControlTags extends FormControlText
00009 {
00010   public static $outpre = false;
00011 
00012   public function pre_out()
00013   {
00014     $out = '';
00015     if ( !FormControlTextMulti::$outpre ) {
00016       FormControlTextMulti::$outpre = true;
00017       $out = <<< TAGS_PRE_OUT
00018 <script type="text/javascript">
00019 $(function(){
00020   $('input.tags_control').each(function(){
00021 
00022     for(var z in tc_tags=$(this).val().split(/\s*,\s*/)) {
00023       tc_tags[z]=tc_tags[z].replace(/^(["'])(.*)\1$/, '$2');
00024     }
00025     console.log(tc_tags);
00026 
00027     \$this = $(this);
00028     ajax_url = $(this).data('ajax_url');
00029     console.log(ajax_url);
00030     \$this.select2({
00031       tags: tc_tags,
00032       placeholder: "Tags",
00033       minimumInputLength: 1,
00034       ajax: {
00035         url: ajax_url,
00036         dataType: 'json',
00037         quietMillis: 100,
00038         data: function (term, page) {
00039           return { q: term };
00040         },
00041         results: function (data, page) {
00042           var results = {};
00043           for(var z in data.data) {
00044             results[parseInt(z)] = {id: parseInt(z), text: data.data[z]};
00045           }
00046           return {results: results, more: false};
00047         },
00048         formatSelection: function(item) {
00049           return item.text;
00050         },
00051         formatResult: function(item) {
00052           return item.text;
00053         }
00054       }
00055     });
00056 
00057   });
00058 });
00059 </script>
00060 TAGS_PRE_OUT;
00061     }
00062     return $this->controls_js($out);
00063   }
00064 }
00065 
00066 ?>

Generated on Sun Aug 4 2013 12:51:43 for Habari by  doxygen 1.7.1