Ver código fonte

HUE-9096 [doc] Wire the link sharing on and off calls in the modal

Functional but requires page refresh to have values updated and
visuals are clunky.

Missing:
- proper observable for link sharing properties so no page refresh is
needed
- small refactor of js model (e.g. avoid jquery to set link value in
input...)
- polishing of sharing modal UI

But manual testing, backend testing v1 is done.
Romain 6 anos atrás
pai
commit
2c7fb20024

+ 5 - 4
desktop/core/src/desktop/js/ko/components/ko.shareDocModal.js

@@ -35,14 +35,14 @@ const TEMPLATE = `
   <div class="modal-body" style="overflow: visible; height: 240px">
 
     <!-- ko if: window.HAS_LINK_SHARING -->
-    <a href="javascript:void(0)" data-bind="visible: !$parent.definition().perms.link_sharing_on" title="${ I18n(
+    <a href="javascript:void(0)" data-bind="visible: !$parent.definition().perms.link_sharing_on, click: function() { persistLinkSharingPerms('read'); }" title="${ I18n(
       'Share the query via a link'
     ) }">
       <i class="fa fa-wf fa-link"></i> ${ I18n('Get link') }
     </a>
 
-    <!-- ko with: $parent.definition().perms.link_sharing_on -->
-    <a href="javascript:void(0)" title="${ I18n(
+    <!-- ko if: $parent.definition().perms.link_sharing_on -->
+    <a href="javascript:void(0)" data-bind="click: function() { persistLinkSharingPerms('off'); }" title="${ I18n(
       'Deactivate the link sharing'
     ) }">
       <i class="fa fa-wf fa-link"></i> ${ I18n('Deactivate link') }
@@ -52,7 +52,8 @@ const TEMPLATE = `
       <div class="span12">
         Anyone logged and with the link can:
         <br/>
-        Read: <span data-bind="text: $parent.definition().perms.link_read"></span> | Write: <span data-bind="text: $parent.definition().perms.link_write"></span>
+        Read: <span data-bind="text: $parent.definition().perms.link_read"></span> |
+        Write: <span data-bind="text: $parent.definition().perms.link_write"></span>
         <h4 class="muted" style="margin-top: 0">${ I18n('Shareable link') }</h4>
         <div class="input-group">
           <input class="input-xxlarge" onfocus="this.select()" name="gist-link" id="gist-link" type="text" placeholder="${ I18n('Link') }"/>