Hello.
I'm trying to get my feet wet in adding some features to Beaker and running
into some hurdles.  I was hoping to get some pointers please.

It would be helpful to have the ability to exclude all distros for a
system. I have placed 2 buttons on the SystemExclude form but it is VERY
crudely done. Part of the issue is that I'm not sure that I'm linking the
util.js file correctly,  When I debug in a browser I can see the util file
is available but none of my appends to it are available(setup
build/install/restart httpd did not correct).  I placed my functions inline
in the template but am very limited and have not been able to get arch
variables going correctly.

Any helpful information on how I can do better with widgets in Beaker?
Thanks, Shawn


 index 9246918..3a9b65f 100644
--- a/Server/bkr/server/widgets.py
+++ b/Server/bkr/server/widgets.py
@@ -41,7 +41,7 @@ class
AutoCompleteTextField(widgets.AutoCompleteTextField):

     template="""
     <span xmlns:py="http://purl.org/kid/ns#"; class="${field_class}">
-    <script type="text/javascript">
+    <script type="text/javascript" src='/static/javascript/util.js'>
         AutoCompleteManager${field_id} = new
AutoCompleteManager('${field_id}', '${field_id}', null,
         '${search_controller}', '${search_param}', '${result_name}',
${str(only_suggest).lower()},
         '${show_spinner and
tg.url('/tg_widgets/turbogears.widgets/spinner.gif') or None}',
@@ -951,9 +951,31 @@ class SystemExclude(Form):
           method="${method}" width="100%">
      ${display_field_for("id")}
      ${display_field_for("excluded_families")}
-     <a py:if="not readonly" class="btn btn-primary"
href="javascript:document.${name}.submit();">Save Exclude Changes</a>
+
+    <!-- separate checkall from source-->
+    <span class="checkAll">
+    <a py:if="not readonly" class="btn btn-secondary btn-sm" role="button"
onclick='javascript:checkMajor()'>Exclude All</a>
+    <!-- Todo toggle capability & proper variable for arch -->
+    <script type="text/javascript">
+    function checkMajor(){
+       $('[name="excluded_families.x86_64"]').prop("checked", true);
+       $('[name="excluded_families.i386"]').prop("checked", true);
+    }
+    </script>
+    <a py:if="not readonly" class="btn btn-secondary btn-sm" role="button"
onclick='javascript:uncheckMajor()'>Exclude None</a>
+    <script type="text/javascript">
+    function uncheckMajor(){
+        $('[name="excluded_families.x86_64"]').prop("checked", false);
+        $('[name="excluded_families.i386"]').prop("checked", false);
+    }
+    </script>
+    </span>
+
+    <a py:if="not readonly" class="btn btn-primary"
href="javascript:document.${name}.submit();">Save Exclude Changes</a>
     </form>
     """
+    #not seeing js link in debug
+    javascript = [LocalJSLink('bkr', '/static/javascript/util.js')]
     member_widgets = ["id", "excluded_families"]
     params = ['options', 'readonly']
     params_doc = {}


--- a/Server/bkr/server/static/javascript/util.js
+++ b/Server/bkr/server/static/javascript/util.js
@@ -109,3 +109,19 @@ function system_action_remote_form_request(form,
options, action) {
     remoteRequest(form, action, null, query, options);
     return true;
 }
+
+
+function checkMajorCheckboxes(){
+       var majorDistro =
document.getElementsByName("excluded_families.x86_64");
+       for (var i = 0; i < majorDistro.length; i++){
+               majorDistro[i].checked = true;
+       }
+}
+
+function toggleMajorCheckboxes(){
+       var majorDistro =
document.getElementsByName("excluded_families.x86_64");
+       for (var i = 0; i < majorDistro.length; i++){
+               majorDistro[i].checked = !majorDistro[i].checked;
+               }
+}
+



-- 

Shawn Doherty

Software Engineer, Kernel-HW

Red Hat

<https://www.redhat.com>

314 Littleton Rd

Westford, MA 01886

sdohe...@redhat.com    T: 19785891080 INTERNAL:-8131080     IM: sdoherty
<https://red.ht/sig>
_______________________________________________
Beaker-devel mailing list -- beaker-devel@lists.fedorahosted.org
To unsubscribe send an email to beaker-devel-le...@lists.fedorahosted.org

Reply via email to