Sandbox91
From Metabolomics.JP
				
								
				(Difference between revisions)
				
																
				
				
								
				| (34 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
| − | {{#def: | + | <!-- | 
| + | {{#get:listpage}} リストページ | ||
| + | {{#get:initset}}  現在セットされている項目。&&区切りの文字列 | ||
| + | {{#get:prevpage}} 飛んできたページ | ||
| + | {{#get:title}}    「species」や「効能」と言ったようなタイトル | ||
| + | --> | ||
| + | {{#def:listpage|{{#if:{{#get:listpage}}|{{#get:listpage}}|Test}}}} <!-- リストページ def. Test --> | ||
| + | |||
| {{#lua: | {{#lua: | ||
| --%% 前処理 %%-- | --%% 前処理 %%-- | ||
| Line 9: | Line 16: | ||
| --%% データ整理 %%-- | --%% データ整理 %%-- | ||
| − | for line in string.gmatch(stdin, "&&{{#var: | + | for line in string.gmatch(stdin, "&&{{#var:listpage}}([^&]+)") do | 
|    --%% -の数を調べる %%-- |    --%% -の数を調べる %%-- | ||
|    data = string.gsub(line, "^-+", "", 1) --%% 先頭の-を削除する %%-- |    data = string.gsub(line, "^-+", "", 1) --%% 先頭の-を削除する %%-- | ||
| Line 15: | Line 22: | ||
|    --%% データを配列へ格納 %%-- |    --%% データを配列へ格納 %%-- | ||
| − |    list[i] = data | + |    list[i] = string.gsub(string.gsub(data, "%s*$", ""), "^%s*", "") --%% trimの代わり %%-- | 
|    levs[i] = level |    levs[i] = level | ||
|    flag[i] = 0 |    flag[i] = 0 | ||
| Line 40: | Line 47: | ||
| --%% 表示処理 %%-- | --%% 表示処理 %%-- | ||
| + | print('{{#form' .. 'tag:form|action="/wiki/{{#get:prevpage}}" method="post"|') | ||
| + | print('{{#form' .. 'tag:input|type="submit" value="update"}}<br>') | ||
| --%% できればここに目次を作成したい %%-- | --%% できればここに目次を作成したい %%-- | ||
| − | local maxn, margin; | + | local maxn, margin, checked; | 
| maxn = table.maxn(list) | maxn = table.maxn(list) | ||
| for i = 0, maxn do | for i = 0, maxn do | ||
| Line 49: | Line 58: | ||
|    margin = levs[i] * 24 |    margin = levs[i] * 24 | ||
|    print('<span style="margin-left: ' .. margin .. 'px">') |    print('<span style="margin-left: ' .. margin .. 'px">') | ||
| + | |||
| + |   --%% あらかじめセットしてあるデータの場合は、チェックを付けておく - データは&&区切りで渡す %%-- | ||
| + |   if(string.match("{{#get:initset}}", "&&" .. list[i] .. "&&", 0) == nil) then | ||
| + |     checked = '' | ||
| + |   else | ||
| + |     checked = ' checked="yes"' | ||
| + |   end | ||
|    --%% 最下層ならチェックボックスを、そうでないならそのまま表示する %%-- |    --%% 最下層ならチェックボックスを、そうでないならそのまま表示する %%-- | ||
|    if(flag[i] == 1) then |    if(flag[i] == 1) then | ||
|      -- <nowiki>{{#formtag:input|type="checkbox" value="data" name="list" id="data"}}{{#formtag:label|for="data"|data}}</nowiki> |      -- <nowiki>{{#formtag:input|type="checkbox" value="data" name="list" id="data"}}{{#formtag:label|for="data"|data}}</nowiki> | ||
| − |      print('{{#form' .. 'tag:input|type="checkbox" value="' .. list[i] .. '" name="list" id="' .. list[i] .. '"}}{{#form' .. 'tag:label|for="' .. list[i] .. '"|' .. list[i] .. '}}<br>') | + |      print('{{#form' .. 'tag:input|type="checkbox" value="' .. list[i] .. '" name="list[]" id="' .. list[i] .. '"' .. checked .. '}}{{#form' .. 'tag:label|for="' .. list[i] .. '"|' .. list[i] .. '}}<br>') | 
|    else |    else | ||
|      print(list[i] .. "<br>") |      print(list[i] .. "<br>") | ||
| Line 60: | Line 76: | ||
|    print("</span>") |    print("</span>") | ||
| end | end | ||
| + | print('{{#form' .. 'tag:input|type="hidden" name="listpage" value="{{#var:listpage}}"}}') | ||
| + | print('{{#form' .. 'tag:input|type="hidden" name="title" value="{{#get:title}}"}}') | ||
| + | print('{{#form' .. 'tag:input|type="hidden" name="hookinsert" value="__HOOK_AND_INSERT__"}}') | ||
| + | print('{{#form' .. 'tag:input|type="submit" value="update"}}') | ||
| + | print('}}') | ||
| − | |{{# | + | |{{#SearchLine:-|Index|{{#var:listpage}}}} | 
| + | }} | ||
Latest revision as of 23:20, 28 February 2009
 
