Просмотр исходного кода

Merge branch 'dev/4.0.x' into support/apply-bootstrap4

itizawa 5 лет назад
Родитель
Сommit
363686b465

+ 7 - 15
src/client/js/components/PageList/PageListMeta.jsx

@@ -1,25 +1,17 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import templateChecker from '@commons/util/template-checker';
+import { isTopPage } from '@commons/util/path-utils';
 
 export default class PageListMeta extends React.Component {
 
-  isPortalPath(path) {
-    if (path.match(/.*\/$/)) {
-      return true;
-    }
-
-    return false;
-  }
-
   render() {
-    // TODO isPortal()
-    const page = this.props.page;
+    const { page } = this.props;
 
-    // portal check
-    let portalLabel;
-    if (this.isPortalPath(page.path)) {
-      portalLabel = <span className="badge badge-info">PORTAL</span>;
+    // top check
+    let topLabel;
+    if (isTopPage(page.path)) {
+      topLabel = <span className="badge badge-info">TOP</span>;
     }
 
     // template check
@@ -45,7 +37,7 @@ export default class PageListMeta extends React.Component {
 
     return (
       <span className="page-list-meta">
-        {portalLabel}
+        {topLabel}
         {templateLabel}
         {commentCount}
         {likerCount}

+ 9 - 0
src/lib/util/path-utils.js

@@ -1,3 +1,11 @@
+/**
+ * Whether path is the top page
+ * @param {string} path
+ * @returns {boolean}
+ */
+const isTopPage = (path) => {
+  return path === '/';
+};
 
 /**
  * Whether path belongs to the trash page
@@ -40,6 +48,7 @@ const userPageRoot = (user) => {
 };
 
 module.exports = {
+  isTopPage,
   isTrashPage,
   isUserPage,
   userPageRoot,

+ 4 - 11
src/server/models/page.js

@@ -14,6 +14,7 @@ const differenceInYears = require('date-fns/differenceInYears');
 
 const { pathUtils } = require('growi-commons');
 const templateChecker = require('@commons/util/template-checker');
+const { isTopPage } = require('@commons/util/path-utils');
 const escapeStringRegexp = require('escape-string-regexp');
 
 const ObjectId = mongoose.Schema.Types.ObjectId;
@@ -291,14 +292,6 @@ module.exports = function(crowi) {
     pageEvent.on('update', pageEvent.onUpdate);
   }
 
-  function isPortalPath(path) {
-    if (path.match(/.*\/$/)) {
-      return true;
-    }
-
-    return false;
-  }
-
   function validateCrowi() {
     if (crowi == null) {
       throw new Error('"crowi" is null. Init User model with "crowi" argument first.');
@@ -317,8 +310,8 @@ module.exports = function(crowi) {
     return false;
   };
 
-  pageSchema.methods.isPortal = function() {
-    return isPortalPath(this.path);
+  pageSchema.methods.isTopPage = function() {
+    return isTopPage(this.path);
   };
 
   pageSchema.methods.isTemplate = function() {
@@ -991,7 +984,7 @@ module.exports = function(crowi) {
 
     let grant = options.grant;
     // force public
-    if (isPortalPath(path)) {
+    if (isTopPage(path)) {
       grant = GRANT_PUBLIC;
     }
 

+ 1 - 1
src/server/views/layout-growi/page_list.html

@@ -34,7 +34,7 @@
 
   </div>
 
-  <div class="row page-list d-edit-none d-print-none {% if page.isPortal() %}mt-5{% endif %}">
+  <div class="row page-list d-edit-none d-print-none {% if page.isTopPage() %}mt-5{% endif %}">
     <div class="col-md-10">
       {% include '../widget/page_list_and_timeline.html' %}
     </div>

+ 1 - 1
src/server/views/layout-kibela/page_list.html

@@ -32,7 +32,7 @@
 
 </div>
 
-  <div class="row page-list bg-white round-corner grw-pt-10px my-5 d-edit-none {% if page.isPortal() %}mt-5{% endif %}">
+  <div class="row page-list bg-white round-corner grw-pt-10px my-5 d-edit-none {% if page.isTopPage() %}mt-5{% endif %}">
     <div class="col">
       {% include '../widget/page_list_and_timeline_kibela.html' %}
     </div>

+ 2 - 2
src/server/views/widget/page_list.html

@@ -14,8 +14,8 @@
     data-path="{{ page.path }}">{{ decodeURIComponent(page.path) }}
   </a>
   <span class="page-list-meta">
-    {% if page.isPortal() %}
-      <span class="badge badge-info">PORTAL</span>
+    {% if page.isTopPage() %}
+      <span class="badge badge-info">TOP</span>
     {% endif  %}
 
     {% if page.isTemplate() %}

+ 2 - 2
src/server/views/widget/page_tabs.html

@@ -48,7 +48,7 @@
   <div class="mr-auto"></div>
 
   <!-- presentation -->
-  {% if not page.isPortal() %}
+  {% if not page.isTopPage() %}
     <li class="nav-item">
       <a href="?presentation=1" class="nav-link toggle-presentation">
         <i class="icon-film"></i><span class="d-none d-md-inline"> {{ t('Presentation Mode') }}</span>
@@ -65,7 +65,7 @@
 
   <!-- icon-options-vertical -->
   {% if !isTrashPage() %}
-    {% if page.isPortal() %}
+    {% if page.isTopPage() %}
     <li class="nav-item dropdown">
       <a
         {% if user %} role="button" class="nav-link dropdown-toggle dropdown-toggle-no-caret" href="#" data-toggle="dropdown" {% endif %}

+ 2 - 2
src/server/views/widget/page_tabs_kibela.html

@@ -46,7 +46,7 @@
   {# to place right side #}
   <div class="mr-auto"></div>
 
-  {% if not page.isPortal() %}
+  {% if not page.isTopPage() %}
   <li class="nav-item">
     <a href="?presentation=1" class="nav-link toggle-presentation">
       <i class="icon-film"></i><span class="d-none d-sm-inline"> {{ t('Presentation Mode') }}</span>
@@ -61,7 +61,7 @@
   </li>
 
   {% if !isTrashPage() %}
-    {% if page.isPortal() %}
+    {% if page.isTopPage() %}
     <li class="nav-item dropdown">
       <a
         {% if user %} role="button" class="nav-link dropdown-toggle dropdown-toggle-no-caret" data-toggle="dropdown" {% endif %}