Selaa lähdekoodia

improve putback modal

Yuki Takei 7 vuotta sitten
vanhempi
sitoutus
051f05d3be

+ 5 - 2
resource/locales/en-US/translation.json

@@ -217,10 +217,13 @@
     }
     }
   },
   },
 
 
-  "modal_putBack": {
+  "modal_putback": {
     "label": {
     "label": {
       "Put Back Page": "Put Back Page",
       "Put Back Page": "Put Back Page",
-      "recursively": "Process recursively"
+      "recursively": "Put Back recursively"
+    },
+    "help": {
+      "recursively": "Put Back children of under <code>%s</code> recursively"
     }
     }
   },
   },
 
 

+ 5 - 2
resource/locales/ja/translation.json

@@ -233,10 +233,13 @@
     }
     }
   },
   },
 
 
-  "modal_putBack": {
+  "modal_putback": {
     "label": {
     "label": {
       "Put Back Page": "ページを元に戻す",
       "Put Back Page": "ページを元に戻す",
-      "recursively": "全ての子ページも処理"
+      "recursively": "全ての子ページも元に戻す"
+    },
+    "help": {
+      "recursively": "<code>%s</code> 配下のページも元に戻します"
     }
     }
   },
   },
 
 

+ 8 - 2
src/client/js/legacy/crowi.js

@@ -445,6 +445,11 @@ $(function() {
 
 
     return false;
     return false;
   });
   });
+
+  // Put Back
+  $('#putBackPage').on('shown.bs.modal', function(e) {
+    $('#putBackPage .msg').hide();
+  });
   $('#revert-delete-page-form').submit(function(e) {
   $('#revert-delete-page-form').submit(function(e) {
     $.ajax({
     $.ajax({
       type: 'POST',
       type: 'POST',
@@ -452,9 +457,10 @@ $(function() {
       data: $('#revert-delete-page-form').serialize(),
       data: $('#revert-delete-page-form').serialize(),
       dataType: 'json'
       dataType: 'json'
     }).done(function(res) {
     }).done(function(res) {
+      // error
       if (!res.ok) {
       if (!res.ok) {
-        $('#delete-errors').html('<i class="fa fa-times-circle"></i> ' + res.error);
-        $('#delete-errors').addClass('alert-danger');
+        $('#putBackPage .msg').hide();
+        $(`#putBackPage .msg-${res.code}`).show();
       }
       }
       else {
       else {
         const page = res.page;
         const page = res.page;

+ 19 - 12
src/server/views/modal/put_back.html

@@ -6,26 +6,33 @@
 
 
         <div class="modal-header bg-info">
         <div class="modal-header bg-info">
           <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
           <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-          <div class="modal-title"><i class="icon-action-undo"></i> {{ t('modal_putBack.label.Put Back Page') }}</div>
+          <div class="modal-title"><i class="icon-action-undo"></i> {{ t('modal_putback.label.Put Back Page') }}</div>
         </div>
         </div>
         <div class="modal-body">
         <div class="modal-body">
           <div class="form-group">
           <div class="form-group">
             <label for="">Put back page:</label><br>
             <label for="">Put back page:</label><br>
             <code>{{ page.path }}</code>
             <code>{{ page.path }}</code>
           </div>
           </div>
+          <div class="checkbox checkbox-warning">
+            <input name="recursively" id="cbPutbackRecursively" value="1" type="checkbox" checked>
+            <label for="cbPutbackRecursively">{{ t('modal_putback.label.recursively') }}</label>
+            <p class="help-block"> {{ t('modal_putback.help.recursively', page.path) }}
+            </p>
+          </div>
         </div>
         </div>
         <div class="modal-footer">
         <div class="modal-footer">
-          <p><small class="pull-left" id="put_back-errors"></small></p>
-          <input type="hidden" name="_csrf" value="{{ csrf() }}">
-          <input type="hidden" name="path" value="{{ page.path }}">
-          <input type="hidden" name="page_id" value="{{ page._id.toString() }}">
-          <label class="checkbox-inline">
-            <input type="checkbox" name="recursively" checked> {{ t('modal_putBack.label.recursively') }}
-          </label>
-          <button type="submit" class="btn btn-sm btn-info putBack-button">
-            <i class="icon-action-undo" aria-hidden="true"></i>
-            {{ t('Put Back') }}
-          </button>
+          <div class="d-flex justify-content-between">
+            {% include '../widget/modal/page-api-error-messages.html' %}
+            <div>
+              <input type="hidden" name="_csrf" value="{{ csrf() }}">
+              <input type="hidden" name="path" value="{{ page.path }}">
+              <input type="hidden" name="page_id" value="{{ page._id.toString() }}">
+              <button type="submit" class="btn btn-sm btn-info putBack-button">
+                <i class="icon-action-undo" aria-hidden="true"></i>
+                {{ t('Put Back') }}
+              </button>
+            </div>
+          </div>
         </div>
         </div>
 
 
       </form>
       </form>

+ 21 - 0
src/server/views/widget/modal/page-api-error-messages.html

@@ -0,0 +1,21 @@
+<p>
+  <span class="text-danger msg msg-notfound_or_forbidden">
+    <strong><i class="icon-fw icon-ban"></i>{{ t('page_api_error.notfound_or_forbidden') }}</strong>
+  </span>
+  <span class="text-danger msg msg-already_exists">
+    <strong><i class="icon-fw icon-ban"></i>{{ t('page_api_error.already_exists') }}</strong>
+    <small id="linkToNewPage"></small>
+  </span>
+  <span class="text-warning msg msg-outdated">
+    <strong><i class="icon-fw icon-bulb"></i> {{ t('page_api_error.outdated') }}</strong>
+    <a href="javascript:location.reload();">
+      <i class="fa fa-angle-double-right"></i> {{ t('Load latest') }}
+    </a>
+  </span>
+  <span class="text-danger msg msg-invalid_path">
+    <strong><i class="icon-fw icon-ban"></i> Invalid path</strong>
+  </span>
+  <span class="text-danger msg msg-unknown">
+    <strong><i class="icon-fw icon-ban"></i> Unknown error occured</strong>
+  </span>
+</p>