diff --git a/source/front/blocks/events-list/edit.js b/source/front/blocks/events-list/edit.js index c5d9020..82c6f11 100644 --- a/source/front/blocks/events-list/edit.js +++ b/source/front/blocks/events-list/edit.js @@ -17,10 +17,9 @@ const NAME = '' let timer export default ({ attributes, setAttributes }) => { + const { eventsCount, groupName } = attributes const blockProps = useBlockProps({ className: NAME + '_events-list', - 'data-maximum': attributes.eventsCount, - 'data-group-name': attributes.groupName, // TODO still necessary? }) function reloadEventList() { if (timer) { @@ -33,8 +32,6 @@ export default ({ attributes, setAttributes }) => { hideErrorMessages(container) clearEventsList(container) showLoadingIndicator(container) - const eventsCount = attributes.eventsCount - const groupName = attributes.groupName let url = `/wp-json/connector-mobilizon/v1/events?eventsCount=${eventsCount}` if (groupName) { url += `&groupName=${groupName}` @@ -43,7 +40,12 @@ export default ({ attributes, setAttributes }) => { .then((response) => response.text()) // TODO also handle response.ok being false .then((data) => { const events = JSON.parse(data) - displayEvents({ events, document, container }) + displayEvents({ + events, + document, + container, + maxEventsCount: eventsCount, + }) }) .catch((data) => { displayErrorMessage({ data, container }) @@ -55,12 +57,14 @@ export default ({ attributes, setAttributes }) => { reloadEventList() }, []) function updateEventsCount(event) { + // console.log('new value: ', event.target.value) // TODO let newValue = Number(event.target.value) if (newValue < 1) newValue = 1 setAttributes({ eventsCount: newValue }) reloadEventList() } function updateGroupName(event) { + // console.log('new value: ', event.target.value) // TODO // TODO not triggered on pasting only setAttributes({ groupName: event.target.value }) reloadEventList() @@ -77,7 +81,7 @@ export default ({ attributes, setAttributes }) => { @@ -90,7 +94,7 @@ export default ({ attributes, setAttributes }) => { diff --git a/source/front/events-displayer-test.js b/source/front/events-displayer-test.js index 706985e..93b55e9 100644 --- a/source/front/events-displayer-test.js +++ b/source/front/events-displayer-test.js @@ -18,7 +18,6 @@ test.before(() => { test.beforeEach((t) => { t.context.container = document.createElement('div') - t.context.container.setAttribute('data-maximum', '2') const errorMessageGeneral = document.createElement('div') errorMessageGeneral.setAttribute('class', 'general-error') @@ -53,7 +52,7 @@ test('#displayEvents one event', (t) => { }, ] const container = t.context.container - displayEvents({ events, document, container }) + displayEvents({ events, document, container, maxEventsCount: 2 }) const list = container.querySelector('ul') t.is(list.children[0].childNodes[0].tagName, 'A') t.is(list.children[0].childNodes[0].getAttribute('href'), 'b') diff --git a/source/front/events-displayer.js b/source/front/events-displayer.js index 9b3cd5e..4b07d46 100644 --- a/source/front/events-displayer.js +++ b/source/front/events-displayer.js @@ -6,13 +6,12 @@ export function clearEventsList(container) { list.replaceChildren() } -export function displayEvents({ events, document, container }) { +export function displayEvents({ events, document, container, maxEventsCount }) { hideLoadingIndicator(container) const isShortOffsetNameShown = window.MOBILIZON_CONNECTOR.isShortOffsetNameShown const locale = window.MOBILIZON_CONNECTOR.locale - const maxEventsCount = container.getAttribute('data-maximum') const timeZone = window.MOBILIZON_CONNECTOR.timeZone const eventsCount = Math.min(maxEventsCount, events.length)