FButton.js 1012 Bytes
define(function () {
    'use strict';

    var actionTypes = {
        "1": "submit",
        "2": "reset",
        "3": "custom",
        "4": "submitAndBack",
        "5": "edit",
        "6": "delete",
        "7": "submitAndNew",
        "8": "draft"
    }, clsTypes = {
        "submitAndBack": "submit",
        "submitAndNew": "submit"
    };

    function FButton() { }

    FButton.prototype = {
        transferToVM: function (dm) {
            var btns = dm.fbutton_datas || [];
            var fbtn = this;

            return {
                btns: btns.map(function (btn) {
                    return {
                        text: btn.buttonname,
                        className: fbtn.getClsName(btn.action)
                    }
                })
            };
        },
        getClsName: function (action) {
            var type = actionTypes[action];
            var clsType = clsTypes[type] || type;

            return "wev-btn-" + clsType;
        }
    };

    return FButton;
});