lsFusion 5、6:より非同期、フォームの集約/拡張/カスタマイズ、新しいビュー





プラットフォームの最初の公開(3番目)バージョンのリリース後、私たちは膨大な量のフィードバックを受け取りました。その作業のほとんどは、最近リリースされプラットフォームの4番目のバージョンに反映されましたしかし、このフィードバックの大部分は「船外」のままでしたが、忘れられなかったため、近い将来のプラットフォーム開発の計画を立てました。この記事で説明するのは、この計画についてです。









計画されている機能のほとんどは、ある程度、ユーザーインターフェイス、つまり人間工学、モジュール性、柔軟性に関連しています。









より多くの非同期性



. (, , ). , , ‒ , UI.









INPUT, . , , : ( ), ( ). , , . DIALOG, . :







  1. INPUT DIALOG ASYNC , « » ( ).
  2. , INPUT, , DIALOG ( , — , ..), , . “ ” . ( ), , ASYNC.


ASYNC ( “” ).







:







  1. , .
  2. “” ( ) .
  3. ( ).
  4. “ " ( ).


«» ( , , ..), (“”) .









:







  • , — ,
  • “” ( , )


, , , , , . :







  1. ,
  2. ,
  3. «» .


“” UX .







/



, , , . ( , ), UX, , , .







, . , / , , , , ( , ). , , - (, ).







, “ ”. , , « » , ( , ), . , « » ( - ),







()



, , , .







( , ), , .







, , , ( ).







( — OBJECTS, BOX, — formOK, formClose, ..), “” . , «» .







( ), . :





FORM suppliersWithIncomes

    OBJECTS s=Supplier

    AGGR i=incomes

    FILTERS supplier(i.i)=s

;



FORM extendedSuppliers

    AGGR Suppliers

    PROPERTIES (s) debt

;

run() {

    SHOW extendedSuppliers;

}







プラットフォームの現在のバージョンでは、フォームを含むほとんどのシステム要素を拡張できます。ただし、フォーム自体では、新しい要素のみを追加でき、既存の要素の属性を変更することはできません(デザイン要素を除きますが、多くの場合、これでは不十分です)。したがって、将来のバージョンでは、このギャップを解消し、FORMステートメント自体の内部でEXTENDキーワード(拡張機能の他の構文命令で使用される)をサポートすることが計画されています。例えば:





EXTEND FORM suppliers

    EXTEND PROPERTIES BACKGROUND debt(s)>10

        name(s), number(s)

;





この機能は、前のセクションで説明したフォーム集約メカニズムと組み合わせて使用​​すると特に便利です。



フォームのカスタマイズ



, , ( ) , - .







( , , ..), , , . .







/



( / ) . / .







, , / , .. ( ), .







Excel, , Excel, .







:





supplier(sku(d))

GROUP SUM sum(InvoiceDetail id) IF invoice(id)=i





式を指定する必要があるインターフェイスでは、オブジェクトの名前も表示されることを前提としています(参照できる内容が明確になるように)。

コンストラクター自体とプロパティ属性を追加/変更するためのインターフェイスの両方は、組み込みのlsFusionメカニズムを使用して(つまり、プロパティやフォームなどのプラットフォーム要素を使用するlsFusion言語で)実装される可能性があります。







カスタムフィルター



現在、プラットフォームにはカスタムフィルタリングメカニズムがありますが、このメカニズムにはいくつかの欠点があります。







  1. カスタムフィルターを使用したダイアログは別のウィンドウに表示されますが、これはあまりユーザーフレンドリーではありません。フィルタも厳密に垂直方向に実行されるため、ドッキングされたインターフェイスでも不便です。
  2. (- ).
  3. ( , , ).


, , USER FILTER, USERFILTERS ..









(, “” ) .







(). , ( , , ). . , . :





FORM reportSales ''

;

FORM reportSuppliersSales '  ''

    AGGR reportSales

    PIVOT ROW supplier(s);

;

FORM reportStockSales '  '

    AGGR reportSales

    PIVOT ROW stock(s)

;





()



. / ( ), . :







  1. “” URL. / ( , ).
  2. “ / ” , (, ).




lsFusion , Java Swing / / . HTML (-, lsFusion ), , -.







, :







  1. CONTAINER — . direction. .
  2. TABBED — . .
  3. TABLE — , . columns CONTAINER , .


SPLIT SCROLL (true/ false) ( SPLIT ).







alignCaptions, .







:







  1. . , , . TABBED — “”, , , .
  2. . , . “” , , ( ). , , .




. ( , , , ..).







( open-source javascript ), , , javascript .







, , , ( , ). « » ( ).







, , , . :







  • / / .
  • , , , / ( React state).




— . -, , , - , , . , , , , , . , , , . , .










All Articles