<script>

$("#work,#work_1,#work_update,#work_view").select2({
  placeholder: "Select  Work",
  templateResult: format_project_dropdown
})
$("#user").select2({
  placeholder: "Select  User"
})
$("#report_date,#report_date_update,#report_date_view").datepicker( {
  todayHighlight:!0, orientation:"bottom left", templates: {
    leftArrow: '<i class="la la-angle-left"></i>', rightArrow: '<i class="la la-angle-right"></i>'
  },
  endDate: '+0d',
  <?php if($this->session->userdata('user_role')!='admin' && $this->config->item('User_calendar_date_restriction_enabled')==1){ ?>
    startDate: '<?php echo $this->config->item('User_calendar_date_restriction_start_days');?>d'
    <?php } ?>
  })
  function GetSearchDate(){
    return $('#table_filter_date_range').val();
  }
  function GetSearchwork(){
    return $('#work').val();
  }
  function GetSearchuser(){
    return $('#user').val();
  }
  var daily_progress_report_view_table = $('#daily_progress_report_view_table').DataTable({
    "ajax":{
      url :"<?php echo base_url().'daily_reports/select_daily_progress_report' ?>", // json datasource
      type: "post", // type of method  , by default would be get
      data: function(d){
        <?php if($page_name=='work_profile'){?>
          d.work =   "<?php echo $work_data->work_id?>";
          <?php }elseif($page_name=='work_profile_master' || $page_name=='work_summary_master'){?>
              d.work_ids = "<?php echo implode(',',$sub_project_ids)?>";
              <?php }else{ ?>
        d.date = GetSearchDate();
        d.work = GetSearchwork();
        d.user_id = GetSearchuser();
        <?php } ?>
      }
    },
    "bProcessing": true,
    "deferRender": true,
    "bDeferRender": true,
    "scrollX" : true,
    scrollX:!0, scrollCollapse:!0,
    buttons: [
      { extend: 'print', className: 'btn dark btn-outline',exportOptions: {columns: ':visible'},title: 'Daily Progress Report' },
      { extend: 'csv', className: 'btn purple btn-outline ',exportOptions: {columns: ':visible'} },
      { extend: 'pdf', className: 'btn purple btn-outline ',exportOptions: {columns: ':visible'} },
      { extend: 'colvis', className: 'btn dark btn-outline', text: 'Columns'}
    ],
    dom:"<'row'<'col-sm-6 text-left'B><'col-sm-6 text-right'f>>\n\t\t\t<'row'<'col-sm-12'tr>>\n\t\t\t<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7 dataTables_pager'lp>>", // horizobtal scrollable datatable
    "lengthMenu": [
      [25, 50, 100, -1],
      [25, 50, 100, "All"] // change per page values here
    ],
    "columnDefs": [
      {
        "targets": [ 1,2,8,11,12,13 ],
        className: "hidden"
      },
      {
        render: function (data, type, full, meta) {
          return "<div class='text-wrap width-300'>" + data + "</div>";
        },
        targets: 7
      },
      {
        render: function (data, type, full, meta) {
          return "<div class='text-wrap width-200'>" + data + "</div>";
        },
        targets: 9
      }
    ],
    'order': false,
  });
  $(".table_filter").on("change", function() {
    daily_progress_report_view_table.ajax.reload();
  });
  $(".hide_column").hide();
  <?php if($page_name=='daily_progress_report'){?>
  // Date Range Picker
  var start = moment();
  var end = moment();

  function cb(start, end) {
    $('#table_filter_date_range').val(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
    daily_progress_report_view_table.ajax.reload();
  }

  $('#table_filter_date_range').daterangepicker({
    buttonClasses: "m-btn btn",
    applyClass: "btn-primary",
    cancelClass: "btn-secondary",
    startDate: start,
    endDate: end,
    locale: {
      format: 'MMMM D, YYYY'
    },
    ranges: {
      'Today': [moment(), moment()],
      'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
      'Last 7 Days': [moment().subtract(6, 'days'), moment()],
      'Last 30 Days': [moment().subtract(29, 'days'), moment()],
      'This Month': [moment().startOf('month'), moment().endOf('month')],
      'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
      'All time': [moment('1970-01-01'), moment().add(9999, 'days')],
    }
  }, cb);

  cb(start, end);

  $(".form_submit_btn").click(function (e) {
    e.preventDefault();
    var a = $(this),
    l = $(this).closest("form"),
    action = l.attr('action');
    var form_id = l.attr('id');
    l.validate({
      rules: {

      }, invalidHandler: function (e, r) {
        var i = $("#" + form_id + "_msg");
        i.removeClass("m--hide").show(), mUtil.scrollTo(i, -200)
      }, submitHandler: function (e) {
      }
    }), l.valid() && (a.addClass("m-loader m-loader--right m-loader--light").attr("disabled", !0),
    l.ajaxSubmit({
      url: action,
      success: function (e, t, r, s) {
        var modal_id = l.attr('data-modal-id');
        var form_type = l.attr('data-form-type');
        $("#" + form_id + "_msg").addClass("m--hide");
        // Block UI
        mApp.blockPage({
          overlayColor: "#000000",
          type: "loader",
          state: "success",
          message: "Please wait..."
        }), setTimeout(function () {
          mApp.unblockPage()
        }, 2e3);
        var obj = $.parseJSON(e);
        if (obj.status == 1) {
          a.removeClass("m-loader m-loader--right m-loader--light").attr("disabled", !1);
          toastr[obj.flashdata_type](obj.flashdata_msg, obj.flashdata_title);
          $("#"+modal_id).modal('toggle');
          $("."+form_id+"_fields").val('');
          $("."+form_id+"_select").val('').trigger("change");
          daily_progress_report_view_table.ajax.reload();
          $("#"+modal_id).modal('toggle');
        } else {
          a.removeClass("m-loader m-loader--right m-loader--light").attr("disabled", !1);
          toastr[obj.flashdata_type](obj.flashdata_msg, obj.flashdata_title);
        }
        if (obj == null) {
          setTimeout(function () {
            a.removeClass("m-loader m-loader--right m-loader--light").attr("disabled", !1);
            toastr["warning"]("Your Attempt is Timed Out. Please Try Again.", "Timed Out");
          }, 2e4)
        }
      },error: function() {
        a.removeClass("m-loader m-loader--right m-loader--light").attr("disabled", !1);
        toastr["error"]("Sorry. There Has Been Some Error Occurred. Please Try Again.", "Error");
      }
    })
  )
});
<?php } ?>
  function mark_read(note_id){
    $.post("<?php echo base_url() ?>daily_notes/update_read",{note_id:note_id},function(data) {
      var obj = $.parseJSON(data);
      var i=0;
      if(obj.status==1) {
        daily_progress_report_view_table.ajax.reload();
      }
    })
  }
  $('body').on('click', '#daily_note_edit_btn', function() {
    var no = $(this).closest('tr').children('td');
    $('#work_update').val(no.eq(2).text()).trigger('change');
    $('#description_update').val(no.eq(7).text());
    $('#note_title_edit').val(no.eq(5).text());
    $('#note_id').val(no.eq(1).text());
  })
  $('body').on('click', '#daily_note_view_btn', function() {
    var no = $(this).closest('tr').children('td');
    $('#note_work_view').val(no.eq(2).text()).trigger('change');
    $('#note_description_update').val(no.eq(7).text());
    $('#date_view').val(no.eq(6).text());
    $('#note_title_view').val(no.eq(5).text());
    if(no.eq(13).text()!=1){
      mark_read(no.eq(1).text());
    }
  })
  $('body').on('click', '#daily_note_delete_btn', function() {
    var no = $(this).closest('tr').children('td');
    $('#delete_note_id').val(no.eq(1).text());
  })
  $('body').on('click', '#daily_note_read_btn', function() {
    var no = $(this).closest('tr').children('td');
    if(no.eq(13).text()!=1){
      mark_read(no.eq(1).text());
    }
  })
</script>
