問題タブ [threepenny-gui]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
214 参照

haskell - threepenny gui での IORef の使用

threepenny-gui で IORef を設定しようとしていますが、うまくいきません。私のアプリでは、IORef 自体はより複雑になり、それ自体は表示されませんが、この例は私が考える問題を示しています。

これが私の試みです:

コードの並べ替えは機能しますが、outValue は最新ではありません。

更新が時間どおりになるように修正するにはどうすればよいですか。また、コードの改善は大歓迎です。

ありがとう。

0 投票する
0 に答える
134 参照

haskell - threepenny-gui で FRP と IORef を使用する

threepenny-gui (TPG) で IORef を使用した小さな例があります。

TPG で Reactive を使用するようにこれを変更しようとしています。イベント valueChange および keyDown から動作を作成するところまで来ました。

しかし、これらのビヘイビアーを使用して IORef との間で値を保存/取得する方法に行き詰まっています。問題は、IORef 呼び出しが UI モナドにあることです。したがって、それらを使用すると、動作は になりますが、動作Behavior (UI a)しませんsink。この場合、IORef を使用する必要がないことはわかっています (例: 通貨換算の例)。ただし、実際の場合は使用します。

編集:私は自分の属性を書いてみました:

で属性を設定できるようにBehavior (UI String):

コードはコンパイルされますが、機能しません。

0 投票する
3 に答える
273 参照

haskell - threepenny-gui のリストボックスの選択に基づく他の要素の変更

したがって、リストボックス、ボタン、テキストエリアを備えた簡単なレイアウトの例があります。ボタンをクリックすると、テキストエリアのテキストが変更されます。

私がやりたかったのは、変更をリストボックスの選択に依存させることです(たとえば、選択に基づいて変更する"new text"か、"First"または"Second"選択に基づいて変更します)。

userSelectionfactsを組み合わせることで、非常に簡単に選択を取得できます

しかし、テキストエリアの値の設定は

選択がBehavior.

これはすべて私には少し単調に思えます.これを行う正しい方法は何だろうと思っていました. ボタンが押されたときだけでなく、リストボックスの選択が完了または変更されたときに、何かをする必要があるかもしれません。

0 投票する
3 に答える
865 参照

haskell - 複数のモナド型を持つHas​​kell do句

Threepenny-GUIという Haskell のグラフィック ライブラリを使用しています。このライブラリでは、メイン関数はUIモナド オブジェクトを返します。IOこれは、値をローカル変数にアンパックしようとすると、さまざまなモナド型について不平を言うエラーが発生するため、頭痛の種になります。

これが私の問題の例です。これは、Threepenny-GUI のコード例で示されているように、標準の main 関数のわずかに変更されたバージョンです。

5 行目に注意してください。

次のエラーが返されます。

私の質問に関してはIO、標準の矢印表記 ( <-) を使用して関数をアンパックし、これらの変数をIO ()ではなくとして保持し続けるとUI ()、他の関数に簡単に渡すことができます。

現在、私が見つけた唯一の解決策は を使用することでしたliftIOが、これによりUIモナド型への変換が発生しますが、実際には型を使い続けたいと思っていIOます。

0 投票する
1 に答える
370 参照

haskell - Haskell UI do 句、印刷方法は?

これはこれに対するフォローアップの質問ですThreepenny-GUIという Haskell のグラフィック ライブラリを使用しています。このライブラリでは、メイン関数はUIモナド オブジェクトを返します。簡単な印刷コマンドを実行しようとしていますが、成功しません。デバッグ目的で印刷を有効にするための適切な回避策は何ですか。

コード:

エラー:

0 投票する
1 に答える
131 参照

haskell - threepenny-gui でイベントと属性を組み合わせる

テキストエリアEvent Stringに入れたいものがあります。sinkこれは正常に機能しますが、チェックボックスの選択の現在の値をこの文字列に結合したいと考えています。

最初にcheckedChange、機能するチェックボックスを使用してこれを行いましたが、問題があります。値がチェックボックスにシンクされている場合、checkedcheckedChange-Event は存在​​せず、テキストエリアに表示される値は適切に更新されません。

チェックボックスの選択を読み取ることができましたが、 andget checkedを組み合わせる問題に遭遇しました(またはブール値が文字列に変換されるため)。Event StringUI BoolUI String

編集:より正確に言うと、次のようなことをしたい

チェックボックスの属性のeCombinedValueEvent Stringの値と現在の値があります。checked

ができた

しかし、私が持っている場合、これは失敗します

別の場所 (いいえUI.checkedChange)。

を使用できますshow <$> get UI.checked checkBoxが、 と を組み合わせる必要がEvent StringありUI Stringます。

0 投票する
0 に答える
156 参照

user-interface - threepenny-guiを使用して無限スクロールリストボックスを構築する方法

Haskell および Threepenny-GUI コミュニティの皆様、こんにちは。

無限スクロールをサポートするListBoxを表示したいと考えています。SQLite データベースに 100k ~ 1000k 行のテーブルがあります。ListBox に行を表示したい。この投稿threepenny-gui-reactive-in-client-serverから助けを得ました。ページ番号用とそのページの実際の行用の 2 つの ListBox で GUI を動作させました。

私の目標は、ディスプレイが 1 つだけの GUI を作成することですが、基本的なバージョンのようなものですが、SlickGrid を使用したこの例に似ています: http://mleibman.github.io/SlickGrid/examples/example4-model.html