hart-estate-widget 1.0.1 → 1.1.3
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.
- package/README.md +144 -4
- package/build/widget.bundle.js +2 -0
- package/build/widget.bundle.js.LICENSE.txt +43 -0
- package/build/widget.module.js +2 -0
- package/build/widget.module.js.LICENSE.txt +43 -0
- package/package.json +42 -37
- package/build/Application.js +0 -107
- package/build/Widget.js +0 -44
- package/build/assets/img/3D.jpg +0 -0
- package/build/assets/img/refresh-icon.svg +0 -6
- package/build/assets/sass/components/instructions.sass +0 -50
- package/build/assets/sass/components/tabs.sass +0 -117
- package/build/assets/sass/index.sass +0 -45
- package/build/assets/sass/vars.sass +0 -15
- package/build/components/ImageTab.js +0 -20
- package/build/components/Instructions.js +0 -33
- package/build/components/RotationTab.js +0 -66
- package/build/components/TabPanes.js +0 -90
- package/build/components/TabWrapper.js +0 -38
- package/build/defaultConfig.js +0 -20
- package/build/index.js +0 -13
- package/build/lib/threesixty/events.js +0 -193
- package/build/lib/threesixty/index.js +0 -236
- package/build/store/index.js +0 -31
package/README.md
CHANGED
@@ -1,7 +1,147 @@
|
|
1
|
-
# Компонент HART Estate
|
1
|
+
# Компонент HART Estate Widget
|
2
2
|
|
3
|
-
## Список доступных команд
|
4
3
|
|
5
|
-
|
4
|
+
## Способ установки с помощью NPM:
|
6
5
|
|
7
|
-
|
6
|
+
`npm install hart-estate-widget --save`
|
7
|
+
|
8
|
+
## Пример использования:
|
9
|
+
|
10
|
+
```js
|
11
|
+
import React, { useEffect, useState } from 'react';
|
12
|
+
import { Widget, rotationModes } from 'hart-estate-widget';
|
13
|
+
// либо
|
14
|
+
import 'hart-estate-widget/build/widget.bundle.js'; // в таком случае создается глобальная переменная WidgetLibrary
|
15
|
+
|
16
|
+
const WIDGET_OPTIONS = {
|
17
|
+
tabs: ['planImage', 'rotation', 'panorama'],
|
18
|
+
logo: '/path/to/logo.png',
|
19
|
+
planImage: '/path/to/plan.jpg',
|
20
|
+
rotationMode: rotationModes.DEFAULY,
|
21
|
+
rotationData: {
|
22
|
+
type: 'top_down',
|
23
|
+
items: [
|
24
|
+
'/path/to/rotation_image_1.jpg',
|
25
|
+
...
|
26
|
+
'/path/to/rotation_image_5.jpg',
|
27
|
+
],
|
28
|
+
},
|
29
|
+
panoramaData: {
|
30
|
+
type: 'sphere',
|
31
|
+
items: [
|
32
|
+
{
|
33
|
+
camera_id: '1234',
|
34
|
+
images: ['/path/to/panorama_image.jpg'],
|
35
|
+
room_id: '1234',
|
36
|
+
},
|
37
|
+
],
|
38
|
+
},
|
39
|
+
};
|
40
|
+
|
41
|
+
const App = () => {
|
42
|
+
const [widget, setWidget] = useState(null);
|
43
|
+
|
44
|
+
useEffect(() => {
|
45
|
+
const createdWidget = new Widget('#widget-container', WIDGET_OPTIONS);
|
46
|
+
setState(createdWidget);
|
47
|
+
}, []);
|
48
|
+
|
49
|
+
return (
|
50
|
+
<div>
|
51
|
+
<div id="widget-container" />
|
52
|
+
</div>
|
53
|
+
);
|
54
|
+
}
|
55
|
+
|
56
|
+
export App;
|
57
|
+
|
58
|
+
```
|
59
|
+
|
60
|
+
|
61
|
+
## Параметры:
|
62
|
+
|
63
|
+
```js
|
64
|
+
{
|
65
|
+
// элементы
|
66
|
+
tabs: ['rotation', 'panorama'], // включенные элементы
|
67
|
+
|
68
|
+
// логотип
|
69
|
+
logo: '', // путь к логотипу
|
70
|
+
logoUrl: '', // ссылка, открывающаяся по клику на логотип
|
71
|
+
|
72
|
+
// локализация
|
73
|
+
locale: 'en', // языковой код ISO 639
|
74
|
+
|
75
|
+
// ширина/высота
|
76
|
+
width: 1920,
|
77
|
+
height: 1080,
|
78
|
+
resizable: true, // автоматически менять размер виджета под размер контейнера при изменении размеров окна
|
79
|
+
|
80
|
+
// значения
|
81
|
+
planImage: '', // путь к изображению планировки (необходимо для панорамного тура)
|
82
|
+
topViewImage: '', // путь к изображению планировки сверху
|
83
|
+
rotationMode: 'default', // режим работы изображений планировки
|
84
|
+
rotationData: {}, // тип изображений и пути к изображениям кругового просмотра (порядок обязателен)
|
85
|
+
panoramaData: {}, // тип панорамы и пути к изображениям 360°
|
86
|
+
panoramaFov: 75, // угол обзора камеры в режиме панорманого тура
|
87
|
+
|
88
|
+
// цвета
|
89
|
+
colors: {
|
90
|
+
main: '#HEX', // основной цвет кнопок, элементов
|
91
|
+
mainText: '#HEX', // цвет текста для кнопок, элементов, контрастирующий с основным
|
92
|
+
},
|
93
|
+
}
|
94
|
+
|
95
|
+
```
|
96
|
+
|
97
|
+
## Типы элементов
|
98
|
+
```js
|
99
|
+
tabs: [
|
100
|
+
'rotation', // изображения кругового просмотра (порядок обязателен)
|
101
|
+
'panorama', // изображения 360°
|
102
|
+
],
|
103
|
+
rotationMode: [
|
104
|
+
rotationModes.DEFAULT, // режим просмотра вида сверху (несколько ракурсов) и стилизованной планировки
|
105
|
+
rotationModes.THREESIXTY, // режим прокрутки изображений кругового просмотра
|
106
|
+
],
|
107
|
+
rotationData.type: [
|
108
|
+
'top_down', // полная модель
|
109
|
+
'middle_cut', // модеь со срезом посередине
|
110
|
+
],
|
111
|
+
panoramaData.type: [
|
112
|
+
'sphere', // панорама с изображениями 360°
|
113
|
+
'cube', // панорама с 6 изображениями (top, down, left, right, front, back)
|
114
|
+
],
|
115
|
+
locale: [
|
116
|
+
'ru', // русский язык
|
117
|
+
'en', // английский язык
|
118
|
+
],
|
119
|
+
```
|
120
|
+
|
121
|
+
|
122
|
+
## Публикация с помощью Nexus Registry NPM
|
123
|
+
```js
|
124
|
+
// in @hart-estate/widget package.json:
|
125
|
+
"publishConfig": {
|
126
|
+
"registry": "https://nexus.myhart.ru/repository/npm/"
|
127
|
+
},
|
128
|
+
```
|
129
|
+
`npm adduser --auth-type=legacy --registry=https://nexus.myhart.ru/repository/npm/`
|
130
|
+
`npm install`
|
131
|
+
`npm run build`
|
132
|
+
`npm publish`
|
133
|
+
|
134
|
+
|
135
|
+
## Способ установки с помощью Nexus Registry NPM:
|
136
|
+
|
137
|
+
`npm adduser --auth-type=legacy --registry=https://nexus.myhart.ru/repository/npm/`
|
138
|
+
|
139
|
+
```js
|
140
|
+
// when reinstalling (updating), delete node_modules and package-lock.json
|
141
|
+
// add .npmrc in root:
|
142
|
+
@hart-estate/widget:registry=https://nexus.myhart.ru/repository/npm/
|
143
|
+
registry=https://registry.npmjs.org/
|
144
|
+
```
|
145
|
+
|
146
|
+
`npm config set @hart-estate:registry https://nexus.myhart.ru/repository/npm/`
|
147
|
+
`npm install`
|