@colijnit/homedecorator 261.20.7 → 261.20.9

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/index.d.ts CHANGED
@@ -500,7 +500,9 @@ declare class HomedecoratorSettingsOptions {
500
500
  useAnimations: boolean;
501
501
  useThreedScene: boolean;
502
502
  showSlowConnectionWarning: boolean;
503
- useExternalOpenSave: boolean;
503
+ useExternalSave: boolean;
504
+ useExternalOpen: boolean;
505
+ shadowSaveToCloud: boolean;
504
506
  floorFadeStart: number;
505
507
  floorFadeEnd: number;
506
508
  }
@@ -682,6 +684,7 @@ declare class FloorPlaneItem extends Item {
682
684
  interface ExternalSave {
683
685
  screenShot: string;
684
686
  project: string;
687
+ code: string;
685
688
  }
686
689
 
687
690
  declare class HomedecoratorAppEventService {
@@ -704,8 +707,11 @@ declare class HomedecoratorAppEventService {
704
707
  glbCreated: Subject<string>;
705
708
  dirty: Subject<boolean>;
706
709
  floorCreated: BehaviorSubject<FloorPlaneItem>;
707
- externalSave: BehaviorSubject<ExternalSave>;
710
+ externalSave: Subject<ExternalSave>;
711
+ externalOpen: Subject<void>;
708
712
  searchClick: Subject<void>;
713
+ shareProject: Subject<void>;
714
+ configurationFromPresetLoaded: Subject<boolean>;
709
715
  static ɵfac: i0.ɵɵFactoryDeclaration<HomedecoratorAppEventService, never>;
710
716
  static ɵprov: i0.ɵɵInjectableDeclaration<HomedecoratorAppEventService>;
711
717
  }
@@ -2056,6 +2062,7 @@ interface Metadata {
2056
2062
  colorable?: boolean;
2057
2063
  default180?: boolean;
2058
2064
  objectUUID?: string;
2065
+ materialDiff?: any;
2059
2066
  conversionGTMSend?: boolean;
2060
2067
  conversionSubmittedPrice?: string;
2061
2068
  hdecoType?: string;
@@ -2355,6 +2362,7 @@ declare class Item extends BaseItem {
2355
2362
  beforeRemoveFromWall(): void;
2356
2363
  protected handlePositionFromRawMetadata(): void;
2357
2364
  protected handleScaleFromRawMetadata(): void;
2365
+ protected handleMaterialDiffFromRawMetadata(): void;
2358
2366
  protected handleElevationFromRawMetadata(): void;
2359
2367
  protected handleRotationFromRawMetadata(): void;
2360
2368
  private _fakeHandler;
@@ -2727,8 +2735,8 @@ declare class UtilsService implements OnDestroy {
2727
2735
 
2728
2736
  type StateValue = string;
2729
2737
  type Action = string;
2730
- type CreateStateInterface = () => StateValue;
2731
- type ApplyStateInterface = (StateValue: any) => void;
2738
+ type CreateStateInterface = () => StateValue | Promise<StateValue>;
2739
+ type ApplyStateInterface = (state: StateValue) => void | Promise<void>;
2732
2740
  interface StateApi {
2733
2741
  createState: CreateStateInterface;
2734
2742
  applyState: ApplyStateInterface;
@@ -2775,6 +2783,7 @@ declare class AppStateService implements OnDestroy {
2775
2783
  interface PluginInterface {
2776
2784
  getObjects: Function;
2777
2785
  loadObjects: Function;
2786
+ saveObjects: Function;
2778
2787
  copySceneInstance: Function;
2779
2788
  }
2780
2789
 
@@ -2842,7 +2851,8 @@ declare class PresetsService implements OnDestroy {
2842
2851
  ngOnDestroy(): void;
2843
2852
  register(plugin: PluginInterface): void;
2844
2853
  reopenState(model: string): void;
2845
- createState(): StateValue;
2854
+ createState(save?: boolean): Promise<StateValue>;
2855
+ saveToCloud(asNew?: boolean): Promise<string>;
2846
2856
  private _loadSavedRoomFromPreset;
2847
2857
  private _loadSavedRoomFromCloud;
2848
2858
  private _clear;
@@ -2906,6 +2916,7 @@ declare class HomedecoratorComponent implements OnInit, OnDestroy {
2906
2916
  set initCommunication(value: boolean);
2907
2917
  get initCommunication(): boolean;
2908
2918
  projectToLoad: string;
2919
+ shareButton: boolean;
2909
2920
  set settings(value: any);
2910
2921
  get settings(): any;
2911
2922
  showClass: boolean;
@@ -2925,14 +2936,15 @@ declare class HomedecoratorComponent implements OnInit, OnDestroy {
2925
2936
  ngOnDestroy(): void;
2926
2937
  registerCustomIcons(): void;
2927
2938
  keyup(event: KeyboardEvent): void;
2928
- handleExternalSave(): void;
2939
+ handleExternalSave(code: string): Promise<void>;
2940
+ handleExternalOpen(): Promise<void>;
2929
2941
  private _startWithRoom;
2930
2942
  private _startWithEmptyRoom;
2931
2943
  private _startWithPreset;
2932
2944
  private _setCommunication;
2933
2945
  private _initConnection;
2934
2946
  static ɵfac: i0.ɵɵFactoryDeclaration<HomedecoratorComponent, [null, null, null, null, null, null, null, null, null, { optional: true; skipSelf: true; }, { optional: true; self: true; }, null, null, null, null]>;
2935
- static ɵcmp: i0.ɵɵComponentDeclaration<HomedecoratorComponent, "co-homedecorator", never, { "generalFilterOrders": { "alias": "generalFilterOrders"; "required": false; }; "purchaseFilterOrders": { "alias": "purchaseFilterOrders"; "required": false; }; "logisticsFilterOrders": { "alias": "logisticsFilterOrders"; "required": false; }; "initCommunication": { "alias": "initCommunication"; "required": false; }; "projectToLoad": { "alias": "projectToLoad"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; }, {}, never, never, false, never>;
2947
+ static ɵcmp: i0.ɵɵComponentDeclaration<HomedecoratorComponent, "co-homedecorator", never, { "generalFilterOrders": { "alias": "generalFilterOrders"; "required": false; }; "purchaseFilterOrders": { "alias": "purchaseFilterOrders"; "required": false; }; "logisticsFilterOrders": { "alias": "logisticsFilterOrders"; "required": false; }; "initCommunication": { "alias": "initCommunication"; "required": false; }; "projectToLoad": { "alias": "projectToLoad"; "required": false; }; "shareButton": { "alias": "shareButton"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; }, {}, never, never, false, never>;
2936
2948
  }
2937
2949
 
2938
2950
  declare class ProgressBarComponent {
@@ -3931,6 +3943,41 @@ declare class BaseWall extends Mesh implements BluePrintWall {
3931
3943
  private _updateDirectionVector;
3932
3944
  private _positionWall;
3933
3945
  private _reCreateWallGeometry;
3946
+ /**
3947
+ * Build the wall solid in wall-local space as a mitred prism. The footprint comes from
3948
+ * _footprintCornersLocal() (symmetric mitre, so adjacent walls meet exactly and never overlap).
3949
+ * Six faces map onto the same material indices as the old BoxGeometry: room-facing (+Z) = front,
3950
+ * far side (-Z) = back, the two ends are the caps (index 0 = start/+X, index 1 = end/-X), plus
3951
+ * top (2) and bottom (3). A degenerate footprint falls back to a straight rectangle.
3952
+ */
3953
+ private _createWallGeometry;
3954
+ /**
3955
+ * Append one planar quad (a->b->c->d) as two triangles. Winding is chosen so the face normal
3956
+ * points along `outward`, so all faces are correctly oriented for FrontSide rendering regardless
3957
+ * of how the mitred corners fall. UVs span 0..1 (U across, V up) so wall textures tile as before.
3958
+ */
3959
+ private _pushQuad;
3960
+ private _toLocal;
3961
+ /**
3962
+ * The wall footprint (interior/exterior corners at both ends) in wall-local space, computed
3963
+ * symmetrically so adjacent walls agree on the shared corner. calculateCorners()/GetHalfAngleVector
3964
+ * offset the neighbour's line using THIS wall's interiorSign; when two neighbours are wound in
3965
+ * opposite directions (common after loading a saved project) they then compute slightly different
3966
+ * mitre points, leaving an overlap wedge that z-fights. Here the mitre is the intersection of the
3967
+ * two walls' offset lines, using roomCenter as the shared "which side is inside" reference, so both
3968
+ * neighbours produce the identical point. Free ends (no single neighbour) get a straight cap.
3969
+ */
3970
+ private _footprintCornersLocal;
3971
+ /** Interior + exterior footprint point at one wall end, mitred with the single connected neighbour. */
3972
+ private _cornerFootprint;
3973
+ /** The single other wall attached to this corner, or null for free ends and >2-wall junctions. */
3974
+ private _neighbourAtCorner;
3975
+ /** Point on the segment p1->corner shifted perpendicular by `off` (>0 toward room, <0 away). */
3976
+ private _offsetPoint;
3977
+ /** Offset the segment p1->p2 sideways by `off` (>0 toward room); returns a point + direction, or null if degenerate. */
3978
+ private _offsetLine;
3979
+ /** Intersection of the two walls' offset lines (side=1 interior, side=-1 exterior), or null if parallel. */
3980
+ private _intersectOffsetLines;
3934
3981
  private _disposePreviousGeometries;
3935
3982
  }
3936
3983
 
@@ -5164,6 +5211,7 @@ declare class Core3dComponent implements OnInit, OnDestroy, PluginInterface {
5164
5211
  getObjects(): {
5165
5212
  view: any;
5166
5213
  };
5214
+ saveObjects(): Promise<void>;
5167
5215
  copySceneInstance(saveAs: boolean): Promise<void>;
5168
5216
  loadObjects(data: any): Promise<any>;
5169
5217
  private _viewModeChanged;
@@ -5497,8 +5545,6 @@ declare abstract class BuildFurnitureBaseService implements OnDestroy {
5497
5545
  get useNodeIdToLink(): boolean;
5498
5546
  get currentCustomFloorGroup(): Item;
5499
5547
  set currentCustomFloorGroup(item: Item);
5500
- get standAlone(): boolean;
5501
- set standAlone(value: boolean);
5502
5548
  get selections(): Selection[];
5503
5549
  get scene(): Scene;
5504
5550
  defaultPosition: Vector3;
@@ -5565,7 +5611,7 @@ declare abstract class BuildFurnitureBaseService implements OnDestroy {
5565
5611
  replaceSelection(selection: Selection, metadata: Metadata): Promise<void>;
5566
5612
  selectAnswer(answer: Answer, input: string, metadata: Metadata): Promise<void>;
5567
5613
  selectSelectionAsAnswer(chosenOption: SelectorStructure, metadata: Metadata): Promise<void>;
5568
- createConfigurableItemWithObject(instanceId: string, metadata: Metadata, object: Object3D): Item;
5614
+ createConfigurableItemWithObject(metadata: Metadata, object: Object3D): Item;
5569
5615
  createFloorWithMaterial(instanceId: string, metadata: Metadata, material: Material): CustomFloorGroupResult;
5570
5616
  replaceCurrentItem(newItem: Item, metadata: Metadata, animate?: boolean): Promise<Item>;
5571
5617
  protected prepareInstanceForBuild(shouldCopyInstance: boolean, loadFromProject: boolean, looseOriginalConfiguration: boolean, result: CustomFloorGroupResult): Promise<CustomFloorGroupResult>;
@@ -7007,6 +7053,7 @@ declare class RoomPlannerComponent implements OnInit, OnDestroy, PluginInterface
7007
7053
  floorplan: BluePrintFloorplan;
7008
7054
  items: {}[];
7009
7055
  };
7056
+ saveObjects(): Promise<void>;
7010
7057
  hasCustomObjects(): boolean;
7011
7058
  onObjectLibraryClick(object: ModelInterface): void;
7012
7059
  onGroupClick(): void;
@@ -8018,6 +8065,7 @@ declare class FurnitureManagerComponent implements OnInit, OnDestroy, PluginInte
8018
8065
  loadNonIONEObjects(objects: any): Promise<void>;
8019
8066
  copySceneInstance(saveAs: boolean): Promise<void>;
8020
8067
  getObjects(): any;
8068
+ saveObjects(): Promise<void>;
8021
8069
  hasCustomFurniture(): boolean;
8022
8070
  private _showWarning;
8023
8071
  private _isNonIONEObject;
@@ -8163,6 +8211,7 @@ declare class ThreedselectorComponent implements OnInit, OnDestroy {
8163
8211
  showProgressText: boolean;
8164
8212
  showLoaderBar: boolean;
8165
8213
  showFullConfiguration: boolean;
8214
+ currentMetadata: Metadata;
8166
8215
  configuratorSettings: any;
8167
8216
  configuratorSku: string;
8168
8217
  configuratorInstanceId: string;
@@ -8181,6 +8230,7 @@ declare class ThreedselectorComponent implements OnInit, OnDestroy {
8181
8230
  private _loadedFromPreset;
8182
8231
  private _loadedFromProject;
8183
8232
  private _loadedShouldCopyInstance;
8233
+ private _userActionNeeded;
8184
8234
  constructor(screenSizeService: ScreenSizeAnalysisService, _dialog: MatDialog, _appService: HomedecoratorAppService, _iOne: HomedecoratorConnectorService, _messageBus: MessageBusService, _loadFurnitureService: SwitchLoadFurnitureService, _buildFurnitureService: SwitchBuildFurnitureService, _toastService: ToastService, _messageService: MessageBusService, _sceneService: SceneService, _dialogService: DialogService, _cameraService: CameraService, _presetsService: PresetsService, _itemService: ItemService, _settingsService: HomedecoratorSettingsService, _appEventService: HomedecoratorAppEventService, _bluePrintService: BluePrintService, _wallService: WallService, _floorService: FloorService, _iconCacheService: HomedecoratorIconCacheService, _googleTagManager: GoogleTagManagerService, _appStateService: AppStateService, _progressService: ProgressService, _resizeService: ResizeService, _connectorAdapterService: HomedecoratorConnectorAdapterService, _lightPresetService: LightPresetsService, _variationService: VariationService, _configuringService: ConfiguringService, _configuratorEventService: ConfiguratorEventService, _changeDetector: ChangeDetectorRef);
8185
8235
  ngOnInit(): void;
8186
8236
  ngOnDestroy(): void;
@@ -8204,8 +8254,11 @@ declare class ThreedselectorComponent implements OnInit, OnDestroy {
8204
8254
  showConfiguratorChange(show: boolean): void;
8205
8255
  loadFurnitureFromSku(position: Vector3, sku: string, settings?: HomedecoratorExternalSettingsInterface): Promise<CustomFloorGroupResult>;
8206
8256
  configureFurniture(object: Item | ItemGroup): Promise<void>;
8257
+ handleLoadIOneFurnitureIntoSceneByPreset(sku: string, instanceId: string, settings: Options): Promise<void>;
8258
+ configureFurnitureFromPreset(sku: string, instanceId: string, settings?: Options): Promise<CustomFloorGroupResult>;
8207
8259
  private _initConfigurator;
8208
8260
  private _prepareSettings;
8261
+ private _shouldResetConfigurator;
8209
8262
  private _resetConfigurator;
8210
8263
  private _waitForBuildToFinish;
8211
8264
  private _setSourceSettings;
@@ -8662,7 +8715,9 @@ declare class ToolbarComponent implements OnInit, OnDestroy, AfterViewInit {
8662
8715
  private _adapterService;
8663
8716
  private _connectionHealthService;
8664
8717
  private _homedecoratorEventService;
8665
- externalSave: EventEmitter<void>;
8718
+ shareButton: boolean;
8719
+ externalSave: EventEmitter<string>;
8720
+ externalOpen: EventEmitter<void>;
8666
8721
  readonly toastType: typeof ToastType;
8667
8722
  readonly messageType: typeof MessageType;
8668
8723
  readonly icons: typeof IconEnum;
@@ -8680,7 +8735,9 @@ declare class ToolbarComponent implements OnInit, OnDestroy, AfterViewInit {
8680
8735
  interval: any;
8681
8736
  tooltipDisabled: boolean;
8682
8737
  badgeDisabled: boolean;
8683
- useExternalOpenSave: boolean;
8738
+ useExternalSave: boolean;
8739
+ useExternalOpen: boolean;
8740
+ shadowSaveToCloud: boolean;
8684
8741
  enableSlowConnectionWarning: boolean;
8685
8742
  connectionStatus: string;
8686
8743
  private _subs;
@@ -8695,9 +8752,11 @@ declare class ToolbarComponent implements OnInit, OnDestroy, AfterViewInit {
8695
8752
  clickCloseLeftSidebar(): void;
8696
8753
  newRoom(): void;
8697
8754
  animateModel(element: Item): void;
8698
- handleExternalSave(): void;
8699
- openSaveDialog(): Promise<void>;
8755
+ handleSave(saveOnOpen?: boolean): void;
8756
+ handleExternalSave(): Promise<void>;
8757
+ openSaveDialog(saveOnOpen?: boolean): Promise<void>;
8700
8758
  openOpenDialog(): void;
8759
+ openShareDialog(): void;
8701
8760
  handleSearchButtonClick(): void;
8702
8761
  loadRoom(): Promise<void>;
8703
8762
  loadResizableRoom(): Promise<void>;
@@ -8711,7 +8770,6 @@ declare class ToolbarComponent implements OnInit, OnDestroy, AfterViewInit {
8711
8770
  saveNotification(): void;
8712
8771
  openDrawDiagram(file: any): void;
8713
8772
  openCroppingDiagram(file: any): void;
8714
- openModelPreview(file: any): void;
8715
8773
  showRenderError(data: ErrorDialogData): void;
8716
8774
  testRender(): void;
8717
8775
  openFaq(url: string): Window;
@@ -8725,7 +8783,7 @@ declare class ToolbarComponent implements OnInit, OnDestroy, AfterViewInit {
8725
8783
  private _registerToolbarIcon;
8726
8784
  private _closeLeftSidebar;
8727
8785
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarComponent, never>;
8728
- static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "rp-toolbar", never, {}, { "externalSave": "externalSave"; }, never, never, false, never>;
8786
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "rp-toolbar", never, { "shareButton": { "alias": "shareButton"; "required": false; }; }, { "externalSave": "externalSave"; "externalOpen": "externalOpen"; }, never, never, false, never>;
8729
8787
  }
8730
8788
 
8731
8789
  interface SavedDialogData {
@@ -9364,7 +9422,6 @@ declare class MaterialBuilderComponent implements OnInit, OnDestroy {
9364
9422
  controllerService: HomedecoratorConnectorService, appState: AppStateService, settingsService: HomedecoratorSettingsService, presetsService: PresetsService, _bluePrintService: BluePrintService, _viewModeService: ViewModeService, _homedecoratorService: HomedecoratorService, _parentEventService: HomedecoratorAppEventService, _ownEventService: HomedecoratorAppEventService, _integrationService: IntegrationService, _sceneService: SceneService, _webWorkerService: WebWorkerService);
9365
9423
  ngOnInit(): Promise<void>;
9366
9424
  ngOnDestroy(): void;
9367
- handleExternalSave(): void;
9368
9425
  private _initConnection;
9369
9426
  static ɵfac: i0.ɵɵFactoryDeclaration<MaterialBuilderComponent, [null, null, null, null, null, null, null, null, { optional: true; skipSelf: true; }, { optional: true; self: true; }, null, null, null]>;
9370
9427
  static ɵcmp: i0.ɵɵComponentDeclaration<MaterialBuilderComponent, "co-material-builder", never, { "settings": { "alias": "settings"; "required": false; }; "materialPreview": { "alias": "materialPreview"; "required": false; }; "materialPreviewUpdate": { "alias": "materialPreviewUpdate"; "required": false; }; }, {}, never, never, false, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colijnit/homedecorator",
3
- "version": "261.20.7",
3
+ "version": "261.20.9",
4
4
  "description": "Homedecorator application based on 261 version of iOne backend",
5
5
  "repository": "npm/npm",
6
6
  "author": "Colijn IT",
@@ -2,6 +2,6 @@ $hd-color-primary: #171721 !default;
2
2
  $add-to-cart-button-color: #da9803 !default;
3
3
  $hd-color-main: #da9803 !default;
4
4
  $hd-color-main-accent: #da980380 !default;
5
- $hd-color-dialog-background: #F5F5F7 !default;
5
+ $hd-color-dialog-background: #FAF8F7 !default;
6
6
 
7
7
  $hd-color-active-dark: #212437 !default;
@@ -58,9 +58,6 @@ $mat-font-family: mat.m2-define-typography-config($font-family: "Montserrat, Ari
58
58
  padding: 0 !important;
59
59
  }
60
60
 
61
- //.mat-mdc-dialog-surface {
62
- // padding: 24px;
63
- //}
64
61
  .mat-mdc-option {
65
62
  .mdc-list-item__primary-text {
66
63
  color: #000000 !important;
package/style/styles.scss CHANGED
@@ -157,13 +157,20 @@ canvas {
157
157
  .part-material {
158
158
  margin-top: 20px;
159
159
  flex-basis: 100%;
160
- overflow: auto;
160
+ overflow-x: hidden;
161
+ overflow-y: auto;
161
162
  .material-color {
162
163
  display: block;
163
164
  height: 40px;
164
165
  }
165
166
  }
166
167
  }
168
+ #material_color_dialog {
169
+ width: 800px;
170
+ .mat-mdc-dialog-surface {
171
+ padding: 24px;
172
+ }
173
+ }
167
174
 
168
175
  #upload_model_dialog {
169
176
  width: 800px;
Binary file