<script id="EventEditorTemplate" type="text/x-template">
<table class="custom-event-editor" width="100%" cellpadding="5">
<tbody>
<tr>
<td class="e-textlabel">Preference</td>
<td colspan="4" id="Location"></td>
</tr>
</tbody>
</table>
</script>
var scheduleObj = new ej.schedule.Schedule({
width: '100%',
height: '800px',
views: ['Day', 'Week', 'Month'],
eventSettings: {
dataSource: dataManger,
allowAdding: true,
allowDeleting: true,
allowEditing: true,
},
allowDragAndDrop: false,
allowResizing: false,
editorTemplate: '#EventEditorTemplate',
showQuickInfo: false,
popupOpen: OnPopupOpen,
});
scheduleObj.appendTo('#Schedule');
function OnPopupOpen(args) {
if (args.type === "Editor") {
var formElement = args.element.querySelector('.e-schedule-form');
var preferenceElement = args.element.querySelector('#Location');
var preferenceInputEle = new ej.base.createElement('input', {
className: 'e-field', attrs: {name: 'Location'}
});
preferenceElement.appendChild(preferenceInputEle);
var preferencetextbox = new ej.inputs.TextBox({placeholder: 'Location Preference', floatLabelType: 'Never',});
preferencetextbox.appendTo(preferenceInputEle);
var validator = ((formElement).ej2_instances[0]);
validator.addRules('Location', {required: true});
}
}
|
var statusElement = args.element.querySelector('#EventType');
if (!statusElement.classList.contains('e-dropdownlist')) {
var dropDownListObject = new ej.dropdowns.DropDownList({
placeholder: 'Select a status', value: statusElement.value,
dataSource: ['New', 'Requested', 'Confirmed'],
select: valueChange
});
dropDownListObject.appendTo(statusElement);
}
function valueChange() {
if (!ej.base.isNullOrUndefined(document.getElementById("EventType_Error"))) {
document.getElementById("EventType_Error").style.display = "none";
}
}
var validator = ((formElement).ej2_instances[0]);
validator.addRules('EventType', { required: true }); |
function OnActionBegin(args) {
if (args.requestType == 'eventCreate' || args.requestType == "eventChange") {
var options = {
rules: {
'Location': {required: true},
'EventType': {required: true}
}
};
var formObject = new ej.inputs.FormValidator('#ScheduleEditForm', options);
if (!formObject.validate()) {
args.cancel = true;
}
}
}
|
fields: {
location: {
name: 'Location', validation: {
required: true
}
}
} |