lsFusion 5, 6: More asynchronous, aggregation / extension / customization of forms, new views





After the release of the first public (third) version of the platform, we received a huge amount of feedback, most of the work on which was reflected in the recently released fourth version of the platform. However, a significant part of this feedback remained β€œoverboard”, but was not forgotten, and accordingly formed a plan for the development of the platform for the near future. It is about this plan that will be discussed in this article.









Most of the planned functionality to one degree or another relates to the user interface - its ergonomics, modularity and flexibility.









More asynchrony



. (, , ). , , β€’ , 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;

}







In the current version of the platform, most of the system elements, including forms, can be expanded. However, on the form itself, you can only add new elements, you cannot change the attributes of existing elements (with the exception of design elements, but this is often not enough). Accordingly, in future versions it is planned to eliminate this gap and to support the EXTEND keyword (used in other syntax instructions of extensions) within the FORM statement itself. For example:





EXTEND FORM suppliers

    EXTEND PROPERTIES BACKGROUND debt(s)>10

        name(s), number(s)

;





This functionality can be especially useful when used in conjunction with the form aggregation mechanism described in the previous section.



Customizing Forms



, , ( ) , - .







( , , ..), , , . .







/



( / ) . / .







, , / , .. ( ), .







Excel, , Excel, .







:





supplier(sku(d))

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





It is assumed that in interfaces where you need to specify expressions, the names of objects will also be displayed (so that it is clear what you can refer to).

Both the constructor itself and the interfaces for adding / modifying property attributes will most likely be implemented using the built-in lsFusion mechanisms (that is, in the lsFusion language using platform elements such as properties and forms).







Custom Filters



Now the platform has a custom filtering mechanism, but this mechanism has a number of disadvantages:







  1. The dialog with custom filters is shown in a separate window, which is not very user-friendly. Also filters are strictly vertical, which is also inconvenient in the docked interface.
  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