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

impl saving the config.markdown['markdown:isEnabledLinebreaks']

Yuki Takei 9 лет назад
Родитель
Сommit
c93b534033
3 измененных файлов с 38 добавлено и 7 удалено
  1. 2 1
      lib/form/admin/markdown.js
  2. 12 0
      lib/models/config.js
  3. 24 6
      lib/views/admin/markdown.html

+ 2 - 1
lib/form/admin/markdown.js

@@ -4,6 +4,7 @@ var form = require('express-form')
   , field = form.field;
 
 module.exports = form(
-  field('markdownSetting[markdown:isEnabledLinebreaks]').trim().toBooleanStrict()
+  field('markdownSetting[markdown:isEnabledLinebreaks]').trim().toBooleanStrict(),
+  field('markdownSetting[markdown:isEnabledLinebreaksInComments]').trim().toBooleanStrict()
 );
 

+ 12 - 0
lib/models/config.js

@@ -50,6 +50,7 @@ module.exports = function(crowi) {
   function getDefaultMarkdownConfigs() {
     return {
       'markdown:isEnabledLinebreaks': true,
+      'markdown:isEnabledLinebreaksInComments': true,
     }
   }
 
@@ -204,6 +205,17 @@ module.exports = function(crowi) {
     return config.markdown['markdown:isEnabledLinebreaks'];
   };
 
+  configSchema.statics.isEnabledLinebreaksInComments = function(config)
+  {
+    var defaultValue = getDefaultMarkdownConfigs()['markdown:isEnabledLinebreaksInComments'];
+
+    if (undefined === config.markdown || undefined === config.markdown['markdown:isEnabledLinebreaksInComments']) {
+      return defaultValue;
+    }
+
+    return config.markdown['markdown:isEnabledLinebreaksInComments'];
+  };
+
   configSchema.statics.hasSlackConfig = function(config)
   {
     if (!config.notification) {

+ 24 - 6
lib/views/admin/markdown.html

@@ -38,14 +38,14 @@
 
       <form action="/admin/markdown/lineBreaksSetting" method="post" class="form-horizontal" id="markdownSettingForm" role="form">
       <fieldset>
-      <legend>Markdown設定</legend>
+        <legend>Markdown設定</legend>
         <p class="well">Markdownレンダリングの設定を変更できます。</p>
 
         <div class="form-group">
-          <label for="markdownSetting[markdown:isEnabledLinebreaks]" class="col-xs-3 control-label">
+          <label for="markdownSetting[markdown:isEnabledLinebreaks]" class="col-xs-4 control-label">
             Line Break を有効にする
           </label>
-          <div class="col-xs-6">
+          <div class="col-xs-5">
             <div class="btn-group btn-toggle" data-toggle="buttons">
               <label class="btn {% if markdownSetting['markdown:isEnabledLinebreaks'] %}btn-primary active{% else %}btn-default{% endif %}">
                 <input name="markdownSetting[markdown:isEnabledLinebreaks]" value="true" type="radio"
@@ -56,17 +56,35 @@
                     {% if !markdownSetting['markdown:isEnabledLinebreaks'] %}checked{% endif %}> 無効
               </label>
             </div>
-            <p class="help-block">プレーンテキスト中の改行を、HTML内で&lt;br&gt;として扱います</p>
+            <p class="help-block">ページテキスト中の改行を、HTML内で&lt;br&gt;として扱います</p>
           </div>
         </div>
 
         <div class="form-group">
-          <div class="col-xs-offset-3 col-xs-6">
+          <label for="markdownSetting[markdown:isEnabledLinebreaksInComments]" class="col-xs-4 control-label">
+            (TBD)<br>コメント欄で Line Break を有効にする
+          </label>
+          <div class="col-xs-5">
+            <div class="btn-group btn-toggle" data-toggle="buttons">
+              <label class="btn {% if markdownSetting['markdown:isEnabledLinebreaksInComments'] %}btn-primary active{% else %}btn-default{% endif %}">
+                <input name="markdownSetting[markdown:isEnabledLinebreaksInComments]" value="true" type="radio"
+                    {% if true === markdownSetting['markdown:isEnabledLinebreaksInComments'] %}checked{% endif %}> 有効
+              </label>
+              <label class="btn {% if !markdownSetting['markdown:isEnabledLinebreaksInComments'] %}btn-primary active{% else %}btn-default{% endif %}">
+                <input name="markdownSetting[markdown:isEnabledLinebreaksInComments]" value="false" type="radio"
+                    {% if !markdownSetting['markdown:isEnabledLinebreaksInComments'] %}checked{% endif %}> 無効
+              </label>
+            </div>
+            <p class="help-block">コメント中の改行を、HTML内で&lt;br&gt;として扱います<br>(TBD: コメント欄の Markdown 化は未だ実装されていません)</p>
+          </div>
+        </div>
+
+        <div class="form-group">
+          <div class="col-xs-offset-4 col-xs-5">
             <input type="hidden" name="_csrf" value="{{ csrf() }}">
             <button type="submit" class="btn btn-primary">更新</button>
           </div>
         </div>
-
       </fieldset>
       </form>