From d6068076d7e5c657be807ed1c97095198ff003d2 Mon Sep 17 00:00:00 2001 From: tarteo Date: Wed, 22 Feb 2023 14:50:32 +0100 Subject: [PATCH] [ADD] web_help [FIX] web_help: Run pre-commit [FIX] web_help: Run pre-commit [FIX] web_help: Run pre-commit [FIX] web_help: Run pre-commit [IMP] Easy changeable template and buttons texts, more demo, fixed readme. [IMP] Easy changeable template and buttons texts, more demo, fixed readme. [IMP] Easy changeable template and buttons texts, more demo, fixed readme. [FIX] Grammar --- setup/web_help/odoo/addons/web_help | 1 + setup/web_help/setup.py | 6 + web_help/README.rst | 35 +++++ web_help/__init__.py | 0 web_help/__manifest__.py | 26 ++++ web_help/readme/CONTRIBUTORS.rst | 1 + web_help/readme/DESCRIPTION.rst | 7 + web_help/readme/USAGE.rst | 15 ++ .../static/description/changepassword.png | Bin 0 -> 13500 bytes web_help/static/description/demo.gif | Bin 0 -> 87733 bytes web_help/static/description/viewswitcher.png | Bin 0 -> 4435 bytes .../static/src/change_password_trip.esm.js | 23 +++ .../components/help_button/help_button.esm.js | 28 ++++ .../components/help_button/help_button.xml | 43 ++++++ .../components/highlighter/highlighter.esm.js | 131 ++++++++++++++++++ .../components/highlighter/highlighter.scss | 23 +++ .../components/highlighter/highlighter.xml | 15 ++ web_help/static/src/helpers.esm.js | 16 +++ web_help/static/src/trip.esm.js | 99 +++++++++++++ web_help/static/src/trip.xml | 29 ++++ web_help/static/src/user_trip.esm.js | 31 +++++ 21 files changed, 529 insertions(+) create mode 120000 setup/web_help/odoo/addons/web_help create mode 100644 setup/web_help/setup.py create mode 100644 web_help/README.rst create mode 100644 web_help/__init__.py create mode 100644 web_help/__manifest__.py create mode 100644 web_help/readme/CONTRIBUTORS.rst create mode 100644 web_help/readme/DESCRIPTION.rst create mode 100644 web_help/readme/USAGE.rst create mode 100644 web_help/static/description/changepassword.png create mode 100644 web_help/static/description/demo.gif create mode 100644 web_help/static/description/viewswitcher.png create mode 100644 web_help/static/src/change_password_trip.esm.js create mode 100644 web_help/static/src/components/help_button/help_button.esm.js create mode 100644 web_help/static/src/components/help_button/help_button.xml create mode 100644 web_help/static/src/components/highlighter/highlighter.esm.js create mode 100644 web_help/static/src/components/highlighter/highlighter.scss create mode 100644 web_help/static/src/components/highlighter/highlighter.xml create mode 100644 web_help/static/src/helpers.esm.js create mode 100644 web_help/static/src/trip.esm.js create mode 100644 web_help/static/src/trip.xml create mode 100644 web_help/static/src/user_trip.esm.js diff --git a/setup/web_help/odoo/addons/web_help b/setup/web_help/odoo/addons/web_help new file mode 120000 index 000000000..ab9e4cced --- /dev/null +++ b/setup/web_help/odoo/addons/web_help @@ -0,0 +1 @@ +../../../../web_help \ No newline at end of file diff --git a/setup/web_help/setup.py b/setup/web_help/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/web_help/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/web_help/README.rst b/web_help/README.rst new file mode 100644 index 000000000..38929e877 --- /dev/null +++ b/web_help/README.rst @@ -0,0 +1,35 @@ +**This file is going to be generated by oca-gen-addon-readme.** + +*Manual changes will be overwritten.* + +Please provide content in the ``readme`` directory: + +* **DESCRIPTION.rst** (required) +* INSTALL.rst (optional) +* CONFIGURE.rst (optional) +* **USAGE.rst** (optional, highly recommended) +* DEVELOP.rst (optional) +* ROADMAP.rst (optional) +* HISTORY.rst (optional, recommended) +* **CONTRIBUTORS.rst** (optional, highly recommended) +* CREDITS.rst (optional) + +Content of this README will also be drawn from the addon manifest, +from keys such as name, authors, maintainers, development_status, +and license. + +A good, one sentence summary in the manifest is also highly recommended. + + +Automatic changelog generation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`HISTORY.rst` can be auto generated using `towncrier `_. + +Just put towncrier compatible changelog fragments into `readme/newsfragments` +and the changelog file will be automatically generated and updated when a new fragment is added. + +Please refer to `towncrier` documentation to know more. + +NOTE: the changelog will be automatically generated when using `/ocabot merge $option`. +If you need to run it manually, refer to `OCA/maintainer-tools README `_. diff --git a/web_help/__init__.py b/web_help/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/web_help/__manifest__.py b/web_help/__manifest__.py new file mode 100644 index 000000000..3d4ffdd50 --- /dev/null +++ b/web_help/__manifest__.py @@ -0,0 +1,26 @@ +{ + "name": "Help Framework", + "sumamry": "This module introduces a new way to guide users", + "author": "Onestein,Odoo Community Association (OCA)", + "category": "Technical", + "license": "AGPL-3", + "version": "16.0.1.0.0", + "website": "https://github.com/OCA/web", + "depends": [ + "web", + ], + "assets": { + "web.assets_backend": [ + "web_help/static/src/components/highlighter/highlighter.esm.js", + "web_help/static/src/components/highlighter/highlighter.scss", + "web_help/static/src/components/highlighter/highlighter.xml", + "web_help/static/src/helpers.esm.js", + "web_help/static/src/trip.esm.js", + "web_help/static/src/user_trip.esm.js", + "web_help/static/src/change_password_trip.esm.js", + "web_help/static/src/components/help_button/help_button.esm.js", + "web_help/static/src/components/help_button/help_button.xml", + "web_help/static/src/trip.xml", + ] + }, +} diff --git a/web_help/readme/CONTRIBUTORS.rst b/web_help/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..47b6403d0 --- /dev/null +++ b/web_help/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Dennis Sluijk diff --git a/web_help/readme/DESCRIPTION.rst b/web_help/readme/DESCRIPTION.rst new file mode 100644 index 000000000..0f2c87499 --- /dev/null +++ b/web_help/readme/DESCRIPTION.rst @@ -0,0 +1,7 @@ +This module introduces a new way to guide the user through Odoo. +This module is created because **the standard Odoo tours:** + +#. forces the user to create records; +#. cannot be reopened; +#. is only available for the admin user; +#. the bubbles are not obvious. diff --git a/web_help/readme/USAGE.rst b/web_help/readme/USAGE.rst new file mode 100644 index 000000000..8ee6f9d70 --- /dev/null +++ b/web_help/readme/USAGE.rst @@ -0,0 +1,15 @@ +**Demo:** + + .. image:: ../static/description/demo.gif + +You can see the demo live by going to the users list view (Settings > Users & Companies > Users) +and clicking the little '?' next to the view switcher. + + .. image:: ../static/description/viewswitcher.png + +Also there's a demo for the change password wizard: + + .. image:: ../static/description/changepassword.png + +It's easy to create your own guides, please refer to ``static/src/user_trip.esm.js`` and +``static/src/change_password_trip.esm.js`` diff --git a/web_help/static/description/changepassword.png b/web_help/static/description/changepassword.png new file mode 100644 index 0000000000000000000000000000000000000000..e3ccdc84a34cac04c244243a1781c2b2587d61ea GIT binary patch literal 13500 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

Y#R8!Npb1;r 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 M>%aQbrCRR407l+2kN^Mx literal 0 HcmV?d00001 diff --git a/web_help/static/description/viewswitcher.png b/web_help/static/description/viewswitcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b4a8cb435759b7d364a4cb43383d6aef281dd696 GIT binary patch literal 4435 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 literal 0 HcmV?d00001 diff --git a/web_help/static/src/change_password_trip.esm.js b/web_help/static/src/change_password_trip.esm.js new file mode 100644 index 000000000..0135d9aed --- /dev/null +++ b/web_help/static/src/change_password_trip.esm.js @@ -0,0 +1,23 @@ +/** @odoo-module **/ +import {Trip} from "@web_help/trip.esm"; +import {registry} from "@web/core/registry"; + +export class ChangePasswordTrip extends Trip { + setup() { + this.addStep({ + selector: "th[data-name='new_passwd'], td[name='new_passwd']", + content: this.env._t("Change the password here, make sure it's secure."), + }); + + this.addStep({ + selector: "button[name='change_password_button']", + content: this.env._t("Click here to confirm it."), + }); + } +} + +registry.category("trips").add("change_password_trip", { + Trip: ChangePasswordTrip, + selector: (model, viewType) => + model === "change.password.wizard" && viewType === "form", +}); diff --git a/web_help/static/src/components/help_button/help_button.esm.js b/web_help/static/src/components/help_button/help_button.esm.js new file mode 100644 index 000000000..24b3a7bed --- /dev/null +++ b/web_help/static/src/components/help_button/help_button.esm.js @@ -0,0 +1,28 @@ +/** @odoo-module **/ +import LegacyControlPanel from "web.ControlPanel"; +import {ControlPanel} from "@web/search/control_panel/control_panel"; +import {findTrip} from "@web_help/helpers.esm"; +import {Component, useState} from "@odoo/owl"; +import {ActionDialog} from "@web/webclient/actions/action_dialog"; + +export class HelpButton extends Component { + setup() { + const foundTrip = findTrip(this.props.resModel, this.props.viewType); + this.state = useState({ + TripClass: foundTrip, + }); + } + + onClick() { + const TripClass = this.state.TripClass; + const trip = new TripClass(this.env); + trip.setup(); + trip.start(); + } +} + +HelpButton.template = "web_help.HelpButton"; + +Object.assign(ControlPanel.components, {HelpButton}); +Object.assign(LegacyControlPanel.components, {HelpButton}); +Object.assign(ActionDialog.components, {HelpButton}); diff --git a/web_help/static/src/components/help_button/help_button.xml b/web_help/static/src/components/help_button/help_button.xml new file mode 100644 index 000000000..ac6034547 --- /dev/null +++ b/web_help/static/src/components/help_button/help_button.xml @@ -0,0 +1,43 @@ + + + + + + + +

+ + + + + + + + + + + + + + diff --git a/web_help/static/src/components/highlighter/highlighter.esm.js b/web_help/static/src/components/highlighter/highlighter.esm.js new file mode 100644 index 000000000..a3caf7bb6 --- /dev/null +++ b/web_help/static/src/components/highlighter/highlighter.esm.js @@ -0,0 +1,131 @@ +/** @odoo-module **/ +import {Component, EventBus, useRef, useState} from "@odoo/owl"; +import {registry} from "@web/core/registry"; + +export class Highlighter extends Component { + setup() { + this.state = useState({visible: false}); + this.bus = this.props.bus; + this.bus.on("hide", this, () => this.hide()); + this.bus.on("highlight", this, (options) => this.highlight(options)); + this.highlightRef = useRef("highlightRef"); + this.overlayRef = useRef("overlay"); + } + + hide() { + this.state.visible = false; + this.resetAnimation(); + } + + _getBoundsOfElement($el) { + const bounds = { + x: Number.MAX_SAFE_INTEGER, + y: Number.MAX_SAFE_INTEGER, + }; + + let xEnd = 0, + yEnd = 0; + + $el.filter(":visible").each(function () { + const elementBounds = this.getBoundingClientRect(); + if (elementBounds.x < bounds.x) { + bounds.x = elementBounds.x; + } + if (elementBounds.y < bounds.y) { + bounds.y = elementBounds.y; + } + if (xEnd < elementBounds.x + elementBounds.width) { + xEnd = elementBounds.x + elementBounds.width; + } + if (yEnd < elementBounds.y + elementBounds.height) { + yEnd = elementBounds.y + elementBounds.height; + } + }); + + bounds.width = xEnd - bounds.x; + bounds.height = yEnd - bounds.y; + return bounds; + } + + highlight({selector, content, animate = 250, padding = 10}) { + const selection = $(selector); + + if (!selection.length) { + return console.error("Element not found.", selector); + } + const bounds = this._getBoundsOfElement(selection); + this.state.visible = true; + this.animate(content, bounds, animate, padding); + } + + animate(content, bounds, animate = 250, padding = 10) { + const $el = $(this.highlightRef.el); + + $el.popover("dispose"); + $el.animate( + { + top: _.str.sprintf("%spx", Math.floor(bounds.y) - padding), + left: _.str.sprintf("%spx", Math.floor(bounds.x) - padding), + width: _.str.sprintf("%spx", Math.floor(bounds.width) + padding * 2), + height: _.str.sprintf("%spx", Math.floor(bounds.height) + padding * 2), + }, + animate ? animate : 0, + function () { + $el.popover( + _.extend(this._getPopoverOptions(), { + content: content, + }) + ).popover("show"); + }.bind(this) + ); + } + + _getPopoverOptions() { + return { + container: $(this.overlayRef.el), + placement: "auto", + html: true, + trigger: "manual", + boundary: "viewport", + sanitize: false, + template: + '', + }; + } + + resetAnimation() { + const $el = $(this.highlightRef.el); + $el.popover("dispose"); + $el.css({ + top: 0, + left: 0, + width: 0, + height: 0, + }); + } +} +Highlighter.template = "web_help.Highlighter"; + +export const highlighterService = { + start() { + const bus = new EventBus(); + + registry.category("main_components").add("Highlighter", { + Component: Highlighter, + props: {bus}, + }); + + return { + hide: () => bus.trigger("hide"), + highlight: (selector, content, animate = 250, padding = 10) => + bus.trigger("highlight", { + selector: selector, + content: content, + animate: animate, + padding: padding, + }), + }; + }, +}; + +registry.category("services").add("highlighter", highlighterService); diff --git a/web_help/static/src/components/highlighter/highlighter.scss b/web_help/static/src/components/highlighter/highlighter.scss new file mode 100644 index 000000000..d2182ada0 --- /dev/null +++ b/web_help/static/src/components/highlighter/highlighter.scss @@ -0,0 +1,23 @@ +.web_help_overlay { + top: 0px; + left: 0px; + width: 100%; + height: 100%; + position: fixed; + z-index: 1151; + + .web_help_highlight { + position: absolute; + outline: 1000vw solid rgba(0, 0, 0, 0.7); + } + + .popover { + background-color: transparent; + border: none; + + .popover-body { + color: #fff; + font-size: 1.2rem; + } + } +} diff --git a/web_help/static/src/components/highlighter/highlighter.xml b/web_help/static/src/components/highlighter/highlighter.xml new file mode 100644 index 000000000..9a3e6c8b4 --- /dev/null +++ b/web_help/static/src/components/highlighter/highlighter.xml @@ -0,0 +1,15 @@ + + + + +
+
+
+
+
+ + diff --git a/web_help/static/src/helpers.esm.js b/web_help/static/src/helpers.esm.js new file mode 100644 index 000000000..dc93f1342 --- /dev/null +++ b/web_help/static/src/helpers.esm.js @@ -0,0 +1,16 @@ +/** @odoo-module **/ +import {registry} from "@web/core/registry"; + +export function findTrip(model, viewType) { + const trips = registry.category("trips").getAll(); + const matchedTrips = _.filter(trips, function (trip) { + return trip.selector(model, viewType); + }); + if (matchedTrips.length >= 1) { + if (matchedTrips.length != 1) { + console.warning("More than one trip found", model, viewType); + } + return matchedTrips[0].Trip; + } + return null; +} diff --git a/web_help/static/src/trip.esm.js b/web_help/static/src/trip.esm.js new file mode 100644 index 000000000..21467e284 --- /dev/null +++ b/web_help/static/src/trip.esm.js @@ -0,0 +1,99 @@ +/** @odoo-module **/ +import {renderToString} from "@web/core/utils/render"; + +export class Trip { + constructor(env) { + this.steps = []; + this.env = env; + this.index = -1; + this.highlighterService = this.env.services.highlighter; + } + + get count() { + return this.steps.length; + } + + get isAtLastStep() { + return this.index === this.count - 1; + } + + _getStepTemplate() { + const step = this.steps[this.index]; + if (step.template) { + return step.template; + } + return this.isAtLastStep ? "web_help.TripStepLast" : "web_help.TripStep"; + } + + setup() { + return; + } + + addStep({ + selector, + content, + beforeHighlight = async () => { + return; + }, + animate = 250, + padding = 10, + template = null, + renderContext = {}, + }) { + this.steps.push({ + selector: selector, + content: content, + beforeHighlight: beforeHighlight, + animate: animate, + padding: padding, + template: template, + renderContext: renderContext, + }); + } + + start() { + this.nextStep(); + } + + stop() { + this.index = -1; + this.highlighterService.hide(); + } + + _getStepRenderContext() { + const step = this.steps[this.index]; + + return Object.assign( + { + content: step.content, + cbBtnText: this.isAtLastStep + ? this.env._t("Finish") + : this.env._t("Got it"), + closeBtnText: this.env._t("Close"), + }, + step.renderContext + ); + } + + async nextStep() { + this.index++; + let cb = this.nextStep; + if (this.isAtLastStep) { + cb = this.stop; + } + const step = this.steps[this.index]; + + const $stepRender = $( + renderToString(this._getStepTemplate(), this._getStepRenderContext()) + ); + $stepRender.find(".web_help_cb_button").click(cb.bind(this)); + $stepRender.find(".web_help_close").click(this.stop.bind(this)); + await step.beforeHighlight(); + this.highlighterService.highlight( + step.selector, + $stepRender, + step.animate, + step.padding + ); + } +} diff --git a/web_help/static/src/trip.xml b/web_help/static/src/trip.xml new file mode 100644 index 000000000..cc2de88b9 --- /dev/null +++ b/web_help/static/src/trip.xml @@ -0,0 +1,29 @@ + + + +
+
+ +
+ + + +
+
+ + +
+
+ +
+ + +
+
+
diff --git a/web_help/static/src/user_trip.esm.js b/web_help/static/src/user_trip.esm.js new file mode 100644 index 000000000..4c9afb7b9 --- /dev/null +++ b/web_help/static/src/user_trip.esm.js @@ -0,0 +1,31 @@ +/** @odoo-module **/ +import {Trip} from "@web_help/trip.esm"; +import {registry} from "@web/core/registry"; + +export class UserTrip extends Trip { + setup() { + this.addStep({ + selector: ".o_list_button_add", + content: this.env._t("To create a new user click here."), + }); + + this.addStep({ + selector: ".o_cp_searchview", + content: this.env._t("Use the searchbar to find specific users."), + renderContext: { + cbBtnText: this.env._t("Next"), + closeBtnText: this.env._t("Cancel"), + }, + }); + + this.addStep({ + selector: ".o_cp_switch_buttons", + content: this.env._t("You can switch to different views here."), + }); + } +} + +registry.category("trips").add("user_trip", { + Trip: UserTrip, + selector: (model, viewType) => model === "res.users" && viewType === "list", +});