code: function getCalendar() {
              if (this.clazz.$name === undefined) {
                  throw new Error();
              }
  
              if (this.calendar === undefined || this.calendar === null) {
                  var $this = this;
  
                  this.$freezeCalendar = false;
  
                  this.calendar = new pkg.Calendar([
                      function $clazz() {
                          this.MonthsCombo.$name = "INNER";
                      },
  
                      function winActivated(e) {
                          if (e.isActive === false) {
                              $this.hideCalendar();
                          }
                      },
  
                      function childKeyPressed(e){
                          if (e.code === "Escape") {
                              $this.hideCalendar();
                          }
                      },
  
                      function dateSelected(date, b) {
                          this.$super(date, b);
                          if (date !== null && b) {
                              if ($this.$freezeCalendar === false) {
                                  if ($this.dateSelected !== undefined) {
                                      $this.dateSelected.call($this, date, b);
                                  }
                                  $this.hideCalendar();
                              }
                          }
                      }
                  ]);
              }
              return this.calendar;
          }
docs: Get calendar component.
  @return {zebkit.ui.date.Calendar} a calendar
  @method getCalendar