Updated default toolbox renderer
authorThierry Florac <thierry.florac@onf.fr>
Thu, 29 Nov 2018 11:19:23 +0100
changeset 265 914dd6e8cf6d
parent 264 a57d4369f179
child 266 588256bd26ee
Updated default toolbox renderer
src/pyams_default_theme/features/share/portlet/__init__.py
src/pyams_default_theme/features/share/portlet/templates/toolbox.pt
src/pyams_default_theme/resources/css/pyams-default.css
src/pyams_default_theme/resources/css/pyams-default.css.map
src/pyams_default_theme/resources/css/pyams-default.min.css
src/pyams_default_theme/resources/img/print-button.svg
src/pyams_default_theme/resources/less/pyams-default.less
--- a/src/pyams_default_theme/features/share/portlet/__init__.py	Wed Nov 28 18:09:35 2018 +0100
+++ b/src/pyams_default_theme/features/share/portlet/__init__.py	Thu Nov 29 11:19:23 2018 +0100
@@ -18,6 +18,7 @@
 from pyams_content.features.share.portlet import IToolboxPortletSettings
 from pyams_portal.interfaces import IPortalContext, IPortletRenderer
 from pyams_portal.portlet import PortletRenderer
+from pyams_skin import awesomefonts_css
 from pyams_skin.layer import IPyAMSLayer
 from pyams_template.template import template_config
 from pyams_utils.adapter import adapter_config
@@ -33,6 +34,8 @@
 
     label = _("Default toolbox")
 
+    resources = (awesomefonts_css,)
+
     @property
     def social_items(self):
         manager = ISocialShareManager(self.request.root, None)
--- a/src/pyams_default_theme/features/share/portlet/templates/toolbox.pt	Wed Nov 28 18:09:35 2018 +0100
+++ b/src/pyams_default_theme/features/share/portlet/templates/toolbox.pt	Thu Nov 29 11:19:23 2018 +0100
@@ -0,0 +1,28 @@
+<div class="toolbox btn-group btn-group-vertical" i18n:domain="pyams_default_theme"
+	 tal:define="settings view.settings">
+
+	<button tal:condition="settings.allow_printing"
+			type="button" class="btn btn-default hidden-xs hidden-sm"
+			onclick="javascript:window.print();"
+			title="Print page" i18n:attributes="title">
+		<i class="fa fa-fw fa-print"></i>
+		<span i18n:translate="">Print page</span>
+	</button>
+
+	<tal:if condition="settings.allow_sharing">
+		<tal:loop repeat="item view.social_items">
+			<tal:var define="url item.get_url(context, request)">
+				<button type="button" class="btn btn-default hidden-xs hidden-sm"
+						title="${i18n:item.label}"
+						onclick="javascript:window.location.href='${url}';">
+					<i class="fa fa-fw"
+					   tal:define="pictogram i18n:item.pictogram.image">
+						${structure:tales:thumbnail(pictogram, '2rem', '2rem')}
+					</i>
+					<span>${i18n:item.label}</span>
+				</button>
+			</tal:var>
+		</tal:loop>
+	</tal:if>
+
+</div>
\ No newline at end of file
--- a/src/pyams_default_theme/resources/css/pyams-default.css	Wed Nov 28 18:09:35 2018 +0100
+++ b/src/pyams_default_theme/resources/css/pyams-default.css	Thu Nov 29 11:19:23 2018 +0100
@@ -23,6 +23,16 @@
 h6 {
   font-family: Oswald, Helvetica, Arial, Sans-Serif;
 }
+hr.simple {
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+hr.noborder {
+  border: 0;
+}
+/**
+ * Header styles
+ */
 .header-simple .regularbanner {
   position: relative;
 }
@@ -105,6 +115,19 @@
     display: none;
   }
 }
+.toolbox {
+  display: flex;
+  flex-direction: column;
+}
+.toolbox button {
+  text-align: left;
+  display: flex;
+  align-items: center;
+}
+.toolbox button i.fa {
+  display: inline-block;
+  margin-right: 1rem;
+}
 @media only screen and (min-width: 1340px) {
   .col-lg-12 .portlet > section.wrapper {
     margin-left: calc(0vw);
--- a/src/pyams_default_theme/resources/css/pyams-default.css.map	Wed Nov 28 18:09:35 2018 +0100
+++ b/src/pyams_default_theme/resources/css/pyams-default.css.map	Thu Nov 29 11:19:23 2018 +0100
@@ -1,1 +1,1 @@
-{"version":3,"sources":["../less/pyams-default.less"],"names":[],"mappings":"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","file":"pyams-default.css"}
\ No newline at end of file
+{"version":3,"sources":["../less/pyams-default.less"],"names":[],"mappings":"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","file":"pyams-default.css"}
\ No newline at end of file
--- a/src/pyams_default_theme/resources/css/pyams-default.min.css	Wed Nov 28 18:09:35 2018 +0100
+++ b/src/pyams_default_theme/resources/css/pyams-default.min.css	Thu Nov 29 11:19:23 2018 +0100
@@ -1,1 +1,1 @@
-.margin-bottom-10{margin-bottom:10px}.margin-bottom-20{margin-bottom:20px}body{font-family:Lato,Helvetica,Arial,sans-serif;margin:0 auto;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Oswald,Helvetica,Arial,Sans-Serif}.header-simple .regularbanner{position:relative}.header-simple .regularbanner img.regularbanner__media,.header-simple .regularbanner picture.regularbanner__media{width:100%}.header-simple .regularbanner img.logo,.header-simple .regularbanner picture.logo{position:absolute;top:10px;left:10px;max-height:calc(100% - 20px)}.affix{top:0;width:100%;z-index:9999!important;opacity:.95;transition:all .5s ease-in-out}.affix~.container-fluid{position:relative;top:50px}.navbar{margin-bottom:20px;background-color:#fff;border:1px solid #39413b;font-family:Oswald,Helvetica,Arial,Sans-Serif;transition:all .5s ease-in-out}.navbar a,.navbar a:active,.navbar a:visited{color:#39413b}.navbar .icon-bar,.navbar li.active{background-color:#a5bcaa}.navbar.affix{background-color:#39413b}.navbar.affix a{color:#fff}.navbar.affix .dropdown-menu a{color:#39413b}.navbar.affix:hover a:hover{color:#39413b}.navbar.affix .icon-bar{background-color:#fff}.breadcrumb{margin-bottom:1rem}.page-header{margin-top:2rem}@media only screen and (min-width:1200px){.portal-page .slot.col-lg-0{display:none}}@media only screen and (min-width:992px) and (max-width:1199px){.portal-page .slot.col-md-0{display:none}}@media only screen and (min-width:768px) and (max-width:991px){.portal-page .slot.col-sm-0{display:none}}@media only screen and (max-width:767px){.portal-page .slot.col-xs-0{display:none}}@media only screen and (min-width:1340px){.col-lg-12 .portlet>section.wrapper{margin-left:calc(0vw);margin-right:calc(0vw)}}@media only screen and (min-width:1052px){.col-md-12 .portlet>section.wrapper{margin-left:calc(0vw);margin-right:calc(0vw)}}@media only screen and (max-width:1051px){.col-sm-12 .portlet>section.wrapper{margin-left:calc(0vw);margin-right:calc(0vw)}}@media only screen and (max-width:767px){.navbar.affix .dropdown-menu{background-color:#39413b}.navbar.affix .dropdown-menu a{color:#fff}.col-xs-12 .portlet>section.wrapper{margin-left:calc(0vw);margin-right:calc(0vw)}}.summary .thumbnail.pull-left{margin-right:15px}blockquote{margin-top:2rem;border:1px solid #ddd;border-left:5px solid #ddd}blockquote.pull-right{padding:0 15px;text-align:left;border:1px solid #ddd;border-left:5px solid #ddd}.panels{margin-top:2rem}.search-results .breadcrumb:empty{margin:0;padding:0}.search-results .thumbnail.pull-left{margin-right:3rem}.search-results .tags span{margin:0 .2rem}.illustration{margin-bottom:1rem}.illustration .author{padding-top:.2em;font-size:.9em;font-style:italic}.gallery{display:flex;flex-wrap:wrap}.gallery .legend{margin-bottom:.2em}.gallery img{box-shadow:0 2px 6px 2px rgba(0,0,0,.75);margin-bottom:5px;filter:grayscale();transition:all ease-in-out .5s}.gallery img:hover{filter:none}.gallery .author{margin-bottom:15px;text-align:right;font-style:italic;font-size:.8em}.ekko-lightbox{position:fixed;top:0!important;height:100vh}.ekko-lightbox .modal-footer{padding-top:0;text-align:right!important;font-style:italic;font-size:.8em}.video-wrapper iframe{width:100%}.milestones{display:flex;justify-content:space-around}.milestones .arrow{font-weight:700;font-size:1.5em}.contact-card .photo.pull-left{margin-right:1em}.contact-card .photo.pull-right{margin-left:1em}.contact-card .address{margin-top:.5em;margin-bottom:.5em}.verbatim .panel-body{position:relative;margin-left:50px}.verbatim .panel-body::before{content:'«';position:absolute;left:-30px;top:0;font-size:4em}.verbatim .panel-body .author{margin-top:.5em}
+.margin-bottom-10{margin-bottom:10px}.margin-bottom-20{margin-bottom:20px}body{font-family:Lato,Helvetica,Arial,sans-serif;margin:0 auto;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Oswald,Helvetica,Arial,Sans-Serif}hr.simple{margin-top:10px;margin-bottom:10px}hr.noborder{border:0}.header-simple .regularbanner{position:relative}.header-simple .regularbanner img.regularbanner__media,.header-simple .regularbanner picture.regularbanner__media{width:100%}.header-simple .regularbanner img.logo,.header-simple .regularbanner picture.logo{position:absolute;top:10px;left:10px;max-height:calc(100% - 20px)}.affix{top:0;width:100%;z-index:9999!important;opacity:.95;transition:all .5s ease-in-out}.affix~.container-fluid{position:relative;top:50px}.navbar{margin-bottom:20px;background-color:#fff;border:1px solid #39413b;font-family:Oswald,Helvetica,Arial,Sans-Serif;transition:all .5s ease-in-out}.navbar a,.navbar a:active,.navbar a:visited{color:#39413b}.navbar .icon-bar,.navbar li.active{background-color:#a5bcaa}.navbar.affix{background-color:#39413b}.navbar.affix a{color:#fff}.navbar.affix .dropdown-menu a{color:#39413b}.navbar.affix:hover a:hover{color:#39413b}.navbar.affix .icon-bar{background-color:#fff}.breadcrumb{margin-bottom:1rem}.page-header{margin-top:2rem}@media only screen and (min-width:1200px){.portal-page .slot.col-lg-0{display:none}}@media only screen and (min-width:992px) and (max-width:1199px){.portal-page .slot.col-md-0{display:none}}@media only screen and (min-width:768px) and (max-width:991px){.portal-page .slot.col-sm-0{display:none}}@media only screen and (max-width:767px){.portal-page .slot.col-xs-0{display:none}}.toolbox{display:flex;flex-direction:column}.toolbox button{text-align:left;display:flex;align-items:center}.toolbox button i.fa{display:inline-block;margin-right:1rem}@media only screen and (min-width:1340px){.col-lg-12 .portlet>section.wrapper{margin-left:calc(0vw);margin-right:calc(0vw)}}@media only screen and (min-width:1052px){.col-md-12 .portlet>section.wrapper{margin-left:calc(0vw);margin-right:calc(0vw)}}@media only screen and (max-width:1051px){.col-sm-12 .portlet>section.wrapper{margin-left:calc(0vw);margin-right:calc(0vw)}}@media only screen and (max-width:767px){.navbar.affix .dropdown-menu{background-color:#39413b}.navbar.affix .dropdown-menu a{color:#fff}.col-xs-12 .portlet>section.wrapper{margin-left:calc(0vw);margin-right:calc(0vw)}}.summary .thumbnail.pull-left{margin-right:15px}blockquote{margin-top:2rem;border:1px solid #ddd;border-left:5px solid #ddd}blockquote.pull-right{padding:0 15px;text-align:left;border:1px solid #ddd;border-left:5px solid #ddd}.panels{margin-top:2rem}.search-results .breadcrumb:empty{margin:0;padding:0}.search-results .thumbnail.pull-left{margin-right:3rem}.search-results .tags span{margin:0 .2rem}.illustration{margin-bottom:1rem}.illustration .author{padding-top:.2em;font-size:.9em;font-style:italic}.gallery{display:flex;flex-wrap:wrap}.gallery .legend{margin-bottom:.2em}.gallery img{box-shadow:0 2px 6px 2px rgba(0,0,0,.75);margin-bottom:5px;filter:grayscale();transition:all ease-in-out .5s}.gallery img:hover{filter:none}.gallery .author{margin-bottom:15px;text-align:right;font-style:italic;font-size:.8em}.ekko-lightbox{position:fixed;top:0!important;height:100vh}.ekko-lightbox .modal-footer{padding-top:0;text-align:right!important;font-style:italic;font-size:.8em}.video-wrapper iframe{width:100%}.milestones{display:flex;justify-content:space-around}.milestones .arrow{font-weight:700;font-size:1.5em}.contact-card .photo.pull-left{margin-right:1em}.contact-card .photo.pull-right{margin-left:1em}.contact-card .address{margin-top:.5em;margin-bottom:.5em}.verbatim .panel-body{position:relative;margin-left:50px}.verbatim .panel-body::before{content:'«';position:absolute;left:-30px;top:0;font-size:4em}.verbatim .panel-body .author{margin-top:.5em}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_default_theme/resources/img/print-button.svg	Thu Nov 29 11:19:23 2018 +0100
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="45px" height="45px" viewBox="0 0 45 45" style="enable-background:new 0 0 45 45;" xml:space="preserve">
+<g>
+	<path d="M42.5,19.408H40V1.843c0-0.69-0.561-1.25-1.25-1.25H6.25C5.56,0.593,5,1.153,5,1.843v17.563H2.5
+		c-1.381,0-2.5,1.119-2.5,2.5v20c0,1.381,1.119,2.5,2.5,2.5h40c1.381,0,2.5-1.119,2.5-2.5v-20C45,20.525,43.881,19.408,42.5,19.408z
+		 M32.531,38.094H12.468v-5h20.063V38.094z M37.5,19.408H35c-1.381,0-2.5,1.119-2.5,2.5v5h-20v-5c0-1.381-1.119-2.5-2.5-2.5H7.5
+		V3.093h30V19.408z M32.5,8.792h-20c-0.69,0-1.25-0.56-1.25-1.25s0.56-1.25,1.25-1.25h20c0.689,0,1.25,0.56,1.25,1.25
+		S33.189,8.792,32.5,8.792z M32.5,13.792h-20c-0.69,0-1.25-0.56-1.25-1.25s0.56-1.25,1.25-1.25h20c0.689,0,1.25,0.56,1.25,1.25
+		S33.189,13.792,32.5,13.792z M32.5,18.792h-20c-0.69,0-1.25-0.56-1.25-1.25s0.56-1.25,1.25-1.25h20c0.689,0,1.25,0.56,1.25,1.25
+		S33.189,18.792,32.5,18.792z"/>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+</svg>
--- a/src/pyams_default_theme/resources/less/pyams-default.less	Wed Nov 28 18:09:35 2018 +0100
+++ b/src/pyams_default_theme/resources/less/pyams-default.less	Thu Nov 29 11:19:23 2018 +0100
@@ -30,6 +30,20 @@
 	font-family: Oswald, Helvetica, Arial, Sans-Serif;
 }
 
+hr {
+	&.simple {
+		margin-top: 10px;
+		margin-bottom: 10px;
+	}
+	&.noborder {
+		border: 0;
+	}
+}
+
+
+/**
+ * Header styles
+ */
 .header-simple {
 	.regularbanner {
 		position: relative;
@@ -130,6 +144,22 @@
 	}
 }
 
+.toolbox {
+	display: flex;
+	flex-direction: column;
+
+	button {
+		text-align: left;
+		display: flex;
+		align-items: center;
+
+		i.fa {
+			display: inline-block;
+			margin-right: 1rem;
+		}
+	}
+}
+
 @media only screen and (min-width: 1340px) {
 	.col-lg-12 .portlet > section.wrapper {
 		margin-left: calc(-50vw + 50%);