steamdeck
This commit is contained in:
parent
6729a25013
commit
a55b6f4b04
@ -55,9 +55,6 @@ sap.ui.define([
|
||||
|
||||
:::warning
|
||||
|
||||
The [SAP Website has a note about including third-party JS libraries.](https://blogs.sap.com/2017/04/30/how-to-include-third-party-libraries-modules-in-sapui5/)
|
||||
It recommends copying and pasting JavaScript code.
|
||||
|
||||
**Copy and pasting code does not work** for SheetJS scripts as they contain
|
||||
Unicode characters that may be mangled. The standalone script should be
|
||||
downloaded and manually uploaded to the project.
|
||||
|
@ -152,7 +152,7 @@ given that every related vendor stopped providing support for their software.
|
||||
`XLSX.writeFile` techniques work for most modern browsers as well as older IE.
|
||||
For much older browsers, there are workarounds implemented by wrapper libraries.
|
||||
|
||||
[`Downloadify`](https://github.com/dcneiner/downloadify) uses a Flash SWF button
|
||||
[`Downloadify`](/docs/demos/legacy#download-strategies) uses a Flash SWF button
|
||||
to generate local files, suitable for environments where ActiveX is unavailable:
|
||||
|
||||
```js
|
||||
@ -544,13 +544,15 @@ Node 17.5 and 18.0 have native support for fetch:
|
||||
```js
|
||||
const XLSX = require("xlsx");
|
||||
|
||||
const buf = XLSX.write(workbook, { bookType: "xlsx", type: "buffer" });
|
||||
var blob = new Blob([buf], {type:"application/octet-stream"});
|
||||
var formdata = new FormData();
|
||||
formdata.append("file", blob, "test.xlsx");
|
||||
async function upload_wb(workbook, url, name="test.xlsx", field="file") {
|
||||
const buf = XLSX.write(workbook, { bookType: "xlsx", type: "buffer" });
|
||||
const blob = new Blob([buf], {type:"application/octet-stream"});
|
||||
const body = new FormData();
|
||||
body.append(field, blob, name);
|
||||
|
||||
/* perform POST request */
|
||||
fetch("https://thisis.a.test/upload", { method: 'POST', body: formdata });
|
||||
/* perform POST request */
|
||||
return fetch(url, { method: 'POST', body });
|
||||
}
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
@ -597,17 +599,15 @@ With the `header: 1` option, the function exports an array of arrays of values.
|
||||
<Tabs>
|
||||
<TabItem value="js" label="Vanilla JS">
|
||||
|
||||
[`x-spreadsheet`](https://github.com/myliang/x-spreadsheet) is an interactive
|
||||
data grid for previewing and modifying structured data in the web browser. The
|
||||
[demo](/docs/demos/grid#x-spreadsheet) includes a sample script and live demo.
|
||||
[`x-spreadsheet`](/docs/demos/grid#x-spreadsheet) is an interactive data grid
|
||||
for previewing and modifying structured data in the web browser.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="react" label="React">
|
||||
|
||||
[`react-data-grid`](https://adazzle.github.io/react-data-grid) is a data grid
|
||||
built for React. It uses two properties: `rows` of data objects and `columns`
|
||||
which describe the columns. For the purposes of massaging the data to fit the
|
||||
`react-data-grid` API it is easiest to start from an array of arrays.
|
||||
[`react-data-grid`](/docs/demos/grid#react-data-grid) is a data grid built for
|
||||
React. It uses two properties: `rows` of data objects and `columns` which
|
||||
describe the columns. The grid API can play nice with an array of arrays.
|
||||
|
||||
This demo starts by fetching a remote file and using `XLSX.read` to extract:
|
||||
|
||||
@ -642,8 +642,7 @@ export default function App() {
|
||||
</TabItem>
|
||||
<TabItem value="vue" label="VueJS">
|
||||
|
||||
[`vue3-table-lite`](https://vue3-lite-table.vercel.app/) is a simple VueJS 3
|
||||
data table. It is featured in the [dedicated demo](/docs/demos/grid#vue3-table-lite).
|
||||
[`vue3-table-lite`](/docs/demos/grid#vue3-table-lite) is a VueJS 3 data table.
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
@ -81,19 +81,92 @@ Initial setup:
|
||||
0) Ensure mercurial, subversion, and NodeJS are installed. The WSL instructions
|
||||
will have installed these dependencies, so WSL users can skip to step 1.
|
||||
|
||||
On Linux:
|
||||
:::note
|
||||
|
||||
[The official NodeJS site](https://nodejs.org/en/download/) provides installers
|
||||
for "LTS" and "Current" releases. The "LTS" version should be installed.
|
||||
|
||||
:::
|
||||
|
||||
Mercurial and Subversion:
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="l" label="Linux">
|
||||
|
||||
On Linux, install using the system package manager. Debian and Ubuntu use `apt`:
|
||||
|
||||
```bash
|
||||
sudo apt-get install mercurial subversion
|
||||
```
|
||||
|
||||
On MacOS, install using Homebrew:
|
||||
Other Linux distributions may use other package managers.
|
||||
|
||||
<details><summary><b>Steam Deck</b> (click to show)</summary>
|
||||
|
||||
Desktop Mode on the Steam Deck uses `pacman`. It also requires a few steps.
|
||||
|
||||
0) Switch to Desktop mode and open `Konsole`
|
||||
|
||||
1) Set a password for the user by running `passwd` and following instructions.
|
||||
|
||||
2) Disable read-only mode:
|
||||
|
||||
```bash
|
||||
sudo steamos-readonly disable
|
||||
```
|
||||
|
||||
(When prompted, enter the password assigned in step 1)
|
||||
|
||||
3) Configure keyring:
|
||||
|
||||
```bash
|
||||
echo "keyserver hkps://keyserver.ubuntu.com" >> /etc/pacman.d/gnupg/gpg.conf
|
||||
sudo pacman-key --init
|
||||
sudo pacman-key --populate
|
||||
sudo pacman-key --refresh-keys
|
||||
```
|
||||
|
||||
4) Install dependencies:
|
||||
|
||||
```bash
|
||||
yay -S base-devel mercurial subversion
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="m" label="MacOS">
|
||||
|
||||
On MacOS, install using Homebrew.
|
||||
|
||||
0) Open a terminal window and install Homebrew:
|
||||
|
||||
```bash
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
```
|
||||
|
||||
1) Close the window, open a new terminal window, and disable analytics:
|
||||
|
||||
```bash
|
||||
brew analytics off
|
||||
```
|
||||
|
||||
To confirm analytics are disabled, run
|
||||
|
||||
```bash
|
||||
brew analytics state
|
||||
```
|
||||
|
||||
It should print `Analytics are disabled.`
|
||||
|
||||
2) Install Mercurial and Subversion:
|
||||
|
||||
```bash
|
||||
brew install mercurial subversion
|
||||
```
|
||||
|
||||
NodeJS installers can be found at the project homepage.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
1) Install NodeJS modules for building the scripts
|
||||
|
||||
@ -105,6 +178,15 @@ npm install
|
||||
sudo npm i -g mocha@2.5.3 voc @sheetjs/uglify-js
|
||||
```
|
||||
|
||||
:::note Older Versions of Dependencies
|
||||
|
||||
Some of the dependencies are wildly out of date. While SheetJS aims to run in
|
||||
older versions of NodeJS and browsers, some libraries have chosen to break
|
||||
backwards compatibility. The specific versions are used because they are known
|
||||
to work and known to produce consistent results.
|
||||
|
||||
:::
|
||||
|
||||
2) Initialize the test files:
|
||||
|
||||
```bash
|
||||
@ -149,14 +231,6 @@ to produce the scripts.
|
||||
To produce the dist files, run `make dist`. The dist files are updated in each
|
||||
version release and *should not be committed between versions*.
|
||||
|
||||
**A note on Older Versions**
|
||||
|
||||
Some of the dependencies are wildly out of date. While SheetJS aims to run in
|
||||
older versions of NodeJS and browsers, some libraries have chosen to break
|
||||
backwards compatibility. The specific versions are used because they are known
|
||||
to work and known to produce consistent results.
|
||||
|
||||
|
||||
## Tests
|
||||
|
||||
The `test_misc` target runs the targeted feature tests. It should take 5-10
|
||||
|
Loading…
Reference in New Issue
Block a user