FInputText.js 2.01 KB
define(function () {
    'use strict';

    function FInputText() { 
    }

    FInputText.prototype = {
        transferToVM: function (dm) {
            var fieldType = this.getFieldType(dm.htmlType);
            var isdtpicker = ~["date", "time", "datetime"].indexOf(fieldType);
            var inputType = this.getInputType(fieldType);
            
            return {
                type: inputType,
                required: dm.required == 1,
                readonly: dm.readonly == 1,
                needWrap: dm.needWrap == 1,
                placeholder: dm.fieldremind,
                assist: { active: inputType === "number" && dm.assistInput == 1 },
                field: { label: dm.fieldlabel || "" },
                dtpicker: isdtpicker
            };
        },
        getFieldType: function (htmlType) {
            var fieldType = "text";

            switch (htmlType) {//1.文本,2.日期,3.时间,4.日期时间,5.密码,6.数字,7.电话号码,8.整数,9.浮点数
                case "1":
                    fieldType = "text"; break;
                case "2":
                    fieldType = "date"; break;
                case "3":
                    fieldType = "time"; break;
                case "4":
                    fieldType = "datetime"; break;
                case "5":
                    fieldType = "password"; break;
                case "6":
                case "9":
                    fieldType = "float"; break;
                case "7":
                    fieldType = "tel"; break;
                case "8":
                    fieldType = "int"; break;
            }
            return fieldType;
        },
        getInputType: function (fieldType) {
            var inputType = "text";

            if (~["password", "tel"].indexOf(fieldType)) {
                inputType = fieldType
            }

            if (~["float", "int"].indexOf(fieldType)) {
                inputType = "number";
            }

            return inputType;
        }
    }

    return FInputText;
});