diff --git a/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.css b/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.css index 6e2fc12..8a45bf6 100644 --- a/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.css +++ b/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.css @@ -22,6 +22,11 @@ fieldset dt label { cursor: inherit; } +fieldset p.submit-buttons { + margin-top: 0; + padding: 0 4px 4px 4px; +} + /* * phpBB ACP Toggles - A CSS class that makes it easy to display checkboxes as toggles. * Source : https://danklammer.com/articles/simple-css-toggle-switch/ diff --git a/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.html b/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.html index 999ba87..ab1558c 100644 --- a/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.html +++ b/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.html @@ -18,7 +18,7 @@

{{ lang('TOGGLECTRL_CONFIG_TITLE') }}

{{ _self.notes(TOGGLECTRL_NOTES) }} -
+
{{ lang('TOGGLECTRL_SETTINGS_TITLE') }} diff --git a/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.js b/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.js index 3b5461f..5925d79 100644 --- a/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.js +++ b/lukewcs/togglectrl/adm/style/acp_togglectrl_settings.js @@ -7,11 +7,11 @@ * */ -(function () { // IIFE start +(function ($) { // IIFE start 'use strict'; -var constants = Object.freeze({ +const constants = Object.freeze({ OpacityEnabled : '1.0', OpacityDisabled : '0.35', }); @@ -21,7 +21,7 @@ function setState() { }; function dimOptionGroup(elememtName, dimCondition) { - var c = constants; + const c = constants; $('[name="' + elememtName + '"]').parents('dl').css('opacity', dimCondition ? c.OpacityDisabled : c.OpacityEnabled); } @@ -32,11 +32,18 @@ function formReset() { }); }; +function disableEnter(e) { + if (e.key == 'Enter' && e.target.type != 'textarea') { + return false; + } +}; + $(window).ready(function () { setState(); - $('[name="togglectrl_enabled"]') .on('change', setState); - $('#togglectrl_form') .on('reset' , formReset); + $('#togglectrl_settings') .on('keypress' , disableEnter); + $('#togglectrl_settings') .on('reset' , formReset); + $('[name="togglectrl_enabled"]') .on('change' , setState); }); -})(); // IIFE end +})(jQuery); // IIFE end diff --git a/lukewcs/togglectrl/composer.json b/lukewcs/togglectrl/composer.json index 879bb5e..d61d50c 100644 --- a/lukewcs/togglectrl/composer.json +++ b/lukewcs/togglectrl/composer.json @@ -3,8 +3,8 @@ "type": "phpbb-extension", "description": "Makes it possible to decide centrally for all extensions which visual style should be used for yes/no switches, provided extensions support Toggle Control.", "homepage": "https://github.com/LukeWCS/toggle-control", - "version": "1.0.1", - "time": "2023-12-14", + "version": "1.0.2", + "time": "2024-01-15", "license": "GPL-2.0-only", "authors": [ { diff --git a/lukewcs/togglectrl/controller/acp_togglectrl_controller.php b/lukewcs/togglectrl/controller/acp_togglectrl_controller.php index fe301ee..6b9cec9 100644 --- a/lukewcs/togglectrl/controller/acp_togglectrl_controller.php +++ b/lukewcs/togglectrl/controller/acp_togglectrl_controller.php @@ -66,7 +66,6 @@ public function module_settings(): void $this->template->assign_vars([ 'TOGGLECTRL_NOTES' => $notes, - 'TOGGLECTRL_ENABLED' => $this->config['togglectrl_enabled'], ] + (!$this->config['togglectrl_enabled'] ? [ 'TOGGLECTRL_TYPE' => $this->config['togglectrl_type'], @@ -89,7 +88,7 @@ public function set_page_url(string $u_action): void private function set_meta_template_vars(string $tpl_prefix): void { $this->template->assign_vars([ - $tpl_prefix . '_METADATA' => [ + $tpl_prefix . '_METADATA' => [ 'EXT_NAME' => $this->metadata['extra']['display-name'], 'EXT_VER' => $this->language->lang($tpl_prefix . '_VERSION_STRING', $this->metadata['version']), 'LANG_DESC' => $this->language->lang($tpl_prefix . '_LANG_DESC'), @@ -100,18 +99,12 @@ private function set_meta_template_vars(string $tpl_prefix): void ]); } - // Determine the version of the language pack with fallback to 0.0.0 - private function get_lang_ver(string $lang_ext_ver): string - { - preg_match('/^([0-9]+\.[0-9]+\.[0-9]+)/', $this->language->lang($lang_ext_ver), $matches); - return ($matches[1] ?? '0.0.0'); - } - // Check the language pack version for the minimum version and generate notice if outdated private function lang_ver_check_msg(string $lang_version_var, string $lang_outdated_var): string { $lang_outdated_msg = ''; - $ext_lang_ver = $this->get_lang_ver($lang_version_var); + preg_match('/^([0-9]+\.[0-9]+\.[0-9]+)/', $this->language->lang($lang_version_var), $matches); + $ext_lang_ver = $matches[1] ?? '0.0.0'; $ext_lang_min_ver = $this->metadata['extra']['lang-min-ver']; if (phpbb_version_compare($ext_lang_ver, $ext_lang_min_ver, '<')) diff --git a/lukewcs/togglectrl/event/listener.php b/lukewcs/togglectrl/event/listener.php index 8001774..3791de3 100644 --- a/lukewcs/togglectrl/event/listener.php +++ b/lukewcs/togglectrl/event/listener.php @@ -39,9 +39,7 @@ public function generate_template_vars() { if ($this->config['togglectrl_enabled']) { - $this->template->assign_vars([ - 'TOGGLECTRL_TYPE' => $this->config['togglectrl_type'], - ]); + $this->template->assign_var('TOGGLECTRL_TYPE', $this->config['togglectrl_type']); } } } diff --git a/lukewcs/togglectrl/migrations/v_1_0_0.php b/lukewcs/togglectrl/migrations/v_1_0_0.php index 935a09e..911408d 100644 --- a/lukewcs/togglectrl/migrations/v_1_0_0.php +++ b/lukewcs/togglectrl/migrations/v_1_0_0.php @@ -20,8 +20,8 @@ public static function depends_on() public function update_data() { return [ - ['config.add', ['togglectrl_enabled', 1]], - ['config.add', ['togglectrl_type', 'toggle']], + ['config.add', ['togglectrl_enabled' , 1]], + ['config.add', ['togglectrl_type' , 'toggle']], ['module.add', [ 'acp', 'ACP_CAT_DOT_MODS', diff --git a/toggle-control_build_changelog.md b/toggle-control_build_changelog.md index a3d2870..77986da 100644 --- a/toggle-control_build_changelog.md +++ b/toggle-control_build_changelog.md @@ -1,3 +1,13 @@ +### 1.0.2 +* Release (2024-01-15) +* PHP: + * Code Optimierung im Controller. +* JS: + * Im Settings Formular wird jetzt die Enter Taste deaktiviert. + * Im IIFE Konstrukt wird jetzt explizit das jQuery Objekt übergeben. +* CSS: + * In der Gruppe mit dem Absenden-Button den zu grossen Abstand zwischen Buttons und oberem Rand der Gruppe verkleinert. + ### 1.0.1 * Release (2023-12-14) * Fix: Im `switch()` Makro wurde bei der Einstellung `checkbox` keine CSS Klasse generiert, wodurch der Mauszeiger über einer Checkbox nicht zu einem Pointer-Cursor geändert wurde. Bei Checkboxen wird jetzt explizit die passende Klasse generiert, die auch im ACP CSS definiert ist. @@ -6,7 +16,7 @@ * Release (2023-12-07) * Versionsprüfung hinzugefügt. -### 1.0.0-b4 +#### 1.0.0-b4 * Template: * Bei allen Optionsgruppen die ID entfernt, die für die Abblenden-Funktion benötigt wurde. * JS: diff --git a/toggle-control_changelog_de.md b/toggle-control_changelog_de.md index ae5a89f..f8f3246 100644 --- a/toggle-control_changelog_de.md +++ b/toggle-control_changelog_de.md @@ -1,3 +1,14 @@ +### 1.0.2 +(2024-01-15) + +* PHP: + * Code Optimierung im Controller. +* JS: + * Im Settings Formular wird jetzt die Enter Taste deaktiviert. + * Im IIFE Konstrukt wird jetzt explizit das jQuery Objekt übergeben. +* CSS: + * In der Gruppe mit dem Absenden-Button den zu grossen Abstand zwischen Buttons und oberem Rand der Gruppe verkleinert. + ### 1.0.1 (2023-12-14)