From 81bdb4be8ef8853f1670ad2ab8f86c872e7346c7 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Tue, 21 Aug 2012 20:39:04 -0400 Subject: [PATCH] Updated to Behaviour.specify. --- .../resources/hudson/PluginManager/_table.js | 6 ++---- .../console/ExpandableDetailsNote/script.js | 5 +---- .../config.jelly | 9 ++++----- .../main/resources/lib/form/advanced/advanced.js | 4 +--- core/src/main/resources/lib/form/apply/apply.js | 4 +--- .../main/resources/lib/form/combobox/combobox.js | 4 +--- .../lib/form/hetero-list/hetero-list.js | 8 +++----- .../resources/lib/form/radioBlock/radioBlock.js | 8 ++------ .../resources/lib/form/repeatable/repeatable.js | 16 ++++++---------- .../src/main/resources/lib/form/select/select.js | 4 +--- .../main/resources/lib/form/textarea/textarea.js | 8 +++----- .../lib/layout/copyButton/copyButton.js | 4 +--- war/src/main/webapp/scripts/hudson-behavior.js | 8 +++----- 13 files changed, 29 insertions(+), 59 deletions(-) diff --git a/core/src/main/resources/hudson/PluginManager/_table.js b/core/src/main/resources/hudson/PluginManager/_table.js index 7f666624ba..d900e0beda 100644 --- a/core/src/main/resources/hudson/PluginManager/_table.js +++ b/core/src/main/resources/hudson/PluginManager/_table.js @@ -20,8 +20,7 @@ function showhideCategory(col) { row.style.display = newDisplay; } -Behaviour.register({ - "#filter-box": function(e) { +Behaviour.specify("#filter-box", '_table', 0, function(e) { function applyFilter() { var filter = e.value.toLowerCase(); ["TR.plugin","TR.plugin-category"].each(function(clz) { @@ -36,5 +35,4 @@ Behaviour.register({ } e.onkeyup = applyFilter; - } -}); + }); diff --git a/core/src/main/resources/hudson/console/ExpandableDetailsNote/script.js b/core/src/main/resources/hudson/console/ExpandableDetailsNote/script.js index 569707427d..39b041f4d9 100644 --- a/core/src/main/resources/hudson/console/ExpandableDetailsNote/script.js +++ b/core/src/main/resources/hudson/console/ExpandableDetailsNote/script.js @@ -1,11 +1,8 @@ (function() { - Behaviour.register({ - - "INPUT.reveal-expandable-detail" : function(e) { + Behaviour.specify("INPUT.reveal-expandable-detail", 'ExpandableDetailsNote', 0, function(e) { var detail = e.nextSibling; makeButton(e,function() { detail.style.display = (detail.style.display=="block")?"none":"block"; }); - } }); }()); diff --git a/core/src/main/resources/hudson/security/GlobalMatrixAuthorizationStrategy/config.jelly b/core/src/main/resources/hudson/security/GlobalMatrixAuthorizationStrategy/config.jelly index f5e9fae5e1..84f286f0a8 100644 --- a/core/src/main/resources/hudson/security/GlobalMatrixAuthorizationStrategy/config.jelly +++ b/core/src/main/resources/hudson/security/GlobalMatrixAuthorizationStrategy/config.jelly @@ -144,16 +144,15 @@ THE SOFTWARE. }); })(); - Behaviour.register({ - "#${strategyid} TD.stop A.remove" : function(e) { + Behaviour.specify("#${strategyid} TD.stop A.remove", 'GlobalMatrixAuthorizationStrategy', 0, function(e) { e.onclick = function() { var tr = findAncestor(this,"TR"); tr.parentNode.removeChild(tr); return false; } e = null; - }, - "#${strategyid} TD.stop A.toggleall" : function(e) { + }); + Behaviour.specify("#${strategyid} TD.stop A.toggleall", 'GlobalMatrixAuthorizationStrategy', 0, function(e) { e.onclick = function() { var tr = findAncestor(this,"TR"); var inputs = tr.getElementsByTagName("INPUT"); @@ -163,7 +162,7 @@ THE SOFTWARE. return false; }; e = null; - }, + }); diff --git a/core/src/main/resources/lib/form/advanced/advanced.js b/core/src/main/resources/lib/form/advanced/advanced.js index 7d01f8d44b..4f1c0baac0 100644 --- a/core/src/main/resources/lib/form/advanced/advanced.js +++ b/core/src/main/resources/lib/form/advanced/advanced.js @@ -1,5 +1,4 @@ -Behaviour.register({ - "INPUT.advanced-button" : function(e) { +Behaviour.specify("INPUT.advanced-button", 'advanced', 0, function(e) { makeButton(e,function(e) { var link = e.target; while(!Element.hasClassName(link,"advancedLink")) @@ -23,5 +22,4 @@ Behaviour.register({ layoutUpdateCallback.call(); }); e = null; // avoid memory leak - } }); \ No newline at end of file diff --git a/core/src/main/resources/lib/form/apply/apply.js b/core/src/main/resources/lib/form/apply/apply.js index 4c3cecb066..4e2cdc11d1 100644 --- a/core/src/main/resources/lib/form/apply/apply.js +++ b/core/src/main/resources/lib/form/apply/apply.js @@ -1,5 +1,4 @@ -Behaviour.register({ - "INPUT.apply-button":function (e) { +Behaviour.specify("INPUT.apply-button", 'apply', 0, function (e) { var id; var containerId = "container"+(iota++); @@ -63,5 +62,4 @@ Behaviour.register({ f.target = null; } }); - } }); \ No newline at end of file diff --git a/core/src/main/resources/lib/form/combobox/combobox.js b/core/src/main/resources/lib/form/combobox/combobox.js index 50acde5149..d15b7bc78c 100644 --- a/core/src/main/resources/lib/form/combobox/combobox.js +++ b/core/src/main/resources/lib/form/combobox/combobox.js @@ -1,5 +1,4 @@ -Behaviour.register({ - "INPUT.combobox2" : function(e) { +Behaviour.specify("INPUT.combobox2", 'combobox', 0, function(e) { var items = []; var c = new ComboBox(e,function(value) { @@ -21,5 +20,4 @@ Behaviour.register({ } }); }); - } }); \ No newline at end of file diff --git a/core/src/main/resources/lib/form/hetero-list/hetero-list.js b/core/src/main/resources/lib/form/hetero-list/hetero-list.js index d7e9264865..9991f6196e 100644 --- a/core/src/main/resources/lib/form/hetero-list/hetero-list.js +++ b/core/src/main/resources/lib/form/hetero-list/hetero-list.js @@ -2,8 +2,7 @@ // do the ones that extract innerHTML so that they can get their original HTML before // other behavior rules change them (like YUI buttons.) -Behaviour.list.unshift({ - "DIV.hetero-list-container" : function(e) { +Behaviour.specify("DIV.hetero-list-container", 'hetero-list', -100, function(e) { e=$(e); if(isInsideRemovable(e)) return; @@ -134,9 +133,9 @@ Behaviour.list.unshift({ } }); } - }, + }); - "DIV.dd-handle" : function(e) { +Behaviour.specify("DIV.dd-handle", 'hetero-list', -100, function(e) { e=$(e); e.on("mouseover",function() { $(this).up(".repeated-chunk").addClassName("hover"); @@ -144,5 +143,4 @@ Behaviour.list.unshift({ e.on("mouseout",function() { $(this).up(".repeated-chunk").removeClassName("hover"); }); - } }); diff --git a/core/src/main/resources/lib/form/radioBlock/radioBlock.js b/core/src/main/resources/lib/form/radioBlock/radioBlock.js index a8804e8d52..0911cdb995 100644 --- a/core/src/main/resources/lib/form/radioBlock/radioBlock.js +++ b/core/src/main/resources/lib/form/radioBlock/radioBlock.js @@ -24,11 +24,8 @@ var radioBlockSupport = { } }; -Behaviour.list.unshift({ - // this needs to happen before TR.row-set-end rule kicks in. - // but this is a hack. - // TODO: how do we handle ordering? - "INPUT.radio-block-control" : function(r) { +// this needs to happen before TR.row-set-end rule kicks in. +Behaviour.specify("INPUT.radio-block-control", 'radioBlock', -100, function(r) { r.id = "radio-block-"+(iota++); // when one radio button is clicked, we need to update foldable block for @@ -73,5 +70,4 @@ Behaviour.list.unshift({ // install event handlers to update visibility. // needs to use onclick and onchange for Safari compatibility r.onclick = r.onchange = function() { g.updateButtons(); }; - } }); diff --git a/core/src/main/resources/lib/form/repeatable/repeatable.js b/core/src/main/resources/lib/form/repeatable/repeatable.js index 047e25078e..7ad9ae5b79 100644 --- a/core/src/main/resources/lib/form/repeatable/repeatable.js +++ b/core/src/main/resources/lib/form/repeatable/repeatable.js @@ -99,8 +99,7 @@ var repeatableSupport = { // do the ones that extract innerHTML so that they can get their original HTML before // other behavior rules change them (like YUI buttons.) -Behaviour.list.unshift({ - "DIV.repeated-container" : function(e) { +Behaviour.specify("DIV.repeated-container", 'repeatable', -100, function(e) { if(isInsideRemovable(e)) return; // compute the insertion point @@ -109,27 +108,25 @@ Behaviour.list.unshift({ ip = ip.previous(); // set up the logic object(repeatableSupport).init(e, e.firstChild, ip); - } }); -Behaviour.register({ // button to add a new repeatable block - "INPUT.repeatable-add" : function(e) { +Behaviour.specify("INPUT.repeatable-add", 'repeatable', 0, function(e) { makeButton(e,function(e) { repeatableSupport.onAdd(e.target); }); e = null; // avoid memory leak - }, + }); - "INPUT.repeatable-delete" : function(e) { +Behaviour.specify("INPUT.repeatable-delete", 'repeatable', 0, function(e) { makeButton(e,function(e) { repeatableSupport.onDelete(e.target); }); e = null; // avoid memory leak - }, + }); // radio buttons in repeatable content - "DIV.repeated-chunk" : function(d) { +Behaviour.specify("DIV.repeated-chunk", 'repeatable', 0, function(d) { var inputs = d.getElementsByTagName('INPUT'); for (var i = 0; i < inputs.length; i++) { if (inputs[i].type == 'radio') { @@ -145,5 +142,4 @@ Behaviour.register({ if (inputs[i].defaultChecked) inputs[i].checked = true; } } - } }); \ No newline at end of file diff --git a/core/src/main/resources/lib/form/select/select.js b/core/src/main/resources/lib/form/select/select.js index 5727fca794..56090590de 100644 --- a/core/src/main/resources/lib/form/select/select.js +++ b/core/src/main/resources/lib/form/select/select.js @@ -40,8 +40,7 @@ function updateListBox(listBox,url,config) { new Ajax.Request(url, config); } -Behaviour.register({ - "SELECT.select" : function(e) { +Behaviour.specify("SELECT.select", 'select', 0, function(e) { // controls that this SELECT box depends on refillOnChange(e,function(params) { var value = e.value; @@ -63,5 +62,4 @@ Behaviour.register({ } }); }); - } }); \ No newline at end of file diff --git a/core/src/main/resources/lib/form/textarea/textarea.js b/core/src/main/resources/lib/form/textarea/textarea.js index 56984a110a..1f0f1a2d9c 100644 --- a/core/src/main/resources/lib/form/textarea/textarea.js +++ b/core/src/main/resources/lib/form/textarea/textarea.js @@ -1,5 +1,4 @@ -Behaviour.register({ - "TEXTAREA.codemirror" : function(e) { +Behaviour.specify("TEXTAREA.codemirror", 'textarea', 0, function(e) { var h = e.clientHeight; var config = e.getAttribute("codemirror-config") || ""; config = eval('({'+config+'})'); @@ -14,9 +13,9 @@ Behaviour.register({ var scroller = codemirror.getScrollerElement(); scroller.setAttribute("style","border:1px solid black;"); scroller.style.height = h+"px"; - }, + }); - "DIV.textarea-preview-container" : function (e) { +Behaviour.specify("DIV.textarea-preview-container", 'textarea', 0, function (e) { var previewDiv = findElementsBySelector(e,".textarea-preview")[0]; var showPreview = findElementsBySelector(e,".textarea-show-preview")[0]; var hidePreview = findElementsBySelector(e,".textarea-hide-preview")[0]; @@ -54,5 +53,4 @@ Behaviour.register({ $(hidePreview).hide(); $(previewDiv).hide(); }; - } }); \ No newline at end of file diff --git a/core/src/main/resources/lib/layout/copyButton/copyButton.js b/core/src/main/resources/lib/layout/copyButton/copyButton.js index 0fb109e14f..3e6ca98c93 100644 --- a/core/src/main/resources/lib/layout/copyButton/copyButton.js +++ b/core/src/main/resources/lib/layout/copyButton/copyButton.js @@ -1,7 +1,6 @@ // @include "org.kohsuke.stapler.zeroclipboard" -Behaviour.register({ - "span.copy-button" : function(e) { +Behaviour.soecify("span.copy-button", 'copyButton', 0, function(e) { var btn = e.firstChild; var id = "copy-button"+(iota++); btn.id = id; @@ -35,5 +34,4 @@ Behaviour.register({ clip.addEventListener('onMouseUp',function() { $(id).removeClassName('yui-button-active') }); - } }); diff --git a/war/src/main/webapp/scripts/hudson-behavior.js b/war/src/main/webapp/scripts/hudson-behavior.js index cc814d5885..ca554e1a71 100644 --- a/war/src/main/webapp/scripts/hudson-behavior.js +++ b/war/src/main/webapp/scripts/hudson-behavior.js @@ -1159,7 +1159,9 @@ var jenkinsRules = { adjustSticker(); } }; -var hudsonRules = jenkinsRules; // legacy name +for (var selector in jenkinsRules) { + Behaviour.specify(selector, 'hudson-behavior', 0, jenkinsRules[selector]); +} function applyTooltip(e,text) { // copied from YAHOO.widget.Tooltip.prototype.configContext to efficiently add a new element @@ -1212,10 +1214,6 @@ function refillOnChange(e,onChange) { h(); // initial fill } -Behaviour.register(hudsonRules); - - - function xor(a,b) { // convert both values to boolean by '!' and then do a!=b return !a != !b; -- GitLab