Explorar el Código

Show skill info in skill wheel' admin view - refs BT#9583 #7385

Angel Fernando Quiroz Campos hace 10 años
padre
commit
840fa1b9e7

+ 19 - 13
main/admin/skills_wheel.php

@@ -45,21 +45,27 @@ $tpl->assign('url', $url);
 $tpl->assign('isAdministration', true);
 
 $dialogForm = new FormValidator('form', 'post', null, null, ['id' => 'add_item']);
-$dialogForm->addHidden('id', null);
-$dialogForm->addText('name', get_lang('Name'), true, ['id' => 'name']);
-$dialogForm->addText('short_code', get_lang('ShortCode'), false, ['id' => 'short_code']);
-$dialogForm->addSelect('parent_id', get_lang('Parent'), [], ['id' => 'parent_id']);
-$dialogForm->addHtml('<ul id="skill_edit_holder" class="holder holder_simple"></ul>');
-$dialogForm->addHtml('<div id="gradebook_row">');
-$dialogForm->addSelect(
-    'gradebook_id',
+$dialogForm->addLabel(
+    get_lang('Name'),
+    Display::tag('p', null, ['id' => 'name', 'class' => 'form-control-static'])
+);
+$dialogForm->addLabel(
+    get_lang('ShortCode'),
+    Display::tag('p', null, ['id' => 'short_code', 'class' => 'form-control-static'])
+);
+$dialogForm->addLabel(
+    get_lang('Parent'),
+    Display::tag('p', null, ['id' => 'parent', 'class' => 'form-control-static'])
+);
+$dialogForm->addLabel(
     [get_lang('Gradebook'), get_lang('WithCertificate')],
-    [],
-    ['id' => 'gradebook_id']
+    Display::tag('ul', null, ['id' => 'gradebook', 'class' => 'form-control-static list-unstyled'])
 );
-$dialogForm->addHtml('<ul id="gradebook_holder" class="holder holder_simple"></ul>');
-$dialogForm->addHtml('</div>');
-$dialogForm->addTextarea('description', get_lang('Description'), ['id' => 'description', 'rows' => 7]);
+$dialogForm->addLabel(
+    get_lang('Description'),
+    Display::tag('p', null, ['id' => 'description', 'class' => 'form-control-static'])
+);
+
 $tpl->assign('dialogForm', $dialogForm->returnForm());
 
 $saveProfileForm = new FormValidator('form', 'post', null, null, ['id' => 'dialog-form-profile']);

+ 4 - 129
main/template/default/skill/skill_wheel.js.tpl

@@ -3,6 +3,7 @@
 <script>
 
 var SkillWheel = {
+    currentSkill: null,
     getSkillInfo: function(skillId) {
         return $.getJSON(
             '{{ url }}',
@@ -20,6 +21,8 @@ var SkillWheel = {
         var getSkillInfo = SkillWheel.getSkillInfo(skillId);
 
         $.when(getSkillInfo).done(function(skillInfo) {
+            SkillWheel.currentSkill = skillInfo;
+
             var getSkillParentInfo = SkillWheel.getSkillInfo(skillInfo.extra.parent_id);
 
             $.when(getSkillParentInfo).done(function(skillParentInfo) {
@@ -369,134 +372,6 @@ function click_partition(d, path, text, icon, arc, x, y, r, p, vis) {
     });*/
 }
 
-/*
-    Open a popup in order to modify the skill
- */
-function open_popup(skill_id, parent_id) {
-    // Cleaning selects
-    $("#gradebook_id").find('option').remove();
-    $("#parent_id").find('option').remove();
-    //Cleaning lists
-    $("#gradebook_holder").find('li').remove();
-    $("#skill_edit_holder").find('li').remove();
-
-    var skill = false;
-    if (skill_id) {
-        skill = get_skill_info(skill_id);
-    }
-
-    var parent = false;
-    if (parent_id) {
-        parent = get_skill_info(parent_id);
-    }
-
-    if (skill) {
-        var parent_info = get_skill_info(skill.extra.parent_id);
-
-        if ("{{ isAdministration }}") {
-            $('input[name="id"]').val(skill.id);
-            $("#name").val(skill.name);
-            $("#short_code").val(skill.short_code);
-            $("#description").val(skill.description);
-        } else {
-            $("#name").prop('readonly', true).val(skill.name);
-            $("#short_code").prop('readonly', true).val(skill.short_code);
-            $("#description").prop('readonly', true).val(skill.description);
-        }
-
-        // Filling parent_id
-        $("#parent_id").append('<option class="selected" value="'+skill.extra.parent_id+'" selected="selected" >');
-
-        $("#skill_edit_holder").append('<li class="bit-box">'+parent_info.name+'</li>');
-
-        //Filling the gradebook_id
-        jQuery.each(skill.gradebooks, function(index, data) {
-            $("#gradebook_id").append('<option class="selected" value="'+data.id+'" selected="selected" >');
-            $("#gradebook_holder").append('<li id="gradebook_item_'+data.id+'" class="bit-box">'+data.name+' <a rel="'+data.id+'" class="closebutton" href="#"></a> </li>');
-        });
-
-        if ("{{ isAdministration }}") {
-            $("#dialog-form").dialog({
-                buttons: [
-                    {
-                        text: "{{ "Save"|get_lang }}",
-                        class: 'btn btn-primary',
-                        click: function() {
-                            var params = $("#add_item").find(':input').serialize();
-                            add_skill(params);
-                        }
-                    },
-                    {
-                        text: "{{ "CreateChildSkill"|get_lang }}",
-                        class: 'btn btn-primary',
-                        click: function() {
-                            open_popup(0, skill.id);
-                        }
-                    },
-                    {
-                        text: "{{ "AddSkillToProfileSearch"|get_lang }}",
-                        class: 'btn btn-primary',
-                        click: function () {
-                            add_skill_in_profile_list(skill.id, skill.name);
-                        }
-                    }
-                ],
-            });
-        }
-
-        $("#dialog-form").dialog({
-            close: function() {
-                $("#name").attr('value','');
-                $("#description").attr('value', '');
-                if ("{{ isAdministration }}") {
-                    //Redirect to the main root
-                    load_nodes(0, main_depth);
-                }
-            }
-        });
-
-        $("#dialog-form").dialog("open");
-    }
-
-    if (parent) {
-        $('input[name="id"]').attr('value','');
-        $("#name").attr('value', '');
-        $("#short_code").attr('value', '');
-        $("#description").attr('value', '');
-
-        //Filling parent_id
-        $("#parent_id").append('<option class="selected" value="'+parent.id+'" selected="selected" >');
-
-        $("#skill_edit_holder").append('<li class="bit-box">'+parent.name+'</li>');
-
-        //Filling the gradebook_id
-        jQuery.each(parent.gradebooks, function(index, data) {
-            $("#gradebook_id").append('<option class="selected" value="'+data.id+'" selected="selected" >');
-            $("#gradebook_holder").append('<li id="gradebook_item_'+data.id+'" class="bit-box">'+data.name+' <a rel="'+data.id+'" class="closebutton" href="#"></a> </li>');
-        });
-
-        $("#dialog-form").dialog({
-            buttons: [
-                {
-                    text: "{{ "Save"|get_lang }}",
-                    class: 'btn btn-primary',
-                    click: function() {
-                        var params = $("#add_item").find(':input').serialize();
-                        add_skill(params);
-                    }
-                }
-            ],
-            close: function() {
-                $("#name").attr('value', '');
-                $("#description").attr('value', '');
-                   load_nodes(0, main_depth);
-            }
-        });
-        $("#dialog-form").dialog("open");
-    }
-    return false;
-}
-
 /* Handles mouse clicks */
 function handle_mousedown_event(d, path, text, icon, arc, x, y, r, padding, vis) {
     switch (d3.event.which) {
@@ -777,7 +652,7 @@ function load_nodes(load_skill_id, main_depth, extra_parent_id) {
             return "rotate(" + rotate + ")translate(" + (y(d.y) + padding +80) + ")rotate(" + (angle > 90 ? -180 : 0) + ")";
         })
         .on("click", function(d){
-            open_popup(d);
+            SkillWheel.showFormSkill(d.id);
         });
 
         icon_click.append("tspan")

+ 60 - 52
main/template/default/skill/skill_wheel.tpl

@@ -2,17 +2,6 @@
 
 <script>
 
-function add_skill(params) {
-    $.ajax({
-        async: false,
-        url: url+'&a=add&'+params,
-        success:function(my_id) {
-            //Close dialog
-            $("#dialog-form").dialog("close");
-        }
-    });
-}
-
 /* Skill search input in the left menu */
 function check_skills_sidebar() {
     //Selecting only selected skills
@@ -334,40 +323,6 @@ $(document).ready(function() {
         newel: true
     });
 
-    $("#parent_id").fcbkcomplete({
-        json_url: "{{ url }}&a=find_skills",
-        cache: false,
-        filter_case: false,
-        filter_hide: true,
-        complete_text:"{{ 'StartToType' | get_lang }}",
-        firstselected: true,
-        //onremove: "testme",
-        onselect:"check_skills_edit_form",
-        filter_selected: true,
-        newel: true
-    });
-
-    $("#gradebook_id").fcbkcomplete({
-        json_url: "{{ url }}&a=find_gradebooks",
-        cache: false,
-        filter_case: false,
-        filter_hide: true,
-        complete_text:"{{ 'StartToType' | get_lang }}",
-        firstselected: true,
-        //onremove: "testme",
-        onselect:"check_gradebook",
-        filter_selected: true,
-        newel: true
-    });
-
-    //Skill popup (edit, create child... )
-    $("#dialog-form").dialog({
-        autoOpen: false,
-        modal   : true,
-        width   : 900,
-        height  : 630
-    });
-
     //Save search profile dialog
     $("#dialog-form-profile").dialog({
         autoOpen: false,
@@ -441,7 +396,6 @@ $(document).ready(function() {
     }
 
     /* change background color */
-    $(document).ready(function () {
         $("#celestial").click(function () {
             $("#page-back").css("background","#A9E2F3");
         });
@@ -457,7 +411,6 @@ $(document).ready(function() {
         $("#light-yellow").click(function () {
             $("#page-back").css("background","#F7F8E0");
         });
-    });
 
     /* Generated random colour */
     /*
@@ -473,6 +426,36 @@ $(document).ready(function() {
         }
         return d.colour || "#fff";
     }*/
+
+    $('#form-button-edit').on('click', function(e) {
+        e.preventDefault();
+
+        if (SkillWheel.currentSkill === null) {
+            return;
+        }
+
+        window.location.href = "{{ _p.web_main }}admin/skill_edit.php?id=" + SkillWheel.currentSkill.id;
+    });
+
+    $('#form-button-create-child').on('click', function(e) {
+        e.preventDefault();
+
+        if (SkillWheel.currentSkill === null) {
+            return;
+        }
+
+        window.location.href = "{{ _p.web_main }}admin/skill_create.php?parent=" + SkillWheel.currentSkill.id;
+    });
+
+    $('#form-button-add-to-profile').on('click', function(e) {
+        e.preventDefault();
+
+        if (SkillWheel.currentSkill === null) {
+            return;
+        }
+
+        add_skill_in_profile_list(SkillWheel.currentSkill.id, SkillWheel.currentSkill.name);
+    });
 });
 </script>
 <div id="page-back" class="page-skill">
@@ -583,13 +566,38 @@ $(document).ready(function() {
         </div>
 </div>
 
-<div id="dialog-form" style="">
-    <p class="validateTips"></p>
-    {{ dialogForm }}
-</div>
-
 <div id="dialog-form-profile" style="display:none;">
     {{ saveProfileForm }}
 </div>
 </div>
 </div>
+
+<div class="modal fade" id="frm-skill" tabindex="-1" role="dialog" aria-labelledby="form-skill-title" aria-hidden="true">
+    <div class="modal-dialog modal-lg">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-label="{{ "Close" | get_lang }}">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+                <h4 class="modal-title" id="form-skill-title">{{ "Skill" | get_lang }}</h4>
+            </div>
+            <div class="modal-body">
+                {{ dialogForm }}
+            </div>
+            <div class="modal-footer">
+                <button id="form-button-edit" class="btn btn-primary">
+                    <i class="fa fa-edit"></i> {{ "Edit" | get_lang }}
+                </button>
+                <button id="form-button-create-child" class="btn btn-primary">
+                    <i class="fa fa-plus"></i> {{ "CreateChildSkill" | get_lang }}
+                </button>
+                <button id="form-button-add-to-profile" class="btn btn-primary">
+                    <i class="fa fa-check"></i> {{ "AddSkillToProfileSearch" | get_lang }}
+                </button>
+                <button type="button" class="btn btn-primary" data-dismiss="modal">
+                    <i class="fa fa-close"></i> {{ "Close" | get_lang }}
+                </button>
+            </div>
+        </div>
+    </div>
+</div>