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

1.10.x
Angel Fernando Quiroz Campos 11 years ago
parent d49cc6d92e
commit 840fa1b9e7
  1. 32
      main/admin/skills_wheel.php
  2. 133
      main/template/default/skill/skill_wheel.js.tpl
  3. 112
      main/template/default/skill/skill_wheel.tpl

@ -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']);

@ -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")

@ -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>

Loading…
Cancel
Save