diff --git a/.github/workflows/update-config.yml b/.github/workflows/update-config.yml index 5f79886f..b76aa261 100644 --- a/.github/workflows/update-config.yml +++ b/.github/workflows/update-config.yml @@ -3,6 +3,8 @@ on: repository_dispatch: types: [config_change] name: Update config +env: + GH_TOKEN: ${{ github.token }} jobs: update-config: runs-on: ubuntu-latest @@ -21,10 +23,7 @@ jobs: - 3306:3306 steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 1 - + - uses: actions/checkout@v4 - name: Download latest dump env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -41,16 +40,43 @@ jobs: # Update platform drush helfi:tools:update-platform + - name: Check module versions + id: module-status + run: | + MODE="delete" + drush helfi:tools:check-composer-versions $GITHUB_WORKSPACE/composer.lock --format=markdown_table >> $GITHUB_STEP_SUMMARY && EXIT_CODE=$? || EXIT_CODE=$? + if [ "$EXIT_CODE" -eq 3 ]; then + MODE="upsert" + echo " " >> $GITHUB_STEP_SUMMARY + echo ":warning: Failed to install the latest version of the packages listed above" >> $GITHUB_STEP_SUMMARY + echo " " >> $GITHUB_STEP_SUMMARY + echo "Please run \`composer why-not drupal/package_name package_version\` to see why." >> $GITHUB_STEP_SUMMARY + fi + echo "MODE=$MODE" >> $GITHUB_OUTPUT + cat $GITHUB_STEP_SUMMARY > /tmp/pr-message.txt + - name: Create Pull Request - uses: peter-evans/create-pull-request@v4 + uses: peter-evans/create-pull-request@v6 with: - committer: GitHub - author: actions-bot commit-message: Update configuration title: Automatic update labels: auto-update body: | - Updated active configuration. - Updated platform - branch: update-configuration + + - name: Attempt to find PR + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + id: find-pr + run: echo "number=$(gh pr list --base ${BRANCH_NAME} --head update-configuration --json number --jq '.[].number')" >> $GITHUB_OUTPUT + + - name: Comment PR + uses: thollander/actions-comment-pull-request@v2 + if: ${{ steps.find-pr.outputs.number != '' }} + with: + comment_tag: status + mode: ${{ steps.module-status.outputs.MODE }} + filePath: /tmp/pr-message.txt + pr_number: ${{ steps.find-pr.outputs.number }} diff --git a/composer.lock b/composer.lock index 5e2a19a0..0e0d2023 100644 --- a/composer.lock +++ b/composer.lock @@ -125,16 +125,16 @@ }, { "name": "chi-teck/drupal-code-generator", - "version": "3.3.0", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/Chi-teck/drupal-code-generator.git", - "reference": "56da9209b24a5a5b5d27bec9e523f02bdd101770" + "reference": "b8136b945dc3446894e6cd2b2f055e147140faed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Chi-teck/drupal-code-generator/zipball/56da9209b24a5a5b5d27bec9e523f02bdd101770", - "reference": "56da9209b24a5a5b5d27bec9e523f02bdd101770", + "url": "https://api.github.com/repos/Chi-teck/drupal-code-generator/zipball/b8136b945dc3446894e6cd2b2f055e147140faed", + "reference": "b8136b945dc3446894e6cd2b2f055e147140faed", "shasum": "" }, "require": { @@ -152,16 +152,16 @@ "squizlabs/php_codesniffer": "<3.6" }, "require-dev": { - "chi-teck/drupal-coder-extension": "^2.0.0-alpha4", - "drupal/coder": "8.3.22", - "drupal/core": "10.1.x-dev", + "chi-teck/drupal-coder-extension": "^2.0.0-beta2", + "drupal/coder": "8.3.23", + "drupal/core": "10.3.x-dev", "ext-simplexml": "*", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "^3.7", - "symfony/var-dumper": "^6.3", + "phpspec/prophecy-phpunit": "^2.2", + "phpunit/phpunit": "^9.6", + "squizlabs/php_codesniffer": "^3.9", + "symfony/var-dumper": "^6.4", "symfony/yaml": "^6.3", - "vimeo/psalm": "^5.14.0" + "vimeo/psalm": "^5.22.2" }, "bin": [ "bin/dcg" @@ -179,9 +179,9 @@ "description": "Drupal code generator", "support": { "issues": "https://github.com/Chi-teck/drupal-code-generator/issues", - "source": "https://github.com/Chi-teck/drupal-code-generator/tree/3.3.0" + "source": "https://github.com/Chi-teck/drupal-code-generator/tree/3.4.0" }, - "time": "2023-10-21T12:57:05+00:00" + "time": "2024-03-10T13:35:00+00:00" }, { "name": "commerceguys/addressing", @@ -1190,16 +1190,16 @@ }, { "name": "doctrine/collections", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "07e16cd7b80a2cffed99e36b541876af172f0257" + "reference": "420480fc085bc65f3c956af13abe8e7546f94813" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/07e16cd7b80a2cffed99e36b541876af172f0257", - "reference": "07e16cd7b80a2cffed99e36b541876af172f0257", + "url": "https://api.github.com/repos/doctrine/collections/zipball/420480fc085bc65f3c956af13abe8e7546f94813", + "reference": "420480fc085bc65f3c956af13abe8e7546f94813", "shasum": "" }, "require": { @@ -1256,7 +1256,7 @@ ], "support": { "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/2.2.0" + "source": "https://github.com/doctrine/collections/tree/2.2.1" }, "funding": [ { @@ -1272,7 +1272,7 @@ "type": "tidelift" } ], - "time": "2024-02-25T22:55:36+00:00" + "time": "2024-03-05T22:28:45+00:00" }, { "name": "doctrine/deprecations", @@ -1995,16 +1995,16 @@ }, { "name": "drupal/core", - "version": "10.2.3", + "version": "10.2.4", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "cc8c7952f7013795b735f5c15290e76937163bb7" + "reference": "d1c5b44adfc79bda03252471491b0fba89d87eff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/cc8c7952f7013795b735f5c15290e76937163bb7", - "reference": "cc8c7952f7013795b735f5c15290e76937163bb7", + "url": "https://api.github.com/repos/drupal/core/zipball/d1c5b44adfc79bda03252471491b0fba89d87eff", + "reference": "d1c5b44adfc79bda03252471491b0fba89d87eff", "shasum": "" }, "require": { @@ -2152,9 +2152,9 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/10.2.3" + "source": "https://github.com/drupal/core/tree/10.2.4" }, - "time": "2024-02-07T22:44:48+00:00" + "time": "2024-03-06T08:23:56+00:00" }, { "name": "drupal/core-composer-scaffold", @@ -2633,6 +2633,14 @@ "homepage": "https://www.drupal.org/u/greg-boggs", "role": "Maintainer" }, + { + "name": "diamondsea", + "homepage": "https://www.drupal.org/user/430714" + }, + { + "name": "Greg Boggs", + "homepage": "https://www.drupal.org/user/153069" + }, { "name": "hmartens", "homepage": "https://www.drupal.org/user/622826" @@ -3789,16 +3797,16 @@ }, { "name": "drupal/hdbt", - "version": "6.4.17", + "version": "6.4.25", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-hdbt.git", - "reference": "13dbc7ad6fcf6f943cca47f3002e213052d23111" + "reference": "fda238d677f4b044b239eb4916a5fd4a0a7e0eb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/13dbc7ad6fcf6f943cca47f3002e213052d23111", - "reference": "13dbc7ad6fcf6f943cca47f3002e213052d23111", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/fda238d677f4b044b239eb4916a5fd4a0a7e0eb5", + "reference": "fda238d677f4b044b239eb4916a5fd4a0a7e0eb5", "shasum": "" }, "require": { @@ -3816,23 +3824,23 @@ "Drupal" ], "support": { - "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.4.17", + "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.4.25", "issues": "https://github.com/City-of-Helsinki/drupal-hdbt/issues" }, - "time": "2024-02-28T07:06:09+00:00" + "time": "2024-03-12T12:56:27+00:00" }, { "name": "drupal/hdbt_admin", - "version": "3.1.2", + "version": "3.1.4", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-hdbt-admin.git", - "reference": "220819586d9ec9d11d72115be9a271ebc181c513" + "reference": "b39cc0cbf23eeea448a2b10b835b406b19efc3c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt-admin/zipball/220819586d9ec9d11d72115be9a271ebc181c513", - "reference": "220819586d9ec9d11d72115be9a271ebc181c513", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt-admin/zipball/b39cc0cbf23eeea448a2b10b835b406b19efc3c0", + "reference": "b39cc0cbf23eeea448a2b10b835b406b19efc3c0", "shasum": "" }, "require": { @@ -3851,10 +3859,10 @@ "Drupal" ], "support": { - "source": "https://github.com/City-of-Helsinki/drupal-hdbt-admin/tree/3.1.2", + "source": "https://github.com/City-of-Helsinki/drupal-hdbt-admin/tree/3.1.4", "issues": "https://github.com/City-of-Helsinki/drupal-hdbt-admin/issues" }, - "time": "2024-02-09T07:13:18+00:00" + "time": "2024-03-06T12:26:23+00:00" }, { "name": "drupal/health_check", @@ -3908,16 +3916,16 @@ }, { "name": "drupal/helfi_api_base", - "version": "2.6.1", + "version": "2.6.4", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base.git", - "reference": "5d713ea9804fe9c9f728da6cd02542f10768f918" + "reference": "778b6431d341db6f280aeb343d1bc673a378b5a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-api-base/zipball/5d713ea9804fe9c9f728da6cd02542f10768f918", - "reference": "5d713ea9804fe9c9f728da6cd02542f10768f918", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-api-base/zipball/778b6431d341db6f280aeb343d1bc673a378b5a0", + "reference": "778b6431d341db6f280aeb343d1bc673a378b5a0", "shasum": "" }, "require": { @@ -3946,10 +3954,10 @@ ], "description": "Helfi - API Base", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/tree/2.6.1", + "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/tree/2.6.4", "issues": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/issues" }, - "time": "2024-02-09T07:17:02+00:00" + "time": "2024-03-06T08:32:04+00:00" }, { "name": "drupal/helfi_azure_fs", @@ -3997,12 +4005,12 @@ "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-tools.git", - "reference": "a5443b279db5328d51dc7e7496660ef1a67d2f73" + "reference": "f038bbff89056bc61ca57d2229b4d74127e8017c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/a5443b279db5328d51dc7e7496660ef1a67d2f73", - "reference": "a5443b279db5328d51dc7e7496660ef1a67d2f73", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/f038bbff89056bc61ca57d2229b4d74127e8017c", + "reference": "f038bbff89056bc61ca57d2229b4d74127e8017c", "shasum": "" }, "require": { @@ -4074,7 +4082,7 @@ "source": "https://github.com/City-of-Helsinki/drupal-tools/tree/main", "issues": "https://github.com/City-of-Helsinki/drupal-tools/issues" }, - "time": "2024-02-28T08:06:46+00:00" + "time": "2024-03-07T07:59:22+00:00" }, { "name": "drupal/helfi_navigation", @@ -4112,16 +4120,16 @@ }, { "name": "drupal/helfi_platform_config", - "version": "4.3.16", + "version": "4.3.20", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config.git", - "reference": "372c946e224d5d7aa3be3aa33a5b21652093013f" + "reference": "9d7def6814bf8a94f662f4fd983cb8fe5114ae03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/372c946e224d5d7aa3be3aa33a5b21652093013f", - "reference": "372c946e224d5d7aa3be3aa33a5b21652093013f", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/9d7def6814bf8a94f662f4fd983cb8fe5114ae03", + "reference": "9d7def6814bf8a94f662f4fd983cb8fe5114ae03", "shasum": "" }, "require": { @@ -4203,7 +4211,8 @@ "[#UHF-7008] Core localization file download URL is wrong (https://www.drupal.org/project/drupal/issues/3022876)": "https://git.drupalcode.org/project/drupal/-/commit/40a96136b2dfe4322338508dffa636f6cb407900.patch", "[#UHF-7008] Add multilingual support for caching basefield definitions (https://www.drupal.org/project/drupal/issues/3114824)": "https://www.drupal.org/files/issues/2020-02-20/3114824_2.patch", "[#UHF-7008] Admin toolbar and contextual links should always be rendered in the admin language (https://www.drupal.org/project/drupal/issues/2313309)": "https://www.drupal.org/files/issues/2023-12-19/2313309-179.patch", - "[#UHF-9388] Process translation config files for custom modules (https://www.drupal.org/i/2845437)": "https://www.drupal.org/files/issues/2023-10-16/2845437-61.patch" + "[#UHF-9388] Process translation config files for custom modules (https://www.drupal.org/i/2845437)": "https://www.drupal.org/files/issues/2023-10-16/2845437-61.patch", + "[#UHF-9690] Allow updating lists when switching from allowed values to allowed values function (https://www.drupal.org/i/2873353)": "https://www.drupal.org/files/issues/2021-05-18/allow-allowed-values-function-update-D9-2873353_1.patch" }, "drupal/default_content": { "https://www.drupal.org/project/default_content/issues/2640734#comment-14638943": "https://raw.githubusercontent.com/City-of-Helsinki/drupal-helfi-platform-config/main/patches/default_content_2.0.0-alpha2-2640734_manual_imports-e164a354.patch" @@ -4230,10 +4239,10 @@ ], "description": "HELfi platform config", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/4.3.16", + "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/4.3.20", "issues": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/issues" }, - "time": "2024-02-27T09:50:42+00:00" + "time": "2024-03-12T08:04:15+00:00" }, { "name": "drupal/helfi_proxy", @@ -4289,16 +4298,16 @@ }, { "name": "drupal/helfi_tpr", - "version": "2.3.5", + "version": "2.3.6", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-module-helfi-tpr.git", - "reference": "c14c8634c913125faf96d217d11bac4a456049a8" + "reference": "44f69ad718b06aea6022fc9e66c4625525e056c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-tpr/zipball/c14c8634c913125faf96d217d11bac4a456049a8", - "reference": "c14c8634c913125faf96d217d11bac4a456049a8", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-tpr/zipball/44f69ad718b06aea6022fc9e66c4625525e056c4", + "reference": "44f69ad718b06aea6022fc9e66c4625525e056c4", "shasum": "" }, "require": { @@ -4324,10 +4333,10 @@ ], "description": "TPR integration", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-tpr/tree/2.3.5", + "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-tpr/tree/2.3.6", "issues": "https://github.com/City-of-Helsinki/drupal-module-helfi-tpr/issues" }, - "time": "2024-01-26T07:55:57+00:00" + "time": "2024-03-01T14:46:13+00:00" }, { "name": "drupal/helfi_tunnistamo", @@ -4425,17 +4434,17 @@ }, { "name": "drupal/imagecache_external", - "version": "3.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://git.drupalcode.org/project/imagecache_external.git", - "reference": "3.0.1" + "reference": "3.0.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/imagecache_external-3.0.1.zip", - "reference": "3.0.1", - "shasum": "f36e080a5059d760f4c47ad21ac9391f1b1ea6b3" + "url": "https://ftp.drupal.org/files/projects/imagecache_external-3.0.2.zip", + "reference": "3.0.2", + "shasum": "0c6254c6de9c4ecd62da6f82f231484f5178e61d" }, "require": { "drupal/core": "^9.3 || ^10" @@ -4443,8 +4452,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.0.1", - "datestamp": "1665918248", + "version": "3.0.2", + "datestamp": "1709311320", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5209,7 +5218,7 @@ "extra": { "drupal": { "version": "8.x-1.17", - "datestamp": "1705234146", + "datestamp": "1709804220", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -6722,26 +6731,30 @@ }, { "name": "drupal/view_unpublished", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/view_unpublished.git", - "reference": "8.x-1.1" + "reference": "8.x-1.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/view_unpublished-8.x-1.1.zip", - "reference": "8.x-1.1", - "shasum": "f9f5e88cbaf1a1e71952d94cf67ef2f180e292be" + "url": "https://ftp.drupal.org/files/projects/view_unpublished-8.x-1.2.zip", + "reference": "8.x-1.2", + "shasum": "14374dd56d841270207e21974c7b7cf8aa1804f7" }, "require": { "drupal/core": "^9.4 || ^10" }, + "require-dev": { + "drupal/coder": "^8.3.18", + "phpcompatibility/php-compatibility": "10.x-dev@dev" + }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.1", - "datestamp": "1681757575", + "version": "8.x-1.2", + "datestamp": "1709383642", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -6968,23 +6981,23 @@ }, { "name": "drush/drush", - "version": "12.4.3", + "version": "12.4.4", "source": { "type": "git", "url": "https://github.com/drush-ops/drush.git", - "reference": "8245acede57ecc62a90aa0f19ff3b29e5f11f971" + "reference": "a6585cddae47144413565f3c1cd29debc69f6b41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drush-ops/drush/zipball/8245acede57ecc62a90aa0f19ff3b29e5f11f971", - "reference": "8245acede57ecc62a90aa0f19ff3b29e5f11f971", + "url": "https://api.github.com/repos/drush-ops/drush/zipball/a6585cddae47144413565f3c1cd29debc69f6b41", + "reference": "a6585cddae47144413565f3c1cd29debc69f6b41", "shasum": "" }, "require": { "chi-teck/drupal-code-generator": "^3.0", "composer-runtime-api": "^2.2", "composer/semver": "^1.4 || ^3", - "consolidation/annotated-command": "^4.9.1", + "consolidation/annotated-command": "^4.9.2", "consolidation/config": "^2.1.2", "consolidation/filter-via-dot-access-data": "^2.0.2", "consolidation/output-formatters": "^4.3.2", @@ -7100,7 +7113,7 @@ "issues": "https://github.com/drush-ops/drush/issues", "security": "https://github.com/drush-ops/drush/security/advisories", "slack": "https://drupal.slack.com/messages/C62H9CWQM", - "source": "https://github.com/drush-ops/drush/tree/12.4.3" + "source": "https://github.com/drush-ops/drush/tree/12.4.4" }, "funding": [ { @@ -7108,7 +7121,7 @@ "type": "github" } ], - "time": "2023-11-16T22:57:24+00:00" + "time": "2024-03-02T12:14:56+00:00" }, { "name": "easyrdf/easyrdf", @@ -8790,16 +8803,16 @@ }, { "name": "mck89/peast", - "version": "v1.16.1", + "version": "v1.16.2", "source": { "type": "git", "url": "https://github.com/mck89/peast.git", - "reference": "f6e681062bb25c8dacbd30e079f4ad3fd890d7ad" + "reference": "2791b08ffcc1862fe18eef85675da3aa58c406fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mck89/peast/zipball/f6e681062bb25c8dacbd30e079f4ad3fd890d7ad", - "reference": "f6e681062bb25c8dacbd30e079f4ad3fd890d7ad", + "url": "https://api.github.com/repos/mck89/peast/zipball/2791b08ffcc1862fe18eef85675da3aa58c406fe", + "reference": "2791b08ffcc1862fe18eef85675da3aa58c406fe", "shasum": "" }, "require": { @@ -8812,7 +8825,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.16.1-dev" + "dev-master": "1.16.2-dev" } }, "autoload": { @@ -8833,9 +8846,9 @@ "description": "Peast is PHP library that generates AST for JavaScript code", "support": { "issues": "https://github.com/mck89/peast/issues", - "source": "https://github.com/mck89/peast/tree/v1.16.1" + "source": "https://github.com/mck89/peast/tree/v1.16.2" }, - "time": "2024-02-14T08:15:19+00:00" + "time": "2024-03-05T09:16:03+00:00" }, { "name": "microsoft/azure-storage-blob", @@ -8976,16 +8989,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.0.1", + "version": "v5.0.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69" + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2218c2252c874a4624ab2f613d86ac32d227bc69", - "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", "shasum": "" }, "require": { @@ -9028,9 +9041,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" }, - "time": "2024-02-21T19:24:10+00:00" + "time": "2024-03-05T20:51:40+00:00" }, { "name": "nodespark/des-connector", @@ -9282,16 +9295,16 @@ }, { "name": "pear/pear-core-minimal", - "version": "v1.10.14", + "version": "v1.10.15", "source": { "type": "git", "url": "https://github.com/pear/pear-core-minimal.git", - "reference": "a86fc145edb5caedbf96527214ce3cadc9de4a32" + "reference": "d457b5c93e5001fbf4b5726d21038266e029e3be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/a86fc145edb5caedbf96527214ce3cadc9de4a32", - "reference": "a86fc145edb5caedbf96527214ce3cadc9de4a32", + "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/d457b5c93e5001fbf4b5726d21038266e029e3be", + "reference": "d457b5c93e5001fbf4b5726d21038266e029e3be", "shasum": "" }, "require": { @@ -9327,7 +9340,7 @@ "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR", "source": "https://github.com/pear/pear-core-minimal" }, - "time": "2023-11-26T16:15:38+00:00" + "time": "2024-03-09T19:38:40+00:00" }, { "name": "pear/pear_exception", @@ -9645,30 +9658,30 @@ }, { "name": "phrity/util-errorhandler", - "version": "1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/sirn-se/phrity-util-errorhandler.git", - "reference": "dc9ac8fb70d733c48a9d9d1eb50f7022172da6bc" + "reference": "4016d9f9615a4c602f525b0542e4835e316a42e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirn-se/phrity-util-errorhandler/zipball/dc9ac8fb70d733c48a9d9d1eb50f7022172da6bc", - "reference": "dc9ac8fb70d733c48a9d9d1eb50f7022172da6bc", + "url": "https://api.github.com/repos/sirn-se/phrity-util-errorhandler/zipball/4016d9f9615a4c602f525b0542e4835e316a42e4", + "reference": "4016d9f9615a4c602f525b0542e4835e316a42e4", "shasum": "" }, "require": { - "php": "^7.2|^8.0" + "php": "^7.4 | ^8.0" }, "require-dev": { "php-coveralls/php-coveralls": "^2.0", - "phpunit/phpunit": "^8.0|^9.0", + "phpunit/phpunit": "^9.0 | ^10.0 | ^11.0", "squizlabs/php_codesniffer": "^3.5" }, "type": "library", "autoload": { "psr-4": { - "": "src/" + "Phrity\\Util\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -9690,9 +9703,9 @@ ], "support": { "issues": "https://github.com/sirn-se/phrity-util-errorhandler/issues", - "source": "https://github.com/sirn-se/phrity-util-errorhandler/tree/1.0.1" + "source": "https://github.com/sirn-se/phrity-util-errorhandler/tree/1.1.0" }, - "time": "2022-10-27T12:14:42+00:00" + "time": "2024-03-05T19:32:14+00:00" }, { "name": "psr/cache", @@ -10253,16 +10266,16 @@ }, { "name": "ruflin/elastica", - "version": "7.3.1", + "version": "7.3.2", "source": { "type": "git", "url": "https://github.com/ruflin/Elastica.git", - "reference": "7c61a630c3d456b00a5610960ae3a9bd29987469" + "reference": "84ba137678707a1aa4242d12bad891dc38fa2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ruflin/Elastica/zipball/7c61a630c3d456b00a5610960ae3a9bd29987469", - "reference": "7c61a630c3d456b00a5610960ae3a9bd29987469", + "url": "https://api.github.com/repos/ruflin/Elastica/zipball/84ba137678707a1aa4242d12bad891dc38fa2608", + "reference": "84ba137678707a1aa4242d12bad891dc38fa2608", "shasum": "" }, "require": { @@ -10316,22 +10329,22 @@ ], "support": { "issues": "https://github.com/ruflin/Elastica/issues", - "source": "https://github.com/ruflin/Elastica/tree/7.3.1" + "source": "https://github.com/ruflin/Elastica/tree/7.3.2" }, - "time": "2023-04-21T09:04:46+00:00" + "time": "2024-03-11T14:11:50+00:00" }, { "name": "sebastian/diff", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", "shasum": "" }, "require": { @@ -10376,7 +10389,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" }, "funding": [ { @@ -10384,7 +10397,7 @@ "type": "github" } ], - "time": "2023-05-07T05:35:17+00:00" + "time": "2024-03-02T06:30:58+00:00" }, { "name": "sentry/sentry", @@ -11227,16 +11240,16 @@ }, { "name": "symfony/http-kernel", - "version": "v6.4.4", + "version": "v6.4.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "7a186f64a7f02787c04e8476538624d6aa888e42" + "reference": "f6947cb939d8efee137797382cb4db1af653ef75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/7a186f64a7f02787c04e8476538624d6aa888e42", - "reference": "7a186f64a7f02787c04e8476538624d6aa888e42", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f6947cb939d8efee137797382cb4db1af653ef75", + "reference": "f6947cb939d8efee137797382cb4db1af653ef75", "shasum": "" }, "require": { @@ -11320,7 +11333,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.4" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.5" }, "funding": [ { @@ -11336,7 +11349,7 @@ "type": "tidelift" } ], - "time": "2024-02-27T06:32:13+00:00" + "time": "2024-03-04T21:00:47+00:00" }, { "name": "symfony/mailer", @@ -12579,16 +12592,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.3", + "version": "v6.4.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842" + "reference": "7fe30068e207d9c31c0138501ab40358eb2d49a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/3b2957ad54902f0f544df83e3d58b38d7e8e5842", - "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842", + "url": "https://api.github.com/repos/symfony/routing/zipball/7fe30068e207d9c31c0138501ab40358eb2d49a4", + "reference": "7fe30068e207d9c31c0138501ab40358eb2d49a4", "shasum": "" }, "require": { @@ -12642,7 +12655,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.3" + "source": "https://github.com/symfony/routing/tree/v6.4.5" }, "funding": [ { @@ -12658,7 +12671,7 @@ "type": "tidelift" } ], - "time": "2024-01-30T13:55:02+00:00" + "time": "2024-02-27T12:33:30+00:00" }, { "name": "symfony/serializer", diff --git a/conf/cmi/core.entity_form_display.node.page.default.yml b/conf/cmi/core.entity_form_display.node.page.default.yml index 0d14323d..96f92273 100644 --- a/conf/cmi/core.entity_form_display.node.page.default.yml +++ b/conf/cmi/core.entity_form_display.node.page.default.yml @@ -21,7 +21,7 @@ dependencies: - publication_date - scheduler _core: - default_config_hash: _RX52hwdyz48o4MBqyRPUVkop-Unt1rcPuPanpQ7ksk + default_config_hash: IrTthHmbnCZxuMpndzRlr9-t2RT3szU18RcM_bpnrz0 id: node.page.default targetEntityType: node bundle: page @@ -79,10 +79,12 @@ content: duplicate: '0' third_party_settings: { } field_lead_in: - type: string_textarea + type: textarea_character_counter weight: 13 region: content settings: + counter_step: 160 + counter_total: 200 rows: 3 placeholder: '' third_party_settings: { } @@ -203,10 +205,12 @@ content: display_label: true third_party_settings: { } title: - type: string_textfield + type: textfield_character_counter weight: 1 region: content settings: + counter_step: 0 + counter_total: 55 size: 60 placeholder: '' third_party_settings: { } diff --git a/conf/cmi/core.entity_form_display.paragraph.event_list.default.yml b/conf/cmi/core.entity_form_display.paragraph.event_list.default.yml index 824319a2..070cf194 100644 --- a/conf/cmi/core.entity_form_display.paragraph.event_list.default.yml +++ b/conf/cmi/core.entity_form_display.paragraph.event_list.default.yml @@ -9,6 +9,7 @@ dependencies: - field.field.paragraph.event_list.field_event_list_title - field.field.paragraph.event_list.field_event_location - field.field.paragraph.event_list.field_event_time + - field.field.paragraph.event_list.field_filter_keywords - field.field.paragraph.event_list.field_free_events - field.field.paragraph.event_list.field_remote_events - paragraphs.paragraphs_type.event_list @@ -16,7 +17,7 @@ dependencies: - link - text _core: - default_config_hash: bGb0ZQ38-NxHtZ1rrdqclYHeStlwA5q3ucy5Wpnb0ng + default_config_hash: 26rzwNcMiiF5Bucl9iUliZYoL4vZcdmdNkYBAr9DYOU id: paragraph.event_list.default targetEntityType: paragraph bundle: event_list @@ -66,6 +67,16 @@ content: settings: display_label: true third_party_settings: { } + field_filter_keywords: + type: entity_reference_autocomplete_tags + weight: 8 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } field_free_events: type: boolean_checkbox weight: 7 diff --git a/conf/cmi/core.entity_form_display.paragraph.hero.default.yml b/conf/cmi/core.entity_form_display.paragraph.hero.default.yml index f50e5473..73791139 100644 --- a/conf/cmi/core.entity_form_display.paragraph.hero.default.yml +++ b/conf/cmi/core.entity_form_display.paragraph.hero.default.yml @@ -11,24 +11,29 @@ dependencies: - field.field.paragraph.hero.field_hero_title - paragraphs.paragraphs_type.hero module: + - allowed_formats - hdbt_admin_tools - media_library - - text _core: - default_config_hash: CvDiqRtujItZjhiR7KUf0a9dQrlgEcmuDDhJHmzUNOw + default_config_hash: 1GjBs_T3tKYlTF4jxU6lUtwC7YSCChaZ4Tmsrialewk id: paragraph.hero.default targetEntityType: paragraph bundle: hero mode: default content: field_hero_desc: - type: text_textarea + type: formatted_text_character_counter weight: 3 region: content settings: + counter_step: 160 + counter_total: 200 rows: 5 placeholder: '' - third_party_settings: { } + third_party_settings: + allowed_formats: + hide_help: '0' + hide_guidelines: '0' field_hero_design: type: design_field_widget weight: 0 @@ -47,6 +52,8 @@ content: weight: 6 region: content settings: + placeholder_url: '' + placeholder_title: '' linkit_profile: helfi linkit_auto_link_text: false third_party_settings: { } @@ -57,10 +64,12 @@ content: settings: { } third_party_settings: { } field_hero_title: - type: string_textfield + type: textfield_character_counter weight: 2 region: content settings: + counter_step: 0 + counter_total: 55 size: 60 placeholder: '' third_party_settings: { } diff --git a/conf/cmi/core.entity_form_display.taxonomy_term.linked_events_keywords.default.yml b/conf/cmi/core.entity_form_display.taxonomy_term.linked_events_keywords.default.yml new file mode 100644 index 00000000..37b0a8c1 --- /dev/null +++ b/conf/cmi/core.entity_form_display.taxonomy_term.linked_events_keywords.default.yml @@ -0,0 +1,72 @@ +uuid: d3bdb49e-461c-4a0f-a88c-c34eb54f7101 +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.linked_events_keywords.field_keyword_id + - taxonomy.vocabulary.linked_events_keywords + module: + - hdbt_admin_tools + - path + - readonly_field_widget +_core: + default_config_hash: wrJ7qU6IE5H0AiZu6m8w7XCBXT-dqOntJPqFqR0iyU8 +id: taxonomy_term.linked_events_keywords.default +targetEntityType: taxonomy_term +bundle: linked_events_keywords +mode: default +content: + description: + type: formatted_text_character_counter + weight: 0 + region: content + settings: + counter_step: 160 + counter_total: 200 + rows: 5 + placeholder: '' + third_party_settings: { } + field_keyword_id: + type: readonly_field_widget + weight: 101 + region: content + settings: + label: above + formatter_type: null + formatter_settings: { } + show_description: false + third_party_settings: { } + langcode: + type: language_select + weight: 2 + region: content + settings: + include_locked: true + third_party_settings: { } + name: + type: string_textfield + weight: -5 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + path: + type: path + weight: 30 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + weight: 100 + region: content + settings: + display_label: true + third_party_settings: { } + translation: + weight: 10 + region: content + settings: { } + third_party_settings: { } +hidden: { } diff --git a/conf/cmi/core.entity_view_display.media.image.hero.yml b/conf/cmi/core.entity_view_display.media.image.hero.yml index 3d0b5ab6..547983c0 100644 --- a/conf/cmi/core.entity_view_display.media.image.hero.yml +++ b/conf/cmi/core.entity_view_display.media.image.hero.yml @@ -11,7 +11,7 @@ dependencies: module: - responsive_image _core: - default_config_hash: UX2CrJYBdnGTpSaqiYid65d46ihnZEmWEBJbdXJZQ7g + default_config_hash: 1TRAhLvz-37rbjca1TJiVCP65Gy_X5ppn2iiiTRvl-g id: media.image.hero targetEntityType: media bundle: image diff --git a/conf/cmi/core.entity_view_display.paragraph.event_list.default.yml b/conf/cmi/core.entity_view_display.paragraph.event_list.default.yml index 5936331d..6a32dc11 100644 --- a/conf/cmi/core.entity_view_display.paragraph.event_list.default.yml +++ b/conf/cmi/core.entity_view_display.paragraph.event_list.default.yml @@ -9,6 +9,7 @@ dependencies: - field.field.paragraph.event_list.field_event_list_title - field.field.paragraph.event_list.field_event_location - field.field.paragraph.event_list.field_event_time + - field.field.paragraph.event_list.field_filter_keywords - field.field.paragraph.event_list.field_free_events - field.field.paragraph.event_list.field_remote_events - paragraphs.paragraphs_type.event_list @@ -16,7 +17,7 @@ dependencies: - options - text _core: - default_config_hash: dMZ_8jKpOaA7CkuxlB2baa1apQcQ_vFlXM04jq4bqQY + default_config_hash: klW1qrhnmScBqsz4kDhFjtI4wmrMjLZynRsx9475Egs id: paragraph.event_list.default targetEntityType: paragraph bundle: event_list @@ -64,6 +65,14 @@ content: third_party_settings: { } weight: 3 region: content + field_filter_keywords: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: { } + weight: 6 + region: content field_free_events: type: boolean label: above diff --git a/conf/cmi/core.entity_view_display.taxonomy_term.linked_events_keywords.default.yml b/conf/cmi/core.entity_view_display.taxonomy_term.linked_events_keywords.default.yml new file mode 100644 index 00000000..968b3c93 --- /dev/null +++ b/conf/cmi/core.entity_view_display.taxonomy_term.linked_events_keywords.default.yml @@ -0,0 +1,27 @@ +uuid: 19cd3ce0-e5a8-4db8-ab50-ae7bde5fa981 +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.linked_events_keywords.field_keyword_id + - taxonomy.vocabulary.linked_events_keywords + module: + - text +_core: + default_config_hash: fBcG1sEoN3MYNH4WUM9M_e2jo304Kha_sUVu26s05ig +id: taxonomy_term.linked_events_keywords.default +targetEntityType: taxonomy_term +bundle: linked_events_keywords +mode: default +content: + description: + type: text_default + label: hidden + settings: { } + third_party_settings: { } + weight: 0 + region: content +hidden: + field_keyword_id: true + langcode: true + search_api_excerpt: true diff --git a/conf/cmi/core.entity_view_mode.media.hero.yml b/conf/cmi/core.entity_view_mode.media.hero.yml index 36e4f2cb..0e62d856 100644 --- a/conf/cmi/core.entity_view_mode.media.hero.yml +++ b/conf/cmi/core.entity_view_mode.media.hero.yml @@ -5,7 +5,7 @@ dependencies: module: - media _core: - default_config_hash: XHi0bUTi0UQU5CFI90xrtRS1tLLlwUSrMhNft4fY_XA + default_config_hash: zAj-eiOJoImMZ2MAmC2k7HFfOKvT0JA_aHDz6RaN2uQ id: media.hero label: Hero description: '' diff --git a/conf/cmi/eu_cookie_compliance.settings.yml b/conf/cmi/eu_cookie_compliance.settings.yml index 3752ab00..2ca752c1 100644 --- a/conf/cmi/eu_cookie_compliance.settings.yml +++ b/conf/cmi/eu_cookie_compliance.settings.yml @@ -56,7 +56,7 @@ better_support_for_screen_readers: false method: categories disabled_javascripts: '' automatic_cookies_removal: true -allowed_cookies: "essential:AWSELBCORS\r\nessential:cookiehub\r\nessential:mtm_cookie_consent\r\nessential:JSESSIONID\r\nessential:COOKIE_SUPPORT\r\nessential:GUEST_LANGUAGE_ID\r\npreference:httpskartta.hel.fi.SWCulture\r\npreference:icareus-device\r\npreference:VISITOR_INFO1_LIVE\r\npreference:CONSENT\r\nstatistics:nmstat\r\nstatistics:_pk_id.*\r\nstatistics:_pk_ses.141.89f6\r\nstatistics:_pk_id.*\r\nstatistics:_pk_ses.*\r\nstatistics:_pk_id.*\r\nstatistics:_pk_ses.*\r\nstatistics:rnsbid\r\nstatistics:rnsbid_ts\r\nstatistics:rns_reaction_*\r\nstatistics:YSC\r\nchat:_genesys.widgets.*\r\nchat:leijuke.*" +allowed_cookies: "helfi_accordions_open\r\nessential:AWSELBCORS\r\nessential:cookiehub\r\nessential:mtm_cookie_consent\r\nessential:JSESSIONID\r\nessential:COOKIE_SUPPORT\r\nessential:GUEST_LANGUAGE_ID\r\npreference:httpskartta.hel.fi.SWCulture\r\npreference:icareus-device\r\npreference:VISITOR_INFO1_LIVE\r\npreference:CONSENT\r\nstatistics:nmstat\r\nstatistics:_pk_id.*\r\nstatistics:_pk_ses.141.89f6\r\nstatistics:_pk_id.*\r\nstatistics:_pk_ses.*\r\nstatistics:_pk_id.*\r\nstatistics:_pk_ses.*\r\nstatistics:rnsbid\r\nstatistics:rnsbid_ts\r\nstatistics:rns_reaction_*\r\nstatistics:YSC\r\nchat:_genesys.widgets.*\r\nchat:leijuke.*" consent_storage_method: do_not_store withdraw_message: value: '

Hel.fi uses cookies

You have given your consent for us to set cookies.

' diff --git a/conf/cmi/field.field.node.page.field_content.yml b/conf/cmi/field.field.node.page.field_content.yml index 1f90aa2c..b3858a9c 100644 --- a/conf/cmi/field.field.node.page.field_content.yml +++ b/conf/cmi/field.field.node.page.field_content.yml @@ -40,21 +40,21 @@ settings: handler_settings: target_bundles: text: text - columns: columns - image: image accordion: accordion + banner: banner + image: image list_of_links: list_of_links - contact_card_listing: contact_card_listing content_cards: content_cards - content_liftup: content_liftup - banner: banner - event_list: event_list - news_list: news_list - from_library: from_library + columns: columns phasing: phasing - chart: chart - remote_video: remote_video + from_library: from_library map: map + remote_video: remote_video + chart: chart + event_list: event_list + contact_card_listing: contact_card_listing + news_list: news_list + content_liftup: content_liftup negate: 0 target_bundles_drag_drop: accordion: diff --git a/conf/cmi/field.field.node.page.field_lower_content.yml b/conf/cmi/field.field.node.page.field_lower_content.yml index 2d9917f2..4af7d345 100644 --- a/conf/cmi/field.field.node.page.field_lower_content.yml +++ b/conf/cmi/field.field.node.page.field_lower_content.yml @@ -39,22 +39,22 @@ settings: handler: 'default:paragraph' handler_settings: target_bundles: - text: text - columns: columns - image: image - accordion: accordion list_of_links: list_of_links - contact_card_listing: contact_card_listing content_cards: content_cards - content_liftup: content_liftup + text: text + accordion: accordion banner: banner - event_list: event_list - news_list: news_list - from_library: from_library - chart: chart + image: image + columns: columns phasing: phasing - remote_video: remote_video + from_library: from_library map: map + remote_video: remote_video + chart: chart + event_list: event_list + contact_card_listing: contact_card_listing + news_list: news_list + content_liftup: content_liftup negate: 0 target_bundles_drag_drop: accordion: diff --git a/conf/cmi/field.field.node.page.field_sidebar_content.yml b/conf/cmi/field.field.node.page.field_sidebar_content.yml index 25a6bdaf..c424fe69 100644 --- a/conf/cmi/field.field.node.page.field_sidebar_content.yml +++ b/conf/cmi/field.field.node.page.field_sidebar_content.yml @@ -25,8 +25,8 @@ settings: handler: 'default:paragraph' handler_settings: target_bundles: - sidebar_text: sidebar_text from_library: from_library + sidebar_text: sidebar_text negate: 0 target_bundles_drag_drop: from_library: diff --git a/conf/cmi/field.field.paragraph.event_list.field_api_url.yml b/conf/cmi/field.field.paragraph.event_list.field_api_url.yml index ad6231c7..45b017ea 100644 --- a/conf/cmi/field.field.paragraph.event_list.field_api_url.yml +++ b/conf/cmi/field.field.paragraph.event_list.field_api_url.yml @@ -8,13 +8,13 @@ dependencies: module: - link _core: - default_config_hash: Y-6hGxIpid7_ScRXE2GozslolF7R3tkTNiJFFaLEw4Y + default_config_hash: qFl3v-buWHh5wpZVM1bBbrLFD8prLGRuI8-zz1PX_sA id: paragraph.event_list.field_api_url field_name: field_api_url entity_type: paragraph bundle: event_list label: 'Api URL' -description: 'Add URL from tapahtumat.hel.fi to form a list of events. Example URL: https://tapahtumat.hel.fi/fi/events?categories=museum' +description: 'Add URL from tapahtumat.hel.fi to form a list of events. Example URL: https://tapahtumat.hel.fi/fi/events?categories=museum. If you want to use the location filter, the URL should contain the IDs of all relevant locations. For example: &places=tprek:123,tprek:456' required: false translatable: false default_value: { } diff --git a/conf/cmi/field.field.paragraph.event_list.field_event_location.yml b/conf/cmi/field.field.paragraph.event_list.field_event_location.yml index 75e440c4..45f6a270 100644 --- a/conf/cmi/field.field.paragraph.event_list.field_event_location.yml +++ b/conf/cmi/field.field.paragraph.event_list.field_event_location.yml @@ -6,13 +6,13 @@ dependencies: - field.storage.paragraph.field_event_location - paragraphs.paragraphs_type.event_list _core: - default_config_hash: qn_ofDevCfu_ZKP8n6kRAQFTmy0cRAXNJUvxS6mU-6Q + default_config_hash: DSXkHRCUYDva2angAe8mEVxY95-9mh8B_oOd_9i-1I0 id: paragraph.event_list.field_event_location field_name: field_event_location entity_type: paragraph bundle: event_list label: 'Event location' -description: 'Show "event location" filter. Do not use at the same time with the "Remote events" filter.' +description: 'Show "event location" filter. Do not use at the same time with the "Remote events" filter. The API URL field should include all location IDs, otherwise this list will display all active locations.' required: false translatable: false default_value: diff --git a/conf/cmi/field.field.paragraph.event_list.field_filter_keywords.yml b/conf/cmi/field.field.paragraph.event_list.field_filter_keywords.yml new file mode 100644 index 00000000..65279cf3 --- /dev/null +++ b/conf/cmi/field.field.paragraph.event_list.field_filter_keywords.yml @@ -0,0 +1,31 @@ +uuid: 05609557-0317-49a6-b2dd-1e7a2e69c10b +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_filter_keywords + - paragraphs.paragraphs_type.event_list + - taxonomy.vocabulary.linked_events_keywords +_core: + default_config_hash: zOO1RpDPCcNOWimUEMWLWWTZGDfOxr1BadD0vxMwZl8 +id: paragraph.event_list.field_filter_keywords +field_name: field_filter_keywords +entity_type: paragraph +bundle: event_list +label: Topics +description: 'Select options for "filter by topic" filter. The filter is hidden if no keywords are selected.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + linked_events_keywords: linked_events_keywords + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/conf/cmi/field.field.paragraph.hero.field_hero_desc.yml b/conf/cmi/field.field.paragraph.hero.field_hero_desc.yml index e2e07ad2..a7219eff 100644 --- a/conf/cmi/field.field.paragraph.hero.field_hero_desc.yml +++ b/conf/cmi/field.field.paragraph.hero.field_hero_desc.yml @@ -12,7 +12,7 @@ third_party_settings: allowed_formats: allowed_formats: { } _core: - default_config_hash: 8R816KbWZKNUvPgCHKY1nRR0RRNTUOhsmU9s2eQCy-c + default_config_hash: cwwrLHDaOq3Y_x5EhOnPYng3P2Qpk-AZNL5Zo6DZn20 id: paragraph.hero.field_hero_desc field_name: field_hero_desc entity_type: paragraph diff --git a/conf/cmi/field.field.taxonomy_term.linked_events_keywords.field_keyword_id.yml b/conf/cmi/field.field.taxonomy_term.linked_events_keywords.field_keyword_id.yml new file mode 100644 index 00000000..3c5d8bda --- /dev/null +++ b/conf/cmi/field.field.taxonomy_term.linked_events_keywords.field_keyword_id.yml @@ -0,0 +1,21 @@ +uuid: f04d1d15-8a22-440d-aa3f-1af424df9124 +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_keyword_id + - taxonomy.vocabulary.linked_events_keywords +_core: + default_config_hash: VHWaAjAYzxCy2U7_c3Vc3MAfurLC2QCPAimZVamsAuU +id: taxonomy_term.linked_events_keywords.field_keyword_id +field_name: field_keyword_id +entity_type: taxonomy_term +bundle: linked_events_keywords +label: 'Keyword ID' +description: 'Linked events keyword id.' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/conf/cmi/field.storage.paragraph.field_filter_keywords.yml b/conf/cmi/field.storage.paragraph.field_filter_keywords.yml new file mode 100644 index 00000000..05ad130e --- /dev/null +++ b/conf/cmi/field.storage.paragraph.field_filter_keywords.yml @@ -0,0 +1,22 @@ +uuid: 2950aba3-734a-4bd3-9791-775aceae8e5e +langcode: en +status: true +dependencies: + module: + - paragraphs + - taxonomy +_core: + default_config_hash: p5gLAIXKUuxZdeUFP1juUwV9fUPwzJ7uRLik5wOAK6Y +id: paragraph.field_filter_keywords +field_name: field_filter_keywords +entity_type: paragraph +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/conf/cmi/field.storage.paragraph.field_hero_design.yml b/conf/cmi/field.storage.paragraph.field_hero_design.yml index 99783ff0..5ae132dc 100644 --- a/conf/cmi/field.storage.paragraph.field_hero_design.yml +++ b/conf/cmi/field.storage.paragraph.field_hero_design.yml @@ -6,28 +6,13 @@ dependencies: - options - paragraphs _core: - default_config_hash: zZ661kERU722BOWyFdnw3UIzhMePsDzfGXd2TsHAJYc + default_config_hash: KXFi1Afbypvb78pxWyzXeA3ha5otHESFK39t-DuF16Q id: paragraph.field_hero_design field_name: field_hero_design entity_type: paragraph type: list_string settings: - allowed_values: - - - value: without-image-left - label: 'Without image, align left' - - - value: with-image-right - label: 'Image on the right' - - - value: with-image-left - label: 'Image on the left' - - - value: with-image-bottom - label: 'Image on the bottom' - - - value: diagonal - label: Diagonal + allowed_values: { } allowed_values_function: helfi_paragraphs_hero_design_allowed_values module: options locked: false diff --git a/conf/cmi/field.storage.taxonomy_term.field_keyword_id.yml b/conf/cmi/field.storage.taxonomy_term.field_keyword_id.yml new file mode 100644 index 00000000..c4f0a47e --- /dev/null +++ b/conf/cmi/field.storage.taxonomy_term.field_keyword_id.yml @@ -0,0 +1,23 @@ +uuid: 8c76f060-07d3-4c16-b305-cc4ade3105a9 +langcode: en +status: true +dependencies: + module: + - taxonomy +_core: + default_config_hash: 7xItqwaMwhMih7aOv7ihiQx1wvkRGKrWiRJLJnM3RYA +id: taxonomy_term.field_keyword_id +field_name: field_keyword_id +entity_type: taxonomy_term +type: string +settings: + max_length: 255 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/conf/cmi/language/fi/field.field.paragraph.event_list.field_api_url.yml b/conf/cmi/language/fi/field.field.paragraph.event_list.field_api_url.yml index 84bd6531..1eab9886 100644 --- a/conf/cmi/language/fi/field.field.paragraph.event_list.field_api_url.yml +++ b/conf/cmi/language/fi/field.field.paragraph.event_list.field_api_url.yml @@ -1 +1 @@ -description: 'Tapahtumat.hel.fi-osoite, jonka perusteella listaus muodostetaan.' +description: 'Tapahtumat.hel.fi-osoite, jonka perusteella listaus muodostetaan. Esimerkki: https://tapahtumat.hel.fi/fi/events?categories=museum. Jos haluat käyttää tapahtumapaikka-suodatinta, URLissa tulee olla mukana tapahtumapaikkojen ID:t. Esim: &places=tprek:123,tprek:456' diff --git a/conf/cmi/language/fi/field.field.paragraph.event_list.field_event_location.yml b/conf/cmi/language/fi/field.field.paragraph.event_list.field_event_location.yml index 5808b45f..aa160447 100644 --- a/conf/cmi/language/fi/field.field.paragraph.event_list.field_event_location.yml +++ b/conf/cmi/language/fi/field.field.paragraph.event_list.field_event_location.yml @@ -1,5 +1,5 @@ label: Tapahtumapaikka -description: 'Näytä "tapahtumapaikka" -suodatin. Älä käytä yhtä aikaa "Etätapahtumat" -suodattimen kanssa.' +description: 'Näytä "tapahtumapaikka" -suodatin. Älä käytä yhtä aikaa "Etätapahtumat" -suodattimen kanssa. API URL kentässä tulee olla tapahtumapaikkojen ID:t mukana, muuten listassa näytetään kaikki aktiiviset tapahtumapaikat.' settings: on_label: Kyllä off_label: Ei diff --git a/conf/cmi/language/fi/field.field.paragraph.event_list.field_filter_keywords.yml b/conf/cmi/language/fi/field.field.paragraph.event_list.field_filter_keywords.yml new file mode 100644 index 00000000..048db90c --- /dev/null +++ b/conf/cmi/language/fi/field.field.paragraph.event_list.field_filter_keywords.yml @@ -0,0 +1,2 @@ +label: Asiasanat +description: 'Valitse "suodata asiasanoilla" -suodattimen vaihtoehdot. Suodatinta ei näytetä jos ainuttakaan asiasanaa ei ole valittu.' diff --git a/conf/cmi/language/fi/field.storage.paragraph.field_hero_design.yml b/conf/cmi/language/fi/field.storage.paragraph.field_hero_design.yml deleted file mode 100644 index 7e625c9c..00000000 --- a/conf/cmi/language/fi/field.storage.paragraph.field_hero_design.yml +++ /dev/null @@ -1,12 +0,0 @@ -settings: - allowed_values: - - - label: 'Ilman kuvaa, tasattu vasemmalle' - - - label: 'Kuva oikealla' - - - label: 'Kuva vasemmalla' - - - label: 'Kuva alhaalla' - - - label: Diagonaalinen diff --git a/conf/cmi/language/sv/field.storage.paragraph.field_hero_design.yml b/conf/cmi/language/sv/field.storage.paragraph.field_hero_design.yml deleted file mode 100644 index 5c5f4ec1..00000000 --- a/conf/cmi/language/sv/field.storage.paragraph.field_hero_design.yml +++ /dev/null @@ -1,12 +0,0 @@ -settings: - allowed_values: - - - label: 'Utan bild, justerad vänster' - - - label: 'Bild justerad till höger' - - - label: 'Bild justerad till vänster' - - - label: 'Bild justerad ner' - - - label: Diagonal diff --git a/conf/cmi/social_media.settings.yml b/conf/cmi/social_media.settings.yml index 339ba150..085af9f2 100644 --- a/conf/cmi/social_media.settings.yml +++ b/conf/cmi/social_media.settings.yml @@ -27,7 +27,7 @@ social_media: linkedin: enable: 1 text: 'Share in Linkedin' - api_url: 'http://www.linkedin.com/shareArticle?mini=true&url=[current-page:url]&title=[current-page:title]&source=[current-page:url]' + api_url: 'https://www.linkedin.com/sharing/share-offsite/?url=[current-page:url]' api_event: href default_img: 0 weight: 3 diff --git a/conf/cmi/taxonomy.vocabulary.linked_events_keywords.yml b/conf/cmi/taxonomy.vocabulary.linked_events_keywords.yml new file mode 100644 index 00000000..6b0b8609 --- /dev/null +++ b/conf/cmi/taxonomy.vocabulary.linked_events_keywords.yml @@ -0,0 +1,10 @@ +uuid: 757cd796-00f7-445a-907d-0977ffe099be +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: e0eqaMehV63Hmtfc20QLyE7IGXuwqhSMNZg9hLgizfM +name: 'Linked Events Keywords' +vid: linked_events_keywords +description: 'Keywords from yso dataset.' +weight: 0 diff --git a/public/sites/default/staging.settings.php b/public/sites/default/staging.settings.php index 25b1dfa9..76efbe8d 100644 --- a/public/sites/default/staging.settings.php +++ b/public/sites/default/staging.settings.php @@ -1,13 +1,3 @@ 'staging-open-jobs', - 'fi' => 'staging-avoimet-tyopaikat', - 'sv' => 'staging-lediga-jobb', - 'ru' => 'staging-open-jobs', - 'zxx' => 'staging-open-jobs', -]; +$config['helfi_proxy.settings']['tunnistamo_return_url'] = '/fi/avoimet-tyopaikat/openid-connect/tunnistamo'; diff --git a/public/sites/default/testing.settings.php b/public/sites/default/testing.settings.php index 60d85447..76efbe8d 100644 --- a/public/sites/default/testing.settings.php +++ b/public/sites/default/testing.settings.php @@ -1,12 +1,3 @@ 'test-open-jobs', - 'fi' => 'test-avoimet-tyopaikat', - 'sv' => 'test-lediga-jobb', - 'ru' => 'test-open-jobs', - 'zxx' => 'test-open-jobs', -]; +$config['helfi_proxy.settings']['tunnistamo_return_url'] = '/fi/avoimet-tyopaikat/openid-connect/tunnistamo'; diff --git a/public/themes/custom/hdbt_subtheme/README.md b/public/themes/custom/hdbt_subtheme/README.md index 1b81adab..2f1eda60 100644 --- a/public/themes/custom/hdbt_subtheme/README.md +++ b/public/themes/custom/hdbt_subtheme/README.md @@ -70,35 +70,15 @@ hdbt_subtheme │ │ └───... │ └───js │ │ │ common.js -│ └───icons -│ | some-icon.svg └───dist └───css | styles.min.css └───js | bundle.min.js - └───icons - | sprite.svg ``` ## How tos -### How can I add a new SVG icon and then use it on my site. - -You can add your custom icons to `./src/icons/`. F.e. `my-awesome-icon.svg`. -Running `nvm use && npm i && npm run build` will collect the icon to the sprite.svg and it should then be available for use on your site by calling `my-awesome-icon`. Just remember to clear caches. -The icons can be used in twig like so: - - {# HDBT Subtheme specific icons #} - {% include "@hdbt_subtheme/misc/icon.twig" with {icon: 'my-awesome-icon'} %} - - {# HDBT specific icons #} - {% include "@hdbt/misc/icon.twig" with {icon: 'google-view'} %} - -To use the icon in SCSS, you can call it like so: - - background-image: url('../icons/my-awesome-icon.svg'); - ### My javascript has unexpected errors when loading a page in Drupal. If you have compiled the code with dev-flag (`nmp run dev`), then the sourcemaps expects the JS files to be found in correct places. diff --git a/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css b/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css index 150ca2f6..c2b81b4a 100644 --- a/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css +++ b/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css @@ -1 +1 @@ -.job-listing__organization-name{--line-height: 1.5555555556;font-size:1.125rem;font-weight:400;line-height:var(--line-height);display:flex;margin-top:16px}@media(min-width: 768px){.job-listing__organization-name{margin-top:24px}}.organization{display:flex;margin-right:8px;position:relative}.organization::after{content:","}.organization:last-child{margin-right:0}.organization:last-child::after{display:none}.job-listing__item{padding-left:16px;padding-right:16px}@media(min-width: 768px){.job-listing__item{padding-left:32px;padding-right:32px}}.job-listing__link-wrapper{margin-top:16px}@media(min-width: 768px){.job-listing__link-wrapper{margin-top:24px}}.job-listing__link-wrapper.job-listing__link-wrapper--last{margin-top:32px}@media(min-width: 768px){.job-listing__link-wrapper.job-listing__link-wrapper--last{margin-top:48px}}.job-listing__link{width:100%}@media(min-width: 768px){.job-listing__link{width:auto}}.job-listing__job-description{--line-height: 1.5555555556;font-size:1.125rem;font-weight:400;line-height:var(--line-height);margin-top:16px}@media(min-width: 768px){.job-listing__job-description{margin-top:48px}}.job-listing__job-description p:first-child{margin-top:0}.job-listing__salary-class__content{--line-height: 1.5555555556;font-size:1.125rem;font-weight:400;line-height:var(--line-height)}.job-listing__sidebar{background-color:var(--hdbt-color-palette--secondary)}.job-listing__organization-information,.job-listing__city-description{padding:24px}.job-listing__image img{display:block;height:auto;max-width:100%;overflow:hidden}.job-listing__image .image-placeholder{padding-bottom:66.67%}.job-listing__organization,.job-listing__city-description-title{--line-height: 1.5;font-size:1rem;font-weight:700;line-height:var(--line-height);margin-top:0}@media(min-width: 992px){.job-listing__organization,.job-listing__city-description-title{--line-height: 1.5555555556;font-size:1.125rem;font-weight:700}}.job-listing__organization-description,.job-listing__city-description-text{--line-height: 1.5;font-size:1rem;font-weight:400;line-height:var(--line-height);margin-top:8px}.job-listing__organization-description p:first-child,.job-listing__city-description-text p:first-child{margin-top:0}.node--type-job-listing .component--remote-video{margin-top:32px}@media(min-width: 992px){.node--type-job-listing .component--remote-video{margin-top:48px}}.node--type-job-listing.node--view-mode-full .content-tags{margin-top:24px}.block--of-interest{background-color:#e6e6e6;padding:80px 0;margin-top:64px;margin-bottom:calc((50px + 48px)*-1)}.block--of-interest .block--of-interest__content-container{max-width:1296px;padding-left:16px;padding-right:16px;margin:auto}@media(min-width: 768px){.block--of-interest .block--of-interest__content-container{max-width:1328px}}@media(min-width: 768px){.block--of-interest .block--of-interest__content-container{padding-left:32px;padding-right:32px}}.block--of-interest h2{margin-bottom:48px;margin-top:0}.block--of-interest .block--of-interest__more-link{margin-top:48px}.component--job-listing-search{background-color:#f7f7f8}.layout-main-wrapper>*:last-child .component--job-listing-search:last-child{margin-bottom:-115px;padding-bottom:55px}.job-listing-search__result-actions{align-items:flex-end;display:flex;justify-content:space-between}.component--job-listing-search .component__container{padding-bottom:32px;padding-top:32px}@media(min-width: 768px){.component--job-listing-search .component__container{padding-bottom:64px;padding-top:64px}}.job-listing-search__count-container{--line-height: 1.5;font-size:1.25rem;font-weight:400;line-height:var(--line-height);margin-bottom:16px}@media(min-width: 992px){.job-listing-search__count-container{--line-height: 1.5;font-size:1.375rem;font-weight:400}}@media(min-width: 992px){.job-listing-search__count-container{margin-bottom:0}}.job-listing-search__count-container .job-listing-search__count{font-weight:700}.job-listing-search__sort{min-width:283px}.job-listing-search__result--list{margin-top:24px}@media(min-width: 768px){.job-listing-search__result--list{margin-top:32px}}.job-search-form{margin-bottom:32px}.job-search-form__title{margin-bottom:32px}@media(min-width: 992px){.job-search-form__dropdowns__upper{margin-left:-12px;margin-right:-12px;display:flex}.job-search-form__dropdowns__upper>*{margin-left:12px;margin-right:12px}}.job-search-form__dropdown li+li{margin-top:0}@media(min-width: 992px){.job-search-form__dropdown--upper{width:50%}}.job-search-form__filter{margin-bottom:16px;width:100%}@media(min-width: 992px){.job-search-form__filter{margin-bottom:24px}}.job-search-form__checkboxes{border:none;margin-bottom:32px;padding:0}@media(min-width: 992px){.job-search-form__checkboxes{display:flex}}fieldset .job-search-form__checkbox{--background-selected: var(--hdbt-color-black)}fieldset .job-search-form__checkbox:not(:first-of-type){margin-top:32px}@media(min-width: 992px){fieldset .job-search-form__checkbox:not(:first-of-type){margin-left:16px;margin-top:0}}.job-search-form__checkboxes-legend,.job-search__no-results__heading{--line-height: 1.5;font-size:1rem;font-weight:700;line-height:var(--line-height);margin-bottom:16px}@media(min-width: 992px){.job-search-form__checkboxes-legend,.job-search__no-results__heading{--line-height: 1.5555555556;font-size:1.125rem;font-weight:700}}button.job-search-form__submit-button{--background-color: var(--hdbt-color-black);--background-color-hover: var(--hdbt-text-color);--background-color-focus: var(--hdbt-text-color);--background-color-hover-focus: var(--hdbt-text-color);--border-color: var(--hdbt-color-black);--border-color-hover: var(--hdbt-color-black);--border-color-focus: var(--hdbt-color-black);--border-color-hover-focus: var(--hdbt-color-black);--color: var(--hdbt-text-color);--color-hover: var(--hdbt-color-black);--color-focus: var(--hdbt-color-black);--color-hover-focus: var(--hdbt-color-black);--focus-outline-color: var(--hdbt-color-black);margin-bottom:16px;width:100%}@media(min-width: 992px){button.job-search-form__submit-button{padding-left:64px;padding-right:64px;width:auto}}.job-search-form__selections-container{list-style-type:none}button.job-search-form__remove-selection-button:not(:disabled){background-color:rgba(0,0,0,0);border:1px solid #000;border-radius:48px;padding:12px 20px 12px;--color-hover-focus: var(--hdbt-text-color);color:var(--hdbt-color-black)}button.job-search-form__remove-selection-button:not(:disabled):hover,button.job-search-form__remove-selection-button:not(:disabled):active{background-color:#000;border-color:#000;color:#fff}button.job-search-form__remove-selection-button:not(:disabled):focus,button.job-search-form__remove-selection-button:not(:disabled):active{border-color:#000;outline:2px solid #000;outline-offset:2px}.job-search-form__remove-selection-button span{padding:0}.job-search-form__selections-wrapper button.job-search-form__remove-selection-button>div{margin-right:0}.job-search-form__clear-all{margin-top:0}.job-search-form__clear-all .job-search-form__clear-all-button{--background-color-hover: transparent;--background-color-focus: transparent;--background-color-hover-focus: transparent;--border-color-hover: var(--hdbt-color-black);--border-color-focus: var(--hdbt-color-black);--border-color-hover-focus: var(--hdbt-color-black);--color: var(--hdbt-color-black);--color-hover: var(--hdbt-color-black);--color-focus: var(--hdbt-color-black);--color-hover-focus: var(--hdbt-color-black);--focus-outline-color: var(--hdbt-color-black)}.job-search__results-stats{margin-bottom:32px;margin-left:16px;margin-right:16px}@media(min-width: 992px){.job-search__results-stats{align-items:flex-end;display:flex;justify-content:space-between}} +.job-listing__organization-name{--line-height: 1.5555555556;font-size:1.125rem;font-weight:400;line-height:var(--line-height);display:flex;margin-top:16px}@media(min-width: 768px){.job-listing__organization-name{margin-top:24px}}.organization{display:flex;margin-right:8px;position:relative}.organization::after{content:","}.organization:last-child{margin-right:0}.organization:last-child::after{display:none}.job-listing__item{padding-left:16px;padding-right:16px}@media(min-width: 768px){.job-listing__item{padding-left:32px;padding-right:32px}}.job-listing__link-wrapper{margin-top:16px}@media(min-width: 768px){.job-listing__link-wrapper{margin-top:24px}}.job-listing__link-wrapper.job-listing__link-wrapper--last{margin-top:32px}@media(min-width: 768px){.job-listing__link-wrapper.job-listing__link-wrapper--last{margin-top:48px}}.job-listing__link{width:100%}@media(min-width: 768px){.job-listing__link{width:auto}}.job-listing__job-description{--line-height: 1.5555555556;font-size:1.125rem;font-weight:400;line-height:var(--line-height);margin-top:16px}@media(min-width: 768px){.job-listing__job-description{margin-top:48px}}.job-listing__job-description p:first-child{margin-top:0}.job-listing__salary-class__content{--line-height: 1.5555555556;font-size:1.125rem;font-weight:400;line-height:var(--line-height)}.job-listing__sidebar{background-color:var(--hdbt-color-palette--secondary)}.job-listing__organization-information,.job-listing__city-description{padding:24px}.job-listing__image img{display:block;height:auto;max-width:100%;overflow:hidden}.job-listing__image .image-placeholder{padding-bottom:66.67%}.job-listing__organization,.job-listing__city-description-title{--line-height: 1.5;font-size:1rem;font-weight:700;line-height:var(--line-height);margin-top:0}@media(min-width: 992px){.job-listing__organization,.job-listing__city-description-title{--line-height: 1.5555555556;font-size:1.125rem;font-weight:700}}.job-listing__organization-description,.job-listing__city-description-text{--line-height: 1.5;font-size:1rem;font-weight:400;line-height:var(--line-height);margin-top:8px}.job-listing__organization-description p:first-child,.job-listing__city-description-text p:first-child{margin-top:0}.node--type-job-listing .component--remote-video{margin-top:32px}@media(min-width: 992px){.node--type-job-listing .component--remote-video{margin-top:48px}}.node--type-job-listing.node--view-mode-full .content-tags{margin-top:24px}.block--of-interest{background-color:#e6e6e6;padding:80px 0;margin-top:64px;margin-bottom:calc((50px + 48px)*-1)}.block--of-interest .block--of-interest__content-container{max-width:1296px;padding-left:16px;padding-right:16px;margin:auto}@media(min-width: 768px){.block--of-interest .block--of-interest__content-container{max-width:1328px}}@media(min-width: 768px){.block--of-interest .block--of-interest__content-container{padding-left:32px;padding-right:32px}}.block--of-interest h2{margin-bottom:48px;margin-top:0}.block--of-interest .block--of-interest__more-link{margin-top:48px}.component--job-listing-search{background-color:#f7f7f8}.layout-main-wrapper>*:last-child .component--job-listing-search:last-child{margin-bottom:-115px;padding-bottom:55px}.job-listing-search__result-actions{align-items:flex-end;display:flex;justify-content:space-between}.component--job-listing-search .component__container{padding-bottom:32px;padding-top:32px}@media(min-width: 768px){.component--job-listing-search .component__container{padding-bottom:64px;padding-top:64px}}.job-listing-search__count-container{--line-height: 1.5;font-size:1.25rem;font-weight:400;line-height:var(--line-height);margin-bottom:16px}@media(min-width: 992px){.job-listing-search__count-container{--line-height: 1.5;font-size:1.375rem;font-weight:400}}@media(min-width: 992px){.job-listing-search__count-container{margin-bottom:0}}.job-listing-search__count-container .job-listing-search__count{font-weight:700}.job-listing-search__sort{min-width:283px}.job-listing-search__result--list{margin-top:24px}@media(min-width: 768px){.job-listing-search__result--list{margin-top:32px}}.job-search-form{margin-bottom:32px}.job-search-form__title{margin-bottom:32px}@media(min-width: 992px){.job-search-form__dropdowns__upper{margin-left:-12px;margin-right:-12px;display:flex}.job-search-form__dropdowns__upper>*{margin-left:12px;margin-right:12px}}.job-search-form__dropdown li+li{margin-top:0}@media(min-width: 992px){.job-search-form__dropdown--upper{width:50%}}.job-search-form__filter{margin-bottom:16px;width:100%}@media(min-width: 992px){.job-search-form__filter{margin-bottom:24px}}.job-search-form__checkboxes{border:none;margin-bottom:16px;padding:0}@media(min-width: 992px){.job-search-form__checkboxes{display:flex}}fieldset .job-search-form__checkbox{--background-selected: var(--hdbt-color-black)}fieldset .job-search-form__checkbox:not(:first-of-type){margin-top:32px}@media(min-width: 992px){fieldset .job-search-form__checkbox:not(:first-of-type){margin-left:16px;margin-top:0}}.job-search-form__checkboxes-legend,.job-search__no-results__heading{--line-height: 1.5;font-size:1rem;font-weight:700;line-height:var(--line-height);margin-bottom:16px}@media(min-width: 992px){.job-search-form__checkboxes-legend,.job-search__no-results__heading{--line-height: 1.5555555556;font-size:1.125rem;font-weight:700}}.job-search-form__selections-container{list-style-type:none}button.job-search-form__remove-selection-button:not(:disabled){background-color:rgba(0,0,0,0);border:1px solid #000;border-radius:48px;padding:12px 20px 12px;--color-hover-focus: var(--hdbt-text-color);color:var(--hdbt-color-black)}button.job-search-form__remove-selection-button:not(:disabled):hover,button.job-search-form__remove-selection-button:not(:disabled):active{background-color:#000;border-color:#000;color:#fff}button.job-search-form__remove-selection-button:not(:disabled):focus,button.job-search-form__remove-selection-button:not(:disabled):active{border-color:#000;outline:2px solid #000;outline-offset:2px}.job-search-form__remove-selection-button span{padding:0}.job-search-form__selections-wrapper button.job-search-form__remove-selection-button>div{margin-right:0}.job-search-form__clear-all{margin-top:0}.job-search-form__clear-all .job-search-form__clear-all-button{--background-color-hover: transparent;--background-color-focus: transparent;--background-color-hover-focus: transparent;--border-color-hover: var(--hdbt-color-black);--border-color-focus: var(--hdbt-color-black);--border-color-hover-focus: var(--hdbt-color-black);--color: var(--hdbt-color-black);--color-hover: var(--hdbt-color-black);--color-focus: var(--hdbt-color-black);--color-hover-focus: var(--hdbt-color-black);--focus-outline-color: var(--hdbt-color-black)}.job-search__results-stats{margin-bottom:32px;margin-left:16px;margin-right:16px}@media(min-width: 992px){.job-search__results-stats{align-items:flex-end;display:flex;justify-content:space-between}} diff --git a/public/themes/custom/hdbt_subtheme/package-lock.json b/public/themes/custom/hdbt_subtheme/package-lock.json index cce1e766..86ad78ed 100644 --- a/public/themes/custom/hdbt_subtheme/package-lock.json +++ b/public/themes/custom/hdbt_subtheme/package-lock.json @@ -3343,9 +3343,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001587", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz", - "integrity": "sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==", + "version": "1.0.30001596", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz", + "integrity": "sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==", "funding": [ { "type": "opencollective", diff --git a/public/themes/custom/hdbt_subtheme/src/scss/06_components/paragraphs/_job-listing-search.scss b/public/themes/custom/hdbt_subtheme/src/scss/06_components/paragraphs/_job-listing-search.scss index ba8de924..d73a9cee 100644 --- a/public/themes/custom/hdbt_subtheme/src/scss/06_components/paragraphs/_job-listing-search.scss +++ b/public/themes/custom/hdbt_subtheme/src/scss/06_components/paragraphs/_job-listing-search.scss @@ -90,7 +90,7 @@ $sort-minimum-width: 283px; // Override some fieldset default styles here .job-search-form__checkboxes { border: none; - margin-bottom: $spacing-double; + margin-bottom: $spacing; padding: 0; @include breakpoint($breakpoint-l) { @@ -118,32 +118,6 @@ fieldset .job-search-form__checkbox:not(:first-of-type) { margin-bottom: $spacing; } -// Use specific selector to override HDS styles -button.job-search-form__submit-button { - // Set state-specific colors for submit button - --background-color: var(--hdbt-color-black); - --background-color-hover: var(--hdbt-text-color); - --background-color-focus: var(--hdbt-text-color); - --background-color-hover-focus: var(--hdbt-text-color); - --border-color: var(--hdbt-color-black); - --border-color-hover: var(--hdbt-color-black); - --border-color-focus: var(--hdbt-color-black); - --border-color-hover-focus: var(--hdbt-color-black); - --color: var(--hdbt-text-color); - --color-hover: var(--hdbt-color-black); - --color-focus: var(--hdbt-color-black); - --color-hover-focus: var(--hdbt-color-black); - --focus-outline-color: var(--hdbt-color-black); - margin-bottom: $spacing; - width: 100%; - - @include breakpoint($breakpoint-l) { - padding-left: $spacing-quadruple; - padding-right: $spacing-quadruple; - width: auto; - } -} - .job-search-form__selections-container { list-style-type: none; } diff --git a/public/themes/custom/hdbt_subtheme/templates/misc/icon.twig b/public/themes/custom/hdbt_subtheme/templates/misc/icon.twig deleted file mode 100644 index 8e2c5124..00000000 --- a/public/themes/custom/hdbt_subtheme/templates/misc/icon.twig +++ /dev/null @@ -1 +0,0 @@ - diff --git a/public/themes/custom/hdbt_subtheme/webpack.config.js b/public/themes/custom/hdbt_subtheme/webpack.config.js index ab9055da..75b8e803 100644 --- a/public/themes/custom/hdbt_subtheme/webpack.config.js +++ b/public/themes/custom/hdbt_subtheme/webpack.config.js @@ -4,7 +4,6 @@ const glob = require('glob'); const FriendlyErrorsWebpackPlugin = require('@nuxt/friendly-errors-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const RemoveEmptyScriptsPlugin = require('webpack-remove-empty-scripts'); -const SvgToSprite = require('./webpack.svgToSprite'); const { merge } = require('webpack-merge'); // Handle entry points. @@ -105,12 +104,6 @@ module.exports = (env, argv) => { extensions: ['.js', '.json'], }, plugins: [ - // Uncomment following lines to create svg icon sprite. - // new SvgToSprite( - // path.resolve(__dirname, 'src/icons/**/*.svg'), - // 'icons/hdbt-subtheme-sprite.svg', - // 'icons.json' - // ), new FriendlyErrorsWebpackPlugin(), new RemoveEmptyScriptsPlugin(), new MiniCssExtractPlugin({ diff --git a/public/themes/custom/hdbt_subtheme/webpack.svgToSprite.js b/public/themes/custom/hdbt_subtheme/webpack.svgToSprite.js deleted file mode 100644 index cfb478ed..00000000 --- a/public/themes/custom/hdbt_subtheme/webpack.svgToSprite.js +++ /dev/null @@ -1,181 +0,0 @@ -const fs = require('fs'); -const md5 = require('md5'); -const path = require('path'); -const glob = require('glob'); -const SVGSpriter = require('svg-sprite'); - -// Generates styles for each icon. -class svgToSprite { - constructor(inputPattern, outputSvgSpriteFilename, outputIconJsonFilename) { - // Current theme name. - this.themeName = path.basename(path.resolve(process.cwd())).replace(/_/g, '-'); - - // Input and output patterns. - this.inputPattern = inputPattern; - this.svgSpriteFilename = outputSvgSpriteFilename; - this.svgToCssOutputFilename = `css/${this.themeName}-icons.css`; - this.svgToJsonOutputFilename = outputIconJsonFilename; - - // Mapped SVG files. - this.files = []; - this.cssVariables = []; - this.classes = []; - - // Sprite configurations. - this.spriteHashFilename = ''; - } - - apply(compiler) { - const pluginName = svgToSprite.name; - const { webpack } = compiler; - const { Compilation } = webpack; - const { RawSource } = webpack.sources; - - // Tapping to the "thisCompilation" hook in order to further tap - // to the compilation process on an earlier stage. - compiler.hooks.thisCompilation.tap(pluginName, (compilation) => { - - // Tapping to the assets processing pipeline on a specific stage. - compilation.hooks.processAssets.tap( - { - name: pluginName, - stage: Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE, - }, - () => { - if (this.files) { - // Create Spriter instance with custom configuration. - let spriter = new SVGSpriter({ - mode: { - stack: { - dest: "dist", - sprite: this.svgSpriteFilename, - rootviewbox: false, - } - } - }); - - // Add SVG files to Spriter instance. - this.files.forEach(function(pathname) { - spriter.add(pathname, null, fs.readFileSync(pathname, 'utf-8')); - }); - - // Compile the sprite. - spriter.compile((error, result) => { - for (let mode in result) { - for (let resource in result[mode]) { - let hash = md5(result[mode][resource].contents).slice(-5); - let outputFilename = this.svgSpriteFilename.replace(/.svg/g, `-${hash}.svg`); - - if (result[mode][resource].contents) { - this.spriteHashFilename = outputFilename; - - // Adding new asset to the compilation, so it will be - // automatically generated by the webpack - // in the output directory. - compilation.emitAsset( - outputFilename, - new RawSource(result[mode][resource].contents) - ); - } - } - } - }); - } - } - ); - }); - - // SVG to CSS. - // Create styles for the icons. - compiler.hooks.emit.tapAsync('svgToCss', (compilation, callback) => { - - // Create --hel-icon--{icon name} and [data-hds-icon-start:'{icon name}'] CSS variables. - let cssVariables = []; - - while(this.cssVariables.length) { - let fullFilename = this.cssVariables.shift(); - let filename = fullFilename.replace(/^.*[\\\/]/, '') - let name = filename.split('.'); - cssVariables.push(`--${this.themeName}-icon--${name[0]}:url(../${this.spriteHashFilename}#${name[0]})`); - } - cssVariables = `:root{${ cssVariables.join(';') }}`; - - // Create .hel-icon--{icon name} & [data-hds-icon-start:'{icon name}'] or {theme-name}--{icon name} css classes. - let cssClasses = ''; - while(this.classes.length) { - let fullFilename = this.classes.shift(); - let filename = fullFilename.replace(/^.*[\\\/]/, '') - let name = filename.split('.'); - cssClasses += `.${this.themeName}-icon--${name[0]},[data-hds-icon-start='${name[0]}']{--url:var(--${this.themeName}-icon--${name[0]})}`; - } - - // Add a URL as a CSS variable to the hel-icon mask-image. - // If icons are used elsewhere (f.e. in a separate theme or module) this - // variable will provide the correct URL for the icon. - let hdbtIconUrl = `.${this.themeName}-icon,[data-hds-icon-start]::before{` + - `-webkit-mask-image:var(--url);` + - `mask-image:var(--url)` + - `}`; - - // Combine CSS variables and classes. - let filelist = cssVariables + cssClasses + hdbtIconUrl; - - // Compile the assets. - compilation.assets[this.svgToCssOutputFilename] = { - source: function() { - return filelist; - }, - size: function() { - return filelist.length; - } - }; - callback(); - }); - compiler.hooks.environment.tap('svgToCss', this.checkForFiles.bind(this)); - compiler.hooks.watchRun.tap('svgToCss', this.checkForFiles.bind(this)); - - // SVG to JSON - // Create a list of icons in JSON format. - compiler.hooks.emit.tapAsync('svgToJson', (compilation, callback) => { - let filelist = '['; - const last = this.files[this.files.length - 1]; - - while(this.files.length) { - let fullfilename = this.files.shift(); - let filename = fullfilename.replace(/^.*[\\\/]/, '') - let name = filename.split('.'); - let divider = (fullfilename === last) ? '"' : '",'; - filelist += '"' + name[0] + divider; - } - filelist += ']'; - - compilation.assets[this.svgToJsonOutputFilename] = { - source: function() { - return filelist; - }, - size: function() { - return filelist.length; - } - }; - callback(); - }); - compiler.hooks.environment.tap('svgToJson', this.checkForFiles.bind(this)); - compiler.hooks.watchRun.tap('svgToJson', this.checkForFiles.bind(this)); - } - - // Map files to suitable variables. - checkForFiles() { - glob.globSync(this.inputPattern).map((match) => { - const pathname = path.resolve(match); - const stats = fs.lstatSync(pathname); - - if (stats.isFile()) { - this.classes = [...new Set([...this.classes, pathname])]; - this.cssVariables = [...new Set([...this.cssVariables, pathname])]; - this.files = [...new Set([...this.files, pathname])]; - } - }); - } -} - -module.exports = svgToSprite;