Skip to content

Commit fc8c930

Browse files
Merge pull request apex-enterprise-patterns#25 from OrtooApps/feature/updates-to-support-example-app-repo
Added passing through of labels into the buttons in the view and edit…
2 parents 69a9fea + 4e86c73 commit fc8c930

File tree

4 files changed

+76
-11
lines changed

4 files changed

+76
-11
lines changed

framework/default/ortoo-core/default/lwc/viewAndEditForm/__tests__/viewAndEditForm.test.js

Lines changed: 62 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ describe('c-view-and-edit-form', () => {
3030
expect( additionalEditButtons ).not.toBe( null );
3131
});
3232

33-
it('When visible card and not inEditMode, has an edit button, but no save or cancel', () => {
33+
it('When visible card and not inEditMode, has an edit button, but no save or cancel', () => {
3434
const element = createElement('c-view-and-edit-form', {
3535
is: ViewAndEditForm
3636
});
@@ -51,7 +51,7 @@ describe('c-view-and-edit-form', () => {
5151
expect( additionalEditButtons ).toBe( null );
5252
});
5353

54-
it('When visible card and inEditMode, has an editForm slot but no viewForm slot', () => {
54+
it('When visible card and inEditMode, has an editForm, title and info slot but no viewForm slot', () => {
5555
const element = createElement('c-view-and-edit-form', {
5656
is: ViewAndEditForm
5757
});
@@ -64,9 +64,15 @@ describe('c-view-and-edit-form', () => {
6464

6565
const editForm = element.shadowRoot.querySelector( 'slot[name="edit-form"]' );
6666
expect( editForm ).not.toBe( null );
67-
});
6867

69-
it('When visible card and not inEditMode, has a viewForm slot but no editForm slot', () => {
68+
const title = element.shadowRoot.querySelector( 'slot[name="title"]' );
69+
expect( title ).not.toBe( null );
70+
71+
const info = element.shadowRoot.querySelector( 'slot[name="info"]' );
72+
expect( info ).not.toBe( null );
73+
});
74+
75+
it('When visible card and not inEditMode, has a viewForm, title and info slot but no editForm slot', () => {
7076
const element = createElement('c-view-and-edit-form', {
7177
is: ViewAndEditForm
7278
});
@@ -79,6 +85,12 @@ describe('c-view-and-edit-form', () => {
7985

8086
const editForm = element.shadowRoot.querySelector( 'slot[name="edit-form"]' );
8187
expect( editForm ).toBe( null );
88+
89+
const title = element.shadowRoot.querySelector( 'slot[name="title"]' );
90+
expect( title ).not.toBe( null );
91+
92+
const info = element.shadowRoot.querySelector( 'slot[name="info"]' );
93+
expect( info ).not.toBe( null );
8294
});
8395

8496
it('When visible card, and inEditMode, clicking save will issue a save event', () => {
@@ -144,6 +156,21 @@ describe('c-view-and-edit-form', () => {
144156
})
145157
});
146158

159+
it('When visible card, inEditMode, and save and cancel button labels specified, will display those labels', () => {
160+
const element = createElement('c-view-and-edit-form', {
161+
is: ViewAndEditForm
162+
});
163+
element.visible = true;
164+
element.inEditMode = true;
165+
element.saveLabel = 'overridden-save';
166+
element.cancelLabel = 'overridden-cancel';
167+
document.body.appendChild(element);
168+
169+
const saveButtons = element.shadowRoot.querySelector( 'c-save-buttons' );
170+
expect( saveButtons.saveLabel ).toBe( 'overridden-save' );
171+
expect( saveButtons.cancelLabel ).toBe( 'overridden-cancel' );
172+
});
173+
147174
it('When visible modal and inEditMode, has a save and cancel button, but no edit', () => {
148175
const element = createElement('c-view-and-edit-form', {
149176
is: ViewAndEditForm
@@ -188,7 +215,7 @@ describe('c-view-and-edit-form', () => {
188215
expect( additionalEditButtons ).toBe( null );
189216
});
190217

191-
it('When visible modal and inEditMode, has an editForm slot but no viewForm slot', () => {
218+
it('When visible modal and inEditMode, has an editForm, title and info slot but no viewForm slot', () => {
192219
const element = createElement('c-view-and-edit-form', {
193220
is: ViewAndEditForm
194221
});
@@ -202,9 +229,15 @@ describe('c-view-and-edit-form', () => {
202229

203230
const editForm = element.shadowRoot.querySelector( 'slot[name="edit-form"]' );
204231
expect( editForm ).not.toBe( null );
205-
});
206232

207-
it('When visible modal and not inEditMode, has a viewForm slot but no editForm slot', () => {
233+
const title = element.shadowRoot.querySelector( 'slot[name="title"]' );
234+
expect( title ).not.toBe( null );
235+
236+
const info = element.shadowRoot.querySelector( 'slot[name="info"]' );
237+
expect( info ).not.toBe( null );
238+
});
239+
240+
it('When visible modal and not inEditMode, has a viewForm, title and info slot but no editForm slot', () => {
208241
const element = createElement('c-view-and-edit-form', {
209242
is: ViewAndEditForm
210243
});
@@ -218,6 +251,12 @@ describe('c-view-and-edit-form', () => {
218251

219252
const editForm = element.shadowRoot.querySelector( 'slot[name="edit-form"]' );
220253
expect( editForm ).toBe( null );
254+
255+
const title = element.shadowRoot.querySelector( 'slot[name="title"]' );
256+
expect( title ).not.toBe( null );
257+
258+
const info = element.shadowRoot.querySelector( 'slot[name="info"]' );
259+
expect( info ).not.toBe( null );
221260
});
222261

223262
it('When visible modal, and inEditMode, clicking save will issue a save event', () => {
@@ -286,6 +325,22 @@ describe('c-view-and-edit-form', () => {
286325
})
287326
});
288327

328+
it('When visible modal, inEditMode, and save and cancel button labels specified, will display those labels', () => {
329+
const element = createElement('c-view-and-edit-form', {
330+
is: ViewAndEditForm
331+
});
332+
element.mode = 'modal';
333+
element.visible = true;
334+
element.inEditMode = true;
335+
element.saveLabel = 'overridden-save';
336+
element.cancelLabel = 'overridden-cancel';
337+
document.body.appendChild(element);
338+
339+
const saveButtons = element.shadowRoot.querySelector( 'c-save-buttons' );
340+
expect( saveButtons.saveLabel ).toBe( 'overridden-save' );
341+
expect( saveButtons.cancelLabel ).toBe( 'overridden-cancel' );
342+
});
343+
289344
it('When configured with an invalid mode, will throw an error', () => {
290345
const element = createElement('c-view-and-edit-form', {
291346
is: ViewAndEditForm

framework/default/ortoo-core/default/lwc/viewAndEditForm/viewAndEditForm-card.html

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
</div>
2222

2323
<div class="slds-p-around_small">
24+
<slot name="info"></slot>
2425
<slot name="view-form"></slot>
2526
</div>
2627
</lightning-card>
@@ -32,15 +33,19 @@
3233
</div>
3334

3435
<div class="slds-p-around_small">
35-
<lightning-messages></lightning-messages>
36+
<slot name="info"></slot>
37+
38+
<lightning-messages></lightning-messages>
3639

3740
<slot name="edit-form"></slot>
3841
</div>
3942

4043
<div slot="footer">
4144

4245
<c-save-buttons
43-
onsave={handleSaveClick}
46+
save-label={saveLabel}
47+
cancel-label={cancelLabel}
48+
onsave={handleSaveClick}
4449
oncancel={handleCancelClick}
4550
>
4651
<span slot="additional-buttons">

framework/default/ortoo-core/default/lwc/viewAndEditForm/viewAndEditForm-modal.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
</lightning-button-group>
2727

2828
<div slot="contents">
29+
30+
<slot name="info"></slot>
31+
2932
<template if:false={inEditMode}>
3033
<slot name="view-form"></slot>
3134
</template>
@@ -37,7 +40,9 @@
3740

3841
<div slot="footer" if:true={inEditMode}>
3942

40-
<c-save-buttons
43+
<c-save-buttons
44+
cancel-label={cancelLabel}
45+
save-label={saveLabel}
4146
onsave={handleSaveClick}
4247
oncancel={handleCancelClick}
4348
>

framework/default/sobject-fabricator/classes/ortoo_FabricatedSObjectRegister.cls

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,4 +201,4 @@ public class ortoo_FabricatedSObjectRegister {
201201
SobjectField relationshipField = new sfab_ObjectDescriber().getFieldForChildRelationship( parent.getSobjectName(), relationship );
202202
return new Relationship( child, relationshipField, parent );
203203
}
204-
}
204+
}

0 commit comments

Comments
 (0)