めも、メモる

技術的メモ. VS Code Draw.io DOA

開発日記 2021/4/10

draw.io ditorUi.showDialogで表示させたDaillogをcancelBtnから呼び出したeditorUi.hideDialog();では実行できるのに、ditorUi.showDialogの引数でclosableをtrueにして閉じようとするとエラーになる。:this.onDialogClose is not a function

thisの渡し方に問題がありそう。

と思ってよく見たら、関数を渡すべきところにbooleanを渡していたことが原因だった。

そして、ではvscode版draw.ioに埋め込もうともう一度pluginシステムを見直してうまくいかない・・・

package.jsonからファイルパスを読んで、jsとして吐き出しているだけのはずなのだが、思った以上に複雑な処理をしていて、途中でjsonをstringに変換したりしている。よく見ていくと、まず、VS Codeの設定ファイルに書き出しているらしい。なるほど。

もう一つ、これはこの後考えようとしていたのだが、draw.ioにpluginシステムがある。なので、普通にこっちの枠組みで載せるべきのようだ。

VS Code以外でも色々と実行主体はある。なので、diagrams.net のpluginとして動かせるようにしておけた方が都合が良さそうだ。

で、昨年、draw.ioとdiagrams.net が分裂というかしているらしい。draw.ioはAtlassianファミリーの一部となったようだ。diagrams.net 側はオープンソースの開発元の会社として存在しているようだ。ウェブサイトをみると商業的な囲い込みに対して強い反対意見を表明している。

理念は素晴らしく、そのおかげで私も使えるわけなのだが、彼らの収益源が見えてこないのが気になる。ローカルで実行し、ファイルもどこにでも置けて、ソースコードオープンソースとなると、課金する場所が思い当たらない。これは不安材料である。自分が身を置くプラットフォームの先行きが不安なのは気になるところだが、ともかくも、最低、今サポートされているでは動かせるという点をよりどころにこれで進めることにする。

で、plugin開発のドキュメントが出てこない・・

Stack over followと、後はVSCodeプラグインとして公開されていたプラグインを見よう見まねするか。