@roomle/embedding-lib 4.38.0 → 4.41.0
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/docs/__sidebar__.json +14 -0
- package/docs/api/classes/exposed_analytics_callbacks.ExposedAnalyticsCallbacks.md +1 -1
- package/docs/api/classes/exposed_api.ExposedApi.md +11 -11
- package/docs/api/classes/exposed_callbacks.ExposedCallbacks.md +8 -8
- package/docs/api/classes/roomle_configurator_api.default.md +9 -9
- package/docs/api/enums/types.UI_BUTTON.md +33 -22
- package/docs/api/interfaces/exposed_callbacks.Labels.md +2 -2
- package/docs/api/interfaces/exposed_callbacks.Price.md +2 -2
- package/docs/api/interfaces/roomle_configurator_api.RoomleEmbeddingApiKeys.md +4 -4
- package/docs/api/interfaces/types.ConfiguratorSettings.md +5 -5
- package/docs/api/interfaces/types.EmbeddingSkin.md +5 -5
- package/docs/api/interfaces/types.UiInitData.md +31 -16
- package/docs/api/modules/roomle_configurator_api.md +3 -3
- package/docs/examples/11_light_settings.html +89 -62
- package/docs/examples/roomle-configurator-api.es.min.js +254 -58
- package/docs/hsp.md +61 -0
- package/docs/integration.md +1101 -0
- package/docs/md/web/ui/EMBEDDING-CHANGELOG.md +10 -37
- package/docs/migration-guides/v2-to-v3.md +2 -2
- package/docs/moc/index.md +86 -0
- package/docs/simple.md +1 -1
- package/package.json +2 -2
- package/types/index.d.ts +18 -6
- package/types/src/common/store/collection-view-state.d.ts +8 -3
- package/types/src/common/store/common-ui-state.d.ts +1 -1
- package/types/src/configurator/embedding/exposed-api.d.ts +0 -1
- package/types/src/configurator/embedding/types.d.ts +8 -1
- package/types/src/configurator/store/ui-state.d.ts +1 -0
- package/types/tests/helpers/dom.d.ts +1 -1
- package/types/tests/helpers/mocks/sdk-connector.d.ts +1 -0
- package/types/tests/integration/planner/components/utils/sidebar-nav/SidebarNav.spec.d.ts +1 -0
- package/types/tests/unit/configurator/components/utils/WordWrap.spec.d.ts +1 -0
- package/docs/index.md +0 -847
|
@@ -1,45 +1,18 @@
|
|
|
1
|
-
## [4.
|
|
1
|
+
## [4.41.0](https://gitlab.com/roomle/web/roomle-ui/compare/embedding-v4.40.0...embedding-v4.41.0) (2022-08-16)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
* add
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* **SDK:** upgrade
|
|
12
|
-
* **SDK:** upgrade SDK to version 2.35.0-alpha.4 ([6adf875](https://gitlab.com/roomle/web/roomle-ui/commit/6adf8756031b2dbec9e02f88c0a0703ba5f73279))
|
|
13
|
-
* **SDK:** upgrade SDK to version 2.35.0-alpha.6 ([b2a6fb9](https://gitlab.com/roomle/web/roomle-ui/commit/b2a6fb9ddbb63866bc086f7661fe3d4af717409e))
|
|
14
|
-
* **SDK:** upgrade SDK to version 2.35.0-alpha.9 ([d635fd8](https://gitlab.com/roomle/web/roomle-ui/commit/d635fd86161c24bbe5bb8d24787ad10f43493e3c))
|
|
15
|
-
* **SDK:** upgrade to version 2.34.0 ([040fff7](https://gitlab.com/roomle/web/roomle-ui/commit/040fff75928768578a6ce5e7d5fcdef71d103a42))
|
|
16
|
-
* **SDK:** upgrade to version 2.35.0-alpha.1 ([c13174a](https://gitlab.com/roomle/web/roomle-ui/commit/c13174afd3c6df810aa2fda8f9c79df5fa14d40b))
|
|
17
|
-
* **SDK:** upgrade to version 2.35.0-alpha.2 ([bb7cd51](https://gitlab.com/roomle/web/roomle-ui/commit/bb7cd5198956026c646d2fbafbd96f9c33e3b6e1))
|
|
18
|
-
* **SDK:** upgrade to version 2.35.0-alpha.2 ([ee0cfe3](https://gitlab.com/roomle/web/roomle-ui/commit/ee0cfe3630858e8a2eeeff0a9d29afd2646d1e41))
|
|
19
|
-
* **SDK:** upgrade to version 2.35.0-alpha.3 ([ca28a34](https://gitlab.com/roomle/web/roomle-ui/commit/ca28a34fcc1614ef007d2d53328f0210c94345e6))
|
|
20
|
-
* **SDK:** upgrade to version 2.35.0-alpha.3 ([1a293b0](https://gitlab.com/roomle/web/roomle-ui/commit/1a293b03b9e6c0d624ab2fc35bdba49bc682263f))
|
|
21
|
-
* **SDK:** upgrade to version 2.35.0-alpha.5 ([c90d419](https://gitlab.com/roomle/web/roomle-ui/commit/c90d41949df8af6e959ff52ffed8d0a3dda161a6))
|
|
6
|
+
* add new sidebar nav for rooms drawer ([a379743](https://gitlab.com/roomle/web/roomle-ui/commit/a379743b01e1235228c77cbd75f3096020ac1bed))
|
|
7
|
+
* enable vertical AR on Android devices ([e2f3af5](https://gitlab.com/roomle/web/roomle-ui/commit/e2f3af5fbe68247b86ecf5719cb4a963abdd18e2))
|
|
8
|
+
* integrate sonarqube in the Rubens configurator project ([24a8f33](https://gitlab.com/roomle/web/roomle-ui/commit/24a8f33c48e0f7c44b3fe61df758b7079c5087c9))
|
|
9
|
+
* restructure bottom buttons and add 2d and 3d view to top bar ([7898c0b](https://gitlab.com/roomle/web/roomle-ui/commit/7898c0bb409eb1fe34f2feb5cd77e1da28030e99))
|
|
10
|
+
* style room drawer "room shape" register ([b1dba20](https://gitlab.com/roomle/web/roomle-ui/commit/b1dba20b3507ed0434fc260dc5c8eb7c3097f0e8))
|
|
11
|
+
* **SDK:** upgrade to version 2.37.0-alpha.1 ([d73ad76](https://gitlab.com/roomle/web/roomle-ui/commit/d73ad769380c3ca94f8e56e6d05a292b7b782d2b))
|
|
22
12
|
|
|
23
13
|
|
|
24
14
|
### Bug Fixes
|
|
25
15
|
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* eslint errors ([5c8ab2a](https://gitlab.com/roomle/web/roomle-ui/commit/5c8ab2affb37a1ab060a3a39a8319f4e4e0d55e7))
|
|
30
|
-
* failing pipeline test ([eba9910](https://gitlab.com/roomle/web/roomle-ui/commit/eba9910a2bb9fdcab569d9b2e8cd4c992fcbb55b))
|
|
31
|
-
* incorrect isConfiguratorOnly function and failing tests ([33e44a0](https://gitlab.com/roomle/web/roomle-ui/commit/33e44a0c0300e12c96d1d2acef3e532d74f8ceb6))
|
|
32
|
-
* incorrect loco translation ([ad0c303](https://gitlab.com/roomle/web/roomle-ui/commit/ad0c303331364014c87ad4426564214727a35e7f))
|
|
33
|
-
* Label "object Object" is shown on print for partlist ([c8ee282](https://gitlab.com/roomle/web/roomle-ui/commit/c8ee282ac4aab76ebfe1adda5858e89d6abdba96))
|
|
34
|
-
* only call drag end once on mobile ([1764ef6](https://gitlab.com/roomle/web/roomle-ui/commit/1764ef65f716b50d224c105566332e151712bbf8))
|
|
35
|
-
* package-lock ([252a7b7](https://gitlab.com/roomle/web/roomle-ui/commit/252a7b7c245d594f1455dc2561e0da338f82f58f))
|
|
36
|
-
* package-lock ([a5c99bd](https://gitlab.com/roomle/web/roomle-ui/commit/a5c99bd241833f5fc045128e028eb570c6ba5d44))
|
|
37
|
-
* package-lock ([771c03b](https://gitlab.com/roomle/web/roomle-ui/commit/771c03bf69694be0fa982ff5a037c9f9b61c4706))
|
|
38
|
-
* package-lock ([70a4c05](https://gitlab.com/roomle/web/roomle-ui/commit/70a4c05aa5850ad0a73f1eff9ebd7e72d2223595))
|
|
39
|
-
* remove NSDB symbol ([bc8136b](https://gitlab.com/roomle/web/roomle-ui/commit/bc8136b0601fdd2a38b014b5337ac8ad7295d9a9))
|
|
40
|
-
* remove ts error ([bfd5b02](https://gitlab.com/roomle/web/roomle-ui/commit/bfd5b02d7cadd81079ca3b21c62b7bce712dcd49))
|
|
41
|
-
* should not close sidebar if change selection ([027fd9f](https://gitlab.com/roomle/web/roomle-ui/commit/027fd9fa9a6b1e10b8196153649d82e536ea9daf))
|
|
42
|
-
* sidebar should also close if i deselect a item ([d07a00e](https://gitlab.com/roomle/web/roomle-ui/commit/d07a00e971ccf95a3fbf6bcd8053fff8a571a366))
|
|
43
|
-
* sidebar should be opened again after dragged in a object ([ba06ddc](https://gitlab.com/roomle/web/roomle-ui/commit/ba06ddc10bdfef45bd525168fa1a5459ade3795f))
|
|
44
|
-
* touch drag should be only triggered if there is not too much x movement ([5a1261e](https://gitlab.com/roomle/web/roomle-ui/commit/5a1261e2680e4c36137005baee8fa699f9d0584e))
|
|
45
|
-
* type check on interface RoomlePlanner ([a749571](https://gitlab.com/roomle/web/roomle-ui/commit/a749571339b04599659f9950526d1db323f39a2c))
|
|
16
|
+
* add new word wrap algo for splitting words correctly each line ([a5300e1](https://gitlab.com/roomle/web/roomle-ui/commit/a5300e1dee586a92842a06eb26532004ed137aa3))
|
|
17
|
+
* Prices in configurator not updating when page is translated ([46e2415](https://gitlab.com/roomle/web/roomle-ui/commit/46e24150f775ba7613462d435eea963bd492f5e1))
|
|
18
|
+
* shift has to be used also if word is added to line ([c6a2c8b](https://gitlab.com/roomle/web/roomle-ui/commit/c6a2c8bb42bc52a5a7cc81b43478dd3b765f8795))
|
|
@@ -17,7 +17,7 @@ This has some implications:
|
|
|
17
17
|
|
|
18
18
|
* to create this overlay, the Roomle Configurator has to be in control of all the DOM elements which are needed to expand over the whole page. Therefore things like the footer are now within the iframe and not custom made by the website or webshop. This makes embedding the Roomle Configurator easier because you do not have to wire up all the events and callbacks to create user interface elements like the footer. On the other hand, this also means that old parts of the embedding need to be removed from your website or webshop and re-thought.
|
|
19
19
|
* also it is important to note that there shouldn't be elements with a higher z-index as the Roomle Configurator because the correct z-indices are needed for the full-page mode.
|
|
20
|
-
* there is a back button which closes the full-page mode. If you need to listen to the event when the user clicks the back button this is possible and described in the section [react on button clicks](../
|
|
20
|
+
* there is a back button which closes the full-page mode. If you need to listen to the event when the user clicks the back button this is possible and described in the section [react on button clicks](../integration.md#react-on-button-clicks) in the docu.
|
|
21
21
|
|
|
22
22
|
With the new version, it is essential that you use the correct `configurator id`. You should get the configurator id from your Roomle contact person. This is important because of two reasons:
|
|
23
23
|
|
|
@@ -132,4 +132,4 @@ To make the embedding easier we slimmed down the API surface of the configurator
|
|
|
132
132
|
|
|
133
133
|
We especially simplified the skinning options because we think that the current user interface is very "neutral" and should fit with slight adjustments to most of the websites and webshops out there. If there is a strong demand for huge user interface adjustments and changes we can offer the Roomle Web SDK or forking of the UI repo. If this is really needed please speak with your Roomle contact person.
|
|
134
134
|
|
|
135
|
-
Because the user interface changed completely it's also a good time to rethink how the Roomle Configurator is embedded into your website or webshop. Therefore we recommend to read through the new docu and explore the new possibilities which the new configurator gives you. You can find the [new docu here](../
|
|
135
|
+
Because the user interface changed completely it's also a good time to rethink how the Roomle Configurator is embedded into your website or webshop. Therefore we recommend to read through the new docu and explore the new possibilities which the new configurator gives you. You can find the [new docu here](../integration.md)
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
hide_title: true
|
|
3
|
+
title: "Multi-object Configurator"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Multi-object Configurator
|
|
7
|
+
|
|
8
|
+
The Multi-object Configurator allows you to configure not only one object but several objects in relation to each other.
|
|
9
|
+
|
|
10
|
+
## Enable multi-object configuration
|
|
11
|
+
|
|
12
|
+
To enable MoC:
|
|
13
|
+
|
|
14
|
+
- To enable multi-object configuration, you need to add and set the `moc` flag in the `Rubens settings` to true
|
|
15
|
+
([see Rubens Admin documentation](https://docs.roomle.com/web/datamanagement/administration.html#rubens-settings)).
|
|
16
|
+
When this flag is set, all configurators in the tenant are automatically multi-object configurators.
|
|
17
|
+
|
|
18
|
+
## Setup the catalog structure
|
|
19
|
+
|
|
20
|
+
To offer a set of products in the MoC they must be stored in a catalog and tagged accordingly.
|
|
21
|
+
To display the products and divide them into categories, the tags must be structured correctly.
|
|
22
|
+
|
|
23
|
+
Each tag can be used as root tag for the MoC.
|
|
24
|
+
A sub-tag must be created for each category and each product that corresponds to this category must be tagged with it.
|
|
25
|
+
The tag structure could then look like this:
|
|
26
|
+
|
|
27
|
+
1 moc_catalog (root-tag)
|
|
28
|
+
2 |
|
|
29
|
+
3 ├── Fences (sub-tag 1)
|
|
30
|
+
4 |
|
|
31
|
+
5 ├── Couch Tables (sub-tag 2)
|
|
32
|
+
6 |
|
|
33
|
+
7 ├── Outdoor Tables (sub-tag 3)
|
|
34
|
+
8 |
|
|
35
|
+
9 └── Sofas (sub-tag 4)
|
|
36
|
+
|
|
37
|
+
Also see Tags documentation: <https://docs.roomle.com/web/datamanagement/catalogs.html#tags>
|
|
38
|
+
|
|
39
|
+
By tagging the products in the catalog, you can add them to the scene by clicking the "Add Product" button.
|
|
40
|
+
|
|
41
|
+
## Integration
|
|
42
|
+
|
|
43
|
+
To embed or integrate the MoC, the following parameters must be included in the URL
|
|
44
|
+
|
|
45
|
+
- configuratorId: The configurator ID of the tenant where you enabled the MoC
|
|
46
|
+
- catalogRootTag: The tag of the catalog where you stored the products you want to show in the MoC, Alternatively you
|
|
47
|
+
could also set the root-tag ID as catalogRootTag in your Rubens settings.
|
|
48
|
+
- moc: Enable the MoC feature in the Rubens settings or via integration.
|
|
49
|
+
|
|
50
|
+
Also see integration documentation: <https://docs.roomle.com/web/embedding/#embedding-integration>
|
|
51
|
+
|
|
52
|
+
### Embedding:
|
|
53
|
+
|
|
54
|
+
If you are using the embedding lib you have to call `createPlanner` instead of `create` or `createConfigurator` to load
|
|
55
|
+
a MoC scene.
|
|
56
|
+
|
|
57
|
+
## Recipes
|
|
58
|
+
|
|
59
|
+
### Adding items to the scene
|
|
60
|
+
|
|
61
|
+
It’s possible to add additional products/items/configurations to the scene using the `insertObject` API:
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
await interface.ui.insertObject('usm:frame');
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
By default the object is placed somewhere where it does not overlap with other items in the scene. You can also supply a
|
|
68
|
+
position and a rotation for the object in the scene:
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
await interface.ui.insertObject('usm:frame', {x: -3, y: 0, z: 3}, Math.PI);
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Position (2nd parameter) is in meters and the rotation (3rd parameter) is in radians.
|
|
75
|
+
|
|
76
|
+
### Gets called when something is changed in the plan
|
|
77
|
+
|
|
78
|
+
It is possible to implement a behavior which gets called when there is something changed in the plan. It gets all
|
|
79
|
+
objects of the plan as parameter.
|
|
80
|
+
|
|
81
|
+
```typescript
|
|
82
|
+
interface
|
|
83
|
+
|
|
84
|
+
.
|
|
85
|
+
ui.callbacks.onPlanUpdate = (objects) => doSomething;
|
|
86
|
+
```
|
package/docs/simple.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Embedding
|
|
2
2
|
|
|
3
|
-
To embed Roomle Rubens as an iframe in your website or webshop it is enough to create a link and use this link as a `src` in an iframe. It is important to note that we recommend this typ of integration for static items or very simple use cases. This is due to the fact that this simplistic iframe integration does not communicate anything to your website or webshop. This could become problematic when you want to hand over customized products to the shopping cart. If you need deeper integration you can use our [embedding integration](./
|
|
3
|
+
To embed Roomle Rubens as an iframe in your website or webshop it is enough to create a link and use this link as a `src` in an iframe. It is important to note that we recommend this typ of integration for static items or very simple use cases. This is due to the fact that this simplistic iframe integration does not communicate anything to your website or webshop. This could become problematic when you want to hand over customized products to the shopping cart. If you need deeper integration you can use our [embedding integration](./integration) or even [the Web Sdk](../guides/sdk/preface) (in case you want to heavily modify our user interface).
|
|
4
4
|
|
|
5
5
|
## Questions
|
|
6
6
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@roomle/embedding-lib",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.41.0",
|
|
4
4
|
"main": "roomle-configurator-api.es.min.js",
|
|
5
5
|
"types": "types/index.d.ts",
|
|
6
6
|
"author": "Roomle Development",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@roomle/web-sdk": "2.
|
|
8
|
+
"@roomle/web-sdk": "2.37.0-alpha.1"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"@semantic-release/changelog": "^5.0.1",
|
package/types/index.d.ts
CHANGED
|
@@ -72,7 +72,8 @@ declare module "configurator/embedding/types" {
|
|
|
72
72
|
PARTLIST_PLANNER = "partlist_planner",
|
|
73
73
|
PRODUCTLIST = "productlist",
|
|
74
74
|
TWO_D_VIEW = "2dview",
|
|
75
|
-
ADD_ROOM = "add_room"
|
|
75
|
+
ADD_ROOM = "add_room",
|
|
76
|
+
STARTPLANNER = "startPlanner"
|
|
76
77
|
}
|
|
77
78
|
interface FeatureFlags {
|
|
78
79
|
realPartList?: boolean;
|
|
@@ -102,6 +103,7 @@ declare module "configurator/embedding/types" {
|
|
|
102
103
|
[UI_BUTTON.TWO_D_VIEW]?: boolean;
|
|
103
104
|
[UI_BUTTON.PARTLIST_PLANNER]?: boolean;
|
|
104
105
|
[UI_BUTTON.ADD_ROOM]?: boolean;
|
|
106
|
+
[UI_BUTTON.STARTPLANNER]?: boolean;
|
|
105
107
|
};
|
|
106
108
|
skin?: EmbeddingSkin;
|
|
107
109
|
zIndex?: number;
|
|
@@ -179,6 +181,11 @@ declare module "configurator/embedding/types" {
|
|
|
179
181
|
* default: true
|
|
180
182
|
*/
|
|
181
183
|
applyCurrentGlobalParameters?: boolean;
|
|
184
|
+
/**
|
|
185
|
+
* set this flag to true if you want that a user can select more than one material category at once
|
|
186
|
+
* default: false
|
|
187
|
+
*/
|
|
188
|
+
materialMultiSelect?: boolean;
|
|
182
189
|
}
|
|
183
190
|
export interface EmbeddingSkin {
|
|
184
191
|
'primary-color'?: string;
|
|
@@ -441,7 +448,7 @@ declare module "common/store/common-ui-state" {
|
|
|
441
448
|
import { RapiId } from '@roomle/web-sdk/lib/definitions/typings/rapi-types';
|
|
442
449
|
export interface CommonUiState {
|
|
443
450
|
isInIframe: boolean;
|
|
444
|
-
isViewOnly: boolean
|
|
451
|
+
isViewOnly: Nullable<boolean>;
|
|
445
452
|
lastRequestedId: Nullable<RapiId>;
|
|
446
453
|
}
|
|
447
454
|
export const initialState: CommonUiState;
|
|
@@ -534,11 +541,13 @@ declare module "common/store/collection-view-state" {
|
|
|
534
541
|
import { Nullable } from "common/utils/types";
|
|
535
542
|
import { CollectionViewElement } from "common/components/collection-view/-utils/types";
|
|
536
543
|
import { StoreState } from "common/store/index";
|
|
544
|
+
export type ViewTypeState = 'listView' | 'gridViewSmall' | 'gridViewBig';
|
|
537
545
|
export interface GridViewUiState {
|
|
538
546
|
filter: string[];
|
|
539
|
-
showAllAsList: boolean;
|
|
540
547
|
search: Nullable<string>;
|
|
541
548
|
userInitiatedSearch: boolean;
|
|
549
|
+
viewType: ViewTypeState;
|
|
550
|
+
hasGroupLabel: boolean;
|
|
542
551
|
}
|
|
543
552
|
export interface CollectionViewUiState {
|
|
544
553
|
selected: Nullable<CollectionViewElement>;
|
|
@@ -546,6 +555,7 @@ declare module "common/store/collection-view-state" {
|
|
|
546
555
|
gridView: GridViewUiState;
|
|
547
556
|
}
|
|
548
557
|
export const getInitialCollectionViewState: () => CollectionViewUiState;
|
|
558
|
+
export const getInitialViewType: () => ViewTypeState;
|
|
549
559
|
export enum COLLECTION_VIEW_STATE_MUTATIONS {
|
|
550
560
|
ELEMENT_EXPANDED = "CV_ELEMENT_EXPANDED",
|
|
551
561
|
SET_SELECTED_ELEMENT = "CV_SET_SELECTED_ELEMENT",
|
|
@@ -553,9 +563,11 @@ declare module "common/store/collection-view-state" {
|
|
|
553
563
|
}
|
|
554
564
|
export enum GRID_VIEW_STATE_MUTATIONS {
|
|
555
565
|
SET_SEARCH = "GV_SET_SEARCH",
|
|
556
|
-
TOGGLE_LIST_DISPLAY_TYPE = "GV_TOGGLE_LIST_DISPLAY_TYPE",
|
|
557
566
|
TOGGLE_FILTER = "GV_TOGGLE_FILTER",
|
|
558
|
-
SET_USER_INITIATED_SEARCH = "GV_SET_USER_INITIATED_SEARCH"
|
|
567
|
+
SET_USER_INITIATED_SEARCH = "GV_SET_USER_INITIATED_SEARCH",
|
|
568
|
+
SET_VIEW_TYPE = "SET_VIEW_TYPE",
|
|
569
|
+
SET_HAS_GROUP_LABEL = "SET_HAS_GROUP_LABEL",
|
|
570
|
+
RESET_FILTER = "RESET_FILTER"
|
|
559
571
|
}
|
|
560
572
|
interface MuationPayload<T, V> {
|
|
561
573
|
state: T;
|
|
@@ -637,6 +649,7 @@ declare module "configurator/store/ui-state" {
|
|
|
637
649
|
redoEnabled: boolean;
|
|
638
650
|
undoEnabledPlanner: boolean;
|
|
639
651
|
redoEnabledPlanner: boolean;
|
|
652
|
+
materialMultiSelect: boolean;
|
|
640
653
|
}
|
|
641
654
|
export enum UI_STATE_MUTATIONS {
|
|
642
655
|
SET_SELECTED_GROUP = "setSelectedGroup",
|
|
@@ -1326,7 +1339,6 @@ declare module "configurator/embedding/exposed-api" {
|
|
|
1326
1339
|
private _websiteReady;
|
|
1327
1340
|
private _handleMessage;
|
|
1328
1341
|
private _forwardSdkCallbacks;
|
|
1329
|
-
private _instanceOfRoomlePlanner;
|
|
1330
1342
|
}
|
|
1331
1343
|
}
|
|
1332
1344
|
declare module "common/utils/merge" {
|
|
@@ -2,11 +2,13 @@ import { Module } from 'vuex';
|
|
|
2
2
|
import { Nullable } from '@/common/utils/types';
|
|
3
3
|
import { CollectionViewElement } from '@/common/components/collection-view/-utils/types';
|
|
4
4
|
import { StoreState } from '@/common/store';
|
|
5
|
+
export declare type ViewTypeState = 'listView' | 'gridViewSmall' | 'gridViewBig';
|
|
5
6
|
export interface GridViewUiState {
|
|
6
7
|
filter: string[];
|
|
7
|
-
showAllAsList: boolean;
|
|
8
8
|
search: Nullable<string>;
|
|
9
9
|
userInitiatedSearch: boolean;
|
|
10
|
+
viewType: ViewTypeState;
|
|
11
|
+
hasGroupLabel: boolean;
|
|
10
12
|
}
|
|
11
13
|
export interface CollectionViewUiState {
|
|
12
14
|
selected: Nullable<CollectionViewElement>;
|
|
@@ -14,6 +16,7 @@ export interface CollectionViewUiState {
|
|
|
14
16
|
gridView: GridViewUiState;
|
|
15
17
|
}
|
|
16
18
|
export declare const getInitialCollectionViewState: () => CollectionViewUiState;
|
|
19
|
+
export declare const getInitialViewType: () => ViewTypeState;
|
|
17
20
|
export declare enum COLLECTION_VIEW_STATE_MUTATIONS {
|
|
18
21
|
ELEMENT_EXPANDED = "CV_ELEMENT_EXPANDED",
|
|
19
22
|
SET_SELECTED_ELEMENT = "CV_SET_SELECTED_ELEMENT",
|
|
@@ -21,9 +24,11 @@ export declare enum COLLECTION_VIEW_STATE_MUTATIONS {
|
|
|
21
24
|
}
|
|
22
25
|
export declare enum GRID_VIEW_STATE_MUTATIONS {
|
|
23
26
|
SET_SEARCH = "GV_SET_SEARCH",
|
|
24
|
-
TOGGLE_LIST_DISPLAY_TYPE = "GV_TOGGLE_LIST_DISPLAY_TYPE",
|
|
25
27
|
TOGGLE_FILTER = "GV_TOGGLE_FILTER",
|
|
26
|
-
SET_USER_INITIATED_SEARCH = "GV_SET_USER_INITIATED_SEARCH"
|
|
28
|
+
SET_USER_INITIATED_SEARCH = "GV_SET_USER_INITIATED_SEARCH",
|
|
29
|
+
SET_VIEW_TYPE = "SET_VIEW_TYPE",
|
|
30
|
+
SET_HAS_GROUP_LABEL = "SET_HAS_GROUP_LABEL",
|
|
31
|
+
RESET_FILTER = "RESET_FILTER"
|
|
27
32
|
}
|
|
28
33
|
interface MuationPayload<T, V> {
|
|
29
34
|
state: T;
|
|
@@ -4,7 +4,7 @@ import { Nullable } from '@/common/utils/types';
|
|
|
4
4
|
import { RapiId } from '@roomle/web-sdk/lib/definitions/typings/rapi-types';
|
|
5
5
|
export interface CommonUiState {
|
|
6
6
|
isInIframe: boolean;
|
|
7
|
-
isViewOnly: boolean
|
|
7
|
+
isViewOnly: Nullable<boolean>;
|
|
8
8
|
lastRequestedId: Nullable<RapiId>;
|
|
9
9
|
}
|
|
10
10
|
export declare const initialState: CommonUiState;
|
|
@@ -22,7 +22,8 @@ export declare enum UI_BUTTON {
|
|
|
22
22
|
PARTLIST_PLANNER = "partlist_planner",
|
|
23
23
|
PRODUCTLIST = "productlist",
|
|
24
24
|
TWO_D_VIEW = "2dview",
|
|
25
|
-
ADD_ROOM = "add_room"
|
|
25
|
+
ADD_ROOM = "add_room",
|
|
26
|
+
STARTPLANNER = "startPlanner"
|
|
26
27
|
}
|
|
27
28
|
interface FeatureFlags {
|
|
28
29
|
realPartList?: boolean;
|
|
@@ -52,6 +53,7 @@ export interface UiInitData extends InitDataDefinition, GlobalInitDataDefinition
|
|
|
52
53
|
[UI_BUTTON.TWO_D_VIEW]?: boolean;
|
|
53
54
|
[UI_BUTTON.PARTLIST_PLANNER]?: boolean;
|
|
54
55
|
[UI_BUTTON.ADD_ROOM]?: boolean;
|
|
56
|
+
[UI_BUTTON.STARTPLANNER]?: boolean;
|
|
55
57
|
};
|
|
56
58
|
skin?: EmbeddingSkin;
|
|
57
59
|
zIndex?: number;
|
|
@@ -129,6 +131,11 @@ export interface UiInitData extends InitDataDefinition, GlobalInitDataDefinition
|
|
|
129
131
|
* default: true
|
|
130
132
|
*/
|
|
131
133
|
applyCurrentGlobalParameters?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* set this flag to true if you want that a user can select more than one material category at once
|
|
136
|
+
* default: false
|
|
137
|
+
*/
|
|
138
|
+
materialMultiSelect?: boolean;
|
|
132
139
|
}
|
|
133
140
|
export interface EmbeddingSkin {
|
|
134
141
|
'primary-color'?: string;
|
|
@@ -51,6 +51,7 @@ export interface UiState extends SharedUiState {
|
|
|
51
51
|
redoEnabled: boolean;
|
|
52
52
|
undoEnabledPlanner: boolean;
|
|
53
53
|
redoEnabledPlanner: boolean;
|
|
54
|
+
materialMultiSelect: boolean;
|
|
54
55
|
}
|
|
55
56
|
export declare enum UI_STATE_MUTATIONS {
|
|
56
57
|
SET_SELECTED_GROUP = "setSelectedGroup",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SAFARI_HACK
|
|
1
|
+
export declare const SAFARI_HACK: RegExp;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|