@one-grid-core/angular 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtdHlwZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvbW9kZWxzL29uZS1ncmlkLXR5cGVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBPbmVHcmlkQXBpIH0gZnJvbSBcIi4uL2luc3RhbnRzL29uZS1ncmlkLWFwaS5jbGFzc1wiO1xuaW1wb3J0IHR5cGUgeyBPbmVSb3dOb2RlIH0gZnJvbSBcIi4uL2luc3RhbnRzL29uZS1yb3ctbm9kZS5jbGFzc1wiO1xuaW1wb3J0IHR5cGUgeyBPbmVDb2x1bW5EZWYsIE9uZUdyb3VwQ29sdW1uRGVmIH0gZnJvbSBcIi4vb25lLWNvbHVtbi1kZWYtdHlwZXMubW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgUm93U2VsZWN0aW9uTW9kZSB9IGZyb20gXCIuL29uZS1ldmVudC10eXBlcy5tb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBPbmVEZXRhaWxDZWxsUmVuZGVyZXJQYXJhbXMgfSBmcm9tIFwiLi9vbmUtbWFzdGVyLWRldGFpbC5tb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBPbmVDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tIFwiLi9vbmUtdHJlZS1kYXRhLm1vZGVsXCI7XG5cbmV4cG9ydCB0eXBlIE9uZUdyaWRUeXBlID0gJ3NpbXBsZScgfCAnbWFzdGVyJyB8ICdkZXRhaWwnIHwgJ3RyZWUnIHwgbnVsbDtcblxuLyoqXG4gKiBFdmVyeXRoaW5nIGBPbmVHcmlkQXBpLmluaXRgIG5lZWRzIHRvIHN0YW5kIGEgZ3JpZCB1cC5cbiAqXG4gKiBBbiBvcHRpb25zIG9iamVjdCByYXRoZXIgdGhhbiBhIHBvc2l0aW9uYWwgbGlzdDogdGhlIHByZXZpb3VzIHNpZ25hdHVyZSB0b29rXG4gKiB0ZW4gcG9zaXRpb25hbCBhcmd1bWVudHMsIGZvdXIgb2YgdGhlbSBvcHRpb25hbCBhbmQgdHdvIG9mIHRoZW0gYm9vbGVhbnMsIHNvXG4gKiBhIGNhbGwgc2l0ZSB3YXMgdW5yZWFkYWJsZSBhbmQgYWRkaW5nIGFuIG9wdGlvbiBtZWFudCB0b3VjaGluZyBldmVyeSBjYWxsZXIuXG4gKlxuICogYE9uZUdyaWRDb21wb25lbnRgIGNhbGxzIHRoaXMgZnJvbSBgbmdPbkluaXRgLiBBcHBsaWNhdGlvbnMgc2hvdWxkIG5vdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbmVHcmlkSW5pdE9wdGlvbnM8VCA9IGFueT4ge1xuICAgIC8qKiBXaGljaCByb2xlIHRoaXMgaW5zdGFuY2UgcGxheXMuIGBPbmVHcmlkQ29tcG9uZW50YCBkZXJpdmVzIGl0IGZyb20gaXRzIGlucHV0cy4gKi9cbiAgICBncmlkVHlwZTogT25lR3JpZFR5cGU7XG4gICAgLyoqIENvbHVtbiBkZWZpbml0aW9ucywgYmVmb3JlIGBkZWZhdWx0Q29sdW1uRGVmYCBpcyBtZXJnZWQgaW4uICovXG4gICAgY29sdW1uRGVmczogT25lQ29sdW1uRGVmPFQ+W107XG4gICAgLyoqIE1lcmdlZCBpbnRvIGV2ZXJ5IGNvbHVtbiBkZWZpbml0aW9uLiAqL1xuICAgIGRlZmF1bHRDb2x1bW5EZWY/OiBPbmVDb2x1bW5EZWY8VD47XG4gICAgLyoqIEhlYWRlciBncm91cHMuIENvbHVtbnMgam9pbiBvbmUgYnkgYGdyb3VwSWRgLiAqL1xuICAgIGdyb3VwQ29sdW1uRGVmcz86IE9uZUdyb3VwQ29sdW1uRGVmW107XG4gICAgLyoqIFBhc3NlZCB0byByZW5kZXJlcnMsIGdldHRlcnMgYW5kIHByZWRpY2F0ZXM7IGBjb21wb25lbnRQYXJlbnQuZ2V0Um93SWRgIGlzIHJlYWQgZnJvbSBpdC4gKi9cbiAgICBjb250ZXh0PzogYW55O1xuICAgIC8qKiBgbnVsbGAgZGlzYWJsZXMgcm93IHNlbGVjdGlvbiBlbnRpcmVseS4gUmVhZCBvbmNlLCBoZXJlLiAqL1xuICAgIHJvd1NlbGVjdGlvbj86IFJvd1NlbGVjdGlvbk1vZGU7XG4gICAgLyoqIFR1cm5zIG9uIHRoZSBuZXN0ZWQgZGV0YWlsIGdyaWQuIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGB0cmVlRGF0YWAuICovXG4gICAgbWFzdGVyRGV0YWlsPzogYm9vbGVhbjtcbiAgICAvKiogRGV0YWlsIGdyaWQgb3B0aW9ucyBwbHVzIGBnZXREZXRhaWxSb3dEYXRhYC4gUmVxdWlyZWQgd2hlbiBgbWFzdGVyRGV0YWlsYCBpcyBvbi4gKi9cbiAgICBkZXRhaWxDZWxsUmVuZGVyZXJQYXJhbXM/OiBPbmVEZXRhaWxDZWxsUmVuZGVyZXJQYXJhbXM7XG4gICAgLyoqIFJlbmRlciBhIGNvbXBvbmVudCBpbiB0aGUgZGV0YWlsIGFyZWEgaW5zdGVhZCBvZiBhIG5lc3RlZCBncmlkLiAqL1xuICAgIGRldGFpbFJlbmRlcmVyQ29tcG9uZW50PzogVHlwZTxPbmVDZWxsUmVuZGVyZXJDb21wb25lbnQ+O1xuICAgIC8qKiBUdXJucyBvbiBoaWVyYXJjaGljYWwgcm93IGJ1aWxkaW5nLiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgbWFzdGVyRGV0YWlsYC4gKi9cbiAgICB0cmVlRGF0YT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25lR3JpZFJlYWR5RXZlbnQ8VCA9IGFueT4ge1xuICAgIGFwaTogT25lR3JpZEFwaTxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmVHcmlkUm93QWN0aW9uRXZlbnQ8VCA9IGFueT4ge1xuICAgIHJvd0luZGV4OiBudW1iZXI7XG4gICAgZGF0YTogVDtcbiAgICBhcGk/OiBPbmVHcmlkQXBpPFQ+O1xuICAgIGNvbHVtbj86IE9uZUNvbHVtbkRlZjtcbiAgICBub2RlOiBPbmVSb3dOb2RlPFQ+O1xuICAgIG1hc3Rlck5vZGU/OiBPbmVSb3dOb2RlPFQ+O1xuICAgIGdyaWRUeXBlPzogT25lR3JpZFR5cGU7XG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uZUdyaWRHZXRSb3dJZFBhcmFtczxUID0gYW55PiB7XG4gICAgZGF0YTogVDtcbiAgICByb3dJbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uZVNvcnRNb2RlbDxUID0gYW55PiB7XG4gIGNvbElkOiAga2V5b2YgVDtcbiAgc29ydDogJ2FzYycgfCAnZGVzYyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFJvd0RhdGEge1xuICByb3dJZDogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7IC8vIGZsZXhpYmxlIGV4dHJhIGZpZWxkc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRSb3dEYXRhT3BlcmF0aW9uPFQgZXh0ZW5kcyBHcmlkUm93RGF0YSA9IEdyaWRSb3dEYXRhPiB7XG4gIC8qKlxuICAgKiBNb3ZlIGEgcm93IGZyb20gb25lIGluZGV4IHRvIGFub3RoZXJcbiAgICogQHBhcmFtIHNvdXJjZUluZGV4IC0gdGhlIGN1cnJlbnQgaW5kZXggb2YgdGhlIHJvd1xuICAgKiBAcGFyYW0gdGFyZ2V0SW5kZXggLSB0aGUgbmV3IGluZGV4IHRvIG1vdmUgdG9cbiAgICovXG4gIG1vdmVSb3coc291cmNlSW5kZXg6IG51bWJlciwgdGFyZ2V0SW5kZXg6IG51bWJlcik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIHJvdyBieSBpdHMgdW5pcXVlIElEXG4gICAqIEBwYXJhbSByb3dJZCAtIHRoZSBJRCBvZiB0aGUgcm93IHRvIHJlbW92ZVxuICAgKi9cbiAgcmVtb3ZlUm93KHJvd0lkOiBzdHJpbmcpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBJbnNlcnQgYSBuZXcgcm93IGF0IHRoZSBnaXZlbiBpbmRleFxuICAgKiBAcGFyYW0gcm93IC0gdGhlIHJvdyBkYXRhXG4gICAqIEBwYXJhbSBpbmRleCAtIHdoZXJlIHRvIGluc2VydFxuICAgKi9cbiAgaW5zZXJ0Um93KHJvdzogVCwgaW5kZXg6IG51bWJlcik6IHZvaWQ7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtdHlwZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvbW9kZWxzL29uZS1ncmlkLXR5cGVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBPbmVHcmlkQXBpIH0gZnJvbSBcIi4uL2luc3RhbnRzL29uZS1ncmlkLWFwaS5jbGFzc1wiO1xuaW1wb3J0IHR5cGUgeyBPbmVSb3dOb2RlIH0gZnJvbSBcIi4uL2luc3RhbnRzL29uZS1yb3ctbm9kZS5jbGFzc1wiO1xuaW1wb3J0IHR5cGUgeyBPbmVDb2x1bW5EZWYsIE9uZUdyb3VwQ29sdW1uRGVmIH0gZnJvbSBcIi4vb25lLWNvbHVtbi1kZWYtdHlwZXMubW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgUm93U2VsZWN0aW9uTW9kZSB9IGZyb20gXCIuL29uZS1ldmVudC10eXBlcy5tb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBPbmVEZXRhaWxDZWxsUmVuZGVyZXJQYXJhbXMgfSBmcm9tIFwiLi9vbmUtbWFzdGVyLWRldGFpbC5tb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBPbmVDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tIFwiLi9vbmUtdHJlZS1kYXRhLm1vZGVsXCI7XG5cbmV4cG9ydCB0eXBlIE9uZUdyaWRUeXBlID0gJ3NpbXBsZScgfCAnbWFzdGVyJyB8ICdkZXRhaWwnIHwgJ3RyZWUnIHwgbnVsbDtcblxuLyoqXG4gKiBFdmVyeXRoaW5nIGBPbmVHcmlkQXBpLmluaXRgIG5lZWRzIHRvIHN0YW5kIGEgZ3JpZCB1cC5cbiAqXG4gKiBBbiBvcHRpb25zIG9iamVjdCByYXRoZXIgdGhhbiBhIHBvc2l0aW9uYWwgbGlzdDogdGhlIHByZXZpb3VzIHNpZ25hdHVyZSB0b29rXG4gKiB0ZW4gcG9zaXRpb25hbCBhcmd1bWVudHMsIGZvdXIgb2YgdGhlbSBvcHRpb25hbCBhbmQgdHdvIG9mIHRoZW0gYm9vbGVhbnMsIHNvXG4gKiBhIGNhbGwgc2l0ZSB3YXMgdW5yZWFkYWJsZSBhbmQgYWRkaW5nIGFuIG9wdGlvbiBtZWFudCB0b3VjaGluZyBldmVyeSBjYWxsZXIuXG4gKlxuICogYE9uZUdyaWRDb21wb25lbnRgIGNhbGxzIHRoaXMgZnJvbSBgbmdPbkluaXRgLiBBcHBsaWNhdGlvbnMgc2hvdWxkIG5vdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbmVHcmlkSW5pdE9wdGlvbnM8VCA9IGFueT4ge1xuICAgIC8qKiBXaGljaCByb2xlIHRoaXMgaW5zdGFuY2UgcGxheXMuIGBPbmVHcmlkQ29tcG9uZW50YCBkZXJpdmVzIGl0IGZyb20gaXRzIGlucHV0cy4gKi9cbiAgICBncmlkVHlwZTogT25lR3JpZFR5cGU7XG4gICAgLyoqIENvbHVtbiBkZWZpbml0aW9ucywgYmVmb3JlIGBkZWZhdWx0Q29sdW1uRGVmYCBpcyBtZXJnZWQgaW4uICovXG4gICAgY29sdW1uRGVmczogT25lQ29sdW1uRGVmPFQ+W107XG4gICAgLyoqIE1lcmdlZCBpbnRvIGV2ZXJ5IGNvbHVtbiBkZWZpbml0aW9uLiAqL1xuICAgIGRlZmF1bHRDb2x1bW5EZWY/OiBPbmVDb2x1bW5EZWY8VD47XG4gICAgLyoqIEhlYWRlciBncm91cHMuIENvbHVtbnMgam9pbiBvbmUgYnkgYGdyb3VwSWRgLiAqL1xuICAgIGdyb3VwQ29sdW1uRGVmcz86IE9uZUdyb3VwQ29sdW1uRGVmW107XG4gICAgLyoqIFBhc3NlZCB0byByZW5kZXJlcnMsIGdldHRlcnMgYW5kIHByZWRpY2F0ZXM7IGBjb21wb25lbnRQYXJlbnQuZ2V0Um93SWRgIGlzIHJlYWQgZnJvbSBpdC4gKi9cbiAgICBjb250ZXh0PzogYW55O1xuICAgIC8qKiBgbnVsbGAgZGlzYWJsZXMgcm93IHNlbGVjdGlvbiBlbnRpcmVseS4gUmVhZCBvbmNlLCBoZXJlLiAqL1xuICAgIHJvd1NlbGVjdGlvbj86IFJvd1NlbGVjdGlvbk1vZGU7XG4gICAgLyoqIFR1cm5zIG9uIHRoZSBuZXN0ZWQgZGV0YWlsIGdyaWQuIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGB0cmVlRGF0YWAuICovXG4gICAgbWFzdGVyRGV0YWlsPzogYm9vbGVhbjtcbiAgICAvKiogRGV0YWlsIGdyaWQgb3B0aW9ucyBwbHVzIGBnZXREZXRhaWxSb3dEYXRhYC4gUmVxdWlyZWQgd2hlbiBgbWFzdGVyRGV0YWlsYCBpcyBvbi4gKi9cbiAgICBkZXRhaWxDZWxsUmVuZGVyZXJQYXJhbXM/OiBPbmVEZXRhaWxDZWxsUmVuZGVyZXJQYXJhbXM7XG4gICAgLyoqIFJlbmRlciBhIGNvbXBvbmVudCBpbiB0aGUgZGV0YWlsIGFyZWEgaW5zdGVhZCBvZiBhIG5lc3RlZCBncmlkLiAqL1xuICAgIGRldGFpbFJlbmRlcmVyQ29tcG9uZW50PzogVHlwZTxPbmVDZWxsUmVuZGVyZXJDb21wb25lbnQ+O1xuICAgIC8qKiBUdXJucyBvbiBoaWVyYXJjaGljYWwgcm93IGJ1aWxkaW5nLiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgbWFzdGVyRGV0YWlsYC4gKi9cbiAgICB0cmVlRGF0YT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25lR3JpZFJlYWR5RXZlbnQ8VCA9IGFueT4ge1xuICAgIGFwaTogT25lR3JpZEFwaTxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmVHcmlkUm93QWN0aW9uRXZlbnQ8VCA9IGFueT4ge1xuICAgIHJvd0luZGV4OiBudW1iZXI7XG4gICAgZGF0YTogVDtcbiAgICBhcGk/OiBPbmVHcmlkQXBpPFQ+O1xuICAgIGNvbHVtbj86IE9uZUNvbHVtbkRlZjtcbiAgICBub2RlOiBPbmVSb3dOb2RlPFQ+O1xuICAgIG1hc3Rlck5vZGU/OiBPbmVSb3dOb2RlPFQ+O1xuICAgIGdyaWRUeXBlPzogT25lR3JpZFR5cGU7XG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uZUdyaWRHZXRSb3dJZFBhcmFtczxUID0gYW55PiB7XG4gICAgZGF0YTogVDtcbiAgICByb3dJbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uZVNvcnRNb2RlbDxUID0gYW55PiB7XG4gIGNvbElkOiAga2V5b2YgVDtcbiAgc29ydDogJ2FzYycgfCAnZGVzYyc7XG59XG5cbi8qKlxuICogT25lIGJhdGNoIG9mIHJvdyBjaGFuZ2VzIGZvciBgYXBpLmFwcGx5VHJhbnNhY3Rpb25gIOKAlCB0aGUgd2F5IHRvIGFwcGVuZCxcbiAqIHBhdGNoIG9yIGRyb3Agcm93cyB3aXRob3V0IHJlYmluZGluZyB0aGUgd2hvbGUgZGF0YXNldCBmcm9tIHRoZSBob3N0LlxuICpcbiAqIFJvd3MgYXJlIG1hdGNoZWQgYnkgaWQsIHNvIGEgdHJhbnNhY3Rpb24gcmVxdWlyZXMgYVxuICogYGNvbnRleHQuY29tcG9uZW50UGFyZW50LmdldFJvd0lkYC4gU2VsZWN0aW9uIGFuZCBleHBhbnNpb24gc3Vydml2ZSwgdGhlXG4gKiBhY3RpdmUgc29ydCBhbmQgZmlsdGVycyByZS1hcHBseSwgYW5kIG9uIHRyZWUgZGF0YSBgcmVtb3ZlYCByZWFjaGVzIGFueVxuICogZGVwdGggd2hpbGUgYGFkZFRvUGFyZW50SWRgIHBsYWNlcyBhZGRlZCByb3dzIHVuZGVyIGFuIGV4aXN0aW5nIHBhcmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbmVSb3dUcmFuc2FjdGlvbjxUID0gYW55PiB7XG4gIC8qKiBSb3dzIHRvIGFwcGVuZCDigJQgYXQgdGhlIHJvb3QsIG9yIHVuZGVyIGBhZGRUb1BhcmVudElkYC4gKi9cbiAgYWRkPzogVFtdO1xuICAvKiogUm93IGlkIG9mIHRoZSBwYXJlbnQgdGhlIGFkZGVkIHJvd3MgZ28gdW5kZXIgKHRyZWUgZGF0YSBvbmx5KS4gKi9cbiAgYWRkVG9QYXJlbnRJZD86IHN0cmluZztcbiAgLyoqIFJlcGxhY2VtZW50IHJvd3MsIG1hdGNoZWQgdG8gZXhpc3Rpbmcgcm93cyBieSBpZC4gKi9cbiAgdXBkYXRlPzogVFtdO1xuICAvKiogUm93cyAob3Igcm93IGlkcykgdG8gZHJvcCwgYXQgYW55IGRlcHRoLiAqL1xuICByZW1vdmU/OiAoVCB8IHN0cmluZylbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkUm93RGF0YSB7XG4gIHJvd0lkOiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTsgLy8gZmxleGlibGUgZXh0cmEgZmllbGRzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFJvd0RhdGFPcGVyYXRpb248VCBleHRlbmRzIEdyaWRSb3dEYXRhID0gR3JpZFJvd0RhdGE+IHtcbiAgLyoqXG4gICAqIE1vdmUgYSByb3cgZnJvbSBvbmUgaW5kZXggdG8gYW5vdGhlclxuICAgKiBAcGFyYW0gc291cmNlSW5kZXggLSB0aGUgY3VycmVudCBpbmRleCBvZiB0aGUgcm93XG4gICAqIEBwYXJhbSB0YXJnZXRJbmRleCAtIHRoZSBuZXcgaW5kZXggdG8gbW92ZSB0b1xuICAgKi9cbiAgbW92ZVJvdyhzb3VyY2VJbmRleDogbnVtYmVyLCB0YXJnZXRJbmRleDogbnVtYmVyKTogdm9pZDtcblxuICAvKipcbiAgICogUmVtb3ZlIGEgcm93IGJ5IGl0cyB1bmlxdWUgSURcbiAgICogQHBhcmFtIHJvd0lkIC0gdGhlIElEIG9mIHRoZSByb3cgdG8gcmVtb3ZlXG4gICAqL1xuICByZW1vdmVSb3cocm93SWQ6IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEluc2VydCBhIG5ldyByb3cgYXQgdGhlIGdpdmVuIGluZGV4XG4gICAqIEBwYXJhbSByb3cgLSB0aGUgcm93IGRhdGFcbiAgICogQHBhcmFtIGluZGV4IC0gd2hlcmUgdG8gaW5zZXJ0XG4gICAqL1xuICBpbnNlcnRSb3cocm93OiBULCBpbmRleDogbnVtYmVyKTogdm9pZDtcbn1cbiJdfQ==
@@ -20,10 +20,19 @@ export class OneGridRowService {
20
20
  }
21
21
  return uuidv4();
22
22
  }
23
+ /**
24
+ * The row's id, or null when it cannot be known — no id function, or one
25
+ * that answers nothing for this row. Unlike `generateRowId` this never
26
+ * mints an id, which is what row matching (transactions) needs: a minted
27
+ * id matches nothing and must not pretend otherwise.
28
+ */
29
+ resolveRowId(data) {
30
+ return this._getRowId?.({ data, rowIndex: -1 }) ?? null;
31
+ }
23
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
24
33
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowService }); }
25
34
  }
26
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowService, decorators: [{
27
36
  type: Injectable
28
37
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtcm93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvc2VydmljZXMvb25lLWdyaWQtcm93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHcEMsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUdZLGNBQVMsR0FBOEMsSUFBSSxDQUFDO0tBc0J2RTtJQXBCRzs7T0FFRztJQUNJLGFBQWEsQ0FBQyxRQUFtRDtRQUVwRSxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhLENBQUMsSUFBUyxFQUFFLFFBQWdCO1FBRTVDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRWpCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzFELENBQUM7UUFFRCxPQUFPLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBdkJRLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25lR3JpZEdldFJvd0lkUGFyYW1zIH0gZnJvbSAnLi4vbW9kZWxzL29uZS1ncmlkLXR5cGVzLm1vZGVsJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT25lR3JpZFJvd1NlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBfZ2V0Um93SWQ6IChwYXJhbXM6IE9uZUdyaWRHZXRSb3dJZFBhcmFtcykgPT4gc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFNldCBSb3cgSWQgRnVuY2l0b25cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0R2V0Um93SWRGbihnZXRSb3dJZDogKHBhcmFtczogT25lR3JpZEdldFJvd0lkUGFyYW1zKSA9PiBzdHJpbmcpIHtcblxuICAgICAgICB0aGlzLl9nZXRSb3dJZCA9IGdldFJvd0lkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlIFVuaXF1ZSBSb3cgSURcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2VuZXJhdGVSb3dJZChkYXRhOiBhbnksIHJvd0luZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuXG4gICAgICAgIGlmICh0aGlzLl9nZXRSb3dJZCkge1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Um93SWQoeyBkYXRhLCByb3dJbmRleCB9KSA/PyB1dWlkdjQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1dWlkdjQoKTtcbiAgICB9XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtcm93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvc2VydmljZXMvb25lLWdyaWQtcm93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHcEMsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUdZLGNBQVMsR0FBOEMsSUFBSSxDQUFDO0tBaUN2RTtJQS9CRzs7T0FFRztJQUNJLGFBQWEsQ0FBQyxRQUFtRDtRQUVwRSxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhLENBQUMsSUFBUyxFQUFFLFFBQWdCO1FBRTVDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRWpCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzFELENBQUM7UUFFRCxPQUFPLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFlBQVksQ0FBQyxJQUFTO1FBRXpCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzVELENBQUM7K0dBbENRLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25lR3JpZEdldFJvd0lkUGFyYW1zIH0gZnJvbSAnLi4vbW9kZWxzL29uZS1ncmlkLXR5cGVzLm1vZGVsJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT25lR3JpZFJvd1NlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBfZ2V0Um93SWQ6IChwYXJhbXM6IE9uZUdyaWRHZXRSb3dJZFBhcmFtcykgPT4gc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFNldCBSb3cgSWQgRnVuY2l0b25cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0R2V0Um93SWRGbihnZXRSb3dJZDogKHBhcmFtczogT25lR3JpZEdldFJvd0lkUGFyYW1zKSA9PiBzdHJpbmcpIHtcblxuICAgICAgICB0aGlzLl9nZXRSb3dJZCA9IGdldFJvd0lkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlIFVuaXF1ZSBSb3cgSURcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2VuZXJhdGVSb3dJZChkYXRhOiBhbnksIHJvd0luZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuXG4gICAgICAgIGlmICh0aGlzLl9nZXRSb3dJZCkge1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Um93SWQoeyBkYXRhLCByb3dJbmRleCB9KSA/PyB1dWlkdjQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1dWlkdjQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcm93J3MgaWQsIG9yIG51bGwgd2hlbiBpdCBjYW5ub3QgYmUga25vd24g4oCUIG5vIGlkIGZ1bmN0aW9uLCBvciBvbmVcbiAgICAgKiB0aGF0IGFuc3dlcnMgbm90aGluZyBmb3IgdGhpcyByb3cuIFVubGlrZSBgZ2VuZXJhdGVSb3dJZGAgdGhpcyBuZXZlclxuICAgICAqIG1pbnRzIGFuIGlkLCB3aGljaCBpcyB3aGF0IHJvdyBtYXRjaGluZyAodHJhbnNhY3Rpb25zKSBuZWVkczogYSBtaW50ZWRcbiAgICAgKiBpZCBtYXRjaGVzIG5vdGhpbmcgYW5kIG11c3Qgbm90IHByZXRlbmQgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZXNvbHZlUm93SWQoZGF0YTogYW55KTogc3RyaW5nIHwgbnVsbCB7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldFJvd0lkPy4oeyBkYXRhLCByb3dJbmRleDogLTEgfSkgPz8gbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -1014,6 +1014,15 @@ class OneGridRowService {
1014
1014
  }
1015
1015
  return v4();
1016
1016
  }
1017
+ /**
1018
+ * The row's id, or null when it cannot be known — no id function, or one
1019
+ * that answers nothing for this row. Unlike `generateRowId` this never
1020
+ * mints an id, which is what row matching (transactions) needs: a minted
1021
+ * id matches nothing and must not pretend otherwise.
1022
+ */
1023
+ resolveRowId(data) {
1024
+ return this._getRowId?.({ data, rowIndex: -1 }) ?? null;
1025
+ }
1017
1026
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1018
1027
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowService }); }
1019
1028
  }
@@ -1496,6 +1505,65 @@ class OneGridApi {
1496
1505
  updateRowData(rowData) {
1497
1506
  this.rebuildRows(rowData, false);
1498
1507
  }
1508
+ /**
1509
+ * Apply a batch of row changes without the host rebinding the dataset:
1510
+ * append rows (at the root, or under a parent by id on tree data), replace
1511
+ * rows by id, drop rows at any depth. Selection and expansion survive —
1512
+ * this is `updateRowData` fed from the grid's own current rows, so the
1513
+ * host keeps no parallel copy to reconcile.
1514
+ *
1515
+ * Requires a stable `context.componentParent.getRowId`: rows are matched by
1516
+ * id, and without an id function there is nothing to match on — the
1517
+ * transaction is refused with a warning rather than half-applied.
1518
+ */
1519
+ applyTransaction(transaction) {
1520
+ if (this._destroyed || !transaction)
1521
+ return;
1522
+ const sample = transaction.update?.[0] ?? transaction.add?.[0]
1523
+ ?? (transaction.remove ?? []).find(entry => typeof entry !== 'string');
1524
+ if (sample !== undefined && this.rowService.resolveRowId(sample) === null) {
1525
+ console.warn('[one-grid] applyTransaction needs context.componentParent.getRowId — rows are matched by id. Nothing was applied.');
1526
+ return;
1527
+ }
1528
+ const removeIds = new Set((transaction.remove ?? []).map(entry => typeof entry === 'string' ? entry : this.rowService.resolveRowId(entry)));
1529
+ const updates = new Map((transaction.update ?? []).map(data => [this.rowService.resolveRowId(data), data]));
1530
+ const childrenField = this.treeDataChildrenField;
1531
+ // Row grouping folds flat rows itself, so the transaction operates on the
1532
+ // leaves and re-groups; a parent target would name a synthetic group row,
1533
+ // which is not a place data can live.
1534
+ const grouping = this._rowGroupFields.length > 0;
1535
+ const addToParentId = grouping ? undefined : transaction.addToParentId;
1536
+ if (grouping && transaction.addToParentId) {
1537
+ console.warn('[one-grid] applyTransaction: addToParentId is ignored under row grouping — groups are synthetic. Rows were added at the root.');
1538
+ }
1539
+ // Copy-on-write over the grid's own current rows: the node graph carries
1540
+ // the data, so the host's original arrays are never mutated and untouched
1541
+ // branches keep their object identity for the node-reuse path.
1542
+ const applyTo = (rows) => rows
1543
+ .filter(data => !removeIds.has(this.rowService.resolveRowId(data)))
1544
+ .map(data => {
1545
+ const id = this.rowService.resolveRowId(data);
1546
+ let next = updates.get(id) ?? data;
1547
+ if (this.treeData && childrenField) {
1548
+ const children = next[childrenField];
1549
+ const rebuilt = children ? applyTo(children) : undefined;
1550
+ const withAdded = id != null && id === addToParentId
1551
+ ? [...(rebuilt ?? []), ...(transaction.add ?? [])]
1552
+ : rebuilt;
1553
+ if (withAdded !== children)
1554
+ next = { ...next, [childrenField]: withAdded ?? [] };
1555
+ }
1556
+ return next;
1557
+ });
1558
+ const currentRows = grouping
1559
+ ? this._rowNodes.filter(node => node.leaf).map(node => node.data)
1560
+ : this._rowNodes.filter(node => !node.parent).map(node => node.data);
1561
+ let roots = applyTo(currentRows);
1562
+ if (transaction.add?.length && !addToParentId) {
1563
+ roots = [...roots, ...transaction.add];
1564
+ }
1565
+ this.rebuildRows(roots, false);
1566
+ }
1499
1567
  /**
1500
1568
  * The one row-loading path. `setRowData` and `updateRowData` differed only in
1501
1569
  * whether they cleared the state services first, so everything else — build,
@@ -1516,6 +1584,11 @@ class OneGridApi {
1516
1584
  }
1517
1585
  const validRowIds = new Set();
1518
1586
  this.buildRowNodes(rowData, null, 0, validRowIds);
1587
+ // Prune BEFORE sorting and filtering: both read `_originalRowNodes`, and
1588
+ // with the prune last, a data swap while a sort was active resurrected
1589
+ // the removed rows into `_rowNodes` for one whole render — the old and
1590
+ // the new dataset on screen together until the next rebuild.
1591
+ this.pruneRemovedNodes(validRowIds);
1519
1592
  // Re-apply the active sort. `buildRowNodes` rebuilds the row list in the
1520
1593
  // order the data arrived, so without this a data update silently returned
1521
1594
  // the rows to that order while `sortModel` — and therefore the header's
@@ -1524,12 +1597,11 @@ class OneGridApi {
1524
1597
  if (this._sortModel.length > 0)
1525
1598
  this.applySorting();
1526
1599
  this.applyFilters();
1527
- this.pruneRemovedNodes(validRowIds);
1528
1600
  }
1529
1601
  /**
1530
1602
  * Recursive Build Row Nodes (Optimized)
1531
1603
  */
1532
- buildRowNodes(rowData, parent = null, level = 0, validRowIds = new Set(), expandedIds = new Set(this.expansionService.getExpandedIds()), collapsedIds = new Set(this.expansionService.getCollapsedIds()), selectedIds = new Set(this.selectionService.getSelectedIds())) {
1604
+ buildRowNodes(rowData, parent = null, level = 0, validRowIds = new Set(), expandedIds = new Set(this.expansionService.getExpandedIds()), collapsedIds = new Set(this.expansionService.getCollapsedIds()), selectedIds = new Set(this.selectionService.getSelectedIds()), visitedData = new Set()) {
1533
1605
  if (parent === null) {
1534
1606
  this._rowNodes = [];
1535
1607
  this._currentIndex = 0;
@@ -1539,6 +1611,16 @@ class OneGridApi {
1539
1611
  const nodes = [];
1540
1612
  for (const data of rowData) {
1541
1613
  const rowId = this.rowService.generateRowId(data, this._currentIndex);
1614
+ // A cycle in the children graph — a row reachable from its own subtree,
1615
+ // the classic ORM back-reference — used to recurse until the stack blew,
1616
+ // freezing the app; and with generated row ids it did so while minting
1617
+ // nodes the whole way down. The same guard also drops a duplicate row id
1618
+ // (or the same row object appearing twice): first occurrence wins.
1619
+ if (visitedData.has(data) || validRowIds.has(rowId)) {
1620
+ console.warn(`[one-grid] cyclic or duplicate row (id "${rowId}") — skipped, first occurrence wins. Tree data must be acyclic and row ids unique.`);
1621
+ continue;
1622
+ }
1623
+ visitedData.add(data);
1542
1624
  const children = data[this.treeDataChildrenField] || null;
1543
1625
  let node = this._originalRowNodes.get(rowId);
1544
1626
  validRowIds.add(rowId);
@@ -1575,7 +1657,7 @@ class OneGridApi {
1575
1657
  this._currentIndex++;
1576
1658
  this._rowNodes.push(node);
1577
1659
  nodes.push(node);
1578
- node.children = this.treeData && childrenExist ? this.buildRowNodes(children || [], node, level + 1, validRowIds, expandedIds, collapsedIds, selectedIds) : [];
1660
+ node.children = this.treeData && childrenExist ? this.buildRowNodes(children || [], node, level + 1, validRowIds, expandedIds, collapsedIds, selectedIds, visitedData) : [];
1579
1661
  }
1580
1662
  return nodes;
1581
1663
  }
@@ -1774,7 +1856,7 @@ class OneGridApi {
1774
1856
  this._rowNodes = [...this._originalRowNodes.values()];
1775
1857
  return;
1776
1858
  }
1777
- this._rowNodes = [...this._originalRowNodes.values()].sort((a, b) => {
1859
+ const comparator = (a, b) => {
1778
1860
  for (const sortItem of this._sortModel) {
1779
1861
  const { colId, sort } = sortItem;
1780
1862
  const valA = getFieldValue(a.data, colId);
@@ -1785,7 +1867,31 @@ class OneGridApi {
1785
1867
  }
1786
1868
  }
1787
1869
  return 0;
1788
- });
1870
+ };
1871
+ if (!this.treeData) {
1872
+ this._rowNodes = [...this._originalRowNodes.values()].sort(comparator);
1873
+ return;
1874
+ }
1875
+ // A tree sorts siblings within their parent, never across it — a flat
1876
+ // sort of the whole list interleaved parents with other parents' children
1877
+ // and scrambled the hierarchy. Sorting the sibling arrays and re-walking
1878
+ // depth-first keeps every parent immediately above its own children,
1879
+ // which `refreshVisibleNodes` also depends on for its visibility cache.
1880
+ // Group rows carry their aggregates in `data`, so sorting a grouped grid
1881
+ // on an aggregated column orders the groups by their aggregate.
1882
+ const flattened = [];
1883
+ const walk = (siblings) => {
1884
+ const sorted = [...siblings].sort(comparator);
1885
+ for (const node of sorted) {
1886
+ flattened.push(node);
1887
+ if (node.children?.length) {
1888
+ node.children = walk(node.children);
1889
+ }
1890
+ }
1891
+ return sorted;
1892
+ };
1893
+ walk([...this._originalRowNodes.values()].filter(node => !node.parent));
1894
+ this._rowNodes = flattened;
1789
1895
  }
1790
1896
  compareValues(valA, valB, sortDirection) {
1791
1897
  // `undefined` has to be treated as empty alongside `null`: getFieldValue