[pve-devel] [PATCH manager 1/5 v2] Storage GUI: Rewrite backup content view as TreePanel.
Thomas Lamprecht
t.lamprecht at proxmox.com
Thu Mar 31 08:56:54 CEST 2022
On 31.03.22 08:36, Fabian Ebner wrote:
> Am 30.03.22 um 14:59 schrieb Matthias Heiserer:
>> 8<
>>
>>>> + onLoad: function(store, records, success, operation) {
>>>> + let me = this;
>>>> + let view = me.getView();
>>>> + let selection = view.getSelection()?.[0];
>>>> + selection = selection?.parentNode?.data?.text
>>>> +selection?.data?.volid;
>>> Style nit: missing space after + and could use `${...}${...}` syntax
>>> instead.
>> That syntax won't work because then, if both parameters are undefined,
>> the result would be a string instead of a falsy (NaN) value.
>> There's probably a better way of doing this.
>>
seems odd use of side-effect, if that's relevant it could be checked more explicitly
with a boolean expression (as JS "arithmetic" operations can be quite weird).
Note also that `var foo = "asdf" + undefined;` makes `foo` be "asdfundefined" so
are you sure that's the behavior you want?
FWIW, you could also destructure an additional object level like:
let { data, parentNode } = view.getSelection()?.[0] ?? {};
Could make checking explicitly easier.
>>> (...)
>>>
>>>> + if (selection) {
>>>> + let rootnode = view.getRootNode();
>>>> + let selected;
>>>> + rootnode.cascade(node => {
>>>> + if (selected) {return false;} // skip if already found
>>> Style nit: if body on the same line
>> Is 'if on one line' something we generally don't do? It appears
>> occasionally in the code.
> I don't think it's explicitly forbidden by our style guide, which
> essentially is what the linter complains about, but in the (vast)
> majority of cases, the body is on its own line.
>
Thanks for the hint, it's now:
https://pve.proxmox.com/wiki/Javascript_Style_Guide#Single-Line_If-Statement
More information about the pve-devel
mailing list