Dashboard formula execution
First Claim
Patent Images
1. A method comprising:
- receiving, at a client from a server, a dashboard container comprising a spreadsheet file and a dashboard structure file both in a text-based, language-independent data interchange format, the dashboard container having resulted from conversion by the server of the spreadsheet file and the dashboard structure file into the text-based, language-independent data interchange format, the spreadsheet file comprising cells including a first cell that includes a first formula and one or more referenced cells upon which evaluation of the first formula depends, the first formula being expressed as an object in the text-based, language-independent data interchange format, the dashboard structure file comprising metadata for use in rendering a dashboard comprising a plurality of components, at least one of the plurality of components comprising a visual component;
rendering, at the client, the dashboard to include the spreadsheet and the plurality of components of the dashboard based at least on the received dashboard container;
registering a first listener for the first formula on each of the one or more referenced cells;
upon the first listener being notified of a change in any of the one or more referenced cells, notifying, by the first listener, a second listener for a second formula registered on the first cell by a second cell of the spreadsheet that comprises the second formula, the notifying occurring without evaluating the first formula based on the change;
recursively evaluating the second cell and the first cell according to the first listener and at least the second listener to enable updating the visual component, which relies upon the second cell; and
initiating, using a second rendering of the dashboard using the spreadsheet file, the dashboard structure file and results of the recursively evaluating.
1 Assignment
0 Petitions
Accused Products
Abstract
Formulas in dashboards can be executed at a client executing web technologies such as HTML5 and JavaScript. The formulas specified by a spreadsheet file are transformed into a pre-defined notation format and then recursively evaluated. Related apparatus, systems, techniques and articles are also described.
-
Citations
18 Claims
-
1. A method comprising:
-
receiving, at a client from a server, a dashboard container comprising a spreadsheet file and a dashboard structure file both in a text-based, language-independent data interchange format, the dashboard container having resulted from conversion by the server of the spreadsheet file and the dashboard structure file into the text-based, language-independent data interchange format, the spreadsheet file comprising cells including a first cell that includes a first formula and one or more referenced cells upon which evaluation of the first formula depends, the first formula being expressed as an object in the text-based, language-independent data interchange format, the dashboard structure file comprising metadata for use in rendering a dashboard comprising a plurality of components, at least one of the plurality of components comprising a visual component; rendering, at the client, the dashboard to include the spreadsheet and the plurality of components of the dashboard based at least on the received dashboard container; registering a first listener for the first formula on each of the one or more referenced cells; upon the first listener being notified of a change in any of the one or more referenced cells, notifying, by the first listener, a second listener for a second formula registered on the first cell by a second cell of the spreadsheet that comprises the second formula, the notifying occurring without evaluating the first formula based on the change; recursively evaluating the second cell and the first cell according to the first listener and at least the second listener to enable updating the visual component, which relies upon the second cell; and initiating, using a second rendering of the dashboard using the spreadsheet file, the dashboard structure file and results of the recursively evaluating. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer program product storing instructions, which when executed by at least one data processor forming part of at least one computing system, result in operations comprising:
-
receiving, at a client from a server, a dashboard container comprising a spreadsheet file and a dashboard structure file both in a text-based, language-independent data interchange format, the dashboard container having resulted from conversion by the server of the spreadsheet file and the dashboard structure file into the text-based, language-independent data interchange format, the spreadsheet file comprising cells including a first cell that includes a first formula and one or more referenced cells upon which evaluation of the first formula depends, the first formula being expressed as an object in the text-based, language-independent data interchange format, the dashboard structure file comprising metadata for use in rendering a dashboard comprising a plurality of components, at least one of the plurality of components comprising a visual component; rendering, at the client, the dashboard to include the spreadsheet and the plurality of components of the dashboard based at least on the received dashboard container; registering a first listener for the first formula on each of the one or more referenced cells; upon the first listener being notified of a change in any of the one or more referenced cells, notifying, by the first listener, a second listener for a second formula registered on the first cell by a second cell of the spreadsheet that comprises the second formula, the notifying occurring without evaluating the first formula based on the change; recursively evaluating the second cell and the first cell according to the first listener and at least the second listener to enable updating the visual component, which relies upon the second cell; and initiating, using a second rendering of the dashboard using the spreadsheet file, the dashboard structure file and results of the recursively evaluating. - View Dependent Claims (12, 13, 14, 15, 16, 18)
-
-
17. A system comprising:
-
at least one data processor; and memory storing instructions, which when executed by one or more processors, result in operations comprising; receiving, at a client from a server, a dashboard container comprising a spreadsheet file and a dashboard structure file both in a text-based, language-independent data interchange format, the dashboard container having resulted from conversion by the server of the spreadsheet file and the dashboard structure file into the text-based, language-independent data interchange format, the spreadsheet file comprising cells including a first cell that includes a first formula and one or more referenced cells upon which evaluation of the first formula depends, the first formula being expressed as an object in the text-based, language-independent data interchange format, the dashboard structure file comprising metadata for use in rendering a dashboard comprising a plurality of components, at least one of the plurality of components comprising a visual component; rendering, at the client, the dashboard to include the spreadsheet and the plurality of components of the dashboard based at least on the received dashboard container; registering a first listener for the first formula on each of the one or more referenced cells; upon the first listener being notified of a change in any of the one or more referenced cells, notifying, by the first listener, a second listener for a second formula registered on the first cell by a second cell of the spreadsheet that comprises the second formula, the notifying occurring without evaluating the first formula based on the change; recursively evaluating the second cell and the first cell according to the first listener and at least the second listener to enable updating the visual component, which relies upon the second cell; and initiating, using a second rendering of the dashboard using the spreadsheet file, the dashboard structure file and results of the recursively evaluating.
-
Specification