// bind template to controller class Frame: LSWSkyrixFrame {} Window: LSWWindowFrame { title = labels.persons_window_title; onClose = session.navigation.leavePage; } Form: WOForm { name = "searchform"; action = personSearch; } Font: SkyConfigFont {} ShowsBulkOps: WOConditional { condition = showsBulkOps; } BulkOps: OGoCompanyBulkOpPanel { dataSource = dataSource; labels = labels; isVisible = showsBulkOps; } PersonList: SkyPersonList { dataSource = dataSource; favoritesKey = "person_favorites"; onFavoritesChange = updateFavorites; configKey = activeConfigKey; isInConfigMode = isInConfigMode; } Buttons: SkyButtonRow { ordering = ( print, config, bulk, gathering, import, email, new ); onNew = newPerson; onGathering = gathering; new = labels.new; tipNew = labels.new; gathering = labels.gathering; hasImport = YES; import = labels.import; onImport = import; config = labels.config; onConfig = showColumnConfigEditor; print = labels.print; onPrint = printList; targetPrint = "SkyrixPrintView"; bulk = labels.bulk; onBulk = showBulkOperations; email = labels.email; onEmail = showMailer; } // TODO: why not 'hasRemoveTab'? CustomButtons: SkyButtonRow { ordering = ( print, config, bulk, gathering, import, email, removetab ); onNew = newPerson; onGathering = gathering; new = labels.new; tipNew = labels.new; gathering = labels.gathering; hasImport = YES; import = labels.import; onImport = import; hasRemovetab = YES; removetab = labels.removeTab; onRemovetab = removeTab; config = labels.config; onConfig = showColumnConfigEditor; print = labels.print; onPrint = printList; targetPrint = "SkyrixPrintView"; bulk = labels.bulk; onBulk = showBulkOperations; email = labels.email; onEmail = showMailer; } HasSearchedCond: WOConditional { condition = hasSearched; } AdvancedSearch: LSWPersonAdvancedSearch { hasSearched = hasSearched; qualifier = qualifier; maxSearchCount = maxSearchCount; userDefaultKey = "person_custom_qualifiers"; } FullSearch: LSWFullSearch { searchString = searchText; qualifier = qualifier; isSearchLimited = isSearchLimited; limitedString = limitedSearchLabel; } SearchField: WOTextField { name = "search"; value = searchText; } SearchSubmit: WOSubmitButton { action = personSearch; value = labels.searchButtonLabel; class = "button_narrow"; } IsSearchLimited: WOConditional { condition = isSearchLimited; } LimitedLabel: WOString { value = limitedSearchLabel; } /* tabs */ TabBody: SkyTabView { selection = tabKey; } SearchTab: SkySimpleTabItem { key = "personSearch"; action = tabClicked; label = labels.searchPersonTabLabel; } AdvSearchTab: SkySimpleTabItem { key = "advancedSearch"; action = tabClicked; label = labels.advancedSearchTab; } FullSearchTab: SkySimpleTabItem { key = "search"; action = tabClicked; label = labels.fullSearchTab; } FavoritesTab: SkySimpleTabItem { key = "_favorites_"; label = labels.favorites; action = viewFavorites; } CustomTabs: WORepetition { list = savedSearches; item = item; index = itemIndex; } CustomTab: SkySimpleTabItem { key = itemIndex; label = customTabLabel; action = customTabClicked; } CustomLabel: SkyRichString { value = searchTitle; } CustomSavedSearchPopUp: SkyCompanySavedSearchPopUp { qualifier = qualifier; maxSearchCount = maxSearchCount; userDefaultKey = "person_custom_qualifiers"; searchSelected = searchSelected; searchTitle = searchTitle; updateQualifier = YES; } // load/save search SavedSearchPopUp: SkyCompanySavedSearchPopUp { qualifier = qualifier; maxSearchCount = maxSearchCount; hasSearched = hasSearched; recommendedTitle = searchText; userDefaultKey = "person_custom_qualifiers"; searchSelected = searchSelected; searchTitle = searchTitle; } LetterTab: SkySimpleTabItem { key = item; action = letterClicked; label = item; } LetterRepetition: WORepetition { item = item; list = ("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"); } ShowLetterButtons: WOConditional { condition = shouldShowLetterButtons; }