@extends ('layouts/template')

@section('content')
    <?php
    if (!function_exists('strategy_display')) {
        function strategy_display($_strategy, $_mode)
        {
            switch ($_strategy) {
                case 'X16_DAYS_20_MINS_ON_OWN_MCP_COM_DURING_CM':
                    return '16 meas. days + 20 mins + comm. done during the caremonth';
                case 'X16_DAYS':
                    return '16 meas. days';
                default:
                    return '-';
            }
        }
    }
    ?>
    <style>
        #admin-table-rm-matrix_wrapper {
            padding-top: 10px;
        }
    </style>
    <link rel="stylesheet" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.min.css">
    <script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script>
    <style>
        #table-rm-matrix_length, #table-rm-matrix_info {
            padding-left: 0.5rem;
        }

        #table-rm-matrix_filter {
            padding-right: 0.5rem;
        }

        #table-rm-matrix_paginate {
            padding: 0.5rem;
        }
    </style>
    <div class="p-3 mcp-theme-1" id="practice-remote-monitoring" v-cloak>

        <div class="card h-100">

            <div class="card-header px-2 py-2 d-flex align-items-baseline">
                <form class="d-block w-100" action="" method="GET" id="rpm-matrix-filter">

                    <div class="d-flex align-items-end">
                        <span class="mr-4">
                            <span class="font-size-14">Remote Monitoring</span>
                            <i class="fas fa-arrow-right text-sm mx-1"></i>
                            <b class="font-size-14">{{friendly_month(date((request()->input('y') ?: 'Y') . '-' . (request()->input('m') ?: 'm') . '-d'))}}</b>
                        </span>
                        <?php

                        $mStr = request()->input('m') ? request()->input('m') : date('m');
                        $yStr = request()->input('y') ? request()->input('y') : date('Y');
                        $rcmStartDate = $yStr . '-' . $mStr . '-' . '01';
                        $m = +$mStr;
                        $y = +$yStr;
                        ?>
                        {{--<a href="{{ route('practice-management.rpm_work_matrix') }}?m={{$mStr}}&y={{$yStr}}"
                           native target="_blank"
                           open-in-stag-popup
                           update-parent
                           popup-style="tall overflow-visible"
                           class="mr-4 font-weight-bold"
                           mc-initer="rpm-work-matrix"
                           title="RPM Work Matrix">
                            RPM Work Matrix
                        </a>--}}
                        <span class="ml-3 mr-1 text-secondary">Strategy:</span>
                        @if($mode === 'mcp')
                            {{strategy_display($pro->mcp_rpm_payment_strategy, $mode)}}
                            <?php $strategy = $pro->mcp_rpm_payment_strategy; ?>
                        @elseif($mode === 'rmm')
                            {{strategy_display($pro->rme_payment_strategy, $mode)}}
                            <?php $strategy = $pro->rmm_payment_strategy; ?>
                        @elseif($mode === 'rmm')
                            {{strategy_display($pro->rmm_payment_strategy, $mode)}}
                            <?php $strategy = $pro->rme_payment_strategy; ?>
                        @endif

                        <div class="ml-auto d-inline-flex flex-nowrap align-items-baseline">
                            <span class="mr-2">Month</span>
                            <select class="form-control form-control-sm min-width-unset width-100px mr-3" name="m"
                                    onchange="fastLoad('{{route('practice-management.rpm-matrix-' . $mode)}}?' + $(this).closest('form').serialize())">
                                <option value="01" {{$m === 1 ? 'selected' : ''}}>Jan</option>
                                <option value="02" {{$m === 2 ? 'selected' : ''}}>Feb</option>
                                <option value="03" {{$m === 3 ? 'selected' : ''}}>Mar</option>
                                <option value="04" {{$m === 4 ? 'selected' : ''}}>Apr</option>
                                <option value="05" {{$m === 5 ? 'selected' : ''}}>May</option>
                                <option value="06" {{$m === 6 ? 'selected' : ''}}>Jun</option>
                                <option value="07" {{$m === 7 ? 'selected' : ''}}>Jul</option>
                                <option value="08" {{$m === 8 ? 'selected' : ''}}>Aug</option>
                                <option value="09" {{$m === 9 ? 'selected' : ''}}>Sep</option>
                                <option value="10" {{$m === 10 ? 'selected' : ''}}>Oct</option>
                                <option value="11" {{$m === 11 ? 'selected' : ''}}>Nov</option>
                                <option value="12" {{$m === 12 ? 'selected' : ''}}>Dec</option>
                            </select>
                            <span class="mr-2">Year</span>
                            <select class="form-control form-control-sm min-width-unset width-100px" name="y"
                                    onchange="fastLoad('{{route('practice-management.rpm-matrix-' . $mode)}}?' + $(this).closest('form').serialize())">
                                <option value="2020" {{$y === 2020 ? 'selected' : ''}}>2020</option>
                                <option value="2021" {{$y === 2021 ? 'selected' : ''}}>2021</option>
                                <option value="2022" {{$y === 2022 ? 'selected' : ''}}>2022</option>
                                <option value="2023" {{$y === 2023 ? 'selected' : ''}}>2023</option>
                            </select>
                        </div>
                    </div>

                    <div class="d-none align-items-start mt-2 pt-1 border-top">

                        {{--
                        <div>
                            <label class="mb-0 text-sm {{request()->input('f_name') ? 'text-info' : 'text-secondary'}}">Name</label>
                            <input type="text"
                                   class="mr-2 form-control form-control-sm min-width-unset max-width-110px"
                                   name="f_name" value="{{request()->input('f_name')}}">
                        </div>

                        <div>
                            <label class="mb-0 text-sm {{request()->input('f_dob') ? 'text-info' : 'text-secondary'}}">DOB</label>
                            <div class="d-flex align-items-start">
                                <select name="f_dob_op"
                                        class="mr-1 form-control form-control-sm min-width-unset width-40px pl-0">
                                    <option {{request()->input('f_dob_op') === '=' ? 'selected' : ''}} value="=">&equals;</option>
                                    <option {{request()->input('f_dob_op') === '>' ? 'selected' : ''}} value=">">&gt;</option>
                                    <option {{request()->input('f_dob_op') === '<' ? 'selected' : ''}} value="<">&lt;</option>
                                    <option {{request()->input('f_dob_op') === '>=' ? 'selected' : ''}} value=">=">&ge;</option>
                                    <option {{request()->input('f_dob_op') === '<=' ? 'selected' : ''}} value="<=">&le;</option>
                                </select>
                                <input type="date" name="f_dob"
                                       value="{{request()->input('f_dob')}}"
                                       class="mr-2 form-control form-control-sm min-width-unset max-width-140px">
                            </div>
                        </div>

                        <div>
                            <label class="mb-0 text-sm {{request()->input('f_rpm') && request()->input('f_rpm') !== 'any' ? 'text-info' : 'text-secondary'}}">RPM</label>
                            <select name="f_rpm"
                                    class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                <option {{request()->input('f_rpm') === 'any' ? 'selected' : ''}} value="any">Any</option>
                                <option {{request()->input('f_rpm') === 'yes' ? 'selected' : ''}} value="yes">Yes</option>
                                <option {{request()->input('f_rpm') === 'no' ? 'selected' : ''}} value="no">No</option>
                            </select>
                        </div>

                        <div>
                            <label class="mb-0 text-sm {{request()->input('f_cell_bp') && request()->input('f_cell_bp') !== 'any' ? 'text-info' : 'text-secondary'}}">Cell. BP</label>
                            <select name="f_cell_bp"
                                    class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                <option {{request()->input('f_cell_bp') === 'any' ? 'selected' : ''}} value="any">Any</option>
                                <option {{request()->input('f_cell_bp') === 'yes' ? 'selected' : ''}} value="yes">Yes</option>
                                <option {{request()->input('f_cell_bp') === 'no' ? 'selected' : ''}} value="no">No</option>
                            </select>
                        </div>

                        <div>
                            <label class="mb-0 text-sm {{request()->input('f_cell_wt') && request()->input('f_cell_wt') !== 'any' ? 'text-info' : 'text-secondary'}}">Cell. Wt</label>
                            <select name="f_cell_wt"
                                    class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                <option {{request()->input('f_cell_wt') === 'any' ? 'selected' : ''}} value="any">Any</option>
                                <option {{request()->input('f_cell_wt') === 'yes' ? 'selected' : ''}} value="yes">Yes</option>
                                <option {{request()->input('f_cell_wt') === 'no' ? 'selected' : ''}} value="no">No</option>
                            </select>
                        </div>

                        @if($mode === 'mcp' || $mode === 'rmm')
                        <div>
                            <label class="mb-0 text-sm {{request()->input('f_comm') && request()->input('f_comm') !== 'any' ? 'text-info' : 'text-secondary'}}">Comm.</label>
                            <select name="f_comm"
                                    class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                <option {{request()->input('f_comm') === 'any' ? 'selected' : ''}} value="any">Any</option>
                                <option {{request()->input('f_comm') === 'yes' ? 'selected' : ''}} value="yes">Yes</option>
                                <option {{request()->input('f_comm') === 'no' ? 'selected' : ''}} value="no">No</option>
                            </select>
                        </div>
                        @endif

                        <div>
                            <label class="mb-0 text-sm {{request()->input('f_md') ? 'text-info' : 'text-secondary'}}">Meas. Days</label>
                            <div class="d-flex align-items-start">
                                <select name="f_md_op"
                                        class="mr-1 form-control form-control-sm min-width-unset width-40px pl-0">
                                    <option {{request()->input('f_md_op') === '=' ? 'selected' : ''}} value="=">&equals;</option>
                                    <option {{request()->input('f_md_op') === '>' ? 'selected' : ''}} value=">">&gt;</option>
                                    <option {{request()->input('f_md_op') === '<' ? 'selected' : ''}} value="<">&lt;</option>
                                    <option {{request()->input('f_md_op') === '>=' ? 'selected' : ''}} value=">=">&ge;</option>
                                    <option {{request()->input('f_md_op') === '<=' ? 'selected' : ''}} value="<=">&le;</option>
                                </select>
                                <input type="number" name="f_md"
                                       value="{{request()->input('f_md')}}"
                                       class="mr-2 form-control form-control-sm min-width-unset width-70px">
                            </div>
                        </div>

                        @if($mode === 'mcp' || $mode === 'rmm')
                        <div>
                            <label class="mb-0 text-sm {{request()->input('f_unst') ? 'text-info' : 'text-secondary'}}">Unstamped</label>
                            <div class="d-flex align-items-start">
                                <select name="f_unst_op"
                                        class="mr-1 form-control form-control-sm min-width-unset width-40px pl-0">
                                    <option {{request()->input('f_unst_op') === '=' ? 'selected' : ''}} value="=">&equals;</option>
                                    <option {{request()->input('f_unst_op') === '>' ? 'selected' : ''}} value=">">&gt;</option>
                                    <option {{request()->input('f_unst_op') === '<' ? 'selected' : ''}} value="<">&lt;</option>
                                    <option {{request()->input('f_unst_op') === '>=' ? 'selected' : ''}} value=">=">&ge;</option>
                                    <option {{request()->input('f_unst_op') === '<=' ? 'selected' : ''}} value="<=">&le;</option>
                                </select>
                                <input type="number" name="f_unst"
                                       value="{{request()->input('f_unst')}}"
                                       class="mr-2 form-control form-control-sm min-width-unset width-70px">
                            </div>
                        </div>
                        @endif

                        <div>
                            <label class="mb-0 text-sm {{request()->input('f_mins') ? 'text-info' : 'text-secondary'}}">{{strtoupper($mode)}} Mins.</label>
                            <div class="d-flex align-items-start">
                                <select name="f_mins_op"
                                        class="mr-1 form-control form-control-sm min-width-unset width-40px pl-0">
                                    <option {{request()->input('f_mins_op') === '=' ? 'selected' : ''}} value="=">&equals;</option>
                                    <option {{request()->input('f_mins_op') === '>' ? 'selected' : ''}} value=">">&gt;</option>
                                    <option {{request()->input('f_mins_op') === '<' ? 'selected' : ''}} value="<">&lt;</option>
                                    <option {{request()->input('f_mins_op') === '>=' ? 'selected' : ''}} value=">=">&ge;</option>
                                    <option {{request()->input('f_mins_op') === '<=' ? 'selected' : ''}} value="<=">&le;</option>
                                </select>
                                <input type="number" name="f_mins"
                                       value="{{request()->input('f_mins')}}"
                                       class="mr-2 form-control form-control-sm min-width-unset width-70px">
                            </div>
                        </div>

                        @if($mode === 'mcp' || $mode === 'rmm')
                        <div>
                            <label class="mb-0 text-sm {{request()->input('f_billable') && request()->input('f_billable') !== 'any' ? 'text-info' : 'text-secondary'}}">Billable</label>
                            <select name="f_billable"
                                    class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                <option {{request()->input('f_billable') === 'all' ? 'selected' : ''}} value="any">All</option>
                                <option {{request()->input('f_billable') === 'yes' ? 'selected' : ''}} value="yes">Yes</option>
                                <option {{request()->input('f_billable') === 'no' ? 'selected' : ''}} value="no">No</option>
                            </select>
                        </div>
                        @endif

                        <div>
                            <label class="mb-0 text-sm text-secondary">&nbsp;</label>
                            <div class="d-flex align-items-start">
                                <button class="btn-apply btn btn-sm btn-primary mr-2"><i class="fa fa-check"></i></button>
                                <button class="btn-reset btn btn-sm btn-default bg-white text-secondary border"><i class="fa fa-times"></i></button>
                            </div>
                        </div>
                        --}}
                    </div>

                    <input type="hidden" name="not-enrolled" value="{{request()->input('not-enrolled')}}">

                </form>
            </div>

            <?php $rc = request()->input('rc') ? request()->input('rc') : 1; ?>

            <div class="card-body p-0">
                <div>
                    <div class="d-flex align-items-baseline p-2 border-bottom" tab-links="">
                        <a class="{{ !request()->input('not-enrolled') ? 'tab-link-active' : '' }} text-dark c-pointer"
                           onclick="$('[name=not-enrolled]').val(''); return fastLoad('{{route('practice-management.rpm-matrix-' . $mode)}}?' + $('#rpm-matrix-filter').serialize());"
                           tab-link="rpm">Enrolled in RPM</a>
                        <a class="{{ request()->input('not-enrolled') ? 'tab-link-active' : '' }} text-dark c-pointer"
                           onclick="$('[name=not-enrolled]').val('1'); return fastLoad('{{route('practice-management.rpm-matrix-' . $mode)}}?' + $('#rpm-matrix-filter').serialize());"
                           tab-link="no-rpm">Not Enrolled in RPM</a>
                    </div>
                </div>
                <div class="cm-tab {{!request()->input('not-enrolled') ? '' : 'd-none'}}" tab-key="rpm">
                    @include('app.practice-management.rpm-matrix-by-pro-type-table')
                </div>
                <div class="cm-tab {{request()->input('not-enrolled') ? '' : 'd-none'}}" tab-key="no-rpm">
                    @include('app.practice-management.rpm-matrix-by-pro-type-table')
                </div>
            </div>
        </div>
    </div>
    <script>
        (function () {
            let dataTableInst = null;
            window.refreshRpmRow = function (_index) {
                let tr = $('#table-rm-matrix tbody tr:eq(' + _index + ')');
                if (!tr.length) return;
                let clientUid = tr.attr('data-client-uid'), careMonthUid = tr.attr('data-care-month-uid');
                $.get('/rpm-matrix-row-{{$mode}}?m={{$mStr}}&y={{$yStr}}&clientUid=' + clientUid + '&careMonthUid=' + careMonthUid + '&trIndex=' + _index, _data => {
                    let row = $(_data);
                    @if(request()->input('dt'))
                    row.find('>td').each(function (_columnIndex) {
                        dataTableInst.cell(_index, _columnIndex).data(this.innerHTML); //.draw();
                    });
                    @else
                    tr.replaceWith(row);
                    @endif
                    $('#practice-remote-monitoring [moe][initialized]').removeAttr('initialized');
                    initMoes();
                    tr.addClass('post-refresh-highlight');
                    setTimeout(function () {
                        tr.removeClass('post-refresh-highlight');
                    }, 1000);
                });
            }

            function init() {
                @if(request()->input('dt'))
                    dataTableInst = $('#table-rm-matrix').DataTable({
                    paging: false,
                    columnDefs: [
                        {
                            targets: [0, 8],
                            type: 'string',
                            render: function (data, type, row, meta) {
                                if (type === 'sort') {
                                    return $(data).find('.sort-data').first().text();
                                }
                                return data;
                            },
                        },
                        {targets: 1, type: 'date'},
                        {
                            targets: 7,
                            type: 'num',
                            render: function (data, type, row, meta) {
                                if (type === 'sort') {
                                    return $(data).find('.sort-data').first().text();
                                }
                                return data;
                            },
                        },
                        {
                            targets: [5, 6, 10, 11, 12],
                            type: 'num',
                            render: function (data, type, row, meta) {
                                if (type === 'sort') {
                                    return +($(data).find('.sort-data').first().text());
                                }
                                return data;
                            },
                        },
                    ]
                });
                @endif
                $('#practice-remote-monitoring').removeAttr('v-cloak');
                $('#practice-remote-monitoring [moe][initialized]').removeAttr('initialized');

                let parent = $('#practice-remote-monitoring');

                parent.find('.btn-apply')
                    .off('click.filter')
                    .on('click.filter', function() {
                        fastLoad('{{route('practice-management.rpm-matrix-' . $mode)}}?' + $(this).closest('form').serialize());
                        return false;
                    });

                parent.find('.btn-reset')
                    .off('click.reset')
                    .on('click.reset', function() {
                        fastLoad('{{route("practice-management.rpm-matrix-" . $mode)}}');
                        return false;
                    });

                initMoes();

                // hack - init split at 22%
                localStorage['v-split-rounded-rpm-matrix-split'] = 22;
                initVSplitter('rpm-matrix-split', $('.rpm-matrix-left-column'), $('.rpm-matrix-right-column'), null, {marginLeft: '-3px', width: '5px', height: '100%', marginTop: 0, borderRadius: 0});
            }

            addMCInitializer('practice-remote-monitoring', init, '#practice-remote-monitoring');
        }).call(window);
    </script>
@endsection
