// bind template to controller // WOx todo: // - JavaScript focus (move to own .js resource?) // - SkyCalendarScript? // - LSWObjectEditor? Frame: LSWSkyrixFrame {} Window: LSWWindowFrame { title = labels.personeditor_title; onClose = cancel; } Calendar: SkyCalendarScript {} PersonForm : WOForm { name = "personEditor"; enctype = "multipart/form-data"; // required for picture upload } CommonAttributes: LSWObjectEditor { labels = labels; object = person; showOnly = attributes; attributes = ( { key = "name"; label = "lastName"; }, { key = "middlename"; label = "middlename"; }, { key = "firstname"; label = "firstName"; }, { key = "nickname"; label = "nickname"; }, { key = "degree"; label = "degree"; }, { key = "salutation"; label = "salutation"; isLocalized = YES; valueKeys = ( "01_dear_ms", "02_dear_mrs", "03_dear_mr", "04_dear_prof", "05_dear_dr", "06_geehrt_herr", "07_geehrt_frau", "08_geehrt_herr_prof", "09_geehrt_herr_dr", "10_geehrt_frau_prof", "11_geehrt_frau_dr", "12_monsieur", "13_madame", "14_signora", "15_signore" ); }, { key = "sex"; label = "sex"; isLocalized = YES; valueKeys = ( "female", "male", "undefined" ); }, { key = "url"; label = "url"; nilString = "http://" }, { key = "birthday"; label = "birthday"; calendarFormat = "%Y-%m-%d"; couldNotFormat = "couldNotFormatBirthday"; },); } Telephones: SkyPhoneSubEditor { document = person; showOnly = attributes; } ExtendedAttributes: SkyExtendedAttrsSubEditor { document = person; showOnly = attributes; } AddressTypes: WOTable { list = addressTypes; item = addressType; maxColumns = "2"; width = "100%"; } Address: SkyAddressSubEditor { document = addressDocument; showOnly = attributes; } ShowCommentCond: WOConditional { condition = showComment; } ShowContactCond: WOConditional { condition = showContact; } ShowCategoryCond: WOConditional { condition = showCategory; } Comment: SkyCommentSubEditor { document = person; } Contact: SkyContactSubEditor { document = person; } Category: SkyCategorySubEditor { document = person; } EditorButtons: SkyEditorButtons {}