Вот ситуация. В моей компании есть некоторые элементы управления виджетами, которые были доступны в течение года или около того. Меня просят добавить «функцию поиска» в виджет. До этого момента виджет находился на странице, где поле передается в него через cookie. Итак, мой вопрос заключается в следующем: есть ли способ создать новый виджет, который внутри шаблона ссылается на старый виджет и назначает его свойства во время выполнения?
Вот пример
dojo.provide("company.billing.paymentSearch");
dojo.require("dijit._Widget");
dojo.require("dijit._Templated");
dojo.require("company.test.inquiry");
dojo.declare(
"company.billing.paymentSearch",
[dijit._Widget, dijit._Templated],
{
token: "",
serviceUrl: "",
templatePath: dojo.moduleUrl(
"company.billing",
"templates/paymentSearch.html"
),
constructor: function(params, node) {
var self = this;
function onLoad() {
self.inquiryWidget.token = self.token;
self.inquiryWidget.serviceUrl = self.serviceUrl;
self.inquiryWidget.brandId = "";
self.inquiryWidget.agencyAccountNumber = "";
self.inquiryWidget.billingAccountNumber = "";
self.paymentWidget.token = self.token;
self.paymentWidget.serviceUrl = self.serviceUrl
}
dojo.addOnLoad(onLoad);
},
paymentSearch: function() {
var self = this;
self.inquiryWidget.billingAccountNumber = self.accountNumber;
}
}
);
тогда мой шаблон будет
<div>
<div style="float:left; width:20%; border: 1px solid #CCCCCC;">
<center>
Make a Payment
</center>
<br />
Account Number
<br />
<input style="width:85%" type="text" dojoattachpoint="accountNumber" />
<br />
<div class="searchButton">
</div>
</div>
<div style="float:right; width:79%">
<div id="inquiryWidget"
dojoType="company.billing.inquiry"
billingAccountNumber=""
agencyAccountNumber=""
brandId=""
waitPanelText="Loading ..."
showAccountSummary = "true"
showAccountHistory = "false"
token=""
serviceUrl="">
</div>
</div>
Что я хотел бы сделать - это нажать на кнопку поиска, добавить свойства в queryWidget и запустить его. Возможно ли что-то подобное?