foundation.ts 620 B

123456789101112131415161718
  1. import BaseFoundation, { DefaultAdapter } from '../base/foundation';
  2. export interface BannerAdapter<P = Record<string, any>, S = Record<string, any>> extends DefaultAdapter<P, S> {
  3. setVisible: () => void;
  4. notifyClose: (e: any) => void;
  5. }
  6. export default class BannerFoundation<P = Record<string, any>, S = Record<string, any>> extends BaseFoundation<BannerAdapter<P, S>, P, S> {
  7. constructor(adapter: BannerAdapter<P, S>) {
  8. super({ ...BannerFoundation.defaultAdapter, ...adapter });
  9. }
  10. removeBanner(e: any) {
  11. this._adapter.notifyClose(e);
  12. this._adapter.setVisible();
  13. }
  14. }