mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-02 10:43:56 +08:00
85 lines
1.9 KiB
JavaScript
85 lines
1.9 KiB
JavaScript
// SPDX-License-Identifier: Apache-2.0
|
|
/*
|
|
* Copyright (C) 2025 ImmortalWrt.org
|
|
*/
|
|
|
|
'use strict';
|
|
'require form';
|
|
'require fs';
|
|
'require view';
|
|
|
|
return view.extend({
|
|
load() {
|
|
return Promise.all([
|
|
L.resolveDefault(fs.stat('/sbin/block'), null),
|
|
L.resolveDefault(fs.stat('/etc/config/fstab'), null),
|
|
]);
|
|
},
|
|
|
|
render(stats) {
|
|
let m, s, o;
|
|
|
|
m = new form.Map('cifs-mount', _('Mount SMB/CIFS NetShare'));
|
|
|
|
s = m.section(form.GridSection, 'mount', _('CIFS/SMB Mount Points'));
|
|
s.addremove = true;
|
|
s.anonymous = true;
|
|
s.sortable = true;
|
|
s.rowcolors = true;
|
|
s.modaltitle = _('Edit Mount Point');
|
|
|
|
o = s.option(form.Flag, 'enabled', _('Enable'));
|
|
o.editable = true;
|
|
|
|
o = s.option(form.Value, 'server', _('Server address'));
|
|
o.datatype = 'host';
|
|
o.rmempty = false;
|
|
|
|
o = s.option(form.Value, 'remote_path', _('Share folder'));
|
|
o.datatype = 'path';
|
|
o.rmempty = false;
|
|
|
|
o = s.option(form.Value, 'local_path', _('Mount point'));
|
|
if (stats[0] && stats[1]) {
|
|
o.titleref = L.url('admin', 'system', 'mounts');
|
|
}
|
|
o.value('/mnt');
|
|
o.datatype = 'path';
|
|
o.rmempty = false;
|
|
|
|
o = s.option(form.ListValue, 'smb_version', _('SMB version'));
|
|
o.value('', _('Default'));
|
|
o.value('1.0', 'SMBv1');
|
|
o.value('2.0', 'SMBv2');
|
|
o.value('2.1', 'SMBv2.1');
|
|
o.value('3.0', 'SMBv3');
|
|
o.modalonly = true;
|
|
|
|
o = s.option(form.Value, 'iocharset', _('Charset'));
|
|
o.value('-', _('Not set'));
|
|
o.value('utf8', 'UTF-8');
|
|
o.default = 'utf8';
|
|
o.rmempty = false;
|
|
o.modalonly = true;
|
|
|
|
o = s.option(form.Flag, 'ro', _('Read only'));
|
|
o.editable = true;
|
|
|
|
o = s.option(form.Value, 'username', _('Username'));
|
|
o.value('guest', _('Guest'));
|
|
|
|
o = s.option(form.Value, 'password', _('Password'));
|
|
o.password = true;
|
|
o.modalonly = true;
|
|
|
|
o = s.option(form.Value, 'workgroup', _('Workgroup'));
|
|
o.value('WORKGROUP');
|
|
o.modalonly = true;
|
|
|
|
o = s.option(form.DynamicList, 'options', _('Mount options'));
|
|
o.modalonly = true;
|
|
|
|
return m.render();
|
|
}
|
|
});
|