{"push_id":1327522371,"size":5,"distinct_size":5,"ref":"refs/heads/master","head":"b772ca1bb9fc4bbeb9a3b3b8f9c9e25a07be8086","before":"3766478647242679464a9af5d145b4ae0d24e8fe","commits":[{"sha":"a8dcd000ea746b01a6ca4930bca3312c245247cf","author":{"name":"Deciare","email":"075951b7d185f92b56ac7d1e9b28ffeee64610c8@isisview.org"},"message":"PropertyEditorComponent: Ensure that properties already existing in the array are not drafts before attempting to inherit permissions from them.\n\nOtherwise, changing or resetting permissions for the same property more than once within the same page load won't work correctly.","distinct":true,"url":"https://api.github.com/repos/deciare/flowerbox-web-angular/commits/a8dcd000ea746b01a6ca4930bca3312c245247cf"},{"sha":"b9b94a136befc31828368a22e18e8ce743a1cfbd","author":{"name":"Deciare","email":"075951b7d185f92b56ac7d1e9b28ffeee64610c8@isisview.org"},"message":"GenericPropertyEditor: Use separate member variable as input to PermissionsComponent.\n\nAngular 2's OnChanges lifecycle hook only triggers when an input property's value has changed. When the value is an reference to an object, then the lifecycle hook only triggers if the reference is pointed at a different object.\n\nIn order for PermissionsComponent to reflect changes in permission, it must be aware when the Property or Verb object whose permissions it is displaying has changed. But it can only be aware of the change if the reference to the Property or Verb object has changed.\n\nModifying GenericPropertyEditor.property to point at a new instance of the Property object worked for this purpose, but it also caused the reference of the Property object being passed into GenericPropertyEditor itself to change (via PropertyEditor.onChange(), in response to GenericPropertyEditor.propertyChange). Since GenericPropertyEditor is instantiated by PropertyEditor as part of an ngFor loop, a change in the reference to the input Property causes the corresponding instance of GenericPropertyEditor to be destroyed and replaced. That was in turn causing changes to the property draft to not be saved, because GenericPropertyEditor is destroyed before the debounce timeout that would trigger a call to saveDraft() expires.\n\nTo cirvumvent all that, we now pass a separate object reference, GenericPropertyEditor._propertyForPermissions, to PermissionsComponent as an input property. GenericPropertyEditor._propertyForPermissions gets replaced with a new instance whenever GenericPropertyEditor.property is modified, and GenericPropertyEditor.property itself retains a reference to the same Property object with which it was initialised.","distinct":true,"url":"https://api.github.com/repos/deciare/flowerbox-web-angular/commits/b9b94a136befc31828368a22e18e8ce743a1cfbd"},{"sha":"8b25234836ac6a23e48475f06097bbb3b56e8392","author":{"name":"Deciare","email":"075951b7d185f92b56ac7d1e9b28ffeee64610c8@isisview.org"},"message":"WobService: Fix permissions for binary property drafts being set and parsed incorrectly.","distinct":true,"url":"https://api.github.com/repos/deciare/flowerbox-web-angular/commits/8b25234836ac6a23e48475f06097bbb3b56e8392"},{"sha":"6a644bfa6662cd138f3c33b9c5446594597944da","author":{"name":"Deciare","email":"075951b7d185f92b56ac7d1e9b28ffeee64610c8@isisview.org"},"message":"Enable permissions editor for image and audio properties.","distinct":true,"url":"https://api.github.com/repos/deciare/flowerbox-web-angular/commits/6a644bfa6662cd138f3c33b9c5446594597944da"},{"sha":"b772ca1bb9fc4bbeb9a3b3b8f9c9e25a07be8086","author":{"name":"Deciare","email":"075951b7d185f92b56ac7d1e9b28ffeee64610c8@isisview.org"},"message":"Show confirmation prompt before deleting property.","distinct":true,"url":"https://api.github.com/repos/deciare/flowerbox-web-angular/commits/b772ca1bb9fc4bbeb9a3b3b8f9c9e25a07be8086"}]}
{"actor":{"display_login":"deciare"}}