@financial-times/n-myft-ui 28.3.1 → 28.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,10 +21,10 @@ export default async function openSaveArticleToListVariant (contentId, options =
21
21
  return restoreContent();
22
22
  }
23
23
 
24
- myFtClient.add('user', null, 'created', 'list', uuid(), { name: newList.name, token: csrfToken })
24
+ myFtClient.add('user', null, 'created', 'list', uuid(), { name: newList.name, token: csrfToken, isPublic: newList.isPublic })
25
25
  .then(detail => {
26
26
  myFtClient.add('list', detail.subject, 'contained', 'content', contentId, { token: csrfToken }).then((data) => {
27
- const createdList = { name: newList.name, uuid: data.actorId, checked: true, isShareable: !!newList.isShareable };
27
+ const createdList = { name: newList.name, uuid: data.actorId, checked: true, isPublic: !!newList.isPublic };
28
28
  lists.unshift(createdList);
29
29
  const announceListContainer = document.querySelector('.myft-ui-create-list-variant-announcement');
30
30
  announceListContainer.textContent = `${newList.name} created`;
@@ -153,44 +153,6 @@ export default async function openSaveArticleToListVariant (contentId, options =
153
153
  });
154
154
  }
155
155
 
156
- function showMessageOverlay () {
157
- function onContinue () {
158
- messageOverlay.destroy();
159
- createListOverlay.show();
160
- triggerAcknowledgeMessageEvent();
161
- }
162
-
163
- const messageElement = MessageElement(onContinue);
164
-
165
- const messageOverlay = new Overlay('myft-ui-create-list-variant-message', {
166
- html: messageElement,
167
- modal: false,
168
- parentnode: isMobile() ? '.o-share--horizontal' : '.o-share--vertical',
169
- class: 'myft-ui-create-list-variant-message',
170
- });
171
-
172
- const scrollHandler = getScrollHandler(messageOverlay.wrapper);
173
- const resizeHandler = getResizeHandler(messageOverlay.wrapper);
174
-
175
- messageOverlay.open();
176
-
177
- messageOverlay.wrapper.addEventListener('oOverlay.ready', (data) => {
178
- positionOverlay(data.currentTarget);
179
-
180
- window.addEventListener('scroll', scrollHandler);
181
-
182
- window.addEventListener('oViewport.resize', resizeHandler);
183
- });
184
-
185
- messageOverlay.wrapper.addEventListener('oOverlay.destroy', () => {
186
- window.removeEventListener('scroll', scrollHandler);
187
-
188
- window.removeEventListener('oViewport.resize', resizeHandler);
189
- });
190
-
191
- return messageOverlay;
192
- }
193
-
194
156
  function getScrollHandler (target) {
195
157
  return realignOverlay(window.scrollY, target);
196
158
  }
@@ -214,7 +176,7 @@ function FormElement (createList, showPublicToggle, attachDescription, onListCre
214
176
  `<div class="myft-ui-create-list-variant-form-public o-forms-field" role="group">
215
177
  <span class="o-forms-input o-forms-input--toggle">
216
178
  <label>
217
- <input class="myft-ui-create-list-variant-form-toggle" type="checkbox" name="is-shareable" value="public" checked data-trackable="private-link" text="private">
179
+ <input class="myft-ui-create-list-variant-form-toggle" type="checkbox" name="is-public" value="public" checked data-trackable="private-link" text="private">
218
180
  <span class="myft-ui-create-list-variant-form-toggle-label o-forms-input__label">
219
181
  <span class="o-forms-input__label__main">
220
182
  Public
@@ -246,23 +208,17 @@ function FormElement (createList, showPublicToggle, attachDescription, onListCre
246
208
  event.preventDefault();
247
209
  event.stopPropagation();
248
210
  const inputListName = formElement.querySelector('input[name="list-name"]');
249
- const inputIsShareable = formElement.querySelector('input[name="is-shareable"]');
211
+ const inputIsPublic = formElement.querySelector('input[name="is-public"]');
250
212
 
251
213
  const newList = {
252
214
  name: inputListName.value,
253
- isShareable: inputIsShareable ? inputIsShareable.checked : false
215
+ isPublic: inputIsPublic ? inputIsPublic.checked : false
254
216
  };
255
217
 
256
218
  createList(newList, ((contentId, createdList) => {
257
219
  triggerCreateListEvent(contentId, createdList.uuid);
258
220
  triggerAddToListEvent(contentId, createdList.uuid);
259
221
  positionOverlay(createListOverlay.wrapper);
260
-
261
- if (createdList.isShareable) {
262
- createListOverlay.close();
263
- showMessageOverlay();
264
- }
265
-
266
222
  onListCreated();
267
223
  }));
268
224
  formElement.remove();
@@ -294,7 +250,7 @@ function addPublicToggleListener (formElement) {
294
250
  triggerPublicToggleEvent(event.target.checked);
295
251
  }
296
252
 
297
- formElement.querySelector('input[name="is-shareable"]').addEventListener('click', onPublicToggleClick);
253
+ formElement.querySelector('input[name="is-public"]').addEventListener('click', onPublicToggleClick);
298
254
  }
299
255
 
300
256
  function ContentElement (hasDescription, onClick) {
@@ -420,28 +376,6 @@ function ListCheckboxElement (addToList, removeFromList) {
420
376
  };
421
377
  }
422
378
 
423
- function MessageElement (onContinue) {
424
- const message = `
425
- <div class="myft-ui-create-list-variant-message-content" >
426
- <div class="myft-ui-create-list-variant-message-text" aria-live="polite">
427
- <h3>Thank you for your interest in making a public list</h3>
428
- <p>We're currently testing this feature. For now, your list remains private and isn't visible to others.</p>
429
- </div>
430
- <div class="myft-ui-create-list-variant-message-buttons">
431
- <button class="o-buttons o-buttons--big o-buttons--secondary" data-trackable="continue-link" text="continue">
432
- Continue
433
- </button>
434
- </div>
435
- </div>
436
- `;
437
-
438
- const messageElement = stringToHTMLElement(message);
439
-
440
- messageElement.querySelector('button').addEventListener('click', onContinue);
441
-
442
- return messageElement;
443
- }
444
-
445
379
  function realignOverlay (originalScrollPosition, target) {
446
380
  return function () {
447
381
  const currentScrollPosition = window.scrollY;
@@ -495,7 +429,7 @@ async function getLists (contentId) {
495
429
  return myFtClient.getListsContent()
496
430
  .then(results => results.items.map(list => {
497
431
  const isChecked = Array.isArray(list.content) && list.content.some(content => content.uuid === contentId);
498
- return { name: list.name, uuid: list.uuid, checked: isChecked, content: list.content, isShareable: false };
432
+ return { name: list.name, uuid: list.uuid, checked: isChecked, content: list.content, isPublic: list.isPublic };
499
433
  }));
500
434
  }
501
435
 
@@ -569,20 +503,6 @@ function triggerAddToNewListEvent () {
569
503
  }));
570
504
  }
571
505
 
572
- // Temporary event on the public toggle feature.
573
- // These will be used to build a sanity check dashboard, and will be removed after we get clean-up this test.
574
- function triggerAcknowledgeMessageEvent () {
575
- document.body.dispatchEvent(new CustomEvent('oTracking.event', {
576
- detail: {
577
- category: 'publicToggle',
578
- action: 'acknowledgeMessage',
579
- teamName: 'customer-products-us-growth',
580
- amplitudeExploratory: true
581
- },
582
- bubbles: true
583
- }));
584
- }
585
-
586
506
  // Temporary event on the public toggle feature.
587
507
  // These will be used to build a sanity check dashboard, and will be removed after we get clean-up this test.
588
508
  function triggerCancelEvent () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@financial-times/n-myft-ui",
3
- "version": "28.3.1",
3
+ "version": "28.3.2",
4
4
  "description": "Client side component for interaction with myft",
5
5
  "main": "server.js",
6
6
  "scripts": {