В исходных кодах часто встречается использование свойства initMethod, например
"Recommendation": {
dataValueType: this.Terrasoft.DataValueType.MAPPING,
type: this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
caption: resources.localizableStrings.RecommendationCaption,
initMethod: "initProperty",
isRequired: false,
doAutoSave: true
},
...
Но не совсем понятен смысл, и как его использовать в пользовательских атрибутах
(и можно ли вообще ?)
По идее этот метод должен вызываться при первичном инициализации значения аттрибута или нет ?
PS: Здравый смысл показывает что можно бы забиндить "value" атрибута на метод, для первичной инициализации - но
не приводит к вызову метода, и установке значения.
Я начал искать альтернативы и нашел вот этот initMethod, но сдается мне это тоже не то... установив для своих атрибутов initMethod он тоже так и не был вызван.
Нравится
Здравствуйте!
Пример реализации и вызова функции указанного в атрибуте можете посмотреть в схеме ProcessFlowElementPropertiesPage.
Пример кода:
[javascript]
initParameters: function(element) {
this.initDesignerType();
Terrasoft.each(this.columns, function(columnConfig, columnName) {
if (columnConfig.initMethod) {
var parameter = element.findParameterByName(columnName);
this[columnConfig.initMethod](parameter);
}
}, this);
},
[/javascript]
Пример реализации метода:
[javascript]
initProperty: function(parameter) {
var parameterName = parameter.name;
this.set(parameterName, this.getParameterValue(parameter));
},
[/javascript]
Метод initParameters вызовется в момент создании экземпляра схемы/модуля.