Monotone-Parent: 64522cdf0fe1f7593f86b479ef7b5eb023ff16e1
Monotone-Revision: 094029cd312d7c4e4deaaf59771581fa91e8e8bc Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2006-08-03T21:23:30 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
f993d1cee8
commit
68a6ef4b86
|
@ -1,5 +1,8 @@
|
|||
2006-08-03 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* UI/Contacts/UIxContactsFilterPanel.m: clone of
|
||||
UIxMailFilterPanel, but applicable to contact lists.
|
||||
|
||||
* SoObjects/Contacts/NSDictionary+Contact.m ([NSDictionary
|
||||
-vcardContentFromSOGoContactRecord]): use the new standard methods
|
||||
created for each type of entry. If a line is determined to not
|
||||
|
|
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
Copyright (C) 2000-2005 SKYRIX Software AG
|
||||
|
||||
This file is part of OpenGroupware.org.
|
||||
|
||||
OGo is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU Lesser General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option) any
|
||||
later version.
|
||||
|
||||
OGo is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||
License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with OGo; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <NGObjWeb/WOComponent.h>
|
||||
|
||||
@interface UIxContactsFilterPanel : WOComponent
|
||||
{
|
||||
NSString *searchText;
|
||||
NSString *searchCriteria;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
#include <SOGoUI/UIxComponent.h>
|
||||
#include "common.h"
|
||||
|
||||
@implementation UIxContactsFilterPanel
|
||||
|
||||
static NSArray *filters = nil;
|
||||
|
||||
+ (void)initialize {
|
||||
NSMutableDictionary *md;
|
||||
NSMutableArray *ma;
|
||||
unsigned i;
|
||||
|
||||
md = [[NSMutableDictionary alloc] initWithCapacity:8];
|
||||
ma = [[NSMutableArray alloc] initWithCapacity:4];
|
||||
|
||||
filters = [ma copy];
|
||||
[md release]; md = nil;
|
||||
[ma release]; ma = nil;
|
||||
}
|
||||
|
||||
- (id) init
|
||||
{
|
||||
if ((self = [super init]))
|
||||
{
|
||||
searchText = nil;
|
||||
searchCriteria = nil;
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[self->searchCriteria release];
|
||||
[self->searchText release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
/* accessors */
|
||||
|
||||
- (void)setSearchText: (NSString *)_txt
|
||||
{
|
||||
ASSIGNCOPY(self->searchText, _txt);
|
||||
}
|
||||
|
||||
- (void)setSearchCriteria: (NSString *)_txt
|
||||
{
|
||||
ASSIGNCOPY(self->searchText, _txt);
|
||||
}
|
||||
|
||||
- (NSString *)searchText
|
||||
{
|
||||
if (self->searchText == nil)
|
||||
{
|
||||
self->searchText =
|
||||
[[[[self context] request] formValueForKey:@"search"] copy];
|
||||
}
|
||||
return self->searchText;
|
||||
}
|
||||
|
||||
- (NSString *)searchCriteria
|
||||
{
|
||||
if (self->searchCriteria == nil)
|
||||
{
|
||||
self->searchCriteria =
|
||||
[[[[self context] request] formValueForKey:@"criteria"] copy];
|
||||
}
|
||||
return self->searchCriteria;
|
||||
}
|
||||
|
||||
/* filters */
|
||||
|
||||
- (NSArray *) filters
|
||||
{
|
||||
return filters;
|
||||
}
|
||||
|
||||
/* qualifiers */
|
||||
|
||||
- (NSString *) filterLabel
|
||||
{
|
||||
#if 1
|
||||
return [[[self context] page] labelForKey: [self valueForKey:@"filter"]];
|
||||
#else
|
||||
return [self valueForKey: @"filter"];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (NSString *) selectedFilter
|
||||
{
|
||||
return [[[self context] request] formValueForKey: @"filterpopup"];
|
||||
}
|
||||
|
||||
@end /* UIxContactsFilterPanel */
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version='1.0' standalone='yes'?>
|
||||
<container
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:var="http://www.skyrix.com/od/binding"
|
||||
xmlns:const="http://www.skyrix.com/od/constant"
|
||||
>
|
||||
<div class="menu" id="searchMenu">
|
||||
<ul id="searchOptions">
|
||||
<li id="name_or_address"
|
||||
onmousedown="return false;"
|
||||
onmouseup="setSearchCriteria(event);"><var:string label:value="Name or Address"/></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="filterPanel">
|
||||
<var:if condition="hideFrame" const:negate="YES"
|
||||
><span class="searchBox" style="float: right">
|
||||
<input id="searchCriteria" name="criteria" type="hidden" var:value="searchCriteria" />
|
||||
<input id="searchValue" onmousedown="onSearchMouseDown(event);" onclick="popupSearchMenu(event, 'searchMenu');" autocomplete="off" name="search" type="text" var:value="searchText" onchange="onSearchChange();" onblur="onSearchBlur();" onfocus="onSearchFocus(event);" />
|
||||
</span>
|
||||
|
||||
<script type="text/javascript">
|
||||
initCriteria();
|
||||
document.searchform.search.focus();
|
||||
</script>
|
||||
</var:if>
|
||||
</div>
|
||||
</container>
|
Loading…
Reference in New Issue