瀏覽代碼

added collapsing panels

bmallred 10 年之前
父節點
當前提交
6b44bd9497
共有 2 個文件被更改,包括 26 次插入17 次删除
  1. 1 1
      app/views/Profile/Index.html
  2. 25 16
      public/js/grassfed.js

+ 1 - 1
app/views/Profile/Index.html

@ -56,7 +56,7 @@
56 56
                </div>
57 57
            </div>
58 58
        </form>
59
        <div id="history"></div>
59
        <div id="history" class="panel-group"></div>
60 60
    </div>
61 61
    <div class="col-md-4">
62 62
        <h3>Daily Goal</h3>

+ 25 - 16
public/js/grassfed.js

@ -83,7 +83,7 @@ $(function () {
83 83
84 84
    $(document).on('click', 'button.delete-history', function (e) {
85 85
        e.preventDefault();
86
        var moment = parseInt($(this).parents('div.media').attr('data-moment'));
86
        var moment = parseInt($(this).parents('tr').attr('data-moment'));
87 87
88 88
        $.ajax({
89 89
            url: '/me/history/' + moment,
@ -91,7 +91,7 @@ $(function () {
91 91
        })
92 92
        .done(function (response) {
93 93
            if (response) {
94
                var media = $('div.media[data-moment="' + moment + '"]');
94
                var media = $('tr[data-moment="' + moment + '"]');
95 95
                var panel = $(media).parents('div.panel');
96 96
                var previousCalories = parseInt($('input[name="current"][type="hidden"]').val());
97 97
                var calories = parseInt($(media).find('span.calories').text());
@ -105,7 +105,7 @@ $(function () {
105 105
                loadTrends();
106 106
107 107
                // Check if there are any more media elements in the panel. If not remove the panel.
108
                if ($(panel).find('div.media').length == 0) {
108
                if ($(panel).find('tr').length == 0) {
109 109
                    $(panel).remove();
110 110
                }
111 111
            }
@ -137,17 +137,20 @@ $(function () {
137 137
        else {
138 138
            $('div#history').prepend(
139 139
                $('<div class="panel panel-default">')
140
                    .append('<div class="panel-heading"><h3 class="panel-title">' + momentDate + '</h3></div>')
141
                    .append('<div class="panel-body">'));
140
                    .append('<div class="panel-heading"><h3 class="panel-title"><a data-toggle="collapse" data-parent="#history" href="#' + momentDate.replace(/\s+/g, '-') + '">' + momentDate + '</a></h3></div>')
141
                    .append($('<div id="' + momentDate.replace(/\s+/g, '-') + '" class="panel-collapse">')
142
                        .append($('<div class="panel-body">')
143
                            .append('<table class="class">'))));
142 144
143 145
            panelBody = $('h3.panel-title:contains("' + momentDate + '")').parents('div.panel').find('div.panel-body');
144 146
        }
145 147
146 148
        $(panelBody).prepend(
147
            $('<div class="media" data-moment="' + id + '">')
148
                .append('<div class="media-object pull-right"><button class="btn btn-danger delete-history"><span class="glyphicon glyphicon-fire"></span></button></div>')
149
                .append('<div class="media-body">')
150
                .append('<h4 class="media-heading">' + product + ' (<span class="calories">' + calories + '</span> calories)</h4>'));
149
            $('<tr data-moment="' + id + '">')
150
                .append(
151
                    '<td>' + product + '</td>'
152
                    + '<td class="text-right" style="width: 4em;"><span class="calories">' + calories + '</span></td>'
153
                    + '<td class="text-center" style="width: 6em;"><button class="btn btn-danger delete-history"><span class="glyphicon glyphicon-fire"></span></button></td>'));
151 154
    }
152 155
153 156
    function getDailyCalories() {
@ -212,24 +215,27 @@ $(function () {
212 215
                    for (var i = 0; i < response.length; i++) {
213 216
                        if (response[i]) {
214 217
                            var momentDate = new Date(response[i].Date).toDateString();
215
                            var moment = $('<div class="media" data-moment="' + response[i].Id + '">')
216
                                .append('<div class="media-object pull-right"><button class="btn btn-danger delete-history"><span class="glyphicon glyphicon-fire"></span></button></div>')
217
                                .append('<div class="media-body">')
218
                                .append('<h4 class="media-heading">' + response[i].Product + ' (<span class="calories">' + response[i].Calories + '</span> calories)</h4>');
218
                            var moment = $('<tr data-moment="' + response[i].Id + '">')
219
                                .append(
220
                                    '<td>' + response[i].Product + '</td>'
221
                                    + '<td class="text-right" style="width: 4em;"><span class="calories">' + response[i].Calories + '</span></td>'
222
                                    + '<td class="text-center" style="width: 6em;"><button class="btn btn-danger delete-history"><span class="glyphicon glyphicon-fire"></span></button></td>');
219 223
220 224
                            if (!lastDate || lastDate != momentDate) {
221 225
                                lastDate = momentDate;
222 226
    
223 227
                                if (panel) {
224
                                    $(panel).find('div.panel-body').append(moments);
228
                                    $(panel).find('.table').append(moments);
225 229
                                    $(history).append(panel);
226 230
                                    moments = [];
227 231
                                    panel = null;
228 232
                                }
229 233
    
230 234
                                panel = $('<div class="panel panel-default">')
231
                                    .append('<div class="panel-heading"><h3 class="panel-title">' + lastDate + '</h3></div>')
232
                                    .append('<div class="panel-body">');
235
                                    .append('<div class="panel-heading"><h3 class="panel-title"><a data-toggle="collapse" data-parent="#history" href="#' + lastDate.replace(/\s+/g, '-') + '">' + lastDate + '</a></h3></div>')
236
                                    .append($('<div id="' + lastDate.replace(/\s+/g, '-') + '" class="panel-collapse">')
237
                                        .append($('<div class="panel-body">')
238
                                            .append('<table class="table">')));
233 239
                            }
234 240
                                
235 241
                            moments.push(moment);
@ -240,6 +246,9 @@ $(function () {
240 246
                        $(panel).find('div.panel-body').append(moments);
241 247
                        $(history).append(panel);
242 248
                    }
249
250
                    $('.panel.panel-default > .panel-collapse').addClass('collapse');
251
                    $('.panel.panel-default:first > .panel-collapse').addClass('in');
243 252
                }
244 253
            });
245 254
    }