itizawa 6 лет назад
Родитель
Сommit
7be1816f0a
1 измененных файлов с 85 добавлено и 77 удалено
  1. 85 77
      src/client/js/components/Admin/Notification/GrobalNotification.jsx

+ 85 - 77
src/client/js/components/Admin/Notification/GrobalNotification.jsx

@@ -11,6 +11,90 @@ import AdminNotificationContainer from '../../../services/AdminNotificationConta
 
 class GrobalNotification extends React.Component {
 
+  renderNotification() {
+    const { t, adminNotificationContainer } = this.props;
+    const { grobalNotifications } = adminNotificationContainer.state;
+
+    grobalNotifications.map((notification) => {
+      return (
+        <tr>
+          <td className="align-middle td-abs-center">
+            {/* GW-807 switch enable notification */}
+            <input type="checkbox" className="js-switch" data-size="small" data-id="{{ notification._id.toString() }}" />
+          </td>
+          <td>
+            {notification.triggerPath}
+          </td>
+          <td>
+            {notification.triggerEvents.includes('pageCreate') && (
+              <span className="label label-success" data-toggle="tooltip" data-placement="top" title="Page Create">
+                <i className="icon-doc"></i> CREATE
+              </span>
+            )}
+            {notification.triggerEvents.includes('pageEdit') && (
+              <span className="label label-warning" data-toggle="tooltip" data-placement="top" title="Page Edit">
+                <i className="icon-pencil"></i> EDIT
+              </span>
+            )}
+            {notification.triggerEvents.includes('pageMove') && (
+              <span className="label label-warning" data-toggle="tooltip" data-placement="top" title="Page Move">
+                <i className="icon-action-redo"></i> MOVE
+              </span>
+            )}
+            {notification.triggerEvents.includes('pageDelete') && (
+              <span className="label label-danger" data-toggle="tooltip" data-placement="top" title="Page Delte">
+                <i className="icon-fire"></i> DELETE
+              </span>
+            )}
+            {notification.triggerEvents.includes('pageLike') && (
+              <span className="label label-info" data-toggle="tooltip" data-placement="top" title="Page Like">
+                <i className="icon-like"></i> LIKE
+              </span>
+            )}
+            {notification.triggerEvents.includes('comment') && (
+              <span className="label label-default" data-toggle="tooltip" data-placement="top" title="New Comment">
+                <i className="icon-fw icon-bubble"></i> POST
+              </span>
+            )}
+          </td>
+          <td>
+            {notification.__t === 'mail'
+              && <span data-toggle="tooltip" data-placement="top" title="Email"><i className="ti-email"></i> {notification.toEmail}</span>}
+            {notification.__t === 'slack'
+              && <span data-toggle="tooltip" data-placement="top" title="Slack"><i className="fa fa-slack"></i> {notification.slackChannels}</span>}
+          </td>
+          <td className="td-abs-center">
+            <div className="btn-group admin-group-menu">
+              <button type="button" className="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
+                <i className="icon-settings"></i> <span className="caret"></span>
+              </button>
+              <ul className="dropdown-menu" role="menu">
+                <li>
+                  <a href={urljoin('/admin/global-notification/', notification.id)}>
+                    <i className="icon-fw icon-note"></i> {t('Edit')}
+                  </a>
+                </li>
+                {/*  TODO GW-780 create delete modal  */}
+                <li className="btn-delete">
+                  <a
+                    href="#"
+                    data-setting-id="{{ notification.id }}"
+                    data-target="#admin-delete-global-notification"
+                    data-toggle="modal"
+                  >
+                    <i className="icon-fw icon-fire text-danger"></i> {t('Delete')}
+                  </a>
+                </li>
+
+              </ul>
+            </div>
+          </td>
+        </tr>
+      );
+    });
+
+  }
+
   render() {
     const { t, adminNotificationContainer } = this.props;
     const { grobalNotifications } = adminNotificationContainer.state;
@@ -36,83 +120,7 @@ class GrobalNotification extends React.Component {
           </thead>
           {grobalNotifications.length !== 0 && (
             <tbody className="admin-notif-list">
-              {grobalNotifications.map((notification) => {
-                return (
-                  <tr>
-                    <td className="align-middle td-abs-center">
-                      {/* GW-807 switch enable notification */}
-                      <input type="checkbox" className="js-switch" data-size="small" data-id="{{ notification._id.toString() }}" />
-                    </td>
-                    <td>
-                      {notification.triggerPath}
-                    </td>
-                    <td>
-                      {notification.triggerEvents.includes('pageCreate') && (
-                        <span className="label label-success" data-toggle="tooltip" data-placement="top" title="Page Create">
-                          <i className="icon-doc"></i> CREATE
-                        </span>
-                      )}
-                      {notification.triggerEvents.includes('pageEdit') && (
-                        <span className="label label-warning" data-toggle="tooltip" data-placement="top" title="Page Edit">
-                          <i className="icon-pencil"></i> EDIT
-                        </span>
-                      )}
-                      {notification.triggerEvents.includes('pageMove') && (
-                        <span className="label label-warning" data-toggle="tooltip" data-placement="top" title="Page Move">
-                          <i className="icon-action-redo"></i> MOVE
-                        </span>
-                      )}
-                      {notification.triggerEvents.includes('pageDelete') && (
-                        <span className="label label-danger" data-toggle="tooltip" data-placement="top" title="Page Delte">
-                          <i className="icon-fire"></i> DELETE
-                        </span>
-                      )}
-                      {notification.triggerEvents.includes('pageLike') && (
-                        <span className="label label-info" data-toggle="tooltip" data-placement="top" title="Page Like">
-                          <i className="icon-like"></i> LIKE
-                        </span>
-                      )}
-                      {notification.triggerEvents.includes('comment') && (
-                        <span className="label label-default" data-toggle="tooltip" data-placement="top" title="New Comment">
-                          <i className="icon-fw icon-bubble"></i> POST
-                        </span>
-                      )}
-                    </td>
-                    <td>
-                      {notification.__t === 'mail'
-                        && <span data-toggle="tooltip" data-placement="top" title="Email"><i className="ti-email"></i> {notification.toEmail}</span>}
-                      {notification.__t === 'slack'
-                        && <span data-toggle="tooltip" data-placement="top" title="Slack"><i className="fa fa-slack"></i> {notification.slackChannels}</span>}
-                    </td>
-                    <td className="td-abs-center">
-                      <div className="btn-group admin-group-menu">
-                        <button type="button" className="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
-                          <i className="icon-settings"></i> <span className="caret"></span>
-                        </button>
-                        <ul className="dropdown-menu" role="menu">
-                          <li>
-                            <a href={urljoin('/admin/global-notification/', notification.id)}>
-                              <i className="icon-fw icon-note"></i> {t('Edit')}
-                            </a>
-                          </li>
-                          {/*  TODO GW-780 create delete modal  */}
-                          <li className="btn-delete">
-                            <a
-                              href="#"
-                              data-setting-id="{{ notification.id }}"
-                              data-target="#admin-delete-global-notification"
-                              data-toggle="modal"
-                            >
-                              <i className="icon-fw icon-fire text-danger"></i> {t('Delete')}
-                            </a>
-                          </li>
-
-                        </ul>
-                      </div>
-                    </td>
-                  </tr>
-                );
-              })}
+              {this.renderNotification()}
             </tbody>
           )}
         </table>