|  | 
| 357 | 357 |    /** For a given table, returns a list of ranges that the table monitors | 
| 358 | 358 |     *  and treats like control changes | 
| 359 | 359 |     */ | 
| 360 |  | -   function getExternalTableRanges(ss, tableConfig, controlOnly) { | 
|  | 360 | +   function getExternalTableRanges(sheet, tableConfig, controlOnly) { | 
| 361 | 361 |      var globalControlTriggers = | 
| 362 | 362 |       (TableRangeUtils_.getJson(tableConfig, [ "common", "global_control_triggers" ]) || []) | 
| 363 | 363 |      var globalContentTriggers = !controlOnly ? | 
|  | 
| 369 | 369 |        globalTriggers = globalTriggers.concat([ globalQuery ]) | 
| 370 | 370 |      } | 
| 371 | 371 |      return globalTriggers.map(function(rangeOrNotation) { | 
| 372 |  | -       return getRangeFromName(ss, rangeOrNotation) | 
|  | 372 | +       return getRangeFromName(sheet, rangeOrNotation) | 
| 373 | 373 |      }).filter(function(range) { | 
| 374 | 374 |        return range != null | 
| 375 | 375 |      }) | 
|  | 
| 378 | 378 |    /** Returns the range from a range notation | 
| 379 | 379 |     * TODO: needs to be able to handle named ranges (see getJsonLookup) | 
| 380 | 380 |    */ | 
| 381 |  | -   function getRangeFromName(ss, rangeOrNotation) { | 
| 382 |  | -     var isNotation = | 
| 383 |  | -      rangeOrNotation.indexOf(":") >= 0 || /^[A-Z]+[0-9]+$/.exec(rangeOrNotation) | 
|  | 381 | +   function getRangeFromName(sheet, rangeOrNotation) { | 
| 384 | 382 |      var isFullNotation = rangeOrNotation.indexOf("!") >= 0 | 
|  | 383 | +     var isNotation = isFullNotation || | 
|  | 384 | +      (rangeOrNotation.indexOf(":") >= 0 || /^[A-Z]+[0-9]+$/.exec(rangeOrNotation)) | 
| 385 | 385 | 
 | 
| 386 | 386 |      return isNotation ? | 
| 387 | 387 |        (isFullNotation ? | 
| 388 |  | -         ss.getRange(rangeOrNotation) | 
|  | 388 | +         sheet.getParent().getRange(rangeOrNotation) | 
| 389 | 389 |          : | 
| 390 |  | -         ss.getActiveSheet().getRange(rangeOrNotation) | 
|  | 390 | +         sheet.getRange(rangeOrNotation) | 
| 391 | 391 |        ) | 
| 392 | 392 |        : null //(see above: also support named ranges, cf getJsonLookup) | 
| 393 | 393 |    } | 
| 394 | 394 | 
 | 
| 395 | 395 |    /** Utility function to write global status info out - returns true iff status _is_ global */ | 
| 396 |  | -   function handleGlobalStatusInfo(ss, statusInfo, tableConfig) { | 
|  | 396 | +   function handleGlobalStatusInfo(sheet, statusInfo, tableConfig) { | 
| 397 | 397 |      if ( //Global query, get from its external location: | 
| 398 | 398 |        "global" == TableRangeUtils_.getJson(tableConfig, [ "common", "status", "position" ]) | 
| 399 | 399 |      ) { | 
| 400 | 400 |        var globalSourceRef = TableRangeUtils_.getJson( | 
| 401 | 401 |          tableConfig, [ "common", "status", "global", "range_name" ] | 
| 402 | 402 |        ) | 
| 403 | 403 |        var globalSourceRange = globalSourceRef ? | 
| 404 |  | -         TableRangeUtils_.getRangeFromName(ss, globalSourceRef) : null | 
|  | 404 | +         TableRangeUtils_.getRangeFromName(sheet, globalSourceRef) : null | 
| 405 | 405 |        if (globalSourceRange) { | 
| 406 | 406 |          globalSourceRange.getCell(1, 1).setValue(statusInfo) | 
| 407 | 407 |          return true | 
|  | 
0 commit comments