@smartnet360/svelte-components 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -45,7 +45,13 @@
45
45
  });
46
46
 
47
47
  $effect(() => {
48
- internalSelectedAntenna = selectedAntenna;
48
+ // Only update internal state if the prop actually changed
49
+ // Avoid overwriting user selections
50
+ console.log(`[Antenna ${antennaNumber}] Effect triggered - selectedAntenna prop:`, selectedAntenna?.name || 'null', 'internal:', internalSelectedAntenna?.name || 'null');
51
+ if (selectedAntenna !== internalSelectedAntenna) {
52
+ console.log(`[Antenna ${antennaNumber}] Effect updating internal state from:`, internalSelectedAntenna?.name || 'null', 'to:', selectedAntenna?.name || 'null');
53
+ internalSelectedAntenna = selectedAntenna;
54
+ }
49
55
  });
50
56
 
51
57
  // Get available electrical tilts from antennas with the selected name and frequency
@@ -82,16 +88,33 @@
82
88
 
83
89
  // Find the specific antenna that matches name, frequency, and electrical tilt
84
90
  function findAntennaWithTilt(antennaName: string, tiltIndex: number): Antenna | null {
85
- if (!antennaName || !availableElectricalTilts[tiltIndex]) return null;
91
+ console.log(`[Antenna ${antennaNumber}] findAntennaWithTilt called with:`, antennaName, 'tiltIndex:', tiltIndex);
92
+
93
+ if (!antennaName) {
94
+ console.log(`[Antenna ${antennaNumber}] No antennaName provided, returning null`);
95
+ return null;
96
+ }
86
97
 
87
- const targetTilt = availableElectricalTilts[tiltIndex];
98
+ // Handle case where availableElectricalTilts might not be populated yet
99
+ const targetTilt = availableElectricalTilts[tiltIndex] || '0';
100
+ console.log(`[Antenna ${antennaNumber}] availableElectricalTilts:`, availableElectricalTilts);
101
+ console.log(`[Antenna ${antennaNumber}] targetTilt:`, targetTilt);
102
+ console.log(`[Antenna ${antennaNumber}] selectedFrequency:`, selectedFrequency);
88
103
 
89
104
  // Find antenna with matching name, frequency, and electrical tilt
90
- return antennas.find(antenna => {
91
- if (antenna.name !== antennaName) return false;
105
+ const result = antennas.find(antenna => {
106
+ console.log(`[Antenna ${antennaNumber}] Checking antenna:`, antenna.name, 'freq:', antenna.frequency, 'tilt:', antenna.tilt);
107
+
108
+ if (antenna.name !== antennaName) {
109
+ console.log(`[Antenna ${antennaNumber}] Name mismatch:`, antenna.name, '!==', antennaName);
110
+ return false;
111
+ }
92
112
 
93
113
  // If frequency is selected, must match
94
- if (selectedFrequency && antenna.frequency !== selectedFrequency) return false;
114
+ if (selectedFrequency && antenna.frequency !== selectedFrequency) {
115
+ console.log(`[Antenna ${antennaNumber}] Frequency mismatch:`, antenna.frequency, '!==', selectedFrequency);
116
+ return false;
117
+ }
95
118
 
96
119
  if (antenna.tilt) {
97
120
  const tiltString = antenna.tilt.toString();
@@ -99,11 +122,19 @@
99
122
  ? tiltString.split(',').map(t => t.trim())
100
123
  : [tiltString];
101
124
 
102
- return antennasTilts.includes(targetTilt);
125
+ console.log(`[Antenna ${antennaNumber}] Antenna tilts:`, antennasTilts, 'target:', targetTilt);
126
+ const tiltMatch = antennasTilts.includes(targetTilt);
127
+ console.log(`[Antenna ${antennaNumber}] Tilt match:`, tiltMatch);
128
+ return tiltMatch;
103
129
  }
104
130
 
105
- return targetTilt === '0'; // Default tilt
131
+ const defaultMatch = targetTilt === '0';
132
+ console.log(`[Antenna ${antennaNumber}] Default tilt match:`, defaultMatch);
133
+ return defaultMatch; // Default tilt
106
134
  }) || null;
135
+
136
+ console.log(`[Antenna ${antennaNumber}] findAntennaWithTilt result:`, result?.name || 'null');
137
+ return result;
107
138
  }
108
139
 
109
140
  // Handle frequency selection
@@ -129,18 +160,68 @@
129
160
  const target = event.target as HTMLSelectElement;
130
161
  const antennaName = target.value;
131
162
 
163
+ console.log(`[Antenna ${antennaNumber}] handleAntennaChange called with:`, antennaName);
164
+ console.log(`[Antenna ${antennaNumber}] Before change - internalSelectedAntenna:`, internalSelectedAntenna?.name || 'null');
165
+
132
166
  // Reset tilt and frequency values when antenna changes
133
167
  internalElectricalTiltIndex = 0;
134
168
  internalMechanicalTilt = 0;
135
169
  selectedFrequency = null;
136
170
 
137
- // Find the specific antenna with the default tilt (index 0)
138
- const newAntenna = findAntennaWithTilt(antennaName, 0);
139
- internalSelectedAntenna = newAntenna;
171
+ // Handle "Select Antenna" case (empty string)
172
+ if (!antennaName) {
173
+ console.log(`[Antenna ${antennaNumber}] Setting to null (Select Antenna case)`);
174
+ internalSelectedAntenna = null;
175
+ onAntennaChange?.(null);
176
+ onElectricalTiltChange?.(0);
177
+ onMechanicalTiltChange?.(0);
178
+ console.log(`[Antenna ${antennaNumber}] After null set - internalSelectedAntenna:`, internalSelectedAntenna?.name || 'null');
179
+ return;
180
+ }
140
181
 
141
- onAntennaChange?.(newAntenna);
142
- onElectricalTiltChange?.(0);
182
+ // First, find ANY antenna with this name to get available tilts
183
+ const sampleAntenna = antennas.find(a => a.name === antennaName);
184
+ if (sampleAntenna && sampleAntenna.tilt) {
185
+ const tiltString = sampleAntenna.tilt.toString();
186
+ const tilts = tiltString.includes(',')
187
+ ? tiltString.split(',').map(t => t.trim())
188
+ : [tiltString];
189
+
190
+ // Try to find antenna with '0' tilt first, otherwise use first available
191
+ let tiltToUse = tilts.includes('0') ? '0' : tilts[0];
192
+ let tiltIndexToUse = tilts.includes('0') ? tilts.indexOf('0') : 0;
193
+
194
+ console.log(`[Antenna ${antennaNumber}] Available tilts for ${antennaName}:`, tilts);
195
+ console.log(`[Antenna ${antennaNumber}] Using tilt:`, tiltToUse, 'at index:', tiltIndexToUse);
196
+
197
+ // Find the specific antenna with the chosen tilt
198
+ const newAntenna = antennas.find(antenna => {
199
+ if (antenna.name !== antennaName) return false;
200
+ if (antenna.tilt) {
201
+ const antennaTiltString = antenna.tilt.toString();
202
+ const antennaTilts = antennaTiltString.includes(',')
203
+ ? antennaTiltString.split(',').map(t => t.trim())
204
+ : [antennaTiltString];
205
+ return antennaTilts.includes(tiltToUse);
206
+ }
207
+ return tiltToUse === '0';
208
+ });
209
+
210
+ console.log(`[Antenna ${antennaNumber}] Found antenna with tilt ${tiltToUse}:`, newAntenna?.name || 'null');
211
+ internalSelectedAntenna = newAntenna || null;
212
+ internalElectricalTiltIndex = tiltIndexToUse;
213
+
214
+ } else {
215
+ // Fallback: use findAntennaWithTilt with index 0
216
+ const newAntenna = findAntennaWithTilt(antennaName, 0);
217
+ console.log(`[Antenna ${antennaNumber}] Fallback - Found antenna:`, newAntenna?.name || 'null');
218
+ internalSelectedAntenna = newAntenna;
219
+ }
220
+
221
+ onAntennaChange?.(internalSelectedAntenna);
222
+ onElectricalTiltChange?.(internalElectricalTiltIndex);
143
223
  onMechanicalTiltChange?.(0);
224
+ console.log(`[Antenna ${antennaNumber}] After set - internalSelectedAntenna:`, internalSelectedAntenna?.name || 'null');
144
225
  }
145
226
 
146
227
  // Handle electrical tilt changes
@@ -249,6 +330,7 @@
249
330
  class="form-select form-select-sm"
250
331
  value={internalSelectedAntenna?.name || ''}
251
332
  onchange={handleAntennaChange}
333
+ onfocus={() => console.log(`[Antenna ${antennaNumber}] Dropdown focused - current value:`, internalSelectedAntenna?.name || 'null')}
252
334
  >
253
335
  <option value="">-- Select Antenna --</option>
254
336
  {#each uniqueAntennas as antenna}
@@ -69,8 +69,6 @@
69
69
  await saveAntennas(antennas);
70
70
  message = `Successfully imported ${antennas.length} antennas to database.`;
71
71
 
72
- // Navigate to view page after a short delay
73
- setTimeout(() => goto(`${base}/apps/antenna-patterns/view`), 1500);
74
72
  } catch (e) {
75
73
  error = e instanceof Error ? e.message : 'Failed to save antennas to database';
76
74
  } finally {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartnet360/svelte-components",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build": "vite build && npm run prepack",