]> err.no Git - scalable-opengroupware.org/commitdiff
started TB look scheduler
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Tue, 15 Feb 2005 00:24:31 +0000 (00:24 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Tue, 15 Feb 2005 00:24:31 +0000 (00:24 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@566 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/UI/GNUmakefile
SOGo/UI/MailerContacts/mailercontacts.js
SOGo/UI/MailerScheduler/ChangeLog [new file with mode: 0644]
SOGo/UI/MailerScheduler/GNUmakefile [new file with mode: 0644]
SOGo/UI/MailerScheduler/MailerSchedulerUIProduct.m [new file with mode: 0644]
SOGo/UI/MailerScheduler/UIxMailCalWeekOverview.m [new file with mode: 0644]
SOGo/UI/MailerScheduler/UIxMailCalWeekOverview.wox [new file with mode: 0644]
SOGo/UI/MailerScheduler/Version [new file with mode: 0644]
SOGo/UI/MailerScheduler/common.h [new file with mode: 0644]
SOGo/UI/MailerScheduler/product.plist [new file with mode: 0644]

index c5afa11e55be54b8c7ce3bd2898962a41443d3c0..6e4c3422ead106a41ffbf5915b63978379421892 100644 (file)
@@ -12,6 +12,7 @@ SUBPROJECTS += \
 
 # experimental
 SUBPROJECTS += \
-       MailerContacts
+       MailerContacts  \
+       MailerScheduler
 
 include $(GNUSTEP_MAKEFILES)/aggregate.make
index 730caf82881540693a9112b0f0e4f675f26560fa..bb3a540cbb65ca0d353d76d075089fe366b20d67 100644 (file)
@@ -24,7 +24,7 @@ function openContact(sender, addruid) {
   var w;
   
   w = window.open(addruid + "/tb.edit", 'SOGo_addr_' + addruid,
-                 'width=540,height=320,resizable=1,scrollbars=1,toolbar=0,' +
+                 'width=540,height=340,resizable=1,scrollbars=1,toolbar=0,' +
                  'location=0,directories=0,status=0,menubar=0,copyhistory=0');
   w.focus();
   return false;
diff --git a/SOGo/UI/MailerScheduler/ChangeLog b/SOGo/UI/MailerScheduler/ChangeLog
new file mode 100644 (file)
index 0000000..413c7c3
--- /dev/null
@@ -0,0 +1,3 @@
+2005-02-15  Helge Hess  <helge.hess@opengroupware.org>
+
+       * created ChangeLog
diff --git a/SOGo/UI/MailerScheduler/GNUmakefile b/SOGo/UI/MailerScheduler/GNUmakefile
new file mode 100644 (file)
index 0000000..2967c8b
--- /dev/null
@@ -0,0 +1,32 @@
+# GNUstep makefile
+
+include ../common.make
+
+BUNDLE_NAME = MailerSchedulerUI
+
+MailerSchedulerUI_PRINCIPAL_CLASS = MailerSchedulerUIProduct
+
+MailerSchedulerUI_LANGUAGES = English French
+
+MailerSchedulerUI_OBJC_FILES += \
+       MailerSchedulerUIProduct.m      \
+       \
+       UIxMailCalWeekOverview.m        \
+
+MailerSchedulerUI_RESOURCE_FILES += \
+       Version                 \
+       product.plist           \
+
+MailerSchedulerUI_RESOURCE_FILES += \
+       UIxMailCalWeekOverview.wox      \
+
+MailerSchedulerUI_RESOURCE_FILES += \
+
+MailerSchedulerUI_LOCALIZED_RESOURCE_FILES +=
+
+# make
+
+-include GNUmakefile.preamble
+include $(GNUSTEP_MAKEFILES)/bundle.make
+-include GNUmakefile.postamble
+include ../../fhsbundle.make
diff --git a/SOGo/UI/MailerScheduler/MailerSchedulerUIProduct.m b/SOGo/UI/MailerScheduler/MailerSchedulerUIProduct.m
new file mode 100644 (file)
index 0000000..5fd430f
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+  Copyright (C) 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.
+*/
+
+#import <Foundation/NSObject.h>
+
+@interface MailerSchedulerUIProduct : NSObject
+{
+}
+
+@end
+
+#include "common.h"
+
+@implementation MailerSchedulerUIProduct
+@end /* MailerSchedulerUIProduct */
diff --git a/SOGo/UI/MailerScheduler/UIxMailCalWeekOverview.m b/SOGo/UI/MailerScheduler/UIxMailCalWeekOverview.m
new file mode 100644 (file)
index 0000000..bab35e0
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+  Copyright (C) 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 <UI/Scheduler/UIxCalWeekOverview.h>
+
+@interface UIxMailCalWeekOverview : UIxCalWeekOverview
+{
+}
+
+@end
+
+#include "common.h"
+
+@implementation UIxMailCalWeekOverview
+
+/* title */
+
+- (NSString *)panelTitle {
+  return [self labelForKey:@"Week Overview"];
+}
+
+@end /* UIxMailCalWeekOverview */
diff --git a/SOGo/UI/MailerScheduler/UIxMailCalWeekOverview.wox b/SOGo/UI/MailerScheduler/UIxMailCalWeekOverview.wox
new file mode 100644 (file)
index 0000000..b30a0ff
--- /dev/null
@@ -0,0 +1,141 @@
+<?xml version='1.0' standalone='yes'?>
+<var:component
+  xmlns="http://www.w3.org/1999/xhtml"
+  xmlns:var="http://www.skyrix.com/od/binding"
+  xmlns:const="http://www.skyrix.com/od/constant"
+  xmlns:uix="OGo:uix"
+  xmlns:rsrc="OGo:url"
+  xmlns:label="OGo:label"
+  className="UIxMailMainFrame"
+  title="panelTitle"
+>
+  <table class="titletable" cellspacing="0" cellpadding="0">
+    <tr>
+      <td class="titlecell">
+        <var:component className="UIxCalDateLabel"
+                       startDate="startDate" endDate="endDate"
+                       const:selection="week" />
+      </td>
+      <td class="titlecell" align="right"
+          style="width: 95%; padding-right: 1px;">
+        <var:component className="UIxCalBackForthNavView"
+                       methodName="ownMethodName"
+                       prevQueryParameters="prevWeekQueryParameters"
+                       currentQueryParameters="todayQueryParameters"
+                       nextQueryParameters="nextWeekQueryParameters"
+                       label:label="this week" />
+      </td>
+    </tr>
+  </table>
+
+  <br />
+  <!-- ************************************************** -->
+
+  <div style="width: 100%;">
+    <var:component className="AnaisUidSelector"
+                   calendarUIDs="clientObject.calendarUIDs" />
+  </div>
+  
+  <!-- ************************************************** -->
+
+    <var:component className="UIxCalSelectTab"
+                   const:selection="week"
+                   currentDate="selectedDate"
+    >
+        <table border="0" cellpadding="4" width="100%" cellspacing="2">
+          <tr>
+            <td width="1%" align="left" valign="middle" bgcolor="#e8e8e0">
+              <table border='0' cellpadding='0' cellspacing='0'>
+               <tr>
+                  <td><img rsrc:src="icon_view_overview_inactive.gif"
+                           label:title="Overview" label:alt="Overview"
+                           border="0" valign="top" /></td>
+                  <td><a href="weekchartview"
+                         var:queryDictionary="queryParameters"
+                      ><img rsrc:src="icon_view_chart.gif"
+                            label:title="Chart" label:alt="Chart"
+                            border="0" valign="top" /></a></td>
+                  <td><a href="weeklistview"
+                         var:queryDictionary="queryParameters"
+                      ><img rsrc:src="icon_view_list.gif"
+                            label:title="List" label:alt="List"
+                            border="0" valign="top" /></a></td>
+                  <td>
+                    <a href="weekcolumnsview"
+                       var:queryDictionary="queryParameters"
+                    ><img rsrc:src="icon_view_columns.gif"
+                          label:title="Columns" label:alt="Columns"
+                          border="0" valign="top" /></a>
+                  </td>
+               </tr>
+              </table>
+            </td>
+          </tr>
+        </table>
+
+    <var:week-overview list="appointments"
+                       item="appointment"
+                       weekStart="startDate"
+                       dayIndex="dayIndex"
+                       const:startDateKey="startDate"
+                       const:endDateKey="endDate"
+                       const:titleStyle="weekoverview_title"
+                       hideWeekend="shouldHideWeekend"
+                       contentStyle="contentStyle"
+    >
+      <var:week-title>
+        <table cellpadding="0" width="100%" border="0" cellspacing="0"
+               var:class="titleStyle">
+          <tr>
+            <td align="left" valign="top">
+              <a href="dayoverview"
+                 var:queryDictionary="currentDayQueryParameters"
+                 class="weekoverview_title_daylink"
+                 ><var:string value="currentDay.dayOfMonth"
+                              const:numberformat="02"
+                  /></a>
+            </td>
+            <td align="center" valign="top" width="97%">
+              <var:string value="currentDayName" /><br />
+                [<a href="new"
+                    var:queryDictionary="currentDayQueryParameters"
+                    class="weekoverview_title_newlink"
+                 ><var:string label:value="new" /></a>]
+            </td>
+          </tr>
+        </table>
+      </var:week-title>
+      <var:if condition="hasDayInfo">
+        <var:week-info>
+          <var:if condition="hasHolidayInfo">
+            <var:string value="holidayInfo" 
+                       const:class="weekoverview_holidayinfo" />
+          </var:if>
+          <var:foreach list="allDayApts" item="appointment">
+            <var:component className="UIxCalInlineAptView"
+                           appointment="appointment"
+                           formatter="aptFormatter"
+                           tooltipFormatter="aptTooltipFormatter"
+                           url="appointmentViewURL"
+                           style="aptStyle"
+                           queryDictionary="currentDayQueryParameters"
+                           canAccess="canAccessApt"
+            />
+            <br />
+          </var:foreach>
+        </var:week-info>
+      </var:if>
+      <var:week>
+        <var:component className="UIxCalInlineAptView"
+                       appointment="appointment"
+                       formatter="aptFormatter"
+                       tooltipFormatter="aptTooltipFormatter"
+                       url="appointmentViewURL"
+                       style="aptStyle"
+                       canAccess="canAccessApt"
+        />
+        <br />
+      </var:week>
+    </var:week-overview>
+  </var:component>
+</var:component>
diff --git a/SOGo/UI/MailerScheduler/Version b/SOGo/UI/MailerScheduler/Version
new file mode 100644 (file)
index 0000000..81d0f5a
--- /dev/null
@@ -0,0 +1,3 @@
+# version file
+
+SUBMINOR_VERSION:=3
diff --git a/SOGo/UI/MailerScheduler/common.h b/SOGo/UI/MailerScheduler/common.h
new file mode 100644 (file)
index 0000000..801da9c
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+  Copyright (C) 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.
+*/
+
+#import <Foundation/Foundation.h>
+
+#if LIB_FOUNDATION_LIBRARY
+#  include <Foundation/exceptions/GeneralExceptions.h>
+#elif NeXT_Foundation_LIBRARY || COCOA_Foundation_LIBRARY
+#  include <NGExtensions/NGObjectMacros.h>
+#  include <NGExtensions/NSString+Ext.h>
+#endif
+
+#include <NGExtensions/NGExtensions.h>
+#include <NGObjWeb/NGObjWeb.h>
+#include <NGObjWeb/SoObjects.h>
diff --git a/SOGo/UI/MailerScheduler/product.plist b/SOGo/UI/MailerScheduler/product.plist
new file mode 100644 (file)
index 0000000..8672c0d
--- /dev/null
@@ -0,0 +1,85 @@
+{
+  requires = ( MAIN, CommonUI, Appointments, MailerUI, SchedulerUI );
+
+  publicResources = (
+  );
+
+  factories = {
+  };
+
+  categories = {
+    SOGoAppointmentFolder = {
+      slots = {
+        toolbar = {
+          protectedBy = "View";
+          value = ( /* the toolbar groups */
+            ( /* first group */
+              {
+                link  = "#"; // no-op
+                cssClass = "tbicon_getmail"; label = "Get Mail";
+              },
+              {
+                link     = "new";
+                // onclick  = "clickedCompose(this);return false;";
+                cssClass = "tbicon_compose"; label = "New Event";
+              },
+/* enable if we actually can do that
+              { link  = "tb.compose"; target = "_blank";
+                cssClass = "tbicon_compose"; label = "Write"; },
+*/
+            ),
+            ( /* second group */
+              { // TODO: does not consider query parameters!
+               // TODO: icon
+                link     = "proposal";   target= "proposal";
+                cssClass = "tbicon_forward"; label = "Proposal";
+              },
+            ),
+            ( /* third group */
+              { // TODO: does not consider query parameters!
+               // TODO: icon
+                link  = "weekprintview";   target= "SOGoPrintView";
+                cssClass = "tbicon_print"; label = "Print";
+              },
+            ),
+          );
+        };
+      };
+      methods = {
+        "tb.view" = { /* primary entry for mailer actions */
+          protectedBy = "View";
+          pageName    = "UIxMailCalWeekOverview"; 
+        };
+        "tb.compose" = {
+          protectedBy = "View";
+          actionClass = "UIxMailEditorAction"; 
+          actionName  = "compose";
+        };
+      };
+    };
+
+    SOGoAppointmentObject = {
+      slots = {
+        toolbar = {
+          protectedBy = "View";
+          value = ( /* the toolbar groups */
+            ( /* first group */
+              { link  = "#"; 
+                onclick  = "clickedEditorSave(this);return false;";
+                cssClass = "tbicon_save"; label = "Save"; },
+              { link = "#"; 
+                onclick  = "clickedEditorDelete(this);return false;";
+                cssClass = "tbicon_delete"; label = "Delete"; },
+            )
+          );
+        };
+      };
+      methods = {
+        "tb.edit" = { 
+          protectedBy = "View";
+          pageName    = "UIxMailEventEditor"; 
+        };
+      };
+    };
+  };
+}