lsFusion. gif- ( ). , - lsFusion.
lsFusion ( ). , ( , ).
, ( ), ( ) — UI .
, , . . , , ( ). MyCompany. ( , , ), , . , , , , .
, , .
. : . , , — , , , , - , , .
, , . , frontend ( javascript HTML). , , ( Java Swing RCP) . . . , , , - ( http-). - lsFusion OLTP-, , . - , lsFusion -.
, lsFusion ( , , ) , , (BI) ( , BI- ). , , , , .
Observe que, no nĂvel fĂsico, a operação de agrupamento em visualizações de agrupamento pode ser realizada no servidor de banco de dados e no cliente. A plataforma gerencia essa escolha automaticamente: se o nĂşmero de grupos diminuir ou a quantidade de dados iniciais for menor que o limite, os dados sĂŁo processados ​​no cliente (para excluir chamadas desnecessárias ao servidor). Na maioria dos outros casos, o agrupamento Ă© executado no servidor SQL usando uma consulta (no entanto, os subtotais ainda sĂŁo calculados no cliente).
O agrupamento pode ser alterado pelo usuário usando a interface de arrastar e soltar apropriada. O desenvolvedor pode definir agrupamentos usando a sintaxe apropriada na instrução FORM.
FORM myReport
|
Tabela Dinâmica
. , :
- . , — --, .
- . , .
, , , , Excel . :
- ( ), ( drag-drop ). , ( , ).
- Excel , , /
(drill-down) — , , , , , .
, , , (, ), . - , .
, .
/ :
- ( / , / )
. open-source plotly, ( ). , ( , , , ), .
img-, ( / ) . , , , , , .
, ( -) , . , time-tracking, ..
lsFusion :
-
- / .
- , , ..
- ,
- ( ), ( ).
-
- .
- ( ).
, , . :
-
- longitude —
- latitude —
- polygon —
- line —
- icon —
- ..
-
- date, dateTime — /
- dateFrom, dateTimeFrom — /
- dateTo, dateTimeTo — /
- name —
- ..
FORM map 'Map'
|
Visualizações personalizadas
Quaisquer que sejam as visualizações com suporte imediato no lsFusion, elas podem nem sempre ser suficientes (bem, ou pode não haver configurações suficientes nas visualizações existentes). Para resolver o problema no caso geral, a plataforma suporta as chamadas visualizações personalizadas.
Existem duas partes para apoiar essas visualizações:
- javascript css web-. , web ( ) , -, , web-. , , , , .
- . javascript-, ( window , javascript function window, ). :
- element — DOM,
- objects — javascript-, ( = , = )
- controller — javascript-, / (, , ).
.
function calendar(element, objects, controller) {
if(controller.calendar == null) { // lazy initialization
controller.calendar = new FullCalendar.Calendar(element, {
height: 'parent',
editable: true,
eventChange: function(info) {
controller.changeDateProperty('date', controller.objects[info.event.extendedProps.index], info.event.start.getFullYear(),
info.event.start.getMonth() + 1,info.event.start.getUTCDate() + 1); // month and day are zero-based in full calendar
},
eventClick: function(info) {
controller.changeSimpleGroupObject(controller.objects[info.event.extendedProps.index], false, info.el);
}
});
setTimeout(function () {
controller.calendar.render();
}, 0);
}
controller.objects = objects; // need to save it to work with changes
controller.calendar.setOption('events', objects.map((obj, index) =>
Object.assign({}, obj, {
index: index, // needed to work with changes
classNames: controller.isCurrent(obj) ? 'event-highlight' : '' // highlighting current element
})));
}
.event-highlight {
border-color: #2C4751;
background-color: #2C4751;
}
(web) ( js css, web, -, ).
, e:
CLASS Event;
|
lsFusion , Flatlaf, , , , Intellij. - Flatlaf , - «» . lsFusion :
- ( ) — -
- — -
«» . , , / ( ). , lsFusion , , , - ( ). (, ).

OAuth
«»: , , , . :
- - ( ). , .
- .
( ) OAuth . , (, lsFusion) / . / , / (, — ). « » lsFusion / : Facebook, Google, Github, . (Authorization URI, Token URI ..). , ( OAuth , , , ).
lsFusion — «» « ». «» -. « » (, ).

, ( «», OAuth-) « ». , « ». , , , , .
url user password ( http://myserver?user=X&password=Y
). , , , , VPN.
lsFusion :
- ( ,
'Some text {x.y}'
). - - :
- ( ),
- .
, , . :
- / .
- ( ).
« ». :
- , , .
- , , , .
- , ( ).
, , :
- , ;
- « », .
:
- , ;
- .
:
- .
- , , Google Translate. , . , .
- , .
- PROFIT
, , , - lsFusion. / : guestuk / guestuk ( ), guestbe / guestbe ( ).
lsFusion, , , . :
- CTRL ( Excel). , (
EDIT_OBJECT
) . - « » .
- ( ) « ».
- (
CHANGE
, , )
, .
. , .

« »
lsFusion ( ), ( ) . :
- .
- , .
. N+1, , , .
onChange(a);
|
, f(a,b) :
DIALOG formX OBJECTS x = f(a,b) CHANGE; // formX, f(a,b) x
|
REQUEST
|
PUSH REQUEST
|
PUSH REQUEST
|
, (, , ).

( , ) — . , . , :
DESIGN order {
|
, . (, width pattern) ( )
:
- .
- , .
, , , . , , . , lsFusion . , ( ). , .

lsFusion « » — (, , , ..). , , , , , , , , ( ). / ( , ).
, , , «». .

, ( ), / - .
http-
, . , - 2 :
- . javascript, , , css html ( ) .
- «» . , / , .
( Chrome V8 ), , , . , , — , http-. http- , .
Agora, de volta ao lsFusion. Para trabalhar com sistemas externos, incluindo o protocolo http, a plataforma utiliza o operador EXTERNAL. É verdade que a peculiaridade deste operador Ă© que na terceira versĂŁo ele sĂł poderia ser executado no servidor, o que significa que era impossĂvel utilizá-lo para o mesmo trabalho com equipamentos no cliente. Assim, na quarta versĂŁo da plataforma para o protocolo HTTP, tornou-se possĂvel executar o operador EXTERNAL no cliente. Sintaticamente, Ă© assim:
reportX(Pos p) {
|
, . , , , . , , , . , — «» ( OBJECTS) / . , , — FILTERS :
exportAndShowIncomes (Supplier s) {
|
Otimização DOM
, lsFusion -, - . , (- ), Swing ( , / ), / HTML DOM. , . , . , :
- “” -.
- - .
— . , lsFusion- ( -), . - ( lsFusion), DOM . , - MyCompany ( ). , , ( , / , ).
( github). , (UX) developer experience (DX), . ( -) , .
MyCompany. (, custom-made ), , . -, ERP-, / «» . MyCompany. SME ( ERP ), ( , , Apache 2.0 ). WMS, , , WMS - ( lsFusion), - ( -).