import Component  from '../component.js'

class CoUxNotificationsPanel extends Component {
    constructor(parent) {
      let selector = 'div[@data-e2e="ux-notifications-panel"]';
      super(parent, selector);
    }
    get header() {
      let path = '//div[@class = "ux-notifications-panel__header"]';
      return this.currentPath + path;
    }
    get headerTitle() {
      let path = '//div[@class = "ux-notifications-panel__header-title"]';
      return this.header + path;
    }
    get headerTitleLabel() {
      let path = '//div[@class = "ux-notifications-panel__header-title-label"]';
      return this.headerTitle + path;
    }
    get notificationBadgeCO() {
      return new CoUxBadge(this.headerTitleLabel);
    }
    get headerActions() {
      let path = '//div[contains(@class, "ux-notifications-panel__header-actions")]';
      return this.header + path;
    }
    get markAllAsReadButtonCO() {
      let path = '//div[contains(@class, "ion-android-checkbox-outline")]';
      return new CoUxButton(this.headerActions + path);
    }
    get showSettingsButtonCO() {
      let path = '//div[contains(@class, "ion-android-settings")]';
      return new CoUxButton(this.headerActions + path);
    }
    get showRefreshButtonCO() {
      let path = '//div[contains(@class, "ion-android-refresh")]';
      return new CoUxButton(this.headerActions + path);
    }
    get notificationsPanelContent() {
      let path = '//div[@class = "ux-notifications-panel__content"]';
      return this.currentPath + path;
    }
    get notificationItemCO() {
      return new CoUxNotificationItem(this.notificationsPanelContent);
    }
    get notificationsPanelFooter() {
      let path = '//div[@class = "ux-notifications-panel__footer"]';
      return this.currentPath + path;
    }
    get notificationPanelFooterViewAllLink() {
      let path = '/strong/a';
      return this.notificationsPanelFooter + path;
    }
    get notificationsPanelFooterItem() {
      let path = '//div[contains(@class, "ux-notification__item-content")]';
      return this.notificationsPanelFooter + path;
    }
    get notificationsPanelFooterNoNotificationLink() {
      let path = '/strong/a';
      return this.notificationsPanelFooterItem + path;
    }
}

