Я получаю следующее исключение:Получение clientBundleFieldNameUnlikelyToCollideWithUserSpecifiedFieldOkay не является функцией
Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError) : $tmp_0_g$.get_clientBundleFieldNameUnlikelyToCollideWithUserSpecifiedFieldOkay_28_g$(...).style_129_g$ is not a function
at Unknown.fBj_g$(BillingOverviewView_BinderImpl.java:75)
at Unknown.KPi_g$(BillingOverviewView_BinderImpl.java:43)
at Unknown.GPi_g$(BillingOverviewView_BinderImpl.java:31)
at Unknown.HPi_g$(BillingOverviewView_BinderImpl.java:28)
at Unknown.APi_g$(BillingOverviewView.java:34)
, но только в Firefox. Он работает без каких-либо проблем в Chrome.
Это мнение, что это упоминается в StackTrace:
class BillingOverviewView extends ViewWithUiHandlers<BillingOverviewUiHandlers> implements BillingOverviewPresenter.MyView {
@SuppressWarnings("unused")
private final static Logger LOGGER = Logger.getLogger(BillingOverviewView.class.getName());
interface Binder extends UiBinder<Widget, BillingOverviewView> {
}
@UiField MaterialRow rowShops;
@Inject
BillingOverviewView(Binder uiBinder) {
this.initWidget(uiBinder.createAndBindUi(this));
}
@Override
public void clearShopCards() {
this.rowShops.clear();
}
@Override
public void addShopCard(MyView view) {
MaterialColumn colShop = new MaterialColumn(12, 12, 12);
colShop.add(view);
this.rowShops.add(colShop);
}
}
Любая идея, где это идет и почему я получаю это только в Firefox?
Единственное место, где я на самом деле манипулирования идентификаторами здесь:
@Inject
PaymentMethodTabView(Binder uiBinder) {
String id = HTMLPanel.createUniqueId();
this.btnPaymentMethod = new MaterialButton();
this.btnPaymentMethod.setText("PM");
this.btnPaymentMethod.setActivates(id);
this.dpPaymentMethod = new MaterialDropDown(id);
this.dpPaymentMethod.setConstrainWidth(false);
this.dpPaymentMethod.addSelectionHandler(new SelectionHandler<Widget>() {
@Override
public void onSelection(SelectionEvent<Widget> event) {
if(!(event.getSelectedItem() instanceof CreditCardDropDownItem)) {
return;
}
CreditCardDropDownItem item = ((CreditCardDropDownItem)event.getSelectedItem());
CreditCard creditCard = PaymentMethodTabView.this.tokenToCreditCard.get(item.getToken());
PaymentMethodTabView.this.onSelection(creditCard);
}
});
this.initWidget(uiBinder.createAndBindUi(this));
this.creditCardContainer.setWidget(this.creditCardWidget);
}
, но как вы можете видеть, я использую HTMLPanel.createUniqueId()
, чтобы убедиться, что я получил уникальные идентификаторы.
Любые идеи?