// bind template to controller // conditionals IsResCategorySelected: WOConditional { condition = isResCategorySelected; negate = YES; } IsViewAccessAllowed: WOConditional { condition = appointmentViewAccessAllowed; } IsViewAccessNotAllowed: WOConditional { condition = appointmentViewAccessAllowed; negate = YES; } UseDACond: WOConditional { condition = useDirectActionForView; } UseDACondElse: WOConditional { condition = useDirectActionForView; negate = YES; } // style TitleFont : WOGenericContainer { elementName = "font"; COLOR = config.colors_titleColor; } Font: SkyConfigFont {} NewAppointmentLinkFont : WOGenericContainer { elementName = "font"; COLOR = config.colors_newAppointmentLink; SIZE = "-4"; } TextColor: WOGenericContainer { elementName = "font"; COLOR = browserFontColor; } // matrix ChartMatrix: WEVSpanTableMatrix { // WOx: , TODO: array plist list = cacheDataSource.fetchObjects; item = appointment; columns = ( 0 ); rows = listOfTimes; column = isPadColumn; row = currentTime; itemActive = isAppointmentInCell; //noSpanInEmptyCells = YES; rowHeight = 8; WIDTH = "100%"; BORDER = 0; CELLPADDING = 5; CELLSPACING = 2; } ChartRowTitle: WETableMatrixLabel { elementName = "td"; position = "left"; //span = 2; BGCOLOR = config.colors_leftLabelCell; WIDTH = 2; } RowInfo: WOString { value = labelOfCurrentTime; } EmptyCell: WETableMatrixNoContent { elementName = "td"; BGCOLOR = config.colors_emptyCell; } ChartCell: WETableMatrixContent { elementName = "td"; BGCOLOR = config.colors_contentCell; VALIGN = "top"; } AptInfoIcon: WOImage { filename = dateCellIcon; BORDER = "0"; VALIGN = "top"; ALT = shortTextForApt; TITLE = shortTextForApt; } AptInfo: WOString { value = appointment; formatter = aptInfoFormatter; } DragApt: WEDragContainer { tag = "appointment"; object = appointment; isDraggable = isAppointmentDraggable; } ViewAptLink: WOHyperlink { directActionName = "viewApt"; ?oid = appointmentOID; ?entity = appointmentEntity; ?tz = appointment.startDate.timeZone.abbreviation; ?ctx = context.contextID; TITLE = shortTextForApt; } ViewAptAction: WOHyperlink { action = viewAppointment; TITLE = shortTextForApt; } // new apt NewAppointment: WOHyperlink { directActionName = "newApt"; ?year = day.yearOfCommonEra; ?month = day.monthOfYear; ?day = day.dayOfMonth; ?hour = currentTime.hourOfDay; ?minute = currentTime.minuteOfHour; ?tz = day.timeZone.abbreviation; ?ctx = context.contextID; } NewString: WOString { value = labels.new; } // Month-Browser Browser: SkyMonthBrowser { month = day.monthOfYear; year = day.yearOfCommonEra; months = 2; timeZone = day.timeZone; date = browserDate; isInMonth = browserDateInMonth; } BrowserDayLabel: WOString { value = browserDayLabel; } ViewDay: WOHyperlink { disabled = isDayDirectActionDisabled; directActionName = dayDirectActionName; ?year = browserDate.yearOfCommonEra; ?month = browserDate.monthOfYear; ?day = browserDate.dayOfMonth; ?tz = day.timeZone.abbreviation; }