svn: /pear2/BugManager/trunk/www/pearworm/source/class/pearworm/ model/Issue.js view/SearchIssue.js

[email protected] (Greg Beaver) Sun, 12 Sep 2010 21:11:40 +0000
Newsgroups php.pear.cvs,php.pear.core
Message-ID <[email protected]>
cellog                                   Sun, 12 Sep 2010 21:11:40 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=303301

Log:
working search (finally)

Changed paths:
    U   pear2/BugManager/trunk/www/pearworm/source/class/pearworm/model/Issue.js
    U   pear2/BugManager/trunk/www/pearworm/source/class/pearworm/view/SearchIssue.js

Modified: pear2/BugManager/trunk/www/pearworm/source/class/pearworm/model/Issue.js
===================================================================
--- pear2/BugManager/trunk/www/pearworm/source/class/pearworm/model/Issue.js	2010-09-12 20:34:34 UTC (rev 303300)
+++ pear2/BugManager/trunk/www/pearworm/source/class/pearworm/model/Issue.js	2010-09-12 21:11:40 UTC (rev 303301)
@@ -127,6 +127,14 @@
     actres : {
       event: "changeActres",
       init: ""
+    },
+    fake : {
+      event: "changeFake",
+      init: ""
+    },
+    fake2 : {
+      event: "changeFake",
+      init: ""
     }
   },
   statics: {
@@ -252,6 +260,8 @@
       delete data.repcode;
       delete data.expres;
       delete data.actres;
+      delete data.fake;
+      delete data.fake2;
       var ret = [];
       for (var i in data) {
         var name = i;
@@ -279,6 +289,8 @@
       var data = qx.util.Serializer.toNativeObject(this);
       var saver;
       delete data.notpackagename;
+      delete data.fake;
+      delete data.fake2;
       if (this.getId() == -1) {
         // reporting new issue
         delete data.id;

Modified: pear2/BugManager/trunk/www/pearworm/source/class/pearworm/view/SearchIssue.js
===================================================================
--- pear2/BugManager/trunk/www/pearworm/source/class/pearworm/view/SearchIssue.js	2010-09-12 20:34:34 UTC (rev 303300)
+++ pear2/BugManager/trunk/www/pearworm/source/class/pearworm/view/SearchIssue.js	2010-09-12 21:11:40 UTC (rev 303301)
@@ -114,6 +114,7 @@
       statuscontroller.setModel(statusmodel);
       statuscontroller.setLabelPath("name");
       var statusfield = new qx.ui.form.SelectBox();
+      statusfield.setRequired(true);
       statuscontroller.setTarget(statusfield);

       var typecontroller = new qx.data.controller.List()
@@ -131,9 +132,25 @@
         selectionMode: "additive"
       });
       packagecontroller.setTarget(packagefield);
+      packagecontroller.addListener("changeSelection", function(e) {
+        var sel = e.getData();
+        var val = new qx.data.Array();
+        for (var i = 0; i < sel.getLength(); i++) {
+          val.push(sel.getItem(i).getName());
+        }
+        this.setPackagename(val);
+      }, this._issue);

+      // qooxdoo is too stupid to recognize that different controller should have
+      // different selections.
+
+      var stupidmodel = new qx.data.Array();
+      for (var i = 0; i < packagemodel.getLength(); i++) {
+        stupidmodel.push(packagemodel.getItem(i).clone());
+      }
+
       var notpackagecontroller = new qx.data.controller.List();
-      notpackagecontroller.setModel(packagemodel);
+      notpackagecontroller.setModel(stupidmodel);
       notpackagecontroller.setSelection(new qx.data.Array());
       notpackagecontroller.setLabelPath("name");
       var notpackagefield = new qx.ui.form.List().set({
@@ -141,6 +158,14 @@
         selectionMode: "additive"
       });
       notpackagecontroller.setTarget(notpackagefield);
+      notpackagecontroller.addListener("changeSelection", function(e) {
+        var sel = e.getData();
+        var val = new qx.data.Array();
+        for (var i = 0; i < sel.getLength(); i++) {
+          val.push(sel.getItem(i).getName());
+        }
+        this.setNotpackagename(val);
+      }, this._issue);

       if (packagemodel === null) {
         this._issue.addListener("dataLoaded", function(e) {
@@ -164,8 +189,8 @@
       form.addGroupHeader("Type");
       form.add(typefield, "Return bugs with type", null, "type");
       form.addGroupHeader("Package");
-      form.add(packagefield, "Return bugs for these packages", null, "packagename");
-      form.add(notpackagefield, "Return bugs NOT for these packages", null, "notpackagename");
+      form.add(packagefield, "Return bugs for these packages", null, "fake");
+      form.add(notpackagefield, "Return bugs NOT for these packages", null, "fake2");
       form.addGroupHeader("OS");
       form.add(osfield, "Return bugs with operating system", null, "os");
       form.addGroupHeader("Version");