Subversion Repositories SmartDukaan

Rev

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

Rev 36452 Rev 37493
Line 1... Line -...
1
<script type="text/javascript">
-
 
2
    $('input[name="extendSchemeById"]').daterangepicker($.extend(getSingleDatePicker(), {
-
 
3
        "drops": "up",
-
 
4
    }));
-
 
5
    $('input[name="expireSchemeById"]').daterangepicker($.extend(getSingleDatePicker(moment("$scheme.getEndDateTime()")), {
-
 
6
        "drops": "up",
-
 
7
    }));
-
 
8
 
-
 
9
    $(document).off('click.addScheme').on('click.addScheme', ".add-scheme", function () {
-
 
10
        $("#newItemToSchemeModal").modal({backdrop: true, show: true});
-
 
11
    });
-
 
12
    $(document).off('hidden.bs.modal.addScheme').on('hidden.bs.modal.addScheme', '#newItemToSchemeModal', function () {
-
 
13
        $("#addSchemeForm").trigger("reset");
-
 
14
    });
-
 
15
 
-
 
16
    // Edit scheme item date window
-
 
17
    $(document).on('click', '.edit-item-dates', function () {
-
 
18
        var row = $(this).closest('tr');
-
 
19
        row.find('.date-display').hide();
-
 
20
        row.find('.date-edit').show();
-
 
21
        row.find('.edit-item-dates').hide();
-
 
22
        row.find('.save-item-dates, .cancel-item-dates').show();
-
 
23
 
-
 
24
        // Initialize daterangepicker on the inline inputs
-
 
25
        var startInput = row.find('.edit-start-date');
-
 
26
        var endInput = row.find('.edit-end-date');
-
 
27
        if (!startInput.data('daterangepicker')) {
-
 
28
            var startVal = startInput.val() ? moment(startInput.val(), 'DD/MM/YYYY') : moment("$scheme.getStartDateTime()");
-
 
29
            var endVal = endInput.val() ? moment(endInput.val(), 'DD/MM/YYYY') : moment("$scheme.getEndDateTime()");
-
 
30
            startInput.daterangepicker($.extend(getSingleDatePicker(startVal), {"drops": "down"}));
-
 
31
            endInput.daterangepicker($.extend(getSingleDatePicker(endVal), {"drops": "down"}));
-
 
32
        }
-
 
33
    });
-
 
34
 
-
 
35
    $(document).on('click', '.cancel-item-dates', function () {
-
 
36
        var row = $(this).closest('tr');
-
 
37
        row.find('.date-display').show();
-
 
38
        row.find('.date-edit').hide();
-
 
39
        row.find('.edit-item-dates').show();
-
 
40
        row.find('.save-item-dates, .cancel-item-dates').hide();
-
 
41
    });
-
 
42
 
-
 
43
    // Convert DD/MM/YYYY to ISO LocalDateTime format for the server
-
 
44
    function toIsoDateTime(ddmmyyyy, endOfDay) {
-
 
45
        var parts = ddmmyyyy.split('/');
-
 
46
        if (parts.length !== 3) return ddmmyyyy;
-
 
47
        var isoDate = parts[2] + '-' + parts[1] + '-' + parts[0];
-
 
48
        return isoDate + (endOfDay ? 'T23:59:59' : 'T00:00:00');
-
 
49
    }
-
 
50
 
-
 
51
    $(document).on('click', '.save-item-dates', function () {
-
 
52
        var row = $(this).closest('tr');
-
 
53
        var itemId = row.data('schemeitemid');
-
 
54
        var startDate = row.find('.edit-start-date').val();
-
 
55
        var endDate = row.find('.edit-end-date').val();
-
 
56
        if (!startDate || !endDate) {
-
 
57
            alert('Both start date and end date are required');
-
 
58
            return;
-
 
59
        }
-
 
60
        var isoStart = toIsoDateTime(startDate, false);
-
 
61
        var isoEnd = toIsoDateTime(endDate, true);
-
 
62
        doPutAjaxRequestHandler('/scheme/item/window?schemeItemId=' + itemId
-
 
63
            + '&startDate=' + encodeURIComponent(isoStart)
-
 
64
            + '&endDate=' + encodeURIComponent(isoEnd),
-
 
65
            function (response) {
-
 
66
                loadSchemeDetails($scheme.getId(), "scheme-details-container");
-
 
67
            });
-
 
68
    });
-
 
69
 
-
 
70
    // Modal: category -> brand -> model cascade
-
 
71
    $('#newItemToSchemeModal').on('shown.bs.modal', function () {
-
 
72
        $('input[name="addItemStartDate"]').daterangepicker($.extend(getSingleDatePicker(moment("$scheme.getStartDateTime()")), {
-
 
73
            "drops": "down",
-
 
74
        }));
-
 
75
        $('input[name="addItemEndDate"]').daterangepicker($.extend(getSingleDatePicker(moment("$scheme.getEndDateTime()")), {
-
 
76
            "drops": "down",
-
 
77
        }));
-
 
78
 
-
 
79
        // Load brands for default category
-
 
80
        var catId = $('#modal-category-list').val();
-
 
81
        if (catId) loadModalBrands(catId);
-
 
82
    });
-
 
83
 
-
 
84
    $('#modal-category-list').on('change', function () {
-
 
85
        var catId = $(this).val();
-
 
86
        if (catId) loadModalBrands(catId);
-
 
87
    });
-
 
88
 
-
 
89
    function loadModalBrands(categoryId) {
-
 
90
        doGetAjaxRequestHandler(context + '/getBrandsByCategory?categoryId=' + categoryId, function (response) {
-
 
91
            $('#modal-brand-list').html(response);
-
 
92
            // Re-id the select so it doesn't clash with create-scheme page
-
 
93
            $('#modal-brand-list select').attr('id', 'modal-tag-listing-brands');
-
 
94
            $('#modal-tag-listing-brands').multiselect({
-
 
95
                includeSelectAllOption: true,
-
 
96
                multiple: true,
-
 
97
                maxHeight: 200,
-
 
98
                buttonWidth: '180px',
-
 
99
                numberDisplayed: 1,
-
 
100
                nonSelectedText: 'Brands',
-
 
101
                nSelectedText: ' - Brands Selected',
-
 
102
                allSelectedText: 'All Brands',
-
 
103
                enableFiltering: true,
-
 
104
                enableCaseInsensitiveFiltering: true
-
 
105
            });
-
 
106
            $('#modal-tag-listing-brands').on('change', function () {
-
 
107
                var brands = $(this).val();
-
 
108
                if (brands) loadModalModels(categoryId, brands);
-
 
109
            });
-
 
110
        });
-
 
111
    }
-
 
112
 
-
 
113
    function loadModalModels(categoryId, brands) {
-
 
114
        var brandsString = brands.join(',');
-
 
115
        doGetAjaxRequestHandler(context + '/getCatalogDescriptionByBrands?categoryId=' + categoryId + '&brands=' + brandsString, function (response) {
-
 
116
            $('#modal-models-list').html(response);
-
 
117
            $('#modal-models-list select').addClass('modalCatalogItems');
-
 
118
            $('.modalCatalogItems').multiselect({
-
 
119
                includeSelectAllOption: true,
-
 
120
                maxHeight: 200,
-
 
121
                buttonWidth: '220px',
-
 
122
                numberDisplayed: 1,
-
 
123
                nonSelectedText: 'Models',
-
 
124
                nSelectedText: ' - Models Selected',
-
 
125
                allSelectedText: 'All Models',
-
 
126
                enableFiltering: true,
-
 
127
                enableCaseInsensitiveFiltering: true
-
 
128
            });
-
 
129
        });
-
 
130
    }
-
 
131
</script>
-
 
132
<h3 style="padding-left:3%;padding-top:2%;font-weight:bold;">Scheme Id : $scheme.getId()</h3>
1
<h3 style="padding-left:3%;padding-top:2%;font-weight:bold;">Scheme Id : $scheme.getId()</h3>
133
<h5 style="padding-left:3%;font-weight:normal;">Reference : #if($scheme.getReference())$scheme.getReference()#else-#end</h5>
2
<h5 style="padding-left:3%;font-weight:normal;">Reference : #if($scheme.getReference())$scheme.getReference()#else-#end</h5>
134
 
3
 
135
<div class="row" style="padding-left:3%;">
4
<div class="row" style="padding-left:3%;"
-
 
5
     data-scheme-id="$scheme.getId()"
-
 
6
     data-scheme-start="$scheme.getStartDateTime()"
-
 
7
     data-scheme-end="$scheme.getEndDateTime()">
136
    <div class="col-lg-12">
8
    <div class="col-lg-12">
137
        <table>
9
        <table>
138
            <tr>
10
            <tr>
139
                <td>
11
                <td>
140
                    #if($scheme.getActiveTimestamp())
12
                    #if($scheme.getActiveTimestamp())