Commit Graph

1451 Commits

Author SHA1 Message Date
slhale
4bb000dd93 [Search] Writing tests
Created files for all the tests to write.
2015-07-31 09:38:45 -07:00
slhale
06d9b68406 [Search] Comments 2015-07-31 09:38:05 -07:00
slhale
3a3e98cc48 [Search] Update provider timeout
Added a timedOut property to the provider's
return object. Changed the generic search
worker to stop if it reaches timeout.
2015-07-30 16:35:26 -07:00
slhale
6e11941ae9 [Search] ES Provider error checks
The elasticsearch provider returns an empty
result when elasticsearch throws an error
(probably a bad request). This prevents the
aggregator from thinking that ES is loading
infinitely.
2015-07-30 15:47:09 -07:00
slhale
f8471bc944 [Search] Comments 2015-07-30 15:04:42 -07:00
slhale
15b7e3ac9b [Search] Aggregator returns result object
The aggregator now returns a result object similar
to that of the providers, but the hits array contains
domain objects rather than searchResult objects.
Also removed overly complicated filterRepeats
function from the aggregator and replaced it with a
simpler one.
2015-07-30 14:57:15 -07:00
slhale
51bc7c6a7f [Search] Generic tracks total hits
The generic search worker keeps track of the total
number of search hits before truncating to match
the max results.
2015-07-30 14:06:35 -07:00
slhale
60dad014cc [Search] Changed provider return type
The provider now returns an object that has
a hits property which contains what it
previously returned, and also a total property
which contains the total number of results.
2015-07-30 13:54:56 -07:00
slhale
a7cd6d8807 [Search] Removed name field form ES provider
Removed the name field from the ElasticSearch provider
search query string, so now it will check all of the
fields of the domain object (such as type).
2015-07-30 13:32:34 -07:00
slhale
bce56c53ed [Search] Clean up
Updated comments and documentation. Changed the generic
worker to return results as {id: score} key value pairs
rather than {id: {score: score}} format. Removed unused
getLatestResults and getLatestTimestamps functions from
the providers.
2015-07-30 13:27:45 -07:00
slhale
2c5da44e5e [Search] Clean up
Removed the timestamp as an optional parameter
of the search aggregator's query(), and now it
instead automattically generates one before
querying the providers.
Also attempted to fix loading, but did not
complete (commented out).
2015-07-30 12:38:03 -07:00
slhale
6b613f234b [Search] Clean up comments 2015-07-29 15:22:46 -07:00
slhale
1619f236cf [Search] Updated search service interface
The search service's interface now just consists
of the two functions query() and isLoading().
query() returns a promise for an array or results,
which eliminates the need for timeout polling like
was previously done. The search providers
have also been changed to reutrn promises.
2015-07-29 15:07:13 -07:00
slhale
5ee8dd239b [Search] Comments 2015-07-29 13:17:50 -07:00
slhale
f2cd55d6cd [Search] Cleaning up
Cleaning up code in generic serach provider. Removed
unnecissary return statements. Moved indexing via web
worker from getItems() loop to within itemsHelper().
Commented out timeout, becuase seems unnecissary.
Changed all date.getTime() to Date.now(). Indexing
has undefined checking.
2015-07-29 11:01:38 -07:00
slhale
639cf1cf59 [Search] Generic indexes once
Changed the generic search provider to index the
file tree only once when it is initially called.
This assumes that the contents of the file tree
will not change significantly within the course
of a use session (and some changes may be caught
by other search providers).
2015-07-29 10:28:07 -07:00
slhale
495d8c9830 [Search] Search term processing
The search term processor for ElasticSearch now
removes extra spaces from inside of the search
term (to avoid some ES errors).
2015-07-28 17:04:29 -07:00
slhale
32b58715c6 [Search] Fixed scrolling and layout edit
Changed the CSS so that scrolling for the tree and
search results works again. Additionally, layout
editing works again.
2015-07-28 12:33:22 -07:00
slhale
1a9dd2f144 [Search] Comments
Updated documentation. Removed unnecissary dependency
fom generic provider.
2015-07-28 11:33:29 -07:00
slhale
d6a7dc9820 Merge branch 'search' of https://github.com/slhale/openmctweb into search 2015-07-28 10:17:15 -07:00
slhale
dc53cf60d1 [Search] Style
Made style compliance changes.
2015-07-28 10:15:05 -07:00
slhale
e0e5ad1347 [Search] Removed console output
Accidentally left in a console.log statement
2015-07-28 10:04:31 -07:00
slhale
a6b11354cd [Search] Removed console output
Accidentally left in a console.log statement
2015-07-28 10:03:22 -07:00
slhale
561d671181 [Search] Fix to pass test
Changing TreeNodeController's isSelected function
back to original, so that it doesn't break tests.
2015-07-28 09:50:50 -07:00
shale
84486f2086 [Search] Fixed empty search
Pressing enter on the searchbar before putting
any input would before hide the filtree when
it shouldn't. Now it does not.
2015-07-27 14:12:49 -07:00
shale
dc79f460e5 [Search] Fixing conflicts 2015-07-27 13:34:12 -07:00
shale
7cac858697 [Search] Cleanup
Updated documentation. Removed most unused funtions.
Removed references to the search service in the
search template -- necissary functions added to
the search controller.
(Search in a 'working' state again.)
2015-07-27 13:25:35 -07:00
shale
a3977a18f0 [Search] Results polling in aggregator
Moved the polling for most recent results
from the search controller to the search
aggregator.
Also changed ng-change back to ng-keyup
in the search template.
2015-07-27 12:59:32 -07:00
shale
5e858f73d5 [Search] Changed ng-keyup to ng-change
In the search template. Also small comment change.
2015-07-27 11:55:42 -07:00
shale
181fb32a2a [Search] Responsibility change (in progress)
Attempting to move some responsibility from
the search controller to the aggregator.
(Committing for save before possible revert.)
2015-07-27 10:04:09 -07:00
shale
232a648fbd Merge branch 'master' of https://github.com/nasa/openmctweb into search 2015-07-27 09:14:52 -07:00
Victor Woeltjen
77edb07333 Merge pull request #52 from nasa/continuous-deployment
Support continuous deployment of open source Open MCT Web.
2015-07-27 07:51:54 -07:00
shale
d35a149108 [Search] Remove unused controll
Removed searchbar controll, as the control to
use would be the provided textfield control.
2015-07-24 16:52:55 -07:00
shale
dca0014862 [Search] Removed unused
Removed incorrect 'uses' statements from
bundle.json. Also removed unused controller
ToggleController. Edited some comments.
2015-07-24 15:08:43 -07:00
shale
6b02295bf4 Merge branch 'master' of https://github.com/nasa/openmctweb into search 2015-07-24 14:20:27 -07:00
Victor Woeltjen
9435e75461 Merge remote-tracking branch 'slhale/open33' into open47b
Fix merge conflict in preparation to integrate nasa/openmctweb#47

Conflicts:
	platform/commonUI/browse/res/templates/browse/object-header.html
2015-07-24 13:46:37 -07:00
shale
05c43db6fe [Search] Search input using the model
Made the search bar text input go to ngModel.input,
rather than getting the text manually from the DOM
element. Additionally, removed the search service
from the search controller's scope.
2015-07-24 13:04:48 -07:00
shale
9143f5febd [Search] Comments and errors
Changed TreeNodeController slightly to do error
checking. Also updated some comments.
2015-07-24 13:03:18 -07:00
shale
300280e03e [Search] Moving responsibility
Moving the responsibility of polling for updates
from the search controller to the search aggregator.

In progress. Previously this prototype was what
could be called semi-stable, but now it is no longer.
2015-07-23 16:58:25 -07:00
shale
341218e8f6 [Search] Tree hide change
The tree is now hidden whenever there is
text in the search bar. (This allows for
the case when there are no search results,
but text in the search bar.)
2015-07-23 16:24:38 -07:00
shale
33e8084852 [Search] Getting input text
The controller now gets the input text from the
DOM element ID, then passes that string along
to the search service, instead of passing the
raw ID.
2015-07-23 16:13:26 -07:00
shale
7d495f6389 [Search] Hide tree
The tree is hidden when there are
search results.
2015-07-23 15:55:20 -07:00
shale
f4d34a2a9c [Search] mctControl for searchbar
Attempting to generalize the searchbar using
mct-control. In progress.
2015-07-23 15:29:19 -07:00
shale
0feab1965c [Search] Attempt at scroll bars
Attempted to make the search results scroll,
but failed for now. Created a div for the
search results, load icon, and load more
button, which are the elements desired to
be scrolled. Did not work because search
result labels have absolute position text.
2015-07-23 15:12:13 -07:00
shale
aa17d3034e [Search] Fixed excessive calls to setSelection
There were excessive calls to TreeNodeController's
setSelection() due to a modification for search
compatibility. Changed to not call as often.
2015-07-23 13:32:15 -07:00
shale
52a9fcf5d6 [Search] Changed highlight size
The search item highlight when selected or
hovered over is now talled, and the margin
between search items is reduced to
counteract any effect to spacing.
2015-07-23 13:29:11 -07:00
shale
7b271dcb6b [Search] Highlight transitions
Added transitions for when objects get
highlighted from selection or hover.
2015-07-23 13:14:20 -07:00
shale
2680e466fa [Search] Tree selection syncs
Selecting something in the search results now
also makes it selected in the filetree. It
remains selected even when the search results
are cleared. (The filetree does not
automatically expand to that position though.)
2015-07-23 12:47:21 -07:00
shale
29d5535e7c [Search] Changed search load time
Changed how frequently the search controller
checks for updates. This makes the load icon
dissapear faster, and looks more natural. But,
may affect performance.
Also changed the point at which the loading
status becomes 'true'. Made it earlier, at
the beginning of the controller's update().
2015-07-23 11:48:19 -07:00
shale
ebb5474b34 [Search] Hover and loading
Added styling to result items when they are
hovered over.
Also added a loading icon.
2015-07-23 11:41:17 -07:00
shale
4759162bb7 [Search] Added right padding
Added padding to the right side of the
search holder to match the tree holder's
padding.
2015-07-23 11:08:31 -07:00
shale
deba184103 [Search] Selection remains across queries
The selected object in the search results now
remains selected even after a new search is made.
It also will remain selected if it is clicked
on the file tree, but the file tree version is
not yet selected if it is clicked on the search
results list.
2015-07-23 10:56:38 -07:00
shale
c65a278fcf [Search] Selecting results works
Can now click on search results. The view will
be updated, as well as the selected object
being higlighted.
2015-07-23 10:50:00 -07:00
shale
8c08f7b93e [Search] Less space above tree
Removed the awkward spacing between the filetree
and the search bar. Now 'My Items' appears just
below the search bar.
Also added .search-holder to the sass, but haven't
done anything with it yet.
2015-07-23 09:25:10 -07:00
shale
501e426868 [Search] Centered load more button
More correctly centered the load more button,
so that when the left panel is resized,
the button remains in the middle.
Additionally, added more comments to the sass.
2015-07-22 16:35:41 -07:00
shale
8f1f4eb177 [Search] Generic search gets all roots
Generic search now automatically finds all
the roots before searching.
2015-07-22 16:21:38 -07:00
shale
b0e7dca985 [Search] Empty search resets results
When there is no input into the search bar
no results are displayed/displayed results
are removed. This is because the search
providers were changed to return empty
arrays for empty search strings.
2015-07-22 16:09:14 -07:00
shale
b16af5fe3e [Search] Renaming search and searchbar
Changed what was previously just 'search' and
renamed to 'search view'. Then, took what was
previously 'searchbar' and renamed to
'search'.
2015-07-22 15:43:28 -07:00
shale
1dbe039be8 [Search] Load more button style
Styled the load more button to match
the general theme.
2015-07-22 15:17:27 -07:00
shale
d82538a799 [Search] Item background highlight
Each result item now has a highlighted
background, with correct rounding of
edges. Need to now detect when to
highlight (on selection).
2015-07-22 14:48:14 -07:00
shale
57d45b24be [Search] Removed Search View
Removed the search view from bundle.json because
the search in the left panel is the actualy
UI for searching. The search view is temporary.
2015-07-22 13:46:40 -07:00
shale
dcd4006017 [Search] Positioning fixed
Fixed the search results so that they
now display correctly, with overflow
hidden, and no unusual positioning.
Also changed font size to 0.8em.
2015-07-22 13:43:54 -07:00
shale
3ae681c79c [Search] Colors and positioning
Corrected the colors back to the normal
style. Also made the text on the same
line as the icon, but this fix is a
temporary one.
2015-07-22 12:33:20 -07:00
shale
ab3d3ec45b [Search] Overflow text
Overflow text on the search item labels
is now hidden, with ellipses.
New problem: Text is  on a different
line than the icon.
2015-07-22 11:48:13 -07:00
shale
ff3770c9ee [Search] Added css classes
Added classes to the HTML so that CSS and
Sass could get access to style the
searchbar items. The structure for styling
is now mostly set up.
2015-07-22 11:21:14 -07:00
shale
bcc1e2e26f [Search] Starting front-end
Starting to modify the front-end so that
the searchbar appears in the tree view
area. Made the tree holder have relative
position so that the searchbar is visibile
for now. (Later will be different.)
2015-07-22 10:38:56 -07:00
shale
b5f8e6d90c [Search] Updating searchbar
Updating the searchbar to be again more
similar to the search view. It now has
a 'load more' button, but it is not
clickable for some reason. In progress.
2015-07-21 16:21:23 -07:00
shale
739fa423c5 [Search] Added wildcards to generic
Added wildcard support to the generic
search provider. In this case, wildcards
behave just like spaces.
2015-07-21 16:10:35 -07:00
shale
5f30249065 [Search] Load more option
Made the search view have a 'Load more'
button. Added functionalty to allow this
to happen.
2015-07-21 15:56:28 -07:00
shale
4191bc1ac3 [Search] Comments
Updated the documentation.
2015-07-21 15:31:23 -07:00
shale
92df11acc1 [Search] Readded ElasticSearch provider
Previously had removed the elasticsearch provider
from bundle.json so could work on the generic
search web worker. Now have modified the
elasticsearch provider to match the new interface
with the aggregator, and it works.

At this point, search is 'working'
2015-07-21 15:14:07 -07:00
shale
416bd82589 [Search] Cleanup
Removed a couple of unnecissary things, and fixed
up the comments.
2015-07-21 15:05:08 -07:00
shale
7934e8d425 [Search] Changed worker result implementation
The interface remains the same, but the web worker
returns a pseudo dictionary (actually an object)
after being told the search. The key value pairs
for this dictionary are ids and scores.
2015-07-21 14:55:44 -07:00
Pete Richards
cb56bbe569 [Documentation] Fix JSDoc syntax errors 2015-07-21 14:30:00 -07:00
shale
5a93e5a2bc [Search] Correct search updating
The search controller now updates the display
results list, then repeatedly asks the
aggregator to update until the timestamps
all are at least as new as the one that the
controller originally gave for the query.
Basically, the search now updates correctly
without having to press enter again.
2015-07-21 14:24:37 -07:00
shale
41c38f202d [Search] Comments
Removed extra commented out code.
2015-07-21 13:04:03 -07:00
shale
f0f396f656 [Search] Needs more updating
The search aggregator now correctly gets
from the providers, but because of not
sync, the display is effectively one press
behind the correct search results.
Still, working to some extent.
2015-07-21 12:59:52 -07:00
shale
a5febf8f0f [Search] Removed paging
Removed the paging from the search view,
because later instead of paging there will
be a 'view more' option.
Also made the generic search provider
return searchResult objects instead of
raw domain objects.
2015-07-21 12:44:14 -07:00
shale
4f4af87285 [Search] Added timestamp to queries
(Temporariliy removed the elasticsearch provider
from bundle.json)
Added a timestamp parameter to the query so that
the aggregator can tell when the results were last
updated. Created a separate function for getting
the results list. GenericSearch now converts back
from models to domain objects after the web worker
does its work.
2015-07-21 12:34:08 -07:00
shale
1b5fbccc06 [Search] Removed validType function
Removed the validType function which previously
was a paraemter to the search providers. It
was no longer used, and is not necissary.
2015-07-21 11:17:45 -07:00
shale
fc123cd367 [Search] In progress webworker
Connecting GenericSearch to the web worker is still
in progress. The aggregator currently gets the
results before the web worker is finished. In process
of fixing sync issue.
2015-07-21 11:14:13 -07:00
shale
a0f4b98eed [Search] Webworker search
The web worker's search() appears to work. Now
we just need to link it in to the GenericSearch
as the primary means of searching.
2015-07-21 10:35:33 -07:00
shale
7adcfc221a [Serach] Webworker indexes items
The indexItem() part of the web worker seems
to be working at this point.
2015-07-21 10:10:34 -07:00
shale
c1dcd8ea5b [Search] Framework of webworker implementation
Made a basic outline of the desired web worker
implementation. (Functions present, now need to
implement them.)
2015-07-21 09:58:19 -07:00
shale
74961e1106 [Search] Starting on workers
Starting to work on using web workers to
do some of the work of GenericSearch.
Changed bundle.json accordingly.
2015-07-21 09:44:14 -07:00
shale
c79d1f2648 [Search] Choose higher score & optional parameters
Changed the search aggregator's filterRepeats
function to choose the version of the searchResult
object that has the higher score, when it
encounters multiple searchResult objects
corresponding to a domain object ID.
Also changed the search providers and aggregator
such that the validType parameter is now optional,
with a function that always returns true as the
defualt.
2015-07-21 09:41:52 -07:00
shale
f4bd7d7a44 [Search] Revert to earlier commit
Reverted to before implementing next(). May re add
back some changes, such as removing validType and
then adding web workers.
2015-07-20 17:02:08 -07:00
shale
1891b24bde [Search] Dump before revert
Commtting changes so far before revering
to a previous commit. Most changes to make
next() have been unneccsiary. We no longer
want next().
2015-07-20 16:56:39 -07:00
shale
5520037908 [Search] Partial loading
Changed the providers to return only the first
search result. Each searchResult object has a
function next() which returns the next search
result. This allows the search aggregator to
load more results without making a whole new
search query. (Still requuires some cleaning
up.)
2015-07-20 14:30:22 -07:00
shale
c0c0371451 [Search] Timeout passed from SearchAggregator
The timeout value is now an optional
parameter of the providers, and
the search aggregator now passes a
common default value to all of them.
2015-07-20 11:21:55 -07:00
shale
ed956d351d [Search] Elasticsearch timeout
Added a term to the elasticsearch query
that should make it time out. Apparently
this only works sometimes, as ES uses a
'best effort' timeout.
2015-07-20 11:08:43 -07:00
shale
e9e9ca146b [Search] Generic search timeout
Added a time limit for generic search's indexing
of the filetree, at which point it will just
return the portion of the filetree it has
indexed.
Additioanlly attempted to move this part of
the functionality to a webworker, but is not
working because of unclonability of the
objects. (Commented out)
Also updated some documentation comments.
2015-07-20 10:59:02 -07:00
shale
e8b662571b [Search] Not case sensitive
Made sure that generic search's matching is
not case sensitive.
2015-07-17 14:06:48 -07:00
shale
2a784115d5 Merge branch 'master' of https://github.com/nasa/openmctweb into search 2015-07-17 13:49:19 -07:00
shale
9f5f14826b [Search] Changed generic's matching implementation
Changed how the generic search provider determines
search matches. It now splits the search input into
search terms by spliting at spaces, and then scores
the results by how many of the terms appear as
substrings in the result.
2015-07-17 13:49:09 -07:00
shale
c75d94289b [Serach] Callbacks and renaming
Added validType() as a callback parameter to the search
providers. It is defined in the search aggregator, and
is used to put any restrictions on object type in the
displayed search results.
Renamed EverythingSearchProvider to GenericSearchProvider.
2015-07-17 11:26:44 -07:00
Victor Woeltjen
2e2e7ee876 Merge branch 'open1444b' into open-master 2015-07-17 11:05:25 -07:00
Victor Woeltjen
affd5f8d29 Merge branch 'open1426' into open-master 2015-07-17 10:56:09 -07:00
shale
492dbcbc51 [Search] Comments and keypress
Changed the controller for the search input
to respond on keypress rather than keyup.
Added comments better explaining searchResult
objects to the search aggregator.
2015-07-17 09:33:10 -07:00
Victor Woeltjen
deed95d8d1 [Plot] Don't allocate charts for empty plots
Don't allocate WebGL charts for empty plots, WTD-1444.
2015-07-17 09:13:20 -07:00