mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 12:22:47 +00:00 
			
		
		
		
	Share link implementation for followers
This commit is contained in:
		@@ -96,7 +96,7 @@
 | 
			
		||||
          </div>
 | 
			
		||||
          <br>
 | 
			
		||||
          <p></p>
 | 
			
		||||
          <div class="row">
 | 
			
		||||
          {# <div class="row">
 | 
			
		||||
            <div class="col s4">
 | 
			
		||||
              <div class="input-field">
 | 
			
		||||
                <select id="permission-select">
 | 
			
		||||
@@ -107,7 +107,7 @@
 | 
			
		||||
                <label>Permission</label>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
          </div> #}
 | 
			
		||||
          <div class="row">
 | 
			
		||||
            <div class="col s4">
 | 
			
		||||
              <div class="input-field">
 | 
			
		||||
@@ -119,8 +119,10 @@
 | 
			
		||||
          <div class="row">
 | 
			
		||||
            <div class="col s12">
 | 
			
		||||
              <a class="action-button btn waves-effect waves-light" id="generate-share-link-button">Generate Share Link</a>
 | 
			
		||||
              <div id="share-link"></div>
 | 
			
		||||
              <a class="action-button btn-small waves-effect waves-light hide" id="copy-share-link-button">Copy</a>
 | 
			
		||||
              <div class="hide">
 | 
			
		||||
                <input id="share-link-input" readonly>
 | 
			
		||||
                <a class="action-button btn-small waves-effect waves-light" id="copy-share-link-button">Copy</a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
@@ -142,30 +144,5 @@
 | 
			
		||||
{{ super() }}
 | 
			
		||||
<script>
 | 
			
		||||
  let corpusDisplay = new CorpusDisplay(document.querySelector('#corpus-display'));
 | 
			
		||||
  let generateShareLinkButton = document.querySelector('#generate-share-link-button');
 | 
			
		||||
  let copyShareLinkButton = document.querySelector('#copy-share-link-button');
 | 
			
		||||
  let shareLink = document.querySelector('#share-link');
 | 
			
		||||
  let permissionSelect = document.querySelector('#permission-select');
 | 
			
		||||
  let expirationDate = document.querySelector('#expiration');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  generateShareLinkButton.addEventListener('click', () => {
 | 
			
		||||
    Utils.generateCorpusShareLinkRequest('{{ corpus.hashid }}', permissionSelect.value, expirationDate.value)
 | 
			
		||||
      .then((corpusShareLink) => {
 | 
			
		||||
        console.log(corpusShareLink);
 | 
			
		||||
        let shareLinkElement = document.createElement('input');
 | 
			
		||||
        shareLinkElement.value = corpusShareLink;
 | 
			
		||||
        shareLinkElement.setAttribute('readonly', '');
 | 
			
		||||
        shareLink.appendChild(shareLinkElement);
 | 
			
		||||
        copyShareLinkButton.classList.remove('hide');
 | 
			
		||||
      });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  copyShareLinkButton.addEventListener('click', () => {
 | 
			
		||||
    let shareLinkElement = document.querySelector('#share-link input');
 | 
			
		||||
    shareLinkElement.select();
 | 
			
		||||
    document.execCommand('copy');
 | 
			
		||||
    app.flash(`Copied!`, 'success');
 | 
			
		||||
  });
 | 
			
		||||
</script>
 | 
			
		||||
{% endblock scripts %}
 | 
			
		||||
 
 | 
			
		||||
@@ -61,13 +61,13 @@
 | 
			
		||||
  let unfollowRequestElement = document.querySelector('.action-button[data-action="unfollow-request"]');
 | 
			
		||||
  unfollowRequestElement.addEventListener('click', () => {
 | 
			
		||||
    return new Promise((resolve, reject) => {
 | 
			
		||||
      fetch('{{ url_for("corpora.unfollow_corpus", corpus_id=corpus.id) }}', {method: 'POST', headers: {Accept: 'application/json'}})
 | 
			
		||||
      fetch('{{ url_for("corpora.current_user_unfollow_corpus", corpus_id=corpus.id) }}', {method: 'POST', headers: {Accept: 'application/json'}})
 | 
			
		||||
        .then(
 | 
			
		||||
          (response) => {
 | 
			
		||||
            if (response.status === 403) {app.flash('Forbidden', 'error'); reject(response);}
 | 
			
		||||
            if (response.status === 404) {app.flash('Not Found', 'error'); reject(response);}
 | 
			
		||||
            resolve(response);
 | 
			
		||||
            window.location.href = '{{ url_for("corpora.corpus", corpus_id=corpus.id) }}';
 | 
			
		||||
            window.location.href = '{{ url_for("main.dashboard") }}';
 | 
			
		||||
          },
 | 
			
		||||
          (response) => {
 | 
			
		||||
            app.flash('Something went wrong', 'error');
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user