diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css
index 28be6242e49532e10964a59909a8d722a466158b..2a1541e6c411ce4db6fcd892938ac74e290bb137 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css
@@ -1030,6 +1030,9 @@ div[data-gadget-scope='header'] .ui-header ul a {
 div[data-gadget-scope='erp5_searchfield'] .ui-input-text {
   display: flex;
 }
+div[data-gadget-scope='erp5_searchfield'] .ui-input-text div[data-gadget-scope='input'] {
+  width: 100%;
+}
 div[data-gadget-scope='erp5_searchfield'] button {
   margin-left: 0.5em;
   padding: 0.5em;
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml
index b67c1d93034fe9e0751621a2e5717057d4e715db..6d820c45a665f2138dfd55b8b48fa46347696d33 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml
@@ -236,7 +236,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>954.17329.52209.1706</string> </value>
+                <value> <string>954.22971.45413.40994</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -254,7 +254,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1475500541.53</float>
+                        <float>1475501272.94</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_html.html b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_html.html
index 61669f0c63478f935da433d05257beb810f63a0c..7bc4bc2b3e39b630a84f6b4572ac7714ee787632 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_html.html
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_html.html
@@ -8,20 +8,17 @@
     <!-- renderjs -->
     <script src="rsvp.js"></script>
     <script src="renderjs.js"></script>
-    <script src="handlebars.js"></script>
 
     <!-- custom script -->
     <script src="gadget_erp5_searchfield.js"></script>
 
-   <script id="panel-template" type="text/x-handlebars-template">
-     <div class="ui-input-text ui-body-{{theme}} ui-input-has-icon ui-corner-all ui-shadow-inset ui-input-has-clear">
-       <input type="search" data-enhanced="true" value="{{widget_value}}" name="search" {{widget_status_attribute}}>
-       <button class="search_button ui-shadow-inset ui-btn ui-btn-inline ui-corner-all ui-btn-{{theme}} ui-btn-icon-notext ui-icon-search ui-override-theme ui-input-btn" data-role="button" data-enhanced="true" type="submit" />
-     </div>
-   </script>
-
   </head>
   <body>
-    <div class="save_form document_form"></div>
+     <div class="ui-input-text ui-input-has-icon ui-corner-all ui-shadow-inset ui-input-has-clear">
+       <div data-gadget-url="gadget_html5_input.html"
+              data-gadget-scope="input"
+              data-gadget-sandbox="public"></div>
+       <button class="search_button ui-shadow-inset ui-btn ui-btn-inline ui-corner-all ui-btn-icon-notext ui-icon-search ui-override-theme ui-input-btn" data-role="button" data-enhanced="true" type="submit" />
+     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_html.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_html.xml
index f1d588c8b21604917c6d98f2377f76982ef09c6c..c9eb381716fe9defdbf0856eac7007dcd3409e8b 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_html.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_html.xml
@@ -234,7 +234,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>952.1567.50811.55193</string> </value>
+                <value> <string>954.5699.4335.63061</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -252,7 +252,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1467032063.71</float>
+                        <float>1474550671.81</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_js.js
index d92c788923dd85b520225fca1acaa580c639d3df..248e6309e8f87bac3041801cbf4449f3f6d98247 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_js.js
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_js.js
@@ -1,82 +1,52 @@
-/*global window, rJS, RSVP, Handlebars */
+/*global window, rJS */
 /*jslint nomen: true, indent: 2, maxerr: 3 */
-(function (window, rJS, RSVP, Handlebars) {
+(function (window, rJS) {
   "use strict";
 
-  /////////////////////////////////////////////////////////////////
-  // Handlebars
-  /////////////////////////////////////////////////////////////////
-  // Precompile the templates while loading the first gadget instance
-  var gadget_klass = rJS(window),
-    source = gadget_klass.__template_element
-                         .getElementById("panel-template")
-                         .innerHTML,
-    panel_template = Handlebars.compile(source);
-
-  gadget_klass
+  rJS(window)
     /////////////////////////////////////////////////////////////////
-    // ready
+    // declared methods
     /////////////////////////////////////////////////////////////////
-    // Init local properties
-    .ready(function (g) {
-      g.props = {};
+    .declareMethod('render', function (options) {
+      var state_dict = {
+        extended_search: options.extended_search || ""
+      };
+
+      return this.changeState(state_dict);
     })
 
-    // Assign the element to a variable
-    .ready(function (g) {
-      return g.getElement()
-        .push(function (element) {
-          g.props.element = element;
+    .declareMethod('updateDOM', function () {
+      var gadget = this;
+      return gadget.getDeclaredGadget('input')
+        .push(function (input_gadget) {
+          var focus = false;
+          if (!gadget.state.extended_search) {
+            focus = true;
+          }
+          return input_gadget.render({
+            type: "search",
+            value: gadget.state.extended_search,
+            focus: focus,
+            name: "search",
+            editable: true
+          });
         });
     })
 
-    //////////////////////////////////////////////
-    // acquired method
-    //////////////////////////////////////////////
-    .declareAcquiredMethod("translateHtml", "translateHtml")
-
-    /////////////////////////////////////////////////////////////////
-    // declared methods
-    /////////////////////////////////////////////////////////////////
-    .declareMethod('render', function (option_dict) {
-      var append_class,
-        append_attribute,
-        placeholder = "",
-        is_disabled = option_dict.disabled,
-        search_gadget = this;
+    .allowPublicAcquisition("notifyValid", function () {return; })
 
-      if (is_disabled) {
-        append_class = " ui-disabled";
-        append_attribute = ' disabled="disabled';
-      }
-      search_gadget.props.extended_search = option_dict.extended_search;
-      return new RSVP.Queue()
-        .push(function () {
-          return search_gadget.translateHtml(panel_template({
-            widget_value: option_dict.extended_search || placeholder,
-            widget_theme: option_dict.theme || "c",
-            widget_status_attribute: append_attribute || placeholder,
-            widget_status_class: append_class || placeholder
-          }));
+    .declareMethod('getContent', function () {
+      return this.getDeclaredGadget('input')
+        .push(function (input_gadget) {
+          return input_gadget.getContent();
         })
-        .push(function (my_translated_html) {
-          search_gadget.props.element.querySelector("div").innerHTML =
-            my_translated_html;
-          return search_gadget;
+        .push(function (result) {
+          if (result.search) {
+            // XXX trim from input gadget?
+            result.search = result.search.trim();
+          }
+          return result;
         });
-    })
-
-    .declareMethod('getContent', function () {
-      var input = this.props.element.querySelector('input'),
-        value = input.value,
-        result = {};
-
-      if (value) {
-        value = value.trim();
-      }
-
-      result[input.getAttribute('name')] = value;
-      return result;
     });
 
-}(window, rJS, RSVP, Handlebars));
\ No newline at end of file
+}(window, rJS));
\ No newline at end of file
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_js.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_js.xml
index 04b7171d68d829f2d053e1c10969e97a38ea73d7..385d28a87ade5b479989a5d0cd4c884263976bc1 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_js.xml
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searchfield_js.xml
@@ -230,7 +230,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>952.57378.47936.47257</string> </value>
+                <value> <string>954.17331.42805.29064</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -248,7 +248,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1469806120.58</float>
+                        <float>1475248801.1</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt b/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt
index 5894c59cd427a47bb2a73d0fb158e68968be9bc1..76cf13d7179ae47ccaf319af597191546b9e5262 100644
--- a/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt
+++ b/bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt
@@ -1203,6 +1203,9 @@ div[data-gadget-scope='header'] .ui-header {
 div[data-gadget-scope='erp5_searchfield'] {
   .ui-input-text {
     display: flex;
+    div[data-gadget-scope='input'] {
+      width: 100%;
+    }
   }
   button {
     margin-left: 0.5em;