Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LPS-122449 Remove usages of dom.delegate #466

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -12,7 +12,7 @@
* details.
*/

import {PortletBase, openSelectionModal} from 'frontend-js-web';
import {PortletBase, delegate, openSelectionModal} from 'frontend-js-web';
import * as dom from 'metal-dom';
import {EventHandler} from 'metal-events';
import {Config} from 'metal-state';
Expand All @@ -39,7 +39,7 @@ class PersonAccountEntryEventHandler extends PortletBase {
);

this.eventHandler_.add(
dom.delegate(
delegate(
this.container,
'click',
this.removeUserLinkSelector,
Expand All @@ -53,7 +53,7 @@ class PersonAccountEntryEventHandler extends PortletBase {
*/
detached() {
super.detached();
this.eventHandler_.removeAllListeners();
this.eventHandler_.dispose();
}

_handleOnSelect(selectedItemData) {
Expand Down
Expand Up @@ -272,8 +272,10 @@
</aui:script>
</c:when>
<c:otherwise>
<aui:script require="metal-dom/src/all/dom as dom">
var delegateHandler = dom.delegate(
<aui:script require="frontend-js-web/liferay/delegate/delegate.es as delegateModule">
var delegate = delegateModule.default;

var delegateHandler = delegate(
document.querySelector('#<portlet:namespace />selectAssetFm'),
'click',
'.selector-button',
Expand All @@ -283,14 +285,14 @@
Liferay.Util.getOpener().Liferay.fire(
'<%= HtmlUtil.escapeJS(assetBrowserDisplayContext.getEventName()) %>',
{
data: event.delegateTarget.dataset,
data: event.target.closest('.selector-button').dataset,
}
);
}
);

var onDestroyPortlet = function () {
delegateHandler.removeListener();
delegateHandler.dispose();

Liferay.detach('destroyPortlet', onDestroyPortlet);
};
Expand Down
Expand Up @@ -53,8 +53,10 @@ AssetDisplayPagesItemSelectorViewDisplayContext assetDisplayPagesItemSelectorVie
</liferay-ui:search-container>
</aui:form>

<aui:script require="metal-dom/src/all/dom as dom">
var selectFragmentEntryHandler = dom.delegate(
<aui:script require="frontend-js-web/liferay/delegate/delegate.es as delegateModule">
var delegate = delegateModule.default;

var selectFragmentEntryHandler = delegate(
document.querySelector('#<portlet:namespace />fm'),
'click',
'.layout-page-template-entry',
Expand All @@ -67,7 +69,7 @@ AssetDisplayPagesItemSelectorViewDisplayContext assetDisplayPagesItemSelectorVie
});
}

var newSelectedCard = event.delegateTarget.closest('.form-check-card');
var newSelectedCard = event.target.closest('.form-check-card');

if (newSelectedCard) {
newSelectedCard.classList.add('active');
Expand All @@ -76,14 +78,15 @@ AssetDisplayPagesItemSelectorViewDisplayContext assetDisplayPagesItemSelectorVie
Liferay.Util.getOpener().Liferay.fire(
'<%= assetDisplayPagesItemSelectorViewDisplayContext.getItemSelectedEventName() %>',
{
data: event.delegateTarget.dataset,
data: event.target.closest('.layout-page-template-entry')
.dataset,
}
);
}
);

function removeListener() {
selectFragmentEntryHandler.removeListener();
selectFragmentEntryHandler.dispose();

Liferay.detach('destroyPortlet', removeListener);
}
Expand Down
Expand Up @@ -245,7 +245,7 @@ List<AssetRendererFactory<?>> classTypesAssetRendererFactories = new ArrayList<>
</liferay-frontend:fieldset>
</liferay-frontend:fieldset-group>

<aui:script require="metal-dom/src/dom as dom">
<aui:script require="metal-dom/src/dom as dom,frontend-js-web/liferay/delegate/delegate.es as delegateModule">
var Util = Liferay.Util;

var MAP_DDM_STRUCTURES = {};
Expand Down Expand Up @@ -542,14 +542,16 @@ List<AssetRendererFactory<?>> classTypesAssetRendererFactories = new ArrayList<>
});
}

dom.delegate(
var delegate = delegateModule.default;

delegate(
sourcePanel,
'click',
'.asset-subtypefields-wrapper-enable label',
function (event) {
var subtypeFieldsFilterEnabledInput = event.delegateTarget.querySelector(
'input'
);
var subtypeFieldsFilterEnabledInput = event.target
.closest('.asset-subtypefields-wrapper-enable label')
.querySelector('input');

var assetSubtypefieldsPopupButtons = document.querySelectorAll(
'.asset-subtypefields-popup .btn'
Expand Down Expand Up @@ -583,12 +585,10 @@ List<AssetRendererFactory<?>> classTypesAssetRendererFactories = new ArrayList<>
'<portlet:namespace />ddmStructureDisplayFieldValue'
);

dom.delegate(sourcePanel, 'click', '.asset-subtypefields-popup', function (
event
) {
var delegateTarget = event.delegateTarget;
delegate(sourcePanel, 'click', '.asset-subtypefields-popup', function (event) {
var target = event.target.closest('.asset-subtypefields-popup');

var btn = delegateTarget.querySelector('.btn');
var btn = target.querySelector('.btn');

var url = btn.dataset.href;

Expand All @@ -610,7 +610,7 @@ List<AssetRendererFactory<?>> classTypesAssetRendererFactories = new ArrayList<>

Util.openSelectionModal({
customSelectEvent: true,
id: '<portlet:namespace />selectDDMStructure' + delegateTarget.id,
id: '<portlet:namespace />selectDDMStructure' + target.id,
onSelect: function (selectedItem) {
setDDMFields(
selectedItem.className,
Expand Down
Expand Up @@ -211,15 +211,17 @@ AssetListEntry assetListEntry = assetListDisplayContext.getAssetListEntry();
</c:otherwise>
</c:choose>

<aui:script require="metal-dom/src/dom as dom">
var delegateHandler = dom.delegate(
<aui:script require="frontend-js-web/liferay/delegate/delegate.es as delegateModule">
var delegate = delegateModule.default;

var delegateHandler = delegate(
document.body,
'click',
'.asset-selector a',
function (event) {
event.preventDefault();

var delegateTarget = event.delegateTarget;
var target = event.target.closest('.asset-selector a');

Liferay.Util.openSelectionModal({
multiple: true,
Expand All @@ -241,14 +243,14 @@ AssetListEntry assetListEntry = assetListDisplayContext.getAssetListEntry();
}
},
selectEventName: '<portlet:namespace />selectAsset',
title: delegateTarget.dataset.title,
url: delegateTarget.dataset.href,
title: target.dataset.title,
url: target.dataset.href,
});
}
);

var onDestroyPortlet = function () {
delegateHandler.removeListener();
delegateHandler.dispose();

Liferay.detach('destroyPortlet', onDestroyPortlet);
};
Expand Down
Expand Up @@ -12,30 +12,29 @@
* details.
*/

import {PortletBase} from 'frontend-js-web';
import dom from 'metal-dom';
import {PortletBase, delegate} from 'frontend-js-web';

export default class TopLinkEventHandler extends PortletBase {
attached() {
this._delegateHandler = dom.delegate(
this._delegateHandler = delegate(
document.body,
'click',
'a',
(event) => {
const openerWindow = Liferay.Util.getTop();

if (openerWindow && event.delegateTarget.target === '_top') {
const delegateTarget = event.target.closest('a');

if (openerWindow && delegateTarget.target === '_top') {
event.preventDefault();

openerWindow.Liferay.Util.navigate(
event.delegateTarget.href
);
openerWindow.Liferay.Util.navigate(delegateTarget.href);
}
}
);
}

dispose() {
this._delegateHandler.removeListener();
this._delegateHandler.dispose();
}
}
Expand Up @@ -225,7 +225,7 @@ for (long groupId : groupIds) {
}
</script>

<aui:script require="metal-dom/src/dom as dom">
<aui:script require="frontend-js-web/liferay/delegate/delegate.es as delegateModule">
function selectAssets(assetEntryList) {
var assetClassName = '';
var assetEntryIds = [];
Expand All @@ -246,14 +246,16 @@ for (long groupId : groupIds) {
});
}

var delegateHandler = dom.delegate(
var delegate = delegateModule.default;

var delegateHandler = delegate(
document.body,
'click',
'.asset-selector a',
function (event) {
event.preventDefault();

var delegateTarget = event.delegateTarget;
var delegateTarget = event.target.closest('.asset-selector a');

Liferay.Util.openSelectionModal({
multiple: true,
Expand Down
Expand Up @@ -26,7 +26,7 @@ String portletResource = ParamUtil.getString(request, "portletResource");
</aui:a>
</div>

<aui:script require="metal-dom/src/all/dom as dom,frontend-js-web/liferay/modal/commands/OpenSimpleInputModal.es as openSimpleInputModal">
<aui:script require="metal-dom/src/all/dom as dom,frontend-js-web/liferay/modal/commands/OpenSimpleInputModal.es as openSimpleInputModal,frontend-js-web/liferay/delegate/delegate.es as delegateModule">
function handleCreateAssetListLinkClick(event) {
event.preventDefault();

Expand All @@ -43,15 +43,17 @@ String portletResource = ParamUtil.getString(request, "portletResource");
});
}

var createAssetListLinkClickHandler = dom.delegate(
var delegate = delegateModule.default;

var createAssetListLinkClickHandler = delegate(
document.body,
'click',
'a.create-collection-link',
handleCreateAssetListLinkClick
);

function handleDestroyPortlet() {
createAssetListLinkClickHandler.removeListener();
createAssetListLinkClickHandler.dispose();

Liferay.detach('destroyPortlet', handleDestroyPortlet);
}
Expand Down
Expand Up @@ -221,7 +221,7 @@ List<AssetRendererFactory<?>> classTypesAssetRendererFactories = (List<AssetRend
</c:if>
</aui:fieldset>

<aui:script require="metal-dom/src/dom as dom">
<aui:script require="metal-dom/src/dom as dom,frontend-js-web/liferay/delegate/delegate.es as delegateModule">
var Util = Liferay.Util;

var MAP_DDM_STRUCTURES = {};
Expand Down Expand Up @@ -490,12 +490,18 @@ List<AssetRendererFactory<?>> classTypesAssetRendererFactories = (List<AssetRend
});
}

dom.delegate(
var delegate = delegateModule.default;

delegate(
sourcePanel,
'click',
'.asset-subtypefields-wrapper-enable label',
function (event) {
var subtypeFieldsFilterEnabledInput = event.delegateTarget.querySelector(
var delegateTarget = event.target.closest(
'.asset-subtypefields-wrapper-enable label'
);

var subtypeFieldsFilterEnabledInput = delegateTarget.querySelector(
'input'
);

Expand Down Expand Up @@ -531,10 +537,8 @@ List<AssetRendererFactory<?>> classTypesAssetRendererFactories = (List<AssetRend
'<portlet:namespace />ddmStructureDisplayFieldValue'
);

dom.delegate(sourcePanel, 'click', '.asset-subtypefields-popup', function (
event
) {
var delegateTarget = event.delegateTarget;
delegate(sourcePanel, 'click', '.asset-subtypefields-popup', function (event) {
var delegateTarget = event.target.closest('.asset-subtypefields-popup');

var btn = delegateTarget.querySelector('.btn');

Expand Down
Expand Up @@ -73,14 +73,18 @@ AssetEntryUsagesDisplayContext assetEntryUsagesDisplayContext = new AssetEntryUs
</liferay-ui:search-container>
</div>

<aui:script require="metal-dom/src/all/dom as dom">
<aui:script require="frontend-js-web/liferay/delegate/delegate.es as delegateModule">
if (document.querySelector('#<portlet:namespace />assetEntryUsagesList')) {
var previewAssetEntryUsagesList = dom.delegate(
var delegate = delegateModule.default;

var previewAssetEntryUsagesList = delegate(
document.querySelector('#<portlet:namespace />assetEntryUsagesList'),
'click',
'.preview-asset-entry-usage',
function (event) {
var delegateTarget = event.delegateTarget;
var delegateTarget = event.target.closest(
'.preview-asset-entry-usage'
);

Liferay.Util.openModal({
iframeBodyCssClass: 'article-preview',
Expand All @@ -91,7 +95,7 @@ AssetEntryUsagesDisplayContext assetEntryUsagesDisplayContext = new AssetEntryUs
);

function removeListener() {
previewAssetEntryUsagesList.removeListener();
previewAssetEntryUsagesList.dispose();

Liferay.detach('destroyPortlet', removeListener);
}
Expand Down
Expand Up @@ -85,17 +85,22 @@
</div>
</div>

<aui:script require="metal-dom/src/dom as dom">
<aui:script require="frontend-js-web/liferay/delegate/delegate.es as delegateModule">
var connectedAppKeyInput = document.querySelector(
'[name=<portlet:namespace />connectedAppKey]'
);

dom.delegate(
var delegate = delegateModule.default;

delegate(
document.getElementById('<portlet:namespace />connectedApp'),
'click',
'[data-key]',
function (event) {
connectedAppKeyInput.setAttribute('value', event.target.dataset.key);
connectedAppKeyInput.setAttribute(
'value',
event.target.closest('[data-key]').dataset.key
);
}
);
</aui:script>