Come sfruttare l'impostazione "Apri tutti i link esterni in una nuova scheda" nelle personalizzazioni del sito

Ah giusto, ho trascurato la parte “user” :sweat_smile: scusa

Non è molto diverso usare l’impostazione utente, dovresti solo cambiare le prime due costanti per fare riferimento all’utente:

// imposta la variabile user e target:
const user = api.getCurrentUser()
const target = user?.user_option?.external_links_in_new_tab ? "_blank" : ""

e poi tutto il resto sarebbe lo stesso.

Se questo dovesse funzionare più come il core, controlleremmo se l’utente esiste e, in caso contrario, torneremmo all’impostazione del sito:

// imposta le variabili user, siteSettings e target:
const user = api.getCurrentUser()
const siteSettings = api.container.lookup('site-settings:main');
let target = siteSettings.default_other_external_links_in_new_tab ? "_blank" : ""; 

if (user) { // se l'utente esiste, imposta il target in base all'opzione utente
 target = user.user_option?.external_links_in_new_tab ? "_blank" : ""
} 

// modifica l'istruzione if in cui viene creato il link per utilizzare la variabile target: 
if (userFields && userFields[userFieldId]) {
  const url = "http://myawesomewebsite.com/user/" + userFields[userFieldId];
  const link = `<a href="${url}" target="${target}">${url}</a>`;
  return Ember.Object.create({ link, name: externalUserIdField.get('name') });
} else {
  return null;
}
2 Mi Piace