2013-12-10 5 views
3

С KendoUI 2013.3.1109KendoUI, настройки редактора рекуррентного

Я использую KendoUI's scheduler

Я использую шаблон для формы бронирования, но через прибегая к помощи и просматривали форумы, я прочитал о повторном использовании их повторяемость. Я даже понял, через экспериментирование, что можно выбрать, какой период опции доступны с помощью, например, бег:

$("#recurrenceEditor").kendoRecurrenceEditor(
    { 
     frequencies: ["never", "daily", "weekly", "monthly"] 
    }); 
}); 

Код выше не будет загружать «ежегодно» вариант в раскрывающемся списке. На сайте нет документации API для kendoRecurrenceEditor, но мне было интересно, можно ли настроить дополнительные параметры, например, удалить тег «never», когда истечет срок действия и т. Д.

+0

Эй вы когда-нибудь узнали, как настроить редактор повторения? –

+0

Kinda, но это взломать - я выложу его как предлагаемое решение, так как на это не ответили какое-то время. – Matt

ответ

2

Так что я инициализировать редактор Кендо рекуррентное:

$("#recurrenceEditor").kendoRecurrenceEditor({ 
      change: function() { 
       onRecurrenceEditorChange(); 
      } 
    }); 

Тогда я подправить то, что видно внутри #recurrenceEditor

var onRecurrenceEditorChange = function() { 
      var recurrenceKendoNumericTextBox = $('#recurrenceEditor .k-widget.k-numerictextbox.k-recur-count input[data-role="numerictextbox"]') 
       .data('kendoNumericTextBox'); 

      if (recurrenceKendoNumericTextBox != null) { 

       var recurrenceEditorNeverEndOption = _container.find('#recurrenceEditor label:has(.k-recur-end-never)'); 

       if (recurrenceEditorNeverEndOption != null) 
        recurrenceEditorNeverEndOption.hide(); 

       recurrenceKendoNumericTextBox.max(10); 

       var recurrenceKendoDatePicker = _container.find('#recurrenceEditor .k-datepicker input[data-role="datepicker"]').data("kendoDatePicker"); 
       if (recurrenceKendoDatePicker != null) { 
        var maxDate = window.moment().add('months', 2).toDate(); 
        recurrenceKendoDatePicker.max(maxDate); 
        recurrenceKendoDatePicker.value(maxDate); 
       } 
      } 
     }; 

Затем, если вы хотите настроить интервалы, взломать вокруг него таким образом:

var recurrencePeriodKendoDropDownList = $('.k-widget.k-dropdown input[data-role="dropdownlist"]').data("kendoDropDownList"); 
     var recurrencePeriodFilters = [ 
      { 
       field: "value", 
       operator: "neq", 
       value: 'yearly' 
      }, { 
       field: "value", 
       operator: "neq", 
       value: 'monthly' 
      }, 
      // if it's a newres, don't hide 'Never' option which matches to "", 
      { 
       field: "value", 
       operator: "neq", 
       value: someBoolConditionIhave ? "fake" : "" 
      } 
     ]; 
Смежные вопросы