diff --git a/src/Autocomplete/assets/dist/controller.js b/src/Autocomplete/assets/dist/controller.js index c6e9660b1d..5dec346a52 100644 --- a/src/Autocomplete/assets/dist/controller.js +++ b/src/Autocomplete/assets/dist/controller.js @@ -15,19 +15,12 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol */ - function __classPrivateFieldGet(receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; +} var _default_1_instances, _default_1_getCommonConfig, _default_1_createAutocomplete, _default_1_createAutocompleteWithHtmlContents, _default_1_createAutocompleteWithRemoteData, _default_1_stripTags, _default_1_mergeObjects, _default_1_createTomSelect; class default_1 extends Controller { diff --git a/src/LiveComponent/assets/dist/live_controller.js b/src/LiveComponent/assets/dist/live_controller.js index 22b6b68f43..f857171600 100644 --- a/src/LiveComponent/assets/dist/live_controller.js +++ b/src/LiveComponent/assets/dist/live_controller.js @@ -1667,7 +1667,7 @@ class ElementChanges { element.classList.remove(...this.removedClasses); this.styleChanges.getChangedItems().forEach((change) => { element.style.setProperty(change.name, change.value); - return; + }); this.styleChanges.getRemovedItems().forEach((styleName) => { element.style.removeProperty(styleName); @@ -2040,7 +2040,8 @@ class Component { } const headers = backendResponse.response.headers; if (!headers.get('Content-Type')?.includes('application/vnd.live-component+html') && - !headers.get('X-Live-Redirect')) { + !headers.get('X-Live-Redirect') && + !headers.get('X-Live-Delete')) { const controls = { displayError: true }; this.valueStore.pushPendingPropsBackToDirty(); this.hooks.triggerHook('response:error', backendResponse, controls); @@ -2079,6 +2080,10 @@ class Component { } return; } + if (backendResponse.response.headers.get('X-Live-Delete')) { + this.element.remove(); + return; + } this.hooks.triggerHook('loading.state:finished', this.element); const modifiedModelValues = {}; Object.keys(this.valueStore.getDirtyProps()).forEach((modelName) => { @@ -2994,7 +2999,7 @@ class LiveControllerDefault extends Controller { }); validModifiers.set('self', () => { if (event.target !== event.currentTarget) { - return; + } }); validModifiers.set('debounce', (modifier) => { diff --git a/src/LiveComponent/assets/src/Component/index.ts b/src/LiveComponent/assets/src/Component/index.ts index 18c6a5dea8..8e6b8b16e5 100644 --- a/src/LiveComponent/assets/src/Component/index.ts +++ b/src/LiveComponent/assets/src/Component/index.ts @@ -311,7 +311,8 @@ export default class Component { const headers = backendResponse.response.headers; if ( !headers.get('Content-Type')?.includes('application/vnd.live-component+html') && - !headers.get('X-Live-Redirect') + !headers.get('X-Live-Redirect') && + !headers.get('X-Live-Delete') ) { const controls = { displayError: true }; this.valueStore.pushPendingPropsBackToDirty(); @@ -366,6 +367,12 @@ export default class Component { return; } + if (backendResponse.response.headers.get('X-Live-Delete')) { + // action returned a delete element from the DOM + this.element.remove(); + + return; + } // remove the loading behavior now so that when we morphdom // "diffs" the elements, any loading differences will not cause