Здравствуйте!
Подскажите пжл по подробнее как добавить кнопку в ActionsDashboard?
Пробовал вставить по этому посту https://community.terrasoft.ua/questions/dobavit-polzovatelskuyu-knopku-v-instrumentalnuyu-panel-deystviy-action-dashboard но так и не разобрался.
Что конкретно нужно сделать чтобы кнопка TestButton появилась в Actions Dashboard на странице лида?
Нравится
Здравствуйте, Никита,
Для создания кастомной кнопки на странице активности как описано в указанном посте, Вам необходимо создать модуль и расширить 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"} },