API Docs for: 1.0.0
Show:

Site3dConfigurator Class

Класс конфигуратора

Основная логика инициализации:

  • Добавляем настройки и инициализируем их значениями по-умолчанию, а затем значениями из файла конфигуратора
  • Создаем элементы (модели)
  • Применяем все автозапускаемые настройки конфигуратора и его элементов (по-умолчанию все настройки автозапускаемые)

Основные понятия:

  • Настройки - параметры конфигуратора или его элементов, которые можно сохранить
  • Действия - инструменты управления состоянием конфигуратора или его элементов
  • Панели - области интерфейса, которые могут содержать в себе настройки, действия или произвольное содержимое
  • Панели управления - панели, которые содержат в себе настройки и действия
  • Окна - панели с произвольным содержимым

Как устроены панели:

  • Корневой HTML-элемент панели имеет свой идентификатор и к нему автоматически добавляется класс site3dConfiguratorPanel
  • По-умолчанию доступны панель управления конфигуратором (site3dConfiguratorPanelControlsMain) и его элементами (site3dConfiguratorPanelControlsItem)
  • Соедержимое панели помещается в HTML-элемент с классом site3dConfiguratorPanelContent
  • Внутри корневого HTML-элемента может быть HTML-элемент с классом site3dConfiguratorPanelCloseButton (при клике для корневого HTML-элемента будет добавлятся и удалятся класс site3dConfiguratorPanelShow)

Как устроены настройки и действия:

  • Всегда объединяются в группы (по-умолчанию есть группа с идентификатором main)
  • Идентификатор группы задается в атрибуте data-group
  • Для настроек есть кнопки, которые показывают настройки определенной группы

Как устроены дествия:

  • Всегда объединяются в группы (по-умолчанию есть группа с идентификатором main)
  • Идентификатор группы задается в атрибуте data-group

Описание шаблонов:

  • Все шаблоны находятся в папке templates и разбиты по папкам:
  • main - главный шаблон конфигуратора
  • panelControlsCaption - содержимое заголовков панелей управления настройками и действиями
  • panelControlsContent - содержимое панелей управления настройками и действиями
  • settingsContent - содержимое настроек
  • settingsGroupsButton - кнопки показа и скрытия группы настроек
  • settingsGroup - группы настроек
  • settingsItem - элемент настроек
  • actionsSimple - действия при клике
  • actionsPicker - наборы действий в виде списка для переноса объектов на сцену
  • actionsPickerItem - элементы наборов действий
  • mixContent - смешанное содержимое панелей управления из настроек и действий

Constructor

Site3dConfigurator

(
  • s3d
  • path
  • name
  • options
)

Parameters:

  • s3d Site3d

    Объект 3D сцены

  • path String

    Путь до проекта

  • name String

    Имя конфигуратора

  • options Object

    Параметры конфигуратора:

    • beforeDomElement - HTML-элемент, перед которым нужно разместить управление конфигуратором (по умолчанию канвас)
    • connectModelName - имя модели в сцене, к которой будет привязан конфигуратор
    • data - данные в формате json (путь к файлу или объект)
    • dataMobile - данные в формате json (путь к файлу или объект) для мобильных устройств
    • priceList - прайс-лист в формате json (путь к файлу или объект)
    • buildLogic - логика построения
    • load - обработчик завершения загрузки конфигуратора

Methods

getServerData

(
  • fileName
  • data
  • format
)
Promise static

Метод вызывает серверный скрипт и возвращает результат через промис

Parameters:

  • fileName Object

    Имя файла скрипта с расширением

  • data Object

    Отправляемые на сервер данные (по-умолчанию null)

  • format String

    Формат возвращаемого результата (по-умолчанию json)

Returns:

Promise:

Результат

checkDevice

()

Метод производит проверку типа устройства

start

(
  • options
)
async

Метод запуска конфигуратора

Parameters:

  • options Object

    Параметры конфигуратора

init

()

Метод инициализации конфигуратора. Используйте перегреженную версию для переопределения базовых параметров:

  • templatesPath - путь к HTML-шаблонам
  • actionsPath - путь к иконкам действий
  • templatesPath - путь к иконкам действий

addBuildLogic

()

Метод формирования логики построения конфигуратора (для переопределения)

addTemplates

()

Метод добавления описаний для загрузки HTML-шаблонов (для переопределения с целью добавления новых шаблонов в свойство templates)

addPanels

()

Метод добавления панелей управления (для переопределения с целью добавления новых панелей в коллекцию panels)

addData

() async

Метод добавления новых данных конфигуратора (для переопределения)

load

(
  • options
)
async

Метод загрузки параметров конфигуратора (используется для загрузки сохраненных ранее проектов)

Parameters:

  • options Object

    Параметры конфигуратора

addSettings

() async

Метод добавления настроек конфигуратора (для переопределения)

addActions

() async

Метод добавления действий для конфигуратора (для переопределения)

addItems

() async

Метод добавления элементов конфигуратора (для переопределения)

loadItemsCompleted

() async

Метод завершения загрузки частей конфигуратора (для переопределения)

autoStartSettingsCompleted

() async

Метод завершения автозапуска настроек конфигуратора (для переопределения)

build

()

Метод сборки элементов конфигуратора (для переопределения)

loadCompleted

() async

Метод завершения загрузки конфигуратора (для переопределения)

getTemplate

(
  • name
  • params
  • subName
)
String

Метод получения HTML-шаблона

Parameters:

  • name String

    Имя шаблона

  • params String[]

    Массив значений, подставляемых в шаблон

  • subName String

    Постфикс в названии шаблона

Returns:

String:

Содержимое шаблона

s

(
  • name
)
String

Метод получения значения настройки

Parameters:

  • name String

    Имя настройки

Returns:

String:

Значение настройки

setSettings

()

Метод для массового изменения значений настроек конфигуратора

loadItems

(
  • promise
)

Метод регистрации результата добавления части конфигуратора (элемент или часть дерева элементов)

Parameters:

  • promise Promise

    Промис окончания загрузки части конфигуратора

itemsForEach

(
  • childAction
  • parentAction
)

Метод прохода по дереву элементов конфигуратора. В функциях обработки в качестве аргументов передается сам элемент дерева и объект из элементов:

  • index - идентификатор элемента
  • parent - родительский элемент
  • level - уровень вложенности

Parameters:

  • childAction Function

    Функция для обработки элемента конфигуратора

  • parentAction Function

    Функция для обработки родительских элементов дерева конфигуратора

getItemIntersect

() Object

Метод возвращает объект из элемента конфигуратора и его позиции, по которой кликнули мышкой

Returns:

Object:

Элемент конфигуратора

getItems

(
  • check
)
Site3dConfiguratorItem[]

Метод возвращает список элементов конфигуратора по условию через функцию

Parameters:

  • check Function

    Функция обработки условий

Returns:

Site3dConfiguratorItem[]:

Список элементов конфигуратора

getItemsByType

(
  • type
)
Site3dConfiguratorItem[]

Метод возвращает список элементов конфигуратора по типу

Parameters:

  • type String

    Тип элемента конфигуратора

Returns:

Site3dConfiguratorItem[]:

Список элементов конфигуратора

calcPrice

()

Метод расчета строимости (для переопределения)

updatePrice

()

Метод считает и показывает строимость (для возможного переопределения)

startLoading

()

Метод показывает статус загрузки

endLoading

()

Метод скрывает статус загрузки

startLock

()

Метод запускает блокировку интерфейса

endLock

()

Метод скрывает блокировку интерфейса

enableItems

()

Метод активирует элементы конфигуратора

disableItems

()

Метод деактивирует элементы конфигуратора

deselectActions

()

Метод снимает выделения у всех действий конфигуратора

getActionPath

(
  • name
)
Array

Метод возвращает путь до действия с учетом вложенности групп

Parameters:

  • name String

    Имя действия

Returns:

Array:

Путь

Properties

templatesPath

String

Путь к HTML-шаблонам

templates

Object

Описание HTML-шаблонов

actionsPath

String

Путь к иконкам действий

texturesPath

String

Путь к текстурам

history

Site3dConfiguratorHistory

История действий

isMobile

Boolean

Свойство возвращает истину, если конфигуратор запущен на мобильном устройстве

isLoadCompleted

Boolean

Свойство возвращает истину, если конфигуратор загружен

settings

Site3dConfiguratorSettings

Свойство возвращает настройки конфигуратора

panelControlsButtonClick

Function

Свойство возвращает событие клика для кнопки показа и скрытия главных панелей управления

panelControlsButtonClick

Unknown

Свойство устанавливает события клика для кнопки показа и скрытия главных панелей управления

Sub-properties:

  • click Function

    Обработчик клика