From 5ca8f4239670345c517335559fb67e626bb92bef Mon Sep 17 00:00:00 2001 From: Minh Tran Date: Wed, 16 May 2012 14:25:22 +0200 Subject: [PATCH 01/10] [IMP] Fixed kanban view problems bzr revid: mit@openerp.com-20120516122522-du590ixokm32z19r --- addons/web/static/src/css/base.css | 9 ++++++++- addons/web/static/src/css/base.sass | 7 ++++++- addons/web_kanban/static/src/js/kanban.js | 2 +- addons/web_kanban/static/src/xml/web_kanban.xml | 4 ++-- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 5d2102630cb..6f5296315ae 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1942,6 +1942,14 @@ .openerp .oe-listview-content .numeric input { text-align: right; } +.openerp .oe_kanban_view { + position: absolute; + top: 110px; + bottom: 0; +} +.openerp .oe_kanban_groups { + height: 100%; +} .openerp .oe_kanban_group_title { margin: 1px 1px 4px; font-size: 15px; @@ -1949,7 +1957,6 @@ text-shadow: 0 1px 0 white; } .openerp .oe_kanban_column, .openerp .oe_kanban_group_header { - width: 240px; vertical-align: top; padding: 6px 7px 6px 6px; background: #f0eeee; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 567732ed080..071d5b3eeca 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -1614,13 +1614,18 @@ $colour4: #8a89ba text-align: right // }}} // KanbanView {{{ + .oe_kanban_view + position: absolute + top: 110px + bottom: 0 + .oe_kanban_groups + height: 100% .oe_kanban_group_title margin: 1px 1px 4px font-size: 15px font-weight: bold text-shadow: 0 1px 0 white .oe_kanban_column, .oe_kanban_group_header - width: 240px vertical-align: top padding: 6px 7px 6px 6px background: #f0eeee diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 0fec031d4da..19f1bdcf10a 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -371,7 +371,7 @@ instance.web_kanban.KanbanGroup = instance.web.OldWidget.extend({ if (self.quick) { return; } self.quick = new instance.web_kanban.QuickCreate(this) .on('added', self, self.proxy('quick_add')); - self.quick.appendTo(self.$element.find('.oe_kanban_group_header')); + self.quick.appendTo(self.$element.find('.oe_kanban_header')); }); this.$records.find('.oe_kanban_show_more').click(this.do_show_more); if (this.state.folded) { diff --git a/addons/web_kanban/static/src/xml/web_kanban.xml b/addons/web_kanban/static/src/xml/web_kanban.xml index e5e0dffba93..cec843d8aff 100644 --- a/addons/web_kanban/static/src/xml/web_kanban.xml +++ b/addons/web_kanban/static/src/xml/web_kanban.xml @@ -16,9 +16,9 @@ - + -
+
From e994580e1dd25452ae0841d37da86891759e7a46 Mon Sep 17 00:00:00 2001 From: Minh Tran Date: Wed, 16 May 2012 18:01:59 +0200 Subject: [PATCH 02/10] some improvements to kanban view bzr revid: mit@openerp.com-20120516160159-pnb6twf5oox356gs --- addons/web/static/src/css/base.sass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 071d5b3eeca..670696e025d 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -1616,7 +1616,7 @@ $colour4: #8a89ba // KanbanView {{{ .oe_kanban_view position: absolute - top: 110px + top: 111px bottom: 0 .oe_kanban_groups height: 100% @@ -1631,6 +1631,8 @@ $colour4: #8a89ba background: #f0eeee border-left: 1px solid #f0f8f8 border-right: 1px solid #b9b9b9 + .oe_kanban_column + height: 100% .oe_kanban_record position: relative display: block From a49e0e43db1298ae43ad5ba01745f28affeaa265 Mon Sep 17 00:00:00 2001 From: Minh Tran Date: Fri, 18 May 2012 14:52:03 +0200 Subject: [PATCH 03/10] Restyling of kanban column header bzr revid: mit@openerp.com-20120518125203-1vc4k0s5vr9pwbwy --- addons/web/static/src/css/base.sass | 2 ++ addons/web_kanban/static/src/css/kanban.css | 15 --------------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 670696e025d..cba50aa6279 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -1633,6 +1633,8 @@ $colour4: #8a89ba border-right: 1px solid #b9b9b9 .oe_kanban_column height: 100% + .oe_kanban_aggregates + padding: 0 .oe_kanban_record position: relative display: block diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css index c74b038d1a6..73e7d060632 100644 --- a/addons/web_kanban/static/src/css/kanban.css +++ b/addons/web_kanban/static/src/css/kanban.css @@ -70,20 +70,6 @@ .openerp .oe_kanban_group_folded .oe_kanban_fold_icon { background: url(/web_kanban/static/src/img/plus-icon.png) no-repeat; } - -.openerp ul.oe_kanban_aggregates { - padding: 0; - margin: 0 0 0 22px; -} -.openerp ul.oe_kanban_aggregates li { - list-style: circle; - font-style: italic; -} -.openerp ul.oe_kanban_aggregates span { - text-decoration: underline; - font-size: 90%; -} - .openerp .oe_kanban_action_button { height: 22px; margin: 0; @@ -91,7 +77,6 @@ .openerp .oe_kanban_action_a { text-decoration: none; } - .openerp .oe_kanban_box { background: #FFF; border: 2px solid #CCC; From 3e5f595f17a26d0c3cf93926c0bae86df464fa16 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Fri, 18 May 2012 18:44:13 +0200 Subject: [PATCH 04/10] [IMP] kaban css improvement bzr revid: al@openerp.com-20120518164413-7wzidpc6m71oz47s --- addons/web/static/src/css/base.css | 98 ++++++++++++++++++++++++++++- addons/web/static/src/css/base.sass | 68 ++++++++++++++++---- 2 files changed, 152 insertions(+), 14 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 6f5296315ae..2f85065aa38 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1,4 +1,4 @@ -@charset "UTF-8"; +@charset "utf-8"; @font-face { font-family: "mnmliconsRegular"; src: url("/web/static/src/font/mnmliconsv21-webfont.eot") format("eot"); @@ -1944,7 +1944,7 @@ } .openerp .oe_kanban_view { position: absolute; - top: 110px; + top: 111px; bottom: 0; } .openerp .oe_kanban_groups { @@ -1963,6 +1963,12 @@ border-left: 1px solid #f0f8f8; border-right: 1px solid #b9b9b9; } +.openerp .oe_kanban_column { + height: 100%; +} +.openerp .oe_kanban_aggregates { + padding: 0; +} .openerp .oe_kanban_record { position: relative; display: block; @@ -2002,6 +2008,94 @@ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } +.openerp .oe_kanban_view { + position: absolute; + top: 111px; + bottom: 0; +} +.openerp .oe_kanban_card { + position: relative; + display: block; + min-height: 50px; + background: white; + border: 1px solid #d8d8d8; + border-bottom-color: #b9b9b9; + padding: 6px; + margin: 6px 0; + display: block; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} +.openerp .oe_kanban_card:last-child { + margin-bottom: 0; +} +.openerp .oe_kanban_card:hover { + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); + -box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); +} +.openerp .oe_kanban_card:hover .oe_kanban_menuaction { + display: block; +} +.openerp .oe_kanban_card h3 { + margin: 0 16px 0 0; +} +.openerp .oe_kanban_star { + float: left; + position: inline-block; + margin: 0 4px 0 0; +} +.openerp a.oe_kanban_menuaction { + position: absolute; + right: 4px; + display: none; + color: #4c4c4c; + cursor: pointer; +} +.openerp a.oe_kanban_menuaction:hover { + text-decoration: none; +} +.openerp .oe_kanban_avatar { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); +} +.openerp .oe_kanban_status { + display: inline-block; + height: 12px; + width: 12px; + margin: 4px auto; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); + -box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); +} +.openerp .oe_kanban_status_green { + background: green; + background-position: center center; + background-image: -webkit-radial-gradient(circle, #55dd55 0%, #44aa44 40%, #339933 100%); + background-image: -moz-radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%); + background-image: -ms-radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%); + background-image: radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%); +} +.openerp .oe_kanban_status_red { + background: red; + background-position: center center; + background-image: -webkit-radial-gradient(circle, #ee7777 0%, #cc3333 40%, #bb0808 100%); + background-image: -moz-radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%); + background-image: -ms-radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%); + background-image: radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%); +} +.openerp .oe_kanban_text_red { + background: red; + color: black; +} .openerp .oe_trad_field.touched { border: 1px solid green !important; } diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index cba50aa6279..c5434d51ce4 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -853,18 +853,6 @@ $colour4: #8a89ba content: "k" .oe_vm_switch_diagram:after content: "f" - //.oe_vm_switch_list:after, .oe_vm_switch_tree:after - //content: "ö" - //.oe_vm_switch_graph:after - //content: "ó" - //.oe_vm_switch_gantt:after - //content: "y" - //.oe_vm_switch_calendar:after - //content: "b" - //.oe_vm_switch_kanban:after - //content: "ó" - //.oe_vm_switch_diagram:after - //content: "}" // }}} // ViewManager.sidebar {{{ .oe_form_dropdown_section @@ -1659,6 +1647,62 @@ $colour4: #8a89ba border-color: #e5e5e5 #dbdbdb #d2d2d2 @include radius(3px) @include box-shadow(0 1px 2px rgba(0,0,0,0.2)) + .oe_kanban_view + position: absolute + top: 111px + bottom: 0 + .oe_kanban_card + position: relative + display: block + min-height: 50px + background: white + border: 1px solid #d8d8d8 + border-bottom-color: #b9b9b9 + padding: 6px + margin: 6px 0 + display: block + @include radius(4px) + &:last-child + margin-bottom: 0 + &:hover + @include box-shadow(0 0 3px rgba(0,0,0,0.6)) + .oe_kanban_menuaction + display: block + h3 + margin: 0 16px 0 0 + .oe_kanban_star + float: left + position: inline-block + margin: 0 4px 0 0 + a.oe_kanban_menuaction + position: absolute + right: 4px + display: none + color: #4c4c4c + cursor: pointer + &:hover + text-decoration: none + .oe_kanban_avatar + @include radius(4px) + @include box-shadow(0 1px 2px rgba(0,0,0,0.2)) + //.oe_kanban_footer_left + // float: left + .oe_kanban_status + display: inline-block + height: 12px + width: 12px + margin: 4px auto + @include radius(6px) + @include box-shadow(0 1px 3px rgba(0,0,0,0.6)) + .oe_kanban_status_green + background: green + @include radial-gradient((#55dd55 0%, #44aa44 40%, #339933 100%)) + .oe_kanban_status_red + background: red + @include radial-gradient((#ee7777 0%, #cc3333 40%, #bb0808 100%)) + .oe_kanban_text_red + background: red + color: #000 // }}} // Translation {{{ .oe_trad_field.touched From 099e96b5afa7ff48ee30a1d5ae59ffae331d9fc8 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 22 May 2012 12:38:37 +0200 Subject: [PATCH 05/10] [ADD] Converted kanban.sass to kanban.css bzr revid: fme@openerp.com-20120522103837-1ypp34gx1cthx6h2 --- addons/web_kanban/static/src/css/kanban.css | 910 +++++++++---------- addons/web_kanban/static/src/css/kanban.sass | 386 ++++++++ 2 files changed, 813 insertions(+), 483 deletions(-) create mode 100644 addons/web_kanban/static/src/css/kanban.sass diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css index fcc246543b5..2e33f499749 100644 --- a/addons/web_kanban/static/src/css/kanban.css +++ b/addons/web_kanban/static/src/css/kanban.css @@ -1,485 +1,429 @@ +@charset "utf-8"; .openerp .oe_kanban_view .ui-sortable-placeholder { - border: 1px dotted black; - visibility: visible !important; - height: 60px !important; -} -.openerp .oe_kanban_groups { - width: 100%; -} -.openerp .oe_kanban_group_header { - position: relative; -} -.openerp .oe_kanban_group_folded { - padding: 0 5px 0 5px; -} -.openerp .oe_kanban_group_folded .oe_kanban_group_title, -.openerp .oe_kanban_group_folded.oe_kanban_column > *, -.openerp .oe_kanban_group_folded .oe_kanban_aggregates { - display: none; -} -.openerp .oe_kanban_group_folded .oe_kanban_group_title_vertical { - display: block; -} - -.openerp .oe_kanban_group_title { - font-size: 100%; - font-weight: bold; - padding-left: 2px; - color: #333333; -} -.openerp .oe_kanban_group_title_undefined { - color: #666666; -} -.openerp .oe_kanban_group_title_vertical { - writing-mode: tb-rl; - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -o-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); - width: 30px; - height: 20px; - font-size: 24px; - white-space: nowrap; - display: none; - position: absolute; - top: 10px; -} -.openerp .oe_kanban_show_more { - clear: both; - text-align: center; -} -.openerp .oe_kanban_grouped .oe_kanban_show_more .oe_button { - width: 100%; -} -.openerp .oe_kanban_ungrouped .oe_kanban_record { - float: left; - padding: 2px; - box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; -} -.openerp .oe_kanban_fold_icon { - cursor: pointer; - float: left; - padding: 2px; - width: 16px; - height: 16px; - background: url(/web_kanban/static/src/img/minus-icon.png) no-repeat; -} -.openerp .oe_kanban_group_folded .oe_kanban_fold_icon { - background: url(/web_kanban/static/src/img/plus-icon.png) no-repeat; -} -.openerp .oe_kanban_action_button { - height: 22px; - margin: 0; -} -.openerp .oe_kanban_action_a { - text-decoration: none; -} -.openerp .oe_kanban_box { - background: #FFF; - border: 2px solid #CCC; - border-radius: 4px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - margin-bottom: 5px; -} -.openerp .oe_kanban_box_header { - background: #EEE; - border-bottom: 1px solid #CCC; -} -.openerp .oe_kanban_title { - font-size: 95%; - font-weight: bold; - padding: 0 4px 0 4px; -} -.openerp .oe_kanban_small { - font-size: 80%; - font-weight: normal; -} -.openerp .oe_kanban_table { - width: 100%; - border: none; - border-collapse: collapse; - margin: 0; - padding: 0; -} -.openerp .oe_kanban_table tr td { - padding: 0; -} -.openerp .oe_kanban_table tr td.oe_kanban_title { - padding: 2px; -} -.openerp .oe_kanban_gravatar { - display: block; -} -.openerp .oe_kanban_box_content { - padding: 4px; - font-size: 90%; -} -.openerp .oe_kanban_button { - border: 1px solid #8ec1da; - background-color: #ddeef6; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - color: #000000; - text-shadow: 0 1px #fff; - padding: 0 4px; - font-size: 85%; - margin: 1px; -} -.openerp a.oe_kanban_button:hover, -.openerp button.oe_kanban_button:hover { - background-color: #eeddf6; -} -.openerp .oe_kanban_buttons_set { - border-top: 1px dotted; - white-space: nowrap; - padding-top: 2px; - position: relative; - clear: both; -} -.openerp .oe_kanban_buttons_set a { - padding: 2px; -} -.oe_kanban_color_picker { - position: absolute; - top: -10px; - border: 1px solid black; - -moz-box-shadow: 2px 2px 5px #666; - -webkit-box-shadow: 2px 2px 5px #666; - box-shadow: 2px 2px 5px #666; - z-index: 2; -} -.oe_kanban_color_picker a { - display: block; - width: 30px; - height: 30px; - border: 1px solid black; - text-align: center; - text-decoration: none; -} -.oe_kanban_color_picker a:hover { - border-color: white; -} -.oe_kanban_color_picker span { - border: none; - font-size: 120%; - font-weight: bold; - color: black; - line-height: 30px; -} -.openerp .oe_kanban_left { - float: left; -} -.openerp .oe_kanban_right { - float: right; -} -.openerp .oe_kanban_clear { - clear: both; -} -.openerp .oe_kanban_box_show_onclick { - display: none; -} -.openerp .oe_kanban_draghandle { - cursor: move; -} -.openerp .oe_kanban_color_border { - border-color: #CCCCCC; -} -.openerp .oe_kanban_color_border { - border-color: #CCCCCC; -} -.openerp .oe_kanban_tooltip ul, -.openerp ul.oe_kanban_tooltip { - padding: 0 0 4px 0; - margin: 5px 0 0 15px; - list-style: circle; -} -.openerp .oe_kanban_highlight { - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - padding: 1px 5px; - margin: 1px 4px; - white-space: nowrap; - display: inline-block; - line-height: 1em; -} - -.openerp .oe_kanban_add { - cursor: pointer; - position: absolute; - top: 6px; - right: 6px; - width: 16px; - height: 16px; - background: url(/web_kanban/static/src/img/plus-icon.png) no-repeat; -} - -.openerp .oe_kanban_quick_create { - /* apply block formatting context */ - overflow: hidden; -} -.openerp .oe_kanban_no_group .oe_kanban_quick_create { - width: 200px; - padding: 10px; -} -.openerp .oe_kanban_quick_create input { - display: block; - /* margins within width */ - box-sizing: border-box; - width: 100%; -} -.openerp .oe_kanban_quick_create button { - float: right; -} - -/* Custom colors are also present in kanban.js */ -/* Custom color#0 */ -.openerp .oe_kanban_color_0 .oe_kanban_color_bglight { - background: #FFFFFF; -} -.openerp .oe_kanban_color_0 .oe_kanban_color_bgdark { - background: #EEEEEE; -} -.openerp .oe_kanban_color_0 .oe_kanban_color_border { - border-color: #CCCCCC; -} -.openerp .oe_kanban_color_0 .oe_kanban_button { - background-color: #EEEEEE; - border-color: #CCCCCC; - text-shadow: 0 1px #FFFFFF; -} -.openerp .oe_kanban_color_0 .oe_kanban_button_active, -.openerp .oe_kanban_color_0 a.oe_kanban_button:hover, -.openerp .oe_kanban_color_0 button.oe_kanban_button:hover { - background-color: #999999; - color: #fff; - text-shadow: 0 1px #000; -} - -/* Custom color#1 */ -.openerp .oe_kanban_color_1 .oe_kanban_color_bglight { - background: #CCCCCC; -} -.openerp .oe_kanban_color_1 .oe_kanban_color_bgdark { - background: #999999; -} -.openerp .oe_kanban_color_1 .oe_kanban_color_border { - border-color: #666666; -} -.openerp .oe_kanban_color_1 .oe_kanban_button { - background-color: #999999; - border-color: #666666; - text-shadow: 0 1px #CCCCCC; -} -.openerp .oe_kanban_color_1 .oe_kanban_button_active, -.openerp .oe_kanban_color_1 a.oe_kanban_button:hover, -.openerp .oe_kanban_color_1 button.oe_kanban_button:hover { - background-color: #666666; - color: #fff; - text-shadow: 0 1px #000; -} - -/* Custom color#2 */ -.openerp .oe_kanban_color_2 .oe_kanban_color_bglight { - background: #FFC7C7; -} -.openerp .oe_kanban_color_2 .oe_kanban_color_bgdark { - background: #FF8F8F; -} -.openerp .oe_kanban_color_2 .oe_kanban_color_border { - border-color: #D97979; -} -.openerp .oe_kanban_color_2 .oe_kanban_button { - background-color: #FF8F8F; - border-color: #D97979; - text-shadow: 0 1px #FFC7C7; -} -.openerp .oe_kanban_color_2 .oe_kanban_button_active, -.openerp .oe_kanban_color_2 a.oe_kanban_button:hover, -.openerp .oe_kanban_color_2 button.oe_kanban_button:hover { - background-color: #CC5C5C; - color: #fff; - text-shadow: 0 1px #000; -} - -/* Custom color#3 */ -.openerp .oe_kanban_color_3 .oe_kanban_color_bglight { - background: #FFF1C7; -} -.openerp .oe_kanban_color_3 .oe_kanban_color_bgdark { - background: #FFE38F; -} -.openerp .oe_kanban_color_3 .oe_kanban_color_border { - border-color: #D9C179; -} -.openerp .oe_kanban_color_3 .oe_kanban_button { - background-color: #FFE38F; - border-color: #D9C179; - text-shadow: 0 1px #FFF1C7; -} -.openerp .oe_kanban_color_3 .oe_kanban_button_active, -.openerp .oe_kanban_color_3 a.oe_kanban_button:hover, -.openerp .oe_kanban_color_3 button.oe_kanban_button:hover { - background-color: #CCB05C; - color: #fff; - text-shadow: 0 1px #000; -} - -/* Custom color#4 */ -.openerp .oe_kanban_color_4 .oe_kanban_color_bglight { - background: #E3FFC7; -} -.openerp .oe_kanban_color_4 .oe_kanban_color_bgdark { - background: #C7FF8F; -} -.openerp .oe_kanban_color_4 .oe_kanban_color_border { - border-color: #A9D979; -} -.openerp .oe_kanban_color_4 .oe_kanban_button { - background-color: #C7FF8F; - border-color: #A9D979; - text-shadow: 0 1px #E3FFC7; -} -.openerp .oe_kanban_color_4 .oe_kanban_button_active, -.openerp .oe_kanban_color_4 a.oe_kanban_button:hover, -.openerp .oe_kanban_color_4 button.oe_kanban_button:hover { - background-color: #94CC5C; - color: #fff; - text-shadow: 0 1px #000; -} - -/* Custom color#5 */ -.openerp .oe_kanban_color_5 .oe_kanban_color_bglight { - background: #C7FFD5; -} -.openerp .oe_kanban_color_5 .oe_kanban_color_bgdark { - background: #8FFFAB; -} -.openerp .oe_kanban_color_5 .oe_kanban_color_border { - border-color: #79D991; -} -.openerp .oe_kanban_color_5 .oe_kanban_button { - background-color: #8FFFAB; - border-color: #79D991; - text-shadow: 0 1px #C7FFD5; -} -.openerp .oe_kanban_color_5 .oe_kanban_button_active, -.openerp .oe_kanban_color_5 a.oe_kanban_button:hover, -.openerp .oe_kanban_color_5 button.oe_kanban_button:hover { - background-color: #5CCC78; - color: #fff; - text-shadow: 0 1px #000; -} - -/* Custom color#6 */ -.openerp .oe_kanban_color_6 .oe_kanban_color_bglight { - background: #C7FFFF; -} -.openerp .oe_kanban_color_6 .oe_kanban_color_bgdark { - background: #8FFFFF; -} -.openerp .oe_kanban_color_6 .oe_kanban_color_border { - border-color: #79D9D9; -} -.openerp .oe_kanban_color_6 .oe_kanban_button { - background-color: #8FFFFF; - border-color: #79D9D9; - text-shadow: 0 1px #C7FFFF; -} -.openerp .oe_kanban_color_6 .oe_kanban_button_active, -.openerp .oe_kanban_color_6 a.oe_kanban_button:hover, -.openerp .oe_kanban_color_6 button.oe_kanban_button:hover { - background-color: #5CCCCC; - color: #fff; - text-shadow: 0 1px #000; -} - -/* Custom color#7 */ -.openerp .oe_kanban_color_7 .oe_kanban_color_bglight { - background: #C7D5FF; -} -.openerp .oe_kanban_color_7 .oe_kanban_color_bgdark { - background: #8FABFF; -} -.openerp .oe_kanban_color_7 .oe_kanban_color_border { - border-color: #8FABFF; -} -.openerp .oe_kanban_color_7 .oe_kanban_button { - background-color: #8FABFF; - border-color: #7995E9; - text-shadow: 0 1px #C7D5FF; -} -.openerp .oe_kanban_color_7 .oe_kanban_button_active, -.openerp .oe_kanban_color_7 a.oe_kanban_button:hover, -.openerp .oe_kanban_color_7 button.oe_kanban_button:hover { - background-color: #5C78CC; - color: #fff; - text-shadow: 0 1px #000; -} - -/* Custom color#8 */ -.openerp .oe_kanban_color_8 .oe_kanban_color_bglight { - background: #E3C7FF; -} -.openerp .oe_kanban_color_8 .oe_kanban_color_bgdark { - background: #C78FFF; -} -.openerp .oe_kanban_color_8 .oe_kanban_color_border { - border-color: #A979D9; -} -.openerp .oe_kanban_color_8 .oe_kanban_button { - background-color: #C78FFF; - border-color: #A979D9; - text-shadow: 0 1px #E3C7FF; -} -.openerp .oe_kanban_color_8 .oe_kanban_button_active, -.openerp .oe_kanban_color_8 a.oe_kanban_button:hover, -.openerp .oe_kanban_color_8 button.oe_kanban_button:hover { - background-color: #945CCC; - color: #fff; - text-shadow: 0 1px #000; -} - -/* Custom color#9 */ -.openerp .oe_kanban_color_9 .oe_kanban_color_bglight { - background: #FFC7F1; -} -.openerp .oe_kanban_color_9 .oe_kanban_color_bgdark { - background: #FF8FE3; -} -.openerp .oe_kanban_color_9 .oe_kanban_color_border { - border-color: #D979C1; -} -.openerp .oe_kanban_color_9 .oe_kanban_button { - background-color: #FF8FE3; - border-color: #D979C1; - text-shadow: 0 1px #FFC7F1; -} -.openerp .oe_kanban_color_9 .oe_kanban_button_active, -.openerp .oe_kanban_color_9 a.oe_kanban_button:hover, -.openerp .oe_kanban_color_9 button.oe_kanban_button:hover { - background-color: #CC5CB0; - color: #fff; - text-shadow: 0 1px #000; -} - -/* Red border */ -.openerp .oe_kanban_color_alert .oe_kanban_color_border, -.openerp .oe_kanban_color_red .oe_kanban_color_border { - border-color: #c00 !important; -} - -/* Green border */ -.openerp .oe_kanban_color_green .oe_kanban_color_border { - border-color: #0c0 !important; -} - -/* Blue border */ -.openerp .oe_kanban_color_blue .oe_kanban_color_border { - border-color: #00c !important; + border: 1px dotted black; + visibility: visible !important; + height: 60px !important; +} +.openerp .oe_kanban_view .oe_kanban_left { + float: left; +} +.openerp .oe_kanban_view .oe_kanban_right { + float: right; +} +.openerp .oe_kanban_view .oe_kanban_clear { + clear: both; +} +.openerp .oe_kanban_view .oe_kanban_groups { + width: 100%; +} +.openerp .oe_kanban_view .oe_kanban_group_header { + position: relative; +} +.openerp .oe_kanban_view .oe_kanban_group_folded { + padding: 0 5px 0 5px; +} +.openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_title, .openerp .oe_kanban_view .oe_kanban_group_folded.oe_kanban_column > *, .openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_aggregates { + display: none; +} +.openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_title_vertical { + display: block; +} +.openerp .oe_kanban_view .oe_kanban_group_title { + font-size: 100%; + font-weight: bold; + padding-left: 2px; + color: #333333; +} +.openerp .oe_kanban_view .oe_kanban_group_title_undefined { + color: #666666; +} +.openerp .oe_kanban_view .oe_kanban_group_title_vertical { + writing-mode: tb-rl; + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); + width: 30px; + height: 20px; + font-size: 24px; + white-space: nowrap; + display: none; + position: absolute; + top: 10px; +} +.openerp .oe_kanban_view .oe_kanban_fold_icon { + cursor: pointer; + float: left; + padding: 2px; + width: 16px; + height: 16px; + background: url(/web_kanban/static/src/img/minus-icon.png) no-repeat; +} +.openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_fold_icon { + background: url(/web_kanban/static/src/img/plus-icon.png) no-repeat; +} +.openerp .oe_kanban_view .oe_kanban_add { + cursor: pointer; + position: absolute; + top: 6px; + right: 6px; + width: 16px; + height: 16px; + background: url(/web_kanban/static/src/img/plus-icon.png) no-repeat; +} +.openerp .oe_kanban_view .oe_kanban_quick_create { + overflow: hidden; +} +.openerp .oe_kanban_view .oe_kanban_no_group .oe_kanban_quick_create { + width: 200px; + padding: 10px; +} +.openerp .oe_kanban_view .oe_kanban_quick_create input { + display: block; + box-sizing: border-box; + width: 100%; +} +.openerp .oe_kanban_view .oe_kanban_quick_create button { + float: right; +} +.openerp .oe_kanban_view .oe_kanban_box { + background: white; + border: 2px solid #cccccc; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + margin-bottom: 5px; +} +.openerp .oe_kanban_view .oe_kanban_box_header { + background: #eeeeee; + border-bottom: 1px solid #cccccc; +} +.openerp .oe_kanban_view .oe_kanban_title { + font-size: 95%; + font-weight: bold; + padding: 0 4px 0 4px; +} +.openerp .oe_kanban_view .oe_kanban_small { + font-size: 80%; + font-weight: normal; +} +.openerp .oe_kanban_view .oe_kanban_show_more { + clear: both; + text-align: center; +} +.openerp .oe_kanban_view .oe_kanban_grouped .oe_kanban_show_more .oe_button { + width: 100%; +} +.openerp .oe_kanban_view .oe_kanban_ungrouped .oe_kanban_record { + float: left; + padding: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.openerp .oe_kanban_view .oe_kanban_action_button { + height: 22px; + margin: 0; +} +.openerp .oe_kanban_view .oe_kanban_action_a { + text-decoration: none; +} +.openerp .oe_kanban_view .oe_kanban_table { + width: 100%; + border: none; + border-collapse: collapse; + margin: 0; + padding: 0; +} +.openerp .oe_kanban_view .oe_kanban_table tr td { + padding: 0; +} +.openerp .oe_kanban_view .oe_kanban_table tr td.oe_kanban_title { + padding: 2px; +} +.openerp .oe_kanban_view .oe_kanban_gravatar { + display: block; +} +.openerp .oe_kanban_view .oe_kanban_box_content { + padding: 4px; + font-size: 90%; +} +.openerp .oe_kanban_view .oe_kanban_button { + border: 1px solid #8ec1da; + background-color: #ddeef6; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + color: black; + text-shadow: 0 1px white; + padding: 0 4px; + font-size: 85%; + margin: 1px; +} +.openerp .oe_kanban_view a.oe_kanban_button:hover, .openerp .oe_kanban_view .openerp button.oe_kanban_button:hover { + background-color: #eeddf6; +} +.openerp .oe_kanban_view .oe_kanban_buttons_set { + border-top: 1px dotted; + white-space: nowrap; + padding-top: 2px; + position: relative; + clear: both; +} +.openerp .oe_kanban_view .oe_kanban_buttons_set a { + padding: 2px; +} +.openerp .oe_kanban_view .oe_kanban_box_show_onclick { + display: none; +} +.openerp .oe_kanban_view .oe_kanban_draghandle { + cursor: move; +} +.openerp .oe_kanban_view .oe_kanban_color_border { + border-color: #cccccc; +} +.openerp .oe_kanban_view .oe_kanban_color_border { + border-color: #cccccc; +} +.openerp .oe_kanban_view .oe_kanban_tooltip ul, .openerp .oe_kanban_view ul.oe_kanban_tooltip { + padding: 0 0 4px 0; + margin: 5px 0 0 15px; + list-style: circle; +} +.openerp .oe_kanban_view .oe_kanban_highlight { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + padding: 1px 5px; + margin: 1px 4px; + white-space: nowrap; + display: inline-block; + line-height: 1em; +} +.openerp .oe_kanban_view .oe_kanban_color_picker { + position: absolute; + top: -10px; + border: 1px solid black; + -moz-box-shadow: 2px 2px 5px #666666; + -webkit-box-shadow: 2px 2px 5px #666666; + box-shadow: 2px 2px 5px #666666; + z-index: 2; +} +.openerp .oe_kanban_view .oe_kanban_color_picker a { + display: block; + width: 30px; + height: 30px; + border: 1px solid black; + text-align: center; + text-decoration: none; +} +.openerp .oe_kanban_view .oe_kanban_color_picker a:hover { + border-color: white; +} +.openerp .oe_kanban_view .oe_kanban_color_picker span { + border: none; + font-size: 120%; + font-weight: bold; + color: black; + line-height: 30px; +} +.openerp .oe_kanban_view .oe_kanban_color_0 .oe_kanban_color_bglight { + background: white; +} +.openerp .oe_kanban_view .oe_kanban_color_0 .oe_kanban_color_bgdark { + background: #eeeeee; +} +.openerp .oe_kanban_view .oe_kanban_color_0 .oe_kanban_color_border { + border-color: #cccccc; +} +.openerp .oe_kanban_view .oe_kanban_color_0 .oe_kanban_button { + background-color: #eeeeee; + border-color: #cccccc; + text-shadow: 0 1px white; +} +.openerp .oe_kanban_view .oe_kanban_color_0 .oe_kanban_button_active, .openerp .oe_kanban_view .oe_kanban_color_0 a.oe_kanban_button:hover, .openerp .oe_kanban_view .oe_kanban_color_0 button.oe_kanban_button:hover { + background-color: #999999; + color: white; + text-shadow: 0 1px black; +} +.openerp .oe_kanban_view .oe_kanban_color_1 .oe_kanban_color_bglight { + background: #cccccc; +} +.openerp .oe_kanban_view .oe_kanban_color_1 .oe_kanban_color_bgdark { + background: #999999; +} +.openerp .oe_kanban_view .oe_kanban_color_1 .oe_kanban_color_border { + border-color: #666666; +} +.openerp .oe_kanban_view .oe_kanban_color_1 .oe_kanban_button { + background-color: #999999; + border-color: #666666; + text-shadow: 0 1px #cccccc; +} +.openerp .oe_kanban_view .oe_kanban_color_1 .oe_kanban_button_active, .openerp .oe_kanban_view .oe_kanban_color_1 a.oe_kanban_button:hover, .openerp .oe_kanban_view .oe_kanban_color_1 button.oe_kanban_button:hover { + background-color: #666666; + color: white; + text-shadow: 0 1px black; +} +.openerp .oe_kanban_view .oe_kanban_color_2 .oe_kanban_color_bglight { + background: #ffc7c7; +} +.openerp .oe_kanban_view .oe_kanban_color_2 .oe_kanban_color_bgdark { + background: #ff8f8f; +} +.openerp .oe_kanban_view .oe_kanban_color_2 .oe_kanban_color_border { + border-color: #d97979; +} +.openerp .oe_kanban_view .oe_kanban_color_2 .oe_kanban_button { + background-color: #ff8f8f; + border-color: #d97979; + text-shadow: 0 1px #ffc7c7; +} +.openerp .oe_kanban_view .oe_kanban_color_2 .oe_kanban_button_active, .openerp .oe_kanban_view .oe_kanban_color_2 a.oe_kanban_button:hover, .openerp .oe_kanban_view .oe_kanban_color_2 button.oe_kanban_button:hover { + background-color: #cc5c5c; + color: white; + text-shadow: 0 1px black; +} +.openerp .oe_kanban_view .oe_kanban_color_3 .oe_kanban_color_bglight { + background: #fff1c7; +} +.openerp .oe_kanban_view .oe_kanban_color_3 .oe_kanban_color_bgdark { + background: #ffe38f; +} +.openerp .oe_kanban_view .oe_kanban_color_3 .oe_kanban_color_border { + border-color: #d9c179; +} +.openerp .oe_kanban_view .oe_kanban_color_3 .oe_kanban_button { + background-color: #ffe38f; + border-color: #d9c179; + text-shadow: 0 1px #fff1c7; +} +.openerp .oe_kanban_view .oe_kanban_color_3 .oe_kanban_button_active, .openerp .oe_kanban_view .oe_kanban_color_3 a.oe_kanban_button:hover, .openerp .oe_kanban_view .oe_kanban_color_3 button.oe_kanban_button:hover { + background-color: #ccb05c; + color: white; + text-shadow: 0 1px black; +} +.openerp .oe_kanban_view .oe_kanban_color_4 .oe_kanban_color_bglight { + background: #e3ffc7; +} +.openerp .oe_kanban_view .oe_kanban_color_4 .oe_kanban_color_bgdark { + background: #c7ff8f; +} +.openerp .oe_kanban_view .oe_kanban_color_4 .oe_kanban_color_border { + border-color: #a9d979; +} +.openerp .oe_kanban_view .oe_kanban_color_4 .oe_kanban_button { + background-color: #c7ff8f; + border-color: #a9d979; + text-shadow: 0 1px #e3ffc7; +} +.openerp .oe_kanban_view .oe_kanban_color_4 .oe_kanban_button_active, .openerp .oe_kanban_view .oe_kanban_color_4 a.oe_kanban_button:hover, .openerp .oe_kanban_view .oe_kanban_color_4 button.oe_kanban_button:hover { + background-color: #94cc5c; + color: white; + text-shadow: 0 1px black; +} +.openerp .oe_kanban_view .oe_kanban_color_5 .oe_kanban_color_bglight { + background: #c7ffd5; +} +.openerp .oe_kanban_view .oe_kanban_color_5 .oe_kanban_color_bgdark { + background: #8fffab; +} +.openerp .oe_kanban_view .oe_kanban_color_5 .oe_kanban_color_border { + border-color: #79d991; +} +.openerp .oe_kanban_view .oe_kanban_color_5 .oe_kanban_button { + background-color: #8fffab; + border-color: #79d991; + text-shadow: 0 1px #c7ffd5; +} +.openerp .oe_kanban_view .oe_kanban_color_5 .oe_kanban_button_active, .openerp .oe_kanban_view .oe_kanban_color_5 a.oe_kanban_button:hover, .openerp .oe_kanban_view .oe_kanban_color_5 button.oe_kanban_button:hover { + background-color: #5ccc78; + color: white; + text-shadow: 0 1px black; +} +.openerp .oe_kanban_view .oe_kanban_color_6 .oe_kanban_color_bglight { + background: #c7ffff; +} +.openerp .oe_kanban_view .oe_kanban_color_6 .oe_kanban_color_bgdark { + background: #8fffff; +} +.openerp .oe_kanban_view .oe_kanban_color_6 .oe_kanban_color_border { + border-color: #79d9d9; +} +.openerp .oe_kanban_view .oe_kanban_color_6 .oe_kanban_button { + background-color: #8fffff; + border-color: #79d9d9; + text-shadow: 0 1px #c7ffff; +} +.openerp .oe_kanban_view .oe_kanban_color_6 .oe_kanban_button_active, .openerp .oe_kanban_view .oe_kanban_color_6 a.oe_kanban_button:hover, .openerp .oe_kanban_view .oe_kanban_color_6 button.oe_kanban_button:hover { + background-color: #5ccccc; + color: white; + text-shadow: 0 1px black; +} +.openerp .oe_kanban_view .oe_kanban_color_7 .oe_kanban_color_bglight { + background: #c7d5ff; +} +.openerp .oe_kanban_view .oe_kanban_color_7 .oe_kanban_color_bgdark { + background: #8fabff; +} +.openerp .oe_kanban_view .oe_kanban_color_7 .oe_kanban_color_border { + border-color: #8fabff; +} +.openerp .oe_kanban_view .oe_kanban_color_7 .oe_kanban_button { + background-color: #8fabff; + border-color: #7995e9; + text-shadow: 0 1px #c7d5ff; +} +.openerp .oe_kanban_view .oe_kanban_color_7 .oe_kanban_button_active, .openerp .oe_kanban_view .oe_kanban_color_7 a.oe_kanban_button:hover, .openerp .oe_kanban_view .oe_kanban_color_7 button.oe_kanban_button:hover { + background-color: #5c78cc; + color: white; + text-shadow: 0 1px black; +} +.openerp .oe_kanban_view .oe_kanban_color_8 .oe_kanban_color_bglight { + background: #e3c7ff; +} +.openerp .oe_kanban_view .oe_kanban_color_8 .oe_kanban_color_bgdark { + background: #c78fff; +} +.openerp .oe_kanban_view .oe_kanban_color_8 .oe_kanban_color_border { + border-color: #a979d9; +} +.openerp .oe_kanban_view .oe_kanban_color_8 .oe_kanban_button { + background-color: #c78fff; + border-color: #a979d9; + text-shadow: 0 1px #e3c7ff; +} +.openerp .oe_kanban_view .oe_kanban_color_8 .oe_kanban_button_active, .openerp .oe_kanban_view .oe_kanban_color_8 a.oe_kanban_button:hover, .openerp .oe_kanban_view .oe_kanban_color_8 button.oe_kanban_button:hover { + background-color: #945ccc; + color: white; + text-shadow: 0 1px black; +} +.openerp .oe_kanban_view .oe_kanban_color_9 .oe_kanban_color_bglight { + background: #ffc7f1; +} +.openerp .oe_kanban_view .oe_kanban_color_9 .oe_kanban_color_bgdark { + background: #ff8fe3; +} +.openerp .oe_kanban_view .oe_kanban_color_9 .oe_kanban_color_border { + border-color: #d979c1; +} +.openerp .oe_kanban_view .oe_kanban_color_9 .oe_kanban_button { + background-color: #ff8fe3; + border-color: #d979c1; + text-shadow: 0 1px #ffc7f1; +} +.openerp .oe_kanban_view .oe_kanban_color_9 .oe_kanban_button_active, .openerp .oe_kanban_view .oe_kanban_color_9 a.oe_kanban_button:hover, .openerp .oe_kanban_view .oe_kanban_color_9 button.oe_kanban_button:hover { + background-color: #cc5cb0; + color: white; + text-shadow: 0 1px black; +} +.openerp .oe_kanban_view .oe_kanban_color_alert .oe_kanban_color_border, .openerp .oe_kanban_view .oe_kanban_color_red .oe_kanban_color_border { + border-color: #cc0000 !important; +} +.openerp .oe_kanban_view .oe_kanban_color_green .oe_kanban_color_border { + border-color: #00cc00 !important; +} +.openerp .oe_kanban_view .oe_kanban_color_blue .oe_kanban_color_border { + border-color: #0000cc !important; } diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass new file mode 100644 index 00000000000..0206736ce6a --- /dev/null +++ b/addons/web_kanban/static/src/css/kanban.sass @@ -0,0 +1,386 @@ +@charset "utf-8" + +.openerp .oe_kanban_view + // KanbanView {{{ + .ui-sortable-placeholder + border: 1px dotted black + visibility: visible !important + height: 60px !important + .oe_kanban_left + float: left + .oe_kanban_right + float: right + .oe_kanban_clear + clear: both + // }}} + // KanbanGroups {{{ + .oe_kanban_groups + width: 100% + .oe_kanban_group_header + position: relative + .oe_kanban_group_folded + padding: 0 5px 0 5px + .oe_kanban_group_folded + .oe_kanban_group_title, &.oe_kanban_column > *, .oe_kanban_aggregates + display: none + .oe_kanban_group_title_vertical + display: block + .oe_kanban_group_title + font-size: 100% + font-weight: bold + padding-left: 2px + color: #333333 + .oe_kanban_group_title_undefined + color: #666666 + .oe_kanban_group_title_vertical + writing-mode: tb-rl + -webkit-transform: rotate(90deg) + -moz-transform: rotate(90deg) + -o-transform: rotate(90deg) + -ms-transform: rotate(90deg) + transform: rotate(90deg) + width: 30px + height: 20px + font-size: 24px + white-space: nowrap + display: none + position: absolute + top: 10px + .oe_kanban_fold_icon + cursor: pointer + float: left + padding: 2px + width: 16px + height: 16px + background: url(/web_kanban/static/src/img/minus-icon.png) no-repeat + .oe_kanban_group_folded .oe_kanban_fold_icon + background: url(/web_kanban/static/src/img/plus-icon.png) no-repeat + // }}} + // KanbanQuickCreate {{{ + .oe_kanban_add + cursor: pointer + position: absolute + top: 6px + right: 6px + width: 16px + height: 16px + background: url(/web_kanban/static/src/img/plus-icon.png) no-repeat + .oe_kanban_quick_create + // apply block formatting context + overflow: hidden + .oe_kanban_no_group .oe_kanban_quick_create + width: 200px + padding: 10px + .oe_kanban_quick_create input + display: block + // margins within width + box-sizing: border-box + width: 100% + .oe_kanban_quick_create button + float: right + // }}} + // KanbanRecords {{{ + .oe_kanban_box + background: #FFF + border: 2px solid #CCC + border-radius: 4px + -moz-border-radius: 4px + -webkit-border-radius: 4px + margin-bottom: 5px + .oe_kanban_box_header + background: #EEE + border-bottom: 1px solid #CCC + .oe_kanban_title + font-size: 95% + font-weight: bold + padding: 0 4px 0 4px + .oe_kanban_small + font-size: 80% + font-weight: normal + .oe_kanban_show_more + clear: both + text-align: center + .oe_kanban_grouped .oe_kanban_show_more .oe_button + width: 100% + .oe_kanban_ungrouped .oe_kanban_record + float: left + padding: 2px + box-sizing: border-box + -moz-box-sizing: border-box + -webkit-box-sizing: border-box + .oe_kanban_action_button + height: 22px + margin: 0 + .oe_kanban_action_a + text-decoration: none + .oe_kanban_table + width: 100% + border: none + border-collapse: collapse + margin: 0 + padding: 0 + .oe_kanban_table tr td + padding: 0 + .oe_kanban_table tr td.oe_kanban_title + padding: 2px + .oe_kanban_gravatar + display: block + .oe_kanban_box_content + padding: 4px + font-size: 90% + .oe_kanban_button + border: 1px solid #8ec1da + background-color: #ddeef6 + border-radius: 3px + -moz-border-radius: 3px + -webkit-border-radius: 3px + color: #000000 + text-shadow: 0 1px #fff + padding: 0 4px + font-size: 85% + margin: 1px + a.oe_kanban_button:hover, .openerp button.oe_kanban_button:hover + background-color: #eeddf6 + .oe_kanban_buttons_set + border-top: 1px dotted + white-space: nowrap + padding-top: 2px + position: relative + clear: both + a + padding: 2px + .oe_kanban_box_show_onclick + display: none + .oe_kanban_draghandle + cursor: move + .oe_kanban_color_border + border-color: #CCCCCC + .oe_kanban_color_border + border-color: #CCCCCC + .oe_kanban_tooltip ul, ul.oe_kanban_tooltip + padding: 0 0 4px 0 + margin: 5px 0 0 15px + list-style: circle + .oe_kanban_highlight + border-radius: 2px + -moz-border-radius: 2px + -webkit-border-radius: 2px + padding: 1px 5px + margin: 1px 4px + white-space: nowrap + display: inline-block + line-height: 1em + + // }}} + // KanbanColorPicker {{{ + .oe_kanban_color_picker + position: absolute + top: -10px + border: 1px solid black + -moz-box-shadow: 2px 2px 5px #666 + -webkit-box-shadow: 2px 2px 5px #666 + box-shadow: 2px 2px 5px #666 + z-index: 2 + a + display: block + width: 30px + height: 30px + border: 1px solid black + text-align: center + text-decoration: none + &:hover + border-color: white + span + border: none + font-size: 120% + font-weight: bold + color: black + line-height: 30px + // }}} + // KanbanColors {{{ + // Custom colors are also present in kanban.js + // Custom color#0 + .oe_kanban_color_0 + .oe_kanban_color_bglight + background: #FFFFFF + .oe_kanban_color_bgdark + background: #EEEEEE + .oe_kanban_color_border + border-color: #CCCCCC + .oe_kanban_button + background-color: #EEEEEE + border-color: #CCCCCC + text-shadow: 0 1px #FFFFFF + .oe_kanban_button_active, a.oe_kanban_button:hover, button.oe_kanban_button:hover + background-color: #999999 + color: #fff + text-shadow: 0 1px #000 + + // Custom color#1 + .oe_kanban_color_1 + .oe_kanban_color_bglight + background: #CCCCCC + .oe_kanban_color_bgdark + background: #999999 + .oe_kanban_color_border + border-color: #666666 + .oe_kanban_button + background-color: #999999 + border-color: #666666 + text-shadow: 0 1px #CCCCCC + .oe_kanban_button_active, a.oe_kanban_button:hover, button.oe_kanban_button:hover + background-color: #666666 + color: #fff + text-shadow: 0 1px #000 + + // Custom color#2 + .oe_kanban_color_2 + .oe_kanban_color_bglight + background: #FFC7C7 + .oe_kanban_color_bgdark + background: #FF8F8F + .oe_kanban_color_border + border-color: #D97979 + .oe_kanban_button + background-color: #FF8F8F + border-color: #D97979 + text-shadow: 0 1px #FFC7C7 + .oe_kanban_button_active, a.oe_kanban_button:hover, button.oe_kanban_button:hover + background-color: #CC5C5C + color: #fff + text-shadow: 0 1px #000 + + // Custom color#3 + .oe_kanban_color_3 + .oe_kanban_color_bglight + background: #FFF1C7 + .oe_kanban_color_bgdark + background: #FFE38F + .oe_kanban_color_border + border-color: #D9C179 + .oe_kanban_button + background-color: #FFE38F + border-color: #D9C179 + text-shadow: 0 1px #FFF1C7 + .oe_kanban_button_active, a.oe_kanban_button:hover, button.oe_kanban_button:hover + background-color: #CCB05C + color: #fff + text-shadow: 0 1px #000 + + // Custom color#4 + .oe_kanban_color_4 + .oe_kanban_color_bglight + background: #E3FFC7 + .oe_kanban_color_bgdark + background: #C7FF8F + .oe_kanban_color_border + border-color: #A9D979 + .oe_kanban_button + background-color: #C7FF8F + border-color: #A9D979 + text-shadow: 0 1px #E3FFC7 + .oe_kanban_button_active, a.oe_kanban_button:hover, button.oe_kanban_button:hover + background-color: #94CC5C + color: #fff + text-shadow: 0 1px #000 + + // Custom color#5 + .oe_kanban_color_5 + .oe_kanban_color_bglight + background: #C7FFD5 + .oe_kanban_color_bgdark + background: #8FFFAB + .oe_kanban_color_border + border-color: #79D991 + .oe_kanban_button + background-color: #8FFFAB + border-color: #79D991 + text-shadow: 0 1px #C7FFD5 + .oe_kanban_button_active, a.oe_kanban_button:hover, button.oe_kanban_button:hover + background-color: #5CCC78 + color: #fff + text-shadow: 0 1px #000 + + // Custom color#6 + .oe_kanban_color_6 + .oe_kanban_color_bglight + background: #C7FFFF + .oe_kanban_color_bgdark + background: #8FFFFF + .oe_kanban_color_border + border-color: #79D9D9 + .oe_kanban_button + background-color: #8FFFFF + border-color: #79D9D9 + text-shadow: 0 1px #C7FFFF + .oe_kanban_button_active, a.oe_kanban_button:hover, button.oe_kanban_button:hover + background-color: #5CCCCC + color: #fff + text-shadow: 0 1px #000 + + // Custom color#7 + .oe_kanban_color_7 + .oe_kanban_color_bglight + background: #C7D5FF + .oe_kanban_color_bgdark + background: #8FABFF + .oe_kanban_color_border + border-color: #8FABFF + .oe_kanban_button + background-color: #8FABFF + border-color: #7995E9 + text-shadow: 0 1px #C7D5FF + .oe_kanban_button_active, a.oe_kanban_button:hover, button.oe_kanban_button:hover + background-color: #5C78CC + color: #fff + text-shadow: 0 1px #000 + + // Custom color#8 + .oe_kanban_color_8 + .oe_kanban_color_bglight + background: #E3C7FF + .oe_kanban_color_bgdark + background: #C78FFF + .oe_kanban_color_border + border-color: #A979D9 + .oe_kanban_button + background-color: #C78FFF + border-color: #A979D9 + text-shadow: 0 1px #E3C7FF + .oe_kanban_button_active, a.oe_kanban_button:hover, button.oe_kanban_button:hover + background-color: #945CCC + color: #fff + text-shadow: 0 1px #000 + + // Custom color#9 + .oe_kanban_color_9 + .oe_kanban_color_bglight + background: #FFC7F1 + .oe_kanban_color_bgdark + background: #FF8FE3 + .oe_kanban_color_border + border-color: #D979C1 + .oe_kanban_button + background-color: #FF8FE3 + border-color: #D979C1 + text-shadow: 0 1px #FFC7F1 + .oe_kanban_button_active, a.oe_kanban_button:hover, button.oe_kanban_button:hover + background-color: #CC5CB0 + color: #fff + text-shadow: 0 1px #000 + + // Red border + .oe_kanban_color_alert .oe_kanban_color_border, .oe_kanban_color_red .oe_kanban_color_border + border-color: #c00 !important + + // Green border + .oe_kanban_color_green .oe_kanban_color_border + border-color: #0c0 !important + + // Blue border + .oe_kanban_color_blue .oe_kanban_color_border + border-color: #00c !important + // }}} + +// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers > "%:p:r.css" +// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker: From 83de35f1cf58de800a11e5df7d6eb8378aaa0fca Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 22 May 2012 13:30:57 +0200 Subject: [PATCH 06/10] [IMP] Merge kanban declarations from base.sass to kanban.sass bzr revid: fme@openerp.com-20120522113057-7dfkcyiaxxbmnx9a --- addons/web/static/src/css/base.css | 154 ------------------ addons/web/static/src/css/base.sass | 103 ------------ addons/web_kanban/static/src/css/kanban.css | 160 +++++++++++++++++-- addons/web_kanban/static/src/css/kanban.sass | 127 +++++++++++++-- 4 files changed, 267 insertions(+), 277 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 60199338658..22559ca8aba 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1969,160 +1969,6 @@ .openerp .oe-listview-content .numeric input { text-align: right; } -.openerp .oe_kanban_view { - position: absolute; - top: 111px; - bottom: 0; -} -.openerp .oe_kanban_groups { - height: 100%; -} -.openerp .oe_kanban_group_title { - margin: 1px 1px 4px; - font-size: 15px; - font-weight: bold; - text-shadow: 0 1px 0 white; -} -.openerp .oe_kanban_column, .openerp .oe_kanban_group_header { - vertical-align: top; - padding: 6px 7px 6px 6px; - background: #f0eeee; - border-left: 1px solid #f0f8f8; - border-right: 1px solid #b9b9b9; -} -.openerp .oe_kanban_column { - height: 100%; -} -.openerp .oe_kanban_aggregates { - padding: 0; -} -.openerp .oe_kanban_record { - position: relative; - display: block; - min-height: 50px; - margin: 6px 0; - display: block; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; -} -.openerp .oe_kanban_record:last-child { - margin-bottom: 0; -} -.openerp .oe_kanban_record .oe_kanban_title { - font-weight: bold; - margin: 2px 4px; -} -.openerp .oe_kanban_gravatar { - width: 20px; - height: 20px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); - -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); -} -.openerp .oe_kanban_avatar_toto { - height: 40px; - width: 40px; - border: 1px solid; - border-color: #e5e5e5 #dbdbdb #d2d2d2; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); - -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); -} -.openerp .oe_kanban_view { - position: absolute; - top: 111px; - bottom: 0; -} -.openerp .oe_kanban_card { - position: relative; - display: block; - min-height: 50px; - background: white; - border: 1px solid #d8d8d8; - border-bottom-color: #b9b9b9; - padding: 6px; - margin: 6px 0; - display: block; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; -} -.openerp .oe_kanban_card:last-child { - margin-bottom: 0; -} -.openerp .oe_kanban_card:hover { - -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); - -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); - -box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); -} -.openerp .oe_kanban_card:hover .oe_kanban_menuaction { - display: block; -} -.openerp .oe_kanban_card h3 { - margin: 0 16px 0 0; -} -.openerp .oe_kanban_star { - float: left; - position: inline-block; - margin: 0 4px 0 0; -} -.openerp a.oe_kanban_menuaction { - position: absolute; - right: 4px; - display: none; - color: #4c4c4c; - cursor: pointer; -} -.openerp a.oe_kanban_menuaction:hover { - text-decoration: none; -} -.openerp .oe_kanban_avatar { - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); - -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); -} -.openerp .oe_kanban_status { - display: inline-block; - height: 12px; - width: 12px; - margin: 4px auto; - -moz-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); - -box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); -} -.openerp .oe_kanban_status_green { - background: green; - background-position: center center; - background-image: -webkit-radial-gradient(circle, #55dd55 0%, #44aa44 40%, #339933 100%); - background-image: -moz-radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%); - background-image: -ms-radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%); - background-image: radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%); -} -.openerp .oe_kanban_status_red { - background: red; - background-position: center center; - background-image: -webkit-radial-gradient(circle, #ee7777 0%, #cc3333 40%, #bb0808 100%); - background-image: -moz-radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%); - background-image: -ms-radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%); - background-image: radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%); -} -.openerp .oe_kanban_text_red { - background: red; - color: black; -} .openerp .oe_trad_field.touched { border: 1px solid green !important; } diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 227bdac69a7..c345ca9235b 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -1619,109 +1619,6 @@ $colour4: #8a89ba input text-align: right // }}} - // KanbanView {{{ - .oe_kanban_view - position: absolute - top: 111px - bottom: 0 - .oe_kanban_groups - height: 100% - .oe_kanban_group_title - margin: 1px 1px 4px - font-size: 15px - font-weight: bold - text-shadow: 0 1px 0 white - .oe_kanban_column, .oe_kanban_group_header - vertical-align: top - padding: 6px 7px 6px 6px - background: #f0eeee - border-left: 1px solid #f0f8f8 - border-right: 1px solid #b9b9b9 - .oe_kanban_column - height: 100% - .oe_kanban_aggregates - padding: 0 - .oe_kanban_record - position: relative - display: block - min-height: 50px - margin: 6px 0 - display: block - @include radius(4px) - &:last-child - margin-bottom: 0 - .oe_kanban_title - font-weight: bold - margin: 2px 4px - .oe_kanban_gravatar - width: 20px - height: 20px - @include radius(3px) - @include box-shadow(0 1px 2px rgba(0,0,0,0.2)) - .oe_kanban_avatar_toto - height: 40px - width: 40px - border: 1px solid - border-color: #e5e5e5 #dbdbdb #d2d2d2 - @include radius(3px) - @include box-shadow(0 1px 2px rgba(0,0,0,0.2)) - .oe_kanban_view - position: absolute - top: 111px - bottom: 0 - .oe_kanban_card - position: relative - display: block - min-height: 50px - background: white - border: 1px solid #d8d8d8 - border-bottom-color: #b9b9b9 - padding: 6px - margin: 6px 0 - display: block - @include radius(4px) - &:last-child - margin-bottom: 0 - &:hover - @include box-shadow(0 0 3px rgba(0,0,0,0.6)) - .oe_kanban_menuaction - display: block - h3 - margin: 0 16px 0 0 - .oe_kanban_star - float: left - position: inline-block - margin: 0 4px 0 0 - a.oe_kanban_menuaction - position: absolute - right: 4px - display: none - color: #4c4c4c - cursor: pointer - &:hover - text-decoration: none - .oe_kanban_avatar - @include radius(4px) - @include box-shadow(0 1px 2px rgba(0,0,0,0.2)) - //.oe_kanban_footer_left - // float: left - .oe_kanban_status - display: inline-block - height: 12px - width: 12px - margin: 4px auto - @include radius(6px) - @include box-shadow(0 1px 3px rgba(0,0,0,0.6)) - .oe_kanban_status_green - background: green - @include radial-gradient((#55dd55 0%, #44aa44 40%, #339933 100%)) - .oe_kanban_status_red - background: red - @include radial-gradient((#ee7777 0%, #cc3333 40%, #bb0808 100%)) - .oe_kanban_text_red - background: red - color: #000 - // }}} // Translation {{{ .oe_trad_field.touched border: 1px solid green !important diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css index 2e33f499749..539a6682925 100644 --- a/addons/web_kanban/static/src/css/kanban.css +++ b/addons/web_kanban/static/src/css/kanban.css @@ -1,4 +1,9 @@ @charset "utf-8"; +.openerp .oe_kanban_view { + position: absolute; + top: 111px; + bottom: 0; +} .openerp .oe_kanban_view .ui-sortable-placeholder { border: 1px dotted black; visibility: visible !important; @@ -14,7 +19,28 @@ clear: both; } .openerp .oe_kanban_view .oe_kanban_groups { - width: 100%; + height: 100%; +} +.openerp .oe_kanban_view .oe_kanban_group_title { + margin: 1px 1px 4px; + padding-left: 2px; + font-size: 100%; + font-weight: bold; + color: #333333; + text-shadow: 0 1px 0 white; +} +.openerp .oe_kanban_view .oe_kanban_column, .openerp .oe_kanban_view .oe_kanban_group_header { + vertical-align: top; + padding: 6px 7px 6px 6px; + background: #f0eeee; + border-left: 1px solid #f0f8f8; + border-right: 1px solid #b9b9b9; +} +.openerp .oe_kanban_view .oe_kanban_column { + height: 100%; +} +.openerp .oe_kanban_view .oe_kanban_aggregates { + padding: 0; } .openerp .oe_kanban_view .oe_kanban_group_header { position: relative; @@ -28,12 +54,6 @@ .openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_title_vertical { display: block; } -.openerp .oe_kanban_view .oe_kanban_group_title { - font-size: 100%; - font-weight: bold; - padding-left: 2px; - color: #333333; -} .openerp .oe_kanban_view .oe_kanban_group_title_undefined { color: #666666; } @@ -87,6 +107,46 @@ .openerp .oe_kanban_view .oe_kanban_quick_create button { float: right; } +.openerp .oe_kanban_view .oe_kanban_record { + position: relative; + display: block; + min-height: 50px; + margin: 6px 0; + display: block; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} +.openerp .oe_kanban_view .oe_kanban_record:last-child { + margin-bottom: 0; +} +.openerp .oe_kanban_view .oe_kanban_record .oe_kanban_title { + font-weight: bold; + margin: 2px 4px; +} +.openerp .oe_kanban_view .oe_kanban_gravatar { + display: block; + width: 20px; + height: 20px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); +} +.openerp .oe_kanban_view .oe_kanban_avatar_toto { + height: 40px; + width: 40px; + border: 1px solid; + border-color: #e5e5e5 #dbdbdb #d2d2d2; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); +} .openerp .oe_kanban_view .oe_kanban_box { background: white; border: 2px solid #cccccc; @@ -142,9 +202,6 @@ .openerp .oe_kanban_view .oe_kanban_table tr td.oe_kanban_title { padding: 2px; } -.openerp .oe_kanban_view .oe_kanban_gravatar { - display: block; -} .openerp .oe_kanban_view .oe_kanban_box_content { padding: 4px; font-size: 90%; @@ -201,6 +258,89 @@ display: inline-block; line-height: 1em; } +.openerp .oe_kanban_view .oe_kanban_card { + position: relative; + display: block; + min-height: 50px; + background: white; + border: 1px solid #d8d8d8; + border-bottom-color: #b9b9b9; + padding: 6px; + margin: 6px 0; + display: block; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} +.openerp .oe_kanban_view .oe_kanban_card:last-child { + margin-bottom: 0; +} +.openerp .oe_kanban_view .oe_kanban_card:hover { + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); + -box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); +} +.openerp .oe_kanban_view .oe_kanban_card:hover .oe_kanban_menuaction { + display: block; +} +.openerp .oe_kanban_view .oe_kanban_card h3 { + margin: 0 16px 0 0; +} +.openerp .oe_kanban_view .oe_kanban_star { + float: left; + position: inline-block; + margin: 0 4px 0 0; +} +.openerp .oe_kanban_view a.oe_kanban_menuaction { + position: absolute; + right: 4px; + display: none; + color: #4c4c4c; + cursor: pointer; +} +.openerp .oe_kanban_view a.oe_kanban_menuaction:hover { + text-decoration: none; +} +.openerp .oe_kanban_view .oe_kanban_avatar { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); +} +.openerp .oe_kanban_view .oe_kanban_status { + display: inline-block; + height: 12px; + width: 12px; + margin: 4px auto; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); + -box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); +} +.openerp .oe_kanban_view .oe_kanban_status_green { + background: green; + background-position: center center; + background-image: -webkit-radial-gradient(circle, #55dd55 0%, #44aa44 40%, #339933 100%); + background-image: -moz-radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%); + background-image: -ms-radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%); + background-image: radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%); +} +.openerp .oe_kanban_view .oe_kanban_status_red { + background: red; + background-position: center center; + background-image: -webkit-radial-gradient(circle, #ee7777 0%, #cc3333 40%, #bb0808 100%); + background-image: -moz-radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%); + background-image: -ms-radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%); + background-image: radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%); +} +.openerp .oe_kanban_view .oe_kanban_text_red { + background: red; + color: black; +} .openerp .oe_kanban_view .oe_kanban_color_picker { position: absolute; top: -10px; diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass index 0206736ce6a..45357f04d2e 100644 --- a/addons/web_kanban/static/src/css/kanban.sass +++ b/addons/web_kanban/static/src/css/kanban.sass @@ -1,7 +1,29 @@ @charset "utf-8" +// Mixins {{{ +@mixin radial-gradient($gradient) + background-position: center center + background-image: -webkit-radial-gradient(circle, $gradient) + background-image: -moz-radial-gradient($gradient) + background-image: -ms-radial-gradient($gradient) + background-image: radial-gradient($gradient) + +@mixin radius($radius: 5px) + -moz-border-radius: $radius + -webkit-border-radius: $radius + border-radius: $radius + +@mixin box-shadow($bsval: 0px 1px 4px #777) + -moz-box-shadow: $bsval + -webkit-box-shadow: $bsval + -box-shadow: $bsval +// }}} + .openerp .oe_kanban_view // KanbanView {{{ + position: absolute + top: 111px + bottom: 0 .ui-sortable-placeholder border: 1px dotted black visibility: visible !important @@ -15,21 +37,32 @@ // }}} // KanbanGroups {{{ .oe_kanban_groups - width: 100% + height: 100% + .oe_kanban_group_title + margin: 1px 1px 4px + padding-left: 2px + font-size: 100% + font-weight: bold + color: #333333 + text-shadow: 0 1px 0 white + .oe_kanban_column, .oe_kanban_group_header + vertical-align: top + padding: 6px 7px 6px 6px + background: #f0eeee + border-left: 1px solid #f0f8f8 + border-right: 1px solid #b9b9b9 + .oe_kanban_column + height: 100% + .oe_kanban_aggregates + padding: 0 .oe_kanban_group_header position: relative .oe_kanban_group_folded padding: 0 5px 0 5px - .oe_kanban_group_folded .oe_kanban_group_title, &.oe_kanban_column > *, .oe_kanban_aggregates display: none .oe_kanban_group_title_vertical display: block - .oe_kanban_group_title - font-size: 100% - font-weight: bold - padding-left: 2px - color: #333333 .oe_kanban_group_title_undefined color: #666666 .oe_kanban_group_title_vertical @@ -80,6 +113,31 @@ float: right // }}} // KanbanRecords {{{ + .oe_kanban_record + position: relative + display: block + min-height: 50px + margin: 6px 0 + display: block + @include radius(4px) + &:last-child + margin-bottom: 0 + .oe_kanban_title + font-weight: bold + margin: 2px 4px + .oe_kanban_gravatar + display: block + width: 20px + height: 20px + @include radius(3px) + @include box-shadow(0 1px 2px rgba(0,0,0,0.2)) + .oe_kanban_avatar_toto + height: 40px + width: 40px + border: 1px solid + border-color: #e5e5e5 #dbdbdb #d2d2d2 + @include radius(3px) + @include box-shadow(0 1px 2px rgba(0,0,0,0.2)) .oe_kanban_box background: #FFF border: 2px solid #CCC @@ -123,8 +181,6 @@ padding: 0 .oe_kanban_table tr td.oe_kanban_title padding: 2px - .oe_kanban_gravatar - display: block .oe_kanban_box_content padding: 4px font-size: 90% @@ -170,7 +226,58 @@ white-space: nowrap display: inline-block line-height: 1em - + .oe_kanban_card + position: relative + display: block + min-height: 50px + background: white + border: 1px solid #d8d8d8 + border-bottom-color: #b9b9b9 + padding: 6px + margin: 6px 0 + display: block + @include radius(4px) + &:last-child + margin-bottom: 0 + &:hover + @include box-shadow(0 0 3px rgba(0,0,0,0.6)) + .oe_kanban_menuaction + display: block + h3 + margin: 0 16px 0 0 + .oe_kanban_star + float: left + position: inline-block + margin: 0 4px 0 0 + a.oe_kanban_menuaction + position: absolute + right: 4px + display: none + color: #4c4c4c + cursor: pointer + &:hover + text-decoration: none + .oe_kanban_avatar + @include radius(4px) + @include box-shadow(0 1px 2px rgba(0,0,0,0.2)) + //.oe_kanban_footer_left + // float: left + .oe_kanban_status + display: inline-block + height: 12px + width: 12px + margin: 4px auto + @include radius(6px) + @include box-shadow(0 1px 3px rgba(0,0,0,0.6)) + .oe_kanban_status_green + background: green + @include radial-gradient((#55dd55 0%, #44aa44 40%, #339933 100%)) + .oe_kanban_status_red + background: red + @include radial-gradient((#ee7777 0%, #cc3333 40%, #bb0808 100%)) + .oe_kanban_text_red + background: red + color: #000 // }}} // KanbanColorPicker {{{ .oe_kanban_color_picker From 0aa18780d22eff54ec1dc1f8859ac1f472a82066 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 22 May 2012 15:40:49 +0200 Subject: [PATCH 07/10] [ADD] Kanban: add dropdown menu bzr revid: fme@openerp.com-20120522134049-ciugahe41ytuqzet --- addons/web_kanban/static/src/css/kanban.css | 58 ++++++++++++++++---- addons/web_kanban/static/src/css/kanban.sass | 46 +++++++++++++--- addons/web_kanban/static/src/js/kanban.js | 31 +++++++++-- 3 files changed, 111 insertions(+), 24 deletions(-) diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css index 539a6682925..ee0517807e6 100644 --- a/addons/web_kanban/static/src/css/kanban.css +++ b/addons/web_kanban/static/src/css/kanban.css @@ -291,16 +291,6 @@ position: inline-block; margin: 0 4px 0 0; } -.openerp .oe_kanban_view a.oe_kanban_menuaction { - position: absolute; - right: 4px; - display: none; - color: #4c4c4c; - cursor: pointer; -} -.openerp .oe_kanban_view a.oe_kanban_menuaction:hover { - text-decoration: none; -} .openerp .oe_kanban_view .oe_kanban_avatar { -moz-border-radius: 4px; -webkit-border-radius: 4px; @@ -341,6 +331,54 @@ background: red; color: black; } +.openerp .oe_kanban_view a.oe_kanban_menuaction { + position: absolute; + top: 0px; + right: 3px; + display: none; + color: #4c4c4c; + cursor: pointer; +} +.openerp .oe_kanban_view a.oe_kanban_menuaction:hover { + text-decoration: none; +} +.openerp .oe_kanban_view .oe_kanban_menu { + display: none; + position: absolute; + top: 30px; + right: -140px; + padding: 4px; + border: 1px solid #afafb6; + width: 160px; + overflow-x: hidden; + z-index: 900; + background: white; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); + -box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); +} +.openerp .oe_kanban_view .oe_kanban_menu p { + margin-left: 12px; +} +.openerp .oe_kanban_view .oe_kanban_menu li a { + display: block; + padding: 3px 6px; + line-height: 14px; + color: #4c4c4c; + text-decoration: none; +} +.openerp .oe_kanban_view .oe_kanban_menu li a:hover { + background: #f0f0fa; + background: -moz-linear-gradient(#f0f0fa, #eeeef6); + background: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6)); + background: -webkit-linear-gradient(#f0f0fa, #eeeef6); + -moz-box-shadow: none; + -webkit-box-shadow: none; + -box-shadow: none; +} .openerp .oe_kanban_view .oe_kanban_color_picker { position: absolute; top: -10px; diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass index 45357f04d2e..0c1cabd8e05 100644 --- a/addons/web_kanban/static/src/css/kanban.sass +++ b/addons/web_kanban/static/src/css/kanban.sass @@ -249,14 +249,6 @@ float: left position: inline-block margin: 0 4px 0 0 - a.oe_kanban_menuaction - position: absolute - right: 4px - display: none - color: #4c4c4c - cursor: pointer - &:hover - text-decoration: none .oe_kanban_avatar @include radius(4px) @include box-shadow(0 1px 2px rgba(0,0,0,0.2)) @@ -279,6 +271,44 @@ background: red color: #000 // }}} + // KanbanDropDown {{{ + a.oe_kanban_menuaction + position: absolute + top: 0px + right: 3px + display: none + color: #4c4c4c + cursor: pointer + &:hover + text-decoration: none + .oe_kanban_menu + display: none + position: absolute + top: 30px + right: -140px + padding: 4px + border: 1px solid #afafb6 + width: 160px + overflow-x: hidden + z-index: 900 + background: white + @include radius(3px) + @include box-shadow(0 1px 4px rgba(0,0,0,0.3)) + p + margin-left: 12px + li a + display: block + padding: 3px 6px + line-height: 14px + color: #4c4c4c + text-decoration: none + li a:hover + background: #f0f0fa + background: -moz-linear-gradient(#f0f0fa, #eeeef6) + background: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6)) + background: -webkit-linear-gradient(#f0f0fa, #eeeef6) + @include box-shadow(none) + // }}} // KanbanColorPicker {{{ .oe_kanban_color_picker position: absolute diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 1b06fd91ce1..c4d74e8d719 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -34,6 +34,25 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ this.limit = options.limit || 80; this.add_group_mutex = new $.Mutex(); }, + start: function() { + var self = this; + this._super.apply(this, arguments); + // Bind kanban cards dropdown menus + this.$element.on('click', '.oe_kanban_menuaction', function() { + var $menu = $(this).next('.oe_kanban_menu'); + var toggle = $menu.is(':visible'); + self.$element.find('.oe_kanban_menu').hide(); + $menu.toggle(!toggle); + return false; + }); + $('html').on('click', function() { + self.$element.find('.oe_kanban_menu').hide(); + }); + }, + destroy: function() { + this._super.apply(this, arguments); + $('html').off('click'); + }, on_loaded: function(data) { this.fields_view = data; this.$buttons = $(QWeb.render("KanbanView.buttons", {'widget': this})); @@ -359,7 +378,7 @@ instance.web_kanban.KanbanGroup = instance.web.OldWidget.extend({ if (!this.view.state.groups[key]) { this.view.state.groups[key] = { folded: false - } + }; } this.state = this.view.state.groups[key]; this.$records = null; @@ -534,8 +553,8 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({ }); }, bind_events: function() { - var self = this, - $show_on_click = self.$element.find('.oe_kanban_box_show_onclick'); + var self = this; + var $show_on_click = self.$element.find('.oe_kanban_box_show_onclick'); $show_on_click.toggle(this.state.folded); this.$element.find('.oe_kanban_box_show_onclick_trigger').click(function() { $show_on_click.toggle(); @@ -559,7 +578,8 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({ trigger: 'hover' }); - this.$element.find('.oe_kanban_action').click(function() { + this.$element.find('.oe_kanban_action').click(function(ev) { + ev.preventDefault(); var $action = $(this), type = $action.data('type') || 'button', method = 'do_action_' + (type === 'action' ? 'object' : type); @@ -570,7 +590,6 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({ } else { self.do_warn("Kanban: no action for type : " + type); } - return false; }); }, do_action_delete: function($action) { @@ -600,7 +619,7 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({ $cpicker.mouseenter(function() { clearTimeout($cpicker.data('timeoutId')); }).mouseleave(function(evt) { - var timeoutId = setTimeout(function() { $cpicker.remove() }, 500); + var timeoutId = setTimeout(function() { $cpicker.remove(); }, 500); $cpicker.data('timeoutId', timeoutId); }); $cpicker.find('a').click(function() { From cba255384f575dfa419bf1926af74861d996c5d5 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 22 May 2012 16:32:35 +0200 Subject: [PATCH 08/10] [IMP] Kanban: If no draghandle is found, make the whole card as draghandle bzr revid: fme@openerp.com-20120522143235-hores2mntqc82lde --- addons/web_kanban/static/src/js/kanban.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index c4d74e8d719..93a726d7dce 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -578,6 +578,11 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({ trigger: 'hover' }); + // If no draghandle is found, make the whole card as draghandle + if (!this.$element.find('.oe_kanban_draghandle').length) { + this.$element.children(':first').addClass('oe_kanban_draghandle'); + } + this.$element.find('.oe_kanban_action').click(function(ev) { ev.preventDefault(); var $action = $(this), From 3e8106fb3c2f01584b6895725947909683f2bbc5 Mon Sep 17 00:00:00 2001 From: Minh Tran Date: Tue, 22 May 2012 19:24:50 +0200 Subject: [PATCH 09/10] restyling of kanban vignette bzr revid: mit@openerp.com-20120522172450-865u5cghip3v97zn --- addons/web/static/src/css/base.css | 2 +- addons/web_kanban/static/src/css/kanban.sass | 22 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 22559ca8aba..72b264428fd 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1,4 +1,4 @@ -@charset "utf-8"; +@charset "UTF-8"; @font-face { font-family: "mnmliconsRegular"; src: url("/web/static/src/font/mnmliconsv21-webfont.eot") format("eot"); diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass index 0c1cabd8e05..59db3fc8743 100644 --- a/addons/web_kanban/static/src/css/kanban.sass +++ b/addons/web_kanban/static/src/css/kanban.sass @@ -113,6 +113,28 @@ float: right // }}} // KanbanRecords {{{ + .oe_kanban_vignette + padding: 8px + min-height: 100px + .oe_kanban_image + display: inline-block + vertical-align: top + width: 64px + height: 64px + text-align: center + overflow: hidden + @include radius(3px) + @include box-shadow(0 1px 4px rgba(0, 0, 0, 0.4)) + .oe_kanban_details + display: inline-block + vertical-align: top + width: 240px + font-size: 13px + padding: 0 5px + color: #4c4c4c + min-height: 120px + h4 + margin: 0 0 4px 0 .oe_kanban_record position: relative display: block From 15e41cb171508c80fbec0f354b9eb75822af4984 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 23 May 2012 10:53:58 +0200 Subject: [PATCH 10/10] [ADD] Added Kanban oe_kanban_auto_height class. bzr revid: fme@openerp.com-20120523085358-03mfl919f3b2w8yz --- addons/web_kanban/static/src/js/kanban.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 93a726d7dce..e6f9b23258f 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -424,18 +424,23 @@ instance.web_kanban.KanbanGroup = instance.web.OldWidget.extend({ this.$element.data('widget', this); this.$records.data('widget', this); this.$has_been_started.resolve(); - this.compute_cards_height(); + this.compute_cards_auto_height(); return def; }, - compute_cards_height: function() { + compute_cards_auto_height: function() { + // oe_kanban_auto_height is an empty class used by the kanban view in order + // to normalize height amongst kanban cards. (by group) var self = this; var min_height = 0; + var els = []; _.each(this.records, function(r) { - min_height = Math.max(min_height, r.$element.outerHeight()); - }); - _.each(this.records, function(r) { - r.$element.css('min-height', min_height); + var $e = r.$element.find('.oe_kanban_auto_height').first(); + if ($e.length) { + els.push($e[0]); + min_height = Math.max(min_height, $e.outerHeight()); + } }); + $(els).css('min-height', min_height); }, destroy: function() { this._super();