めも、メモる

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

2021/5/8 開発日記

グループ化がうまくできない。図形ごとに設定できるstyleをしらみつぶしに見ていく。 最初はソースコードを見ていたのだが、画面上の設定を見たほうが良いことに今更ながら気づく。 containerという設定がある。autosizeもあって、このあたりをうまく使うと…

2021/5/4 開発日記

日が空いてしまうと前回いつだったか忘れてしまうのだが、このブログの更新日をみれば前回いつだったかがわかる仕組みになっていることに気づく。 さて。draw.ioには選択状態からコネクションを伸ばして、エンティティ+関連を同時に書けるのだが、親子でグ…

2021/4/25

前回の内容を開始前に書くという方式だと、1週間以上空いた後に思い出すのに苦労する。 Accessで書く機会があってというか、そっちに時間がとられているのだが、画面ファーストで新しいエンティティが出てきたとき、テーブルを追加するときに、まずER図で書…

開発日記 2021/4/24

コネクションがエンティティにくっついている位置の指定方法だが、よく見ていくと、mxCellのstyleの中で、entryX, entryY,exitX,exitYが指定されている。styleはCSSと同じ書き方になっている。ソースコードを読んでいくと、読み書きするinterfaceがあって、…

開発日記 2021/4/23

コネクションは、Edgeにgeomtry設定されているから、そこで両サイドの座標が設定されていると思いきや、Chrome開発モードで実データを確認すると何も指定されていない・・・状況によって指定されることがあるようだ。 drawioの前にvisioでアドインを色々書い…

開発日記 2021/4/21

編集ウィンドウが表示される位置をクリックしたエンティティのすぐ横に変更。 右クリックで出てくるメニューに項目を追加。 次は、コネクションの位置を自動で調整する機能を作ろう。

開発日記 2021/4/18

vertexにマウスオーバーしたとき、矢印が出てきてそこでCTL+Clickすると、vertexがコピーされるのだが、その時、データが空白でコピーできるようにしたいと思って調査。 ソースコードを旅することになる。マウスオーバーのときに表示されるメッセージから検…

開発日記 2021/4/17

ドキュメントを読み返し、ソースコードを読んだが、コネクションポイントを増やす処理はよくわからず。読んでいくと、くっつけてからコネクションポイントの座標を設定しているようだ。ここはあきらめる。それに、接点はedgeのstyleで指定できるのだから、プ…

開発メモ 2021/4/15

コネクションの追加が簡単と思いきやちょっと複雑で、mxGraphのサンプルを読むと図形ごとのclassのprototypeのconstraintsを上書きしている。仕組みは少し厄介で、インスタンスごとにコネクションを増やすことは簡単ではないかもしれない。ソースを読んでさ…

開発メモ 2021/4/13

更新ウィドウの表示と、cellへの値の反映までできた。 タブ送りでフォーカス抜けたらウィンドウを閉じるようにする。ここまではよい。 コネクションの数が少ないな。 それができたら、渡辺幸三氏のコンセプトウェアを写経しつつ、気になった機能を作り込んで…

開発日記 2021/4/12

他のプラグインを参考にしつつ、セルをクリックしたときに編集用ウィンドウを出せるようになった。セル中の表示はHTMLで記載しているので、それを読み取って、編集できるようにする。 3つの編集枠があるので、tabでの移動を基本として、タブで最後のボック…

開発日記 2021/4/11

draw.ioのmermaidプラグインを読んだら色々とわかってきた。 Githubからソース落としてきて、ソースコードが実質2ファイルとわかった時の安ど感。そもそも、標準で用意されているプラグインがあって、それを読めばよかったのだった。 ずいぶんと遠回りした…

開発日記 2021/4/10

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

Draw.ioでモーダルウィンドウを表示させた

github.com 読み込みの続き。 ノードのダブルクリックイベントは取れるようになったので、独自の編集ウィンドウを表示させたい。モーダルウィンドウを自作する?いや、その関数はあるはずで、触っていて見た画面を検索して、 EditorUi.prototype.showDialog …

jpGraphを読んだ

基本的に前日にやった内容を書いて、振り返りつつ、今日何をするかを書くことにしている。そうれば、リズムを作るのによい。 昨日は、巨大なjpGraph(draw.ioのオープンソース版)を読み始めた。urlに?dev=1をつけると圧縮前のjsファイルを読み込むことがわか…

Draw.io のオープンソース版を理解する

draw.ioのVS Codeにはプラグインシステムがあって、読んでいくと、package.jsonで指定したjsファイルを読みこんで、vscodeのwebviewの中でscriptタグの中身として展開してくれるようだ。なるほど。 さあ、触れてみようかと、中をのぞいてみると。 draw.ioのV…

Draw.io VS code版(非公式)のプラグインシステムを理解する

プラグインのwebviewのhtmlは見つかったものの、そこから参照されている、jsやcssのファイルが全くない。drawioというフォルダ以下に展開されるはずなのだが。。 ずっとwebpackとかnodeとかでビルドした結果がうまく出力されていないと思い込んでいたが、よ…

JavaScriptでライブラリの読み込みができていない

エラー画面になってしまうので、デバックをしてみていたのだけど、簡単にはいかなそうなので、VSCodeのWebViewのドキュメントを読み直す。 VSCode → WebViewと、WebView → VSCodeのメッセージのやり方を理解して、もう一度デバッグしていると、WebView → VSC…

Draw.io VS codeエクステンションが動かない

ところで、このdraw.ioのvs code拡張機能は、本家draw.ioとは非公式のもののようだ。なかなか面白い話。そもそも、draw.ioのもとになっている基盤もmxGraphとして公開されているし、この辺はとても興味深い。 vs codeのCustomEditorの解説を読んでいると、テ…

開発メモを書きはじめる

最近、ER図のモデリングツールを起点として、妄想広がる拡張機能群をもったツールを自分で書きたくなって、趣味プロジェクトをなめくじのような速度で進めている。 その過程のメモがあると良いのではないかと思い、古いブログアカウントに再ログインした。 6…

Azure: 仮想マシンに固定IPアドレスを割り当てる

まず、Azure Powershell が必要なので、Web Platform Installerからインストールします。 edge.hateblo.jp PowerShellを立ち上げ、Import-Module Azureを実行すると、Azureのログイン画面に遷移します。 これで使えるようになるので、 1)予約済みIPの取得 …

Chrome DevToolsからJSファイルを編集する

この記事は、Sencha Advent Calendar 2015 の16日目の記事です。 技術系のブログを書くのは1年ぶりくらいです。今回、Advent Calendarに初めて参加しました。普段は、業務用のクラウドサービスの開発・運用をしています。 Senchaは、わんくま同盟 のおそら…

Windows Serverでオフラインの時間同期

ネットにつないでないマシンの時間同期の方法 1.繋がっているマシンをNTPサーバとして機能させる い)レジストリの設定 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config 値=1:時刻サーバとして公開する ろ)NTPサーバの有効/…

WindowsでSencha+PhoneGapをビルドする

Sencha+PhongeGap開発のための準備です。 まず、前提としてのインストール node.jsのインストール npmのインストール PhoneGapのインストール Sencha Cmd、Sencha Touch が必要 1.node.jsのインストール 以前、Windows環境にnode.jsをインストールしたとき…

 コミット履歴から差分ファイルを抽出して別のフォルダにコピペする

GitとSVNの並行運用のため、Gitで作業 → まとまりをSVNへ反映 という手順をpowershellで書いた。 #最終バージョンを取得する$lastUpdate = Get-Content -Path ($folderPath+"lastGitVersion.txt") #更新ファイルリストを取得し、svnのフォルダファイルを上書…

Windows7にposh-gitをインストールする

powershellでgitコマンドを使うために、post-gitをインストールした。そのメモ。 gitをC:ドライブではなく、E:ドライブにインストールしていたためか WindowsでGitを使う時はposh-gitを入れよう — kashew_nuts-blog のとおりに実行してもそのままではうまく…

ExtJSでcheckboxにfalseを指定する

取得したチェックボックスの全てをチェックする/チェックをはずすの処理を実行するとき。Ext.selectしてset({checked: true)はできるけど、set({checked: false})は動かない。 set({checked: false}, false)なら動く。<input checked> でcheckedを削除するにはこうする必要…

エクセルのリンク先を取得する

Alt + F11でVBAを開いて、標準に以下をコピペすると関数として使えるようになる。 Public Function linkAddress(r As Range) As String If r.Hyperlinks.Count > 0 Then '指定したセルにハイパーリンクオブジェクトがある linkAddress = r.Hyperlinks(1).Add…

ExtJS4 tooltipの設定

1.Gridの場合 .. renderer: function(v, obj, rec){ obj.tdAttr = 'data-qtip="' + v + '"'; return v; } 2.DataViewの場合 <div class="itemSelector" data-qtip="{name}">{name}</div> 知らなかった。

GridのTextarea Editor

ExtJS 4.1 Gridにテキストエリアのエディターを追加しようとしたとき詰まった。 editor: { type: 'textarea' } では textfield(input)になってしまう。 editor :{ xtype: 'texterea' } でもだめ。 editor: Ext.create('Ext.form.TextArea',{}) で解決。