2014-01-17 74 views
1

我正嘗試使用自定義休息服務來填充iNotes日曆控件。剩下的服務正在返回我需要的json,但無論我做什麼,它都不會填充日曆。看看extlib演示也沒有真正解決這個問題。如何使用帶自定義休息服務的iNotes日曆

新增 - 我想使用非郵件應用程序,所以我有在日曆視圖上使用必要的字段。但我想要自定義視圖休息服務的主要原因是能夠根據位置和部門進行過濾。

以下是我的xPage的代碼,它具有REST控件,CalendarStore控件和iNotes CalendarView控件。我還補充了其餘服務返回的條目

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
xmlns:xc="http://www.ibm.com/xsp/custom" 
xmlns:xe="http://www.ibm.com/xsp/coreex"> 

<xe:restService id="restService1" pathInfo="inoteslegacyjson"> 
    <xe:this.service> 
     <xe:viewJsonLegacyService viewName="Calendar"> 
      <xe:this.columns> 
       <xe:restViewColumn columnName="DEPT" loaded="true" 
        name="dept"> 
       </xe:restViewColumn> 
       <xe:restViewColumn columnName="startDate" 
        name="CalendarDateTim" loaded="true"> 
       </xe:restViewColumn> 
       <xe:restViewColumn columnName="$147" loaded="true" 
        name="Subject"> 
       </xe:restViewColumn> 
      </xe:this.columns> 
     </xe:viewJsonLegacyService> 
    </xe:this.service> 
</xe:restService> 
<xe:notesCalendarStore id="notesCalendarStore1" 
    dojoType="xpagesext.CalendarStore"> 
<xe:this.dojoAttributes> 
    <xp:dojoAttribute name="pathInfo" value="/inoteslegacyjson"> 
    </xp:dojoAttribute> 
</xe:this.dojoAttributes></xe:notesCalendarStore> 
<xe:calendarView id="calendarView1" 
    storeComponentId="notesCalendarStore1" type="M"> 
</xe:calendarView></xp:view> 

{ 
@timestamp: "20140122T180515" 
@toplevelentries: "58" 
    -viewentry: [ 
     -{ 
     @unid: "85257C210070DA5C85257C24006DD996" 
     @noteid: "8FA" 
     @position: "1" 
     @read: "true" 
     @siblings: "58" 
-entrydata: [ 
-{ 
@columnnumber: "0" 
@name: "dept" 
-text: { 
0: "Information Services" 
} 
} 
-{ 
@columnnumber: "1" 
@name: "CalendarDateTim" 
-datetime: { 
0: "20131129T180515" 
} 
} 
-{ 
@columnnumber: "2" 
@name: "Subject" 
-text: { 
0: "Linda Berry - PTO" 
} 
} 
] 
} 
+3

請將您的代碼的基本部分添加到您的問題中。 –

+0

您可能還想將其分成兩個問題 - 一個用於數據不顯示,另一個用於調整樣式...如果您爲後一個問題創建了單獨的問題,請替換「更具響應性」和「確定大小「與一些額外的特異性。 ;) –

+0

這聽起來像你的情況可能會做一些完全不同的事情,那些在頁面上試用的東西「/XPagesExt.nsf/DWA_iNotesRest.xsp」或「/XPagesExt.nsf/DWA_LocalCalendarView.xsp」,對吧?如果是這樣,我們可能在這裏有一個錯誤。 –

回答

3

我同意蒂姆將你的問題分成兩個單獨的問題。我知道與視圖沒有響應窗口大小的問題。因此,如果您在較小的窗口中打開日曆,並希望更改爲全屏,則日曆保持小尺寸並添加一些空白區域。在這裏我對這個問題的短期解決方案:

爲了使您的iNotesCalendar反應更靈敏,你可以使用Dojo增加您的XPage底部這段代碼的功能連接到你的窗口:

<script type="text/javascript"> 
    function resizeCalendar() { 
     cview.resize(); 
    }; 

    dojo.addOnLoad(function() { 
     dojo.connect(window, 'resize',resizeCalendar); 
    }); 
</script> 

此客戶端腳本調整您的日曆對象的調整大小功能,當您的窗口被調整大小時。 cview是您的<xe:calendarView id="calendarView" jsId="cview">jsId

2)你的Json entrydata []似乎有點小。您的日曆視圖是否會對您的商店進行註冊?將jsId添加到您的<xe:calendarView>在jsId._stores [0] .items下的DOM選項卡中使用Firebug,您應該可以找到當前查看月份的所有日曆條目。如果沒有顯示您的json的項目無效或缺少數據。如果您可以看到項目,請檢查數據startDateTime,輸入,主題,單一...如果有遺漏或無效。