summaryrefslogtreecommitdiff
path: root/addons/account/static/src/js/grouped_view_widget.js
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/account/static/src/js/grouped_view_widget.js
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/account/static/src/js/grouped_view_widget.js')
-rw-r--r--addons/account/static/src/js/grouped_view_widget.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/addons/account/static/src/js/grouped_view_widget.js b/addons/account/static/src/js/grouped_view_widget.js
new file mode 100644
index 00000000..e1df30cf
--- /dev/null
+++ b/addons/account/static/src/js/grouped_view_widget.js
@@ -0,0 +1,40 @@
+odoo.define('account.ShowGroupedList', function (require) {
+"use strict";
+
+const { Component } = owl;
+const { useState } = owl.hooks;
+const AbstractFieldOwl = require('web.AbstractFieldOwl');
+const field_registry = require('web.field_registry_owl');
+
+class ListItem extends Component { }
+ListItem.template = 'account.GroupedItemTemplate';
+ListItem.props = ["item_vals", "options"];
+
+class ListGroup extends Component { }
+ListGroup.template = 'account.GroupedItemsTemplate';
+ListGroup.components = { ListItem }
+ListGroup.props = ["group_vals", "options"];
+
+
+class ShowGroupedList extends AbstractFieldOwl {
+ constructor(...args) {
+ super(...args);
+ this.data = this.value ? JSON.parse(this.value) : {
+ groups_vals: [],
+ options: {
+ discarded_number: '',
+ columns: [],
+ },
+ };
+ }
+ async willUpdateProps(nextProps) {
+ await super.willUpdateProps(nextProps);
+ Object.assign(this.data, JSON.parse(this.value));
+ }
+}
+ShowGroupedList.template = 'account.GroupedListTemplate';
+ShowGroupedList.components = { ListGroup }
+
+field_registry.add('grouped_view_widget', ShowGroupedList);
+return ShowGroupedList;
+});