You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by eh...@apache.org on 2015/05/22 16:53:06 UTC
svn commit: r1681135 - in /lucene/dev/branches/branch_5x/solr/webapp/web:
js/angular/controllers/analysis.js partials/analysis.html
Author: ehatcher
Date: Fri May 22 14:53:05 2015
New Revision: 1681135
URL: http://svn.apache.org/r1681135
Log:
SOLR-7579: Fix Angular admin UI analysis screen drop-down issue
Modified:
lucene/dev/branches/branch_5x/solr/webapp/web/js/angular/controllers/analysis.js
lucene/dev/branches/branch_5x/solr/webapp/web/partials/analysis.html
Modified: lucene/dev/branches/branch_5x/solr/webapp/web/js/angular/controllers/analysis.js
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/webapp/web/js/angular/controllers/analysis.js?rev=1681135&r1=1681134&r2=1681135&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/webapp/web/js/angular/controllers/analysis.js (original)
+++ lucene/dev/branches/branch_5x/solr/webapp/web/js/angular/controllers/analysis.js Fri May 22 14:53:05 2015
@@ -17,20 +17,7 @@
solrAdminApp.controller('AnalysisController',
function($scope, $location, $routeParams, Luke, Analysis) {
- $scope.resetMenu("analysis");
-
- // Read initial values from URL:
- $scope.init = function() {
- var params = $location.search();
- $scope.indexText = params["analysis.fieldvalue"];
- $scope.queryText = params["analysis.query"];
- if (params["analysis.fieldname"]) {
- $scope.fieldOrType = "fieldname=" + params["analysis.fieldname"];
- } else {
- $scope.fieldOrType = "fieldtype=" + params["analysis.fieldtype"];
- }
- $scope.verbose = params["verboxe_output"]=="1";
- };
+ $scope.resetMenu("analysis");
$scope.refresh = function() {
Luke.schema({core: $routeParams.core}, function(data) {
@@ -49,20 +36,9 @@ solrAdminApp.controller('AnalysisControl
}
});
+ $scope.parseQueryString();
// @todo - if URL param, set $scope.verbose;
// @todo - set defaultSearchField either to context["analysis.fieldname"] or context["analysis.fieldtype"]
- /** @todo: not sure:
- var fields = 0;
- for( var key in context.params )
- {
- if( 'string' === typeof context.params[key] && 0 !== context.params[key].length )
- {
- fields++;
- $( '[name="' + key + '"]', analysis_form )
- .val( context.params[key] );
- }
- }
- */
};
$scope.verbose = true;
@@ -111,62 +87,85 @@ solrAdminApp.controller('AnalysisControl
return tokens;
};
- var mangle = function(data) {
- response = [];
- for (var i=0; i < data.length; i+=2) {
- var component = {
- name: data[i],
- short: getShortComponentName(data[i]),
- captions: getCaptionsForComponent(data[i+1]),
- tokens: getTokensForComponent(data[i+1])
- };
- response.push(component);
+ var extractComponents = function(data, result, name) {
+ if (data) {
+ result[name] = [];
+ for (var i = 0; i < data.length; i += 2) {
+ var component = {
+ name: data[i],
+ short: getShortComponentName(data[i]),
+ captions: getCaptionsForComponent(data[i + 1]),
+ tokens: getTokensForComponent(data[i + 1])
+ };
+ result[name].push(component);
+ }
}
- return response;
};
var processAnalysisData = function(analysis, fieldOrType) {
var fieldname;
- console.log(fieldOrType);
- console.dir(analysis[fieldOrType]);
for (fieldname in analysis[fieldOrType]) {console.log(fieldname);break;}
- var index = mangle(analysis[fieldOrType][fieldname].index);
- var query = mangle(analysis[fieldOrType][fieldname].query);
- response = {index: index, query: query};
+ var response = {};
+ extractComponents(analysis[fieldOrType][fieldname].index, response, "index");
+ extractComponents(analysis[fieldOrType][fieldname].query, response, "query");
return response;
};
- $scope.analyse = function() {
+ $scope.updateQueryString = function() {
+
var parts = $scope.fieldOrType.split("=");
- var fieldOrType = parts[0] == "fieldname" ? "field_names" : "field_types";
+ var fieldOrType = parts[0];
+ var name = parts[1];
- params = {
- "analysis.fieldvalue": $scope.indexText,
- "analysis.query": $scope.queryText
- };
+ if ($scope.indexText) {
+ $location.search("analysis.fieldvalue", $scope.indexText);
+ }
+ if ($scope.queryText) {
+ $location.search("analysis.query", $scope.queryText);
+ }
- if (fieldOrType == "field_names") {
- params["analysis.fieldname"] = parts[1];
+ if (fieldOrType == "fieldname") {
+ $location.search("analysis.fieldname", name);
+ $location.search("analysis.fieldtype", null);
} else {
- params["analysis.fieldtype"] = parts[1];
+ $location.search("analysis.fieldtype", name);
+ $location.search("analysis.fieldname", null);
}
+ };
- $location.search("analysis.fieldname", null);
- $location.search("analysis.fieldtype", null);
- for (var param in params) {
- $location.search(param, params[param]);
- }
+ $scope.parseQueryString = function () {
+ var params = {};
+ var search = $location.search();
- params.core = $routeParams.core;
- Analysis.field(params, function(data) {
- $scope.analysis = data;
- $scope.result = processAnalysisData(data.analysis, fieldOrType);
- });
+ if (Object.keys(search).length == 0) {
+ return;
+ }
+ for (var key in search) {
+ params[key]=search[key];
+ }
+ $scope.indexText = search["analysis.fieldvalue"];
+ $scope.queryText = search["analysis.query"];
+ if (search["analysis.fieldname"]) {
+ $scope.fieldOrType = "fieldname=" + search["analysis.fieldname"];
+ } else {
+ $scope.fieldOrType = "fieldtype=" + search["analysis.fieldtype"];
+ }
+ $scope.verbose = search["verbose_output"] == "1";
+
+ if ($scope.fieldOrType || $scope.indexText || $scope.queryText) {
+ params.core = $routeParams.core;
+ var parts = $scope.fieldOrType.split("=");
+ var fieldOrType = parts[0] == "fieldname" ? "field_names" : "field_types";
+
+ Analysis.field(params, function(data) {
+ $scope.result = processAnalysisData(data.analysis, fieldOrType);
+ });
+ }
};
+
$scope.toggleVerbose = function() {$scope.verbose = !$scope.verbose};
- $scope.init();
$scope.refresh();
}
);
Modified: lucene/dev/branches/branch_5x/solr/webapp/web/partials/analysis.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/webapp/web/partials/analysis.html?rev=1681135&r1=1681134&r2=1681135&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/webapp/web/partials/analysis.html (original)
+++ lucene/dev/branches/branch_5x/solr/webapp/web/partials/analysis.html Fri May 22 14:53:05 2015
@@ -41,13 +41,13 @@ limitations under the License.
<li class="settings-holder clearfix">
<div class="settings clearfix">
<label for="type_or_name">Analyse Fieldname / FieldType:</label>
- <select chosen id="type_or_name" ng-model="fieldOrType" ng-options="f.value as f.label group by f.group for f in fieldsAndTypes"></select>
+ <select style="width:130px" chosen id="type_or_name" ng-model="fieldOrType" ng-options="f.value as f.label group by f.group for f in fieldsAndTypes"></select>
<a id="tor_schema" href="#"><span>Schema Browser</span> </a>
<div class="buttons clearfix">
- <button type="submit" ng-click="analyse()"><span>Analyse Values</span></button>
+ <button type="submit" ng-click="updateQueryString()"><span>Analyse Values</span></button>
<div class="verbose_output" ng-class="{active:verbose}">
<a ng-click="toggleVerbose()">Verbose Output</a>