Aria Templates 1.4.2

This release marks a backward compatibility change and it’s the first one in the 1.4 family.

Changes are mainly about code cleaning and removing old features.

But first let’s see what’s new

  • History enhancement

    Singleton class aria.utils.History provides a cross-browser implementation of HTML5 native history API. With respect to the previous version, this one is more compliant with the standard behaviour:

    • the onpopstate class event is not raised after a pushState or replaceState.
    • the state property is available on the singleton and it corresponds to window.history.state.

    support for page reload and external navigation is supported also in browsers for which hash-based navigation fallback occurs (with the exception of IE7, for which the previous history is not kept after reloading, but only the current state is available). However, the new version is backward compatible with the previous one. In order to disable backward compatibility, set aria.utils.History.isBackwardCompatible to false right after loading the class.


    See #441

  • Ability to use Aria Templates without skin

    If you do not use widgets from @aria Library, you no longer have to include the Aria skin in your application – you may load only the framework. However, this will mean that you’ll probably have to manually add some CSS if you want to preserve the site’s look and feel, as font settings etc. naturally won’t be loaded if you don’t have a skin.


    See #427

  • Bindable popup state

    This feature allows to programmatically open the drop down of the following widgets in the standard aria library: Select (not in simpleHTML mode), SelectBox, MultiSelect, AutoComplete (with expand button) and DatePicker. The state of the drop down can be bound to the data model. close #411 close #413


    See #413

  • Focus not visible on buttons

    Two new states (normalFocused and msoverFocused) are now available on @aria:Button widgets so that the focused state is visible to the user. Any skin can now define specific background images for those new states. The skins provided with Aria Templates (atdefskin, atskin, atwiki and epiphany) are now updated to display a 1px dotted black border when the button is focused.


    See #437

Removed features

The following deprecated features are now removed

  • (deprecated in 1.0.x)
    The setEnvironment method in aria.core.environment.EnvironmentBase and aria.core.environment.Customizations .

    Please use aria.core.AppEnvironment.setEnvironmentinstead.
  • (deprecated in 1.0.x)
    getWidgetLib and getWidgetLibClassName methods in aria.widgets.environment.WidgetSettings.

    Consider using aria.widgetLibs.environment.WidgetLibsSettings.getWidgetLibs and Aria.getClassRef instead.
  • (deprecated in 1.0.x)
    aria.widgets.environment.WidgetSettingsCfgBeans.defaultWidgetLib

    Use aria.widgetLibs.environment.WidgetLibsSettingsCfgBeans.AppCfg.defaultWidgetLibs instead.
  • (deprecated in 1.0.x)
    aria.widgets.AriaLib.registerWidget and .getBeanConfig methods were removed
  • (deprecated in 1.0.x)
    the aria.utils.Event.getElement method was removed (it was marked as protected, so you likely haven’t used it)
  • (deprecated in 1.0.x)
    _formatCache in aria.utils.Number (it was marked as private, so you should have not relied on it)
  • (deprecated in 1.0.x)
    onvalidate callback in the config of @aria:TextInput and @aria:Select widgets
  • (deprecated in 1.0.x)
    objects in interface definition are no longer represented as {}

    Use either as {$type: "Object"}
    or a shortcut notation "Object"
  • (deprecated in 1.1-5)
    color property in the config of @aria:Link widget
  • (deprecated in 1.1-18)
    DomElementWrapper.getData() no longer internally checks for expandos prefixed with ‘_’.

    Please use ‘data-’ prefix for expandos in your HTML instead. (Note: most of related code was already removed in 1.3.1)
  • (deprecated in 1.1-25)
    aria.resources.DateRes.firstDayOfWeek

    Please use it through aria.core.AppEnvironment.
  • (deprecated in 1.1-31)
    aria.widgets.frames.OldFrame, the old type of frames corresponding to sprType 0,1 and 2.

  • (deprecated in 1.2-5)
    whole aria.utils.FormatFactory class
  • (deprecated in 1.2-4)
    This release introduces also some changes in the skinning system and CSS.

    The following skin property is no longer supported:

    • general.colors.bkg

    You should also make sure that the skin you’re using, has defined the following properties, which were using the fallback value of the now removed general.colors.bkg if not defined

    • Calendar.<sclass>.generalBackgroundColor
    • Calendar.<sclass>.dayBorderColor
    • Calendar.<sclass>.unselectableBorderColor

    (they’re all defined in atdefskin and epiphany skins for “std” sclass, set to white).

    The following global CSS is no longer added by Aria Templates (consider adding it manually if you need it):

    body { padding: 0; margin: 0; cursor:default; }

    Additionally, due to internal changes, you may need to include aria.core.CmlClassLoader in a bundle in your application build configuration (only needed if you use skin).

Deprecated features

The following features are now deprecated but still supported.

  • aria.widgets.IconLib class
  • {bindRefreshTo} statement
    {bindRefreshTo} statement will be removed in Aria Templates 1.5.1. Please use bindRefreshTo property of a {section} statement instead. See the samples below:
    Old (deprecated) syntax:

          {section "foo"}
              {bindRefreshTo data.value/}
              ... content ...
          {/section}


    Easy replacement suggestion:

          {section {
              id : "foo",
              bindRefreshTo : [{inside : data, to : "value"}]
          }}
              ... content ...
          {/section}


    Recommended:

          {section {
              id : "foo",
              macro : "mySectionMacro",
              bindRefreshTo : [{inside : data, to : "value"}]
          } /}

          {macro mySectionMacro()}
              ... content ...
          {/macro}

  • History API cross-browser implementation enhancement
    Singleton class aria.utils.History provides a cross-browser implementation of HTML5 native history API. With respect to the previous version, this one is more compliant with the standard behavior:
    the onpopstate class event is not raised after a pushState or replaceState.
    the state property is available on the singleton and it corresponds to window.history.state.
    support for page reload and external navigation is supported also in browsers for which hash-based navigation fallback occurs (with the exception of IE7, for which the previous history is not kept after reloading, but only the current state is available). However, the new version is backward compatible with the previous one. In order to disable backward compatibility, set aria.utils.History.isBackwardCompatible to false right after loading the class.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>