Feature #950

Web 管理画面 - レコード一覧表示において型に応じレコードの値を適切な形式で表示する

Added by Masafumi oyamada about 7 years ago. Updated about 7 years ago.

Status:完了Start date:06/03/2011
Priority:HighDue date:
Assignee:Masafumi oyamada% Done:

80%

Category:-Estimated time:1.00 hour
Target version:0.1

Description

レコード一覧表示において型に応じレコードの値を適切な形式で表示すべきと思われます。

例えば Time 型が、現在はそのまま数値で表示されていますが、これは日付のような分かりやすい形式で表示した方が分かりやすいと考えられます。

History

#1 Updated by Ryo Onodera about 7 years ago

  • Target version set to 0.1

#2 Updated by Masafumi oyamada about 7 years ago

  • Estimated time set to 3.00

GroongaAdmin.recordlist という関数がレコード一覧を作成しているようですが、実際にレコード一覧のテーブルを生成しているのは以下のような GroongaAdmin.create_table_element という関数となっています。

この GroongaAdmin.create_table_element は他にも「テーブル一覧」や「カラム一覧」を作成するために用いられているようで、引数 (check, button) の値により生成される要素が変わります。

肝心のレコード値がどのように表示されているかですが、ここでは elms.push(prim2html(line[j], 128)) のようにして JSON レスポンス(をパースした結果)の値をそのまま表示しているようです。

新しい設計としてレスポンスをマッピングするクラスを作成したいと考えているため、それも含めて大幅な改変となるものと思われます。

GroongaAdmin.create_table_element = function (d, check, button) {
  var elms = [''];
  if ($.isArray(d)) {
    elms.push('');
    var l = d.length;
    if (l >= 1) {
      var line = d[0];
      elms.push('');
      if ($.isArray(line)) {
        elms.push('');
        var m = line.length;
        if (check) {
          elms.push('');
        }
        if (button) {
          elms.push('');
      }
      elms.push('');
      elms.push('');
      for (var i = 1; i < l; i++) {
        line = d[i];
        if ($.isArray(line)) {
          elms.push('');
          var m = line.length;
          switch(check) {// チェックボックスの値を何にするか
          case 1: // 1番目の要素(レコード一覧の_id等)
          case 2: // 2番目の要素(テーブル・カラム一覧のname等)
            elms.push('');
            break;
          }
          for (var j = 0; j < m; j++) {
            elms.push('');
          }
          switch(button) {
          case 1: // Edit record
            elms.push('');
            break;
          case 2: // Table
            elms.push('');
            break;
          }
          elms.push('');
        }
      }
      elms.push('');
    }
  }
  elms.push('
'); } for (var j = 0; j < m; j++) { elms.push(''); elms.push(prim2html(line[j][0], 128)); elms.push('
'); elms.push(prim2html(line[j][1], 128)); elms.push('
'); } elms.push('
'); elms.push(prim2html(line[j], 128)); elms.push('
'); return elms.join(''); };

#3 Updated by Masafumi oyamada about 7 years ago

  • Priority changed from Normal to High
  • Estimated time changed from 3.00 to 1.00

リファクタリングは行わず Date だけ整形して表示する。

#4 Updated by Masafumi oyamada about 7 years ago

  • Status changed from 新規 to 完了チェック待ち
  • % Done changed from 0 to 80

レコードを,型に応じて適切なフォーマットで表示するように変更しました. ひとまずは Time のみへ対応しています.

#5 Updated by Ryo Onodera about 7 years ago

  • Status changed from 完了チェック待ち to 完了

Also available in: Atom PDF