luci-mod-network: fix loading ra_mtu and ra_hoplimit options
[project/luci.git] / modules / luci-mod-network / htdocs / luci-static / resources / view / network / interfaces.js
index 52ad6e9b6f33cb0f897eace25ad72097aecf323a..4d42fdd5146ef50dd97f9c0a6beee3365023df58 100644 (file)
@@ -835,15 +835,17 @@ return view.extend({
                                        so.depends('ra', 'server');
                                        so.depends({ ra: 'hybrid', master: '0' });
                                        so.load = function(section_id) {
-                                               var dev = ifc.getL3Device();
+                                               var dev = ifc.getL3Device(),
+                                                   path = dev ? "/proc/sys/net/ipv6/conf/%s/mtu".format(dev.getName()) : null;
 
-                                               if (dev) {
-                                                       var path = "/proc/sys/net/ipv6/conf/%s/mtu".format(dev.getName());
+                                               return Promise.all([
+                                                       dev ? L.resolveDefault(fs.read(path), dev.getMTU()) : null,
+                                                       this.super('load', [section_id])
+                                               ]).then(L.bind(function(res) {
+                                                       this.placeholder = +res[0];
 
-                                                       return L.resolveDefault(fs.read(path), dev.getMTU()).then(L.bind(function(data) {
-                                                               this.placeholder = data;
-                                                       }, this));
-                                               }
+                                                       return res[1];
+                                               }, this));
                                        };
 
                                        so = ss.taboption('ipv6-ra', form.Value, 'ra_hoplimit', _('<abbr title="Router Advertisement">RA</abbr> Hop Limit'), _('The maximum hops  to be published in <abbr title="Router Advertisement">RA</abbr> messages. Maximum is 255 hops.'));
@@ -852,15 +854,17 @@ return view.extend({
                                        so.depends('ra', 'server');
                                        so.depends({ ra: 'hybrid', master: '0' });
                                        so.load = function(section_id) {
-                                               var dev = ifc.getL3Device();
+                                               var dev = ifc.getL3Device(),
+                                                   path = dev ? "/proc/sys/net/ipv6/conf/%s/hop_limit".format(dev.getName()) : null;
 
-                                               if (dev) {
-                                                       var path = "/proc/sys/net/ipv6/conf/%s/hop_limit".format(dev.getName());
+                                               return Promise.all([
+                                                       dev ? L.resolveDefault(fs.read(path), 64) : null,
+                                                       this.super('load', [section_id])
+                                               ]).then(L.bind(function(res) {
+                                                       this.placeholder = +res[0];
 
-                                                       return L.resolveDefault(fs.read(path), 64).then(L.bind(function(data) {
-                                                               this.placeholder = data;
-                                                       }, this));
-                                               }
+                                                       return res[1];
+                                               }, this));
                                        };