PluginProbe
Depicter — Popup & Slider Builder / 1.6.2
Depicter — Popup & Slider Builder v1.6.2
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 / Elements / Group.php

Group.php in Depicter — Popup & Slider Builder 1.6.2, at app/src/Document/Models/Elements/Group.php

67 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\Elements;
3
4 use Averta\Core\Utility\Arr;
5 use Depicter\Document\Models;
6 use Depicter\Html\Html;
7
8 class Group extends Models\Element
9 {
10
11 public function render() {
12
13 if ( empty( $this->childrenObjects ) ) {
14 return '';
15 }
16
17 $args = $this->getDefaultAttributes();
18
19 $div = Html::div( $args, "\n" );
20 foreach ( $this->childrenObjects as $element ) {
21 $div->nest( $element->prepare()->render() );
22 }
23
24 if ( false !== $a = $this->getLinkTag() ) {
25 return $a->nest( $div );
26 }
27
28 return $div . "\n";
29 }
30
31 /**
32 * Get list of selector and CSS for element and belonging child elements
33 *
34 * @return array
35 * @throws \JsonMapper_Exception
36 */
37 public function getSelectorAndCssList(){
38 parent::getSelectorAndCssList();
39
40 foreach ( $this->childrenObjects as $element ) {
41 $this->selectorCssList = Arr::merge( $this->selectorCssList, $element->prepare()->getSelectorAndCssList() );
42 }
43
44 return $this->selectorCssList;
45 }
46
47 /**
48 * Retrieves list of fonts used in typography options
49 *
50 * @return array
51 * @throws \JsonMapper_Exception
52 */
53 public function getFontsList()
54 {
55 if ( empty( $this->childrenObjects ) ) {
56 return '';
57 }
58
59 foreach ( $this->childrenObjects as $element ) {
60 $fontsList = ! empty( $element->prepare()->styles ) ? $element->prepare()->styles->getFontsList() : [];
61 \Depicter::app()->documentFonts()->addFonts( $element->getDocumentID(), $fontsList, 'google' );
62 }
63
64 return $fontsList;
65 }
66 }
67