architwin 1.17.1 → 1.17.2

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.
@@ -173,6 +173,7 @@ i18n
173
173
  "BEMAC": "BEMAC",
174
174
  "HANASYS": "HANASYS",
175
175
  "URLLink": "URL Link",
176
+ "i-MTEC": "i-MTEC",
176
177
  "ModelName": "Model Name",
177
178
  "SerialNumber": "Serial Number",
178
179
  "ManufacturerSite": "Manufacturer Site",
@@ -193,6 +194,14 @@ i18n
193
194
  "Frequency": "Frequency",
194
195
  "Camera": "Camera",
195
196
  "Others": "Others",
197
+ "Outlet": "Outlet",
198
+ "Amp": "Amp",
199
+ "RPM": "RPM",
200
+ "Level": "Level",
201
+ "Alert": "Alert",
202
+ "Status": "Status",
203
+ "Selection": "Selection",
204
+ "Monitor": "Monitor",
196
205
  "DeleteDevice": "Delete Device",
197
206
  "ConfirmDeleteDevice": "Are you sure you want to delete this device? This action cannot be reversed",
198
207
  "SuccessDeleteDevice": "Successfully deleted device",
@@ -453,6 +462,8 @@ i18n
453
462
  "BEMAC": "BEMAC",
454
463
  "HANASYS": "HANASYS",
455
464
  "URLLink": "URLリンク",
465
+ "URL Link": "URLリンク",
466
+ "i-MTEC": "i-MTEC",
456
467
  "ModelName": "機器名",
457
468
  "SerialNumber": "シリアルナンバー",
458
469
  "ManufacturerSite": "メーカーURL",
@@ -461,7 +472,7 @@ i18n
461
472
  "SystemLink": "システムリンク",
462
473
  "LinkedIoTDevices": "設定済みIoT",
463
474
  "EditIoTTag": "IoTタグ編集",
464
- "Power": "電力",
475
+ "Power": "発停",
465
476
  "Temperature": "温度",
466
477
  "Humidity": "湿度",
467
478
  "Pressure": "圧力",
@@ -474,6 +485,14 @@ i18n
474
485
  "Frequency": "周波数",
475
486
  "Camera": "カメラ",
476
487
  "Others": "その他",
488
+ "Outlet": "出力",
489
+ "Amp": "電流値",
490
+ "RPM": "回転数",
491
+ "Level": "レベル",
492
+ "Alert": "警報",
493
+ "Status": "状態",
494
+ "Selection": "選択",
495
+ "Monitor": "モニタ",
477
496
  "DeleteDevice": "デバイス削除",
478
497
  "ConfirmDeleteDevice": "この操作は元に戻せません。このデバイスを削除しますか?",
479
498
  "SuccessDeleteDevice": "デバイスを削除しました",
@@ -44,7 +44,7 @@ export declare function getIotTagFormData(): {
44
44
  tag_type: TAG_TYPE;
45
45
  };
46
46
  export declare function initIoTLinkedSystemOptions(): void;
47
- export declare function selectIoTLinkedSystemOptions(): void;
47
+ export declare function toggleIoTLinkedSystemOptions(): void;
48
48
  /**
49
49
  * Clears all Fields Input Fields including the Linked Devices Table
50
50
  *
@@ -41,11 +41,14 @@ export function renderTagIOTFormPane() {
41
41
  <div class="at_field at_flex_column">
42
42
 
43
43
  <label>${i18n.t('LinkedSystems')}</label>
44
-
45
- <div id="at-iot-linked-system-listbox" class="at_listbox" data-cy="at-iot-linked-system-listbox">
46
- <ul class="at_listbox_options" role="listbox" aria-label="Linked Systems">
47
-
48
- </ul>
44
+ <div id="at-iot-linked-system-dropdown" data-cy="at-iot-linked-system-dropdown">
45
+ <div id="at-iot-linked-system-filter-dropdown" class="at_dropdown at_flex at_flex_row at_space_between">
46
+ <div class="at_dropdown_toggle" id="at-iot-selected-linked-system" data-cy="at-iot-selected-linked-system">${i18n.t('NoSelection')}</div>
47
+ <span class="mdi mdi-chevron-down at_chevron" id="at-iot-linked-system-filter-chevron" data-cy="at-iot-linked-system-filter-chevron"></span>
48
+ </div>
49
+ <div style="position:absolute;">
50
+ <div class="at_dropdown_options" id="at-iot-linked-system-options" data-cy="at-iot-linked-system-options"></div>
51
+ </div>
49
52
  </div>
50
53
 
51
54
  <label for="">${i18n.t('Category')}</label>
@@ -58,70 +61,65 @@ export function renderTagIOTFormPane() {
58
61
  <div class="at_dropdown_options" id="at-iot-category-options" data-cy="at-iot-category-options"></div>
59
62
  </div>
60
63
  </div>
61
- </div>
62
64
 
63
65
  <div class="at-field at_flex_row at_justify_between">
64
- <label for="">${i18n.t('TagName')}</label>
65
- <input class="at_field_input at_w-full" type="text" name="tag_name" id="at-iot-name-input" data-cy="at-iot-name-input" />
66
+ <label for="">${i18n.t('TagName')}</label>
67
+ <input class="at_field_input at_w-full" type="text" name="tag_name" id="at-iot-name-input" data-cy="at-iot-name-input" />
66
68
  </div>
67
69
 
68
70
  <div class="at-field at_flex_row at_justify_between">
69
- <label for="">${i18n.t('ModelName')}</label>
70
- <input class="at_field_input at_w-full" type="text" name="model_name" id="at-iot-model-input" data-cy="at-iot-model-input" />
71
+ <label for="">${i18n.t('ModelName')}</label>
72
+ <input class="at_field_input at_w-full" type="text" name="model_name" id="at-iot-model-input" data-cy="at-iot-model-input" />
71
73
  </div>
72
74
 
73
75
  <div class="at-field at_flex_row at_justify_between">
74
- <label for="">${i18n.t('SerialNumber')}</label>
75
- <input class="at_field_input at_w-full" type="text" name="serial_name" id="at-iot-serial-input" data-cy="at-iot-serial-input" />
76
+ <label for="">${i18n.t('SerialNumber')}</label>
77
+ <input class="at_field_input at_w-full" type="text" name="serial_name" id="at-iot-serial-input" data-cy="at-iot-serial-input" />
76
78
  </div>
77
79
 
78
80
  <div class="at-field at_flex_row at_justify_between">
79
- <label for="">${i18n.t('ManufacturerSite')}</label>
80
- <input class="at_field_input at_w-full" type="text" name="manufacturer_site" id="at-iot-manufacturer-input" data-cy="at-iot-manufacturer-input" />
81
+ <label for="">${i18n.t('ManufacturerSite')}</label>
82
+ <input class="at_field_input at_w-full" type="text" name="manufacturer_site" id="at-iot-manufacturer-input" data-cy="at-iot-manufacturer-input" />
81
83
  </div>
82
84
 
83
85
  <div class="at-field at_flex_row at_justify_between" id="at-iot-system-link-container" style="display: none">
84
- <label for="">${i18n.t('SystemLink')}</label>
85
- <input class="at_field_input at_w-full" type="text" name="system_link" id="at-iot-system-link-input" data-cy="at-iot-system-link-input" />
86
+ <label for="">${i18n.t('SystemLink')}</label>
87
+ <input class="at_field_input at_w-full" type="text" name="system_link" id="at-iot-system-link-input" data-cy="at-iot-system-link-input" />
86
88
  </div>
87
89
 
88
90
  <div class="at_button at_ghost" id="at-iot-move-btn" data-cy="at-iot-move-btn" style="top: 4px !important">
89
- <label for="" style="bottom: 10px !important" class="at_comment_unsend_container">${i18n.t('MoveTag')}</label>
90
- <span class="mdi mdi-map-marker at_icon" style="bottom: 9px !important"></span>
91
+ <label for="" style="bottom: 10px !important" class="at_comment_unsend_container">${i18n.t('MoveTag')}</label>
92
+ <span class="mdi mdi-map-marker at_icon" style="bottom: 9px !important"></span>
91
93
  </div>
92
94
 
93
95
  <div class="at_field at_flex_column" id="at-iot-device-main-container">
94
- <label for="">${i18n.t('IoTDevices')}</label>
96
+ <label for="">${i18n.t('IoTDevices')}</label>
95
97
  <div id="at-iot-devices-dropdown" data-cy="at-iot-devices-dropdown" class="at-device-dropdown">
96
98
  <div id="at-iot-devices-filter-dropdown" class="at_dropdown at_flex at_flex_row at_space_between">
97
99
  <div class="at_dropdown_toggle" id="at-iot-selected-device" data-cy="at-iot-selected-device">${i18n.t(selectedIoTDeviceOption)}</div>
98
100
  <span class="mdi mdi-chevron-down at_chevron" id="at-iot-cat-filter-chevron" data-cy="at-iot-cat-filter-chevron"></span>
99
- </div>
100
101
 
101
102
  <div style="position:absolute;">
102
103
  <div class="at_dropdown_options" id="at-iot-device-options" data-cy="at-iot-device-options">
103
104
 
105
+ </div>
104
106
  </div>
107
+ </div>
105
108
  </div>
106
109
  </div>
107
110
 
108
111
  <div class="at_iot_list_container at_h-min-40" id="at-iot-device-list-container" data-cy="at-iot-device-list-container">
109
-
110
- <div class="at_section at_iot_item_container at_scrollable_container" id="at-linked-device-container" data-cy="at-linked-device-container">
111
-
112
- <div class="at_title" style="padding-left: 20px !important;">
113
- <div> </div>
114
- <label for="">${i18n.t('LinkedIoTDevices')}</label>
115
- <div> </div>
116
- </div>
117
-
118
- <div>
119
- <div class="at_body at_linked_device_container" id="at-device-item-container">
120
- </div>
112
+ <div class="at_section at_iot_item_container at_scrollable_container" id="at-linked-device-container" data-cy="at-linked-device-container">
113
+ <div class="at_title" style="padding-left: 20px !important;">
114
+ <div> </div>
115
+ <label for="">${i18n.t('LinkedIoTDevices')}</label>
116
+ <div> </div>
117
+ </div>
118
+ <div>
119
+ <div class="at_body at_linked_device_container" id="at-device-item-container">
121
120
  </div>
122
-
123
121
  </div>
124
-
122
+ </div>
125
123
  </div>
126
124
 
127
125
  </div>
@@ -234,18 +232,11 @@ export function toggleIoTDevicesOptions() {
234
232
  export function setSelectedIoTSystem(payload) {
235
233
  log.info('setSelectedIoTSystem()', payload);
236
234
  selectedIoTSystem = payload;
237
- const options = document.querySelectorAll('.at_listbox_option');
238
- options.forEach(option => {
239
- log.info("option.getAttribute('data-value') == selectedIoTSystem", option.getAttribute('data-value'), selectedIoTSystem);
240
- if (option.getAttribute('data-value') == selectedIoTSystem) {
241
- log.info("selected");
242
- option.classList.add('is-selected');
243
- }
244
- else {
245
- log.info("unselected");
246
- option.classList.remove('is-selected');
247
- }
248
- });
235
+ // Update dropdown toggle text
236
+ const selectedToggle = document.getElementById('at-iot-selected-linked-system');
237
+ if (selectedToggle) {
238
+ selectedToggle.textContent = payload ? i18n.t(payload) : i18n.t('NoSelection');
239
+ }
249
240
  }
250
241
  /**
251
242
  * Clears dropdowns for both Category and Devices
@@ -306,7 +297,7 @@ export function initIoTFormData(tagId) {
306
297
  setSelectedIoTSystem(iotData.linked_system);
307
298
  }
308
299
  else {
309
- setSelectedIoTSystem(IOT_LINKED_SYSTEMS.BEMAC);
300
+ setSelectedIoTSystem('');
310
301
  }
311
302
  if (iotData.iot_category) {
312
303
  log.info('found cat 1: ', i18n.t(iotData.iot_category), iotData.iot_category, _tagIotCategoryTypes);
@@ -339,7 +330,7 @@ export function initIoTFormData(tagId) {
339
330
  else {
340
331
  // this is due to selecting the tags created from James
341
332
  log.info('initIoTFormData()', iotData);
342
- setSelectedIoTSystem(IOT_LINKED_SYSTEMS.BEMAC);
333
+ setSelectedIoTSystem('');
343
334
  setSelectedIoTCat({ uuid: generateUUID(), name: i18n.t('NoSelection') });
344
335
  renderIotCategoryDropdownOptions('at-iot-category-options', _tagIotCategoryTypes);
345
336
  renderIotDeviceDropdownOptions('at-iot-device-options', _tagIotDevices);
@@ -564,7 +555,7 @@ function renderDeviceRow(payload) {
564
555
 
565
556
  <div class="at_name">
566
557
  <div></div>
567
- <label for="">${payload.name}</label>
558
+ <span for="">${payload.name}</span>
568
559
  <div></div>
569
560
  </div>
570
561
  <div class="at_subitem_right">
@@ -646,35 +637,58 @@ function deleteDeviceRow(deviceId) {
646
637
  }
647
638
  }
648
639
  export function initIoTLinkedSystemOptions() {
649
- dispatchSpaceEvent(SPACE_EVENTS.GET_IOT_LINKED_SYSTEM_OPTIONS, { payload: 'hello from library' });
650
- const listbox = document.querySelector('#at-iot-linked-system-listbox .at_listbox_options');
651
- iotLinkedSystemOptions = _iotLinkedSyatemOptions;
652
- log.info("_iotLinkedSyatemOptions", _iotLinkedSyatemOptions);
653
- log.info("iotLinkedSystemOptions", iotLinkedSystemOptions);
654
- listbox.innerHTML = iotLinkedSystemOptions
655
- .map((option, index) => `
656
- <li
657
- class="at_listbox_option ${index === 0 ? 'is-selected' : ''}"
658
- role="option"
659
- data-value="${option}"
660
- tabindex="0"
661
- >
662
- ${option}
663
- </li>
664
- `)
665
- .join('');
640
+ const element = document.getElementById('at-iot-linked-system-options');
641
+ if (!element) {
642
+ console.error('Linked system options container not found');
643
+ return;
644
+ }
645
+ // Clear previous options
646
+ element.innerHTML = ``;
647
+ const selectedToggle = document.getElementById('at-iot-selected-linked-system');
648
+ if (selectedToggle) {
649
+ selectedToggle.textContent = i18n.t('NoSelection');
650
+ }
651
+ /* ---------- NO SELECTION OPTION ---------- */
652
+ const noSelection = document.createElement('div');
653
+ noSelection.classList.add('at_option');
654
+ noSelection.setAttribute('dropdown-type', 'iot-linkedsystem');
655
+ noSelection.setAttribute('data-value', '');
656
+ noSelection.innerHTML = `
657
+ <span class="mdi mdi-circle-slice-1"></span>
658
+ ${i18n.t('NoSelection')}
659
+ `;
660
+ noSelection.onclick = () => {
661
+ if (selectedToggle) {
662
+ setSelectedIoTSystem('');
663
+ }
664
+ };
665
+ element.appendChild(noSelection);
666
+ /* ---------- LINKED SYSTEM OPTIONS ---------- */
667
+ if (!_iotLinkedSyatemOptions || _iotLinkedSyatemOptions.length === 0) {
668
+ console.log('No linked systems to render');
669
+ return;
670
+ }
671
+ _iotLinkedSyatemOptions.forEach((option) => {
672
+ const opt = document.createElement('div');
673
+ opt.classList.add('at_option');
674
+ opt.setAttribute('dropdown-type', 'iot-linkedsystem');
675
+ opt.setAttribute('data-value', option);
676
+ opt.textContent = i18n.t(option);
677
+ opt.onclick = () => {
678
+ if (selectedToggle) {
679
+ setSelectedIoTSystem(option);
680
+ selectedIoTSystem = option;
681
+ }
682
+ };
683
+ element.appendChild(opt);
684
+ });
666
685
  }
667
- export function selectIoTLinkedSystemOptions() {
668
- log.info("selectIoTLinkedSystemOptions");
669
- const options = document.querySelectorAll('.at_listbox_option');
670
- options.forEach(option => {
671
- option.addEventListener('click', () => {
672
- log.info("option", option);
673
- options.forEach(o => o.classList.remove('is-selected'));
674
- option.classList.add('is-selected');
675
- selectedIoTSystem = option.getAttribute('data-value');
676
- log.info("selectedLinkedSystem", selectedIoTSystem);
677
- });
686
+ export function toggleIoTLinkedSystemOptions() {
687
+ log.info('toggleIoTCategoryOptions');
688
+ const linkedSystemDropdown = document.getElementById('at-iot-linked-system-dropdown');
689
+ const linkedSystemOptions = document.getElementById('at-iot-linked-system-options');
690
+ linkedSystemDropdown.addEventListener('click', () => {
691
+ linkedSystemOptions.classList.toggle('open');
678
692
  });
679
693
  }
680
694
  /**
@@ -697,7 +711,7 @@ export function clearIotFields() {
697
711
  linkedDevicesArray = [];
698
712
  selectedIoTSystem = '';
699
713
  selectedIoTCat = undefined;
700
- setSelectedIoTSystem(IOT_LINKED_SYSTEMS.BEMAC);
714
+ setSelectedIoTSystem('');
701
715
  deviceContainer.innerHTML = '';
702
716
  iotTagFormMode = "ADD" /* FORM_MODE.ADD */;
703
717
  selectedIotTag = undefined;
@@ -37,7 +37,7 @@ import { PipeList } from "./components/toolbar/pipeListPane";
37
37
  import { PipeForm } from "./components/toolbar/pipeFormPane";
38
38
  // import { EditPipeForm, initPipeFormPane, pipeFormData, setPipeFormMode } from "./components/toolbar/pipeFormPane";
39
39
  // import { initPipeData } from "./components/toolbar/addPipePane";
40
- import { toggleIoTCategoryOptions, toggleIoTDevicesOptions, clearIoTDropdowns, initIoTFormData, setIotCategoryOptions, getIotTagFormData, iotTagFormMode, selectedIotTag, clearIotFields, getIotCategoryOption, selectIoTLinkedSystemOptions, initIoTLinkedSystemOptions } from './components/toolbar/tagIotFormPane';
40
+ import { toggleIoTCategoryOptions, toggleIoTDevicesOptions, clearIoTDropdowns, initIoTFormData, setIotCategoryOptions, getIotTagFormData, iotTagFormMode, selectedIotTag, clearIotFields, getIotCategoryOption, initIoTLinkedSystemOptions, toggleIoTLinkedSystemOptions } from './components/toolbar/tagIotFormPane';
41
41
  import { getTheseTagMessages, timedoutComment, unsendComment } from "./components/toolbar/tagMessagingPane";
42
42
  import { handleScreenShareResponsiveChanges, handleScreenShareAcceptRequest, handleScreenShareBackUserListPane, handleScreenShareEndSessionEvent, handleScreenShareUsersUpdated, renderScreenShareLeaveConfirmationModal } from "./components/toolbar/screenSharePane";
43
43
  const pipeList = new PipeList();
@@ -3445,13 +3445,13 @@ function handleCloseActiveMinimap() {
3445
3445
  }
3446
3446
  function handleIoTOptions() {
3447
3447
  const iotCateogryDropdown = document.getElementById('at-iot-cat-filter-dropdown');
3448
- const iotLinkedSystemListbox = document.getElementById('at-iot-linked-system-listbox');
3448
+ const iotLinkedSystemDropdown = document.getElementById('at-iot-linked-system-dropdown');
3449
3449
  if (iotCateogryDropdown) {
3450
3450
  toggleIoTCategoryOptions();
3451
3451
  }
3452
- if (iotLinkedSystemListbox) {
3452
+ if (iotLinkedSystemDropdown) {
3453
3453
  initIoTLinkedSystemOptions();
3454
- selectIoTLinkedSystemOptions();
3454
+ toggleIoTLinkedSystemOptions();
3455
3455
  }
3456
3456
  }
3457
3457
  function handleIoTDeviceDropdown() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "architwin",
3
- "version": "1.17.1",
3
+ "version": "1.17.2",
4
4
  "description": "ArchiTwin Library for Matterport",
5
5
  "main": "./lib/architwin.js",
6
6
  "types": "./lib/architwin.d.ts",
@@ -2980,4 +2980,11 @@ span.at_partition_name_text.toggle.selectable.selected {
2980
2980
 
2981
2981
  .at_linked_systems_options_contianer input {
2982
2982
  cursor: pointer;
2983
+ }
2984
+
2985
+ .at_name span {
2986
+ flex: 1;
2987
+ min-width: 0;
2988
+ white-space: normal !important;
2989
+ word-break: break-all !important;
2983
2990
  }