2012-03-15 12 views
7

Gerçek bir dünya uygulamasında xe: calendarView denetimini kullanmaya çalışıyorum. Şimdiye kadar, verileri bir görünümden okuyabilir ve takvimde görüntüleyebilirim, bu kolaydı.Herhangi biri xe: calendar ExtLib'in viewView kontrolünü kullanıyor mu? Eğer öyleyse, olaylar nasıl çalışır?

Ama şimdi çift veya singleclick ile bir giriş açmak istiyorum veya & sürükle sürükleyerek bir girişin tarihini değiştirmek istiyorum. Bunun için, denetim SSJS yazabileceğim "onOpenEntry" gibi olaylara sahiptir. Ama burada sıkışıp kaldım: Böyle bir durumda

  • , ben belgenin UNID nasıl elde edersiniz hangi olay

    oluşturulmuştur? "this" bir com.ibm.xsp.extlib.dwa.component.calendar.UICalendarView nesnesidir. Bu sınıf için bazı kaynak kodu buldum, ancak açılması gereken belgeye erişmenin herhangi bir yolunu görmüyorum. Ayrıca, "onOpenEntry" olayı, yalnızca denetim yüklendiğinde bir kez ateşlenir. Bundan sonra, tıklama veya doubleclick ateş etmez.

Benim için bu olayların tam olarak uygulanmadığı anlaşılıyor ... ve ExtLib demo veritabanında da kullanılmıyor. Bu şeylerin nasıl çalıştığını bilen var mı? Teşekkürler!

+1

XPagesExt.nsf yerine, TeamRoom XL şablonuna ve takvim olaylarının yönetilme ve yönetme işlemlerine nasıl bir göz atın? –

cevap

2

Etkinliği dojo veya jquery kullanarak takvim girişine bağlayabilirsiniz. Unid içeren giriş için aşağıdaki kodu buldum. Yani

bu

  1. gibi id .... calendarView1-entry0
  2. somthing bulmak yapmak gerekir Unid niteliğini
  3. Bind istediğiniz etkinliğe kimliği almak ve bir pop-up ya da her neyse.

    <div id="home:_id1:dynC:_id556:calendarView1-entry0" class="s-cv-entry" calendar_type="Meeting" unid="723C2A5387AA7994C12579B30056D07E" calendar_date="20120622" calendar_index="0" calendar_start="20120622T000000,00$Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZN=Western/Central Europe" calendar_end="20120622T010000,00$Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZN=Western/Central Europe" calendar_start_notes="20120621T220000Z" calendar_bgcolor1="#C1DDF9" calendar_bgcolor2="#5495D5" calendar_fontcolor="undefined" calendar_bordercolor="undefined" calendar_external="0" onmouseover="dwa.cv.calendarView.prototype.cvHandler(event,this,'home:_id1:dynC:_id556:calendarView1');" onmouseout="dwa.cv.calendarView.prototype.cvHandler(event,this,'home:_id1:dynC:_id556:calendarView1');" onclick="dwa.cv.calendarView.prototype.cvHandler(event,this,'home:_id1:dynC:_id556:calendarView1');" ondblclick="dwa.cv.calendarView.prototype.cvHandler(event,this,'home:_id1:dynC:_id556:calendarView1');" oncontextmenu="dwa.cv.calendarView.prototype.cvHandler(event,this,'home:_id1:dynC:_id556:calendarView1');" style="top: 0px; left: 504px; width: 114px; height: 48px; "><canvas id="home:_id1:dynC:_id556:calendarView1-entry0-gradient" class="s-cv-entry" style="top:0px;left:0px;width:100%;height:100%;" color2="#C1DDF9" color="#5495D5" width="114" height="48"></canvas><div tabindex="0" class="s-cv-entry-innerframe s-cv-entry-innerframe-height s-cv-text" unselectable="on" aria-describedby="home:_id1:dynC:_id556:calendarView1-entry0-target" aria-haspopup="true" role="menu" style="top:0px;left:0px;width:100%;color:undefined;white-space: nowrap;" com_ibm_dwa_ui_draggable_redirect="home:_id1:dynC:_id556:calendarView1"><img alt="Meeting" src="/xsp/.ibmxspres/.dwa/common/images/transparent.gif" width="13" height="11" style="border-width:0px;background-position: -0px -0px; background-image: url(/xsp/.ibmxspres/.dwa/common/images/colicon1.gif);">&nbsp;Midsommar<br>8clfux40</div> 
    
4

xe: takvim kontrol iNotes takvim görüşüne dayanır. Sonuç olarak, olaylar yalnızca Sunucu Tarafı JavaScript değil, İstemci Tarafı JavaScript'i çalıştırır. # {Javascript: ...} sözdizimini kullanarak değerlendirilmiş SSJS'de, örn.

#{javascript:(userBean.accessLevel >= lotus.domino.ACL.LEVEL_AUTHOR) && userBean.canDeleteDocs} 

Bu, kullanıcının veritabanına en az Yazar erişimine ve silme ayrıcalığına sahip olup olmadığını kontrol eder. fonksiyon olduğunda Sunucu Tarafı JavaScript değerlendirilecektir akılda

var path = #{javascript:"\"" + @FullUrl('/') + "\""}; 

Bear: Benzer şekilde, yönlendirme yapmak yeni URL'yi oluştururken işlemek için geçerli sayfanın tam URL'sini almak için aşağıdaki kodu kullanabilirsiniz Düğmeye tıklandığında XPage'ye yazılır.

Unid'i (Client-Side Javascript, Sunucu Tarafı JavaScript değil) öğeleri [0] .unid kullanarak alabilirsiniz.

Daha fazla ayrıntı için Upgrade Pack 1 veya Extension Library ile birlikte gönderilen Teamroom şablonundaki calendarView Özel Denetimine bakın.

İlgili konular