diff --git a/bemade_hierarchical_tree_view/__init__.py b/bemade_hierarchical_tree_view/__init__.py
index 8b13789..0650744 100644
--- a/bemade_hierarchical_tree_view/__init__.py
+++ b/bemade_hierarchical_tree_view/__init__.py
@@ -1 +1 @@
-
+from . import models
diff --git a/bemade_hierarchical_tree_view/__manifest__.py b/bemade_hierarchical_tree_view/__manifest__.py
index 2f065d0..b2835db 100644
--- a/bemade_hierarchical_tree_view/__manifest__.py
+++ b/bemade_hierarchical_tree_view/__manifest__.py
@@ -24,8 +24,8 @@
'author': 'Bemade Inc.',
'website': 'http://www.bemade.org',
'license': 'OPL-1',
- 'depends': ['web'],
- 'data': [],
+ 'depends': ['web', 'contacts'],
+ 'data': ['views/res_partner.xml'],
'assets': {
'web.assets_backend': [
'bemade_hierarchical_tree_view/static/src/*/**',
diff --git a/bemade_hierarchical_tree_view/models/__init__.py b/bemade_hierarchical_tree_view/models/__init__.py
new file mode 100644
index 0000000..81f52e3
--- /dev/null
+++ b/bemade_hierarchical_tree_view/models/__init__.py
@@ -0,0 +1 @@
+from . import ir_ui_view
diff --git a/bemade_hierarchical_tree_view/models/ir_ui_view.py b/bemade_hierarchical_tree_view/models/ir_ui_view.py
new file mode 100644
index 0000000..cd7f412
--- /dev/null
+++ b/bemade_hierarchical_tree_view/models/ir_ui_view.py
@@ -0,0 +1,18 @@
+from odoo import models, fields
+
+
+class View(models.Model):
+ _inherit = "ir.ui.view"
+
+ type = fields.Selection(
+ selection_add=[('htree', 'Hierarchical Tree')]
+ )
+
+
+class ActionView(models.Model):
+ _inherit = "ir.actions.act_window.view"
+
+ view_mode = fields.Selection(
+ selection_add=[('htree', 'Hierarchical Tree')],
+ ondelete={'htree': 'cascade'},
+ )
diff --git a/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view.js b/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view.js
index abb0456..a717c41 100644
--- a/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view.js
+++ b/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view.js
@@ -1 +1,18 @@
/** @odoo-module **/
+
+import { listView } from "@web/views/list/list_view";
+import { HierarchicalTreeViewController } from "./hierarchical_tree_view_controller";
+import { HierarchicalTreeViewRenderer } from "./hierarchical_tree_view_renderer";
+import { registry } from "@web/core/registry";
+
+const HierarchicalTreeView = {
+ ...listView,
+ type: "htree",
+ display_name: "Hierarchical Tree",
+ icon: "fa fa-sitemap",
+ accessKey: "h",
+ Controller: HierarchicalTreeViewController,
+ Renderer: HierarchicalTreeViewRenderer,
+}
+
+registry.category("views").add("htree", HierarchicalTreeView);
diff --git a/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_controller.js b/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_controller.js
index 1c124dc..c7530d5 100644
--- a/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_controller.js
+++ b/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_controller.js
@@ -3,16 +3,19 @@
import { ListController } from "@web/views/list/list_controller";
export class HierarchicalTreeViewController extends ListController {
-
+ setup() {
+ super.setup();
+ }
}
HierarchicalTreeViewController.props = {
...ListController.props,
- parentField: String,
- childField: String,
+ parentField: {type: String, optional: true},
+ childField: {type: String, optional: true},
}
HierarchicalTreeViewController.defaultProps = {
...ListController.defaultProps,
parentField: 'parent_id',
childField: 'child_id',
-}
\ No newline at end of file
+}
+HierarchicalTreeViewController.template = "web.HierarchicalTreeView";
\ No newline at end of file
diff --git a/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_controller.xml b/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_controller.xml
new file mode 100644
index 0000000..c787897
--- /dev/null
+++ b/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_controller.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_renderer.js b/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_renderer.js
index 029d418..5de3af6 100644
--- a/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_renderer.js
+++ b/bemade_hierarchical_tree_view/static/src/components/hierarchical_tree_view_renderer.js
@@ -1 +1,7 @@
-/** @odoo-module **/
\ No newline at end of file
+/** @odoo-module **/
+
+import { ListRenderer } from "@web/views/list/list_renderer";
+
+export class HierarchicalTreeViewRenderer extends ListRenderer {
+
+}
\ No newline at end of file
diff --git a/bemade_hierarchical_tree_view/views/res_partner.xml b/bemade_hierarchical_tree_view/views/res_partner.xml
new file mode 100644
index 0000000..aef4df7
--- /dev/null
+++ b/bemade_hierarchical_tree_view/views/res_partner.xml
@@ -0,0 +1,22 @@
+
+
+
+ res.partner.view.htree
+ res.partner
+
+
+
+
+
+
+
+
+ kanban,tree,form,activity,htree
+
+
+
+ htree
+
+
+
+
\ No newline at end of file