Compare commits

..

73 Commits

Author SHA1 Message Date
giles fe653240e4 Merge pull request 'test-push' (#229) from develop/bump-release-fail into master
master-pushed / new release (push) Successful in 10s Details
convert-to-xml / deploy (push) Successful in 21s Details
Reviewed-on: #229
2023-10-25 11:21:37 +00:00
gilesb e9f787b82b test-push
build-develop-branch / build-branch (push) Successful in 40s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
/ prettier (pull_request) Successful in 16s Details
2023-10-25 12:19:52 +01:00
gilesb 381b1211b6 test-push
build-develop-branch / build-branch (push) Waiting to run Details
/ prettier (pull_request) Successful in 16s Details
convert-to-xml / deploy (push) Has been cancelled Details
build-develop-branch / new release (push) Has been cancelled Details
2023-10-25 12:19:20 +01:00
gilesb 3f8a784ea0 test-push
build-develop-branch / build-branch (push) Waiting to run Details
build-develop-branch / new release (push) Waiting to run Details
/ prettier (pull_request) Successful in 16s Details
2023-10-25 12:17:58 +01:00
gilesb 6a76cd6dc2 test-push
build-develop-branch / new release (push) Waiting to run Details
/ prettier (pull_request) Successful in 16s Details
2023-10-25 12:17:23 +01:00
gilesb bf4335c8b8 test-push
/ prettier (pull_request) Successful in 15s Details
convert-to-xml / deploy (push) Has been cancelled Details
build-develop-branch / new release (push) Has been cancelled Details
2023-10-25 12:16:01 +01:00
gilesb f75a54e273 test-push
/ prettier (pull_request) Successful in 17s Details
convert-to-xml / deploy (push) Waiting to run Details
build-develop-branch / new release (push) Has been cancelled Details
2023-10-25 12:15:09 +01:00
gilesb 6f92610c26 test-push
build-develop-branch / new release (push) Failing after 10s Details
/ prettier (pull_request) Successful in 16s Details
2023-10-25 12:14:33 +01:00
gilesb 9c8429ae68 test-push
build-develop-branch / new release (push) Failing after 10s Details
/ prettier (pull_request) Successful in 16s Details
2023-10-25 12:13:22 +01:00
gilesb 369b5ffd29 test-push
/ prettier (pull_request) Successful in 15s Details
convert-to-xml / deploy (push) Failing after 20s Details
build-develop-branch / new release (push) Failing after 12s Details
2023-10-25 12:12:02 +01:00
gilesb e535cb3c62 test-push
/ prettier (pull_request) Successful in 15s Details
convert-to-xml / deploy (push) Failing after 19s Details
build-develop-branch / new release (push) Failing after 10s Details
2023-10-25 12:10:49 +01:00
gilesb d1a1d14664 test-push
build-develop-branch / new release (push) Failing after 10s Details
/ prettier (pull_request) Successful in 15s Details
2023-10-25 12:09:55 +01:00
gilesb 47695a0523 test-push
build-develop-branch / new release (push) Failing after 11s Details
/ prettier (pull_request) Successful in 17s Details
2023-10-25 12:08:49 +01:00
gilesb 7dbab1a28f test-push
build-develop-branch / new release (push) Failing after 10s Details
/ prettier (pull_request) Successful in 15s Details
2023-10-25 12:07:16 +01:00
gilesb e3199a06ec test-push
build-develop-branch / build-branch (push) Successful in 38s Details
build-develop-branch / new release (push) Failing after 11s Details
/ prettier (pull_request) Successful in 17s Details
2023-10-25 12:05:09 +01:00
giles 79136f6882 Merge pull request 'renamed workflows' (#228) from develop/rename-workflows into master
build-develop-branch / new release (push) Failing after 12s Details
Reviewed-on: #228
2023-10-25 10:57:32 +00:00
gilesb f35b8f67af renamed workflows
build-develop-branch / build-branch (push) Successful in 44s Details
/ prettier (pull_request) Successful in 16s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
2023-10-25 11:54:25 +01:00
gilesb d3c03369aa lflflflf
build-develop-branch / build-branch (push) Successful in 41s Details
/ prettier (pull_request) Successful in 18s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
build-develop-branch / new release (push) Successful in 13s Details
convert-to-xml / deploy (push) Successful in 24s Details
2023-10-24 01:36:07 +01:00
gilesb b21f3838d4 ......
build-develop-branch / build-branch (push) Successful in 40s Details
/ prettier (pull_request) Successful in 15s Details
2023-10-24 01:33:47 +01:00
gilesb b698ad512d adding latest
build-develop-branch / build-branch (push) Successful in 38s Details
/ prettier (pull_request) Successful in 16s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
2023-10-24 00:29:19 +00:00
giles 3c15598faa Merge pull request '...' (#225) from develop/tags-3 into master
build-develop-branch / new release (push) Successful in 10s Details
convert-to-xml / deploy (push) Successful in 23s Details
Reviewed-on: #225
2023-10-24 00:28:33 +00:00
gilesb 64d8cb6f40 ...
build-develop-branch / build-branch (push) Successful in 40s Details
/ prettier (pull_request) Successful in 17s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
2023-10-24 01:16:11 +01:00
giles ed41a9707b Merge pull request '...' (#224) from develop/tags-3 into master
build-develop-branch / new release (push) Failing after 15s Details
convert-to-xml / deploy (push) Successful in 25s Details
Reviewed-on: #224
Reviewed-by: giles <giles.bradshaw@sigyl.com>
2023-10-24 00:03:03 +00:00
batch-bot 6f5c1153df Prettified Code!
build-develop-branch / build-branch (push) Successful in 1m3s Details
/ prettier (pull_request) Successful in 20s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
2023-10-23 23:59:36 +00:00
batch-bot a6a2813005 build/tags-3 -> develop/tags-3
build-develop-branch / build-branch (push) Waiting to run Details
/ prettier (pull_request) Successful in 18s Details
2023-10-23 23:59:19 +00:00
giles ae69fb63f5 Prettified Code!
build-develop-branch / build-branch (push) Waiting to run Details
/ prettier (pull_request) Successful in 18s Details
2023-10-23 23:58:45 +00:00
gilesb eb83b0e698 ...
build-develop-branch / build-branch (push) Successful in 39s Details
/ prettier (pull_request) Successful in 17s Details
2023-10-24 00:57:42 +01:00
batch-bot b404b9f516 Prettified Code!
build-develop-branch / build-branch (push) Successful in 39s Details
/ prettier (pull_request) Successful in 16s Details
2023-10-23 23:51:00 +00:00
batch-bot 1bddb0c47c build/tags-3 -> develop/tags-3
build-develop-branch / build-branch (push) Waiting to run Details
/ prettier (pull_request) Successful in 15s Details
2023-10-23 23:50:43 +00:00
giles 6e1eaf6f2e Prettified Code!
build-develop-branch / build-branch (push) Waiting to run Details
/ prettier (pull_request) Successful in 17s Details
2023-10-23 23:50:07 +00:00
gilesb ccec5b4261 js
build-develop-branch / build-branch (push) Successful in 39s Details
/ prettier (pull_request) Successful in 20s Details
2023-10-24 00:48:51 +01:00
gilesb 96d6004f26 ...
build-develop-branch / build-branch (push) Successful in 41s Details
/ prettier (pull_request) Successful in 16s Details
2023-10-24 00:25:52 +01:00
giles c66ab8b3fa Merge pull request 'dsmmd' (#223) from develop/tags-3 into master
build-develop-branch / new release (push) Failing after 14s Details
convert-to-xml / deploy (push) Successful in 22s Details
Reviewed-on: #223
2023-10-23 23:23:41 +00:00
gilesb cc68a84653 prettier
build-develop-branch / build-branch (push) Successful in 42s Details
/ prettier (pull_request) Successful in 17s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
2023-10-24 00:21:38 +01:00
giles 88b5632c3b Merge pull request 'chnagelog' (#222) from develop/tags-3 into master
build-develop-branch / new release (push) Failing after 20s Details
convert-to-xml / deploy (push) Successful in 21s Details
build-develop-branch / build-branch (push) Successful in 37s Details
Reviewed-on: #222
2023-10-23 22:47:11 +00:00
gilesb 8720e2649e dsmmd
build-develop-branch / build-branch (push) Successful in 41s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
2023-10-23 23:46:28 +01:00
giles 86837dc244 Merge pull request 'chnagelog' (#221) from develop/tags-3 into master
build-develop-branch / new release (push) Failing after 11s Details
convert-to-xml / deploy (push) Successful in 23s Details
Reviewed-on: #221
2023-10-23 22:44:23 +00:00
gilesb 45a8210eea chnagelog
build-develop-branch / build-branch (push) Successful in 39s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
2023-10-23 22:44:09 +00:00
giles 8bb49ece67 Merge pull request 'chnagelog' (#220) from develop/tags-3 into master
build-develop-branch / new release (push) Successful in 10s Details
convert-to-xml / deploy (push) Successful in 22s Details
Reviewed-on: #220
2023-10-23 22:39:20 +00:00
gilesb 9ab843044a chnagelog
build-develop-branch / build-branch (push) Successful in 40s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
2023-10-23 23:38:23 +01:00
giles e3ac1aaa80 Merge pull request '....' (#219) from develop/tags-3 into master
build-develop-branch / new release (push) Successful in 12s Details
convert-to-xml / deploy (push) Successful in 22s Details
Reviewed-on: #219
2023-10-23 22:31:41 +00:00
gilesb 19d2937141 ....
build-develop-branch / build-branch (push) Successful in 39s Details
build-develop-branch / delete-develop (pull_request) Has been skipped Details
2023-10-23 23:30:22 +01:00
giles f47551c0fe Merge pull request 'Update README.md' (#218) from giles-patch-1 into master
build-develop-branch / new release (push) Failing after 9s Details
Reviewed-on: #218
2023-10-23 22:19:34 +00:00
giles 2439f1c76e Update README.md
build-develop-branch / if_merged (pull_request) Successful in 9s Details
build-develop-branch / delete-develop (pull_request) Successful in 14s Details
2023-10-23 22:19:20 +00:00
giles da27a27b8a Merge pull request '........' (#217) from develop/tags-3 into master
build-develop-branch / new release (push) Successful in 9s Details
convert-to-xml / deploy (push) Successful in 23s Details
Reviewed-on: #217
2023-10-23 22:12:23 +00:00
gilesb eee57de3ac ........
build-develop-branch / build-branch (push) Successful in 39s Details
build-develop-branch / if_merged (pull_request) Successful in 8s Details
build-develop-branch / delete-develop (pull_request) Successful in 13s Details
2023-10-23 23:09:43 +01:00
giles 5e8cfd9e3e Merge pull request '........' (#213) from develop/tags-1 into master
convert-to-xml / deploy (push) Failing after 19s Details
Reviewed-on: #213
2023-10-23 21:56:32 +00:00
gilesb 3eebdc98c5 ........
build-develop-branch / build-branch (push) Has been cancelled Details
build-develop-branch / if_merged (pull_request) Has been skipped Details
build-develop-branch / delete-develop (pull_request) Successful in 15s Details
2023-10-23 21:56:15 +00:00
giles b914084c9b Merge pull request '....' (#211) from develop/tags-1 into master
Reviewed-on: #211
2023-10-23 21:31:33 +00:00
giles 8031a68ae8 Merge branch 'master' into develop/tags-1
build-develop-branch / build-branch (push) Successful in 37s Details
build-develop-branch / if_merged (pull_request) Has been skipped Details
build-develop-branch / delete-develop (pull_request) Successful in 14s Details
2023-10-23 21:31:23 +00:00
giles ba0b5ecf4d Merge pull request '....' (#209) from develop/tags-1 into master
Reviewed-on: #209
2023-10-23 21:28:11 +00:00
giles ecd946ccef Merge branch 'master' into develop/tags-1
build-develop-branch / build-branch (push) Has been cancelled Details
build-develop-branch / if_merged (pull_request) Has been skipped Details
build-develop-branch / delete-develop (pull_request) Successful in 14s Details
2023-10-23 21:27:56 +00:00
giles 368390de2b Merge pull request '....' (#207) from develop/tags-1 into master
Reviewed-on: #207
2023-10-23 21:25:19 +00:00
giles a8458c87d9 Merge branch 'master' into develop/tags-1
build-develop-branch / build-branch (push) Successful in 39s Details
build-develop-branch / if_merged (pull_request) Has been skipped Details
build-develop-branch / delete-develop (pull_request) Successful in 13s Details
2023-10-23 21:24:58 +00:00
giles edb34ddd0d Merge pull request '....' (#206) from develop/tags-1 into master
Reviewed-on: #206
2023-10-23 21:21:42 +00:00
giles 43fdcf2c93 Merge branch 'master' into develop/tags-1
build-develop-branch / build-branch (push) Successful in 36s Details
build-develop-branch / if_merged (pull_request) Failing after 14s Details
build-develop-branch / delete-develop (pull_request) Successful in 14s Details
2023-10-23 21:20:46 +00:00
giles 15ca807891 Merge pull request '....' (#205) from develop/tags-1 into master
Reviewed-on: #205
2023-10-23 20:45:27 +00:00
giles bbccbdad8d Merge branch 'master' into develop/tags-1
build-develop-branch / build-branch (push) Has been cancelled Details
build-develop-branch / if_merged (pull_request) Successful in 18s Details
build-develop-branch / delete-develop (pull_request) Successful in 14s Details
2023-10-23 20:45:15 +00:00
giles 70f06c38d9 Merge pull request 'package.json' (#202) from develop/tags into master
convert-to-xml / deploy (push) Failing after 20s Details
Reviewed-on: #202
2023-10-23 19:43:19 +00:00
giles c93c4c9643 Merge branch 'master' into develop/tags
build-develop-branch / build-branch (push) Successful in 36s Details
build-develop-branch / if_merged (pull_request) Successful in 22s Details
build-develop-branch / delete-develop (pull_request) Successful in 12s Details
2023-10-23 19:43:08 +00:00
giles e9f141cd1a Merge pull request 'package.json' (#201) from develop/tags into master
Reviewed-on: #201
2023-10-23 19:37:20 +00:00
giles 86eb6afb2b Merge branch 'master' into develop/tags
build-develop-branch / build-branch (push) Has been cancelled Details
build-develop-branch / delete (pull_request) Successful in 14s Details
build-develop-branch / if_merged (pull_request) Failing after 14s Details
2023-10-23 19:37:04 +00:00
giles eb9b79ef61 Merge pull request 'added vesion bump' (#200) from develop/tags into master
Reviewed-on: #200
2023-10-23 19:29:49 +00:00
giles 8751cb50e5 Merge branch 'master' into develop/tags
build-develop-branch / build-branch (push) Has been cancelled Details
build-develop-branch / delete (pull_request) Successful in 14s Details
build-develop-branch / if_merged (pull_request) Failing after 12s Details
2023-10-23 19:29:37 +00:00
giles b02706f7dd Merge pull request 'added vesion bump' (#199) from develop/tags into master
Reviewed-on: #199
2023-10-23 19:22:36 +00:00
giles f57167a0fc Merge branch 'master' into develop/tags
build-develop-branch / build-branch (push) Successful in 34s Details
build-develop-branch / delete (pull_request) Successful in 15s Details
build-develop-branch / if_merged (pull_request) Failing after 12s Details
2023-10-23 19:21:14 +00:00
giles 9b952cfc23 Merge pull request 'added vesion bump' (#197) from develop/tags into master
Reviewed-on: #197
2023-10-23 19:18:02 +00:00
giles 1e71c022a2 Merge branch 'master' into develop/tags
build-develop-branch / build-branch (push) Successful in 36s Details
build-develop-branch / delete (pull_request) Successful in 14s Details
build-develop-branch / if_merged (pull_request) Has been skipped Details
2023-10-23 19:17:34 +00:00
giles 37a2df176d Merge pull request 'added vesion bump' (#195) from develop/tags into master
Reviewed-on: #195
2023-10-23 19:14:37 +00:00
giles b3e188a153 Merge branch 'master' into develop/tags
build-develop-branch / build-branch (push) Successful in 37s Details
build-develop-branch / delete (pull_request) Successful in 14s Details
build-develop-branch / if_merged (pull_request) Has been skipped Details
2023-10-23 19:14:22 +00:00
giles 602ac08e43 Merge pull request 'added vesion bump' (#194) from develop/tags into master
Reviewed-on: #194
Reviewed-by: giles <giles.bradshaw@sigyl.com>
2023-10-23 19:09:36 +00:00
giles 17e7f97ff8 Merge branch 'master' into develop/tags
build-develop-branch / build-branch (push) Failing after 32s Details
build-develop-branch / delete (pull_request) Successful in 16s Details
build-develop-branch / if_merged (pull_request) Failing after 16s Details
2023-10-23 19:09:05 +00:00
giles f483ee2df7 Merge pull request 'Merge pull request 'tags i hope' (#192) from develop/tags into masterReviewed-on: #192' (#193) from develop/tags into master
Reviewed-on: #193
2023-10-23 18:50:29 +00:00
13 changed files with 2492 additions and 121 deletions

View File

@ -0,0 +1,13 @@
name: Changelog
on:
release:
types:
- created
jobs:
changelog:
runs-on: ubuntu-20.04
steps:
- name: "✏️ Generate release changelog"
uses: heinrichreimer/action-github-changelog-generator@v2.3
with:
token: ${{ secrets.BOT_TOKEN }}

View File

@ -6,23 +6,11 @@ on:
- closed
- deleted
branches:
- 'master'
- master
jobs:
if_merged:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: delete develop branch
id: delete_develop_branch
run: git push origin --delete ${{ github.head_ref }}
continue-on-error: true
- uses: mainmatter/continue-on-error-comment@v1
with:
repo-token: ${{ secrets.BOT_TOKEN }}
outcome: ${{ steps.delete_develop_branch.outcome }}
test-id: Error code ${{ matrix.code }}
delete-develop:
if: ${{ ! startsWith(github.head_ref, 'develop/') }}
runs-on: ubuntu-latest
steps:
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
@ -42,4 +30,6 @@ jobs:
firstString=${{ github.head_ref }}
secondString="build"
echo ::set-env name=BUILD_BRANCH::${firstString/develop\//"$secondString"\/}s
- name: delete build branch
run: git push origin --delete ${{ env.BUILD_BRANCH }}

View File

@ -1,4 +1,4 @@
name: build-develop-branch
name: master-pushed
run-name: ${{ github.actor }} is learning GitHub Actions
on:
push:
@ -19,6 +19,6 @@ jobs:
token: ${{ secrets.BOT_TOKEN }}
- name: bump release
run: |
../tea r ls -o=simple
version="$(../tea r ls -o=simple | head -n 1 | tr " " "\n" | head -n 1 | awk -F. '{$NF = $NF + 1;} 1' | sed 's/ /./g')"
export version=$(../tea r ls -o=simple | head -n 1 | tr " " "\n" | head -n 1 | awk -F. '{$NF = $NF + 1;} 1' | sed 's/ /./g')
../tea r c --note="this isrelease ${version}" --tag=${version} --title=${version} --target=${{ github.sha }}
echo ::set-env name=VERSION::$version

View File

@ -0,0 +1,23 @@
on:
pull_request:
branches: [master]
jobs:
prettier:
runs-on: ubuntu-latest
steps:
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with:
token: ${{ secrets.BOT_TOKEN }}
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.head_ref }}
# This is important to fetch the changes to the previous commit
fetch-depth: 0
- name: Prettify code
uses: creyD/prettier_action@v4.3
with:
# This part is also where you can pass other options, for example:
prettier_options: --write **/*.{js,md}
only_changed: true

View File

@ -31,4 +31,4 @@ jobs:
git config --global user.email "username@users.noreply.github.com"
git add -A
git commit -a -m "${{ github.ref_name }} -> refs/heads/deployed/${{ github.ref_name }} "
git push origin HEAD:refs/heads/deployed/${{ github.ref_name }}
git push -f origin HEAD:refs/heads/deployed/${{ github.ref_name }}

201
README.md
View File

@ -1,101 +1,100 @@
# batch-example
This repository will store and allow versioning and approval of a batch configuration.
This repository **only** contains exported configuration. It does not contain any binary files (eg equipment-model.cfg nor system state or log files). These are excluded using the **.gitignore** file.
## change process
tea is here (i had to change docker file to just be based on node:latest)
https://gitea.com/gitea/tea/src/branch/main/docs/CLI.md
On ?tag ? push to master
clone master
branch deployed
yml -> xml
push deployed
pull to production PC and import
pull to development, import, modify, export
push from development to format branch
on format-branch pull, xml -> yml, push to product-development and PR
### FTBatch development pc on development branch
```sh
?git branch -D format-branch
git checkout format-branch
git merge deployed
```
make changes and export files
commit and push back to server
```sh
git add -A
git commit
git push origin format-branch
```
### format-bot pc
```sh
git branch -D format-branch
git fetch origin
git checkout -b format-branch
git checkout master
git pull
git branch -D product-development
git checkout -b product-development
git merge --squash --no-commit --no-ff --strategyoption=theirs format-branch
```
run the formatter
```sh
git add -A
git commit
git push origin product-development
git push origin --delete format-branch
```
create a pull request
```sh
git fetch --tags
gotea pr c --base=master --head=product-development --repo another-user/batch-example --title="WIP: this is a PR! it rocks!"
```
closing a pull request (not used)
```sh
gotea pr close --repo another-user/batch-example 11
```
build
```sh
git checkout master
git pull
git checkout deployed
git merge master
```
make xml files
```sh
git add -A
git commit
git push origin deployed
```
# batch-example
This repository will store and allow versioning and approval of a batch configuration.
This repository **only** contains exported configuration. It does not contain any binary files (eg equipment-model.cfg nor system state or log files). These are excluded using the **.gitignore** file.
## change process
tea is here (i had to change docker file to just be based on node:latest)
https://gitea.com/gitea/tea/src/branch/main/docs/CLI.md
On ?tag ? push to master
clone master
branch deployed
yml -> xml
push deployed
pull to production PC and import
pull to development, import, modify, export
push from development to format branch
on format-branch pull, xml -> yml, push to product-development and PR
### FTBatch development pc on development branch
```sh
?git branch -D format-branch
git checkout format-branch
git merge deployed
```
make changes and export files
commit and push back to server
```sh
git add -A
git commit
git push origin format-branch
```
### format-bot pc
```sh
git branch -D format-branch
git fetch origin
git checkout -b format-branch
git checkout master
git pull
git branch -D product-development
git checkout -b product-development
git merge --squash --no-commit --no-ff --strategyoption=theirs format-branch
```
run the formatter
```sh
git add -A
git commit
git push origin product-development
git push origin --delete format-branch
```
create a pull request
```sh
git fetch --tags
gotea pr c --base=master --head=product-development --repo another-user/batch-example --title="WIP: this is a PR! it rocks!"
```
closing a pull request (not used)
```sh
gotea pr close --repo another-user/batch-example 11
```
build
```sh
git checkout master
git pull
git checkout deployed
git merge master
```
make xml files
```sh
git add -A
git commit
git push origin deployed
```

1094
equipment-model.a.yml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

160
try.js Normal file
View File

@ -0,0 +1,160 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import * as React from "react";
import ReactVersion from "shared/ReactVersion";
import { LegacyRoot } from "react-reconciler/src/ReactRootTags";
import {
createContainer,
updateContainer,
injectIntoDevTools,
} from "react-reconciler/src/ReactFiberReconciler";
import Transform from "art/core/transform";
import Mode from "art/modes/current";
import FastNoSideEffects from "art/modes/fast-noSideEffects";
import { TYPES, childrenAsString } from "./ReactARTInternals";
Mode.setCurrent(
// Change to 'art/modes/dom' for easier debugging via SVG
FastNoSideEffects,
);
/** Declarative fill-type objects; API design not finalized */
const slice = Array.prototype.slice;
class LinearGradient {
constructor(stops, x1, y1, x2, y2) {
this._args = slice.call(arguments);
}
applyFill(node) {
node.fillLinear.apply(node, this._args);
}
}
class RadialGradient {
constructor(stops, fx, fy, rx, ry, cx, cy) {
this._args = slice.call(arguments);
}
applyFill(node) {
node.fillRadial.apply(node, this._args);
}
}
class Pattern {
constructor(url, width, height, left, top) {
this._args = slice.call(arguments);
}
applyFill(node) {
node.fillImage.apply(node, this._args);
}
}
/** React Components */
class Surface extends React.Component {
componentDidMount() {
const { height, width } = this.props;
this._surface = Mode.Surface(+width, +height, this._tagRef);
this._mountNode = createContainer(
this._surface,
LegacyRoot,
null,
false,
false,
"",
);
updateContainer(this.props.children, this._mountNode, this);
}
componentDidUpdate(prevProps, prevState) {
const props = this.props;
if (props.height !== prevProps.height || props.width !== prevProps.width) {
this._surface.resize(+props.width, +props.height);
}
updateContainer(this.props.children, this._mountNode, this);
if (this._surface.render) {
this._surface.render();
}
}
componentWillUnmount() {
updateContainer(null, this._mountNode, this);
}
render() {
// This is going to be a placeholder because we don't know what it will
// actually resolve to because ART may render canvas, vml or svg tags here.
// We only allow a subset of properties since others might conflict with
// ART's properties.
const props = this.props;
// TODO: ART's Canvas Mode overrides surface title and cursor
const Tag = Mode.Surface.tagName;
return (
<Tag
ref={(ref) => (this._tagRef = ref)}
accessKey={props.accessKey}
className={props.className}
draggable={props.draggable}
role={props.role}
style={props.style}
tabIndex={props.tabIndex}
title={props.title}
/>
);
}
}
class Text extends React.Component {
constructor(props) {
super(props);
// We allow reading these props. Ideally we could expose the Text node as
// ref directly.
["height", "width", "x", "y"].forEach((key) => {
Object.defineProperty(this, key, {
get: function () {
return this._text ? this._text[key] : undefined;
},
});
});
}
render() {
// This means you can't have children that render into strings...
const T = TYPES.TEXT;
return (
<T {...this.props} ref={(t) => (this._text = t)}>
{childrenAsString(this.props.children)}
</T>
);
}
}
injectIntoDevTools({
findFiberByHostInstance: () => null,
bundleType: __DEV__ ? 1 : 0,
version: ReactVersion,
rendererPackageName: "react-art",
});
/** API */
export const ClippingRectangle = TYPES.CLIPPING_RECTANGLE;
export const Group = TYPES.GROUP;
export const Shape = TYPES.SHAPE;
export const Path = Mode.Path;
export { LinearGradient, Pattern, RadialGradient, Surface, Text, Transform };