0

IE8 で Breeze を使用して Breeze.metadata-helper.js を使用すると問題が発生します。es5-shim および sham ライブラリは既に含めています。失敗します: makePropDescription(proto, property) メソッドを実行しようとしているときに: Object.defineProperty(proto, propName, descr) で「getters & setters can't be defined on this javascript engine」というメッセージが表示されます。

追加に失敗するプロパティは、次で定義されている DeclarationID です。

define([], function () {
var dt = breeze.DataType;
var defaultNamespace = 'Our.Custom.Namespace';



// Breeze Labs: breeze.metadata.helper.js
var helper = new breeze.config.MetadataHelper();
var addDataService = helper.addDataService.bind(helper);
var addTypeToStore = helper.addTypeToStore.bind(helper);
var setDefaultNamespace = helper.setDefaultNamespace.bind(helper);

var createMetadataStore = function () {
    return new breeze.MetadataStore();
};

var addDeclaration = function (store) {

    var et = {
        shortName: "Declaration",
        namespace: defaultNamespace,
        defaultResourceName: "Declaration",

        dataProperties: {
            DeclarationID: { dataType: dt.Int64, isPartOfKey: true },
            MRN: { dataType: dt.String },
            IssuingDate: { dataType: dt.DateTime },
            DeclarationStateCode: { dataType: dt.String },
            DeclarationStateID: { dataType: dt.Int64 },
            DeclarationType: { dataType: dt.String }

        }


    };

    return addTypeToStore(store, et);

};
   var initialize = function (dataService) {
   var store = createMetadataStore();
   addDataService(store, dataService);
   setDefaultNamespace(defaultNamespace);
   addDeclaration(store);  

   return store;
};

return {
    initialize: initialize
};
});

Breeze v1.4.11 と Metadata-Helper v1.0.5 を使用しています。

4

1 に答える 1