[Search] Search framework

Created a basic framework for a search
view. It consists of a search bar and
a results list.
This commit is contained in:
shale 2015-07-08 15:32:20 -07:00
parent 4c77dd6a69
commit 5870248617
5 changed files with 158 additions and 0 deletions

View File

@ -16,6 +16,7 @@
"platform/features/pages",
"platform/features/plot",
"platform/features/scrolling",
"platform/features/search",
"platform/features/events",
"platform/forms",
"platform/persistence/queue",

View File

@ -0,0 +1,22 @@
{
"name": "Search View",
"description": "Allows the user to search through the file three.",
"extensions": {
"views": [
{
"key": "search",
"name": "Search",
"glyph": "5",
"description": "Search functionality.",
"templateUrl": "templates/search.html"
}
],
"controllers": [
{
"key": "SearchController",
"implementation": "SearchController.js",
"depends": [ "$scope" ]
}
]
}
}

View File

@ -0,0 +1,48 @@
<!--
Open MCT Web, Copyright (c) 2014-2015, United States Government
as represented by the Administrator of the National Aeronautics and Space
Administration. All rights reserved.
Open MCT Web is licensed under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
Open MCT Web includes source code licensed under additional open source
licenses. See the Open Source Licenses file (LICENSES.md) included with
this source code distribution or the Licensing information page available
at runtime from the About dialog for additional information.
-->
<!-- Based on grid-item -->
<!-- For selected, add class 'selected' to outer div -->
<div class='item grid-item' ng-click='action.perform("navigate")'>
<div class="contents abs">
<div class='top-bar bar abs'>
<div class='left abs'>
<mct-include key="_checkbox"></mct-include>
</div>
<div class='right abs'>
<div class='ui-symbol icon alert hidden' onclick="alert('Not yet functional. When this is visible, it means that this object needs to be updated. Clicking will allow that action via a dialog.');">!</div>
<div class='ui-symbol icon profile' title="Shared">P</div>
</div>
</div>
<div class='item-main abs'>
<div class='ui-symbol icon lg abs item-type'>{{type.getGlyph()}}</div>
<div class='ui-symbol icon abs item-open'>}</div>
</div>
<div class='bottom-bar bar abs'>
<div class='title'>{{model.name}}</div>
<div class='details'>
<span ng-show="model.composition !== undefined">
{{model.composition.length}} Items
</span>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,38 @@
<!--
Open MCT Web, Copyright (c) 2014-2015, United States Government
as represented by the Administrator of the National Aeronautics and Space
Administration. All rights reserved.
Open MCT Web is licensed under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
Open MCT Web includes source code licensed under additional open source
licenses. See the Open Source Licenses file (LICENSES.md) included with
this source code distribution or the Licensing information page available
at runtime from the About dialog for additional information.
-->
<!-- Based on items -->
<div class='items-holder grid abs'>
<!-- Search bar -->
<div id="all">
<form>
Search in this folder: <br>
<input type="text" name="searchform">
<input type="submit" value="Search">
</form>
</div>
<!-- Results list -->
<mct-representation key="'search-item'"
ng-repeat="childObject in composition"
mct-object="childObject">
</mct-representation>
</div>

View File

@ -0,0 +1,49 @@
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
* Open MCT Web is licensed under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
* Open MCT Web includes source code licensed under additional open source
* licenses. See the Open Source Licenses file (LICENSES.md) included with
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/*global define,Promise*/
/**
* Module defining ListController. Created by vwoeltje on 11/18/14.
*/
define(function () {
function SearchController($scope) {
var items = [],
searchResults = [];
// Indexes the filetree into a searchable format
function indexTree() {
var persistence = $scope.domainObject.getCapability('persistence');
return persistence && persistence.persist();
}
// Search through items for items which have the search term
// in the title
function search(term) {
// modify searchResults
}
// When the search view is opened, call indexTree()
// When the search button is pressed, call search()
}
return SearchController;
});