Skip to content

Releases: globules-io/OGX.JS

OGX.JS 1.41.0

30 Aug 07:50
Compare
Choose a tag to compare

New Features

  • [Uxi] added observeSize and observeSizeOnce 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 in bin/index.js and be able to encrypt the rest of the /bin folder.

Other Changes

  • [Scroller] Relies on observeSize instead of observe
  • [CLI] 1.16.0 added --js flag to use with ogx build release mypassword to encrypt user files

OGX.JS 1.40.0

17 Aug 07:35
Compare
Choose a tag to compare

New Features

  • [DynamicList] SELECT now triggers item and element
  • [Uxi] added support to placeholders at create
  • [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 when touch is manual
  • [Touch] fix Move returns wrong direction on first move

OGX.JS 1.39.2

20 Jul 14:33
Compare
Choose a tag to compare

New Features

  • [Calendar] exposed layout index via layout method

Components

  • [Chat] 1.5.0 added support to typing for multiple users, and support to more keyboard native events for mobile
  • [Notifier] 1.2.0 added callback per notification when the end-user taps it

Bug Fixes

  • [Uxi] onResize callback not called when using resize method

OGX.JS 1.39.1

03 Jun 12:02
Compare
Choose a tag to compare

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

01 Jun 09:36
Compare
Choose a tag to compare

Breaking Changes

Point

  • [Point] removed live property.
  • [Point] does not extend Uxi anymore, is not added to document 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 the point attribute, and can relocate an existing Uxi that has not been instantiated inside Point, without using live, 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 a query 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 detached Uxi at runtime, at the given location in the tree, using Uxi keyword

{"default:Uxi" : detached_uxi_instance}

Now it can also move an attached Uxi by targeting an optional parent 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 and lookdown are specified, OML will search up first, then down from the found node. If lookup is only specified, it will look upstream for the target, and if only lookdown 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, or lookup 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 via exit method
  • [Uxi] added lookup and lookdown 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 and keep_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

22 May 16:34
Compare
Choose a tag to compare

New Features

  • [Data] added intersect method
  • [Data] added adiff method

Bug Fixes

  • [Core] fix decrypt pak files
  • [Carousel] fix dragLeft and dragRight changing panels after prevented drag

Other Changes

  • [Window] touch Drag focus/blur set to auto

1.38.1

06 May 08:30
Compare
Choose a tag to compare

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

12 Apr 16:05
Compare
Choose a tag to compare

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 callback submit_cb outside of form
  • [StackedTree] added prev and reset 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 with OSE script not returning template
  • [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

02 Apr 08:08
Compare
Choose a tag to compare

Bug Fixes

  • [App] fix app not hiding Splash due to app not READY when a stage has no OML, faster init

OGX.JS 1.37.1

02 Apr 06:27
Compare
Choose a tag to compare

Bug Fixes

  • [App] not triggering READY when rendering a stage with a single Popup as OML