作業 #26
open
Added by keiji ono 3 months ago.
Updated 2 months ago.
Description
ex.
ftestとftest2からjv3というivm tableが作成され、jv3に対するAPIがjs3の場合
ftest/ftest2 -> jv3 <-js3
ftest,ftest2はjv3がある限りdropできない。
jv3をdropするにはjs3をdeleteしないといけない。
js3 delete -> jv3 drop then ftest,ftest2 drop able
これでいいのか?
Related issues
1 (1 open — 0 closed)
- Related to 機能 #11: v3.1のivm機能実装 added
ivm tableと関連するtableがdropできないので、ivm tableはtable listに残してdropできるようにしておく。
該当するAPIを削除するとivm tableがdropされるのはそのまま。
これで、関連tableがdropできないときに対応できる。
ivm table/該当apiの削除でJetelinaJvmnizedJsApiListが更新されないので要対応。
API削除の処理で
ApiSqlListManager.delteApiFromList()内で以下の処理をして当該リストの更新を行っている。
# postgresql special
if j_config.JC["dbtype"] == "postgresql"
# delete apis from js* vs jv* matching file as well
#===
Tips:
wanted to do this here, because as much as synchrolize with the above
===#
deleteJvApiFromMatchingList(apis)
end
同じ処理をにApiSqlListManger.deleteTableFromList()に追加する。
# postgresql special
if j_config.JC["dbtype"] == "postgresql"
# delete apis from js* vs jv* matching file as well
deleteJvApiFromMatchingList(tablename)
end
結局、ivm tableを直接dropさせるのはいろいろと手がかかるので従来どおりapiを削除することで同時にdropする方法にもどる。
ただし、"ivm table対象api”ということでコマンドで表示を変えることにする。
- "show ivm api" command
- jsjvmatchingfile = JetelinaJvmnizedJsApiList 開いてjs->jvのリストを取得
ApiSqlListManager.jsjvmaching2DataFrame() -> Df_JsJvListがすでにあるのでこれを使おう
- 表示中のAPI LISTから当該APIの背景色を変更
- "close *"で背景色をもとに戻す
背景色はactieItemと同じにしている。これだと明示中にapiを開くことができない。これでもいいのだろうか?
ivm apiを表示するとき(e.g. show imv api)では、背景色を".imvItem"にした。
これでivm明示中にapiを開くことができる。
.ivmItemの背景色を元に戻すには"close all","refresh","clean up"などでやれるが、個別にapi名を指定しての"close"では聞かない。
理由:
背景色が異なる→選択されている、apiはselectedItemArrに格納されている。これはfunctionpanel.jsで宣言されている。
.imvItem はjetelinalib.jsで設定されるのでselectedItemArrに格納できない。そのため”個別にapi名を指定してのclose”ができない。
じゃあselect...をjetelina.lib.jsで宣言するようにすればいいじゃんという説もあるが、まあどうしてもというならそうしよう。
Also available in: Atom
PDF