Advertisement
Guest User

Untitled

a guest
Jan 24th, 2015
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!-- Arrange Event Modal -->
  2. <div class="modal fade" id="arrangeModal" tabindex="-1" role="dialog" aria-labelledby="arrangeModalLabel" aria-hidden="true">
  3.     <div class="modal-dialog modal-sm">
  4.         <form class="modal-content">
  5.             <div class="modal-header">
  6.                 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  7.                 <h4 class="modal-title">Esemény kiadása ügyintézésre</h4>
  8.             </div>
  9.             <div class="modal-body">
  10.                 <div class="form-group">
  11.                     <label for="inputDate" class="control-label">Intézés határideje</label>
  12.                     <div class="input-group">
  13.                         <input name="deadtime" type="text" id="inputDate" class="form-control" value="" />
  14.                         <span class="input-group-addon">
  15.                             <i class="glyphicon glyphicon-calendar"></i>
  16.                         </span>
  17.                     </div>
  18.                 </div>
  19.  
  20.                 <div class="form-group">
  21.                     <label for="inputUser" class="control-label">Ügyintéző</label>
  22.                     <div class="input-group">
  23.                         <input name="usernames[]" type="text" id="inputUser" class="form-control username" data-provide="typeahead" autocomplete="off" />
  24.                         <input name="usersID[]" type="hidden" />
  25.                         <span class="input-group-btn">
  26.                             <button type="button" class="btn btn-default addButton">
  27.                                 <i class="glyphicon glyphicon-plus"></i>
  28.                             </button>
  29.                         </span>
  30.                     </div>
  31.                 </div>
  32.  
  33.                 <!-- Optional fields template -->
  34.                 <div class="form-group hide" id="optionTemplate">
  35.                     <div class="input-group">
  36.                         <input name="usernames[]" type="text" class="form-control username" data-provide="typeahead" autocomplete="off" />
  37.                         <input name="usersID[]" type="hidden" />
  38.                         <span class="input-group-btn">
  39.                             <button type="button" class="btn btn-default removeButton">
  40.                                 <i class="glyphicon glyphicon-minus"></i>
  41.                             </button>
  42.                         </span>
  43.                     </div>
  44.                 </div>
  45.             </div>
  46.             <div class="modal-footer">
  47.                 <button type="button" class="btn btn-default" data-dismiss="modal">Mégsem</button>
  48.                 <button type="submit" class="btn btn-primary">
  49.                     <span class="glyphicon glyphicon-share"></span> Kiadás
  50.                 </button>
  51.             </div>
  52.         </form><!-- /.modal-content -->
  53.     </div><!-- /.modal-dialog -->
  54. </div><!-- /.modal -->
  55.  
  56.  
  57. <script>
  58. $(document).ready(function () {
  59.  
  60.     $('#arrangeModal').bootstrapValidator({
  61.         fields: {
  62.             deadtime: {
  63.                 validators: {
  64.                     notEmpty: {
  65.                         message: 'Nem maradhat üresen'
  66.                     },
  67.                     date: {
  68.                         format: 'YYYY-MM-DD',
  69.                         message: 'Érvénytelen dátum'
  70.                     },
  71.                     callback: {
  72.                         callback: function(value, validator, $field) {
  73.                             var i = value.split('-')
  74.                             if (i.length == 3)
  75.                             {
  76.                                 var today = new Date()
  77.                                 var inputDate = new Date(parseInt(i[0]), parseInt(i[1]) - 1, parseInt(i[2]) + 1)
  78.  
  79.                                 if (inputDate < today)
  80.                                 {
  81.                                     return false
  82.                                 }
  83.                             }
  84.  
  85.                             return true
  86.                         },
  87.                         message: 'A mai napnál nem lehet korábbi az esemény'
  88.                     }
  89.                 }
  90.             },
  91.             'usernames[]': {
  92.                 validators: {
  93.                     notEmpty: {
  94.                         message: 'Nem maradhat üresen'
  95.                     }
  96.                 }
  97.             }
  98.         }
  99.     })
  100.  
  101.     .find('[name="deadtime"]').mask('9999-99-99').end()
  102.  
  103.     .on('click', '.addButton', function() {
  104.         var $template = $('#optionTemplate')
  105.         var $clone = $template.clone().removeClass('hide').removeAttr('id').insertBefore($template)
  106.         var $option = $clone.find('[name="usernames[]"]')
  107.  
  108.         $('#arrangeModal').bootstrapValidator('addField', $option)
  109.     })
  110.  
  111.     .on('click', '.removeButton', function() {
  112.         var $row = $(this).parents('.form-group')
  113.         var $option = $row.find('[name="usernames[]"]')
  114.  
  115.         $row.remove()
  116.  
  117.         $('#arrangeModal').bootstrapValidator('removeField', $option)
  118.     })
  119.  
  120.     // Usernames autocomplete by typeahead
  121.     var users = []
  122.     var usernames = []
  123.     var autocomplete = $.typeahead({
  124.         source: function(query, process) {
  125.             $.ajax({
  126.                 url: 'autocomplete_usernames',
  127.                 type: 'POST',
  128.                 data: 'q=' + query,
  129.                 dataType: 'JSON',
  130.                 async: false,
  131.                 success: function(data) {
  132.                     var lbl
  133.                     users = []
  134.                     usernames = []
  135.  
  136.                     $.each(data, function(index, item) {
  137.                         //if (item.fullname.length > 0)
  138.                         //  lbl = item.fullname
  139.                         //else
  140.                             lbl = item.username
  141.  
  142.                         usernames.push( lbl )
  143.                         users[ lbl ] = item.id
  144.                     })
  145.  
  146.                     console.log(usernames)
  147.                     process( usernames )
  148.                 }
  149.             })
  150.         },
  151.         updater: function (selectedItem) {
  152.             //$( 'name="usersID[]"' ).val( users[ selectedItem ] )
  153.  
  154.             return selectedItem
  155.         }
  156.     })
  157.  
  158.     $('.username').autocomplete
  159. })
  160. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement