2012-03-11 41 views
4

我也需要在extlib中過濾iNotes日曆控件。當我查看extlib應用程序中的示例時,我可以看到它假設連接到xecalendarJsonLegacyService。在extlib中過濾iNotes日曆

我發現這個服務的問題是我不能根據類別過濾內容,或者像其他視圖服務一樣搜索內容。

我需要根據視圖中的搜索或類別創建不同的日曆/ json數據。 我看了一些其他服務,但不知道是否有可能使用它們。

如果您對如何創建我的過濾器有任何想法,請回復。

我附上的圖片顯示了jsonservice和calendarcontrol。

enter image description here enter image description here

這是JSON數據是什麼樣的xsCalendarJsonLegacyService

{ 
    "@timestamp":"20120311T171603", 
    "@toplevelentries":"3", 
    "viewentry": 
    [ 
    { 
     "@unid":"37F0330979C04AF2C12579BE004F5629", 
     "@noteid":"32E1A", 
     "@position":"1", 
     "@read":"true", 
     "@siblings":"3", 
     "entrydata": 
     [ 
     { 
      "@columnnumber":"0", 
      "@name":"$134", 
      "datetime": 
      { 
       "0":"20120314T100000" 
      } 
     }, 
     { 
      "@columnnumber":"1", 
      "@name":"$149", 
      "number": 
      { 
       "0":119 
      } 
     }, etc... 

回答

0

我用Google搜索了很久,唯一的解決辦法I`ve發現的是建立自己的REST服務

你有沒有設法過濾日曆?

+0

不,我還沒有找到解決方案 – 2012-03-20 06:27:01

+0

我可以添加到這一點,我已經嘗試使用其他restservices,並設法得到與calenderjson服務完全相同的json數據,但後來我跑了很多其他javascript問題與dojo – 2012-03-26 12:41:53

1

你可以在擴展庫中實現你自己的REST服務(或擴展到現有的服務),但我想你正在尋找更容易的東西。

+1

我正在尋找的東西,工作,如果你想代表你需要提供代碼 – 2012-03-28 17:16:54

1

對不起沒有代碼,但也許(並希望)一個答案。 您是否看過Xpages Extension Library demo中的xc:CalendarStoreCustomRestService自定義控件?看起來他們將日曆控件連接到普通的JSON視圖存儲並支持搜索鍵。

+0

好。我會看看 – 2012-03-30 06:45:53

+0

無法真正瞭解如何使用它,發現一個自定義控件,但沒有xpage – 2012-04-03 10:11:25

1

我發現了可以使用的代碼,但您將不得不擴展自定義控件。我認爲這是一個新的組件,它還沒有被包含在擴展庫中的xe:組件中。

這是你如何使用控制:

<xc:CalendarStoreCustomRestService id="cc4ccCalendarStoreCustomRestService" 
    storeComponentId="notesCalendarStore1" databaseName="#{sessionScope.databaseName}" 
    viewName="($Calendar)"> 

</xc:CalendarStoreCustomRestService> 

這是你的日曆組件,它使用上述storeComponentId。

 <xe:calendarView id="calendarView1" jsId="cview1" 
      summarize="false" 
      type="#{javascript: null == viewScope.calendarType? 'M' : viewScope.calendarType }" 
      storeComponentId="notesCalendarStore1"> 
      <xe:this.loaded><![CDATA[${javascript:if (sessionScope.databaseName == null) { 
        return false; 
       } else { 
        return true; 
       }}]]></xe:this.loaded> 
     </xe:calendarView> 

如果你需要一些更多的信息,這個例子包含在裏面DWA_iNotesRest.xsp。