|
4 | 4 | debounce, |
5 | 5 | Menu, |
6 | 6 | QueryController, |
7 | | - Value, |
8 | | - StringValue, |
9 | 7 | NullValue, |
10 | 8 | ViewOption, |
11 | 9 | } from 'obsidian'; |
@@ -532,33 +530,19 @@ export class MapView extends BasesView { |
532 | 530 | } |
533 | 531 |
|
534 | 532 | private getCenterFromConfig(): [number, number] { |
535 | | - let centerConfig: Value; |
536 | | - |
| 533 | + let centerConfig: unknown = null; |
| 534 | + |
537 | 535 | try { |
538 | 536 | centerConfig = this.config.getEvaluatedFormula(this, 'center'); |
539 | | - } catch (error) { |
540 | | - // Formula evaluation failed (e.g., this.file is null when no active file) |
541 | | - // Fall back to raw config value |
542 | | - const centerConfigStr = this.config.get('center'); |
543 | | - if (String.isString(centerConfigStr)) { |
544 | | - centerConfig = new StringValue(centerConfigStr); |
545 | | - } |
546 | | - else { |
547 | | - return DEFAULT_MAP_CENTER; |
| 537 | + if (centerConfig === null || centerConfig === undefined || centerConfig === NullValue.value) { |
| 538 | + // If a formula is not specified, then get the static value. |
| 539 | + centerConfig = this.config.get('center'); |
548 | 540 | } |
| 541 | + } catch (error) { |
| 542 | + return DEFAULT_MAP_CENTER; |
549 | 543 | } |
550 | 544 |
|
551 | | - // Support for legacy string format. |
552 | | - if (Value.equals(centerConfig, NullValue.value)) { |
553 | | - const centerConfigStr = this.config.get('center'); |
554 | | - if (String.isString(centerConfigStr)) { |
555 | | - centerConfig = new StringValue(centerConfigStr); |
556 | | - } |
557 | | - else { |
558 | | - return DEFAULT_MAP_CENTER; |
559 | | - } |
560 | | - } |
561 | | - return coordinateFromValue(centerConfig) || DEFAULT_MAP_CENTER; |
| 545 | + return parseLatLng(centerConfig) || DEFAULT_MAP_CENTER; |
562 | 546 | } |
563 | 547 |
|
564 | 548 | private getConfigSnapshot(): string { |
@@ -695,9 +679,10 @@ export class MapView extends BasesView { |
695 | 679 |
|
696 | 680 | { |
697 | 681 | displayName: 'Center coordinates', |
698 | | - type: 'formula', |
| 682 | + type: 'text', |
699 | 683 | key: 'center', |
700 | 684 | placeholder: '[latitude, longitude]', |
| 685 | + allowFormula: true, |
701 | 686 | }, |
702 | 687 | { |
703 | 688 | displayName: 'Default zoom', |
|
0 commit comments