Места нанесения и слои
Данные методы доступны только при использовании JavaScript API метода интеграции
Пример:
var o3d = new O3d(config);
o3d.on('start', function () {
o3d.on('changeLayer', function (data) {
console.log('Areas:', data.areas);
});
var id = o3d.addLayer('34fe372', 'text', { text: 'Привет!' });
console.log('New id:', id);
});Методы
getAreas()
getAreas()Возвращает данные о всех местах нанесения. Будет возвращён объект с ID слоя в качестве ключа и данными о слое в качестве значения.
getArea(id)
getArea(id)Возвращает данные о месте нанесения.
getActiveArea()
getActiveArea()Возвращает текущее активное (редактируемое) место нанесения.
@return{Area}
setActiveArea(id[, changeView, callback])
setActiveArea(id[, changeView, callback])Задаёт место нанесения активным (редактируемым).
id{string} - ID места нанесенияchangeView{boolean} - переключать на связанный с этим местом ракурсcallback{function (result)} - функция обратного вызоваresult{boolean} - было ли переключение (false- если место уже было активным)
getLayer(id)
getLayer(id)Возвращает данные о слое.
id{integer} - ID слоя@return{Layer}
getActiveLayer()
getActiveLayer()Возвращает текущий активный (редактируемый) слой.
@return{Layer}
setActiveLayer(id[, callback])
setActiveLayer(id[, callback])Делает слой активным (редактируемым).
id{integer} - ID места нанесенияcallback{function (result)} - функция обратного вызоваresult{boolean} - было ли переключение (false- если слой уже был активным)
addLayer(areaId, type, data[, callback])
addLayer(areaId, type, data[, callback])Добавляет слой.
areaId{string} - ID места нанесенияtype{string} - тип слоя ('text'- текстовый,'image'- изображение)data{Layer} - данные о слоеcallback{function (result)} - функция обратного вызоваresult{integer} - ID нового слоя
editLayer(id, data[, callback])
editLayer(id, data[, callback])Редактирует слой.
id{integer} - ID слояdata{Layer} - данные о слоеcallback{function (result)} - функция обратного вызоваresult{boolean} -trueпри успехе,falseесли слой не найден
deleteLayer(id[, callback])
deleteLayer(id[, callback])Удаляет слой.
id{integer} - ID слояcallback{function (result)} - функция обратного вызоваresult{boolean} -trueпри успехе,falseесли слой не найден
toggleLayer(id[, to, callback])
toggleLayer(id[, to, callback])Выключает/включает отображение слоя.
id{integer} - ID слояto{bool|undefined} - в какое состояние переключать, еслиundefined- то переключает состояниеcallback{function (result)} - функция обратного вызоваresult{boolean} -trueпри успехе,falseесли слой не найден
moveLayer(layerId, newAreaId[, callback])
moveLayer(layerId, newAreaId[, callback])Перемещает слой в другое место нанесения. Слой перемещается в конец списка слоёв.
layerId{integer} - ID слояnewAreaId{string} - ID места нанесенияcallback{function (result)} - функция обратного вызоваresult{boolean} -trueпри успехе,falseесли слой или место не найдены
moveLayers(oldAreaId, newAreaId[, callback])
moveLayers(oldAreaId, newAreaId[, callback])Перемещает все слои из одного места нанесения в другое. Слои перемещаются в конец списка слоёв.
oldAreaId{integer} - ID места нанесения (отправитель)newAreaId{string} - ID места нанесения (получатель)callback{function (result)} - функция обратного вызоваresult{boolean} -trueпри успехе,falseесли места нанесения не найдены
setLayerIndex(id, index[, callback])
setLayerIndex(id, index[, callback])Задаёт порядок расположения слоя в списке слоёв.
id{integer} - ID слояindex{integer} - новый порядковый индекс слояcallback{function (result)} - функция обратного вызоваresult{boolean} -trueпри успехе,falseесли слой не найден
getAreaCanvasData(id, callback[, type, encoderOptions])
getAreaCanvasData(id, callback[, type, encoderOptions])Получает toDataUrl() содержимого canvas места нанесения.
id{string} - ID места нанесенияcallback{function (result)} - функция обратного вызоваresult{string|null|false} - data:uri изображения,nullесли место нанесение пусто,falseесли область не найдена
type{string} - MIME-тип содержимого, см.CanvasRenderingContext2D.toDataUrl()encoderOptions{*} - дополнительные опции, см.CanvasRenderingContext2D.toDataUrl()
События
changeLayout {Object}
changeLayout {Object}Генерируются при любых изменениях в местах нанесений или слоях.
action{string} - действие которое произвело изменение, доступны действия:add- при добавлении слояedit- при редактировании слояdelete- при удалении слояtoggle- при изменении видимости слояsetIndex- при изменении порядка слояmoveLayer- при перемещении слоя в другое место нанесенияmove- при перемещении слоя по областиscale- при изменении размера слояrotate- при вращении слояflipHorizontal- при отражении слоя по горизонталиflipVertical- при отражении слоя по вертикалиtext- при изменении текста в тестовом слоеfont- при изменении шрифта в тестовом слоеcolor- при изменении цвета текста в текстовом слоеcolor- при изменении цвета текста в текстовом слоеalign- при изменении выравнивания в текстовом слоеlineHeight- при изменении выоты строки в текстовом слоеimage- при изменении изображения в слое с изображениемimageLoad- при загрузке изменённого изображения в слое с изображением
data{Object} - дополнительные данные к действиюareaId{string} - ID места нанесения, в котором произошли измененияlayerId{integer} - ID слоя, в которой произошли изменения (если доступно)oldAreaId{string} - ID старого места нанесения (дляmoveLayer)oldIndex{integer} - предыдущий индекс слоя (дляsetIndex)newIndex{integer} - новый индекс слоя (дляsetIndex)
areas{Area{}} - новое состояние всех слоёв
changeArea {string}
changeArea {string}Генерируется при изменении активного места нанесения пользователем. Передаётся ID новой активной области.
changeLayer {integer}
changeLayer {integer}Генерируется при изменении активного слоя пользователем. Передаётся ID нового слоя.
changeColors {Object}
changeColors {Object}Генерируется при изменении палитры в месте нанесения с ограниченным по цветам типом нанесения.
areaId{string} - ID места нанесения
Типы
Area {Object}
Area {Object}Данные о месте нанесения.
id{string} - ID места нанесения. Данный ID формируется хэшированием на основеbaseIdи идентификатора названия модели в состоянии. То есть при изменении идентификатора модели в состоянии товара ID также изменится.baseId{integer} - базовый ID места нанесения. Данный ID назначается для модели, таким образом при использовании в состоянии одной модели несколько раз, у них будет одинаковыйbaseIdу мест нанесения.partId{integer} - ID моделиobject{string|null} - идентификатор модели назвначенный в состоянии (если есть)title{string} - название места нанесенияviewId{integer} - связанный ракурсlink{string} - артикул места нанесения на сайте (указывается в ЛК)bTypes{BType{}} - типы нанесенийwidth{integer} - ширина места нанесения в ммheight{integer} - высота места нанесения в ммbound{Bound|null} - расположение и размеры слоёв относительно места нанесения, если нет видимых слоёв, тоnulllayers{Layer[]} - список слоёв
Layer {Object}
Layer {Object}Данные о слое.
id{integer} - ID слояname{string} - название слоя (отображается в редакторе в списке слоёв)visible{boolean} [true] - видимость слояx{integer} [0] - смещение в пикселях по оси X относительно зоны нанесенияy{integer} [0] - смещение в пикселях по оси Y относительно зоны нанесенияscaleX{float} [1] - масштаб по оси X, при отражении будет отрицательное значениеscaleY{float} [1] - масштаб по оси Y, при отражении будет отрицательное значениеrotate{float} [0] - угол поворота слоя в радианахbound{Bound|null} - расположение и размер слоя относительно места нанесения
Для текстовых слоёв:
text{string} - текстfont{string} - шрифтcolor{string} - цвет (в формате hex)align{string} - выравнивание многострочного текста (left,right,center)lineHeight{float} - высота строки в процентах
Для слоёв с изображением:
image{boolean|integer} - есть ли изображение в слое, если в данных о заказе, то индекс изображения вlayerImagesimageUrl{string|null} - URL катинки, если она взята со стороннего ресурса
Bound {Object}
Bound {Object}Описание размера и расположения. Значения нормированы единичным квадратом (координаты от 0 до 1).
left{float} - минимальная координата по Xright{float} - максимальная координата по Xtop{float} - минимальная координата по Ybottom{float} - максимальная координата по YleftTop{Point} - расположение верхнего левого угла (Point - {x, y})leftBottom{Point} - расположение нижнего левого угла (Point - {x, y})rightTop{Point} - расположение верхнего правого угла (Point - {x, y})rightBottom{Point} - расположение нижнего правого угла (Point - {x, y})
BType {Object}
BType {Object}Данные о типе нанесения.
title{string} - названиеarticle{string} - артикул на сайтеmaxWidth{integer} - максимальная ширина нанесения в ммmaxHeight{integer} - максимальная высота нанесения в ммminDpi{integer} - минимальное DPI для растровых изображенийsubstrate{boolean} - возможна ли подложкаvectorWarn{boolean} - требуется ли вектроное изображениеcolors{Object{colorId}} - объект с доступными цветностями:article{string} - артикул на сайтеtitle{string} - название цветности
Last updated