UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

98 lines (97 loc) 9.59 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /** * <p style="text-indent: 2em;"> * An interface class of a component which has <code>data</code> or can bind <code>data</code> with. All classes implementing this interface must provide the * <code>data mechanism</code> to the user. A single <code>data parent</code> may have one or more <code>data children</code>. When parent's data is changed, * the parent will propogate the data change to all of its children. The method [[isDataDirty]] provides you the way to check that the data has been edited * from its original state or not. This mechanism is very useful when you're developing an application which allows the user to edit data before save. When * the user is leaving the page with unsaved data, the application may notify a warning message asking the user to save the data before leaving. Imagine that * if your page contains a numerous of input components, by using the <code>data mechanism</code> provided by this interface, you can easily register those * input components as page's <code>data children</code>. And, when you want to check that the user can leave this page or not, you just use the method * [[isDataDirty]] on page component, it will automatically check the data dirty state on all of its <code>data children</code>. * </p> * * @author shiorin, tee4cute * @see [[AbstractHasData]] * @record */ export function IHasData() { } function IHasData_tsickle_Closure_declarations() { /** * Get the <code>data</code> object bound to <code>this</code> component. * @type {?} */ IHasData.prototype.getData; /** * Set and bind <code><b>data</b></code> into <code>this</code> component. * * \@param data The data object to set. * @type {?} */ IHasData.prototype.setData; /** * Add a <code>data <b>child</b></code> into <code>this</code> component. * * \@param child A <code>data child</code> component to be added. * @type {?} */ IHasData.prototype.addDataChild; /** * Remove the given <code>data <b>child</b></code> from <code>this</code> component. * * \@param child A <code>data child</code> component to be removed. * @type {?} */ IHasData.prototype.removeDataChild; /** * Set a <code>data parent</code> into <code>this</code> component. * * \@param parent A <code>data parent</code> component to be set. * @type {?} */ IHasData.prototype.setDataParent; /** * Get the <code>data parent</code> of <code>this</code> component. This method can return <code>null</code> if <code>this</code> * component has no <code>data parent</code>. * @type {?} */ IHasData.prototype.getDataParent; /** * Get the array of <code>data children</code> of <code>this</code> component. This method will return <code>empty array</code> if * there is no any <code>data child</code> of <code>this</code> component. * @type {?} */ IHasData.prototype.getDataChildren; /** * To check that the <code>data</code> bound to <code>this</code> component is dirty or not. The <code>data</code> will be marked * as dirty if it is changed from its original state. * @type {?} */ IHasData.prototype.isDataDirty; /** * To check that <code>this</code> component will ignore data propagated from <code>data parent</code> or not. * @type {?} */ IHasData.prototype.isIgnoreParentData; /** * Set a flag indicating that <code>this</code> component will ignore data propagated from <code>data parent</code> or not. * * \@param ignore A flag indicating that <code>this</code> component will ignore data propagated from <code>data parent</code> or not. * @type {?} */ IHasData.prototype.setIgnoreParentData; /** * To save <code>data</code> that bound to <code>this</code> component. * @type {?} */ IHasData.prototype.saveData; /** * To reset <code>data</code> that bound to <code>this</code> component. * @type {?} */ IHasData.prototype.resetData; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUhhc0RhdGEuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvSUhhc0RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogPHAgc3R5bGU9XCJ0ZXh0LWluZGVudDogMmVtO1wiPlxuICogQW4gaW50ZXJmYWNlIGNsYXNzIG9mIGEgY29tcG9uZW50IHdoaWNoIGhhcyA8Y29kZT5kYXRhPC9jb2RlPiBvciBjYW4gYmluZCA8Y29kZT5kYXRhPC9jb2RlPiB3aXRoLiBBbGwgY2xhc3NlcyBpbXBsZW1lbnRpbmcgdGhpcyBpbnRlcmZhY2UgbXVzdCBwcm92aWRlIHRoZVxuICogPGNvZGU+ZGF0YSBtZWNoYW5pc208L2NvZGU+IHRvIHRoZSB1c2VyLiBBIHNpbmdsZSA8Y29kZT5kYXRhIHBhcmVudDwvY29kZT4gbWF5IGhhdmUgb25lIG9yIG1vcmUgPGNvZGU+ZGF0YSBjaGlsZHJlbjwvY29kZT4uIFdoZW4gcGFyZW50J3MgZGF0YSBpcyBjaGFuZ2VkLFxuICogdGhlIHBhcmVudCB3aWxsIHByb3BvZ2F0ZSB0aGUgZGF0YSBjaGFuZ2UgdG8gYWxsIG9mIGl0cyBjaGlsZHJlbi4gVGhlIG1ldGhvZCBbW2lzRGF0YURpcnR5XV0gcHJvdmlkZXMgeW91IHRoZSB3YXkgdG8gY2hlY2sgdGhhdCB0aGUgZGF0YSBoYXMgYmVlbiBlZGl0ZWRcbiAqIGZyb20gaXRzIG9yaWdpbmFsIHN0YXRlIG9yIG5vdC4gVGhpcyBtZWNoYW5pc20gaXMgdmVyeSB1c2VmdWwgd2hlbiB5b3UncmUgZGV2ZWxvcGluZyBhbiBhcHBsaWNhdGlvbiB3aGljaCBhbGxvd3MgdGhlIHVzZXIgdG8gZWRpdCBkYXRhIGJlZm9yZSBzYXZlLiBXaGVuXG4gKiB0aGUgdXNlciBpcyBsZWF2aW5nIHRoZSBwYWdlIHdpdGggdW5zYXZlZCBkYXRhLCB0aGUgYXBwbGljYXRpb24gbWF5IG5vdGlmeSBhIHdhcm5pbmcgbWVzc2FnZSBhc2tpbmcgdGhlIHVzZXIgdG8gc2F2ZSB0aGUgZGF0YSBiZWZvcmUgbGVhdmluZy4gSW1hZ2luZSB0aGF0XG4gKiBpZiB5b3VyIHBhZ2UgY29udGFpbnMgYSBudW1lcm91cyBvZiBpbnB1dCBjb21wb25lbnRzLCBieSB1c2luZyB0aGUgPGNvZGU+ZGF0YSBtZWNoYW5pc208L2NvZGU+IHByb3ZpZGVkIGJ5IHRoaXMgaW50ZXJmYWNlLCB5b3UgY2FuIGVhc2lseSByZWdpc3RlciB0aG9zZVxuICogaW5wdXQgY29tcG9uZW50cyBhcyBwYWdlJ3MgPGNvZGU+ZGF0YSBjaGlsZHJlbjwvY29kZT4uIEFuZCwgd2hlbiB5b3Ugd2FudCB0byBjaGVjayB0aGF0IHRoZSB1c2VyIGNhbiBsZWF2ZSB0aGlzIHBhZ2Ugb3Igbm90LCB5b3UganVzdCB1c2UgdGhlIG1ldGhvZFxuICogW1tpc0RhdGFEaXJ0eV1dIG9uIHBhZ2UgY29tcG9uZW50LCBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgY2hlY2sgdGhlIGRhdGEgZGlydHkgc3RhdGUgb24gYWxsIG9mIGl0cyA8Y29kZT5kYXRhIGNoaWxkcmVuPC9jb2RlPi5cbiAqIDwvcD5cbiAqXG4gKiBAYXV0aG9yIHNoaW9yaW4sIHRlZTRjdXRlXG4gKiBAc2VlIFtbQWJzdHJhY3RIYXNEYXRhXV1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSGFzRGF0YSB7XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIDxjb2RlPmRhdGE8L2NvZGU+IG9iamVjdCBib3VuZCB0byA8Y29kZT50aGlzPC9jb2RlPiBjb21wb25lbnQuXG4gICAgICovXG4gICAgZ2V0RGF0YSgpOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBTZXQgYW5kIGJpbmQgPGNvZGU+PGI+ZGF0YTwvYj48L2NvZGU+IGludG8gPGNvZGU+dGhpczwvY29kZT4gY29tcG9uZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgb2JqZWN0IHRvIHNldC5cbiAgICAgKi9cbiAgICBzZXREYXRhKGRhdGE6IGFueSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBBZGQgYSA8Y29kZT5kYXRhIDxiPmNoaWxkPC9iPjwvY29kZT4gaW50byA8Y29kZT50aGlzPC9jb2RlPiBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2hpbGQgQSA8Y29kZT5kYXRhIGNoaWxkPC9jb2RlPiBjb21wb25lbnQgdG8gYmUgYWRkZWQuXG4gICAgICovXG4gICAgYWRkRGF0YUNoaWxkKGNoaWxkOiBJSGFzRGF0YSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGdpdmVuIDxjb2RlPmRhdGEgPGI+Y2hpbGQ8L2I+PC9jb2RlPiBmcm9tIDxjb2RlPnRoaXM8L2NvZGU+IGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjaGlsZCBBIDxjb2RlPmRhdGEgY2hpbGQ8L2NvZGU+IGNvbXBvbmVudCB0byBiZSByZW1vdmVkLlxuICAgICAqL1xuICAgIHJlbW92ZURhdGFDaGlsZChjaGlsZDogSUhhc0RhdGEpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogU2V0IGEgPGNvZGU+ZGF0YSBwYXJlbnQ8L2NvZGU+IGludG8gPGNvZGU+dGhpczwvY29kZT4gY29tcG9uZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmVudCBBIDxjb2RlPmRhdGEgcGFyZW50PC9jb2RlPiBjb21wb25lbnQgdG8gYmUgc2V0LlxuICAgICAqL1xuICAgIHNldERhdGFQYXJlbnQocGFyZW50OiBJSGFzRGF0YSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIDxjb2RlPmRhdGEgcGFyZW50PC9jb2RlPiBvZiA8Y29kZT50aGlzPC9jb2RlPiBjb21wb25lbnQuIFRoaXMgbWV0aG9kIGNhbiByZXR1cm4gPGNvZGU+bnVsbDwvY29kZT4gaWYgPGNvZGU+dGhpczwvY29kZT5cbiAgICAgKiBjb21wb25lbnQgaGFzIG5vIDxjb2RlPmRhdGEgcGFyZW50PC9jb2RlPi5cbiAgICAgKi9cbiAgICBnZXREYXRhUGFyZW50KCk6IElIYXNEYXRhO1xuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBhcnJheSBvZiA8Y29kZT5kYXRhIGNoaWxkcmVuPC9jb2RlPiBvZiA8Y29kZT50aGlzPC9jb2RlPiBjb21wb25lbnQuIFRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIDxjb2RlPmVtcHR5IGFycmF5PC9jb2RlPiBpZlxuICAgICAqIHRoZXJlIGlzIG5vIGFueSA8Y29kZT5kYXRhIGNoaWxkPC9jb2RlPiBvZiA8Y29kZT50aGlzPC9jb2RlPiBjb21wb25lbnQuXG4gICAgICovXG4gICAgZ2V0RGF0YUNoaWxkcmVuKCk6IElIYXNEYXRhW107XG5cbiAgICAvKipcbiAgICAgKiBUbyBjaGVjayB0aGF0IHRoZSA8Y29kZT5kYXRhPC9jb2RlPiBib3VuZCB0byA8Y29kZT50aGlzPC9jb2RlPiBjb21wb25lbnQgaXMgZGlydHkgb3Igbm90LiBUaGUgPGNvZGU+ZGF0YTwvY29kZT4gd2lsbCBiZSBtYXJrZWRcbiAgICAgKiBhcyBkaXJ0eSBpZiBpdCBpcyBjaGFuZ2VkIGZyb20gaXRzIG9yaWdpbmFsIHN0YXRlLlxuICAgICAqL1xuICAgIGlzRGF0YURpcnR5KCk6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUbyBjaGVjayB0aGF0IDxjb2RlPnRoaXM8L2NvZGU+IGNvbXBvbmVudCB3aWxsIGlnbm9yZSBkYXRhIHByb3BhZ2F0ZWQgZnJvbSA8Y29kZT5kYXRhIHBhcmVudDwvY29kZT4gb3Igbm90LlxuICAgICAqL1xuICAgIGlzSWdub3JlUGFyZW50RGF0YSgpOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU2V0IGEgZmxhZyBpbmRpY2F0aW5nIHRoYXQgPGNvZGU+dGhpczwvY29kZT4gY29tcG9uZW50IHdpbGwgaWdub3JlIGRhdGEgcHJvcGFnYXRlZCBmcm9tIDxjb2RlPmRhdGEgcGFyZW50PC9jb2RlPiBvciBub3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWdub3JlIEEgZmxhZyBpbmRpY2F0aW5nIHRoYXQgPGNvZGU+dGhpczwvY29kZT4gY29tcG9uZW50IHdpbGwgaWdub3JlIGRhdGEgcHJvcGFnYXRlZCBmcm9tIDxjb2RlPmRhdGEgcGFyZW50PC9jb2RlPiBvciBub3QuXG4gICAgICovXG4gICAgc2V0SWdub3JlUGFyZW50RGF0YShpZ25vcmU6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogVG8gc2F2ZSA8Y29kZT5kYXRhPC9jb2RlPiB0aGF0IGJvdW5kIHRvIDxjb2RlPnRoaXM8L2NvZGU+IGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBzYXZlRGF0YShkYXRhPzogYW55KTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFRvIHJlc2V0IDxjb2RlPmRhdGE8L2NvZGU+IHRoYXQgYm91bmQgdG8gPGNvZGU+dGhpczwvY29kZT4gY29tcG9uZW50LlxuICAgICAqL1xuICAgIHJlc2V0RGF0YSgpOiB2b2lkO1xufVxuIl19