Packages
phoenix_html
2.9.2
4.3.0
4.2.1
4.2.0
4.1.1
4.1.0
4.0.0
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.0
3.1.0
3.0.4
3.0.3
retired
3.0.2
retired
3.0.1
retired
3.0.0
retired
2.14.3
2.14.2
2.14.1
2.14.0
2.13.4
2.13.3
2.13.2
2.13.1
2.13.0
2.12.0
2.11.2
2.11.1
2.11.0
2.10.5
2.10.4
2.10.3
2.10.2
2.10.1
2.10.0
2.9.3
2.9.2
2.9.1
2.9.0
2.8.0
2.7.0
2.7.0-dev
2.6.2
2.6.1
2.6.0
2.5.1
2.5.0
2.4.0
2.4.0-dev
2.3.1
2.3.0
2.2.0
2.1.2
2.1.1
2.1.0
2.0.1
2.0.0
2.0.0-dev
1.4.0
1.3.0
1.2.1
1.2.0
1.1.0
1.0.1
1.0.0
Phoenix view functions for working with HTML templates
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
priv/static/phoenix_html.js
'use strict';
function isLinkToSubmitParent(element) {
var isLinkTag = element.tagName === 'A';
var shouldSubmitParent = element.getAttribute('data-submit') === 'parent';
return isLinkTag && shouldSubmitParent;
}
function getClosestForm(element) {
while (element && element !== document && element.nodeType === Node.ELEMENT_NODE) {
if (element.tagName === 'FORM') {
return element;
}
element = element.parentNode;
}
return null;
}
function didHandleSubmitLinkClick(element) {
while (element && element.getAttribute) {
if (isLinkToSubmitParent(element)) {
var message = element.getAttribute('data-confirm');
if (message === null || confirm(message)) {
getClosestForm(element).submit();
};
return true;
} else {
element = element.parentNode;
}
}
return false;
}
window.addEventListener('click', function (event) {
if (event.target && didHandleSubmitLinkClick(event.target)) {
event.preventDefault();
return false;
}
}, false);