@clr/angular
Version:
Angular components for Clarity
57 lines • 5.79 kB
JavaScript
/*
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
* This software is released under MIT license.
* The full license information can be found in LICENSE in the root directory of this project.
*/
import { Directive, Input, Optional } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./loading-listener";
export var ClrLoadingState;
(function (ClrLoadingState) {
ClrLoadingState[ClrLoadingState["DEFAULT"] = 0] = "DEFAULT";
ClrLoadingState[ClrLoadingState["LOADING"] = 1] = "LOADING";
ClrLoadingState[ClrLoadingState["SUCCESS"] = 2] = "SUCCESS";
ClrLoadingState[ClrLoadingState["ERROR"] = 3] = "ERROR";
})(ClrLoadingState || (ClrLoadingState = {}));
export class ClrLoading {
// We find the first parent that handles something loading
constructor(listener) {
this.listener = listener;
this._loadingState = ClrLoadingState.DEFAULT;
}
get loadingState() {
return this._loadingState;
}
set loadingState(value) {
if (value === true) {
value = ClrLoadingState.LOADING;
}
else if (!value) {
value = ClrLoadingState.DEFAULT;
}
if (value === this._loadingState) {
return;
}
this._loadingState = value;
if (this.listener) {
this.listener.loadingStateChange(value);
}
}
ngOnDestroy() {
this.loadingState = ClrLoadingState.DEFAULT;
}
}
ClrLoading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrLoading, deps: [{ token: i1.LoadingListener, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
ClrLoading.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrLoading, selector: "[clrLoading]", inputs: { loadingState: ["clrLoading", "loadingState"] }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrLoading, decorators: [{
type: Directive,
args: [{
selector: '[clrLoading]',
}]
}], ctorParameters: function () { return [{ type: i1.LoadingListener, decorators: [{
type: Optional
}] }]; }, propDecorators: { loadingState: [{
type: Input,
args: ['clrLoading']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2xvYWRpbmcvbG9hZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJdEUsTUFBTSxDQUFOLElBQVksZUFLWDtBQUxELFdBQVksZUFBZTtJQUN6QiwyREFBTyxDQUFBO0lBQ1AsMkRBQU8sQ0FBQTtJQUNQLDJEQUFPLENBQUE7SUFDUCx1REFBSyxDQUFBO0FBQ1AsQ0FBQyxFQUxXLGVBQWUsS0FBZixlQUFlLFFBSzFCO0FBS0QsTUFBTSxPQUFPLFVBQVU7SUFLckIsMERBQTBEO0lBQzFELFlBQWdDLFFBQXlCO1FBQXpCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBSGpELGtCQUFhLEdBQTZCLGVBQWUsQ0FBQyxPQUFPLENBQUM7SUFHZCxDQUFDO0lBRTdELElBQ0ksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsS0FBeUM7UUFDeEQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2xCLEtBQUssR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO1NBQ2pDO2FBQU0sSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNqQixLQUFLLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztTQUNqQztRQUVELElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztJQUM5QyxDQUFDOzt1R0EvQlUsVUFBVTsyRkFBVixVQUFVOzJGQUFWLFVBQVU7a0JBSHRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOzswQkFPYyxRQUFROzRDQUdqQixZQUFZO3NCQURmLEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMb2FkaW5nTGlzdGVuZXIgfSBmcm9tICcuL2xvYWRpbmctbGlzdGVuZXInO1xuXG5leHBvcnQgZW51bSBDbHJMb2FkaW5nU3RhdGUge1xuICBERUZBVUxULFxuICBMT0FESU5HLFxuICBTVUNDRVNTLFxuICBFUlJPUixcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsckxvYWRpbmddJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyTG9hZGluZyBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9sb2FkaW5nU3RhdGU6IGJvb2xlYW4gfCBDbHJMb2FkaW5nU3RhdGUgfCBudWxsIHwgc3RyaW5nO1xuXG4gIHByaXZhdGUgX2xvYWRpbmdTdGF0ZTogQ2xyTG9hZGluZ1N0YXRlIHwgc3RyaW5nID0gQ2xyTG9hZGluZ1N0YXRlLkRFRkFVTFQ7XG5cbiAgLy8gV2UgZmluZCB0aGUgZmlyc3QgcGFyZW50IHRoYXQgaGFuZGxlcyBzb21ldGhpbmcgbG9hZGluZ1xuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIGxpc3RlbmVyOiBMb2FkaW5nTGlzdGVuZXIpIHt9XG5cbiAgQElucHV0KCdjbHJMb2FkaW5nJylcbiAgZ2V0IGxvYWRpbmdTdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZ1N0YXRlO1xuICB9XG4gIHNldCBsb2FkaW5nU3RhdGUodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcgfCBDbHJMb2FkaW5nU3RhdGUpIHtcbiAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHZhbHVlID0gQ2xyTG9hZGluZ1N0YXRlLkxPQURJTkc7XG4gICAgfSBlbHNlIGlmICghdmFsdWUpIHtcbiAgICAgIHZhbHVlID0gQ2xyTG9hZGluZ1N0YXRlLkRFRkFVTFQ7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSB0aGlzLl9sb2FkaW5nU3RhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9sb2FkaW5nU3RhdGUgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5saXN0ZW5lcikge1xuICAgICAgdGhpcy5saXN0ZW5lci5sb2FkaW5nU3RhdGVDaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMubG9hZGluZ1N0YXRlID0gQ2xyTG9hZGluZ1N0YXRlLkRFRkFVTFQ7XG4gIH1cbn1cbiJdfQ==