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

BPMonline 7.7.0.2326

Скажите, как скрыть журнал синхронизации в разделе Настройки?

Нравится

10 комментариев

Здравствуйте!
Рекомендую посмотреть в сторону схемы "SystemDesigner" пакета UIv2.
Так находятся элементы [Дизайнера системы]

Извините, забыла указать, что в мобильном приложении в разделе настройки надо скрыть журнал синхронизации.
Как его скрыть?

Данная опция является базовой для мобильного приложения.
Уточните пожалуйста - для чего необходимо его скрывать?

Так захотел руководитель компании.
Хочет, чтобы в мобильном приложении в настройках остались только кнопки синхронизация и очистить кеш.
Скажите, такое возможно? И как это реализовать?

Есть такой вариант:
Создайте отдельный модуль для общих настроек UsrMobileUtilitiesCustom

Ext.define("Ext.MobileSettingsPageOverride", {
    override: "Terrasoft.controller.MobileSettingsPage",
 
    updateValues: function() {
		this.callParent(arguments);
		var syncLogPageButton = this.getSyncLogPageButton();
		syncLogPageButton.setHidden(true);
    }
 
});

подключите ее в манифесте в блоке CustomSchemas

{
	...
	"CustomSchemas": [
		"UsrMobileUtilitiesCustom"
	],
	...
}

Эттот вариант не очень хорош/надежен т.к. метод updateValues приватный

второй вариант, скрыть стилями

Terrasoft.util.writeStyles(
"#MobileSettingsPage_syncLogPageContainer {display: none}"
)

теоретически, тоже может перестать работать в будущем.

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

Спасибо большое! Получилось скрыть журнал синхронизации первым способом.

Но непонятно, по какой функции обращаться к адресу, логину, паролю, рабочему месту.
Схему MobileSettingsPage я не нашла.

Скажите, где можно посмотреть, как к ним обратиться, чтобы их скрыть?

Это ядровые компоненты мобильного приложения.
Теоретически их можно извлечь из .apk файла
(можно поискать инструкции в интеренте как это сделать)

Хорошо, спасибо, сейчас попробую.
Вы можете подсказать, как скрыть все в разделе настройки, кроме кнопок синхронизация и очистить кеш или это займет у Вас много времени?

список основных элементов:
view: "#MobileSettingsPage",
navigationPanel: "#MobileSettingsPage_NavigationPanel",
loginField: "#MobileSettingsPage_login",
passwordField: "#MobileSettingsPage_password",
serverField: "#MobileSettingsPage_server",
isSecureConnection: "#MobileSettingsPage_isSecureConnection",
workspaceField: "#MobileSettingsPage_workspace",
workplaceCombobox: "#MobileSettingsPage_workplaceCombobox",
backgroundSyncCombobox: "#MobileSettingsPage_backgroundSyncCombobox",
syncButton: "#MobileSettingsPage_syncButton",
clearDatabaseButton: "#MobileSettingsPage_clearSqlDatabaseButton",
versionLabel: "#MobileSettingsPage_version",
additionalColumnSet: "#MobileSettingsPage_additionalSettingsColumnSet",
demoLoginButton: "#MobileSettingsPage_demoLoginButton",
exportOnly: "#MobileSettingsPage_exportOnly",
demoPage: "#MobileDemoLoginPage",
syncLogPageButton: "#MobileSettingsPage_syncLogPageContainer",
sendUsageStatisticsButton: "#MobileSettingsPage_sendUsageStatisticsButton"

Пример обращения:
this.getLoginField()

Спасибо большое!!! Получилось!

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