import React from 'react'; import { ComponentsType, DataType, iBoolProps, iProperty, TagType } from '../../base/type'; import IOTNumberSlider from './IOTNumberSlider'; import { IOTNumberSliderProps } from './interface'; import iGrapesJSConfig from '../../type'; import { IOTNumberSliderJson } from '.'; import { mergeParameters } from '../../base/utils'; const grapesJSConfig: iGrapesJSConfig = { type: [ComponentsType.NumberType], id: 'IOTNumberSlider', tag: TagType.IOTNumberSlider, access: 'rw', render: (jsonData, ...args) => { const props = mergeParameters(jsonData, ...args); return ; }, buildData: (mock: boolean = false, property?: iProperty) => { if (property === undefined) return; const getConver = (unit: string) => { var timeConver = { hoursFlag: false, minutesFlag: false, secondsFlag: false, descText: '', }; if (unit === 'h') { timeConver.hoursFlag = true; } else if (unit === 'min') { timeConver.minutesFlag = true; } else if (unit === 's') { timeConver.secondsFlag = true; } return timeConver; }; //区分类 const props: IOTNumberSliderJson = { type: property.valuedef.type, streamId: property.streamName, title: property['display-name'], subTitle: { show: true, value: '副标题', }, icon: { value: 'insideicon-cu-1', show: true, }, disabled: false, streamName: '', unit: property?.valuedef?.specs?.unit, iconLeft: '', iconRight: '', curValue: property?.valuedef?.specs?.min, intType:property['valuedef']['type'], min: property['valuedef']['specs']['min'], max: property['valuedef']['specs']['max'], unitdesc: property?.valuedef?.specs?.unitdesc, step: property['valuedef']['specs']['step'], }; return props; }, traits: () => { return [ { type: 'option-icon', name: 'icon', label: '显示图标', } ]; }, }; export default grapesJSConfig;