Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 16822 | Rev 16842 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3896 stevensc 1
<?php
1 www 2
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
3
$currentUser    = $this->currentUserHelper();
4
 
5
$roleName = $currentUser->getUserTypeId();
6
 
7
 
15443 efrain 8
$routeAdd       = $this->url('jobs-description/competencies/add');
9
$routeDatatable = $this->url('jobs-description/competencies');
10
$routeImport    = $this->url('jobs-description/competencies/import');
1107 geraldo 11
 
15443 efrain 12
$allowAdd       = $acl->isAllowed($roleName, 'jobs-description/competencies/add') ? 1 : 0;
13
$allowEdit      = $acl->isAllowed($roleName, 'jobs-description/competencies/edit') ? 1 : 0;
14
$allowDelete    = $acl->isAllowed($roleName, 'jobs-description/competencies/delete') ? 1 : 0;
15
$allowImport    = $acl->isAllowed($roleName, 'jobs-description/competencies/import') ? 1 : 0;
1 www 16
 
17
 
16822 efrain 18
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/nprogress/nprogress.css'));
19
$this->inlineScript()->appendFile($this->basePath('assets/vendors/nprogress/nprogress.js'));
1 www 20
 
16822 efrain 21
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-maxlenght/bootstrap-maxlength.min.js'));
1 www 22
 
23
 
16822 efrain 24
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jquery-validation/jquery.validate.js'));
25
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jquery-validation/additional-methods.js'));
26
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jquery-validation/localization/messages_es.js'));
1 www 27
 
16822 efrain 28
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.css'));
29
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.css'));
1 www 30
 
16822 efrain 31
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net/jquery.dataTables.js'));
32
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.js'));
33
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/dataTables.responsive.min.js'));
34
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.min.js'));
1 www 35
 
36
 
16822 efrain 37
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));
38
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));
1 www 39
 
40
 
41
 
42
 
16822 efrain 43
$this->inlineScript()->appendFile($this->basePath('assets/vendors/select2/js/select2.js'));
44
$this->inlineScript()->appendFile($this->basePath('assets/vendors/select2/js/i18n/es.js'));
45
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/select2/css/select2.css'));
46
 
47
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/select2-bootstrap4-theme/select2-bootstrap4.css'));
48
 
874 geraldo 49
// JsRender //
16822 efrain 50
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jsrender/jsrender.min.js'));
1 www 51
 
883 geraldo 52
// bootbox Alert //
1 www 53
 
883 geraldo 54
 
16822 efrain 55
 
1 www 56
$status_active = \LeadersLinked\Model\Competency::STATUS_ACTIVE;
57
 
58
$this->inlineScript()->captureStart();
59
echo <<<JS
877 geraldo 60
jQuery(document).ready(function($) {
14989 efrain 61
    var allowEdit = $allowEdit;
62
    var allowDelete = $allowDelete;
63
 
863 geraldo 64
    $.validator.setDefaults({
65
        debug: true,
66
        highlight: function(element) {
67
            $(element).addClass('is-invalid');
68
        },
69
        unhighlight: function(element) {
70
            $(element).removeClass('is-invalid');
71
        },
72
        errorElement: 'span',
73
        errorClass: 'error invalid-feedback',
14989 efrain 74
            errorPlacement: function(error, element) {
75
                if(element.parent('.form-group').length) {
76
                    error.insertAfter(element);
77
                } else if(element.parent('.toggle').length) {
78
                    error.insertAfter(element.parent().parent());
79
                } else {
80
                    error.insertAfter(element.parent());
81
                }
863 geraldo 82
            }
83
    });
14989 efrain 84
 
863 geraldo 85
    $.fn.showFormErrorValidator = function(fieldname, errors) {
86
        var field = $(fieldname);
87
        if (field) {
88
            $(field).addClass('is-invalid');
89
            var error = $('<span id="' + fieldname + '-error" class="error invalid-feedback">' + errors + '</div>');
14989 efrain 90
                if(field.parent('.form-group').length) {
91
                    error.insertAfter(field);
92
                } else  if(field.parent('.toggle').length) {
93
                    error.insertAfter(field.parent().parent());
94
                } else {
95
                    error.insertAfter(field.parent());
96
                }
863 geraldo 97
        }
98
    };
14989 efrain 99
 
863 geraldo 100
    var gridTable = $('#gridTable').dataTable({
101
        'processing': true,
102
        'serverSide': true,
103
        'searching': true,
104
        'order': [
105
            [0, 'asc']
106
        ],
107
        'ordering': true,
108
        'ordenable': true,
109
        'responsive': true,
110
        'select': false,
111
        'paging': true,
112
        'pagingType': 'simple_numbers',
113
        'ajax': {
114
            'url': '$routeDatatable',
115
            'type': 'get',
116
            'beforeSend': function(request) {
117
                NProgress.start();
1 www 118
            },
863 geraldo 119
            'dataFilter': function(response) {
120
                var response = jQuery.parseJSON(response);
121
                var json = {};
122
                json.recordsTotal = 0;
123
                json.recordsFiltered = 0;
124
                json.data = [];
125
                if (response.success) {
126
                    json.recordsTotal = response.data.total;
127
                    json.recordsFiltered = response.data.total;
128
                    json.data = response.data.items;
1 www 129
                } else {
863 geraldo 130
                    $.fn.showError(response.data)
1 www 131
                }
863 geraldo 132
                return JSON.stringify(json);
1 www 133
            }
863 geraldo 134
        },
135
        'language': {
136
            'sProcessing': 'LABEL_DATATABLE_SPROCESSING',
137
            'sLengthMenu': 'LABEL_DATATABLE_SLENGTHMENU',
138
            'sZeroRecords': 'LABEL_DATATABLE_SZERORECORDS',
139
            'sEmptyTable': 'LABEL_DATATABLE_SEMPTYTABLE',
140
            'sInfo': 'LABEL_DATATABLE_SINFO',
141
            'sInfoEmpty': 'LABEL_DATATABLE_SINFOEMPTY',
142
            'sInfoFiltered': 'LABEL_DATATABLE_SINFOFILTERED',
143
            'sInfoPostFix': '',
144
            'sSearch': 'LABEL_DATATABLE_SSEARCH',
145
            'sUrl': '',
146
            'sInfoThousands': ',',
147
            'sLoadingRecords': 'LABEL_DATATABLE_SLOADINGRECORDS',
148
            'oPaginate': {
149
                'sFirst': 'LABEL_DATATABLE_SFIRST',
150
                'sLast': 'LABEL_DATATABLE_SLAST',
151
                'sNext': 'LABEL_DATATABLE_SNEXT',
152
                'sPrevious': 'LABEL_DATATABLE_SPREVIOUS'
153
            },
154
            'oAria': {
155
                'sSortAscending': ': LABEL_DATATABLE_SSORTASCENDING',
156
                'sSortDescending': ':LABEL_DATATABLE_SSORTDESCENDING'
157
            },
158
        },
4116 stevensc 159
        'drawCallback': function(settings) {
160
            NProgress.done();
16822 efrain 161
 
4116 stevensc 162
        },
863 geraldo 163
        'aoColumns': [{
164
                'mDataProp': 'type'
165
            },
166
            {
167
                'mDataProp': 'name'
168
            },
169
            {
170
                'mDataProp': 'status'
171
            },
172
            {
173
                'mDataProp': 'actions'
174
            },
175
        ],
176
        'columnDefs': [{
177
                'targets': 0,
178
                'className': 'text-vertical-middle',
179
            },
180
            {
181
                'targets': 1,
182
                'className': 'text-vertical-middle',
183
            },
184
            {
185
                'targets': -2,
186
                'orderable': false,
187
                'className': 'text-center',
188
                'render': function(data, type, row) {
16822 efrain 189
                    checked = data == 'a'  ? 'checked' : '';
190
                    return '<div class="form-check">' +
191
                        '<input type="checkbox" class="form-check-input" disabled="" checked="' + checked + '">' +
192
                        '<label class="form-check-label" for="checkCheckedDisabled"></label></div>' ;
1 www 193
                }
194
            },
863 geraldo 195
            {
196
                'targets': -1,
197
                'orderable': false,
198
                'render': function(data, type, row) {
199
                    s = '';
200
                    if (allowEdit) {
201
                        s = s + '<button class="btn btn-primary btn-edit" data-href="' + data['link_edit'] + '" data-toggle="tooltip" title="LABEL_EDIT"><i class="fa fa-pencil"></i> LABEL_EDIT </button>&nbsp;';
1 www 202
                    }
863 geraldo 203
                    if (allowDelete) {
16822 efrain 204
                        s = s + '<button class="btn btn-danger btn-delete" data-href="' + data['link_delete'] + '" data-toggle="tooltip" title="LABEL_DELETE"><i class="fa fa-trash"></i> LABEL_DELETE </button>&nbsp;';
1 www 205
                    }
863 geraldo 206
                    return s;
1 www 207
                }
863 geraldo 208
            }
209
        ],
210
    });
14989 efrain 211
 
863 geraldo 212
    var validator = $('#form').validate({
213
        debug: true,
214
        onclick: false,
215
        onkeyup: false,
216
        ignore: [],
217
        rules: {
218
            'competency_type_id': {
219
                required: true,
220
            },
221
            'name': {
222
                required: true,
223
                maxlength: 128,
224
            },
225
            'description': {
15443 efrain 226
                maxlength: 512,
863 geraldo 227
                required: true,
1 www 228
            },
863 geraldo 229
            'status': {
230
                required: false,
1 www 231
            },
14989 efrain 232
 
863 geraldo 233
        },
234
        submitHandler: function(form) {
14989 efrain 235
            if ($('input[type="hidden"].behavior_id').length == 0) {
236
                $.fn.showError('ERROR_NOT_OBSERVABLE_BEHAVIOR');
15394 efrain 237
                return false;
238
            }
891 geraldo 239
                $.ajax({
893 geraldo 240
                    'dataType': 'json',
241
                    'accept': 'application/json',
242
                    'method': 'post',
243
                    'url': $('#form').attr('action'),
14989 efrain 244
                    'data': $('#form').serialize(),
893 geraldo 245
                }).done(function(response) {
246
                    NProgress.start();
247
                    if (response['success']) {
248
                        $.fn.showSuccess(response['data']);
249
                        $('#row-form').hide();
250
                        $('#row-list').show();
251
                        gridTable.api().ajax.reload(null, false);
863 geraldo 252
                    } else {
893 geraldo 253
                        validator.resetForm();
254
                        if (jQuery.type(response['data']) == 'string') {
255
                            $.fn.showError(response['data']);
256
                        } else {
257
                            $.each(response['data'], function(fieldname, errors) {
258
                                $.fn.showFormErrorValidator('#form #' + fieldname, errors);
259
                            });
260
                        }
863 geraldo 261
                    }
893 geraldo 262
                }).fail(function(jqXHR, textStatus, errorThrown) {
263
                    $.fn.showError(textStatus);
264
                }).always(function() {
265
                    NProgress.done();
266
                });
15394 efrain 267
 
268
 
863 geraldo 269
        },
270
        invalidHandler: function(form, validator) {}
271
    });
14989 efrain 272
 
863 geraldo 273
    $('body').on('click', 'button.btn-add', function(e) {
274
        e.preventDefault();
14989 efrain 275
        NProgress.start();
276
 
277
 
278
        $.ajax({
279
            'dataType': 'json',
280
            'method': 'get',
281
            'url': '$routeAdd',
282
        }).done(function(response) {
283
            if (response['success']) {
284
 
285
                $('#table-behaviors tbody').empty();
286
 
287
                $('#select-behavior').children().not(':first').remove();
288
                $.each(response['data']['behaviors'], function(index, element) {
289
                    $('#select-behavior').append($('<option>', {
290
                        value: element.id,
291
                        text: element.description
292
                    }));
293
                });
294
 
295
 
16840 efrain 296
 
14989 efrain 297
                $('#form').attr('action', '$routeAdd');
298
                $('#form #name').val('');
299
                $('#form #competency_type_id').val('').trigger('change');
300
                $('#form #status').bootstrapToggle('on');
15443 efrain 301
                 $('#form #description').val('');
14989 efrain 302
 
303
                validator.resetForm();
304
 
305
                $('#row-form').show();
306
                $('#row-list').hide();
307
            } else {
308
                $.fn.showError(response['data']);
309
            }
310
        }).fail(function(jqXHR, textStatus, errorThrown) {
311
            $.fn.showError(textStatus);
312
        }).always(function() {
313
            NProgress.done();
314
        });
315
 
316
 
317
 
318
 
863 geraldo 319
        return false;
320
    });
14989 efrain 321
 
863 geraldo 322
    $('body').on('click', 'button.btn-edit', function(e) {
323
        e.preventDefault();
16822 efrain 324
 
863 geraldo 325
        NProgress.start();
326
        var action = $(this).data('href');
327
        $.ajax({
328
            'dataType': 'json',
329
            'method': 'get',
330
            'url': action,
331
        }).done(function(response) {
14289 kerby 332
            console.log(response)
863 geraldo 333
            if (response['success']) {
16840 efrain 334
 
863 geraldo 335
                $('#form').attr('action', action);
336
                $('#form #name').val(response['data']['name']);
337
                $('#form #competency_type_id').val(response['data']['competency_type_id']).trigger('change');
338
                $('#form #status').bootstrapToggle(response['data']['status'] == '$status_active' ? 'on' : 'off')
15443 efrain 339
                $('#form #description').val(response['data']['description']);
14989 efrain 340
 
341
 
342
                $('input[type="hidden"].behavior').remove();
343
                $('#select-behavior').children().not(':first').remove();
344
 
345
 
346
                $('#table-behaviors tbody').empty();
347
 
348
                $.each(response['data']['behaviors'], function(index, element) {
349
                    $('#select-behavior').append($('<option>', {
350
                        value: element.id,
351
                        text: element.description
352
                    }));
353
 
354
                    if(element.checked ) {
355
                        let data = {
356
                            id : element.id,
357
                            description : element.description,
358
                        };
359
 
360
                        $('#table-behaviors tbody').append(
361
                            $('#trBehaviorTemplate').render( data )
362
                        );
363
 
364
 
365
                    }
366
                 });
367
 
368
 
369
 
370
 
863 geraldo 371
                validator.resetForm();
866 geraldo 372
                $('#row-form').show();
873 geraldo 373
                $('#row-list').hide();
863 geraldo 374
            } else {
375
                $.fn.showError(response['data']);
376
            }
377
        }).fail(function(jqXHR, textStatus, errorThrown) {
378
            $.fn.showError(textStatus);
379
        }).always(function() {
380
            NProgress.done();
28 efrain 381
        });
863 geraldo 382
        return false;
383
    });
14989 efrain 384
 
863 geraldo 385
    $('body').on('click', 'button.btn-refresh', function(e) {
386
        e.preventDefault();
387
        gridTable.api().ajax.reload(null, false);
388
        return false;
389
    });
14989 efrain 390
 
16822 efrain 391
    $('body').on('click', 'button.btn-delete', function(e) {
392
        e.preventDefault();
393
        var action = $(this).data('href');
394
 
395
 
396
          swal.fire({
397
            title: 'LABEL_ARE_YOU_SURE',
398
            icon: 'question',
399
            cancelButtonText: 'LABEL_NO',
400
            showCancelButton: true,
401
            confirmButtonText: 'LABEL_YES'
402
          }).then((result) => {
403
            if (result.isConfirmed) {
404
 
405
                    NProgress.start();
406
                    $.ajax({
407
                        'dataType'  : 'json',
408
                        'accept'    : 'application/json',
409
                        'method'    : 'post',
410
                        'url'       :  action,
411
                    }).done(function(response) {
412
                        if(response['success']) {
413
                            $.fn.showSuccess(response['data']);
414
                            gridTable.api().ajax.reload(null, false);
415
                        } else {
416
                            $.fn.showError(response['data']);
417
                        }
418
                    }).fail(function( jqXHR, textStatus, errorThrown) {
419
                        $.fn.showError(textStatus);
420
                    }).always(function() {
421
                        NProgress.done();
422
                    });
423
            }
424
       });
425
    });
426
 
427
 
863 geraldo 428
    $('body').on('click', 'button.btn-import', function(e) {
429
        e.preventDefault();
430
        NProgress.start();
431
        $.ajax({
432
            'dataType': 'json',
433
            'method': 'post',
434
            'url': '$routeImport',
435
        }).done(function(response) {
436
            if (response['success']) {
437
                $.fn.showSuccess(response['data']);
438
                gridTable.api().ajax.reload(null, false);
439
            } else {
440
                $.fn.showError(response['data']);
441
            }
442
        }).fail(function(jqXHR, textStatus, errorThrown) {
443
            $.fn.showError(textStatus);
444
        }).always(function() {
445
            NProgress.done();
1 www 446
        });
863 geraldo 447
        return false;
448
    });
14989 efrain 449
 
863 geraldo 450
    $('body').on('click', 'button.btn-cancel', function(e) {
451
        e.preventDefault();
14989 efrain 452
        $('#row-form').hide();
453
        $('#row-list').show();
863 geraldo 454
    });
14989 efrain 455
 
863 geraldo 456
    $('#form #competency_type_id').select2({
457
        theme: 'bootstrap4',
458
        width: '100%',
459
    });
1226 geraldo 460
 
14989 efrain 461
    $('#select-behavior').select2({
1226 geraldo 462
        theme: 'bootstrap4',
463
        width: '100%',
464
    });
465
 
863 geraldo 466
    $('#form #status').bootstrapToggle({
467
        'on': 'LABEL_ACTIVE',
468
        'off': 'LABEL_INACTIVE',
469
        'width': '160px',
470
        'height': '40px'
471
    });
15443 efrain 472
 
473
    $('#form #description').maxlength({
474
        alwaysShow: true,
475
        validate: true
3842 stevensc 476
    });
14989 efrain 477
 
478
 
15443 efrain 479
 
14989 efrain 480
    $('body').on('click', 'button.btn-remove-behavior', function(e) {
862 geraldo 481
        e.preventDefault();
14989 efrain 482
 
483
        var key = '#tr_behavior_id_' + $(this).data('id');
484
        var element = $(key);
485
        if(element) {
486
            $(element).remove();
487
        }
488
 
489
        return false;
490
 
862 geraldo 491
    });
14989 efrain 492
 
493
    $('#btn-select-behavior').click(function(e) {
494
        e.preventDefault();
495
 
496
        var id  = $('#select-behavior option:selected').val();
15036 stevensc 497
 
14989 efrain 498
        if(!id) {
499
            return false;
863 geraldo 500
        }
14989 efrain 501
 
502
        var description = $('#select-behavior option:selected').text();
503
        var key         = '#tr_behavior_id_' + id ;
504
 
505
        console.log("key = "  + key);
506
        var element     = $(key);
507
 
508
 
509
        console.log(element);
510
        if(element.length > 0) {
511
 
512
            $.fn.showError( 'ERROR_BEHAVIOR_WAS_PREVIOUSLY_ADDED');
513
            return false;
514
        }
515
 
516
        let data = {
517
            id : id,
518
            description : description,
519
        };
520
 
521
        $('#table-behaviors tbody').append(
522
            $('#trBehaviorTemplate').render( data )
523
        );
524
 
525
        return false;
526
 
527
 
528
 
862 geraldo 529
    });
14989 efrain 530
 
531
 
532
 
873 geraldo 533
    $('button.btn-edit-cancel').click(function(e) {
534
        e.preventDefault();
535
        $('#row-form').hide();
536
        $('#row-list').show();
537
    });
14989 efrain 538
 
539
 
540
 
541
 
863 geraldo 542
});
1115 geraldo 543
 
1 www 544
JS;
545
$this->inlineScript()->captureEnd();
546
?>
3896 stevensc 547
 
16822 efrain 548
 
549
<div class="container">
550
        <div class="row" " id="row-list">
3896 stevensc 551
            <div class="col-12">
552
                <div class="card">
16822 efrain 553
                	<h6 class="card-title">LABEL_COMPETENCIES</h6>
3896 stevensc 554
                    <div class="card-body">
555
                        <table id="gridTable" class="table   table-hover">
556
                            <thead>
557
                                <tr>
558
                                    <th>LABEL_TYPE</th>
559
                                    <th>LABEL_NAME</th>
560
                                    <th>LABEL_ACTIVE</th>
561
                                    <th>LABEL_ACTIONS</th>
562
                                </tr>
563
                            </thead>
564
                            <tbody>
565
                            </tbody>
566
                        </table>
567
                    </div>
568
                    <div class="card-footer clearfix">
569
                        <div style="float:right;">
570
                            <button type="button" class="btn btn-info btn-refresh"><i class="fa fa-refresh"></i> LABEL_REFRESH </button>
571
                            <?php if ($allowImport) : ?>
572
                                <button type="button" class="btn btn-primary btn-import"><i class="fa fa-upload"></i> LABEL_IMPORT </button>
573
                            <?php endif; ?>
574
                            <?php if ($allowAdd) : ?>
575
                                <button type="button" class="btn btn-primary btn-add"><i class="fa fa-plus"></i> LABEL_ADD </button>
576
                            <?php endif; ?>
577
                        </div>
578
                    </div>
579
                </div>
890 geraldo 580
            </div>
3896 stevensc 581
        </div>
14989 efrain 582
 
16822 efrain 583
        <div class="row"  id="row-form" style="display: none">
3896 stevensc 584
            <div class="col-md-12 col-sm-12 col-12">
585
                <div class="panel">
586
                    <div class="panel-body">
1110 geraldo 587
                        <?php
3896 stevensc 588
                        $form = $this->form;
589
                        $form->setAttributes([
590
                            'method'    => 'post',
591
                            'name'      => 'form',
592
                            'id'        => 'form'
593
                        ]);
594
 
595
                        $form->prepare();
596
                        echo $this->form()->openTag($form);
597
                        ?>
1111 geraldo 598
                        <div class="row">
3896 stevensc 599
                            <div class="col-md-4 col-sm-12 col-12">
600
                                <div class="from-group">
601
                                    <?php
602
                                    $element = $form->get('competency_type_id');
603
                                    $element->setOptions(['label' => 'LABEL_TYPE']);
604
 
605
                                    echo $this->formLabel($element);
606
                                    echo $this->formSelect($element);
607
                                    ?>
608
                                </div>
609
                            </div>
610
                            <div class="col-md-4 col-sm-12 col-12">
611
                                <div class="from-group">
612
                                    <?php
613
                                    $element = $form->get('name');
614
                                    $element->setOptions(['label' => 'LABEL_NAME']);
615
                                    $element->setAttributes(['class' => 'form-control']);
616
 
617
                                    echo $this->formLabel($element);
618
                                    echo $this->formText($element);
619
                                    ?>
620
                                </div>
621
                            </div>
622
                            <div class="col-md-4 col-sm-12 col-12">
623
                                <div class="from-group">
624
                                    <label>LABEL_STATUS</label>
625
                                    <br />
626
                                    <?php
627
                                    $element = $form->get('status');
628
                                    $element->setOptions(['label' => 'LABEL_STATUS']);
629
                                    // echo $this->formLabel($element);
630
                                    echo $this->formCheckbox($element);
631
                                    ?>
632
                                </div>
633
                            </div>
634
                            <div class="col-md-12 col-sm-12 col-12">
635
                                <div class="form-group">
636
                                    <?php
637
                                    $element = $form->get('description');
638
                                    $element->setOptions(['label' => 'LABEL_DESCRIPTION']);
639
                                    $element->setAttributes(['class' => 'form-control']);
640
 
641
                                    echo $this->formLabel($element);
642
                                    echo $this->formTextArea($element);
643
                                    ?>
644
                                </div>
645
                            </div>
14989 efrain 646
 
3896 stevensc 647
                            <div class="col-md-12 col-sm-12 col-12">
648
                                <div class="form-group">
649
                                    <div class="row">
14989 efrain 650
                                        <div class="col-md-8 col-sm-8 col-xs-12">
651
                                            <select name="select-behavior" id="select-behavior" >
15036 stevensc 652
                                           		<option value="">LABEL_SELECT</option>
3896 stevensc 653
                                            </select>
654
                                        </div>
655
                                        <div class="col-md-4 col-sm-4 col-xs-12">
14989 efrain 656
                                            <button type="button" class="btn btn-primary" id="btn-select-behavior" data-toggle="tooltip" title="LABEL_ADD LABEL_BEHAVIOR">LABEL_ADD LABEL_BEHAVIOR</button>
3896 stevensc 657
                                        </div>
658
                                    </div>
659
                                </div>
660
                            </div>
1111 geraldo 661
                        </div>
3896 stevensc 662
                        <div class="col-xs-12 col-md-12">
663
                            <br />
664
                            <div class="table-responsive">
14989 efrain 665
                                <table id="table-behaviors" class="table table-bordered">
3896 stevensc 666
                                    <thead>
667
                                        <tr>
668
                                            <th style="width: 60%;">LABEL_DESCRIPTION</th>
669
                                            <th style="width: 20%;">LABEL_ACTIONS</th>
670
                                        </tr>
671
                                    </thead>
14989 efrain 672
                                    <tbody >
673
                                    </tbody>
3896 stevensc 674
                                </table>
675
                            </div>
14989 efrain 676
                            <div class="col-xs-12 col-md-12 text-right">
677
 
3896 stevensc 678
                                    <button type="submit" form="form" class="btn btn-primary">LABEL_SAVE</button>
16822 efrain 679
                                    <button type="button" class="btn btn-light btn-edit-cancel">LABEL_CANCEL</button>
14989 efrain 680
 
3896 stevensc 681
                            </div>
682
                        </div>
14989 efrain 683
                         <?php echo $this->form()->closeTag($form); ?>
3896 stevensc 684
                    </div>
685
                </div>
865 geraldo 686
            </div>
3896 stevensc 687
        </div>
16822 efrain 688
</div>
689
 
14989 efrain 690
 
691
<script id="trBehaviorTemplate" type="text/x-jsrender">
692
    <tr id="tr_behavior_id_{{:id}}">
693
 
694
       <td class="text-left">
695
         <input type="hidden" class="behavior_id" name="behavior_id[]" value="{{:id}}" />
696
         {{:description}}
697
       </td>
890 geraldo 698
       <td>
14989 efrain 699
           <button class="btn btn-default btn-remove-behavior" data-id="{{:id}}" data-toggle="tooltip"  data-original-title="LABEL_DELETE"><i class="fa fa-ban" aria-hidden="true"></i> LABEL_DELETE</button>
890 geraldo 700
       </td>
701
   </tr>
702
</script>