PluginProbe
Depicter — Popup & Slider Builder / trunk
Depicter — Popup & Slider Builder vtrunk
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / app / src / Document / Models / Common / Size / States.php

States.php in Depicter — Popup & Slider Builder trunk, at app/src/Document/Models/Common/Size/States.php

71 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Depicter\Document\Models\Common\Size;
3
4
5 use Depicter\Document\CSS\Breakpoints;
6
7 class States
8 {
9 /**
10 * @var Base
11 */
12 public $default;
13
14 /**
15 * @var Base
16 */
17 public $tablet;
18
19 /**
20 * @var Base
21 */
22 public $mobile;
23
24 /**
25 * Retrieves sizes for all breakpoints
26 *
27 * @param mixed $sizeProp
28 * @param bool $includeUnit
29 *
30 * @return array
31 */
32 public function getResponsiveSizes( $sizeProp, $includeUnit = false ) {
33 $responsiveSizes = [];
34
35 foreach( Breakpoints::names() as $device ){
36 $responsiveSizes[ $device ] = '';
37
38 if( !empty( $this->{$device}->{$sizeProp} ) && is_string( $this->{$device}->{$sizeProp} ) ){
39 $responsiveSizes[ $device ] .= $this->{$device}->{$sizeProp};
40
41 } elseif( isset( $this->{$device}->{$sizeProp}->value ) && is_numeric( $this->{$device}->{$sizeProp}->value ) ){
42 $responsiveSizes[ $device ] .= $this->{$device}->{$sizeProp}->value;
43 if( $includeUnit && !empty( $this->{$device}->{$sizeProp}->unit ) ){
44 $responsiveSizes[ $device ] .= $this->{$device}->{$sizeProp}->unit;
45 }
46 } elseif( $device == 'default' ) {
47 $responsiveSizes[ $device ] .= 'auto';
48 }
49 }
50
51 return $responsiveSizes;
52 }
53
54 /**
55 * If responsive sizes are all empty
56 *
57 * @param $responsiveSizes
58 *
59 * @return bool
60 */
61 public function hasNoResponsiveSize( $responsiveSizes )
62 {
63 foreach( Breakpoints::names() as $device ){
64 if( ! empty( $responsiveSizes[ $device ] ) ){
65 return false;
66 }
67 }
68 return true;
69 }
70 }
71