Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 1186 | Rev 1188 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1186 Rev 1187
Línea 60... Línea 60...
60
$this->inlineScript()->captureStart();
60
$this->inlineScript()->captureStart();
61
echo <<<JS
61
echo <<<JS
Línea 62... Línea 62...
62
 
62
 
63
var competencies = [];
63
var competencies = [];
64
var competencies_type = [];
64
var competencies_type = [];
65
var subordinates = [];
65
var dependents = [];
66
var competencies_selected = [];
66
var competencies_selected = [];
-
 
67
var dependents_selected = [];
67
var subordinates_selected = [];
68
 
68
jQuery(document).ready(function($) {
69
jQuery(document).ready(function($) {
69
    $.validator.setDefaults({
70
    $.validator.setDefaults({
70
        debug: true,
71
        debug: true,
71
        highlight: function(element) {
72
        highlight: function(element) {
Línea 311... Línea 312...
311
                $('#form #status').bootstrapToggle('on');
312
                $('#form #status').bootstrapToggle('on');
312
                CKEDITOR.instances.functions.setData('');
313
                CKEDITOR.instances.functions.setData('');
313
                CKEDITOR.instances.objectives.setData('');
314
                CKEDITOR.instances.objectives.setData('');
314
                competencies = response['data']['competencies'];
315
                competencies = response['data']['competencies'];
315
                competencies_type = response['data']['competency_types'];
316
                competencies_type = response['data']['competency_types'];
-
 
317
                dependents = response['data']['jobs_description'];
316
                renderData([]);
318
                renderData([]);
317
                setCompetencySelect();
319
                setCompetencySelect();
-
 
320
                setDependentSelect();
-
 
321
 
318
                var s = '';
322
                var s = '';
319
                var first = true;
323
                var first = true;
320
                $.each(response['data']['competency_types'], function(index, rowCompetencyType) {
324
                $.each(response['data']['competency_types'], function(index, rowCompetencyType) {
321
                    first = true;
325
                    first = true;
322
                    $.each(response['data']['competencies'], function(index, rowCompetency) {
326
                    $.each(response['data']['competencies'], function(index, rowCompetency) {
Línea 387... Línea 391...
387
                var first = true;
391
                var first = true;
Línea 388... Línea 392...
388
                
392
                
389
                competencies = response['data']['competencies'];
393
                competencies = response['data']['competencies'];
390
                competencies_type = response['data']['competency_types'];
394
                competencies_type = response['data']['competency_types'];
-
 
395
                competencies_selected = response['data']['competencies_selected'];
391
                competencies_selected = response['data']['competencies_selected'];
396
                dependents = response['data']['jobs_description'];
392
                renderData(competencies_selected);
397
                renderData(competencies_selected);
-
 
398
                setCompetencySelect();
Línea 393... Línea 399...
393
                setCompetencySelect();
399
                setDependentSelect();
394
 
400
 
395
                $('#tableSubordinates tbody').empty();
401
                $('#tableSubordinates tbody').empty();
396
                $('#job_description_id_boss option:not(:first)').remove();
402
                $('#job_description_id_boss option:not(:first)').remove();
397
                $.each(response['data']['jobs_description'], function(index, rowJobDescription) {
403
                $.each(response['data']['jobs_description'], function(index, rowJobDescription) {
398
                    $('#job_description_id_boss').append(new Option(rowJobDescription['name'], rowJobDescription['job_description_id']));
404
                    $('#job_description_id_boss').append(new Option(rowJobDescription['name'], rowJobDescription['job_description_id']));
399
                    checked = '';
405
                    checked = '';
400
                    if ($.isArray(response['data']['subordinates'])) {
406
                    if ($.isArray(response['data']['dependent'])) {
401
                        if ($.inArray(rowJobDescription['job_description_id'], response['data']['subordinates']) != -1) {
407
                        if ($.inArray(rowJobDescription['job_description_id'], response['data']['dependent']) != -1) {
402
                            checked = ' checked="checked" ';
408
                            checked = ' checked="checked" ';
403
                        }
409
                        }
404
                    }
410
                    }
Línea 462... Línea 468...
462
        'height': '40px'
468
        'height': '40px'
463
    });
469
    });
464
    CKEDITOR.replace('functions');
470
    CKEDITOR.replace('functions');
465
    CKEDITOR.replace('objectives');
471
    CKEDITOR.replace('objectives');
466
    /**
472
    /**
467
     * Clicked cancel new/edit Form
473
     * Clicked select competency
468
     */
474
     */
469
    $('body').on('click', 'button[id="btn-select-competency"]', function(e) {
475
    $('body').on('click', 'button[id="btn-select-competency"]', function(e) {
470
        console.log('ee')
476
        console.log('ee')
471
        if ($("#select-competency").val() == "") {
477
        if ($("#select-competency").val() == "") {
472
            $.fn.showError('LABEL_ERROR_SELECT_COMPETENCY');
478
            $.fn.showError('LABEL_ERROR_SELECT_COMPETENCY');
Línea 474... Línea 480...
474
            competencies_selected.push(competencies.filter((item) => item.competency_id == $("#select-competency").val() ? item : false)[0]);
480
            competencies_selected.push(competencies.filter((item) => item.competency_id == $("#select-competency").val() ? item : false)[0]);
475
            renderData(competencies_selected);
481
            renderData(competencies_selected);
476
            setCompetencySelect();
482
            setCompetencySelect();
477
        }
483
        }
478
    });
484
    });
-
 
485
 
-
 
486
    /**
-
 
487
     * Clicked select dependent
-
 
488
     */
-
 
489
    $('body').on('click', 'button[id="btn-select-dependent"]', function(e) {
-
 
490
        console.log('ee')
-
 
491
        if ($("#select-dependent").val() == "") {
-
 
492
            $.fn.showError('LABEL_ERROR_SELECT_DEPENDENT');
-
 
493
        } else {
-
 
494
            dependents_selected.push(dependents.filter((item) => item.job_description_id == $("#select-dependent").val() ? item : false)[0]);
-
 
495
            renderDependentData(dependents_selected);
-
 
496
            setDependentSelect();
-
 
497
        }
-
 
498
    });
-
 
499
 
-
 
500
    /**
-
 
501
     * Clicked remove dependent
-
 
502
     */
-
 
503
    $('body').on('click', 'button.btn-delete-dependent', function(e) {
-
 
504
        var job_description_id = $(this).data('dependent');
-
 
505
        bootbox.confirm({
-
 
506
            title: "LABEL_DELETE LABEL_DEPENDENT",
-
 
507
            message: "LABEL_QUESTION_DELETE",
-
 
508
            buttons: {
-
 
509
                cancel: {
-
 
510
                    label: '<i class="fa fa-times"></i> LABEL_CANCEL'
-
 
511
                },
-
 
512
                confirm: {
-
 
513
                    label: '<i class="fa fa-check"></i> LABEL_ACCEPT'
-
 
514
                }
-
 
515
            },
-
 
516
            callback: function(result) {
-
 
517
                if (result) {
-
 
518
                     dependents_selected = dependents_selected.filter((item) => item.job_description_id != job_description_id);
-
 
519
                     renderDependentData(dependents_selected);
-
 
520
            return setDependentSelect();
-
 
521
                }
-
 
522
            }
-
 
523
        });
-
 
524
    });
-
 
525
 
479
    const setCompetencySelect = () => {
526
    const setCompetencySelect = () => {
480
        $('#select-competency').children().remove();
527
        $('#select-competency').children().remove();
481
        $('#select-competency').append($('<option>', {
528
        $('#select-competency').append($('<option>', {
482
            value: '',
529
            value: '',
483
            text: 'LABEL_SELECT'
530
            text: 'LABEL_SELECT'
Línea 490... Línea 537...
490
                    text: type.name + ' - ' + item.name
537
                    text: type.name + ' - ' + item.name
491
                }));
538
                }));
492
            }
539
            }
493
        });
540
        });
494
    }
541
    }
-
 
542
 
-
 
543
    const setCompetencySelect = () => {
-
 
544
        $('#select-dependent').children().remove();
-
 
545
        $('#select-dependent').append($('<option>', {
-
 
546
            value: '',
-
 
547
            text: 'LABEL_SELECT'
-
 
548
        }));
-
 
549
        $.each(dependents, function(i, item) {
-
 
550
            if (!filterDependedItemById(item.job_description_id)) {
-
 
551
                $('#select-dependent').append($('<option>', {
-
 
552
                    value: item.job_description_id,
-
 
553
                    text: item.name
-
 
554
                }));
-
 
555
            }
-
 
556
        });
-
 
557
    }
-
 
558
 
-
 
559
    
495
    /**
560
    /**
496
     * Render Competencies data
561
     * Render Competencies data
497
     */
562
     */
498
    const renderData = (data) => {
563
    const renderData = (data) => {
499
        $("#competencies-job").html($("#sectionTemplate").render(data, {
564
        $("#competencies-job").html($("#sectionTemplate").render(data, {
500
            getType: filterTypeById
565
            getType: filterTypeById
501
        }));
566
        }));
502
    }
567
    }
-
 
568
 
-
 
569
    /**
-
 
570
     * Render Competencies data
-
 
571
     */
-
 
572
    const renderDependentData = (data) => {
-
 
573
        $("#dependent").html($("#sectionJob").render(data));
-
 
574
    }
503
    /**
575
    /**
504
     * Filter competencies selected
576
     * Filter competencies selected
505
     */
577
     */
506
    const filterItemById = (id) => competencies_selected.filter((item) => item.competency_id == id ? item : false)[0];
578
    const filterItemById = (id) => competencies_selected.filter((item) => item.competency_id == id ? item : false)[0];
-
 
579
 
-
 
580
     /**
-
 
581
     * Filter depended selected
-
 
582
     */
-
 
583
    const filterDependedItemById = (id) => dependents.filter((item) => item.competency_id == id ? item : false)[0];
-
 
584
 
507
    /**
585
    /**
508
     * Filter competencie type
586
     * Filter competencie type
509
     */
587
     */
510
    const filterTypeById = (id) => competencies_type.filter((item) => item.competency_type_id == id ? item : false)[0];
588
    const filterTypeById = (id) => competencies_type.filter((item) => item.competency_type_id == id ? item : false)[0];
Línea 662... Línea 740...
662
                     </li>
740
                     </li>
663
                     <li class="nav-item">
741
                     <li class="nav-item">
664
                        <a class="nav-link" id="custom-tabs-compentencies-tab" data-toggle="pill" href="#custom-tabs-compentencies" role="tab" aria-controls="custom-tabs-compentencies" aria-selected="false">LABEL_COMPETENCIES</a>
742
                        <a class="nav-link" id="custom-tabs-compentencies-tab" data-toggle="pill" href="#custom-tabs-compentencies" role="tab" aria-controls="custom-tabs-compentencies" aria-selected="false">LABEL_COMPETENCIES</a>
665
                     </li>
743
                     </li>
666
                     <li class="nav-item">
744
                     <li class="nav-item">
667
                        <a class="nav-link" id="custom-tabs-subordinates-tab" data-toggle="pill" href="#custom-tabs-subordinates" role="tab" aria-controls="custom-tabs-subordinates" aria-selected="false">LABEL_SUBORDINATES</a>
745
                        <a class="nav-link" id="custom-tabs-dependent-tab" data-toggle="pill" href="#custom-tabs-dependent" role="tab" aria-controls="custom-tabs-dependent" aria-selected="false">LABEL_SUBORDINATES</a>
668
                     </li>
746
                     </li>
669
                  </ul>
747
                  </ul>
670
               </div>
748
               </div>
671
               <div class="card-body">
749
               <div class="card-body">
672
                  <?php 
750
                  <?php 
Línea 751... Línea 829...
751
                           </div>
829
                           </div>
752
                           <div class="col-md-4 col-sm-4 col-xs-12">
830
                           <div class="col-md-4 col-sm-4 col-xs-12">
753
                              <button type="button" class="btn btn-primary" id="btn-select-competency" data-toggle="tooltip" title="LABEL_ADD LABEL_COMPETENCY">LABEL_ADD LABEL_COMPETENCY</button>
831
                              <button type="button" class="btn btn-primary" id="btn-select-competency" data-toggle="tooltip" title="LABEL_ADD LABEL_COMPETENCY">LABEL_ADD LABEL_COMPETENCY</button>
754
                           </div>
832
                           </div>
755
                        </div>
833
                        </div>
756
                        <div class="row">
834
                        <div class="row" >
757
                            <br>
835
                           <br>
758
                           <div class="col-md-12 col-sm-12 col-xs-12" id="competencies-job" style="    margin-top: 10px;">
836
                           <div class="col-md-12 col-sm-12 col-xs-12" id="competencies-job" style="margin-top: 10px;">
759
 
-
 
760
                           </div>
837
                           </div>
761
                        </div>
838
                        </div>
762
                     </div>
839
                     </div>
763
                     <div class="tab-pane fade" id="custom-tabs-subordinates" role="tabpanel" aria-labelledby="custom-tabs-subordinates-tab">
840
                     <div class="tab-pane fade" id="custom-tabs-dependent" role="tabpanel" aria-labelledby="custom-tabs-dependent-tab">
-
 
841
                        <div class="row">
-
 
842
                           <div class="col-md-8 col-sm-8 col-xs-12">
-
 
843
                              <select name="select-dependent" id="select-dependent" class="form-control">
-
 
844
                              </select>
-
 
845
                           </div>
-
 
846
                           <div class="col-md-4 col-sm-4 col-xs-12">
-
 
847
                              <button type="button" class="btn btn-primary" id="btn-select-dependent" data-toggle="tooltip" title="LABEL_ADD ">LABEL_ADD </button>
-
 
848
                           </div>
-
 
849
                        </div>
-
 
850
                        <div class="row" >
-
 
851
                           <div class="col-md-12 col-sm-12 col-xs-12"  style="margin-top: 10px;">
764
                        <table class="table table-hover"  id="tableSubordinates">
852
                              <table class="table table-bordered">
765
                           <thead>
853
                                 <thead>
766
                              <tr>
854
                                    <tr>
767
                                 <th>LABEL_SUBORDINATE</th>
855
                                       <th style="width: 60%;">LABEL_NAME</th>
-
 
856
                                       <th style="width: 20%;">LABEL_ACTIONS</th>
768
                              </tr>
857
                                    </tr>
769
                           </thead>
858
                                 </thead>
-
 
859
                                 <tbody id="dependent"></tbody>
770
                           <tbody>
860
                              </table>
771
                           </tbody>
861
                           </div>
772
                        </table>
862
                        </div>
773
                     </div>
863
                     </div>
774
                  </div>
864
                  </div>
775
               </div>
865
               </div>
776
               <?php echo $this->form()->closeTag($form); ?>	
-
 
777
               <!-- /.card -->
-
 
778
            </div>
866
            </div>
779
         </div>
-
 
780
         <!-- Modal footer -->
867
            <?php echo $this->form()->closeTag($form); ?>	
781
         <div class="modal-footer">
868
            <!-- /.card -->
782
            <button type="submit" form="form" class="btn btn-primary">LABEL_SAVE</button>
-
 
783
            <button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
-
 
784
         </div>
869
         </div>
785
      </div>
870
      </div>
-
 
871
      <!-- Modal footer -->
-
 
872
      <div class="modal-footer">
-
 
873
         <button type="submit" form="form" class="btn btn-primary">LABEL_SAVE</button>
-
 
874
         <button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
-
 
875
      </div>
786
   </div>
876
   </div>
787
</div>	
877
</div>
Línea 788... Línea 878...
788
 
878
 
789
<!--start modal behavior-->
879
<!--start modal behavior-->
790
<div  id="modal-behavior" class="modal" tabindex="-1" role="dialog">
880
<div  id="modal-behavior" class="modal" tabindex="-1" role="dialog">
791
   <div class="modal-dialog modal-lg" role="document">
881
   <div class="modal-dialog modal-lg" role="document">
Línea 883... Línea 973...
883
         </div>
973
         </div>
884
      </div>
974
      </div>
885
   </div>
975
   </div>
886
</div>
976
</div>
887
   </script>
977
   </script>
-
 
978
 
-
 
979
 
-
 
980
   <script id="sectionJob" type="text/x-jsrender">
-
 
981
   <tr>
-
 
982
       <td class="text-left">{{:name}}</td>   
-
 
983
       <td>
-
 
984
         
-
 
985
           <button class="btn btn-default btn-delete-dependent" data-dependent="{{:job_description_id}}" data-toggle="tooltip"  data-original-title="LABEL_DELETE"><i class="fa fa-ban" aria-hidden="true"></i> LABEL_DELETE</button>   
-
 
986
       </td>
-
 
987
   </tr>
-
 
988
    </script>
-
 
989
 
888
   <!-- End Template Competencies-->
990
   <!-- End Template Competencies-->