[Timelines] #677 Applied fix to prevent editing of timelines in browse mode

Fixed failing test
This commit is contained in:
Melanie Lean 2016-02-11 21:34:22 -08:00
parent 42ce2aa7cf
commit 53c60ee64f
3 changed files with 30 additions and 3 deletions

View File

@ -44,7 +44,7 @@
</div> </div>
</div> </div>
<div class="holder l-flex-col flex-elem grows l-object-wrapper"> <div class="holder l-flex-col flex-elem grows l-object-wrapper">
<div class="holder l-flex-col flex-elem grows l-object-wrapper-inner"> <div ng-if="isEditable" class="holder l-flex-col flex-elem grows l-object-wrapper-inner">
<!-- Toolbar and Save/Cancel buttons --> <!-- Toolbar and Save/Cancel buttons -->
<div class="l-edit-controls flex-elem l-flex-row flex-align-end"> <div class="l-edit-controls flex-elem l-flex-row flex-align-end">
<mct-toolbar name="mctToolbar" <mct-toolbar name="mctToolbar"
@ -63,6 +63,20 @@
class="abs flex-elem grows object-holder-main scroll" class="abs flex-elem grows object-holder-main scroll"
toolbar="toolbar"> toolbar="toolbar">
</mct-representation> </mct-representation>
</div><!--/ l-object-wrapper-inner --> </div>
<div ng-if="!isEditable" class="holder l-flex-col flex-elem grows l-object-wrapper-inner">
<!-- Toolbar and Save/Cancel buttons -->
<div class="l-edit-controls flex-elem l-flex-row flex-align-end">
<mct-representation key="'edit-action-buttons'"
mct-object="domainObject"
class='flex-elem conclude-editing'>
</mct-representation>
</div>
<mct-representation key="representation.selected.key"
mct-object="representation.selected.key && domainObject"
class="abs flex-elem grows object-holder-main scroll">
</mct-representation>
</div>
</div> </div>
</div> </div>

View File

@ -109,6 +109,8 @@ define(
// Track the represented object // Track the represented object
this.domainObject = representedObject; this.domainObject = representedObject;
this.scope.isEditable = representedObject.getCapability('status').get('editing');
// Ensure existing watches are released // Ensure existing watches are released
this.destroy(); this.destroy();
}; };

View File

@ -33,6 +33,8 @@ define(
testRepresentation, testRepresentation,
mockDomainObject, mockDomainObject,
mockPersistence, mockPersistence,
mockCapabilities,
mockStatusCapability,
representer; representer;
function mockPromise(value) { function mockPromise(value) {
@ -57,11 +59,20 @@ define(
]); ]);
mockPersistence = mockPersistence =
jasmine.createSpyObj("persistence", ["persist"]); jasmine.createSpyObj("persistence", ["persist"]);
mockStatusCapability =
jasmine.createSpyObj("status", ["get"]);
mockStatusCapability.get.andReturn(false);
mockCapabilities = {
'persistence': mockPersistence,
'status': mockStatusCapability
};
mockDomainObject.getModel.andReturn({}); mockDomainObject.getModel.andReturn({});
mockDomainObject.hasCapability.andReturn(true); mockDomainObject.hasCapability.andReturn(true);
mockDomainObject.useCapability.andReturn(true); mockDomainObject.useCapability.andReturn(true);
mockDomainObject.getCapability.andReturn(mockPersistence); mockDomainObject.getCapability.andCallFake(function(capability){
return mockCapabilities[capability];
});
representer = new EditRepresenter(mockQ, mockLog, mockScope); representer = new EditRepresenter(mockQ, mockLog, mockScope);
representer.represent(testRepresentation, mockDomainObject); representer.represent(testRepresentation, mockDomainObject);