All files / src ReactControlMapper.js

0% Statements 0/57
0% Branches 0/23
0% Functions 0/17
0% Lines 0/57
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133                                                                                                                                                                                                                                                                         
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var sn_client_js_1 = require("sn-client-js");
var ViewControls = require("./viewcontrols");
var FieldControls = require("./fieldcontrols");
var clientConfigFactory = function (fieldSettings) {
    var defaultSetting = {};
    defaultSetting.key = fieldSettings.Name,
        defaultSetting.name = fieldSettings.Name,
        defaultSetting.readOnly = fieldSettings.ReadOnly || false,
        defaultSetting.required = fieldSettings.Compulsory || false,
        defaultSetting['data-placeHolderText'] = fieldSettings.DisplayName || '';
    defaultSetting['data-labelText'] = fieldSettings.DisplayName || '';
    return defaultSetting;
};
exports.ReactControlMapper = new sn_client_js_1.ControlMapper(React.Component, clientConfigFactory, ViewControls.EditView, FieldControls.ShortText)
    .SetupFieldSettingDefault(sn_client_js_1.FieldSettings.NumberFieldSetting, function (setting) {
    return FieldControls.Number;
})
    .SetClientControlFactory(sn_client_js_1.FieldSettings.NumberFieldSetting, function (setting) {
    var numberSettings = clientConfigFactory(setting);
    numberSettings['data-digits'] = setting.Digits,
        numberSettings['data-step'] = setting.Step,
        numberSettings['data-isPercentage'] = setting.ShowAsPercentage,
        numberSettings['data-decimal'] = true,
        numberSettings.max = setting.MaxValue,
        numberSettings.min = setting.MinValue;
    return numberSettings;
})
    .SetupFieldSettingDefault(sn_client_js_1.FieldSettings.IntegerFieldSetting, function (setting) {
    return FieldControls.Number;
})
    .SetClientControlFactory(sn_client_js_1.FieldSettings.IntegerFieldSetting, function (setting) {
    var numberSettings = clientConfigFactory(setting);
    numberSettings['data-step'] = setting.Step,
        numberSettings['data-isPercentage'] = setting.ShowAsPercentage,
        numberSettings['data-decimal'] = false,
        numberSettings.max = setting.MaxValue,
        numberSettings.min = setting.MinValue;
    return numberSettings;
})
    .SetupFieldSettingDefault(sn_client_js_1.FieldSettings.ShortTextFieldSetting, function (setting) {
    switch (setting.ControlHint) {
        case 'sn:Name':
            return FieldControls.Name;
        case 'sn:DisplayName':
            return FieldControls.DisplayName;
        default:
            return FieldControls.ShortText;
    }
})
    .SetClientControlFactory(sn_client_js_1.FieldSettings.ShortTextFieldSetting, function (setting) {
    var shortTextSettings = clientConfigFactory(setting);
    shortTextSettings['data-minLength'] = setting.MinLength,
        shortTextSettings['data-maxLength'] = setting.MaxLength,
        shortTextSettings['data-regex'] = setting.Regex;
    return shortTextSettings;
})
    .SetupFieldSettingDefault(sn_client_js_1.FieldSettings.PasswordFieldSetting, function (setting) {
    return FieldControls.Password;
})
    .SetClientControlFactory(sn_client_js_1.FieldSettings.PasswordFieldSetting, function (setting) {
    var passwordSettings = clientConfigFactory(setting);
    return passwordSettings;
})
    .SetupFieldSettingDefault(sn_client_js_1.FieldSettings.DateTimeFieldSetting, function (setting) {
    return FieldControls.DatePicker;
})
    .SetClientControlFactory(sn_client_js_1.FieldSettings.DateTimeFieldSetting, function (setting) {
    var dateTimeSettings = clientConfigFactory(setting);
    dateTimeSettings['data-dateTimeMode'] = setting.DateTimeMode,
        dateTimeSettings['data-precision'] = setting.Precision;
    return dateTimeSettings;
})
    .SetupFieldSettingDefault(sn_client_js_1.FieldSettings.ChoiceFieldSetting, function (setting) {
    switch (setting.DisplayChoice) {
        case 2:
            return FieldControls.CheckboxGroup;
        case 0:
            return FieldControls.DropDownList;
        case 1:
            return FieldControls.RadioButtonGroup;
        default:
            if (setting.AllowMultiple) {
                return FieldControls.CheckboxGroup;
            }
            else {
                return FieldControls.DropDownList;
            }
    }
})
    .SetClientControlFactory(sn_client_js_1.FieldSettings.ChoiceFieldSetting, function (setting) {
    var choiceSettings = clientConfigFactory(setting);
    choiceSettings['data-allowExtraValue'] = setting.AllowExtraValue,
        choiceSettings['data-allowMultiple'] = setting.AllowMultiple,
        choiceSettings.options = setting.Options;
    return choiceSettings;
})
    .SetupFieldSettingDefault(sn_client_js_1.FieldSettings.ReferenceFieldSetting, function (setting) {
    if (setting.AllowedTypes.indexOf('User') !== -1) {
        return FieldControls.TagsInput;
    }
    else {
        return FieldControls.ShortText;
    }
})
    .SetClientControlFactory(sn_client_js_1.FieldSettings.ReferenceFieldSetting, function (setting) {
    var referenceSettings = clientConfigFactory(setting);
    referenceSettings['data-allowMultiple'] = setting.AllowMultiple,
        referenceSettings['data-allowedTypes'] = setting.AllowedTypes,
        referenceSettings['data-selectionRoot'] = setting.SelectionRoots;
    return referenceSettings;
})
    .SetupFieldSettingDefault(sn_client_js_1.FieldSettings.LongTextFieldSetting, function (setting) {
    switch (setting.TextType) {
        case 'LongText':
            return FieldControls.Textarea;
        case 'RichText':
            return FieldControls.RichTextEditor;
        case 'AdvancedRichText':
            return FieldControls.RichTextEditor;
        default:
            return FieldControls.RichTextEditor;
    }
})
    .SetClientControlFactory(sn_client_js_1.FieldSettings.LongTextFieldSetting, function (setting) {
    var longTextSettings = clientConfigFactory(setting);
    longTextSettings['data-minLength'] = setting.MinLength,
        longTextSettings['data-maxLength'] = setting.MaxLength;
    return longTextSettings;
});
//# sourceMappingURL=ReactControlMapper.js.map