]> _ Git - fluidbook-v3.git/commitdiff
wip #573 @1
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 21 Jul 2016 10:14:26 +0000 (10:14 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 21 Jul 2016 10:14:26 +0000 (10:14 +0000)
framework/application/forms/CMS/Sub/Home/Block.php
framework/application/views/helpers/HomeLayer.php
js/101-header.js

index bee7d1afe37cd0b57bc361a816f83d91b62862ab..e7c9f8e3f7669466a4603a15780a9ca8c7a3296b 100644 (file)
@@ -3,7 +3,7 @@
 class Fluidbook_Form_CMS_Sub_Home_Block extends CubeIT_Form_SubForm {
        public function init() {
                parent::init();
-               
+
                $title = new Zend_Form_Element_Text('title');
                $title->setLabel('Titre');
                $title->setOrder(10);
@@ -21,6 +21,11 @@ class Fluidbook_Form_CMS_Sub_Home_Block extends CubeIT_Form_SubForm {
                $button->setOrder(30);
                $this->addSubForm($button, 'button');
 
+               $headerStyle = new Zend_Form_Element_Select('headerstyle');
+               $headerStyle->setLabel('Style du header');
+               $headerStyle->setMultiOptions(array('light' => 'Clair', 'dark' => 'Foncé'));
+               $this->addElement($headerStyle);
+
                $themeColor = new CubeIT_Form_Element_Color('themecolor');
                $themeColor->setLabel('Couleur de thème (puces, boutons)');
                $themeColor->setOrder(40);
index 7153807a66df9b320080294f964aea787264f5f5..ca2cc7ae72389fce1ca7ac1392f159e7583d1a91 100644 (file)
@@ -4,7 +4,7 @@ class Fluidbook_View_Helper_HomeLayer extends CubeIT_View_Helper_Abstract {
        public $data;\r
 \r
        protected function _layer($content, $class, $attributes = array()) {\r
-               $defaultAttributes = array('class' => $class);\r
+               $defaultAttributes = array('class' => $class, 'data-headerstyle' => $this->data['headerstyle']);\r
                $attributes = $this->_mergeAttributes($attributes, $defaultAttributes);\r
 \r
                $content = $this->backgroundBlock($content, $this->data, array('content-wrapper', 'no-shrink', 'fullheight'));\r
index 4a9db393ca4f1a66e5c0a5bc817f3c2a294f6965..c51675f63f29acfe23d6be1631a214a845aaa6a0 100644 (file)
@@ -4,16 +4,25 @@ var lastDirChange = 0;
 var scrolledDistance = 0;\r
 var headerPos = 0;\r
 var htl;\r
+var home = false;\r
 \r
 registerLoader(load_header, true);\r
 \r
 function load_header() {\r
     var h = $('#h');\r
+    home = $("body").hasClass('home');\r
+\r
+    var bgcolor = "#fff";\r
+    var boxshadow = '0 0 120px rgba(0,0,0,0.3)';\r
+    if (home) {\r
+        bgcolor = 'transparent';\r
+        boxshadow = '0 0 0 rgba(0,0,0,0)';\r
+    }\r
 \r
     htl = new TimelineMax();\r
     // Background-color & height\r
     htl.add(TweenMax.fromTo(h, 1.5, {height: 90}, {height: 75}), 0);\r
-    htl.add(TweenMax.fromTo(h, 1, {backgroundColor: 'transparent', boxShadow: '0 0 0 rgba(0,0,0,0)'}, {backgroundColor: "#fff", boxShadow: '0 0 120px rgba(0,0,0,0.3)'}), 1);\r
+    htl.add(TweenMax.fromTo(h, 1, {backgroundColor: 'transparent', boxShadow: '0 0 0 rgba(0,0,0,0)'}, {backgroundColor: bgcolor, boxShadow: boxshadow}), 1);\r
     htl.add(TweenMax.fromTo($(h).find('#header'), 1.5, {height: 90}, {height: 56}), 0);\r
 \r
     // Logo\r
@@ -90,6 +99,9 @@ function headerScroll() {
     }\r
     // Normalize top value\r
     var top = Math.max(-headerHeight, Math.min(adminHeight, htop + adminHeight));\r
+    if (home) {\r
+        top = adminHeight;\r
+    }\r
     $(h).css('top', top);\r
     var icon = $("#nav-icon");\r
     $(icon).css('top', '');\r
@@ -97,4 +109,28 @@ function headerScroll() {
     // Update\r
     formerScroll = s;\r
     scrollUp = goingUp;\r
+\r
+    if (home) {\r
+        changeHeaderStyle();\r
+    }\r
+}\r
+\r
+function changeHeaderStyle() {\r
+    var scrollTop = $(window).scrollTop();\r
+    var wh = $(window).height();\r
+    var section;\r
+    $('main>section').each(function () {\r
+        var offset = $(this).offset().top;\r
+        if (scrollTop >= offset && scrollTop <= offset + wh - 50) {\r
+            section = $(this);\r
+        }\r
+    });\r
+\r
+    var headerClass = $(section).data('headerstyle');\r
+    if (headerClass == 'light') {\r
+        $("header").addClass('light').removeClass('dark');\r
+    } else {\r
+        $("header").addClass('dark').removeClass('light');\r
+    }\r
+\r
 }
\ No newline at end of file