Enable the Workflow structure change on changing its type
To enable this fix, a massive refactoring to panel/row/item - i.e.,
the 'view' mixins - was done. Now these mixins are implemented as
filters, which has the following benefits:
* once the underlying Barricade model changes, the following change is
immediately propagated to the view (input events are no longer
catched by some obsolete piece of model just because view is not
updated and is still sending events to an old model);
* at the same time the filter results are memoized (with the
appropriate function from underscore.js) so not infinite $digest
looping happens, with the Barricade objects' string hash being used
as a parts of a composite caching key.
Also change .toJSON() usage in Mistral models to .toJSON({pretty: true})
usage to not interfere with deserializing JSON blobs when we need to
recreate a Barricade object from JSON blob.
Provide a foundation of a suite of filters unit-tests - just a list of
specs being verified with an actual code to be written later.
Reviewed: https:/ /review. openstack. org/170206 /git.openstack. org/cgit/ stackforge/ merlin/ commit/ ?id=5014b8de587 947e2019f081d5b 2b17e5c14c2af1
Committed: https:/
Submitter: Jenkins
Branch: master
commit 5014b8de587947e 2019f081d5b2b17 e5c14c2af1
Author: Timur Sufiev <email address hidden>
Date: Thu Apr 2 19:41:44 2015 +0300
Enable the Workflow structure change on changing its type
To enable this fix, a massive refactoring to panel/row/item - i.e.,
the 'view' mixins - was done. Now these mixins are implemented as
filters, which has the following benefits:
* once the underlying Barricade model changes, the following change is
immediately propagated to the view (input events are no longer
catched by some obsolete piece of model just because view is not
updated and is still sending events to an old model);
* at the same time the filter results are memoized (with the
appropriate function from underscore.js) so not infinite $digest
looping happens, with the Barricade objects' string hash being used
as a parts of a composite caching key.
Also change .toJSON() usage in Mistral models to .toJSON({pretty: true})
usage to not interfere with deserializing JSON blobs when we need to
recreate a Barricade object from JSON blob.
Provide a foundation of a suite of filters unit-tests - just a list of
specs being verified with an actual code to be written later.
Closes-Bug: #1436409 0a6b867c39e4942 0d1716c1310
Change-Id: I7af36abbdcfab7