Browse Source

Merge pull request #2368 from weseek/support/show-sharelink-label

Support/show sharelink label
itizawa 5 years ago
parent
commit
86325fa892

+ 3 - 2
src/client/js/components/Page/PageShareManagement.jsx

@@ -10,7 +10,7 @@ import OutsideShareLinkModal from '../OutsideShareLinkModal';
 
 
 const PageShareManagement = (props) => {
-  const { t, appContainer/* , pageContainer */ } = props;
+  const { t, appContainer, pageContainer } = props;
 
   const { currentUser } = appContainer;
 
@@ -72,7 +72,8 @@ const PageShareManagement = (props) => {
       {currentUser == null ? renderGuestUser() : renderCurrentUser()}
       <div className="dropdown-menu dropdown-menu-right">
         <button className="dropdown-item" type="button" onClick={openOutsideShareLinkModalHandler}>
-          <i className="icon-link"></i> {t('Shere this page link to public')}
+          <i className="icon-link"></i>{t('Shere this page link to public')}
+          <span className="ml-2 badge badge-info badge-pill">{pageContainer.state.shareLinksNumber}</span>
         </button>
       </div>
       {renderModals()}

+ 1 - 0
src/client/js/services/PageContainer.js

@@ -54,6 +54,7 @@ export default class PageContainer extends Container {
       tags: [],
       hasChildren: JSON.parse(mainContent.getAttribute('data-page-has-children')),
       templateTagData: mainContent.getAttribute('data-template-tags') || null,
+      shareLinksNumber:  mainContent.getAttribute('data-share-links-number'),
 
       // latest(on remote) information
       remoteRevisionId: revisionId,

+ 3 - 0
src/server/routes/page.js

@@ -395,6 +395,9 @@ module.exports = function(crowi, app) {
     await addRenderVarsForSlack(renderVars, page);
     await addRenderVarsForDescendants(renderVars, path, req.user, offset, limit, true);
 
+    const sharelinksNumber = await ShareLink.countDocuments({ relatedPage: page._id });
+    renderVars.sharelinksNumber = sharelinksNumber;
+
     if (isUserPage(page.path)) {
       // change template
       view = `layout-${layoutName}/user_page`;

+ 1 - 0
src/server/views/widget/page_content.html

@@ -19,6 +19,7 @@
   data-page-creator="{% if page %}{{ page.creator|json }}{% endif %}"
   data-page-updated-at="{% if page %}{{ page.updatedAt|datetz('Y/m/d H:i:s') }}{% endif %}"
   data-page-has-children="{% if pages.length > 0 %}true{% else %}false{% endif %}"
+  data-share-links-number="{% if page %}{{ sharelinksNumber }}{% endif %}"
   >
 {% else %}
 <div id="content-main" class="content-main"