lsFusion 5, 6: Plus asynchrone, agrégation / extension / personnalisation des formulaires, nouvelles vues





Après la sortie de la première (troisième) version publique de la plate-forme, nous avons reçu énormément de commentaires, dont la plupart des travaux se reflètent dans la quatrième version récemment publiée de la plate - forme. Cependant, une partie importante de ce retour d'expérience est restée «par-dessus bord», mais n'a pas été oubliée, et a donc formé un plan pour le développement de la plate-forme dans un proche avenir. C'est à propos de ce plan qui sera discuté dans cet article.









La plupart des fonctionnalités prévues, à un degré ou à un autre, concernent l'interface utilisateur - son ergonomie, sa modularité et sa flexibilité.









Plus d'asynchronie



. (, , ). , , ‒ , 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;

}







Dans la version actuelle de la plate-forme, la plupart des éléments du système, y compris les formulaires, peuvent être développés. Cependant, sur le formulaire lui-même, vous ne pouvez ajouter que de nouveaux éléments, vous ne pouvez pas modifier les attributs des éléments existants (à l'exception des éléments de conception, mais cela ne suffit souvent pas). Par conséquent, dans les versions futures, il est prévu d'éliminer cette lacune et de prendre en charge le mot clé EXTEND (utilisé dans d'autres instructions de syntaxe d'extensions) à l'intérieur de l'instruction FORM elle-même. Par exemple:





EXTEND FORM suppliers

    EXTEND PROPERTIES BACKGROUND debt(s)>10

        name(s), number(s)

;





Cette fonctionnalité peut être particulièrement utile lorsqu'elle est utilisée en conjonction avec le mécanisme d'agrégation de formulaires décrit dans la section précédente.



Personnalisation des formulaires



, , ( ) , - .







( , , ..), , , . .







/



( / ) . / .







, , / , .. ( ), .







Excel, , Excel, .







:





supplier(sku(d))

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





Il est supposé que dans les interfaces où vous devez spécifier des expressions, les noms des objets seront également affichés (afin de savoir à quoi vous pouvez vous référer).

Le constructeur lui-même et les interfaces pour ajouter / modifier des attributs de propriété seront très probablement implémentés en utilisant les mécanismes intégrés de lsFusion (c'est-à-dire dans le langage lsFusion en utilisant des éléments de plate-forme tels que des propriétés et des formulaires).







Filtres personnalisés



Désormais, la plate-forme dispose d'un mécanisme de filtrage personnalisé, mais ce mécanisme présente un certain nombre d'inconvénients:







  1. La boîte de dialogue avec les filtres personnalisés est affichée dans une fenêtre séparée, qui n'est pas très conviviale. Les filtres sont également strictement verticaux, ce qui est également peu pratique dans l'interface ancrée.
  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