Configuration

Настройка платформы производится в текстовом JSON файле, в котором описывается как структура данных, так и его представление в браузере. Вся бизнес логика описывается скриптами на языке Javascript. Имеется хорошо документированное JS API как для доступа данным, так и для взаимодействия с внешним миром.

Описание полей конфигурации одного хранилища приложения:

{
    "users": {
        "type": "directory",
        "menuGroup": "config",
        "i18n": {
            "ru": {
                "singularLocal": "Пользователь",
                "singularAccusativeLocal": "Пользователя",
                "pluralLocal": "Пользователи",
                "pluralGenitiveLocal": "Пользователей"
        },
            "en": {
                "singularLocal": "User",
                "singularAccusativeLocal": "User",
                "pluralLocal": "Users",
                "pluralGenitiveLocal": "Users"
        },
        "formGroupsOrder": [
            "Права доступа",
            "Финансовая информация",
            "Личные данные"
        ],
        "access": [
            {
                "role": "00000000-0000-0000-0000-000000000000",
                "permissions": "crud"
            }
        ],
        "actions": [
            {
                "_id": "activate",
                "localName": "Включить",
                "multi": false,
                "script": "\n$db.Object.isActive = true;\n$db.Set($db.Object);",
                "conditions": [
                    {
                        "property": "isActive",
                        "value": true,
                        "operator": "!="
                    },
                    {
                        "property": "_id",
                        "value": "00000000-0000-0000-0000-000000000000",
                        "operator": "!="
                    }
                ]
            },
            {
                "_id": "deactivate",
                "localName": "Заблокировать",
                "icon": "material-icons text md-16 block",
                "multi": false,
                "script": "\n$db.Object.isActive = false;\n$db.Set($db.Object);",
                "conditions": [
                    {
                        "property": "isActive",
                        "value": true,
                        "operator": "="
                    },
                    {
                        "property": "_id",
                        "value": "00000000-0000-0000-0000-000000000000",
                        "operator": "!="
                    }
                ]
            }
        ],
        "labels": [
            {
                "text": "Активен",
                "color": "#5cb85c",
                "showInList": 1,
                "show": [
                    {
                        "property": "isActive",
                        "value": true,
                        "operator": "="
                    }
                ]
            },
            {
                "text": "Отключен",
                "color": "#b85c5c",
                "showInList": 1,
                "show": [
                    {
                        "property": "isActive",
                        "value": true,
                        "operator": "!="
                    }
                ]
            }
        ],
        "props": {

        }
    }
}