v8: Update examine management dashboard (#4447)

This commit is contained in:
Bjarne Fyrstenborg
2019-02-14 16:40:58 +01:00
committed by Sebastiaan Janssen
parent fef604d551
commit 2f377dbefa
15 changed files with 529 additions and 393 deletions

View File

@@ -76,7 +76,6 @@
@import "listview.less";
@import "gridview.less";
@import "footer.less";
@import "dashboards.less";
@import "forms/umb-validation-label.less";
@@ -138,6 +137,7 @@
@import "components/umb-insert-code-box.less";
@import "components/umb-packages.less";
@import "components/umb-package-local-install.less";
@import "components/umb-panel-group.less";
@import "components/umb-lightbox.less";
@import "components/umb-avatar.less";
@import "components/umb-progress-bar.less";
@@ -192,18 +192,20 @@
@import "pages/welcome-dashboard.less";
//used for property editors
// Used for property editors
@import "property-editors.less";
//used for prevalue editors
// Used for prevalue editors
@import "components/prevalues/multivalues.less";
// Dashboards
@import "dashboards/getstarted.less";
@import "dashboards/umbraco-forms.less";
@import "dashboards/examine-management.less";
@import "dashboards/healthcheck.less";
@import "typeahead.less";
@import "hacks.less";
@import "healthcheck.less";
@import "getstarted.less";
// cleanup properties.less when it is done
@import "properties.less";

View File

@@ -0,0 +1,111 @@
.umb-panel-group__details {
border-radius: 3px;
margin-bottom: 40px;
}
.umb-panel-group__details-group {
background: @white;
box-shadow: 0 1px 1px 0 rgba(0,0,0,0.16);
border-radius: @baseBorderRadius;
}
.umb-panel-group__details-group-title {
background-color: @blueExtraDark;
padding: 10px 20px;
display: flex;
align-items: center;
justify-content: space-between;
border-radius: 3px 3px 0 0;
}
.umb-panel-group__details-group-name {
font-size: 16px;
color: @white;
font-weight: bold;
}
.umb-panel-group__details-checks {
border-top: none;
border-radius: 0 0 3px 3px;
background: @white;
}
.umb-panel-group__details-check {
position: relative;
}
.umb-panel-group__details-check-title {
padding: 15px 20px;
}
.umb-panel-group__details-check-name {
font-size: 15px;
color: @black;
font-weight: bold;
margin-bottom: 3px;
}
.umb-panel-group__details-check-description {
font-size: 13px;
color: @gray-3;
line-height: 1.6em;
}
.umb-panel-group__details-status {
padding: 15px 0;
display: flex;
border-top: 2px solid @gray-10;
}
.umb-panel-group__details-status-overlay {
background: @white;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
opacity: 0.9;
}
.umb-panel-group__details-status:last-child {
border-bottom: none;
}
.umb-panel-group__details-status-icon-container {
flex: 0 0 50px;
display: flex;
justify-content: center;
padding: 0 20px;
}
.umb-panel-group__details-status-content {
padding: 0 20px;
flex: 1 1 auto;
}
.umb-panel-group__details-status-text {
line-height: 1.6em;
}
.umb-panel-group__details-status-actions {
display: flex;
flex-direction: column;
margin-top: 10px;
}
.umb-panel-group__details-status-action {
background-color: @gray-10;
padding: 10px;
margin-bottom: 10px;
border-radius: 3px;
}
.umb-panel-group__details-status-action:last-child {
margin-bottom: 0;
}
.umb-panel-group__details-status-action-description {
margin-top: 5px;
font-size: 12px;
padding-left: 165px;
}

View File

@@ -0,0 +1,15 @@
.examine-management {
.form-search {
.search-query {
flex: 1 1 auto;
width: auto;
}
button.btn {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
}

View File

@@ -0,0 +1,134 @@
.umb-healthcheck {
display: flex;
flex-wrap: wrap;
margin-left: -10px;
margin-right: -10px;
}
.umb-healthcheck-help-text {
line-height: 1.6em;
max-width: 750px;
}
.umb-healthcheck-action-bar {
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
}
/* Group and states */
.umb-healthcheck-group {
display: flex;
flex-wrap: wrap;
flex-direction: column;
background: @white;
border-radius: 3px;
padding: 20px;
box-sizing: border-box;
text-align: center;
box-shadow: 0 1px 1px 0 rgba(0,0,0,0.16);
height: 100%;
box-sizing: border-box;
}
.umb-healthcheck-group:hover {
box-shadow: 0 3px 6px 0 rgba(0,0,0,0.16);
cursor: pointer;
transition: box-shadow 150ms ease-in-out;
}
.umb-healthcheck-group__load-container {
position: relative;
height: 30px;
margin-top: 15px;
margin-bottom: 16px;
}
/* Title */
.umb-healthcheck-title {
font-size: 14px;
font-weight: bold;
}
/* Messages */
.umb-healthcheck-messages {
margin-top: 15px;
}
.umb-healthcheck-message {
position: relative;
background: @gray-10;
border-radius: 50px;
display: inline-flex;
align-items: center;
padding-left: 8px;
padding-right: 8px;
margin-bottom: 5px;
color: @black;
font-weight: bold;
font-size: 13px;
}
.umb-healthcheck-message i {
font-size: 15px;
margin-right: 3px;
}
.umb-healthcheck-details-link {
color: @turquoise-d1;
}
.umb-healthcheck-details-link:hover {
text-decoration: none;
color: @turquoise-d1;
}
/* Helpers */
.align-self-center {
align-self: center;
}
/* Spacing for boxes */
.umb-air {
flex: 0 0 auto;
flex-basis: 100%;
max-width: 100%;
padding: 10px;
box-sizing: border-box;
@media (min-width: 500px) {
flex-basis: 50%;
max-width: 50%;
}
@media (min-width: 768px) {
flex-basis: 20%;
max-width: 20%;
}
}
/* DETAILS */
.umb-healthcheck-back-link {
font-weight: bold;
color: @black;
}
.umb-healthcheck-status-icon {
font-size: 20px;
margin-top: 2px;
}
.umb-healthcheck-status-icon.-large {
width: 70px;
height: 70px;
font-size: 30px;
background-color: @white;
}

View File

@@ -1,246 +0,0 @@
.umb-healthcheck {
display: flex;
flex-wrap: wrap;
margin-left: -10px;
margin-right: -10px;
}
.umb-healthcheck-help-text {
line-height: 1.6em;
max-width: 750px;
}
.umb-healthcheck-action-bar {
display: flex;
justify-content: flex-end;
margin-bottom: 20px;
}
/* Group and states */
.umb-healthcheck-group {
display: flex;
flex-wrap: wrap;
flex-direction: column;
background: @white;
border-radius: 3px;
padding: 20px;
box-sizing: border-box;
text-align: center;
box-shadow: 0 1px 1px 0 rgba(0,0,0,0.16);
height: 100%;
box-sizing: border-box;
}
.umb-healthcheck-group:hover {
box-shadow: 0 3px 6px 0 rgba(0,0,0,0.16);
cursor: pointer;
transition: box-shadow 150ms ease-in-out;
}
.umb-healthcheck-group__load-container {
position: relative;
height: 30px;
margin-top: 15px;
margin-bottom: 16px;
}
/* Title */
.umb-healthcheck-title {
font-size: 14px;
font-weight: bold;
}
/* Messages */
.umb-healthcheck-messages {
margin-top: 15px;
}
.umb-healthcheck-message {
position: relative;
background: @gray-10;
border-radius: 50px;
display: inline-flex;
align-items: center;
padding-left: 8px;
padding-right: 8px;
margin-bottom: 5px;
color: @black;
font-weight: bold;
font-size: 13px;
}
.umb-healthcheck-message i {
font-size: 15px;
margin-right: 3px;
}
.umb-healthcheck-details-link {
color: @turquoise-d1;
}
.umb-healthcheck-details-link:hover {
text-decoration: none;
color: @turquoise-d1;
}
/* Helpers */
.align-self-center {
align-self: center;
}
/* Spacing for boxes */
.umb-air {
flex: 0 0 auto;
flex-basis: 100%;
max-width: 100%;
padding: 10px;
box-sizing: border-box;
@media (min-width: 500px) {
flex-basis: 50%;
max-width: 50%;
}
@media (min-width: 768px) {
flex-basis: 20%;
max-width: 20%;
}
}
/* DETAILS */
.umb-healthcheck-back-link {
font-weight: bold;
color: @black;
}
.umb-healthcheck-group__details {
border-radius: 3px;
margin-bottom: 40px;
}
.umb-healthcheck-group__details-group {
background: @white;
box-shadow: 0 1px 1px 0 rgba(0,0,0,0.16);
border-radius: @baseBorderRadius;
}
.umb-healthcheck-group__details-group-title {
background-color: @blueExtraDark;
padding: 10px 20px;
display: flex;
align-items: center;
justify-content: space-between;
border-radius: 3px 3px 0 0;
}
.umb-healthcheck-group__details-group-name {
font-size: 16px;
color: @white;
font-weight: bold;
}
.umb-healthcheck-group__details-checks {
border-top: none;
border-radius: 0 0 3px 3px;
background: @white;
}
.umb-healthcheck-group__details-check {
position: relative;
}
.umb-healthcheck-group__details-check-title {
padding: 15px 20px;
}
.umb-healthcheck-group__details-check-name {
font-size: 15px;
color: @black;
font-weight: bold;
margin-bottom: 3px;
}
.umb-healthcheck-group__details-check-description {
font-size: 13px;
color: @gray-3;
line-height: 1.6em;
}
.umb-healthcheck-group__details-status {
padding: 15px 0;
display: flex;
border-top: 2px solid @gray-10;
}
.umb-healthcheck-group__details-status-overlay {
background: @white;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
opacity: 0.9;
}
.umb-healthcheck-group__details-status:last-child {
border-bottom: none;
}
.umb-healthcheck-group__details-status-icon-container {
flex: 0 0 50px;
display: flex;
justify-content: center;
padding: 0 20px;
}
.umb-healthcheck-status-icon {
font-size: 20px;
margin-top: 2px;
}
.umb-healthcheck-status-icon.-large {
width: 70px;
height: 70px;
font-size: 30px;
background-color: @white;
}
.umb-healthcheck-group__details-status-content {
padding: 0 20px;
flex: 1 1 auto;
}
.umb-healthcheck-group__details-status-text {
line-height: 1.6em;
}
.umb-healthcheck-group__details-status-actions {
display: flex;
flex-direction: column;
margin-top: 10px;
}
.umb-healthcheck-group__details-status-action {
background-color: @gray-10;
padding: 10px;
margin-bottom: 10px;
border-radius: 3px;
}
.umb-healthcheck-group__details-status-action:last-child {
margin-bottom: 0;
}
.umb-healthcheck-group__details-status-action-description {
margin-top: 5px;
font-size: 12px;
padding-left: 165px;
}

View File

@@ -1,4 +1,4 @@
function ExamineManagementController($scope, umbRequestHelper, $http, $q, $timeout) {
function ExamineManagementController($scope, $http, $q, $timeout, umbRequestHelper, localizationService, overlayService) {
var vm = this;
@@ -25,14 +25,18 @@ function ExamineManagementController($scope, umbRequestHelper, $http, $q, $timeo
function showSearchResultDialog(values) {
if (vm.searchResults) {
vm.searchResults.overlay = {
title: "Field values",
searchResultValues: values,
view: "views/dashboard/settings/examinemanagementresults.html",
close: function () {
vm.searchResults.overlay = null;
}
};
localizationService.localize("examineManagement_fieldValues").then(function (value) {
vm.searchResults.overlay = {
title: value,
searchResultValues: values,
view: "views/dashboard/settings/examinemanagementresults.html",
close: function () {
vm.searchResults.overlay = null;
}
};
});
}
}
@@ -132,28 +136,46 @@ function ExamineManagementController($scope, umbRequestHelper, $http, $q, $timeo
}
}
function rebuildIndex(index) {
if (confirm("This will cause the index to be rebuilt. " +
"Depending on how much content there is in your site this could take a while. " +
"It is not recommended to rebuild an index during times of high website traffic " +
"or when editors are editing content.")) {
function rebuildIndex(index, event) {
index.isProcessing = true;
index.processingAttempts = 0;
const dialog = {
view: "views/dashboard/settings/overlays/examinemanagement.rebuild.html",
index: index,
submitButtonLabelKey: "general_ok",
submit: function (model) {
performRebuild(model.index);
overlayService.close();
},
close: function () {
overlayService.close();
}
};
umbRequestHelper.resourcePromise(
$http.post(umbRequestHelper.getApiUrl("examineMgmtBaseUrl",
"PostRebuildIndex",
{ indexName: index.name })),
'Failed to rebuild index')
.then(function() {
localizationService.localize("examineManagement_rebuildIndex").then(value => {
dialog.title = value;
overlayService.open(dialog);
});
// rebuilding has started, nothing is returned accept a 200 status code.
// lets poll to see if it is done.
$timeout(() => { checkProcessing(index, "PostCheckRebuildIndex"), 1000 });
event.preventDefault()
event.stopPropagation();
}
});
}
function performRebuild(index) {
index.isProcessing = true;
index.processingAttempts = 0;
umbRequestHelper.resourcePromise(
$http.post(umbRequestHelper.getApiUrl("examineMgmtBaseUrl",
"PostRebuildIndex",
{ indexName: index.name })),
'Failed to rebuild index')
.then(function () {
// rebuilding has started, nothing is returned accept a 200 status code.
// lets poll to see if it is done.
$timeout(() => { checkProcessing(index, "PostCheckRebuildIndex"), 1000 });
});
}
function init() {

View File

@@ -1,4 +1,4 @@
<div id="examineManagement" ng-controller="Umbraco.Dashboard.ExamineManagementController as vm">
<div id="examineManagement" class="examine-management" ng-controller="Umbraco.Dashboard.ExamineManagementController as vm">
<div ng-if="vm.viewState === 'list'">
<umb-box>
@@ -13,30 +13,30 @@
</div>
<div ng-hide="vm.loading">
<div ng-if="vm.viewState === 'list'" class="umb-healthcheck-group__details">
<div ng-if="vm.viewState === 'list'" class="umb-panel-group__details">
<div class="umb-healthcheck-group__details-group">
<div class="umb-panel-group__details-group">
<div class="umb-healthcheck-group__details-group-title">
<div class="umb-healthcheck-group__details-group-name">Indexers</div>
<div class="umb-panel-group__details-group-title">
<div class="umb-panel-group__details-group-name"><localize key="examineManagement_indexers">Indexers</localize></div>
</div>
<div class="umb-healthcheck-group__details-checks">
<div class="umb-healthcheck-group__details-check">
<div class="umb-healthcheck-group__details-check-title">
<div class="umb-healthcheck-group__details-check-name">Manage Examine's indexes</div>
<div class="umb-healthcheck-group__details-check-description">Allows you to view the details of each index and provides some tools for managing the indexes</div>
<div class="umb-panel-group__details-checks">
<div class="umb-panel-group__details-check">
<div class="umb-panel-group__details-check-title">
<div class="umb-panel-group__details-check-name"><localize key="examineManagement_manageIndexes">Manage Examine's indexes</localize></div>
<div class="umb-panel-group__details-check-description"><localize key="examineManagement_manageIndexesDescription">Allows you to view the details of each index and provides some tools for managing the indexes</localize></div>
</div>
<div class="umb-healthcheck-group__details-status" ng-repeat="indexer in vm.indexerDetails">
<div class="umb-panel-group__details-status" ng-repeat="indexer in vm.indexerDetails">
<div class="umb-healthcheck-group__details-status-icon-container">
<i class="umb-healthcheck-status-icon"
<div class="umb-panel-group__details-status-icon-container">
<i class="umb-panel-status-icon"
ng-class="{'icon-check color-green' : indexer.isHealthy, 'icon-delete color-red' : !indexer.isHealthy}"></i>
</div>
<div class="umb-healthcheck-group__details-status-content">
<div class="umb-healthcheck-group__details-status-text">
<div class="umb-panel-group__details-status-content">
<div class="umb-panel-group__details-status-text">
<a class="btn-link -underline" href="" ng-click="vm.showIndexInfo(indexer)">
{{indexer.name}}
</a>
@@ -51,27 +51,27 @@
<br />
<div class="umb-healthcheck-group__details-group">
<div class="umb-panel-group__details-group">
<div class="umb-healthcheck-group__details-group-title">
<div class="umb-healthcheck-group__details-group-name">Searchers</div>
<div class="umb-panel-group__details-group-title">
<div class="umb-panel-group__details-group-name"><localize key="examineManagement_searchers">Searchers</localize></div>
</div>
<div class="umb-healthcheck-group__details-checks">
<div class="umb-healthcheck-group__details-check">
<div class="umb-healthcheck-group__details-check-title">
<div class="umb-healthcheck-group__details-check-name">Configured Searchers</div>
<div class="umb-healthcheck-group__details-check-description">Shows properties and tools for any configured Searcher (i.e. such as a multi-index searcher)</div>
<div class="umb-panel-group__details-checks">
<div class="umb-panel-group__details-check">
<div class="umb-panel-group__details-check-title">
<div class="umb-panel-group__details-check-name"><localize key="examineManagement_configuredSearchers">Configured Searchers</localize></div>
<div class="umb-panel-group__details-check-description"><localize key="examineManagement_configuredSearchersDescription">Shows properties and tools for any configured Searcher (i.e. such as a multi-index searcher)</localize></div>
</div>
<div class="umb-healthcheck-group__details-status" ng-repeat="searcher in vm.searcherDetails">
<div class="umb-panel-group__details-status" ng-repeat="searcher in vm.searcherDetails">
<div class="umb-healthcheck-group__details-status-icon-container">
<i class="umb-healthcheck-status-icon icon-info"></i>
<div class="umb-panel-group__details-status-icon-container">
<i class="umb-panel-status-icon icon-info"></i>
</div>
<div class="umb-healthcheck-group__details-status-content">
<div class="umb-healthcheck-group__details-status-text">
<div class="umb-panel-group__details-status-content">
<div class="umb-panel-group__details-status-text">
<a class="btn-link -underline" href="" ng-click="vm.showSearcherInfo(searcher)">
{{searcher.name}}
</a>
@@ -89,40 +89,44 @@
<umb-editor-sub-header>
<umb-editor-sub-header-content-left>
<a class="umb-healthcheck-back-link" href="" ng-click="vm.setViewState('list');">&larr; Back to overview</a>
<a class="umb-panel-back-link" href="" ng-click="vm.setViewState('list');">&larr; Back to overview</a>
</umb-editor-sub-header-content-left>
</umb-editor-sub-header>
<div class="umb-healthcheck-group__details">
<div class="umb-panel-group__details">
<div class="umb-healthcheck-group__details-group">
<div class="umb-panel-group__details-group">
<div class="umb-healthcheck-group__details-group-title">
<div class="umb-healthcheck-group__details-group-name">{{ vm.selectedSearcher.name }}</div>
<div class="umb-panel-group__details-group-title">
<div class="umb-panel-group__details-group-name">{{ vm.selectedSearcher.name }}</div>
</div>
<div class="umb-healthcheck-group__details-checks">
<div class="umb-panel-group__details-checks">
<!-- Search Tool -->
<div class="umb-healthcheck-group__details-check">
<div class="umb-panel-group__details-check">
<div class="umb-healthcheck-group__details-check-title">
<div class="umb-healthcheck-group__details-check-name">Search</div>
<div class="umb-healthcheck-group__details-check-description">Search the index and view the results</div>
<div class="umb-panel-group__details-check-title">
<div class="umb-panel-group__details-check-name">Search</div>
<div class="umb-panel-group__details-check-description">Search the index and view the results</div>
</div>
<div class="umb-healthcheck-group__details-status">
<div class="umb-panel-group__details-status">
<div class="umb-healthcheck-group__details-status-content">
<div class="umb-panel-group__details-status-content">
<div class="umb-healthcheck-group__details-status-actions">
<div class="umb-healthcheck-group__details-status-action">
<div class="umb-panel-group__details-status-actions">
<div class="umb-panel-group__details-status-action">
<ng-form name="searchTools">
<div class="row form-search">
<div>
<div class="inner-addon left-addon flex">
<i class="icon icon-search"></i>
<input type="text" class="search-query"
placeholder="@placeholders_search"
localize="placeholder"
ng-model="vm.searchText" no-dirty-check
ng-keypress="vm.search(vm.selectedSearcher, $event)" />
@@ -130,7 +134,8 @@
type="button"
button-style="success"
action="vm.search(vm.selectedSearcher)"
label="Search">
label="Search"
label-key="general_search">
</umb-button>
</div>
@@ -144,7 +149,7 @@
<tr>
<th class="score">Score</th>
<th class="id">Id</th>
<th>Name</th>
<th><localize key="general_name">Name</localize></th>
</tr>
</thead>
<tbody>
@@ -193,40 +198,40 @@
<umb-editor-sub-header>
<umb-editor-sub-header-content-left>
<a class="umb-healthcheck-back-link" href="" ng-click="vm.setViewState('list');">&larr; Back to overview</a>
<a class="umb-panel-back-link" href="" ng-click="vm.setViewState('list');">&larr; <localize key="general_backToOverview">Back to overview</localize></a>
</umb-editor-sub-header-content-left>
</umb-editor-sub-header>
<div class="umb-healthcheck-group__details">
<div class="umb-panel-group__details">
<div class="umb-healthcheck-group__details-group">
<div class="umb-panel-group__details-group">
<div class="umb-healthcheck-group__details-group-title">
<div class="umb-healthcheck-group__details-group-name">{{ vm.selectedIndex.name }}</div>
<div class="umb-panel-group__details-group-title">
<div class="umb-panel-group__details-group-name">{{ vm.selectedIndex.name }}</div>
</div>
<div class="umb-healthcheck-group__details-checks">
<div class="umb-panel-group__details-checks">
<!-- Health Status -->
<div class="umb-healthcheck-group__details-check">
<div class="umb-panel-group__details-check">
<div class="umb-healthcheck-group__details-check-title">
<div class="umb-healthcheck-group__details-check-name">Health status</div>
<div class="umb-healthcheck-group__details-check-description">The health status of the index and if it can be read</div>
<div class="umb-panel-group__details-check-title">
<div class="umb-panel-group__details-check-name"><localize key="examineManagement_healthStatus">Health status</localize></div>
<div class="umb-panel-group__details-check-description"><localize key="examineManagement_healthStatusDescription">The health status of the index and if it can be read</localize></div>
</div>
<div class="umb-healthcheck-group__details-status">
<div class="umb-panel-group__details-status">
<div class="umb-healthcheck-group__details-status-icon-container">
<i class="umb-healthcheck-status-icon"
<div class="umb-panel-group__details-status-icon-container">
<i class="umb-panel-status-icon"
ng-class="{'icon-check color-green' : vm.selectedIndex.isHealthy, 'icon-delete color-red' : !vm.selectedIndex.isHealthy}"></i>
</div>
<div class="umb-healthcheck-group__details-status-content">
<div class="umb-panel-group__details-status-content">
<div class="umb-healthcheck-group__details-status-text">
<div class="umb-panel-group__details-status-text">
<div>{{vm.selectedIndex.healthStatus}}</div>
<div ng-show="!vm.selectedIndex" class="color-red">
The index cannot be read and will need to be rebuilt
@@ -241,24 +246,28 @@
<!-- Search Tool -->
<div class="umb-healthcheck-group__details-check">
<div class="umb-panel-group__details-check">
<div class="umb-healthcheck-group__details-check-title">
<div class="umb-healthcheck-group__details-check-name">Search</div>
<div class="umb-healthcheck-group__details-check-description">Search the index and view the results</div>
<div class="umb-panel-group__details-check-title">
<div class="umb-panel-group__details-check-name"><localize key="general_search">Search</localize></div>
<div class="umb-panel-group__details-check-description"><localize key="examineManagement_searchDescription">Search the index and view the results</localize></div>
</div>
<div class="umb-healthcheck-group__details-status">
<div class="umb-panel-group__details-status">
<div class="umb-healthcheck-group__details-status-content">
<div class="umb-panel-group__details-status-content">
<div class="umb-healthcheck-group__details-status-actions">
<div class="umb-healthcheck-group__details-status-action">
<div class="umb-panel-group__details-status-actions">
<div class="umb-panel-group__details-status-action">
<ng-form name="searchTools">
<div class="row form-search">
<div>
<div class="inner-addon left-addon flex">
<i class="icon icon-search"></i>
<input type="text" class="search-query"
placeholder="@placeholders_search"
localize="placeholder"
ng-model="vm.searchText" no-dirty-check
ng-keypress="vm.search(vm.selectedIndex, $event)" />
@@ -266,7 +275,8 @@
type="button"
button-style="success"
action="vm.search(vm.selectedIndex)"
label="Search">
label="Search"
label-key="general_search">
</umb-button>
</div>
@@ -280,7 +290,7 @@
<tr>
<th class="score">Score</th>
<th class="id">Id</th>
<th>Name</th>
<th><localize key="general_name">Name</localize></th>
</tr>
</thead>
<tbody>
@@ -320,16 +330,16 @@
<!-- Index Stats -->
<div class="umb-healthcheck-group__details-check">
<div class="umb-panel-group__details-check">
<div class="umb-healthcheck-group__details-check-title">
<div class="umb-healthcheck-group__details-check-name">Index info</div>
<div class="umb-healthcheck-group__details-check-description">Lists the properties of the index</div>
<div class="umb-panel-group__details-check-title">
<div class="umb-panel-group__details-check-name"><localize key="examineManagement_indexInfo">Index info</localize></div>
<div class="umb-panel-group__details-check-description"><localize key="examineManagement_indexInfoDescription">Lists the properties of the index</localize></div>
</div>
<div class="umb-healthcheck-group__details-status">
<div class="umb-panel-group__details-status">
<div class="umb-healthcheck-group__details-status-content">
<div class="umb-panel-group__details-status-content">
<table class="table table-bordered table-condensed">
<caption>&nbsp;</caption>
@@ -347,31 +357,32 @@
<!-- Rebuild -->
<div class="umb-healthcheck-group__details-check">
<div class="umb-panel-group__details-check">
<div class="umb-healthcheck-group__details-check-title">
<div class="umb-healthcheck-group__details-check-name">Tools</div>
<div class="umb-healthcheck-group__details-check-description">Tools to manage the index</div>
<div class="umb-panel-group__details-check-title">
<div class="umb-panel-group__details-check-name"><localize key="examineManagement_tools">Tools</localize></div>
<div class="umb-panel-group__details-check-description"><localize key="examineManagement_toolsDescription">Tools to manage the index</localize></div>
</div>
<div class="umb-healthcheck-group__details-status">
<div class="umb-panel-group__details-status">
<div class="umb-healthcheck-group__details-status-content">
<div class="umb-panel-group__details-status-content">
<div class="umb-healthcheck-group__details-status-actions">
<div class="umb-healthcheck-group__details-status-action">
<div class="umb-panel-group__details-status-actions">
<div class="umb-panel-group__details-status-action">
<ng-form name="indexTools">
<umb-button ng-show="!vm.selectedIndex.isProcessing && (!vm.selectedIndex.processingAttempts || vm.selectedIndex.processingAttempts < 100)"
disabled="!vm.selectedIndex.canRebuild"
type="button"
button-style="success"
action="vm.rebuildIndex(vm.selectedIndex)"
label="Rebuild index">
action="vm.rebuildIndex(vm.selectedIndex, $event)"
label="Rebuild index"
label-key="examineManagement_rebuildIndex">
</umb-button>
<div ng-show="vm.selectedIndex.isProcessing">
<div class="umb-healthcheck-group__details-status-overlay"></div>
<div class="umb-panel-group__details-status-overlay"></div>
<umb-load-indicator></umb-load-indicator>
</div>
@@ -381,7 +392,7 @@
</ng-form>
<div class="umb-healthcheck-group__details-status-action-description" ng-show="!vm.selectedIndex.canRebuild">
<div class="umb-panel-group__details-status-action-description" ng-show="!vm.selectedIndex.canRebuild">
This index cannot be rebuilt because it has no assigned <code>IIndexPopulator</code>
</div>
</div>

View File

@@ -2,16 +2,16 @@
<table class="table table-bordered table-condensed">
<thead>
<tr>
<th class="score">Field</th>
<th class="id">Value</th>
</tr>
<tr>
<th class="score"><localize key="general_field">Field</localize></th>
<th class="id"><localize key="general_value">Value</localize></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="(key, val) in model.searchResultValues track by key">
<td>{{key}}</td>
<td>{{val}}</td>
</tr>
<tr ng-repeat="(key, val) in model.searchResultValues track by key">
<td>{{key}}</td>
<td>{{val}}</td>
</tr>
</tbody>
</table>

View File

@@ -72,12 +72,12 @@
</umb-editor-sub-header>
<div class="umb-healthcheck-group__details">
<div class="umb-panel-group__details">
<div class="umb-healthcheck-group__details-group">
<div class="umb-panel-group__details-group">
<div class="umb-healthcheck-group__details-group-title">
<div class="umb-healthcheck-group__details-group-name">{{ vm.selectedGroup.name }}</div>
<div class="umb-panel-group__details-group-title">
<div class="umb-panel-group__details-group-name">{{ vm.selectedGroup.name }}</div>
<umb-button
type="button"
action="vm.checkAllInGroup(vm.selectedGroup, vm.selectedGroup.checks)"
@@ -85,33 +85,33 @@
</umb-button>
</div>
<div class="umb-healthcheck-group__details-checks">
<div class="umb-panel-group__details-checks">
<div class="umb-healthcheck-group__details-check" ng-repeat="check in vm.selectedGroup.checks">
<div class="umb-panel-group__details-check" ng-repeat="check in vm.selectedGroup.checks">
<div class="umb-healthcheck-group__details-check-title">
<div class="umb-healthcheck-group__details-check-name">{{ check.name }}</div>
<div class="umb-healthcheck-group__details-check-description">{{ check.description }}</div>
<div class="umb-panel-group__details-check-title">
<div class="umb-panel-group__details-check-name">{{ check.name }}</div>
<div class="umb-panel-group__details-check-description">{{ check.description }}</div>
</div>
<div class="umb-healthcheck-group__details-status" ng-repeat="status in check.status">
<div class="umb-panel-group__details-status" ng-repeat="status in check.status">
<div class="umb-healthcheck-group__details-status-icon-container">
<div class="umb-panel-group__details-status-icon-container">
<i class="umb-healthcheck-status-icon icon-check color-green" ng-if="status.resultType === 0"></i>
<i class="umb-healthcheck-status-icon icon-alert icon-alert color-yellow" ng-if="status.resultType === 1"></i>
<i class="umb-healthcheck-status-icon icon-delete icon-delete color-red" ng-if="status.resultType === 2"></i>
<i class="umb-healthcheck-status-icon icon-info icon-info" ng-if="status.resultType === 3"></i>
</div>
<div class="umb-healthcheck-group__details-status-content">
<div class="umb-panel-group__details-status-content">
<div class="umb-healthcheck-group__details-status-text">
<div class="umb-panel-group__details-status-text">
<div ng-bind-html="status.message"></div>
<div ng-if="status.description" ng-bind-html="status.description"></div>
</div>
<div class="umb-healthcheck-group__details-status-actions" ng-if="status.actions">
<div class="umb-healthcheck-group__details-status-action" ng-repeat="action in status.actions">
<div class="umb-panel-group__details-status-actions" ng-if="status.actions">
<div class="umb-panel-group__details-status-action" ng-repeat="action in status.actions">
<ng-form name="healthCheckAction">
<div ng-if="action.valueRequired">
@@ -130,7 +130,7 @@
</ng-form>
<div class="umb-healthcheck-group__details-status-action-description" ng-if="action.description" ng-bind-html="action.description"></div>
<div class="umb-panel-group__details-status-action-description" ng-if="action.description" ng-bind-html="action.description"></div>
</div>
</div>
@@ -139,7 +139,7 @@
</div>
<div ng-show="check.loading">
<div class="umb-healthcheck-group__details-status-overlay"></div>
<div class="umb-panel-group__details-status-overlay"></div>
<umb-load-indicator></umb-load-indicator>
</div>

View File

@@ -0,0 +1,12 @@
<div>
<div class="umb-alert umb-alert--warning mb2">
<localize key="examineManagement_rebuildIndexWarning">
This will cause the index to be rebuilt.<br>
Depending on how much content there is in your site this could take a while.<br>
It is not recommended to rebuild an index during times of high website traffic
or when editors are editing content.
</localize>
</div>
</div>

View File

@@ -454,6 +454,29 @@
]]></key>
<key alias="overviewTitle">Ordbog</key>
</area>
<area alias="examineManagement">
<key alias="configuredSearchers">Konfigurerede søgere</key>
<key alias="configuredSearchersDescription">Viser egenskaber og værktøjer til enhver konfigureret søger (dvs. som en multi-indekssøger)</key>
<key alias="fieldValues">Feltværdier</key>
<key alias="healthStatus">Sundhedstilstand</key>
<key alias="healthStatusDescription">Indeksets sundhedstilstand, og hvis det kan læses</key>
<key alias="indexers">Indeksører</key>
<key alias="indexInfo">Indeksinfo</key>
<key alias="indexInfoDescription">Viser indeksets egenskaber</key>
<key alias="manageIndexes">Administrer Examine indekserne</key>
<key alias="manageIndexesDescription">Giver dig mulighed for at se detaljerne for hvert indeks og giver nogle værktøjer til styring af indeksørerne</key>
<key alias="rebuildIndex">Genopbyg indeks</key>
<key alias="rebuildIndexWarning"><![CDATA[
Dette vil medføre, at indekset genopbygges.<br />
Afhængigt af hvor meget indhold der er på dit website, kan det tage et stykke tid.<br />
Det anbefales ikke at genopbygge et indeks i perioder med høj websitetrafik eller når redaktører redigerer indhold.
]]>
</key>
<key alias="searchers">Søgere</key>
<key alias="searchDescription">Søg i indekset og se resultaterne</key>
<key alias="tools">Værktøjer</key>
<key alias="toolsDescription">Værktøjer til at administrere indekset</key>
</area>
<area alias="placeholders">
<key alias="username">Indtast dit brugernavn</key>
<key alias="password">Indtast dit kodeord</key>
@@ -545,6 +568,7 @@
<key alias="alias">Alias</key>
<key alias="areyousure">Er du sikker?</key>
<key alias="back">Tilbage</key>
<key alias="backToOverview">Tilbage til oversigt</key>
<key alias="border">Kant</key>
<key alias="by">af</key>
<key alias="cancel">Fortryd</key>
@@ -574,6 +598,7 @@
<key alias="elements">Elementer</key>
<key alias="email">E-mail</key>
<key alias="error">Fejl</key>
<key alias="field">Felt</key>
<key alias="findDocument">Find</key>
<key alias="first">Første</key>
<key alias="general">Generelt</key>

View File

@@ -472,6 +472,29 @@
]]></key>
<key alias="overviewTitle">Dictionary overview</key>
</area>
<area alias="examineManagement">
<key alias="configuredSearchers">Configured Searchers</key>
<key alias="configuredSearchersDescription">Shows properties and tools for any configured Searcher (i.e. such as a multi-index searcher)</key>
<key alias="fieldValues">Field values</key>
<key alias="healthStatus">Health status</key>
<key alias="healthStatusDescription">The health status of the index and if it can be read</key>
<key alias="indexers">Indexers</key>
<key alias="indexInfo">Index info</key>
<key alias="indexInfoDescription">Lists the properties of the index</key>
<key alias="manageIndexes">Manage Examine's indexes</key>
<key alias="manageIndexesDescription">Allows you to view the details of each index and provides some tools for managing the indexes</key>
<key alias="rebuildIndex">Rebuild index</key>
<key alias="rebuildIndexWarning"><![CDATA[
This will cause the index to be rebuilt.<br />
Depending on how much content there is in your site this could take a while.<br />
It is not recommended to rebuild an index during times of high website traffic or when editors are editing content.
]]>
</key>
<key alias="searchers">Searchers</key>
<key alias="searchDescription">Search the index and view the results</key>
<key alias="tools">Tools</key>
<key alias="toolsDescription">Tools to manage the index</key>
</area>
<area alias="placeholders">
<key alias="username">Enter your username</key>
<key alias="password">Enter your password</key>
@@ -567,6 +590,7 @@
<key alias="all">All</key>
<key alias="areyousure">Are you sure?</key>
<key alias="back">Back</key>
<key alias="backToOverview">Back to overview</key>
<key alias="border">Border</key>
<key alias="by">by</key>
<key alias="cancel">Cancel</key>
@@ -598,6 +622,7 @@
<key alias="elements">Elements</key>
<key alias="email">Email</key>
<key alias="error">Error</key>
<key alias="field">Field</key>
<key alias="findDocument">Find</key>
<key alias="first">First</key>
<key alias="general">General</key>

View File

@@ -475,6 +475,29 @@
]]></key>
<key alias="overviewTitle">Dictionary overview</key>
</area>
<area alias="examineManagement">
<key alias="configuredSearchers">Configured Searchers</key>
<key alias="configuredSearchersDescription">Shows properties and tools for any configured Searcher (i.e. such as a multi-index searcher)</key>
<key alias="fieldValues">Field values</key>
<key alias="healthStatus">Health status</key>
<key alias="healthStatusDescription">The health status of the index and if it can be read</key>
<key alias="indexers">Indexers</key>
<key alias="indexInfo">Index info</key>
<key alias="indexInfoDescription">Lists the properties of the index</key>
<key alias="manageIndexes">Manage Examine's indexes</key>
<key alias="manageIndexesDescription">Allows you to view the details of each index and provides some tools for managing the indexes</key>
<key alias="rebuildIndex">Rebuild index</key>
<key alias="rebuildIndexWarning"><![CDATA[
This will cause the index to be rebuilt.<br />
Depending on how much content there is in your site this could take a while.<br />
It is not recommended to rebuild an index during times of high website traffic or when editors are editing content.
]]>
</key>
<key alias="searchers">Searchers</key>
<key alias="searchDescription">Search the index and view the results</key>
<key alias="tools">Tools</key>
<key alias="toolsDescription">Tools to manage the index</key>
</area>
<area alias="placeholders">
<key alias="username">Enter your username</key>
<key alias="password">Enter your password</key>
@@ -571,6 +594,7 @@
<key alias="all">All</key>
<key alias="areyousure">Are you sure?</key>
<key alias="back">Back</key>
<key alias="backToOverview">Back to overview</key>
<key alias="border">Border</key>
<key alias="by">by</key>
<key alias="cancel">Cancel</key>
@@ -602,6 +626,7 @@
<key alias="elements">Elements</key>
<key alias="email">Email</key>
<key alias="error">Error</key>
<key alias="field">Field</key>
<key alias="findDocument">Find</key>
<key alias="first">First</key>
<key alias="general">General</key>