Skip to content

Commit

Permalink
Added debugger page. Fix localization
Browse files Browse the repository at this point in the history
  • Loading branch information
yuriiNazarenkoTine committed Apr 7, 2024
1 parent 3bf1faf commit 81188c4
Show file tree
Hide file tree
Showing 8 changed files with 265 additions and 19 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ rr-manager_extra_install:
install -m 644 src/app/help/$${language}/simpleapp_index.html $(STAGING_DIR)/app/help/$${language}/simpleapp_index.html; \
done
install -m 755 -d $(STAGING_DIR)/app/texts
for language in enu fre chs kor; do \
for language in enu rus chs krn; do \
install -m 755 -d $(STAGING_DIR)/app/texts/$${language}; \
install -m 644 src/app/texts/$${language}/strings $(STAGING_DIR)/app/texts/$${language}/strings; \
done
211 changes: 201 additions & 10 deletions src/app/rr-manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,12 @@ Ext.define('SYNOCOMMUNITY.RRManager.AppWindow', {
fn: "SYNOCOMMUNITY.RRManager.Setting.Main",
// help: "setting.html",
},
{
text: this._V('ui', 'tab_debug'),
iconCls: "icon-debug",
fn: "SYNOCOMMUNITY.RRManager.Debug.Main",
// help: "setting.html",
},
];
},

Expand Down Expand Up @@ -1012,15 +1018,10 @@ Ext.define("SYNOCOMMUNITY.RRManager.Overview.HealthPanel", {
btnStyle: 'green',
text: this._V('ui', 'upload_file_dialog_title'),
handler: this.showUpdateUploadDialog.bind(this)
},{
}, {
xtype: 'syno_displayfield',
value: 'Get NetworkInfo',
width: 140
}, {
xtype: 'syno_button',
btnStyle: 'green',
text: 'Get NetworkInfo',
handler: this.getNetworkInfo.bind(this)
}]
},
],
Expand All @@ -1029,10 +1030,6 @@ Ext.define("SYNOCOMMUNITY.RRManager.Overview.HealthPanel", {
]
});
},
getNetworkInfo: async function () {
var result = await this.callCustomScript('getNetworkInfo.cgi');
debugger;
},
fillConfig: function (e) {
this.poolLinkId = Ext.id();
this.iconTemplate = this.createIconTpl();
Expand Down Expand Up @@ -2461,4 +2458,198 @@ Ext.define("SYNOCOMMUNITY.RRManager.Setting.SynoInfoTab", {
minWidth: Ext.MessageBox.minWidth
})
}
});


//Settings tab
Ext.define("SYNOCOMMUNITY.RRManager.Debug.Main", {
extend: "SYNO.SDS.Utils.TabPanel",
API: {},
constructor: function (e) {
(this.appWin = e.appWin),
(this.owner = e.owner),
this.callParent([this.fillConfig(e)]);
},
_prefix: '/webman/3rdparty/rr-manager/',
callCustomScript: function (scriptName) {

return new Promise((resolve, reject) => {
Ext.Ajax.request({
url: `${this._prefix}${scriptName}`,
method: 'GET',
timeout: 60000,
headers: {
'Content-Type': 'text/html'
},
success: function (response) {
// if response text is string need to decode it
if (typeof response?.responseText === 'string') {
resolve(Ext.decode(response?.responseText));
} else {
resolve(response?.responseText);
}
},
failure: function (result) {
if (typeof result?.responseText === 'string' && result?.responseText && !result?.responseText.startsWith('<')) {
var response = Ext.decode(result?.responseText);
reject(response?.error);
}
else {
reject('Failed with status: ' + result?.status);
}
}
});
});
},
fillConfig: function (e) {
this.generalTab = new SYNOCOMMUNITY.RRManager.Debug.GeneralTab({
appWin: this.appWin,
owner: this,
itemId: "GeneralTab",
});

const tabs = [this.generalTab];

const settingsConfig = {
title: "Settings",
autoScroll: true,
useDefaultBtn: true,
labelWidth: 200,
fieldWidth: 240,
activeTab: 0,
deferredRender: false,
items: tabs,
listeners: {
activate: this.updateAllForm,
scope: this
},
};

return Ext.apply(settingsConfig, e);
},
loadAllForms: function (e) {
this.items.each((t) => {
if (Ext.isFunction(t.loadForm)) {
if (t.itemId == "SynoInfoTab") {
t.loadForm(e.synoinfo);
} else {
t.loadForm(e);
}
}
});
},
updateEnv: function (e) {
},
updateAllForm: async function () {
this.setStatusBusy();
try {
const e = await this.getConf();
this.loadAllForms(e), this.updateEnv(e);
} catch (e) {
SYNO.Debug(e);
}
this.clearStatusBusy();
},
getConf: function () {
return this.callCustomScript('getNetworkInfo.cgi')
},
setConf: function () {
var user_config = this.getParams();
var rrConfigJson = localStorage.getItem("rrConfig");
var rrConfigOrig = JSON.parse(rrConfigJson);
rrConfigOrig.user_config = user_config;
localStorage.setItem("rrConfig", JSON.stringify(rrConfigOrig));

return this.appWin.handleFileUpload(user_config);
}
});

Ext.define("SYNOCOMMUNITY.RRManager.Debug.GeneralTab", {
extend: "SYNO.SDS.Utils.FormPanel",
constructor: function (e) {
this.getConf = e.owner.getConf.bind(e.owner);
this.callParent([this.fillConfig(e)])
},
fillConfig: function (e) {
this.suspendLcwPrompt = !1;
const t = {
title: "General",
name: 'debugGeneral',
id: 'debugGeneral',
items: [new SYNO.ux.FieldSet({
title: 'CMD Line',
collapsible: true,
collapsed: false,
name: 'cmdLine',
id: 'cmdLine',
columns: 2,
items: [],
}), new SYNO.ux.FieldSet({
title: 'Ethernet Interfaces',
collapsible: true,
name: 'ethernetInterfaces',
id: 'ethernetInterfaces',
columns: 2,
items: [],
}), new SYNO.ux.FieldSet({
title: 'Syno Mac Addresses',
collapsible: true,
name: 'macAdresses',
id: 'macAdresses',
columns: 2,
items: [],
})
]
};
return Ext.apply(t, e),
t
},
initEvents: function () {
this.mon(this, "activate", this.onActivate, this)
},
onActivate: function () {
this.getConf().then((e) => {
var config = e.result;
var cmdLineFieldSet = Ext.getCmp('cmdLine');
Object.keys(config.bootParameters).forEach((key) => {
cmdLineFieldSet.add(
{
fieldLabel: key,
name: key,
xtype: 'syno_displayfield',
value: config.bootParameters[key]
});
});
cmdLineFieldSet.doLayout();

var ethernetInterfacesFieldSet = Ext.getCmp('ethernetInterfaces');
config.ethernetInterfaces.forEach((eth) => {
ethernetInterfacesFieldSet.add(
{
fieldLabel: eth.interface,
name: eth.interface,
xtype: 'syno_displayfield',
value: `MAC: ${eth.address}, Status: ${eth.operstate}, Speed: ${eth.speed}, Duplex: ${eth.duplex}`
});
});
ethernetInterfacesFieldSet.doLayout();

var macAdressesFieldSet = Ext.getCmp('macAdresses');
config.syno_mac_addresses.forEach((mac_address, index) => {
macAdressesFieldSet.add(
{
fieldLabel: `Mac ${index}`,
columns: 2,
xtype: 'syno_displayfield',
value: mac_address
});
});

var debugGeneral = Ext.getCmp('debugGeneral');
debugGeneral.doLayout();
});
},
loadForm: function (e) {
// this.getForm().setValues(e);
}
});
1 change: 1 addition & 0 deletions src/app/texts/chs/strings
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ greetings_text = "Welcome to RR Manager!"
tab_general = "设置"
tab_addons = "Addons"
tab_configuration = "配置"
tab_debug = "调试"

lb_select_update_file = "请选择 update 文件: "
upload_update_file_form_validation_invalid_msg = "请选择 update/updateAll 文件后开始上传。"
Expand Down
2 changes: 2 additions & 0 deletions src/app/texts/enu/strings
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ greetings_text = "Welcome to RR Manager!"
tab_general = "General"
tab_addons = "Addons"
tab_configuration = "Configuration"
tab_debug = "Debug"


lb_select_update_file = "Please select the update file:"
upload_update_file_form_validation_invalid_msg = "Please select the update/updateAll file before start uploading."
Expand Down
4 changes: 0 additions & 4 deletions src/app/texts/fre/strings

This file was deleted.

1 change: 1 addition & 0 deletions src/app/texts/kor/strings → src/app/texts/krn/strings
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ greetings_text = "RR 매니저에 오신 것을 환영합니다!"
tab_general = "일반"
tab_addons = "애드온"
tab_configuration = "설정"
tab_debug = "디버그"

lb_select_update_file = "업데이트 파일을 선택하세요:"
upload_update_file_form_validation_invalid_msg = "업로드를 시작하기 전에 update/updaeAll 파일을 선택하세요."
Expand Down
59 changes: 59 additions & 0 deletions src/app/texts/rus/strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
[app]
app_name = "RR Manager"
description = "RR Manager"
index_title = "Документація допомоги"

[ui]
greetings_text = "Ласкаво просимо до RR Manager!"
tab_general = "Загальне"
tab_addons = "Додатки"
tab_configuration = "Конфігурація"
tab_debug = "Відлагодження"

lb_select_update_file = "Будь ласка, виберіть файл оновлення:"
upload_update_file_form_validation_invalid_msg = "Будь ласка, виберіть файл оновлення/оновленняВсіх перед початком завантаження."
alt_confirm = "Підтвердити"
update_rr_progress_msg = "Оновлення RR у процесі: {0}. Статус: {1}."
update_rr_completed = "RR успішно оновлено. Будь ласка, перезавантажте NAS."
update_rr_error_msg = "Не вдалося оновити RR. Код статусу: {0}, Причина: {1}"
update_rr_confirmation = "Поточна версія RR: {0}. Версія файлу оновлення: {1}"
update_rr_confirmation_title = "Підтвердження оновлення"
confirm_system_clean_up_msg = "Бажаєте запустити скрипт очищення системного розділу?"
confirm_system_clean_up_title = "Підтвердження очищення системи"

unable_update_rr_msg = "Не вдалося оновити RR: {0}. Будь ласка, завантажте файл та спробуйте знову."
upload_file_dialog_title = "Завантажити файл"

select_file = "Вибрати файл"
loading_text = "Завантаження..."
system_info = "🖥️Інформація про систему:"

rr_actions = "Дії RR Loader"
required_tasks_is_missing = "В системі відсутні наступні необхідні задачі {0}. Це потребуватиме введення вашого паролю. Бажаєте створити їх?"
tasks_created_msg = "Задачі успішно створено. Будь ласка, перезапустіть додаток RR Manager."
share_notfound_msg = "Увага! Папка {0} не знайдена. Будь ласка, створіть спільний доступ/папку та перезапустіть додаток."
required_components_missing_title = "Відсутні необхідні компоненти"
required_components_missing_spinner_msg = "Схоже, що деякі задачі відсутні в системі: {0}. Будь ласка, завершіть процес входу перед початком використання RR Manager."
file_uploading_succesfull_msg = "Файл успішно завантажено. Бажаєте запустити процедуру оновлення?"
update_confirm_title = "Підтвердження оновлення"
uploading_file = "Завантаження файлу..."
save_addons_changes = "Зберегти зміни додатків"

rr_config_applied="Конфігурація RR успішно застосована. Будь ласка, перезавантажте NAS для застосування змін."
checking_dependencies_loader="Перевірка залежностей..."
file_uploading_failed_msg="Помилка завантаження файлу."
completed="Завершено:"

section_rr_actions="Дії RR"
run_update="Запустити оновлення"

frm_validation_fill_required_fields="Будь ласка, заповніть необхідні поля."
frm_validation_no_change="Немає змін для збереження"

save_addons_btn="Зберегти додатки"

col_system="Система"
col_installed="Встановлено"
col_version="Версія"
col_name="Назва"
col_description="Опис"
4 changes: 0 additions & 4 deletions src/app/texts/ukr/strings

This file was deleted.

0 comments on commit 81188c4

Please sign in to comment.