@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
63 lines • 7.56 kB
JavaScript
import { Component, EventEmitter, Output } from '@angular/core';
import { of } from 'rxjs';
import { ActionBarComponent } from '../../containers/action-bar/action-bar.component';
import { ActionItemComponent } from '../action-item.component';
import { ActionButtonAsync } from './action-button-async';
import * as i0 from "@angular/core";
import * as i1 from "../../containers/action-bar/action-bar.component";
export class ActionButtonAsyncComponent extends ActionItemComponent {
/**
* Constructor for ActionButtonAsyncComponent
*/
constructor(actionBarComponent) {
super();
this.actionBarComponent = actionBarComponent;
/**
* Event emitter fired when action button is clicked.
*/
this.execute = new EventEmitter(false);
}
/**
* Callback method run after ActionButtonAsyncComponent view has been initialized.
*/
ngAfterViewInit() {
setTimeout(() => {
this.actionBarComponent.updateActionBar();
});
}
/**
* Callback method run after ActionButtonAsyncComponent has been destroyed.
*/
ngOnDestroy() {
setTimeout(() => {
this.actionBarComponent.updateActionBar();
});
}
createActionItem() {
const button = new ActionButtonAsync();
button.asyncExecute = (target) => {
const args = {
execute: null,
target: target
};
this.execute.emit(args);
if (!args.execute) {
return of(target);
}
return args.execute;
};
return button;
}
}
/** @nocollapse */ ActionButtonAsyncComponent.ɵfac = function ActionButtonAsyncComponent_Factory(t) { return new (t || ActionButtonAsyncComponent)(i0.ɵɵdirectiveInject(i1.ActionBarComponent)); };
/** @nocollapse */ ActionButtonAsyncComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: ActionButtonAsyncComponent, selectors: [["sme-action-button-async", 3, "type", ""]], outputs: { execute: "execute" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 0, vars: 0, template: function ActionButtonAsyncComponent_Template(rf, ctx) { }, encapsulation: 2 });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionButtonAsyncComponent, [{
type: Component,
args: [{
selector: 'sme-action-button-async:not([type])',
template: ''
}]
}], function () { return [{ type: i1.ActionBarComponent }]; }, { execute: [{
type: Output
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbi1hc3luYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9hY3Rpb25zL2l0ZW1zL2FjdGlvbi1idXR0b24tYXN5bmMvYWN0aW9uLWJ1dHRvbi1hc3luYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBRVosTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQVUxRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsbUJBQW1CO0lBTy9EOztPQUVHO0lBQ0gsWUFBb0Isa0JBQXNDO1FBQ3RELEtBQUssRUFBRSxDQUFDO1FBRFEsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVQxRDs7V0FFRztRQUVJLFlBQU8sR0FBK0MsSUFBSSxZQUFZLENBQStCLEtBQUssQ0FBQyxDQUFDO0lBT25ILENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWU7UUFDbEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVc7UUFDZCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVTLGdCQUFnQjtRQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFPLENBQUM7UUFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzdCLE1BQU0sSUFBSSxHQUFpQztnQkFDdkMsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLE1BQU07YUFDakIsQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXhCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNmLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3JCO1lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O3VIQWhEUSwwQkFBMEI7NEdBQTFCLDBCQUEwQjt1RkFBMUIsMEJBQTBCO2NBSnRDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUscUNBQXFDO2dCQUMvQyxRQUFRLEVBQUUsRUFBRTthQUNmO3FFQU1VLE9BQU87a0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFjdGlvbkJhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRhaW5lcnMvYWN0aW9uLWJhci9hY3Rpb24tYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24taXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3Rpb25CdXR0b25Bc3luYyB9IGZyb20gJy4vYWN0aW9uLWJ1dHRvbi1hc3luYyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkJ1dHRvbkFzeW5jRXhlY3V0ZUFyZ3Mge1xyXG4gICAgZXhlY3V0ZTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgdGFyZ2V0OiBhbnk7XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1hY3Rpb24tYnV0dG9uLWFzeW5jOm5vdChbdHlwZV0pJyxcclxuICAgIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aW9uQnV0dG9uQXN5bmNDb21wb25lbnQgZXh0ZW5kcyBBY3Rpb25JdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAgIC8qKlxyXG4gICAgICogRXZlbnQgZW1pdHRlciBmaXJlZCB3aGVuIGFjdGlvbiBidXR0b24gaXMgY2xpY2tlZC5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZXhlY3V0ZTogRXZlbnRFbWl0dGVyPEFjdGlvbkJ1dHRvbkFzeW5jRXhlY3V0ZUFyZ3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25CdXR0b25Bc3luY0V4ZWN1dGVBcmdzPihmYWxzZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb25zdHJ1Y3RvciBmb3IgQWN0aW9uQnV0dG9uQXN5bmNDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25CYXJDb21wb25lbnQ6IEFjdGlvbkJhckNvbXBvbmVudCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayBtZXRob2QgcnVuIGFmdGVyIEFjdGlvbkJ1dHRvbkFzeW5jQ29tcG9uZW50IHZpZXcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uQmFyQ29tcG9uZW50LnVwZGF0ZUFjdGlvbkJhcigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgbWV0aG9kIHJ1biBhZnRlciBBY3Rpb25CdXR0b25Bc3luY0NvbXBvbmVudCBoYXMgYmVlbiBkZXN0cm95ZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hY3Rpb25CYXJDb21wb25lbnQudXBkYXRlQWN0aW9uQmFyKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkl0ZW0oKTogQWN0aW9uQnV0dG9uQXN5bmM8YW55PiB7XHJcbiAgICAgICAgY29uc3QgYnV0dG9uID0gbmV3IEFjdGlvbkJ1dHRvbkFzeW5jPGFueT4oKTtcclxuICAgICAgICBidXR0b24uYXN5bmNFeGVjdXRlID0gKHRhcmdldCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBhcmdzOiBBY3Rpb25CdXR0b25Bc3luY0V4ZWN1dGVBcmdzID0ge1xyXG4gICAgICAgICAgICAgICAgZXhlY3V0ZTogbnVsbCxcclxuICAgICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZS5lbWl0KGFyZ3MpO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFhcmdzLmV4ZWN1dGUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0YXJnZXQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gYXJncy5leGVjdXRlO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIGJ1dHRvbjtcclxuICAgIH1cclxufVxyXG4iXX0=