function DeviceDetailsPage(id, deviceInfo) {
    Page.call(this, id, deviceInfo.nameForDisplay, id);

    /** @type !bluetooth.mojom.DeviceInfo} */
    this.deviceInfo = deviceInfo;

    /** @private {!bluetooth.mojom.Device.ptrClass} */
    this.devicePtr_ = null;

    /** @private {!object_fieldset.ObjectFieldSet} */
    this.deviceFieldSet_ = new object_fieldset.ObjectFieldSet();
    this.deviceFieldSet_.setPropertyDisplayNames(PROPERTY_NAMES);

    /** @private {!service_list.ServiceList} */
    this.serviceList_ = new service_list.ServiceList();

    /** @private {!device_collection.ConnectionStatus} */
    this.status_ = device_collection.ConnectionStatus.DISCONNECTED;

    /** @private {?HTMLElement} */
    this.connectBtn_ = null;

    this.pageDiv.appendChild(document.importNode(
        $('device-details-template').content, true /* deep */));

    this.pageDiv.querySelector('.device-details')
        .appendChild(this.deviceFieldSet_);
    this.pageDiv.querySelector('.services').appendChild(this.serviceList_);

    this.pageDiv.querySelector('.forget').addEventListener('click', function() {
      this.disconnect();
      this.pageDiv.dispatchEvent(new CustomEvent('forgetpressed', {
        detail: {
          address: this.deviceInfo.address,
        },
      }));
    }.bind(this));

    this.connectBtn_ = this.pageDiv.querySelector('.disconnect');
    this.connectBtn_.addEventListener('click', function() {
      this.devicePtr_ !== null ? this.disconnect() : this.connect();
    }.bind(this));

    this.redraw();
  }
/**
   * Page that displays all of the details of a device. This page is generated
   * and managed dynamically in bluetooth_internals. The page contains two
   * sections: Status and Services. The Status section displays information from
   * the DeviceInfo object and the Services section contains a ServiceList
   * compononent that lists all of the active services on the device.
   * @constructor
   * @param {string} id
   * @param {!bluetooth.mojom.DeviceInfo} deviceInfo
   * @extends {cr.ui.pageManager.Page}
   */
Page that displays all of the details of a device. This page is generated
and managed dynamically in bluetooth_internals. The page contains two
sections: Status and Services. The Status section displays information from
the DeviceInfo object and the Services section contains a ServiceList
compononent that lists all of the active services on the device.
Page that displays all of the details of a device . This page is generated and managed dynamically in bluetooth_internals . The page contains two sections : Status and Services . The Status section displays information from the DeviceInfo object and the Services section contains a ServiceList compononent that lists all of the active services on the device .
function DeviceDetailsPage(id, deviceInfo) {
    Page.call(this, id, deviceInfo.nameForDisplay, id);
    this.deviceInfo = deviceInfo;
    this.devicePtr_ = null;
    this.deviceFieldSet_ = new object_fieldset.ObjectFieldSet();
    this.deviceFieldSet_.setPropertyDisplayNames(PROPERTY_NAMES);
    this.serviceList_ = new service_list.ServiceList();
    this.status_ = device_collection.ConnectionStatus.DISCONNECTED;
    this.connectBtn_ = null;
    this.pageDiv.appendChild(document.importNode(
        $('device-details-template').content, true ));
    this.pageDiv.querySelector('.device-details')
        .appendChild(this.deviceFieldSet_);
    this.pageDiv.querySelector('.services').appendChild(this.serviceList_);
    this.pageDiv.querySelector('.forget').addEventListener('click', function() {
      this.disconnect();
      this.pageDiv.dispatchEvent(new CustomEvent('forgetpressed', {
        detail: {
          address: this.deviceInfo.address,
        },
      }));
    }.bind(this));
    this.connectBtn_ = this.pageDiv.querySelector('.disconnect');
    this.connectBtn_.addEventListener('click', function() {
      this.devicePtr_ !== null ? this.disconnect() : this.connect();
    }.bind(this));
    this.redraw();
  }
function DeviceDetailsPage ( id , deviceInfo ) { Page . call ( this , id , deviceInfo . nameForDisplay , id ) ; this . deviceInfo = deviceInfo ; this . devicePtr_ = null ; this . deviceFieldSet_ = new object_fieldset . ObjectFieldSet ( ) ; this . deviceFieldSet_ . setPropertyDisplayNames ( PROPERTY_NAMES ) ; this . serviceList_ = new service_list . ServiceList ( ) ; this . status_ = device_collection . ConnectionStatus . DISCONNECTED ; this . connectBtn_ = null ; this . pageDiv . appendChild ( document . importNode ( $ ( 'device-details-template' ) . content , true ) ) ; this . pageDiv . querySelector ( '.device-details' ) . appendChild ( this . deviceFieldSet_ ) ; this . pageDiv . querySelector ( '.services' ) . appendChild ( this . serviceList_ ) ; this . pageDiv . querySelector ( '.forget' ) . addEventListener ( 'click' , function ( ) { this . disconnect ( ) ; this . pageDiv . dispatchEvent ( new CustomEvent ( 'forgetpressed' , { detail : { address : this . deviceInfo . address , } , } ) ) ; } . bind ( this ) ) ; this . connectBtn_ = this . pageDiv . querySelector ( '.disconnect' ) ; this . connectBtn_ . addEventListener ( 'click' , function ( ) { this . devicePtr_ !== null ? this . disconnect ( ) : this . connect ( ) ; } . bind ( this ) ) ; this . redraw ( ) ; }
Page that displays all of the details of a device.
Page that displays all of the details of a device .
/** @type !bluetooth.mojom.DeviceInfo} */ /** @private {!bluetooth.mojom.Device.ptrClass} */ /** @private {!object_fieldset.ObjectFieldSet} */ /** @private {!service_list.ServiceList} */ /** @private {!device_collection.ConnectionStatus} */ /** @private {?HTMLElement} */ /* deep */