react-big-schedule 3.0.2 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/CHANGELOG.md +124 -0
  2. package/README.md +1 -1
  3. package/dist/components/AddMore.js +48 -0
  4. package/dist/components/AddMorePopover.js +108 -0
  5. package/dist/components/AgendaEventItem.js +76 -0
  6. package/dist/components/AgendaResourceEvents.js +108 -0
  7. package/dist/components/AgendaView.js +52 -0
  8. package/dist/components/BodyView.js +58 -0
  9. package/dist/components/DnDContext.js +148 -0
  10. package/dist/components/DnDSource.js +121 -0
  11. package/dist/components/EventItem.js +695 -0
  12. package/dist/components/EventItemPopover.js +143 -0
  13. package/dist/components/HeaderView.js +132 -0
  14. package/dist/components/ResourceEvents.js +400 -0
  15. package/dist/components/ResourceView.js +119 -0
  16. package/dist/components/SchedulerData.js +1179 -0
  17. package/dist/components/SchedulerHeader.js +162 -0
  18. package/dist/components/SelectedArea.js +33 -0
  19. package/dist/components/Summary.js +60 -0
  20. package/dist/components/WrapperFun.js +18 -0
  21. package/dist/components/index.js +580 -0
  22. package/dist/config/default.js +42 -0
  23. package/dist/config/scheduler.js +109 -0
  24. package/dist/{style.css → css/style.css} +252 -252
  25. package/dist/helper/behaviors.js +108 -0
  26. package/dist/helper/utility.js +20 -0
  27. package/dist/index.js +16 -0
  28. package/dist/main.js +8 -0
  29. package/dist/sample-data/sample1.js +336 -0
  30. package/package.json +26 -22
  31. package/dist/af-d261e868.mjs +0 -39
  32. package/dist/am-224a9385.mjs +0 -39
  33. package/dist/ar-dz-91081f8c.mjs +0 -41
  34. package/dist/ar-f5c171ed.mjs +0 -47
  35. package/dist/ar-iq-35005b0c.mjs +0 -41
  36. package/dist/ar-kw-1a9a82be.mjs +0 -41
  37. package/dist/ar-ly-11c752c5.mjs +0 -41
  38. package/dist/ar-ma-7e359427.mjs +0 -41
  39. package/dist/ar-sa-29446434.mjs +0 -41
  40. package/dist/ar-tn-63e67ef5.mjs +0 -41
  41. package/dist/ar_EG-b98e6d11.mjs +0 -235
  42. package/dist/az-bfd231b5.mjs +0 -39
  43. package/dist/az_AZ-263b31eb.mjs +0 -212
  44. package/dist/be-d70c00f9.mjs +0 -39
  45. package/dist/bg-e99bbe0b.mjs +0 -43
  46. package/dist/bg_BG-b1adcb56.mjs +0 -210
  47. package/dist/bi-9f01c3c6.mjs +0 -39
  48. package/dist/bm-8bf4bc50.mjs +0 -39
  49. package/dist/bn-bd-abdb28cb.mjs +0 -50
  50. package/dist/bn-d871a0e3.mjs +0 -47
  51. package/dist/bn_BD-f7dac38c.mjs +0 -253
  52. package/dist/bo-7b71a483.mjs +0 -39
  53. package/dist/br-f179db70.mjs +0 -63
  54. package/dist/bs-c8ed7148.mjs +0 -39
  55. package/dist/by_BY-1679b3e6.mjs +0 -256
  56. package/dist/ca-232f44f2.mjs +0 -39
  57. package/dist/ca_ES-76318eea.mjs +0 -239
  58. package/dist/context-1dd2fa5f.mjs +0 -26
  59. package/dist/context-8a360554.mjs +0 -13
  60. package/dist/cs-0b32023f.mjs +0 -70
  61. package/dist/cs_CZ-97ef6de0.mjs +0 -246
  62. package/dist/cv-4792f0ee.mjs +0 -39
  63. package/dist/cy-96c8b119.mjs +0 -39
  64. package/dist/da-d928f274.mjs +0 -39
  65. package/dist/da_DK-adbed59d.mjs +0 -171
  66. package/dist/de-34f06a9a.mjs +0 -44
  67. package/dist/de-at-84562d2e.mjs +0 -44
  68. package/dist/de-ch-79a3153c.mjs +0 -44
  69. package/dist/de_DE-6a461f9f.mjs +0 -251
  70. package/dist/dv-0ee272b1.mjs +0 -39
  71. package/dist/el-637c2b50.mjs +0 -39
  72. package/dist/el_GR-68dee4cf.mjs +0 -160
  73. package/dist/en-6cc074f6.mjs +0 -36
  74. package/dist/en-au-1ed9ed33.mjs +0 -39
  75. package/dist/en-ca-7742e9f1.mjs +0 -39
  76. package/dist/en-gb-2f274ed7.mjs +0 -40
  77. package/dist/en-ie-c281d009.mjs +0 -39
  78. package/dist/en-il-48c6e4fe.mjs +0 -39
  79. package/dist/en-in-f336c1e3.mjs +0 -40
  80. package/dist/en-nz-296ee938.mjs +0 -40
  81. package/dist/en-sg-903fc3e4.mjs +0 -39
  82. package/dist/en-tt-88f14f96.mjs +0 -40
  83. package/dist/en_GB-75e0bc3a.mjs +0 -254
  84. package/dist/en_US-375111a8.mjs +0 -150
  85. package/dist/en_US-4b7d1df0.mjs +0 -104
  86. package/dist/en_US-9c29aede.mjs +0 -26
  87. package/dist/eo-0b9df0e3.mjs +0 -39
  88. package/dist/es-7d03b704.mjs +0 -39
  89. package/dist/es-do-fdb84224.mjs +0 -39
  90. package/dist/es-mx-ce5288a0.mjs +0 -39
  91. package/dist/es-pr-14324bdd.mjs +0 -39
  92. package/dist/es-us-0d104bbf.mjs +0 -39
  93. package/dist/es_ES-31262a5e.mjs +0 -246
  94. package/dist/et-9f30f713.mjs +0 -44
  95. package/dist/et_EE-65ea7c61.mjs +0 -246
  96. package/dist/eu-63a1f76f.mjs +0 -39
  97. package/dist/eu_ES-fe711360.mjs +0 -247
  98. package/dist/fa-335d0b96.mjs +0 -39
  99. package/dist/fa_IR-f4ec27d2.mjs +0 -264
  100. package/dist/fi-7cdd9168.mjs +0 -44
  101. package/dist/fi_FI-f6329731.mjs +0 -170
  102. package/dist/fo-d0d95c1e.mjs +0 -39
  103. package/dist/fr-b01e251f.mjs +0 -39
  104. package/dist/fr-ca-2522539f.mjs +0 -39
  105. package/dist/fr-ch-8325ee1a.mjs +0 -39
  106. package/dist/fr_BE-aef6539f.mjs +0 -251
  107. package/dist/fr_CA-37c7b413.mjs +0 -251
  108. package/dist/fr_FR-48f19dd9.mjs +0 -256
  109. package/dist/fy-6cda26ac.mjs +0 -39
  110. package/dist/ga-68a1e399.mjs +0 -39
  111. package/dist/ga_IE-5ec8b77f.mjs +0 -246
  112. package/dist/gd-4bbf5b25.mjs +0 -39
  113. package/dist/gl-a19274c1.mjs +0 -39
  114. package/dist/gl_ES-17e2d32c.mjs +0 -225
  115. package/dist/gom-latn-f93ac68e.mjs +0 -39
  116. package/dist/gu-8e00d26e.mjs +0 -39
  117. package/dist/he-967823cc.mjs +0 -43
  118. package/dist/he_IL-6c32cc63.mjs +0 -232
  119. package/dist/hi-7b32a906.mjs +0 -39
  120. package/dist/hi_IN-0def1590.mjs +0 -253
  121. package/dist/hr-bff12c96.mjs +0 -43
  122. package/dist/hr_HR-dca450bc.mjs +0 -252
  123. package/dist/ht-e11b7e11.mjs +0 -39
  124. package/dist/hu-3912d17e.mjs +0 -61
  125. package/dist/hu_HU-2a468eb4.mjs +0 -183
  126. package/dist/hy-am-fd69fa6c.mjs +0 -39
  127. package/dist/hy_AM-8e18b243.mjs +0 -139
  128. package/dist/id-7c760e03.mjs +0 -39
  129. package/dist/id_ID-f248c4e1.mjs +0 -162
  130. package/dist/index-43e0371a.mjs +0 -3517
  131. package/dist/index-de6ac5bf.mjs +0 -146
  132. package/dist/interopRequireDefault-40f894e3.mjs +0 -13
  133. package/dist/is-82659783.mjs +0 -47
  134. package/dist/is_IS-73b44a2e.mjs +0 -160
  135. package/dist/it-93f75775.mjs +0 -39
  136. package/dist/it-ch-29efc9de.mjs +0 -39
  137. package/dist/it_IT-587663e7.mjs +0 -246
  138. package/dist/ja-86ef23e1.mjs +0 -41
  139. package/dist/ja_JP-1743b656.mjs +0 -218
  140. package/dist/jv-224d9b1d.mjs +0 -39
  141. package/dist/ka-721a02b5.mjs +0 -39
  142. package/dist/ka_GE-d2308856.mjs +0 -253
  143. package/dist/kk-e2839ef0.mjs +0 -39
  144. package/dist/kk_KZ-561eb4ac.mjs +0 -246
  145. package/dist/km-14365cf0.mjs +0 -39
  146. package/dist/km_KH-65703a5f.mjs +0 -227
  147. package/dist/kmr_IQ-5df997a4.mjs +0 -74
  148. package/dist/kmr_IQ-bac5b8e4.mjs +0 -94
  149. package/dist/kn-82c95118.mjs +0 -39
  150. package/dist/kn_IN-eba4018b.mjs +0 -168
  151. package/dist/ko-5398e502.mjs +0 -41
  152. package/dist/ko_KR-524ec2f0.mjs +0 -253
  153. package/dist/ku-6b4bd046.mjs +0 -49
  154. package/dist/ku_IQ-579f0d0c.mjs +0 -74
  155. package/dist/ky-1ca6ed9a.mjs +0 -39
  156. package/dist/lb-4f29287e.mjs +0 -39
  157. package/dist/lo-dae0cc3b.mjs +0 -39
  158. package/dist/lt-ea27df14.mjs +0 -43
  159. package/dist/lt_LT-18b40ce0.mjs +0 -268
  160. package/dist/lv-ab1def34.mjs +0 -39
  161. package/dist/lv_LV-fedfeff2.mjs +0 -160
  162. package/dist/me-8e72569e.mjs +0 -39
  163. package/dist/mi-3fb45ec8.mjs +0 -39
  164. package/dist/mk-bddf86ba.mjs +0 -39
  165. package/dist/mk_MK-efcd1a6f.mjs +0 -175
  166. package/dist/ml-50b80bc9.mjs +0 -39
  167. package/dist/ml_IN-53289144.mjs +0 -253
  168. package/dist/mn-2abf6e3b.mjs +0 -39
  169. package/dist/mn_MN-127b1682.mjs +0 -161
  170. package/dist/mr-25647ba3.mjs +0 -39
  171. package/dist/ms-4c2217c7.mjs +0 -39
  172. package/dist/ms-my-92424001.mjs +0 -39
  173. package/dist/ms_MY-d3ecc3f8.mjs +0 -180
  174. package/dist/mt-95691ec8.mjs +0 -39
  175. package/dist/my-fc6697f1.mjs +0 -39
  176. package/dist/my_MM-134e5333.mjs +0 -263
  177. package/dist/nb-78379e4d.mjs +0 -39
  178. package/dist/nb_NO-c9ce8913.mjs +0 -246
  179. package/dist/ne-5ddd3770.mjs +0 -41
  180. package/dist/ne_NP-162c9907.mjs +0 -74
  181. package/dist/nl-95719c81.mjs +0 -39
  182. package/dist/nl-be-6116f7c9.mjs +0 -39
  183. package/dist/nl_BE-5c93d4a1.mjs +0 -252
  184. package/dist/nl_NL-aafa5544.mjs +0 -252
  185. package/dist/nn-d59580f8.mjs +0 -39
  186. package/dist/oc-lnc-fa0a2b7e.mjs +0 -39
  187. package/dist/pa-in-8abb143a.mjs +0 -39
  188. package/dist/pl-06dff6ac.mjs +0 -64
  189. package/dist/pl_PL-5fb01a59.mjs +0 -246
  190. package/dist/pt-9e9c44c6.mjs +0 -39
  191. package/dist/pt-br-a6963bc9.mjs +0 -39
  192. package/dist/pt_BR-afea5687.mjs +0 -253
  193. package/dist/pt_PT-314d036e.mjs +0 -276
  194. package/dist/react-big-schedule.mjs +0 -22
  195. package/dist/react-big-schedule.umd.js +0 -27
  196. package/dist/rn-946efba1.mjs +0 -39
  197. package/dist/ro-d42ba627.mjs +0 -39
  198. package/dist/ro_RO-caadbaad.mjs +0 -245
  199. package/dist/ru-4126f173.mjs +0 -54
  200. package/dist/ru_RU-8ec475f7.mjs +0 -263
  201. package/dist/rw-e740777f.mjs +0 -39
  202. package/dist/sd-11783e2c.mjs +0 -39
  203. package/dist/se-58da0b5f.mjs +0 -39
  204. package/dist/si-f96c77bd.mjs +0 -39
  205. package/dist/si_LK-6aacaae3.mjs +0 -256
  206. package/dist/sk-eaba50c0.mjs +0 -70
  207. package/dist/sk_SK-aad910db.mjs +0 -246
  208. package/dist/sl-71d74522.mjs +0 -39
  209. package/dist/sl_SI-181bde7f.mjs +0 -153
  210. package/dist/sq-0d44db9f.mjs +0 -39
  211. package/dist/sr-cyrl-0ffe0ac0.mjs +0 -47
  212. package/dist/sr-e5d508f2.mjs +0 -47
  213. package/dist/sr_RS-b5ecb652.mjs +0 -251
  214. package/dist/ss-3ee6f856.mjs +0 -39
  215. package/dist/sv-ba3d24d6.mjs +0 -40
  216. package/dist/sv-fi-69261db0.mjs +0 -40
  217. package/dist/sv_SE-1f34fed5.mjs +0 -262
  218. package/dist/sw-5d6791a1.mjs +0 -39
  219. package/dist/ta-8a5b67bb.mjs +0 -39
  220. package/dist/ta_IN-7209d0ef.mjs +0 -252
  221. package/dist/te-6343a062.mjs +0 -39
  222. package/dist/tet-1a4c9268.mjs +0 -39
  223. package/dist/tg-bf7a37d6.mjs +0 -39
  224. package/dist/th-947f17a9.mjs +0 -39
  225. package/dist/th_TH-73aa7524.mjs +0 -262
  226. package/dist/tk-f316e5b8.mjs +0 -39
  227. package/dist/tk_TK-2b5d3c28.mjs +0 -251
  228. package/dist/tl-ph-d46c43fd.mjs +0 -39
  229. package/dist/tlh-d54937b2.mjs +0 -39
  230. package/dist/tr-442d0b9f.mjs +0 -39
  231. package/dist/tr_TR-8930f026.mjs +0 -250
  232. package/dist/tzl-a7cbf6fe.mjs +0 -39
  233. package/dist/tzm-dff395a0.mjs +0 -39
  234. package/dist/tzm-latn-3b0bc64f.mjs +0 -39
  235. package/dist/ug-cn-24b140a5.mjs +0 -39
  236. package/dist/uk-f47f1749.mjs +0 -48
  237. package/dist/uk_UA-bbccc34f.mjs +0 -255
  238. package/dist/ur-647fe763.mjs +0 -39
  239. package/dist/ur_PK-4f63e64a.mjs +0 -253
  240. package/dist/useLocale-5d628ddd.mjs +0 -26
  241. package/dist/useLocale-e3a8c1ca.mjs +0 -70
  242. package/dist/uz-050fa6f0.mjs +0 -39
  243. package/dist/uz-latn-a7dc7079.mjs +0 -39
  244. package/dist/vi-37dd582c.mjs +0 -39
  245. package/dist/vi_VN-e51f09f8.mjs +0 -265
  246. package/dist/x-pseudo-7d79a6b5.mjs +0 -39
  247. package/dist/yo-728fb497.mjs +0 -39
  248. package/dist/zh-758e83c7.mjs +0 -42
  249. package/dist/zh-cn-cdbbd79a.mjs +0 -42
  250. package/dist/zh-hk-2d4717c5.mjs +0 -39
  251. package/dist/zh-tw-db64f0c1.mjs +0 -42
  252. package/dist/zh_CN-cba2b5e1.mjs +0 -268
  253. package/dist/zh_HK-e6888c1f.mjs +0 -161
  254. package/dist/zh_TW-917988fe.mjs +0 -162
  255. package/dist/zh_TW-dc97c96e.mjs +0 -103
@@ -0,0 +1,1179 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _dayjs = _interopRequireDefault(require("dayjs"));
8
+ var _quarterOfYear = _interopRequireDefault(require("dayjs/plugin/quarterOfYear"));
9
+ var _utc = _interopRequireDefault(require("dayjs/plugin/utc"));
10
+ var _weekday = _interopRequireDefault(require("dayjs/plugin/weekday"));
11
+ var _rrule = require("rrule");
12
+ var _scheduler = _interopRequireDefault(require("../config/scheduler"));
13
+ var _behaviors = _interopRequireDefault(require("../helper/behaviors"));
14
+ var _index = require("./index");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
17
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
20
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
21
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
22
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
27
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
28
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
29
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
30
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
31
+ var SchedulerData = /*#__PURE__*/function () {
32
+ function SchedulerData() {
33
+ var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _dayjs["default"])();
34
+ var viewType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _index.ViewType.Week;
35
+ var showAgenda = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
36
+ var isEventPerspective = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
37
+ var newConfig = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
38
+ var newBehaviors = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : undefined;
39
+ _classCallCheck(this, SchedulerData);
40
+ this.resources = [];
41
+ this.events = [];
42
+ this.eventGroups = [];
43
+ this.eventGroupsAutoGenerated = true;
44
+ this.viewType = viewType;
45
+ this.cellUnit = viewType === _index.ViewType.Day ? _index.CellUnit.Hour : _index.CellUnit.Day;
46
+ this.showAgenda = showAgenda;
47
+ this.isEventPerspective = isEventPerspective;
48
+ this.resizing = false;
49
+ this.scrollToSpecialDayjs = false;
50
+ this.documentWidth = 0;
51
+ this._shouldReloadViewType = false;
52
+ this.calendarPopoverLocale = undefined;
53
+ _dayjs["default"].extend(_quarterOfYear["default"]);
54
+ _dayjs["default"].extend(_weekday["default"]);
55
+ _dayjs["default"].extend(_utc["default"]);
56
+ this.localeDayjs = _dayjs["default"];
57
+ this.config = newConfig == undefined ? _scheduler["default"] : _objectSpread(_objectSpread({}, _scheduler["default"]), newConfig);
58
+ this._validateMinuteStep(this.config.minuteStep);
59
+ this.behaviors = newBehaviors == undefined ? _behaviors["default"] : _objectSpread(_objectSpread({}, _behaviors["default"]), newBehaviors);
60
+ this._resolveDate(0, date);
61
+ this._createHeaders();
62
+ this._createRenderData();
63
+ }
64
+ _createClass(SchedulerData, [{
65
+ key: "setSchedulerLocale",
66
+ value: function setSchedulerLocale(preset, object) {
67
+ if (!preset) return;
68
+ var l = preset;
69
+ if (typeof preset === 'string') {
70
+ l = require("dayjs/locale/".concat(preset, ".js"));
71
+ if (!!object) {
72
+ Object.entries(object).forEach(function (_ref) {
73
+ var _ref2 = _slicedToArray(_ref, 2),
74
+ key = _ref2[0],
75
+ value = _ref2[1];
76
+ return l[key] = value;
77
+ });
78
+ }
79
+ }
80
+ this.localeDayjs.locale(l);
81
+ this._shouldReloadViewType = true;
82
+ this.setViewType(this.viewType, this.showAgenda, this.isEventPerspective);
83
+ }
84
+ }, {
85
+ key: "setCalendarPopoverLocale",
86
+ value: function setCalendarPopoverLocale(lang) {
87
+ if (!!lang && typeof lang === 'string') {
88
+ this.calendarPopoverLocale = require("antd/locale/".concat(lang, ".js"));
89
+ }
90
+ }
91
+ }, {
92
+ key: "setResources",
93
+ value: function setResources(resources) {
94
+ this._validateResource(resources);
95
+ this.resources = Array.from(new Set(resources));
96
+ this._createRenderData();
97
+ this.setScrollToSpecialDayjs(true);
98
+ }
99
+ }, {
100
+ key: "setEventGroupsAutoGenerated",
101
+ value: function setEventGroupsAutoGenerated(autoGenerated) {
102
+ this.eventGroupsAutoGenerated = autoGenerated;
103
+ }
104
+
105
+ //optional
106
+ }, {
107
+ key: "setEventGroups",
108
+ value: function setEventGroups(eventGroups) {
109
+ this._validateEventGroups(eventGroups);
110
+ this.eventGroups = Array.from(new Set(eventGroups));
111
+ this.eventGroupsAutoGenerated = false;
112
+ this._createRenderData();
113
+ this.setScrollToSpecialDayjs(true);
114
+ }
115
+ }, {
116
+ key: "setMinuteStep",
117
+ value: function setMinuteStep(minuteStep) {
118
+ if (this.config.minuteStep !== minuteStep) {
119
+ this._validateMinuteStep(minuteStep);
120
+ this.config.minuteStep = minuteStep;
121
+ this._createHeaders();
122
+ this._createRenderData();
123
+ }
124
+ }
125
+ }, {
126
+ key: "setBesidesWidth",
127
+ value: function setBesidesWidth(besidesWidth) {
128
+ if (besidesWidth >= 0) {
129
+ this.config.besidesWidth = besidesWidth;
130
+ }
131
+ }
132
+ }, {
133
+ key: "getMinuteStepsInHour",
134
+ value: function getMinuteStepsInHour() {
135
+ return 60 / this.config.minuteStep;
136
+ }
137
+ }, {
138
+ key: "addResource",
139
+ value: function addResource(resource) {
140
+ var existedResources = this.resources.filter(function (x) {
141
+ return x.id === resource.id;
142
+ });
143
+ if (existedResources.length === 0) {
144
+ this.resources.push(resource);
145
+ this._createRenderData();
146
+ }
147
+ }
148
+ }, {
149
+ key: "addEventGroup",
150
+ value: function addEventGroup(eventGroup) {
151
+ var existedEventGroups = this.eventGroups.filter(function (x) {
152
+ return x.id === eventGroup.id;
153
+ });
154
+ if (existedEventGroups.length === 0) {
155
+ this.eventGroups.push(eventGroup);
156
+ this._createRenderData();
157
+ }
158
+ }
159
+ }, {
160
+ key: "removeEventGroupById",
161
+ value: function removeEventGroupById(eventGroupId) {
162
+ var index = -1;
163
+ this.eventGroups.forEach(function (item, idx) {
164
+ if (item.id === eventGroupId) index = idx;
165
+ });
166
+ if (index !== -1) this.eventGroups.splice(index, 1);
167
+ }
168
+ }, {
169
+ key: "containsEventGroupId",
170
+ value: function containsEventGroupId(eventGroupId) {
171
+ var index = -1;
172
+ this.eventGroups.forEach(function (item, idx) {
173
+ if (item.id === eventGroupId) index = idx;
174
+ });
175
+ return index !== -1;
176
+ }
177
+ }, {
178
+ key: "setEvents",
179
+ value: function setEvents(events) {
180
+ this._validateEvents(events);
181
+ this.events = Array.from(events);
182
+ if (this.eventGroupsAutoGenerated) this._generateEventGroups();
183
+ if (this.config.recurringEventsEnabled) this._handleRecurringEvents();
184
+ this._createRenderData();
185
+ }
186
+ }, {
187
+ key: "setScrollToSpecialDayjs",
188
+ value: function setScrollToSpecialDayjs(scrollToSpecialDayjs) {
189
+ if (this.config.scrollToSpecialDayjsEnabled) this.scrollToSpecialDayjs = scrollToSpecialDayjs;
190
+ }
191
+ }, {
192
+ key: "prev",
193
+ value: function prev() {
194
+ this._resolveDate(-1);
195
+ this.events = [];
196
+ this._createHeaders();
197
+ this._createRenderData();
198
+ }
199
+ }, {
200
+ key: "next",
201
+ value: function next() {
202
+ this._resolveDate(1);
203
+ this.events = [];
204
+ this._createHeaders();
205
+ this._createRenderData();
206
+ }
207
+ }, {
208
+ key: "setDate",
209
+ value: function setDate() {
210
+ var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _dayjs["default"])(new Date());
211
+ this._resolveDate(0, date);
212
+ this.events = [];
213
+ this._createHeaders();
214
+ this._createRenderData();
215
+ }
216
+ }, {
217
+ key: "setViewType",
218
+ value: function setViewType() {
219
+ var viewType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _index.ViewType.Week;
220
+ var showAgenda = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
221
+ var isEventPerspective = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
222
+ this.showAgenda = showAgenda;
223
+ this.isEventPerspective = isEventPerspective;
224
+ this.cellUnit = _index.CellUnit.Day;
225
+ if (this.viewType !== viewType || this._shouldReloadViewType) {
226
+ var date = this.startDate;
227
+ if (viewType === _index.ViewType.Custom || viewType === _index.ViewType.Custom1 || viewType === _index.ViewType.Custom2) {
228
+ this.viewType = viewType;
229
+ this._resolveDate(0, date);
230
+ } else {
231
+ if (this.viewType < viewType) {
232
+ if (viewType === _index.ViewType.Week) {
233
+ this.startDate = this.localeDayjs(new Date(date)).startOf('week');
234
+ this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('week');
235
+ } else if (viewType === _index.ViewType.Month) {
236
+ this.startDate = this.localeDayjs(new Date(date)).startOf('month');
237
+ this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('month');
238
+ } else if (viewType === _index.ViewType.Quarter) {
239
+ this.startDate = this.localeDayjs(new Date(date)).startOf('quarter');
240
+ this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('quarter');
241
+ } else if (viewType === _index.ViewType.Year) {
242
+ this.startDate = this.localeDayjs(new Date(date)).startOf('year');
243
+ this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('year');
244
+ }
245
+ } else {
246
+ var start = this.localeDayjs(new Date(this.startDate));
247
+ var end = this.localeDayjs(new Date(this.endDate)).add(1, 'days');
248
+ if (this.selectDate !== undefined) {
249
+ var selectDate = this.localeDayjs(new Date(this.selectDate));
250
+ if (selectDate >= start && selectDate < end) {
251
+ date = this.selectDate;
252
+ }
253
+ }
254
+ var now = this.localeDayjs();
255
+ if (now >= start && now < end) {
256
+ date = now.startOf('day');
257
+ }
258
+ if (viewType === _index.ViewType.Day) {
259
+ this.startDate = date;
260
+ this.endDate = this.startDate;
261
+ this.cellUnit = _index.CellUnit.Hour;
262
+ } else if (viewType === _index.ViewType.Week) {
263
+ this.startDate = this.localeDayjs(new Date(date)).startOf('week');
264
+ this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('week');
265
+ } else if (viewType === _index.ViewType.Month) {
266
+ this.startDate = this.localeDayjs(new Date(date)).startOf('month');
267
+ this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('month');
268
+ } else if (viewType === _index.ViewType.Quarter) {
269
+ this.startDate = this.localeDayjs(new Date(date)).startOf('quarter');
270
+ this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('quarter');
271
+ }
272
+ }
273
+ this.viewType = viewType;
274
+ }
275
+ this._shouldReloadViewType = false;
276
+ this.events = [];
277
+ this._createHeaders();
278
+ this._createRenderData();
279
+ this.setScrollToSpecialDayjs(true);
280
+ }
281
+ }
282
+ }, {
283
+ key: "setSchedulerMaxHeight",
284
+ value: function setSchedulerMaxHeight(newSchedulerMaxHeight) {
285
+ this.config.schedulerMaxHeight = newSchedulerMaxHeight;
286
+ }
287
+ }, {
288
+ key: "isSchedulerResponsive",
289
+ value: function isSchedulerResponsive() {
290
+ return !!this.config.schedulerWidth.endsWith && this.config.schedulerWidth.endsWith('%');
291
+ }
292
+ }, {
293
+ key: "toggleExpandStatus",
294
+ value: function toggleExpandStatus(slotId) {
295
+ var slotEntered = false;
296
+ var slotIndent = -1;
297
+ var isExpanded = false;
298
+ var expandedMap = new Map();
299
+ this.renderData.forEach(function (item) {
300
+ if (slotEntered === false) {
301
+ if (item.slotId === slotId && item.hasChildren) {
302
+ slotEntered = true;
303
+ isExpanded = !item.expanded;
304
+ item.expanded = isExpanded;
305
+ slotIndent = item.indent;
306
+ expandedMap.set(item.indent, {
307
+ expanded: item.expanded,
308
+ render: item.render
309
+ });
310
+ }
311
+ } else {
312
+ if (item.indent > slotIndent) {
313
+ var expandStatus = expandedMap.get(item.indent - 1);
314
+ item.render = expandStatus.expanded && expandStatus.render;
315
+ if (item.hasChildren) {
316
+ expandedMap.set(item.indent, {
317
+ expanded: item.expanded,
318
+ render: item.render
319
+ });
320
+ }
321
+ } else {
322
+ slotEntered = false;
323
+ }
324
+ }
325
+ });
326
+ }
327
+ }, {
328
+ key: "isResourceViewResponsive",
329
+ value: function isResourceViewResponsive() {
330
+ var resourceTableWidth = this.getResourceTableConfigWidth();
331
+ return !!resourceTableWidth.endsWith && resourceTableWidth.endsWith('%');
332
+ }
333
+ }, {
334
+ key: "isContentViewResponsive",
335
+ value: function isContentViewResponsive() {
336
+ var contentCellWidth = this.getContentCellConfigWidth();
337
+ return !!contentCellWidth.endsWith && contentCellWidth.endsWith('%');
338
+ }
339
+ }, {
340
+ key: "getSchedulerWidth",
341
+ value: function getSchedulerWidth() {
342
+ var baseWidth = this.documentWidth - this.config.besidesWidth > 0 ? this.documentWidth - this.config.besidesWidth : 0;
343
+ return this.isSchedulerResponsive() ? parseInt(baseWidth * Number(this.config.schedulerWidth.slice(0, -1)) / 100) : this.config.schedulerWidth;
344
+ }
345
+ }, {
346
+ key: "getResourceTableWidth",
347
+ value: function getResourceTableWidth() {
348
+ var resourceTableConfigWidth = this.getResourceTableConfigWidth();
349
+ var schedulerWidth = this.getSchedulerWidth();
350
+ var resourceTableWidth = this.isResourceViewResponsive() ? parseInt(schedulerWidth * Number(resourceTableConfigWidth.slice(0, -1)) / 100) : resourceTableConfigWidth;
351
+ if (this.isSchedulerResponsive() && this.getContentTableWidth() + resourceTableWidth < schedulerWidth) resourceTableWidth = schedulerWidth - this.getContentTableWidth();
352
+ return resourceTableWidth;
353
+ }
354
+ }, {
355
+ key: "getContentCellWidth",
356
+ value: function getContentCellWidth() {
357
+ var contentCellConfigWidth = this.getContentCellConfigWidth();
358
+ var schedulerWidth = this.getSchedulerWidth();
359
+ return this.isContentViewResponsive() ? parseInt(schedulerWidth * Number(contentCellConfigWidth.slice(0, -1)) / 100) : contentCellConfigWidth;
360
+ }
361
+ }, {
362
+ key: "getContentTableWidth",
363
+ value: function getContentTableWidth() {
364
+ return this.headers.length * this.getContentCellWidth();
365
+ }
366
+ }, {
367
+ key: "getScrollToSpecialDayjs",
368
+ value: function getScrollToSpecialDayjs() {
369
+ if (this.config.scrollToSpecialDayjsEnabled) return this.scrollToSpecialDayjs;
370
+ return false;
371
+ }
372
+ }, {
373
+ key: "getSlots",
374
+ value: function getSlots() {
375
+ return this.isEventPerspective ? this.eventGroups : this.resources;
376
+ }
377
+ }, {
378
+ key: "getSlotById",
379
+ value: function getSlotById(slotId) {
380
+ var slots = this.getSlots();
381
+ var slot = undefined;
382
+ slots.forEach(function (item) {
383
+ if (item.id === slotId) slot = item;
384
+ });
385
+ return slot;
386
+ }
387
+ }, {
388
+ key: "getResourceById",
389
+ value: function getResourceById(resourceId) {
390
+ var resource = undefined;
391
+ this.resources.forEach(function (item) {
392
+ if (item.id === resourceId) resource = item;
393
+ });
394
+ return resource;
395
+ }
396
+ }, {
397
+ key: "getTableHeaderHeight",
398
+ value: function getTableHeaderHeight() {
399
+ return this.config.tableHeaderHeight;
400
+ }
401
+ }, {
402
+ key: "getSchedulerContentDesiredHeight",
403
+ value: function getSchedulerContentDesiredHeight() {
404
+ var height = 0;
405
+ this.renderData.forEach(function (item) {
406
+ if (item.render) height += item.rowHeight;
407
+ });
408
+ return height;
409
+ }
410
+ }, {
411
+ key: "getCellMaxEvents",
412
+ value: function getCellMaxEvents() {
413
+ return this.viewType === _index.ViewType.Week ? this.config.weekMaxEvents : this.viewType === _index.ViewType.Day ? this.config.dayMaxEvents : this.viewType === _index.ViewType.Month ? this.config.monthMaxEvents : this.viewType === _index.ViewType.Year ? this.config.yearMaxEvents : this.viewType === _index.ViewType.Quarter ? this.config.quarterMaxEvents : this.config.customMaxEvents;
414
+ }
415
+ }, {
416
+ key: "getCalendarPopoverLocale",
417
+ value: function getCalendarPopoverLocale() {
418
+ return this.calendarPopoverLocale;
419
+ }
420
+ }, {
421
+ key: "getSelectedDate",
422
+ value: function getSelectedDate() {
423
+ return this.selectDate.format(_index.DATE_FORMAT);
424
+ }
425
+ }, {
426
+ key: "getViewStartDate",
427
+ value: function getViewStartDate() {
428
+ return this.startDate;
429
+ }
430
+ }, {
431
+ key: "getViewEndDate",
432
+ value: function getViewEndDate() {
433
+ return this.endDate;
434
+ }
435
+ }, {
436
+ key: "getViewDates",
437
+ value: function getViewDates() {
438
+ return {
439
+ startDate: this.startDate,
440
+ endDate: this.endDate
441
+ };
442
+ }
443
+ }, {
444
+ key: "getDateLabel",
445
+ value: function getDateLabel() {
446
+ var start = this.localeDayjs(new Date(this.startDate));
447
+ var end = this.localeDayjs(new Date(this.endDate));
448
+ var dateLabel = start.format('LL');
449
+ if (start != end) dateLabel = "".concat(start.format('LL'), "-").concat(end.format('LL'));
450
+ if (!!this.behaviors.getDateLabelFunc) dateLabel = this.behaviors.getDateLabelFunc(this, this.viewType, this.startDate, this.endDate);
451
+ return dateLabel;
452
+ }
453
+ }, {
454
+ key: "addEvent",
455
+ value: function addEvent(newEvent) {
456
+ this._attachEvent(newEvent);
457
+ if (this.eventGroupsAutoGenerated) this._generateEventGroups();
458
+ this._createRenderData();
459
+ }
460
+ }, {
461
+ key: "updateEventStart",
462
+ value: function updateEventStart(event, newStart) {
463
+ this._detachEvent(event);
464
+ event.start = newStart;
465
+ this._attachEvent(event);
466
+ this._createRenderData();
467
+ }
468
+ }, {
469
+ key: "updateEventEnd",
470
+ value: function updateEventEnd(event, newEnd) {
471
+ event.end = newEnd;
472
+ this._createRenderData();
473
+ }
474
+ }, {
475
+ key: "swapEvent",
476
+ value: function swapEvent(eventSource, eventDest) {
477
+ // Swap group or resource IDs
478
+ if (this.isEventPerspective) {
479
+ var _ref3 = [eventDest.groupId, eventSource.groupId];
480
+ eventSource.groupId = _ref3[0];
481
+ eventDest.groupId = _ref3[1];
482
+ var _ref4 = [eventDest.groupName, eventSource.groupName];
483
+ eventSource.groupName = _ref4[0];
484
+ eventDest.groupName = _ref4[1];
485
+ } else {
486
+ var _ref5 = [eventDest.resourceId, eventSource.resourceId];
487
+ eventSource.resourceId = _ref5[0];
488
+ eventDest.resourceId = _ref5[1];
489
+ }
490
+
491
+ // Swap start and end times
492
+ var _ref6 = [eventDest.start, eventSource.start];
493
+ eventSource.start = _ref6[0];
494
+ eventDest.start = _ref6[1];
495
+ // Update the events
496
+ var _ref7 = [eventDest.end, eventSource.end];
497
+ eventSource.end = _ref7[0];
498
+ eventDest.end = _ref7[1];
499
+ this._detachEvent(eventSource);
500
+ this._detachEvent(eventDest);
501
+ this._attachEvent(eventSource);
502
+ this._attachEvent(eventDest);
503
+ this._createRenderData();
504
+ }
505
+ }, {
506
+ key: "swapEvent2",
507
+ value: function swapEvent2(eventSource, eventDest) {
508
+ var tempEventSource = Object.assign({}, eventSource);
509
+ var tempEventDest = Object.assign({}, eventDest);
510
+ this._detachEvent(eventSource);
511
+ this._detachEvent(eventDest);
512
+ if (this.isEventPerspective) {
513
+ tempEventSource.groupId = eventDest.groupId;
514
+ tempEventSource.groupName = eventDest.groupName;
515
+ tempEventDest.groupId = eventSource.groupId;
516
+ tempEventDest.groupName = eventSource.groupName;
517
+ } else {
518
+ tempEventSource.resourceId = eventDest.resourceId;
519
+ tempEventDest.resourceId = eventSource.resourceId;
520
+ }
521
+ tempEventSource.end = eventDest.end;
522
+ tempEventSource.start = eventDest.start;
523
+ tempEventDest.end = eventSource.end;
524
+ tempEventDest.start = eventSource.start;
525
+ this._attachEvent(tempEventSource);
526
+ this._attachEvent(tempEventDest);
527
+ this._createRenderData();
528
+ }
529
+ }, {
530
+ key: "moveEvent",
531
+ value: function moveEvent(event, newSlotId, newSlotName, newStart, newEnd) {
532
+ this._detachEvent(event);
533
+ if (this.isEventPerspective) {
534
+ event.groupId = newSlotId;
535
+ event.groupName = newSlotName;
536
+ } else event.resourceId = newSlotId;
537
+ event.end = newEnd;
538
+ event.start = newStart;
539
+ this._attachEvent(event);
540
+ this._createRenderData();
541
+ }
542
+ }, {
543
+ key: "isEventInTimeWindow",
544
+ value: function isEventInTimeWindow(eventStart, eventEnd, windowStart, windowEnd) {
545
+ return eventStart < windowEnd && eventEnd > windowStart;
546
+ }
547
+ }, {
548
+ key: "removeEvent",
549
+ value: function removeEvent(event) {
550
+ var index = this.events.indexOf(event);
551
+ if (index !== -1) {
552
+ this.events.splice(index, 1);
553
+ this._createRenderData();
554
+ }
555
+ }
556
+ }, {
557
+ key: "removeEventById",
558
+ value: function removeEventById(eventId) {
559
+ var index = -1;
560
+ this.events.forEach(function (item, idx) {
561
+ if (item.id === eventId) index = idx;
562
+ });
563
+ if (index !== -1) {
564
+ this.events.splice(index, 1);
565
+ this._createRenderData();
566
+ }
567
+ }
568
+ }, {
569
+ key: "getResourceTableConfigWidth",
570
+ value: function getResourceTableConfigWidth() {
571
+ if (this.showAgenda) return this.config.agendaResourceTableWidth;
572
+ return this.viewType === _index.ViewType.Week ? this.config.weekResourceTableWidth : this.viewType === _index.ViewType.Day ? this.config.dayResourceTableWidth : this.viewType === _index.ViewType.Month ? this.config.monthResourceTableWidth : this.viewType === _index.ViewType.Year ? this.config.yearResourceTableWidth : this.viewType === _index.ViewType.Quarter ? this.config.quarterResourceTableWidth : this.config.customResourceTableWidth;
573
+ }
574
+ }, {
575
+ key: "getContentCellConfigWidth",
576
+ value: function getContentCellConfigWidth() {
577
+ return this.viewType === _index.ViewType.Week ? this.config.weekCellWidth : this.viewType === _index.ViewType.Day ? this.config.dayCellWidth : this.viewType === _index.ViewType.Month ? this.config.monthCellWidth : this.viewType === _index.ViewType.Year ? this.config.yearCellWidth : this.viewType === _index.ViewType.Quarter ? this.config.quarterCellWidth : this.config.customCellWidth;
578
+ }
579
+ }, {
580
+ key: "_setDocumentWidth",
581
+ value: function _setDocumentWidth(documentWidth) {
582
+ if (documentWidth >= 0) {
583
+ this.documentWidth = documentWidth;
584
+ }
585
+ }
586
+ }, {
587
+ key: "_detachEvent",
588
+ value: function _detachEvent(event) {
589
+ var index = this.events.indexOf(event);
590
+ if (index !== -1) this.events.splice(index, 1);
591
+ }
592
+ }, {
593
+ key: "_attachEvent",
594
+ value: function _attachEvent(event) {
595
+ var _this = this;
596
+ var pos = 0;
597
+ var eventStart = this.localeDayjs(new Date(event.start));
598
+ this.events.forEach(function (item, index) {
599
+ var start = _this.localeDayjs(new Date(item.start));
600
+ if (eventStart >= start) pos = index + 1;
601
+ });
602
+ this.events.splice(pos, 0, event);
603
+ }
604
+ }, {
605
+ key: "_handleRecurringEvents",
606
+ value: function _handleRecurringEvents() {
607
+ var _this2 = this;
608
+ var recurringEvents = this.events.filter(function (x) {
609
+ return !!x.rrule;
610
+ });
611
+ recurringEvents.forEach(function (item) {
612
+ _this2._detachEvent(item);
613
+ });
614
+ recurringEvents.forEach(function (item) {
615
+ var windowStart = _this2.startDate,
616
+ windowEnd = _this2.endDate.add(1, 'days'),
617
+ oldStart = _this2.localeDayjs(new Date(item.start)),
618
+ oldEnd = _this2.localeDayjs(new Date(item.end)),
619
+ rule = (0, _rrule.rrulestr)(item.rrule),
620
+ oldDtstart = undefined,
621
+ oldUntil = rule.origOptions.until || windowEnd.toDate();
622
+ if (!!rule.origOptions.dtstart) {
623
+ oldDtstart = _this2.localeDayjs(new Date(rule.origOptions.dtstart));
624
+ }
625
+ //rule.origOptions.dtstart = oldStart.toDate();
626
+ if (windowEnd < oldUntil) {
627
+ rule.origOptions.until = windowEnd.toDate();
628
+ }
629
+
630
+ //reload
631
+ rule = (0, _rrule.rrulestr)(rule.toString());
632
+ if (item.exdates || item.exrule) {
633
+ var rruleSet = new _rrule.RRuleSet();
634
+ rruleSet.rrule(rule);
635
+ if (item.exrule) {
636
+ rruleSet.exrule((0, _rrule.rrulestr)(item.exrule));
637
+ }
638
+ if (item.exdates) {
639
+ item.exdates.forEach(function (exdate) {
640
+ rruleSet.exdate(_this2.localeDayjs(exdate).toDate());
641
+ });
642
+ }
643
+ rule = rruleSet;
644
+ }
645
+ var all = rule.between(new Date(windowStart), new Date(windowEnd));
646
+ all.forEach(function (time, index) {
647
+ var newEvent = _objectSpread(_objectSpread({}, item), {}, {
648
+ recurringEventId: item.id,
649
+ recurringEventStart: item.start,
650
+ recurringEventEnd: item.end,
651
+ id: "".concat(item.id, "-").concat(index),
652
+ start: rule.origOptions.tzid ? _this2.localeDayjs.utc(time).utcOffset(_this2.localeDayjs(new Date().utcOffset)(), true).format(_index.DATETIME_FORMAT) : _this2.localeDayjs(new Date(time)).format(_index.DATETIME_FORMAT),
653
+ end: rule.origOptions.tzid ? _this2.localeDayjs.utc(time).utcOffset(_this2.localeDayjs(new Date().utcOffset)(), true).add(oldEnd.diff(oldStart), 'ms').add(_this2.localeDayjs(new Date(oldUntil)).utcOffset() - _this2.localeDayjs(new Date(item.start)).utcOffset(), 'm').format(_index.DATETIME_FORMAT) : _this2.localeDayjs(new Date(time)).add(oldEnd.diff(oldStart), 'ms').format(_index.DATETIME_FORMAT)
654
+ });
655
+ var eventStart = _this2.localeDayjs(newEvent.start),
656
+ eventEnd = _this2.localeDayjs(newEvent.end);
657
+ if (_this2.isEventInTimeWindow(eventStart, eventEnd, windowStart, windowEnd) && (!oldDtstart || eventStart >= oldDtstart)) {
658
+ _this2._attachEvent(newEvent);
659
+ }
660
+ });
661
+ });
662
+ }
663
+ }, {
664
+ key: "_resolveDate",
665
+ value: function _resolveDate(num) {
666
+ var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
667
+ if (date != undefined) this.selectDate = this.localeDayjs(date);
668
+ if (this.viewType === _index.ViewType.Week) {
669
+ this.startDate = date != undefined ? this.localeDayjs(date).startOf('week') : this.localeDayjs(this.startDate).add(num, 'weeks');
670
+ this.endDate = this.localeDayjs(this.startDate).endOf('week');
671
+ } else if (this.viewType === _index.ViewType.Day) {
672
+ this.startDate = date != undefined ? this.selectDate : this.localeDayjs(this.startDate).add(num, 'days');
673
+ this.endDate = this.startDate;
674
+ } else if (this.viewType === _index.ViewType.Month) {
675
+ this.startDate = date != undefined ? this.localeDayjs(date).startOf('month') : this.localeDayjs(this.startDate).add(num, 'months');
676
+ this.endDate = this.localeDayjs(this.startDate).endOf('month');
677
+ } else if (this.viewType === _index.ViewType.Quarter) {
678
+ this.startDate = date != undefined ? this.localeDayjs(date).startOf('quarter') : this.localeDayjs(this.startDate).add(num, 'quarters');
679
+ this.endDate = this.localeDayjs(this.startDate).endOf('quarter');
680
+ } else if (this.viewType === _index.ViewType.Year) {
681
+ this.startDate = date != undefined ? this.localeDayjs(date).startOf('year') : this.localeDayjs(this.startDate).add(num, 'years');
682
+ this.endDate = this.localeDayjs(this.startDate).endOf('year');
683
+ } else if (this.viewType === _index.ViewType.Custom || this.viewType === _index.ViewType.Custom1 || this.viewType === _index.ViewType.Custom2) {
684
+ if (this.behaviors.getCustomDateFunc != undefined) {
685
+ var customDate = this.behaviors.getCustomDateFunc(this, num, date);
686
+ this.startDate = this.localeDayjs(customDate.startDate);
687
+ this.endDate = this.localeDayjs(customDate.endDate);
688
+ if (!!customDate.cellUnit) this.cellUnit = customDate.cellUnit;
689
+ } else {
690
+ throw new Error('This is custom view type, set behaviors.getCustomDateFunc func to resolve the time window(startDate and endDate) yourself');
691
+ }
692
+ }
693
+ }
694
+ }, {
695
+ key: "_createHeaders",
696
+ value: function _createHeaders() {
697
+ var headers = [],
698
+ start = this.localeDayjs(new Date(this.startDate)),
699
+ end = this.localeDayjs(new Date(this.endDate)),
700
+ header = start;
701
+ if (this.showAgenda) {
702
+ headers.push({
703
+ time: header.format(_index.DATETIME_FORMAT),
704
+ nonWorkingTime: false
705
+ });
706
+ } else {
707
+ if (this.cellUnit === _index.CellUnit.Hour) {
708
+ if (start.hour() == 0) {
709
+ start = start.add(this.config.dayStartFrom, 'hours');
710
+ }
711
+ if (end.hour() == 0) {
712
+ end = end.add(this.config.dayStopTo, 'hours');
713
+ }
714
+ header = start;
715
+ var prevHour = -1;
716
+ while (header >= start && header <= end) {
717
+ // prevent doubled hours on time change
718
+ if (header.hour() == prevHour) {
719
+ header = header.add(1, 'hours');
720
+ continue;
721
+ }
722
+ prevHour = header.hour();
723
+ var minuteSteps = this.getMinuteStepsInHour();
724
+ for (var i = 0; i < minuteSteps; i++) {
725
+ var hour = header.hour();
726
+ if (hour >= this.config.dayStartFrom && hour <= this.config.dayStopTo) {
727
+ var time = header.format(_index.DATETIME_FORMAT);
728
+ var nonWorkingTime = this.behaviors.isNonWorkingTimeFunc(this, time);
729
+ headers.push({
730
+ time: time,
731
+ nonWorkingTime: nonWorkingTime
732
+ });
733
+ }
734
+ header = header.add(this.config.minuteStep, 'minutes');
735
+ }
736
+ }
737
+ } else if (this.cellUnit === _index.CellUnit.Day) {
738
+ while (header >= start && header <= end) {
739
+ var _time = header.format(_index.DATETIME_FORMAT);
740
+ var dayOfWeek = header.weekday();
741
+ if (this.config.displayWeekend || dayOfWeek !== 0 && dayOfWeek !== 6) {
742
+ var _nonWorkingTime = this.behaviors.isNonWorkingTimeFunc(this, _time);
743
+ headers.push({
744
+ time: _time,
745
+ nonWorkingTime: _nonWorkingTime
746
+ });
747
+ }
748
+ header = header.add(1, 'days');
749
+ }
750
+ } else if (this.cellUnit === _index.CellUnit.Week) {
751
+ while (header >= start && header <= end) {
752
+ var _time2 = header.format(_index.DATE_FORMAT);
753
+ headers.push({
754
+ time: _time2
755
+ });
756
+ header = header.add(1, 'weeks').startOf('week');
757
+ }
758
+ } else if (this.cellUnit === _index.CellUnit.Month) {
759
+ while (header >= start && header <= end) {
760
+ var _time3 = header.format(_index.DATE_FORMAT);
761
+ headers.push({
762
+ time: _time3
763
+ });
764
+ header = header.add(1, 'months').startOf('month');
765
+ }
766
+ } else if (this.cellUnit === _index.CellUnit.Year) {
767
+ while (header >= start && header <= end) {
768
+ var _time4 = header.format(_index.DATE_FORMAT);
769
+ headers.push({
770
+ time: _time4
771
+ });
772
+ header = header.add(1, 'years').startOf('year');
773
+ }
774
+ }
775
+ }
776
+ this.headers = headers;
777
+ }
778
+ }, {
779
+ key: "_createInitHeaderEvents",
780
+ value: function _createInitHeaderEvents(header) {
781
+ var start = this.localeDayjs(new Date(header.time)),
782
+ startValue = start.format(_index.DATETIME_FORMAT);
783
+ var endValue = this.showAgenda ? this.viewType === _index.ViewType.Week ? start.add(1, 'weeks').format(_index.DATETIME_FORMAT) : this.viewType === _index.ViewType.Day ? start.add(1, 'days').format(_index.DATETIME_FORMAT) : this.viewType === _index.ViewType.Month ? start.add(1, 'months').format(_index.DATETIME_FORMAT) : this.viewType === _index.ViewType.Year ? start.add(1, 'years').format(_index.DATETIME_FORMAT) : this.viewType === _index.ViewType.Quarter ? start.add(1, 'quarters').format(_index.DATETIME_FORMAT) : this.localeDayjs(new Date(this.endDate)).add(1, 'days').format(_index.DATETIME_FORMAT) : this.cellUnit === _index.CellUnit.Hour ? start.add(this.config.minuteStep, 'minutes').format(_index.DATETIME_FORMAT) : this.cellUnit === _index.CellUnit.Year ? start.add(1, 'years').format(_index.DATE_FORMAT) : this.cellUnit === _index.CellUnit.Month ? start.add(1, 'months').format(_index.DATE_FORMAT) : this.cellUnit === _index.CellUnit.Week ? start.add(1, 'weeks').format(_index.DATE_FORMAT) : start.add(1, 'days').format(_index.DATETIME_FORMAT);
784
+ return {
785
+ time: header.time,
786
+ nonWorkingTime: header.nonWorkingTime,
787
+ start: startValue,
788
+ end: endValue,
789
+ count: 0,
790
+ addMore: 0,
791
+ addMoreIndex: 0,
792
+ events: [,,,]
793
+ };
794
+ }
795
+ }, {
796
+ key: "_createHeaderEvent",
797
+ value: function _createHeaderEvent(render, span, eventItem) {
798
+ return {
799
+ render: render,
800
+ span: span,
801
+ eventItem: eventItem
802
+ };
803
+ }
804
+ }, {
805
+ key: "_getEventSlotId",
806
+ value: function _getEventSlotId(event) {
807
+ return this.isEventPerspective ? this._getEventGroupId(event) : event.resourceId;
808
+ }
809
+ }, {
810
+ key: "_getEventGroupId",
811
+ value: function _getEventGroupId(event) {
812
+ return !!event.groupId ? event.groupId.toString() : event.id.toString();
813
+ }
814
+ }, {
815
+ key: "_getEventGroupName",
816
+ value: function _getEventGroupName(event) {
817
+ return !!event.groupName ? event.groupName : event.title;
818
+ }
819
+ }, {
820
+ key: "_generateEventGroups",
821
+ value: function _generateEventGroups() {
822
+ var _this3 = this;
823
+ var eventGroups = [];
824
+ var set = new Set();
825
+ this.events.forEach(function (item) {
826
+ var groupId = _this3._getEventGroupId(item);
827
+ var groupName = _this3._getEventGroupName(item);
828
+ if (!set.has(groupId)) {
829
+ eventGroups.push({
830
+ id: groupId,
831
+ name: groupName,
832
+ state: item
833
+ });
834
+ set.add(groupId);
835
+ }
836
+ });
837
+ this.eventGroups = eventGroups;
838
+ }
839
+ }, {
840
+ key: "_createInitRenderData",
841
+ value: function _createInitRenderData(isEventPerspective, eventGroups, resources, headers) {
842
+ var _this4 = this;
843
+ var slots = isEventPerspective ? eventGroups : resources;
844
+ var slotTree = [],
845
+ slotMap = new Map();
846
+ slots.forEach(function (slot) {
847
+ var headerEvents = headers.map(function (header) {
848
+ return _this4._createInitHeaderEvents(header);
849
+ });
850
+ var slotRenderData = {
851
+ slotId: slot.id,
852
+ slotName: slot.name,
853
+ parentId: slot.parentId,
854
+ groupOnly: slot.groupOnly,
855
+ hasSummary: false,
856
+ rowMaxCount: 0,
857
+ rowHeight: _this4.config.nonAgendaSlotMinHeight !== 0 ? _this4.config.nonAgendaSlotMinHeight : _this4.config.eventItemLineHeight + 2,
858
+ headerItems: headerEvents,
859
+ indent: 0,
860
+ hasChildren: false,
861
+ expanded: true,
862
+ render: true
863
+ };
864
+ var id = slot.id;
865
+ var value = undefined;
866
+ if (slotMap.has(id)) {
867
+ value = slotMap.get(id);
868
+ value.data = slotRenderData;
869
+ } else {
870
+ value = {
871
+ data: slotRenderData,
872
+ children: []
873
+ };
874
+ slotMap.set(id, value);
875
+ }
876
+ var parentId = slot.parentId;
877
+ if (!parentId || parentId === id) {
878
+ slotTree.push(value);
879
+ } else {
880
+ var parentValue = undefined;
881
+ if (slotMap.has(parentId)) {
882
+ parentValue = slotMap.get(parentId);
883
+ } else {
884
+ parentValue = {
885
+ data: undefined,
886
+ children: []
887
+ };
888
+ slotMap.set(parentId, parentValue);
889
+ }
890
+ parentValue.children.push(value);
891
+ }
892
+ });
893
+ var slotStack = [];
894
+ var i;
895
+ for (i = slotTree.length - 1; i >= 0; i--) {
896
+ slotStack.push(slotTree[i]);
897
+ }
898
+ var initRenderData = [];
899
+ var currentNode = undefined;
900
+ while (slotStack.length > 0) {
901
+ currentNode = slotStack.pop();
902
+ if (currentNode.data.indent > 0) {
903
+ currentNode.data.render = this.config.defaultExpanded;
904
+ }
905
+ if (currentNode.children.length > 0) {
906
+ currentNode.data.hasChildren = true;
907
+ currentNode.data.expanded = this.config.defaultExpanded;
908
+ }
909
+ initRenderData.push(currentNode.data);
910
+ for (i = currentNode.children.length - 1; i >= 0; i--) {
911
+ currentNode.children[i].data.indent = currentNode.data.indent + 1;
912
+ slotStack.push(currentNode.children[i]);
913
+ }
914
+ }
915
+ return initRenderData;
916
+ }
917
+ }, {
918
+ key: "_getSpan",
919
+ value: function _getSpan(startTime, endTime, headers) {
920
+ if (this.showAgenda) return 1;
921
+ function startOfWeek(date) {
922
+ var day = date.getDay();
923
+ var diff = date.getDate() - day;
924
+ return new Date(date.getFullYear(), date.getMonth(), diff);
925
+ }
926
+ var timeBetween = function timeBetween(date1, date2, timeIn) {
927
+ if (timeIn === 'days' || timeIn === 'day') {
928
+ if (date1.getDate() === date2.getDate() && date1.getMonth() === date2.getMonth()) {
929
+ return 1;
930
+ }
931
+ }
932
+ var one;
933
+ switch (timeIn) {
934
+ case 'days':
935
+ case 'day':
936
+ one = 1000 * 60 * 60 * 24;
937
+ break;
938
+ case 'minutes':
939
+ case 'minute':
940
+ one = 1000 * 60;
941
+ break;
942
+ default:
943
+ return 0;
944
+ }
945
+ var date1_ms = date1.getTime();
946
+ var date2_ms = date2.getTime();
947
+ var diff = (date2_ms - date1_ms) / one;
948
+ return diff < 0 ? 0 : diff;
949
+ };
950
+ var eventStart = new Date(startTime),
951
+ eventEnd = new Date(endTime),
952
+ span = 0,
953
+ windowStart = new Date(this.startDate),
954
+ windowEnd = new Date(this.endDate);
955
+ if (this.viewType === _index.ViewType.Day) {
956
+ if (headers.length > 0) {
957
+ var day = new Date(headers[0].time);
958
+ if (day.getDate() > eventStart.getDate() && day.getDate() < eventEnd.getDate()) {
959
+ span = 1440 / this.config.minuteStep;
960
+ } else if (day.getDate() > eventStart.getDate() && day.getDate() === eventEnd.getDate()) {
961
+ span = Math.ceil(timeBetween(day, eventEnd, 'minutes') / this.config.minuteStep);
962
+ } else if (day.getDate() === eventStart.getDate() && day.getDate() < eventEnd.getDate()) {
963
+ day.setHours(23, 59, 59);
964
+ span = Math.ceil(timeBetween(eventStart, day, 'minutes') / this.config.minuteStep);
965
+ } else if (day.getDate() === eventStart.getDate() && day.getDate() === eventEnd.getDate() || eventEnd.getDate() === eventStart.getDate()) {
966
+ span = Math.ceil(timeBetween(eventStart, eventEnd, 'minutes') / this.config.minuteStep);
967
+ }
968
+ }
969
+ } else if (this.viewType === _index.ViewType.Week) {
970
+ var startDate = windowStart < eventStart ? eventStart : windowStart;
971
+ span = Math.ceil(timeBetween(startDate, eventEnd, 'days'));
972
+ } else if (this.viewType === _index.ViewType.Month) {
973
+ var endDate = eventStart.getMonth() === eventEnd.getMonth() ? eventEnd : (0, _dayjs["default"])(eventStart).endOf('month').toDate();
974
+ span = Math.ceil(timeBetween(eventStart, endDate, 'days'));
975
+ } else if (this.viewType === _index.ViewType.Quarter || this.viewType === _index.ViewType.Year) {
976
+ span = Math.ceil(timeBetween(eventStart, eventEnd, 'days'));
977
+ } else {
978
+ windowStart.setHours(0, 0, 0, 0);
979
+ windowEnd.setHours(23, 59, 59);
980
+ if (this.cellUnit === _index.CellUnit.Day) {
981
+ eventEnd.setHours(23, 59, 59);
982
+ eventStart.setHours(0, 0, 0, 0);
983
+ }
984
+ var timeIn = this.cellUnit === _index.CellUnit.Day ? 'days' : 'minutes';
985
+ var dividedBy = this.cellUnit === _index.CellUnit.Day ? 1 : this.config.minuteStep;
986
+ if (windowStart >= eventStart && eventEnd <= windowEnd) {
987
+ span = Math.ceil(timeBetween(windowStart, eventEnd, timeIn) / dividedBy);
988
+ } else if (windowStart > eventStart && eventEnd > windowEnd) {
989
+ span = Math.ceil(timeBetween(windowStart, windowEnd, timeIn) / dividedBy);
990
+ } else if (windowStart <= eventStart && eventEnd >= windowEnd) {
991
+ span = Math.ceil(timeBetween(eventStart, windowEnd, timeIn) / dividedBy);
992
+ } else {
993
+ span = Math.ceil(timeBetween(eventStart, eventEnd, timeIn) / dividedBy);
994
+ }
995
+ }
996
+ return span;
997
+ }
998
+ }, {
999
+ key: "_validateResource",
1000
+ value: function _validateResource(resources) {
1001
+ if (Object.prototype.toString.call(resources) !== '[object Array]') {
1002
+ throw new Error('Resources should be Array object');
1003
+ }
1004
+ resources.forEach(function (item, index) {
1005
+ if (item == undefined) {
1006
+ console.error("Resource undefined: ".concat(index));
1007
+ throw new Error("Resource undefined: ".concat(index));
1008
+ }
1009
+ if (item.id == undefined || item.name == undefined) {
1010
+ console.error('Resource property missed', index, item);
1011
+ throw new Error("Resource property undefined: ".concat(index));
1012
+ }
1013
+ });
1014
+ }
1015
+ }, {
1016
+ key: "_validateEventGroups",
1017
+ value: function _validateEventGroups(eventGroups) {
1018
+ if (Object.prototype.toString.call(eventGroups) !== '[object Array]') {
1019
+ throw new Error('Event groups should be Array object');
1020
+ }
1021
+ eventGroups.forEach(function (item, index) {
1022
+ if (item == undefined) {
1023
+ console.error("Event group undefined: ".concat(index));
1024
+ throw new Error("Event group undefined: ".concat(index));
1025
+ }
1026
+ if (item.id == undefined || item.name == undefined) {
1027
+ console.error('Event group property missed', index, item);
1028
+ throw new Error("Event group property undefined: ".concat(index));
1029
+ }
1030
+ });
1031
+ }
1032
+ }, {
1033
+ key: "_validateEvents",
1034
+ value: function _validateEvents(events) {
1035
+ if (Object.prototype.toString.call(events) !== '[object Array]') {
1036
+ throw new Error('Events should be Array object');
1037
+ }
1038
+ events.forEach(function (e, index) {
1039
+ if (e == undefined) {
1040
+ console.error("Event undefined: ".concat(index));
1041
+ throw new Error("Event undefined: ".concat(index));
1042
+ }
1043
+ if (e.id == undefined || e.resourceId == undefined || e.title == undefined || e.start == undefined || e.end == undefined) {
1044
+ console.error('Event property missed', index, e);
1045
+ throw new Error("Event property undefined: ".concat(index));
1046
+ }
1047
+ });
1048
+ }
1049
+ }, {
1050
+ key: "_validateMinuteStep",
1051
+ value: function _validateMinuteStep(minuteStep) {
1052
+ if (60 % minuteStep !== 0) {
1053
+ console.error('Minute step is not set properly - 60 minutes must be divisible without remainder by this number');
1054
+ throw new Error('Minute step is not set properly - 60 minutes must be divisible without remainder by this number');
1055
+ }
1056
+ }
1057
+ }, {
1058
+ key: "_compare",
1059
+ value: function _compare(event1, event2) {
1060
+ var start1 = this.localeDayjs(event1.start),
1061
+ start2 = this.localeDayjs(event2.start);
1062
+ if (start1 !== start2) return start1 < start2 ? -1 : 1;
1063
+ var end1 = this.localeDayjs(event1.end),
1064
+ end2 = this.localeDayjs(event2.end);
1065
+ if (end1 !== end2) return end1 < end2 ? -1 : 1;
1066
+ return event1.id < event2.id ? -1 : 1;
1067
+ }
1068
+ }, {
1069
+ key: "_createRenderData",
1070
+ value: function _createRenderData() {
1071
+ var _this5 = this;
1072
+ var initRenderData = this._createInitRenderData(this.isEventPerspective, this.eventGroups, this.resources, this.headers);
1073
+ //this.events.sort(this._compare);
1074
+ var cellMaxEventsCount = this.getCellMaxEvents();
1075
+ var cellMaxEventsCountValue = 30;
1076
+ this.events.forEach(function (item) {
1077
+ var resourceEventsList = initRenderData.filter(function (x) {
1078
+ return x.slotId === _this5._getEventSlotId(item);
1079
+ });
1080
+ if (resourceEventsList.length > 0) {
1081
+ var resourceEvents = resourceEventsList[0];
1082
+ var span = _this5._getSpan(item.start, item.end, _this5.headers);
1083
+ var eventStart = new Date(item.start),
1084
+ eventEnd = new Date(item.end);
1085
+ var pos = -1;
1086
+ resourceEvents.headerItems.forEach(function (header, index) {
1087
+ var headerStart = new Date(header.start),
1088
+ headerEnd = new Date(header.end);
1089
+ if (headerEnd > eventStart && headerStart < eventEnd) {
1090
+ header.count = header.count + 1;
1091
+ if (header.count > resourceEvents.rowMaxCount) {
1092
+ resourceEvents.rowMaxCount = header.count;
1093
+ var rowsCount = cellMaxEventsCount <= cellMaxEventsCountValue && resourceEvents.rowMaxCount > cellMaxEventsCount ? cellMaxEventsCount : resourceEvents.rowMaxCount;
1094
+ var newRowHeight = rowsCount * _this5.config.eventItemLineHeight + (_this5.config.creatable && _this5.config.checkConflict === false ? 20 : 2);
1095
+ if (newRowHeight > resourceEvents.rowHeight) resourceEvents.rowHeight = newRowHeight;
1096
+ }
1097
+ if (pos === -1) {
1098
+ var tmp = 0;
1099
+ while (header.events[tmp] !== undefined) tmp++;
1100
+ pos = tmp;
1101
+ }
1102
+ var render = headerStart <= eventStart || index === 0;
1103
+ if (render === false) {
1104
+ var previousHeader = resourceEvents.headerItems[index - 1];
1105
+ var previousHeaderStart = new Date(previousHeader.start),
1106
+ previousHeaderEnd = new Date(previousHeader.end);
1107
+ if (previousHeaderEnd <= eventStart || previousHeaderStart >= eventEnd) render = true;
1108
+ }
1109
+ // console.log(`span: ${span}`)
1110
+ header.events[pos] = _this5._createHeaderEvent(render, span, item);
1111
+ }
1112
+ });
1113
+ }
1114
+ });
1115
+ if (cellMaxEventsCount <= cellMaxEventsCountValue || this.behaviors.getSummaryFunc !== undefined) {
1116
+ initRenderData.forEach(function (resourceEvents) {
1117
+ var hasSummary = false;
1118
+ resourceEvents.headerItems.forEach(function (headerItem) {
1119
+ if (cellMaxEventsCount <= cellMaxEventsCountValue) {
1120
+ var renderItemsCount = 0,
1121
+ addMoreIndex = 0,
1122
+ index = 0;
1123
+ while (index < cellMaxEventsCount - 1) {
1124
+ if (headerItem.events[index] !== undefined) {
1125
+ renderItemsCount++;
1126
+ addMoreIndex = index + 1;
1127
+ }
1128
+ index++;
1129
+ }
1130
+ if (headerItem.events[index] !== undefined) {
1131
+ if (renderItemsCount + 1 < headerItem.count) {
1132
+ headerItem.addMore = headerItem.count - renderItemsCount;
1133
+ headerItem.addMoreIndex = addMoreIndex;
1134
+ }
1135
+ } else {
1136
+ if (renderItemsCount < headerItem.count) {
1137
+ headerItem.addMore = headerItem.count - renderItemsCount;
1138
+ headerItem.addMoreIndex = addMoreIndex;
1139
+ }
1140
+ }
1141
+ }
1142
+ if (_this5.behaviors.getSummaryFunc !== undefined) {
1143
+ var events = [];
1144
+ headerItem.events.forEach(function (e) {
1145
+ if (!!e && !!e.eventItem) events.push(e.eventItem);
1146
+ });
1147
+ headerItem.summary = _this5.behaviors.getSummaryFunc(_this5, events, resourceEvents.slotId, resourceEvents.slotName, headerItem.start, headerItem.end);
1148
+ if (!!headerItem.summary && headerItem.summary.text != undefined) hasSummary = true;
1149
+ }
1150
+ });
1151
+ resourceEvents.hasSummary = hasSummary;
1152
+ if (hasSummary) {
1153
+ var rowsCount = cellMaxEventsCount <= cellMaxEventsCountValue && resourceEvents.rowMaxCount > cellMaxEventsCount ? cellMaxEventsCount : resourceEvents.rowMaxCount;
1154
+ var newRowHeight = (rowsCount + 1) * _this5.config.eventItemLineHeight + (_this5.config.creatable && _this5.config.checkConflict === false ? 20 : 2);
1155
+ if (newRowHeight > resourceEvents.rowHeight) resourceEvents.rowHeight = newRowHeight;
1156
+ }
1157
+ });
1158
+ }
1159
+ this.renderData = initRenderData;
1160
+ }
1161
+ }, {
1162
+ key: "_startResizing",
1163
+ value: function _startResizing() {
1164
+ this.resizing = true;
1165
+ }
1166
+ }, {
1167
+ key: "_stopResizing",
1168
+ value: function _stopResizing() {
1169
+ this.resizing = false;
1170
+ }
1171
+ }, {
1172
+ key: "_isResizing",
1173
+ value: function _isResizing() {
1174
+ return this.resizing;
1175
+ }
1176
+ }]);
1177
+ return SchedulerData;
1178
+ }();
1179
+ exports["default"] = SchedulerData;