From 56b744237da1f9ba688b7b2e06a20e1758364c31 Mon Sep 17 00:00:00 2001 From: valentinab25 Date: Wed, 6 Sep 2023 01:09:38 +0300 Subject: [PATCH 01/10] test: EN locales, pre-commit fix, feature PRs checks Refs #257193 --- .husky/pre-commit | 2 ++ Jenkinsfile | 66 ++++++++++++++++++++++++++++++++--------------- cypress.config.js | 4 +-- package.json | 28 ++++++++++++++++++-- 4 files changed, 75 insertions(+), 25 deletions(-) create mode 100755 .husky/pre-commit diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 00000000..9183f9d3 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,2 @@ +[ -n "$CI" ] && exit 0 +yarn lint-staged diff --git a/Jenkinsfile b/Jenkinsfile index a23a0a58..f9f50807 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -62,11 +62,17 @@ pipeline { stage('Tests') { when { - allOf { - environment name: 'CHANGE_ID', value: '' - anyOf { - not { changelog '.*^Automated release [0-9\\.]+$' } - branch 'master' + anyOf { + allOf { + not { environment name: 'CHANGE_ID', value: '' } + environment name: 'CHANGE_TARGET', value: 'develop' + } + allOf { + environment name: 'CHANGE_ID', value: '' + anyOf { + not { changelog '.*^Automated release [0-9\\.]+$' } + branch 'master' + } } } } @@ -110,11 +116,17 @@ pipeline { stage('Integration tests') { when { - allOf { - environment name: 'CHANGE_ID', value: '' - anyOf { - not { changelog '.*^Automated release [0-9\\.]+$' } - branch 'master' + anyOf { + allOf { + not { environment name: 'CHANGE_ID', value: '' } + environment name: 'CHANGE_TARGET', value: 'develop' + } + allOf { + environment name: 'CHANGE_ID', value: '' + anyOf { + not { changelog '.*^Automated release [0-9\\.]+$' } + branch 'master' + } } } } @@ -167,13 +179,19 @@ pipeline { stage('Report to SonarQube') { when { - allOf { - environment name: 'CHANGE_ID', value: '' - anyOf { - branch 'master' - allOf { - branch 'develop' - not { changelog '.*^Automated release [0-9\\.]+$' } + anyOf { + allOf { + not { environment name: 'CHANGE_ID', value: '' } + environment name: 'CHANGE_TARGET', value: 'develop' + } + allOf { + environment name: 'CHANGE_ID', value: '' + anyOf { + allOf { + branch 'develop' + not { changelog '.*^Automated release [0-9\\.]+$' } + } + branch 'master' } } } @@ -199,10 +217,16 @@ pipeline { stage('SonarQube compare to master') { when { - allOf { - environment name: 'CHANGE_ID', value: '' - branch 'develop' - not { changelog '.*^Automated release [0-9\\.]+$' } + anyOf { + allOf { + not { environment name: 'CHANGE_ID', value: '' } + environment name: 'CHANGE_TARGET', value: 'develop' + } + allOf { + environment name: 'CHANGE_ID', value: '' + branch 'develop' + not { changelog '.*^Automated release [0-9\\.]+$' } + } } } steps { diff --git a/cypress.config.js b/cypress.config.js index 30be8ac3..4846ce98 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -2,12 +2,12 @@ const { defineConfig } = require('cypress'); module.exports = defineConfig({ viewportWidth: 1280, - defaultCommandTimeout: 8888, + defaultCommandTimeout: 5000, chromeWebSecurity: false, reporter: 'junit', video: true, retries: { - runMode: 8, + runMode: 1, openMode: 0, }, reporterOptions: { diff --git a/package.json b/package.json index 3698db93..e9cdabc8 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,30 @@ "@plone/scripts": "*", "babel-plugin-transform-class-properties": "^6.24.1", "md5": "^2.3.0", - "postcss-less": "6.0.0" + "postcss-less": "6.0.0", + "husky": "*", + "lint-staged": "*" + }, + "lint-staged": { + "src/**/*.{js,jsx,ts,tsx,json}": [ + "make lint-fix", + "make prettier-fix" + ], + "src/**/*.{jsx}": [ + "make i18n" + ], + "theme/**/*.{css,less}": [ + "make stylelint-fix" + ], + "src/**/*.{css,less}": [ + "make stylelint-fix" + ], + "theme/**/*.overrides": [ + "make stylelint-fix" + ], + "src/**/*.overrides": [ + "make stylelint-fix" + ] }, "scripts": { "release": "release-it", @@ -51,6 +74,7 @@ "lint:fix": "make lint-fix", "i18n": "make i18n", "cypress:run": "make cypress-run", - "cypress:open": "make cypress-open" + "cypress:open": "make cypress-open", + "prepare": "husky install" } } From e9db5f22d8d6b43383d40d3cb6415ee7ab4c9e70 Mon Sep 17 00:00:00 2001 From: Alin Voinea Date: Thu, 14 Sep 2023 14:37:34 +0300 Subject: [PATCH 02/10] style: lint-staged reorder in package.json --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index e9cdabc8..3047b02b 100644 --- a/package.json +++ b/package.json @@ -31,10 +31,10 @@ "@cypress/code-coverage": "^3.10.0", "@plone/scripts": "*", "babel-plugin-transform-class-properties": "^6.24.1", - "md5": "^2.3.0", - "postcss-less": "6.0.0", "husky": "*", - "lint-staged": "*" + "lint-staged": "*", + "md5": "^2.3.0", + "postcss-less": "6.0.0" }, "lint-staged": { "src/**/*.{js,jsx,ts,tsx,json}": [ From 9f53ee3e7471e4be312f33c42d2a8b73a81078c3 Mon Sep 17 00:00:00 2001 From: kreafox Date: Fri, 22 Sep 2023 10:36:46 +0300 Subject: [PATCH 03/10] feat(banner): Add subtitle --- src/components/manage/Blocks/Title/schema.js | 4 ++++ src/components/theme/Banner/View.jsx | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/components/manage/Blocks/Title/schema.js b/src/components/manage/Blocks/Title/schema.js index 1ae5e1e2..f540ef82 100644 --- a/src/components/manage/Blocks/Title/schema.js +++ b/src/components/manage/Blocks/Title/schema.js @@ -55,6 +55,7 @@ export default { 'hideCreationDate', 'hidePublishingDate', 'hideModificationDate', + 'subtitle', 'info', ], }, @@ -94,6 +95,9 @@ export default { title: 'Hide download button', type: 'boolean', }, + subtitle: { + title: 'Subtitle', + }, rssLinks: { title: 'RSS Links', widget: 'object_list', diff --git a/src/components/theme/Banner/View.jsx b/src/components/theme/Banner/View.jsx index 93435e11..24290360 100644 --- a/src/components/theme/Banner/View.jsx +++ b/src/components/theme/Banner/View.jsx @@ -80,6 +80,7 @@ const View = (props) => { copyrightIcon, copyrightPosition, rssLinks, + subtitle, // contentType, } = props.data; const copyrightPrefix = @@ -199,6 +200,7 @@ const View = (props) => { } > + {subtitle && {subtitle}} <Banner.Metadata> <Banner.MetadataField From fc4d65de6b437cf699f70babb76de80be9b80681 Mon Sep 17 00:00:00 2001 From: kreafox <krisztina.n.elekes@gmail.com> Date: Fri, 22 Sep 2023 12:48:15 +0300 Subject: [PATCH 04/10] fix(tests): fix failing cypress tests --- cypress/e2e/02-flexGroup.cy.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cypress/e2e/02-flexGroup.cy.js b/cypress/e2e/02-flexGroup.cy.js index 4674b237..1f4b7259 100644 --- a/cypress/e2e/02-flexGroup.cy.js +++ b/cypress/e2e/02-flexGroup.cy.js @@ -17,7 +17,10 @@ describe('Flex Group Variation Tests', () => { cy.getSlate().click(); cy.get('.ui.basic.icon.button.block-add-button').first().click(); cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.group').contains('Section').click(); + cy.get('.content.active.common .button.group') + .contains('Section') + .should('be.visible') + .click(); // Save cy.get('#toolbar-save').click(); @@ -42,6 +45,7 @@ describe('Flex Group Variation Tests', () => { cy.get('.blocks-chooser .title').contains('Common').click(); cy.get('.content.active.common .button.group') .contains('Section (Group)') + .should('be.visible') .click(); cy.contains('Section').click(); From 89f7572850928501812b7cbaeea2db7346aeda82 Mon Sep 17 00:00:00 2001 From: kreafox <krisztina.n.elekes@gmail.com> Date: Tue, 26 Sep 2023 10:57:02 +0300 Subject: [PATCH 05/10] fix(tests): fix failing cypress tests --- cypress/e2e/02-flexGroup.cy.js | 6 +----- cypress/support/commands.js | 8 +++++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/cypress/e2e/02-flexGroup.cy.js b/cypress/e2e/02-flexGroup.cy.js index 1f4b7259..4674b237 100644 --- a/cypress/e2e/02-flexGroup.cy.js +++ b/cypress/e2e/02-flexGroup.cy.js @@ -17,10 +17,7 @@ describe('Flex Group Variation Tests', () => { cy.getSlate().click(); cy.get('.ui.basic.icon.button.block-add-button').first().click(); cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.group') - .contains('Section') - .should('be.visible') - .click(); + cy.get('.content.active.common .button.group').contains('Section').click(); // Save cy.get('#toolbar-save').click(); @@ -45,7 +42,6 @@ describe('Flex Group Variation Tests', () => { cy.get('.blocks-chooser .title').contains('Common').click(); cy.get('.content.active.common .button.group') .contains('Section (Group)') - .should('be.visible') .click(); cy.contains('Section').click(); diff --git a/cypress/support/commands.js b/cypress/support/commands.js index d06d0856..fa5154c3 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -408,9 +408,11 @@ Cypress.Commands.add('clearSlate', (selector) => { }); Cypress.Commands.add('getSlateTitle', () => { - return cy.get(SLATE_TITLE_SELECTOR, { - timeout: 10000, - }); + return cy + .get(SLATE_TITLE_SELECTOR, { + timeout: 10000, + }) + .should('be.visible'); }); Cypress.Commands.add('clearSlateTitle', () => { From cccf2c561621e60ae76b1eab6a34a078f72b6bce Mon Sep 17 00:00:00 2001 From: kreafox <krisztina.n.elekes@gmail.com> Date: Tue, 26 Sep 2023 11:22:04 +0300 Subject: [PATCH 06/10] fix(tests): fix failing cypress tests --- cypress/e2e/02-flexGroup.cy.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cypress/e2e/02-flexGroup.cy.js b/cypress/e2e/02-flexGroup.cy.js index 4674b237..1f4b7259 100644 --- a/cypress/e2e/02-flexGroup.cy.js +++ b/cypress/e2e/02-flexGroup.cy.js @@ -17,7 +17,10 @@ describe('Flex Group Variation Tests', () => { cy.getSlate().click(); cy.get('.ui.basic.icon.button.block-add-button').first().click(); cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.group').contains('Section').click(); + cy.get('.content.active.common .button.group') + .contains('Section') + .should('be.visible') + .click(); // Save cy.get('#toolbar-save').click(); @@ -42,6 +45,7 @@ describe('Flex Group Variation Tests', () => { cy.get('.blocks-chooser .title').contains('Common').click(); cy.get('.content.active.common .button.group') .contains('Section (Group)') + .should('be.visible') .click(); cy.contains('Section').click(); From 6f729e40780cd02999685382f51903e0b988d647 Mon Sep 17 00:00:00 2001 From: kreafox <krisztina.n.elekes@gmail.com> Date: Tue, 26 Sep 2023 13:49:11 +0300 Subject: [PATCH 07/10] fix(tests): fix failing cypress tests --- cypress/e2e/02-flexGroup.cy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cypress/e2e/02-flexGroup.cy.js b/cypress/e2e/02-flexGroup.cy.js index 1f4b7259..3eab8c34 100644 --- a/cypress/e2e/02-flexGroup.cy.js +++ b/cypress/e2e/02-flexGroup.cy.js @@ -20,7 +20,7 @@ describe('Flex Group Variation Tests', () => { cy.get('.content.active.common .button.group') .contains('Section') .should('be.visible') - .click(); + .click({ force: true }); // Save cy.get('#toolbar-save').click(); @@ -46,7 +46,7 @@ describe('Flex Group Variation Tests', () => { cy.get('.content.active.common .button.group') .contains('Section (Group)') .should('be.visible') - .click(); + .click({ force: true }); cy.contains('Section').click(); From 5dd215e4782e3ef47d558a8d57f979979496e5d9 Mon Sep 17 00:00:00 2001 From: Alin Voinea <contact@avoinea.com> Date: Tue, 26 Sep 2023 15:12:45 +0300 Subject: [PATCH 08/10] feat: Sync Sharing component customzation to Volto 16.24.0 - refs #256039 --- cypress/e2e/01-block-basics.cy.js | 11 +- src/customizations/@root/theme.js | 2 + .../components/manage/Sharing/Sharing.jsx | 77 +++++-- .../manage/Sharing/Sharing.test.jsx | 72 ++++++ .../__snapshots__/Sharing.test.jsx.snap | 216 ++++++++++++++++++ 5 files changed, 351 insertions(+), 27 deletions(-) create mode 100644 src/customizations/@root/theme.js create mode 100644 src/customizations/volto/components/manage/Sharing/Sharing.test.jsx create mode 100644 src/customizations/volto/components/manage/Sharing/__snapshots__/Sharing.test.jsx.snap diff --git a/cypress/e2e/01-block-basics.cy.js b/cypress/e2e/01-block-basics.cy.js index 268dc654..2347a591 100644 --- a/cypress/e2e/01-block-basics.cy.js +++ b/cypress/e2e/01-block-basics.cy.js @@ -17,8 +17,8 @@ describe('Blocks Tests', () => { cy.get('.documentFirstHeading').click(); cy.get('a').contains('Block').click(); cy.get(`[aria-label="Add RSS Link"]`).click(); - cy.get('#field-title-0-rssLinks-0').type('Test EEA Theme'); - cy.get('#field-href-2-rssLinks-0').type('test.com'); + cy.get('#field-title-0-rssLinks-0').type('RSS'); + cy.get('#field-href-2-rssLinks-0').type('/cypress/my-page/rss'); //add a block cy.getSlate().click(); @@ -26,13 +26,14 @@ describe('Blocks Tests', () => { cy.get('.blocks-chooser .title').contains('Media').click(); cy.get('.content.active.media .button.image').contains('Image').click(); - // check banner rss link - cy.get('.button.rssfeed').click(); - // Save cy.get('#toolbar-save').click(); cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); + // check banner rss link + cy.get('.button.rssfeed').should('have.attr', 'href', '/cypress/my-page/rss'); + cy.get('.button.rssfeed').contains('RSS'); + // then the page view should contain our changes cy.contains('My Add-on Page'); cy.get('.block.image'); diff --git a/src/customizations/@root/theme.js b/src/customizations/@root/theme.js new file mode 100644 index 00000000..05be13d9 --- /dev/null +++ b/src/customizations/@root/theme.js @@ -0,0 +1,2 @@ +import '@eeacms/volto-eea-design-system/semantic.less'; +import '@plone/volto/../theme/themes/pastanaga/extras/extras.less'; diff --git a/src/customizations/volto/components/manage/Sharing/Sharing.jsx b/src/customizations/volto/components/manage/Sharing/Sharing.jsx index 0aabab35..8a92094e 100644 --- a/src/customizations/volto/components/manage/Sharing/Sharing.jsx +++ b/src/customizations/volto/components/manage/Sharing/Sharing.jsx @@ -14,7 +14,7 @@ import { Portal } from 'react-portal'; import { Button, Checkbox, - Container, + Container as SemanticContainer, Form, Icon as IconOld, Input, @@ -28,6 +28,7 @@ import { updateSharing, getSharing } from '@plone/volto/actions'; import { getBaseUrl } from '@plone/volto/helpers'; import { Icon, Toolbar, Toast } from '@plone/volto/components'; import { toast } from 'react-toastify'; +import config from '@plone/volto/registry'; import aheadSVG from '@plone/volto/icons/ahead.svg'; import clearSVG from '@plone/volto/icons/clear.svg'; @@ -144,6 +145,7 @@ class SharingComponent extends Component { this.onToggleInherit = this.onToggleInherit.bind(this); this.state = { search: '', + isLoading: false, inherit: props.inherit, entries: props.entries, isClient: false, @@ -224,7 +226,17 @@ class SharingComponent extends Component { */ onSearch(event) { event.preventDefault(); - this.props.getSharing(getBaseUrl(this.props.pathname), this.state.search); + this.setState({ isLoading: true }); + this.props + .getSharing(getBaseUrl(this.props.pathname), this.state.search) + .then(() => { + this.setState({ isLoading: false }); + }) + .catch((error) => { + this.setState({ isLoading: false }); + // eslint-disable-next-line no-console + console.error('Error searching users or groups', error); + }); } /** @@ -245,9 +257,9 @@ class SharingComponent extends Component { * @returns {undefined} */ onToggleInherit() { - this.setState({ - inherit: !this.state.inherit, - }); + this.setState((state) => ({ + inherit: !state.inherit, + })); } /** @@ -288,11 +300,17 @@ class SharingComponent extends Component { * @returns {string} Markup for the component. */ render() { + const Container = + config.getComponent({ name: 'Container' }).component || SemanticContainer; + return ( <Container id="page-sharing"> <Helmet title={this.props.intl.formatMessage(messages.sharing)} /> <Segment.Group raised> - <Pluggable name="sharing-component" /> + <Pluggable + name="sharing-component" + params={{ isLoading: this.state.isLoading }} + /> <Plug pluggable="sharing-component" id="sharing-component-title"> <Segment className="primary"> <FormattedMessage @@ -314,20 +332,29 @@ class SharingComponent extends Component { </Segment> </Plug> <Plug pluggable="sharing-component" id="sharing-component-search"> - <Segment> - <Form onSubmit={this.onSearch}> - <Form.Field> - <Input - name="SearchableText" - action={{ icon: 'search' }} - placeholder={this.props.intl.formatMessage( - messages.searchForUserOrGroup, - )} - onChange={this.onChangeSearch} - /> - </Form.Field> - </Form> - </Segment> + {({ isLoading }) => { + return ( + <Segment> + <Form onSubmit={this.onSearch}> + <Form.Field> + <Input + name="SearchableText" + action={{ + icon: 'search', + loading: isLoading, + disabled: isLoading, + }} + placeholder={this.props.intl.formatMessage( + messages.searchForUserOrGroup, + )} + onChange={this.onChangeSearch} + id="sharing-component-search" + /> + </Form.Field> + </Form> + </Segment> + ); + }} </Plug> <Plug pluggable="sharing-component" @@ -400,9 +427,15 @@ class SharingComponent extends Component { <Segment attached> <Form.Field> <Checkbox - checked={this.state.inherit} + id="inherit-permissions-checkbox" + name="inherit-permissions-checkbox" + defaultChecked={this.state.inherit} onChange={this.onToggleInherit} - label={this.props.intl.formatMessage(messages.inherit)} + label={ + <label htmlFor="inherit-permissions-checkbox"> + {this.props.intl.formatMessage(messages.inherit)} + </label> + } /> </Form.Field> <p className="help"> diff --git a/src/customizations/volto/components/manage/Sharing/Sharing.test.jsx b/src/customizations/volto/components/manage/Sharing/Sharing.test.jsx new file mode 100644 index 00000000..9e0cafbf --- /dev/null +++ b/src/customizations/volto/components/manage/Sharing/Sharing.test.jsx @@ -0,0 +1,72 @@ +import React from 'react'; +import renderer from 'react-test-renderer'; +import configureStore from 'redux-mock-store'; +import { Provider } from 'react-intl-redux'; +import jwt from 'jsonwebtoken'; +import { MemoryRouter } from 'react-router-dom'; +import { PluggablesProvider } from '@plone/volto/components/manage/Pluggable'; + +import Sharing from './Sharing'; + +const mockStore = configureStore(); + +jest.mock('react-portal', () => ({ + Portal: jest.fn(() => <div id="Portal" />), +})); + +describe('Sharing', () => { + it('renders a sharing component', () => { + const store = mockStore({ + userSession: { + token: jwt.sign({ sub: 'john-doe' }, 'secret'), + }, + sharing: { + data: { + entries: [ + { + id: 'john-doe', + disabled: false, + login: 'john-doe', + roles: { + Contributer: true, + }, + title: 'John Doe', + type: 'user', + }, + ], + inherit: true, + available_roles: [ + { + id: 'Contributor', + title: 'Can add', + }, + ], + }, + update: { + loading: false, + loaded: true, + }, + }, + content: { + data: { + title: 'Blog', + }, + }, + intl: { + locale: 'en', + messages: {}, + }, + }); + const component = renderer.create( + <Provider store={store}> + <PluggablesProvider> + <MemoryRouter> + <Sharing location={{ pathname: '/blog' }} /> + </MemoryRouter> + </PluggablesProvider> + </Provider>, + ); + const json = component.toJSON(); + expect(json).toMatchSnapshot(); + }); +}); diff --git a/src/customizations/volto/components/manage/Sharing/__snapshots__/Sharing.test.jsx.snap b/src/customizations/volto/components/manage/Sharing/__snapshots__/Sharing.test.jsx.snap new file mode 100644 index 00000000..d1a1bcd4 --- /dev/null +++ b/src/customizations/volto/components/manage/Sharing/__snapshots__/Sharing.test.jsx.snap @@ -0,0 +1,216 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Sharing renders a sharing component 1`] = ` +<div + className="ui container" + id="page-sharing" +> + <div + className="ui raised segments" + > + <div + className="ui segment primary" + > + Sharing for + <q> + Blog + </q> + </div> + <div + className="ui secondary segment" + > + You can control who can view and edit your item using the list below. + </div> + <div + className="ui segment" + > + <form + className="ui form" + onSubmit={[Function]} + > + <div + className="field" + > + <div + className="ui action input" + > + <input + id="sharing-component-search" + name="SearchableText" + onChange={[Function]} + placeholder="Search for user or group" + type="text" + /> + <button + className="ui icon button" + onClick={[Function]} + > + <i + aria-hidden="true" + className="search icon" + onClick={[Function]} + /> + </button> + </div> + </div> + </form> + </div> + <form + className="ui form" + onSubmit={[Function]} + > + <table + className="ui celled striped attached padded table" + > + <thead + className="" + > + <tr + className="" + > + <th + className="" + > + Name + </th> + <th + className="" + > + Can add + </th> + </tr> + </thead> + <tbody + className="" + > + <tr + className="" + > + <td + className="" + > + <i + aria-hidden="true" + className="user icon" + onClick={[Function]} + title="User" + /> + + John Doe + (john-doe) + </td> + <td + className="" + /> + </tr> + </tbody> + </table> + <div + className="ui attached segment" + > + <div + className="field" + > + <div + className="ui checked checkbox" + onChange={[Function]} + onClick={[Function]} + onMouseDown={[Function]} + onMouseUp={[Function]} + > + <input + checked={true} + className="hidden" + id="inherit-permissions-checkbox" + name="inherit-permissions-checkbox" + readOnly={true} + tabIndex={0} + type="checkbox" + /> + <label + htmlFor="inherit-permissions-checkbox" + > + Inherit permissions from higher levels + </label> + </div> + </div> + <p + className="help" + > + By default, permissions from the container of this item are inherited. If you disable this, only the explicitly defined sharing permissions will be valid. In the overview, the symbol + <i + aria-hidden="true" + className="green check circle outline icon" + onClick={[Function]} + /> + indicates an inherited value. Similarly, the symbol + <i + aria-hidden="true" + className="blue check circle outline icon" + onClick={[Function]} + /> + indicates a global role, which is managed by the site administrator. + </p> + </div> + <div + className="ui clearing attached segment actions" + > + <button + aria-label="Save" + className="ui basic icon primary right floated button" + onClick={[Function]} + title="Save" + type="submit" + > + <svg + className="icon circled" + dangerouslySetInnerHTML={ + Object { + "__html": undefined, + } + } + onClick={null} + style={ + Object { + "fill": "currentColor", + "height": "30px", + "width": "auto", + } + } + viewBox="" + xmlns="" + /> + </button> + <button + aria-label="Cancel" + className="ui basic icon secondary right floated button" + onClick={[Function]} + title="Cancel" + > + <svg + className="icon circled" + dangerouslySetInnerHTML={ + Object { + "__html": undefined, + } + } + onClick={null} + style={ + Object { + "fill": "currentColor", + "height": "30px", + "width": "auto", + } + } + viewBox="" + xmlns="" + /> + </button> + </div> + </form> + </div> + <div + id="Portal" + /> +</div> +`; From 50f649344153f7501f6e9f917fc0a44923271bd2 Mon Sep 17 00:00:00 2001 From: Alin Voinea <contact@avoinea.com> Date: Tue, 26 Sep 2023 15:14:01 +0300 Subject: [PATCH 09/10] Release 1.22.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3047b02b..d76718f0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@eeacms/volto-eea-website-theme", - "version": "1.21.0", + "version": "1.22.0", "description": "@eeacms/volto-eea-website-theme: Volto add-on", "main": "src/index.js", "author": "European Environment Agency: IDM2 A-Team", From 9ec2d5362412f5714c2bd6bd294ad87f5198b697 Mon Sep 17 00:00:00 2001 From: EEA Jenkins <@users.noreply.github.com> Date: Tue, 26 Sep 2023 12:31:37 +0000 Subject: [PATCH 10/10] Automated release 1.22.0 --- CHANGELOG.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2007bae..69e0c448 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,27 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +### [1.22.0](https://github.com/eea/volto-eea-website-theme/compare/1.21.0...1.22.0) - 26 September 2023 + +#### :rocket: New Features + +- feat: Sync Sharing component customzation to Volto 16.24.0 - refs #256039 [Alin Voinea - [`5dd215e`](https://github.com/eea/volto-eea-website-theme/commit/5dd215e4782e3ef47d558a8d57f979979496e5d9)] + +#### :bug: Bug Fixes + +- fix(tests): fix failing cypress tests [kreafox - [`6f729e4`](https://github.com/eea/volto-eea-website-theme/commit/6f729e40780cd02999685382f51903e0b988d647)] +- fix(tests): fix failing cypress tests [kreafox - [`cccf2c5`](https://github.com/eea/volto-eea-website-theme/commit/cccf2c561621e60ae76b1eab6a34a078f72b6bce)] +- fix(tests): fix failing cypress tests [kreafox - [`89f7572`](https://github.com/eea/volto-eea-website-theme/commit/89f7572850928501812b7cbaeea2db7346aeda82)] +- fix(tests): fix failing cypress tests [kreafox - [`fc4d65d`](https://github.com/eea/volto-eea-website-theme/commit/fc4d65de6b437cf699f70babb76de80be9b80681)] + +#### :house: Internal changes + +- style: lint-staged reorder in package.json [Alin Voinea - [`e9db5f2`](https://github.com/eea/volto-eea-website-theme/commit/e9db5f22d8d6b43383d40d3cb6415ee7ab4c9e70)] + +#### :hammer_and_wrench: Others + +- Release 1.22.0 [Alin Voinea - [`50f6493`](https://github.com/eea/volto-eea-website-theme/commit/50f649344153f7501f6e9f917fc0a44923271bd2)] +- test: EN locales, pre-commit fix, feature PRs checks Refs #257193 [valentinab25 - [`56b7442`](https://github.com/eea/volto-eea-website-theme/commit/56b744237da1f9ba688b7b2e06a20e1758364c31)] ### [1.21.0](https://github.com/eea/volto-eea-website-theme/compare/1.20.0...1.21.0) - 5 September 2023 #### :house: Internal changes