diff --git a/competency_iena_competencies_api.php b/competency_iena_competencies_api.php index d5b122c5140e9972ebf641f180b7c3246fd4268e..6423b9becc46e2fef955655b7f02d1eab3a09d07 100644 --- a/competency_iena_competencies_api.php +++ b/competency_iena_competencies_api.php @@ -69,18 +69,18 @@ } - else if (isset($_POST["addactivity"])) { - $value = $_POST["addactivity"]; + else if (isset($_POST["addactivities"])) { + $value = $_POST["addactivities"]; //return var_dump($value); $resultInsert=""; $errorInsert=false; - /*$refI = new block_competency_iena_referentiel(); + $moduleI = new block_competency_iena_module(); - foreach($value[0] as $compid){ - $is_insert = $refI->add_competency_in_course($compid, $value[1]); + foreach($value[0] as $activityid){ + $is_insert = $refI->add_matrix_module($activityid, $value[1]); if (!$is_insert) { - $resultInsert.=" ".$compid.","; + $resultInsert.=" ".$activityid.","; $errorInsert=true; } @@ -90,9 +90,7 @@ } else{ echo get_string('error_insert', 'block_competency_iena').$resultInsert; - }*/ - echo "hello"; - + } } // updateTextRef diff --git a/entity/block_competency_iena_module.php b/entity/block_competency_iena_module.php index f4b1abec6a2324535f9a599e851dd4cbe841ac5a..07c10a61b2136a592f1677dbb044656eabd8366f 100644 --- a/entity/block_competency_iena_module.php +++ b/entity/block_competency_iena_module.php @@ -161,7 +161,7 @@ class block_competency_iena_module { return $requete; } - public function add_matrix_modules($cmid, $sectionid){ + public function add_matrix_module($cmid, $sectionid){ global $DB; $record = new stdClass(); $record->cmid=$cmid; @@ -170,7 +170,7 @@ class block_competency_iena_module { return $request; } - public function delete_matrix_modules($cmid, $sectionid){ + public function delete_matrix_module($cmid, $sectionid){ global $DB; $request = $DB->delete_records('block_competency_iena', array('cmid' => $cmid, 'sectionid' => $sectionid)); return $request; diff --git a/js/matrix.js b/js/matrix.js index 72c5ab35adb326b18e5ff3081fce04b68718c85d..ee60ff6a5a28a3883f320ef6ec55174d8146a049 100644 --- a/js/matrix.js +++ b/js/matrix.js @@ -35,7 +35,7 @@ jQuery(document).ready(function($){ }); - function treed(o){ + function treed(o, treeid){ var openedClass = 'glyphicon-minus-sign'; var closedClass = 'glyphicon-plus-sign'; @@ -48,7 +48,7 @@ jQuery(document).ready(function($){ } }; //initialize each of the top levels - var tree = $('#tree3'); + var tree = $('#'+treeid); tree.addClass("tree"); tree.find('li').has("ul").each(function () { var branch = $(this); //li with children ul @@ -86,7 +86,8 @@ jQuery(document).ready(function($){ } -treed({openedClass:'fa-caret-down', closedClass:'fa-caret-right'}); +treed({openedClass:'fa-caret-down', closedClass:'fa-caret-right'}, 'tree3'); +treed({openedClass:'fa-caret-down', closedClass:'fa-caret-right'}, 'tree-activities'); }); @@ -152,20 +153,20 @@ function addCompetencies(url, idcourse){ function addActivities(url, idcourse){ //var idcomp = $('#id-comp-iena').val(); - var arrayComp=[]; - var comp = $('#tree3').find('.iena-checkbox-cpt:checked'); - for(var i=0; i<comp.length;i++){ - arrayComp.push(comp[i].value); + var arrayActivities=[]; + var activities = $('#tree-activities').find('.iena-checkbox-activities:checked'); + for(var i=0; i<activities.length;i++){ + arrayActivities.push(activities[i].value); } var value = []; - value[0]=arrayComp; + value[0]=arrayActivities; value[1] = idcourse; $.ajax({ url: url, type: 'POST', timeout: 10000, contentType: 'application/x-www-form-urlencoded', - data: {addcomp:value}, + data: {addactivities:value}, success: function(result) { if (result.trim() == "true"){ location.reload(); @@ -338,21 +339,54 @@ function selectCompetency(obj){ } } - var count=countSelectedCompetencies(); + var count=countSelectedObjects('competencies'); if(count==0){ - $('#btn-comp-iena').attr('disabled'); + $('#btn-comp-iena').prop('disabled', true);; } $("#iena-counter-cpt").html(count); } -//Sélectionne/déselectionne une compétence et ses enfants +//Sélectionne/déselectionne une activité et ses enfants function selectActivity(obj){ console.log("on select une co"); + $('#btn-activities-iena').removeAttr('disabled'); + box = $(obj); + if(box.is(':checked')){ + children=$(obj).parent().find('.iena-checkbox-activities'); + if(children.length>0){ + for(var i=0; i<children.length; i++){ + children.prop('checked', true); + } + + } + } + else if(!box.is(':checked')){ + children=$(obj).parent().find('.iena-checkbox-activities'); + if(children.length>0){ + for(var i=0; i<children.length; i++){ + children.prop('checked', false); + } + + } + } + var count=countSelectedObjects('activities'); + if(count==0){ + $('#btn-activities-iena').prop('disabled', true);; + } + $("#iena-counter-activities").html(count); } //Compte le nombre de compétences sélectionnées -function countSelectedCompetencies(){ - return $('#tree3').find('.iena-checkbox-cpt:checked').length; +function countSelectedObjects(object){ + if(object=='competencies'){ + return $('#tree3').find('.iena-checkbox-cpt:checked').length; + } + else{ + return $('#tree-activities').find('.iena-checkbox-cpt:checked').length; + } + } + + diff --git a/lang/en/block_competency_iena.php b/lang/en/block_competency_iena.php index 05cf22046cccfe10522082b1af1497b670841014..0826b23c93146fd59f36361306c96ff9bb8df7de 100644 --- a/lang/en/block_competency_iena.php +++ b/lang/en/block_competency_iena.php @@ -82,4 +82,5 @@ $string['activities_placeholder']="Filter activities/resources"; $string['count_activities']=" activities/resources selected"; $string['add_activities']="Add activities/resources"; + $string['select_act'] = 'Activites selector; ?> \ No newline at end of file diff --git a/lang/fr/block_competency_iena.php b/lang/fr/block_competency_iena.php index 59f78f3f66fbd1099f2042f9275c1781876b9f89..4a103cda3221c264324038353338759c29b15cf2 100644 --- a/lang/fr/block_competency_iena.php +++ b/lang/fr/block_competency_iena.php @@ -81,6 +81,7 @@ $string['activities_placeholder']="Filter les activités/ressources du cours"; $string['count_activities']=" activité(s)/ressource(s) sélectionnée(s)"; $string['add_activities']="Ajouter les activités/ressources"; + $string['select_act'] = 'Sélecteur d\'activités; diff --git a/styles.css b/styles.css index ba9ec96ff4fc4fa6492fd0b39b2783966f016f0a..8aba9b96291e2af367619cbb6b994509c0784374 100644 --- a/styles.css +++ b/styles.css @@ -157,12 +157,14 @@ margin-bottom: 0px !important; } -.fram-iena .iena-checkbox-cpt{ +.fram-iena .iena-checkbox-cpt, +.iena-cpt-sel-tree .iena-checkbox-activities{ margin-right: 5px; vertical-align: middle; } -.fram-iena a{ +.fram-iena a, +.activity-iena a{ vertical-align: middle; display: inline-block; cursor: pointer; diff --git a/templates/modal_activities.mustache b/templates/modal_activities.mustache index b07241fd130576c5127327ca6d0e79c4d931a36d..3e9562916dc661c7eb41d1a3703399fe779d4a80 100644 --- a/templates/modal_activities.mustache +++ b/templates/modal_activities.mustache @@ -4,7 +4,7 @@ <!-- Modal content--> <div class="modal-content"> <div class="modal-header"> - <h4 class="modal-title">{{# str }}select_comp,block_competency_iena{{/str}}</h4> + <h4 class="modal-title">{{# str }}select_act,block_competency_iena{{/str}}</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> </div> <div class="modal-body"> @@ -16,14 +16,14 @@ <input placeholder='{{#str}}activities_placeholder, block_competency_iena{{/str}}' type='text' id='filter-iena-activities' class='form-control mb-3'> <div class="well well-lg iena-cpt-sel-tree mb-3"> - <ul id='tree3'> - <li class=''> + <ul id='tree-activities'> + <li class='activity-iena '> {{#sections}} - <li class="section-{{id}}"> + <li class="activity-iena section-{{id}}"> <input class="iena-checkbox-activities" onclick="selectActivity(this, 'section')" type="checkbox" id="{{name}}" value="{{id}}"><a>{{name}}</a> <ul> {{#modules}} - <li> + <li class="activity-iena"> <input class="iena-checkbox-activities" onclick="selectActivity(this, 'activity')" type="checkbox" id="{{name}}" value="{{id}}"><a>{{name}}</a> </li> {{/modules}} @@ -37,9 +37,9 @@ </div> <div class="iena-footer-cpt"> <div class="iena-text-counter"> - <span id="iena-counter-cpt">0</span> {{#str}} count_activities, block_competency_iena {{/str}} + <span id="iena-counter-activities">0</span> {{#str}} count_activities, block_competency_iena {{/str}} </div> - <button id='btn-comp-iena' disabled='disabled' onclick="addActivities('{{update_activities_link}}', '{{courseid}}')" type="button" class="btn btn-success btn-block mb-3">{{# str }}add_activities, block_competency_iena{{/ str }}</button> + <button id='btn-activities-iena' disabled='disabled' onclick="addActivities('{{update_activities_link}}', '{{courseid}}')" type="button" class="btn btn-success btn-block mb-3">{{# str }}add_activities, block_competency_iena{{/ str }}</button> </div> </div>