Skip to content

Commit

Permalink
Merge branch 'master' of github.com:formio/formio.js into dev.tt
Browse files Browse the repository at this point in the history
  • Loading branch information
travist committed May 3, 2024
2 parents 9f35324 + eeaff43 commit 78662f4
Show file tree
Hide file tree
Showing 6 changed files with 242 additions and 86 deletions.
199 changes: 199 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
name: Build, Test, Publish

on:
pull_request:
types: [opened, synchronize, reopened]

env:
NODE_VERSION: 20.x

jobs:
setup:
runs-on: ubuntu-latest
steps:
- run: echo "Triggered by ${{ github.event_name }} event."

- name: Check out repository code ${{ github.repository }} on ${{ github.ref }}
uses: actions/checkout@v3

- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Cache node modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-
- name: Installing dependencies
if: steps.cache.outputs.cache-hit != 'true'
uses: borales/actions-yarn@v4
with:
cmd: install --frozen-lockfile

- name: Lint
uses: borales/actions-yarn@v4
with:
cmd: lint

##################################################################
## Build
##################################################################
build:
needs: setup
runs-on: ubuntu-latest
steps:
- name: Check out repository code ${{ github.repository }} on ${{ github.ref }}
uses: actions/checkout@v3

- name: Restore node modules from cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-
- name: Build
uses: borales/actions-yarn@v4
with:
cmd: build

##################################################################
## Test
##################################################################
test-current:
needs: setup
runs-on: ubuntu-latest
steps:
- name: Check out repository code ${{ github.repository }} on ${{ github.ref }}
uses: actions/checkout@v3

- name: Restore node modules from cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-
- name: Test
uses: borales/actions-yarn@v4
with:
cmd: test

test-target:
needs: setup
runs-on: ubuntu-latest
steps:
- name: Check out repository code ${{ github.repository }} on ${{ github.ref }}
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Merge target branch into current branch
run: |
git config --global user.email "[email protected]"
git config --global user.name "pkgbot"
git fetch origin ${{ github.event.pull_request.base.ref }}:${{ github.event.pull_request.base.ref }}
git merge ${{ github.event.pull_request.base.ref }} --no-commit --no-ff
if ! git merge --no-commit --no-ff ${{ github.event.pull_request.base.ref }}; then
echo "Merge conflicts detected."
git merge --abort
exit 1
else
echo "Merge successful."
fi
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Restore node modules from cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-
- name: Test
uses: borales/actions-yarn@v4
with:
cmd: test

##################################################################
## Publish
##################################################################
publish:
needs: [setup, test-current, test-target]
if: ${{ github.event_name == 'pull_request' && (github.event.action == 'opened' || github.event.action == 'synchronize') }}
runs-on: ubuntu-latest
steps:
- name: Check out repository code ${{ github.repository }} on ${{ github.ref }}
uses: actions/checkout@v3

- name: Configure Git user
run: |
git config --global user.email "[email protected]"
git config --global user.name "pkgbot"
- name: Add npm token to .npmrc
run: |
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
registry-url: 'https://registry.npmjs.org/'

- name: Restore node modules from cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-
- name: Build
uses: borales/actions-yarn@v4
with:
cmd: build

- name: Prepare version for publish
id: prep
run: |
# Extract the pull request number and the short SHA of the commit
PR_NUMBER=$(echo ${{ github.event.number }})
COMMIT_SHORT_SHA=$(echo "${{ github.event.pull_request.head.sha }}" | cut -c1-7)
# Extract the current version from package.json
CURRENT_VERSION=$(node -p "require('./package.json').version")
# If the current version includes '-rc.', remove it and everything after
# This step ensures that we start with a base version like '3.0.0' even if it was a release candidate
BASE_VERSION=$(echo "$CURRENT_VERSION" | cut -d'-' -f1)
# Construct the new version string
NEW_VERSION="${BASE_VERSION}-dev.${PR_NUMBER}.${COMMIT_SHORT_SHA}"
# Output the new version for use in subsequent GitHub Actions steps
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
- name: Echo version to Publish
run: |
echo "Version to publish: $NEW_VERSION"
- name: Publish to npm
run: |
npm version $NEW_VERSION
yarn publish --tag dev
83 changes: 0 additions & 83 deletions .github/workflows/config.yml

This file was deleted.

15 changes: 14 additions & 1 deletion Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,20 @@ Formio.createForm(document.getElementById('formio'), 'https://examples.form.io/e
- FIO-8146 fixed saveDraft triggering for nested forms after submitting
- FIO-3703: Fixes an issue where NestedData components with modal view do not render values inside Layout components in modal preview table
- FIO-8091: added selectData calculation for url/resource select components
- FIO-8074: Added Storage Type to Radio Components
- FIO-8074: Added Storage Type to Radio Components
- FIO-8280: Fixed setting incorrect option label
- FIO-7544: html sanitization issue
- FIO-4112: Integrate @formio/core validation engine to renderer + many other code cleanup
- FIO 7733: move polyfill to conditional lazy import
- FIO-7733: export eventemitter
- FIO-7733: conditionally offload loader
- FIO-7733: remove stale types
- FIO-7733: update webform types; export webform
- FIO 8151: allow for reference attr name
- Chore: finish removing prebuilt types
- FIO-8091: Fixed missing metadata for html5 select component with default value
- FIO-7445: fixed an issue with interpolated data in HTML
- FIO-7507: publish-dev-tag-to-npm

## 5.0.0-rc.37
### Fixed
Expand Down
2 changes: 1 addition & 1 deletion src/components/select/Select.js
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ export default class SelectComponent extends ListComponent {
}

get selectData() {
return this.component.selectData || this.selectMetadata;
return this.selectMetadata || this.component.selectData;
}

isEntireObjectDisplay() {
Expand Down
27 changes: 27 additions & 0 deletions src/components/select/Select.unit.js
Original file line number Diff line number Diff line change
Expand Up @@ -1015,6 +1015,33 @@ describe('Select Component', () => {
}).catch(done);
});

it('Should set correct label from metadata for ChoicesJS Select with default value', (done) => {
const form = _.cloneDeep(comp22);
form.components[0].widget='choicesjs';
const element = document.createElement('div');

Formio.createForm(element, form).then(form => {
const select = form.getComponent('select');
form.submission = {
data: {
select: 'value2',
},
metadata: {
selectData: {
select: {
label: 'Label 2',
},
},
},
};

setTimeout(()=> {
assert.equal(select.templateData['value2'].label, 'Label 2');
done();
}, 200);
}).catch(done);
});

it('OnBlur validation should work properly with Select component', function(done) {
this.timeout(0);
const element = document.createElement('div');
Expand Down
2 changes: 1 addition & 1 deletion src/components/select/fixtures/comp22.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export default {
tableView: true,
dataSrc: 'url',
data: {
url: 'https://fake_url',
url: 'https://fake_url.com',
headers: [
{
key: '',
Expand Down

0 comments on commit 78662f4

Please sign in to comment.