IP Library › Granted Patent US 10,911,324
Granted Patent B2
US 10,911,324 · App. 16/450,592 · Granted Feb 2, 2021

Declarative and reactive data layer for component-based user interfaces

Inventors: Kevin Venkiteswaran (Alameda, CA); Diego Ferreiro Val (San Francisco, CA); Caridy Patino (San Francisco, CA); Trevor James Bliss (Oakland, CA)
Assignee: Salesforce.com, Inc.
H04L41/22G06F3/14G06F9/451G06F9/54G06F9/547G06F16/26G06F16/9024G06F16/953G06F16/958G06F40/14G06F40/205G06F40/221G06N20/00H04L63/10H04L67/02H04L67/141H04L67/42H04L67/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,911,324
App. No.
16/450,592
Granted
Feb 2, 2021
Kind
B2
Abstract

A wire web component graph that includes a plurality of nodes may be accessed to identify one or more application procedure interfaces (APIs) through which to update one or more data values included in a designated wire web component in a graphical user interface (GUI) being presented on a display device. Each of the data values may correspond to a respective data field represented in the wire web component graph, and each data field may be associated with a respective API in the wire web component graph. The graphical user interface may be updated based on one or more updated data values determined by communicating with the identified APIs over a network and via a communications interface.

Claims (32)

1. A method comprising:

receiving a request to update a designated one of a plurality of wire web component in a graphical user interface (GUI) being presented on a web page rendered in a web browser on a display device, the designated wire web component including a custom HTML element presenting a representation of a designated data value;

identifying via a processor application procedure interface (API) through which to update the designated data value by accessing a wire web component graph representation that includes a plurality of nodes, each of the wire web components being represented by a respective one of the nodes, each of the data values corresponding to a respective data field represented in the wire web component graph representation, each data field being associated with at least one of a plurality of APIs represented in the wire web component graph representation;

determining one or more updated data values by communicating with the identified API over a network and via a communications interface; and

dynamically updating the representation of the designated data value based on the wire web component graph representation after the web page is rendered.

2. The method recited in claim 1 , wherein the request to update the designated wire web component is received from a remote server via the communications interface.

3. The method recited in claim 2 , wherein the request to update the designated wire web component indicates that one or more of the data values has changed since the GUI was initially presented on the display device.

4. The method recited in claim 1 , wherein the request to update the designated wire web component is generated by the processor based on a triggering event.

5. The method recited in claim 4 , wherein the triggering event comprises passage of a designated period of time.

6. The method recited in claim 4 , wherein the triggering event comprises detecting a designated user input event created based on user input received via the GUI.

7. The method recited in claim 4 , wherein the triggering event comprises detecting a change in a designated portion of the GUI that does not include the wire web component.

8. The method recited in claim 1 , wherein updating the graphical user interface comprises applying a data transformation procedure to a designated one of the updated data values to produce an updated component-level view of the designated data value.

9. The method recited in claim 8 , wherein a document object model (DOM) tree associated with the graphical user interface is updated when it is determined that the updated component-level view of the designated data value differs from a previous component-level view of the designated data value.

10. The method recited in claim 1 , wherein each of a first subset of the nodes corresponds to a respective one of a plurality of wire web components, wherein each of a second subset of the nodes corresponds to a respective one of the data fields, and wherein each of a third subset of the nodes corresponds to a respective application procedure interface (API).

11. The method recited in claim 1 , wherein the designated wire web component is associated with a wire web component definition implemented via computing programming language code, and wherein the wire web component definition includes a template implemented via Hypertext Markup Language (HTML).

12. The method recited in claim 11 , wherein the wire web component graph is constructed in part by parsing a respective wire web component definition for each of a plurality of wire web components.

13. A computing device configured to perform a method comprising:

receiving a request to update a designated one of a plurality of wire web component in a graphical user interface (GUI) being presented on a web page rendered in a web browser on a display device, the designated wire web component including a custom HTML element presenting a representation of a designated data value;

identifying via a processor an application procedure interface (API) through which to update the designated data value by accessing a wire web component graph representation that includes a plurality of nodes, each of the wire web components being represented by a respective one of the nodes, each of the data values corresponding to a respective data field represented in the wire web component graph representation, each data field being associated with at least one of a plurality of APIs represented in the wire web component graph representation;

determining one or more updated data values by communicating with the identified API over a network and via a communications interface; and

dynamically updating the representation of the designated data value based on the wire web component graph representation after the web page is rendered.

14. The computing device recited in claim 13 , wherein the request to update the designated wire web component is received from a remote server via the communications interface, and wherein the request to update the designated wire web component indicates that one or more of the data values has changed since the GUI was initially presented on the display device.

15. The computing device recited in claim 13 , wherein the request to update the designated wire web component is generated by the processor based on a triggering event.

16. The computing device recited in claim 15 , wherein the triggering event comprises passage of a designated period of time.

17. The computing device recited in claim 15 , wherein the triggering event comprises detecting a designated user input event created based on user input received via the GUI.

18. The computing device recited in claim 15 , wherein the triggering event comprises detecting a change in a designated portion of the GUI that does not include the wire web component.

19. One or more non-transitory computer readable media having instructions stored thereon for performing a method, the method comprising:

receiving a request to update a designated one of a plurality of wire web component in a graphical user interface (GUI) being presented on a web page rendered in a web browser on a display device, the designated wire web component including a custom HTML element presenting a representation of a designated data value;

identifying via a processor an application procedure interface (API) through which to update the designated data value by accessing a wire web component graph representation that includes a plurality of nodes, each of the wire web components being represented by a respective one of the nodes, each of the data values corresponding to a respective data field represented in the wire web component graph representation, each data field being associated with at least one of a plurality of APIs represented in the wire web component graph representation;

determining one or more updated data values by communicating with the identified API over a network and via a communications interface; and

dynamically updating the representation of the designated data value based on the wire web component graph representation after the web page is rendered.

20. The one or more non-transitory computer readable media recited in claim 19 , wherein the request to update the designated wire web component is received from a remote server via the communications interface, and wherein the request to update the designated wire web component indicates that one or more of the data values has changed since the GUI was initially presented on the display device.

Assignments (2)
CHANGE OF NAME Recorded Aug 4, 2026
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 076118/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2019
From: VENKITESWARAN, KEVIN; VAL, DIEGO FERREIRO; PATINO, CARIDY; BLISS, TREVOR JAMES
To: SALESFORCE.COM, INC.
Reel/Frame 049570/0486 →
Continuity (2)
Provisional Application 62840458 · Apr 30, 2019
Related Publication 20200351176A1 · Nov 5, 2020