跳到主要內容

喬時間網站「聚會吧(Getogether)」 介紹

因著老婆每次辦同學、朋友聚會都要協調並調查一群人最多有空的時間的需求,就做了這個「聚會吧」網站,只要有Facebook帳號的人都可以使用。主要要解決的情境就是:一群人要一起出遊或聚會,也許是同學會或一群好友出遊,但是要怎麼 選出一個最多人可以出席的日期呢?這通常是活動主辦人最傷腦筋的問題,可能的作法是: 預定一個日期,然後一個一個問。但這很麻煩,萬一預定的日期多數人沒空,又得重新調查一次。所以要事先 預定多個日期,但如果只是請大家 選一個日期,有時候結果並不是最多可以參加的日期,所以要請大家 複選多個日期最後才進行統計,而這就是「聚會吧」的主要功能:

日期與受邀人的調查表

feature-TimeTable.png
主辦人到網站上填好活動基本資料,並選好幾個候選時間、從Facebook朋友清單中選擇好友並發出通知。之後只要大家都上來「聚會吧」填寫各個日期是否可以出席,聚會吧會幫你統計每個日期的出席人數(在最下方一列),並把最多人可以出席的日期標示出來,主辦人就可以根據出席的情形決定一個適合辦活動的日期。
聚會吧」還有可搜尋的朋友選擇器,方便你快速找到你要邀請的朋友:
friendSelector-blur.png

這張表可以有兩種用法:

1.填可以出席的日期

有時候你知道大家這段期間都很忙,你可以把時間都調No,大家填可以出席的日期就好。

2.填無法出席的日期

或是大家都很閒,你問每個人何時有空,大家都說隨便阿,但是其實大家一定都有幾天是已經安排活動了,又不可能一一跟你報告,直到你定了某一天聚會,他才會告訴你:「阿!我那天有事」。這時可用消去法,請大家填無法出席的日期,然從剩下日期裡去挑選適合的時間。

特殊考量的受邀人

這張表可以一目了然每個人的出席狀況,有時候選擇日期並不是單純看人多,而是也許某些特定的人一定要出席,這時候就可以很容易找出特定的對象可以出席的日期去做決定。

中英雙語系

目前會根據你瀏覽器的設定自動切換中文或英文語系,也可自行按右上角的按鈕切換。
English-main-screenshot.png

留言

這個網誌中的熱門文章

iframe DOM 被移動造成重新載入

如果用 javascript 去搬動 iframe DOM 的位置, 瀏覽器會將其內容重新載入,這是現有 HTML 規格 > When an iframe element is inserted into a document that has a browsing context, the user agent must create a nested browsing context, and then process the iframe attributes for the "first time". 範例: http://jsfiddle.net/pZ23B/ 測試結果: * Safari 3.1 / Win: reload * Opera 9.5 / Win: reload * IE10: reload * IE7 / IE8: not reload (部份摘自 https://bugzilla.mozilla.org/show_bug.cgi?id=254144 ) 參考: * https://bugzilla.mozilla.org/show_bug.cgi?id=254144

Web Dynpro 前後端資料流動機制 (Dataflow)

在Web Dynpro中提供3種資料流機制[1],只要適當地設定,可以不用寫程式就將畫面、中間層控制器(controller)到後端模型物件的資料自動化地、牢靠地綁在一起,使得不管前後端某一方有資料變動,變動部份都會自動地流動來保持一致性,使得前後端都能存取到同一份資料。 context 關鍵元件是 context,每個controller都有一份屬於自己的context,它扮演MVC架構中的M (model),web dynpro的實做方式比較像是該controller的「資料空間」,它由node(資料節點)與attribute(資料屬性)組成,controller可以透過wdContext這個預先產生好的 shortcut variable(捷徑變數)去取得context的資料內容。 context中必須要建立node才可以儲存資料,一個node代表一個collection(集合物件)裡面仍可以含有node, attribute,node裡面的一份資料實體就是一個element,一個node可以有一個或多個element(這部份可以透過cardinality property設定),其結構就是該node所包含的結構。 data binding 此種機制可以將UI元件的資料跟context中的某個node或attribute綁定在一起,context中的改變會自動 更新到UI元件上,UI元件的改變也會自動寫入到綁定的context node(or attribute)中。通常UI元件所綁定的node(attribute)是由component controller對應過來的。 context mapping 每一個controller都有屬於自己的context(資料空間)如果要達到彼此共享資料,則要透過context mapping機制,一旦mapping設定好,則會在另一個context產生一個同樣的結構的node,兩邊的controller會存取到的是同一分資料,任何一邊的資料更動都會散佈到設定好mapping的node。 不過在web dynpro裡,只允許將custom controller or component controller的node對應到view controller去,不允許從view controller對應回來,主因是嚴格遵守MVC...

JavaScript 關掉瀏覽器頁面

如果你直接呼叫 window.close() 來關掉目前的頁面的話,你應該會在 console 看到以下訊息: Scripts may close only the windows that were opened by it. ( 我在 Chrome, Firefox, IE 11 都試過) 主因就是你並沒有用 JavaScript 開啟這個頁面,所以也不能用 JavaScript 關掉它。這是 HTML window.close() 的規格 規定,各家瀏覽器應該都遵循。 隨著瀏覽器安全性增加,以下方法已經不適用了,可參考 這個討論 。 有個變通的辦法就是: window.open(location, '_self').close();