Package org.zkoss.calendar.api

Examples of org.zkoss.calendar.api.DateFormatter


        .append("\"")
        .append(headerStyle)
        .append(">");

    // header
    DateFormatter df = cal.getDateFormatter();
    Locale locale = Locales.getCurrent();
    String timeStr = df.getCaptionByTimeOfDay(eventBegin, locale, timezone) + " - "
            + df.getCaptionByTimeOfDay(eventEnd, locale, timezone);
    wh.append("<dl id=\"")
        .append(id)
        .append("!inner\"")
        .append(contentStyle)
        .append("><dt id=\"")
View Full Code Here


    final String zcls = self.getZclass();
    final String month = zcls + "-month";
    final String header = zcls + "-header";
    final String content = zcls + "-cnt";

    DateFormatter df = cal.getDateFormatter();
    StringBuffer wh = new StringBuffer();
    wh.append("<div id=\"").append(id).append("\" z.type=\"Calevent\" class=\"").append(zcls).append(" ").append(
        month).append("\"");
    wh.append(" z.zcls=\"").append(zcls).append("\"");
    wh.append(" z.bd=\"").append(eventBegin.getTime() + bdDSTOffset).append("\"");
    wh.append(" z.ed=\"").append(eventEnd.getTime() + edDSTOffset).append("\"");
    if (self.isLocked())
      wh.append(" z.locked=\"true\"");

    wh.append(">");

    // title
    wh.append("<span id=\"")
        .append(id)
        .append("!hd\" class=\"")
        .append(header)
        .append("\"")
        .append(headerStyle)
        .append(">")
        .append(df.getCaptionByTimeOfDay(eventBegin, Locales.getCurrent(), cal.getDefaultTimeZone()))
        .append("&nbsp;</span>");

    // content
    wh.append("<span id=\"")
        .append(id)
View Full Code Here

    Calendar cal = Calendar.getInstance(timezone);
    Calendar btmp = Calendar.getInstance(timezone);
    Calendar etmp = Calendar.getInstance(timezone);
    cal.setTime(begin);

    final DateFormatter dfhandler = self.getDateFormatter();
    int[] weekend = new int[]{-1, -1};

    // day-of-week
    for (int index = 0, k = 0; k < 7; ++k) {
      String content = dfhandler.getCaptionByDayOfWeek(cal.getTime(), locale, timezone);
      wh.write("<th title=\"").write(content).write("\" class=\"")
        .write(day_of_week);

      if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY ||
          cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
        weekend[index++] = k;
        wh.write(" ").write(week_weekend);
      }
      wh.write("\">").write(content).write("</th>");
      cal.add(Calendar.DAY_OF_MONTH, 1);
    }
    wh.write("</tr></tbody></table>");

    // calculate how many weeks we should display
    int weeks = self.getWeekOfMonth();
    float number = 100F /weeks;

    if (self.isWeekOfYear()) {
      cal.setTime(begin);
      wh.write("<div id=\"").write(uuid).write("!woy\" class=\"").write(
          week_of_year).write("\">");
      for (int j = 0; j < weeks; j++) {
        cal.set(Calendar.MILLISECOND, 0);
        wh.write("<div class=\"").write(month_week).write(
            "\" style=\"top:").write((number * j)).write(
            "%; height:").write(number).write("%;\"><span z.time=\"")
            .write(String.valueOf(cal.getTimeInMillis())).write("\" class=\"")
            .write(week_of_year_text).write("\">").write(
            dfhandler.getCaptionByWeekOfYear(cal.getTime(), locale,
                timezone)).write("</span></div>");
        cal.add(Calendar.DAY_OF_MONTH, 7);
      }
      wh.write("</div>");
    }
   
    //events content
    wh.write("<div id=\"").write(uuid).write("!cnt\" class=\"").write(month_body)
    .write("\">");


    // reset date
    cal.setTime(begin);

    Calendar current = Calendar.getInstance(timezone);
    int today_year = current.get(Calendar.YEAR);
    int today_day = current.get(Calendar.DAY_OF_YEAR);

    // current date
    current.setTime(self.getCurrentDate());
    int curMonth = current.get(Calendar.MONTH);

    final EventRender render = self.getEventRender();

    Map<String, List<CalendarEvent>> dayMap = new HashMap<String, List<CalendarEvent>>();

    for (int j = 0; j < weeks; j++) {
      wh.write("<div class=\"").write(month_week).write("\" style=\"top:")
        .write((number * j)).write("%; height:").write(number).write("%;\">");

      // the background of day of month
      wh.write("<table class=\"").write(day_of_month_bg)
        .write("\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr>");

      for (int i = 0; i < 7; i++) {
        wh.write("<td class=\"");

        if (weekend[0] == i || weekend[1] == i)
          wh.write(" ").write(week_weekend);

        if (today_year == cal.get(Calendar.YEAR) &&
            today_day == cal.get(Calendar.DAY_OF_YEAR))
          wh.write(" ").write(week_today);

        wh.write("\">&nbsp;</td>");
        cal.add(Calendar.DAY_OF_MONTH, 1);
      }

      wh.write("</tr></tbody></table>");

      // the body of day of month
      wh.write("<table class=\"").write(day_of_month_body)
      .write("\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr>");


      // reset date
      cal.add(Calendar.DAY_OF_MONTH, -7);

      // the title of day of week
      for (int i = 0; i < 7; i++) {
        wh.write("<td class=\"").write(month_date);

        if (weekend[0] == i || weekend[1] == i)
          wh.write(" ").write(week_weekend);

        if (today_year == cal.get(Calendar.YEAR) &&
            today_day == cal.get(Calendar.DAY_OF_YEAR)) {
          wh.write(" ").write(week_today);
        }

        if (curMonth != cal.get(Calendar.MONTH))
          wh.write(" ").write(month_date_off);
       
        cal.set(Calendar.MILLISECOND, 0);
        Date d = cal.getTime();
        wh.write("\" z.bd=\"").write(String.valueOf(d.getTime())).write("\" z.pt=\"")
          .write(dfhandler.getCaptionByPopup(d, locale, timezone))
          .write("\"><span class=\"")
          .write(month_date_cnt).write("\">")
          .write(dfhandler.getCaptionByDateOfMonth(d, locale, timezone))
          .write("</span></td>");

        cal.add(Calendar.DAY_OF_MONTH, 1);
      }
      wh.write("</tr>");
View Full Code Here

    Calendar etmp = Calendar.getInstance(timezone);
    int today_year = current.get(Calendar.YEAR);
    int today_day = current.get(Calendar.DAY_OF_YEAR);
    cal.setTime(begin);

    final DateFormatter dfhandler = self.getDateFormatter();
    int[] weekend = new int[]{-1, -1, -1};
   
    // day-of-week
    for (int index = 0, j = 0; j < days; ++j) {
      String content = dfhandler.getCaptionByDate(cal.getTime(), locale, timezone);
      wh.write("<th z.time=\"").write(String.valueOf(cal.getTimeInMillis()))
        .write("\" title=\"").write(content).write("\" class=\"").write(day_of_week).write("\"><div class=\"")
        .write(day_of_week_inner);

      if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY ||
          cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
        weekend[index++] = j;
        wh.write(" ").write(week_weekend);
      }
      if (weekend[2] == -1 && today_year == cal.get(Calendar.YEAR) &&
          today_day == cal.get(Calendar.DAY_OF_YEAR)) {
        weekend[2] = j;
        wh.write(" ").write(week_today);
      }

      wh.write("\"><span class=\"").write(day_of_week_cnt).write("\">")
        .write(content)
        .write("</span></div></th>");
      cal.add(Calendar.DAY_OF_WEEK, 1);
    }
    wh.write("<th class=\"").write(day_of_week_end).write("\">&nbsp;</th>");
    wh.write("</tr>");

    // daylong
    wh.write("<tr class=\"").write(daylong).write("\">")
      .write("<td class=\"").write(daylong_body).write("\" colspan=\"")
      .write(days).write("\"><div id=\"").write(uuid).write("!daylong\" class=\"")
      .write(daylong_inner).write("\"><table class=\"").write(daylong_cnt)
      .write("\" cellpadding=\"0\" cellspacing=\"0\"><tbody>");

    // separator date
    cal.setTime(begin);

    SimpleDateFormat sdfKey = new SimpleDateFormat("yyyy/MM/dd");
    sdfKey.setTimeZone(timezone);
    List<List<CalendarEvent>> daylongList = new LinkedList<List<CalendarEvent>>();
    Map<String, List<CalendarEvent>> dayMap = new HashMap<String, List<CalendarEvent>>();
    int[] daylongCnt = new int[days];
    for (int day = 0; day < days; ++day) {
      cal.set(Calendar.MILLISECOND, 0);
      Date curDate = cal.getTime();
      List<CalendarEvent> evts = self.getEvent(curDate);

      List<CalendarEvent> list = new LinkedList<CalendarEvent>();
      for (CalendarEvent ce : evts) {
        Date bd = ce.getBeginDate();
        Date ed = ce.getEndDate();
        double rests = (ed.getTime() - curDate.getTime())/ 1000;
        btmp.setTime(bd);
        etmp.setTime(ed);
        if ((bd.before(curDate)) ||  btmp.get(Calendar.YEAR) != etmp.get(Calendar.YEAR)
            || (btmp.get(Calendar.DAY_OF_YEAR) != etmp.get(Calendar.DAY_OF_YEAR)
            && (etmp.get(Calendar.HOUR_OF_DAY) != 0 || etmp.get(Calendar.MINUTE) != 0))
            || (ed.getTime() - bd.getTime() >= ONE_DAY*1000 &&
            rests >= ONE_DAY)) {
          daylongCnt[day]++;
          for (double y = 1, x = rests/ONE_DAY; y < x && y + day < days; y++) {
            int size = day+(int)y;
            daylongCnt[size]++;
          }
          list.add(ce);
        } else {
          String key = sdfKey.format(curDate);
          List<CalendarEvent> dayList = dayMap.get(key);
          if (dayList == null) {
            dayList = new LinkedList<CalendarEvent>();
            dayMap.put(key, dayList);
          }
          dayList.add(ce);
        }
      }
      daylongList.add(list);
      cal.add(Calendar.DAY_OF_WEEK, 1);
    }

    int maxSize = 0;
    for (int i = 0; i < daylongCnt.length; i++)
        if (maxSize < daylongCnt[i]) maxSize = daylongCnt[i];

    // fill the event of the daylong
    for (int r = 0; r < maxSize; r++) {

      // reset date
      cal.setTime(begin);

      wh.write("<tr>");
      int c = 0, total = days;
      for (Iterator it = daylongList.iterator(); it.hasNext();c++) {
        List<CalendarEvent> list = (List<CalendarEvent>)it.next();
        cal.set(Calendar.MILLISECOND, 0);
        Date curDate = cal.getTime();
        wh.write("<td class=\"").write(daylong_evt).write("\"");
        if (list.size() > 0) {
          CalendarEvent ce = list.remove(0);
          double rests = (ce.getEndDate().getTime() - curDate.getTime())/ 1000;
          int colspan = 1;
          for (double y = 1, x = rests/ONE_DAY; y < x && y + c < days; y++)
            colspan++;

          total -= colspan;
          if (total < 0) colspan += total;

          wh.write(" colspan=\"").write(colspan).write("\"").write(">");
          wh.write(render.drawAllDay(self, ce, self.getCalendarEventId(ce)));
          while(--colspan > 0 && it.hasNext()) {
            it.next();
            cal.add(Calendar.DAY_OF_WEEK, 1);
          }
        } else {
          total--;
          wh.write(">&nbsp;");
        }

        cal.add(Calendar.DAY_OF_WEEK, 1);

        wh.write("</td>");
      }
      wh.write("</tr>");
    }

    // the end of daylong
    wh.write("<tr>");
    for (int j = 0; j < days; ++j)
      wh.write("<td class=\"").write(daylong_evt).write(' ').write(daylong_more).write("\">&nbsp;</td>");

    wh.write("</tr>");

    wh.write("</tbody></table></div>")
      .write("</td></tr>");

    // the end of daylong
    wh.write("<tr><td colspan=\"").write(days).write("\" class=\"").write(daylong_end).write("\">&nbsp;</td></tr>");

    // the end of week header
    wh.write("</tbody></table></div>");

    // week content
    wh.write("<div id=\"").write(uuid).write("!cnt\" class=\"").write(week_body)
      .write("\">");

    boolean isIE = Executions.getCurrent().isBrowser("ie");

    if (isIE)
      wh.write("<table cellpadding=\"0\" cellspacing=\"0\" style=\"table-layout:fixed;\"><tbody><tr><td>");

    wh.write("<table class=\"").write(week_cnt)
      .write("\" cellpadding=\"0\" cellspacing=\"0\"><tbody>");

    // hours separator
    wh.write("<tr>");
    for (int i = 0; i < zones.size(); i++) {
      wh.write("<td class=\"").write(tzone);
      if (i + 1 == zones.size())
        wh.write(" ").write(tzone_end);
      wh.write("\"></td>");
    }

    wh.write("<td colspan=\"").write(days).write("\"><div class=\"")
      .write(hour).write("\"><div class=\"").write(hour_inner).write("\">");

    for (int k = 0; k < 24; k++)
      wh.write("<div class=\"").write(hour_sep).write("\"></div>");

    // the end of hours separator
    wh.write("</div></div></td></tr>");

    // the content of day
    wh.write("<tr>");


    current.set(Calendar.MINUTE, 0);
    for (Iterator it = zones.entrySet().iterator(); it.hasNext();) {
      Map.Entry me = (Map.Entry)it.next();
      wh.write("<td class=\"").write(tzone);

      if (!it.hasNext())
        wh.write(" ").write(tzone_end);

      wh.write("\">");
      for(int k = 0; k < 24; k++) {
        current.set(Calendar.HOUR_OF_DAY, k);
        wh.write("<div class=\"").write(hour_of_day).write("\">");
        wh.write(dfhandler.getCaptionByTimeOfDay(current.getTime(), locale, (TimeZone)me.getKey()));
        wh.write("</div>");
      }
      wh.write("</td>");
    }

View Full Code Here

        cal.setTime(endDate);
        smartUpdate("woy", String.valueOf(cal.get(Calendar.WEEK_OF_YEAR)));
      }
    }
   
    DateFormatter dfhandler = getDateFormatter();   
    if(dfhandler == null) return;
    final Locale locale = Locales.getCurrent()
    cal.setTime(beginDate);
   
    if (inMonthMold()) {
View Full Code Here

      .append("><div class=\"").append(inner).append("\"")
      .append(headerStyle).append(">");
   
    String title = self.getTitle();
    if (Strings.isEmpty(title)) {
      DateFormatter df = cal.getDateFormatter();
      Locale locale = Locales.getCurrent();
      TimeZone timezone = cal.getDefaultTimeZone();
      Date begin = self.getBeginDate();
      Date end = self.getEndDate();
      if (end.getTime() - begin.getTime() < 60*60*1000) {
        title = df.getCaptionByTimeOfDay(begin, locale, timezone)
          + " - " + self.getContent();
      } else
        title = df.getCaptionByTimeOfDay(begin, locale, timezone)
          + " - " + df.getCaptionByTimeOfDay(end, locale, timezone);     
    }
    // title
    wh.append("<dl id=\"").append(id).append("!inner\"").append(contentStyle)
      .append("><dt id=\"").append(id).append("!hd\" class=\"").append(header)
      .append("\"").append(headerStyle)
View Full Code Here

    final String month = zcls + "-month";
    final String header = zcls + "-header";
    final String content = zcls + "-cnt";
   
   
    DateFormatter df = cal.getDateFormatter();
    StringBuffer wh = new StringBuffer();
    wh.append("<div id=\"").append(id).append("\" z.type=\"Calevent\" class=\"")
      .append(zcls).append(" ").append(month).append("\"");
    wh.append(" z.zcls=\"").append(zcls).append("\"");
    wh.append(" z.bd=\"").append(self.getBeginDate().getTime()).append("\"");
    wh.append(" z.ed=\"").append(self.getEndDate().getTime()).append("\"");
    if (self.isLocked())
      wh.append(" z.locked=\"true\"");
   
   
    wh.append(">");
   
    // title
    wh.append("<span id=\"").append(id).append("!hd\" class=\"").append(header)
      .append("\"").append(headerStyle)
      .append(">").append(df.getCaptionByTimeOfDay(self.getBeginDate(),
          Locales.getCurrent(), cal.getDefaultTimeZone())).append("&nbsp;</span>");
   

    // content
    wh.append("<span id=\"").append(id).append("!cnt\" class=\"").append(content)
View Full Code Here

        cal.setTime(beginDate);
        smartUpdate("woy", String.valueOf(cal.get(Calendar.WEEK_OF_YEAR)));
      }
    }
   
    DateFormatter dfhandler = getDateFormatter();   
    if(dfhandler == null) return;
    final Locale locale = Locales.getCurrent()
    cal.setTime(beginDate);
   
    if (inMonthMold()) {
View Full Code Here

        cal.setTime(beginDate);
        smartUpdate("woy", String.valueOf(cal.get(Calendar.WEEK_OF_YEAR)));
      }
    }
   
    DateFormatter dfhandler = getDateFormatter();   
    if(dfhandler == null) return;
    final Locale locale = Locales.getCurrent()
    cal.setTime(beginDate);
   
    if (inMonthMold()) {
View Full Code Here

    // header
    String title = self.getTitle();
   
    if (Strings.isEmpty(title)) {
      DateFormatter df = cal.getDateFormatter();
      Locale locale = Locales.getCurrent();     
      Date begin = self.getBeginDate();
      Date end = self.getEndDate();
      if (end.getTime() - begin.getTime() < 60*60*1000) {
        title = df.getCaptionByTimeOfDay(begin, locale, timezone)
          + " - " + self.getContent();
      } else
        title = df.getCaptionByTimeOfDay(begin, locale, timezone)
          + " - " + df.getCaptionByTimeOfDay(end, locale, timezone);     
    }
    // title
    wh.append("<dl id=\"")
        .append(id)
        .append("!inner\"")
View Full Code Here

TOP

Related Classes of org.zkoss.calendar.api.DateFormatter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.