From 7a9e29ff933388d96355a49b9a4a1964e107d387 Mon Sep 17 00:00:00 2001 From: Henning Leutz <leutz@pcsg.de> Date: Wed, 30 Mar 2016 12:22:19 +0200 Subject: [PATCH] =?UTF-8?q?Issue=20#32=20=20In=20den=20Bausteinen=20werden?= =?UTF-8?q?=20keine=20CSS-Klassen=20=C3=BCbernommen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/BrickEdit.js | 4 ++-- src/QUI/Bricks/Brick.php | 46 ++++++++++++++++++++++++++++++-------- src/QUI/Bricks/Manager.php | 3 +-- 3 files changed, 40 insertions(+), 13 deletions(-) diff --git a/bin/BrickEdit.js b/bin/BrickEdit.js index 14b4ab6..e6a52e2 100644 --- a/bin/BrickEdit.js +++ b/bin/BrickEdit.js @@ -298,7 +298,7 @@ define('package/quiqqer/bricks/bin/BrickEdit', [ var data = this.getAttribute('data'); this.$unload(); - + console.log(data); this.setAttribute('data', data); this.$Active = Button; @@ -354,7 +354,7 @@ define('package/quiqqer/bricks/bin/BrickEdit', [ var Form = this.getContent().getElement('form'), unload = this.$Active.getAttribute('name'), data = this.getAttribute('data'); - + console.log(unload); if (unload == 'information') { data.attributes = Object.merge( data.attributes, diff --git a/src/QUI/Bricks/Brick.php b/src/QUI/Bricks/Brick.php index a6022fc..d15990a 100644 --- a/src/QUI/Bricks/Brick.php +++ b/src/QUI/Bricks/Brick.php @@ -69,15 +69,15 @@ public function __construct($params = array()) { // default $default = array( - 'type' => 'content', - 'content' => '', - 'title' => '', + 'type' => 'content', + 'content' => '', + 'title' => '', 'description' => '', - 'project' => '', - 'areas' => '', - 'height' => '', - 'width' => '', - 'classes' => '' + 'project' => '', + 'areas' => '', + 'height' => '', + 'width' => '', + 'classes' => '' ); $this->setAttributes($default); @@ -96,6 +96,16 @@ public function __construct($params = array()) $this->uniqueId = $params['uniqueId']; } + if (isset($params['classes'])) { + $cssClasses = json_decode($params['classes'], true); + + foreach ($cssClasses as $cssClass) { + $this->addCSSClass($cssClass); + } + + unset($params['classes']); + } + // default settings from control $Control = $this->getControl(); $Manager = Manager::init(); @@ -326,6 +336,8 @@ protected function getControl() */ public function getSettings() { + $this->settings['classes'] = $this->getCSSClasses(); + return $this->settings; } @@ -356,6 +368,10 @@ public function setSettings($settings) */ public function getSetting($name) { + if ($name === 'classes') { + return $this->getCSSClasses(); + } + if (isset($this->settings[$name])) { return $this->settings[$name]; } @@ -397,7 +413,19 @@ public function getCustomFields() */ public function addCSSClass($cssClass) { - $this->cssClasses[] = $cssClass; + if (!empty($cssClass)) { + $this->cssClasses[] = $cssClass; + } + } + + /** + * Return all css classes + * + * @return array + */ + public function getCSSClasses() + { + return $this->cssClasses; } /** diff --git a/src/QUI/Bricks/Manager.php b/src/QUI/Bricks/Manager.php index 0f2dcc8..1672264 100644 --- a/src/QUI/Bricks/Manager.php +++ b/src/QUI/Bricks/Manager.php @@ -615,7 +615,6 @@ public function saveBrick($brickId, array $brickData) } } - // update QUI::getDataBase()->update($this->getTable(), array( 'title' => $Brick->getAttribute('title'), @@ -627,7 +626,7 @@ public function saveBrick($brickId, array $brickData) 'areas' => $areaString, 'height' => $Brick->getAttribute('height'), 'width' => $Brick->getAttribute('width'), - 'classes' => $Brick->getAttribute('classes') + 'classes' => json_encode($Brick->getCSSClasses()) ), array( 'id' => (int)$brickId )); -- GitLab