Merge pull request #2069 from freifunk-gluon/web-theme-cleanup
gluon-config-mode-theme: cleanup and select box theming
This commit is contained in:
commit
e06081c3fc
File diff suppressed because one or more lines are too long
@ -1,13 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
ATTENTION: This file is not compiled when building gluon.
|
ATTENTION: This file is not compiled when building gluon.
|
||||||
The compiled version is at ../files/lib/gluon/config-mode/www/static/gluon.css
|
The compiled version is at ../files/lib/gluon/config-mode/www/static/gluon.css
|
||||||
|
|
||||||
Use sass like this to update it:
|
Use sass like this to update it:
|
||||||
|
|
||||||
sass --sourcemap=none -C -t compressed sass/gluon.scss files/lib/gluon/config-mode/www/static/gluon.css
|
sass --sourcemap=none -C -t compressed sass/gluon.scss files/lib/gluon/config-mode/www/static/gluon.css
|
||||||
|
|
||||||
When commiting changes to this file make sure to commit the respective
|
When commiting changes to this file make sure to commit the respective
|
||||||
changes to the compilid version within the same commit!
|
changes to the compilid version within the same commit!
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@charset "utf-8";
|
@charset "utf-8";
|
||||||
@ -18,624 +18,530 @@ $ffzusatz: #009ee0;
|
|||||||
$red: #ee3300;
|
$red: #ee3300;
|
||||||
|
|
||||||
@mixin button {
|
@mixin button {
|
||||||
&::-moz-focus-inner {
|
&::-moz-focus-inner {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
zoom: 1;
|
line-height: normal;
|
||||||
line-height: normal;
|
white-space: nowrap;
|
||||||
white-space: nowrap;
|
vertical-align: baseline;
|
||||||
vertical-align: baseline;
|
text-align: center;
|
||||||
text-align: center;
|
cursor: pointer;
|
||||||
cursor: pointer;
|
user-select: none;
|
||||||
user-select: none;
|
|
||||||
|
|
||||||
|
|
||||||
font-size: 100%;
|
font-size: 100%;
|
||||||
padding: 0.5em 1em;
|
padding: 0.5em 1em;
|
||||||
color: rgba(0, 0, 0, 0.80);
|
color: rgba(0, 0, 0, 0.80);
|
||||||
border: none rgba(0, 0, 0, 0);
|
background-color: #E6E6E6;
|
||||||
background-color: #E6E6E6;
|
border: none;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
|
|
||||||
/* Transitions */
|
/* Transitions */
|
||||||
transition: 0.1s linear box-shadow;
|
transition: 0.1s linear box-shadow;
|
||||||
|
|
||||||
&:active {
|
&:active {
|
||||||
box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) inset;
|
box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) inset;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
outline: 0;
|
outline: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
|
background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
|
||||||
}
|
}
|
||||||
|
|
||||||
&[disabled] {
|
&[disabled] {
|
||||||
border: none;
|
border: none;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
opacity: 0.40;
|
opacity: 0.40;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@mixin button-primary {
|
|
||||||
background-color: $ffzusatz;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lang_he {
|
|
||||||
direction: RTL;
|
|
||||||
unicode-bidi: embed;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hidden {
|
|
||||||
display: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
position:relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
body, input, select, option {
|
body, input, select, option {
|
||||||
font-family: 'Open Sans', Arial, sans-serif;
|
font-family: 'Open Sans', Arial, sans-serif;
|
||||||
font-size: 12pt;
|
font-size: 12pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
color: rgb(77, 78, 83);
|
color: rgb(77, 78, 83);
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
background-color: #f3f3f3;
|
background-color: #f3f3f3;
|
||||||
}
|
|
||||||
|
|
||||||
a img {
|
|
||||||
border: none;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabmenu1 {
|
.tabmenu1 {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.tabmenu {
|
ul.tabmenu {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 2em 0;
|
margin: 2em 0;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.tabmenu li {
|
ul.tabmenu li {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
margin: 0 0.5em;
|
margin: 0 0.5em;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: #333;
|
color: #333;
|
||||||
border-radius: 2em;
|
border-radius: 2em;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: lighten($ffyellow, 35);
|
background: lighten($ffyellow, 35);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.active a {
|
&.active a {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background: white;
|
background: white;
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
abbr,
|
|
||||||
acronym {
|
|
||||||
font-style: normal;
|
|
||||||
font-variant: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
abbr[title],
|
|
||||||
acronym[title] {
|
|
||||||
border-bottom: 1px dotted;
|
|
||||||
cursor: help;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:link abbr[title],
|
|
||||||
a:visited abbr[title],
|
|
||||||
a:link acronym[title],
|
|
||||||
a:visited acronym[title] {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
font-family: monospace;
|
|
||||||
white-space: pre;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#maincontent ul {
|
#maincontent ul {
|
||||||
margin-left: 2em;
|
margin-left: 2em;
|
||||||
}
|
|
||||||
|
|
||||||
.clear {
|
|
||||||
clear: both;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.error {
|
.error {
|
||||||
color: #ff0000;
|
color: #ff0000;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
#menubar {
|
#menubar {
|
||||||
display: flex;
|
display: flex;
|
||||||
background: $ffmagenta;
|
background: $ffmagenta;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
#menubar a:link.topcat,
|
#menubar a:link.topcat,
|
||||||
#menubar a:visited.topcat {
|
#menubar a:visited.topcat {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: block;
|
display: block;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-size: 80%;
|
font-size: 80%;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
color: white;
|
color: white;
|
||||||
|
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
background: $ffyellow;
|
background: $ffyellow;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
background: $ffyellow;
|
background: $ffyellow;
|
||||||
color: black;
|
color: black;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#menubar div.hostinfo {
|
#menubar .hostinfo {
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 80%;
|
font-size: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#menubar div.hostinfo a {
|
#menubar .hostinfo a {
|
||||||
&:link, &:visited {
|
&:link, &:visited {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: white;
|
color: white;
|
||||||
|
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#topmenu {
|
#topmenu {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#topmenu li {
|
#topmenu li {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
#maincontent {
|
#maincontent {
|
||||||
padding: 0 1em 2em;
|
padding: 0 1em 2em;
|
||||||
max-width: 60em;
|
max-width: 60em;
|
||||||
min-width: 40em;
|
min-width: 40em;
|
||||||
margin: 1em auto;
|
margin: 1em auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#maincontent p {
|
#maincontent p {
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-section {
|
.gluon-section {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: none;
|
border: none;
|
||||||
margin-bottom: 1.3em;
|
margin-bottom: 1.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-section:last-child {
|
.gluon-section:last-child {
|
||||||
margin-bottom: 0.7em;
|
margin-bottom: 0.7em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-section legend {
|
.gluon-section legend {
|
||||||
font-size: 1.4em;
|
font-size: 1.4em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin-bottom: 0.5em;
|
margin-bottom: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-section h2 {
|
.gluon-section h2 {
|
||||||
margin: 0em 0 0.5em -0.5em !important;
|
margin: 0em 0 0.5em -0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-section h3 {
|
.gluon-section h3 {
|
||||||
text-decoration: none !important;
|
text-decoration: none;
|
||||||
font-weight: bold !important;
|
font-weight: bold;
|
||||||
color: #555555 !important;
|
color: #555555;
|
||||||
margin: 0.25em !important;
|
margin: 0.25em;
|
||||||
font-size: 100% !important;
|
font-size: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-section-descr {
|
.gluon-section-descr {
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-osm-map {
|
.gluon-osm-map {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 40em;
|
height: 40em;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
input:placeholder {
|
input::placeholder {
|
||||||
color: #aaaaaa;
|
color: #aaaaaa;
|
||||||
}
|
}
|
||||||
|
|
||||||
input:-webkit-input-placeholder {
|
input::-webkit-input-placeholder {
|
||||||
color: #aaaaaa;
|
color: #aaaaaa;
|
||||||
}
|
|
||||||
|
|
||||||
input:-moz-placeholder {
|
|
||||||
color: #aaaaaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
input:-ms-input-placeholder {
|
|
||||||
color: #aaaaaa;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=checkbox] {
|
input[type=checkbox] {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
||||||
& + label {
|
& + label {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 1em;
|
width: 1em;
|
||||||
height: 1em;
|
height: 1em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:checked + label:after {
|
&:checked + label::after {
|
||||||
content: '✔';
|
content: '✔';
|
||||||
color: $ffmagenta;
|
color: $ffmagenta;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 0;
|
left: 0;
|
||||||
margin-top: -0.5em;
|
margin-top: -0.5em;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 1.7em;
|
font-size: 1.7em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=radio] {
|
input[type=radio] {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
||||||
& + label {
|
& + label {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 0.8em;
|
width: 0.8em;
|
||||||
height: 0.8em;
|
height: 0.8em;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
margin: 0.2em 0.2em 0.2em 0.1em;
|
margin: 0.2em 0.2em 0.2em 0.1em;
|
||||||
border: none;
|
border: none;
|
||||||
background: lighten($ffyellow, 30);
|
background: lighten($ffyellow, 30);
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:checked + label:after {
|
&:checked + label::after {
|
||||||
content: '•';
|
content: '•';
|
||||||
color: $ffmagenta;
|
color: $ffmagenta;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 0;
|
left: 0;
|
||||||
margin-top: -0.4em;
|
margin-top: -0.4em;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=submit],
|
input[type=submit],
|
||||||
input[type=reset],
|
input[type=reset],
|
||||||
input[type=image],
|
|
||||||
input[type=button] {
|
input[type=button] {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
select,
|
select,
|
||||||
input,
|
input,
|
||||||
textarea,
|
textarea,
|
||||||
input[type=checkbox] + label {
|
input[type=checkbox] + label {
|
||||||
color: darken($ffzusatz, 30);
|
color: darken($ffzusatz, 30);
|
||||||
border: none;
|
border: none;
|
||||||
background: lighten($ffyellow, 30);
|
background: lighten($ffyellow, 30);
|
||||||
border-radius: 3pt;
|
border-radius: 3pt;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
margin-top: 1px;
|
margin-top: 1px;
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select-wrapper {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
right: 0.05em;
|
||||||
|
top: calc(2px + 0.1em);
|
||||||
|
bottom: calc(2px + 0.1em);
|
||||||
|
width: 1.4em;
|
||||||
|
border-left: 0.05em solid rgba(0, 0, 0, 0.25);
|
||||||
|
pointer-events: none;
|
||||||
|
background:
|
||||||
|
url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="8" height="5"><path fill="none" stroke="black" stroke-linejoin="bevel" d="M1,1L4,4L7,1"/></svg>')
|
||||||
|
center / 0.8em 0.5em
|
||||||
|
no-repeat
|
||||||
|
;
|
||||||
|
content: '';
|
||||||
|
}
|
||||||
|
|
||||||
|
select {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
-moz-appearance: none;
|
||||||
|
appearance: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
option {
|
option {
|
||||||
color: darken($ffzusatz, 30);
|
color: darken($ffzusatz, 30);
|
||||||
background: lighten($ffyellow, 30);
|
background: lighten($ffyellow, 30);
|
||||||
}
|
|
||||||
|
|
||||||
input[type=image] {
|
|
||||||
border: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
select,
|
select,
|
||||||
input[type=text],
|
input[type=text],
|
||||||
input[type=password] {
|
input[type=password] {
|
||||||
min-width: 20em;
|
min-width: 20em;
|
||||||
}
|
}
|
||||||
|
|
||||||
input.gluon-button {
|
.gluon-button {
|
||||||
@include button;
|
@include button;
|
||||||
|
|
||||||
margin-left: 0.5em;
|
margin-left: 0.5em;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
input.gluon-button-reset {
|
.gluon-button-reset {
|
||||||
background-color: $red;
|
background-color: $red;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
|
||||||
input.gluon-button-submit {
|
|
||||||
@include button-primary;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input.gluon-button-submit:active {
|
.gluon-button-submit {
|
||||||
background: grey;
|
background-color: $ffzusatz;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.gluon-button-submit:active {
|
||||||
|
background: grey;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-input-invalid {
|
.gluon-input-invalid {
|
||||||
background: $red !important;
|
background: $red !important;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
|
||||||
|
|
||||||
div.gluon-section-remove input {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea {
|
textarea {
|
||||||
margin-left: -1px;
|
margin-left: -1px;
|
||||||
margin-bottom: 0.5em;
|
margin-bottom: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-section .gluon-rowstyle-1 h3 {
|
.gluon-value {
|
||||||
background-color: #eeeeff;
|
display: flex;
|
||||||
color: #555555;
|
flex-direction: row;
|
||||||
}
|
margin-bottom: 0.5em;
|
||||||
|
|
||||||
.gluon-rowstyle-2 {
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.gluon-value {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
margin-bottom: 0.5em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-section-node .gluon-value:last-child {
|
.gluon-section-node .gluon-value:last-child {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-value-title {
|
.gluon-value-title {
|
||||||
flex: 2;
|
flex: 2;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
padding-top: 0.39em;
|
padding-top: 0.39em;
|
||||||
padding-right: 1em;
|
padding-right: 1em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.gluon-value-field {
|
.gluon-value-field {
|
||||||
flex: 3;
|
flex: 3;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
input, select, input + label {
|
input, select, input + label {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
div.gluon-value-field-text {
|
.gluon-value-field-text {
|
||||||
flex: 3;
|
flex: 3;
|
||||||
padding-top: 0.39em;
|
padding-top: 0.39em;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.gluon-value-field-long {
|
.gluon-value-field-long {
|
||||||
flex: 10;
|
flex: 10;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-top: 0.65em;
|
margin-top: 0.65em;
|
||||||
|
|
||||||
input, select, input + label {
|
input, select, input + label {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
div.gluon-value-field-long-after {
|
.gluon-value-field-long-after {
|
||||||
flex: 2;
|
flex: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.gluon-value-description {
|
.gluon-value-description {
|
||||||
font-size: 8pt;
|
font-size: 8pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.gluon-section-create {
|
.gluon-form-descr {
|
||||||
clear: left;
|
margin-bottom: 1em;
|
||||||
white-space: nowrap;
|
|
||||||
vertical-align: top;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.gluon-section-create .gluon-button {
|
|
||||||
margin: 0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
input.gluon-section-create-name {
|
|
||||||
margin-right: -0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.gluon-form-descr {
|
|
||||||
margin-bottom: 1em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-form-descr:empty, .gluon-section-descr:empty {
|
.gluon-form-descr:empty, .gluon-section-descr:empty {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-form-descr, .gluon-section-descr, .gluon-page-actions {
|
.gluon-form-descr, .gluon-section-descr, .gluon-page-actions {
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
background: #ececec;
|
background: #ececec;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-page-actions {
|
.gluon-page-actions {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row-reverse;
|
flex-flow: row-reverse;
|
||||||
}
|
|
||||||
|
|
||||||
div.gluon-optionals {
|
|
||||||
padding: 0.25em;
|
|
||||||
border-bottom: 1px dotted #bbbbbb;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.gluon-section-remove {
|
|
||||||
float: right;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-section-node {
|
.gluon-section-node {
|
||||||
clear: both;
|
clear: both;
|
||||||
position: relative;
|
position: relative;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
|
||||||
|
|
||||||
.gluon-section-node-tabbed {
|
|
||||||
border-top-left-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.gluon-error {
|
|
||||||
font-size: 95%;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #ff0000;
|
|
||||||
background-color: #ffffff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-value-error input,
|
.gluon-value-error input,
|
||||||
.gluon-value-error select {
|
.gluon-value-error select {
|
||||||
background-color: #ffcccc;
|
background-color: #ffcccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-value-field var {
|
.gluon-add::after, .gluon-remove::after {
|
||||||
color: #2222FF;
|
cursor: pointer;
|
||||||
}
|
display: inline-block;
|
||||||
|
text-align: center;
|
||||||
.gluon-add:after, .gluon-remove:after {
|
vertical-align: middle;
|
||||||
cursor: pointer;
|
font-size: 180%;
|
||||||
display: inline-block;
|
width: 1.2em;
|
||||||
text-align: center;
|
height: 1em;
|
||||||
vertical-align: middle;
|
|
||||||
font-size: 180%;
|
|
||||||
width: 1.2em;
|
|
||||||
height: 1em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-add {
|
.gluon-add {
|
||||||
color: #008000;
|
color: #008000;
|
||||||
|
|
||||||
position: relative;
|
position: relative;
|
||||||
left: 21em;
|
left: 21em;
|
||||||
|
|
||||||
input + & {
|
input + & {
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0.04em;
|
top: 0.04em;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
top: 0.53em;
|
top: 0.53em;
|
||||||
left: -0.08em;
|
left: -0.08em;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:after {
|
&::after {
|
||||||
content: '+';
|
content: '+';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.gluon-remove {
|
.gluon-remove {
|
||||||
color: #800000;
|
color: #800000;
|
||||||
|
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -0.03em;
|
top: -0.03em;
|
||||||
|
|
||||||
&:after {
|
&::after {
|
||||||
content: '–';
|
content: '–';
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.left {
|
|
||||||
text-align: left !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.right {
|
|
||||||
text-align: right !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline {
|
|
||||||
display: inline;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.error500 {
|
.error500 {
|
||||||
border: 1px dotted #ff0000;
|
border: 1px dotted #ff0000;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.errorbox {
|
.errorbox {
|
||||||
border: 1px solid #FF0000;
|
border: 1px solid #FF0000;
|
||||||
background-color: #FFCCCC;
|
background-color: #FFCCCC;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.errorbox a {
|
.errorbox a {
|
||||||
color: #000000 !important;
|
color: #000000 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.the-key {
|
.the-key {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-size: 1.4em;
|
font-size: 1.4em;
|
||||||
background: lighten($ffyellow, 35);
|
background: lighten($ffyellow, 35);
|
||||||
border: 3pt dashed $ffmagenta;
|
border: 3pt dashed $ffmagenta;
|
||||||
margin-bottom: 0.5em;
|
margin-bottom: 0.5em;
|
||||||
padding: 0.5em
|
padding: 0.5em
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ $Id$
|
|||||||
<%:Firmware image%>
|
<%:Firmware image%>
|
||||||
</label>
|
</label>
|
||||||
<div class="gluon-value-field">
|
<div class="gluon-value-field">
|
||||||
<input class="gluon-input-file" type="file" name="image" />
|
<input type="file" name="image" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -36,13 +36,13 @@ $Id$
|
|||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div class="gluon-value-field">
|
<div class="gluon-value-field">
|
||||||
<input id="keepcfg" class="gluon-input-checkbox" type="checkbox" name="keepcfg" value="1" checked="checked" />
|
<input id="keepcfg" type="checkbox" name="keepcfg" value="1" checked="checked" />
|
||||||
<label for="keepcfg"></label>
|
<label for="keepcfg"></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="gluon-page-actions right">
|
<div class="gluon-page-actions">
|
||||||
<input type="hidden" name="step" value="2" />
|
<input type="hidden" name="step" value="2" />
|
||||||
<input type="hidden" name="token" value="<%=token%>" />
|
<input type="hidden" name="token" value="<%=token%>" />
|
||||||
<input class="gluon-button gluon-button-submit" type="submit" value="<%:Upload image%>" />
|
<input class="gluon-button gluon-button-submit" type="submit" value="<%:Upload image%>" />
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<div class="gluon-value">
|
<div class="gluon-value">
|
||||||
<div class="gluon-value-title">
|
<div class="gluon-value-title">
|
||||||
<input class="gluon-input-radio" data-update="change" type="radio" value="security"<%= attr("id", id..'.1') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "security") and "checked") %> />
|
<input data-update="change" type="radio" value="security"<%= attr("id", id..'.1') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "security") and "checked") %> />
|
||||||
<label<%= attr("for", id..'.1')%>></label>
|
<label<%= attr("for", id..'.1')%>></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="gluon-value-field-long">
|
<div class="gluon-value-field-long">
|
||||||
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
<div class="gluon-value gluon-value-last">
|
<div class="gluon-value gluon-value-last">
|
||||||
<div class="gluon-value-title">
|
<div class="gluon-value-title">
|
||||||
<input class="gluon-input-radio" data-update="change" type="radio" value="performance"<%= attr("id", id..'.2') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "performance") and "checked") %> />
|
<input data-update="change" type="radio" value="performance"<%= attr("id", id..'.2') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "performance") and "checked") %> />
|
||||||
<label<%= attr("for", id..'.2')%>></label>
|
<label<%= attr("for", id..'.2')%>></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="gluon-value-field-long">
|
<div class="gluon-value-field-long">
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
<%
|
<%
|
||||||
for i, val in ipairs(self:cfgvalue()) do
|
for i, val in ipairs(self:cfgvalue()) do
|
||||||
%>
|
%>
|
||||||
<input class="gluon-input-text" value="<%|val%>" data-update="change" type="text"<%=
|
<input value="<%|val%>" data-update="change" type="text"<%=
|
||||||
attr("id", id .. "." .. i) ..
|
attr("id", id .. "." .. i) ..
|
||||||
attr("name", id) ..
|
attr("name", id) ..
|
||||||
attr("size", self.size) ..
|
attr("size", self.size) ..
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<input class="gluon-input-checkbox" data-update="click change" type="checkbox" value="1"<%=
|
<input data-update="click change" type="checkbox" value="1"<%=
|
||||||
attr("id", id) .. attr("name", id) ..
|
attr("id", id) .. attr("name", id) ..
|
||||||
attr("checked", self:cfgvalue() and "checked")
|
attr("checked", self:cfgvalue() and "checked")
|
||||||
%> />
|
%> />
|
||||||
|
@ -4,23 +4,25 @@
|
|||||||
%>
|
%>
|
||||||
|
|
||||||
<% if self.widget == "select" then %>
|
<% if self.widget == "select" then %>
|
||||||
<select class="gluon-input-select" data-update="change"<%=
|
<div class="select-wrapper">
|
||||||
attr("id", id) ..
|
<select data-update="change"<%=
|
||||||
attr("name", id) ..
|
attr("id", id) ..
|
||||||
attr("size", self.size) ..
|
attr("name", id) ..
|
||||||
attr("data-type", "minlength(1)") ..
|
attr("size", self.size) ..
|
||||||
attr("data-optional", self.optional)
|
attr("data-type", "minlength(1)") ..
|
||||||
%>>
|
attr("data-optional", self.optional)
|
||||||
<% for i, entry in pairs(entries) do -%>
|
%>>
|
||||||
<option<%=
|
<% for i, entry in pairs(entries) do -%>
|
||||||
attr("id", id.."."..entry.key) ..
|
<option<%=
|
||||||
attr("value", entry.key) ..
|
attr("id", id.."."..entry.key) ..
|
||||||
attr("data-index", i) ..
|
attr("value", entry.key) ..
|
||||||
attr("data-depends", self:deplist(entry.deps)) ..
|
attr("data-index", i) ..
|
||||||
attr("selected", (self:cfgvalue() == entry.key) and "selected")
|
attr("data-depends", self:deplist(entry.deps)) ..
|
||||||
%>><%|entry.value%></option>
|
attr("selected", (self:cfgvalue() == entry.key) and "selected")
|
||||||
<%- end %>
|
%>><%|entry.value%></option>
|
||||||
</select>
|
<%- end %>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<% elseif self.widget == "radio" then %>
|
<% elseif self.widget == "radio" then %>
|
||||||
<div>
|
<div>
|
||||||
<% for i, entry in pairs(entries) do %>
|
<% for i, entry in pairs(entries) do %>
|
||||||
@ -28,7 +30,7 @@
|
|||||||
attr("data-index", i) ..
|
attr("data-index", i) ..
|
||||||
attr("data-depends", self:deplist(entry.deps))
|
attr("data-depends", self:deplist(entry.deps))
|
||||||
%>>
|
%>>
|
||||||
<input class="gluon-input-radio" data-update="click change" type="radio"<%=
|
<input data-update="click change" type="radio"<%=
|
||||||
attr("id", id.."."..entry.key) ..
|
attr("id", id.."."..entry.key) ..
|
||||||
attr("name", id) ..
|
attr("name", id) ..
|
||||||
attr("value", entry.key) ..
|
attr("value", entry.key) ..
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<textarea class="gluon-input-textarea" <% if not self.size then %> style="width: 100%"<% else %> cols="<%=self.size%>"<% end %> data-update="change"<%= attr("name", id) .. attr("id", id) .. attr("rows", self.rows) .. attr("wrap", self.wrap) %>>
|
<textarea <% if not self.size then %> style="width: 100%"<% else %> cols="<%=self.size%>"<% end %> data-update="change"<%= attr("name", id) .. attr("id", id) .. attr("rows", self.rows) .. attr("wrap", self.wrap) %>>
|
||||||
<%-|self:cfgvalue()-%>
|
<%-|self:cfgvalue()-%>
|
||||||
</textarea>
|
</textarea>
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
attr("id", id) ..
|
attr("id", id) ..
|
||||||
attr("name", id) ..
|
attr("name", id) ..
|
||||||
attr("type", self.password and "password" or "text") ..
|
attr("type", self.password and "password" or "text") ..
|
||||||
attr("class", self.password and "gluon-input-password" or "gluon-input-text") ..
|
|
||||||
attr("value", self:cfgvalue()) ..
|
attr("value", self:cfgvalue()) ..
|
||||||
attr("size", self.size) ..
|
attr("size", self.size) ..
|
||||||
attr("placeholder", self.placeholder) ..
|
attr("placeholder", self.placeholder) ..
|
||||||
|
File diff suppressed because one or more lines are too long
@ -276,7 +276,6 @@
|
|||||||
t.value = values[i-1];
|
t.value = values[i-1];
|
||||||
t.type = 'text';
|
t.type = 'text';
|
||||||
t.index = i;
|
t.index = i;
|
||||||
t.className = 'gluon-input-text';
|
|
||||||
|
|
||||||
if (attr.size)
|
if (attr.size)
|
||||||
t.size = attr.size;
|
t.size = attr.size;
|
||||||
|
Loading…
Reference in New Issue
Block a user