Merge branch 'master' of https://github.com/primefaces/primevue
commit
648e6cf4a2
|
@ -245,6 +245,12 @@ const CalendarProps = [
|
||||||
type: "any",
|
type: "any",
|
||||||
default: "null",
|
default: "null",
|
||||||
description: "Inline style of the component."
|
description: "Inline style of the component."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "keepInvalid",
|
||||||
|
type: "boolean",
|
||||||
|
default: "false",
|
||||||
|
description: "Keep invalid value when input blur."
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: rgba(255, 255, 255, 0.25);
|
background-color: rgba(0, 0, 0, 0.25);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,6 +42,7 @@ interface CalendarProps {
|
||||||
inputClass?: string;
|
inputClass?: string;
|
||||||
style?: any;
|
style?: any;
|
||||||
class?: string;
|
class?: string;
|
||||||
|
keepInvalid?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
declare class Calendar {
|
declare class Calendar {
|
||||||
|
|
|
@ -289,6 +289,10 @@ export default {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'body'
|
default: 'body'
|
||||||
},
|
},
|
||||||
|
keepInvalid: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
inputClass: null,
|
inputClass: null,
|
||||||
inputStyle: null,
|
inputStyle: null,
|
||||||
class: null,
|
class: null,
|
||||||
|
@ -1936,7 +1940,9 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(err) {
|
catch(err) {
|
||||||
this.updateModel(event.target.value);
|
// invalid date
|
||||||
|
let value = this.keepInvalid ? event.target.value : null;
|
||||||
|
this.updateModel(value);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onFocus() {
|
onFocus() {
|
||||||
|
@ -1998,7 +2004,7 @@ export default {
|
||||||
return propValue || new Date();
|
return propValue || new Date();
|
||||||
},
|
},
|
||||||
inputFieldValue() {
|
inputFieldValue() {
|
||||||
return this.formatValue(this.modelValue);
|
return this.keepInvalid ? this.modelValue : this.formatValue(this.modelValue);
|
||||||
},
|
},
|
||||||
containerClass() {
|
containerClass() {
|
||||||
return [
|
return [
|
||||||
|
|
|
@ -534,7 +534,7 @@ export default {
|
||||||
clearTimeout(this.searchTimeout);
|
clearTimeout(this.searchTimeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char = String.fromCharCode(event.keyCode);
|
const char = event.key;
|
||||||
this.previousSearchChar = this.currentSearchChar;
|
this.previousSearchChar = this.currentSearchChar;
|
||||||
this.currentSearchChar = char;
|
this.currentSearchChar = char;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div ref="content" class="p-fileupload-content" @dragenter="onDragEnter" @dragover="onDragOver" @dragleave="onDragLeave" @drop="onDrop">
|
<div ref="content" class="p-fileupload-content" @dragenter="onDragEnter" @dragover="onDragOver" @dragleave="onDragLeave" @drop="onDrop">
|
||||||
<FileUploadProgressBar :value="progress" v-if="hasFiles" />
|
<FileUploadProgressBar :value="progress" v-if="hasFiles" />
|
||||||
<FileUploadMessage v-for="msg of messages" severity="error" :key="msg">{{msg}}</FileUploadMessage>
|
<FileUploadMessage v-for="msg of messages" severity="error" :key="msg" @close="onMessageClose">{{msg}}</FileUploadMessage>
|
||||||
<div class="p-fileupload-files" v-if="hasFiles">
|
<div class="p-fileupload-files" v-if="hasFiles">
|
||||||
<div class="p-fileupload-row" v-for="(file, index) of files" :key="file.name + file.type + file.size">
|
<div class="p-fileupload-row" v-for="(file, index) of files" :key="file.name + file.type + file.size">
|
||||||
<div>
|
<div>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-fileupload p-fileupload-basic p-component" v-else-if="isBasic">
|
<div class="p-fileupload p-fileupload-basic p-component" v-else-if="isBasic">
|
||||||
<FileUploadMessage v-for="msg of messages" severity="error" :key="msg">{{msg}}</FileUploadMessage>
|
<FileUploadMessage v-for="msg of messages" severity="error" :key="msg" @close="onMessageClose">{{msg}}</FileUploadMessage>
|
||||||
<span :class="basicChooseButtonClass" :style="style" @mouseup="onBasicUploaderClick" @keydown.enter="choose" @focus="onFocus" @blur="onBlur" v-ripple tabindex="0" >
|
<span :class="basicChooseButtonClass" :style="style" @mouseup="onBasicUploaderClick" @keydown.enter="choose" @focus="onFocus" @blur="onBlur" v-ripple tabindex="0" >
|
||||||
<span :class="basicChooseButtonIconClass"></span>
|
<span :class="basicChooseButtonIconClass"></span>
|
||||||
<span class="p-button-label">{{basicChooseButtonLabel}}</span>
|
<span class="p-button-label">{{basicChooseButtonLabel}}</span>
|
||||||
|
@ -397,6 +397,9 @@ export default {
|
||||||
if (this.isFileLimitExceeded()) {
|
if (this.isFileLimitExceeded()) {
|
||||||
this.messages.push(this.invalidFileLimitMessage.replace('{0}', this.fileLimit.toString()))
|
this.messages.push(this.invalidFileLimitMessage.replace('{0}', this.fileLimit.toString()))
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
onMessageClose() {
|
||||||
|
this.messages = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
|
@ -827,7 +827,7 @@ export default {
|
||||||
this.$refs.input.$el.setAttribute('aria-valuenow', value);
|
this.$refs.input.$el.setAttribute('aria-valuenow', value);
|
||||||
},
|
},
|
||||||
concatValues(val1, val2) {
|
concatValues(val1, val2) {
|
||||||
if (val1 !== null && val2 !== null) {
|
if (val1 && val2) {
|
||||||
let decimalCharIndex = val2.search(this._decimal);
|
let decimalCharIndex = val2.search(this._decimal);
|
||||||
this._decimal.lastIndex = 0;
|
this._decimal.lastIndex = 0;
|
||||||
|
|
||||||
|
|
|
@ -420,6 +420,12 @@ export default {
|
||||||
<td>null</td>
|
<td>null</td>
|
||||||
<td>Style class of the component.</td>
|
<td>Style class of the component.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>keepInvalid</td>
|
||||||
|
<td>boolean</td>
|
||||||
|
<td>false</td>
|
||||||
|
<td>Keep invalid value when input blur.</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
@ -802,7 +808,7 @@ export default {
|
||||||
let prevYear = (prevMonth === 11) ? year - 1 : year;
|
let prevYear = (prevMonth === 11) ? year - 1 : year;
|
||||||
let nextMonth = (month === 11) ? 0 : month + 1;
|
let nextMonth = (month === 11) ? 0 : month + 1;
|
||||||
let nextYear = (nextMonth === 0) ? year + 1 : year;
|
let nextYear = (nextMonth === 0) ? year + 1 : year;
|
||||||
|
|
||||||
const minDate = ref(new Date());
|
const minDate = ref(new Date());
|
||||||
const maxDate = ref(new Date());
|
const maxDate = ref(new Date());
|
||||||
const invalidDates = ref();
|
const invalidDates = ref();
|
||||||
|
@ -832,7 +838,7 @@ export default {
|
||||||
invalidDate.setDate(today.getDate() - 1);
|
invalidDate.setDate(today.getDate() - 1);
|
||||||
invalidDates.value = [today, invalidDate];
|
invalidDates.value = [today, invalidDate];
|
||||||
|
|
||||||
return { minDate, maxDate, invalidDates, date1, date2, date3, date4, date5, date6, date7,
|
return { minDate, maxDate, invalidDates, date1, date2, date3, date4, date5, date6, date7,
|
||||||
date8, date9, date10, date11, date12, date13, date14, dates1, dates2 }
|
date8, date9, date10, date11, date12, date13, date14, dates1, dates2 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue