DriveBase API(v2系)

DriveBaseは、DriveBaseが提供しているAPIと関数を組み合わせてアプリケーションを作成していきます。

目的に沿ったAPIを利用してください。

  • DriveBase API/関数は、v2よりES8対応となっています。

async対応関数をawaitで呼び出す事により、promiseによる同期処理となります。

ActionScriptクライアントクラス内にて、classを定義する事により、テンプレート関数となります。

  • DriveBase API/関数は、ActionScriptの中で、先頭に_db.を付与して呼び出すことができます。

例)_db.insertDBData('tbl_test');

  • Utility関数は、ActionScriptの中で、先頭にUtility.を付与して呼び出すことができます。

例)if (Utility.isNull(_f.社員コード.dbVal())) {・・・}

  • 作成されたクライアント共通関数は、先頭に_gf.を付与して呼び出すことができます。

例)_gf.cfunc1();

  • 作成されたサーバー共通関数は、先頭に_sf.を付与して呼び出すことができます。

例)_sf.sfunc1();

  • ユーザー記述のクライアント共通関数/サーバー共通関数は、必ずアロー関数ではなく、functionで記述して下さい(DriveBase制約)。

例)var func1 = async () => {・・・} ⭕️async function func1() {・・・}

  • SQLオブジェクトのJSON記述方法は全て共通です。

{"sql":'実行するDriveBaseSQL', "param":[実行するDriveBaseSQLにて"?"で指定されたパラメータ値]}

DriveBaseSQLで列を指定する場合は、{}で括ります(v1でのダブルコーテーションで括る方法も利用可能。v2からは{}を推奨)。

例){"sql":'select {社員コード}, {社員名}, {部署コード} from table_社員マスタ where {社員名} like ?', "param":['山田%']}

DriveBaseオブジェクト

DriveBaseフィールドオブジェクト

_f.fieldName(v1のfieldNameオブジェクトは廃止)

項目のプロパティ、fieldNameに、_f.を先頭につけてアクセスする(jQueryエレメントセレクタのエイリアス)。DriveBase用に拡張されたプロパティ、メソッドが利用できる。

  • _f.fieldName.dbVal()

フィールドに設定された値を取得する。コンポーネントのタイプに合わせて自動的に型が設定される。

例) let v = _f.売上金額.dbVal(); // vは数値型となる。

let v = _f.メモ.dbVal(); // メモはdivエレメント。divのinnerText値が入る

  • _f.fieldName.dbVal(value : any)

フィールドに値を設定する。コンポーネントのタイプに合わせて自動的に型が設定される。

例) _f.売上金額.dbVal('30,000'); // input type="number"で設定されている売上金額フィールドには数値型で30000が設定されている。

_f.メモ.dbVal('この欄は\n自由記述です'); // divエレメントのメモには\nが<br />に変換されて設定されている。

  • _f.fieldName.isNull()

Null(又は、DriveBase上でNullに該当するundefined、長さ0の文字列)をtrue/false判定する。

  • _f.fieldName.isNumeric()

数値かどうかをtrue/false判定する。

DriveBaseコンポーネントイベントでの自オブジェクト参照

_me(v1の$(this)オブジェクトは利用不可

DriveBaseイベントコード内にて、jQueryを利用して$(this)と記述すれば自オブジェクトを参照可能であったが、DriveBase制約(v2)によりイベント内では、thisが自関数自体の参照となる。これにより、$(this)で自オブジェクトを参照している場合は_meを利用する。ただし、DriveBaseイベント内でユーザーが、jQueryのonや、addEventListenerで定義したイベントは通常通り、$(this)又はthisを利用する。

v1フォームをDriveBase2にて変換する時は、$(this)が自動的に_meに置き換えられるので、イベント内on、addEventListener内の_meを$(this)、thisに置き換える処理を行う必要がある。

DriveBaseAPI/関数オブジェクト

_db.API/関数名(v1のDriveBaseオブジェクトは廃止)

DriveBaseで提供している関数、APIをActionScriptで呼び出す時に利用

DriveBaseクライアント関数オブジェクト

_gf.ユーザー定義の関数名(v1のglobalFunctionオブジェクトは廃止)

ユーザーがActionScript内のクライアント共通関数で作成した関数を呼び出す時に利用

DriveBaseサーバー関数オブジェクト

_sf.ユーザー定義の関数名

ユーザーがActionScript内のサーバー共通関数で作成した関数を呼び出す時に利用

端末タイプ判定オブジェクト

_ua.isMobile or _ua.isTablet

window.navigator.userAgentから端末タイプを判定

コールバック値オブジェクト

_co.コールバック変数名(v1のcallbackParamオブジェクトは廃止)

iframeで呼び出した子ウィンドウが_db.closePopupを行った時にコールバック関数に渡された値オブジェクト

画面遷移時のパラメータ値オブジェクト

_ao.パラメータ名(v1のargumentObjectオブジェクトは廃止)

_db.moveTo、_db.returnToで画面遷移した時に渡されるパラメータ値オブジェクト

ユーザー設定オブジェクト

_go.変数名(v1のglobalObjectオブジェクトは廃止)

ユーザーがActionScript内で自由に設定できるオブジェクト。フォーム内のActionScriptどこでも利用可能。

アップロードファイル情報

uploadFiles

アップロードコンポーネントを利用して、Googleドライブにアップロードしたファイルの情報がアップロードファイル数分Arrayで入り、ActionScript内のファイルアップロードにて利用可能。
※ 一つのアクション毎に入れ替わる(追加はされない)。2回アップロードしたときは2回目の情報のみ入る。

ログインユーザー情報

userInfo(v1の_uiオブジェクトは廃止)

DriveBaseにログインしているユーザーの情報が入る。

{

email: ユーザーアカウント名

name: 氏名

hd: ドメイン名

picture: ユーザーアイコン

}

初期ロードファイル情報

iniFile(v1のloadedFileObjectオブジェクトは廃止)

canvasにloadFileプロパティを設定している時に、読み込まれるファイルの情報
{

iconImg: ファイルのアイコン,

title: タイトル,

description: 説明,

id: GoogleファイルID,

mimeType: mimeType,

shared: 共有情報,

owner: ファイルオーナー,

modifiedDate: 修正日,

size: ファイルサイズ,

contents: ファイル内容

}

DriveBase API

フォームデータをDBテーブルへ登録する

return insertDBData(target : String, ...fn : Function)

async対応関数。DBTableNameに該当するテーブルが存在しない場合、自動で作成される。

target :String

    • フォームの各コンポーネントに設定されている、登録を行うターゲットのDBTableNameを指定。指定されなかった場合は、全てのDBTableNameが対象。

fn :Function

    • 登録後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:'エラー発生時のメッセージ', "登録されたDBTableName": '登録されたid'}のJSONが設定されている。

DBテーブルへINSERT SQL文を発行する

return insertBySQL(SQLObject : Array or Object, ...fn : Function)

async対応関数。

SQLObject :Array or Object

    • 実行するDriveBase INSERT SQL。複数指定する場合はArrayでSQLオブジェクトを指定する。

fn :Function

    • 登録後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:'エラー発生時のメッセージ', "登録されたDBTableName": '登録されたid'}のJSONが設定されている。

フォームデータをDBテーブルへ更新する

return updateDBData(target : String, ...fn : Function)

async対応関数。

target :String

    • フォームの各コンポーネントに設定されている、更新を行うターゲットのDBTableNameを指定。指定されなかった場合は、全てのDBTableNameが対象。

fn :Function

    • 更新後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:'エラー発生時のメッセージ', "更新されたDBTableName": '更新された行数'}のJSONが設定されている。

DBテーブルへUPDATE SQL文を発行する

return updateBySQL(SQLObject : Array or Object, ...fn : Function)

async対応関数。

SQLObject :Array or Object

    • 実行するDriveBase UPDATE SQL。複数指定する場合はArrayでSQLオブジェクトを指定する。

fn :Function

    • 更新後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:'エラー発生時のメッセージ', "更新されたDBTableName": '更新された行数'}のJSONが設定されている。

表示されているフォームデータをDBテーブルから削除する

return deleteDBData(target : String, ...fn : Function)

async対応関数。

target :String

    • フォームの各コンポーネントに設定されている、更新を行うターゲットのDBTableNameを指定。指定されなかった場合は、全てのDBTableNameが対象。

fn :Function

    • 削除後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:'エラー発生時のメッセージ', "削除されたDBTableName": '削除された行数'}のJSONが設定されている。

DBテーブルへDELETE SQL文を発行する

return deleteBySQL(SQLObject : Array or Object, ...fn : Function)

async対応関数。

SQLObject :Array or Object

    • 実行するDriveBase DELETE SQL。複数指定する場合はArrayでSQLオブジェクトを指定する。

fn :Function

    • 削除後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:'エラー発生時のメッセージ', "削除されたDBTableName": '削除された行数'}のJSONが設定されている。

指定された条件(JSON)にてDBテーブルを検索し、取得したデータをフォームへ展開する

return getFormDataFromDBData(condition : Object, ...fn : Function)

async対応関数。

condition :Object

    • 検索する条件。指定していない場合は、項目のプロパティ(DBTableNames、DBColumnName、DBKeyField、fieldType)とその値から自動構築。

キー名:検索対象のDBテーブル名

値:検索条件オブジェクト または 'auto'

キー名:条件を発行するDBカラム名(またはソート指定の"SYS_SORT"、取得する列を絞る"SYS_COLUMN")

値:"String" or {Object} or [Array]・・・比較する値

"String"

イコール検索する値

{Object}

キー名:"compare"

値:'='、'Like'など、SQL Where句の比較演算子

キー名:"value"

値:比較する値(String, Number)

[Array]

条件を発行するDBカラム名に対して、IN句の値になる値/検索条件オブジェクト(同じDBカラム名でのor結合)。または、ソート項目の指定

{Object}

キー名:"compare"

値:'='、'Like'など、SQL Where句の比較演算子

キー名:"value"

値:比較する値(String, Number)

"String"(条件を発行するDBカラム名が"SYS_SORT"、"SYS_COLUMN"以外)

WHERE時のIN句の値の列挙

"String"(条件を発行するDBカラム名が"SYS_SORT")

並び替えるDBカラム名+空白+"DESC or ASC"

"String"(条件を発行するDBカラム名が"SYS_COLUMN")

取得するDBカラム名

fn :Function

    • 削除後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ, "テーブル名":[レコード値]}のJSONが設定されている。

指定された条件(JSON)にてDBテーブルを検索し、データをJSONで返却する

return getJsonFromDBData(condition : Object, ...fn : Function)

async対応関数。

condition :Object

    • 検索する条件。指定していない場合は、項目のプロパティ(DBTableNames、DBColumnName、DBKeyField、fieldType)とその値から自動構築。

キー名:検索対象のDBテーブル名

値:検索条件オブジェクト または 'auto'

キー名:条件を発行するDBカラム名(またはソート指定の"SYS_SORT"、取得する列を絞る"SYS_COLUMN")

値:"String" or {Object} or [Array]・・・比較する値

"String"

イコール検索する値

{Object}

キー名:"compare"

値:'='、'Like'など、SQL Where句の比較演算子

キー名:"value"

値:比較する値(String, Number)

[Array]

条件を発行するDBカラム名に対して、IN句の値になる値/検索条件オブジェクト(同じDBカラム名でのor結合)。または、ソート項目の指定

{Object}

キー名:"compare"

値:'='、'Like'など、SQL Where句の比較演算子

キー名:"value"

値:比較する値(String, Number)

"String"(条件を発行するDBカラム名が"SYS_SORT"、"SYS_COLUMN"以外)

WHERE時のIN句の値の列挙

"String"(条件を発行するDBカラム名が"SYS_SORT")

並び替えるDBカラム名+空白+"DESC or ASC"

"String"(条件を発行するDBカラム名が"SYS_COLUMN")

取得するDBカラム名

fn :Function

    • 削除後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ, "テーブル名":[レコード値]}のJSONが設定されている。

指定されたSQLオブジェクトでDBテーブルを検索し、取得したデータをフォームへ展開する

return getFormDataBySQL(SQLObject : Array or Object, ...fn : Function)

async対応関数。

SQLObject :Array or Object

    • 実行するDriveBaseSQL。複数指定する場合はArrayでSQLオブジェクトを指定する

fn :Function

    • 更新後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ, "テーブル名":[レコード値]}のJSONが設定されている。

指定されたSQLオブジェクトでDBテーブルを検索し、データをJSONで返却する

return getJsonBySQL(SQLObject : Array or Object, ...fn : Function)

async対応関数。

SQLObject :Array or Object

    • 実行するDriveBaseSQL。複数指定する場合はArrayでSQLオブジェクトを指定する。

fn :Function

    • 更新後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ, "テーブル名":[レコード値]}のJSONが設定されている。

DBテーブルへSQLを発行するサーバー共通関数内でも利用可能)

return query(SQL : String, param : Array, ...fn : Function)

async対応関数。

SQL :String

    • 実行するDriveBaseSQL。

param :Array

    • SQLで指定された?に対するパラメータ。

fn :Function

    • 更新後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ, result:[レコード値] or '登録されたID' or '更新された行数' or '削除された行数' ※1}のJSONが設定されている。

※1 resultは発行されるSQLタイプによって値が変わる。

Googleドライブ操作コマンドを実行する

return executeDriveCommand(command : String, param : Object, ...fn : Function)

async対応関数。

command :String

    • "copy"、"move"、"remove"、"put"、"post"、"change"、"get"、"list"、"getCommentReplies"、"postCommentReply"、"putCommentReply"のいずれかを指定

param :Object

    • commandが"copy"

{

id:コピー元ファイルID,

title:コピー先ファイル名,

description:コピー先ファイル説明,

targetParent:コピー先フォルダ

}

    • commandが"move"

{

id: 移動元ファイルID,

targetParent: 異動先フォルダID,

}

    • commandが"remove"

{

id: 削除ファイルID

}

    • commandが"put"

{

id: 削除ファイルID,

data: [任意]書込文字データ

}

    • commandが"post"

{

title: 作成ファイルタイトル,

mimeType: 作成ファイルMimeType,

description: [任意]作成ファイル説明,

parent: [任意]作成先フォルダID

data: 書込文字データ

}

    • cmmandが"change"

{

id: 変更元ファイルID,

title: [任意]変更ファイル名,

mimeType: [任意]変更MimeType,

description: [任意]変更説明内容,

role:{

email: 変更する対象メールアドレス,

newRole: 付与する権限(owner,writer,reader等),

additionalRoles: [任意]commenter

}

}

    • commandが"get"

{

id: 取得ファイルID,

revisionId: [任意]リビジョンID

}

    • commandが"list"

{

q: [任意]取得条件

}

    • commandが"getCommentReplies"

{

id: 対象ファイルID,

commentId: 対象コメントID

}

    • commandが"postCommentReply"

{

id: 対象ファイルID,

commentId: 対象コメントID,

content: コメント

}

    • commandが"putCommentReply"

{

id: 対象ファイルID,

commentId: 対象コメントID,

replyId: 対象リプライID,

content: コメント

}

fn :Function

    • 更新後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ, result:{contents:'ファイル内容'}}のJSONが設定されている。

Googleカレンダー操作コマンドを実行する

return executeCalendarCommand(command : String, param : Object, ...fn : Function)

async対応関数。

command :String

    • "delete"、"put"、"post"、"get"、"list"のいずれかを指定

param :Object

    • commandが"delete"

{

calendarId: カレンダーID,

eventId: イベントID

}

    • commandが"put"

{

calendarId: カレンダーID,

eventId: イベントID,

contents: イベントオブジェクト(カレンダーイベントリソース)

}

    • commandが"post"

{

calendarId: カレンダーID,

contents: イベントオブジェクト(カレンダーイベントリソース)

}

    • commandが"get"

{

calendarId: カレンダーID(デフォルトはアカウント名),

eventId: イベントID

}

    • commandが"list"

{

calendarId: カレンダーID(デフォルトはアカウント名),

minTime: 開始日時(1970-01-01 00.00.00.000,

maxTime: 終了日時

}

fn :Function

    • 更新後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ, result:{contents:'ファイル内容'}}のJSONが設定されている。

Googleコンタクト操作コマンドを実行する

return executeContactsCommand(command : String, param : Object, ...fn : Function)

async対応関数。

command :String

    • "list"を指定

fn :Function

    • 更新後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ, result:コンタクト}のJSONが設定されている。

ロギングを行うサーバー共通関数内でも利用可能)

createLog(logData : Object)

data : Object

method: "記録するメソッド名"

name:"記録する処理名"

status:"実行状態" ※HTTPステータスと同じコードを推奨

message: "記録するメッセージ"

指定されたSQLオブジェクトでDBテーブルを検索し、CSVを作成後、ダウンロードする

createCSVBySQL(SQLObject : Object, columnOrder : Array, fileName : String, encording : String)

SQLObject :Object

  • 実行するDriveBaseSQL

columnOrder :Array

  • 列の並び順をArrayで指定する

fileName :String

  • ファイル名を指定する

encording :String

  • ダウンロード時のエンコーディングを指定する。未指定の場合はUTF-8

Gmailアカウントを利用してメールを送信する

return sendGmail(mailInfo : Object, attFiles : Array, ...fn : Function)

async対応関数。

mailInfo :Object

    • 送信するメール情報。以下の形式で指定する

{

"to": Array(送信先メールアドレス文字列を配列で指定),

"cc": Array(送信先ccアドレス文字列を配列で指定),

"bcc": Array(送信先ccアドレス文字列を配列で指定),

"subject": '件名',

"content": 'メール本文'

}

attFiles :Array

    • Googleドライブにアップロードされている添付ファイルのGoogleファイルIDを配列で指定する

fn :Function

    • 更新後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ}のJSONが設定されている。

CSVよりDBテーブルへデータをインポートする

return importFromCSV(CSVInfo : Object, jobName : String, ...fn : Function)

async対応関数。

CSVInfo :Object

    • CSVを取り込む情報。以下の形式で指定する

{

fileId: "GoogleファイルID",

encode: "CSVファイルのエンコード",

delimiter: ",", // 区切り文字(タブ区切りは\t)

header: true or false(省略可能),

table: {

target: "取り込み先のテーブル名",

keyColumns: [

{

type:"String" or "Number",

JSONKeyName:"キー項目のカラム名(JSONKeyName)",

TableColumnName:"実カラム名(存在するときのみ)"

},

...

],

duplicateAction: "delete&insert" or "update|insert" or "nothing",

columns: [ <- CSV列の並び順通りに記述

{

type:"String" or "Number" or "Date",

JSONKeyName:"取り込み先のカラム名"

},

{

JSONKeyName: "none" // <- このCSV列は無視される

},

...

],

rowFunction: "CSVデータ取得後(CSVレコード値はオブジェクトJSONRecordを参照)に実行するJavaScriptを文字列形式で記述する。戻り値としてfalseが返されるとその行は取り込まない。"

},

finishSQL: [

"update XXXX set XXXX='YYYY' where XXXX = 'ZZZZ'",

"update XXXX set XXXX='YYYY' where XXXX = 'ZZZZ'",

...

],

beforeDeleteAll: true or false

}

jobName :String

    • ログファイルに記録する処理名を記述する

fn :Function

    • CSV取り込み処理を受け付けた後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ}のJSONが設定されている。

データベースをバックアップする

return DBBackup(backupFolderId : String, backupTableName : Array, ...fn : Function)

backupFolderId :String

  • バックアップファイルを保存するGoogleドライブフォルダID

backupTableName :Array

  • データベース内のテーブルを選択してバックアップする場合、テーブル名をArrayで指定する

fn :Function

  • バックアップ処理を受け付けた時に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ}のJSONが設定されている。

データベースをリストアする

return DBRestore(backupFileId : String, ...fn : Function)

backupFileId :String

  • DBBackupで保存されたGoogleドライブ上のファイルID

fn :Function

  • リストア処理を受け付けた後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ}のJSONが設定されている。

DriveBaseトークン(DBアクセスをトークンで行う)を設定する

return setDriveBaseToken(tokenName : String, type : String, update : String, ...fn : Function)

async対応関数。

tokenName :String

  • トークンの名称

type :String

  • トークンの有効期限

-1:発行中トークンの削除

0:有効期限設定なし

1:5分間有効

2:1時間有効

3:1日間有効

4:1週間有効

5:1ヶ月間有効

6:1年間有効

7:1回のみ有効

update :String

  • 更新方法(tokenNameが既に存在しているトークンの更新。未指定の場合は、0)

0:有効期限とトークンを更新

1:有効期限のみ更新

fn :Function

  • トークン発行後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ, result:{token:発行されたDriveBaseトークン値, limittime:有効期限日付}}のJSONが設定されている。

ドメイン内で設定されているDriveBaseトークンリストを取得する

return getDriveBaseTokens(...fn : Function)

async対応関数。

fn :Function

  • トークン発行後に実行する関数(最大2つ。一番目は成功時、二番目は失敗時に実行)。引数として、{status:HTTPレスポンスステータス, message:エラー発生時のメッセージ, result:[{

title:'DriveBaseトークン名',

token:'DriveBaseトークン',

limittime:'有効期限時間(1970-01-01 00:00:00.000からのミリ秒)',

email:'トークンを発行したアカウント名'

}]}のJSONが設定されている。

DriveBase関数

JSONデータをフォームへ展開する

jsonToFormData(data : Array or Object, targetElement : String or jQueryElement or HTMLElement, saveSession : boolean, fieldType : String)

async対応関数。

data :Array or Object

    • 展開するJSONオブジェクトまたはArrayデータ。JSONオブジェクトの場合、{"table" : 'ターゲットとなるDBTabbleName', "record" : [展開するデータ]}、または{'ターゲットとなるDBTableName' : [展開するデータ]}

targetElement :String or jQueryElement or HTMLElement

    • 展開先となるHTMLエレメントのID、またはjQueryエレメント、HTMLエレメント。

sessionSave :boolean

    • データをセッションに保持するかをtrue、falseで指定。テーブルデータを保持すると、HTMLテーブルへのページ制御が可能になる。

fieldType :String

    • 未指定の場合はDBFieldを設定しているエレメントが対象となる。

HTMLテーブル最終行に1行追加する

appendTableRow(targetElement : String or jQueryElement or HTMLElement, fieldType : String, fn : Function)

targetElement :String or jQueryElement or HTMLElement

  • 展開先となる<table>のHTMLエレメントのID、またはjQueryエレメント、HTMLエレメント。

fieldType :String

  • 未指定の場合はDBFieldを設定しているエレメントが対象となる。

fn :Function

  • 追加後に実行する関数

データ退避先を指定する

useSession(saveSession : boolean)

saveSession :boolean

  • trueまたはundefined、nullの場合、ブラウザセッションに保持。falseの場合は、indexedDBに保持される。

indexedDBに保持した場合、大容量のデータも保持できるが、jsonToFormData関数は、awaitで同期させないと非同期実行となる。

フォームを入力不可状態にする

setReadOnly(format : boolean, DBTableName : String)

format :boolean

  • trueの場合、Date型、Number型入力を、"/"や","で区切られた文字列にする。

DBTableName :String

  • 指定したDBTableNameを持つフィールドに対して入力不可にする。

フォームを入力可能状態にする

setRewritable(exceptElement : Array, DBTableName : String)

exceptElement :Array

  • 除外するエレメントのID(String)をArrayで設定する。未指定の場合は、nullまたは[]で設定する。

DBTableName :String

  • 指定したDBTableNameを持つフィールドに対して入力可能にする。

画面遷移を行う(次画面遷移)

moveTo(url : String, param : Object, animation : String, direct : boolean)

url :String

  • 遷移先フォームのURLを指定する。GoogleドライブのファイルID、又は完全なURLで指定する。

param :Object

  • 遷移先フォームに渡す値を設定する。遷移先では、_aoオブジェクトでアクセス可能

例)db.moveTo('XXXX', {'code':'abc001'}); → console.log(_ao['code']); // abc001

animation :String

  • 遷移先フォームの表示方法(アニメーション)を指定する

    • slide:左に現フォームが流れて、右から遷移先フォームを表示

    • fadeIn : 現フォームをフェードアウトし、遷移先フォームをフェードインで表示

direct :boolean

  • Googleドライブから読み込まない場合、trueを指定し、Googleドライブアクセス可能かどうかの認証を行わない。

画面遷移を行う(前画面遷移

returnTo(url : String, param : Object, animation : String, direct : boolean)

url :String

  • 遷移先フォームのURLを指定する。GoogleドライブのファイルID、又は完全なURLで指定する。

param :Object

  • 遷移先フォームに渡す値を設定する。遷移先では、_aoオブジェクトでアクセス可能

例)db.returnTo('XXXX', {'code':'abc001'}); → console.log(_ao['code']); // abc001

animation :String

  • 遷移先フォームの表示方法(アニメーション)を指定する

    • slide:に現フォームが流れて、から遷移先フォームを表示

    • fadeIn : 現フォームをフェードアウトし、遷移先フォームをフェードインで表示

direct :boolean

  • Googleドライブから読み込まない場合、trueを指定し、Googleドライブアクセス可能かどうかの認証を行わない。

呼び出した親フォームの画面遷移を行う(iframeで呼び出されたフォームでなければ無効)

parentMoveTo(url : String, param : Object, animation : String, direct : boolean)

url :String

  • 呼び出し元の親フォームの遷移先URLを指定する。GoogleドライブのファイルID、又は完全なURLで指定する。

param :Object

  • 遷移先フォームに渡す値を設定する。遷移先では、_aoオブジェクトでアクセス可能

例)db.parentMoveTo('XXXX', {'code':'abc001'}); → console.log(_ao['code']); // abc001

animation :String

  • 遷移先フォームの表示方法(アニメーション)を指定する

    • slide:左に現フォームが流れて、右から遷移先フォームを表示

    • fadeIn : 現フォームをフェードアウトし、遷移先フォームをフェードインで表示

direct :boolean

  • Googleドライブから読み込まない場合、trueを指定し、Googleドライブアクセス可能かどうかの認証を行わない。

ポップアップウィンドウにて新しいフォームを開く

popupTo(url : String, size : Object, param : Object, animation : String, direct : boolean)

url :String

  • ポップアップで開く遷移先フォームのURLを指定する。GoogleドライブのファイルID、又は完全なURLで指定する。

size :Object

  • ポップアップで開くウィンドウサイズを{"width":"指定値(px)", "height": "指定値(px)"}で指定する。指定がなかった場合、640x480pxとなる

param :Object

  • 遷移先フォームに渡す値を設定する。遷移先では、_aoオブジェクトでアクセス可能

例)db.popupTo('XXXX', {'code':'abc001'}); → console.log(_ao['code']); // abc001

animation :String

  • 遷移先フォームの表示方法(アニメーション)を指定する

    • slide:左に現フォームが流れて、右から遷移先フォームを表示

    • fadeIn : 現フォームをフェードアウトし、遷移先フォームをフェードインで表示

direct :boolean

  • Googleドライブから読み込まない場合、trueを指定し、Googleドライブアクセス可能かどうかの認証を行わない。

ポップアップで開かれたウィンドウで、自ウィンドウを閉じてから呼び出し元フォームのコールバック関数を呼び出す

closePopup(param : Object)

param :Object

  • 呼び出し元フォームに渡す値を設定する。遷移先では、_coオブジェクトでアクセス可能

例)db.closePopup({'code':'abc001'}); → console.log(_co['code']); // abc001

入力フィールドの整合性チェックを行う

checkValidity()

requiredプロパティ値にtrueが設定されているフィールドが対象。その他は、typeにDateやNumberなどを設定しているフィールド。

HTMLテーブルの初期化を行う

initiTable(tableId : String or jQueryElement or HTMLElement)

tableId :String or jQueryElement or HTMLElement

  • 初期化するHTMLテーブルのエレメントID、又はjQueryエレメント、HTMLエレメント。

フォームタイトルを編集する

setHeader(headerObject : Object)

headerObject : Object

headerStyle: "ヘッダー領域全体のスタイル"

titleText: "タイトル文字"

titleStyle:"タイトルのスタイル"jQueryのスタイル指定形式

descriptionText:"説明欄文字"

descriptionStyle: "説明欄のスタイル" ※ jQueryのスタイル指定形式

imageSrc: "タイトルイメージのURL"

imageStyle: "タイトルイメージのスタイル" ※ jQueryのスタイル指定形式

accountText: "アカウント文字"

accoutStyle: "アカウントのスタイル" ※ jQueryのスタイル指定形式

accountPictureSrc: "アカウントイメージのURL"

accountPictureStyle: "アカウントイメージのスタイル"

accountPictureTitle: "アカウントイメージのポップアップ文字"

leftButtonText: "ヘッダー左ボタンのテキスト" ※モバイル時のみ

leftButtonStyle: "ヘッダー左ボタンのスタイル" ※モバイル時のみ。jQueryのスタイル指定形式

rightButtonText: "ヘッダーボタンのテキスト" ※モバイル時のみ

rightButtonStyle: "ヘッダーボタンのスタイル" ※モバイル時のみ。jQueryのスタイル指定形式

iframeをリロードする

reloadiframe(iframeId : String or jQueryElement or HTMLElement)

iframeId :String or jQueryElement or HTMLElement

  • リロードするiframeのエレメントID、又はjQueryエレメント、HTMLエレメント。

テーブルリサイズ時、各セル幅を設計時のセル幅割合に応じて広げる

setTDWidth(tableId : String or jQueryElement or HTMLElement)

tableId :String or jQueryElement or HTMLElement

  • リロードするtableIdのエレメントID、又はjQueryエレメント、HTMLエレメント。

渡されたJSONをカラム情報で解析し、CSVを作成後、ダウンロードする

createCSVFromJson(columnOrder : Array, jsonData : Array, fileName : String)

columnOrder :Array

  • 列の並び順を{"title":'ヘッダー見出し","JSONKeyName": '出力するJSONキー項目'}というObjectでArray指定する

jsonData :Array

  • 出力するJSONデータ

fileName :String

  • ダウンロード時のファイル名

SweetAlert2メッセージボックスを表示する

Swal(title : String, message : String, icon : String, toast : boolean, timer : Number)

title :String

  • メッセージボックスタイトル

message :String

  • メッセージボックス本文

icon :String

  • SweetAlert2のアイコン設定

toast :boolean

  • トースト表示(右上で固定となります)する場合、trueに設定

timer :Number

  • トースト表示(右上で固定となります)を行っている時間(ミリ秒)。timerが設定されていると、ボタンは非表示

Utility関数

ローダーを表示する

showLoader(delay : Number)

delay :Number

  • 表示遅延時間を指定(遅延させない場合は指定なし)

ローダーを消去する

hideLoader(delay : Number)

delay :Number

  • 消去遅延時間を指定(遅延させない場合は指定なし)

DriveBaseサーバーとの接続を確認する

return ping()

Promise型。エラー時はrejectされる。

DriveBaseで、nullと同様の意味合い(null、undefined、{}、[]、'"")を持つ値の判定を行う

return isNull(value : any)

value :any

  • Null判定を行う変数を指定。trueでNullと同様の意味合い、falseで値あり。

数値判定を行う

return isNumeric(value : any)

value :any

  • 数値判定を行う変数を指定。trueで数値、falseで数値以外

日付変換を行う

return formatDateTime(date : Date)

date :Date

  • yyyy/MM/dd HH:mm:ss形式で返却する

数値型の値を返す

return getNumeric(value : any)

value :any

  • 変数に入っている数値のみを抜き出して返却する

数値を3桁区切り型の文字列にする

return separate(value : Number)

value :Number

  • 3桁区切りにする数値。

階層オブジェクトが存在するか判定する

return hasObject(object : Object, ...keyName : String)

指定したオブジェクトが存在していたらtrue、なければfalseを返却
object :Object

  • チェックするオブジェクト

keyName :String

  • チェックするキー名

文字タイプを判定する

return checkCharType(value : any, type : String)

value :any

  • 判定する値

type :String

  • 以下の値を指定する

"zenkaku" ・・・全角文字(ひらがな・カタカナ・漢字 etc.)

"hiragana" ・・・全角ひらがな

"katakana" ・・・全角カタカナ

"alphanumeric" ・・・半角英数字(大文字・小文字)

"numeric" ・・・半角数字

"alphabetic" ・・・半角英字(大文字・小文字)

"upper-alphabetic" ・・・半角英字(大文字のみ)

"lower-alphabetic" ・・・半角英字(小文字のみ)

文字列の改行を<br />に変換する

return nl2br(value : String)

value :String

  • 改行が入った文字列

<br />を文字列改行に変換する

return br2nl(value : String)

value :String

  • <br />が入った文字列

スネークケース文字列をキャメルケース文字列に変換する

return snake2camel(value : String, upper : boolean)

value :String

  • スネークケース文字列

※ アンダースコア、ハイフン、半角スペースを変換

先頭の区切り文字は削除

変換前にある文字列中の大文字は変換されないので注意

upper :boolean

  • アッパーキャメルケースにする場合はtrue(デフォルトはfalse)

キャメルケース文字列をスネークケース文字列に変換する

return camel2snake(value : String, separator : String)

value :String

  • キャメルケース文字列

先頭の連続した大文字は大文字の最後尾とそれ以外に分解される。また、最後尾の連続した大文字はひとつのまとまりとして変換する。

※ ABCDEF → abcdef

abcDef → abc-def

AbcDef → abc-def

DEFClass → def-class(先頭の連続した大文字は分解)

classID → class-id(最後尾の連続した大文字はひとつのまとまりとして変換)

separator :String

  • 区切り文字(デフォルトはハイフン)

ひらがなを全角カタカナに変換する

return hira2kana(value : String, opt : boolean)

value :String

  • 変換するひらがな

以下の文字は結合してカタカナに変換

「う゛」→「ヴ」

「わ゛」→「ヷ」

「ゐ゛」→「ヸ」

「ゑ゛」→「ヹ」

「を゛」→「ヺ」

「ゝ゛」→「ヾ」

opt :boolean

  • 小文字の「ゕ」「ゖ」を変換するかどうか。falseを指定した場合は変換なし

全角カタカナをひらがなに変換する

return kana2hira(value : String, opt : boolean)

value :String

  • 変換するカタカナ

以下の文字を結合・展開

※ 「ウ゛」→「ゔ」

「ヷ」→「わ゛」

「ヸ」→「ゐ゛」

「ヹ」→「ゑ゛」

「ヺ」→「を゛」

「ヽ゛」→「ゞ」

※ ひらがなに無いカタカナは変換しない

「ㇰ」「ㇱ」「ㇲ」「ㇳ」「ㇴ」「ㇵ」「ㇶ」「ㇷ」

「ㇸ」「ㇹ」「ㇺ」「ㇻ」「ㇼ」「ㇽ」「ㇾ」「ㇿ」

opt :boolean

  • 小文字の「ヵ」「ヶ」を変換するかどうか。falseを指定した場合は変換なし

半角カタカナを全角カタカナに変換する

return hankana2zenkana(value : String)

value :String

  • 変換する半角カタカナ

全角半角に変換する

return han2zen(value : String, tilde : boolean, mark : boolean, hankana : boolean, space : boolean, alpha : boolean, num : boolean)

value :String

  • 変換する文字列

tilde :boolean

  • チルダ falseを指定した場合は変換なし

mark :boolean

  • 記号 falseを指定した場合は変換なし

hankana :boolean

  • 半角カナ記号 trueを指定した場合のみ変換

space :boolean

  • スペース falseを指定した場合は変換なし

alpha :boolean

  • 英字 falseを指定した場合は変換なし

num :boolean

  • 数字 falseを指定した場合は変換なし

半角全角に変換する

return han2zen(value : String, tilde : boolean, mark : boolean, hankana : boolean, space : boolean, alpha : boolean, num : boolean)

value :String

  • 変換する文字列

tilde :boolean

  • チルダ falseを指定した場合は変換なし

mark :boolean

  • 記号 falseを指定した場合は変換なし

hankana :boolean

  • 半角カナ記号 trueを指定した場合のみ変換

space :boolean

  • スペース falseを指定した場合は変換なし

alpha :boolean

  • 英字 falseを指定した場合は変換なし

num :boolean

  • 数字 falseを指定した場合は変換なし

一文字表現の"㍿"を"株式会社"の複数文字に展開する

return one2multi(value : String)

value :String

  • 変換する文字列。現在は以下の文字のみ対応。

㈱→(株)

㈲→(有)

(社)

(特)

(財)

(学)

(監)

株式会社