シンプルなテーブル表示。
let tbl1 = new miu.table('myTable1'); tbl1.set({ 'title' : '動物ランキング', 'names' : ['順位','動物','点数'], 'keys' : ['number','animal','points'], 'types' : ['number','text','number'] }); tbl1.init([ {'number':1,'animal':'イヌ','points':99.9}, {'number':2,'animal':'ネコ','points':95.1}, {'number':3,'animal':'ハムスター','points':92.4}, {'number':4,'animal':'ウサギ','points':89.8}, {'number':5,'animal':'キタキツネ','points':88.1}, {'number':6,'animal':'エゾシカ','points':86.7}, {'number':7,'animal':'エゾリス','points':85.5}, {'number':8,'animal':'タヌキ','points':82.6}, {'number':9,'animal':'アライグマ','points':80.9}, {'number':10,'animal':'ラッコ','points':78.1}, {'number':11,'animal':'カナヘビ','points':76.8} ]);
ソートとページングを有効にしたテーブル表示。
let tbl2 = new miu.table('myTable2'); tbl2.set({ 'title' : '動物ランキング', 'names' : ['順位','動物','点数'], 'keys' : ['number','animal','points'], 'types' : ['number','text','number'], 'psize' : [5,10], 'rdiv' : ',', 'runit' : ' 行表示', 'pdiv' : ' | ', 'punit' : ' ページ', 'pfill' : true, 'sort' : true }); tbl2.init([ {'number':1,'animal':'イヌ','points':99.9}, {'number':2,'animal':'ネコ','points':95.1}, {'number':3,'animal':'ハムスター','points':92.4}, {'number':4,'animal':'ウサギ','points':89.8}, {'number':5,'animal':'キタキツネ','points':88.1}, {'number':6,'animal':'エゾシカ','points':86.7}, {'number':7,'animal':'エゾリス','points':85.5}, {'number':8,'animal':'タヌキ','points':82.6}, {'number':9,'animal':'アライグマ','points':80.9}, {'number':10,'animal':'ラッコ','points':78.1}, {'number':11,'animal':'カナヘビ','points':76.8} ]);
CRUDを有効にしたテーブル表示・編集。
let tbl3 = new miu.table('myTable3'); tbl3.set({ 'title' : '動物ランキング', 'action': {'C':'追加','R':'参照','U':'編集','D':'削除'}, 'names' : ['順位','動物','点数'], 'keys' : ['number','animal','points'], 'types' : ['number','text','number'], 'psize' : [5,10], 'rdiv' : ',', 'runit' : ' 行表示', 'pdiv' : ' | ', 'punit' : ' ページ', 'pfill' : true, 'sort' : true }); tbl3.init([ {'number':1,'animal':'イヌ','points':99.9,'comment':'怒ると噛みつくこともありますが、\n' + 'かわいいので人気があります。'}, {'number':2,'animal':'ネコ','points':95.1,'comment':''}, {'number':3,'animal':'ハムスター','points':92.4,'comment':''}, {'number':4,'animal':'ウサギ','points':89.8,'comment':''}, {'number':5,'animal':'キタキツネ','points':88.1,'comment':''}, {'number':6,'animal':'エゾシカ','points':86.7,'comment':''}, {'number':7,'animal':'エゾリス','points':85.5,'comment':''}, {'number':8,'animal':'タヌキ','points':82.6,'comment':''}, {'number':9,'animal':'アライグマ','points':80.9,'comment':''}, {'number':10,'animal':'ラッコ','points':78.1,'comment':''}, {'number':11,'animal':'カナヘビ','points':76.8,'comment':''} ]); tbl3.C = { 'title': '動物ランキング > 追加', 'action': {'CANCEL':'取消','CONFIRM':'確認','RETURN':'戻る','COMMIT':'登録'}, 'names' : ['順位','動物','点数','コメント'], 'keys' : ['number','animal','points','comment'], 'types' : ['number','text','number','textarea'], 'regex' : [/^[0-9]{1,3}$/,/^.{1,20}$/,/^[\.0-9]{1,4}$/,/^.{0,50}$/], 'emsg' : ['1~3桁の数値で入力してください', '1~20文字で入力してください', '1~4桁の数値で入力してください', '0~50文字で入力してください'], 'func' : function(temp) { // create for db ; alert(temp.animal + ' を登録しました。'); return true; // if successed return true } }; tbl3.R = { 'action': {'CANCEL':'戻る'}, 'names' : ['順位','動物','点数','コメント'], 'keys' : ['number','animal','points','comment'], 'types' : ['number','text','number','textarea'] }; tbl3.U = { 'action': {'CANCEL':'取消','CONFIRM':'確認','RETURN':'戻る','COMMIT':'更新'}, 'names' : ['順位','動物','点数','コメント'], 'keys' : ['number','animal','points','comment'], 'types' : ['number','text','number','textarea'], 'regex' : [/^[0-9]{1,3}$/,/^.{1,20}$/,/^[\.0-9]{1,4}$/,/^.{0,50}$/], 'emsg' : ['1~3桁の数値で入力してください', '1~20文字で入力してください', '1~4桁の数値で入力してください', '0~50文字で入力してください'], 'func' : function(temp) { // update for db ; alert(temp.animal + ' を更新しました。'); return true; // if successed return true } }; tbl3.D = { 'action': {'CANCEL':'取消','CONFIRM':'削除'}, 'names' : ['順位','動物'], 'keys' : ['number','animal'], 'types' : ['number','text'], 'func' : function(temp) { // delete for db ; alert(temp.animal + ' を削除しました。'); return true; // if successed return true } };
パスワード項目とブール項目を含むCRUDを有効にしたテーブル表示・編集。
let tbl4 = new miu.table('myTable4'); tbl4.set({ 'title' : 'ユーザー管理', 'action': {'C':'追加','R':'参照','U':'編集','D':'削除'}, 'names' : ['No','ID','メールアドレス','管理者フラグ'], 'keys' : ['number','id','mail','admin'], 'types' : ['number','text','text','bool'], 'psize' : [5,10], 'rdiv' : ',', 'runit' : ' 行表示', 'pdiv' : ' | ', 'punit' : ' ページ', 'pfill' : true, 'sort' : true, 'boolY' : 'はい', // Default is 'Y' 'boolN' : ' ' // Default is 'N' }); tbl4.init([ {'number':1,'id':'Administrator','password':'','mail':'admin@example.com','admin':1,'note':''}, {'number':2,'id':'testuser1','password':'','mail':'test1@example.com','admin':0,'note':''}, {'number':3,'id':'testuser2','password':'','mail':'test2@example.com','admin':1,'note':'11/7 管理者権限付与'}, {'number':4,'id':'testuser3','password':'','mail':'test3@example.com','admin':0,'note':''}, {'number':5,'id':'guest1','password':'','mail':null,'admin':0,'note':''}, {'number':6,'id':'guest2','password':'','mail':null,'admin':0,'note':''} ]); tbl4.setpp({ 'reenter' : 'パスワードを再入力してください', 'notmatch': 'パスワードが一致しませんでした。再度入力してください' }); tbl4.C = { 'title': 'ユーザー登録', 'action': {'CANCEL':'取消','CONFIRM':'確認','RETURN':'戻る','COMMIT':'登録'}, 'names' : ['No','ID','パスワード','メールアドレス','管理者フラグ','備考'], 'keys' : ['number','id','password','mail','admin','note'], 'types' : ['number','text','password','text','bool','textarea'], 'regex' : [/^[0-9]{1,3}$/,/^.{4,20}$/,/^.{8,20}$/,/^.{1,}\@.{1,}\..{1,}$/,null,/^[.\s\S]{0,20}$/], 'emsg' : ['1~3桁の数値で入力してください', '4~20文字で入力してください', '8~20文字で入力してください', 'メールアドレス形式で入力してください', null, '20文字までで入力してください'], 'func' : function(temp) { // create for db ; alert(temp.id + ' を登録しました。'); return true; // if successed return true } }; tbl4.R = { 'action': {'CANCEL':'戻る'}, 'names' : ['No','ID','パスワード','メールアドレス','管理者フラグ','備考'], 'keys' : ['number','id','password','mail','admin','note'], 'types' : ['number','text','password','text','bool','textarea'] }; tbl4.U = { 'action': {'CANCEL':'取消','CONFIRM':'確認','RETURN':'戻る','COMMIT':'更新'}, 'pk' : ['number','id'], 'names' : ['No','ID','パスワード','メールアドレス','管理者フラグ','備考'], 'keys' : ['number','id','password','mail','admin','note'], 'types' : ['number','text','password','text','bool','textarea'], 'regex' : [/^[0-9]{1,3}$/,/^.{4,20}$/,/^.{8,20}$/,/^.{1,}\@.{1,}\..{1,}$/,null,/^[.\s\S]{0,20}$/], 'emsg' : ['1~3桁の数値で入力してください', '4~20文字で入力してください', '8~20文字で入力してください', 'メールアドレス形式で入力してください', null, '20文字までで入力してください'], 'func' : function(temp) { // update for db ; alert(temp.id + ' を更新しました。'); return true; // if successed return true } }; tbl4.D = { 'action': {'CANCEL':'取消','CONFIRM':'削除'}, 'names' : ['No','ID','管理者フラグ'], 'keys' : ['number','id','admin'], 'types' : ['number','text','bool'], 'func' : function(temp) { // delete for db ; alert(temp.id + ' を削除しました。'); return true; // if successed return true } };
データソース以外を表示するカスタム列。
データソースの値を":(キー名)"で参照できる。
let tbl5 = new miu.table('myTable5'); tbl5.set({ 'title' : '動物ランキング', 'names' : ['順位','動物','点数','カスタム'], 'keys' : ['number','animal','points',''], 'types' : ['number','text','number','custom-example'], 'custom': { 'example': '<a href="javascript:null"' + ' onclick="alert(\'点数= :points 点\'); return false;">動物=:animal</a>' } }); tbl5.init([ {'number':1,'animal':'イヌ','points':99.9}, {'number':2,'animal':'ネコ','points':95.1}, {'number':3,'animal':'ハムスター','points':92.4}, {'number':4,'animal':'ウサギ','points':89.8}, {'number':5,'animal':'キタキツネ','points':88.1}, {'number':6,'animal':'エゾシカ','points':86.7}, {'number':7,'animal':'エゾリス','points':85.5}, {'number':8,'animal':'タヌキ','points':82.6}, {'number':9,'animal':'アライグマ','points':80.9}, {'number':10,'animal':'ラッコ','points':78.1}, {'number':11,'animal':'カナヘビ','points':76.8} ]);