mirror of https://github.com/apache/lucene.git
SOLR-8139 Rename schema-browser to schema and add managed schema support
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1712532 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
994cfa1259
commit
6d9c2c46b1
|
@ -278,7 +278,7 @@ limitations under the License.
|
||||||
.sub-menu .analysis a { background-image: url( ../../img/ico/funnel.png ); }
|
.sub-menu .analysis a { background-image: url( ../../img/ico/funnel.png ); }
|
||||||
.sub-menu .documents a { background-image: url( ../../img/ico/documents-stack.png ); }
|
.sub-menu .documents a { background-image: url( ../../img/ico/documents-stack.png ); }
|
||||||
.sub-menu .files a { background-image: url( ../../img/ico/folder.png ); }
|
.sub-menu .files a { background-image: url( ../../img/ico/folder.png ); }
|
||||||
.sub-menu .schema-browser a { background-image: url( ../../img/ico/book-open-text.png ); }
|
.sub-menu .schema a { background-image: url( ../../img/ico/book-open-text.png ); }
|
||||||
.sub-menu .replication a { background-image: url( ../../img/ico/node.png ); }
|
.sub-menu .replication a { background-image: url( ../../img/ico/node.png ); }
|
||||||
.sub-menu .distribution a { background-image: url( ../../img/ico/node-select.png ); }
|
.sub-menu .distribution a { background-image: url( ../../img/ico/node-select.png ); }
|
||||||
.sub-menu .ping a { background-image: url( ../../img/ico/system-monitor.png ); }
|
.sub-menu .ping a { background-image: url( ../../img/ico/system-monitor.png ); }
|
||||||
|
|
|
@ -1,567 +0,0 @@
|
||||||
/*
|
|
||||||
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You 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.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#content #schema-browser .loader
|
|
||||||
{
|
|
||||||
background-position: 0 50%;
|
|
||||||
padding-left: 21px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser.loaded
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/div.gif );
|
|
||||||
background-position: 21% 0;
|
|
||||||
background-repeat: repeat-y;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data
|
|
||||||
{
|
|
||||||
float: right;
|
|
||||||
width: 78%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related
|
|
||||||
{
|
|
||||||
float: left;
|
|
||||||
width: 20%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related select
|
|
||||||
{
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related select optgroup
|
|
||||||
{
|
|
||||||
font-style: normal;
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related select option
|
|
||||||
{
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related #f-df-t
|
|
||||||
{
|
|
||||||
border-bottom: 1px solid #f0f0f0;
|
|
||||||
padding-bottom: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related .ukf-dsf dt
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related dl
|
|
||||||
{
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related dl dt,
|
|
||||||
#content #schema-browser #related dl dd a
|
|
||||||
{
|
|
||||||
color: #c0c0c0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related dl dt
|
|
||||||
{
|
|
||||||
font-weight: bold;
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related dl dd a
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related dl dd a:hover
|
|
||||||
{
|
|
||||||
background-color: #f8f8f8;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related .field .field,
|
|
||||||
#content #schema-browser #related .field .field a,
|
|
||||||
#content #schema-browser #related .dynamic-field .dynamic-field,
|
|
||||||
#content #schema-browser #related .dynamic-field .dynamic-field a,
|
|
||||||
#content #schema-browser #related .type .type,
|
|
||||||
#content #schema-browser #related .type .type a,
|
|
||||||
#content #schema-browser #related .active,
|
|
||||||
#content #schema-browser #related .active a
|
|
||||||
{
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #related .copyfield,
|
|
||||||
#content #schema-browser #related .copyfield a
|
|
||||||
{
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #index dt
|
|
||||||
{
|
|
||||||
float: left;
|
|
||||||
margin-right: 5px;
|
|
||||||
width: 150px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options
|
|
||||||
{
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .head h2
|
|
||||||
{
|
|
||||||
padding-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .partial
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .partial p
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/exclamation-button.png );
|
|
||||||
background-position: 0 50%;
|
|
||||||
padding-left: 21px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .options dt,
|
|
||||||
#content #schema-browser #data #field .field-options .options dd
|
|
||||||
{
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .options dt
|
|
||||||
{
|
|
||||||
clear: left;
|
|
||||||
margin-right: 5px;
|
|
||||||
width: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .flags
|
|
||||||
{
|
|
||||||
margin-top: 10px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .flags thead td
|
|
||||||
{
|
|
||||||
color: #c0c0c0;
|
|
||||||
padding-right: 5px;
|
|
||||||
width: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .flags tbody td,
|
|
||||||
#content #schema-browser #data #field .field-options .flags th
|
|
||||||
{
|
|
||||||
padding: 2px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .flags thead td,
|
|
||||||
#content #schema-browser #data #field .field-options .flags tbody th
|
|
||||||
{
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .flags thead th,
|
|
||||||
#content #schema-browser #data #field .field-options .flags tbody td
|
|
||||||
{
|
|
||||||
border-left: 1px solid #f0f0f0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .flags tbody th,
|
|
||||||
#content #schema-browser #data #field .field-options .flags tbody td
|
|
||||||
{
|
|
||||||
border-top: 1px solid #f0f0f0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .flags tbody .check
|
|
||||||
{
|
|
||||||
background-color: #fafdfa;
|
|
||||||
background-image: url( ../../img/ico/tick.png );
|
|
||||||
background-position: 50% 50%;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .flags tbody .check span
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .flags tbody .text
|
|
||||||
{
|
|
||||||
color: #c0c0c0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer,
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer li,
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer ul,
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer ul li
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer p,
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer dl
|
|
||||||
{
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer p
|
|
||||||
{
|
|
||||||
margin-right: 5px;
|
|
||||||
text-align: right;
|
|
||||||
width: 125px;
|
|
||||||
white-space: pre;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer p a
|
|
||||||
{
|
|
||||||
cursor: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer p a.analysis
|
|
||||||
{
|
|
||||||
cursor: pointer;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer p a.analysis span
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/question-white.png );
|
|
||||||
background-position: 0 50%;
|
|
||||||
padding-left: 21px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer p a.analysis:hover span
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/question.png );
|
|
||||||
color: #008;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer a
|
|
||||||
{
|
|
||||||
cursor: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer .toggle
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/chevron-small-expand.png );
|
|
||||||
background-position: 100% 50%;
|
|
||||||
cursor: pointer;
|
|
||||||
display: block;
|
|
||||||
padding-right: 21px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer .open .toggle
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/chevron-small.png );
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer li
|
|
||||||
{
|
|
||||||
border-top: 1px solid #f0f0f0;
|
|
||||||
margin-top: 10px;
|
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer ul
|
|
||||||
{
|
|
||||||
clear: left;
|
|
||||||
margin-left: 55px;
|
|
||||||
padding-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer .open ul
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer ul li
|
|
||||||
{
|
|
||||||
border-top: 1px solid #f8f8f8;
|
|
||||||
margin-top: 5px;
|
|
||||||
padding-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer ul p
|
|
||||||
{
|
|
||||||
color: #999;
|
|
||||||
margin-right: 5px;
|
|
||||||
text-align: right;
|
|
||||||
width: 70px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer ul dd
|
|
||||||
{
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer ul dd
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/document-list.png );
|
|
||||||
background-position: 0 50%;
|
|
||||||
color: #c0c0c0;
|
|
||||||
padding-left: 21px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer ul dd.ico-0
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/slash.png );
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .field-options .analyzer ul dd.ico-1
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/tick.png );
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .head
|
|
||||||
{
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .terminfo-holder
|
|
||||||
{
|
|
||||||
border-top: 1px solid #c0c0c0;
|
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .terminfo-holder .trigger
|
|
||||||
{
|
|
||||||
float: left;
|
|
||||||
width: 140px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .terminfo-holder .trigger button span
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/information.png );
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .terminfo-holder .status
|
|
||||||
{
|
|
||||||
border-left: 1px solid #f0f0f0;
|
|
||||||
float: left;
|
|
||||||
padding-left: 20px;
|
|
||||||
padding-right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .terminfo-holder.disabled .trigger button span
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/prohibition.png );
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .terminfo-holder.disabled .status
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .terminfo-holder .trigger .autoload
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .terminfo-holder.loaded .trigger .autoload
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/ui-check-box-uncheck.png );
|
|
||||||
background-position: 0 50%;
|
|
||||||
color: #c0c0c0;
|
|
||||||
display: block;
|
|
||||||
margin-top: 10px;
|
|
||||||
padding-left: 21px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .terminfo-holder .trigger .autoload:hover
|
|
||||||
{
|
|
||||||
color: #008;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .terminfo-holder .trigger .autoload.on
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/ui-check-box.png );
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .topterms-holder,
|
|
||||||
#content #schema-browser #data #field .histogram-holder
|
|
||||||
{
|
|
||||||
border-left: 1px solid #f0f0f0;
|
|
||||||
float: left;
|
|
||||||
padding-left: 20px;
|
|
||||||
padding-right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .topterms-holder .head input
|
|
||||||
{
|
|
||||||
height: 18px;
|
|
||||||
line-height: 16px;
|
|
||||||
text-align: right;
|
|
||||||
width: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .topterms-holder .head .max-holder
|
|
||||||
{
|
|
||||||
color: #c0c0c0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .topterms-holder .head .max-holder:hover .max
|
|
||||||
{
|
|
||||||
color: #008;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .topterms-holder .head #query_link
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/question-white.png );
|
|
||||||
background-position: 0 50%;
|
|
||||||
color: #c0c0c0;
|
|
||||||
padding-left: 21px;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .topterms-holder .head #query_link:hover
|
|
||||||
{
|
|
||||||
background-image: url( ../../img/ico/question.png );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .topterms-holder .head #query_link span
|
|
||||||
{
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .topterms-holder .head #query_link:hover span
|
|
||||||
{
|
|
||||||
visibility: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser .topterms-holder li
|
|
||||||
{
|
|
||||||
border-top: 1px solid #999;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* possible overwrite with inline style */
|
|
||||||
#content #schema-browser .topterms-holder li p
|
|
||||||
{
|
|
||||||
background-color: #999;
|
|
||||||
color: #fff;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser .topterms-holder li p span
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
padding-right: 2px;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* possible overwrite with inline style */
|
|
||||||
#content #schema-browser .topterms-holder li ul
|
|
||||||
{
|
|
||||||
margin-left: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser .topterms-holder li li
|
|
||||||
{
|
|
||||||
border-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser .topterms-holder li li.odd
|
|
||||||
{
|
|
||||||
background-color: #f0f0f0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser .topterms-holder li li a
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
padding-left: 2px;
|
|
||||||
padding-right: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser .topterms-holder li li a:hover
|
|
||||||
{
|
|
||||||
background-color: #c0c0c0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .histogram-holder ul
|
|
||||||
{
|
|
||||||
margin-left: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .histogram-holder li
|
|
||||||
{
|
|
||||||
margin-bottom: 2px;
|
|
||||||
position: relative;
|
|
||||||
width: 150px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .histogram-holder li.odd
|
|
||||||
{
|
|
||||||
background-color: #f0f0f0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .histogram-holder li dl,
|
|
||||||
#content #schema-browser #data #field .histogram-holder li dt
|
|
||||||
{
|
|
||||||
padding-top: 1px;
|
|
||||||
padding-bottom: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .histogram-holder li dl
|
|
||||||
{
|
|
||||||
background-color: #c0c0c0;
|
|
||||||
min-width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .histogram-holder li dt
|
|
||||||
{
|
|
||||||
color: #a0a0a0;
|
|
||||||
position: absolute;
|
|
||||||
overflow: hidden;
|
|
||||||
left: -25px;
|
|
||||||
top: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .histogram-holder li dt span
|
|
||||||
{
|
|
||||||
display: block;
|
|
||||||
padding-right: 4px;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .histogram-holder li dd
|
|
||||||
{
|
|
||||||
clear: left;
|
|
||||||
float: left;
|
|
||||||
margin-left: 2px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .histogram-holder li:hover dl
|
|
||||||
{
|
|
||||||
background-color: #b0b0b0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content #schema-browser #data #field .histogram-holder li:hover dt
|
|
||||||
{
|
|
||||||
color: #333;
|
|
||||||
}
|
|
|
@ -0,0 +1,704 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You 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.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#content #schema .loader
|
||||||
|
{
|
||||||
|
background-position: 0 50%;
|
||||||
|
padding-left: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema.loaded
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/div.gif );
|
||||||
|
background-position: 21% 0;
|
||||||
|
background-repeat: repeat-y;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data
|
||||||
|
{
|
||||||
|
float: right;
|
||||||
|
width: 78%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related
|
||||||
|
{
|
||||||
|
float: left;
|
||||||
|
width: 20%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related select
|
||||||
|
{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related select optgroup
|
||||||
|
{
|
||||||
|
font-style: normal;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related select option
|
||||||
|
{
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related #f-df-t
|
||||||
|
{
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related .ukf-dsf dt
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related dl
|
||||||
|
{
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related dl dt,
|
||||||
|
#content #schema #related dl dd a
|
||||||
|
{
|
||||||
|
color: #c0c0c0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related dl dt
|
||||||
|
{
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related dl dd a
|
||||||
|
{
|
||||||
|
display: block;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related dl dd a:hover
|
||||||
|
{
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related .field .field,
|
||||||
|
#content #schema #related .field .field a,
|
||||||
|
#content #schema #related .dynamic-field .dynamic-field,
|
||||||
|
#content #schema #related .dynamic-field .dynamic-field a,
|
||||||
|
#content #schema #related .type .type,
|
||||||
|
#content #schema #related .type .type a,
|
||||||
|
#content #schema #related .active,
|
||||||
|
#content #schema #related .active a
|
||||||
|
{
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #related .copyfield,
|
||||||
|
#content #schema #related .copyfield a
|
||||||
|
{
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #index dt
|
||||||
|
{
|
||||||
|
float: left;
|
||||||
|
margin-right: 5px;
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options
|
||||||
|
{
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .head h2
|
||||||
|
{
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .partial
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .partial p
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/exclamation-button.png );
|
||||||
|
background-position: 0 50%;
|
||||||
|
padding-left: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .options dt,
|
||||||
|
#content #schema #data #field .field-options .options dd
|
||||||
|
{
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .options dt
|
||||||
|
{
|
||||||
|
clear: left;
|
||||||
|
margin-right: 5px;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .flags
|
||||||
|
{
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .flags thead td
|
||||||
|
{
|
||||||
|
color: #c0c0c0;
|
||||||
|
padding-right: 5px;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .flags tbody td,
|
||||||
|
#content #schema #data #field .field-options .flags th
|
||||||
|
{
|
||||||
|
padding: 2px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .flags thead td,
|
||||||
|
#content #schema #data #field .field-options .flags tbody th
|
||||||
|
{
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .flags thead th,
|
||||||
|
#content #schema #data #field .field-options .flags tbody td
|
||||||
|
{
|
||||||
|
border-left: 1px solid #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .flags tbody th,
|
||||||
|
#content #schema #data #field .field-options .flags tbody td
|
||||||
|
{
|
||||||
|
border-top: 1px solid #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .flags tbody .check
|
||||||
|
{
|
||||||
|
background-color: #fafdfa;
|
||||||
|
background-image: url( ../../img/ico/tick.png );
|
||||||
|
background-position: 50% 50%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .flags tbody .check span
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .flags tbody .text
|
||||||
|
{
|
||||||
|
color: #c0c0c0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer,
|
||||||
|
#content #schema #data #field .field-options .analyzer li,
|
||||||
|
#content #schema #data #field .field-options .analyzer ul,
|
||||||
|
#content #schema #data #field .field-options .analyzer ul li
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer p,
|
||||||
|
#content #schema #data #field .field-options .analyzer dl
|
||||||
|
{
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer p
|
||||||
|
{
|
||||||
|
margin-right: 5px;
|
||||||
|
text-align: right;
|
||||||
|
width: 125px;
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer p a
|
||||||
|
{
|
||||||
|
cursor: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer p a.analysis
|
||||||
|
{
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer p a.analysis span
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/question-white.png );
|
||||||
|
background-position: 0 50%;
|
||||||
|
padding-left: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer p a.analysis:hover span
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/question.png );
|
||||||
|
color: #008;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer a
|
||||||
|
{
|
||||||
|
cursor: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer .toggle
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/chevron-small-expand.png );
|
||||||
|
background-position: 100% 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
padding-right: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer .open .toggle
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/chevron-small.png );
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer li
|
||||||
|
{
|
||||||
|
border-top: 1px solid #f0f0f0;
|
||||||
|
margin-top: 10px;
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer ul
|
||||||
|
{
|
||||||
|
clear: left;
|
||||||
|
margin-left: 55px;
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer .open ul
|
||||||
|
{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer ul li
|
||||||
|
{
|
||||||
|
border-top: 1px solid #f8f8f8;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer ul p
|
||||||
|
{
|
||||||
|
color: #999;
|
||||||
|
margin-right: 5px;
|
||||||
|
text-align: right;
|
||||||
|
width: 70px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer ul dd
|
||||||
|
{
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer ul dd
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/document-list.png );
|
||||||
|
background-position: 0 50%;
|
||||||
|
color: #c0c0c0;
|
||||||
|
padding-left: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer ul dd.ico-0
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/slash.png );
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .field-options .analyzer ul dd.ico-1
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/tick.png );
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .head
|
||||||
|
{
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .terminfo-holder
|
||||||
|
{
|
||||||
|
border-top: 1px solid #c0c0c0;
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .terminfo-holder .trigger
|
||||||
|
{
|
||||||
|
float: left;
|
||||||
|
width: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .terminfo-holder .trigger button span
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/information.png );
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .terminfo-holder .status
|
||||||
|
{
|
||||||
|
border-left: 1px solid #f0f0f0;
|
||||||
|
float: left;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .terminfo-holder.disabled .trigger button span
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/prohibition.png );
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .terminfo-holder.disabled .status
|
||||||
|
{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .terminfo-holder .trigger .autoload
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .terminfo-holder.loaded .trigger .autoload
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/ui-check-box-uncheck.png );
|
||||||
|
background-position: 0 50%;
|
||||||
|
color: #c0c0c0;
|
||||||
|
display: block;
|
||||||
|
margin-top: 10px;
|
||||||
|
padding-left: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .terminfo-holder .trigger .autoload:hover
|
||||||
|
{
|
||||||
|
color: #008;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .terminfo-holder .trigger .autoload.on
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/ui-check-box.png );
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .topterms-holder,
|
||||||
|
#content #schema #data #field .histogram-holder
|
||||||
|
{
|
||||||
|
border-left: 1px solid #f0f0f0;
|
||||||
|
float: left;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .topterms-holder .head input
|
||||||
|
{
|
||||||
|
height: 18px;
|
||||||
|
line-height: 16px;
|
||||||
|
text-align: right;
|
||||||
|
width: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .topterms-holder .head .max-holder
|
||||||
|
{
|
||||||
|
color: #c0c0c0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .topterms-holder .head .max-holder:hover .max
|
||||||
|
{
|
||||||
|
color: #008;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .topterms-holder .head #query_link
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/question-white.png );
|
||||||
|
background-position: 0 50%;
|
||||||
|
color: #c0c0c0;
|
||||||
|
padding-left: 21px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .topterms-holder .head #query_link:hover
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/question.png );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#content #schema #data #field .topterms-holder .head #query_link span
|
||||||
|
{
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .topterms-holder .head #query_link:hover span
|
||||||
|
{
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .topterms-holder li
|
||||||
|
{
|
||||||
|
border-top: 1px solid #999;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* possible overwrite with inline style */
|
||||||
|
#content #schema .topterms-holder li p
|
||||||
|
{
|
||||||
|
background-color: #999;
|
||||||
|
color: #fff;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .topterms-holder li p span
|
||||||
|
{
|
||||||
|
display: block;
|
||||||
|
padding-right: 2px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* possible overwrite with inline style */
|
||||||
|
#content #schema .topterms-holder li ul
|
||||||
|
{
|
||||||
|
margin-left: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .topterms-holder li li
|
||||||
|
{
|
||||||
|
border-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .topterms-holder li li.odd
|
||||||
|
{
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .topterms-holder li li a
|
||||||
|
{
|
||||||
|
display: block;
|
||||||
|
padding-left: 2px;
|
||||||
|
padding-right: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .topterms-holder li li a:hover
|
||||||
|
{
|
||||||
|
background-color: #c0c0c0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .histogram-holder ul
|
||||||
|
{
|
||||||
|
margin-left: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .histogram-holder li
|
||||||
|
{
|
||||||
|
margin-bottom: 2px;
|
||||||
|
position: relative;
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .histogram-holder li.odd
|
||||||
|
{
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .histogram-holder li dl,
|
||||||
|
#content #schema #data #field .histogram-holder li dt
|
||||||
|
{
|
||||||
|
padding-top: 1px;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .histogram-holder li dl
|
||||||
|
{
|
||||||
|
background-color: #c0c0c0;
|
||||||
|
min-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .histogram-holder li dt
|
||||||
|
{
|
||||||
|
color: #a0a0a0;
|
||||||
|
position: absolute;
|
||||||
|
overflow: hidden;
|
||||||
|
left: -25px;
|
||||||
|
top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .histogram-holder li dt span
|
||||||
|
{
|
||||||
|
display: block;
|
||||||
|
padding-right: 4px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .histogram-holder li dd
|
||||||
|
{
|
||||||
|
clear: left;
|
||||||
|
float: left;
|
||||||
|
margin-left: 2px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .histogram-holder li:hover dl
|
||||||
|
{
|
||||||
|
background-color: #b0b0b0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #data #field .histogram-holder li:hover dt
|
||||||
|
{
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #actions {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
min-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .actions #addField span { background-image: url( ../../img/ico/document-list.png ); }
|
||||||
|
#content #schema .actions #addDynamicField span { background-image: url( ../../img/ico/documents-stack.png ); }
|
||||||
|
#content #schema .actions #addCopyField span { background-image: url( ../../img/ico/document-import.png ); }
|
||||||
|
|
||||||
|
#content #schema .actions div.action
|
||||||
|
{
|
||||||
|
width: 320px;
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #f0f0f0;
|
||||||
|
box-shadow: 5px 5px 10px #c0c0c0;
|
||||||
|
-moz-box-shadow: 5px 5px 10px #c0c0c0;
|
||||||
|
-webkit-box-shadow: 5px 5px 10px #c0c0c0;
|
||||||
|
position: absolute;
|
||||||
|
left: 160px;
|
||||||
|
top: 50px;
|
||||||
|
padding: 10px;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .actions p
|
||||||
|
{
|
||||||
|
padding-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .actions label
|
||||||
|
{
|
||||||
|
float: left;
|
||||||
|
padding-top: 3px;
|
||||||
|
padding-bottom: 3px;
|
||||||
|
text-align: right;
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .actions input,
|
||||||
|
#content #schema .actions select,
|
||||||
|
#content #schema .actions .buttons,
|
||||||
|
#content #schema .actions .note span
|
||||||
|
{
|
||||||
|
float: right;
|
||||||
|
width: 71%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .actions label.checkbox {
|
||||||
|
margin-left: 27%;
|
||||||
|
text-align: left;
|
||||||
|
width: 73%;
|
||||||
|
padding: 0px;
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
||||||
|
#content #schema .actions .checkbox input {
|
||||||
|
float: none;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .add_showhide {
|
||||||
|
background-image: url( ../../img/ico/chevron-small-expand.png );
|
||||||
|
background-position: 100% 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
padding-right: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .add_showhide.open {
|
||||||
|
background-image: url( ../../img/ico/chevron-small.png );
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema label
|
||||||
|
{
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
margin-top: 5px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .checkbox
|
||||||
|
{
|
||||||
|
margin-bottom: 0;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .chosen-container {
|
||||||
|
margin-left: 6px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
#content #schema .chosen-drop input,
|
||||||
|
#content #schema .chosen-results {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema button span
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/cross.png );
|
||||||
|
}
|
||||||
|
#content #schema button.submit span
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/tick.png );
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .error
|
||||||
|
{
|
||||||
|
background-image: url( ../../img/ico/cross-button.png );
|
||||||
|
background-position: 22% 1px;
|
||||||
|
color: #c00;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema #actions .error span
|
||||||
|
{
|
||||||
|
float: right;
|
||||||
|
width: 71%;
|
||||||
|
padding-left: 3px;
|
||||||
|
padding-right: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .delete-field button span {
|
||||||
|
background-image: url( ../../img/ico/cross.png );
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema span.rem {
|
||||||
|
background-image: url( ../../img/ico/cross.png );
|
||||||
|
background-position: 100% 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
padding-right: 21px;
|
||||||
|
right:10px;
|
||||||
|
float:right;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content #schema .copyfield .updatable a {
|
||||||
|
float:left;
|
||||||
|
width:80%;
|
||||||
|
}
|
|
@ -39,7 +39,7 @@ limitations under the License.
|
||||||
<link rel="stylesheet" type="text/css" href="css/angular/documents.css?_=${version}">
|
<link rel="stylesheet" type="text/css" href="css/angular/documents.css?_=${version}">
|
||||||
<link rel="stylesheet" type="text/css" href="css/angular/query.css?_=${version}">
|
<link rel="stylesheet" type="text/css" href="css/angular/query.css?_=${version}">
|
||||||
<link rel="stylesheet" type="text/css" href="css/angular/replication.css?_=${version}">
|
<link rel="stylesheet" type="text/css" href="css/angular/replication.css?_=${version}">
|
||||||
<link rel="stylesheet" type="text/css" href="css/angular/schema-browser.css?_=${version}">
|
<link rel="stylesheet" type="text/css" href="css/angular/schema.css?_=${version}">
|
||||||
<link rel="stylesheet" type="text/css" href="css/angular/segments.css?_=${version}">
|
<link rel="stylesheet" type="text/css" href="css/angular/segments.css?_=${version}">
|
||||||
<link rel="stylesheet" type="text/css" href="css/angular/threads.css?_=${version}">
|
<link rel="stylesheet" type="text/css" href="css/angular/threads.css?_=${version}">
|
||||||
<link rel="stylesheet" type="text/css" href="css/angular/chosen.css?_=${version}">
|
<link rel="stylesheet" type="text/css" href="css/angular/chosen.css?_=${version}">
|
||||||
|
@ -74,7 +74,7 @@ limitations under the License.
|
||||||
<script src="js/angular/controllers/query.js"></script>
|
<script src="js/angular/controllers/query.js"></script>
|
||||||
<script src="js/angular/controllers/plugins.js"></script>
|
<script src="js/angular/controllers/plugins.js"></script>
|
||||||
<script src="js/angular/controllers/replication.js"></script>
|
<script src="js/angular/controllers/replication.js"></script>
|
||||||
<script src="js/angular/controllers/schema-browser.js"></script>
|
<script src="js/angular/controllers/schema.js"></script>
|
||||||
<script src="js/angular/controllers/segments.js"></script>
|
<script src="js/angular/controllers/segments.js"></script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
@ -185,7 +185,7 @@ limitations under the License.
|
||||||
<li class="documents" ng-class="{active:page=='documents'}"><a href="#/{{currentCollection.name}}/documents"><span>Documents</span></a></li>
|
<li class="documents" ng-class="{active:page=='documents'}"><a href="#/{{currentCollection.name}}/documents"><span>Documents</span></a></li>
|
||||||
<li class="files" ng-class="{active:page=='files'}"><a href="#/{{currentCollection.name}}/files"><span>Files</span></a></li>
|
<li class="files" ng-class="{active:page=='files'}"><a href="#/{{currentCollection.name}}/files"><span>Files</span></a></li>
|
||||||
<li class="query" ng-class="{active:page=='query'}"><a href="#/{{currentCollection.name}}/query"><span>Query</span></a></li>
|
<li class="query" ng-class="{active:page=='query'}"><a href="#/{{currentCollection.name}}/query"><span>Query</span></a></li>
|
||||||
<li class="schema-browser" ng-class="{active:page=='schema-browser'}"><a href="#/{{currentCollection.name}}/schema-browser"><span>Schema Browser</span></a></li>
|
<li class="schema" ng-class="{active:page=='schema'}"><a href="#/{{currentCollection.name}}/schema"><span>Schema</span></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="core-selector">
|
<div id="core-selector">
|
||||||
|
@ -212,7 +212,7 @@ limitations under the License.
|
||||||
<li class="plugins" ng-class="{active:page=='plugins'}"><a href="#/{{currentCore.name}}/plugins"><span>Plugins / Stats</span></a></li>
|
<li class="plugins" ng-class="{active:page=='plugins'}"><a href="#/{{currentCore.name}}/plugins"><span>Plugins / Stats</span></a></li>
|
||||||
<li ng-hide="isCloudEnabled" class="query" ng-class="{active:page=='query'}"><a href="#/{{currentCore.name}}/query"><span>Query</span></a></li>
|
<li ng-hide="isCloudEnabled" class="query" ng-class="{active:page=='query'}"><a href="#/{{currentCore.name}}/query"><span>Query</span></a></li>
|
||||||
<li class="replication" ng-class="{active:page=='replication'}"><a href="#/{{currentCore.name}}/replication"><span>Replication</span></a></li>
|
<li class="replication" ng-class="{active:page=='replication'}"><a href="#/{{currentCore.name}}/replication"><span>Replication</span></a></li>
|
||||||
<li ng-hide="isCloudEnabled" class="schema-browser" ng-class="{active:page=='schema-browser'}"><a href="#/{{currentCore.name}}/schema-browser"><span>Schema Browser</span></a></li>
|
<li ng-hide="isCloudEnabled" class="schema" ng-class="{active:page=='schema'}"><a href="#/{{currentCore.name}}/schema"><span>Schema</span></a></li>
|
||||||
<li class="segments" ng-class="{active:page=='segments'}"><a href="#/{{currentCore.name}}/segments"><span>Segments info</span></a></li>
|
<li class="segments" ng-class="{active:page=='segments'}"><a href="#/{{currentCore.name}}/segments"><span>Segments info</span></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -121,9 +121,9 @@ solrAdminApp.config([
|
||||||
templateUrl: 'partials/dataimport.html',
|
templateUrl: 'partials/dataimport.html',
|
||||||
controller: 'DataImportController'
|
controller: 'DataImportController'
|
||||||
}).
|
}).
|
||||||
when('/:core/schema-browser', {
|
when('/:core/schema', {
|
||||||
templateUrl: 'partials/schema-browser.html',
|
templateUrl: 'partials/schema.html',
|
||||||
controller: 'SchemaBrowserController'
|
controller: 'SchemaController'
|
||||||
}).
|
}).
|
||||||
when('/:core/segments', {
|
when('/:core/segments', {
|
||||||
templateUrl: 'partials/segments.html',
|
templateUrl: 'partials/segments.html',
|
||||||
|
@ -156,6 +156,30 @@ solrAdminApp.config([
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
.directive('escapePressed', function () {
|
||||||
|
return function (scope, element, attrs) {
|
||||||
|
element.bind("keydown keypress", function (event) {
|
||||||
|
if(event.which === 27) {
|
||||||
|
scope.$apply(function (){
|
||||||
|
scope.$eval(attrs.escapePressed);
|
||||||
|
});
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
})
|
||||||
|
.directive('focusWhen', function($timeout) {
|
||||||
|
return {
|
||||||
|
link: function(scope, element, attrs) {
|
||||||
|
scope.$watch(attrs.focusWhen, function(value) {
|
||||||
|
if(value === true) {
|
||||||
|
$timeout(function() {
|
||||||
|
element[0].focus();
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
.directive('scrollableWhenSmall', function($window) {
|
.directive('scrollableWhenSmall', function($window) {
|
||||||
return {
|
return {
|
||||||
link: function(scope, element, attrs) {
|
link: function(scope, element, attrs) {
|
||||||
|
|
|
@ -17,14 +17,13 @@
|
||||||
|
|
||||||
var cookie_schema_browser_autoload = 'schema-browser_autoload';
|
var cookie_schema_browser_autoload = 'schema-browser_autoload';
|
||||||
|
|
||||||
solrAdminApp.controller('SchemaBrowserController',
|
solrAdminApp.controller('SchemaController',
|
||||||
function($scope, $routeParams, $location, $cookies, Luke, Constants) {
|
function($scope, $routeParams, $location, $cookies, $timeout, Luke, Constants, Schema, Config) {
|
||||||
$scope.resetMenu("schema-browser", Constants.IS_COLLECTION_PAGE);
|
$scope.resetMenu("schema", Constants.IS_COLLECTION_PAGE);
|
||||||
|
|
||||||
$scope.refresh = function () {
|
$scope.refresh = function () {
|
||||||
Luke.schema({core: $routeParams.core}, function (schema) {
|
Luke.schema({core: $routeParams.core}, function (schema) {
|
||||||
Luke.index({core: $routeParams.core}, function (index) {
|
Luke.raw({core: $routeParams.core}, function (index) {
|
||||||
|
|
||||||
var data = mergeIndexAndSchemaData(index, schema.schema);
|
var data = mergeIndexAndSchemaData(index, schema.schema);
|
||||||
|
|
||||||
$scope.fieldsAndTypes = getFieldsAndTypes(data);
|
$scope.fieldsAndTypes = getFieldsAndTypes(data);
|
||||||
|
@ -42,8 +41,12 @@ solrAdminApp.controller('SchemaBrowserController',
|
||||||
var field = data.fields[$scope.name];
|
var field = data.fields[$scope.name];
|
||||||
leftbar.types = [field.type];
|
leftbar.types = [field.type];
|
||||||
if (field.dynamicBase) leftbar.dynamicFields = [field.dynamicBase];
|
if (field.dynamicBase) leftbar.dynamicFields = [field.dynamicBase];
|
||||||
if (field.copySources && field.copySources.length>0) leftbar.copyFieldSources = field.copySources.sort();
|
if (field.copySources && field.copySources.length>0) {
|
||||||
if (field.copyDests && field.copyDests.length>0) leftbar.copyFieldDests = field.copyDests.sort();
|
leftbar.copyFieldSources = sortedObjectArray(field.copySources.sort());
|
||||||
|
}
|
||||||
|
if (field.copyDests && field.copyDests.length>0) {
|
||||||
|
leftbar.copyFieldDests = sortedObjectArray(field.copyDests.sort());
|
||||||
|
}
|
||||||
$scope.fieldOrType = "field=" + $scope.name;
|
$scope.fieldOrType = "field=" + $scope.name;
|
||||||
} else if (search["dynamic-field"]) {
|
} else if (search["dynamic-field"]) {
|
||||||
$scope.selectedType = "Dynamic Field";
|
$scope.selectedType = "Dynamic Field";
|
||||||
|
@ -70,15 +73,20 @@ solrAdminApp.controller('SchemaBrowserController',
|
||||||
$scope.isDefaultSearchField = ($scope.selectedType == "Field" && $scope.name == $scope.defaultSearchField);
|
$scope.isDefaultSearchField = ($scope.selectedType == "Field" && $scope.name == $scope.defaultSearchField);
|
||||||
$scope.isUniqueKeyField = ($scope.selectedType == "Field" && $scope.name == $scope.uniqueKeyField);
|
$scope.isUniqueKeyField = ($scope.selectedType == "Field" && $scope.name == $scope.uniqueKeyField);
|
||||||
|
|
||||||
$scope.display = getFieldProperties(index, $routeParams.core, $scope.is, $scope.name);
|
$scope.display = getFieldProperties(data, $routeParams.core, $scope.is, $scope.name);
|
||||||
$scope.analysis = getAnalysisInfo(data, $scope.is, $scope.name);
|
$scope.analysis = getAnalysisInfo(data, $scope.is, $scope.name);
|
||||||
|
|
||||||
$scope.isAutoload = $cookies[cookie_schema_browser_autoload] == "true";
|
$scope.isAutoload = $cookies[cookie_schema_browser_autoload] == "true";
|
||||||
if ($scope.isAutoload) {
|
if ($scope.isAutoload) {
|
||||||
$scope.toggleTerms();
|
$scope.toggleTerms();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$scope.types = Object.keys(schema.schema.types);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Config.get({core: $routeParams.core}, function(data) {
|
||||||
|
$scope.isSchemaUpdatable = data.config.schemaFactory.class == "ManagedIndexSchemaFactory";
|
||||||
|
});
|
||||||
};
|
};
|
||||||
$scope.refresh();
|
$scope.refresh();
|
||||||
|
|
||||||
|
@ -123,6 +131,161 @@ solrAdminApp.controller('SchemaBrowserController',
|
||||||
$cookies[cookie_schema_browser_autoload] = $scope.isAutoload;
|
$cookies[cookie_schema_browser_autoload] = $scope.isAutoload;
|
||||||
console.log("cookie: " + $cookies[cookie_schema_browser_autoload]);
|
console.log("cookie: " + $cookies[cookie_schema_browser_autoload]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$scope.hideAll = function() {
|
||||||
|
$scope.showAddField = false;
|
||||||
|
$scope.showAddDynamicField = false;
|
||||||
|
$scope.showAddCopyField = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.toggleAddField = function() {
|
||||||
|
if ($scope.showAddField && $scope.adding == "field") {
|
||||||
|
$scope.hideAll();
|
||||||
|
} else {
|
||||||
|
$scope.hideAll();
|
||||||
|
$scope.showAddField = true;
|
||||||
|
$scope.adding = "field";
|
||||||
|
|
||||||
|
$scope.newField = {
|
||||||
|
stored: "true",
|
||||||
|
indexed: "true"
|
||||||
|
}
|
||||||
|
delete $scope.addErrors;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.addField = function() {
|
||||||
|
delete $scope.addErrors;
|
||||||
|
var data = {"add-field": $scope.newField};
|
||||||
|
Schema.post({core: $routeParams.core}, data, function(data) {
|
||||||
|
if (data.errors) {
|
||||||
|
$scope.addErrors = data.errors[0].errorMessages;
|
||||||
|
if (typeof $scope.addErrors === "string") {
|
||||||
|
$scope.addErrors = [$scope.addErrors];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$scope.added = true;
|
||||||
|
$timeout(function() {
|
||||||
|
$scope.showAddField = false;
|
||||||
|
$scope.added = false;
|
||||||
|
$scope.refresh();
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.toggleAddDynamicField = function() {
|
||||||
|
if ($scope.showAddField && $scope.adding == "dynamicField") {
|
||||||
|
$scope.hideAll();
|
||||||
|
} else {
|
||||||
|
$scope.hideAll();
|
||||||
|
$scope.showAddField = true;
|
||||||
|
$scope.adding = "dynamicField";
|
||||||
|
|
||||||
|
$scope.newField = {
|
||||||
|
stored: "true",
|
||||||
|
indexed: "true"
|
||||||
|
}
|
||||||
|
delete $scope.addErrors;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.addDynamicField = function() {
|
||||||
|
delete $scope.addErrors;
|
||||||
|
var data = {"add-dynamic-field": $scope.newField};
|
||||||
|
Schema.post({core: $routeParams.core}, data, function(data) {
|
||||||
|
if (data.errors) {
|
||||||
|
$scope.addErrors = data.errors[0].errorMessages;
|
||||||
|
if (typeof $scope.addErrors === "string") {
|
||||||
|
$scope.addErrors = [$scope.addErrors];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$scope.added = true;
|
||||||
|
$timeout(function() {
|
||||||
|
$scope.showAddField = false;
|
||||||
|
$scope.added = false;
|
||||||
|
$scope.refresh();
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.toggleAddCopyField = function() {
|
||||||
|
if ($scope.showAddCopyField) {
|
||||||
|
$scope.hideAll();
|
||||||
|
} else {
|
||||||
|
$scope.hideAll();
|
||||||
|
$scope.showAddCopyField = true;
|
||||||
|
|
||||||
|
$scope.copyField = {};
|
||||||
|
delete $scope.addCopyFieldErrors;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$scope.addCopyField = function() {
|
||||||
|
delete $scope.addCopyFieldErrors;
|
||||||
|
var data = {"add-copy-field": $scope.copyField};
|
||||||
|
Schema.post({core: $routeParams.core}, data, function(data) {
|
||||||
|
if (data.errors) {
|
||||||
|
$scope.addCopyFieldErrors = data.errors[0].errorMessages;
|
||||||
|
if (typeof $scope.addCopyFieldErrors === "string") {
|
||||||
|
$scope.addCopyFieldErrors = [$scope.addCopyFieldErrors];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$scope.showAddCopyField = false;
|
||||||
|
$timeout($scope.refresh, 1500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.toggleDelete = function() {
|
||||||
|
if ($scope.showDelete) {
|
||||||
|
$scope.showDelete = false;
|
||||||
|
} else {
|
||||||
|
if ($scope.is.field) {
|
||||||
|
$scope.deleteData = {'delete-field': {name: $scope.name}};
|
||||||
|
} else if ($scope.is.dynamicField) {
|
||||||
|
$scope.deleteData = {'delete-dynamic-field': {name: $scope.name}};
|
||||||
|
} else {
|
||||||
|
alert("TYPE NOT KNOWN");
|
||||||
|
}
|
||||||
|
$scope.showDelete = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.delete = function() {
|
||||||
|
Schema.post({core: $routeParams.core}, $scope.deleteData, function(data) {
|
||||||
|
if (data.errors) {
|
||||||
|
$scope.deleteErrors = data.errors[0].errorMessages;
|
||||||
|
if (typeof $scope.deleteErrors === "string") {
|
||||||
|
$scope.deleteErrors = [$scope.deleteErrors];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$scope.deleted = true;
|
||||||
|
$timeout(function() {
|
||||||
|
$location.search("");
|
||||||
|
}, 1500
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
$scope.toggleDeleteCopyField = function(field) {
|
||||||
|
field.show = !field.show;
|
||||||
|
delete field.errors;
|
||||||
|
}
|
||||||
|
$scope.deleteCopyField = function(field, source, dest) {
|
||||||
|
data = {'delete-copy-field': {source: source, dest: dest}};
|
||||||
|
Schema.post({core: $routeParams.core}, data, function(data) {
|
||||||
|
if (data.errors) {
|
||||||
|
field.errors = data.errors[0].errorMessages;
|
||||||
|
if (typeof $scope.deleteErrors === "string") {
|
||||||
|
field.errors = [field.errors];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
field.deleted = true;
|
||||||
|
$timeout($scope.refresh, 1500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -303,9 +466,9 @@ var getFieldProperties = function(data, core, is, field) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// identify columns in field property table:
|
// identify columns in field property table:
|
||||||
for (var key in data.info.key) {
|
for (var key in data.key) {
|
||||||
if (allFlags.indexOf(key)>=0) {
|
if (allFlags.indexOf(key)>=0) {
|
||||||
display.columns.push({key: key, name: data.info.key[key]});
|
display.columns.push({key: key, name: data.key[key]});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -343,9 +506,7 @@ var getAnalysisInfo = function(data, is, name) {
|
||||||
var processComponentType = function (label, key, componentTypeData) {
|
var processComponentType = function (label, key, componentTypeData) {
|
||||||
if (componentTypeData) {
|
if (componentTypeData) {
|
||||||
var components = [];
|
var components = [];
|
||||||
console.dir(componentTypeData);
|
|
||||||
for (var componentName in componentTypeData) {
|
for (var componentName in componentTypeData) {
|
||||||
console.log(componentName);
|
|
||||||
var componentData = componentTypeData[componentName];
|
var componentData = componentTypeData[componentName];
|
||||||
var component = {className: componentData.className, args:[]};
|
var component = {className: componentData.className, args:[]};
|
||||||
if (componentData.args) {
|
if (componentData.args) {
|
||||||
|
@ -420,6 +581,14 @@ var getTermInfo = function(data) {
|
||||||
return termInfo;
|
return termInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var sortedObjectArray = function(list) {
|
||||||
|
var objarr = [];
|
||||||
|
for (var i in list) {
|
||||||
|
objarr.push({"name": list[i]});
|
||||||
|
}
|
||||||
|
return objarr;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
var get_width = function get_width()
|
var get_width = function get_width()
|
||||||
{
|
{
|
|
@ -136,7 +136,8 @@ solrAdminServices.factory('System',
|
||||||
.factory('Luke',
|
.factory('Luke',
|
||||||
['$resource', function($resource) {
|
['$resource', function($resource) {
|
||||||
return $resource('/solr/:core/admin/luke', {core: '@core', wt:'json', _:Date.now()}, {
|
return $resource('/solr/:core/admin/luke', {core: '@core', wt:'json', _:Date.now()}, {
|
||||||
"index": {params: {numTerms: 0}},
|
"index": {params: {numTerms: 0, show: 'index'}},
|
||||||
|
"raw": {params: {numTerms: 0}},
|
||||||
"schema": {params: {show:'schema'}},
|
"schema": {params: {show:'schema'}},
|
||||||
"field": {},
|
"field": {},
|
||||||
"fields": {params: {show:'schema'}, interceptor: {
|
"fields": {params: {show:'schema'}, interceptor: {
|
||||||
|
@ -238,5 +239,18 @@ solrAdminServices.factory('System',
|
||||||
return $resource('/solr/:core/admin/segments', {'wt':'json', core: '@core', _:Date.now()}, {
|
return $resource('/solr/:core/admin/segments', {'wt':'json', core: '@core', _:Date.now()}, {
|
||||||
get: {}
|
get: {}
|
||||||
});
|
});
|
||||||
}
|
}])
|
||||||
]);
|
.factory('Schema',
|
||||||
|
['$resource', function($resource) {
|
||||||
|
return $resource('/solr/:core/schema', {wt: 'json', core: '@core', _:Date.now()}, {
|
||||||
|
get: {method: "GET"},
|
||||||
|
check: {method: "GET", headers: {doNotIntercept: "true"}},
|
||||||
|
post: {method: "POST"}
|
||||||
|
});
|
||||||
|
}])
|
||||||
|
.factory('Config',
|
||||||
|
['$resource', function($resource) {
|
||||||
|
return $resource('/solr/:core/config', {wt: 'json', core: '@core', _:Date.now()}, {
|
||||||
|
get: {method: "GET"}
|
||||||
|
})
|
||||||
|
}]);
|
||||||
|
|
|
@ -51,7 +51,7 @@ limitations under the License.
|
||||||
<label for="type_or_name">Analyse Fieldname / FieldType:</label>
|
<label for="type_or_name">Analyse Fieldname / FieldType:</label>
|
||||||
<select style="width:130px" chosen ng-change="changeFieldOrType()" 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 ng-change="changeFieldOrType()" 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" ng-href="#/{{core}}/schema-browser?{{schemaBrowserUrl}}"><span>Schema Browser</span> </a>
|
<a id="tor_schema" ng-href="#/{{core}}/schema?{{schemaBrowserUrl}}"><span>Schema Browser</span> </a>
|
||||||
|
|
||||||
<div class="buttons clearfix">
|
<div class="buttons clearfix">
|
||||||
|
|
||||||
|
|
|
@ -1,207 +0,0 @@
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You 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.
|
|
||||||
-->
|
|
||||||
<div id="schema-browser" class="loaded">
|
|
||||||
|
|
||||||
<div class="clearfix">
|
|
||||||
|
|
||||||
<div id="data">
|
|
||||||
|
|
||||||
<div id="field">
|
|
||||||
|
|
||||||
<div class="field-options" ng-show="showing">
|
|
||||||
|
|
||||||
<div class="block head">
|
|
||||||
<h2>
|
|
||||||
<span class="type">{{selectedType}}</span>:
|
|
||||||
<span class="name">{{name}}</span>
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="partial" ng-show="partialState">
|
|
||||||
|
|
||||||
<p>Because your Index is empty, we do not have enough Information about this Field</p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<dl class="options clearfix">
|
|
||||||
|
|
||||||
<dt class="field-type">Field-Type:</dt>
|
|
||||||
<dd class="field-type">{{analysis.data.className}}</dd>
|
|
||||||
|
|
||||||
<dt class="similarity" ng-show="display.similarity">Similarity:</dt>
|
|
||||||
<dd class="similarity" ng-show="display.similarity">{{ display.similarity.details }} ({{ similarity.className }}) </dd>
|
|
||||||
|
|
||||||
<dt class="position-increment-gap" ng-show="display.positionIncrementGap"><abbr title="Position Increment Gap">PI Gap</abbr>:</dt>
|
|
||||||
<dd class="position-increment-gap" ng-show="display.positionIncrementGap">{{ display.positionIncrementGap }}</dd>
|
|
||||||
|
|
||||||
<dt class="docs" ng-show="display.docs">Docs:</dt>
|
|
||||||
<dd class="docs" ng-show="display.docs"><a href="{{display.docsUrl}}">{{display.docs | number}}</a></dd>
|
|
||||||
|
|
||||||
<dt class="distinct" ng-show="display.distinct">Distinct:</dt>
|
|
||||||
<dd class="distinct" ng-show="display.distinct">{{display.distinct}}</dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<table class="flags" cellspacing="0" cellpadding="0" border="0">
|
|
||||||
|
|
||||||
<thead>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>Flags:</td>
|
|
||||||
<th ng-repeat="key in display.columns">{{key.name}}</th>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tbody>
|
|
||||||
<tr ng-repeat="row in display.rows track by row.name">
|
|
||||||
<th>{{row.name}}</th>
|
|
||||||
<td colspan="2" class="text" ng-show="row.comment">{{row.comment}}</td>
|
|
||||||
<td ng-repeat="cell in row.cells"
|
|
||||||
ng-class="{'check':cell.value}">
|
|
||||||
<span ng-show="cell.value">√</span>
|
|
||||||
<span ng-show="!cell.value"> </span>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<ul class="analyzer">
|
|
||||||
<li class="clearfix {{analyzer.key}}" ng-class="{open: analyzer.show}" ng-repeat="analyzer in analysis.analyzers">
|
|
||||||
|
|
||||||
<p><a class="analysis" ng-href="#/{{core}}/analysis?{{analysis.query}}"><span>{{analyzer.name}} Analyzer:</span></a></p>
|
|
||||||
<dl>
|
|
||||||
<dt><a ng-click="toggleAnalyzer(analyzer)" class="toggle">{{analyzer.detail.className}}</a></dt>
|
|
||||||
</dl>
|
|
||||||
<ul ng-show="analyzer.show">
|
|
||||||
<li class="clearfix {{componentType.key}} data" ng-repeat="componentType in analyzer.detail.componentTypes" ng-show="componentType.components">
|
|
||||||
<p>{{componentType.label}}:</p>
|
|
||||||
<dl>
|
|
||||||
<dt ng-repeat-start="component in componentType.components">{{component.className}}</dt>
|
|
||||||
<dd ng-repeat-end ng-repeat="arg in component.args"
|
|
||||||
ng-class="{'ico-1': arg.booleanValue, 'ico-0': arg.booleanValue==false}">
|
|
||||||
{{arg.name}}<span ng-show="arg.value">: {{arg.value}}</span>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="terminfo-holder loaded clearfix" ng-class="{disabled: noTermData}" ng-show="is.field">
|
|
||||||
|
|
||||||
<div class="trigger">
|
|
||||||
|
|
||||||
<button class="submit" ng-click="toggleTerms()"><span ng-class="{loader:isLoadingTerms}">Load Term Info</span></button>
|
|
||||||
<br/>
|
|
||||||
<span ng-show="isCloudEnabled">N.B. Loaded from a single core - not from the whole collection.</span>
|
|
||||||
|
|
||||||
<a ng-show="showTerms" ng-click="toggleAutoload()" ng-class="{on:isAutoload}" class="autoload" title="Automatically load Term Info?"><span>Autoload</span></a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p ng-show="showTerms && noTerms" class="status">Sorry, no Term Info available :(</p>
|
|
||||||
|
|
||||||
<div ng-show="showTerms && termInfo.topTerms" class="topterms-holder">
|
|
||||||
|
|
||||||
<form>
|
|
||||||
<p class="head">
|
|
||||||
<input type="text" ng-model="topTermsCount" ng-change="loadTermInfo()">
|
|
||||||
<a class="max-holder" ng-click="loadAllTopTerms()" title="Load all Top-Terms">/<span class="max">{{termInfo.maxTerms | number}}</span></a> Top-Terms:
|
|
||||||
<a id="query_link" href="#/{{core}}/query?q={{name}}:[* TO *]"><span>Query</span> </a>
|
|
||||||
</p>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li class="clearfix" ng-repeat="countGroup in termInfo.topTerms">
|
|
||||||
<p><span>{{countGroup.count}}</span></p>
|
|
||||||
<ul>
|
|
||||||
<li ng-repeat="term in countGroup.terms" ng-class="{odd:$odd}"><a href="#/{{core}}/query?q={{name}}:{{term}}">{{term}}</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div ng-show="showTerms && termInfo.histogram" class="histogram-holder">
|
|
||||||
|
|
||||||
<p class="head">Histogram:</p>
|
|
||||||
<ul>
|
|
||||||
<li ng-repeat="row in termInfo.histogram" ng-class="{odd:$odd}">
|
|
||||||
<dl class="clearfix" style="width: {{(( row.value / termInfo.histogramMax ) * 100 )}}%;">
|
|
||||||
<dt><span>{{ row.key | number}}</span></dt>
|
|
||||||
<dd><span>{{ row.value | number }}</span></dd>
|
|
||||||
</dl>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="related">
|
|
||||||
<select id="type_or_name"
|
|
||||||
ng-model="fieldOrType"
|
|
||||||
chosen
|
|
||||||
data-placeholder="Please select ..."
|
|
||||||
ng-change="selectFieldOrType()"
|
|
||||||
ng-options="f.value as f.label group by f.group for f in fieldsAndTypes"></select>
|
|
||||||
|
|
||||||
<dl id="f-df-t">
|
|
||||||
|
|
||||||
<dt class="field" ng-class="{active: selectedType=='Field'}" ng-show="leftbar.fields">Field</dt>
|
|
||||||
<dd class="field" ng-class="{active: selectedType=='Field'}" ng-repeat="field in leftbar.fields"><a href="#/{{core}}/schema-browser?field={{field}}">{{field}}</a></dd>
|
|
||||||
|
|
||||||
<dt class="copyfield" ng-show="leftbar.copyFieldSources">Copied from</dt>
|
|
||||||
<dd class="copyfield" ng-repeat="field in leftbar.copyFieldSources"><a href="#/{{core}}/schema-browser?field={{field}}">{{field}}</a></dd>
|
|
||||||
|
|
||||||
<dt class="copyfield" ng-show="leftbar.copyFieldDests">Copied to</dt>
|
|
||||||
<dd class="copyfield" ng-repeat="field in leftbar.copyFieldDests"><a href="#/{{core}}/schema-browser?field={{field}}">{{field}}</a></dd>
|
|
||||||
|
|
||||||
<dt class="dynamic-field" ng-class="{active: selectedType=='Dynamic Field'}" ng-show="leftbar.dynamicFields">Dynamic Field {{dynamicFields}} / {{dynamicFields.length()}}</dt>
|
|
||||||
<dd class="dynamic-field" ng-class="{active: selectedType=='Dynamic Field'}" ng-repeat="field in leftbar.dynamicFields"><a href="#/{{core}}/schema-browser?dynamic-field={{field}}">{{field}}</a></dd>
|
|
||||||
|
|
||||||
<dt class="type" ng-class="{active: selectedType=='Type'}" ng-show="leftbar.types">Type</dt>
|
|
||||||
<dd class="type" ng-class="{active: selectedType=='Type'}" ng-repeat="type in leftbar.types"><a href="#/{{core}}/schema-browser?type={{type}}">{{type}}</a></dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl class="ukf-dsf">
|
|
||||||
|
|
||||||
<dt class="unique-key-field" ng-class="{active: isUniqueKeyField}" ng-show="uniqueKeyField">Unique Key Field</dt>
|
|
||||||
<dd class="unique-key-field" ng-class="{active: isUniqueKeyField}"><a ng-href="#/{{core}}/schema-browser?field={{uniqueKeyField}}">{{uniqueKeyField}}</a></dd>
|
|
||||||
|
|
||||||
<dt class="default-search-field" ng-class="{active: isDefaultSearchField}" ng-show="defaultSearchField">Default Search Field</dt>
|
|
||||||
<dd class="default-search-field" ng-class="{active: isDefaultSearchField}"><a ng-href="#/{{core}}/schema-browser?field={{defaultSearchField}}">{{defaultSearchField}}</a></dd>
|
|
||||||
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
|
@ -0,0 +1,448 @@
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You 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.
|
||||||
|
-->
|
||||||
|
<div id="schema" class="loaded">
|
||||||
|
|
||||||
|
<div class="clearfix">
|
||||||
|
|
||||||
|
<div id="frame">
|
||||||
|
<div id="actions" class="actions clearfix" ng-show="isSchemaUpdatable">
|
||||||
|
<button id="addField" class="action" ng-click="toggleAddField()"><span>Add Field</span></button>
|
||||||
|
<button id="addDynamicField" class="action" ng-click="toggleAddDynamicField()"><span>Add Dynamic Field</span></button>
|
||||||
|
<button id="addCopyField" class="action" ng-click="toggleAddCopyField()"><span>Add Copy Field</span></button>
|
||||||
|
|
||||||
|
<div class="action add" data-rel="add" ng-show="showAddField" escape-pressed="hideAll()">
|
||||||
|
|
||||||
|
<p class="clearfix"><label for="add_name">name:</label>
|
||||||
|
<input type="text" id="add_name" ng-model="newField.name" focus-when="showAddField" placeholder="enter a field name"></p>
|
||||||
|
|
||||||
|
<p class="clearfix"><label for="add_type">field type:</label>
|
||||||
|
<select chosen type="text" id="add_type" ng-model="newField.type" ng-options="type for type in types"></select>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix" ng-show="adding=='field'"><label for="add_default">default:</label>
|
||||||
|
<input type="text" id="add_default" ng-model="newField.default" placeholder="enter a default value if needed"></p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_stored">
|
||||||
|
<input type="checkbox" ng-model="newField.stored" id="add_stored" title="Full field should be stored in index." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
stored
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_indexed">
|
||||||
|
<input type="checkbox" ng-model="newField.indexed" id="add_indexed" title="Field should be indexed." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
indexed
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_docValues">
|
||||||
|
<input type="checkbox" ng-model="newField.docValues" id="add_docValues" title="DocValues should be stored for the field." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
docValues
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_multiValued">
|
||||||
|
<input type="checkbox" ng-model="newField.multiValued" id="add_multiValued" title="Multiple values are allowed for this field." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
multiValued
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix" ng-show="adding=='field'">
|
||||||
|
<label class="checkbox" for="add_required">
|
||||||
|
<input type="checkbox" ng-model="newField.required" id="add_required" title="Field must be provided for all documents." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
required
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<a ng-click="showOmit=!showOmit">
|
||||||
|
<span class="add_showhide" ng-hide="showOmit">Show omit options</span>
|
||||||
|
<span class="add_showhide open" ng-show="showOmit">Hide omit options</span>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div ng-show="showOmit">
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_omitNorms">
|
||||||
|
<input type="checkbox" ng-model="newField.omitNorms" id="add_omitNorms" title="Full field should be omitNorms in index." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
omitNorms
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_omitTermFreqAndPositions">
|
||||||
|
<input type="checkbox" ng-model="newField.omitTermFreqAndPositions" id="add_omitTermFreqAndPositions" title="Full field should be omitTermFreqAndPositions in index." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
omitTermFreqAndPositions
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_omitPositions">
|
||||||
|
<input type="checkbox" ng-model="newField.omitPositions" id="add_omitPositions" title="Full field should be omitPositions in index." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
omitPositions
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<a ng-click="showTermVectors=!showTermVectors">
|
||||||
|
<span class="add_showhide" ng-hide="showTermVectors">Show term vector options</span>
|
||||||
|
<span class="add_showhide open" ng-show="showTermVectors">Hide term vector options</span>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<div ng-show="showTermVectors">
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_termVectors">
|
||||||
|
<input type="checkbox" ng-model="newField.termVectors" id="add_termVectors" title="Full field should be termVectors in index." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
termVectors
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_termPositions">
|
||||||
|
<input type="checkbox" ng-model="newField.termPositions" id="add_termPositions" title="Full field should be termPositions in index." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
termPositions
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_termOffsets">
|
||||||
|
<input type="checkbox" ng-model="newField.termOffsets" id="add_termOffsets" title="Full field should be termOffsets in index." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
termOffsets
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_termPayloads">
|
||||||
|
<input type="checkbox" ng-model="newField.termPayloads" id="add_termPayloads" title="Full field should be termPayloads in index." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
termPayloads
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<a ng-click="showSort=!showSort">
|
||||||
|
<span class="add_showhide" ng-hide="showSort">Show sort options</span>
|
||||||
|
<span class="add_showhide open" ng-show="showSort">Show sort options</span>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<div ng-show="showSort">
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_sortMissingFirst">
|
||||||
|
<input type="checkbox" ng-model="newField.sortMissingFirst" id="add_sortMissingFirst" title="Full field should be sortMissingFirst in index." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
sortMissingFirst
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="clearfix">
|
||||||
|
<label class="checkbox" for="add_sortMissingLast">
|
||||||
|
<input type="checkbox" ng-model="newField.sortMissingLast" id="add_sortMissingLast" title="Full field should be sortMissingLast in index." ng-true-value="'true'" ng-false-value="'false'">
|
||||||
|
sortMissingLast
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-repeat="error in addErrors" ng-show="addErrors" class="clearfix note error">
|
||||||
|
<span>{{error}}</span></div>
|
||||||
|
|
||||||
|
<p class="clearfix buttons">
|
||||||
|
<button ng-show="adding=='field'" type="submit" class="submit" ng-class="{success: added}" ng-click="addField()"><span>Add Field</span></button>
|
||||||
|
<button ng-show="adding=='dynamicField'" type="submit" class="submit" ng-class="{success: added}" ng-click="addDynamicField()"><span>Add Dynamic Field</span></button>
|
||||||
|
<button type="reset" class="reset" ng-click="hideAll()"><span>Cancel</span></button>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="action add" data-rel="add" ng-show="showAddCopyField" escape-pressed="hideAll()">
|
||||||
|
|
||||||
|
<form>
|
||||||
|
|
||||||
|
<p class="clearfix"><label for="add_source">source:</label>
|
||||||
|
<input type="text" id="add_source" ng-model="copyField.source" focus-when="showAddCopyField" placeholder="specify your source field or pattern"></p>
|
||||||
|
|
||||||
|
<p class="clearfix"><label for="add_dest">destination:</label>
|
||||||
|
<input type="text" id="add_dest" ng-model="copyField.dest" placeholder="specify your destination field or pattern"></p>
|
||||||
|
|
||||||
|
<div ng-repeat="error in addCopyFieldErrors" ng-show="addCopyFieldErrors" class="clearfix note error">
|
||||||
|
<span>{{error}}</span></div>
|
||||||
|
|
||||||
|
<p class="clearfix buttons">
|
||||||
|
<button type="submit" class="submit" ng-class="{success: added}" ng-click="addCopyField()"><span>Add CopyField</span></button>
|
||||||
|
<button type="reset" class="reset" ng-click="hideAll()"><span>Cancel</span></button>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="data">
|
||||||
|
|
||||||
|
<div id="field">
|
||||||
|
|
||||||
|
<div class="field-options" ng-show="showing">
|
||||||
|
|
||||||
|
<div class="block head">
|
||||||
|
<h2>
|
||||||
|
<span class="type">{{selectedType}}</span>:
|
||||||
|
<span class="name">{{name}}</span>
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="partial" ng-show="partialState">
|
||||||
|
|
||||||
|
<p>Because your Index is empty, we do not have enough Information about this Field</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<dl class="options clearfix">
|
||||||
|
|
||||||
|
<dt class="field-type">Field-Type:</dt>
|
||||||
|
<dd class="field-type">{{analysis.data.className}}</dd>
|
||||||
|
|
||||||
|
<dt class="similarity" ng-show="display.similarity">Similarity:</dt>
|
||||||
|
<dd class="similarity" ng-show="display.similarity">{{ display.similarity.details }} ({{ similarity.className }}) </dd>
|
||||||
|
|
||||||
|
<dt class="position-increment-gap" ng-show="display.positionIncrementGap"><abbr title="Position Increment Gap">PI Gap</abbr>:</dt>
|
||||||
|
<dd class="position-increment-gap" ng-show="display.positionIncrementGap">{{ display.positionIncrementGap }}</dd>
|
||||||
|
|
||||||
|
<dt class="docs" ng-show="display.docs">Docs:</dt>
|
||||||
|
<dd class="docs" ng-show="display.docs"><a href="{{display.docsUrl}}">{{display.docs | number}}</a></dd>
|
||||||
|
|
||||||
|
<dt class="distinct" ng-show="display.distinct">Distinct:</dt>
|
||||||
|
<dd class="distinct" ng-show="display.distinct">{{display.distinct}}</dd>
|
||||||
|
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<table class="flags" cellspacing="0" cellpadding="0" border="0" ng-show="display.columns.length!=0">
|
||||||
|
|
||||||
|
<thead>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>Flags:</td>
|
||||||
|
<th ng-repeat="key in display.columns">{{key.name}}</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr ng-repeat="row in display.rows track by row.name">
|
||||||
|
<th>{{row.name}}</th>
|
||||||
|
<td colspan="2" class="text" ng-show="row.comment">{{row.comment}}</td>
|
||||||
|
<td ng-repeat="cell in row.cells"
|
||||||
|
ng-class="{'check':cell.value}">
|
||||||
|
<span ng-show="cell.value">√</span>
|
||||||
|
<span ng-show="!cell.value"> </span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<ul class="analyzer">
|
||||||
|
<li class="clearfix {{analyzer.key}}" ng-class="{open: analyzer.show}" ng-repeat="analyzer in analysis.analyzers">
|
||||||
|
|
||||||
|
<p><a class="analysis" ng-href="#/{{core}}/analysis?{{analysis.query}}"><span>{{analyzer.name}} Analyzer:</span></a></p>
|
||||||
|
<dl>
|
||||||
|
<dt><a ng-click="toggleAnalyzer(analyzer)" class="toggle">{{analyzer.detail.className}}</a></dt>
|
||||||
|
</dl>
|
||||||
|
<ul ng-show="analyzer.show">
|
||||||
|
<li class="clearfix {{componentType.key}} data" ng-repeat="componentType in analyzer.detail.componentTypes" ng-show="componentType.components">
|
||||||
|
<p>{{componentType.label}}:</p>
|
||||||
|
<dl>
|
||||||
|
<dt ng-repeat-start="component in componentType.components">{{component.className}}</dt>
|
||||||
|
<dd ng-repeat-end ng-repeat="arg in component.args"
|
||||||
|
ng-class="{'ico-1': arg.booleanValue, 'ico-0': arg.booleanValue==false}">
|
||||||
|
{{arg.name}}<span ng-show="arg.value">: {{arg.value}}</span>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="terminfo-holder loaded clearfix" ng-class="{disabled: noTermData}" ng-show="is.field">
|
||||||
|
|
||||||
|
<div class="trigger">
|
||||||
|
|
||||||
|
<button class="submit" ng-click="toggleTerms()"><span ng-class="{loader:isLoadingTerms}">Load Term Info</span></button>
|
||||||
|
<br/>
|
||||||
|
<span ng-show="isCloudEnabled">N.B. Loaded from a single core - not from the whole collection.</span>
|
||||||
|
|
||||||
|
<a ng-show="showTerms" ng-click="toggleAutoload()" ng-class="{on:isAutoload}" class="autoload" title="Automatically load Term Info?"><span>Autoload</span></a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p ng-show="showTerms && noTerms" class="status">Sorry, no Term Info available :(</p>
|
||||||
|
|
||||||
|
<div ng-show="showTerms && termInfo.topTerms" class="topterms-holder">
|
||||||
|
|
||||||
|
<form>
|
||||||
|
<p class="head">
|
||||||
|
<input type="text" ng-model="topTermsCount" ng-change="loadTermInfo()">
|
||||||
|
<a class="max-holder" ng-click="loadAllTopTerms()" title="Load all Top-Terms">/<span class="max">{{termInfo.maxTerms | number}}</span></a> Top-Terms:
|
||||||
|
<a id="query_link" href="#/{{core}}/query?q={{name}}:[* TO *]"><span>Query</span> </a>
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li class="clearfix" ng-repeat="countGroup in termInfo.topTerms">
|
||||||
|
<p><span>{{countGroup.count}}</span></p>
|
||||||
|
<ul>
|
||||||
|
<li ng-repeat="term in countGroup.terms" ng-class="{odd:$odd}"><a href="#/{{core}}/query?q={{name}}:{{term}}">{{term}}</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-show="showTerms && termInfo.histogram" class="histogram-holder">
|
||||||
|
|
||||||
|
<p class="head">Histogram:</p>
|
||||||
|
<ul>
|
||||||
|
<li ng-repeat="row in termInfo.histogram" ng-class="{odd:$odd}">
|
||||||
|
<dl class="clearfix" style="width: {{(( row.value / termInfo.histogramMax ) * 100 )}}%;">
|
||||||
|
<dt><span>{{ row.key | number}}</span></dt>
|
||||||
|
<dd><span>{{ row.value | number }}</span></dd>
|
||||||
|
</dl>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="related">
|
||||||
|
<select id="type_or_name"
|
||||||
|
ng-model="fieldOrType"
|
||||||
|
chosen
|
||||||
|
data-placeholder="Please select ..."
|
||||||
|
ng-change="selectFieldOrType()"
|
||||||
|
ng-options="f.value as f.label group by f.group for f in fieldsAndTypes"></select>
|
||||||
|
|
||||||
|
<dl id="f-df-t">
|
||||||
|
|
||||||
|
<dt class="field" ng-class="{active: selectedType=='Field'}" ng-show="leftbar.fields">Field</dt>
|
||||||
|
<dd class="field" ng-class="{active: selectedType=='Field'}" ng-repeat="field in leftbar.fields"><a href="#/{{core}}/schema?field={{field}}">{{field}}</a></dd>
|
||||||
|
|
||||||
|
<dt class="copyfield" ng-show="leftbar.copyFieldSources">Copied from</dt>
|
||||||
|
<dd class="copyfield" ng-repeat="field in leftbar.copyFieldSources">
|
||||||
|
<div class="clearfix" ng-hide="isSchemaUpdatable">
|
||||||
|
<a href="#/{{core}}/schema?field={{field.name}}">{{field.name}}</a>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix updatable" ng-show="isSchemaUpdatable">
|
||||||
|
<a style="float:left;width:80%" href="#/{{core}}/schema?field={{field.name}}">{{field.name}}</a>
|
||||||
|
<span ng-click="toggleDeleteCopyField(field)" class="rem"> </span>
|
||||||
|
</div>
|
||||||
|
<div class="action delete" ng-show="field.show">
|
||||||
|
<form class="delete">
|
||||||
|
|
||||||
|
<p class="clearfix"><em>Are you sure you want to delete this CopyField?</em></p>
|
||||||
|
<div ng-repeat="error in field.errors" ng-show="field.errors" class="clearfix note error">
|
||||||
|
<span>{{error}}</span></div>
|
||||||
|
|
||||||
|
<p class="clearfix buttons">
|
||||||
|
<button class="submit" ng-class="{success: field.deleted}" ng-click="deleteCopyField(field, field.name, name)"><span>Delete</span></button>
|
||||||
|
<button type="reset" class="reset" ng-click="toggleDeleteCopyField(field)"><span>Cancel</span></button>
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt class="copyfield" ng-show="leftbar.copyFieldDests">Copied to</dt>
|
||||||
|
<dd class="copyfield" ng-repeat="field in leftbar.copyFieldDests">
|
||||||
|
<div class="clearfix" ng-hide="isSchemaUpdatable">
|
||||||
|
<a href="#/{{core}}/schema?field={{field.name}}">{{field.name}}</a>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix updatable" ng-show="isSchemaUpdatable">
|
||||||
|
<a href="#/{{core}}/schema?field={{field.name}}">{{field.name}}</a>
|
||||||
|
<span ng-click="toggleDeleteCopyField(field)" class="rem"> </span>
|
||||||
|
</div>
|
||||||
|
<div class="action delete" ng-show="field.show">
|
||||||
|
<form class="delete">
|
||||||
|
|
||||||
|
<p class="clearfix"><em>Are you sure you want to delete this CopyField?</em></p>
|
||||||
|
<div ng-repeat="error in field.errors" ng-show="field.errors" class="clearfix note error">
|
||||||
|
<span>{{error}}</span></div>
|
||||||
|
|
||||||
|
<p class="clearfix buttons">
|
||||||
|
<button class="submit" ng-class="{success: field.deleted}" ng-click="deleteCopyField(field, name, field.name)"><span>Delete</span></button>
|
||||||
|
<button type="reset" class="reset" ng-click="toggleDeleteCopyField(field)"><span>Cancel</span></button>
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dt class="dynamic-field" ng-class="{active: selectedType=='Dynamic Field'}" ng-show="leftbar.dynamicFields">Dynamic Field {{dynamicFields}} / {{dynamicFields.length()}}</dt>
|
||||||
|
<dd class="dynamic-field" ng-class="{active: selectedType=='Dynamic Field'}" ng-repeat="field in leftbar.dynamicFields"><a href="#/{{core}}/schema?dynamic-field={{field}}">{{field}}</a></dd>
|
||||||
|
|
||||||
|
<dt class="type" ng-class="{active: selectedType=='Type'}" ng-show="leftbar.types">Type</dt>
|
||||||
|
<dd class="type" ng-class="{active: selectedType=='Type'}" ng-repeat="type in leftbar.types"><a href="#/{{core}}/schema?type={{type}}">{{type}}</a></dd>
|
||||||
|
|
||||||
|
<dt></dt>
|
||||||
|
<dd class="active delete-field" ng-show="isSchemaUpdatable && leftbar.fields &&!showDelete"><button ng-click="toggleDelete()"><span>delete field</span></button></dd>
|
||||||
|
<dd class="active delete-field" ng-show="isSchemaUpdatable && leftbar.dynamicFields &&!showDelete"><button ng-click="toggleDelete()"><span>delete dynamic field</span></button></dd>
|
||||||
|
|
||||||
|
<div class="action delete" ng-show="showDelete">
|
||||||
|
|
||||||
|
<form class="delete">
|
||||||
|
|
||||||
|
<p class="clearfix"><em>Are you sure you want to delete this {{selectedType}}?</em></p>
|
||||||
|
<div ng-repeat="error in deleteErrors" ng-show="deleteErrors" class="clearfix note error">
|
||||||
|
<span>{{error}}</span></div>
|
||||||
|
|
||||||
|
<p class="clearfix buttons">
|
||||||
|
<button class="submit" ng-class="{success: deleted}" ng-click="delete()"><span>Delete</span></button>
|
||||||
|
<button type="reset" class="reset" ng-click="toggleDelete()"><span>Cancel</span></button>
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<dl class="ukf-dsf">
|
||||||
|
|
||||||
|
<dt class="unique-key-field" ng-class="{active: isUniqueKeyField}" ng-show="uniqueKeyField">Unique Key Field</dt>
|
||||||
|
<dd class="unique-key-field" ng-class="{active: isUniqueKeyField}"><a ng-href="#/{{core}}/schema?field={{uniqueKeyField}}">{{uniqueKeyField}}</a></dd>
|
||||||
|
|
||||||
|
<dt class="default-search-field" ng-class="{active: isDefaultSearchField}" ng-show="defaultSearchField">Default Search Field</dt>
|
||||||
|
<dd class="default-search-field" ng-class="{active: isDefaultSearchField}"><a ng-href="#/{{core}}/schema?field={{defaultSearchField}}">{{defaultSearchField}}</a></dd>
|
||||||
|
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
Loading…
Reference in New Issue