Author: olamy
Date: Mon Feb 27 10:34:45 2012
New Revision: 1294098
URL: http://svn.apache.org/viewvc?rev=1294098&view=rev
Log:
start binding for searching
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js?rev=1294098&r1=1294097&r2=1294098&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
Mon Feb 27 10:34:45 2012
@@ -408,8 +408,67 @@ $(function() {
// search part
//-----------------------------------------
+ SearchRequest=function(){
+ //private String groupId;
+ this.groupId=ko.observable();
+
+ //private String artifactId;
+ this.artifactId=ko.observable();
+
+ //private String version;
+ this.version=ko.observable();
+
+ //private String packaging;
+ this.packaging=ko.observable();
+
+ //private String className;
+ this.className=ko.observable();
+
+ //private List<String> repositories = new ArrayList<String>();
+ this.repositories=ko.observableArray();
+
+ //private String bundleVersion;
+ this.bundleVersion=ko.observable();
+
+ //private String bundleSymbolicName;
+ this.bundleSymbolicName=ko.observable();
+
+ //private String bundleExportPackage;
+ this.bundleExportPackage=ko.observable();
+
+ //private String bundleExportService;
+ this.bundleExportService=ko.observable();
+
+ //private String classifier;
+ this.classifier=ko.observable();
+
+ //private boolean includePomArtifacts = false;
+ this.includePomArtifacts=ko.observable(false);
+ }
+
+
+ SearchParameters=function(){
+ this.basicQueryString=ko.observable();
+ this.searchRequest=ko.observable(new SearchRequest());
+ }
+
+ SearchViewModel=function(){
+ this.searchParameters=ko.observable(new SearchParameters());
+
+ basicSearch=function(){
+ $.log("query:"+this.searchParameters().basicQueryString())
+ }
+
+ advancedSearch=function(){
+ $.log("groupId:"+this.searchParameters().searchRequest().groupId());
+ }
+ }
+
displaySearch=function(){
- $("#main-content" ).html($("#search-artifacts-form" ).tmpl());
+ var mainContent=$("#main-content");
+ mainContent.html($("#search-artifacts-div-tmpl" ).tmpl());
+ var searchViewModel=new SearchViewModel();
+
ko.applyBindings(searchViewModel,mainContent.find("#search-artifacts-div").get(0));
}
});
\ No newline at end of file
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html?rev=1294098&r1=1294097&r2=1294098&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html
Mon Feb 27 10:34:45 2012
@@ -145,59 +145,76 @@
</div>
</div>
</script>
+<script id="search-artifacts-div-tmpl" type="text/html">
+ <div id="search-artifacts-div"
data-bind='template:{name:"search-artifacts-form-tmpl"}'>
+ </div>
+</script>
+<script id="search-artifacts-form-tmpl" type="text/html">
-<script id="search-artifacts-form" type="text/html">
<div class="page-header">
<h3>${$.i18n.prop('search.artifact.header')}</h3>
</div>
<div class="accordion" id="search-artifacts-accordion">
<div class="accordion-group">
- <div class="accordion-heading">
- <a class="accordion-toggle" href="#search-form-collapse"
data-parent="#search-artifacts-accordion"
data-toggle="collapse">${$.i18n.prop('search.artifact.form.header')}</a>
- </div>
- <div id="search-form-collapse" class="accordion-body collapse in">
- <div class="tabbable tabs-below">
- <ul class="nav nav-tabs">
- <li class="active">
- <a href="#search-basic-form-pane"
data-toggle="tab">${$.i18n.prop('search.artifact.search.form.basic')}</a>
- </li>
- <li>
- <a href="#search-advanced-form-pane"
data-toggle="tab">${$.i18n.prop('search.artifact.search.form.advanced')}</a>
- </li>
- <li>
- <a href="#search-osgi-form-pane"
data-toggle="tab">${$.i18n.prop('search.artifact.search.form.osgi')}</a>
- </li>
- </ul>
- <div class="tab-content">
- <div class="tab-pane active" id="search-basic-form-pane">
- <form class="well form-horizontal" id="search-basic-form">
+ <div class="accordion-heading">
+ <a class="accordion-toggle" href="#search-form-collapse"
data-parent="#search-artifacts-accordion"
data-toggle="collapse">${$.i18n.prop('search.artifact.form.header')}</a>
+ </div>
+ <div id="search-form-collapse" class="accordion-body collapse in">
+ <div class="tabbable tabs-below">
+ <ul class="nav nav-tabs">
+ <li class="active">
+ <a href="#search-basic-form-pane"
data-toggle="tab">${$.i18n.prop('search.artifact.search.form.basic')}</a>
+ </li>
+ <li>
+ <a href="#search-advanced-form-pane"
data-toggle="tab">${$.i18n.prop('search.artifact.search.form.advanced')}</a>
+ </li>
+ <li>
+ <a href="#search-osgi-form-pane"
data-toggle="tab">${$.i18n.prop('search.artifact.search.form.osgi')}</a>
+ </li>
+ </ul>
+ <div class="tab-content">
+ <div class="tab-pane active" id="search-basic-form-pane">
+ <form class="well form-horizontal" id="search-basic-form">
+ <fieldset>
+ <div class="control-group">
+ <label class="control-label"
for="search-terms">${$.i18n.prop('search.artifact.search.form.query.terms')}</label>
+ <div class="controls">
+ <input type="text" class="input-medium search-query"
id="search-terms" name="search-terms" size="50"
+ data-bind="value:
searchParameters().basicQueryString"/>
+ </div>
+ </div>
+ </fieldset>
+ <button type="submit" class="btn" data-bind="click:
basicSearch">Search</button>
+ </form>
+ </div>
+ <div class="tab-pane" id="search-advanced-form-pane">
+ <form class="well form-horizontal" id="search-advanced-form">
<fieldset>
<div class="control-group">
- <label class="control-label"
for="search-terms">${$.i18n.prop('search.artifact.search.form.query.terms')}</label>
+ <label class="control-label"
for="groupId">${$.i18n.prop('search.artifact.search.form.query.groupId')}</label>
<div class="controls">
- <input type="text" class="input-medium search-query"
id="search-terms" name="search-terms" size="50"
- data-bind="value: managedRepository.name"/>
+ <input type="text" class="input-medium search-query"
id="groupId" name="groupId" size="50"
+ data-bind="value:
searchParameters().searchRequest().groupId"/>
</div>
</div>
</fieldset>
- <button type="submit" class="btn">Search</button>
+ <button type="submit" class="btn" data-bind="click:
advancedSearch">Search</button>
</form>
- </div>
- <div class="tab-pane" id="search-advanced-form-pane">
- <p>advanced search form.</p>
- </div>
- <div class="tab-pane" id="search-osgi-form-pane">
- <p>osgi search form.</p>
- </div>
+ </div>
+ <div class="tab-pane" id="search-osgi-form-pane">
+ <p>osgi search form.</p>
</div>
</div>
</div>
+ </div>
- <div class="accordion-heading">
- <a class="accordion-toggle" href="#search-results"
data-parent="#search-artifacts-accordion"
data-toggle="collapse">${$.i18n.prop('search.artifact.results.header')}</a>
- </div>
- <div id="search-results" class="accordion-body collapse">
- results
- </div>
+ <div class="accordion-heading">
+ <a class="accordion-toggle" href="#search-results"
data-parent="#search-artifacts-accordion"
data-toggle="collapse">${$.i18n.prop('search.artifact.results.header')}</a>
+ </div>
+ <div id="search-results" class="accordion-body collapse">
+ results
+ </div>
</div>
+ </div>
+
</script>
\ No newline at end of file