diff --git a/src/assetbundles/KeystoneAssetBundle.php b/src/assetbundles/KeystoneAssetBundle.php index 0a23925..c0f0d28 100644 --- a/src/assetbundles/KeystoneAssetBundle.php +++ b/src/assetbundles/KeystoneAssetBundle.php @@ -19,7 +19,6 @@ public function init() 'lib/axios.min.js', 'components/post.js', 'components/slideout.js', - 'components/edit.js', ]; $this->css = [ diff --git a/src/resources/components/edit.js b/src/resources/components/edit.js deleted file mode 100644 index 1c4a299..0000000 --- a/src/resources/components/edit.js +++ /dev/null @@ -1,57 +0,0 @@ -document.addEventListener('click', async event => { - const anchor = event.target.closest && event.target.closest('a[data-open-keystone-component-editor]') - if (!anchor) { - return; - } - - event.preventDefault(); - event.stopPropagation(); - - const field = anchor.closest('.field[data-type]'); - const layoutElementUid = field.dataset.layoutElement; - if (field.dataset.type !== 'markhuot\\keystone\\fields\\Keystone') { - throw Error('oh no'); - } - const handle = field.dataset.attribute; - - let form = field.closest('form'); - let editor = $.data(form, 'elementEditor'); - - // There might not be an editor if we're in live preview so we need to look around - // in the DOM for the real editor behind the scenes. - if (! editor && form.classList.contains('lp-editor')) { - form = document.getElementById('main-form'); - editor = $.data(form, 'elementEditor'); - } - - await editor.ensureIsDraftOrRevision(); - - const params = JSON.parse(anchor.dataset.openKeystoneComponentEditor); - params.elementId = editor.settings.elementId; - const slideout = new Craft.CpScreenSlideout('keystone/components/edit', {params}); - - slideout.on('submit', event => { - const input = form.querySelector('.keystone-pulse') || document.createElement('input'); - input.setAttribute('class', 'keystone-pulse'); - input.setAttribute('type', 'hidden'); - input.setAttribute('name', 'keystone[pulse]'); - input.setAttribute('value', new Date().getTime()); - form.appendChild(input); - - if (event.response.data.fieldHtml) { - const template = document.createElement('div'); - template.innerHTML = event.response.data.fieldHtml; - - document.querySelectorAll(`[data-layout-element="${layoutElementUid}"]`).forEach(el => { - el.innerHTML = template.firstElementChild.innerHTML; - }) - form.click(); - } - - form.click(); - }); - - slideout.on('close', () => { - // ... - }); -});