SelectionModel.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. 'use strict';
  2. /**
  3. * Licensed Materials - Property of IBM
  4. *
  5. * IBM Cognos Products: BI Cloud
  6. *
  7. * (C) Copyright IBM Corp. 2014, 2017
  8. *
  9. * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  10. */
  11. define(['../../lib/@waca/core-client/js/core-client/ui/core/Events'], function (Events) {
  12. var SelectionModel = null;
  13. /**
  14. * This class provides Selection Model (API).
  15. */
  16. SelectionModel = Events.extend({
  17. _bSelectionModeOn: false,
  18. init: function init() {
  19. SelectionModel.inherited('init', this, arguments);
  20. },
  21. inSelectionMode: function inSelectionMode() {
  22. return this._bSelectionModeOn;
  23. },
  24. /**
  25. * Usually invoked by user gesture handler on data view
  26. *
  27. * This fires SelectionModeOn event.
  28. * Usually a controller listens it and invokes contextbar.show
  29. */
  30. turnOnSelectionMode: function turnOnSelectionMode(event) {
  31. this._bSelectionModeOn = true;
  32. this.trigger('selectionMode:ON', { 'payload': event });
  33. },
  34. /**
  35. * Usually invoked by user gesture handler on data view
  36. *
  37. * This fires SelectionModeOn event.
  38. * Usually a controller listens it and invokes contextbar.hide
  39. */
  40. turnOffSelectionMode: function turnOffSelectionMode(event) {
  41. this._bSelectionModeOn = false;
  42. this.trigger('selectionMode:OFF', { 'payload': event });
  43. },
  44. /**
  45. * Usually invoked by controller
  46. * i.e) user clicks close button on context bar
  47. */
  48. stopSelectionMode: function stopSelectionMode() {
  49. this._bSelectionModeOn = false;
  50. this.unselectAll();
  51. },
  52. /**
  53. * Usually invoked by controller
  54. * i.e) user clicks multi-select button on context bar
  55. */
  56. startSelectionMode: function startSelectionMode() {
  57. this._bSelectionModeOn = true;
  58. this.unselectAll();
  59. },
  60. /*
  61. * abstracts functions
  62. */
  63. getSelections: function getSelections() {
  64. return [];
  65. },
  66. unselectAll: function unselectAll() {
  67. return;
  68. }
  69. });
  70. return SelectionModel;
  71. });
  72. //# sourceMappingURL=SelectionModel.js.map