EC 記述 Manual & Documentation
last update: Sat, 06 Jul 2019 21:23:16 GMT ( 10 months ago )

      1. BOOK

      <object::BOOK> ::= {
       title: <string::titleName>,
      [ db: <string::databaseName>, ]
       table: <string::tableName>, 
       structure: [ <array::Element>, ... ]
      [ , list: <string::tableListName> ]
      [ , style: <object:: style parameters> ]
      [ , translate: <object::translationDictionary> ] 
      [ , print: <object/function::printFunctions> ]
      [ , beforeShowForm: <function> ]
      [ , beforeShowMatrix: <function> ]
      [ , onChangeForm: <function> ]
      [ , beforeSaveForm: <function> ]
      [ , beforeShowTableHead: <function> ]
      [ , beforeShowTableBody: <function> ] ...
      }
      <array::Element> ::= [
      <string::name>, // element name 
      <string::label>, // label to display
      <string::type>, // element type
      <value>, // element value
      <object::property>, // element property
      <width> // element width (percentage)
      ]

      • 1.1. List of Properties

        名前説明省略初期値
        dbDBのスキーマ名になります。
        指定しなかった場合は、ECDBに定義したdbか、プロジェクト直下の無名スキーマになります。
        説明の通り
        tableデータを格納するテーブル名です。テーブルを使用しない場合は、falseを指定します。
        省略した場合は、BOOK名がそのままテーブル名になります。
        説明の通り
        titleフォームを表示した際のタイトルです。no title
        structure1.2. 構造を参照してください。不可
        style1.3. スタイルを参照してください。
        translateシステム用の翻訳ディクショナリオブジェクトを定義します。
        詳細は3.1. 翻訳を参照してください。
        なし
        filterBOOKデータに予めフィルタを掛ける場合に利用します。*注1
        formButton1.5. フォームボタンを参照してください。
        tableButton1.6. テーブルボタンを参照してください。
        listBOOKにて登録したデータを一覧表示する時の項目一覧です。BOOKに定義されている全項目
        flowBOOKに対してワークフローを実装する場合に、フローのID(文字列Or配列にて指定可能)を登録します。
        print印刷処理を記載する部分です。functionを定義するとフォームに「印刷」ボタンが表示されます。
        constantBOOK自体を静的表示するかどうかのフラグ。false
        *注1:filter に関しては12月末のアップデートにより仕様が変更される予定です
        イベントは1.4. イベントを参照してください。

      • 1.2. Structures

        structureには、そのフォームに表示する各要素を決められた形式により定義します。
        基本的な記述方法は、以下のようにstructureの中に要素ごとに6つのパラメータを持つ配列を定義します。
        パラメータは省略はできません。指定が無い場合は各パラメータの説明の初期値を指定するようにしてください。
        structure : [
        ["id","label","type","value","style","width"]
        ]
        • 1.2.1 Parameter

          名前説明初期値
          id要素のIDです。BOOK内で一意である必要があります。文字列設定必須
          label要素のラベルです。文字列""
          type要素の種類です。1.2.2 要素の種類を参照してください。文字列設定必須
          value要素の値です。selectなどの選択系要素の選択肢などを指定します。文字列
          オブジェクト配列
          配列
          ""
          style要素のスタイルです。1.2.3 要素のスタイルを参照してください。オブジェクト配列{}
          widthフォーム幅を100%とした時に要素の占める割合を指定します。
          数値のみの場合、ラベルは上に、[10,20]のように指定するとラベルは10%の幅で左側に表示されます。
          数値
          数値配列
          指定必須
        • 1.2.2 Types

          アプリケーションのフォームで利用できる要素の一部を紹介します。

          String type

          stringzipaddressphonepassword
          emailurltext

          Number type

          integeraccountfloatpercent

          Date type

          datetimedatim

          Select type

          radiomulti-radiotoggle
          selectmulti-select

          Structual types

          matrixtab

          Other types

          buttonlatlng
          video
          fileimage
          scriptrichtext
        • 1.2.3 Element Styles

          要素のラベル、および、入力部分にCSS3に準拠したスタイルを適用する場合に指定します。
          記述方法は、
          ["id", "label", "type", "value", {"label_css":{"font-size":"20pt","font-weight":"bold","color":"blue"}}, "width"] // ラベルのスタイル
          ["id", "label", "type", "value", {"css":{"font-size":"20pt","font-weight":"bold","color":"blue"}}, "width"] // 入力部分のスタイル
          となり、両方を同時に指定することも可能です。
          CSS3準拠の記述に関しては関連書籍等を参考にしてください。
          また、このスタイル部分に設定できるsynquery専用のプロパティを以下に記載します。

          名前説明対象要素設定値
          autocomplete入力要素にオートコンプリート機能(入力予測)を実装できます。指定した名称でDBに入力履歴が保存されます。address
          email
          password
          phone
          string
          url
          zip
          key文字列
          autoincrement自動連番のフィールドであることの宣言になります。このプロパティが指定されたフィールドは入力不可となります。integertrue/false
          benchベンチマークテスト用の設定を行えます。詳細は別途ご確認ください。button
          column
          hlist
          hspace
          html
          label
          refval
          tab
          vlist
          vspace
          以外全て
          別途
          calculateion/calc演算処理を指定します。設定値に指定されたfunctionを実行し戻り値を要素に設定します。account
          date
          datim
          float
          integer
          multi-radio
          multi-select
          percent
          radio
          select
          time
          toggle
          string/function
          calculator電卓インタフェースを提供します。account
          float
          integer
          percent
          true/false
          constant要素がDBへの保存対象外であり編集不可であることを宣言します。
          開発者はこのプロパティにより入力要素を有効活用できます。
          button
          column
          hspace
          html
          label
          refval
          tab
          vspace
          以外全て
          true/false
      • 1.3. Styles

        ECDBBOOKに適用されるスタイルの定義となります。
        ECDBでは、システム全体、BOOKでは各フォーム個別に適用されます。
        ECDBでの設定はBOOKの設定により上書きされます。
        フォームデザイナにて、styleボタンを押すことにより表示される画面か、BOOKのstyleオブジェクトに定義することで適用できます。
        style設定画面とそのスタイル一覧は以下になります。

        style : {"color":"gray","formWidth":800,"opacity":1}

        基本情報
        名前説明初期値ECDBBOOK
        カラーセット
        color
        synqueryにてデフォルトで提供されるカラーセットです。灰色
        gray
        フォームの幅[px]
        formWidth
        フォームの横幅です。500
        透明度[50-100%]
        opacity
        フォーム/一覧の透明度です。0.9(90%)
        フォントサイズ[px]
        fontSize
        フォーム/一覧のフォントサイズです。14

        カラー(灰色を例示)
        名前説明初期値ECDBBOOK
        背景色
        background
        フォームの背景色です。#eee
        テーブルバーの色
        titleColor
        フォームタイトル部分の背景色です。#444
        タイトル文字色
        titleText
        フォームタイトルの文字色です。#fff
        活性色
        activeColor
        一覧の活性状態の背景色です。#ff8
        不活性色
        inactiveColor
        ラベル色です。#eee
        テーブル色
        tableColor
        背景色です。#ddd
        エラーの色
        errorColor
        入力チェックエラーの背景とメッセージ背景です。#f88
        警告の色
        warningColor
        警告の背景とメッセージ背景です。#f60
        負の数の色
        negativeAccount
        一般数字要素が負の値の場合の文字色です。#c00
        境界線の色
        lineColor
        各要素の境界線の色です。初期:1px solid #666
        活性:1px solid #a00
        不活性:1px solid #aaa
        ラベル色(通常)
        labelText
        各要素のラベルの色です。初期:#444
        活性:#600
        不活性:#888
        入力色(通常)
        inputColor
        各要素の入力部分の背景色です。初期:#fff
        活性:#ff8
        不活性:#eee
        入力文字色(通常)
        inputText
        各要素の入力部分の文字色です。初期:#444
        活性:#a00
        不活性:#888
        ボタンの色(通常)
        buttonColor
        ボタンの背景色です。初期:#888
        活性:#fff
        不活性:#eee
        ボタン文字の色
        buttonText
        ボタンの文字色です。初期:#fff
        活性:#a00
        不活性:#888
        マット色(通常)
        matColor
        selectなどのドロップダウンリストの背景色です。初期:#fff
        活性:#888
        マット文字色
        matText
        selectなどのドロップダウンリストの文字色です。初期:#444
        活性:#fff

        style : {"color":"gray","formWidth":800,"opacity":1}

        ディメンジョン
        名前説明初期値ECDBBOOK
        フォームの高さ[px]
        formHeight
        フォームの高さです。特別な場合を除き、autoが推奨です。auto
        最小の高さ[px]
        minHeight
        フォームの最小の高さです。変更は推奨されません。50
        水平揃え
        halign
        各要素の水平位置揃えの基準です。left
        垂直揃え
        valign
        各要素の垂直位置揃えの基準です。top
        要素の間隔 X[px]
        x1
        各要素同士の横間隔です。8
        要素の間隔 Y[px]
        y1
        各要素同士の縦間隔です。4
        要素の間隔(matrix) X[px]
        x2
        マトリックス内の各要素同士の横間隔です。1
        要素の間隔(matrix) Y[px]
        y2
        マトリックス内の各要素同士の縦間隔です。1
        要素のパディング X[px]
        x3
        各要素の横パディングです。5
        要素のパディング Y[px]
        y3
        各要素の縦パディングです。2
        パディング X[px]
        x4
        フォーム自体の横パディングです。8
        パディング Y[px]
        y4
        フォーム自体の縦パディングです。5
        タイトルバーのマージン[px]
        xy
        タイトル部分のマージンです。3
        タイトルのパディング[px]
        ty
        タイトル部分の縦パディングです。5
        フォームボタンの間隔[px]
        xb
        フォームボタン同士の横間隔です。5
        四隅の丸め[px]
        round
        フォーム四隅の丸め(カーブ)度合いです。3
        フォントファミリー
        fontFamily
        フォントです。デフォルトは、
        Trebuchet MS, Tahoma, Verdana, Arial, sans-serif です。
        説明参照
        タイトルのフォントサイズ[%]
        titleSize
        タイトルのフォントサイズです。110%
        ラベルのフォントサイズ[%]
        labelSize
        ラベルのフォントサイズです。90%
        入力のフォントサイズ[%]
        inputSize
        入力部分のフォントサイズです。100%
        ボタンのフォントサイズ[%]
        buttonSize
        ボタンのフォントサイズです。95%
        マットのフォントサイズ[%]
        matSize
        selectなどの選択肢のフォントサイズです。90%
        タブのフォントサイズ[%]
        tabSize
        タブタイトルのフォントサイズです。100%

        style : {"color":"gray","formWidth":800,"opacity":1}

        その他
        名前説明初期値ECDBBOOK
        テーブル幅[px]
        tableWidth
        一覧の幅です。500
        テーブル高[px]
        tableHeight
        一覧の高さです。300
        開始時にフォームを開く
        openForm
        システム実行時にフォームを開くかどうか。
        beforeLaunchが定義されている場合、このプロパティは無効となります。
        システムデフォルト
        開始時にテーブルを開く
        openTable
        各要素の垂直位置揃えの基準です。システムデフォルト
        メニューに追加
        noMenu
        synqueryのメニューに追加するかどうか。false(表示する)×
        フォームのリサイズ無し
        fixForm
        フォームのリサイズ抑止。false(抑止しない)
        検索ボタンなし
        noSearch
        検索用の虫眼鏡アイコン(左上)の表示抑止。false(抑止しない)
        改行の使用
        enterControl
        Enterキーでのフィールド移動機能の有無。true
        バインドキー
        bindKeyControl
        矢印キーでのフィールド移動機能の有無。true
        テーブルのエンベッド
        embedTable
        入力用フォームへの一覧結合。
        onMemoryの定義必須。
        false
        マウスでスクロールしない
        noFormScroll
        マウスホイールによる、データページングの無効化。false

        style : {"color":"gray","formWidth":800,"opacity":1}

        説明等
        名前説明初期値ECDBBOOK
        言語
        language
        フォームのtranslateにおける基本言語です。
        translateする際の基の言語を意味します。
        en(英語)
        フィールドの説明
        explain
        タイトルバーにカーソルをあてた時に表示する説明です。""
      • 1.4. Events



      • 1.5. Form Buttons

        入力フォームにおいて表示されるデフォルトのボタン群になります。
        省略するとすべてがデフォルト実装されますが、以下の記述により制御できます。
        ただし、自分で制御をする場合は押下時のイベントも自分で実装する必要があります。
        標準の機能を呼び出す場合は、下記一覧の記述方法を参照ください。
        formButton : "none", // formButton を一切表示しない
        formButton : "_CLOSE_:function(book){book.HideForm();}" // 閉じるボタンのみ表示
        ID表示意味機能
        記述方法
        _TOP_<<トップデータの先頭に移動します。
        _TOP_: function(book) {book.FirstForm();}
        _PREV_<前へ一つ前のデータに移動します。
        _PREV_: function(book) {book.PrevForm();}
        _TABLE_一覧一覧表示データ一覧を表示します。
        _TABLE_: function(book) {book.showTable();}
        _NEXT_>次へ一つ次のデータに移動します。
        _NEXT_: function(book) {book.NextForm();}
        _LAST_>>最後データの最後に移動します。
        _LAST_: function(book) {book.LastForm();}
        _NEW_新規作成新規データ作成ブックに新しいデータを作成します。
        _NEW_: function(book) {book.NewForm();}
        _EDIT_修正編集データ編集登録済みデータの編集を開始します。
        _EDIT_: function(book) {book.EditForm(true);}
        _FORK_複製編集データ複製表示中のデータを基に新規データを作成します。
        _FORK_: function(book) {book.ForkForm();}
        _PRINT_印刷印刷プレビュー表示表示中のデータの印刷プレビューを表示します。
        _PRINT_: function(book) {book.PrintForm();}
        _APPROVE_承認承認
        _APPROVE_: function() {}
        _CLOSE_閉じるフォームを閉じる表示中のフォームを閉じます。
        _CLOSE_: function(book) {book.HideForm();}
        _DATA_Data保存データ表示表示中のデータ内容を表示します。(BOOKオーナーのみ表示)
        _DATA_: function(book) {book.objectBox({}, book.GetVal());}
        _STRUCT_Struct構造表示フォームの構造オブジェクトを表示します。(BOOKオーナーのみ表示)
        _STRUCT_: function(book) {book.objectBox({}, book.obj);}
        _QUIT_編集中止編集の中止編集中のデータを破棄し、非編集モードに移行します。
        _QUIT_: function(book) {book.QuitForm();}
        _SAVE_新規保存新規データ保存入力中のデータを保存します。
        _SAVE_: function(book) {book.SaveForm();}
        _RESAVE_上書保存編集データを保存編集中の内容でデータを上書きします。
        _RESAVE_: function(book) {book.ResaveForm();}
        _UNDO_元に戻す一つ前の状態に戻す入力作業や編集を一つ前に戻します。(Windowsにおけるctl+z と同意)
        _UNDO_: function(book) {book.UndoForm();}
        _REDO_やり直し元に戻すをキャンセル元に戻した作業や編集を取り消します。
        _REDO_: function(book) {book.RedoForm();}
        _CLEAR_クリア入力内容の初期化フォーム上の入力値を初期値に戻します。
        _CLEAR_: function(book) {book.ClearForm();}
        _RESET_リセットフォームをリセット編集中のフォーム内容を編集前に戻します。
        _RESET_: function(book) {book.ResetForm();}
        _CHECK_チェック入力チェックの実行要素ルールとチェックロジックによる入力チェックを呼び出します。
        _CHECK_: function(book) {book.CheckForm();}
        _APPLY_適用変更の適用RSDエディタ(旧)における保存。(現在表示なし)
        _APPLY_: function(book) {}
      • 1.6. Table Buttons

        ID表示意味機能
        記述方法
        _NEW_新規作成新規データ作成ブックに新しいデータを作成します
        _NEW_: function() {book.ShowForm().NewForm();}
        _EXPORT_エクスポートデータエクスポートデータのエクスポートを行います
        _EXPORT_: function() {book.exportTable();}
        _IMPORT_インポートデータインポートデータのインポートを行います
        _IMPORT_: function() {book.importTable();}
        _EXCEL_エクセルエクセル出力データをエクセル出力します
        _EXCEL_: function() {book.excelTable(false);}
        _PRINT_印刷印刷プレビュー表示表示中のデータの印刷プレビューを表示します
        _PRINT_: function() {book..excelTable(true);}
        _CLOSE_閉じる一覧を閉じる表示中の一覧を閉じます
        _CLOSE_: function() {book.hideTable();}
        DELETE削除データの削除(論理)一覧上で右クリックすることで表示されるコンテキスト。選択中の行のデータを論理削除します。
        DELETE: function(book) {book.DelForm(key);}
        ViewerViewerで表示データをViewerで表示一覧上で右クリックすることで表示されるコンテキスト。選択中の行のデータを参照モードで表示します。
        Viewer: function() {book.View(key);}
        EditorEditorで表示データをEditorで表示一覧上で右クリックすることで表示されるコンテキスト。選択中の行のデータを編集モードで表示します。
        Editor: function() {book.LoadForm(key)}
        Print印刷データを印刷プレビューで表示一覧上で右クリックすることで表示されるコンテキスト。選択中の行のデータの印刷プレビューを表示します。(bookに印刷設定がされている場合のみ)
        Print: function() {book.LoadForm(key)}
      • 1.7. functions

        BOOKオブジェクトの持つ関数群です。
        APIdoc も併せて参照ください。
      • 2.1. List of Properties

        名前説明省略初期値
        dbDBのスキーマ名になります。
        指定しなかった場合は、プロジェクト直下の無名スキーマになります。
        説明の通り
        titleシステムのタイトルです。no title
        subtitleシステムのサブタイトルです。なし
        versionシステムにバージョンをつけたい場合に指定します。なし
        structureシステムに含まれるBOOKオブジェクトを指定します。
        記述方法は2.2. 構造を参照してください。
        不可設定必須
        styleシステム全体に適用されるスタイルです。
        全フォームに共通のスタイルを適用したい場合に利用します。
        なし
        languageシステムのtranslateにおける基本言語です。
        translateする際の基の言語を意味します。
        なし
        translateシステム用の翻訳ディクショナリオブジェクトを定義します。
        詳細は3.1. 翻訳を参照してください。
        なし
      • 2.2. Structures

        この部分には、BOOKオブジェクトを名前:オブジェクト形式で指定します。
        strucuret : {
        "book1" : { title: "aaa", table: "aaa" ... }, // book object
        "book2" : { title: "bbb", table: "bbb" ... }
        }
      • 2.3. Styles

        ある一部分を除き、BOOKのスタイルと同じになります。
        詳細は、1.3. スタイルを参照ください。
      • 2.4. Events

        • x.AppendFormButtonAfter

        • x.AppendFormButtonBefore

        • x.AppendTableButtonAfter

        • x.Button

        • x.CenterText

        • x.CheckForm

        • x.ClearForm

        • x.ClearForm

        • x.CreatedLines

        • x.DelForm

        • x.DelForm

        • x.DeleteButton

        • x.DialogDiv

        • x.Disabled

        • x.Divide

        • x.DomName

        • x.DrawTable

        • x.EditForm

        • x.Enabled

        • x.EnterElems

        • x.FirstForm

        • x.ForkForm

        • x.Form

        • x.FormButton

        • x.FormPosition

        • x.GetForm

        • x.GetRow

        • x.HideForm

        • x.HideFormButton

        • x.HideRow

        • x.HideTable

        • x.InitForm

        • x.InlineDiv

        • x.InlineForm

        • x.InlineFrame

        • x.InlineRichtext

        • x.InlineScript

        • x.InlineTable

        • x.InlineText

        • x.InsertButton

        • x.JustSaveForm

        • x.JustSaveForm

        • x.Key

        • x.LastForm

        • x.LeftText

        • x.LineNumber

        • x.LoadForm

        • x.LockedButton

        • x.MatrixBody

        • x.MatrixCount

        • x.MatrixHead

        • x.MatrixLength

        • x.MatrixLine

        • x.MatrixPosition

        • x.NewForm

        • x.NextForm

        • x.PrevForm

        • x.PrintForm

        • x.PutForm

        • x.QuitForm

        • x.QuitForm

        • x.ReadForm

        • x.RedoForm

        • x.RedrawForm

        • x.RefreshForm

        • x.RemoveForm

        • x.RemoveFormButton

        • x.ResaveForm

        • x.ResetForm

        • x.ResetForm

        • x.RightText

        • x.SaveForm

        • x.ShowForm

        • x.ShowFormButton

        • x.ShowRow

        • x.ShowTable

        • x.StaticLength

        • x.TabBody

        • x.TabHead

        • x.Table

        • x.TableBody

        • x.TableButton

        • x.TableHead

        • x.Tbody

        • x.Thead

        • x.TitleBar

        • x.UndoForm

        • x.UpdateTable

        • x.View

        • x.WriteForm

        • x.clearForm

        • x.clearForm

        • x.createIndex

          RSD に定義したキーに基づいてインデックスを貼ります。
        • x.excelTable

        • x.executable

        • x.exportTable

        • x.importTable

        • x.readable

        • x.resetForm

        • x.resetForm

        • x.saveForm

        • x.saveForm

        • x.writable

        • beforeLaunch

          アプリケーション起動時に呼び出されます。
        • beforeLogout

          ログアウト前に呼び出されます。
        • beforeSaveForm

          called when save function is invoked. This function make additional check for the read data. With return value, it inhibit the save action.
        • beforeShowForm

          called between the creation of the form and the first showing the form (fig.2). This function used for the form modification (eg. css etc) or event binding. This function doesn't effect to matrix row.
        • beforeShowTable

          called after table is created (fig.3).
        • beforeShowTableBody

          called after table body is created (fig.3).
        • beforeShowTableHead

          called after table head is created (fig.3).
        • berforeChangeForm

          called just after the element value has changed. it's used for the element initialization (fig.2).
        • berforeShowMatrix

          called in the creation of the form when each matrix row element is created (fig.2). The matrix row modifications and event binding should be done in this function. Since the created matrix row is cloned, all event binded in this function is available if row count will be changed.
        • onBroadcast

          called when broadcast event has occurred.
        • onChangeForm

          called after all operation of the system against element value's change. All value is already initialized and calculated. And changes are accumulated in redo buffer already (fig.2). The platform can do most of operation only within RSD description. However if you need to do more things, use this function and make it happen.
        • onChangeMode

          called when form mode is changed between editable and un-editable.
        • onDrawTable

          called when draw table by each line.
        • onGetForm

          called when data is read from the form. onGetForm should be used as complementary with 'onPutForm'. It's useful when object and form has some physical difference, and need to be modified (fig.3).
        • onIndexEnd

          called when index worker has completed.
        • onLoadForm

          called when data is loaded from database [ after string decryption ] (fig.3).
        • onPutForm

          should be used as complementary with 'onGetForm'. It's useful when object and form has some physical difference, and need to be modified (fig.3).
        • onSaveForm

          called when data is saved into database [ before string encryption ] (fig.3).
        • onShowView

          called when View is created.