ultimatepos/Modules/ProfessionalProject/Resources/views/partials/project_form_script.blade.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>