forked from forgejo/forgejo
Use link in UI which returned a relative url but not html_url which contains an absolute url (#21986)
partially fix #19345 This PR add some `Link` methods for different objects. The `Link` methods are not different from `HTMLURL`, they are lack of the absolute URL. And most of UI `HTMLURL` have been replaced to `Link` so that users can visit them from a different domain or IP. This PR also introduces a new javascript configuration `window.config.reqAppUrl` which is different from `appUrl` which is still an absolute url but the domain has been replaced to the current requested domain.
This commit is contained in:
parent
189d5b7045
commit
769be877f2
43 changed files with 191 additions and 83 deletions
|
@ -1,4 +1,5 @@
|
|||
import {showTemporaryTooltip} from '../modules/tippy.js';
|
||||
import {toAbsoluteUrl} from '../utils.js';
|
||||
|
||||
const {copy_success, copy_error} = window.config.i18n;
|
||||
|
||||
|
@ -50,7 +51,11 @@ export function initGlobalCopyToClipboardListener() {
|
|||
// in case <button data-clipboard-text><svg></button>, so we just search
|
||||
// up to 3 levels for performance
|
||||
for (let i = 0; i < 3 && target; i++) {
|
||||
const text = target.getAttribute('data-clipboard-text') || document.querySelector(target.getAttribute('data-clipboard-target'))?.value;
|
||||
let txt = target.getAttribute('data-clipboard-text');
|
||||
if (txt && target.getAttribute('data-clipboard-text-type') === 'url') {
|
||||
txt = toAbsoluteUrl(txt);
|
||||
}
|
||||
const text = txt || document.querySelector(target.getAttribute('data-clipboard-target'))?.value;
|
||||
|
||||
if (text) {
|
||||
e.preventDefault();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue