Советы по созданию настраиваемых виджетов ThingWorx
В этом разделе представлены советы по созданию пользовательских виджетов.
Используйте this.jqElement, чтобы ограничить выбор элементов. Это уменьшает вероятность проявления в решении непредсказуемого поведения при появлении в DOM дубликатов идентификаторов и классов.
Используйте this.jqElement для ограничения выбора элементов, как показано в примере кода.
this.jqElement.find('.add-btn').click(function(e){
...do something...});
Ведение журнала - можно создать события ведения журнала для отладки мэшапов. Для создания сообщений журнала в среде времени выполнения рекомендуется использовать следующие методы:
TW.log.trace(message[, message2, ... ][, exception])
TW.log.debug(message[, message2, ... ][, exception])
TW.log.info(message[, message2, ... ][, exception])
TW.log.warn(message[, message2, ... ][, exception])
TW.log.error(message[, message2, ... ][, exception])
TW.log.fatal(message[, message2, ... ][, exception])
Журналы доступны в меню Мониторинг. Выберите журнал, чтобы открыть окно журнала для просмотра сообщений журнала. Если используемый браузер поддерживает console.log(), то сообщения также отображаются на консоли отладчика.
Форматирование - при наличии свойства с заданным базовым типом STYLEDEFINITION можно получить информацию о стиле, используя следующий код:
var formatResult = TW.getStyleFromStyleDefinition(
widgetProperties['PropertyName']);
Если имеется свойство с заданным базовым типом STATEFORMATTING, используйте следующий код:
var formatResult = TW.getStyleFromStateFormatting({
DataRow: row,
StateFormatting: thisWidget.properties['PropertyName']
});
В обоих случаях formatResult представляет собой объект со следующими значениями по умолчанию:
{
image: '',
backgroundColor: '',
foregroundColor: '',
fontEmphasisBold: false,
fontEmphasisItalic: false,
fontEmphasisUnderline: false,
displayString: '',
lineThickness: 1,
lineStyle: 'solid',
lineColor: '',
secondaryBackgroundColor: '',
textSize: 'normal'
};
Было ли это полезно?