branch refonteUI-2017 updated (aae138f -> f77095a)
This is an automated email from the git hooks/post-receive script. New change to branch refonteUI-2017 in repository bow. See https://gitlab.nuiton.org/chorem/bow.git from aae138f [jgitflow-maven-plugin]Updating develop poms back to pre merge state new f77095a Refonte de l'UI : reprise de la refonte dans une nouvelle branche The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit f77095acc073ff5b47a0d1b969eea822ebcfc5d5 Author: Léo Kaufmann <kaufmann@codelutin.com> Date: Wed Sep 6 19:17:09 2017 +0200 Refonte de l'UI : reprise de la refonte dans une nouvelle branche Summary of changes: .gitignore | 1 + bow-ui/pom.xml | 25 +++ bow-ui/src/main/less/base/_all.less | 4 + bow-ui/src/main/less/base/_footer.less | 14 ++ bow-ui/src/main/less/base/_header.less | 80 ++++++++ bow-ui/src/main/less/base/_layout.less | 90 +++++++++ bow-ui/src/main/less/bow.less | 14 ++ bow-ui/src/main/less/common/_all.less | 10 + bow-ui/src/main/less/common/_bookmark-grid.less | 62 ++++++ bow-ui/src/main/less/common/_bookmark-list.less | 89 ++++++++ bow-ui/src/main/less/common/_bookmark.less | 78 +++++++ bow-ui/src/main/less/common/_button.less | 21 ++ bow-ui/src/main/less/common/_dropdown.less | 19 ++ bow-ui/src/main/less/common/_form.less | 26 +++ bow-ui/src/main/less/common/_icons.less | 87 ++++++++ bow-ui/src/main/less/common/_tags.less | 8 + bow-ui/src/main/less/common/_tools.less | 28 +++ .../bookmark.css => less/components/bookmark.less} | 169 +--------------- bow-ui/src/main/less/components/connexion.less | 12 ++ bow-ui/src/main/less/variables/_all.less | 3 + bow-ui/src/main/less/variables/_colors.less | 18 ++ bow-ui/src/main/less/variables/_globals.less | 7 + bow-ui/src/main/webapp/WEB-INF/decorators/main.jsp | 15 +- bow-ui/src/main/webapp/WEB-INF/jsp/home.jsp | 99 +++++---- .../src/main/webapp/WEB-INF/jsp/inc/bookmark.jsp | 225 ++++++++++----------- bow-ui/src/main/webapp/WEB-INF/jsp/inc/header.jsp | 115 +++++++---- .../src/main/webapp/WEB-INF/jsp/inc/rightMenu.jsp | 75 ------- .../src/main/webapp/WEB-INF/jsp/inc/tagsCloud.jsp | 4 +- bow-ui/src/main/webapp/font/icomoon.woff | Bin 0 -> 2836 bytes bow-ui/src/main/webapp/img/logobow.png | Bin 0 -> 1548 bytes 30 files changed, 962 insertions(+), 436 deletions(-) create mode 100644 bow-ui/src/main/less/base/_all.less create mode 100644 bow-ui/src/main/less/base/_footer.less create mode 100644 bow-ui/src/main/less/base/_header.less create mode 100644 bow-ui/src/main/less/base/_layout.less create mode 100644 bow-ui/src/main/less/bow.less create mode 100644 bow-ui/src/main/less/common/_all.less create mode 100644 bow-ui/src/main/less/common/_bookmark-grid.less create mode 100644 bow-ui/src/main/less/common/_bookmark-list.less create mode 100644 bow-ui/src/main/less/common/_bookmark.less create mode 100644 bow-ui/src/main/less/common/_button.less create mode 100644 bow-ui/src/main/less/common/_dropdown.less create mode 100644 bow-ui/src/main/less/common/_form.less create mode 100644 bow-ui/src/main/less/common/_icons.less create mode 100644 bow-ui/src/main/less/common/_tags.less create mode 100644 bow-ui/src/main/less/common/_tools.less copy bow-ui/src/main/{webapp/css/bookmark.css => less/components/bookmark.less} (64%) create mode 100644 bow-ui/src/main/less/components/connexion.less create mode 100644 bow-ui/src/main/less/variables/_all.less create mode 100644 bow-ui/src/main/less/variables/_colors.less create mode 100644 bow-ui/src/main/less/variables/_globals.less delete mode 100644 bow-ui/src/main/webapp/WEB-INF/jsp/inc/rightMenu.jsp create mode 100644 bow-ui/src/main/webapp/font/icomoon.woff create mode 100644 bow-ui/src/main/webapp/img/logobow.png -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch refonteUI-2017 in repository bow. See https://gitlab.nuiton.org/chorem/bow.git commit f77095acc073ff5b47a0d1b969eea822ebcfc5d5 Author: Léo Kaufmann <kaufmann@codelutin.com> Date: Wed Sep 6 19:17:09 2017 +0200 Refonte de l'UI : reprise de la refonte dans une nouvelle branche --- .gitignore | 1 + bow-ui/pom.xml | 25 ++ bow-ui/src/main/less/base/_all.less | 4 + bow-ui/src/main/less/base/_footer.less | 14 + bow-ui/src/main/less/base/_header.less | 80 ++++ bow-ui/src/main/less/base/_layout.less | 90 +++++ bow-ui/src/main/less/bow.less | 14 + bow-ui/src/main/less/common/_all.less | 10 + bow-ui/src/main/less/common/_bookmark-grid.less | 62 +++ bow-ui/src/main/less/common/_bookmark-list.less | 89 +++++ bow-ui/src/main/less/common/_bookmark.less | 78 ++++ bow-ui/src/main/less/common/_button.less | 21 ++ bow-ui/src/main/less/common/_dropdown.less | 19 + bow-ui/src/main/less/common/_form.less | 26 ++ bow-ui/src/main/less/common/_icons.less | 87 +++++ bow-ui/src/main/less/common/_tags.less | 8 + bow-ui/src/main/less/common/_tools.less | 28 ++ bow-ui/src/main/less/components/bookmark.less | 418 +++++++++++++++++++++ bow-ui/src/main/less/components/connexion.less | 12 + bow-ui/src/main/less/variables/_all.less | 3 + bow-ui/src/main/less/variables/_colors.less | 18 + bow-ui/src/main/less/variables/_globals.less | 7 + bow-ui/src/main/webapp/WEB-INF/decorators/main.jsp | 15 +- bow-ui/src/main/webapp/WEB-INF/jsp/home.jsp | 99 ++--- .../src/main/webapp/WEB-INF/jsp/inc/bookmark.jsp | 225 ++++++----- bow-ui/src/main/webapp/WEB-INF/jsp/inc/header.jsp | 115 ++++-- .../src/main/webapp/WEB-INF/jsp/inc/rightMenu.jsp | 75 ---- .../src/main/webapp/WEB-INF/jsp/inc/tagsCloud.jsp | 4 +- bow-ui/src/main/webapp/font/icomoon.woff | Bin 0 -> 2836 bytes bow-ui/src/main/webapp/img/logobow.png | Bin 0 -> 1548 bytes 30 files changed, 1371 insertions(+), 276 deletions(-) diff --git a/.gitignore b/.gitignore index 233f4da..eb3f5d5 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ target/* */*.iws */*.iml */.idea +bow-ui/src/main/webapp/generated-css/ diff --git a/bow-ui/pom.xml b/bow-ui/pom.xml index 9fd76c5..67bb555 100644 --- a/bow-ui/pom.xml +++ b/bow-ui/pom.xml @@ -413,6 +413,31 @@ </executions> </plugin> + <!-- Les CSS sont générés à partir de LESS dans le dossier src/main/webapp/resources/generated-css --> + <plugin> + <groupId>org.lesscss</groupId> + <artifactId>lesscss-maven-plugin</artifactId> + <version>1.7.0.1.1</version> + <configuration> + <sourceDirectory>${project.basedir}/src/main/less</sourceDirectory> + <outputDirectory>${project.basedir}/src/main/webapp/generated-css</outputDirectory> + <compress>false</compress> + <includes> + <include>**/*.less</include> + </includes> + <excludes> + <exclude>**/_*.less</exclude> + </excludes> + </configuration> + <executions> + <execution> + <goals> + <goal>compile</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> </build> diff --git a/bow-ui/src/main/less/base/_all.less b/bow-ui/src/main/less/base/_all.less new file mode 100644 index 0000000..fdb1d2e --- /dev/null +++ b/bow-ui/src/main/less/base/_all.less @@ -0,0 +1,4 @@ +// Import de tous les fichiers LESS du dossier +@import "_footer"; +@import "_header"; +@import "_layout"; diff --git a/bow-ui/src/main/less/base/_footer.less b/bow-ui/src/main/less/base/_footer.less new file mode 100644 index 0000000..84457bb --- /dev/null +++ b/bow-ui/src/main/less/base/_footer.less @@ -0,0 +1,14 @@ + +#footer{ + padding-top:30px; +} + +#footer a{ + color:#bf8a9c; +} + +#footer p{ + font-size:14px; + text-align:center; + line-height:50px; +} diff --git a/bow-ui/src/main/less/base/_header.less b/bow-ui/src/main/less/base/_header.less new file mode 100644 index 0000000..f91e087 --- /dev/null +++ b/bow-ui/src/main/less/base/_header.less @@ -0,0 +1,80 @@ +#header{ + background:#fff; + height:@default-header-height; + width:100%; + border-bottom: 1px solid @color-separation-border; +} +.header-logo { + height: @default-header-height - 2 * @default-marge--small; + + float: left; + + margin-left: @default-marge--large; + margin-top: @default-marge--small; + margin-right: @default-marge--medium; + + display: block; + + img { + height: 100%; + } +} + +#header-user-infos { + float: right; + + padding-right: @default-marge--large; + padding-left: @default-marge--small; + + background-color: @color-background-user-infos; + height: @default-header-height; + + .logout { + display: none; /* FIXME LK à virer */ + } +} + +.header-link { + height: @default-header-height; + line-height: @default-header-height; + + margin-right: @default-marge--small; + + display: inline-block; + vertical-align: middle; + + i { + line-height: inherit; + opacity: 0.5; + vertical-align: middle; + } +} + + +#header-search { + float: right; + + margin-right: @default-marge--small; + + border-bottom: 1px solid @color-separation-border; + + .header-search-label, + select, + input { + height: @default-header-height - 3 * @default-marge--small; + + margin-top: 1.5 * @default-marge--small; + + border: 0; + } + input { + width: 70px; + transition: width 1s 0s; + &:focus { + width: 200px; + } + } + form { + display: inline-block; + } +} \ No newline at end of file diff --git a/bow-ui/src/main/less/base/_layout.less b/bow-ui/src/main/less/base/_layout.less new file mode 100644 index 0000000..72175a1 --- /dev/null +++ b/bow-ui/src/main/less/base/_layout.less @@ -0,0 +1,90 @@ +*{ + padding:0; + margin:0; +} + +body{ + font-size: @defaut-font-size; + font-family:Verdana, Arial, Helvetica, sans-serif; +} + + +#page-wrap{ + clear:both; + float:left; + overflow-x:hidden; + overflow-y:visible; + position:relative; + width:100%; +} + + + + +#main .menu{ + margin: 0 auto; + clear:both; + border-bottom: 2px solid #804561; + text-align: center; +} + + +#main .counter { + +} + +#main .menu form{ + color:#9edcf8; + font-size:12px; +} + +#import .input input{ + width:90%; + margin-bottom:10px; +} + +.error{ + float:left; + color:red; + font-size:medium; + background-color:white; + overflow:auto; + margin-bottom:25px; + padding:4px; +} + +.errorMessage{ + font-weight:normal; + font-size:12px; + color:red; +} + +#actionmessageHeader{ + color:blue; + position:fixed; + left:25%; + top:12px; +} + +#actionerrorHeader{ + color:red; + position:relative; + left:25%; + top:12px; +} + +#actionmessageHeader ul, #actionerrorHeader ul{ + list-style-type:none; +} + +.fond { + background: #E0EDF3; + + padding:10px; +} + +form, .wwFormTable{ + color:#804561; + font-size:11px; + font-weight:bold; +} diff --git a/bow-ui/src/main/less/bow.less b/bow-ui/src/main/less/bow.less new file mode 100644 index 0000000..a7e61e9 --- /dev/null +++ b/bow-ui/src/main/less/bow.less @@ -0,0 +1,14 @@ +// out: ../webapp/generated-css/bow.css, sourcemap: true, compress: true + + +// Structure de fichiers pour organiser les fichiers LESS +// - base : Structure HTML, layout, classes utiles +// - components : Style pour chaque composant global +// - modules : Style pour chaque module indépendant +// - variables : Règles css globales (couleurs, police, ...) +// - vendors : CSS provenant des 3rd party +// Le fichier _print.less est inclus en dernier pour surcharger les autres + +@import "variables/_all"; +@import "base/_all"; +@import "common/_all"; diff --git a/bow-ui/src/main/less/common/_all.less b/bow-ui/src/main/less/common/_all.less new file mode 100644 index 0000000..66b9101 --- /dev/null +++ b/bow-ui/src/main/less/common/_all.less @@ -0,0 +1,10 @@ +// Import de tous les fichiers LESS du dossier +@import "_bookmark"; +@import "_bookmark-list"; +@import "_bookmark-grid"; +@import "_button"; +@import "_dropdown"; +@import "_form"; +@import "_icons"; +@import "_tags"; +@import "_tools"; diff --git a/bow-ui/src/main/less/common/_bookmark-grid.less b/bow-ui/src/main/less/common/_bookmark-grid.less new file mode 100644 index 0000000..241eca1 --- /dev/null +++ b/bow-ui/src/main/less/common/_bookmark-grid.less @@ -0,0 +1,62 @@ +.bookmarks-grid { + display: flex; + + .bookmark { + margin-left: 1%; + margin-right: 1%; + margin-bottom: @default-marge--small; + margin-top: @default-marge--small; + height:auto; + background-color: #f3f6f9; + } + + .bookmark-favicon { + width: 16px; + height: 16px; + float:left; + } + + .bookmark-description{ + margin:5px 5px; + color:#999999; + font-size:12px; + position: relative; + width: 100%; + } + + .bookmark-screenshot{ + width:100%; + + img { + width: 100%; + max-height: 150px; + } + } + + .bookmark-content { + } + + .bookmark-tags{ + color:#88516c; + background:url('../img/tag.jpg') no-repeat left center; + font-size:12px; + padding-left:30px; + height:auto; + width:100%; + line-height:28px; + padding-top:10px; + + & > a { + margin: 5px; + padding: 5px; + border: 1px solid #eee; + } + } + + .bookmark-nb-click{ + } + + .bookmark-actions { + display: none; + } +} \ No newline at end of file diff --git a/bow-ui/src/main/less/common/_bookmark-list.less b/bow-ui/src/main/less/common/_bookmark-list.less new file mode 100644 index 0000000..c2c9d7a --- /dev/null +++ b/bow-ui/src/main/less/common/_bookmark-list.less @@ -0,0 +1,89 @@ +@default-screenshot-width: 100px; + +@list-line-min-height: 75px; + +.bookmarks-list { + .bookmark { + width:100%; + height:auto; + min-height: @list-line-min-height; + clear: both; + background-color: #f3f6f9; + margin-bottom: @default-marge--small; + margin-top: @default-marge--small; + position: relative; + } + + .bookmark-favicon { + width: 16px; + height: 16px; + float:left; + margin-right: @default-marge--small; + } + + .bookmark-link { + color: @color-link; + } + + .bookmark-description { + margin:5px 5px; + color:#999999; + font-size:12px; + position: relative; + width: 100%; + } + + .bookmark-screenshot{ + float: left; + width: @default-screenshot-width; + height: @list-line-min-height; + } + + .bookmark-content { + margin-left: @default-screenshot-width + 15px; + + padding-top: @default-marge--small; + padding-right: 100px; + } + .bookmark-infos { + float: right; + width: 100px; + text-align: right; + } + + .bookmark-nb-click { + } + + .bookmark-tags{ + color:#88516c; + font-size:12px; + height:auto; + width:100%; + line-height:28px; + padding-top:10px; + + & > a { + margin: 5px; + border: 1px solid #eee; + } + } + + .bookmark-actions { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + overflow: hidden; + width: 0; + height: 0; + background: rgba(0,0,0,0.2); + transition: all 1s 0s ease; + } + + .bookmark:hover { + .bookmark-actions { + //width: 100%; + //height: 100%; + } + } +} \ No newline at end of file diff --git a/bow-ui/src/main/less/common/_bookmark.less b/bow-ui/src/main/less/common/_bookmark.less new file mode 100644 index 0000000..d9ccd10 --- /dev/null +++ b/bow-ui/src/main/less/common/_bookmark.less @@ -0,0 +1,78 @@ +#bookmarks-tags { + padding-left: @default-marge--large; + padding-right: @default-marge--large; + + background: #E9F2F5; + position: relative; + + .actions { + background: #F3F6F9; + width: 100px; + height: 100%; + position: absolute; + right: 0; + z-index: 99; + padding: 0 2em; + margin-right: 5%; + } + + .tag { + color: #7DBED2; + } +} + +#bookmarks-display-settings { + margin-left: @default-marge--large; + margin-right: @default-marge--large; + margin-bottom: @default-marge--small; + margin-top: @default-marge--medium; + + border-bottom: 1px solid @color-main; + color: @color-main; + position: relative; + text-align: center; +} + +#bookmarks-display-mode { + position: absolute; + bottom: 0; + left: @default-marge--small; +} + +#bookmarks-display-sort { + position: absolute; + bottom: 0; + right: @default-marge--small; +} + +#bookmarks { + padding-left: @default-marge--large; + padding-right: @default-marge--large; +} + + + +#bookmarks-tags { + margin-bottom: @default-marge--small; + + border-bottom: 1px solid @color-separation-border; + + .cloud { + padding-bottom: @default-marge--small; + padding-top: @default-marge--small; + margin-right: 250px; + } + + #bookmarks-tags-edition { + padding-top: @default-marge--small; + background-color: rgba(255,255,255,0.3); + position: absolute; + width: 250px; + right: 0; + height: 100%; + } +} + +.pagination { + text-align: center; +} diff --git a/bow-ui/src/main/less/common/_button.less b/bow-ui/src/main/less/common/_button.less new file mode 100644 index 0000000..1fc2551 --- /dev/null +++ b/bow-ui/src/main/less/common/_button.less @@ -0,0 +1,21 @@ + +a { + color: @color-link; + text-decoration: none; + + &:hover { + color: @color-link-hover; + } +} + +.button{ + margin-top:20px; + background:url('../img/fdboutonV.jpg') repeat-x; + height:31px; + line-height:31px; + color:#FFFFFF; + font-weight:bold; + border:none; + width:auto; + padding:2px; +} \ No newline at end of file diff --git a/bow-ui/src/main/less/common/_dropdown.less b/bow-ui/src/main/less/common/_dropdown.less new file mode 100644 index 0000000..43f741e --- /dev/null +++ b/bow-ui/src/main/less/common/_dropdown.less @@ -0,0 +1,19 @@ +.dropdown-menu { + position: relative; + + ul { + display: none; + } + + &:hover { + + ul { + display: block; + position: absolute; + right: 0; + top: 100%; + background: #888; + z-index: 999; + } + } +} \ No newline at end of file diff --git a/bow-ui/src/main/less/common/_form.less b/bow-ui/src/main/less/common/_form.less new file mode 100644 index 0000000..90b6b47 --- /dev/null +++ b/bow-ui/src/main/less/common/_form.less @@ -0,0 +1,26 @@ + + + +.recherche .input { + float: left; +} + +.user { + background: #CCC; +} + +.user a { + color: #888; + border-color: #888; +} + +.user #logout { + float: left; +} + + + +textarea{ + height:100px; + width:200px; +} \ No newline at end of file diff --git a/bow-ui/src/main/less/common/_icons.less b/bow-ui/src/main/less/common/_icons.less new file mode 100644 index 0000000..d023878 --- /dev/null +++ b/bow-ui/src/main/less/common/_icons.less @@ -0,0 +1,87 @@ +@font-face { + font-family: 'icomoon'; + src: url('../font/icomoon.eot?7t5stk'); + src: url('../font/icomoon.eot?7t5stk#iefix') format('embedded-opentype'), + url('../font/icomoon.ttf?7t5stk') format('truetype'), + url('../font/icomoon.woff?7t5stk') format('woff'), + url('../font/icomoon.svg?7t5stk#icomoon') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="icon-"], [class*=" icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'icomoon' !important; + speak: none; + font-size: 21px; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon--huge { + font-size: 60px; +} + +.icon--large { + font-size: 26px; +} + +.icon--small { + font-size: 16px; +} + +.icon--mini { + font-size: 12px; +} + +.icon-logout:before { + content: "\e907"; + //color: #979797; +} +.icon-settings:before { + content: "\e908"; + //color: #979797; +} +.icon-grid:before { + content: "\e909"; + //color: #157efb; +} +.icon-list:before { + content: "\e90a"; + //color: #157efb; +} +.icon-add:before { + content: "\e900"; + //color: #929292; +} +.icon-click:before { + content: "\e901"; + //color: #157efb; +} +.icon-lock:before { + content: "\e902"; + //color: #157efb; +} +.icon-search:before { + content: "\e903"; + //color: #929292; +} +.icon-star:before { + content: "\e904"; + //color: #157efb; +} +.icon-tag:before { + content: "\e905"; + //color: #157efb; +} +.icon-trash:before { + content: "\e906"; + //color: #929292; +} \ No newline at end of file diff --git a/bow-ui/src/main/less/common/_tags.less b/bow-ui/src/main/less/common/_tags.less new file mode 100644 index 0000000..a524f4b --- /dev/null +++ b/bow-ui/src/main/less/common/_tags.less @@ -0,0 +1,8 @@ +.cloud { + + +} + +.cloud-tag { + padding: 5px; +} \ No newline at end of file diff --git a/bow-ui/src/main/less/common/_tools.less b/bow-ui/src/main/less/common/_tools.less new file mode 100644 index 0000000..a979e46 --- /dev/null +++ b/bow-ui/src/main/less/common/_tools.less @@ -0,0 +1,28 @@ + +.clearfix:before, +.clearfix:after { + content:""; + display:table; +} +.clearfix:after { + clear:both; +} + +.clear { + clear: both; +} + +.left{ + float:left; +} + +.right{ + float:right; +} + +.centered-wrapper { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); +} \ No newline at end of file diff --git a/bow-ui/src/main/less/components/bookmark.less b/bow-ui/src/main/less/components/bookmark.less new file mode 100644 index 0000000..7b6acce --- /dev/null +++ b/bow-ui/src/main/less/components/bookmark.less @@ -0,0 +1,418 @@ +#page{ + margin: 15px 0 50px 0; +} + + +#main{ + clear:both; +} + +.content{ + width:90%; + margin: 0 auto; +} + +#side { + clear:right; + float:right; + position:relative; + right:73%; + width:27%; + display: none; /* FIXME LK : side to remove*/ +} + +.bookmark{ + width:100%; + height:auto; + clear: both; + background-color: #f3f6f9; + margin: 10px 0; +} + +.spacemax { + width: 100%; +} + +.bookmark .favicon { + width: 32px; + height: 32px; + float:left; +} + + + +.bookmark .bookmarkhead .screenshotLink{ + width:31px; + height:32px; + background:url('../img/camera.png') no-repeat; +} + +.bookmark .bookmarkhead .edit{ + background:url('../img/edit.jpg') no-repeat; + width:31px; + height:32px; +} + +.bookmark .bookmarkhead .supprim{ + background:url('../img/croix.jpg') no-repeat; + width:31px; + height:32px; +} + +.bookmark .bookmarkhead a{ + color:#FFF; + font-weight:bold; + font-size:14px; + display:block; + text-decoration:none; +} + +.bookmark .bookmarkhead .alias{ +} + +.bookmark .screenshot{ + float:left; + margin:5px 10px; + width:100px; + height:75px; + /*background:url('../img/livreG.jpg') no-repeat;*/ +} + +.bookmark .description{ + margin:5px 5px; + color:#999999; + font-size:12px; + position: relative; + width: 100%; +} + + +.bookmark .description .tags{ + color:#88516c; + background:url('../img/tag.jpg') no-repeat left center; + font-size:12px; + padding-left:30px; + height:auto; + width:100%; + line-height:28px; + padding-top:10px; + margin-bottom:-70px; +} + +.bookmark .description .tags .tag{ + margin-right:5px; + text-decoration:none; +} + +.bookmark .click{ + float:right; + width:31px; + text-align:center; +} + +.nobookmarks{ + font-size: large; + padding-left: 5px; +} + +a.help{ + background:transparent url('../img/aide.jpg') no-repeat scroll 0 0; + display:block; + height:34px; + text-indent:-99999px; + width:34px; + float:left; +} + + +#side #colonneD{ + font-size:14px; + color:#9edcf8; +} + +#colonneD{ + overflow-x:auto; + background-color:#804561; + margin-top: -2px; +} + +#colonneD a{ + font-size:12px; + color:#9edcf8; +} + +#colonneD ul.droite{ + padding:5% 10%; + border-bottom: 0 solid #9edcf8; +} + +#colonneD ul.droite li{ + list-style:none; + height:auto; + font-size:100%; +} + +#colonneD ul.droite li a{ + font-size:14px; + font-weight:normal; + text-decoration:none; + color:#9edcf8; +} + +#colonneD ul.droite li a:hover{ + text-decoration:underline; +} + +#colonneD #extensions h2 { + margin: 4% 0 0 10%; +} + +#colonneD #extensions li { + padding-bottom: 10px; +} + +#colonneD #extensions .extensionIcon { + float:left; + border:0 none; + margin-right:10px; +} + +#colonneD #extensions .extensionName { + padding: 4px 0 0 30px; +} + +#colonneD #nuage, +#colonneD #import, +#colonneD #add{ + padding:4% 10%; + border-bottom: 0 solid #9edcf8; +} + +#colonneD h2{ + color:#9edcf8; + font-size:140%; + font-weight:normal; +} + +#colonneD #add{ + height:auto; +} + +#colonneD #add form{ + clear:both; +} + +#colonneD form .input{ + padding:10px 0; +} + +#colonneD form input{ + width:50%; + border:none; + height:28px; + padding-left:4px; +} + +#colonneD #add form label{ + display:inline-block; + padding-right:9%; + text-align:right; + width:45px; +} + +#colonneD form input[type="submit"]{ + background:transparent url('../img/fondbouton.jpg') repeat-x scroll 0 0; + border:medium none; + color:#9C7186; + display:block; + float:right; + font-size:12px; + font-weight:bold; + height:28px; + line-height:28px; + position:relative; + right:20%; + text-align:center; + text-decoration:none; + width:25%; +} + +#colonneD #nuage{ + padding-right:80px; + min-height:100px; + text-align:justify; +} + +.colonnebas img{ + width:86%; + height:auto; + display:block; + position:relative; +} + +#import .input input{ + width:90%; + margin-bottom:10px; +} + + + +.formFrame{ + float: left; /* pour que le contenu en float ne deborde pas du cadre */ + width: 90%; + min-width:400px; +/* min-height: 315px; */ + position:relative; + margin-top:20px; + margin-bottom:20px; + margin-right:100px; + margin-left:40px; + padding-top:10px; + padding-bottom:10px; + padding-left:40px; + padding-right:70px; +} + +.formFrame ul{ + padding-left:10px; +} + +.formFrame h1{ + color:#804561; + width:225px; + position:relative; + margin:20px auto; +} + +.formFrame p{ + color:#804561; + font-size:11px; + font-weight:bold; + padding:15px 0; +} + +.formFrame p input[type="text"], td input[type="text"], +.formFrame p input[type="password"], td input[type="password"]{ + width:225px; +} + +.formFrame input[type="submit"]{ + margin-top:20px; + background:url('../img/fdboutonV.jpg') repeat-x; + height:31px; + line-height:31px; + color:#FFFFFF; + font-weight:bold; + border:none; + width:auto; + padding:2px; +} + +.formFrame p a{ + position:absolute; + color:#804561; + left:75px; + font-weight:bold; + font-size:12px; + margin-top:2px; +} + +.formFrame #homePage, +.formFrame #regenPermToken{ + bottom:50px; + left:185px; + font-size:10px; +} + +.formFrame p input, td input{ + margin-bottom:2px; +} + +.deleteImport{ + width:100%; + height:32px; + border:1px solid black; + margin-bottom:4px; + padding-top:10px; + padding-left:15px; +} + +.deleteImportPink{ + background-color:#BF8A9C; +} + +.deleteImportWhite{ + background-color:white; + margin-left:30px; +} + +.deleteImport span{ + color:blue; + font-size:large; +} + +.deleteImport .deleteImportButton{ + background:url('../img/croixtr.png') no-repeat; + width:31px; + height:32px; + float:right; + margin-right:15px; + position:relative; + top:-5px; +} + +#deleteSearchResultsButton{ + background:url('../img/croixtr.png') no-repeat; + width:31px; + height:32px; + float:right; + margin-left:25px; + margin-right:11px; +} + +.input label{ + color:#804561; +/* + font-size:20px; + font-weight:normal; + font-style:normal; + float:left; + margin-bottom:20px; + width:100%; +*/ +} + +#bookmarkForm label{ + margin-top:12px; + font-style:normal; +} + +#add h2{ + margin-bottom:20px; +} + +#adminActions li{ + list-style-type:none; + padding-bottom:15px; +} + +#adminActions li a{ + text-decoration:none; + color:#804561; + font-size:11px; + font-weight:bold; +} + +#labelsForm .list input{ + float: left; + clear:left; +} + +#labelsForm .list label { + float: left; +} + +#labelsForm .action { + float: left; + clear:left; +} diff --git a/bow-ui/src/main/less/components/connexion.less b/bow-ui/src/main/less/components/connexion.less new file mode 100644 index 0000000..10dbd1d --- /dev/null +++ b/bow-ui/src/main/less/components/connexion.less @@ -0,0 +1,12 @@ +// out: ../../webapp/generated-css/components/connexion.css, sourcemap: true, compress: true + +#header { + background:#FFFFFF; + height:30px; + box-shadow: 0px 2px 5px rgba(0,0,0,0.05); +} + +#header a.logo{ + background:transparent url('../img/logobow.png') no-repeat scroll 0 0; + height:25px; +} \ No newline at end of file diff --git a/bow-ui/src/main/less/variables/_all.less b/bow-ui/src/main/less/variables/_all.less new file mode 100644 index 0000000..07a3a31 --- /dev/null +++ b/bow-ui/src/main/less/variables/_all.less @@ -0,0 +1,3 @@ +// Import de tous les fichiers LESS du dossier +@import "_colors"; +@import "_globals"; diff --git a/bow-ui/src/main/less/variables/_colors.less b/bow-ui/src/main/less/variables/_colors.less new file mode 100644 index 0000000..0c98e84 --- /dev/null +++ b/bow-ui/src/main/less/variables/_colors.less @@ -0,0 +1,18 @@ +@color-purple : #804561; +@color-blue-1 : #7DBED2; +@color-blue-2 : darken(@color-blue-1, 25%); +@color-grey-1 : #DDD; +@color-grey-2 : #F5F5F5; + +@color-white-1 : #FFF; +@color-white-2 : #FAFBFC; + +@color-background : @color-white-1; +@color-background-user-infos : @color-grey-2; + +@color-link : @color-blue-1; +@color-link-hover : @color-blue-2; + +@color-main : @color-purple; + +@color-separation-border : @color-grey-1; \ No newline at end of file diff --git a/bow-ui/src/main/less/variables/_globals.less b/bow-ui/src/main/less/variables/_globals.less new file mode 100644 index 0000000..8f308c2 --- /dev/null +++ b/bow-ui/src/main/less/variables/_globals.less @@ -0,0 +1,7 @@ +@default-header-height: 50px; + +@defaut-font-size: 14px; + +@default-marge--small: 10px; +@default-marge--medium: 30px; +@default-marge--large: 50px; \ No newline at end of file diff --git a/bow-ui/src/main/webapp/WEB-INF/decorators/main.jsp b/bow-ui/src/main/webapp/WEB-INF/decorators/main.jsp index c87825e..4743a7c 100644 --- a/bow-ui/src/main/webapp/WEB-INF/decorators/main.jsp +++ b/bow-ui/src/main/webapp/WEB-INF/decorators/main.jsp @@ -49,26 +49,21 @@ <s:head /> <sj:head/> - <s:url var="bookmarkCSS" value="/css/bookmark.css" /> <s:url var="jqueryUiCSS" value="/css/jquery-ui-1.8.11.custom.bow.css" /> - <s:url var="globalCSS" value="/css/global.css" /> - <link href="${bookmarkCSS}" rel="stylesheet" type="text/css"/> + <s:url var="bowCSS" value="/generated-css/bow.css" /> <link href="${jqueryUiCSS}" rel="stylesheet" type="text/css" media="all" /> - <link href="${globalCSS}" rel="stylesheet" type="text/css" media="all" /> + <link href="${bowCSS}" rel="stylesheet" type="text/css" media="all" /> <s:url var="bookmarkJS" value="/js/bookmark.js" /> <script type="text/javascript" src="${bookmarkJS}"></script> </head> - <body id="page-home"> - <div id="wrap"> + <body> + <div id="page-wrap"> <div id="page"> <%@include file="/WEB-INF/jsp/inc/header.jsp" %> - <div id="main"> + <div id="page-content"> <decorator:body /> </div> - <s:if test="%{#session.BowSession.user != null}"> - <jsp:include page="/WEB-INF/jsp/inc/rightMenu.jsp" /> - </s:if> </div> </div> <%@include file="/WEB-INF/jsp/inc/footer.jsp" %> diff --git a/bow-ui/src/main/webapp/WEB-INF/jsp/home.jsp b/bow-ui/src/main/webapp/WEB-INF/jsp/home.jsp index db4b961..5e17aba 100644 --- a/bow-ui/src/main/webapp/WEB-INF/jsp/home.jsp +++ b/bow-ui/src/main/webapp/WEB-INF/jsp/home.jsp @@ -29,60 +29,75 @@ <title><s:text name="bow.search.title" /></title> </head> <body> - <div class="menu clearfix"> - <h2> - <s:if test="first - bowSession.user.bookmarks >= 0"> - <s:url var="prev" action="home"> + <div id="bookmarks-tags"> + <div id="bookmarks-tags-edition"> + <s:set name="bookmarksToDelete" value="%{searchResult.bookmarkCount}" /> + <s:if test="%{#bookmarksToDelete > 0}"> + <s:url var="deleteSearchResults" action="deleteSearchResults" escapeAmp="false"> <s:param name="tagLine" value="%{tagLine}" /> <s:param name="fullTextLine" value="%{fullTextLine}" /> <s:param name="order" value="%{order}"/> - <s:param name="first" value="%{first - bowSession.user.bookmarks}"/> </s:url> - <s:a href="%{prev}"><<</s:a> + <s:a id="deleteSearchResultsButton" title="delete all" href="" onclick="deleteConfirmation('%{deleteSearchResults}', %{#bookmarksToDelete}); return(false);">Supprimer</s:a> </s:if> + </div> + <jsp:include page="inc/tagsCloud.jsp" flush="true"/> + </div> - <s:property value="%{first+1}"/>-<s:property value="%{first + bowSession.user.bookmarks}"/>/<s:property value="%{searchResult.bookmarkCount}"/> + <div id="bookmarks-display-settings" class="menu clearfix"> + <div id="bookmarks-display-mode"> + <i class="icon-grid"></i> + <i class="icon-list"></i> + </div> - <s:if test="first + bowSession.user.bookmarks < searchResult.bookmarkCount"> - <s:url var="next" action="home"> - <s:param name="tagLine" value="%{tagLine}" /> - <s:param name="fullTextLine" value="%{fullTextLine}" /> - <s:param name="order" value="%{order}"/> - <s:param name="first" value="%{first + bowSession.user.bookmarks}"/> - </s:url> - <s:a href="%{next}">>></s:a> - </s:if> - </h2> - - <s:set name="bookmarksToDelete" value="%{searchResult.bookmarkCount}" /> - <s:if test="%{#bookmarksToDelete > 0}"> - <s:url var="deleteSearchResults" action="deleteSearchResults" escapeAmp="false"> + <div id="bookmarks-display-sort"> + <s:form action="home" method="get" theme="simple"> + <label for="order"><s:text name="bow.search.orderby" /></label> + <s:select id="order" name="order" list="possibleOrder"/> + <s:submit key="bow.search.submit" name="submit" /> + <s:hidden name="tagLine" value="%{tagLine}" /> + <s:hidden name="fullTextLine" value="%{fullTextLine}" /> + <s:hidden name="first" value="%{first}" /> + </s:form> + </div> + + <b><s:property value="%{searchResult.bookmarkCount}"/></b> résultats + </div> + + <div id="bookmarks" class="bookmarks-grid"> + <s:if test="searchResult.bookmarks.empty"> + <p class="nobookmarks"><s:text name="bow.bookmarks.noBookmarks" /></p> + </s:if> + <s:else> + <s:iterator value="searchResult.bookmarks" var="bookmark"> + <s:set name="bookmark" value="bookmark"/> + <s:set name="auths" value="searchResult.getAuthentication(#bookmark)"/> + <jsp:include page="inc/bookmark.jsp" flush="true"/> + </s:iterator> + </s:else> + </div> + + <div class="pagination"> + <s:if test="first - bowSession.user.bookmarks >= 0"> + <s:url var="prev" action="home"> + <s:param name="tagLine" value="%{tagLine}" /> + <s:param name="fullTextLine" value="%{fullTextLine}" /> + <s:param name="order" value="%{order}"/> + <s:param name="first" value="%{first - bowSession.user.bookmarks}"/> + </s:url> + <s:a href="%{prev}"><<</s:a> + </s:if> + + <s:property value="%{first+1}"/>-<s:property value="%{first + bowSession.user.bookmarks}"/> + + <s:if test="first + bowSession.user.bookmarks < searchResult.bookmarkCount"> + <s:url var="next" action="home"> <s:param name="tagLine" value="%{tagLine}" /> <s:param name="fullTextLine" value="%{fullTextLine}" /> <s:param name="order" value="%{order}"/> + <s:param name="first" value="%{first + bowSession.user.bookmarks}"/> </s:url> - <s:a id="deleteSearchResultsButton" title="delete all" href="" onclick="deleteConfirmation('%{deleteSearchResults}', %{#bookmarksToDelete}); return(false);"></s:a> </s:if> - <s:form action="home" method="get" theme="simple"> - <label for="order"><s:text name="bow.search.orderby" /></label> - <s:select id="order" name="order" list="possibleOrder"/> - <s:submit key="bow.search.submit" name="submit" /> - <s:hidden name="tagLine" value="%{tagLine}" /> - <s:hidden name="fullTextLine" value="%{fullTextLine}" /> - <s:hidden name="first" value="%{first}" /> - </s:form> </div> - <div class="content"> - <s:if test="searchResult.bookmarks.empty"> - <p class="nobookmarks"><s:text name="bow.bookmarks.noBookmarks" /></p> - </s:if> - <s:else> - <s:iterator value="searchResult.bookmarks" var="bookmark"> - <s:set name="bookmark" value="bookmark"/> - <s:set name="auths" value="searchResult.getAuthentication(#bookmark)"/> - <jsp:include page="inc/bookmark.jsp" flush="true"/> - </s:iterator> - </s:else> - </div> </body> </html> diff --git a/bow-ui/src/main/webapp/WEB-INF/jsp/inc/bookmark.jsp b/bow-ui/src/main/webapp/WEB-INF/jsp/inc/bookmark.jsp index 248cc28..ec23078 100644 --- a/bow-ui/src/main/webapp/WEB-INF/jsp/inc/bookmark.jsp +++ b/bow-ui/src/main/webapp/WEB-INF/jsp/inc/bookmark.jsp @@ -25,136 +25,135 @@ <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <%@taglib uri="/WEB-INF/bowutils" prefix="u" %> -<div class="bookmark"bow +<div class="bookmark clearfix" xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" xmlns:jsp="http://java.sun.com/JSP/Page"> - <div class="bookmarkhead"> - <span class="left"> - <s:set var="favicon" value="#bookmark.favicon"/> - <c:if test="${fn:length(favicon) > 0}"> - <img class="favicon" src="data:image/png;base64,${u:base64(favicon)}"/> - </c:if> - <c:if test="${fn:length(favicon) <= 0}"> - <img src="img/ptit-livre.jpg"/> - </c:if> - </span> - <span class="left date"><s:property value="#bookmark.creationDate"/></span> - <span class="left"> + <div class="bookmark-screenshot"> + <s:a title="%{#bookmark.link}" href="alias/%{#bookmark.wikittyId}.action" target="_blank"> + <div class="screenshot"> + <s:set var="screenshot" value="#bookmark.screenshot"/> + <c:if test="${fn:length(screenshot) > 0}"> + <img src="data:image/png;base64,${u:base64(screenshot)}"/> + </c:if> + </div> + </s:a> + </div> + + <div class="bookmark-content"> + <s:set var="favicon" value="#bookmark.favicon"/> + <c:if test="${fn:length(favicon) > 0}"> + <img class="bookmark-favicon" src="data:image/png;base64,${u:base64(favicon)}"/> + </c:if> + + <s:a href="alias/%{#bookmark.wikittyId}.action" cssClass="bookmark-link"><s:property value="%{#bookmark.link}"/></s:a> + + <div class="bookmark-tags"> + <s:iterator value="#bookmark.labels" var="tag"> + <s:url var="search" action="home"> + <s:param name="addTag" value="%{#tag}"/> + <s:param name="tagLine" value="%{tagLine}"/> + <s:param name="fullTextLine" value="%{fullTextLine}"/> + <s:param name="order" value="%{order}"/> + <%-- on ne met pas 'first', il faut repartir de 0 --%> + </s:url> + <s:a href="%{search}" cssClass="tag"><s:property value="%{#tag}"/></s:a> + </s:iterator> + </div> + + <div class="bookmark-infos"> + + <div class="bookmark-alias"> <s:if test="%{!#bookmark.privateAlias.empty}"> <s:a cssClass="alias" href="%{config.aliasUrl + #bookmark.wikittyId}.action" title="%{#bookmark.link}" target="_blank"> a:<s:property value="%{#bookmark.privateAlias}" /> </s:a> </s:if> - </span> - <span class="left"> + <s:if test="%{!#bookmark.publicAlias.empty}"> <s:a cssClass="alias" href="%{config.aliasUrl + #bookmark.publicAlias}.action" title="%{#bookmark.link}" target="_blank"> a:<s:property value="%{#bookmark.publicAlias}" /> </s:a> </s:if> - </span> - <span class="spacemax"></span> - <span class="right"> - <s:url var="screenshotBookmark" action="screenshotBookmark" escapeAmp="true"> - <s:param name="id" value="%{#bookmark.wikittyId}" /> - <s:param name="tagLine" value="%{tagLine}" /> - <s:param name="fullTextLine" value="%{fullTextLine}" /> - <s:param name="order" value="%{order}"/> - <s:param name="first" value="%{first}"/> - </s:url> - <s:a cssClass="screenshotLink" href="%{screenshotBookmark}"/> - </span> - <span class="right"> - <s:url var="authenticationEdit" action="authenticationEdit" escapeAmp="true"> - <s:param name="bookmarkId" value="%{#bookmark.wikittyId}" /> - <s:param name="tagLine" value="%{tagLine}" /> - <s:param name="fullTextLine" value="%{fullTextLine}" /> - <s:param name="order" value="%{order}"/> - <s:param name="first" value="%{first}"/> - </s:url> - <s:a cssClass="edit-authentication" href="%{authenticationEdit}"/> - </span> - <span class="right"> - <s:url var="editBookmark" action="editBookmark" escapeAmp="true"> - <s:param name="id" value="%{#bookmark.wikittyId}" /> - <s:param name="tagLine" value="%{tagLine}" /> - <s:param name="fullTextLine" value="%{fullTextLine}" /> - <s:param name="order" value="%{order}"/> - <s:param name="first" value="%{first}"/> - </s:url> - <s:a cssClass="edit" href="%{editBookmark}"/> - </span> - <span class="right"> - <s:url var="removeBookmark" action="removeBookmark" escapeAmp="true"> - <s:param name="bookmarkId" value="%{#bookmark.wikittyId}" /> - <s:param name="tagLine" value="%{tagLine}" /> - <s:param name="fullTextLine" value="%{fullTextLine}" /> - <s:param name="order" value="%{order}"/> - <s:param name="first" value="%{first}"/> - </s:url> - <s:a cssClass="supprim" href="%{removeBookmark}" - onclick="return deleteConfirmation('%{#removeBookmark}','%{#bookmark.link}');"></s:a> - </span> + </div> + <span class="bookmark-creation-date"><s:property value="#bookmark.creationDate"/></span> + + <div class="bookmark-nb-click"><s:property value="%{#bookmark.click}" /></div> </div> - <div class="bookmarkcontenu"> - <s:a title="%{#bookmark.link}" href="alias/%{#bookmark.wikittyId}.action" target="_blank"> - <div class="screenshot"> - <s:set var="screenshot" value="#bookmark.screenshot"/> - <c:if test="${fn:length(screenshot) > 0}"> - <img src="data:image/png;base64,${u:base64(screenshot)}"/> - </c:if> - <c:if test="${fn:length(screenshot) <= 0}"> - <img src="img/livreG.jpg"/> - </c:if> - </div> - </s:a> - <div class="click"><s:property value="%{#bookmark.click}" /></div> - <div class="description"> - <p> - <s:a href="alias/%{#bookmark.wikittyId}.action"><s:property value="%{#bookmark.link}"/></s:a> - </p> - <h3><s:text name="bow.bookmark.description" /> :</h3> - <div class="markdown"> - ${u:toHtml(bookmark.description)} - </div> - <s:iterator value="#auths" var="auth"> - <s:set name="auth" value="auth"/> - <s:if test="#auth != null"> - <h3> - <s:text name="bow.bookmark.authentication" /> : - <a class="scriptlet" href="${u:scriptletPassword(auth)}">BowPwd${bookmark.privateAlias}</a> - <a class="script" href="${u:scriptPassword(auth)}" download="BowPwd${bookmark.privateAlias}.sh">BowPwd${bookmark.privateAlias}.sh</a> - </h3> - <s:if test="!#auth.description.empty"> - <div class="markdown"> - ${u:toHtml(auth.description)} - </div> - </s:if> - <s:if test="!#auth.form.empty"> - <div class="markdown"> - ${u:toHtml(auth.form)} - </div> - </s:if> - </s:if> - </s:iterator> - <p class="tags"> - <strong><s:text name="bow.bookmark.tags" /> :</strong> - <s:iterator value="#bookmark.labels" var="tag"> - <s:url var="search" action="home"> - <s:param name="addTag" value="%{#tag}"/> - <s:param name="tagLine" value="%{tagLine}"/> - <s:param name="fullTextLine" value="%{fullTextLine}"/> - <s:param name="order" value="%{order}"/> - <%-- on ne met pas 'first', il faut repartir de 0 --%> - </s:url> - <s:a href="%{search}" cssClass="tag"><s:property value="%{#tag}"/></s:a> - </s:iterator> - </p> - </div> + <div class="bookmark-description"> + ${u:toHtml(bookmark.description)} + </div> + + <div class="bookmark-authentification"> + <s:iterator value="#auths" var="auth"> + <s:set name="auth" value="auth"/> + <s:if test="#auth != null"> + <h3> + <s:text name="bow.bookmark.authentication" /> : + <a class="scriptlet" href="${u:scriptletPassword(auth)}">BowPwd${bookmark.privateAlias}</a> + <a class="script" href="${u:scriptPassword(auth)}" download="BowPwd${bookmark.privateAlias}.sh">BowPwd${bookmark.privateAlias}.sh</a> + </h3> + <s:if test="!#auth.description.empty"> + <div class="markdown"> + ${u:toHtml(auth.description)} + </div> + </s:if> + <s:if test="!#auth.form.empty"> + <div class="markdown"> + ${u:toHtml(auth.form)} + </div> + </s:if> + </s:if> + </s:iterator> </div> + <div class="bookmark-actions"> + <div class="centered-wrapper"> + <span> + <s:url var="editBookmark" action="editBookmark" escapeAmp="true"> + <s:param name="id" value="%{#bookmark.wikittyId}" /> + <s:param name="tagLine" value="%{tagLine}" /> + <s:param name="fullTextLine" value="%{fullTextLine}" /> + <s:param name="order" value="%{order}"/> + <s:param name="first" value="%{first}"/> + </s:url> + <s:a cssClass="edit" href="%{editBookmark}">Éditer</s:a> + </span> + <span> + <s:url var="screenshotBookmark" action="screenshotBookmark" escapeAmp="true"> + <s:param name="id" value="%{#bookmark.wikittyId}" /> + <s:param name="tagLine" value="%{tagLine}" /> + <s:param name="fullTextLine" value="%{fullTextLine}" /> + <s:param name="order" value="%{order}"/> + <s:param name="first" value="%{first}"/> + </s:url> + <s:a cssClass="screenshotLink" href="%{screenshotBookmark}">Screenshot</s:a> + </span> + <span> + <s:url var="authenticationEdit" action="authenticationEdit" escapeAmp="true"> + <s:param name="bookmarkId" value="%{#bookmark.wikittyId}" /> + <s:param name="tagLine" value="%{tagLine}" /> + <s:param name="fullTextLine" value="%{fullTextLine}" /> + <s:param name="order" value="%{order}"/> + <s:param name="first" value="%{first}"/> + </s:url> + <s:a cssClass="edit-authentication" href="%{authenticationEdit}">Authentification</s:a> + </span> + <span> + <s:url var="removeBookmark" action="removeBookmark" escapeAmp="true"> + <s:param name="bookmarkId" value="%{#bookmark.wikittyId}" /> + <s:param name="tagLine" value="%{tagLine}" /> + <s:param name="fullTextLine" value="%{fullTextLine}" /> + <s:param name="order" value="%{order}"/> + <s:param name="first" value="%{first}"/> + </s:url> + <s:a cssClass="supprim" href="%{removeBookmark}" + onclick="return deleteConfirmation('%{#removeBookmark}','%{#bookmark.link}');">Supprimer</s:a> + </span> + </div> + </div> + </div> </div> diff --git a/bow-ui/src/main/webapp/WEB-INF/jsp/inc/header.jsp b/bow-ui/src/main/webapp/WEB-INF/jsp/inc/header.jsp index be54286..06f331e 100644 --- a/bow-ui/src/main/webapp/WEB-INF/jsp/inc/header.jsp +++ b/bow-ui/src/main/webapp/WEB-INF/jsp/inc/header.jsp @@ -24,45 +24,92 @@ <div id="header" xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" xmlns:jsp="http://java.sun.com/JSP/Page"> - <div> - <s:if test="%{#session.BowSession.user != null}"> - <s:url var="homeToken" action="home"> - <s:param name="token" value="%{#session.BowSession.getPermanentToken()}" /> - </s:url> - <s:a cssClass="logo" href="%{homeToken}">bow</s:a> - </s:if> - <s:else> - <s:a cssClass="logo" action="home">bow</s:a> - </s:else> - </div> + <s:if test="%{#session.BowSession.user != null}"> - <div class="recherche right"> - <h3><s:text name="bow.rightMenu.search" /></h3> - <div class="input"> - <s:form action="home" theme="simple"> - <s:textfield name="tagLine" labelSeparator="" /> - <s:hidden name="order" value="%{order}"/> - <s:hidden name="token" value="%{#session.BowSession.getPermanentToken()}"/> - <s:submit key="bow.rightMenu.search.tags" name="submit" /> - </s:form> - </div> - <div class="input"> - <s:form action="home" theme="simple"> - <s:textfield name="fullTextLine" labelSeparator="" /> - <s:hidden name="order" value="%{order}"/> - <s:hidden name="token" value="%{#session.BowSession.getPermanentToken()}"/> - <s:submit key="bow.rightMenu.fullTextSearch" name="submit" /> - </s:form> + <s:url var="homeToken" action="home"> + <s:param name="token" value="%{#session.BowSession.getPermanentToken()}" /> + </s:url> + <s:a cssClass="header-logo" action="home"> + <img src="img/logobow.png" alt="Bow" /> + </s:a> + </s:if> + <s:else> + <s:a cssClass="header-logo" action="home"> + <img src="img/logobow.png" alt="Bow" /> + </s:a> + </s:else> + + <s:url var="editBookmark" action="editBookmark" escapeAmp="true"> + <s:param name="tagLine"><s:property value="%{tagLine}" /></s:param> + <s:param name="fullTextLine"><s:property value="%{fullTextLine}" /></s:param> + <s:param name="order" value="%{order}"/> + <s:param name="first" value="%{first}"/> + </s:url> + <s:a href="%{editBookmark}" class="header-link"> + <i class="icon-add icon--large"></i> + <s:text name="bow.rightMenu.addUrl.link" /> + </s:a> + + <s:if test="%{#session.BowSession.user != null}"> + <div id="header-user-infos"> + <div class="dropdown-menu header-link"> + <i class="icon-settings"></i> + <ul> + <li> + <a href="http://maven-site.chorem.org/bow/" class="help" target="_blank"> + <s:text name="bow.rightMenu.help" /> + </a> + </li> + <s:if test="!bowSession.user.extensionNames.contains('BowSharedUser')"> + <li><s:a action="groupView"><s:text name="bow.groupView.title" /></s:a></li> + <li><s:a action="sharedUserView"><s:text name="bow.sharedUserView.title" /></s:a></li> + </s:if> + <s:if test="bowSession.admin"> + <li><s:a action="fragment/callStatistic">CallStatistic</s:a></li> + <li><s:a action="admin"><s:text name="bow.rightMenu.admin" /></s:a></li> + </s:if> + </ul> </div> - <div class="input"> - <s:form action="openSearchResult" theme="simple"> - <s:hidden name="token" value="%{#session.BowSession.getPermanentToken()}"/> - <s:textfield name="q" labelSeparator="" /> - <s:submit key="bow.rightMenu.externSearchEngine" name="submit" /> + <s:if test="!bowSession.user.extensionNames.contains('BowSharedUser')"> + <s:a action="preferences" cssClass="header-link">${bowSession.user.login}</s:a> + <s:form action="logout" theme="simple" class="logout"> + <s:submit key="bow.rightMenu.logout" name="submit" cssClass="icon-logout" /> </s:form> - </div> + + <s:a href="" class="header-link"> + <i class="icon-logout icon"></i> + </s:a> + </s:if> </div> </s:if> + + <div id="header-search"> + <span class="header-search-label"> + <i class="icon-search icon"></i> Recherche + </span> + <select> + <option value="tag">Par tag</option> + <option value="fulltext">Full text</option> + </select> + <s:form action="home" theme="simple"> + <s:textfield name="tagLine" labelSeparator="" /> + <s:hidden name="order" value="%{order}"/> + <s:hidden name="token" value="%{#session.BowSession.getPermanentToken()}"/> + </s:form> + <!-- <s:form action="home" theme="simple"> + <s:textfield name="fullTextLine" labelSeparator="" /> + <s:hidden name="order" value="%{order}"/> + <s:hidden name="token" value="%{#session.BowSession.getPermanentToken()}"/> + </s:form> --> + <!--div class="search-tag"> + <s:form action="openSearchResult" theme="simple"> + <s:hidden name="token" value="%{#session.BowSession.getPermanentToken()}"/> + <s:textfield name="q" labelSeparator="" /> + <s:submit key="bow.rightMenu.externSearchEngine" name="submit" /> + </s:form> + </div--> + </div> + <div id="msg"> <span id="actionmessageHeader"> <s:actionmessage /> diff --git a/bow-ui/src/main/webapp/WEB-INF/jsp/inc/rightMenu.jsp b/bow-ui/src/main/webapp/WEB-INF/jsp/inc/rightMenu.jsp deleted file mode 100644 index 255c79d..0000000 --- a/bow-ui/src/main/webapp/WEB-INF/jsp/inc/rightMenu.jsp +++ /dev/null @@ -1,75 +0,0 @@ -<%-- - #%L - BOW UI - %% - Copyright (C) 2010 CodeLutin - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --%> -<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> -<%@taglib prefix="s" uri="/struts-tags" %> -<%@taglib prefix="sj" uri="/struts-jquery-tags" %> - -<sj:dialog id="editBookmark" - title="Ajout/Modification d'un bookmark" - modal="true" - autoOpen="false" /> - -<div id="logoutDiv" xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" - xmlns:jsp="http://java.sun.com/JSP/Page"> - <s:if test="!bowSession.user.extensionNames.contains('BowSharedUser')"> - ${bowSession.user.login} - <s:form action="logout" theme="simple"> - <div class="input"> - <s:submit key="bow.rightMenu.logout" name="submit" /> - </div> - </s:form> - </s:if> - <a href="http://maven-site.chorem.org/bow/" class="help" target="_blank"> - <s:text name="bow.rightMenu.help" /> - </a> -</div> - -<div id="side" xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" - xmlns:jsp="http://java.sun.com/JSP/Page"> - <div id="colonneD"> - <ul class="droite"> - <s:if test="!bowSession.user.extensionNames.contains('BowSharedUser')"> - <s:if test="bowSession.admin"> - <li><s:a action="fragment/callStatistic">CallStatistic</s:a></li> - <li><s:a action="admin"><s:text name="bow.rightMenu.admin" /></s:a></li> - </s:if> - <li><s:a action="preferences"><s:text name="bow.preferences.title" /></s:a></li> - <li> - <s:url var="editBookmark" action="editBookmark" escapeAmp="true"> - <s:param name="tagLine"><s:property value="%{tagLine}" /></s:param> - <s:param name="fullTextLine"><s:property value="%{fullTextLine}" /></s:param> - <s:param name="order" value="%{order}"/> - <s:param name="first" value="%{first}"/> - </s:url> - <s:a href="%{editBookmark}"> - <s:text name="bow.rightMenu.addUrl.link" /> - </s:a> - </li> - <li><s:a action="groupView"><s:text name="bow.groupView.title" /></s:a></li> - <li><s:a action="sharedUserView"><s:text name="bow.sharedUserView.title" /></s:a></li> - </s:if> - </ul> - <!--div id="nuage"--> - <jsp:include page="tagsCloud.jsp" flush="true"/> - <!--/div--> - <div class="colonnebas"> - <img src="img/piedmenu.jpg" width="401" height="77" alt="Pied de menu" /> - </div> - </div> -</div> diff --git a/bow-ui/src/main/webapp/WEB-INF/jsp/inc/tagsCloud.jsp b/bow-ui/src/main/webapp/WEB-INF/jsp/inc/tagsCloud.jsp index 45b24b9..da7bcca 100644 --- a/bow-ui/src/main/webapp/WEB-INF/jsp/inc/tagsCloud.jsp +++ b/bow-ui/src/main/webapp/WEB-INF/jsp/inc/tagsCloud.jsp @@ -21,7 +21,7 @@ <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@taglib prefix="s" uri="/struts-tags" %> -<div id="nuage" +<div class="cloud" xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" xmlns:jsp="http://java.sun.com/JSP/Page"> <s:iterator value="%{searchResult.tagsCloud}" status="tagStatus" var="tag"> @@ -33,7 +33,7 @@ <%-- on ne met pas 'first', il faut repartir de 0 --%> </s:url> <!-- --> - <s:a href="%{search}" title="%{#tag.count} results" cssClass="tag" + <s:a href="%{search}" title="%{#tag.count} results" cssClass="cloud-tag" cssStyle="font-size: %{searchResult.getFont(#tag.count)}px"> <s:property value="%{#tag.topicName}" /> </s:a> diff --git a/bow-ui/src/main/webapp/font/icomoon.woff b/bow-ui/src/main/webapp/font/icomoon.woff new file mode 100644 index 0000000..ab5b1dc Binary files /dev/null and b/bow-ui/src/main/webapp/font/icomoon.woff differ diff --git a/bow-ui/src/main/webapp/img/logobow.png b/bow-ui/src/main/webapp/img/logobow.png new file mode 100644 index 0000000..19e350b Binary files /dev/null and b/bow-ui/src/main/webapp/img/logobow.png differ -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm