Releases: globules-io/OGX.JS
OGX.JS 1.41.0
New Features
- [Uxi] added
observeSize
andobserveSizeOnce
methods - [Core] added supports to encrypted user files (views, stages, controllers)
This feature requires
OGX.CLI 1.16.0+
, make sure to update the CLI. In order to use this feature, your app must be built by doing
ogx build release mypassword --js
Note that the
.js
files in the/bin
folder are not encrypted due to expected OGX init in this folder. This might change in the future to impose creating the OGX.JS instance inbin/index.js
and be able to encrypt the rest of the/bin
folder.
Other Changes
- [Scroller] Relies on
observeSize
instead ofobserve
- [CLI]
1.16.0
added--js
flag to use withogx build release mypassword
to encrypt user files
OGX.JS 1.40.0
New Features
- [DynamicList]
SELECT
now triggers item and element - [Uxi] added support to
placeholders
atcreate
- [Window] can now be set
scroll
- [Popup] can now be set
scroll
- [OML] added
make
method, to create an OML node given a selector, a class and optional config - [Data] added
trim
method which trims all values of type string, of each property of an object, recursively. Supports arrays. - [Core] encryption key can now be set via an async call, using a promise
Basic Example
const app = new OGX.App({encrypted: () => {
return new Promise(function(success, error){
//do async call then return key
success('mykey');
});
});
Bug Fixes
- [Touch] fix remove
touch
whentouch
ismanual
- [Touch] fix
Move
returns wrong direction on first move
OGX.JS 1.39.2
New Features
- [Calendar] exposed layout index via
layout
method
Components
- [Chat]
1.5.0
added support totyping
for multiple users, and support to more keyboard native events for mobile - [Notifier]
1.2.0
addedcallback
per notification when the end-user taps it
Bug Fixes
- [Uxi]
onResize
callback not called when usingresize
method
OGX.JS 1.39.1
New Features
- [Point] added array support in
Point
- [Uxi] added
getTopNode
method
Bug Fixes
- [Form] fix
paste
on a restricted field
OGX.JS 1.39.0
Breaking Changes
Point
- [Point] removed
live
property. - [Point] does not extend
Uxi
anymore, is not added todocument
anymore - [OML] removed
Point
keyword
Prior to changes, you could only render a OML tree based on a Point, and duplicate the OML in all point size settings, and the point would be represented by its own
HTMLelement
{"myPoint:Point":{
"live" : ["some_uxi_id_generated_inside_point"],
"0-768":{ ... OML},
"769-5000":{ ... OML}
}}
Now Point is available from any
Uxi
through thepoint
attribute, and can relocate an existing Uxi that has not been instantiated insidePoint
, without usinglive
, such as
{"#some_id:Views.MyView":{
"point" : {
"0-768":{"myWindow:Window":{
"node:OML":[{"myUxi:Uxi" : {}]
}},
"769-5000":{ "myUxi:Uxi" : {} }
}
}}
If parameters are omitted, the moving Uxi will be attached at the parent's default placeholder.
Some parameters can be passed to target a specific parent and an optional element, such as
"0-768":{ "myUxi:Uxi" : {"parent" : {"id": "someUxi"}, "el": ".someElement"}
Note that
parent
in this case is aquery
to target a parent. You can also use{"name": "myName"}
etc.
New Features
OML
- [OML] revised
Uxi
keyword, can now target a specific placeholder upon move
OML now handles more
Uxi
cases. It can attach a detachedUxi
at runtime, at the given location in the tree, usingUxi
keyword
{"default:Uxi" : detached_uxi_instance}
Now it can also move an attached
Uxi
by targeting an optionalparent
and optional element.
{"myId:Uxi" : { "parent" : {"id": "someUxi"}, "el": ".someElement"} }
If parameters are omitted, it will attach at the current node in the OML tree, at the parent's placeholder.
{"myId:Uxi" : {} }
You can now also look for a node, given a search query, mostly used if you are not targeting a node by id. For instance, if you declared Uxi's with a name instead of id, you can search for this node.
If
lookup
andlookdown
are specified, OML will search up first, then down from the found node. Iflookup
is only specified, it will look upstream for the target, and if onlylookdown
is specified, it will only look downstream.
In this example, we lookup (upstream) for a node that has for name
"OtherName"
, then from this node, we lookdown (downstream) for a target node of name"MyName"
. The target node will be moved to either a given parent, or the current parent in the OML tree.
{"*:Uxi" : {
"target" : { "lookup" : {"name" : "OtherName" }, "lookdown" : {"name" : "MyName"} }
}}
You can also look for the new parent to move the target to, using the same logic.
{"*:Uxi" : {
"target" : { "lookup" : {"name" : "OtherName" } , "lookdown" : {"name" : "MyName"} },
"parent" : { "lookup" : {"name" : "SomeName" }, "lookdown" : {"name" : "MyParent"} }
}}
You can of course use
lookdown
only, if the target and/or the parent are downstream, and you do not need to start the downstream search from a higher starting point in the tree, orlookup
only
{"*:Uxi" : {
"target" : { "lookdown" : {"name" : "MyName"} },
"parent" : { "lookup" : {"name" : "MyParent"} }
}}
- [OML]
OGX.OML.render
now returns an array of created instances - [App] exposed
config.exit
viaexit
method - [Uxi] added
lookup
andlookdown
methods to find a node up or down stream based on a query
Other Changes
- [App] better handling of multiple stages as start-up
- [OML] minor refactoring of
Point
instantiation - [Placeholder] exposed via
pholders
- [Popup] automatic setup for
center
andkeep_centered
, centering and auto centered by default unless specified - [Popup] better handling of
focus
- [Router] added
isCached
method to check if the current route has been loaded from the cache
OGX.JS 1.38.2
New Features
- [Data] added
intersect
method - [Data] added
adiff
method
Bug Fixes
- [Core] fix
decrypt
pak files - [Carousel] fix
dragLeft
anddragRight
changing panels after prevented drag
Other Changes
- [Window] touch
Drag
focus/blur set toauto
1.38.1
New Features
- [Carousel] setting index can now also trigger a CHANGE event
carousel.val(__n, __trigger_bool)
Bug Fixes
- [Container] fix bad injection at build time
OGX.JS 1.38.0
New Features
- [App] now has a
construct
constructor to optionally use when extending App - [App] app instance also exists as constant
OGX.Core
- [Form]
bindField
now support a submit callbacksubmit_cb
outside ofform
- [StackedTree] added
prev
andreset
methods - [StackedTree] now passes itself as additional parameter when triggering an event
- [Tasker] new object to manage background tasks at idle via
requestIdleCallback
Bug Fixes
- [Display] fix
bind
withOSE
script not returningtemplate
- [Display] fix dynamic display via
displays
bound to property - [Workers] fix worker running in interval not stopping when calling
OGX.Workers.stop(worker_id);
Other Changes
- [App] reduced memory footprint, updated internal naming
OGX.JS 1.37.2
Bug Fixes
- [App] fix app not hiding
Splash
due to app notREADY
when a stage has noOML
, faster init
OGX.JS 1.37.1
Bug Fixes
- [App] not triggering
READY
when rendering astage
with a singlePopup
asOML