ソースを参照

Add options for min, max and step values for number inputs.

j433866 6 年 前
コミット
7975fadfe9
3 ファイル変更15 行追加0 行削除
  1. 6 0
      src/core/Ingredient.mjs
  2. 3 0
      src/core/Operation.mjs
  3. 6 0
      src/web/HTMLIngredient.mjs

+ 6 - 0
src/core/Ingredient.mjs

@@ -27,6 +27,9 @@ class Ingredient {
         this.toggleValues = [];
         this.target = null;
         this.defaultIndex = 0;
+        this.min = null;
+        this.max = null;
+        this.step = 1;
 
         if (ingredientConfig) {
             this._parseConfig(ingredientConfig);
@@ -50,6 +53,9 @@ class Ingredient {
         this.toggleValues = ingredientConfig.toggleValues;
         this.target = typeof ingredientConfig.target !== "undefined" ? ingredientConfig.target : null;
         this.defaultIndex = typeof ingredientConfig.defaultIndex !== "undefined" ? ingredientConfig.defaultIndex : 0;
+        this.min = ingredientConfig.min;
+        this.max = ingredientConfig.max;
+        this.step = ingredientConfig.step;
     }
 
 

+ 3 - 0
src/core/Operation.mjs

@@ -184,6 +184,9 @@ class Operation {
             if (ing.disabled) conf.disabled = ing.disabled;
             if (ing.target) conf.target = ing.target;
             if (ing.defaultIndex) conf.defaultIndex = ing.defaultIndex;
+            if (typeof ing.min === "number") conf.min = ing.min;
+            if (typeof ing.max === "number") conf.max = ing.max;
+            if (ing.step) conf.step = ing.step;
             return conf;
         });
     }

+ 6 - 0
src/web/HTMLIngredient.mjs

@@ -32,6 +32,9 @@ class HTMLIngredient {
         this.defaultIndex = config.defaultIndex || 0;
         this.toggleValues = config.toggleValues;
         this.id = "ing-" + this.app.nextIngId();
+        this.min = (typeof config.min === "number") ? config.min : "";
+        this.max = (typeof config.max === "number") ? config.max : "";
+        this.step = config.step || 1;
     }
 
 
@@ -103,6 +106,9 @@ class HTMLIngredient {
                         id="${this.id}"
                         arg-name="${this.name}"
                         value="${this.value}"
+                        min="${this.min}"
+                        max="${this.max}"
+                        step="${this.step}"
                         ${this.disabled ? "disabled" : ""}>
                     ${this.hint ? "<span class='bmd-help'>" + this.hint + "</span>" : ""}
                 </div>`;