58 lines
2.0 KiB
PHP
58 lines
2.0 KiB
PHP
<script>
|
|
$(function () {
|
|
$('.pp-toggle-section').on('change', function () {
|
|
var target = $('#' + $(this).data('target'));
|
|
if ($(this).is(':checked')) {
|
|
target.removeClass('hidden');
|
|
} else {
|
|
target.addClass('hidden');
|
|
}
|
|
});
|
|
|
|
var slider = document.getElementById('pp_progress_slider');
|
|
var display = document.getElementById('pp_progress_display');
|
|
var input = document.getElementById('pp_progress_input');
|
|
if (slider && display && input) {
|
|
slider.addEventListener('input', function () {
|
|
display.textContent = slider.value;
|
|
input.value = slider.value;
|
|
});
|
|
}
|
|
|
|
var categoryMembersData = {};
|
|
try {
|
|
categoryMembersData = JSON.parse($('#pp_category_members_data').text() || '{}');
|
|
} catch (e) {
|
|
categoryMembersData = {};
|
|
}
|
|
|
|
$('#pp_category_id').on('change', function () {
|
|
var selected = $(this).val() || [];
|
|
var supervisorSelect = $('#pp_supervisor_id');
|
|
var existing = supervisorSelect.val() || [];
|
|
var merged = existing.slice();
|
|
|
|
selected.forEach(function (catId) {
|
|
var members = categoryMembersData[catId] || [];
|
|
members.forEach(function (member) {
|
|
if (merged.indexOf(String(member.id)) === -1 && merged.indexOf(member.id) === -1) {
|
|
merged.push(String(member.id));
|
|
}
|
|
if (supervisorSelect.find('option[value="' + member.id + '"]').length === 0) {
|
|
supervisorSelect.append(new Option(member.name, member.id, false, false));
|
|
}
|
|
});
|
|
});
|
|
|
|
supervisorSelect.val(merged).trigger('change');
|
|
});
|
|
|
|
$('#pp_project_form').on('submit', function () {
|
|
var managerId = $('select[name="manager_id"]').val();
|
|
if (managerId && !$('input[name="lead_id"]').length) {
|
|
$('<input>').attr({type: 'hidden', name: 'lead_id', value: managerId}).appendTo(this);
|
|
}
|
|
});
|
|
});
|
|
</script>
|