добавить кнопку в Actions Dashboard

Здравствуйте!

Подскажите пжл по подробнее как добавить кнопку в ActionsDashboard?

Пробовал вставить по этому посту https://community.terrasoft.ua/questions/dobavit-polzovatelskuyu-knopku-v-instrumentalnuyu-panel-deystviy-action-dashboard но так и не разобрался.



Что конкретно нужно сделать чтобы кнопка TestButton появилась в Actions Dashboard на странице лида?

Нравится

2 комментария
Лучший ответ

Здравствуйте, Никита, 

Для создания кастомной кнопки на странице активности как описано в указанном посте, Вам необходимо создать модуль и расширить BaseDashboardItemViewConfig добавлением своей кнопки (Cancel к примеру).

Пример кода кнопки:

define("UsrDashboardItemViewConfig", ["BaseDashboardItemViewConfig"], function() {

    Ext.define("Terrasoft.configuration.UsrDashboardItemViewConfig", {

        extend: "Terrasoft.BaseDashboardItemViewConfig",

        alternateClassName: "Terrasoft.UsrDashboardItemViewConfig",

        getActionsViewConfig: function() {

            return {

                "name": "Actions",

                "itemType": Terrasoft.ViewItemType.CONTAINER,

                "classes": {wrapClassName: ["dashboard-item-actions on-hover-visible"]},

                "items": [

                    {

                        "name": "Cancel",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "style": Terrasoft.controls.ButtonEnums.style.BLUE,

                        "caption": {"bindTo": "CancelButtonCaption"},

                        "click": {"bindTo": "onCancelButtonClick"},

                        "classes": {

                            "textClass": "dashboard-item-right"

                        },

                        "visible": {"bindTo": "CancelButtonVisible"}

                    },

                    {

                        "name": "Cancel2",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "style": Terrasoft.controls.ButtonEnums.style.BLUE,

                        "caption": "TEST",

                        "click": {"bindTo": "onCancelButtonClick"},

                        "classes": {

                            "textClass": "dashboard-item-right"

                        },

                        "visible": {"bindTo": "ExecuteButtonVisible"}

                    },

                    {

                        "name": "Execute",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "style": Terrasoft.controls.ButtonEnums.style.GREEN,

                        "caption": {"bindTo": "ExecuteButtonCaption"},

                        "click": {"bindTo": "onExecuteButtonClick"},

                        "classes": {

                            "textClass": "dashboard-item-right"

                        },

                        "visible": {"bindTo": "ExecuteButtonVisible"}

                    }

                ]

            };

        }

    });

});

 

После необходимо создать replacing client module для SectionActionsDashboard

define("SectionActionsDashboard", ["UsrDashboardItemViewConfig"], function() {

    return {

        

        methods: {

            initDashboardConfig: function() {

                this.callParent(arguments);

                const dashboardConfig = this.get("DashboardConfig");

                var activityItemsConfig = {

                    "Activity": {

                        viewModelClassName: "Terrasoft.ActivityDashboardItemViewModel",

                        viewConfigClassName: "Terrasoft.BaseDashboardItemViewConfig"

                    }

                };

                if (this.$entitySchemaName === "Case") {

                    activityItemsConfig.Activity.viewConfigClassName = "Terrasoft.UsrDashboardItemViewConfig";

                }

                Ext.merge(dashboardConfig, activityItemsConfig);

                this.set("DashboardConfig", dashboardConfig);

            }

        }

    };

});

 

С уважением,

Анастасия

Здравствуйте, Никита, 

Для создания кастомной кнопки на странице активности как описано в указанном посте, Вам необходимо создать модуль и расширить BaseDashboardItemViewConfig добавлением своей кнопки (Cancel к примеру).

Пример кода кнопки:

define("UsrDashboardItemViewConfig", ["BaseDashboardItemViewConfig"], function() {

    Ext.define("Terrasoft.configuration.UsrDashboardItemViewConfig", {

        extend: "Terrasoft.BaseDashboardItemViewConfig",

        alternateClassName: "Terrasoft.UsrDashboardItemViewConfig",

        getActionsViewConfig: function() {

            return {

                "name": "Actions",

                "itemType": Terrasoft.ViewItemType.CONTAINER,

                "classes": {wrapClassName: ["dashboard-item-actions on-hover-visible"]},

                "items": [

                    {

                        "name": "Cancel",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "style": Terrasoft.controls.ButtonEnums.style.BLUE,

                        "caption": {"bindTo": "CancelButtonCaption"},

                        "click": {"bindTo": "onCancelButtonClick"},

                        "classes": {

                            "textClass": "dashboard-item-right"

                        },

                        "visible": {"bindTo": "CancelButtonVisible"}

                    },

                    {

                        "name": "Cancel2",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "style": Terrasoft.controls.ButtonEnums.style.BLUE,

                        "caption": "TEST",

                        "click": {"bindTo": "onCancelButtonClick"},

                        "classes": {

                            "textClass": "dashboard-item-right"

                        },

                        "visible": {"bindTo": "ExecuteButtonVisible"}

                    },

                    {

                        "name": "Execute",

                        "itemType": Terrasoft.ViewItemType.BUTTON,

                        "style": Terrasoft.controls.ButtonEnums.style.GREEN,

                        "caption": {"bindTo": "ExecuteButtonCaption"},

                        "click": {"bindTo": "onExecuteButtonClick"},

                        "classes": {

                            "textClass": "dashboard-item-right"

                        },

                        "visible": {"bindTo": "ExecuteButtonVisible"}

                    }

                ]

            };

        }

    });

});

 

После необходимо создать replacing client module для SectionActionsDashboard

define("SectionActionsDashboard", ["UsrDashboardItemViewConfig"], function() {

    return {

        

        methods: {

            initDashboardConfig: function() {

                this.callParent(arguments);

                const dashboardConfig = this.get("DashboardConfig");

                var activityItemsConfig = {

                    "Activity": {

                        viewModelClassName: "Terrasoft.ActivityDashboardItemViewModel",

                        viewConfigClassName: "Terrasoft.BaseDashboardItemViewConfig"

                    }

                };

                if (this.$entitySchemaName === "Case") {

                    activityItemsConfig.Activity.viewConfigClassName = "Terrasoft.UsrDashboardItemViewConfig";

                }

                Ext.merge(dashboardConfig, activityItemsConfig);

                this.set("DashboardConfig", dashboardConfig);

            }

        }

    };

});

 

С уважением,

Анастасия

Anastasiia Zhuravel,

 

Кнопки появились! Спасибо большое!)



Подскажите пожалуйста, как и где  переопределить метод

onAppButtonClick()?

 

{
     "name": "Cancel2",
    "itemType": Terrasoft.ViewItemType.BUTTON,
    "style": Terrasoft.controls.ButtonEnums.style.BLUE,
    "caption": "TEST",
    "click": {"bindTo": "onAppButtonClick"},
    "classes": {
        "textClass": "dashboard-item-right"
    },
    "visible": {"bindTo": "ExecuteButtonVisible"}
},

 

 

Показать все комментарии