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

determine default value for config.markdown['markdown:isEnabledLinebreaks']

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

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

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

+ 24 - 2
lib/models/config.js

@@ -47,6 +47,12 @@ module.exports = function(crowi) {
     };
   }
 
+  function getDefaultMarkdownConfigs() {
+    return {
+      'markdown:isEnabledLinebreaks': true,
+    }
+  }
+
   configSchema.statics.getRegistrationModeLabels = function()
   {
     var labels = {};
@@ -90,9 +96,15 @@ module.exports = function(crowi) {
   configSchema.statics.setupCofigFormData = function(ns, config)
   {
     var defaultConfig = {};
+
+    // set Default Settings
     if (ns === 'crowi') {
-      defaultConfig  = getArrayForInstalling();
+      defaultConfig = getArrayForInstalling();
+    }
+    else if (ns === 'markdown') {
+      defaultConfig = getDefaultMarkdownConfigs();
     }
+
     if (!defaultConfig[ns]) {
       defaultConfig[ns] = {};
     }
@@ -100,7 +112,6 @@ module.exports = function(crowi) {
       if (config[ns][key]) {
         defaultConfig[key] = config[ns][key];
       }
-
     });
     return defaultConfig;
   };
@@ -182,6 +193,17 @@ module.exports = function(crowi) {
     return method != 'none';
   };
 
+  configSchema.statics.isEnabledLinebreaks = function(config)
+  {
+    var defaultValue = getDefaultMarkdownConfigs()['markdown:isEnabledLinebreaks'];
+
+    if (undefined === config.markdown || undefined === config.markdown['markdown:isEnabledLinebreaks']) {
+      return defaultValue;
+    }
+
+    return config.markdown['markdown:isEnabledLinebreaks'];
+  };
+
   configSchema.statics.hasSlackConfig = function(config)
   {
     if (!config.notification) {

+ 0 - 1
lib/routes/admin.js

@@ -88,7 +88,6 @@ module.exports = function(crowi, app) {
   actions.markdown.index = function(req, res) {
     var config = crowi.getConfig();
     var markdownSetting = Config.setupCofigFormData('markdown', config);
-
     return res.render('admin/markdown', {
       markdownSetting: markdownSetting,
     });

+ 7 - 7
lib/views/admin/markdown.html

@@ -42,18 +42,18 @@
         <p class="well">Markdownレンダリングの設定を変更できます。</p>
 
         <div class="form-group">
-          <label for="markdownSetting[isEnabledLinebreaks]" class="col-xs-3 control-label">
+          <label for="markdownSetting[markdown:isEnabledLinebreaks]" class="col-xs-3 control-label">
             Line Break を有効にする
           </label>
           <div class="col-xs-6">
             <div class="btn-group btn-toggle" data-toggle="buttons">
-              <label class="btn {% if markdownSetting['isEnabledLinebreaks'] %}btn-primary active{% else %}btn-default{% endif %}">
-                <input name="markdownSetting[isEnabledLinebreaks]" value="true" type="radio"
-                    {% if true === markdownSetting['isEnabledLinebreaks'] %}checked{% endif %}> 有効
+              <label class="btn {% if markdownSetting['markdown:isEnabledLinebreaks'] %}btn-primary active{% else %}btn-default{% endif %}">
+                <input name="markdownSetting[markdown:isEnabledLinebreaks]" value="true" type="radio"
+                    {% if true === markdownSetting['markdown:isEnabledLinebreaks'] %}checked{% endif %}> 有効
               </label>
-              <label class="btn {% if !markdownSetting['isEnabledLinebreaks'] %}btn-primary active{% else %}btn-default{% endif %}">
-                <input name="markdownSetting[isEnabledLinebreaks]" value="false" type="radio"
-                    {% if !markdownSetting['isEnabledLinebreaks'] %}checked{% endif %}> 無効
+              <label class="btn {% if !markdownSetting['markdown:isEnabledLinebreaks'] %}btn-primary active{% else %}btn-default{% endif %}">
+                <input name="markdownSetting[markdown:isEnabledLinebreaks]" value="false" type="radio"
+                    {% if !markdownSetting['markdown:isEnabledLinebreaks'] %}checked{% endif %}> 無効
               </label>
             </div>
             <p class="help-block">プレーンテキスト中の改行を、HTML内で&lt;br&gt;として扱います</p>