Commit 4f19dc8f authored by Sergey Shadrin's avatar Sergey Shadrin

[#124455] Installed new modules, removed deprecated

-Installed pack of recommended modules
-Removed `google_analytics` and few ckeditor4 modules
-Added configs for new modules
parent 9de4fa8f

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -19,12 +19,14 @@
"cweagans/composer-patches": "^1.7",
"drupal/admin_toolbar": "^3.4",
"drupal/bartik": "^1.0",
"drupal/better_exposed_filters": "^7.0@beta",
"drupal/blazy": "^3.0",
"drupal/bootstrap": "^3.31",
"drupal/ckeditor_font": "^1.4",
"drupal/captcha": "^2.0",
"drupal/charts": "^5.0",
"drupal/classy": "^1.0",
"drupal/color": "^1.0",
"drupal/colorbutton": "^1.5",
"drupal/colorbox": "^2.0",
"drupal/config_filter": "^2.6",
"drupal/config_ignore": "^3.3",
"drupal/config_pages": "^2.15",
......@@ -32,43 +34,96 @@
"drupal/core-composer-scaffold": "^10.0",
"drupal/core-project-message": "^10.0",
"drupal/core-recommended": "^10.0",
"drupal/csv_serialization": "^4.0",
"drupal/ctools": "^4.1",
"drupal/devel": "^5.2",
"drupal/dropzonejs": "^2.10",
"drupal/drush_language": "^1.0@RC",
"drupal/dynamic_entity_reference": "^3.2",
"drupal/eck": "^2.0",
"drupal/editor_advanced_link": "^2.2",
"drupal/embed": "^1.7",
"drupal/entity_browser": "^2.10",
"drupal/entity_embed": "^1.6",
"drupal/entity_reference_revisions": "^1.11",
"drupal/entity_update": "^3.0",
"drupal/feeds": "^3.0@beta",
"drupal/field_group": "^3.4",
"drupal/google_analytics": "^4.0",
"drupal/file_mdm": "^3.1",
"drupal/flag": "^4.0@beta",
"drupal/flood_control": "^2.3",
"drupal/focal_point": "^2.1",
"drupal/gin": "^3.0@RC",
"drupal/honeypot": "^2.1",
"drupal/imagick": "^1.11",
"drupal/inline_entity_form": "^1.0@RC",
"drupal/jquery_ui": "^1.7",
"drupal/linkit": "^6.1",
"drupal/mailsystem": "^4.4",
"drupal/matomo": "^1.23",
"drupal/matomo_reports": "^1.6",
"drupal/media_bulk_upload": "^3.0",
"drupal/media_entity_browser": "^2.0",
"drupal/media_file_delete": "^1.3",
"drupal/media_gallery": "^2.2",
"drupal/menu_admin_per_menu": "^1.5",
"drupal/menu_item_extras": "^3.0",
"drupal/menu_per_role": "^1.7",
"drupal/metatag": "^2.0",
"drupal/mobile_detect": "^3.0",
"drupal/module_filter": "^5.0",
"drupal/optional_end_date": "^1.3",
"drupal/paragraphs": "^1.17",
"drupal/paragraphs_browser": "^1.2",
"drupal/paragraphs_browser_previewer": "^2.0",
"drupal/paragraphs_previewer": "^1.9",
"drupal/pathauto": "^1.12",
"drupal/pet": "^4.3",
"drupal/poll": "^1.6",
"drupal/quickedit": "^1.0",
"drupal/rabbit_hole": "^1.0@beta",
"drupal/rdf": "^2.0",
"drupal/redirect": "^1.9",
"drupal/replicate": "^1.2",
"drupal/replicate_ui": "^1.1",
"drupal/restui": "^1.21",
"drupal/route_condition": "^2.0",
"drupal/scheduler": "^2.0",
"drupal/select2": "^1.15",
"drupal/seven": "^1.0@alpha",
"drupal/simple_sitemap": "^4.1",
"drupal/slick": "^3.0",
"drupal/slick_entityreference": "^3.0",
"drupal/smart_date": "^4.1",
"drupal/smsframework": "^2.2@RC",
"drupal/smtp": "^1.2",
"drupal/social_api": "^4.0",
"drupal/social_auth": "^4.1",
"drupal/social_auth_vk": "^4.0",
"drupal/sophron": "^2.1",
"drupal/stable": "^2.0",
"drupal/stringoverrides": "^1.8",
"drupal/svg_image": "^3.0",
"drupal/symfony_mailer": "^1.4",
"drupal/taxonomy_access_fix": "^4.0",
"drupal/telephone_validation": "^2.4",
"drupal/theme_switcher": "^2.0",
"drupal/time_field": "^2.1",
"drupal/token": "^1.14",
"drupal/translatable_config_pages": "^1.0",
"drupal/twig_attributes": "^2.0",
"drupal/twig_field_value": "^2.0",
"drupal/twig_tweak": "^3.3",
"drupal/tzfield": "^1.11",
"drupal/ultimate_cron": "^2.0@alpha",
"drupal/video_embed_field": "^2.5",
"drupal/views_aggregator": "^2.0",
"drupal/views_autocomplete_filters": "^2.0",
"drupal/views_bulk_operations": "^4.2",
"drupal/views_data_export": "^1.4",
"drupal/views_infinite_scroll": "^2.0",
"drupal/webform": "^6.2",
"drupal/xls_serialization": "^1.3",
"drush/drush": "^12.4"
},
"conflict": {
......
This diff is collapsed.
{
"name": "drupal-ckeditor-libraries-group/font",
"description": "CKEditor 4 font plugin",
"type": "drupal-library",
"keywords": ["ckeditor", "plugin", "font"],
"homepage": "https://ckeditor.com/cke4/addon/font",
"license": [
"GPL-2.0-or-later",
"LGPL-2.1-or-later",
"MPL-1.1"
],
"support": {
"issues": "https://github.com/ckeditor/ckeditor4/issues",
"source": "https://github.com/ckeditor/ckeditor4/tree/master/plugins/font"
}
}
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'af', {
fontSize: {
label: 'Grootte',
voiceLabel: 'Fontgrootte',
panelTitle: 'Fontgrootte'
},
label: 'Font',
panelTitle: 'Fontnaam',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'ar', {
fontSize: {
label: 'حجم الخط',
voiceLabel: 'حجم الخط',
panelTitle: 'حجم الخط'
},
label: 'خط',
panelTitle: 'حجم الخط',
voiceLabel: 'حجم الخط'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'az', {
fontSize: {
label: 'Şrift ölçüsü',
voiceLabel: 'Şrift ölçüsü',
panelTitle: 'Şrift ölçüsü'
},
label: 'Şrift',
panelTitle: 'Şrift',
voiceLabel: 'Şrift'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'bg', {
fontSize: {
label: 'Размер',
voiceLabel: 'Размер на шрифт',
panelTitle: 'Размер на шрифт'
},
label: 'Шрифт',
panelTitle: 'Име на шрифт',
voiceLabel: 'Шрифт'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'bn', {
fontSize: {
label: 'সাইজ',
voiceLabel: 'Font Size',
panelTitle: 'সাইজ'
},
label: 'ফন্ট',
panelTitle: 'ফন্ট',
voiceLabel: 'ফন্ট'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'bs', {
fontSize: {
label: 'Velièina',
voiceLabel: 'Font Size',
panelTitle: 'Velièina'
},
label: 'Font',
panelTitle: 'Font',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'ca', {
fontSize: {
label: 'Mida',
voiceLabel: 'Mida de la lletra',
panelTitle: 'Mida de la lletra'
},
label: 'Tipus de lletra',
panelTitle: 'Tipus de lletra',
voiceLabel: 'Tipus de lletra'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'cs', {
fontSize: {
label: 'Velikost',
voiceLabel: 'Velikost písma',
panelTitle: 'Velikost'
},
label: 'Písmo',
panelTitle: 'Písmo',
voiceLabel: 'Písmo'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'cy', {
fontSize: {
label: 'Maint',
voiceLabel: 'Maint y Ffont',
panelTitle: 'Maint y Ffont'
},
label: 'Ffont',
panelTitle: 'Enw\'r Ffont',
voiceLabel: 'Ffont'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'da', {
fontSize: {
label: 'Skriftstørrelse',
voiceLabel: 'Skriftstørrelse',
panelTitle: 'Skriftstørrelse'
},
label: 'Skrifttype',
panelTitle: 'Skrifttype',
voiceLabel: 'Skrifttype'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'de-ch', {
fontSize: {
label: 'Grösse',
voiceLabel: 'Schriftgrösse',
panelTitle: 'Schriftgrösse'
},
label: 'Schriftart',
panelTitle: 'Schriftartname',
voiceLabel: 'Schriftart'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'de', {
fontSize: {
label: 'Größe',
voiceLabel: 'Schrifgröße',
panelTitle: 'Schriftgröße'
},
label: 'Schriftart',
panelTitle: 'Schriftartname',
voiceLabel: 'Schriftart'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'el', {
fontSize: {
label: 'Μέγεθος',
voiceLabel: 'Μέγεθος Γραμματοσειράς',
panelTitle: 'Μέγεθος Γραμματοσειράς'
},
label: 'Γραμματοσειρά',
panelTitle: 'Όνομα Γραμματοσειράς',
voiceLabel: 'Γραμματοσειρά'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'en-au', {
fontSize: {
label: 'Size',
voiceLabel: 'Font Size',
panelTitle: 'Font Size'
},
label: 'Font',
panelTitle: 'Font Name',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'en-ca', {
fontSize: {
label: 'Size',
voiceLabel: 'Font Size',
panelTitle: 'Font Size'
},
label: 'Font',
panelTitle: 'Font Name',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'en-gb', {
fontSize: {
label: 'Size',
voiceLabel: 'Font Size',
panelTitle: 'Font Size'
},
label: 'Font',
panelTitle: 'Font Name',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'en', {
fontSize: {
label: 'Size',
voiceLabel: 'Font Size',
panelTitle: 'Font Size'
},
label: 'Font',
panelTitle: 'Font Name',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'eo', {
fontSize: {
label: 'Grado',
voiceLabel: 'Tipara grado',
panelTitle: 'Tipara grado'
},
label: 'Tiparo',
panelTitle: 'Tipara nomo',
voiceLabel: 'Tiparo'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'es-mx', {
fontSize: {
label: 'Tamaño',
voiceLabel: 'Tamaño de letra',
panelTitle: 'Tamaño de letra'
},
label: 'Letra',
panelTitle: 'Nombre de letra',
voiceLabel: 'Letra'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'es', {
fontSize: {
label: 'Tamaño',
voiceLabel: 'Tamaño de fuente',
panelTitle: 'Tamaño'
},
label: 'Fuente',
panelTitle: 'Fuente',
voiceLabel: 'Fuente'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'et', {
fontSize: {
label: 'Suurus',
voiceLabel: 'Kirja suurus',
panelTitle: 'Suurus'
},
label: 'Kiri',
panelTitle: 'Kiri',
voiceLabel: 'Kiri'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'eu', {
fontSize: {
label: 'Tamaina',
voiceLabel: 'Letra-tamaina',
panelTitle: 'Letra-tamaina'
},
label: 'Letra-tipoa',
panelTitle: 'Letra-tipoaren izena',
voiceLabel: 'Letra-tipoa'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'fa', {
fontSize: {
label: 'اندازه',
voiceLabel: 'اندازه قلم',
panelTitle: 'اندازه قلم'
},
label: 'قلم',
panelTitle: 'نام قلم',
voiceLabel: 'قلم'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'fi', {
fontSize: {
label: 'Koko',
voiceLabel: 'Kirjasimen koko',
panelTitle: 'Koko'
},
label: 'Kirjasinlaji',
panelTitle: 'Kirjasinlaji',
voiceLabel: 'Kirjasinlaji'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'fo', {
fontSize: {
label: 'Skriftstødd',
voiceLabel: 'Skriftstødd',
panelTitle: 'Skriftstødd'
},
label: 'Skrift',
panelTitle: 'Skrift',
voiceLabel: 'Skrift'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'fr-ca', {
fontSize: {
label: 'Taille',
voiceLabel: 'Taille',
panelTitle: 'Taille'
},
label: 'Police',
panelTitle: 'Police',
voiceLabel: 'Police'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'fr', {
fontSize: {
label: 'Taille',
voiceLabel: 'Taille de police',
panelTitle: 'Taille de police'
},
label: 'Police',
panelTitle: 'Style de police',
voiceLabel: 'Police'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'gl', {
fontSize: {
label: 'Tamaño',
voiceLabel: 'Tamaño da letra',
panelTitle: 'Tamaño da letra'
},
label: 'Tipo de letra',
panelTitle: 'Nome do tipo de letra',
voiceLabel: 'Tipo de letra'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'gu', {
fontSize: {
label: 'ફૉન્ટ સાઇઝ/કદ',
voiceLabel: 'ફોન્ટ સાઈઝ',
panelTitle: 'ફૉન્ટ સાઇઝ/કદ'
},
label: 'ફૉન્ટ',
panelTitle: 'ફૉન્ટ',
voiceLabel: 'ફોન્ટ'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'he', {
fontSize: {
label: 'גודל',
voiceLabel: 'גודל',
panelTitle: 'גודל'
},
label: 'גופן',
panelTitle: 'גופן',
voiceLabel: 'גופן'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'hi', {
fontSize: {
label: 'साइज़',
voiceLabel: 'Font Size',
panelTitle: 'साइज़'
},
label: 'फ़ॉन्ट',
panelTitle: 'फ़ॉन्ट',
voiceLabel: 'फ़ॉन्ट'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'hr', {
fontSize: {
label: 'Veličina',
voiceLabel: 'Veličina slova',
panelTitle: 'Veličina'
},
label: 'Font',
panelTitle: 'Naziv fonta',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'hu', {
fontSize: {
label: 'Méret',
voiceLabel: 'Betűméret',
panelTitle: 'Méret'
},
label: 'Betűtípus',
panelTitle: 'Betűtípus',
voiceLabel: 'Betűtípus'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'id', {
fontSize: {
label: 'Ukuran',
voiceLabel: 'Ukuran Huruf',
panelTitle: 'Ukuran Huruf'
},
label: 'Huruf',
panelTitle: 'Font Name', // MISSING
voiceLabel: 'Huruf'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'is', {
fontSize: {
label: 'Leturstærð ',
voiceLabel: 'Font Size',
panelTitle: 'Leturstærð '
},
label: 'Leturgerð ',
panelTitle: 'Leturgerð ',
voiceLabel: 'Leturgerð '
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'it', {
fontSize: {
label: 'Dimensione',
voiceLabel: 'Dimensione Carattere',
panelTitle: 'Dimensione'
},
label: 'Carattere',
panelTitle: 'Carattere',
voiceLabel: 'Carattere'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'ja', {
fontSize: {
label: 'サイズ',
voiceLabel: 'フォントサイズ',
panelTitle: 'フォントサイズ'
},
label: 'フォント',
panelTitle: 'フォント',
voiceLabel: 'フォント'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'ka', {
fontSize: {
label: 'ზომა',
voiceLabel: 'ტექსტის ზომა',
panelTitle: 'ტექსტის ზომა'
},
label: 'ფონტი',
panelTitle: 'ფონტის სახელი',
voiceLabel: 'ფონტი'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'km', {
fontSize: {
label: 'ទំហំ',
voiceLabel: 'ទំហំ​អក្សរ',
panelTitle: 'ទំហំ​អក្សរ'
},
label: 'ពុម្ព​អក្សរ',
panelTitle: 'ឈ្មោះ​ពុម្ព​អក្សរ',
voiceLabel: 'ពុម្ព​អក្សរ'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'ko', {
fontSize: {
label: '크기',
voiceLabel: '글자 크기',
panelTitle: '글자 크기'
},
label: '글꼴',
panelTitle: '글꼴',
voiceLabel: '글꼴'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'ku', {
fontSize: {
label: 'قەبارە',
voiceLabel: 'قەبارەی فۆنت',
panelTitle: 'قەبارەی فۆنت'
},
label: 'فۆنت',
panelTitle: 'ناوی فۆنت',
voiceLabel: 'فۆنت'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'lt', {
fontSize: {
label: 'Šrifto dydis',
voiceLabel: 'Šrifto dydis',
panelTitle: 'Šrifto dydis'
},
label: 'Šriftas',
panelTitle: 'Šriftas',
voiceLabel: 'Šriftas'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'lv', {
fontSize: {
label: 'Lielums',
voiceLabel: 'Fonta lielums',
panelTitle: 'Fonta lielums'
},
label: 'Fonts',
panelTitle: 'Fonta nosaukums',
voiceLabel: 'Fonts'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'mk', {
fontSize: {
label: 'Size',
voiceLabel: 'Font Size',
panelTitle: 'Font Size'
},
label: 'Font', // MISSING
panelTitle: 'Font Name', // MISSING
voiceLabel: 'Font' // MISSING
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'mn', {
fontSize: {
label: 'Хэмжээ',
voiceLabel: 'Үсгийн хэмжээ',
panelTitle: 'Үсгийн хэмжээ'
},
label: 'Үсгийн хэлбэр',
panelTitle: 'Үгсийн хэлбэрийн нэр',
voiceLabel: 'Үгсийн хэлбэр'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'ms', {
fontSize: {
label: 'Saiz',
voiceLabel: 'Font Size',
panelTitle: 'Saiz'
},
label: 'Font',
panelTitle: 'Font',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'nb', {
fontSize: {
label: 'Størrelse',
voiceLabel: 'Skriftstørrelse',
panelTitle: 'Skriftstørrelse'
},
label: 'Skrift',
panelTitle: 'Skrift',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'nl', {
fontSize: {
label: 'Lettergrootte',
voiceLabel: 'Lettergrootte',
panelTitle: 'Lettergrootte'
},
label: 'Lettertype',
panelTitle: 'Lettertype',
voiceLabel: 'Lettertype'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'no', {
fontSize: {
label: 'Størrelse',
voiceLabel: 'Font Størrelse',
panelTitle: 'Størrelse'
},
label: 'Skrift',
panelTitle: 'Skrift',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'oc', {
fontSize: {
label: 'Talha',
voiceLabel: 'Talha de poliça',
panelTitle: 'Talha de poliça'
},
label: 'Poliça',
panelTitle: 'Estil de poliça',
voiceLabel: 'Poliça'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'pl', {
fontSize: {
label: 'Rozmiar',
voiceLabel: 'Rozmiar czcionki',
panelTitle: 'Rozmiar'
},
label: 'Czcionka',
panelTitle: 'Czcionka',
voiceLabel: 'Czcionka'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'pt-br', {
fontSize: {
label: 'Tamanho',
voiceLabel: 'Tamanho da fonte',
panelTitle: 'Tamanho'
},
label: 'Fonte',
panelTitle: 'Fonte',
voiceLabel: 'Fonte'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'pt', {
fontSize: {
label: 'Tamanho',
voiceLabel: 'Tamanho da letra',
panelTitle: 'Tamanho da letra'
},
label: 'Fonte',
panelTitle: 'Nome do tipo de letra',
voiceLabel: 'Tipo de letra'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'ro', {
fontSize: {
label: 'Mărime',
voiceLabel: 'Font Size',
panelTitle: 'Mărime'
},
label: 'Font',
panelTitle: 'Font',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'ru', {
fontSize: {
label: 'Размер',
voiceLabel: 'Размер шрифта',
panelTitle: 'Размер шрифта'
},
label: 'Шрифт',
panelTitle: 'Шрифт',
voiceLabel: 'Шрифт'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'si', {
fontSize: {
label: 'විශාලත්වය',
voiceLabel: 'අක්ෂර විශාලත්වය',
panelTitle: 'අක්ෂර විශාලත්වය'
},
label: 'අක්ෂරය',
panelTitle: 'අක්ෂර නාමය',
voiceLabel: 'අක්ෂර'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'sk', {
fontSize: {
label: 'Veľkosť',
voiceLabel: 'Veľkosť písma',
panelTitle: 'Veľkosť písma'
},
label: 'Písmo',
panelTitle: 'Názov písma',
voiceLabel: 'Písmo'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'sl', {
fontSize: {
label: 'Velikost',
voiceLabel: 'Velikost pisave',
panelTitle: 'Velikost pisave'
},
label: 'Pisava',
panelTitle: 'Ime pisave',
voiceLabel: 'Pisava'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'sq', {
fontSize: {
label: 'Madhësia',
voiceLabel: 'Madhësia e Shkronjës',
panelTitle: 'Madhësia e Shkronjës'
},
label: 'Shkronja',
panelTitle: 'Emri i Shkronjës',
voiceLabel: 'Shkronja'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'sr-latn', {
fontSize: {
label: 'Veličina ',
voiceLabel: 'Veličina slova',
panelTitle: 'Veličina slova'
},
label: 'Font',
panelTitle: 'Naziv fonta',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'sr', {
fontSize: {
label: 'Величина',
voiceLabel: 'Величина слова',
panelTitle: 'Величина слова'
},
label: 'Фонт',
panelTitle: 'Назиб фонта',
voiceLabel: 'Фонт'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'sv', {
fontSize: {
label: 'Storlek',
voiceLabel: 'Teckenstorlek',
panelTitle: 'Teckenstorlek'
},
label: 'Typsnitt',
panelTitle: 'Typsnitt',
voiceLabel: 'Typsnitt'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'th', {
fontSize: {
label: 'ขนาด',
voiceLabel: 'Font Size',
panelTitle: 'ขนาด'
},
label: 'แบบอักษร',
panelTitle: 'แบบอักษร',
voiceLabel: 'แบบอักษร'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'tr', {
fontSize: {
label: 'Boyut',
voiceLabel: 'Font Size',
panelTitle: 'Boyut'
},
label: 'Yazı Türü',
panelTitle: 'Yazı Türü',
voiceLabel: 'Font'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'tt', {
fontSize: {
label: 'Зурлык',
voiceLabel: 'Шрифт зурлыклары',
panelTitle: 'Шрифт зурлыклары'
},
label: 'Шрифт',
panelTitle: 'Шрифт исеме',
voiceLabel: 'Шрифт'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'ug', {
fontSize: {
label: 'چوڭلۇقى',
voiceLabel: 'خەت چوڭلۇقى',
panelTitle: 'چوڭلۇقى'
},
label: 'خەت نۇسخا',
panelTitle: 'خەت نۇسخا',
voiceLabel: 'خەت نۇسخا'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'uk', {
fontSize: {
label: 'Розмір',
voiceLabel: 'Розмір шрифту',
panelTitle: 'Розмір'
},
label: 'Шрифт',
panelTitle: 'Шрифт',
voiceLabel: 'Шрифт'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'vi', {
fontSize: {
label: 'Cỡ chữ',
voiceLabel: 'Kích cỡ phông',
panelTitle: 'Cỡ chữ'
},
label: 'Phông',
panelTitle: 'Phông',
voiceLabel: 'Phông'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'zh-cn', {
fontSize: {
label: '大小',
voiceLabel: '文字大小',
panelTitle: '大小'
},
label: '字体',
panelTitle: '字体',
voiceLabel: '字体'
} );
/*
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
CKEDITOR.plugins.setLang( 'font', 'zh', {
fontSize: {
label: '大小',
voiceLabel: '字型大小',
panelTitle: '字型大小'
},
label: '字型',
panelTitle: '字型名稱',
voiceLabel: '字型'
} );
{
"name": "@drupal-ckeditor-libraries-group/font",
"description": "CKEditor 4 font plugin",
"keywords": ["ckeditor", "plugin", "font"],
"homepage": "https://ckeditor.com/cke4/addon/font",
"bugs": {
"url": "https://github.com/ckeditor/ckeditor4/issues"
},
"license" : "(GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1)",
"repository": {
"type": "git",
"url": "https://github.com/ckeditor/ckeditor4.git",
"directory": "plugins/font"
}
}
\ No newline at end of file
This diff is collapsed.
defaults: &defaults
docker:
# specify the version you desire here (avoid latest except for testing)
- image: mkeereman/drupal8_tests:8.7
- image: selenium/standalone-chrome-debug:3.14.0-beryllium
- image: mariadb:10.3
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
working_directory: /var/www/html/modules/better_exposed_filters
# YAML does not support merging of lists. That means we can't have a default
# 'steps' configuration, though we can have defaults for individual step
# properties.
# We use the composer.json as a way to determine if we can cache our build.
restore_cache: &restore_cache
keys:
- v4-dependencies-{{ checksum "composer.json" }}-{{ checksum "../../composer.json" }}
# If composer.json hasn't changed, restore the Composer cache directory. We
# don't restore the lock file so we ensure we get updated dependencies.
save_cache: &save_cache
paths:
- /root/.composer/cache/files
key: v4-dependencies-{{ checksum "composer.json" }}-{{ checksum "../../composer.json" }}
# Install composer dependencies into the workspace to share with all jobs.
update_dependencies: &update_dependencies
<<: *defaults
steps:
- checkout
- restore_cache: *restore_cache
- run:
working_directory: /var/www/html
command: |
./update-dependencies.sh $CIRCLE_PROJECT_REPONAME
- save_cache: *save_cache
- persist_to_workspace:
root: /var/www/html
paths:
- .
# Run Drupal unit and kernel tests as one job. This command invokes the test.sh
# hook.
unit_kernel_tests: &unit_kernel_tests
<<: *defaults
steps:
- attach_workspace:
at: /var/www/html
- checkout
- run:
working_directory: /var/www/html
command: |
./test.sh $CIRCLE_PROJECT_REPONAME
- store_test_results:
path: /var/www/html/artifacts/phpunit
- store_artifacts:
path: /var/www/html/artifacts
# Run Drupal functional and functional JS tests as one job. This command invokes
# the test-functional.sh and test-functional-js hooks.
functional_tests: &functional_tests
<<: *defaults
steps:
- attach_workspace:
at: /var/www/html
- checkout
- run:
working_directory: /var/www/html
command: |
./test-functional.sh $CIRCLE_PROJECT_REPONAME
./test-functional-js.sh $CIRCLE_PROJECT_REPONAME
- store_test_results:
path: /var/www/html/artifacts/phpunit
- store_artifacts:
path: /var/www/html/artifacts
# Run code quality tests. This invokes code-sniffer.sh.
code_sniffer: &code_sniffer
<<: *defaults
steps:
- attach_workspace:
at: /var/www/html
- checkout
# Don't exit builds in CI when warning/error occurs.
# @todo fix errors so this becomes reliable
- run:
working_directory: /var/www/html
command: |
vendor/bin/phpcs --config-set ignore_warnings_on_exit 1
vendor/bin/phpcs --config-set ignore_errors_on_exit 1
./code-sniffer.sh $CIRCLE_PROJECT_REPONAME
- store_test_results:
path: /var/www/html/artifacts/phpcs
- store_artifacts:
path: /var/www/html/artifacts
# Run code coverage tests. This invokes code-coverage-stats.sh.
code_coverage: &code_coverage
<<: *defaults
steps:
- attach_workspace:
at: /var/www/html
- checkout
- run:
working_directory: /var/www/html
command: |
./code-coverage-stats.sh $CIRCLE_PROJECT_REPONAME
- store_artifacts:
path: /var/www/html/artifacts
# Declare all of the jobs we should run.
version: 2
jobs:
update-dependencies:
<<: *update_dependencies
run-unit-kernel-tests:
<<: *unit_kernel_tests
run-functional-tests:
<<: *functional_tests
run-code-sniffer:
<<: *code_sniffer
run-code-coverage:
<<: *code_coverage
workflows:
version: 2
# Declare a workflow that runs all of our jobs in parallel.
test_and_lint:
jobs:
- update-dependencies
- run-unit-kernel-tests:
requires:
- update-dependencies
- run-functional-tests:
requires:
- update-dependencies
- run-code-sniffer:
requires:
- update-dependencies
- run-code-coverage:
requires:
- update-dependencies
- run-unit-kernel-tests
Andrii
Canil
Chimpanzé
Datepicker
datepicker
datepickers
doco
Etroid
Fritsch
fritsch
getj
hiddens
jkopel
Keereman
Keran
Kopel
mikeker
mkeereman
Mustgrave
Neslee
nouislider
Olot
Olèrdola
Podanenko
podarok
printe
rlhawk
smustgrave
tèrm
Uviéu
Valdiciego
Valdés
Validatable
{
"root": true, // Don't use Drupal core's .eslintrc, creates build issues
"env": {
"browser": true,
"es6": true
},
"parserOptions": {
"ecmaVersion": 2020,
"sourceType": "module"
},
"globals": {
"Drupal": true,
"drupalSettings": true,
"domready": true,
"jQuery": true,
"_": true,
"matchMedia": true,
"Backbone": true,
"Modernizr": true,
"CKEDITOR": true
},
"rules": {
// Errors.
"block-scoped-var": 2,
"brace-style": [2, "stroustrup", {"allowSingleLine": true}],
"comma-style": [2, "last"],
"eqeqeq": [2, "smart"],
"guard-for-in": 2,
"key-spacing": [2, {"beforeColon": false, "afterColon": true}],
"no-implied-eval": 2,
"no-mixed-spaces-and-tabs": 2,
"no-nested-ternary": 2,
"no-trailing-spaces": 2,
"no-undef": 0,
"no-undefined": 2,
"no-unused-vars": [2, {"vars": "local", "args": "none"}],
"semi": [2, "always"],
"keyword-spacing": [2],
"space-before-blocks": [2, "always"],
"object-curly-spacing": [2, "always"],
// "array-bracket-spacing": [2, "always"],
// "space-in-parens": [2, "always"],
"spaced-comment": ["error", "always", {
"line": {
"markers": ["/"],
"exceptions": ["-", "+"]
},
"block": {
"markers": ["!"],
"exceptions": ["*"]
}
}],
"strict": 2,
// Warnings.
"max-nested-callbacks": [1, 5],
// Disabled.
"camelcase": 0,
"consistent-return": 0,
"dot-notation": 0,
"new-cap": 0,
"no-alert": 0,
"no-new": 0,
"no-shadow": 0,
"no-underscore-dangle": 0,
"no-use-before-define": 0,
"quotes": 0
}
}
# OS generated files #
######################
.DS_Store*
ehthumbs.db
Icon
Thumbs.db
._*
vendor
composer.lock
.idea
################
# DrupalCI GitLabCI template
#
# Gitlab-ci.yml to replicate DrupalCI testing for Contrib
#
# With thanks to:
# * The GitLab Acceleration Initiative participants
# * DrupalSpoons
################
################
# Guidelines
#
# This template is designed to give any Contrib maintainer everything they need to test, without requiring modification. It is also designed to keep up to date with Core Development automatically through the use of include files that can be centrally maintained.
#
# However, you can modify this template if you have additional needs for your project.
################
################
# Includes
#
# Additional configuration can be provided through includes.
# One advantage of include files is that if they are updated upstream, the changes affect all pipelines using that include.
#
# Includes can be overridden by re-declaring anything provided in an include, here in gitlab-ci.yml
# https://docs.gitlab.com/ee/ci/yaml/includes.html#override-included-configuration-values
################
include:
################
# DrupalCI includes:
# As long as you include this, any future includes added by the Drupal Association will be accessible to your pipelines automatically.
# View these include files at https://git.drupalcode.org/project/gitlab_templates/
################
- project: $_GITLAB_TEMPLATES_REPO
ref: $_GITLAB_TEMPLATES_REF
file:
- '/includes/include.drupalci.main.yml'
- '/includes/include.drupalci.variables.yml'
- '/includes/include.drupalci.workflows.yml'
################
# Pipeline configuration variables
#
# These are the variables provided to the Run Pipeline form that a user may want to override.
#
# Docs at https://git.drupalcode.org/project/gitlab_templates/-/blob/1.0.x/includes/include.drupalci.variables.yml
################
# variables:
# SKIP_ESLINT: '1'
###################################################################################
#
# *
# /(
# ((((,
# /(((((((
# ((((((((((*
# ,(((((((((((((((
# ,(((((((((((((((((((
# ((((((((((((((((((((((((*
# *(((((((((((((((((((((((((((((
# ((((((((((((((((((((((((((((((((((*
# *(((((((((((((((((( .((((((((((((((((((
# ((((((((((((((((((. /(((((((((((((((((*
# /((((((((((((((((( .(((((((((((((((((,
# ,(((((((((((((((((( ((((((((((((((((((
# .(((((((((((((((((((( .(((((((((((((((((
# ((((((((((((((((((((((( ((((((((((((((((/
# (((((((((((((((((((((((((((/ ,(((((((((((((((*
# .((((((((((((((/ /(((((((((((((. ,(((((((((((((((
# *(((((((((((((( ,(((((((((((((/ *((((((((((((((.
# ((((((((((((((, /(((((((((((((. ((((((((((((((,
# (((((((((((((/ ,(((((((((((((* ,(((((((((((((,
# *((((((((((((( .((((((((((((((( ,(((((((((((((
# ((((((((((((/ /((((((((((((((((((. ,((((((((((((/
# ((((((((((((( *(((((((((((((((((((((((* *((((((((((((
# ((((((((((((( ,(((((((((((((..((((((((((((( *((((((((((((
# ((((((((((((, /((((((((((((* /((((((((((((/ ((((((((((((
# ((((((((((((( /((((((((((((/ (((((((((((((* ((((((((((((
# (((((((((((((/ /(((((((((((( ,((((((((((((, *((((((((((((
# (((((((((((((( *(((((((((((/ *((((((((((((. ((((((((((((/
# *((((((((((((((((((((((((((, /(((((((((((((((((((((((((
# ((((((((((((((((((((((((( ((((((((((((((((((((((((,
# .(((((((((((((((((((((((/ ,(((((((((((((((((((((((
# ((((((((((((((((((((((/ ,(((((((((((((((((((((/
# *((((((((((((((((((((( (((((((((((((((((((((,
# ,(((((((((((((((((((((, ((((((((((((((((((((/
# ,(((((((((((((((((((((* /((((((((((((((((((((
# ((((((((((((((((((((((, ,/((((((((((((((((((((,
# ,(((((((((((((((((((((((((((((((((((((((((((((((((((
# .(((((((((((((((((((((((((((((((((((((((((((((
# .((((((((((((((((((((((((((((((((((((,.
# .,(((((((((((((((((((((((((.
#
###################################################################################
services:
php:
image: q0rban/tugboat-drupal:9.0
default: true
http: false
depends: mysql
commands:
update: |
set -eux
# Check out a branch using the unique Tugboat ID for this repository, to
# ensure we don't clobber an existing branch.
git checkout -b $TUGBOAT_REPO_ID
# Composer is hungry. You need a Tugboat project with a pretty sizeable
# chunk of memory.
export COMPOSER_MEMORY_LIMIT=-1
# This is an environment variable we added in the Dockerfile that
# provides the path to Drupal composer root (not the web root).
cd $DRUPAL_COMPOSER_ROOT
# We configure the Drupal project to use the checkout of the module as a
# Composer package repository.
composer config repositories.tugboat vcs $TUGBOAT_ROOT
# Now we can require this module, specifing the branch name we created
# above that uses the $TUGBOAT_REPO_ID environment variable.
composer require drupal/better_exposed_filters:dev-$TUGBOAT_REPO_ID
# Install Drupal on the site.
vendor/bin/drush \
--yes \
--db-url=mysql://tugboat:tugboat@mysql:3306/tugboat \
--site-name="Live preview for ${TUGBOAT_PREVIEW_NAME}" \
--account-pass=admin \
site:install standard
# Set up the files directory permissions.
mkdir -p $DRUPAL_DOCROOT/sites/default/files
chgrp -R www-data $DRUPAL_DOCROOT/sites/default/files
chmod 2775 $DRUPAL_DOCROOT/sites/default/files
chmod -R g+w $DRUPAL_DOCROOT/sites/default/files
# Enable the module.
vendor/bin/drush --yes pm:enable better_exposed_filters
build: |
set -eux
# Delete and re-check out this branch in case this is built from a Base Preview.
git branch -D $TUGBOAT_REPO_ID && git checkout -b $TUGBOAT_REPO_ID || true
export COMPOSER_MEMORY_LIMIT=-1
cd $DRUPAL_COMPOSER_ROOT
composer install --optimize-autoloader
# Update this module, including all dependencies.
composer update drupal/better_exposed_filters --with-all-dependencies
vendor/bin/drush --yes updb
vendor/bin/drush cache:rebuild
mysql:
image: tugboatqa/mariadb
# Better Exposed Filters
The Better Exposed Filters module replaces the Views' default single- or
multi-select boxes with more advanced options such as radio buttons, checkboxes,
toggle links or jQueryUI widgets.
Views Filters are a powerful tool to limit the results of a given view. When you
expose a filter, you allow the user to interact with the view making it easy to
build a customized advanced search. For example, exposing a taxonomy filter
lets your site visitor search for articles with specific tags. Better Exposed
Filters gives you greater control over the rendering of exposed filters.
For a full description of the module, visit the
[project page](https://drupal.org/project/better_exposed_filters).
Submit bug reports and feature suggestions, or track changes in the
[issue queue](https://drupal.org/project/issues/better_exposed_filters).
## Table of contents
- Requirements
- Installation
- Configuration
- Integration
- Maintainers
## Requirements
- [Views](https://www.drupal.org/project/views)
- [Filter](https://www.drupal.org/project/filter)
- [User](https://www.drupal.org/project/user)
- [System](https://www.drupal.org/project/system)
- [jQuery UI](https://www.drupal.org/project/jquery_ui)
- [jQuery UI Slider](https://www.drupal.org/project/jquery_ui_slider)
## Installation
Install as you would normally install a contributed Drupal module. For further
information, see
[Installing Drupal Modules](https://www.drupal.org/docs/extending-drupal/installing-drupal-modules).
For Slider functionality if wanting to use internal library place
https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/15.5.1/nouislider.min.js into `libraries/noUiSlider`
## Configuration
The module has no menu or modifiable settings. There is no configuration. When
enabled, the module will prevent the links from appearing. To get the links
back, disable the module and clear caches.
## Integrations
Modules that provide additional BEF widgets or support for exposed filters in general:
- [select2](https://www.drupal.org/project/select2)
- [selective_better_exposed_filters](https://www.drupal.org/project/selective_better_exposed_filters)
- [configurable_views_filter_block](https://www.drupal.org/project/configurable_views_filter_block)
- [views_dependent_filters](https://www.drupal.org/project/views_dependent_filters)
## Maintainers
- Andrii Podanenko - [podarok](https://www.drupal.org/u/podarok)
- Martin Keereman - [Etroid](https://www.drupal.org/u/etroid)
- Joshua Kopel - [jkopel](https://www.drupal.org/u/jkopel)
- Mike Keran - [mikeker](https://www.drupal.org/u/mikeker)
- Neslee Canil Pinto - [Neslee Canil Pinto](https://www.drupal.org/u/neslee-canil-pinto)
- Rick Hawkins - [rlhawk](https://www.drupal.org/u/rlhawk)
- Christian Fritsch - [chr.fritsch](https://www.drupal.org/u/chrfritsch)
- Stephen Mustgrave - [smustgrave](https://www.drupal.org/u/smustgrave)
<?php
/**
* @file
* Hooks provided by the Better Exposed Filters module.
*/
/**
* Alters BEF options before the exposed form widgets are built.
*
* @param array $options
* The BEF options array.
* @param \Drupal\views\ViewExecutable $view
* The view to which the settings apply.
* @param \Drupal\views\Plugin\views\display\DisplayPluginBase $displayHandler
* The display handler to which the settings apply.
*/
function hook_better_exposed_filters_options_alter(array &$options, ViewExecutable $view, DisplayPluginBase $displayHandler) {
// Set the min/max value of a slider.
$settings['field_price_value']['slider_options']['bef_slider_min'] = 500;
$settings['field_price_value']['slider_options']['bef_slider_max'] = 5000;
}
/**
* Modify the array of BEF display options for an exposed filter.
*
* @param array $widgets
* The set of BEF widgets available to this filter.
* @param \Drupal\views\Plugin\views\HandlerBase $filter
* The exposed views filter plugin.
*/
function hook_better_exposed_filters_filter_widgets_alter(array &$widgets, HandlerBase $filter) {
if ($filter instanceof CustomViewsFilterFoo) {
$widgets['bef_links'] = t('Links');
}
}
name: Better Exposed Filters
description: Provides advanced options (e.g. links, checkboxes, or other widgets) to exposed Views elements.
core_version_requirement: ^10 || ^11
type: module
package: Views
dependencies:
- drupal:views
# Information added by Drupal.org packaging script on 2024-05-22
version: '7.0.0-beta1'
project: 'better_exposed_filters'
datestamp: 1716398749
<?php
/**
* @file
* Contains better_exposed_filters.install.
*/
/**
* Implements hook_update_last_removed().
*/
function better_exposed_filters_update_last_removed(): int {
return 8005;
}
/**
* Set default opt-out of collapsible_disable_automatic_open.
*/
function better_exposed_filters_update_8006(): void {
$config_factory = \Drupal::configFactory();
foreach ($config_factory->listAll('views.view.') as $config_name) {
$config = $config_factory->getEditable($config_name);
// Go through each display on each view.
$displays = $config->get('display');
foreach ($displays as $display_name => $display) {
if (!empty($display['display_options']['exposed_form'])) {
$exposed_form = $display['display_options']['exposed_form'];
// Find BEF exposed forms.
if (isset($exposed_form['type']) && $exposed_form['type'] === 'bef') {
$bef_settings = $exposed_form['options']['bef'];
foreach ($bef_settings as $type => &$option) {
// Collapsible disable automatic opening option is available for
// the filter type only.
if ($type === 'filter') {
foreach ($option as &$field_settings) {
// Final check to ensure that we are where we are expecting to
// be in the configuration, otherwise leave untouched.
if (!isset($field_settings['advanced']) || !isset($field_settings['advanced']['collapsible'])) {
continue;
}
// Update advanced settings.
$field_settings['advanced']['collapsible_disable_automatic_open'] = FALSE;
}
}
}
// Update BEF settings.
$config->set("display.$display_name.display_options.exposed_form.options.bef", $bef_settings);
}
}
}
$config->save(TRUE);
}
}
general:
version: 6.x
css:
theme:
css/better_exposed_filters.css: {}
js:
js/better_exposed_filters.js: {}
dependencies:
- core/drupal
- core/jquery
auto_submit:
version: 6.x
js:
js/auto_submit.js: {}
dependencies:
- core/drupal
- core/once
- core/drupal.debounce
select_all_none:
version: 6.x
js:
js/bef_select_all_none.js: {}
dependencies:
- core/drupal
- core/jquery
- core/once
sliders:
version: 6.x
js:
js/bef_sliders.js: {}
dependencies:
- core/drupal
- core/drupalSettings
- core/jquery
- core/once
datepickers:
version: 6.x
js:
js/bef_datepickers.js: {}
dependencies:
- core/drupal
- core/drupalSettings
- core/jquery
links_use_ajax:
version: 6.x
js:
js/bef_links_use_ajax.js: {}
dependencies:
- core/drupal
- core/once
nouislider_internal:
js:
/libraries/noUiSlider/nouislider.min.js: { minified: true }
nouislider_external:
remote: https://refreshless.com/nouislider/
version: 15.5.1
license:
name: MIT
url: https://github.com/leongersen/noUiSlider/blob/master/LICENSE.md
gpl-compatible: true
js:
https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/15.5.1/nouislider.min.js:
type: external
minified: true
attributes:
crossorigin: anonymous
integrity: "sha512-T5Bneq9hePRO8JR0S/0lQ7gdW+ceLThvC80UjwkMRz+8q+4DARVZ4dqKoyENC7FcYresjfJ6ubaOgIE35irf4w=="
referrerpolicy: no-referrer
css:
component:
https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/15.5.1/nouislider.min.css:
type: external
minified: true
attributes:
crossorigin: anonymous
integrity: "sha512-qveKnGrvOChbSzAdtSs8p69eoLegyh+1hwOMbmpCViIwj7rn4oJjdmMvWOuyQlTOZgTlZA0N2PXA7iA8/2TUYA=="
referrerpolicy: no-referrer
<?php
/**
* @file
* General functions and hook implementations.
*
* @see https://www.drupal.org/project/better_exposed_filters
*/
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Url;
require_once __DIR__ . '/includes/better_exposed_filters.theme.inc';
/**
* Implements hook_help().
*/
function better_exposed_filters_help($route_name, RouteMatchInterface $route_match) {
// Main module help for the better_exposed_filters module.
if ($route_name == 'help.page.better_exposed_filters') {
$output = '<h3>' . t('About') . '</h3>';
$output .= '<p>' . t('Better Exposed Filters (BEF) modifies the use of Views by replacing the \'single\' or \'multi\' <em>select boxes</em> with <em>radio buttons or checkboxes</em>. Views offers the ability to expose filters to the end user. When you expose a filter, you allow the user to interact with the view making it easy to build an advanced search. Better Exposed Filters gives you greater control over the rendering of exposed filters. For more information, see the <a href=":online">online documentation for the Better Exposed Filters module</a>.', [':online' => 'https://www.drupal.org/node/766974']) . '</p>';
$output .= '<h3>' . t('Uses') . '</h3>';
$output .= '<dt>' . t('Editing or Creating Views') . '</dt>';
$output .= '<dd>' . t('Better Exposed Filters is used on <a href=":views">Views</a> that use an exposed filter. Views filters are used to reduce the result set of a View to a manageable amount of data. BEF only operates on fields that have a limited number of options such as <a href=":node">Node</a>:Type or <a href=":taxonomy">Taxonomy</a>:TermID.',
[
':views' => Url::fromRoute('help.page',
['name' => 'views'])->toString(),
':node' => Url::fromRoute('help.page',
['name' => 'node'])->toString(),
':taxonomy' => (\Drupal::moduleHandler()
->moduleExists('taxonomy')) ? Url::fromRoute('help.page',
['name' => 'taxonomy'])->toString() : '#',
]) . '</dd>';
$output .= '<dt>' . t('Styling Better Exposed Filters') . '</dt>';
$output .= '<dd>' . t('BEF provides some additional HTML structure to help you style your exposed filters. For some common examples see the <a href=":doco">online documentation</a>.', [':doco' => 'https://www.drupal.org/node/766974']) . '</dd>';
return $output;
}
}
/**
* Implements hook_form_FORM_ID_alter().
*/
function better_exposed_filters_form_views_ui_config_item_form_alter(&$form, FormStateInterface $form_state): void {
// Checks if Token module is enabled.
if (!\Drupal::moduleHandler()->moduleExists('token')) {
$text = t('Enable the Token module to allow token replacement in this field.');
if (empty($form['options']['expose']['description']['#description'])) {
$form['options']['expose']['description']['#description'] = $text;
}
else {
$form['options']['expose']['description']['#description'] .= " $text";
}
return;
}
// Adds global token replacements, if available.
$text = t('Tokens are allowed in this field. Replacement options can be found in the "Global replacement patterns" section, below.');
if (empty($form['options']['expose']['description']['#description'])) {
$form['options']['expose']['description']['#description'] = $text;
}
else {
$form['options']['expose']['description']['#description'] .= " $text";
}
$form['options']['expose']['global_replacement_tokens'] = [
'#title' => t('Global replacement patterns (for description field only)'),
'#type' => 'details',
'#weight' => 151,
];
$form['options']['expose']['global_replacement_tokens']['list'] = [
'#theme' => 'token_tree_link',
'#token_types' => [],
];
}
/**
* Implements hook_library_info_alter().
*/
function better_exposed_filters_library_info_alter(&$libraries, $extension): void {
if ($extension === 'better_exposed_filters' && isset($libraries['sliders'])) {
$libraries_directory_file_finder = \Drupal::service('library.libraries_directory_file_finder');
$lib_slider_internal = $libraries_directory_file_finder->find('nouislider');
if ($lib_slider_internal) {
$libraries['sliders']['dependencies'][] = 'better_exposed_filters/nouislider_internal';
}
else {
$libraries['sliders']['dependencies'][] = 'better_exposed_filters/nouislider_external';
}
}
}
services:
# Helpers
better_exposed_filters.bef_helper:
class: Drupal\better_exposed_filters\BetterExposedFiltersHelper
# Plugins
plugin.manager.better_exposed_filters_filter_widget:
class: Drupal\better_exposed_filters\Plugin\BetterExposedFiltersWidgetManager
arguments: [filter, '@container.namespaces', '@cache.discovery', '@module_handler']
plugin.manager.better_exposed_filters_pager_widget:
class: Drupal\better_exposed_filters\Plugin\BetterExposedFiltersWidgetManager
arguments: [pager, '@container.namespaces', '@cache.discovery', '@module_handler']
plugin.manager.better_exposed_filters_sort_widget:
class: Drupal\better_exposed_filters\Plugin\BetterExposedFiltersWidgetManager
arguments: [sort, '@container.namespaces', '@cache.discovery', '@module_handler']
{
"name": "drupal/better_exposed_filters",
"type": "drupal-module",
"description": "Replaces the Views default single- or multi-select boxes with more advanced options.",
"homepage": "https://www.drupal.org/project/better_exposed_filters",
"authors": [
{
"name": "Mike Keran",
"homepage": "https://www.drupal.org/u/mikeker"
},
{
"name": "Martin Keereman",
"homepage": "https://www.drupal.org/u/etroid"
},
{
"name": "Neslee Canil Pinto",
"homepage": "https://www.drupal.org/u/neslee-canil-pinto"
}
],
"support": {
"issues": "https://www.drupal.org/project/issues/better_exposed_filters",
"source": "https://git.drupalcode.org/project/better_exposed_filters"
},
"license": "GPL-2.0-or-later",
"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
}
]
}
#
# Schema for the Better Exposed Filters configuration files.
#
# Views exposed form.
views.exposed_form.bef:
type: views_exposed_form
label: 'Better Exposed Filters'
mapping:
input_required:
type: boolean
label: 'Input required before showing results'
text_input_required:
type: text
label: 'Text shown if a filter option has not been selected'
text_input_required_format:
type: text
label: 'Text format for the text_input_required field'
bef:
type: mapping
label: 'BEF options'
mapping:
general:
type: better_exposed_filters.general
sort:
type: better_exposed_filters.sort.[plugin_id]
pager:
type: better_exposed_filters.pager.[plugin_id]
filter:
type: sequence
label: 'Filters'
sequence:
type: better_exposed_filters.filter.[plugin_id]
#
# BEF general settings.
#
better_exposed_filters.general:
label: 'General BEF settings'
type: mapping
mapping:
autosubmit:
type: boolean
label: 'Auto-submit'
autosubmit_exclude_textfield:
type: boolean
label: 'Exclude Textfield'
autosubmit_textfield_delay:
type: integer
label: 'Delay for textfield autosubmit'
autosubmit_hide:
type: boolean
label: 'Hide submit button'
input_required:
type: boolean
label: 'Only display results after the user has selected a filter option'
allow_secondary:
type: boolean
label: 'Enable secondary exposed form options'
secondary_label:
type: label
label: 'Secondary options label'
secondary_open:
type: boolean
label: 'Secondary options is open'
text_input_required:
type: text
label: 'Text shown if a filter option has not been selected'
text_input_required_format:
type: text
label: 'Text format for the text_input_required field'
reset_button_always_show:
type: boolean
label: 'Always show reset button'
#
# Schema for the Better Exposed Filters filter widgets.
#
better_exposed_filters_filter_widget:
type: mapping
mapping:
plugin_id:
type: string
label: 'Plugin id'
advanced:
type: mapping
mapping:
sort_options:
type: boolean
label: 'Sort filter options alphabetically'
placeholder_text:
type: string
label: 'Placeholder text for the filter'
rewrite:
type: mapping
label: 'Rewrite filter options'
mapping:
filter_rewrite_values:
type: text
label: 'Rewrite filter option'
filter_rewrite_values_key:
type: boolean
label: 'Rewrite the text displayed based on key'
collapsible:
type: boolean
label: 'Make sort options collapsible'
collapsible_disable_automatic_open:
type: boolean
label: 'Disable the automatic opening of collapsed filters with selections'
is_secondary:
type: boolean
label: 'This filter is a secondary option'
# BEF exposed filter widgets
better_exposed_filters.filter.*:
label: 'Exposed filter BEF settings'
type: better_exposed_filters_filter_widget
better_exposed_filters.filter.default:
label: 'Default'
type: better_exposed_filters_filter_widget
better_exposed_filters.filter.bef:
label: 'Checkboxes/Radio Buttons'
type: better_exposed_filters_filter_widget
mapping:
select_all_none:
type: boolean
label: 'Add select all/none links'
select_all_none_nested:
type: boolean
label: 'Add select all/none links to hierarchical lists'
display_inline:
type: boolean
label: 'Display checkbox/radio options inline'
better_exposed_filters.filter.bef_links:
label: 'Links'
type: better_exposed_filters_filter_widget
mapping:
select_all_none:
type: boolean
label: 'Add select all/none links'
better_exposed_filters.filter.bef_hidden:
label: 'Hidden'
type: better_exposed_filters_filter_widget
better_exposed_filters.filter.bef_sliders:
label: 'jQuery UI Slider'
type: better_exposed_filters_filter_widget
mapping:
min:
type: string
label: 'Range minimum'
max:
type: string
label: 'Range maximum'
step:
type: string
label: 'Step'
animate:
type: string
label: 'Animation speed'
animate_ms:
type: string
label: 'Custom animation speed in milliseconds'
orientation:
type: string
label: 'Orientation'
better_exposed_filters.filter.bef_datepickers:
label: 'jQuery UI Date Picker'
type: better_exposed_filters_filter_widget
better_exposed_filters.filter.bef_number:
label: 'Number'
type: better_exposed_filters_filter_widget
mapping:
max:
type: integer
label: 'Max'
nullable: true
constraints:
FullyValidatable: ~
min:
type: integer
label: 'Min'
nullable: true
constraints:
FullyValidatable: ~
#
# Schema for the Better Exposed Filters pager widgets.
#
better_exposed_filters_pager_widget:
type: mapping
mapping:
plugin_id:
type: string
label: 'Plugin id'
advanced:
type: mapping
mapping:
is_secondary:
type: boolean
label: 'Pager is a secondary option'
# BEF exposed pager widgets
better_exposed_filters.pager.*:
type: better_exposed_filters_pager_widget
label: 'Exposed pager BEF settings'
better_exposed_filters.pager.default:
type: better_exposed_filters_pager_widget
label: 'Default'
better_exposed_filters.pager.bef:
type: better_exposed_filters_pager_widget
label: 'Checkboxes/Radio Buttons'
better_exposed_filters.pager.bef_links:
type: better_exposed_filters_pager_widget
label: 'Links'
#
# Schema for the Better Exposed Filters sort widgets.
#
better_exposed_filters_sort_widget:
type: mapping
mapping:
plugin_id:
type: string
label: 'Plugin id'
advanced:
type: mapping
mapping:
combine:
type: boolean
label: 'Combine sort order with sort by'
combine_rewrite:
type: text
label: 'Rewrite combined sort options'
reset:
type: boolean
label: 'Include reset sort option'
reset_label:
type: label
label: 'Reset sort label'
collapsible:
type: boolean
label: 'Make sort options collapsible'
collapsible_label:
type: label
label: 'Collapsible details element title'
is_secondary:
type: boolean
label: 'Sort is a secondary option'
# BEF exposed sort widgets
better_exposed_filters.sort.*:
type: better_exposed_filters_sort_widget
label: 'Exposed sort BEF settings'
better_exposed_filters.sort.default:
type: better_exposed_filters_sort_widget
label: 'Default'
better_exposed_filters.sort.bef:
type: better_exposed_filters_sort_widget
label: 'Checkboxes/Radio Buttons'
better_exposed_filters.sort.bef_links:
type: better_exposed_filters_sort_widget
label: 'Links'
/**
* @file
* better_exposed_filters.css
*/
/*
* Basic styling for features added by Better Exposed Filters
*/
.bef-exposed-form .form--inline .form-item {
float: none;
}
.bef-exposed-form .form--inline > .form-item,
.bef-exposed-form .form--inline .js-form-wrapper > .form-item {
float: left; /* LRT */
}
.bef-exposed-form .form--inline .bef--secondary {
clear: left;
}
.bef-exposed-form .noUi-vertical {
height: 150px;
}
version: "3"
services:
drupal8:
image: mkeereman/drupal8_tests:8.7
ports:
- "8081:80"
volumes:
- ./:/app
networks:
bef:
mariadb-host:
image: mariadb:10.3
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
ports:
- "3309:3306"
networks:
bef:
chrome:
image: selenium/standalone-chrome-debug:3.14.0-beryllium
ports:
- "4444:4444"
- "32771:5900"
networks:
bef:
networks:
bef:
driver: bridge
/**
* @file
* auto_submit.js
*
* Provides a "form auto-submit" feature for the Better Exposed Filters module.
*/
(function ($, Drupal, once) {
/**
* To make a form auto submit, all you have to do is 3 things:.
*
* Use the "better_exposed_filters/auto_submit" js library.
*
* On gadgets you want to auto-submit when changed, add the
* data-bef-auto-submit attribute. With FAPI, add:
* @code
* '#attributes' => array('data-bef-auto-submit' => ''),
* @endcode
*
* If you want to have auto-submit for every form element, add the
* data-bef-auto-submit-full-form to the form. With FAPI, add:
* @code
* '#attributes' => array('data-bef-auto-submit-full-form' => ''),
* @endcode
*
* If you want to exclude a field from the bef-auto-submit-full-form auto
* submission, add an attribute of data-bef-auto-submit-exclude to the form
* element. With FAPI, add:
* @code
* '#attributes' => array('data-bef-auto-submit-exclude' => ''),
* @endcode
*
* Finally, you have to identify which button you want clicked for autosubmit.
* The behavior of this button will be honored if it's ajax or not:
* @code
* '#attributes' => array('data-bef-auto-submit-click' => ''),
* @endcode
*
* Currently only 'select', 'radio', 'checkbox' and 'textfield' types are
* supported. We probably could use additional support for HTML5 input types.
*/
Drupal.behaviors.betterExposedFiltersAutoSubmit = {
attach: function (context) {
// When exposed as a block, the form #attributes are moved from the form
// to the block element, thus the second selector.
// @see \Drupal\block\BlockViewBuilder::preRender
var selectors = 'form[data-bef-auto-submit-full-form], [data-bef-auto-submit-full-form] form, [data-bef-auto-submit]';
// The change event bubbles so we only need to bind it to the outer form
// in case of a full form, or a single element when specified explicitly.
$(selectors, context).addBack(selectors).each(function (i, e) {
// Store the current form.
var $form = $(e);
// Retrieve the autosubmit delay for this particular form.
var autoSubmitDelay = $form.data('bef-auto-submit-delay') || 500;
// Attach event listeners.
$(once('bef-auto-submit', $form))
// On change, trigger the submit immediately.
.on('change', triggerSubmit)
// On keyup, wait for a specified number of milliseconds before
// triggering autosubmit. Each new keyup event resets the timer.
.on('keyup', Drupal.debounce(triggerSubmit, autoSubmitDelay));
});
/**
* Triggers form autosubmit when conditions are right.
*
* - Checks first that the element that was the target of the triggering
* event is `:text` or `textarea`, but is not `.hasDatePicker`.
* - Checks that the keycode of the keyup was not in the list of ignored
* keys (navigation keys etc).
*
* @param {object} e - The triggering event.
*/
function triggerSubmit(e) {
// e.keyCode: key.
var ignoredKeyCodes = [
16, // Shift.
17, // Ctrl.
18, // Alt.
20, // Caps lock.
33, // Page up.
34, // Page down.
35, // End.
36, // Home.
37, // Left arrow.
38, // Up arrow.
39, // Right arrow.
40, // Down arrow.
9, // Tab.
13, // Enter.
27 // Esc.
];
// Triggering element.
var $target = $(e.target);
var $submit = $target.closest('form').find('[data-bef-auto-submit-click]');
// Don't submit on changes to excluded elements or a submit element.
if ($target.is('[data-bef-auto-submit-exclude], :submit')) {
return true;
}
// Submit only if this is a non-datepicker textfield and if the
// incoming keycode is not one of the excluded values.
if (
$target.is(':text:not(.hasDatepicker), textarea')
&& $.inArray(e.keyCode, ignoredKeyCodes) === -1
) {
$submit.click();
}
// Only trigger submit if a change was the trigger (no keyup).
else if (e.type === 'change') {
$submit.click();
}
}
}
};
}(jQuery, Drupal, once));
/**
* @file
* bef_datepickers.js
*
* Provides jQueryUI Datepicker integration with Better Exposed Filters.
*/
(function ($, Drupal, drupalSettings) {
/*
* Helper functions
*/
Drupal.behaviors.betterExposedFiltersDatePickers = {
attach: function (context, settings) {
// Check for and initialize datepickers.
var befSettings = drupalSettings.better_exposed_filters;
if (befSettings && befSettings.datepicker && befSettings.datepicker_options && $.fn.datepicker) {
var opt = [];
$.each(befSettings.datepicker_options, function (key, val) {
if (key && val) {
opt[key] = JSON.parse(val);
}
});
$('.bef-datepicker').datepicker(opt);
}
}
};
})(jQuery, Drupal, drupalSettings);
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment