diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 30c0b5ea0b3..e929ec6c16b 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -20,6 +20,50 @@ font-style: normal; } +@-moz-keyframes bounce { + 0% { + -moz-transform: scale(0); + opacity: 0; + } + + 50% { + -moz-transform: scale(1.3); + opacity: 0.4; + } + + 75% { + -moz-transform: scale(0.9); + opacity: 0.7; + } + + 100% { + -moz-transform: scale(1); + opacity: 1; + } +} + +@-webkit-keyframes bounce { + 0% { + -webkit-transform: scale(0); + opacity: 0; + } + + 50% { + -webkit-transform: scale(1.3); + opacity: 0.4; + } + + 75% { + -webkit-transform: scale(0.9); + opacity: 0.7; + } + + 100% { + -webkit-transform: scale(1); + opacity: 1; + } +} + .openerp.openerp_webclient_container { height: 100%; position: relative; @@ -186,6 +230,11 @@ .openerp .ui-menu .ui-menu-item a.ui-state-active { background: #f0f0fa; } +.openerp div.ui-widget-overlay { + background: black; + filter: alpha(opacity=30); + opacity: 0.3; +} .openerp.ui-dialog { display: none; padding: 6px; @@ -497,6 +546,10 @@ .openerp .oe_webclient .oe_star_on { color: gold; } +.openerp .oe_bounce { + -moz-animation: bounce 0.4s linear; + -webkit-animation: bounce 0.4s linear; +} .openerp .oe_tag { border-radius: 2px; -webkit-box-sizing: border-box; @@ -2363,6 +2416,58 @@ .openerp .oe_list_content .numeric input { text-align: right; } +.openerp .tree_header { + background-color: #f0f0f0; + border-bottom: 1px solid #cacaca; + color: #4c4c4c; + padding: 5px; + height: 25px; +} +.openerp .tree_header button { + float: right; + height: 27px; + margin-right: 5px; +} +.openerp .oe-treeview-table { + width: 100%; + background-color: white; + border-spacing: 0; +} +.openerp .oe-treeview-table th { + padding: 10px; + color: #4c4c4c; + font-weight: bold; + background-color: #f0f0f0; + border-bottom: 2px solid #cacaca; +} +.openerp .oe-treeview-table .treeview-tr, .openerp .oe-treeview-table .treeview-td { + cursor: pointer; + border-right: 1px dotted #afafb6; + vertical-align: top; + text-align: left; + border-bottom: 1px solid #cfcccc; +} +.openerp .oe-treeview-table tr:hover { + background-color: #e0e0f8; +} +.openerp .oe-treeview-table .oe-number { + text-align: right !important; +} +.openerp .oe-treeview-table span { + font-size: 90%; + font-weight: normal; + white-space: nowrap; + display: block; +} +.openerp .oe-treeview-table .treeview-tr.oe-treeview-first { + background: transparent url(/web/static/src/img/expand.gif) 0 50% no-repeat; +} +.openerp .oe-treeview-table .oe_open .treeview-tr.oe-treeview-first { + background-image: url(/web/static/src/img/collapse.gif); +} +.openerp .oe-treeview-table .treeview-tr.oe-treeview-first span, .openerp .oe-treeview-table .treeview-td.oe-treeview-first span { + margin-left: 16px; +} .openerp .oe_trad_field.touched { border: 1px solid green !important; } @@ -2428,59 +2533,6 @@ color: #333333; } -.openerp .tree_header { - background-color: #f0f0f0; - border-bottom: 1px solid #cacaca; - color: #4c4c4c; - padding: 5px; - height: 25px; -} -.openerp .tree_header button { - float: right; - height: 27px; - margin-right: 5px; -} -.openerp .oe-treeview-table { - width: 100%; - background-color: white; - border-spacing: 0; -} -.openerp .oe-treeview-table th { - padding: 10px; - color: #4c4c4c; - font-weight: bold; - background-color: #f0f0f0; - border-bottom: 2px solid #cacaca; -} -.openerp .oe-treeview-table .treeview-tr, .openerp .oe-treeview-table .treeview-td { - cursor: pointer; - border-right: 1px dotted #afafb6; - vertical-align: top; - text-align: left; - border-bottom: 1px solid #cfcccc; -} -.openerp .oe-treeview-table tr:hover { - background-color: #e0e0f8; -} -.openerp .oe-treeview-table .oe-number { - text-align: right !important; -} -.openerp .oe-treeview-table span { - font-size: 90%; - font-weight: normal; - white-space: nowrap; - display: block; -} -.openerp .oe-treeview-table .treeview-tr.oe-treeview-first { - background: transparent url(/web/static/src/img/expand.gif) 0 50% no-repeat; -} -.openerp .oe-treeview-table .oe_open .treeview-tr.oe-treeview-first { - background-image: url(/web/static/src/img/collapse.gif); -} -.openerp .oe-treeview-table .treeview-tr.oe-treeview-first span, .openerp .oe-treeview-table .treeview-td.oe-treeview-first span { - margin-left: 16px; -} - .kitten-mode-activated { background-image: url(http://placekitten.com/g/1365/769); background-size: cover; @@ -2489,9 +2541,3 @@ .kitten-mode-activated > * { opacity: 0.7; } - -div.ui-widget-overlay { - background: black; - filter: alpha(opacity=30); - opacity: 0.3; -} diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 7fbe5c1c336..c9e00c65a8a 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -97,6 +97,35 @@ $sheet-max-width: 860px color: $color // }}} +// CSS animation bounces {{{ +@-moz-keyframes bounce + 0% + -moz-transform: scale(0) + opacity: 0 + 50% + -moz-transform: scale(1.3) + opacity: 0.4 + 75% + -moz-transform: scale(0.9) + opacity: 0.7 + 100% + -moz-transform: scale(1) + opacity: 1 + +@-webkit-keyframes bounce + 0% + -webkit-transform: scale(0) + opacity: 0 + 50% + -webkit-transform: scale(1.3) + opacity: 0.4 + 75% + -webkit-transform: scale(0.9) + opacity: 0.7 + 100% + -webkit-transform: scale(1) + opacity: 1 +// }}} .openerp.openerp_webclient_container height: 100% @@ -200,7 +229,9 @@ $sheet-max-width: 860px width: auto a.ui-state-active background: #f0f0fa - + div.ui-widget-overlay + background: black + @include opacity(0.3) // Modal box &.ui-dialog display: none @@ -390,6 +421,9 @@ $sheet-max-width: 860px text-decoration: none .oe_star_on color: gold + .oe_bounce + -moz-animation: bounce .40s linear + -webkit-animation: bounce .40s linear // }}} // Tags (for many2many tags, among others) {{{ .oe_tag @@ -1846,6 +1880,49 @@ $sheet-max-width: 860px input text-align: right // }}} + // Tree view {{{ + .tree_header + background-color: #f0f0f0 + border-bottom: 1px solid #cacaca + color: #4c4c4c + padding: 5px + height: 25px + button + float: right + height: 27px + margin-right: 5px + .oe-treeview-table + width: 100% + background-color: white + border-spacing: 0 + th + padding: 10px + color: #4c4c4c + font-weight: bold + background-color: #f0f0f0 + border-bottom: 2px solid #cacaca + .treeview-tr, .treeview-td + cursor: pointer + border-right: 1px dotted #afafb6 + vertical-align: top + text-align: left + border-bottom: 1px solid #cfcccc + tr:hover + background-color: #e0e0f8 + .oe-number + text-align: right !important + span + font-size: 90% + font-weight: normal + white-space: nowrap + display: block + .treeview-tr.oe-treeview-first + background: transparent url(/web/static/src/img/expand.gif) 0 50% no-repeat + .oe_open .treeview-tr.oe-treeview-first + background-image: url(/web/static/src/img/collapse.gif) + .treeview-tr.oe-treeview-first span, .treeview-td.oe-treeview-first span + margin-left: 16px + // }}} // Translation {{{ .oe_trad_field.touched border: 1px solid green !important @@ -1903,49 +1980,6 @@ $sheet-max-width: 860px float: right color: #333 // }}} -//Tree view -.openerp - .tree_header - background-color: #f0f0f0 - border-bottom: 1px solid #cacaca - color: #4c4c4c - padding: 5px - height: 25px - button - float: right - height: 27px - margin-right: 5px - .oe-treeview-table - width: 100% - background-color: white - border-spacing: 0 - th - padding: 10px - color: #4c4c4c - font-weight: bold - background-color: #f0f0f0 - border-bottom: 2px solid #cacaca - .treeview-tr, .treeview-td - cursor: pointer - border-right: 1px dotted #afafb6 - vertical-align: top - text-align: left - border-bottom: 1px solid #cfcccc - tr:hover - background-color: #e0e0f8 - .oe-number - text-align: right !important - span - font-size: 90% - font-weight: normal - white-space: nowrap - display: block - .treeview-tr.oe-treeview-first - background: transparent url(/web/static/src/img/expand.gif) 0 50% no-repeat - .oe_open .treeview-tr.oe-treeview-first - background-image: url(/web/static/src/img/collapse.gif) - .treeview-tr.oe-treeview-first span, .treeview-td.oe-treeview-first span - margin-left: 16px // Kitten Mode {{{ .kitten-mode-activated background-image: url(http://placekitten.com/g/1365/769) @@ -1956,8 +1990,6 @@ $sheet-max-width: 860px // }}} -div.ui-widget-overlay - background: black - @include opacity(0.3) + // au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers > "%:p:r.css" // vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker: diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index f8f09ae2762..5f12c82167e 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -149,6 +149,15 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM { label: _t('Set Default'), callback: function (item) { self.open_defaults_dialog(); } }, ]); } + + // Add bounce effect on button 'Edit' when click on readonly page view. + this.$element.find(".oe_form_field, .oe_form_group_cell").on('click', function (e) { + if(self.get("mode") == "view") { + var $button = self.options.$buttons.find(".oe_form_button_edit"); + $button.wrap('
').css('margin-right','4px').addClass('oe_left oe_bounce'); + } + }); + this.on("change:mode", this, this.switch_mode); this.set({mode: this.options.initial_mode}); this.has_been_loaded.resolve(); diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 5a22b9e5ba5..cd12953adcd 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -420,6 +420,15 @@ instance.web_kanban.KanbanGroup = instance.web.OldWidget.extend({ self.quick.appendTo($(".oe_kanban_group_list_header", self.$records)); self.quick.focus(); }); + // Add bounce effect on image '+' of kanban header when click on empty space of kanban grouped column. + var add_btn = this.$element.find('.oe_kanban_add'); + this.$records.click(function (ev) { + if (ev.target == ev.currentTarget) { + if (!self.state.folded) { + add_btn.wrap('
').addClass('oe_bounce'); + } + } + }); this.$records.find('.oe_kanban_show_more').click(this.do_show_more); if (this.state.folded) { this.do_toggle_fold();