/home/edulekha/crm.edulekha.com/application/views/admin/tasks/checklist_items_template.php
<?php defined('BASEPATH') or exit('No direct script access allowed'); ?>
<div class="clearfix"></div>
<div class="progress mtop15 no-mbot hide">
    <div class="progress-bar not-dynamic progress-bar-default task-progress-bar" role="progressbar" aria-valuenow="40"
        aria-valuemin="0" aria-valuemax="100" style="width:0%">
    </div>
</div>
<div class="tw-flex tw-flex-col">
    <?php foreach ($checklists as $list) { ?>
    <div>
        <div class="checklist"
            data-checklist-id="<?= e($list['id']); ?>">
            <div class="tw-flex">
                <div class="checkbox checkbox-success checklist-checkbox" data-toggle="tooltip" title="">
                    <input type="checkbox"
                        <?= $list['finished'] == 1 && $list['finished_from'] != get_staff_user_id() && ! is_admin() ? 'disabled' : ''; ?>
                    name="checklist-box"
                    <?= $list['finished'] == 1 ? 'checked' : ''; ?>>
                    <label for="">
                        <span class="hide">
                            <?= e($list['description']); ?>
                        </span>
                    </label>
                </div>
                <div class="tw-grow">
                    <textarea data-taskid="<?= e($task_id); ?>"
                        name="checklist-description" rows="1"
                        <?= $list['addedfrom'] != get_staff_user_id() && staff_cant('edit', 'tasks') ? 'disabled' : ''; ?>><?= clear_textarea_breaks($list['description']); ?></textarea>
                </div>
                <div class="mleft10 tw-inline-flex tw-items-center tw-space-x-1 sm:tw-space-x-2">
                    <?php if (($list['addedfrom'] == get_staff_user_id() || $current_user_is_creator || is_admin()) && count($task_staff_members) > 0) { ?>
                    <span class="dropdown"
                        data-title="<?= _l('task_checklist_assign'); ?>"
                        data-toggle="tooltip">
                        <a href="#" class="tw-text-neutral-500 dropdown-toggle tw-mt-px" data-toggle="dropdown"
                            aria-haspopup="true" aria-expanded="false"
                            id="checklist-item-<?= e($list['id']); ?>"
                            onclick="return false;">
                            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
                                stroke="currentColor"
                                class="tw-w-[calc(theme(spacing.5)-2px)] tw-h-[calc(theme(spacing.5)-2px)] tw-mt-px">
                                <path stroke-linecap="round" stroke-linejoin="round"
                                    d="M19 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zM4 19.235v-.11a6.375 6.375 0 0112.75 0v.109A12.318 12.318 0 0110.374 21c-2.331 0-4.512-.645-6.374-1.766z" />
                            </svg>
                        </a>
                        <ul class="dropdown-menu dropdown-menu-left"
                            aria-labelledby="checklist-item-<?= e($list['id']); ?>">
                            <?php foreach ($task_staff_members as $_staff) { ?>
                            <li>
                                <a href="#"
                                    onclick="save_checklist_assigned_staff('<?= $_staff['staffid']; ?>', '<?= e($list['id']); ?>'); return false;">
                                    <?= e($_staff['firstname'] . ' ' . $_staff['lastname']); ?>
                                </a>
                            </li>
                            <?php } ?>
                        </ul>
                    </span>
                    <?php } ?>

                    <?php if (staff_can('create', 'checklist_templates')) { ?>
                    <a href="#"
                        class="tw-text-neutral-500 save-checklist-template<?= $list['description'] == '' || total_rows(db_prefix() . 'tasks_checklist_templates', ['description' => $list['description']]) > 0 ? ' hide' : ''; ?>"
                        data-toggle="tooltip"
                        data-title="<?= _l('save_as_template'); ?>"
                        onclick="save_checklist_item_template(<?= e($list['id']); ?>,this); return false;">
                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
                            stroke="currentColor"
                            class="tw-w-[calc(theme(spacing.5)-2px)] tw-h-[calc(theme(spacing.5)-2px)]">
                            <path stroke-linecap="round" stroke-linejoin="round"
                                d="M8.25 7.5V6.108c0-1.135.845-2.098 1.976-2.192.373-.03.748-.057 1.123-.08M15.75 18H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08M15.75 18.75v-1.875a3.375 3.375 0 00-3.375-3.375h-1.5a1.125 1.125 0 01-1.125-1.125v-1.5A3.375 3.375 0 006.375 7.5H5.25m11.9-3.664A2.251 2.251 0 0015 2.25h-1.5a2.251 2.251 0 00-2.15 1.586m5.8 0c.065.21.1.433.1.664v.75h-6V4.5c0-.231.035-.454.1-.664M6.75 7.5H4.875c-.621 0-1.125.504-1.125 1.125v12c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V16.5a9 9 0 00-9-9z" />
                        </svg>
                    </a>
                    <?php } ?>
                    <?php if (staff_can('delete', 'tasks') || $list['addedfrom'] == get_staff_user_id()) { ?>
                    <a href="#" class="tw-text-neutral-500 remove-checklist -tw-mt-1 tw-ml-1"
                        onclick="delete_checklist_item(<?= e($list['id']); ?>,this); return false;">
                        <i class="fa-regular fa-trash-can"></i>
                    </a>
                    <?php } ?>
                </div>
            </div>
            <?php if ($list['finished'] == 1 || $list['addedfrom'] != get_staff_user_id() || ! empty($list['assigned'])) { ?>
            <p class="font-medium-xs mtop15 tw-text-neutral-500 checklist-item-info">
                <?php
                if ($list['addedfrom'] != get_staff_user_id()) {
                    echo e(_l('task_created_by', get_staff_full_name($list['addedfrom'])));
                }

                if ($list['addedfrom'] != get_staff_user_id() && $list['finished'] == 1) {
                    echo ' - ';
                }

                if ($list['finished'] == 1) {
                    echo e(_l('task_checklist_item_completed_by', get_staff_full_name($list['finished_from'])));
                }

                if (($list['addedfrom'] != get_staff_user_id() || $list['finished'] == 1) && ! empty($list['assigned'])) {
                    echo ' - ';
                }

                if (! empty($list['assigned'])) {
                    echo e(_l('task_checklist_assigned', get_staff_full_name($list['assigned'])));
                }
                ?>
            </p>
            <?php } ?>
        </div>
    </div>
    <?php } ?>
</div>
<script>
    $(function() {
        $("#checklist-items").sortable({
            helper: 'clone',
            items: 'div.checklist',
            update: function(event, ui) {
                update_checklist_order();
            }
        });

        setTimeout(function() {
            do_task_checklist_items_height();
        }, 200);

        init_selectpicker();
        var _hideCompletedItems = '<?= $hide_completed_items ?>'
        if (_hideCompletedItems == 1) {
            toggle_completed_checklist_items_visibility();
        }
    });

    function toggle_completed_checklist_items_visibility(el, forceShow) {
        var _task_checklist_items = $("body").find("input[name='checklist-box']");
        $.each(_task_checklist_items, function() {
            var $this = $(this);
            if ($this.prop('checked') == true) {
                $this.closest('.checklist ').toggleClass('hide');
            }
        });
        if (typeof el != 'undefined') {
            var _hideCompleted = $(el).data('hide');
            $(el).addClass('hide');
            $(el).siblings().removeClass('hide');
            $.post(admin_url + 'staff/save_completed_checklist_visibility', {
                task_id: "<?= $task_id ?>",
                hideCompleted: _hideCompleted
            }, "json");
        }
    }

    function save_checklist_assigned_staff(staffId, list_id) {
        $.post(
            admin_url + 'tasks/save_checklist_assigned_staff', {
                assigned: staffId,
                checklistId: list_id,
                taskId: "<?= $task_id ?>",
            }
        ).done(function(response) {
            init_tasks_checklist_items(false, "<?= $task_id ?>");
        });
    }
</script>