// bind template to controller class Frame: LSWSkyrixFrame { } Window: LSWWindowFrame { title = labels.projects; onClose = session.navigation.leavePage; } Buttons: SkyButtonRow { ordering = ( new, update ); onUpdate = refetch; onNew = newProject; update = labels.update; new = labels.new; } /* tabs */ TabView: SkyTabView { selection = session.userDefaults.skyp4_desktop_tab; } FavoritesTab: SkySimpleTabItem { key = "favorites"; label = labels.favorites; } SearchTab: SkySimpleTabItem { key = "search"; label = labels.search; } DocumentsTab: SkySimpleTabItem { key = "documents"; label = labels.documents; } FavoriteProjects: SkyP4ProjectTableView { dataSource = favoriteDataSource; } SearchProjects: SkyP4ProjectTableView { dataSource = searchDataSource; } /* tabs */ Tabs: WORepetition { list = tabs; item = currentTab; } Tab: SkySimpleTabItem { key = currentTab.key; label = currentTabLabel; } TabTableView: SkyP4ProjectTableView { dataSource = tabDataSource; } TabQuickList: OGoProjectQuicklist { dataSource = tabDataSource; } IsQuickViewActive: WOConditional { condition = isQuickViewActive; } IsListViewActive: WOConditional { condition = isListViewActive; } QSelLink: WOHyperlink { action = showQuickView; } LSelLink: WOHyperlink { action = showListView; } ToggleCell: WOGenericContainer { elementName = "td"; ALIGN = "left"; VALIGN = "middle"; BGCOLOR = config.colors_mainButtonRow; WIDTH = "4%"; } SearchCell: WOGenericContainer { elementName = "td"; ALIGN = "left"; VALIGN = "middle"; BGCOLOR = config.colors_mainButtonRow; WIDTH = "40%"; } ButtonCell: WOGenericContainer { elementName = "td"; //COLSPAN = "2"; ALIGN = "right"; BGCOLOR = config.colors_mainButtonRow; } QuickViewIcon: WOImage { filename = "icon_apt_chart.gif"; BORDER = "0"; VALIGN = "TOP"; ALT = labels.quickview; title = labels.quickview; } ListViewIcon: WOImage { filename = "icon_apt_list.gif"; BORDER = "0"; VALIGN = "TOP"; ALT = labels.list; title = labels.list; } /* Selected Projects */ Name: SkyRichString { value = labels.name; } SearchField: WOTextField { value = searchString; size = 60; // style = textFieldStyle; } SearchButton: WOSubmitButton { action = searchProjects; name = labels.search; value = labels.search; class = "button_narrow"; } SearchForm: WOForm { action = searchProjects; name = "searchform"; } ExtendedSearchComponent: WOCollapsibleComponentContent { condition = NO; visibility = firstVisibility; openedLabel = labels.extendedSearch; closedLabel = labels.extendedSearch; openedImageFileName = "expanded.gif"; closedImageFileName = "collapsed.gif"; // submitActionName = clearClicks; } IsCloseCondition: WOConditional { condition = firstVisibility; } Title: WOString { value = labels.subject; } FileName: WOString { value = labels.fileName; } Extension: WOString { value = labels.extension; } TitleField: WOTextField { value = title; size = 60; // style = textFieldStyle; } FileNameField: WOTextField { value = fileName; size = 60; // style = textFieldStyle; } ExtensionField: WOTextField { value = extension; size = 60; // style = textFieldStyle; } IsExtendedSearchElse: WOConditional { condition = isExtendetSearch; negate = YES; } IsExtendedSearch: WOConditional { condition = isExtendetSearch; } ExtendedSearchTableView: SkyTableView { // list = searchProjectArray; dataSource = documentDS; item = item; previousItem = prevItem; showGroup = showGroup; groups = item.project; cacheTimeout = 60; showGroupTitle = YES; } TitleMode: WETableViewTitleMode {} FooterMode: WETableViewFooterMode {} ButtonMode: WETableViewButtonMode {} GroupMode: WETableViewGroupMode { didMatch = didMatch; } ProjectsLabel: WOString { value = labels.projects; } GroupName: WERichString { value = item.projectName; isItalic = YES; } GroupNumber: WERichString { value = item.projectNumber; // isItalic = YES; } PCode: WETableData { title = labels.code; sortKey = "number"; string = item.project.number; isGroup = isGroup; } PName: WETableData { title = labels.name; sortKey = "name"; // isGroup = isGroup; } Font: SkyConfigFont {}; NameLink: WOHyperlink { action = clickedProject; string = item.project.name; } FileSizeTD: WETableData { title = labels.size; sortKey = "NSFileSize"; string = item.NSFileSize; } FileOwnerTD: WETableData { title = labels.currentOwner; sortKey = "NSFileOwnerAccountName"; //string = currentFile.color; string = item.NSFileOwnerAccountName; } FileModDateTD: WETableData { title = labels.modified; sortKey = "NSFileModificationDate"; } ModDateField: SkyDateField { date = item.NSFileModificationDate; } FileTitleTD: WETableData { title = labels.subject; sortKey = "NSFileSubject"; string = item.NSFileSubject; } IsFileNotDir: WOConditional { condition = item.NSFileType; value = "NSFileTypeRegular"; } IsFileDir: WOConditional { condition = item.NSFileType; value = "NSFileTypeDirectory"; } FileDownload: SkyP4DownloadLink { projectId = item.NSFileSystemNumber; documentPath = item.NSFilePath; } FileIcon: SkyP4DocumentIcon { projectName = item.NSFileSystemName; documentPath = item.NSFilePath; mimeType = item.NSFileMimeType; } FileNameLink: WOHyperlink { action = clickedFile; string = item.NSFileName; } FileNameTD: WETableData { title = labels.fileName; sortKey = "NSFileName"; } /* tabs loaded from bundles */ ExtTabs: WORepetition { list = bundleTabs; item = currentTab; } ExtTab: SkySimpleTabItem { key = currentTab.name; label = currentTab.labelKey; } ExtContent: WOComponentReference { component = tabComponent; }