summaryrefslogtreecommitdiff
path: root/addons/lunch/static/src/js/lunch_mobile.js
blob: f6ad1e920811125da762a23249079cd6d4fc3d58 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
odoo.define('lunch.LunchMobile', function (require) {
"use strict";

var config = require('web.config');
var LunchWidget = require('lunch.LunchWidget');
var LunchKanbanController = require('lunch.LunchKanbanController');
var LunchListController = require('lunch.LunchListController');

if (!config.device.isMobile) {
    return;
}

LunchWidget.include({
    template: "LunchWidgetMobile",

    /**
     * Override to set the toggle state allowing initially open it.
     *
     * @override
     */
    init: function (parent, params) {
        this._super.apply(this, arguments);
        this.keepOpen = params.keepOpen || undefined;
    },
});

var mobileFunctions = {
    /**
     * @override
     */
    init: function () {
        this._super.apply(this, arguments);
        this.openWidget = false;
    },

    //--------------------------------------------------------------------------
    // Private
    //--------------------------------------------------------------------------

    /**
     * Override to add the widget's toggle state to its data.
     *
     * @override
     * @private
     */
    _renderLunchWidget: function () {
        this.widgetData.keepOpen = this.openWidget;
        this.openWidget = false;
        return this._super.apply(this, arguments);
    },

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

    /**
     * @override
     * @private
     */
    _onAddProduct: function () {
        this.openWidget = true;
        this._super.apply(this, arguments);
    },

    /**
     * @override
     * @private
     */
    _onRemoveProduct: function () {
        this.openWidget = true;
        this._super.apply(this, arguments);
    },
};

LunchKanbanController.include(mobileFunctions);
LunchListController.include(mobileFunctions);

});