[
https://issues.apache.org/jira/browse/FLEX-34880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mihai Chira updated FLEX-34880:
-------------------------------
Description:
{panel:title=NOTE|borderStyle=dashed|titleBGColor=#F7D6C1} this has been placed
on hold until we find a solution which doesn't break backwards
compatibility{panel}
h1. -The change-
(Both mx and spark) {{Sort}} and {{SortField}} will be transitioned to
immutable objects to prevent bugs like FLEX-34853. In this step we are:
# _removing the state setters from the interfaces_ ({{ISort}} and
{{ISortField}}).
# _hiding the state setters behind the {{mx_internal}} namespace_. This also
implies renaming them (because a getter and a setter with different namespaces
throw a compile error). The pattern is: {{public function set
compareFunction(c:Function):void}} becomes {{mx_internal function set
compareFunction_(c:Function):void}}.
h1. -Usage-
h3. Before
{code}
var sortField:ISortField = new SortField();
sortField.name = "title";
sortField.descending = true;
sortField.numeric = false;
sortField.sortCompareType = SortFieldCompareTypes.STRING;
sortField.compareFunction = titleCompareFunction;
{code}
h3. After; Version 1 (_preferred_)
{code}
var sortField:ISortField = new SortField("title", true, false,
SortFieldCompareTypes.STRING, titleCompareFunction);
{code}
h3. After; Version 2 (_deprecated, invalid in future versions_)
{code}
var sortField:ISortField = new SortField();
SortField(sortField).mx_internal::name_ = "title";
SortField(sortField).mx_internal::descending_ = true;
SortField(sortField).mx_internal::numeric_ = false;
SortField(sortField).mx_internal::sortCompareType_ =
SortFieldCompareTypes.STRING;
SortField(sortField).mx_internal::compareFunction_ = someCompareFunction;
{code}
was:
{panel:title=NOTE|borderStyle=dashed|titleBGColor=#F7D6C1} this has been placed
on hold until we find a solution which doesn't break backwards
compatibility{panel}
----
h1. -The change-
(Both mx and spark) {{Sort}} and {{SortField}} will be transitioned to
immutable objects to prevent bugs like FLEX-34853. In this step we are:
# _removing the state setters from the interfaces_ ({{ISort}} and
{{ISortField}}).
# _hiding the state setters behind the {{mx_internal}} namespace_. This also
implies renaming them (because a getter and a setter with different namespaces
throw a compile error). The pattern is: {{public function set
compareFunction(c:Function):void}} becomes {{mx_internal function set
compareFunction_(c:Function):void}}.
h1. -Usage-
h3. Before
{code}
var sortField:ISortField = new SortField();
sortField.name = "title";
sortField.descending = true;
sortField.numeric = false;
sortField.sortCompareType = SortFieldCompareTypes.STRING;
sortField.compareFunction = titleCompareFunction;
{code}
h3. After; Version 1 (_preferred_)
{code}
var sortField:ISortField = new SortField("title", true, false,
SortFieldCompareTypes.STRING, titleCompareFunction);
{code}
h3. After; Version 2 (_deprecated, invalid in future versions_)
{code}
var sortField:ISortField = new SortField();
SortField(sortField).mx_internal::name_ = "title";
SortField(sortField).mx_internal::descending_ = true;
SortField(sortField).mx_internal::numeric_ = false;
SortField(sortField).mx_internal::sortCompareType_ =
SortFieldCompareTypes.STRING;
SortField(sortField).mx_internal::compareFunction_ = someCompareFunction;
{code}
> Sort and SortField state setters are now behind mx_internal and out of the
> interfaces
> -------------------------------------------------------------------------------------
>
> Key: FLEX-34880
> URL: https://issues.apache.org/jira/browse/FLEX-34880
> Project: Apache Flex
> Issue Type: Sub-task
> Components: Spark: Sort and SortField
> Affects Versions: Apache Flex 4.15.0
> Reporter: Mihai Chira
> Assignee: Mihai Chira
> Fix For: Apache Flex 4.16.0
>
>
> {panel:title=NOTE|borderStyle=dashed|titleBGColor=#F7D6C1} this has been
> placed on hold until we find a solution which doesn't break backwards
> compatibility{panel}
> h1. -The change-
> (Both mx and spark) {{Sort}} and {{SortField}} will be transitioned to
> immutable objects to prevent bugs like FLEX-34853. In this step we are:
> # _removing the state setters from the interfaces_ ({{ISort}} and
> {{ISortField}}).
> # _hiding the state setters behind the {{mx_internal}} namespace_. This also
> implies renaming them (because a getter and a setter with different
> namespaces throw a compile error). The pattern is: {{public function set
> compareFunction(c:Function):void}} becomes {{mx_internal function set
> compareFunction_(c:Function):void}}.
> h1. -Usage-
> h3. Before
> {code}
> var sortField:ISortField = new SortField();
> sortField.name = "title";
> sortField.descending = true;
> sortField.numeric = false;
> sortField.sortCompareType = SortFieldCompareTypes.STRING;
> sortField.compareFunction = titleCompareFunction;
> {code}
> h3. After; Version 1 (_preferred_)
> {code}
> var sortField:ISortField = new SortField("title", true, false,
> SortFieldCompareTypes.STRING, titleCompareFunction);
> {code}
> h3. After; Version 2 (_deprecated, invalid in future versions_)
> {code}
> var sortField:ISortField = new SortField();
> SortField(sortField).mx_internal::name_ = "title";
> SortField(sortField).mx_internal::descending_ = true;
> SortField(sortField).mx_internal::numeric_ = false;
> SortField(sortField).mx_internal::sortCompareType_ =
> SortFieldCompareTypes.STRING;
> SortField(sortField).mx_internal::compareFunction_ = someCompareFunction;
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)