function FileSelectionHandler(
    directoryModel, fileOperationManager, listContainer, metadataModel,
    volumeManager) {
  cr.EventTarget.call(this);

  /**
   * @private {DirectoryModel}
   * @const
   */
  this.directoryModel_ = directoryModel;

  /**
   * @private {ListContainer}
   * @const
   */
  this.listContainer_ = listContainer;

  /**
   * @private {MetadataModel}
   * @const
   */
  this.metadataModel_ = metadataModel;

  /**
   * @private {VolumeManagerWrapper}
   * @const
   */
  this.volumeManager_ = volumeManager;

  /**
   * @type {FileSelection}
   */
  this.selection = new FileSelection([], []);

  /**
   * @private {?number}
   */
  this.selectionUpdateTimer_ = 0;

  /**
   * @private {number}
   */
  this.lastFileSelectionTime_ = Date.now();

  util.addEventListenerToBackgroundComponent(
      assert(fileOperationManager), 'entries-changed',
      this.onFileSelectionChanged.bind(this));
  // Register evnets to update file selections.
  directoryModel.addEventListener(
      'directory-changed', this.onFileSelectionChanged.bind(this));
}
/**
 * This object encapsulates everything related to current selection.
 *
 * @param {!DirectoryModel} directoryModel
 * @param {!FileOperationManager} fileOperationManager
 * @param {!ListContainer} listContainer
 * @param {!MetadataModel} metadataModel
 * @param {!VolumeManagerWrapper} volumeManager
 * @extends {cr.EventTarget}
 * @constructor
 * @struct
 */
This object encapsulates everything related to current selection.
This object encapsulates everything related to current selection .
function FileSelectionHandler(
    directoryModel, fileOperationManager, listContainer, metadataModel,
    volumeManager) {
  cr.EventTarget.call(this);
  this.directoryModel_ = directoryModel;
  this.listContainer_ = listContainer;
  this.metadataModel_ = metadataModel;
  this.volumeManager_ = volumeManager;
  this.selection = new FileSelection([], []);
  this.selectionUpdateTimer_ = 0;
  this.lastFileSelectionTime_ = Date.now();
  util.addEventListenerToBackgroundComponent(
      assert(fileOperationManager), 'entries-changed',
      this.onFileSelectionChanged.bind(this));
  directoryModel.addEventListener(
      'directory-changed', this.onFileSelectionChanged.bind(this));
}
function FileSelectionHandler ( directoryModel , fileOperationManager , listContainer , metadataModel , volumeManager ) { cr . EventTarget . call ( this ) ; this . directoryModel_ = directoryModel ; this . listContainer_ = listContainer ; this . metadataModel_ = metadataModel ; this . volumeManager_ = volumeManager ; this . selection = new FileSelection ( [ ] , [ ] ) ; this . selectionUpdateTimer_ = 0 ; this . lastFileSelectionTime_ = Date . now ( ) ; util . addEventListenerToBackgroundComponent ( assert ( fileOperationManager ) , 'entries-changed' , this . onFileSelectionChanged . bind ( this ) ) ; directoryModel . addEventListener ( 'directory-changed' , this . onFileSelectionChanged . bind ( this ) ) ; }
This object encapsulates everything related to current selection.
This object encapsulates everything related to current selection .
/**
   * @private {DirectoryModel}
   * @const
   */ /**
   * @private {ListContainer}
   * @const
   */ /**
   * @private {MetadataModel}
   * @const
   */ /**
   * @private {VolumeManagerWrapper}
   * @const
   */ /**
   * @type {FileSelection}
   */ /**
   * @private {?number}
   */ /**
   * @private {number}
   */ // Register evnets to update file selections.