PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.8.0
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.8.0
4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Component / Toggle.php
wp-staging / Component Last commit date
Alert.php 1 month ago Checkbox.php 8 months ago Toggle.php 6 months ago
Toggle.php
46 lines
1 <?php
2
3 namespace WPStaging\Component;
4
5 /**
6 * Renders toggle switch UI components for settings and forms
7 *
8 * This component generates HTML markup for toggle switches (on/off switches) used
9 * throughout the WP Staging admin interface. It supports:
10 * - Custom CSS classes and styling
11 * - Checked/unchecked states
12 * - Disabled state
13 * - onChange event handlers
14 * - Custom data attributes
15 *
16 * The component loads its template from the views directory and passes all
17 * configuration to the template for rendering.
18 */
19 class Toggle
20 {
21 /**
22 * @param string $id
23 * @param string $name
24 * @param string $value
25 * @param bool $isChecked
26 * @param array $attributes [
27 * 'classes' => string,
28 * 'onChange' => string,
29 * 'isDisabled' => bool
30 * ]
31 * @param array $dataAttributes [
32 * 'id' => string,
33 * ]
34 * @return void
35 */
36 public function render(string $id, string $name, string $value = '', bool $isChecked = false, array $attributes = [], array $dataAttributes = [])
37 {
38 $classes = isset($attributes['classes']) ? $attributes['classes'] : '';
39 $onChange = isset($attributes['onChange']) ? $attributes['onChange'] : '';
40 $isDisabled = isset($attributes['isDisabled']) ? $attributes['isDisabled'] : false;
41 $dataId = isset($dataAttributes['id']) ? $dataAttributes['id'] : '';
42 /** @noinspection PhpIncludeInspection */
43 require trailingslashit(WPSTG_VIEWS_DIR) . 'components/toggle.php';
44 }
45 }
46