2014/07/27
20140727-個人-運動需全停,全待傷養好
星期日,昨天去爬了松羅湖,
爬山的狀況,因為舊傷,而心情上,總是不能那麼的放鬆,
在到達松羅湖前,右膝又那樣重重的撞了一下~~~看來,這不死心是不行的。
我喜歡運動
我喜歡登山越野
我喜歡騎單車比賽
但,為了可以再次盡情的玩,我必需全力停止活動,
重心全放在拉筋、滾筒、游泳上。
拉筋有心的話
也可以像 蔡依琳 一樣,從筋骨不好,練到可以劈一字馬。
滾筒若有心的話
可以解除掉我整身肌肉僵硬的問題
游泳若有心的話
也可以舒展我的身體狀況。
晨泳,要像阿叡一樣,變成一個固定習慣。
這可以他們放鬆的大密寶呀!
說來,
若這樣的事情,我都無法克服的話
那就更別談更大的夢想,更多想做的事情了。
晨泳,爬起床所需的毅力,
這事若無法克服,認不清自已所缺乏的、「夢想叫不醒自已」的話
那這樣,我也就更沒資格談精進了。
-------
現在,我必需放下所有我想做的事情,
面對我真正的「核心問題」
有辦法處理掉它,我才可以再做這些想做的事情。
-------
前晚,雨柔所說的話,再加上在睡夢中,想了些事情,
我這樣傷都不能好的原因~~~
除了,當初以為「單車椅壂」的關係外,
想想,野跑上的方式,也變成我傷的主因 。
「我負重(背水袋包)下去跑步」
加重我脊椎上的壓力而不自知~~~~
所以,
放鬆 脊椎壓力 ,也是我該做的事情,
這也是我核心肌群不夠力所造成它受額外的壓力。
-------------------
心情:
現在的我,不會再為能不能運動而患得患失了~~~
我的心
要去「想像得出自已的未來」
讓自已所做的事,都是有目標,有意義的才是!
用心想,
用心想像自已的拉筋,就可以認真執行拉筋項目。
用心想像自已的未來樣子,就會認真的做好事情。
----------------
我的人生,是要有「夢想」的,是要有「野心」的!
記下這樣的心情。
以後,要好好過自已的人生!!
未來都是自已所建出來的。
加油!
(THE END)
2014/07/20
20140720-個人-一個會說故事的動畫師+今天感動的聲音(未寫完)
我想,要花些時間來好好品味這一篇的演講:
別把鑽石當玻璃珠:劉大偉 (Davy Liu) at TEDxTaipei 2013
https://www.youtube.com/watch?v=Lm4vgG-0loo
後來以無意聽到這有意境的聲音
https://www.youtube.com/watch?v=vsMS4OjRVkA
「下班之後,唯一能讓我快樂的事就是唱歌了。」
「想讓大家聽見我、認可我,
這樣會讓我覺得,我一直在堅持的 自已的夢想 是沒有錯的」
---------------------
我喜歡分享,喜歡分享有感動到我的事情,或是我可以做的事、
或是一件讓我開心的事。
而這樣的心情,在除了對外之外,我也希望為自已留下這份心情。
而日記,就是我記下沉澱的一個方式。
沒有特定的讀者,寫下自已想寫的文字。
(待整理)
2014/07/17
20140717-程式-針對jqGrid的應用-客製Inline Edit的編輯內容
這一功能還是練習記錄一下:
結果畫面:
這是基本的操作設定:
選了權限類別後,可以顯示資料 & 在頁上直接編輯 儲存。
=======
這是同一個頁面,同一個jqGird ,查詢後,特別處理設定值的部份,
讓它可以選擇「單位」/「人員」資訊。
(而單位/人員是 共用的元件資訊~~~)
==========================================
(當初在處理:新增時可以讓[帳號/設定值]可以改;而異動時只可以改[設定值],這段也花了不少功夫)
一開始的想法,是要試看看jqGrid 的 custom cell 可以到什麼什麼地步?
參考了這些文章:
Custom template column:http://goo.gl/LFG42L
jqgrid edittype:http://goo.gl/yzdVge
http://goo.gl/2HsWW8
而這定了了jqgrid 的colModel:
關鍵在:
而這邊,先從試試,怎麼取到cell 的原始資料,
而我的JSON格式為:
{
units: ["120102", "620110","220100"],
members: ["910129", "910370"]
}
先試怎麼拿這資料,再一步步來處理這些呈現資訊。
=================================
先拿最基本的格式來處理:(即原本的:點選後可以文字編輯[設定值])
這是試到最後的jqgrid 的 function :
1. 當你 呈現時有 format 過,一定要做[UnFormat] 的動作。
2. 因為要做成之後可以「共用」的地步,所以我用 GetExecuteObj() 來決定我要用什麼方式呈現。
定義Obj 的class (示意的javascript 版)
所以我最後定義出:
//預設的物件定義 =>呈現 基本的 textbox 處理
var DefaultObj = { ...}
//組織人員物件 =>呈現組織&人員 檢視/編輯 的處理
var MemberUnitObj = {...}
======================================
而其中,也試試如何 load template 資料到 cell 裡,一樣用基本的試驗。
若可以 把tempate 內的textbox 做呈現的話,那就可以試著載入其它不同的common controller
在這段程式裡就可以看出:
//我的template
//我的js 處理:
EditFmt: function (value, options) {
var div = $("#template_input").clone();
div.show();
var myinput = $(div).find("#fvalue");
myinput.val(value);
return div;
},
我可以設定 html 內的元件完成後,再把它放到grid 裡,
至於為何要用「clone()」,因為若只用同一個,他操作過一次後就會不見了~~~~
而在更復雜的「單位人員」元件裡,除了 clone()後,我還要給html內的元件 unique ID
而在編輯時,我 單從它event 的參數,我無法直覺的知道 unique ID
所以 unique ID 就存在全域變數裡以便處理。
================================
在 jqgrid colModel下的設定,關鍵在這些:
formatter: jqGridFormatter, //jqgrid 的display處理
unformat: jqGridUnFormatter, //要再把它unformat 拿到原始資料才可以。
edittype: 'custom',
editoptions: { custom_element: jqGridEditElement, custom_value: jqGridEditValue }
formatter/unformat:
一開始就用簡單的測試,在formatter時,在data 前面加個符號
就因為一開始沒有處理 unformat ,所以呈現時會越加越多~~~~~
而
custom_element://你要在edit mode 時要呈現什麼樣子
custom_value: //這個要定義這個cell 的"值"要如何取得~~~這個function 不知為何,沒有event觸發它 ,所以我在儲存時,要自已想辦法 call 此 function .
=================================
之間有一個主題:我要預設勾選 它選擇的 tree 資料:
在設定單位值時,要等到它tree load 完後才可以做設定,
因一開始,資料有時有勾選到,有時又沒有帶到資料,本想放棄的~~但還是要找出原因來
關鍵值:
$("#" + ucID + "_dynatree").dynatree("getRoot")._isLoading //判斷tree load完成了沒?
而我用 recall 的方式,來達到「一定要」設定到的功能。
用 setTimeout () 再一次呼叫自已~~
好在解決這問題,讓操作起來較順手~~~~
===============================================
結論:
程式一陣子沒寫,對於相關的jquery 寫法都陌生了,而透過 google 來找一些資料處理。
這次這樣一步步的實驗,將大方向切成一個個小目標達成。
也透過這樣的評估,來判斷「這條路」的可行性!
在當我完成心裡所想的這架構時,那種感覺,也算是程式開發人員的「小確幸」吧!
我喜歡這樣開發程式完成後所帶來的感覺!
所以,這份記錄,是記錄下這次的歷程,詳細的code ,以後要看再來翻翻。
而且盡量保留住那份心情。
(THE END)
結果畫面:
這是基本的操作設定:
選了權限類別後,可以顯示資料 & 在頁上直接編輯 儲存。
=======
這是同一個頁面,同一個jqGird ,查詢後,特別處理設定值的部份,
讓它可以選擇「單位」/「人員」資訊。
(而單位/人員是 共用的元件資訊~~~)
==========================================
(當初在處理:新增時可以讓[帳號/設定值]可以改;而異動時只可以改[設定值],這段也花了不少功夫)
一開始的想法,是要試看看jqGrid 的 custom cell 可以到什麼什麼地步?
參考了這些文章:
Custom template column:http://goo.gl/LFG42L
jqgrid edittype:http://goo.gl/yzdVge
http://goo.gl/2HsWW8
而這定了了jqgrid 的colModel:
colModel: [
{ name: "", hidden: true },@*指定它是unique row no*@
{ name: "ConfigType", hidden: true },
{ name: "iaccount", hidden: true },
{ name: "PersonalAccessConfigTypeDisplay", index: "PersonalAccessConfigTypeDisplay", width: 100 },
{ name: "iaccountDisplay", index: "iaccountDisplay", width: 100, editable: true, editrules: { required: true } },
{
name: "fvalue", index: "fvalue",
formatter: jqGridFormatter,
unformat: jqGridUnFormatter,
editable: true, edittype: 'custom',
editoptions: { custom_element: jqGridEditElement, custom_value: jqGridEditValue }
}
],
關鍵在:
edittype: 'custom',editoptions: { custom_element: jqGridEditElement, custom_value: jqGridEditValue
而這邊,先從試試,怎麼取到cell 的原始資料,
而我的JSON格式為:
{
units: ["120102", "620110","220100"],
members: ["910129", "910370"]
}
先試怎麼拿這資料,再一步步來處理這些呈現資訊。
=================================
先拿最基本的格式來處理:(即原本的:點選後可以文字編輯[設定值])
//fvalue顯示格式處理
function jqGridFormatter(cellvalue, options, rowObject) {
return GetExecuteObj().DisplayFmt(cellvalue, options, rowObject);
}
//fvalue顯示格式Un處理
function jqGridUnFormatter(cellvalue, options, cell) {
return GetExecuteObj().DisplayUnFmt(cellvalue, options, cell);
}
//fvalue編輯時的呈現
function jqGridEditElement(value, options) {
return GetExecuteObj().EditFmt(value, options);
}
//fvalue編輯時的取值
function jqGridEditValue(elem, operation, value) {
return GetExecuteObj().EditValueFmt(elem, operation, value);
}
這是試到最後的jqgrid 的 function :
1. 當你 呈現時有 format 過,一定要做[UnFormat] 的動作。
2. 因為要做成之後可以「共用」的地步,所以我用 GetExecuteObj() 來決定我要用什麼方式呈現。
定義Obj 的class (示意的javascript 版)
//預設的物件定義
var DefaultObj = {
//fvalue顯示格式處理
DisplayFmt: function (cellvalue, options, rowObject) {
var value = rowObject["fvalue"];
return value != null ? value : "";//Access row data:http://goo.gl/r3aw7q
},
//fvalue顯示格式Un處理
DisplayUnFmt: function (cellvalue, options, cell) {
return cellvalue;//.replace("my", "");
},
//fvalue編輯時的呈現
EditFmt: function (value, options) {
var div = $("#template_input").clone();
div.show();
var myinput = $(div).find("#fvalue");
myinput.val(value);
return div;
},
//fvalue編輯時的取值
EditValueFmt: function (elem, operation, value) {
var div = $(elem);
var myinput = $(div).find("#fvalue");
alert(myinput.val());
if (operation === 'get') {
return myinput.val();
} else if (operation === 'set') {
myinput.val(value);
}
}
}
所以我最後定義出:
//預設的物件定義 =>呈現 基本的 textbox 處理
var DefaultObj = { ...}
//組織人員物件 =>呈現組織&人員 檢視/編輯 的處理
var MemberUnitObj = {...}
======================================
而其中,也試試如何 load template 資料到 cell 裡,一樣用基本的試驗。
若可以 把tempate 內的textbox 做呈現的話,那就可以試著載入其它不同的common controller
在這段程式裡就可以看出:
//我的template
//我的js 處理:
EditFmt: function (value, options) {
var div = $("#template_input").clone();
div.show();
var myinput = $(div).find("#fvalue");
myinput.val(value);
return div;
},
我可以設定 html 內的元件完成後,再把它放到grid 裡,
至於為何要用「clone()」,因為若只用同一個,他操作過一次後就會不見了~~~~
而在更復雜的「單位人員」元件裡,除了 clone()後,我還要給html內的元件 unique ID
而在編輯時,我 單從它event 的參數,我無法直覺的知道 unique ID
所以 unique ID 就存在全域變數裡以便處理。
================================
在 jqgrid colModel下的設定,關鍵在這些:
formatter: jqGridFormatter, //jqgrid 的display處理
unformat: jqGridUnFormatter, //要再把它unformat 拿到原始資料才可以。
edittype: 'custom',
editoptions: { custom_element: jqGridEditElement, custom_value: jqGridEditValue }
formatter/unformat:
一開始就用簡單的測試,在formatter時,在data 前面加個符號
就因為一開始沒有處理 unformat ,所以呈現時會越加越多~~~~~
而
custom_element://你要在edit mode 時要呈現什麼樣子
custom_value: //這個要定義這個cell 的"值"要如何取得~~~這個function 不知為何,沒有event觸發它 ,所以我在儲存時,要自已想辦法 call 此 function .
=================================
之間有一個主題:我要預設勾選 它選擇的 tree 資料:
在設定單位值時,要等到它tree load 完後才可以做設定,
因一開始,資料有時有勾選到,有時又沒有帶到資料,本想放棄的~~但還是要找出原因來
.fn.set_selUnits_by_unitGUIDs = function (unitGUIDs) {
var ucID = $(this).attr("id");
$(this).value(unitGUIDs);
//如果有設定值則預設checked
var unitguids = $("#" + ucID).value();
if (unitguids != null && unitguids != "") {
var guidarray = unitguids.split(",");
//判斷是否已載入,若未載入則reload
if ($("#" + ucID + "_dynatree").dynatree("getRoot")._isLoading) {
setTimeout(function () { $("#" + ucID).set_selUnits_by_unitGUIDs(unitGUIDs) }, 100);
return;
}
var rootNode = $("#" + ucID + "_dynatree").dynatree("getRoot");
rootNode.visit(function (node) {
if ($.inArray(node.data.key, guidarray) >= 0) {
node.select(true);
}
});
$("#" + ucID).selUnitsDialog_confirmClick("", "", null, 1);
}
//如果有設定值則預設checked END
}
關鍵值:
$("#" + ucID + "_dynatree").dynatree("getRoot")._isLoading //判斷tree load完成了沒?
而我用 recall 的方式,來達到「一定要」設定到的功能。
用 setTimeout () 再一次呼叫自已~~
好在解決這問題,讓操作起來較順手~~~~
===============================================
結論:
程式一陣子沒寫,對於相關的jquery 寫法都陌生了,而透過 google 來找一些資料處理。
這次這樣一步步的實驗,將大方向切成一個個小目標達成。
也透過這樣的評估,來判斷「這條路」的可行性!
在當我完成心裡所想的這架構時,那種感覺,也算是程式開發人員的「小確幸」吧!
我喜歡這樣開發程式完成後所帶來的感覺!
所以,這份記錄,是記錄下這次的歷程,詳細的code ,以後要看再來翻翻。
而且盡量保留住那份心情。
(THE END)
2014/07/13
20140713-日記-還是要寫日記+養傷中+騎車去游泳
還是要寫寫自已的日記.....
■手機忽然不可以充電,變得沒手機照相。
>因昨天看影片一直用,到它沒電後才要充,就....完全不能用,星一再送修。
今天本來是要去跟團爬「小觀音山」的,
結果, 昨日腳還是怪怪的,評估後,還是在家睡覺好了。
就沒有跟團上去 (再加上,跟的團,主辦人也取消)
昨天,帶著沅錡 他玩了一天,上午爬山,下午帶他去看電影,
而我回來後,好累就睡到晚上再起床,
而後來,又在網路亂逛,浪費一整晚的時間。
雨柔這禮拜在新竹讀書寫論文,就沒有特別吵她啦。
-----
今天睡到九點多,有FB上逛了一陣,到十一點多決定要出門。
騎著機車,到「北投游泳池」那游泳。
買機車後,第一次這樣騎出去自已晃晃~~~
近期身體肌群好硬,連拉筋的心都好懶。
就想,透過去游泳,多少可以放鬆一下。
忘了它和內湖的開放時間一樣,以為是整天都開,
到那兒沒開後,還是先去吃個東西好了。
星期日,找了一陣,沒有什麼素食開的。
到頭來,又是到便利商店吃便當 @@~~~
一點半,人好多呀!
今日就輕鬆游,算是長距離游完2KM~~~~
這期間就在想事情~~~
覺得,我對自已的目標不夠堅持,知道自已要的是什麼,但卻沒辦法堅持下去。
傷反而不是主因,
心的問題很大~~~我變得不像之前那樣擁有著「毅力」了。
這點,是我傷了三年期間一直好不起來的因素之一吧。
今天游泳,目標是2KM,
配速應是自已游才是,但,常常會分心 ,受到不同的東西影響~~~
讓自已保持著「微快樂」的心情
低潮沒辦法解決什麼事,
當下的生活一樣是重要的 ,別因這樣,人的動力就不見了。
我還是要保有自已的「野心」
有了「野心」,我就不會自卑,就會是推自已的人生一把的動力,
我的人生,是在我每天每天的「選擇」而決定的。
所以,保持「微開心」的人生吧。
游完泳回來後.......又在看FB~~~
後來太累,就先睡個覺,醒來,就是晚上8點多。
呼,再來就是好好伸展好了。
THE END
■手機忽然不可以充電,變得沒手機照相。
>因昨天看影片一直用,到它沒電後才要充,就....完全不能用,星一再送修。
今天本來是要去跟團爬「小觀音山」的,
結果, 昨日腳還是怪怪的,評估後,還是在家睡覺好了。
就沒有跟團上去 (再加上,跟的團,主辦人也取消)
昨天,帶著沅錡 他玩了一天,上午爬山,下午帶他去看電影,
而我回來後,好累就睡到晚上再起床,
而後來,又在網路亂逛,浪費一整晚的時間。
雨柔這禮拜在新竹讀書寫論文,就沒有特別吵她啦。
-----
今天睡到九點多,有FB上逛了一陣,到十一點多決定要出門。
騎著機車,到「北投游泳池」那游泳。
買機車後,第一次這樣騎出去自已晃晃~~~
近期身體肌群好硬,連拉筋的心都好懶。
就想,透過去游泳,多少可以放鬆一下。
忘了它和內湖的開放時間一樣,以為是整天都開,
到那兒沒開後,還是先去吃個東西好了。
星期日,找了一陣,沒有什麼素食開的。
到頭來,又是到便利商店吃便當 @@~~~
一點半,人好多呀!
今日就輕鬆游,算是長距離游完2KM~~~~
這期間就在想事情~~~
覺得,我對自已的目標不夠堅持,知道自已要的是什麼,但卻沒辦法堅持下去。
傷反而不是主因,
心的問題很大~~~我變得不像之前那樣擁有著「毅力」了。
這點,是我傷了三年期間一直好不起來的因素之一吧。
今天游泳,目標是2KM,
配速應是自已游才是,但,常常會分心 ,受到不同的東西影響~~~
讓自已保持著「微快樂」的心情
低潮沒辦法解決什麼事,
當下的生活一樣是重要的 ,別因這樣,人的動力就不見了。
我還是要保有自已的「野心」
有了「野心」,我就不會自卑,就會是推自已的人生一把的動力,
我的人生,是在我每天每天的「選擇」而決定的。
所以,保持「微開心」的人生吧。
游完泳回來後.......又在看FB~~~
後來太累,就先睡個覺,醒來,就是晚上8點多。
呼,再來就是好好伸展好了。
THE END