コード例 #1
0
ファイル: DayView.java プロジェクト: samiriyoussef/square-crm
  public void doSizing() {

    if (calendarWidget.getOffsetHeight() > 0) {
      dayViewBody.setHeight(
          calendarWidget.getOffsetHeight()
              - 2
              - dayViewHeader.getOffsetHeight()
              - multiViewBody.getOffsetHeight()
              + "px");
    }

    // multiViewBody.grid.setHeight(desiredHeight + "px");
  }
コード例 #2
0
ファイル: DayView.java プロジェクト: samiriyoussef/square-crm
  public void doLayout() {

    // PERFORM APPOINTMENT LAYOUT NOW
    Date d = (Date) calendarWidget.getDate().clone();

    multiViewBody.setDays((Date) d.clone(), calendarWidget.getDays());
    dayViewHeader.setDays((Date) d.clone(), calendarWidget.getDays());
    dayViewHeader.setYear((Date) d.clone());
    dayViewBody.setDays((Date) d.clone(), calendarWidget.getDays());
    dayViewBody.getTimeline().prepare();

    dropController.setColumns(calendarWidget.getDays());
    dropController.setIntervalsPerHour(calendarWidget.getSettings().getIntervalsPerHour());
    dropController.setDate((Date) calendarWidget.getDate().clone());
    dropController.setSnapSize(calendarWidget.getSettings().getPixelsPerInterval());
    resizeController.setIntervalsPerHour(calendarWidget.getSettings().getIntervalsPerHour());
    resizeController.setSnapSize(calendarWidget.getSettings().getPixelsPerInterval());

    this.selectedAppointmentWidgets.clear();
    appointmentWidgets.clear();

    // HERE IS WHERE WE DO THE LAYOUT
    Date tmpDate = (Date) calendarWidget.getDate().clone();

    for (int i = 0; i < calendarWidget.getDays(); i++) {

      ArrayList<Appointment> filteredList =
          AppointmentUtil.filterListByDate(calendarWidget.getAppointments(), tmpDate);

      // perform layout
      ArrayList<AppointmentAdapter> appointmentAdapters =
          layoutStrategy.doLayout(filteredList, i, calendarWidget.getDays());

      // add all appointments back to the grid
      for (AppointmentAdapter appt : appointmentAdapters) {
        AppointmentWidget panel = new AppointmentWidget();
        panel.setWidth(appt.getWidth());
        panel.setHeight(appt.getHeight());
        panel.setTitle(appt.getAppointment().getTitle());
        panel.setTop(appt.getTop());
        panel.setLeft(appt.getLeft());
        panel.setAppointment(appt.getAppointment());
        panel.setDescription(appt.getAppointment().getDescription());
        // panel.setAppointmentStyle(appt.getAppointment().getAppointmentStyle());
        dayViewBody.getGrid().grid.add(panel);
        boolean selected = calendarWidget.isTheSelectedAppointment(panel.getAppointment());
        if (selected) {
          // panel.addStyleDependentName("selected");
          // panel.setSelected(true);//TODO Move to styleManager
          selectedAppointmentWidgets.add(panel);
        }
        styleManager.applyStyle(panel, selected);
        appointmentWidgets.add(panel);

        // make footer 'draggable'
        // resizeController.makeDraggable(panel.getResizeHandle());
        // dragController.makeDraggable(panel, panel.getMoveHandle());
      }

      tmpDate.setDate(tmpDate.getDate() + 1);
    }

    ArrayList<Appointment> filteredList =
        AppointmentUtil.filterListByDateRange(
            calendarWidget.getAppointments(), calendarWidget.getDate(), calendarWidget.getDays());

    ArrayList<AppointmentAdapter> adapterList = new ArrayList<AppointmentAdapter>();
    int desiredHeight =
        layoutStrategy.doMultiDayLayout(
            filteredList, adapterList, calendarWidget.getDate(), calendarWidget.getDays());

    multiViewBody.grid.setHeight(desiredHeight + "px");

    for (AppointmentAdapter appt : adapterList) {

      AppointmentWidget panel = new AppointmentWidget();
      // panel.addStyleName(appt.getAppointment().getStyle());
      // panel.setStylePrimaryName("dv-appointment-multiday");//TODO Move to styleManager

      panel.setWidth(appt.getWidth());
      panel.setHeight(appt.getHeight());
      panel.setTitle(appt.getAppointment().getTitle());
      panel.setTop(appt.getTop());
      panel.setLeft(appt.getLeft());
      panel.setAppointment(appt.getAppointment());
      panel.setMultiDay(true);
      // panel.setAppointmentStyle(appt.getAppointment().getAppointmentStyle());

      // dayViewBody.getGrid().grid.add(panel);
      boolean selected = calendarWidget.isTheSelectedAppointment(panel.getAppointment());
      if (selected) {
        // panel.setSelected(true); //TODO: Move to styleManager
        // panel.addStyleDependentName("selected");
        selectedAppointmentWidgets.add(panel);
      }
      styleManager.applyStyle(panel, selected);
      appointmentWidgets.add(panel);
      this.multiViewBody.grid.add(panel);
    }
  }