API Docs for: 1.0.0
Show:

Site3dConfigurator Class

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

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

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

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

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

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

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

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

  • Всегда объединяются в группы (по-умолчанию есть группа с идентификатором 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 - логика построения
    • orderInfo - логика формы заказа
    • load - обработчик завершения загрузки конфигуратора

Methods

create

(
  • s3d
  • options
)
Site3dConfigurator static async

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

Parameters:

  • s3d Site3d

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

  • options Object

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

Returns:

Site3dConfigurator:

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

treeForEach

(
  • parent
  • childAction
  • parentAction
  • level
)
static

Метод прохода по дереву коллекций

Parameters:

  • parent Map

    Дерево коллекций

  • childAction Function

    Функция для обработки дочерних элементов

  • parentAction Function

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

  • level Number

    Стартовый уровень вложенности

loadOptions

(
  • object
  • options
)
static

Метод загрузки параметров объекта

Parameters:

  • object Object

    Объект

  • options Object

    Параметры

createTexture

(
  • options
)
Promise async

Метод создания текстуры

Parameters:

  • options Object

    Параметры

Returns:

Promise:

Файл текстуры в base64

getServerData

(
  • filePath
  • data
  • format
)
Promise async

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

Parameters:

  • filePath String

    Путь до файла скрипта с расширением

  • data Object

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

  • format String

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

Returns:

Promise:

Результат

checkDevice

()

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

start

(
  • options
)
async

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

Parameters:

  • options Object

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

init

() async

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

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

getOrderItems

()

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

addBuildLogic

()

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

addOrderInfo

()

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

addTemplates

()

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

beforeLoad

() async

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

addPanels

() async

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

loadDataCompleted

(
  • data
)
async

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

Parameters:

  • data Object

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

load

(
  • options
)
async

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

Parameters:

  • options Object

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

updateLoadScreenBackgroundColor

(
  • value
)

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

Parameters:

  • value String

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

addSettings

() async

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

addActions

() async

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

addItems

() async

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

addItem

(
  • model
  • options
)
Site3dConfiguratorItem async

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

Parameters:

  • model Site3dModel

    3D модель элемента

  • options Object

    Параметры элемента

Returns:

Site3dConfiguratorItem:

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

loadItemsCompleted

() async

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

autoStartSettingsCompleted

() async

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

build

()

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

loadCompleted

() async

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

addTemplate

(
  • name
  • options
)
async

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

Parameters:

  • name String

    Имя шаблона

  • options Object

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

getTemplate

(
  • name
  • params
  • subName
)
Promise async

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

Parameters:

  • name String

    Имя шаблона

  • params String[]

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

  • subName String

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

Returns:

Promise:

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

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

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

getItemIntersectByModels

(
  • models
  • options
)
Object

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

Parameters:

  • models Site3dModel[]

    Модели, среди которых нужно выбирать нужный элемент

  • options Object

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

Returns:

Object:

Результат

getItemIntersect

(
  • items
  • options
)
Object

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

Parameters:

  • items Site3dConfiguratorItem[]

    Элементы конфигуратора, среди которых нужно выбирать нужный элемент

  • options 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:

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

updatePriceInfo

(
  • value
  • options
)

Метод обновляет информацию о стоимости

Parameters:

  • value Object

    Значение

  • options Object

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

calcPrice

()

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

getFormatPrice

() String

Метод возвращает форматированное значение стоимости

Returns:

String:

Результат

updatePrice

()

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

updateOrderWindow

()

Метод создает окно заказа

updateOrderInfo

(
  • value
  • options
)

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

Parameters:

  • value Object

    Значение

  • options Object

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

startLoading

()

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

setLoadingStatus

(
  • content
  • percent
)

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

Parameters:

  • content String

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

  • percent Number

    Процент загрузки

endLoading

()

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

startLock

()

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

endLock

()

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

enableItems

()

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

disableItems

()

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

setItemsEnabledPrev

()

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

deselectActions

()

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

getActionPath

(
  • name
  • owner
)
String[]

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

Parameters:

Returns:

String[]:

Путь

findActionPickerData

(
  • check
)
Object

Метод возвращает данные действия Site3dConfiguratorActionsPicker по условию

Parameters:

Returns:

Object:

Результат

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

    Данные

getItemsInfo

(
  • childAction
  • parentAction
)

Метод возвращает информацию об элементах дерева конфигуратора:

Parameters:

  • childAction Function

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

  • parentAction Function

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

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

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

priceList

Object

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

priceList

Unknown

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

buildLogic

Object

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

buildLogic

Unknown

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

priceInfo

Object

Свойство возвращает информацию о стоимости

priceInfo

Unknown

Свойство устанавливает информацию о стоимости

orderInfo

Object

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

orderInfo

Unknown

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

config

Object

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

data

Object

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

isMobile

Boolean

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

settings

Site3dConfiguratorSettings

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

settingsUpdated

Map

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

actions

Site3dConfiguratorActions

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

isLoadCompleted

Boolean

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

isVisible

Boolean

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

isVisible

Unknown

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

isAnyItemOnChange

Boolean

Свойство возвращает истину, если какая-то настройка была запущена через интерфейс пользователя

panelControlsButtonClick

Function

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

panelControlsButtonClick

Unknown

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

Sub-properties:

  • click Function

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