com.phloxui
Version:
PhloxUI Ng2+ Framework
98 lines (97 loc) • 9.59 kB
JavaScript
/**
* @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