Compare commits

..

No commits in common. "master" and "v0.12" have entirely different histories.

17 changed files with 295 additions and 572 deletions

View File

@ -0,0 +1,51 @@
name: build-develop-branch
run-name: ${{ github.actor }} is learning GitHub Actions
on:
push:
branches:
- 'develop-**'
jobs:
build-branch:
runs-on: ubuntu-latest
steps:
# https://github.com/RouxAntoine/checkout/tree/v3.5.4
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with:
token: ${{ secrets.BOT_TOKEN }}
- uses: http://sigyl.com:3000/actions/setup-node@v3
with:
node-version: '20'
- uses: http://sigyl.com:3000/actions/batch2yaml@master
with:
action: xml
path: '.'
- name: get PR number
run: |
curl https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-386 --output tea
chmod +x ./tea
./tea login add -n=this --url=${{ github.server_url}} -t=${{ secrets.BOT_TOKEN }}
echo ::set-env name=PR::$(./tea pr ls -f=base,head,index | grep "| master | ${{ github.ref_name }} |" | tr -d ' ' | tr "|" "\n" | head -n 4 | tail -1)
rm ./tea
- name: get build branch name
run: |
firstString=${{ github.ref_name }}
secondString="build-"
echo ::set-env name=BUILD_BRANCH::${firstString/develop-/"$secondString"}
- name: GIT commit and push all changed files
env:
CI_COMMIT_MESSAGE: Development branch built to xml.
CI_COMMIT_AUTHOR: Continuous Integration
run: |
git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}"
git config --global user.email "username@users.noreply.github.com"
git checkout -b ${{ env.BUILD_BRANCH }}
git add -A
git commit -a -m "${{ env.CI_COMMIT_MESSAGE }} yml files converted to xml"
git push origin HEAD:${{ env.BUILD_BRANCH }}
- name: make pull request comment
run: |
curl https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-386 --output tea
chmod +x ./tea
./tea c $PR "this branch has been built on [${{ env.BUILD_BRANCH }}](${{ github.serverUrl }}/${{ github.repository }}/src/branch/${{ env.BUILD_BRANCH }})"

View File

@ -1,87 +0,0 @@
name: convert-to-yml
run-name: ${{ github.actor }} is learning GitHub Actions
on:
push:
branches:
- 'build/**'
jobs:
develop-branch:
runs-on: ubuntu-latest
steps:
# https://github.com/RouxAntoine/checkout/tree/v3.5.4
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with:
token: ${{ secrets.BOT_TOKEN }}
fetch-depth: '10'
- uses: http://sigyl.com:3000/actions/setup-node@v3
with:
node-version: '20'
- run: git fetch
- env: env
run: printenv
- uses: http://sigyl.com:3000/actions/batch2yaml@master
with:
action: yml
path: '.'
- name: get development branch name
run: |
firstString=${{ github.ref_name }}
secondString="develop"
echo ::set-env name=DEVELOPMENT_BRANCH::${firstString/build\//"$secondString"\/}
- name: config
run: |
git config --global user.name "${{ github.actor }}"
git config --global user.email "${{ github.event.pusher.email }}"
- name: commit
run: |
git add -A
git commit -a -m "${{ github.ref_name }} -> ${{ env.DEVELOPMENT_BRANCH }}"
- name: status
run: |
git branch -r
echo $(git branch -r | grep -Fx " origin/${{ env.DEVELOPMENT_BRANCH }}" | wc -c)
- name: push
run: |
if [[ $(git branch -r | grep -Fx " origin/${{ env.DEVELOPMENT_BRANCH }}" | wc -c) -eq 0 ]]; then
ls
git log -5
git status
git rebase -Xtheirs origin/master
ls
git log -4
git status
echo no development branch so pushing
git push origin HEAD:${{ env.DEVELOPMENT_BRANCH }};
curl https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-386 --output tea;
chmod +x ./tea;
./tea login add -n=this --url=${{ github.server_url}} -t=${{ secrets.BOT_TOKEN }};
if [[ $(./tea pr ls -f=base,head -o=csv | grep grep "\"master\",\"${{ env.DEVELOPMENT_BRANCH }}\"" | head -c1 | wc -c) -eq 0 ]]; then
./tea pr c --base=master --head=${{ env.DEVELOPMENT_BRANCH }} --description="
development pull request
this PR is instigated by and will been built on [${{ github.ref_name }}](${{ github.serverUrl }}/${{ github.repository }}/src/branch/${{ env.BUILD_BRANCH }})
" -t="WIP: ${{ github.event.head_commit.message }}"
fi
echo 'pushed new branch and created pr';
else
if [[ $(git diff origin/${{ env.DEVELOPMENT_BRANCH }} | wc -c) -ne 0 ]]; then
#git rebase -Xtheirs origin/${{ env.DEVELOPMENT_BRANCH }}
git clone ${{ github.serverUrl }}/${{ github.repository }} ../cloned
git -C ../cloned fetch origin #--depth=1
git -C ../cloned checkout $DEVELOPMENT_BRANCH || git -C ../cloned checkout -b $DEVELOPMENT_BRANCH
mv ../cloned/.git ..
rm -rf ../cloned
cp -r . ../cloned
rm -rf ../cloned/.git
mv ../.git ../cloned
mv .git/config ../cloned/.git
rm -r ./*
rm -r .git
mv ../cloned/* .
mv ../cloned/.git .
git add -A
git commit -a -m "${{ github.ref_name }} -> ${{ env.DEVELOPMENT_BRANCH }}"
git push origin HEAD:${{ env.DEVELOPMENT_BRANCH }};
else
echo 'no changes so no push'
fi;
fi

View File

@ -1,13 +0,0 @@
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

@ -11,7 +11,6 @@ jobs:
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4 - uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with: with:
token: ${{ secrets.BOT_TOKEN }} token: ${{ secrets.BOT_TOKEN }}
fetch-depth: '10'
- name: ls - name: ls
run: ls run: ls
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
@ -30,5 +29,5 @@ jobs:
git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}" git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}"
git config --global user.email "username@users.noreply.github.com" git config --global user.email "username@users.noreply.github.com"
git add -A git add -A
git commit -a -m "${{ github.ref_name }} -> refs/heads/deployed/${{ github.ref_name }} " git commit -a -m "${{ env.CI_COMMIT_MESSAGE }} yml files converted to xml"
git push -f origin HEAD:refs/heads/deployed/${{ github.ref_name }} git push origin HEAD:refs/heads/deployed-${{ github.ref_name }}

View File

@ -0,0 +1,77 @@
name: convert-to-yml
run-name: ${{ github.actor }} is learning GitHub Actions
on:
push:
branches:
- 'format-**'
jobs:
develop-branch:
runs-on: ubuntu-latest
steps:
# https://github.com/RouxAntoine/checkout/tree/v3.5.4
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with:
token: ${{ secrets.BOT_TOKEN }}
- uses: http://sigyl.com:3000/actions/setup-node@v3
with:
node-version: '20'
- uses: http://sigyl.com:3000/actions/batch2yaml@master
with:
action: yml
path: '.'
- name: get development branch name
run: |
firstString=${{ github.ref_name }}
secondString="develop-"
echo ::set-env name=DEVELOPMENT_BRANCH::${firstString/format-/"$secondString"}
- name: clone
run: |
git clone ${{ github.serverUrl }}/${{ github.repository }} ../cloned
mv ../cloned/.git ..
rm -rf ../cloned
cp -r . ../cloned
rm -rf ../cloned/.git
mv ../.git ../cloned
mv .git/config ../cloned/.git
rm -r ./*
rm -r .git
mv ../cloned/* .
mv ../cloned/.git .
- name: GIT commit and push all changed files
env:
CI_COMMIT_MESSAGE: converted to yml for review.
CI_COMMIT_AUTHOR: Continuous Integration
run: |
git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}"
git config --global user.email "username@users.noreply.github.com"
git checkout -b ${{ env.DEVELOPMENT_BRANCH }}
git add -A
git status
git commit -a -m "${{ env.CI_COMMIT_MESSAGE }} xml files converted to yml"
git push origin HEAD:${{ env.DEVELOPMENT_BRANCH }}
#- name: push development
# env:
# CI_COMMIT_MESSAGE: Continuous Integration Build Artifacts
# CI_COMMIT_AUTHOR: Continuous Integration
# run: |
# git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}"
# git config --global user.email "username@users.noreply.github.com"
# git fetch --depth=1
# git add -A
# git commit -m "${{ env.CI_COMMIT_MESSAGE }}
#
# converted from batch"
# git merge origin/master --strategy-option=ours --allow-unrelated
# git push -f origin HEAD:${{ env.DEVELOPMENT_BRANCH }}
- name: make pull request
#git fetch
# git merge origin/master --allow-unrelated-histories --strategy-option=ours
# git push origin HEAD:${{ env.DEVELOPMENT_BRANCH }}
run: |
curl https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-386 --output tea
chmod +x ./tea
./tea login add -n=this --url=${{ github.server_url}} -t=${{ secrets.BOT_TOKEN }}
if [[ $(./tea pr ls -f=base,head | grep "| master | ${{ env.DEVELOPMENT_BRANCH }} |" | head -c1 | wc -c) -eq 0 ]]; then
./tea pr c --base=master --head=${{ env.DEVELOPMENT_BRANCH }} --description="development pull request" -t="WIP: ${{ github.event.head_commit.message }}"
fi
rm ./tea

View File

@ -1,89 +0,0 @@
name: build-develop-branch
run-name: ${{ github.actor }} is learning GitHub Actions
on:
push:
branches:
- 'develop/**'
jobs:
build-branch:
runs-on: ubuntu-latest
steps:
# https://github.com/RouxAntoine/checkout/tree/v3.5.4
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with:
token: ${{ secrets.BOT_TOKEN }}
fetch-depth: '10'
- env: env
run: printenv
- name: get tea
run: |
curl https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-386 --output ../tea
chmod +x ../tea
../tea login add -n=this --url=${{ github.server_url}} -t=${{ secrets.BOT_TOKEN }}
- uses: http://sigyl.com:3000/actions/setup-node@v3
with:
node-version: '20'
- uses: http://sigyl.com:3000/actions/batch2yaml@master
with:
action: xml
path: '.'
- run: git fetch
- name: config
run: |
git config --global user.name "${{ github.actor }}"
git config --global user.email "${{ github.event.pusher.email }}"
- name: get build branch name
run: |
firstString=${{ github.ref_name }}
secondString="build"
echo ::set-env name=BUILD_BRANCH::${firstString/develop\//"$secondString"\/}
- name: status
run: |
ls
- name: push
run: |
git add -A
git commit -a -m "${{ github.ref_name }} -> ${{ env.BUILD_BRANCH }} "
if [[ $(git branch -r | grep -Fx " origin/${{ env.BUILD_BRANCH }}" | wc -c) -eq 0 ]]; then
git push origin HEAD:${{ env.BUILD_BRANCH }};
else
if [[ $(git diff origin/${{ env.BUILD_BRANCH }} | wc -c) -ne 0 ]]; then
#git rebase -Xtheirs origin/${{ env.BUILD_BRANCH }}
git clone ${{ github.serverUrl }}/${{ github.repository }} ../cloned
git -C ../cloned fetch origin #--depth=1
git -C ../cloned checkout $BUILD_BRANCH || git -C ../cloned checkout -b $BUILD_BRANCH
mv ../cloned/.git ..
rm -rf ../cloned
cp -r . ../cloned
rm -rf ../cloned/.git
mv ../.git ../cloned
mv .git/config ../cloned/.git
rm -r ./*
rm -r .git
mv ../cloned/* .
mv ../cloned/.git .
git add -A
git commit -a -m "${{ github.ref_name }} -> ${{ env.BUILD_BRANCH }} "
git push origin HEAD:${{ env.BUILD_BRANCH }}
else
echo 'no changes so no push'
fi;
fi;
- name: make PR
run: |
../tea pr ls -f=base,head -o=csv
if [[ $(../tea pr ls -f=base,head -o=csv | grep "\"master\",\"${{ github.ref_name }}\"" | head -c1 | wc -c) -eq 0 ]]; then
../tea pr c --base=master --head=${{ github.ref_name }} --description="
development pull request
this PR is will been built on [${{ github.ref_name }}](${{ github.serverUrl }}/${{ github.repository }}/src/branch/${{ env.BUILD_BRANCH }})
" -t="WIP: ${{ github.event.head_commit.message }}"
fi
- name: get PR number
run: |
pr=$(../tea pr ls -f=base,head,index -o csv | grep "\"master\",\"${{ github.ref_name }}\"" | tr -d ' ' | tr "," "\n" | head -n 4 | tail -1)
export PR="${pr//[\"\'\`]/}"
echo ::set-env name=PR::$PR
- name: make pull request comment
run: |
../tea c $PR "this branch has been built on [${{ env.BUILD_BRANCH }}](${{ github.serverUrl }}/${{ github.repository }}/src/branch/${{ env.BUILD_BRANCH }})"

View File

@ -1,35 +0,0 @@
name: build-develop-branch
run-name: ${{ github.actor }} is learning GitHub Actions
on:
pull_request:
types:
- closed
- deleted
branches:
- master
jobs:
delete-develop:
if: ${{ ! startsWith(github.head_ref, 'develop/') }}
runs-on: ubuntu-latest
steps:
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with:
token: ${{ secrets.BOT_TOKEN }}
- 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 }}
- name: get build branch name
run: |
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,24 +0,0 @@
name: master-pushed
run-name: ${{ github.actor }} is learning GitHub Actions
on:
push:
branches:
- 'master'
jobs:
new release:
runs-on: ubuntu-latest
steps:
- name: get tea
run: |
curl https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-386 --output ../tea
chmod +x ../tea
../tea login add -n=this --url=${{ github.server_url}} -t=${{ secrets.BOT_TOKEN }}
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with:
token: ${{ secrets.BOT_TOKEN }}
- name: bump release
run: |
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,51 @@
name: build-develop-branch
run-name: ${{ github.actor }} is learning GitHub Actions
on:
pull_request:
types:
- closed
branches:
- 'master'
jobs:
delete:
runs-on: ubuntu-latest
steps:
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with:
token: ${{ secrets.BOT_TOKEN }}
- 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 }}
- name: get build branch name
run: |
firstString=${{ github.head_ref }}
secondString="build-"
echo ::set-env name=BUILD_BRANCH::${firstString/develop-/"$secondString"}
if_merged:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with:
token: ${{ secrets.BOT_TOKEN }}
- 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 }}
- name: get build branch name
run: |
firstString=${{ github.head_ref }}
secondString="build-"
echo ::set-env name=BUILD_BRANCH::${firstString/develop-/"$secondString"}

View File

@ -32,8 +32,8 @@ jobs:
- name: get build branch name - name: get build branch name
run: | run: |
firstString=${{ github.ref_name }} firstString=${{ github.ref_name }}
secondString="build" secondString="build-"
echo ::set-env name=BUILD_BRANCH::${firstString/develop\//"$secondString"\/} echo ::set-env name=BUILD_BRANCH::${firstString/develop-/"$secondString"}
- name: GIT commit and push all changed files - name: GIT commit and push all changed files
env: env:
CI_COMMIT_MESSAGE: Reopened PR copnverted to xml. CI_COMMIT_MESSAGE: Reopened PR copnverted to xml.

View File

@ -1,23 +0,0 @@
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

@ -1,28 +0,0 @@
name: tea
on:
workflow_call:
secrets:
token:
required: true
jobs:
tea:
runs-on: ubuntu-latest
steps:
- name: get tea
run: |
echo tea please!
#curl https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-386 --output ../tea
#chmod +x ../tea
#../tea login add -n=this --url=${{ github.server_url}} -t=${{ secrets.token }}
#echo thank you!
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: http://sigyl.com:3000/actions/checkout@v3.5.4
with:
token: ${{ secrets.BOT_TOKEN }}
fetch-depth: '10'
- name: ls
run: ls

View File

@ -18,13 +18,17 @@ yml -> xml
push deployed push deployed
pull to production PC and import
pull to production PC and import.
pull to development, import, modify, export pull to development, import, modify, export
push from development to format branch push from development to format branch
on format-branch pull, xml -> yml, push to product-development and PR on format-branch pull, xml -> yml, push to product-development and PR
### FTBatch development pc on development branch ### FTBatch development pc on development branch
```sh ```sh

View File

@ -6,13 +6,13 @@
SchemaVersion: '71' SchemaVersion: '71'
- Version: '1.00' - Version: '1.00'
- Area: - Area:
- UniqueName: AREA1444 - UniqueName: AREA1
- EnumerationSet: - EnumerationSet:
- UniqueName: YES_NO - UniqueName: YES_NO
- Type: '1' - Type: '1'
- Member: - Member:
- Name: YES - Name: YES
- Ordinal: '19' - Ordinal: '1'
- Member: - Member:
- Name: NO - Name: NO
- Ordinal: '0' - Ordinal: '0'
@ -21,7 +21,7 @@
- Type: '0' - Type: '0'
- EnumerationSet: - EnumerationSet:
- UniqueName: $TIMER_TYPE - UniqueName: $TIMER_TYPE
- Type: '13' - Type: '1'
- Member: - Member:
- Name: COUNT_DOWN - Name: COUNT_DOWN
- Ordinal: '0' - Ordinal: '0'
@ -124,7 +124,7 @@
- Name: Begin Approvals - Name: Begin Approvals
- Id: '-1' - Id: '-1'
- StepOrder: '1' - StepOrder: '1'
- Required: 1q - Required: '1'
- ApproveSignatureTemplateName: null - ApproveSignatureTemplateName: null
- RevertSignatureTemplateName: null - RevertSignatureTemplateName: null
- Description: Used to formally begin the approval process. - Description: Used to formally begin the approval process.
@ -135,9 +135,9 @@
- Required: '0' - Required: '0'
- ApproveSignatureTemplateName: null - ApproveSignatureTemplateName: null
- RevertSignatureTemplateName: null - RevertSignatureTemplateName: null
- Description: Confirmation by the author of the recipe tgabghatcdcscsvdsvdsvsxsxsdit is ready for h v vredcdview.s...gfhhh.... - Description: Confirmation by the author of the recipe that it is ready for redcdview.s...gfhhh....
- RecipeApprovalStep: - RecipeApprovalStep:
- Name: Reviqedcdw Recipe - Name: Review Recipe
- Id: '-3' - Id: '-3'
- StepOrder: '3' - StepOrder: '3'
- Required: '0' - Required: '0'

View File

@ -17,7 +17,7 @@
- Name: NO - Name: NO
- Ordinal: '0' - Ordinal: '0'
- EnumerationSet: - EnumerationSet:
- UniqueName: PHASE_FAILURESzx - UniqueName: PHASE_FAILURES
- Type: '0' - Type: '0'
- EnumerationSet: - EnumerationSet:
- UniqueName: $TIMER_TYPE - UniqueName: $TIMER_TYPE
@ -135,7 +135,7 @@
- Required: '0' - Required: '0'
- ApproveSignatureTemplateName: null - ApproveSignatureTemplateName: null
- RevertSignatureTemplateName: null - RevertSignatureTemplateName: null
- Description: Confirmation by the author of the recipe that it is readybg f review.s...hhh.... - Description: Confirmation by the author of the recipe that it is ready for review.s...hhh....
- RecipeApprovalStep: - RecipeApprovalStep:
- Name: Review Recipe - Name: Review Recipe
- Id: '-3' - Id: '-3'

BIN
tea Executable file

Binary file not shown.

160
try.js
View File

@ -1,160 +0,0 @@
/**
* 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 };