History log of /external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ad1841b1a07d40e3ca4110f9766b0bedee419c07 21-May-2014 Jiaxi Luo <jiaxiluo@chromium.org> [afe] "Job List" entry number not updated

On the "Job List" tab, when changing owners or changing from "All Jobs"
to "Running Jobs" etc., the number of jobs is not be updated.

TEST=Compile afe, ran frontend
BUG=chromium:375468
DEPOLY=afe

Change-Id: Ib4f8379740ca8df9854a25feb0054b9fef9c99e7
Reviewed-on: https://chromium-review.googlesource.com/200671
Tested-by: Jiaxi Luo <jiaxiluo@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Jiaxi Luo <jiaxiluo@chromium.org>
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
6f27d4f22a1ba5063968b8c322fa0845f3279ade 29-Sep-2010 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into tempbranch3

Merge to trunk@4817

BUG=
TEST=

Review URL: http://codereview.chromium.org/3554003

Change-Id: I83376bc7d28104ec2678e157eadbe7df7c05c0e0
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
517d95a1ef4edb04da427763f86068a447d45ec7 29-Sep-2010 Benson Leung <bleung@chromium.org> Revert "Merge remote branch 'cros/upstream' into tempbranch2"

This reverts commit 25fc6d1f28e54c46689f12d3b93c2540ef45323a.

TBR=ericli@chromium.org

Review URL: http://codereview.chromium.org/3541002

Change-Id: Ib0165b19bfdf02264f8a6a74ddf3ae74c8c0f7df
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
25fc6d1f28e54c46689f12d3b93c2540ef45323a 29-Sep-2010 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into tempbranch2

Merged to trunk@4816.

BUG=
TEST=we will build a new autotest server instance, and keep cautotest running and then later do a cname switch.

Review URL: http://codereview.chromium.org/3511003

Change-Id: Iee5f52f45f28f84927d6c6f9a74edc370d40288a
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
4879914c122f4ed97eae3b08c5af1930fd75b39d 13-Nov-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a bug where hosts in a cloned job weren't removed when deselecting the host from the "browse hosts" table. This again turned out to be a relatively large change for the size of the problem, because I chose to make some refactorings to attack some of the design problems the were behind the issue in the first place.

The core issue was that the ArrayDataSource was using a plain SortedSet<JSONObject> to hold the selected hosts. This is good because we want to keep them sorted, but it's bad because it uses the default object equality for JSONObjects, but we want to use a special equality based on ID or hostname. We normally accomplish that with JSONObjectSet, but that doesn't get us the sorting. JSONObjectSet is sort of a hack in the first place; the proper solution is to use custom objects that override equality.

As a first step towards that approach, I created a Host class under the models autotest.afe.models package. In order to minimize the scope of this change, I made it override JSONObject, so that we can move incrementally. I made it override equality and made HostDataSource convert the results to Host objects before returning them.

Unfortunately, I ran into a second problem. DataSource passes back results in a JSONArray. Since JSONArrays use native JS objects for storage, the objects you get out of them are always real JSONObjects, constructed on the fly -- not just declared type, but actual type. Even if you put Hosts in, they'll effectively be converted back to plain JSONObjects when you take them out. This is a reflection of a second design problem -- we shouldn't use JSONArrays to pass data around within the program. So I changed DataSource to convert results to List<JSONObject> and pass the data back that way. This required minor changes across many files, but nothing drastic anywhere.

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3943 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
b9c6617bdc063b3b4aa760a0a45190ee069139fd 13-Nov-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Modify DynamicTableSelectionListener so that when select "none" is clicked, only deselect items matching the current filters. This turned out to be considerably trickier than i thought, because in order to do this properly and efficiently, it has to work like this: when "none" is clicked, make an RPC call for all the currently filtered items that fall within the currently selected set. We do this by making a new request to the table's active DataSource with the current filtering params plus a list of selected item IDs. There are two problems here:

1) Not all tables show DB objects -- in particular, the host detail view table when "show verifies/repairs/cleanups" is selected, and the TKO table view when grouping is active. For these tables, there's no way to filter on selected items by ID. Fortunately, these tables also happen to not be prone to the original issue, because they can't be filtered. So I added some code to only apply this new logic to tables that have active user-controlled filters. This is pretty ugly from a design point of view, but I had to take a practical approach -- it works, the code is clean, and I couldn't think of any workable alternatives.

2) The DataSource interface was poorly designed such that an RpcDataSource was stateful (and mutated every time a new request was made), so there was no way to make a new request on a DataSource without messing up its state and therefore potentially messing up the table using it. To get around this, I redesigned the interface to use a separate Query objects. Now, both the DataSource and the Query objects are immutable, and making a separate query for the "select none" operation is easy. (This actually also encouraged a change to DynamicTable to be much more efficient by avoiding many unnecessary get_num_*() calls.)

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3941 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
4cd4763a855d8eb7d25fd4963babc432eb4d25e6 12-Oct-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Remove deprecated uses of TableListener, and implement proper
oncontextmenu handling

Signed-off-by: James Ren <jamesren@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3828 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
0d92da0fe19a095fc5678c4159e6a1756df65e48 17-Sep-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Removed deprecated ChangeListener uses.

(Depends on [PATCH] Removed the uses of some deprecated classes)

Signed-off-by: James Ren <jamesren@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3737 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
c0ac3a79cceec87873257a8b6d41d19c9fb02ec6 08-Jul-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> add the option to include verify/repair/cleanups in the job table on the host detail page.
* added RPC get_host_queue_entries_and_special_tasks, which returns both HQEs and SpecialTasks for a host in a carefully interleaved manner.
* added appropriate frontend unit tests
* added support to HostDetailView to include these entries, but have them not be selectable. this required changes to SelectionManager. I also added a utility method to Utils for opening a new window, and changed all sites that do that to call the new method.

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3385 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
8579ea343f8d4c74b44d5b5cb2df3ef7552b2f6e 18-Aug-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Snazzy new interface for select tests in Create Job view. Tests are now presented in a scrollable table, with descriptions displayed in a resizable pane on the right.
-new TestSelector widget displays table + description
-move some basic input handling from DynamicTable into DataTable, so that plain DataTables can handle clicks
-make DataTable capable of refreshing the widgets in a table without refreshing the entire table - this is useful for updating selections
-pull out the one bit of SelectionManager that depends on DynamicTable (as opposed to DataTable). This is now in DynamicTableSelectionManager, and the orignal SelectionManager can work with a plain DataTable.
-make SelectionManager capable of acting as the TableWidgetFactory for producing row selection checkboxes
-fix a couple minor bugs in (Site)CreateJobView, where some controls (skip verify, custom tests) would not be disabled when they should be
-pull out ArrayDataSource.JSONObjectComparator into a top-level class, so it could be used elsewhere to sort JSONObjects



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2004 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
5e2c70db8586bcd4c47fe6e5173357539c84cc57 31-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> couple of changes needed for new TKO:
-make NotifyManager support direct logging
-make DataSource support an onError method



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1938 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
35dbd8414c0e7022a6a4b54f7ef16b5ff51ae53b 16-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> introduced distinction between clickable and non-clickable widgets in DataTable; this allows read-only widgets that will still generate a row click event when clicked. this was necessary for new TKO development.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1839 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
9f8a27b21824eb4a0f1c977ead46aea269b66e53 14-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> change DataSource (and subclasses) and DynamicTable to support multi-level sorting (sorting on multiple fields)


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1830 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
94b698cacab819b42104ce0db68aa63b68f4d1d1 08-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Added the ability to insert widgets into a column of DataTable.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1778 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
6bc47015cce0ebc2fc255d3950bfeaf4851f36fd 03-Jul-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Refactoring to eliminate warnings and (slightly) improve performance.
Added @Override annotations, and added parameterizations for generic
collections. Made small performance tweaks.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1761 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
e3f6868dac3b4c4714637d12b93d97823011a35c 05-Jun-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> GWT reorg part 3


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1614 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java
ee4baa6495590c14c933f1fafa37d1843bbee996 05-Jun-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> GWT reorg step 1. This is just too difficult to do in one step. This temporarily breaks GWT but we'll just have to accept that. It'll be fixed soon.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1612 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/common/table/DynamicTable.java