Update custom validation && location style
Dieser Commit ist enthalten in:
Ursprung
4889435164
Commit
db16c9692b
2 geänderte Dateien mit 138 neuen und 46 gelöschten Zeilen
|
@ -179,7 +179,6 @@ export default {
|
||||||
type: 'PUT',
|
type: 'PUT',
|
||||||
data: { fields }
|
data: { fields }
|
||||||
}).catch(response => {
|
}).catch(response => {
|
||||||
console.log(response)
|
|
||||||
if (response && response.responseJSON && response.responseJSON.errors) {
|
if (response && response.responseJSON && response.responseJSON.errors) {
|
||||||
let wizardErrors = [];
|
let wizardErrors = [];
|
||||||
response.responseJSON.errors.forEach(err => {
|
response.responseJSON.errors.forEach(err => {
|
||||||
|
@ -248,39 +247,31 @@ export default {
|
||||||
];
|
];
|
||||||
|
|
||||||
FieldModel.reopen({
|
FieldModel.reopen({
|
||||||
hasCustomCheck: false,
|
|
||||||
|
|
||||||
customCheck() {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
|
|
||||||
check() {
|
check() {
|
||||||
let valid = this.get('valid');
|
if (this.customCheck) {
|
||||||
|
return this.customCheck();
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.get('required')) {
|
let valid = this.valid;
|
||||||
|
|
||||||
|
if (!this.required) {
|
||||||
this.setValid(true);
|
this.setValid(true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const hasCustomCheck = this.get('hasCustomCheck');
|
const val = this.get('value');
|
||||||
if (hasCustomCheck) {
|
const type = this.get('type');
|
||||||
valid = this.customCheck();
|
|
||||||
} else {
|
|
||||||
const val = this.get('value');
|
|
||||||
const type = this.get('type');
|
|
||||||
|
|
||||||
if (type === 'checkbox') {
|
if (type === 'checkbox') {
|
||||||
valid = val;
|
valid = val;
|
||||||
} else if (type === 'upload') {
|
} else if (type === 'upload') {
|
||||||
valid = val && val.id > 0;
|
valid = val && val.id > 0;
|
||||||
} else if (StandardFieldValidation.indexOf(type) > -1) {
|
} else if (StandardFieldValidation.indexOf(type) > -1) {
|
||||||
valid = val && val.toString().length > 0;
|
valid = val && val.toString().length > 0;
|
||||||
} else if (type === 'url') {
|
} else if (type === 'url') {
|
||||||
valid = true;
|
valid = true;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
this.setValid(valid);
|
this.setValid(valid);
|
||||||
|
|
||||||
return valid;
|
return valid;
|
||||||
|
|
|
@ -1,11 +1,19 @@
|
||||||
@import "wizard_variables";
|
@import "wizard_variables";
|
||||||
|
|
||||||
.location-selector-container {
|
.location-form-instructions {
|
||||||
width: 350px;
|
color: #919191;
|
||||||
|
margin: 5px 0;
|
||||||
|
font-size: 80%;
|
||||||
|
line-height: 1.4em;
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.location-form {
|
.location-form {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
overflow: visible;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
@ -40,30 +48,16 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.address + .coordinates {
|
.address + .coordinates {
|
||||||
border-left: 1px solid #eee;
|
border-left: 1px solid $primary-low;
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.location-form-instructions {
|
|
||||||
color: #919191;
|
|
||||||
margin: 5px 0;
|
|
||||||
font-size: 80%;
|
|
||||||
line-height: 1.4em;
|
|
||||||
|
|
||||||
a {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.location-form, .add-location {
|
|
||||||
overflow: visible;
|
|
||||||
|
|
||||||
.control-group {
|
.control-group {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
width: auto;
|
||||||
|
|
||||||
.instructions {
|
.instructions {
|
||||||
@extend .location-form-instructions;
|
@extend .location-form-instructions;
|
||||||
|
@ -87,3 +81,110 @@ input.input-location, div.input-location {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.input-location .select2-choice {
|
||||||
|
padding: 2px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-location.input-small {
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.location-selector-container {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.ac-wrap {
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
.ac-loading {
|
||||||
|
position: absolute;
|
||||||
|
top: 7px;
|
||||||
|
right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item {
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.autocomplete {
|
||||||
|
width: inherit;
|
||||||
|
left: 0 !important;
|
||||||
|
width: 100%;
|
||||||
|
top: 30px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
li, .no-results {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul > label {
|
||||||
|
@extend .location-form-instructions;
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.location-form-result {
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: $secondary;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
&:hover, &.selected {
|
||||||
|
background-color: $tertiary;
|
||||||
|
color: white;
|
||||||
|
|
||||||
|
label {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
margin-bottom: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
i {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.location-results {
|
||||||
|
max-width: 550px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.spinner {
|
||||||
|
position: absolute;
|
||||||
|
right: 50%;
|
||||||
|
top: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
background-color: dark-light-diff($primary, $secondary, 97%, -65%);
|
||||||
|
border: 1px solid #e9e9e9;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
height: 95px;
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
padding: 6px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-results {
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.default {
|
||||||
|
margin: 0 auto;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
color: #919191;
|
||||||
|
}
|
||||||
|
}
|
Laden …
In neuem Issue referenzieren