問題タブ [seaside]
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.
smalltalk - リーフパーツをその場で更新する
私はリーフを掘り下げ始めていて、解決方法が本当にわからない何かに出くわしました...
RETextFieldとREButtonがあり、ボタンが押されたときにテキストフィールドの内容を更新したいので、これが私が試していることです。
テキストフィールドに更新するように指示する必要があるため、これは機能しません。そこで、次のことを試しました。
しかし、それもうまくいきませんでした...self canvas jQuery ajax script: etc.
運がなくても試してみました。
リーフには独自のエレガントな方法があると思いますが、どこにも見つかりません...誰か?:)
ajax - Seaside-Appの調整を支援する(テンプレートまたは最小限の例が必要)
新しいSeaside-Appを使用するのに問題があります。アプリの目的は、カスケードビューで契約データを表示することです(ツリーのような概念ですが、視覚的にはコンポーネント内のコンポーネントのみです)。トップレベルで契約の名前をクリックすると、いわゆる「セット」が表示されます。これらの契約には含まれています。それらをクリックすると、含まれているいわゆる「パーツ」などが表示されます。
ドラフトバージョンでは、すべての情報をクライアントにロードしてから、以下を使用します。
さまざまなレベルのサブコンポーネントを正常にブレンドインおよびブレンドアウトします。
すべての情報をクライアントにロードするのは、ドラフトバージョン専用でした。次のバージョンでは、ユーザーが拡張したいブランチのみを動的にロードします。Seaside-Bookに従ってこれを行う方法を知っており、次のことを行うと、クライアントが正しく更新されます。
ただし、クライアントの状態とサーバーの状態を正しく維持するのに問題があります。ユーザーがhtmlを使用している場合でも、ツリーの一部の状態(ツリー内のすべてのノードでロードされていない/展開されている/折りたたまれている)を維持したい-ツリーの内容を変更するためのフォーム入力(図を参照)。また、接続が一時的に利用できない場合でも状態を維持する必要があります(そうしないと、ユーザーの状態全体とフィールド編集が失われ、404が表示され、戻るボタンを押すとセッションに一貫性がなくなり、最悪のシナリオになります)。複数のユーザーにこの動作を許可したいので、状況はさらに複雑になります。もちろん、すべてのユーザーが異なるツリー状態(ツリー内のすべてのノードに対してロードされていない/拡張されている/折りたたまれている)を持っているが、データフィールドに一貫したエントリがあるというセマンティクスがあります。
この種のサーバーセッションの更新を行うためのテンプレートまたは最小限の例はありますか?
smalltalk - JavaScript 関数の引数へのアクセス
JQAjaxSetup>>onError のドキュメント: 言う:
onError: anObject "リクエストが失敗した場合に呼び出される関数。この関数には 3 つの引数が渡されます: XMLHttpRequest オブジェクト、発生したエラーの種類を説明する文字列、およびオプションの例外オブジェクト (発生した場合)。2 番目の引数の可能な値(null 以外) は、'timeout'、'error'、'notmodified'、および 'parsererror' です。"
次のようなものを使用してエラーメッセージを表示したい
anAjax onError: ((html jQuery id: someId) before: (MyInstanceOfWAPainter error: 'An error message'));
それ、どうやったら出来るの?クライアント側ですべてを行う可能性があります。
smalltalk - 大量のテキストを保持するオブジェクトは何ですか?
私は、テキストを保持するSeasideアプリを計画しています。これは、最大5Mbの単一インスタンスです。これにはどのようなオブジェクトが最適ですか?
また、このテキストに対していくつかの反復を行いたいと思います。
ありがとう、ヴィンス
編集:これまでの返信ありがとうございます。このファイルは、従来の財務システムから生成するのに最大40分かかるCSVファイルであるため、事前に生成して保存する必要があります。各行は顧客レコードであり、各行を引き出して、顧客がログインしたときの値を使用する必要があります。顧客のアクセスは予測できず、レガシーシステムとインターフェイスして各行をオンザフライで生成することは非常に最後の手段です。
seaside - Seaside を使用して html5 canvas.toDataURL をサーバー上の png ファイルとして保存する方法
ユーザーがブラウザで注釈を付けることができる画像があります。を使用して画像にアクセスできます
...ユーザーが画像をサーバーに保存するための「保存」オプションを追加したいと思います。
この質問はphpで回答されています...
...必要なのは、PNG ファイルのコンテンツを含む Seaside コールバックです。
シーサイドでこれを行う方法はありますか?
Johan は、地雷タイプの宣言を値文字列から削除する必要があることを指摘しました。これはVWで機能します...(「data:image/png;base64」を削除するための文字列ハックを使用)
components - 別のトップレベルの Seaside コンポーネントにリダイレクトするにはどうすればよいですか?
初心者の質問です。Google はまったく役に立ちませんでした。その上、私が抱えている問題は、適切に説明するのがちょっと難しいです。
私のアプリケーションには、JournalView と JournalEntryView という 2 つのコンポーネントがあります。JournalView は、個々のエントリへのリンクを含む仕訳エントリのリストを表示します。これらの各リンクをクリックすると、新しい JournalEntryView が作成され、この新しく作成された JournalEntryView にリダイレクトされます。
現在、私はこれを行います:
問題は、このコードは、新しく作成されたコンポーネントが後で値で応答することを期待していることです。ハローを見ると、次のようなコンポーネントの階層が見えます。
私はこれをしたくありません。JournalEntryView をトップレベルのビューにしたいのですが、アンカーを新しいトップレベルの JournalEntryView にリダイレクトしたいだけです。
これはシーサイドで可能ですか?
version-control - Smalltalk / Seaside のバージョン管理?
私は主に Java EE 開発者です。今後の Web プロジェクトで Smalltalk / Seaside を使用する可能性を探るよう依頼されました。ご想像のとおり、これにより多くの興味深い疑問が生じました。
開発者チームは、Smalltalk / Seaside を使用してソフトウェアのバージョン管理とリビジョン管理をどのように実装していますか。Subversion または Git を使用できますか?
私が理解していることから、Smalltalk は各クラスを独自のファイルに保存するのではなく、画像を使用します。特にチーム全体で、ソース コードのリビジョンを管理する能力にどのような影響がありますか?
あなたが提供できる洞察に感謝します!
smalltalk - 継続は Seaside の重要な機能ですか?
Smalltalk / Seaside の最新情報を取得しようとしています。ウィキペディアによると、「Seaside は継続ベースの Web アプリケーション フレームワークです」。私は Java のバックグラウンドを持っているため、継続についてはあまり詳しくありません。
いくつか読んだ後、状態を維持するために継続が使用されることを理解しました。これにより、プロセスのスナップショットが保存され、後で再開できます(Windowsを休止状態にするのと同様)。
「戻る」ボタンの使用に関して、これは Seaside に最も関連がありますか? コードブロックと「コールバック」を使用することは、継続を使用することと同じではありませんか?
また、Seaside で実際に継続を使用することの現在の重要性を測ろうとしています。Seaside に関する多くのオンライン リファレンスでは、重要かつ定義的な機能として継続が言及されているため、私は混乱しています。ただし、Seaside での継続の使用はあまり一般的ではなく、実際には重要な機能ではないことを述べている記事もいくつか見つけました。
これで私をまっすぐにするのに役立つ情報をありがとう!
persistence - Smalltalk / Seaside でのデータ永続化
私は最近、Smalltalk と Seaside に慣れるために時間を費やしています。私は Java EE の世界から来ましたが、ご想像のとおり、Smalltalk の概念のいくつかを理解するのは大変でした。:)
現在、データの永続性が Smalltalk の世界で最も一般的にどのように実装されているかを理解しようとしています。Java プログラマーとしての私にとっての前提は、RDMS (つまり MySQL) と ORM (つまり Hibernate) を使用することです。Smalltalk (少なくとも Hibernate を使用) には当てはまらないことを理解しています。Java EE で行われている方法に最も近い方法を必ずしも探しているわけではありません。
データをイメージ、オブジェクト ストア、RDMS のいずれに保存するのが最も一般的ですか? Smalltalk アプリが RDMS を使用するのは一般的ですか?
ここには万能のアプローチはなく、適切な永続化戦略はアプリケーションのニーズ (データ量、同時実行性など) によって異なることを理解しています。シンプルに始めて拡張できる良いアプローチは何ですか?
Avi Bryant が永続化と DabbleDB のスケーリングに使用した戦略について話しているビデオを見たことがあります。私が理解していることから、顧客のデータは画像に直接保存されていました (顧客ごとに 1 つの画像)。顧客はデータを共有する必要がないため、彼のユースケースではうまくいきました。これは一般的なアプローチですか?
このTLDRを作成していないことを願っています。以前の質問で Smalltalk の皆さんが提供してくれた洞察に感謝します。感謝しています。
smalltalk - メソッドをリファクタリング/削除できません
うまくいけば、これは簡単な質問になるはずです。:)
ファロ/シーサイドを使用しています。IDE のリファクタリング機能を使用して、いくつかのメソッドとクラスの名前を変更し、削除しました。ここまでは順調ですね。
ただし、親クラスをオーバーライドするメソッドを削除するのに苦労しています。たとえば、「WAComponent」をサブクラス化するクラス「MyClass」があります。親クラスのメソッドをオーバーライドするメソッド「スタイル」を作成しました。
結局、「スタイル」をオーバーライドする必要はなく、メソッドのリファクタリング > 「スタイル」の削除を行いたいと判断しました。この時点で、「WAPresenter でスタイルを呼び出す可能性があります。参照を参照しますか?」というプロンプトが表示されます。
続行するにはどうすればよいですか?自分のオーバーライドではなく、スーパーの「スタイル」メソッドが必要です。
どうもありがとう!