Skip to content

Commit

Permalink
Merge branch 'release/2.6.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
sequba committed Feb 15, 2024
2 parents 9981e1b + dd75fef commit 14f7ffc
Show file tree
Hide file tree
Showing 212 changed files with 2,996 additions and 1,137 deletions.
2 changes: 1 addition & 1 deletion .config/source-license-header.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/**
* @license
* Copyright (c) 2023 Handsoncode. All rights reserved.
* Copyright (c) 2024 Handsoncode. All rights reserved.
*/
6 changes: 0 additions & 6 deletions .config/webpack/development.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,6 @@ module.exports.create = function create() {
commonjs: 'tiny-emitter',
amd: 'tiny-emitter',
},
unorm: {
root: 'unorm',
commonjs2: 'unorm',
commonjs: 'unorm',
amd: 'unorm',
},
};
c.plugins.push(new WebpackBar({ name: ` ${PACKAGE_FILENAME}.js` }));
});
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [Unreleased]

## [2.6.2] - 2024-02-15

### Changed

- Removed `unorm` dependency. [#1370](https://github.com/handsontable/hyperformula/issues/1370)

## [2.6.1] - 2023-12-27

### Fixed
Expand Down
25 changes: 25 additions & 0 deletions docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,31 @@ module.exports = {
`],
// Google Console
['meta', { name: 'google-site-verification', content: 'MZpSOa8SNvFLRRGwUQpYVZ78kIHQoPVdVbafHhJ_d4Q' }],
// Sentry monitoring
[
'script', {}, `
window.sentryOnLoad = function () {
Sentry.init({
integrations: [
// If you use a bundle with performance monitoring enabled, add the BrowserTracing integration
new Sentry.BrowserTracing(),
// If you use a bundle with session replay enabled, add the SessionReplay integration
new Sentry.Replay({
maskAllText: false,
blockAllMedia: false,
}),
],
});
};
`],
[
'script',
{
id: 'Sentry.io',
src: 'https://js.sentry-cdn.com/50617701901516ce348cb7b252564a60.min.js',
crossorigin: 'anonymous',
},
],
// Favicon
['link', { rel: 'apple-touch-icon', sizes: '180x180', href: '/favicon/apple-touch-icon.png' }],
['link', { rel: 'icon', sizes: '32x32', type: 'image/png', href: '/favicon/favicon-32x32.png' }],
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/advanced-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,5 +126,5 @@ console.log(winningTeam)
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: advanced-usage"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
2 changes: 1 addition & 1 deletion docs/guide/basic-operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -411,5 +411,5 @@ sample UI.
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: basic-operations"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
2 changes: 1 addition & 1 deletion docs/guide/basic-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,5 +69,5 @@ works. It's time to move on to a more
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: basic-usage"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
></iframe>
2 changes: 1 addition & 1 deletion docs/guide/batch-operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,5 +128,5 @@ The [paste](../api/classes/hyperformula.md#paste) method also can't be called wh
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: batch-operations"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
1 change: 0 additions & 1 deletion docs/guide/client-side-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ Or you may load just a minimal build and add the dependencies on your own:
```html
<script src="https://cdn.jsdelivr.net/npm/chevrotain@6/lib/chevrotain.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tiny-emitter@2/dist/tinyemitter.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/unorm@1/lib/unorm.js"></script>
<script src="https://cdn.jsdelivr.net/npm/hyperformula/dist/hyperformula.min.js"></script>
```

Expand Down
8 changes: 7 additions & 1 deletion docs/guide/clipboard-operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,10 @@ Depending on what was cut, the data is stored as:

## Demo

<iframe src="https://codesandbox.io/embed/github/handsontable/hyperformula-demos/tree/2.6.x/clipboard-operations?autoresize=1&fontsize=11&hidenavigation=1&theme=light&view=preview" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="handsontable/hyperformula-demos: clipboard-operations" allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking" sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"></iframe>
<iframe
src="https://codesandbox.io/embed/github/handsontable/hyperformula-demos/tree/2.6.x/clipboard-operations?autoresize=1&fontsize=11&hidenavigation=1&theme=light&view=preview"
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: clipboard-operations"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
2 changes: 1 addition & 1 deletion docs/guide/custom-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ This demo contains the implementation of both the
style="width:100%; height:300px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: custom-functions"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
## Function options
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/date-and-time-handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,5 +103,5 @@ And now, HyperFormula recognizes these values as valid dates and can operate on
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: date-time"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
2 changes: 1 addition & 1 deletion docs/guide/demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
style="width:100%; height:500px; margin-bottom: 50px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: vanillajs-demo"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
></iframe>
In this demo, you can see how HyperFormula handles basic operations by using API methods, such as:
Expand Down
2 changes: 0 additions & 2 deletions docs/guide/dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ features.
| [core-js](https://github.com/zloirock/core-js) | The MIT License | Denis Pushkarev |
| [jStat](https://github.com/jstat/jstat) | The MIT License | jStat |
| [tiny-emitter](https://github.com/scottcorgan/tiny-emitter) | The MIT License | Scott Corgan |
| [unorm](https://github.com/walling/unorm) | The MIT License | Matsuza, Bjarke Walling |


The _bessel_ and _jStat_ projects are distributed with the code repository at the path `src/interpreter/plugin/3rdparty` and bundled with the code package.

Expand Down
56 changes: 32 additions & 24 deletions docs/guide/dependency-graph.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,32 +97,40 @@ hfInstance.getCellDependents({ sheet: 0, col: 0, row: 0 })

To get all precedents of a cell or a range (all precedent nodes reachable from the cell node or the range node), use the [`getCellPrecedents()`](../api/classes/hyperformula.html#getcellprecedents) method to implement a [Breadth-first search (BFS)](https://en.wikipedia.org/wiki/Breadth-first_search) algorithm:

```
1 AllCellPrecedents={start}
2 let Q be an empty queue
4 Q.enqueue(start)
5 while Q is not empty do
6 cell := Q.dequeue()
7 S := getCellPrecedents(cell)
9 for all cells c in S do:
10 if c is not in AllCellPrecedents then:
11 insert w to AllCellPrecedents
12 Q.enqueue(c)
```
<div class="language- extra-class">
<pre class="language-text" style="margin: 0; padding: 0;">
<code style="margin: 0; padding: 0;">
<span class="token">AllCellPrecedents</span>={<span class="token variable">start</span>}
<span class="token keyword">let</span> <span class="token variable">Q</span> <span class="token keyword">be</span> <span class="token keyword">an</span> <span class="token keyword">empty</span> <span class="token keyword">queue</span>
<span class="token variable">Q</span>.<span class="token function">enqueue</span>(<span class="token variable">start</span>)
<span class="token keyword">while</span> <span class="token variable">Q</span> <span class="token keyword">is</span> <span class="token keyword">not</span> <span class="token keyword">empty</span> <span class="token keyword">do</span>
<span class="token variable">cell</span> := <span class="token variable">Q</span>.<span class="token function">dequeue</span>()
<span class="token variable">S</span> := <span class="token function">getCellPrecedents</span>(<span class="token variable">cell</span>)
<span class="token keyword">for</span> <span class="token keyword">all</span> <span class="token variable">cells</span> <span class="token variable">c</span> <span class="token keyword">in</span> <span class="token variable">S</span> <span class="token keyword">do</span>:
<span class="token keyword">if</span> <span class="token variable">c</span> <span class="token keyword">is</span> <span class="token keyword">not</span> <span class="token keyword">in</span> <span class="token variable">AllCellPrecedents</span> <span class="token keyword">then</span>:
<span class="token function">insert</span> <span class="token variable">w</span> <span class="token keyword">to</span> <span class="token variable">AllCellPrecedents</span>
<span class="token variable">Q</span>.<span class="token function">enqueue</span>(<span class="token variable">c</span>)
</code>
</pre>
</div>

## Getting all dependents of a cell or a range

To get all dependents of a cell or a range (all dependent nodes reachable from the cell node or the range node), use the [`getCellDependents()`](../api/classes/hyperformula.html#getcelldependents) method to implement a [Breadth-first search (BFS)](https://en.wikipedia.org/wiki/Breadth-first_search) algorithm:

```
1 AllCellDependents={start}
2 let Q be an empty queue
4 Q.enqueue(start)
5 while Q is not empty do
6 cell := Q.dequeue()
7 S := getCellDependents(cell)
9 for all cells c in S do:
10 if c is not in AllCellDependents then:
11 insert w to AllCellDependents
12 Q.enqueue(c)
```
<div class="language- extra-class">
<pre class="language-text" style="margin: 0; padding: 0;">
<code style="margin: 0; padding: 0;">
<span class="token">AllCellDependents</span>={<span class="token variable">start</span>}
<span class="token keyword">let</span> <span class="token variable">Q</span> <span class="token keyword">be</span> <span class="token keyword">an</span> <span class="token keyword">empty</span> <span class="token keyword">queue</span>
<span class="token variable">Q</span>.<span class="token function">enqueue</span>(<span class="token variable">start</span>)
<span class="token keyword">while</span> <span class="token variable">Q</span> <span class="token keyword">is</span> <span class="token keyword">not</span> <span class="token keyword">empty</span> <span class="token keyword">do</span>
<span class="token variable">cell</span> := <span class="token variable">Q</span>.<span class="token function">dequeue</span>()
<span class="token variable">S</span> := <span class="token function">getCellDependents</span>(<span class="token variable">cell</span>)
<span class="token keyword">for</span> <span class="token keyword">all</span> <span class="token variable">cells</span> <span class="token variable">c</span> <span class="token keyword">in</span> <span class="token variable">S</span> <span class="token keyword">do</span>:
<span class="token keyword">if</span> <span class="token variable">c</span> <span class="token keyword">is</span> <span class="token keyword">not</span> <span class="token keyword">in</span> <span class="token variable">AllCellDependents</span> <span class="token keyword">then</span>:
<span class="token function">insert</span> <span class="token variable">w</span> <span class="token keyword">to</span> <span class="token variable">AllCellDependents</span>
<span class="token variable">Q</span>.<span class="token function">enqueue</span>(<span class="token variable">c</span>)
</code>
</pre>
</div>
2 changes: 1 addition & 1 deletion docs/guide/i18n-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,5 +110,5 @@ This demo shows HyperFormula configured for the `en-US` locale.
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: basic-operations"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
2 changes: 1 addition & 1 deletion docs/guide/integration-with-angular.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ For more details, see the [client-side installation](client-side-installation.md
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: angular-demo"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
></iframe>
2 changes: 1 addition & 1 deletion docs/guide/integration-with-react.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ For more details, see the [client-side installation](client-side-installation.md
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: react-demo"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
></iframe>
6 changes: 3 additions & 3 deletions docs/guide/integration-with-svelte.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ For more details, see the [client-side installation](client-side-installation.md
## Demo

<iframe
src="https://codesandbox.io/embed/github/handsontable/hyperformula-demos/tree/2.6.x/svelte-demo?autoresize=1&fontsize=11&hidenavigation=1&theme=light&view=preview"
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
src="https://codesandbox.io/p/devbox/github/handsontable/hyperformula-demos/tree/2.6.x/svelte-demo"
style="width:100%; height:900px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: react-demo"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
14 changes: 9 additions & 5 deletions docs/guide/integration-with-vue.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,14 @@ For more details, see the [client-side installation](client-side-installation.md

## Demo

::: tip
This demo uses the [Vue 3](https://v3.vuejs.org/) framework. If you are looking for an example using Vue 2, check out the [code on GitHub](https://github.com/handsontable/hyperformula-demos/tree/2.5.x/vue-demo).
:::

<iframe
src="https://codesandbox.io/embed/github/handsontable/hyperformula-demos/tree/2.6.x/vue-3-demo?autoresize=1&fontsize=11&hidenavigation=1&theme=light&view=preview"
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: vue-demo"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
src="https://codesandbox.io/p/devbox/github/handsontable/hyperformula-demos/tree/2.6.x/vue-3-demo"
style="width:100%; height:1070px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: vue-demo"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
2 changes: 1 addition & 1 deletion docs/guide/localizing-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,5 +101,5 @@ You can localize your custom functions as well. For details, see the [Custom fun
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: localizing-functions"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
2 changes: 1 addition & 1 deletion docs/guide/named-expressions.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,5 +154,5 @@ described in [that section](basic-operations.md#isitpossibleto-methods).
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
title="handsontable/hyperformula-demos: named-expressions"
allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
sandbox="allow-autoplay allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts">
</iframe>
8 changes: 8 additions & 0 deletions docs/guide/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ This page lists HyperFormula release notes. The format is based on
HyperFormula adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 2.6.2

**Release date: Feb 15, 2024**

### Changed

- Removed `unorm` dependency. [#1370](https://github.com/handsontable/hyperformula/issues/1370)

## 2.6.1

**Release date: Dec 27, 2023**
Expand Down
Loading

0 comments on commit 14f7ffc

Please # to comment.