Files
richard-churchman 39b4230a84 Enhanced validations, UI error handling, and tree data filtering
* Added name duplication checks to validations for most endpoints invoked via the CRUD.js functionality (applies to most configuration pages).
* Improved user interface rendering of backend validation errors, including styled lists and highlighted form elements on validation error.
* Implemented tree data filtering in configuration tree to speed up exploration.
2025-11-29 14:08:55 +02:00

372 lines
6.5 KiB
CSS

.fCStyle {
padding: 5px;
}
.tTStyle {
width: 99%;
}
.listValuesStyle {
width: 99%;
}
.filesStyle {
width: 99%;
}
.sTStyle {
width: 100%;
}
.tTStyle tr:nth-child(even) {
background: #f0f8ed
}
.tTStyle tr:nth-child(odd) {
background: #FFF
}
.tTStyle td:nth-child(1) {
padding-top: .3em;
padding-left: .2em;
padding-bottom: .2em;
width: 230px;
vertical-align: top;
height: 30px;
}
.tTStyle td:nth-child(2) {
padding-top: .2em;
padding-bottom: .2em;
vertical-align: top;
height: 30px;
}
.sTStyle td:nth-child(1) {
padding-top: .3em;
padding-left: .2em;
padding-bottom: .2em;
width: 230px;
vertical-align: top;
height: 30px;
}
.sTStyle td:nth-child(2) {
padding-top: .2em;
padding-bottom: .2em;
vertical-align: top;
height: 30px;
}
.sTStyle tr:nth-child(even) {
background: #f0f8ed
}
.sTStyle tr:nth-child(odd) {
background: #FFF
}
.sTBorderStyle {
border-left: 1px dotted;
}
.errorMessage {
padding-left: 3px;
padding-top: 3px;
padding-bottom: 3px;
color: red;
}
.fieldlist {
margin: 0 0 -1em;
padding: 0;
}
.fieldlist li {
list-style: none;
padding-bottom: 1em;
}
.k-textbox.small {
width: 50px !important;
}
.k-textbox.medium {
width: 150px !important;
}
.k-textbox.large {
width: 450px !important;
}
.k-form-error {
padding-left: .2em !important;
color: red !important;
font-size: inherit !important;
}
.footerStyle {
padding-bottom: 3px;
}
.treeTitle {
background: #f0f8ed;
height: 30px;
padding-left: .3em;
padding-top: .7em;
}
.coder {
height: 400px;
position: relative;
}
.compileErrors {
width: 100%;
background-color: white;
}
.validationLink {
width: 100%;
background-color: white;
}
.query-builder, .query-builder * {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.query-builder {
font-family: sans-serif;
}
.query-builder .hide {
display: none;
}
.query-builder .pull-right {
float: right !important;
}
.query-builder .btn {
text-transform: none;
display: inline-block;
padding: 6px 12px;
margin-bottom: 0px;
font-size: 14px;
font-weight: 400;
line-height: 1.42857;
text-align: center;
white-space: nowrap;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
user-select: none;
background-image: none;
border: 1px solid transparent;
border-radius: 4px;
}
.query-builder .btn.focus, .query-builder .btn:focus, .query-builder .btn:hover {
color: #333;
text-decoration: none;
}
.query-builder .btn.active, .query-builder .btn:active {
background-image: none;
outline: 0px none;
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.125) inset;
}
.query-builder .btn-success {
color: #FFF;
background-color: #5CB85C;
border-color: #4CAE4C;
}
.query-builder .btn-primary {
color: #FFF;
background-color: #337AB7;
border-color: #2E6DA4;
}
.query-builder .btn-danger {
color: #FFF;
background-color: #D9534F;
border-color: #D43F3A;
}
.query-builder .btn-success.active, .query-builder .btn-success.focus,
.query-builder .btn-success:active, .query-builder .btn-success:focus,
.query-builder .btn-success:hover {
color: #FFF;
background-color: #449D44;
border-color: #398439;
}
.query-builder .btn-primary.active, .query-builder .btn-primary.focus,
.query-builder .btn-primary:active, .query-builder .btn-primary:focus,
.query-builder .btn-primary:hover {
color: #FFF;
background-color: #286090;
border-color: #204D74;
}
.query-builder .btn-danger.active, .query-builder .btn-danger.focus,
.query-builder .btn-danger:active, .query-builder .btn-danger:focus,
.query-builder .btn-danger:hover {
color: #FFF;
background-color: #C9302C;
border-color: #AC2925;
}
.query-builder .btn-group {
position: relative;
display: inline-block;
vertical-align: middle;
}
.query-builder .btn-group > .btn {
position: relative;
float: left;
}
.query-builder .btn-group > .btn:first-child {
margin-left: 0px;
}
.query-builder .btn-group > .btn:first-child:not(:last-child) {
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
}
.query-builder .btn-group > .btn:last-child:not(:first-child) {
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
}
.query-builder .btn-group .btn + .btn, .query-builder .btn-group .btn + .btn-group,
.query-builder .btn-group .btn-group + .btn, .query-builder .btn-group .btn-group + .btn-group {
margin-left: -1px;
}
.query-builder .btn-xs, .query-builder .btn-group-xs > .btn {
padding: 1px 5px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
.scroll-div {
background-color: white;
height: 200px;
overflow: scroll;
overflow-x: hidden;
}
.dropdown-image {
background-size: 100%;
border-radius: 50%;
display: inline-block;
height: 24px;
margin-right: 5px;
vertical-align: middle;
width: 24px;
}
.updating {
color: green;
}
.done {
color: green;
}
.hiddenParams {
display: none;
}
.footerCopyright {
padding-top: 3px;
padding-bottom: 3px;
padding-left: 3px;
position: fixed;
bottom: 0;
float: left;
width: 400px;
}
.icon {
-webkit-filter: grayscale(0); /* Ch 23+, Saf 6.0+, BB 10.0+ */
filter: grayscale(0); /* FF 35+ */
height: 40px;
padding-bottom: 3px;
transition: filter .1s ease-in-out;
width: 40px;
}
.icon:hover {
-webkit-filter: grayscale(100%); /* Ch 23+, Saf 6.0+, BB 10.0+ */
filter: grayscale(100%); /* FF 35+ */
}
.topPaddedGeneral {
padding-top: 3px;
}
.bottomPaddedGeneral {
padding-bottom: 3px;
}
.generalTextArea {
width: 100%;
height: 200px;
}
.tenantSwitcher {
position: fixed;
bottom: 0;
right: 0;
padding-top: 3px;
padding-bottom: 3px;
padding-right: 3px;
}
.cellLinkMiddle {
vertical-align: middle
}
.server-error-box {
background: #fff4f4;
border: 1px solid #e0b4b4;
padding: 12px 16px;
border-radius: 5px;
font-family: Arial, sans-serif;
margin-bottom: 12px;
}
.server-error-title {
font-weight: bold;
color: #b30000;
margin-bottom: 8px;
}
.server-error-line {
margin-left: 10px;
line-height: 1.4;
}
.field-error-highlight {
border: 2px solid #d9534f !important;
background-color: #fff0f0 !important;
box-shadow: 0 0 5px rgba(217, 83, 79, 0.6);
border-radius: 4px;
}
#TreeSearch {
width: 100%;
box-sizing: border-box;
padding: 6px 10px;
margin-bottom: 6px;
}