Subversion Repositories SmartDukaan

Rev

Rev 37248 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37248 Rev 37498
Line 298... Line 298...
298
        var lng = parseFloat(parts[1].trim());
298
        var lng = parseFloat(parts[1].trim());
299
        if (isNaN(lat) || isNaN(lng) || (lat === 0 && lng === 0)) return null;
299
        if (isNaN(lat) || isNaN(lng) || (lat === 0 && lng === 0)) return null;
300
        return { lat: lat, lng: lng };
300
        return { lat: lat, lng: lng };
301
    }
301
    }
302
 
302
 
-
 
303
    // Fragment is re-injected with .html(), which re-runs this script; clear the
-
 
304
    // namespace first so handlers replace rather than stack.
-
 
305
    $(document).off('.beatreportdata');
303
    $(document).on('click', '.beat-map-link', function () {
306
    $(document).on('click.beatreportdata', '.beat-map-link', function () {
304
        var rowIndex = $(this).data('row');
307
        var rowIndex = $(this).data('row');
305
        var data = window.beatReportData[rowIndex];
308
        var data = window.beatReportData[rowIndex];
306
        if (!data) return;
309
        if (!data) return;
307
 
310
 
308
        var items = data.total || [];
311
        var items = data.total || [];
Line 383... Line 386...
383
                }
386
                }
384
            }
387
            }
385
        }, 400);
388
        }, 400);
386
    });
389
    });
387
 
390
 
388
    $(document).on('click', '.beat-detail-link', function () {
391
    $(document).on('click.beatreportdata', '.beat-detail-link', function () {
389
        var rowIndex = $(this).data('row');
392
        var rowIndex = $(this).data('row');
390
        var type = $(this).data('type');
393
        var type = $(this).data('type');
391
        var data = window.beatReportData[rowIndex];
394
        var data = window.beatReportData[rowIndex];
392
        if (!data) return;
395
        if (!data) return;
393
 
396
 
Line 729... Line 732...
729
    }
732
    }
730
    function dataStopAutoRefresh() {
733
    function dataStopAutoRefresh() {
731
        if (dataLiveInterval) { clearInterval(dataLiveInterval); dataLiveInterval = null; }
734
        if (dataLiveInterval) { clearInterval(dataLiveInterval); dataLiveInterval = null; }
732
    }
735
    }
733
 
736
 
734
    $(document).on('click', '.data-live-tracking-btn', function() {
737
    $(document).on('click.beatreportdata', '.data-live-tracking-btn', function() {
735
        dataLiveUserId = $(this).data('userid');
738
        dataLiveUserId = $(this).data('userid');
736
        dataLiveUsername = $(this).data('username');
739
        dataLiveUsername = $(this).data('username');
737
        $('#dataLiveTitle').html('<img src="${rc.contextPath}/resources/images/Bike-Icon-SD.png" style="height:24px; vertical-align:middle; margin-right:6px;"> Live Tracking - ' + dataLiveUsername);
740
        $('#dataLiveTitle').html('<img src="${rc.contextPath}/resources/images/Bike-Icon-SD.png" style="height:24px; vertical-align:middle; margin-right:6px;"> Live Tracking - ' + dataLiveUsername);
738
        $('#dataLiveInfo').html('<div class="text-center"><i class="fa fa-spinner fa-spin"></i> Loading...</div>');
741
        $('#dataLiveInfo').html('<div class="text-center"><i class="fa fa-spinner fa-spin"></i> Loading...</div>');
739
        $('#dataLiveModal').modal('show');
742
        $('#dataLiveModal').modal('show');
Line 749... Line 752...
749
                document.head.appendChild(s);
752
                document.head.appendChild(s);
750
            }
753
            }
751
        }, 300);
754
        }, 300);
752
    });
755
    });
753
 
756
 
754
    $(document).on('click', '#dataRefreshBtn', function() {
757
    $(document).on('click.beatreportdata', '#dataRefreshBtn', function() {
755
        if (dataLiveUserId) {
758
        if (dataLiveUserId) {
756
            $('#dataLiveInfo').html('<div class="text-center"><i class="fa fa-spinner fa-spin"></i> Refreshing...</div>');
759
            $('#dataLiveInfo').html('<div class="text-center"><i class="fa fa-spinner fa-spin"></i> Refreshing...</div>');
757
            dataLoadLiveTracking(dataLiveUserId, dataLiveUsername);
760
            dataLoadLiveTracking(dataLiveUserId, dataLiveUsername);
758
        }
761
        }
759
    });
762
    });
760
    $(document).on('change', '#dataAutoRefresh', function() {
763
    $(document).on('change.beatreportdata', '#dataAutoRefresh', function() {
761
        $(this).is(':checked') ? dataStartAutoRefresh() : dataStopAutoRefresh();
764
        $(this).is(':checked') ? dataStartAutoRefresh() : dataStopAutoRefresh();
762
    });
765
    });
763
    $('#dataLiveModal').on('hidden.bs.modal', function() { dataStopAutoRefresh(); dataLiveUserId = null; });
766
    $('#dataLiveModal').on('hidden.bs.modal', function() { dataStopAutoRefresh(); dataLiveUserId = null; });
764
</script>
767
</script>
765
 
768
 
Line 802... Line 805...
802
        </div>
805
        </div>
803
    </div>
806
    </div>
804
</div>
807
</div>
805
 
808
 
806
<script>
809
<script>
807
    $(document).on('click', '.beat-view-calendar', function () {
810
    $(document).on('click.beatreportdata', '.beat-view-calendar', function () {
808
        var userId = $(this).data('userid');
811
        var userId = $(this).data('userid');
809
        var userName = $(this).data('username') || '';
812
        var userName = $(this).data('username') || '';
810
        var url = context + '/beatPlanWindow?autoUserId=' + userId
813
        var url = context + '/beatPlanWindow?autoUserId=' + userId
811
                + '&autoUserName=' + encodeURIComponent(userName);
814
                + '&autoUserName=' + encodeURIComponent(userName);
812
        $('#reportBeatCalendarTitle').text('Calendar - ' + userName);
815
        $('#reportBeatCalendarTitle').text('Calendar - ' + userName);
813
        $('#reportBeatCalendarFrame').attr('src', url);
816
        $('#reportBeatCalendarFrame').attr('src', url);
814
        $('#reportBeatCalendarModal').modal('show');
817
        $('#reportBeatCalendarModal').modal('show');
815
    });
818
    });
816
 
819
 
817
    $(document).on('click', '.beat-edit-on-date', function () {
820
    $(document).on('click.beatreportdata', '.beat-edit-on-date', function () {
818
        var userId = $(this).data('userid');
821
        var userId = $(this).data('userid');
819
        var userName = $(this).data('username') || '';
822
        var userName = $(this).data('username') || '';
820
        var beatId = $(this).data('beatid');
823
        var beatId = $(this).data('beatid');
821
        var date = $(this).data('date');
824
        var date = $(this).data('date');
822
        var url = context + '/beatPlanWindow?autoUserId=' + userId
825
        var url = context + '/beatPlanWindow?autoUserId=' + userId
Line 923... Line 926...
923
        $('#rAvPartyList').html(html);
926
        $('#rAvPartyList').html(html);
924
        rInitRowMultiselects();
927
        rInitRowMultiselects();
925
        rUpdateAvSelectedCount();
928
        rUpdateAvSelectedCount();
926
    }
929
    }
927
 
930
 
928
    $(document).on('click', '.beat-assign-visit', function () {
931
    $(document).on('click.beatreportdata', '.beat-assign-visit', function () {
929
        rAvContext.authUserId = $(this).data('userid');
932
        rAvContext.authUserId = $(this).data('userid');
930
        rAvContext.userName = $(this).data('username') || '';
933
        rAvContext.userName = $(this).data('username') || '';
931
        rAvContext.date = $(this).data('date');
934
        rAvContext.date = $(this).data('date');
932
        rAvContext.beatId = $(this).data('beatid');
935
        rAvContext.beatId = $(this).data('beatid');
933
        rAvContext.allParties = [];
936
        rAvContext.allParties = [];
Line 968... Line 971...
968
            $('#rAvPartyList').html('<div style="padding:20px; color:#c62828; text-align:center;">'
971
            $('#rAvPartyList').html('<div style="padding:20px; color:#c62828; text-align:center;">'
969
                    + 'Error loading parties: ' + (xhr.responseText || xhr.statusText) + '</div>');
972
                    + 'Error loading parties: ' + (xhr.responseText || xhr.statusText) + '</div>');
970
        });
973
        });
971
    });
974
    });
972
 
975
 
973
    $(document).on('input', '#rAvSearch', function () {
976
    $(document).on('input.beatreportdata', '#rAvSearch', function () {
974
        var q = $(this).val().toLowerCase().trim();
977
        var q = $(this).val().toLowerCase().trim();
975
        if (!q) {
978
        if (!q) {
976
            rRenderAvParties(rAvContext.allParties);
979
            rRenderAvParties(rAvContext.allParties);
977
            return;
980
            return;
978
        }
981
        }
Line 982... Line 985...
982
                    || (p.city || '').toLowerCase().indexOf(q) !== -1;
985
                    || (p.city || '').toLowerCase().indexOf(q) !== -1;
983
        });
986
        });
984
        rRenderAvParties(filtered);
987
        rRenderAvParties(filtered);
985
    });
988
    });
986
 
989
 
987
    $(document).on('change', '#rAvSelectAll', function () {
990
    $(document).on('change.beatreportdata', '#rAvSelectAll', function () {
988
        $('.r-av-party-chk').prop('checked', this.checked);
991
        $('.r-av-party-chk').prop('checked', this.checked);
989
        rUpdateAvSelectedCount();
992
        rUpdateAvSelectedCount();
990
    });
993
    });
991
    $(document).on('change', '.r-av-party-chk', rUpdateAvSelectedCount);
994
    $(document).on('change.beatreportdata', '.r-av-party-chk', rUpdateAvSelectedCount);
992
 
995
 
993
    $(document).on('click', '#rAvApplyAgenda', function () {
996
    $(document).on('click.beatreportdata', '#rAvApplyAgenda', function () {
994
        var defValues = $('#rAvDefaultAgenda').val() || [];
997
        var defValues = $('#rAvDefaultAgenda').val() || [];
995
        if (defValues.length === 0) {
998
        if (defValues.length === 0) {
996
            alert('Pick at least one agenda above first');
999
            alert('Pick at least one agenda above first');
997
            return;
1000
            return;
998
        }
1001
        }
Line 1010... Line 1013...
1010
            } catch (e) {
1013
            } catch (e) {
1011
            }
1014
            }
1012
        });
1015
        });
1013
    });
1016
    });
1014
 
1017
 
1015
    $(document).on('click', '#rAvSubmit', function () {
1018
    $(document).on('click.beatreportdata', '#rAvSubmit', function () {
1016
        var picks = [];
1019
        var picks = [];
1017
        var missing = 0;
1020
        var missing = 0;
1018
        $('.r-av-party-chk:checked').each(function () {
1021
        $('.r-av-party-chk:checked').each(function () {
1019
            var fid = parseInt($(this).data('fofoid'));
1022
            var fid = parseInt($(this).data('fofoid'));
1020
            var agendas = $('.r-av-party-agenda[data-fofoid="' + fid + '"]').val() || [];
1023
            var agendas = $('.r-av-party-agenda[data-fofoid="' + fid + '"]').val() || [];