summaryrefslogtreecommitdiff
path: root/addons/lunch/static/src/js/lunch_list_renderer.js
blob: 0ab0b5c9c13b550f07f9ddf1fa9a073b85a85dd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
odoo.define('lunch.LunchListRenderer', function (require) {
"use strict";

/**
 * This file defines the Renderer for the Lunch List view, which is an
 * override of the ListRenderer.
 */

var ListRenderer = require('web.ListRenderer');

var LunchListRenderer = ListRenderer.extend({
    events: _.extend({}, ListRenderer.prototype.events, {
        'click .o_data_row': '_onClickListRow',
    }),

    /**
     * @override
     */
    start: function () {
        this.$el.addClass('o_lunch_view o_lunch_list_view');
        return this._super.apply(this, arguments);
    },
    /**
     * Override to add id of product_id in dataset.
     *
     * @override
     */
    _renderRow: function (record) {
        var tr = this._super.apply(this, arguments);
        tr.attr('data-product-id', record.data.id);
        return tr;
    },

    //--------------------------------------------------------------------------
    // Handlers
    //--------------------------------------------------------------------------

    /**
     * Open the add product wizard
     *
     * @private
     * @param {MouseEvent} ev Click event
     */
    _onClickListRow: function (ev) {
        ev.preventDefault();
        var productId = ev.currentTarget.dataset && ev.currentTarget.dataset.productId ? parseInt(ev.currentTarget.dataset.productId) : null;

        if (productId) {
            this.trigger_up('open_wizard', {productId: productId});
        }
    },
});

return LunchListRenderer;

});