From 90a9e522f3190a314fca289066943f312cd637f3 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 18 Dec 2013 12:49:01 +0100 Subject: [ADD] placeholder support on t-field A placeholder is looked up: 1. in the field's options ("placeholder") 2. on the t-field node itself (@placeholder) 3. on the field's column (.placeholder) The first one found is used as the @placeholder of the resulting node (in-HTML), and displayed when the field is empty and unfocused. If no placeholder is found, an empty field just gets a small padding in order to be easier to see & focus. bzr revid: xmo@openerp.com-20131218114901-xi3ye11x5pysq2a2 --- addons/website/static/src/css/editor.css | 8 +++++++- addons/website/static/src/css/editor.sass | 15 ++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) (limited to 'addons/website/static/src/css') diff --git a/addons/website/static/src/css/editor.css b/addons/website/static/src/css/editor.css index e40d6996850..e21bfc1fbe8 100644 --- a/addons/website/static/src/css/editor.css +++ b/addons/website/static/src/css/editor.css @@ -211,9 +211,15 @@ ul.oe_menu_editor .disclose { } .cke_widget_editable:empty:after { - content: " "; + opacity: 0.3; white-space: pre-wrap; } +.cke_widget_editable:not([placeholder]):empty::after { + content: " "; +} +.cke_widget_editable[placeholder]:not(:focus):empty::after { + content: attr(placeholder); +} .oe_carlos_danger { outline: 1px solid red !important; diff --git a/addons/website/static/src/css/editor.sass b/addons/website/static/src/css/editor.sass index 38b1d9f3436..ff62f416d8d 100644 --- a/addons/website/static/src/css/editor.sass +++ b/addons/website/static/src/css/editor.sass @@ -171,11 +171,20 @@ ul.oe_menu_editor // Breaks completely horribly crazy products listing page, so take it out. .cke_widget_wrapper position: static !important + // prevent inline widgets from entirely disappearing when their (textual) // content is removed -.cke_widget_editable:empty:after - content: " " - white-space: pre-wrap +.cke_widget_editable + // basic config + &:empty:after + opacity: 0.3 + white-space: pre-wrap + // no @placeholder -> just add some padding + &:not([placeholder]):empty::after + content: " " + // with placeholder and when not (yet) focused -> display placeholder + &[placeholder]:not(:focus):empty::after + content: attr(placeholder) .oe_carlos_danger outline: 1px solid red !important -- cgit v1.2.3