API Docs for: 1.0.0
Show:

Site3dConfigurator Class

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

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

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

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

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

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

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

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

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

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

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

Constructor

Site3dConfigurator

(
  • s3d
  • options
)

Parameters:

  • s3d Site3d

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

  • options Object

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

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

Methods

create

(
  • s3d
  • options
)
Site3dConfigurator static async

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

Parameters:

  • s3d Site3d

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

  • options Object

    Параметры конфигуратора (смотрите описание конструктора конфигуратора)

Returns:

Site3dConfigurator:

Объект конфигуратора как результат промиса

getServerData

(
  • fileName
  • data
  • format
)
Promise async

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

Parameters:

  • fileName Object

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

  • data Object

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

  • format String

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

Returns:

Promise:

Результат

checkDevice

()

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

start

(
  • options
)
async

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

Parameters:

  • options Object

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

init

() async

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

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

addBuildLogic

()

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

addTemplates

()

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

addPanels

() async

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

addData

() async

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

load

(
  • options
)
async

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

Parameters:

  • options Object

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

updateLoadScreenBackgroundColor

(
  • value
)

Метод обновляет цвет фона окна загрузки

Parameters:

  • value String

    Цвет фона в HEX формате с альфа каналом

addSettings

() async

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

addActions

() async

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

addItems

() async

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

loadItemsCompleted

() async

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

autoStartSettingsCompleted

() async

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

build

()

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

loadCompleted

() async

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

addTemplate

(
  • name
  • options
)
async

Метод загружает и добавляет содержимое шаблона в список templates

Parameters:

  • name String

    Имя шаблона

  • options Object

    Параметры шаблона

getTemplate

(
  • name
  • params
  • subName
)
String

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

Parameters:

  • name String

    Имя шаблона

  • params String[]

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

  • subName String

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

Returns:

String:

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

s

(
  • name
)
Any

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

Parameters:

  • name String

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

Returns:

Any:

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

setSettings

()

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

loadItems

(
  • promise
)
Promise

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

Parameters:

  • promise Promise

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

Returns:

Promise:

Промис

itemsForEach

(
  • childAction
  • parentAction
)

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

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

Parameters:

  • childAction Function

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

  • parentAction Function

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

getItemIntersect

() Object

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

Returns:

Object:

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

getItems

(
  • check
  • options
)
Site3dConfiguratorItem[]

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

Parameters:

  • check Function

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

  • options Object

    Параметры

Returns:

Site3dConfiguratorItem[]:

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

getItemsByType

(
  • type
  • options
)
Site3dConfiguratorItem[]

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

Parameters:

  • type String

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

  • options Object

    Параметры

Returns:

Site3dConfiguratorItem[]:

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

getItemByIndex

(
  • index
  • options
)
Site3dConfiguratorItem

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

Parameters:

  • index String

    Индекс элемента конфигуратора

  • options Object

    Параметры

Returns:

Site3dConfiguratorItem:

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

calcPrice

()

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

updatePrice

()

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

startLoading

()

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

setLoadingStatus

(
  • content
)

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

Parameters:

  • content String

    Статус загрузки

endLoading

()

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

startLock

()

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

endLock

()

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

enableItems

()

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

disableItems

()

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

deselectActions

()

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

getActionPath

(
  • name
)
Array

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

Parameters:

  • name String

    Имя действия

Returns:

Array:

Путь

panel

(
  • name
)
Site3dConfiguratorPanel

Метод возвращает панель

Parameters:

  • name String

    Название панели

Returns:

Site3dConfiguratorPanel:

Панель

showPanel

(
  • name
  • data
  • eventData
)
async

Метод показывает панель

Parameters:

  • name String

    Название панели

  • data Object

    Данные для наполнения панели

  • eventData Object

    Данные для передачи в событие показа панели

hide

(
  • name
)

Метод скрывает панель

Parameters:

  • name String

    Название панели

togglePanel

(
  • name
)
async

Метод переключает видимость панели

Parameters:

  • name String

    Название панели

callEvent

(
  • name
  • data
)

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

Parameters:

  • name String

    Имя событие

  • data Object

    Данные для передачи в событие

event

(
  • name
  • call
)

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

Parameters:

  • name String

    Имя события

  • call Function

    Функция обработки события

getSaveItems

(
  • root
)

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

Parameters:

  • root Object

    Корневой элемент (по умолчанию все элементы)

getSaveData

()

Метод возвращает объект для сохранения конфигуратора в json формате

loadDataItems

(
  • items
  • loadItem
  • options
)
async

Метод загружает элементы конфигуратора из объекта в json формате

Parameters:

  • items Object

    Данные

  • loadItem Function

    Обработчик загрузки элементов конфигуратора

  • options Object

    Дополнительные параметры

loadDataItemSettings

(
  • item
  • dataItemSettings
)
async

Метод загружает настройки конфигуратора или его элемента из объекта в json формате

Parameters:

loadDataSettings

(
  • settings
)

Метод загружает настройки конфигуратора из объекта в json формате

Parameters:

  • settings Object

    Данные

Properties

templatesPath

String

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

templates

Object

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

actionsPath

String

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

texturesPath

String

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

modelsPath

String

Путь к моделям

history

Site3dConfiguratorHistory

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

s3d

Site3d

Свойство возвращает объект сцены

options

Object

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

name

String

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

path

String

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

insertPlace

Object

Свойство возвращает место содержимого конфигуратора ({domElement: HTMLElement, where: string})

connectModelName

String

Свойство возвращает имя модели в сцене, к которой присоединяются элементы конфигуратора

config

Object

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

data

Object

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

isMobile

Boolean

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

settings

Site3dConfiguratorSettings

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

settingsUpdated

Map

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

actions

Site3dConfiguratorActions

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

isLoadCompleted

Boolean

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

isVisible

Boolean

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

isVisible

Unknown

Свойство устанавливает видимость конфигуратора

panelControlsButtonClick

Function

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

panelControlsButtonClick

Unknown

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

Sub-properties:

  • click Function

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