Przeglądaj źródła

HUE-9066 [gist] Adding copy link to clipboard button

Note: need bit of restyling
Romain 6 lat temu
rodzic
commit
644ab8c3ee

+ 1 - 1
desktop/core/src/desktop/js/api/apiHelper.js

@@ -2147,7 +2147,7 @@ class ApiHelper {
     return new Promise((resolve, reject) => {
       this.simplePost(GIST_API + 'create', data, options)
         .done(response => {
-          resolve(response);
+          resolve(response.link);
         })
         .fail(reject);
     });

+ 6 - 8
desktop/core/src/desktop/js/apps/notebook2/components/ko.snippetEditorActions.js

@@ -160,7 +160,7 @@ class SnippetEditorActions {
     }
     hueAnalytics.log('notebook', 'createGist');
 
-    const gist = await apiHelper.createGistAsync({
+    const gistLink = await apiHelper.createGistAsync({
       statement:
         this.snippet.ace().getSelectedText() != '' ? this.snippet.ace().getSelectedText() : this.snippet.statement_raw(),
       doc_type: this.snippet.type(),
@@ -168,13 +168,11 @@ class SnippetEditorActions {
       description: ''
     });
 
-    if (gist.status == 0) {
-      $(document).trigger('showGistModal', {
-        link: gist.link
-      });
-    } else {
-      this.snippet.handleAjaxError(gist);
-    }
+    new window.Clipboard(".gist-link-btn");
+
+    $(document).trigger('showGistModal', {
+      link: gistLink
+    });
   }
 
   format() {

+ 6 - 4
desktop/core/src/desktop/templates/common_header_footer_components.mako

@@ -292,12 +292,14 @@ from metadata.conf import has_optimizer, OPTIMIZER
   <div class="modal-body">
     <div class="row-fluid">
       <div class="span12">
-        <div>
-          <input class="input-xxlarge" name="gist-link" type="text" placeholder="${ _('Link') }"/>
+        <div class="input-group">
+          <input class="input-xxlarge" onfocus="this.select()" name="gist-link" id="gist-link" type="text" placeholder="${ _('Link') }"/>
         </div>
         <div class="input-prepend">
-          <a class="btn" data-dismiss="modal">${_('Copy')}</a>
-          <span class="add-on muted"><i class="fa fa-clipboard"></i></span>
+          <a class="btn gist-link-btn" data-clipboard-target="#gist-link" data-dismiss="modal">${_('Copy')}</a>
+          <button class="add-on muted gist-link-btn" data-clipboard-target="#gist-link">
+            <i class="fa fa-clipboard"></i>
+          </button>
         </div>
       </div>
     </div>