Pre Merge pull request !471 from 素质好/gen_plus_type=number
This commit is contained in:
commit
0de7b74656
|
|
@ -0,0 +1,50 @@
|
||||||
|
/**
|
||||||
|
* Author and copyright: Stefan Haack (https://shaack.com)
|
||||||
|
* Repository: https://github.com/shaack/bootstrap-input-spinner
|
||||||
|
* License: MIT, see file 'LICENSE'
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// the default editor for parsing and rendering
|
||||||
|
const I18nEditor = function (props, element) {
|
||||||
|
const locale = props.locale || "en-US"
|
||||||
|
|
||||||
|
this.parse = function (customFormat) {
|
||||||
|
const numberFormat = new Intl.NumberFormat(locale)
|
||||||
|
const thousandSeparator = numberFormat.format(11111).replace(/1/g, '') || '.'
|
||||||
|
const decimalSeparator = numberFormat.format(1.1).replace(/1/g, '')
|
||||||
|
return parseFloat(customFormat
|
||||||
|
.replace(new RegExp(' ', 'g'), '')
|
||||||
|
.replace(new RegExp('\\' + thousandSeparator, 'g'), '')
|
||||||
|
.replace(new RegExp('\\' + decimalSeparator), '.')
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.render = function (number) {
|
||||||
|
const decimals = parseInt(element.getAttribute("data-decimals")) || 0
|
||||||
|
const digitGrouping = !(element.getAttribute("data-digit-grouping") === "false")
|
||||||
|
const numberFormat = new Intl.NumberFormat(locale, {
|
||||||
|
minimumFractionDigits: decimals,
|
||||||
|
maximumFractionDigits: decimals,
|
||||||
|
useGrouping: digitGrouping
|
||||||
|
})
|
||||||
|
return numberFormat.format(number)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let triggerKeyPressed = false
|
||||||
|
const originalVal = $.fn.val
|
||||||
|
$.fn.val = function (value) {
|
||||||
|
if (arguments.length >= 1) {
|
||||||
|
for (let i = 0; i < this.length; i++) {
|
||||||
|
if (this[i]["bootstrap-input-spinner"] && this[i].setValue) {
|
||||||
|
const element = this[i]
|
||||||
|
setTimeout(function () {
|
||||||
|
element.setValue(value)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return originalVal.apply(this, arguments)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -536,6 +536,14 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="hr-line-dashed"></div>
|
<div class="hr-line-dashed"></div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-sm-2 control-label">数字框</label>
|
||||||
|
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input class="form-control" type="number" value="50" min="0" max="100" step="10"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hr-line-dashed"></div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-sm-4 col-sm-offset-2">
|
<div class="col-sm-4 col-sm-offset-2">
|
||||||
<button class="btn btn-primary" type="submit">保存内容</button>
|
<button class="btn btn-primary" type="submit">保存内容</button>
|
||||||
|
|
|
||||||
|
|
@ -318,6 +318,7 @@
|
||||||
<script th:src="@{/js/bootstrap.min.js}"></script>
|
<script th:src="@{/js/bootstrap.min.js}"></script>
|
||||||
<script th:src="@{/js/plugins/metisMenu/jquery.metisMenu.js}"></script>
|
<script th:src="@{/js/plugins/metisMenu/jquery.metisMenu.js}"></script>
|
||||||
<script th:src="@{/js/plugins/slimscroll/jquery.slimscroll.min.js}"></script>
|
<script th:src="@{/js/plugins/slimscroll/jquery.slimscroll.min.js}"></script>
|
||||||
|
<script th:src="@{/js/plugins/inputSpinner/InputSpinner.js}"></script>
|
||||||
<script th:src="@{/js/jquery.contextMenu.min.js}"></script>
|
<script th:src="@{/js/jquery.contextMenu.min.js}"></script>
|
||||||
<script th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
|
<script th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
|
||||||
<script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
|
<script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
|
||||||
|
|
|
||||||
|
|
@ -264,6 +264,7 @@
|
||||||
<script th:src="@{/js/bootstrap.min.js}"></script>
|
<script th:src="@{/js/bootstrap.min.js}"></script>
|
||||||
<script th:src="@{/js/plugins/metisMenu/jquery.metisMenu.js}"></script>
|
<script th:src="@{/js/plugins/metisMenu/jquery.metisMenu.js}"></script>
|
||||||
<script th:src="@{/js/plugins/slimscroll/jquery.slimscroll.min.js}"></script>
|
<script th:src="@{/js/plugins/slimscroll/jquery.slimscroll.min.js}"></script>
|
||||||
|
<script th:src="@{/js/plugins/inputSpinner/InputSpinner.js}"></script>
|
||||||
<script th:src="@{/js/jquery.contextMenu.min.js}"></script>
|
<script th:src="@{/js/jquery.contextMenu.min.js}"></script>
|
||||||
<script th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
|
<script th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
|
||||||
<script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
|
<script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
|
||||||
|
|
|
||||||
|
|
@ -610,6 +610,7 @@
|
||||||
<option value="input" {{if htmlType==="input"}}selected{{/if}}>文本框</option>
|
<option value="input" {{if htmlType==="input"}}selected{{/if}}>文本框</option>
|
||||||
<option value="textarea" {{if htmlType==="textarea"}}selected{{/if}}>文本域</option>
|
<option value="textarea" {{if htmlType==="textarea"}}selected{{/if}}>文本域</option>
|
||||||
<option value="select" {{if htmlType==="select"}}selected{{/if}}>下拉框</option>
|
<option value="select" {{if htmlType==="select"}}selected{{/if}}>下拉框</option>
|
||||||
|
<option value="number" {{if htmlType==="number"}}selected{{/if}}>数字框</option>
|
||||||
<option value="radio" {{if htmlType==="radio"}}selected{{/if}}>单选框</option>
|
<option value="radio" {{if htmlType==="radio"}}selected{{/if}}>单选框</option>
|
||||||
<option value="checkbox" {{if htmlType==="checkbox"}}selected{{/if}}>复选框</option>
|
<option value="checkbox" {{if htmlType==="checkbox"}}selected{{/if}}>复选框</option>
|
||||||
<option value="summernote" {{if htmlType==="summernote"}}selected{{/if}}>富文本</option>
|
<option value="summernote" {{if htmlType==="summernote"}}selected{{/if}}>富文本</option>
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
#elseif($column.htmlType == "number")
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-sm-3 control-label#if($column.required) is-required#end">${comment}:</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input name="${field}" class="form-control" type="number"#if($column.required) required#end>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
#elseif($column.htmlType == "upload")
|
#elseif($column.htmlType == "upload")
|
||||||
<div class="${colXsNum}">
|
<div class="${colXsNum}">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
#elseif($column.htmlType == "number")
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-sm-3 control-label#if($column.required) is-required#end">${comment}:</label>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<input name="${field}" th:field="*{${field}}" class="form-control" type="number"#if($column.required) required#end>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
#elseif($column.htmlType == "upload")
|
#elseif($column.htmlType == "upload")
|
||||||
<div class="${colXsNum}">
|
<div class="${colXsNum}">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue